Messaging system using pairs of message gates in a distributed computing environment
First Claim
1. A distributed computing system, comprising:
- a client device comprising a client message endpoint;
a service device comprising a service message endpoint;
wherein said client message endpoint is configured to send request messages in a data representation language to said service message endpoint for said client device to access said service device, wherein said client message endpoint is bound only to a single destination address for said service message endpoint so that said client message endpoint only sends messages to said service message endpoint;
wherein said service message endpoint is configured to receive messages in a data representation language from said client message endpoint and authenticate that the received messages are from said client message endpoint;
wherein said service message endpoint is further configured to send response messages in said data representation language to said client message endpoint, wherein said service message endpoint is bound only to a single destination address for said client message endpoint so that said service message endpoint only sends messages to said client message endpoint; and
wherein said client message endpoint is configured to receive messages in said data representation language from said service message endpoint and authenticate that the received messages are from said service message endpoint.
3 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of message gate pairs are described. A message gate pair may provide a mechanism for communicating requests from clients to services and response from services to clients. A message gate pair may be used to create a secure atomic bi-directional message channel for request-response message passing. The distributed computing environment may employ a message transport in which a message gate exists on both the client and the service. The two gates may work together to provide a secure and reliable message channel. Client and service gates may perform the actual sending and receiving of the messages from the client to the service using a protocol specified in a service advertisement. The message gates may provide a level of abstraction between a client and a service. A client may reference a service through a message gate instead of referencing the service directly. Messages gates may allow clients and services to exchange messages in a secure and reliable fashion over any suitable message transport (e.g. HTTP). For a client, a message gate may represent the authority to use some or all of a service'"'"'s capabilities. Each capability may be expressed in terms of a message that may be sent to the service. Each such message may be sent through a client message gate that may verify the correctness of the message. The message may be received by a service message gate that may authenticate the message and verify its correctness.
216 Citations
43 Claims
-
1. A distributed computing system, comprising:
-
a client device comprising a client message endpoint; a service device comprising a service message endpoint; wherein said client message endpoint is configured to send request messages in a data representation language to said service message endpoint for said client device to access said service device, wherein said client message endpoint is bound only to a single destination address for said service message endpoint so that said client message endpoint only sends messages to said service message endpoint; wherein said service message endpoint is configured to receive messages in a data representation language from said client message endpoint and authenticate that the received messages are from said client message endpoint; wherein said service message endpoint is further configured to send response messages in said data representation language to said client message endpoint, wherein said service message endpoint is bound only to a single destination address for said client message endpoint so that said service message endpoint only sends messages to said client message endpoint; and wherein said client message endpoint is configured to receive messages in said data representation language from said service message endpoint and authenticate that the received messages are from said service message endpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method for communicating in a distributed computing environment, comprising:
-
generating a client message gate unit for sending messages from a client process to a service process; generating a service message gate unit for sending messages from a service process to a client process; binding said client message gate unit only to an address for said service message gate unit and said service message gate unit only to an address for said client message gate unit so that said client message gate unit and said service message gate unit provide for a bi-directional communication channel between said client process and said service process; and sending messages in a data representation language between said client message gate unit and said service message gate unit according to a data representation language schema for accessing a service through said service process. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A tangible computer-accessible medium comprising program instructions, wherein the program instructions are computer-executable to implement:
-
generating a client message gate unit for sending messages from a client process to a service process; generating a service message gate unit for sending messages from a service process to a client process; binding said client message gate unit only to an address for said service message gate unit and said service message gate unit only to an address for said client message gate unit so that said client message gate unit and said service message gate unit provide for a bi-directional communication channel between said client process and said service process; and sending messages in a data representation language between said client message gate unit and said service message gate unit according to a data representation language schema for accessing a service through said service process. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification