JP6939246B2 - 処理分散プログラム、処理分散方法、および情報処理装置 - Google Patents

処理分散プログラム、処理分散方法、および情報処理装置 Download PDF

Info

Publication number
JP6939246B2
JP6939246B2 JP2017160179A JP2017160179A JP6939246B2 JP 6939246 B2 JP6939246 B2 JP 6939246B2 JP 2017160179 A JP2017160179 A JP 2017160179A JP 2017160179 A JP2017160179 A JP 2017160179A JP 6939246 B2 JP6939246 B2 JP 6939246B2
Authority
JP
Japan
Prior art keywords
processing
time
replication
estimated
data
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
JP2017160179A
Other languages
English (en)
Other versions
JP2019040292A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017160179A priority Critical patent/JP6939246B2/ja
Priority to US16/056,598 priority patent/US10789101B2/en
Publication of JP2019040292A publication Critical patent/JP2019040292A/ja
Application granted granted Critical
Publication of JP6939246B2 publication Critical patent/JP6939246B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、処理分散プログラム、処理分散方法、および情報処理装置に関する。
複数のストレージノードにデータのレプリケーションを行うシステムの冗長化技術が用いられている。ストレージノードに対するデータの登録処理または参照処理を行う際に、例えば、プロキシサーバが、いずれかのストレージノードに処理を割り当てる。
関連する技術として、処理対象のファイルや処理中のタスクスケジュール状況から各ノードにタスク処理を割り当てて実行状態を管理する分散処理システムが提案されている(例えば、特許文献1を参照)。
また、関連する技術として、レプリケーション情報およびステータス情報をストレージ装置間で同期させるとともに、管理サーバ装置に送信する技術が提案されている(例えば、特許文献2を参照)。
特開2014−186364号公報 特開2016−162170号公報
プロキシサーバは、ストレージノードに対する処理要求を受信した場合、ストレージノードの処理負荷を算出して、処理負荷の低いストレージノードに処理を割り当てることが考えられる。例えば、プロキシサーバがデータを受信して、選択したストレージノードに送信する。そして、データを受信したストレージノードが、他のストレージノードにデータを転送することにより、レプリケーションが行われる。
しかし、ストレージノードの処理負荷の算出精度が低くなるに応じて、負荷の高いストレージノードに処理が割り当てられることにより、複数のストレージノード間での負荷の偏りが大きくなる可能性がある。
1つの側面として、本発明は、複数のストレージノード間の負荷の偏りを抑制することを目的とする。
1つの態様では、処理分散プログラムは、情報処理装置に、複数の装置に対する処理の要求を受信した場合、前記処理の過去の実行履歴における処理時間に基づいて、前記処理にかかる時間の予測値である処理予測時間を算出し、前記複数の装置毎のレプリケーションを含む予定が記録されたタイムスケジュールを参照し、算出した前記処理予測時間と記録されている予定とが重複する時間の総和に基づいて、要求された前記処理を実行する対象装置を前記複数の装置から選択する処理を実行させる。
1つの側面によれば、複数のストレージノード間の負荷の偏りを抑制することできる。
実施形態のシステムの全体構成の一例を示す図である。 プロキシサーバの一例を示す図である。 ストレージノードの一例を示す図である。 処理要求管理情報の一例を示す図である。 レプリケーション管理情報の一例を示す図である。 タイムスケジュールの一例を示す図である。 ストレージノード3(SN1)が記憶するレプリケーション管理情報の一例を示す図である。 ストレージノード3(SN2)が記憶するレプリケーション管理情報の一例を示す図である。 ストレージノード3(SN3)が記憶するレプリケーション管理情報の一例を示す図である。 実施形態の処理の流れの一例を示すフローチャートである。 再計算処理の流れの一例を示すフローチャート(その1)である。 再計算処理の流れの一例を示すフローチャート(その2)である。 適用例におけるタイムスケジュールを示す図である。 プロキシサーバのハードウェア構成の一例を示す図である。
<実施形態のシステムの全体構成の一例>
以下、図面を参照して、実施形態について説明する。図1は、実施形態のシステムの全体構成の一例を示す。
図1に示すように、実施形態のシステムは、複数のクライアントサーバ1とプロキシサーバ2と複数のストレージノード3とを含む。
クライアントサーバ1は、ユーザの操作に基づいて、ストレージノード3へのデータの登録処理要求、またはストレージノード3が記憶するデータの参照処理要求をプロキシサーバ2に送信する。クライアントサーバ1は、1台であってもよい。
プロキシサーバ2は、登録対象データとともにクライアントサーバ1からの登録処理要求を受信した場合、いずれかのストレージノード3へデータを送信する。プロキシサーバ2は、クライアントサーバ1からの参照処理要求を受信した場合、いずれかのストレージノード3からデータを取得する。プロキシサーバ2は、クライアントサーバ1からの要求に基づいて行う処理のスケジュール管理を行う。プロキシサーバ2は、情報処理装置の一例である。
ストレージノード3は、プロキシサーバ2から登録対象データを受信した場合、登録対象データを記憶し、さらに、他のストレージノード3に転送することによりレプリケーションを行う。ストレージノード3は、プロキシサーバ2から、参照処理要求を受信した場合、プロキシサーバ2に参照対象データを送信する。ストレージノード3は、例えば、データベースサーバであってもよく、Network Attached Storage(NAS)等のストレージ装置であってもよい。
<プロキシサーバの一例>
図2は、プロキシサーバ2の一例を示す図である。プロキシサーバ2は、第1通信部21と第1算出部22と選択部23と第2算出部24と第3算出部25と第1管理部26と再算出部27と更新部28と第1制御部29と第1記憶部30とを含む。
第1通信部21は、クライアントサーバ1およびストレージノード3と各種データの送受信を行う。クライアントサーバ1から、ストレージノード3へのデータの登録処理要求、またはストレージノード3が記憶するデータに対する参照処理要求を受信する。
第1通信部21は、登録対象データとともに登録処理要求を受信した場合、いずれかのストレージノード3に登録対象データを送信する。第1通信部21は、データの参照処理要求を受信した場合、いずれかのストレージノード3から参照対象データを取得し、クライアントサーバ1に送信する。
第1算出部22は、ストレージノード3に対する登録処理要求または参照処理要求を受信した場合、登録処理または参照処理の過去の所要時間に基づいて、登録処理または参照処理の所要時間の予測値である処理予測時間をストレージノード3毎に算出する。登録処理または参照処理の過去の所要時間は、第1記憶部30に記憶される過去の実行履歴における処理時間である。なお、第1算出部22が算出する処理予測時間は、レプリケーションにかかる時間を含まない。
第1算出部22は、要求された処理が登録処理である場合、プロキシサーバ2がストレージノード3にデータを書き込む予測時間をストレージノード3毎に算出する。該予測時間は、以下の式により算出される、データの書き込み時間を示すTpが用いられる。なお、Tpは、後述するレプリケーションの予測時間にも用いられる。
Figure 0006939246
Mpn(put多重度)は、各ストレージノード3における書き込み処理の現在の多重度を示す。書き込み処理は、ストレージノード3にデータを登録する(記憶する)処理である。Mgn(get多重度)は、各ストレージノード3における読み取り処理の現在の多重度を示す。読み取り処理は、ストレージノード3がデータを参照する処理である。
p性能は、各ストレージノード3における書き込み処理性能である。p性能は、例えば、過去の時間あたりのデータ書き込み量の平均値である。p性能は、例えば、ある時間帯の処理結果に基づいて以下の式により予め算出され、登録処理の終了時に更新される。
p性能=総データ書き込み量/総書き込み時間
Wpsは、Tpの算出における重みである。Wpsは、初期値として1が設定され、登録処理の終了時に以下の式(1−1)により補正される。Tprは、実際の書き込み時間であり、登録処理の終了時に記録される。
Wps=前回のWps+(Tpr−Tp)×(Tp/Tpr)・・・(1−1)
第1算出部22は、要求された処理が参照処理である場合、プロキシサーバ2がストレージノード3のデータを読み取る予測時間をストレージノード3毎に算出する。該予測時間には、以下の式により算出されるTgが用いられる。
Figure 0006939246
g性能は、各ストレージノード3における読み取り処理性能である。g性能は、例えば、過去の時間あたりのデータ読み取り量の平均値である。g性能は、ある時間帯の処理結果に基づいて以下の式により予め算出され、参照処理の終了時に更新される。
g性能=総データ読み取り量/総読み取り時間
Wgsは、Tgの算出における重みである。Wgsは、初期値として1が設定され、参照処理の終了時に以下の式(2−1)により補正される。Tgrは、実際の読み取り時間であり、参照処理の終了時に記録される。
Wgs=前回のWgs+(Tgr−Tg)×(Tg/Tgr)・・・(2−1)
選択部23は、複数のストレージノード3毎の処理の予定が記録されたタイムスケジュールを参照する。そして、選択部23は、第1算出部22が算出した処理予測時間と記録されている予定とが重複する時間の総和ST(n)に基づいて、要求された処理を実行する対象のストレージノード3を複数のストレージノード3から選択する。nはストレージノード3を示す。選択部23は、以下の式に基づいてストレージノード3毎にST(n)を算出する。
Figure 0006939246
MSGreq(n,t)は、第1算出部22が算出した処理予測時間である。MSGing(n,i,t)は、ストレージノード3(n)で既に開始されている処理を進めている処理iについて、MSGreq(n,t)と重複する時間である。pは、ストレージノード3(n)で既に開始されている処理を進めている処理の数である。選択部23は、各ストレージノード3について、重複する時間の総和ST(n)を算出し、最小の値(min(ST(n)))に該当するストレージノード3を選択する。
第2算出部24は、要求された処理がデータの登録である場合、過去の実行履歴に基づいて、レプリケーションの開始予測時間RTsを算出する。第2算出部24は、開始予測時間RTsは、選択部23に選択されたストレージノード3がデータの登録を開始してからレプリケーション先のストレージノード3にデータを転送するまでの時間である。また、第2算出部24は、登録処理開始時刻に開始予測時間RTsを加算して、レプリケーション開始予測時刻を算出する。以下、RTsの算出に用いるベクトルについて、説明する。
ベクトルEは、以下の式のように表される。bef(Mgn)は、選択されたストレージノード3の以前(例えば、直前)のレプリケーション処理におけるMgnである。bef(Mpn)は、選択されたストレージノード3の以前(例えば、直前)の処理におけるMpnである。bef(Rts)は、選択されたストレージノード3の以前(例えば、直前)の処理の開始時点におけるRtsである。
E=(x1,y1,z1)=(bef(Mgn),bef(Mpn),bef(Rts))
ベクトルAは、以下の式のように表される。ave(Mgn)は、選択されたストレージノード3における過去のMgnの平均値である。ave(Mpn)は、選択されたストレージノード3における過去のMpnの平均値である。ave(Rts)は、選択されたストレージノード3における過去のRtsの平均時間である。
A=(x2,y2,z2)=(ave(Mgn),ave(Mpn),ave(Rts))
なお、ベクトルEおよびベクトルAの各要素の初期値は0であるとする。すなわち、ストレージノード3において、過去に登録処理および参照処理のいずれも行われていない場合、ベクトルEおよびベクトルAの各要素は0となる。
ベクトルPは、以下の式のように表される。ベクトルPに含まれるMgn,Mpn,およびRtsは、算出時点における選択されたストレージノード3のMgn,Mpn,およびRtsである。
P=(x3,y3,z3)=(Mgn,Mpn,Rts)
方向ベクトルUは、以下のように表される。
U=(a,b,c)=(x2−x1,y2−y1,z2−z1)
空間における直線方程式は、以下のように表される。
(x3−x1)/a=(y3−y1)/b=(z3−z1)/c
上記直線方程式において、z3(RTs)以外の値は既知であるため、第2算出部24は、上記直線方程式に既知の値を当てはめることにより、RTsを算出することができる。
第3算出部25は、要求された処理がデータの登録である場合、過去の実行履歴におけるレプリケーション時間に基づいて、レプリケーションにかかる時間の予測値であるレプリケーション予測時間を算出する。複製先のストレージノード3におけるレプリケーション予測時間は、該ストレージノード3に書き込む時間であり、式(1)により算出したTpが用いられる。複製元のストレージノード3のレプリケーション予測時間は、レプリケーションが開始されてから、全ての複製先のストレージノード3に対するレプリケーションが終了するまでの予測時間となる。
第1管理部26は、後述する処理要求管理情報、レプリケーション管理情報、およびタイムスケジュールを管理する。第1管理部26は、例えば、第1算出部22が算出した処理予測時間、第2算出部24が算出した開始予測時間、および第3算出部25が算出したレプリケーション予測時間に基づいて、ストレージノード3毎のスケジュールを含むタイムスケジュールを更新する。第1管理部26は、例えば、処理の終了時に、処理要求管理情報およびストレージ管理情報の終了時刻を記録する。タイムスケジュール、処理要求管理情報およびストレージ管理情報について、詳細は後述する。
再算出部27は、処理終了予測時刻を既に経過しており、かつ、処理が終了していない場合、処理対象のデータのうち処理が終了していない部分の処理予測時間を算出し、算出した予測時間に基づいて、タイムスケジュールを更新する。再算出部27は、例えば、処理が登録処理である場合、式(1)の「データ量」に登録処理が終了していない部分のデータ量を設定し、Tpを算出する。再算出部27は、例えば、処理が参照処理である場合、式(2)の「データ量」に参照処理が終了していない部分のデータ量を設定し、Tgを算出する。
再算出部27は、レプリケーション終了予測時刻を既に経過しており、かつ、レプリケーションが終了していない場合、レプリケーション対象のデータのうちレプリケーションが終了していない部分のレプリケーション予測時間を算出する。再算出部27は、算出したレプリケーション予測時間に基づいて、タイムスケジュールを更新する。再算出部27は、例えば、式(1)の「データ量」にレプリケーションが終了していない部分のデータ量を設定し、Tpを算出する。
更新部28は、処理終了時に、処理予測時間と処理の実際の所要時間に基づいて、重み(WgsまたはWps)を更新する。更新部28は、処理が登録処理である場合、Tprに実際の登録処理時間を設定し、Tpに処理予測時間を設定し、上記式(1−1)によりWpsを更新する。更新部28は、処理が参照処理である場合、Tgrに実際の参照処理時間を設定し、Tgに処理予測時間を設定し、上記式(2−1)によりWgsを更新する。
更新部28は、レプリケーション終了時に、レプリケーション予測時間と実際のレプリケーション所要時間に基づいて、重み(Wps)を更新する。更新部28は、Tprに実際のレプリケーション所要時間を設定し、Tpにレプリケーション予測時間を設定し、上記式(1−1)によりWpsを更新する。
第1制御部29は、プロキシサーバ2の各種制御を行う。
第1記憶部30は、ストレージ管理情報、処理要求管理情報、およびタイムスケジュールを記憶する。
図3は、ストレージノード3の一例を示す図である。ストレージノード3は、第2通信部31と第2制御部32と第2管理部33と第2記憶部34とを含む。
第2通信部31は、プロキシサーバ2から登録対象データを受信する。また、第2通信部31は、プロキシサーバ2に参照対象のデータを送信する。
第2通信部31は、ストレージノード3がレプリケーションにおける送信元である場合、複製先のストレージノードに登録対象データを送信する。第2通信部31は、ストレージノード3がレプリケーションにおける送信先である場合、複製元のストレージノード3に登録対象データを送信する。
第2制御部32は、レプリケーション処理を制御する。第2制御部32は、プロキシサーバ2から登録対象データを受信した場合、第2通信部31を介して、登録対象データを他のストレージノード3に転送する。第2制御部32は、例えば、レプリケーションの際に、第2記憶部34に記憶された他のストレージノード3のInternet Protocol(IP)アドレスを用いる。
第2管理部33は、第2記憶部34に記憶されるレプリケーション管理情報に情報の記録を行う。
第2記憶部34は、登録対象データ、およびレプリケーション管理情報を記憶する。また、第2記憶部34は、他のストレージノード3のInternet Protocol(IP)アドレスを記憶している。
図4は、処理要求管理情報の一例を示す図である。第1管理部26は、クライアントサーバ1から送信された処理要求に関する情報を処理要求管理情報に記録する。
「処理要求ID」は、処理要求毎に付与される識別情報である。「処理種別」は、処理要求の処理内容に応じて設定される情報である。例えば、「PUT」はデータの登録要求を示す。また、「GET」は、データの参照要求を示す。「ストレージノードID」は、処理対象のストレージノード3を識別する情報である。
「データサイズ」は、処理対象データのデータサイズ[MB]を示す。「オブジェクトID」は、処理要求に応じて行われる処理を識別する情報である。「要求受信時刻」は、プロキシサーバ2が処理要求をクライアントサーバ1から受信した時刻である。「終了時刻」は、処理要求に応じて行われた処理が終了した時刻である。
図5は、レプリケーション管理情報の一例を示す図である。レプリケーション管理情報は、第1管理部26により更新される。
「オブジェクトID」および「データサイズ」は、図4に示す処理要求管理情報の「オブジェクトID」および「データサイズ」と同じ情報が記録される。「複製元ストレージノードID」は、プロキシサーバ2から登録対象データを受信し、複製先のストレージノード3に登録対象データを送信するストレージノード3の識別情報である。「複製先ストレージノードID」は、複製元のストレージノード3から登録対象データを受信し、該登録対象データを記憶するストレージノード3を識別する情報である。
「開始時刻」は、レプリケーションが開始された時刻である。「終了時刻」は、レプリケーションが終了した時刻である。
図6は、タイムスケジュールの一例を示す図である。タイムスケジュールには、第1管理部26により、ストレージノード3毎の処理スケジュールが記録される。図6に示す例において、「ストレージノードID」、および「処理要求ID」には、図4に示す処理要求管理情報と同じ情報が記録される。
「処理種別」には、処理要求管理情報に示した「PUT」および「GET」に加え、「RPG」および「RPP」が含まれる。「RPG」は、レプリケーションの複製元における読み取り処理を示す。「RPP」は、レプリケーションの複製先における書き込み処理を示す。「処理種別」が「PUT」である場合、レプリケーションが行われるため、「RPG」および「RPP」を含むレコードが追加される。
レプリケーション以外の処理に関する「処理開始予測時刻」には、プロキシサーバ2がクライアントサーバ1から処理要求を受信した時刻がそのまま記録される。なお、本実施形態では、プロキシサーバ2がクライアントサーバ1から処理要求を受信してから処理を開始するまでの時間を無視する。レプリケーションに関する「処理開始予測時刻」には、複製元のストレージノード3が登録対象データを受信した時刻に、第2算出部24が算出した開始予測時間RTsを加算した時刻が記録される。
登録処理に関する「処理終了予測時刻」には、第1算出部22が算出した予測時間Tpを「処理開始予測時刻」に加算した時刻が記録される。参照処理に関する「処理終了予測時刻」には、第1算出部22が算出した予測時間Tgを「処理開始予測時刻」に加算した時刻が記録される。
複製先ストレージノード3のレプリケーション処理に関する「処理終了予測時刻」には、第3算出部25が算出した予測時間Tpを「処理開始予測時刻」に加算した時刻が記録される。複製元ストレージノード3のレプリケーション処理に関する「処理終了予測時刻」には、対応する複製先ストレージノード3の「処理終了予測時刻」のうちの最も遅い時刻が記録される。
図7は、ストレージノード3(SN1)が記憶するレプリケーション管理情報の一例を示す図である。図7に示すレプリケーション管理情報は、ストレージノード3(SN1)の第2記憶部34に記憶される。図7に示すレプリケーション管理情報は、図5に示すプロキシサーバ2が記憶するレプリケーション管理情報のうち、複製元ストレージノードIDまたは複製先ストレージノードIDにSN1が含まれるレコードを複製した内容となる。
図8は、ストレージノード3(SN2)が記憶するレプリケーション管理情報の一例を示す図である。図8に示すレプリケーション管理情報は、ストレージノード3(SN2)の第2記憶部34に記憶される。図8に示すレプリケーション管理情報は、図5に示すプロキシサーバ2が記憶するレプリケーション管理情報のうち、複製元ストレージノードIDまたは複製先ストレージノードIDにSN2が含まれるレコードを複製した内容となる。
図9は、ストレージノード3(SN3)が記憶するレプリケーション管理情報の一例を示す図である。図9に示すレプリケーション管理情報は、ストレージノード3(SN3)の記憶部に記憶される。図9に示すレプリケーション管理情報は、図5に示すプロキシサーバ2が記憶するレプリケーション管理情報のうち、複製元ストレージノードIDまたは複製先ストレージノードIDにSN3が含まれるレコードを複製した内容となる。
<実施形態の処理の流れの一例>
図10は、実施形態の処理の流れの一例を示すフローチャートである。第1算出部22は、クライアントサーバ1から処理要求を受信したかを判定する(ステップS101)。ステップS101でNOの場合、処理は、次に進まない。処理要求は、例えば、登録処理要求または参照処理要求である。
ステップS101でYESの場合、第1算出部22は、要求された処理の過去の所要時間に基づいて、処理の所要時間の予測値である処理予測時間をストレージノード3毎に算出する(ステップS102)。処理予測時間は、例えば、式(1)に示したTpまたは式(2)に示したTgである。
選択部23は、複数のストレージノード3毎の処理の予定が記録されたタイムスケジュール(例えば、図6)を参照する(ステップS103)。そして、選択部23は、選択部23は、第1算出部22が算出した処理予測時間と記録されている予定とが重複する時間の総和ST(n)を算出する(ステップS104)。選択部23は、算出した総和ST(n)に基づいて、要求された処理を実行する対象のストレージノード3を選択する(ステップS105)。選択部23は、例えば、算出した総和ST(n)が最も小さいストレージノード3を選択する。
要求された処理が登録処理である場合(ステップS106でYES)、第2算出部24は、過去の実行履歴に基づいて、レプリケーションの開始予測時間RTsを算出する(ステップS107)。また、第2算出部24は、登録処理開始時刻に開始予測時間RTsを加算して、レプリケーション開始予測時刻を算出する。
第3算出部25は、レプリケーションの所要時間の予測値であるレプリケーション予測時間を算出する(ステップS108)。また、第3算出部25は、レプリケーション開始予測時刻にレプリケーション予測時間を加算して、レプリケーション終了予測時刻を算出する。
第1通信部21は、各ストレージノードにレプリケーション処理の依頼を通知する(ステップS109)。
ステップS106でNOの場合、またはステップS109の処理後、第1管理部26は、ストレージノード3毎のスケジュールを含むタイムスケジュールを更新する(ステップS110)。第1管理部26は、例えば、第1算出部22が算出した処理予測時間、第2算出部24が算出した開始予測時間、および第3算出部25が算出したレプリケーション予測時間に基づいて、タイムスケジュールを更新する。
第1制御部29は、要求された処理を実行する(ステップS111)。第1制御部29は、例えば、ステップS101で登録対象データとともに登録処理要求を受信した場合、第1通信部21を介して、ステップS105で選択されたストレージノード3に登録対象データを送信する。第1制御部29は、例えば、ステップS101でデータの参照処理要求を受信した場合、第1通信部21を介して、ステップS105で選択されたストレージノード3から参照対象データを取得し、クライアントサーバ1に送信する。
以上のように、プロキシサーバ2は、プロキシサーバ2がストレージノード3に対して直接行う処理のスケジュールだけではなく、ストレージノード3同士で行われるレプリケーションのスケジュールを管理する。そして、プロキシサーバ2は、レプリケーションを含むスケジュールを用いて処理対象の装置を選択することによりストレージノードの処理負荷の算出精度を向上させ、ストレージノード3間の負荷の偏りを抑制することができる。そして、プロキシサーバ2は、ストレージノード3間の負荷の偏りを抑制することでストレージシステム全体のパフォーマンスが向上させることができる。
また、プロキシサーバ2は、各ストレージノード3のレプリケーションを含めたタイムスケジュールを管理し各ストレージノード3から状態を受信しなくてもよいため、プロキシサーバ2と各ストレージノード3との間の通信負荷を軽減することができる。
図11および図12は、再計算処理の流れの一例を示すフローチャートである。例えば、図10のステップS111の実行後に、図11に示す処理が開始される。図11および図12に示す処理は、クライアントサーバ1から要求された処理の実行中、繰り返し実行される。
再算出部27は、タイムスケジュールのうち、レプリケーションの処理終了予測時刻を参照する(ステップS201)。再算出部27は、例えば、タイムスケジュールのうち、処理種別が「RPG」または「RPP」である処理の処理終了予測時刻を参照する。
再算出部27は、レプリケーション予測時刻を経過しているかを判定する(ステップS202)。ステップS202でNOの場合、再算出部27は、タイムスケジュールのうち、レプリケーション以外の処理終了予測時刻を参照する(ステップS203)。再算出部27は、例えば、タイムスケジュールのうち、処理種別が「PUT」または「GET」である処理の処理終了予測時刻を参照する。
再算出部27は、処理終了予測時刻を既に経過しており、かつ、処理が終了していないかを判定する(ステップS204)。なお、処理が終了している場合、対象のストレージノード3から完了通知が送信されるため、再算出部27は、処理が終了していることを知ることができる。
ステップS204でYESの場合、再算出部27は、処理対象のデータのうち処理が終了していない部分の処理予測時間を算出する(ステップS205)。また、再算出部27は、ステップS205で算出した予測時間を現在時刻に加算して終了予測時刻を算出する。
再算出部27は、再算出した予測時間に基づいて、タイムスケジュールの終了予測時刻を更新する(ステップS206)。
ステップS204でNOの場合またはステップS206の処理後、第1管理部26は、ストレージノード3から処理の完了通知を受信したか判定する(ステップS207)。なお、この完了通知にはレプリケーションに関する完了通知は含まれない。
ステップS207でYESの場合、第1管理部26は、処理要求管理情報に終了時刻を記録する(ステップS208)。更新部28は、処理要求管理情報の要求受信時刻と処理終了時刻とに基づいて、実際の処理時間を算出する(ステップS209)。なお、上述したように、本実施形態では、プロキシサーバ2が処理要求を受信してから処理を開始するまでの時間を無視するため、要求受信時間と処理開始時間は同じであるとする。
更新部28は、処理予測時間と処理の実際の所要時間に基づいて、重み(WgsまたはWps)を更新する(ステップS210)。
レプリケーション予測時刻を既に経過している場合(ステップS202でYES)、処理は、「A」から図12のステップS211に移行する。再算出部27は、処理対象のストレージノード3からレプリケーション管理情報を取得する(ステップS211)。そして、再算出部27は、レプリケーションが終了しているか判定する(ステップS212)。再算出部27は、例えば、取得したレプリケーション管理情報のうちの判定対象のレコードに終了時刻が記録されていれば、レプリケーションが終了していると判定する。
なお、本実施形態では、レプリケーション終了時にストレージノード3からプロキシサーバ2に通知が送信されない。従って、再算出部27は、レプリケーション管理情報を取得して、レプリケーションが終了しているか判定する。レプリケーション終了時にストレージノード3からプロキシサーバ2に通知が送信される場合、再算出部27は、通知を受信した際にレプリケーションが終了したと判定してもよい。
ステップS212でYESの場合、更新部28は、レプリケーション管理情報の開始時刻と終了時刻とに基づいて、レプリケーションの実際の所要時間を算出する(ステップS213)。そして、更新部28は、レプリケーション予測時間と実際のレプリケーション所要時間に基づいて、重み(Wps)を更新する(ステップS214)。
ステップS212でNOの場合またはステップS214の処理後、再算出部27は、レプリケーション対象のデータのうちレプリケーションが終了していない部分のレプリケーション予測時間を算出する(ステップS215)。また、再算出部27は、ステップS215で算出した予測時間を現在時刻に加算して終了予測時刻を算出する。
再算出部27は、再算出した予測時間に基づいて、タイムスケジュールの終了予測時刻を更新する(ステップS216)。ステップS216の処理後、処理は「B」に移行し、終了する。
以上のように、再算出部27は、処理終了予測時刻に処理が終了していない場合、またはレプリケーション終了予測時刻にレプリケーションが終了していない場合、予測時間を再算出する。そして、再算出部27は、再算出した予測時間に基づいて、タイムスケジュールの終了予測時刻を更新するため、タイムスケジュールの精度が向上し、ストレージノード3の処理負荷の算出精度を向上させることができる。
また、更新部28は、レプリケーションまたは他の処理が終了した際に、処理予測時間やレプリケーション予測時間の算出に用いる重みを更新するため、次に処理予測時間やレプリケーション予測時間を算出する際の算出精度を向上することができる。
<実施形態の処理の適用例>
以下、実施形態の処理の適用例を説明する。図13は、適用例におけるタイムスケジュールを示す図である。図13に示すタイムスケジュールは、図6に示すタイムスケジュールと同じ情報に基づいているが、処理開始予測時刻から処理終了予測時刻までの間が矢印で示されている点で図6に示すタイムスケジュールと異なる。
また、適用例における処理要求管理情報は図4と同一であり、レプリケーション管理情報は、図5と同一であるとする。以下、ストレージノードIDがSN1であるストレージノード3をSN1と称する。また、ストレージノードIDがSN2であるストレージノード3をSN2と称する。また、ストレージノードIDがSN3であるストレージノード3をSN3と称する。
(1)登録処理要求(処理要求ID:MSG10)に関する処理
プロキシサーバ2は、8:10にクライアントサーバ1からデータの登録処理要求を受信したとする。第1管理部26は、該登録処理要求に処理要求IDとして、”MSG10”を付与し、オブジェクトIDとして”OBJ10”を付与し、処理要求管理情報に記録する。また、第1管理部26は、受信した登録対象データのデータサイズ(100MB)を記録する。
第1算出部22は、式(1)を用いて、登録処理において、プロキシサーバ2がストレージノード3にデータを書き込む予測時間Tpを各ストレージノードサーバ3に関して算出する。登録処理要求を受信した8:10の時点で、どのストレージノード3にも処理が割り当てられていないため、MgnおよびMpnは0である。また、全てのストレージノード3のp性能が50MB/分であり、Wpsが1であるとすると、全てのストレージノード3のTpは2分となる。
登録処理要求を受信した8:10の時点で、どのストレージノード3にも処理が割り当てられていないため、タイムスケジュールに、受信した処理要求と重複する処理が存在しない。従って、選択部23は、ストレージノードIDに最も小さい値を含むSN1にMSG10を割り当てる。なお、タイムスケジュールに、受信した処理要求と重複する処理が存在しない場合、選択部23は、どのストレージノード3を選択してもよい。
第1管理部26は、処理要求管理情報に、MSG10に対応するストレージノードIDに”SN1”を記録する。
要求された処理がデータの登録処理であるため、レプリケーションが行われる。本適用例では、SN1からSN2およびSN3に対してレプリケーションが行われる。すなわち、SN1は、受信した登録対象データをSN2およびSN3に転送する。
第2算出部24は、SN1がデータの登録を開始してからSN2にデータを転送するまでの開始予測時間RTsと、SN1がデータの登録を開始してからSN2にデータを転送するまでの開始予測時間RTsとを算出する。
SN2の開始予測時間RTsの算出について説明する。なお、開始予測時間RTsの単位を分とする。第2算出部24は、例えば、SN2の直前の処理の開始時点における、Mgn、Mpn、RTsを取得する。そして、SN2に関するベクトルEは、(1,1,2)であったとする。
第2算出部24は、過去のレプリケーション処理における、Mgn、Mpn、RTsの平均を算出する。そして、SN2に関するベクトルAは、(2,2,3)であったとする。また、図13のタイムスケジュールに示すように、算出時点(8:10)において、SN2には予定が入っていないため、MgnおよびMpnは共に0である。よって、P=(0,0,RTs)となる。
上記ベクトルEおよびベクトルAから、ベクトルUは、(1,1,1)となる。そして、上記ベクトルE、ベクトルP、ベクトルUの各値を直線方程式に当てはめると、−1/1=−1/1=Z3−2となり、Z3=RTs=1[分]となる。従って、算出した8:10の1分後の8:11がSN2のレプリケーション開始予測時刻となる。
第2算出部24は、SN3に関しても同様にレプリケーションの開始予測時間RTsを算出し、2分であったとする。従って、算出した8:10の2分後の8:12がSN3のレプリケーション開始予測時刻となる。
第3算出部25は、式(1)を用いて、SN2およびSN3のそれぞれのレプリケーションの所要時間を算出する。SN2のレプリケーションの所要時間は、2分であったとする。また、SN3のレプリケーションの所要時間は、2分であったとする。第3算出部25は、算出した所要時間をレプリケーション開始予測時刻に加算して、処理終了予測時刻を算出する。SN2のレプリケーション(RPP)の処理終了予測時刻は、8:13となり、SN3のレプリケーション(RPP)の処理終了予測時刻は、8:14となる。
(2)参照処理要求(処理要求ID:MSG20)に関する処理
プロキシサーバ2は、8:11にクライアントサーバ1からデータの参照処理要求を受信する。第1管理部26は、該参照処理要求に処理要求IDとして、”MSG20”を付与し、オブジェクトIDとして”OBJ20”を付与し、処理要求管理情報に記録する。また、第1管理部26は、受信した参照対象データのデータサイズ(40MB)を記録する。
第1算出部22は、式(1)を用いて、登録処理において、プロキシサーバ2がストレージノード3からデータを読み取る予測時間Tgを算出する。g性能が40MB/分であり、Wgsが1であるとすると、SN2およびSN3においてTgは1分となる。
図13のスケジュールに示すように、8:11から8:13まで、SN2においてレプリケーションの書き込み(RPP)が行われている。一方、8:11から8:12まで、SN3において処理が行われていない。そして、SN2のST(n)は、1となり、SN3のST(n)は0となる。従って、選択部23は、参照処理要求(MSG20)の処理対象に、ST(n)が最小であるSN3を選択する。
(3)参照処理要求(処理要求ID:MSG30)に関する処理
プロキシサーバ2は、8:12にクライアントサーバ1からデータの参照処理要求を受信する。第1管理部26は、該参照処理要求に処理要求IDとして、”MSG30”を付与し、オブジェクトIDとして”OBJ30”を付与し、処理要求管理情報に記録する。また、第1管理部26は、受信した参照対象データのデータサイズ(80MB)を記録する。
第1算出部22は、式(1)を用いて、登録処理において、プロキシサーバ2がストレージノード3からデータを読み取る予測時間Tgを算出する。g性能が40MB/分であり、Wgsが1であるとすると、SN2およびSN3においてTgは2分となる。
図13のスケジュールに示すように、8:11から8:13まで、SN2においてレプリケーションの書き込み(RPP)が行われている。一方、8:12から8:14まで、SN3においてレプリケーションの書き込み(RPP)が行われている。そして、SN2のST(n)は、1となり、SN3のST(n)は2となる。従って、選択部23は、参照処理要求(MSG30)の処理対象に、ST(n)が最小であるSN2を選択する。
(4)要求された処理終了後の処理
更新部28は、処理終了時に、処理予測時間と実際の処理時間に基づいて、重み(WgsまたはWps)を更新する。
例えば、(2)の処理において、処理予測時間は1分であるが、実際の所要時間は、0.75であったとする。更新部28は、上記式(2−1)を用いてWgsを算出し、算出結果は0.66となる。
また、(3)の処理において、処理予測時間は2分であるが、実際の所要時間は、1.7であったとする。更新部28は、上記式(2−1)を用いてWgsを算出し、算出結果は0.65となる。
第1管理部26は、処理要求管理情報に終了時刻を記録する。第1管理部26は、レプリケーション終了予測時刻にレプリケーションが終了していた場合、各ストレージノード3からレプリケーション管理情報を取得し、レプリケーション管理情報に開始時刻および終了時刻を記録する。
再算出部27は、処理終了予測時刻を既に経過しており、かつ、処理が終了していない場合、処理対象のデータのうち処理が終了していない部分の処理予測時間を算出し、算出した予測時間に基づいて、タイムスケジュールを更新する。本適用例では、処理終了予測時刻において各処理が終了しているため、再算出部27は、再算出を実施しない。
<プロキシサーバ2のハードウェア構成の一例>
次に、図14の例を参照して、プロキシサーバ2のハードウェア構成の一例を説明する。図14の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と通信インタフェース116とが接続される。
プロセッサ111は、RAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う処理分散プログラムが適用されてもよい。
ROM113は、RAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。補助記憶装置114に実施形態の処理を行う処理分散プログラムが記録されていてもよい。
媒体接続部115は、可搬型記録媒体117と接続可能に設けられている。可搬型記録媒体117としては、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等が適用されてもよい。可搬型記録媒体117に実施形態の処理を行う処理分散プログラムが記録されていてもよい。
図2に示す第1記憶部30は、RAM112や補助記憶装置114等により実現されてもよい。図2に示す第1通信部21は、通信インタフェース116により実現されてもよい。図2に示す第1算出部22、選択部23、第2算出部24、第3算出部25、第1管理部26、再算出部27、更新部28、および第1制御部29は、与えられた処理分散プログラムをプロセッサ111が実行することにより実現されてもよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体117は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 クライアントサーバ
2 プロキシサーバ
3 ストレージノード
21 第1通信部
22 第1算出部
23 選択部
24 第2算出部
25 第3算出部
26 第1管理部
27 再算出部
28 更新部
29 第1制御部
30 第1記憶部
31 第2通信部
32 第2制御部
33 第2管理部
34 第2記憶部
100 バス
111 プロセッサ
112 RAM
113 ROM
114 補助記憶装置
115 媒体接続部
116 通信インタフェース
117 可搬型記録媒体

