Data transmitting device and method, data receiving device and method and data distributing system and method
Abstract
[Subject] It enables it to realize public presentation of data to many users, and improvement in the reliability of data, without using a server system. [Solution means] The data "data ALL" on PC11 is divided into three data "data 1/3", the "data 2/3", and the "data 3/3. "From PC11, connection is tried at random to PC connected to a network, and divided data is transmitted to PC in which the corresponding system is working, respectively. In PC21 of the transmission destination of divided data, the transmitted data is similarly copied to PC [of further others], for example, PC, 22. Original data are divided, it is transmitted to other PCs on a network, the transmitted divided data is copied, and it is transmitted to PC of further others. Therefore, while original data are decentralized on a network, it is multiplexed and held, and the reliability of data and improvement in an access response can be expected. [Selection figure] Fig. 1
Term
Term ended
Projected expiry passed 2 July 2023, 3.2 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
29 claims: 6 independent, 23 dependent
- 1The data transmitter for transmitting data to the network, a data dividing means for dividing the original data, for each divided data the original data is divided by the data dividing means, at least on the information indicating the Symbol original data The attribute information adding means for adding the attribute information consisting of the information indicating the relationship between the divided data and the original data, and the attribute information adding means for the information device connected to the network. A data transmission device comprising a data transmission means for transmitting each of the above-mentioned divided data. ネットワークに対してデータを送信するデータ送信装置において、 オリジナルデータを分割するデータ分割手段と、 上記データ分割手段で上記オリジナルデータが分割された分割データのそれぞれに対し、少なくとも上記オリジナルデータを示す情報と該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加手段と、 ネットワークに接続された情報機器に対して上記属性情報付加手段で上記属性情報を付加された上記分割データをそれぞれ送信するデータ送信手段とを有することを特徴とするデータ送信装置。
- 8In the data transmission method for transmitting data to the network, at least the original data is shown for each of the data division step of dividing the original data and the divided data in which the original data is divided in the data division step. The attribute information is added in the step of adding the attribute information consisting of the information indicating the relationship between the information and the original data of the divided data, and the step of adding the attribute information to the information device connected to the network. A data transmission method comprising:a data transmission step of transmitting the divided data to which the above-mentioned is added. ネットワークに対してデータを送信するデータ送信方法において、 オリジナルデータを分割するデータ分割のステップと、 上記データ分割のステップで上記オリジナルデータが分割された分割データのそれぞれに対し、少なくとも上記オリジナルデータを示す情報と該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加のステップと、 ネットワークに接続された情報機器に対して上記属性情報付加のステップで上記属性情報を付加された上記分割データをそれぞれ送信するデータ送信のステップとを有することを特徴とするデータ送信方法。
- 9In a data receiving device that receives divided data in which the original data is divided, which is transmitted via the network, a data receiving means for receiving the divided data in which the original data is divided, which is transmitted via the network, and the above data. A storage means for holding the divided data received by the receiving means, and a data transmitting means for transmitting the duplicated divided data obtained by duplicating the divided data received by the data receiving means to an information device connected to the network. A data receiving device characterized by having and. ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信装置において、 ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信手段と、 上記データ受信手段で受信された上記分割データを保持する記憶手段と、 上記データ受信手段で受信された上記分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信手段とを有することを特徴とするデータ受信装置。
- 17In the data receiving method of receiving the divided data in which the original data is divided, which is transmitted via the network, the step of receiving the divided data in which the original data is divided, which is transmitted via the network, and the above The step of holding the divided data received in the data receiving step in the storage means and the duplicate divided data obtained by duplicating the divided data received in the data receiving step are sent to the information device connected to the network. A data receiving method comprising:a step of transmitting data to be transmitted. ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信方法において、 ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信のステップと、 上記データ受信のステップで受信された上記分割データを記憶手段に保持するステップと、 上記データ受信のステップで受信された上記分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信のステップとを有することを特徴とするデータ受信方法。
- 18In a data distribution system that distributes and holds data on a network, the original data is divided and each of the divided data is distributed and held by a plurality of information devices connected by the network. A data distribution system characterized by what has been done. データをネットワーク上に分散して保持するデータ分散システムにおいて、 オリジナルデータを分割し、該オリジナルデータが分割された分割データのそれぞれをネットワークで接続された複数の情報機器に分散して保持するようにしたことを特徴とするデータ分散システム。
- 28In the data distribution method in which data is distributed and held on a network, the original data is divided and each of the divided data is distributed and held by a plurality of information devices connected by the network. A data distribution method characterized by the fact that it has been done. データをネットワーク上に分散して保持するデータ分散方法において、 オリジナルデータを分割し、該オリジナルデータが分割された分割データのそれぞれをネットワークで接続された複数の情報機器に分散して保持するようにしたことを特徴とするデータ分散方法。
Independent claims6
84 paragraphs, as filed
The present invention comprises a data transmitting device and method, a data receiving device and method, and a data distribution system and a method in which data is divided and the divided data is distributed and held in a group of computer devices connected to each other by a network. Regarding the method.
In recent years, the network environment has become widespread all over the world, and server systems are installed everywhere on the network. The server system enables efficient operation of the network by centrally processing various tasks that occur on the network. In addition, data that many users want to publish or share, or important data that has a large impact if lost, is stored in a fault-tolerant server system that uses a technology such as clustering, which is a server duplication technology. Was common.
<p> However, such a fault-tolerant server system generally has a problem that the OS (Operating System) and hardware are very expensive and difficult to manage.</p><p> In addition, the disk storage for holding data also needs to be multiplexed and operated by a technology such as RAID (Redundant Array of Independent Disks) that performs redundancy using a disk array device in case of a failure. Therefore, there is a problem that the disk storage becomes very expensive.</p><p> On the other hand, a client, which is a computer device connected to a network and provided with services from a server system, can acquire data held on the server by connecting to the server via the network. Data can also be retrieved over the network from yet another server that is also connected to the network via the connected server.</p><p> When the number of accesses to the server system increases, the problem is that the response to access from the client deteriorates due to the increase in network load, CPU processing in the server system, and limitation of hardware I / O transfer speed. was there.</p><p> In this case, it is necessary to take measures for access distribution such as data distribution by adding servers and improvement of server processing performance. However, there is a problem that a very large amount of investment must be made for that purpose.</p><p> Therefore, an object of the present invention is a data transmitting device and method, a data receiving device and method, and data distribution so that data can be disclosed to many users and data reliability can be improved without using a server system. To provide systems and methods.</p>
<p> In order to solve the above-mentioned problems, the present invention has a data dividing means for dividing the original data and a divided data in which the original data is divided by the data dividing means in a data transmitting device for transmitting data to the network. On the other hand, at least the attribute information adding means for adding the attribute information consisting of the information indicating the original data and the information indicating the relationship between the original data of the divided data and the attribute information adding means for the information device connected to the network. It is a data transmission device characterized by having a data transmission means for transmitting divided data to which attribute information is added.</p><p> Further, in the data transmission method for transmitting data to the network, the present invention is at least original for each of the data division step of dividing the original data and the divided data in which the original data is divided in the data division step. Attribute information is added in the step of adding attribute information, which consists of the information indicating the data and the information indicating the relationship between the original data of the divided data, and the step of adding the attribute information to the information device connected to the network. It is a data transmission method characterized by having a data transmission step of transmitting each of the added divided data.</p><p> Further, the present invention is a data receiving device for receiving divided data in which the original data is divided, which is transmitted via the network, and which receives the divided data in which the original data is divided, which is transmitted via the network. Data for transmitting to an information device connected to a network a receiving means, a storage means for holding the divided data received by the data receiving means, and a duplicate divided data obtained by duplicating the divided data received by the data receiving means. It is a data receiving device characterized by having a transmitting means.</p><p> Further, the present invention is a data receiving method for receiving divided data in which the original data is divided, which is transmitted via the network, and is data for receiving the divided data in which the original data is divided, which is transmitted via the network. The step of receiving, the step of holding the divided data received in the data receiving step in the storage means, and the duplicate divided data obtained by duplicating the divided data received in the data receiving step are sent to the information device connected to the network. A data receiving method comprising: a data transmission step of transmitting to the data.</p><p> Further, the present invention is a data distribution system in which data is distributed and held on a network, the original data is divided, and each of the divided data in which the original data is divided is distributed to a plurality of information devices connected by a network. It is a data distribution system characterized in that it is retained.</p><p> Further, the present invention is a data distribution method in which data is distributed and held on a network, the original data is divided, and each of the divided data in which the original data is divided is distributed to a plurality of information devices connected by a network. It is a data distribution method characterized in that it is retained.</p><p> As described above, the invention according to claims 1 and 7 divides the original data, and for each of the divided divided data, at least the information indicating the original data and the information indicating the relationship between the original data of the divided data. Since the attribute information consisting of is added and the divided data to which the attribute information is added is transmitted to the information device connected to the network by the attribute information adding means, the original data is the information device on the network. Is distributed to.</p><p> Further, the invention according to claims 8 and 16 receives and holds the divided data in which the original data is divided, which is transmitted via the network, and duplicates the divided data in which the received divided data is duplicated. Since the data is transmitted to the information devices connected to the network, the original data is distributed and retained on the network.</p><p> Further, according to the inventions of claims 17 and 26, the original data is divided, and each of the divided data obtained by dividing the original data is distributed and held in a plurality of information devices connected by a network. , Original data is distributed and held in information devices on the network.</p>
<p> In the present invention, the original data is divided and held in a plurality of computer devices, and a plurality of copies are made for each of the divided data, and the copied divided data is further distributed in a plurality of computer devices. I try to hold it. Therefore, there is an effect that a large-capacity storage system such as a disk array or a server system becomes unnecessary.</p><p> Further, since the data is distributed and held, the reliability of the data can be expected to be improved, and there is an effect that a storage system or a server system having fault tolerance such as clustering or RAID is not required. When the distributed data is encrypted, the confidentiality can be enhanced by making the storage location of the key information for encryption different from the storage location of the divided data.</p><p> Further, since the same divided data is distributed and held in a plurality of computer devices, the same data can be acquired by a plurality of routes. Therefore, even if the communication status of a certain route is poor, the same data can be obtained by communicating with another route or another computer device, and when a certain data is requested, one server system or the like is accessed. It has the effect of improving the access response by eliminating the concentration of data.</p>
Hereinafter, an embodiment of the present invention will be described. The present invention divides the original data and distributes the divided data to a plurality of computer devices connected to each other by a network. This eliminates the need for a large-scale disk storage or server system, and can also reduce the access response.
A distributed system according to an embodiment of the present invention will be schematically described with reference to FIG. The computer devices PC11, PC12 and PC13 are connected by a communication network 10 so that data can be exchanged between the computer devices PC11, PC12 and PC13. In network 10, communication is performed using, for example, TCP / IP (Transmission Control Protocol / Internet Protocol) as a communication protocol.
The networks 20, 30, 40, 50 and 60 have the same configurations as the above-mentioned network 10. That is, the computer devices PC21 to 24 are connected to the network 20, the computer devices PC31 to 34 are connected to the network 30, the computer devices PC41 to 44 are connected to the network 40, the computer devices PC51 to 54 are connected to the network 50, and the computer devices PC61 to 64 are connected to the network 50. The networks 60 are connected to each other so that they can communicate with each other in each network.
Further, the networks 10, 20, 30, 40, 50 and 60 are connected by the network 70, respectively, and can communicate with each other. Therefore, the computer devices PC11 to PC13, PC21 to PC24, PC31 to PC34, ... Connected to each network 10, 20, 30, 40, 50 and 60 via the network 70, respectively, are connected to the network 70 as a whole. Can communicate with each other. In the following, these computer devices PC11 to PC13, PC21 to PC24, PC31 to PC34, ... Are described assuming that they are directly connected to the network 70.
In this example, the network 70 also uses TCP / IP as the communication protocol. The computer devices PC11, PC12, PC13, PC21, ..., Which are made capable of communicating with each other via the network 70, each have a unique IP address.
The networks 10, 20, 30, ..., 70 are capable of high-speed communication, and the computer devices PC11, PC12, PC13, connected to these networks 10, 20, 30, ..., 70. It is desirable that PC21, ... Can always communicate via networks 10, 20, 30, ..., 70.
Computer devices PC11, PC12, PC13, PC21, PC22, ... are CPU (Central Processing Unit), memory such as RAM (Random Access Memory) and ROM (Read Only Memory), and storage device such as hard disk drive (HDD). A personal computer having a general configuration and having a communication means for performing communication via a network can be used. Since the configuration of such a computer device is extremely well known, detailed description thereof will be omitted.
The data distribution holding function for realizing the data distribution system according to the embodiment of the present invention is provided as, for example, a function of an OS (Operating System) in a computer device. Not limited to this, this data distribution holding function can also be realized by application software running on the OS of each computer device. Furthermore, it is also possible to implement the algorithm for realizing this data distribution holding function in terms of hardware. Such OS and application software are installed in computer devices PC11, PC12, PC13, PC21, and so on, respectively.
The computer devices PC11, PC12, PC13, PC21, PC22, ... Are not limited to this example, and electronic game devices having, for example, a CPU, a memory, a communication means, and an HDD can be applied. Of course, other information devices having a CPU, a memory, a communication means, and a storage means (for example, HDD) may be used, or these various devices may be mixed on the network 70. Further, in the above description, the protocol used in each network 10, 20, 30, ..., 70 is TCP / IP, but this is not limited to this example.
In such a configuration, for example, consider exposing the data "data ALL" stored in the HDD of the computer device PC11 connected to the network 10 to other computer devices connected to each other via the network 70. .. The data "data ALL" shall have a data size of 120MB (megabytes).
When publishing data via a network, (1) free disclosure to all computer devices that can communicate via network 70, and (2) paid disclosure to all computer devices that can communicate via network 70. There are three possible options: public, (3) private, that is, the data can only be used on a computer device that holds the data. In the following, the case where the free release is selected in (1) will be described with reference to the flowchart of FIG.
First, in the computer device PC11, the user stores the data "data ALL" that he / she wants to publish via the network 70 in the transmission directory (folder) provided for publishing the data on the HDD of the computer device PC11 itself. (Step S10). Hereinafter, this transmission directory is referred to as a "data disclosure directory". After the user stores the public data in the data public directory, the distributed holding process of the data according to the embodiment of the present invention is performed in the computer device PC11 by, for example, the background processing of the OS (Operating System). Since the processing is performed as background processing by the OS, the user does not need to be aware of it.
In the next step S11, the data "data ALL" stored in the data disclosure directory is first divided into a plurality of data. The number of divisions can be determined based on the user's specifications. For example, the user specifies the number n for which the data "data ALL" is to be divided for the computer device PC11. You can also specify the size of the divided data. Here, it is assumed that the data "data ALL" is divided into three pieces of data having sizes of 50MB, 50MB, and 20MB, respectively. In addition, each of the divided data is referred to as "data 1/3", "data 2/3", and "data 3/3".
If not specified by the user, the OS automatically determines the number of divisions. At this time, it is more preferable that the OS considers the data size of the data to be divided and the load on the network to which the computer device PC11 is connected.
Further, in step S11, the attribute information of the divided data is added as predetermined header information to each of the divided data. The header information items are, for example, (1) the file name of the original file, (2) the size of the original file, (3) the author of the original file, (4) the registration date and time of the original file, and (5) the OS information of the original file. , (6) Total number of divisions, (7) Index number of this data, (8) Size of this data, (9) Number of parent-child permissions, (10) Allowed division of child data, (11) Systematic coefficient, (12) Public Classification, (13) password of original data, etc. can be considered.
Each item of these header information will be described by taking as an example the first data "data 1/3" in which the data "data ALL" is divided. The original file name of (1) indicates the file name of the original file, that is, the file name of the data "data ALL" which is the data of the division source of the data "data 1/3". In this example, it is "Data ALL". As for the size of the original file in (2), the data size of the original data "Data ALL" is indicated by the number of bytes. In this example, it is "120MB". The author of (3) is the copyright holder name of the original file, and is determined from the data in the OS entered and registered at the time of installation of the OS on the computer device PC11, for example.
The registration date and time of (4) indicates the date and time when the original file was published, for example, the date and time information in which the data "data ALL" is stored in the directory "data disclosure directory". The OS information in (5) stores other information related to the original file, such as the basic information of the OS itself that has performed the public processing of the file and the time correction information.
The total number of divisions in (6) indicates the number n of divisions of the original file. In this example, it is "3". The index number in (7) indicates the number of the data in which the original file is divided. In this example, it is "1". As for the data size of (8), the size of the data is indicated by, for example, the number of bytes. In this example, it is "50MB".
As will be described later, in the distributed system according to this embodiment, after the divided data is copied to another computer device via the network, the divided data is transferred to another computer device at the copy destination computer device. On the other hand, it can be copied. At this time, the divided data is referred to as a "parent", and the data whose parent data is copied to another computer device is referred to as a "child". The number of times parent-child permission is allowed in (9) indicates how many times the same divided data is allowed to be copied. In this example, it is set to "2", and 2 child data can be created for 1 parent data. The child data can be further divided. The permission to divide the child data in (10) indicates whether the copied child data can be further divided and copied to another computer device. In this example, it is set to "NO", and it is prohibited to further divide the child data. In addition, the system coefficient of (11) indicates how many times the data is compared to the original data. In this example, it is "0".
Regarding the public classification of (12), for the original data of the data, the above-mentioned distinction between "free public", "paid public" and "non-public" is indicated by, for example, a flag. The password of (13) indicates a password used to restore the original data when, for example, the public classification of (12) is "paid public" or "private". Based on this password information, the user (copyright holder) for the original data of the data can be determined. In this example, where the disclosure category is "free disclosure", no password is specified.
A header consisting of such header information is added to each of the divided data. At this time, the OS encrypts a part of the header information and the data body by a predetermined method. All of the header information may be encrypted.
Note that the header information and data encryption can be different depending on the value of "public classification". For example, if the "public classification" is "free public", the default encryption that can be automatically decrypted by the OS is applied, and if the "public classification" is "paid public", the predetermined encryption is applied. It is possible to apply encryption that cannot be decrypted without entering the password.
When data division and header addition are performed in step S11, the process proceeds to the next step S12. In step S12, the transmission of the first data among the n data in which the original data is divided is prepared. That is, the data in which the index number of (7) in the above header information is "1" (in this example, the data "data 1/3" is prepared for transmission. The processing after this step S12 is the actual division data. It becomes the transmission process of.
First, in step S13, the computer device PC11 randomly selects an IP address and attempts to access another computer device communicably connected via the network 70. As a result, it is checked whether or not the connected computer connected based on the IP address can access the port of the port number (TCP port number) corresponding to the function.
The choice of IP address in step S13 is not limited to random. For example, the computer device PC11 may have a list of IP addresses indicating computer devices to which the computer device can be connected in advance, for example, as a table on the HDD. At the time of connection, this table is referred to and connection is tried sequentially. In this case, the list does not have to include the IP addresses of all computer devices that can be connected via network 70.
When the connection by IP address and TCP port number is confirmed, in the next step S14, whether or not the function, that is, the distributed system according to this embodiment is operating on the OS of the computer device to be connected. Can be investigated. If it is determined that the function is not operating on the connected computer device PC, the process is returned to step S13, and access to another IP address is attempted.
On the other hand, if it is determined in step S14 that the function is operating on the OS of the connected computer device, the process proceeds to step S15. Here, it is assumed that the computer device PC21 is the connection-destination computer device. In a computer device that supports this function, a directory (referred to as a data receiving directory) for receiving transmitted data is provided in advance on the HDD. In step S15, transmission of the data "data 1/3", which is the first divided data, is started from the computer device PC 11 to the data receiving directory on the computer device PC 21 which is the connection destination.
Data transmission status is exchanged between the computer device PC11 on the transmitting side and the computer device PC21 on the receiving side, for example, by handshaking, and it is confirmed whether or not the data transmission has been completed (step S16). If some error occurs during data transmission and the data transmission cannot be completed, the process is returned to step S13.
The divided data whose transmission completion is confirmed in step S16 is held in the data receiving directory with a predetermined file name in the computer device PC21 on the receiving side. Since the content of the transmitted data can be determined from the header attached to the data, any file name can be used as the file name of the received data in the data receiving directory.
Here, it is desirable to prepare a relative table of data names and IP addresses for all OSs. When data is transmitted, it is possible to shorten the search time when executing the data search described later by describing it in the table. For example, add data such as "Data 1/3 exists on the computer device PC21 with the IP address xx.xxx.xxx.xx" to the relative table of the data name and IP address on the computer device PC11 on the transmitting side. I will do it. Furthermore, each time the computer device PC11 is connected to another computer device, the search time can be further shortened by exchanging the relative table of the data name and the IP address between the connection destination and the connection source computer device. Can be done.
When it is determined in step S16 that the data transmission is completed, it is checked in the data disclosure directory of the transmitting computer device PC11 whether or not untransmitted data still exists among the divided data. If it is determined that all the divided data has been transmitted and there is no untransmitted data, the process proceeds to step S19, and a series of processes is completed. At this time, the data "data ALL" stored for publication in the data disclosure directory of the computer device PC11 on the transmitting side can be deleted.
On the other hand, if it is determined in step S16 that there is untransmitted data, the process proceeds to step S18, and preparations for transmission of the next data are made. Then, the process is returned to step S13, another computer device capable of transmitting data again is searched for from the computer devices connected to the network 70, and the data is transmitted to the computer device.
In the example of FIG. 1, of the divided data of the data "data ALL" on the computer device PC11, "data 1/3" is transmitted to the computer device PC21 as described above, and "data 2/3" is Computer device PC23 and "data 3/3" are transmitted to computer device PC42, respectively. In this way, it is preferable to control so that each of the divided data is transmitted to different computer devices.
Further, if the original data is divided by a method in which the original data of the division source cannot be identified from each of the divided data in which the original data is divided, the contents of the original data are transmitted to the computer device to which the divided data is transmitted. It can be concealed, which is more preferable.
Furthermore, by configuring each of the divided data so that the original data cannot be identified, it is possible to avoid the application of copyright restrictions on each of the divided data. That is, for example, when the original data is copyright-protected moving image data, if the original data is simply divided along the time axis corresponding to the reproduction of the moving image data to generate the divided data, each of the divided data becomes a moving image. Since it is reproducible, it may appear to be infringing copyright law when sent to other computer devices. It is conceivable that such application of the copyright law can be avoided if the content as moving image data cannot be recognized by the divided data alone.
There are various ways to divide the data so that the original data cannot be identified from each of the divided data. For example, it is conceivable to encrypt the entire original data by a predetermined encryption method and divide the encrypted data to generate the divided data. Not limited to this, the original data can be divided so as to be divided by a bit permutation. For example, the original data is divided for each byte so as to be divided into the most significant bit, the least significant bit, the bits between them, and the like, and the divided data is generated. Further, data may be extracted from the original data in fine units at arbitrary intervals, and the extracted fine unit data may be combined based on a predetermined rule to generate divided data. Of course, these methods can be combined to generate divided data, and other methods can also be used.
Next, in the computer device in which the divided data is received, a case where the received divided data is copied to another computer device will be described with reference to the flowchart of FIG. When the received divided data is copied to another computer device, the copied data is regarded as child data with respect to the original data which is the parent data.
Here, the computer device PC21 in which the divided data "data 1/3" is transmitted from the computer device PC11 according to the flowchart of FIG. 2 described above will be described as an example. Further, the processing on the computer device PC21 described below is automatically executed in the background by the OS of the computer device PC21.
When the data "data 1/3" is transmitted from the computer device PC11 in step S20, the data "data 1/3" is received in step S21 at the destination computer device PC21. The received data "data 1/3" is stored in the data receiving directory provided in advance on the HDD of the computer device PC21 (step S21). When the data reception is completed, the computer device PC21 reads the header information from the header of the received data "data 1/3".
Among the read header information, based on the parent-child permission count of (9) described above, in step S22, it is determined whether or not the data copy count exceeds the number indicated in the parent-child permission count. For example, if the header is rewritten by subtracting the number of parent-child permissions by 1 each time the received divided data is copied to another computer device, the data can be transferred to another computer device when the number of parent-child permissions is 1 or more. It is necessary to copy, and it can be judged that it is not necessary to copy when the number of parent-child permission is 0.
If it is determined that the number of times the data has been copied exceeds the number of times indicated in the number of parent-child permits, the series of processes is terminated. On the other hand, if the number of copies does not exceed the number indicated in the number of parent-child permits, the process proceeds to step S23, and the next copy is performed.
In step S23, it is determined whether or not to further divide the read header information and copy the data to another computer based on the division permission of the child data in (10) described above. If the child data division permission is set to a value indicating that the data is further divided, the process proceeds to step S24, and the data is further divided into a predetermined number of divisions. The division process at this time is, for example, similar to the process of step S11 in the flowchart of FIG. 2 described above, such as data division, generation of header information related to each divided data, and addition of a header.
When the data is divided in step S23, the process proceeds to step S25. Further, even if it is determined in step S23 that the data is not divided, the process proceeds to step S25. In the process of step S25 or less, the data is transmitted to another computer device by the same process as the process of steps S13 to S18 in the flowchart of FIG. 2 described above.
That is, in step S25, the computer device PC21 randomly selects an IP address or refers to a table to attempt to access another computer device, and the connected computer has a port with a port number corresponding to the function. Is checked for access to. In the next step S26, it is checked whether the function is running on the OS of the connected computer device, and if it is determined that it is not running, the process is returned to step S25 and another IP address. Is attempted to access. If it is determined that the function is running on the OS of the connection-destination computer device, the process proceeds to step S27, and the data receiving directory of the connection-destination computer device (computer device PC22) is displayed. For example, transmission of data "data 1/3" is started.
Data transmission status is exchanged between the computer device PC21 on the transmitting side and the computer device PC22 on the receiving side, for example, by handshaking, and it is confirmed whether or not the data transmission has been completed (step S28). If some error occurs during data transmission and the data transmission cannot be completed, the process is returned to step S25.
The divided data whose transmission is confirmed in step S28 is stored in the data receiving directory with a predetermined file name on the receiving computer device PC22. Since the content of the transmitted data can be determined from the header attached to the data, an arbitrary file name can be used as the file name of the received data in the data receiving directory.
If it is determined in step S28 that the data transmission is complete, it is checked whether there is still untransmitted data in the data disclosure directory of the sending computer device PC21 (step S29). For example, if the data is further divided in step S24 described above, it is checked whether the remaining divided data still exists. If it is determined that there is no untransmitted data, a series of processes is terminated. In this case, the data "data 1/3" used for transmission in the computer device PC21 on the transmitting side is not deleted.
On the other hand, if it is determined in step S29 that there is untransmitted data, the next data is ready to be transmitted, the process is returned to step S25, and another computer device capable of transmitting data again connects to the network 70. It is searched for in the computer device, and the next data is transmitted to the computer device.
In this way, a plurality of divided data are held for each computer device connected to the network 70. In the example of FIG. 1, the "data 1/3" transmitted to the computer device PC21 is copied to the computer device PC22, and further copied to the PC31. The "data 2/3" transmitted to the computer device PC23 is copied to the computer device PC24, and further copied to the PC43. The "data 3/3" transmitted to the computer device PC42 is copied to the computer device PC51 and further copied to the PC53.
In steps S23 and S24 described above, when the data division is instructed by the child data division permission in the header, the data obtained by dividing the original data is further divided and the divided data is generated as described above. The data is propagated by being transmitted and copied to other computer devices. For example, the data "data 1/3" in which the original data is divided is further divided into the data "data 1 / 3-1 / 3", "data 1 / 3-2 / 3", and "data 1 / 3-3 /". It is conceivable that it will be divided as in "3". The divided data is transmitted to different computer devices and copied.
As described above, in one embodiment of the present invention, the original data is divided and distributed and held in a plurality of computer devices, and a plurality of copies are created for each of the divided data, and the copied divided data. Is distributed and held in a plurality of computer devices. Therefore, a large-capacity storage system such as a disk array or a server system is unnecessary. Moreover, since the data is distributed, it is expected that the reliability of the data will be improved against a system failure or the like.
Further, since the same divided data is distributed and held in a plurality of computer devices, the same data can be acquired by a plurality of routes. Therefore, even if the communication state of a certain route is poor, the same data can be obtained by communicating with another route or another computer device. That is, when certain data is requested, access is not concentrated on one server device.
Further, when a notebook personal computer that can be driven by a battery power supply is used as the computer device that constitutes the distributed system according to this embodiment, the notebook personal computer is a computer device with an uninterruptible power supply. I can think. Therefore, by using a large number of notebook personal computers as computer devices constituting the distributed system according to this embodiment, it is possible to construct a distributed system that is resistant to accidents such as power outages.
Next, a case where the computer device in which the distributed system according to the embodiment of the present invention is operating is disconnected from the network will be described. Computer devices are disconnected from the network, for example, when shut down. A computer device disconnected from the network cannot be referenced by other computer devices connected to the network. Therefore, if the divided data transmitted from another computer device exists in the computer device in such a state that the divided data is not copied to the other computer device, the divided data is at least The computer device cannot be taken out until the next connection to the network. In order to avoid such a situation, in one embodiment of this embodiment, when the computer device is disconnected from the network, the divided data held in the computer device is transmitted to another computer device. This transmission process is automatically performed when the network is disconnected, and the computer device is disconnected from the network after the data transmission is completed.
FIG. 4 is a flowchart showing an example of processing in a computer device at the time of network disconnection by the distributed system of this embodiment. The power supply of the computer device is controlled by the OS, and the shutdown is executed by instructing the OS to shut down. That is, for example, when the user instructs the computer device to shut down, the OS automatically performs a series of processes necessary for shutdown such as disconnection from the network, and finally the power of the computer device is turned off by the OS. And the shutdown is completed.
For example, when the computer device PC53 is instructed to disconnect from the network due to shutdown or the like (step S30), transmission of all the data held in the data receiving directory provided on the HDD of the computer device PC53 is prepared. (Step S31). Here, it is assumed that "data 3/3" is held in the data receiving directory of the computer device PC53.
Hereinafter, transmission of data on the data receiving directory is started in the same manner as the processes after step S25 in FIG. 3 described above. In step S32, the computer device PC53 randomly selects an IP address or refers to a table to attempt to access another computer device and access the port with the port number corresponding to the function on the connected computer. It will be checked if it is possible. In the next step S33, it is checked whether the function is running on the OS of the connected computer device, and if it is determined that it is not running, the process is returned to step S32 and another IP address. Is attempted to access.
If it is determined in step S33 that the function is running on the OS of the connection-destination computer device, the process proceeds to step S34 and the data receiving directory of the connection-destination computer device (computer device PC54). In response to this, the transmission of the data "data 3/3" stored in the data receiving directory of the computer device PC53 is started. It should be noted that the number of parent-child permissions in the header information is not rewritten when data is transmitted when the network is disconnected.
Data transmission status is exchanged between the computer device PC53 on the transmitting side and the computer device PC54 on the receiving side, for example, by handshaking, and it is confirmed whether or not the data transmission has been completed (step S35). If some error occurs during data transmission and the data transmission cannot be completed, the process is returned to step S32.
If it is determined in step S35 that the data transmission is complete, it is checked whether there is still untransmitted data in the data receiving directory of the sending computer device PC53 (step S36). If it is determined that there is no untransmitted data, a series of data transmission processes are terminated, and another process of shutdown is executed in the computer device PC53. When the data transmission process is completed, the transmitted data can be deleted from the data receiving directory of the computer device PC53.
On the other hand, if it is determined in step S36 that there is untransmitted data, the next data is ready to be transmitted, the process is returned to step S32, and another computer device capable of transmitting data again connects to the network 70. It is searched for in the computer device, and the next data is transmitted to the computer device.
Next, a method of acquiring the data published on the network 70 as described above will be described. Here, the case of acquiring the data "data ALL" from the computer device PC61 will be considered. For example, when a user is instructed by the computer device PC61 to acquire the data "data ALL", the computer device PC61 first, for example, a computer device located at a short distance in a network (in this example, the computer device PC53). ), The data "data ALL" is divided into the data receiving directory of the computer device PC53 (in this example, the data "data 1/3", "data 2/3" or "data 3/3". ) Exists.
If it is determined that there is no data in which the data "data ALL" is divided on the computer device PC53, the computer device PC61 sequentially accesses other computer devices connected to the network 70, and the data receiving directory is used. It is checked whether the data exists in.
As described above, when the data in which the data "data ALL" is divided is stored in the data receiving directory in the destination computer device, the file name is arbitrarily set. Therefore, the data search here is performed by referring to the file name of the original data included in the header information of each data. Further, when the data is searched by the file name of the header information in this way, another file having the same file name may be obtained as the search result. In such a case, other items of header information, such as "original file author", "original file registration date", and "original file OS information" can also be used as search conditions.
It is preferable that the computer device PC61 can acquire the relative table of the above-mentioned data name and IP address from the connection-destination computer device, because the computer device having the data can be searched faster.
In this way, when a computer device (here, computer device PC51 and data "data 3/3 is searched") in which the divided data of the data "data ALL" is held is found, the computer device PC61 and the computer are found. The device PC51 is connected, and the computer device PC61 requests the computer device PC51 to transmit the data "data 3/3" to the computer device PC61. In response to this request, the data "data 3/3" is transmitted from the computer device PC51 to the computer device PC61. The transmitted data "data 3/3" is received by the computer device PC61 and stored in a predetermined directory.
The computer device PC61 examines the "total number of divisions" in the header information of the received data "data 3/3". This makes it possible to determine how many remaining data need to be acquired in order to restore the original data of the data "data 3/3". Based on this determination result, the above procedure is repeated and the remaining data is acquired.
When all the divided data for restoring the original data is acquired in this way, the data can be restored and combined. Here, if the original data of the divided data is set to be open to the public free of charge based on the "publication classification" of the header information, the divided data is restored and combined as it is to obtain the data "data ALL" which is the original data. be able to.
For example, if each of the divided data that is released free of charge is subjected to the default encryption as described above, the encryption of each divided data is automatically decrypted by the OS in the computer device PC61. Then, the header of each divided data is removed, and each divided data is sequentially combined based on the index number of each divided data.
Each divided data may be encrypted with a randomly generated key, for example, DES (Data Encryption Standard). In this case, the key is stored in a different location, i.e., a different computer device than the divided and encrypted data. For example, a relative table of the data name, the IP address of the data storage destination, and the IP address of the encryption key storage destination is created so that the key storage destination can be known. In this way, it becomes impossible to read the contents of the divided data by the computer device having the divided data alone, and the confidentiality of the data can be improved.
On the other hand, when the "publication category" is set to paid publication, the data can be restored and combined after charging by a predetermined method. There are several possible billing methods.
As an example, a method using a password can be considered. In this case, the OS prompts the user to enter the password when restoring and combining the divided data. The user inputs the credit card number at a site on the network operated by the copyright holder of the original data of the divided data in advance, and asks the user to issue a password. By entering this password to the OS, the split data can be restored and combined.
As another example, a method using a setup program for restoring data can be considered. In this case, when the original data stored in the data disclosure directory is divided and transmitted to each computer device in the source computer device, the original data is once made into a setup program and the setup program is divided. When restoring the original data, first, the divided data is automatically restored and combined by the OS, and the setup program is restored. Then, this setup program accesses a predetermined host computer on the network, and the host computer performs billing processing. After the billing process, the setup process is performed by the setup program and the original data is restored.
As described above, it is also possible to set the data to be private by the "public classification". In this case, as an example, when searching for data, it is processed on the OS so that the data cannot be obtained as a search result unless a password that only the copyright holder of the data can know is entered together with the data name. There is a way to do it.
For example, when the "public classification" of the data stored in the data public directory is set to "private", enter the password together and include it in the header information or the like. Also, when searching for data, enter the password in advance along with the data name. Then, when the "public classification" of the header information of the data searched by the data name is "private", if the password included in the header information and the password entered in advance at the time of the search do not match, the data is displayed. Avoid getting it as a search result.
Further, as another example, although data can be searched and acquired, a method of prompting the input of a password when restoring and combining the data can be considered. In this case as well, when the "public classification" of the data stored in the data public directory is set to "private", the password is also entered and included in the header information or the like. Then, in the data acquired as a result of the search, if the "public classification" of the header information is "private", it is processed on the OS so as to prompt the input of the password. If the entered password and the password included in the header information of the acquired data do not match, the data cannot be restored or combined.
<figref num="1">It is a schematic diagram which shows schematicly the distributed system by one Embodiment of this invention.</figref><figref num="2">It is a flowchart which shows the process of an example at the time of publishing the data via a network by one Embodiment of this invention.</figref><figref num="3">It is a flowchart which shows an example process at the time of copying the received division data to another computer apparatus.</figref><figref num="4">It is a flowchart which shows the process of an example in the computer apparatus at the time of network disconnection by the distributed system of this embodiment.</figref>
Code description
10,20,30,40,50,60,70 Network, PC11, PC12, PC13, PC21, PC22, PC23, PC24, PC31, PC32, PC33, PC34, PC41, PC42, PC43, PC44, PC51, PC52, PC53, PC54, PC61, PC62, PC63, PC64 Computer device
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8560639B2 | Cited by | United States of America | Search report |
| US2010274765A1 | Cited by | United States of America | Pre-grant |
| US2010274762A1 | Cited by | United States of America | Pre-grant |
| US8935366B2 | Cited by | United States of America | Search report |
| JP2019149170A | Cited by | Japan | Search report |
| KR101335934B1 | Cited by | Republic of Korea | Examiner |
| JP2005275937A | Cited by | Japan | Search report |
| JP2008015676A | Cited by | Japan | Examiner |
| JP2019502182A | Cited by | Japan | Search report |
| US10257272B2 | Cited by | United States of America | Applicant |
| JP2006018772A | Cited by | Japan | Search report |
| JP2008084089A | Cited by | Japan | Examiner |
| US8769055B2 | Cited by | United States of America | Search report |
| US2010274982A1 | Cited by | United States of America | Pre-grant |
| US8769049B2 | Cited by | United States of America | Search report |
| JP2012010052A | Cited by | Japan | Search report |
| US2010274983A1 | Cited by | United States of America | Pre-grant |
6 priority claims, no other members on record
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 2002193118 | Japan | A | |
| 2002193118 | Japan | – | |
| 2003270322 | Japan | A | |
| 20022002193118 | – | – | – |
| JP20020193118 | – | – | – |
| JP20030270322 | – | – | – |
23 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Receipt of annual feesR250 | R250 | |
| Written notification of registration of transferR350 | R350 | |
| Request for change of ownership or part of ownershipS111 | S111 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Written notification of registration of transferR350 | R350 | |
| Written request for registration of change of nameS533 | S533 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Written notification for declining of transfer of rightsR360 | R360 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Written request for registration of change of nameS533 | S533 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelR150 | R150 | |
| First payment of annual fees (during grant procedure)A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)A01 | A01 | |
| Written decision to grant a patent or to grant a registration (utility model)A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Report on retrievalA977 | A977 | |
| Written request for application examinationA621 | A621 |
Numbers
- Publication
- 2004046874
- Publication, DOCDB
- 2004046874
- Publication, EPODOC
- JP2004046874
- Application
- 270322
- Application, DOCDB
- 2003270322
- Application, EPODOC
- JP20030270322
Titles3
- Japanese
- データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法
- English
- Data transmitters and methods, data receivers and methods, and data distribution systems and methods
- English
- DATA TRANSMITTING DEVICE AND METHOD, DATA RECEIVING DEVICE AND METHOD AND DATA DISTRIBUTING SYSTEM AND METHOD
Classification
- IPC, 1
- G06F13 00