(57)【要約】【課題】フロントエンドＰＣの機能の追加又は変更を柔軟に行えるようにする。【解決手段】複合機１０には、リアルタイムＯＳ１１、Ｃｏｒｂａ１２、フィルタ１３が実装され、その上で動作するネットワークＩ/Ｆ１４、デコンポーザ/イメージャ１５、ＩＯＴコントローラ１６は、リモート呼出し可能なＡＰＩで実現される。(ａ)のように、複合機１０が直接ネットワーク９０に接続された場合は、検知手段１７がフロントエンドＰＣ３０を検知しないため、フィルタ１３は、外部の装置からのＡＰＩのリモート呼出しを抑制する。一方、(ｂ)のように、複合機１０がフロントエンドＰＣ３０を介してネットワーク９０に接続された場合は、検知手段１７がフロントエンドＰＣ３０を認識し、フィルタ１３は、このフロントエンドＰＣ３０からのＡＰＩのリモート呼出しのみを実行する。【選択図】図２
2007280302.tif 000002
【特許請求の範囲】
【請求項１】
特定機能を動作させるための分散オブジェクト環境における関数を記憶する記憶手段と、
前記記憶手段に記憶された前記関数のリモート呼出しを他の装置から受けると、当該他の装置が当該関数のリモート呼出しを許可された特定装置であるか判定し、当該判定の結果に基づいて当該関数の呼出しを制御する制御手段と
を備えたことを特徴とする複合機。
【請求項２】
前記特定装置の接続を検知する検知手段を更に備え、
前記制御手段は、前記検知手段が前記特定装置を検知していない場合に、前記関数の呼出しを制限することを特徴とする請求項１記載の複合機。
【請求項３】
前記特定装置の接続を検知する検知手段を更に備え、
前記制御手段は、前記検知手段が検知した前記特定装置が前記他の装置と同一である場合に、前記関数を呼び出すことを特徴とする請求項１記載の複合機。
【請求項４】
前記特定装置の接続を検知する検知手段を更に備え、
前記制御手段は、前記検知手段が検知した前記特定装置が前記他の装置と異なる場合に、前記関数の呼出しを制限することを特徴とする請求項１記載の複合機。
【請求項５】
複合機の動作を制御するための方法であって、
前記複合機を動作させることができる特定装置の情報をメモリに記憶するステップと、
前記複合機を動作させるための分散オブジェクト環境における関数のリモート呼出しを他の装置から受け付けるステップと、
前記他の装置の情報が前記メモリに記憶されているか判定するステップと、
前記判定の結果に基づいて前記関数の呼出しを制御するステップと
を含むことを特徴とする方法。
【請求項６】
前記記憶するステップでは、前記複合機の特定機能を動作させることができる前記特定装置の情報を記憶し、
前記受け付けるステップでは、前記特定機能を動作させるための前記関数のリモート呼出しを前記他の装置から受け付けることを特徴とする請求項５記載の方法。
【請求項７】
前記記憶するステップでは、前記複合機の特定機能の特定バージョンを動作させることができる前記特定装置の情報を記憶し、
前記受け付けるステップでは、前記特定機能を動作させるための前記関数のリモート呼出しを前記他の装置から受け付け、
前記制御するステップでは、前記関数の前記特定バージョンに対応するインターフェイスを呼び出すことを特徴とする請求項５記載の方法。
【請求項８】
複合機の動作を制御するためのプログラムであって、
前記複合機の特定機能を動作させるための分散オブジェクト環境における関数のリモート呼出しを他の装置から受け付ける機能と、
前記他の装置が前記関数のリモート呼出しを許可された特定装置であるか判定する機能と、
前記判定の結果に基づいて前記関数の呼出しを制御する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する複合機等に関し、より詳しくは、これらの機能の動作指示等のために操作される装置を接続可能な複合機等に関する。
【背景技術】
【０００２】
近年、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する所謂複合機が普及している。その中には、これらの機能の動作指示等のために操作されるＰＣ(以下、「フロントエンドＰＣ」という)が接続されているものがある。昨今、このフロントエンドＰＣにＷｉｎｄｏｗｓ(登録商標)を搭載してシステムを構成する方法が用いられるようになった。この方法により、ＷｉｎｄｏｗｓライクなＧＵＩを作成したり、Ｗｉｎｄｏｗｓ(登録商標)との親和性が高いネットワークシステムを構成したりすることが可能となっている。また、フロントエンドＰＣとしては、Ｌｉｎｕｘ(登録商標)等の他のワークステーションやサーバが用いられることもある。
【０００３】
このように、フロントエンドＰＣは、ユーザに多くの機能を提供することが可能となり、複合機本体の機能も充実したものとなっている。ところが、複合機とフロントエンドＰＣとの間のデータ通信は、両者間のインターフェイスのための特別な機能(以下、「フロントエンドＩ/Ｆ」という)を用いて独自のプロトコルで行っている場合が多いのが現状である。
【０００４】
尚、公報記載の従来技術としては、ディジタル複合機の操作部を着脱可能にしたものがある(例えば、特許文献１参照)。この特許文献１には、操作部が、ディジタル複合機のシステムソフトウェアのアップデートをするためのツールとして使用可能であることも開示されている。
【０００５】
【特許文献１】特開２００３−３０９６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、フロントエンドＰＣが多くの機能を提供できるようになり、フロントエンドＰＣの機能を追加又は変更したいという要求が生じることも多い。
しかしながら、前述のように、複合機とフロントエンドＰＣとがフロントエンドＩ/Ｆにより独自のプロトコルで通信しているような場合、機能の追加又は変更は簡単には行えない。即ち、追加又は変更後の機能にフロントエンドＩ/Ｆが対応していない場合、機能を追加又は変更するには、フロントエンドＩ/Ｆを取り替えなければならないのである。
また、フロントエンドＰＣに追加又は変更したい機能に対応する機能を、複合機が既に有している場合もある。しかしながら、このような場合であっても、追加又は変更後の機能にフロントエンドＩ/Ｆが対応していなければ、それを取り替えない限り、フロントエンドＰＣの機能の追加又は変更は行えない。
【０００７】
即ち、従来技術においては、フロントエンドＩ/Ｆだけが機能の追加又は変更に対応していない場合であっても、フロントエンドＰＣの機能の追加又は変更を柔軟に行うことができず、システムの円滑な運用に支障を来たすという問題点があった。
尚、特許文献１の技術は、着脱可能な操作部を用いてディジタル複合機のシステムソフトウェアの変更を行うに過ぎず、上記問題点を解決できるものではない。
【０００８】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、フロントエンドＰＣの機能の追加又は変更を柔軟に行えるようにすることにある。
また、本発明の他の目的は、フロントエンドＰＣによる複合機の機能の利用をセキュアに行えるようにすることにある。
【課題を解決するための手段】
【０００９】
かかる目的のもと、本発明では、複合機の機能を、リモート呼出し可能な関数、即ち、ＡＰＩ(Application Program Interface)によって実現した。そして、許可されたフロントエンドＰＣからのみ、この関数のリモート呼出しを可能にした。即ち、本発明の複合機は、特定機能を動作させるための分散オブジェクト環境における関数を記憶する記憶手段と、この記憶手段に記憶された関数のリモート呼出しを他の装置から受けると、この他の装置がその関数のリモート呼出しを許可された特定装置であるか判定し、判定の結果に基づいてその関数の呼出しを制御する制御手段とを備えている。
【００１０】
また、本発明では、複合機がフロントエンドＰＣを検知しない場合、ネットワークを含む通信手段からの関数のリモート呼出しを抑制するようにした。その場合、本発明の複合機は、特定装置の接続を検知する検知手段を更に備え、制御手段は、検知手段が特定装置を検知していない場合に関数の呼出しを制限する、というものとなる。
【００１１】
更に、本発明では、複合機がフロントエンドＰＣの接続を検知すると、関数をリモート呼出し可能とした。その場合、本発明の複合機は、特定装置の接続を検知する検知手段を更に備え、制御手段は、検知手段が検知した特定装置が上記他の装置と同一である場合に関数を呼び出す、というものとなる。
【００１２】
更にまた、本発明では、基本的にネットワーク経由で関数のリモート呼出しを可能とするが、ネットワーク接続された装置の中からフロントエンドＰＣを認識し、認識された装置からのみリモート呼出しを可能とした。その場合、本発明の複合機は、特定装置の接続を検知する検知手段を更に備え、制御手段は、検知手段が検知した特定装置が上記他の装置と異なる場合に関数の呼出しを制限する、というものとなる。
【００１３】
また、本発明は、複合機の動作を制御するための方法として捉えることもできる。その場合、本発明の方法は、複合機を動作させることができる特定装置の情報をメモリに記憶するステップと、複合機を動作させるための分散オブジェクト環境における関数のリモート呼出しを他の装置から受け付けるステップと、この他の装置の情報がメモリに記憶されているか判定するステップと、判定の結果に基づいて関数の呼出しを制御するステップとを含んでいる。
【００１４】
一方、本発明は、複合機の動作を制御するためのプログラムとして捉えることもできる。その場合、本発明のプログラムは、複合機の特定機能を動作させるための分散オブジェクト環境における関数のリモート呼出しを他の装置から受け付ける機能と、この他の装置が関数のリモート呼出しを許可された特定装置であるか判定する機能と、判定の結果に基づいて関数の呼出しを制御する機能とを実現させるためのものである。
【発明の効果】
【００１５】
本発明によれば、フロントエンドＰＣの機能の追加又は変更を柔軟に行うことが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
図１は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、複合機１０と、端末装置２０とが、ネットワーク９０で接続されることにより構成されている。
【００１７】
このうち、複合機１０は、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する装置である。即ち、プリンタ機能に着目すれば、画像形成装置として捉えることもでき、スキャナ機能に着目すれば、画像読取り装置として捉えることもできる。また、ファクシミリ機能に着目すれば、画像送信装置/画像受信装置として捉えることもでき、プリンタ機能とスキャナ機能を合わせたものは、複写機として捉えることもできる。
【００１８】
そして、複合機１０には、これらの機能の動作指示等のために操作されるフロントエンドＰＣ３０が接続されている。但し、フロントエンドＰＣ３０は、図示するようなローカル接続ではなく、ネットワーク９０を介して接続されていてもよい。
【００１９】
また、端末装置２０は、文書の印刷や文書のファクシミリ送信等を複合機１０に指示する装置であり、ＰＣ(Personal Computer)が例示される。尚、図１では、フロントエンドＰＣ３０が、複合機１０の機能の動作指示等のために操作される装置として示されており、端末装置２０は、後述するように、複合機１０によってフロントエンドＰＣとして認識されない限り、複合機１０の機能を利用することはできない。
更に、ネットワーク９０は、ＬＡＮ(Local Area Network)であってもよいし、インターネット等のＷＡＮ(Wide Area Network)であってもよい。
【００２０】
次に、本実施の形態の概要について説明する。
図２は、複合機１０にフロントエンドＰＣ３０が接続されていないシステム構成と、複合機１０にフロントエンドＰＣ３０が接続されたシステム構成とを示している。
このうち、図２(ａ)は、複合機１０がフロントエンドＰＣ３０に接続されることなく、直接ネットワーク９０に接続されたシステムである。本実施の形態では、このようにフロントエンドＰＣ３０が複合機１０に接続されていない場合においては、他の装置がネットワーク９０を介して複合機１０の機能を利用することを禁止する。
【００２１】
一方、図２(ｂ)は、複合機１０がフロントエンドＰＣ３０にネットワーク９５を介して接続され、フロントエンドＰＣ３０がネットワーク９０に接続されたシステムである。尚、複合機１０とフロントエンドＰＣ３０とは、ネットワーク９５を介してではなく、ローカルに接続されていてもよい。本実施の形態では、このようにフロントエンドＰＣ３０が複合機１０にネットワーク接続されている場合においては、フロントエンドＰＣ３０からの複合機１０の機能の利用のみを許可し、ネットワーク接続された他の装置からの利用は禁止する。
【００２２】
ここで、複合機１０及びフロントエンドＰＣ３０の内部構成の一例について説明する。
まず、図２(ａ),(ｂ)に示すように、複合機１０には、リアルタイムＯＳ１１が搭載されている。そして、分散オブジェクト環境としてのＣｏｒｂａ(Common Object Request Broker Architecture)(登録商標)１２がその上に実装されている。また、Ｃｏｒｂａ上で動作するプログラムであるフィルタ１３を有しており、これが次に述べるＣｏｒｂａコンポーネントのリモート呼出しを制御する制御手段として機能する。
【００２３】
図では、Ｃｏｒｂａコンポーネントとして、ネットワークＩ/Ｆ１４と、デコンポーザ/イメージャ１５と、ＩＯＴ(Image Output Terminal)コントローラ１６とを例示している。このうち、ネットワークＩ/Ｆ１４は、ネットワークに対するインターフェイスとしての機能を実現するコンポーネントである。また、デコンポーザ/イメージャ１５は、ページ記述言語で記述されたデータを画像データに変換する機能等を実現するコンポーネントである。更に、ＩＯＴコントローラ１６は、後述する画像形成エンジン１８を制御する機能を実現するコンポーネントである。これらのＣｏｒｂａコンポーネントは、互いにローカル呼出し可能であると共に、通信手段を介したリモート呼出しも可能に構成されている。
尚、これらのＣｏｒｂａコンポーネントの実体は、対応する機能を動作させるためのプログラムである。従って、Ｃｏｒｂａコンポーネントは、図示しない記憶手段に記憶されており、そこから呼び出されて実行される。
【００２４】
また、複合機１０は、検知手段１７を備える。この検知手段１７は、フロントエンドＰＣ３０の接続を検知し、そのアドレス等を取得する。
更に、複合機１０は、画像形成エンジン１８を有している。ここで、画像形成エンジン１８としては、例えば、電子写真方式によるものを用いることができるが、その他の如何なる方式によるものであってもよい。
尚、ここでは、分散オブジェクト環境としてＣｏｒｂａを例示したが、ＲＭＩ等の他の分散オブジェクト環境を採用してもよい。
【００２５】
また、図２(ｂ)に示すように、フロントエンドＰＣ３０には、Ｗｉｎｄｏｗｓ(登録商標)ＯＳ３１が搭載されている。そして、分散オブジェクト環境としてのＣｏｒｂａ３２がその上に実装されている。また、フロントエンドＰＣ３０では、ＩＩＳ(Internet Information Services)(登録商標)サーバ３３や、Ｗｅｂサーバ３４も動作するようになっている。そして、Ｗｅｂサーバ３４は、ＣｏｒｂａコンポーネントであるフロントエンドＩ/Ｆ３５を含んでいる。このフロントエンドＩ/Ｆ３５が、上述した複合機１０側のＣｏｒｂａコンポーネントであるデコンポーザ/イメージャ１５やＩＯＴコントローラ１６のリモート呼出しを行う。
【００２６】
更に、図３は、複合機１０にフロントエンドＰＣ３０と他の端末装置２０とがネットワーク９０を介して接続されたシステム構成を示している。本実施の形態では、このようなシステム構成において、フロントエンドＰＣ３０(フロントエンドとして認識された装置)による複合機１０の機能の利用のみを可能とする。ここで、図３には、複合機１０の機能を利用不可能な端末装置２０を１台、複合機１０の機能を利用可能なフロントエンドＰＣ３０を１台示したが、各装置の台数はこれに限らない。即ち、複数台の端末装置２０がネットワーク９０に接続されていてもよいし、複数台のフロントエンドＰＣ３０がネットワーク９０に接続されていてもよい。
尚、図３の端末装置２０の内部構成は、図２で説明したフロントエンドＰＣ３０の内部構成と同様であるので、説明を省略する。
【００２７】
次いで、図２及び図３に概要を示した複合機１０の詳細な動作について説明する。
まず、フロントエンドＰＣ３０の接続を検知する検知手段１７の動作を説明する。
図４は、検知手段１７の動作を示したフローチャートである。
検知手段１７は、フロントエンドＰＣ３０を検知するためのコマンドをネットワーク９０(又はネットワーク９５)上に送出する(ステップ１０１)。
【００２８】
ここで、フロントエンドＰＣ３０を検知するためのコマンドとしては、例えば、ＳＮＭＰ(Simple Network Management Protocol)における監視対象機器の情報を要求するコマンドを用いることができる。この場合、検知手段１７は、ＳＮＭＰマネージャとして機能する。これに対し、ネットワーク９０(又はネットワーク９５)上の装置で動作するＳＮＭＰエージェントが、ＭＩＢ(Management Information Base)で管理される情報を応答として返す。この応答には、例えば、その装置のアドレス、製造者の情報、識別情報(機種/シリアル番号)等を含めることができる。
また、フロントエンドＰＣ３０を検知するためのコマンドとしては、ＨＴＴＰ(HyperText Transfer Protocol)等の他のプロトコルによるものを用いることもできる。この場合も、ＨＴＴＰによる応答のヘッダ情報等に、その装置のアドレス、製造者の情報、識別情報等を含めることができる。
【００２９】
そして、検知手段１７は、このような応答を受信したかどうかを判定する(ステップ１０２)。その結果、一定時間内に応答を受信しなかった場合は、装置が接続されていないものとして、処理を終了する。一方、応答を受信した場合は、応答を返した装置の１つに着目し、その装置をフロントエンドＰＣ３０として認識してよいかどうかを判定する。即ち、その装置の妥当性を検査する(ステップ１０３)。
上述したように、コマンドに対する応答には製造者や機種の情報を含めることができるので、ここでは、これらの情報に基づいて妥当性を検査することができる。例えば、複合機１０と装置の製造者を比較し、同じ製造者であれば、フロントエンドＰＣ３０として認識するといったことが考えられる。
【００３０】
その結果、その装置がフロントエンドＰＣ３０として認識してよいと判定されなかった場合は、何も行わず、応答を返した装置が他にあるかどうかを判定する(ステップ１０８)。
一方、その装置がフロントエンドＰＣ３０として認識してよいと判定された場合、検知手段１７は、まず、その装置(フロントエンドＰＣ３０)のアドレスを取得する(ステップ１０４)。ここで、アドレスは、受信した応答から取得することができる。また、検知手段１７は、フロントエンドＰＣ３０が提供するサービスに関する情報を取得する(ステップ１０５)。ここで、サービスに関する情報は、複合機１０がそのような情報を要求するコマンドを別途送出して取得してもよいし、フロントエンドＰＣ３０を検知するためのコマンドに対する応答に含めるようにしてもよい。
【００３１】
そして、検知手段１７は、フロントエンドＰＣ３０が提供するサービスに対応する複合機１０内の機能を特定する(ステップ１０６)。具体的には、この機能を実現するＣｏｒｂａコンポーネントを特定する。尚、ステップ１０５で、サービスに関する情報を、複合機１０内の対応する機能を特定できる形で取得できれば、そのステップ１０６の処理は行わなくてもよい。
【００３２】
また、検知手段１７は、ステップ１０６で特定した機能と、ステップ１０４で取得したアドレスとの対応情報を、複合機１０内の図示しないメモリに記憶しておく(ステップ１０７)。
そして、最後に、検知手段１７は、応答を返した装置が他にあるかどうか判定する(ステップ１０８)。
その結果、装置が他にあれば、ステップ１０３〜１０７の処理を繰り返す。一方、装置が他になければ、処理を終了する。
【００３３】
ここで、このような検知手段１７の処理によりメモリに記憶される対応情報(以下、「機能/アドレステーブル」という)について説明する。
図５は、機能/アドレステーブルの内容の一例を示したものである。
図示するように、機能/アドレステーブルは、複合機１０が有する機能と、その機能を利用可能なノードのアドレスとを対応付けたものとなっている。
【００３４】
まず、「機能」欄に設定される情報について説明する。
「機能」欄には、複合機１０が有する機能が、分散オブジェクト環境における関数をパッケージにまとめたソフトウェアコンポーネント、又は、分散オブジェクトにおける関数自体の単位で登録されている。具体的には、「Ｃｏｐｙ．＊」、「Ｓｃａｎ．＊」、「Ｍａｉｌｂｏｘ．＊」、「Ｐｒｉｎｔ．＊」のように「．＊」で終わる記述は、ソフトウェアコンポーネントであり、それ以外は、関数自体である。尚、ソフトウェアコンポーネントは、関数の集まりであるので、ソフトウェアコンポーネントの呼出しは、関数の呼出しと考えることもできる。
【００３５】
まず、「Ｃｏｐｙ．＊」は、コピーのパラメータを設定し、コピーを実行するソフトウェアコンポーネントである。このうち、コピーのパラメータの設定は、フロントエンドＰＣ３０からユーザが設定したパラメータを受け取り、複合機１０における実際のコピーに適用する機能である。尚、コピーのパラメータとしては、白黒/カラー、解像度、ファイル形式(ＴＩＦＦ/ＰＤＦ)、縮小、読取り方法(両面/片面)、原稿サイズ等がある。
また、「Ｓｃａｎ．＊」は、スキャンのパラメータを設定し、スキャンを実行するソフトウェアコンポーネントである。この場合も、スキャンのパラメータの設定は、フロントエンドＰＣ３０からユーザが設定したパラメータを受け取り、複合機１０における実際のスキャンに適用する機能である。
【００３６】
更に、「Ｍａｉｌｂｏｘ．＊」は、スキャンで読み込んだ一時文書の一覧を出力したり、その一時文書をメモリカードへ移動したりするソフトウェアコンポーネントである。
更にまた、「Ｐｒｉｎｔ．＊」は、プリントのパラメータを設定し、プリントを実行するソフトウェアコンポーネントである。この場合も、プリントのパラメータの設定は、フロントエンドＰＣ３０からユーザが設定したパラメータを受け取り、複合機１０における実際のプリントに適用する機能である。
【００３７】
以上は、一般の複合機１０が本来備えているプリンタ機能、スキャナ機能に関係するソフトウェアコンポーネントの例であった。ところが、今日、複合機１０で提供される機能は多様化している。つまり、画像形成、画像読取り、画像の送受信には直接関係しないが、これらの機能を用いてサービスを提供する場合に必要となる付随的な機能も考えられる。
【００３８】
そこで、図５には、このような付随的な機能として、複合機１０の利用に対し課金を行うための機能を例示している。
まず、「Ｃｈａｒｇｅ．ｃｕｒｒｅｎｔ」は、コインキットの残金を取得する関数である。また、「Ｃｈａｒｇｅ．ｓｕｂｔｒａｃｔ」は、コインキットの残金を減算する関数である。そして、「Ｃｈａｒｇｅ．ｈｉｓｔｏｒｙ」は、コインキットの履歴を取得する関数である。このうち、「Ｃｈａｒｇｅ．ｃｕｒｒｅｎｔ」及び「Ｃｈａｒｇｅ．ｓｕｂｔｒａｃｔ」は、利用者用の関数として位置付けられ、「Ｃｈａｒｇｅ．ｈｉｓｔｏｒｙ」は、管理者用の関数として位置付けられるものである。
【００３９】
次に、「利用可能なノード」欄に設定される情報について説明する。基本的に、この欄には、対応するソフトウェアコンポーネント又は関数をリモート呼出し可能なノードのアドレスが登録されている。尚、ここでは、アドレスとして、ＩＰアドレスを登録している。
まず、「１２７．０．０．１」は、複合機１０内のソフトウェアコンポーネント間でローカル呼出しに用いられるループバックアドレスである。全ての機能について、このループバックアドレスからの呼出しは可能なように設定されている。
【００４０】
また、「１９２．０．０．２」は、スキャンサービス用のフロントエンドＰＣ３０のＩＰアドレスであるとする。このフロントエンドＰＣ３０は、例えば、スキャンした画像をメモリカード等に読み出す機能を提供する。従って、このフロントエンドＰＣ３０に対しては、スキャンと、スキャンした一時文書の操作と、コインキットに関する関数のうち利用者用の関数の利用が許可される。即ち、「Ｓｃａｎ．＊」、「Ｍａｉｌｂｏｘ．＊」、「Ｃｈａｒｇｅ．ｃｕｒｒｅｎｔ」、「Ｃｈａｒｇｅ．ｓｕｂｔｒａｃｔ」について、このＩＰアドレスが設定されている。
【００４１】
一方、「１９２．０．０．３」は、画像プリント用のフロントエンドＰＣ３０のＩＰアドレスであるとする。このフロントエンドＰＣ３０は、例えば、デジタルカメラやメモリカードをＵＳＢ等で接続し、その中の画像をプリントする機能を提供する。従って、このフロントエンドＰＣ３０に対しては、プリントの操作と、コインキットに関する関数のうち利用者用の関数の利用が許可される。即ち、「Ｐｒｉｎｔ．＊」、「Ｃｈａｒｇｅ．ｃｕｒｒｅｎｔ」、「Ｃｈａｒｇｅ．ｓｕｂｔｒａｃｔ」について、このＩＰアドレスが設定されている。
尚、ここでは、「利用可能なノード」欄にＩＰアドレスのみを登録するようにしたが、ＩＰアドレスに加え、ポート番号を管理するようにしてもよい。また、ノードを識別する情報であれば、それ以外の情報を管理してもよい。
【００４２】
次に、この機能/アドレステーブルを参照してリモート呼出しを制御するフィルタ１３の動作を説明する。
図６は、フィルタ１３の動作を示したフローチャートである。
フィルタ１３は、まず、ソフトウェアコンポーネント又は関数のリモート呼出しを他の装置から受け付ける(ステップ１１１)。そして、この装置のアドレスを取得する(ステップ１１２)。
【００４３】
その後、フィルタ１３は、ステップ１１１で指定されたソフトウェアコンポーネント又は関数と、ステップ１１２で取得したアドレスとの対応が、機能/アドレステーブルに登録されているかどうかを判定する(ステップ１１３)。
その結果、登録されていれば、そのソフトウェアコンポーネント又は関数のリモート呼出しを実行する(ステップ１１４)。一方、登録されていなければ、装置に対しエラー応答を返す(ステップ１１５)。
【００４４】
次に、本実施の形態の変形例について説明する。
ここでは、複合機１０が有する機能について、複数バージョンが存在する場合を考える。そして、複合機１０が有する特定機能のうちの一部のバージョンのみをフロントエンドＰＣ３０が利用可能であるとする。
そこで、このような場合の概略の動作について説明する。
図７は、この場合の動作を説明するためのシステム構成を示した図である。
【００４５】
図７において、複合機１０は、図２及び図３に示したものとほぼ同様の構成を有している。但し、デコンポーザ/イメージャ１５については、２つのバージョンが存在しており、図では、これらを、Ｖ１、Ｖ２で表している。
また、フロントエンドＰＣ３０も、図２及び図３に示したものとほぼ同様の構成を有している。但し、フロントエンドＩ/Ｆ３５は、デコンポーザ/イメージャ１５の２つのバージョンのうち、Ｖ１のみに対応しているものとする。
【００４６】
このような場合、本実施の形態では、フロントエンドＩ/Ｆ３５は、デコンポーザ/イメージャ１５については、Ｖ１のみリモート呼出し可能であり、Ｖ２のリモート呼出しはできないようになる。
具体的には、この動作は次のように実現することができる。
即ち、図４のステップ１０５で、複合機１０の検知手段１７が、利用したい機能及びそのバージョンに関する情報をフロントエンドＰＣ３０から受け取る。そして、ステップ１０７で、機能/アドレステーブルに対し、機能と、アドレスに加え、機能のバージョンも登録する。
また、図６のステップ１１１で、機能だけでなくバージョンも指定したリモート呼出しを受け付ける。そして、ステップ１１４でリモート呼出しを実行する際は、その機能を実現するソフトウェアコンポーネント又は関数におけるそのバージョンに対応するインターフェイスを呼び出す。
【００４７】
このように、本実施の形態では、複合機１０の機能を、リモート呼出し可能な関数によって実現した。これにより、複合機１０のソフトウェアを置換することなく、フロントエンドＰＣ３０を有する構成と、フロントエンドＰＣ３０を有しない構成とを切り替えることが可能となった。そして、フロントエンドＰＣ３０の機能の追加や変更も柔軟に行えるようになった。
また、関数はローカルに呼び出すことも可能なので、装置/ＯＳ/プロセス内通信と、ネットワーク経由の通信とを等価に扱うことが可能なフレームワークを実現することができた。
更に、本実施の形態では、複合機１０の機能の利用を許可されたフロントエンドＰＣ３０からの関数のリモート呼出しのみを実行するように構成した。これにより、フロントエンドＰＣ３０による複合機の機能の利用をセキュアに行えるようになった。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施の形態が適用されるシステムの構成を示した図である。
【図２】本発明の実施の形態の概要を説明するための図である。
【図３】本発明の実施の形態の概要を説明するための図である。
【図４】本発明の実施の形態における検知手段の動作を示したフローチャートである。
【図５】本発明の実施の形態で記憶される機能/アドレステーブルの一例を示した図である。
【図６】本発明の実施の形態におけるフィルタの動作を示したフローチャートである。
【図７】本発明の実施の形態における機能のバージョンを考慮した場合の概要を説明するための図である。
【符号の説明】
【００４９】
１０…複合機、２０…端末装置、３０…フロントエンドＰＣ
【図１】
2007280302.tif 000003
【図２】
2007280302.tif 000004
【図３】
2007280302.tif 000005
【図４】
2007280302.tif 000006
【図５】
2007280302.tif 000007
【図６】
2007280302.tif 000008
【図７】
2007280302.tif 000009