# US 6,917,941 B2 · Method and apparatus for creation and maintenance of database structure

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

- Number: US 6,917,941 B2
- Document ID: US6917941B2
- Status: Granted
- Kind: B2
- Application number: 10/035,635
- Filed: 2001-12-28
- Published: 2003-07-10
- Granted: 2005-07-12
- Earliest claimed: 2001-12-28
- Assignees: Channel Intelligence, Inc.
- Inventors: Robert Wight; Josh Griffin; Timothy Tryzbiak; Anibal Santiago; Dale Couch; Edward H. Benson, III; David A. Crossmier, III; David M. Schrader
- Web page: https://patentgrep.com/patent/US6917941B2

## CPC

- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- G06Q 30/0601: Electronic shopping [e-shopping]
- G06Q 30/0623: {by investigating goods or services}
- Y10S 707/99933: Query processing, i.e. searching
- Y10S 707/99944: Object-oriented database structure
- Y10S 707/99945: Object-oriented database structure processing
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

The invention provides a method for configuring a database system to store information regarding a plurality of items, the method comprising: establishing a database on a computer system; establishing within the database a first object corresponding to a first item of the plurality of items; generating within the first object at least one field; associating a field identifier with each the field; and storing at least a portion of the information within each the field; the database system configured to store information regarding a plurality of items, each item in the plurality of items having at least one item attribute, the database system comprising a computer having memory, a database stored in said memory, a first object in said database corresponding to one item of the plurality of items, said first object corresponding to the first item, at least one field in said first object, a field identifier associated with each said field, and information regarding said first item stored in said first object.

## Claims

### Claim 1

A method for configuring a database system to store a plurality of lists containing information regarding a plurality of items comprising:
establishing a list database on a server computer system, said list database including a plurality of lists, each associated with a corresponding list identifier, said plurality of lists including a first list associated with a first list identifier;
establishing a management tool on a client computer system, remote from said server computer system, said management tool including said list identifier;
establishing a communications link between said client computer system and said server computer system;
retrieving said first list from said list database to said management tool responsive to said first list identifier;
revising said retrieved first list on said client computer system using said management tool; and
updating said first list in said list database to reflect the revision to said retrieved first list.

### Claim 2 (depends on 1)

The method of claim 1 wherein said establishing a list database comprises:
establishing within said list database a first list object corresponding to said first list;
generating within said first list object a first list field;
associating a first list identifier with said first list object;
wherein said retrieving comprises retrieving said first list object from said list database;
wherein said revising comprises storing in said first list field of said retrieved first list object information regarding one of the plurality of items, said one of the plurality of items being the first item; and
wherein said updating comprises updating said first list object in said list database to reflect the revision to said retrieved first list object.

### Claim 3 (depends on 2)

The method of claim 2 wherein said generating comprises associating a first list field identifier with said first list field, said first list field identifier corresponding to the information stored in said first list field.

### Claim 4 (depends on 3)

The method of claim 3 wherein said revising comprises storing in said first list field information corresponding to said first list field identifier.

### Claim 5 (depends on 2)

The method of claim 2 wherein said associating comprises:
generating said first list identifier; and
associating said first list identifier with said first list object.

### Claim 6 (depends on 5)

The method of claim 5 wherein said first list identifier is unique.

### Claim 7 (depends on 6)

The method of claim 6 wherein said first list identifier includes a user name and password generated by a user of said list database.

### Claim 8 (depends on 2)

The method of claim 2 wherein said revising comprises:
establishing an item database on said server computer system, said item database including stored information relating to said first item; and
creating a pointer in said first list field referencing said information relating to said first item stored in said item database.

### Claim 9 (depends on 2)

The method of claim 2 wherein said revising comprises:
establishing an item database on said server computer system, said item database including stored information relating to said first item; and
creating a copy in said first list field of said information relating to said first item stored in said item database.

### Claim 10 (depends on 2)

The method of claim 2 wherein said revising comprises, responsive to a command issued to said management tool, identifying said first list field and revising said first list field to remove said stored information regarding said first item from said first list field.

### Claim 11 (depends on 2)

