# US 2007/0112800 A1 · Realtime database architecture

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

- Number: US 2007/0112800 A1
- Document ID: US20070112800A1
- Status: Published application
- Kind: A1
- Application number: 11/418,416
- Filed: 2006-05-03
- Published: 2007-05-17
- Earliest claimed: 2005-06-03
- Assignees: Genius.com Incorporated
- Inventors: Robert Seidl; Frank Flynn; David Thompson; Michael DeLorenzo
- Web page: https://patentgrep.com/patent/US20070112800A1

## CPC

- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- 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

## Abstract

A method and apparatus is disclosed herein for automatically supplying data items to a client. In one embodiment, the method comprises determining, from among a plurality of data items displayable by a client, one or more relevant data items to be supplied to the client, the plurality of data items displayable by a client located in a first database corresponding to a tracked user's interactions with a website. The one or more relevant data items are then automatically supplied to the client. The method also includes storing a copy of the supplied one or more relevant data items in a second database.

## Claims

### Claim 1

A method, comprising:
determining, from among a plurality of data items displayable by a client, one or more relevant data items to be supplied to the client, the plurality of data items displayable by a client located in a first database corresponding to a tracked user's interactions with a website;
automatically supplying the one or more relevant data items to the client; and
storing a copy of the supplied one or more relevant data items in a second database.

### Claim 2 (depends on 1)

The method of claim 1, wherein the client has a user interface.

### Claim 3 (depends on 2)

The method of claim 2, wherein the determining further comprises:
determining when the client is on-line.

### Claim 4 (depends on 2)

The method of claim 2, wherein automatically supplying further comprises:
pushing the one or more relevant data items to the client.

### Claim 5 (depends on 4)

The method of claim 4, wherein the data is pushed to the client over Hyper Text Transfer Protocol port 80.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining one or more relevant data items further comprises:
determining one or more data items currently being displayed in a client user interface of the client, from among the plurality of data items displayable by the client;
comparing a current version of one or more data objects stored in a second database with the copy of the supplied one or more relevant data items stored on the first database, for the one or more data items currently being displayed by the client, to determine which of the one or more items currently being displayed is not current; and
automatically supplying one or more current data items from the first database, corresponding to the one or more items currently being displayed which are not current, to the client to be displayed by the client user interface.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
replacing data items, stored in the second database, with the one or more current data items.

### Claim 8 (depends on 6)

The method of claim 6, wherein the one or more current data items are supplied in pseudo realtime.

### Claim 9 (depends on 1)

The method of claim 1, wherein the data items displayable to the client are data items selected from one of contact information data, page information data, or activities information data.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
automatically supplying the plurality of data items displayable by a client when the client is first opened; and
storing a copy of the plurality of data items displayable by the client in the second database.

### Claim 11 (depends on 1)

The method of claim 1, wherein the plurality of data items corresponding to the tracked user's interactions with the website comprise one or more of clickflow data, presence on a web page, presence on a web site, sequence of pages traversed, time on page, time on site, referrer, host internet protocol address, email received, email bounced, email read.

### Claim 12

A client, comprising:
a processor;
a display;
a memory storing instructions executable by the processor to generate a graphical user interface (“GUI”) on the display, the GUI comprising:
a window region to display data items; and
a menu selection region containing selectable categories of data items to be displayed in the window region;
wherein one or more data items in the window region are automatically updated upon the client receiving one or more updated data items corresponding to the one or more data items, the one or more data items corresponding to a tracked person's interactions with a website stored on a server and pushed from the server to the client.

### Claim 13 (depends on 12)

The client of claim 12, wherein selection by a cursor of a category within the category region causes one or more data items associated with the selected category to be displayed in the window region.

### Claim 14 (depends on 12)

The client of claim 12, wherein the selection by a cursor of a category with the category region causes one or more user-selectable preferences for automatic notifications to be displayed in the window region, the user-selectable preferences selectable to define one or more of a notification type to be supplied from the server, an audio preference for notifications, a visual preference for notifications.

### Claim 15 (depends on 12)

The client of claim 12, wherein responsive to the client receiving a notification from the server, the notification displayed by the GUI.

### Claim 16 (depends on 15)

The client of claim 15, wherein the notifications are received in pseudo realtime as the server monitors the notifications.

### Claim 17 (depends on 15)

The client of claim 15, wherein the notification displayed by the GUI includes user selectable actions.

### Claim 18 (depends on 17)

The client of claim 17, further comprising:
performing the action corresponding to a selected user selectable action from among the user selectable actions in response to the client receiving a selection of the selectable user action.