Claims (11)

  1. 情報処理装置に、
    複数の装置に対する処理の要求を受信した場合、前記処理の過去の実行履歴における処理時間に基づいて、前記処理にかかる時間の予測値である処理予測時間を算出し、
    前記複数の装置毎のレプリケーションを含む予定が記録されたタイムスケジュールを参照し、算出した前記処理予測時間と記録されている予定とが重複する時間の総和に基づいて、要求された前記処理を実行する対象装置を前記複数の装置から選択する、
    処理を実行させることを特徴とする処理分散プログラム。
  2. 前記情報処理装置に、
    前記処理がデータの登録である場合、過去の実行履歴に基づいて、前記対象装置が前記データの登録を開始してからレプリケーション先の前記装置に前記データを転送するまでの時間の予測値である開始予測時間を算出し、
    前記処理がデータの登録である場合、過去の実行履歴におけるレプリケーション時間に基づいて、レプリケーション時間の予測値であるレプリケーション予測時間を算出し、
    前記処理予測時間、前記開始予測時間、および前記レプリケーション予測時間に基づいて、前記タイムスケジュールを更新する
    処理を実行させることを特徴とする請求項1記載の処理分散プログラム。
  3. 前記情報処理装置に、
    前記処理予測時間に基づいて算出された処理終了予測時刻に、前記処理が終了していない場合、前記処理の対象のデータのうち前記処理が終了していない部分の処理予測時間を算出し、算出した該処理予測時間に基づいて、前記タイムスケジュールを更新する
    処理を実行させることを特徴とする請求項1または2記載の処理分散プログラム。
  4. 前記情報処理装置に、
    前記レプリケーション予測時間に基づいて算出されたレプリケーション終了予測時刻に、前記レプリケーションが終了していない場合、登録対象の前記データのうち前記レプリケーションが終了していない部分のレプリケーション予測時間を算出し、算出した該レプリケーション予測時間に基づいて、前記タイムスケジュールを更新する
    処理を実行させることを特徴とする請求項2に記載の処理分散プログラム。
  5. 前記情報処理装置に、
    前記処理が終了した際に、前記処理予測時間と、前記処理の実際の所要時間とに基づいて、前記処理予測時間の算出に用いる重みを更新する、
    処理を実行させることを特徴とする請求項1乃至4のうち何れか1項に記載の処理分散プログラム。
  6. 前記情報処理装置に、
    前記レプリケーションが終了した際に、前記レプリケーション予測時間と、前記レプリケーションの実際の所要時間とに基づいて、前記レプリケーション予測時間の算出に用いる重みを更新する、
    処理を実行させることを特徴とする請求項2に記載の処理分散プログラム。
  7. 前記情報処理装置に、
    前記処理がデータの登録である場合、
    過去の時間あたりのデータ書き込み量の平均値に基づいて、前記処理予測時間を算出する、
    処理を実行させることを特徴とする請求項1乃至6のうち何れか1項に記載の処理分散プログラム。
  8. 過去の時間あたりのデータ書き込み量の平均値に基づいて、前記レプリケーション予測時間を算出する、
    処理を実行させることを特徴とする請求項2に記載の処理分散プログラム。
  9. 前記情報処理装置に、
    前記処理がデータの参照である場合、
    過去の時間あたりのデータ読み取り量の平均値に基づいて、前記処理予測時間を算出する、
    処理を実行させることを特徴とする請求項1乃至8のうち何れか1項に記載の処理分散プログラム。
  10. 情報処理装置が、
    複数の装置に対する処理の要求を受信した場合、前記処理の過去の実行履歴における処理時間に基づいて、前記処理にかかる時間の予測値である処理予測時間を算出し、
    前記複数の装置毎のレプリケーションを含む予定が記録されたタイムスケジュールを参照し、算出した前記処理予測時間と記録されている予定とが重複する時間の総和に基づいて、要求された前記処理を実行する対象装置を前記複数の装置から選択する、
    処理を実行することを特徴とする処理分散方法。
  11. 複数の装置に対する処理の要求を受信した場合、前記処理の過去の実行履歴における処理時間に基づいて、前記処理にかかる時間の予測値である処理予測時間を算出する算出部と、
    前記複数の装置毎のレプリケーションを含む予定が記録されたタイムスケジュールを参照し、算出した前記処理予測時間と記録されている予定とが重複する時間の総和に基づいて、要求された前記処理を実行する対象装置を前記複数の装置から選択する選択部と、
    を備えることを特徴とする情報処理装置。
