Edge network monitoring and adaptation systems
US-2024364794-A1 · Oct 31, 2024 · US
US9742676B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9742676-B2 |
| Application number | US-201213489965-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 6, 2012 |
| Priority date | Jun 6, 2012 |
| Publication date | Aug 22, 2017 |
| Grant date | Aug 22, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for maintaining high availability servers are disclosed. For example, a method comprises the following steps. One or more client requests are provided to a first server for execution therein. The one or more client requests are also provided to a second server for storage therein. In response to the first server failing, the second server is configured to execute at least one client request of the one or more client requests provided to the first server and the second server that is not properly executed by the first server.
Opening claim text (preview).
What is claimed is: 1. A method comprising: assigning, by a load balancer, one or more identifiers to one or more client requests, wherein the one or more identifiers comprise one or more monotonically increasing sequence numbers; providing, by the load balancer, the one or more client requests to a first server for execution therein; providing, by the load balancer, the one or more client requests to a second server for storage therein before failure of the first server; and receiving, by the load balancer, at least one reply corresponding to each client request executed by the first server, wherein each reply comprises the sequence number assigned to a corresponding client request, and wherein the one or more client requests executed by the first server are periodically identified by the first server updating a current sequence number stored in a shared memory external to the load balancer that is accessible by the first server and the second server; wherein, in response to the first server failing, the second server is configured to execute at least one client request of the one or more client requests that has not been executed by the first server, the at least one client request being determined based on the current sequence number stored in the shared memory; wherein the current sequence number stored in the shared memory is associated with a most recent client request successfully executed by the first server; and dynamically adjusting a frequency of the first server periodically updating the current sequence number stored in the shared memory based on a threshold of available computing resources in the shared memory between at least: a first frequency wherein the current sequence number is updated in the shared memory after all messages in a single client request are successfully executed; and a second frequency wherein the current sequence number is updated in the shared memory after all messages in at least two different client requests are successfully executed by the first server. 2. The method of claim 1 , wherein each of the one or more client requests is sent from a client. 3. The method of claim 1 , further comprising the load balancer using the one or more identifiers to keep track of which of the one or more client requests have resulted in replies sent to one or more clients which sent the one or more client requests. 4. The method of claim 3 , further comprising in response to the load balancer receiving a reply corresponding to a request of the one or more client requests which has not resulted in a reply sent to a client which sent the client request, sending the reply to the client which sent the client request. 5. The method of claim 3 , further comprising in response to the load balancer receiving a second reply corresponding to a client request of the one or more client requests which has already resulted in a reply sent to a client which sent the client request, ignoring the second reply. 6. The method of claim 1 , wherein the shared memory comprises a coupling facility. 7. The method of claim 1 , further comprising utilizing the first frequency in response to the available computing resources exceeding a threshold value. 8. The method of claim 1 , further comprising utilizing the second frequency in response to the available computing resources falling below a threshold value. 9. An article of manufacture comprising a computer readable storage device for storing computer readable program code which, when executed, causes a computer to perform the steps of claim 1 . 10. A system comprising: a memory; and a load balancer comprising a processor device operatively coupled to the memory and configured to: assign one or more identifiers to one or more client requests, wherein the one or more identifiers comprise one or more monotonically increasing sequence numbers; provide the one or more client requests to a first server for execution; provide the one or more client requests to a second server for storage therein before failure of the first server; and receive at least one reply corresponding to each client request executed by the first server, wherein each reply comprises the sequence number assigned to a corresponding client request, and wherein the one or more client requests executed by the first server are periodically identified by the first server updating a current sequence number stored in a shared memory external to the load balancer that is accessible by the first server and the second server; wherein, in response to the first server failing, the second server is configured to execute at least one client request of the one or more client requests that has not been executed by the first server, the at least one client request being determined based on the current sequence number stored in the shared memory; wherein the current sequence number stored in the shared memory is associated with a most recent client request successfully executed by the first server; and the system being configured to dynamically adjust a frequency of the first server periodically updating the current sequence number stored in the shared memory based on a threshold of available computing resources in the shared memory between at least: a first frequency wherein the current sequence number is updated in the shared memory after all messages in a single client request are successfully executed; and a second frequency wherein the current sequence number is updated in the shared memory after all messages in at least two different client requests are successfully executed by the first server. 11. In a system comprised of at least one client sending client requests to a cluster of servers wherein the cluster of servers is comprised of a load balancer and at least two servers, a method for processing requests comprising the steps of: the load balancer assigning one or more identifiers to a plurality of client requests, wherein the one or more identifiers comprise one or more monotonically increasing sequence numbers; a first server of the cluster of servers receiving the plurality of client requests from the load balancer and attempting to execute each client request of the plurality of requests; a second server of the cluster of servers receiving the plurality of requests from the load balancer and storing the plurality of requests before failure of the first server; the first server sending at least one reply corresponding to each client request executed by the first server, wherein each reply comprises the sequence number assigned to a corresponding client request, and wherein the one or more client requests executed by the first server are periodically identified by the first server updating a current sequence number stored in a shared memory external to the load balancer that is accessible by the first server and the second server; and in response to the first server failing, the second server executing at least one client request of the plurality of client requests that has not been executed by the first server, the at least one request being determined based on the current sequence number stored in the shared memory; wherein the current sequence number stored in the shared memory is associated with a most recent client request successfully executed by the first server; and dynamically adjusting a frequency of the first server periodically updating the current sequence number stored in the shared memory based on a threshold of available computing resources in the shared memory between at least: a first frequency wherein the current sequence number is updated in the shared memory after all messages in a single client request are successfully executed; and a second
for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06) · CPC title
by balancing the load, e.g. traffic engineering · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.