IP Library Granted Patent US 7,403,874
Granted Patent B2
US 7,403,874 · App. 11/345,045 · Granted Jul 22, 2008

Method and system for prioritizing formatting actions of a number of data formatters

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,403,874
App. No.
11/345,045
Granted
Jul 22, 2008
Kind
B2
Abstract

In one embodiment, a method of prioritizing formatting actions of a number of data formatters 1) instantiates a number of threads for execution by a processing system, the number of threads sharing thread processing resources, and the number of threads including at least two threads of dissimilar priority; 2) launches a number of data formatters on the number of threads, the number of data formatters including at least two data formatters that are respectively launched on ones of the at least two threads having dissimilar priorities; and 3) periodically requests allocation of the thread processing resources for a number of highest priority active threads, wherein an active thread is a thread executing a data formatter with formatting actions to perform. Other embodiments are also disclosed.

Claims (52)

1. A method of prioritizing formatting actions of a number of data formatters, comprising:

instantiating a number of threads for execution by a processing system, the number of threads sharing thread processing resources, and the number of threads including at least two threads of dissimilar priority, wherein the number of threads includes at least one thread of high priority having a higher execution priority than at least one thread of low priority;

launching a number of data formatters on the number of threads, each of the data formatters accessing circuit test data items in a data store, and each of the data formatters outputting a different set of formatted test data for analysis by a person or application program, wherein the number of data formatters includes at least two data formatters that are respectively launched on ones of the at least two threads having dissimilar priorities; and

periodically requesting allocation of the thread processing resources for a number of highest priority active threads, thereby giving priority to the formatting actions performed by any of the data formatters that are launched on the number of highest priority active threads, wherein an active thread is a thread executing a data formatter with formatting actions to perform, wherein the number of highest priority active threads includes the at least one thread of high priority.

2. The method of claim 1 , wherein the periodic requests are requests for exclusive allocation of the thread processing resources for the number of highest priority active threads.

3. The method of claim 1 , wherein the data store is a memory, and wherein the data items are associated with objects in the memory.

4. The method of claim 1 , further comprising:

launching a data populator on one of the number of threads;

causing the data populator to perform the actions of,

writing the circuit test data items to the data store;

creating tokens to index the circuit test data items; and

causing at least some of the tokens to be passed to at least some of the number of data formatters; and

causing ones of the data formatters to perform formatting actions,

including, reading the circuit test data items indexed by the tokens; and

upon completion of reading one of the circuit test data items, releasing a token associated with the read circuit test data item.

5. The method of claim 4 , wherein the thread on which the data populator is launched is instantiated with a higher execution priority than the number of threads on which the data formatters are launched.

6. The method of claim 4 , wherein:

creating tokens to index the circuit test data items comprises, for each circuit test data item,

causing the data populator to create an initial token to index the circuit test data item; and

passing the initial token to a notification manager; and

the method further comprises, in response to the initial tokens, and via the notification manager, passing tokens to ones of the data formatters.

7. The method of claim 6 , further comprising, launching the notification manager on one of the number of threads.

8. The method of claim 6 , further comprising:

receiving, from the data formatters, subscriptions for circuit test data items of a number of data types; and

in response to the initial tokens, and via the notification manager, passing tokens to ones of the data formatters in accord with 1) data types of the circuit test data items indexed by the initial tokens, and 2) the subscriptions of the data formatters.

9. A system or prioritizing formatting actions of a number of data formatters, comprising:

computer readable media; and

computer readable code, stored on the computer readable media, including,

code to instantiate a number of threads for execution by a processing system, the number of threads sharing thread processing resources, and the number of threads including at least two threads of dissimilar priority, wherein one of the threads of dissimilar priority has a higher execution priority than another one of the threads of dissimilar priority;

code to launch a number of data formatters on the number of threads, each of the data formatters accessing circuit test data items in a data store, and each of the data formatters outputting a different set of formatted test data for analysis by a person or application program, wherein the number of data formatters includes at least two data formatters that are respectively launched on ones of the at least two threads having dissimilar priorities; and

code to periodically request allocation of the thread processing resources for a number of highest priority active threads, thereby giving priority to the formatting actions performed by any of the data formatters that are launched on the number of highest priority active threads, wherein an active thread is a thread executing a data formatter with formatting actions to perform, wherein the number of highest priority active threads includes the at least one thread of high priority.

10. The system of claim 9 , wherein the periodic requests are requests for exclusive allocation of the thread processing resources for the number of highest priority active threads.

11. The system of claim 9 , wherein the data store is a memory, and wherein the circuit test data items are associated with objects in the memory.

12. The system of claim 9 , further comprising:

code to launch a data populator on one of the number of threads;

code to cause the data populator to perform the actions of,

writing the circuit test data items to the data store;

creatine tokens to index the circuit test data items; and

causing at least some of the tokens to be passed to at least some of the number of data formatters; and

code to cause ones of the data formatters to perform formatting actions, including,

reading the circuit test data items indexed by the tokens; and

upon completion of reading one of the circuit test data items, releasing a token associated with the read circuit test data item.

13. The system of claim 12 , wherein the thread on which the data populator is launched is instantiated with higher execution priority than the number of threads on which the data formatters are launched.

14. The system of claim 12 , wherein:

creating tokens to index the circuit test data items comprises, for each circuit test data item,

causing the data populator to create an initial token to index the circuit test data item; and

passing the initial token to a notification manager; and

the system further comprises code to, in response to the initial tokens, and via the notification manager, pass tokens to ones of the data formatters.

15. The system of claim 14 , further comprising, code to launch the notification manager on one of the number of threads.

16. The system of claim 14 , further comprising:

code to receive, from the data formatters, subscriptions for circuit test data items of a number of data types; and

code to, in response to the initial tokens, and via the notification manager, pass tokens to ones of the data formatters in accord with 1) data types of the circuit test data items indexed by the initial tokens, and 2) the subscriptions of the data formatters.

Assignments (2)
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 Apr 14, 2006
From: CARPENTER, BRYAN F
To: AGILENT TECHNOLOGIES INC
Reel/Frame 017473/0811 →