(57)【要約】【課題】複数のプロセスが効率的かつ安全にデータファイルを共有する。【解決手段】第１のディレクトリ以下の階層にのみ第１のプロセスがアクセス可能となるように設定するともに、第２のディレクトリ以下の階層にのみ第２のプロセスがアクセス可能となるように設定する。第１のディレクトリ以下のディレクトリである第３のディレクトリに第２のプロセスがアクセスすることを要求した場合に、第３のディレクトリを第２のディレクトリ以下の階層にマウントする。第２のプロセスが第３のディレクトリに継続してアクセスしない期間が所定値に達した場合、または、第３のディレクトリへのアクセスが不要である旨の通知を第２のプロセスから受け取った場合に、第３のディレクトリのマウントを解除する。【選択図】図５
2008123361.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と、
前記記憶手段に記憶されたデータを、木構造をなすように階層化された複数のディレクトリのいずれかに関連付けて管理する管理手段と、
第１のプロセスと第２のプロセスとを並行して実行する実行手段と、
前記複数のディレクトリに含まれる第１のディレクトリ以下の階層にのみ前記第１のプロセスがアクセス可能となるように設定するともに、前記複数のディレクトリに含まれる第２のディレクトリ以下の階層にのみ前記第２のプロセスがアクセス可能となるように設定する設定手段と、
前記第１のディレクトリ以下のディレクトリである第３のディレクトリに前記第２のプロセスがアクセスすることを要求した場合に、該第３のディレクトリを前記第２のディレクトリ以下の階層にマウントするマウント手段と、
前記第２のプロセスが前記第３のディレクトリに継続してアクセスしない期間が所定値に達した場合、または、前記第３のディレクトリへのアクセスが不要である旨の通知を前記第２のプロセスから受け取った場合に、前記第３のディレクトリのマウントを解除する解除手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記第３のディレクトリに対する前記第２のプロセスからのアクセスの可否を表す情報を記憶する可否情報記憶手段を有し、
前記マウント手段は、前記可否情報記憶手段の記憶内容を参照し、前記第３のディレクトリに対する前記第２のプロセスからのアクセスが許可されている場合に、前記第３のディレクトリを前記第２のディレクトリ以下の階層にマウントする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
コンピュータを、
記憶手段と、
前記記憶手段に記憶されたデータを、木構造をなすように階層化された複数のディレクトリのいずれかに関連付けて管理する管理手段と、
第１のプロセスと第２のプロセスとを並行して実行する実行手段と、
前記複数のディレクトリに含まれる第１のディレクトリ以下の階層にのみ前記第１のプロセスがアクセス可能となるように設定するともに、前記複数のディレクトリに含まれる第２のディレクトリ以下の階層にのみ前記第２のプロセスがアクセス可能となるように設定する設定手段と、
前記第１のディレクトリ以下のディレクトリである第３のディレクトリに前記第２のプロセスがアクセスすることを要求した場合に、該第３のディレクトリを前記第２のディレクトリ以下の階層にマウントするマウント手段と、
前記第２のプロセスが前記第３のディレクトリに継続してアクセスしない期間が所定値に達した場合、または、前記第３のディレクトリへのアクセスが不要である旨の通知を前記第２のプロセスから受け取った場合に、前記第３のディレクトリのマウントを解除する解除手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
複写機等の画像形成装置は、原稿を読み取って画像データを生成する画像入力装置、画像データに基づいて記録媒体に画像を形成する画像出力装置、外部と通信する通信装置等、複数の装置から構成されている。画像形成装置の記憶部には、装置毎の制御プログラムが記憶されており、ＣＰＵ（Central Processing Unit）が各プログラムを実行することによって各装置を動作させる。ＣＰＵはこれらのプログラムを並行して実行する。すなわち、画像形成装置の内部では複数のプロセスが生成され、それらが並行して実行される。
【０００３】
画像形成装置の記憶部には上記の各装置に関連する多数のデータファイルが収められており、これらのデータファイルは、ファイルシステムによって管理されている。このファイルシステムでは、複数のディレクトリ（またはフォルダ）がツリー構造をなすように階層化されてディレクトリツリーを形成し、データファイルが各ディレクトリに関連付けて記憶されている。実行中のプロセスは、記憶部に記憶されているデータファイルに必要に応じてアクセス（読み出し／書き込み／実行）する。
【０００４】
ところで、上記の画像形成装置においてすべてのプロセスがすべてのデータファイルにアクセス可能になっていると、信頼できないアクセスに起因してデータファイルの破壊、画像形成装置の誤作動等の問題が発生するおそれがある。このような問題を回避するために、アクセス可能なディレクトリをプロセス毎に制限することが従来行われている。すなわち、各プロセスがアクセスを要するデータファイルの種類はプロセス毎に異なり、また、データファイルはその種類毎に分類されて各ディレクトリに格納されているので、プロセス毎に特定のディレクトリ以下の階層にだけアクセスできるように、各プロセスのルートディレクトリを変更すればよい。
【０００５】
さて、異なるディレクトリ構成が割り当てられた複数のプロセスがデータファイルを共有する必要が生じる場合がある。例えば、あるプロセス（第１のプロセス）があるデータファイルの処理を他のプロセス（第２のプロセス）に受け渡す場合、第１のプロセスは第２のプロセスに対して当該データファイルの格納場所を通知することが必要になる。しかし、上記のようにプロセス毎にルートディレクトリが異なっていると、当該データファイルの格納場所が第１のプロセスと第２のプロセスとで異なるパスによって認識されていたり、当該データファイルが第２のプロセスのディレクトリツリー内に存在しないことがあり得るため、第２のプロセスは当該データファイルにアクセスすることができない。
【０００６】
プロセス毎にルートディレクトリが異なる場合に複数のプロセスが同一のデータファイルにアクセスするための方法として、以下に示す方法が知られている。
（１）アクセス対象のデータファイルをプロセス間通信で転送する。
（２）アクセス対象のデータファイルを予め複数のプロセスのディレクトリツリー内にコピーしておく。
（３）アクセス対象のデータファイルが格納されているディレクトリを他のプロセスのディレクトリツリー内にマウントする。
【０００７】
しかし、上記の方法には問題点がある。（１）は、プロセス間通信であるため転送の効率が低い。（２）は、従来よりも多くの記憶容量が必要となり、また、プロセス間でのデータファイルの更新内容を一致させるための管理が必要になる。（３）では、マウントされたディレクトリ以下の全データファイルに他のプロセスがアクセス可能となるため、不要なアクセスが発生するおそれがある。近年、Webサーバの機能を備えた画像形成装置が存在するが、その場合、外部から画像形成装置内のデータファイルに不正にアクセスされるおそれがあるのでさらに危険性が高くなる。
【０００８】
プロセス間でのデータファイルの共有に関する技術として、例えば、特許文献１では、クライアント毎のマウントの権限を表す情報をサーバ側に記憶させておき、クライアントからマウント要求があった場合に、当該クライアントのマウントの権限を確認し、マウントの権限がある場合にマウントを許可するファイルシステムについて開示されている。
【特許文献１】特開平８−６８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、複数のプロセスが効率的かつ安全にデータファイルを共有することのできる技術の提供を目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するために、請求項１に記載の発明は、記憶手段と、前記記憶手段に記憶されたデータを、木構造をなすように階層化された複数のディレクトリのいずれかに関連付けて管理する管理手段と、第１のプロセスと第２のプロセスとを並行して実行する実行手段と、前記複数のディレクトリに含まれる第１のディレクトリ以下の階層にのみ前記第１のプロセスがアクセス可能となるように設定するともに、前記複数のディレクトリに含まれる第２のディレクトリ以下の階層にのみ前記第２のプロセスがアクセス可能となるように設定する設定手段と、前記第１のディレクトリ以下のディレクトリである第３のディレクトリに前記第２のプロセスがアクセスすることを要求した場合に、該第３のディレクトリを前記第２のディレクトリ以下の階層にマウントするマウント手段と、前記第２のプロセスが前記第３のディレクトリに継続してアクセスしない期間が所定値に達した場合、または、前記第３のディレクトリへのアクセスが不要である旨の通知を前記第２のプロセスから受け取った場合に、前記第３のディレクトリのマウントを解除する解除手段とを有することを特徴とする情報処理装置を提供する。
【００１１】
請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記第３のディレクトリに対する前記第２のプロセスからのアクセスの可否を表す情報を記憶する可否情報記憶手段を有し、前記マウント手段は、前記可否情報記憶手段の記憶内容を参照し、前記第３のディレクトリに対する前記第２のプロセスからのアクセスが許可されている場合に、前記第３のディレクトリを前記第２のディレクトリ以下の階層にマウントすることを特徴とする。
【００１２】
請求項３に記載の発明は、コンピュータを、記憶手段と、前記記憶手段に記憶されたデータを、木構造をなすように階層化された複数のディレクトリのいずれかに関連付けて管理する管理手段と、第１のプロセスと第２のプロセスとを並行して実行する実行手段と、前記複数のディレクトリに含まれる第１のディレクトリ以下の階層にのみ前記第１のプロセスがアクセス可能となるように設定するともに、前記複数のディレクトリに含まれる第２のディレクトリ以下の階層にのみ前記第２のプロセスがアクセス可能となるように設定する設定手段と、前記第１のディレクトリ以下のディレクトリである第３のディレクトリに前記第２のプロセスがアクセスすることを要求した場合に、該第３のディレクトリを前記第２のディレクトリ以下の階層にマウントするマウント手段と、前記第２のプロセスが前記第３のディレクトリに継続してアクセスしない期間が所定値に達した場合、または、前記第３のディレクトリへのアクセスが不要である旨の通知を前記第２のプロセスから受け取った場合に、前記第３のディレクトリのマウントを解除する解除手段として機能させるためのプログラムを提供する。
【発明の効果】
【００１３】
本発明によれば、複数のプロセスが効率的かつ安全にデータファイルを共有することができる。
【発明を実施するための最良の形態】
【００１４】
＜実施形態＞
以下、図面を参照して、本発明の第１実施形態について説明する。
図１は、本実施形態の全体構成を表す図である。画像形成装置１とコンピュータ１００とはＬＡＮ（Local Area Network）等の通信ネットワークＮＷで接続されている。
【００１５】
図３は、画像形成装置１のハードウェア構成を示す図である。
制御部４は、ＣＰＵ（Central Processing Unit）４４、ＲＯＭ（Read Only Memory）４５、ＲＡＭ（Random Access Memory）４６からなる。記憶部５は、ハードディスク装置等の不揮発性メモリである。記憶部５にはＯＳ（Operating System）等の各種プログラムやデータファイルが記憶されている。ＲＡＭ４６は、ＣＰＵ４４が各種プログラムを実行する際のワークエリアとして使用される。
【００１６】
指示受付部４１は、表示部３９、キー入力部４０からなり、これらを用いることによって、画像形成装置１に対する指示をユーザが入力することができる。表示部３９は例えば液晶表示画面であり、メニューを表す画像を表示する。さらに表示部３９は画面上でユーザが触れた領域を特定するセンサを備えており、これによってユーザが触れたメニューの項目を特定する。キー入力部４０は、スタート、ストップ、リセットの各キーと数字を入力するためのテンキー等からなる。指示受付部４１によって受け付けられた指示はＣＰＵ４４に送られ、ＣＰＵ４４は送られてきた指示に従って画像形成装置１を制御する。
【００１７】
通信Ｉ／Ｆ（Interface）４８は通信ネットワークＮＷに接続されており、画像形成装置１と他の装置との間のデータの授受を仲介する。
ファクシミリ通信部４９は回線交換網（図示省略）に接続されており、電話番号が割り当てられている。ファクシミリ通信部４９は、ユーザが指示受付部４１を用いて指定した送信先に画像データを送信する。また、外部から送信されてきた画像データを受信する。
【００１８】
画像入力部１２は、原稿を光学的に読み取って信号を出力するスキャナ装置である。プラテンガラス２に載せられた原稿に対して光源１３により光が照射され、この反射光がミラー１４、１５、１６を介してレンズ１７で集光され、ＣＣＤ（Charge Coupled Device）等からなる受光部１８で受光される。受光部１８は反射光を画像信号に変換し、ＣＰＵ４４に送信する。ＣＰＵ４４はこの画像信号に基づいてＹ（Yellow）色、Ｍ（Magenta）色、Ｃ（Cyan）色、Ｋ（Black）色の各色の画像を表す画像データを生成する。生成された画像データは、ＲＡＭ４６上に確保されたバッファ領域に書き込まれる。
原稿の複写を行う場合には、バッファ領域に１ページ分の画像データが書き込まれる度にこの画像データが画像出力部６に供給される。原稿の読み取りのみを行う場合には、バッファ領域に書き込まれた画像データを記憶部５に転送し、記憶させる。
【００１９】
画像出力部６は、画像形成エンジン７Ｙ、７Ｍ、７Ｃ、７Ｋ、転写ベルト８等からなる。画像形成エンジン７Ｙ、７Ｍ、７Ｃ、７Ｋは、それぞれＹ色、Ｍ色、Ｃ色、Ｋ色の各色のトナー像を形成する。各画像形成エンジンの構成は共通であるから、ここでは画像形成エンジン７Ｙについて説明する。
【００２０】
感光体ドラム２０Ｙは円筒形をなした感光体であり、周面が光導電性を有している。感光体ドラムは矢印Ａの方向に回転駆動される。帯電装置２１Ｙは、感光体ドラム２０Ｙの表面を所定の電位に帯電させる。
露光装置１９Ｙは、制御部４から供給された画像データに基づいた露光用ビームＬＢを感光体ドラム２０Ｙの表面に照射する走査光学系である。感光体ドラム２０Ｙの表面では、露光用ビームＬＢが照射された部分の電位が所定のレベルまで減少し、画像データに基づいた静電潜像が形成される。
【００２１】
現像装置２２Ｙは、感光体ドラム２０Ｙ表面に形成された静電潜像をトナーによって可視像化する。転写ベルト８は、矢印Ｂの方向に循環駆動される。感光体ドラム２０Ｙ表面に形成されたトナー像は、転写装置２５Ｙに印加された電圧による電界の作用によって、転写ベルト８表面に転写される（１次転写）。
以上が画像形成エンジン７Ｙの構成である。画像形成エンジン７Ｍ、７Ｃ、７Ｋにおいても各色に対応したトナー像が形成され、転写ベルト８に重ねて転写される。
【００２２】
媒体供給部９にはシート状の記録媒体１０が収容されている。転写ベルト８表面にトナー像が形成されると、記録媒体１０が搬送路３６に沿って１枚ずつ送り出され、転写ベルト８上のトナー像が記録媒体１０表面に転写される（２次転写）。
定着装置１１では、記録媒体１０に対して加熱および加圧が行われ、トナー像が記録媒体１０表面に定着される。トナー像が定着された記録媒体１０は、媒体排出部３２に排出される。
以上が画像形成装置１の全体構成である。
【００２３】
図２は、画像形成装置１のソフトウェア構成を示す図である。
記憶部５にはＯＳ（Operating System）が記憶されている。本実施形態では、ＯＳとしてＵＮＩＸ（登録商標）を用いる。ＣＰＵ４４がＯＳを実行することによって、指示受付部４１で受け付けられた指示に応じた画像形成装置１の各部の制御、記憶部５の記憶領域の管理等、画像形成装置１の基本的な動作が制御される。
ＲＯＭ４６には、ＯＳをＲＡＭ４６に読み出すためのＩＰＬ（Initial Program Loader）が記憶されている。
【００２４】
さらに記憶部５には、ＯＳを実行中のＣＰＵ４４によって実行される各種プログラムが記憶されている。
プログラムＰ１は、主に画像入力部１２の動作を制御するためのプログラムである。ＣＰＵ４４がプログラムＰ１を実行することによって、画像入力部１２による原稿の読み取り、および読み取られた原稿の画像を表す画像信号の出力が行われる。さらに、ＣＰＵ４４は、出力された画像信号に基づいてＹ色、Ｍ色、Ｃ色、Ｋ色の各色の画像を表す画像データを生成し、ＲＡＭ４６上のバッファ領域に書き込む。
プログラムＰ２は、主に画像出力部６の動作を制御するためのプログラムである。ＣＰＵ４４がプログラムＰ２を実行することによって、画像データが画像出力部６に供給され、供給された画像データに基づいた画像の形成が行われる。
【００２５】
プログラムＰ３は、ファクシミリ機能における画像データの入力および出力を制御するためのプログラムである。プログラムＰ３の実行により、ＣＰＵ４４は、画像入力部１２で原稿を読み取ることによって生成された画像データをファクシミリ通信部４９を介して外部に送信する。また、ＣＰＵ４４は、ファクシミリ通信部４９を介して受信した画像データを画像出力部６へ供給する。
【００２６】
プログラムＭＦＰは、プログラムＰ１、Ｐ２およびＰ３の上位プログラムである。プログラムＭＦＰの実行により、ＣＰＵ４４は、プログラムＰ１およびＰ２を連携させ、画像形成装置１を複写機として機能させる。すなわち、ＣＰＵ４４は、画像入力部１２による原稿の読み取り、画像出力部６への画像データの供給、画像出力部６による画像形成という一連の処理が連続的に行われるように、画像入力部１２と画像出力部６の動作を同期させる。
【００２７】
また、プログラムＭＦＰの実行により、ＣＰＵ４４は、プログラムＰ１、Ｐ２およびＰ３を連携させ、画像形成装置１をファクシミリとして機能させる。すなわち、ＣＰＵ４４は、画像入力部１２による原稿の読み取り、ファクシミリ通信部４９への画像データの供給、ファクシミリ通信部４９による画像データの送信という一連の処理が連続的に行われるように、画像入力部１２とファクシミリ通信部４９の動作を同期させる。また、ＣＰＵ４４は、ファクシミリ通信部４９による画像データの受信、画像出力部６への画像データの供給、画像出力部６による画像形成という一連の処理が連続的に行われるように、ファクシミリ通信部４９と画像出力部６の動作を同期させる。
【００２８】
また、記憶部５には、画像形成装置１をWebサーバとして機能させるためのプログラムhttpd（Hypertext Transfer Protocol Daemon）が記憶されている。画像形成装置１には、ＵＲＬ（Uniform Resource Locator）が割り当てられており、ＣＰＵ４４がプログラムhttpdを実行中である場合、このＵＲＬを接続先として外部の通信装置から接続要求を送信すると、外部の通信装置と画像形成装置１との間でHTTP（Hypertext Transfer Protocol）に従って通信を行うことが可能となる。
【００２９】
また、記憶部５には、画像形成装置１をWebアプリケーションサーバとして機能させるためのプログラムＷＡが記憶されている。ＣＰＵ４４がプログラムＷＡを実行すると、外部の通信装置からの要求に応じて画像データやＨＴＭＬ（HyperText Markup Language）データを送信したり、外部の通信装置から送信されてきたデータに対して所定の処理を施して返信すること等が可能となる。
【００３０】
ここで、外部の通信装置とは、例えば図１に示したコンピュータ１００であり、Webサーバとしての画像形成装置１から送信されたデータを受信するWebクライアントとして機能する。コンピュータ１００は、ＣＰＵ、ＲＯＭ、ＲＡＭ、記憶部、画像を表示する表示装置、コンピュータ１００にユーザが指示を入力するためのキーボードおよびマウス等を備えている。また、コンピュータ１００は、画像形成装置１の記憶部５に記憶されている画像データを受信する機能を備えている。この画像データは、例えば、画像入力部１２で原稿を読み取ることによって生成されたＴＩＦＦ（Tagged Image File Format）形式の画像データである。また、コンピュータ１００は、ＨＴＭＬ文書を閲覧するためのブラウザ機能を備えており、画像形成装置１の記憶部５に記憶されているＨＴＭＬデータを受信し、このＨＴＭＬデータで表されるＨＴＭＬ文書を表示装置に表示させてユーザが閲覧することができる。
【００３１】
以下の説明では、ＣＰＵ４４がプログラムＭＦＰを実行することによって生成されるプロセスをＭＦＰプロセス、ＣＰＵ４４がプログラムhttpdを実行することによって生成されるプロセスをhttpdプロセスと呼ぶ。
また、画像形成装置１の各部はＣＰＵ４４が上記の各プログラムを実行することによって動作するからその動作の主体は本来、ＣＰＵ４４であるが、以下の説明では、便宜上、各プログラムに対応する動作の主体を、ＣＰＵ４４が当該プログラムを実行することによって生成されたプロセスとする。例えば、ＣＰＵ４４がプログラムＭＦＰを実行することによって行われる動作の主体をＭＦＰプロセスとし、ＣＰＵ４４がプログラムhttpdを実行することによって行われる動作の主体をhttpdプロセスとする。
【００３２】
図４は、記憶部５に記憶されているデータのディレクトリツリーを示す図である。ＯＳのカーネルは、最上位のディレクトリである"/"をルートディレクトリとして認識する。"/"の下位には、"usr"、"etc"および"home"の各ディレクトリが設けられている。"usr"には、ＯＳ、ＭＦＰ、Ｐ１、Ｐ２、Ｐ３、およびhttpdの各プログラムが格納されている。"etc"にはシェルスクリプト等が格納されている。"home"の下位には、"MFP"および"httpd"の各ディレクトリが設けられている。
【００３３】
"/home/MFP"の下位には、"usr"、"etc"および"image"の各ディレクトリが設けられている。"usr"には、プログラムＭＦＰ実行時に使用されるアプリケーションプログラム等が格納されている。"etc"には、プログラムＭＦＰ実行時に使用されるシェルスクリプト等が格納されている。"image"は、画像入力部１２で原稿を読み取ることによって生成された画像データ、ファクシミリ通信部４９で受信された画像データ等を格納するためのディレクトリである。
"/home/httpd"の下位には、"usr"および"etc"の各ディレクトリが設けられている。"usr"には、プログラムhttpd実行時に使用されるアプリケーションプログラム等が格納されている。"etc"には、プログラムhttpd実行時に使用されるシェルスクリプト等が格納されている。
【００３４】
さて、記憶部５には、本発明を特徴付けるプログラムExportdが記憶されている。以下、画像形成装置１の動作におけるプログラムExportdの働きについて説明する。図５は、画像形成装置１の動作のフローを示す図である。画像形成装置１に電源が投入されると以下の処理が行われる。
【００３５】
ステップＡ０１では、ＣＰＵ４４が各プログラムの実行を開始する。具体的には、まず、ＣＰＵ４４がＩＰＬをＲＯＭ４５から読み出して実行する。すると、ＯＳが記憶部５からＲＡＭ４６上に読み出され、ＣＰＵ４４がＯＳの実行を開始する。続いて、ＵＮＩＸ（登録商標）コマンドやシステムコールをＯＳのカーネルに伝達するためのシェルが起動される。さらに、ＣＰＵ４４はプログラムＭＦＰ、httpd、Exportdを記憶部５からＲＡＭ４６上に読み出し、これらの実行を開始する。すると、ＭＦＰ、httpd、Exportdの各プロセスが生成され、これらのプロセスが並行して実行される。なお、この他に図２に示したプログラムＰ１等も実行が開始されるが、以下の説明では、主にプログラムＭＦＰ、httpd、Exportdに関して説明する。
【００３６】
ステップＡ０２では、ルートディレクトリの変更が行われる。まず、ＭＦＰプロセスは、ルートディレクトリを変更するためのシステムコール"chroot /home/MFP"をシェルに対して発する。すると、カーネルがこのシステムコールを受け取り、ＭＦＰプロセスのルートディレクトリを"/home/MFP"に変更する。これによってＭＦＰプロセスは"/home/MFP"以下のディレクトリにのみアクセス可能、すなわち、"/home/MFP"以下のディレクトリに格納されているデータファイルに対してのみ、読み出し、書き込み、実行が可能となる。
【００３７】
また、ステップＡ０２において、ＭＦＰプロセスは、（１）"/home/MFP"がＭＦＰプロセスのルートディレクトリであること、（２）"/home/MFP/image"が画像データの格納領域であること、（３）"/home/MFP"以下の各ディレクトリの公開ポリシ、および（４）マウント可能期間をExportdプロセスに通知する。Exportdプロセスは、通知された内容をＲＡＭ４６に書き込む。
【００３８】
ここで、公開ポリシは、他のプロセスおよびその子プロセスからの"/home/MFP"以下の各ディレクトリに対するアクセスの可否を表す情報であり、予め記憶部５に記憶されている。図６に公開ポリシの内容の例を示す。この例では、他のプロセスがhttpdプロセスである場合について示す。httpdプロセスは、"/home/MFP"に対して読み出し、書き込み、実行のいずれも禁止されている。"/home/MFP/image"に対しては読み出しおよび書き込みが許可されている。"/home/MFP/usr"および"/home/MFP/etc"に対しては読み出し、書き込み、実行のいずれも禁止されている。
【００３９】
マウント可能期間は、あるプロセスのディレクトリツリー内のディレクトリを他のプロセスのディレクトリツリー内にマウントし続けることが可能な期間を表す。マウント可能期間は、他のプロセスからのアクセスを許可されているディレクトリについてだけ定められる。図６に示すように、"/home/MFP/image"についてマウント可能期間が定められており、マウント可能期間は１０分間である。この例では、"/home/MFP/image"が他のプロセスのディレクトリツリー内にマウントされた後、他のプロセスが"/home/MFP/image"に対して継続してアクセスしない時間が１０分に達した場合に、"/home/MFP/image"のマウントが解除される。
この段階で、ＭＦＰプロセスは、"/home/MFP"のパスを"/"として認識している。ＭＦＰプロセスが"/home/MFP"をルートディレクトリに設定したからである。
【００４０】
一方、ステップＡ０２において、httpdプロセスは、ルートディレクトリを変更するためのシステムコール"chroot /home/httpd"をシェルに対して発する。すると、カーネルがこのシステムコールを受け取り、httpdプロセスのルートディレクトリを"/home/httpd"に変更する。これによってhttpdプロセスは"/home/httpd"以下のディレクトリにのみアクセス可能、すなわち、"/home/httpd"以下のディレクトリに格納されているデータファイルに対してのみ、読み出し、書き込み、実行が可能となる。
【００４１】
また、ステップＡ０２において、httpdプロセスは、（１）"/home/httpd"がhttpdプロセスのルートディレクトリであること、（２）"/home/httpd"以下の各ディレクトリの公開ポリシ、および（３）マウント可能期間をExportdプロセスに通知する。Exportdプロセスは、通知された内容をＲＡＭ４６に書き込む。
この段階で、httpdプロセスは、"/home/httpd"のパスを"/"として認識している。従って、"/home/MFP"すなわちＭＦＰプロセスのディレクトリツリー内のディレクトリのパスを認識することができない。
【００４２】
ステップＡ０３では、プロセス間のアクセス要求が発生するまで画像形成装置１が待機し、アクセス要求が発生したならば（ステップＡ０３：ＹＥＳ）、ステップＡ０４に進む。プロセス間のアクセス要求とは、あるプロセスおよびその子プロセスから他のプロセスのディレクトリツリー内のデータファイルへのアクセスの要求であり、具体的には以下のとおりである。例えば、コンピュータ１００を使用する使用者が、ブラウザ機能を用いて、画像形成装置１に記憶されている画像データa001.tifを取得するための操作を行ったとする。この場合、コンピュータ１００は、画像データa001.tifの取得の要求を表すメッセージを画像形成装置１のＵＲＬ宛に送信する。画像形成装置１がメッセージを受信すると、httpdプロセスがプログラムＷＡの実行を開始し、子プロセスとしてＷＡプロセスが生成される。ＷＡプロセスは、Exportdプロセスに対して、画像データa001.tifの取得を要求する。以上がプロセス間のアクセス要求の内容である。
【００４３】
ステップＡ０４では、Exportdプロセスは、アクセス要求の対象であるディレクトリがどのディレクトリであるかを判断し、そのディレクトリの公開ポリシを確認し、他のプロセスからのアクセスが許可されていれば（ステップＡ０４：ＹＥＳ）ステップＡ０５に進み、許可されていなければ（ステップＡ０４：ＮＯ）処理を終了する。具体的には、まず、Exportdプロセスは、取得を要求されているデータの種類からアクセス要求の対象となるディレクトリがどのディレクトリであるかを判断する。この例では、データの種類が画像データであることから、画像データの格納ディレクトリである"/home/MFP/image"がアクセス要求の対象ディレクトリであると判断する。そして、図６に示した記憶内容を参照して対象ディレクトリの公開ポリシを確認する。この例では、httpdプロセスから"/home/MFP/image"へのアクセスが許可されているからステップＡ０５に進む。
【００４４】
ステップＡ０５では、Exportdプロセスは、アクセス要求の対象であるディレクトリを他のプロセスのディレクトリツリー内にマウントする。この例では、Exportdプロセスは、シェルに対してコマンド"mount -bind /home/MFP/image /home/httpd"を発する。これによって、"/home/MFP/image"はhttpdプロセスのルートディレクトリ"/home/httpd"にマウントされる。さらに、Exportdプロセスは、"/home/MFP/image"を"/home/httpd"にマウントしたことをＷＡプロセスに通知する。これによってhttpdプロセスおよびＷＡプロセスは、マウントされたディレクトリのパスを"/image"として認識し、"/image"に格納されているデータファイルに対して読み出しおよび書き込みが可能となる。
ステップＡ０６では、ＷＡプロセスが"/image"に格納されている画像データa001.tifを読み出し、コンピュータ１００に送信する。
【００４５】
ステップＡ０７では、Exportdプロセスは、ＷＡプロセスの"/image"に対するアクセスの有無を監視し、ＷＡプロセスが継続してアクセスしない時間が１０分（マウント可能期間）に達した場合（ステップＡ０７：ＹＥＳ）にはステップＡ０８に進む。なお、"/image"に対するアクセスが不要である旨の通知をＷＡプロセスから受けた場合にステップＡ０８に進むようにしてもよい。
ステップＡ０８では、Exportdプロセスは、"/home/MFP/image"の"/home/httpd"へのマウントを解除する。
以上が画像形成装置１の動作におけるExportdプログラムの働きである。
【００４６】
上記のように、本発明では、あるプロセスのディレクトリツリー内のディレクトリを他のプロセスのディレクトリツリー内にマウントする場合に、マウントされたディレクトリに他のプロセスが継続してアクセスしない時間が所定値に達するとマウントを解除する。従って、他のプロセスからの不要なアクセス、あるいは、通信ネットワークを介した外部からの不正なアクセスがあった場合でも、当該ディレクトリ内のデータファイルの破壊や画像形成装置１の誤作動といった被害を従来の画像形成装置よりも少なくすることができる。また、プロセス間通信やデータファイルのコピーが不要である。
よって、本発明によれば、複数のプロセスが効率的かつ安全にデータファイルを共有することができるようになる。
【００４７】
＜変形例＞
以上説明した形態に限らず、本発明は種々の形態で実施可能である。例えば、上述の実施形態を以下のように変形した形態でも実施可能である。
＜変形例１＞
上記の実施形態では本発明を画像形成装置に適用した例を示したが、複数のプロセスを並行して実行する装置であれば如何なる装置に本発明を適用してもよい。特に、外部の通信装置に情報を送信するWebサーバとしての機能を有する情報処理装置に本発明は好適である。
【００４８】
＜変形例２＞
上記の例では、プログラムExportdが予め記憶部５に記憶されている例を示したが、プログラムExportdを磁気ディスク等の記録媒体に記録し、この記録媒体からプログラムExportdを画像形成装置１に読み込ませるようにしてもよい。また、プログラムExportdを通信ネットワーク経由で画像形成装置１に送信するようにしてもよい。また、プログラムExportdと同様の機能をハードウェアに実装してもよい。
【図面の簡単な説明】
【００４９】
【図１】実施形態の全体構成を表す図である。
【図２】画像形成装置１のソフトウェア構成を示す図である。
【図３】画像形成装置１のハードウェア構成を示す図である。
【図４】記憶部５に記憶されているデータのディレクトリツリーを示す図である。
【図５】画像形成装置１の動作のフローを示す図である。
【図６】公開ポリシの内容の例を示す。
【符号の説明】
【００５０】
１…画像形成装置、１００…コンピュータ、ＮＷ…通信ネットワーク、４…制御部、４４…ＣＰＵ、４５…ＲＯＭ、４６…ＲＡＭ、５…記憶部、４１…指示受付部、４８…通信インターフェース、４９…ファクシミリ通信部、１２…画像入力部、６…画像出力部。
【図１】
2008123361.tif 000003
【図２】
2008123361.tif 000004
【図３】
2008123361.tif 000005
【図４】
2008123361.tif 000006
【図５】
2008123361.tif 000007
【図６】
2008123361.tif 000008