JP2019061408A - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 164
- 238000013500 data storage Methods 0.000 claims abstract description 187
- 238000010276 construction Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 56
- 238000000034 method Methods 0.000 description 49
- 238000004891 communication Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 18
- 238000004590 computer program Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、利用頻度が低下しているデータについては、分割して他の情報処理装置に格納するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
請求項1の発明は、データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段を有する情報処理装置である。
例えば、FullHD、4Kカメラ、全方位カメラ等で撮影された高解像度な静止画・動画を始めとして、デジタルコンテンツのデータサイズは肥大化を続けている。また、デジタルコンテンツは複数のユーザーによって共有されることも多く、データ共有方法として様々なサービスが作り出されてきた。
データをいかに効率よく保存して共有するかがデータ共有方法の課題である。データ共有方法の例として、(1)ある特定の事業者が提供する中央サーバーにデータを保存するサービスや、(2)シェアしようとするユーザーの端末自体を相互通信可能なデータ保存機能として連携させて使用するシステムがある。特に、後者はP2P(Peer to Peer)型の分散データストアとして発展してきた。
また、特許文献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)内のレジスタ等を含んでいてもよい。
なお、処理対象とするデータの種類は問わない。例えば、文書、画像、音声情報、動画情報であってもよいし、ツリー構造を有しているものであってもよい。例えば、IoT( Internet of Things)やM2M(Machine to Machine)の隆盛に伴い、データをツリー構造で保持することが行われるようになっているが、これらを処理対象のデータとしてもよい。
また、サービス利用者が情報処理装置100に記憶させるデータ、又は、情報処理装置100から取得するデータについて、サービス利用者によって偏りがある場合がある。つまり、特定のサービス利用者に高頻度で扱われるデータは、他のサービス利用者にとって全く扱うことのないデータである場合もある。一般的に、このような状況は生じ得るが、そのような状況の場合に、情報処理装置100は、特に有効である。
分割モジュール120は、データ格納依頼内のデータを分割する。
識別子生成モジュール125は、分割モジュール120によって分割された複数の分割データを識別する識別子である第2の識別子を生成する。例えば、ハッシュ関数等を用いて、分割データから第2の識別子を生成する。
記憶制御(A)モジュール130は、データ格納依頼内の識別子と複数の第2の識別子とを対応付けて、データ記憶モジュール195に記憶させるように制御する。例えば、後述する分割リスト600を生成し、データ記憶モジュール195に記憶させる。
複製モジュール135は、分割データを複製する。耐障害性を高めるためである。詳細な処理については、図9、図10の例を用いて後述する。
また、格納依頼処理(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が信頼できない場合は、分割データを暗号化して格納するように、データ格納依頼を行うようにしてもよい。
送信モジュール155は、データ取得依頼内の識別子に対応する元データがデータ記憶モジュール195内にある場合は、その元データを依頼元の情報処理装置100(データ取得依頼を送信してきた情報処理装置100)に送信する。
また、送信モジュール155は、データ取得依頼内の識別子に対応する元データがデータ記憶モジュール195内に無い場合(データ記憶モジュール195内には、データ取得依頼内の識別子に対応する複数の第2の識別子がある場合)は、構築モジュール165によって構築された元データを、依頼元の情報処理装置100に送信する。
構築モジュール165は、取得依頼モジュール160が行ったデータ取得依頼に応じて、第2の識別子に対応する分割データを取得し、元データを構築する。つまり、分割モジュール120とは逆の処理を行って、分割データから元データを生成する。
また、構築モジュール165は、アクセス日時に基づいて、元データを構築するようにしてもよい。いわゆるプリフェッチ処理を行うものであって、予想されたアクセス日時が近づいている場合、分割データを収集して、元データを構築するものである。図16〜図19の例を用いて後述する。
また、構築モジュール165は、アクセス日時に基づいて、利用頻度が高まる時期に、予め元データを構築するようにしてもよい。特に、利用頻度が高まる時期に、プリフェッチ処理を行えば、元データの構築処理を事前に行うことになり、データ取得依頼に対して(データ取得依頼を受けた後に、元データの構築処理を行う場合に比べて、)高速に対応することができるようになる。
保存モジュール175は、取得依頼受付モジュール150が受け付けたデータ取得依頼内の識別子に対応付けてアクセス日時を保存する。いわゆるログ情報を記憶するものであって、例えば、後述する識別子・アクセス日時対応データ1400を生成し、データ記憶モジュール195内に記憶する。
また、格納依頼モジュール180は、アクセス日時から予め定められた期間が経過しているか否かの判断を定期的に行うようにしてもよい。
アクセス日時判定モジュール185は、データ記憶モジュール195内に記憶されている元データのアクセス日時が、予め定められた期間経過しているか否かを判断する。つまり、しばらくアクセスのない元データがデータ記憶モジュール195に記憶されているか否かを判断する。この判断処理は、定期的に行うようにしてもよい。また、ユーザーの操作に応じて、この判断処理を行うようにしてもよい。また、データ記憶モジュール195内に記憶されている元データの容量が予め定められた閾値より大きく又は以上となった場合に、この判断処理を行うようにしてもよい。また、逆に、データ記憶モジュール195内の空き領域の容量が予め定められた閾値未満又は以下となった場合に、この判断処理を行うようにしてもよい。
格納依頼処理(B)モジュール190は、アクセス日時判定モジュール185によって、アクセス日時から予め定められた期間が経過しているデータがあると判断された場合は、そのデータにそのデータの識別子を添えて、データ格納モジュール110に、データ格納依頼を行う。つまり、データを分割して分散させるものである。なお、この対象となった元データは、データ記憶モジュール195から削除してもよい。
情報処理装置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は復号する必要がある。
情報処理装置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に対応付けてそのデータを記憶領域に保存する。
ステップ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は、データ(元データ)を記憶している。このデータは、分散して記憶させるデータである。
例えば、図8に示すように、情報処理装置100aから複数の情報処理装置100(情報処理装置100b、情報処理装置100c、・・・、情報処理装置100z)に対して、それぞれデータ格納依頼データ700(データ格納依頼データ700a、データ格納依頼データ700b、・・・、データ格納依頼データ700z)を送信している。
データ格納依頼データ700を受信した情報処理装置100では、各データ格納依頼データ700を記憶する。なお、データ格納依頼欄410内の格納依頼指示とデータ格納依頼欄710内の格納依頼指示は、異ならせてもよい。例えば、データ格納依頼欄410内の格納依頼指示は、分散して格納することを意味する指示であり、データ格納依頼欄710内の格納依頼指示は、そのまま格納することを意味する指示としてもよい。また、データ格納依頼欄410内の格納依頼指示とデータ格納依頼欄710内の格納依頼指示は同じであるが、データ欄430又は分割データ欄730内のデータ容量にしたがって、分散して格納するか、そのまま格納するかを決定するようにしてもよい。例えば、予め定められた閾値より大きい又は以上のデータ量であるならば、分散して格納し、その閾値以下又は未満のデータ量であるならば、そのまま格納すればよい。
ステップS904では、分割モジュール120は、データ格納依頼内のデータを分割する。
ステップS906では、識別子生成モジュール125は、分割データを識別する識別子を生成する。
ステップS908では、記憶制御(A)モジュール130は、データ格納依頼内の識別子と、ステップS906で生成した複数の識別子を対応付けて、データ記憶モジュール195に格納する。
ステップS912では、格納依頼処理(A)モジュール140は、複製した分割データにそれぞれの識別子を添えて、他の情報処理装置100にデータ格納依頼を行う。図3の例に示したフローチャートにステップS310での処理よりも、多くの情報処理装置100に対して分散して格納することができるようになる。
ステップS1102では、取得依頼受付モジュール150は、データ取得依頼を受け付ける。依頼元は、他の情報処理装置100であってもよいし、同じ情報処理装置100内のデータ取得モジュール145であってもよい。データ取得依頼には、少なくとも取得したいデータを識別するための識別子が含まれている。データ取得依頼は、例えば、データ格納依頼データ1200のデータ構造を有している。図12は、データ格納依頼データ1200のデータ構造例を示す説明図である。データ格納依頼データ1200は、データ格納依頼欄1210、識別子欄1220で構成されている。データ格納依頼欄1210は、データ取得依頼の指示を記憶している。識別子欄1220は、取得したいデータの識別子を記憶している。
もちろんのことながら、ステップS1104の処理は、取得依頼受付モジュール150は、データ取得依頼内の識別子に対応する複数の分割識別子が、データ記憶モジュール195内にあるか否かを判断し、ない場合はステップS1118へ進み、それ以外の場合はステップS1106へ進むようにしてもよい。
ステップS1108では、取得依頼モジュール160は、他の情報処理装置100に対して、データ取得依頼を送信する。具体的には、データ格納依頼データ1200の識別子欄1220に分割識別子を入れて、他の情報処理装置100に送信すればよい。
ステップS1110では、取得依頼モジュール160は、他の情報処理装置100から返信として分割データを受信する。
ステップS1114では、記憶制御(B)モジュール170は、ステップS1102で受け付けたデータ取得依頼内の識別子に対応付けて元データを記憶する。アクセスがあったので、次のアクセスに対応するために、データ記憶モジュール195に元データを記憶する。つまり、同じ識別子について次回のデータ取得依頼があった場合は、ステップS1104で「Yes」の判断となり、分割データを収集し構築する処理が不要となる。
図14(a)の例に示す識別子・アクセス日時対応データ1400aは、識別子欄1410、アクセス日時欄1420で構成されている。識別子欄1410は、識別子を記憶している。アクセス日時欄1420は、その識別子のデータに対してアクセスがあった日時(年、月、日、時、分、秒、秒以下、又はこれらの組み合わせであってもよい)を記憶している。
図14(b)の例に示す識別子・アクセス日時対応データ1400bは、識別子欄1410、元データ欄1415、アクセス日時欄1420で構成されている。つまり、識別子・アクセス日時対応データ1400aに元データ欄1415を付加したものである。元データ欄1415は、その識別子に対応するデータを記憶している。又は、識別子・アクセス日時対応データ1400bは、格納データ1300に、アクセス日時欄1420を付加したものであり、格納データ1300の代替として、識別子・アクセス日時対応データ1400bのデータ構造としてもよい。
なお、この処理では、元データであるか分割データであるかの区別は不要であり、データ取得依頼のあった識別子に対応するデータがあれば、そのまま返信し、その識別子に分割識別子が対応している場合は、元データを構築する。したがって、データ取得依頼の識別子が分割識別子であっても、同等の処理を行えばよい。
ステップS1502では、アクセス日時判定モジュール185は、アクセス日時を取得する。具体的には、データ記憶モジュール195内の各識別子について、識別子・アクセス日時対応データ1400のアクセス日時欄1420からアクセス日時を取得する。
ステップS1504では、アクセス日時判定モジュール185は、予め定められた期間が経過しているか否かを判断し、経過している場合はステップS1506へ進み、それ以外の場合はステップS1508へ進む。
ステップS1506では、格納依頼処理(B)モジュール190は、データに識別子を添えて、データ格納モジュール110(他の情報処理装置100におけるデータ格納モジュール110であってもよい)に対してデータ格納依頼を行う。つまり、アクセスされていないデータを、元データのままではなく、分割して他の情報処理装置100に記憶させるものである。
ステップS1508では、全ての元データに対して処理したか否かを判断し、処理した場合は処理を終了し(ステップS1599)、それ以外の場合はステップS1502へ戻る。
なお、ステップS1506では、格納依頼を行った後、そのデータを削除してもよい。
ステップS1602では、構築モジュール165は、例えば、ログテーブル1700を用いて、利用頻度が高まる時期を特定する。図17は、ログテーブル1700のデータ構造例を示す説明図である。ログテーブル1700は、ログID欄1710、アクセス日時欄1720、識別子欄1730を有している。ログID欄1710は、本実施の形態において、ログを一意に識別するための情報(ログID:IDentification)を記憶している。アクセス日時欄1720は、データへのアクセスがあった日時を記憶している。識別子欄1730は、そのデータの識別子を記憶している。
例えば、予め定められた期間(1年、1か月、1週間等)内で、予め定められた回数以上にアクセスがある日時(日、曜日、月末、月初、季節等)を抽出してもよいし、日時におけるアクセス回数で降順にソートして、予め定められた順位までの日時を抽出してもよい。また、機械学習を用いて、利用頻度が高まる時期を特定してもよい。
プリフェッチ時テーブル1800は、識別子欄1810、プリフェッチ時欄1820を有している。識別子欄1810は、識別子を記憶している。プリフェッチ時欄1820は、その識別子のデータのプリフェッチ時を記憶している。ここでのプリフェッチ時とは、データ取得依頼を受けずに、分割データから元データを構築する処理を行う日時である。つまり、そのプリフェッチ時になったならば、対応する識別子の元データを分割データから構築する処理を開始する。
ステップS1606では、全ての識別子に対して処理したか否かを判断し、処理した場合は処理を終了し(ステップS1699)、それ以外の場合はステップS1602へ戻る。
ステップ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に示すハードウェア構成は、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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
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)
- データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、
識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、
データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段
を有する情報処理装置。 - 前記データ格納手段は、
前記データ格納依頼を受け付ける格納依頼受付手段と、
前記データ格納依頼内のデータを分割する分割手段と、
前記分割手段によって分割された複数の分割データを識別する識別子である第2の識別子を生成する識別子生成手段と、
前記データ格納依頼内の識別子と複数の前記第2の識別子とを対応付けて、記憶手段に記憶させるように制御する記憶制御手段と、
前記分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う第2の格納依頼手段
を有する請求項1に記載の情報処理装置。 - 前記分割データを複製する複製手段
をさらに有し、
前記第2の格納依頼手段は、前記複製手段によって複製された分割データに前記第2の識別子を添えて、他の情報処理装置にデータ格納依頼を行う
請求項2に記載の情報処理装置。 - 前記第2の格納依頼手段は、ランダムに他の情報処理装置にデータ格納依頼を行う
請求項3に記載の情報処理装置。 - 前記第2の格納依頼手段は、前記他の情報処理装置が信頼できる場合は、前記分割データをそのまま格納するように、データ格納依頼を行う
請求項2に記載の情報処理装置。 - 前記第2の格納依頼手段は、前記他の情報処理装置が信頼できない場合は、前記分割データを暗号化して格納するように、データ格納依頼を行う
請求項2に記載の情報処理装置。 - 前記データ取得手段は、
前記データ取得依頼を受け付ける取得依頼受付手段と、
前記データ取得依頼内の識別子に対応する元データがある場合は、該元データを依頼元の情報処理装置に送信する送信手段と、
前記データ取得依頼内の識別子に対応する複数の第2の識別子がある場合は、他の情報処理装置に、該第2の識別子を添えたデータ取得依頼を行う取得依頼手段と、
前記取得依頼手段が行ったデータ取得依頼に応じて、前記第2の識別子に対応する分割データを取得し、元データを構築する構築手段と、
前記構築手段によって構築された元データを前記識別子と対応付けて、記憶手段に記憶させるように制御する第2の記憶制御手段と、
前記取得依頼受付手段が受け付けた前記データ取得依頼内の識別子に対応付けてアクセス日時を保存する保存手段
を有し、
前記送信手段は、前記構築手段によって構築された元データを、依頼元の情報処理装置に送信する
請求項1に記載の情報処理装置。 - 前記構築手段は、前記アクセス日時に基づいて、元データを構築する
請求項7に記載の情報処理装置。 - 前記構築手段は、前記アクセス日時に基づいて、利用頻度が高まる時期に、予め元データを構築する
請求項8に記載の情報処理装置。 - 前記格納依頼手段は、
アクセス日時から予め定められた期間が経過している識別子に対応付けられたデータを取得し、該データに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う
請求項1に記載の情報処理装置。 - 前記格納依頼手段は、前記アクセス日時から予め定められた期間が経過しているか否かの判断を定期的に行う
請求項10に記載の情報処理装置。 - コンピュータを、
データと該データを識別する識別子が添えられたデータ格納依頼を受け付けて、該データを分割して、分割されたデータに該分割されたデータを識別する識別子を添えて、他の情報処理装置に格納するデータ格納手段と、
識別子が添えられたデータ取得依頼を受け付け、分割されたデータから元データを構築して、該元データを取得するデータ取得手段と、
データが取得された日時から予め定められた期間が経過しているデータに該識別子を添えて、前記データ格納手段に、データ格納依頼を行う格納依頼手段
として機能させるための情報処理プログラム。
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)
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)
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 | テクマトリックス株式会社 | デジタル医療用画像データ記憶システム |
-
2017
- 2017-09-26 JP JP2017184444A patent/JP7119324B2/ja active Active
Patent Citations (6)
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)
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) | 一种基于区块链的数据处理方法、装置、区块链*** | |
US8069224B2 (en) | Method, equipment and system for resource acquisition | |
CN102546176A (zh) | 在多主体环境中支持dns安全 | |
CN104537076A (zh) | 一种文件读写方法及装置 | |
US20210158353A1 (en) | Methods, systems, apparatuses, and devices for processing request in consortium blockchain | |
JP2010134630A (ja) | 情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システム | |
US20100223436A1 (en) | Content acquisition apparatus, program, content acquisition method and content acquisition system | |
KR20200085095A (ko) | 블록체인 기반으로 데이터를 관리하는 전자 장치 및 데이터 관리 방법 | |
US20140201316A1 (en) | Streaming zip | |
CN112866406B (zh) | 一种数据存储方法、***、装置、设备及存储介质 | |
US9858152B2 (en) | Collaborative information source recovery | |
CN104937904A (zh) | 针对全异卸载提供器的复制卸载 | |
CN113094334B (zh) | 基于分布式存储的数字服务方法、装置、设备及储存介质 | |
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) | ノード、情報処理システム、方法、および、プログラム | |
JP6364727B2 (ja) | 情報処理システム、分散処理方法、及び、プログラム | |
US20230336355A1 (en) | Data protection on distributed data storage (dds) protection networks | |
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 |