Partitioned application environment

US9465677B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9465677-B2
Application numberUS-201615087293-A
CountryUS
Kind codeB2
Filing dateMar 31, 2016
Priority dateJun 20, 2012
Publication dateOct 11, 2016
Grant dateOct 11, 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.

A partitioned application environment is disclosed. In various embodiments, a request associated with an application environment in which an application is running is received from the application. A determination is made to fulfill the request at least in part via a call to a node at which application code associated with the application is running in an application environment partition provided at the node. A call associated with the request is sent to the node, based at least in part on the determination.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of providing an application, comprising: receiving from a first application of a device a request associated with a first application environment partition in which the first application is running; determining, based at least in part on one or more considerations, whether to fulfill the request locally at the first application environment; in the event it is determined not to fulfill the request locally at the first application environment, determining whether to fulfill the request from a cache of the device, wherein the cache of the devices completes the request using one or more resources available in the cache; in the event it is determined not to fulfill the request from the cache of the device, determining whether to fulfill the request at least in part via a call to a node at which a second application associated with a second application environment partition is running at the node, wherein the first application and the second application cumulatively function to provide at least in part a single application, wherein the request associated with the first application environment partition comprises a call to an Application Programming Interface (API) of an application environment of the single application for which the first application environment partition and the second application environment partitions are partitions; and in the event it is determined to fulfill the request at least in part at the node, sending to the node, a call associated with the request. 2. The method of claim 1 , wherein the call to the node comprises a remote procedure call (RPC). 3. The method of claim 1 , wherein the call to the node comprises an inter-process communication (IPC). 4. The method of claim 1 , wherein the determination of whether to fulfill the request via a call to the node is made at least in part by an entity configured to monitor calls by the first application and for each of at least a subset of the calls to determine whether the call is to be fulfilled locally or via a call to the node. 5. The method of claim 1 , further comprising: receiving a second request associated with the first application environment partition in which the first application is running; and determining to fulfill the second request locally. 6. The method of claim 5 , wherein fulfilling the second request locally includes invoking a user interface library or other local user interface resource. 7. The method of claim 5 , wherein fulfilling the second request locally includes translating the second request into a form associated with an operating system of a platform on which the application environment is being provided. 8. The method of claim 1 , wherein the determination to fulfill the request via the call to the node is made based at least in part on a static partitioning of responsibility between the first application environment partition and the second application environment partition at the node. 9. The method of claim 1 , wherein the determination to fulfill the request via the call to the node is made dynamically at time the request is received. 10. The method of claim 1 , wherein the determination is made dynamically based at least in part on one or more of a resource provided locally, a resource available at the node, a current local workload, and a current workload at the node. 11. The method of claim 1 , wherein the node comprises one of a plurality of nodes each of which is configured to run application code associated with the first application in an application environment partition provided at that node. 12. The method of claim 1 , further comprising receiving an indication to launch the first application. 13. The method of claim 12 , further comprising sending in response to the indication a request to assign a participant to participate in providing the first application. 14. The method of claim 13 , further comprising receiving an indication that the node has been assigned to participate in providing the first application. 15. The method of claim 14 , further comprising sending to the node a request to launch the second application in an application environment partition provided at the node. 16. The method of claim 1 , wherein determining to fulfill the request at least in part via a call to a node at which a second application associated with a second application environment partition is running at the node includes sending to the node a request to perform with respect to a first instance of an object stored at or otherwise associated with the node a modification performed by the second application with respect to a second instance of the object stored at a second storage location. 17. The method of claim 1 , wherein access to and use of the first application is provided to a user of a client device as a service; and the application environment in which the second application is running is provided at the node and one or more other nodes other than the client device. 18. The method of claim 1 , wherein the determination to fulfill the request at least in part via a call to the node at which a second application associated with a second application environment partition is running at the node is based at least in part on a determination that a result or other resource associated with the request is not available in a local cache. 19. A system, comprising: a communication interface; and a processor coupled to the communication interface and configured to: receive from a first application of a device a request associated with a first application environment partition in which the first application is running; determine, based at least in part on one or more considerations, whether to fulfill the request locally at the first application environment; in the event it is determined not to fulfill the request locally at the first application environment, determine whether to fulfill the request from a cache of the device, wherein the cache of the device completes the request using one or more resources available in the cache; in the event it is determined not to fulfill the request from the cache of the device, determine whether to fulfill the request at least in part via a call to a node at which a second application associated with a second application environment partition is running at the node, wherein the first application and the second application cumulatively function to provide at least in part a single application, wherein the request associated with the first application environment partition comprises a call to an Application Programming Interface (API) of an application environment of the single application for which the first application environment partition and the second application environment partitions are partitions; and in the event it is determined to fulfill the request at least in part at the node, send to the node, a call associated with the request. 20. A computer program product embodied in a tangible, non-transitory computer readable storage medium, and comprising computer instructions for: receiving from a first application a request associated with a first application environment partition in which the first application is running; determining, based at least in part on one or more considerations, whether to fulfill the request locally at the first application environment; in the event it is determined not to fulfill the request locally at the first application environment, determining whether to fulfill the request from a cache of the device, wherein

Assignees

Inventors

Classifications

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

  • G06F9/541Primary

    via adapters, e.g. between incompatible applications · 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 US9465677B2 cover?
A partitioned application environment is disclosed. In various embodiments, a request associated with an application environment in which an application is running is received from the application. A determination is made to fulfill the request at least in part via a call to a node at which application code associated with the application is running in an application environment partition provi…
Who is the assignee on this patent?
Mobile Iron Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/547. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 11 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).