The method of claim 2 wherein said revising comprises the steps of:
establishing an item database on said server computer system, said item database including first item information relating to a first item; and
responsive to a command issued by said management tool, revising said first list field to include a pointer referencing said first item.

### Claim 12 (depends on 11)

The method of claim 11, comprising:
retrieving said first item information from said item database to said management tool; and
displaying a graphical representation of said first item information on a user interface of said management tool.

### Claim 13 (depends on 2)

The method of claim 2 wherein said revising comprises:
capturing information relating to a first provided item; and
revising said first list field to include a pointer referencing said first provided item.

### Claim 14 (depends on 13)

The method of claim 13 wherein said capturing comprises:
establishing a communications link between said client computer system and an item provider computer system, said item provider computer system remote from said client computer system and including information relating to a first provided item; and
responsive to a command issued to said management tool, locating said first provided item on said item provider computer system, and
capturing said information relating to said first provided item.

### Claim 15 (depends on 14)

The method of claim 14 wherein said capturing comprises the steps of:
providing a template database on a template database server computer system remote from said client computer system, said template database including one or more templates, each corresponding to an information structure;
determining a structure for said information relating to said first provided item;
retrieving a template corresponding to said structure from said template database to said management tool;
applying said template to said provided item information to parse said information relating to said first provided item; and
capturing said parsed information with said management tool.

### Claim 16 (depends on 13)

The method of claim 13 wherein said revising comprises:
establishing an item database on said server computer system, said item database storing information relating to a plurality of items;
comparing said captured information relating to said first provided item with said information stored in said item database relating to the plurality of items;
responsive to a pro-established rule, revising said information stored in said item database relating to the plurality of items to include said information relating to said first provided item; and
revising said first list field to include a pointer referencing said information relating to first provided item in said item database.

### Claim 17 (depends on 16)

The method of claim 16 wherein said responsive to a pre-established rule, revising said information stored in said item database relating to the plurality of items comprises:
determining if said information stored in said item database relating to the plurality of items includes said captured information relating to said first provided item; and
revising said information stored in said item database relating to the plurality of items to include said captured information relating to said first provided item if said information stored in said item database relating to the plurality of items does not include said captured information relating to said first provided item.

### Claim 18 (depends on 2)

The method of claim 2 wherein said revising comprises:
providing information relating to a first provided item to said management tool;
establishing an item database on said server computer system, said item database storing information relating to a plurality of items;
revising said information stored in said item database relating to the plurality of items to include said information relating to said first provided item; and
revising said first list field to include a pointer referencing said information relating to said first provided item in said item database.

### Claim 19 (depends on 2)

The method of claim 2 wherein said first list field stores information regarding a first item, and comprising, responsive to a command issued by said management tool:
establishing a communications link between said client computer system and an item provider computer system, said item provider computer system remote from said client computer system and offering said first item for sale; and
facilitating the purchase of said first item from said item provider computer system.

### Claim 20 (depends on 19)

The method of claim 19 wherein said revising comprises the step of:
capturing purchase information relating to the purchase of said first item; and
updating said first list in said list database to reflect the inclusion of said purchase information in said retrieved first list.

### Claim 21 (depends on 20)

The method of claim 20 wherein said purchase information comprises information relating to one or more of: price, quantity, shipping method, and delivery date.

### Claim 22 (depends on 2)

The method of claim 2 wherein said establishing a communications link between said client computer system and said server computer system comprises establishing a communications link using one or more of the Internet, a wide area network, and a local area network.

### Claim 23 (depends on 22)

The method of claim 22 wherein said establishing a communications link between said client computer system and said list database server computer system comprises the steps of:
providing a browser tool on said client computer system;
instructing said browser tool to locate said item provider computer system; and
instructing said browser tool to search said item provider computer system for said provided item information.

### Claim 24 (depends on 2)

The method of claim 2 comprising:
establishing an item database on said server computer system;
establishing within said item database a first item object corresponding to the first item;
generating within said first item object at least one item field;
associating an item field identifier with each said item field; and
storing at least a portion of the information regarding the first item within each said item field.

### Claim 25 (depends on 24)

The method of claim 24 wherein said revising comprises storing in said first list field of said retrieved first list object a pointer referencing said first item object.

