Availability and consistent service semantics in a load balanced collection of services running different instances of an application
First Claim
1. A method comprising:
- maintaining, at a network node, data identifying current application versions associated with a plurality of services running a plurality of instances of an application, each of the plurality of services being accessible to the network node via a network;
selecting, at the network node, a new preferred application version based on the data identifying current application versions upon detecting a change of at least one of the plurality of services;
identifying, at the network node, one or more of the plurality of services that run the new preferred application version; and
balancing a distribution of requests between the one or more of the plurality of services that run the new preferred application version until detecting a next change of at least one of the plurality of services.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method for providing consistent services semantics for multiple services running different instances of an application comprises maintaining, at a network node, data identifying current application versions associated with the multiple services, and selecting, at the network node, a new preferred application version based on the data identifying current application versions upon detecting a predefined event pertaining to the multiple services. The method further comprises identifying, at the network node, services that run the new preferred application version, and balancing the distribution of requests between the services that run the new preferred application version until detecting a next predefined event.
72 Citations
42 Claims
-
1. A method comprising:
-
maintaining, at a network node, data identifying current application versions associated with a plurality of services running a plurality of instances of an application, each of the plurality of services being accessible to the network node via a network; selecting, at the network node, a new preferred application version based on the data identifying current application versions upon detecting a change of at least one of the plurality of services; identifying, at the network node, one or more of the plurality of services that run the new preferred application version; and balancing a distribution of requests between the one or more of the plurality of services that run the new preferred application version until detecting a next change of at least one of the plurality of services. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of operating a load balancing node on a network, the method comprising:
-
maintaining a current list of application versions associated with a plurality of services running a plurality of instances of a content adaptation application, each application version within the current list of application versions being run by at least one of the plurality of services; maintaining a set of participating services selected from the plurality of services, each service within the set of participating services running a preferred application version from the current list of application versions and being in an active state, the preferred application version being associated with a maximum number of votes; balancing a distribution of content adaptation requests between the set of participating services; and periodically updating the set of participating services to adjust to at least one of a number of events including a change of an application version run by any of the plurality of services and a change in a current state of any of the plurality of services. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A device to operate as a node on a network, the device comprising:
-
an event detector to receive information from a plurality of services running a plurality of instances of an application and to detect a change of at least one of the plurality of services; a version monitor to maintain data identifying current application versions associated with the plurality of services using the information; a version selection algorithm to select a new preferred application version based on the data identifying current application versions upon detecting the change of at least one of the plurality of services by the event detector; a service list controller to identify one of more of the plurality of services that run the new preferred application version; and a request distributor to balance a distribution of requests between the one or more of the plurality of services that run the new preferred application version. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A device to operate as an intermediary node on a network, the device comprising:
-
a processor; a network interface to allow the device to communicate on the network; and a storage facility to store program code for execution by the processor to cause the device to maintain data identifying current application versions associated with a plurality of services running a plurality of instances of an application, each of the plurality of services being accessible to the device via a network, select a new preferred application version based on the data identifying current application versions upon detecting a change of at least one of the plurality of services, identify one or more of the plurality of services that run the new preferred application version, and balance a distribution of requests between the one or more of the plurality of services that run the new preferred application until detecting a next change of at least one of the plurality of services. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A device to operate as a load balancing node on a network, the device comprising:
-
a version monitor to receive data from a plurality of services running a plurality of instances of a content adaptation application and to maintain a current list of application versions associated with the plurality of services, each application version within the current list of application versions being run by at least one of the plurality of services; a service list controller to maintain a set of participating services selected from the plurality of services, each service within the set of participating services running a preferred application version from the current list of application versions and being in an active state, the preferred application version being associated with a maximum number of votes; a request distributor to balance a distribution of content adaptation requests between the set of participating services; and an event detector to detect at least one of a number of events including a change of an application version run by any of the plurality of services and a change in a current state of any of the plurality of services, and to trigger an update of the set of participating services in accordance with the detected event. - View Dependent Claims (35, 36, 37, 38)
-
-
39. A device to operate as a load balancing node on a network, the device comprising:
-
a processor; a network interface to allow the device to communicate on the network; and a storage facility to store program code for execution by the processor to cause the device to maintain a current list of application versions associated with a plurality of services running a plurality of versions of a content adaptation application, each application version within the current list of application versions being run by at least one of the plurality of services; maintain a set of participating services selected from the plurality of services, each service within the set of participating services running a preferred application version from the current list of application versions and being in an active state, the preferred application version being associated with a maximum number of votes; balance a distribution of content adaptation requests between the set of participating services; and periodically update the set of participating services to adjust to at least one of a number of events including a change of an application version run by any of the plurality of services and a change in a current state of any of the plurality of services. - View Dependent Claims (40, 41, 42)
-
Specification