### Claim 19 (depends on 18)

The client of claim 18, wherein the function is one of an email function, a chat function, a detail function, a history function.

### Claim 20 (depends on 15)

The client of claim 15, wherein the one or more notifications are notifications indicating one or more of presence on a website, online status of a person being tracked, lead type, likelihood of sale, email received, email opened, email bounced.

### Claim 21 (depends on 12)

The client of claim 12, wherein the GUI is configured to resemble an instant messenger graphical user interface.

### Claim 22 (depends on 12)

The client of claim 12, wherein the data items include an indication of a current status of the data items.

### Claim 23 (depends on 12)

The client of claim 12, further comprising:
a notification window, the notification window displayed within the GUI in response to the client receiving a notification.

### Claim 24 (depends on 12)

The client of claim 12, wherein the one or more updated data items pushed from the server to the client are pushed over Hyper Text Transfer Protocol port 80.

### Claim 25 (depends on 12)

The client of claim 12, wherein the GUI is resizeable.

### Claim 26 (depends on 12)

The client of claim 12, wherein a size of the GUI is responsive to a display size of the display.

### Claim 27

A method, comprising:
displaying a plurality of clickflow tracking data items on a display device;
automatically receiving one or more updated data items for the plurality of clickflow tracking data items currently being displayed; and
displaying an updated plurality of clickflow tracking data items on the display device.

### Claim 28 (depends on 27)

The method of claim 27, further comprising:
receiving a request to display contact data items on the display device, wherein the contacts are users being tracked by a clickflow tracking system;
obtaining data items corresponding to contact data items from a database;
displaying the contact data items on the display device.

### Claim 29 (depends on 28)

The method of claim 28, further comprising:
automatically receiving updates to the contact data items, the updates indicating one or more of contact is online, contact is offline, contact has received an email, contact has opened the received email, email to contact was bounced.

### Claim 30 (depends on 28)

The method of claim 28, further comprising:
receiving a request to update contact information;
receiving data corresponding to updated contact information;
transmitting the data to the database.

### Claim 31 (depends on 27)

The method of claim 27, wherein the data corresponding to the updated contact information includes data for a new contact, data indicating a deletion of an existing contact, or data indicating a modification of an existing contact.

### Claim 32 (depends on 31)

The method of claim 31, wherein the updated contact information further includes an electronic mail address (e-mail) and one or more data items associated with the e-mail address, the one or more data items being contact information details, a memo, a label.

### Claim 33 (depends on 27)

The method of claim 27, further comprising:
receiving a request to display a history for clickflow tracking data items;
obtaining data items corresponding to the request from a database, the data items being clickflow history data items; and
displaying the clickflow history data items on the display device to present a clickflow tracking history.

### Claim 34 (depends on 33)

The method of claim 33, further comprising:
automatically receiving updates to the clickflow history data items, the updates including data indicative of one or more of a time the updates to clickflow history data items were received, a type of data item received, a link to replay a data item, a link to view data item detail, and duration of an activity.

### Claim 35 (depends on 27)

The method of claim 27, further comprising:
receiving a request to display a summary of results for an activity;
obtaining data items corresponding to the request from a database; and
displaying the data items on the display device to present a summary of results for the activity.

### Claim 36 (depends on 35)

The method of claim 35, wherein the activity corresponds to an e-mail, a voicemail, an advertisement, a direct mailing.

### Claim 37 (depends on 36)

The method of claim 36, wherein a summary of results for an e-mail activity include one or more of an indication that a contact that has opened an e-mail for the e-mail activity, a contact has opened and selected a link in the e-mail for the e-mail activity, and a contact has not opened an e-mail for the e-mail activity.

### Claim 38 (depends on 35)

The method of claim 35, wherein the displaying further comprises:
displaying statistical data corresponding to the summary of results for the activity.

### Claim 39

A machine-readable medium that provides instructions, which when executed by a machine, causes the machine to perform the operations comprising:
determining, from among a plurality of data items displayable by a client, one or more relevant data items to be supplied to the client, the plurality of data items displayable by a client located in a first database corresponding to a tracked user's interactions with a website;
automatically supplying the one or more relevant data items to the client; and
storing a copy of the supplied one or more relevant data items in a second database.

### Claim 40 (depends on 39)

The machine-readable medium of claim 39, wherein the client has a user interface.

### Claim 41 (depends on 40)

The machine-readable medium of claim 40, wherein the determining further comprises:
determining when the client is on-line.

### Claim 42 (depends on 40)