### Claim 26 (depends on 2)

The method of claim 2 comprising:
establishing an item database on said server computer system, said item database storing information relating to the plurality of items;
capturing information regarding a first provided item and information regarding a provider of said first provided item;
comparing said captured information with said information stored in said item database relating to the plurality of items to determine if said captured information is included in said information stored in said item database; and
revising said item database to any captured information not included in said information stored in said item database.

### Claim 27 (depends on 26)

The method of claim 26 wherein said revising comprises:
establishing within said item database a first item object corresponding said first provided item;
generating within said first item object at least one item field;
associating an item field identifier with each said item field; and
storing a portion of the information regarding the first provided item within each said item field.

### Claim 28 (depends on 27)

The method of claim 27 wherein said revising comprises storing in said first list field of said retrieved first list object a pointer referencing said first item object.

### Claim 29 (depends on 26)

The method of claim 26 wherein said revising comprises:
establishing within said item database a first provider object corresponding to said item provider;
generating within said first provider object at least one item field;
associating a provider field identifier with each said provider field; and
storing a portion of the information regarding the item provider within each said provider field.

### Claim 30 (depends on 29)

The method of claim 29 wherein said item database includes a first item object, comprising associating said provider object with said first item object.

### Claim 31 (depends on 1)

The method of claim 1 wherein said first list includes a first item and wherein said step of revising comprises the step of, responsive to a command issued to said management tool, identifying said first item and revising said retrieved first list to remove said first item from said retrieved list.

### Claim 32 (depends on 1)

The method of claim 1 wherein said revising comprises:
establishing an item database on an item database server computer system remote from said client computer system, said item database including item information relating to a first item;
responsive to a command issued by said management tool, retrieving said item information from said item database to said management tool; and
responsive to a command issued by said management tool, capturing said item information relating to said first item, and
revising said retrieved first list to include said item information relating to said first item.

### Claim 33 (depends on 1)

The method of claim 1 wherein said revising comprises:
establishing a communications link between said client computer system and an item provider computer system, said item provider computer system remote from said client computer system and including information relating to a first provided item;
responsive to a command issued to said client computer system, locating said first provided item on said item provider computer system;
capturing said information relating to said first provided item with said management tool; and
responsive to a command issued by said management tool, revising said retrieved first list to include said information relating to said first provided item.

### Claim 34 (depends on 33)

The method of claim 33 wherein said capturing comprises:
providing a template database on a template database server computer system remote from said client computer system, said template database including one or more templates, each corresponding to an information structure;
determining a structure for said information relating to said first provided item;
retrieving a template corresponding to said structure from said template database to said management tool;
applying said template to said provided item information to parse said information relating to said first provided item; and
capturing said parsed information with said management tool.

### Claim 35 (depends on 33)

The method of claim 33 wherein said revising said retrieved first list comprises:
establishing an item database on an item database server computer system remote from said client computer system, said item database including stored information relating to a first item;
comparing said information relating to said first provided item with said stored information relating to said first item;
responsive to a pre-established rule, revising said stored information relating to said first item to include said information relating to said first provided item; and
responsive to a command issued to said management tool, revising said retrieved first list to include said information relating to said first provided item.

### Claim 36 (depends on 35)

The method of claim 35 wherein said responsive to a pre-established rule, revising said information relating to said first item comprises:
determining if said information relating to said first provided item and said information relating to said first item relate to the same item; and
revising said information relating to said first item to include said information relating to said first provided item if said information relating to said first item relates to the same item as said information relating to said first provided item.

### Claim 37 (depends on 1)

The method of claim 1 wherein said revising comprises:
providing information relating to a first provided item to said management tool; and
responsive to a command issued to said management tool, revising said retrieved first list to include said information relating to said first provided item.

### Claim 38 (depends on 1)

The method of claim 1 wherein said retrieved first list includes a first item, said method further comprising, responsive to a command issued by said management tool:
establishing a communications link between said client computer system and an item provider computer system, said item provider computer system remote from said client computer system and offering said first item for sale; and
purchasing said first item from said item provider computer system.

### Claim 39 (depends on 38)

