Method and system for distributing applications
First Claim
Patent Images
1. A method, comprising:
- replacing a child application with a local proxy application at a local node, the child application being launched from a parent distributed application, the child application communicating with the parent distributed application via the local proxy, the child application intended to be executed within the local node;
transmitting from the local proxy, a remote proxy execution request to a distributed resource management system (DRMS) to distribute the child application to be executed by the DRMS at the remote node, the DRMS being located at a remote node communicatively coupled to the local node over a network;
the DRMS executing at least a portion of tasks of the child application as a remote child application via a remote proxy at the remote node, the remote proxy interfacing the local proxy and the DRMS at the remote node; and
maintaining a communication channel between the remote child application and the parent distributed application via the local proxy and the remote proxy directly coupled with each other, the remote child application communicating transparently with the parent distributed application through the communication channel established by the local and remote proxies, as if the child application is spawned from the parent distributed application and executed within the local node, and the maintaining the communication channel includingreceiving a message by the local proxy at the local node from the parent distributed application destined to the child application,the local proxy redirecting the message to a remote proxy at the remote node through the communication channel over the network without knowledge of the parent distributed application, andthe remote proxy transmitting the message to the remote child application without knowledge of the parent distributed application.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for distributing applications are described herein. In one aspect of the invention, an exemplary method includes receiving an original request for accessing a distributed resource management system (DRMS) through an application distributor application programming interface (API), the application distributor API being independent of the DRMS, selecting the DRMS as requested, translating the original request to be compatible with the selected DRMS, and transmitting translated request to the selected DRMS. Other methods and systems are also described.
-
Citations
17 Claims
-
1. A method, comprising:
-
replacing a child application with a local proxy application at a local node, the child application being launched from a parent distributed application, the child application communicating with the parent distributed application via the local proxy, the child application intended to be executed within the local node; transmitting from the local proxy, a remote proxy execution request to a distributed resource management system (DRMS) to distribute the child application to be executed by the DRMS at the remote node, the DRMS being located at a remote node communicatively coupled to the local node over a network; the DRMS executing at least a portion of tasks of the child application as a remote child application via a remote proxy at the remote node, the remote proxy interfacing the local proxy and the DRMS at the remote node; and maintaining a communication channel between the remote child application and the parent distributed application via the local proxy and the remote proxy directly coupled with each other, the remote child application communicating transparently with the parent distributed application through the communication channel established by the local and remote proxies, as if the child application is spawned from the parent distributed application and executed within the local node, and the maintaining the communication channel including receiving a message by the local proxy at the local node from the parent distributed application destined to the child application, the local proxy redirecting the message to a remote proxy at the remote node through the communication channel over the network without knowledge of the parent distributed application, and the remote proxy transmitting the message to the remote child application without knowledge of the parent distributed application. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a child application launched from a parent distributed application, the child application communicating with the parent distributed application; a local proxy being launched from the parent distributed application at a local node, the child application intended to be executed within the local node, the local proxy communicating with the parent distributed application, and submitting a request to a DRMS to execute remote proxy on a remote node on behalf of the child application to distribute the child application to be executed by the DRMS at the remote node; a remote proxy located at the remote node to execute at least a portion of tasks of the child application as a remote child application at the remote node, remote proxy interfacing the local proxy and the DRMS at the remote node; and a communication channel transparently established between the remote child application at the remote node and the parent distributed application at the local node, the communication channel being maintained by the local and remote proxies directly coupled with each other over a network, including receiving a message by the local proxy at the local node from the parent distributed application destined to the child application, the local proxy redirecting the message to a remote proxy at the remote node through the communication channel over the network without knowledge of the parent distributed application, and the remote proxy transmitting the message to the remote child application without knowledge of the parent distributed application. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A machine readable medium having stored thereon executable code which causes a machine to perform a method, the method comprising:
-
replacing a child application with a local proxy application at a local node, the child application being launched from a parent distributed application, the child application communicating with the parent distributed application via the local proxy, the child application intended to be executed within the local node; transmitting from the local proxy, a remote proxy execution request to a distributed resource management system (DRMS) to distribute the child application to be executed by the DRMS at the remote node, the DRMS being located at a remote node communicatively coupled to the local node over a network; the DRMS executing at least a portion of tasks of the child application as a remote child application via a remote proxy at the remote node, the remote proxy interfacing the local proxy and the DRMS at the remote node; and maintaining a communication channel between the remote child application and the parent distributed application via the local proxy and the remote proxy directly coupled with each other, the remote child application communicating transparently with the parent distributed application through the communication channel established by the local and remote proxies, as if the child application is spawned from the parent distributed application and executed within the local node, and the maintaining the communication channel including receiving a message by the local proxy at the local node from the parent distributed application destined to the child application, the local proxy redirecting the message to a remote proxy at the remote node through the communication channel over the network without knowledge of the parent distributed application, and the remote proxy transmitting the message to the remote child application without knowledge of the parent distributed application. - View Dependent Claims (14, 15, 16, 17)
-
Specification