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: 20230138867Abstract: 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: ApplicationFiled: December 23, 2022Publication date: May 4, 2023Inventors: Timothy WORSLEY, Timothy S. Michels, Joel Benjamin Moses
-
Patent number: 11611637Abstract: 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: GrantFiled: September 30, 2021Date of Patent: March 21, 2023Assignee: F5, Inc.Inventors: Hao Cai, William Ross Baumann, Timothy S. Michels, Lars Pierson Friend
-
Patent number: 11537425Abstract: 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: GrantFiled: December 7, 2021Date of Patent: December 27, 2022Assignee: F5, Inc.Inventors: Timothy Worsley, Timothy S. Michels, Joel Benjamin Moses
-
Publication number: 20220179678Abstract: 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: ApplicationFiled: December 7, 2021Publication date: June 9, 2022Inventors: Timothy Worsley, Timothy S. Michels, Joel Benjamin Moses
-
Publication number: 20220103445Abstract: 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: ApplicationFiled: September 30, 2021Publication date: March 31, 2022Inventors: Hao Cai, William Ross BAUMANN, Timothy S. MICHELS, Lars Pierson FRIEND
-
Publication number: 20210399954Abstract: 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: ApplicationFiled: June 18, 2020Publication date: December 23, 2021Inventors: Steven Dabell, Timothy S. Michels, Jagir Maya Rai
-
Patent number: 11076019Abstract: 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: GrantFiled: November 15, 2019Date of Patent: July 27, 2021Assignee: F5 NETWORKS, INC.Inventors: Hao Cai, William Ross Baumann, Timothy S. Michels, Lars Pierson Friend
-
Publication number: 20210152659Abstract: 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: ApplicationFiled: November 15, 2019Publication date: May 20, 2021Inventors: Hao Cai, William Ross Baumann, Timothy S. Michels, Lars Pierson Friend
-
Publication number: 20200374231Abstract: 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: ApplicationFiled: May 4, 2020Publication date: November 26, 2020Inventors: Hao Cai, Timothy S. Michels, Qi Lu, Ryan Romney
-
Patent number: 9519501Abstract: 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: GrantFiled: September 30, 2013Date of Patent: December 13, 2016Assignee: F5 Networks, Inc.Inventors: Hao Cai, Timothy S. Michels, Paul I. Szabo
-
Patent number: 9270602Abstract: 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: GrantFiled: December 31, 2012Date of Patent: February 23, 2016Assignee: F5 Networks, Inc.Inventors: Alan B. Mimms, Timothy S. Michels, Jonathan M. Hawthorne, William R. Baumann
-
Patent number: 9244843Abstract: 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: GrantFiled: February 20, 2013Date of Patent: January 26, 2016Assignee: F5 Networks, Inc.Inventors: Timothy S. Michels, C Stuart Johnson
-
Patent number: 8724632Abstract: 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: GrantFiled: August 28, 2012Date of Patent: May 13, 2014Assignee: Alcatel LucentInventors: Jim Cathey, Timothy S. Michels
-
Publication number: 20130034101Abstract: 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: ApplicationFiled: August 28, 2012Publication date: February 7, 2013Inventors: Jim Cathey, Timothy S. Michels
-
Patent number: 8300534Abstract: 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: GrantFiled: February 16, 2010Date of Patent: October 30, 2012Assignee: Alcatel LucentInventors: Jim Cathey, Timothy S. Michels
-
Publication number: 20100150158Abstract: 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: ApplicationFiled: February 16, 2010Publication date: June 17, 2010Inventors: Jim Cathey, Timothy S. Michels
-
Patent number: 7693149Abstract: 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: GrantFiled: July 5, 2006Date of Patent: April 6, 2010Assignee: Alcatel-Lucent USA Inc.Inventors: Jim Cathey, Timothy S. Michels
-
Patent number: 7075926Abstract: 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: GrantFiled: December 28, 2000Date of Patent: July 11, 2006Assignee: Alcatel Internetworking, Inc. (PE)Inventors: Jim Cathey, Timothy S. Michels
-
Patent number: 7065082Abstract: 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: GrantFiled: September 27, 2001Date of Patent: June 20, 2006Assignee: Alcatel Internetworking (PE), Inc.Inventors: Jayansenan Sundara Ganesh, Timothy S. Michels, James E. Cathey
-
Patent number: 6920146Abstract: 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: GrantFiled: October 5, 1998Date of Patent: July 19, 2005Assignee: Packet Engines IncorporatedInventors: C Stuart Johnson, Greg W. Davis, Timothy S Michels