IP Library Granted Patent US 7,584,395
Granted Patent B2
US 7,584,395 · App. 11/399,730 · Granted Sep 1, 2009

Systems, methods and apparatus for synthesizing state events for a test data stream

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,584,395
App. No.
11/399,730
Granted
Sep 1, 2009
Kind
B2
Abstract

In one embodiment, a method of has the steps of A) accessing a stream of test data comprising 1) a number of state events and 2) a number of data events interspersed with the ones of the state events; B) upon accessing one of the data events, determining if the data event is in conformity with the current test state; C) if not, 1) buffering a number of additional data events; and 2) if the number of additional data events imply that a state event should have been received and a state change should have occurred, prior to accessing the data event, i) synthesizing and publishing the state event that should have been received, in conformity with the implied state change; ii) updating the current test state; and iii) then, publishing the data event.

Claims (76)

1. A method of synthesizing a state event for a test data stream, comprising:

accessing a stream of test data, the test data comprising 1) a number of state events that update a current test state and 2) a number of data events interspersed with the ones of the state events;

upon accessing one of the data events, determining if the data event is in conformity with the current test state;

if the data event is in conformity with the current test state, publishing the data event; and

if the data event is not in conformity with the current test state,

buffering a number of additional data events; and

if the number of additional data events imply that a state event should have been received and a state change should have occurred, prior to accessing the data event,

A) synthesizing and publishing the state event that should have been received, in conformity with the implied state change;

B) updating the current test state in accord with the implied state change; and

C) then, publishing the data event.

2. The method of claim 1 , further comprising, if the number of additional data events do not imply that a state event should have been received and a state change should have occurred, then purging the data event.

3. The method of claim 1 , further comprising:

upon accessing one of the state events,

updating the current test state in accord with the state event; and

publishing the state event.

4. The method of claim 1 , wherein publishing the data event further comprises making the date event available to a consumer of the test data.

5. The method of claim 1 , wherein the data event is accessed prior to an initial updating of the current test, the method further comprising:

determining if the data event indicates a state; and

if the data event indicates the state,

synthesizing a state event corresponding to the indicated state;

updating the current test state in accord with the indicated state; and

then, publishing the synthesized state event and publishing the data event.

6. The method of claim 1 , wherein accessing the test data further comprises receiving the test data.

7. The method of claim 1 , wherein determining if the number of additional data events imply a state change, further comprises, determining if the additional data events include attributes, wherein the attributes are consistent with a test state different from the current test state.

8. A system for synthesizing state events for a test data system, comprising:

an interface, operable to access a stream of test data, the test data comprising 1) a number of state events that update a current test state and 2) a number of data events interspersed with the ones of the state events;

data storage; and

a processor, in communication with the interface and the data storage, operable to,

upon accessing one of the data events, determine if the data event is in conformity with the current test state;

if the data event is in conformity with the current test state, publish the data event; and if the data event is not in conformity with the current test state,

A) cause the data storage to buffer a number of additional data events; and

B) if the number of additional data events imply that a state event should have been received and a state change should have occurred, prior to accessing the data event,

(I) synthesize and publish the state event that should have been received, in conformity with the implied state change;

(II) update the current test state in accord with the implied state change; and

(III) the, publish the data event.

9. The system of claim 8 , wherein the processor is further operable to, if the number of additional data events do not imply that a state vent should have been received and a state change should have occurred, purge the data event.

10. The system of claim 8 , wherein:

the processor is further operable to,

upon accessing one of the state events,

A) update the current test state in accord with the state event; and

B) publish the state event.

11. The system of claim 8 , wherein the processor is operable to publish data events and state events by making the data events and the state events available to a consumer of the test data.

12. The system of claim 8 , wherein the processor is operable to publish data events and state events by causing the interface to output the data events and the state events.

13. The system of claim 8 , wherein, the processor, upon accessing the data event, prior to an initial updating of the current test state, is further operable to:

determine if the data event indicates a state;

if the data event indicates the state,

synthesize a state event corresponding to the indicated state; and

update the current test state in accord with the indicated state; and

then, publish the synthesized state event and publish the data event.

14. The system of claim 8 , wherein the processor is operable to determine if the number of additional data events imply a state change, by further being operable to determine if the additional data events include attributes, wherein the attributes are consistent with a test state different from the current test state.

15. The system of claim 8 , further comprising at least one tester to generate test data associated with tests on a number of devices under test, the test data being accessible to the interface.

16. The system of claim 8 , further comprising test data storage comprising test data previously generated, the test data being accessible to the interface as the stream of test data.

17. One or more machine-readable mediums having stored thereon sequences of instructions, which, when executed by a machine, cause the machine to perform the actions of:

accessing a stream of test data, the test data comprising: 1) a number of state events that update a current test state and 2) a number of data events interspersed with the ones of the state events;

upon accessing one of the data events, determining if the data event is in conformity with the current test state;

if the data event is in conformity with the current test state, publishing the data event; and

if the data event is not in conformity with the current test state,

buffering a number of additional data events; and

if the number of additional data events imply that a state event should have been received and a state change should have occurred, prior to accessing the data event,

A) synthesizing and publishing the state event that should have been received, in conformity with the implied state change;

B) updating the current test state in accord with the implied state change; and

C) then, publishing the data event.

18. The machine-readable mediums of claim 17 , further comprising instructions for, if the number of additional data events do not imply that a state event should have been received and a state change should have occurred, then purging the data event.

19. The machine-readable mediums of claim 17 , further comprising instructions for:

upon accessing one of the state events,

updating the current test state in accord with the state event; and

publishing the state event.

20. The machine-readable mediums of claim 17 , wherein the instructions for publishing the data event, further comprise instructions for making the data event available to a consumer of the test data.

21. The machine-readable mediums of claim 17 , wherein the instructions further comprise instructions for:

upon the data event being accessed prior to an initial updating of the current test,

determining if the data event indicates a state; and

if the data event indicates the state,

A) synthesizing a state event corresponding to the indicated state;

B) updated the current test state in accord with the indicated state; and

C) then, publishing the synthesized state event and publishing the data event.

22. The machine-readable mediums of claim 17 , wherein the instructions for determining if the number of additional data events imply a state change, further comprise instructions for, determining if the additional data events include attributes, wherein the attributes are consistent with a test state different from the current test state.

Assignments (3)
CHANGE OF ADDRESS Recorded Dec 18, 2018
From: ADVANTEST CORPORATION
To: ADVANTEST CORPORATION
Reel/Frame 047987/0626 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 035371 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 14, 2015
From: ADVANTEST (SINGAPORE) PTE. LTD.
To: ADVANTEST CORPORATION
Reel/Frame 035425/0768 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2015
From: ADVANTEST (SINGAPORE) PTE. LTD.
To: ADVANTEST CORPORATION
Reel/Frame 035371/0265 →