IP Library Granted Patent US 7,653,660
Granted Patent B2
US 7,653,660 · App. 11/617,727 · Granted Jan 26, 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,653,660
App. No.
11/617,727
Granted
Jan 26, 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 (76)

1. A method of tagging a message or container in a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, the method comprising:

presenting with a data storage system a first message of an indented threaded discussion;

determining with the data storage system a hierarchical level of the first message within the indented threaded discussion;

determining with the data storage system a hierarchical depth of the first message within the indented threaded discussion;

assigning with the data storage system a first tag to the first message, comprising:

determining the immediate parent of the first message;

selecting a parent tag of the immediate parent of the first message, wherein the parent tag is a number having multiple digits each representing one of the hierarchical depths of the hierarchical data set;

selecting a digit of the selected parent tag that represents the hierarchical depth of the first message within the indented threaded discussion; and

assigning a value to the selected digit, the value representing the hierarchical level of the first message within the indented threaded discussion; and

storing an entry in a table of a database with the data storage system, said table entry including the assigned first tag, the selected digit representing the hierarchical depth within the indented threaded discussion, the assigned value representing the hierarchical level within the indented threaded discussion, and the first message.

2. The method of claim 1 , further comprising:

receiving with the data storage system a command from a user requesting replying to the first message;

selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth of the first message with the data storage system;

incrementing the value of the selected digit with the data storage system, thereby producing a key; and

indexing the database with the data storage system by adding a record to the database having the key as its tag and corresponding to a reply message from the user.

3. The method of claim 1 , wherein assigning a value to the selected digit comprises:

determining the number of children of the immediate parent of the first message that have already been tagged;

incrementing the number of children to obtain an incremented number; and

setting the value of the selected digit to equal the value of the incremented number.

4. At least one computer including a processor programmed to execute a process for tagging a message in a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, the process comprising:

presenting a first message of an indented threaded discussion;

determining a hierarchical level of the first message within the indented threaded discussion;

determining a hierarchical depth of the first message within the indented threaded discussion;

assigning a first tag to the first message, comprising:

determining the immediate parent of the first message;

selecting a parent tag of the immediate parent of the first message, wherein the parent tag is a number having multiple digits each representing one of the hierarchical depths of the hierarchical data set;

selecting a digit of the selected parent tag that represents the hierarchical depth of the first message within the indented threaded discussion; and

assigning a value to the selected digit, the value representing the hierarchical level of the first message within the indented threaded discussion; and

storing an entry in a table of a database, said table entry including the assigned first tag, the selected digit representing the hierarchical depth within the indented threaded discussion, the assigned value representing the hierarchical level within the indented threaded discussion, and the first message.

5. The at least one computer of claim 4 , the process further comprising:

receiving a command from a user requesting replying to the first message;

selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth of the first message;

incrementing the value of the selected digit, thereby producing a key; and

indexing the database by adding a record to the database having the key as its tag and corresponding to a reply message from the user.

6. The computer of claim 4 , wherein assigning a value to the selected digit comprises:

determining the number of children of the immediate parent of the first message that have already been tagged;

incrementing the number of children to obtain an incremented number; and

setting the value of the selected digit to equal the value of the incremented number.

7. An apparatus including a processor for tagging a message in a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, the apparatus further comprising

means for presenting a first message of an indented threaded discussion;

means for determining a hierarchical level of the first message within the indented threaded discussion;

means for determining a hierarchical depth of the first message within the indented threaded discussion;

means for assigning a first tag to the first message, comprising:

means for determining the immediate parent of the first message;

means for selecting a parent tag of the immediate parent of the first message, wherein the parent tag is a number having multiple digits each representing one of the hierarchical depths of the hierarchical data set;

means for selecting a digit of the selected parent tag that represents the hierarchical depth of the first message within the indented threaded discussion; and

means for assigning a value to the selected digit, the value representing the hierarchical level of the first message within the indented threaded discussion; and

means for storing an entry in a table of a database, said table entry including the assigned first tag, the selected digit representing the hierarchical depth within the indented threaded discussion, the assigned value representing the hierarchical level within the indented threaded discussion, and the first message.

8. The apparatus of claim 7 , further comprising:

means for receiving a command from a user requesting replying to the first message;

means for selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth of the first message;

means for incrementing the value of the selected digit, thereby producing a key; and

means for indexing the database by adding a record to the database having the key as its tag and corresponding to a reply message from the user.

9. The apparatus of claim 7 , wherein means for assigning a value to the selected digit comprises:

means for determining the number of children of the immediate parent of the first message that have already been tagged;

means for incrementing the number of children to obtain an incremented number; and

means for setting the value of the selected digit to equal the value of the incremented number.

10. Computer-readable media embodying instructions executable by a computer including a processor to perform a method for tagging a message in a hierarchical data set having a plurality of hierarchical levels and a plurality of hierarchical depths, the method comprising:

presenting a first message of an indented threaded discussion;

determining a hierarchical level of the first message within the indented threaded discussion;

determining a hierarchical depth of the first message within the indented threaded discussion;

assigning a first tag to the first message, comprising:

determining the immediate parent of the first message;

selecting a parent tag of the immediate parent of the first message, wherein the parent tag is a number having multiple digits each representing one of the hierarchical depths of the hierarchical data set;

selecting a digit of the selected parent tag that represents the hierarchical depth of the first message within the indented threaded discussion; and

assigning a value to the selected digit, the value representing the hierarchical level of the first message within the indented threaded discussion; and

storing an entry in a table of a database, said table entry including the assigned first tag, the selected digit representing the hierarchical depth within the indented threaded discussion, the assigned value representing the hierarchical level within the indented threaded discussion, and the first message.

11. The media of claim 10 , the method further comprising:

receiving a command from a user requesting replying to the first message;

selecting the digit corresponding to the hierarchical depth immediately below the hierarchical depth of the first message;

incrementing the value of the selected digit, thereby producing a key; and

indexing the database by adding a record to the database having the key as its tag and corresponding to a reply message from the user.

12. The media of claim 10 , wherein assigning a value to the selected digit comprises:

determining the number of children of the immediate parent of the first message that have already been tagged;

incrementing the number of children to obtain an incremented number; and

setting the value of the selected digit to equal the value of the incremented number.

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 1084102200 · May 7, 2004
Division 1008578000 · Feb 28, 2002
Related Publication 20070106635A1 · May 10, 2007