# US 7,466,443 B2 · Method of and device for and computer program for accessing data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,466,443 B2
- Document ID: US7466443B2
- Status: Granted
- Kind: B2
- Application number: 10/420,258
- Filed: 2003-04-22
- Published: 2004-01-15
- Granted: 2008-12-16
- Earliest claimed: 2002-04-22
- Assignees: Oce Printing Systems GmbH
- Inventors: Helmut Weiner; Herbert Hundsnurscher
- Web page: https://patentgrep.com/patent/US7466443B2

## CPC

- G06F 3/1213: {at an intermediate node or at the final node}
- G06F 3/125: {Page layout or assigning input pages onto output media, e.g. imposition}
- G06F 3/1284: {Local printer device}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and a device for accessing data wherein the data is sequentially stored as data objects. The data objects are identified by a control variable having consecutive integer values. The control variable and the memory address is determined of a first known data object and an estimate for the size of a data object is determined therefrom. The control variable of the requested data object is multiplied by the estimate, as a result whereof an initial value for a memory address of the requested data object is formed. The actual control variable of the data object stored under the initial value is determined, the search for the requested data object being terminated in the case of correspondence between the actual control variable and the desired control variable, and otherwise the search is continued.

## Claims

### Claim 1

A method of accessing print data, comprising the steps of:
storing data of printed pages sequentially page-by-page as data objects at addresses in a memory;
identifying the data objects by corresponding control variables having consecutive integer values;
initiating a search for a requested print page, including:
determining a control variable and a memory address of an appertaining data object of a first known print page and determining an estimate for a size of the data object of a print page;
forming an initial value for a memory address for the requested print page by multiplying a control variable of the requested print page by the estimate;
determining an actual control variable of a data object stored in the memory under the initial value of the memory address;
terminating the search for the requested page in case of correspondence between the actual control variable of the data object stored in the memory and the control variable of the requested page; and
otherwise continuing the search.

### Claim 2 (depends on 1)

A method according to claim 1, wherein the first known print page is a currently last stored print page.

### Claim 3 (depends on 1)

A method according to claim 1, wherein all data objects are contained in a data file.

### Claim 4 (depends on 1)

A method according to claim 1, further comprising the step of:
repeating said step of searching at least once;
using said initial value formed in said forming step as the memory address for the first known print page in the step of determining the control variable of the first known print page during said repeated searching, and
using the actual control variable determined in said step of determining the actual control variable as the control variable during said repeated searching.

### Claim 5 (depends on 4)

A method according to claim 4, wherein said step of searching is repeated until the actual control variable deviates from the control variable of the requested print page by at most a predetermined value.

### Claim 6 (depends on 5)

A method according to claim 5, wherein said predetermined value is in a range of 2 and 1000.

### Claim 7 (depends on 5)

A method as claimed in claim 5, wherein said predetermined value is 10.

### Claim 8 (depends on 4)

A method according claim 4, further comprising the step of:
using a control variable of a respective data object which is adjacent to an actually determined data object as the control variable of the known first print page during said repeated searching, and
using the memory address of the adjacent data object is used as the memory address during said repeated searching.

### Claim 9 (depends on 5)

A method according to claim 5, further comprising the step of:
continuing said searching step by performing a linear search up to the data object of the requested print page.

### Claim 10 (depends on 1)

A method according to claim 1, wherein said step of storing includes storing the data objects in at least one of: a main memory and a hard disk memory and a removable medium store and a magnetic tape memory.

### Claim 11 (depends on 1)

A method according to claim 1, wherein said control variable is a consecutive page number of a respective print page in a print data stream.

### Claim 12 (depends on 3)

A method according to claim 3, wherein said data file contains further data objects with resources, the data objects with resources being stored at memory addresses before the data objects with data of the print pages.

### Claim 13 (depends on 12)

A method according to claim 12, further comprising the step of:
storing the control variable and the memory location of the data object with data of a print page first stored in the data file for each data object with data of a print page.

### Claim 14 (depends on 1)

A method according to claim 1, further comprising the step of:
reading out at least the data of the data object of the requested print page from a memory by a data processing unit; and
outputting the data.

