In a distributed object system, the services available on the network are modeled as network objects. A client typically communicates with and uses these objects using Internet connections. As the number of clients increase the servers can get overwhelmed by the number of connections coming into the server resulting in sluggish response and/or loss of service. The invention describes the mechanisms for reducing the required number of connections by automatically concentrating multiple connections onto a single connection. This is done by introducing shared intermediate connection concentrators called gateways. When the client invokes on an external object reference, the ORB running on the client automatically forwards the request to a gateway assigned to it, which then forwards it onto a shared connection to the server. The solution is symmetrical—if the server invokes on an object running inside the client, the invocation again flows through the gateway. The mechanisms described here do not require any explicit programming and can be turned ON or OFF via configuration. The disclosure also describes several policy and/or algorithm based schemes for assigning clients to gateways. Advantages of this invention include reduced interference, improved communication bandwidth, fault tolerance, modularity, scalability, and more efficient and cost-effective base stations and mobile stations.
Legal claims defining the scope of protection, as filed with the USPTO.
1. An apparatus for concentrating connections in distributed object based computer networks, comprising: at least one client running an object request broker runtime and configured to send all object references to any server over a network through one initial gateway as wrapped object references; said gateway running an object request broker runtime, and configured to communicate with said at least one client; said gateway configured to receive said wrapped object reference from said client and to unwrap said wrapped object reference to generate a datum and a server address; said gateway routing said datum to said server address; at least one server coupled to said gateway and configured to communicate with said gateway, and in at least one instance to receive said datum and provide the requested response to said gateway making the request and having said response delivered to said at least one client via said gateway.
2. The apparatus of claim 1 wherein said gateway routes said wrapped object reference to said server via at least one other gateway.
3. The apparatus of claim 1 , wherein each of said servers also runs an object request broker runtime and may access objects from said client via said gateway on behalf of said at least one server.
4. The apparatus of claim 1 , wherein the apparatus provides support for both static and dynamic assignment of gateway objects to clients based on different algorithms.
5. The apparatus of claim 1 , wherein the apparatus provides support for both static and dynamic assignment of gateway objects to clients based on different policies.
6. The apparatus of claim 1 , wherein the apparatus includes support for client, gateway and server authentication over public key based connection level authentication protocols.
7. An method for concentrating connections in distributed object based computer networks, comprising the steps of: running an object request broker runtime on at least one client and configuring said client to send all object references to any server over a network through one initial gateway as wrapped object references; running an object request broker runtime on a gateway, and configuring said gateway to communicate with said at least one client; configuring said gateway to receive said wrapped object reference from said client and to unwrap said wrapped object reference to generate a datum and a server address; routing said datum from said gateway to said server address; configuring at least one server coupled to said gateway to communicate with said gateway, and in at least one instance to receive said datum and provide the requested response to said gateway making the request and having said response delivered to said at least one client via said gateway.
8. The method of claim 7 wherein said gateway routes said wrapped object reference to said server via at least one other gateway.
9. The method of claim 7 wherein each of said at least one servers also runs an object request broker runtime and may access objects from said client via said gateway on behalf of said at least one server.
10. The method of claim 7 wherein the apparatus provides support for both static and dynamic assignment of gateway objects to clients based on different algorithms.
11. The method of claim 7 wherein the apparatus provides support for both static and dynamic assignment of gateway objects to clients based on different policies.
12. The method of claim 7 wherein the apparatus includes support for client, gateway and server authentication over public key based connection level authentication protocols.
13. A computer program product comprising: a computer usable medium having computer readable program code embodied therein for concentrating connections in a distributed object based computer network, said computer program product comprising computer readable program code configured to cause a computer to run an object request broker runtime on at least one client and configure said client to send all object references to any server over a network through one initial gateway as wrapped object references; run an object request broker runtime on a gateway, and configure said gateway to communicate with said at least one client; configure said gateway to receive said wrapped object reference from said client and unwrap said wrapped object reference to generate a datum and a server address; route said datum from said gateway to said server address; configure at least one server coupled to said gateway to communicate with said gateway, and in at least one instance to receive said datum and provide the requested response to said gateway making the request and having said response delivered to said at least one client via said gateway.
14. The computer program product of claim 13 wherein said gateway routes said wrapped object reference to said server via at least one other gateway.
15. The computer program product of claim 13 wherein each of the said at least one servers also runs an object request broker runtime and may access objects from said client via said gateway on behalf of said at least one server.
16. The computer program product of claim 13 wherein the apparatus provides support for both static and dynamic assignment of gateway objects to clients based on different algorithms.
17. The computer program product of claim 13 wherein the apparatus provides support for both static and dynamic assignment of gateway objects to clients based on different policies.
18. The computer program product of claim 13 wherein the apparatus includes support for client, gateway and server authentication over public key based connection level authentication protocols.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 15, 1999
March 12, 2002
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.