System and method for accessing data objects via remote references
First Claim
Patent Images
1. A method comprising:
- receiving, by a first machine, from an application executing on a second machine, a request for creating a data object and a remote reference to the data object;
in response to the request, creating, by the first machine, the data object;
generating a ticket that references the data object;
creating, by the first machine, a proxy data object based on the ticket, wherein the proxy data object forwards calls received by the proxy data object to the data object using the ticket;
creating, by the first machine, a remote reference comprising a wrapper corresponding to the proxy data object;
transmitting the remote reference from the first machine to the application executing on the second machine;
receiving, by the first machine, from the application, a request comprising the remote reference and one or more operations to be performed on the data object;
accessing, by the first machine, at least one element included in the data object using the remote reference;
performing, by the first machine, the one or more operations based on the at least one element to produce a result;
transmitting the result from the first machine to the application;
determining, that the proxy data object is deleted and that no other proxy data objects reference the data object; and
responsive to determining that the proxy data object is deleted and that no other proxy data objects reference the data object, de-allocating memory at the first machine that is allocated to the data object.
7 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention sets forth a method for providing access to a data object stored on an application server from within a client side machine. The method includes creating a remote reference that is linked to the data object, transmitting the remote reference to an application executing on a second machine, receiving an expression to evaluate that includes the remote reference, accessing at least one element included in the data object via the remote reference, evaluating the expression based on the at least one element to produce a result, and transmitting the result to the application.
169 Citations
19 Claims
-
1. A method comprising:
-
receiving, by a first machine, from an application executing on a second machine, a request for creating a data object and a remote reference to the data object; in response to the request, creating, by the first machine, the data object; generating a ticket that references the data object; creating, by the first machine, a proxy data object based on the ticket, wherein the proxy data object forwards calls received by the proxy data object to the data object using the ticket; creating, by the first machine, a remote reference comprising a wrapper corresponding to the proxy data object; transmitting the remote reference from the first machine to the application executing on the second machine; receiving, by the first machine, from the application, a request comprising the remote reference and one or more operations to be performed on the data object; accessing, by the first machine, at least one element included in the data object using the remote reference; performing, by the first machine, the one or more operations based on the at least one element to produce a result; transmitting the result from the first machine to the application; determining, that the proxy data object is deleted and that no other proxy data objects reference the data object; and responsive to determining that the proxy data object is deleted and that no other proxy data objects reference the data object, de-allocating memory at the first machine that is allocated to the data object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. One or more non-transitory computer readable media storing instructions that, when executed by a processor of a first machine, cause the processor to perform:
-
receiving, by a first machine, from an application executing on a second machine, a request for creating a data object and a remote reference to the data object; in response to the request, creating, by the first machine, the data object; generating a ticket that references the data object; creating, by the first machine, a proxy data object based on the ticket, wherein the proxy data object forwards calls received by the proxy data object to the data object using the ticket; creating, by the first machine, a remote reference comprising a wrapper corresponding to the proxy data object; transmitting the remote reference from the first machine to the application executing on the second machine; receiving, by the first machine, from the application, a request comprising the remote reference and one or more operations to be performed on the data object; accessing, by the first machine, at least one element included in the data object using the remote reference; performing, by the first machine, the one or more operations based on the at least one element to produce a result; transmitting the result from the first machine to the application; determining, that the proxy data object is deleted and that no other proxy data objects reference the data object; and responsive to determining that the proxy data object is deleted and that no other proxy data objects reference the data object, de-allocating memory at the first machine that is allocated to the data object. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system comprising:
-
a memory; and a processor configured to perform; receiving, by a first machine, from an application executing on a second machine, a request for creating a data object and a remote reference to the data object; in response to the request, creating, by the first machine, the data object; generating a ticket that references the data object; creating, by the first machine, a proxy data object based on the ticket, wherein the proxy data object forwards calls received by the proxy data object to the data object using the ticket; creating, by the first machine, a remote reference comprising a wrapper corresponding to the proxy data object; transmitting the remote reference from the first machine to the application executing on the second machine; receiving, by the first machine, from the application, a request comprising the remote reference and one or more operations to be performed on the data object; accessing, by the first machine, at least one element included in the data object using the remote reference; performing, by the first machine, the one or more operations based on the at least one element to produce a result; transmitting the result from the first machine to the application; determining, that the proxy data object is deleted and that no other proxy data objects reference the data object; and responsive to determining that the proxy data object is deleted and that no other proxy data objects reference the data object, de-allocating memory at the first machine that is allocated to the data object.
-
Specification