Patents by Inventor Timothy S Michels

Timothy S Michels has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20230138867
    Abstract: Technology related to application deployment across network devices including smart network interface cards. In one example, a method includes distributing an application across a plurality of locally connected computing subdomains. The subdomains can include a mixture of general and special purpose computing subdomains, such as for example, a main computer and an associated smart network interface devices or systems, such as for example a smart network interface card (NIC). The subdomains can each run hypervisors that are bridged to allow a single virtual machine to operate across the subdomains. The application can include multiple portions. For example, an application can be split by different functionalities. The application portions can be tagged to indicate which subdomain they are to be executed within. If the chosen subdomain has available the requisite resources, the application can be detached and distributed to the chosen subdomain.
    Type: Application
    Filed: December 23, 2022
    Publication date: May 4, 2023
    Inventors: Timothy WORSLEY, Timothy S. Michels, Joel Benjamin Moses
  • Patent number: 11611637
    Abstract: Technology related to scheduling services on a platform including configurable computing resources is disclosed. In one example, a method includes scheduling a service to execute on a first computing node based on an availability of general-purpose computing resources at the first computing node. The first computing node can be selected from a plurality of computing nodes. Network traffic transiting the first computing node can be analyzed during the execution of the service to determine a hardware accelerator of a second computing node is capable of assisting the execution of the service. The service can be scheduled to execute on the second computing node and the hardware accelerator of the second computing node can be used to assist with the execution of the service.
    Type: Grant
    Filed: September 30, 2021
    Date of Patent: March 21, 2023
    Assignee: F5, Inc.
    Inventors: Hao Cai, William Ross Baumann, Timothy S. Michels, Lars Pierson Friend
  • Patent number: 11537425
    Abstract: Technology related to application deployment across network devices including smart network interface cards. In one example, a method includes distributing an application across a plurality of locally connected computing subdomains. The subdomains can include a mixture of general and special purpose computing subdomains, such as for example, a main computer and an associated smart network interface devices or systems, such as for example a smart network interface card (NIC). The subdomains can each run hypervisors that are bridged to allow a single virtual machine to operate across the subdomains. The application can include multiple portions. For example, an application can be split by different functionalities. The application portions can be tagged to indicate which subdomain they are to be executed within. If the chosen subdomain has available the requisite resources, the application can be detached and distributed to the chosen subdomain.
    Type: Grant
    Filed: December 7, 2021
    Date of Patent: December 27, 2022
    Assignee: F5, Inc.
    Inventors: Timothy Worsley, Timothy S. Michels, Joel Benjamin Moses
  • Publication number: 20220179678
    Abstract: Technology related to application deployment across network devices including smart network interface cards. In one example, a method includes distributing an application across a plurality of locally connected computing subdomains. The subdomains can include a mixture of general and special purpose computing subdomains, such as for example, a main computer and an associated smart network interface devices or systems, such as for example a smart network interface card (NIC). The subdomains can each run hypervisors that are bridged to allow a single virtual machine to operate across the subdomains. The application can include multiple portions. For example, an application can be split by different functionalities. The application portions can be tagged to indicate which subdomain they are to be executed within. If the chosen subdomain has available the requisite resources, the application can be detached and distributed to the chosen subdomain.
    Type: Application
    Filed: December 7, 2021
    Publication date: June 9, 2022
    Inventors: Timothy Worsley, Timothy S. Michels, Joel Benjamin Moses
  • Publication number: 20220103445
    Abstract: Technology related to scheduling services on a platform including configurable computing resources is disclosed. In one example, a method includes scheduling a service to execute on a first computing node based on an availability of general-purpose computing resources at the first computing node. The first computing node can be selected from a plurality of computing nodes. Network traffic transiting the first computing node can be analyzed during the execution of the service to determine a hardware accelerator of a second computing node is capable of assisting the execution of the service. The service can be scheduled to execute on the second computing node and the hardware accelerator of the second computing node can be used to assist with the execution of the service.
    Type: Application
    Filed: September 30, 2021
    Publication date: March 31, 2022
    Inventors: Hao Cai, William Ross BAUMANN, Timothy S. MICHELS, Lars Pierson FRIEND
  • Publication number: 20210399954
    Abstract: Technology related to orchestrating a configuration of a programmable accelerator is disclosed. In one example, a method includes executing a service within a container runtime. The service can include a software application and an orchestrator application, where the orchestrator application is adapted to configure a programmable hardware accelerator and the software application adapted to interoperate with the programmable hardware accelerator. The orchestrator application, executing within the container runtime, can be used to retrieve a system image from a file repository. The system image can include configuration data for the programmable hardware accelerator. The orchestrator application, executing within the container runtime, can be used to configure the programmable hardware accelerator.
    Type: Application
    Filed: June 18, 2020
    Publication date: December 23, 2021
    Inventors: Steven Dabell, Timothy S. Michels, Jagir Maya Rai
  • Patent number: 11076019
    Abstract: Technology related to scheduling services on a platform including configurable computing resources is disclosed. In one example, a method includes scheduling a first service to execute on a computing node based on an availability of general-purpose computing resources at the computing node. The computing node can be selected from a plurality of computing nodes. Network traffic transiting the computing node can be analyzed during the execution of the first service to determine a hardware accelerator of the computing node is capable of assisting the execution of the first service. The hardware accelerator can be used to assist with the execution of the first service. A second service can be scheduled on the computing node based on the availability of the general-purpose computing resources and the usage of the hardware accelerator on the computing node.
    Type: Grant
    Filed: November 15, 2019
    Date of Patent: July 27, 2021
    Assignee: F5 NETWORKS, INC.
    Inventors: Hao Cai, William Ross Baumann, Timothy S. Michels, Lars Pierson Friend
  • Publication number: 20210152659
    Abstract: Technology related to scheduling services on a platform including configurable computing resources is disclosed. In one example, a method includes scheduling a first service to execute on a computing node based on an availability of general-purpose computing resources at the computing node. The computing node can be selected from a plurality of computing nodes. Network traffic transiting the computing node can be analyzed during the execution of the first service to determine a hardware accelerator of the computing node is capable of assisting the execution of the first service. The hardware accelerator can be used to assist with the execution of the first service. A second service can be scheduled on the computing node based on the availability of the general-purpose computing resources and the usage of the hardware accelerator on the computing node.
    Type: Application
    Filed: November 15, 2019
    Publication date: May 20, 2021
    Inventors: Hao Cai, William Ross Baumann, Timothy S. Michels, Lars Pierson Friend
  • Publication number: 20200374231
    Abstract: Technology related to managing network traffic flows is disclosed. In one example, a method can include searching a first data structure to determine whether a first entry associated with a network flow is present in the first data structure. In response to determining the first entry is present in the first data structure, at least a portion of the first entry can be used to generate an index for a flow cache. An action can be performed on the network packet as indicated by a flow cache entry, where the flow cache entry is located in the flow cache at the generated index.
    Type: Application
    Filed: May 4, 2020
    Publication date: November 26, 2020
    Inventors: Hao Cai, Timothy S. Michels, Qi Lu, Ryan Romney
  • Patent number: 9519501
    Abstract: A method performed by a hypervisor in a virtual network traffic management cluster, the method comprising: assigning a set of continuous available source media access control (SMAC) addresses to one or more virtual network traffic management devices in a network traffic management cluster, the one or more virtual network traffic management devices configured to handle connections for virtual guest instances; assigning a region of predetermined size in a SMAC-index mapping table to a corresponding virtual network traffic management device; wherein the assigned SMAC addresses and assigned region in the SMAC-index mapping table are accessible by the virtual guest instances; and maintaining SMAC-index pool allocation to virtual guest instances handled by corresponding virtual network traffic management devices.
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: December 13, 2016
    Assignee: F5 Networks, Inc.
    Inventors: Hao Cai, Timothy S. Michels, Paul I. Szabo
  • Patent number: 9270602
    Abstract: A system, method and medium is disclosed which includes selecting, at a software component of a network traffic management device, a first bucket having a first predetermined transmit time. The disclosure includes populating one or more selected data packet descriptors associated with one or more corresponding data packets in the first bucket. The disclosure includes releasing the first bucket to a hardware component of the network traffic management device, wherein the hardware component processes the one or more data packet descriptors of the first bucket for the first predetermined transmit time.
    Type: Grant
    Filed: December 31, 2012
    Date of Patent: February 23, 2016
    Assignee: F5 Networks, Inc.
    Inventors: Alan B. Mimms, Timothy S. Michels, Jonathan M. Hawthorne, William R. Baumann
  • Patent number: 9244843
    Abstract: A network traffic management apparatus includes a first memory including a flow cache table including a plurality of entries. The network traffic management apparatus further includes configurable hardware logic coupled to the first memory and a processor, the configurable hardware logic including a valid split table including a plurality of entries, wherein each of the plurality of entries includes a validity bit. The configurable hardware logic is configured to implement periodically determining whether the validity bit of each of the valid split table entries is set. Additionally, the configurable hardware logic is further configured to implement retrieving one of the plurality of flow cache table entries corresponding to an index value associated with one of the valid split table entries, when it is determined that the validity bit of the one of the valid split table entries is set.
    Type: Grant
    Filed: February 20, 2013
    Date of Patent: January 26, 2016
    Assignee: F5 Networks, Inc.
    Inventors: Timothy S. Michels, C Stuart Johnson
  • Patent number: 8724632
    Abstract: A programmable packet switching controller has a packet buffer, a pattern match module, a programmable packet classification engine and an application engine. The packet classification engine has a decision tree-based classification logic for classifying a packet. The application engine has a number of programmable sub-engines arrayed in a pipelined architecture. The sub-engines include a source lookup engine, a destination lookup engine and a disposition engine, which are used to make a disposition decision for the inbound packets in a processing pipeline.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: May 13, 2014
    Assignee: Alcatel Lucent
    Inventors: Jim Cathey, Timothy S. Michels
  • Publication number: 20130034101
    Abstract: A programmable packet switching controller has a packet buffer, a pattern match module, a programmable packet classification engine and an application engine. The packet classification engine has a decision tree-based classification logic for classifying a packet. The application engine has a number of programmable sub-engines arrayed in a pipelined architecture. The sub-engines include a source lookup engine, a destination lookup engine and a disposition engine, which are used to make a disposition decision for the inbound packets in a processing pipeline.
    Type: Application
    Filed: August 28, 2012
    Publication date: February 7, 2013
    Inventors: Jim Cathey, Timothy S. Michels
  • Patent number: 8300534
    Abstract: A programmable packet switching controller has a packet buffer, a programmable packet classification engine and an application engine. The packet buffer stores inbound packets, and includes a header data extractor to extract header data from the inbound packets and store the extracted header data in a header data cache. The header data extractor also generates a header data cache index and provides it to the packet classification engine for it to retrieve the extracted header data. The application engine has a number of programmable sub-engines arrayed in a pipelined architecture. The packet classification engine provides start indicators based on the packet classification to the programmable sub-engines to identify application programs to be executed.
    Type: Grant
    Filed: February 16, 2010
    Date of Patent: October 30, 2012
    Assignee: Alcatel Lucent
    Inventors: Jim Cathey, Timothy S. Michels
  • Publication number: 20100150158
    Abstract: A programmable packet switching controller has a packet buffer, a pattern match module, a programmable packet classification engine and an application engine. The packet buffer stores inbound packets, and includes a header data extractor to extract header data from the inbound packets and to store the extracted header data in a header data cache. The header data extractor also generates a header data cache index and provides it to the packet classification engine for it to retrieve the extracted header data. The packet classification engine has a decision tree-based classification logic for classifying a packet. Each of the leaves of the tree represents a packet classification. The packet classification engine uses the header data cache index to retrieve the header data to perform multiple header checks, starting at a root of the tree and traversing branches until a leaf has been reached. The application engine has a number of programmable sub-engines arrayed in a pipelined architecture.
    Type: Application
    Filed: February 16, 2010
    Publication date: June 17, 2010
    Inventors: Jim Cathey, Timothy S. Michels
  • Patent number: 7693149
    Abstract: A programmable packet switching controller has a packet buffer, a pattern match module, a programmable packet classification engine and an application engine. The packet buffer stores inbound packets, and includes a header data extractor to extract header data from the inbound packets and to store the extracted header data in a header data cache. The header data extractor also generates a header data cache index and provides it to the packet classification engine for it to retrieve the extracted header data. The packet classification engine has a decision tree-based classification logic for classifying a packet. Each of the leaves of the tree represents a packet classification. The packet classification engine uses the header data cache index to retrieve the header data to perform multiple header checks, starting at a root of the tree and traversing branches until a leaf has been reached. The application engine has a number of programmable sub-engines arrayed in a pipelined architecture.
    Type: Grant
    Filed: July 5, 2006
    Date of Patent: April 6, 2010
    Assignee: Alcatel-Lucent USA Inc.
    Inventors: Jim Cathey, Timothy S. Michels
  • Patent number: 7075926
    Abstract: A programmable packet switching controller has a packet buffer, a pattern match module, a programmable packet classification engine and an application engine. The packet buffer stores inbound packets, and includes a header data extractor to extract header data from the inbound packets and to store the extracted header data in a header data cache. The header data extractor also generates a header data cache index and provides it to the packet classification engine for it to retrieve the extracted header data. The packet classification engine has a decision tree-based classification logic for classifying a packet. Each of the leaves of the tree represents a packet classification. The packet classification engine uses the header data cache index to retrieve the header data to perform multiple header checks, starting at a root of the tree and traversing branches until a leaf has been reached. The application engine has a number of programmable sub-engines arrayed in a pipelined architecture.
    Type: Grant
    Filed: December 28, 2000
    Date of Patent: July 11, 2006
    Assignee: Alcatel Internetworking, Inc. (PE)
    Inventors: Jim Cathey, Timothy S. Michels
  • Patent number: 7065082
    Abstract: A method of processing frames received at a sending port of a switching device for communication to a destination port includes storing in the switching device an offset value, a comparator value, and an expectant value; comparing information located at a position in a frame determined by the offset value with the comparator value to obtain an outcome; and processing the frame with the outcome. Processing the frame may include communicating the frame to a destination port or setting the priority of the frame. The offset and comparator values may be part of a filter that also includes an anchor value from which the offset value is measured and a mask value that masks the frame information before comparison with the comparator value. Where there are a multiple of filters in the switching device, the method may include combining the filter outcomes to obtain a filter group outcome; and processing the frame with the group outcome. Combining the filter outcomes may include logically combining their outcomes.
    Type: Grant
    Filed: September 27, 2001
    Date of Patent: June 20, 2006
    Assignee: Alcatel Internetworking (PE), Inc.
    Inventors: Jayansenan Sundara Ganesh, Timothy S. Michels, James E. Cathey
  • Patent number: 6920146
    Abstract: In a switching device, a method of communicating data packets from sending ports to destination ports includes storing in a first stage queue packet-related data from a sending port; determining from the packet-related data which destination ports are to receive the packet-related data in the first stage queue; storing in a second stage queue associated with each determined destination port the packet-related data from the first stage queue; and using the packet-related data in the second stage queue to complete the communication of the data packet from the sending port to each determined destination port. Apparatus for practicing the method comprises a first stage queue storing packet-related data from a sending port; and a second stage queue associated with each of a set of destination ports storing the packet-related data from the first stage queue.
    Type: Grant
    Filed: October 5, 1998
    Date of Patent: July 19, 2005
    Assignee: Packet Engines Incorporated
    Inventors: C Stuart Johnson, Greg W. Davis, Timothy S Michels