IP Library Granted Patent US 7,660,827
Granted Patent B2
US 7,660,827 · App. 11/617,724 · Granted Feb 9, 2010

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,660,827
App. No.
11/617,724
Granted
Feb 9, 2010
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 (60)

1. A computer-implemented method for adding a new record to a hierarchical set of records having a plurality of hierarchical levels and a plurality of hierarchical depths, each of the records in the hierarchical set of records having a tag that is unique within the hierarchical set of records, the method comprising:

identifying with a data storage system one of the records in the hierarchical set of records as the parent of the new record, wherein the identified record represents a message of an indented threaded discussion and identifying one or more records is performed in response to a user request to respond to the message;

modifying the tag with the data storage system, thereby producing a key;

adding the key to the new record with the data storage system;

indexing a database storing the hierarchical set of records with the data storage system, thereby adding the new record to the hierarchical set of records, wherein indexing the database comprises applying the key to the hierarchical set of records in the database; and

retrieving the added record from the database with the data storage system using the key which comprises a second tag uniquely identifying the added record,

wherein each tag comprises a number including multiple digits indicating a depth and a level within the hierarchical set of records,

wherein modifying the tag comprises selecting a digit and changing a value of the digit, thereby changing the level or the depth, or both, of said one of the records, and

wherein applying the key to the hierarchical set of records in the database comprises selecting one or more records in the hierarchical set of the records having a tag that matches the key.

2. The computer-implemented method of claim 1 , wherein identifying one of file records comprises: receiving a selection of the one of the records from a user.

3. The computer-implemented method of claim 2 , wherein each tag is a number having a plurality of digits; the position of each of the digits represents one of the hierarchical depths; the value of each of the digits represents one of the hierarchical levels; and modifying the tag comprises: selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth of the identified record; and incrementing the value of the selected digit.

4. The computer-implemented method of claim 1 , wherein applying comprises: selecting those of the records in the hierarchical set of the records having a tag that matches the key.

5. The computer-implemented method of claim 1 , wherein: each tag includes a plurality of digits; the position of each of the digits represents one of the hierarchical depths; and the value of each of the digits represents one of the hierarchical levels.

6. At least one computer comprising a data storage system and programmed to execute a process for adding a new record to a hierarchical set of records having a plurality of hierarchical levels and a plurality of hierarchical depths, each of the records in the hierarchical set of records having a tag that is unique within the hierarchical set of records, the progress comprising:

identifying with the data storage system one of the records in the hierarchical set of records as the parent of the new record, wherein the identified record represents a message of an indented threaded discussion and identifying one or more records is performed in response to a user request to respond to the message;

modifying the tag with the data storage system, thereby producing a key;

adding the key to the new record with the data storage system; and

indexing a database storing the hierarchical set of records with the data storage system thereby adding the new record to the hierarchical set of records, wherein indexing the database comprises applying the key to the hierarchical set of records in the database; and

retrieving the added record from the database with the data storage system using the key which comprises a second tag uniquely identifying tile added record,

wherein each tag comprises a number including multiple digits indicating a depth and a level within the hierarchical set of records,

wherein modifying the tag comprises selecting a digit and changing a value of the digit, thereby changing the level or the depth, or both, of said one of the records, and

wherein applying the key to the hierarchical set of records in the database comprises selecting one or more records in the hierarchical set of the records having a tag that matches the key.

7. The computer of claim 6 , wherein identifying one of the records comprises: receiving a selection of the of the records from a user.

8. The computer of claim 7 , wherein:

each tag is a number having a plurality of digits;

the position of each of the digits represents one of the hierarchical depths;

the value of each of the digits represents one of the hierarchical levels; and

modifying the tag comprises:

selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth of the identified record; and

incrementing the value of the selected digit.

9. The computer of claim 6 , wherein applying comprises: selecting those of the records in the hierarchical set of the records having a tag that matches the key.

10. The computer of claim 6 , wherein:

each tag includes a plurality of digits;

the position of each of the digits represents one of the hierarchical depths; and

the value of each of the digits represents one of the hierarchical levels.

11. Computer-readable media embodying instructions executable by a computer to perform a method for adding a new record to a hierarchical set of records having a plurality of hierarchical levels and a plurality of hierarchical depths, each of the records in the hierarchical set of records having a tag that is unique within the hierarchical set of records, the method comprising:

identifying with a data storage system one of the records in the hierarchical set of records as the parent of the new record, wherein the identified record represents a message of an indented threaded discussion and identifying one or more records is performed in response to a user request to respond to the message;

modifying the tag with the data storage system, thereby producing a key;

adding the key to the new record with the data storage system; and

indexing a database storing the hierarchical set of records with the data storage system, thereby adding the new record to the hierarchical set of records, wherein indexing the database comprises applying the key to the hierarchical set of records in the database; and

retrieving the added record from the database with the data storage system using the key which comprises a second tag uniquely identifying the added record,

wherein each tag comprises a number including multiple digits indicating a depth and a level within the hierarchical set of records,

wherein modifying the tag comprises selecting a digit and changing a value of the digit, thereby changing the level or the depth, or both, of said one of the records, and

wherein applying the key to the hierarchical set of records in the database comprises selecting one or more of the records in the hierarchical set of the records having a tag that matches the key.

12. The media of claim 11 , wherein identifying one of the records comprises:

receiving a selection of the one of the records from a user.

13. The media of claim 12 , wherein:

each tag is a number having a plurality of digits;

the position of each of the digits represents one of the hierarchical depths;

the value of each of the digits represents one of the hierarchical levels;

the identified record represents a message;

identifying one of the records further comprises receiving a command from the user that requests replying to the message; and

modifying the tag comprises: selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth of the identified record; and

incrementing the value of the selected digit.

14. The media of claim 11 , wherein applying comprises:

selecting those of the records in the hierarchical set of the records having a tag that matches the key.

15. The media of claim 11 , wherein:

each tag includes a plurality of digits;

the position of each of the digits represents one of the hierarchical depths; and

the value of each of the digits represents one of the hierarchical levels.

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 Dec 29, 2006
From: FRIEDEN, KURT; SRIKHANTA, PRASANNA
To: PLUMTREE SOFTWARE, INC.
Reel/Frame 018694/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2006
From: PLUMTREE SOFTWARE, INC.
To: BEA SYSTEMS, INC.
Reel/Frame 018694/0874 →
Continuity (3)
Continuation 1084085300 · May 7, 2004
Division 1008578000 · Feb 28, 2002
Related Publication 20070106634A1 · May 10, 2007