JP2014134988A - データ共有システム及びデータ共有方法 - Google Patents
データ共有システム及びデータ共有方法 Download PDFInfo
- Publication number
- JP2014134988A JP2014134988A JP2013003056A JP2013003056A JP2014134988A JP 2014134988 A JP2014134988 A JP 2014134988A JP 2013003056 A JP2013003056 A JP 2013003056A JP 2013003056 A JP2013003056 A JP 2013003056A JP 2014134988 A JP2014134988 A JP 2014134988A
- Authority
- JP
- Japan
- Prior art keywords
- data
- location
- medium
- data sharing
- access
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】
複数業務アプリケーション間のデータのやり取りを業務アプリケーションが行う必要がある。
【解決手段】
データ共有システムは、データ共有部を有する複数の装置とデータ所在調整装置を有する。データ共有部は、業務アプリケーションが参照または更新するデータ所在を管理するデータアクセス部と、複数の媒体から構成されるデータ格納部とアクセスパターン解析部を有する。アクセスパターン解析部は、業務アプリケーションからのデータアクセス時刻の周波数解析を行い、その結果に基づいてデータ所在媒体を決定する。データ所在調整装置は、各装置から送信されるアクセスパターンに基づいてデータ所在装置を決定する。
【選択図】図11
複数業務アプリケーション間のデータのやり取りを業務アプリケーションが行う必要がある。
【解決手段】
データ共有システムは、データ共有部を有する複数の装置とデータ所在調整装置を有する。データ共有部は、業務アプリケーションが参照または更新するデータ所在を管理するデータアクセス部と、複数の媒体から構成されるデータ格納部とアクセスパターン解析部を有する。アクセスパターン解析部は、業務アプリケーションからのデータアクセス時刻の周波数解析を行い、その結果に基づいてデータ所在媒体を決定する。データ所在調整装置は、各装置から送信されるアクセスパターンに基づいてデータ所在装置を決定する。
【選択図】図11
Description
データ共有システム及びデータ共有方法に関する。
列車運行管理システム等の複数の業務アプリケーションが実行されるシステムにおいて、各業務アプリケーションは装置内または装置間でお互いにデータをやり取りしている。データのやり取りに関わる処理は業務アプリケーションのプログラムコード中に多く表れる。
また、業務アプリケーションにおいてデータの格納場所(メモリ、データベース、他装置等)を意識した処理を行っている。
特許文献1に記載の技術では、データのアプリケーションによる参照頻度を監視し、参照頻度の監視結果と、データの種別による重要度により優先順位を決定し、決定された優先順位に従ってイベント駆動によるアプリケーションが使用するレプリカのデータの配置を変更することが記載されている。
しかしながら特許文献1に記載の技術では、データの配置を変更する場合はデータの格納場所の定義を変更する必要がある。加えて先述のようなシステムでは、データのやり取りに関わる処理が業務アプリケーションのプログラムコード中に多く表れる。このために、業務アプリケーションのプログラム開発における生産性が上がらない。また、データの格納場所を変更する場合には、業務アプリケーションを変更する必要があるので、拡張性も低い。
データ共有装置の通信部は、複数のアプリケーションからアクセス要求を受信し、アクセス要求に基づいてアクセスパターンを算出し、アクセスパターンに基づいてデータの最適な所在媒体であるデータ所在媒体を決定し、データ所在媒体が、データ所在媒体記憶部に記憶された媒体と相違する場合は、データ所在媒体記憶部に記憶された媒体を更新するアクセスパターン解析部と、を備える。
業務アプリケーションを開発する際の生産性が向上し、更に、データの格納場所を変更する場合の拡張性を高めることが可能となる。
以下に添付図面を参照して、データ共有システム及びデータ共有方法の実施の形態を詳細に説明する。
図1は、システムの構成例を示す図である。装置A20は、ネットワーク60を介して、装置B30、装置C40、データ所在調整装置50と接続されている。
装置A20、装置B30、装置C40は、データ共有部10を有しており、業務アプリケーションが実行される装置である。
データ所在調整装置50は、装置A20〜装置C40のいずれか一つと送受信されるデータの所在を調整する装置である。
装置A20、装置B30、装置C40、およびデータ所在調整装置50は、ネットワーク60を介してお互いに通信をしてデータをやりとりすることでデータ共有を実現するシステムを構成している。
ただし、システム構成はこれに限らず、データ共有部10を有する装置がデータ所在調整装置50を兼ねてもよい。また、データ共有部10を有する二以上の装置がネットワークを介して接続されていればよい。また、単一の装置上にデータ共有部10と複数の業務アプリケーションを有し、データ共有部を介して複数の業務アプリケーションがデータをやりとりするシステム構成であっても良い。
図2は図1で示した各装置のハードウェア構成例を示す図である。図2で示すように装置101は、主制御部102、主記憶部103、入力部104、通信部105を備える。装置A20、装置B30、装置C40及びデータ所在調整装置50は同じハードウェア構成である。
主制御部102は、主記憶部103に記録されたプログラムコードをプロセッサが実行することで、装置101における情報処理を制御する。 主記憶部103は、装置101に関する情報を不揮発的に記憶する。
入力部104は、装置101に関する情報を手動で入力する必要がある際に、装置101に入力を行う。
通信部105は、ネットワーク60を介して、他装置の通信部105およびデータ所在調整装置50の通信部308と接続し、他装置と情報を送受信する。
本構成は、例えば、主制御部102をCPU(Central Processing Unit)とRAM(Random Access Memory)で、主記憶部103をハードディスクで、入力部104をキーボードで、通信部105をイーサネット(登録商標)で、実現することにより、従来からよく知られた装置で構成可能である。
図3は、図1に示したデータ共有部10を有する各装置のソフトウェア構成例を示す図である。ここでは、例として図1に示した装置A20について記載する。図3で示すように、装置A20は、一以上の業務アプリケーション201、データ共有部10、を備える。これらの実体は、図2に示した主記憶部103に格納されたソフトウェアプログラムおよびデータであり、実行時にはRAMに読み込まれてCPU(プロセッサ)によって実行される。
業務アプリケーション201は、業務を行うためのアプリケーションであり、
データ共有部10を介して自装置または他装置に格納されたデータを参照または更新する。
データ共有部10を介して自装置または他装置に格納されたデータを参照または更新する。
データ共有部10は、データアクセス部202、データ格納部203、アクセスパターン解析部204、通信プログラム205、を備える。
データアクセス部202は、データ所在装置テーブル206、データ所在媒体テーブル207、レプリケーション先装置テーブル208、データ所在装置テーブル受信プログラム209、を備える。
データ所在装置テーブル206は、業務アプリケーションから参照または更新されるデータが存在する装置を記憶する
データ所在媒体テーブル207は、業務アプリケーションから参照または更新されるデータが存在する媒体を記憶する。
データ所在媒体テーブル207は、業務アプリケーションから参照または更新されるデータが存在する媒体を記憶する。
レプリケーション先装置テーブル208は、レプリケーション先としてデータを送信する装置を記憶する。
データ所在装置テーブル受信プログラム209は、データ所在調整装置50から送信されるデータ所在装置テーブルを受信する。
データ格納部203は、業務アプリケーションが使用するデータを格納しており、メモリ210、データベース211、を備える。ただし、データ格納部を構成する記憶媒体はこれに限らず、一以上の記憶媒体から構成されていればよい。
アクセスパターン解析部204は、参照時刻テーブル212、更新時刻テーブル213、解析間隔保持部214、サンプリング間隔保持部215、アクセス分布解析プログラム216、離散フーリエ変換プログラム217、周波数解析プログラム218、媒体特性テーブル219、データ所在媒体移動プログラム220、アクセスパターン記憶部221、アクセスパターン送信間隔保持部222、アクセスパターン送信プログラム223、を備える。
参照時刻テーブル212は、業務アプリケーションがデータを参照した時刻を格納する。業務アプリケーション201が、データアクセス部202を介してデータを参照する際に、データアクセス部202が参照時刻テーブル212に参照時刻を書込む。
更新時刻テーブル213は、業務アプリケーションがデータを更新した時刻を格納する。業務アプリケーション201が、データアクセス部202を介してデータを更新する際に、データアクセス部202が更新時刻テーブル213に更新時刻を書込む。
解析間隔保持部214は、アクセスパターンを解析してデータ所在媒体を調整する時間間隔を保持する。解析間隔保持部214が保持する時間間隔は、ユーザが設定する。データ所在媒体の調整の結果、媒体間のデータ移動が実行されて処理時間がかかる可能性があるため、1分から10分程度の時間間隔を設定するのが望ましい。
サンプリング間隔保持部215は、アクセス分布解析をする際のサンプリング間隔を保持する。サンプリング間隔保持部215が保持するサンプリング間隔は、ユーザが設定する。サンプリング間隔が短いほど時間あたりのサンプリング数が多くなるため解析精度の向上が見込めるが、その反面、計算量が増加し処理時間が長くなる。例えば、1ミリ秒から10ミリ秒程度のサンプリング間隔を設定する。
アクセス分布解析プログラム216は、参照時刻テーブル212および更新時刻テーブル213に格納された時刻群から、サンプリング間隔保持部215に保持されたサンプリング間隔内に何度参照および更新が行われたかを表すアクセス分布に変換する。
離散フーリエ変換プログラム217は、アクセス分布解析プログラム216から出力されたアクセス分布に対して離散フーリエ変換を行い、周波数領域のアクセスパターンに変換する。
周波数解析プログラム218は、離散フーリエ変換プログラム217から出力された周波数領域のアクセスパターンからピーク周波数を決定し、媒体特性テーブル219を参照して、データ所在媒体を調整する。
媒体特性テーブル219は、周波数解析プログラム218が参照する媒体の特性を格納する。媒体特性テーブル219は、ユーザが設定する。媒体を追加する際には、媒体特性テーブル219をユーザが書き換えることによって、周波数解析プログラム218が追加された媒体を含めてデータ所在媒体の調整を行う。
データ所在媒体移動プログラム220は、アクセスパターン解析の結果から、装置内でデータが存在する媒体を変更する際にデータを移動する。
アクセスパターン記憶部221は、離散フーリエ変換プログラム218から出力された周波数領域のアクセスパターンを記憶する。
アクセスパターン送信間隔保持部222は、データ所在調整装置50へアクセスパターンを送信する時間間隔を保持する。アクセスパターン送信間隔保持部222が保持する時間間隔はユーザが設定する。データ所在調整装置50へ送信するアクセスパターンは、後述のデータ所在装置調整プログラム303で使用されるため、後述の調整間隔保持部302が保持する時間間隔と同じ値にすることが望ましい。
アクセスパターン送信プログラム223は、データ所在調整装置50へアクセスパターンを送信する。
通信プログラム205は、ネットワーク60を介して、ネットワーク60に接続している他装置の通信プログラムとデータを送受信する。
図4は、データ所在調整装置50のソフトウェア構成例を示す図である。図4で示すように、データ所在調整装置50は、レプリケーション閾値保持部301、調整間隔保持部302、データ所在装置調整プログラム303、データ所在装置移動プログラム304、アクセスパターン収集プログラム305、データ所在装置テーブル送信プログラム306、レプリケーション先装置テーブル送信プログラム307、通信プログラム308、を備える。これらの実体は、図2に示した主記憶部103に格納されたソフトウェアプログラムおよびデータであり、実行時にはRAMに読み込まれてCPU(プロセッサ)によって実行される。
レプリケーション閾値保持部301は、各装置が参照するデータをレプリケーションにより各装置に配置するかどうかの判断に用いるピーク周波数の閾値を保持する。レプリケーション閾値保持部301が保持する閾値はユーザが設定する。例えばこの閾値を1Hzに設定すると1秒間に1回の頻度で参照するデータについてはレプリケーションを行う。
調整間隔保持部302は、データ所在装置調整プログラム303を起動する時間間隔を保持する。調整間隔保持部302が保持する時間間隔はユーザが設定する。データ所在装置の調整の結果、装置間のデータ移動が実行されて処理時間がかかる可能性があるため、1時間から10時間程度の時間間隔を設定するのが望ましい。
データ所在装置調整プログラム303は、各装置から送信されたアクセスパターンからデータ所在装置を調整する。
データ所在装置移動プログラム304は、データ所在装置調整の結果、データが存在する装置を変更する際にデータを移動する。
アクセスパターン収集プログラム305は、各装置から送信されたアクセスパターンを送信する。
データ所在装置テーブル送信プログラム306は、データ所在装置調整の結果、データが存在する装置を変更する際に、各装置に対してデータ所在装置テーブルを送信する。
レプリケーション先装置テーブル送信プログラム307は、データ所在装置調整の結果、データが存在する装置を変更する際に、各装置に対してレプリケーション先装置テーブルを送信する。
通信プログラム308は、ネットワーク60を介してネットワーク60に接続している他装置の通信プログラムとデータを送受信する。
図5(a)は、データ所在装置テーブル206の一例を示す図である。図5(a)に示すように、データ所在装置テーブル206は、データ名称列401、参照データ所在装置列402、更新データ所在装置列403、を備える。
データ名称列401は、データ名称を表す列である。例えば、図5(a)のデータ所在装置テーブル206では、少なくともDATA−XXX、DATA−YYY、DATA−ZZZという名称のデータが存在していることを示している。
参照データ所在装置列402は、対応するデータ名称のデータを参照する際のデータが存在する装置を表す。例えば、図5(a)のデータ所在装置テーブル206では、DATA−XXXおよびDATA−YYYを参照する際には装置Aに、DATA−ZZZを参照する際には装置Cにデータが存在することを示している。
更新データ所在装置列403は、対応するデータ名称のデータを更新する際のデータが存在する装置を表す。例えば、図5(a)のデータ所在装置テーブル206では、DATA−XXXを更新する際には装置Aに、DATA−YYYを更新する際には装置Bに、DATA−ZZZを更新する際には装置Cにデータが存在することを示している。
図5(b)は、データ所在媒体テーブル207の一例を示す図である。図5(b)に示すように、データ所在媒体テーブル207は、データ名称列404、データ所在媒体列405、を備える。
データ名称列404は、データ名称を表す列である。例えば、図5(b)のデータ所在装置テーブル207では、少なくともDATA−XXX、DATA−YYY、DATA−ZZZという名称のデータが存在していることを示している。
データ所在媒体列405は、対応するデータ名称のデータが存在する媒体を表す列である。例えば、図5(b)のデータ所在装置テーブル207では、DAYA−XXXはメモリPに、DATA−YYYはデータベースSに存在し、DATA−ZZZは自装置に存在しないことを示している。
図6は、レプリケーション先装置テーブル208の一例を示す図である。図6に示すように、レプリケーション先装置テーブル208は、データ名称列501、レプリケーション先装置列502、を備える。
データ名称列501は、データ名称を表す列である。例えば、図6のレプリケーション先装置テーブル208では、少なくともDATA−XXX、DATA−YYY、DATA−ZZZという名称のデータが存在していることを示している。
レプリケーション先装置列502は、対応するデータ名称のデータのレプリケーション先となる装置を表す列である。例えば、図6のレプリケーション先装置テーブル208では、DATA−XXXのレプリケーション先装置は装置B、装置Cであり、DATA−YYYおよびDATA−ZZZについてはレプリケーションを行わないことを示している。
図7(a)は、参照時刻テーブル212の一例を示す図である。図7(a)に示すように、参照時刻テーブル212は、データ名称列601、参照時刻列602、を備える。
データ名称列601は、データ名称を表す列である。例えば、図7(a)の参照時刻テーブル212では、参照があった順にデータ名称が並んでいる。
参照時刻列602は、対応するデータ名称のデータに対して参照が行われた時刻を表す列である。
図7(b)は、更新時刻テーブル213の一例を示す図である。図7(b)に示すように、更新時刻テーブル213は、データ名称列603、更新時刻列604、を備える。
データ名称列603は、データ名称を表す列である。例えば、図7(b)の更新時刻テーブル213では、更新があった順にデータ名称が並んでいる。
更新時刻列604は、対応するデータ名称のデータに対して更新が行われた時刻を表す列である。
図8は、媒体特性テーブル219の一例を示す図である。図8に示すように、媒体特性テーブル219は、データ名称列701、ピーク周波数列702、を備える。
媒体名称列701は、媒体名称を表す列である。例えば、図8の媒体特性テーブル219では、自装置にメモリP、メモリQ、データベースS、データベースTという媒体が存在していることを示している。
ピーク周波数列702は、対応する媒体名称の媒体へ格納すべきデータのピーク周波数を表した列である。例えば、図8の媒体特性テーブル219では、データのピーク周波数が200Hz以上であればメモリPに、100Hz以上200Hz未満であればメモリQに、10Hz以上100Hz未満であればデータベースSに、10Hz未満であればデータベースTにデータを格納する。
データに対するピーク周波数が高いほど、業務アプリケーションから頻繁にアクセスされる。したがって、スループットが大きい媒体に、高いピーク周波数となるデータが格納されるように媒体特性テーブル219を設定する。
図9は、データ参照処理の一例を示す図である。図9で示す処理の流れは、業務アプリケーション201または通信プログラム205がデータアクセス部202を介してデータを参照する際の処理を表す。
まず、業務アプリケーション201または通信プログラム205がデータアクセス部202に対してデータ名称を指定してデータを参照する際に、データアクセス部202は、参照するデータ名称と参照時刻を参照時刻テーブル212へ書込む(S101)。すなわち、参照時刻記憶部は、データ参照要求に基づいて、参照するデータ名称と参照時刻とを記憶する。
データアクセス部202は、データ所在装置テーブル206を参照し、参照するデータ名称からデータ所在装置を取得する(S102)。すなわち、データ所在装置記憶部に、データの所在が記憶されており、参照するデータのデータ名称に基づいて、データが所在している装置を取得する。
データアクセス部202は、S102において取得したデータ所在装置が自装置であるかどうか判定する(S103)。データ所在装置が自装置であればS104へ、自装置でなければS106へ処理を進める。
データアクセス部202は、データ所在媒体テーブル207を参照し、参照するデータ名称からデータ所在媒体を取得する(S104)。
データアクセス部202は、S104において取得したデータ所在媒体へアクセスし、参照するデータ名称からデータを取得し、業務アプリケーション201または通信プログラム205へと渡す(S105)。
データアクセス部202は、S102において取得したデータ所在装置へ通信プログラム205を介してアクセスし、参照するデータ名称からデータを取得し、業務アプリケーション201へと渡す(S106)。なお、通信プログラム205を介してアクセスする他装置においても、図9で示す処理の流れが実行されてデータが取得される。
以上の処理を行うことにより、業務アプリケーション201がデータ名称を指定することで、データが存在する媒体や装置によらず、データアクセス部202がデータを取得する。また、業務アプリケーション201から参照されたデータ名称および参照時刻が参照時刻テーブル212に蓄積される。
図10は、データ更新処理の一例を示す図である。図10で示す処理の流れは、業務アプリケーション201がデータアクセス部202を介してデータを更新する際の処理を表す。
まず、業務アプリケーション201または通信プログラム205がデータアクセス部202に対してデータ名称を指定してデータを更新する際に、データアクセス部202は、更新するデータ名称と更新時刻を更新時刻テーブル213へ書込む(S201)。
データアクセス部202は、データ所在装置テーブル206を参照し、更新するデータ名称からデータが所在している装置を取得する(S202)。
データアクセス部202は、S202において取得したデータ所在装置が自装置であるかどうか判定する(S203)。データ所在装置が自装置であればS204へ、自装置でなければS207へ処理を進める。
データアクセス部202は、データ所在媒体テーブル207を参照し、更新するデータ名称からデータ所在媒体を取得する(S204)。
データアクセス部202は、S204において取得したデータ所在媒体へアクセスし、更新するデータ名称からデータを特定して更新する(S205)。つまり、複数のアプリケーションからアクセス要求を受信するデータ共有装置の通信部105と、アクセス要求に基づいてアクセスパターンを算出し、アクセスパターンに基づいてデータの最適な所在媒体であるデータ所在媒体を決定し、データ所在媒体が、データ所在媒体テーブル207に記憶された媒体と相違する場合は、データ所在媒体記憶部に記憶された媒体を更新するアクセスパターン解析部と、を備える。
データアクセス部202は、レプリケーション先装置テーブル208を参照し、更新したデータ名称からレプリケーション先となる装置を取得し、レプリケーション先装置へデータを送信する(S206)。データ所在装置は、データを削除し、レプリケーション先となる装置は、データを受信した後、自装置に記憶する。
データアクセス部202は、S202において取得したデータ所在装置へ通信プログラム205を介してアクセスし、更新するデータ名称からデータを特定して更新する(S207)。なお、通信プログラム205を介してアクセスする他装置においても、図10で示す処理の流れが実行されてデータが更新される。
以上の処理を行うことにより、業務アプリケーション201がデータ名称を指定することで、データが存在する媒体や装置によらず、データアクセス部202がデータを更新する。また、業務アプリケーション201から更新されたデータ名称および更新時刻が更新時刻テーブル213に蓄積される。
図11は、データアクセス解析処理の一例を示す図である。図11で示す処理の流れは、解析間隔保持部214が保持する時間間隔毎に実行される。
アクセスパターン解析部204は、データ所在装置テーブル206に格納される各データ名称のデータについて、S302からS308までの処理を繰り返し実行する(S301)。 アクセス分布解析プログラム216は、参照時刻テーブル212および更新時刻テーブル213を参照し、サンプリング間隔保持部215が保持する時間間隔内に該データが参照された回数および更新された回数を数えて、該データの参照アクセス分布および更新アクセス分布を算出する(S302)。この処理により、該データが参照された回数および更新された回数が、サンプリング間隔保持部215が保持する時間間隔で離散化されるため、S303における離散フーリエ変換が可能になる。
離散フーリエ変換プログラム217は、アクセス分布解析プログラム216が算出した該データの参照アクセス分布および更新アクセス分布に対して、離散フーリエ変換を行い、該データの周波数領域の参照アクセスパターン及び更新アクセスパターンを算出する。また、離散フーリエ変換プログラム217は、アクセスパターン記憶部302に該データの参照アクセスパターン及び更新アクセスパターンを格納する(S303)。
周波数解析プログラム218は、離散フーリエ変換プログラム217が算出した該データの周波数領域の参照アクセスパターン及び更新アクセスパターンの強度を平均化し、強度が最大となる周波数を該データのピーク周波数とする(S304)。ここでの強度とは、各周波数に対する複素数の絶対値を表す。
アクセスパターン解析部204は、媒体特性テーブル219を参照し、周波数解析プログラム218が算出したピーク周波数に対応する媒体を該データの最適媒体とする(S305)。
アクセスパターン解析部204は、該データが存在する媒体と、S305において決定した該データの最適媒体が異なるかどうか判定する(S306)。該データが存在する媒体と該データの最適媒体が異なればS307へ、同じであればS308へ処理を進める。
データ所在媒体移動プログラム220は、データをS305において決定した最適媒体へと移動し、データ所在媒体テーブル207を更新する(S307)。
アクセスパターン解析部204は、データ所在装置テーブル206に格納される各データ名称のデータについて、S302からS307までの処理を実行したならばS309へ処理を進める(S308)。
アクセスパターン解析部204は、参照時刻テーブル212および更新時刻テーブル213の全行を削除する(S309)。この処理により、参照時刻テーブル212および更新時刻テーブル213の行数が際限なく増えていくことを防ぐ。
以上の処理を行うことにより、各データが、業務アプリケーション201からの実際のアクセスに応じて自装置内で最適な媒体へと格納される。
図12は、アクセスパターン送信処理の一例を示す図である。図12で示す処理の流れは、アクセスパターン送信間隔保持部222が保持する時間間隔毎に実行される。
アクセスパターン送信プログラム223は、データ所在装置テーブル206に格納される各データ名称のデータについて、S402からS403の処理を繰り返し実行する(S401)。
アクセスパターン送信プログラム223は、アクセスパターン221に格納される該データの参照アクセスパターン群および更新アクセスパターン群の強度を平均化して、該データの送信参照アクセスパターンおよび送信更新アクセスパターンを算出する(S402)。
アクセスパターン送信プログラム223は、S402において算出された該データの送信参照アクセスパターンおよび送信更新アクセスパターンを、通信プログラム205を介してデータ所在調整60へと送信する。
アクセスパターン送信プログラム223は、データ所在装置テーブル206に格納される各データ名称のデータについて、S402からS403の処理を実行したならば終了へと処理を進める(S404)。
以上の処理を行うことにより、各データの送信参照アクセスパターンおよび送信更新アクセスパターンがデータ所在装置60へと送信される。
図13は、データ所在装置調整処理の一例を示す図である。図13で示す処理の流れは、調整間隔保持部302が保持する時間間隔毎に実行される。
データ所在装置調整プログラム303は、アクセスパターン収集プログラム305から渡される各データの参照アクセスパターンおよび更新アクセスパターンについて、S502からS508の処理を繰り返し実行する(S501)。
データ所在装置調整プログラム303は、該データについての各装置の更新アクセスパターンからそれぞれ強度が最大となる周波数を更新ピーク周波数として算出する(S502)。
データ所在装置調整プログラム303は、S502において算出した該データについての各装置の更新ピーク周波数を比較し、更新ピーク周波数が最大となる装置を該データの最適更新装置とする(S503)。
データ所在装置調整プログラム303は、該データについての各装置の参照アクセスパターンからそれぞれ強度が最大となる周波数を参照ピーク周波数として算出する(S504)。
データ所在装置調整プログラム303は、レプリケーション閾値保持部301が保持する閾値以上の参照ピーク周波数となる装置群をレプリケーション先装置群とする(S505)。
データ所在装置調整プログラム303は、該データについての各装置に対するデータ所在装置テーブルを作成する。S505において決定したレプリケーション先装置群に属する装置に対する参照所在装置は自装置に、レプリケーション先装置群に属さない装置に対する参照所在装置は最適更新装置にする。S503において決定した最適更新装置に対する更新所在装置は自装置に、他の装置に対する更新所在装置は最適更新装置にする(S506)。
S506の処理により、レプリケーション閾値保持部301が保持する閾値以上の参照ピーク周波数となる装置すなわち該データについて閾値以上の参照が発生する装置(参照が多い装置)は、最適更新装置から自装置へとレプリケーションされたデータを参照し、レプリケーション閾値保持部301が保持する閾値未満の参照ピーク周波数となる装置すなわち該データについて閾値未満の参照が発生する装置(参照が少ない装置)は、最適更新装置のデータを参照することになる。
また、S506の処理により、該データについて更新ピーク周波数が最大となる装置すなわち該データについて最も更新が多い装置は、自装置のデータを更新し、他の装置は、最適更新装置のデータを更新することになる。
データ所在装置調整プログラム303は、S505において決定したレプリケーション先装置群から最適更新装置へ送信するレプリケーション先装置テーブルを作成する(S507)。
データ所在装置移動プログラム304は、現在の更新装置からS503において決定した最適更新装置へとデータを移動する。また、データ所在装置移動プログラム304は、最適更新装置からレプリケーション先装置群に属する装置へデータをコピーする(S508)。
データ所在装置調整プログラム303は、アクセスパターン収集プログラム305から渡される各データの参照アクセスパターンおよび更新アクセスパターンについて、S502からS508の処理を実行したならば、S510に処理を進める(S509)。
データ所在装置テーブル送信プログラム306は、通信プログラム308を介して、S501からS509までの処理において作成したデータ所在装置テーブルを各装置へ送信する。レプリケーション先装置テーブル送信プログラム307は、通信プログラム308を介して、S501からS509までの処理において作成したレプリケーション先装置テーブルを各装置へ送信する(S510)。
以上の処理を行うことにより、システム内で最も多くデータを更新する装置がシステム内の更新装置となり、他の装置は更新装置にアクセスすることでデータを更新することになる。また、閾値よりも多くデータを参照する装置には、更新装置からレプリケーションされた自装置のデータを参照し、閾値よりも少なくデータを参照する装置は更新装置にアクセスすることでデータを参照することになる。
以上の実施形態によれば、各業務アプリケーションは自装置のデータアクセス部にアクセスしてデータを参照または更新するだけでよくなり、業務アプリケーションがデータ共有のためのプログラムコードを持つ必要がないので、アプリを開発する際の生産性が向上する。また、装置や媒体を追加した際の業務アプリケーションの改修を行わなくてよくなる。加えて、業務アプリケーションからのデータへのアクセスパターンに基づいて、データの所在装置および所在媒体が自動的に最適なものになる。
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
10 データ共有部
50 データ所在調整装置
201 業務アプリケーション
202 データアクセス部
203 データ格納部
204 アクセスパターン解析部
205 通信プログラム
206 データ所在装置テーブル
207 データ所在媒体テーブル
208 レプリケーション先装置テーブル
209 データ所在装置テーブル受信プログラム
210 メモリ
211 データベース
212 参照時刻テーブル
213 更新時刻テーブル
214 解析間隔保持部
215 サンプリング間隔保持部
216 アクセス分布解析プログラム
217 離散フーリエ変換プログラム
218 周波数解析プログラム
219 媒体特性テーブル
220 データ所在媒体移動プログラム
221 アクセスパターン記憶部
222 アクセスパターン送信間隔保持部
223 アクセスパターン送信プログラム
301 レプリケーション閾値保持部
302 調整間隔保持部
303 データ所在装置調整プログラム
304 データ所在装置移動プログラム
305 アクセスパターン収集プログラム
306 データ所在装置テーブル送信プログラム
307 レプリケーション先装置テーブル送信プログラム
308 通信プログラム
50 データ所在調整装置
201 業務アプリケーション
202 データアクセス部
203 データ格納部
204 アクセスパターン解析部
205 通信プログラム
206 データ所在装置テーブル
207 データ所在媒体テーブル
208 レプリケーション先装置テーブル
209 データ所在装置テーブル受信プログラム
210 メモリ
211 データベース
212 参照時刻テーブル
213 更新時刻テーブル
214 解析間隔保持部
215 サンプリング間隔保持部
216 アクセス分布解析プログラム
217 離散フーリエ変換プログラム
218 周波数解析プログラム
219 媒体特性テーブル
220 データ所在媒体移動プログラム
221 アクセスパターン記憶部
222 アクセスパターン送信間隔保持部
223 アクセスパターン送信プログラム
301 レプリケーション閾値保持部
302 調整間隔保持部
303 データ所在装置調整プログラム
304 データ所在装置移動プログラム
305 アクセスパターン収集プログラム
306 データ所在装置テーブル送信プログラム
307 レプリケーション先装置テーブル送信プログラム
308 通信プログラム
Claims (12)
- 複数のアプリケーションからアクセス要求を受信する通信部と、
前記アプリケーションから受信するアクセス要求に対応するデータが所在している媒体を記憶するデータ所在媒体記憶部と、
前記アクセス要求に基づいてアクセスパターンを算出し、
前記アクセスパターンに基づいて前記データの最適な所在媒体であるデータ所在媒体を決定し、
前記データ所在媒体が、前記データ所在媒体記憶部に記憶された前記媒体と相違する場合は、前記データ所在媒体記憶部に記憶された媒体を更新するアクセスパターン解析部と、
を備えることを特徴とするデータ共有装置。 - 請求項1に記載のデータ共有装置において、
ピーク周波数に対応する媒体を記憶する媒体特性記憶部と、
前記アクセスパターン解析部は、アクセスパターンを算出した後、周波数解析を行い、ピーク周波数を算出し、
算出された前記ピーク周波数と同一の前記媒体特性記憶部に記憶されたピーク周波数に対応する媒体を前記データ所在媒体として決定することを特徴とするデータ共有装置。 - 請求項2に記載のデータ共有装置と、データ所在調整装置とを含むデータ共有システムにおいて、
前記データ共有装置の前記通信部は、
前記アクセスパターンを前記データ所在調整装置に送信し、
前記データ所在調整装置は、
前記アクセスパターンに基づいて、前記データの最適な所在装置であるデータ所在装置を決定し、
前記データ共有装置と前記最適な所在装置が異なる場合は、
前記データ共有装置から前記データを取得し、前記最適な所在装置に送信し、
前記最適な所在装置は、前記データを記憶する
ことを特徴とするデータ共有システム。 - 請求項3に記載のデータ共有システムにおいて、
前記データ所在調整装置は、前記アクセスパターンから複数のデータ共有装置におけるピーク周波数を算出し、前記ピーク周波数が最大であるデータ共有装置を、前記最適な所在装置と決定する
ことを特徴とするデータ共有システム。 - 請求項4に記載のデータ共有システムにおいて、
前記アクセス要求とは、前記データを参照する要求である場合、
前記データ共有装置は、前記最適な所在装置から、前記データを取得することを特徴とするデータ共有システム。 - 請求項4に記載のデータ共有システムにおいて、
前記アクセス要求とは、前記データを更新する要求である場合、
前記データ共有装置は前記データを削除し、前記最適な所在装置は、前記データを更新することを特徴とするデータ共有システム。 - データ共有装置が、
複数のアプリケーションからアクセス要求を受信するステップと、
前記アプリケーションから受信するアクセス要求に対応するデータが所在している媒体を記憶するステップと、
前記アクセス要求に基づいてアクセスパターンを算出し、
前記アクセスパターンに基づいて前記データの最適な所在媒体であるデータ所在媒体を決定し、
前記データ所在媒体が、前記データ所在媒体記憶部に記憶された前記媒体と相違する場合は、前記データ所在媒体記憶部に記憶された媒体を更新するステップと、
を備えることを特徴とするデータ共有方法。 - 請求項7に記載のデータ共有方法において、
前記データ共有装置は、
ピーク周波数に対応する媒体を記憶するステップと、
前記アクセスパターン解析部は、アクセスパターンを算出した後、周波数解析を行い、ピーク周波数を算出し、
算出された前記ピーク周波数と同一の前記媒体特性記憶部に記憶されたピーク周波数に対応する媒体を前記データ所在媒体として決定するステップとを更に備えることを特徴とするデータ共有方法。 - 請求項8に記載のデータ共有方法において、
前記データ共有装置は、
前記アクセスパターンを前記データ所在調整装置に送信するステップと、
データ所在調整装置が、
前記アクセスパターンに基づいて、前記データの最適な所在装置であるデータ所在装置を決定し、
前記データ共有装置と前記最適な所在装置が異なる場合は、
前記データ共有装置から前記データを取得し、前記最適な所在装置に送信し、
前記最適な所在装置は、前記データを記憶するステップとを備える
ことを特徴とするデータ共有方法。 - 請求項9に記載のデータ共有方法において、
前記データ所在調整装置は、前記アクセスパターンから複数のデータ共有装置におけるピーク周波数を算出し、前記ピーク周波数が最大であるデータ共有装置を、前記最適な所在装置と決定するステップとを更に備える
ことを特徴とするデータ共有方法。 - 請求項10に記載のデータ共有方法において、
前記アクセス要求とは、前記データを参照する要求である場合、
前記データ共有装置は、前記最適な所在装置から、前記データを取得することを特徴とするデータ共有方法。 - 請求項10に記載のデータ共有方法において、
前記アクセス要求とは、前記データを更新する要求である場合、
前記データ共有装置は前記データを削除し、前記最適な所在装置は、前記データを更新することを特徴とするデータ共有方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013003056A JP2014134988A (ja) | 2013-01-11 | 2013-01-11 | データ共有システム及びデータ共有方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013003056A JP2014134988A (ja) | 2013-01-11 | 2013-01-11 | データ共有システム及びデータ共有方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014134988A true JP2014134988A (ja) | 2014-07-24 |
Family
ID=51413191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013003056A Pending JP2014134988A (ja) | 2013-01-11 | 2013-01-11 | データ共有システム及びデータ共有方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014134988A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11698600B2 (en) | 2016-02-29 | 2023-07-11 | Canon Kabushiki Kaisha | Developing apparatus, process cartridge, and image forming apparatus |
-
2013
- 2013-01-11 JP JP2013003056A patent/JP2014134988A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11698600B2 (en) | 2016-02-29 | 2023-07-11 | Canon Kabushiki Kaisha | Developing apparatus, process cartridge, and image forming apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9971823B2 (en) | Dynamic replica failure detection and healing | |
US10057341B2 (en) | Peer-to-peer architecture for web traffic management | |
CN113391765A (zh) | 基于分布式存储系统的数据存储方法、装置、设备及介质 | |
US20160142477A1 (en) | Connection control device, connection control system, and non-transitory computer readable medium | |
WO2014153480A2 (en) | Utilizing user devices for backing up and retrieving data in a distributed backup system | |
US9742842B2 (en) | Peer-to-peer data migration | |
CN111083180B (zh) | 物联网系统、物联网设备联动方法及装置 | |
WO2015149644A1 (en) | Intelligent file pre-fetch based on access patterns | |
WO2020116612A1 (ja) | ストレージ管理装置、方法およびプログラム | |
CN114339135A (zh) | 一种负载均衡方法、装置、电子设备和存储介质 | |
CN113923216A (zh) | 一种分布式集群限流系统及方法和分布式集群节点 | |
WO2022187005A1 (en) | Replication of parent record having linked child records that were previously replicated asynchronously across data storage regions | |
JP6591700B2 (ja) | システム、データ管理方法、及びファイルサーバ | |
EP3997635A1 (en) | Predictive system resource allocation | |
KR102601628B1 (ko) | 리소스 처리 방법 및 시스템, 저장 매체, 전자 기기 | |
WO2022187008A1 (en) | Asynchronous replication of linked parent and child records across data storage regions | |
US9286055B1 (en) | System, method, and computer program for aggregating fragments of data objects from a plurality of devices | |
JP2014134988A (ja) | データ共有システム及びデータ共有方法 | |
US20180349190A1 (en) | Process control program, process control method, information processing device, and communication device | |
JP2020057319A (ja) | 装置、サーバおよびソフトウェア更新プログラム | |
JPWO2015059849A1 (ja) | 通信システム、共通サービス制御装置、データ送信方法及びプログラム | |
JP2015094976A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
EP4066117B1 (en) | Managing provenance information for data processing pipelines | |
KR101973537B1 (ko) | 하둡 분산 파일 시스템에서의 하트비트 교환 주기 관리 장치 및 방법 | |
US20210144217A1 (en) | Service communication proxy apparatus and method |