Remote function invocation with messaging in a distributed computing environment
First Claim
1. A computer-implemented method for remotely invoking functions in a distributed computing environment, comprising:
- a client generating a message, wherein the message includes information representing a computer programming language method call from a process, wherein the process is executing within a virtual machine, wherein the virtual machine is executing within a client device in the distributed computing environment;
the client sending the message to a service, wherein the service is configured to perform functions on behalf of the client; and
the service performing a function on behalf of the client in accordance with the information representing the computer programming language method call included in the message, wherein said performing generates results data;
storing the generated results data to a space service in the distributed computing environment, wherein said space service is separate from said client, and wherein said space service is accessible as a service by multiple entities other than said client in the distributed computing environment;
providing an advertisement for the stored results data to the client, wherein the advertisement comprises information to enable access by the client to the stored results data; and
the client accessing the stored results data from the space service in accordance with the information in the provided advertisement.
3 Assignments
0 Petitions
Accused Products
Abstract
An interface between clients and services in a distributed computing environment is described. Method gates may provide an interface to remotely invoke functions of a service. A method gate may be generated from an advertisement that may include definitions for one or more messages for remotely invoking functions of the service. A client may generate messages containing representations of method calls. The service may invoke functions that correspond to the set of messages. A method gate on the service may unmarshal the message and invoke the function. The client may receive the results of the function directly. Alternatively, the results may be stored, an advertisement to the results may be provided, and a gate may be generated to access the results. Message gates may perform the sending and receiving of the messages between the client and service. In one embodiment, functions of the service may be computer programming language (e.g. Java) methods. In one embodiment, a message including a representation of a method call may be generated when no actual method call was made. In one embodiment, a method call may be transformed into messages that may be sent to the service; the service may not know that the messages were generated from a method call. In one embodiment, a service may transform messages requesting functions into method calls; the client may not know that the service is invoking methods to perform the functions.
-
Citations
41 Claims
-
1. A computer-implemented method for remotely invoking functions in a distributed computing environment, comprising:
-
a client generating a message, wherein the message includes information representing a computer programming language method call from a process, wherein the process is executing within a virtual machine, wherein the virtual machine is executing within a client device in the distributed computing environment; the client sending the message to a service, wherein the service is configured to perform functions on behalf of the client; and the service performing a function on behalf of the client in accordance with the information representing the computer programming language method call included in the message, wherein said performing generates results data; storing the generated results data to a space service in the distributed computing environment, wherein said space service is separate from said client, and wherein said space service is accessible as a service by multiple entities other than said client in the distributed computing environment; providing an advertisement for the stored results data to the client, wherein the advertisement comprises information to enable access by the client to the stored results data; and the client accessing the stored results data from the space service in accordance with the information in the provided advertisement. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A distributed computing system, comprising:
-
a service device configured to execute functions on behalf of clients of the service device; a client device configured to; generate a message, wherein the message includes information representing a computer programming language method call from a process, wherein the client device further comprises a virtual machine executable within the client device, wherein the process is executing within the virtual machine; and send the message to the service device; a space service device configured to receive and store results data from service devices in the distributed computing system, wherein the space service device is a separate physical device than the client device; wherein the service device is configured to; receive the message sent by the client device; and perform a function on behalf of the client device in accordance with the information representing the computer programming language method call included in the message, wherein performing the function generates results data; store the results data to the space service device; and provide an advertisement for the stored results data to the client device, wherein the advertisement comprises information to enable access by the client device to the stored results data. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A device, comprising:
-
a client component; and a method gate, wherein the method gate is generated according to a data representation language schema defining one or more method interfaces for a service in a distributed computing environment; wherein the client component is configured to; generate a computer programming language method call; wherein the method gate is configured to; access the computer programming language method call generated by the client component; generate a message, wherein the message includes information representing the computer programming language method call, and wherein the message is generated as defined by the data representation language schema; and send the message to the service in the distributed computing environment; wherein the service is operable to; perform a function on behalf of the client component in accordance with the information representing the computer programming language method call included in the message; and store results data generated by the function to a space service in the distributed computing environment; and wherein the client component is further configured to; access an advertisement for the results data, wherein the advertisement comprises information to enable access by the client component to the results data; and access the results data from the space service in accordance with the information in the provided advertisement for the stored results data. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A tangible, computer readable storage medium comprising program instructions, wherein the program instructions are computer-executable to implement:
-
a client generating a message, wherein the message includes information representing a computer programming language method call; the client sending the message to a service, wherein the service is configured to perform functions on behalf of the client; and wherein the service performs a function on behalf of the client in accordance with the information representing the computer programming language method call included in the message; wherein results data from said performing the function are stored to a space service; the client receiving an advertisement for the stored results data, wherein the advertisement comprises information to enable access by the client to the stored results data; and the client accessing the stored results data from the space service in accordance with the information in the provided advertisement, wherein, in the client accessing the stored results data, the program instructions are further computer-executable to implement; generating a client results message endpoint in accordance with the information in the provided advertisement, wherein the client results message endpoint is configured to send messages to the space service for the client; generating a results request message, wherein the results request message requests a portion of the results data to be provided to the client; the client results message endpoint sending the results request message to the space service; and the client results message endpoint receiving the requested portion of the results data from the space service in response to the results request message. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41)
-
Specification