Method and apparatus for facilitating object communication across a network
First Claim
1. A computer implemented method for facilitating communication between objects across a network, comprising the acts of:
- receiving on a second side of a network a message batch from a first side of said network, said message batch comprising a plurality of messages from a first plurality of objects;
parsing said plurality of messages from said message batch; and
distributing said plurality of messages to a second plurality of objects, wherein each of said second plurality of objects provides an implementation for a common interface which is invoked to distribute said plurality of messages to said second plurality of objects.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a framework for enabling an object oriented paradigm to be implemented in a networked environment. The framework comprises a client dispatcher object for managing the network communications of objects on the client'"'"'s side, and a server dispatcher object for managing the network communications of objects on the server'"'"'s side. The dispatcher objects cooperate with each other to send messages from the associated objects across the network in batches. By collecting and sending messages in batches, the dispatchers minimize the number of network round trips that need to be incurred, thereby minimizing network traffic. The framework further comprises a proxy interface for enabling the dispatcher objects to communicate with their associated objects. The proxy interface sets forth a set of methods that each of the associated objects needs to implement in order to participate in the communication scheme of the present invention. By providing an implementation for the proxy interface, any object having any desired functionality will be able to take advantage of the framework of the present invention. This openness of the proxy interface makes it possible to take full advantage of the flexibility, extensibility, and robustness offered by object oriented technology. By providing the structure needed to control network traffic without placing any limitations upon the functionality of the objects, the framework of the present invention provides an effective mechanism for implementing an object oriented paradigm in a networked environment.
20 Citations
38 Claims
-
1. A computer implemented method for facilitating communication between objects across a network, comprising the acts of:
-
receiving on a second side of a network a message batch from a first side of said network, said message batch comprising a plurality of messages from a first plurality of objects;
parsing said plurality of messages from said message batch; and
distributing said plurality of messages to a second plurality of objects, wherein each of said second plurality of objects provides an implementation for a common interface which is invoked to distribute said plurality of messages to said second plurality of objects. - View Dependent Claims (2, 3, 4)
-
-
5. A computer implemented method for facilitating communication across a network, comprising the acts of:
-
receiving, on a first side of a network, a plurality of connection requests from a first plurality of objects, wherein each of said first plurality of objects is an independent object capable of independent operation and communication;
processing said connection requests at run time to register said first plurality of objects with a communication mechanism to enable said first plurality of objects to communicate across said network;
receiving, on said first side of said network, a plurality of messages from said first plurality of objects;
storing said plurality of messages; and
sending said plurality of messages as a message batch across said network to a second side of said network. - View Dependent Claims (6, 7, 8)
receiving on said second side of said network said message batch;
parsing said plurality of messages from said message batch; and
distributing said plurality of messages to a second plurality of objects on said second side of said network.
-
-
7. The method of claim 6, wherein the acts of receiving said message batch, parsing, and distributing are carried out by a dispatcher, and wherein each of said second plurality of objects provides an implementation for a common interface which is invoked by said dispatcher to distribute said plurality of messages to said second plurality of objects.
-
8. The method of claim 6, wherein the act of processing comprises the act of establishing, for each of said first plurality of objects, a peer relationship with one of said second plurality of objects, and wherein messages are exchanged between peer objects.
-
9. In a computer system comprising a first dispatcher on a first side of a network, and a second dispatcher on a second side of said network, a computer implemented method for facilitating communication between objects across said network, comprising the acts of:
-
receiving, by said first dispatcher, a first plurality of messages from a first plurality of objects, wherein each of said first plurality of objects is an independent object capable of independent operation and communication, and wherein each of said first plurality of objects provides an implementation for a first common interface;
storing, by said first dispatcher, said first plurality of messages;
sending, by said first dispatcher, said first plurality of messages as a first message batch across said network;
receiving, by said second dispatcher, said first message batch;
parsing, by said second dispatcher, said first plurality of messages from said first message batch; and
distributing, by said second dispatcher, said first plurality of messages to a second plurality of objects, wherein each of said second plurality of objects is an independent object capable of independent operation and communication, and wherein each of said second plurality of objects provides an implementation for a second common interface which is invoked by said second dispatcher to distribute said first plurality of messages to said second plurality of objects. - View Dependent Claims (10, 11, 12, 13, 14)
receiving, by said second dispatcher, a second plurality of messages from said second plurality of objects;
storing, by said second dispatcher, said second plurality of messages;
sending, by said second dispatcher, said second plurality of messages as a second message batch across said network;
receiving, by said first dispatcher, said second message batch;
parsing, by said first dispatcher, said second plurality of messages from said second message batch; and
distributing, by said first dispatcher, said second plurality of messages to said first plurality of objects, wherein said first dispatcher invokes said first common interface to distribute said second plurality of messages to said first plurality of objects.
-
-
11. The method of claim 10, wherein said first common interface and said second common interface are the same interface.
-
12. The method of claim 10, wherein the following acts are performed prior to receiving said first plurality of messages:
-
receiving, by said first dispatcher, a plurality of connection requests from said first plurality of objects; and
processing, by said first dispatcher, said connection requests at run time to register said first plurality of objects with said first dispatcher to enable said first plurality of objects to communicate across said network.
-
-
13. The method of claim 12, wherein the act of processing comprises the act of:
establishing, by said first dispatcher, in cooperation with said second dispatcher, for each of said first plurality of objects, a peer relationship with one of said second plurality of objects.
-
14. The method of claim 13, wherein messages are exchanged between objects having peer relationships.
-
15. An apparatus for facilitating communication between objects across a network, comprising:
-
a mechanism for receiving on a second side of a network a message batch from a first side of said network, said message batch comprising a plurality of messages from a first plurality of objects;
a mechanism for parsing said plurality of messages from said message batch; and
a mechanism for distributing said plurality of messages to a second plurality of objects, wherein each of said second plurality of objects provides an implementation for a common interface, and wherein said mechanism for distributing invokes said common interface to distribute said plurality of messages to said second plurality of objects. - View Dependent Claims (16)
-
-
17. An apparatus for facilitating communication across a network, comprising:
-
a mechanism for receiving, on a first side of a network, a plurality of connection requests from a first plurality of objects, wherein each of said first plurality of objects is an independent object capable of independent operation and communication;
a mechanism for processing said connection requests at run time to register said first plurality of objects to enable said first plurality of objects to communicate across said network;
a mechanism for receiving, on said first side of said network, a plurality of messages from said first plurality of objects;
a mechanism for storing said plurality of messages; and
a mechanism for sending said plurality of messages as a message batch across said network to a second side of said network. - View Dependent Claims (18, 19, 20)
a mechanism for receiving on said second side of said network said message batch;
a mechanism for parsing said plurality of messages from said message batch; and
a mechanism for distributing said plurality of messages to a second plurality of objects on said second side of said network.
-
-
19. The apparatus of claim 18, wherein each of said second plurality of objects provides an implementation for a common interface, and wherein said mechanism for distributing invokes said common interface to distribute said plurality of messages to said second plurality of objects.
-
20. The apparatus of claim 17, wherein said mechanism for processing comprises a mechanism for establishing, for each of said first plurality of objects, a peer relationship with one of said second plurality of objects, and wherein messages are exchanged between peer objects.
-
21. A computer system, comprising:
-
a first dispatcher on a first side of a network; and
a second dispatcher on a second side of said network;
wherein said first dispatcher receives a first plurality of messages from a first plurality of objects, wherein each of said first plurality of objects is an independent object capable of independent operation and communication, and wherein each of said first plurality of objects provides an implementation for a first common interface;
said first dispatcher stores said first plurality of messages;
said first dispatcher sends said first plurality of messages as a first message batch across said network;
said second dispatcher receives said first message batch;
said second dispatcher parses said first plurality of messages from said first message batch; and
said second dispatcher distributes said first plurality of messages to a second plurality of objects, wherein each of said second plurality of objects is an independent object capable of independent operation and communication, and wherein each of said second plurality of objects provides an implementation for a second common interface which is invoked by said second dispatcher to distribute said first plurality of messages to said second plurality of objects. - View Dependent Claims (22, 23, 24, 25, 26)
said second dispatcher receives a second plurality of messages from said second plurality of objects; said second dispatcher stores said second plurality of messages;
said second dispatcher sends said second plurality of messages as a second message batch across said network;
said first dispatcher receives said second message batch;
said first dispatcher parses said second plurality of messages from said second message batch; and
said first dispatcher distributes said second plurality of messages to said first plurality of objects, wherein said first dispatcher invokes said first common interface to distribute said second plurality of messages to said first plurality of objects.
-
-
23. The system of claim 21, wherein said first common interface and said second common interface are the same interface.
-
24. The system of claim 21, wherein prior to receiving said first plurality of messages:
-
said first dispatcher receives a plurality of connection requests from said first plurality of objects; and
said first dispatcher processes said connection requests at run time to register said first plurality of objects with said first dispatcher to enable said first plurality of objects to communicate across said network.
-
-
25. The system of claim 24, wherein said first dispatcher processes said connection requests by establishing, in cooperation with said second dispatcher, for each of said first plurality of objects, a peer relationship with one of said second plurality of objects.
-
26. The system of claim 25, wherein messages are exchanged between objects having peer relationships.
-
27. A computer readable medium having stored thereon a set of instructions, which, when executed by one or more processors, causes the one or more processors to facilitate communication between objects across a network, comprising:
-
instructions for causing one or more processors to receive on a second side of a network a message batch from a first side of said network, said message batch comprising a plurality of messages from a first plurality of objects;
instructions for causing one or more processors to parse said plurality of messages from said message batch; and
instructions for causing one or more processors to distribute said plurality of messages to a second plurality of objects, wherein each of said second plurality of objects provides an implementation for a common interface, and wherein said common interface is invoked to distribute said plurality of messages to said second plurality of objects. - View Dependent Claims (28)
-
-
29. A computer readable medium having stored thereon a set of instructions, which, when executed by one or more processors, causes the one or more processors to facilitate communication across a network, comprising:
-
instructions for causing one or more processors to receive, on a first side of a network, a plurality of connection requests from a first plurality of objects, wherein each of said first plurality of objects is an independent object capable of independent operation and communication;
instructions for causing one or more processors to process said connection requests at run time to register said first plurality of objects with a communication mechanism to enable said first plurality of objects to communicate across said network;
instructions for causing one or more processors to receive, on said first side of said network, a plurality of messages from said first plurality of objects;
instructions for causing one or more processors to store said plurality of messages; and
instructions for causing one or more processors to send said plurality of messages as a message batch across said network to a second side of said network. - View Dependent Claims (30, 31, 32)
instructions for causing one or more processors to receive on said second side of said network said message batch;
instructions for causing one or more processors to parse said plurality of messages from said message batch; and
instructions for causing one or more processors to distribute said plurality of messages to a second plurality of objects on said second side of said network.
-
-
31. The computer readable medium of claim 30, wherein each of said second plurality of objects provides an implementation for a common interface which is invoked to distribute said plurality of messages to said second plurality of objects.
-
32. The computer readable medium of claim 29, wherein said instructions for causing one or more processors to process said connection requests comprises:
instructions for causing one or more processors to establish, for each of said first plurality of objects, a peer relationship with one of said second plurality of objects, and wherein messages are exchanged between peer objects.
-
33. A computer readable medium having stored thereon a set of instructions, which, when executed by one or more processors, causes the one or more processors to facilitate communication across a network, comprising:
-
instructions for causing one or more processors to receive, on a first side of a network, a first plurality of messages from a first plurality of objects, wherein each of said first plurality of objects is an independent object capable of independent operation and communication, and wherein each of said first plurality of objects provides an implementation for a first common interface;
instructions for causing one or more processors to store said first plurality of messages;
instructions for causing one or more processors to send said first plurality of messages as a first message batch across said network;
instructions for causing one or more processors to receive, on a second side of said network, said first message batch;
instructions for causing one or more processors to parse said first plurality of messages from said first message batch; and
instructions for causing one or more processors to distribute said first plurality of messages to a second plurality of objects, wherein each of said second plurality of objects is an independent object capable of independent operation and communication, wherein each of said second plurality of objects provides an implementation for a second common interface, and wherein said common interface is invoked to distribute said first plurality of messages to said second plurality of objects. - View Dependent Claims (34, 35, 36, 37, 38)
instructions for causing one or more processors to receive on said second side of said network, a second plurality of messages from said second plurality of objects;
instructions for causing one or more processors to store said second plurality of messages;
instructions for causing one or more processors to send said second plurality of messages as a second message batch across said network;
instructions for causing one or more processors to receive on said first side of said network said second message batch;
instructions for causing one or more processors to parse said second plurality of messages from said second message batch; and
instructions for causing one or more processors to distribute said second plurality of messages to said first plurality of objects, wherein said first common interface is invoked to distribute said second plurality of messages to said first plurality of objects.
-
-
35. The computer readable medium of claim 34, wherein said first common interface and said second common interface are the same interface.
-
36. The computer readable medium of claim 34, further comprising:
-
instructions for causing one or more processors to receive on said first side of said network, prior to receiving said first plurality of messages, a plurality of connection requests from said first plurality of objects; and
instructions for causing one or more processors to process said connection requests at run time to register said first plurality of objects with said first dispatcher to enable said first plurality of objects to communicate across said network.
-
-
37. The computer readable medium of claim 36, wherein said instructions for causing one or more processors to process said connection requests comprises:
instructions for causing one or more processors to establish, for each of said first plurality of objects, a peer relationship with one of said second plurality of objects.
-
38. The computer readable medium of claim 37, wherein messages are exchanged between objects having peer relationships.
Specification