(57)【要約】【課題】  モジュール間が連携するように構成されたシステムの安全性を高める。【解決手段】  コピーアプリケーションＣ０は、クライアント・スタブ６１にサービス処理を依頼する（ステップＳ１）。クライアント・スタブ６１は、コピーアプリケーションＣ０が自社アプリケーショングループ４０に属していることを検知した後（ステップＳ２）、所定のメッセージを送信する（ステップＳ３）。サービス・スタブ６２は、メッセージを受信すると、コピーサービスＳのプロファイルを参照してアクセス許可を検知し（ステップＳ４）、その後コピーサービスＳを呼び出し、コピーサービスＳの実行後、その実行結果を受け取る（ステップＳ５）。この実行結果は、クライアント・スタブ６１を介して（ステップＳ６）、依頼元のコピーアプリケーションＣ０に転送される（ステップＳ７）。【選択図】  図２
2006268794.tif 000002
【特許請求の範囲】
【請求項１】
互いに連携しながら各々所定の処理を行う複数のソフトウエアモジュールを記憶する記憶手段を備え、
ソフトウエアモジュールからソフトウエアモジュールへの処理の依頼方向に制限を設けたこと
を特徴とする画像処理装置。
【請求項２】
所定のソフトウエアモジュールに対する処理の依頼元に制限を設けること
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記処理の依頼元は、１つ以上のソフトウエアモジュールが属するグループであること
を特徴とする請求項２に記載の画像処理装置。
【請求項４】
各々所定の処理を行う複数のソフトウエアモジュールと、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないソフトウエアモジュールを定義したプロファイル情報と、依頼元のソフトウエアモジュールと依頼先のソフトウエアモジュールとの間を連携させる１つ以上のスタブと、を記憶する記憶手段を備え、
前記スタブは、前記依頼先のソフトウエアモジュールのプロファイル情報に基づいて、前記依頼元のソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御すること
を特徴とする画像処理装置。
【請求項５】
前記記憶手段は、前記プロファイル情報として、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないグループを定義したプロファイル情報を記憶し、
前記スタブは、前記プロファイル情報に基づいて、前記グループに属するソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御すること
を特徴とする請求項４に記載の画像処理装置。
【請求項６】
複数のソフトウエアモジュールが互いに連携しながら各々所定の処理を行うにあたり、  ソフトウエアモジュールからソフトウエアモジュールへの処理の依頼方向に制限を設けてソフトウエアモジュール間を連携すること
を特徴とする画像処理方法。
【請求項７】
所定のソフトウエアモジュールに対する処理の依頼元に制限を設けてソフトウエアモジュール間を連携すること
を特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記処理の依頼元は、１つ以上のソフトウエアモジュールが属するグループであること
を特徴とする請求項７に記載の画像処理方法。
【請求項９】
各々所定の処理を行う複数のソフトウエアモジュールと、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないソフトウエアモジュールを定義したプロファイル情報と、依頼元のソフトウエアモジュールと依頼先のソフトウエアモジュールとの間を連携させる１つ以上のスタブと、が記憶手段に記憶されており、
前記スタブは、前記依頼先のソフトウエアモジュールのプロファイル情報に基づいて、前記依頼元のソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御すること
を特徴とする画像処理方法。
【請求項１０】
前記記憶手段に、前記プロファイル情報として、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないグループを定義したプロファイル情報が記憶されており、
前記スタブは、前記プロファイル情報に基づいて、前記グループに属するソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御すること
を特徴とする請求項９に記載の画像処理方法。
【請求項１１】
複数の機器がネットワークを介して接続された情報処理システムにおいて、
各機器は、他の機器のソフトウエアモジュールと連携しながら所定の処理を行うソフトウエアモジュールを記憶する記憶手段を備え、
一の機器のソフトウエアモジュールから他の機器のソフトウエアモジュールへの処理の依頼方向に制限を設けたこと
を特徴とする情報処理システム。
【請求項１２】
所定のソフトウエアモジュールに対する処理の依頼元に制限を設けること
を特徴とする請求項１１に記載の情報処理システム。
【請求項１３】
前記処理の依頼元は、１つ以上のソフトウエアモジュールが属するグループであること
を特徴とする請求項１２に記載の情報処理システム。
【請求項１４】
複数の機器がネットワークを介して接続された情報処理システムにおいて、
各機器は、他の機器のソフトウエアモジュールと連携しながら所定の処理を行うソフトウエアモジュールと、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないソフトウエアモジュールを定義したプロファイル情報と、依頼元のソフトウエアモジュールと依頼先のソフトウエアモジュールとの間を連携させる１つ以上のスタブと、を記憶する記憶手段を備え、
前記スタブは、前記依頼先のソフトウエアモジュールのプロファイル情報に基づいて、前記依頼元の機器のソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御すること
を特徴とする情報処理システム。
【請求項１５】
前記記憶手段は、前記プロファイル情報として、ソフトウエアモジュールソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないグループを定義したプロファイル情報を記憶し、
前記スタブは、前記プロファイル情報に基づいて、前記グループに属するソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御すること
を特徴とする請求項１４に記載の情報処理システム。
【請求項１６】
ソフトウエアモジュールを記憶する機器とネットワークを介して接続された情報処理装置において、
前記機器のソフトウエアモジュールと連携しながら所定の処理を行うソフトウエアモジュールを記憶する記憶手段を備え、
前記機器のソフトウエアモジュール、前記記憶手段に記憶されたソフトウエアモジュールのいずれか一方から他方への処理の依頼方向に制限を設けたこと
を特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び方法並びに情報処理システム及び装置に係り、例えば、スキャナ、プリンタ、ファクシミリ装置、及びこれらの機能を備えた複合機に用いて好適な画像処理装置及び方法並びに情報処理システム及び装置に関する。
【背景技術】
【０００２】
プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下「複合機」という。）が一般的に知られている。 複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する３種類のソフトウエアを設け、ソフトウエアの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
複合機は、機能変更、機能追加、または将来的なハードウエア資源の追加、変更などに柔軟に対応すべく、アプリケーションごとあるいはコントロールサービスごとの追加、変更を容易に行えることが望まれる。
【０００４】
そこで、画像形成処理で使用されるハードウエア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置であって、可変性のあるアーキテクチャ及び多種多様な機能を実現できる画像形成装置が開示されている（例えば特許文献１及び２を参照。）。
【０００５】
特許文献１及び２では、複合機（ＭＦＰ）を構成するソフトウエアを複数のモジュールに分割し、そのモジュール間を、関数呼び出し、または、プロセス間通信をすることによって、可変性のあるアーキテクチャおよび多種多様な機能を実現している。
【特許文献１】特開２００３−１７７９２７号公報
【特許文献２】特開２００３−１７７９３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１及び２に記載されたような構成では、どのモジュールであっても任意のモジュールを利用することが可能である。このため、全体の構成が複雑化してしまい、機能利用が循環してしまったり、予期せぬモジュールからの呼び出しによって不具合が発生してしまったりなどの問題があった。
【０００７】
特に、モジュールの循環参照は不具合ではないため、実装やテストの段階で発見することは困難である。ここで、循環参照とは、モジュールが他のモジュールを参照（利用）し、この他のモジュールが更に他のモジュールを参照することを繰り返した結果、最初のモジュールが参照されてしまい、モジュール間の参照関係が循環することをいう。循環参照があるにもかかわらず放置しておくと、後日、機能を拡張したり変更したりする必要が生じても、機能の拡張や変更を困難にしてしまうおそれがある。
【０００８】
また、任意のモジュールによって所定の機能が利用可能な場合、悪意のあるモジュール又は何らかの外的な障害によって、システムの中心となる部分が変更されてしまうといった問題があり、安全に運用することが困難であった。
【０００９】
本発明は、上述した課題を解決するために提案されたものであり、モジュール間が連携するように構成されたシステムの安全性を高めることができる画像処理装置及び方法並びに情報処理システム及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る画像処理装置は、互いに連携しながら各々所定の処理を行う複数のソフトウエアモジュールを記憶する記憶手段を備え、ソフトウエアモジュールからソフトウエアモジュールへの処理の依頼方向に制限を設けたことを特徴とする。
【００１１】
本発明に係る画像処理方法は、複数のソフトウエアモジュールが互いに連携しながら各々所定の処理を行うにあたり、ソフトウエアモジュールからソフトウエアモジュールへの処理の依頼方向に制限を設けてソフトウエアモジュール間を連携することを特徴とする。
【００１２】
ソフトウエアモジュール間の連携は、所定のソフトウエアモジュールが他のソフトウエアモジュールに処理を依頼し、他のソフトウエアモジュールが処理を実行してその結果を上記所定のソフトウエアモジュールに返信することによって行われる。しかし、このような連携が無制限に行われると、想定外のソフトウエアモジュールに処理を依頼されたり、循環参照したりといった問題が生じる。そこで、ソフトウエアモジュールからソフトウエアモジュールへの処理の依頼方向に制限を設けている。
【００１３】
したががって、本発明に係る画像処理及び方法によれば、ソフトウエアモジュールからソフトウエアモジュールへの処理の依頼方向に制限を設けることにより、ソフトウエアモジュールの連携を安全に行うことができる。
【００１４】
なお、上記発明は、所定のソフトウエアモジュールに対する処理の依頼元に制限を設けてもよい。また、前記処理の依頼元は、１つ以上のソフトウエアモジュールが属するグループであってもよい。
【００１５】
本発明に係る画像処理装置は、各々所定の処理を行う複数のソフトウエアモジュールと、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないソフトウエアモジュールを定義したプロファイル情報と、依頼元のソフトウエアモジュールと依頼先のソフトウエアモジュールとの間を連携させる１つ以上のスタブと、を記憶する記憶手段を備え、前記スタブは、前記依頼先のソフトウエアモジュールのプロファイル情報に基づいて、前記依頼元のソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御することを特徴とする。
【００１６】
本発明に係る画像処理方法は、各々所定の処理を行う複数のソフトウエアモジュールと、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないソフトウエアモジュールを定義したプロファイル情報と、依頼元のソフトウエアモジュールと依頼先のソフトウエアモジュールとの間を連携させる１つ以上のスタブと、が記憶手段に記憶されており、前記スタブは、前記依頼先のソフトウエアモジュールのプロファイル情報に基づいて、前記依頼元のソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御することを特徴とする。
【００１７】
プロファイル情報は、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないソフトウエアモジュールを定義している。このプロファイル情報は、すべてのソフトウエアモジュールに設けてもよいし、一部のみに設けてもよい。
【００１８】
スタブは、依頼元のソフトウエアモジュールと依頼先のソフトウエアモジュールとの間を連携させるものであり、１つであってもよいし、複数であってもよい。スタブは、依頼元のソフトウエアモジュールから前記依頼先のソフトウエアモジュールへ処理の依頼を中継する際に、前記依頼先のソフトウエアモジュールのプロファイル情報に基づいて、前記依頼元のソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御する。
【００１９】
したがって、本発明に係る画像処理及び方法によれば、依頼先のソフトウエアモジュールのプロファイル情報に基づいて、依頼元のソフトウエアモジュールが依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御することによって、ソフトウエアモジュールの連携を安全に行うことができる。
【００２０】
上記発明において、前記記憶手段は、前記プロファイル情報として、ソフトウエアモジュールの全部又は一部の機能について利用できる又は利用できないグループを定義したプロファイル情報を記憶し、前記スタブは、前記プロファイル情報に基づいて、前記グループに属するソフトウエアモジュールが前記依頼先のソフトウエアモジュールを利用できるように又は利用できないように制御してもよい。
【発明の効果】
【００２１】
本発明に係る画像処理装置及び方法並びに情報処理システム及び装置は、ソフトウエアモジュールの連携を安全に行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００２３】
［構成］
図１は、本発明の実施の形態に係る複合機の構成を示す図である。複合機は、文書をスキャンするスキャナ１１と、プリント出力するプリンタ１２と、電文を送受信するファクシミリ１３と、ネットワークと接続するためのネットワークインタフェース１４と、動作状態を表示すると共にユーザからの操作入力を受け付けるユーザインタフェース（ＵＩ）パネル１５と、画像データ等の様々な情報を記憶するハードディスクドライブ１６と、複数のソフトウエアコンポーネントと、を備えている。
【００２４】
各ソフトウエアコンポーネント（以下「コンポーネント」という。）は、ハードディスクドライブ１６等の記憶装置に記憶されている。各コンポーネントは、役割と位置づけによって定義された複数のグループのいずれか１つに属している。このようなグループとしては、本実施形態では、ハードウエア制御グループ２０、ランタイムグループ３０、自社アプリケーショングループ４０、第三者アプリケーショングループ５０がある。
【００２５】
ハードウエア制御グループ２０の各コンポーネントは、例えば、スキャナ１１、プリンタ１２、ファクシミリ１３等を制御するデバイスドライバなどである。
【００２６】
ランタイムグループ３０の各コンポーネントは、例えば、自社アプリケーショングループ４０や第三者アプリケーショングループ５０の各コンポーネントを実行する際に必要となるソフトウエアモジュールなどである。ランタイムグループ３０の各コンポーネントは、自社アプリケーショングループ４０のコンポーネントからの利用を許可し、ハードウエア制御グループ２０のコンポーネントを利用して、スキャナ１１やプリンタ１２等を動作させる。
【００２７】
自社アプリケーショングループ４０の各コンポーネントは、この複合機の製造時にインストールされたモジュールなどである。第三者アプリケーショングループ５０の各コンポーネントは、この複合機の製造後にユーザによってインストールされたモジュールなどである。例えば、自社アプリケーショングループ４０のコンポーネントは、ランタイムグループ３０のコンポーネントを利用できる。
【００２８】
図２は、ランタイムグループ３０、自社アプリケーショングループ４０、第三者アプリケーショングループ５０に属する各コンポーネントの関係を示す図である。本実施形態では、コンポーネント間のメッセージの送受信方向ではなく、機能を依頼する側をクライアント、機能を実現する側をサーバとする。したがって、例えばデータを永続化させる場合、特定のデータを示して永続化を指示するコンポーネントをクライアントコンポーネント、その指示に基づいてデータをファイルに格納して結果を返す側をサーバコンポーネントという。
【００２９】
以下、ランタイムグループ３０に属するコピーサービスＳ、自社アプリケーショングループ４０に属するコピーアプリケーションＣ０、第三者アプリケーショングループ５０に属するコピーアプリケーションＣ１を例に挙げて、各コピーアプリケーションの動作を説明する。
【００３０】
コピーアプリケーションＣ０及びコピーアプリケーションＣ１は、ユーザとのインタラクションを介して、コピーサービスＳに対して、文書をスキャナ１１から読み込んでプリンタ１２からプリントする機能を実行するように依頼できる。
【００３１】
コピーサービスＳは、そのインタフェース及び動作が複雑であるので、自身の機能を宣言するプロファイルを備えることによって、第三者アプリケーショングループ５０からの利用を認めず、自社アプリケーショングループ４０からの利用のみを認めている。コピーサービスＳは、ハードウエア制御グループ２０のコンポーネントを利用することによって、スキャナ１１やプリンタ１２等のハードウエアを制御できる。
【００３２】
図３は、コピーサービスＳのプロファイルを示す図である。このプロファイルは、コンポーネント識別子＜Ｃｏｍｐｏｎｅｎｔ  ｉｄ＞、名称＜Ｎａｍｅ＞、２つのパブリッシュ・アクセスポイント＜Ｐｕｂｌｉｓｈ  ａｃｃｅｓｓＰｏｉｎｔ＞を有している。コピーサービスＳのコンポーネント識別子は「９Ｃ１７−３３ｆ８ａ８１３ｅ１ｅ１」であり、その名称は「コピーサービス（Ｃｏｐｙ  ｓｅｒｖｉｃｅ）」である。
【００３３】
ブリッシュ・アクセスポイントは、コピーサービスＳが提供する任意のメソッドについて利用可能なクライアント（例えば、コンポーネント、グループ）を定義する。なお、図３において、「＊」は「既出のもの以外」を表している。「＜Ａｌｌｏｗ＞ｘ＜／Ａｌｌｏｗ＞」は、クライアントｘは利用可能であることを示している。「＜Ｄｅｎｙ＞ｘ＜／Ｄｅｎｙ＞」は、クライアントｘは利用不可であることを示している。
【００３４】
具体的には、第１のブリッシュ・アクセスポイントは、コピーサービスＳのメソッド「Ｑｕｅｒｙ」についてすべてのクライアントが利用可能である、ことを示している。第２のブリッシュ・アクセスポイントは、コピーサービスＳの他のメソッドについて、グループ識別子が「ｂ５６９−４ｃ７８４ｂ８６７４ｆｅ」のクライアントが利用可能であり、他のクライアントは利用不可である、ことを示している。
【００３５】
自社アプリケーショングループ４０は、グループ情報を有している。なお、自社アプリケーショングループ４０の代わりに、自社アプリケーショングループ４０に属するコンポーネントが各々グループ情報を有してもよい。
【００３６】
図４は、自社アプリケーショングループ４０のグループ情報を示す図である。グループ情報は、グループ識別子＜Ｇｒｏｕｐ  ｉｄ＞、名称＜Ｎａｍｅ＞、当該グループに属するコンポーネントを示すメンバー＜Ｍｅｍｂｅｒ＞を有している。
【００３７】
自社アプリケーショングループ４０のグループ識別子は「ｂ５６９−４ｃ７８４ｂ８６７４ｆｅ」であり、その名称は「アプリケーションズ・グループ」である。また、メンバーのタグに記述されている各々のコンポーネント識別子は、自社アプリケーショングループ４０に属するコンポーネントを表している。例えば図４では、メンバーのタグに記述されている「ａ６ａ１−ｆ９ｄ３１２５ｂ３４ｆ３」は、コピーアプリケーションＣ０を示している。よって、コピーアプリケーションＣ０は、自社アプリケーショングループ４０に属している。なお、第三者アプリケーショングループ５０のグループ情報も図４と同様に構成されている。
【００３８】
上記のように構成された複合機において、複合機の各コンポーネントは、図２に示すように、コンポーネント間の通信を実現するためにスタブを用いている。なお、クライアントが利用するスタブを「クライアント・スタブ」という。クライアント・スタブは、クライアントからの呼び出しを中継（横取り）してサービス（依頼された処理を行うコンポーネント）側に伝達する。また、サービスが利用するスタブを「サービス・スタブ」という。サービス・スタブは、クライアントからの呼び出しを処理して、サービスに伝達し、サービスからの結果を受けてクライアント・スタブに返信する。
【００３９】
［コピーアプリケーションＣ０がクライアントの場合］
コピーアプリケーションＣ０がクライアントである場合を例に挙げて、コンポーネント間のアクセス制御について説明する。
【００４０】
コピーアプリケーションＣ０は、クライアント・スタブ６１にサービス処理を依頼する（ステップＳ１）。ここでは、「ｓｔａｒｔＣｏｐｙＡｃｔｉｏｎ」というメソッドを因数と共に呼び出す。
【００４１】
クライアント・スタブ６１は、処理の依頼元であるコピーアプリケーションＣ０のコンポーネント識別子と、自社アプリケーショングループ４０のグループ情報と、に基づいて、コピーアプリケーションＣ０が自社アプリケーショングループ４０に属していることを検知する（ステップＳ２）。
【００４２】
クライアント・スタブ６１は、コピーアプリケーションＣ０のグループ識別子、コンポーネント識別子、呼び出すメソッドの名称、引数を含むメッセージをサービス・スタブ６２に送信する（ステップＳ３）。
【００４３】
サービス・スタブ６２は、クライアント・スタブ６１からのメッセージを受信すると、グループ識別子、コンポーネント識別子、メソッドの名称に基づいて、コピーサービスＳのプロファイルを参照し、コピーアプリケーションＣ０のアクセスが許可されているか否かを検知する（ステップＳ４）。本実施形態では、サービス・スタブ６２は、コピーアプリケーションＣ０がコピーサービスＳにアクセスすることが許可されていることを検知する。
【００４４】
サービス・スタブ６２は、アクセスが許可されていることを検知するとコピーサービスＳを呼び出し、コピーサービスＳの実行後、その実行結果を受け取る（ステップＳ５）。サービス・スタブ６２は、この実行結果を、コピーアプリケーションＣ０からの依頼を中継したクライアント・スタブ６１に転送する（ステップＳ６）。
【００４５】
クライアント・スタブ６１は、その結果を依頼元のコピーアプリケーションＣ０に転送する（ステップＳ７）。このように、コピーサービスＳは、プロファイルによって制限されていないコピーアプリケーションＣ０の利用を許可し、コピーアプリケーションＣ０は、コピーサービスＳの提供するサービス機能の１つであるｓｔａｒｔＣｏｐｙＡｃｔｉｏｎを利用することができる。
【００４６】
［コピーアプリケーションＣ１がクライアントの場合］
つぎに、コピーアプリケーションＣ１がクライアントである場合を例に挙げて、コンポーネント間のアクセス制御について説明する。
【００４７】
コピーアプリケーションＣ１は、クライアント・スタブ６１にサービス処理を依頼する（ステップＳ１１）。ここでは、「ｓｔａｒｔＣｏｐｙＡｃｔｉｏｎ」というメソッドを因数と共に呼び出す。
【００４８】
クライアント・スタブ６１は、処理の依頼元であるコピーアプリケーションＣ１のコンポーネント識別子と、自社アプリケーショングループ５０のグループ情報と、に基づいて、コピーアプリケーションＣ１が自社アプリケーショングループ５０に属していることを検知する（ステップＳ１２）。
【００４９】
クライアント・スタブ６１は、コピーアプリケーションＣ１のグループ識別子、コンポーネント識別子、呼び出すメソッドの名称、引数を含むメッセージをサービス・スタブ６２に送信する（ステップＳ１３）。
【００５０】
サービス・スタブ６２は、クライアント・スタブ６１からのメッセージを受信すると、グループ識別子、コンポーネント識別子、メソッドの名称に基づいて、コピーサービスＳのプロファイルを参照し、コピーアプリケーションＣ１のアクセスが許可されているか否かを検知する（ステップＳ１４）。本実施形態では、サービス・スタブ６２は、コピーアプリケーションＣ１がコピーサービスＳにアクセスすることが許可されていないことを検知する。
【００５１】
サービス・スタブ６２は、アクセス不許可を検知すると、クライアント・スタブ６１にエラーを返す（ステップＳ１５）。クライアント・スタブ６１は、サービス・スタブ６２からのエラーを受け取ると、依頼元のコピーアプリケーションＣ１にエラーを転送する（ステップＳ１６）。この結果、コピーサービスＳは、プロファイルによって制限されているコピーアプリケーションＣ１に対してその利用を許可せず、コピーアプリケーションＣ１は、コピーサービスＳの提供するサービスを利用することができない。
【００５２】
以上のように、本実施形態に係る複合機は、コピーサービスＳに対して、当該コピーサービスＳを利用できるクライアントをプロファイルで定義することによって、コンポーネント間の処理の依頼方向に制限を設けている。これにより、コピーサービスＳが想定外のクライアントからの依頼を受けることを回避することができる。この結果、複合機は、モジュール間の連携に問題が生じなくなり、安全に様々なサービスを提供することができる。
【００５３】
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。
【００５４】
上記実施形態では、コンポーネントの一例としてコピーサービスＳを挙げて説明したが、ソフトウエアモジュールであればコンポーネントは特に限定されるものではない。また、コピーサービスＳは、第三者アプリケーショングループ５０のグループ識別子の代わりにコンポーネント識別子をプロファイルに記述することによって、コンポーネント単位でアクセスを制限してもよいし、
さらに、上記実施形態では、コンポーネント単位でプロファイルを設けていたが、グループ単位でプロファイルを設けてもよい。これにより、グループに属する各コンポーネントが想定外のクライアントからの依頼を受けるのを一括して回避することができる。
【００５５】
また、各プロファイルを読み出し、コンポーネント間の利用関係をみて、循環参照がないかを検出する手段（例えば、循環参照検出モジュール）を設けてもよい。これにより、循環参照の有無を容易に検出することができる。さらに、プロファイルを書き換えて調整する手段（例えば、プロファイル調整モジュール）を設けてもよい。これにより、循環参照が検出された場合には、各コンポーネントのプロファイルを書き換えて調整することにより、循環参照をなくすことができる。
【００５６】
また、ネットワーク上に存在する複数の機器間においても、上述した実施形態と同様にして各機器のソフトウエアモジュールの連携の依頼方向を規制することができる。すなわち、本発明は、ソフトウエアモジュールがネットワークを介して他のソフトウエアモジュールに処理を依頼する場合にも適用可能である。
【図面の簡単な説明】
【００５７】
【図１】図１は、本発明の実施の形態に係る複合機の構成を示す図である。
【図２】図２は、ランタイムグループ、自社アプリケーショングループ、第三者アプリケーショングループに属する各コンポーネントの関係を示す図である。
【図３】図３は、コピーサービスのプロファイルを示す図である。
【図４】図４は、自社アプリケーショングループのグループ情報を示す図である。
【符号の説明】
【００５８】
１１  スキャナ
１２  プリンタ
１３  ファクシミリ
１４  ネットワークインタフェース
１５  ＵＩパネル
１６  ハードディスクドライブ
２０  ハードウエア制御グループ
３０  ランタイムグループ
４０  自社アプリケーショングループ
Ｓ  コピーサービス
Ｃ０，Ｃ１  コピーアプリケーション
【図１】
2006268794.tif 000003
【図２】
2006268794.tif 000004
【図３】
2006268794.tif 000005
【図４】
2006268794.tif 000006