Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Presentation-Specific Copy-on-Write

IP.com Disclosure Number: IPCOM000010605D
Original Publication Date: 2002-Dec-20
Included in the Prior Art Database: 2002-Dec-20
Document File: 2 page(s) / 39K

Publishing Venue

IBM

Abstract

Presentation Specific Copy-on-Write

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 67% of the total text.

Page 1 of 2

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...