Patents by Inventor Tim Millet

Tim Millet 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).

  • Patent number: 8638802
    Abstract: Methods and systems are provided for steering network packets. According to one embodiment, a dynamically configurable steering table is stored within a memory of each network interface of a networking routing/switching device. The steering table represents a mapping that logically assigns each of the network interfaces to one of multiple packet processing resources of the network routing/switching device. The steering table has contained therein information indicative of a unique identifier/address of the assigned packet processing resource. Responsive to receiving a packet on a network interface, the network interface performs Layer 1 or Layer 2 steering of the received packet to the assigned packet processing resource by retrieving the information indicative of the unique identifier/address of the assigned packet processing resource from the steering table based on a channel identifier associated with the received packet and the received packet is processed by the assigned packet processing resource.
    Type: Grant
    Filed: November 29, 2011
    Date of Patent: January 28, 2014
    Assignee: Cisco Technology, Inc.
    Inventors: Sachin Desai, Tim Millet, Zahid Hussain, Paul Kim, Louise Yeung, Ken Yeung
  • Publication number: 20130308460
    Abstract: Methods and systems for providing IP services in an integrated fashion are provided. According to one embodiment, packets are load balanced among virtual routing processing resources of an IP service generator of a virtual router (VR) based switch. A packet flow cache is maintained with packet flow entries containing information indicative of packet processing actions for established packet flows. Deep packet classification is performed to determine whether a packet is associated with an established packet flow. If so, the packet is directed to one of multiple virtual services processing resources representing application-tailored engines configured to provide managed firewall services. If the packet is allowed, it is returned to the source virtual routing processing resource for forwarding.
    Type: Application
    Filed: July 24, 2013
    Publication date: November 21, 2013
    Applicant: Fortinet, Inc.
    Inventors: Zahid Hussain, Tim Millet
  • Patent number: 8542595
    Abstract: Methods and systems for providing IP services in an integrated fashion are provided. According to one embodiment, a load associated with multiple virtual routing processing resources of an IP service generator of a virtual router (VR) based switch is monitored. Packets are load balanced among the virtual routing processing resources. A packet flow cache is maintained with packet flow entries containing information indicative of packet processing actions for established packet flows. Deep packet classification is performed to determine whether a packet is associated with an established packet flow. If so, the packet is directed to one of multiple virtual services processing resources representing application-tailored engines configured to provide network-based IP services including one or more of virtual private network (VPN) processing, firewall processing, Uniform Resource Locator (URL) filtering and anti-virus processing.
    Type: Grant
    Filed: November 13, 2011
    Date of Patent: September 24, 2013
    Assignee: Fortinet, Inc.
    Inventors: Zahid Hussain, Tim Millet
  • Publication number: 20130022049
    Abstract: Methods, systems and data structures for determining a token master on a ring network are provided. According to one embodiment, determining a token master on a ring network includes receiving a packet containing a network token at a first node on the network. If the network token does not arrive within a preselected timeout period, generating an arbitration token. If the packet contains an arbitration token, determining if the arbitration token was modified by a higher priority node of the network and if not, setting the first node as a token master and converting the arbitration token to a packet transmission token. Arbitration tokens are used to identify a token master that is responsible for generating a packet transmission token onto the network, whereas the packet transmission token authorizes a transmitting node that has most recently received the packet transmission token to transmit locally generated packets onto the network.
    Type: Application
    Filed: June 25, 2012
    Publication date: January 24, 2013
    Applicant: FORTINET, INC.
    Inventor: Tim Millet
  • Patent number: 8306040
    Abstract: Methods and systems are provided for steering network packets. According to one embodiment a method is provided for steering incoming network packets. Each network packet processing resource of a network routing/switching device is dynamically assigned to one or more network interfaces of the network routing/switching device. Each of the network packet processing resources includes one or more processing elements and a memory. Incoming network packets received by the network interfaces are steered to an appropriate network packet processing resource based on the dynamic assignment.
    Type: Grant
    Filed: June 2, 2009
    Date of Patent: November 6, 2012
    Assignee: Fortinet, Inc.
    Inventors: Sachin Desai, Tim Millet, Zahid Hussain, Paul Kim, Louise Yeung, Ken Yeung
  • Patent number: 8300056
    Abstract: Exemplary embodiments of methods, apparatuses, and systems for seamlessly migrating a user visible display stream sent to a display device from one rendered display stream to another rendered display stream are described. For one embodiment, mirror video display streams are received from both a first graphics processing unit (GPU) and a second GPU, and the video display stream sent to a display device is switched from the video display stream from the first GPU to the video display stream from the second GPU, wherein the switching occurs during a blanking interval for the first GPU that overlaps with a blanking interval for the second GPU.
    Type: Grant
    Filed: October 13, 2008
    Date of Patent: October 30, 2012
    Assignee: Apple Inc.
    Inventors: Mike Nugent, Thomas Costa, Eve Brasfield, David Redman, Amanda Rainer, Tim Millet, Geoff Stahl, Adrian Sheppard, Ian Hendry, Ingrid Aligaen, Kenneth C. Dyke, Chris Niederauer, Michael Culbert
  • Patent number: 8208409
    Abstract: Methods, systems and data structure for facilitating identification of nodes in a ring network are provided. According to one embodiment, a data structure is stored on a computer-readable storage media of a node (e.g., a blade) participating in a ring network, within a multi-blade system, for example. The data structure includes a packet-ring master field, a control-node master field, a node characteristics field, a connection state field, a node identification field and a marker field. The packet-ring master field indicates whether the node is a current packet-ring master. The control-node master field indicates whether the node is a control-node master. The node characteristics field specifies per-node characteristics. The connection state field indicates a current connection state of the node. The node identification field specifies the node. The marker field indicates whether the data structure is a node discovery marker.
    Type: Grant
    Filed: April 18, 2010
    Date of Patent: June 26, 2012
    Assignee: Fortinet, Inc.
    Inventor: Tim Millet
  • Publication number: 20120069850
    Abstract: Methods and systems are provided for steering network packets. According to one embodiment, a dynamically configurable steering table is stored within a memory of each network interface of a networking routing/switching device. The steering table represents a mapping that logically assigns each of the network interfaces to one of multiple packet processing resources of the network routing/switching device. The steering table has contained therein information indicative of a unique identifier/address of the assigned packet processing resource. Responsive to receiving a packet on a network interface, the network interface performs Layer 1 or Layer 2 steering of the received packet to the assigned packet processing resource by retrieving the information indicative of the unique identifier/address of the assigned packet processing resource from the steering table based on a channel identifier associated with the received packet and the received packet is processed by the assigned packet processing resource.
    Type: Application
    Filed: November 29, 2011
    Publication date: March 22, 2012
    Applicant: FORTINET, INC.
    Inventors: Sachin Desai, Tim Millet, Zahid Hussain, Paul Kim, Louise Yeung, Ken Yeung
  • Publication number: 20120057460
    Abstract: Methods and systems for providing IP services in an integrated fashion are provided. According to one embodiment, a load associated with multiple virtual routing processing resources of an IP service generator of a virtual router (VR) based switch is monitored. Packets are load balanced among the virtual routing processing resources. A packet flow cache is maintained with packet flow entries containing information indicative of packet processing actions for established packet flows. Deep packet classification is performed to determine whether a packet is associated with an established packet flow. If so, the packet is directed to one of multiple virtual services processing resources representing application-tailored engines configured to provide network-based IP services including one or more of virtual private network (VPN) processing, firewall processing, Uniform Resource Locator (URL) filtering and anti-virus processing.
    Type: Application
    Filed: November 13, 2011
    Publication date: March 8, 2012
    Applicant: FORTINET, INC.
    Inventors: Zahid Hussain, Tim Millet
  • Patent number: 8111690
    Abstract: Methods and systems are provided for routing traffic through a virtual router-based network switch. According to one embodiment, a flow data structure is established that identifies current packet flows associated with multiple virtual routers in the virtual router-based network device. When an incoming packet is received by the virtual router-based network device, it is then determined whether the incoming packet is associated with a current packet flow by accessing the flow data structure based on a header associated with the incoming packet. If it is determined that the incoming packet is associated with the current packet flow, then the incoming packet is hardware forwarded via a network interface of the virtual router-based network device without intervention by a processor of the virtual router-based network device, otherwise the incoming packet is forwarded to software on the processor for flow learning.
    Type: Grant
    Filed: October 29, 2008
    Date of Patent: February 7, 2012
    Assignee: Google Inc.
    Inventors: Zahid Hussain, Samir Jain, Naveed Alam, Joseph Cheng, Greg Lockwood, Tim Millet
  • Patent number: 8068503
    Abstract: Methods and systems are provided for steering network packets. According to one embodiment, a mapping associates a processing resource with a network interface module (netmod) and/or a number of line interface ports included within the netmod. In one embodiment, the mapping is configurable within the processing resource and pushed to the netmod. The netmod uses the mapping to steer network packets to the processing resource when the packets conform to the mapping. The mapping may be additionally used to identify a specific process that is to be performed against the packets once the processing resource receives the steered packets from the netmod.
    Type: Grant
    Filed: March 10, 2007
    Date of Patent: November 29, 2011
    Assignee: Fortinet, Inc.
    Inventors: Sachin Desai, Tim Millet, Zahid Hussain, Paul Kim, Louise Yeung, Ken Yeung
  • Patent number: 8064462
    Abstract: Methods and systems for providing IP services in an integrated fashion are provided. According to one embodiment, a system includes a switch fabric and a line interface/network module, multiple virtual routing engines (VREs) and a virtual services engine (VSE) coupled with the switch fabric. The line interface/network module receives packets, steers ingress packets to a selected VRE and transmits egress packets according to their relative priority. VREs determines if a packet associated with a packet flow requires processing by the VSE by performing flow-based packet classification on the packet and evaluating forwarding state information associated with previously stored flow learning results. The VSE includes a central processing unit configured to perform firewall processing, Uniform Resource Locator (URL) filtering and anti-virus processing. If the packet is determined to require processing by the VSE, then the packet is steered to the VSE for firewall, URL filtering and/or anti-virus processing.
    Type: Grant
    Filed: May 17, 2010
    Date of Patent: November 22, 2011
    Assignee: Fortinet, Inc.
    Inventors: Zahid Hussain, Tim Millet
  • Publication number: 20110200044
    Abstract: Methods and systems are provided for hardware-accelerated packet multicasting in a virtual routing system. According to one embodiment, a virtual routing engine (VRE) including virtual routing processors and corresponding memory systems are provided. The VRE implements virtual routers (VRs) operable on the virtual routing processors and associated routing contexts utilizing potentially overlapping multicast address spaces resident in the memory systems. Multicasting of multicast flows originated by subscribers of a service provider is simultaneously performed on behalf of the subscribers. A VR is selected to handle multicast packets associated with a multicast flow. A routing context of the VRE is switched to one associated with the VR. A packet of the multicast flow is forwarded to multiple destinations by reading a portion of the packet from a common buffer for each instance of multicasting and applying transform control instructions to the packet for each instance of multicasting.
    Type: Application
    Filed: April 24, 2011
    Publication date: August 18, 2011
    Applicant: FORTINET, INC.
    Inventors: Joseph Cheng, Zahid Hussain, Tim Millet
  • Patent number: 7933269
    Abstract: Methods and systems are provided for hardware-accelerated packet multicasting in a virtual routing system. According to one embodiment, a multicast packet is received at an ingress system of a packet-forwarding engine (PFE). The ingress system identifies flow classification indices for the multicast packet. Then, for each instance of multicasting, the ingress system sends a single copy of the multicast packet and the flow classification indices to an egress system of the PFE. The single copy of the multicast packet is buffered in a memory accessible by the egress system. The egress system prepares the multicast packet for transmission by for each flow classification index, identifying corresponding transform control instructions based on the flow classification index, reading the single copy of the multicast packet from the memory, causing the multicast packet to be transformed in accordance with the identified transform control instructions and outputting the transformed multicast packet.
    Type: Grant
    Filed: September 3, 2007
    Date of Patent: April 26, 2011
    Assignee: Fortinet, Inc.
    Inventors: Joseph Cheng, Zahid Hussain, Tim Millet
  • Patent number: 7890663
    Abstract: Methods are provided for determining a master node on a ring network. According to one embodiment, a first node on the ring network initiates circulation of an arbitration token by (i) determining an arbitration token timeout period has elapsed and (ii) transmitting the arbitration token to a neighboring node. Upon receipt of the arbitration token by a node, it determines its relative priority by comparing its ID to an ID field of the arbitration token, initialized by the first node. If the node is determined to be higher priority, then it overwrites the ID field and retransmits the arbitration token onto the ring network. If the node is determined to be lower priority, then the node retransmits the arbitration token without overwriting the ID field. If the node is determined to be of equal priority and the node is the first node, then it assumes the master node role.
    Type: Grant
    Filed: July 29, 2006
    Date of Patent: February 15, 2011
    Assignee: Fortinet, Inc.
    Inventor: Tim Millet
  • Publication number: 20100220732
    Abstract: Methods and systems for providing IP services in an integrated fashion are provided. According to one embodiment, a system includes a switch fabric and a line interface/network module, multiple virtual routing engines (VREs) and a virtual services engine (VSE) coupled with the switch fabric. The line interface/network module receives packets, steers ingress packets to a selected VRE and transmits egress packets according to their relative priority. VREs determines if a packet associated with a packet flow requires processing by the VSE by performing flow-based packet classification on the packet and evaluating forwarding state information associated with previously stored flow learning results. The VSE includes a central processing unit configured to perform firewall processing, Uniform Resource Locator (URL) filtering and anti-virus processing. If the packet is determined to require processing by the VSE, then the packet is steered to the VSE for firewall, URL filtering and/or anti-virus processing.
    Type: Application
    Filed: May 17, 2010
    Publication date: September 2, 2010
    Applicant: FORTINET, INC.
    Inventors: Zahid Hussain, Tim Millet
  • Publication number: 20100189016
    Abstract: Methods, systems and data structure for facilitating identification of nodes in a ring network are provided. According to one embodiment, a data structure is stored on a computer-readable storage media of a node (e.g., a blade) participating in a ring network, within a multi-blade system, for example. The data structure includes a packet-ring master field, a control-node master field, a node characteristics field, a connection state field, a node identification field and a marker field. The packet-ring master field indicates whether the node is a current packet-ring master. The control-node master field indicates whether the node is a control-node master. The node characteristics field specifies per-node characteristics. The connection state field indicates a current connection state of the node. The node identification field specifies the node. The marker field indicates whether the data structure is a node discovery marker.
    Type: Application
    Filed: April 18, 2010
    Publication date: July 29, 2010
    Applicant: FORTINET, INC.
    Inventor: Tim Millet
  • Patent number: 7720053
    Abstract: A system and method for providing IP services. A packet is received at a line interface/network module and forwarded to a virtual routing engine The virtual routing engine determines if the packet requires processing by a virtual services engine. If the packet requires processing by the virtual services engine, the packet is routed to the virtual services engine for processing.
    Type: Grant
    Filed: May 19, 2008
    Date of Patent: May 18, 2010
    Assignee: Fortinet, Inc.
    Inventors: Zahid Hussain, Tim Millet
  • Publication number: 20100091025
    Abstract: Exemplary embodiments of methods, apparatuses, and systems for seamlessly migrating a user visible display stream sent to a display device from one rendered display stream to another rendered display stream are described. For one embodiment, mirror video display streams are received from both a first graphics processing unit (GPU) and a second GPU, and the video display stream sent to a display device is switched from the video display stream from the first GPU to the video display stream from the second GPU, wherein the switching occurs during a blanking interval for the first GPU that overlaps with a blanking interval for the second GPU.
    Type: Application
    Filed: October 13, 2008
    Publication date: April 15, 2010
    Inventors: Mike Nugent, Thomas Costa, Eve Brasfield, David Redman, Amanda Rainer, Tim Millet, Geoff Stahl, Adrian Sheppard, Ian Hendry, Ingrid Aligaen, Kenneth C. Dyke, Chris Niederauer, Michael Culbert
  • Patent number: 7668087
    Abstract: Methods and systems are provided for applying metering and rate-limiting in a virtual router environment and supporting a hierarchy of metering/rate-limiting contexts per packet flow. According to one embodiment, multiple first level metering options and multiple second level metering options associated with a hierarchy of metering levels are provided. A virtual routing engine receives packets associated with a first packet flow and packets associated with a second packet flow. The virtual routing engine performs a first type of metering of the first level metering options on the packets associated with the first packet flow using a first metering control block (MCB) and performs a second type of metering of the second level metering options on the packets associated with the first packet flow and the packets associated with the second flow using a second MCB.
    Type: Grant
    Filed: January 8, 2007
    Date of Patent: February 23, 2010
    Assignee: Fortinet, Inc.
    Inventors: Zahid Hussain, Sachin Desai, Naveed Alam, Joseph Cheng, Tim Millet