(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022057368
(43)【公開日】2022-04-11
(54)【発明の名称】通知装置、通知方法及び通知プログラム
(51)【国際特許分類】
G06F 11/07 20060101AFI20220404BHJP
【FI】
G06F11/07 151
G06F11/07 140A
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2020165586
(22)【出願日】2020-09-30
(11)【特許番号】
(45)【特許公報発行日】2021-04-21
(71)【出願人】
【識別番号】519110124
【氏名又は名称】PayPay株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】パンディ シュレイ
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042JJ03
5B042JJ15
5B042KK13
5B042MA08
(57)【要約】
【課題】所定のサービスが提供する機能を利用する他のサービスが適切に提供されているかを適切に判定する。
【解決手段】本願に係る通知装置は、サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する判定部と、判定部により機能が稼働していないと判定された場合は、サービスに対応する通知先に対して機能が稼働していない旨を通知する通知部とを有することを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する判定部と、
前記判定部により前記機能が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能が稼働していない旨を通知する通知部と
を有することを特徴とする通知装置。
【請求項2】
前記通知部は、
前記所定のサーバの管理者に対し、前記機能が稼働していない旨を通知する
ことを特徴とする請求項1に記載の通知装置。
【請求項3】
前記通知部は、
前記機能を利用するサービスの提供者に対し、当該機能が稼働していない旨を通知する
ことを特徴とする請求項1または2に記載の通知装置。
【請求項4】
前記判定部は、
前記所定のサーバにより提供される機能のうち、前記サービスが利用する機能群が稼働するか否かを判定し、
前記通知部は、
前記判定部により前記機能群が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能群が稼働していない旨を通知する
ことを特徴とする請求項1から3のうちいずれか1つに記載の通知装置。
【請求項5】
前記判定部は、
前記所定のサーバにより提供される機能が複数のサービスにおいて利用される場合は、サービスごとに当該サービスにおいて利用される機能が稼働するか否かを判定し、
前記通知部は、
前記複数のサービスのうち、前記判定部により機能が稼働していないと判定されたサービスに対応する通知先に対して機能が稼働していない旨を通知する
ことを特徴とする請求項1から4のうちいずれか1つに記載の通知装置。
【請求項6】
前記判定部は、
API(Application Programming Interface)を介して前記所定のサーバにより提供される機能が稼働するか否かを判定する
ことを特徴とする請求項1から5のうちいずれか1つに記載の通知装置。
【請求項7】
前記判定部により稼働していないと判定された機能と、当該機能が稼働しなかった日時とをモデルに学習させる学習部と
前記学習部により学習されたモデルに基づいて、前記判定部により稼働していないと判定された機能が稼働しないタイミングを推定する推定部と
を有し、
前記通知部は、
前記判定部により稼働していないと判定された機能を利用するサービスに対応する通知先に対して当該機能が稼働しないタイミングを通知する
ことを特徴とする請求項1から6のうちいずれか1つに記載の通知装置。
【請求項8】
コンピュータが実行する通知方法であって、
サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する判定工程と、
前記判定工程により前記機能が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能が稼働していない旨を通知する通知工程と
を含むことを特徴とする通知方法。
【請求項9】
サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する判定手順と、
前記判定手順により前記機能が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能が稼働していない旨を通知する通知手順と
をコンピュータに実行させることを特徴とする通知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通知装置、通知方法及び通知プログラムに関する。
【背景技術】
【0002】
従来、通信ネットワークの発達に伴い、通信ネットワークに接続された情報機器の稼働を監視するための技術が提案されている。このような技術の一例として、データ処理を実行するサーバの作成済みファイルの一覧に基づいて当該データ処理が進行しているか否かを判断し、データ処理が進行していないと判断した回数のカウント値が所定の閾値を超えた場合に、当該サーバが正常に稼働していないと判断する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、所定のサービスが提供する機能を利用する他のサービスが適切に提供されているかを適切に判定することができない場合がある。
【0005】
例えば、複数の機能を提供する第1サービスを利用して、利用者に対し各種の第2サービスを提供するといった態様が考えられる。このような態様において、第1サービスが提供する機能のうちいずれかの機能に障害が発生した場合には、障害が発生した機能を利用する第2サービスのみが適切に提供されなくなる。しかしながら、上記の従来技術では、サーバが正常に稼働しているか否かを判断しているに過ぎないため、第1サービスが提供する機能のうちいずれかの機能に障害が発生したとしても、第2サービスのうちどの第2サービスが適切に提供されなくなるかを特定することができない。
【0006】
本願は、上記に鑑みてなされたものであって、所定のサービスが提供する機能を利用する他のサービスが適切に提供されているかを適切に判定する通知装置、通知方法及び通知プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る通知装置は、サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する判定部と、前記判定部により前記機能が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能が稼働していない旨を通知する通知部とを有することを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、所定のサービスが提供する機能を利用する他のサービスが適切に提供されているかを適切に判定できるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る通知処理の一例を示す図である。
【
図2】
図2は、情報処理装置により提供されるコンテンツの一例を示す図である。
【
図3】
図3は、実施形態に係る情報処理装置の構成例を示す図である。
【
図4】
図4は、実施形態に係る稼働状況データベースの一例を示す図である。
【
図5】
図5は、実施形態に係る通知処理の手順の一例を示すフローチャートである。
【
図6】
図6は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に本願に係る通知装置、通知方法及び通知プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る通知装置、通知方法及び通知プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.実施形態〕
図1を用いて、本実施形態の通知装置等により実現される通知処理について説明する。
図1は、実施形態に係る通知処理の一例を示す図である。なお、
図1では、本実施形態に係る通知装置の一例である情報処理装置10によって、実施形態に係る通知処理などが実現されるものとする。
【0012】
図1に示すように、実施形態に係る通知システム1は、情報処理装置10と、サーバ100と、サービスサーバ200と、管理者端末300とを含む。情報処理装置10、サーバ100、サービスサーバ200及び管理者端末300は、ネットワークN(例えば、
図3参照)を介して有線または無線により相互に通信可能に接続される。ネットワークNは、例えば、インターネットなどのWAN(Wide Area Network)である。なお、
図1に示した通知システム1には、複数台の情報処理装置10、複数台のサーバ100、複数台のサービスサーバ200及び複数台の管理者端末300が含まれていてもよい。
【0013】
図1に示す情報処理装置10は、通知処理を行う情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報処理装置10は、各種サービスにおいて利用される機能であって、サーバ100によりAPI(Application Programming Interface)を介して提供される機能が稼働するか否かを判定し、判定結果に基づく情報を所定の通知先に通知する。
【0014】
図1に示すサーバ100は、各種の機能を実現する情報処理装置であり、サーバ装置やクラウドシステム等により実現される。例えば、サーバ100は、情報処理の要求をAPIによって受け付け、情報処理の結果を要求元へ返すAPIサーバである。具体的な例を挙げると、サーバ100は、地
図APIにより店舗の位置をサービスサーバ200に返す。また、サーバ100は、天気APIにより一日の気温をサービスサーバ200に返す。
【0015】
なお、サーバ100は、電子決済に関する決済処理を実行する情報処理装置であってもよい。例えば、サーバ100は、利用者が利用する利用者端末を用いる電子決済に関する電子決済サービスを提供する。例えば、サーバ100は、取引対象の提供者(事業者)や取引対象が提供される利用者の口座を管理しており、利用者からの決済要求に従って、口座間において電子マネーの移行等を行うことで、各種決済を実現する。なお、電子マネーとは、例えば、各種企業が独自に用いるポイントや通貨等であってもよく、日本円やドル等の国家により提供される貨幣を電子的に取引可能としたものであってもよい。
【0016】
また、サーバ100は、APIを介して、電子決済サービスに関する各種の機能をサービスサーバ200に提供してもよい。
【0017】
図1に示すサービスサーバ200は、各種サービスを利用者に提供するサーバ装置である。サービスサーバ200は、例えば、ポータルサービスや、検索サービス、ショッピングサービス、オークションサービス、ピックアップサービス、フードデリバリーサービス、情報提供サービス(例えば、地図情報サービス、ナビゲーションサービス、ニュースサービス、天気予報サービス)、スケジュールを登録するカレンダーサービスなどの各種サービスを利用者に提供する。
【0018】
図1に示す管理者端末300は、サービスサーバ200を管理する管理者によって利用される情報処理装置である。管理者端末300は、例えば、スマートフォンや、タブレット型端末、ノート型PC(Personal Computer)、デスクトップPC、携帯電話機、PDA(Personal Digital Assistant)等により実現される。また、管理者端末300は、情報処理装置10やサーバ100によって配信される情報を、ウェブブラウザやアプリケーションにより表示する。なお、
図1に示す例では、管理者端末300がノート型PCである場合を示すが、ウェブユーザインターフェースを用いて管理者が利用する任意の端末装置がネットワークNに接続されてよい。
【0019】
なお、管理者端末300は、所定の情報処理を実現する制御情報を情報処理装置10やサーバ100から受け取った場合には、制御情報に従って情報処理を実現する。ここで、制御情報は、例えば、JavaScript(登録商標)等のスクリプト言語やCSS(Cascading Style Sheets)等のスタイルシート言語により記述される。なお、情報処理装置10やサーバ100から配信される所定のアプリケーションそのものを制御情報とみなしてもよい。
【0020】
〔1-1.利用者端末を用いた決済について〕
ここで、情報処理装置10が実行する通知処理に先立ち、サーバ100を用いた決済(電子決済)の一例について説明する。なお、以下の説明では、店舗に配置された2次元コード(QRコード(登録商標))であって、店舗を識別する店舗識別情報を示す2次元コードを用いて、利用者が利用者端末を用いた決済を行う例について説明するが、実施形態は、これに限定されるものではない。例えば、店舗識別情報は、QRコードのみならず、バーコードや所定のマーク、番号等であってもよい。
【0021】
例えば、利用者が店舗にて各種の商品やサービスといった決済対象(取引対象)の利用や購入に伴う決済を行う場合、利用者は、利用者端末に予めインストールされた決済アプリを起動する。そして、利用者は、決済アプリを介して、店舗に設置された店舗識別情報を撮影する。このような場合、利用者端末は、決済対象の価格を入力するための画面を表示し、利用者或いは店舗の店員から決済金額の入力を受け付ける。そして、利用者端末は、利用者を識別する利用者識別情報と、店舗識別情報(若しくは、店舗識別情報が示す情報、すなわち、店舗を示す情報(例えば、店舗ID))と、決済金額とを示す決済情報をサーバ100へと送信する。
【0022】
このような場合、サーバ100は、利用者識別情報が示す利用者の口座から、店舗識別情報が示す店舗の口座へと、決済金額が示す額の電子マネーを移行させる。そして、サーバ100は、決済が完了した旨の通知を利用者端末へと送信する。このような場合、利用者端末は、決済が完了した旨の画面や所定の音声を出力することで、電子マネーによる決済が行われた旨を通知する。
【0023】
なお、利用者端末を用いた決済は、上述した処理に限定されるものではない。例えば、利用者端末を用いた決済は、店舗に設置された店舗端末を用いたものであってもよい。例えば、利用者端末は、利用者を識別するための利用者識別情報を画面上に表示させる。このような場合、店舗に設置された店舗端末は、利用者端末に表示された利用者識別情報を読み取り、利用者識別情報(若しくは、利用者識別情報が示す情報、すなわち、利用者を示す情報(例えば、利用者ID))と、決済金額と、店舗を識別する情報とを示す決済情報をサーバ100へと送信する。このような場合、サーバ100は、利用者識別情報が示す利用者の口座から、店舗の口座へと、決済金額が示す額の電子マネーを移行させ、店舗端末或いは利用者端末に対し、決済が完了した旨の画面や所定の音声を出力させることで、決済が行われた旨を通知してもよい。
【0024】
また、利用者端末を用いた決済は、利用者が予め電子マネーをチャージした口座から店舗の口座へと電子マネーを移行させる処理のみならず、例えば、利用者が予め登録したクレジットカードを用いた決済であってもよい。このような場合、例えば、利用者端末は、店舗の口座に対して決済金額の電子マネーを移行させるとともに、利用者のクレジットカードの運用会社に対し、決済金額を請求してもよい。
【0025】
〔1-2.実施形態の概要について〕
ここで、従来、通信ネットワークに接続された情報機器の稼働を監視するための技術として、データ処理を実行するサーバの作成済みファイルの一覧に基づいて当該データ処理が進行しているか否かを判断し、データ処理が進行していないと判断した回数のカウント値が所定の閾値を超えた場合に、当該サーバが正常に稼働していないと判断する技術が提案されている。しかしながら、このような技術では、サーバが正常に稼働しているか否かを判断しているに過ぎないため、例えば、複数の機能を提供する第1サービスを利用して、利用者に対し各種の第2サービスを提供するといった態様において、第1サービスが提供する機能のうちいずれかの機能に障害が発生したとしても、第2サービスのうちどの第2サービスが適切に提供されなくなるかを特定することができない。
【0026】
そこで、情報処理装置10は、実施形態に係る通知処理を実行する。以下、
図1を用いて、情報処理装置10が実行する通知処理について説明する。なお、以下の説明では、それぞれ異なるサービスを提供するサービスサーバ200-1~200-3により、利用者に各種のサービスが提供される例を示す。また、以下の説明において、サービスサーバ200-1~200-3は、それぞれサーバ100により提供されるAPI群#1~#3を介して電子決済サービスに関する機能を利用し、利用者にサービスを提供するものとする。また、以下の説明では、サービスサーバ200-1~200-3について、特に区別なく説明する場合には、サービスサーバ200と記載する。なお、通知システム1は、4台以上のサービスサーバ200を有していてもよい。
【0027】
また、以下の説明において、サービスサーバ200-1~200-3は、それぞれ管理者端末300-1~300-3を利用する管理者により管理されるものとする。また、以下の説明では、管理者端末300-1~300-3について、特に区別なく説明する場合には、管理者端末300と記載する。
【0028】
まず、情報処理装置10は、サーバ100が提供する各機能に関する情報を収集する(ステップS0)。例えば、情報処理装置10は、サーバ100が提供する機能群の動作内容であって、サービスサーバ200が提供する各サービスにおける動作内容を収集する。
【0029】
続いて、情報処理装置10は、サーバ100が提供する機能が稼働するか否かを所定期間(例えば、1時間)ごとに判定する(ステップS1)。所定の期間は、秒、分、時間の単位で任意に設定できる。情報処理装置10は、各サービスサーバ200が提供するサービスごとに、当該サービスにおいて利用される機能群が正常に稼働するか否かを判定する。具体的な例を挙げると、情報処理装置10は、API群#1を介したサービスサーバ200-1からサーバ100へのアクセスを実行する。そして、情報処理装置10は、API群#1に対応する機能群のうち、サーバ100からの応答がなかった機能を正常に稼働していない機能と判定する。同様に、情報処理装置10は、API群#2及び#3に関しても、それぞれサービスサーバ200-2及び200-3によるアクセスを実行し、API群#2及び#3に対応する機能群が稼働するか否かを判定する。
【0030】
なお、情報処理装置10は、ステップS0において収集した情報に基づいてテストケースを作成し、作成したテストケースに基づいて機能が正常に稼働するか否かを判定してもよい。
【0031】
続いて、情報処理装置10は、機能の稼働状況を示す情報を収集する(ステップS2)。例えば、情報処理装置10は、稼働していないと判定された機能と、当該機能が機能していないと判定された日時とを含む情報を稼働状況として収集し、自装置の記憶部に格納する。
【0032】
続いて、情報処理装置10は、機能の稼働状況を管理者端末300に通知する(ステップS3)。例えば、API群#1に対応する機能群のいずれかが稼働していないと判定された一方で、API群#2及び#3に対応する機能群が稼働していると判定された場合、情報処理装置10は、管理者端末300-1に対し、サービスサーバ200-1が利用する機能が稼働していない旨を通知する。
【0033】
なお、情報処理装置10は、サービスサーバ200が利用する機能の稼働状況を示すコンテンツを管理者端末300に通知(提供)してもよい。ここで、
図2を用いて、情報処理装置10により提供され、管理者端末300に表示されるコンテンツについて説明する。
図2は、情報処理装置により提供されるコンテンツの一例を示す図である。
【0034】
図2の例において、管理者端末300は、サーバ100が提供する機能#1の稼働状況を示すコンテンツC1を表示する。例えば、管理者端末300は、直近の60日間における各日ごとの機能#1の稼働状況を所定のオブジェクトにより示す領域AR1と、コンテンツC1の表示態様の変更を指示するためのボタンB1及びB2とを含むコンテンツC1を表示する。
【0035】
図2の例において、領域AR1に表示されるオブジェクトOb1は、対応する日付において機能#1に対応する情報が存在しなかった(N/D:No Data)ことを示す。また、オブジェクトOb2は、対応する日付において機能#1が所定期間稼働していなかったことを示す。また、オブジェクトOb3は、機能#1が対応する日付において完全に稼働していなかったことを示す。また、オブジェクトOb1~Ob3以外のオブジェクトは、機能#1が正常に稼働していたことを示す。
【0036】
また、
図2の例において、ボタンB1が管理者に押下された場合、管理者端末300は、ひと月ごとの機能#1の稼働状況が表示されるように、領域AR1の表示態様を変更する。ボタンB2が管理者に押下された場合、管理者端末300は、直近の所定期間(例えば、24時間)における1時間ごとの機能#1の稼働状況が表示されるように、領域AR1の表示態様に変更する。
【0037】
なお、
図2に示す領域AR1のオブジェクトのいずれかが押下された場合、管理者端末300は、対応する日付における1時間ごとの機能#1の稼働状況が表示されるよう、領域AR1の表示態様に変更してもよい。
【0038】
以上のように、実施形態に係る情報処理装置10は、サーバ100が提供するAPIに対しサービスサーバ200よるアクセスを実行することで、APIに対応する機能が稼働するか否かを判定する。これにより、実施形態に係る情報処理装置10は、上述の実施形態のように、サーバ100によって複数の機能が他の各種サービスに提供されるといった態様であっても、いずれのサービスに提供している機能に障害が発生したかを判定することができる。すなわち、実施形態に係る情報処理装置10は、所定のサービスが提供する機能を利用する他のサービスが適切に提供されているかを適切に判定できる。
【0039】
〔2.情報処理装置の構成〕
次に、
図3を用いて、情報処理装置10の構成について説明する。
図3は、実施形態に係る情報処理装置の構成例を示す図である。
図3に示すように、情報処理装置10は、通信部20と、記憶部30と、制御部40とを有する。
【0040】
(通信部20について)
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、サーバ100や、サービスサーバ200、管理者端末300等との間で情報の送受信を行う。
【0041】
(記憶部30について)
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図3に示すように、記憶部30は、稼働状況データベース31と、モデルデータベース32とを有する。
【0042】
(稼働状況データベース31について)
稼働状況データベース31は、サーバ100が提供する機能の稼働状況を示す情報を記憶する。ここで、
図4を用いて、稼働状況データベース31が記憶する情報の一例を説明する。
図4は、実施形態に係る稼働状況データベースの一例を示す図である。
図4の例において、稼働状況データベース31は、「機能ID」、「稼働状況」といった項目を有する。
【0043】
「機能ID」は、機能を識別するための識別子を示す。「稼働状況」は、機能の稼働状況に関する情報を示し、例えば、機能が稼働するか否かを判定した日時や、当該日時において当該機能が稼働していたか否かを示す情報などが格納される。
【0044】
すなわち、
図3では、機能ID「AID#1」によって識別される機能の稼働状況が「稼働状況#1」である例を示す。
【0045】
(モデルデータベース32について)
モデルデータベース32は、日時をモデルに入力した場合に、当該日時における機能の稼働状況を出力するモデルを記憶する。なお、モデルデータベース32は、サーバ100が提供する機能ごとに学習されたモデルを記憶してもよく、単一のモデルを記憶してもよい。
【0046】
(制御部40について)
制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部40は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。実施形態に係る制御部40は、
図2に示すように、判定部41と、学習部42と、推定部43と、通知部44とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
【0047】
(判定部41について)
判定部41は、サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する。例えば、
図1の例において、判定部41は、各種サービスの提供者(管理者)より管理されるサービスサーバ200とは異なるサーバ100により提供される機能であって、当該各種サービスにおいて利用される機能が稼働するか否かを判定し、判定結果を稼働状況データベース31に格納する。
【0048】
また、判定部41は、所定のサーバにより提供される機能のうち、サービスが利用する機能群が稼働するか否かを判定してもよい。例えば、
図1の例において、判定部41は、サーバ100により提供される機能のうち、サービスサーバ200が提供するサービスが利用する機能群が稼働するか否かを判定する。
【0049】
また、判定部41は、所定のサーバにより提供される機能が複数のサービスにおいて利用される場合は、サービスごとに当該サービスにおいて利用される機能が稼働するか否かを判定してもよい。例えば、
図1の例において、判定部41は、サービスサーバ200-1からサーバ100へのアクセスを実行する。そして、情報処理装置10は、サービスサーバ200-1が提供するサービスにおいて利用される機能群のうち、サーバ100からの応答がなかった機能を稼働していない機能と判定する。
【0050】
また、判定部41は、APIを介して所定のサーバにより提供される機能が稼働するか否かを判定してもよい。例えば、
図1の例において、判定部41は、API群#1を介したサービスサーバ200-1からサーバ100へのアクセスを実行することにより、サーバ100により提供される機能が稼働するか否かを判定する。
【0051】
(学習部42について)
学習部42は、判定部41により稼働していないと判定された機能と、当該機能が稼働しなかった日時とをモデルに学習させる。例えば、学習部42は、稼働状況データベース31に格納された情報を正解データとし、サーバ100が提供する各機能に対応するモデルに学習させる。具体的な例を挙げるとは、学習部42は、所定の期間と、対応する期間における対象の機能の稼働状況(例えば、
図2の例における領域AR1に表示されるオブジェクトの出現パターン)との組を正解データとしてモデルに学習させる。すなわち、学習部42は、日時をモデルに入力した際に、当該日時における対象の機能の稼働状況、若しくは、稼働状況に対応する情報(例えば、
図2に示すように、機能の稼働状況をオブジェクトOb1~Ob3等により示すコンテンツ)を出力するように、バックプロパゲーション等の技術を用いてモデルの学習を行う。
【0052】
なお、学習部42が学習させるモデルは、任意の種別のモデルが採用可能である。例えば、学習部42は、SVM(Support Vector Machine)やDNN(Deep Neural Network)をモデルとして採用してもよい。ここで、DNNは、CNN(Convolutional Neural Network)やRNN(Recurrent Neural Network)であってもよい。また、RNNは、LSTM(Long short-term memory)等であってもよい。また、モデルは、CNNとRNNとを組み合わせたモデル等、複数のモデルを組み合わせることで実現されてもよい。
【0053】
(推定部43について)
推定部43は、学習部42により学習されたモデルに基づいて、判定部41により稼働していないと判定された機能が稼働しないタイミングを推定する。例えば、推定部43は、学習済みのモデルに対し、日時及び機能IDを入力し、モデルが出力した情報を推定結果とする。
【0054】
(通知部44について)
通知部44は、判定部41により機能が稼働していないと判定された場合は、サービスに対応する通知先に対して機能が稼働していない旨を通知する。例えば、通知部44は、判定部41により機能が稼働していないと判定された場合は、当該機能を利用するサービスに対応する通知先に対して、当該機能が稼働していない旨を通知する。具体的な例を挙げると、通知部44は、サーバ100の管理者に対して機能が稼働していない旨を通知する。
【0055】
また、通知部44は、所定のサーバの管理者に対し、機能が稼働していない旨を通知してもよい。例えば、
図1の例において、通知部44は、サービスサーバ200を管理する管理者が利用する管理者端末300に対し、機能が稼働していない旨を通知する。
【0056】
また、通知部44は、機能を利用するサービスの提供者に対し、当該機能が稼働していない旨を通知してもよい。例えば、
図1の例において、通知部44は、稼働していないと判定された機能を利用するサービスの提供者(管理者)の管理者端末300に対し、当該機能が稼働していない旨を通知する。
【0057】
また、通知部44は、判定部41により機能群が稼働していないと判定された場合は、サービスに対応する通知先に対して機能群が稼働していない旨を通知してもよい。例えば、
図1の例において、API群#1に対応する機能群のいずれかが稼働していないと判定された場合、通知部44は、管理者端末300-1に対し、サービスサーバ200-1が利用する機能が稼働していない旨を通知する。
【0058】
また、通知部44は、複数のサービスのうち、判定部41により機能が稼働していないと判定されたサービスに対応する通知先に対して機能が稼働していない旨を通知してもよい。例えば、
図1の例において、API群#1に対応する機能群のいずれかが稼働していないと判定された一方で、API群#2及び#3に対応する機能群が稼働していると判定された場合、通知部44は、管理者端末300-1に対し、サービスサーバ200-1が利用する機能が稼働していない旨を通知する。
【0059】
また、通知部44は、判定部41により稼働していないと判定された機能を利用するサービスに対応する通知先に対して当該機能が稼働しないタイミングを通知してもよい。例えば、通知部44は、推定部43による推定結果を、対応する通知先に通知する。
【0060】
〔3.通知処理のフロー〕
次に、
図5を用いて、実施形態に係る情報処理装置10の通知処理の手順について説明する。
図5は、実施形態に係る通知処理の手順の一例を示すフローチャートである。
【0061】
図5に示すように、情報処理装置10は、所定のサーバにより提供される各機能に関する情報を収集する(ステップS101)。続いて、情報処理装置10は、サーバ100の機能が稼働するか否かを判定する所定のタイミングであるか判定する(ステップS102)。所定のタイミングでない場合(ステップS103;No)、情報処理装置10は、所定のタイミングとなるまで待機する。
【0062】
一方、所定のタイミングである場合(ステップS102;Yes)、情報処理装置10は、所定のサービスにおいて利用されるサーバ100の機能が稼働するか否かを判定する(ステップS103)。稼働すると判定した場合(ステップS103;Yes)、情報処理装置10は、処理を終了する。
【0063】
一方、稼働しないと判定した場合(ステップS103;No)、情報処理装置10は、所定のサービスに対応する通知先に対して機能が稼働していない旨を通知し(ステップS104)、処理を終了する。
【0064】
〔4.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
【0065】
〔4-1.機能が稼働するか否かの判定について〕
上述の実施形態において、判定部41が、API群を介したサービスサーバ200からサーバ100へのアクセスを実行することにより、機能が稼働するか否かを判定する例を示したが、判定部41の機能はこのような例に限定されない。例えば、判定部41は、ヘルスチェックやウェブフックなどを利用してサーバ100が提供する機能が稼働する否かを判定してもよい。
【0066】
〔4-2.通知部44による処理について〕
上述の実施形態において、通知部44が、所定の通知先に対して機能が稼働していない旨を通知する処理や、機能の稼働状況を示すコンテンツを管理者端末300に提供する処理を実行する例を示したが、通知部44の機能はこのような例に限定されず、任意の態様で機能の稼働に関する情報を通知してもよい。例えば、通知部44は、Slack(登録商標)等の各種チームコミュニケーションツールや、SNS、掲示板、メールやショートメッセージサービス等の各種プラットフォームを介して通知を行ってよい。
【0067】
なお、チームコミュニケーションツールにおいて通知を行う場合、通知部44は、稼働していない機能と対応するチームや所定の人物に対して通知してもよく、稼働していない機能と対応するサービスと対応するチームや所定の人物に対して通知してもよい。ここで、通知部44が通知を行うチームとは、サーバ100を管理する組織に属する人物により構成されるチーム、サービスサーバ200を管理する組織に属する人物により構成されるチーム、サーバ100やサービスサーバ200により提供されるサービスを利用する一般利用者により構成されるチームなどであってもよい。また、通知部44が通知を行う所定の人物とは、サーバ100を管理する管理者、サービスサーバ200を管理する管理者、一般利用者であってもよい。
【0068】
〔4-3.処理態様について〕
上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0069】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0070】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0071】
〔5.効果〕
上述してきたように、実施形態に係る情報処理装置10は、判定部41と、学習部42と、推定部43と、通知部44とを有する。判定部41は、サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する。学習部42は、判定部41により稼働していないと判定された機能と、当該機能が稼働しなかった日時とをモデルに学習させる。推定部43は、学習部42により学習されたモデルに基づいて、判定部41により稼働していないと判定された機能が稼働しないタイミングを推定する。通知部44は、判定部41により機能が稼働していないと判定された場合は、サービスに対応する通知先に対して機能が稼働していない旨を通知する。また、通知部44は、判定部41により稼働していないと判定された機能を利用するサービスに対応する通知先に対して当該機能が稼働しないタイミングを通知する。
【0072】
これにより、実施形態に係る情報処理装置10は、サーバ100によって複数の機能が他の各種サービスに提供されるといった態様であっても、いずれのサービスに提供している機能に障害が発生したかを判定することができるため、所定のサービスが提供する機能を利用する他のサービスが適切に提供されているかを適切に判定できる。また、実施形態に係る情報処理装置10は、機能が稼働しないタイミングを推定し、あらかじめ対応する通知先に通知することができるため、利便性を向上させることができる。
【0073】
また、実施形態に係る情報処理装置10において、例えば、通知部44は、所定のサーバの管理者に対し、機能が稼働していない旨を通知する。また、通知部44は、機能を利用するサービスの提供者に対し、当該機能が稼働していない旨を通知する。
【0074】
これにより、実施形態に係る情報処理装置10は、機能に障害が発生した場合には適切な通知先に機能が稼働していない旨を通知できるため、利便性を向上させることができる。
【0075】
また、実施形態に係る情報処理装置10において、例えば、判定部41は、所定のサーバにより提供される機能のうち、サービスが利用する機能群が稼働するか否かを判定する。そして、通知部44は、判定部41により機能群が稼働していないと判定された場合は、サービスに対応する通知先に対して機能群が稼働していない旨を通知する。
【0076】
これにより、実施形態に係る情報処理装置10は、所定のサービスにおいて利用される機能群に障害が発生した場合には、当該サービスに対応する通知先に機能群が稼働していない旨を通知できるため、利便性を向上させることができる。
【0077】
また、実施形態に係る情報処理装置10において、例えば、判定部41は、所定のサーバにより提供される機能が複数のサービスにおいて利用される場合は、サービスごとに当該サービスにおいて利用される機能が稼働するか否かを判定する。そして、通知部44は、複数のサービスのうち、判定部41により機能が稼働していないと判定されたサービスに対応する通知先に対して機能が稼働していない旨を通知する。
【0078】
これにより、実施形態に係る情報処理装置10は、障害が発生したサービスを特定して対応する通知先に機能が稼働していない旨を通知できるため、利便性を向上させることができる。
【0079】
また、実施形態に係る情報処理装置10において、例えば、判定部41は、APIを介して所定のサーバにより提供される機能が稼働するか否かを判定する。
【0080】
これにより、実施形態に係る情報処理装置10は、APIを介した機能が正常に稼働するか否か判定できるため、利便性を向上させることができる。
【0081】
〔6.ハードウェア構成〕
また、上述してきた各実施形態に係る情報処理装置10は、例えば、
図6に示すような構成のコンピュータ1000によって実現される。以下、情報処理装置10を例に挙げて説明する。
図6は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、ROM1200、RAM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0082】
CPU1100は、ROM1200又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1200は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0083】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(実施形態のネットワークNに対応する)を介して他の機器からデータを受信してCPU1100へ送り、また、通信網500を介してCPU1100が生成したデータを他の機器へ送信する。
【0084】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0085】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1300を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1300上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0086】
例えば、コンピュータ1000が情報処理装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1300上にロードされたプログラムを実行することにより、制御部40の機能を実現する。また、HDD1400には、情報処理装置10の記憶装置内の各データが格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0087】
〔7.その他〕
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0088】
また、上述した情報処理装置10は、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【0089】
また、特許請求の範囲に記載した「部」は、「手段」や「回路」などに読み替えることができる。例えば、受付部は、受付手段や受付回路に読み替えることができる。
【符号の説明】
【0090】
10 情報処理装置
20 通信部
30 記憶部
31 稼働状況データベース
32 モデルデータベース
40 制御部
41 判定部
42 学習部
43 推定部
44 通知部
100 サーバ
200 サービスサーバ
300 管理者端末
【手続補正書】
【提出日】2021-03-01
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する判定部と、
前記判定部により前記機能が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能が稼働していない旨を通知する通知部と
を有し、
前記判定部は、
前記所定のサーバにより提供される機能が複数のサービスにおいて利用される場合は、サービスごとに当該サービスにおいて利用される機能が稼働するか否かを判定し、
前記通知部は、
前記複数のサービスのうち、前記判定部により機能が稼働していないと判定されたサービスに対応する通知先に対して機能が稼働していない旨を通知する
ことを特徴とする通知装置。
【請求項2】
前記通知部は、
前記所定のサーバの管理者に対し、前記機能が稼働していない旨を通知する
ことを特徴とする請求項1に記載の通知装置。
【請求項3】
前記通知部は、
前記機能を利用するサービスの提供者に対し、当該機能が稼働していない旨を通知する
ことを特徴とする請求項1または2に記載の通知装置。
【請求項4】
前記判定部は、
前記所定のサーバにより提供される機能のうち、前記サービスが利用する機能群が稼働するか否かを判定し、
前記通知部は、
前記判定部により前記機能群が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能群が稼働していない旨を通知する
ことを特徴とする請求項1から3のうちいずれか1つに記載の通知装置。
【請求項5】
前記判定部は、
API(Application Programming Interface)を介して前記所定のサーバにより提供される機能が稼働するか否かを判定する
ことを特徴とする請求項1から4のうちいずれか1つに記載の通知装置。
【請求項6】
前記判定部により稼働していないと判定された機能と、当該機能が稼働しなかった日時とをモデルに学習させる学習部と
前記学習部により学習されたモデルに基づいて、前記判定部により稼働していないと判定された機能が稼働しないタイミングを推定する推定部と
を有し、
前記通知部は、
前記判定部により稼働していないと判定された機能を利用するサービスに対応する通知先に対して当該機能が稼働しないタイミングを通知する
ことを特徴とする請求項1から5のうちいずれか1つに記載の通知装置。
【請求項7】
コンピュータが実行する通知方法であって、
サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する判定工程と、
前記判定工程により前記機能が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能が稼働していない旨を通知する通知工程と
を含み、
前記判定工程は、
前記所定のサーバにより提供される機能が複数のサービスにおいて利用される場合は、サービスごとに当該サービスにおいて利用される機能が稼働するか否かを判定し、
前記通知工程は、
前記複数のサービスのうち、前記判定工程により機能が稼働していないと判定されたサービスに対応する通知先に対して機能が稼働していない旨を通知する
ことを特徴とする通知方法。
【請求項8】
サービスの提供者により管理されるサーバとは異なる所定のサーバにより提供される機能であって、当該サービスにおいて利用される機能が稼働するか否かを判定する判定手順と、
前記判定手順により前記機能が稼働していないと判定された場合は、前記サービスに対応する通知先に対して前記機能が稼働していない旨を通知する通知手順と
をコンピュータに実行させ、
前記判定手順は、
前記所定のサーバにより提供される機能が複数のサービスにおいて利用される場合は、サービスごとに当該サービスにおいて利用される機能が稼働するか否かを判定し、
前記通知手順は、
前記複数のサービスのうち、前記判定手順により機能が稼働していないと判定されたサービスに対応する通知先に対して機能が稼働していない旨を通知する
ことを特徴とする通知プログラム。