JP7537528B2 - リソース割当装置、リソース割当方法、および、リソース割当プログラム - Google Patents
リソース割当装置、リソース割当方法、および、リソース割当プログラム Download PDFInfo
- Publication number
- JP7537528B2 JP7537528B2 JP2022581105A JP2022581105A JP7537528B2 JP 7537528 B2 JP7537528 B2 JP 7537528B2 JP 2022581105 A JP2022581105 A JP 2022581105A JP 2022581105 A JP2022581105 A JP 2022581105A JP 7537528 B2 JP7537528 B2 JP 7537528B2
- Authority
- JP
- Japan
- Prior art keywords
- allocation
- group
- state management
- calculation unit
- management unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5044—Allocation 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 hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Description
以下、DCに割り当てる対象として、ステート管理部を例示する。なお、「ステート」とは、複数のユーザ間でリアルタイムにやりとりするサービスに用いられるデータである。「ステート管理部」とは、各ユーザから受信したアクセス内容をもとに、自身の管理するステートを更新し、その更新後のステートを各ユーザにデータ共有する処理部である。
オンラインシステム9z1では、サービス提供装置1zは、ステートを複数のユーザ端末4z間でリアルタイムにデータ共有させるサービスを提供する。ステート管理部5zが管理するステートは、例えば以下が挙げられる。
・オンラインゲーム:アバタの位置・加速度・動作・装備、ダメージ判定や戦闘不能のステータスなど。
・XR(Extended_Reality):アバタ(ユーザ)の動作や五感情報、仮想世界において発生する事象など。
・オンライン会議:ユーザや画面共有の音声・映像データプレゼンタ権限やミュートの設定など。
このオンラインシステム9z1では、サービス提供装置1zと各ユーザ端末4zとの間の通信距離が長いため、大きな通信遅延がサービスの品質を低下させる要因となる。
オンラインシステム9z2では、ステート管理部5zを動作させる装置を、サービス提供装置1zから、ユーザ端末4zに近いDC3zにオフロードさせている。このオフロードにより、下記のような効果が得られる。
・ユーザ:計算コスト・遅延の低減。
・通信事業者:トラフィック量・輻輳の軽減。
・サービス提供者:サーバ負荷・メンテナンスコストの削減。
・複数のDCと多数のユーザとが、NW内に散在している。
・ユーザ同士で比較的少人数(例:2人~10人)のグループを形成済みである。
・複数のグループに所属するユーザは存在しない。
・全グループのステート管理部を、それぞれ適切なDCに各々収容したい。
・形成されたすべてのグループとそのメンバ。
・全ユーザと全DC間の遅延時間(例:ping一回の測定値や複数回の平均値など)。
・各DCに収容可能なユーザ数と、ユーザが満たすべき遅延要件(許容可能な遅延の最大値など)。
分散クラウド環境8zでは、波線で示すNW内に2つのDC(DC1,DC2)が存在し、そのDCには5人のユーザ(UA1,UA2,UA3,UB1,UB2)が収容されている。図9の例では、各ユーザは最寄りのDCに収容される。よって、DC1には、ユーザ(UA1,UA2,UB1)が収容される。DC2には、ユーザ(UA3,UB2)が収容される。
例えば、第1グループで遊ばれるサバイバルゲームでは、100人など参加人数が多いことを重視し、対戦相手の情報は対戦格闘ゲームほど厳密には求められない。
一方、第2グループで遊ばれる対戦格闘ゲームでは、1対1などの少人数であるがメンバが見る画面情報やメンバの入力した操作情報がすばやく(フレーム単位で)相手側に反映される必要がある。
本発明は、複数のユーザ端末から構成されるグループごとのステートをグループ内で共有させるためのステート管理部を、分散クラウド環境に配備された複数のデータセンタのうちのいずれかに割り当てる旨のリクエストを受信するリクエスト受信部と、
前記グループが要求する要件に応じた割当指標を用いて、前記ステート管理部を前記各データセンタに割り当てるときの割当コストを計算し、その割当コストに従って前記ステート管理部の割当先の前記データセンタを決定する割当計算部とを有することを特徴とする。
オンラインシステム9は、サービス提供装置1と、リソース割当装置2と、分散クラウド環境8とがネットワークで接続されて構成される。分散クラウド環境8では、ステートを複数のユーザ端末4間でリアルタイムにデータ共有させるサービスが提供される。
そのため、ステート管理部5はグループごとのステートを管理する。各ステート管理部5はいずれかのDC3に配置される。
(手順1A)ユーザ端末4はサービス提供装置1にアクセスする。
(手順2A)ユーザ端末4はサービス提供装置1上で、ステートを共有する相手である任意の(複数の)ユーザ端末4とマッチングし、グループを形成する。例えばオンラインゲームにおいては、「チームメイトや対戦相手」がステートを共有する相手になる。または、オンライン会議システムの場合は「同じ会議の参加者」がステートを共有する相手になる。
(手順3A)サービス提供装置1は、(手順2A)で形成されたグループのオフロード先として適切なDC3を選択し、そのDC3にグループごとのステート管理部5を配置することでサービスを開始する。
(手順4A)ステート管理部5には、サービスを提供するサーバ機能(オンラインゲームにおける対戦機能など)があらかじめVMやコンテナで実装されている。ステート管理部5は、グループ内で仮想空間などのステートを更新することで、サービスを提供する。
(手順5A)対戦終了後にグループが解散された場合は、解散されたグループメンバのユーザ端末4をサービス提供装置1に返却し、(手順2A)に戻る。
(手順2B)DC3上のステート管理部5が各ユーザ端末4からの(手順1B)のコマンドを集約・同期する。例えば、各ユーザ端末4から届いたコマンドにしたがって、各ユーザのアバタに移動やアクションを実行させる。すなわち、先ほどよりも僅かに時間が経過した後の仮想世界をステートとして生成する。
(手順3B)DC3上のステート管理部5は(手順2B)の情報を用いて仮想世界をレンダリング(画像化)するなどし、全ユーザ端末4に対してステートを送信する。例えば、ステート管理部5は全ユーザ端末4のコマンドを反映させたゲーム画面(の1コマ)を配信する。
(手順4B)ステートを受信した各ユーザ端末4は再びコマンドを送信する。例えば、敵が攻撃してくるのが見えたので回避コマンドを入力する。そして(手順1B)に戻る。
例えば、気象予測モジュール用のユーザ端末4と、土壌分析モジュール用のユーザ端末4と、農作物分析モジュール用のユーザ端末4とを個別に用意する。そして、これら3つのモジュールをグループ化し、そのグループに属するモジュール群の出力結果を受け取り、それらを処理したり田畑を管理したりする処理部(前記のステート管理部5に対応する処理部)をDC3に配置する。
NWデータ収集部22は、各ユーザ端末4と各DC3との間の遅延情報と、各DC3の空き容量(割当可能なユーザの数)情報とを含むNWデータを分散クラウド環境8から測定および収集する。
または、割当計算部23は、グループ内のメンバからスキームの指定を受けてもよい。
制御部24は、割当計算部23からのDC配置に従って、各ステート管理部5を各DC3にリソース割り当てを行う。
リソース割当装置2は、CPU901と、RAM902と、ROM903と、HDD904と、通信I/F905と、入出力I/F906と、メディアI/F907とを有するコンピュータ900として構成される。
通信I/F905は、外部の通信装置915と接続される。入出力I/F906は、入出力装置916と接続される。メディアI/F907は、記録媒体917からデータを読み書きする。さらに、CPU901は、RAM902に読み込んだプログラム(リクエスト受信部21、NWデータ収集部22、割当計算部23、制御部24に備わるリソース割当プログラムなど)を実行することにより、各処理部を制御する。そして、このプログラムは、通信回線を介して配布したり、CD-ROM等の記録媒体917に記録して配布したりすることも可能である。
なお、図9の分散クラウド環境8zではグループの概念を考慮せず、ユーザ単位でDCの選択を行っていたために、DC間のステート共有が必要であった。そのため、ステート共有による余分なオーバーヘッドの影響で、ユーザ間の通信遅延も増大してしまっていた。
一方、図3の分散クラウド環境8では、割当計算部23はグループ単位でのDC配置を行う。これにより、1グループあたり1つのステート管理部5が1台のDC3に割り当てられる。例えば、第1グループ(UA1,UA2,UA3)用のステート管理部(STA)がDC1に割り当てられる一方、第2グループ(UB1,UB2)用のステート管理部(STB)がDC2に割り当てられる。よって、ステート共有時のオーバーヘッドを抑制し、厳しいリアルタイム要件に対応できる。
つまり、割当計算部23は、グループごとの要件に応じたスキームの割当指標を用いて、ステート管理部5を各データセンタに割り当てるときの割当コストを計算し、その割当コストに従ってステート管理部5の割当先のデータセンタを決定する。以下、アプリケーション種別とスキームとの組み合わせとして事例を例示する。
・1対1の対戦格闘ゲーム。
・図1の説明で前記した田畑を管理するシステム。
完全同期型のスキーム(割当指標)は、「グループ内の最大遅延」を最小化するものである。グループ全体のQoS(Quality of Service)やQoE(Quality of Experience)が最も遅延の大きなユーザに依存するためである。
準同期型のスキーム(割当指標)は、「グループ内の平均遅延」を最小化するものである。例えば100人のグループのうちの3人程度のメンバだけ大きな遅延が発生したとしても、その不便を感じるのは3人だけで、残りの97人は小さい平均遅延で快適な環境が提供されれば充分である。
・10人程度が同時に同じサーキットを走行するレースゲーム。
・XR空間やバーチャル会議室では、ユーザの動作が視界に反映されるまでの時間(motion-to-photonlatency)が20[ms]以下になることが望ましい。
・現実の街を模した仮想空間内で会話をするアプリケーションでも、レスポンスを低下させないために一つの空間に滞在可能なユーザ数が制限されている。
公平環境型のスキーム(割当指標)は、「グループ内の遅延のばらつき(分散または標準偏差)」を最小化するものである。
一般に遅延が大きいほどQoS・QoEが低下し、仮想世界における優位性(例:ゲームのスコア)にも影響する。よって、公平環境型のアプリケーションに限らず、他の事例のアプリケーションでも、グループ内の遅延のばらつきを小さくすることが望ましい。
記号「i∈I」は、ユーザiとその集合Iを示す。
記号「j∈J」は、グループj(j=1,2,...,n)とその集合Jを示す。
記号「k∈K」は、DCk(k番目のDC、k=1,2,...,m)とその集合Kを示す。
記号「Ij⊂I」は、グループjに属するユーザの集合Ijを示す。
記号「wij」は、二値変数であり、ユーザiがグループjに属しているなら「1」、そうでなければ「0」の値をとる。
記号「dik」は、ユーザi-DCk間の遅延時間を示す。
記号「Di」は、ユーザiの遅延要件を示す。
記号「Ck」は、DCkが収容可能なユーザ数を示す。
これらの各パラメータは、リクエスト受信部21のリクエストや、NWデータ収集部22の収集データとして、割当計算部23に与えられる。
(式1)の左辺「ajk」は、グループjをDCkに収容した場合のユーザi∈Ijの平均遅延を示す。
(式2)の左辺「v2 jk」は、グループjをDCkに収容した場合のユーザi∈Ijの遅延分散を示す。
記号「cjk」は、グループjをDCkに収容した場合の割当コストである。
記号「xjk」は、割当計算部23の計算結果である。「xjk」は決定変数であり、グループjをDCkに収容したら「1」の値、そうでなければ「0」の値をとる。
割当計算部23が割当コストcjkを求める具体的な計算式として(式4)または(式5)を説明する。なお、遅延のばらつきを示す数値として、(式4)では分散を採用し、(式5)では標準偏差を採用した。分散の代わりに標準偏差を用いることで、2乗を含む項がなくなるので、各項のスケールをある程度合わせることができる。
(式4)の右辺第1項の「1-α-β」は、その数値が大きいほど「グループ内の平均遅延」を重視するハイパーパラメータである。
(式4)の右辺第2項の「α」は、その数値が大きいほど「グループ内の遅延のばらつき」を重視するハイパーパラメータである。
(式4)の右辺第3項の「β」は、その数値が大きいほど「グループ内の最大遅延」を重視するハイパーパラメータである。なお、右辺第3項のβよりも後の計算式はグループ内の最大遅延の計算式である。
・α=0かつβ=0とした場合は、平均遅延のみを最適化する(事例2:準同期型に適した設定)。
・α≠0かつβ=0(α+β<1)とした場合は(例:α=0.5,β=0)、平均遅延と分散(標準偏差)とを最適化する。
・α=1かつβ=0(α+β=1)とした場合は、分散(標準偏差)のみを最適化する(事例3:公平環境型に適した設定)。
・α=0かつβ≠0(α+β<1)とした場合は、平均遅延と最大遅延とを最適化する。
・α=0かつβ=1(α+β=1)とした場合は、最大遅延のみを最適化する(事例1:完全同期型に適した設定)。
・α≠0かつβ≠0(α+β=1)とした場合は、分散(標準偏差)と最大遅延とを最適化する。
・α≠0かつβ≠0(α+β<1)とした場合は、平均遅延・分散(標準偏差)・最大遅延のすべてを最適化する。
(式6)および(式7)では、3種類のハイパーパラメータ(α,β,γ)を用いている。これにより、パラメータ設定の自由度が高いが,その分扱い(最適なパラメータ設定)が難しくなる。
右辺第2項の「β」は、その数値が大きいほど「グループ内の遅延のばらつき」を重視するハイパーパラメータである。
右辺第3項の「γ」は、その数値が大きいほど「グループ内の最大遅延」を重視するハイパーパラメータである。
一方、(式4)や(式5)では、パラメータが一つ少なく設定範囲も狭い。しかし、割合で重みが設定できることもあり、3種類のハイパーパラメータ(α,β,γ)を用いるよりも、扱いが容易になる可能性が高い。
・1グループに割当てられるDCは1個以下である。
・収容されるユーザ数が各DCの容量を超えない。
・各ユーザの実際の遅延が遅延要件を満たす。
割当計算部23は、リクエスト受信部21からのリクエストと、NWデータ収集部22からのNWデータとをもとに、図6で後記するコストテーブルを作成する(S101)。割当計算部23は、S101のコストテーブルの各グループについて、コストの最小値を算出する(S102)。
割当計算部23は、コストテーブルの各グループについてコストの最小値について昇順ソートする(S103)。
ここで、割当計算部23は、グループjをコストテーブルのグループ数まで1つずつ順番に選択するループを実行し(S105~S107)、このループ内でグループjにDC割当を行うサブルーチン(図5)を呼び出す(S106)。
なお、S106の処理において、あるユーザの遅延要件を満たせるような割当先DCが存在しないとき、もしくはDCのキャパシティが十分でない場合は、割当できないグループが発生する可能性がある。
割当計算部23は、コストテーブルの第jグループ行を読み込み(S111)、その中でコストが最小となるDCに割当を試みる(S112)。
割当計算部23は、ユーザの遅延要件を満たし(S113,Yes)、かつ、DCの容量が充分にある(S114,Yes)場合に、グループjをそのDCに割り当てる(S115)。
一方、(S113,No)、または、(S114,No)の場合は、割当計算部23は、そのDCを第jグループのコストテーブルから削除する(S116)。
説明をわかりやすくするため、図6では以下の問題設定とする。
・6個のグループ(G1-G6)を3個のDC(DC1-DC3)に割り当てたい。
・各DCは2グループまで割当可能である。なお、本来のCkの単位はユーザ数であるが、ここでは簡単のためグループ数で指定した。
・簡単のため、ユーザの遅延要件は考えない(つまりD=∞)。
・平均遅延のみを考慮するため、α=β=0とする。もちろん他のパラメータ設定を用いてもよい。
DC割当テーブル211~217は、コストテーブル202をもとにした割当計算部23の計算結果「xjk」をテーブル形式にしたものである。例えば、DC割当テーブル214では、DC1に「G4,G2」という2グループが割り当てられ、DC2にはグループが未割当であり(記号「-」)、DC3に「G5」という1グループが割り当てられている。
(第1行のG4)割当計算部23は、G4をコスト最小(=6.0)となるDC1に割り当てる(DC割当テーブル211→DC割当テーブル212)。
(第2行のG2)割当計算部23は、G2をコスト最小となるDC1に割り当てる(DC割当テーブル212→DC割当テーブル213)。
(第3行のG5)割当計算部23は、G5をコスト最小となるDC3に割り当てる(DC割当テーブル213→DC割当テーブル214)。
(第4行のG6)割当計算部23は、G6をコスト最小となるDC1に割り当てようとするも、DC1は容量不足である。よって、割当計算部23は、G6をコストが2番目に小さいDC3に割り当てる(DC割当テーブル214→DC割当テーブル215)。
(第5行のG3)割当計算部23は、G3をコスト最小となるDC2に割り当てる(DC割当テーブル215→DC割当テーブル216)。
(第6行のG1)割当計算部23は、G1をコスト最小となるDC2に割り当てる(DC割当テーブル216→DC割当テーブル217)。
以下では、貪欲法のアルゴリズムを詳細に説明する疑似コードを例示する。この疑似コードは、代入「A←1」(変数Aに値1を代入)、繰り返し制御「for~end for、while~end while」、分岐制御「if~end if」などを行う手続型言語である。また、疑似コードの行頭には、説明用の行番号(L01,L02,…)を付加した。
各関数(function)は、「Input:~」で与えられた入力変数をもとに、所定の計算を行い、その計算結果を「Output:~」で示す出力変数として応答(return)する。
Input: α,β,wij,dik,Di, and Ck for ∀i∈I,∀j∈J, and ∀k∈K
Output: xjk for ∀j∈J and ∀k∈K
L01: function Greedy_Allocation(α,β,wij,dik,Di,Ck)
L02: for all i∈I,j∈J,k∈K do
L03: w[i][j]←wij,d[i][k]←dik
L04: D[i]←Di,C[k]←Ck
L05: Calculate cjkusing (式4)~(式7)
L06: c[j][k]←cjk
L07: end for
L08: for all j∈J do
L09: J[j]←j,L[j]←minkc[j][k]
L10: end for
L11: Sort J in ascending order of L
L12: X←GroupDC_Mapping(J,c,w,d,D,C)
L13: return X
L14: end function
図4のフローチャートでは、S100がL01に、S101がL05に、S102がL09に、S103がL11に、S106がL12に、それぞれ対応する。
L16: function GroupDC_Mapping(J,c,w,d,D,C)
L17: for j'=1 to size(J) do
L18: j←J[j']
L19: Discover Ijfrom I using w
L20: X[j]←DC_Selection(c[j],Ij,d,D,C)
L21: if X[j]=∞ then
L22: D[i]←∞ for ∀i∈Ij
L23: X[j]←DC_Selection(c[j],Ij,d,D,C)
L24: end if
L25: end for
L26: return X
L27: end function
なお、L20,L23のX[j]←kは、割り当て有なら値1(xjk’=1 if k’=k)、または、割り当て無なら値0(xjk’=0 otherwise)と等価である。
図4のフローチャートでは、S104、S105、および、S107がL17~L25のfor文に、S112がL20およびL23に、それぞれ対応する。
L29: function DC_Selection(c[j],Ij,d,D,C)
L30: tmp←c[j]
L31: while True do
L32: k←arg mink'tmp[k']
L33: if tmp[k]=∞ then
L34: return ∞
L35: end if
L36: if d[i][k]≦D[i] for ∀i∈I and |Ij|≦C[k] then
L37: C[k]←C[k]-|Ij|
L38: return k
L39: else
L40: tmp[k]←∞
L41: end if
L42: end while
L43: end function
図5のフローチャートでは、S113およびS114がL36に、S115がL37に、S116がL40に、それぞれ対応する。なお、L40の「tmp[k]←∞」とは、グループコストを無限大にすることで、そのグループを割り当て対象から削除することと等価である。
Input: N,α,β,wij,dik,Di, and Ck
Output: xjk
M01: X←Greedy_Allocation(α,β,wij,dik,Di,Ck)
M02: Calculate the total cost tx of X like (式3)
M03: n←0
M04: while n++<N do
M05: Randomize the order of J
M06: X'←GroupDC_Mapping(J,c,w,d,D,C)
M07: Calculate the total cost t'xof X'
M08: if t'x<txthen
M09: X←X',tx←t'x
M10: end if
M11: end while
この疑似コード(M01~M11)により、GroupDC_Mapping関数をN回繰り返す旨の探索回数の追加により、計算コストは増えるものの、貪欲法よりも割当コストがさらに小さくなる可能性がある。なお、探索回数Nはサービス提供者や分散環境運用者が任意に設定する。
(分類1)オフライン割当は、割り当てるべきすべてのグループがあらかじめリクエスト受信部21に与えられる場合である。
(分類2)バッチ割当は、割り当てるべきグループの一部(複数のグループ)が逐次リクエスト受信部21に与えられ、その都度(比較的小規模な)オフライン割当を実行する場合である。例えば大規模システムでは、例えば10秒の間にいくつものグループが作成されるため、この場合は10秒ごとにバッチ割当をおこなうニーズが出てくる。
(分類3)オンライン割当は、割り当てるべきグループが一つずつリクエスト受信部21に与えられ、その都度割当を実行する場合である。例えば、バッチ処理を実行するほど頻繁にグループが形成されない場合や、グループ形成から割当完了までの時間を可能な限り小さくしたい場合などが挙げられる。
Input: α,β,wij,dik,Di, and Ck for ∀i∈I,∀j∈J, and ∀k∈K
Output: xjk for ∀j∈J and ∀k∈K
N01: while True do
N02: if receive an offload request for group j then
N03: Calculate cjkfor ∀k∈K
N04: c[k]←cjk
N05: X[j]←DC_Selection(c[j],Ij,d,D,C)
N06: if X[j]=∞ then
N07: D[i]←∞ for ∀i∈Ij
N08: X[j]←DC_Selection(c[j],Ij,d,D,C)
N09: end if
N10: return X[j]
N11: end if
N12: end while
そして、割当計算部23は、グループjについてDC_Selection関数を実行する(N05,N08)。このとき、割当計算部23は、各DCの容量Ck=C[k]を常にモニタしておき、グループjがDCを離れたときはその分容量を増やす。
(分類1)オフライン割当として、グループ数=10がいっぺんに与えられる場合は、以下の通りである。
(分類1)で貪欲法だけを実行する場合は、Greedy_Allocation関数を1回、GroupDC_Mapping関数を1回、DC_Selection関数を10回以上実行する。なお、DC_Selection関数を呼び出す回数が10回を超える場合は、ユーザの遅延要件を満たせるDCがなかった場合(L20行目の返り値が∞となった場合)に、L23行目に移って再びDC_Selection関数が呼び出される場合である。
(分類1)で貪欲法と局所探索とを併せて実行する場合は、Greedy_Allocation関数を1回実行した後、GroupDC_Mapping関数およびDC_Selection関数をワンセットとしてN回繰り返す(Greedy_Allocation関数を1回、GroupDC_Mapping関数を1+N回、DC_Selection関数を10×(1+N)回以上)。Nはオペレータ等が任意に設定可能なパラメータである。
(分類2)で貪欲法だけを実行する場合は、以下のようになる。
・Greedy_Allocation関数を1回(グループ数5のとき)+1回(グループ数3のとき)+1回(グループ数2のとき)で計3回実行する。
・GroupDC_Mapping関数を1回(グループ数5のとき)+1回(グループ数3のとき)+1回(グループ数2のとき)で計3回実行する。
・DC_Selection関数を5回以上(グループ数5のとき)+3回以上(グループ数3のとき)+2回以上(グループ数2のとき)で計10回以上実行する。
・Greedy_Allocation関数を各1回ずつ計3回実行する。
・GroupDC_Mapping関数を各(1+N)ずつ×3回実行する。
・DC_Selection関数を5×(1+N)回以上+3×(1+N)回以上+2×(1+N)回以上で計10×(1+N)回以上実行する。
(分類3)で貪欲法だけを実行する場合は、DC_Selection関数を1回or2回ずつ10回呼び出されるため計10回以上実行する。
(分類3)で貪欲法と局所探索とを併せて実行することは不可である。1つのグループしかない場合は、割当順序が関係ないため、局所探索をおこなう余地がないためである。
本発明のリソース割当装置2は、複数のユーザ端末4から構成されるグループごとのステートをグループ内で共有させるためのステート管理部5を、分散クラウド環境8に配備された複数のDC3のうちのいずれかに割り当てる旨のリクエストを受信するリクエスト受信部21と、
グループが要求する要件に応じた割当指標を用いて、ステート管理部5を各DC3に割り当てるときの割当コストを計算し、その割当コストに従ってステート管理部5の割当先のDC3を決定する割当計算部23とを有することを特徴とする。
2 リソース割当装置
3 DC(データセンタ)
4 ユーザ端末
5 ステート管理部
8 分散クラウド環境
9 オンラインシステム
21 リクエスト受信部
22 NWデータ収集部
23 割当計算部
24 制御部
Claims (8)
- 複数のユーザ端末から構成されるグループごとのステートをグループ内で共有させるためのステート管理部を、分散クラウド環境に配備された複数のデータセンタのうちのいずれかに割り当てる旨のリクエストを受信するリクエスト受信部と、
前記グループが要求する要件に応じた割当指標を用いて、前記ステート管理部を前記各データセンタに割り当てるときの割当コストを計算し、その割当コストに従って前記ステート管理部の割当先の前記データセンタを決定する割当計算部とを有することを特徴とする
リソース割当装置。 - 前記割当計算部は、グループを構成する前記各ユーザ端末と前記データセンタとの間の遅延時間を求め、それらの求めた遅延時間の平均遅延を前記ステート管理部の割当指標とすることを特徴とする
請求項1に記載のリソース割当装置。 - 前記割当計算部は、グループを構成する前記各ユーザ端末と前記データセンタとの間の遅延時間を求め、それらの求めた遅延時間の最大遅延を前記ステート管理部の割当指標とすることを特徴とする
請求項1に記載のリソース割当装置。 - 前記割当計算部は、グループを構成する前記各ユーザ端末と前記データセンタとの間の遅延時間を求め、それらの求めた遅延時間の分散または標準偏差を前記ステート管理部の割当指標とすることを特徴とする
請求項1に記載のリソース割当装置。 - 前記割当計算部は、前記リクエスト受信部が受信したリクエストの各グループの割当コストの総和を最小化する組み合わせ最適化問題に対して、貪欲法を用いた近似アルゴリズムにより、各グループの割当先を計算することを特徴とする
請求項1ないし請求項4のいずれか1項に記載のリソース割当装置。 - 前記割当計算部は、前記リクエスト受信部が受信したリクエストの各グループの割当コストの総和を最小化する組み合わせ最適化問題に対して、貪欲法と局所探索法とを併用する近似アルゴリズムにより、各グループの割当先を計算することを特徴とする
請求項1ないし請求項4のいずれか1項に記載のリソース割当装置。 - リソース割当装置は、リクエスト受信部と、割当計算部とを有しており、
前記リクエスト受信部は、複数のユーザ端末から構成されるグループごとのステートをグループ内で共有させるためのステート管理部を、分散クラウド環境に配備された複数のデータセンタのうちのいずれかに割り当てる旨のリクエストを受信し、
前記割当計算部は、前記グループが要求する要件に応じた割当指標を用いて、前記ステート管理部を前記各データセンタに割り当てるときの割当コストを計算し、その割当コストに従って前記ステート管理部の割当先の前記データセンタを決定することを特徴とする
リソース割当方法。 - コンピュータを、請求項1ないし請求項6のいずれか1項に記載のリソース割当装置として機能させるためのリソース割当プログラム。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/005175 WO2022172389A1 (ja) | 2021-02-12 | 2021-02-12 | リソース割当装置、リソース割当方法、および、リソース割当プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2022172389A1 JPWO2022172389A1 (ja) | 2022-08-18 |
| JP7537528B2 true JP7537528B2 (ja) | 2024-08-21 |
Family
ID=82838538
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022581105A Active JP7537528B2 (ja) | 2021-02-12 | 2021-02-12 | リソース割当装置、リソース割当方法、および、リソース割当プログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240126612A1 (ja) |
| JP (1) | JP7537528B2 (ja) |
| WO (1) | WO2022172389A1 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115412563B (zh) * | 2022-08-22 | 2024-03-22 | 西南交通大学 | 一种边缘设备资源分配方法、装置、设备及可读存储介质 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FI98973C (fi) * | 1994-11-22 | 1997-09-10 | Nokia Telecommunications Oy | Menetelmä ryhmätietojen ylläpitämiseksi matkaviestinjärjestelmässä ja matkaviestinjärjestelmä |
| US8370490B2 (en) * | 2010-07-01 | 2013-02-05 | International Business Machines Corporation | Cloud service cost-optimal data center assignment |
| US8869157B2 (en) * | 2012-06-21 | 2014-10-21 | Breakingpoint Systems, Inc. | Systems and methods for distributing tasks and/or processing recources in a system |
| US11086723B2 (en) * | 2019-01-31 | 2021-08-10 | Rubrik, Inc. | Distributed streaming parallel database restores |
| US10838759B2 (en) * | 2019-02-04 | 2020-11-17 | Verizon Patent And Licensing Inc. | Elastic container platform architecture |
| US11650851B2 (en) * | 2019-04-01 | 2023-05-16 | Intel Corporation | Edge server CPU with dynamic deterministic scaling |
| US11010195B2 (en) * | 2019-07-19 | 2021-05-18 | International Business Machines Corporation | K-tier architecture scheduling |
| US12443831B1 (en) * | 2020-01-23 | 2025-10-14 | Nvidia Corporation | Neural network execution streams |
| US11593112B2 (en) * | 2020-03-06 | 2023-02-28 | Microsoft Technology Licensing, Llc | Automated runtime configuration for dataflows |
| US12530237B2 (en) * | 2020-09-17 | 2026-01-20 | Ntt, Inc. | Device, system, method, and computer program product for dynamic workload offloading and accelerator allocation |
| US20230109096A1 (en) * | 2020-12-18 | 2023-04-06 | Strong Force Vcn Portfolio 2019, Llc | Maintenance Prediction and Health Monitoring for Robotic Fleet Management |
| US11200096B1 (en) * | 2021-03-26 | 2021-12-14 | SambaNova Systems, Inc. | Resource allocation for reconfigurable processors |
-
2021
- 2021-02-12 JP JP2022581105A patent/JP7537528B2/ja active Active
- 2021-02-12 US US18/276,474 patent/US20240126612A1/en active Pending
- 2021-02-12 WO PCT/JP2021/005175 patent/WO2022172389A1/ja not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| 佐藤諒平ほか,ICNにおける低コストなキャッシュ配置最適化手法の一検討,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2020年02月27日,Vol.119 No.460,455~460ページ |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2022172389A1 (ja) | 2022-08-18 |
| US20240126612A1 (en) | 2024-04-18 |
| WO2022172389A1 (ja) | 2022-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111400001B (zh) | 一种面向边缘计算环境的在线计算任务卸载调度方法 | |
| CN111669444A (zh) | 基于边缘计算的云游戏服务质量增强方法及系统 | |
| KR102352375B1 (ko) | 유전 알고리즘 기반의 엣지 컴퓨팅 최적화 장치 및 방법 | |
| US20100113159A1 (en) | Method and apparatus for partitioning virtual worlds using prioritized topic spaces in virtual world systems | |
| CN116319522B (zh) | 一种算力网络中的多路径转发方法及系统 | |
| Jia et al. | Delay-sensitive multiplayer augmented reality game planning in mobile edge computing | |
| CN117640413B (zh) | 雾计算中基于强化学习的微服务和数据库联合部署方法 | |
| US20210006459A1 (en) | Network and Method for Servicing a Computation Request | |
| CN113742048B (zh) | 一种酒店云服务系统及其服务方法 | |
| Lakshmi et al. | An adaptive multi-cloud offloading using hierarchical game-theoretic approach | |
| CN111211984A (zh) | 优化cdn网络的方法、装置及电子设备 | |
| Aloqaily et al. | Trustworthy cooperative UAV-based data management in densely crowded environments | |
| CN114638415A (zh) | 一种基于Geohash索引的实时空间众包任务分配方法 | |
| JP2017037445A (ja) | サーバ管理装置およびサーバ管理方法 | |
| CN116668354B (zh) | 一种基于数字孪生的sdn路由优化方法 | |
| WO2022172389A1 (ja) | リソース割当装置、リソース割当方法、および、リソース割当プログラム | |
| Zou et al. | A multipath routing approach for tile-based virtual reality video streaming based on sdn | |
| CN118394486B (zh) | 一种算力网络任务调度方法及装置 | |
| CN116633932B (zh) | 一种云计算资源池动态调度系统 | |
| CN118796443A (zh) | 资源调度方法、装置与系统、电子设备、存储介质与产品 | |
| Kumari et al. | QoS CBSC: an enhanced metaheuristic strategy on QoS-cloud-based service in cloud | |
| Morillo et al. | An ACS-based partitioning method for distributed virtual environment systems | |
| Morillo et al. | A comparison study of modern heuristics for solving the partitioning problem in distributed virtual environment systems | |
| CN114466385B (zh) | 基于用户移动感知的无缝服务迁移方法及计算机系统 | |
| Selvakumar et al. | A novel approach in load balancing for dynamic cloud environment using ACO |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230612 |
|
| 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: 20240709 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240722 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7537528 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |




