(58)【調査した分野】(Int.Cl.,DB名)
前記第2のAPI監視部は、前記第2のSaaS監視部によって、前記APIサービスの監視を実行している前記第1の監視SaaS提供装置の不具合が検出されたことに応じて、前記APIサービスの監視を開始する、請求項1から3のいずれか一項に記載の監視システム。
前記第1の監視SaaS提供装置は、前記第1のAPI監視部による前記APIサービスの監視に不具合が発生したことに応じて、前記APIサービスの監視を開始する監視開始指示を前記第2の監視SaaS提供装置に送信する指示送信部を有し、
前記第2のAPI監視部は、前記監視開始指示を受信したことに応じて、前記APIサービスの監視を開始する、請求項1から3のいずれか一項に記載の監視システム。
前記監視管理部は、前記APIサービスの監視に関連する情報を前記第1の監視SaaS提供装置及び前記第2の監視SaaS提供装置に送信する、請求項6に記載の監視システム。
前記監視管理部は、前記APIサービスの監視に用いるパラメータを前記第1の監視SaaS提供装置及び前記第2の監視SaaS提供装置に送信する、請求項7に記載の監視システム。
前記監視管理部は、前記APIサービスの監視の開始指示、一時停止指示、及び完了指示を前記第1の監視SaaS提供装置及び前記第2の監視SaaS提供装置に送信する、請求項7に記載の監視システム。
前記第1の監視SaaS提供装置による前記APIサービスの監視を管理するための第1のプラグインと、前記第2の監視SaaS提供装置による前記APIサービスの監視を管理するための第2のプラグインとを含む監視管理部を有する管理SaaS提供装置
をさらに備え、
前記監視管理部は、ネットワークを介して前記APIサービスを監視する第3の監視SaaS提供装置による前記APIサービスの監視を管理するための第3のプラグインを追加するプラグイン追加部を有する、請求項1から5のいずれか一項に記載の監視システム。
前記監視管理部は、前記APIサービスの監視に関連する情報を前記第1の監視SaaS提供装置及び前記第2の監視SaaS提供装置に送信する、請求項16に記載のSaaS提供装置。
前記監視管理部は、前記APIサービスの監視に用いるパラメータを前記第1の監視SaaS提供装置及び前記第2の監視SaaS提供装置に送信する、請求項17に記載のSaaS提供装置。
前記監視管理部は、前記APIサービスの監視の開始指示、一時停止指示、及び完了指示を前記第1の監視SaaS提供装置及び前記第2の監視SaaS提供装置に送信する、請求項17に記載のSaaS提供装置。
第1の監視SaaS提供装置によるネットワークを介したAPIサービスの監視を管理するための第1のプラグインと、第2の監視SaaS提供装置によるネットワークを介した前記APIサービスの監視を管理するための第2のプラグインとを含む監視管理部
を備え、
前記監視管理部は、第3の監視SaaS提供装置によるネットワークを介した前記APIサービスの監視を管理するための第3のプラグインを追加するプラグイン追加部を有する、管理装置。
第1の監視SaaS提供装置によるネットワークを介したAPIサービスの監視と、第2の監視SaaS提供装置によるネットワークを介した前記APIサービスの監視とを評価する監視評価部と、
前記監視評価部による評価に基づいて、前記第1の監視SaaS提供装置及び前記第2の監視SaaS提供装置の優先度を決定する優先度決定部と、
前記優先度に基づいて、前記第1の監視SaaS提供装置による前記APIサービスの監視内容と、前記第2の監視SaaS提供装置による前記APIサービスの監視内容とを決定する監視内容決定部と
を備える管理装置。
【発明の概要】
【発明が解決しようとする課題】
【0003】
APIサービスを適切に監視可能な技術を提供することが望ましい。
【課題を解決するための手段】
【0004】
本発明の第1の態様によれば、監視システムが提供される。監視システムは、ネットワークを介してAPIサービスを監視する第1のAPI監視部を有する第1の監視SaaS(Software as a Servide)提供装置を備えてよい。監視システムは、ネットワークを介してAPIサービスを監視する第2のAPI監視部を有する第2の監視SaaS提供装置を備えてよい。第1の監視SaaS提供装置は、第2の監視SaaS提供装置を監視する第1のSaaS監視部を有してよい。第2の監視SaaS提供装置は、第1の監視SaaS提供装置を監視する第2のSaaS監視部を有してよい。
【0005】
上記第1の監視SaaS提供装置は、上記第1のSaaS監視部によって上記第2の監視SaaS提供装置の不具合が検出された場合に、予め定められた宛先に通知データを送信する第1の通知データ送信部を有してよ。上記第2の監視SaaS提供装置は、上記第2のSaaS監視部によって上記第1の監視SaaS提供装置の不具合が検出された場合に、予め定められた宛先に通知データを送信する第2の通知データ送信部を有してよい。
【0006】
上記第2のAPI監視部は、上記第2のSaaS監視部によって、上記APIサービスの監視を実行している上記第1の監視SaaS提供装置の不具合が検出されたことに応じて、上記APIサービスの監視を開始してよい。上記第1の監視SaaS提供装置は、上記第1のAPI監視部による上記APIサービスの監視に不具合が発生したことに応じて、上記APIサービスの監視を開始する監視開始指示を上記第2の監視SaaS提供装置に送信する指示送信部を有してよく、上記第2のAPI監視部は、上記監視開始指示を受信したことに応じて、上記APIサービスの監視を開始してよい。
【0007】
上記監視システムは、上記第1の監視SaaS提供装置及び上記第2の監視SaaS提供装置による上記APIサービスの監視を管理する監視管理部を有する管理SaaS提供装置をさらに備えてよい。上記監視管理部は、上記APIサービスの監視に関連する情報を上記第1の監視SaaS提供装置及び上記第2の監視SaaS提供装置に送信してよい。上記監視管理部は、上記APIサービスの監視に用いるパラメータを上記第1の監視SaaS提供装置及び上記第2の監視SaaS提供装置に送信してよい。上記監視管理部は、上記APIサービスの監視の開始指示、一時停止指示、及び完了指示を上記第1の監視SaaS提供装置及び上記第2の監視SaaS提供装置に送信してよい。
【0008】
上記監視システムは、上記第1の監視SaaS提供装置による上記APIサービスの監視を管理するための第1のプラグインと、上記第2の監視SaaS提供装置による上記APIサービスの監視を管理するための第2のプラグインとを含む監視管理部を有する管理SaaS提供装置をさらに備えてよく、上記監視管理部は、ネットワークを介して上記APIサービスを監視する第3の監視SaaS提供装置による上記APIサービスの監視を管理するための第3のプラグインを追加するプラグイン追加部を有してよい。
【0009】
上記APIサービスは、第1のAPIを含む複数のAPIと、上記複数のAPIのゲートウェイとして機能するAPIゲートウェイとを有してよく、上記監視システムは、上記第1のAPIを監視する上記第1のAPI監視部から、上記第1のAPIの監視結果を受信する監視結果受信部と、上記第1のAPIの監視結果に基づいて、上記第1のAPIにおいてメンテナンスが開始されたことを検知するメンテナンス検知部と、上記第1のAPIにおいてメンテナンスが開始されたことが検知された場合に、上記APIゲートウェイにおける上記第1のAPIに対するモードを、メンテナンスモードに移行させるゲートウェイ制御部とを有するメンテナンス検知装置をさらに備えてよい。
【0010】
上記監視システムは、上記第1のAPI監視部から、上記APIサービスの監視結果を受信する監視結果受信部と、上記監視結果に基づいて、上記APIサービスの異常を検知する異常検知部と、上記異常検知部によって上記APIサービスの異常が検知されたことに応じて、警告データを出力する警告データ出力部とを有する監視結果分析装置をさらに備えてよい。
【0011】
上記監視システムは、上記第1の監視SaaS提供装置による上記APIサービスの監視と、上記第2の監視SaaS提供装置による上記APIサービスの監視とを評価する監視評価部と、上記監視評価部による評価に基づいて、上記第1の監視SaaS提供装置及び上記第2の監視SaaS提供装置の優先度を決定する優先度決定部と、上記優先度に基づいて、上記第1の監視SaaS提供装置による上記APIサービスの監視内容と、上記第2のSaaS提供装置による上記APIサービスの監視内容とを決定する監視内容決定部とを有する監視SaaS評価装置をさらに備えてよい。
【0012】
本発明の第2の態様によれば、SaaS提供装置が提供される。SaaS提供装置は、ネットワークを介してAPIサービスの監視を実行している他のSaaS提供装置を監視するSaaS監視部を備えてよい。SaaS提供装置は、SaaS監視部によって他のSaaS提供装置の不具合が検出されたことに応じて、APIサービスの監視を開始するAPI監視部とを備えてよい。
【0013】
本発明の第3の態様によれば、SaaS提供装置が提供される。SaaS提供装置は、ネットワークを介してAPIサービスを監視するAPI監視部を備えてよい。SaaS提供装置は、APIサービスの監視に不具合が発生することを検知する不具合検知部を備えてよい。SaaS提供装置は、不具合検知部による検知に応じて、APIサービスの監視を開始する監視開始指示を他のSaaS提供装置に送信する指示送信部とを備えてよい。
【0014】
本発明の第4の態様によれば、SaaS提供装置が提供される。SaaS提供装置は、ネットワークを介してAPIサービスを監視する第1の監視SaaS提供装置と、ネットワークを介してAPIサービスを監視する第2の監視SaaS提供装置とによるAPIサービスの監視をネットワークを介して管理する監視管理部を備えてよい。監視管理部は、APIサービスの監視に関連する情報を第1の監視SaaS提供装置及び第2の監視SaaS提供装置に送信してよい。監視管理部は、APIサービスの監視に用いるパラメータを第1の監視SaaS提供装置及び第2の監視SaaS提供装置に送信してよい。監視管理部は、APIサービスの監視の開始指示、一時停止指示、及び完了指示を第1の監視SaaS提供装置及び第2の監視SaaS提供装置に送信してよい。
【0015】
本発明の第5の態様によれば、コンピュータを、上記SaaS提供装置として機能させるためのプログラムが提供される。
【0016】
本発明の第6の態様によれば、管理装置が提供される。管理装置は、第1の監視SaaS提供装置によるネットワークを介したAPIサービスの監視を管理するための第1のプラグインと、第2の監視SaaS提供装置によるネットワークを介した前記APIサービスの監視を管理するための第2のプラグインとを含む監視管理部を備えてよい。監視管理部は、第3の監視SaaS提供装置によるネットワークを介したAPIサービスの監視を管理するための第3のプラグインを追加するプラグイン追加部を有してよい。
【0017】
本発明の第7の態様によれば、管理装置が提供される。管理装置は、ネットワークを介してAPIを監視する監視SaaS提供装置から、APIの監視結果を受信する監視結果受信部を備えてよい。管理装置は、APIの監視結果に基づいて、APIにおいてメンテナンスが開始されたことを検知するメンテナンス検知部を備えてよい。管理装置は、APIにおいてメンテナンスが開始されたことが検知された場合に、APIを含む複数のAPIのゲートウェイとして機能するAPIゲートウェイにおけるAPIに対するモードを、メンテナンスモードに移行させるゲートウェイ制御部を備えてよい。
【0018】
本発明の第8の態様によれば、管理装置が提供される。管理装置は、ネットワークを介してAPIサービスを監視する監視SaaS提供装置から、APIサービスの監視結果を受信する監視結果受信部を備えてよい。管理装置は、監視結果に基づいて、APIサービスの異常を検知する異常検知部を備えてよい。管理装置は、異常検知部によってAPIサービスの異常が検知されたことに応じて、警告データを出力する警告データ出力部を備えてよい。
【0019】
本発明の第9の態様によれば、管理装置が提供される。管理装置は、第1の監視SaaS提供装置によるネットワークを介したAPIサービスの監視と、第2の監視SaaS提供装置によるネットワークを介したAPIサービスの監視とを評価する監視評価部を備えてよい。管理装置は、監視評価部による評価に基づいて、第1の監視SaaS提供装置及び第2の監視SaaS提供装置の優先度を決定する優先度決定部を備えてよい。管理装置は、優先度に基づいて、第1の監視SaaS提供装置によるAPIサービスの監視内容と、第2の監視SaaS提供装置によるAPIサービスの監視内容とを決定する監視内容決定部を備えてよい。
【0020】
本発明の第10の態様によれば、コンピュータを、上記管理装置として機能させるためのプログラムが提供される。
【0021】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための形態】
【0023】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0024】
図1は、監視システム10の一例を概略的に示す。本実施形態に係る監視システム10は、ネットワーク20を介してAPIサービス200を監視する。ネットワーク20は、任意のネットワークであってよく、例えば、インターネット及びクラウドネットワーク等を含む。
【0025】
APIサービス200は、APIを利用したサービスであり、サービスの種類はどのような種類であってもよい。サービスの種類として、SMS(Short Message Service)配信サービス、IoT(Internet of Thing)管理サービス、及び鍵遠隔管理サービス等が例示できるが、これらに限らない。
【0026】
監視システム10は、複数の監視SaaS提供装置100を備え、複数の監視SaaS提供装置100によってAPIサービス200を監視する。監視SaaS提供装置100は、APIサービス200を監視する監視SaaSを提供する装置である。
【0027】
監視SaaS提供装置100は、APIサービス200が正常に稼働しているか否かを定期的又は不定期に確認する。監視SaaS提供装置100は、例えば、定期的又は不定期にAPIリクエストをAPIサービス200に送信することによって、APIサービス200が正常に稼働しているか否かを確認する。
【0028】
監視SaaS提供装置100は、APIサービス200によるサービスの利用を試みることによって、APIサービス200が正常に稼働しているか否かを確認してよい。例えば、APIサービス200がSMS配信サービスを提供している場合、監視SaaS提供装置100は、APIサービス200に対してSMS送信リクエストを送信し、APIサービス200から「200 OK」等の、処理が正常に終了したことを示す情報を受信した場合に、APIサービス200が正常に稼働していると判定し得る。また、例えば、APIサービス200がIoT管理サービスを提供している場合、監視SaaS提供装置100は、APIサービス200に対してIoTデバイス一覧情報のリクエストを送信し、APIサービス200からIoTデバイス一覧情報を受信した場合に、APIサービス200が正常に稼働していると判定し得る。
【0029】
監視SaaS提供装置100は、APIサービス200の異常を検出した場合に、APIサービス200の管理を担当する担当者32の担当者端末30にその旨を通知してよい。担当者端末30は、スマートフォン等の携帯電話、タブレット端末、及びPC(Personal Computer)等であってよい。
【0030】
本実施形態に係る監視SaaS提供装置100は、APIサービス200を監視するとともに、他の監視SaaS提供装置100を監視する。例えば、第1の監視SaaS提供装置100は、APIサービス200及び第2の監視SaaS提供装置100を監視し、第2の監視SaaS提供装置100は、APIサービス200及び第1の監視SaaS提供装置100を監視する。このように、本実施形態に係る複数の監視SaaS提供装置100は、相互に監視を行う。これにより、正しく監視が継続されていることを自動的に担保することが可能となる。
【0031】
複数の監視SaaS提供装置100は、異なる役割を担ってもよい。例えば、第1の監視SaaS提供装置100がメインでAPIサービス200を監視し、第2の監視SaaS提供装置100がサブでAPIサービス200を監視する。具体例として、まず、第1の監視SaaS提供装置100がAPIサービス200を監視し、第2の監視SaaS提供装置100は第1の監視SaaS提供装置100を監視する。第2の監視SaaS提供装置100は、第1の監視SaaS提供装置100における障害の発生等を検知した場合に、APIサービス200の監視を開始する。これにより、通常時は第1の監視SaaS提供装置100のみによってAPIサービス200を監視することにより、重複監視を行わないことによって効率化を図ることができ、第1の監視SaaS提供装置100に障害等が発生したときには、即時的に第2の監視SaaS提供装置100によるAPIサービス200の監視を開始させることができる。
【0032】
監視システム10は、管理SaaS提供装置300をさらに備えてよい。管理SaaS提供装置300は、複数の監視SaaS提供装置100を管理する。管理SaaS提供装置300は、例えば、複数の監視SaaS提供装置100のそれぞれに対して、APIサービス200を監視するために用いるパラメータを設定したり、監視の実行や、監視の停止等の指示を行う。管理SaaS提供装置300の処理の詳細については後述する。
【0033】
監視システム10は、メンテナンス検知装置400をさらに備えてよい。メンテナンス検知装置400は、APIサービス200においてメンテナンスが監視されたことを検知して、検知結果に応じた処理を実行する。メンテナンス検知装置400の処理の詳細については後述する。
【0034】
監視システム10は、監視結果分析装置500をさらに備えてよい。監視結果分析装置500は、複数の監視SaaS提供装置100のそれぞれによる監視結果を複数の監視SaaS提供装置100のそれぞれから受信して、監視結果を分析する。監視結果分析装置500による処理の詳細については後述する。
【0035】
監視システム10は、監視SaaS評価装置600をさらに備えてよい。監視SaaS評価装置600は、複数の監視SaaS提供装置100のそれぞれによる監視を評価して、評価結果に応じて、複数の監視SaaS提供装置100のそれぞれの監視内容を決定する。監視SaaS評価装置600による処理の詳細について後述する。
【0036】
図2は、監視システム10による監視状況の一例を概略的に示す。
図2では、2つの監視SaaS提供装置100(監視SaaS提供装置102及び監視SaaS提供装置104)によってAPIサービス200を監視する場合を例示しているが、これに限らず、3つ以上の監視SaaS提供装置100によってAPIサービス200を監視してもよい。
【0037】
監視SaaS提供装置102は、APIサービス200を監視する。監視SaaS提供装置102は、例えば、定期的又は不定期にAPIゲートウェイ210に対してAPIリクエストを送信する。
図2に示す例において、APIゲートウェイ210は、API222、API224、又はAPI226に対して、APIリクエストをそのまま送信したり、予め定められた変換を施して送信する。APIゲートウェイ210は、APIリクエストの送信先からAPIレスポンスを受信した場合に、監視SaaS提供装置102に対してAPIレスポンスをそのまま送信したり、予め定められた変換を施して送信する。
【0038】
監視SaaS提供装置102は、APIリクエストに対するAPIレスポンスの受信状況に応じて、APIサービス200が正常に稼働しているか否かを判定する。監視SaaS提供装置102は、例えば、受信したAPIレスポンスの内容がエラーを示す場合や、APIリクエストを送信してから予め定められた時間が経過するまでの間にAPIレスポンスを受信しなかった場合等に、APIサービス200が正常に稼働していないと判定し得る。
【0039】
監視SaaS提供装置104は、監視SaaS提供装置102と同様にAPIサービス200を監視する。監視SaaS提供装置102と監視SaaS提供装置104とは、連携することなくAPIサービス200を監視してよく、また、互いに連携してAPIサービス200を管理してもよい。例えば連携しない場合、監視SaaS提供装置102及び監視SaaS提供装置104のそれぞれは、それぞれのタイミングでAPIリクエストをAPIゲートウェイ210に送信する。連携する場合、例えば、監視SaaS提供装置102と監視SaaS提供装置104とが交互にAPIリクエストをAPIゲートウェイ210に送信する。
【0040】
監視SaaS提供装置102はさらに、監視SaaS提供装置104を監視する。監視SaaS提供装置102は、例えば、監視SaaS提供装置104が正常に稼働しているか否かを定期的又は不定期に確認する。具体例として監視SaaS提供装置102は、定期的又は不定期に、監視SaaS提供装置104の監視機能に対してAPIコールを行い、その結果によって監視SaaS提供装置104が正常に稼働しているか否かを判定する。監視SaaS提供装置102は、監視SaaS提供装置104が正常に稼働していないと判定した場合、その旨を担当者端末30に通知し得る。
【0041】
監視SaaS提供装置102による監視SaaS提供装置104の監視と同様に、監視SaaS提供装置104は、監視SaaS提供装置102を監視する。これにより、複数の監視SaaS提供装置100によってAPIサービス200を監視している場合に、少なくともいずれかの監視SaaS提供装置100による監視に不具合が発生した場合に、その状況を迅速に担当者32等に通知することができ、早期復旧に貢献することができる。
【0042】
図3は、監視システム10による監視状況の一例を概略的に示す。
図3では、2つの監視SaaS提供装置100(監視SaaS提供装置102及び監視SaaS提供装置104)によってAPIサービス200を監視する場合を例示しているが、これに限らず、3つ以上の監視SaaS提供装置100によってAPIサービス200を監視してもよい。
【0043】
図3に示す例において、監視SaaS提供装置102は、APIサービス200をメインで監視し、監視SaaS提供装置104は、APIサービス200をサブで監視する。まず、監視SaaS提供装置102が、APIサービス200を監視する。APIサービス200の監視方法は、
図2における監視SaaS提供装置102と同様であってよい。
【0044】
監視SaaS提供装置104は、監視SaaS提供装置102を監視する。監視SaaS提供装置104は、例えば、監視SaaS提供装置102が正常に稼働しているか否かを定期的又は不定期に確認する。具体例として監視SaaS提供装置104は、定期的又は不定期に、監視SaaS提供装置102の監視機能に対してAPIコールを行い、その結果によって監視SaaS提供装置102が正常に稼働しているか否かを判定する。
【0045】
監視SaaS提供装置104は、監視SaaS提供装置102が正常に稼働していないと判定した場合、APIゲートウェイ210の監視を開始する。監視SaaS提供装置104は、監視SaaS提供装置102と同様にAPIサービス200を監視してよい。このように、監視SaaS提供装置102によってAPIサービス200を監視し、監視SaaS提供装置102に障害等が発生した場合に、自動的に監視SaaS提供装置104によってAPIサービス200を監視するように構成することによって、重複監視を行わないことによって効率化を図りつつ、APIサービス200の監視を継続的に実行することを可能とする。
【0046】
なお、監視SaaS提供装置104が監視SaaS提供装置102を監視することに代えて、監視SaaS提供装置102が、APIサービス200の監視を監視SaaS提供装置104に指示してもよい。例えば、監視SaaS提供装置102は、APIサービス200の監視に不具合が発生した場合等、APIサービス200の監視を継続できない状況になったことに応じて、APIサービス200の監視を開始する監視開始指示を監視SaaS提供装置104に送信する。監視SaaS提供装置104は、監視開始指示を受信したことに応じて、APIサービス200の監視を開始する。
【0047】
図4は、監視システム10による処理の流れの一例を概略的に示す。ここでは、管理SaaS提供装置300によって監視SaaS提供装置102及び監視SaaS提供装置104に監視設定を行い、監視SaaS提供装置102がメインでAPIサービス200を監視している状況で、監視SaaS提供装置102に不具合が発生した場合の監視システム10による処理の流れを示す。
【0048】
ステップ(ステップをSと省略して記載する場合がある。)102では、担当者32が担当者端末30を用いて、管理SaaS提供装置300に対して監視設定を投入する。担当者32は、例えば、APIサービス200を監視するために用いるパラメータを担当者端末30を用いて管理SaaS提供装置300に投入する。
【0049】
S104では、管理SaaS提供装置300が、監視SaaS提供装置102に対して監視設定を反映する。S106では、管理SaaS提供装置300が、監視SaaS提供装置104に対して監視設定を反映する。
【0050】
S108では、監視SaaS提供装置102が、APIゲートウェイ210に対してAPIリクエストを送信する。S110では、APIゲートウェイ210が、APIリクエストをAPI222に送信する。S112では、API222が、APIレスポンスをAPIゲートウェイ210に送信する。S114では、APIゲートウェイ210が、APIレスポンスを監視SaaS提供装置102に送信する。ここでは、APIレスポンスがエラーを示すものとして説明を続ける。
【0051】
S116では、監視SaaS提供装置102が、API222のエラーを検知する。S118では、監視SaaS提供装置102が、エラー内容を担当者端末30に送信する。S120では、担当者端末30が、API222にエラーが発生していることを担当者32に通知する。S122では、S118において担当者端末30が受信したエラー内容を担当者32が確認する。S124では、担当者32が、担当者端末30を介して監視SaaS提供装置102にアクセスすることによって、エラーの詳細を確認する。
【0052】
S126では、監視SaaS提供装置104が、監視SaaS提供装置102の監視機能に対して、APIコールを実行する。ここでは、監視SaaS提供装置102にエラーが発生しているものとして説明を続ける。S128では、監視SaaS提供装置104が、監視SaaS提供装置102のエラーを検知する。監視SaaS提供装置104は、当該エラーの検知に応じて、APIサービス200の監視を開始する。
【0053】
S130では、監視SaaS提供装置104が、APIゲートウェイ210に対してAPIリクエストを送信する。S132では、APIゲートウェイ210が、APIリクエストをAPI222に送信する。S134では、API222が、APIレスポンスをAPIゲートウェイ210に送信する。S136では、APIゲートウェイ210が、APIレスポンスを監視SaaS提供装置104に送信する。ここでは、APIレスポンスがエラーを示すものとして説明を続ける。
【0054】
S138では、監視SaaS提供装置104が、API222のエラーを検知する。S140では、監視SaaS提供装置104が、エラー内容を担当者端末30に送信する。S142では、担当者端末30が、API222にエラーが発生していることを担当者32に通知する。S144では、S140において担当者端末30が受信したエラー内容を担当者32が確認する。S146では、担当者32が、担当者端末30を介して監視SaaS提供装置104にアクセスすることによって、エラーの詳細を確認する。
【0055】
S148では、監視SaaS提供装置104が、監視SaaS提供装置102に対して、復旧したか否かを確認するためのAPIコールを実行する。復旧していないと判定した場合、監視SaaS提供装置104は、APIサービス200の監視を継続する。復旧したと判定した場合、監視SaaS提供装置104は、APIサービス200の監視を停止し、監視SaaS提供装置102は、APIサービス200の監視を実行する。
【0056】
図5は、監視SaaS提供装置100の機能構成の一例を概略的に示す。監視SaaS提供装置100は、API監視部112、SaaS監視部114、通知データ送信部116、及び指示送信部118を備える。
【0057】
API監視部112は、APIサービス200を監視する。API監視部112は、APIゲートウェイ210を介して複数のAPIを監視してよい。また、API監視部112は、APIゲートウェイ210を介さずに複数のAPIのそれぞれを監視してもよい。
【0058】
SaaS監視部114は、他の監視SaaS提供装置100を監視する。SaaS監視部114は、他の1つの監視SaaS提供装置100を監視してよい。SaaS監視部114は、他の複数の監視SaaS提供装置100を監視してもよい。
【0059】
通知データ送信部116は、SaaS監視部114によって、他の監視SaaS提供装置100の不具合が検出された場合に、予め定められた宛先に通知データを送信する。宛先としては、例えば、担当者32のメールアドレス等が例示できる。通知データは、他の監視SaaS提供装置100に不具合が発生したこと、及び、不具合の内容等を含んでよい。
【0060】
指示送信部118は、API監視部112によるAPIサービス200の監視に不具合が発生したことに応じて、APIサービス200の監視を開始する監視開始指示を他の監視SaaS提供装置100に送信する。
【0061】
図6は、監視システム10による監視状況の一例を概略的に示す。
図6では、2つの監視SaaS提供装置100(監視SaaS提供装置102及び監視SaaS提供装置104)によってAPIサービス200を監視する場合を例示しているが、これに限らず、3つ以上の監視SaaS提供装置100によってAPIサービス200を監視してもよい。
【0062】
図6に示す例において、監視SaaS提供装置102及び監視SaaS提供装置104はそれぞれ、APIサービス200を監視する。監視SaaS提供装置102及び監視SaaS提供装置104は、監視SaaS提供装置102がメインとしてAPIサービス200を監視し、監視SaaS提供装置104がサブとしてAPIサービス200を監視してもよい。
【0063】
管理SaaS提供装置300は、監視SaaS提供装置102及び監視SaaS提供装置104によるAPIサービス200の監視を管理する監視管理部310を有する。監視管理部310は、APIサービス200の監視に関連する情報を監視SaaS提供装置102及び監視SaaS提供装置104に送信する。監視管理部310は、例えば、担当者32によって、担当者端末30を介して入力された情報を監視SaaS提供装置102及び監視SaaS提供装置104に送信する。
【0064】
監視管理部310は、例えば、APIサービス200の監視に用いるパラメータを監視SaaS提供装置102及び監視SaaS提供装置104に送信する。監視管理部310は、例えば、APIサービス200を監視するためにAPIトークンが必要である場合、監視SaaS提供装置102及び監視SaaS提供装置104に対してAPIトークンを送信する。また、監視管理部310は、例えば、APIサービス200を監視するために、リクエストに日付を含めなければいけない等の条件が有る場合、当該条件を監視SaaS提供装置102及び監視SaaS提供装置104に対して送信する。
【0065】
また、監視管理部310は、例えば、APIサービス200の監視の開始指示、一時停止指示、及び終了指示等を監視SaaS提供装置102及び監視SaaS提供装置104に送信する。担当者32は、例えば、APIサービス200のメンテナンス期間を知得した場合に、当該メンテナンス期間には監視を実行しないように指示を行い得る。また、担当者32は、例えば、APIサービス200の使用が禁止される期間を知得した場合に、当該期間には監視を実行しないように指示を行い得る。
【0066】
図7は、監視システム10による監視状況の一例を概略的に示す。
図7に示す例において、監視SaaS提供装置102及び監視SaaS提供装置104はそれぞれ、APIサービス200を監視する。監視SaaS提供装置102及び監視SaaS提供装置104は、監視SaaS提供装置102がメインとしてAPIサービス200を監視し、監視SaaS提供装置104がサブとしてAPIサービス200を監視してもよい。
【0067】
管理SaaS提供装置300は、監視管理部310を有する。監視管理部310は、監視SaaS提供装置102によるAPIサービス200の監視を管理するためのプラグイン302と、監視SaaS提供装置104によるAPIサービス200の監視を管理するためのプラグイン304とを有する。
【0068】
監視管理部310は、プラグイン302を介して、監視SaaS提供装置102の、APIサービス200を監視するための設定を行う。また、監視管理部310は、プラグイン304を介して、監視SaaS提供装置104の、APIサービス200を監視するための設定を行う。
【0069】
監視管理部310は、プラグインを追加するプラグイン追加部320を有する。プラグイン追加部320は、例えば、新たに追加されてAPIサービス200を監視する監視SaaS提供装置106によるAPIサービス200の監視を管理するためのプラグイン306を追加する。プラグイン追加部320は、さらに追加される監視SaaS提供装置によるAPIサービス200の監視を管理するためのプラグインを追加可能である。
図7に示す監視システム10によれば、複数の監視SaaS提供装置100のそれぞれの仕様差分を、それぞれに対応するプラグインによって吸収することによって、元となる監視管理部310の改修なしで、監視SaaS提供装置を追加することが可能となる。
【0070】
図8は、監視システム10による監視状況の一例を概略的に示す。
図8に示す例においては、監視SaaS提供装置102がAPI222を監視する。監視SaaS提供装置102は、API222の監視結果をメンテナンス検知装置400に送信する。
【0071】
メンテナンス検知装置400は、監視結果受信部402、メンテナンス検知部404、及びゲートウェイ制御部406を備える。監視結果受信部402は、監視SaaS提供装置102によって送信されるAPI222の監視結果を受信する。監視結果受信部402は、監視SaaS提供装置102によって定期的に又は不定期に送信されるAPI222の監視結果を受信する。
【0072】
メンテナンス検知部404は、監視結果受信部402が受信する監視結果に基づいて、API222においてメンテナンスが開始されたことを検知する。メンテナンス検知部404は、例えば、API222に対してAPIリクエストを送信して、レスポンスとして、「HTTP 503」のように、メンテナンス中であることを示すデータを受信した場合に、API222においてメンテナンスが開始されたと判定する。
【0073】
また、メンテナンス検知部404は、例えば、事前に収集した情報に基づいて、API222においてメンテナンスが開始されたことを検知する。具体例として、メンテナンス検知部404は、API222がメンテナンスを行っているときにAPI222に対してAPIリクエストを送信したときのレスポンス内容を複数取得して分析する。これにより、メンテナンス検知部404は、API222がメンテナンスを行っている時のレスポンス内容のパターンを取得する。そして、メンテナンス検知部404は、API222に対して複数回にわたってAPIリクエストを送信したときのレスポンス内容のパターンが、メンテナンスを行っているときのレスポンス内容のパターンと一致すると判定した場合に、API222がメンテナンスを行っていると判定する。これにより、API222がメンテナンス中であるにもかかわらず、「HTTP 503」のようなデータをレスポンスとして返さないような場合でも、API222がメンテナンス中であるか否かを判定することができる。
【0074】
また、例えば、メンテナンス検知部404は、API222がそれまでに接続不可、タイムアウトになった日時や、レスポンス内容を統計データとして機械学習による分析を行い、API222において発生したエラーがメンテナンスによるものか障害によるものかを判定する。
【0075】
ゲートウェイ制御部406は、API222においてメンテナンスが開始されたことがメンテナンス検知部404によって検知された場合に、APIゲートウェイ210におけるAPI222に対するモードを、メンテナンスモードに移行させる。
【0076】
API222がメンテナンス中であることをAPIゲートウェイ210が把握できていれば、APIゲートウェイ210は、自らメンテナンスモードに移行して、外部からのAPIリクエスト等に対して、API222がメンテナンス中であることを通知することができる。しかし、APIゲートウェイ210は、API222がメンテナンス中であることを必ずしも把握できない。例えば、APIゲートウェイ210からの問い合わせに対して、API222が「HTTP 503」を返す場合はメンテナンス中であることを把握できるが、「HTTP 500」を返す場合には把握できない。
【0077】
それに対して、本実施形態に係るメンテナンス検知装置400によれば、API222においてメンテナンスが開始されたことがメンテナンス検知部404によって検知され、ゲートウェイ制御部406によってAPIゲートウェイ210におけるAPI222に対するモードがメンテナンスモードに移行される。これにより、API222においてメンテナンスが開始されたことをAPIゲートウェイ210が把握できないような状況においても、APIゲートウェイ210をメンテナンスモードに移行させることができ、APIゲートウェイ210に、外部からの問い合わせに対して、API222がメンテナンス中であることを通知させることができる。
【0078】
監視SaaS提供装置102は、API222がメンテナンスしている間もAPI222の監視を継続して、監視結果をメンテナンス検知装置400に送信する。メンテナンス検知装置400は、監視結果に基づいて、API222のメンテナンスが完了したと検知した場合に、APIゲートウェイ210におけるAPI222に対するメンテナンスモードを解除させてよい。
【0079】
図9は、監視システム10による監視状況の一例を概略的に示す。
図9に示す例において、監視SaaS提供装置102及び監視SaaS提供装置104はそれぞれ、APIサービス200を監視する。監視SaaS提供装置102及び監視SaaS提供装置104は、監視SaaS提供装置102がメインとしてAPIサービス200を監視し、監視SaaS提供装置104がサブとしてAPIサービス200を監視してもよい。監視SaaS提供装置102及び監視SaaS提供装置104はそれぞれ、定期的又は不定期に監視結果を監視結果分析装置500に送信する。
【0080】
監視結果分析装置500は、監視結果受信部502、異常検知部504、及び警告データ出力部506を備える。監視結果受信部502は、監視SaaS提供装置102及び監視SaaS提供装置104のそれぞれによって送信されるAPIサービス200の監視結果を受信する。
【0081】
異常検知部504は、監視結果受信部502が受信する監視結果に基づいて、APIサービス200の異常を検知する。異常検知部504は、例えば、監視SaaS提供装置102及び監視SaaS提供装置104のそれぞれが、監視のためにAPIサービス200に送信するAPIリクエストの内容と、APIサービス200からのAPIレスポンスの内容とを統計データとして分析する。そして、異常検知部504は、APIリクエストに対するAPIレスポンスが通常と異なる傾向を示す場合に、APIサービス200の異常を検知する。
【0082】
例えば、正常に稼働している場合にはAPIリクエストに対するAPIレスポンスの内容が毎回同じ値になるAPIサービス200を対象としているとき、異常検知部504は、APIレスポンスの内容が異なる内容を示したときに、異常を検知する。また、例えば、異常検知部504は、APIリクエストを受信してからAPIレスポンスを送信するまでに時間が、統計的に有意な幅で平時と異なっている場合に、異常を検知する。また、例えば、異常検知部504は、APIレスポンスのデータサイズが統計的に有意な幅で平時と異なっている場合に、異常を検知する。これらのような検知法を採用することによって、異常検知部504は、HTTPステータスコードを参照して異常を検知するような通常の監視サービスとは異なり、HTTPステータスコード上では正常になっているものや、明示的なエラー条件を設定していないAPIサービス200における異常を検知することができる。
【0083】
図10は、監視システム10による監視状況の一例を概略的に示す。
図10に示す例において、複数の監視SaaS提供装置100のそれぞれがAPIサービス200を監視する。複数の監視SaaS提供装置100は、例えば、1時間毎、1日毎、1週間毎等の予め定められた期間毎に、交代してAPIサービス200を監視する。監視評価部602、優先度決定部604、及び監視内容決定部606を備える。
【0084】
監視評価部602は、複数の監視SaaS提供装置100のそれぞれによるAPIサービス200の監視を評価する。監視評価部602は、サービス稼働時間に基づいて監視SaaS提供装置100を評価してよい。監視評価部602は、例えば、サービス稼働時間が長いほど、評価を高くする。
【0085】
監視評価部602は、レスポンス時間に基づいて監視SaaS提供装置100を評価してもよい。監視評価部602は、例えば、レスポンス時間が短いほど、評価を高くする。
【0086】
監視評価部602は、エラー検知精度に基づいて監視SaaS提供装置100を評価してもよい。監視評価部602は、例えば、エラー検知精度が高いほど、評価を高くする。
【0087】
監視評価部602は、監視コール成功率に基づいて監視SaaS提供装置100を評価してもよい。監視評価部602は、例えば、監視コール成功率が高いほど、評価を高くする。
【0088】
監視評価部602は、サービス稼働時間、レスポンス時間、エラー検知精度、及び監視コール成功率のうち複数に基づいて監視SaaS提供装置100を評価してもよい。また、監視評価部602は、これら以外に基づいて監視SaaS提供装置100を評価してもよい。
【0089】
優先度決定部604は、複数の監視SaaS提供装置100の優先度を決定する。優先度決定部604は、例えば、担当者32による手動設定に従って、複数の監視SaaS提供装置100の優先度を決定する。また、優先度決定部604は、監視評価部602による評価に基づいて、複数の監視SaaS提供装置100の優先度を決定する。優先度決定部604は、例えば、評価が高い順に、複数の監視SaaS提供装置100の優先度を高くする。
【0090】
監視内容決定部606は、優先度決定部604によって決定された優先度に基づいて、複数の監視SaaS提供装置100のそれぞれによるAPIサービス200の監視内容を決定する。監視内容決定部606は、例えば、複数の監視SaaS提供装置100のうち、いずれか1つの監視SaaS提供装置100に障害等が発生して、当該監視SaaS提供装置100によるAPIサービス200の監視が実行できなくなった場合に、残りの監視SaaS提供装置100のうち最も優先度が高い監視SaaS提供装置100に、当該監視SaaS提供装置100の代わりにAPIサービス200を監視させる。
【0091】
また、監視内容決定部606は、例えば、優先度に基づいて、複数の監視SaaS提供装置100のそれぞれの監視実行時間を決定する。例えば、5つの監視SaaS提供装置100のそれぞれが1日毎に交代してAPIサービス200を監視している場合に、優先度が最も高い監視SaaS提供装置100の監視時間を4日間、次に優先度が高い監視SaaS提供装置100の監視時間を3日間、次に優先度が高い監視SaaS提供装置100の監視時間を2日間、次に優先度が高い監視SaaS提供装置100の監視時間を1日間、最も優先度の低い監視SaaS提供装置100の監視時間を半日に決定する。これにより、優先度が高い監視SaaS提供装置100により長い時間監視をおこなわせることができ、全体的な監視の信頼度を向上させることができる。
【0092】
図11は、監視SaaS提供装置100、管理SaaS提供装置300、メンテナンス検知装置400、監視結果分析装置500、又は監視SaaS評価装置600として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0093】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD−ROMドライブ及びDVD−RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0094】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0095】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD−ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0096】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0097】
プログラムは、DVD−ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0098】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD−ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0099】
また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD−ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0100】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0101】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0102】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0103】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD−ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0104】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0105】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0106】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0107】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。