The method of claim 38 wherein said revising comprises the step of:
capturing purchase information relating to said purchase of said first item; and
updating said first list in said list database to reflect the inclusion of said purchase information in said retrieved first list.

### Claim 40 (depends on 39)

The method of claim 39 wherein said purchase information comprises information relating to one or more of: price, quantity, shipping method, and delivery date.

### Claim 41 (depends on 1)

The method of claim 1 wherein said establishing a communications link between said client computer system and said list database server computer system comprises establishing a communications link using one or more of the Internet, a wide area network, and a local area network.

### Claim 42 (depends on 41)

The method of claim 41 wherein said establishing a communications link between said client computer system and said list database server computer system comprises:
providing a browser tool on said client computer system;
instructing said browser tool to locate said item provider computer system; and
instructing said browser tool to search said item provider computer system for said provided item information.

### Claim 43

A method for creating an electronic list of items, said method comprising:
establishing a list database on a server computer system;
establishing a management tool on a client computer system remote from said server computer system, said management tool including a list identifier;
establishing a communications link between said server computer system and said client computer system;
responsive to a signal issued by said client computer, establishing a communications link to an item provider computer system remote from both said server computer system and said client computer system;
locating an item on the item provider computer system; and
responsive to a command issued to said management tool, adding a pointer referencing said item to a list associated with said list identifier in said list database on said server computer system.

### Claim 44

A method for maintaining an electronic list, said method comprising:
establishing a management tool on a client computer system, said management tool including a list identifier;
establishing on a server computer system remote from said client computer system: an item database including item information relating to a first item, and a list database including a list associated with said list identifier, said list including said first item;
establishing a communications link to an item provider computer system remote from both said server computer system and said client computer system;
responsive to a command from said server computer system, updating said item information in said item database; and
responsive to a command issued to said client computer system and said list identifier, retrieving to said client computer system said updated information corresponding to an item on said list associated with said list identifier.

### Claim 45

A method for maintaining an electronic shopping list on a computer system linked to a network, said shopping list including at least one record, each said record containing information relating to a product, said method comprising:
establishing a shopping list management toolbar on an Internet browser on a client computer system, said client computer system in communication with the Internet;
establishing on a server computer system in communication with the Internet, a shopping list database, said shopping list database including a first shopping list having a shopping list identifier;
providing said shopping list identifier to said shopping list management toolbar;
communicating said shopping list identifier to said shopping list database;
retrieving a copy of said first shopping list from said shopping list database to said shopping list management toolbar responsive to said shopping list identifier;
establishing communications via the Internet with a product provider computer system, said product database including product information relating to a first product;
revising said retrieved copy of said first shopping list on said shopping list management toolbar to include a pointer referencing said product information relating to said first product; and
updating said first shopping list in said shopping list database to reflect the revisions to said retrieved shopping list.

### Claim 46

A method for configuring and using a database system to store information regarding a plurality of items, said method comprising:
establishing a database on a computer system;
defining within said database a plurality of field identifiers, each said field identifier defining the type of information to be stored within a database field associated with said field identifier;
creating within said database a plurality of date objects, each said data object corresponding to one of a plurality of items;
generating within each said data object at least one field and associating one of said field identifiers with each said field, wherein one or more of said data objects include certain field identifiers that are not included in other data objects in said database; and
storing within each said field data comprising a portion of said information corresponding to the data object in which said field was generated and of the type defined by said field.

### Claim 47 (depends on 46)

A method as in claim 46 wherein said items are selected from the group consisting of products and services, said field identifiers define specific attributes of said products and services, and said fields store values of the attribute defined by the corresponding field identifier.

### Claim 48 (depends on 47)

A method as in claim 47 wherein said creating further comprises creating a plurality of vendor objects in said database, each said vendor object corresponding to a vendor of one or more of said items, each vendor object including a plurality of vendor fields, each vendor field having a corresponding field identifier associated with it, wherein one of more of said vendor objects include certain field identifiers that are not included in other vendor objects in said database.

### Claim 49 (depends on 48)

A method as in claim 48, further characterized in that said storing comprises inserting into at least one of said vendor fields either: (a) a product or service object; or (b) a pointer pointing to one of said product or service objects.

