(57)【要約】【課題】  顧客テナントが作成されてから設定情報が顧客テナントに登録されるまで長時間かかってしまうと、その間は十分なサービスを提供することができなくなってしまう。【解決手段】  ネットワークデバイスは、前記ネットワークデバイスを所有する顧客の専用記憶領域である顧客テナントに前記ネットワークデバイスのデバイス情報が登録されたことを示すイベントをデバイス管理サーバーから受信し、前記イベントの受信に応じて、前記アプリケーションの設定情報を前記アプリケーションサーバーに送信する。前記顧客テナントが作成されて、かつ、前記ネットワークデバイスのデバイス情報が前記顧客テナントとは別のテナントから前記顧客テナントに移動された際に、前記イベントが前記ネットワークデバイスに対して送信される。【選択図】  図１３
2020197766.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークデバイスと、前記ネットワークデバイスの情報を管理するデバイス管理サーバーと、前記ネットワークデバイスで動作するアプリケーションと通信するアプリケーションサーバーと、を含むシステムであって、
前記デバイス管理サーバーは、
前記ネットワークデバイスを所有する顧客の専用記憶領域である顧客テナントに前記ネットワークデバイスのデバイス情報が登録されたことを示すイベントを、前記ネットワークデバイスに対して送信する第１の送信手段を有し、
前記ネットワークデバイスは、
前記送信されたイベントを受信する受信手段と、
前記イベントの受信に応じて、前記アプリケーションの設定情報を前記アプリケーションサーバーに送信する第２の送信手段と、を有し、
前記アプリケーションサーバーは、
前記送信されたアプリケーションの設定情報を受信して、該受信した設定情報を前記顧客テナントに登録する第１の登録手段を有し、
前記第１の送信手段は、前記顧客テナントが作成されて、かつ、前記ネットワークデバイスのデバイス情報が前記顧客テナントとは別のテナントから前記顧客テナントに移動された際に、前記イベントを前記ネットワークデバイスに対して送信することを特徴とするシステム。
【請求項２】
前記デバイス管理サーバーは、
前記ネットワークデバイスからの要求に応じて、前記デバイス情報を登録する第２の登録手段を有し、
前記第１の送信手段は、前記第２の登録手段による登録の後に、前記イベントを前記ネットワークデバイスに対して送信することを特徴とする請求項１に記載のシステム。
【請求項３】
前記デバイス管理サーバーは、
前記ネットワークデバイスのデバイス情報を前記顧客テナントとは別のテナントから前記顧客テナントに移動させるための指示を保持する第１の保持手段を有し、
前記指示に従い、前記ネットワークデバイスのデバイス情報が前記顧客テナントとは別のテナントから前記顧客テナントに移動されることを特徴とする請求項１または２に記載のシステム。
【請求項４】
前記デバイス管理サーバーは、
前記ネットワークデバイスのデバイス情報を前記顧客テナントとは別のテナントから前記顧客テナントに移動させるための指示をユーザーから受け付けるための画面を提供する第１の提供手段をさらに有し、
前記保持手段は、前記受け付けた前記指示を保持することを特徴とする請求項３に記載のシステム。
【請求項５】
前記アプリケーションサーバーは、
前記顧客テナントが作成されている場合、前記顧客テナントに属する顧客に対して前記アプリケーションを利用する権限を付与するよう前記デバイス管理サーバーに対して要求する要求手段を有し、
前記デバイス管理サーバーは、
前記要求に応じて、前記顧客に対して前記アプリケーションを利用する権限を付与する付与手段を有することを特徴とする請求項１乃至４のいずれか１項に記載のシステム。
【請求項６】
前記第２の送信手段は、前記第１の登録手段によって前記受信した設定情報が登録されず、かつ、前記設定情報を送信した回数が所定回数以下である場合、前記設定情報を前記アプリケーションサーバーに送信することを特徴とする請求項５に記載のシステム。
【請求項７】
前記アプリケーションは、
前記アプリケーションの設定を入力するための画面を提供する第２の提供手段を有することを特徴とする請求項１乃至６のいずれか１項に記載のシステム。
【請求項８】
前記第２の送信手段は、前記イベントの受信に応じてではなく、前記第２の提供手段で提供される画面で前記アプリケーションの設定が変更されたことに応じて、該変更された設定情報を前記アプリケーションサーバーに送信することを特徴とする請求項７に記載のシステム。
【請求項９】
前記アプリケーションは、
前記第２の送信手段が前記アプリケーションの設定情報を前記アプリケーションサーバーに送信するスケジュールを保持する第２の保持手段をさらに有し、
前記第２の送信手段は、前記イベントの受信に応じてではなく、前記スケジュールに従い、前記アプリケーションの設定情報を前記アプリケーションサーバーに送信することを特徴とする請求項１乃至８のいずれか１項に記載のシステム。
【請求項１０】
前記第２の送信手段は、前記顧客テナントへのアクセストークンの取得に応じて、前記アプリケーションの設定情報を前記アプリケーションサーバーに送信することを特徴とする請求項８または９に記載のシステム。
【請求項１１】
前記第１の登録手段は、
前記アプリケーションを利用する権限が付与されていない顧客の所有するネットワークデバイスから前記アプリケーションの設定情報を受信した場合、該受信した設定情報を登録せず、
前記アプリケーションを利用する権限が付与されている顧客の所有するネットワークデバイスから前記アプリケーションの設定情報を受信した場合、該受信した設定情報を登録することを特徴とする請求項１乃至１０のいずれか１項に記載のシステム。
【請求項１２】
ネットワークデバイスであって、
前記ネットワークデバイスの情報を管理するデバイス管理サーバーと、前記ネットワークデバイスで動作するアプリケーションと通信するアプリケーションサーバーと、通信可能であり、
前記ネットワークデバイスを所有する顧客の専用記憶領域である顧客テナントに前記ネットワークデバイスのデバイス情報が登録されたことを示すイベントを前記デバイス管理サーバーから受信する受信手段と、
前記イベントの受信に応じて、前記アプリケーションの設定情報を前記アプリケーションサーバーに送信する送信手段と、を有し、
前記顧客テナントが作成されて、かつ、前記ネットワークデバイスのデバイス情報が前記顧客テナントとは別のテナントから前記顧客テナントに移動された際に、前記イベントが前記ネットワークデバイスに対して送信されることを特徴とするネットワークデバイス。
【請求項１３】
ネットワークデバイスと、前記ネットワークデバイスの情報を管理するデバイス管理サーバーと、前記ネットワークデバイスで動作するアプリケーションと通信するアプリケーションサーバーと、を含むシステムの制御方法であって、
前記デバイス管理サーバーは、
前記ネットワークデバイスを所有する顧客の専用記憶領域である顧客テナントに前記ネットワークデバイスのデバイス情報が登録されたことを示すイベントを、前記ネットワークデバイスに対して送信する第１の送信工程を有し、
前記ネットワークデバイスは、
前記送信されたイベントを受信する受信工程と、
前記イベントの受信に応じて、前記アプリケーションの設定情報を前記アプリケーションサーバーに送信する第２の送信工程と、を有し、
前記アプリケーションサーバーは、
前記送信されたアプリケーションの設定情報を受信して、該受信した設定情報を前記顧客テナントに登録する第１の登録工程を有し、
前記第１の送信工程では、前記顧客テナントが作成されて、かつ、前記ネットワークデバイスのデバイス情報が前記顧客テナントとは別のテナントから前記顧客テナントに移動された際に、前記イベントが前記ネットワークデバイスに対して送信されることを特徴とする制御方法。
【請求項１４】
ネットワークデバイスの制御方法であって、
前記ネットワークデバイスの情報を管理するデバイス管理サーバーと、前記ネットワークデバイスで動作するアプリケーションと通信するアプリケーションサーバーと、通信可能であり、
前記ネットワークデバイスを所有する顧客の専用記憶領域である顧客テナントに前記ネットワークデバイスのデバイス情報が登録されたことを示すイベントを前記デバイス管理サーバーから受信する受信工程と、
前記イベントの受信に応じて、前記アプリケーションの設定情報を前記アプリケーションサーバーに送信する送信工程と、を有し、
前記顧客テナントが作成されて、かつ、前記ネットワークデバイスのデバイス情報が前記顧客テナントとは別のテナントから前記顧客テナントに移動された際に、前記イベントが前記ネットワークデバイスに対して送信されることを特徴とする制御方法。
【請求項１５】
請求項１２に記載の手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、ネットワークデバイス、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
クラウドサービスやＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）の普及に伴い、画像形成装置などのネットワークデバイスを、デバイス管理サーバーに通信接続して、このデバイス管理サーバーで管理するシステムが知られている。このようなシステムでは、デバイス管理サーバーに対して、顧客ごとに、多数のネットワークデバイスを登録することができる。
【０００３】
ここで特許文献１に記載の管理システムでは、画像形成装置の監視サービスを開始するために、画像形成装置の管理情報を管理サーバーに登録する必要がある。画像形成装置が顧客システムに設置されてから、画像形成装置は、設置業者の指示により、管理サーバーに対して自身の管理情報が登録されているかどうかを確認する登録確認要求を行う。管理情報が登録されていない場合、画像形成装置は、管理サーバーから登録完了を示す応答を受信するまで登録確認要求を再送する。
【０００４】
また、デバイス管理サーバーの利用者には、サービスを受ける顧客だけでなく、顧客のデバイスの設置や管理を委託されている販売会社もいる。デバイス管理サーバーは、販売会社や顧客のデータを、データベース内の専用領域であるテナントで管理する。顧客は、自身の所属するテナント（顧客テナント）にのみアクセスすることができ、デバイスで動作するアプリケーションの設定に関するバックアップデータなどを自身のテナントで管理する。一方、販売会社は、自身の所属するテナント（販社テナント）、および、管理対象のデバイスを所有する顧客のテナントにアクセスできる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１１４６５４号広報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
設置担当者が、画像形成装置などのネットワークデバイスを顧客のオフィスなどに設置する際に、デバイス情報をデバイス管理サーバーに登録するための処理を行う。さらに、設置担当者は、デバイスで動作するアプリケーションの設定も行う。
【０００７】
ここで、デバイス設置時に、未だデバイス管理サーバーに顧客テナントが作成されていない場合がある。そのような場合、デバイス情報は、別のテナントに一旦登録しておき、後で顧客テナントに移動させることが可能である。しかしながら、バックアップなどの目的でアプリケーションの設定情報をアプリケーションサーバーに登録しようとする際に、顧客テナント以外のテナントに一旦登録することができない可能性がある。顧客テナントが作成されてから設定情報が顧客テナントに登録されるまで長時間かかってしまうと、その間は十分なサービスを提供することができなくなってしまう。
【０００８】
そこで本発明は、顧客テナントが作成されて、かつ、デバイス情報が顧客テナントとは別のテナントから顧客テナントに移動されたことに応じて、アプリケーションの設定情報を顧客テナントに登録するための仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、ネットワークデバイスと、前記ネットワークデバイスの情報を管理するデバイス管理サーバーと、前記ネットワークデバイスで動作するアプリケーションと通信するアプリケーションサーバーと、を含むシステムであって、前記デバイス管理サーバーは、前記ネットワークデバイスを所有する顧客の専用記憶領域である顧客テナントに前記ネットワークデバイスのデバイス情報が登録されたことを示すイベントを、前記ネットワークデバイスに対して送信する第１の送信手段を有し、前記ネットワークデバイスは、前記送信されたイベントを受信する受信手段と、前記イベントの受信に応じて、前記アプリケーションの設定情報を前記アプリケーションサーバーに送信する第２の送信手段と、を有し、前記アプリケーションサーバーは、前記送信されたアプリケーションの設定情報を受信して、該受信した設定情報を前記顧客テナントに登録する第１の登録手段を有し、前記第１の送信手段は、前記顧客テナントが作成されて、かつ、前記ネットワークデバイスのデバイス情報が前記顧客テナントとは別のテナントから前記顧客テナントに移動された際に、前記イベントを前記ネットワークデバイスに対して送信することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、顧客テナントが作成されて、かつ、デバイス情報が顧客テナントとは別のテナントから顧客テナントに移動されたことに応じて、アプリケーションの設定情報を顧客テナントに登録することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施例のシステム図
【図２】本実施例におけるサーバーおよび複合機のハードウェア構成図
【図３】サーバー・アプリケーションのシステム構成を示す構成図
【図４】機能ブロック図
【図５】データ構造図
【図６】販社テナント及び顧客テナント作成処理のシーケンス図
【図７】デバイス登録処理のシーケンス図
【図８】権限更新処理のシーケンス図
【図９】アプリケーション設定値同期処理のシーケンス図
【図１０】設定値変更時の処理を示すシーケンス図
【図１１】アプリケーションの設定画面のＵＩ図
【図１２】再送信を行わない場合のアプリケーション設定値同期処理のシーケンス図
【図１３】デバイスのテナント間移動時の処理を示すシーケンス図
【図１４】デバイスのテナント間移動指示画面のＵＩ図
【図１５】タイマーによる設定値同期処理のシーケンス図
【図１６】アプリケーションのデバイス一覧画面のＵＩ図
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
図１は、本実施例のシステム構成図である。
【００１４】
本システムは、デバイス管理サーバー１０１、メッセージサーバー１０２、アプリケーションサーバー１０３、端末１０４、デバイス１０５及びネットワーク１０６から構成されている。
【００１５】
デバイス管理サーバー１０１、メッセージサーバー１０２、アプリケーションサーバー１０３、端末１０４、デバイス１０５はネットワーク１０６に接続され、相互に通信可能である。
【００１６】
デバイス管理サーバー１０１は、管理対象のデバイス１０５やそれを管理するテナントの情報を管理するサーバーである。メッセージサーバー１０２は、デバイス管理サーバー１０１とアプリケーションサーバー１０３との非同期メッセージ通信を行うサーバーである。アプリケーションサーバー１０３は、デバイス１０５に対して各種アプリケーションの機能を提供するサーバーである。具体的には、デバイス１０５の設定情報等をバックアップするためのバックアップサービスや、アプリケーションサーバー１０３から印刷対象を取得して印刷するためのいわゆるプルプリントサービス等があるが、それに限定されない。端末１０４は、ネットワーク１０６を経由してデバイス管理サーバー１０１及びアプリケーションサーバー１０３に対して指示を行う、いわゆるパーソナルコンピュータである。
【００１７】
デバイス１０５は、ネットワーク１０６を経由してデバイス管理サーバー１０１及びアプリケーションサーバー１０３と通信し機能を提供するネットワークデバイスである。本実施例のデバイス１０５は、いわゆるＩｏＴデバイスである。本実施例では以降デバイス１０５を複合機として説明を行うが、デバイスは複合機に限定されるものではない。インターネットを通して管理されるデバイスであれば、本実施例の範囲に含まれる。ネットワーク１０６は、例えばインターネットなどのＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれであり。またはこれらの組み合わせにより実現される、いわゆる通信ネットワークである。
【００１８】
図２は、本実施例のハードウェア構成図である。
【００１９】
図２（Ａ）は、デバイス管理サーバー１０１、メッセージサーバー１０２、アプリケーションサーバー１０３、端末１０４のハードウェア構成図である。これらは、一般的な情報処理装置（いわゆるＰＣ）のハードウェアで構成することができる。なお、デバイス管理サーバー１０１が仮想マシンである場合においては、デバイス管理サーバー１０１として機能する仮想マシンが動作するサーバーコンピューターも、情報処理装置に含まれる。メッセージサーバー１０２およびアプリケーションサーバー１０３それぞれについても同様である。
【００２０】
ＣＰＵ２０１は、ＲＯＭ２０３内に記憶されたプログラムや、外部メモリ２１０からＲＡＭ２０２にロードされたＯＳ（オペレーションシステム）やアプリケーション等のプログラムを実行する。すなわち、ＣＰＵ２０１が、読み取り可能な記憶媒体に格納された該プログラムを実行することにより、後述する各フローチャートの処理を実行する各処理部として機能する。ＲＡＭ２０２は、ＣＰＵ２０１のメインメモリであり、ワークエリア等として機能する。キーボードコントローラ２０４は、キーボード２０８や図示しないポインティングデバイス（マウス、タッチパッド、タッチパネル、トラックボールなど）からの操作入力を制御する。ディスプレイコントローラ２０５は、ディスプレイ２０９の表示を制御する。ディスクコントローラ２０６は、各種データを記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）等の外部メモリ２１０へのデータアクセスを制御する。ネットワークＩ／Ｆ２０７はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。各制御部やＣＰＵは、内部バス２１１によって相互接続される。
【００２１】
図２（Ｂ）は、デバイス１０５の内部構成を示す図である。デバイス１０５は画像形成装置の一例である。ＣＰＵ２２１はＲＯＭ２２３に格納されているプログラム（後述する各処理を実現するプログラムも含む）を備え、内部バス２３１を介して各デバイスを総括的に制御する。ＲＡＭ２２２は、ＣＰＵ２２１のメモリやワークエリアとして機能する。ネットワークＩ／Ｆ２２５は、外部のネットワーク機器と片方向または双方向にデータをやり取りする。近接通信Ｉ／Ｆ２２６はＮＦＣやＢｌｕｅＴｏｏｔｈ（登録商標）などの近接通信用のネットワークＩ／Ｆであり、携帯端末１０２等と通信し、データのやり取りを行う。デバイス制御２２７は印刷部２２８を制御する。
【００２２】
ＣＰＵ２２１は、ＲＡＭ２２２やＲＯＭ２２３と共にプログラムの実行処理をおこなうとともに、記憶装置２２４等の記録媒体に画像データを記録する処理を行う。記憶装置２２４は外部記憶装置として機能する。入出力装置２３０はデバイス１０５における入出力を担う複数の構成を示す。具体的には、ユーザーからの入力（ボタン入力など）を受け付け、該入力に対応する信号を入出力Ｉ／Ｆ２２９によって前述した各処理部へ伝える。ほかにも、ユーザーに対して必要な情報を提供したり、ユーザー操作を受付けたりするための表示装置（タッチパネルなど）も入出力装置２３０に含まれる。さらに、原稿を読み取り、入力として電子データを受付けるためのスキャン装置も入出力装置２３０に含まれてよい。タイマー２３２は、所定時間になったことを検出して割り込みを発生させＣＰＵ２２１に通知する処理を行う。ＣＰＵ２２１はプログラムに基づき決定されるスケジュールをタイマー２３２に登録する事により、定期的な処理を割り込みから駆動して動作させることが可能となる。
【００２３】
図３は、サーバー及びアプリケーションのシステム構成およびソフトウェア上の接続状態を示す図である。本システムは、複数のアプリケーションサーバー１０３からなる管理システムであり、共通のデバイス管理サーバー１０１を利用して各アプリケーションのデバイス情報を管理する。各アプリケーションサーバー１０３とデバイス管理サーバー１０１は、一般的なＴＣＰ通信等で相互通信することが可能な構成を取る。
【００２４】
メッセージングサーバー１０２は、本システム内で発生するイベントを中継及び配信するための非同期メッセージングサーバーである。各アプリケーションは、メッセージングサーバー１０２に対して受信したいイベント情報を事前に登録しておくことにより、メッセージングサーバー１０２に対して該当するイベントが送信された際に指定した関数を起動することが可能となる。このような、特定のコンピューティングリソースに対して発生したイベントに応じて軽量な処理を実行するサービスを、イベント駆動型コンピューティングサービスという。例えば、ＡＷＳ  Ｌａｍｂｄａ、Ｇｏｏｇｌｅ  Ｃｌｏｕｄ  Ｆｕｎｃｔｉｏｎｓ、Ｍｉｃｒｏｓｏｆｔ  Ａｚｕｒｅ  Ｆｕｎｃｔｉｏｎｓ等がある。これらのサービスでは、クラウドコンピューティングサービスに対して所望の処理を実現するためのプログラムコードを、そのプログラムコードを実行する仮想マシンのＣＰＵやメモリ等のスペックを指定して事前に登録する。そして、登録したプログラムコードをコンピューティングリソースとそのコンピューティングリソースに対して発生する特定のイベントと関連付ける。本実施例においては、デバイス管理サーバー１０１が発信するイベントは全てメッセージングサーバー１０２を経由してアプリケーションサーバー１０３が受信する構成を取る。以降の説明においては、メッセージングサーバー１０２についての説明は省略するが、全てのデバイス管理サーバー１０１が生成するイベントはメッセージングサーバー１０２を経由しているものとする。
【００２５】
一方、デバイス１０５もまた、複数のアプリケーションから構成されている。その構成は、デバイス管理サーバー１０１と通信を行い、認証認可を行うデバイス管理アプリケーション３０１と、各アプリケーションサーバー１０３の機能性を担う、アプリケーション３０３からなる。アプリケーション３０３は、アプリケーションサーバー１０３と通信を行う場合、デバイス管理アプリケーション３０１を通してデバイス管理サーバー１０１から通信を行うためのアクセストークンを取得する。アプリケーション３０３は、そのトークンを付与してアプリケーションサーバー１０３と通信を行う。アプリケーションサーバー１０３は、付与されたトークンの妥当性検証を、デバイス管理サーバー１０１から提供された情報を用いて行う。これにより、認証状態、及び管理対象デバイス間の関連性をデバイス管理サーバー１０１で一元的に管理することが可能となる。
【００２６】
デバイス管理アプリケーション３０１が生成するイベントは、各アプリケーション３０３が事前に登録したコールバック関数を利用して実行する。
【００２７】
図４は、本発明の第一の実施例の各機能を示す機能ブロック図である。本実施例において、各々の機能ブロックは、ハードウェアとして搭載されるＣＰＵによって処理されるプログラムの塊を示す。
【００２８】
デバイス管理サーバー１０１はテナント管理部４０１、デバイス管理部４０２、クレデンシャル管理部４０３から構成される。テナント管理部４０１は、本アプリケーションシステムを利用するための、いわゆるテナントに関しての情報を管理する。デバイス管理部４０２は、各テナントに紐付けられるデバイス１０５についての状態や情報を管理する。クレデンシャル管理部４０３は、いわゆるクレデンシャルと呼ばれる、デバイスがデバイス管理サーバーと通信するためのパスワードに相当する情報を管理する。
【００２９】
アプリケーションサーバー１０３は、顧客管理部４１１、デバイス管理部４１２、アプリケーション設定管理部４１３、アプリケーション処理部４１４から構成される。顧客管理部４１１は、所有するデバイス１０５で本アプリケーションを利用する顧客のテナント情報を管理する。デバイス管理部４１２は、本アプリケーションを利用するデバイスに関しての情報や状態を管理する。アプリケーション設定管理部４１３は、デバイスが本アプリケーションを利用する際に、デバイスに設定されている値やデバイスに設定するべき値をデバイスごとに管理する。アプリケーション処理部４１４は、アプリケーション毎に、アプリケーション設定管理部４１３の設定内容に基づき、デバイスやユーザーからの要求に基づくアプリケーションを実行する。
【００３０】
デバイス管理アプリケーション３０１は、接続先管理部４２１から構成される。接続先管理部４２１は、デバイス１０５が、どのテナントに紐付いているかの情報をデバイス管理サーバー１０１から取得し、該テナントと通信を行うためのクレデンシャル情報を保持する。
【００３１】
アプリケーション３０３は、アプリケーション設定管理部４３１及びアプリケーション処理部４３２から構成される。アプリケーション設定管理部４３１は、アプリケーション固有の設定値をデバイス側で管理する。更に、アプリケーションサーバー１０３へ自身の持つ設定値を送信及び受信する機能を持つ。アプリケーション処理部４３２は、アプリケーション設定管理部４３１の設定内容に基づき、アプリケーション固有の処理を行う。
【００３２】
以降の実施例においては、単一のアプリケーションとのフローについて説明を行うが、先に述べたようにアプリケーションは単一である必要は無い。また、本実施例における、アプリケーションは、デバイスの設定値をバックアップするためのバックアップアプリケーションであるとして説明を記載する。
【００３３】
図５は、本実施例の各機能ブロックが有するデータ構成を示す図である。
【００３４】
本実施例における機能は、大きく分けて、「テナント作成」「デバイス登録」「アプリケーションからの設定値変更」「デバイス移動」「アプリケーション設定値の定期的な同期」の５つから構成される。以下では、これらの機能について、図４の各処理部及び図５のデータ構成図を用いて説明する。
【００３５】
＜テナント作成＞
図６は、テナント作成処理のシーケンス図を示す図である。
【００３６】
本実施例では、各デバイス１０５のデータは、デバイス管理サーバー１０１によって、顧客組織や販売会社組織ごとに論理的に分離された状態で、管理される。このため、デバイス管理サーバー１０１では、仮想的な組織としての専用記憶領域である「テナント」が、顧客組織や販社組織の単位で作成され、顧客組織や販社組織に割り当てられる。そして、デバイス１０５を、顧客組織や販社組織に割り当てたテナントごとに予め登録しておくことで、デバイス１０５のデータを、テナントの単位で分離して管理できる。
【００３７】
まず、端末１０４は、ユーザー操作により、デバイス管理サーバー１０１に対して、販社テナントを作成するための販社作成要求を送信する（Ｓ６０１）。デバイス管理サーバー１０１のテナント管理部４０１は、端末１０４から販社作成要求を受信すると、自身の持つデータベース（不図示）にテナントエントリーを作成する（Ｓ６０２）。作成されるテナントエントリーの内容を図５（ａ）に示す。図５（ａ）において、テナントＩＤ及び表示名は販社作成要求に含まれるものである。ライセンスは、後述する顧客作成時に顧客にのみ付与されるデータである。販社／顧客は、作成されたテナントが販社であるか顧客であるかを判別するためのデータである。接続キーは、後述のデバイス登録フローで用いられる、システム内で一意の文字列である。詳細な利用方法は、図７を用いて後に説明する。
【００３８】
次に端末１０４はユーザー操作により、デバイス管理サーバー１０１に対して、顧客テナントを作成するための顧客作成要求を送信する（Ｓ６０３）。顧客作成要求にはライセンス情報が含まれる。ライセンス情報は、作成する顧客が各アプリケーションを使用することができるか否かを表すものである。具体的には  ｛“ａｐｐｌｉｃａｔｉｏｎＡ”：  “ａｖａｉｌａｂｌｅ”，  “ａｐｐｌｉｃａｔｉｏｎ”：  “ｎｏｔ  ａｖａｉｌａｂｌｅ”｝  のようなＪＳＯＮ文字列であってもよい。
【００３９】
デバイス管理サーバー１０１のテナント管理部４０１は、端末１０４からの顧客作成要求を受信すると、自身の持つデータベースにテナントエントリーを作成する（Ｓ６０４）。このテナントエントリーにおいて、販社テナントＩＤは、どの販社が顧客を管理するか、の紐付けを行うためのＩＤである。
【００４０】
デバイス管理サーバー１０１のテナント管理部４０１は、作成された顧客テナントにライセンスが付与されたことを確認した後に、各アプリケーションサーバー１０３に対してライセンス付与イベントを送信する（Ｓ６０５）。ライセンス付与イベントには、顧客のテナントＩＤ、販社のテナントＩＤ、顧客の表示名及び付与されたライセンスが含まれている。アプリケーションサーバー１０３の顧客管理部４１１は、ライセンス付与イベントを受信すると、ライセンスがアプリケーションを提供することができるものであるか否かを確認する（Ｓ６０６）。この処理は、ライセンス付与イベントに含まれるライセンス内に、自アプリケーションのライセンスが含まれていること、及びその内容が妥当なものであることを確認することによって行われる。ライセンスがアプリケーションを顧客に提供可能である場合は、アプリケーションサーバー１０３は、自身の持つデータベース（不図示）に顧客エントリーを作成する（Ｓ６０７）。図５（ｆ）は、アプリケーションサーバー１０３が作成して保存する顧客エンティティの内容である。
【００４１】
このフローによって、デバイス管理サーバーに作成された顧客テナントのライセンスに基づいて、各アプリケーションが顧客情報を作成する。なお、すでに作成済みの販社テナントを利用して顧客テナントを作成する場合は、販社テナントの作成を実行せずに、複数回顧客テナント作成を実行しても良い。また、すでに作成済みの顧客テナントに対して次のデバイス登録処理を行う場合は、本作成フローは省略可能である。
【００４２】
＜デバイス登録＞
図７は、本実施例におけるデバイス登録処理のフローを示すシーケンス図である。デバイス登録処理は、テナントとデバイスとの関連付けを行うための処理である。
【００４３】
ユーザーは、デバイス管理アプリケーション３０１のＵＩを操作して、Ｓ６０２ないしはＳ６０４で作成された接続キーを入力する。ここでは、顧客テナントが作成されている場合は、顧客テナントへアクセスするための接続キーが、顧客テナントが作成されていない場合は、販社テナントなど別のテナントへアクセスするための接続キーが入力される。デバイス管理アプリケーション３０１の接続先管理部４２１は、デバイス管理サーバー１０１に対して、ユーザーに入力された内容をデバイス登録要求として送信する（Ｓ７０１）。デバイス管理サーバー１０１のテナント管理部４０１は、自身の持つテナントエンティティの中から、デバイス登録要求に含まれる接続キーと一致する接続キーを持つテナントを検索する（Ｓ７０２）。指定された接続キーを持つテナントが見つからない場合（Ｓ７０３でＮｏ）は、デバイス管理アプリケーション３０１の接続先管理部４２１は、入力された接続キーに該当するテナントが見つからない旨を表示してフローを終了する（Ｓ７０４）。テナントが見つかった場合（Ｓ７０３でＹｅｓ）、デバイス管理サーバーのデバイス管理部４０２は、デバイスエンティティを作成して保存する（Ｓ７０５）。図５（ｂ）にデバイスエンティティの内容を示す。図５（ｂ）において、テナントＩＤは、Ｓ７０２で検索したテナントが持つテナントＩＤを指す。
【００４４】
更に、デバイス管理サーバー１０１のクレデンシャル管理部４０３は、デバイス登録要求を送信したアプリケーションが通信するためのクレデンシャルを作成して保存する（Ｓ７０６）。クレデンシャルの持つ内容を図５（ｃ）に示す。図５（ｃ）において、クレデンシャルＩＤはシステムで決定する一意な文字列、パスワードはシステムで決定するランダムな文字列、権限はクレデンシャルが持つアクセス権を示す。デバイス管理サーバー１０１のクレデンシャル管理部４０３は、Ｓ７０６で作成したクレデンシャルをデバイス管理アプリケーション３０１へ返す。デバイス管理アプリケーション３０１の接続先管理部４２１は、受け取ったクレデンシャルを自身のストレージに保存する（Ｓ７０７）。図５（ｉ）は、その後、デバイス管理アプリケーションを利用する各アプリケーションに対して、デバイス登録イベントを発行する（Ｓ７０８）。デバイス登録イベントには、テナントＩＤ及びデバイスシリアルが含まれている。アプリケーション３０３は、デバイス登録イベントを受信したことをトリガーに、設定値同期処理を行う（Ｓ９００）。設定同期処理の内容は、図９を用いて後述する。
【００４５】
他方、デバイス管理サーバー１０１のデバイス管理部４０２は、Ｓ７０６のクレデンシャルの生成が完了した後に、デバイス登録イベントを各アプリケーションサーバー１０３へ送信する（Ｓ７１０）。アプリケーションサーバー１０３のデバイス管理部４１２は、デバイス登録イベントをトリガーに権限更新処理（Ｓ８００）を行う。権限更新処理の内容は図８を用いて後述する。デバイス管理アプリケーション３０１が送信するデバイス登録イベントの内容に加えて、デバイス管理サーバー１０１が送信するイベントには、クライアントＩＤが含まれている。これは、アプリケーションサーバーが自身の状況に応じて、クライアントに対して適切に権限を付与、ないしは削除できるようにするためである。
【００４６】
図８は、本実施例における権限更新処理の内容を示すシーケンス図である。まず、アプリケーションサーバー１０３の顧客管理部４１１は、デバイス登録イベントに含まれるテナントＩＤに該当する顧客を、顧客エンティティから検索する（Ｓ８０１）。もし顧客が存在する場合、顧客が正しいライセンスを所持していることが判明するため、アプリケーションサーバー１０３のデバイス管理部４１２はデバイスエンティティを作成して保存する（Ｓ８０２）。
【００４７】
図５（ｇ）は、アプリケーションサーバー１０３のデバイス管理部４１２が作成するデバイスエンティティの内容である。アプリケーション設定値は、図９で後述する設定値同期処理にてアプリケーション３０３から送信されるアプリケーションの設定値を示す。最終更新時刻は、アプリケーション３０３から最後に設定値が登録されたときの日時を示す。Ｓ８０２においては、アプリケーション設定地及び最終更新時刻は空の状態で作成される。その後、デバイス管理部４１２は、テナント登録イベントに付加されたクレデンシャルＩＤを持つクレデンシャルに対して、自アプリケーションを利用する権限を付与するようにデバイス管理サーバー１０１に要求する（Ｓ８０３）。権限付与要求には、クライアントＩＤに加えて、権限が含まれる。権限は、例えば｛“ａｐｐｌｉｃａｔｉｏｎＡ”：  “ａｖａｉｌａｂｌｅ”｝のようなＪＳＯＮ文字列であり、自アプリケーションを利用することを許可するか否かを表す。権限は自アプリケーションを利用する許可を細分化したものであってもよく、例えばアプリケーションのある機能は利用可能だが、別の機能は利用不可能、というような記載であってもよい。
【００４８】
デバイス管理サーバー１０１のクレデンシャル管理部４０３は、権限付与要求を受け取ると、権限付与要求に付帯するクレデンシャルＩＤからクレデンシャルエンティティを特定し、該エンティティに対して権限付与要求に付帯する権限を付与する（Ｓ８０４）。Ｓ８０１で顧客エンティティを見つけられない場合は、該テナントがアプリケーションを利用する権限を持っていないと判断し、権限を付与せずにフローを終了する。
【００４９】
図９は、本実施例における設定値同期処理の内容を説明するシーケンス図である。まず、アプリケーション３０３は、デバイス登録イベントをデバイス管理アプリケーション３０１から受け取った後、所定時間待機する（Ｓ９０１）。図８の権限付与処理と図９の設定値同期処理は、イベントをトリガーにして各々非同期に行われる。そのため、イベントのタイミングによっては、Ｓ８０４の権限更新処理よりも前に、Ｓ９０４の権限確認処理が発生しうる可能性がある。その場合、本来であれば権限があるはずのデバイスからのアクセスであるにもかかわらず、権限が無いと判断されてしまう。それを避けるために、Ｓ９０１で所定時間待つ。次に、アプリケーション設定管理部４３１は、アプリケーションの設定をアプリケーションサーバー１０３に送信するためのアクセストークンを取得するためのアクセストークン取得要求をデバイス管理アプリケーション３０１へ要求する（Ｓ９０２）。デバイス管理アプリケーション３０１の接続先管理部４２１は、アプリケーション３０３からアクセストークン取得要求を受け取る。すると、接続先管理部４２１は、自身が保持するクレデンシャルＩＤ及びパスワードを要求に付与して、デバイス管理サーバー１０１に対してアクセストークン取得要求を行う（Ｓ９０３）。
【００５０】
デバイス管理サーバー１０１のクレデンシャル管理部４０３は、デバイス管理アプリケーション３０１からのアクセストークン取得要求を検証する（Ｓ９０４）。具体的には、アクセストークン取得要求に含まれるクレデンシャルＩＤと同一のクレデンシャルを検索し、クレデンシャルのパスワードがアクセストークン取得要求に含まれるパスワードと同一であるかを確認する。更に、前記保存されているクレデンシャルの持つ権限に、アクセストークン取得要求に含まれる権限が含まれているか、を確認する。全ての検証がＯＫの場合は、デバイス管理アプリケーションの持つクライアントが妥当なものであると判断して、アクセストークンエンティティを作成して保存し（Ｓ９０５）、作成したアクセストークン、有効期限、リフレッシュトークンを返す（Ｓ９０６）。検証がＮＧである場合は、アクセストークンを作成せずに、検証が失敗したことをＳ９０６で返す。
【００５１】
図５（ｄ）に、デバイス管理サーバー１０１のクレデンシャル管理部４０３作成するアクセストークンの内容を示す。図５（ｄ）において、有効期限は、アクセストークンの有効期限を示す。有効期限の切れたアクセストークンは利用することができなくなる。リフレッシュトークンは、アクセストークンを再取得するために利用するトークンである。アクセストークンは、ＪＳＯＮ  Ｗｅｂ  Ｔｏｋｅｎ（以下ＪＷＴ）と呼ばれる、ＪＳＯＮ形式で記載された認証情報及び要求された権限を、デバイス管理サーバー１０１のクレデンシャル管理部４０３が持つ秘密鍵を用いて暗号化したものである。アクセストークンを受け取ったサーバーは、デバイス管理サーバー１０１のクレデンシャル管理部４０３が提供する公開鍵を利用してアクセストークンを復号化することにより、ユーザーの認証情報、及びその権限情報を取得することが可能となる。デバイス管理アプリケーション３０１の接続先管理部４２１は、デバイス管理サーバー１０１から受け取った確認結果をアプリケーション３０３に渡す（Ｓ９０７）。
【００５２】
アプリケーション３０３のアプリケーション設定管理部４１３は、デバイス管理アプリケーション３０１からトークンが取得できたか否かを確認する（Ｓ９０８）。もしトークンが取得できた場合は、アプリケーション３０３のアプリケーション設定管理部４３１は、そのトークンを認証情報として付与して、アプリケーションサーバー１０３に対して自身の設定値を送信する（Ｓ９０９）。アプリケーションサーバー１０３のデバイス管理部４１２は、アプリケーション３０３からの要求に含まれるトークンが妥当なものであるかを検証する（Ｓ９１０）。権限がある場合は、アプリケーションサーバー１０３のアプリケーション設定管理部４１３は、デバイスに紐づくアプリケーションの設定値を更新または登録し（Ｓ９１１）、処理を終了する。
【００５３】
もしＳ９０８において権限がなかった場合は、Ｓ８０４の権限更新処理が完了していない可能性が高い。そのため、設定情報を送信した回数が所定回数以下である場合Ｓ９０１へ戻り、設定値更新処理を所定回数繰り返す（Ｓ９１２）。この動作を所定回数繰り返す事により、Ｓ８０４の権限更新処理が完了して、適切に設定値をアプリケーションサーバー１０３に送信できるようにする。十分な回数実行しても権限が付与されていない場合は、正しくない状態であると判断して本フローを終了する。
【００５４】
＜アプリケーションからの設定値変更＞
図１０は、本実施例における、ユーザーが設定値を変更した際の処理を示すシーケンス図である。図１０のシーケンス図を用いて、ユーザーがアプリケーション３０３を操作して、設定値を変更した際の処理について記載する。
【００５５】
ユーザーは、アプリケーション３０３のＵＩに、設定値を入力する（Ｓ１００１）。ＵＩの例を図１１に示す。図１１は、本実施例における、アプリケーションの設定値を設定するためのＵＩ画面の一例を示す図である。本実施例では、定期的にバックアップを行うために、いつバックアップを行うかを入力させることを想定している。
【００５６】
ユーザーが入力確定ボタン１１０１を押下すると、アプリケーション３０３のアプリケーション設定管理部４３１は、設定が完了したことをＵＩ上に表示する（Ｓ１００２）。更に、アプリケーション３０３のアプリケーション設定管理部４３１は、ＵＩ処理とは非同期に、設定値をアプリケーションサーバーに登録する（Ｓ１２００）。Ｓ１２００の処理は図１２を用いて後述する。
【００５７】
図１２は、再送信を行わない場合の設定値同期処理の詳細な処理内容を示すシーケンス図である。本処理は、図９で説明した再送信を行う場合と比較して、Ｓ９０１の待ち処理、及びＳ９１２の権限確認失敗時のリトライ処理が存在しない以外は図９のシーケンス図と同等である。図９の設定値同期処理においては、イベントにより各処理部が動作する構成上、Ｓ８０４の権限更新処理よりも先にＳ９０４の権限確認処理が発生しうるため、再送信処理が必要であった。しかし、図１２の設定値同期処理においては、イベントにより実行される関数では無いため、すでに権限が付与されていることが想定される。そのため、再送信を行うことなく同等な機能を実現することが可能となる。
【００５８】
図１２において、Ｓ９０２からＳ９０７までの処理は、図９に記載のものと同一であるため省略する。アプリケーション３０３のアプリケーション設定管理部４１３は、デバイス管理アプリケーション３０１からトークンが取得できたか否かを確認する（Ｓ１２０８）。もしトークンを取得できなかった場合は、同期不可能であると判断し、本フローを終了する。もしトークンを取得できた場合は、Ｓ９０９の設定値送信処理が行われる。Ｓ９０９からＳ９１１までの処理は、図９に記載のものと同一であるため説明を省略する。
【００５９】
以上の手順により、ＵＩから設定値を変更した場合に、設定値をアプリケーションサーバー１０３と同期することが可能となる。なおこの手順は、デバイスが顧客テナントに接続されていない状態でも行うことが可能である。すなわち、販社に登録されている状態で行い、あとからデバイス移動処理を行うことも可能な構成となっている。
【００６０】
＜デバイス情報移動＞
次に、図１３のシーケンス図を利用して、デバイス情報の移動処理についての説明を行う。
【００６１】
まず、ユーザーは、端末１０４を操作し、デバイス管理サーバー１０１のデバイス管理部４０２に対して、デバイス情報を移動する指示を与える（Ｓ１３０１）。デバイス管理サーバー１０１のデバイス管理部４０２は、デバイス情報の移動指示を受け取ると、移動指示の内容からデバイス移動エンティティを作成して保存する。図５（ｅ）に、デバイス移動エンティティの内容を示す。デバイス移動エンティティは、どのデバイス情報を、どのテナントからどのテナントに対して移動すべきかを示している。図１４は、デバイス情報の移動指示を与えるための、デバイス管理サーバー１０１が提供するＵＩ画面の例を示す。本ＵＩは、テナント毎に、テナントに接続されているデバイスの一覧を表示可能なＵＩである。デバイスの基本的な情報に加えて、移動先を選択できる移動先選択ボックス１４０１が、デバイス情報ごとに表示される。デバイス情報の移動を行いたいユーザーは、移動先選択ボックス１４０１から移動先の顧客を選択し、移動ボタン１４０２を押下することで、移動指示を送信することが可能である。更に、すでに移動指示を与えているデバイス情報に対しては、移動キャンセルボタン１４０３を押下することで、作成した移動指示を削除することも可能である。移動指示削除のシーケンスについての説明は、本実施例においては省略する。
【００６２】
その後、デバイス管理アプリケーション３０１の接続先管理部４２１は、デバイス管理サーバー１０１に対して、保持しているクレデンシャル情報を付与して、デバイス情報の移動指示が出されているか否かを確認する（Ｓ１３０２）。この処理を行うタイミングは限定されないが、他アプリケーションからのアクセストークン要求処理の前など、他のアプリケーションからの通信が発生する直前に行うことが望ましい。つまり、他のアプリケーションによる通信のタイミングで、接続先管理部４２１はデバイス情報の移動指示が出されているかを確認する。これにより、図１５で後述する定期スケジュールに従って設定値同期処理を行う場合と比較して、早めに設定値同期処理を行える可能性が高い。
【００６３】
デバイス管理サーバー１０１のデバイス管理部４０２は、デバイス移動エンティティから、アクセス元のデバイスシリアルに該当するものを検索し（Ｓ１３０３）、移動指示の有無を確認する（Ｓ１３０４）。もし、デバイス移動エンティティが存在していない場合は、移動指示が出されていないため、移動指示が無い旨をデバイス管理アプリケーション３０１へ応答し、本フローを終了する。もしデバイス移動エンティティが存在する場合は、デバイス移動処理を行う。具体的には、まず、デバイス管理サーバー１０１のデバイス管理部４０２は、移動元のテナントに紐づくデバイス情報を削除する。更にデバイス管理サーバー１０１のクレデンシャル管理部４０３は、移動元のテナントに紐づくデバイスのクレデンシャル、アクセストークンを全て削除する（Ｓ１３０５）。
【００６４】
次に、デバイス管理サーバー１０１のデバイス管理部４０２は移動先のテナントの下にデバイス情報を作成（Ｓ１３０６）する。更に、デバイス管理サーバー１０１のクレデンシャル管理部４０３は、デバイス管理アプリケーション３０１のための新規クレデンシャルを作成する（Ｓ１３０７）。作成したクレデンシャルはデバイス管理アプリケーション３０１へ応答として送信する。最後に、デバイス管理サーバー１０１のデバイス管理部４０２は、デバイス情報の登録イベントを作成して、各アプリケーションサーバーに対して送信する（Ｓ１３１０）。アプリケーションサーバーはその後権限更新処理を行う（Ｓ８００）が、その内容は図８に示したものと同一であるため説明を省略する。デバイス管理アプリケーション３０１の接続先管理部４２１は、デバイス管理サーバー１０１からクレデンシャルを受け取ると、自身で保持しているクレデンシャルを受信したものに置き換えて保存する（Ｓ１３０８）。その後、デバイス管理アプリケーション３０１の接続先管理部４２１は、デバイス情報の登録イベントを作成して、各アプリケーションに対して送信する（Ｓ１３０９）。アプリケーション３０３はその後、設定値同期処理を行う（Ｓ９００）が、その内容は図９に示したものと同一であるため説明を省略する。
【００６５】
以上のフローを利用することで、デバイス情報の移動指示がクラウドに出された後に、デバイスの設定値を新しいテナントに対して送信することが可能となる。
【００６６】
＜アプリケーション設定値の定期的な同期＞
最後に、アプリケーション設定値の定期的な同期処理について説明する。図１５は、アプリケーション設定値の定期的な同期の内容を示すシーケンス図である。
【００６７】
図１３で説明したように、デバイス情報の登録イベントを受け取って各アプリケーションが動作することにより、移動したテナントに対して設定値を即座に同期することが可能である。ただし、例えば通信エラー等で設定値の送信に失敗した場合や、アプリケーションが強制終了されていて起動されない場合などにおいて、デバイス情報の登録イベントの処理を行うことができずに、設定値をサーバーに対して送信できない可能性がある。そのような場合も確実に設定値をアプリケーションサーバーに送信するために、タイマー処理を利用して、定期的にアプリケーション３０３が持つ設定値をアプリケーションサーバー１０３に対して送信するようにすると良い。
【００６８】
まず、アプリケーション３０３のアプリケーション設定管理部４３１は自身の動作するオペレーティングシステムに対して、定期的に処理を行うようにタイマーを設定する（Ｓ１５０１）。タイマーの内容は、例えば１日１回起動等、デバイスの電源がタイマー起動時に遮断されていたとしても、所定のタイミングで適切にタイマー処理を実行できるような設定であれば良い。その後、アプリケーション３０３のアプリケーション設定管理部４３１はオペレーティングシステムからのタイマー起動を待ち（Ｓ１５０２）、タイマー起動により設定値同期処理を行う（Ｓ１２００）。Ｓ１２００の内容は、図１２で説明したものと同一であるため説明を省略する。
【００６９】
最後に、アプリケーションのＵＩについて説明する。図１６は、アプリケーション３０３が持つＵＩの例を示す図である。
【００７０】
アプリケーションのＵＩ上では、デバイス管理サーバー１０１からのデバイス登録イベントにより、常にデバイス管理サーバー１０１に登録されているデバイスと同じデバイスが表示される。更に、アプリケーション３０３が持つ固有の値（設定値、最終更新時刻）をＵＩ上から確認できる。図１６において、例えばデバイスシリアルがＡＡＡ０００００のデバイスは、設定値がＵＩ上に反映され、最終更新時刻が表示されている。この状態は、図９ないしは図１２に記載の設定値同期処理が正しく行われ、設定値がアプリケーションサーバー１０３と同期されている状態を示す。一方、デバイスシリアルがＡＡＡ００００１のデバイスは、顧客テナントのＵＩ上ではデバイスが表示されているにもかかわらず、設定値が空の状態で表示されている。これは、デバイス管理サーバー１０１からのデバイス登録イベントは適切に処理されたが、デバイス管理アプリケーション３０１からのデバイス登録イベントの処理に失敗した状態を示す。
【００７１】
以上説明したように、デバイス設置時にデバイス情報を別のテナントに一旦登録しておき、後で顧客テナントに移動させることが可能であるが、アプリケーションの設定情報は顧客テナント以外のテナントに一旦登録することができない可能性がある。そこで、本実施例では、顧客テナントが作成されて、かつ、デバイス情報が顧客テナントとは別のテナントから顧客テナントに移動された際に、デバイス管理サーバーはデバイスに対してイベントを送信するようにした。これにより、デバイスは、イベント受信に応じてアプリケーションの設定情報をアプリケーションサーバーに送信して登録できるようになる。つまり、設定情報の送信スケジュールにしたがって、設定情報を顧客テナントに登録する場合と比較して、顧客テナントが作成されてから設定情報が登録されるまでの時間が短くなり、サービスの提供に支障を来さずに済む。
【００７２】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【００７３】
ここで、本発明は、上述した実施形態の機能を実現する１つ以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の１つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の１つ以上のコンピューター（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の１つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【００７４】
１０１  デバイス管理サーバー
１０３  アプリケーションサーバー
１０５  デバイス
１０６  ネットワーク
【図１】
2020197766.tif 000003
【図２】
2020197766.tif 000004
【図３】
2020197766.tif 000005
【図４】
2020197766.tif 000006
【図５】
2020197766.tif 000007
【図６】
2020197766.tif 000008
【図７】
2020197766.tif 000009
【図８】
2020197766.tif 000010
【図９】
2020197766.tif 000011
【図１０】
2020197766.tif 000012
【図１１】
2020197766.tif 000013
【図１２】
2020197766.tif 000014
【図１３】
2020197766.tif 000015
【図１４】
2020197766.tif 000016
【図１５】
2020197766.tif 000017
【図１６】
2020197766.tif 000018