High performance client-server communication system
First Claim
1. A method of communicating, the method comprising:
- maintaining a connection, via a network, between a first proxy on a first server and a second proxy on a second server;
while maintaining the connection;
a plurality of first processes on the first server communicating with a plurality of second processes on the second server via the connection by;
the plurality of first processes exchanging data with the first proxy via shared memory, wherein each of the plurality of first processes is assigned a unique region of the shared memory, and wherein each unique region of the shared memory has associated therewith a process virtual device driver and a proxy virtual device driver, and wherein each process virtual device driver is configured to cooperate with one of the proxy virtual device drivers to regulate data flow being inputted to and outputted from one of the unique regions of the shared memory; and
wherein the plurality of first processes exchanging the data with the first proxy includesa given process of the plurality of first processes reading from and writing to, under regulation of the process virtual device driver that is associated with the unique region assigned to the given process, the unique region assigned to the given process; and
the first proxy reading from and writing to, under regulation of the proxy virtual device driver that is associated with the unique region assigned to the given process, the unique region assigned to the given process;
the first proxy exchanging the data via the connection with the second proxy; and
the second proxy exchanging the data with the plurality of second processes.
9 Assignments
0 Petitions
Accused Products
Abstract
A communication system includes a client and a sever. The client has a first proxy, a first memory, and a plurality of first processes. The first memory includes a plurality of first slots, each first slot being assigned to one of the plurality of first processes and configured to store data to be transmitted or received by the assigned first process. The server has a second proxy, a second memory, and a plurality of second processes. The second memory includes a plurality of second slots being assigned to one of the plurality of second processes and configured to store data to be transmitted or received by the assigned second process. The first proxy and second proxy are configured to form a communication link with the other.
-
Citations
12 Claims
-
1. A method of communicating, the method comprising:
-
maintaining a connection, via a network, between a first proxy on a first server and a second proxy on a second server; while maintaining the connection; a plurality of first processes on the first server communicating with a plurality of second processes on the second server via the connection by; the plurality of first processes exchanging data with the first proxy via shared memory, wherein each of the plurality of first processes is assigned a unique region of the shared memory, and wherein each unique region of the shared memory has associated therewith a process virtual device driver and a proxy virtual device driver, and wherein each process virtual device driver is configured to cooperate with one of the proxy virtual device drivers to regulate data flow being inputted to and outputted from one of the unique regions of the shared memory; and wherein the plurality of first processes exchanging the data with the first proxy includes a given process of the plurality of first processes reading from and writing to, under regulation of the process virtual device driver that is associated with the unique region assigned to the given process, the unique region assigned to the given process; and the first proxy reading from and writing to, under regulation of the proxy virtual device driver that is associated with the unique region assigned to the given process, the unique region assigned to the given process; the first proxy exchanging the data via the connection with the second proxy; and the second proxy exchanging the data with the plurality of second processes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12)
-
-
11. A communication system, comprising:
-
a first server comprising; a plurality of first processes; a first proxy; and a first shared memory having a plurality of first slots to store first data to be exchanged between the first processes and the first proxy;
each first slot being assigned to one of the first processes;a plurality of process virtual device drivers, wherein each first slot of the shared memory has associated therewith one of the process virtual device drivers; a plurality of proxy virtual device drivers, wherein each first slot of the shared memory has associated therewith one of the proxy virtual device drivers; wherein each process virtual device driver is configured to cooperate with one of the proxy virtual device drivers to regulate data flow being inputted to and outputted from one of the first slots of the shared memory a second server comprising; a plurality of second processes; a second proxy; and a second shared memory having a plurality of second slots to store second data to be exchanged between the second processes and the second proxy;
each second slot being assigned to a particular one of the second processes;wherein the first proxy is configured to maintain a connection, via a network, with the second proxy; wherein the first proxy and the second proxy are configured to exchange the first data and the second data via the connection to allow the plurality of first processes to communicate with the plurality of second processes; and wherein the first proxy and the plurality of first processes exchange data by; a given process of the first processes reading from and writing to, under regulation of the process virtual device driver that is associated with the first slot assigned to the given process, the first slot assigned to the given process; and the first proxy reading from and writing to, under regulation of the proxy virtual device driver that is associated with the first slot assigned to the given process, the first slot assigned to the given process.
-
Specification