IP Library Granted Patent US 11,340,875
Granted Patent B2
US 11,340,875 · App. 16/891,024 · Granted May 24, 2022

Searchable storage of sequential application programs

Inventors: Christopher Connolly (San Jose, CA); Maneesh Yadav (San Francisco, CA); Patrick D. Lincoln (Woodside, CA)
Assignee: SRI International
G06F8/4441G06F8/71H04L9/0643H04L2209/38
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 11,340,875
App. No.
16/891,024
Granted
May 24, 2022
Kind
B2
Abstract

A method, apparatus and system for enabling the searchable storage of sequential application programs includes normalizing the sequential application programs, canonicalizing the sequential application programs, determining a unique identifier for each of the sequential application programs, and storing the unique identifier for each of the sequential application programs. The stored, unique identifier for the canonicalized sequential application programs can then be searched to, for example, determine if a sequential application program is stored and/or to certify at least one of the stored, canonicalized sequential application programs.

Claims (34)

1. A computer-implemented method for enabling the computer searchable storage of sequential application programs, comprising:

normalizing the sequential application programs, wherein the sequential application programs include data processing pipelines (DPPs) that consist of sequential applications of processes from at least one of mathematical, statistical, or signal processing libraries in which processes from the library transform data in a step-wise fashion, wherein each step feeds the output as an input to the next step;

canonicalizing the sequential application programs that are normalized;

determining a unique identifier for each of the sequential application programs that are canonicalized; and

storing the unique identifier in a storage device that can be searched for each of the sequential application programs.

2. The method of claim 1 , further comprising searching the stored, unique identifiers.

3. The method of claim 2 , wherein the stored unique identifiers are searched to certify at least one of the sequential application programs.

4. The method of claim 1 , comprising:

transforming the sequential application programs to an abstract deterministic finite state automaton (DFA) and computing a minimum DFA O(nlog n) to canonicalize the sequential application programs.

5. The method of claim 1 , comprising:

defining a minimum number of commonalities between the sequential application programs to canonicalize the sequential application programs.

6. The method of claim 5 , wherein the sequential application programs comprise sequential data.

7. The method of claim 1 , wherein the unique identifier comprises a hash code.

8. The method of claim 1 , further comprising creating a repository of source codes for the sequential application programs.

9. An apparatus for enabling the searchable storage of sequential application programs, comprising:

a normalizing module normalizing the sequential application programs, wherein the sequential application programs include data processing pipelines (DPPs) that consist of sequential applications of processes from at least one of mathematical, statistical, or signal processing libraries in which processes from the library transform data in a step-wise fashion, wherein each step feeds the output as an input to the next step;

a canonicalizing module canonicalizing the sequential application programs that are normalized;

a fingerprinting module determining a unique identifier for each of the sequential application programs that are canonicalized; and

a storage module storing the unique identifier in a storage device that can be searched for each of the sequential application programs.

10. The apparatus of claim 9 , further comprising a search module searching the stored, unique identifiers to determine if a sequential application program is stored.

11. The apparatus of claim 9 , wherein the canonicalizing module transforms at least one of the sequential application programs to an abstract deterministic finite state automaton (DFA) and computes a minimum DFA O(nlog n) to canonicalize the at least one of the sequential application programs.

12. The apparatus of claim 9 , wherein the canonicalizing module defines a minimum number of commonalities between the sequential application programs to canonicalize the sequential application programs.

13. The apparatus of claim 9 , comprising a local storage.

14. The apparatus of claim 13 , wherein the local storage comprises at least one blockchain.

15. The apparatus of claim 9 , wherein the storage module creates a repository of source codes for the sequential application programs.

16. A non-transitory computer-readable medium having stored thereon at least one program, the at least one program including instructions which, when executed by a processor, cause the processor to perform a method for enabling the searchable storage of sequential application programs, comprising:

normalizing the sequential application programs, wherein the sequential application programs include data processing pipelines (DPPs) that consist of sequential applications of processes from at least one of mathematical, statistical, or signal processing libraries in which processes from the library transform data in a step-wise fashion, wherein each step feeds the output as an input to the next step;

canonicalizing the sequential application programs that are normalized;

determining a unique identifier for each of the sequential application programs that are canonicalized; and

storing the unique identifier in a storage device that can be searched for each of the sequential application programs.

17. The non-transitory transitory computer-readable medium of claim 16 , wherein, in response to the instructions, the processor further searches the stored canonicalized sequential application programs.

18. The non-transitory transitory computer-readable medium of claim 17 , wherein the stored canonicalized sequential application programs are searched to certify at least one of the stored canonicalized sequential application programs.

19. The non-transitory transitory computer-readable medium of claim 17 , comprising a repository of source codes for the sequential application programs.

20. The non-transitory transitory computer-readable medium of claim 16 , wherein the unique identifiers of each of the sequential application programs are stored in at least one blockchain.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2025
From: SRI INTERNATIONAL
To: GLENEAGLE INNOVATIONS LP
Reel/Frame 071968/0850 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO REMOVE INVENTOR DANIEL SANCHEZ PREVIOUSLY RECORDED ON REEL 052840 FRAME 0464. ASSIGNOR(S) HEREBY CONFIRMS THE TO ADD INVENTOR PATRICK D. LINCOLN. Recorded Jul 23, 2020
From: CONNOLLY, CHRISTOPHER; YADAV, MANEESH; LINCOLN, PATRICK D.
To: SRI INTERNATIONAL
Reel/Frame 053293/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2020
From: CONNOLLY, CHRISTOPHER; SANCHEZ, DANIEL; YADAV, MANEESH
To: SRI INTERNATIONAL
Reel/Frame 052840/0464 →
Continuity (1)
Related Publication 20210373864A1 · Dec 2, 2021