### Claim 15 (depends on 14)

A method according to claim 14, wherein said outputting step outputs the data on a display screen using a display program.

### Claim 16 (depends on 14)

A method as claimed in claim 14, wherein said outputting step outputs the data on a printer using a print job management unit.

### Claim 17 (depends on 1)

A method according to claim 1, wherein at least several of the data objects have differing sizes.

### Claim 18 (depends on 17)

A method according to claim 17, wherein the data objects are of a size in a range of one kilobyte to one gigabyte.

### Claim 19 (depends on 1)

A method according to claim 1, wherein said storing step stores data objects of a first type and at least of a second type; and further comprising the steps of:
using only data objects of the first type for implementing the searching step when accessing a data object of the first type; and
using only data objects of the second type for implementing the searching step when accessing a data object of the second type.

### Claim 20

A device for accessing print data, comprising:
a memory in which data of print pages is sequentially stored page-by-page as data objects, the data objects being identified by a control variable having consecutive integer values;
a data processing unit that is operable to first determine the control variable and the memory address of the appertaining data object of a first known print page and then determine an estimate for a size of the data object of a print page therefrom, said data processing unit being operable to form an initial value for a memory address for a requested print page by multiplying the control variable of the requested print page by the estimate, said data processing unit being operable to determine the actual control variable of the data object stored under the initial value, and in the case of correspondence between the actual control variable and the desired control variable terminates the search for the requested print page, and otherwise continues the search.

### Claim 21

A method of accessing resources, comprising the steps of:
storing data of resources sequentially as data objects in a memory, the data objects being identified by a control variable having consecutive integer values,
determining first the control variable and a memory address in the memory of an appertaining data object of a first known resource and determining an estimate for a size of the data object of a resource therefrom;
forming an initial value for a memory address for a requested resource by multiplying the control variable of a requested resource by the estimate;
determining an actual control variable of a data object stored in the memory under the initial value in a search;
terminating the search in case of correspondence between the actual control variable and the control variable for the requested resource; and
otherwise continuing the search.

### Claim 22

A method of accessing data, comprising the steps of:
storing data of data objects sequentially in a memory;
identifying the data objects by a control variable having consecutive integer values;
first determining the control variable and a memory address in the memory of the data object of a first known print page and an estimate for an average size of a data object;
in a search, forming an initial value for the memory address for a requested data object by multiplying the control variable of the requested data object by the estimate;
determining an actual control variable of the data object stored in the memory under the initial value;
terminating the search for the requested data object in case of correspondence between the actual control variable and the requested control variable; and
otherwise continuing the search.

### Claim 23

A computer readable medium on which is stored in computer readable form a computer program for accessing data objects in a memory, comprising:
a data access controller for controlling access to the memory;
an input for accepting a request for a data object as a requested data object; and
program modules which are operable when executed on a computer to perform the steps of:
storing data of the data objects sequentially in the memory;
identifying the data objects by a control variable having consecutive integer values;
initiating a search for the requested data object by first determining the control variable and a memory address in the memory of the data object of a first known print page and an estimate for an average size of a data object;
in the search, forming an initial value for the memory address for a requested data object by multiplying the control variable of the requested data object by the estimate;
determining an actual control variable of the data object stored in the memory under the initial value;
terminating the search for the requested data object in case of correspondence between the actual control variable and the requested control variable; and
otherwise continuing the search.

### Claim 24

A data storage media having stored thereon a computer program, comprising:
program modules which are operable when executed on a computer to perform the steps of:
storing data of the data objects sequentially in a memory;
identifying the data objects by a control variable having consecutive integer values;
initiating a search for a requested data object by first determining the control variable and a memory address in the memory of the data object of a first known print page and an estimate for an average size of a data object;
in the search, forming an initial value for the memory address for a requested data object by multiplying the control variable of the requested data object by the estimate;
determining an actual control variable of the data object stored in the memory under the initial value;
terminating the search for the requested data object in case of correspondence between the actual control variable and the requested control variable; and
otherwise continuing the search.
