(57)【要約】      （修正有）【課題】情報処理装置にインストールするアプリケーションからその情報処理装置内のデバイスへのアクセスを容易に制限できるようにする。【解決手段】プロセス管理部１２９が、アプリデータ記憶部１２４からアプリケーションを読み出すＳ４１と共に、アクセス制限情報記憶部１２７からそのアプリケーションと対応するアクセス制限情報を読み出すＳ４２。プロセス管理部１２９は、読み出したアプリケーションのプロセス１３０を生成するＳ４３。その後、プロセス管理部１２９は、各ドライバ１３１、１３３、１３５に対し、プロセス１３０のプロセスＩＤを持つプロセスからのアクセス可否を設定させＳ４４、Ｓ４５、その設定の完了後にプロセス１３０の実行を開始するＳ４６。【選択図】図７
2017167781.tif 000002
【特許請求の範囲】
【請求項１】
デバイスドライバと、
アプリケーションプログラムのプロセスを生成するプロセス生成手段と、
前記アプリケーションプログラムと対応するアクセス制限情報を取得する取得手段と、
前記取得手段が取得したアクセス制限情報に基づき、前記デバイスドライバに対し、前記プロセス生成手段が生成したプロセスからのアクセス可否を設定する設定手段と、
前記設定手段による設定の完了後に、前記プロセス生成手段が生成したプロセスの実行を開始するプロセス実行手段とを備える情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記デバイスドライバは、アクセス否が設定されているプロセスから当該デバイスドライバが制御するデバイスへのアクセスを拒否することを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記デバイスドライバを複数備え、
前記アクセス制限情報は、前記各デバイスドライバについて該デバイスドライバに対するアクセス可否の情報を含み、
前記設定手段は、前記各デバイスドライバに対して、前記プロセス生成手段が生成したプロセスからのアクセス可否を設定することを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理装置であって、
前記アクセス制限情報は、アクセス可の場合に、対象のデバイスドライバが提供する機能のいずれへのアクセスを許可するかを示す情報を含み、
前記設定手段は、前記デバイスドライバに対し、前記プロセス生成手段が生成したプロセスから、該デバイスドライバが提供する機能のいずれへのアクセスを許可するかを設定することを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記アクセス制限情報は、デバイスドライバのタイプ毎に規定される、アクセスを許可する範囲を示す複数段階のアクセスレベルの１つを指定する情報であることを特徴とする情報処理装置。
【請求項６】
請求項１乃至５のいずれか一項に記載の情報処理装置であって、
第１サーバ装置にアクセスして前記アプリケーションプログラムを取得し、所定の第１記憶手段に記憶させるアプリ取得手段と、
第２サーバ装置にアクセスして前記アプリケーションプログラムと対応するアクセス制限情報を取得し、所定の第２記憶手段に記憶させる制限情報取得手段とを備えることを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記アプリケーションプログラムのプロセスを前記プロセス生成手段が生成しようとする場合に前記第１サーバ装置又は第２サーバ装置にアクセスするアクセス手段を備え、
前記アクセス手段による前記第１サーバ装置又は前記第２サーバ装置へのいずれかのアクセスに対して前記第１サーバ装置又は前記第２サーバ装置からの所定の応答がない場合に、
前記プロセス生成手段は、前記アプリケーションプログラムのプロセスの生成を中止することを特徴とする情報処理装置。
【請求項８】
請求項１乃至５のいずれか一項に記載の情報処理装置であって、
前記プロセス生成手段は、外部記憶手段に記憶されたアプリケーションプログラムのプロセスを生成し、
前記取得手段は、前記外部記憶手段から、前記アプリケーションプログラムと対応するアクセス制限情報を取得することを特徴とする情報処理装置。
【請求項９】
アプリケーションプログラムのプロセスを生成するプロセス生成手順と、
前記アプリケーションプログラムと対応するアクセス制限情報を取得する取得手順と、
前記取得手順で取得したアクセス制限情報に基づき、デバイスドライバに対し、前記プロセス生成手順で生成したプロセスからのアクセス可否を設定する設定手順と、
前記設定手順による設定の完了後に、前記プロセス生成手順で生成したプロセスの実行を開始するプロセス実行手順とを備える情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来より、ＭＦＰ（デジタル複合機）等の情報処理装置に新たな機能を追加するために、外部からアプリケーションをダウンロードしてインストールすることが行われている。
この点に関連する技術として、特許文献１には、インストールするアプリケーションに署名を付与しておき、署名の検証結果に問題がない場合にのみアプリケーションのインストールを実行する方法が記載されている。
また、インストール先の機器が、その機器が有する機能のうちインストールしたアプリケーションが利用する種類を登録しておき、ユーザに対し、そのユーザが利用を許可されていない機能を利用するアプリケーションを利用させないようにする技術も記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、ＭＦＰ等の情報処理装置にインストールしたアプリケーションは、その情報処理装置のハードウェアを用いて動作する。この動作には、例えばＮＡＮＤ型フラッシュメモリに対するデータの書き換えなど、実行回数に応じてハードウェアを劣化させるような動作が含まれる可能性がある。特に、アプリケーションが組み込みシステムようのソフトウェアであることを意識せずに作られている場合、ＮＡＮＤ型フラッシュメモリをＨＤＤ（ハードディスクドライブ）等の読み書き回数の特段の制限のない記憶媒体かのように用いてしまい、ハードウェアの寿命に悪影響を与えてしまうことも考えられる。
また、これ以外の点でも、セキュリティ保持等の観点から、アプリケーションによるインストール先情報処理装置内のデバイスに対するアクセスを制限したいという要求もあった。
【０００４】
この発明は、このような事情に鑑みてなされたものであり、情報処理装置にインストールするアプリケーションからその情報処理装置内のデバイスへのアクセスを容易に制限できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
以上の目的を達成するために、この発明による情報処理装置は、デバイスドライバと、アプリケーションプログラムのプロセスを生成するプロセス生成手段と、上記アプリケーションプログラムと対応するアクセス制限情報を取得する取得手段と、上記取得手段が取得したアクセス制限情報に基づき、上記デバイスドライバに対し、上記プロセス生成手段が生成したプロセスからのアクセス可否を設定する設定手段と、上記設定手段による設定の完了後に、上記プロセス生成手段が生成したプロセスの実行を開始するプロセス実行手段とを備えることとしたものである。
【０００６】
上記の構成によれば、情報処理装置にインストールするアプリケーションからその情報処理装置内のデバイスへのアクセスを容易に制限することができる
【図面の簡単な説明】
【０００７】
【図１】この発明の情報処理装置の第１実施形態であるＭＦＰの利用状態の一例を示す図である。
【図２】図１に示すＭＦＰのハードウェア構成を示す図である。
【図３】ＭＦＰが備える機能の構成を示すブロック図である。
【図４】図１に示す第１サーバ装置のハードウェア構成を示す図である。
【図５】第１サーバ装置にアプリケーションを登録し、第２サーバ装置にアクセス制限情報を登録する際の各装置の動作の一例を示すシーケンス図である。
【図６】ＭＦＰにアプリケーションをインストールし、アクセス制限情報を登録する際の各装置の動作の一例を示すシーケンス図である。
【図７】ＭＦＰがアプリケーションを実行する際の各部の操作の一例を示すシーケンス図である。
【図８】この発明の情報処理装置の第２実施形態であるＭＦＰの利用状態の一例を示す、図１と対応する図である。
【図９】図８に示す端末装置の外部記憶装置であるＳＤカードに起動プログラムを作成する場合の各装置の動作の一例を示すシーケンス図である。
【図１０】第１実施形態の変形例においてＭＦＰのＣＰＵが実行する処理のフローチャートである。
【発明を実施するための形態】
【０００８】
〔第１実施形態：図１乃至図７〕
以下、本発明の第１実施形態について、図１乃至図７を用いて説明する。
まず図１に、この発明の情報処理装置の第１実施形態であるＭＦＰ１０（Multi  Function  Peripheral：デジタル複合機）の利用状態の一例を示す。
図１に示すように、ＭＦＰ１０は、典型的には、第１サーバ装置２０及び第２サーバ装置３０とネットワークＡを介して相互に通信可能な状態で利用される。ネットワークＡは、ローカルエリアネットワーク、インターネット等、有線無線を問わず任意の通信手段により構成される任意のネットワークでよい。またここでは、ピアツーピア通信による通信経路でもよいものとする。
【０００９】
第１サーバ装置２０には、ＭＦＰ１０にインストール可能な１以上のアプリケーションプログラム（以下「アプリ」ともいう）が登録されている。また、第２サーバ装置３０には、第１サーバ装置２０に登録されている各アプリについて、該アプリにインストール先装置（例えばＭＦＰ１０）が備えるデバイスに対するアクセスを許可するか否かを想定されるデバイス毎に規定したアクセス可否の情報（以下、「アクセス制限情報」という。）が登録されている。このアクセス制限情報については後に詳述する。
【００１０】
第１実施形態では、ＭＦＰ１０は、ネットワークＡを介して、第１サーバ装置２０にアクセスしてアプリをダウンロードすると共に、そのアプリに関するアクセス制限情報を第２サーバ装置３０にアクセスして取得する。ＭＦＰ１０は、インストールしたアプリを実行する際には、第２サーバ装置３０から取得した、そのアプリに関するアクセス制限情報を基に、各ドライバへのアクセスの可否を決定する。
なお、これらの処理の手順については、図５乃至図７で説明する。
【００１１】
先ず、図２を用いて、図１に示すＭＦＰ１０のハードウェア構成を説明する。
ＭＦＰ１０は、ＣＰＵ（Central  Processing  Unit）１０１、ＲＯＭ（Read  Only  Memory）１０２、ＲＡＭ（Random  Access  Memory）１０３、ストレージ１０４、通信Ｉ／Ｆ（Inter  Face）１０５、パネルＩ／Ｆ１０６、エンジンＩ／Ｆ１０７を備え、これらをシステムバス１１２により接続した構成としている。また、パネルＩ／Ｆ１０６には操作部１０８及び表示部１０９が、エンジンＩ／Ｆ１０７にはスキャナエンジン１１０及びプリンタエンジン１１１がそれぞれ接続される。
【００１２】
そして、ＣＰＵ１０１が、ＲＡＭ１０３をワークエリアとしてＲＯＭ１０２或いはストレージ１０４に記憶されたプログラムを実行することにより、後述する種々の処理を実現する。なお、ストレージ１０４は、ＨＤＤ（Hard  Disk  Drive）やＮＡＮＤ型フラッシュメモリにより構成することができる。
パネルＩ／Ｆ１０６は、操作部１０８と表示部１０９をシステムバス１１２に接続し、ＣＰＵ１０１から制御可能とするためのインタフェースである。
【００１３】
操作部１０８は、ユーザからの操作を受け付けるための操作手段である。各種ボタンやスイッチの他、タッチパネルを備え、表示部１０９が表示する画像に対する操作（ＧＵＩ（グラフィカルユーザインタフェース）に対する操作等）を受け付けることができる。
なお、ＭＦＰ１０がユーザからの操作を直接受ける必要がない（通信Ｉ／Ｆ１０５を介して接続された外部装置により操作を受け付ければよい）場合には、操作部１０８を設けなくてもよい。
【００１４】
エンジンＩ／Ｆ１０７は、スキャナエンジン１１０及びプリンタエンジン１１１をシステムバス１１２に接続し、ＣＰＵ１０１から制御可能とするためのインタフェースである。また、スキャナエンジン１１０は、所定の載置台に載置された原稿の画像を読み取ってその画像の内容を示す画像データを出力する機能を備えた画像読取手段である。プリンタエンジン１１１は、入力された画像データに基づき用紙に画像を形成する画像形成手段である。このスキャナエンジン１１０及びプリンタエンジン１１１は、公知の構成でよい。
【００１５】
この実施形態の特徴的な点の一つは、ＭＦＰ１０がインストールされたアプリを実行する際に、そのアプリケーション毎に予め用意されたアクセス制限情報に基づいて、ＭＦＰ１０が備えるデバイスドライバに対してアプリからのアクセス可否を設定し、デバイスドライバにそのアクセス可否を制御させる点にある。以下、この点について詳細に説明する。
【００１６】
まず図３に、ＭＦＰ１０が備える、アプリのインストール及び実行に関する機能の構成を示す。図３には、上述したアクセス可否の設定に関連する機能を中心に示している。また、図３に示す機能は、ＣＰＵ１０１が所要のプログラムを実行することにより図２に示した各種ハードウェアを制御して実現される機能、あるいは図２に示した各種ハードウェアにより提供される機能である。
【００１７】
ＭＦＰ１０は、アプリのインストールに関する機能として、アプリ要求部１２１、署名検証部１２２、アプリ登録部１２３、アプリデータ記憶部１２４、アクセス制限情報要求部１２５、アクセス制限情報登録部１２６、アクセス制限情報記憶部１２７を備える。また、アプリの実行に関する機能として、アプリ実行要求受付部１２８、プロセス管理部１２９、起動プログラム１２９ａ、ＮＡＮＤドライバ１３１、ＮＡＮＤ１３２、ＨＤＤドライバ１３３、ＨＤＤ１３４、ネットワークドライバ１３５及びネットワーク１３６を備える。
【００１８】
また、ＮＡＮＤドライバ１３１、ＨＤＤドライバ１３３及びネットワークドライバ１３５は、それぞれアクセス管理部１３１ａ、１３３ａ及び１３５ａを備えている。なお、説明を簡易にするため、ここでは、デバイスドライバの例としてＮＡＮＤドライバ１３１、ＨＤＤドライバ１３３及びネットワークドライバ１３５を、デバイスドライバにより制御されるデバイスの例としてＮＡＮＤ１３２、ＨＤＤ１３４及びネットワーク１３６を図示している。しかし、その他のドライバ及びデバイスを備えていてもよいことは、もちろんである。
【００１９】
図３に示したアプリ要求部１２１は、アプリの取得先として予め登録されるか又は必要に応じて指定された外部装置（例えば第１サーバ装置２０）にアクセスして、その外部装置に予め登録されているアプリの取得を要求し、その要求に応じて送信される署名付きアプリを受信する機能を備える。なお、アプリケーションの取得要求先の装置は、ＭＦＰ１０が接続するネットワークに接続していればよく、第１サーバ装置２０に限られるものではない。
署名検証部１２２は、アプリ要求部１２１が受信した署名付きアプリの署名を検証する機能を備える。なお、署名の検証方法は公知のものを用いればよい。署名の検証結果はアプリ登録部１２３に通知する。
【００２０】
アプリ登録部１２３は、署名検証部１２２が通知する検証結果が検証成功の場合に、取得したアプリのインストールを実行する機能を備える。なお、検証不成功の場合は、インストールを実行しない。アプリのインストールは、アプリのデータをアプリデータ記憶部１２４に記憶させることで、行うことができる。
アプリデータ記憶部１２４は、アプリ登録部１２３がインストールするアプリのデータを記憶する、第１記憶手段の機能を備える。アプリデータ記憶部１２４は、ストレージ１０４の記憶領域に設けることができる。
【００２１】
アクセス制限情報要求部１２５は、アクセス制限情報の取得先として予め登録されるか又は必要に応じて指定された外部装置（例えば第２サーバ装置３０）にアクセスし、アプリ登録部１２３がインストールしたアプリと対応するアクセス制限情報を要求して取得する機能を備える。なお、アクセス制限情報の取得先の装置は、ＭＦＰ１０が接続するネットワークに接続していればよく、第２サーバ装置３０に限られるものではない。インストールするアプリにアクセス先の情報が含まれていてもよい。
アクセス制限情報要求部１２５は取得先装置からアクセス制限情報を受信すると、これをアクセス制限情報登録部１２６に渡す。
【００２２】
アクセス制限情報登録部１２６は受け取ったアクセス制限情報をアクセス制限情報記憶部１２７に記憶させることによって、登録する機能を備える。
アクセス制限情報記憶部１２７は、アクセス制限情報登録部１２６が取得したアクセス制限情報を記憶する、第２記憶手段の機能を備える。アクセス制限情報記憶部１２７も、ストレージ１０４の記憶領域に設けることができる。
以上が、アプリのインストールに関する機能である。
【００２３】
次に、アプリの実行に関する機能について説明する。
アプリ実行要求受付部１２８はアプリの実行要求を受け付けると共に、その受け付けた実行要求をプロセス管理部１２９に通知する機能を備える。なお、アプリの実行要求元は、ユーザ、外部装置、ＭＦＰ１０が実行するプログラムなど、種々のものが考えられる。
プロセス管理部１２９はアプリ実行要求受付部１２８から通知されたアプリ実行要求に応じて、実行要求の対象となっているアプリをアプリデータ記憶部１２４から取得して起動プログラム１２９ａに実行させる機能を備える。
【００２４】
起動プログラム１２９ａはプロセス管理部１２９に備えられており、起動したアプリのプロセス１３０を生成するプロセス生成手段の機能と、その生成したプロセス１３０に対しＯＳ（オペレーティングシステム）が割り当てるプロセスＩＤを取得する機能を備える。また、生成したプロセス１３０の実行を開始するプロセス実行手段の機能も備える。
また、プロセス管理部１２９、起動したアプリに関するアクセス制限情報をアクセス制限情報記憶部１２７から取得し、そのアクセス制限情報に基づき、各ドライバ１３１，１３３，１３５に対し、生成したプロセスからのアクセスを許可してよいか否かを設定する設定手段の機能を備える。
【００２５】
プロセス１３０は、ＭＦＰ１０のメモリに生成されたアプリの実行イメージであり、これを実行することにより、アプリの機能が実現される。また、その実行に当たってＭＦＰ１０が備えるデバイスを利用する場合、プロセス１３０は、そのデバイスを制御するデバイスドライバに対してデバイスへのアクセスを要求する。このアクセス要求には、要求元プロセスのプロセスＩＤが含まれる。
【００２６】
ＮＡＮＤドライバ１３１、ＨＤＤドライバ１３３、ネットワークドライバ１３５の各デバイスドライバは、ＮＡＮＤ１３２、ＨＤＤ１３４、ネットワーク１３６を制御する機能を備える。これらの機能は、デバイスドライバプログラムにより実現される。
各デバイスドライバ１３１，１３３，１３５は、それぞれアクセス管理部１３１ａ，１３３ａ，１３５ａを備える。アクセス管理部１３１ａ，１３３ａ，１３５ａは、プロセス管理部１２９によりなされた設定に基づき、プロセス１３０から制御対象のデバイスへのアクセス可否を、プロセスＩＤに基づき制御する。あるプロセスＩＤを持つプロセスからのアクセスを拒否すべきことが設定されている場合、アクセス管理部１３１ａ，１３３ａ，１３５ａは、そのプロセスＩＤが含まれるアクセス要求を拒否する。アクセスを許可すべきことが設定されているか又は何も設定されていないプロセスＩＤが含まれるアクセス要求を受けた場合、アクセス管理部１３１ａ，１３３ａ，１３５ａは、その要求に従って制御対象のデバイスにアクセスし、その結果を要求元に返す。
【００２７】
ＮＡＮＤ１３２はＮＡＮＤ型フラッシュメモリ、ＨＤＤ１３４はハードディスクドライブ（補助記憶装置）、ネットワーク１３６は通信ネットワークである。
以上が、アプリの実行に関する機能についての説明である。
【００２８】
次に図４に、図１に示す第１サーバ装置２０のハードウェア構成を示す。
第１サーバ装置２０は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、通信Ｉ／Ｆ２０５及びパネルＩ／Ｆ２０６を備え、これらをシステムバス２０９により接続した構成としている。る。また、パネルＩ／Ｆには、操作部２０７及び表示部２０８が接続する。
【００２９】
ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、通信Ｉ／Ｆ２０５、パネルＩ／Ｆ２０６、操作部２０７及び表示部２０８については、図２のＭＦＰ１０において説明したものと同じであるので、ここでは説明を省略する。
また、図１に示す第２サーバ装置３０のハードウェア構成であるが、図４に示すものと基本的に同じであるので、ここでは説明は省略する。但し、第２サーバ装置３０がネットワークＡを介して行う通信の通信先は、ＭＦＰ１０及び第１サーバ装置２０、その他の外部装置となる。
【００３０】
次に、以上説明してきたＭＦＰ１０、第１サーバ装置２０及び第２サーバ装置３０が実行する動作について説明する。
まず図５に、任意の管理者Ｘの要求に基づき、アプリケーションを第１サーバ装置２０に登録し、対応するアクセス制限情報を第２サーバ装置３０へ登録する際の各装置の動作を示す。なお、以降の図も含め、各シーケンス図に示す各装置の動作は、各装置のＣＰＵが所要のプログラムを実行することにより当該装置の所要のハードウェアを制御して行うものである。
図５の動作においては、まず管理者Ｘが、アプリを第１サーバ装置２０へ送信し、その登録を要求する（Ｓ１１）。第１サーバ装置２０は、その要求に基づき、送信されたアプリに署名を付与して登録する（Ｓ１２）と共に、そのアプリに、当該アプリをＭＦＰ１０等のダウンロード先装置にインストールする際に用いるインストールパスを割り当てる（Ｓ１３）。そして、割り当てたインストールパスを管理者Ｘへ通知する（Ｓ１４）。
【００３１】
管理者Ｘは、インストールパスを受け取ると、登録したアプリに関するアクセス制限情報を作成するため、アクセステンプレートを第２サーバ装置３０に要求する（Ｓ１５）。アクセステンプレートとは、アクセス制限情報を作成するために管理者Ｘが用いることができる雛形である。
第２サーバ装置３０は、上記要求に応じてアクセステンプレートを管理者Ｘに提供するＳ１６）。管理者Ｘは、そのテンプレートを用いて、アクセス制限情報を作成する（Ｓ１７）。アクセステンプレートを用いたアクセス制限情報の作成については、表１乃至表６を用いて、後述する。ただし、アクセステンプレートを用いることは必須ではない。
管理者Ｘは、アクセス制限情報の作成が終わると、第２サーバ装置３０に対し、ステップＳ１４で入手したインストールパスとそのアクセス制限情報とを送信して、アクセス制限情報の登録を要求する（Ｓ１８）。
【００３２】
第２サーバ装置３０は、ステップＳ１８の要求を受け付けると、受け取ったアクセス制限情報をインストールパスと共に第１サーバ装置２０へ送信して、アクセス制限情報への署名を要求する（Ｓ１９）。第１サーバ装置２０は、この要求に応じ、インストールパスと対応するアプリに付したものと同種の署名を、アクセス制限情報に付し（Ｓ２０）、署名済みのアクセス制限情報を第２サーバ装置３０へ送信する（Ｓ２１）。第２サーバ装置３０は、その署名済みアクセス制限情報を、ステップＳ１８で受け取ったインストールパスと対応付けて登録する（Ｓ２２）。
以上で、任意の管理者Ｘによる新規のアプリの第１サーバ装置２０への登録及びそのアクセス制限情報の第２サーバ装置３０への登録が完了する。以後、ＭＦＰ１０はこれらのアプリ及びアクセス制限情報をこれらのサーバ装置からダウンロードしてインストールすることができる。
【００３３】
なお、上述の実施形態では、アプリケーションの登録先を第１サーバ装置２０、アクセス制限情報の設定登録先を第２サーバ装置３０に分けているが、必ずしも２つのサーバ装置に分ける必要はなく、１のサーバ装置で両者の登録を行うようにしてもよい。
【００３４】
次に、上述したアクセステンプレートと、そのアクセステンプレートを用いたアクセス制限情報の作成について表１乃至表６を用いて説明する。
下記の表１は、図５のステップＳ１６で、第２サーバ装置３０が管理者Ｘに提供するアクセステンプレートの一例である。
【００３５】
【表１】
2017167781.tif 000003
【００３６】
アクセステンプレートには、ＭＦＰ１０等のアプリのインストール先装置が備え得ると想定されるデバイスと、そのデバイス毎のアクセスタイプが規定される。想定されるデバイスが「Ｎａｎｄ」「ＮＶＲＡＭ」「ＨＤＤ」「ネットワーク」「プリンタ」「スキャナ」「ファックシミリ」であるとして説明する。
また、テンプレートは、アクセスレベルがブランク状態となっている。
アクセスレベルとは、デバイスについて、アクセスを許可する範囲を複数段階のレベルに分けて示したものである。各アクセスレベルにおいてアクセスを許可する範囲については、アクセスタイプ毎に予め規定しておき、そのテーブルを作成して、第２サーバ装置３０にアプリテンプレートと同様に保存しておく。
【００３７】
下記の表２乃至表４に、アクセスタイプ毎に、設定し得るアクセスレベルとそのアクセスレベルでアクセスを許可する範囲を定義したテーブルの一例を示した。
【００３８】
【表２】
2017167781.tif 000004
【００３９】
表２は、アクセスタイプが「ストレージ」の場合の、アクセスレベルを定義するテーブルの一例である。ここで、アクセスタイプの「ストレージ」とは、デバイスが記憶装置である場合を想定したタイプである。しかし、記憶装置以外のデバイスに適用することも妨げられない。以下に説明する他のアクセスタイプについても同様である。
アクセスレベルは、ここではＬＥＶＥＬ０〜２の３段階に分け、「ＬＥＶＥＬ０」は「デバイスからの読出し、デバイスへの書込み共に不可」、「ＬＥＶＥＬ１」は「デバイスからの読出しのみ可」、「ＬＥＶＥＬ２」は「デバイスからの読出し、デバイスへの書込共に可」と定義されている。
【００４０】
【表３】
2017167781.tif 000005
【００４１】
表３は、アクセスタイプが「通信」の場合の、アクセスレベルのテーブルの一例である。ここで、アクセスタイプの「通信」とは、デバイスが通信装置である場合想定したタイプである。アクセスレベルはここでもＬＥＶＥＬ０〜２の３段階に分け、「ＬＥＶＥＬ０」は「通信機能、通信に関する諸設定の設定機能共に使用不可」、「ＬＥＶＥＬ１」は「通信機能のみ使用可」、「ＬＥＶＥＬ２」は「通信機能、設定機能共に使用可能」と定義されている。
【００４２】
【表４】
2017167781.tif 000006
【００４３】
表４は、アクセスタイプが「ファンクション」の場合の一例であり、ここで、アクセスタイプが「ファンクション」とは、デバイスがプリンタ、スキャナ、ファックス等、特定用途の機能を提供するものである場合を装置したタイプである。アクセスレベルはここではＬＥＶＥＬ０〜２の３段階に分ける。「ＬＥＶＥＬ０」は「対応するデバイスの機能及びその機能に関する設定機能共に使用不可」、「ＬＥＶＥＬ１」は「対応するデバイスの機能のみ使用可」、「ＬＥＶＥＬ２」は「対応するデバイスの機能及びその機能に関する設定機能共に使用可」と定義されている。
【００４４】
表２乃至表４のテーブルは第２サーバ装置３０にアクセステンプレートと共に保存されている。なお、表２乃至表４のテーブルは一例にすぎず、レベルの度合いをどこまで分けるか、レベル毎に制限される内容の定義は、これに限られるものではない。
【００４５】
第２サーバ装置３０は、これらのアクセスレベルを定義したテーブルを、アクセステンプレートと共に任意の管理者Ｘに通知する。任意の管理者Ｘは、これらのテーブルを基に、デバイス毎にアクセスレベルのＬＥＶＥＬ０乃至２のいずれか１を指定することで、アクセス制限情報を容易に作成することができる。
下記の表５は、管理者Ｘがアクセステンプレートを用いて作成したアクセス制限情報の一例である。
【００４６】
【表５】
2017167781.tif 000007
なお、アクセス制限情報は、表２乃至表４のようなアクセスレベルを用いずに、単に、デバイス自体へのアクセスの可否のみを設定するようにしてもよい。下記の表６は、そのようにしてアクセス制限情報を作成した場合の一例である。また、アクセス制限情報は、アクセステンプレートを用いずに作成することもできる。
【００４７】
【表６】
2017167781.tif 000008
【００４８】
次に、図６に、ＭＦＰ１０がアプリをダウンロードし、インストールする場合の各装置の動作を示す。
この動作は、ユーザ（管理者を含む）、外部装置、ＭＦＰ１０内の他のプログラム等により、アプリのインストールが要求された場合に開始される。
図６の動作においては、まずＭＦＰ１０が、検出したインストール要求に従い、第１サーバ装置２０にアプリの取得要求を行う（Ｓ３１）。このとき、取得したいアプリをその名称、ＩＤ、インストールパスなど、何らかの手段で特定する。第１サーバ装置２０は、ステップＳ３１の要求を受け付けると、特定されたアプリの署名付きデータ（図５のステップＳ１２で登録されたもの）を要求元のＭＦＰ１０に送信する（Ｓ３２）。この署名付きデータには、インストールパスの情報が含まれる。
【００４９】
ＭＦＰ１０はアプリの署名付きデータを受信すると、その署名を検証する（Ｓ３３）。そして、署名の検証が成功すると、第２サーバ装置３０に対して、署名付きデータに含まれていたインストールパスを通知し、そのインストールパスと対応するアクセス制限情報の取得を要求する（Ｓ３４）。第２サーバ装置３０は、この要求を受け付けると、該当のインストールパスと対応して登録されているアクセス制限情報（図５のステップＳ２１で登録されたもの）を要求元のＭＦＰ１０に送信する（Ｓ３５）。
ＭＦＰ１０は、このアクセス制限情報を取得すると、署名を検証した上で（Ｓ３６）、アクセス制限情報記憶部１２７に記憶させることで、登録する（Ｓ３７）。
【００５０】
また、ＭＦＰ１０は、アプリデータ記憶部１２４の、インストールパスとして示されるパスにアプリを登録することにより、アプリのインストールを実行する（Ｓ３８）。
以上が、ＭＦＰ１０がアプリをダウンロードし、インストールする動作である。
この動作では、ステップＳ３３の署名検証は成功したものとして説明をしているが、ステップＳ３３で署名の検証が失敗した場合は、この処理はステップＳ３３で終了し、アプリのＭＦＰ１０へのインストールは実行されない。
上記の動作において、ＭＦＰ１０のＣＰＵ１０１は、ステップＳ３１、Ｓ３２及びＳ３８でアプリ取得手段として機能し、ステップＳ３４、Ｓ３５及びＳ３７で制限情報取得手段として機能する。
【００５１】
次に、図７に、ＭＦＰ１０がインストール済みのアプリを実行する場合のＭＦＰ１０内の各部の動作を示す。
なお、この動作は、ユーザ（管理者を含む）、外部装置、ＭＦＰ１０内の他のプログラム等により、アプリの実行が要求された場合に開始される
【００５２】
図６の動作においては、まずプロセス管理部１２９が、実行を要求されたアプリのデータをアプリデータ記憶部１２４から読み出し（Ｓ４１）、そのアプリと対応するアクセス制限情報をアクセス制限情報記憶部１２７から読み出す（Ｓ４２）。この動作において、プロセス管理部１２９は、取得手段として機能する。また、ステップＳ４２の動作は、取得手順の動作である。
【００５３】
次に、プロセス管理部１２９は、起動プログラム１２９ａを用いて、読み出したアプリのプロセス１３０を生成すると共に、その生成したプロセスに付されたプロセスＩＤを取得する（Ｓ４３）。この動作において、プロセス管理部１２９はプロセス生成手段として機能する。また、このステップＳ３３の動作は、プロセス生成手順の動作である。
【００５４】
次に、プロセス管理部１２９は、ＮＡＮＤドライバ１３１、ＨＤＤドライバ１３３、およびネットワークドライバ１３５の各デバイスドライバに対し、ステップＳ４３で取得したプロセスＩＤと、ステップＳ４２で取得したアクセス制限情報に基づき各デバイスドライバ設定させるべきアクセス可否の情報とを通知して、アクセス可否の設定を要求する（Ｓ４４）。
なお、ここでは、ドライバ毎のアクセス可否は、ＮＡＮＤアクセス可、ＨＤＤアクセス不可、ネットワークアクセス不可とする。これらの情報が、それぞれ対応するドライバ１３１，１３３，１３５に通知される。
また、説明を簡易にするために、図７にはデバイスドライバは上述した３つしか記載していないが、これ以外のドライバを含むものであってよい。
【００５５】
このステップＳ４４の要求を受けたＮＡＮＤドライバ１３１、ＨＤＤドライバ１３３、及びネットワークドライバ１３５は、それぞれのアクセス可否をプロセスＩＤと紐付けて設定する（Ｓ４５）。
以上のステップＳ４４及びＳ４５の動作において、プロセス管理部１２９は設定手段として機能する。また、これらの動作は、設定手順の動作である。
【００５６】
プロセス管理部１２９は、ステップＳ４５のアクセス可否の設定が完了したことを確認すると、起動プログラム１２９ａを用いて、プロセス１３０の実行を開始する（Ｓ４６）。この動作において、プロセス管理部１２９は、プロセス実行手段として機能する。また、この動作はプロセス実行手順の動作である。
【００５７】
プロセス１３０は、動作に際してＭＦＰ１０が備えるデバイスへのアクセスが必要な場合、そのデバイスを制御するデバイスドライバに対し、プロセスＩＤを含むアクセス要求を行う（Ｓ４７，Ｓ５０，Ｓ５２）。各デバイスドライバは、このアクセス要求に対し、ステップＳ４５で設定したアクセス可否の設定に従い、アクセスの許可又は拒否を行う。
ＮＡＮＤドライバ１３１は、プロセス１３０のプロセスＩＤについてアクセス可が設定されているため、プロセス１３０からのアクセス要求を受け付けると（Ｓ４７）、その要求に応じてＮＡＮＤ１３２にアクセスする（Ｓ４８）。そして、その結果をプロセス１３０に応答する（Ｓ４９）。
【００５８】
一方、ＨＤＤドライバ１３３は、プロセス１３０のプロセスＩＤについてアクセス否が設定されているため、プロセス１３０からのアクセス要求を受け付けると（Ｓ５０）、アクセスを拒否し、アクセス不可の応答をする（Ｓ５１）。
また、ネットワークドライバ１３５もプロセス１３０のプロセスＩＤについてアクセス否が設定されているため、プロセス１３０からのアクセス要求を受け付けると（Ｓ５２）、アクセスを拒否し、アクセス不可の応答をする（Ｓ５３）。
なお、ステップＳ４７、Ｓ５０及びＳ５２のアクセス要求は、この順である必要はなく、必要に応じて随時行うことができる。また、ステップＳ５１、Ｓ５３のアクセス不可応答は必ずしも行う必要はなく、アクセス不可の場合は何の応答もしないようにしてもよい。
以上が、ＭＦＰ１０がインストール済みのアプリを実行する場合の動作である。
【００５９】
以上説明してきた実施形態のＭＦＰ１０においては、アプリと対応するアクセス制限情報に基づき、必要なデバイスドライバに対し、アプリのプロセスからのアクセス可否の設定を完了した後で、アプリのプロセスの実行を開始する。従って、アプリからデバイスへのアクセスを制限したい場合、その旨のアクセス拒否の情報をアクセス制限情報として記述しておくことにより、ＭＦＰ１０の内部で容易にアクセス制限を行うことができる。
例えば、ＮＡＮＤ１３２へのアクセスを制限すれば、アプリの機能によりＮＡＮＤ１３２に多数回の書き換えがなされ、ＮＡＮＤ１３２の寿命が縮んでしまうことを防止できる。
【００６０】
また、アクセス制限情報が、アクセス可の場合に、対象のデバイスドライバが提供する機能のいずれへのアクセスを許可するかを示す情報を含むようにし、その情報に基づきアクセス可否を設定するようにすれば、より柔軟なアクセス制限が可能となる。
アクセス制限情報を、デバイスドライバのタイプ毎に規定される、アクセスを許可する範囲を示す複数段階のアクセスレベルの１つを指定する情報とすれば、管理者が容易にアクセス制限情報を作成することができる。
【００６１】
〔第２実施形態：図８乃至図９〕
次に、図８乃至図１０を用いて、この発明の第２実施形態について説明する。
図８は、図１に対応する図である。第２実施形態では、図８に示すように、ＭＦＰ１０がネットワークＢに接続されていない状態にある。このため、ＭＦＰ１０は第１サーバ装置２０及び第２サーバ装置３０と接続することができない。
この実施形態の特徴的な点の一つは、そのような場合であっても、ネットワークＢに接続する端末装置４０を用いて、ＭＦＰ１０にインストールするアプリ及び対応するアクセス制限情報を記憶した可搬性記憶媒体５０を作成し、その可搬性記憶媒体５０を用いてＭＦＰ１０で、第１実施形態の場合と同様にアプリを起動できるようにした点にある。
【００６２】
以下、第２実施形態について説明していくが、ここでは、第１実施形態と異なる部分についてのみ説明を行う。また、符号についても同じ機能を備えるものについては、同じ符号を用いて説明する。
まず、ＭＦＰ１０、第１サーバ装置２０及び第２サーバ装置３０のハードウェア構成及びこれらの装置が備える機能については、基本的には第１実施形態の場合と同じであるので、説明は省略する。ＭＦＰ１０については、若干の相違点を後述する。
また、端末装置４０のハードウェアは、図４に示したものと同様な、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備える公知のコンピュータでよい。ただし、可搬性記憶媒体５０を接続するためのインタフェースを備えるものとする。可搬性記憶媒体５０は、装置に着脱可能で持ち運べる記憶媒体であり、例えばメモリカードやＵＳＢ（Universal  Serial  Bus）メモリ等を用いることができる。
【００６３】
次に、図９に、端末装置４０が可搬性記憶媒体５０にアプリ及びアクセス制限情報を登録する際の各装置の動作を示す。
この動作は、第１実施形態の図６に相当する動作である。図６は、ＭＦＰ１０がアプリをインストールする動作であったが、図９では、ＭＦＰ１０の代わりに端末装置４０がアプリ及びアクセス制限情報を取得し、それらを可搬性記憶媒体５０に記憶させる。
【００６４】
図９の動作は、ユーザ（管理者を含む）、外部装置、ＭＦＰ１０内の他のプログラム等により、端末装置４０に対し、アプリを記憶した可搬性記憶媒体５０の作成が要求された場合に開始される。
端末装置４０は、この要求に従い、図６のＭＦＰ１０の場合と同様、第１サーバ装置２０から要求に係るアプリの署名付きデータを取得する（Ｓ６１，Ｓ６２）と共に、第２サーバ装置３０からそのアプリと対応するアクセス制限情報を取得する（Ｓ６４，Ｓ６５）。また、双方の署名の検証も行う（Ｓ６３，Ｓ６６）。
そして、署名が問題なければ、取得したアプリの署名付きデータ及びアクセス情報を、可搬性記憶媒体５０に記憶させて（Ｓ６７）、図９の動作を終了する。
【００６５】
このようにすることで、ＭＦＰ１０がネットワークＢに接続していなくても、作成した可搬性記憶媒体５０をＭＦＰ１０に接続して、ＭＦＰ１０にその可搬性記憶媒体５０からアプリを実行させることが可能となる。
この実行に係る動作は、単にアプリ及びアクセス制限情報をアプリデータ記憶部１２４及びアクセス制限情報記憶部１２７から読み出すか、可搬性記憶媒体５０から読み出すかが図７の場合と異なるのみであるので、詳細な説明は省略する。しかし、可搬性記憶媒体５０からアプリ及びアクセス制限情報を読み出す場合であっても、図７の場合と同様に、アプリのプロセスから各デバイスへのアクセスの制限を行うことができる。
【００６６】
〔変形例：図１０〕
次に、第１実施形態の変形例について、図１０を用いて説明する。
この変形例は、ＭＦＰ１０が、第１サーバ装置２０から取得したアプリを実行する場合に、実行前に第１サーバ装置２０及び第２サーバ装置３０にアクセスをするようにしたものである。
【００６７】
図１０に、この変形例においてアプリの起動時にＭＦＰ１０のＣＰＵ１０１が実行する処理のフローチャートを示す。
ＣＰＵ１０１は、第１サーバ装置２０から取得したアプリの実行要求を検出すると、図１１の処理を開始する。
この処理において、ＣＰＵ１０１はまず、第１サーバ装置２０に、アプリを実行することを通知する（Ｓ７１）。第１サーバ装置２０は、この通知を受けると、通知元に応答を返す。ＣＰＵ１０１は、この応答を検出したかを判断する（Ｓ７２）。
【００６８】
ステップＳ７２で検出した場合、ＣＰＵ１０１は次に、第２サーバ装置３０に対し、アプリを実行することを通知する（Ｓ７３）。第２サーバ装置３０は、この通知を受けると、通知元に応答を返す。ＣＰＵ１０１は、この応答を検出したかを判断する（Ｓ７４）。ここでも応答を検出した場合、ＣＰＵ１０１は、図７に示す動作に移行し、アプリに関するアクセス可否の設定とアプリの実行を行う。
【００６９】
一方、ステップＳ７２及びＳ７４のいずれかでＮｏだった場合は、ＣＰＵ１０１は、アプリを起動せずに、即ち、アプリのプロセスの生成を中止して、処理を終了する。
なお、上記の処理において、第１サーバ装置２０或いは第２サーバ装置３０のいずれか一方のみにアプリの実行を通知し、その通知に応答があった場合にアプリを実行するようにしてもよい。
【００７０】
以上の構成とすることにより、アプリを提供したサーバの側で、インストール先装置におけるアプリの実行を管理することが容易になる。例えば、第１サーバ装置２０又は第２サーバ装置３０において、インストール先装置におけるアプリの有効期間を設定し、その有効期間を過ぎた場合にはステップＳ７１又はＳ７３の通知に対して有効な応答を返さないようにすれば、インストール先装置においてアプリを実行させないようにすることができる。
【００７１】
以上で本発明の実施形態の説明を終了するが、この発明において、装置の具体的な構成、具体的な処理の手順等は、実施形態で説明したものに限るものではない。
例えば、上述した各実施形態では、この発明をＭＦＰに適用した例について説明したが、この発明の情報処理装置が画像形成機能を備えていることは必須ではない。例えば、スキャナ、ファクシミリ、プリンタ、プロジェクタ、電子会議システム、スマートフォン、タブレットコンピュータ汎用ＰＣ（Personal  Computer）等、情報処理機能を備えた任意の電子装置における、デバイスへのアクセス制限の処理について、本発明を適用可能である。
【００７２】
なお、この発明のプログラムの実施形態は、コンピュータに所要のハードウェアを制御させて上述した実施形態におけるＭＦＰ１０の機能（特に図７の処理あるいはこれと対応する処理による機能）を実現させるためのプログラムである。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭや他の不揮発性記憶媒体（フラッシュメモリ，ＥＥＰＲＯＭ等）などに格納しておいてもよいし、メモリカード、ＣＤ、ＤＶＤ、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。
【００７３】
それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
【００７４】
また、以上説明してきた各実施形態、動作例及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
【符号の説明】
【００７５】
１０：ＭＦＰ、２０：第１サーバ装置、３０：第２サーバ装置、４０：端末装置、５０：可搬性記憶媒体、１０１：ＣＰＵ、１０２：ＲＯＭ、１０３：ＲＡＭ、１０４：ストレージ、１０５：通信Ｉ／Ｆ、１０６：パネルＩ／Ｆ、１０７：エンジンＩ／Ｆ、１０８：操作部、１０９：表示部、１１０：スキャナエンジン、１１１：プリンタエンジン、１２１：アプリ要求部、１２２：署名検証部、１２３：アプリ登録部１２４：アプリデータ記憶部、１２５：アクセス制限情報要求部、１２６：アクセス制限情報登録部、１２７：アクセス制限情報記憶部、１２８：アプリ実行要求受付部、１２９：プロセス管理部、１２９ａ：起動プログラム、１３０：プロセス、１３１：ＮＡＮＤドライバ、１３２：ＮＡＮＤ型フラッシュメモリ、１３３：ＨＤＤドライバ、１３４：ＨＤＤ、１３５：ネットワークドライバ、１３６：ネットワークＩ／Ｆ、１３１ａ，１３３ａ，１３５ａ：アクセス管理部、Ｘ：管理者、Ｙ：ユーザ
【先行技術文献】
【特許文献】
【００７６】
【特許文献１】特開２０１４−１７９０３４号公報
【図１】
2017167781.tif 000009
【図２】
2017167781.tif 000010
【図３】
2017167781.tif 000011
【図４】
2017167781.tif 000012
【図５】
2017167781.tif 000013
【図６】
2017167781.tif 000014
【図７】
2017167781.tif 000015
【図８】
2017167781.tif 000016
【図９】
2017167781.tif 000017
【図１０】
2017167781.tif 000018