JP6721549B2 - サービス構築順序決定装置およびサービス構築順序決定方法 - Google Patents
サービス構築順序決定装置およびサービス構築順序決定方法 Download PDFInfo
- Publication number
- JP6721549B2 JP6721549B2 JP2017150449A JP2017150449A JP6721549B2 JP 6721549 B2 JP6721549 B2 JP 6721549B2 JP 2017150449 A JP2017150449 A JP 2017150449A JP 2017150449 A JP2017150449 A JP 2017150449A JP 6721549 B2 JP6721549 B2 JP 6721549B2
- Authority
- JP
- Japan
- Prior art keywords
- setting item
- order
- construction
- setting
- service
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、複数の構成要素からなる連携サービスの構築を可能とするサービス構築順序決定装置およびサービス構築順序決定方法に関する。
現在、ネットワークサービス、計算機基盤サービスおよびアプリケーションサービスなど各種サービスを提供する卸サービス事業者が出現している。これに伴い、エンドユーザにサービスを提供するサービス事業者の中には、自社で資産を保有せず、卸サービス事業者が提供するサービスを組み合わせて独自サービスを提供するサービス事業者も現れている。
図12は、卸サービスを連携させて独自サービスを構築する例を説明するための図である。図12を参照しながら、WebアプリケーションとWebアプリケーションへのアクセスを提供するWebアプリ通信サービスの構築例を説明する。
仮想ネットワーク300aは、計算機基盤サービス上の仮想的なネットワーク空間であり、そのサブネットワークとして、公開サブネット310aと非公開サブネット320aとを含む。仮想ネットワーク300aは、計算機基盤サービス上の他の仮想ネットワークから論理的に分離されている。
仮想ネットワーク300aは、計算機基盤サービス上の仮想的なネットワーク空間であり、そのサブネットワークとして、公開サブネット310aと非公開サブネット320aとを含む。仮想ネットワーク300aは、計算機基盤サービス上の他の仮想ネットワークから論理的に分離されている。
公開サブネット310aは、仮想ネットワーク300aのサブネットであり、VM1(Virtual Machine 1、仮想マシン1)311aを含んで構成される。VM1(311a)上で、アプリケーションサービスであるAPL1(Application 1)312aが稼働する。公開サブネット310aは、仮想ネットワーク300aの外部にサービスを提供するVMが稼働するネットワークである。VM1(311a)は、後述するT1(601a)、T2(602a)の端末にサービスを提供するWebアプリケーションサービスのサーバである。
非公開サブネット320aは、仮想ネットワーク300aのサブネットであり、VM2(321a)を含んで構成される。VM2(321a)上で、アプリケーションサービスであるAPL2(322a)が稼働する。非公開サブネット320aは、仮想ネットワーク300aの外部と直接に通信することはなく、公開サブネット310aで稼働するVMに対してサービスを提供するVMが稼働する。APL2(322a)は、APL1(312a)に対してサービスを提供する、例えばデータベースサービスである。
VNGW(Virtual Network Gateway)400aは、後述するMR(Mobile Router)500aから仮想ネットワーク300aへの通信を仲介するゲートウェイである。MR500aは、3GやLTE(Long Term Evolution)などのデータ通信を経由して、無線LAN(Local Area Network)機器をVNGW400aを経由して仮想ネットワーク300aに接続する通信機器である。T1(601a)とT2(602a)とは端末(例えば、パソコン)であって、無線LAN通信でMR500に接続し、APL1(312a)が提供するサービスにアクセスする。
上記した仮想ネットワーク300aやVM1(311a)は、計算基盤サービスの例であり、VNGW400aやMR500aは、ネットワークサービスの例である。これらのサービスを連携させて、1つのサービスとして利用者に提供するためには、サービスを提供する個々の構成要素であるノードに対して、ノード間で連携させるための設定が必要となる。
設定ST1は、T1(601a)の設定項目の一部であり、デバイス名やIPアドレス、サブネットマスク、GW(Gateway)アドレス、ポート番号などを含む。設定ST2は、MR500aの設定項目の一部であり、接続先のAPN(Access Point Name)や接続時の認証方式、LAN側IPアドレス、端末1マッピング情報としてのLAN側ホストIPアドレスなどを含む。設定ST3は、VNGW400aの設定項目の一部であり、VNGW名の他に、接続先の仮想ネットワーク300aの識別情報(「VN ID」(Virtual Network Identifier))、ネットワークアドレス(VNアドレスレンジ)、VM1(311a)のアドレス(「VM1 IPアドレス」)、および、MR500aのSIM(Subscriber Identity Module)カードの情報(SIM情報)などを含む。
設定ST4は、仮想ネットワーク300aの設定項目の一部であり、名称(VN名)、ネットワークアドレス(「IP CIDR(Internet Protocol Classless Inter-Domain Routing)ブロック」)に関する設定項目を含む。さらに、設定ST4は、仮想ネットワーク300aのサブネットである公開サブネット310aの名称(サブネット名)やネットワークアドレス(IPアドレスレンジ)に関する設定項目を含む。設定ST5は、公開サブネット310aの設定項目の一部であり、ルートテーブル(送信先ネットワークアドレス(送信先IPアドレス)、そのゲートウェイ(Target ID))やセキュリティグループ(グループ名、インバウンドトラフィックの許可ルール(Inbound Rule))など、ネットワークのルーティングやフィルタリングに関わる設定を含む。設定ST6は、VM2(321a)の設定項目の一部であり、CPU(Central Processing Unit)やメモリ等のVMのハードウェア仕様(Type)、稼働する仮想ネットワーク(「VN ID」)やサブネット名、セキュリティグループ名、IPアドレスなどの設定項目を含む。
サービス事業者が、サービスを構築して利用者に提供するには、構成要素のリソースを確保するだけではなく、各構成要素を個別に設定する必要がある。また、個々の構成要素を連携させて1つのサービスとして提供するために、関連する他の構成要素の識別情報やアドレスを設定する必要がある。例えば、VM2(321a)の設定ST6には、自身が稼働する仮想ネットワーク300aの識別情報(「VN ID」)やサブネット名を含んでいる。また、VNGW400aの設定ST3には、接続先の仮想ネットワーク300aの識別情報「VN ID」やVM1(311a)のIPアドレス(「VM1 IPアドレス」)を含んでいる。
サービス事業者が、卸サービスを連携させて、提供サービスを一括で構築するためのアーキテクチャとして、非特許文献1に記載の技術がある。この技術を用いることで、提供サービスのカタログを指定してサービスが要求されると、構成要素となる個々のサービスが生成され、個々のサービスの設定項目が設定されて、1つのサービスとして提供される。なお、サービスのカタログには、サービス名称やサービス内容などのサービス利用者向けの説明文書の他に、構成要素となるサービスの情報、構成要素サービスを連携させるための設定手順(サービス連携ルール)が含まれる。
高橋謙輔, 他4名, "B2B2Xにおける複数事業者間サービス設定連携方式," 2016年度電子情報通信学会通信ソサイエティ大会 B-14-10, 2016年09月20日
非特許文献1の技術では、提供サービスがカタログとして定義されており、カタログに含まれるサービス連携ルールに従って、個々のサービスの設定が行われる。サービス連携ルールを作成するのに、サービス事業者は、ネットワークや計算機基盤、アプリケーションなどの構成要素となるサービスの仕様書を読み込む。続いて、サービス事業者は、これらのサービスを連携させて提供サービスを構築するための手順を整理し決定する。このために、サービス事業者にとっては、連携サービスの構築順序(構築手順)の決定が、大きな負担となっている。
このような背景を鑑みて本発明がなされたのであり、本発明は、複数の構成要素サービスを連携させてサービスを提供する場合に、従来の人手による構築順序決定と比べて、より効率的に構成要素サービスの設定項目の設定順序を決定することを可能とするサービス構築順序決定装置およびサービス構築順序決定方法を提供することを課題とする。
前記した課題を解決するため、請求項1に記載の発明は、ネットワークで接続される複数の構成要素からなる連携サービスシステムのサービス構築順序を決定するサービス構築順序決定装置であって、前記構成要素の設定項目と、前記設定項目が依存する設定項目である依存先設定項目と、構築順序とを関連付けて格納する設定項目情報を記憶する記憶部と、前記設定項目情報を参照し、前記依存先設定項目が設定されていない前記設定項目、または、前記依存先設定項目の前記構築順序が決定している前記設定項目から順番に構築順序を設定していく構築順序決定部とを備えることを特徴とするサービス構築順序決定装置とした。
また、請求項5に記載の発明は、ネットワークで接続される複数の構成要素からなる連携サービスシステムのサービス構築順序を決定するサービス構築順序決定装置のサービス構築順序決定方法であって、前記サービス構築順序決定装置が、前記構成要素の設定項目と、前記設定項目が依存する設定項目である依存先設定項目と、構築順序とを関連付けて格納する設定項目情報を記憶する記憶部を備え、前記設定項目表を参照し、前記依存先設定項目が設定されていない前記設定項目、または、前記依存先設定項目の前記構築順序が決定している前記設定項目から順番に構築順序を設定していく構築順序決定ステップを実行することを特徴とするサービス構築順序決定方法とした。
このようにすることで、サービス構築順序決定装置は、依存先が設定されていない設定項目または依存先の構築順序が決定済みの設定項目から順番に構築順序を設定するので、設定項目間の依存関係を考慮した構築順序を決定することができる。このために、サービス構築順序決定装置は、従来よりも効率的に構築順序を決定することができる。
請求項2に記載の発明は、前記設定項目が、前記構成要素に関する設定項目であるノード系設定項目と、前記構成要素間の通信接続に関する設定項目であるリンク系設定項目からなり、前記リンク系設定項目の前記依存先設定項目が、前記リンク系設定項目が示す通信接続により接続される構成要素の設定項目であることを特徴とする請求項1に記載のサービス構築順序決定装置とした。
このようにすることで、サービス構築順序決定装置は、構築要素が通信接続に係る設定項目を含む場合であっても、この通信接続の依存関係を考慮した構築順序を従来よりも効率的に決定することができる。
請求項3に記載の発明は、前記リンク系設定項目の前記依存先設定項目が、前記通信接続により接続される1端の構成要素の設定項目のみであるか、前記通信接続により接続される1端の構成要素の設定項目と接続が想定される1つの構成要素の設定項目とであるかのいずれか一方であることを特徴とする請求項2に記載のサービス構築順序決定装置とした。
このようにすることで、サービス構築順序決定装置は、例えば、連携サービス構築後に追加される端末のように、連携サービス構築時には含まれていない構成要素があった場合であっても、構築順序を決定することができる。
請求項4に記載の発明は、前記構成要素が、複数の構成要素グループに分割され、さらに、前記構成要素グループ間で構築順序の設定の順序であるグループ構築順序が設定され、前記構築順序決定部が、前記グループ構築順序の順序に従って、各構成要素グループ内での構築順序を設定していくことを特徴とする請求項1に記載のサービス構築順序決定装置とした。
また、請求項6に記載の発明は、前記構成要素が、複数の構成要素グループに分割され、さらに、前記構成要素グループ間で構築順序の設定の順序であるグループ構築順序が設定され、前記構築順序決定ステップが、前記グループ構築順序の順序に従って、各構成要素グループ内での構築順序を設定していくことを特徴とする請求項5に記載のサービス構築順序決定方法とした。
このようにすることで、サービス構築順序決定装置は、構成要素の中で関連性の強い構築要素の設定項目をまとめて設定可能にする構築順序を決定することができる。これにより、サービス構築順序決定装置は、設定効率が向上するような構築順序を決定することができる。関連性の強い構築要素としては、例えば、モバイル通信サービスとしてセットでレンタルされるMRと端末があり、レンタル時にまとめて設定することで設定効率を向上させることができる。
本発明によれば、複数の構成要素サービスを連携させてサービスを提供する場合に、従来の人手による構築順序決定と比べて、より効率的に構成要素サービスの設定項目の設定順序を決定することを可能とするサービス構築順序決定装置およびサービス構築順序決定方法を提供することができる。
≪サービス構築順序決定装置の構成≫
以下、本発明を実施するための形態(実施形態)であるサービス構築順序決定装置100について説明する。図1は、本実施形態に係るサービス構築順序決定装置100の全体構成を例示する図である。サービス構築順序決定装置100は、制御部110と、入出力部120と、記憶部130とを含んで構成される。
以下、本発明を実施するための形態(実施形態)であるサービス構築順序決定装置100について説明する。図1は、本実施形態に係るサービス構築順序決定装置100の全体構成を例示する図である。サービス構築順序決定装置100は、制御部110と、入出力部120と、記憶部130とを含んで構成される。
制御部110は、記憶部130に格納されたプログラムを実行することにより、構成要素サービスの設定項目の設定順序決定処理(構築順序決定処理)を行う。制御部110は、構築順序決定部111を備える。構築順序決定部111は、後述する連携サービスカタログ140に含まれる設定項目間の依存関係を参照して、設定する順序を決定する。
入出力部120は、ディスプレイ(不図示)やキーボード(不図示)などとのデータの入出力や他の装置とのデータ送受信を行う。記憶部130は、RAM(Random Access Memory)やハードディスク、不揮発性メモリなどの記憶デバイスから構成され、サービス構築順序決定装置100を機能させるプログラム、連携サービスカタログ140を含んで記憶する。連携サービスカタログ140は、サービス名称やサービス内容などのサービス利用者向け説明文書の他に、構成要素となるサービスの情報、設定項目表(設定項目情報)(後述する図4参照)200を含んで構成される。
≪連携サービスの構成≫
図2は、本実施形態に係る構築対象の連携サービスの構成要素を説明するための図である。以下の説明では、図2に示す連携サービスの構築順序を決定する処理(設定順序決定処理)を例として説明していく。
仮想ネットワーク300、公開サブネット310、VM1(311)、APL1(312)、非公開サブネット320、VM2(321)、APL2(322)、T1(601)、T2(602)、MR500およびVNGW400は、図12記載の仮想ネットワーク300a、公開サブネット310a、VM1(311a)、APL1(312a)、非公開サブネット320a、VM2(321a)、APL2(322a)、T1(601a)、T2(602a)、MR500aおよびVNGW400aのそれぞれと同様の機能を備える。よって説明を省略する。
図2は、本実施形態に係る構築対象の連携サービスの構成要素を説明するための図である。以下の説明では、図2に示す連携サービスの構築順序を決定する処理(設定順序決定処理)を例として説明していく。
仮想ネットワーク300、公開サブネット310、VM1(311)、APL1(312)、非公開サブネット320、VM2(321)、APL2(322)、T1(601)、T2(602)、MR500およびVNGW400は、図12記載の仮想ネットワーク300a、公開サブネット310a、VM1(311a)、APL1(312a)、非公開サブネット320a、VM2(321a)、APL2(322a)、T1(601a)、T2(602a)、MR500aおよびVNGW400aのそれぞれと同様の機能を備える。よって説明を省略する。
インターネットGW700は、VM1(311)をインターネット800に接続するゲートウェイである。インターネットGW700を設定するには、接続先となるVM1(311)のアドレス情報が必要である。T3(603)はパソコンなどの通信端末であり、インターネット800やインターネットGW700を経由してVM1(311)にアクセスする。
図3は、本実施形態に係る構築対象の連携サービスの設定項目に対する識別子の割り振りを説明するための図である。図3を参照しながら、図2に示した連携サービスに含まれる構成要素の設定項目と設定項目の識別子とを説明する。まず、設定項目について説明する。
設定項目は、ノード系とリンク系に分類される。ノード系とは、設定項目が構成要素(ノード)単体に係る設定項目であることを示す。例えば、仮想ネットワークのVN名は、ノード系の設定項目である。リンク系とは、複数の構成要素を物理的または仮想的に接続するための設定項目である。例えば、VNGW400の「VM1 IPアドレス」は、MR500を経由した、端末からサーバへのアクセスを、VNGW400が中継するために必要な設定項目であり、リンク系の設定項目である。
設定項目は、ノード系とリンク系に分類される。ノード系とは、設定項目が構成要素(ノード)単体に係る設定項目であることを示す。例えば、仮想ネットワークのVN名は、ノード系の設定項目である。リンク系とは、複数の構成要素を物理的または仮想的に接続するための設定項目である。例えば、VNGW400の「VM1 IPアドレス」は、MR500を経由した、端末からサーバへのアクセスを、VNGW400が中継するために必要な設定項目であり、リンク系の設定項目である。
また、設定項目間には依存関係がある場合がある。一方の設定内容が決まらないと他方の設定内容が決まらないという関係である。依存関係の例として、VMと仮想ネットワークがある。VMを構築するときには、どの仮想ネットワーク上に配置するか決める必要があり、VMの設定項目である「VN ID」に配置する仮想ネットワークの識別情報を設定する必要がある。
なお、識別子は、連携サービスカタログ140に予め記載されている。すなわち、連携サービスの構成要素の各設定項目に対して識別子が割り振られている。
なお、識別子は、連携サービスカタログ140に予め記載されている。すなわち、連携サービスの構成要素の各設定項目に対して識別子が割り振られている。
続いて、図3記載の設定項目の識別子について説明する。N1〜N13は、図2に記載の構成要素であるT1(601)、T2(602)、MR500、VNGW400、仮想ネットワーク300、公開サブネット310、非公開サブネット320、VM1(311)、VM2(321)、APL1(312)、APL2(322)、インターネットGW700およびT3(603)のノード系設定項目に割り振った識別子である。
以下、図12記載の設定項目(符号ST1〜ST6参照)を参照しながら設定項目に割り振る識別子の例をあげる。N1(図3参照)は、T1(601)(図2参照)のノード系設定項目であるデバイス名(図12の符号ST1参照)に対する識別子である。N4は、VNGW400のノード系設定項目であるVNGW名(符号ST3参照)に対する識別子である。N5は、VN名や「IP CIDRブロック」(符号ST4参照)に対する識別子である。N6は、公開サブネット310のセキュリティグループ名(セキュリティグループのグループ名)やルートテーブル(符号ST5参照)に対する識別子である。N8は、VM1(311)のノード系設定項目であるセキュリティグループ名(符号ST6参照)に対する識別子である。
1つの構成要素には、複数の設定項目があるのが通常であり、その1つを代表としてN1〜N13の識別子を割り振る、ないしは、複数の設定項目をまとめて識別子を割り振ると考えてもよい。
1つの構成要素には、複数の設定項目があるのが通常であり、その1つを代表としてN1〜N13の識別子を割り振る、ないしは、複数の設定項目をまとめて識別子を割り振ると考えてもよい。
L1〜L7は、構成要素の中のリンク系設定項目に対して割り振られた識別子である。例えば、L4(図3参照)は、VNGW400(図2参照)とVM1(311)との接続関係に係る設定項目であり、VNGW400の「VM1 IPアドレス」(符号ST3参照)やVM1(311)が許可するインバウンド通信の設定項目(セキュリティグループ名)(不図示)に割り振られた識別子である。
≪連携サービスカタログに含まれる設定項目表の構成≫
図4は、本実施形態に係る連携サービスカタログ140に含まれる設定項目表(設定項目情報)200のデータ構成を示す図である。設定項目表200は、例えば、表形式のデータであり、各列は1つの設定項目を表している。図4では、スペースの関係上、3つの表(210、220および230)に分割して記載しているが、論理上はこれらを横に1つにつなげた3行からなる表形式のデータである。
図4は、本実施形態に係る連携サービスカタログ140に含まれる設定項目表(設定項目情報)200のデータ構成を示す図である。設定項目表200は、例えば、表形式のデータであり、各列は1つの設定項目を表している。図4では、スペースの関係上、3つの表(210、220および230)に分割して記載しているが、論理上はこれらを横に1つにつなげた3行からなる表形式のデータである。
第1行は、設定項目に割り振られた識別子である設定項目識別子211である。第2行は、依存関係にある設定項目の識別子である依存先設定項目212である。依存先がない場合には、「−」となる。第3行は、設定順序を示す構築順序213である。構築順序決定処理(設定順序決定処理)を実行する前なので、全ての設定項目において構築順序213は、未定を示す「−」となっている。
続いて、図4に記載した依存先設定項目212について説明する。例えば、N6である公開サブネット310のルートテーブルは、N5である仮想ネットワーク300の「IP CIDRブロック」(図12の符号ST4参照)に依存している。同様に、N7はN5に依存する。
N8であるVM1(311)のセキュリティグループ名は、N6である公開サブネット310のセキュリティグループ名(符号ST5参照)に依存している。同様に、N9はN7に依存する。
N8であるVM1(311)のセキュリティグループ名は、N6である公開サブネット310のセキュリティグループ名(符号ST5参照)に依存している。同様に、N9はN7に依存する。
N10であるAPL1(312)の設定には、自身が稼働するVM1(311)の設定項目(設定項目識別子はN8)が必要である。同様に、N11はN9に依存する。構成要素(ノード)間に入れ子の関係がある場合には、内側の構成要素は、外側の構成要素に依存する。
N12であるインターネットGW700の設定は、N5である仮想ネットワーク300のアドレス情報(「IP CIDRブロック」、符号ST4参照)に依存する。また、リンク系の設定項目(L1〜L7)は、接続する構成要素に依存する。例えば、L4の設定項目は、接続するN4やN8のアドレス情報に依存する。
N12であるインターネットGW700の設定は、N5である仮想ネットワーク300のアドレス情報(「IP CIDRブロック」、符号ST4参照)に依存する。また、リンク系の設定項目(L1〜L7)は、接続する構成要素に依存する。例えば、L4の設定項目は、接続するN4やN8のアドレス情報に依存する。
図4に示すように、設定項目識別子211と依存先設定項目212は、連携サービスカタログ140に予め記載されている。
図5は、本実施形態に係る、依存先設定項目212に示される依存関係から、構築順序決定部111が、構築順序213を決定した後の設定項目表200Aを示す図である。構築順序決定部111は、依存先設定項目212が設定されていない(「−」)設定項目(N1〜N5、N13)の構築順序213を1とする。次に、構築順序(設定順序)が1と決まった設定項目(N1〜N5、N13)を依存先設定項目212とする設定項目の構築順序213を2とする。例えば、N5を依存先設定項目212とするN6や、N1とN3とを依存先設定項目212とするL1の構築順序を2とする。
続いて、構築順序が1または2と決まった設定項目を依存先設定項目212とする設定項目の構築順序213を3とする。例えば、N6を依存先設定項目212とするN8の構築順序を3とする。以下これを繰り返す。依存先設定項目212に複数の設定項目がある場合(L1〜L7)には、全ての依存先設定項目212の構築順序(設定順序)が決まった後に、構築順序を割り振る。構築順序決定処理の詳細は、後述する図6を用いて詳細に説明する。
≪構築順序決定処理≫
図6は、本実施形態に係る構築順序決定部111が実行する構築順序決定処理(設定順序決定処理)の流れを示すフローチャートである。図6を参照しながら、構築順序決定部111が実行する構築順序決定処理の詳細を説明する。
図6は、本実施形態に係る構築順序決定部111が実行する構築順序決定処理(設定順序決定処理)の流れを示すフローチャートである。図6を参照しながら、構築順序決定部111が実行する構築順序決定処理の詳細を説明する。
ステップS11において、構築順序決定部111は、設定項目表200の中で構築順序213が未設定(「−」)である設定項目を探索する。
ステップS12において、構築順序決定部111は、探索結果である設定項目(以下、選択設定項目とも記す。)の構築順序213が未設定の項目があれば(S12→Y)、ステップS13に進む。構築順序213が未設定の設定項目がなければ(S12→N)、全ての設定項目の構築順序213が決定済みであり、構築順序決定部111は、構築順序決定処理を終える。
ステップS12において、構築順序決定部111は、探索結果である設定項目(以下、選択設定項目とも記す。)の構築順序213が未設定の項目があれば(S12→Y)、ステップS13に進む。構築順序213が未設定の設定項目がなければ(S12→N)、全ての設定項目の構築順序213が決定済みであり、構築順序決定部111は、構築順序決定処理を終える。
ステップS13において、構築順序決定部111は、選択設定項目がノード系であれば(S13→Y)、ステップS14に進み、ノード系ではなくリンク系であれば(S13→N)、ステップS18に進む。
ステップS14において、構築順序決定部111は、選択設定項目が、構築順序が未設定の他のノード系設定項目に依存するか判定する。依存するか否かは、依存先設定項目212にある設定項目の構築順序213が設定済みか、未設定であるかで判定できる。例えば、N1〜N5に構築順序が1に設定済みであり、他は未設定の状態であるとする。この状態の場合、N6については、依存先であるN5は構築順序が設定済みであり、構築順序未設定の他のノード系設定項目に依存しない(N)。N8については、依存先であるN6は構築順序が未設定であり、構築順序未設定の他のノード系設定項目に依存する(Y)。
ステップS14において、構築順序決定部111は、選択設定項目が、構築順序が未設定の他のノード系設定項目に依存するか判定する。依存するか否かは、依存先設定項目212にある設定項目の構築順序213が設定済みか、未設定であるかで判定できる。例えば、N1〜N5に構築順序が1に設定済みであり、他は未設定の状態であるとする。この状態の場合、N6については、依存先であるN5は構築順序が設定済みであり、構築順序未設定の他のノード系設定項目に依存しない(N)。N8については、依存先であるN6は構築順序が未設定であり、構築順序未設定の他のノード系設定項目に依存する(Y)。
ステップS15において、構築順序決定部111は、ステップS14の判定が依存する(S15→Y)ならば、ステップS16に進み、依存しない(S15→N)ならば、ステップS17に進む。
ステップS16において、構築順序決定部111は、選択設定項目を依存先設定項目212である設定項目に変更して、ステップS14に戻る。
ステップS16において、構築順序決定部111は、選択設定項目を依存先設定項目212である設定項目に変更して、ステップS14に戻る。
ステップS17において、構築順序決定部111は、選択設定項目の構築順序213を設定する。詳しくは、選択設定項目が依存している設定項目の中で構築順序213が最大のものに1加えた構築順序213を設定する。例えば、N1〜N5に構築順序が1に設定済みであり、他は未設定の状態であるとする。この状態の場合、N6については、依存先であるN5は構築順序が1であるので、構築順序を2と設定する。依存先が設定されていない場合には、構築順序を1とする。
ステップS18において、構築順序決定部111は、リンク系である選択設定項目の両端のノード系設定項目(依存先設定項目212)の構築順序213が設定済みか判定する。
ステップS19において、構築順序決定部111は、ステップS18の判定が設定済み(S19→Y)であれば、ステップS21に進み、いずれかが未設定(S19→N)であれば、ステップS20に進む。
ステップS19において、構築順序決定部111は、ステップS18の判定が設定済み(S19→Y)であれば、ステップS21に進み、いずれかが未設定(S19→N)であれば、ステップS20に進む。
ステップS20において、構築順序決定部111は、両端のノード系設定項目のうち未設定であるノード系設定項目を選択設定項目として、ステップS14に進む。
ステップS21において、構築順序決定部111は、リンク系である選択設定項目の構築順序213を設定する。詳しくは、両端のノード系設定項目の中で構築順序213が最大のものに1加えた構築順序213を設定する。例えば、N1〜N5、N13に構築順序が1に設定済みであり、N12に構築順序が2に設定済みの状態であるとする。この状態の場合、L7については、依存先のN12は構築順序が2であり、他の依存先のN13は構築順序が1であるので、構築順序を3と設定する。
ステップS21において、構築順序決定部111は、リンク系である選択設定項目の構築順序213を設定する。詳しくは、両端のノード系設定項目の中で構築順序213が最大のものに1加えた構築順序213を設定する。例えば、N1〜N5、N13に構築順序が1に設定済みであり、N12に構築順序が2に設定済みの状態であるとする。この状態の場合、L7については、依存先のN12は構築順序が2であり、他の依存先のN13は構築順序が1であるので、構築順序を3と設定する。
以上、説明したように本実施形態によれば、構築順序決定部111は、設定項目表200に記載された構成要素の設定項目の依存関係に注目して構築順序(設定項目の設定順序)を決定する。このために、サービス構築順序決定装置100は、最短の構築順序を効率的に決定することができる。また、サービス構築順序決定装置100は、並列的に設定可能な設定項目を決定し、示すことができる。
≪変形例1:構築範囲を指定して構築順序決定≫
上記した実施形態では、連携サービス全体にわたって構築順序を決定している。これに対して、連携サービスの構成要素を複数の構築範囲(構成要素グループ)に分割し、さらに構築範囲間で構築順序を設定した上で、設定項目間の構築順序(設定順序)を決定することも可能である。
上記した実施形態では、連携サービス全体にわたって構築順序を決定している。これに対して、連携サービスの構成要素を複数の構築範囲(構成要素グループ)に分割し、さらに構築範囲間で構築順序を設定した上で、設定項目間の構築順序(設定順序)を決定することも可能である。
図7は、本実施形態の変形例1に係る構築範囲を説明するための図である。設定項目への識別子の割り振りは、図3と同じである。ここでは、構築範囲を3つに分割する例を説明する。構築範囲Aには、N1〜N3、L1およびL2が含まれる。構築範囲Bには、N4、L3およびL4が含まれる。残りの設定項目は、構築範囲Cに含まれる。このように構築範囲に分割した上で、例えば、構築範囲A、構築範囲C、構築範囲Bの順序で連携サービスを構築する。
最初に、構築範囲Aの中で、構築順序決定部111が構築順序決定処理を実行する。図8は、本実施形態の変形例1に係る、構築範囲214の行を追加し、構築範囲Aの中で構築順序が決定した設定項目表200Bを示す図である。構築範囲214がAであるN1〜N3、L1、L2の設定項目の構築順序213が決定しており、構築順序の番号は1〜2である。
次に、構築範囲Cの中で、構築順序決定部111が構築順序決定処理を実行する。図9は、本実施形態の変形例1に係る、構築範囲Aに続いて構築範囲Cの中で構築順序が決定した設定項目表200Cを示す図である。図8と比較して、構築範囲214がCであるN5〜N13、L5〜L7の設定項目の構築順序213が決定しており、構築順序の番号は3〜6である。
続いて、構築範囲Bの中で、構築順序決定部111が構築順序決定処理を実行する。図10は、本実施形態の変形例1に係る、構築範囲A、構築範囲Cに続いて、構築範囲Bの中で構築順序が決定した設定項目表200Dを示す図である。図9と比較して、構築範囲214がBであるN4、L3、L4の設定項目の構築順序213が決定しており、構築順序の番号は7〜8である。
上記の構築範囲A、構築範囲C、構築範囲Bの構築順序とは異なる、構築範囲間の構築順序での例を説明する。図11は、本実施形態の変形例1に係る、構築範囲Aと構築範囲Cとを並行して構築順序を決定し、その後に構築範囲Bの構築順序を決定した場合の設定項目表200Eを示す図である。構築順序決定部111が実行する構築順序決定処理は、上記した実施形態と同様であり、最初に構築範囲Aと構築範囲Cとに限定して構築順序決定処理(図6参照)を実行して、続いて、構築範囲Bに限定して構築順序決定処理を実行する。構築範囲A、構築範囲Cの順で構築順序を決定した図8の場合には、構築順序は1〜8であった。これに比べて図11の場合には、構築範囲Aと構築範囲Cとで並行して構築順序を決定したため、1〜6と少ない構築順序で、全体が構築可能となっている。
変形例1では、サービス単位など、関連性が強い構成要素をまとめて1つの構築範囲としてまとめて設定するようにしている。構築範囲に分割して、構築範囲内の構成要素をまとめて設定することで、設定の効率を向上させることができる。例えば、構築範囲Aは、端末とMRであり、モバイル通信サービスとして、これらの機器をレンタルするときにまとめて設定するのが効率的である。また、構築範囲Cは、計算機基盤サービスであり、1つの卸サービスの中で一括して設定するのが効率的である。
≪変形例2:任意のノードと接続するリンク≫
図2に示した連携サービスでは、構築する時点で全ての構成要素が決まっている。しかしながら、一部の構築要素が未定のまま、連携サービスを構築する場合もある。例えば、図2において、インターネット800経由でVM1(311)にアクセスする端末であるT3(603)は、連携サービス開始後に随時追加されることが考えられる。このような場合には、追加される端末の設定項目を一括りにしてN13(図3参照)として構築順序を決定してもよいし、N13がないものとして構築順序を決定してもよい。
このようにすることで、連携サービスカタログ140に含まれていない構成要素がある場合でも、構築順序が決定できる。
図2に示した連携サービスでは、構築する時点で全ての構成要素が決まっている。しかしながら、一部の構築要素が未定のまま、連携サービスを構築する場合もある。例えば、図2において、インターネット800経由でVM1(311)にアクセスする端末であるT3(603)は、連携サービス開始後に随時追加されることが考えられる。このような場合には、追加される端末の設定項目を一括りにしてN13(図3参照)として構築順序を決定してもよいし、N13がないものとして構築順序を決定してもよい。
このようにすることで、連携サービスカタログ140に含まれていない構成要素がある場合でも、構築順序が決定できる。
≪その他の変形例≫
変形例1では、サービス単位など、関連性が強い構成要素をまとめて1つの構築範囲としてまとめて設定するようにしている。これに対して、サービス構築順序決定装置100は、リンク系の設定項目を除いて、ノード系の設定項目の依存関係だけに着目して、構築範囲を決定し、さらに決定した構築範囲内で構築順序を決定してもよい。図4を参照して説明する。1つのノード系設定項目として、例えばN6に着目し、N6のみを構築範囲とする。次に、構築範囲に含まれる設定項目の依存先設定項目、および、構築範囲に含まれる設定項目を依存先設定項目とする設定項目を構築範囲に加える。現段階では構築範囲はN6なので、N5およびN8を構築範囲に加える。以下これを繰り返すと、N7、N12、N10が加わり、次にN9が加わり、最後にN11が加わる。
このような方法でサービス構築順序決定装置100が、構築範囲を決定することで、ノード系に着目した構築範囲に分割でき、並列的に構築可能な構築範囲を特定することができる。
さらに、構築範囲に含まれる設定項目のみに依存するリンク系項目があれば、サービス構築順序決定装置100は、これを構築範囲に加えてもよい。上記の例では、L5を構築範囲に加えてもよい。
変形例1では、サービス単位など、関連性が強い構成要素をまとめて1つの構築範囲としてまとめて設定するようにしている。これに対して、サービス構築順序決定装置100は、リンク系の設定項目を除いて、ノード系の設定項目の依存関係だけに着目して、構築範囲を決定し、さらに決定した構築範囲内で構築順序を決定してもよい。図4を参照して説明する。1つのノード系設定項目として、例えばN6に着目し、N6のみを構築範囲とする。次に、構築範囲に含まれる設定項目の依存先設定項目、および、構築範囲に含まれる設定項目を依存先設定項目とする設定項目を構築範囲に加える。現段階では構築範囲はN6なので、N5およびN8を構築範囲に加える。以下これを繰り返すと、N7、N12、N10が加わり、次にN9が加わり、最後にN11が加わる。
このような方法でサービス構築順序決定装置100が、構築範囲を決定することで、ノード系に着目した構築範囲に分割でき、並列的に構築可能な構築範囲を特定することができる。
さらに、構築範囲に含まれる設定項目のみに依存するリンク系項目があれば、サービス構築順序決定装置100は、これを構築範囲に加えてもよい。上記の例では、L5を構築範囲に加えてもよい。
設定項目間に依存関係がない場合には、図5のN1〜N5のように同時並列的に構築可能である。このような場合には、設定処理時間が長くかかる設定項目から先に設定処理を開始して、全体として設定時間(連携サービスの構築時間)が短くなるように連携サービスを構築するのが望ましい。このために、サービス構築順序決定装置100は、予め各設定項目の設定処理時間を計測して記憶部130に記憶しておき、設定項目表200に設定処理時間の行を追加し、各設定項目の設定処理時間を格納するようにしてもよい。連携サービスを構築するときには、構築順序が同じ設定項目の中で、設定処理時間が長いものから設定が開始される。
設定項目間に依存関係がある場合であっても、項目内容によっては、設定内容を事前に定めておくことで、先に設定したり並列に設定したりすることが可能である。例えば、仮想ネットワーク300内のIPアドレスは、設定開始時に予め割り振ることが可能な場合がある。このために、依存先設定項目212がIPアドレスによるものであれば、サービス構築順序決定装置100は、依存先がないものとして構築順序を決定してもよい。ルートテーブルやノードの名称も、予め割り振ることが可能であり、サービス構築順序決定装置100は、依存先がないものとして構築順序を決定してもよい。
1つの構成要素について複数の設定項目があり、同じ構成要素に対して設定のためのアクセスを繰り返し行う場合がある。1つの構成要素に対する設定項目の中で、早い構築順序の設定項目を後ろにずらして設定可能ならば、サービス構築順序決定装置100は、複数の設定項目をまとめて設定するように構築順序を変更してもよい。また、設定項目表200にグループの行を加え、サービス構築順序決定装置100は、並行して設定可能な設定項目を1つの同じグループとして設定し、連携サービス構築時には、同じグループの設定項目がまとめて設定されるようにしてもよい。こうすることで、構成要素に対するアクセス回数を削減して、効率的に設定する(連携サービスを構築する)ことができる。
連携サービスを構築するときには、各設定項目について、構築順序が小さい設定項目の設定が完了していない場合であっても、依存先の設定項目の設定が完了していれば、設定が開始されてもよい。図5において、例えば、N6は、構築順序が2であり、構築順序が1であるN1〜N5およびN13が完了しないと、開始できない。しかしながら、N6の依存先設定項目はN5のみであり、N5の設定が完了していれば、N1〜N4およびN13の設定完了を待たずに設定が開始されてもよい。図5は、1つの連携サービスの中での構築順序の例であるが、1つの構成要素の中や変形例1で示した構築範囲の中においてでも同様に、構築順序にとらわれず、依存先設定項目の設定完了を待って設定項目の設定を開始してよい。
≪効果≫
連携サービスの構築において、サービス構築順序決定装置100は、構成要素の各設定項目の依存関係に注目して構築順序(設定項目の設定順序)を決定している。このために、サービス構築順序決定の過程を単純化させることができ、サービス構築順序決定装置100は、最短の構築順序を効率的に決定することができる。また、サービス構築順序決定装置100は、並列的に設定可能な設定項目を示すことができ、複数同時設定が可能な構築順序を決定することができる。
連携サービスの構築において、サービス構築順序決定装置100は、構成要素の各設定項目の依存関係に注目して構築順序(設定項目の設定順序)を決定している。このために、サービス構築順序決定の過程を単純化させることができ、サービス構築順序決定装置100は、最短の構築順序を効率的に決定することができる。また、サービス構築順序決定装置100は、並列的に設定可能な設定項目を示すことができ、複数同時設定が可能な構築順序を決定することができる。
従来までは、並列に設定可能な設定項目まで順序を付けて設定していた。このために設定に失敗したときには、当該設定項目が依存する設定項目まで戻って再設定して、続いて、本来再設定が不要な依存関係のない設定項目まで再設定する場合があった。サービス構築順序決定装置100は、依存関係のある設定項目から順番に設定していく構築順序を決定している。このために、連携サービス構築作業では、構築の途中でリソース不足などによってサービス構築の失敗が生じたとしても、依存関係のある設定項目のみが再設定されて、依存関係がない設定項目の再設定を回避することができる。このために、従来と比較して再設定する回数を削減することができ、効率的に連携サービスを構築できる。
連携サービスカタログ140に含まれる設定項目表200では、設定項目をノード系とリンク系とに分類して記載している。このように分類することで、単に構築順序決定が効率化されるだけではなく、連携サービスカタログ140の作成者にとって設定項目間の依存関係が把握しやすくなり、効率的に設定項目表200が作成できるようになる。
100 サービス構築順序決定装置
110 制御部
111 構築順序決定部
130 記憶部
140 連携サービスカタログ
200、200A、200B、200C、200D、200E 設定項目表(設定項目情報)
110 制御部
111 構築順序決定部
130 記憶部
140 連携サービスカタログ
200、200A、200B、200C、200D、200E 設定項目表(設定項目情報)
Claims (6)
- ネットワークで接続される複数の構成要素からなる連携サービスシステムのサービス構築順序を決定するサービス構築順序決定装置であって、
前記構成要素の設定項目と、前記設定項目が依存する設定項目である依存先設定項目と、構築順序とを関連付けて格納する設定項目情報を記憶する記憶部と、
前記設定項目情報を参照し、前記依存先設定項目が設定されてない前記設定項目、または、前記依存先設定項目の前記構築順序が決定している前記設定項目から順番に構築順序を設定していく構築順序決定部と、
を備えることを特徴とするサービス構築順序決定装置。 - 前記設定項目は、前記構成要素に関する設定項目であるノード系設定項目と、前記構成要素間の通信接続に関する設定項目であるリンク系設定項目からなり、
前記リンク系設定項目の前記依存先設定項目は、前記リンク系設定項目が示す通信接続により接続される構成要素の設定項目であること、
を特徴とする請求項1に記載のサービス構築順序決定装置。 - 前記リンク系設定項目の前記依存先設定項目は、前記通信接続により接続される1端の構成要素の設定項目のみであるか、前記通信接続により接続される1端の構成要素の設定項目と接続が想定される1つの構成要素の設定項目とであるかのいずれか一方であること、
を特徴とする請求項2に記載のサービス構築順序決定装置。 - 前記構成要素は、複数の構成要素グループに分割され、さらに、前記構成要素グループ間で構築順序の設定の順序であるグループ構築順序が設定され、
前記構築順序決定部は、前記グループ構築順序の順序に従って、各構成要素グループ内での構築順序を設定していくこと、
を特徴とする請求項1に記載のサービス構築順序決定装置。 - ネットワークで接続される複数の構成要素からなる連携サービスシステムのサービス構築順序を決定するサービス構築順序決定装置のサービス構築順序決定方法であって、
前記サービス構築順序決定装置は、
前記構成要素の設定項目と、前記設定項目が依存する設定項目である依存先設定項目と、構築順序とを関連付けて格納する設定項目情報を記憶する記憶部を備えており、
前記設定項目情報を参照し、前記依存先設定項目が設定されてない前記設定項目、または、前記依存先設定項目の前記構築順序が決定している前記設定項目から順番に構築順序を設定していく構築順序決定ステップ
を実行することを特徴とするサービス構築順序決定方法。 - 前記構成要素は、複数の構成要素グループに分割され、さらに、前記構成要素グループ間で構築順序の設定の順序であるグループ構築順序が設定され、
前記構築順序決定ステップは、前記グループ構築順序の順序に従って、各構成要素グループ内での構築順序を設定すること、
を特徴とする請求項5に記載のサービス構築順序決定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017150449A JP6721549B2 (ja) | 2017-08-03 | 2017-08-03 | サービス構築順序決定装置およびサービス構築順序決定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017150449A JP6721549B2 (ja) | 2017-08-03 | 2017-08-03 | サービス構築順序決定装置およびサービス構築順序決定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019028905A JP2019028905A (ja) | 2019-02-21 |
JP6721549B2 true JP6721549B2 (ja) | 2020-07-15 |
Family
ID=65478614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017150449A Active JP6721549B2 (ja) | 2017-08-03 | 2017-08-03 | サービス構築順序決定装置およびサービス構築順序決定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6721549B2 (ja) |
-
2017
- 2017-08-03 JP JP2017150449A patent/JP6721549B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019028905A (ja) | 2019-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470001B2 (en) | Multi-account gateway | |
US10708125B1 (en) | Gateway configuration using a network manager | |
US10230661B2 (en) | Distributed virtual network embedding | |
US9398081B2 (en) | Automating client development for network APIs | |
US11637889B2 (en) | Configuration recommendation for a microservice architecture | |
WO2021135344A1 (zh) | 虚拟私有云与云下数据中心通信、配置方法及相关装置 | |
JP6533475B2 (ja) | 管理装置、および、ネットワークサービス管理方法 | |
WO2020062582A1 (zh) | 信息引流、请求发送、通信加速方法、引流及节点服务器 | |
CN104601592A (zh) | 一种接入云服务的方法及接入设备 | |
CN110647559A (zh) | 数据处理方法、相关节点及系统 | |
KR101754618B1 (ko) | 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치 | |
CN114281573A (zh) | 工作流数据交互方法、装置及电子装置、可读存储介质 | |
WO2020081331A1 (en) | System and method for automated information technology services management | |
JP2024502002A (ja) | ネットワークアズアサービス(NaaS)システムを用いた自動化されたネットワーク構成のためのシステム及び方法 | |
EP4004754A1 (en) | Network-based media processing (nbmp) workflow management through 5g framework for live uplink streaming (flus) control | |
CN110213365B (zh) | 基于用户分区的用户访问请求处理方法及电子设备 | |
JP2018055479A (ja) | サービス条件処理プログラム、装置、及び方法 | |
US20200036784A1 (en) | Peer-to-peer network for internet of things resource allocation operation | |
CN110380930B (zh) | 一种测试方法、装置及服务器、计算机存储介质 | |
JP6721549B2 (ja) | サービス構築順序決定装置およびサービス構築順序決定方法 | |
WO2020160884A1 (en) | Telecommunications network | |
JP2023522785A (ja) | 調和総合プロキシサービス | |
CN114356575A (zh) | 用户请求处理方法及装置 | |
JP6947129B2 (ja) | 管理装置およびネットワーク管理方法 | |
Àlvarez et al. | Network formation for asymmetric players and bilateral contracting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190826 |
|
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: 20200616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200618 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6721549 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |