(57)【要約】    【課題】付加的なアプリケーションを導入しても他の既存のアプリケーションを当該付加的なアプリケーションから機密状態に置く。    【解決手段】ＯＳ３０の階層の上に複合機プラットフォーム３１が構成される。複合機プラットフォーム３１の上に複合機１０用のアプリケーション群３６が配置される。アプリケーション群３６は、通常の複合機の各種機能を実現するアプリケーションに加え、メニューアプリケーション３３、隔離環境制御フロントエンド３２等を含んでいる。隔離環境制御フロントエンド３２は、外部アプリケーション１１６のサービスを選択するボタン表示をメニューアプリケーション３３に登録し、メニューアプリケーション３３のユーザインタフェースを介して実行要求された外部アプリケーション１１６を、当該外部アプリケーション１１６に割り当てられたユーザＩＤに基づいて隔離環境で起動制御する。【選択図】図３
2010117905.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムの下で第１のアプリケーションを含む複数のアプリケーションを実行する情報処理装置において、
上記第１のアプリケーションを当該第１のアプリケーションに割り当てられた、オペレーティングシステム管理下のユーザ識別情報に基づいて隔離環境で実行する手段を有する情報処理装置。
【請求項２】
上記第１のアプリケーションの実行を指示したアプリケーション利用者に対してその実行時に当該アプリケーション利用者の個別のファイルベースのファイルシステムを上記隔離環境内でディレクトリ構成中に組み入れる手段をさらに有する請求項１記載の情報処理装置。
【請求項３】
上記隔離環境はディレクトリ構成のルートを変更するコマンドを用いて構成する請求項１または２記載の情報処理装置。
【請求項４】
上記オペレーティングシステム管理下のユーザ識別情報は、上記オペレーティングシステム管理下のユーザ識別子またはグループ識別子である請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
上記第１のアプリケーション以外のアプリケーションは、いずれも隔離環境に置かれていない画像形成アプリケーション、画像読取アプリケーション、およびファクシミリ通信アプリケーションの少なくとも１つを含む請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
アプリケーション利用者の利用開始および利用終了を検出する手段をさらに有し、上記利用者の利用開始が検出されたときに当該利用者の個別のファイ理システムを上記ディレクトリ構成中に組み入れ、上記利用者の利用終了が検出されたときに当該利用者の個別のフファイルシステムを上記ディレクトリ構成から取り外す請求項１〜５のいずれかに記載の情報処理装置。
【請求項７】
上記第１のアプリケーション以外のアプリケーションを選択要素とするユーザインタフェース手段に、上記第１のアプリケーションを選択要素として追加する手段と、
上記第１のアプリケーションに対応する選択要素が上記アプリケーション利用者から選択されたときに上記第１のアプリケーションを起動する制御手段とをさらに有する請求項１〜６のいずれかに記載の情報処理装置。
【請求項８】
オペレーティングシステムの下で第１のアプリケーションを含む複数のアプリケーションを実行するコンピュータを、上記第１のアプリケーションを当該第１のアプリケーションに割り当てられた、オペレーティングシステム管理下のユーザ識別子に基づいて隔離環境で実行する手段として機能させるためのプログラム。
【請求項９】
画像入力手段と、
画像出力手段と、
オペレーティングシステムの下で、上記画像入力手段および画像出力手段の少なくとも一方を利用して複写機能、原稿読取機能、およびファクシミリ機能の少なくとも１つを実現するアプリケーションを動作させる手段と、
上記オペレーティングシステムの下で、他のアプリケーションを、当該他のアプリケーションに割り当てられた、オペレーティングシステム管理下のユーザ識別情報に基づいて隔離環境で実行する手段とを有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
複写機、複合機を含むＯＡ製品、家電製品等において、汎用ＯＳを採用して製品固有のプラットフォームを構築することが行われている。このようなオープンな環境では、サードベンダが作成したアプリケーションやオープンソースソフトウェア等の外部アプリケーションを導入して製品の付加価値を向上させることが可能である。また、このような特定用途の製品においてはその製品固有のユーザインタフェースが用意されており、外部アプリケーションをそのようなユーザインタフェースに適合化させることが多い。多くの場合、ユーザインタフェースを含むインタフェース情報は財産的な情報である場合が多く、外部に開放しないことが多いので、そのような適合かは製品開発側で対処している。
【０００３】
また、特定目的の製品を開発する上で、セキュリティの確保等、一定の仕様要求が満たされるようになっている。外部アプリケーションをそのまま導入する場合も、セキュリティの確保等の一定の仕様要求が維持されることが好ましい。
【０００４】
なお、この発明と関連する特許文献としては以下のものがある。
【０００５】
特許文献１は、プリンタ、コピーおよびファクシミリ装置などに対応する各アプリケーションを効率よく開発するために共通サービス部分を共通化することを提案している。
特許文献２は、アプリケーションの起動可否を判断するためにアプリケーションの使用するリソース情報と機械のリソース情報を比較し起動可能か判断することを提案している。
【特許文献１】特開２００２−８２８０６号公報
【特許文献２】特開２００４−３０６０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は、隔離環境を実現する手法を用いて、１のアプリケーションによる、他のアプリケーションの使用するリソースへのアクセスを制約する情報処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
請求項１の発明によれば、オペレーティングシステムの下で第１のアプリケーションを含む複数のアプリケーションを実行する情報処理装置において、上記第１のアプリケーションを当該第１のアプリケーションに割り当てられた、オペレーティングシステム管理下のユーザ識別子に基づいて隔離環境で実行する手段を設けるようにしている。
請求項２の発明によれば、請求項１の発明の情報処理装置において、上記第１のアプリケーションの実行を指示したアプリケーション利用者に対してその実行時に当該利用者の個別のファイルベースのファイルシステムを上記隔離環境内でディレクトリ構成中に組み入れる手段をさらに設けるようにしている。
請求項３の発明によれば、請求項１または２の発明の情報処理装置において、上記隔離環境はディレクトリ構成のルートを変更するコマンドを用いて構成するようにしている。
請求項４の発明によれば、請求項１〜３のいずれかの発明の情報処理装置において、上記オペレーティングシステム管理下のユーザ識別情報を、上記オペレーティングシステム管理下のユーザ識別子またはグループ識別子としている。
請求項５の発明によれば、請求項１〜４のいずれかの発明の情報処理装置において、上記第１のアプリケーション以外のアプリケーションは、いずれも隔離環境に置かれていない画像形成アプリケーション、画像読取アプリケーション、およびファクシミリ通信アプリケーションの少なくとも１つを含むようにしている。
請求項６の発明によれば、請求項１〜５のいずれかの発明の情報処理装置において、アプリケーション利用者の利用開始および利用終了を検出する手段をさらに有し、上記利用者の利用開始が検出されたときに当該利用者の個別のファイ理システムを上記ディレクトリ構成中に組み入れ、上記利用者の利用終了が検出されたときに当該利用者の個別のフファイルシステムを上記ディレクトリ構成から取り外すようにしている。
請求項７の発明によれば、請求項１〜６のいずれかの発明の情報処理装置において、上記第１のアプリケーション以外のアプリケーションを選択要素とするユーザインタフェース手段に、上記第１のアプリケーションを選択要素として追加する手段と、上記第１のアプリケーションに対応する選択要素が上記アプリケーション利用者から選択されたときに上記第１のアプリケーションを起動する制御手段とをさらに設けるようにしている。
請求項８の発明によれば、オペレーティングシステムの下で第１のアプリケーションを含む複数のアプリケーションを実行するコンピュータを、上記第１のアプリケーションを当該第１のアプリケーションに割り当てられた、オペレーティングシステム管理下のユーザ識別子に基づいて隔離環境で実行する手段として機能させるためのプログラムを提供する。
請求項９の発明によれば、情報処理装置に：画像入力手段と；画像出力手段と；オペレーティングシステムの下で、上記画像入力手段および画像出力手段の少なくとも一方を利用して複写機能、原稿読取機能、およびファクシミリ機能の少なくとも１つを実現するアプリケーションを動作させる手段と；上記オペレーティングシステムの下で、他のアプリケーションを、当該他のアプリケーションに割り当てられた、オペレーティングシステム管理下のユーザ識別情報に基づいて隔離環境で実行する手段とを設けている。
【発明の効果】
【０００８】
請求項１の発明によれば、隔離環境を実現する手法を用いて、１のアプリケーションによる、他のアプリケーションの使用するリソースへのアクセスを制約することができる。
請求項２の発明によれば、さらに、第１のアプリケーションを利用するアプリケーション利用者の間で利用者データのアクセスを制限できる。
請求項３の発明によれば、さらに、通常のＵＮＩＸ（登録商標）系のオペレーティングシステムに準備されているコマンドを用いて上述の機密状態を実現できる。
請求項４の発明によれば、外部アプリケーションのユーザＩＤやグループＩＤを設定してそのＩＤの下で隔離環境を構築できる。
請求項５の発明によれば、さらに、複合機に付加的なアプリケーションを導入するときに、複合機に予め準備された機能へ当該付加的なアプリケーションから予定外のアクセスが行われるのを制約できる。
請求項６の発明によれば、さらに、利用者が第１のアプリケーションを利用していないときには当該利用者の利用者データへのアクセスを制約できる。
請求項７の発明によれば、さらに、付加的なアプリケーションに既存のアプリケーションに用意されたユーザインタフェースに付加的なアプリケーションを適合化できる。
請求項８の発明によれば、隔離環境を実現する手法を用いて、１のアプリケーションによる、他のアプリケーションの使用するリソースへのアクセスを制約することができる。
請求項９の発明によれば、隔離環境を実現する手法を用いて、１のアプリケーションによる、他のアプリケーションの使用するリソースへのアクセスを制約することができる。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施例について説明する。
【００１０】
この実施例は、複写機能、ファクシミリ通信機能、プリント機能、画像読取機能等を具備する複合機を例に挙げて説明する。ただし、コンピュータシステムをベースにして製品特有の機能をコンピュータシステムに組み込んで構成されることを条件として、他のＯＡ機器や、家電製品にこの発明を適用できる。以下に説明する機能ブロックはコンピュータのハードウェア資源と種々のソフトウェア資源とを協働させて構築される。
【００１１】
図１は、この発明の実施例の複合機１０を全体として示しており、この図において、複合機１０は、ＣＰＵ１１、記憶装置（主メモリ）１２、補助記憶装置１３、表示装置１４、コントロールパネル装置１５、画像出力装置１６、画像入力装置１７、バスシステム１８等を含んで構成されている。複合機１０は、ベースとなるコンピュータシステムに加えて製品特有のサブシステムを含んでよい。コンピュータシステムとサブシステムとの間は専用のバスで接続されてよい。コンピュータシステムは典型的にはパーソナルコンピュータまたはそれに準拠して製造業向けに適合化したものであるが、これに限定されない。補助記憶装置１３は、ハードディスクドライブ等の直接アクセス記憶装置で構成され、オペレーティングシステム（ＯＳとも呼ぶ）、各種機能を実現するアプリケーションプログラム、各種データ等を記憶している。ＯＳは典型的にはＵＮＩＸ（商標）系のものであり、例えば、ＬＩＮＵＸ（商標）、ＦｒｅｅＢＳＤ（商標）を採用できるが、これに限定されない。ＣＰＵ１１は各種プログラムを記憶装置１１に読み込んで各種の機能を実行する。この例では、ＣＰＵ１１により実現される機能は、メニュー機能（メニューアプリケーションとも呼ぶ）１１０、複写機能１１１、スキャンＰＣ機能１１２、ＦＡＸ機能１１３、スキャンメール機能１１４、隔離制御機能１１５、外部アプリケーション機能１１６を含む。
【００１２】
コントロールパネル装置１５は図２に示すようなものであり、表示装置１４とともに複合機１０に対して各種の指示を供給するユーザインタフェースを実現する。表示装置１４は、この例では、コントロールパネル装置１５に設置された液晶表示装置１５ａから実現される。画像出力装置１６は典型的には電子写真技術を用いて紙媒体等に画像を形成する。画像入力装置１７はプラテン等の上に配置された原稿の画像を光で走査して画像データを形成するものである。バスシステム１８は、ベースとなるコンピュータシステムのシステムバスやサブシステムとの接続を実現する拡張バスを含む。
【００１３】
先に説明した複写機能１１１、スキャンＰＣ機能１１２、ＦＡＸ機能１１３、スキャンメール機能１１４は慣用的な複合機製品に用意される機能である。複写機能１１１は画像入力装置１７で読み取った画像データに基づいて適宜に画像処理を施した後に画像出力装置１６から印刷画像を出力させる。スキャンＰＣ機能１１２は、画像入力装置１７で読み取った原稿画像データをコンピュータ（ＰＣ）の記憶部（補助記憶装置）に管理可能に蓄積するものである。ＦＡＸ機能１１３は、画像入力装置１７で読み取った原稿画像データを通信機能（図示しない）を用いてファクシミリ送信するものである。スキャンメール機能１１４は画像入力装置１７で読み取った原稿画像データをメール機能（図示しない）を用いて予め登録されたメールアドレスにメール送信するものである。複合機１０が図示しないメールサーバ機能、例えばＳＭＴＰサーバ機能を備えていてもよい。
【００１４】
メニュー機能１１０は、複合機１０の機能（ジョブ）選択を含むユーザインタフェースを実現するものである。
【００１５】
隔離制御機能１１５は、外部アプリケーション１１６（１１６（１）〜１１６（Ｎ））のそれぞれを隔離環境（ＪＡＩＬ環境とも呼ぶ）で実行制御するものである。隔離環境は、当該隔離環境の内部で動作するプログラムが当該隔離環境の外部の資源に自由にアクセスすることができない環境を意味する。隔離環境は、ルートを変更するｃｈｒｏｏｔコマンド、ＪＡＩＬコマンド、ＪＡＩＬツール、仮想ＯＳ機能を用いて実現することができる。
【００１６】
外部アプリケーション１１６は、出荷前、出荷時、設置先において付加されるオプションのアプリケーションであり、この例では、ＯＳ（図３の符号３０参照）の管理下のユーザＩＤが割り当てられ、そのユーザＩＤに基づいて隔離環境で実行されるアプリケーションである。この例では、図４にも示すように、ブラウザ機能（ＨＴＭＬ）、文書管理機能、伝票処理機能、月次処理機能を含むが、これに限定されない。ブラウザ機能は、ＨＴＭＬ準拠のブラウザである。文書管理機能は、文書管理システム（外部サーバ）に保持された文書を所定のエージェントプログラムを用いて閲覧するものである。「伝票処理」機能は、具体的な利用者の会計処理場の伝票を処理する機能である。「月次処理」機能も具体的な利用者の特定の月ごとの処理を行う機能である。これら外部アプリケーション１１６は、典型的にはＯＳＳ（オープンソースソフトウェア）や外部開発者から入手したものであるけれども、これに限定されず、例えば、複合機開発者が独自に開発してもよい。
【００１７】
図３は、複合機１０のシステム階層を示しており、この図において、ＯＳ３０の階層の上に複合機プラットフォーム３１が構成される。複合機プラットフォーム３１の上に複合機１０用のアプリケーション群３６が配置される。アプリケーション群３６は、通常の複合機の各種機能を実現するアプリケーションに加え、メニューアプリケーション３３、隔離環境制御フロントエンド３２等を含んでいる。隔離環境制御フロントエンド３２は、外部アプリケーション（ユーザインタフェース付き隔離環境アプリケーションまたはＵＩ付き隔離環境アプリとも呼ぶ）１１６のサービスを選択するボタン表示をメニューアプリケーション３３に登録し、メニューアプリケーション３３のユーザインタフェース（コントロールパネル装置１５）を介して実行要求された外部アプリケーション１１６を隔離環境で起動制御する。隔離環境制御フロントエンド３２は外部アプリケーション１１６を隔離環境で起動制御するときに隔離環境アプリケーション設定ファイル３４を参照する。ユーザインタフェース付き隔離環境アプリケーション１１６は、隔離環境で実行され、メニューアプリケーション３３のアプリケーションインタフェースを利用してメニュー駆動可能なアプリケーションである。
【００１８】
外部アプリケーション１１６および隔離環境制御バックエンド３５はＯＳ３０上で管理される。隔離環境制御バックエンド３５はデーモンプロセス（起動後、バックグラウンドで継続して動作するプロセス）として起動し、隔離環境制御フロントエンド３２から制御要求を受け取ると外部アプリケーション１１６を隔離環境で起動させる。
【００１９】
図４は隔離環境制御フロントエンド３２および隔離環境制御バックエンド３５の詳細な構成例を機能ブロックで示しており、この図において、隔離環境制御フロントエンド３２は複合機利用者操作検知部２１、設定情報取得部２２、ユーザＩＤ設定部２３、隔離環境起動要求部２４、隔離環境動作監視部２５等を含んでいる。隔離環境制御バックエンド３５はファイルシステム管理部２６、ファイルシステムマウント制御部２７、アプリケーション領域管理部２８、隔離環境実行制御部２９を含んでいる。
【００２０】
複合機利用者操作検知部２１は、複合機利用者（アプリケーション利用者とも呼ぶ）が複合機１０にログインし最初に外部アプリケーション１１６を使用することを検知する手段である。設定情報取得部２２は、外部アプリケーションの設定情報を取得する手段である。ユーザＩＤ設定部２３は、外部アプリケーション１１６毎にＯＳ３０の管理下のユーザＩＤを設定する手段である。ユーザＩＤの設定は、例えばｓｅｔｕｉｄコマンドにより実現できる。外部アプリケーション１１６のユーザＩＤは図１５に示すように予め登録されており、これを参照する。外部アプリケーション１１６は図１５に示すように隔離環境のルートディレクトリも登録されている。図５の例では「ｂｒｏｗｓｅｒ」のユーザＩＤは「１００」であり、隔離環境のルートディレクトリは「／ｂｒｏｗｓｅｒ」であり、「文書管理」のユーザＩＤは「１０１」であり、隔離環境のルートディレトリは「／ｂｕｎｓｈｏ」である。なお、図８に示すディレクトリ構造の例では、隔離環境のルートディレクトリ「／ｂｒｏｗｓｅｒ」、「／ｂｕｎｓｈｏ」・・・は、「／ＯＰＴ／ｊａｉｌ」のサブディレクトリとして配置される。
【００２１】
隔離環境起動要求部２４は、外部アプリケーション１１６を隔離環境下で動作させるように指示する手段である。隔離環境動作監視部２５は、隔離環境で実行されている外部アプリケーション１１６の動作を監視する手段である。
【００２２】
ファイルシステム管理部２６は、複合機利用者毎にファイルを作成し、かつ、このファイルをファイルシステムとし管理する手段である。ファイルシステムマウント制御部２７は、複合機利用者用に作成したファイルシステムを指定領域にマウントするマウント手段である。アプリケーション領域管理部２８は、マウントしたファイルシステム内に起動したアプリケーション用領域があるか検出し、なかった場合にアプリケーション用領域を作成し、また、複合機利用者のディレクトリ（便宜上「ｈｏｍｅ」ディレクトリと呼ぶ）をアプリケーション用領域に設定する手段である。隔離環境実行制御部２９は、動作環境をアプリケーションに対応して設定し、隔離環境下で指定された外部アプリケーションを動作させる手段である。ファイルシステムマウント制御部２７は、複合機利用者のログインに応じて当該複合機利用者のファイルシステムをマウンとし、ログアウトに応じてマウントを解除する。なお、複合機利用者ごとのディレクトリである「ｈｏｍｅ」ディレクトリは、通常のディレクトリ構造において、ルートディレクトリ（「／」）のサブディレクトリとして設けられる「ｈｏｍｅ」ディレクトリ（図示しない）とは、名前は同じであるが、別のものである。ここでは、前者を、複合機利用者（アプリケーション利用者）の「ｈｏｍｅ」ディレクトリと呼び、後者をＯＳの管理下のユーザ（ＯＳユーザ）の「ｈｏｍｅ」ディレクトリと呼び、区別して呼ぶこともある。ＯＳの管理下のユーザの「ｈｏｍｅ」ディレクトリは、ＯＳの管理下のユーザの各々が自由に使えるディスク領域のうち一番上のディレクトリをいい、複合機利用者の「ｈｏｍｅ」ディレクトリは、複合機利用者（ＯＳの管理下のユーザユーザではなく、ＯＳの管理下のユーザの権限で実行されるアプリケーションにジョブを依頼する人をいう）用のデータを格納するためのディスク領域の内一番上のディレクトリをいい、慣用的なディスク構造の表記で用いられる「ｈｏｍｅ」ディレクトリと異なる異に留意されたい。また、「マウント」（ｍｏｕｎｔ）は、オペレーティングシステムからファイルシステムを使えるようにするための手続きのことを指し、広くは、任意のディスクストレージ上に構築されたファイルシステムを認識可能な状態にし、適切な手続きなしでは切り離し不可能な状態にすることを指す。
【００２３】
つぎにこの実施例の動作を説明する。
【００２４】
図５は実施例の動作の概要を示しており、この図において複合機１０に電源が供給開始されるとブートストラップ手順が開始され、これによりカーネルが起動される（ステップＳ１００）。この後、デーモンプロセスが起動される（ステップＳ２００）。デーモンプロセスはこの例ではメニューアプリケーション３３の少なくとも一部、隔離環境制御フロントエンド３２、および隔離環境制御バックエンド３５である。メニューアプリケーション３３は図４に示すようなサービス選択用のユーザインタフェースをコントロールパネル装置１５の液晶表示装置１５ａ（表示装置１４）に表示する。複合機利用者はこのユーザインタフェースを用いてサービスを選択する。
【００２５】
この後、システムがシャットダウンされたときに複合機１０の動作が終了する（ステップＳ３００）。
【００２６】
ステップＳ２００でデーモンプロセスとしてのメニューアプリケーション３３またはその一部が起動されると、図６に示すような操作選択画面がコントロールパネル装置１５の液晶表示装置１５ａに表示される。操作選択画面の選択ボタンを指示操作してサービスを選択できる。図６中、外部アプリケーション１１６が実現する機能を表す選択ボタンには星印が付加されているので、利用者は外部アプリケーションに対応するものであることを認識しやすい。外部アプリケーション１１６の動作中にエラーが発生した場合には、外部アプリケーション１１６の個々の提供者等の連絡先が表示されるようにすれば、利用者は、外部アプリケーション利用中に故障に遭遇したときに対処しやすい。
【００２７】
図６において例えば「文書管理」を選択すると図９に示すような文書管理サービス画面が表示され、例えば「検索」を実行できる。また、図１０に示すように、このサービスにおいて「ファイル選択」を実行するとファイルを選択することができる。図１１はファイルが存在しないことを示す。他のサービスもその目的、用途に応じた機能を提供してコントロールパネル装置１５の液晶表示装置１５ａに適宜な表示を行う。
【００２８】
図７は、この実施例の動作例を示しており、その詳細は以下のとおりである。
［ステップＳ０１］：カーネルおよびデーモンプロセスが起動するとサービス開始状態になる。
［ステップＳ０２］：図４のサービス選択画面でサービス選択ボタンが押されたかどうか監視する。押されたらステップＳ０３へ進む。
［ステップＳ０３］：どのサービスが選択されたかを判別し、外部アプリケーションが選択された場合にはステップＳ０５へ進み、複合機１０の通常のサービスが選択された場合にはステップＳ０４へ進む。
［ステップＳ０４］：通常のサービスが選択されたことに応じて複合機１０の通常のサービスを起動し、通常のサービスを実行する。通常のサービスが完了したらステップＳ０２へ戻る。
［ステップＳ０５］：選択された外部アプリケーションの設定ファイル情報を隔離環境アプリケーション設定ファイル３４から読み出す。
［ステップＳ０６］：複合機利用者の情報を取得する。この情報は複合機利用者がログインしたときにカード等から取得できる。
［ステップＳ０７］：外部アプリケーションが起動可能かどうか判別し、起動可能でなければステップＳ０２に戻り処理を繰り返し、起動可能であればステップＳ０８へ進む。
［ステップＳ０８］：ログインしている複合機利用者が当該外部アプリケーションを利用したことがあるかどうか判別し、利用したことがある場合にはステップＳ１３へ進み、利用したことがない場合にはステップＳ０９へ進む。
［ステップＳ０９］：複合機利用者ファイルの取得要求を行う。
［ステップＳ１０］：複合機利用者ファイルがあるかどうかを判別し、ない場合にはステップＳ１１へ進み、ある場合にはステップＳ１３へ進む。
［ステップＳ１１］：複合機利用者ファイルがない場合には、ファイルを作成し、ステップＳ１２へ進む。
［ステップＳ１２］：作成したファイルをファイルシステム化する。これによりファイルベースのファイルシステムを構築できる。ファイルシステム化は、例えばｄｍｃｏｎｆｉｇユーティリティを用いることができる。
［ステップＳ１３］：ファイルを隔離されたルート下のホームディレクトリ（「Ｈｏｍｅ」）の下にマウントする。
［ステップＳ１４］：マウントしたファイルシステムにアプリケーション用のディレクトリを生成する。
［ステップＳ１５］：ホームディレクトリの設定を行う。例えば検索権限を無効にする。
［ステップＳ１６］：外部アプリケーションのユーザＩＤ、環境変数を設定する。これは例えば図１５のテーブル情報を参照して行う。ユーザＩＤの設定は例えばｓｅｔｕｉｄコマンドを用いる。
［ステップＳ１７］：外部アプリケーションを隔離環境で起動する。
外部アプリケーションが起動したのち、サービスが終了すると、外部アプリケーションが終了する。この後ステップＳ０２へ戻ってよい。
【００２９】
外部アプリケーション１１６の設定情報は例えば図１３および図１４に示すようにＸＭＬで記述されるが、これに限定されない。
【００３０】
複合機利用者の外部アプリケーション１１６用のファイルは図１２に示すように複合機プラットフォーム３１の複合機ファイル離間理装置に通常の複合機用の進展ボックス用ファイル、アドレス帳用ファイル等とともに記憶管理され、外部アプリケーション１１６を利用するときに隔離環境にマウントされる。
【００３１】
図８は、複合機利用者（ｕｓｅｒ１）が複合機１０にログインして外部アプリケーション１１６（「ａｐｌｉｃａｔｉｏｎ１」または「ａｐｐｌｉｃａｔｉｏｎ２」）のサービスを選択したときのＯＳ３０のディレクトリ構造のスナップショットを示す。なお、複合機利用者はＯＳ３０が管理しているユーザではなく、複合機１０へのログイン、ログアウトはＯＳ３０が管理する「ログイン」、「ログアウト」とは別のものである。ここでは、例えば、複合機利用者が複合機１０を利用開始することを複合機１０に「ログイン」を行ったと呼び、複合機１０の利用を終了させたこと複合機１０から「ログアウト」を行ったと呼ぶことにする。複合機利用者のログイン、ログアウトは例えばカードリーダ等の検知手段を用いて検知できる。通信手段を用いて複合機１０を利用する場合にはパスワード認証手段等が複合機利用者のログイン、ログアウトを検知できる。
【００３２】
「／」はルートディレクトリであり、「／ｂｉｎ」は基本コマンド、「／ｅｔｃ」は設定ファイル、「／ｏｐｔ」は追加アプリケーションの情報を含む。この例では「／ｏｐｔ」のサブディレクトリとして「／ｊａｉｌ」が設けられ、その下に、外部アプリケーション１１６の各々の隔離環境のルートディレクトリ（例えば「／ｂｒｏｗｓｅｒ」、「／ｂｕｎｓｈｏ」）が配置される。「／ｊａｉｌ」のサブディレクトリである隔離環境のルートディレクトリをｃｈｒｏｏｔコマンドにより仮想的に「／」に変更するようになっている。「／ｏｐｔ／ｊａｉｌ」の下の隔離環境のルートディレクトリのサブディレクトリとして「／ｂｉｎ」、「／ｅｔｃ」、・・・、「／ｃｏｎｆｉｇ」、「／ｈｏｍｅ」、［ｐｋｇ」等が設けられている。「／ｏｐｔ／ｊａｉｌ」のサブディレクトリの「／ｂｉｎ」、「／ｅｔｃ」は、ルートディレクトリ「／」のサウデゥレクトリの「／ｂｉｎ」、「／ｅｔｃ」をバインドしたものである。「ｃｏｎｆｉｇ」は外部アプリケーション１１６の設定ファイルが含まれている。「ｈｏｍｅ」は、複合機ユーザ毎のデータを個別に管理する「／ｕｓｅｒ１」、「／ｕｓｅｒ２」・・・のサブディレクトリを含む。なお、隔離環境のルートディレクトリのサブディレクトリとしての「ｈｏｍｅ」は、実際のルートディレクトリ（「／」）のサブディレクトリである（「ｈｏｍｅ」ディレクトリ。図８では示されていない）とは異なる。前者は、その下のサブディレクトリにより複合機利用者ごとの利用データ等を保持するものであるのに対して、後者は、ＯＳにより管理されるシステムユーザ（外部アプリケーション）ごとの利用データ等を保持するものである。「／ｕｓｅｒ１」、「／ｕｓｅｒ２」・・・のディレクトリのサブディレクトリとして「／ａｐｐｌｉｃａｔｉｏｎ１」、「ａｐｐｌｉｃａｔｉｏｎ２」等が設けられる。これらは外部アプリケーションである「／ａｐｐｌｉｃａｔｉｏｎ１」、「ａｐｐｌｉｃａｔｉｏｎ２」がアクセス可能なリソースとして配置される。
【００３３】
この例では、／ｕｓｅｒ１」、「／ｕｓｅｒ２」・・・は、ファイルをファイルシステム化したファイルシステムを「／ｈｏｍｅ」の下にマウントしたものであり、複合機利用者が複合機１０のログインしたときに、当該複合機利用者のファイルをマウントする。複数の複合機利用者が同時に複合機１０を利用するときには複数の複合機利用者のファイルが同時にマウントされる。ファイルはファイル作成時等に「ｑｕｏｔａ」情報等により容量を制限する。
【００３４】
「／ＪＡＩＬ」およびそれより上のディレクトリ構造はｃｈｒｏｏｔコマンドによりＯＳ３０により管理されるユーザとしての外部アプリケーション１１６はアクセス制限されている。その他の手段、例えば、仮想ＯＳやＦｒｅｅＢＳＤ（商標）が提供する「ＪＡＩＬ」ユーティリティを用いても同様の隔離環境を構築してもよい。複合機利用者のファイルシステムは利用時にしかディレクトリ構造上に存在しないので、１人の複合機利用者しか外部アプリケーションを利用していない限り複合機利用者のデータは防護される。また、複合機利用者が外部アプリケーションを同時に利用していて複数の複合機利用者のファイルシステムがディレクトリ構造にマウントされている場合でも、その上位の「／ｈｏｍｅ」のディレクトリ検索権限を、外部アプリケーション１１６（ＯＳ３０のユーザ）に対して無効にして他の複合機利用者用のディレクトリを検索できないようにしている。
【００３５】
繰り返して説明すると、複合機利用者ごとにファイル型のファイルシステムを、使用する際のみ、マウントすることにより、複合機利用者のユーザ情報の機密を保ち（他のユーザ情報を見ることが出来ない）、かつ複合機利用者の使用領域をファイルとすることで使用領域を制限することが可能になり、ひとりのユーザが記憶装置を占有することを防ぐ。よってユーザ間の情報の信頼性を保ち、各ユーザの操作環境にも障害をあたえない。たとえば、ブラウザのキャッシュ情報、ブックマーク情報等をユーザ毎に管理可能でかつ他の複合機利用者とは独立となる。また外部アプリケーションは、複合機利用者等を意識する必要がなくシステムにて自動的に区別される。
【００３６】
外部アプリケーションの実行は隔離環境下で実行させることで、複合機１０側の情報は見えないようしセキュリティを確保する。
【００３７】
外部アプリケーション毎に、ＯＳ３０が管理するユーザＩＤを別にし、外部アプリケーション毎（ユーザＩＤ毎）に、それぞれ「／ｏｐｔ／ｊａｉｌ」のサブディレクトリである隔離環境のルートディレクトリ、例えば、「／ｂｒｏｗｓｅｒ」、「／ｂｕｎｓｈｏ」を割り当てる。これにより、外部アプリケーション毎（ユーザＩＤ毎）に独立した隔離環境がそれぞれ構築され、この結果、１の外部アプリケーションが、他のアプリケーション（他の外部アプリケーションおよび複合機プラットフォーム３１のアプリケーション等）が作成したファイル（ディレクトリ）情報をアクセスすることができなくなるので、たとえば、悪意のアプリケーションが動作したとしても、他の外部アプリケーション情報等をアクセスすることができない。この結果、外部アプリケーション間のセキュリティ等を保つ。同一の複合機利用者によって複数の外部アプリケーションが同時に実行されている場合であっても、各外部アプリケーション間での情報のやり取り制限されることになり、セキュティが保たれる。
【００３８】
上位ディレクトリ（例ではｈｏｍｅ）のアクセス権を規制することより、たとえ複数の複合機利用者が同時に使用しても、他の複合機利用者のディレクトリ情報を取得できないことより、セキュリティを保つ。
【００３９】
なお、この発明は特許請求の範囲の記載に基づいて決定されるものであり、実施例の具体的な構成、課題、および効果には限定されない。この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、上述の例では、ＯＳに管理されるユーザとしての外部アプリケーションの各々に対して別個の隔離環境を設定したが、複合機の本体システムのセキュリティを確保するだけでよいのであれば、外部アプリケーションをひとまとめにして、例えば、１つのユーザグループとして１つに隔離環境を設定するようにしてもよい。この場合、例えば、外部アプリケーションのユーザＩＤを同一のものにしたり、そのグループＩＤを同一のものにし、ユーザＩＤまたはグループＩＤに基づいて隔離環境を実現する。
【図面の簡単な説明】
【００４０】
【図１】この発明の実施例を全体として示す図である。
【図２】図１のコントロールパネルの例を説明する図である。
【図３】図１の実施例のシステムを階層的に説明する図である。
【図４】図３の隔離環境制御フロントエンドおよび隔離環境制御バックエンドの構成例を説明する図である。
【図５】上述実施例の全体動作の例を説明する図である。
【図６】上述実施例のサービス選択用のユーザインタフェースの例を説明する図である。
【図７】上述実施例の詳細な動作例を説明する図である。
【図８】上述実施例のディレクトリ構成の例を説明する図である。
【図９】外部アプリケーションの表示画面例を説明する図である。
【図１０】外部アプリケーションの他の表示画面例を説明する図である。
【図１１】外部アプリケーションの他の表示画面例を説明する図である。
【図１２】複合機ファイル管理装置の例を説明する図である。
【図１３】外部アプリケーションの設定情報の例を説明する図である。
【図１４】外部アプリケーションの設定情報の例を説明する図である。
【図１５】外部アプリケーションのユーザＩＤおよび隔離環境のルートディレクトリの例を説明する図である。
【符号の説明】
【００４１】
１０    複合機
１１    ＣＰＵ
１２    記憶装置
１３    補助記憶装置
１４    表示装置
１５    コントロールパネル装置
１５ａ    液晶表示装置
１６    画像出力装置
１７    画像入力装置
１８    バスシステム
２１    複合機利用者操作検知部
２２    設定情報取得部
２３    ユーザＩＤ設定部
２４    隔離環境起動要求部
２５    隔離環境動作監視部
２６    ファイルシステム管理部
２７    ファイルシステムマウント制御部
２８    アプリケーション領域管理部
２９    隔離環境実行制御部
３１    複合機プラットフォーム
３２    隔離環境制御フロントエンド
３３    メニューアプリケーション
３４    隔離環境アプリケーション設定ファイル
３５    隔離環境制御バックエンド
３６    アプリケーション群
【図１】
2010117905.tif 000003
【図２】
2010117905.tif 000004
【図３】
2010117905.tif 000005
【図４】
2010117905.tif 000006
【図５】
2010117905.tif 000007
【図７】
2010117905.tif 000008
【図１２】
2010117905.tif 000009
【図１３】
2010117905.tif 000010
【図１４】
2010117905.tif 000011
【図１５】
2010117905.tif 000012
【図６】
2010117905.tif 000013
【図８】
2010117905.tif 000014
【図９】
2010117905.tif 000015
【図１０】
2010117905.tif 000016
【図１１】
2010117905.tif 000017