IP Library Granted Patent US 7,254,585
Granted Patent B2
US 7,254,585 · App. 10/840,979 · Granted Aug 7, 2007

Efficiently storing indented threads in a threaded discussion application

Assignee: BEA Systems, Inc.
View Patent ↗
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 7,254,585
App. No.
10/840,979
Granted
Aug 7, 2007
Kind
B2
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 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 represent 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 depth below the hierarchical depth of the selected digit to a wildcard 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 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 represent 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 depth below the hierarchical depth of the selected digit to a wildcard 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, guerying 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 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 represent 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 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 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 represent 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 selecting comprises selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth 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 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 represent 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 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 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 represent 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 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 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 represent 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 selecting comprises selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth 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 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 represent 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 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 Jan 19, 2006
From: PLUMTREE SOFTWARE, INC.
To: BEA SYSTEMS, INC.
Reel/Frame 017198/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2005
From: FRIEDEN, KURT; SRIKHANTA, PRASANNA
To: PLUMTREE SOFTWARE, INC.
Reel/Frame 015548/0076 →
Continuity (2)
Division 1008578000 · Feb 28, 2002
Related Publication 20040210569A1 · Oct 21, 2004