System and method for accessing data objects via remote references

US9378526B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9378526-B2
Application numberUS-201213411291-A
CountryUS
Kind codeB2
Filing dateMar 2, 2012
Priority dateMar 2, 2012
Publication dateJun 28, 2016
Grant dateJun 28, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

I claim: 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, the remote reference further comprising at least one property of the data object, wherein the at least one property is accessible via the remote reference without accessing the data object via 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 to evaluate an expression that includes the remote reference; accessing, by the first machine, at least one element included in the data object via the remote reference; evaluating, by the first machine, the expression based on the at least one element to produce a result; transmitting the result from the first machine to the application: determining, after the proxy data object is garbage collected, that no other proxy data objects reference the data object; and responsive to determining that no other proxy data objects reference the data object, de-allocating a portion of memory allocated to the data object. 2. The method of claim 1 , wherein the proxy data object exposes a plurality of elements included in the data object, including the at least one element, to the application. 3. The method of claim 1 , wherein evaluating, by the first machine, the expression comprises transmitting a first call to the proxy data object for accessing the at least one element that is then forwarded to the data object to access the at least one element. 4. The method of claim 3 , wherein the expression is further evaluated based on a value that is retrieved from the data object when at least one element is accessed. 5. The method of claim 1 , wherein the at least one element comprises a property associated with the data object. 6. The method of claim 1 , wherein the at least one element comprises a method that is performed on one or more properties associated with the data object. 7. The method of claim 1 , wherein the wrapper further comprises at least one method of the data object, wherein the at least one method is accessible via the wrapper without accessing the data object via the proxy data object. 8. A non-transitory computer readable medium storing instructions that, when executed by a processor of a first machine, cause the processor to perform: receiving, 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 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 a remote reference comprising a wrapper corresponding to the proxy data object, the remote reference further comprising at least one property of the data object, wherein the at least one property is accessible via the remote reference without accessing the data object via the proxy data object; transmitting the remote reference to the application executing on a second machine; receiving, from the application, a request to evaluate an expression 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; transmitting the result to the application: determining, after the proxy data object is garbage collected, that no other proxy data objects reference the data object; and responsive to determining that no other proxy data objects reference the data object, de-allocating a portion of memory allocated to the data object. 9. The computer readable medium of claim 8 , wherein the proxy data object exposes a plurality of elements included in the data object, including the at least one element, to the application. 10. The computer readable medium of claim 8 , wherein evaluating, by the first machine, the expression comprises transmitting a first call to the proxy data object for accessing the at least one element that is then forwarded to the data object to access the at least one element. 11. The computer readable medium of claim 10 , wherein the expression is further evaluated based on a value that is retrieved from the data object when at least one element is accessed. 12. The computer readable medium of claim 8 , wherein the at least one element comprises a property associated with the data object. 13. The computer readable medium of claim 8 , wherein the at least one element comprises a method that is performed on one or more properties associated with the data object. 14. A computer system, comprising: a memory; and a processor configured to: receive, 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, create the data object, generate a ticket that references the data object, create 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, create a remote reference comprising a wrapper corresponding to the proxy data object, the remote reference further comprising at least one property of the data object, wherein the at least one property is accessible via the remote reference without accessing the data object via the proxy data object, transmit the remote reference to the application executing on the second machine, receive, from the application, a request to evaluate an expression that includes the remote reference, access at least one element included in the data object via the remote reference, evaluate the expression based on the at least one element to produce a result, transmit the result to the application, determine, after the proxy data object is garbage collected, that no other proxy data objects reference the data object, and responsive to determining that no other proxy data objects reference the data object, de-allocate a portion of memory allocated to the data object. 15. The computer readable medium of claim 8 , wherein the wrapper further comprises at least one method of the data object, wherein the at least one method is accessible via the wrapper without accessing the data object via the proxy data object.

Assignees

Inventors

Classifications

  • G06Q40/04Primary

    Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange · CPC title

  • Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70) · CPC title

  • Physics · mapped topic

  • between a Database Management System and a front-end application · CPC title

  • Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9378526B2 cover?
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 refer…
Who is the assignee on this patent?
Sampson Zachary Lewis, Palantir Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G06Q40/04. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 28 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).