US2015019754A1PendingUtilityA1

Method and apparatus to accomplish peer-to-peer application data routing between service consumers and service providers within a service oriented architecture

Assignee: ACCENTURE GLOBAL SERVICES LTDPriority: Jun 15, 2004Filed: Sep 29, 2014Published: Jan 15, 2015
Est. expiryJun 15, 2024(expired)· nominal 20-yr term from priority
H04L 45/02H04L 49/25H04L 67/63H04L 67/51H04L 67/564H04L 67/1068H04L 67/104
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A Peer-to-Peer Application Data Routing Fabric is described. The Fabric provides routing between endpoints resident in peer nodes of a Service Oriented Architecture where the routing is based on endpoint presence, availability, status, and location to satisfy the requirements of fault tolerance and load balancing among homogenous endpoints; or routing by address among instances of differing type. In the preferred embodiment of the Fabric, the Session Initiation Protocol components, interactions and transport mechanisms are leveraged and extended.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . A computer-implemented method comprising:
 receiving, from a service consumer client and by a proxy node that is associated with a particular service type, a request associated with the particular service type;   based on the request, obtaining, by a service broker of the proxy node, a list of nodes that maintain service providers of the particular service type;   obtaining, by the service broker of the proxy node, current status information for each of the nodes on the list;   identifying, by the service broker of the proxy node, a routing regime associated with the particular service type;   selecting, by the service broker of the proxy node, a particular node to receive the request based at least on the current status information and the routing regime; and   forwarding, by the service broker of the proxy node, the request from the service consumer client to the particular node.   
     
     
         3 . The method of  claim 2 , comprising:
 determining, by the service broker of the proxy node, that the proxy node does not maintain a service provider of the particular service type,   wherein the service broker of the proxy node obtains the list of nodes that maintain service providers of the particular service type in response to determining, by the service broker of the proxy node, that the proxy node does not maintain the service provider of the particular service type.   
     
     
         4 . The method of  claim 2 , comprising:
 determining, by the service broker of the proxy node, that the proxy node has not pre-determined to forward requests associated with the particular service type to a particular node,   wherein the service broker of the proxy node obtains the list of nodes that maintain service providers of the particular service type in response to determining, by the service broker of the proxy node, that the proxy node has not pre-determined to forward requests associated with the particular service type to a particular node.   
     
     
         5 . The method of  claim 2 , comprising:
 in response to selecting, by the service broker of the proxy node, the particular node to receive the request based at least on the current status information and the routing regime, determining, by the service broker of the proxy node, to forward future requests associated with the particular service type to the particular node.   
     
     
         6 . The method of  claim 5 , comprising:
 subscribing to status updates from nodes of the list of nodes; and   determining to stop forwarding future requests associated with the particular service type to the particular node based on a status update from the particular node.   
     
     
         7 . The method of  claim 2 , wherein obtaining, by a service broker of the proxy node, a list of nodes that maintain service providers of the particular service type comprises:
 transmitting a query to a registry for nodes that maintain service providers of the particular service type; and   receiving from the registry the list of nodes that maintain service providers of the particular service type.   
     
     
         8 . The method of  claim 2 , wherein obtaining, by the service broker of the proxy node, current status information for each of the nodes on the list comprises:
 transmitting a query to a status manager that tracks status information for nodes for the current status information for each of the nodes on the list; and   receiving the current status information for each of the nodes on the list.   
     
     
         9 . The method of  claim 2 , wherein the routing regime comprises a round robin based routing regime. 
     
     
         10 . The method of  claim 2 , wherein the routing regime comprises a load-balancing regime. 
     
     
         11 . The method of  claim 2 , wherein the request indicates the particular service type associated with the request. 
     
     
         12 . A system comprising:
 one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
 receiving, from a service consumer client and by a proxy node that is associated with a particular service type, a request associated with the particular service type; 
 based on the request, obtaining, by a service broker of the proxy node, a list of nodes that maintain service providers of the particular service type; 
 obtaining, by the service broker of the proxy node, current status information for each of the nodes on the list; 
 identifying, by the service broker of the proxy node, a routing regime associated with the particular service type; 
 selecting, by the service broker of the proxy node, a particular node to receive the request based at least on the current status information and the routing regime; and 
 forwarding, by the service broker of the proxy node, the request from the service consumer client to the particular node. 
   
     
     
         13 . The system of  claim 12 , comprising:
 determining, by the service broker of the proxy node, that the proxy node does not maintain a service provider of the particular service type,   wherein the service broker of the proxy node obtains the list of nodes that maintain service providers of the particular service type in response to determining, by the service broker of the proxy node, that the proxy node does not maintain the service provider of the particular service type.   
     
     
         14 . The system of  claim 12 , comprising:
 determining, by the service broker of the proxy node, that the proxy node has not pre-determined to forward requests associated with the particular service type to a particular node,   wherein the service broker of the proxy node obtains, the list of nodes that maintain service providers of the particular service type in response to determining, by the service broker of the proxy node, that the proxy node has not pre-determined to forward requests associated with the particular service type to a particular node.   
     
     
         15 . The system of  claim 12 , comprising:
 in response to selecting, by the service broker of the proxy node, the particular node to receive the request based at least on the current status information and the routing regime, determining, by the service broker of the proxy node, to forward future requests associated with the particular service type to the particular node.   
     
     
         16 . The system of  claim 15 , comprising:
 subscribing to status updates from nodes of the list of nodes; and   determining to stop forwarding future requests associated with the particular service type to the particular node based on a status update from the particular node.   
     
     
         17 . The system of  claim 12 , wherein obtaining, by a service broker of the proxy node, a list of nodes that maintain service providers of the particular service type comprises:
 transmitting a query to a registry for nodes that maintain service providers of the particular service type; and   receiving from the registry the list of nodes that maintain service providers of the particular service type.   
     
     
         18 . The system of  claim 12 , wherein obtaining, by the service broker of the proxy node, current status information for each of the nodes on the list comprises:
 transmitting a query to a status manager that tracks status information for nodes for the current status information for each of the nodes on the list; and   receiving the current status information for each of the nodes on the list.   
     
     
         19 . The system of  claim 12 , wherein the routing regime comprises a round robin based routing regime. 
     
     
         20 . The system of  claim 12 , wherein the routing regime comprises a load-balancing regime. 
     
     
         21 . A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
 receiving, from a service consumer client and by a proxy node that is associated with a particular service type, a request associated with the particular service type;   based on the request, obtaining, by a service broker of the proxy node, a list of nodes that maintain service providers of the particular service type;   obtaining, by the service broker of the proxy node, current status information for each of the nodes on the list;   identifying, by the service broker of the proxy node, a routing regime associated with the particular service type;   selecting, by the service broker of the proxy node, a particular node to receive the request based at least on the current status information and the routing regime; and   forwarding, by the service broker of the proxy node, the request from the service consumer client to the particular node.

Join the waitlist — get patent alerts

Track US2015019754A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.