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

Caching/prewarming data loaded from CD-ROM

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

Abstract

Abstract Data defining pages and objects of a multimedia work are transferred in the background to minimize delays that would otherwise be incurred. In playing a multimedia work that is recorded on a CD-ROM, a personal computer (10) that includes a central processing using (CPU) (23) transfers data for selected pages and for objects on a page of the multimedia work into a cache, using free CPU cycles, so that the data are available when needed. This technique is particularly useful in transferring data for animation objects of a multimedia work, since it enables two animations to play concurrently without incurring a delay to load the data for the second animation when the page is loaded and avoids interrupting the execution of the first animation at the time that the second animation must start executing. An authoring program used to create the multimedia work enables the author to select the pages and objects on a page that are to be prewarmed in this manner.

Inventors

  • 👤 Matthew W. Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 14:38
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F16/00; G06F16/10; G06F12/0866

Claims Analysis

Total Claims: 46
Claim 1
Independent Claim 200 words
A method for transferring data from a storage medium to the memory of a computer, the data being divided into discrete portions, each of which is used by a central processor of the computer to perform a different defined task, said method comprising the steps of: (a) transferring a first discrete portion of the data from the storage medium to the memory of the computer when initiating execution of the defined task for which the first discrete portion of the data is used; and (b) prior to initiating use of the first discrete portion of the data by the central processor of the computer and during times when the central processor of the computer is not needed for executing any other task, transferring a second discrete portion of the data that will subsequently be used by the computer for a different defined task, from the storage medium to the memory of the computer, so that at least a part of said second discrete portion of the data is already stored in the memory of the computer for use prior to said data being needed for executing the defined task for which the second discrete portion of the data is used.
Claim 2
Independent Claim 200 words
A method for transferring data from a storage medium to the memory of a computer, the data being divided into discrete portions, each of which is used by a central processor of the computer to perform a different defined task, said method comprising the steps of: (a) transferring a first discrete portion of the data from the storage medium to the memory of the computer when initiating execution of the defined task for which the first discrete portion of the data is used; and (b) prior to initiating use of the first discrete portion of the data by the central processor of the computer and during times when the central processor of the computer is not needed for executing any other task, transferring a second discrete portion of the data that will subsequently be used by the computer for a different defined task, from the storage medium to the memory of the computer, so that at least a part of said second discrete portion of the data is already stored in the memory of the computer for use prior to said data being needed for executing the defined task for which the second discrete portion of the data is used.
Claim 3
Dependent Claim 96 words
The method of claim 1, wherein the memory of the computer comprises a cache that includes a demand section and an optional section, said demand section initially being loaded with data from the storage medium that are needed by the central processor to instantiate the first and the second portions of the data, and said optional section being initially loaded with the first discrete portion of the data and subsequently loaded with at least a part of the second discrete portion of the data while the central processor is not needed for executing any other tasks.
Claim 4
Dependent Claim 31 words
The method of claim 2, further comprising the step of shifting said at least part of the second discrete portion of the data from the optional section into the demand section.
Claim 5
Dependent Claim 24 words
The method of claim 2, further comprising the step of enabling a user to determine parameters that affect a maximum size of the cache.
Claim 6
Dependent Claim 38 words
The method of claim 4, wherein the demand section can exceed the maximum size of the cache determined by the user if necessary to load parts of the discrete portions of the data required by the central processor.
Claim 7
Dependent Claim 41 words
The method of claim 1, further comprising the step of enabling a user to specify specific discrete portions of the data that will be loaded into the computer memory when the central processo.r is not needed for executing any other task.
Claim 8
Dependent Claim 77 words
The method of claim 1, wherein the discrete portions of the data define at least one of a page and an object of a multimedia work stored on a CD-ROM, and wherein the steps of transferring comprise the steps of reading the discrete portions of the data for said at least one of the page and the object from the CD-ROM; and transferring the discrete portions of the data into a cache accessible by the central processor.
Claim 9
Independent Claim 235 words
A method for transferring data for different objects from a CD-ROM to a computer RAM for use in executing the objects to minimize delays when playing a portion of a multimedia work with a central processor of a computer, comprising the steps of: (a) transferring the data for a first object from the CD-ROM to the computer RAM; (b) before beginning to execute the first object with the central processor and during times when the central processor is not needed for executing any other task, prewarming a second object that will subsequently be executed by the central processor, by transferring the data for the second object from the CD-ROM to the computer RAM only when no other task is interrupted or delayed by the transfer of the data; and (c) beginning to execute the first object and the second object with the central processor when play of the first and the second objects is respectively initiated in the multimedia work, said central processor being thus enabled to execute said second object substantially without incurring a delay in the execution of the first object that would otherwise have been incurred to transfer the data for the second object from the CD-ROM, and being enabled to instantiate the first object and the second object, and carry out other tasks without first transferring all of the data for the second object from the CD-ROM to the computer memory.
Claim 10
Independent Claim 235 words
A method for transferring data for different objects from a CD-ROM to a computer RAM for use in executing the objects to minimize delays when playing a portion of a multimedia work with a central processor of a computer, comprising the steps of: (a) transferring the data for a first object from the CD-ROM to the computer RAM; (b) before beginning to execute the first object with the central processor and during times when the central processor is not needed for executing any other task, prewarming a second object that will subsequently be executed by the central processor, by transferring the data for the second object from the CD-ROM to the computer RAM only when no other task is interrupted or delayed by the transfer of the data; and (c) beginning to execute the first object and the second object with the central processor when play of the first and the second objects is respectively initiated in the multimedia work, said central processor being thus enabled to execute said second object substantially without incurring a delay in the execution of the first object that would otherwise have been incurred to transfer the data for the second object from the CD-ROM, and being enabled to instantiate the first object and the second object, and carry out other tasks without first transferring all of the data for the second object from the CD-ROM to the computer memory.
Claim 11
Dependent Claim 25 words
The method of claim 8, further comprising the step of enabling an author of the multimedia work to designate objects that are to be prewarmed.
Claim 12
Dependent Claim 53 words
The method of claim 8, wherein the multimedia work comprises a plurality of pages, said pages each comprising at least one object, and wherein the computer memory comprises a cache for buffering the data for the objects, further comprising the step of enabling an author to determine a maximum size for the cache.
Claim 13
Dependent Claim 45 words
The method of claim 10, further comprising the step of enabling a user to select specific pages on which the data for at least one object will be prewarmed by transfer to the computer memory from the CD-ROM when the central processor is otherwise inactive.
Claim 14
Dependent Claim 59 words
The method of claim 10, wherein the cache comprises a demand section and an optional section, said demand section being initially loaded with a portion of the data for the objects on a page, said portion of the data being that required to instantiate said objects when said page of the multimedia work is initially opened by the computer.
Claim 15
Dependent Claim 24 words
The method of claim 12, wherein the demand section of the cache can exceed the maximum size of the cache determined by the author.
Claim 16
Dependent Claim 37 words
The method of claim 12, wherein the step of transferring the data for the second object comprises the step of loading the data for the second object into the optional section of the cache from the CD-ROM.
Claim 17
Dependent Claim 37 words
The method of claim 14, further comprising the step of shifting the data for the second object from the optional section of the cache to the demand section of the cache when the central processor changes pages.
Claim 18
Dependent Claim 59 words
The method of claim 12, further comprising the steps of enabling an author of the multimedia work to select other objects for prewarming; and transferring data into the optional section of the cache for the other objects on a page that are selected for prewarming during times that the central processor is not needed to execute any other task.
Claim 19
Dependent Claim 31 words
The method of claim 16, wherein the data for any object that are already in the demand section are not transferred into the optional section of the cache from the CD-ROM.
Claim 20
Dependent Claim 58 words
The method of claim 16, wherein the optional section has a head end and a tail end, further comprising the step of shifting data for an object that will be called for execution on the current page to the head of the optional section, wherein said data have previously been transferred into the optional section from the CD-ROM.
Claim 21
Independent Claim 259 words
A system for transferring discrete sections of data from a storage device, so as to minimize delays in using the discrete sections of the data when each discrete section is needed to perform part of a task, comprising: a computer that uses the discrete sections of data, different discrete sections of the data being used by the computer at different times to perform the part of the task associated therewith, said computer including: (a) a central processor that executes machine instructions to carry out functions performed by the computer; (b) a memory that is used to store data for programs executing on the computer and to store the machine instructions that control the computer in executing said programs; and (c) an interface that couples the computer to the storage device, enabling the computer to access and transfer related sections of data from the storage device to the memory in order to execute the task, said central processor responding to machine instructions that cause one section of the data to be transferred to the memory initially to initiate said task, and thereafter, when the central processor is not needed for executing any other function, prewarming another section of the data by transferring the other section of data to the memory, so that the other section of the data is subsequently available for use by the central processor before needed to perform the part of said task associated therewith, to minimize any delay in executing the task that would otherwise be incurred in order to transfer the other section of data.
Claim 22
Independent Claim 259 words
A system for transferring discrete sections of data from a storage device, so as to minimize delays in using the discrete sections of the data when each discrete section is needed to perform part of a task, comprising: a computer that uses the discrete sections of data, different discrete sections of the data being used by the computer at different times to perform the part of the task associated therewith, said computer including: (a) a central processor that executes machine instructions to carry out functions performed by the computer; (b) a memory that is used to store data for programs executing on the computer and to store the machine instructions that control the computer in executing said programs; and (c) an interface that couples the computer to the storage device, enabling the computer to access and transfer related sections of data from the storage device to the memory in order to execute the task, said central processor responding to machine instructions that cause one section of the data to be transferred to the memory initially to initiate said task, and thereafter, when the central processor is not needed for executing any other function, prewarming another section of the data by transferring the other section of data to the memory, so that the other section of the data is subsequently available for use by the central processor before needed to perform the part of said task associated therewith, to minimize any delay in executing the task that would otherwise be incurred in order to transfer the other section of data.
Claim 23
Dependent Claim 23 words
The system of claim 19, wherein the storage device comprises a CD-ROM, and wherein the interface comprises a CD-ROM drive and control circuit.
Claim 24
Dependent Claim 48 words
The system of claim 20, wherein the related sections of data comprise a multimedia work, each section of data defining at least one of a page and an object, said one of the page and the object being executed when the multimedia work is played by the computer.
Claim 25
Dependent Claim 30 words
The system of claim 19, wherein the memory comprises RAM and ROM, said related sections of data being transferred to a cache provided in the RAM by the central processor.
Claim 26
Dependent Claim 78 words
The system of claim 22, wherein the cache includes a demand section that stores portions of the data that are initially required to instantiate the data for use and an optional section that stores portions of the data that are subsequently required when executing the data, at least some of the data transferred from the storage device during the free cycles of the central processor being stored in the optional section of the cache by the central processor.
Claim 27
Dependent Claim 238 words
An article of manufacture, adapted for use by a computer to control caching of data loaded into a memory of the computer, wherein said data are divided into a plurality of discrete portions, each portion of the data being used for a different defined task, said article of manufacture comprising: a memory medium on which are stored a plurality of machine instructions, said machine instructions, when implemented on a computer, controlling the transfer of data from a storage device into the memory of the computer, so that: (a) a first discrete portion of the data is transferred from the storage device to the memory of the computer when beginning execution of a defined task that requires the data; and (b) prior to initiating the use of the first discrete portion of the data by the computer and during any free system cycles when the computer is not needed for executing any other functions, transferring at least a part of a second discrete portion of the data that will subsequently be used by the computer to perform a defined task for which the second discrete portion is used, from the storage device to the memory of the computer, so that said second discrete portion of the data is already stored in the memory of the computer for use by the computer when needed in executing the defined task for which the second discrete portion of the data is used.
Claim 28
Dependent Claim 238 words
An article of manufacture, adapted for use by a computer to control caching of data loaded into a memory of the computer, wherein said data are divided into a plurality of discrete portions, each portion of the data being used for a different defined task, said article of manufacture comprising: a memory medium on which are stored a plurality of machine instructions, said machine instructions, when implemented on a computer, controlling the transfer of data from a storage device into the memory of the computer, so that: (a) a first discrete portion of the data is transferred from the storage device to the memory of the computer when beginning execution of a defined task that requires the data; and (b) prior to initiating the use of the first discrete portion of the data by the computer and during any free system cycles when the computer is not needed for executing any other functions, transferring at least a part of a second discrete portion of the data that will subsequently be used by the computer to perform a defined task for which the second discrete portion is used, from the storage device to the memory of the computer, so that said second discrete portion of the data is already stored in the memory of the computer for use by the computer when needed in executing the defined task for which the second discrete portion of the data is used.
Claim 29
Dependent Claim 96 words
The article of manufacture of claim 24, wherein the memory of the computer includes a cache having a demand section and an optional section, said demand section initially being loaded with data from the storage device that are needed to instantiate the first and the second portions of the data, and said optional section being initially loaded with the first discrete portion of the data and subsequently loaded with at least part of the second discrete portion of the data during any free system cycles in which the central processor is free from executing other tasks.
Claim 30
Dependent Claim 37 words
The article of manufacture of claim 25, wherein the machine instructions provide for shifting said at least part of the second discrete portion of the data from the optional section into the demand section of the cache.
Claim 31
Dependent Claim 25 words
The article of manufacture of claim 25, wherein the machine instructions enable a user to determine parameters that affect a maximum size of the cache.
Claim 32
Dependent Claim 44 words
The article of manufacture of claim 27, wherein the demand section can exceed the maximum size of the cache determined by the user if necessary to load parts of the discrete portions of the data required for execution of the task by the computer.
Claim 33
Dependent Claim 37 words
The article of manufacture of claim 24, wherein the machine instructions enable a user to specify specific discrete portions of the data that will be loaded into the memory during any free system cycles of the computer.
Claim 34
Dependent Claim 33 words
The article of manufacture of claim 24, wherein the discrete portions of the data define at least one of a page and an object of a multimedia work stored on the storage device.
Claim 35
Independent Claim 110 words
A method for storing data used in performing a plurality of successive tasks on a computer, said data being recorded on a storage device, comprising the steps of: (a) providing a cache in a memory of the computer, said cache including a demand section and an optional section; (b) initially loading said demand section of the cache with data transferred from the storage device that are required to initiate a first task of the plurality of successive tasks; and (c) loading said optional section of the cache with data transferred from the storage device that will subsequently be used for performing a second task of the plurality of successive tasks.
Claim 36
Independent Claim 110 words
A method for storing data used in performing a plurality of successive tasks on a computer, said data being recorded on a storage device, comprising the steps of: (a) providing a cache in a memory of the computer, said cache including a demand section and an optional section; (b) initially loading said demand section of the cache with data transferred from the storage device that are required to initiate a first task of the plurality of successive tasks; and (c) loading said optional section of the cache with data transferred from the storage device that will subsequently be used for performing a second task of the plurality of successive tasks.
Claim 37
Dependent Claim 26 words
The method of claim 31, further comprising the step of shifting the data from the optional section into the demand section after performing the first task.
Claim 38
Dependent Claim 24 words
The method of claim 31, further comprising the step of enabling a user to determine parameters that affect a maximum size of the cache.
Claim 39
Dependent Claim 37 words
The method of claim 33, wherein the demand section of the cache can exceed the maximum size of the cache determined by the user if necessary to store the data required for the completing the first task.
Claim 40
Dependent Claim 39 words
The method of claim 31, wherein data used for performing other successive tasks are transferred from the storage device to the optional section of the cache if said data are not already in the demand section of the cache.
Claim 41
Dependent Claim 132 words
An article of manufacture adapted to be employed on a computer for storing data used in performing a plurality of successive tasks on a computer, said data being stored on a storage device, comprising: a memory medium for storing machine instructions that are executable on the computer, said machine instructions providing for: (a) creating a cache in a memory of the computer, said cache including a demand section and an optional section; (b) initially loading said demand section of the cache with data from a storage device that are required to initiate a first task of the plurality of successive tasks; and (c) loading said optional section of the cache with data from the storage device that will subsequently be used for performing a second task of the plurality of successive tasks.
Claim 42
Dependent Claim 132 words
An article of manufacture adapted to be employed on a computer for storing data used in performing a plurality of successive tasks on a computer, said data being stored on a storage device, comprising: a memory medium for storing machine instructions that are executable on the computer, said machine instructions providing for: (a) creating a cache in a memory of the computer, said cache including a demand section and an optional section; (b) initially loading said demand section of the cache with data from a storage device that are required to initiate a first task of the plurality of successive tasks; and (c) loading said optional section of the cache with data from the storage device that will subsequently be used for performing a second task of the plurality of successive tasks.
Claim 43
Dependent Claim 30 words
The article of manufacture of claim 36, wherein the machine instructions further provide for shifting the data from the optional section into the demand section after performing the first task.
Claim 44
Dependent Claim 28 words
The article of manufacture of claim 36, wherein the machine instructions further provide for enabling a user to determine parameters that affect a maximum size of the cache.
Claim 45
Dependent Claim 39 words
The article of manufacture of claim 38, wherein the demand section of the cache can exceed the maximum size of the cache determined by the user if necessary to store the data required for the completing the first task.
Claim 46
Dependent Claim 41 words
The article of manufacture of claim 36, wherein data used for performing other successive tasks are transferred from the storage device to the optional section of the cache if said data are not already in the demand section of the cache.

References Cited (Backward Citations)

US5261072A Cited
US5664224A Cited
US5577224A Cited
US5604906A 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