(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022033632
(43)【公開日】2022-03-02
(54)【発明の名称】情報処理装置、方法、コンピュータプログラム、及び、記録媒体
(51)【国際特許分類】
H04L 12/28 20060101AFI20220222BHJP
G06F 13/00 20060101ALI20220222BHJP
【FI】
H04L12/28 200M
G06F13/00 353B
H04L12/28 200A
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2020137631
(22)【出願日】2020-08-17
(71)【出願人】
【識別番号】319000436
【氏名又は名称】ラトナ株式会社
(74)【代理人】
【識別番号】100185878
【弁理士】
【氏名又は名称】植田 晋一
(72)【発明者】
【氏名】高橋 智
(72)【発明者】
【氏名】石井 翔
(72)【発明者】
【氏名】大田和 響子
【テーマコード(参考)】
5B089
5K033
【Fターム(参考)】
5B089GA21
5B089GB03
5B089HA06
5B089HB02
5B089JA35
5B089JB14
5B089KA13
5B089KB04
5B089KB06
5K033AA09
5K033BA03
5K033DA06
5K033EC02
(57)【要約】
【課題】ホストコンピュータ等を設ける必要がなく設計工数が小さいネットワークシステム等を提供すること。
【解決手段】情報処理装置は、ネットワークシステムを構成するメンバー装置となる情報処理装置であって、接続されるネットワークシステムに対して自律的に問い合わせを行い、一体となってネットワークシステムを形成する他のメンバー装置を検出する、検出部と、検出部によって他のメンバー装置が検出される場合には、他のメンバー装置を介してネットワークシステムに新たに登録され、ネットワークシステムのメンバー装置を示すリストを更新する、リスト管理部と、を備える。
【選択図】
図7
【特許請求の範囲】
【請求項1】
ネットワークシステムを構成するメンバー装置となる情報処理装置であって、
接続される前記ネットワークシステムに対して自律的に問い合わせを行い、一体となって前記ネットワークシステムを形成する他のメンバー装置を検出する、検出部と、
前記検出部によって前記他のメンバー装置が検出される場合には、前記他のメンバー装置を介して前記ネットワークシステムに新たに登録され、前記ネットワークシステムのメンバー装置を示すリストを更新する、リスト管理部と、を備える情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記検出部、及び、前記リスト管理部は、前記他のメンバー装置との間で、ネットワーク層において通信を行う、情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記リストには、前記ネットワークシステム内において行われる前記ネットワーク層による通信に用いられる情報が記録される、情報処理装置。
【請求項4】
請求項1から3のいずれか1項に記載の情報処理装置であって、
前記リスト管理部は、前記他のメンバー装置の前記リスト管理部と同期して、前記リストを更新する、情報処理装置。
【請求項5】
請求項1から4のいずれか1項に記載の情報処理装置であって、
前記リスト管理部は、拡散プロトコルを用いて、前記他のメンバー装置の前記リスト管理部と同期する、情報処理装置。
【請求項6】
請求項1から4のいずれか1項に記載の情報処理装置であって、
前記リスト管理部は、前記リストを分散保持型のデータベースシステムを用いて構築する、情報処理装置。
【請求項7】
請求項1から6のいずれか1項に記載の情報処理装置であって、
前記検出部は、前記問い合わせに対する応答が所定の条件を満たす装置を、前記他のメンバー装置として検出する、情報処理装置。
【請求項8】
請求項7に記載の情報処理装置であって、
前記検出部は、ARP信号を用いた問い合わせを行い、前記ARP信号に対する応答に含まれるMACアドレスが所定の範囲にある装置を、前記他のメンバー装置として検出する、情報処理装置。
【請求項9】
請求項7または8に記載の情報処理装置であって、
前記検出部は、所定のポート番号の使用有無の問い合わせを行い、前記所定のポート番号が使用される装置を、前記他のメンバー装置として検出する、情報処理装置。
【請求項10】
請求項1から9のいずれか1項に記載の情報処理装置であって、
前記リスト管理部は、前記検出部によって検出された前記他のメンバー装置に対して参加要求を送信し、前記他のメンバー装置により前記参加要求が所定の基準を満たすと判定される場合には、前記他のメンバー装置を介してネットワークシステムに新たに登録される、情報処理装置。
【請求項11】
請求項10に記載の情報処理装置であって、
前記参加要求が所定のフォーマットである場合には、前記他のメンバー装置により前記参加要求が所定の基準を満たすと判定される、情報処理装置。
【請求項12】
請求項1から11のいずれか1項に記載の情報処理装置であって、
前記ネットワークシステムに新たに登録された後に、前記情報処理装置内においてソフトウェア構成の構築を行う初期設定部を、さらに備える、情報処理装置。
【請求項13】
請求項12に記載の情報処理装置であって、
前記初期設定部は、前記ネットワークシステムを構築する他の処理装置から取得したイメージデータを用いて、前記ソフトウェア構成を構築する、情報処理装置。
【請求項14】
請求項12または13に記載の情報処理装置であって、
前記ソフトウェア構成は、複数のサブセクションにより構成され、
前記初期設定部は、前記サブセクション毎にリソース取得部を構成し、前記リソース取得部に前記サブセクションを構成させる、情報処理装置。
【請求項15】
請求項14に記載の情報処理装置であって、
前記リストは、さらに、前記メンバー装置にインストールされるアプリケーションを記録し、
前記リソース取得部は、前記リストに基づいて、所望のアプリケーションを備える前記メンバー装置からイメージを取得してインストールする、情報処理装置。
【請求項16】
請求項15に記載の情報処理装置であって、
前記リストは、さらに、前記メンバー装置にインストールされるアプリケーションの動作状態を記録し、
前記リストに基づいて前記アプリケーションが異常動作であると判定される場合には、当該アプリケーションを備える他の前記メンバー装置からイメージを取得して前記メンバー装置に再インストールする、情報処理装置。
【請求項17】
請求項15または16に記載の情報処理装置であって、
前記アプリケーションはコンテナ化され、当該コンテナ化された処理部を動作させるハードウェアリソースはオーケストレーションツールにより管理される、情報処理装置。
【請求項18】
ネットワークシステムを構成するメンバー装置となる情報処理装置の制御方法であって、
接続される前記ネットワークシステムに対して自律的に問い合わせを行い、一体となって前記ネットワークシステムを形成する他のメンバー装置を検出し、
前記他のメンバー装置が検出される場合には、前記他のメンバー装置を介して前記ネットワークシステムに新たに登録され、前記ネットワークシステムのメンバー装置を示すリストを更新する、情報処理装置の制御方法。
【請求項19】
ネットワークシステムを構成するメンバー装置となる情報処理装置の制御に用いられるコンピュータプログラムであって、
前記コンピュータプログラムは、
接続される前記ネットワークシステムに対して自律的に問い合わせを行い、一体となって前記ネットワークシステムを形成する他のメンバー装置を検出し、
前記他のメンバー装置が検出される場合には、前記他のメンバー装置を介して前記ネットワークシステムに新たに登録され、前記ネットワークシステムのメンバー装置を示すリストを更新する、プログラム。
【請求項20】
ネットワークシステムを構成するメンバー装置となる情報処理装置の制御に用いられるコンピュータプログラムを格納した記録媒体であって、
前記コンピュータプログラムは、
接続される前記ネットワークシステムに対して自律的に問い合わせを行い、一体となって前記ネットワークシステムを形成する他のメンバー装置を検出し、
前記他のメンバー装置が検出される場合には、前記他のメンバー装置を介して前記ネットワークシステムに新たに登録され、前記ネットワークシステムのメンバー装置を示すリストを更新する、プログラムを格納した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、情報処理装置の制御に用いるコンピュータプログラム、及び、その記録媒体に関する。
【背景技術】
【0002】
複数のメンバー装置により構成されるネットワークシステムにおいては、一般に当該ネットワークシステムを管理するサーバが設けられる必要がある。そのため、ネットワークシステムに別の装置を追加的にメンバー装置として登録する場合には、サーバがその装置を新たなメンバー装置としてネットワークシステムに登録する必要がある。
【0003】
例えば、特許文献1に開示の技術によれば、ネットワークシステムを構成する設備機器は特定の処理を行うオブジェクトに応じてオブジェクト識別子を記憶しており、サーバがオブジェクト識別子に基づいてネットワークシステムを管理する。これにより、ネットワーク接続設定によらずにシステムを構築することができるので、設備機器の増減に柔軟に対応することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示された技術によれば、ネットワークシステムを管理するためにサーバを用いる必要がある。このようなネットワークシステムの管理用のサーバを設けるために、システム設計の工数が増大するおそれがある。
【0006】
本発明は上述の課題を解決するためになされたものであり、その目的とするところは、ホストコンピュータ等を設ける必要がなく設計工数が小さいネットワークシステム等を提供することにある。
【課題を解決するための手段】
【0007】
上述の課題は、以下の構成を有する情報処理装置等により解決することができる。
【0008】
すなわち、本発明の一態様に係る情報処理装置は、ネットワークシステムを構成するメンバー装置となる情報処理装置であって、接続されるネットワークシステムに対して自律的に問い合わせを行い、一体となってネットワークシステムを形成する他のメンバー装置を検出する、検出部と、検出部によって他のメンバー装置が検出される場合には、他のメンバー装置を介してネットワークシステムに新たに登録され、ネットワークシステムのメンバー装置を示すリストを更新する、リスト管理部と、を備える。
【発明の効果】
【0009】
このような本発明の一態様によれば、ネットワークシステムに接続後に、自律的な問い合わせによりネットワークシステムを形成すべきメンバー装置が特定され、当該メンバー装置との間でネットワークシステムのメンバー装置リストが共有され、新たなメンバー装置として登録される。そのため、ネットワークシステムを管理するためのホストが不要になり、装置間の主従関係や接続順等を考慮することなく、小さな設計工数でネットワークシステムを構築することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、第1実施形態のデータ処理装置を含むデータ処理システムのブロック図である。
【
図2】
図2は、データ処理装置のハードウェア構成図である。
【
図3】
図3は、第1装置のソフトウェア構成図である。
【
図4】
図4は、追加装置のソフトウェア構成図である。
【
図5】
図5は、追加装置の参加時の追加装置における登録制御を示すフローチャートである。
【
図6】
図6は、追加装置における登録制御を示すフローチャートである。
【
図7】
図7は、追加装置と第1装置との間における登録制御の相互処理を示すシーケンスチャートである。
【
図8】
図8は、グループデータベースの一例を示す図である。
【
図9】
図9は、追加装置の初期設定制御を示すシーケンスチャートである。
【
図10】
図10は、第2実施形態のグループデータベースの一例を示す図である。
【
図11】
図11は、第3実施形態において、第1装置による異常ポッドの再デプロイ要求制御を示すフローチャートである。
【
図12】
図12は、第2装置における再デプロイ制御を示すフローチャートである。
【
図13】
図13は、第1装置と第2装置との間における再デプロイ制御の相互処理を示すシーケンスチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態について説明する。
【0012】
(第1実施形態)
図1は、本実施形態のデータ処理装置を備えるデータ処理システムの構成を示すブロック図である。
【0013】
データ処理システム10は、一例として、工場や建設現場などのローカル環境において、製造工程や建設工程などの各工程の監視、及び、各工程に用いられる作業機器を制御するシステムである。データ処理システム10は、第1装置11、第2装置12、及び、第3装置13により構成されており、これらの装置がLAN14を介して互いに接続されている。また、データ処理システム10は、データを記憶可能なストレージ15を含む。
【0014】
第1装置11、第2装置12、及び、第3装置13は、それぞれがローカル環境において所定の処理を行う。一例として、これらの装置は、センサにより検出されるセンサ情報、すなわち、カメラの撮影画像や動画、また、角度センサにより検出される角度情報等を取得すする。データ処理システム10においては、第1装置11~第3装置13は、相互に連携して処理を行う。
【0015】
また、第1装置11、第2装置12、及び、第3装置13は、同じベンダーによりハードウェアが提供されている。そのため、例えば、LAN14を介したEthernet接続に用いられるMACアドレスはベンダーにより割り当てられた所定の範囲の値となる。
【0016】
ストレージ15は、第1装置11、第2装置12、及び、第3装置13により取得されたデータだけでなく、データ処理システム10を構成する第1装置11~第3装置13の動作プログラムのイメージデータを記憶してもよい。また、ストレージ15は、ログデータやプログラムデータを記憶してもよい。
【0017】
データ処理システム10は、WAN17と通信可能に構成されてもよい。WAN17と接続される場合には、WAN17上の資源を用いてデータ処理システム10を動作させることができる。
【0018】
本実施形態においては、このようなデータ処理システム10に対して、新たに追加装置16が登録されるものとする。この追加装置16は、第1装置11、第2装置12、及び、第3装置13と同じベンダーにより提供されており、所定範囲のMACアドレスを備えるものとする。
【0019】
図2は、第1装置11のハードウェア構成の一例を示す図である。なお、第2装置12、第3装置13、及び、追加装置16は、この図に示されるハードウェア構成となるものとする。
【0020】
第1装置11は、全体を制御するCPU(Central Processing Unit)及びGPU(Graphics Processing Unit)により構成される制御部21と、ROM(Read Only Memory)、RAM(Random Access Memory)、又はハードディスク等により構成され、プログラムや各種のデータ等を記憶する記憶部22と、外部機器とのデータの入出力を行う入出力ポート23と、LAN14等を介して通信を行う通信部24と、ディスプレイ、LED、又はスピーカ等からなりデータに応じた表示を行う表示部25と、キーボード等の外部からの入力を受け付ける入力部26と、を備える。制御部21、記憶部22、入出力ポート23、通信部24、表示部25、及び、入力部26は、バス接続により互いに通信可能に構成されている。
【0021】
記憶部22にはプログラムが記憶されており、記憶されたプログラムが所定の動作をすることにより、入力されたデータに対して所定の処理を行う第1装置11が構成される。また、第1装置11は、通信部24を用いて有線及び無線のLAN14を介して、第2装置12、第3装置13、及び、ストレージ15と相互に通信可能に構成される。
【0022】
図3は、第1装置11のソフトウェア構成図である。なお、第1装置11と同様にデータ処理システム10のメンバーとして動作する第2装置12、及び、第3装置13は、同様のソフトウェア構成を備えるものとする。
【0023】
このソフトウェア構成の概略は以下のとおりである。
【0024】
CPU31及びGPU32上に、オペレーションシステム(OS)33が設けられ、その上に、通信機能を実現するネットワーク(NW)インターフェースドライバ34、IP処理部35、及び、TCP処理部36が設けられている。そして、データ処理システム10の登録及び管理を行うネットワーク(NW)管理部37が設けられている。
【0025】
さらに、NWインターフェースドライバ34、IP処理部35、及び、TCP処理部36により提供される通信機能を、上位アプリケーションが利用できるようにするために、ネットワーク(NW)アプリケーション処理部38が設けられる。このNWアプリケーション処理部38により提供されるインターフェースを用いて、アプリケーションが通信機能を実現する。
【0026】
NWアプリケーション処理部38よりも上位のアプリケーション層には、オーケストレーションツール39、及び、コンテナエンジン40が設けられている。動作するアプリケーションはコンテナエンジン40によりコンテナ化されるとともに、その動作に必要なハードウェアリソースがオーケストレーションツール39によって管理(オーケストレーション)される。
【0027】
オーケストレーションツール39が設けられる場合には、アプリケーションの動作環境であるオーケストレーション処理領域41が構成され、オーケストレーション処理領域41内でアプリケーションが動作する。また、コンテナ化されていない領域に、汎用データベース46が設けられている。なお、オーケストレーション処理領域41は、クラスタと称されることがある。
【0028】
以下では、これらのソフトウェア構成の詳細について順に説明する。
【0029】
CPU31及びGPU32等により構成されるハードウェアの上において動作するOS33がインストールされている。OS33は、システム全体を管理し、さまざまなアプリケーションソフトを動かすための最も基本的なソフトウェアである。さらに、OS33の上には、ネットワーク接続機能に関連するNWインターフェースドライバ34が設けられる。そして、NWインターフェースドライバ34の上には、IP処理部35及びTCP処理部36が設けられており、所定のプロトコルに沿った通信機能が提供される。
【0030】
NWインターフェースドライバ34は、OSI参照モデルにおける物理層(L1)及びデータリンク層(L2)に相当するEthernetやMACアドレス等を用いた通信機能を実現する。IP処理部35は、ネットワーク層(L3)に相当するIPプロトコルを用いた通信を実現し、TCP処理部36は、トランスポート層(L4)に相当するTCPプロトコルを用いた通信を実現する。
【0031】
そして、TCP処理部36よりも上位のプロトコル処理を行う機能ブロックとして、NW管理部37、及び、NWアプリケーション処理部38が設けられている。
【0032】
NW管理部37は、第2装置12及び第3装置13と一体となって動作するデータ処理システム10のグループ管理を行うブロックであり、接続確認部371、グループ管理部372、グループデータベース373、及び、Boot領域確保処理部374を備える。NW管理部37においては、主に、IP処理部35により提供される通信機能、すなわち、OSI参照モデルにおけるネットワーク層(TCP/IP階層モデルにおけるインターネット層)における通信機能を用いて他の装置と通信を行う。
【0033】
接続確認部371は、主に、自装置が新たにデータ処理システム10に接続された際に、自律的にデータ処理システム10への登録処理を行う。グループ管理部372は、データ処理システム10のグループメンバーの装置(第1装置11~第3装置13、及び、追加装置16)を管理する。
【0034】
グループデータベース373は、グループ管理部372による管理情報を示すデータベース(リスト)であり、キャッシュメモリに配置されており高速アクセスが可能である。グループデータベース373には、主に、IP処理部35により提供されるネットワーク層による通信機能に必要な情報が記録される。また、グループデータベース373は、例えば、etcd等の分散保持型のデータベースシステムを用いるととともに、所定の拡散プロトコル(Gossip Overlay Protocol等)で通信することで、データ処理システム10を構成する装置(第1装置11~第3装置13、及び、追加装置16)間で同期される。Boot領域確保処理部374は、自身が新たにデータ処理システム10へと登録された場合における、初期設定時のソフトウェア構築に用いられる。
【0035】
さらに、第1装置11においては、NWアプリケーション処理部38が設けられている。NWアプリケーション処理部38は、NW管理部37によるデータ処理システム10の管理とは別に、NWインターフェースドライバ34~TCP処理部36による通信機能を用いたアプリケーション制御を行う。
【0036】
NWアプリケーション処理部38は、リソース取得部381及びNWアプリケーション部382を備える。初期設定時においては、まず、リソース取得部381が第1装置11にダウンロードされて構成される。その後に、リソース取得部381がNWアプリケーション部382を第1装置11にダウンロードすることで、NWアプリケーション処理部38の動作リソースが取得される。このようにして、NWアプリケーション処理部38の機能を実現することができる。
【0037】
また、オーケストレーションツール39は、リソース取得部391及びオーケストレーション部392を備える。初期設定時においては、まず、リソース取得部391が第1装置11にダウンロードされて構成される。その後に、リソース取得部391がオーケストレーション部392を第1装置11にダウンロードすることで、オーケストレーションツール39の動作リソースが取得される。このようにして、オーケストレーションツール39によるオーケストレーション環境が構築可能となる。
【0038】
そして、オーケストレーションツール39によって構成される環境には、コンテナエンジン40が設けられる。なお、コンテナエンジン40は、ハードウェアリソース等を仮想化することでコンテナ領域を形成し、そのコンテナ環境でアプリケーションを動作させることができる。その結果、コンテナ化されたアプリケーションは、オーケストレーションツール39によりハードウェアリソースが管理された状態において、コンテナエンジン40によって形成されたコンテナ環境で実行されることとなる。
【0039】
このようにコンテナ化されたアプリケーションは、ライブラリと一体的に構成されており、コンテナ化と称されることがある。このように、コンテナエンジン40により構成されるコンテナ環境が、オーケストレーションツール39によってリソース管理され、このような環境においてコンテナ化されたアプリケーションが動作することとなる。
【0040】
詳細には、オーケストレーションツール39は、コンテナ化されたアプリケーションが実行される環境として、オーケストレーション処理領域41と称される論理領域を構築する。オーケストレーション処理領域41には、オーケストレーション処理領域41の全体を管理するマスタ42と、アプリケーションの実行環境であるノード43とが設けられる。マスタ42は、コンテナ44の実行環境であるノード43のハードウェアリソースの管理を行う。
【0041】
ノード43においては、アプリケーションがライブラリと一体となって構成されるコンテナ44が設けられ、1以上のコンテナ44(
図3においては2つのコンテナ44)が、ポッド45という単位で管理されている。なお、ポッド45は、1または2以上のコンテナ44により構成されうる。ポッド45は、ノード43内においてポッド管理ブロックによって管理される。なお、ポッド管理ブロックは、マスタ42からの指示に従って、ノード43におけるリソース管理を行う。
【0042】
また、マスタ42は、コンテナデプロイシステム421を有しており、初期設定時においては、コンテナデプロイシステム421が主体となって、ノード43に配置されるポッド45をデプロイする。これにより、アプリケーション(ポッド45)が実行可能な環境となる。
【0043】
このように、オーケストレーションツール39及びコンテナエンジン40が導入された環境においては、コンテナ化されたアプリケーションはポッド45の単位で管理される。そして、ポッド45は、オーケストレーション処理領域41内のノード43において実行される。なお、コンテナ化されていないアプリケーション(
図3において不図示)は、オーケストレーション処理領域41のリソースを用いずに動作されてもよい。また、このようなコンテナ化されていないアプリケーションは、オーケストレーション処理領域41内のポッド45と双方向に通信することができる。
【0044】
なお、第1装置11には、オーケストレーション処理領域41の外に、汎用データベース46が設けられている。ポッド45は、所定の処理を実行する際に汎用データベース46へアクセスし、データの読み書きを行うことができる。
【0045】
本実施形態においては、オーケストレーション処理領域41内に1つのノード43が設けられる例について説明したが、これに限らない。オーケストレーション処理領域41内に複数のノード43が設けられてもよい。
【0046】
【0047】
ここで、
図3の第1装置11の構成と、
図4の追加装置16の構成とを比較すると、CPU31~NW管理部37の構成は共通して設けられている。しかしながら、第1装置11に存在するNWアプリケーション処理部38~汎用データベース46の構成は、
図4において点線で示されている。これは、これらの構成が初期設定時において追加装置16には存在していないことを意味する。
【0048】
追加装置16は、データ処理システム10に新たに参加登録される時点においては、最小限の構成であるCPU31~NW管理部37を備えている。そして、NW管理部37によって追加装置16がデータ処理システム10に登録された後に、NWアプリケーション処理部38~汎用データベース46の構成がデータ処理システム10の他の装置からダウンロードされる。このような初期設定制御については、後に
図9を用いて説明する。以下では、追加装置16のデータ処理システム10への登録制御について説明する。
【0049】
図5は、追加装置16のNW管理部37により行われるデータ処理システム10への登録制御を示すフローチャートである。なお、この登録制御は、主に、NW管理部37の接続確認部371及びグループ管理部372により行われる、また、データ処理システム10を構成する装置は、グループデータベース373に記録されて管理される。
【0050】
ステップS51において、追加装置16がネットワークに接続されてデータ処理システム10へと参加する場合に、接続確認部371は、自律的に、データ処理システム10を構成する装置の全てに対して、ARP(Address Resolution Protocol)信号をブロードキャスト送信する。ここで、ARP信号は、一般に、アドレス解決プロトコルと称されており、当該信号を受信した第1装置11~第3装置13のNWインターフェースドライバ34は、自身のIPアドレス及びMACアドレスを示すARP応答を発信元へと応答する。
【0051】
ステップS52において、接続確認部371は、第1装置11~第3装置13からのARP応答を受信する。これにより、接続確認部371は、データ処理システム10を構成する他の装置において使用されているIPアドレス、及び、MACアドレスを取得する。
【0052】
ステップS53において、接続確認部371は、取得したARP信号に含まれるMACアドレスの全てについて、所定の範囲内であるか否かを判定する。ここで、データ処理システム10を構成する第1装置11~第3装置13、及び、追加装置16は、同じベンダーにより製造されている等の理由により、予めこれらの装置が有するMACアドレスの範囲を記憶している。そこで、接続確認部371は、データ処理システム10を構成する装置のMACアドレスが所定範囲内である場合には、追加装置16が新たに登録するデータ処理システム10の構成メンバーが存在していると判断できる。
【0053】
受信したARP信号に含まれるMACアドレスが所定の範囲内にある場合には(S53:Yes)、追加装置16のデータ処理システム10への参加処理を継続するために、次に、ステップS54の処理が行われる。MACアドレスが所定の範囲内でない場合には(S53:No)、追加装置16の参加対象となるデータ処理システム10が存在しないと判断して、処理を終了する。
【0054】
ステップS54において、接続確認部371は、MACアドレスが所定の範囲内である第1装置11~第3装置13に対して使用ポートの問い合わせを行う。ここで、データ処理システム10においては共通するアプリケーション(ポッド45)が使用されており、それらのアプリケーションの使用するポート番号は予め定められている。そこで、接続確認部371は、そのポート番号の使用有無の問い合わせを行う。NWインターフェースドライバ34は、使用中のポート番号を管理しているので、問い合わせのあったポート番号の使用有無を応答する。
【0055】
ステップS55において、接続確認部371は、問い合わせを行った第1装置11~第3装置13のNWインターフェースドライバ34からの所定のポート番号の使用の有無の応答を受信する。
【0056】
ステップS56において、接続確認部371は、特定のポート番号が使用されている旨の応答を受信したか否かを判定することにより、第1装置11~第3装置13により構成されるデータ処理システム10において共通のポッド45が動作しているか否かを判断することができる。
【0057】
所定のポート番号の使用を示す応答を受信した場合には(S56:Yes)、接続先のデータ処理システム10が参加すべきネットワークシステムであると判定して、追加装置16のデータ処理システム10への登録を行うために、次に、ステップS57の処理が行われる。所定のポート番号の使用を示す応答を受信しない場合には(S56:No)、追加装置16の参加対象となるデータ処理システム10が存在しないと判断して、処理を終了する。
【0058】
ステップS57において、追加装置16をデータ処理システム10へ新たに参加登録するために、グループ管理部372は、データ処理システム10のうちの他の装置(例えば、第1装置11)のグループ管理部372に対してデータ処理システム10への登録要求を送信する。
【0059】
なお、登録要求を受信した他の装置のグループ管理部372は、追加装置16から受信したグループ登録要求が所定のフォーマットであると判断すると、グループデータベース373に対して追加装置16を追加するとともに、追加装置16を含む他の装置のグループデータベース373の更新を指示する。
【0060】
ステップS58において、追加装置16のグループデータベース373は、参加したデータ処理システム10の他の装置のグループデータベース373と同期連携して、自身が追加された情報を取得しグループデータベース373に記録する。
【0061】
このようにして、追加装置16のデータ処理システム10への登録制御が終了される。
【0062】
図6は、追加装置16がデータ処理システム10へ参加する場合において、データ処理システム10を構成する他の装置(例えば、第1装置11)における登録制御を示すフローチャートである。
【0063】
ステップS61において、第1装置11のグループ管理部372は、追加装置16のグループ管理部372からデータ処理システム10への登録要求を受信する。なお、追加装置16からの登録要求の送信は、
図5のステップS57の処理に相当する。
【0064】
ステップS62において、グループ管理部372は、追加装置16から受信した登録要求が予め定められた所定のフォーマットであるか否かを判定する。ここで、データ処理システム10を構成する装置は、所定の処理を行うものであるため、登録要求等の互いの装置間でやりとりするデータのフォーマットが予め定められている。そこで、登録要求が所定のフォーマットであるか否かを判定することで、登録要求の送信元がデータ処理システム10を構成可能な装置であるか否かを判定することができる。
【0065】
受信した登録要求が所定のフォーマットである場合には(S62:Yes)、グループ管理部372は、追加装置16の登録処理を継続するために、次にステップS63の処理を行う。受信した登録要求が所定のフォーマットでない場合には(S62:No)、グループ管理部372は、登録要求を送信した装置はデータ処理システム10を構成できないと判定して、制御を終了する。
【0066】
ステップS63において、グループ管理部372は、NW管理部37内に設けられたグループデータベース373に対して、登録要求を送信した追加装置16の情報を登録する。なお、登録要求には、例えば、
図8に示されるグループデータベース373のフォーマットに沿った情報が記憶されていれるものとする。
【0067】
ステップS64において、第1装置11のグループ管理部372は、他の装置のグループ管理部372に対して、グループデータベース373の変更の更新を要求する。各装置のグループデータベース373は、etcd等の分散保持型のデータベースシステムや拡散プロトコルの通信等により、互いに差分を効率よく同期して更新することができるように構成されている。なお、このように同期して差分を更新することで、追加装置16のグループデータベース373には、最新の情報が記録される。
【0068】
このようにして、追加装置16のデータ処理システム10への登録制御が終了される。
【0069】
図7は、データ処理システム10に対して追加装置16が登録要求を行う場合において、装置間の相互処理を示すシーケンスチャートである。なお、この図に示されたステップS701~S710と対応して、
図5及び
図6に示された処理ステップが括弧書きで示されている。
【0070】
ステップS701において、追加装置16(接続確認部371)は、LAN14への接続が完了してIPアドレスが設定されると、LAN14と接続されたデータ処理システム10を構成する任意の装置(第1装置11~第3装置13)に対して自律的にARP信号を送信する。ARP信号を受信した装置は、送信元に対してIPアドレス及びEthernetのMACアドレスを応答する。なお、ARP信号への応答処理は、NWインターフェースドライバ34が行う。
【0071】
ステップS702において、データ処理システム10を構成する第1装置11~第3装置13にARP信号が到着すると、NWインターフェースドライバ34がIPアドレス及びMACアドレスを追加装置16(接続確認部371)へと応答する。
【0072】
ステップS703において、追加装置16(接続確認部371)は、第1装置11~第3装置13からのARP信号を受信すると、受信したMACアドレスが所定の範囲内にあるいか判定する。追加装置16は、MACアドレスが同一ベンダーによって割り振られた範囲であるか否かを判定することにより、データ処理システム10のメンバー装置が存在するか否かを判定することができる。
【0073】
例えば、LAN14には、第1装置11~第3装置13以外に、他の装置が接続されている可能性がある。しかしながら、これらの装置は、データ処理システム10を構築しうる装置ではないため所定の範囲のMACアドレスを有していない。そのため、追加装置16(接続確認部371)は、受信したARP信号に含まれる全てのMACアドレスが所定の範囲内でない場合には、参加対象となるデータ処理システム10を構成する装置が存在しないと判断して、処理を終了する。
【0074】
一方で、受信したARP信号に含まれるMACアドレスが所定の範囲内にある場合には、追加装置16(接続確認部371)は、データ処理システム10を構成するメンバー装置が存在すると判断し、追加装置16のデータ処理システム10への登録処理を継続するために、ステップS704の処理を行う。
【0075】
ステップS704において、追加装置16(接続確認部371)は、MACアドレスが所定の範囲内である第1装置11~第3装置13に対して使用ポートの一覧を問い合わせる。当該問い合わせは汎用的なTCP/IPで規定された処理(例えば、netstatコマンド)によって行われる。なお、使用ポートの一覧の問い合わせに替えて、所定のポートの使用有無を問い合わせてもよい。
【0076】
ステップS705において、第1装置11~第3装置13のNWインターフェースドライバ34が、使用するポートを追加装置16へと応答する。
【0077】
ステップS706において、追加装置16(接続確認部371)は、応答内容に従って、特定のポート番号の使用有無を判定することにより、データ処理システム10において共通のポッド45が動作するメンバー装置の存在有無を判断する。
【0078】
追加装置16(接続確認部371)は、所定のポートの使用が確認できない場合には、データ処理システム10が参加すべきネットワークシステムでないと判定して、グループへの登録処理を終了する。一方、所定のポート番号の使用を確認できる場合には、追加装置16内において、接続確認部371は、それらのポート番号を使用する装置をメンバー装置として判断する。そして、接続確認部371は、自装置内のグループ管理部372に対してデータ処理システム10への登録要求を送信するように指示する。
【0079】
ステップS707において、グループ管理部372は、データ処理システム10を構成する任意の装置(第2装置12)に対して登録要求を送信する。なお、登録要求の送信先は、第1装置11または第3装置13であってもよい。
【0080】
ステップS708において、第2装置12のグループ管理部372は、受信した登録要求が所定のフォーマットであるか否かを判定する。所定のフォーマットである場合には、追加装置16がデータ処理システム10に登録されうる装置であるため、グループ管理部372は、グループへの登録が可能であると判断する。
【0081】
ステップS709において、グループ管理部372は、登録要求が所定のフォーマットである場合には、グループデータベース373に追加装置16に関する情報を新たに記録する。
【0082】
ステップS710において、グループ管理部372は、NW管理部37内の他の装置(第1装置11、及び、第3装置13)、及び、追加装置16に設けられたグループデータベース373に対して、追加装置16が登録されたデータの反映を要求する。なお、この同期は各装置のグループ管理部372が同期連携することにより行われる。
【0083】
このようにして、グループデータベース373には追加装置16が登録されることで、追加装置16がデータ処理システム10に新たに追加され、他の装置(第1装置11~第3装置13)と連携して動作することができる。
【0084】
図8は、グループデータベース373に記憶されるデータベースの一例である。
【0085】
この例のグループデータベース373においては、最左の列に、本実施形態に示された装置との対応関係を示す参考情報として、第1装置11~第3装置13、及び、追加装置16が示されているが、当該情報は含まれていなくてもよい。さらに、右に向かって、「接続状態」、「装置名称」、「OSバージョン」、「MACアドレス」、「IPアドレス」、及び、「プロジェクトシンボル」の欄(列)が設けられている。
【0086】
「接続状態」の欄には、それぞれの装置のデータ処理システム10への接続の有無を示す状態が示されている。任意の装置の接続確認部371が定期的にARP信号を送信することで、各装置のデータ処理システム10(LAN14)への接続状態を知ることができる。一時的に取り外された装置が存在する場合には、その装置はARP信号に応答できないので切断された状態となる。
【0087】
「装置名称」の欄には、各装置についてユーザが登録した名称が示される。また、「OSバージョン」の欄には、各装置のOSのバージョンが記録されている。これらの情報は、各々の装置において自身のグループデータベース373に記録されると、同期処理によって他の装置のグループデータベース373にも記録される。
【0088】
「MACアドレス」及び「IPアドレス」の欄には、ネットワーク情報が記録されている。これらのネットワーク情報は、任意の装置がARP信号を用いて取得した他の装置のネットワーク情報であってもよいし、各々の装置が記録する自身の情報であってよい。記録された情報は、同期処理によって他の装置のグループデータベース373にも記録される。なお、これらの情報は、主に、IP処理部35により提供されるネットワーク層における通信機能に必要な情報に相当する。
【0089】
「プロジェクトシンボル」には、それぞれの装置において動作するプロジェクトが示されている。この例においては、第1装置11~第3装置13は全て同じものであり、追加装置16は未設定であるものとする。このようなシンボルを用いることで、処理機能毎に装置の区分設定等を行うことができる。
【0090】
このようなグループデータベース373によって、データ処理システム10を構成する装置を管理することができる。
【0091】
図9は、追加装置16のデータ処理システム10への参加後の初期設定制御を示すものである。初期設定制御によって、NWアプリケーション処理部38~汎用データベース46の構成がデータ処理システム10を構成する他の装置からダウンロードされる。ソフトウェアのダウンロード元となる他の装置は、第1装置11~第3装置13に限られず、ストレージ15であってもよい。
【0092】
ステップS901において、追加装置16のNW管理部37のBoot領域確保処理部374は、他の装置に対して、NWアプリケーション処理部38のリソース取得部381のイメージの取得を要求する。
【0093】
ステップS902において、追加装置16は、他の装置からリソース取得部381のイメージを取得する。そして、ステップS903において、取得したイメージを用いてリソース取得部381が生成される。
【0094】
ステップS904において、リソース取得部381は、他の装置に対してNWアプリケーション部382のイメージを要求する。ステップS905において、NWアプリケーション部382のイメージを取得すると、ステップS906において、取得したイメージを用いてNWアプリケーション部382が生成される。このようにして、NWアプリケーション処理部38の動作リソースが取得される。
【0095】
ステップS907において、リソース取得部381は、さらに、他の装置に対してオーケストレーションツール39のリソース取得部391のイメージを要求する。ステップS908において、リソース取得部391のイメージを取得すると、ステップS909において、取得したイメージを用いてリソース取得部391が生成される。
【0096】
ステップS910において、リソース取得部391は、他の装置に対してオーケストレーション部392のイメージを要求する。ステップS911において、オーケストレーション部392のイメージを取得すると、ステップS912において、取得したイメージを用いてオーケストレーション部392が生成される。このようにして、オーケストレーションツール39の動作リソースが取得される。
【0097】
また、
図9において示されていないが、オーケストレーション部392と同時に、又は、オーケストレーション部392に先立って、コンテナエンジン40が他装置から取得されたイメージを用いて設けられる。このようにして構成されたオーケストレーションツール39及びコンテナエンジン40によって、オーケストレーション処理領域41が生成可能な状態となる。
【0098】
ステップS913において、オーケストレーション部392は、コンテナ44の実行環境であるオーケストレーション処理領域41を生成するとともに、オーケストレーション処理領域41内の管理を行うマスタ42の生成を指示する。ステップS914において、当該指示を受けてマスタ42が設けられる。ステップS915において、マスタ42は、他装置に対してポッド45の取得を要求すると、ステップS916において、ポッド45のイメージが取得され、ステップS917において、ポッド45がデプロイされる。また、図示されていないが、汎用データベース46も、他装置からダウンロードされる。
【0099】
このようにして、追加装置16はNW管理部37のみが構成されている状態から、NWアプリケーション処理部38~汎用データベース46の構成が、順次、データ処理システム10の他装置からダウンロードされる。なお、これらのイメージの格納元は、第1装置11、第2装置12、第3装置13、及び、ストレージ15のいずれであってもよく、複数の格納元から追加装置16にデプロイされてもよい。
【0100】
第1実施形態によれば以下の効果を得ることができる。
【0101】
第1実施形態の情報処理装置である追加装置16は、データ処理システム10(ネットワークシステム)を構成するメンバー装置である。追加装置16は、接続確認部371(検出部)と、グループ管理部372(リスト管理部)を備える。接続確認部371は、LAN14に接続されると、データ処理システム10に対して自律的に問い合わせを行い、一体となってデータ処理システム10を形成する他のメンバー装置(第1装置11~第3装置13)を検出する。グループ管理部372は、検出された他のメンバー装置を介してデータ処理システム10に新たに登録され、データ処理システム10のメンバー装置を示すグループデータベース373(リスト)を更新する。
【0102】
このように構成されることで、データ処理システム10に接続後に、自律的な問い合わせによりデータ処理システム10を形成すべき他のメンバー装置(第1装置11~第3装置13)が特定される。そして、データ処理システム10を構成するメンバー装置を示すグループデータベース373に、追加装置16が新たなメンバー装置として登録される。このように、ネットワークシステムであるデータ処理システム10を管理するためのホストが不要な構成となり、装置間の主従関係や接続順等を考慮することなくデータ処理システム10を構築することができる。
【0103】
第1実施形態の情報処理装置である追加装置16によれば、接続確認部371(検出部)と、グループ管理部372(リスト管理部)によって前記他のメンバー装置との間で行われる通信は、インターネット層において行われる。このような構成となることによって、追加装置16にネットワーク層よりも上位のトランスポート層等による通信機能を提供するソフトウェアがインストールされていない状態でも、自律的に他のメンバー装置と通信を行ってデータ処理システム10への登録ができるため、より柔軟にデータ処理システム10を構築することができる。
【0104】
第1実施形態の情報処理装置である追加装置16によれば、グループデータベース373には、データ処理システム10内でネットワーク層による通信に必要なIPアドレスやMACアドレスを記憶する。このような構成となることで、追加装置16はメンバー装置の登録制御には最低限の通信機能だけ実現できればよいため、最少の構成でデータ処理システム10への登録をすることができる。
【0105】
第1実施形態の情報処理装置によれば、例えば、追加装置16のグループ管理部372は、他のメンバー装置(第1装置11~第3装置13)のグループ管理部372と同期して、グループデータベース373を更新する。
【0106】
このように構成されることで、1つの装置においてグループデータベース373に変更が生じた場合には、自動的に同期がなされ、他の装置におけるグループデータベース373を更新することができる。その結果、データ処理システム10に参加する全ての装置において同じ内容のグループデータベース373を管理することができるので、装置間の主従関係や接続順等を考慮することなくデータ処理システム10を構築することができる。
【0107】
第1実施形態の情報処理装置によれば、追加装置16のグループ管理部372は、他のメンバー装置(第1装置11~第3装置13)のグループ管理部372と、拡散プロトコル(例えば、Gossip Overlay Protocol)を利用して同期する。拡散プロトコルを用いることにより、ある装置におけるグループデータベース373の変更を、他の装置のグループデータベース373に早期に反映させることができる。その結果、データ処理システム10に参加する全ての装置において同じ内容のグループデータベース373を管理することになるので、グループデータベース373を用いてデータ処理システム10の管理を確実に行うことができる。
【0108】
第1実施形態の情報処理装置によれば、グループ管理部372は、分散保持型のデータベースシステム(例えば、etcd)を用いてグループデータベース373を構築する。分散保持型のデータベースシステムは、ある装置におけるグループデータベース373の変更を、他の装置のグループデータベース373に確実に反映させることができるので、グループデータベース373を用いてデータ処理システム10の管理を確実に行うことができる。
【0109】
第1実施形態の情報処理装置によれば、接続確認部371(検出部)は、問い合わせに対する応答が所定の条件を満たす装置を、データ処理システム10を構成する他のメンバー装置として検出する(S53、S56)。このような判定処理を含むことにより、LAN14に接続されている装置であって、データ処理システム10を構成しないネットワーク機器を除外することができる。その結果、データ処理システム10への登録要求を誤った装置に送信するおそれを低減することができる。
【0110】
第1実施形態の情報処理装置によれば、接続確認部371(検出部)は、ARP信号を用いて問い合わせを行い(S51)、応答内に含まれるMACアドレスが所定の範囲内にある装置を、データ処理システム10を構成する他のメンバー装置として検出する(S53)。ARP信号は、NWインターフェースドライバ34が自律的に応答を行うため、問い合わせを受け付けた装置における応答負担は少ない。このように、少ない負荷でデータ処理システム10への登録要求を誤った装置に送信するおそれを低減することができる。
【0111】
第1実施形態の情報処理装置によれば、接続確認部371(検出部)は、所定のポートの使用有無の問い合わせを行い(S54)、所定のポートを使用している装置を、データ処理システム10を構成する他のメンバー装置として検出する(S56)。ポート問い合わせは、NWインターフェースドライバ34が自律的に応答を行うため、問い合わせを受け付けた装置における応答負担は少ない。また、MACアドレスのように予め所定範囲を記憶しておく必要はなく、自身において動作するアプリケーションのポート番号を指定すればよいので、利便性が高い。その結果、少ない構成及び負荷でデータ処理システム10への登録要求を誤った装置に送信するおそれを低減することができる。
【0112】
第1実施形態の情報処理装置によれば、グループ管理部372(リスト管理部)は、接続確認部371(検出部)によって検出された他のメンバー装置に対して参加要求を送信し(S57)、参加要求が所定の基準を満たすと判定される場合には(S62)、データ処理システム10に新たに登録される(S63)。このように、参加要求を受け付けるメンバー装置において、参加要求の送信元である追加装置16が基準を満たすか否かを判定することで、データ処理システム10への登録要求を誤って受け付けるおそれを低減することができる。
【0113】
第1実施形態の情報処理装置によれば、登録要求が所定のフォーマットに従っている場合には、基準を満たすと判定されて(S62)、データ処理システム10に新たに登録される(S63)。このように、フォーマットの確認という単純な判定を行うことにより、データ処理システム10への登録要求を誤って受け付けるおそれを低減することができる。
【0114】
第1実施形態の情報処理装置によれば、さらに、Boot領域確保処理部374(初期設定部)を備える。Boot領域確保処理部374は、追加装置16のデータ処理システム10への登録が完了した後に、自律的に動作して、追加装置16内のソフトウェア構成の構築を行う。このような構成となることで、追加装置16の出荷時においては、最低限のソフトウェア構成のみの簡略な構成で出荷できる。また、追加装置16は初期設定時に最新のソフトウェア構成となるので、機能性及び堅牢性の向上を図ることができる。
【0115】
第1実施形態の情報処理装置によれば、Boot領域確保処理部374は、データ処理システム10を構築する他の処理装置から取得したイメージデータを用いて、ソフトウェア構成を構築する。このように、WAN17ではなく、LAN14と接続されたローカル環境に配置されたデータ処理システム10を構成する他のメンバー装置からイメージデータを取得することで、クラウド上のイメージ配信サーバの構成が不要になるので、ローカル環境でデータ処理システム10のみで自律的な運用を行うことができる。
【0116】
第1実施形態の情報処理装置によれば、追加装置16のソフトウェアは、NWアプリケーション処理部38のレイヤ、オーケストレーションツール39のレイヤ、及び、上位のオーケストレーション処理領域41等で動作するコンテナ化されたアプリケーションのレイヤのように、複数のレイヤに分かれたサブセクションが設けられている。そして、
図9に示されるように、これらのサブセクション毎に、イメージを取得してソフトウェアのインストールが行われる。このような構成となることで、複数のサブセクションのそれぞれについて、異なる他のメンバー装置からイメージを取得できるため、初期設定処理を分散させて安定的に行うことができる。
【0117】
第1実施形態の情報処理装置によれば、オーケストレーションツール39、及び、コンテナエンジン40が設けられているので、所定の処理を行うアプリケーションはコンテナ化され、当該コンテナ化された処理部を動作させるハードウェアリソースはオーケストレーションツール39により管理されている。それぞれの処理部がコンテナ化されることによって、データ処理システム10を構成するメンバー装置の処理速度が高速化させることができるので、遅延なくデータ処理を行うことができる。
【0118】
(第2実施形態)
第1実施形態のグループデータベース373においては、データ処理システム10を構成する装置に関する情報が示されたが、これに限らない。第2実施形態においては、データ処理システム10を構成する装置において動作するポッド45に関する情報をさらに含む例について説明する。
【0119】
図10は、第2実施形態におけるグループデータベース373の一例を示すものである。なお、グループデータベース373は、
図8の第1実施形態のテーブルに示される項目に加えて、
図10のテーブルに示される項目を記憶してもよい。一例として、両テーブルの項目を併存させる場合には、項目と値とを対応付けて記憶してもよい。
【0120】
グループデータベース373には、「ポッド名」、「イメージ名」、「デバイス名」、「バージョン」、「最新バージョン」、「デプロイ時刻」、及び、「状態」が示されている。なお、この例においては、第1装置11(earth)、第2装置12(venus)、及び、第3装置13(mars)において動作するポッド45の情報の一部が示されている。
【0121】
NW管理部37のグループ管理部372は、マスタ42のコンテナデプロイシステム421にアクセスし、装置内において動作するポッド45の全ての情報を取得すると、グループデータベース373に記録する。記録された情報は、同期処理によって他の装置のグループデータベース373にも記録されることで、データ処理システム10を構成する装置は、互いに他の装置におけるポッド45を理解することができる。
【0122】
「ポッド名」には、ポッド45の名称が記録され、「イメージ名」には、ポッド45の実行オブジェクトの名称が記録される。なお、ポッド45は、所定のイメージを用いてデプロイされており、ポッド45の名称は、一例としてハッシュ値等の乱数であってもよい。このように、ポッド45の名称と対応する実行オブジェクトのイメージの名称とは異なるため、イメージ名を記録しておくことで、所定のポッド45を他の装置からデプロイする場合には、デプロイ元のディレクトリの特定が容易になる。
【0123】
「装置名称」には、この例においては、ポッドの動作する装置が示されている。また、「バージョン」にはポッド45のバージョンが記憶され、「最新バージョン」にはデータ処理システム10においで検出できうる最新のポッド45のバージョンが記憶される。「バージョン」と「最新バージョン」とが一致しない場合には、バージョンアップを行う必要があると判断できる。
【0124】
「デプロイ時刻」には、ポッド45がデプロイされた時刻が示される。この時刻が現在時刻から一定時間(例えば数日)経過した場合には、処理の安定性を向上させるために、ポッド45を再起動させてもよい。また、「状態」には、ポッド45が正常に動作しているか否かが示される。
【0125】
このように、グループデータベース373にポッド45の情報が記録されることにより、例えば、
図9のステップS915においてポッド45のイメージの要求先を特定できるようになる。その結果、ポッド45の存在しない装置へのアクセスが低減するので、処理の高速化を図ることができる。
【0126】
第2実施形態によれば、以下の効果を得ることができる。
【0127】
第2実施形態の情報処理装置によれば、グループデータベース373は、データ処理システム10を構成するメンバー装置にインストールされるポッド45(アプリケーション)を記録できる。そして、リソース取得部391は、グループデータベース373を参照し、所望のアプリケーションを備えるメンバー装置からイメージを取得して(S915)、当該イメージを用いてポッド45をデプロイ(インストール)する。
【0128】
このように構成されることで、追加装置16を初期設定する際において、必要なポッド45が動作している他の装置に対してイメージを要求することとなる。その結果、所望のポッド45を備えない他の装置に対してイメージを要求することがないので、初期設定の時間短縮を図ることができる。
【0129】
(第3実施形態)
第3実施形態においては、
図10のようにグループデータベース373にポッド45の情報が記録されている場合において、グループデータベース373に示されるポッド45の状態を用いた制御の一例について、
図11~13を用いて説明する。
【0130】
図11~13においては、グループデータベース373の「状態」を参照することで、正常に動作していないポッド45が発見された場合における処理の例が示されている。この例においては、第2装置12においてポッド45が正常に動作しておらず、第1装置11が第2装置12に対して、正常動作していないポッド45の再起動を試みる。そして、再起動では正常動作には変化しないため、イメージの再取得によってポッド45を再デプロイさせるものとする。
【0131】
図11は、第1装置11における再デプロイ要求制御を示す図である。
【0132】
ステップS111において、グループ管理部372は、グループデータベース373にアクセスし、ポッド45の「状態」を参照する。そして、ステップS112において、グループ管理部372は、全てのポッド45が正常に動作しているか否かを判定する。
【0133】
全てのポッド45が正常に動作している場合には(S112:Yes)、再起動が必要なポッド45は存在しないため、再起動制御を終了する。全てのポッド45が正常に動作しておらず、正常に動作していないポッド(異常ポッド)45が存在する場合には(S112:No)、次に、ステップS113の処理が行われる。以下の例においては、第2装置12に正常に動作していないポッド45が存在したものとする。
【0134】
ステップS113において、第1装置11のグループ管理部372は、第2装置12に対して、状態が異常のポッド45に対して再起動を要求する。その後、ステップS114において、第1装置11のグループ管理部372は、グループデータベース373に再度アクセスし、ポッド45の「状態」を参照する。そして、ステップS115において、グループ管理部372は、正常に動作していなかったポッド45が正常に動作に変更されているか否かを判定する。
【0135】
ポッド45の状態が正常動作に変更されている場合には(S115:Yes)、制御を終了する。ポッド45の動作状態が正常となっていない場合には(S115:No)、次に、ステップS116の処理が行われる。
【0136】
ステップS113において、第1装置11のグループ管理部372は、第2装置12に対して、ポッド45の再デプロイを要求する。第2装置12においては、正常に動作していないポッド45の再デプロイが行われる。このようにすることで、第2装置12において正常に動作していなかったポッド45を正常な動作へと変更することができる。
【0137】
図12は、第2装置12における再デプロイ制御を示す図である。
【0138】
ステップS121において、第2装置12のグループ管理部372は、第1装置11のグループ管理部372から正常に動作していないポッド45の再起動要求を受け付ける。そして、ステップS122において、グループ管理部372は、マスタ42に対して正常に動作していないポッド45の再起動を要求する。
【0139】
ステップS123において、マスタ42がポッド45の再起動に成功し、動作状態が正常となった場合には(S123:Yes)、制御を終了する。ポッド45の動作状態が正常とならない場合には(S123:No)、次に、ステップS124の処理が行われる。なお、この動作状態の確認は、マスタ42に問い合わせることで行われるものとする。
【0140】
ステップS124において、第2装置12のグループ管理部372は、第1装置11のグループ管理部372から正常に動作していないポッド45の再デプロイ要求を受け付ける。そして、ステップS125において、グループ管理部372は、マスタ42に対して正常に動作していないポッド45の再デプロイを指示する。マスタ42は、指示に応じて、他の装置から正常に動作していないポッド45のイメージを取得して、ポッド45の再デプロイを行う。
【0141】
ここで、グループデータベース373には、全ての端末の全てのポッド45の状態を記憶しているため、再デプロイするポッド45のイメージ名を参照して、当該イメージを記憶している他の装置からイメージを取得する。例えば、第2端末(venus)の「35c2647620」が正常に動作していない場合には、そのイメージ名は「container-sweeper」であるので、同じイメージ名のポッド45が動作している第3装置13(mars)からイメージを取得することができる。
【0142】
これらの一連の処理を終えると、ステップS126において、第2装置12のグループ管理部372は、ポッド45の動作状態が正常に変化したことをグループデータベース373に記録する。各装置のグループデータベース373は、第2装置12のグループデータベース373と同期することで、ポッド45の状態が正常動作に変化したことを記録する。
【0143】
図13は、第1装置11のグループ管理部372が再デプロイ要求制御を行い、第2装置12がポッド45の再デプロイ制御を行う場合において、両装置間の相互処理を示すフローチャートである。なお、この図に示されたステップS1301~S1314と対応して、
図11及び
図12に示された処理ステップが括弧書きで示されている。
【0144】
ステップS1301において、グループ管理部372は、グループデータベース373にアクセスし、各ポッド45の動作状態を確認する。そして、ステップS1302において、グループ管理部372は、全てのポッド45が正常に動作しているか否かを判定する。この例においては、正常に動作していないポッド(異常ポッド)45が検出されたものとする。
【0145】
ステップS1303において、第1装置11のグループ管理部372は、第1装置11のグループ管理部372は、第2装置12のグループ管理部372に対して、正常に動作していないポッド45の再起動を要求する。ステップS1304において、第2装置12のグループ管理部372が、マスタ42に対して当該ポッド45の再起動を要求する。ステップS1306において、ポッド45の再起動が行われる。なお、この実施形態においては、ポッド45の再起動が行えない、又は、ポッド45の再起動後も正常に動作していないものとする。
【0146】
ステップS1307において、第1装置11のグループ管理部372は、グループデータベース373にアクセスする。そして、ステップS1308において、正常に動作していなかったポッド45が正常に動作に変更されているか否かを判定する。そして、ステップS1308において、グループ管理部372は、ポッド45の動作状態が正常となっていないことを確認すると、次に、ステップS1309において、第1装置11のグループ管理部372は、第2装置12に対してポッド45の再デプロイを要求する
【0147】
ステップS1310において、第2装置12のグループ管理部372は、第1装置11のグループ管理部372から再デプロイ要求を受け付けると、マスタ42に対して正常に動作していないポッド45の再デプロイを要求する。そして、ステップS1311において、マスタ42は、他の装置に対して再デプロイ対象となるポッド45のイメージを要求する。その後、ステップS1312において、マスタ42は、ポッド45のイメージを取得して、ステップS1313において、ノード43においてポッド45の再デプロイを行う。
【0148】
ここで、ステップS1311においてポッド45のイメージの取得先となる装置は、当該イメージを記憶している必要がある。そこで、ステップS1310において、グループ管理部372は、グループデータベース373を参照して、再デプロイの対象となるポッド45のイメージを記憶している装置(第3装置13)を特定し、第3装置13からイメージを取得するようにマスタ42に対して指示を行う。
【0149】
ステップS1314において、第2装置12のグループ管理部372は、ポッド45の動作状態が正常に変化したことをグループデータベース373に記録する。その後、ステップS1315において、第2装置12のグループデータベース373と同期することで、各装置のグループデータベース373は、ポッド45の動作状態が正常に変化したことを記録する。
【0150】
第3実施形態によれば、以下の効果を得ることができる。
【0151】
第3実施形態の情報処理装置によれば、グループデータベース373は、さらに、データ処理システム10を構成するメンバー装置にインストールされるポッド45(アプリケーション)の動作状態を記録できる。そして、ある装置のグループ管理部372は、他の装置におけるポッド45の動作異常を検出すると、そのポッド45に対して再起動の要求(S113)、又は、再デプロイの要求(S115)を行う。
【0152】
このように構成されることで、データ処理システム10を構成するメンバー装置間において、互いにポッド45の動作異常を検出でき、さらに、再起動や再デプロイによる修復を行うことができるので、データ処理システム10及びそのメンバー装置の保守性及び堅牢性の向上を図ることができる。
【0153】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【符号の説明】
【0154】
10 データ処理システム
11 第1装置
12 第2装置
13 第3装置
16 追加装置
37 NW管理部
39 オーケストレーションツール
40 コンテナエンジン
45 ポッド
371 接続確認部
372 グループ管理部
373 グループデータベース
374 Boot領域確保処理部