High performance message store
First Claim
1. An Internet Message Access Protocol (IMAP) message store for storing email messages and related data comprising:
- a plurality of calendar-based and page based data buckets, each data bucket being suitable for containing a plurality of messages received within a predetermined time period, thereby reducing the need to process a large body of messages;
a calendar-based and page based index file including one or more index file pages, each index file page of the index file suitable for containing a plurality of index file cells having variable length to allow for the addition of fields and index information capable under IMAP, each index file cell arranged to store index information characterizing an associated one of the messages including a message-analyzed field to indicate whether a message is in IMAP protocol, and each index file corresponding to the predetermined time period; and
a calendar-based and page based index directory including one or more index directory files, each index directory file corresponding to the predetermined time period, the index directory suitable for containing a plurality of index directory cells, each index directory cell arranged to store index directory information suitable for locating an associated index file cell, thereby being associated with the particular message associated with the index file cell;
wherein the index file and index directory allow for efficient use of IMAP indexing capabilities.
2 Assignments
0 Petitions
Accused Products
Abstract
A product and method are disclosed for creating an efficient message store and delivery system is provided. A message store having an index directory, index file, and data bucket area, all of which are page based, is described. Each page corresponds to a period of time, such as a day. Each data bucket contains message data and the actual content of the message. The index file contains index file cells which store index information characterizing an associated message. The index directory contains index directory cells which store information on the location of an associated index file cell, and is thereby associated with a message. It also includes page based user folders each having user cells which reference a message, associated with a user, in the user store. A message includes a reference pointer to an associated index file cell and a reference pointer to an associated index directory cell. An index directory pointer in the user cell, an index file pointer in the index directory cell, a message pointer in the index file cell, and two pointers in the message allow the message store to reconstruct itself if necessary.
-
Citations
38 Claims
-
1. An Internet Message Access Protocol (IMAP) message store for storing email messages and related data comprising:
-
a plurality of calendar-based and page based data buckets, each data bucket being suitable for containing a plurality of messages received within a predetermined time period, thereby reducing the need to process a large body of messages; a calendar-based and page based index file including one or more index file pages, each index file page of the index file suitable for containing a plurality of index file cells having variable length to allow for the addition of fields and index information capable under IMAP, each index file cell arranged to store index information characterizing an associated one of the messages including a message-analyzed field to indicate whether a message is in IMAP protocol, and each index file corresponding to the predetermined time period; and a calendar-based and page based index directory including one or more index directory files, each index directory file corresponding to the predetermined time period, the index directory suitable for containing a plurality of index directory cells, each index directory cell arranged to store index directory information suitable for locating an associated index file cell, thereby being associated with the particular message associated with the index file cell; wherein the index file and index directory allow for efficient use of IMAP indexing capabilities. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method of storing an incoming message in an Internet Message Access Protocol (IMAP) message store, the method comprising:
-
appending the incoming message, received within a predetermined time period, thereby reducing the need to process a large body of messages, to a calendar-based and page based data bucket portion of the IMAP message store, without substantially hindering access to existing messages in the IMAP message store; indexing the incoming message thereby creating an index file cell and index directory, wherein the index file cell is of variable length to allow for the addition of fields and index information capable under IMAP and wherein all of the indexing is done while the incoming message is appended to the calendar-based and page based data bucket and wherein the index file cell and index directory correspond to the predetermined time period; and appending the index file cell to an index file of the IMAP message store; and appending the index file cell to the index directory, such that the index file and index directory allow for efficient use of indexing capabilities inherent in IMAP. - View Dependent Claims (29, 30, 31)
-
-
32. A computer-readable medium on which is embodied an IMAP message store, the message store comprised of:
-
a plurality of calendar-based and page based data buckets, each data bucket being suitable for containing a plurality of messages received within a predetermined time period, thereby reducing the need to process a large body of messages; a calendar-based and page based index file including one or more index file pages, each index file page of the index file suitable for containing a plurality of index file cells having variable length to allow for the addition of fields and index information capable under IMAP, each index file cell arranged to store index information characterizing an associated one of the messages including a message-analyzed field to indicate whether a message is in IMAP protocol, and each index file corresponding to the predetermined time period; and a calendar-based and page based index directory including one or more index directory files, each index directory file corresponding to the predetermined time period, the index directory suitable for containing a plurality of index directory cells, each index directory cell arranged to store index directory information suitable for locating an associated index file cell, thereby being associated with the particular message associated with the index file cell; wherein the index file and index directory allow for efficient use of IMAP indexing capabilities. - View Dependent Claims (33, 34, 35)
-
-
36. A computer-readable medium containing programming instructions for storing an incoming message in an IMAP message store, the computer-readable medium comprising computer program code devices configured to cause a computer to execute the steps of:
-
appending the incoming message, received within a predetermined time period, thereby reducing the need to process a large body of messages, to a calendar-based and page based data bucket portion of the IMAP message store, without substantially hindering access to existing messages in the IMAP message store; indexing the incoming message thereby creating an index file cell and index directory, wherein the index file cell is of variable length to allow for the addition of fields and index information capable under IMAP and wherein all of the indexing is done while the incoming message is appended to the calendar-based and page based data bucket and wherein the index file cell and index directory correspond to the predetermined time period; and appending the index file cell to an index file of the IMAP message store; and appending the index file cell to the index directory, such that the index file and index directory allow for efficient use of indexing capabilities inherent in IMAP. - View Dependent Claims (37)
-
-
38. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause the processor to store an incoming message in a message store by performing the steps of:
-
appending the incoming message, received within a predetermined time period, thereby reducing the need to process a large body of messages, to a calendar-based and page based data bucket portion of the IMAP message store, without substantially hindering access to existing messages in the IMAP message store; indexing the incoming message thereby creating an index file cell and index directory, wherein the index file cell is of variable length to allow for the addition of fields and index information capable under IMAP and wherein all of the indexing is done while the incoming message is appended to the calendar-based and page based data bucket and wherein the index file cell and index directory correspond to the predetermined time period; and appending the index file cell to an index file of the IMAP message store; and appending the index file cell to the index directory, such that the index file and index directory allow for efficient use of indexing capabilities inherent in IMAP.
-
Specification