Patents Assigned to F5 Networks, Inc.
  • Publication number: 20080256239
    Abstract: A server array controller that includes a Data Flow Segment (DFS) and at least one Control Segment (CS). The DFS includes the hardware-optimized portion of the controller, while the CS includes the software-optimized portions. The DFS performs most of the repetitive chores including statistics gathering and per-packet policy enforcement (e.g. packet switching). The DFS also performs tasks such as that of a router, a switch, or a routing switch. The CS determines the translation to be performed on each flow of packets, and thus performs high-level control functions and per-flow policy enforcement. Network address translation (NAT) is performed by the combined operation of the CS and DFS. The CS and DFS may be incorporated into one or more separate blocks. The CS and DFS are independently scalable. Additionally, the functionality of either the DFS or the CS may be separately implemented in software and/or hardware.
    Type: Application
    Filed: March 11, 2008
    Publication date: October 16, 2008
    Applicant: F5 Networks, Inc.
    Inventors: Robert George Gilde, Steven Lee Harms
  • Patent number: 7409460
    Abstract: A system, apparatus, and method for managing the flow of data on a network. A plurality of processors are used to implement a virtual queue, for controlling a rate of flow of data on the network. Each of the processors has a member queue, the combination of member queues combining to form the virtual queue. Aspects of the invention use messages to communicate among the processors, to properly control the rate of flow.
    Type: Grant
    Filed: May 12, 2003
    Date of Patent: August 5, 2008
    Assignee: F5 Networks, Inc.
    Inventor: Ning Xiang Li
  • Patent number: 7395349
    Abstract: A method and system is directed to routing a flow of packets over a network to multiple traffic management devices. An apparatus receives each packet from a network and forwards the packet to one of a group of traffic management devices. The apparatus also may receive packets from servers for which the traffic management devices are managing communications. When forwarding packets, a traffic management device is selected from the group of traffic management devices by employing a hash of an IP address and port number. The IP address and port number are selected from source or destination information in the packet that has a greater port number. When the traffic management device performs a network address translation, further actions may be performed so that packets that are part of a flow between two network devices are delivered to the same traffic management device.
    Type: Grant
    Filed: August 20, 2003
    Date of Patent: July 1, 2008
    Assignee: F5 Networks, Inc.
    Inventors: Paul Szabo, David D. Schmitt, Ning X. Li
  • Patent number: 7376967
    Abstract: A system and method for performing asynchronous cryptographic operations. A cryptographic toolkit receives requests for cryptographic operations, and initiates the cryptographic operations within a thread of execution. The toolkit detects when the cryptographic operations are complete, retrieves the results, and returns the results to a calling program. The cryptographic operations are performed in an asynchronous manner, without blocking a calling program. The calling program can specify whether the requested operations are to be performed without blocking.
    Type: Grant
    Filed: December 2, 2002
    Date of Patent: May 20, 2008
    Assignee: F5 Networks, Inc.
    Inventors: John R. Hughes, Richard Roderick Masters, David D. Schmitt
  • Patent number: 7355977
    Abstract: A method and system for creating and maintaining an allocation table that associates allocation buckets with corresponding target identifiers. Each target identifier has a corresponding weighting value. The allocation table has a number of allocation buckets, each associated with a target identifier. When one or more weighting values change, one or more buckets are reassigned to different target identifiers. A number of factors are considered in determining whether to delay modification of the allocation table, in order to further reduce disruption. The allocation table may be used to distribute packets among network devices, or more generally, to route packets along paths in a network.
    Type: Grant
    Filed: August 16, 2002
    Date of Patent: April 8, 2008
    Assignee: F5 Networks, Inc.
    Inventor: Ning Xiang Li
  • Patent number: 7349391
    Abstract: A system is described having a network, a bus and an interface coupling the network to the bus. A host is coupled to the network and executes software to generate packets for communication on the network. A bus device is coupled to the bus. The interface and host coordinate to transport bus device packets between the host and the bus device via tunneling over the network.
    Type: Grant
    Filed: March 19, 1999
    Date of Patent: March 25, 2008
    Assignee: F5 Networks, Inc.
    Inventors: Avner Ben-Dor, James Goodwin, Joseph Meza, Mark S. Young, David Zalatimo
  • Patent number: 7346695
    Abstract: A method and apparatus for inserting and examining Cookies in the data streams of HTTP connections for the purpose of persistently directing HTTP connections to the same destination. A network device directs subsequent HTTP connections from the same client to the same server (destination) for accessing the requested resources. There are four modes for employing the Cookie to persistently direct HTTP connections. The associated mode inserts a Cookie that uniquely identifies the client into an HTTP response. The passive mode inserts Cookie information that uniquely identifies a previously selected destination into an HTTP response. In the rewrite mode, a network device manages the destination information that is rewritten over blank Cookie information generated by the destination producing the HTTP response. The insert mode inserts and removes Cookie information in the data packets for HTTP requests and response prior to processing by the destination.
    Type: Grant
    Filed: October 26, 2005
    Date of Patent: March 18, 2008
    Assignee: F5 Networks, Inc.
    Inventor: Richard R. Masters
  • Patent number: 7343413
    Abstract: A server array controller that includes a Data Flow Segment (DFS) and at least one Control Segment (CS). The DFS includes the hardware-optimized portion of the controller, while the CS includes the software-optimized portions. The DFS performs most of the repetitive chores including statistics gathering and per-packet policy enforcement (e.g. packet switching). The DFS also performs tasks such as that of a router, a switch, or a routing switch. The CS determines the translation to be performed on each flow of packets, and thus performs high-level control functions and per-flow policy enforcement. Network address translation (NAT) is performed by the combined operation of the CS and DFS. The CS and DFS may be incorporated into one or more separate blocks. The CS and DFS are independently scalable. Additionally, the functionality of either the DFS or the CS may be separately implemented in software and/or hardware.
    Type: Grant
    Filed: March 21, 2001
    Date of Patent: March 11, 2008
    Assignee: F5 Networks, Inc.
    Inventors: Robert George Gilde, Steven Lee Harms
  • Patent number: 7308475
    Abstract: A method and system for accessing network services. A client sends a request for a service. The request includes an address of the client. One or more resolvers receive the request for a service. The one or more resolvers determine at least one service location to return to the client based at least partially on the service requested and the address of the client. The at least one service location is then returned to the client. The service locations returned to the client may also be based on a policy, user preferences, client preferences, or client characteristics.
    Type: Grant
    Filed: May 6, 2003
    Date of Patent: December 11, 2007
    Assignee: F5 Networks, Inc.
    Inventors: Joseph A. Pruitt, Bryan D. Skene, Patrick D. Jenny, Gary N. Mager
  • Patent number: 7296145
    Abstract: A system and method for conducting secure distributed network communications without using Secure Socket Layer. A frame having an embedded security applet is forwarded by the device to an external node on the network. The security applet prompts a user at the external node for login data. Once valid, login data is established, subsequent frames sent between the device and external node includes a blank form with an appended string of tagged and concatenated secure field values encrypted using a key derived from the login data.
    Type: Grant
    Filed: May 10, 2001
    Date of Patent: November 13, 2007
    Assignee: F5 Networks, Inc.
    Inventor: Kim F. Storm
  • Patent number: 7296263
    Abstract: The present invention provides a method and system for performing operations on data using XML streams. An XML schema defines a limited set of operations that may be performed on data. These operations include addition, subtraction, multiplication and division. The operations are placed in an XML stream that conforms to the XML schema. The XML stream may perform one or more of the defined operations on the data. The limited set of operations allows data to be validated and processed without excessive overhead.
    Type: Grant
    Filed: December 12, 2002
    Date of Patent: November 13, 2007
    Assignee: F5 Networks, Inc.
    Inventor: Arun T. Jacob
  • Patent number: 7286476
    Abstract: An architecture for optimizing network communications that utilizes a device positioned at two edges of a constrained Wide Area Network (WAN) link. The device intercepts outgoing network packets and reroutes them to a proxy application. The proxy application uses multiple, preferably persistent connections with a network accelerator device at the other end of the persistent connection. The proxy applications transmit the intercepted data. Packet mangling may involve spoofing the connection request at each end node; a proxy-to-proxy communication protocol specifies a way to forward an original address, port, and original transport protocol information end to end. The packet mangling and proxy-to-proxy communication protocol assure network layer transparency.
    Type: Grant
    Filed: August 1, 2003
    Date of Patent: October 23, 2007
    Assignee: F5 Networks, Inc.
    Inventors: Youssri Helmy, Tarek Nabhan
  • Patent number: 7287084
    Abstract: A method and system for inserting and examining encrypted identification information in the data streams of application level connections for the purpose of persistently directing application connections to the same destination. The invention enables a network device to direct subsequent application level connections from the same client to the same server (destination) for accessing the requested resources. There are four modes for employing the encrypted information to persistently direct application level connections. The associative mode inserts information that uniquely identifies the client into a response. The passive mode inserts information that uniquely identifies a previously selected destination into a response. In the rewrite mode, a network device manages the destination information that is rewritten over blank information generated by the destination producing the response.
    Type: Grant
    Filed: September 26, 2005
    Date of Patent: October 23, 2007
    Assignee: F5 Networks, Inc.
    Inventor: Richard R. Masters
  • Patent number: 7206282
    Abstract: A method and apparatus for allocating access to a scarce resource. A load of each flow on the resource is calculated. The aggregate load is compared to a maximum steady state load. A drop policy is established responsive to the comparison. The drop policy is applied to the flows at an input interface of the device.
    Type: Grant
    Filed: May 29, 2001
    Date of Patent: April 17, 2007
    Assignee: F5 Networks, Inc.
    Inventors: Tomasz J. Goldman, Christian Paulsen
  • Patent number: 7197661
    Abstract: Methods and systems are directed to dynamically mirroring a connection between network devices. Mirroring is managed by forwarding a packet between a first network device and a second network device. In one method, the first network device receives the packet from a client and communicates the packet to the second network device. A forwarding device, pre-determined from the first and second network devices, forwards the packet to a server. The first network device receives a response from the server, and communicates it to the second network device. The forwarding device forwards the response packet to the client. In one configuration, the first network device and forwarding device is an active device, and the second network device is a standby device. In another configuration, the first network device is a standby device, and the second network device and forwarding device is an active device.
    Type: Grant
    Filed: December 5, 2003
    Date of Patent: March 27, 2007
    Assignee: F5 Networks, Inc.
    Inventors: Keith Robert Reynolds, John R. Hughes
  • Publication number: 20060291388
    Abstract: A system for distributing network traffic to multiple traffic management devices. A distributor receives each packet from a network and may act as a layer 2 switch, a router, or distribute the packet to one of a group of traffic management devices. The distributor may receive packets from servers that the traffic management devices are managing communications to. When distributing packets to traffic management devices, information such as source and destination addresses may be used to determine which traffic management device each packet should be sent to. The distributor causes packets that are part of a flow to be delivered to the same traffic management device.
    Type: Application
    Filed: September 1, 2006
    Publication date: December 28, 2006
    Applicant: F5 Networks, Inc.
    Inventors: Carlton Amdahl, Robert Gilde, David Schmitt, Paul Szabo, Richard Masters
  • Patent number: 7146354
    Abstract: The invention provides for employing a complex data structure to optimize the retrieval of data from a data store over a network. The complex data structure includes two separate sub-data structures (Trie and List) that separately reference the same data objects in a data store. The complex data structure employs a functional interface to determine which data structure matches a particular function request for data. A Trie sub-data structure is used to fulfill a single data object request. The List sub-data structure is employed with function requests related to several data objects. Each data object is associated with a parent object that includes a list of every reference to the data object in both the Trie and List sub-data structures. When a data object is subsequently deleted, the parent object list is employed to automatically delete every reference to the deleted data object in both the Trie and List sub-data structures.
    Type: Grant
    Filed: June 19, 2000
    Date of Patent: December 5, 2006
    Assignee: F5 Networks, Inc.
    Inventors: Scott P. Tennican, Bryan D. Skene
  • Patent number: 7126955
    Abstract: An architecture for optimizing network communications that utilizes a device positioned at two edges of a constrained Wide Area Network (WAN) link. The device intercepts outgoing network packets and reroutes them to a proxy application. The proxy application uses persistent connections with a network accelerator device at the other end of the persistent connection. The proxy applications transmit the intercepted data after compressing it using a dictionary-based compression algorithm. Packet mangling may involve spoofing the connection request at each end node; a proxy-to-proxy communication protocol specifies a way to forward an original address, port, and original transport protocol information end to end. The packet mangling and proxy-to-proxy communication protocol assure network transparency.
    Type: Grant
    Filed: January 29, 2003
    Date of Patent: October 24, 2006
    Assignee: F5 Networks, Inc.
    Inventors: Tarek Nabhan, Youssri Helmy
  • Patent number: 7113962
    Abstract: A system and computer implementable method for updating content on servers coupled to a network. The method includes updating an origin server with a version of files used to provide content, retrieving data that indicates an action to be performed on one or more cache servers in conjunction with updating the origin server, and performing the action to update entries in the one or more cache servers. Each entry in each cache server is associated with a subset of the content on the origin server and may include an expiration field and/or a time to live field. An example of a subset of content to which a cache entry may be associated is a Web page. Cache servers are not required to poll origin servers to determine whether new content is available. Cache servers may be pre-populated using push or pull techniques.
    Type: Grant
    Filed: January 25, 2002
    Date of Patent: September 26, 2006
    Assignee: F5 Networks, Inc.
    Inventors: Thomas E. Kee, Ryan C. Kearny, Donald Joseph DeCaprio, Christian D. Saether
  • Patent number: 7114180
    Abstract: A method and system for authenticating and authorizing requesters interacting with content servers. A message including a request is forwarded from an upstream device and received by an intermediate device. The intermediate device authenticates the upstream device. Then, if the intermediate device is authorized to make decisions as to which sender may access the content server, the intermediate device determines whether the sender of the message has authority to access the content server as requested in the request. Otherwise, the message is forwarded towards the content server with an indication that the intermediate device authenticated the upstream device.
    Type: Grant
    Filed: July 16, 2002
    Date of Patent: September 26, 2006
    Assignee: F5 Networks, Inc.
    Inventor: Donald Joseph DeCaprio