← Back to Patent Explorer
US5732256A Expired / Lapsed US ⏱️ 0.0 years remaining

CD-ROM optimization and stream splitting

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1995-08-30
•
Granted: 1998-03-24
•
Expires: 2015-08-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for efficiently transferring data for objects on the page of a multimedia work from a CD-ROM to the memory of a computer. An application program is run on a personal computer (10) that enables an author to create a multimedia work. Certain types of objects can be selectively processed so that data for those objects are temporarily stored on a hard drive (16) as the work is being created, in a format that will reduce the time required to load the data and execute the objects when the work is subsequently played from a CD-ROM. In this technique, the sequence in which the objects on a page are required is determined and the data for each of these objects are split into a header portion and a tail portion. The header portions of the data for the objects are stored consecutively in that sequence on the hard drive, preferably followed by the tail portions of the data for the objects. This process is repeated for each of the objects on the other pages of the multimedia work. The data stored in nonvolatile memory are then transferred to a CD-ROM master and stored in the same contiguous sequence. The CD-ROM master is used to make other copies for distribution. As the work is played from a CD-ROM, the header portion of each of the objects on a page is loaded into computer memory at the time that the page is instantiated, enabling the page to appear more quickly. The tail portions of each of the objects are then loaded into the computer memory as each of the objects is called to execute. By employing this technique, less time is required for transferring the data for the objects from the CD-ROM to the computer memory before execution of the multimedia work begins, and the work executes more smoothly, since less time is required to transfer the data for each object as the object is required to execute.

