IP Library Granted Patent US 7,124,414
Granted Patent B2
US 7,124,414 · App. 10/286,585 · Granted Oct 17, 2006

Method, system and program product for routing requests in a distributed system

Assignee: International Business Machines Corporation
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 7,124,414
App. No.
10/286,585
Granted
Oct 17, 2006
Kind
B2
Abstract

The present invention routes object requests in a distributed system using address information identified in object headers that accompany the request. Specifically, when an object is created under the present invention, address information is inserted into a corresponding object header. When a request related to the object is later issued, the object header accompanies the request. The address information is used to ensure that the request is efficiently and accurately routed to a target process within a target node of a target cell.

Claims (45)

1. A method for routing requests in a distributed system, comprising:

providing an object handle for a target object, wherein the object handle includes address information that identifies a target cell, a target node and a target process of the target object; and

routing a request corresponding to the target object to the target process using the address information within the object handle, wherein the target process is in an external management program system,

wherein the routing step comprises:

receiving the object handle and a request corresponding to the target object on a particular node in the distributed system;

routing the request to the target process of the target node within the target cell using the address information;

determining whether the particular node is part of the target cell by comparing the address information to a cell identification of the particular node, and routing the request and the object handle to the target cell if the particular node is not part of the target cell;

determining whether the particular node is the target node by comparing the address information to a node identification of the particular node, and routing the request and the object handle to the target node if the particular node is not the target node; and

determining whether the request and the object handle have been received by the target process within the target node by examining the address information in the received object handle, and routing the request and the object handle to the target process if the request and the object handle have not been received by the target process.

2. The method of claim 1 , wherein the address information further comprises a target object type and a target object name.

3. The method of claim 2 , further comprising:

locating the target object within the target process using the target object type and the target object name without consulting a registry; and

implementing the request on the target object.

4. The method of claim 1 , wherein the providing step comprises:

creating a target object and a corresponding object handle; and

inserting the address information into the object handle before the target object is implemented.

5. The method of claim 1 , wherein the routing step comprises:

routing a request and the object handle to the target cell based upon the address information;

routing the request and the object handle to the target node within the target cell based upon the address information, after routing the request and the object handle to the target cell; and

routing the request and the object handle to the target process within the target node based on the address information, after routing the request and the object handle to the target node.

6. The method of claim 1 , wherein the address information is embodied within the object handle as one or more tags.

7. The method of claim 1 , wherein the target process comprises a virtual machine in a Java Management Extensions system.

8. A system for routing requests in a distributed system, comprising:

a reception system for receiving a request and an object handle corresponding to a target object on a particular node in the distributed system, wherein the object handle includes address information that identifies a target cell, a target node and a target process of the target object; and

a routing system for routing the request and the object handle to the target process within the target node of the target cell based on the address information, wherein the target process is in an external management program system,

wherein the routing system comprises:

a cell system for determining whether the particular node is part of the target cell based on the address information, and for routing the request and the object handle to the target cell if the particular node is not part of the target cell;

a node system for determining whether the particular node is the target node based on the address information, and for routing the request and the object handle to the target node if the particular node is not the target node; and

a process system for determining whether the request and the object handle have been received by the target process within the target node based on the address information, and routing the request and the object handle to the target process if the request and the object handle have not been received by the target process.

9. The system of claim 8 , wherein the address information further comprises a target object type and a target object name.

10. The system of claim 9 , further comprising a management system for

locating the target object within the target process using the target object type and the target object name without consulting a registry, and for implementing the request on the target object.

11. The system of claim 8 , wherein the address information is inserted into the object handle before the target object is implemented, and wherein the address information is embodied in the object handle as one or more tags.

12. The system of claim 8 , wherein the target process comprises a virtual machine in a Java Management Extensions system.

13. A program product stored on a recordable medium for routing requests in a distributed system, which when executed comprises:

program code for receiving a request and an object handle corresponding to a target object on a particular node in the distributed system, wherein the object handle includes address information that identifies a target cell, a target node and a target process of the target object; and

program code for routing the request and the object handle to the target process within the target node of the target cell based on the address information, wherein the target process is in an external management program system,

wherein the program code for routing comprises:

program code for determining whether the particular node is part of the target cell based on the address information, and for routing the request and the object handle to the target cell if the particular node is not part of the target cell;

program code for determining whether the particular node is the target node based on the address information, and for routing the request and the object handle to the target node if the particular node is not the target node; and

program code for determining whether the request and the object handle have been received by the target process within the target node based on the address information, and routing the request and the object handle to the target process if the request and the object handle have not been received by the target process.

14. The program product of claim 13 , wherein the address information further comprises a target object type and a target object name.

15. The program product of claim 14 , further comprising program code for locating the target object within the target process using the target object type and the target object name, and for implementing the request on the target object without consulting a registry.

16. The program product of claim 13 , wherein the address information is inserted into the object handle before the target object is implemented, and wherein the address information is embodied in the object handle as one or more tags.

17. The program product of claim 13 , wherein the target process comprises a virtual machine in a Java Management Extensions system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2002
From: WANG, PING; WILLIAMSON, LEIGH A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013472/0333 →
Continuity (1)
Related Publication 20040088714A1 · May 6, 2004