Distributed object execution system
First Claim
1. A distributed computing system comprising:
- an application interface adapted to receive an invoked object message from a user application, wherein the invoked object message indicates the invocation of a method of an object by the user application;
a control server including a job queue adapted to coordinate the processing of at least one job including at least one task by computing resources;
an object message processing module adapted to convert the received invoked object message into at least one object processing job including at least one object processing task and to add the object processing job and object processing task to the jobs and tasks of the job processing queue;
at least one agent adapted to operate on a computing resource, wherein the agent is adapted to select an object processing job and at least a portion of its object processing tasks in the job queue to be executed by the computing resource; and
an object execution module adapted to operate on the computing resource, to receive an object processing task from the agent, and to execute the method of the object indicated by the invoked object message.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed object execution system delegates the allocation and control of computing tasks to intelligent agent applications running on computing resources. User applications can invoke object methods associated with an application interface of the distributed object execution system. The system converts this method invocation into an available computing job with at least one computing tasks. The agents assess computing resources capabilities to perform available computing tasks. Based on these assessments, agents request jobs from a job server, which in turn assigns computing tasks to computing resources based on the job requests received. An agent instantiates a replica of the object and invokes a corresponding method on an associated computing resource. Upon completion of the invoked method, the user application is notified and provided with any method results. While an agent and associated computing resource is processing a method invocation, the user application can perform other activities.
89 Citations
30 Claims
-
1. A distributed computing system comprising:
-
an application interface adapted to receive an invoked object message from a user application, wherein the invoked object message indicates the invocation of a method of an object by the user application;
a control server including a job queue adapted to coordinate the processing of at least one job including at least one task by computing resources;
an object message processing module adapted to convert the received invoked object message into at least one object processing job including at least one object processing task and to add the object processing job and object processing task to the jobs and tasks of the job processing queue;
at least one agent adapted to operate on a computing resource, wherein the agent is adapted to select an object processing job and at least a portion of its object processing tasks in the job queue to be executed by the computing resource; and
an object execution module adapted to operate on the computing resource, to receive an object processing task from the agent, and to execute the method of the object indicated by the invoked object message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of processing objects in a distributed computing system, the method comprising:
-
receiving an invoked object message from a user application, wherein the invoked object message indicates the invocation of a method of an object by the user application;
converting the received invoked object message into at least one object processing job including at least one object processing task;
adding the object processing job and object processing task to jobs and tasks of a job processing queue;
selecting, by an agent adapted to operate on a computing resource, the object processing job and at least a portion of its object processing tasks in the job queue to be executed by the computing resource; and
receiving, by an object execution module adapted to operate on a computing resource, an object processing task from the agent; and
executing, by the object execution module, the method of the object indicated by the invoked object message. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification