IP Library Granted Patent US 7,617,503
Granted Patent B2
US 7,617,503 · App. 10/941,165 · Granted Nov 10, 2009

Method and apparatus for determining which of two computer processes should perform a function X

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,617,503
App. No.
10/941,165
Granted
Nov 10, 2009
Kind
B2
Abstract

In one embodiment, a method for determining which of two computer processes should perform a function X includes the following actions. If a second computer process is dependent on data received at a first computer process, it is determined whether the second computer process currently requires the data. If the second computer does not currently require the data, it is determined whether 1) a cost of the second computer process performing a function X on the data, plus 2) a cost of transmitting the data to the second computer process, exceeds 3) a cost of the first computer process performing the function X on the data. If the first two costs exceed the latter, the function X is caused to be performed by the first computer process.

Claims (22)

1. A method for determining which of two computer processes should perform a function X, comprising:

if a second computer process executed by a server machine is dependent on data received at a first computer process executed by a client machine, determining whether the second computer process currently requires the data;

if the second computer process does not currently require the data, determining whether i) a cost of the second computer process performing a function X on the data, plus ii) a cost of transmitting the data to the second computer process, exceeds iii) a cost of the first computer process performing the function X on the data; and

if i)+ii) exceeds iii), causing the function X to be performed by the first computer process, thereby reducing interprocess communication between the first computer process executed by the client machine and the second computer process executed by the server machine.

2. The method of claim 1 , wherein the second computer process is determined to currently require the data if the second computer process is stalled.

3. The method of claim 1 , wherein the second computer process is determined to currently require the data if the second computer process is about to stall.

4. The method of claim 1 , wherein the second computer process is determined to currently require the data if the data is needed by the second computer process to maintain consistency with a third computer process that accesses the second computer process.

5. The method of claim 1 , further comprising, determining the cost of the first computer process performing the function X, said cost including a cost of locally storing the data.

6. The method of claim 1 , further comprising, determining the cost of each computer process performing the function X, including determining the number of instructions that each process would need to execute to perform the function X.

7. The method of claim 1 , further comprising, determining said costs, said costs being based, at least in part, on a size of said data.

8. The method of claim 1 , wherein the function X stores the data.

9. The method of claim 1 , wherein the function X compiles the data with other data.

10. The method of claim 1 , wherein the function X manipulates the data.

11. The method of claim 1 , wherein the first computer process executes a testflow, wherein the second computer process executes a test number engine, and wherein the second computer process requires the data before a test number may be provided to the first computer process.

12. The method of claim 11 , wherein the function X comprises compiling current testflow context information on which said test number is based.

13. The method of claim 1 , wherein, if the function X is not performed by the first computer process, the data is transmitted to the second computer process for performance of the function X.

14. A number of machine-readable media having stored thereon sequences of instructions that, when executed by a machine, cause the machine to perform the actions of:

if a second computer process is dependent on data received at a first computer process, determining whether the second computer process currently requires the data;

if the second computer process does not currently require the data, determining whether i) a cost of the second computer process performing a function X on the data, plus ii) a cost of transmitting the data to the second computer process, exceeds iii) a cost of the first computer process performing the function X on the data; and

if i)+ii) exceeds iii), performing the function X by the first computer process.

15. The machine-readable media of claim 14 , wherein the first computer process executes a testflow, wherein the second computer process executes a test number engine, and wherein the second computer process requires the data before a test number may be provided to the first computer process.

16. The machine-readable media of claim 15 , wherein the function X comprises compiling current testflow context information on which said test number is based.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2012
From: VERIGY (SINGAPORE) PTE LTD
To: ADVANTEST (SINGAPORE) PTE LTD
Reel/Frame 027896/0018 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2007
From: AGILENT TECHNOLOGIES, INC.
To: VERIGY (SINGAPORE) PTE. LTD.
Reel/Frame 019015/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2005
From: HAYHOW, REID; KOLMAN, ROBERT S.
To: AGILENT TECHNOLOGIES, INC.
Reel/Frame 015753/0215 →