The machine-readable medium of claim 40, wherein automatically supplying further comprises:
pushing the one or more relevant data items to the client.

### Claim 43 (depends on 42)

The machine-readable medium of claim 42, wherein the data is pushed to the client over Hyper Text Transfer Protocol port 80.

### Claim 44 (depends on 39)

The machine-readable medium of claim 39, wherein determining one or more relevant data items further comprises:
determining one or more data items currently being displayed in a client user interface of the client, from among the plurality of data items displayable by the client;
comparing a current version of one or more data objects stored in a second database with the copy of the supplied one or more relevant data items stored on the first database, for the one or more data items currently being displayed by the client, to determine which of the one or more items currently being displayed is not current; and
automatically supplying one or more current data items from the first database, corresponding to the one or more items currently being displayed which are not current, to the client to be displayed by the client user interface.

### Claim 45 (depends on 44)

The machine-readable medium of claim 44, further comprising:
replacing data items, stored in the second database, with the one or more current data items.

### Claim 46 (depends on 45)

The machine-readable medium of claim 45, wherein the one or more current data items are supplied in pseudo realtime.

### Claim 47 (depends on 39)

The machine-readable medium of claim 39, wherein the data items displayable to the client are data items selected from one of contact information data, page information data, or activities information data.

### Claim 48 (depends on 39)

The machine-readable medium of claim 39, further comprising:
automatically supplying the plurality of data items displayable by a client when the client is first opened; and
storing a copy of the plurality of data items displayable by the client in the second database.

### Claim 49 (depends on 39)

The machine-readable medium of claim 39, wherein the plurality of data items corresponding to the tracked user's interactions with the website comprise one or more of clickflow data, presence on a web page, presence on a web site, sequence of pages traversed, time on page, time on site, referrer, host internet protocol address, email received, email bounced, email read.

### Claim 50

A machine-readable medium that provides instructions, which when executed by a machine, causes the machine to perform the operations comprising:
displaying a plurality of clickflow tracking data items on a display device;
automatically receiving one or more updated data items for the plurality of clickflow tracking data items currently being displayed; and
displaying an updated plurality of clickflow tracking data items on the display device.

### Claim 51

A system, comprising:
a first database;
a second database; and
a client, the client to:
determine, from among a plurality of data items displayable by a client, one or more relevant data items to be supplied to the client, the plurality of data items displayable by a client located in the first database corresponding to a tracked user's interactions with a website;
automatically supply the one or more relevant data items to the client; and store a copy of the supplied one or more relevant data items in the second database.

### Claim 52 (depends on 51)

The system of claim 51, wherein the client has a user interface.

### Claim 53 (depends on 52)

The system of claim 52, wherein the client to determine further comprises:
the client to: determine when the client is on-line.

### Claim 54 (depends on 52)

The system of claim 52, wherein the client to automatically supply comprises:
the client to: push the one or more relevant data items to the client.

### Claim 55 (depends on 54)

The system of claim 54, wherein the data is pushed to the client over Hyper Text Transfer Protocol port 80.

### Claim 56 (depends on 51)

The system of claim 51, wherein the client to determine one or more relevant data items further comprises:
the client to:
determine one or more data items currently being displayed in a client user interface of the client, from among the plurality of data items displayable by the client;
compare a current version of one or more data objects stored in a second database with the copy of the supplied one or more relevant data items stored on the first database, for the one or more data items currently being displayed by the client, to determine which of the one or more items currently being displayed is not current; and
automatically supply one or more current data items from the first database, corresponding to the one or more items currently being displayed which are not current, to the client to be displayed by the client user interface.

### Claim 57 (depends on 56)

The system of claim 56, further comprising: the client to:
replace data items, stored in the second database, with the one or more current data items.

### Claim 58 (depends on 56)

The system of claim 56, wherein the one or more current data items are supplied in pseudo realtime.

### Claim 59 (depends on 51)

The system of claim 51, wherein the data items displayable to the client are data items selected from one of contact information data, page information data, or activities information data.

### Claim 60 (depends on 51)

The system of claim 51, further comprising:
the client to:
automatically supply the plurality of data items displayable by a client when the client is first opened; and
store a copy of the plurality of data items displayable by the client in the second database.

### Claim 61 (depends on 51)

The system of claim 51, wherein the plurality of data items corresponding to the tracked user's interactions with the website comprise one or more of clickflow data, presence on a web page, presence on a web site, sequence of pages traversed, time on page, time on site, referrer, host internet protocol address, email received, email bounced, email read.
