# US 5,353,401 A · Automatic interface layout generator for database systems

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

- Number: US 5,353,401 A
- Document ID: US5353401A
- Status: Granted
- Kind: A
- Application number: 07/973,057
- Filed: 1992-11-06
- Granted: 1994-10-04
- Earliest claimed: 1992-11-06
- Assignees: Ricoh Company, Ltd.
- Inventors: Atsushi Iizawa; Yukari Shirota; Arturo Pizano
- Web page: https://patentgrep.com/patent/US5353401A

## CPC

- G06F 16/289: {Object oriented databases}
- G06F 16/93: Document management systems
- Y10S 706/921: Layout, e.g. circuit, construction
- Y10S 707/99943: Generating database or data structure, e.g. via user interface
- Y10S 715/967: Visual or iconic programming
- Y10S 715/968: interface for database querying and retrieval
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

An automatic interface layout generator for database systems is disclosed herein. The automatic generator includes a specification tool for specifying a set of block descriptions representative of specified portions of a database. A block layout generator produces interface objects to be included within an interface of the database, wherein each of the interface objects corresponds to one of the block descriptions and includes a plurality of layout fields. A layout quality parameter is determined for each of the interface objects based on arrangement of the layout fields within the interface objects. A block placement generator arranges sets of the interface objects into block configurations within the interface. A placement quality parameter for each of the block configurations is derived based on a set of block placement rules and on the layout quality parameters, and a final block configuration is selected by comparing the placement quality parameters corresponding to particular block configurations.

## Claims

### Claim 1

An automatic interface layout generator for database systems comprising:
means for specifying a set of block descriptions representative of specified portions of a database;
means for providing interface objects to be included within an interface of said database wherein each of said interface objects corresponds to one of said block descriptions and includes a plurality of layout fields and each of said block descriptions has associated therewith a set of said interface objects, said set of interface objects associated with each of a plurality of said block descriptions including a plurality of interface objects having varying placements of said plurality of layout fields and/or varying layout field attributes that affect the size and shade of said plurality of interface objects such that said plurality of interface objects associated with each said block description have a plurality of distinct shapes;
means for determining a layout quality parameter for each of said interface objects based on layout of said layout fields within said interface objects;
block placement means for arranging sets of said interface objects into block configurations within said interface, said block placement means including means for placing, in a first of said block configurations, a first one of said plurality of interface objects associated with a first one of said block descriptions, and for placing, in a second of said block configurations, a second one of said plurality of interface objects associated with said first one of said block descriptions; and
means for determining a placement quality parameter for each of said block configurations based on a set of block placement rules and on said layout quality parameters, including means for selecting a final block configuration by comparing said placement quality parameters.

### Claim 2 (depends on 1)

The automatic interface layout generator of claim 1 wherein said block placement rules include guidelines relating to geometry of said block configurations.

### Claim 3 (depends on 2)

The automatic interface layout generator of claim 2 wherein said block placement rules include constraints relating to geometry of said block configuration relative to geometry of said interface.

### Claim 4 (depends on 1)

The automatic interface layout generator of claim 1 wherein said layout quality parameters are determined in accordance with layout guidelines relating to distribution of said layout fields within said interface objects.

### Claim 5 (depends on 4)

The automatic interface generator of claim 4 wherein said layout guidelines include:
a wasted space guideline corresponding to the ratio of area occupied by a first set of said layout fields included within one of said interface objects to area occupied by said one interface object, and
a balance guideline related to uniformity of distribution of said first set of layout fields over predefined regions of said one interface object.

### Claim 6 (depends on 1)

The automatic interface generator of claim 1 wherein each of said layout fields corresponds to one of a plurality of widget types, and wherein said means for generating a set of interface objects for each of said block descriptions includes means for assigning a widget type to each of said layout fields.

### Claim 7 (depends on 1)

The automatic interface generator of claim 1 wherein said block placement means includes means for iteratively arranging sets of said interface objects into block configurations on the basis of a simulated annealing procedure in which a pair of said placement quality parameters corresponding to a pair of said block configurations generated during successive iterations of said annealing procedure are compared so as to determine which of said pair of placement quality parameters is utilized in a subsequent iteration of said annealing procedure.

### Claim 8 (depends on 7)

The automatic interface generator of claim 7 further including means for perturbing said simulated annealing procedure in accordance with a perturbation function.

### Claim 9 (depends on 1)

The automatic interface generator of claim 1 further including code generator means for generating code corresponding to a display representation of said final block configuration.

### Claim 10

A method for automatically generating an interface layout for a database comprising the steps of:
specifying a set of block descriptions representative of specified portions of said database;
providing interface objects, based on said block descriptions, for inclusion within an interface of said database wherein each of said interface objects has a plurality of layout fields and each of said block descriptions has associated therewith a set of said interface objects, said step of providing interface objects including the step of varying placement of said layout fields at least among interface objects included within a first of said sets and/or varying layout field attributes that affect the size and shape of said interface objects in said first set such that said interface objects included within said first set are of a plurality of distinct shapes;
determining a layout quality parameter for each of said interface objects based on layout of said layout fields within said interface objects;
arranging first and second groups of said interface objects into first and second block configurations, respectively, within said interface wherein each of said groups includes an interface object from each of said sets of interface objects, said step of arranging including the step of placing a first one of said interface objects from said first set within a first of said block configurations and the step of placing a second one of said interface objects from said first set within a second of said block configurations; and
determining first and second placement quality parameters for said first and second block configurations, respectively, based on a set of block placement rules and on said layout quality parameters, including means for selecting a final block configuration by comparing said first and second placement quality parameters.

### Claim 11 (depends on 10)

The method of claim 10 wherein said step of determining said layout quality parameters includes the step of generating said layout quality parameters in accordance with layout guidelines relating to distribution of said layout fields within said interface objects.

### Claim 12 (depends on 11)

The method of claim 11 wherein said step of generating said layout quality parameters includes the steps of:
determining a wasted space guideline corresponding to the ratio of area occupied by a first set of said layout fields included within one of said interface objects to area occupied by said one interface object, and
determining a balance guideline related to uniformity of distribution of said first set of layout fields over predefined regions of said one interface object.

### Claim 13 (depends on 10)

The method of claim 10 wherein each of said layout fields corresponds to one of a plurality of widget types, and wherein said step of generating a set of interface objects for each of said block descriptions includes the step of assigning a widget type to each of said layout fields.
