Disclosed herein are techniques for archiving data objects. It is determined whether a data object was rejected by an archiving module due to an information field thereof violating a protocol. If it is determined that the data object was rejected due to violation of the protocol, a compliant information field that complies with the protocol is generated such that the compliant information field causes the archiving module to permit archiving of the data object violating the protocol.
|
11. A non-transitory computer readable medium having instructions therein which, if executed, cause a processor to:
access a data object rejected by an archiving module of a storage system, the archiving module permitting archiving of data objects that comply with a protocol;
determine whether the data object was rejected due to an information field thereof violating the protocol;
If the data object was rejected due to a violation of the protocol:
generate a compliant information field that complies with the protocol; and
combine the data object with the compliant information field such that the compliant information field causes the archiving module to permit archiving of the data object.
1. A system comprising:
a processor; and
a memory coupled to the processor, the memory comprising:
an archiving module to store and index data objects, the index being based on at least one information field of the data object, the archiving module being a module to permit archiving of data objects that comply with a protocol; and
an encapsulation module which, if executed, causes the processor to:
determine whether the archiving module rejected a first data object due to an information field thereof violating the protocol; and
if the archiving module rejected the first data object due to a violation of the protocol, generate a second data object, the second data object comprising the first data object and a compliant information field that complies with the protocol such that the compliant information field causes the archiving module to permit archiving of the first data object confined in the second data object, when the archiving module accesses the second data object.
7. A method comprising:
accessing, using a processor, a first data object rejected by an archiving module;
analyzing, using the processor, an error pattern table containing at least one rejection error code generated by the archiving module;
determine, using the processor, whether the archiving module rejected the first data object due to an information field thereof violating a protocol based on the at least one rejection error code in the error pattern table;
If the archiving module rejected the first data object due to a violation of the protocol:
generating, using the processor, a second data object, the second data object comprising the first data object and a compliant information field that complies with the protocol such that the compliant information field causes the archiving module to permit archiving of the first data object confined in the second data object, when the archiving module accesses the second data object; and
converting, using the processor, at least some data in the information field of the first data object such that the information field is at least partially interpretable by the archiving module to enable the archiving module to index the first data object confined in the second data object.
2. The system of
3. The system of
4. The system of
5. The system of
6. The system of
8. The method of
9. The method of
10. The method of
12. The non-transitory computer readable medium of
13. The non-transitory computer readable medium of
14. The non-transitory computer readable medium of
15. The non-transitory computer readable medium of
16. The non-transitory computer readable medium of
17. The non-transitory computer readable medium of
|
Archiving is the process of storing and indexing data so that it may be easily retrievable at a later date. In addition to backup and disaster recovery, other motives for archiving data may include regulatory compliance or legal discovery. Any type of document may be archived including e-mails, instant messages, or word documents.
As noted above, archiving systems may store and index data objects. In one example, a data object may be defined as a series of bytes, such as e-mails, instant messages, word documents, or extensible markup (“XML”) files. Archiving and indexing these data objects may be a challenge in view of the different types of protocols used in systems today. Archiving systems may reject data objects that do not comply with certain protocols. However, data objects may be constructed in accordance with a protocol different than what the archiving module expects. Archiving systems may reject these non-compliant messages because the indexing of these data objects are based on information fields therein. If the information fields in the data objects are not interpretable by the archiving module, it may not be able to index the data object properly. For example, some e-mail archiving systems may permit archiving of e-mails compliant with a standard protocol, such as the Request for Comments (“RFC”) 822 standard published by the Internet engineering task force (“IETF”). However, some e-mail applications construct or receive e-mails that do not conform to the standard protocol. These e-mails may be rejected by the archiving module, since the archiving module may not be able to interpret the e-mail and would have no basis for generating an index. As such, these non-compliant e-mails may be displaced.
In view of the foregoing, various examples disclosed herein provide a system, non-transitory computer-readable medium, and method that may access a data object rejected by an archiving module that permits archiving of data objects constructed in compliance with a protocol. In another example, it may be determined whether the data object was rejected due to an information field thereof violating the protocol. If the data object was rejected due to a violation of the protocol, a compliant information field that complies with the protocol may be generated. The data object may be combined with the compliant information field. The compliant information field may cause the archiving module to permit archiving of the data object.
The techniques disclosed herein may archive data objects even when the protocol thereof differs from the protocol used by an archiving module. The validation procedures of an archiving module may be circumvented with information fields that comply with its protocol while maintaining the non-compliant information fields of the data object. As such, the examples disclosed herein ensure that data objects are not rejected by an archiving module. In addition, the techniques disclosed herein may enable an archiving module to index data objects that do not conform to the protocol by converting at least some data in the non-compliant information fields into data that is at least partially interpretable by the archiving module. The aspects, features and advantages of the present disclosure will be appreciated when considered with reference to the following description of examples and accompanying figures. The following description does not limit the application; rather, the scope of the disclosure is defined by the appended claims and equivalents.
The computer apparatus 100 may also contain a processor 110 and memory 112. Memory 112 may store instructions that may be retrieved and executed by processor 110. In one example, memory 112 may be a random access memory (“RAM”) device. In a further example, memory 112 may be divided into multiple memory segments organized as dual in-line memory modules (DIMMs). Alternatively, memory 112 may comprise other types of devices, such as memory provided on floppy disk drives, tapes, and hard disk drives, or other storage devices that may be coupled to computer apparatus 100 directly or indirectly. The memory may also include any combination of one or more of the foregoing and/or other devices as well. The processor 110 may be any number of well known processors, such as processors from Intel® Corporation. In another example, the processor may be a dedicated controller for executing operations, such as an application specific integrated circuit (“ASIC”). Furthermore, computer apparatus 100 may actually comprise multiple processors and memories working in tandem.
The instructions residing in memory 112 may comprise any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by processor 110. In that regard, the terms “instructions,” “scripts,” “applications,” and “modules” may be used interchangeably herein. The computer executable instructions may be stored in any computer language or format, such as in object code or modules of source code. Furthermore, it is understood that the instructions may be implemented in the form of hardware, software, or a combination of hardware and software and that the examples herein are merely illustrative.
Encapsulation module 115 may implement the techniques described in the present disclosure. In that regard, encapsulation module 115 may be realized in any non-transitory computer-readable media for use by or in connection with an instruction execution system such as computer apparatus 100, an ASIC or other system that can fetch or obtain the logic from non-transitory computer-readable media and execute the instructions contained therein. “Non-transitory computer-readable media” may be any media that can contain, store, or maintain programs and data for use by or in connection with the instruction execution system. Non-transitory computer readable media may comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable non-transitory computer-readable media include, but are not limited to, a portable magnetic computer diskette such as floppy diskettes or hard drives, a read-only memory (“ROM”), an erasable programmable read-only memory, or a portable compact disc.
Archiving module 120 may be any software and/or hardware solution for information retention and retrieval. Such archiving solutions are considered to be within the scope of the present disclosure. One example of an archiving solution is the information archiving platform (“IAP”) distributed by Hewlett Packard. Archiving module 120 may index the data objects so that they may be readily retrieved at a later time. The index may be based on information provided in at least one information field of the data object. By way of example, if the data object is an e-mail, the header field may include a subject of the e-mail, the sender of the e-mail, the recipient of the e-mail, and/or a timestamp of the e-mail. The e-mail may be indexed based on this header information.
Processor 110 may also retrieve, store, or modify archived data stored in storage 124. Although the architecture of storage 124 is not limited by any particular data structure or product, the archived data may be stored in computer registers, in a relational database with tables having a plurality of different fields and records, XML documents or flat files. The data may also be formatted in any computer-readable format. Furthermore, the data may comprise any information sufficient to identify the relevant information, such as numbers, descriptive text, proprietary codes, references to data stored in other areas of the same memory or different memories (including other network locations) or information that is used by a function to calculate the relevant data.
Although all the components of computer apparatus 100 are functionally illustrated in
One working example of the system, method, and non-transitory computer-readable medium is shown in
As shown in
Using the example e-mail archiving system 200,
Referring back to
Referring back to
Referring now to
Advantageously, the above-described computer apparatus, non-transitory computer readable medium, and method ensure that data objects of a given system are archived notwithstanding the protocol thereof. In this regard, organizations whose policy requires archiving of data objects associated therewith can be rest assured that data objects will not be displaced. Furthermore, conversion of at least some of the data in the non-compliant fields may facilitate indexing of the data object.
Although the disclosure herein has been described with reference to particular examples, it is to be understood that these examples are merely illustrative of the principles of the disclosure. It is therefore to be understood that numerous modifications may be made to the examples and that other arrangements may be devised without departing from the spirit and scope of the disclosure as defined by the appended claims. Furthermore, while particular processes are shown in a specific order in the appended drawings, such processes are not limited to any particular order unless such order is expressly set forth herein. Rather, processes may be performed in a different order or concurrently and steps may be added or omitted.
Constant, Tarcio, Schwartz, Richard Herschel, Lemieux, Scott Alan
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6317751, | Sep 28 1998 | Bank of America Corporation | Compliance archival data process and system |
6519568, | Jun 15 1999 | Schlumberger Technology Corporation | System and method for electronic data delivery |
7536423, | Dec 21 2001 | SAP SE | Processing data objects |
7590837, | Aug 23 2003 | SOFTEX LLC | Electronic device security and tracking system and method |
7917756, | Jun 01 2005 | BARRACUDA NETWORKS, INC | E-mail stamping with from-header validation |
8255683, | Jul 24 1997 | AXWAY INC | E-mail firewall with policy-based cryptosecurity |
8326931, | Feb 27 2009 | Malikie Innovations Limited | Systems and methods for protecting header fields in a message |
20030018657, | |||
20050207350, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 14 2012 | SCHWARTZ, RICHARD HERSCHEL | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028406 | /0293 | |
Jun 14 2012 | CONSTANT, TARCIO | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028406 | /0293 | |
Jun 14 2012 | LEMIEUX, SCOTT ALAN | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028406 | /0293 | |
Jun 19 2012 | Hewlett-Packard Development Company, L.P. | (assignment on the face of the patent) | / | |||
Oct 27 2015 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Hewlett Packard Enterprise Development LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037079 | /0001 |
Date | Maintenance Fee Events |
Sep 21 2018 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 12 2022 | REM: Maintenance Fee Reminder Mailed. |
May 29 2023 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Apr 21 2018 | 4 years fee payment window open |
Oct 21 2018 | 6 months grace period start (w surcharge) |
Apr 21 2019 | patent expiry (for year 4) |
Apr 21 2021 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 21 2022 | 8 years fee payment window open |
Oct 21 2022 | 6 months grace period start (w surcharge) |
Apr 21 2023 | patent expiry (for year 8) |
Apr 21 2025 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 21 2026 | 12 years fee payment window open |
Oct 21 2026 | 6 months grace period start (w surcharge) |
Apr 21 2027 | patent expiry (for year 12) |
Apr 21 2029 | 2 years to revive unintentionally abandoned end. (for year 12) |