IP Library Granted Patent US 10,108,660
Granted Patent B2
US 10,108,660 · App. 15/371,074 · Granted Oct 23, 2018

Method and system for building a streaming model

Inventor: Kenji C. Obata (Seattle, WA)
Assignee: CODE SYSTEMS CORPORATION
G06F17/30377G06F3/064G06F3/0619G06F9/445G06F9/45537G06F11/3466G06F17/30017G06F17/30091G06F17/30233G06F17/30958G06F21/53H04L65/60H04L67/10G06F2009/45583G06F2212/152
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,108,660
App. No.
15/371,074
Granted
Oct 23, 2018
Kind
B2
Abstract

A method of constructing a plurality of downloadable files from an application file and a plurality of transcripts. The application file stores data blocks and implements an application. Each of the transcripts stores at least one order in which at least a portion of the data blocks of the application file were accessed by the application when executed previously. The transcripts are combined into a combined transcript storing at least one combined order comprising a combined portion of the data blocks. The data blocks of the combined portion are arranged in a data structure having an origin. A first set of data blocks within a predetermined distance from the origin is stored in at least one initial execution file. A second set of data blocks outside the predetermined distance from the origin is stored in downloadable sequence files.

Claims (20)

1. A computer-implemented method of dividing blocks of data organized in a directed graph structure into files, the blocks of data of the directed graph structure comprising an origin block of data, each block of data comprising a time value, the method comprising:

identifying first ones of the blocks of data having time values within a predetermined amount of time from the time value of the origin block of data;

storing the first blocks of data in at least one initial execution file, the at least one initial execution file being executable, the at least one initial execution file partially implementing an application when executed but the at least one initial execution file being insufficient to fully implement the application;

storing other second ones of the blocks of data in a plurality of sequence files, together the at least one initial execution file and the plurality of sequence files being sufficient to fully implement the application; and

storing the directed graph structure in a model file specifying at least one order in which the plurality of sequence files are accessed by the application as the application executes, the model file allowing at least a portion of the plurality of sequence files to be downloaded in accordance with the at least one order after the at least one initial execution file has begun executing to thereby allow the application to be executed without first downloading all of the blocks of data and reduce a likelihood that the executing application will request access to an unavailable block of data that is stored in at least one of the plurality of sequence files that has not yet been downloaded.

2. The computer-implemented method of claim 1 , wherein storing the second blocks of data in the plurality of sequence files comprises storing each of the second blocks of data in a separate one of the plurality of sequence files.

3. The computer-implemented method of claim 1 , wherein the model file is configured to be traversed by a directing process as the application executes,

the executing application is configured to send a message to the directing process indicating which particular one of the blocks of data is being accessed by the application, and

the directing process is configured to modify a traversal of the model file by starting to read from a location of the particular block in the model file.

4. A computer-implemented method for use with a file comprising a plurality of data blocks, and a directed graph structure in which at least a portion of the plurality of data blocks are arranged, the portion of the plurality of data blocks arranged in the directed graph structure comprising an origin data block, each data block in the portion of the plurality of data blocks arranged in the directed graph structure comprising a time value, the method comprising:

identifying those of the portion of the plurality of data blocks that have time values within a predetermined amount of time of the time value of the origin data block;

storing the identified data blocks in at least one initial execution file, the at least one initial execution file being executable, the at least one initial execution file partially implementing an application when executed but the at least one initial execution file being insufficient to fully implement the application;

storing others of the portion of the plurality of data blocks in a plurality of sequence files, together the at least one initial execution file and the plurality of sequence files being sufficient to fully implement the application;

identifying ones of the plurality of data blocks not arranged in the directed graph structure and storing them in at least one rest file; and

storing the directed graph structure in a model file specifying at least one order in which the plurality of sequence files are accessed by the application as the application executes, the model file allowing at least a portion of the plurality of sequence files to be downloaded in accordance with the at least one order after the at least one initial execution file has begun executing to thereby allow the application to be executed without first downloading all of the plurality of data blocks and reduce a likelihood that the executing application will request access to an unavailable data block that is stored in at least one of the plurality of sequence files that has not yet been downloaded.

5. The computer-implemented method of claim 4 , wherein the file is a virtualized application file that when executed, at least partially implements a virtual application.

6. The computer-implemented method of claim 1 , wherein the directed graph structure comprises:

states each stored in a different state object comprising a transitions list associated with the state stored by the state object; and

transitions each stored in a transition data structure comprising at least one identifier identifying at least one of the blocks of data.

7. The computer-implemented method of claim 6 , wherein each of the transitions comprises a weight.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2018
From: OBATA, KENJI C.
To: CODE SYSTEMS CORPORATION
Reel/Frame 045732/0157 →
CHANGE OF ADDRESS Recorded May 7, 2018
From: CODE SYSTEMS CORPORATION
To: CODE SYSTEMS CORPORATION
Reel/Frame 046085/0173 →
Continuity (5)
Continuation 14857684 · Sep 17, 2015
Continuation 13918067 · Jun 14, 2013
Continuation 12879956 · Sep 10, 2010
Provisional Application 61361373 · Jul 2, 2010
Related Publication 20170083557A1 · Mar 23, 2017