A method and computer program product for locating data in a system including a plurality of archive units, and answering a query directed to an archive unit. Locating includes broadcasting a query to all the archive units; identifying a set of the archive units that could contain a result for the query; receiving at least one query reply from the archive units; and validating the query reply when the archive unit that sent the query reply is in the set. Answering includes receiving the query; responding to the query when the archive unit could contain a result for the query; and discarding the query without responding when the archive unit could not contain a result for the query. |
Citations|
| US5040142 | Jan 27, 1989 | Aug 13, 1991 | Hitachi, Ltd. | Method of editing and circulating an electronic draft document amongst reviewing persons at remote terminals attached to a local area network | | US5555346 | Jan 29, 1993 | Sep 10, 1996 | Beyond Corporated | Event-driven rule-based messaging system | | US5583983 | Nov 17, 1994 | Dec 10, 1996 | Objectware, Inc. | Multi-platform object-oriented software development and deployment system | | US5659746 | Dec 30, 1994 | Aug 19, 1997 | Aegis Star Corporation | Method for storing and retrieving digital data transmissions | | US5717868 | Mar 7, 1995 | Feb 10, 1998 | Huntington Bancshares Inc. | Electronic payment interchange concentrator | | US5732214 | Feb 28, 1995 | Mar 24, 1998 | Lucent Technologies, Inc. | System for universal archival service where transfer is initiated by user or service and storing information at multiple locations for user selected degree of confidence | | US5734893 | Sep 28, 1995 | Mar 31, 1998 | IBM Corporation | Progressive content-based retrieval of image and video with adaptive and iterative refinement | | US5742668 | Jun 6, 1995 | Apr 21, 1998 | Bell Communications Research, Inc. | Electronic massaging network | | US5765033 | Feb 6, 1997 | Jun 9, 1998 | Genesys Telecommunications Laboratories, Inc. | System for routing electronic mails | | US5778378 | Apr 30, 1996 | Jul 7, 1998 | International Business Machines Corporation | Object oriented information retrieval framework mechanism | | US5793497 | Apr 6, 1995 | Aug 11, 1998 | Infobeat, Inc. | Method and apparatus for delivering and modifying information electronically | | US5793888 | Jan 29, 1997 | Aug 11, 1998 | Massachusetts Institute of Technology | Machine learning apparatus and method for image searching | | US5806061 | May 20, 1997 | Sep 8, 1998 | Hewlett-Packard Company | Method for cost-based optimization over multimeida repositories | | US5809455 | Nov 25, 1996 | Sep 15, 1998 | Sony Corporation | Method and device for discriminating voiced and unvoiced sounds | | US5838685 | Feb 6, 1997 | Nov 17, 1998 | | Method and apparatus for the transmission of data files | | US5936624 | Mar 7, 1997 | Aug 10, 1999 | International Business Machines Corporation | Data processing system having a logical containment system and method therefor | | US6052709 | Dec 23, 1997 | Apr 18, 2000 | Bright Light Technologies, Inc. | Apparatus and method for controlling delivery of unsolicited electronic mail | | US6078921 | Mar 3, 1998 | Jun 20, 2000 | Trellix Corporation | Method and apparatus for providing a self-service file | | US6104394 | Jan 28, 1999 | Aug 15, 2000 | International Business Machines Corporation | Data processing system for automatic storage of objects of an object type within a logical containment system and method therefor | | US6134315 | Sep 30, 1997 | Oct 17, 2000 | Genesys Telecommunications Laboratories, Inc. | Metadata-based network routing | | US6134549 | Mar 31, 1995 | Oct 17, 2000 | Showcase Corporation | Client/server computer system having personalizable and securable views of database data | | US6147977 | Dec 12, 1997 | Nov 14, 2000 | Motorola, Inc. | Method and apparatus for processing messages based on originator and recipient priorities | | US6167402 | Apr 27, 1998 | Dec 26, 2000 | Sun Microsystems, Inc. | High performance message store | | US6182080 | Sep 12, 1997 | Jan 30, 2001 | Netvoyage Corporation | System, method and computer program product for storage of a plurality of documents within a single file | | US6182118 | Oct 27, 1997 | Jan 30, 2001 | Cranberry Properties LLC | System and method for distributing electronic messages in accordance with rules | | US6298342 | Mar 16, 1998 | Oct 2, 2001 | Microsoft Corporation | Electronic database operations for perspective transformations on relational tables using pivot and unpivot columns |
Referenced by|
| US7392282 | Mar 14, 2001 | Jun 24, 2008 | International Business Machines Corporation | Method for ensuring client access to messages from a server | | US7472161 | Mar 25, 2008 | Dec 30, 2008 | International Business Machines Corporation | System for ensuring client access to messages from a server | | US7552179 | Sep 20, 2004 | Jun 23, 2009 | Microsoft Corporation | Envelope e-mail journaling with best effort recipient updates | | US7647380 | Jan 31, 2005 | Jan 12, 2010 | Microsoft Corporation | Datacenter mail routing | | US8055717 | Aug 16, 2005 | Nov 8, 2011 | NHN Corporation | Method and system for providing permanent mail service | | US8065351 | Feb 23, 2006 | Nov 22, 2011 | Microsoft Corporation | Default location that may be dynamically changed | | US8195613 | Aug 6, 2009 | Jun 5, 2012 | Autonomy Corporation Ltd. | Transactional archiving of an electronic document | | US8226482 | Oct 26, 2009 | Jul 24, 2012 | | Systems and methods for electronic discovery |
Claims1. A computer program product, tangibly stored on a computer-readable medium, for locating data in a system including a plurality of archive units, comprising instructions operable to cause a programmable processor to: - broadcast a query to all the archive units;
- identify a set of the archive units that could contain a result for the query;
- receive at least one query reply from the archive units; and
- validate the query reply when the archive unit that sent the query reply is in the set.
2. The computer program product of claim 1, further comprising instructions operable to cause a programmable processor to: - provide an error indication when a query reply is not received from one of the archive units in the set.
3. A computer program product, tangibly stored on a computer-readable medium, for locating data in a system including a plurality of archive units and a storage map, wherein the storage map locates the archive units in a multi-dimensional storage space having a metadata axis and a bias data axis, comprising instructions operable to cause a programmable processor to: - broadcast a query to all the archive units;
- identify a set of the archive units that fall within a bias data range and a metadata range specified by the query;
- receive at least one query reply from the archive units; and
- validate the query reply when the archive unit that sent the query reply is in the set.
4. The computer program product of claim 3, further comprising instructions operable to cause a programmable processor to: - provide an error indication when a query reply is not received from one of the archive units in the set.
5. A method for locating data in a system including a plurality of archive units, the method comprising: - broadcasting a query to all the archive units;
- identifying a set of the archive units that could contain a result for the query;
- receiving at least one query reply from the archive units; and
- validating the query reply when the archive unit that sent the query reply is in the set.
6. The method of claim 5, further comprising: - providing an error indication when a query reply is not received from one of the archive units in the set.
7. A method for locating data in a system including a plurality of archive units and a storage map, wherein the storage map locates the archive units in a multi-dimensional storage space having a metadata axis and a bias data axis, the method comprising: broadcasting a query to all the archive units; - identifying a set of the archive units that fall within a bias data range and a metadata range specified by the query;
- receiving at least one query reply from the archive units; and
- validating the query reply when the archive unit that sent the query reply is in the set.
8. The method of claim 7, further comprising: - providing an error indication when a query reply is not received from one of the archive units in the set.
9. An apparatus comprising: - a plurality of archive units; and
- a metaserver configured to
- broadcast a query to all the archive units,
- identify a set of the archive units that could contain a result for the query,
- receive a query reply from at least one of the archive units, and
- validate the query reply when the archive unit that sent the query reply is in the set.
10. An apparatus for archiving data comprising: - a plurality of archive units; and
- a metaserver having a storage map locating the archive units in a multi-dimensional storage space having a metadata axis and a bias data axis, the metaserver configured to
- broadcast a query to all the archive units,
- identify a set of the archive units that fall within a metadata range and a bias data range specified by the query,
- receive a query reply from at least one of the archive units, and
- validate the query reply when the archive unit that sent the query reply is in the set.
|