IP Library Granted Patent US 9,378,458
Granted Patent B2
US 9,378,458 · App. 14/631,666 · Granted Jun 28, 2016

Method and apparatus for operating a finite state machine

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 9,378,458
App. No.
14/631,666
Granted
Jun 28, 2016
Kind
B2
Abstract

A finite state machine is provided. The finite state machine causes a function to be carried out in dependence on at least an event input to the finite state machine and the current state of the finite state machine. Associations between the functions that are to be carried out and combinations of the states and the events are identified using an associative array. The associations identified using the associative array are amended while the finite state machine is operating to dynamically reconfigure the operation of the finite state machine.

Claims (28)

1. A computer-implemented method, comprising:

operating a finite state machine which causes a function to be carried out in dependence on at least an event input to the finite state machine and the current state of the finite state machine;

identifying associations between the functions that are to be carried out and combinations of the states and the events using an associative array; and

amending the associations identified using the associative array while the finite state machine is operating to dynamically reconfigure the operation of the finite state machine,

wherein the finite state machine is constructed using State Chart eXtensible Markup Language, the associations identified using the associative array being amended by receiving input of an eXtensible Markup Language file and parsing the XML file.

2. The method according to claim 1 , wherein at least some of the associations identified using the associative array are indexed in the associative array by use of keys, the keys being non-sequential.

3. The method according to claim 2 , wherein the keys are randomly or pseudorandomly generated.

4. The method according to claim 1 , wherein at least some of the associations identified using the associative array are accessed using nested hash tables in which at least a first hash table has a second hash table nested therein, one of said hash tables storing identifiers of states of the finite state machine and the other of said hash tables storing identifiers of events.

5. The method according to claim 1 , wherein the finite state machine is implemented on telecommunications apparatus.

6. A computing apparatus, comprising:

at least one processor; and

at least one memory,

wherein the processor and the memory are configured to cause the apparatus to operate a finite state machine which causes a function to be carried out in dependence on at least an event input to the finite state machine and the current state of the finite state machine, and

wherein associations between the functions that are to be carried out and combinations of the states and the events are identified using an associative array, the associations identified using the associative array being amendable while the finite state machine is operating to allow the operation of the finite state machine to be dynamically reconfigured,

wherein the finite state machine is constructed using State Chart eXtensible Markup Language, the associations identified using the associative array being amended by receiving input of an eXtensible Markup Language file and parsing the XML file.

7. The apparatus according to claim 6 , configured such that at least some of associations identified using the associative array are indexed in the associative array by use of keys, the keys being non-sequential.

8. The apparatus according to claim 7 , configured such that the keys are randomly or pseudorandomly generated.

9. The apparatus according to claim 6 , configured such that at least some of the associations identified using the associative array are accessed using nested hash tables in which at least a first hash table has a second hash table nested therein, one of said hash tables storing identifiers of states of the finite state machine and the other of said hash tables storing identifiers of events.

10. The apparatus according to claim 6 , wherein the computing apparatus is a telecommunications apparatus.

11. A non-transitory computer-readable storage medium comprising a set of computer-readable instructions stored thereon, which, when executed by a processing system, cause the processing system to carry out a method, the method comprising:

operating a finite state machine which causes a function to be carried out in dependence on at least an event input to the finite state machine and the current state of the finite state machine;

identifying associations between the functions that are to be carried out and combinations of the states and the events using an associative array; and

amending the associations identified using the associative array while the finite state machine is operating to dynamically reconfigure the operation of the finite state machine,

wherein the finite state machine is constructed using State Chart eXtensible Markup Language, the associations identified using the associative array being amended by receiving input of an eXtensible Markup Language file and parsing the XML file.

12. The non-transitory computer-readable storage medium according to claim 11 , wherein at least some of the associations identified using the associative array are stored in a hash table, the index of the location of the data of each of said functions in the hash table being obtained as a hash of identifiers of the corresponding current state and event for said function.

13. The non-transitory computer-readable storage medium according to claim 11 , wherein at least some of the associations identified using the associative array are indexed in the associative array by use of keys, the keys being non-sequential.

14. The non-transitory computer-readable storage medium according to claim 13 , wherein the keys are randomly or pseudorandomly generated.

15. The non-transitory computer-readable storage medium according to claim 11 , wherein at least some of the associations identified using the associative array are accessed using nested hash tables in which at least a first hash table has a second hash table nested therein, one of said hash tables storing identifiers of states of the finite state machine and the other of said hash tables storing identifiers of events.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2026
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ALIANZA, INC.
Reel/Frame 075645/0892 →
CHANGE OF NAME Recorded May 13, 2026
From: ALIANZA, INC.
To: ALIANZA, LLC
Reel/Frame 075646/0037 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2026
From: METASWITCH NETWORKS LTD.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 075578/0155 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: MILLER, CRAIG; THEOBALD, DOUG
To: METASWITCH NETWORKS LTD
Reel/Frame 035493/0743 →