1. Technical Field
The present invention relates to a data processing apparatus, a data processing method and a recording medium.
2. Related Art
According to the related art, encryption using a passcode has been used to protect data. Further, a technology of performing encryption by dividing data has been generally known in the art (see JP-A-2004-234371, JP-A-2006-113663, JP-A-2006-12192 and JP-A-2005-99910).
However, in order to encrypt data, an apparatus for processing the data may be overloaded. Further, in order to reliably protect data, the configuration of a system for processing the data may be complicated.
An advantage of some aspects of the invention is to provide a technology capable of simplifying the configuration necessary for data protection.
According to a first aspect of the invention, there is provided a data processing apparatus including a connection interface that performs connection to removable memories, and a dividing unit that divides original data into N pieces of subdata (N denotes an integer of 2 or more). The dividing unit stores one to (N−1) pieces of different subdata in L removable memories (L denotes an integer in a range of 1 to N), which are each connected to the connection interface.
The data processing apparatus having the above configuration, one to (N−1) pieces of different subdata is each stored in the L removable memories, so that the original data can be protected and the configuration which is necessary for data protection can be simplified.
In the data processing apparatus according to First Example, the data processing apparatus further includes a memory device fixed to the data processing apparatus. The total number of the subdata stored in the L removable memories is smaller than N. The dividing unit stores at least one piece of subdata, which corresponds to a remainder obtained by subtracting the subdata stored in the L removable memories from the N pieces of subdata, in the memory device, and divides the original data such that the total size of the subdata stored in one removable memory is smaller than the total size of the subdata stored in the memory device, in relation to the L removable memories.
According to the above-described data processing apparatus, the capacities of the removable memories, which are necessary for storing the subdata, can be prevented from becoming excessively large. Thus, the configuration which is necessary for data protection can be simplified.
In the data processing apparatus according to First Example or Second Example, in relation to each of the subdata stored in the removable memories, the dividing unit stores the whole portion of one subdata in the removable memory, without simultaneously maintaining the whole portion of the one subdata in the data processing apparatus.
According to the above-described data processing apparatus, the whole portion of one subdata is stored in the removable memory, without being simultaneously maintained in the data processing apparatus, so that the configuration which is necessary for data protection can be simplified while the data protection is being reliably performed.
In the data processing apparatus according to any one of First Example to Third Example, the dividing unit allows a user to determine a data division method.
According to the above-described data processing apparatus, in the case of using a division method determined by a user, the configuration which is necessary for data protection can be simplified.
In the data processing apparatus according to any one of First Example to Fourth Example, the dividing unit performs division and storage of the original data in response to a write request for the original data.
According to the above-described data processing apparatus, in the case of performing the division of the original data and the storage of the subdata in response to the write request for the original data, the configuration which is necessary for data protection can be simplified.
In the data processing apparatus according to Fifth Example, in relation to a plurality of memory areas used for storing the N pieces of subdata, the dividing unit regards a plurality of memory areas including the L removable memories as one virtual memory area. The original data is written on the one virtual memory area in response to the write request for the original data.
According to the above-described data processing apparatus, the configuration for the write request can be simplified.
In the data processing apparatus according to any one of First Example to Sixth Example, the data processing apparatus further includes a decoding unit that decodes the original data by using the N pieces of subdata including the subdata stored in the removable memories.
According to the above-described data processing apparatus, the configuration which is necessary for the protection and use of the data can be simplified.
According to a second aspect of the invention, there is provided a data processing method. In the data processing method, original data is divided into N pieces of subdata (N denotes an integer of 2 or more), and one to (N−1) pieces of different subdata is each stored in L removable memories (L denotes an integer in a range of 1 to N).
According to a third aspect of the invention, there is provided a computer-readable recording medium for recording a computer program that prompts a computer to execute functions of dividing original data into N pieces of subdata (N denotes an integer of 2 or more), and storing each of one to (N−1) pieces of different subdata in L removable memories (L denotes an integer in a range of 1 to N).
The invention can be realized in various ways. For example, the invention can be realized in the form of data processing method and apparatus, a computer program for realizing the method and functions of the apparatus, a recording medium for recording the computer program, and the like.
The invention will be described with reference to the accompanying drawings, wherein like numbers reference like elements.
The invention will be described in the following sequence.
Various types of USB devices can be connected to the USB interface 400. According to the present embodiment, the USB memory 50_1 is connected to the USB interface 400. The USB memory 50_1 corresponds to a removable memory in the appended claims.
The application 600 is an application program of executing various types of data processing such as image processing and document creating. The application 600 executes data processing according to the instructions of a user. Further, the application 600 provides the division library 610 with a data write request and a data read request.
The division library 610 performs data read and write operations at the request of the application 600. According to the embodiment, the division library 610 performs the data read and data write operations by using the hard disk drive 300 and the USB memory 50_1.
The division module 612 shown in
After the subdata DA and the subdata DB is completely stored, the division module 612 shown in
Furthermore, the division module 612 stores the whole portion of the second subdata DB in the USB memory 50_1, without simultaneously maintaining the whole portion of the second subdata DB in the data processing apparatus 100. That is, the whole portion of the second subdata DB can be prevented from simultaneously existing in the memory device fixed to the data processing apparatus 100 due to the processing of the division module 612, so that the original data OD can be reliably protected. However, the division module 612 may simultaneously maintain the whole portion of the second subdata DB in the data processing apparatus 100.
Further, the memory device fixed to the data processing apparatus 100 is not a memory device (e.g., the USB memory 50_1) temporarily connected to the data processing apparatus 100, but a memory device (e.g., the hard disk drive 300 or the RAM 220) provided in the data processing apparatus 100 that cannot be separated from the data processing apparatus 100. Hereinafter, the memory device fixed to the data processing apparatus 100 will be referred to as a fixed memory device.
The whole portion of the second subdata DB can be stored in the USB memory 50_1 in various ways, without simultaneously maintaining the whole portion of the second subdata DB in the data processing apparatus 100. For example, the division module 612 repeats the following processes PA and PB.
Preferably, the division module 612 directly stores the primarily obtained data in the USB memory 50_1 without storing the part of the data, which is obtained through the process PA, in the fixed memory device. However, the division module 612 may temporarily store the part of the data, which is obtained through the process PA, in the fixed memory device. In such a case, the division module 612 deletes at least a part of the data temporarily stored in the fixed memory device before obtaining the whole portion of the second subdata DB from the original data OD.
After the read request is received, the decoding module 614 shown in
Further, in a case in which the USB memory 50_1 is not connected to the data processing apparatus 100, the decoding module 614 may not obtain the second subdata DB. Thus, the decoding module 614 may not decode the original data OD.
According to the first embodiment as described above, the original data OD is divided into the two pieces of subdata DA and DB, and the subdata DB is stored in the USB memory 50_1, so that the original data OD can be protected. Further, the data protection is performed without using complicated encryption, so that the configuration of the apparatus can be simplified. Further, the data protection can be performed using the data processing apparatus 100 having a low processing ability. In addition, the data protection can be performed using the data processing apparatus 100 having a simple configuration, that is, the data processing apparatus 100 includes the USB interface 400. According to the first embodiment as described above, the configuration which is necessary for the data protection can be simplified. Further, the division library 610 can be commonly used for a plurality of applications.
The division module 612 shown in
As a result, the size of the second subdata DB is smaller than the size of the first subdata DA. Thus, the capacity of the USB memory 50_1, which is necessary for data protection, can be prevented from becoming excessively large. Consequently, in the case of protecting the original data OD having a large size, the simple USB memory 50_1 can be used, so that the configuration which is necessary for data protection can be simplified.
According to the embodiment shown in
When a user presses an OK button OKB on the setting screen MW, the division module 612 shown in
As described above, since the division module 612 allows a user to determine the division method, the user can use a division method suitable for data to be protected. Further, the configuration which is necessary for data protection can be simplified.
Further, the division module 612 can receive the instructions from a user for the designation of the division method in an arbitrary manner without being limited to the method of using the setting screen MW. For example, the division module 612 can read a setting file prepared by a user. A user inputs information on designation of the division method in the setting file.
The data processing system 900a identifies one memory area based on a drive name. For example, in the embodiment shown in
The division library 610a processes access requests (write request and read request) for the drive E. For example, when the application 600 has issued a write request of the original data OD for the drive E, the division module 612a processes the write request. In detail, similarly to the previous embodiments, the division module 612a divides the original data OD into the first subdata DA and the second subdata DB, stores the first subdata DA in the hard disk drive 300 and stores the second subdata DB in the USB memory 50_1.
Further, when the application 600 has issued a read request of the original data OD from the drive E, the decoding module 614a processes the read request. In detail, similarly to the previous embodiments, the decoding module 614a reads the first subdata DA from the hard disk drive 300 and read the second subdata DB from the USB memory 50_1. Further, the decoding module 614a decodes the original data OD by using the first subdata DA and the second subdata DB, and provides the application 600 with the resultant original data OD.
Further, an access request for the drive C (the hard disk drive 300) or the drive D (the USB memory 50_1) is processed by the operating system. In the write request for the drives C and D, data is stored instead of division.
According to the embodiment as described above, the application 600 issues a write request for the virtual drive E (the memory area 310), similarly to a case of writing data in a normal drive (memory area). Thus, a special write request is unnecessary and a configuration for the write request can be simplified. Further, data protection can be performed without storing a function dedicated for data division in the application 600. Further, the division library 610a may be commonly used for a plurality of applications.
Further, the division library 610a forms the virtual memory area according to the instructions of a user. For example, in the embodiment shown in
The use of such a virtual memory area can be applied to the embodiments shown in
The division module 612b divides the original data OD into N pieces of subdata DA and DB_1 to DB_L (N is 1+L, N denotes an integer equal to or larger than 2, and L denotes an integer equal to or larger than 1). The division module 612b stores the subdata DA in the hard disk drive 300. Further, the division module 612b stores the L pieces of subdata DB_1 to DB_L in the L USB memories 50_1 to 50_L, respectively. Preferably, in relation to the L pieces of subdata DB_1 to DB_L, the division module 612b stores the whole portion of one subdata in a USB memory, without simultaneously maintaining the whole portion of the one subdata in the data processing apparatus 100.
Further, the division module 612b stores the division information DI in the hard disk drive 300, similarly to the previous embodiments. The division information DI may include arbitrary information necessary for decoding the original data OD from the N pieces of subdata. For example, the division information DI may include information representing the storage positions of the N pieces of subdata. Further, the division information DI may include information representing a division method.
The decoding module 614b decodes the original data OD by using the N pieces of subdata. At this time, the decoding module 614b decodes the original data OD with reference to the division information DI.
According to the embodiment, it is preferable that L is equal to or larger than 2. In such a case, the L pieces of subdata DB_1 to DB_L are distributed and stored in the L USB memories 50_1 to 50_L. Thus, all of the L USB memories 50_1 to 50_L are connected to the data processing apparatus 100, so that the whole portion of the original data OD can be initially obtained. As a result, the original data OD can be reliably protected. For example, if L persons carry the L USB memories 50_1 to 50_L, the L persons must first be gathered before the original data OD can be decoded. Thus, the original data OD can be easily protected from unintended users.
Further, the embodiment may employ various methods as shown in
Preferably, the original data OD is divided such that the sizes of the L pieces of subdata DB_1 to DB_L are smaller than the size of the subdata DA stored in the fixed memory device (e.g., the hard disk drive 300) of the data processing apparatus 100. Thus, capacities of the L USB memories 50_1 to 50_L, which are necessary for storing the L pieces of subdata DB_l to DB_L, can be prevented from becoming excessively large. As a result, the configuration which is necessary for the data protection can be simplified.
Further, the embodiment can be applied to the previous embodiments shown in
The division module 612c divides the original data OD into L pieces of subdata DB_1 to DB_L (L denotes an integer equal to or larger than 2), and then stores each of the L pieces of subdata DB_1 to DB_L in the L USB memories 50_1 to 50_L.
Further, the division module 612c stores the division information DI in the one USB memory 50_1. A USB memory, which stores the division information DI, may be predetermined. Instead, a USB memory designated by a user may be used.
The decoding module 614c decodes the original data OD by using the L pieces of subdata.
As described above, all pieces of subdata can be stored in the USB memories. Thus, the original data OD can be decoded using a data processing apparatus different from the data processing apparatus 100 that has divided the original data OD.
Further, the embodiment can be applied to the previous embodiments shown in
Since, among the elements in the previous embodiments, elements other than elements claimed in the appended independent claim are additional, the elements may be omitted. Further, the invention is not limited to the previous embodiments and various modifications can be made within the scope of the invention. For example, the following modifications can be made.
Different to the previous embodiments, a plurality of pieces of subdata can be stored in one removable memory (e.g., the USB memory 50_1). In the case of using a plurality of removable memories similarly to the embodiments shown in
Further, different to the previous embodiments, a plurality of pieces of subdata can be stored in the fixed memory device (e.g., the hard disk drive 300) of the data processing apparatus 100. When P pieces of subdata is stored in the fixed memory device (P denotes an integer equal to or larger than 1), the total number of subdata stored in the L removable memories is (N−P) (i.e., less than N).
As described above, a plurality of pieces of subdata can be stored in one memory device (e.g., one removable memory or one fixed memory device). Thus, even if the subdata has been unintentionally copied from the one memory device to another recording apparatus, the possibility that all pieces of subdata is copied can be reduced. Thus, the original data can be reliability protected.
Further, in relation to the L removable memories, it is preferable that the original data is divided such that the total size of subdata stored in one removable memory is smaller than the total size of subdata stored in the fixed memory device of the data processing apparatus. Thus, the capacities of the L removable memories, which are necessary for storing the subdata, can be prevented from becoming excessively large.
Different to the previous embodiments, various methods can be employed to divide the original data OD without being limited to the methods as described in
For example, similarly to the embodiment shown in
Further, similarly to the third selection item M3 or the fourth selection item M4 shown in
Preferably, each bit of a bit sequence representing the original data OD can be allocated to one of the N pieces of subdata according to predetermined rules without changing the values. Thus, the data can be protected using the data processing apparatus having a low processing ability, so that the configuration which is necessary for the data protection can be simplified. Preferably, the order of bits in each subdata is identical to the order of bits in the original data OD. In this way, load for the data division process can be prevented from becoming excessively large.
Different to the previous embodiments, the division information DI can be stored in the USB memory instead of the fixed memory device of the data processing apparatus 100. Further, the division information DI can be stored in both the fixed memory device and in the USB memory. Further, in the case of using a plurality of USB memories, the division information DI can be stored in each USB memory. In addition, the division information DI may be omitted. For example, the file names of each subdata include the file name of the original data OD, so the original data OD may correspond to a plurality of pieces of subdata. In general, the original data OD may correspond to a plurality of pieces of subdata in an arbitrary manner.
Different to the previous embodiments, various interfaces can be used as the connection interface for performing connection to the removable memory, in addition to the USB (universal serial bus) interface. For example, an IrDA (infrared data association) interface or a Bluetooth interface can be employed. Further, a wired connection interface or a wireless connection interface can also be employed. In addition, a plurality of removable memories connected to other types of interfaces can be used. For example, the subdata can be stored in the USB memory and a memory connected through the IrDA interface.
In all cases, various memory devices temporarily connected to the connection interface can be employed as the removable memory.
Different to the previous embodiments, various memory devices can be employed as the fixed memory device which is fixed to the data processing apparatus 100 to store the subdata, in addition to the hard disk drive 300. For example, a semiconductor memory such as a flash memory can be employed. Further, in the case of storing a plurality of pieces of subdata in the data processing apparatus 100, the plurality of pieces of subdata can be distributed and stored in a plurality of fixed memory devices. In such a case, various memory devices, such as a semiconductor memory including a flash memory, and a hard disk drive, can be employed as the removable memory.
In all cases, it is preferable that a non-volatile memory device (e.g., a flash memory and a hard disk drive) is employed as the memory device for storing the subdata. Thus, data can be maintained for a long period of time.
Different to the previous embodiments, the configuration of the system partially realized by hardware can be replaced with software. In contrast, the configuration of the system partially or completely realized by software can be replaced with hardware. For example, functions of the division module 612 shown in
Further, when the invention is partially or completely realized by software, the software (computer program) can be provided in the form of a computer-readable recording medium. In the invention, the computer-readable recording medium includes various internal memory devices of a computer such as RAMs and ROMs, and external memory devices (e.g., a hard disk) fixed to the computer, in addition to a portable recording medium such as a flexible disk and a CD-ROM.
The entire disclosure of Japanese Patent Application No. 2008-240696, filed Sep. 19, 2008 is expressly incorporated by reference herein.
Number | Date | Country | Kind |
---|---|---|---|
2008-240696 | Sep 2008 | JP | national |