×

Method, apparatus and articles-of-manufacture for network-based distributed computing

  • US 6,757,730 B1
  • Filed: 05/31/2000
  • Issued: 06/29/2004
  • Est. Priority Date: 05/31/2000
  • Status: Expired due to Term
First Claim
Patent Images

1. A distributed computing system, implemented as a multi-tiered server/meta-server architecture using a plurality of network-connected processing elements, the distributed computing system comprising:

  • at least one network-connected processing element configured as a director;

    a plurality of network-connected processing elements configured as brokers;

    a plurality of network-connected processing elements configured as engines; and

    , at least one network-connected processing element configured as a driver;

    wherein;

    the director is configured to (i) maintain a registry of driver(s), (ii) maintain a registry of engines, (iii) maintain load balance among brokers, and (iv) assign driver(s) to broker(s);

    the brokers are configured to (i) receive job(s), each comprised of at least one task and at least some comprised of a plurality of tasks, from their assigned driver(s), (ii) manage the execution of said task(s) by engine(s), and (iii) collate result(s) of executed task(s), so as to make completed job(s) available for delivery to driver(s);

    each of the brokers is further configured to maintain a plurality of task queues for each active job, the plurality of queues including (i) a waiting task queue of task(s) that have not yet been assigned to an engine for execution, wherein the order of tasks in the waiting task queue represents the order in which tasks will be assigned to available engines, (ii) a pending task queue of task(s) that have been assigned to an engine, but have not completed, and (iii) a completed task queue of task(s) that have been executed by an engine;

    the engines are configured to (i) receive tasks from the brokers, (ii) execute the received tasks, and (iii) return executed tasks to their associated brokers; and

    , at least some of the brokers are further configured to monitor their pending task queues to identify long-pending task(s) that have been pending substantially longer than an average task completion time for task(s) in the associated job, and resubmit long-pending task(s) to the job'"'"'s waiting task queue;

    whereby brokers assign and supervise the execution of task(s), engines receive and execute task(s), driver(s) query assigned broker(s) to receive job results, and the director monitors the overall operation of brokers and engines.

View all claims
  • 13 Assignments
Timeline View
Assignment View
    ×
    ×