IP Library Granted Patent US 6,986,146
Granted Patent B2
US 6,986,146 · App. 10/159,209 · Granted Jan 10, 2006

Method and apparatus for providing a state machine operating on a real-time operating system

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 6,986,146
App. No.
10/159,209
Granted
Jan 10, 2006
Kind
B2
Abstract

A software state event machine for software based process control systems permits state and events to be unified within a common set of data structures for one or more tasks sharing common state numbers. This method reduces overall memory requirements in systems with extensive states and events among multiple tasks.

Claims (30)

1. A general purpose computer-based system for implementing a state machine in a computer memory; said state machine implementing a process control system for managing processing of inter-task messages between tasks under control of a real-time operating system, the inter-task messages created as a result of hardware events and software events, the state machine comprising:

a first data structure containing one or more first entries, each said one or more first entries including:

a pointer to a second data structure, and

a countfield, said one or more first entries each representative of a state, and said count field representative of a count of events valid for said state; and

a said second data structure containing one or more second entries, each said one or more second entries including a Type field, an Event field, a Message ID field, and a state transition routine pointer for providing the address of the state transition routine.

2. The state machine as recited in claim 1 , wherein said first data structure comprises a plurality of said first data structures.

3. The state machine as recited in claim 1 , wherein said second data structure comprises a plurality of said second data structures.

4. The state machine as recited in claim 1 , wherein said Type field represents a task identification.

5. The state machine as recited in claim 1 , wherein said Event field represents one of either a hardware event or a software event.

6. The state machine as recited in claim 1 , wherein said count field comprises a NULL field.

7. The state machine as recited in claim 1 , further comprising a third data structure, said third data structure being an Event Control Block comprising:

a second Message ID field; and

a second event field, said second event field used to match a said first event field and said second Message ID field used to match a said first Message ID field.

8. A state machine method for use in a process control system for managing processing of inter-task messages between tasks under control of a real-time operating system(RTOS), the inter-task messages created as a result of hardware events and software events, the method comprising the steps of:

dequeuing an inter-task message;

checking said inter-task message for a known Event Control Block entry;

getting a pointer to a State Pointer table;

checking State Pointer table entry for a NULL pointer;

accessing a Type Event table using a second pointer;

comparing a Type Event table Message ID field to an Identity field of said inter-task message;

comparing an Type Event table Event field to a second Event field of said inter-task message; and

comparing a Type Event table Type field to a second Type field of an inter-task message.

9. The state machine method as recited in claim 8 , further including the step of calling a call state transition routine.

10. The state machine method as recited in claim 8 , wherein when any one comparison step is false the method includes incrementing said second pointer.

11. The state machine method as recited in claim 10 , wherein the incrementing

said second pointer step further includes:

checking whether all entries in said Type Event table have been checked; and

calling a fault routine in the case where all entries have been checked.

12. The state machine method as recited in claim 8 , wherein said second pointer is obtained from said State Pointer Table.

13. The state machine method as recited in claim 8 , wherein when the checking State Pointer table entry for a NULL pointer step is true the method includes calling a fault routine.

Assignments (6)
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
CHANGE OF NAME Recorded Nov 19, 2014
From: NOKIA SIEMENS NETWORKS GMBH & CO. KG
To: NOKIA SOLUTIONS AND NETWORKS GMBH & CO. KG
Reel/Frame 034294/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2014
From: NOKIA SOLUTIONS AND NETWORKS GMBH & CO. KG (FORMERLY KNOWN AS NOKIA SIEMENS NETWORKS GMBH & CO. KG)
To: NOKIA SOLUTIONS AND NETWORKS US LLC
Reel/Frame 033739/0987 →