(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-31
(45)【発行日】2022-06-08
(54)【発明の名称】ネットワーク機器管理環境、ネットワーク機器管理装置子機及びネットワーク機器管理装置親機
(51)【国際特許分類】
G06F 1/26 20060101AFI20220601BHJP
H04L 13/00 20060101ALI20220601BHJP
H04L 41/00 20220101ALI20220601BHJP
H04L 67/00 20220101ALI20220601BHJP
【FI】
G06F1/26 306
H04L13/00
H04L41/00
H04L67/00
(21)【出願番号】P 2020094244
(22)【出願日】2020-05-29
【審査請求日】2021-06-29
(73)【特許権者】
【識別番号】515139008
【氏名又は名称】バリューソリューション株式会社
(74)【代理人】
【識別番号】100147050
【氏名又は名称】中原 亨
(72)【発明者】
【氏名】日野利信
(72)【発明者】
【氏名】宇城久仁子
(72)【発明者】
【氏名】福井威徳
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2016-115273(JP,A)
【文献】特開2004-221867(JP,A)
【文献】特開2015-106393(JP,A)
【文献】特開2019-084768(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26- 1/3296
H04L 13/00
H04L 41/00
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
アウトレットを介してネットワーク機器に電力を供給するネットワーク機器管理装置子機と協働するネットワーク機器管理装置親機であって、
該ネットワーク機器管理装置親機は前記ネットワーク機器管理装置子機に接続されたネットワーク機器の状態を監視し、
該ネットワーク機器管理装置親機は前記ネットワーク機器管理装置子機に対して状態監視コマンドを送信することを特徴とするネットワーク機器管理装置親機。
【請求項2】
アウトレットを介してネットワーク機器に電力を供給するネットワーク機器管理装置子機と協働するネットワーク機器管理装置親機であって、
該ネットワーク機器管理装置親機は前記ネットワーク機器管理装置子機に接続されたネットワーク機器の状態を監視し、
該ネットワーク機器管理装置親機は前記ネットワーク機器管理装置子機に対して生存確認コマンドを送信することを特徴とするネットワーク機器管理装置親機。
【請求項3】
アウトレットを介してネットワーク機器に電力を供給するネットワーク機器管理装置子機と協働するネットワーク機器管理装置親機であって、
該ネットワーク機器管理装置親機は前記ネットワーク機器管理装置子機に接続されたネットワーク機器の状態を監視し、
該ネットワーク機器管理装置親機は前記ネットワーク機器管理装置子機に対してアウトレットOn・Off指示コマンドを送信することを特徴とするネットワーク機器管理装置親機。
【請求項4】
請求項1乃至
3のいずれか1記載のネットワーク機器管理装置親機において、
管理用PCからの要求を受けた該ネットワーク機器管理装置親機は前記ネットワーク機器管理装置子機から収集したアウトレット情報を前記管理用PCに送り返すことを特徴とするネットワーク機器管理装置親機。
【請求項5】
ネットワーク機器に電源を供給するネットワーク機器管理装置子機と、
ネットワークを介して前記ネットワーク機器管理装置子機と通信を行うネットワーク機器管理装置親機と、を含むネットワーク機器管理システムであって、
前記ネットワーク機器管理装置子機は前記ネットワーク機器への電源供給を行うかを決定するスイッチを含み、
前記ネットワーク機器管理装置親機は、前記ネットワーク機器管理装置子機に接続されたネットワーク機器の状態を監視することを特徴とするネットワーク機器管理システム。
【請求項6】
請求項5記載のネットワーク機器管理システムにおいて、
前記ネットワーク機器管理装置親機がコマンドを発行することで前記ネットワーク機器管理装置子機を制御することを特徴とするネットワーク機器管理システム。
【請求項7】
請求項6記載のネットワーク機器管理システムにおいて、
前記コマンドが前記ネットワーク機器管理装置子機の生存を確認する生存確認コマンドであることを特徴とするネットワーク機器管理システム。
【請求項8】
請求項6記載のネットワーク機器管理システムにおいて、
前記コマンドが前記ネットワーク機器管理装置子機のアウトレットに関する情報を取得する状態監視コマンドであることを特徴とするネットワーク機器管理システム。
【請求項9】
請求項6記載のネットワーク機器管理システムにおいて、
前記コマンドが前記ネットワーク機器管理装置子機のアウトレットを制御するアウトレットOn・Off指示コマンドであることを特徴とするネットワーク機器管理システム。
【請求項10】
請求項7記載のネットワーク管理システムにおいて、
前記コマンドに対する前記ネットワーク機器管理装置子機からのレスポンスで前記ネットワーク機器管理装置親機に前記ネットワーク機器管理装置子機が正常動作をしていることを通知することを特徴とするネットワーク機器管理システム。
【請求項11】
請求項8記載のネットワーク管理システムにおいて、
前記コマンドに対する前記ネットワーク機器管理装置子機からのレスポンスで前記ネットワーク機器管理装置親機が前記ネットワーク機器管理装置子機のアウトレット情報を更新することを特徴とするネットワーク機器管理システム。
【請求項12】
請求項9記載のネットワーク機器管理システムにおいて、
前記コマンドで前記ネットワーク機器管理装置子機の特定のアウトレットの電源供給をOnにすることを特徴とするネットワーク機器管理システム。
【請求項13】
請求項9記載のネットワーク機器管理システムにおいて、
前記コマンドで前記ネットワーク機器管理装置子機の特定のアウトレットの電源供給をOffにすることを特徴とするネットワーク機器管理システム。
【請求項14】
請求項11記載のネットワーク機器管理システムにおいて、
更に監視用PCを含み、
前記監視用PCからの求めに応じて前記ネットワーク機器管理装置親機が前記監視用PCに前記ネットワーク機器管理装置子機のアウトレット情報を提供することを特徴とするネットワーク機器管理システム。
【請求項15】
請求項5乃至14記載のネットワーク機器管理システムにおいて、
前記ネットワーク機器管理装置親機が前記ネットワーク機器を管理することを特徴とするネットワーク機器管理システム。
【請求項16】
第1のネットワーク機器に電源を供給する第1のネットワーク機器管理装置子機と、
第2のネットワーク機器に電源を供給する第2のネットワーク機器管理装置子機と、
インターネットを介して前記各ネットワーク機器管理装置子機と通信を行うネットワーク機器管理装置親機と、を含むネットワーク機器管理システムであって、
前記各ネットワーク機器管理装置子機は前記ネットワーク機器への電源供給を行うか決定するスイッチを含み、
前記ネットワーク機器管理装置親機が
前記ネットワーク機器管理装置子機に接続されたネットワーク機器の状態を監視することを特徴とするネットワーク機器管理システム。
【請求項17】
請求項16記載のネットワーク機器管理システムにおいて、
前記第1のネットワーク機器管理装置子機からのレスポンス及び前記第2のネットワーク機器管理装置子機からのレスポンスで前記ネットワーク機器管理装置親機が前記各ネットワーク機器管理装置子機のアウトレット情報を更新することを特徴とするネットワーク機器管理システム。
【請求項18】
請求項17記載のネットワーク機器管理システムにおいて、
前記ネットワーク機器管理装置親機は1のテーブルで前記第1のネットワーク機器管理装置子機及び前記第2のネットワーク機器管理装置子機のアウトレット情報を管理することを特徴とするネットワーク機器管理システム。
【請求項19】
請求項16乃至18記載のネットワーク機器管理システムにおいて、
前記ネットワーク機器管理装置親機が前記第1のネットワーク機器及び前記第2のネットワーク機器を管理することを特徴とするネットワーク機器管理システム。
【請求項20】
ネットワーク機器に電源を供給するネットワーク機器管理装置子機と、
インターネットを介して前記子機と通信を行う第1のネットワーク機器管理装置親機と、前記インターネットを介して前記子機と通信を行う第2のネットワーク機器管理装置親機と、を含むネットワーク機器管理システムであって、
前記ネットワーク機器管理装置子機は前記ネットワーク機器への電源供給を行うか決定するスイッチを含み、
前記第1のネットワーク機器管理装置親機及び前記第2のネットワーク機器管理装置親機が前記ネットワーク機器管理装置子機を制御することを特徴とするネットワーク機器管理システム。
【請求項21】
請求項20記載のネットワーク機器管理システムにおいて、
前記第1のネットワーク機器管理装置親機の機能と、前記第2のネットワーク機器管理装置親機の機能が同じであることを特徴とするネットワーク機器管理システム。
【請求項22】
請求項20記載のネットワーク機器管理システムにおいて、
前記第1のネットワーク機器管理装置親機の機能と、前記第2のネットワーク機器管理装置親機の機能が異なることを特徴とするネットワーク機器管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続された機器の監視装置、特に自動電源再起動機能を保持するものに関する。
【背景技術】
【0002】
ネットワーク及びインターネットに接続されたネットワーク通信機器(以下ネットワーク機器)の数は日々増大する一方である。ネットワークに接続された機器にフレキシブルな接続性を提供するためのDHCP、ネットワークに接続する不特定多数に情報の提供を行うためのHTTP、ネットワーク機器の監視に用いるSNMP、TCPに対してセキュリティを付加するSSLなどサービスの提供に供されるアプリケーションは日々増えるばかりである。
【0003】
従来のネットワーク機器の監視方法に関する文献としては、特開2004―221867公開公報(引用文献1)が挙げられる。この文献には、ネットワーク機器電源制御装置の電源部にネットワーク機器を接続し、ネットワーク機器監視装置の電源部をリブートすることでこの電源部に接続されたネットワーク機器のリブートを行う技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ネットワーク機器監視装置の電源部にネットワーク機器を接続する必要があることから、ネットワーク機器電源制御装置の電源部とネットワーク機器との間の距離は接続に用いる電源ケーブルの長さに拘束される。従って、ネットワーク機器が1階、ネットワーク機器電源制御装置が10階と言ったように物理的に距離がある場合には特許文献1記載の発明の適用は不可能である。
【0006】
また、特許文献1記載の発明では、ネットワーク機器電源制御装置の電源部がもつコンセントの数によって、最大管理台数が規定される。これでは、製造ライン等複数台の機器の管理を行う際に、一元的な管理を行うことができなくなる。すなわち、複数台のネットワーク機器電源制御装置が必要になる。
【0007】
本発明の目的は、電源ケーブルの長さやコンセントの数に拘束されることなく複数のネットワーク機器を管理可能な手段を提供することにある。
【0008】
本発明のさらに他の目的および利点は、以下の説明から明らかになろう。
【課題を解決するための手段】
【0009】
本発明に係るネットワーク機器管理環境は、ネットワーク機器に電源を供給する子機と、インターネットを介して子機と通信を行う親機と、を含み、子機はネットワーク機器への電源供給を行うか決定するスイッチを含み、親機が子機を制御することを特徴とする。
【0010】
このネットワーク機器管理環境は、親機がコマンドを発行することで子機を制御することを特徴としても良い。
【0011】
このネットワーク機器管理環境は、コマンドが子機の生存を確認する生存確認コマンドであることを特徴としても良い。
【0012】
このネットワーク機器管理環境は、コマンドが子機のアウトレットに関する情報を取得する状態監視コマンドであることを特徴としても良い。
【0013】
このネットワーク機器管理環境は、コマンドが子機の任意のアウトレットを制御するアウトレットOn・Off指示コマンドであることを特徴としても良い。
【0014】
このネットワーク機器管理環境は、コマンドがHTTP通信プロトコルで送受信されることを特徴としても良い。
【0015】
このネットワーク機器管理環境は、コマンドに対する子機からのレスポンスで親機に子機が正常動作をしていることを通知することを特徴としても良い。
【0016】
このネットワーク機器管理環境は、コマンドに対する子機からのレスポンスで親機が子機のアウトレット情報を更新することを特徴としても良い。
【0017】
このネットワーク機器管理環境は、コマンドで子機の特定のアウトレットの電源供給をOnにすることを特徴としても良い。また、このネットワーク機器管理環境は、コマンドで子機の特定のアウトレットの電源供給をOffにすることを特徴としても良い。
【0018】
このネットワーク機器管理環境は、更に監視用PCを含み、監視用PCからの求めに応じて親機が監視用PCに子機のアウトレット情報を提供することを特徴としても良い。
【0019】
このネットワーク機器管理環境は、さらに親機がネットワーク機器を管理することを特徴としても良い。
【0020】
本発明に係る別のネットワーク機器管理環境は、第1のネットワーク機器に電源を供給する第1の子機と、第2のネットワーク機器に電源を供給する第2の子機と、インターネットを介して子機と通信を行う親機と、を含み、各子機は前記ネットワーク機器への電源供給を行うか決定するスイッチを含み、親機が各子機を制御することを特徴とする。
【0021】
このネットワーク機器管理環境は、コマンドに対する第1の子機からのレスポンス及び第2の子機からのレスポンスで親機が各子機のアウトレット情報を更新することを特徴としても良い。
【0022】
このネットワーク機器管理環境は、親機は1のテーブルで第1の子機及び第2の子機のアウトレット情報を管理することを特徴としても良い。
【0023】
これらのネットワーク機器管理環境は、親機が第1のネットワーク機器及び第2のネットワーク機器を管理することを特徴としても良い。
【0024】
本発明に係る別のネットワーク機器管理環境は、ネットワーク機器に電源を供給する子機と、インターネットを介して子機と通信を行う第1の親機と、インターネットを介して子機と通信を行う第2の親機と、を含み、子機はネットワーク機器への電源供給を行うか決定するスイッチを含み、第1の親機及び第2の親機が子機を制御することを特徴とする。
【0025】
このネットワーク機器管理環境は、第1の親機の機能と、第2の親機の機能が同じであることを特徴としても良い。
【0026】
このネットワーク機器管理環境は、第1の親機の機能と、第2の親機の機能が異なることを特徴としても良い。
【0027】
本発明に係るネットワーク機器管理装置子機は、アウトレットを介してネットワーク機器に電力を供給するものであって、情報監視コマンドを受信したこのネットワーク機器管理装置子機は自身の持つアウトレットすべてに関するアウトレット情報を状態監視コマンドの送信元に返信することを特徴とする。
【0028】
本発明に係る別のネットワーク機器管理装置子機は、アウトレットを介してネットワーク機器に電力を供給するものであって、生存確認コマンドを受信したこのネットワーク機器管理装置子機は自身の生存を生存確認コマンド送信元に通知することを特徴とする。
【0029】
本発明に係る別のネットワーク機器管理装置子機は、アウトレットを介してネットワーク機器に電力を供給するものであって、アウトレットOn・Off指示コマンドを受信したこのネットワーク機器管理装置子機はアウトレットOn・Off指示コマンドで指定された自身の持つアウトレットの電源供給を制御することを特徴とする。
【0030】
このネットワーク機器管理装置子機において、制御結果をアウトレットOn・Off指示コマンド送信元に送信することを特徴としても良い。
【0031】
本発明に係るネットワーク機器管理装置親機は、アウトレットを介してネットワーク機器に電力を供給するネットワーク機器管理装置子機と協働するものであって、このネットワーク機器管理装置親機はネットワーク機器管理装置子機に対して状態監視コマンドを送信することを特徴とする。
【0032】
本発明に係るネットワーク機器管理装置親機は、アウトレットを介してネットワーク機器に電力を供給するネットワーク機器管理装置子機と協働するものであって、このネットワーク機器管理装置親機はネットワーク機器管理装置子機に対して生存確認コマンドを送信することを特徴とする。
【0033】
本発明に係るネットワーク機器管理装置親機は、アウトレットを介してネットワーク機器に電力を供給するネットワーク機器管理装置子機と協働するものであって、このネットワーク機器管理装置親機はネットワーク機器管理装置子機に対してアウトレットOn・Off指示コマンドを送信することを特徴とする。
【0034】
これらのネットワーク機器管理装置親機は、ネットワーク機器管理装置子機に接続されたネットワーク機器の状態を監視することを特徴としても良い。
【0035】
管理用PCからの要求を受けたこのネットワーク機器管理装置親機は前記ネットワーク機器管理装置子機から収集したアウトレット情報を前記管理用PCに送り返すことを特徴としても良い。
【0036】
本発明に係るネットワーク機器管理装置子機は、アウトレットを介してネットワーク機器に電力を供給するものであって、第1のLAN IF及び第2のLAN IFを含むことを特徴としても良い。
【0037】
このネットワーク機器管理装置子機は、第1のLAN IFは有線LANであることを特徴としても良い。またこのネットワーク機器管理装置子機は、第1のLAN IFは無線LANであることを特徴としても良い。
【0038】
本発明に係る別のネットワーク機器管理装置親機は、アウトレットを介してネットワーク機器に電力を供給するネットワーク機器管理装置子機と通信を行うものであって、第1のLAN IF及び第2のLAN IFを含むことを特徴とする。
【0039】
このネットワーク機器管理装置親機は、第1のLAN IFは有線LANであることを特徴としても良い。また、このネットワーク機器管理装置親機は、第1のLAN IFは無線LANであることを特徴としても良い。
【発明の効果】
【0040】
本発明に関わるネットワーク機器監視手段によって、物理的に離れた距離に存在するネットワーク機器の電源再起動を伴う管理を行うことが可能になる。
また本発明に関わるネットワーク機器監視手段によって、電源管理を実施するネットワーク機器の管理対象数を劇的に増やすことが可能になる。
【図面の簡単な説明】
【0041】
【
図1】先行出願にかかわるネットワーク機器監視装置の動作環境の一例を表す接続図である。
【
図2】本発明の第1の実施の形態にかかわるネットワーク機器監視装置の動作環境の一例を表す接続図である。
【
図4】本発明の親機と子機との間の通信方式に関する概念図である。
【
図5】
図4に係るテキストデータが、HTTPリクエストの何処に含まれるかを説明する概念図である。
【
図6】
図4に係るテキストデータが、HTTPレスポンスの何処に含まれるかを説明する概念図である。
【
図7】「生存確認」時の親機と子機との間の通信方式に関する概念図である。
【
図8】「状態監視」時の親機と子機との間の通信方式に関する概念図である。
【
図9】「アウトレットOn・Off指示」時の親機と子機との間の通信方式に関する概念図である。
【
図10】子機の物理的電気的構成を表す概念図である。
【
図11】本発明に係るソフトウェアモジュールの構成を表す図である。
【
図12】子機の状態監視モジュールの受信処理に関するフローチャートである。
【
図13】子機のアウトレットOn・Off指示モジュールの受信処理に関するフローチャートである。
【
図14】親機に電源を投入した時の動作を表すフローチャートである。
【
図15】本発明の第2の実施の形態に係るトポロジの図である。
【発明を実施するための形態】
【0042】
以下本発明の実施の形態を図に基いて説明する。
(基礎となる技術)
まず、出願人が出願した特願2016-040933(先行出願)に係る技術について説明する。
図1は、先行出願にかかわるネットワーク機器監視装置の動作環境の一例を表す接続図である。
【0043】
この動作環境は、LAN7を挟んで監視用PC1、ネットワーク機器監視装置2、監視対象A3、監視対象B4が接続されて構成される。
【0044】
監視用PC1は、ネットワーク機器監視装置2の状況をモニタするためのPCである。このPC上ではブラウザが動作可能であることを想定する。また、この監視用PC1で動作するブラウザで表示可能なデータをネットワーク機器監視装置2は生成し出力する。
【0045】
ネットワーク機器監視装置2は、自身が電源供給する監視対象A3、監視対象B4のハードウェア及びソフトウェアモジュールの状態を監視する監視装置である。ネットワーク機器監視装置2は電源供給用のコンセントを監視対象の台数分持つ。これらのコンセントはネットワーク機器監視装置2内の図示しないリレーで制御され、内部的に電源をOn/Offできるように構成される。
【0046】
監視対象A3は、ネットワーク機器監視装置2が監視する対象(ネットワーク機器)である。監視対象A3上はルータ機能をユーザ等に提供する。監視対象A3の電源ケーブルはネットワーク機器監視装置2のコンセントに接続される。これにより、ネットワーク機器監視装置2の制御により、監視対象A3の電源をOn/Offが可能に構成されている。
【0047】
監視対象B4は、ネットワーク機器監視装置2が監視する対象である。監視対象B4上はHTTPサーバ機能及び決済サーバ機能をユーザ等に提供する。監視対象B4の電源ケーブルはネットワーク機器監視装置2のコンセントに接続される。これにより、ネットワーク機器監視装置2の制御により、監視対象B4への電源供給をOn・Offすることができるよう構成されている。
【0048】
通常、ユーザは、監視対象A3上のHTTPサーバ機能が提供するHTML形式で記載されたホームページのデータから誘導されて決済サーバ機能のサービスを提供される受けることになる。このため、HTTPサーバ機能がダウンしているときには、ユーザは決済サーバ機能の利用ができないことがほとんどである。よって決済サーバ機能のみが稼働しており、他のルータ機能、HTTPサーバ機能が非稼働な状態では決済サーバ機能の動作の意義は低下する。この場合監視対象B4を再起動する意味は大きい。
【0049】
一方、HTTPサーバ機能が生きていれば各種情報を配信することが可能になる。この時決済サーバ機能がダウンしていたとしても、HTTPサーバ機能を継続して動作させる必要はいささかも衰えることは無い。そのようなときに監視対象B4を再起動するのは問題が生じる。
【0050】
上記の様なHTTPサーバ機能がダウンしているときと決済サーバ機能がダウンしているときとで動作を変更する、と言うのが先行出願にかかわるネットワーク機器監視装置に関する発明である。
【0051】
(第1の実施の形態)
しかし、先行技術においては各監視対象の電源ケーブルをネットワーク機器監視装置2の図示しないコンセントに接続する必要がある。従って、ネットワーク機器監視装置2からあまり物理的な距離を離すことができないという欠点があった。これはビルの上層階と下層階を一元管理したいといった要求に応じることができないことを意味する。
【0052】
また監視対象3Aが提供するルータを越えてネットワーク外部の端末に接続する場合、接続用プロトコルが一部制限されるなどの問題も考えられる。
【0053】
上記の問題を鑑み、本明細書に係る発明を考案した。以下その内容について説明する。
【0054】
(第1の実施の形態)
(トポロジの説明)
図2は、本発明の第1の実施の形態にかかわるネットワーク機器監視装置の動作環境の一例を表す接続図である。
【0055】
本発明の特徴としては、先行出願のネットワーク機器監視装置2を親機2aと子機2b、2cに二分したことにある。
【0056】
本発明のネットワークトポロジは、インターネット9を挟んで接続されたローカルネットワーク7、8を中心に構成される。そしてローカルネットワーク7には監視用PC1と親機2aが接続されている。またローカルネットワーク8には子機2b、2cと監視対象A3、監視対象B4が接続されている。子機2bには監視対象A3の電源ケーブルが、子機2cには監視対象B4の電源ケーブルがそれぞれ接続されている。
【0057】
このネットワークトポロジは、インターネット9を挟んだ2つのローカルネットワーク7、8を含んで構成される。そして親機2aはローカルネットワーク7に、子機2b、2cはローカルネットワーク8にそれぞれ存在する。
【0058】
ローカルネットワーク7には、監視用PC1と親機2aが通信可能なように接続されている。またローカルネットワーク8には、監視対象A3及び監視対象B4と、子機2bと子機2cが接続されている。また図示しないルータなどによってインターネット9に接続される。
【0059】
本明細書におけるインターネット9は、ローカルネットワーク7とローカルネットワーク8を接続するための抽象的なネットワークである。通常インターネットとは「インターネット・プロトコル・スイートを使用し、複数のコンピュータネットワークを相互接続した、グローバルなネットワーク(地球規模の情報通信網)のこと」と定義される(Wikipedia)。しかし本明細書におけるインターネット9は、所有権が明確な社内ネットワークなどを排除することは想定してないし、グローバルなことも求めない。複数のコンピュータネットワーク(本明細書ではローカルネットワーク7とローカルネットワーク8)が接続される中間経路程度に考えればよい。
【0060】
監視用PC1は、親機2aに対して監視対象A3及び監視対象B4の状況をユーザが確認するための監視用PCである。
監視用PC1は直接これら監視対象に対しては問い合わせを行うことは無い。監視用PC1は親機2aに対して、これらの監視対象の状況を問い合わせる。なお本図においては監視用PCが1台用意されているが、監視用PC1が複数台存在しても構わない。
【0061】
親機2aは、監視対象A4及び監視対象B6を直接的に監視するためのネットワーク機器監視装置である。すなわち、先行出願におけるネットワークの監視動作(ポーリング等)は親機2aが担当する。
【0062】
通常、親機2aが、監視対象との間で通信を行うことでこれらの監視対象の状況を確認する。監視対象A3及び監視対象B4が正常に動作していないと確認できた場合には、親機2aが子機2bと子機2cに対して監視対象A3及び監視対象B4の再起動処理を求める。
また親機2aは子機2b及び子機2cとの間で通信を行うことで、各子機が監視対象に提供する電源(=アウトレット)の情報を収集する。
【0063】
なお、本図においては親機2aが1台に対して子機が複数台存在する形式を取っているが、複数の親機が複数の子機を管理しても構わない。また複数の親機が1の子機を管理するような形式も本発明の射程に含まれる。
【0064】
子機2b及び子機2cは、親機2aからの求めに応じて1)監視対象A3につながるアウトレット及び監視対象B4につながるアウトレットの状況を返送し、2)監視対象A3につながるアウトレット及び監視対象B4につながるアウトレットの出力状態を変更し、3)監視対象A3につながるアウトレット及び監視対象B4につながるアウトレットの再起動を行う、ことを特徴とするネットワーク機器監視装置である。すなわち、先行出願における電源のOn・Offに関する動作及びそれに関連したアウトレットに関する情報の収集を各子機は実施する。
【0065】
各子機は親機が監視を行う監視対象に対して電力を供給する。本図においては、子機2bは監視対象A3に対して電力を供給する。また、子機2cは監視対象B4に対して電力を供給する。但し各子機が監視対象であるネットワーク機器に対して直接情報の収集を行うことはない。
【0066】
図3は、子機2bの一例の外観図(正面図)である。なお、各構成要素の配置は本図に拘る必要が無いことは言うまでもない。
【0067】
この子機2bの外観は、アウトレット2b-01、2b-02、2b-03、2b-04、2b-05、2b-06及びLANポート2b-11、電源ケーブル2b-12を含んで構成される。無論商品たる子機2b1台に幾つアウトレットを備えるかは設計事項であり、必要に応じて増減させればよい。
【0068】
アウトレット2b-01、2b-02、2b-03、2b-04、2b-05、2b-06は、監視対象に電源を供給するための電源供給端子及びその内部回路1セットを意味する。従って本図における子機2bは6つのアウトレットを有しており、最大6つのネットワーク機器を接続できるといえる。
【0069】
アウトレット2b-01、2b-02、2b-05は、AC100Vの電源を供給できる。またアウトレット2b-03はDC5Vを、アウトレット2b-04はDC12Vをそれぞれ監視対象に供給できる。アウトレット2b-06は、接点端子となる。これらはリレーやスイッチング素子(これらを総称してスイッチ)を内部に含んでおり、電源供給のOn、Offを自由に行えるようになっている。
【0070】
本発明に係る子機2bは、これらのアウトレットの情報を親機2aに対して提供できるようになっている。また親機2aのコマンドによって、子機2bは各アウトレットのスイッチを操作できるようになっている。
【0071】
LANポート2b-11は、
図2のネットワーク8に接続するためのLANポートである。このLANポート2b-11を介して、子機2bは親機2aと通信を行う。
【0072】
電源ケーブル2b-12は、子機2bに電源を供給するための電源コードである。
【0073】
なお親機2aの外観も基本的には子機2bのそれと違いない。但し、親機2aは自身が直接監視対象に電力を供給する必要が無いため、アウトレットが存在しなくても成立する点で子機とは異なる。
【0074】
本明細書において、親機2aと子機2b、子機2cの間は、HTTP(Hypertext Transfer Protocol:ハイパーテキスト・トランスファー・プロトコル)+TSL(Transport Security Layer:トランスポート・レイヤー・セキュリティ)、すなわちHTTPS(Hypertext Transfer Protocol Secure:ハイパーテキスト・トランスファー・プロトコル・セキュア)、を用いて通信することを想定している。よって通信ポート番号はウェルノウンポートとして初期値443が割り当てられる。従って本明細書において、親機2aと子機2b、子機2cはHTTPSプロトコルを採用する為、下位の物理層、データリンク層、ネットワーク層、トランスポート層の各インターネットプロトコルをサポートすることはいうまでもない。
【0075】
HTTPSで通信する際には、セッション確立、TLSセッション開始後TLSネゴシエーションを行う。TLSネゴシエーションでは認証方式を交渉、決定し、その後認証、鍵交換を行い、共通鍵を決定する。以降この共通鍵を利用して暗号化し通信することになる。ただし共通鍵の取得プロセスは本発明には直接関係が無いのでこれ以降説明は省略する。
【0076】
監視対象A3及び監視対象B4は、親機2aが監視を行う監視対象たるネットワーク機器である。
監視対象A3及び監視対象B4は、一般的にインターネットに接続するような機器(例えばサーバ)とは限定していない。しかし、生存報告を可能にする為に、監視対象A3及び監視対象B4は任意のインターネットプロトコルを実装することが求められる。
【0077】
次に本発明実現のために実施される親機と子機の間で行われる通信について説明する。
(親機と子機間の通信)
親機と子機間の通信は以下の3つの目的を想定する。
1)生存確認
2)状態監視
3)アウトレットOn・Off指示
【0078】
いずれの目的であっても、以下の基本的な通信方式は共通する。
図4は本発明の親機2aと子機2bとの間の通信方式に関する概念図である。
図4では子機2bとしているが挙動は子機2cでももちろん同じである。
【0079】
本発明において、親機と子機の間はHTTPS方式のGetメソッドを用いて通信を行う。この時HTTPSリクエストは本発明に係るテキストデータを含めて送ることで本発明に係る「コマンド」の内上記3種の何れかであるかを子機2bに伝える。それに応じて子機2bが親機2aに対して本発明に係るテキストデータを内包したHTTPSレスポンス、すなわち本発明に係る「レスポンス」を返す。これを1セットとして通信を行う。なお、上述の通りHTTPSはHTTPに共通鍵を取得するプロセスが増えたプロトコルであり、リクエスト及びレスポンスの構成は変わらない(もともとRFC7230で規定されている為)。よって、本明細書内ではHTTPSとHTTPを混用する。
【0080】
親機2aがコマンドを発行した後、一定時間が経過してもレスポンスが子機2bから返送されなかった場合には、タイムアウトとして子機2b自体が動いていないと親機2aは判断する。この時、子機ごとにタイムアウト値を設定するか、共通で1つのタイムアウト値とするかは親機2aの設計事項である。
【0081】
図5は、
図4に係るコマンドに該当するテキストデータが、HTTPリクエストの何処に含まれるかを説明する概念図である。また
図6は、
図4に係るレスポンスに該当するテキストデータがHTTPレスポンスの何処に含まれるかを説明する概念図である。なお、HTTPSでもHTTPでも同じデータフォーマットを用いるため、この図で説明する。
【0082】
RFC7230ではHTTPリクエスト及びHTTPレスポンスのデータ形式を定義する。なお
図5及び
図6は、HTTPにかかわる物であり、本発明に関連するモノではないので図番は省略する。
【0083】
基本的にHTTPリクエストもHTTPレスポンスも同じデータ形式をとる。HTTPリクエストはリクエスト行、ヘッダ及びメッセージボディから構成される。また、HTTPレスポンスはレスポンス行、ヘッダ及びメッセージボディから構成される。
【0084】
図5のリクエスト行は、HTTPリクエストのデータフィールドの一つである。リクエスト行にはメソッド(通信目的)、送信先を表すパス(クエリも含む)、HTTPのバージョンを記載しなければならない。なお、既述の通り、本発明ではGetメソッドを使用することを想定する。またHTTPのバージョンは1.1を想定する。本発明におけるHTTPリクエストのパスには、子機2bに対する通信目的及びその付加情報(認証IDや認証パスワード)がクエリの形で添付される。
【0085】
図5のヘッダは、リクエストに関連する追加情報を表すデータフィールドである。使用する文字コードやキープアライブ(通信が終わってもセッションを維持し続けるか?)、認証方式の指定等と言った情報が記載される。
【0086】
図5のメッセージボディは、該HTTPリクエストにおける補足情報などを送るためのデータフィールドである。ヘッダとメッセージボディの間にはCR+LF(キャリッジリターン+ラインフィード)が挿入されており、その間の識別は比較的容易である。本発明においては暗号化したデータをリクエスト行パス中のクエリに添付される。そのためHTTPリクエストのメッセージボディは使用しない。ただし、メッセージボディに添付するような形にしても良い。
【0087】
図6のHTTPレスポンスのレスポンス行は、HTTPレスポンスのデータフィールドの一つである。レスポンス行には、HTTPのバージョン、ステータスコード、補足情報(主にステータスコードの詳細情報)などが記載される。
【0088】
図6のヘッダは、レスポンスに関連する追加情報を表すデータフィールドである。
【0089】
図6のメッセージボディは、要求元に送り返すデータを添付するデータフィールドである。一般的なHTTPS Getメソッドによる通信であれば、このメッセージボディには要求元のブラウザで表示するためのHTMLデータが添付され、暗号化されることになる。本発明でも、処理結果がメッセージボディに添付され暗号化されることになる。
【0090】
HTTPSリクエストを本発明の「コマンド」足らしめるテキストデータはHTTPSリクエストのパスに付加されるクエリに格納されることを想定する。また、HTTPSレスポンスを、本発明の「レスポンス」足らしめるテキストデータはHTTPSレスポンスのメッセージボディに格納されることを想定する。ただし、別のリクエスト行、レスポンス行及びヘッダにそれらを含ませるようにしても良い。
【0091】
(生存確認)
次に通信目的である「生存確認」について説明する。
図7は、「生存確認」時の親機2aと子機2bとの間の通信方式に関する概念図である。なお本図よりコマンド及びレスポンスの後ろに括弧書きを挿入するが、この括弧書き中に含まれる文字列がリクエスト行のクエリ(コマンド)あるいはメッセージボディ(レスポンス)に格納される文字列である。なお、エラー処理については各ハードの動作の説明で記載する((子機の生存確認モジュールSW2の処理)参照)。
【0092】
生存確認は、子機2bが正常に動作しているかを親機2aが確認するコマンドである。
任意のタイミングで親機2aは、子機2bに対してコマンドを発行する。この際、HTTPSリクエストのリクエスト行パスのクエリ(以下HTTPSリクエストのクエリ)に「HELLO」を記載し暗号化される。
【0093】
親機2aから送られた上記コマンドを受信した子機2bのHTTPモジュールは、リクエスト行上で指示されたパスによってこのメッセージが本発明に係るメッセージかを確認する。
【0094】
このリクエストが本発明に係るメッセージであることを子機2bが確認すると、子機2bは受け取ったクエリの復号後の内容がテキストの「HELLO」であることを確認する。その際必要であれば、子機2bは受け取ったヘッダの情報を参酌する(使用する文字コードなど)。
【0095】
復号後のクエリの内容がテキストの「HELLO」であれば、子機2bは自身の稼働状態を問われているのだと理解する。子機2bが問題なく動作していれば、送り返すHTTPSレスポンスのメッセージボディを「ALIVE」として暗号化後にHTTPモジュールに戻す。また必要があればHTTPレスポンスのヘッダに関する情報をHTTPモジュールに戻す。なお、子機2bの本発明に係るモジュールが動作していない場合は、必要な情報がそろわないため当然HTTPSレスポンスは返せない。子機2bはHTTPSレスポンスを返せないため、親機2aにはレスポンスは届かず、親機2aではタイムアウトとして処理する。
【0096】
このHTTPレスポンスを受け取った親機2aの図示しないHTTPモジュールはこのHTTPレスポンスのメッセージボディに復号後「ALIVE」が付いていることを確認することで子機2bが動作していることを確認することになる。
【0097】
なお生存確認に関しては内部設定の変更等を行うことを想定していないため、本明細書では親機2aから子機2bにIDやパスワード等は送られないとしている。しかしこれらを送信対象とすることも本発明の射程に含まれる。
【0098】
(状態監視)
次に通信目的である「状態監視」について説明する。
図8は、「状態監視」時の親機2aと子機2bとの間の通信方式に関する概念図である。なお本図もコマンド及びレスポンスの後ろに括弧書きを挿入するが、この括弧書き中に含まれる文字列がメッセージボディに格納される文字列である。また、エラー処理については
図7同様各ハードの記載で説明する。
【0099】
本明細書における「状態監視」とは、子機2bの有する全ての「アウトレット」の情報を収集して親機2bに返答することを言う。従って、子機2bの情報が外部に発信されることとなる為、認証ID及び認証パスワードで情報の提供の是非を確認する。
【0100】
親機2aから送られた上記コマンドを受信した子機2bのHTTPモジュールは、リクエスト行でこのメッセージが本発明に係るメッセージかを確認する。
【0101】
子機2bは受け取ったHTTPSリクエストを復号し、クエリの先頭がテキストの「STATUS」であることを確認する。その際必要であれば、子機2bは受け取ったヘッダの情報を参酌する。HTTPSリクエストのクエリの先頭がテキストの「STATUS」であれば、子機2bは自身の各アウトレットの状態を問われているのだと理解する。
【0102】
次に、その子機2bが親機2aに対して状態監視を許可しているか確認する。子機2bは残りの復号後のHTTPSリクエストのクエリから認証ID及び認証パスワードを抽出する。図上ではメッセージボディは「STATUS」に続いて文字間識別の“、”(コンマ)、認証ID、文字間識別の“、”(コンマ)、認証パスワードと続くが、これらの並びは設計事項である。また文字間識別の“、”(コンマ)を?や&に置き換えるなども設計者が適宜選択すればよい。但し本明細書では文字間識別に“、”(コンマ)を使うものとして記述する(以下同様)。
【0103】
認証ID及び認証パスワードが抽出できれば、子機2bは自身が保持する認証ID及び認証パスワードとの比較を行う。認証IDと認証パスワードの比較の結果が一致した場合には子機2bは自ハードウェア内のアウトレットの稼働状況を収集する。自身の各アウトレットの状態の収集が終了したら、送り返すHTTPSレスポンスのレスポンスボディを生成する。
【0104】
HTTPSレスポンス用のレスポンスボディはテキスト「RESP、」を先頭にし、その後収集したアウトレット情報を記載する。アウトレット情報の詳細は各ハードの記載で説明する((子機の状態監視モジュールSW3の処理)参照)。
【0105】
(アウトレットOn・Off指示)
次に通信目的である「アウトレットOn・Off指示」について説明する。
【0106】
図9は、「アウトレットOn・Off指示」時の親機2aと子機2bとの間の通信方式に関する概念図である。なお本図もコマンド及びレスポンスの後ろに括弧書きを挿入するが、この括弧書き中に含まれる文字列がメッセージボディに格納される文字列である。また、エラー処理については
図7同様各ハードの記載で説明する。
【0107】
本明細書における「アウトレットOn・Off指示」は、子機2bが有するアウトレットへの電源の供給をOn・Offすることを目的とする。従って、子機2bの操作を伴うため、「状態監視」時同様、認証IDと認証パスワードを用いて情報の提供の是非を確認する。
【0108】
親機2aから送られた上記コマンドを受信した子機2bのHTTPモジュールは、リクエスト行でこのメッセージが本発明に係るメッセージかを確認する。
【0109】
子機2bは受け取ったHTTPSリクエストを復号しクエリを確認する。そして子機2bは復合後の内容の先頭がテキストの「CONT」であることを確認する。その際必要であれば、子機2bは受け取ったヘッダの情報を参酌する。複合語のクエリの内容の先頭がテキストの「CONT」であれば、子機2bは自身が有するアウトレットへの電源供給のOn・Offを指示されているのだと理解する。
【0110】
次に、その子機2bが親機2aに対してアウトレットOn・Off指示を許可しているか確認する。子機2bは残りの復号後のクエリから認証ID及び認証パスワードを抽出する。
【0111】
認証ID及び認証パスワードが抽出できれば、子機2bは自身が保持する認証ID及び認証パスワードとの比較を行う。認証IDと認証パスワードの比較が一致した場合には子機2bは復号後のクエリ中で指示された番号のアウトレット(
図9中のアウトレット番号)の電源に対する動作を実行する。この際の、変更される電源の供給状態も復号後のクエリ中に記載されている(
図9中の「命令」)。子機2bは、その変更結果を参考に送り返すHTTPレスポンスのメッセージボディを生成する。ここで「命令」とは1バイトのデータであり、該アウトレットのリレーをOn・Offすることを意味する。本明細書においては1をOn、0をOffとして定義する。
【0112】
HTTPSレスポンス用のレスポンスボディはテキスト「RESULT」を先頭にし、文字間識別の“、”(コンマ)をつなげた後に、設定変更の結果を記載する。結果の詳細は各ハードの記載で説明する((子機のアウトレットOn・Off指示モジュールSW4の処理)参照)。
【0113】
(ハードウェア構成)
次にハードウェア構成について説明する。
図3の説明でも述べたが、親機2aと子機2bの基本的な違いはアウトレットの数のみである。突き詰めて考えればメモリの搭載量なども相違するが、昨今の状況ではいずれであっても十分な容量を確保できる。よって、本明細書では親機2aと子機2bのハードウェアはアウトレットの数以外は共通するものとして説明する。従って、相違点についてはここで記す。
【0114】
図10は、子機2bの物理的電気的構成を表す概念図である。
本発明に関わる子機2bはCPU101、バスコントローラ102、メモリ201、周辺用バスコントローラ202、LAN IF301、LEDコントローラ302、リレーコントローラ303、リレー311、312,313、コンセント321、322、323を含んで構成される。
【0115】
CPU101は、メモリ201中に記録されたプログラムに従い処理を行う中央制御装置である。本明細書ではCPUとしているが、MPUでも問題はない。
【0116】
バスコントローラ102は、CPU101がメモリ201等にアクセスする際に経由するチップセットである。
【0117】
その性質上バスコントローラ102は、内部バスa及び外部バスbに接続されており、CPU101から外部バスb及び周辺用バスcに存在するコントローラ等との通信を制御する。
【0118】
市場ではCPU101の種類に対応してバスコントローラ102は市販品あるいは専用品に拘らず、CPU101と外部バスb及び周辺用バスcに存在するコントローラ等との通信ができれば良い。
【0119】
メモリ201は、CPU101が実行するプログラム及び処理の対象となるデータ(ネットワーク機器監視装置の設定など)を記録するためのメモリである。通常だとDRAMのような揮発性記憶素子と電源を切っても保持されるNVRAMのような不揮発的な記憶素子、ROM(Read Only Memory)に分けて考えられるが、本明細書では全てを包含してメモリ201とする。また本図ではメモリ201を外部バスbのみに接続しているが、内部バスaや周辺バスcに分散させて配置しても良い。
【0120】
メモリ201には、一般的なHTTPモジュールだけでなく、本発明に係るサブモジュール(以下単にサブモジュール)もプログラムとして記憶されている。
【0121】
理論上、親機2aのメモリの容量と子機2bのメモリの容量では前者の方が大きい方が良い。子機2bは自身のネットワーク情報(IPアドレス等)とアウトレット情報を保持すればよいが、親機2aは子機2bを最大接続数分確保しなければならないためである。但し、近年ではメモリの容量も大きくなっている為、特に気にしない場合も多い。
【0122】
以下具体的に通信に必要なメモリ容量を確認する。
まず子機2bについて検討する。
【0123】
(子機のメモリ容量)
HTTP及びIPで通信をする以上、子機2bも相手と通信する際には自身のIPアドレス、IPv4であればサブネットマスク、ゲートウェイアドレスが必要になることは言うまでもない。まずはこれらを記憶する(各4バイト)。ただし、これらはIP層に関する情報であるのでIP層に管理を任せても問題は無い。
【0124】
また本発明では、状態監視やアウトレットOn・Off指示を行う際には認証IDと認証パスワードが必要になる。認証IDはともかく認証パスワードは文字数が多ければ多いほど暗号強度が高くなる為できる限り長くすべきである。子機2bは自分の認証ID(15バイト)と認証パスワード(32バイト)をそれぞれ確保する必要がある。ただし、これらのバイト数に拘る必要は無く、もっと長いバイト長でも良い。
【0125】
また自身のHTTPモジュールに割り当てられているポート番号も記憶する(2バイト)。
さらにアウトレット1つごとに{アウトレット番号(1バイト)、アウトレットの特性情報(2バイト)、アウトレットの出力情報(1バイト)}が必要になる。これをアウトレットセットと称呼する。
【0126】
以下、アウトレットセットのデータフィールドについて説明する。
アウトレット番号は、各アウトレットに対して一意に割り当てられる番号である。
【0127】
アウトレットの特性情報は、アウトレットがどのような出力を行うかを表すデータフィールドである。具体的には
図3の各アウトレットがもつAC100V、DC5V、DC12V、接点などを表す。具体的にはAC100Vに1、DC5Vに2、DC12Vに4などを割り当てて、それをこのデータフィールドに記憶することになる。
【0128】
アウトレットの出力情報は、現在どのような出力状態を表すデータフィールドである。具体的にはON=1、OFF=2、故障=4、不明=8(値は10進数)などを割り当て、アウトレットが現在どのような状況下であるかを取得してこのデータフィールドに記憶することになる。
【0129】
さらに各アウトレットの電源をOff->ONあるいはOn->Offする際に、最低限待つ時間を表すデータフィールドを記憶する(1バイト)。
【0130】
以上を合計すると4*3+15+32+2+4*n(アウトレット数)+1=62+(4*n)が必要になる。アウトレットが1つなら66バイト、アウトレットが6つなら86バイトが必要になる。
【0131】
(親機のメモリ容量)
次に親機2aについて検討する。
親機2aは、複数の子機を管理するためにまず子機ごとに管理が必要なデータフィールドを確認する。
【0132】
まず子機2bのネットワークアドレスおよびポート番号が必要になる。親機、子機ともにIPv4ローカルネットワーク内に存在するのであれば、ネットワークアドレスとしてはIPアドレス(4バイト)およびサブネットマスク(4バイト)で十分であるが、インターネット9を挟んだ2つのローカルネットワーク7、8を含んだ構成の場合、ゲートウェイアドレス(4バイト)と、ドメイン名あるいはグローバルIPアドレスを指定する必要がある。この場合、ドメイン名のデータフィールドとして最大253バイトが必要になる。IPで通信する以上、これらは必須である。なお、ドメイン名で指定したパケットが所定の子機に到達するためには、ローカルネットワーク8内の図示しないルータによってパケットを転送する所謂ルーティングが必要となるが、ルーティング設定については本発明には直接関係が無いのでこれ以降説明は省略する。
【0133】
また、状態監視やアウトレットOn・Off指示を行う際には認証IDと認証パスワードが必要になる。よって子機2bごとに、認証ID(15バイト)と認証パスワード(32バイト)を記録するデータフィールドが必要である。
【0134】
更に当該子機2bが持つアウトレットごとに{アウトレット番号(1バイト)、アウトレットの特性情報(2バイト)、アウトレットの出力情報(1バイト)}が必要になる。これらの性質は子機2bのそれらと同様である。
以上より、通信先の子機2bごとに(4+4+4+253+4)+2+15+32+4*x(子機2bのアウトレット数)=318+4*xが必要になる。
【0135】
そのほかシステム用のパラメータとして、通信タイムアウト時間を規定するタイムアウト時間を規定するデータフィールド(2バイト)及び生存確認の再送信時間を規定するデータフィールド(2バイト)が記憶される。
【0136】
以上より、1子機あたりに4+{(318+4*a)+(318+4*b)+(318+4*c)+…}が親機2aに必要な容量となる。もちろんシステム用のメモリが必要となる為、これだけあればプログラムが動くというものではないことは言うまでもない。
【0137】
周辺用バスコントローラ202は、CPU101等が外部バスbを経由して周辺用バスc上にあるコントローラを制御する際に経由するチップセットである。
バスコントローラ102同様、周辺用バスコントローラ202も外部バスb及び周辺用バスcに接続されている。
【0138】
市場ではCPU101の種類に対応して周辺用バスコントローラ202も市販品あるいは専用品に拘らず、本実施の形態ではCPU101と周辺用バスに存在するコントローラ等との通信ができれば良い。
【0139】
タイマ203は、図示しない動作クロックによって内部で時間を図るためのタイマである。
【0140】
LAN IF301は、ネットワーク8に接続する為のコネクタ(物理層)及びチップ(データリンク層、ネットワーク層)などを含むインターフェイス群である。このLAN IF301を経由して他のネットワーク機器との通信を行う。このLAN IF301は、ネットワーク8と接続可能なものでなければならないことは言うまでもない。
【0141】
このLAN IF301が複数ある場合には、LAN IFごとにIPアドレスが割り振られる。従って、子機2bが無線LANと有線LANの二つのLAN IFを有する場合には、其々にIPアドレスが割り振られることに注意する。親機2aは無線LAN及び有線LANのいずれをもちいて監視対象と接続しても良い。また子機2bはいずれを用いて親機2aと接続しても良い。
【0142】
LEDコントローラ302は、ネットワーク機器監視装置の状態をユーザに視覚伝達する為のLEDを制御するためのコントローラである。本図では省略しているが、LEDコントローラ302は図示しないLEDが接続され、これを点灯、点滅させることでユーザに子機2bの動作状態を伝える。
【0143】
リレーコントローラ303は、リレー311,312、313を制御するためのコントローラである。子機2bの製品仕様に応じて、制御するリレーの最低必要数が決定される。そしてそのリレーの数に応じてリレーコントローラ303はレジスタを持つ。CPU101はリレーコントローラ303中の該当するレジスタに1/0を書き込むことで、該当するリレーをOn/Offし、対応するコンセントへの電源供給を制御する構造になっている。但しこれに拘るものでなく、いかなる方法であってもリレーを制御できる手段を提供できれば、リレーコントローラ303の役割を果たすことが可能である。
【0144】
リレー311、312,313は、電源からコンセントへの電力供給を制御するための継電器である。リレー311、312,313は、リレーコントローラ303からの制御信号によってそれぞれ対応するコンセントへの電力供給が独立して制御可能なように構成されている。
【0145】
コンセント321、322、323は、子機2bから監視対象に電力を供給するためのコンセントである。各コンセントは対応するリレーに接続されることで、CPU101による制御が可能になっている。
【0146】
先にも述べたがリレーとそれに接続されるコンセント一組でアウトレットを構成する。図中では#1、#2、#3の3組で示される。本図ではアウトレットは3つから構成されているが、あくまでもこれは図のスペースの都合上そうしているだけである。実機では
図3準拠でアウトレットを6つにしても良い。その場合はコンセント324とリレー314を含む図示しないアウトレット#4、コンセント325とリレー315を含む図示しないアウトレット#5、コンセント326とリレー316を含む図示しないアウトレット#6がさらに追加されることになる。各アウトレットには一意のアウトレット番号が割り当てられており、親機2aが操作するアウトレットを指定する際にこのアウトレット番号が用いられる。
【0147】
各子機内の各アウトレットには、子機単位で一意のアウトレット番号が割り振られている。これらは親機2aが子機に対して特定のアウトレットを指定して操作を指示する際に用いられる。アウトレット情報、アウトレット番号に関する記載を参照されたい。
【0148】
既述の通り親機2aにはアウトレットが存在しなくても問題はない。直接の制御は子機2bに行わせればよいためである。もちろん親機2aにアウトレットをつけて親機2aが直接ネットワーク機器を管理するようにしても良い。
【0149】
なお、監視対象とコンセントの接続を適切に行わないと、該監視対象に異常が発生し電源を切断するときに異なる監視対象の電源を切断することになる。よってユーザは注意を払って接続及び子機2bの設定を行うべきである。本明細書ではそれらの対応は取れているものとして説明している。
【0150】
次に、親機2aと子機2b間で通信を行う際の親機2a及び子機2bの内部動作について説明する。
(ソフトウェアモジュールの構成)
図11は、本発明に係るソフトウェアモジュールの構成を表す図である。
本発明に係るソフトウェアモジュールは、HTTPモジュールSW1、生存確認モジュールSW2、状態監視モジュールSW3、アウトレットOn・Off指示モジュールSW4を含む。
【0151】
HTTPモジュールSW1は、1)図示しないIPモジュールから
図5に示すHTTPSリクエストを受け取り、2)復号した後、パスに付加されるクエリを抽出し、3)処理を他のモジュールに割り当てるモジュールである。また他のモジュールから送られたデータを
図6に示すHTTPSレスポンス形式に整えた後IPモジュールに送信する。親機も子機も基本構成は同じだが、生存確認モジュールSW2、状態監視モジュールSW3、アウトレットOn・Off指示モジュールSW4の動作は異なる。子機はHTTPSリクエストを処理するのに対し、親機はHTTPSレスポンスを処理する必要があるためである。
【0152】
親機2aがHTTPSリクエストを送信した後、子機2bでは図示しないIPモジュールが受信したデータに添付されたTCPヘッダのポート番号によってHTTPモジュールSW1に処理を引き渡すかを決定する。
【0153】
HTTPモジュールSW1に処理が引き渡されたHTTPSリクエストのデータは
図5のように、リクエスト行、ヘッダ、メッセージボディ(本明細書では不使用)を含んで構成される。
【0154】
このHTTPSリクエストのリクエスト行中のパス名によって、このHTTPSリクエストが本発明にかかわるHTTPSリクエストに相当するかを判断する。HTTPSリクエストが本発明に係るHTTPSリクエストに関連するモノでなければHTTPモジュールSW1は相応の対応を取る。但しそれらは設計事項である。
【0155】
送られたHTTPSコマンドが本発明に係るHTTPSリクエストであると判断すると、HTTPモジュールSW1がクエリの先頭の文字列(
図5メッセージボディ詳細の「値1」)によってどのモジュールにそのデータを送るかを決定する。すでに述べた通り各モジュールに対応する文字列は、生存確認は「HELLO」、状態監視は「STATUS」、アウトレットOn・Off指示は「CONT」である。よってHTTPモジュールSW1は、復号後のクエリに対して構文解析を行い、これらの文字列を抽出する。そして、HTTPモジュールSW1は、復号後のクエリのデータからこれらの文字列および続く文字間識別の“、”(コンマ)を削除する。その後に、HTTPモジュールSW1は適切なモジュールSW2~4に削除後のクエリのデータを引き渡す。これら以外の文字列が先頭に出現した際のエラー処理は設計事項である。
【0156】
また、HTTPSレスポンスを送信する場合には、HTTPモジュールSW1は各モジュールSW2~4から処理を引き渡されたデータにTCPヘッダを添付し、IPモジュールに引き渡す。この際、HTTPSレスポンスのメッセージボディの先頭に、生存確認は「ALIVE」、状態監視は「RESP」、アウトレットOn・Off指示は「RESULT」を添付する必要があるが、これらは各モジュールSW2~4によって添付される。各モジュールSW2~4から渡されたデータはHTTPSレスポンスのメッセージボディに付加され、HTTPモジュールSW1によって暗号化され親機2aに送信される。
【0157】
(子機の生存確認モジュールSW2の処理)
生存確認モジュールSW2は、生存確認に関する処理を行うモジュールである。上記の通りHTTPモジュールSW1が復号後のクエリからHELLO等を削除すると、残存データが存在しなくなるのでクエリの実質的な中身は喪失する。従って、生存確認モジュールSW2には処理のみを引き渡すことになる。なお、本来送られてくるはずのないデータが送られてきた場合のエラー処理は設計事項である。
【0158】
生存確認は、HTTPSレスポンスのメッセージボディに「ALIVE」をつけてHTTPモジュールSW1に処理を返すのみである。従って、本モジュール起動時は引き渡されるデータは無い。そして、戻り値として「ALIVE」だけをHTTPモジュールSW1に戻して終了する。但し、生存確認モジュールSW2がハードウェアの動作確認を行い正常であることを確認した後に生存確認モジュールSW2が「ALIVE」をつけてHTTPモジュールSW1に処理を返しても良い。なお、この場合のエラー発生時の挙動は設計事項である。
【0159】
(子機の状態監視モジュールSW3の処理)
状態監視モジュールSW3は、状態監視に関する処理を行うモジュールである。また、アウトレットOn・Off指示モジュールSW4は、アウトレットOn・Off指示に関する処理を行うモジュールである。これらは生存確認モジュールSW2と異なり、HTTPモジュールSW1から引き渡されるデータ(復号後のHTTPリクエストのクエリから先頭文字列およびそれに続く文字間識別の“、”(コンマ)を削除したもの)を処理する必要がある。従って、これら各モジュールSW3、SW4にはそれぞれに適した構文解析手段(パーサ)が付与されている。図上ではこれらはSW3a、SW4aと記載されている。
【0160】
図12は、子機2bの状態監視モジュールSW3の受信処理に関するフローチャートである。
状態監視モジュールSW3のパーサSW3aは、まずHTTPモジュールSW1から引き渡されたデータ(復号後のクエリから「STATUS、」を削除したもの)から認証ID(ステップS2001)及び認証パスワード(ステップS2002)を抽出する。
【0161】
そして、状態監視モジュールSW3は抽出した認証IDと認証パスワードを自身が保持する認証IDと認証パスワードを比較し、一致していなければHTTPモジュールSW1に文字列「RESP、NAK」を戻り値として返す(ステップS2003:No)。
【0162】
一方比較の結果が一致していれば(ステップS2003:Yes)、状態監視モジュールSW3は子機2b自身の全てのアウトレットの情報を収集する(ステップS2004)。この際、(子機のメモリ容量)で説明した、アウトレットセットからデータを読みだしても良いし、実際に当該アウトレットのハードの情報をレジスタ等から読みだしても良い。
【0163】
ステップS2004で収集した情報を、送信可能な形に形成する(ステップS2005)。具体的な形式は、メモリの記憶形式に記載ものと同じで、1つのアウトレットごとに{アウトレット番号(1バイト)、アウトレットの特性情報(2バイト)、アウトレットの出力情報(1バイト)}の形式になる(以下アウトレット情報)。また文字列間には文字間識別の“、”(コンマ)を挿入する。すなわちアウトレット番号1バイト+文字間識別の“、”(コンマ)1バイト+アウトレットの特性情報(2バイト)+文字間識別の“、”(コンマ)1バイト+アウトレットの出力情報(1バイト)の計6バイトで1アウトレットの情報にする。これを子機2b自身の有する全てのアウトレットに対して行う。
【0164】
そして、全てのアウトレット情報を結合する(ステップS2006)。ここではアウトレット番号順に並べて文字間識別の“、”(コンマ)1バイトでつなげていく形で文字列を結合する。すなわち1アウトレット情報(6バイト)+文字間識別の“、”(コンマ)1バイト+1アウトレット情報(6バイト)+…と言う形で形成される。アウトレットが複数存在することでアウトレット情報が複数ある際に、連続するデータ間をどのように識別するか設計事項である。
【0165】
この子機2bの持つ全アウトレットのアウトレット情報をデータにしたのちに、状態監視モジュールSW3はその文字列の先頭に「RESP、」を追加する(ステップS2007)。
以上の手順にてHTTPSレスポンスのメッセージボディが生成される。これをHTTPモジュールに送り、HTTPモジュールはHTTPレスポンスを親機2aに送り返すことになる。
【0166】
(子機のアウトレットOn・Off指示モジュールSW4の処理)
図13は子機のアウトレットOn・Off指示モジュールSW4の受信処理に関するフローチャートである。
状態監視モジュールSW3のパーサSW3aは、まずHTTPモジュールSW1から引き渡されたデータから認証ID(ステップS3001)及び認証パスワード(ステップS3002)を抽出する。なお、認証ID(ステップS3001)及び認証パスワード(ステップS3002)を抽出した後に、HTTPモジュールSW1から引き渡されたデータから認証ID(ステップS3001)及び認証パスワード(ステップS3002)及びそれの区切りとして使用していた文字間識別の“、”(コンマ)1バイトを2回(計2バイト)削除する。
【0167】
そして、状態監視モジュールSW3は抽出した認証IDと認証パスワードを自身が保持する認証IDと認証パスワードと比較し、一致しなければHTTPモジュールSW1に文字列「RESULT、NAK」を戻り値として返す(ステップS3003:No)。ここまでは、状態監視モジュールSW3とほぼ同じである。
【0168】
比較の結果が一致していれば(ステップS3003:Yes)、認証ID、認証パスワード等を削除したデータから、アウトレット番号(ステップS3004)及び命令(ステップS3005)を抽出する。前述の通り、命令とは該アウトレットのリレーをOn・Offいずれにするか、あるいはリブート(一定時間後に再起動)を表すコマンドである。本明細書では命令自体は1バイトであり、1でOn、0でOffとする。すなわちアウトレット命令の形式は、{アウトレット番号(1バイト)、アウトレットコマンド(1バイト)}の形式であり、アウトレットOn・Off指示モジュールSW4はこれから対象アウトレットと動作を導出する。
【0169】
以下、アウトレット命令の各パラメータについて説明する。
アウトレット番号は、各アウトレットに対して一意に割り当てられる1バイトの番号である。これを用いることで親機2aは操作対象になるアウトレットを子機2bに指定することができる。
【0170】
アウトレットコマンドは、各アウトレットをどのように動かすかをあらわす1バイトの番号である。具体的には電源をOnが1、電源をOffが2、電源をリブートする(Off->On)が4、と言った形であり当てられる。リブートが命令の中に含まれるのは、ルータを監視対象とした場合に電源をOffしてしまうとネットワークを越えて通信ができなくなり、ルータを再起動できなくなる。この対策として子機2bにリブート機構を持たせるようにしたものである。
【0171】
この命令に従い、アウトレットOn・Off指示モジュールSW4は該アウトレットのリレーを命令に従い制御し、その結果を取得する(ステップS3006)。正常に処理できた場合には(ステップS3007:Yes)、戻り値を「RESULT、DONE」とし戻り値としてHTTPモジュールに返す。
【0172】
正常に処理できなかった場合には(ステップS3007:No)、その理由が何かを親機2aに送信する。本図においては処理不能の場合、例えばリレーの破損や本来存在しないアウトレット番号が親機2aから指定された場合など、は戻り値を「RESULT、ERROR、0」とする。一方、リレーの操作禁止時間(例えばアウトレット命令4のリブート期間中のコマンドの送信など)以内にアクセスした等の場合、該アウトレットはビジーとして戻り値を「RESULT、ERROR、1」とする。
このように、子機2bから親機2aに戻す戻り値を決定する。
【0173】
(親機起動時の動作)
次に親機の起動時の動作について説明する。
図14は、親機2aに電源を投入した時の動作を表すフローチャートである。
【0174】
電源を投入すると、親機2aのCPU101はタイマ203をリセットし、また自身が管理する為の子機をカウントする為のカウンタXを1に設定する(ステップS1001)。
【0175】
そして、親機2aのCPU101は生存確認用のモジュールをメモリ201から読み出し子機Xの生存確認を行い(ステップS1002)、続けて生存確認用のモジュールをメモリ201から読み出し、当該子機の状態確認を行い当該子機のアウトレットの状態を確認する(ステップS1003)。この確認の際に、ステップS1001でリセットしたタイマ203を用いてタイムアウトの確認を行う。子機の電源が入っていないなどにより、これらの処理はタイムアウトしてしまうことで上記処理が終了することもある。またステップS1002でタイムアウトした場合にステップS1003を当該子機に実施するかは設計事項である。
【0176】
生存確認および状態監視の成否にかかわらず確認が終了すると、Xの値を1増分する(ステップS1004)。そして自身が管理する全ての子機の確認が終了するまでステップS1002~S1004を繰り返す(ステップS1005:No)。全ての子機の確認が終了すると(ステップS1006:Yes)、起動時の処理を終了する。
【0177】
(親機2aによるコマンドの送信)
次に親機2aによるコマンドの送信について説明する。
これまでも述べたが親機2aは1)生存確認、2)状態監視、3)アウトレットOn・Off指示の3つのコマンドを送信することがある。親機2aはコマンド送信時にそれぞれ以下のような処置をとる。
【0178】
1)生存確認
生存確認コマンドを送信する際には、親機2aはHTTPSリクエストのリクエスト行に送信先の子機2bのパス名を記載する。また文字列「HELLO」をクエリに添付し暗号化する。
【0179】
2)状態監視
状態監視コマンドを送信する際には、親機2aはHTTPリクエストのリクエスト行に送信先の子機2bのパス名を記載する。また親機2aは文字列「STATUS、」及びそれに続けて認証IDと認証パスワードを所定の形式で記載しこれらをリクエスト行のパスにクエリとして添付した後にこれらを暗号化して送信する。構文は既述の(状態監視)に記載されているので確認してほしい。
【0180】
3)アウトレットOn・Off指示
アウトレットOn・Off指示コマンドを送信する際には、HTTPリクエストのリクエスト行に送信先の子機2bのパス名を記載する。また親機2aは文字列「CONT、」及びそれに続けて認証IDと認証パスワードを、そして命令対象である子機2bのアウトレット番号と命令の内容(アウトレット命令)をそれぞれ記載する。その後データをクエリとしてパスに添付した後に暗号化し、親機2aはHTTPSリクエストを送信する。なおアウトレット命令の形式は、{アウトレット番号(1バイト)、アウトレットの出力情報(1バイト)}の形式になる。本明細書ではアウトレットOn・Off指示は同時に一つのアウトレットしか操作することを想定していないため、1つのコマンド(HTTPリクエスト)で2つのアウトレットを操作することを考えていない。しかし、一つのコマンドに複数のアウトレット命令を含ませても良い。
【0181】
最後に、親機2aによるHTTPSレスポンスの受信について説明する。
子機の各モジュールSW2~SW4が子機のHTTPモジュールSW1に返した戻り値の暗号化後のものが親機2aへのHTTPレスポンスとして戻される。従って、その値をどのように処理するかは親機2a側の設計に委ねられると言える。以下は取り扱いの例であるが、これに拘るモノではない。
【0182】
(生存確認に関するHTTPレスポンスの受信)
既述の通り、生存確認のHTTPレスポンスのメッセージボディには、
「ALIVE」
のみが添付される。他はタイムアウトのみなので、この「ALIVE」に対してのみ対応を考えればよい。
親機2aによる復号化後、「ALIVE」が戻っていることが確認できれば、親機2aは対象子機が生きていることを認識する。次に親機2aは状態監視コマンドとしてのHTTPリクエストを該当する子機に要求することが一般的であるが、設計事項でありどのような処理を続けても良い。
【0183】
(状態監視に関するHTTPレスポンスの受信)
これまた既述の通り、状態監視に関するHTTPリクエストの応答であるHTTPレスポンスのメッセージボディには、
「RESP、1のアウトレット情報、2のアウトレット情報…」
と言う形の暗号化後のデータが添付される。そして、上記1のアウトレット情報は{アウトレット番号(1バイト)、アウトレットの特性情報(2バイト)、アウトレットの出力情報(1バイト)}のデータフィールド構成となる。
【0184】
これを、子機ごとかつアウトレットごとに構文解析し、自身のメモリに記憶する。記憶の形式は(親機のメモリ容量)で説明したので、そちらを参酌されたい。
【0185】
(アウトレットOn・Offに関するHTTPレスポンスの受信)
子機2bから戻ってくるアウトレットOn・Offに関するHTTPレスポンスのメッセージボディには次のようなデータが含まれている。
◆RESULT、DONE
◆RESULT、ERROR、0
◆RESULT、ERROR、1
この場合でも親機2aは復号化後のメッセージボディを構文解析する。
「RESULT、DONE」が戻ってきた際には親機2aの指示通りに子機が処理を行ったという事になる。従って、それを反映させるべく自身のメモリに記憶した該当する子機2bのデータを修正する。この際、親機2a側が自身の判断でメモリを修正しても良いし、状態監視に関するHTTPリクエストを発行して、該子機に関する情報すべてを書き換えても良い。
【0186】
「RESULT、ERROR、0」の場合、子機2bの内部処理がうまく実行されなかった場合になる。この場合は、再び該子機に対して状態監視に関するHTTPリクエストを発行することが一般的であるが、設計事項であり、どのような処理を続けても良い。
【0187】
「RESULT、ERROR、1」の場合、子機2bの該当アウトレットがビジーだったことを示す。この場合は、再び該子機に対して状態監視に関するHTTPリクエストを発行することが一般的であるが、設計事項であり、どのような処理を続けても良い。
【0188】
いずれにしても、親機2aは必ずHTTPリクエストを発行するため、HTTPレスポンスを受け取ることが必須となる。また、受け取った結果から次に何をするかも親機2a側の処理であるため、親機側での実装が必要になる。
【0189】
最後に親機2aの情報をどのように活用するか説明する。
親機2aが収集した子機2b及びその子機のアウトレットに関する情報は親機2a自身が用いるだけでなく監視用PC1に送り表示することでユーザに提供することが可能になる。
また親機2aが上記のHTTPリクエストを周期的に各子機へ発行し、自動監視及び自動制御を行うことも可能である。
【0190】
このようにすることで、遠隔地にある子機及び子機に接続されたネットワーク機器の監視を可能にし、結果大規模なネットワーク環境の管理を可能ならしめる。
【0191】
(第2の実施の形態)
次に本発明の第2の実施の形態について説明する。
本発明においては、親機2aと子機2bの間はHTTPで通信を行う。従って、1の子機に複数の親機が接続しても他の親機が存在することによって生じる問題は起きない。
【0192】
図15は、本発明の第2の実施の形態に係るトポロジの図である。
本図では、インターネット9を挟んで2つの親機2aが接続されている。またこれらにインターネット7経由で、監視用PC1がこれら2つの親機2aに接続する。
【0193】
第1の実施の形態でも述べたが、子機側はリアクションをするのみであるので、親機側のIPアドレス等は覚える必要はない。また、HTTPは「記憶を持たない通信方式」であり、通信時の状況にのみ左右されるのでこのような運用をすることができる。
【0194】
複数の親機に同じ機能を提供することで監視及び子機制御を容易に二重化でき、障害に強い環境を提供することが可能になる。
【0195】
また、一方の親機が再起動等の実行を行い、他方の親機が監視用PC1に情報を提供することで、処理を分担することが可能になる。
【0196】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更が可能であることは言うまでもない。
【0197】
例えば、上記ではHTTPSリクエストのリクエスト行のパスのクエリストリングの先頭に位置する識別子(例:STATUS)によって生存確認、状態監視、アウトレットOn・Offの識別をなしていた。これに代えて、使用しないとしていたメッセージボディにこれらを付すことも可能である。
【0198】
また上記では、通信方式としてHTTP+TSL方式を用いるとしているが、HTTP方式を用いることも本発明の射程に含まれる。また、HTTPリクエストメソッドとしてGETメソッドを用いるとしているが、POSTメソッドで処理を行うことも本発明の射程に含まれることは言うまでもない。
【0199】
また、上記では、親機が複数の子機を管理する場合1のテーブル(データフォーム)で管理していた。しかし、子機ごとにテーブルを作成し管理することも本発明の射程に含まれる。
【0200】
また上記では状態監視モジュールSW3が返信するアウトレット情報を{アウトレット番号(1バイト)、アウトレットの特性情報(2バイト)、アウトレットの出力情報(1バイト)}という固定長バイト表記で表した。これを{Number=1,Type=5,Status=On}(注:Numberはアウトレット番号、Typeはアウトレットの特性情報、Statusはアウトレットの出力情報)のように可変長テキスト表記に変更することも可能である。同様に親機2aから子機2bに送るアウトレットOn・Off指示のアウトレット命令を{Number=1,Order=On}(注:Numberはアウトレット番号、Orderはアウトレットコマンド)のような可変長テキスト表記にしても良い。
【0201】
また上記ではIPv4前提で説明したが、IPv6での実装も本発明の射程に含まれる。
【産業上の利用可能性】
【0202】
本発明はネットワーク機器の監視装置に適用可能である。また、ルータや課金サーバ、HTTPサーバだけでなく、他のネットワーク機器を監視対象としても良いことは言うまでもない。
【符号の説明】
【0203】
1:監視用PC、
2:ネットワーク機器監視装置、
2a:親機、
2b、2c:子機、
3:監視対象A、
4:監視対象B、
7、8:ローカルネットワーク、
9:インターネット、
2b-01、2b-02、2b-03、2b-04、2b-05、2b-06:アウトレット、
2b-11:LANポート、
2b-12:電源ケーブル、
101:CPU、
102:バスコントローラ、
201:メモリ、
202:周辺用バスコントローラ、
301:LAN I/F、
302:LEDコントローラ、
303:リレーコントローラ、
311、312,313:リレー、
321、322、323:コンセント。