IP Library Granted Patent US 8,572,249
Granted Patent B2
US 8,572,249 · App. 10/733,808 · Granted Oct 29, 2013

Network appliance for balancing load and platform services

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,572,249
App. No.
10/733,808
Granted
Oct 29, 2013
Kind
B2
Abstract

A network appliance is described that can provide a variety of software services, including both platform services, such as access method services, and a load balancing service. A network may include a network appliance that both provides one or more platform services and acts as a load balancer. When two or more such appliances are used together, they can replace a substantial portion of a conventional network. For example, when a network appliance receives a client communication, its load balancer service can determine whether one of its own platform services will process the communication or forward the communication to another network appliance for processing. Moreover, if the load balancing service of a network appliance fails, another network appliance can provide load balancing. Similarly, if another service of a network appliance fails, then the network appliance may continue to provide load balancing but forward communications requiring the failed service to another network appliance for processing.

Claims (49)

1. A network appliance, comprising:

at least one platform service stored in memory, the at least one platform service executable by a processing device;

a service monitor stored in memory and executable by a processor to:

monitor a working status of the at least one platform service when executed from memory, the service monitor using interprocess communications, the working status indicating that the at least one platform service is starting,

place the at least one platform service in hold mode based on the working status indicating that the at least one platform service is starting, and

remove the at least one platform service from hold mode when a predetermined number of successful replies are received from the at least one platform service in response to a plurality of requests; and

a load balancer stored in memory and executable by a processor to suspend received communications to the at least one platform service while the at least one platform service is in hold mode and to resume communications when the at least one platform service is no longer in hold mode.

2. The network appliance of claim 1 , further comprising a backplane interface through which the network appliance exchanges data with another device.

3. The network appliance of claim 2 , wherein the another device hosts at least one second platform service stored in memory, and the service monitor is executable to monitor a working status of the at least one second platform service using communications transmitted over the backplane.

4. The network appliance of claim 1 , further comprising an interface monitor stored in memory and executable to monitor a working status of interfaces and connections employed by the network appliance.

5. The network appliance of claim 1 , wherein the at least one platform service is an access method service.

6. The network appliance of claim 5 , wherein the access method service is a virtual private network service.

7. The network appliance of claim 5 , wherein the access method service is an extranet Web service.

8. The network appliance of claim 1 , further comprising a node manager stored in memory and executable to determine the working status of the at least one platform service and provide the determined working status of the at least one platform service to the service monitor.

9. The network appliance of claim 1 , further comprising a distributed cache service that caches information relating to at least one platform service on another network appliance.

10. The network appliance of claim 9 , wherein the at least one platform service of the other network appliance is an access method service, and the information cached includes authentication information and encryption key information for encryption sessions hosted by the access method service.

11. A system for balancing loads in a network, the system comprising:

a first network appliance having:

at least one first platform service stored in memory,

a service monitor stored in memory and executable to:

monitor a working status of the at least one first platform service when executed from memory, the service monitor using interprocess communications, the working status indicating that the at least platform service is starting,

place the at least one first platform service in hold mode based on the working status indicating that the at least one platform service is starting, and

remove the at least one first platform service from hold mode when a predetermined number of successful replies are received from the at least one first platform service in response to a plurality of requests; and

a first load balancer stored in memory and executable to suspend communications to the at least one first platform service while the at least one first platform service is in hold mode and to resume communications when the at least one first platform service is no longer in hold mode, the working status indicating that the at least one first platform service is starting; and

a second network appliance having:

at least one second platform service stored in memory, and

a second load balancer stored in memory and executable to perform load balancing on communications received by the second network appliance, wherein the first network appliance is configured to receive all client communications to the network unless the first load balancer fails, and the second network appliance is configured to receive all client communications to the network if the first load balancer fails.

12. The system of claim 11 , wherein the second network appliance further includes a second service monitor stored in memory and executable to monitor a working status of the at least one second platform service using interprocess communications.

13. The system of claim 11 , wherein the at least one first platform service is an access method service.

14. The system of claim 13 , wherein the access method service is a virtual private network service.

15. The system of claim 13 , wherein the access method service is an extranet Web service.

16. The system of claim 11 , wherein the at least one second platform service is an access method service.

17. The system of claim 16 , wherein the access method service is a virtual private network service.

18. The system of claim 16 , wherein the access method service is an extranet Web service.

19. A method of processing client communications to a network comprising:

receiving a first client communication at a first network appliance hosting at least one first platform service;

monitor a working status of the at least one first platform service when executed from memory, the monitoring using interprocess communications, the working status indicating that the at least one first platform service is starting;

placing the at least one platform service in hold mode based on the working status indicating that the at least one platform service is starting;

removing the at least one platform service from hold mode when a predetermined number of successful replies are received from the at least one platform service in response to a plurality of requests;

employing a load balancer hosted by the first network appliance to suspend communication to the at least one first platform service hosted by the first network appliance while the at least one first platform service is in hold mode and to resume communications when the at least one first platform service is no longer in hold mode;

receiving a second client communication at the first network appliance; and

employing the load balancer to direct the second client communication to a second platform service hosted by a second network appliance based on at least the working status indicating that the at least one first platform service is starting and a working status of the second platform service.

20. The method of claim 19 , further comprising:

analyzing the first client communication to determine if the first client communication includes association data indicating that the first client communication is associated with the at least one first platform service; and

determining that the first client communication includes association data indicating that the first communication is associated with the at least one first platform service.

21. The method of claim 20 , wherein the association data is a session identifier identifying an encryption session maintained by the at least one first platform service.

22. The method of claim 19 , further comprising:

executing a load balancing algorithm to determine whether the second client communication should be directed to the second platform service; and

determining that the second client communication should be directed to the second platform service based upon results of the executed load balancing algorithm.

Assignments (25)
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041072 FRAME: 235. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT. Recorded Apr 5, 2017
From: AVENTAIL LLC
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042245/0523 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: AVENTAIL LLC
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041072/0235 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED ON REEL/FRAME 024776/0337 Recorded May 8, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; SONICWALL, INC.
Reel/Frame 028177/0115 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED ON REEL/FRAME 024823/0280 Recorded May 8, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; SONICWALL, INC.
Reel/Frame 028177/0126 →
SECURITY AGREEMENT Recorded Aug 3, 2010
From: AVENTAIL LLC; SONICWALL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 024776/0337 →
PATENT SECURITY AGREEMENT (SECOND LIEN) Recorded Aug 3, 2010
From: AVENTAIL LLC; SONICWALL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 024823/0280 →
MERGER Recorded Feb 4, 2009
From: AVENTAIL CORPORATION
To: AVENTAIL LLC
Reel/Frame 022200/0475 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2004
From: HOPEN, CHRIS A.; TOMLINSON, GARY B.; BROOKE, JOHN; BROWN, DEREK W.; BURDGE, JONATHAN; ERICKSON, RODGER D.
To: AVENTAIL CORPORATION
Reel/Frame 015564/0319 →