特許第6660905号(P6660905)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6660905分散型コンテナ配置の最適化方法およびシステム
<>
  • 特許6660905-分散型コンテナ配置の最適化方法およびシステム 図000002
  • 特許6660905-分散型コンテナ配置の最適化方法およびシステム 図000003
  • 特許6660905-分散型コンテナ配置の最適化方法およびシステム 図000004
  • 特許6660905-分散型コンテナ配置の最適化方法およびシステム 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6660905
(24)【登録日】2020年2月13日
(45)【発行日】2020年3月11日
(54)【発明の名称】分散型コンテナ配置の最適化方法およびシステム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20200227BHJP
   G06F 9/52 20060101ALI20200227BHJP
   G06F 16/178 20190101ALI20200227BHJP
【FI】
   G06F9/50 150Z
   G06F9/52 150C
   G06F16/178
【請求項の数】5
【全頁数】8
(21)【出願番号】特願2017-53480(P2017-53480)
(22)【出願日】2017年3月17日
(65)【公開番号】特開2018-156464(P2018-156464A)
(43)【公開日】2018年10月4日
【審査請求日】2019年2月12日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】加須屋 悠己
(72)【発明者】
【氏名】宮澤 雅典
(72)【発明者】
【氏名】林 通秋
【審査官】 漆原 孝治
(56)【参考文献】
【文献】 特開2013−149076(JP,A)
【文献】 米国特許出願公開第2018/0167217(US,A1)
【文献】 国際公開第2017/032541(WO,A1)
【文献】 特表2018−526947(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06F 9/52
G06F 16/178
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンによる分散型コンテナ配置の最適化システムにおいて、
コンテナ管理ソフトウェアが稼働する複数のサーバ資源と、
各サーバ資源において、コンテナ管理のトランザクションを登録するブロックをチェーン状につなげて管理するブロックチェーンと、
各サーバ資源において、ブロックチェーンを管理するエージェントとを含み、
各サーバ資源のエージェントが協働して各ブロックチェーンに一貫性を持たせることを特徴とする分散型コンテナ配置の最適化システム。
【請求項2】
コンテナの作成指示を受けたサーバ資源のエージェントが、
管理配下のブロックチェーンを参照してコンテナを作成するサーバ資源を決定し、
決定したサーバ資源に対してコンテナ作成を要求し、
前記要求に対してコンテナ作成の完了通知を受信すると、当該コンテナ作成のトランザクションおよび管理配下のブロックチェーン末尾のブロックに関して計算したハッシュ値を登録内容とする新規ブロックを前記ブロックチェーン末尾に追加し、
ネットワーク上の各サーバ資源のエージェントに対して前記新規ブロックの追加を通知し、
前記新規ブロックの追加を通知されたエージェントは、前記新規ブロックを管理配下のブロックチェーンの末尾に追加することを特徴とする請求項1に記載の分散型コンテナ配置の最適化システム。
【請求項3】
ネットワークに新たに接続するサーバ資源のエージェントが、
ネットワーク上の他の任意のサーバ資源のエージェントに対してブロックチェーンを要求し、
前記要求により取得したブロックチェーンを管理配下に置き、
当該新たな接続に関するトランザクションおよび管理配下のブロックチェーン末尾のブロックに関して計算したハッシュ値を登録内容とする新規ブロックを前記管理配下のブロックチェーン末尾に追加し、
ネットワーク上の各サーバ資源のエージェントに対して前記新規ブロックの追加を通知し、
前記新規ブロックの追加を通知されたエージェントは、前記新規ブロックを管理配下のブロックチェーンの末尾に追加することを特徴とする請求項1または2に記載の分散型コンテナ配置の最適化システム。
【請求項4】
ブロックチェーンによる分散型コンテナ配置の最適化方法において、
コンテナの作成指示を受けた第1サーバ資源の第1エージェントが、管理配下のブロックチェーンを参照してコンテナを作成する第2サーバ資源を決定し、
前記第1エージェントが前記第2サーバ資源に対してコンテナ作成を要求し、
前記第2サーバ資源がコンテナを作成してコンテナ作成の完了通知を前記第1エージェントへ通知し、
前記完了通知を受信した第1エージェントが、当該コンテナ作成のトランザクションおよび管理配下のブロックチェーン末尾のブロックに関して計算したハッシュ値を登録内容とする新規ブロックを前記ブロックチェーン末尾に追加し、
前記第1エージェントが、ネットワーク上の各サーバ資源のエージェントに対して前記新規ブロックの追加を通知し、
前記新規ブロックの追加を通知されたエージェントが、前記新規ブロックを管理配下のブロックチェーンの末尾に追加することを特徴とする分散型コンテナ配置の最適化方法。
【請求項5】
ブロックチェーンによる分散型コンテナ配置の最適化方法において、
ネットワークに新たに接続する第1サーバ資源の第1エージェントが、ネットワーク上の他の任意のサーバ資源の第2エージェントに対してブロックチェーンを要求し、
前記第1エージェントが、前記要求により取得したブロックチェーンを管理配下に置き、
前記第1エージェントが、当該新たな接続に関するトランザクションおよび管理配下のブロックチェーン末尾のブロックに関して計算したハッシュ値を登録内容とする新規ブロックを前記管理配下のブロックチェーン末尾に追加し、
前記第1エージェントが、ネットワーク上の各サーバ資源のエージェントに対して前記新規ブロックの追加を通知し、
前記新規ブロックの追加を通知されたエージェントが、前記新規ブロックを管理配下のブロックチェーンの末尾に追加することを特徴とする分散型コンテナ配置の最適化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散型コンテナ配置の最適化方法およびシステムに係り、特に、コンテナ環境において各サーバ資源が管理状態、障害情報等のトランザクションをブロックチェーンとして保持することで、中央管理システムを使用せずに分散型コンテナ配置を最適化する方法およびシステムに関する。
【背景技術】
【0002】
特許文献1には、仮想マシンの最適配置に関して、サーバ資源の情報を負荷情報取得装置などにより収集し、それらの情報を解析することで仮想マシンを配置するサーバ資源を決定し、制御装置を用いて仮想マシンを配置する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014-056335号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1によれば最適なサーバ資源へのコンテナ配置が可能になるが、以下のような技術課題が見られる。
【0005】
第1に、制御装置や負荷情報収集装置の障害時や切り替え発生時およびメンテナンス時には最適なサーバ資源へのコンテナ配置が実施不可能である。
【0006】
第2に、管理するサーバ資源群の情報を適宜収集する必要があり、仮想マシン配置計算処理に時間がかかる可能性があるのみならず、サーバ資源の規模を柔軟に増加させることが困難である。
【0007】
本発明の目的は、上記の技術課題を解決し、コンテナ環境において管理状態、障害情報を各サーバ資源がブロックチェーンとして保持することで、中央管理システムを使用せずに分散型コンテナ配置を最適化できる方法およびシステムを提供することにある。
【課題を解決するための手段】
【0008】
上記の目的を達成するために、本発明は、ブロックチェーンによる分散型コンテナ配置の最適化システムにおいて、以下の構成を具備した点に特徴がある。
【0009】
(1) コンテナ管理ソフトウェアが稼働する複数のサーバ資源において、コンテナ管理のトランザクションを登録するブロックをチェーン状につなげて管理するブロックチェーンと、各サーバ資源において、ブロックチェーンを管理するエージェントとを含み、各サーバ資源のエージェントが協働して各ブロックチェーンに一貫性を持たせるようにした。
【0010】
(2) コンテナの作成指示を受けたサーバ資源のエージェントが、管理配下のブロックチェーンに基づきコンテナを作成するサーバ資源を決定してコンテナ作成を要求し、要求に対してコンテナ作成の完了通知を受信すると、当該コンテナ作成のトランザクションおよび管理配下のブロックチェーン末尾のブロックに関して計算したハッシュ値を登録内容とする新規ブロックを前記ブロックチェーン末尾に追加し、ネットワーク上の各サーバ資源のエージェントに対して前記新規ブロックの追加を通知し、前記新規ブロックの追加を通知されたエージェントは、新規ブロックを管理配下のブロックチェーンの末尾に追加するようにした。
【0011】
(3) ネットワークに新たに接続するサーバ資源のエージェントが、ネットワーク上の他の任意のサーバ資源のエージェントに対してブロックチェーンを要求し、前記要求により取得したブロックチェーンを管理配下に置き、当該新たな接続に関するトランザクションおよび管理配下のブロックチェーン末尾のブロックに関して計算したハッシュ値を登録内容とする新規ブロックを前記管理配下のブロックチェーン末尾に追加し、ネットワーク上の各サーバ資源のエージェントに対して前記新規ブロックの追加を通知し、前記新規ブロックの追加を通知されたエージェントは、前記新規ブロックを管理配下のブロックチェーンの末尾に追加するようにした。
【発明の効果】
【0012】
本発明によれば、以下のような効果が達成される。
【0013】
(1) 複数のコンテナが複数のサーバ資源に分散配置されて稼働するコンテナ環境において、その管理状態や障害情報が各サーバ資源上でブロックチェーンにより管理されるので、中央管理システムを使用することなく、制御装置や負荷情報収集装置の障害時、切り替え発生時あるいはメンテナンス時においても、最適なサーバ資源へのコンテナ配置が可能になる。
【0014】
(2) 複数のコンテナが複数のサーバ資源に分散配置されて稼働するコンテナ環境において、その管理状態や障害情報が各サーバ資源上でブロックチェーンにより管理されるので、コンテナの追加要求を受けたサーバ資源は、管理配下のブロックチェーンを参照すればコンテナの最適な配置先を認識できる。したがって、コンテナの追加要求を受けたサーバ資源の如何を問わず、短時間で最適なコンテナ配置が可能になる。
【0015】
(3) 複数のコンテナが複数のサーバ資源に分散配置されて稼働するコンテナ環境において、その管理状態や障害情報が各サーバ資源上でブロックチェーンにより管理されるので、ネットワークに新たに接続するサーバ資源は、他の任意のサーバ資源からブロックチェーンを取得するだけで、コンテナ環境の管理状態や障害情報を共有できるようになり、サーバ資源の規模を柔軟に増加できるようになる。
【図面の簡単な説明】
【0016】
図1】本発明の一実施形態に係るブロックチェーンによる分散型コンテナ配置最適化システムの構成を示したブロック図である。
図2】各サーバ資源のデータベースが管理するブロックチェーンの構成を模式的に示した図である。
図3】サーバ資源に追加するコンテナの配置を最適化し、そのトランザクションをブロックチェーンに反映する手順を示したシーケンスである。
図4】ネットワークにサーバ資源を新たに追加し、そのトランザクションを各サーバ資源の管理配下にあるブロックチェーンに反映する手順を示したシーケンスである。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明の一実施形態に係るブロックチェーンによる分散型コンテナ配置の最適化システムの構成を示したブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。
【0018】
ネットワークNWには、IP到達性のある複数のサーバ資源S(S1,S2,S3)が接続されている。各サーバ資源Sには、コンテナ管理ソフトウェアにより、一つのOS環境に独立したサーバと同様の振る舞いをする複数の区画(コンテナ)が確保され、コンテナごとに異なるOS環境が実現されている。各コンテナCには、個別のユーザーやサービスが割り当てられる。
【0019】
また、本実施形態では各サーバ資源S1,S2,S3に、各コンテナC(C1,C2,C3,C4,C5)の管理状態や障害情報のトランザクションをブロックチェーンで管理するデータベースDB(DB1,DB2,DB3)が、それぞれ設けられている。ブロックチェーンに対するブロックの追加、削除、変更、更新およびコンテナの制御は、各サーバ資源S1,S2,S3上で動作する各エージェントE(E1,E2,E3)により管理される。
【0020】
図2は、各サーバ資源SのDBが管理するブロックチェーンの構成を模式的に示した図であり、複数のブロックB(B1,B2,B3)を時系列に連結して構成され、全てのDBが同一内容のブロックチェーンを管理する。
【0021】
各ブロックBでは、コンテナCnの作成情報および管理配下のサーバ資源情報が直前のブロックBn-1のハッシュ値と共に保持されている。各エージェントEが新規にブロックBnを作成する際は、直前のブロックBn-1のハッシュ値を計算し、その結果を新規に作成するブロック内に追加する。ブロックBnの作成完了後、他の全てのエージェントEへの通知を実施し、通知を受け取ったエージェントEはブロックチェーンを更新する。これにより、全てのDBが一貫性のある情報、同一の情報を保持できるようになる。
【0022】
本実施形態によれば、複数のコンテナCが複数のサーバ資源Sに分散配置されて稼働するコンテナ環境において、その管理状態や障害情報が各サーバ資源上でブロックチェーンにより管理されるので、中央管理システムを使用することなく、制御装置や負荷情報収集装置の障害時、切り替え発生時あるいはメンテナンス時においても、最適なサーバ資源へのコンテナ配置が可能になる。
【0023】
図3は、サーバ資源に新たに追加するコンテナCの配置を最適化し、そのトランザクションをブロックチェーンに反映する手順を示したシーケンスである。
【0024】
時刻t1において、操作者が操作端末からサーバ資源S(ここでは、サーバ資源S2)にログインし、時刻t2において、コンテナ作成コマンドを実行すると、時刻t3において、サーバ資源S2のエージェントE2へコンテナ作成の指示が伝わる。
【0025】
エージェントE2は、時刻t4において、管理配下のDB2に保持されているブロックチェーンを参照し、コンテナ操作情報履歴等に基づいて、各サーバ資源S上のコンテナ数を判別する。ここで、例えばサーバ資源S1上のコンテナ数が最も少ないために最もリソースが空いていると判断すると、エージェントE2は、時刻t5においてサーバ資源S1へコンテナ作成を要求する。
【0026】
サーバ資源S1は、このコンテナ作成要求に応答してコンテナCの作成を実行する。コンテナの作成が完了すると、時刻t6において、コンテナ作成完了通知を、コンテナ作成の要求元であるエージェントE2へ送信する。
【0027】
コンテナ作成完了通知を受信したエージェントE2は、時刻t7において、サーバ資源S1上に操作者のコンテナCを作成した旨の情報を作成し、さらにブロックチェーン末端のブロックのハッシュ値を計算する。そして、これらを登録内容とする新規ブロックBを作成し、管理配下のDB2に記憶されているブロックチェーンの末尾に追加する。
【0028】
その後、時刻t8において、エージェントE2は自身を除く全てのエージェントE(E1、E3)へブロック追加情報を通知する。通知を受けた各エージェントEは、時刻t9において、管理配下のDBに記憶されているブロックチェーンをそれぞれ更新する。すなわち、通知された新規ブロックBをブロックチェーンの末尾に追加する。
【0029】
本実施形態によれば、複数のコンテナが複数のサーバ資源に分散配置されて稼働するコンテナ環境において、その管理状態や障害情報が各サーバ資源上でブロックチェーンにより管理されるので、コンテナの追加要求を受けたサーバ資源は、管理配下のブロックチェーンを参照すればコンテナの最適な配置先を認識できる。したがって、コンテナの追加要求を受けたサーバ資源の如何を問わず、短時間で最適なコンテナ配置が可能になる。
【0030】
図4は、ネットワークにサーバ資源を新たに追加し、そのトランザクションを各サーバ資源の管理配下にあるブロックチェーンに反映する手順を示したシーケンスであり、ここでは、既にサーバ資源S1,S2が接続されているネットワークへ、サーバ資源S3を新たに追加する場合を例にして説明する。
【0031】
新規に接続されるサーバ資源S3のエージェントE3は、時刻t21において、ランダムに選択したネットワークNW上の他のエージェントEへブロックチェーンの取得要求を送信する。ここでは、エージェントE2が選択されたものとして説明を続ける。
【0032】
エージェントE3は、時刻t22においてエージェントE2からブロックチェーンを受け取ると、時刻t23において、サーバ資源S3が新規に利用可能なサーバ資源として追加された旨の情報、およびブロックチェーン末端のブロックのハッシュ値を計算する。そして、これらを登録内容とする新規ブロックB3を作成し、管理配下のDB3に記憶されているブロックチェーンの末尾に追加する。
【0033】
時刻t24では、エージェントE3が自身を除く全てのエージェントEへブロック追加通知を実施する。時刻t25では、通知を受けた各エージェントE1,E2のDB内のブロックチェーンが更新される。
【0034】
本実施形態によれば、複数のコンテナが複数のサーバ資源に分散配置されて稼働するコンテナ環境において、その管理状態や障害情報が各サーバ資源上でブロックチェーンにより管理されるので、ネットワークに新たに接続するサーバ資源は、他の任意のサーバ資源からブロックチェーンを取得するだけで、コンテナ環境の管理状態や障害情報を共有できるようになり、サーバ資源の規模を柔軟に増加できるようになる。
【0035】
なお、上記の実施形態では、本発明をコンテナの追加およびサーバ資源の追加を例にして説明したが、本発明はこれのみに限定されるものではなく、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【符号の説明】
【0036】
B(B1,B2,B3)…ブロック,C(C1,C2,C3,C4,C5)…コンテナ,DB(DB1,DB2,DB3)…データベース,E(E1,E2,E3)…エージェント,NW…ネットワーク,S(S1,S2,S3)…サーバ資源
図1
図2
図3
図4