Connection manager capable of supporting both distributed computing sessions and non distributed computing sessions
First Claim
Patent Images
1. A method comprising:
- establishing a session between a cluster of application servers and an external client;
determining that said session is a distributed session, said distributed session involves bi-directional request and response flows;
establishing a connection, associated with said distributed session, over a shared memory between a connection manager and a worker node, said shared memory, connection manager, and worker node being located within a first application server within said cluster of application servers, said shared memory accessible to multiple worker nodes within said first application server;
receiving, at said connection manager, a first distributed computing request from a external client over a network;
sending, from said connection manager to said worker node over said connection, said first distributed computing request containing a first method call to a first worker object, said first worker object instantiated on a virtual machine within said worker node, said first worker object being a communication endpoint between said first worker object and said external client;
preparing a first response to said first distributed computing request on said virtual machine within said worker node;
sending said first response from said worker node to said connection manager through said connection; and
,sending, from said connection manager, said first response to said first external client;
receiving, at said connection manager, a second distributed computing request from said external client over said network;
sending, from said connection manager to said worker node over said connection, said second distributed computing request containing a second method call to a second worker object, said second worker object instantiated on said virtual machine, said second worker object being a communication endpoint between said second worker object and said external client;
preparing a second response to said second distributed computing request on said virtual machine within said worker node;
sending said second response from said worker node to said connection manager through said connection;
sending, from said connection manager, said second response to said external clientestablishing a second session between said cluster of application servers and a second external client;
determining that said second session is a non-distributed session;
establishing a second connection, associated with said non-distributed session, over said shared memory between said connection manager and said worker node;
sending, from said connection manager to said worker node through said second connection, a non distributed computing request containing a command for an application that is instantiated on said virtual machine of said worker node; and
,tearing down said second connection in response to said worker node having responded to said non distributed computing request.
2 Assignments
0 Petitions
Accused Products
Abstract
A method is described that involves establishing a connection over a shared memory between a connection manager and a worker node. The shared memory is accessible to multiple worker nodes. Then sending, from the connection manager to the worker node over the connection, a first request containing a method call to a remote object on the worker node. Also sending, from the connection manager to the worker node over the connection, a second request containing a second method call to a second remote object on the worker node.
-
Citations
17 Claims
-
1. A method comprising:
-
establishing a session between a cluster of application servers and an external client; determining that said session is a distributed session, said distributed session involves bi-directional request and response flows; establishing a connection, associated with said distributed session, over a shared memory between a connection manager and a worker node, said shared memory, connection manager, and worker node being located within a first application server within said cluster of application servers, said shared memory accessible to multiple worker nodes within said first application server; receiving, at said connection manager, a first distributed computing request from a external client over a network; sending, from said connection manager to said worker node over said connection, said first distributed computing request containing a first method call to a first worker object, said first worker object instantiated on a virtual machine within said worker node, said first worker object being a communication endpoint between said first worker object and said external client; preparing a first response to said first distributed computing request on said virtual machine within said worker node; sending said first response from said worker node to said connection manager through said connection; and
,sending, from said connection manager, said first response to said first external client; receiving, at said connection manager, a second distributed computing request from said external client over said network; sending, from said connection manager to said worker node over said connection, said second distributed computing request containing a second method call to a second worker object, said second worker object instantiated on said virtual machine, said second worker object being a communication endpoint between said second worker object and said external client; preparing a second response to said second distributed computing request on said virtual machine within said worker node; sending said second response from said worker node to said connection manager through said connection; sending, from said connection manager, said second response to said external client establishing a second session between said cluster of application servers and a second external client; determining that said second session is a non-distributed session; establishing a second connection, associated with said non-distributed session, over said shared memory between said connection manager and said worker node; sending, from said connection manager to said worker node through said second connection, a non distributed computing request containing a command for an application that is instantiated on said virtual machine of said worker node; and
,tearing down said second connection in response to said worker node having responded to said non distributed computing request. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An article of manufacture including program code stored on a non-transitory machine readable medium which, when executed by a machine, causes the machine to perform a method, the method comprising:
-
establishing a session between a cluster of application servers and an external client; determining that said session is a distributed session, said distributed session involves bidirectional request and response flows; establishing a connection, associated with said distributed session, over a shared memory between a connection manager and a worker node, said shared memory, connection manager, and worker node being located within a first application server within said cluster of application servers, said shared memory accessible to multiple worker nodes within said first application server; receiving, at said connection manager, a first distributed computing request from said external client over a network; sending, from said connection manager to said worker node over said connection, said first distributed computing request containing a first method call to a first worker object, said first worker object instantiated on a virtual machine within said worker node, said first worker object being a communication endpoint between said first worker object and said external client; preparing a first response to said first distributed computing request on said virtual machine within said worker node; sending said first response from said worker node to said connection manager through said connection; and
,sending, from said connection manager, said first response to said first external client; receiving, at said connection manager, a second distributed computing request from said external client over said network; sending, from said connection manager to said worker node over said connection, said second distributed computing request containing a second method call to a second worker object, said second worker object instantiated on said virtual machine, said second worker object being a communication endpoint between said second worker object and said external client; preparing a second response to said second distributed computing request on said virtual machine within said worker node; sending said second response from said worker node to said connection manager through said connection; sending, from said connection manager, said second response to said external client establishing a second session between said cluster of application servers and a second external client; determining that said second session is a non-distributed session; establishing a second connection, associated with said non-distributed session, over said shared memory between said connection manager and said worker node; sending, from said connection manager to said worker node through said second connection, a non distributed computing request containing a command for an application that is instantiated on said virtual machine of said worker node; and
,tearing down said second connection in response to said worker node having responded to said non distributed computing request. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computing system comprising a machine, said computing system also comprising instructions disposed on a non-transitory computer readable storage medium, said instructions causing said machine to:
-
establish a session between a cluster of application servers and an external client; determine that said session is a distributed session, said distributed session involves bidirectional request and response flows; establish a connection, associated with said distributed session, over a shared memory between a connection manager and a worker node, said shared memory, connection manager, and worker node being located within a first application server within said cluster of application servers, said shared memory accessible to multiple worker nodes within said first application server; receive, at said connection manager, a first distributed computing request from said external client over a network; send, from said connection manager to said worker node over said connection, said first distributed computing request containing a first method call to a first worker object, said first worker object instantiated on a virtual machine within said worker node, said first worker object being a communication endpoint between said first worker object and said external client; prepare a first response to said first distributed computing request on said virtual machine within said worker node; send said first response from said worker node to said connection manager through said connection; and
,send, from said connection manager, said first response to said external client; receive, at said connection manager, a second distributed computing request from said external client over said network; send, from said connection manager to said worker node over said connection, said second distributed computing request containing a second method call to a second worker object, said second worker object instantiated on said virtual machine, said second worker object being a communication endpoint between said second worker object and said external client; prepare a second response to said second distributed computing request on said virtual machine within said worker node; send said second response from said worker node to said connection manager through said connection; send, from said connection manager, said second response to said external client establish a second session between said cluster of application servers and a second client; determine that said second session is a second non-distributed session; establish a second connection, associated with said second non-distributed session, over said shared memory between said connection manager and said worker node; send, from said connection manager to said worker node through said second connection, a non distributed computing request containing a command for an application that is instantiated on said virtual machine of said worker node; and
,tear down said second connection in response to said worker node having responded to said non distributed computing request. - View Dependent Claims (12, 13, 14)
-
-
15. A method, comprising:
-
establishing a first session to manage computing requests received by a cluster of application servers; establishing a second session to manage computing requests received by said cluster of application servers; determining that said first session is a distributed session and said second session is a non-distributed session; establishing a quasi-permanent connection, associated with said distributed session, over a shared memory between a connection manager and a first worker node operating on a common server, said shared memory accessible to multiple worker nodes, and wherein said quasi-permanent connection remains active through multiple request/response cycles; establishing a second connection, associated with said non-distributed session, over said shared memory between said connection manager and a second worker node operating on said common server; receiving at a dispatcher a first distributed computing request containing a first method call to a first worker object, said first worker node is running an instance of said first worker object; sending, from said dispatcher to said connection manager, said first distributed computing request over a network connection; sending, from said connection manager to said first worker node over said quasi-permanent connection, said first distributed computing request; receiving at said dispatcher a second non-distributed computing request containing a second method call to a second worker object, said second worker node is running an instance of said second worker object; sending, from said dispatcher to said connection manager, said second non-distributed computing request over a network connection; sending, from said connection manager to said second worker node over said quasi-permanent connection, said second non-distributed computing request. - View Dependent Claims (16)
-
-
17. A method, comprising:
-
establishing a first session to manage computing requests received by a cluster of application servers; determining that said first session is a distributed session, said distributed session involves bi-directional request and response flows; establishing a second session to manage non-distributed computing requests received by said cluster of application servers; establishing a quasi-permanent connection, associated with said distributed session, between a connection manager and a virtual machine instance running on a common server within said cluster of application servers, said quasi-permanent connection established within a share memory on said common server; establishing a second connection, associated with said second session, between said connection manager and said virtual machine instance within said shared memory; sending, from said connection manager to said virtual machine instance over said quasi-permanent connection, a first distributed computing request; receiving, from said virtual machine instance at said connection manager over said quasi-permanent connection, a response to said first distributed computing request; sending, from said connection manager to said virtual machine instance over said second connection, a first non-distributed computing request; receiving, from said virtual machine instance at said connection manager over said second connection, a response to said first non-distributed computing request; closing said second connection associated with said second session; sending, from said connection manager to said virtual machine instance over said quasi-permanent connection, a second distributed computing request; receiving, from said virtual machine instance at said connection manager over said quasi-permanent connection, a response to said second distributed computing request; and closing said first session; tearing down said quasi-permanent connection between said connection manager and said virtual machine instance; wherein quasi-permanent connections remain active through multiple request/response cycles.
-
Specification