JP2015191563A - コマンド提供システムおよびコマンド提供装置 - Google Patents

コマンド提供システムおよびコマンド提供装置 Download PDF

Info

Publication number
JP2015191563A
JP2015191563A JP2014069845A JP2014069845A JP2015191563A JP 2015191563 A JP2015191563 A JP 2015191563A JP 2014069845 A JP2014069845 A JP 2014069845A JP 2014069845 A JP2014069845 A JP 2014069845A JP 2015191563 A JP2015191563 A JP 2015191563A
Authority
JP
Japan
Prior art keywords
api
command
communication node
event
notification
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.)
Granted
Application number
JP2014069845A
Other languages
English (en)
Other versions
JP6096700B2 (ja
JP2015191563A5 (ja
Inventor
浩康 木村
Hiroyasu Kimura
浩康 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014069845A priority Critical patent/JP6096700B2/ja
Publication of JP2015191563A publication Critical patent/JP2015191563A/ja
Publication of JP2015191563A5 publication Critical patent/JP2015191563A5/ja
Application granted granted Critical
Publication of JP6096700B2 publication Critical patent/JP6096700B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】統合運用システムにおいて、多くの機器およびソフトウェアのことを考慮した結果、膨大な数のプロトコルおよびAPIが日々生まれてくることとなり、ユーザおよびAPIの提供者の学習コストと運用コストなどがコントロールできる範囲を超え増えている。
【解決手段】APIを要求するAPIクライアントとインフラ運用者が操作するためのHMIと複数の通信ノードとネットワーク経由して接続し、通信ノードの状態変化によるイベント情報と設定可能である機能をAPIとして事前に登録した上で、通信ノードにおいて発生したイベント通知の回数と事前に定義した通知回数に対する閾値の値または範囲を元にAPIの利用可否を動的に変更し、利用可能であればAPIクライアントに対して事前定義したAPIを提供するAPI提供サーバにより、達成できる。
【選択図】図1

Description

本発明は、コマンド提供システムおよびコマンド提供装置に係り、特にシステムの状態に応じて通信ノードの状態を動的に変更させるコマンド提供システムおよびコマンド提供装置に関する。
CORBA(Common Object Request Broker Architecture)システム、Webサービス、クラウドコンピューティングといった分散システムを統合的に扱う技術がある。加えて、IETF(Internet Engenineering Task Force)において検討されているi2rs(Interface to the Routing System)、OpenFlow、近年データセンター向けサービスから始まったSDN(Software-Defined Network)、キャリア向けサービスであるNFV(Network Functions Virtualization)といった統合運用システムを構築するための技術が注目を浴びている。
ハードウェアにおいては汎用コンピュータ、モバイル機器を代表とする組込機器、ネットワーク機器、ストレージ機器など、ソフトウェアに関しては様々なアプリケーション、データベースシステム、OS(Operating System)などをネットワークに接続した上で標準化されたプロトコルまたはAPI(Application Programming Interface)を用い相互接続することで過去には困難であったシステム間の連携が容易かつ低コストで可能になった。
本技術分野の背景技術として、例えば特許文献1には、ロール情報を用いて複数のサービスのそれぞれについて、アクセスを許可するか否かを統一的に判定することでコストを削減することができることが、開示されている。
特開2013−008229号公報
しかし、システム間の連携は、容易に連携かつ低コストでの運用の可能性がある一方、以下のような課題が存在する。
(1)それぞれの技術および機器は、本来の適用されていたシステムのユースケースを最適化する目的において各プロトコルおよびAPIが設計されることで、本来の使用方法とは異なる使い方を強いられるケースがある。
(2)インフラの構築時と、構築が終わり安定した運用時とでは必要とする機能が変わってくる。にもかかわらずユーザに対して必要以上に機能を公開することでユーザの学習コストの増大およびミスによる障害発生などの問題を起こす可能性が常に存在する。
(3)あまりにも多くの機器およびソフトウェアを考慮した結果、膨大な数のプロトコルおよびAPIが日々生まれてくる。この結果、ユーザおよびAPIの提供者の学習コストと運用コストがコントロールできる範囲を超え増えてくる。
特許文献1において、多くの機能をロール情報で管理することにより、コストおよび運用ミスを低減できる。しかし、ロール情報でアクセスできるAPIを制限したとしても大量にAPIがすでに存在しているような場合、または多くのユーザが存在する場合、すでに提供されているAPIの整合性をとった上で提供することは非常に難しく、逆に運用コストが上昇する。
特にクラウド環境などにおいては、様々なシステムを疎結合で繋いで大きなシステムを構築することがあり、詳細なロール情報の内容を判断した上で全ての管理しきることは実環境においては現実的ではない。また、機能の粒度が異なるものを同じロール管理の土俵に乗せることも非常に難しく、実施の形態を見る限りはシステムが肥大化するにつれ複雑化する。
本発明の目的は、ネットワークシステムを構成する通信ノードにおいて利用可能であるすべてのAPIをユーザに対していつでも提供するのではなく、提供者が提供したいと考える時期、機能範囲、通信ノードの構成を考慮した情報に基づき最適化し、必要なタイミングで提供するコマンド提供システムおよびコマンド提供装置を供することにある。
上述した課題は、通信ノードと、この通信ノードにコマンドを提供して、通信ノードを制御するコマンド提供装置と、を含むコマンド提供システムにおいて、通信ノードは、予め定めた第1の条件を満たしたとき、コマンド提供装置にイベント通知を送信し、コマンド提供装置は、イベント通知を受信し、予め定めた第2の条件を満たしたとき、通信ノードにコマンドを送信し、通信ノードは、コマンドを受信したとき、コマンドを設定するコマンド提供システムにより、達成できる。
また、通信ノードとネットワークを介して接続され、通信ノードにコマンドを提供して制御するコマンド提供装置であって、コマンドを登録し、コマンド適用可否を動的に変更させるコマンド登録テーブルと、イベントの種別、イベントの取得内容、イベントの通知元の通信ノード、通知方法を登録するイベント登録テーブルと、事前に登録したイベント情報を元に通知回数を動的に変更するイベント通知テーブルと、通信ノードからイベント通知を受信するイベント取得部と、通信ノードへ、コマンドを送信するコマンド送信部と、コマンド管理部と、を備え、コマンド管理部は、受信したイベント通知の数が予め定めた条件を満たすとき、コマンド送信部にコマンドの送信を指示するコマンド提供装置により、達成できる。
本発明によれば、ネットワークシステムを構成する通信ノードにおいて利用可能であるすべてのAPIをユーザに対していつでも提供するのではなく、提供者が提供したいと考える時期、機能範囲、通信ノードの構成を考慮した情報に基づき最適化し、必要なタイミングで提供ができる。
API提供システムのブロック図である。 API登録テーブルの構成を説明する図である。 イベント登録テーブルの構成を説明する図である。 イベント通知テーブルの構成を説明する図である。 API IDテーブルの構成を説明する図である。 API提供システムの信号の流れを説明するブロック図である。 API管理部の処理を説明するフローチャートである。 イベント取得部の処理を説明するフローチャートである。 SBI送信部とSBI受信部との間のシーケンス図である。 API提供システムの信号の流れを説明するブロック図である。 API登録テーブルの構成の構成を説明する図である。 API IDテーブルの構成を説明する図である。 イベント通知テーブルの構成を説明する図である。 API提供システムの信号の流れを説明するブロック図である。 API登録テーブルの構成の構成を説明する図である。 API IDテーブルの構成を説明する図である。 イベント通知テーブルの構成を説明する図である。 API提供システムの信号の流れを説明するブロック図である。 API登録テーブルの構成の構成を説明する図である。 API IDテーブルの構成を説明する図である。 イベント通知テーブルの構成を説明する図である。 イベント通知テーブルの構成を説明する図である。
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。
実施例1では、Static Routeを扱う通信ノード(通信装置)400としてルータを適用した場合の、API提供サーバ(コマンド提供装置)300を説明する。ここで、Static Routeは、宛先ネットワークへの最適なルートを管理者が手動で設定したルートのことである。
図1を参照して、API提供システムの構成を説明する。図1において、API提供システム(コマンド提供システム)700は、APIクライアント(端末装置)100と、HMI(Human Machine Interface)(保守装置)200と、API提供サーバ300と、通信ノード400と、ネットワーク600と、を含んでいる。
API提供サーバ300は、メモリ310と、CPU340と、物理ポート350と、を含む。メモリ310は、API管理DB320と、イベント管理DB330と、を保持する。API管理DB320は、API登録テーブル(コマンド登録テーブル)321と、API IDテーブル322と、を含む。イベント管理DB330は、イベント登録テーブル331と、イベント通知テーブル332と、を含む。CPU340は、イベント取得部341と、SBI(SouthBound Interface)送信部(コマンド送信部)342と、API管理部(コマンド管理部)343と、して機能する。通信ノード400は、SBI受信部410と、イベント送信部420と、を含む。通信ノード400は、区別するとき、通信ノード400−A、通信ノード400−Bと表記する。
APIクライアント100、HMI 200、通信ノード400は、ネットワーク600を介して、API提供サーバ300と物理ポート350を介して接続し、相互に通信する。物理ポート350は、区別するとき、物理ポート350−1、物理ポート350−2と記載する。
APIクライアント100は、API提供システム700を利用するAPIユーザによって操作される。HMI 200は、API提供システム700の運用者によって操作され、API提供サーバ300に要する情報を登録する。HMI 200は、API提供サーバ300の物理ポート350を経由しAPI管理部343にアクセスする。HMI 200は、API管理DB(Date Base)320とイベント管理DB330上のすべてのテーブルの情報をAPI提供システム700の運用前に設定する。
ネットワーク600は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットを含むネットワークである。通信ノード400は、ネットワーク600とのインタフェースを備え、API提供サーバ300と物理ポート350を通して接続する。実施例1では、通信ノード400は、ルータであるとして説明するが、通信ノード400は、ルータのようなネットワーク機器だけではなく、サーバ、コントロール機能をもつストレージ、モバイル機器を含む通信機能を備えた機器であればよい。
HMI 200は、API提供サーバ300が提供するAPIの種別とAPI ID登録、イベント登録、イベント通知登録を、事前に行う。HMI 200からAPI提供サーバ300に対して登録する情報は、事前にAPI提供システム700を導入する運用者またはAPIの提供者が登録する。API提供サーバ300が行うAPIクライアント100に対するAPIの提供は、この事前にAPIの提供者が登録した情報をもとに行われる。
API提供サーバ300は、通信ノード400から通信ノード400で発生した障害および状態の変化のイベントの通知、または、API提供サーバ300が取得した内容を受信する。API提供サーバ300は、情報を学習し、蓄積し、事前に登録しているAPIのリストのうち提供可能であるAPIの利用可否の情報を変更する。これによって、API提供サーバ300は、APIクライアント100に情報を提供する。
API提供サーバ300は、メモリ310、CPU340、物理ポート350を内部バスによって接続している。API管理DB320は、APIクライアント100から要求されるAPIの具体的内容の登録と要求されるAPIの名称を管理する。イベント管理DB330は、通信ノード400からAPI提供サーバ300が受信するイベントの事前登録とイベント通知の回数を管理する。
APIクライアント100は、ネットワーク600を通してAPI提供サーバ300に接続することが可能なPC、サーバ、モバイル機器である。HMI 200は、ネットワーク600を通してAPI提供サーバ300に接続することが可能なPC、サーバ、モバイル機器であり、ユーザインターフェースを備える。
API提供サーバ300は、事前にHMI 200からAPI登録とイベント登録の指示を受けて各種登録を行い、APIクライアント100にAPIを提供する。API提供サーバ300は、通信ノード400から通信ノード400で発生した障害おおび状態の変化のイベントの通知を受けて、APIクライアント100に提供するAPIを変更する。API提供サーバ300は、APIクライアント100からのAPI要求を受けて、通信ノード400にSBI要求を送信する。ここで、SBIは、下り信号である。
SBI受信部410は、API提供サーバ300から送信されたSBI要求を受信する。SBI受信部410は、要求されたSBIの内容に合わせて通信ノード400の機能設定を行う。イベント送信部420は、API提供サーバ300に対して通信ノード400において発生した障害および設定変更、状態変化を含むイベント通知を通知する。イベント送信部420は、また、API提供サーバ300から問い合わせを受けてイベント通知を行う。
イベント通知は、SNMP(Simple Network Management Protocol)のTrapを用いること、Syslogなどを用いて通知すること、TCP/IPおよびWebSocketを含むプロトコルを使うことが可能である。イベント通知は、APIの提供者が通信ノード400においてサポートされている通信プロトコルであれば利用することができる。また、イベント発生時に、通信ノード400からAPI提供サーバ300への通知だけではなく、API提供サーバ300が、REST(Representational State Transfer)、HTTP Request、scpコマンド(Secure Copy)、FTP(File Transfer Protocol)を含むデータを取得するプロトコルを用いて、定期的にあるいは任意のタイミングで通信ノード400からイベントを取得する。
図2を参照して、API登録テーブルを説明する。API登録テーブルは、APIを識別するID、APIを反映させる操作対象、通信ノードに反映させる機能設定スクリプト(SBI)を登録し、利用可否を動的に変更させるために利用する。図2において、AIP登録テーブル321は、API ID3210と、API操作対象3211と、SBI3212と、利用可否3213と、を含んで構成されている。
API ID3210は、APIクライアント100がAPI提供サーバ300に対して要求するAPIを識別する。API操作対象3211は、APIによる操作対象となる通信ノード400を指定する。SBI3212は、通信ノード400に対する実際の操作内容である。利用可否3213は、APIが実際に利用できる状態であるかを示す。
SBIは、通信ノード400に対する命令コマンドである。SBIは、通信機器におけるCLI(Command Line Interface)、ソフトウェアにおけるAPI、スクリプトおよび設定のためのプロトコルが該当する。
API提供サーバ300は、HMI 200によってデータを入力された初期状態として図2(a)のAPI登録テーブル321(変更前)を保持する。API提供サーバ300は、イベント通知を受けて利用可否3213が変更された場合、API登録テーブル321(変更後)のように利用可否3213を、「NG」から「OK」に変更する。
図2において、API IDが「1」のレコードは、後述する図6の経路1に該当する。一方、API IDが「2」のレコードは、図6の経路2に該当する。
図3を参照して、イベント登録テーブルの構成を説明する。イベント登録テーブルは、イベントの種別、イベントの取得内容、イベントの通知元の通信ノード、通知方法を登録するテーブルである。図3において、イベント登録テーブル331は、通知種別ID3310と、取得情報3311と、イベント通知元3312と、通知方法3313と、を含む。
通知種別ID3310は、通信ノード400から受信したイベント通知を識別する。取得情報3311は、イベント通知によって取得される情報である。イベント通知元3312は、複数存在する通信ノード400のうちどの通信ノード400からイベントを受信したかを示す。通知方法3313は、通信ノード400からのイベント通知をどのような方法で受信したかを示す。
図4を参照して、イベント通知テーブルの構成を説明する。イベント通知テーブルは、APIを識別するID、通信ノードからのイベントを識別するID、事前にAPIの利用可否を判断するために定義する通知回数の閾値と範囲、通知回数を保持し、事前に登録したイベント情報を元に通知回数を動的に変更するテーブルである。図4において、イベント通知テーブル332は、API ID3320と、通知種別ID3321と、通知回数閾値3322と、通知回数3323と、を含む。
API ID3320は、APIクライアント100がAPI提供サーバ300に対して要求するAPIを識別する。通知種別ID3321は、イベント通知を識別する。通知回数閾値3322は、通信ノード400からのイベントの通知回数が指定した範囲内にあるかどうかを判断する。通知回数3323は、通信ノード400からAPI提供サーバ300へのイベントを通知した回数を示す。
図5を参照して、API IDテーブルの構成を説明する。API IDテーブルは、APIクライアントに対して提供するAPI種別のリストを登録するテーブルである。図5において、API IDテーブル322は、API ID3220と、API名3221と、を含む。
API ID3220は、APIクライアント100がAPI提供サーバ300に対して要求するAPIを識別する。API名3221は、API ID3220に対応するAPIの名称、関数、メソッド名を示す。
API登録テーブル321、API IDテーブル322、イベント通知テーブル332に存在するAPI IDは、同一のものを指し示す。
図6を参照して、API提供システムの信号の流れを説明する。図6において、API提供システム700Aは、APIクライアント100と、HMI200と、API提供サーバ300と、ルータ500と、を含んでいる。図1の通信ノード400は、ルータ500−A、ルータ500−B、ルータ500−Cに相当する。ルータ500は、それぞれ有線の物理インタフェースにより、図示しないネットワーク600と接続している。なお、ルータ500−X(X=A〜C)をルータXと表記することがある。
ルータ500は、物理インタフェースに192.0.2.0から始まる/30のサブネットで分割したIPアドレスを設定している。ルータ500−Aは、ルータ500−Cと接続する物理インタフェースに192.0.2.1/30、ルータ500−Bと接続する物理インタフェースに192.0.2.5/30を設定している。ルータ500−Bは、ルータAと接続する物理インタフェースに192.0.2.6/30、ルータ500−Cと接続する物理インタフェースに192.0.2.10/30のIPアドレスを設定している。ルータ500−Cは、ルータ500−Aと接続する物理インタフェースに192.0.2.2/30、ルータBと接続する物理インタフェースに192.0.2.9/30、外部ネットワークへの物理インタフェースに192.0.2.13/30を設定している。
ルータ500−Aからルータ500−Bを経由し、ルータ500−Cの外部ネットワークへの経路1と、ルータ500−Aからルータ500−Cに直接繋がる経路2の二つの経路を考える。それぞれの経路に必要な各ルータの設定を、SBIとしてAPI登録テーブル321のSBI3212にAPIの提供者が登録する。この二つの経路は、いずれのルータにおいても未設定とし、ルータ500−Aからルータ500−Cに対してはこの経路以外の経路が存在していて、Pingコマンドをルータ500−Aからルータ500−Cに対して送信した際に正常に送信できたとする。
ルータ500−Aからルータ500−Cの外部ネットワークへのIPアドレスである192.0.2.13/30への接続性を経路のコントロールにより確保する。ルータ500−AからルータCの192.0.2.13に対してPingコマンドによって接続性を検証し到達性がなかった(到達しなかった)際に発生するicmpエラーをルータ500−AからのSNMP trapによってAPI提供サーバ300に通知する。これによって、ルータ500−Aから500−Cへの物理回線の疎通が不安定になったことをAPI提供サーバ300が検知できる。
API提供サーバ300は、Pingコマンドによって発生したイベント通知を受信して、イベント登録テーブル331のイベントとして登録する。API提供サーバ300は、イベント通知テーブル332の通知回数3323に登録することにより、ルータ500−Aのイベントとして扱う。
APIをAPI提供サーバ300において提供する場合、API登録テーブル321、API IDテーブル322、イベント通知テーブル332、イベント登録テーブル331、を事前に登録しておく。通信ノード400がどのようなSBIとイベント通知の機能を持っているかに関して、マニュアルを含むドキュメントを参照する、または通信ノード400の備えている機能を参照する。APIまたはプロトコルが実装されていれば、参照した結果を直接各テーブルに反映することもできる。
ここでは、ネットワークの運用者が、HMI 200を利用し、初期設定としてAPI登録テーブル321を、API登録テーブル321(変更前)のように登録する。利用可否3213はすべてNG状態となっている。
APIは、API IDテーブル322にあるようにAPI ID3220の値が0001と0002となる二つのAPIに分かれる。API登録テーブル321のAPI IDで参照すると、API ID3210の値が0001のものがルータ500−Bを経由した経路1を設定するAPIを示し、API ID3210の値が0002のものがルータ500−Aからルータ500−Cまで直接の経路である経路2を設定するAPIである。図2(a)のAPI登録テーブル(変更前)は、ルータ500−A、ルータ500−B、ルータ500−Cに登録するStatic RouteのSBIが登録されている。
図7を参照して、API管理部の処理を説明する。なお、HMI 200を利用し、API提供サーバ300に、API登録テーブル321、API IDテーブル322、イベント通知テーブル332、イベント登録テーブル331が登録されているものとする。
図7において、API管理部343は、APIクライアント100からAPIリストの要求を受信する(S100)。API管理部343は、API IDテーブル322からAPIリストを取得する(S110)。API管理部343は、APIリストが取得できたか判定する(S120)。Noのとき、API管理部343は、ステップ100に戻る。ステップ120でYesのとき、API管理部343は、APIクライアント100にAPIリストを返却する(S130)。API管理部343は、APIクライアントがAPIリストから選択したAPIの実行要求を受信する(S140)。API管理部343は、APIのAPI名をキーとしてAPI IDテーブル322からAPI IDを取得する(S150)。API管理部343は、API登録テーブル321からAPI IDをキーとして利用可否3213の値を取得する(S160)。API管理部343は、利用可否3213の値がOKか判定する(S170)。Noのとき、API管理部343は、終了する。ステップ170でYesのとき、API管理部343は、API ID3210をキーにAPI登録テーブル321からAPI操作対象3211とSBI3212の対となる情報をすべて取得する(S180)。API管理部343は、SBI送信部にAPI操作対象とSBIの値をセットとしたリストを送信して(S190)、終了する。
具体的に説明すると、APIクライアント100は、static A_B_Cを選択し、実行要求を出したとする。API管理部343は、API名3321のstatic A_B_CをキーとしてAPI IDテーブル322のAPI ID3220から0001というAPI IDを取得する。さらに、API管理部343は、API登録テーブル321からAPI IDが0001であるエントリから利用可否3213の値を取得する。API登録テーブル321(変更前)を参照すると利用可否3213には、「NG」の値が入っている。このため、API管理部343は、APIクライアント100から実行要求を終了する。
図8を参照して、イベントを取得し、イベントの処理を扱うイベント取得部の処理を説明する。ここでは、Ping送信によるエラーイベントの処理を説明する。なお、ルータ500−Aからルータ500−Cに対してPingを送信しているが、通信路に問題があり何度かicmpエラーが発生することが確認されていることを前提とする。
図8において、イベント取得部341は、ルータ500−Aのイベント送信部420からイベント通知600を受信する(S300)。イベント取得部341は、イベント通知の取得情報とイベント通知元をキーとしてイベント登録テーブル331から通知種別ID3310を取得する(S310)。イベント取得部341は、通知種別ID3310が取得できたか判定する(S320)。Yesのとき、イベント取得部341は、イベント通知テーブル332の通知種別ID3321に該当する通知回数3323を+1更新する(S330)。イベント取得部341は、イベント通知テーブル332の通知回数3323と通知回数閾値3322の範囲と比較する(S340)。イベント取得部341は、範囲内であるか判定する(S350)。Yesのとき、イベント取得部341は、API登録テーブル321の利用可否3213の値を「OK」に変更して(S360)、終了する。ステップ350でNoのとき、イベント取得部341は、API登録テーブル321の利用可否3213の値を「NG」に変更して(S370)、終了する。ステップ320でNoのとき、イベント取得部341は、イベント送信部420に該当通知種別IDが見つからなかったことを送信して(S380)、終了する。
なお、ステップ360において、もともとOKのとき、イベント取得部341は、OKを維持する。また、ステップ370において、もともとNGのとき、イベント取得部341は、NGを維持する。
図9を参照して、API提供サーバのSBI送信部と、通信ノードのSBI受信部の動作を説明する。図9において、SBI送信部342は、物理ポート350を介して、SBIの値をAPI操作対象のSBI受信部410にそれぞれ送信する(S210)。各ルータのSBI受信部410は、受信したSBIの内容をルータに設定する(S220)。
具体的には、図2(b)に示すように、ルータ500−Aは、ip route 192.0.2.12 255.255.255.252 192.0.2.6が反映される。ルータ500−Bは、ip route 192.0.2.12 255.255.255.252 192.0.2.9が反映される。ルータ500−Cは、ip route 192.0.2.4 255.255.255.255.252 192.0.2.10が反映される。
以上のように、各APIは、運用者がHMI 200を利用して設定したAPI提供条件に応じて、通信ノード400の状態に依存して、動的に利用可否を変更することができる。したがって、インフラの状態および時期によって適切なタイミングで運用者が意図したAPIを提供することが可能となる。本実施例ではイベント通知元が一カ所でありイベント通知元と、SBI送信先とが、通信ノード400として同一の場合である。また、SBIの反映先として複数の通信ノード400が存在する場合を示した。
以下、実施例1の変形例を説明する。以下の変形例は、通信ノードの構成とイベント通知の方式またはイベントの通知元の組合せが異なる。
[変形例1]
変形例1では、イベント通知元とSBIの反映先が同一の場合の構成を説明する。
図10を参照して、他のAPI提供システムの構成を説明する。図10において、API提供システム700Bは、APIクライアント100と、HMI 200と、API提供サーバ300と、PC510と、Hub512と、スイッチ513と、サーバ514と、を含んで構成されている。なお、既に説明した実施例1と同一の符号を付された装置については、説明を省略する。
通信ノード400に該当するのがPC510−A、PC510−B、Hub512、スイッチ513、サーバ514となる。PC510−AとPC510−Bからサーバ514への経路3、経路4を介する通信がスイッチ513のVLAN(Virtual Local Area Network) A(今後#IF VLAN Aと表記)を経由し、通信フィルタを行う。実施例1と異なる点は、イベント通知元とSBI送信先が単一かつ同一装置であるという点である。
図11のAPI登録テーブル321B、図12のAPI IDテーブル322A、図13のイベント通知テーブル332Aについて、API提供システム700Bの運用者は、事前に登録する。なお、図3のイベント登録テーブル331は、実施例1と共通である。図12において、SBIとしてフィルタを定義することでAPI名はフィルタの利用可否が選択できる。
図11を参照して、API登録テーブルを説明する。図11において、API登録テーブル321Bは、API ID3210と、API操作対象3211と、SBI3212と、利用可否3213と、を含んで構成されている。SBI3212は、スイッチに対する実際の操作内容である。
図12を参照して、API IDテーブルを説明する。図12において、API IDテーブル322Aは、API ID3220と、API名3221と、を含む。API名3221は、フィルタ種別を記載する。
図13を参照して、イベント通知テーブルを説明する。図13において、イベント通知テーブル332Aは、API ID3320と、通知種別ID3321と、通知回数閾値3322と、通知回数3323と、を含む。
[変形例2]
変形例2は、イベント通知元とSBIの反映先が異なり、通信ノードの役割が異なっている場合を説明する。
図14を参照して、他のAPI提供システムの構成を説明する。図14において、API提供システム700Cは、APIクライアント100と、HMI 200と、API提供サーバ300と、PC510と、Hub512と、認証スイッチ525と、認証サーバ526と、を含んで構成されている。なお、既に説明した実施例1と同一の符号を付された装置については、説明を省略する。
図14において、通信ノード400に該当するのが複数のPC510、Hub512、認証スイッチ525、認証サーバ526である。認証スイッチ525は、ユーザを認証する機能を持ったLANスイッチである。認証スイッチ525は、認証サーバ526と連携して、決められたユーザしかネットワークへアクセスさせない。
認証スイッチ525は、認証先のVLANとして、VLAN−AとVLAN−Bとを用意する。PC510は、認証スイッチ525により、VLAN−A、VLAN−Bのネットワークに振り分けられる。実施例1と異なる点は認証サーバ526がイベント通知の通知元となっており、SBIを送信する対象である通信ノード400と異なっている点である。
図15のAPI登録テーブル321C、図16のAPI IDテーブル322B、図17のイベント通知テーブル332Bについて、API提供システムの運用者は、事前に登録する。なお、図3のイベント登録テーブル331は、実施例1と共通である。図15において、SBIとしてVLANを定義することでAPI名はMAC(Media Access Control)アドレスが選択できる。
図15を参照して、API登録テーブルを説明する。図15において、API登録テーブル321Cは、API ID3210と、API操作対象3211と、SBI3212と、利用可否3213と、を含んで構成されている。SBI3212は、認証スイッチに対する実際の操作内容である。
図16を参照して、API IDテーブルを説明する。図16において、API IDテーブル322Bは、API ID3220と、API名3221と、を含む。API名3221は、MACアドレスを記載する。
図17を参照して、イベント通知テーブルを説明する。図17において、イベント通知テーブル332Bは、API ID3320と、通知種別ID3321と、通知回数閾値3322と、通知回数3323と、を含む。
[変形例3]
変形例3は、イベントの通知方法がこれまでの通知ではなくAPI提供サーバ300から取得する例を説明する。
図18を参照して、他のAPI提供システムを説明する。図18において、API提供システム700Dは、APIクライアント100と、HMI 200と、API提供サーバ300と、コントローラ530と、VM(Virtual Machine)531と、を含んで構成されている。なお、既に説明した実施例1と同一の符号を付された装置については、説明を省略する。
図18において、通信ノード400は、VM531と、コントローラ530とである。上述した実施例1、変形例1、2において、イベントはAPI提供サーバ300に対して通知を行っていた。しかし、変形例3において、定期的または不定期的に、API提供サーバ300から通信ノード400に対して情報を取得する。
図19のAPI登録テーブル321D、図20のAPI IDテーブル322C、図21のイベント通知テーブル332Cについて、API提供システム700Dの運用者は、事前に登録する。なお、図3のイベント登録テーブル331は、実施例1と共通である。図19において、SBIとして仮想CPU割り当て増加、仮想メモリ割り当て増加を定義することでAPI名はVM editが選択できる。
図19を参照して、API登録テーブルを説明する。図19において、API登録テーブル321Dは、API ID3210と、API操作対象3211と、SBI3212と、利用可否3213と、を含んで構成されている。SBI3212は、コントローラ530に対する実際の操作内容である。
図20を参照して、API IDテーブルを説明する。図20において、API IDテーブル322Cは、API ID3220と、API名3221と、を含む。API名3221は、VM editを記載する。
図21を参照して、イベント通知テーブルを説明する。図13において、イベント通知テーブル332Cは、API ID3320と、通知種別ID3321と、閾値3324と、取得値3325と、を含む。閾値3324と取得値3325の単位は、パーセント(%)である。
変形例3は、これまでの通知回数での判断と異なり、図21のイベント通知テーブル332の取得値(%)3325として登録する。ここでは、取得値を100分率の単位としたが、通信ノードにおいて取得できる情報に応じて適宜変更が可能である。
実施例1および変形例によれば、必要な時期に必要なAPIのみを提供することによりユーザが知っていればよいAPIは登録されているAPIだけでよくなり、必要以上のパラメータを操作してしまうこと、および必要がないにも係わらずAPIを呼び出すことがなくなり、設定ミスによる障害を減らすことが可能となる。
実施例2は、通知回数閾値と通知回数の対比による利用可否識別ではなくスケジュールによって利用可否を決定する。
図22を参照して、実施例2におけるイベント通知テーブルを説明する。図22において、イベント通知テーブル332Dは、API ID3320と、通知種別ID3321と、スケジュール3326と、を含む。なお、既に説明した実施例1と同一の符号を付された装置については、説明を省略する。
図22のイベント通知のスケジュール3326がこれまでの通知回数閾値3322と通知回数3323と異なっている。また通知種別ID3321はスケジュールであるため他のイベント通知と異なった体系の値をいれる。図22の場合は0000が入っている。図3のイベント登録テーブル331においても上記までと異なりイベント通知元3312に「−」、通知方法3313に「−」が入っている。スケジュール3326は、年月日時分、曜日、午前午後など運用者が任意で入れることが可能である。イベント取得部341は、任意のタイミングでスケジュール3326の値を読み取り、現在の時刻と比較することでAPIの利用可否の判断を行う。
実施例2によれば、イベント通知だけをAPIの利用可否の判断にするのではなくスケジュールによる判断を追加することでインフラの稼働時期を意識したAPI提供も可能となる。
100…APIクライアント、200…HMI、300…API提供サーバ、310…メモリ、320…API管理DB、321…API登録テーブル、322…API…IDテーブル、330…イベント管理DB、331…イベント登録テーブル、332…イベント通知テーブル、340…CPU、341…イベント取得部、342…SBI送信部、343…API管理部、350…物理ポート、400…通信ノード、410…SBI受信部、420…イベント送信部、500…ルータ、510…PC、512…Hub、513…スイッチ、514…サーバ、525…認証スイッチ、530…コントローラ、531…VM、600…ネットワーク、700…API提供システム。

Claims (6)

  1. 通信ノードと、この通信ノードにコマンドを提供して、前記通信ノードを制御するコマンド提供装置と、を含むコマンド提供システムにおいて、
    前記通信ノードは、予め定めた第1の条件を満たしたとき、前記コマンド提供装置にイベント通知を送信し、
    前記コマンド提供装置は、前記イベント通知を受信し、予め定めた第2の条件を満たしたとき、前記通信ノードに前記コマンドを送信し、
    前記通信ノードは、前記コマンドを受信したとき、前記コマンドを設定することを特徴とするコマンド提供システム。
  2. 請求項1に記載のコマンド提供システムであって、
    前記第1の条件は、障害発生、設定変更または状態変化であることを特徴とするコマンド提供システム。
  3. 請求項1に記載のコマンド提供システムであって、
    前記第2の条件は、通知回数の閾値超または範囲内、もしくはスケジュールであることを特徴とするコマンド提供システム。
  4. 通信ノードとネットワークを介して接続され、前記通信ノードにコマンドを提供して制御するコマンド提供装置であって、
    コマンドを登録し、コマンド適用可否を動的に変更させるコマンド登録テーブルと、
    イベントの種別、イベントの取得内容、イベントの通知元の通信ノード、通知方法を登録するイベント登録テーブルと、
    事前に登録したイベント情報を基に通知回数を動的に変更するイベント通知テーブルと、
    前記通信ノードからイベント通知を受信するイベント取得部と、
    前記通信ノードへ、前記コマンドを送信するコマンド送信部と、
    コマンド管理部と、
    を備え、
    前記コマンド管理部は、受信した前記イベント通知の数が予め定めた条件を満たすとき、前記コマンド送信部に前記コマンドの送信を指示することを特徴とするコマンド提供装置。
  5. 請求項4に記載のコマンド提供装置であって、
    前記コマンド送信部は、前記コマンド登録部に保持された前記コマンドを前記通信ノードに送信することを特徴とするコマンド提供装置。
  6. 請求項4に記載のコマンド提供装置であって、
    前記コマンド管理部は、前記イベント通知テーブルに基づいて、前記コマンド送信部に前記コマンドの送信を指示することを特徴とするコマンド提供装置。
JP2014069845A 2014-03-28 2014-03-28 Api提供システム Active JP6096700B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014069845A JP6096700B2 (ja) 2014-03-28 2014-03-28 Api提供システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014069845A JP6096700B2 (ja) 2014-03-28 2014-03-28 Api提供システム

Publications (3)

Publication Number Publication Date
JP2015191563A true JP2015191563A (ja) 2015-11-02
JP2015191563A5 JP2015191563A5 (ja) 2016-03-10
JP6096700B2 JP6096700B2 (ja) 2017-03-15

Family

ID=54425974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014069845A Active JP6096700B2 (ja) 2014-03-28 2014-03-28 Api提供システム

Country Status (1)

Country Link
JP (1) JP6096700B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7445685B2 (ja) 2020-04-08 2024-03-07 中興通訊股▲ふん▼有限公司 オープンインタフェースの管理方法、電子機器、及び記憶媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008177806A (ja) * 2007-01-18 2008-07-31 Hitachi Communication Technologies Ltd パケット交換ネットワークおよび障害完成装置
JP2012039433A (ja) * 2010-08-09 2012-02-23 Buffalo Inc 集線装置および集線装置を用いた管理方法
JP2012043121A (ja) * 2010-08-18 2012-03-01 Nippon Telegr & Teleph Corp <Ntt> 運用管理システム、運用管理方法及び運用管理装置
JP2013008229A (ja) * 2011-06-24 2013-01-10 Canon Inc 認証システムおよび認証方法およびプログラム
JP2013118507A (ja) * 2011-12-02 2013-06-13 Ntt Data Corp 中継装置、通信制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008177806A (ja) * 2007-01-18 2008-07-31 Hitachi Communication Technologies Ltd パケット交換ネットワークおよび障害完成装置
JP2012039433A (ja) * 2010-08-09 2012-02-23 Buffalo Inc 集線装置および集線装置を用いた管理方法
JP2012043121A (ja) * 2010-08-18 2012-03-01 Nippon Telegr & Teleph Corp <Ntt> 運用管理システム、運用管理方法及び運用管理装置
JP2013008229A (ja) * 2011-06-24 2013-01-10 Canon Inc 認証システムおよび認証方法およびプログラム
JP2013118507A (ja) * 2011-12-02 2013-06-13 Ntt Data Corp 中継装置、通信制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7445685B2 (ja) 2020-04-08 2024-03-07 中興通訊股▲ふん▼有限公司 オープンインタフェースの管理方法、電子機器、及び記憶媒体

Also Published As

Publication number Publication date
JP6096700B2 (ja) 2017-03-15

Similar Documents

Publication Publication Date Title
US11750486B2 (en) Device state management
US11122023B2 (en) Device communication environment
US10547710B2 (en) Device gateway
US10313455B2 (en) Data streaming service for an internet-of-things platform
US20180337894A1 (en) Scalable proxy clusters
US10958648B2 (en) Device communication environment
US9973593B2 (en) Device gateway
EP2320362A1 (en) Apparatus and methods for managing network resources
US10931636B2 (en) Method and system for restricting transmission of data traffic for devices with networking capabilities
US10965789B2 (en) Method and system for updating a whitelist at a network node
JPWO2016013200A1 (ja) 情報処理システム及びネットワークリソース管理方法
JP5865277B2 (ja) 認証スイッチまたはネットワークシステム
JP2008072655A (ja) サービス通信制御方法、サービス中継装置およびサービス通信制御システム
AU2016252526A1 (en) Internet security and management device
US20180115552A1 (en) Methods, systems, and apparatuses of service provisioning for resource management in a constrained environment
CN114422160A (zh) 一种虚拟防火墙的设置方法、装置、电子设备和存储介质
JP2016144186A (ja) 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム
JP6096700B2 (ja) Api提供システム
US11809923B2 (en) Governing access to third-party application programming interfaces
JP2011257960A (ja) 更新方法、更新装置及び更新システム
JP2015154322A (ja) ファイアウォール装置の制御装置及びプログラム
CN115250234A (zh) 一种部署网络设备的方法、装置、设备、系统及存储介质
KR20170006950A (ko) Sdn 기반의 네트워크 플랫트닝 시스템 및 그 방법
CN111866100A (zh) 一种控制数据传输速率的方法、装置和系统
CN112787947A (zh) 网络业务的处理方法、系统和网关设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161222

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: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170216

R150 Certificate of patent or registration of utility model

Ref document number: 6096700

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150