JP2019061408A - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP2019061408A
JP2019061408A JP2017184444A JP2017184444A JP2019061408A JP 2019061408 A JP2019061408 A JP 2019061408A JP 2017184444 A JP2017184444 A JP 2017184444A JP 2017184444 A JP2017184444 A JP 2017184444A JP 2019061408 A JP2019061408 A JP 2019061408A
Authority
JP
Japan
Prior art keywords
data
information processing
identifier
processing apparatus
request
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.)
Granted
Application number
JP2017184444A
Other languages
English (en)
Other versions
JP7119324B2 (ja
Inventor
亘 山泉
Wataru Yamaizumi
亘 山泉
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2017184444A priority Critical patent/JP7119324B2/ja
Publication of JP2019061408A publication Critical patent/JP2019061408A/ja
Application granted granted Critical
Publication of JP7119324B2 publication Critical patent/JP7119324B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】利用頻度が低下しているデータについては、分割して他の情報処理装置に格納するようにした情報処理装置を提供する。【解決手段】情報処理装置のデータ格納手段は、データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納し、データ取得手段は、識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得し、格納依頼手段は、データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う。【選択図】図1

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、個人が使用するような複数のパーソナルコンピュータを用いて、データの共有を行い、共有するデータの可用性及び信頼性を高めることを課題とし、他のノードの可用性を確認するために、ノード確認部から他のノードにノード確認要求を送信し、他のノードのノード確認応答メッセージ送信部から可用性を示す情報を含むノード確認応答メッセージをノード確認部が受信し、分散保存設定部が、ノード確認応答メッセージの内容に応じてパラメータを決定し、分散保存部が、共有データをN分割して前記可用性が確認されているN台のノードにM重に分散して保存し、分割データ収集部が前記N分割された分割データを選択的にN個集め、データ復元部が、集めたN個の分割データを結合し元のデータを復元することが開示されている。
特許文献2には、複数の記憶装置に対する記憶対象データの記憶動作を制御する少なくとも1つの第一サーバーと、前記複数の記憶装置を構成する複数の第二サーバーと、を備えると共に、記憶対象データを分割した複数のブロックデータを前記複数の記憶装置に分散して記憶すると共に、記憶装置に既に記憶されている記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている記憶対象データを前記他の記憶対象データとして参照して重複記憶排除を行うデータ格納制御部を備え、前記データ格納制御部は、記憶対象データを分割した当該記憶対象データ内で連続する複数のブロックデータを、前記複数の記憶装置のうち特定の記憶装置に記憶すると共に、当該ブロックデータのデータ内容に基づく特徴データと当該ブロックデータの前記特定の記憶装置内における格納位置を表す格納位置情報とを関連付けて当該特定の記憶装置内に格納位置特定テーブルとして記憶し、前記特定の記憶装置を識別する記憶装置識別情報と当該特定の記憶装置に格納された前記ブロックデータの前記特徴データとを関連付けて記憶装置特定テーブルとして記憶し、新たに記憶する記憶対象データを分割したブロックデータの前記特徴データに基づいて前記記憶装置特定テーブルを参照して当該ブロックデータの前記特徴データが含まれる前記格納位置特定テーブルが記憶されている前記特定の記憶装置を特定して、当該特定の記憶装置である前記第二サーバーから前記格納位置特定テーブルを前記第一サーバーに読み出し、前記第二サーバーから前記第一サーバーに読み出した前記格納位置特定テーブルに基づいて、さらに新たに記憶する記憶対象データを分割したブロックデータが記憶装置に既に記憶されているか否かの判定を行う、ストレージシステムについて開示されている。
特開2009−037318号公報 特許第5500257号公報
データを分割して、相互接続された複数の情報処理装置に分散して格納することが行われている。利用頻度が低下しているデータについて、自情報処理装置がそのまま格納しておくことは、記憶装置の容量を圧迫してしまうことになる。
本発明は、利用頻度が低下しているデータについては、分割して他の情報処理装置に格納するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段を有する情報処理装置である。
請求項2の発明は、前記データ格納手段は、前記データ格納依頼を受け付ける格納依頼受付手段と、前記データ格納依頼内のデータを分割する分割手段と、前記分割手段によって分割された複数の分割データを識別する識別子である第2の識別子を生成する識別子生成手段と、前記データ格納依頼内の識別子と複数の前記第2の識別子とを対応付けて、記憶手段に記憶させるように制御する記憶制御手段と、前記分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う第2の格納依頼手段を有する請求項1に記載の情報処理装置である。
請求項3の発明は、前記分割データを複製する複製手段をさらに有し、前記第2の格納依頼手段は、前記複製手段によって複製された分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う請求項2に記載の情報処理装置である。
請求項4の発明は、前記第2の格納依頼手段は、ランダムに他の情報処理装置にデータ格納依頼を行う請求項3に記載の情報処理装置である。
請求項5の発明は、前記第2の格納依頼手段は、前記他の情報処理装置が信頼できる場合は、前記分割データをそのまま格納するように、データ格納依頼を行う請求項2に記載の情報処理装置である。
請求項6の発明は、前記第2の格納依頼手段は、前記他の情報処理装置が信頼できない場合は、前記分割データを暗号化して格納するように、データ格納依頼を行う請求項2に記載の情報処理装置である。
請求項7の発明は、前記データ取得手段は、前記データ取得依頼を受け付ける取得依頼受付手段と、前記データ取得依頼内の識別子に対応する元データがある場合は、該元データを依頼元の情報処理装置に送信する送信手段と、前記データ取得依頼内の識別子に対応する複数の第2の識別子がある場合は、他の情報処理装置に、該第2の識別子を添えたデータ取得依頼を行う取得依頼手段と、前記取得依頼手段が行ったデータ取得依頼に応じて、前記第2の識別子に対応する分割データを取得し、元データを構築する構築手段と、前記構築手段によって構築された元データを前記識別子と対応付けて、記憶手段に記憶させるように制御する第2の記憶制御手段と、前記取得依頼受付手段が受け付けた前記データ取得依頼内の識別子に対応付けてアクセス日時を保存する保存手段を有し、前記送信手段は、前記構築手段によって構築された元データを、依頼元の情報処理装置に送信する請求項1に記載の情報処理装置である。
請求項8の発明は、前記構築手段は、前記アクセス日時に基づいて、元データを構築する請求項7に記載の情報処理装置である。
請求項9の発明は、前記構築手段は、前記アクセス日時に基づいて、利用頻度が高まる時期に、予め元データを構築する請求項8に記載の情報処理装置である。
請求項10の発明は、前記格納依頼手段は、アクセス日時から予め定められた期間が経過している識別子に対応付けられたデータを取得し、該データに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う請求項1に記載の情報処理装置である。
請求項11の発明は、前記格納依頼手段は、前記アクセス日時から予め定められた期間が経過しているか否かの判断を定期的に行う請求項10に記載の情報処理装置である。
請求項12の発明は、コンピュータを、データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段として機能させるための情報処理プログラムである。
請求項1の情報処理装置によれば、利用頻度が低下しているデータについては、分割して他の情報処理装置に格納することができる。
請求項2の情報処理装置によれば、データを分割して他の情報処理装置に格納することができる。
請求項3の情報処理装置によれば、データの耐障害性を高めることができる。
請求項4の情報処理装置によれば、ランダムに他の情報処理装置にデータ格納依頼を行うことができる。
請求項5の情報処理装置によれば、他の情報処理装置が信頼できる場合は、復号化処理を行う必要がなくなる。
請求項6の情報処理装置によれば、他の情報処理装置が信頼できない場合は、分割データのセキュリティを確保することができる。
請求項7の情報処理装置によれば、分割データから元データを再構築することができる。
請求項8の情報処理装置によれば、予め元データを構築しておくことができる。
請求項9の情報処理装置によれば、利用頻度が高まる時期に、予め元データを構築しておくことができる。
請求項10の情報処理装置によれば、アクセスされていないデータを、分割して他の情報処理装置に格納することができる。
請求項11の情報処理装置によれば、定期的に、アクセスされていないデータを、分割して他の情報処理装置に格納することができる。
請求項12の情報処理プログラムによれば、利用頻度が低下しているデータについては、分割して他の情報処理装置に格納することができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を利用したシステム構成例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 データ格納依頼データのデータ構造例を示す説明図である。 本実施の形態による処理例を示す説明図である。 分割リストのデータ構造例を示す説明図である。 データ格納依頼データのデータ構造例を示す説明図である。 本実施の形態による処理例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 データ格納依頼データのデータ構造例を示す説明図である。 格納データのデータ構造例を示す説明図である。 識別子・アクセス日時対応データのデータ構造例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 ログテーブルのデータ構造例を示す説明図である。 プリフェッチ時テーブルのデータ構造例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する情報処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
例えば、FullHD、4Kカメラ、全方位カメラ等で撮影された高解像度な静止画・動画を始めとして、デジタルコンテンツのデータサイズは肥大化を続けている。また、デジタルコンテンツは複数のユーザーによって共有されることも多く、データ共有方法として様々なサービスが作り出されてきた。
データをいかに効率よく保存して共有するかがデータ共有方法の課題である。データ共有方法の例として、(1)ある特定の事業者が提供する中央サーバーにデータを保存するサービスや、(2)シェアしようとするユーザーの端末自体を相互通信可能なデータ保存機能として連携させて使用するシステムがある。特に、後者はP2P(Peer to Peer)型の分散データストアとして発展してきた。
特許文献1で示される技術では、共有しようとするデータをN分割し、相互通信可能なデータ保存機器N台にM重に分散して保存する手段を提供している。これにより、分割数を調整することで耐障害性(ロバスト性)を高めるとともに、個別のデータ保存機能に求める容量を抑えている。
また、特許文献2で示される技術では、データを分割・分散記憶すると共に、既に記憶されている記憶対象データと同じデータ内容を他の記憶装置に格納する場合は、既に記憶されているデータを他の記憶対象データとして参照することで重複排除を行っている。
どちらも実際に対象のデジタルコンテンツを利用しようとする際には、分割・分散されたデータを全て取り寄せて元のデジタルコンテンツを再構築する必要がある。
しかしながら、頻繁に利用するデジタルコンテンツに対する再構築手続きはオーバーヘッドが大きく、パフォーマンスに悪影響を与える。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図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)内のレジスタ等を含んでいてもよい。
本実施の形態である情報処理装置100は、データ(以下、デジタルコンテンツともいう)を格納又は格納依頼するものであって、図1の例に示すように、通信モジュール105、データ格納モジュール110、データ取得モジュール145、格納依頼モジュール180、データ記憶モジュール195を有している。
なお、処理対象とするデータの種類は問わない。例えば、文書、画像、音声情報、動画情報であってもよいし、ツリー構造を有しているものであってもよい。例えば、IoT( Internet of Things)やM2M(Machine to Machine)の隆盛に伴い、データをツリー構造で保持することが行われるようになっているが、これらを処理対象のデータとしてもよい。
また、サービス利用者が情報処理装置100に記憶させるデータ、又は、情報処理装置100から取得するデータについて、サービス利用者によって偏りがある場合がある。つまり、特定のサービス利用者に高頻度で扱われるデータは、他のサービス利用者にとって全く扱うことのないデータである場合もある。一般的に、このような状況は生じ得るが、そのような状況の場合に、情報処理装置100は、特に有効である。
通信モジュール105は、データ格納モジュール110、データ取得モジュール145、格納依頼モジュール180と接続されている。通信モジュール105は、他の情報処理装置100との通信を行う。例えば、他の情報処理装置100からデータ格納依頼、データ取得依頼を受信し、それぞれデータ格納モジュール110、データ取得モジュール145へ渡す。また、逆に、データ格納モジュール110、データ取得モジュール145から、それぞれデータ格納依頼、データ取得依頼を受け取り、他の情報処理装置100に送信する。その他、データ格納依頼、データ取得依頼に対する応答(成功、失敗を示す情報、データ取得依頼に対するデータ等)等を送受信する。
データ格納モジュール110は、格納依頼受付モジュール115、分割モジュール120、識別子生成モジュール125、記憶制御(A)モジュール130、複製モジュール135、格納依頼処理(A)モジュール140を有しており、通信モジュール105、データ記憶モジュール195と接続されている。データ格納モジュール110は、データとそのデータを識別する識別子が添えられたデータ格納依頼を受け付けて、そのデータを分割して、分割されたデータにその分割されたデータを識別する識別子を添えて、他の情報処理装置100に格納する機能を有している。
格納依頼受付モジュール115は、データ格納依頼を受け付ける。例えば、後述するデータ格納依頼データ400を受け付ける。
分割モジュール120は、データ格納依頼内のデータを分割する。
識別子生成モジュール125は、分割モジュール120によって分割された複数の分割データを識別する識別子である第2の識別子を生成する。例えば、ハッシュ関数等を用いて、分割データから第2の識別子を生成する。
記憶制御(A)モジュール130は、データ格納依頼内の識別子と複数の第2の識別子とを対応付けて、データ記憶モジュール195に記憶させるように制御する。例えば、後述する分割リスト600を生成し、データ記憶モジュール195に記憶させる。
複製モジュール135は、分割データを複製する。耐障害性を高めるためである。詳細な処理については、図9、図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が信頼できない場合は、分割データを暗号化して格納するように、データ格納依頼を行うようにしてもよい。
データ取得モジュール145は、取得依頼受付モジュール150、送信モジュール155、取得依頼モジュール160、構築モジュール165、記憶制御(B)モジュール170、保存モジュール175を有しており、通信モジュール105、データ記憶モジュール195と接続されている。データ取得モジュール145は、識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、その元データを取得する機能を有している。
取得依頼受付モジュール150は、データ取得依頼を受け付ける。例えば、後述するデータ格納依頼データ1200を受け付ける。
送信モジュール155は、データ取得依頼内の識別子に対応する元データがデータ記憶モジュール195内にある場合は、その元データを依頼元の情報処理装置100(データ取得依頼を送信してきた情報処理装置100)に送信する。
また、送信モジュール155は、データ取得依頼内の識別子に対応する元データがデータ記憶モジュール195内に無い場合(データ記憶モジュール195内には、データ取得依頼内の識別子に対応する複数の第2の識別子がある場合)は、構築モジュール165によって構築された元データを、依頼元の情報処理装置100に送信する。
取得依頼モジュール160は、データ取得依頼内の識別子に対応する複数の第2の識別子がある場合は、他の情報処理装置100に、その第2の識別子を添えたデータ取得依頼を行う。そして、そのデータ取得依頼の返信として、他の情報処理装置100から分割データを受信する。
構築モジュール165は、取得依頼モジュール160が行ったデータ取得依頼に応じて、第2の識別子に対応する分割データを取得し、元データを構築する。つまり、分割モジュール120とは逆の処理を行って、分割データから元データを生成する。
また、構築モジュール165は、アクセス日時に基づいて、元データを構築するようにしてもよい。いわゆるプリフェッチ処理を行うものであって、予想されたアクセス日時が近づいている場合、分割データを収集して、元データを構築するものである。図16〜図19の例を用いて後述する。
また、構築モジュール165は、アクセス日時に基づいて、利用頻度が高まる時期に、予め元データを構築するようにしてもよい。特に、利用頻度が高まる時期に、プリフェッチ処理を行えば、元データの構築処理を事前に行うことになり、データ取得依頼に対して(データ取得依頼を受けた後に、元データの構築処理を行う場合に比べて、)高速に対応することができるようになる。
記憶制御(B)モジュール170は、構築モジュール165によって構築された元データを識別子と対応付けて、データ記憶モジュール195に記憶させるように制御する。したがって、この後(かつ、格納依頼モジュール180による処理が行われる前)は、データ記憶モジュール195内に、識別子に対応する元データが記憶されていることになる。
保存モジュール175は、取得依頼受付モジュール150が受け付けたデータ取得依頼内の識別子に対応付けてアクセス日時を保存する。いわゆるログ情報を記憶するものであって、例えば、後述する識別子・アクセス日時対応データ1400を生成し、データ記憶モジュール195内に記憶する。
格納依頼モジュール180は、アクセス日時判定モジュール185、格納依頼処理(B)モジュール190を有しており、通信モジュール105、データ記憶モジュール195と接続されている。格納依頼モジュール180は、データが取得された日時から予め定められた期間が経過しているデータにその識別子を添えて、データ格納モジュール110に、データ格納依頼を行う機能を有している。
格納依頼モジュール180は、アクセス日時から予め定められた期間が経過している識別子に対応付けられたデータを取得し、そのデータにその識別子を添えて、データ格納モジュール110に、データ格納依頼を行う。
また、格納依頼モジュール180は、アクセス日時から予め定められた期間が経過しているか否かの判断を定期的に行うようにしてもよい。
アクセス日時判定モジュール185は、データ記憶モジュール195内に記憶されている元データのアクセス日時が、予め定められた期間経過しているか否かを判断する。つまり、しばらくアクセスのない元データがデータ記憶モジュール195に記憶されているか否かを判断する。この判断処理は、定期的に行うようにしてもよい。また、ユーザーの操作に応じて、この判断処理を行うようにしてもよい。また、データ記憶モジュール195内に記憶されている元データの容量が予め定められた閾値より大きく又は以上となった場合に、この判断処理を行うようにしてもよい。また、逆に、データ記憶モジュール195内の空き領域の容量が予め定められた閾値未満又は以下となった場合に、この判断処理を行うようにしてもよい。
格納依頼処理(B)モジュール190は、アクセス日時判定モジュール185によって、アクセス日時から予め定められた期間が経過しているデータがあると判断された場合は、そのデータにそのデータの識別子を添えて、データ格納モジュール110に、データ格納依頼を行う。つまり、データを分割して分散させるものである。なお、この対象となった元データは、データ記憶モジュール195から削除してもよい。
データ記憶モジュール195は、データ格納モジュール110、データ取得モジュール145、格納依頼モジュール180と接続されている。データ記憶モジュール195は、データ等を記憶している。例えば、元データ又は分割データそのものを記憶する格納データ1300、分割データの識別子群を記憶する分割リスト600、ログとしての識別子・アクセス日時対応データ1400、ログテーブル1700、プリフェッチの起動タイミングを記憶するプリフェッチ時テーブル1800等を記憶している。
図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は復号する必要がある。
本実施の形態は、例えば、以下のような処理を行う。特に、この説明(本段落内の説明)は、本実施の形態の理解を容易にすることを目的とするものであり、この説明を用いて限定解釈することは意図していない。そして、この説明部分のみを用いて、特許を受けようとする発明が発明の詳細な説明に記載したものであること(特許法第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に対応付けてそのデータを記憶領域に保存する。
図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は、データ(元データ)を記憶している。このデータは、分散して記憶させるデータである。
ステップS304では、分割モジュール120は、データ格納依頼内のデータを分割する。図5の例に示すように、データ格納依頼データ400のデータ欄430内のデータを複数のデータ(分割データ500、分割データ502、…、分割データ598)に分割する。分割は、いずれの方法であってもよい。例えば、予め定められた容量毎に分割してもよいし、予め定められた分割数に分割してもよいし、データに応じて分割方法を変更してもよい(例えば、画像であればブロック毎、動画であればシーン毎等)。また、再構築可能であるならば、分割データ間で、重複無く分割してもよいし、重複が生じるように分割してもよい。
ステップS306では、識別子生成モジュール125は、分割データを識別する識別子を生成する。その生成方法は、分割データを一意に識別できる情報を生成することができる方法であれば、いずれの方法であってもよい。例えば、分割データに対するハッシュ値であってもよい。
ステップ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等を取得可能としている。
ステップ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内のデータ容量にしたがって、分散して格納するか、そのまま格納するかを決定するようにしてもよい。例えば、予め定められた閾値より大きい又は以上のデータ量であるならば、分散して格納し、その閾値以下又は未満のデータ量であるならば、そのまま格納すればよい。
図9は、本実施の形態(主に、データ格納モジュール110)による処理例を示すフローチャートである。図3の例に示したフローチャートにステップS910を付加したものであり、分割データを複製して、より多くの情報処理装置100に分散して記憶させることによって、耐障害性を高めるものである。ステップS902からステップS908までの処理は、図3の例に示したフローチャートのステップS302からステップS308までの処理と同等である。
ステップS902では、格納依頼受付モジュール115は、データ格納依頼を受け付ける。
ステップS904では、分割モジュール120は、データ格納依頼内のデータを分割する。
ステップS906では、識別子生成モジュール125は、分割データを識別する識別子を生成する。
ステップS908では、記憶制御(A)モジュール130は、データ格納依頼内の識別子と、ステップS906で生成した複数の識別子を対応付けて、データ記憶モジュール195に格納する。
ステップS910では、複製モジュール135は、分割データを複製する。図10の例に示すように、データ格納依頼データ400のデータ欄430内のデータを複数のデータ(分割データ500a、分割データ502a…、分割データ598a)に分割した後、複製データ(分割データ500b、分割データ502b…、分割データ598b、…、分割データ500z、分割データ502z…、分割データ598z)を生成する。ここでは、各分割データを同じ数だけ複製しているが、各分割データで異なる数の複製データを生成するようにしてもよい。
ステップS912では、格納依頼処理(A)モジュール140は、複製した分割データにそれぞれの識別子を添えて、他の情報処理装置100にデータ格納依頼を行う。図3の例に示したフローチャートにステップS310での処理よりも、多くの情報処理装置100に対して分散して格納することができるようになる。
図11は、本実施の形態(主に、データ取得モジュール145)による処理例を示すフローチャートである。
ステップS1102では、取得依頼受付モジュール150は、データ取得依頼を受け付ける。依頼元は、他の情報処理装置100であってもよいし、同じ情報処理装置100内のデータ取得モジュール145であってもよい。データ取得依頼には、少なくとも取得したいデータを識別するための識別子が含まれている。データ取得依頼は、例えば、データ格納依頼データ1200のデータ構造を有している。図12は、データ格納依頼データ1200のデータ構造例を示す説明図である。データ格納依頼データ1200は、データ格納依頼欄1210、識別子欄1220で構成されている。データ格納依頼欄1210は、データ取得依頼の指示を記憶している。識別子欄1220は、取得したいデータの識別子を記憶している。
ステップ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へ進むようにしてもよい。
ステップS1106では、取得依頼モジュール160は、データ取得依頼内の識別子に対応する複数の分割識別子を取得する。具体的には、分割リスト600の分割識別子群欄620から、複数の分割識別子を取得すればよい。
ステップS1108では、取得依頼モジュール160は、他の情報処理装置100に対して、データ取得依頼を送信する。具体的には、データ格納依頼データ1200の識別子欄1220に分割識別子を入れて、他の情報処理装置100に送信すればよい。
ステップS1110では、取得依頼モジュール160は、他の情報処理装置100から返信として分割データを受信する。
ステップS1112では、構築モジュール165は、分割データから元データを構築する。分割処理と逆の処理を行えばよい。
ステップS1114では、記憶制御(B)モジュール170は、ステップS1102で受け付けたデータ取得依頼内の識別子に対応付けて元データを記憶する。アクセスがあったので、次のアクセスに対応するために、データ記憶モジュール195に元データを記憶する。つまり、同じ識別子について次回のデータ取得依頼があった場合は、ステップS1104で「Yes」の判断となり、分割データを収集し構築する処理が不要となる。
ステップ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のデータ構造としてもよい。
ステップS1118では、元データを返信し、ステップS1116へ進む。
なお、この処理では、元データであるか分割データであるかの区別は不要であり、データ取得依頼のあった識別子に対応するデータがあれば、そのまま返信し、その識別子に分割識別子が対応している場合は、元データを構築する。したがって、データ取得依頼の識別子が分割識別子であっても、同等の処理を行えばよい。
図15は、本実施の形態(主に、格納依頼モジュール180)による処理例を示すフローチャートである。
ステップS1502では、アクセス日時判定モジュール185は、アクセス日時を取得する。具体的には、データ記憶モジュール195内の各識別子について、識別子・アクセス日時対応データ1400のアクセス日時欄1420からアクセス日時を取得する。
ステップS1504では、アクセス日時判定モジュール185は、予め定められた期間が経過しているか否かを判断し、経過している場合はステップS1506へ進み、それ以外の場合はステップS1508へ進む。
ステップS1506では、格納依頼処理(B)モジュール190は、データに識別子を添えて、データ格納モジュール110(他の情報処理装置100におけるデータ格納モジュール110であってもよい)に対してデータ格納依頼を行う。つまり、アクセスされていないデータを、元データのままではなく、分割して他の情報処理装置100に記憶させるものである。
ステップS1508では、全ての元データに対して処理したか否かを判断し、処理した場合は処理を終了し(ステップS1599)、それ以外の場合はステップS1502へ戻る。
なお、ステップS1506では、格納依頼を行った後、そのデータを削除してもよい。
図16は、本実施の形態(主に、データ取得モジュール145)による処理例を示すフローチャートである。
ステップS1602では、構築モジュール165は、例えば、ログテーブル1700を用いて、利用頻度が高まる時期を特定する。図17は、ログテーブル1700のデータ構造例を示す説明図である。ログテーブル1700は、ログID欄1710、アクセス日時欄1720、識別子欄1730を有している。ログID欄1710は、本実施の形態において、ログを一意に識別するための情報(ログID:IDentification)を記憶している。アクセス日時欄1720は、データへのアクセスがあった日時を記憶している。識別子欄1730は、そのデータの識別子を記憶している。
例えば、予め定められた期間(1年、1か月、1週間等)内で、予め定められた回数以上にアクセスがある日時(日、曜日、月末、月初、季節等)を抽出してもよいし、日時におけるアクセス回数で降順にソートして、予め定められた順位までの日時を抽出してもよい。また、機械学習を用いて、利用頻度が高まる時期を特定してもよい。
ステップS1604では、構築モジュール165は、例えば、プリフェッチ時テーブル1800を生成する。図18は、プリフェッチ時テーブル1800のデータ構造例を示す説明図である。
プリフェッチ時テーブル1800は、識別子欄1810、プリフェッチ時欄1820を有している。識別子欄1810は、識別子を記憶している。プリフェッチ時欄1820は、その識別子のデータのプリフェッチ時を記憶している。ここでのプリフェッチ時とは、データ取得依頼を受けずに、分割データから元データを構築する処理を行う日時である。つまり、そのプリフェッチ時になったならば、対応する識別子の元データを分割データから構築する処理を開始する。
ステップS1606では、全ての識別子に対して処理したか否かを判断し、処理した場合は処理を終了し(ステップS1699)、それ以外の場合はステップ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の処理を行う必要はない。
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図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により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図20に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図20に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図20に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
また、前述の実施の形態の説明内での比較処理において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
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…通信回線

Claims (12)

  1. データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、
    識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、
    データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段
    を有する情報処理装置。
  2. 前記データ格納手段は、
    前記データ格納依頼を受け付ける格納依頼受付手段と、
    前記データ格納依頼内のデータを分割する分割手段と、
    前記分割手段によって分割された複数の分割データを識別する識別子である第2の識別子を生成する識別子生成手段と、
    前記データ格納依頼内の識別子と複数の前記第2の識別子とを対応付けて、記憶手段に記憶させるように制御する記憶制御手段と、
    前記分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う第2の格納依頼手段
    を有する請求項1に記載の情報処理装置。
  3. 前記分割データを複製する複製手段
    をさらに有し、
    前記第2の格納依頼手段は、前記複製手段によって複製された分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う
    請求項2に記載の情報処理装置。
  4. 前記第2の格納依頼手段は、ランダムに他の情報処理装置にデータ格納依頼を行う
    請求項3に記載の情報処理装置。
  5. 前記第2の格納依頼手段は、前記他の情報処理装置が信頼できる場合は、前記分割データをそのまま格納するように、データ格納依頼を行う
    請求項2に記載の情報処理装置。
  6. 前記第2の格納依頼手段は、前記他の情報処理装置が信頼できない場合は、前記分割データを暗号化して格納するように、データ格納依頼を行う
    請求項2に記載の情報処理装置。
  7. 前記データ取得手段は、
    前記データ取得依頼を受け付ける取得依頼受付手段と、
    前記データ取得依頼内の識別子に対応する元データがある場合は、該元データを依頼元の情報処理装置に送信する送信手段と、
    前記データ取得依頼内の識別子に対応する複数の第2の識別子がある場合は、他の情報処理装置に、該第2の識別子を添えたデータ取得依頼を行う取得依頼手段と、
    前記取得依頼手段が行ったデータ取得依頼に応じて、前記第2の識別子に対応する分割データを取得し、元データを構築する構築手段と、
    前記構築手段によって構築された元データを前記識別子と対応付けて、記憶手段に記憶させるように制御する第2の記憶制御手段と、
    前記取得依頼受付手段が受け付けた前記データ取得依頼内の識別子に対応付けてアクセス日時を保存する保存手段
    を有し、
    前記送信手段は、前記構築手段によって構築された元データを、依頼元の情報処理装置に送信する
    請求項1に記載の情報処理装置。
  8. 前記構築手段は、前記アクセス日時に基づいて、元データを構築する
    請求項7に記載の情報処理装置。
  9. 前記構築手段は、前記アクセス日時に基づいて、利用頻度が高まる時期に、予め元データを構築する
    請求項8に記載の情報処理装置。
  10. 前記格納依頼手段は、
    アクセス日時から予め定められた期間が経過している識別子に対応付けられたデータを取得し、該データに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う
    請求項1に記載の情報処理装置。
  11. 前記格納依頼手段は、前記アクセス日時から予め定められた期間が経過しているか否かの判断を定期的に行う
    請求項10に記載の情報処理装置。
  12. コンピュータを、
    データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、
    識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、
    データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段
    として機能させるための情報処理プログラム。
JP2017184444A 2017-09-26 2017-09-26 情報処理装置及び情報処理プログラム Active JP7119324B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017184444A JP7119324B2 (ja) 2017-09-26 2017-09-26 情報処理装置及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017184444A JP7119324B2 (ja) 2017-09-26 2017-09-26 情報処理装置及び情報処理プログラム

Publications (2)

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

Family

ID=66177393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017184444A Active JP7119324B2 (ja) 2017-09-26 2017-09-26 情報処理装置及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP7119324B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515495A (zh) * 2021-04-14 2021-10-19 暨南大学 数据文件分配方法及装置、智能设备和计算机存储介质
JP2022006160A (ja) * 2020-06-28 2022-01-12 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド データ処理方法および装置、電子機器、記憶媒体並びにコンピュータプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165911A (ja) * 1997-08-20 1999-03-09 Kyushu Nippon Denki Software Kk クライアント/サーバ型フアイルシステム
JP2006065531A (ja) * 2004-08-26 2006-03-09 Fuji Xerox Co Ltd データ保存システム、データ保存方法、および、管理サーバ、情報端末、これらの制御方法
JP2006209343A (ja) * 2005-01-26 2006-08-10 Konami Digital Entertainment:Kk データ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、プログラム
JP2008191897A (ja) * 2007-02-05 2008-08-21 Aruze Corp データ分散保存システム
JP2010134630A (ja) * 2008-12-03 2010-06-17 Sony Corp 情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システム
JP2016048530A (ja) * 2014-08-28 2016-04-07 テクマトリックス株式会社 デジタル医療用画像データ記憶システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165911A (ja) * 1997-08-20 1999-03-09 Kyushu Nippon Denki Software Kk クライアント/サーバ型フアイルシステム
JP2006065531A (ja) * 2004-08-26 2006-03-09 Fuji Xerox Co Ltd データ保存システム、データ保存方法、および、管理サーバ、情報端末、これらの制御方法
JP2006209343A (ja) * 2005-01-26 2006-08-10 Konami Digital Entertainment:Kk データ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、プログラム
JP2008191897A (ja) * 2007-02-05 2008-08-21 Aruze Corp データ分散保存システム
JP2010134630A (ja) * 2008-12-03 2010-06-17 Sony Corp 情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システム
JP2016048530A (ja) * 2014-08-28 2016-04-07 テクマトリックス株式会社 デジタル医療用画像データ記憶システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022006160A (ja) * 2020-06-28 2022-01-12 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド データ処理方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
CN113515495A (zh) * 2021-04-14 2021-10-19 暨南大学 数据文件分配方法及装置、智能设备和计算机存储介质
CN113515495B (zh) * 2021-04-14 2024-03-19 暨南大学 数据文件分配方法及装置、智能设备和计算机存储介质

Also Published As

Publication number Publication date
JP7119324B2 (ja) 2022-08-17

Similar Documents

Publication Publication Date Title
CN109522330B (zh) 基于区块链的云平台数据处理方法、装置、设备及介质
CN108712488B (zh) 一种基于区块链的数据处理方法、装置、区块链系统
CN102067557B (zh) 使用本地托管高速缓存和密码散列函数来减少网络通信的方法和系统
US8069224B2 (en) Method, equipment and system for resource acquisition
CN102546176A (zh) 在多主体环境中支持dns安全
CN104537076A (zh) 一种文件读写方法及装置
JP2010134630A (ja) 情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システム
US20100223436A1 (en) Content acquisition apparatus, program, content acquisition method and content acquisition system
US20210158353A1 (en) Methods, systems, apparatuses, and devices for processing request in consortium blockchain
US20140201316A1 (en) Streaming zip
US9858152B2 (en) Collaborative information source recovery
CN104937904A (zh) 针对全异卸载提供器的复制卸载
KR20200085095A (ko) 블록체인 기반으로 데이터를 관리하는 전자 장치 및 데이터 관리 방법
JP6671617B1 (ja) ブロックチェーン技術と分散ストレージ技術とにより実現した分散型ストレージプラットフォームおよびアプリケーションプログラム
US20150149528A1 (en) Methods, Systems and Apparatus to Determine a Distributed Content Share Storage Scheme
US10673713B2 (en) Communication control device, communication device, and computer program product for dynamic group management
JP2019061408A (ja) 情報処理装置及び情報処理プログラム
JP6432407B2 (ja) ノード、情報処理システム、方法、および、プログラム
CN112866406A (zh) 一种数据存储方法、系统、装置、设备及存储介质
US20230336355A1 (en) Data protection on distributed data storage (dds) protection networks
JP6364727B2 (ja) 情報処理システム、分散処理方法、及び、プログラム
US10798147B2 (en) Constraint based controlled seeding
JP7462922B2 (ja) ブロックチェーン技術と分散ストレージ技術とにより実現した分散型ストレージプラットフォームおよびアプリケーションプログラム
JP2008250864A (ja) データ保存方法、データ保存システム及び情報処理装置
JP5521533B2 (ja) 情報処理装置、通信システム、制御方法及び制御プログラム

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