System and method for dynamic, transparent migration of services
First Claim
1. A peer computing system, comprising:
- a plurality of peer nodes each configured to provide a redundant instance of a network service for access by other peer nodes in a network;
a peer node configured to access the network service by sending messages on a pipe bound to the peer node and to each of the plurality of peer nodes, wherein the pipe represents a virtual communications channel in the network for communicating with the network service;
wherein the peer computing system is configured to;
route one or more messages on the pipe for the network service from the peer node to an instance of the network service on one of the plurality of peer nodes bound to the pipe;
detect that the one of the plurality of peer nodes is not able to provide access to the instance of the service; and
route a subsequent one or more messages on the pipe for the network service from the peer node to another instance of the network service provided by another one of the plurality of peer nodes bound to the pipe in response to the one of the plurality of peer nodes not being able to provide access to the instance of the service.
2 Assignments
0 Petitions
Accused Products
Abstract
System and method for the dynamic and transparent migration of services in a peer-to-peer networking environment. Member peers in a peer group using a peer-to-peer platform may cooperate to provide redundant instances of services to member peers. Dynamic migration of a service may be performed by unbinding one or more peer-to-peer platform pipes from a peer hosting an instance of the service and binding the pipes to another peer hosting a different instance of the service. Using pipes, services may transparently failover from one physical peer endpoint to another in order to mask a service or peer failure, or to access a newly published instance of a service. Thus, a collection of peers may provide a high level of fault tolerance, where, for example, a new peer at a different location may replace a crashed peer, with the new peer taking over the existing pipe to keep the communication going.
257 Citations
65 Claims
-
1. A peer computing system, comprising:
-
a plurality of peer nodes each configured to provide a redundant instance of a network service for access by other peer nodes in a network;
a peer node configured to access the network service by sending messages on a pipe bound to the peer node and to each of the plurality of peer nodes, wherein the pipe represents a virtual communications channel in the network for communicating with the network service;
wherein the peer computing system is configured to;
route one or more messages on the pipe for the network service from the peer node to an instance of the network service on one of the plurality of peer nodes bound to the pipe;
detect that the one of the plurality of peer nodes is not able to provide access to the instance of the service; and
route a subsequent one or more messages on the pipe for the network service from the peer node to another instance of the network service provided by another one of the plurality of peer nodes bound to the pipe in response to the one of the plurality of peer nodes not being able to provide access to the instance of the service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
13. A peer computing system, comprising:
-
a peer node configured to provide an instance of a network service for access by other peer nodes in a network;
another peer node configured to access the instance of the network service provided by the peer node by sending one or more messages on a pipe bound to the peer node and to the other peer node, wherein the pipe represents a virtual communications channel in the network for communicating with the network service;
wherein the peer computing system is configured to bind the pipe to a different peer node configured to provide another instance of the network service for access by the other peer nodes in the network; and
wherein the other peer node is further configured to access the other instance of the network service provided by the different peer node by sending a subsequent one or more messages on the pipe bound to the different peer node and the other peer node if the peer node is not able to provide access to the instance of the service.
-
-
22. A peer computing system, comprising:
-
a plurality of peer nodes, wherein the plurality of peer nodes is configured to implement a peer-to-peer environment on a network according to a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling the plurality of peer nodes to discover each other, to communicate with each other, and to share content in the peer-to-peer environment;
a subset of the plurality of peer nodes each comprising a redundant instance of a network service for access by others of the plurality of peer nodes in accordance with the peer-to-peer platform;
wherein, to access an instance of the network service, one of the plurality of peer nodes is configured to send messages to the network service on a pipe bound to the peer node and to one or more of the subset of peer nodes in accordance with the peer-to-peer platform, wherein the pipe represents a virtual communications channel for communicating with the network service on the one or more of the subset of peer nodes;
wherein the peer computing system is configured to;
route one or more messages on the pipe for the network service from the peer node to an instance of the network service on one of the subset of peer nodes bound to the pipe;
detect that the one of the subset of peer nodes is not able to provide access to the instance of the service; and
route a subsequent one or more messages on the pipe for the network service from the peer node to another instance of the network service provided by another one of the subset of peer nodes bound to the pipe in response to the one of the subset of peer nodes not being able to provide access to the instance of the service. - View Dependent Claims (23, 24, 25, 26, 27, 28, 30, 31)
-
-
29. A peer-to-peer network environment, comprising:
-
a peer group comprising a plurality of peer group members, wherein each peer group member comprises a network node configured to communicate with other members of the peer group over one or more networks;
wherein a subset of the peer groups members of the peer group are configured to provide redundant instances of a network service to the peer group, wherein a member of the peer group can access the network service from any of the plurality of peer groups members providing one of the redundant instances of the network service; and
wherein the subset of peer groups members providing redundant instances of the network service are configured to provide a fail-over mechanism wherein if one of the peers providing the network service fails or leaves the peer group, the network service may be obtained from another one of the peers providing the network service.
-
-
32. A method, comprising:
-
a plurality of peer nodes each providing a redundant instance of a network service for access by other peer nodes in a network;
a peer node accessing the network service provided by the plurality of peer nodes by sending messages on a pipe bound to the peer node and to each of the plurality of peer nodes, wherein the pipe represents a virtual communications channel in the network for communicating with the network service;
routing one or more messages on the pipe for the network service from the peer node to an instance of the network service on one of the plurality of peer nodes bound to the pipe;
detecting that the one of the plurality of peer nodes is not able to provide access to the instance of the service; and
routing a subsequent one or more messages on the pipe for the network service from the peer node to another instance of the network service provided by another one of the plurality of peer nodes bound to the pipe in response to said detecting that the one of the plurality of peer nodes is not able to provide access to the instance of the service. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A method comprising:
-
a peer node in a peer-to-peer network accessing an instance of a network service provided by another peer node in the peer-to-peer network via a pipe bound to the peer node and the other peer node, wherein the pipe represents a virtual communications channel in the peer-to-peer network for communicating with the network service;
binding the pipe to a different peer node in the peer-to-peer network providing a redundant instance of the network service; and
the peer node accessing the instance of the network service provided by the different peer node via the pipe bound to the peer node and the different peer node. - View Dependent Claims (44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
-
49. An article of manufacture comprising software instructions executable to implement:
-
a plurality of peer nodes each providing a redundant instance of a network service for access by other peer nodes in a network;
a peer node accessing the network service provided by the plurality of peer nodes by sending messages on a pipe bound to the peer node and to each of the plurality of peer nodes, wherein the pipe represents a virtual communications channel in the network for communicating with the network service;
routing one or more messages on the pipe for the network service from the peer node to an instance of the network service on one of the plurality of peer nodes bound to the pipe;
detecting that the one of the plurality of peer nodes is not able to provide access to the instance of the service; and
routing a subsequent one or more messages on the pipe for the network service from the peer node to another instance of the network service provided by another one of the plurality of peer nodes bound to the pipe in response to said detecting that the one of the plurality of peer nodes is not able to provide access to the instance of the service.
-
-
60. An article of manufacture comprising software instructions executable to implement:
-
a peer node in a peer-to-peer network accessing an instance of a network service provided by another peer node in the peer-to-peer network via a pipe bound to the peer node and the other peer node, wherein the pipe represents a virtual communications channel in the peer-to-peer network for communicating with the network service;
binding the pipe to a different peer node in the peer-to-peer network providing a redundant instance of the network service; and
the peer node accessing the instance of the network service provided by the different peer node via the pipe bound to the peer node and the different peer node. - View Dependent Claims (61, 62, 63, 64, 65)
-
Specification