JP2017160179A 2017-08-23 2017-08-23 処理分散プログラム、処理分散方法、および情報処理装置 Active JP6939246B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017160179A JP6939246B2 (ja) 2017-08-23 2017-08-23 処理分散プログラム、処理分散方法、および情報処理装置
US16/056,598 US10789101B2 (en) 2017-08-23 2018-08-07 Information processing apparatus, processing distribution method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017160179A JP6939246B2 (ja) 2017-08-23 2017-08-23 処理分散プログラム、処理分散方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2019040292A JP2019040292A (ja) 2019-03-14
JP6939246B2 true JP6939246B2 (ja) 2021-09-22

Family

ID=65434517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017160179A Active JP6939246B2 (ja) 2017-08-23 2017-08-23 処理分散プログラム、処理分散方法、および情報処理装置

Country Status (2)

Country Link
US (1) US10789101B2 (ja)
JP (1) JP6939246B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089099B2 (en) * 2015-09-26 2021-08-10 Intel Corporation Technologies for managing data object requests in a storage node cluster
SG11202111170PA (en) * 2019-04-12 2021-11-29 Grabtaxi Holdings Pte Ltd Distributed in-memory spatial data store for k-nearest neighbour search
WO2021155498A1 (zh) * 2020-02-04 2021-08-12 华为技术有限公司 一种数据读取方法以及终端
CN111858628B (zh) 2020-06-30 2024-08-27 北京百度网讯科技有限公司 基于数据库的管理方法、平台、电子设备及存储介质
US11593014B2 (en) * 2020-08-14 2023-02-28 EMC IP Holding Company LLC System and method for approximating replication completion time

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909614B2 (en) * 2010-03-29 2014-12-09 Nec Corporation Data access location selecting system, method, and program
WO2012120667A1 (ja) * 2011-03-09 2012-09-13 株式会社日立製作所 計算機システム、データ複製スケジューリング方法及び計算機読み取り可能な非一時的記憶媒体
JP6028850B2 (ja) * 2013-03-13 2016-11-24 日本電気株式会社 データ多重化システム
JP2014186364A (ja) 2013-03-21 2014-10-02 Kddi Corp 分散システム
GB2533116A (en) * 2014-12-10 2016-06-15 Ibm Query dispatching system and method
JP6432392B2 (ja) 2015-03-02 2018-12-05 日本電気株式会社 ストレージシステム、ストレージ、管理サーバおよびファイル管理方法
US9923768B2 (en) * 2015-04-14 2018-03-20 International Business Machines Corporation Replicating configuration between multiple geographically distributed servers using the rest layer, requiring minimal changes to existing service architecture
JP2017049685A (ja) * 2015-08-31 2017-03-09 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US11089099B2 (en) * 2015-09-26 2021-08-10 Intel Corporation Technologies for managing data object requests in a storage node cluster
US10324753B2 (en) * 2016-10-07 2019-06-18 Ca, Inc. Intelligent replication factor tuning based on predicted scheduling
US11349915B2 (en) * 2018-02-02 2022-05-31 EMC IP Holding Company LLC Distributed replication and deduplication of an object from a source site to a destination site

