IP Library Granted Patent US 10,255,568
Granted Patent B2
US 10,255,568 · App. 14/919,493 · Granted Apr 9, 2019

Methods and systems for selecting a data transmission path for navigating a dynamic data structure

Inventor: Nathan D. Sutton (Palo Alto, CA)
Assignee: TIBCO SOFTWARE INC.
G06Q10/06311
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 10,255,568
App. No.
14/919,493
Granted
Apr 9, 2019
Kind
B2
Abstract

Embodiments are directed to selecting a data transmission path, comprising receiving a query having attribute(s), extracting the attribute(s) from the query, performing a search in a dynamic data structure for target(s) associated with the attribute(s), identifying a first set of target(s), and transmitting a data item to each target of the first set. The method further comprises determining whether the dynamic data structure has transformed from a first state to second state, and when a transformation is determined, performing a second search in the dynamic data structure, identifying a second set of target(s), and transmitting the data item to each target of the second set. The transmitting comprises pushing, to a first target, an option to select the data item, and pushing, to a second target, an option to select the data item when the data item is not selected by the first target.

Claims (25)

1. A system for using a state-changing dynamic data structure, the system comprising:

a memory, the memory comprising the state-changing dynamic data structure; and

a processor in communication with the state-changing dynamic data structure, the processor operable to:

receive a query, wherein the query comprises one or more attributes indicating criterion for transmitting a particular data item of a plurality of data items to one or more targets, wherein the query comprises combinatorial logic associated with one or more objects, wherein the one or more attributes comprises one or more dynamic resource attributes;

extract the one or more attributes from the received query;

perform a first search in the state-changing dynamic data structure for one or more targets associated with the one or more attributes extracted from the query;

identify a first set of one or more targets associated with the one or more attributes extracted from the query based on the first searching;

determine priority of the plurality of data items;

transmit a first data item as the particular data item to each target of the first set of one or more targets identified as being associated with the one or more attributes extracted from the query, wherein the first data item has the highest priority among the plurality of data items at a first state of the state-changing dynamic data structure;

determine whether the state-changing dynamic data structure has transformed from a first state to a second state; and

in response to a determination that the state-changing dynamic data structure has transformed from the first state to a second state;

perform a second search in the state-changing dynamic data structure, and identify, based on the second search, a second set of one or more targets associated with the one or more attributes extracted from the query,

determine the priority of the plurality of data items, and

transmit a second data item as the particular data item to each target of the second set of one or more targets identified as being associated with the one or more attributes extracted from the query, wherein the second data item has the highest priority among the plurality of data items at the second state of the state-changing dynamic data structure;

wherein the transmitting the particular data item to the first set of one or more targets comprises:

pushing, to a first identified target in the first set of one or more identified targets associated with the one or more attributes extracted from the query, a first notification of an option to select the particular data item within a first finite time period, the selection of the particular data item being made for processing the particular data item, and

pushing, to a second identified target in the first set of one or more identified targets associated with the one or more attributes extracted from the query, a second notification of an option to select the particular data item when the particular data item is not selected by the first identified target within the first finite time period, the selection of the particular data item being made for processing the particular data item.

2. The system according to claim 1 , wherein the system is further operable to:

search the state-changing dynamic data structure for a new set of one or more targets associated with the one or more attributes extracted from the query if the state-changing dynamic data structure has been determined to have been modified and the particular data item has not been selected by a target; and

transmitting the particular data item to one or more targets from the new set of one or more targets.

3. The system according to claim 1 , wherein the one or more attributes extracted from the query comprises a logical relationship that is used to define the state-changing dynamic data structure.

4. The system according to claim 1 , wherein the system is further operable to automatically allocate one or more particular data items to the one or more targets associated with the one or more attributes, as the one or more targets become available to process the one or more particular data items.

5. The system according to claim 1 , wherein the processor comprises an application-specific integrated circuit.

6. The system according to claim 1 , wherein the processor comprises a specific purpose processor.

7. The system according to claim 1 , wherein the system comprises a special purpose computer system.

Assignments (15)
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 →
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 →
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 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
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 →
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 →
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 038382 / FRAME 0242) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061575/0018 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2019
From: SUTTON, NATHAN D.
To: TIBCO SOFTWARE INC.
Reel/Frame 049788/0543 →
SECURITY AGREEMENT Recorded Apr 7, 2016
From: TIBCO SOFTWARE INC., AS PLEDGOR
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038382/0242 →
Continuity (3)
Continuation 13104325 · May 10, 2011
Provisional Application 61333226 · May 10, 2010
Related Publication 20170116261A1 · Apr 27, 2017