IP Library Granted Patent US 8,874,638
Granted Patent B2
US 8,874,638 · App. 12/637,962 · Granted Oct 28, 2014

Interactive analytics processing

Inventors: Rajaram B. Krishnamurthy (Wappingers Falls, NY); Carl J. Parris (Rhinebeck, NY); Charles Boice (Endicott, NY); Lurng-Kuo Liu (Mount Kisco, NY)
Assignee: International Business Machines Corporation
G06F9/5027
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,874,638
App. No.
12/637,962
Granted
Oct 28, 2014
Kind
B2
Abstract

An end-to-end record, request, response token-based protocol is used to facilitate processing of client jobs. This allows the client to forward analytical tasks of a job directly to an analytics cluster and to record an indication of such at a server. The accelerators of the cluster to perform the tasks are specified in a token provided by the server to the client.

Claims (45)

1. A computer program product for facilitating processing of jobs in a computing environment, the computer program product comprising:

a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

determining, by a client processor, whether a compute token obtained by the client processor specifies a computing unit to be used by the client processor to submit a job, the compute token obtained by the client processor from a server processor coupled to the client processor and distinct from the computing unit, and the determining comprising checking an identifier field of the compute token to determine whether the computing unit is included in the identifier field;

based on determining that the compute token specifies the computing unit, forwarding by the client processor at least a portion of the job to the computing unit to perform analytics processing for the job; and

providing, by the client processor to the server processor, an indication that analytics processing for the job has been requested by the client processor.

2. The computer program product of claim 1 , wherein the forwarding and providing are performed concurrently.

3. The computer program product of claim 1 , wherein the method further comprises notifying the server processor of a request to use a computing unit for analytics processing, based on determining that the compute token does not specify the computing unit.

4. The computer program product of claim 3 , wherein the method further comprises:

obtaining by the client processor an identification of the computing unit to use, based on the notifying; and

submitting the at least a portion of the job to the computing unit corresponding to the identification.

5. The computer program product of claim 1 , wherein the providing comprises sending a record request packet to the server processor, the record request packet comprising at least one of an identifier of the job, an identifier of the client processor, a type of the computing unit, an identifier of the computing unit, an estimated completion time for the job, and a progress field.

6. The computer program product of claim 1 , wherein the method further comprises responding by the server processor to the client processor, based on receiving the indication.

7. The computer program product of claim 6 , wherein the responding comprises sending a record response packet to the client processor, the record response packet comprising at least one of an identifier of the job, an identifier of the client processor, an identifier of the computing unit, and a progress field.

8. The computer program product of claim 1 , wherein the computing unit comprises an accelerator.

9. The computer program product of claim 1 , wherein the method further comprises:

determining by the server processor that the client processor has terminated prior to completion of one or more jobs of the client processor;

checking a proxy indicator; and

directing output of the one or more jobs to the server processor, based on determining the client processor has terminated prior to completion and based on the proxy indicator having a first defined value.

10. The computer program product of claim 9 , wherein the method further comprises performing cleanup on the computing unit of the one or more jobs, based on determining the client processor has terminated prior to completion and based on the proxy indicator having a second defined value.

11. A computer system for facilitating processing of jobs in a computing environment, the computer system comprising:

a memory; and

a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:

determining, by a client processor, whether a compute token obtained by the client processor specifies a computing unit to be used by the client processor to submit a job, the compute token obtained by the client processor from a server processor coupled to the client processor and distinct from the computing unit, and the determining comprising checking an identifier field of the compute token to determine whether the computing unit is included in the identifier field;

based on determining that the compute token specifies the computing unit, forwarding by the client processor at least a portion of the job to the computing unit to perform analytics processing for the job; and

providing, by the client processor to the server processor, an indication that analytics processing for the job has been requested by the client processor.

12. The computer system of claim 11 , wherein the method further comprises notifying the server processor of a request to use a computing unit for analytics processing, based on determining that the compute token does not specify the computing unit.

13. The computer system of claim 12 , wherein the method further comprises:

obtaining by the client processor an identification of the computing unit to use, based on the notifying; and

submitting the at least a portion of the job to the computing unit corresponding to the identification.

14. The computer system of claim 11 , wherein the providing comprises sending a record request packet to the server processor, the record request packet comprising at least one of an identifier of the job, an identifier of the client processor, a type of the computing unit, an identifier of the computing unit, an estimated completion time for the job, and a progress field.

15. The computer system of claim 11 , wherein the method further comprises responding by the server processor to the client processor, based on receiving the indication, wherein the responding comprises sending a record response packet to the client processor, the record response packet comprising at least one of an identifier of the job, an identifier of the client processor, an identifier of the computing unit, and a progress field.

16. The computer system of claim 11 , wherein the method further comprises:

determining by the server processor that the client processor has terminated prior to completion of one or more jobs of the client processor;

checking a proxy indicator; and

directing output of the one or more jobs to the server processor, based on determining the client processor has terminated prior to completion and based on the proxy indicator having a first defined value.

17. The computer system of claim 16 , wherein the method further comprises performing cleanup on the computing unit of the one or more jobs, based on determining the client processor has terminated prior to completion and based on the proxy indicator having a second defined value.

18. A method of facilitating processing of jobs in a computing environment, said method comprising:

determining, by a client processor, whether a compute token obtained by the client processor specifies a computing unit to be used by the client processor to submit a job, the compute token obtained by the client processor from a server processor coupled to the client processor and distinct from the computing unit, and the determining comprising checking an identifier field of the compute token to determine whether the computing unit is included in the identifier field;

based on determining that the compute token specifies the computing unit, forwarding by the client processor at least a portion of the job to the computing unit to perform analytics processing for the job; and

providing, by the client processor to the server processor, an indication that analytics processing for the job has been requested by the client processor.

19. The method of claim 18 , further comprising notifying the server processor of a request to use a computing unit for analytics processing, based on determining that the compute token does not specify the computing unit.

20. The method of claim 18 , further comprising:

determining by the server processor that the client processor has terminated prior to completion of one or more jobs of the client processor;

checking a proxy indicator; and

directing output of the one or more jobs to the server processor, based on determining the client processor has terminated prior to completion and based on the proxy indicator having a first defined value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2009
From: KRISHNAMURTHY, RAJARAM B.; PARRIS, CARL J.; BOICE, CHARLES; LIU, LURNG-KUO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 023655/0399 →
Continuity (1)
Related Publication 20110145318A1 · Jun 16, 2011