IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ アレグロスマート株式会社の特許一覧

特開2024-166739システム管理装置、システム管理方法およびシステム管理プログラム
<>
  • 特開-システム管理装置、システム管理方法およびシステム管理プログラム 図1
  • 特開-システム管理装置、システム管理方法およびシステム管理プログラム 図2
  • 特開-システム管理装置、システム管理方法およびシステム管理プログラム 図3
  • 特開-システム管理装置、システム管理方法およびシステム管理プログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024166739
(43)【公開日】2024-11-29
(54)【発明の名称】システム管理装置、システム管理方法およびシステム管理プログラム
(51)【国際特許分類】
   G06F 9/48 20060101AFI20241122BHJP
【FI】
G06F9/48 370
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023083054
(22)【出願日】2023-05-19
(71)【出願人】
【識別番号】518041537
【氏名又は名称】アレグロスマート株式会社
(74)【代理人】
【識別番号】110000637
【氏名又は名称】弁理士法人樹之下知的財産事務所
(72)【発明者】
【氏名】田渕 鳴利
(57)【要約】
【課題】ユーザーにコーディングの技術がなくても容易にアプリケーションを連係動作させることを可能にする。
【解決手段】仮想化された第1のアプリケーション、および第1のアプリケーションの通信を監視する第1の監視エンジンが実装された第1のサーバーと、仮想化された第2のアプリケーションが実装された第2のサーバーとがネットワークで接続されたシステムにおいて、第1のアプリケーションおよび第2のアプリケーションを連係動作させるためのシステム管理装置が提供される。システム管理装置は、第2のアプリケーションに割り当てられたドメインを第1の監視エンジンに通知する機能と、第1の監視エンジンを介してドメインに送信された第1のアプリケーションの出力を、ドメインを解決して第2のアプリケーションに送信する機能とを有する。同様の処理を実行するためのシステム管理方法、およびシステム管理プログラムも提供される。
【選択図】図1
【特許請求の範囲】
【請求項1】
仮想化された第1のアプリケーション、および前記第1のアプリケーションの通信を監視する第1の監視エンジンが実装された第1のサーバーと、仮想化された第2のアプリケーションが実装された第2のサーバーとがネットワークで接続されたシステムにおいて、前記第1のアプリケーションおよび前記第2のアプリケーションを連係動作させるためのシステム管理装置であって、
前記第2のアプリケーションに割り当てられたドメインを前記第1の監視エンジンに通知する機能と、
前記第1の監視エンジンを介して前記ドメインに送信された前記第1のアプリケーションの出力を、前記ドメインを解決して前記第2のアプリケーションに送信する機能と
を有するシステム管理装置。
【請求項2】
前記第1のアプリケーションおよび前記第2のアプリケーションを連係動作させる指示が取得されたときに前記ドメインを前記第1の監視エンジンに通知する、請求項1に記載のシステム管理装置。
【請求項3】
前記ドメインは、前記第1のアプリケーションおよび前記第2のアプリケーションを連係動作させる指示が取得されたときに決定される、請求項2に記載のシステム管理装置。
【請求項4】
前記第1のアプリケーションおよび前記第2のアプリケーションを連係動作させる指示は、前記第1のアプリケーションおよび前記第2のアプリケーションがそれぞれ第1のノードおよび第2のノードとして表示されるGUIにおいて、前記第1のノードと前記第2のノードとをリンクで接続することによって取得される、請求項2に記載のシステム管理装置。
【請求項5】
前記GUIでは、ノードに入力端子および出力端子の少なくともいずれかが表示され、前記リンクは前記第1のノードの出力端子と前記第2のノードの入力端子とを接続する、請求項4に記載のシステム管理装置。
【請求項6】
前記GUIでは、単一のノードに複数の入力端子または複数の出力端子が表示される、請求項5に記載のシステム管理装置。
【請求項7】
前記GUIでは、複数の前記出力端子を複数の前記リンクで単一の前記入力端子に接続すること、および単一の前記出力端子を複数の前記リンクで複数の前記入力端子に接続することが可能である、請求項5に記載のシステム管理装置。
【請求項8】
仮想化された第1のアプリケーション、および前記第1のアプリケーションの通信を監視する第1の監視エンジンが実装された第1のサーバーと、仮想化された第2のアプリケーションが実装された第2のサーバーとがネットワークで接続されたシステムにおいて、前記第1のアプリケーションおよび前記第2のアプリケーションを連係動作させるためのシステム管理方法であって、
前記第2のアプリケーションに割り当てられたドメインを前記第1の監視エンジンに通知するステップと、
前記第1の監視エンジンを介して前記ドメインに送信された前記第1のアプリケーションの出力を、前記ドメインを解決して前記第2のアプリケーションに送信するステップと
を含むシステム管理方法。
【請求項9】
仮想化された第1のアプリケーション、および前記第1のアプリケーションの通信を監視する第1の監視エンジンが実装された第1のサーバーと、仮想化された第2のアプリケーションが実装された第2のサーバーとがネットワークで接続されたシステムにおいて、前記第1のアプリケーションおよび前記第2のアプリケーションを連係動作させるためのシステム管理プログラムであって、
前記第2のアプリケーションに割り当てられたドメインを前記第1の監視エンジンに通知する機能と、
前記第1の監視エンジンを介して前記ドメインに送信された前記第1のアプリケーションの出力を、前記ドメインを解決して前記第2のアプリケーションに送信する機能と
をコンピュータに実行させるシステム管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システム管理装置、システム管理方法およびシステム管理プログラムに関する。
【背景技術】
【0002】
例えばコンテナ化などの手法を用いて、アプリケーションを仮想化することが一般的に行われている。コンテナは、アプリケーションソフトウェアを論理的にカプセル化し定義するソフトウェア構造であり、例えばDocker(登録商標)コンテナなどが知られている。多数のコンテナのデプロイやスケーリングなどの管理をするためのコンテナ管理システムとしては、Kubernetes(登録商標)などが知られている。このようなコンテナおよびコンテナ管理システムに関する技術は、例えば特許文献1、特許文献2および特許文献3などに記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-10129号公報
【特許文献2】特開2022-177712号公報
【特許文献3】特開2023-38906号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、Kubernetes(登録商標)のような従来のコンテナ管理システムでは、設定ファイルなどのコーディングが必要であり、例えばコーディングの技術をもたないユーザーがアプリケーションを自由に連携動作させて所望のサービスを利用することは容易ではなかった。
【0005】
そこで、本発明は、ユーザーにコーディングの技術がなくても容易にアプリケーションを連係動作させることが可能なシステム管理装置、システム管理方法およびシステム管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のある観点によれば、仮想化された第1のアプリケーション、および第1のアプリケーションの通信を監視する第1の監視エンジンが実装された第1のサーバーと、仮想化された第2のアプリケーションが実装された第2のサーバーとがネットワークで接続されたシステムにおいて、第1のアプリケーションおよび第2のアプリケーションを連係動作させるためのシステム管理装置が提供される。システム管理装置は、第2のアプリケーションに割り当てられたドメインを第1の監視エンジンに通知する機能と、第1の監視エンジンを介してドメインに送信された第1のアプリケーションの出力を、ドメインを解決して第2のアプリケーションに送信する機能とを有する。
【0007】
上記の構成によれば、監視エンジンがアプリケーションの出力の送信先のドメインを決定することによって、アプリケーションが出力の送信先を認識していなくてもアプリケーションの連携動作が可能になる。監視エンジンの機能によってアプリケーションの出力の送信先が動的に変更されるため、例えば出力の送信先を定義する設定ファイルを書き換える手順は必要とされず、コーディングの技術がなくても容易にアプリケーションを連係動作させることができる。
【0008】
上記のシステム管理装置は、第1のアプリケーションおよび第2のアプリケーションを連係動作させる指示が取得されたときにドメインを第1の監視エンジンに通知してもよく、ドメインは第1のアプリケーションおよび第2のアプリケーションを連係動作させる指示が取得されたときに決定されてもよい。
【0009】
上記のシステム管理装置において、第1のアプリケーションおよび第2のアプリケーションを連係動作させる指示は、第1のアプリケーションおよび第2のアプリケーションがそれぞれ第1のノードおよび第2のノードとして表示されるGUIにおいて、第1のノードと第2のノードとをリンクで接続することによって取得されてもよい。これによって、ユーザーは、GUI上での直感的な操作によってアプリケーションを連携動作させることができる。
【0010】
GUIでは、ノードに入力端子および出力端子の少なくともいずれかが表示され、リンクは第1のノードの出力端子と第2のノードの入力端子とを接続してもよい。この場合において、GUIでは、単一のノードに複数の入力端子または複数の出力端子が表示されてもよいし、複数の出力端子を複数のリンクで単一の入力端子に接続すること、および単一の出力端子を複数のリンクで複数の入力端子に接続することが可能であってもよい。
【0011】
本発明の別の観点によれば、仮想化された第1のアプリケーション、および第1のアプリケーションの通信を監視する第1の監視エンジンが実装された第1のサーバーと、仮想化された第2のアプリケーションが実装された第2のサーバーとがネットワークで接続されたシステムにおいて、第1のアプリケーションおよび第2のアプリケーションを連係動作させるためのシステム管理方法が提供される。システム管理方法は、第2のアプリケーションに割り当てられたドメインを第1の監視エンジンに通知するステップと、第1の監視エンジンを介してドメインに送信された第1のアプリケーションの出力を、ドメインを解決して第2のアプリケーションに送信するステップとを含む。
【0012】
本発明のさらに別の観点によれば、仮想化された第1のアプリケーション、および第1のアプリケーションの通信を監視する第1の監視エンジンが実装された第1のサーバーと、仮想化された第2のアプリケーションが実装された第2のサーバーとがネットワークで接続されたシステムにおいて、第1のアプリケーションおよび第2のアプリケーションを連係動作させるためのシステム管理プログラムが提供される。システム管理プログラムは、第2のアプリケーションに割り当てられたドメインを第1の監視エンジンに通知する機能と、第1の監視エンジンを介してドメインに送信された第1のアプリケーションの出力を、ドメインを解決して第2のアプリケーションに送信する機能とをコンピュータに実行させる。
【図面の簡単な説明】
【0013】
図1】本発明の実施形態に係る管理装置を含むシステムの例を示すブロック図である。
図2図1に示されたシステムにおける管理装置の処理を示すフローチャートである。
図3】本発明の実施形態におけるGUIの例を示す図である。
図4】本発明の実施形態におけるGUIの例を示す図である。
【発明を実施するための形態】
【0014】
図1は、本発明の実施形態に係る管理装置を含むシステムの例を示すブロック図である。システム100を構成するコンピュータ110、サーバー120A,120B,120Cおよびデータベース130A,130Bは、ネットワーク150によって互いに接続されている。コンピュータ110は、単独で、またはネットワーク上のサーバーなどの他の装置と協働して、管理装置として機能する。コンピュータ110では、例えば以下で説明するようなシステム管理のためのGUI(Graphical User Interface)が提供される。コンピュータ110は、例えばデスクトップコンピュータ、ラップトップコンピュータ、スマートフォンまたはタブレットコンピュータなどである。管理装置の機能は、管理アプリケーション111として図示されている。管理アプリケーション111は、コンピュータ110(およびサーバーなどの他の装置)のプロセッサがメモリに格納されたプログラム112に従って動作することによって実装される。コンピュータ110のメモリまたはストレージには、プログラム112および管理アプリケーション111で使用されるデータ113が格納される。
【0015】
サーバー120A,120B,120C(以下、総称してサーバー120ともいう)では、アプリケーション121A,121B,121C(以下、総称してアプリケーション121ともいう)および監視エンジン122A,122B,122C(以下総称して監視エンジン122ともいう)が実装される。それぞれのサーバー120は、例えば同じデータセンターに設置された複数のサーバーであってもよいし、複数の異なるデータセンターに設置されたサーバーであってもよいし、データセンター以外の企業などの社内に設置されたサーバーであってもよい。それぞれのアプリケーション121は例えばDocker(登録商標)を利用してコンテナ化されている。監視エンジン122は、各サーバー120で動作しているアプリケーション121(コンテナ)の通信を監視している。監視エンジン122は、例えば後述するようにアプリケーション121の出力を送信するドメインを設定する。
【0016】
データベース130A,130Bは、1または複数のストレージ装置において実装され、アプリケーション121によって利用されるデータを格納する。ネットワーク150は、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)などの有線または無線の各種の通信リンクによって実装される。なお、図1に示されたサーバー120A,120B,120Cやデータベース130A,130Bの数は例示的なものであり、特に限定されない。
【0017】
上記のようなシステム100において、ユーザーは、例えばネットワーク150に接続された別の端末装置からのアクセスによって、アプリケーション121が提供するサービスを利用する。アプリケーション121同士は連携動作させることが可能である。例えば、アプリケーション121Aの出力がアプリケーション121Bに送信され、アプリケーション121Bの出力がユーザーにサービスとして提供されてもよい。あるいは、アプリケーション121Aの出力がアプリケーション121B,121Cの両方に送信されたり、アプリケーション121A,121Bの両方の出力がアプリケーション121Cに送信されたりしてもよい。なお、アプリケーション121同士の連携動作の例は、後述するGUIの例によっても示される。
【0018】
図2は、図1に示されたシステムにおける管理装置の処理を示すフローチャートである。なお、本発明の実施形態に係る管理装置は、以下で説明する以外の処理については例えばKubernetes(登録商標)のようなプラットフォームまたはシステムを利用可能であるため、それらについての詳細な説明は省略する。
【0019】
図示された例では、GUI上でノードをリンクで接続する操作が実行されるステップS101と、リンク先のノードに対応するコンテナにURLを割り当てるステップS102(省略可)と、リンク元のノードに対応するコンテナの監視エンジンにURLを通知するステップS103とが実行される。なお、ここでいう「コンテナ」は、図1に示したシステム100でアプリケーション121を実装するコンテナを意味する。以下、それぞれのステップについてさらに説明する。
【0020】
ステップS101では、例えば後述するようなGUIを用いた操作がユーザーによって実行される。GUIでは、それぞれのコンテナがノードとして表示され、ノード同士をリンクで接続することによってアプリケーション同士を連携動作させることができる。つまり、図1に示したシステム100において、管理アプリケーション111のGUI上でノードをリンクで接続する操作は、アプリケーション同士を連携動作させる指示として解釈される。上述のように、連携動作するアプリケーション同士の間では、あるアプリケーションの出力が別のアプリケーションに送信される。
【0021】
ステップS102では、ステップS101の操作を受けた管理アプリケーション111が、リンク先のノードに対応するコンテナにURLを割り当てる。ここでURLはドメインの例である。例えば、後述するGUIの例のように各ノードには入力端子および出力端子が表示され、リンクが出力端子に接続されている方のノードがリンク元であり、リンクが入力端子に接続されている方のノードがリンク先として識別されてもよい。他の例として、リンク元とのノードとリンク先のノードとは、例えばリンクを伸ばす操作がどちらのノードを起点として実行されたかによって判定されてもよい。この場合はノードに入力端子および出力端子は表示されなくてもよい。
【0022】
割り当てられるURLは、例えば管理アプリケーション111においてランダムに生成される。なお、例えばリンク先のノードに対応するコンテナが既に他のコンテナと連携動作しているような場合は、ステップS101の操作が実行された時点で既にリンク先のノードにはURLが割り当てられているため、ステップS102の処理は省略されてもよい。あるいは、リンク先のノードに対応するコンテナが既に他のコンテナと連携動作している場合であっても、管理アプリケーション111は当該コンテナに新たなURLを割り当て、複数の異なるURLを同じコンテナへの参照として解決してもよい。
【0023】
ステップS103では、管理アプリケーション111が、リンク元のノードに対応するコンテナの監視エンジン122にステップS102で割り当てられたURLを通知する。管理アプリケーション111から通知を受けた監視エンジン122は、リンク元のノードに対応するコンテナが実装しているアプリケーション121が出力を送信するときに、通知されたURLを宛先にする。アプリケーション121に複数の出力がある場合は、出力ごとに異なるURLが割り当てられてもよい。
【0024】
上記のステップS101~S103が実行された後、管理アプリケーション111は、例えば監視エンジン122Aを介して割り当てられたURLに送信されたアプリケーション121Aの出力について、URLを解決してアプリケーション121Bに送信する。この処理について、管理アプリケーション111はDNS(Domain Name System)として動作している。
【0025】
本発明の実施形態では、以上で説明したような処理によって、異なるサーバー120で動作するアプリケーション121を容易に連携動作させて所望のサービスを利用することができる。これは例えばマイクロサービスのシステムの構築、メッシュの構築、オーケストレーションの構築とも呼ばれる。各サーバー120においてコンテナ化されたアプリケーション121とともに監視エンジン122を実装し、監視エンジン122がアプリケーション121の出力の送信先のURLを決定することによって、アプリケーション121が出力の送信先を認識していなくてもアプリケーションの連携動作が可能になる。監視エンジン122の機能によってアプリケーション121の出力の送信先が動的に変更されるため、例えば出力の送信先を定義するコンテナの設定ファイルを書き換える手順は必要とされず、コーディングの技術がなくても容易にアプリケーションを連係動作させることができる。
【0026】
図3および図4は、本発明の実施形態におけるGUIの例を示す図である。それぞれの図には、図1に示されたシステム100のコンピュータ110でディスプレイに表示されるキャンバス500の例が示されている。キャンバス500には、コンテナ化されたアプリケーション121を表すノード501(例としてノード501A,501Bおよびノード群501Cを含む)と、ノード501同士の間を接続するリンク502とが表示される。図3に示されるように、キャンバス500は後述する詳細ウインドウ600とともに表示されてもよい。詳細ウインドウ600には、例えば選択されたノード501に対応するアプリケーションに割り当てられたURL情報601や、入力設定情報602および出力設定情報603などが表示される。ユーザーは、例えばリストからの選択によって新たなノード501をキャンバス500内の任意の位置に配置する。配置されたノード501は、例えばタッチパネルやマウスなどのポインティングデバイスを用いてキャンバス500内で自由に移動させることができる。
【0027】
ノード501には、アプリケーションの出力を示す出力端子503と、アプリケーションの入力を示す入力端子504とが表示される。2つ以上のノード501を配置すると、任意のノード501の出力端子503と別のノード501の入力端子504とをリンク502で接続することができる。リンク502は、例えばポインティングデバイスによるドラッグ操作に従って生成される。既に述べたように、GUI上でノードをリンクで接続する操作は、アプリケーション同士を連携動作させる指示として解釈される。
【0028】
図3に示された例の場合、ノード501Aの出力端子503とノード501Bの入力端子504とがリンク502で接続されることによって、ノード501A,501Bのそれぞれに対応するアプリケーションが連携動作させられる。具体的には、ノード501Aに対応するアプリケーションの出力が、ノード501Bに対応するアプリケーションに送信される。既に説明したように、リンク502による接続が実行されたときにノード501Aに対応するアプリケーションの監視エンジンにURLが通知されるため、GUI上での操作はリンク502の生成で完結する。
【0029】
例えば図3に示されたノード501Bのように、単一のノード501には複数の出力端子503が表示されてもよく、複数の入力端子504が表示されてもよい。これは、ノード501に対応するアプリケーションで複数の出力または入力が定義されていることに対応する。図示されているように、複数の出力端子503および複数の入力端子504は、例えば名称や番号によって区別される。
【0030】
また、図4に示されたノード群501Cのように、リンク502によって複数の出力端子503を単一の入力端子504に接続することが可能であってもよい。この場合、それぞれのリンク元のアプリケーションの出力がリンク先のアプリケーションに入力される。また、リンク502によって単一の出力端子503を複数の入力端子504に接続することが可能であってもよい。この場合、リンク元のアプリケーションの出力は、アプリケーション内での定義に従って、複製されてそれぞれのリンク先のアプリケーションに入力されるか、または条件分岐に従っていずれかのリンク先のアプリケーションに入力される。このようにして、ノード群501Cのようにネットワーク状にアプリケーションを連携させることも可能である。
【0031】
このように、本発明の実施形態では、GUI上でノードをリンクで接続する操作によってアプリケーションを連携動作させることができる。既に述べたように、これは例えばマイクロサービスのシステムの構築、メッシュの構築、オーケストレーションの構築とも呼ばれる。これによって、ユーザーは、例えばコンテナの設定ファイルを書き換えるコーディングをしなくても、GUI上での直感的な操作によってアプリケーションを連携動作させることができる。
【0032】
なお、上記の実施形態ではアプリケーションがコンテナ化された例について説明したが、本発明の実施形態においてアプリケーションは必ずしもコンテナ化されていなくてもよく、コンテナ化以外の手法で仮想化されていてもよい。この場合も、サーバーで仮想化されたアプリケーションに加えて監視エンジンを実装し、管理装置が連携先のアプリケーションに割り当てられたドメインを監視エンジンに通知することによって、上記の実施形態と同様にアプリケーションを連係動作させることができる。
【0033】
以上で説明したような本発明の実施形態の各ステップの処理は、コンピュータ110やサーバー120でプロセッサがプログラムに従って動作することによって実行される。プロセッサは、例えばCPU(Central Processing Unit)であってもよいし、FPGA(Field-Programmable Gate Array)などの製造後に回路構成を変更可能なPLD(Programmable Logic Device)であってもよいし、ASIC(Application Specific Integrated Circuit)などの専用に設計された回路構成であってもよい。
【0034】
また、プログラムは、例えばROMのようなメモリに予め記憶(インストール)されていてもよいし、CD(Compact Disc)、DVD(Digital Versatile Disc)またはUSB(Universal Serial Bus)メモリなどの記録媒体に記録された形態で提供されてもよい。あるいは、プログラムはネットワークを介して外部装置からダウンロードされてもよい。
【符号の説明】
【0035】
100…システム、110…コンピュータ、111…管理アプリケーション、112…プログラム、113…データ、120A,120B,120C…サーバー、121A,121B,121C…アプリケーション、122A,122B,122C…監視エンジン、130A,130B…データベース、150…ネットワーク、500…キャンバス、501,501A,501B…ノード、501C…ノード群、502…リンク、503…出力端子、504…入力端子、600…詳細ウインドウ、601…URL情報、602…入力設定情報、603…出力設定情報。
図1
図2
図3
図4