Event message endpoints in a distributed computing environment
First Claim
1. A method for handling events in a distributed computing system including a plurality of devices connected by a network, said method comprising:
- obtaining, from a remote location, a markup language schema on a client platform,wherein said markup language schema defines a message interface of a remote service for a plurality of events generated by the remote service and indicates the plurality of events to be published by the remote service;
obtaining an address for said remote service within the distributed computing system;
automatically constructing, by computer-executable message endpoint construction code on the client platform, an event message endpoint on the client platform according to the markup language schema and the obtained address for the remote service,wherein said automatically constructing is performed within a runtime system of the client platform, andwherein the event message endpoint implements an API to send and receive event messages to and from the service;
receiving, by the event message endpoint on the client platform in the distributed computing system, indications from one or more client processes registering interest in receiving one or more of the plurality of events generated by the remote service in the distributed computing system;
the event message endpoint automatically subscribing to the one or more events with the remote service in response to said indications registering interest in the one or more events received from the one or more client processes such that the event message endpoint becomes subscribed to the one or more events;
receiving, by the event message endpoint over a network, a message in a markup language sent to the client platform in the distributed computing system from the remote service in the distributed computing system,wherein the message is received at the event message endpoint from the remote service over the network in the distributed computing system, andwherein the message includes a markup language representation of one of the one or more events generated by the remote service to which the event message endpoint is subscribed; and
sending, from the event message endpoint, the markup language representation of the event to at least one of the one or more client processes registered with the event message endpoint to receive the event,wherein said markup language representation is in a data representation format which is independent of said client platform.
3 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of event message endpoints in a distributed computing environment are described. A set of event messages that may be generated by a service in the distributed computing environment may be described in a data representation language event message schema for the service. For each event message in the schema, the endpoint may subscribe as a consumer of the event. A service may send a message including a data representation language representation of the event to each event message endpoint subscribed to the event. The event message endpoint may extract the representation of the event from the message and distribute it to clients with registered interest in the event type. The event message endpoint may type check the event message and/or the representation of the event against the message schema. Event messages endpoints may also authenticate the sender of the message and verify the integrity of message.
265 Citations
43 Claims
-
1. A method for handling events in a distributed computing system including a plurality of devices connected by a network, said method comprising:
-
obtaining, from a remote location, a markup language schema on a client platform, wherein said markup language schema defines a message interface of a remote service for a plurality of events generated by the remote service and indicates the plurality of events to be published by the remote service; obtaining an address for said remote service within the distributed computing system; automatically constructing, by computer-executable message endpoint construction code on the client platform, an event message endpoint on the client platform according to the markup language schema and the obtained address for the remote service, wherein said automatically constructing is performed within a runtime system of the client platform, and wherein the event message endpoint implements an API to send and receive event messages to and from the service; receiving, by the event message endpoint on the client platform in the distributed computing system, indications from one or more client processes registering interest in receiving one or more of the plurality of events generated by the remote service in the distributed computing system; the event message endpoint automatically subscribing to the one or more events with the remote service in response to said indications registering interest in the one or more events received from the one or more client processes such that the event message endpoint becomes subscribed to the one or more events; receiving, by the event message endpoint over a network, a message in a markup language sent to the client platform in the distributed computing system from the remote service in the distributed computing system, wherein the message is received at the event message endpoint from the remote service over the network in the distributed computing system, and wherein the message includes a markup language representation of one of the one or more events generated by the remote service to which the event message endpoint is subscribed; and sending, from the event message endpoint, the markup language representation of the event to at least one of the one or more client processes registered with the event message endpoint to receive the event, wherein said markup language representation is in a data representation format which is independent of said client platform. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A device, comprising:
-
a processor; and a memory coupled to said processor, wherein said memory comprises program instructions executable by said processor configured to; obtain, from a remote location, a markup language schema on a client platform, wherein said markup language schema defines a message interface of a remote service for a plurality of events generated by the remote service and indicates the plurality of events to be published by the remote service; obtain an address for said remote service within a distributed computing system; automatically construct, using computer-executable message endpoint construction code on the client platform, an event message gate unit on the client platform according to the markup language schema and the obtained address for the remote service, wherein the event message gate unit is configured to automatically construct the event message endpoint within a runtime system of the client platform, and wherein the event message endpoint implements an API to send and receive event messages to and from the service; receive indications from one or more client processes registering interest in receiving one or more of a plurality of events generated by the remote service in the distributed computing system; automatically subscribe to the one or more events with the remote service in response to said indications registering interest in the one or more events received from the one or more client processes such that the event message gate unit becomes subscribed to the one or more events; receive over a network a message in a markup language, wherein the message is received at the event message gate unit from the remote service in the distributed computing system, and wherein the message includes a markup language representation of one of the one or more events generated by the service to which the event message gate unit is subscribed; and send the markup language representation of the event from the event message gate unit to at least one of the one or more client processes registered with the event message gate unit to receive the event, wherein said markup language representation is in a data representation format which is independent of said client platform. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A device, comprising:
-
a processor; a memory coupled to said processor, wherein said memory comprises program instructions executable by said processor to implement a remote service process configured to; provide a markup language schema within a distributed computing system, wherein said markup language schema defines a message interface for a plurality of events generated by the remote service process and indicates the plurality of events to be published by the remote service; and provide an address for said remote service process within a distributed computing system generate an event; generate a message in a markup language, wherein the message includes a markup language representation of the event generated by the remote service process; and send the message over a network to one or more event message gate units in a distributed computing system that have each automatically subscribed to the event with the remote service process in response to one or more client processes registering interest in the event with the respective event message gate unit; wherein each of the one or more event message gate units is operable to distribute the markup language representation of the event sent in the message from the remote service process to the one or more client processes registered with the respective event message gate unit to receive the event from the remote service process, wherein to distribute the markup language representation of the event, each of the one or more event message gate units is operable to send the markup language representation of the event from the respective event message gate unit to the one or more client processes; wherein each of the one or more event message gate constructed, using computer-executable message endpoint construction code on the client platform according to the markup language schema and the provided address for the remote service process, wherein each of the event message gate units automatically constructed within a runtime system of the client platform, and wherein each of the event message gate units implements an API to send and receive event messages to and from the service; and wherein said markup language representation is in a data representation format which is independent of said client platform. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
-
32. A non-transitory computer readable storage medium comprising program instructions, wherein the program instructions are computer-executable to implement an event message gate unit on a client platform in a distributed computing system, wherein the program instructions are configured to:
-
obtain, from a remote location, a markup language schema on a client platform, wherein said markup language schema defines a message interface of a remote service for a plurality of events generated by the remote service and indicates the plurality of events to be published by the remote service; obtain an address for said remote service within a distributed computing system; automatically construct, using computer-executable message endpoint construction code on the client platform, an event message endpoint on the client platform according to the markup language schema and the obtained address for the remote service, wherein said automatically constructing is performed within a runtime system of the client platform, and wherein the event message endpoint implements an API to send and receive event messages to and from the service; receive indications from one or more client processes registering interest in receiving one or more of a plurality of events generated by the remote service in the distributed computing system; automatically subscribe to the one or more events with the remote service in response to said indications registering interest in the one or more events received from the one or more client processes such that the event message endpoint becomes subscribed to the one or more events; receive over a network a message in a markup language sent to the client platform in the distributed computing system from the service in the distributed computing system, wherein the message is received at the event message endpoint from the service over the network in the distributed computing system, and wherein the message includes a markup language representation of one of the one or more events generated by the service to which the event message endpoint is subscribed; and send the markup language representation of the event from the event message endpoint to at least one of the one or more client processes registered with the event message endpoint to receive the event, wherein said markup language representation is in a data representation format which is independent of said client platform. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification