JP7119324B2 - Information processing device and information processing program - Google Patents

Information processing device and information processing program Download PDF

Info

Publication number
JP7119324B2
JP7119324B2 JP2017184444A JP2017184444A JP7119324B2 JP 7119324 B2 JP7119324 B2 JP 7119324B2 JP 2017184444 A JP2017184444 A JP 2017184444A JP 2017184444 A JP2017184444 A JP 2017184444A JP 7119324 B2 JP7119324 B2 JP 7119324B2
Authority
JP
Japan
Prior art keywords
data
information processing
identifier
storage
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017184444A
Other languages
Japanese (ja)
Other versions
JP2019061408A (en
Inventor
亘 山泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2017184444A priority Critical patent/JP7119324B2/en
Publication of JP2019061408A publication Critical patent/JP2019061408A/en
Application granted granted Critical
Publication of JP7119324B2 publication Critical patent/JP7119324B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置及び情報処理プログラムに関する。 The present invention relates to an information processing device and an information processing program.

特許文献1には、個人が使用するような複数のパーソナルコンピュータを用いて、データの共有を行い、共有するデータの可用性及び信頼性を高めることを課題とし、他のノードの可用性を確認するために、ノード確認部から他のノードにノード確認要求を送信し、他のノードのノード確認応答メッセージ送信部から可用性を示す情報を含むノード確認応答メッセージをノード確認部が受信し、分散保存設定部が、ノード確認応答メッセージの内容に応じてパラメータを決定し、分散保存部が、共有データをN分割して前記可用性が確認されているN台のノードにM重に分散して保存し、分割データ収集部が前記N分割された分割データを選択的にN個集め、データ復元部が、集めたN個の分割データを結合し元のデータを復元することが開示されている。 In Patent Document 1, a plurality of personal computers that are used by individuals are used to share data, and the problem is to increase the availability and reliability of the shared data. , the node confirmation unit transmits a node confirmation request to another node, the node confirmation unit receives a node confirmation response message including information indicating availability from the node confirmation response message transmission unit of the other node, and the distributed storage setting unit determines a parameter according to the contents of the node acknowledgment message, and the distributed storage unit divides the shared data into N, stores the shared data in an M-fold distributed manner to the N nodes whose availability has been confirmed, and divides It is disclosed that a data collection unit selectively collects N pieces of the N pieces of divided data, and a data restoration unit combines the collected N pieces of divided data to restore the original data.

特許文献2には、複数の記憶装置に対する記憶対象データの記憶動作を制御する少なくとも1つの第一サーバーと、前記複数の記憶装置を構成する複数の第二サーバーと、を備えると共に、記憶対象データを分割した複数のブロックデータを前記複数の記憶装置に分散して記憶すると共に、記憶装置に既に記憶されている記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている記憶対象データを前記他の記憶対象データとして参照して重複記憶排除を行うデータ格納制御部を備え、前記データ格納制御部は、記憶対象データを分割した当該記憶対象データ内で連続する複数のブロックデータを、前記複数の記憶装置のうち特定の記憶装置に記憶すると共に、当該ブロックデータのデータ内容に基づく特徴データと当該ブロックデータの前記特定の記憶装置内における格納位置を表す格納位置情報とを関連付けて当該特定の記憶装置内に格納位置特定テーブルとして記憶し、前記特定の記憶装置を識別する記憶装置識別情報と当該特定の記憶装置に格納された前記ブロックデータの前記特徴データとを関連付けて記憶装置特定テーブルとして記憶し、新たに記憶する記憶対象データを分割したブロックデータの前記特徴データに基づいて前記記憶装置特定テーブルを参照して当該ブロックデータの前記特徴データが含まれる前記格納位置特定テーブルが記憶されている前記特定の記憶装置を特定して、当該特定の記憶装置である前記第二サーバーから前記格納位置特定テーブルを前記第一サーバーに読み出し、前記第二サーバーから前記第一サーバーに読み出した前記格納位置特定テーブルに基づいて、さらに新たに記憶する記憶対象データを分割したブロックデータが記憶装置に既に記憶されているか否かの判定を行う、ストレージシステムについて開示されている。 In Patent Document 2, at least one first server that controls storage operations of data to be stored in a plurality of storage devices, and a plurality of second servers that constitute the plurality of storage devices, are distributed and stored in the plurality of storage devices, and other storage target data having the same data contents as the storage target data already stored in the storage device are stored in the storage device and a data storage control unit that removes redundant storage by referring to storage target data already stored in the storage device as the other storage target data, and the data storage control unit divides the storage target data. A plurality of consecutive block data in the storage target data are stored in a specific storage device among the plurality of storage devices, and feature data based on the data contents of the block data and the specific storage device of the block data. stored as a storage position identification table in the specific storage device in association with storage position information representing the storage position in the The feature data of the block data is associated with the feature data and stored as a storage device identification table, and the storage device specification table is referenced based on the feature data of the block data obtained by dividing the storage target data to be newly stored to refer to the block data. specifying the specific storage device in which the storage location identification table containing the characteristic data of is stored, and transferring the storage location identification table from the second server, which is the specific storage device, to the first server Determining whether or not block data obtained by dividing the storage target data to be newly stored is already stored in the storage device based on the storage position identification table read from the second server and read from the first server. A storage system is disclosed that performs:

特開2009-037318号公報JP 2009-037318 A 特許第5500257号公報Japanese Patent No. 5500257

データを分割して、相互接続された複数の情報処理装置に分散して格納することが行われている。利用頻度が低下しているデータについて、自情報処理装置がそのまま格納しておくことは、記憶装置の容量を圧迫してしまうことになる。
本発明は、利用頻度が低下しているデータについては、分割して他の情報処理装置に格納するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
Data is divided and distributed and stored in a plurality of interconnected information processing apparatuses. If the own information processing apparatus stores the data whose usage frequency is decreasing as it is, the capacity of the storage device will be pressed.
SUMMARY OF THE INVENTION It is an object of the present invention to provide an information processing apparatus and an information processing program for dividing data whose usage frequency is decreasing and storing the divided data in another information processing apparatus.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。なお、以下の「請求項」とあるのは、出願当初の請求項である。
請求項1の発明は、データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段を有する情報処理装置である。
The gist of the present invention for achieving this object lies in the following inventions. The "claims" below are the claims as originally filed.
The invention of claim 1 receives a data storage request attached with data and an identifier identifying the data, divides the data, and adds an identifier identifying the divided data to the divided data. , data storage means for storing data in another information processing device; data acquisition means for receiving a data acquisition request with an identifier, constructing original data from divided data, and acquiring the original data; The information processing apparatus comprises storage requesting means for requesting the data storage means to store the data attached with the identifier after a predetermined period has passed since the date and time when the data was acquired.

請求項2の発明は、前記データ格納手段は、前記データ格納依頼を受け付ける格納依頼受付手段と、前記データ格納依頼内のデータを分割する分割手段と、前記分割手段によって分割された複数の分割データを識別する識別子である第2の識別子を生成する識別子生成手段と、前記データ格納依頼内の識別子と複数の前記第2の識別子とを対応付けて、記憶手段に記憶させるように制御する記憶制御手段と、前記分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う第2の格納依頼手段を有する請求項1に記載の情報処理装置である。 According to a second aspect of the present invention, the data storage means comprises storage request reception means for receiving the data storage request, division means for dividing data in the data storage request, and a plurality of divided data divided by the division means. and storage control for controlling the identifier in the data storage request to be associated with the plurality of second identifiers and stored in the storage means. 2. The information processing apparatus according to claim 1, further comprising means for adding said second identifier to said divided data and requesting another information processing apparatus to store said data.

請求項3の発明は、前記分割データを複製する複製手段をさらに有し、前記第2の格納依頼手段は、前記複製手段によって複製された分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う請求項2に記載の情報処理装置である。 The invention according to claim 3 further comprises duplicating means for duplicating the divided data, and the second storage requesting means attaches the second identifier to the divided data duplicated by the duplicating means to obtain another 3. The information processing apparatus according to claim 2, wherein the information processing apparatus is requested to store data.

請求項4の発明は、前記第2の格納依頼手段は、ランダムに他の情報処理装置にデータ格納依頼を行う請求項3に記載の情報処理装置である。 The invention according to claim 4 is the information processing apparatus according to claim 3, wherein the second storage request means randomly requests another information processing apparatus to store data.

請求項5の発明は、前記第2の格納依頼手段は、前記他の情報処理装置が信頼できる場合は、前記分割データをそのまま格納するように、データ格納依頼を行う請求項2に記載の情報処理装置である。 According to the invention of claim 5, when the other information processing device is reliable, the second storage request means issues a data storage request to store the divided data as it is. processing equipment.

請求項6の発明は、前記第2の格納依頼手段は、前記他の情報処理装置が信頼できない場合は、前記分割データを暗号化して格納するように、データ格納依頼を行う請求項2に記載の情報処理装置である。 The invention according to claim 6 is characterized in that, when the other information processing apparatus is unreliable, the second storage requesting means issues a data storage request to encrypt and store the divided data. is an information processing device.

請求項7の発明は、前記データ取得手段は、前記データ取得依頼を受け付ける取得依頼受付手段と、前記データ取得依頼内の識別子に対応する元データがある場合は、該元データを依頼元の情報処理装置に送信する送信手段と、前記データ取得依頼内の識別子に対応する複数の第2の識別子がある場合は、他の情報処理装置に、該第2の識別子を添えたデータ取得依頼を行う取得依頼手段と、前記取得依頼手段が行ったデータ取得依頼に応じて、前記第2の識別子に対応する分割データを取得し、元データを構築する構築手段と、前記構築手段によって構築された元データを前記識別子と対応付けて、記憶手段に記憶させるように制御する第2の記憶制御手段と、前記取得依頼受付手段が受け付けた前記データ取得依頼内の識別子に対応付けてアクセス日時を保存する保存手段を有し、前記送信手段は、前記構築手段によって構築された元データを、依頼元の情報処理装置に送信する請求項1に記載の情報処理装置である。 According to a seventh aspect of the present invention, the data acquisition means includes an acquisition request acceptance means for accepting the data acquisition request, and if there is original data corresponding to the identifier in the data acquisition request, the original data is the information of the requester. If there are a plurality of second identifiers corresponding to the identifier in the data acquisition request and the transmission means for transmitting to the processing device, the other information processing device is requested to acquire the data attached with the second identifiers. acquisition request means; construction means for acquiring divided data corresponding to the second identifier in response to the data acquisition request made by the acquisition request means and constructing original data; and original data constructed by the construction means. second storage control means for controlling data to be stored in a storage means in association with the identifier; and storage of access date and time in association with the identifier in the data acquisition request accepted by the acquisition request acceptance means. 2. The information processing apparatus according to claim 1, further comprising storage means, wherein said transmission means transmits the original data constructed by said construction means to an information processing apparatus that has made a request.

請求項8の発明は、前記構築手段は、前記アクセス日時に基づいて、元データを構築する請求項7に記載の情報処理装置である。 The invention of claim 8 is the information processing apparatus according to claim 7, wherein the constructing means constructs the original data based on the access date and time.

請求項9の発明は、前記構築手段は、前記アクセス日時に基づいて、利用頻度が高まる時期に、予め元データを構築する請求項8に記載の情報処理装置である。 The invention of claim 9 is the information processing apparatus according to claim 8, wherein the construction means constructs the original data in advance based on the access date and time at a time when the frequency of use increases.

請求項10の発明は、前記格納依頼手段は、アクセス日時から予め定められた期間が経過している識別子に対応付けられたデータを取得し、該データに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う請求項1に記載の情報処理装置である。 According to a tenth aspect of the invention, the storage request means acquires data associated with an identifier whose predetermined period has passed since the access date and time, adds the identifier to the data, and stores the data in the data storage means. 2. The information processing apparatus according to claim 1, wherein the data storage request is made at the same time.

請求項11の発明は、前記格納依頼手段は、前記アクセス日時から予め定められた期間が経過しているか否かの判断を定期的に行う請求項10に記載の情報処理装置である。 The invention according to claim 11 is the information processing apparatus according to claim 10, wherein the storage requesting means periodically determines whether or not a predetermined period has passed since the access date and time.

請求項12の発明は、コンピュータを、データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段として機能させるための情報処理プログラムである。 According to the invention of claim 12, a computer receives a data storage request attached with an identifier identifying data and the data, divides the data, and stores the divided data with an identifier identifying the divided data. and a data acquisition means for receiving a data acquisition request accompanied by an identifier, constructing original data from the divided data, and acquiring the original data and an information processing program for functioning as a storage requesting means for requesting the data storage means to store data by adding the identifier to data for which a predetermined period has passed since the date and time when the data was acquired. .

請求項1の情報処理装置によれば、利用頻度が低下しているデータについては、分割して他の情報処理装置に格納することができる。 According to the information processing apparatus of claim 1, data whose usage frequency is decreasing can be divided and stored in another information processing apparatus.

請求項2の情報処理装置によれば、データを分割して他の情報処理装置に格納することができる。 According to the information processing apparatus of claim 2, data can be divided and stored in another information processing apparatus.

請求項3の情報処理装置によれば、データの耐障害性を高めることができる。 According to the information processing apparatus of claim 3, it is possible to improve the fault tolerance of data.

請求項4の情報処理装置によれば、ランダムに他の情報処理装置にデータ格納依頼を行うことができる。 According to the information processing apparatus of claim 4, it is possible to randomly request another information processing apparatus to store data.

請求項5の情報処理装置によれば、他の情報処理装置が信頼できる場合は、復号化処理を行う必要がなくなる。 According to the information processing apparatus of claim 5, if the other information processing apparatus is reliable, it is not necessary to perform the decryption process.

請求項6の情報処理装置によれば、他の情報処理装置が信頼できない場合は、分割データのセキュリティを確保することができる。 According to the information processing apparatus of claim 6, security of divided data can be ensured when other information processing apparatuses are unreliable.

請求項7の情報処理装置によれば、分割データから元データを再構築することができる。 According to the information processing apparatus of claim 7, the original data can be reconstructed from the divided data.

請求項8の情報処理装置によれば、予め元データを構築しておくことができる。 According to the information processing apparatus of claim 8, original data can be constructed in advance.

請求項9の情報処理装置によれば、利用頻度が高まる時期に、予め元データを構築しておくことができる。 According to the information processing apparatus of claim 9, the original data can be constructed in advance when the frequency of use increases.

請求項10の情報処理装置によれば、アクセスされていないデータを、分割して他の情報処理装置に格納することができる。 According to the information processing apparatus of claim 10, data that has not been accessed can be divided and stored in another information processing apparatus.

請求項11の情報処理装置によれば、定期的に、アクセスされていないデータを、分割して他の情報処理装置に格納することができる。 According to the information processing apparatus of claim 11, data that has not been accessed can be divided and stored in another information processing apparatus on a regular basis.

請求項12の情報処理プログラムによれば、利用頻度が低下しているデータについては、分割して他の情報処理装置に格納することができる。 According to the information processing program of claim 12, data whose usage frequency has decreased can be divided and stored in another information processing apparatus.

本実施の形態の構成例についての概念的なモジュール構成図である。2 is a conceptual module configuration diagram of a configuration example of the present embodiment; FIG. 本実施の形態を利用したシステム構成例を示す説明図である。1 is an explanatory diagram showing a system configuration example using this embodiment; FIG. 本実施の形態による処理例を示すフローチャートである。6 is a flow chart showing an example of processing according to the present embodiment; データ格納依頼データのデータ構造例を示す説明図である。FIG. 9 is an explanatory diagram showing an example data structure of data storage request data; 本実施の形態による処理例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of processing according to the present embodiment; 分割リストのデータ構造例を示す説明図である。FIG. 11 is an explanatory diagram showing an example data structure of a division list; データ格納依頼データのデータ構造例を示す説明図である。FIG. 9 is an explanatory diagram showing an example data structure of data storage request data; 本実施の形態による処理例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of processing according to the present embodiment; 本実施の形態による処理例を示すフローチャートである。6 is a flow chart showing an example of processing according to the present embodiment; 本実施の形態による処理例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of processing according to the present embodiment; 本実施の形態による処理例を示すフローチャートである。6 is a flow chart showing an example of processing according to the present embodiment; データ格納依頼データのデータ構造例を示す説明図である。FIG. 9 is an explanatory diagram showing an example data structure of data storage request data; 格納データのデータ構造例を示す説明図である。FIG. 4 is an explanatory diagram showing an example data structure of stored data; 識別子・アクセス日時対応データのデータ構造例を示す説明図である。FIG. 10 is an explanatory diagram showing an example of a data structure of identifier/access date/time correspondence data; 本実施の形態による処理例を示すフローチャートである。6 is a flow chart showing an example of processing according to the present embodiment; 本実施の形態による処理例を示すフローチャートである。6 is a flow chart showing an example of processing according to the present embodiment; ログテーブルのデータ構造例を示す説明図である。FIG. 4 is an explanatory diagram showing an example data structure of a log table; プリフェッチ時テーブルのデータ構造例を示す説明図である。FIG. 11 is an explanatory diagram showing an example data structure of a prefetch time table; 本実施の形態による処理例を示すフローチャートである。6 is a flow chart showing an example of processing according to the present embodiment; 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。1 is a block diagram showing a hardware configuration example of a computer that implements the embodiment; FIG.

まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する情報処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
例えば、FullHD、4Kカメラ、全方位カメラ等で撮影された高解像度な静止画・動画を始めとして、デジタルコンテンツのデータサイズは肥大化を続けている。また、デジタルコンテンツは複数のユーザーによって共有されることも多く、データ共有方法として様々なサービスが作り出されてきた。
データをいかに効率よく保存して共有するかがデータ共有方法の課題である。データ共有方法の例として、(1)ある特定の事業者が提供する中央サーバーにデータを保存するサービスや、(2)シェアしようとするユーザーの端末自体を相互通信可能なデータ保存機能として連携させて使用するシステムがある。特に、後者はP2P(Peer to Peer)型の分散データストアとして発展してきた。
First, before describing the present embodiment, the premise thereof or an information processing apparatus using the present embodiment will be described. Note that this description is intended to facilitate understanding of the present embodiment.
For example, the data size of digital content continues to grow, including high-resolution still images and moving images captured by FullHD, 4K cameras, omnidirectional cameras, and the like. In addition, digital content is often shared by multiple users, and various services have been created as data sharing methods.
How to store and share data efficiently is the issue of data sharing methods. Examples of data sharing methods include (1) a service that stores data on a central server provided by a specific business operator, and (2) the user's device itself that is to be shared is linked as a data storage function that can communicate with each other. There is a system that uses In particular, the latter has been developed as a P2P (Peer to Peer) type distributed data store.

特許文献1で示される技術では、共有しようとするデータをN分割し、相互通信可能なデータ保存機器N台にM重に分散して保存する手段を提供している。これにより、分割数を調整することで耐障害性(ロバスト性)を高めるとともに、個別のデータ保存機能に求める容量を抑えている。
また、特許文献2で示される技術では、データを分割・分散記憶すると共に、既に記憶されている記憶対象データと同じデータ内容を他の記憶装置に格納する場合は、既に記憶されているデータを他の記憶対象データとして参照することで重複排除を行っている。
どちらも実際に対象のデジタルコンテンツを利用しようとする際には、分割・分散されたデータを全て取り寄せて元のデジタルコンテンツを再構築する必要がある。
しかしながら、頻繁に利用するデジタルコンテンツに対する再構築手続きはオーバーヘッドが大きく、パフォーマンスに悪影響を与える。
The technique disclosed in Patent Document 1 provides a means for dividing data to be shared into N pieces, distributing the data to N data storage devices capable of communicating with each other, and storing the data in an M-fold manner. As a result, by adjusting the number of divisions, fault tolerance (robustness) is improved, and the capacity required for individual data storage functions is suppressed.
In addition, in the technique disclosed in Patent Document 2, data is divided and stored in a distributed manner, and when the same data content as already stored data to be stored is stored in another storage device, the already stored data is stored. Deduplication is performed by referencing it as other storage target data.
In both cases, when trying to actually use the target digital content, it is necessary to obtain all the divided/distributed data and reconstruct the original digital content.
However, the reconstruction procedure for frequently used digital content has a high overhead and adversely affects performance.

以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
An example of a preferred embodiment for realizing the present invention will be described below with reference to the drawings.
FIG. 1 shows a conceptual module configuration diagram of a configuration example of this embodiment.
A module generally refers to a component such as software (computer program) or hardware that can be logically separated. Therefore, modules in this embodiment refer not only to modules in a computer program, but also to modules in a hardware configuration. Therefore, the present embodiment provides a computer program for functioning as those modules (a program for causing the computer to execute each procedure, a program for causing the computer to function as each means, a program for causing the computer to perform each function It also serves as an explanation of the program, system and method for realizing However, for the convenience of explanation, the terms "stored", "stored", and equivalent terms are used, but when the embodiment is a computer program, these terms are stored in a storage device or stored in a storage device. It means to control to store in the device. Also, modules may correspond to functions one-to-one. may consist of multiple programs. Also, multiple modules may be executed by one computer, and one module may be executed by multiple computers by computers in a distributed or parallel environment. Note that one module may include other modules. Further, hereinafter, "connection" is used not only for physical connection but also for logical connection (data transfer, instruction, reference relationship between data, login, etc.). The term "predetermined" means that it is determined before the target process, and not only before the process according to the present embodiment starts, but also after the process according to the present embodiment starts. Also, if it is before the target process, it is used including the meaning that it is determined according to the situation/state at that time or according to the situation/state up to that time. When there are a plurality of "predetermined values", they may be different values, or two or more values (including, of course, all values) may be the same. Also, the description "if A, do B" is used in the sense of "judge whether it is A, and if it is judged to be A, do B". However, this excludes the case where it is not necessary to judge whether or not it is A. In addition, when things are listed like "A, B, C", etc., unless otherwise specified, it is an exemplary list, and includes cases where only one of them is selected (for example, only A).
In addition, a system or device is configured by connecting a plurality of computers, hardware, devices, etc. by communication means such as a network (including one-to-one correspondence communication connection), or a single computer, hardware, device The case where it is realized by etc. is also included. The terms "apparatus" and "system" are used interchangeably. Of course, "system" does not include what is merely a social "mechanism" (social system) that is an artificial arrangement.
In addition, for each process performed by each module or for each process when multiple processes are performed within a module, the target information is read from the storage device, and after the processing is performed, the processing result is written to the storage device. be. Therefore, the description of reading from the storage device before processing and writing to the storage device after processing may be omitted. Note that the storage device here may include a hard disk, a RAM (Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like.

本実施の形態である情報処理装置100は、データ(以下、デジタルコンテンツともいう)を格納又は格納依頼するものであって、図1の例に示すように、通信モジュール105、データ格納モジュール110、データ取得モジュール145、格納依頼モジュール180、データ記憶モジュール195を有している。
なお、処理対象とするデータの種類は問わない。例えば、文書、画像、音声情報、動画情報であってもよいし、ツリー構造を有しているものであってもよい。例えば、IoT( Internet of Things)やM2M(Machine to Machine)の隆盛に伴い、データをツリー構造で保持することが行われるようになっているが、これらを処理対象のデータとしてもよい。
また、サービス利用者が情報処理装置100に記憶させるデータ、又は、情報処理装置100から取得するデータについて、サービス利用者によって偏りがある場合がある。つまり、特定のサービス利用者に高頻度で扱われるデータは、他のサービス利用者にとって全く扱うことのないデータである場合もある。一般的に、このような状況は生じ得るが、そのような状況の場合に、情報処理装置100は、特に有効である。
An information processing apparatus 100 according to the present embodiment stores or requests storage of data (hereinafter also referred to as digital content), and includes a communication module 105, a data storage module 110, It has a data acquisition module 145 , a storage request module 180 and a data storage module 195 .
The type of data to be processed does not matter. For example, it may be a document, an image, audio information, moving image information, or may have a tree structure. For example, with the rise of IoT (Internet of Things) and M2M (Machine to Machine), data is held in a tree structure, but these may be data to be processed.
Further, the data stored in the information processing apparatus 100 by the service user or the data acquired from the information processing apparatus 100 may be biased depending on the service user. In other words, data frequently handled by a specific service user may be data that other service users never handle. Generally, such a situation may occur, and the information processing apparatus 100 is particularly effective in such a situation.

通信モジュール105は、データ格納モジュール110、データ取得モジュール145、格納依頼モジュール180と接続されている。通信モジュール105は、他の情報処理装置100との通信を行う。例えば、他の情報処理装置100からデータ格納依頼、データ取得依頼を受信し、それぞれデータ格納モジュール110、データ取得モジュール145へ渡す。また、逆に、データ格納モジュール110、データ取得モジュール145から、それぞれデータ格納依頼、データ取得依頼を受け取り、他の情報処理装置100に送信する。その他、データ格納依頼、データ取得依頼に対する応答(成功、失敗を示す情報、データ取得依頼に対するデータ等)等を送受信する。 Communication module 105 is connected to data storage module 110 , data acquisition module 145 , and storage request module 180 . The communication module 105 communicates with other information processing apparatuses 100 . For example, a data storage request and a data acquisition request are received from another information processing apparatus 100 and transferred to the data storage module 110 and the data acquisition module 145, respectively. Conversely, it receives a data storage request and a data acquisition request from the data storage module 110 and the data acquisition module 145 respectively, and transmits them to the other information processing apparatus 100 . In addition, it transmits and receives data storage requests, responses to data acquisition requests (information indicating success or failure, data for data acquisition requests, etc.).

データ格納モジュール110は、格納依頼受付モジュール115、分割モジュール120、識別子生成モジュール125、記憶制御(A)モジュール130、複製モジュール135、格納依頼処理(A)モジュール140を有しており、通信モジュール105、データ記憶モジュール195と接続されている。データ格納モジュール110は、データとそのデータを識別する識別子が添えられたデータ格納依頼を受け付けて、そのデータを分割して、分割されたデータにその分割されたデータを識別する識別子を添えて、他の情報処理装置100に格納する機能を有している。 The data storage module 110 has a storage request reception module 115, a division module 120, an identifier generation module 125, a storage control (A) module 130, a replication module 135, a storage request processing (A) module 140, and a communication module 105. , is connected to the data storage module 195 . The data storage module 110 receives a data storage request attached with data and an identifier identifying the data, divides the data, attaches an identifier identifying the divided data to the divided data, It has a function of storing in another information processing apparatus 100 .

格納依頼受付モジュール115は、データ格納依頼を受け付ける。例えば、後述するデータ格納依頼データ400を受け付ける。
分割モジュール120は、データ格納依頼内のデータを分割する。
識別子生成モジュール125は、分割モジュール120によって分割された複数の分割データを識別する識別子である第2の識別子を生成する。例えば、ハッシュ関数等を用いて、分割データから第2の識別子を生成する。
記憶制御(A)モジュール130は、データ格納依頼内の識別子と複数の第2の識別子とを対応付けて、データ記憶モジュール195に記憶させるように制御する。例えば、後述する分割リスト600を生成し、データ記憶モジュール195に記憶させる。
複製モジュール135は、分割データを複製する。耐障害性を高めるためである。詳細な処理については、図9、図10の例を用いて後述する。
The storage request reception module 115 receives a data storage request. For example, data storage request data 400, which will be described later, is received.
The splitting module 120 splits the data in the data store request.
The identifier generation module 125 generates a second identifier that identifies the plurality of pieces of divided data divided by the division module 120 . For example, a hash function or the like is used to generate the second identifier from the divided data.
The storage control (A) module 130 associates the identifier in the data storage request with a plurality of second identifiers and controls the data storage module 195 to store them. For example, a split list 600 to be described later is generated and stored in the data storage module 195 .
The replication module 135 replicates the split data. This is to improve fault tolerance. Detailed processing will be described later using examples in FIGS. 9 and 10 .

格納依頼処理(A)モジュール140は、分割データに第2の識別子を添えて、他の情報処理装置100にデータ格納依頼を行う。つまり、分割データを分散して記憶させるものである。例えば、後述するデータ格納依頼データ700を生成して、他の情報処理装置100に送信する。
また、格納依頼処理(A)モジュール140は、複製モジュール135によって複製された分割データに第2の識別子を添えて、他の情報処理装置100にデータ格納依頼を行うようにしてもよい。
また、格納依頼処理(A)モジュール140は、ランダムに他の情報処理装置100にデータ格納依頼を行うようにしてもよい。ランダムの他に、予め定められた順番にしたがって、データ格納依頼を行う情報処理装置100を決定してもよい。例えば、ホップ数(通信相手である情報処理装置100に到達するまでに経由する中継設備の数)の少ない順に情報処理装置100を選択してもよい。
また、格納依頼処理(A)モジュール140は、他の情報処理装置100が信頼できる場合は、分割データをそのまま格納するように、データ格納依頼を行うようにしてもよい。例えば、「他の情報処理装置100が信頼できる」か否かの判断は、後述するように、同じファイアーウォール装置250に接続されている情報処理装置100(例えば、社内の情報処理装置100)であれば信頼できると判断し、ファイアーウォール装置250外の情報処理装置100(例えば、社外の情報処理装置100)であれば信頼できないと判断してもよい。また、予め定められた情報処理装置100を信頼できる情報処理装置100としてもよい。
また、格納依頼処理(A)モジュール140は、他の情報処理装置100が信頼できない場合は、分割データを暗号化して格納するように、データ格納依頼を行うようにしてもよい。
The storage request processing (A) module 140 attaches the second identifier to the divided data and requests another information processing apparatus 100 to store the data. That is, the divided data are distributed and stored. For example, it generates data storage request data 700 to be described later and transmits it to another information processing apparatus 100 .
Further, the storage request processing (A) module 140 may attach the second identifier to the divided data duplicated by the duplication module 135 and request another information processing apparatus 100 to store the data.
The storage request processing (A) module 140 may randomly request other information processing apparatuses 100 to store data. The information processing apparatus 100 to which the data storage request is made may be determined according to a predetermined order other than random. For example, the information processing apparatuses 100 may be selected in descending order of the number of hops (the number of relay facilities through which the information processing apparatus 100 as a communication partner is reached).
Further, if the other information processing apparatus 100 is reliable, the storage request processing (A) module 140 may issue a data storage request to store the divided data as it is. For example, the judgment as to whether or not ``another information processing device 100 is reliable'' is made by the information processing device 100 connected to the same firewall device 250 (for example, the information processing device 100 in the company), as will be described later. It may be determined that the information processing device 100 outside the firewall device 250 (for example, the information processing device 100 outside the company) is not reliable. Further, a predetermined information processing device 100 may be used as a reliable information processing device 100 .
If the other information processing apparatus 100 is unreliable, the storage request processing (A) module 140 may issue a data storage request to encrypt and store the divided data.

データ取得モジュール145は、取得依頼受付モジュール150、送信モジュール155、取得依頼モジュール160、構築モジュール165、記憶制御(B)モジュール170、保存モジュール175を有しており、通信モジュール105、データ記憶モジュール195と接続されている。データ取得モジュール145は、識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、その元データを取得する機能を有している。 The data acquisition module 145 has an acquisition request reception module 150 , a transmission module 155 , an acquisition request module 160 , a construction module 165 , a storage control (B) module 170 , a storage module 175 , a communication module 105 and a data storage module 195 . is connected with The data acquisition module 145 has a function of receiving a data acquisition request attached with an identifier, constructing original data from divided data, and acquiring the original data.

取得依頼受付モジュール150は、データ取得依頼を受け付ける。例えば、後述するデータ格納依頼データ1200を受け付ける。
送信モジュール155は、データ取得依頼内の識別子に対応する元データがデータ記憶モジュール195内にある場合は、その元データを依頼元の情報処理装置100(データ取得依頼を送信してきた情報処理装置100)に送信する。
また、送信モジュール155は、データ取得依頼内の識別子に対応する元データがデータ記憶モジュール195内に無い場合(データ記憶モジュール195内には、データ取得依頼内の識別子に対応する複数の第2の識別子がある場合)は、構築モジュール165によって構築された元データを、依頼元の情報処理装置100に送信する。
The acquisition request acceptance module 150 accepts data acquisition requests. For example, it receives data storage request data 1200, which will be described later.
If the original data corresponding to the identifier in the data acquisition request is in the data storage module 195, the transmission module 155 sends the original data to the information processing apparatus 100 that has sent the data acquisition request. ).
Also, if the data storage module 195 does not contain the original data corresponding to the identifier in the data acquisition request, the transmission module 155 stores a plurality of second data corresponding to the identifier in the data acquisition request. If there is an identifier), the original data constructed by the construction module 165 is transmitted to the information processing apparatus 100 of the request source.

取得依頼モジュール160は、データ取得依頼内の識別子に対応する複数の第2の識別子がある場合は、他の情報処理装置100に、その第2の識別子を添えたデータ取得依頼を行う。そして、そのデータ取得依頼の返信として、他の情報処理装置100から分割データを受信する。
構築モジュール165は、取得依頼モジュール160が行ったデータ取得依頼に応じて、第2の識別子に対応する分割データを取得し、元データを構築する。つまり、分割モジュール120とは逆の処理を行って、分割データから元データを生成する。
また、構築モジュール165は、アクセス日時に基づいて、元データを構築するようにしてもよい。いわゆるプリフェッチ処理を行うものであって、予想されたアクセス日時が近づいている場合、分割データを収集して、元データを構築するものである。図16~図19の例を用いて後述する。
また、構築モジュール165は、アクセス日時に基づいて、利用頻度が高まる時期に、予め元データを構築するようにしてもよい。特に、利用頻度が高まる時期に、プリフェッチ処理を行えば、元データの構築処理を事前に行うことになり、データ取得依頼に対して(データ取得依頼を受けた後に、元データの構築処理を行う場合に比べて、)高速に対応することができるようになる。
If there are a plurality of second identifiers corresponding to the identifier in the data acquisition request, the acquisition request module 160 requests the other information processing apparatus 100 to acquire the data attached with the second identifiers. Then, the divided data is received from the other information processing apparatus 100 as a reply to the data acquisition request.
The construction module 165 acquires the divided data corresponding to the second identifier and constructs the original data in response to the data acquisition request made by the acquisition request module 160 . In other words, the original data is generated from the divided data by performing a process opposite to that of the division module 120 .
Also, the construction module 165 may construct the original data based on the access date and time. It performs a so-called prefetch process, and when the expected access date and time is approaching, the divided data are collected to construct the original data. This will be described later using the examples of FIGS. 16 to 19. FIG.
Also, the building module 165 may build the original data in advance based on the access date and time when the frequency of use increases. In particular, when the frequency of use is high, if prefetch processing is performed, the original data construction processing will be performed in advance, and the original data construction processing will be performed in response to the data acquisition request (after receiving the data acquisition request). (Compared to the case), it will be possible to respond at high speed.

記憶制御(B)モジュール170は、構築モジュール165によって構築された元データを識別子と対応付けて、データ記憶モジュール195に記憶させるように制御する。したがって、この後(かつ、格納依頼モジュール180による処理が行われる前)は、データ記憶モジュール195内に、識別子に対応する元データが記憶されていることになる。
保存モジュール175は、取得依頼受付モジュール150が受け付けたデータ取得依頼内の識別子に対応付けてアクセス日時を保存する。いわゆるログ情報を記憶するものであって、例えば、後述する識別子・アクセス日時対応データ1400を生成し、データ記憶モジュール195内に記憶する。
The storage control (B) module 170 controls the data storage module 195 to store the original data constructed by the construction module 165 in association with the identifier. Therefore, after this (and before the processing by the storage request module 180 is performed), the original data corresponding to the identifier is stored in the data storage module 195 .
The storage module 175 stores the access date and time in association with the identifier in the data acquisition request accepted by the acquisition request acceptance module 150 . It stores so-called log information. For example, identifier/access date/time correspondence data 1400 to be described later is generated and stored in the data storage module 195 .

格納依頼モジュール180は、アクセス日時判定モジュール185、格納依頼処理(B)モジュール190を有しており、通信モジュール105、データ記憶モジュール195と接続されている。格納依頼モジュール180は、データが取得された日時から予め定められた期間が経過しているデータにその識別子を添えて、データ格納モジュール110に、データ格納依頼を行う機能を有している。 The storage request module 180 has an access date/time determination module 185 and a storage request processing (B) module 190 and is connected to the communication module 105 and data storage module 195 . The storage request module 180 has a function of requesting the data storage module 110 to store data by attaching an identifier to data that has passed a predetermined period from the date and time when the data was acquired.

格納依頼モジュール180は、アクセス日時から予め定められた期間が経過している識別子に対応付けられたデータを取得し、そのデータにその識別子を添えて、データ格納モジュール110に、データ格納依頼を行う。
また、格納依頼モジュール180は、アクセス日時から予め定められた期間が経過しているか否かの判断を定期的に行うようにしてもよい。
アクセス日時判定モジュール185は、データ記憶モジュール195内に記憶されている元データのアクセス日時が、予め定められた期間経過しているか否かを判断する。つまり、しばらくアクセスのない元データがデータ記憶モジュール195に記憶されているか否かを判断する。この判断処理は、定期的に行うようにしてもよい。また、ユーザーの操作に応じて、この判断処理を行うようにしてもよい。また、データ記憶モジュール195内に記憶されている元データの容量が予め定められた閾値より大きく又は以上となった場合に、この判断処理を行うようにしてもよい。また、逆に、データ記憶モジュール195内の空き領域の容量が予め定められた閾値未満又は以下となった場合に、この判断処理を行うようにしてもよい。
格納依頼処理(B)モジュール190は、アクセス日時判定モジュール185によって、アクセス日時から予め定められた期間が経過しているデータがあると判断された場合は、そのデータにそのデータの識別子を添えて、データ格納モジュール110に、データ格納依頼を行う。つまり、データを分割して分散させるものである。なお、この対象となった元データは、データ記憶モジュール195から削除してもよい。
The storage request module 180 acquires data associated with an identifier whose predetermined period has passed since the access date and time, attaches the identifier to the data, and requests the data storage module 110 to store the data. .
Further, the storage request module 180 may periodically determine whether or not a predetermined period has passed since the access date and time.
The access date/time determination module 185 determines whether or not the access date/time of the original data stored in the data storage module 195 has passed a predetermined period. That is, it is determined whether or not original data that has not been accessed for a while is stored in the data storage module 195 . This determination process may be performed periodically. Also, this determination process may be performed according to the user's operation. Also, this judgment processing may be performed when the capacity of the original data stored in the data storage module 195 is greater than or equal to a predetermined threshold value. Conversely, this determination process may be performed when the capacity of the free area in the data storage module 195 is less than or equal to the predetermined threshold value.
If the access date/time determination module 185 determines that there is data for which a predetermined period has passed since the access date/time, the storage request processing (B) module 190 attaches the data identifier to the data. , the data storage module 110 is requested to store data. In other words, data is divided and distributed. Note that the original data to be deleted may be deleted from the data storage module 195 .

データ記憶モジュール195は、データ格納モジュール110、データ取得モジュール145、格納依頼モジュール180と接続されている。データ記憶モジュール195は、データ等を記憶している。例えば、元データ又は分割データそのものを記憶する格納データ1300、分割データの識別子群を記憶する分割リスト600、ログとしての識別子・アクセス日時対応データ1400、ログテーブル1700、プリフェッチの起動タイミングを記憶するプリフェッチ時テーブル1800等を記憶している。 The data storage module 195 is connected with the data storage module 110 , the data acquisition module 145 and the storage request module 180 . The data storage module 195 stores data and the like. For example, stored data 1300 that stores original data or divided data itself, division list 600 that stores identifier groups of divided data, identifier/access date/time correspondence data 1400 as a log, log table 1700, prefetch that stores prefetch activation timing. A time table 1800 and the like are stored.

図2は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置100A、情報処理装置100B、情報処理装置100C、情報処理装置100D、データ記憶装置200、ファイアーウォール装置250、は、通信回線290を介してそれぞれ接続されている。データ記憶装置200は、情報処理装置100Eを有している。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット等であってもよい。また、データ記憶装置200による機能は、クラウドサービスとして実現してもよい。
ファイアーウォール装置250、情報処理装置100F、情報処理装置100G、情報処理装置100H、情報処理装置100Iは、通信回線を介してそれぞれ接続されている。例えば、これらは、通信インフラとしてのイントラネット等によって接続されている。
また、情報処理装置100A、情報処理装置100B、情報処理装置100C、情報処理装置100D、データ記憶装置200、情報処理装置100F、情報処理装置100G、情報処理装置100H、情報処理装置100Iは、ファイアーウォール装置250、通信回線290を介してそれぞれ接続されている。
例えば、情報処理装置100A内に記憶されているデータを分割し、他の情報処理装置100(例えば、情報処理装置100B、データ記憶装置200等)に記憶させる。
また、例えば、情報処理装置100Fにとって、ファイアーウォール装置250によって外界から守られている情報処理装置100G、情報処理装置100H、情報処理装置100Iは、信頼できる情報処理装置である。したがって、情報処理装置100Fが情報処理装置100Gにデータ格納依頼を行う場合は、分割データをそのまま格納するように、データ格納依頼を行うようにしてもよい。逆に、情報処理装置100Fにとって、ファイアーウォール装置250の外界である情報処理装置100A等は、信頼できない情報処理装置である。したがって、情報処理装置100Fが情報処理装置100Aにデータ格納依頼を行う場合は、分割データを暗号化して格納するように、データ格納依頼を行うようにしてもよい。もちろんのことながら、この場合、返信されたデータを、情報処理装置100Fは復号する必要がある。
FIG. 2 is an explanatory diagram showing a system configuration example using this embodiment.
The information processing device 100A, the information processing device 100B, the information processing device 100C, the information processing device 100D, the data storage device 200, and the firewall device 250 are connected via a communication line 290, respectively. The data storage device 200 has an information processing device 100E. The communication line 290 may be wireless, wired, or a combination thereof, and may be, for example, the Internet as a communication infrastructure. Also, the functions of the data storage device 200 may be implemented as a cloud service.
The firewall device 250, the information processing device 100F, the information processing device 100G, the information processing device 100H, and the information processing device 100I are each connected via a communication line. For example, these are connected by an intranet or the like as a communication infrastructure.
Information processing device 100A, information processing device 100B, information processing device 100C, information processing device 100D, data storage device 200, information processing device 100F, information processing device 100G, information processing device 100H, and information processing device 100I are firewalls. A device 250 and a communication line 290 are connected to each other.
For example, data stored in the information processing device 100A is divided and stored in another information processing device 100 (for example, the information processing device 100B, the data storage device 200, etc.).
For example, for the information processing device 100F, the information processing device 100G, the information processing device 100H, and the information processing device 100I, which are protected from the outside world by the firewall device 250, are reliable information processing devices. Therefore, when the information processing device 100F requests the information processing device 100G to store data, the data storage request may be made to store the divided data as it is. Conversely, for the information processing device 100F, the information processing device 100A and the like, which are outside the firewall device 250, are unreliable information processing devices. Therefore, when the information processing device 100F requests the information processing device 100A to store data, the data storage request may be made so as to encrypt and store the divided data. Of course, in this case, the information processing device 100F needs to decrypt the returned data.

本実施の形態は、例えば、以下のような処理を行う。特に、この説明(本段落内の説明)は、本実施の形態の理解を容易にすることを目的とするものであり、この説明を用いて限定解釈することは意図していない。そして、この説明部分のみを用いて、特許を受けようとする発明が発明の詳細な説明に記載したものであること(特許法第36条第6項第1号)の判断を行うべきではないことは当然である。
情報処理装置100は、デジタルコンテンツの利用頻度に応じて、データ再構築コストを低減させる分散データ保存方法に関するものである。
そのために、個々のデータのアクセス履歴を保持する。そして、利用頻度が低下したデータを分割・分散保存して元のデータは参照データにする。また、保存されているデータを再構築したデータで上書きする。
情報処理装置100は、データを、分割して、相互接続された複数のデータ保存機能(他の情報処理装置100)に分散・冗長化して保存する。情報処理装置100は、以下のステップ(データ格納ステップ、データ取得ステップ、再分割・再分散ステップ)で構成されているデータ保存方法を行う。
(1)データ格納ステップでは、以下の処理を行う。
データとIDが添えられたデータ格納依頼を受け、そのデータをX個に分割した分割データそれぞれにID(分割ID)を生成し、元IDとX個の分割した分割IDとを対応付けた分割リストとして記憶領域に保存し、X個の分割データをそれぞれY個複製し、複製した分割データをZ個の他のデータ保存機能にランダムに振り分けてデータ格納依頼する。
(2)データ取得ステップでは、以下の処理を行う。
IDが添えられたデータ取得依頼を受け、そのIDから記憶領域を検索し、データそのものが存在すれば引き出して返し、分割リストが存在すれば分割リストに含まれるIDを添えて他のデータ保存機能に対しデータ取得依頼を繰り返して、全ての分割データを取得してデータを再構築し、当該IDに対応付けてそのデータを記憶領域に保存し、当該IDのメタ情報としてアクセス日時を保存し、そのデータを返す。
(3)再分割・再分散ステップでは、以下の処理を行う。
データ保存機能内部で定期的に呼び出され、記憶領域に含まれる全てのIDに対し、アクセス日時を取得し、現時刻から所定の期間以上古いアクセス日時だった場合は、そのIDに対応付けられたデータを取得し、そのIDとそのデータを自身に対しデータ格納依頼することで、分割して分散保存する。
(2-1)さらに、データ取得ステップは以下の処理を行うようにしてもよい。
データ保存機能が存在する領域が、信頼できる通信回線(例えば、LAN(Local Area Network)、イントラネット)内に配置されている場合はデータをそのまま保存し、信頼できない通信回線内に配置されている場合はデータを暗号化して保存する。
(4)さらに、次のプリフェッチステップを付加してもよい。
過去のアクセス履歴から、特定の時期(時季を含む)に利用頻度が高まる等、利用頻度の増減に周期性が見られる場合、当該時期に合わせて予めデータを再構築し、当該IDに対応付けてそのデータを記憶領域に保存する。
In this embodiment, for example, the following processing is performed. In particular, this description (the description in this paragraph) is intended to facilitate understanding of the present embodiment, and is not intended to be used for limited interpretation. In addition, it should not be judged that the invention for which a patent is sought is described in the detailed description of the invention (Article 36, Paragraph 6, Item 1 of the Patent Act) using only this description part. It is natural.
The information processing apparatus 100 relates to a distributed data storage method that reduces data reconstruction costs according to the frequency of use of digital content.
For that purpose, the access history of each data is retained. Then, data whose usage frequency has decreased is divided and stored in a distributed manner, and the original data is used as reference data. It also overwrites the saved data with the reconstructed data.
The information processing apparatus 100 divides the data, distributes and redundantly stores the data in a plurality of interconnected data storage functions (other information processing apparatuses 100). The information processing apparatus 100 performs a data storage method including the following steps (data storage step, data acquisition step, re-division/re-distribution step).
(1) In the data storage step, the following processes are performed.
A data storage request attached with data and an ID is received, an ID (division ID) is generated for each of the divided data obtained by dividing the data into X pieces, and division is made by associating the original ID with the X divided division IDs. The list is saved in a storage area, each of the X divided data is duplicated by Y, and the duplicated divided data are randomly distributed to other Z data storage functions to request data storage.
(2) In the data acquisition step, the following processes are performed.
Receiving a data acquisition request attached with an ID, searching a storage area from the ID, extracting and returning data itself if it exists, and if a split list exists, add an ID included in the split list and store other data. repeats the data acquisition request for, acquires all divided data, reconstructs the data, stores the data in a storage area in association with the ID, stores the access date and time as meta information for the ID, return that data.
(3) In the re-division/re-distribution step, the following processes are performed.
Called periodically within the data storage function to acquire the access date and time for all IDs contained in the storage area. By acquiring data and requesting its own data storage for its ID and its data, it divides and stores it in a distributed manner.
(2-1) Furthermore, the data acquisition step may perform the following processing.
If the area where the data storage function exists is located within a reliable communication line (e.g. LAN (Local Area Network), intranet), the data is stored as is, and if it is located within an unreliable communication line. encrypts and stores data.
(4) Furthermore, the following prefetch step may be added.
From the past access history, if there is a periodicity in the increase and decrease in the frequency of use, such as an increase in the frequency of use during a specific period (including season), the data will be reconstructed in advance according to the period and associated with the ID. to store the data in the storage area.

図3は、本実施の形態(主に、データ格納モジュール110)による処理例を示すフローチャートである。
ステップS302では、格納依頼受付モジュール115は、データ格納依頼を受け付ける。依頼元は、他の情報処理装置100であってもよいし、同じ情報処理装置100内のデータ格納モジュール110又は格納依頼モジュール180であってもよい。データ格納依頼には、少なくともデータとそのデータを識別するための識別子が含まれている。データ格納依頼は、例えば、データ格納依頼データ400のデータ構造を有している。図4は、データ格納依頼データ400のデータ構造例を示す説明図である。データ格納依頼データ400は、データ格納依頼欄410、識別子A欄420、データ欄430で構成されている。データ格納依頼欄410は、データ格納依頼の指示を記憶している。通信モジュール105が、受信したデータ内に、データ格納依頼欄410があると判断した場合は、データ格納依頼データ400を格納依頼受付モジュール115に渡す。識別子A欄420は、識別子Aを記憶している。この識別子Aは、依頼元で生成されたものである。その生成方法は、データ欄430内のデータを一意に識別できる情報を生成することができる方法であれば、いずれの方法であってもよい。例えば、データ欄430内のデータに対するハッシュ値であってもよい。データ欄430は、データ(元データ)を記憶している。このデータは、分散して記憶させるデータである。
FIG. 3 is a flow chart showing an example of processing according to this embodiment (mainly the data storage module 110).
In step S302, the storage request reception module 115 receives a data storage request. The request source may be another information processing apparatus 100 , or may be the data storage module 110 or the storage request module 180 in the same information processing apparatus 100 . The data storage request contains at least data and an identifier for identifying the data. The data storage request has the data structure of data storage request data 400, for example. FIG. 4 is an explanatory diagram showing an example data structure of the data storage request data 400. As shown in FIG. The data storage request data 400 is composed of a data storage request column 410 , an identifier A column 420 and a data column 430 . The data storage request field 410 stores an instruction for a data storage request. When the communication module 105 determines that the received data includes the data storage request column 410 , it passes the data storage request data 400 to the storage request reception module 115 . The identifier A column 420 stores the identifier A. This identifier A is generated by the requester. The generation method may be any method as long as it can generate information that can uniquely identify the data in the data column 430 . For example, it may be a hash value for the data in the data column 430 . The data column 430 stores data (original data). This data is distributed and stored.

ステップS304では、分割モジュール120は、データ格納依頼内のデータを分割する。図5の例に示すように、データ格納依頼データ400のデータ欄430内のデータを複数のデータ(分割データ500、分割データ502、…、分割データ598)に分割する。分割は、いずれの方法であってもよい。例えば、予め定められた容量毎に分割してもよいし、予め定められた分割数に分割してもよいし、データに応じて分割方法を変更してもよい(例えば、画像であればブロック毎、動画であればシーン毎等)。また、再構築可能であるならば、分割データ間で、重複無く分割してもよいし、重複が生じるように分割してもよい。 At step S304, the splitting module 120 splits the data in the data storage request. As shown in the example of FIG. 5, the data in the data column 430 of the data storage request data 400 is divided into a plurality of data (divided data 500, divided data 502, . . . , divided data 598). Any method may be used for division. For example, it may be divided into each predetermined capacity, divided into a predetermined number of divisions, or the division method may be changed according to the data (for example, if it is an image, it may be divided into blocks). (every time, every scene in the case of movies, etc.). Also, if reconstruction is possible, the divided data may be divided without duplication, or may be divided so as to generate duplication.

ステップS306では、識別子生成モジュール125は、分割データを識別する識別子を生成する。その生成方法は、分割データを一意に識別できる情報を生成することができる方法であれば、いずれの方法であってもよい。例えば、分割データに対するハッシュ値であってもよい。 In step S306, the identifier generation module 125 generates an identifier that identifies the divided data. The generation method may be any method as long as it can generate information that can uniquely identify the divided data. For example, it may be a hash value for divided data.

ステップS308では、記憶制御(A)モジュール130は、データ格納依頼内の識別子と、ステップS306で生成した複数の識別子を対応付けて、データ記憶モジュール195に格納する。例えば、分割リスト600を生成する。図6は、分割リスト600のデータ構造例を示す説明図である。分割リスト600は、識別子A欄610、分割識別子群欄620を有している。識別子A欄610は、元データの識別子(データ格納依頼データ400の識別子A欄420内の識別子A)を記憶している。分割識別子群欄620は、ステップS306で生成した識別子群(データ格納依頼データ400のデータ欄430内のデータを分割した分割データのそれぞれを識別する分割識別子Bn)を記憶している。つまり、識別子Aから、元データを構築可能にするために、分割識別子B1等を取得可能としている。 In step S308, storage control (A) module 130 associates the identifier in the data storage request with the plurality of identifiers generated in step S306, and stores them in data storage module 195. FIG. For example, split list 600 is generated. FIG. 6 is an explanatory diagram showing an example data structure of the division list 600. As shown in FIG. The division list 600 has an identifier A column 610 and a division identifier group column 620 . The identifier A column 610 stores the identifier of the original data (the identifier A in the identifier A column 420 of the data storage request data 400). The division identifier group column 620 stores the identifier group generated in step S306 (divided identifier Bn for identifying each divided data obtained by dividing the data in the data column 430 of the data storage request data 400). That is, from the identifier A, the division identifier B1 and the like can be obtained in order to construct the original data.

ステップS310では、分割データにそれぞれの識別子を添えて、他の情報処理装置100にデータ格納依頼を行う。例えば、データ格納依頼データ700を生成する。分割数のデータ格納依頼データ700が生成されることになる。データ格納依頼データ700は、データ格納依頼欄710、分割識別子B欄720、分割データ欄730で構成されている。データ格納依頼データ700は、データ格納依頼データ400と同等のデータ構造を有している。データ格納依頼欄710は、データ格納依頼の指示を記憶している。分割識別子B欄720は、識別子Bを記憶している。分割データ欄730は、分割データを記憶している。
例えば、図8に示すように、情報処理装置100aから複数の情報処理装置100(情報処理装置100b、情報処理装置100c、・・・、情報処理装置100z)に対して、それぞれデータ格納依頼データ700(データ格納依頼データ700a、データ格納依頼データ700b、・・・、データ格納依頼データ700z)を送信している。
データ格納依頼データ700を受信した情報処理装置100では、各データ格納依頼データ700を記憶する。なお、データ格納依頼欄410内の格納依頼指示とデータ格納依頼欄710内の格納依頼指示は、異ならせてもよい。例えば、データ格納依頼欄410内の格納依頼指示は、分散して格納することを意味する指示であり、データ格納依頼欄710内の格納依頼指示は、そのまま格納することを意味する指示としてもよい。また、データ格納依頼欄410内の格納依頼指示とデータ格納依頼欄710内の格納依頼指示は同じであるが、データ欄430又は分割データ欄730内のデータ容量にしたがって、分散して格納するか、そのまま格納するかを決定するようにしてもよい。例えば、予め定められた閾値より大きい又は以上のデータ量であるならば、分散して格納し、その閾値以下又は未満のデータ量であるならば、そのまま格納すればよい。
In step S310, a data storage request is made to another information processing apparatus 100 by attaching each identifier to the divided data. For example, data storage request data 700 is generated. Data storage request data 700 for the number of divisions is generated. The data storage request data 700 is composed of a data storage request column 710 , a division identifier B column 720 and a division data column 730 . The data storage request data 700 has the same data structure as the data storage request data 400 . The data storage request column 710 stores an instruction for a data storage request. The division identifier B column 720 stores the identifier B. FIG. The division data column 730 stores division data.
For example, as shown in FIG. 8, data storage request data 700 is sent from an information processing device 100a to a plurality of information processing devices 100 (information processing device 100b, information processing device 100c, . . . , information processing device 100z). (data storage request data 700a, data storage request data 700b, . . . , data storage request data 700z) are transmitted.
The information processing apparatus 100 that receives the data storage request data 700 stores each data storage request data 700 . The storage request instruction in the data storage request column 410 and the storage request instruction in the data storage request column 710 may be different. For example, the storage request instruction in the data storage request column 410 may be an instruction meaning distributed storage, and the storage request instruction in the data storage request column 710 may be an instruction meaning storage as it is. . Also, although the storage request instruction in the data storage request column 410 and the storage request instruction in the data storage request column 710 are the same, they are stored separately according to the data capacity in the data column 430 or the divided data column 730. , may be determined whether to store as it is. For example, if the amount of data is greater than or equal to a predetermined threshold, it may be distributed and stored, and if the amount of data is less than or equal to the threshold, it may be stored as it is.

図9は、本実施の形態(主に、データ格納モジュール110)による処理例を示すフローチャートである。図3の例に示したフローチャートにステップS910を付加したものであり、分割データを複製して、より多くの情報処理装置100に分散して記憶させることによって、耐障害性を高めるものである。ステップS902からステップS908までの処理は、図3の例に示したフローチャートのステップS302からステップS308までの処理と同等である。 FIG. 9 is a flowchart showing an example of processing according to this embodiment (mainly the data storage module 110). Step S910 is added to the flowchart shown in the example of FIG. 3, and fault tolerance is improved by copying the divided data and distributing and storing it in more information processing apparatuses 100. FIG. The processing from step S902 to step S908 is equivalent to the processing from step S302 to step S308 in the flowchart shown in the example of FIG.

ステップS902では、格納依頼受付モジュール115は、データ格納依頼を受け付ける。
ステップS904では、分割モジュール120は、データ格納依頼内のデータを分割する。
ステップS906では、識別子生成モジュール125は、分割データを識別する識別子を生成する。
ステップS908では、記憶制御(A)モジュール130は、データ格納依頼内の識別子と、ステップS906で生成した複数の識別子を対応付けて、データ記憶モジュール195に格納する。
In step S902, the storage request acceptance module 115 accepts a data storage request.
At step S904, the splitting module 120 splits the data in the data storage request.
In step S906, the identifier generation module 125 generates an identifier that identifies the divided data.
In step S908, storage control (A) module 130 associates the identifier in the data storage request with the plurality of identifiers generated in step S906, and stores them in data storage module 195. FIG.

ステップS910では、複製モジュール135は、分割データを複製する。図10の例に示すように、データ格納依頼データ400のデータ欄430内のデータを複数のデータ(分割データ500a、分割データ502a…、分割データ598a)に分割した後、複製データ(分割データ500b、分割データ502b…、分割データ598b、…、分割データ500z、分割データ502z…、分割データ598z)を生成する。ここでは、各分割データを同じ数だけ複製しているが、各分割データで異なる数の複製データを生成するようにしてもよい。
ステップS912では、格納依頼処理(A)モジュール140は、複製した分割データにそれぞれの識別子を添えて、他の情報処理装置100にデータ格納依頼を行う。図3の例に示したフローチャートにステップS310での処理よりも、多くの情報処理装置100に対して分散して格納することができるようになる。
In step S910, the duplication module 135 duplicates the divided data. As shown in the example of FIG. 10, after dividing the data in the data column 430 of the data storage request data 400 into a plurality of data (divided data 500a, divided data 502a, . . . , divided data 598a), duplicate data (divided data 500b , divided data 502b, ..., divided data 598b, ..., divided data 500z, divided data 502z, ..., divided data 598z). Here, each piece of divided data is duplicated by the same number, but each piece of divided data may generate a different number of duplicated data.
In step S912, the storage request processing (A) module 140 attaches the respective identifiers to the copied divided data and requests the other information processing apparatus 100 to store the data. In the flowchart shown in the example of FIG. 3, it becomes possible to distribute and store information to more information processing apparatuses 100 than the processing in step S310.

図11は、本実施の形態(主に、データ取得モジュール145)による処理例を示すフローチャートである。
ステップS1102では、取得依頼受付モジュール150は、データ取得依頼を受け付ける。依頼元は、他の情報処理装置100であってもよいし、同じ情報処理装置100内のデータ取得モジュール145であってもよい。データ取得依頼には、少なくとも取得したいデータを識別するための識別子が含まれている。データ取得依頼は、例えば、データ格納依頼データ1200のデータ構造を有している。図12は、データ格納依頼データ1200のデータ構造例を示す説明図である。データ格納依頼データ1200は、データ格納依頼欄1210、識別子欄1220で構成されている。データ格納依頼欄1210は、データ取得依頼の指示を記憶している。識別子欄1220は、取得したいデータの識別子を記憶している。
FIG. 11 is a flow chart showing an example of processing according to this embodiment (mainly the data acquisition module 145).
In step S1102, the acquisition request acceptance module 150 accepts a data acquisition request. The request source may be another information processing apparatus 100 or the data acquisition module 145 in the same information processing apparatus 100 . The data acquisition request contains at least an identifier for identifying data to be acquired. The data acquisition request has, for example, the data structure of data storage request data 1200 . FIG. 12 is an explanatory diagram showing an example data structure of the data storage request data 1200. As shown in FIG. The data storage request data 1200 is composed of a data storage request column 1210 and an identifier column 1220 . The data storage request column 1210 stores an instruction for a data acquisition request. The identifier column 1220 stores identifiers of data to be acquired.

ステップS1104では、取得依頼受付モジュール150は、データ取得依頼内の識別子に対応する元データが、データ記憶モジュール195内にあるか否かを判断し、ある場合はステップS1118へ進み、それ以外の場合はステップS1106へ進む。ここで「それ以外の場合」とは、分割リスト600の形式で、データ記憶モジュール195に格納されている場合である。また、「ある場合」とは、データ記憶モジュール195内に、識別子と元データが対応付けられて記憶されている場合である。例えば、格納データ1300が記憶されている場合である。図13は、格納データ1300のデータ構造例を示す説明図である。格納データ1300は、識別子欄1310、元データ欄1320で構成されている。識別子欄1310は、元データ欄1320内の元データの識別子を記憶している。元データ欄1320は、元データを記憶している。なお、「データ記憶モジュール195内に識別子と元データが対応付けられて記憶されている場合」として、例えば、ステップS1114で記憶された場合、図19の例に示すフローチャートによるプリフェッチ処理が行われた場合、又は、分割記憶せずに、元データをそのまま記憶している場合等が該当する。
もちろんのことながら、ステップS1104の処理は、取得依頼受付モジュール150は、データ取得依頼内の識別子に対応する複数の分割識別子が、データ記憶モジュール195内にあるか否かを判断し、ない場合はステップS1118へ進み、それ以外の場合はステップS1106へ進むようにしてもよい。
In step S1104, the acquisition request reception module 150 determines whether or not the original data corresponding to the identifier in the data acquisition request exists in the data storage module 195. If there is, the process proceeds to step S1118; goes to step S1106. Here, “otherwise” is the case where the data is stored in the data storage module 195 in the form of the split list 600 . Also, "if there is" means that the identifier and the original data are stored in the data storage module 195 in association with each other. For example, when stored data 1300 is stored. FIG. 13 is an explanatory diagram showing an example data structure of the stored data 1300. As shown in FIG. The stored data 1300 is composed of an identifier column 1310 and an original data column 1320 . The identifier column 1310 stores identifiers of original data in the original data column 1320 . The original data column 1320 stores original data. It should be noted that, for example, when stored in step S1114 as "a case where identifiers and original data are associated and stored in the data storage module 195", prefetch processing according to the flowchart shown in the example of FIG. 19 was performed. Alternatively, the original data is stored as it is without being divided and stored.
Of course, in the process of step S1104, the acquisition request reception module 150 determines whether or not the data storage module 195 contains a plurality of divided identifiers corresponding to the identifier in the data acquisition request. The process may proceed to step S1118, and otherwise to step S1106.

ステップS1106では、取得依頼モジュール160は、データ取得依頼内の識別子に対応する複数の分割識別子を取得する。具体的には、分割リスト600の分割識別子群欄620から、複数の分割識別子を取得すればよい。
ステップS1108では、取得依頼モジュール160は、他の情報処理装置100に対して、データ取得依頼を送信する。具体的には、データ格納依頼データ1200の識別子欄1220に分割識別子を入れて、他の情報処理装置100に送信すればよい。
ステップS1110では、取得依頼モジュール160は、他の情報処理装置100から返信として分割データを受信する。
In step S1106, the acquisition request module 160 acquires multiple division identifiers corresponding to the identifiers in the data acquisition request. Specifically, a plurality of division identifiers may be acquired from the division identifier group column 620 of the division list 600 .
In step S<b>1108 , the acquisition request module 160 transmits a data acquisition request to another information processing apparatus 100 . Specifically, a division identifier may be entered in the identifier column 1220 of the data storage request data 1200 and transmitted to the other information processing apparatus 100 .
In step S<b>1110 , the acquisition request module 160 receives divided data as a reply from another information processing apparatus 100 .

ステップS1112では、構築モジュール165は、分割データから元データを構築する。分割処理と逆の処理を行えばよい。
ステップS1114では、記憶制御(B)モジュール170は、ステップS1102で受け付けたデータ取得依頼内の識別子に対応付けて元データを記憶する。アクセスがあったので、次のアクセスに対応するために、データ記憶モジュール195に元データを記憶する。つまり、同じ識別子について次回のデータ取得依頼があった場合は、ステップS1104で「Yes」の判断となり、分割データを収集し構築する処理が不要となる。
In step S1112, the building module 165 builds original data from the divided data. A process opposite to the division process may be performed.
In step S1114, storage control (B) module 170 stores the original data in association with the identifier in the data acquisition request received in step S1102. Since there has been an access, the original data is stored in the data storage module 195 to accommodate the next access. In other words, when there is a next data acquisition request for the same identifier, the judgment is "Yes" in step S1104, and the process of collecting and constructing divided data is unnecessary.

ステップS1116では、保存モジュール175は、ステップS1102で受け付けたデータ取得依頼内の識別子に対応付けてアクセス日時を記憶する。例えば、識別子・アクセス日時対応データ1400を生成し、データ記憶モジュール195に記憶させる。図14は、識別子・アクセス日時対応データ1400のデータ構造例を示す説明図である。
図14(a)の例に示す識別子・アクセス日時対応データ1400aは、識別子欄1410、アクセス日時欄1420で構成されている。識別子欄1410は、識別子を記憶している。アクセス日時欄1420は、その識別子のデータに対してアクセスがあった日時(年、月、日、時、分、秒、秒以下、又はこれらの組み合わせであってもよい)を記憶している。
図14(b)の例に示す識別子・アクセス日時対応データ1400bは、識別子欄1410、元データ欄1415、アクセス日時欄1420で構成されている。つまり、識別子・アクセス日時対応データ1400aに元データ欄1415を付加したものである。元データ欄1415は、その識別子に対応するデータを記憶している。又は、識別子・アクセス日時対応データ1400bは、格納データ1300に、アクセス日時欄1420を付加したものであり、格納データ1300の代替として、識別子・アクセス日時対応データ1400bのデータ構造としてもよい。
In step S1116, the storage module 175 stores the access date and time in association with the identifier in the data acquisition request received in step S1102. For example, the identifier/access date/time correspondence data 1400 is generated and stored in the data storage module 195 . FIG. 14 is an explanatory diagram showing an example of the data structure of the identifier/access date/time correspondence data 1400. As shown in FIG.
The identifier/access date/time correspondence data 1400a shown in the example of FIG. The identifier column 1410 stores identifiers. The access date and time column 1420 stores the date and time (year, month, day, hour, minute, second, less than a second, or a combination of these) when the data of the identifier was accessed.
The identifier/access date/time correspondence data 1400b shown in the example of FIG. That is, the original data column 1415 is added to the identifier/access date/time correspondence data 1400a. The original data column 1415 stores data corresponding to the identifier. Alternatively, the identifier/access date/time correspondence data 1400b is the stored data 1300 with an access date/time column 1420 added thereto.

ステップS1118では、元データを返信し、ステップS1116へ進む。
なお、この処理では、元データであるか分割データであるかの区別は不要であり、データ取得依頼のあった識別子に対応するデータがあれば、そのまま返信し、その識別子に分割識別子が対応している場合は、元データを構築する。したがって、データ取得依頼の識別子が分割識別子であっても、同等の処理を行えばよい。
In step S1118, the original data is returned, and the process proceeds to step S1116.
In this process, it is not necessary to distinguish whether the data is the original data or the divided data. If so, build the original data. Therefore, even if the identifier of the data acquisition request is the division identifier, the same processing may be performed.

図15は、本実施の形態(主に、格納依頼モジュール180)による処理例を示すフローチャートである。
ステップS1502では、アクセス日時判定モジュール185は、アクセス日時を取得する。具体的には、データ記憶モジュール195内の各識別子について、識別子・アクセス日時対応データ1400のアクセス日時欄1420からアクセス日時を取得する。
ステップS1504では、アクセス日時判定モジュール185は、予め定められた期間が経過しているか否かを判断し、経過している場合はステップS1506へ進み、それ以外の場合はステップS1508へ進む。
ステップS1506では、格納依頼処理(B)モジュール190は、データに識別子を添えて、データ格納モジュール110(他の情報処理装置100におけるデータ格納モジュール110であってもよい)に対してデータ格納依頼を行う。つまり、アクセスされていないデータを、元データのままではなく、分割して他の情報処理装置100に記憶させるものである。
ステップS1508では、全ての元データに対して処理したか否かを判断し、処理した場合は処理を終了し(ステップS1599)、それ以外の場合はステップS1502へ戻る。
なお、ステップS1506では、格納依頼を行った後、そのデータを削除してもよい。
FIG. 15 is a flow chart showing an example of processing according to this embodiment (mainly the storage request module 180).
In step S1502, the access date/time determination module 185 acquires the access date/time. Specifically, for each identifier in the data storage module 195 , the access date/time is obtained from the access date/time column 1420 of the identifier/access date/time correspondence data 1400 .
In step S1504, the access date/time determination module 185 determines whether or not a predetermined period has passed.
In step S1506, the storage request processing (B) module 190 attaches an identifier to the data and requests the data storage module 110 (which may be the data storage module 110 in another information processing apparatus 100) to store the data. conduct. In other words, data that has not been accessed is divided and stored in another information processing apparatus 100 instead of being kept as original data.
In step S1508, it is determined whether or not all original data have been processed. If processed, the process ends (step S1599). Otherwise, the process returns to step S1502.
Note that in step S1506, the data may be deleted after the storage request is made.

図16は、本実施の形態(主に、データ取得モジュール145)による処理例を示すフローチャートである。
ステップS1602では、構築モジュール165は、例えば、ログテーブル1700を用いて、利用頻度が高まる時期を特定する。図17は、ログテーブル1700のデータ構造例を示す説明図である。ログテーブル1700は、ログID欄1710、アクセス日時欄1720、識別子欄1730を有している。ログID欄1710は、本実施の形態において、ログを一意に識別するための情報(ログID:IDentification)を記憶している。アクセス日時欄1720は、データへのアクセスがあった日時を記憶している。識別子欄1730は、そのデータの識別子を記憶している。
例えば、予め定められた期間(1年、1か月、1週間等)内で、予め定められた回数以上にアクセスがある日時(日、曜日、月末、月初、季節等)を抽出してもよいし、日時におけるアクセス回数で降順にソートして、予め定められた順位までの日時を抽出してもよい。また、機械学習を用いて、利用頻度が高まる時期を特定してもよい。
FIG. 16 is a flow chart showing an example of processing according to this embodiment (mainly the data acquisition module 145).
In step S1602, the construction module 165 uses, for example, the log table 1700 to identify when the usage frequency increases. FIG. 17 is an explanatory diagram showing an example data structure of the log table 1700. As shown in FIG. The log table 1700 has a log ID column 1710 , an access date/time column 1720 and an identifier column 1730 . The log ID column 1710 stores information (log ID: IDentification) for uniquely identifying a log in this embodiment. The access date and time column 1720 stores the date and time when the data was accessed. The identifier column 1730 stores identifiers of the data.
For example, even if you extract the date and time (day, day of the week, end of the month, beginning of the month, season, etc.) where there are more than a predetermined number of accesses within a predetermined period (one year, one month, one week, etc.) Alternatively, the dates may be sorted in descending order by the number of times of access and dates up to a predetermined order may be extracted. Machine learning may also be used to identify periods of high usage.

ステップS1604では、構築モジュール165は、例えば、プリフェッチ時テーブル1800を生成する。図18は、プリフェッチ時テーブル1800のデータ構造例を示す説明図である。
プリフェッチ時テーブル1800は、識別子欄1810、プリフェッチ時欄1820を有している。識別子欄1810は、識別子を記憶している。プリフェッチ時欄1820は、その識別子のデータのプリフェッチ時を記憶している。ここでのプリフェッチ時とは、データ取得依頼を受けずに、分割データから元データを構築する処理を行う日時である。つまり、そのプリフェッチ時になったならば、対応する識別子の元データを分割データから構築する処理を開始する。
ステップS1606では、全ての識別子に対して処理したか否かを判断し、処理した場合は処理を終了し(ステップS1699)、それ以外の場合はステップS1602へ戻る。
In step S1604, the construction module 165 generates, for example, a prefetch time table 1800. FIG. FIG. 18 is an explanatory diagram of an example of the data structure of the prefetch time table 1800. As shown in FIG.
The prefetch time table 1800 has an identifier column 1810 and a prefetch time column 1820 . The identifier column 1810 stores identifiers. The prefetch time column 1820 stores the prefetch time of the data of the identifier. Here, the time of prefetching is the date and time when the process of constructing the original data from the divided data is performed without receiving the data acquisition request. That is, when the prefetch time comes, the process of constructing the original data of the corresponding identifier from the divided data is started.
In step S1606, it is determined whether or not all identifiers have been processed. If processed, the process ends (step S1699), otherwise the process returns to step S1602.

図19は、本実施の形態による処理例を示すフローチャートである。
ステップS1902では、構築モジュール165は、プリフェッチ時か否かを判断し、プリフェッチ時の場合はステップS1904へ進み、それ以外の場合はプリフェッチ時となるまで待機する。具体的には、プリフェッチ時テーブル1800のプリフェッチ時欄1820内のプリフェッチ時を用いればよい。
ステップS1904では、構築モジュール165は、分割されたデータか否かを判断し、分割されたデータの場合はステップS1906へ進み、それ以外の場合はステップS1902へ戻る。
ステップS1906では、取得依頼モジュール160は、他の情報処理装置100(又は取得依頼受付モジュール150)に対してデータ取得依頼を送信する。
ステップS1908では、取得依頼モジュール160は、分割データを受信する。
ステップS1910では、構築モジュール165は、分割データから元データを構築する。
ステップS1912では、記憶制御(B)モジュール170は、識別子に対応付けて元データをデータ記憶モジュール195に記憶する。ステップS1908からステップS1912までの処理は、図11の例に示したフローチャート内のステップS1110からステップS1114までの処理と同等である。
なお、図19の例に示す処理を行う場合は、図11の例に示したフローチャート内のステップS1116の処理を行う必要はない。
FIG. 19 is a flowchart showing an example of processing according to this embodiment.
In step S1902, the construction module 165 determines whether or not it is time to prefetch. If it is time to prefetch, the process proceeds to step S1904. Otherwise, it waits until time to prefetch. Specifically, the prefetch time in the prefetch time column 1820 of the prefetch time table 1800 may be used.
In step S1904, the construction module 165 determines whether or not the data is divided data. If the data is divided data, the process proceeds to step S1906. Otherwise, the process returns to step S1902.
In step S1906, the acquisition request module 160 transmits a data acquisition request to another information processing apparatus 100 (or acquisition request reception module 150).
In step S1908, the acquisition request module 160 receives the divided data.
In step S1910, construction module 165 constructs original data from the divided data.
In step S1912, storage control (B) module 170 stores the original data in data storage module 195 in association with the identifier. The processing from step S1908 to step S1912 is equivalent to the processing from step S1110 to step S1114 in the flowchart shown in the example of FIG.
Note that when performing the processing shown in the example of FIG. 19, there is no need to perform the processing of step S1116 in the flowchart shown in the example of FIG.

なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図20に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU2001を用い、記憶装置としてRAM2002、ROM2003、HD2004を用いている。HD2004として、例えばハードディスク、SSD(Solid State Drive)を用いてもよい。通信モジュール105、データ格納モジュール110、格納依頼受付モジュール115、分割モジュール120、識別子生成モジュール125、記憶制御(A)モジュール130、複製モジュール135、格納依頼処理(A)モジュール140、データ取得モジュール145、取得依頼受付モジュール150、送信モジュール155、取得依頼モジュール160、構築モジュール165、記憶制御(B)モジュール170、保存モジュール175、格納依頼モジュール180、アクセス日時判定モジュール185、格納依頼処理(B)モジュール190等のプログラムを実行するCPU2001と、そのプログラムやデータを記憶するRAM2002と、本コンピュータを起動するためのプログラム等が格納されているROM2003と、データ記憶モジュール195としての機能を有する補助記憶装置(フラッシュ・メモリ等であってもよい)であるHD2004と、キーボード、マウス、タッチスクリーン、マイク、カメラ(視線検知カメラ等を含む)等に対する利用者の操作(動作、音声、視線等を含む)に基づいてデータを受け付ける受付装置2006と、CRT、液晶ディスプレイ、スピーカー等の出力装置2005と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース2007、そして、それらをつないでデータのやりとりをするためのバス2008により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。 It should be noted that the hardware configuration of the computer on which the program of the present embodiment is executed is, as exemplified in FIG. 20, a general computer, specifically a personal computer, a computer that can serve as a server, and the like. That is, as a specific example, a CPU 2001 is used as a processing unit (calculating unit), and a RAM 2002, ROM 2003, and HD 2004 are used as storage devices. As the HD 2004, for example, a hard disk or SSD (Solid State Drive) may be used. communication module 105, data storage module 110, storage request reception module 115, division module 120, identifier generation module 125, storage control (A) module 130, replication module 135, storage request processing (A) module 140, data acquisition module 145, Acquisition request reception module 150 , transmission module 155 , acquisition request module 160 , construction module 165 , storage control (B) module 170 , storage module 175 , storage request module 180 , access date/time determination module 185 , storage request processing (B) module 190 A CPU 2001 that executes programs such as a RAM 2002 that stores the programs and data, a ROM 2003 that stores programs and the like for starting the computer, and an auxiliary storage device (flash memory) that functions as a data storage module 195.・Based on the user's operation (including motion, voice, line of sight, etc.) for the HD 2004, which is a memory, etc.), keyboard, mouse, touch screen, microphone, camera (including line-of-sight detection camera, etc.), etc. an output device 2005 such as a CRT, a liquid crystal display, or a speaker; a communication line interface 2007 such as a network interface card for connecting to a communication network; A bus 2008 for A plurality of these computers may be connected to each other via a network.

前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図20に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図20に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図20に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
Of the above-described embodiments, with respect to the computer program, a computer program, which is software, is loaded into the system of this hardware configuration, and the software and hardware resources cooperate to perform the above-described embodiment. is realized.
Note that the hardware configuration shown in FIG. 20 shows one configuration example, and the present embodiment is not limited to the configuration shown in FIG. I wish I had. For example, some modules may be configured with dedicated hardware (for example, Application Specific Integrated Circuit: ASIC), etc., and some modules are in an external system and connected via a communication line. Further, a plurality of systems shown in FIG. 20 may be connected to each other by communication lines so as to cooperate with each other. In addition to personal computers, mobile information communication devices (including mobile phones, smartphones, mobile devices, wearable computers, etc.), information appliances, robots, copiers, faxes, scanners, printers, multifunction devices (scanners, printers, It may be incorporated in an image processing apparatus having two or more functions such as a copier, a facsimile machine, or the like.

また、前述の実施の形態の説明内での比較処理において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。 In addition, in the comparison processing in the description of the above-described embodiments, "greater than", "less than", "greater than", and "less than (less than)" are They may be "greater than", "less than (less than)", "greater than or equal to", and "less than or equal to" respectively.

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD-R、DVD-RW、DVD-RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD-ROM)、CDレコーダブル(CD-R)、CDリライタブル(CD-RW)等、ブルーレイ・ディスク(Blu-ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
The program described above may be stored in a recording medium and provided, or the program may be provided by communication means. In that case, for example, the program described above may be regarded as an invention of "a computer-readable recording medium on which the program is recorded."
"Program-recorded computer-readable recording medium" refers to a computer-readable recording medium recording a program, which is used for program installation, execution, program distribution, and the like.
As a recording medium, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, "DVD-R, DVD-RW, DVD-RAM, etc." Standard "DVD + R, DVD + RW, etc.", compact disc (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), Blu-ray disc ( Blu-ray (registered trademark) Disc), magneto-optical disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM (registered trademark) )), flash memory, random access memory (RAM), SD (Secure Digital) memory card, and the like.
Then, the whole or part of the program may be recorded on the recording medium and stored or distributed. By communication, for example, a wired network used for a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), the Internet, an intranet, an extranet, etc., or a wireless communication. It may be transmitted using a transmission medium such as a network or a combination thereof, or may be carried on a carrier wave.
Furthermore, the program may be part or all of another program, or may be recorded on a recording medium together with a separate program. Moreover, it may be divided and recorded on a plurality of recording media. Also, it may be recorded in any form, such as compression or encryption, as long as it can be restored.

100…情報処理装置
105…通信モジュール
110…データ格納モジュール
115…格納依頼受付モジュール
120…分割モジュール
125…識別子生成モジュール
130…記憶制御(A)モジュール
135…複製モジュール
140…格納依頼処理(A)モジュール
145…データ取得モジュール
150…取得依頼受付モジュール
155…送信モジュール
160…取得依頼モジュール
165…構築モジュール
170…記憶制御(B)モジュール
175…保存モジュール
180…格納依頼モジュール
185…アクセス日時判定モジュール
190…格納依頼処理(B)モジュール
195…データ記憶モジュール
200…データ記憶装置
250…ファイアーウォール装置
290…通信回線
DESCRIPTION OF SYMBOLS 100... Information processing apparatus 105... Communication module 110... Data storage module 115... Storage request reception module 120... Division module 125... Identifier generation module 130... Storage control (A) module 135... Replication module 140... Storage request processing (A) module 145 Data acquisition module 150 Acquisition request reception module 155 Transmission module 160 Acquisition request module 165 Construction module 170 Storage control (B) module 175 Storage module 180 Storage request module 185 Access date/time determination module 190 Storage Request processing (B) module 195 Data storage module 200 Data storage device 250 Firewall device 290 Communication line

Claims (9)

情報処理装置であって、
データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、
識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段
を有し、
前記データ取得手段における「分割されたデータから元データを構築」する処理で用いられる「分割されたデータ」は、前記データ格納手段によって分割されたデータが格納された「他の情報処理装置」から取得したものであり、
前記データ格納手段は、
前記データ格納依頼を受け付ける格納依頼受付手段と、
前記データ格納依頼内のデータを分割する分割手段と、
前記分割手段によって分割された複数の分割データを識別する識別子である第2の識別子を生成する識別子生成手段と、
前記データ格納依頼内の識別子と複数の前記第2の識別子とを対応付けて、記憶手段に記憶させるように制御する記憶制御手段と、
前記分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う格納依頼手段
を有し、
前記格納依頼手段は、前記他の情報処理装置と前記情報処理装置と同じファイアーウォール装置によって守られている場合は、前記分割データをそのまま格納するように、データ格納依頼を行う
情報処理装置。
An information processing device,
Receiving a data storage request attached with data and an identifier identifying the data, dividing the data, adding an identifier identifying the divided data to the divided data, and sending it to another information processing device data storage means for storing
data acquisition means for receiving a data acquisition request attached with an identifier, constructing original data from the divided data, and acquiring the original data;
The "divided data" used in the process of "constructing the original data from the divided data" in the data acquisition means is obtained from the "other information processing device" in which the data divided by the data storage means is stored. obtained and
The data storage means is
storage request receiving means for receiving the data storage request;
a dividing means for dividing the data in the data storage request;
identifier generating means for generating a second identifier that is an identifier for identifying a plurality of pieces of divided data divided by the dividing means;
storage control means for associating the identifier in the data storage request with the plurality of second identifiers and controlling storage means for storing the identifier;
a storage request means for adding the second identifier to the divided data and requesting another information processing device to store the data;
The storage requesting means makes a data storage request to store the divided data as it is when the other information processing device and the information processing device are protected by the same firewall device. .
情報処理装置であって、
データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、
識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段
を有し、
前記データ取得手段における「分割されたデータから元データを構築」する処理で用いられる「分割されたデータ」は、前記データ格納手段によって分割されたデータが格納された「他の情報処理装置」から取得したものであり、
前記データ格納手段は、
前記データ格納依頼を受け付ける格納依頼受付手段と、
前記データ格納依頼内のデータを分割する分割手段と、
前記分割手段によって分割された複数の分割データを識別する識別子である第2の識別子を生成する識別子生成手段と、
前記データ格納依頼内の識別子と複数の前記第2の識別子とを対応付けて、記憶手段に記憶させるように制御する記憶制御手段と、
前記分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う格納依頼手段
を有し、
前記格納依頼手段は、前記他の情報処理装置と前記情報処理装置とが同じファイアーウォール装置によって守られている場合は、前記分割データをそのまま格納するように、データ格納依頼を行い、
前記格納依頼手段は、前記情報処理装置を守っているファイアーウォール装置の外界に前記他の情報処理装置がある場合は、前記分割データを暗号化して格納するように、データ格納依頼を行う
情報処理装置。
An information processing device,
Receiving a data storage request attached with data and an identifier identifying the data, dividing the data, adding an identifier identifying the divided data to the divided data, and sending it to another information processing device data storage means for storing
data acquisition means for receiving a data acquisition request attached with an identifier, constructing original data from the divided data, and acquiring the original data;
The "divided data" used in the process of "constructing the original data from the divided data" in the data acquisition means is obtained from the "other information processing device" in which the data divided by the data storage means is stored. obtained and
The data storage means is
storage request receiving means for receiving the data storage request;
a dividing means for dividing the data in the data storage request;
identifier generating means for generating a second identifier that is an identifier for identifying a plurality of pieces of divided data divided by the dividing means;
storage control means for associating the identifier in the data storage request with the plurality of second identifiers and controlling storage means for storing the identifier;
a storage request means for adding the second identifier to the divided data and requesting another information processing device to store the data;
The storage request means requests data storage to store the divided data as it is when the other information processing device and the information processing device are protected by the same firewall device,
The storage request means issues a data storage request to encrypt and store the divided data when the other information processing device exists outside the firewall device protecting the information processing device. Device.
前記分割データを複製する複製手段
をさらに有し、
前記格納依頼手段は、前記複製手段によって複製された分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う
請求項1又は2に記載の情報処理装置。
further comprising duplicating means for duplicating the divided data;
3. The information processing apparatus according to claim 1, wherein said storage requesting means attaches said second identifier to the divided data duplicated by said duplicating means and requests another information processing apparatus to store said data.
前記格納依頼手段は、ランダムに他の情報処理装置にデータ格納依頼を行う
請求項3に記載の情報処理装置。
4. The information processing apparatus according to claim 3, wherein said storage request means randomly requests another information processing apparatus to store data.
前記データ取得手段は、
前記データ取得依頼を受け付ける取得依頼受付手段と、
前記データ取得依頼内の識別子に対応する元データがある場合は、該元データを依頼元の情報処理装置に送信する送信手段と、
前記データ取得依頼内の識別子に対応する複数の第2の識別子がある場合は、他の情報処理装置に、該第2の識別子を添えたデータ取得依頼を行う取得依頼手段と、
前記取得依頼手段が行ったデータ取得依頼に応じて、前記第2の識別子に対応する分割データを取得し、元データを構築する構築手段と、
前記構築手段によって構築された元データを前記識別子と対応付けて、記憶手段に記憶させるように制御する第2の記憶制御手段と、
前記取得依頼受付手段が受け付けた前記データ取得依頼内の識別子に対応付けてアクセス日時を保存する保存手段
を有し、
前記送信手段は、前記構築手段によって構築された元データを、依頼元の情報処理装置に送信する
請求項1又は2に記載の情報処理装置。
The data acquisition means is
acquisition request acceptance means for accepting the data acquisition request;
If there is original data corresponding to the identifier in the data acquisition request, transmission means for transmitting the original data to the information processing device that is the request source;
when there are a plurality of second identifiers corresponding to the identifiers in the data acquisition request, acquisition request means for making a data acquisition request attached with the second identifiers to another information processing device;
building means for building original data by acquiring divided data corresponding to the second identifier in response to the data acquisition request made by the acquisition requesting means;
a second storage control means for controlling the original data constructed by the construction means to be associated with the identifier and stored in a storage means;
storage means for storing the access date and time in association with the identifier in the data acquisition request accepted by the acquisition request acceptance means;
3. The information processing apparatus according to claim 1, wherein the transmitting means transmits the original data constructed by the constructing means to the information processing apparatus that has requested.
前記構築手段は、前記アクセス日時に基づいて、元データを構築する
請求項5に記載の情報処理装置。
The information processing apparatus according to claim 5, wherein said constructing means constructs original data based on said access date and time.
前記構築手段は、前記アクセス日時に基づいて、利用頻度が高まる時期に、予め元データを構築する
請求項6に記載の情報処理装置。
7. The information processing apparatus according to claim 6, wherein the construction means constructs the original data in advance based on the access date and time at a time when the frequency of use increases.
情報処理装置であるコンピュータを、
データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、
識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段
として機能させ、
前記データ取得手段における「分割されたデータから元データを構築」する処理で用いられる「分割されたデータ」は、前記データ格納手段によって分割されたデータが格納された「他の情報処理装置」から取得したものであり、
前記データ格納手段は、
前記データ格納依頼を受け付ける格納依頼受付手段と、
前記データ格納依頼内のデータを分割する分割手段と、
前記分割手段によって分割された複数の分割データを識別する識別子である第2の識別子を生成する識別子生成手段と、
前記データ格納依頼内の識別子と複数の前記第2の識別子とを対応付けて、記憶手段に記憶させるように制御する記憶制御手段と、
前記分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う格納依頼手段
を有し、
前記格納依頼手段は、前記他の情報処理装置と前記情報処理装置と同じファイアーウォール装置によって守られている場合は、前記分割データをそのまま格納するように、データ格納依頼を行う
情報処理プログラム。
A computer, which is an information processing device ,
Receiving a data storage request attached with data and an identifier identifying the data, dividing the data, adding an identifier identifying the divided data to the divided data, and sending it to another information processing device data storage means for storing
functioning as data acquisition means for accepting a data acquisition request with an identifier, constructing original data from the divided data, and acquiring the original data;
The "divided data" used in the process of "constructing the original data from the divided data" in the data acquisition means is obtained from the "other information processing device" in which the data divided by the data storage means is stored. obtained and
The data storage means is
storage request receiving means for receiving the data storage request;
a dividing means for dividing the data in the data storage request;
identifier generating means for generating a second identifier that is an identifier for identifying a plurality of pieces of divided data divided by the dividing means;
storage control means for associating the identifier in the data storage request with the plurality of second identifiers and controlling storage means for storing the identifier;
a storage request means for adding the second identifier to the divided data and requesting another information processing device to store the data;
The storage request means requests data storage to store the divided data as it is when the other information processing device and the information processing device are protected by the same firewall device. Information processing program .
情報処理装置であるコンピュータを、
データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、
識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段
として機能させ、
前記データ取得手段における「分割されたデータから元データを構築」する処理で用いられる「分割されたデータ」は、前記データ格納手段によって分割されたデータが格納された「他の情報処理装置」から取得したものであり、
前記データ格納手段は、
前記データ格納依頼を受け付ける格納依頼受付手段と、
前記データ格納依頼内のデータを分割する分割手段と、
前記分割手段によって分割された複数の分割データを識別する識別子である第2の識別子を生成する識別子生成手段と、
前記データ格納依頼内の識別子と複数の前記第2の識別子とを対応付けて、記憶手段に記憶させるように制御する記憶制御手段と、
前記分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う格納依頼手段
を有し、
前記格納依頼手段は、前記他の情報処理装置と前記情報処理装置とが同じファイアーウォール装置によって守られている場合は、前記分割データをそのまま格納するように、データ格納依頼を行い、
前記格納依頼手段は、前記情報処理装置を守っているファイアーウォール装置の外界に前記他の情報処理装置がある場合は、前記分割データを暗号化して格納するように、データ格納依頼を行う
情報処理プログラム。

A computer, which is an information processing device ,
Receiving a data storage request attached with data and an identifier identifying the data, dividing the data, adding an identifier identifying the divided data to the divided data, and sending it to another information processing device data storage means for storing
functioning as data acquisition means for accepting a data acquisition request with an identifier, constructing original data from the divided data, and acquiring the original data;
The "divided data" used in the process of "constructing the original data from the divided data" in the data acquisition means is obtained from the "other information processing device" in which the data divided by the data storage means is stored. obtained and
The data storage means is
storage request receiving means for receiving the data storage request;
a dividing means for dividing the data in the data storage request;
identifier generating means for generating a second identifier that is an identifier for identifying a plurality of pieces of divided data divided by the dividing means;
storage control means for associating the identifier in the data storage request with the plurality of second identifiers and controlling storage means for storing the identifier;
a storage request means for adding the second identifier to the divided data and requesting another information processing device to store the data;
The storage request means requests data storage to store the divided data as it is when the other information processing device and the information processing device are protected by the same firewall device,
The storage request means issues a data storage request to encrypt and store the divided data when the other information processing device exists outside the firewall device protecting the information processing device. program.

JP2017184444A 2017-09-26 2017-09-26 Information processing device and information processing program Active JP7119324B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017184444A JP7119324B2 (en) 2017-09-26 2017-09-26 Information processing device and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017184444A JP7119324B2 (en) 2017-09-26 2017-09-26 Information processing device and information processing program

Publications (2)

Publication Number Publication Date
JP2019061408A JP2019061408A (en) 2019-04-18
JP7119324B2 true JP7119324B2 (en) 2022-08-17

Family

ID=66177393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017184444A Active JP7119324B2 (en) 2017-09-26 2017-09-26 Information processing device and information processing program

Country Status (1)

Country Link
JP (1) JP7119324B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752960B (en) * 2020-06-28 2023-07-28 北京百度网讯科技有限公司 Data processing method and device
CN113515495B (en) * 2021-04-14 2024-03-19 暨南大学 Data file distribution method and device, intelligent equipment and computer storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065531A (en) 2004-08-26 2006-03-09 Fuji Xerox Co Ltd Data storage system, data storage method, management server, information terminal and control method
JP2006209343A (en) 2005-01-26 2006-08-10 Konami Digital Entertainment:Kk Data processing system, central unit, auxiliary unit, requester unit, central service method, auxiliary service method, requester method and program
JP2008191897A (en) 2007-02-05 2008-08-21 Aruze Corp Distributed data storage system
JP2010134630A (en) 2008-12-03 2010-06-17 Sony Corp Information processing apparatus, divided management server, information processing method, divided management method, program and information processing system
JP2016048530A (en) 2014-08-28 2016-04-07 テクマトリックス株式会社 Digital medical image data storage system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165911A (en) * 1997-08-20 1999-03-09 Kyushu Nippon Denki Software Kk Client/server type filing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065531A (en) 2004-08-26 2006-03-09 Fuji Xerox Co Ltd Data storage system, data storage method, management server, information terminal and control method
JP2006209343A (en) 2005-01-26 2006-08-10 Konami Digital Entertainment:Kk Data processing system, central unit, auxiliary unit, requester unit, central service method, auxiliary service method, requester method and program
JP2008191897A (en) 2007-02-05 2008-08-21 Aruze Corp Distributed data storage system
JP2010134630A (en) 2008-12-03 2010-06-17 Sony Corp Information processing apparatus, divided management server, information processing method, divided management method, program and information processing system
JP2016048530A (en) 2014-08-28 2016-04-07 テクマトリックス株式会社 Digital medical image data storage system

Also Published As

Publication number Publication date
JP2019061408A (en) 2019-04-18

Similar Documents

Publication Publication Date Title
US11863380B2 (en) Community internet drive
AU2009244352B2 (en) Deletion in data file forwarding framework
US20150293985A1 (en) Distribution and synchronization of digital objects
US20070233828A1 (en) Methods and systems for providing data storage and retrieval
US20090254567A1 (en) Data file forwarding storage and search
JP2010072740A (en) Transfer data management system in internet backup
CN102365634A (en) System for managing distributed assets and metadata
CN102413168A (en) Presenting availability statuses of synchronized objects
US9390101B1 (en) Social deduplication using trust networks
JP2016537746A (en) Distributed data system with document management and access control
US20140044259A1 (en) Job processing system, job processing method, and non-transitory computer-readable medium
KR20100067976A (en) Method for synchronizing contents files stored separately
WO2013065545A1 (en) Data sharing system
JP7119324B2 (en) Information processing device and information processing program
JP6272546B2 (en) Data storage device, data processing method, and data processing program
JP2021093016A (en) Distributed storage platform implemented by blockchain technology and distributed storage technology, and application program
TW201227268A (en) Data backup system and data backup and retrival method
JP7462922B2 (en) Distributed storage platform and application program realized by blockchain technology and distributed storage technology
KR102133764B1 (en) Method for providing contents and server of contents business operator for executing the same
CN103188282A (en) Method, system and equipment for file synchronization
US20200301792A1 (en) Information processing apparatus, file management apparatus, and file management system
JP2009217602A (en) Method for determining necessity of file duplication, communication device, computer program, and peer-to-peer communication system
CN109040258B (en) Data processing method and device based on private seed file
JP7114877B2 (en) Synchronization processor, file synchronization system and program
JP2006031150A (en) Content registration method, content distribution system, center distribution server, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220718

R150 Certificate of patent or registration of utility model

Ref document number: 7119324

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150