IP Library Granted Patent US 10,990,599
Granted Patent B2
US 10,990,599 · App. 16/214,620 · Granted Apr 27, 2021

System and method for object-oriented pattern matching in arbitrary data object streams

Inventor: Paul Peloski (Calgary, CA)
Assignee: ARIA SOLUTIONS, INC.
G06F16/24568G06F16/2379G06F16/289
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,990,599
App. No.
16/214,620
Granted
Apr 27, 2021
Kind
B2
Abstract

A system and method for applying extended regular expressions against arbitrary data objects, wherein a state machine maintains an internal state model for the system, an object analysis server receives data objects from a data source, and the object analysis server analyzes the structure and contents of the objects, compares them against received search pattern, and directs the state machine to update the state model based on either or both of the analysis and comparison operations.

Claims (31)

1. A system for object-oriented pattern matching in arbitrary data object streams, comprising:

at least one state machine comprising at least a plurality of programming instructions stored in the memory of, and operating on at least one processor of, a computing device, wherein the plurality of programming instructions, when operating on the at least one processor, cause the computing device to:

maintain an internal state model; and

return a result when a final state has been reached, the final state being determined by the internal state model; and

an object analysis server comprising at least a plurality of programming instructions stored in the memory of, and operating on at least one processor of, a computing device, wherein the plurality of programming instructions, when operating on the at least one processor, cause the computing device to:

receive a plurality of data objects from a data source;

analyze at least a portion of the data objects to determine at least their information structure and contents;

receive a search pattern comprising at least one element;

compare at least a portion of the data objects against at least one pattern of the search pattern, the comparison operation comprising at least the comparison of at least one element of a search pattern against the contents of a data object;

create a new instance of a state machine when the comparison indicates that the object contains an element associated with the start of a search pattern, and associate that object with that state machine and the object's location in the search pattern for that state machine;

update an instance of a state machine when the comparison indicates that the object contains an element associated with an element of a search pattern for which that state machine is waiting, and associate that object with that state machine and the object's location in the search pattern for that state machine;

return the results of the operation of at least one state machine.

2. The system of claim 1 , wherein the object analysis server is further configured to compare at least a portion of the search pattern against more than one data object at once.

3. The system of claim 1 , wherein the state machines are further capable of receiving data from an input stream.

4. The system of claim 1 , wherein the object analysis server is further configured to utilize a modified Boyer-Moore search algorithm to skip at least a portion of a data object based at least in part on the outcome of a previous comparison.

5. The system of claim 1 , further comprising a message server comprising at least a plurality of programming instructions stored in the memory of, and operating on at least one processor of, a computing device, wherein the plurality of programming instructions, when operating on the at least one processor, cause the computing device to receive at least an update message from a client application; wherein the system updates data objects on the data source based at least on the update message.

6. The system of claim 5 , wherein updated data objects are searchable in real-time.

7. A method for object-oriented pattern matching in arbitrary data object streams, comprising the steps of:

maintaining an internal state model, using at least one state machine;

returning a result when a final state has been reached, the final state being determined by the internal state model, using at least one state machine;

receiving a plurality of data objects from a data source, using an object analysis server;

analyzing at least a portion of the data objects to determine at least their information structure and contents, using an object analysis server;

receiving a search pattern comprising at least one element, using an object analysis server;

comparing at least a portion of the data objects against at least one pattern of the search pattern, the comparison operation comprising at least the comparison of at least one element of a search pattern against the contents of a data object, using an object analysis server;

creating a new instance of a state machine when the comparison indicates that the object contains an element associated with the start of a search pattern, and associating that object with that state machine and the object's location in the search pattern for that state machine, using an object analysis server;

updating an instance of a state machine when the comparison indicates that the object contains an element associated with an element of a search pattern for which that state machine is waiting, and associate that object with that state machine and the object's location in the search pattern for that state machine, using an object analysis server; and

returning the results of the operation of at least one state machine.

8. The method of claim 7 , wherein the object analysis server is further configured to compare at least a portion of the search pattern against more than one data object at once.

9. The method of claim 7 , wherein the object analysis server is further configured to utilize a modified Boyer-Moore search algorithm to skip at least a portion of a data object based at least in part on the outcome of a previous comparison.

10. The method of claim 7 , further comprising a message server comprising at least a plurality of programming instructions stored in the memory of, and operating on at least one processor of, a computing device, wherein the plurality of programming instructions, when operating on the at least one processor, cause the computing device to receive at least an update message from a client application; wherein the system updates data objects on the data source based at least on the update message.

11. The method of claim 10 , wherein updated data objects are searchable in real-time.

Assignments (9)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 24, 2025
From: TTEC HOLDINGS, INC.
To: TTEC HOLDINGS, INC.
Reel/Frame 070609/0559 →
SECURITY INTEREST Recorded Oct 17, 2024
From: TTEC HOLDINGS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 069206/0225 →
CHANGE OF NAME Recorded Aug 19, 2024
From: TELETECH HOLDINGS, INC.
To: TTEC HOLDINGS, INC.
Reel/Frame 068701/0308 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2022
From: AVTEX SOLUTIONS, LLC
To: TELETECH HOLDINGS, INC.
Reel/Frame 059077/0401 →
PATENT RELEASE AND REASSIGNMENT Recorded Apr 24, 2021
From: VARAGON CAPITAL PARTNERS AGENT, LLC, AS ADMINISTRATIVE AGENT
To: AVTEX SOLUTIONS, LLC
Reel/Frame 056034/0545 →
SECURITY INTEREST Recorded Dec 8, 2020
From: AVTEX SOLUTIONS, LLC
To: VARAGON CAPITAL PARTNERS AGENT, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 054582/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2020
From: ARIA SOLUTIONS INC.
To: AVTEX SOLUTIONS, LLC
Reel/Frame 054252/0663 →
CHANGE OF ADDRESS Recorded Feb 12, 2019
From: ARIA SOLUTIONS, INC.
To: ARIA SOLUTIONS, INC.
Reel/Frame 048322/0007 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2018
From: PELOSKI, PAUL
To: ARIA SOLUTIONS, INC.
Reel/Frame 047800/0268 →