Message index subdivided based on time intervals
First Claim
Patent Images
1. A computer-system-implemented method for storing information associated with a communication application, the method comprising:
- creating a plurality of indices for a plurality of users of the communication application, wherein each index of the plurality of indices is associated with at most one user of the plurality of users, wherein each of the plurality of indices is partitioned independently of the other indices, and wherein each of the plurality of indices maintains metadata to indicate how the index is partitioned;
receiving multiple messages associated with a first user of the plurality of users; and
operating the computer system to;
store the multiple messages in a message table associated with the first user; and
index the multiple messages in an index of the plurality of indices, wherein the index is associated with the first user, wherein the index is divided into multiple divisions if a total number of messages stored in the message table exceeds a threshold value, wherein each division corresponds to messages received during a different time interval, wherein the index is time-partitioned based on an update rate to the index, and wherein hit counts for older divisions of the index other than a most recent division is cached for a query so that the older divisions need not to be opened next time the hit counts for the old divisions is required for a same query.
2 Assignments
0 Petitions
Accused Products
Abstract
During a storage technique, multiple messages (such as emails) associated with a user of a communication application are received. Then, the multiple messages are stored in a message table associated with the user and the multiple messages are indexed in an index associated with the user. This index may be divided into multiple divisions if a total number of messages stored in the message table exceeds a threshold value, where each division corresponds to messages received during a different time interval.
15 Citations
20 Claims
-
1. A computer-system-implemented method for storing information associated with a communication application, the method comprising:
-
creating a plurality of indices for a plurality of users of the communication application, wherein each index of the plurality of indices is associated with at most one user of the plurality of users, wherein each of the plurality of indices is partitioned independently of the other indices, and wherein each of the plurality of indices maintains metadata to indicate how the index is partitioned; receiving multiple messages associated with a first user of the plurality of users; and operating the computer system to; store the multiple messages in a message table associated with the first user; and index the multiple messages in an index of the plurality of indices, wherein the index is associated with the first user, wherein the index is divided into multiple divisions if a total number of messages stored in the message table exceeds a threshold value, wherein each division corresponds to messages received during a different time interval, wherein the index is time-partitioned based on an update rate to the index, and wherein hit counts for older divisions of the index other than a most recent division is cached for a query so that the older divisions need not to be opened next time the hit counts for the old divisions is required for a same query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-program product for use in conjunction with a computer system, the computer-program product comprising a non-transitory computer-readable storage medium and a computer-program mechanism embedded therein, to store information associated with a communication application, the computer-program mechanism including:
-
instruction for creating a plurality of indices for a plurality of users of the communication application, wherein each index of the plurality of indices is associated with at most one user of the plurality of users, wherein each of the plurality of indices is partitioned independently of the other indices, and wherein each of the plurality of indices maintains metadata to indicate how the index is partitioned; instructions for receiving multiple messages associated with a first user of the plurality of users; and instructions for operating the computer system to; store the multiple messages in a message table associated with the first user; and index the multiple messages in an index of the plurality of indices, wherein the index is associated with the first user, wherein the index is divided into multiple divisions if a total number of messages stored in the message table exceeds a threshold value, wherein each division corresponds to messages received during a different time interval, wherein the index is time-partitioned based on an update rate to the index, and wherein hit counts for older divisions of the index other than a most recent division is cached for a query so that the older divisions need not to be opened next time the hit counts for the old divisions is required for a same query. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer system, comprising:
-
a processor; memory; and a program module, wherein the program module is stored in the memory and configurable to be executed by the processor to store information associated with a communication application, the program module including; instructions for creating a plurality of indices for a plurality of users of the communication application, wherein each index of the plurality of indices is associated with at most one user of the plurality of users, wherein each of the plurality of indices is partitioned independently of the other indices, and wherein each of the plurality of indices maintains metadata to indicate how the index is partitioned; instructions for receiving multiple messages associated with a first user of the plurality of users; and instructions for operating the computer system to; store the multiple messages in a message table associated with the first user; and index the multiple messages in an index of the plurality of indices, wherein the index is associated with the first user, wherein the index is divided into multiple divisions if a total number of messages stored in the message table exceeds a threshold value, wherein each division corresponds to messages received during a different time interval, wherein the index is time-partitioned based on an update rate to the index, and wherein hit counts for older divisions of the index other than a most recent division is cached for a query so that the older divisions need not to be opened next time the hit counts for the old divisions is required for a same query. - View Dependent Claims (17, 18, 19, 20)
-
Specification