Integrated remote execution system for a heterogenous computer network environment
First Claim
1. An integrated system for providing resource management and distributed remote execution services in a heterogenous computer network environment having a plurality of resources loosely coupled to each other in the network environment, the resources including at least two or more computer processors executing different operating system programs, each different operating system program having a set of kernel programs unique to that operating system program and a unique file space, and any memory devices and subordinate programs operating together with the computer processors, at least some of the resources being available to perform remote execution services, the integrated system comprising:
- a plurality of interface means, each of the plurality of interface means operably integrated with a unique one of a plurality of requestors in the network environment without requiring the set of kernel programs of the operating system program associated with that requester to be modified and recompiled, each of the plurality of interface means for issuing both a resource query and a resource request for a remote execution service, the resource query including one or more query parameters specifying a set of resources that can satisfy the resource request, the resource request including information necessary to perform the remote execution service;
database means operably connected to the network environment for storing one or more items of information about the resources in the network environment, the items of information stored in the database means being available to the plurality of requestors in the network environment and including one or more items of dynamic information;
agent means operating on at least one of the computer processors for periodically collecting across more than one file space the one or more items of dynamic information about one or more computer processor and any other resources operating together with the computer processors that are available to perform remote execution services and providing the items of information to the database means;
resource query means operably associated with the database means for receiving a resource query for a remote execution service from any one of the plurality of interface means, analyzing the database means to determine which of the resources in the network environment match the query parameters and are available to satisfy the resource request, and returning to the interface means a list of resources which can be used to satisfy the resource request; and
a remote execution service means operating on each of the computer processors that is available to perform remote execution services without requiring the set of kernel programs of the operating system program associated with that requester to be modified and recompiled, each remote execution service means for receiving the resource request for the remote execution service from the interface means, performing the remote execution service and returning any results from the remote execution service to the interface means,such that one or more computer processors are chosen by the requestor as the resources to which to send the resource request in order to perform the remote execution services based upon the list of resources provided by the resource query means.
2 Assignments
0 Petitions
Accused Products
Abstract
An integrated remote execution system manages resources and provides for the distributed and remote execution of remote requests to those resources in a heterogenous computer network environment that has a plurality of resources loosely coupled to each other. The resources include at least two or more computer processors executing different operating system programs and any memory devices and subordinate programs operating together with the computer processors. Three major components are integrated into a single system by providing for a common remote execution interface that is incorporated into the requesting application program to provide a single programming interface for making remote requests to the system, a separate resource management component to provide information about the various resources in the network, and a remote service routine that can be executed on any of the computer processors selected perform the remote request. The remote execution interface can have the user to determine the selection of which resources to use, or it can automatically make the selection of which resources to use. The resource management component utilizes a hybrid model for managing resources in the network that includes a resource information database that is publish-based and a query module that is query-based. The remote service routine receives the remote requests from the remote execution interface which initiated the remote request and forks a separate remote execution control process for each remote request that actually initiates and performs the remote service in response to the remote request.
533 Citations
38 Claims
-
1. An integrated system for providing resource management and distributed remote execution services in a heterogenous computer network environment having a plurality of resources loosely coupled to each other in the network environment, the resources including at least two or more computer processors executing different operating system programs, each different operating system program having a set of kernel programs unique to that operating system program and a unique file space, and any memory devices and subordinate programs operating together with the computer processors, at least some of the resources being available to perform remote execution services, the integrated system comprising:
-
a plurality of interface means, each of the plurality of interface means operably integrated with a unique one of a plurality of requestors in the network environment without requiring the set of kernel programs of the operating system program associated with that requester to be modified and recompiled, each of the plurality of interface means for issuing both a resource query and a resource request for a remote execution service, the resource query including one or more query parameters specifying a set of resources that can satisfy the resource request, the resource request including information necessary to perform the remote execution service; database means operably connected to the network environment for storing one or more items of information about the resources in the network environment, the items of information stored in the database means being available to the plurality of requestors in the network environment and including one or more items of dynamic information; agent means operating on at least one of the computer processors for periodically collecting across more than one file space the one or more items of dynamic information about one or more computer processor and any other resources operating together with the computer processors that are available to perform remote execution services and providing the items of information to the database means; resource query means operably associated with the database means for receiving a resource query for a remote execution service from any one of the plurality of interface means, analyzing the database means to determine which of the resources in the network environment match the query parameters and are available to satisfy the resource request, and returning to the interface means a list of resources which can be used to satisfy the resource request; and a remote execution service means operating on each of the computer processors that is available to perform remote execution services without requiring the set of kernel programs of the operating system program associated with that requester to be modified and recompiled, each remote execution service means for receiving the resource request for the remote execution service from the interface means, performing the remote execution service and returning any results from the remote execution service to the interface means, such that one or more computer processors are chosen by the requestor as the resources to which to send the resource request in order to perform the remote execution services based upon the list of resources provided by the resource query means. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 36)
-
-
11. A system for managing requests for remote execution services in a heterogenous computer network environment having a plurality of resources loosely coupled to each other in the network environment, the resources including at least two or more computer processors executing different operating system programs, each different operating system program having a set of kernel programs unique to that operating system program and a unique file space, and any memory devices and subordinate programs operating together with the computer processors, at least some of the resources being available to perform remote execution services, the system comprising:
-
a plurality of interface means, each of the plurality of interface means operably integrated with a unique one of a plurality of requestors in the network environment without requiring the set of kernel programs of the operating system program associated with that requester to be modified and recompiled, each of the plurality of interface means for issuing a resource query for a remote execution service, the resource query including one or more query parameters specifying a set of resources that can satisfy the resource request, the query parameters including; a set of resource requirements for the resource request; and a scheduling policy for determining how the list of resources should be ordered; database means operably connected to the network environment for storing one or more items of information about the resources in the network environment, the items of information stored in the database means being available to the plurality of requestors in the network environment; agent means operating on at least one of the computer processors for periodically collecting across more than one file space the one or more items of dynamic information about one or more computer processor and any other resources operating together with the computer processors that are available to perform remote execution services and providing the items of information to the database means; and resource query means operably associated with the database means for receiving a resource query for a remote execution service from any one of the plurality of interface means, analyzing the database means to determine which of the resources in the network environment match the query parameters and are available to satisfy the resource request, and returning to the interface means a list of resources which can be used to satisfy the resource request in an order specified by the scheduling policy, such that one or more computer processors are selected by the requestor as the resources to which to send the resource request in order to perform the remote execution services based upon the list of resources provided by the resource query means. - View Dependent Claims (12, 13, 14)
-
-
15. A system for servicing distributed remote execution requests in a heterogenous computer network environment having a plurality of resources loosely coupled to each other in the network environment, the resources including at least two or more types of computer processors, each different operating system program having a set of kernel programs unique to that operating system program and a unique file space, and any memory devices and subordinate programs operating together with the computer processors, at least some of the resources being available to perform remote execution services in response to the remote execution requests, the integrated system comprising:
-
a plurality of interface means, each of the plurality of interface means operably integrated with a unique one of a plurality of requestors in the network environment without requiring the set of kernel programs of the operating system program associated with that requester to be modified and recompiled, each of the plurality of interface means for issuing a resource request for a remote execution service, the resource request including information necessary to perform the remote execution service; and a remote execution service means operating on each of the computer processors that is available to perform remote execution services without modifying the operating system program associated with that computer processor, each remote execution service means for receiving a resource request for a remote execution service from one or more of the plurality of interface means, performing the remote execution service and returning any results from the remote execution service to the interface means, the remote execution service means including; first means executing on the computer processor for receiving the resource requests from the interface means and monitoring the status of the resource requests; and second means operably initiated by the first means for each resource request for performing the remote execution service in response to the resource request. - View Dependent Claims (16, 17, 37)
-
-
18. An integrated method for providing resource management and distributed remote execution services in a heterogenous computer network environment having a plurality of resources loosely coupled to each other in the network environment, the resources including at least two or more computer processors executing different operating system programs, each different operating system program having a set of kernel programs unique to that operating system program and a unique file space, and any memory devices and subordinate programs operating together with the computer processors, at least some of the resources being available to perform remote execution services, the method comprising the steps of:
-
(a) for each of the computer processors that is available to perform remote execution services, performing the steps of; (a1) periodically collecting one or more items of information about that computer processor and the other resources operating together with that computer processors, and (a2) periodically providing the items of information to a resource information database operably connected to the network environment for storing the items of information about the resources in the network environment; (b) for each of a plurality of requestors in the network environment that can utilize a remote execution service, using a remote execution interface that is separate from the operating system program associated with the requestor and does not require the kernel programs of the operating system to be modified and recompiled to perform the steps of; (b1) issuing a resource query for a remote execution service, the resource query including one or more query parameters specifying a set of resources that can satisfy the resource request, and (b2) issuing a resource request for the remote execution service to one or more selected computer processors, the resource request including information necessary to perform the remote execution service; (c) in a computer processor operably associated with the resource information database, performing the steps of; (c1) receiving a resource query for a remote execution service from an application program from any of the plurality of requestors, (c2) analyzing the database to determine which of the resources in the network environment match the query parameters and are available to satisfy the resource request, and (c3) returning to the remote execution interface a list of available resources which can be used to satisfy the resource request; and (d) for each of the selected computer processors that is to perform the remote execution service, using a remote execution service that is separate from the operating system program associated with the resource and does not require the kernel programs of the operating system to be modified and recompiled to perform the steps of; (d1) receiving the resource request for the remote execution service from the remote execution interface, (d2) performing the remote execution service, and (d3) returning any results from the remote execution service to the remote execution interface, such that one or more selected computer processors are chosen by the requestor as the resources to which to send the resource request in order to perform the remote execution services based upon the list of resources generated by analyzing the resource information database. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 38)
-
-
28. A method for managing distributed remote execution services in a heterogenous computer network environment having a plurality of resources loosely coupled to each other in the network environment, the resources including at least two or more computer processors executing different operating system programs, each different operating system program having a set of kernel programs unique to that operating system program and a unique file space, and any memory devices and subordinate programs operating together with the computer processors, at least some of the resources being available to perform remote execution services, the method comprising the steps of:
-
(a) for each of the computer processors that is available to perform remote execution services, performing the steps of; (a1) periodically collecting one or more items of dynamic information about that computer processor and the other resources operating together with that computer processors, and (a2) periodically providing the items of dynamic information to a resource information database operably connected to the network environment for storing the items of information about the resources in the network environment from more than one file space; (b) for each of a plurality of requestors in the network environment that can utilize a remote execution service, issuing a resource query for a remote execution service, the resource query including one or more query parameters specifying a set of resources that can satisfy the resource request, the query parameters including; a set of resource requirements for the resource request; and a scheduling policy for determining how the list of resources should be ordered; (c) in a computer processor operably associated with the resource information database, performing the steps of; (c1) receiving a resource query for a remote execution service from an application program from any of the plurality of requestors, (c2) analyzing the database to determine which of the resources in the network environment match the query parameters and are available to satisfy the resource request, and (c3) returning to the remote execution interface a list of available resources which can be used to satisfy the resource request in an order specified by the scheduling policy, such that one or more selected computer processors are chosen by the requestor as the resources to which to send the resource request in order to perform the remote execution services based upon the list of resources generated by analyzing the resource information database. - View Dependent Claims (29, 30, 31, 32)
-
-
33. A method for servicing distributed remote execution requests in a heterogenous computer network environment having a plurality of resources loosely coupled to each other in the network environment, the resources including at least two or more computer processors executing different operating system programs, each different operating system program having a set of kernel programs unique to that operating system program and a unique file space, and any memory devices and subordinate programs operating together with the computer processors, at least some of the resources being available to perform remote execution services in response to the remote execution requests, the method comprising the steps of:
-
(a) for each of a plurality of requestors in the network environment comprised of an application program executing on one of the computer processors that can utilize a remote execution service, using a remote execution interface that is separate from, but compiled with, the application program to issue a resource request for the remote execution service to one or more selected computer processors, the resource request including information necessary to perform the remote execution service; and (b) for each of the selected computer processors that is to perform the remote execution service, executing a first program on the selected computer processor separate from the operating system program and does not require the kernel programs of the operating system to be modified and recompiled for that computer processor to control communication with the remote execution interface that has sent the resource request to perform the steps of; (b1) receiving the resource request for the remote execution service from the remote execution interface, and (b2) monitoring the status of the remote execution service; and (c) for each of the selected computer processors that is to perform the remote execution service, executing a second program separate from the operating system program and does not require the kernel programs of the operating system to be modified and recompiled for that computer processor that is initiated by the first program to perform the remote execution service in response to the resource request and return any results to the remote execution interface. - View Dependent Claims (34, 35)
-
Specification