### Claim 50 (depends on 47)

A method as in claim 47 wherein:
said creating further comprises creating a plurality of data objects selected from the group consisting of manufacturer objects, vendor objects, and service provider objects, each manufacturer object corresponding to a product manufacturer, each vendor object corresponding to a product vendor, and each service provider object corresponding to a service provider
said generating further comprises generating within each said data object at least one field and associating one of said field identifiers with each said field; and
said storing further comprises inserting into said data fields information relating to an attribute of the product manufacturer, product vendor, or service provider corresponding to the data object in which said field is contained, said attribute being of the type corresponding to the field identifier associated with said field.

### Claim 51 (depends on 50)

A method as in claim 50 wherein said database is established on a server computer, and said method further comprises:
producing at a client computer a query signal related to one of said products, services, product manufacturers, product vendors, or service providers;
communicating said query signal to said server computer;
generating at said server computer a return list signal representing a list including one or more of said products, services, product manufacturers, product vendors, or service providers;
communicating said return signal to said client computer; and
displaying said list on the display of said client computer.

### Claim 52 (depends on 51)

A method as in claim 51, and further including storing said list on said client computer and updating said stored list with updated information from said server computer.

### Claim 53 (depends on 51)

A method as in claim 51 wherein said data object is a product vendor object, one field in said product vendor object corresponds to a predetermined product, said list is a list of product vendors which carry said predetermined product, and said client computer is a computer associated with the web site of the manufacture of said predetermined product.

### Claim 54 (depends on 53)

A method as in claim 53 wherein said list includes values corresponding to an attribute selected from the group consisting of the vendors price for the product, whether the product is in stock at the vendor, and a rating of the vendor.

### Claim 55 (depends on 53)

A method as in claim 53 wherein said displaying is further characterized by displaying a hyperlink to the web site of the corresponding displayed vendor.

### Claim 56 (depends on 50)

A method as in claim 50 wherein said list includes one or more attributes for each product, service, product manufacturer, product vendor, or service provider in said list, and wherein the value of said attribute corresponds to the data in the field corresponding to said attribute.

### Claim 57 (depends on 46)

A method as in claim 46 wherein said storing comprises inserting into one of said fields a pointer pointing to one of said data objects different than the data object including said field.

### Claim 58

A database system configured to store information regarding a plurality of items, said database system comprising:
a computer having memory;
a database stored in said memory, said database comprising a plurality of data objects, each said data object corresponding to one of said items, each said data object including within it an array of rows and columns for storing information regarding said item, each row of said array including a field identifier and a field, said field identifier defining the type of information to be stored in said field, said field containing information about said item of the type defined by said field identifier.

### Claim 59 (depends on 58)

A database system as in claim 58 wherein said items are selected from the group consisting of products, services, product vendors, product manufacturers and service providers, and said field identifiers define specific attributes of said products, services, services, product vendors, product manufacturers or service providers.

### Claim 60 (depends on 58)

A method as in claim 58 wherein said information comprises a pointer pointing to one of said data objects different than the data object including said field.

### Claim 61

A method of making and using a database for storing information regarding a plurality of items, said method comprising:
defining a plurality of field identifiers, each field identifier defining the type of information to be stored in a field corresponding to said field identifier;
configuring a database object corresponding to each of said items, each said database object including an array of rows and columns, said array including a field identifier column and a field column different from said field identifier column;
for each said database object, entering one of said field identifiers in each row in said field identifier column and entering, in the corresponding field column in the same row, information about said corresponding item of the type determined by said field identifier in said row;
utilizing said database to retrieve said information; and
thereafter, defining a new field identifier, creating a new row in said database corresponding to said new field identifier, and entering new information in the field column of said new row, said new information of the type corresponding to said new field identifier.

### Claim 62 (depends on 61)

A database system as in claim 61 wherein said items are selected from the group consisting of products, services, product vendors, product manufacturers and service providers, and said field identifiers define specific attributes of said products, services, product vendors, product manufacturers or service providers.

### Claim 63 (depends on 61)

A method as in claim 61 wherein said information comprises a pointer pointing to one of said database objects different then the database object including said field.
