Original Publication Date: 2002-Dec-20
Included in the Prior Art Database: 2002-Dec-20
Presentation Specific Copy-on-Write
Presentations can be big, especially when they use many graphics. Big presentations are inconvenient since they use both disk and memory.
Presentations can be compressed statically, e.g., using Zip, but such compressed presentations are not available for display of modification.
Copy-on-write (COW) is a technique used by operating systems (OSs) and storage devices to reduce storage requirements. (For example, see http://www.crucial.com/library/MemoryForLinux.asp.) Using COW, when a copy of a memory page or storage block is made, instead of copying the data, a "reference count" for the page is incremented. If a user of a page with a reference count greater than 1 modifies the page, a copy is then made (copied on write), and the reference count is decremented.
The problem with this technique is that COW techniques work on fixed-sized memory areas, and presentation objects are variable length. In addition, applying COW to an entire OS or storage system slows down processing.
We disclose the application of COW to presentation objects, introducing the space-reducing benefits of COW while not detracting from overall system performance.
In addition, we disclose the application of COW to variable-length, presentation objects. This eliminates "false positives" -- that is, when two objects share a COW block, and a change is made to one, the entire block is copied, wasting space.
When a presentation object is created, a pointer to the obj...