IP Library Patent Application 11769572
Patent Application
App. No. 11/769,572

Efficiently Storing Indented Threads in a Threaded Discussion Application

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/769,572
Abstract

A method, apparatus, and computer-readable media for retrieving records in a hierarchical set of the records having a plurality of hierarchical levels and a plurality of hierarchical depths, each of the records having a tag that is unique within the hierarchical set of the records, comprises identifying one of the records in the hierarchical set of the records; modifying the tag, thereby producing a key; indexing the hierarchical set of the records only once, thereby selecting one or more of the records within the hierarchical set of the records, wherein indexing the hierarchical set of the records only once comprises applying the key to the hierarchical set of the records; and retrieving the selected records.

Claims (72)

1 . One or more digital storage devices having computer-readable code embodied therein, including a database with a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, and including a unique tag for a datum, for updating, querying or retrieving a record from the database, or managing or displaying a discussion among multiple participants, or combinations thereof, the unique tag comprising:

a number having a plurality of digits, each digit representing one of the hierarchical levels of the hierarchical data set; and wherein

the position of the least-significant non-zero digit represents the hierarchical level of the datum;

the value of the least-significant non-zero digit represents the hierarchical depth of the datum; and

the digits that are more significant than the least-significant non-zero digit correspond to parents of the datum, and

wherein the tag comprises a key produced by a method comprising:

(a) receiving a command from a user requesting replying to a message;

(b) selecting a digit corresponding to the hierarchical level of the message; and

(c) incrementing the value of the selected digit, wherein the method further comprises setting the value of each digit corresponding to a hierarchical level below the hierarchical level of the selected digit to a selected value, thereby producing the key.

2 . One or more digital storage devices having computer-readable code embodied therein including a database having data for access by an application program being executed on a data processing system, the computer readable code comprising: a data structure stored in the memory, the data structure comprising a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, the hierarchical data set comprising a unique tag for a datum for updating, querying or retrieving a record from a the database, or managing or displaying a discussion among multiple participants, or combinations thereof, the unique tag comprising:

a number having a plurality of digits, each digit representing one of the hierarchical depths of the hierarchical data set; and wherein

the position of the least-significant non-zero digit represents the hierarchical depth of the datum;

the value of the least-significant non-zero digit represents the hierarchical level of the datum; and

the digits that are more significant than the least-significant non-zero digit correspond to parents of the datum, and

wherein the tag comprises a key produced by a method comprising:

(a) receiving a command from a user requesting replying to a message;

(b) selecting a digit corresponding to the hierarchical depth of the message; and

(c) incrementing the value of the selected digit, wherein the method further comprises setting the value of each digit corresponding to a hierarchical level below the hierarchical level of the selected digit to a selected value, thereby producing the key.

3 . One or more digital storage devices having computer-readable code embodied therein, including a database with a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, and including a unique tag for a datum, for updating, querying or retrieving a record from the a database, or managing or displaying a discussion among multiple participants, or combinations thereof, the unique tag comprising:

a number having a plurality of digits, each digit representing one of the hierarchical levels of the hierarchical data set; and wherein

the position of the least-significant non-zero digit represents the hierarchical level of the datum;

the value of the least-significant non-zero digit represents the hierarchical depth of the datum; and

the digits that are more significant than the least-significant non-zero digit correspond to parents of the datum, and

wherein the tag comprises a key produced by a method comprising:

(a) receiving a command from a user requesting replying to a message;

(b) selecting a digit corresponding to the hierarchical level of the message; and

(c) incrementing the value of the selected digit, wherein the method further comprises indexing a database only once by adding a record to the database thereby producing the key as its tag.

4 . One or more digital storage devices having computer-readable code embodied therein, including a database with a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, and including a unique tag for a datum, for updating, querying or retrieving a record from the a database, or managing or displaying a discussion among multiple participants, or combinations thereof, the unique tag comprising:

a number having a plurality of digits, each digit representing one of the hierarchical levels of the hierarchical data set; and wherein

the position of the least-significant non-zero digit represents the hierarchical level of the datum;

the value of the least-significant non-zero digit represents the hierarchical depth of the datum; and

the digits that are more significant than the least-significant non-zero digit correspond to parents of the datum, and

wherein the tag comprises a key produced by a method comprising:

(a) receiving a command from a user requesting replying to a message;

(b) selecting a digit corresponding to the hierarchical level of the message; and