Inventors

  • 👤 Matthew W. Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 04:10
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/40; G06F16/48; Y; Y10; Y10S; Y10S707/00; Y10S707/99931

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 143 words
A method for minimizing the time required to load data into a computer from a nonvolatile storage device, said data including a plurality of types, each type being associated with a different object of a plurality of objects and including a header section and a tail section, said method comprising the steps of: (a) identifying the plurality of objects for which the associated type of data must initially be loaded into the computer; (b) determining a sequence for loading the objects; and (c) sequentially storing the header sections for the plurality of objects in contiguous blocks on the nonvolatile storage device, in the sequence in which the objects are to be loaded, the header section associated with the plurality of objects being thereby loaded into the computer with a minimum seek time required to access the header sections when needed by the computer.
Claim 2
Independent Claim 143 words
A method for minimizing the time required to load data into a computer from a nonvolatile storage device, said data including a plurality of types, each type being associated with a different object of a plurality of objects and including a header section and a tail section, said method comprising the steps of: (a) identifying the plurality of objects for which the associated type of data must initially be loaded into the computer; (b) determining a sequence for loading the objects; and (c) sequentially storing the header sections for the plurality of objects in contiguous blocks on the nonvolatile storage device, in the sequence in which the objects are to be loaded, the header section associated with the plurality of objects being thereby loaded into the computer with a minimum seek time required to access the header sections when needed by the computer.
Claim 3
Dependent Claim 43 words
The method of claim 1, further comprising the step of sequentially storing the tail sections for the data associated with the plurality of objects in contiguous blocks on the nonvolatile storage device, in the sequence in which the objects are to be executed.
Claim 4
Dependent Claim 38 words
The method of claim 2, wherein the tail section of the data associated with an object is required when the object is executed on the computer and said tail section is loaded into the computer at that time.
Claim 5
Dependent Claim 41 words
The method of claim 1, wherein the header section of the data associated with an object is required by a program running on the computer to initially create an instance of the object in a multimedia work executing on the computer.
Claim 6
Dependent Claim 37 words
The method of claim 1, further comprising the step of copying the data for the objects from the nonvolatile storage device to a CD-ROM, wherein the blocks of data are arranged in circumferential tracks on the CD-ROM.
Claim 7
Dependent Claim 58 words
The method of claim 1, further comprising the step of identifying a plurality of pages with which different objects are associated, and processing the objects on each page to determine the sequence in which the header sections of the data associated with each object on the page are to be stored in blocks on the nonvolatile storage device.
Claim 8
Dependent Claim 33 words
The method of claim 1, further comprising the steps of binding the header section of the data associated with each object to a handler for that object prior to storing the header section.
Claim 9
Independent Claim 154 words
A method for minimizing the time required to load data into a computer from a CD-ROM, said data being associated with different objects of a multimedia work, each object being defined by a header section and a tail section, said method comprising the steps of: (a) producing a list of pages comprising the multimedia work, each page including at least one object; (b) for each page, determining a sequence in which the objects comprising the page will be executed when the multimedia work is run; and (c) for each page, storing the header section of the data for the objects comprising the page in contiguous header blocks on the CD-ROM, said header blocks being arranged in accord with said sequence, so that the header sections of the data defining the objects for the page are initially loaded in the order in which the objects are instantiated, thereby reducing the loading time for the page.
Claim 10
Independent Claim 154 words
A method for minimizing the time required to load data into a computer from a CD-ROM, said data being associated with different objects of a multimedia work, each object being defined by a header section and a tail section, said method comprising the steps of: (a) producing a list of pages comprising the multimedia work, each page including at least one object; (b) for each page, determining a sequence in which the objects comprising the page will be executed when the multimedia work is run; and (c) for each page, storing the header section of the data for the objects comprising the page in contiguous header blocks on the CD-ROM, said header blocks being arranged in accord with said sequence, so that the header sections of the data defining the objects for the page are initially loaded in the order in which the objects are instantiated, thereby reducing the loading time for the page.
Claim 11
Dependent Claim 98 words
The method of claim 8, further comprising the step of, for each page, storing the tail section of the data for the objects comprising the page in contiguous tail blocks on the CD-ROM, said tail blocks being stored separately from the header blocks in which the data for the header sections are stored and being arranged in the order in which the objects are executed, so that the tail sections are loaded in the order in which the objects are executed, thereby reducing the time to load the data associated with each object when the object is executed.
Claim 12
Dependent Claim 34 words
The method of claim 9, further comprising the step of enabling a user to disable loading the header sections of the data associated with the objects separately from the tail sections of said data.
Claim 13
Dependent Claim 17 words
The method of claim 8, wherein each object comprises one of an audio and a visual component.
Claim 14
Dependent Claim 28 words
The method of claim 8, further comprising the step of binding each object before storing the data defining it, using a handler that is associated with the object.
Claim 15
Dependent Claim 26 words
The method of claim 8, further comprising the step of aligning the data for each object on predefined boundaries of the blocks stored on the CD-ROM.
Claim 16
Dependent Claim 35 words
The method of claim 8, further comprising the step of enabling a user to specify the sequence in which data defining each of the objects of a page are loaded and stored on the CD-ROM.
Claim 17
Dependent Claim 62 words
The method of claim 8, wherein the pages are generally ordered in a sequence in which the pages are to be executed, so that the data for objects of successive pages are stored on the CD-ROM in a corresponding order, with the data for the header sections of each page's objects preceding the data for the tail sections of said page's objects.
Claim 18
Independent Claim 171 words
A system for creating a multimedia work that is stored on a nonvolatile medium so as to minimize the time required to load the multimedia work for execution on a computer, said system comprising: a processor used to create the multimedia work, said processor causing data associated with a plurality of objects comprising the multimedia work to be stored on the nonvolatile medium; and a memory in which machine instructions used to control the processor are stored, said machine instructions, when executed by the processor, causing it to: (a) determine a header data block and a tail data block for each object; (b) store the header data blocks for the objects contiguously and sequentially on the nonvolatile medium; and (c) cause the header data blocks for the objects to be loaded into the computer prior to playing a portion of the multimedia work in which the objects are used, thereby minimizing the time required to load the header data blocks for the objects before playing said portion of the multimedia work.
Claim 19
Independent Claim 171 words
A system for creating a multimedia work that is stored on a nonvolatile medium so as to minimize the time required to load the multimedia work for execution on a computer, said system comprising: a processor used to create the multimedia work, said processor causing data associated with a plurality of objects comprising the multimedia work to be stored on the nonvolatile medium; and a memory in which machine instructions used to control the processor are stored, said machine instructions, when executed by the processor, causing it to: (a) determine a header data block and a tail data block for each object; (b) store the header data blocks for the objects contiguously and sequentially on the nonvolatile medium; and (c) cause the header data blocks for the objects to be loaded into the computer prior to playing a portion of the multimedia work in which the objects are used, thereby minimizing the time required to load the header data blocks for the objects before playing said portion of the multimedia work.
Claim 20
Dependent Claim 57 words
The system of claim 16, wherein the machine instructions executed by the processor further cause: (a) the tail data blocks for the objects to be stored contiguously and sequentially on the nonvolatile medium; and (b) the tail data blocks to be loaded into the computer when said portion of the multimedia work is played by the computer.
Claim 21
Dependent Claim 69 words
The system of claim 17, wherein the machine instructions executing on the processor provide a user an option to selectively disable sequential loading of the header data blocks to instantiate the objects before the tail data blocks are loaded to run the portion of the multimedia work, so that the header data blocks and the tail data blocks are both loaded into the computer before the objects are instantiated.
Claim 22
Dependent Claim 35 words
The system of claim 16, wherein the portion of the multimedia work comprises a page and the objects of the page comprise at least one of an audio work, a video work, and an animation.
Claim 23
Dependent Claim 44 words
The system of claim 16, wherein the machine instructions executing on the processor further cause it to store the data for the objects on the nonvolatile medium in blocks of a predefined size so that the data are aligned with boundaries of said blocks.
Claim 24
Dependent Claim 27 words
The system of claim 16, wherein the processor binds each object to an associated handler and determines an initial load size for the data defining each object.
Claim 25
Dependent Claim 41 words
The system of claim 16, wherein the processor binds a page comprising the multimedia work and loads an object list for the page before processing the objects to determine the header data blocks and the tail data blocks for the objects.
Claim 26
Dependent Claim 54 words
The system of claim 22, wherein the processor processes the objects for a plurality of pages comprising the multimedia work and stores the data for the objects on each page on the nonvolatile medium in an order in which the pages are to be played when the multimedia work is run on the computer.
Claim 27
Dependent Claim 168 words
An article of manufacture adapted to be used with a computer, comprising: a memory medium on which are stored machine instructions for use in minimizing the time required to load data into a computer from a nonvolatile storage device, said data including a plurality of types, each type being associated with a different object of a plurality of objects and including a header section and a tail section, said machine instructions when executed by the computer implementing the following functions: (a) identifying the plurality of objects for which the associated type of data must initially be loaded into the computer; (b) determining a sequence for loading the objects; and (c) sequentially storing the header sections for the plurality of objects in contiguous blocks on the nonvolatile storage device, in the sequence in which the objects are to be loaded, the data associated with the plurality of objects being thereby loaded into the computer with a minimum seek time required to access the data when needed by the computer.
Claim 28
Dependent Claim 168 words
An article of manufacture adapted to be used with a computer, comprising: a memory medium on which are stored machine instructions for use in minimizing the time required to load data into a computer from a nonvolatile storage device, said data including a plurality of types, each type being associated with a different object of a plurality of objects and including a header section and a tail section, said machine instructions when executed by the computer implementing the following functions: (a) identifying the plurality of objects for which the associated type of data must initially be loaded into the computer; (b) determining a sequence for loading the objects; and (c) sequentially storing the header sections for the plurality of objects in contiguous blocks on the nonvolatile storage device, in the sequence in which the objects are to be loaded, the data associated with the plurality of objects being thereby loaded into the computer with a minimum seek time required to access the data when needed by the computer.
Claim 29
Dependent Claim 45 words
The article of manufacture of claim 24, wherein the machine instructions further implement the function of sequentially storing the tail sections for the plurality of objects in contiguous blocks on the nonvolatile storage device, in the sequence in which the objects are to be played.
Claim 30
Dependent Claim 37 words
The article of manufacture of claim 25, wherein the tail section of the data associated with an object is required when the object is executed on the computer and is loaded into the computer at that time.
Claim 31
Dependent Claim 43 words
The article of manufacture of claim 24, wherein the header section of the data associated with an object is required by a program running on the computer to initially create an instance of the object in a multimedia work executing on the computer.
Claim 32
Dependent Claim 40 words
The article of manufacture of claim 24, wherein the machine instructions further implement copying the data for the objects from the nonvolatile storage device to a CD-ROM, wherein the blocks of data are arranged in circumferential tracks on the CD-ROM.
Claim 33
Dependent Claim 61 words
The article of manufacture of claim 24, wherein the machine instructions further implement identifying a plurality of pages with which different objects are associated, and processing the objects on each page to determine the sequence in which the header sections of the data associated with each object on the page are to be stored in blocks on the nonvolatile storage device.
Claim 34
Dependent Claim 36 words
The article of manufacture of claim 24, wherein the machine instructions further implement binding the header section of the data associated with each object to a handler for that object prior to storing the header section.

References Cited (Backward Citations)

US4536836A Cited
US4680703A Cited
US5408634A Cited
US5262964A Cited
US5594881A Cited
US5390315A Cited
US5398222A Cited
US5394382A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-03-23 2001-09-22 2002-03-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-03-23 2005-09-22 2006-03-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-03-23 2009-09-22 2010-03-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag