Patents by Inventor Bryan D. Skene

Bryan D. Skene 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: 8516129
    Abstract: A system, apparatus, and method are directed to managing network communications between a client and a server by enabling the client to make decisions involving the selection of alternate network paths. The client and/or the server may be multi-homed to a network. In one embodiment, a link load balancer provides the client with a message and/or path data that enables the client to improve its connections with the server by redirecting network packets using an alternate network path. The message may be based on a static policy at the server, changes in availability of the network connections between the client and server, changes in a quality of the network connections, paths, or the like. Redirecting the network packet by the client may include closing one network connection and establishing another network connection, and/or employing an available alternate network path to re-route network packets towards the server.
    Type: Grant
    Filed: April 11, 2011
    Date of Patent: August 20, 2013
    Assignee: F5 Networkds, Inc.
    Inventor: Bryan D. Skene
  • Patent number: 8438253
    Abstract: A method, system, machine-readable storage medium, and apparatus are directed towards upgrading a cluster by bifurcating the cluster into two virtual clusters, an “old” virtual cluster (old active cluster) and a “new” virtual cluster (new standby cluster), and iteratively upgrading members of the old cluster while moving them into the new cluster. While members are added to the new cluster, existing connections and new connections are seamlessly processed by the old cluster. Optionally, state mirroring occurs between the old cluster and the new cluster once the number of members of the old and new clusters are approximately equal. Once a threshold number of members have been transferred to the new cluster, control and processing may be taken over by the new cluster. Transfer of control from the old cluster to the new cluster may be performed by failing over connectivity from the old cluster to the new cluster.
    Type: Grant
    Filed: May 25, 2012
    Date of Patent: May 7, 2013
    Assignee: F5 Networks, Inc.
    Inventors: Paul I. Szabo, Bryan D. Skene, Saxon Amdahl
  • Publication number: 20130047026
    Abstract: A method, system, machine-readable storage medium, and apparatus are directed towards upgrading a cluster by bifurcating the cluster into two virtual clusters, an “old” virtual cluster (old active cluster) and a “new” virtual cluster (new standby cluster), and iteratively upgrading members of the old cluster while moving them into the new cluster. While members are added to the new cluster, existing connections and new connections are seamlessly processed by the old cluster. Optionally, state mirroring occurs between the old cluster and the new cluster once the number of members of the old and new clusters are approximately equal. Once a threshold number of members have been transferred to the new cluster, control and processing may be taken over by the new cluster. Transfer of control from the old cluster to the new cluster may be performed by failing over connectivity from the old cluster to the new cluster.
    Type: Application
    Filed: May 25, 2012
    Publication date: February 21, 2013
    Applicant: F5 Networks, Inc.
    Inventors: Paul I. Szabo, Bryan D. Skene, Saxon Amdahl
  • Patent number: 8209403
    Abstract: A method, system, machine-readable storage medium, and apparatus are directed towards upgrading a cluster by bifurcating the cluster into two virtual clusters, an “old” virtual cluster (old active cluster) and a “new” virtual cluster (new standby cluster), and iteratively upgrading members of the old cluster while moving them into the new cluster. While members are added to the new cluster, existing connections and new connections are seamlessly processed by the old cluster. Optionally, state mirroring occurs between the old cluster and the new cluster once the number of members of the old and new clusters are approximately equal. Once a threshold number of members have been transferred to the new cluster, control and processing may be taken over by the new cluster. Transfer of control from the old cluster to the new cluster may be performed by failing over connectivity from the old cluster to the new cluster.
    Type: Grant
    Filed: August 18, 2009
    Date of Patent: June 26, 2012
    Assignee: F5 Networks, Inc.
    Inventors: Paul I. Szabo, Bryan D. Skene, Saxon Amdahl
  • Patent number: 7958222
    Abstract: A system for accessing network services includes a plurality of resolvers including a root resolver and a secondary resolver, each resolver arranged to perform actions comprising determining a set of service locations based at least in part on the service and an address associated with a client. the system includes an intermediate device that manipulates scores returned by a set of resolvers of the plurality of resolvers, wherein the root resolver is further arranged to combine sets of the determined service locations and return a combined set of service locations to the client, and wherein at least one resolver of the plurality of resolvers employs an algorithm that is different from an algorithm employed by another resolver of the plurality of resolvers, wherein each algorithm is employed to determine scores of service locations, wherein the combined set of services locations comprises the scores of service locations.
    Type: Grant
    Filed: September 13, 2010
    Date of Patent: June 7, 2011
    Assignee: F5 Networks, Inc.
    Inventors: Joseph A. Pruitt, Bryan D. Skene, Patrick D. Jenny, Gary N. Mager
  • Patent number: 7945678
    Abstract: A system, apparatus, and method are directed to managing network communications between a client and a server by enabling the client to make decisions involving the selection of alternate network paths. The client and/or the server may be multi-homed to a network. In one embodiment, a link load balancer provides the client with a message and/or path data that enables the client to improve its connections with the server by redirecting network packets using an alternate network path. The message may be based on a static policy at the server, changes in availability of the network connections between the client and server, changes in a quality of the network connections, paths, or the like. Redirecting the network packet by the client may include closing one network connection and establishing another network connection, and/or employing an available alternate network path to re-route network packets towards the server.
    Type: Grant
    Filed: October 7, 2005
    Date of Patent: May 17, 2011
    Assignee: F5 Networks, Inc.
    Inventor: Bryan D. Skene
  • Patent number: 7822839
    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: June 21, 2007
    Date of Patent: October 26, 2010
    Assignee: F5 Networks, Inc.
    Inventors: Joseph A. Pruitt, Bryan D. Skene, Patrick D. Jenny, Gary N. Mager
  • Patent number: 7707289
    Abstract: Disclosed are methods and systems for providing persistence across multiple requests in a WAN load-balanced environment. More than one load balancing system may be used to provide persistence while load balancing. One method and system disclosed provides persistence by using modulus arithmetic to load balance requests. Another method and system disclosed provides persistence using topology information contained in the request. Another method and system disclosed provides persistence by storing connection information to refer a timely continuation request of a prior request to the same server the prior request was referred to. When more than one load balancing system is used with this method, the load balancing systems periodically exchange the stored connection information so that each load balancing system may provide persistence to repeat requests.
    Type: Grant
    Filed: April 20, 2006
    Date of Patent: April 27, 2010
    Assignee: F5 Networks, Inc.
    Inventors: Bryan D. Skene, Peter M. Thornewell
  • Publication number: 20100042869
    Abstract: A method, system, machine-readable storage medium, and apparatus are directed towards upgrading a cluster by bifurcating the cluster into two virtual clusters, an “old” virtual cluster (old active cluster) and a “new” virtual cluster (new standby cluster), and iteratively upgrading members of the old cluster while moving them into the new cluster. While members are added to the new cluster, existing connections and new connections are seamlessly processed by the old cluster. Optionally, state mirroring occurs between the old cluster and the new cluster once the number of members of the old and new clusters are approximately equal. Once a threshold number of members have been transferred to the new cluster, control and processing may be taken over by the new cluster. Transfer of control from the old cluster to the new cluster may be performed by failing over connectivity from the old cluster to the new cluster.
    Type: Application
    Filed: August 18, 2009
    Publication date: February 18, 2010
    Applicant: F5 Networks, Inc.
    Inventors: Paul I. Szabo, Bryan D. Skene, Saxon Amdahl
  • Patent number: 7590625
    Abstract: The invention provides for employing a complex data structure to optimize the retrieval of data 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 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. A collector object is a type of data object that is associated with a member object and which includes a list of other related data/collector objects. When data associated with the collector object is requested, other data associated with the other data/collector objects on the member object list are automatically retrieved.
    Type: Grant
    Filed: September 18, 2006
    Date of Patent: September 15, 2009
    Assignee: F5 Networks, Inc.
    Inventors: Scott P. Tennican, Bryan D. Skene
  • Patent number: 7441045
    Abstract: A system and method for balancing the load on virtual servers managed by server array controllers at separate data centers that are geographically distributed on a wide area network such as the Internet is described. The virtual servers provide access to resources associated with a domain name request by a client program. When a Primary Domain Name System (DNS) determined the requested domain name is delegated to a EDNS, the EDNS employs metric information and statistics to resolve an IP address for a virtual server that is selected by the EDNS to optimally balance the load and provide access to resources associated with the domain name. The EDNS may load balance name servers. Additionally, the name server load balancing system may bridge disparate content delivery networks. Internet addresses are divided into geographical information that is used to delegate traffic. Also, metric information is collected and analyzed to help distribute the traffic.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: October 21, 2008
    Assignee: F5 Networks, Inc.
    Inventors: Bryan D. Skene, Scott P. Tennican, Thomas E. Kee
  • 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: 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: 7047301
    Abstract: Disclosed are methods and systems for providing persistence across multiple requests in a WAN load-balanced environment. More than one load balancing system may be used to provide persistence while load balancing. One method and system disclosed provides persistence by using modulus arithmetic to load balance requests. Another method and system disclosed provides persistence using topology information contained in the request. Another method and system disclosed provides persistence by storing connection information to refer a timely continuation request of a prior request to the same server the prior request was referred to. When more than one load balancing system is used with this method, the load balancing systems periodically exchange the stored connection information so that each load balancing system may provide persistence to repeat requests.
    Type: Grant
    Filed: January 31, 2001
    Date of Patent: May 16, 2006
    Assignee: F5 Networks, Inc.
    Inventors: Bryan D. Skene, Peter M. Thornewell
  • Publication number: 20010052016
    Abstract: A system and method for balancing the load on virtual servers managed by server array controllers at separate data centers that are geographically distributed on a wide area network such as the Internet is described. The virtual servers provide access to resources associated with a domain name request by a client program. When a Primary Domain Name System (DNS) determined the requested domain name is delegated to a EDNS, the EDNS employs metric information and statistics to resolve an IP address for a virtual server that is selected by the EDNS to optimally balance the load and provide access to resources associated with the domain name. The EDNS may load balance name servers. Additionally, the name server load balancing system may bridge disparate content delivery networks. Internet addresses are divided into geographical information that is used to delegate traffic. Also, metric information is collected and analyzed to help distribute the traffic.
    Type: Application
    Filed: February 16, 2001
    Publication date: December 13, 2001
    Inventors: Bryan D. Skene, Scott P. Tennican, Thomas E. Kee
  • Publication number: 20010049741
    Abstract: A system and method for balancing the load on virtual servers managed by server array controllers at separate data centers that are geographically distributed on a wide area network such as the Internet. The virtual servers provide access to resources associated with a domain name request by a client program. When a Primary Domain Name System (DNS) determined the requested domain name is delegated to a EDNS, the EDNS employs metric information and statistics to resolve an ip address for a virtual server that is selected by the EDNS to optimally balance the load and provide access to resources associated with the domain name. The EDNS may employ a static or a dynamic load balancing method to select the virtual server most suited to balance the load across all of the virtual servers. The EDNS may include a Primary DNS or a Secondary DNS.
    Type: Application
    Filed: December 13, 1999
    Publication date: December 6, 2001
    Inventors: BRYAN D. SKENE, SCOTT P. TENNICAN, THOMAS E. KEE
  • Publication number: 20010047415
    Abstract: Disclosed are methods and systems for providing persistence across multiple requests in a WAN load-balanced environment. More than one load balancing system may be used to provide persistence while load balancing. One method and system disclosed provides persistence by using modulus arithmetic to load balance requests. Another method and system disclosed provides persistence using topology information contained in the request. Another method and system disclosed provides persistence by storing connection information to refer a timely continuation request of a prior request to the same server the prior request was referred to. When more than one load balancing system is used with this method, the load balancing systems periodically exchange the stored connection information so that each load balancing system may provide persistence to repeat requests.
    Type: Application
    Filed: January 31, 2001
    Publication date: November 29, 2001
    Inventors: Bryan D. Skene, Peter M. Thornewell