Also Published As

Publication number Publication date
JP2019040292A (ja) 2019-03-14
US20190065262A1 (en) 2019-02-28
US10789101B2 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
JP6939246B2 (ja) 処理分散プログラム、処理分散方法、および情報処理装置
JP4930031B2 (ja) 制御装置及び制御システム
JP2007538341A (ja) アプリケーションサーバー及びトランザクションベースシステムにおいて要求をクラスター化トンネリングするシステム及び方法
CN112286672B (zh) 用于调度任务的方法、计算设备和计算机存储介质
KR20150001146A (ko) 스토리지 시스템 및 그의 동작 방법
JP2005070987A (ja) ファイル共有システムで用いられるノード、ファイル共有システムで用いられるファイル保存方法及びファイル保存プログラム。
CN117389472A (zh) 交易数据的冷热数据迁移方法及系统
JP6816511B2 (ja) セッション管理プログラム、セッション管理方法、情報処理装置、及び情報処理システム
JP6755680B2 (ja) データ移行システム、及び、データ移行システムの制御方法
JP5061671B2 (ja) 演算プログラム、分散処理プログラム、分散処理システムおよび演算処理方法
JP4237658B2 (ja) 合成サービス提供方法、合成サービス提供システム、実行装置およびプログラム
JP2008124977A (ja) メッセージ配送方法、装置及びプログラム
JP5863180B2 (ja) 映像解析処理装置、映像解析処理方法、および映像解析処理用プログラム
JP2008250864A (ja) データ保存方法、データ保存システム及び情報処理装置
US11082484B2 (en) Load balancing system
JP7111159B2 (ja) 情報共有装置、情報共有方法および情報共有プログラム
US10057350B2 (en) Methods for transferring data based on actual size of a data operation and devices thereof
JP5488029B2 (ja) 分散処理システム、分散処理方法、及びプログラム
WO2024075307A1 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
JP7043911B2 (ja) 管理装置、管理システム、管理方法及び管理プログラム
JP6793143B2 (ja) デバイス割り当て制御方法、システムおよびプログラム
JP2023034553A (ja) サービス管理装置、サービス管理方法、及びサービス管理プログラム
JP5544903B2 (ja) サーバ装置およびその制御プログラム
JP5458630B2 (ja) データ処理システム及びデータ処理方法
KR101588122B1 (ko) 소셜 네트워크 서비스에서 생태계 기반의 정보 확산 예측 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210707

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210707

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210707

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: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210816

R150 Certificate of patent or registration of utility model

Ref document number: 6939246

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150