(57)【要約】【課題】複数のサービスへの接続の手間を軽減するネットワークデバイスを提供する。【解決手段】ネットワークデバイスは、ネットワーク上の第２サービスに接続して、カウンタ情報を含む第２稼働情報を送信するための第２ソフトウェアを実行する。ネットワークデバイスは、第２稼働情報とは異なる情報を含む第１稼働情報をネットワーク上の第１サービスに送信するための第１ソフトウェアがインストールされた後に、該第１ソフトウェアの機能として、該第１サービスに対して接続要求を送信する送信手段と、該接続要求に応じて第１サービスへの接続に成功したことを示す通知を受信した場合に、第２ソフトウェアに、第２サービスに対して接続要求を送信するよう指示を行う指示手段と、を有する。第１サービスへの接続成功の通知を受信しない場合、指示手段による第２ソフトウェアに対する指示が行われない。【選択図】図６
2020052777.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の第２サービスに接続して、カウンタ情報を含む第２稼働情報を送信するための第２ソフトウェアを実行するネットワークデバイスであって、
前記第２稼働情報とは異なる情報を含む第１稼働情報をネットワーク上の第１サービスに送信するための第１ソフトウェアがインストールされた後に、該第１ソフトウェアの機能として、該第１サービスに対して接続要求を送信する送信手段と、
前記送信手段により送信された接続要求に応じて前記第１サービスへの接続に成功したことを示す通知を受信した場合に、前記第２ソフトウェアに、前記第２サービスに対して接続要求を送信するよう指示を行う指示手段と、を有し、
前記送信手段により送信された接続要求に応じて前記第１サービスへの接続に成功したことを示す通知を受信しなかった場合、または、前記第２ソフトウェアを介して前記第２サービスに対して既に接続に成功していた場合は、前記指示手段による前記第２ソフトウェアに対する前記指示が行われないことを特徴とするネットワークデバイス。
【請求項２】
前記第１稼働情報に含まれる前記第２稼働情報とは異なる情報は、前記ネットワークデバイスで検出された障害の対処に必要な情報を特定するために内部実行される診断の結果を表すコードを含むことを特徴とする請求項１に記載のネットワークデバイス。
【請求項３】
前記第２サービスに対しての接続が不要な場合は、前記指示手段による前記第２ソフトウェアに対する前記指示が行われないことを特徴とする請求項１または２に記載のネットワークデバイス。
【請求項４】
前記第２サービスに対しての接続が不要であるか否かは、前記第１サービスまたは前記第２サービスが提供される地域を示す仕向け情報に基づき判定されることを特徴とする請求項３に記載のネットワークデバイス。
【請求項５】
前記仕向け情報により前記第２サービスに対しての接続が必要であると判定された場合でも、前記第１サービスが前記第２サービスの能力を含み、かつ前記第１ソフトウェアが前記第２サービスに対応可能な場合には、前記第２サービスに対しての接続が不要であると判定されることを特徴とする請求項４に記載のネットワークデバイス。
【請求項６】
ネットワーク上の第２サービスに接続して、カウンタ情報を含む第２稼働情報を送信するための第２ソフトウェアを実行するネットワークデバイスにおける方法であって、
前記第２稼働情報とは異なる情報を含む第１稼働情報をネットワーク上の第１サービスに送信するための第１ソフトウェアがインストールされた後に、該第１ソフトウェアの機能として、該第１サービスに対して接続要求を送信する送信工程と、
前記送信された接続要求に応じて前記第１サービスへの接続に成功したことを示す通知を受信した場合に、前記第２ソフトウェアに、前記第２サービスに対して接続要求を送信するよう指示を行う指示工程と、を有し、
前記送信された接続要求に応じて前記第１サービスへの接続に成功したことを示す通知を受信しなかった場合、または、前記第２ソフトウェアを介して前記第２サービスに対して既に接続に成功していた場合は、前記第２ソフトウェアに対する前記指示が行われないことを特徴とする方法。
【請求項７】
コンピュータを、
カウンタ情報を含む第２稼働情報とは異なる情報を含む第１稼働情報をネットワーク上の第１サービスに接続して通信するための第１ソフトウェアがインストールされた後に、該第１サービスに対して接続要求を送信する送信手段と、
前記送信手段により送信された接続要求に応じて前記第１サービスへの接続に成功したことを示す通知を受信した場合に、ネットワーク上の第２サービスに前記第２稼働情報を送信するための第２ソフトウェアに、前記第２サービスに対して接続要求を送信するよう指示を行う指示手段として機能させるためのプログラムであって、
前記送信手段により送信された接続要求に応じて前記第１サービスへの接続に成功したことを示す通知を受信しなかった場合、または、前記第２ソフトウェアを介して前記第２サービスに対して既に接続に成功していた場合は、前記第２ソフトウェアに対する前記指示が行われないことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のサーバへ接続するネットワークデバイスに関する。
【背景技術】
【０００２】
近年マネージドプリントサービス（ＭＰＳ）と呼ばれるサービスが注目され、オフィスにおける複合機は様々なサーバへ接続し利用されるケースが増えてきている。例えばメンテナンスにかかわるサービスを提供するリモートメンテナンスシステムや、利用状況分析にかかわるサービス提供を目的とした利用状況分析システムなど複数のサーバへ接続し利用されるケースがある。（特許文献１参照）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−７５８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
先行文献においては、利用状況分析システムや、監視システムといったサービスを提供する複数のサーバに対してクライアントデバイスが接続することにより、接続されているデバイス関する、利用状況分析や監視サービスを提供することが可能となった。
【０００５】
しかしながら、クライアントデバイスにおいて、それぞれのサービスを提供するサーバに対して、それぞれの接続のための手動設定を実施する必要がある。このため、クライアントデバイスの設置を行うサービスマンにとって複数のサービスへの接続を設定するのは手間となってしまう。
【０００６】
そこで、本発明は、複数のサービスへの接続の手間を軽減できるネットワークデバイス、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記解題を解決するために、本発明のネットワークデバイスは、ネットワーク上の第２サービスに接続して、カウンタ情報を含む第２稼働情報を送信するための第２ソフトウェアを実行するネットワークデバイスであって、前記第２稼働情報とは異なる情報を含む第１稼働情報をネットワーク上の第１サービスに送信するための第１ソフトウェアがインストールされた後に、該第１ソフトウェアの機能として、該第１サービスに対して接続要求を送信する送信手段と、前記送信手段により送信された接続要求に応じて前記第１サービスへの接続に成功したことを示す通知を受信した場合に、前記第２ソフトウェアに、前記第２サービスに対して接続要求を送信するよう指示を行う指示手段と、を有する。前記送信手段により送信された接続要求に応じて前記第１サービスへの接続に成功したことを示す通知を受信しなかった場合、または、前記第２ソフトウェアを介して前記第２サービスに対して既に接続に成功していた場合は、前記指示手段による前記第２ソフトウェアに対する前記指示が行われない。
【発明の効果】
【０００８】
本発明によれば、複数のサービスへの接続の手間を軽減できる。
【図面の簡単な説明】
【０００９】
【図１】システム全体を示す構成図である。
【図２】ネットワークデバイスのハードウェア構成を示すブロック図である。
【図３】情報処理コントローラユニットとプリンタコントローラユニットのハードウェア構成を示すブロック図である。
【図４】管理サーバのハードウェア構成を示すブロック図である。
【図５】管理サーバ及びネットワークデバイスのソフトウェア構成を示すブロック図である。
【図６】サービス接続処理を示すフローチャートである。
【図７】第１のサービスに関する接続処理を示すフローチャートである。
【図８】第２のサービスに関する接続処理を示すフローチャートである。
【図９】サービス接続処理を示すフローチャートである。
【図１０】第１のサービスに関する接続処理を示すフローチャートである。
【図１１】システム全体を示す構成図である。
【図１２】サービス接続処理を示すフローチャートである。
【図１３】第１のサービスに関する接続処理を示すフローチャートである。
【図１４】第２のサービスに関する接続要否判定処理を示すフローチャートである。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。
（第１の実施例）
図１は、本発明におけるシステム全体を示すシステム構成図である。
【００１１】
ネットワーク１００には、第１の管理サーバ１１０ａ、第２の管理サーバ１１０ｂ、ネットワークデバイス１２０が接続されている。なお本実施例では、ネットワークデバイス１２０の一例として複合機を挙げて説明する。ネットワークデバイス１２０としては、ネットワークを介して通信することができ、後述する機能が実現できるプリンタ、スキャナ、３Ｄプリンタ、デジタル家電やデジタル医療機器などが含まれる。また、ネットワークデバイス１２０は複数台存在してもよい。
【００１２】
第１の管理サーバ１１０ａは、ネットワークデバイス１２０と接続が完了し、管理対象として登録された場合に、該ネットワークデバイス１２０から各種情報を、インターネットなどのネットワークを介して収集するサービスを提供するサーバーシステムである。各種情報には、機器情報や、カウンタ情報及びエラー情報などを含む稼働情報や、各種ログ情報などが含まれる。さらに、ネットワークデバイス１２０が、検出された障害について、該障害の対処に必要な情報を特定するための診断を内部実行する機能を持つ場合には、各種情報は、その診断結果を表すコード情報も含む。すなわち、第１の管理サーバ１１０ａが提供するサービスは、該診断結果を表すコード情報もネットワークデバイス１２０から収集する。
【００１３】
第１の管理サーバ１１０ａは、１台以上の物理コンピュータ、仮想コンピュータで構築され、自装置、またはネットワーク上のストレージサービスに収集した情報を格納して、管理する。
【００１４】
第２の管理サーバ１１０ｂも、ネットワークデバイス１２０と接続が完了し、管理対象として登録された場合に、該ネットワークデバイス１２０から各種情報を、インターネットなどのネットワークを介して収集するサービスを提供するサーバーシステムである。各種情報には、機器情報や、カウンタ情報及びエラー情報などを含む稼働情報や、各種ログ情報などが含まれる。第２の管理サーバ１１０ｂは、さらに、エラー情報に基づき保守担当者をネットワークデバイス１２０に対して自動で手配したり、ネットワークデバイス１２０で必要になる消耗品の自動配送のための処理を実行したりするサービスも提供する。
【００１５】
第２の管理サーバ１１０ｂも、第１の管理サーバ１１０ａと同様に、１台以上の物理コンピュータ、仮想コンピュータで構築され、自装置、またはネットワーク上のストレージサービスに収集した情報を格納して、管理する。
【００１６】
図２は、本発明におけるネットワークデバイス１２０のハードウェア構成を表すブロック図である。
具体的には、ネットワークデバイス１２０としての複合機は、情報処理コントローラユニット２０１、プリンタコントローラユニット２０２、スキャナコントローラユニット２０３、プリンタ２０４、スキャナ２０５、および操作部２０６を含んでいる。
【００１７】
情報処理コントローラユニット２０１は、ネットワークデバイス１２０の動作に係る情報処理制御を統括するコントローラであり、操作部２０６が接続される。さらに画像出力デバイスであるプリンタ２０４を制御するプリンタコントローラユニット２０２や画像入力デバイスであるスキャナ２０５を制御するスキャナコントローラユニット２０３が情報処理コントローラユニット２０１に接続される。
【００１８】
図３は、本発明におけるネットワークデバイス１２０の情報処理コントローラユニット２０１とプリンタコントローラユニット２０２のハードウェア構成を表すブロック図である。
情報処理コントローラユニット２０１は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）３０１を有し、ＣＰＵ３０１は、ＲＯＭ３０２に格納されているブートプログラムによりＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）を起動する。
【００１９】
ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）３０２は、ｅＭＭＣ（Ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉ  Ｍｅｄｉａ  Ｃａｒｄ）などのフラッシュメモリとそのコントローラで構成されており、ＣＰＵの制御プログラムを格納するためのものである。ＣＰＵ３０１は、このＯＳ上で、ＲＯＭ３０２またはＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）３０４に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。
【００２０】
このＣＰＵ３０１の作業領域としてはＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）３０３が用いられる。また、ＲＡＭ３０３は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＲＯＭ３０２またはＨＤＤ３０４は、上記アプリケーションプログラムや画像データ、各種設定値を格納する。アプリケーションプログラムの例としては、後述する処理を実現するための第１のサービスクライアント、第２のサービスクライアントのそれぞれに対応するソフトウェアなどがある。なお、ＨＤＤ３０４は搭載されていない場合もある。
【００２１】
ＣＰＵ３０１には、システムバス３０９を介して、ＲＯＭ３０２およびＲＡＭ３０３とともに、ネットワークＩ／Ｆ３０５、操作部Ｉ／Ｆ３０６、デバイスコントローラＩ／Ｆ３０８、および画像処理部３０７が接続される。
【００２２】
操作部Ｉ／Ｆ３０６は、タッチパネルを有する操作部２０６とのインタフェースであり、操作部２０６に表示すべき画像データを操作部２０６に対して出力する。また、操作部Ｉ／Ｆ３０６は、操作部２０６によってユーザにより入力された情報をＣＰＵ３０１に送出する。
【００２３】
デバイスコントローラＩ／Ｆ３０８には、プリンタコントローラユニット２０２およびスキャナコントローラユニット２０３が接続され、デバイスコントローラＩ／Ｆ３０８は、画像データの同期系／非同期系の変換を行う。ネットワークＩ／Ｆ３０５は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。
【００２４】
画像処理部３０７では、プリンタ２０４への出力画像処理や、スキャナ２０５からの入力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。プリンタコントローラユニット２０２は、例えば、電子写真方式のプリンタエンジンを有するプリンタ２０４と接続されている。
【００２５】
プリンタコントローラユニット２０２は、ＣＰＵ３１０を有し、ＣＰＵ３１０は、ＲＯＭ３１１に格納されているプログラムを実行し、ＲＡＭ３１２をワークメモリとして利用して、プリンタ２０４を制御している。
【００２６】
図４は、本発明における第１および第２の管理サーバ１１０ａ、１１０ｂのハードウェア構成を表すブロック図である。
第１の管理サーバ１１０ａ、および第２の管理サーバ１１０ｂは、それぞれ、コントローラユニット４００、操作部４０９、および表示部４１０を含んでいる。コントローラユニット４００は、ＣＰＵ４０１を有する。ＣＰＵ４０１は、ＲＯＭ４０２に格納されているブートプログラムによりＯＳを起動する。
【００２７】
ＣＰＵ４０１は、このＯＳ上で、ＨＤＤ４０４に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ４０１の作業領域としてはＲＡＭ４０３が用いられる。ＨＤＤ４０４は、上記アプリケーションプログラム、および設定、履歴などのデータを格納する。
【００２８】
ＣＰＵ４０１には、システムバス４０８を介して、ＲＯＭ４０２およびＲＡＭ４０３とともに、操作部Ｉ／Ｆ４０５、表示部Ｉ／Ｆ４０６、ネットワークＩ／Ｆ４０７が接続される。操作部Ｉ／Ｆ４０５は、マウス、キーボードなどから成る操作部４０９とのインタフェースであり、操作部４０９によってユーザにより入力された情報をＣＰＵ４０１に送出する。表示部Ｉ／Ｆ４０６は、ディスプレイなどから成る表示部４１０に表示すべき画像データを表示部４１０に対して出力する。ネットワークＩ／Ｆ４０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。
【００２９】
図５（Ａ）は、本発明における第１および第２の管理サーバ１１０ａ、１１０ｂのソフトウェア構成を表すブロック図である。
認証制御部５０１は、ネットワークデバイス１２０が信頼できるデバイスであるか否かを判断する。認証制御部５０１は、クライアントのクレデンシャルや、第１の管理サーバ１１０ａを利用するために必要なアクセストークンなどを管理し、第１および第２の管理サーバ１１０ａ、１１０ｂの認証／認可機能を提供するモジュールである。
【００３０】
認証制御部５０１は、ネットワークデバイス１２０からのデバイスの登録要求を通信部５０４から受信する。そして、認証制御部５０１は、ネットワークデバイス１２０である複合機が信頼できるデバイスであるか否かを判断し、信頼できるデバイスである場合には、クライアントのクレデンシャルを発行する。また、この場合に、認証制御部５０１は、登録要求のあったデバイスをデバイス管理部へ通知する。
【００３１】
また、認証制御部５０１は、各種機能を提供するサービスを利用する場合には、ネットワークデバイス１２０からのクライアントのクレデンシャルを含むアクセストークンの取得要求を受信する。そして、認証制御部５０１は、ネットワークデバイス１２０である複合機に対してサービスを利用するために必要なアクセストークンを生成する。
【００３２】
デバイス管理部５０２は、ネットワークデバイス１２０から認証制御部５０１へデバイスの登録要求があった場合に呼び出され、デバイスに関するデバイスＩＤなどを認証制御部５０１から受け取り、ＨＤＤ４０４へ記録する。
【００３３】
データ管理部５０３は、デバイス管理部５０２からのデータ送受信の開始要求に基づき、ネットワークデバイス１２０である複合機とのデータ送受信のための準備を実行する。データ管理部５０３は、ネットワークデバイス１２０からのデータの送受信の要求があった場合には、ネットワークデバイス１２０から渡されたアクセストークンを元に、アクセスが許可されているときのみデータの送受信を行う機能を持つ。
【００３４】
図５（Ｂ）は、本発明におけるネットワークデバイス１２０のソフトウェア構成を表すブロック図である。
本実施例では、該ソフトウェアは、ＲＡＭ３０３、ＨＤＤ３０４、およびＲＯＭ３０２のいずれかの記憶装置に記憶され、ＣＰＵ３０１により実行される。スキャン、プリント、およびネットワークやメモリストレージなどを利用した各種機能は、該ソフトウェアを実行することにより実現される。
【００３５】
ＵＩ制御部５０１は、操作部２０６に対してユーザが操作するための画面を表示し、ユーザが操作した操作情報を元に、プリント、コピーなどの機能を実行するため、各機能のアプリケーションに実行を指示する機能を持つ。
【００３６】
認証制御部５０２は、通信部５０５を介し第１の管理サーバ１１０ａに接続するための、認証に関する処理を制御する役割を持つ。認証制御部５０２は、第１の管理サーバ１１０ａへの接続時には、デバイスＩＤを含むデバイス登録要求を第１の管理サーバ１１０ａに対して実施し、クライアントのクレデンシャルを取得する。認証制御部５０２は、ネットワークデバイス１２０で動作する第１のサービスクライアント５０３のアプリケーションからのアクセストークンの取得要求を受信すると、第１の管理サーバ１１０ａに対するアクセストークンの取得要求を通信部５０５に依頼する。
【００３７】
第1のサービスクライアント５０３は、第１の管理サーバ１１０ａに対して、通信部５０５を介し第１の管理サーバ１１０ａが管理するデータの送受信を行う役割を持つ。また、第1のサービスクライアント５０３は、第１の管理サーバ１１０ａに対するデータの送受信前に、第１の管理サーバ１１０ａが提供するサービスに対してアクセスする際に必要となるアクセストークンを、認証制御部５０２から取得する。第1のサービスクライアント５０３は、該アクセストークンを用いて、第１の管理サーバ１１０ａとのデータの送受信を通信部５１０へ依頼する。
【００３８】
第２のサービスクライアント５０４は、第２の管理サーバ１１０ｂに対して、通信部５０５を介し第２の管理サーバ１１０ｂが管理するデータの送受信を行う役割を持つ。
【００３９】
次に、図６、図７、および図８を用いて、ネットワークデバイス１２０である複合機が第１の管理サーバ１１０ａ、および第２の管理サーバ１１０ｂへ接続する際の処理フローについて説明する。なお、図６、図７、および図８に記載されたそれぞれのフローは、ネットワークデバイス１２０内のＣＰＵ３０１がＨＤＤ３０４にインストールされたプログラムをＲＡＭ４０３上に展開し実行することで実現される。
【００４０】
図６は、サービス接続処理を示すフローチャートである。
本フローは、ＵＩ制御部５０１が操作部Ｉ／Ｆ３０６から操作部２０６に対するサービスの接続処理の開始要求を受信した場合に、認証制御部５０２において実行される。
【００４１】
まず、Ｓ６０１において、認証制御部５０２は、第１のサービスクライアント５０３に対して、第１のサービスに関する接続処理を依頼する。第１のサービスクライアント５０３は、この依頼を受け、第１のサービスに関する接続処理を実行する。ここで、第１のサービスに関する接続処理とは、第１の管理サーバ１１０ａに対する接続処理を意味する。
【００４２】
この後、Ｓ６０２において、認証制御部５０２は、Ｓ６０１での第１のサービスに関する接続処理が成功したか否かを判定する。第１のサービスに関する接続処理が失敗した場合には、本フローは、Ｓ６０３にへ進み、第１のサービスに関する接続処理が成功した場合には、本フローは、Ｓ６０４に進む。
【００４３】
次に、Ｓ６０３において、認証制御部５０２は、ＵＩ制御部５０１に対して、接続処理に失敗したことを示すエラーメッセージを操作部２０６へ表示するよう依頼する。この後、本フローは、終了する。
【００４４】
また、Ｓ６０４において、認証制御部５０２は、第２のサービスクライアント５０４に対して、第２のサービスに関する接続処理を依頼する。第２のサービスクライアント５０４は、この依頼を受け、第２のサービスに関する接続処理を実行する。ここで、第２のサービスに関する接続処理とは、第２の管理サーバ１１０ｂに対する接続処理を意味する。第２のサービスに関する接続処理が実行された後、本フローは、終了する。
【００４５】
以上のフローでは、第１の管理サーバ１１０ａへの接続処理である第１のサービスに関する接続処理が成功したことを条件に、第２の管理サーバ１１０ｂへの接続処理である第２のサービスに関する接続処理が開始される。また、当該第１のサービスに関する接続処理が失敗した場合には、当該第２のサービスに関する接続処理が実行されずに、接続処理が失敗したことを示すエラーメッセージが操作部２０６に表示される。
【００４６】
その結果、サービスマンがネットワークデバイス１２０に対して複数の管理サーバへの接続設定を行う際の負荷を軽減することができる。即ち、複数のサービスへの接続の手間を軽減できるネットワークデバイスを実現できる。また、上述のフローによれば、第１の管理サーバ１１０ａに接続できない場合に、第２の管理サーバ１１０ｂに接続することがないような制御が可能となる。
【００４７】
図７は、第１のサービスに関する接続処理を示すフローチャートである。
本フローは、図６のＳ６０１のサブルーチンである。
【００４８】
まず、Ｓ７０１において、デバイス登録処理が実行される。
デバイス登録処理では、まず、認証制御部５０２は、通信部５０５に対して、第１の管理サーバ１１０ａへのデバイス登録要求（デバイスＩＤの登録要求など）の送信を依頼する。ここで、デバイスＩＤとは、ネットワークデバイス１２０に対して一意に割り振られるデバイス識別子のことである。
【００４９】
第１の管理サーバ１１０ａにおいてデバイス登録処理が実行されると、その応答としてクライアントのクレデンシャルが発行される。認証制御部５０２は、通信部５０５を経由して、このクライアントのクレデンシャルを受信する。また、当該クライアントのクレデンシャルは、例えば、ＨＤＤ３０４に保存される。
【００５０】
次に、Ｓ７０２において、認証制御部５０２は、Ｓ７０１でのデバイス登録処理が成功したか否かを判定する。デバイス登録処理が失敗した場合には、本フローは、Ｓ７０３に進む。Ｓ７０３では、認証制御部５０２は、接続処理結果を失敗として、本フローを終了する。一方、デバイス登録処理が成功した場合には、本フローは、Ｓ７０４に進む。
【００５１】
次に、Ｓ７０４において、アクセストークン取得処理が実行される。
アクセストークン取得処理では、まず、認証制御部５０２は、通信部５０５に、Ｓ７０１で取得したクライアントのクレデンシャル、及び第１のサービスクライアント５０３を識別するアプリケーションＩＤの第１の管理サーバ１１０ａへの送信を依頼する。第１の管理サーバ１１０ａは、これらアプリケーションＩＤとクライアントのクレデンシャルとに基づいて、第１の管理サーバ１１０ａが管理するデータにアクセスするためのアクセストークンを発行する。認証制御部５０２は、通信部５０５を経由して、このアクセストークンを受信する。また、当該アクセストークンは、例えば、ＨＤＤ３０４に保存される。
【００５２】
次に、Ｓ７０５において、認証制御部５０２は、Ｓ７０４でのアクセストークン取得処理が成功したか否かを判定する。アクセストークン取得処理が失敗した場合には、本フローは、Ｓ７０３に進む。Ｓ７０３では、認証制御部５０２は、接続処理結果を失敗として、本フローを終了する。一方、アクセストークン取得処理が成功した場合には、本フローは、Ｓ７０６に進む。
【００５３】
次に、Ｓ７０６において、データ送受信処理が実行される。
データ送受信処理では、第１のサービスクライアント５０３は、Ｓ７０４でＨＤＤ３０４に保存されたアクセストークンを用いて第１の管理サーバ１１０ａに対する接続要求を生成し、通信部５０５に対して接続処理を依頼する。その結果、第１の管理サーバ１１０ａとのデータの送受信が可能となる。
【００５４】
最後に、Ｓ７０７において、認証制御部５０２は、接続処理結果を成功として、本フローを終了する。
【００５５】
図８は、第２のサービスに関する接続処理を示すフローチャートである。
本フローは、図６のＳ６０４のサブルーチンである。
【００５６】
まず、Ｓ８０１において、第２のサービスクライアント５０４は、第２の管理サーバ１１０ｂに対する接続要求を生成し、通信部５０５に対して接続処理を依頼する。
【００５７】
次に、Ｓ８０２において、認証制御部５０２は、Ｓ８０１での接続処理が成功したか否かを判定する。接続処理が成功した場合には、本フローは、終了する。一方、接続処理が失敗した場合には、本フローは、Ｓ８０３に進む。
【００５８】
次に、Ｓ８０３において、認証制御部５０２は、リトライ回数が予め規定されたＮ回よりも小さいか否かを判定する。但し、Ｎは、２以上の自然数である。リトライ回数がＮ回よりも小さい場合には、本フローは、Ｓ８０４に進む。Ｓ８０４では、認証制御部５０２は、リトライ回数を１回増やした後に、本フローをＳ８０１に戻す。
【００５９】
一方、リトライ回数がＮ回以上となった場合には、本フローは、Ｓ８０５に進む。Ｓ８０５では、認証制御部５０２は、第２の管理サーバ１１０ｂに対する接続処理が失敗したことをユーザに通知するため、ＵＩ制御部５０１に対して、接続処理に失敗したことを示すエラーメッセージを操作部２０６へ表示するよう依頼する。この後、本フローは、終了する。
【００６０】
以上、説明したように、第１の実施例によれば、サービスマンがネットワークデバイス１２０に対して複数の管理サーバへの接続設定を行う際の負荷を軽減することができる。即ち、複数のサービスへの接続の手間を軽減できるネットワークデバイスを実現できる。
【００６１】
（第２の実施例）
上述の第１の実施例では、第１の管理サーバ１１０ａへの接続処理である第１のサービスに関する接続処理が成功したことを条件に、第２の管理サーバ１１０ｂへの接続処理である第２のサービスに関する接続処理が開始される。これに対して、第２の実施例では、第１の実施例のデバイス登録処理Ｓ７０１に相当する処理が終了した後に、第１のサービスに関するそれ以降の接続処理と、第２のサービスに関する接続処理とを並列動作させる。これにより、第２の実施例では、第１の実施例と比較し、接続処理に要する時間が短縮可能となる。
【００６２】
尚、以下の説明において、第１の実施例と同じ処理についてはその旨を記載し、その詳細な説明を省略する。また、以下で説明するフローは、ネットワークデバイス１２０内のＣＰＵ３０１がＨＤＤ３０４にインストールされたプログラムをＲＡＭ４０３上に展開することで実行される。
【００６３】
図９は、サービス接続処理を示すフローチャートである。
まず、Ｓ９０１において、認証制御部５０１は、デバイス登録処理を実行する。Ｓ９０１でのデバイス登録処理は、第１の実施例のデバイス登録処理Ｓ７０１と同じであるため、ここでの詳細な説明を省略する。
【００６４】
次に、Ｓ９０２において、認証制御部５０１は、Ｓ９０１でのデバイス登録処理が成功したか否かを判定する。デバイス登録処理が失敗した場合には、本フローは、Ｓ９０３に進む。Ｓ９０３では、認証制御部５０２は、ＵＩ制御部５０１に対して、デバイス登録処理に失敗したことを示すエラーメッセージを操作部２０６へ表示するよう依頼する。この後、本フローは、終了する。
【００６５】
一方、デバイス登録処理が成功した場合には、本フローは、Ｓ９０４及びＳ９０５に進む。即ち、認証制御部５０２は、第１のサービスに関する接続処理を第１のサービスクライアント５０３に依頼すると共に、第２のサービスに関する接続処理を第２のサービスクライアント５０４に依頼する。この後、Ｓ９０４及びＳ９０５は、並列に進行する。
【００６６】
ここで、Ｓ９０５における第２のサービスに関する接続処理は、第１の実施例の第２のサービスに関する接続処理Ｓ６０４と同じであるため、ここでの詳細な説明を省略する。以下、Ｓ９０４における第１のサービスに関する接続処理について説明する。
【００６７】
図１０は、第１のサービスに関する接続処理を示すフローチャートである。
まず、Ｓ１００１において、認証制御部５０２は、アクセストークン取得処理を実行する。アクセストークン取得処理は、第１の実施例のアクセストークン取得処理Ｓ７０４と同じであるため、ここでの詳細な説明を省略する。
【００６８】
次に、Ｓ１００２において、認証制御部５０２は、Ｓ１００１でのアクセストークン取得処理が成功したか否かを判定する。アクセストークン取得処理が失敗した場合には、本フローは、Ｓ１００１に戻る。即ち、Ｓ１００１において、認証制御部５０２は、再び、アクセストークン取得処理を実行する。一方、アクセストークン取得処理が成功した場合には、本フローは、Ｓ１００３に進む。
【００６９】
最後に、Ｓ１００３において、認証制御部５０２は、データ送受信処理を実行した後、本フローを終了する。データ送受信処理は、第１の実施例のデータ送受信処理Ｓ７０６と同じであるため、ここでの詳細な説明を省略する。
【００７０】
以上、説明したように、第２の実施例によれば、デバイス登録処理が終了した後に、第１のサービスに関するそれ以降の接続処理と、第２のサービスに関する接続処理とを並列動作させる。これにより、第２の実施例では、第１の実施例と比較し、接続処理に要する時間が短縮可能となる。
【００７１】
また、第２の実施例では、デバイス登録処理が成功したとき、即ち、この後、第１のサービスに関する接続処理が成功するであろうときに、第２のサービスに関する接続処理が開始される。従って、第２の実施例でも、第１の実施例と同様に、第１の管理サーバ１１０ａへの接続が成功したときに、第２の管理サーバ１１０ｂにも接続が可能となる。また、第１の管理サーバ１１０ａへの接続が失敗するときは、第２の管理サーバ１１０ｂにも接続されないような制御が可能となる。
【００７２】
（第３の実施例）
図１１は、本発明におけるシステム全体を示すシステム構成図である。
第１の管理サーバ１１０ａ及び第２の管理サーバ１１０ｂは、それぞれ、ネットワーク１００を経由して、ネットワークデバイス１２０に接続される。第１の管理サーバ１１０ａ及び第２の管理サーバ１１０ｂは、それぞれ、複合機であるネットワークデバイス１２０の利用状況、機器の構成情報などの様々な情報を収集する目的で動作する。
【００７３】
本実施例では、さらに、サービス提供サーバ１１０１がネットワーク１００に接続される。サービス提供サーバ１１０１は、第１及び第２の管理サーバ１１０ａ、１１０ｂで収集した情報を利用し、ネットワークデバイス１２０を利用するユーザ、及びネットワークデバイス１２０を管理する管理者にサービスを提供することを目的に設けられる。サービス提供サーバ１１０１は、一般的なコンピュータなどの情報処理装置で実現された場合には、第１及び第２の管理サーバ１１０ａ、１１０ｂのハードウェア構成（図４）と同じとなる。
【００７４】
以下では、サービス提供サーバ１１０１に接続されるサーバが、旧サーバである第２の管理サーバ１１０ｂから、新サーバである第１の管理サーバ１１０ａに切り替わる場合の例について、図１２、図１３、及び図１４を用いて説明する。
【００７５】
図１２は、サービス接続処理を示すフローチャートである。図１３は、第１のサービスに関する接続処理を示すフローチャートである。図１２は、図６に対応し、図１３は、図７に対応する。第２のサービスに関する接続処理については、第１の実施例（図８）と同じである。
【００７６】
尚、以下に説明するフローは、ネットワークデバイス１２０内のＣＰＵ３０１がＨＤＤ３０４にインストールされたプログラムをＲＡＭ４０３上に展開することで実行される。また、以下のフローにおいて、図６乃至図８のフローと同じ処理についてはその旨を記載し、その詳細な説明を省略する。さらに、以下の説明では、ネットワークデバイス１２０は、複合機であるものとして説明する。
【００７７】
まず、Ｓ１２０１において、認証制御部５０２は、第１のサービスクライアント５０３に対して、第１のサービスに関する接続処理を依頼する。第１のサービスクライアント５０３は、この依頼を受け、第１のサービスに関する接続処理を実行する。
【００７８】
第１のサービスに関する接続処理のフローは、Ｓ１３０１〜Ｓ１３０７に示す通りである。ここで、Ｓ１３０１〜Ｓ１３０５、及びＳ１３０７は、Ｓ７０１〜Ｓ７０５、及びＳ７０７と同じであるため、ここでの説明を省略する。
【００７９】
Ｓ１３０６においては、データ送受信処理が実行される。
本実施例では、第１のサービスクライアント５０３は、ネットワークデバイス１２０からのデータ取得要求の応答として、第１の管理サーバ１１０ａが管理するデータ種別を受信する。例えば、第１のサービスクライアント５０３は、当該データ取得要求を受け、通信部５０５に対して、第１の管理サーバ１１０ａが管理するデータ種別の取得を要求する。この後、第１のサービスクライアント５０３は、当該要求の応答として、第１の管理サーバ１１０ａが管理するデータ種別を受信する。
【００８０】
尚、第１の管理サーバ１１０ａが管理するデータ種別は、例えば、ＨＤＤ４０４に保存される。ＨＤＤ４０４に保存されるデータ種別の例を表１に示す。
【００８１】
【表１】
2020052777.tif 000003
【００８２】
図１３のフローが終了すると、図１２のＳ１２０２に進む。
Ｓ１２０２において、認証制御部５０２は、Ｓ１２０１での第１のサービスに関する接続処理が成功したか否かを判定する。第１のサービスに関する接続処理が失敗した場合には、本フローは、Ｓ１２０３にに進む。Ｓ１２０３において、認証制御部５０２は、ＵＩ制御部５０１に対して、接続処理に失敗したことを示すエラーメッセージを操作部２０６へ表示するよう依頼する。この後、本フローは、終了する。
【００８３】
第１のサービスに関する接続処理が成功した場合には、本フローは、Ｓ１２０４に進む。Ｓ１２０４において、認証制御部５０２は、第２のサービスに関する接続要否判定処理を実行する。以下、第２のサービスに関する接続要否判定処理の詳細フローについて図１４を用いて説明する。
【００８４】
まず、Ｓ１４０１において、認証制御部５０２は、ＨＤＤ４０４に保存される第２のサービスへの接続要否情報を取得する。第２サービスへの接続要否情報の例を表２に示す。
【００８５】
【表２】
2020052777.tif 000004
【００８６】
次に、Ｓ１４０２において、認証制御部５０２は、Ｓ１４０１で取得した接続要否情報に基づいて、第２のサービスへの接続が必要であるか否かを判定する。
【００８７】
ここで、接続要否情報について説明する。日本、アメリカ、ヨーロッパなどの地域毎に異なるサービスが提供される場合には、サービス提供サーバ１１０１に情報を提供するサーバも、これら地域毎に異なると想定される。即ち、サービス提供サーバ１１０１に情報を提供するサーバに関して、旧サーバから新サーバへの移行は、これら地域毎に異なるタイミングで行われる可能性が高い。
【００８８】
従って、第２のサービスへの接続要否情報として、サービスが提供される地域を示す仕向け情報を含ませることで、新サーバに移行できた仕向け先での、第２のサービスへの接続を不要とできる。例えば、表２に示すように、仕向け先が日本である場合には、第２のサービスへの接続要否を不要とし、仕向け先がアメリカ又はヨーロッパである場合には、第２のサービスへの接続要否を必要とすることができる。
【００８９】
このように、サービス提供サーバ１１０１に接続されるサーバに関して、接続要否情報を参照することで、新たなプログラム無しに、第２のサービスへの接続の要否を判断できる。
【００９０】
接続要否情報により第２のサービスへの接続が必要であると判定された場合には、本フローは、Ｓ１４０３に進む。Ｓ１４０３では、認証制御部５０２は、接続要否＝ＴＲＵＥに設定し、本フローを終了する。ここで、第２のサービスへの接続が必要である場合とは、サービス提供サーバ１１０１が、旧サーバである第２の管理サーバ１１０ｂから情報を取得する必要があることを意味する。
【００９１】
一方、接続要否情報により第２のサービスへの接続が不要であると判定された場合、即ち、旧サーバから新サーバへの移行が完了していると判定された場合には、本フローは、Ｓ１４０４に進む。ここで、直ちに、接続要否＝ＦＡＬＳＥとしないのは、Ｓ１４０２で第２のサービスへの接続が不要と判定された場合でも、以下に説明するように、第２のサービスへの接続が必要となる場合があるからである。
【００９２】
即ち、Ｓ１４０４では、認証制御部５０２は、Ｓ１３０６でＨＤＤ４０４に保存されたデータ種別、即ち、第１のサービスが、第２の管理サーバ１１０ｂが管理するデータ種別、即ち、第２のサービスと同等の能力を持つか否かを判定する。これは、新サーバとしての第１のサービスが、旧サーバとしての第２のサービスと同等の能力を持たない場合には、第２のサービスへの接続が必要となるからである。
【００９３】
第２の管理サーバ１１０ｂが管理するデータ種別の例を表３に示す。表３では、第２の管理サーバ１１０ｂが管理するデータ種別は、データ種別Ａである。本例では、第１の管理サーバ１１０ａが管理するデータ種別（表１のデータ種別Ａ、Ｂ）は、第２の管理サーバ１１０ｂが管理するデータ種別（表３のデータ種別Ａ）を含む。即ち、第１のサービスは、第２のサービスと同等の能力を持つこととなる。  
【００９４】
【表３】
2020052777.tif 000005
【００９５】
第１のサービスが第２のサービスと同等の能力を持たないと判定された場合には、第２の管理サーバ１１０ｂへの接続が必要となるため、本フローは、Ｓ１４０３に進む。Ｓ１４０３では、認証制御部５０２は、接続要否＝ＴＲＵＥに設定し、本フローを終了する。一方、第１のサービスが第２のサービスと同等の能力を持つと判定された場合には、本フローは、Ｓ１４０５に進む。
【００９６】
Ｓ１４０５では、認証制御部５０２は、第１のサービスクライアント５０３が第２のサービスと同等の能力を持つか否かを判定する。これは、第１のサービスクライアント５０３が第２のサービスと同等の能力を持たない場合にも、第２のサービスへの接続が必要となるからである。
【００９７】
ここで、第１のサービスクライアント５０３の能力は、第１のクライアントアプリケーションが対応可能なデータ種別（対応データ種別）を意味する。第１のサービスクライアント５０３の能力は、第１のクライアントアプリケーションが内部的に保持する値である。
【００９８】
対応データ種別の例を表４に示す。本例では、第１のクライアントアプリケーションの対応データ種別（表４のデータ種別Ａ、Ｂ）は、第２の管理サーバ１１０ｂが管理するデータ種別（表３のデータ種別Ａ）を含む。即ち、第１のサービスクライアント５０３は、第２のサービスと同等の能力を持つこととなる。
【００９９】
【表４】
2020052777.tif 000006
【０１００】
第１のサービスクライアント５０３が第２のサービスと同等の能力を持たないと判定された場合には、第２の管理サーバ１１０ｂへの接続が必要となるため、本フローは、Ｓ１４０３に進む。Ｓ１４０３では、認証制御部５０２は、接続要否＝ＴＲＵＥに設定し、本フローを終了する。
【０１０１】
一方、第１のサービスクライアント５０３が第２のサービスと同等の能力を持つと判定された場合には、本フローは、Ｓ１４０６に進む。Ｓ１４０６では、認証制御部５０２は、接続要否＝ＦＡＬＳＥに設定し、本フローを終了する。
【０１０２】
このように、接続要否＝ＦＡＬＳＥとなる場合は、サービス提供サーバ１１０１に関して旧サーバから新サーバへの移行が完了し、かつ第１の管理サーバ１１０ａが旧サーバである第２の管理サーバ１１０ｂと同等のデータ種別を管理する能力がある場合である。さらに、接続要否＝ＦＡＬＳＥとなる場合は、第１のクライアントアプリケーションが第２のサービスと同一のデータ種別を送信する能力がある場合である。
【０１０３】
図１４のフローが終了すると、図１２のＳ１２０５に進む。
Ｓ１２０５において、認証制御部５０２は、Ｓ１２０４で決定した接続要否情報に基づいて、第２のサービスへの接続が必要か否かを判定する。第２のサービスへの接続が必要である場合（接続要否＝ＴＲＵＥ）には、本フローは、Ｓ１２０６に進む。Ｓ１２０６では、第２のサービスに関する接続処理が実行される。
【０１０４】
第２のサービスに関する接続処理は、第１の実施例（図８）と同じであるため、ここでの説明を省略する。この後、本フローは、終了する。
【０１０５】
一方、第２のサービスへの接続が必要でない場合（接続要否＝ＦＡＬＳＥ）には、本フローは、第２のサービスに関する接続処理を行うことなく、終了する。
【０１０６】
以上、第３の実施例によれば、サービス提供サーバ１１０１が新サーバである第１の管理サーバ１１０ａに接続され、かつ旧サーバである第２の管理サーバ１１０ｂへの接続が不要となった場合には、第１のサービスに関する接続処理のみを実行する。また、第１のサービスの能力、及び第１のサービスクライアントの能力についても考慮し、これらが第２のサービスに対応していない場合には、第２のサービスに関する接続処理を実行し、従来通りの動作を行うことも可能となる。
【０１０７】
＜その他の実施例＞
本発明は、上述の例の１以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介しシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０８】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【０１０９】
１００  ネットワーク
１１０ａ，１１０ｂ  管理サーバ
１２０  ネットワークデバイス
【図１】
2020052777.tif 000007
【図２】
2020052777.tif 000008
【図３】
2020052777.tif 000009
【図４】
2020052777.tif 000010
【図５】
2020052777.tif 000011
【図６】
2020052777.tif 000012
【図７】
2020052777.tif 000013
【図８】
2020052777.tif 000014
【図９】
2020052777.tif 000015
【図１０】
2020052777.tif 000016
【図１１】
2020052777.tif 000017
【図１２】
2020052777.tif 000018
【図１３】
2020052777.tif 000019
【図１４】
2020052777.tif 000020