IP Library Granted Patent US 7,472,101
Granted Patent B2
US 7,472,101 · App. 11/180,075 · Granted Dec 30, 2008

Inferential state machines

Assignee: TIBCO Software Inc.
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,472,101
App. No.
11/180,075
Granted
Dec 30, 2008
Kind
B2
Abstract

An extended state machine that makes use of an inference engine as the infrastructure for adding inferential capabilities to the state machine's execution. The result is a state machine that may operate on partial or disordered information, inferring intermediate states that have yet to be formally traversed. In addition, controls such as state timeouts and transition priorities allow for finer control of the state machine's execution, particularly in unexpected circumstances.

Claims (27)

1. A processing system for providing logic states, comprising:

one or more subsystems for providing input data derived from corresponding one or more external components;

a computer in communication with the one or more subsystems and configured to provide ordered initial, intermediate, and later logic states based on corresponding initial, intermediate, and later input data to be received in order from the subsystems; and

an inference engine in communication with the computer and configured to cause the computer to directly transition from providing the initial logic state to providing the later logic state in the absence of the intermediate input datum being received by the computer.

2. A processing system according to claim 1 , wherein the inference engine is further configured to validate its inference upon later receipt of the intermediate input datum.

3. A processing system according to claim 1 , wherein the computer is further configured with at least one timeout means associated with its intermediate logic state, the timeout means configured to cause the computer to directly transition from providing the initial logic state to providing the later logic state upon expiration of a timeframe defining the timeout means and in the absence of the intermediate input datum being received by the computer.

4. A processing system according to claim 1 , wherein the computer is further configured to provide one or more of the initial, intermediate, and later logic states based on one or more conditions.

5. A processing system according to claim 4 , wherein the conditions comprise event occurrences.

6. A processing system according to claim 4 , wherein a plurality of conditions exist, and the plurality of conditions are prioritized in order to determine the logic state provided by the computer.

7. A processing system according to claim 1 , wherein the inference engine causes the computer to directly transition from providing the initial logic state to providing the later logic state using an iterative process based on the inference engine monitoring the received initial input data and the received later input data.

8. A processing system according to claim 1 , wherein the inference engine is configured to cause the direct transition of the computer from providing the initial logic state to providing the later logic state in response to a query by a client machine in communication with the processing system.

9. A processing system according to claim 8 , wherein the inference engine is configured to cause the direct transition of the computer using computer-readable instructions provided to the client machine in response to the query.

10. A method of providing logic states, the method comprising:

providing one or more external components configured to orderly generate initial, intermediate, and later input data corresponding to ordered first, second and third logic states of a computer;

receiving the initial input data by the computer;

providing a first logic state with the computer based on the received initial input data;

receiving the later input data by the computer;

inferring the third logic state from an out-of-order receipt of the later input data following the receipt of the initial input data by the computer, and in the absence of the intermediate input datum being received by the computer; and

providing the third logic state with the computer by directly transitioning from the first logic state to the third logic state based on the inference.

11. A method according to claim 10 , further comprising validating the inference upon later receipt of the intermediate input datum by the computer.

12. A method according to claim 10 , wherein providing the third logic state further comprises providing the third logic state by directly transitioning from the first logic state to the third logic state based on the inference, and further based on at least one timeout means associated with the computer's second logic state, the timeout means configured to cause the computer to directly transition from providing the initial logic state to providing the later logic state upon expiration of a timeframe defining the timeout means and in the absence of the intermediate input datum being received by the computer.

13. A method according to claim 10 , the method further comprising providing one or more of the first, second or third logic states based on one or more conditions.

14. A method according to claim 13 , wherein the conditions comprise event occurrences.

15. A method according to claim 13 , wherein a plurality of conditions exist, and the method further comprises prioritizing the plurality of conditions to determine which of the one or more first, second or third logic states is provided.

16. A method according to claim 10 , wherein providing the third logic state by directly transitioning from the first logic state to the third logic state based on the inference comprises employing an iterative process based on monitoring the received initial input data and the received later input data.

17. A method according to claim 10 , wherein inferring the third logic state and providing the third logic state occurs in response to a query by a client machine.

18. A method according to claim 17 , wherein inferring the third logic state and providing the third logic state occurs using computer-readable instructions provided to the client machine in response to the query.

Assignments (16)
CHANGE OF NAME Recorded Jul 1, 2026
From: CLOUD SOFTWARE GROUP, INC.
To: CLOUD SOFTWARE GROUP, LLC
Reel/Frame 075874/0220 →
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2005
From: ARORA, PUNEET; SUBRAMANI, SURESH; LEONG, NICH CHE KEN
To: TIBCO SOFTWARE INC.
Reel/Frame 016775/0320 →
Continuity (1)
Related Publication 20070094192A1 · Apr 26, 2007