(57)【要約】      （修正有）【課題】Ｗｅｂアプリケーションに起因して情報処理装置の構成変更が必要になった場合に、デバイス管理者の手を煩わせることなく、安全に構成変更を実施できる情報処理装置及び情報処理システム並びに構成変更する方法及びプログラムを提供する。【解決手段】Ｗｅｂアプリ４１０に接続するＷｅｂ接続用アプリ４３０に、デバイス管理者からの認可情報を保持させる。Ｗｅｂアプリ４１０からデバイス機能の追加要求があった場合は、要求元ＵＲＬ及び認可情報を確認することでデバイス機能の追加変更を可能とする。【選択図】図４
2019191823.tif 000002
【特許請求の範囲】
【請求項１】
管理ユーザーによる構成変更の許可に応じて、構成変更の認可情報を保存する保存手段と、
Ｗｅｂサーバーにアクセスするアクセス手段と、
前記認可情報が保存されている場合に、アクセス先の前記Ｗｅｂサーバーからの構成変更要求の受信に応じて、前記構成変更を実行する構成変更手段と
を有することを特徴とする情報処理装置。
【請求項２】
請求項1に記載の情報処理装置であって、
前記保存手段は、特定のＷｅｂサーバーにアクセスするためのアプリケーションをインストールする際に、前記アプリケーションと関連付けて前記認可情報を保存し、
前記構成変更手段は、前記構成変更要求の送信元が前記特定のＷｅｂサーバーであり、前記アプリケーションに関連付けられた前記認可情報が保存されている場合に、前記構成変更を実行すること特徴とする情報処理装置。
【請求項３】
請求項2に記載の情報処理装置であって、
ユーザーインターフェイス手段を更に有し、
前記アプリケーションのインストールにより、前記特定のＷｅｂサーバーにアクセスするためのショートカットが前記ユーザーインターフェイス手段により表示され、
前記アクセス手段は、前記ユーザーインターフェイスにより表示した前記ショートカットの操作に応じて前記特定のＷｅｂサーバーにアクセスすることを特徴とする情報処理装置。
【請求項４】
請求項２または３に記載の情報処理装置であって、
管理サーバーと接続され、
前記管理サーバーからの指示に応じて前記アプリケーションをインストールし、
前記保存手段は、前記管理サーバーからの指示に応じて前記アプリケーションをインストールした場合には、前記インストールの指示と共に前記管理サーバーから受信した前記認可情報を、前記アプリケーションと関連付けて保存することを特徴とする情報処理装置。
【請求項５】
請求項２乃至４のいずれか一項に記載の情報処理装置であって、
ユーザーインターフェイス手段を有し、
前記ユーザーインターフェイス手段を介した指示に応じて前記アプリケーションをインストールし、
前記保存手段は、前記ユーザーインターフェイス手段を介した指示に応じて前記アプリケーションをインストールした場合には、前記ユーザーインターフェイス手段による入力に基づく前記認可情報を、前記アプリケーションと関連付けて保存することを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
アクセス先の前記Ｗｅｂサーバーからの、前記情報処理装置が提供する機能のバージョンの取得要求に応じて、前記バージョンを取得して応答する応答手段を更に有することを特徴とする情報処理装置。
【請求項７】
管理サーバーと、該管理サーバーと接続される情報処理装置とを含む情報処理システムであって、
前記管理サーバーは、
特定のアプリケーションにアクセスするためのアプリケーションのインストールの指示と、管理ユーザーによる構成変更の許可に応じた構成変更の認可情報とを前記情報処理装置に送信する手段を有し、
前記情報処理装置は、
前記管理サーバーから受信した前記指示に応じて前記アプリケーションをインストールする際に、前記アプリケーションと関連付けて前記構成変更の認可情報を保存する保存手段と、
Ｗｅｂサーバーにアクセスするアクセス手段と、
前記構成変更要求の送信元が前記特定のＷｅｂサーバーであり、前記アプリケーションに関連付けられた前記認可情報が保存されている場合に、前記構成変更を実行する構成変更手段とを有することを特徴とする情報処理システム。
【請求項８】
請求項７に記載の情報処理システムであって、
前記管理サーバーは、ユーザーインターフェイス手段を更に有し、
前記認可情報は、前記ユーザーインターフェイス手段を用いた前記管理ユーザーによる入力に基づくことを特徴とする情報処理システム。
【請求項９】
ＷｅｂサーバーにアクセスするＷｅｂブラウザーと、
特定のＷｅｂサーバーに対して前記Ｗｅｂブラウザーを用いてアクセスするためのＷｅｂ接続用アプリケーションと、
構成変更を実行する構成変更処理部とを有し、
前記Ｗｅｂ接続用アプリケーションは、前記Ｗｅｂ接続用アプリケーションをインストールする際に、管理ユーザーによる構成変更の許可に応じて構成変更の認可情報を、当該Ｗｅｂ接続用アプリケーションと関連付けて保存し、
構成変更要求の受信に応じて、前記構成変更要求の送信元が前記特定のＷｅｂサーバーであり、前記Ｗｅｂ接続用アプリケーションに関連付けられた前記認可情報が保存されている場合に、構成変更処理部は前記構成変更を実行することを特徴とする情報処理装置。
【請求項１０】
Ｗｅｂサーバーにアクセスするアクセス手段を有する情報処理装置で構成変更する方法であって、
管理ユーザーによる構成変更の許可に応じて、構成変更の認可情報を保存手段に保存し、
前記認可情報が保存されている場合に、アクセス先の前記Ｗｅｂサーバーからの構成変更要求の受信に応じて、前記構成変更を実行する
ことを特徴とする情報処理装置で構成変更する方法。
【請求項１１】
管理サーバーと、該管理サーバーと接続される、Ｗｅｂサーバーにアクセスするアクセス手段を有する情報処理装置とを含む情報処理システムで構成変更する方法であって、
前記管理サーバーが、特定のアプリケーションにアクセスするためのアプリケーションのインストールの指示と、管理ユーザーによる構成変更の許可に応じた構成変更の認可情報とを前記情報処理装置に送信し、
前記情報処理装置が、前記管理サーバーから受信した前記指示に応じて前記アプリケーションをインストールする際に、前記アプリケーションと関連付けて前記構成変更の認可情報を保存手段に保存し、
前記構成変更要求の送信元が前記特定のＷｅｂサーバーであり、前記アプリケーションに関連付けられた前記認可情報が保存されている場合に、前記構成変更を実行する
ことを特徴とする情報処理システムで構成変更する方法。
【請求項１２】
Ｗｅｂサーバーにアクセスするアクセス手段を有するコンピュータにより、
管理ユーザーによる構成変更の許可に応じて、構成変更の認可情報を保存手段に保存させ、
前記認可情報が保存されている場合に、アクセス先の前記Ｗｅｂサーバーからの構成変更要求の受信に応じて、前記構成変更を実行させる
ためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＷｅｂサーバー等に接続され、当該Ｗｅｂサーバーにより提供される操作画面を表示する情報処理装置および情報処理システム、構成変更する方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：多機能周辺機器）などの画像処理装置（情報処理機能に着目して情報処理装置とも呼ぶ）には、ネットワーク上のＷｅｂ（ウエブ）サーバーが備えるＷｅｂアプリケーション（以降、単にＷｅｂアプリとする）と連携して処理を行うことができるものがある。また情報処理装置からアクセスされるＷｅｂアプリには、その情報処理装置の機能を呼び出して利用するものもある。Ｗｅｂアプリから情報処理装置の機能を使用する場合、たとえばＷｅｂアプリのバージョンアップに伴い、情報処理装置の機能の新規追加や、Ｗｅｂアプリが利用する機能のバージョン更新、設定変更などの構成変更が必要となる場合がある。このような場合に、構成変更の権限を有するデバイス管理者であれば、例えば特許文献１記載の技術を用いることで機能のインストールやバージョン更新は可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１０５２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、利用するユーザーがデバイス管理者以外の、構成変更の権限を持たないユーザー（以降、一般ユーザーとする）は、機能のインストールやバージョン更新等の構成変更ができない。そのため一般ユーザーは、構成変更の権限を有するデバイス管理者による構成変更を待たなくてはならず、Ｗｅｂアプリのコンテンツを利用したいときに利用できない。またデバイス管理者にとっては、情報処理装置ごとにＷｅｂアプリに必要な構成変更を実施する必要があるためその作業に非常に手間が掛かってしまう。一般ユーザーにも構成変更の許可を与えることもできるが、一般ユーザーに作業ができるとは限らないし、何より情報処理装置の管理が出来ず、またセキュリティ的にも危険になる。
【０００５】
そこで本発明は、Ｗｅｂアプリケーションに起因して情報処理装置の構成変更が必要になった場合に、デバイス管理者の手間を煩わせることなく安全に構成変更を実施することを目的とする。
【課題を解決するための手段】
【０００６】
前述の目的を達成するために本発明は以下の構成を備える。本発明の一側面によれば、管理ユーザーによる構成変更の許可に応じて、構成変更の認可情報を保存する保存手段と、
Ｗｅｂサーバーにアクセスするアクセス手段と、
前記認可情報が保存されている場合に、アクセス先の前記Ｗｅｂサーバーからの構成変更要求の受信に応じて、前記構成変更を実行する構成変更手段とを有することを特徴とする情報処理装置が提要される。
【０００７】
また本発明の他の側面によれば、管理サーバーと、該管理サーバーと接続される情報処理装置とを含む情報処理システムであって、
前記管理サーバーは、
特定のアプリケーションにアクセスするためのアプリケーションのインストールの指示と、管理ユーザーによる構成変更の許可に応じた構成変更の認可情報とを前記情報処理装置に送信する手段を有し、
前記情報処理装置は、
前記管理サーバーから受信した前記指示に応じて前記アプリケーションをインストールする際に、前記アプリケーションと関連付けて前記構成変更の認可情報を保存する保存手段と、
Ｗｅｂサーバーにアクセスするアクセス手段と、
前記構成変更要求の送信元が前記特定のＷｅｂサーバーであり、前記アプリケーションに関連付けられた前記認可情報が保存されている場合に、前記構成変更を実行する構成変更手段とを有することを特徴とする情報処理システムが提供される。
【０００８】
また本発明のさらに他の側面によれば、Ｗｅｂサーバーにアクセス可能なＷｅｂブラウザーと、
特定のＷｅｂサーバーに対して前記Ｗｅｂブラウザーを用いてアクセスするためのＷｅｂ接続用アプリケーションと、
構成変更を実行する構成変更処理部とを有し、
前記Ｗｅｂ接続用アプリケーションは、前記Ｗｅｂ接続用アプリケーションをインストールする際に、管理ユーザーによる構成変更の許可に応じて構成変更の認可情報を、当該Ｗｅｂ接続用アプリケーションと関連付けて保存し、
構成変更要求の受信に応じて、前記構成変更要求の送信元が前記特定のＷｅｂサーバーであり、前記Ｗｅｂ接続用アプリケーションに関連付けられた前記認可情報が保存されている場合に、構成変更処理部は前記構成変更を実行することを特徴とする情報処理装置が提供される。
【発明の効果】
【０００９】
本発明により、Ｗｅｂアプリケーションに起因して情報処理装置の構成変更が必要になった場合に、デバイス管理者の手を煩わせることなく、安全に構成変更を実施できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態における情報処理システム構成の一例を示す図
【図２】情報処理装置１０１の機器構成図の一例を示す図
【図３】Ｗｅｂサーバー１０２、及び管理サーバー１０３のハードウェア構成図の一例を示す図
【図４】本発明における情報処理システム全体のソフトウェア構成の一例を示す図
【図５】本発明における構成変更指示を作成する処理フローを示す図
【図６】本発明における構成変更指示の一例を示す図
【図７】本発明における構成変更の処理フローを示す図
【図８】第１の実施形態におけるＷｅｂアプリ４１０の構成変更要求時の全体処理を示す図
【図９】本発明におけるデバイス機能のバージョン確認用スクリプトの一例を示す図
【図１０】本発明における構成変更要求及び状態監視用のスクリプトの一例を示す図
【図１１】本発明における構成変更条件確認の処理フローを示す図
【図１２】本発明におけるユーザーインターフェースの一例を示す図
【図１３】第２の実施形態における構成変更指示を作成する処理フローを示す図
【図１４】第２の実施形態における構成変更指示及び構成変更の処理フローを示す図
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
＜第１の実施形態＞
●情報処理システムのハードウエア構成
図１は、情報処理装置である画像処理装置を備える情報処理システムを構成する図である。本システムはネットワーク１００を介して接続される情報処理装置１０１と、Ｗｅｂサーバー１０２、及び情報処理装置１０１を管理する管理サーバー１０３で構成されている。ネットワーク１００は各装置間で通信を行うための基盤であり、イントラネット、インターネットもしくはその他のネットワークシステムであっても構わない。情報処理装置１０１は、Ｗｅｂブラウザー機能を有すれば、ＭＦＰとも呼ばれる、多機能周辺機器或いはデジタル複合機などの画像形成装置でもよい。Ｗｅｂサーバー１０２は、Ｗｅｂコンテンツを、ネットワークを介して配信する機能を持っており、情報処理装置１０１からのリクエストに応じてＷｅｂコンテンツを返す。管理サーバー１０３は、情報処理装置１０１を管理しており、情報処理装置１０１にインストールされたソフトウェアや情報処理装置１０１の設定情報などを管理する。
【００１３】
図２は、情報処理装置１０１の機器構成図の一例である。図２の例では情報処理装置１０１は画像形成装置のための構成を有している。情報処理装置１０１全体を制御するＣＰＵ２０１、ＣＰＵ２０１のワークエリアを提供するＲＡＭ２０２、画像を読み取る読取部２０３、画像を印刷する印刷部２０４、プログラムや様々な設定を記憶する記憶部２０５（ＨＤＤやＮＶＲＡＭ等でもよい）がメインバス２００を介して互いに接続されている。さらに、ユーザーがコマンドの入力を行うユーザー入力部２０６、画面表示を行うＵＩ（ユーザーインターフェイス）表示部２０７、他機器とネットワークによる通信を行うネットワーク部２０８も、メインバス２００により接続されている。尚、本実施形態では特に断らない限り、情報処理装置１０１はＣＰＵ２０１がメインバス２００を介してＲＡＭ２０２、読み取り部２０３、印刷部２０４、記憶部２０５、ユーザー入力部２０６、ＵＩ表示部２０７、ネットワーク部２０８を制御する。また、ＵＩ表示部２０７は、タッチパネルディスプレイのようなユーザー入力部２０６を兼ねても良い。
【００１４】
図３はＷｅｂサーバー１０２、及び管理サーバー１０３のハードウェア構成図の一例である。Ｗｅｂサーバー１０２または管理サーバー１０３を制御するＣＰＵ３０１、ＣＰＵ３０１のワークエリアを提供するＲＡＭ３０２、プログラム、設定を記憶する記憶部３０３、他機器とネットワークによる通信を行うネットワーク部３０４が、メインバス３００により接続されている。尚、本実施形態では特に断らない限り、ＣＰＵ３０１がメインバス３００を介してＲＡＭ３０２、記憶部３０３、ネットワーク部３０４を制御する。
【００１５】
図４は図1に示した情報処理システム全体のソフトウェア構成を説明するための図である。図４に示す各機能部は、情報処理装置１０１、Ｗｅｂサーバー１０２、管理サーバー１０３のそれぞれが有するＣＰＵ２０１、ＣＰＵ３０１が制御プログラムを実行することにより実現される。
【００１６】
●Ｗｅｂサーバーのソフトウェア構成
Ｗｅｂサーバー１０２は、通信部４０１、Ｗｅｂアプリケーション４１０（以降、単にＷｅｂアプリ４１０とする）を有する。通信部４０１は、ネットワーク部３０４を操作して情報処理装置１０１と通信を行う。本実施形態において、通信部４０１はＨＴＴＰプロトコルによる通信を行うことを想定しているが、外部装置と通信可能であればこれに限らない。Ｗｅｂアプリ４１０は外部装置に対してコンテンツを提供するアプリケーションであり、プレゼンテーション部４１１及びロジック部４１２で構成される。Ｗｅｂアプリ４１０には、情報処理装置１０１の機能拡張を目的としたアプリケーションがあり、そのようなＷｅｂアプリには、その呼び出し元の情報処理装置１０１が外部に提供している機能を利用するものもある。
【００１７】
プレゼンテーション部４１１は、通信部４０１を介して、情報処理装置１０１からのリクエストを受信する。また情報処理装置１０１のＷｅｂブラウザー４２０で表示すべき画面情報（例えば操作画面）、又はスクリプト実行部４２４への処理要求を、情報処理装置１０１へレスポンスとして送信する。また情報処理装置１０１のＷｅｂブラウザー４２０に表示された操作画面を介して入力されたユーザーからの入力情報を、通信部４０１を介して情報処理装置１０１から受信する。
【００１８】
ロジック部４１２は、プレゼンテーション部４１１から渡された情報処理装置１０１からの入力情報に対して処理を行う。例えば、ユーザーからの入力に応じて、表示すべき画面（すなわち情報処理装置１０１に送信する画面情報）を変更したり、情報処理装置１０１のデバイス機能実行のための処理要求を作成したりする。
【００１９】
情報処理装置１０１は、Ｗｅｂブラウザー４２０、Ｗｅｂ接続用アプリケーション４３０（以降、単にＷｅｂ接続用アプリ４３０とする）、構成制御機能４４０を有している。Ｗｅｂブラウザー４２０、Ｗｅｂ接続用アプリ４３０、構成制御機能４４０のそれぞれは、情報処理装置１０１が有しているＣＰＵ２０１が制御プログラムを実行することにより実現される。なお、前述のＷｅｂブラウザー４２０およびＷｅｂサーバー１０２は一例であって、ＨＴＴＰに従って通信し、Ｗｅｂサーバーにより提供されるコンテンツを表示するものに限定するものではない。ＨＴＴＰプロトコルに従ってリクエスト／レスポンスを送受信するクライアント／サーバーに限定されず、クライアントがサーバーと通信を行うことによってコンテンツを取得し、コンテンツに応じた画面を表示する、あるいはスクリプトを実行するといった機能を有するものであれば、プロトコルについてはどのようなものでも良い。
【００２０】
●Ｗｅｂブラウザーのソフトウェア構成
Ｗｅｂブラウザー４２０は、通信部４２１、解析部４２２、画面表示部４２３、及びスクリプト実行部４２４を有する。
【００２１】
通信部４２１は、ＨＴＴＰプロトコルに従って、Ｗｅｂサーバー１０２の通信部４０１を介してＷｅｂアプリ４１０のプレゼンテーション部４１１と通信する。具体的には、通信部４２１は、Ｗｅｂブラウザー４２０で表示した操作画面を介して入力される情報を、Ｗｅｂアプリ４１０に対するリクエストとして送信する。また通信部４２１は、Ｗｅｂアプリ４１０から送信されるレスポンスを受信する。
【００２２】
解析部４２２は、Ｗｅｂアプリ４１０から受信したレスポンスを解析する。レスポンスの内容には、Ｗｅｂブラウザー４２０に表示すべき操作画面の内容を示すＨＴＭＬデータや、スクリプト実行部４２４への処理要求が記載されている。
【００２３】
画面表示部４２３は、解析部４２２による解析結果に基づいて、ＨＴＭＬデータをＵＩ表示部２０７により操作画面として表示する。
【００２４】
スクリプト実行部４２４は、解析部４２２による解析結果に基づいて、Ｗｅｂアプリ４１０から受信した処理要求（たとえばスクリプト）を実行する。例えば、Ｗｅｂアプリ４１０から情報処理装置１０１の特定の機能のバージョン情報取得を要求されると、該当の機能からバージョン情報を取得し、通信部４２１を介してＷｅｂアプリ４１０へ返す。例えば、Ｗｅｂアプリ４１０から情報処理装置１０１の構成変更を要求されると、Ｗｅｂ接続用アプリ４３０の処理部４３５へ次の処理を実行するよう依頼する。この要求はたとえば、バージョン情報を取得する手順が記述されたスクリプトとしてコンテンツに含まれており、それを実行することで要求が果たされてよい。
【００２５】
●Ｗｅｂ接続用アプリのソフトウェア構成
Ｗｅｂ接続用アプリ４３０は、Ｗｅｂアプリ４１０を利用するためのアプリケーションであり、Ｗｅｂアプリ４１０へのショートカットやＷｅｂアプリ４１０を利用する上で必要な処理を実行する。Ｗｅｂ接続用アプリ４３０は、情報処理装置１０１にインストールされたアプリケーションである。Ｗｅｂ接続用アプリ４３０は、通信部４３１、Ｗｅｂブラウザー起動部４３２、起動ＵＲＬ４３３、認可情報管理部４３４、処理部４３５を有する。
【００２６】
通信部４３１は、ＨＴＴＰプロトコルに従って、管理サーバー１０３の通信部４０１を介して構成管理機能４５２と通信する。具体的には、通信部４３１は、Ｗｅｂブラウザー４２０を介して通知されたＷｅｂアプリ４１０からの構成変更要求を、管理サーバー１０３へ送信する。起動ＵＲＬ４３３は、Ｗｅｂアプリ４１０へアクセスするための宛先である。たとえばＷｅｂ接続用アプリ４３０がそのショートカットの操作などで実行されると、Ｗｅｂブラウザー起動部４３２は起動ＵＲＬ４３３を読み出し、Ｗｅｂブラウザー４２０を呼び出す。
【００２７】
認可情報管理部４３４は、デバイス管理者（一般ユーザーに対して管理ユーザーとも呼ぶ）が構成変更要求を認可した際の認可情報などを管理する機能である。認可情報管理部４３４の管理する認可情報として、デバイス管理者認可済みか否かの情報や、管理サーバー４０３へアクセスするためのＵＲＬと認証、認可情報などが挙げられる。尚、管理サーバー４０３へアクセスするための認可情報として、ＯＡｕｔｈ２．０などで利用するアクセストークンも含まれていても良い。
【００２８】
処理部４３５は、Ｗｅｂブラウザー４２０を介したＷｅｂアプリ４１０からの要求を処理、実行する。本実施形態においては、Ｗｅｂアプリ４１０からの構成変更要求（例えば、アプリケーションのインストール）を受けると、処理部４３５は、認可情報管理部４３４と連携しデバイス管理者から構成変更要求の実行を許可されているかを判断する。また当該構成変更要求のリクエスト元と、起動ＵＲＬ４３３で示すアクセス先が一致するか否かを判断する。更に、許可判断及びＵＲＬ一致判断を元に、管理サーバー１０３へのアクセスに必要となる認可情報とともに構成変更要求を管理サーバー１０３へ通知する。
【００２９】
本実施形態において、処理部４３５は１つのコンポーネントとして表現しているが、これに限らず複数のコンポーネントとして表現しても良い。例えば、処理部４３５で各種判断するためのコンポーネントや、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）などがあっても良い。
【００３０】
●構成制御機能部のソフトウェア構成
構成制御機能４４０は、通信部４４１、構成変更処理部４４２を有する。通信部４４１は、たとえばＨＴＴＰプロトコルに従って、管理サーバー１０３の通信部４５１を介して構成管理機能４５２と通信する。具体的には、通信部４４１は管理サーバー１０３の構成管理機能４５２から送信される構成変更指示やデータを受信する。また通信部４４１は、管理サーバー１０３の構成管理機能４５２に対して各種データの取得要求を行う。
【００３１】
構成変更処理部４４２は、Ｗｅｂ接続アプリ４３０の処理部４３５から構成変更要求を受けると、管理サーバー１０３に対して構成変更をするように送信する。この際、Ｗｅｂ接続アプリ４３０が認可情報管理部４３４で管理している管理サーバー１０３への認可情報を用いても良い。また、管理サーバー１０３から通信部４４１を介して構成変更指示が通知された際に、該構成変更指示に従って情報処理装置１０１の構成を変更する。例えば、構成変更指示として特定のアプリケーションのインストールを指示されると、管理サーバー１０３からインストール対象のアプリケーションを取得し、情報処理装置１０１に対して取得したアプリケーションをインストールする。尚、本実施形態において管理サーバー１０３から構成変更指示がプッシュ通知された場合の例を示したが、これに限らず、構成変更処理部４４２が定期的に管理サーバー１０３に構成変更指示の有無を確認と取得をしても良い。
【００３２】
●管理サーバーのソフトウェア構成
管理サーバー１０３は、複数の情報処理装置１０１を管理するためのサーバーである。また管理サーバー１０３へのアクセス制御のための認証情報なども管理する。管理サーバー１０３は、通信部４５１、構成管理機能４５２を有する。
【００３３】
通信部４５１は、ネットワーク装置３０４を操作して情報処理装置１０１と通信を行う。本実施形態において、通信部４５１はＨＴＴＰプロトコルによる通信を行うことを想定しているが、外部装置と通信可能であればこれに限らない。
【００３４】
構成管理機能４５２は、情報処理装置１０１や情報処理装置１０１へ適用するためのソフトウェア、設定値情報などを管理する。またソフトウェアに関するライセンス管理や、ソフトウェアを適用時の制限事項管理などを行っても良い。構成管理機能４５２は、管理画面提供部４５３及び構成変更処理部４５４で構成される。
【００３５】
管理画面提供部４５３は、通信部４５１を介して、デバイス管理者の操作するＰＣなど（不図示）からのリクエストを受信する。またデバイス管理者の操作ＰＣにおけるＷｅｂブラウザーに表示するための操作画面を提供する。また該Ｗｅｂブラウザーに表示された操作画面を介して入力されたユーザーからの入力情報を構成変更処理部４５４へ渡す。
【００３６】
構成変更処理部４５４は、管理画面提供部４５３から渡されたユーザー入力情報を元に、情報処理装置１０１に対する構成変更に関する指示（以降、構成変更指示とする）を作成する。また構成変更指示が作成されると、構成変更対象の情報処理装置１０１に対して構成変更指示を通知する。また構成変更処理部４５４は、情報処理装置１０１から構成変更指示に関して適用すべきコンテンツの取得を要求されると、要求されたコンテンツを情報処理装置１０１へ返す。ここでコンテンツとは、例えばアプリケーションなどのソフトウェアや設定値、複数の設定値をファイル化した設定値ファイルが挙げられる。尚、構成変更指示は、ＸＭＬ形式やＪｓｏｎ形式などで通信プロトコルのボディに記載しても良いし、構成変更の内容を指示書としてファイル化し、指示書を情報処理装置１０１へ送信しても良い。また指示書の取得先のみを通知し、情報処理装置１０１に指示書を取得させても良い。
【００３７】
●情報処理システムにおける処理
ここで、本実施形態における情報処理システムにおける一連の処理についての全体構成を説明する。本実施形態では、事前準備として情報処理装置１０１に、Ｗｅｂアプリ４１０を利用するためのＷｅｂ接続用アプリ４３０をインストールする。この事前準備における処理を図５から図７用いて説明する。またユーザーがＷｅｂ接続用アプリ４３０からブラウザーを介してＷｅｂアプリ４１０を利用する際に、情報処理装置１０１の構成変更が必要になった際の処理について図８から図１１を用いて説明する。尚、本実施形態において、情報処理装置１０１と管理サーバー１０３との導通確認は完了しているものとする。また情報処理装置１０１へのデバイス管理者ログインと、情報処理装置１０１のＷｅｂブラウザー４２０を介した管理サーバー１０３へのユーザーログインにおいて、管理サーバー１０３のユーザーに対してデバイス管理者権限があることを関連付けるものとする。
【００３８】
●Ｗｅｂ接続用アプリのインストール処理
図５は、デバイス管理者の操作するＰＣなど（不図示）から管理サーバー１０３へアクセスし、管理画面提供部４５３が提供する操作画面において、デバイス管理者がＷｅｂ接続用アプリ４３０のインストール指示（構成変更指示）を作成する処理フローである。また構成変更指示を情報処理装置１０１へ通知する処理フローである。図５に示す処理フローは、管理サーバー１０３が有するＣＰＵ３０１が制御プログラムを実行することにより実現される。
【００３９】
Ｓ５００は、構成変更処理部４５４が、管理サーバー１０３へログインしたユーザーがデバイス管理者としての権限を持っている、つまりデバイス管理者であるかを判断する処理である。デバイス管理者によるログインの場合はＳ５０１へ処理を移行し、デバイス管理者でない場合は構成変更を実行できないため、本フローを終了する。
【００４０】
Ｓ５０１は、構成変更処理部４５４が、管理画面提供部４５３で提供する操作画面においてデバイス管理者が構成変更指示の作成のための操作をしているかを判断する処理である。構成変更指示の作成のための操作とは、例えば、構成変更指示作成画面（不図示）において、構成変更内容としてＷｅｂ接続用アプリ４３０のインストールを選択したり、変更したい設定値を入力したりする操作を指す。構成変更指示の作成のための操作である場合はＳ５０２へ処理を移行し、構成変更指示作成で無い場合は処理を終了する。
【００４１】
Ｓ５０２は、構成変更処理部４５４が、Ｓ５０１で受け付けた構成変更指示群を、情報処理装置１０１への通知用の構成変更指示を作成する処理である。通知用の構成変更指示の例は、図６にて後述する。
【００４２】
Ｓ５０３は、構成変更処理部４５４が、Ｓ５０１で受け付けた構成変更指示の中に、Ｗｅｂ接続用アプリ４３０のインストール指示が含まれているかを判断する処理である。含まれている場合はＳ５０４へ、含まれていない場合はＳ５０７へ処理を移行する。
【００４３】
Ｓ５０４は、構成変更処理部４５４が、デバイス管理者に対して、Ｗｅｂ接続用アプリ４３０のアクセス先であるＷｅｂアプリ４１０が構成変更を要求した際に必要となる情報処理装置１０１の機能を自動で（すなわちデバイス管理者の権限なしに）追加または更新しても良いか、を確認する処理である。ここで認可の確認画面の一例を、図１２（Ａ）を用いて説明する。
【００４４】
図１２（Ａ）は、Ｗｅｂブラウザー４２０がデバイス管理者に対して、Ｗｅｂアプリ４１０から構成変更を要求された場合に必要な情報処理装置１０１の機能を自動で追加または更新しても良いかを確認する認可確認画面１２００である。認可確認画面１２００は、管理サーバー１０３の管理画面提供部４５３によって生成される。本実施形態における認可確認画面１２００は、確認用のメッセージ、及びはい、いいえのボタンで構成されている。デバイス管理者は、構成変更の要求に対し、自動で処理しても良いと判断する場合すなわち構成変更をあらかじめ許可しておく場合は"はい"を押下し、自動で処理してほしく無い場合すなわち構成変更をあらかじめ許可しておかない場合は"いいえ"を押下する。いずれが選択されたかを示す情報は保存され、Ｓ５０５で参照される。以上が、図１２（Ａ）における認可確認画面１２００の一例である。図５の説明に戻る。
【００４５】
Ｓ５０５は、構成変更処理部４５４が、Ｓ５０４における認可確認の結果、デバイス管理者から自動で構成変更を実施しても良いと認可を得られたかを判断する処理である。構成変更要求の自動実施の認可を得られた場合はＳ５０６へ処理を移行し、得られなかった場合はＳ５０７へ処理を移行する。
【００４６】
Ｓ５０６は、構成変更処理部４５４が、Ｗｅｂ接続用アプリ４３０の設定として認可トークンを生成し、構成変更指示の内容に認可トークンを含む設定インポート指示を追加する処理である。
【００４７】
Ｓ５０７は、構成変更処理部４５４が、構成変更を実施する時刻になったかを判断する処理である。構成変更を実施する時刻は、不図示の操作画面にて時刻指定しても良いし、特定の時刻になると実行されるようにしても良い。構成変更の実施時刻になったと判断された場合はＳ５０８へ処理を移行し、実施時刻で無い場合は処理を待機する。
【００４８】
Ｓ５０８は、構成変更処理部４５４が通信部４５１を介して、情報処理装置１０１へ構成変更指示を通知する処理である。尚、通知方法は、管理サーバー１０３から情報処理装置１０１へプッシュ通知しても良いし、情報処理装置１０１が定期的に管理サーバー１０３に構成変更指示の有無を確認し、構成変更指示の取得を実現しても良い。
【００４９】
図５において、Ｓ５００においてデバイス管理者ではない場合は処理を終了させているが、権限によっては構成変更指示の参照や実行予定のない構成変更指示（例えば、テンプレート）の作成だけ可能としても良い。また図５では、構成変更指示を一度作成した後に自動構成変更の認可について追加するフローとなっているが、最終的に必要な情報が構成変更指示に含まれていれば良く、最後にまとめて構成変更指示を作成しても良い。さらに図５では、構成変更指示の作成と構成変更時刻の判断を一つの処理フロー内で実施しているが、これに限らず、例えば作成のフローとして一度完了させ、指定時刻におけるイベントのトリガーにより構成変更時刻の判断を行っても良い。
【００５０】
ここで管理サーバー１０３の構成変更処理部４５４が、情報処理装置１０１へ通知する構成変更指示の一例を、図６を用いて説明する。
【００５１】
図６は、管理サーバー１０３の構成変更処理部４５４が、情報処理装置１０１へ通知する構成変更指示の一例である。構成変更指示６００は、図５のＳ５０２、及びＳ５０６により作成される。構成変更指示６００は、ＨＴＴＰプロトコルによる通信時のボディに記載してもよいし、構成変更指示ファイルとしてダウンロード対象のファイルとしても良い。また本実施形態において、構成変更指示６００はＸＭＬ形式で記載しているが、これに限らず、他の形式、例えばＪｓｏｎ形式であっても良い。構成変更指示６００は、情報処理装置識別部６０１と構成変更処理部６０２で構成される。
【００５２】
情報処理装置識別部６０１は、構成変更対象の情報処理装置１０１を判別するためのターゲット識別子＜ｄｅｖｉｃｅＩｄ＞が記載される。例えば図６の例では、識別子がＤ１１１の情報処理装置１０１をターゲットとしていることが分かる。
【００５３】
構成変更処理部６０２は、構成変更対象の情報処理装置１０１に対する具体的な構成変更処理が記載される。構成変更指示６００の例では、アプリケーションインストール処理部６０３（以降、アプリ処理部６０３とする）、及び設定データインポート処理部６０４（以降、設定値処理部６０４とする）で構成される。尚、本実施形態において、構成変更処理部６０２で指定、実行可能な構成変更処理はこれに限らず、例えばファームウェア更新処理や、組み込みソフトウェアの有効化処理、ソフトウェアのアンインストール処理などがあっても良い。また各処理を示すタグの中にはＯｒｄｅｒ属性が含まれており、本実施形態ではＯｒｄｅｒの値に応じて処理の順番が決定する。
【００５４】
アプリ処理部６０３は、指定されたアプリケーションのインストールを指示するための処理部であり、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグにより処理を定義する。アプリ処理部６０３は、＜ｕｒｌ＞タグ、及び＜ｆｉｌｅＩｄ＞タグ、＜ａｐｐＮａｍｅ＞タグ、＜ａｐｐＩｄ＞タグ、＜ａｐｐＶｅｒ＞タグで構成されている。＜ｕｒｌ＞タグは、インストール対象アプリの取得先ＵＲＬを指しており、構成変更処理部４４２は＜ｕｒｌ＞タグで指定された宛先からアプリを取得する。＜ｆｉｌｅＩｄ＞タグは、アプリ取得時に取得対象のアプリを一意に特定可能な識別子である。＜ｕｒｌ＞で指定した宛先のクエリ情報として＜ｆｉｌｅＩｄ＞を指定することで、特定のアプリを取得できる。尚、＜ｆｉｌｅＩｄ＞は、管理サーバー１０３において、当該アプリが管理対象として登録された際に割り振られる識別子であり、管理サーバー１０３の中で一意に管理される。＜ａｐｐＮａｍｅ＞タグは、インストール対象のアプリケーションの名称が記載される。＜ａｐｐＩｄ＞タグは、アプリケーションを特定するための識別子が記載される。アプリケーションを特定する識別子は、１つのアプリケーションが特定できれば良く、バージョン違いであれば同一の識別子でも良い。＜ａｐｐＶｅｒ＞タグは、インストール対象のアプリケーションのバージョン情報が記載される。本実施形態において、アプリ処理部６０３にはライセンスに関する記載が無いが、もちろんライセンス情報に関する記載があっても良い。例えば、ライセンスの取得先やライセンスの種類情報が記載されていても良い。
【００５５】
設定値処理部６０４は、指定された設定値ファイルを情報処理装置１０１へインポートし、設定値を変更するための処理部である。本実施形態においては、この設定値の一部としてＷｅｂ接続用アプリ４３０の自動構成変更の認可情報が含まれている。設定値処理部６０４は、＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｉｇＣｏｍｍａｎｄ＞タグにより処理を定義している。設定値処理部７０４は、＜ｕｒｌ＞タグ、＜ｆｉｌｅＩｄ＞タグ、及び＜ｆｉｌｅＮａｍｅ＞タグで構成される。＜ｕｒｌ＞タグは、インポート対象の設定値ファイルの取得先ＵＲＬを指しており、情報処理装置１０１の構成変更処理部４４２は＜ｕｒｌ＞タグで指定された宛先から設定値ファイルを取得する。尚、本実施形態では、複数の設定値の変更情報をファイル化した設定値ファイルをインポートすることで設定処理を実施することを想定しているが、これに限らず、一つ一つの設定値を設定値処理部６０４に記載しても良い。＜ｆｉｌｅＩｄ＞タグは、設定値ファイル取得時に取得対象の設定値ファイルを一意に特定可能な識別子である。＜ｕｒｌ＞で指定した宛先のクエリ情報として＜ｆｉｌｅＩｄ＞を指定することで、特定の設定値ファイルを取得できる。尚、＜ｆｉｌｅＩｄ＞は、管理サーバー１０３において、当該設定値ファイルが管理対象として登録された際に割り振られる識別子であり、管理サーバー１０３の中で一意に管理される。＜ｆｉｌｅＮａｍｅ＞タグは、取得対象の設定値ファイルのファイル名が記載される。以上が、構成変更指示の一例である。Ｓ５０２では、処理の内容をたとえば選択肢から選択させ、選択された処理のパラメータとして、選択された処理に付随するタグの内容を指定されて、選択された処理内容やパラメータに応じたテキストをテンプレートに挿入することで図6に例示した構成変更指示を作成してよい。
【００５６】
図７は、情報処理装置１０１において、管理サーバー１０３から構成変更指示６００を受信した際の構成変更の処理フローである。図７に示す処理フローは、情報処理装置１０１が有するＣＰＵ２０１が制御プログラムを実行することにより実現される。
【００５７】
Ｓ７００は、構成変更処理部４４２が、管理サーバー１０３から通知された構成変更指示６００を解析する処理である。解析された構成変更指示は、情報処理装置１０１のＲＡＭ２０２で記憶される。尚、管理サーバー１０３からの最初の通知内容が管理サーバー１０３から構成変更指示ファイルを取得する要求であった場合は、構成変更処理部４４２は、通信部４４1を介して管理サーバー１０３から構成変更指示ファイルを取得する。その後、取得した構成変更指示ファイルを解析する。
【００５８】
Ｓ７０１は、構成変更処理部４４２が、解析した構成変更指示の内容をもとに指示された構成変更処理がすべて完了したか否かを判断する処理である。すべての構成変更処理が完了した場合は構成変更処理を終了する。構成変更処理が完了していない場合はＳ７０２へ処理を移行する。
【００５９】
Ｓ７０２は、構成変更処理部４４２が、解析した構成変更指示に記載された構成変更処理の実行順序に従い、まだ実行されていない処理を一つ抽出する処理である。尚、実行順序は構成変更処理部７０２の各処理に定義されたＯｒｄｅｒ属性の値に従う。
【００６０】
Ｓ７０３は、構成変更処理部４４２が、構成変更処理部７０２の各処理に定義された＜ｕｒｌ＞タグと＜ｆｉｌｅＩｄ＞タグに従い、指定された場所から構成変更対象のアプリやファイルをダウンロードする処理である。例えば、Ｗｅｂ接続用アプリ４３０のバイナリファイルや必要に応じてライセンス情報、ライセンスファイルなどをダウンロードする。尚、実行対象になっている構成変更処理によっては、ファイル等をダウンロードしないものも存在する。その場合はＳ７０３の処理をスキップする。
【００６１】
Ｓ７０４は、構成変更処理部４４２が、Ｓ７０２で抽出した構成変更処理を実行する処理である。例えば、Ｗｅｂ接続用アプリ４３０のインストール処理が抽出されている場合は、Ｓ７０３でダウンロードしたバイナリファイルを、情報処理装置１０１へインストールする。例えば、設定値ファイルのインポート処理が抽出されている場合は、Ｓ７０３でダウンロードした設定値ファイルを解析し、設定値ファイルに記載された設定値を情報処理装置１０１に適用する。またＳ７０４において、構成変更処理部４４２が、Ｗｅｂ接続用アプリ４３０の設定値として認可情報をインポートする。Ｓ７０４における認可情報とは、デバイス管理者によって自動構成変更に対する認可が下りたことが判断できるような情報を指す。例えば、Ｗｅｂ接続用アプリ４３０が管理する記憶装置３０３内の領域に管理サーバー１０３へアクセスするためのアクセストークンやリフレッシュトークンなどが挙げられる。尚、セキュリティが確保できる場合は、Ｓ７０４において認可トークンを生成しても良い。例えば、Ｗｅｂ接続用アプリ４３０の設定値の一部にデバイス管理者としてのユーザークレデンシャルを含めておき、対象のユーザークレデンシャルを使用してサーバー認証、及びトークンの発行を行っても良い。
【００６２】
以上により、事前準備として情報処理装置１０１に、Ｗｅｂアプリ４１０を利用するためのＷｅｂ接続用アプリ４３０をインストールできる。
【００６３】
ここでＷｅｂ接続用アプリ４３０のインストール後の情報処理装置１０１のＵＩ表示部２０７に表示する画面の一例を、図１２（Ｂ）を用いて説明する。
【００６４】
図１２（Ｂ）は、情報処理装置１０１のＵＩ表示装置２０７に表示する操作画面の一例である。表示画面１２１０には、情報処理装置１０１で利用可能な機能のアイコンが表示されている。ＧＵＩボタン１２１１、１２１２、１２１３は、情報処理装置１０１に最初から備わっているアプリケーションを呼び出すためのボタンである。ＧＵＩボタン１２１４、１２１５、１２１６は、情報処理装置１０１に対して後から機能を追加するためのプラグインアプリケーションを呼び出すためのボタンである。プラグインアプリケーションは、例えば管理サーバー１０３から配信することで情報処理装置１０１へ追加できる。ＧＵＩボタン１２１４は、ＷｅｂＡｐｐ０１にアクセスするためのＷｅｂ接続用アプリのインストールにより設けられたＧＵＩボタンである。ＧＵＩボタン１２１４は、Ｗｅｂ接続用アプリ４３０を起動してそのＷｅｂブラウザー起動部４３２によりＷｅｂブラウザー４２０を介して、Ｗｅｂアプリ４１０のＷｅｂＡｐｐ０１を呼び出すためのボタンである。ＧＵＩボタン１２１５は、ＷｅｂＡｐｐ０２にアクセスするためのＷｅｂ接続用アプリのインストールにより設けられたＧＵＩボタンである。ＧＵＩボタン１２１５は、Ｗｅｂ接続用アプリ４３０を起動してそのＷｅｂブラウザー起動部４３２によりＷｅｂブラウザー４２０を介して、Ｗｅｂアプリ４１０のＷｅｂＡｐｐ０２を呼び出すためのボタンである。ＧＵＩボタン１２１６は、情報処理装置１０１のローカルに存在するプラグインアプリケーションを呼び出すボタンである。
【００６５】
●情報処理装置の構成変更処理
次に、ユーザーがＷｅｂ接続用アプリ４３０からＷｅｂブラウザー４２０を介してＷｅｂアプリ４１０を利用する際に、Ｗｅｂアプリ４１０の変更に伴い、情報処理装置１０１の構成変更が必要になった際の処理について説明する。
【００６６】
図８は、Ｗｅｂアプリ４１０から構成変更要求がある場合の全体の処理を示すシーケンスの一例である。図８では、ユーザーによってＧＵＩボタン１２１４が押下された場合の処理を説明する。
【００６７】
ユーザーがＧＵＩボタン１２１４を押下すると、情報処理装置１０１のシステムはＧＵＩボタン１２１４に対応したＷｅｂ接続用アプリ４３０を呼び出す（Ｓ８００）。呼び出されたＷｅｂ接続用アプリ４３０は、Ｗｅｂブラウザー起動部４３２を介して起動ＵＲＬ４３３を読み出し、Ｗｅｂブラウザー４２０を呼び出す（Ｓ８０１）。この際、Ｗｅｂアプリ４１０が正しいＷｅｂ接続用アプリ４３０からの呼び出しであることを判断するために、例えば、電子署名情報やＷｅｂ接続用アプリを識別するためのＩＤ，その他の情報を付与しても良い。次にＷｅｂブラウザー４２０は、Ｗｅｂ接続用アプリ４３０から指示された起動ＵＲＬ４３３やその他の情報を用いてＷｅｂアプリ４１０のトップページを呼び出す（Ｓ８０２）。
【００６８】
呼び出しを受けて、Ｗｅｂサーバー１０２は、必要に応じて呼び出しに対する検証を行い、情報処理装置１０１に対してＷｅｂアプリ４１０を使用する上で必要な構成のバージョン情報の取得要求を応答として返却する（Ｓ８０３）。バージョン情報の取得要求は、例えば図９で示すようなＪａｖａＳｃｒｉｐｔ（登録商標、以下同じ）を利用することで実現する。ここで図９のバージョン情報取得要求を実現するＪａｖａＳｃｒｉｐｔの例を説明する。
【００６９】
図９は、Ｗｅｂアプリ４１０のコンテンツ実行に必要なデバイスの構成（以下、デバイス機能とする）のバージョン取得を実現するためのＪａｖａＳｃｒｉｐｔの例である。図９で記載するバージョン取得のＪａｖａＳｃｒｉｐｔ９００は、Ｗｅｂアプリ４１０が情報処理装置１０１のＷｅｂブラウザーに対するＨＴＭＬレスポンスに記載される。またバージョン取得のＪａｖａＳｃｒｉｐｔ９００は、Ｗｅｂブラウザー４２０のスクリプト実行部４２４によって実行される。
【００７０】
主処理部９０１には、バージョン確認を実行するためのＪａｖａＳｃｒｉｐｔの主処理が記載されている。主処理部９０１は、情報処理装置１０１の持つヘルパー機能ＡＰＩを用いることで、指定されたデバイス機能のバージョンを取得する。図９で示す主処理部９０１に従い、スクリプト実行部４２４は、Ｗｅｂアプリ４１０が必要とする機能ＩＤ"ａｂｃ−１２３"のデバイス機能と、機能ＩＤ"ｅｆｇ−４５６"のデバイス機能のバージョンを取得する。更にスクリプト実行部４２４は、非表示のインプットタグに対して各情報を登録し、後述のボディ部９０２のフォーム情報を送信する。尚、主処理部９０１は、スクリプト実行部４２４がヘルパー機能のＡＰＩを使用して各処理を実行するように記載されているが、必要なデバイス機能のバージョンが取得、送信できれば良く、例えばＷｅｂ接続用アプリ４３０のＡＰＩを介して取得、送信しても良い。
【００７１】
ボディ部９０２は、バージョン取得中である旨を示すためのＧＩＦ画像を表示するためのＨＴＭＬコンテンツのボディ部である。Ｗｅｂブラウザー４２０はボディ部９０２を読み込むことで、例えば、図１２（Ｃ）に示す処理中画面１２２０のような画面を表示する。バージョン確認のためのＪａｖａＳｃｒｉｐｔ９００では、主処理部９０１の処理中に時間が掛かることを想定し、Ｗｅｂブラウザー４２０がＵＩ表示部２０７へ処理中である旨を表示する。尚、ボディ部９０２では、ＧＩＦ画像を表示するのみであるが、これに限らず、別途ＪａｖａＳｃｒｉｐｔを用いて処理中画面表示させても良いし、別アプリの画面を表示させても良い。
【００７２】
以上が、Ｗｅｂアプリ４１０が、Ｗｅｂアプリ４１０のコンテンツ実行に必要なデバイス機能のバージョン情報を確認するためのＪａｖａＳｃｒｉｐｔの例である。図８の説明に戻る。
【００７３】
Ｗｅｂブラウザー４２０は、Ｗｅｂアプリ４１０からバージョン取得用のＪａｖａＳｃｒｉｐｔ９００を受け取ると、ＪａｖａＳｃｒｉｐｔ９００に従いＷｅｂアプリ４１０のコンテンツ実行に必要なデバイス機能のバージョンを取得する（Ｓ８０４）。Ｗｅｂブラウザーは指定されたデバイス機能のバージョン情報を取得すると、取得した情報をＷｅｂアプリ４１０へ送信する（Ｓ８０５）。尚、本実施形態では、図９で示した通り、ＪａｖａＳｃｒｉｐｔ９００の処理の中でバージョン取得と情報送信を実行する。
【００７４】
Ｗｅｂアプリ４１０は、Ｗｅｂブラウザー４２０からバージョン情報を受け取ると、Ｗｅｂアプリ４１０で必要なデバイス機能のバージョンと、情報処理装置１０１にインストール済みのデバイス機能のバージョンを比較する（Ｓ８０６）。比較の結果、Ｗｅｂアプリ４１０で必要なデバイス機能のバージョンが、情報処理装置１０１にインストール済みのデバイス機能のバージョンよりも新しい場合には、ステップ８０６の中で、情報処理装置１０１に対する構成変更要求も作成する。なおここでは、より新しいバージョンは古いバージョンに対して互換性を持つものとする。互換性がない場合には、Ｗｅｂアプリ４１０で必要なデバイス機能のバージョンと、情報処理装置１０１にインストール済みのデバイス機能のバージョンとが等しくなければ、ステップ８０６の中で、情報処理装置１０１に対する構成変更要求を作成する。その後、Ｗｅｂアプリ４１０が作成した構成変更要求をＷｅｂブラウザー４２０へ送信する（Ｓ８０７）。Ｗｅｂアプリ４１０が作成した構成変更要求は、例えば図１０で示すようなＪａｖａＳｃｒｉｐｔを利用することで実現する。ここで図１０を用いて構成変更要求を実現するＪａｖａＳｃｒｉｐｔの例を説明する。なお、情報処理装置１０１のデバイス機能の更新が不要な場合には、Ｓ８１８に遷移してＳ８０２で呼び出されたコンテンツをＷｅｂブラウザー４２０に返せばよい。
【００７５】
図１０は、Ｗｅｂアプリ４１０のコンテンツ実行に必要なデバイス機能を追加するための構成変更要求を示す例である。図１０で記載する構成変更要求１０００は、Ｗｅｂアプリ４１０が情報処理装置１０１のＷｅｂブラウザーに対するＨＴＭＬレスポンスに記載される。また構成変更要求１０００は、Ｗｅｂブラウザー４２０のスクリプト実行部４２４によって実行される。構成変更要求１０００は、ＪａｖａＳｃｒｉｐｔの主処理である主処理部１００１と、ＨＴＭＬコンテンツのボディ部１００４で構成される。
【００７６】
主処理部１００１は、構成変更をＷｅｂ接続アプリへ要求するための要求部１００２、及び要求した構成が情報処理装置１０１へ追加されるまでの状態監視をする状態監視部１００３を持つ。また主処理部１００１は、構成変更要求対象の定義、及び各処理を呼び出すように処理が記載される。図１０で示す主処理部１００１に従い、スクリプト実行部４２４は、Ｗｅｂアプリ４１０が必要とするデバイス機能のＩＤとバージョンを示す"ａｂｃ−１２３−Ｖ１１０"を追加する。尚、図１０における"ａｂｃ−１２３−Ｖ１１０"は、機能ＩＤ"ａｂｃ−１２３"とバージョン"Ｖ１１０"を示す文字列として記載しているが、この表記に関わらずキーバリュー型で記載しても良い。また図１０におけるデバイス機能ＩＤとバージョンは配列で定義されているため、複数の機能を追加できる。追加や更新が必要なデバイス機能はＷｅｂアプリ４１０によって判断され、構成変更要求１０００の主処理部１００１に埋め込まれる。尚、本実施形態において、デバイス機能の追加処理のみを記載しているが、これに限らず更新や削除、設定値の変更等が実行できても良い。
【００７７】
要求部１００２は、スクリプト実行部４２４が、Ｗｅｂ接続用アプリ４３０に対して指定されたデバイス機能の追加を要求する処理を示している。本実施形態において、要求部１００２の処理では、Ｗｅｂ接続用アプリ４３０が構成変更を外部に要求するためのＡＰＩを用意しており、そのＡＰＩを実行することでＷｅｂ接続用アプリ４３０へ要求を伝える。
【００７８】
状態監視部１００３は、要求部１００２を介して実行要求したデバイス機能の追加の実施状態を監視する処理を示している。本実施形態において状態監視部１００３は、ｓｅｔＴｉｍｅｏｕｔ関数によって一定時間経過後に呼び出される。その後、スクリプト実行部４２４は、情報処理装置１０１の持つヘルパー機能ＡＰＩを用いて指定のデバイス機能が追加完了したかを確認し、追加が完了している場合はもうＷｅｂアプリ４１０が提供するコンテンツを再表示する。一方、追加が完了していない場合は、再度一定期間経過後に状態監視部１００３を実行する。
【００７９】
ＨＴＭＬコンテンツのボディ部１００４は、構成変更処理中である旨を示すためのＧＩＦ画像を表示する。Ｗｅｂブラウザー４２０は１００４を読み込むことで、例えば、図１２（Ｃ）に示す処理中画面１２２０のような画面を表示する。構成変更要求１０００では、主処理部１００１の処理中に時間が掛かることを想定し、Ｗｅｂブラウザー４２０がＵＩ表示装置２０７へ処理中である旨を表示する。尚、１００４では、ＧＩＦ画像を表示するのみであるが、これに限らず、別途ＪａｖａＳｃｒｉｐｔを用いて処理中画面表示させても良いし、別アプリの画面を表示させても良い。
【００８０】
以上が、Ｗｅｂアプリ４１０が、Ｗｅｂアプリ４１０のコンテンツ実行に必要なデバイス機能を追加、及び追加完了を監視するためのＪａｖａＳｃｒｉｐｔの例である。図８の説明に戻る。
【００８１】
Ｗｅｂブラウザー４２０は、Ｗｅｂアプリ４１０から構成変更要求１０００を受け取ると、構成変更要求１０００に従いＷｅｂアプリ４１０のコンテンツ実行に必要なデバイス機能の追加要求（Ｓ８０８）と、デバイス機能の追加完了の状態監視を行う（Ｓ８０９）。Ｗｅｂブラウザー４２０は、デバイス機能の追加要求をＷｅｂ接続用アプリ４３０へ通知する際、ＨＴＭＬヘッダー情報から要求元Ｗｅｂアプリ４１０のＵＲＬを抜き出し、要求とともに渡す。
【００８２】
Ｗｅｂ接続用アプリ４３０は、Ｗｅｂブラウザー４２０から構成変更要求と要求元Ｗｅｂアプリ４１０のＵＲＬを受け取ると、構成変更条件の確認処理を行う（Ｓ８１０）。ここで構成変更条件の確認処理について図１１を用いて説明する。
【００８３】
図１１は、Ｗｅｂ接続用アプリ４３０の処理部４３５がＳ８１０で実行する、Ｗｅｂブラウザー４２０から要求元ＵＲＬとともに構成変更要求を受信した際の構成変更確認の処理フローである。
【００８４】
Ｓ１１００は、処理部４３５が、Ｗｅｂブラウザー４２０から要求元のＷｅｂアプリ４１０のＵＲＬが通知されているかを確認する処理である。要求元のＷｅｂアプリ４１０のＵＲＬが通知されている場合はＳ１１０１へ処理を移行し、通知されていない場合はＳ１１０４へ処理を移行する。
【００８５】
Ｓ１１０１は、処理部４３５が、Ｗｅｂ接続用アプリ４３０の保持する起動ＵＲＬ４３３と要求元のＵＲＬが一致するか否かを判断する処理である。ここで判断の対象とするＷｅｂ接続用アプリ４３０は、現在のアクセスのためにＷｅｂブラウザー４２０を起動したＷｅｂアプリであってよい。或いは、現在のアクセス先のＵＲＬと構成変更要求の送信元のＵＲＬが一致するか否かを判定してもよい。尚、Ｓ１１０１におけるＵＲＬの一致を確認は、ホスト名、及びドメインの組合せでの比較を想定しているが、これに限らず、例えばＷｅｂアプリ４１０からのヘッダー情報に起動ＵＲＬを記載して起動ＵＲＬ同士を比較しても良い。Ｓ１１０１にて起動ＵＲＬ４３３と要求元ＵＲＬが一致すると判断された場合はＳ１１０２へ処理を移行し、一致しないと判断された場合はＳ１１０４へ処理を移行する。Ｓ１１０１により、Ｗｅｂ接続用アプリ４３０によるアクセス先のＷｅｂアプリと、構成変更の要求元のＷｅｂアプリとが同一か否かが判定される。
【００８６】
Ｓ１１０２は、処理部４３５が、Ｗｅｂ接続用アプリ４３０のインストール時に管理者から自動構成変更の許可が出ているかを判断する処理であり、Ｗｅｂ接続用アプリ４３０が認可情報を保存しているか否かを判断する。ここで管理者からの自動構成変更許可の確認は図５のＳ５０５、Ｓ５０６において実施されており、認可が下りている場合は、図６のＳ７０３、Ｓ７０４の処理によってＷｅｂ接続用アプリ４３０に認可情報が保存される。認可情報が保存されている場合はＳ１１０３へ処理を移行し、保存されていない場合はＳ１１０４へ処理を移行する。
【００８７】
Ｓ１１０３は、処理部４３５が管理サーバー１０３に対し、Ｗｅｂアプリ４２０の指定する機能の追加を依頼する処理である。例えば、図１０で示したＷｅｂアプリ４２０からの構成変更要求１０００の場合は、機能ＩＤ"ａｂｃ−１２３"のバージョン"Ｖ１１０"のデバイス機能を追加するように依頼する。またＳ１１０３で管理サーバー１０３へ機能追加を依頼する際、処理部４３５は認可情報管理部４３４からＷｅｂ接続用アプリ４３０インストール時に保管した管理サーバー１０３へのＵＲＬや認証情報を取得し、取得した情報を用いて通信する。
【００８８】
Ｓ１１０４は、処理部４３５が、Ｗｅｂブラウザー４２０に対して構成変更を実行できない旨を通知する処理である。通知方法として、例えばＷｅｂブラウザー４２０へ例外を投げても良いし、Ｗｅｂブラウザーに通知用ＡＰＩを設けて、ＡＰＩを実行しても良い。
【００８９】
尚、本実施形態においてＷｅｂ接続用アプリ４３０が、直接管理サーバー１０３に対して構成変更を依頼しているが、これに限らず、Ｗｅｂブラウザー４２０から構成変更要求を依頼しても良い。またＷｅｂ接続用アプリ４３０は、構成変更機能４４０を介して管理サーバー１０３へ構成変更要求を依頼しても良い。以上が、Ｗｅｂ接続用アプリ構成変更条件の確認処理フローである。図８の説明に戻る。
【００９０】
Ｗｅｂ接続用アプリ４３０は、構成変更条件の確認が成功裡に完了すると、管理サーバー１０３へ構成変更を依頼する（Ｓ８１１、Ｓ１１０３）。
【００９１】
管理サーバー１０３は、Ｗｅｂ接続用アプリ４３０からの構成変更要求を受け付けると、構成変更処理部４５４によって構成変更指示を作成する（Ｓ８１２）。構成変更指示の作成については図５とほぼ同様のため、説明を省略する。図５における構成変更指示の作成との差は、管理者ログイン（Ｓ５００）がないことと、構成変更の対象としてＷｅｂ接続アプリを含まないことである。すなわちＳ８１２では、図5の手順が、Ｓ５０２、Ｓ５０３―Ｎｏ、Ｓ５０７、Ｓ５０８の順で実行される。管理サーバー１０３へのログインについては、管理サーバー１０３のためのアカウント情報を構成変更要求と共に送信してログイン手続きを実行してもよい。管理サーバー１０３は、構成変更指示の作成が完了すると、情報処理装置１０１の構成変更を管理する構成制御機能４４０に対し、構成変更指示を通知する（Ｓ８１３，Ｓ５０８）。
【００９２】
構成変更指示を受信した構成制御機能４４０は、管理サーバー１０３から受信した構成変更指示に従い、情報処理装置１０１の構成変更、つまりＷｅｂアプリ４１０が必要とするデバイス機能の追加、インストールなどの処理を行う（Ｓ８１６）。構成変更実行処理については図７と同様のため、説明を省略する。尚、本実施形態では、構成変更実行処理が完了しても特に何も操作しないが、管理サーバー１０３に対して構成変更結果を通知しても良い。
【００９３】
構成制御機能４４０による構成変更が完了すると、Ｓ８０９から構成変更の状態を監視していたＷｅｂブラウザー４２０が、次の処理、つまりＷｅｂアプリ４１０のトップページにアクセスして再取得する（Ｓ８１７）。
【００９４】
Ｗｅｂアプリ４１０は、Ｗｅｂブラウザー４２０からＷｅｂアプリ４１０のトップページの再呼び出しに対して、ＨＴＴＰコンテンツを返却する（Ｓ８１８）。
【００９５】
Ｗｅｂブラウザー４２０は、Ｓ８１８にて返却されたＷｅｂアプリのコンテンツをＷｅｂブラウザー４２０に表示する（Ｓ８１９）。
【００９６】
以上が、Ｗｅｂアプリ４１０から構成変更要求があった際の、Ｗｅｂアプリ利用可能とするまでの全体の処理である。
【００９７】
本実施形態において、Ｗｅｂアプリ４１０が必要とするデバイス機能の確認を、Ｗｅｂアプリ４１０の最初のアクセス時に実施しているが、これに限らず、Ｗｅｂアプリ４１０が提供するコンテンツを実際に使用する際にデバイス機能の確認をしても良い。また本実施形態において、デバイス機能をＷｅｂブラウザー４２０が確認しているが、これに限らず、Ｗｅｂ接続用アプリ４３０が確認しても良い。
【００９８】
以上、本実施形態によれば、Ｗｅｂアプリのバージョンアップに伴い、情報処理装置の機能追加や機能更新、設定変更などの構成変更が必要となった場合でも、管理者の手間をかけることなく自動で機能追加や機能更新が可能となる。
【００９９】
＜第２の実施形態＞
第１の実施形態では、情報処理装置１０１を管理サーバー１０３によって管理しており、機能追加が必要になった場合はＷｅｂ接続用アプリ４３０から管理サーバー１０３へ構成変更要求を出すことで情報処理装置１０１に対する構成変更を行う方法について述べた。しかしながら情報処理装置１０１の使用台数によっては、管理サーバー１０３を使用しないこともある。管理サーバー１０３を使用しない場合は、管理者によって手動で行うか、情報処理装置１０１のメーカーが用意するコンテンツ提供サーバーから必要なコンテンツを取得し構成変更を行うことが考えられる。本実施形態では、Ｗｅｂ接続用アプリ４３０において、どこに構成変更要求を出すかを判断する方法について述べる。尚、第２の実施形態では、第１の実施形態と同様の構成、内容の図面に対する説明は省略し、差異のある図面のみ説明する。
【０１００】
●Ｗｅｂ接続用アプリのインストール処理
図１３は、デバイス管理者が情報処理装置１０１に対してＷｅｂ接続用アプリ４３０をインストールする際の、構成変更の処理フローである。図１３に示す処理フローは、情報処理装置１０１が有するＣＰＵ２０１が制御プログラムを実行することにより実現される。
【０１０１】
Ｓ１３００は、構成変更処理部４４２が、情報処理装置１０１へログインしたユーザーがデバイス管理者としての権限を持っている、つまりデバイス管理者であるかを判断する処理である。デバイス管理者によるログインの場合はＳ１３０１へ処理を移行し、デバイス管理者でない場合は構成変更を実行できないため、本フローを終了する。
【０１０２】
Ｓ１３０１は、構成変更処理部４４２が、情報処理装置１０１のシステムの提供する操作画面（不図示）においてＷｅｂ接続用アプリ４３０の構成変更を指示したかを判断する処理である。構成変更とは、例えば、Ｗｅｂ接続用アプリ４３０のインストールを実行したり、設定値を変更したりする操作を指す。構成変更を指示した場合はＳ１３０２へ処理を移行し、指示していない場合は本処理を終了する。尚、図１３では構成変更指示以外の操作を行うと処理が終了してしまうが、構成変更指示以外の操作が行われた場合でも操作に応じた処理を行ってよい。
【０１０３】
Ｓ１３０２は、構成変更処理部４４２が、情報処理装置１０１に対して構成変更処理を実行する処理である。たとえばＷｅｂ接続用アプリ４３０がインストールされる。
【０１０４】
Ｓ１３０３は、構成変更処理部４４２が、構成変更処理の内容がＷｅｂ接続用アプリ４３０のインストールであるかを判断する処理である。Ｗｅｂ接続用アプリ４３０のインストールである場合はＳ１３０４へ処理を移行し、Ｗｅｂ接続用アプリ４３０のインストールで無い場合は処理を終了する。
【０１０５】
Ｓ１３０４は、構成変更処理部４４２が、デバイス管理者に対して、Ｗｅｂ接続用アプリ４３０のアクセス先であるＷｅｂアプリ４１０が構成変更を要求した際に自動で必要となる情報処理装置１０１の機能を追加または更新しても良いか、を確認する処理である。確認画面は、図１２（Ａ）で前述したものと同様のため説明を省略する。
【０１０６】
Ｓ１３０５は、構成変更処理部４４２が、Ｓ１３０４における認可確認の結果、デバイス管理者から自動で構成変更を実施しても良いと認可を得られたかを判断する処理である。構成変更要求の自動実施の認可を得られた場合はＳ１３０６へ処理を移行し、得られなかった場合は処理を終了する。
【０１０７】
Ｓ１３０６は、構成変更処理部４４２が、Ｗｅｂ接続用アプリ４３０に対して認可情報の生成を要求する処理である。Ｓ１３０６における認可トークンとは、デバイス管理者が自動更新を認可した旨が分かる情報であれば良い。本図では、この工程において、あるいは他の工程においても、管理サーバー１０３との通信が必要な場合は、管理サーバー１０３へのユーザー認証画面を表示する。認証後に管理サーバー１０３と通信して必要な処理を行えばよい。あらかじめ認証されて認可トークン等が与えられている場合には、それを用いて認証を済ませてもよい。
【０１０８】
Ｓ１３０７は、構成変更処理部４４２が、Ｗｅｂ接続用アプリ４３０のインストール要求元が、管理サーバー１０３からであるか、または情報処理装置１０１の提供する操作画面からであるかを判断し、要求元情報を認可情報とともに保存する処理である。尚、図１３の例では、情報処理装置１０１の操作画面からのインストール要求であるため、要求元が情報処理装置１０１であることを示す情報を要求元情報として保存する。要求元情報は、インストールしたＷｅｂ接続用アプリと関連付けて保存してもよい。認可情報についても、要求元情報と共に、インストールしたＷｅｂ接続用アプリと関連付けて保存してよい。一方、管理サーバー１０２からのインストール要求の場合、図５の手順が管理サーバー１０３で実行され、構成変更要求を受信した情報処理装置１０１によって図７で示す処理フローが実行される。
【０１０９】
以上により、事前準備として情報処理装置１０１に、Ｗｅｂアプリ４１０を利用するためのＷｅｂ接続用アプリ４３０をインストールできる。
【０１１０】
●情報処理装置の構成変更処理
次に、ユーザーがＷｅｂ接続用アプリ４３０からＷｅｂブラウザー４２０を介してＷｅｂアプリ４１０を利用する際に、Ｗｅｂアプリ４１０の変更に伴い、情報処理装置１０１の構成変更が必要になった際の処理について説明する。
【０１１１】
図１４は、本実施形態におけるＷｅｂアプリ４１０から構成変更要求があった際の全体の処理を示すシーケンスの一例である。図１４では、ユーザーによってＧＵＩボタン１２１４が押下された場合の処理を説明する。尚、図１４のＳ１４００からＳ１４０９までの処理は、図８におけるＳ８００からＳ８０９までと同様のため説明を省略する。
【０１１２】
Ｓ１４１０は、Ｗｅｂ接続用アプリ４３０の処理部４３５が、Ｗｅｂブラウザー４２０から構成変更要求と要求元Ｗｅｂアプリ４１０のＵＲＬを受け取り、構成変更条件の確認する処理である。Ｓ１４１０で認可情報が保存されていると判定されたなら、更にＳ１４１０の中で、Ｓ１３０７で保存した最初のインストール要求元を確認し、管理サーバー１０３へ構成変更の要求を依頼するのか、情報処理装置１０１内の構成制御部４４２に対して要求を出すのかを判断する。本実施形態では、Ｗｅｂ接続用アプリ４３０を情報処理装置１０１からインストールしたため、構成制御部４４２へ構成変更要求を出す（Ｓ１４１１）。なおＳ１４１０で、管理サーバー１０２からのインストール要求であると判断した場合には、図８のＳ８１１以下の処理を行う。
【０１１３】
Ｗｅｂ接続用アプリ４３０から構成変更要求を受け取った構成制御機能４４０は、構成変更要求に記載された追加対象のデバイス機能を解析し、必要な機能についてコンテンツサーバー（不図示）へコンテンツを要求する。コンテンツとは、ファームウェアやプラグインアプリケーション、ライセンス、設定値などの情報処理装置１０１へ適用するデータを指す。
【０１１４】
コンテンツサーバーは、情報処理装置１０１の要求するコンテンツを返す。尚、この際、コンテンツサーバーはコンテンツ要求元の情報処理装置１０１が、アクセスして良い装置であるかを確認しても良い。確認方法として、例えば情報処理装置１０１の証明書を用いたデバイス認証などが挙げられる。
【０１１５】
構成制御機能４４０は、コンテンツサーバーから適用対象のコンテンツを取得すると、取得したコンテンツを情報処理装置１０１へ適用する（Ｓ１４１４）。
【０１１６】
適用が完了するとＳ１４０９によって構成変更状態の監視をしていたＷｅｂブラウザー４２０は、再度Ｗｅｂアプリ４１０のトップページを呼び出し、操作画面を表示する（Ｓ１４１５、Ｓ１４１６、Ｓ１４１７）。
【０１１７】
本実施形態において、構成変更時に使用するコンテンツを構成制御機能４４０が取得したが、これに限らず、Ｗｅｂ接続用アプリ４３０がコンテンツを取得した後、構成制御機能４４０に対し、構成変更実行要求を出しても良い。また本実施形態において、コンテンツの取得先がコンテンツサーバーとしているが、これに限らず、Ｗｅｂサーバー１０２から必要なアプリケーション取得しても良い。
【０１１８】
以上が、Ｗｅｂアプリ４１０から構成変更要求があった際の、Ｗｅｂアプリ利用可能とするまでの全体の処理である。
【０１１９】
以上、本実施形態によれば、情報処理装置の管理状態に応じて、構成変更要求先を切り替えることが出来る。
【０１２０】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２１】
１００  ネットワーク、１０１  情報処理装置、１０２  Ｗｅｂサーバー、４１０  Ｗｅｂアプリ、４２０  Ｗｅｂブラウザー、４３０  Ｗｅｂ接続用アプリ、４４０  構成制御機能
【図１】
2019191823.tif 000003
【図２】
2019191823.tif 000004
【図３】
2019191823.tif 000005
【図４】
2019191823.tif 000006
【図５】
2019191823.tif 000007
【図６】
2019191823.tif 000008
【図７】
2019191823.tif 000009
【図８】
2019191823.tif 000010
【図９】
2019191823.tif 000011
【図１０】
2019191823.tif 000012
【図１１】
2019191823.tif 000013
【図１２】
2019191823.tif 000014
【図１３】
2019191823.tif 000015
【図１４】
2019191823.tif 000016