(c) incrementing the value of the selected digit, wherein the selecting comprises selecting the digit corresponding to the hierarchical level immediately below the hierarchical level of the message, and thereby producing the key.

5 . One or more digital storage devices having computer-readable code embodied therein, including a database with a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, and including a unique tag for a datum, for updating, querying or retrieving a record from the a database, or managing or displaying a discussion among multiple participants, or combinations thereof, the unique tag comprising:

a number having a plurality of digits, each digit representing one of the hierarchical levels of the hierarchical data set; and wherein

the position of the least-significant non-zero digit represents the hierarchical level of the datum;

the value of the least-significant non-zero digit represents the hierarchical depth of the datum; and

the digits that are more significant than the least-significant non-zero digit correspond to parents of the datum, and

wherein the tag comprises a key produced by a method comprising:

(a) receiving a command from a user requesting replying to a message;

(b) selecting a digit corresponding to the hierarchical level of the message; and

(c) incrementing the value of the selected digit, wherein the method further comprises setting the value of the selected digit to a null value, thereby producing the key.

6 . One or more digital storage devices having computer-readable code embodied therein including a database having data for access by an application program being executed on a data processing system, the computer readable code comprising: a data structure stored in the memory, the data structure comprising a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, the hierarchical data set comprising a unique tag for a datum for updating, querying or retrieving a record from a the database, or managing or displaying a discussion among multiple participants, or combinations thereof, the unique tag comprising:

a number having a plurality of digits, each digit representing one of the hierarchical levels of the hierarchical data set; and wherein

the position of the least-significant non-zero digit represents the hierarchical level of the datum;

the value of the least-significant non-zero digit represents the hierarchical depth of the datum; and

the digits that are more significant than the least-significant non-zero digit correspond to parents of the datum, and

wherein the tag comprises a key produced by a method comprising:

(a) receiving a command from a user requesting replying to a message;

(b) selecting a digit corresponding to the hierarchical level of the message; and

(c) incrementing the value of the selected digit, wherein the method further comprises indexing a database only once by adding a record to the database thereby producing the key as its tag.

7 . One or more digital storage devices having computer-readable code embodied therein including a database having data for access by an application program being executed on a data processing system, the computer readable code comprising: a data structure stored in the memory, the data structure comprising a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, the hierarchical data set comprising a unique tag for a datum for updating, querying or retrieving a record from a the database, or managing or displaying a discussion among multiple participants, or combinations thereof, the unique tag comprising:

a number having a plurality of digits, each digit representing one of the hierarchical levels of the hierarchical data set; and wherein

the position of the least-significant non-zero digit represents the hierarchical level of the datum;

the value of the least-significant non-zero digit represents the hierarchical depth of the datum; and

the digits that are more significant than the least-significant non-zero digit correspond to parents of the datum, and

wherein the tag comprises a key produced by a method comprising:

(a) receiving a command from a user requesting replying to a message;

(b) selecting a digit corresponding to the hierarchical level of the message; and

(c) incrementing the value of the selected digit, wherein the selecting comprises selecting the digit corresponding to the hierarchical level immediately below the hierarchical level of the message, and thereby producing the key.

8 . One or more digital storage devices having computer-readable code embodied therein including a database having data for access by an application program being executed on a data processing system, the computer readable code comprising: a data structure stored in the memory, the data structure comprising a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, the hierarchical data set comprising a unique tag for a datum for updating, querying or retrieving a record from the database, or managing or displaying a discussion among multiple participants, or combinations thereof, the unique tag comprising:

a number having a plurality of digits, each digit representing one of the hierarchical levels of the hierarchical data set; and wherein

the position of the least-significant non-zero digit represents the hierarchical level of the datum;

the value of the least-significant non-zero digit represents the hierarchical depth of the datum; and

the digits that are more significant than the least-significant non-zero digit correspond to parents of the datum, and

wherein the tag comprises a key produced by a method comprising:

(a) receiving a command from a user requesting replying to a message;

(b) selecting a digit corresponding to the hierarchical level of the message; and

(c) incrementing the value of the selected digit, wherein the method further comprises setting the value of the selected digit to a null value, thereby producing the key.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2011
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025986/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2008
From: PLUMTREE SOFTWARE, INC.
To: BEA SYSTEMS, INC.
Reel/Frame 020738/0562 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2008
From: FRIEDEN, KURT; SRIKHANTA, PRASANNA
To: PLUMTREE SOFTWARE, INC.
Reel/Frame 020738/0850 →