IP Library Granted Patent US 7,849,055
Granted Patent B2
US 7,849,055 · App. 11/874,324 · Granted Dec 7, 2010

Method and system for limiting instances of a client-server program within a restricted distributed network

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,849,055
App. No.
11/874,324
Granted
Dec 7, 2010
Kind
B2
Abstract

The present invention provides a computer implemented method, data processing system and computer program product for limiting instances of a client-server program within a plurality of platforms in a restricted distributed network. The data processing system receives an invocation of the client-server program. The data processing system assigns a write file to the client-server program wherein the write file has a write file name and the write file is on a distributed file system accessible to the plurality of platforms. The data processing system determines whether the write file is available. Responsive to a determination that the write file is available, the data processing system opens the write file for writing wherein the write file is associated with the client-server program. The data processing system, responsive to a determination that the write file is available, forms an addressing file having addressing information of a first instance of the client-server program.

Claims (51)

1. A computer implemented method for limiting instances of a client-server program within a plurality of platforms in a restricted distributed network comprising:

receiving an invocation of the client-server program;

assigning a write file to the client-server program wherein the write file has a write file name and the write file is on a distributed file system accessible to the plurality of platforms;

determining whether the write file is available;

responsive to a determination that the write file is available, opening the write file for writing wherein the write file is associated with the client-server program;

responsive to a determination that the write file is available, forming an addressing file having addressing information of a first instance of the client-server program, wherein forming the addressing file comprises assigning a program instruction pointer associated with the first instance of the client-server program;

responsive to a determination that the write file is available, reporting the addressing file by writing addressing information to the addressing file, wherein the addressing file is established at a predetermined logical location in the distributed file system;

responsive to the determination that the write file is available, executing at least one instruction of the client-server program;

receiving a request from a second instance of the client-server program;

incrementing an instance count based on the instance count and a business logic, wherein an instance count is a number of instances of a program that counts instances that have been invoked but not yet completed;

approving the request based on the instance count and the business logic;

determining whether the second instance is allocated to a processor faster than a processor executing the first instance of the client-server program;

rewriting the addressing file to point to the second instance of the client-server program, whereby the second instance operates as the first instance of the client-server program; and

terminating the first instance of the client-server program based on an instance count comparison to a pre-established upper limit.

2. The computer implemented method of claim 1 , wherein the addressing file is an eXtensible Markup Language file defining an Internet protocol address.

3. The computer implemented method of claim 1 , wherein the step of determining further comprises:

attempting to open the write file in write mode; and

receiving an error.

4. The computer implemented method of claim 1 , wherein the addressing file is an eXtensible Markup Language file defining at least one selected from the group consisting of an Internet protocol address, a port, a version number, and a start time.

5. The computer implemented method of claim 1 , further comprising:

determining whether the first instance of the client-server program is to terminate;

responsive to a determination that the first instance of the client-server program is to terminate, releasing the write file; and

responsive to a determination that the first instance of the client-server program is to terminate, deleting the addressing file.

6. A data processing system comprising:

a bus;

a storage device connected to the bus, wherein computer usable code is located in the storage device;

a communication unit connected to the bus;

a processing unit connected to the bus, wherein the processing unit executes the computer usable code for limiting instances of a client-server program within a plurality of platforms in a restricted distributed network, the processing unit further executes the computer usable code to receive an invocation of the client-server program; assign a write file to the client-server program wherein the write file has a write file name and the write file is on a distributed file system accessible to the plurality of platforms; determine whether the write file is available; responsive to a determination that the write file is available, open the write file for writing wherein the write file is associated with the client-server program; responsive to a determination that the write file is available, form an addressing file having addressing information of a first instance of the client-server program, wherein forming the addressing file comprises assigning a program instruction pointer associated with the first instance of the client-server program; responsive to a determination that the write file is available, report the addressing file by writing addressing information to the addressing file, wherein the addressing file is established at a predetermined logical location in the distributed file system; and responsive to the determination that the write file is available, execute at least one instruction of the client-server program; receive a request from a second instance of the client-server program; increment an instance count based on the instance count and a business logic, wherein an instance count is a number of instances of a program that counts instances that have been invoked but not yet completed; approve the request based on the instance count and the business logic; determine whether the second instance is allocated to a processor faster than a processor executing the first instance of the client-server program; rewrite the addressing file to point to the second instance of the client-server program, whereby the second instance operates as the first instance of the client-server program; and terminate the first instance of the client-server program based on an instance count comparison to a pre-established upper limit.

7. The data processing system of claim 6 , wherein the addressing file is an eXtensible Markup Language file defining an Internet protocol address.

8. The data processing system of claim 6 , wherein in executing the computer usable code to determine the processing unit further executes the computer usable code to attempt to open the write file in write mode; and receive an error.

9. The data processing system of claim 6 , wherein the addressing file is an eXtensible Markup Language file defining at least one selected from the group consisting of an Internet protocol address, a port, a version number, and a start time.

10. The data processing system of claim 6 , wherein the processing unit further executes the computer usable code to determine whether the first instance of the client-server program is to terminate; responsive to a determination that the first instance of the client-server program is to terminate, release the write file; and responsive to a determination that the first instance of the client-server program is to terminate, delete the addressing file.

11. A computer program product for limiting instances of a client-server program within a plurality of platforms in a restricted distributed network, the computer program product comprising:

computer usable program code for receiving an invocation of the client-server program;

computer usable program code for assigning a write file to the client-server program wherein the write file has a write file name and the write file is on a distributed file system accessible to the plurality of platforms;

computer usable program code for determining whether the write file is available;

computer usable program code for opening the write file for writing wherein the write file is associated with the client-server program, responsive to a determination that the write file is available;

computer usable program code for forming an addressing file having addressing information of a first instance of the client-server program, responsive to a determination that the write file is available, wherein forming the addressing file comprises assigning a program instruction pointer associated with the first instance of the client-server program;

computer usable program code for reporting the addressing file by writing addressing information to the addressing file, responsive to a determination that the write file is available, wherein the addressing file is established at a predetermined logical location in the distributed file system;

computer usable program code for executing at least one instruction of the client-server program, responsive to the determination that the write file is available;

computer usable program code for receiving a request from a second instance of the client-server program;

computer usable program code for incrementing an instance count based on the instance count and a business logic, wherein an instance count is a number of instances of a program that counts instances that have been invoked but not yet completed;

computer usable program code for approving the request based on the instance count and the business logic;

computer usable program code for determining whether the second instance is allocated to a processor faster than a processor executing the first instance of the client-server program;

computer usable program code for rewriting the addressing file to point to the second instance of the client-server program, whereby the second instance operates as the first instance of the client-server program; and

computer usable program code for terminating the first instance of the client-server program based on an instance count comparison to a pre-established upper limit.

12. The computer program product of claim 11 , wherein the addressing file is an eXtensible Markup Language file defining an Internet protocol address.

13. The computer program product of claim 11 , wherein the computer usable program code for determining further comprises:

computer usable program code for attempting to open the write file in write mode; and

computer usable program code for receiving an error.

14. The computer program product of claim 11 , wherein the addressing file is an eXtensible Markup Language file defining at least one selected from the group consisting of an Internet protocol address, a port, a version number, and a start time.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WRP IP MANAGEMENT, LLC
Reel/Frame 049033/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: BANERJEE, DWIP N.; DAS, RANADIP; PATIL, SANDEEP R.; VENKATSUBRA, VENKAT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019980/0674 →