(57)【特許請求の範囲】
【請求項１】
複数の装置においてそれぞれ実行されるサービスの情報を管理するディレクトリサーバにおいて、
装置上で実行されるサービスの情報を格納する格納手段と、
サービスを実行する装置からの要求に応じて、当該サービスの情報を前記格納手段に対して登録する登録手段と、
前記登録手段により登録されている前記サービスを試用するオペレーションを繰り返して実行するサービス試用手段と、
前記サービス試用手段により試用するたびごとに、試用したサービスの品質を検出する品質検出手段と、
前記品質検出手段により検出した前記サービスの品質が、予め定めた品質評価基準を満たさない場合には、前記登録手段が登録したサービスの情報を削除する削除手段と
を有することを特徴とするディレクトリサーバ。
【請求項２】
前記品質検出手段により検出された品質の評価結果を当該サービスの登録属性として前記格納手段に格納される管理テーブルとして記憶し、クライアントからの問い合わせに応じて該評価結果を返答する評価結果通知手段を有することを特徴とする請求項１に記載のディレクトリサーバ。
【請求項３】
前記品質検出手段により検出されたサービスの品質が特定の規準に満たなければ、当該サービスの登録を前記格納手段に格納される管理テーブルから抹消する登録更新手段を有することを特徴とする請求項１または２に記載のディレクトリサーバ。
【請求項４】
前記品質評価基準は、当該サービスに対する任意の操作の呼び出しに要する所要時間にもとづく評価基準であることを特徴とする請求項１ないし３のいずれかに記載のディレクトリサーバ。
【請求項５】
前記品質評価基準は、当該サービスに対する任意の操作の呼び出しにより生じたエラーの頻度にもとづく評価基準であることを特徴とする請求項１ないし３のいずれかに記載のディレクトリサーバ。
【請求項６】
前記サービス試用手段はストレージサービスを試用してテストデータの書き込み操作と読み出し操作を組み合わせたアクセステストを行い、
前記アクセステストの結果の品質を評価することを特徴とする請求項１ないし５のいずれかに記載のディレクトリサーバ。
【請求項７】
前記サービス試用手段はサービスの動的な状態の問い合わせ操作を行い、
前記品質検出手段は、前記動的な状態の問い合わせ操作の結果の品質を評価することを特徴とする請求項１ないし５のいずれかに記載のディレクトリサーバ。
【請求項８】
前記サービス試用手段はプリントサービスの動的な状態の問い合わせ操作を行い、
前記品質検出手段は前記動的な状態の問い合わせ操作の結果得られた時点で利用可能な色及び用紙等のプリンタ資源の状態を検出し、サービスの品質として評価することを特徴とする請求項７に記載のディレクトリサーバ。
【請求項９】
同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置において、
前記グループを構成する他の装置のサービスの各々について試用するためのオペレーションを実行するサービス試用手段と、
前記サービス試用手段を介して試用した前記サービスの品質を繰り返して検出する品質検出手段と、
前記品質検出手段が検出したサービスの品質が予め定めた規準に満たないと判定されるたびごとに、当該サービスの登録を管理テーブルから削除させることをディレクトリサーバに対して指示するサービス登録代理削除手段と
を有することを特徴とする周辺装置。
【請求項１０】
同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置において、
前記グループを構成する他の装置のサービスを試用するオペレーションを繰り返し実行するサービス試用手段と、
前記サービス試用手段を介して利用した前記サービスの品質を繰り返し検出する品質検出手段と、
前記検出手段が検出したサービスの品質が特定の規準に満たない場合に、当該サービスに対する処理を自らが提供するサービスに対する処理でもって代替登録することをディレクトリサーバに対して指示する代替サービス登録要求手段と
を有することを特徴とする周辺装置。
【請求項１１】
前記品質の評価基準は、当該サービスの任意の操作の呼び出しに要する所要時間にもとづく評価基準であることを特徴とする請求項９または１０に記載の周辺装置。
【請求項１２】
前記品質の評価基準は、当該サービスの任意の操作の呼び出しにより生じたエラーの頻度にもとづく評価基準であることを特徴とする請求項９または１０に記載の周辺装置。
【請求項１３】
前記サービス試用手段はストレージサービスを試用してテストデータの書き込み操作と読み出し操作を組み合わせたアクセステストを行い、
前記品質検出手段は前記アクセステストの結果の品質を検出し、前記品質検出手段が検出した前記アクセステストの結果の品質を評価することを特徴とする請求項９または１０に記載の周辺装置。
【請求項１４】
前記サービス試用手段はサービスの動的な状態の問い合わせ操作を行い、
前記品質検出手段は前記動的な状態の問い合わせ操作の結果の品質を検出し、前記動的な状態の問い合わせ操作の結果の品質を評価することを特徴とする請求項９または１０に記載の周辺装置。
【請求項１５】
前記サービス試用手段はプリントサービスの動的な状態の問い合わせ操作を行い、
前記品質検出手段は前記動的な状態の問い合わせ操作の結果得られた時点で利用可能な色や用紙等のプリンタ資源の状態を検出し、
プリンタ資源の状態を検出した時点で利用可能な色や用紙等のプリンタ資源の状態に関して評価することを特徴とする請求項１４に記載の周辺装置。
【請求項１６】
複数の装置においてそれぞれ実行されるサービスの情報を管理するディレクトリサーバの制御方法において、
サービスを実行する装置からの要求に応じて、当該サービスの情報を格納手段に登録する登録ステップと、
前記登録ステップにより登録されている前記サービスを試用するオペレーションを繰り返して実行するサービス試用ステップと、
前記サービス試用ステップにより試用するたびごとに、試用したサービスの品質を検出する品質検出ステップと、
前記品質検出ステップにより検出した前記サービスの品質が、予め定めた品質評価基準を満たさない場合には、前記登録ステップで登録したサービスの情報を削除する削除ステップと
を有することを特徴とするディレクトリサーバの制御方法。
【請求項１７】
前記品質検出ステップにより検出された品質の評価結果を当該サービスの登録属性として前記格納手段に格納される管理テーブルとして記憶し、クライアントからの問い合わせに応じて該評価結果を返答する評価結果通知ステップを含むことを特徴とする請求項１６に記載のディレクトリサーバの制御方法。
【請求項１８】
前記品質検出ステップにより検出されたサービスの品質が特定の規準に満たなければ、当該サービスの登録を前記格納手段に格納される管理テーブルから抹消する登録更新ステップを含むことを特徴とする請求項１６または１７に記載のディレクトリサーバの制御方法。
【請求項１９】
前記品質評価基準は、当該サービスに対する任意の操作の呼び出しに要する所要時間にもとづく評価基準であることを特徴とする請求項１６ないし１８のいずれかに記載のディレクトリサーバの制御方法。
【請求項２０】
前記品質評価基準は、当該サービスに対する任意の操作の呼び出しにより生じたエラーの頻度にもとづく評価基準であることを特徴とする請求項１６ないし１８のいずれかに記載のディレクトリサーバの制御方法。
【請求項２１】
前記サービス試用ステップではストレージサービスを試用してテストデータの書き込み操作と読み出し操作を組み合わせたアクセステストを行い、
前記アクセステストの結果の品質を評価することを特徴とする請求項１６ないし２０のいずれかに記載のディレクトリサーバの制御方法。
【請求項２２】
前記サービス試用ステップではサービスの動的な状態の問い合わせ操作を行い、
前記品質検出ステップは、前記動的な状態の問い合わせ操作の結果の品質を評価することを特徴とする請求項１６ないし２０のいずれかに記載のディレクトリサーバの制御方法。
【請求項２３】
前記サービス試用ステップではプリントサービスの動的な状態の問い合わせ操作を行い、
前記品質検出ステップでは前記動的な状態の問い合わせ操作の結果得られた時点で利用可能な色及び用紙等のプリンタ資源の状態を検出し、サービスの品質として評価することを特徴とする請求項２２に記載のディレクトリサーバの制御方法。
【請求項２４】
同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置の制御方法において、
前記グループを構成する他の装置のサービスの各々について試用するためのオペレーションを実行するサービス試用ステップと、
前記サービス試用ステップを介して試用した前記サービスの品質を繰り返して検出する品質検出ステップと、
前記品質検出ステップが検出したサービスの品質が予め定めた規準に満たないと判定されるたびごとに、当該サービスの登録を管理テーブルから削除させることをディレクトリサーバに対して指示するサービス登録代理削除ステップと
を有することを特徴とする周辺装置の制御方法。
【請求項２５】
同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置の制御方法において、
前記グループを構成する他の装置のサービスを試用するオペレーションを繰り返し実行するサービス試用ステップと、
前記サービス試用ステップを介して利用した前記サービスの品質を繰り返し検出する品質検出ステップと、
前記検出ステップが検出したサービスの品質が特定の規準に満たない場合に、当該サービスに対する処理を自らが提供するサービスに対する処理でもって代替登録することをディレクトリサーバに対して指示する代替サービス登録要求ステップと
を有することを特徴とする周辺装置の制御方法。
【請求項２６】
前記品質の評価基準は、当該サービスの任意の操作の呼び出しに要する所要時間にもとづく評価基準であることを特徴とする請求項２４または２５に記載の周辺装置の制御方法。
【請求項２７】
前記品質の評価基準は、当該サービスの任意の操作の呼び出しにより生じたエラーの頻度にもとづく評価基準であることを特徴とする請求項２４または２５に記載の周辺装置の制御方法。
【請求項２８】
前記サービス試用ステップではストレージサービスを試用してテストデータの書き込み操作と読み出し操作を組み合わせたアクセステストを行い、
前記品質検出ステップでは前記アクセステストの結果の品質を検出し、前記品質検出ステップが検出した前記アクセステストの結果の品質を評価することを特徴とする請求項２４または２５に記載の周辺装置の制御方法。
【請求項２９】
前記サービス試用ステップではサービスの動的な状態の問い合わせ操作を行い、
前記品質検出ステップでは前記動的な状態の問い合わせ操作の結果の品質を検出し、前記動的な状態の問い合わせ操作の結果の品質を評価することを特徴とする請求項２４または２５に記載の周辺装置の制御方法。
【請求項３０】
前記サービス試用ステップではプリントサービスの動的な状態の問い合わせ操作を行い、
前記品質検出ステップでは前記動的な状態の問い合わせ操作の結果得られた時点で利用可能な色や用紙等のプリンタ資源の状態を検出し、
プリンタ資源の状態を検出した時点で利用可能な色や用紙等のプリンタ資源の状態に関して評価することを特徴とする請求項２９に記載の周辺装置の制御方法。
【請求項３１】
複数の装置においてそれぞれ実行されるサービスの情報を管理するディレクトリサーバをコンピュータにより制御するための制御プログラムを記録した記録媒体であって、該制御プログラムはコンピュータに対し、
サービスを実行する装置からの要求に応じて、当該サービスの情報を格納手段に登録させ、
前記格納手段に登録されている前記サービスを試用するオペレーションを繰り返して実行させ、
前記格納手段に登録されている前記サービスを試用するたびごとに、試用したサービスの品質を検出させ、
検出した前記サービスの品質が、予め定めた品質評価基準を満たさない場合には、前記登録したサービスの情報を削除させることを特徴とするディレクトリサーバの制御プログラムを記録した記録媒体。
【請求項３２】
同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置をコンピュータにより制御するための制御プログラムを記録した記録媒体であって、該制御プログラムはコンピュータに対し、
前記グループを構成する他の装置のサービスの各々について試用するためのオペレーションを実行させ、
試用した前記サービスの品質を繰り返して検出させ、
検出したサービスの品質が予め定めた規準に満たないと判定されるたびごとに、当該サービスの登録を管理テーブルから削除させることをディレクトリサーバに対して指示させことを特徴とする周辺装置の制御プログラムを記録した記録媒体。
【請求項３３】
同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置をコンピュータにより制御するための制御プログラムを記録した記録媒体であって、該制御プログラムはコンピュータに対し、
前記グループを構成する他の装置のサービスを試用するオペレーションを繰り返し実行させ、
前記サービス試用で利用した前記サービスの品質を繰り返し検出させ、
前記検出したサービスの品質が特定の規準に満たない場合に、当該サービスに対する処理を自らが提供するサービスに対する処理でもって代替登録することをディレクトリサーバに対して指示させることを特徴とする周辺装置の制御プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の装置に分散した各種のサービスを分散オブジェクト技術を用いて組み合わせるネットワークシステムの中で、ネットワークシステムに存在する各種サービスの情報を蓄積管理し、クライアントに登録されているサービスの情報を提供するディレクトリサーバ、および２台以上の装置からなるグループを構成している周辺装置、その制御方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
従来、イメージスキャナやデジタルカメラ、ファクシミリ受信装置等の入力装置とプリンタやファクシミリ送信装置等の出力装置などの単機能の装置を互いにネットワークを介して接続し、これら単機能装置の機能（例えば、データ入力機能、データ出力機能、二次記憶装置（network attached storage）に格納されるデータの入出力等の単機能）を組み合わせた復号機能をクライアントに提供する分散型の文書処理システムの開発研究が盛んに行なわれている。
【０００３】
また、複数の単機能装置の機能を単一の筐体内に統合したいわゆるマルチファンクションプロダクト（ＭＦＰ）においても、上記と同様に、その単機能の一つまたは幾つかを選択的に切り出してネットワークを介して更に他の装置の機能と組み合わせることで、種々の復号機能を適宜実現することを可能にした分散型の文書処理システムの開発研究が盛んに行なわれている。
【０００４】
このネットワークに分散した情報処理装置間に跨った機能の提供を容易にするためのプログラミングモデルとして、リモートプロシージャコール（ＲＰＣ）や分散オブジェクトの技術が広く知られている。この分散オブジェクトは、オブジェクト指向のソフトウェアモデルを分散システムに拡張したものであり、あるネットワークノード上のオブジェクトが同一ノード上のオブジェクトの操作を呼び出す手順と同等の手順によって、等価に他のネットワークノード上のオブジェクトの操作の呼び出しを可能とする。
【０００５】
文書入力や文書出力を含む文書処理においても、分散オブジェクト技術を適用することで複数の機能の柔軟な連係を達成することが期待されている。純粋な計算などの情報処理の分散処理以外も視野におさめた分散オブジェクトに基づくシステムの提案は、例えばSun（Stanford University Network） によるJava(ジャバ)の応用であるJiniやObject Management Group （ＯＭＧ：オブジェクト管理グループ）によるＣＯＲＢＡ（Common Object Request Broker Architecture & Specification:共通オブジェクト・リクエスト・ブローカ・アーキテクチャ標準仕様書）の一環としての提案等の中に見ることができる。
【０００６】
ネットワークに接続された文書処理のための各種装置群が分散オブジェクトにより制御可能となれば、所定のインターフェースに基づくオブジェクトを提供する各種装置を可換に組み合わせる柔軟なクライアントアプリケーションを容易に記述することが可能となる。また、オブジェクトを操作するためのインターフェースを動的に問い合わせることや、あるいは、遠隔地にあり実際にサービスを提供するサーバオブジェクトとの通信を隠蔽するスタブオブジェクト（あるいは代理オブジェクト）を動的にダウンロードすることで、装置の拡張等に伴う制御インターフェースの変更に対応可能なクライアントアプリケーションを容易に記述することもできる。
【０００７】
クライアントが実行時に動的に分散されたサービスと結び付き（ダイナミックバインディング）、分散オブジェクトのサービスを利用するシステムにおいては、クライアントが所望のサービスを見つけるために、利用可能なサービスの情報を集めたディレクトリサーバ（ネームサーバ、レジストリサーバ、ルックアップサーバ等）が用いられる。複数のサービスやクライアントが分散したシステムでは、サービスを提供する装置のダウンや、サービスとの間を中継するネットワークの切断などにより、一部のサービスが一時的に利用不能となる場合がある。したがって、ディレクトリサーバに登録されているサービス群の情報をメンテナンスし、利用不能なサービスがクライアントに紹介されないように情報を維持する必要がある。
【０００８】
ここで、個々のサービスが正常にシャットダウンされ不活性化する場合は、サービスがあらかじめディレクトリサーバに対して登録の解消を指示することができる。しかし、システムのクラッシュやネットワーク経由の到達性が失われるような場合は、登録されるサービス側が主導してディレクトリサーバの情報を更新することは不可能である。また特に、文書処理装置のような装置においてはユーザによって突然電源が切断される場合に備える必要があるが、このような場合も装置サービス側の申告に基づくディレクトリ情報のメンテナンスはうまく機能しない。
【０００９】
また、JavaのJiniのような分散オブジェクトシステムでは、クライアントが各種のサービスの利用権の期限付きの貸与を受ける（リース）モデルを採用している。ルックアップサーバを利用して、自らのサービスの情報を登録するというサービスを一例にとると、このルックアップサーバの利用も期限付きでリースされたものであり、リース期限が過ぎる前に定期的にその継続利用を申請しなければその登録が無効になる。これに対処するため、Jiniのシステムでは、サービスの無申告の消滅に対応して登録情報の維持を実現している。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記のような従来例では、通常、ネットワークに参加してくる装置は、正常終了すれば格納手段のサービスを削除してシャットダウンする。しかしながら、ネットワーク上のトラフィックやサービスの品質は絶えず変動する。よって、サービスの登録を要求してきたデバイスのサービス情報の全てを登録し、そのまま維持すると、時間の経過によって、あるいは元々から、実際には使用に適しないほどの品質しかないサービスの情報も登録されてしまう。クライアントから問合せに応じて係るサービス情報を返却すると、クライアントは品質の悪いサービスを試用してしまうことになる。
【００１５】
本発明は、上述の点に鑑みてなされたものであり、その目的は、実際にサービスの品質を保証できるサービスをディレクトリサーバの格納手段において更新維持することができるようにすることにある。
【００１９】
【課題を解決するための手段】
上記目的を達成するため、請求項１の発明は、複数の装置においてそれぞれ実行されるサービスの情報を管理するディレクトリサーバにおいて、装置上で実行されるサービスの情報を格納する格納手段と、サービスを実行する装置からの要求に応じて、当該サービスの情報を前記格納手段に対して登録する登録手段と、前記登録手段により登録されている前記サービスを試用するオペレーションを繰り返して実行するサービス試用手段と、
前記サービス試用手段により試用するたびごとに、試用したサービスの品質を検出する品質検出手段と、前記品質検出手段により検出した前記サービスの品質が、予め定めた品質評価基準を満たさない場合には、前記登録手段が登録したサービスの情報を削除する削除手段とを有することを特徴とする。
【００２０】
ここで、前記品質検出手段により検出された品質の評価結果を当該サービスの登録属性として前記格納手段に格納される管理テーブルとして記憶し、クライアントからの問い合わせに応じて該評価結果を返答する評価結果通知手段を有することを特徴とすることができる。
【００２１】
また、前記品質検出手段により検出されたサービスの品質が特定の規準に満たなければ、当該サービスの登録を前記格納手段に格納される管理テーブルから抹消する登録更新手段を有することを特徴とすることができる。
【００２２】
また、前記品質評価基準は、当該サービスに対する任意の操作の呼び出しに要する所要時間にもとづく評価基準であることを特徴とすることができる。
【００２３】
また、前記品質評価基準は、当該サービスに対する任意の操作の呼び出しにより生じたエラーの頻度にもとづく評価基準であることを特徴とすることができる。
【００２４】
また、前記サービス試用手段はストレージサービスを試用してテストデータの書き込み操作と読み出し操作を組み合わせたアクセステストを行い、前記アクセステストの結果の品質を評価することを特徴とすることができる。
【００２５】
また、前記サービス試用手段はサービスの動的な状態の問い合わせ操作を行い、前記品質検出手段は、前記動的な状態の問い合わせ操作の結果の品質を評価することを特徴とすることができる。
【００２６】
また、前記サービス試用手段はプリントサービスの動的な状態の問い合わせ操作を行い、前記品質検出手段は前記動的な状態の問い合わせ操作の結果得られた時点で利用可能な色及び用紙等のプリンタ資源の状態を検出し、サービスの品質として評価することを特徴とすることができる。
【００２７】
上記目的を達成するため、請求項９の発明は、同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置において、前記グループを構成する他の装置のサービスの各々について試用するためのオペレーションを実行するサービス試用手段と、前記サービス試用手段を介して試用した前記サービスの品質を繰り返して検出する品質検出手段と、前記品質検出手段が検出したサービスの品質が予め定めた規準に満たないと判定されるたびごとに、当該サービスの登録を管理テーブルから削除させることをディレクトリサーバに対して指示するサービス登録代理削除手段とを有することを特徴とする。
【００２８】
上記目的を達成するため、請求項１０の発明は、同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置において、前記グループを構成する他の装置のサービスを試用するオペレーションを繰り返し実行するサービス試用手段と、前記サービス試用手段を介して利用した前記サービスの品質を繰り返し検出する品質検出手段と、前記検出手段が検出したサービスの品質が特定の規準に満たない場合に、当該サービスに対する処理を自らが提供するサービスに対する処理でもって代替登録することをディレクトリサーバに対して指示する代替サービス登録要求手段とを有することを特徴とする。
【００２９】
ここで、前記品質の評価基準は、当該サービスの任意の操作の呼び出しに要する所要時間にもとづく評価基準であることを特徴とすることができる。
【００３０】
また、前記品質の評価基準は、当該サービスの任意の操作の呼び出しにより生じたエラーの頻度にもとづく評価基準であることを特徴とすることができる。
【００３１】
また、前記サービス試用手段はストレージサービスを試用してテストデータの書き込み操作と読み出し操作を組み合わせたアクセステストを行い、前記品質検出手段は前記アクセステストの結果の品質を検出し、前記品質検出手段が検出した前記アクセステストの結果の品質を評価することを特徴とすることができる。
【００３２】
また、前記サービス試用手段はサービスの動的な状態の問い合わせ操作を行い、前記品質検出手段は前記動的な状態の問い合わせ操作の結果の品質を検出し、前記動的な状態の問い合わせ操作の結果の品質を評価することを特徴とすることができる。
【００３３】
また、前記サービス試用手段はプリントサービスの動的な状態の問い合わせ操作を行い、前記品質検出手段は前記動的な状態の問い合わせ操作の結果得られた時点で利用可能な色や用紙等のプリンタ資源の状態を検出し、プリンタ資源の状態を検出した時点で利用可能な色や用紙等のプリンタ資源の状態に関して評価することを特徴とすることができる。
【００３４】
上記目的を達成するため、請求項１６の発明は、複数の装置においてそれぞれ実行されるサービスの情報を管理するディレクトリサーバの制御方法において、サービスを実行する装置からの要求に応じて、当該サービスの情報を格納手段に登録する登録ステップと、前記登録ステップにより登録されている前記サービスを試用するオペレーションを繰り返して実行するサービス試用ステップと、前記サービス試用ステップにより試用するたびごとに、試用したサービスの品質を検出する品質検出ステップと、前記品質検出ステップにより検出した前記サービスの品質が、予め定めた品質評価基準を満たさない場合には、前記登録ステップで登録したサービスの情報を削除する削除ステップとを有することを特徴とする。
【００３５】
上記目的を達成するため、請求項２４の発明は、同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置の制御方法において、前記グループを構成する他の装置のサービスの各々について試用するためのオペレーションを実行するサービス試用ステップと、前記サービス試用ステップを介して試用した前記サービスの品質を繰り返して検出する品質検出ステップと、前記品質検出ステップが検出したサービスの品質が予め定めた規準に満たないと判定されるたびごとに、当該サービスの登録を管理テーブルから削除させることをディレクトリサーバに対して指示するサービス登録代理削除ステップとを有することを特徴とする。
【００３６】
上記目的を達成するため、請求項２５の発明は、同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置の制御方法において、前記グループを構成する他の装置のサービスを試用するオペレーションを繰り返し実行するサービス試用ステップと、前記サービス試用ステップを介して利用した前記サービスの品質を繰り返し検出する品質検出ステップと、前記検出ステップが検出したサービスの品質が特定の規準に満たない場合に、当該サービスに対する処理を自らが提供するサービスに対する処理でもって代替登録することをディレクトリサーバに対して指示する代替サービス登録要求ステップとを有することを特徴とする。
【００３７】
上記目的を達成するため、請求項３１の発明は、複数の装置においてそれぞれ実行されるサービスの情報を管理するディレクトリサーバをコンピュータにより制御するための制御プログラムを記録した記録媒体であって、該制御プログラムはコンピュータに対し、サービスを実行する装置からの要求に応じて、当該サービスの情報を格納手段に登録させ、前記格納手段に登録されている前記サービスを試用するオペレーションを繰り返して実行させ、前記格納手段に登録されている前記サービスを試用するたびごとに、試用したサービスの品質を検出させ、検出した前記サービスの品質が、予め定めた品質評価基準を満たさない場合には、前記登録したサービスの情報を削除させることを特徴とする。
【００３８】
上記目的を達成するため、請求項３２の発明は、同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置をコンピュータにより制御するための制御プログラムを記録した記録媒体であって、該制御プログラムはコンピュータに対し、前記グループを構成する他の装置のサービスの各々について試用するためのオペレーションを実行させ、試用した前記サービスの品質を繰り返して検出させ、検出したサービスの品質が予め定めた規準に満たないと判定されるたびごとに、当該サービスの登録を管理テーブルから削除させることをディレクトリサーバに対して指示させことを特徴とする。
【００３９】
上記目的を達成するため、請求項３３の発明は、同等の機能を提供するサービスを提供する２台以上の装置からなるグループに属する周辺装置をコンピュータにより制御するための制御プログラムを記録した記録媒体であって、該制御プログラムはコンピュータに対し、前記グループを構成する他の装置のサービスを試用するオペレーションを繰り返し実行させ、前記サービス試用で利用した前記サービスの品質を繰り返し検出させ、前記検出したサービスの品質が特定の規準に満たない場合に、当該サービスに対する処理を自らが提供するサービスに対する処理でもって代替登録することをディレクトリサーバに対して指示させることを特徴とする。
【００４０】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
（共通の構成と機能）
本発明の各実施形態を詳述する前に、各実施形態に共通に用いる本発明に係るシステムおよび装置の構成とその装置等の機能について説明する。
【００４１】
図１は本発明の実施形態におけるネットワークシステムを示す。同図に示すように、ネットワーク１１には、JavaのJiniやＣＯＲＢＡといったような分散オブジェクト環境に対応している２台の画像入出力装置１２−１，１２−２と、クライアントコンピュータ１３と、ルックアップサーバコンピュータ１４とが接続されている。
【００４２】
分散オブジェクト環境対応画像入出力装置１２−１と１２−２は、それぞれのデータをネットワーク１１を介して転送することができる。また、クライアントコンピュータ１３から分散オブジェクト環境対応画像入出力装置１２−１と１２−２をそれぞれ遠隔操作を行えるようになっている。ルックアップサーバー１４には、クライアントコンピュータ１３から分散オブジェクト環境対応画像入出力装置１２−１，１２−２（以下、総括符号を１２とする）を遠隔操作するのに必要なサービスプロクシオブジェクトがその属性情報とともに登録されている。
【００４３】
図２は図１の分散オブジェクト環境対応画像入出力装置１２の構成例を示す。同図に示すように、分散オブジェクト環境対応画像入出力装置１２は、リーダ部１、プリンタ部２、および画像入出力制御部３を有する。リーダ部１は原稿の画像を読み取り、原稿画像に応じた画像データを画像入出力制御部３へ出力する。プリンタ部２は画像入出力制御部３からの画像データに応じた画像を記録紙上に記録する。画像入出力制御部３はリーダ部１およびプリンタ部２に接続されており、ファクシミリ部４、ストレージ部５、コンピュータインターフェース部７、ＲＩＰ（Raster Image Processor：ラスタ・イメージ・プロセッサ）部８、操作部９、コア部１０などからなる。
【００４４】
ファクシミリ部４は電話回線を介して受信した圧縮画像データを伸張して、伸張された画像データをコア部１０へ転送し、また、コア部１０から転送された画像データを圧縮して、圧縮された圧縮画像データを電話回線を介して送信する。送受信する画像データは、ストレージ部５に接続されたハードディスク６中に一時的に保存することができる。
【００４５】
ストレージ部５にはハードディスク６が接続されており、ストレージ部５はコア部１０から転送された画像データを圧縮し、その画像データを検索するためのＩＤ（識別）番号とともにハードディスク６に記憶させる。また、ストレージ部５はコア部１０を介して転送されたコードデータに基づいてハードディスク６に記憶されている圧縮画像データを検索し、検索された圧縮画像データを読み出して伸張し、伸張された画像データをコア部１０へ転送する。
【００４６】
コンピュータインターフェース部７は、ネットワーク１１とコア部１０の間のインターフェースであり、クライアントコンピュータ１３や他の分散オブジェクト環境対応画像入出力装置１２とのデータのやり取りを行う。
【００４７】
ＲＩＰ部８はネットワーク１１から転送された画像を表すコードデータ（ＰＤＬ：図形記述言語）をプリンタ部２で記録できる画像データに展開する。
【００４８】
操作部９はタッチパネルディスプレイとハードキー（図示しない）とを備え、ユーザーインターフェースにより本分散オブジェクト環境対応画像入出力装置１２への動作指示や動作設定等を行う。
【００４９】
コア部１０の詳細については後述するが、コア部１０はリーダ部１、プリンタ部２、ファクシミリ部４、ストレージ部５、コンピュータインターフェース部７、ＲＩＰ部８、操作部９のそれぞれの間のデータの流れを制御する。
【００５０】
図３は図２のリーダ部１及びプリンタ部２の断面構成を示す。リーダ部１の原稿給送装置１０１は原稿を先頭順に１枚ずつプラテンガラス１０２上へ給送し、原稿の読み取り動作終了後、プラテンガラス１０２上の原稿を排出するものである。原稿がプラテンガラス１０２上に搬送されると、ランプ１０３を点灯し、スキャナユニット１０４の移動を開始させて、原稿を露光走査する。この時の原稿からの反射光は、ミラー１０５，１０６，１０７、及びレンズ１０８によってＣＣＤ（電荷結合素子）イメージセンサ（以下、ＣＣＤという）１０９へ導かれる。このように、走査された原稿の画像はＣＣＤ１０９によって読み取られる。ＣＣＤ１０９から出力される画像データは、所定の処理が施された後、画像入出力制御部３のコア部１０へ転送される。
【００５１】
プリンタ部２のレーザドライバ２２１はレーザ発光部２０１を駆動するものであり、画像入出力制御部３のコア部１０から出力された画像データに応じたレーザ光をレーザ発光部２０１に発光させる。このレーザ光は感光ドラム２０２に照射され、感光ドラム２０２にはレーザ光に応じた潜像が形成される。この感光ドラム２０２の潜像の部分には現像器２０３によって現像剤が付着される。そして、レーザ光の照射開始と同期したタイミングで、カセット２０４及びカセット２０５のいずれかから記録紙を給紙して転写部２０６へ搬送し、感光ドラム２０２に付着された現像剤を記録紙に転写する。
【００５２】
現像剤の乗った記録紙は定着部２０７に搬送され、定着部２０７の熱と圧力により現像剤は記録紙に定着される。定着部２０７を通過した記録紙は排出ローラ２０８によってフィニッシャー２２０へ排出され、フィニッシャー２２０は排出された記録紙を束ねて記録紙を仕分けをしたり、仕分けされた記録紙のステイプルを行う。
【００５３】
また、両面記録が設定されている場合は、排出ローラ２０８のところまで記録紙を一旦搬送した後、排出ローラ２０８の回転方向を逆転させ、フラッパ２０９によって再給紙搬送路２１０へと導く。再給紙搬送路２１０へ導かれた記録紙は上述したタイミングで転写部２０６へ再び給紙される。
【００５４】
図４は図２のコア部１０の構成例を示す。本図に示すように、コア部１０は、インターフェース（Ｉ／Ｆ）１２０、データ処理部１２１、インターフェース１２２、ＣＰＵ（中央演算処理ユニット）１３０、およびメモリ１２４などからなる。リーダ部１からの画像データはインターフェース１２２を介して、データ処理部１２１へ転送される。データ処理部１２１は画像の回転処理や変倍処理などの画像処理や画像データの圧縮、伸張を行うものであり、内部にＡ４／レターサイズ相当の画像データ複数ページ分のページメモリ（図示しない）を有する。リーダ部１からデータ処理部１２１へ転送された画像データは、そのページメモリに一時的に記憶された後、圧縮されてインターフェース１２０を介してストレージ部５へ転送される。
【００５５】
また、コンピュータインターフェース部７を介して入力された画像を表すコードデータ（ＰＤＬ）は、インターフェース１２０を介してデータ処理部１２１に転送された後、ＲＩＰ部８へ転送されて画像データに展開され、展開されたこの画像データはデータ処理部１２１に転送された後、上記のページメモリ（図示しない）に一時的に記憶された後、圧縮されてインターフェース１２０を介してストレージ部５へ転送される。
【００５６】
ファクシミリ部４からの画像データは、データ処理部１２１へ転送された後、上記のページメモリ（図示しない）に一時的に記憶された後、圧縮されてインターフェース１２０を介してストレージ部５へ転送される。
【００５７】
また、ストレージ部５からの画像データは、データ処理部１２１へ転送された後、伸張されて上記ページメモリ（図示しない）に一時的に記憶された後、インターフェース１２０を介してプリンタ部２やファクシミリ部４、コンピュータインターフェース部７へ転送される。
【００５８】
さらに、ストレージ部５はコンピュータインターフェース部７を介して、画像データおよび非画像データの入出力を行い、外部装置に対してデータの格納機能を提供することができる。
【００５９】
尚、前述したデータ処理部１２１へ各種画像データを入力し、内部のページメモリ（図示しない）に一時的に記憶した後で、ストレージ部５へその画像データを転送する前において、その画像データをプリンタ部２やファクシミリ部４、コンピュータインターフェース部７へ転送することも、内部のセレクタ（図示しない）を切り替えることで可能である。
【００６０】
ＣＰＵ１２３はメモリ１２４に記憶されている制御プログラム、及び操作部９から転送された制御コマンドに従って、上述のような各種動作の制御を行う。また、メモリ１２４はＣＰＵ１２３の作業領域としても使われる。
【００６１】
このように、分散オブジェクト環境対応画像入出力装置１２は、コア部１０を中心にして、コア部１０のデータ処理部１２１およびストレージ部５を介して、原稿画像の読み取り、画像のプリント、画像の送受信、画像の保存、コンピュータ（図１の１３、１４）からのデータの入出力などの機能を復号させた処理を行うことが可能である。
【００６２】
次に、本実施形態に係る分散オブジェクト環境対応画像入出力装置１２におけるジョブ制御について、図５を参照して説明する。図５はジョブ制御の単位を論理的に示したものである。ジョブ制御の単位は、複数ページを含む画像データひとまとまりに対する入力および出力処理である。これにより制御されるジョブは画像入力ジョブと画像出力ジョブに大別される。
【００６３】
画像入力ジョブは、リーダー部１で読み取った画像データを順次ストレージ部５へ記録する画像入力ジョブ４１１、ＲＩＰ部８で展開された画像データを順次ストレージ部５へ記録する画像入力ジョブ４１２、ファクシミリ部４で受信された画像データを順次ストレージ部５へ記録する画像入力ジョブ４１３、およびコンピュータインターフェース部７から入力された画像データを順次ストレージ部５へ記録する画像入力ジョブ４１４とにさらに分類される。
【００６４】
さらに、本実施形態に係る分散オブジェクト環境対応画像入出力装置１２は、そのストレージ部５を非画像データの蓄積のために利用する機能を提供し、画像入力ジョブ４１１ならびに画像入力ジョブ４１４は非画像データを扱うこともできる。
【００６５】
また、画像出力ジョブは、ストレージ部５から読み出した画像データを順次プリンタ部２へ出力する画像出力ジョブ４０１、ストレージ部５から読み出した画像データを順次ファクシミリ部４へ出力する画像出力ジョブ４０３、およびストレージ部５から読み出した画像データを順次コンピュータインターフェース部７へ出力する画像出力ジョブ４０４とに分類される。
【００６６】
図６は、上記複数のジョブを組み合わせた単位（以下、セッションと呼ぶ）の一例を示す。５０１はコピーセッションであり、画像入力ジョブ４１１と画像出力ジョブ４０１を組み合わせてセッションとして制御するものである。５０２はＰＤＬプリントセッションであり、画像入力ジョブ４１２と画像出力ジョブ４０１を組み合わせてセッションとして制御するものである。５０３はファクシミリ受信セッションであり、画像入力ジョブ４１３と画像出力ジョブ４０１を組み合わせてセッションとして制御するものである。５０４はプリンタセッションであり、画像入力ジョブ４１４と画像出力ジョブ４０１を組み合わせてセッションとして制御するものである。５０５はファクシミリ送信セッションであり、画像入力ジョブ４１１と画像出力ジョブ４０３を組み合わせてセッションとして制御するものである。５０６はスキャンセッションであり、画像入力ジョブ４１１と画像出力ジョブ４０４を組み合わせてセッションとして制御するものである。５０７はＦＡＸモデム受信セッションであり、画像入力ジョブ４１３と画像出力ジョブ４０４を組み合わせてセッションとして制御するものである。５０８はＦＡＸモデム送信セッションであり、画像入力ジョブ４１４と画像出力ジョブ４０３を組み合わせてセッションとして制御するものである。
【００６７】
尚、セッションは１つ以上のジョブを含む制御単位であり、例えば画像入力ジョブ４１２を１セッションとして扱ったり、また、画像出力ジョブ４０１を１セッションとして扱ったり、画像入力ジョブ４１２と画像出力ジョブ４０１と、画像出力ジョブ４０３を組み合わせて１セッションとして扱っても良い。
【００６８】
図７は図１のクライアントコンピュータ１３に用いられるホストコンピュータのシステム構成例を示す。クライアントコンピュータ１３は稼働するソフトウェアのアルゴリズムによって特徴づけられるが、そのソフトウェアの振る舞いは後述する。
【００６９】
図７において、２４００はホストコンピュータで、ＲＯＭ２４０３に含まれるプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ２４０１を備え、システムバス２４１３に接続される各デバイスをＣＰＵ２４０１が総括的に制御する。ＲＯＭ２４０３に含まれるプログラム用ＲＯＭには、ＣＰＵ２４０１の制御プログラム等を記憶する。２４０２はＲＡＭで、ＣＰＵ２４０１の主メモリ、ワークエリア等として機能する。
【００７０】
２４０５はキーボードコントローラ（ＫＢＣ）で、キーボード２４０９やポインティングデバイス（図示しない）からのキー入力を制御する。２４０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）２４１０の表示を制御する。
【００７１】
２４０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部記憶装置２４１１とのアクセスを制御する。２４０８はネットワークインターフェース（Ｉ／Ｆ）でネットワーク１１を介して他のホストコンピュータや各入出力装置との通信制御処理を実行する。
【００７２】
ＣＰＵ２４０１は、例えばＲＡＭ２４０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ２４１０上でのＷＹＳＩＷＹＧ（見たままのものが得られる、即ちディスプレイ上で最終出力形態がその都度確認できること、仕上り希望通りにディスプレイに表示したり、表示通りに出力装置で出力できること）を可能としている。また、ＣＰＵ２４０１は、ＣＲＴ２４１０上のマウスカーソル等（図示しない）で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００７３】
図８はルックアップサーバコンピュータ１４に上記と同様に用いられるホストコンピュータのシステム構成例を示す。ルックアップサーバコンピュータ１４はハードウェア的にはよく知られた汎用コンピュータの構成であればよく、それを特長づける機能は稼働するソフトウェアのアルゴリズムによって果たされる。例えばこのソフトウェアを分散オブジェクト環境対応画像入出力装置１２のハードウェア上で稼働させることも可能であり、その場合は分散オブジェクト環境対応画像入出力装置１２がルックアップサーバ１４を兼ねることになる。ソフトウェアの振る舞いは後述する。
【００７４】
図８において、２５００はホストコンピュータで、ＲＯＭ２５０３に含まれるプログラム用ＲＯＭに記憶されたプログラム等に基づいて処理を実行するＣＰＵ２５０１を備え、システムバス２５１３に接続される各デバイスをＣＰＵ２５０１が総括的に制御する。２５０２はＲＡＭで、ＣＰＵ２５０１の主メモリ，ワークエリア等として機能する。２５０５はキーボードコントローラ（ＫＢＣ）で、キーボード２５０９やポインティングデバイス（図示しない）からのキー入力を制御する。２５０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）２５１０の表示を制御する。２５０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部記憶装置２５１１とのアクセスを制御する。２５０８はネットワークインターフェースでネットワーク１１を介して他のホストコンピュータや各入出力装置との通信制御処理を実行する。ＣＰＵ２５０１は、ＲＡＭ２５０２上でプログラムの実行を行う。
【００７５】
以下では、本実施形態に係る分散オブジェクトシステムについて概説する。なお、本実施形態においては、上述したJaveのJiniという枠組みに類似した分散オブジェクトシステムを採用して説明を行う。
【００７６】
図４のコア部１０内のメモリ１２４には、図６で説明した各セッションによって実現される装置機能をサービスとして利用するための、ソフトウェア単位であるサービスオブジェクトが複数格納されている。このサービスオブジェクトは、ＰＤＬプリント、画像プリント、画像スキャン、ファクス送信、ファクス受信、データ蓄積、装置管理、ジョブ管理、等の分散オブジェクト環境対応画像入出力装置１２が提供するサービスのそれぞれに対応して構成されている。
【００７７】
サービスオブジェクトは、公知のオブジェクト指向技術におけるオブジェクトと呼ばれるソフトウェア構造の一種であり、クライアントに機能を提供するインターフェースと、そのインターフェースを通じて要求された機能を装置制御によって実現するための実装とを持つ。特に、本実施形態に係るサービスオブジェクトは、公知の分散オブジェクト技術におけるオブジェクトの一種であり、装置のローカルなメモリ空間に配置されたクライアントソフトウェアのみならず、ネットワーク１１を介して遠隔にある外部装置（例えば、クライアントコンピュータ１３）のメモリ空間に配置されたクライアントソフトウェアからも、上記のインターフェースを呼び出してサービスを利用できるように構築されている。
【００７８】
次に、本発明の各実施形態について詳述する。
【００７９】
（第１の実施形態）
まず、本発明の第１〜第３の実施形態に係る、クライアントにサービスを提供するサービスオブジェクトの概略構成を説明する。図９はサービスオブジェクトの１つであるデータ蓄積サービスオブジェクトの構成を概念的に示す。
【００８０】
図９の（Ａ）では、クライアントソフトウェア７０２が装置内部のメモリ１２４の空間からインターフェース７０５を利用する、一般的なオブジェクト指向システムの様子を示している。
【００８１】
データ蓄積サービスオブジェクト７０３は、装置内部のストレージ部５を、クライアントが２次記憶装置として利用するためのインターフェース７０５を提供する。インターフェース７０５には、ストレージ部５に記憶されるファイルを生成したり、生成済のファイルにアクセスするための記述子を取得するためのopen(オープン)、ファイルへのアクセスの完了を宣言するclose（クローズ）、ファイルからデータを読み出すread（リード）、ファイルへデータを書き込むwrite（ライト）、ファイルを消去するunlink（アンリンク）等、公知の一般的なファイルシステムが提供する操作（操作１、操作２、操作３、操作４…）の集合によって定義されるインターフェースを持つ。
【００８２】
インターフェース７０５によって定義されたそれぞれの操作が呼び出されると、インターフェース７０５に対応する実装を提供する装置制御ソフトウェア７０４が活性化される。この結果、ＣＰＵ１２３はストレージ部５を制御して、それぞれの操作に対応する所定の機能を実現する。
【００８３】
以上はクライアントソフトウェアが装置内部のメモリ１２４の空間からインターフェースを利用する、一般的なオブジェクト指向システムの振る舞いを示している。更に、図９の（Ｂ）に示すように、分散オブジェクトシステムである本実施形態に係るサービスオブジェクトは、遠隔地にある他の装置（例えば、クライアントコンピュータ１３）のメモリ空間に配置されるサービス代理オブジェクト７１３と、装置内部のメモリ空間に配置されるサービス実装オブジェクト７２３とが分散連携して、遠隔地の装置のメモリ空間にあるクライアントソフトウェアにサービスのインターフェースを提供する。
【００８４】
データ蓄積サービス代理オブジェクト７１３は、装置内部のストレージ部５を、クライアントが２次記憶装置として利用するためのインターフェース７１５を提供する。インターフェース７１５には、ストレージ部５に記憶されるファイルを生成したり、生成済のファイルにアクセスするための記述子を取得するopen（オープン）、ファイルへのアクセスの完了を宣言するclose（クローズ） 、ファイルからデータを読み出すread（リード）、ファイルへデータを書き込むwrite（ライト） 、ファイルを消去するunlink（アンリンク）等、上述したものと同じインターフェースを持つ。
【００８５】
遠隔地の装置のメモリ空間において、クライアントからインターフェース７１５によって定義されたそれぞれの操作が呼び出されると、その操作呼び出し要求をネットワーク１１経由で装置に転送するためのソフトウェアが活性化される。遠隔装置のＣＰＵ（例えば、２４０１）はこのソフトウェアにしたがって、要求された操作を識別する識別子の値や、呼び出しに引数として渡されたデータ構造を、ネットワーク１１経由で送信可能なバイト列に符号化する。この符号化処理はマーシャリングあるいはシリアライズ（直列化）等と呼ばれ、いくつかの技術が知られている。
【００８６】
遠隔装置のＣＰＵは、次に、符号化したバイト列をネットワーク１１経由で装置１２に送信する。この通信のためには、例えばＯＭＧ（Object-Oriented Management Group:オブジェクト管理グループ）のＩＩＯＰやＳｕｎ（Stanford University Network:スタンフォード大学ネットワーク）のＲＭＩ等のプロトコルが用いられる。
【００８７】
装置１２のローカルなメモリ空間において、一般にオブジェクト要求ブローカ７２２と呼ばれるソフトウェアが、ネットワーク１１からの要求データの受信を常時監視している。そして、オブジェクト要求ブローカ７２２は、ネットワーク１１からの要求データのバイト列を受信すると、そのバイト列を復号化して、もとのオブジェクトの操作の呼び出しと、それに引数として渡されるデータ構造を復元し、サービス実装オブジェクト７２３の対応する操作を呼び出す。この結果、インターフェース７２５に対応する実装を提供する制御ソフトウェアが活性化される。この結果、ＣＰＵ１２３はストレージ部５を制御して、それぞれの操作に対応する所定の機能を実現する。
【００８８】
以上の説明において、クライアントソフトウェア７１２は、装置１２のサービスを実際に実現するサービス実装オブジェクト７２３がネットワーク１１を介した他のメモリ空間に存在することを意識してプログラミングする必要はない。すなわち、操作呼び出しを符号化する処理やネットワーク経由の通信処理等は、サービス代理オブジェクト７１３が内部に隠蔽しているため、クライアントソフトウェア７１２は自らと同じメモリ空間にサービスオブジェクトが実装されている場合と同等に、容易にサービスを利用することができる。このように、クライアントソフトウェア７１２のプログラマに対しネットワークの等価性を提供することは、分散オブジェクト環境の重要な利点の一つである。
【００８９】
また、以上の説明におけるサービス代理オブジェクト７１３が行う、符号化と通信の処理は、あらかじめ定められた符号化アルゴリズムとあらかじめ定められた通信プロトコルに基づく処理である。すなわち、これらの処理は、個々のサービスオブジェクトでそれぞれ異なるインターフェースとは独立に厳密に定義可能である。そこで、分散オブジェクト環境において提供されるコンパイラ（一般に、ＩＤＬコンパイラと呼ばれる）が、サービスのインターフェースを厳格に定義した記述をデータとして読み込み、解釈および変換処理を行うことで、機械的にサービス代理オブジェクト７１３のプログラムを生成できる。システムを構築するプログラマが、ＩＤＬ（Integrated Data Oriented Language）コンパイラをツールとして用いて容易にサービス代理オブジェクト７１３のプログラムを得られることは、分散オブジェクト環境の重要な利点のもう一つである。
【００９０】
次に、クライアントコンピュータ１３、ルックアップサーバ１４、および分散オブジェクト対応画像入出力装置１２が連携したシステムの動作について、ルックアップサーバ１４の作用を中心に説明する。
【００９１】
図１０に、周辺機器の分散オブジェクト対応画像入出力装置１２からサービス代理オブジェクトをルックアップサーバ１４へアップロードするまでの過程を示す。まず、分散オブジェクト環境対応画像入出力装置１２は、ネットワーク１１に接続された瞬間に、ネットワーク１１上に対してルックアップサーバ１４が存在するか否かの問合せのブロードキャストパケットを投げる（ステップＳ０１）。
【００９２】
そのブロードキャストパケットを受け取ったルックアップサーバ１４は、分散オブジェクト環境対応画像入出力装置１２に対して、ルックアップサーバ１４の存在を通知する（ステップＳ０２）。
【００９３】
その後、分散オブジェクト環境対応画像入出力装置１２は発見したルックアップサーバ１４に対してドライバ６１７を登録する。即ち、ネットワーク１１に接続された分散オブジェクト環境対応画像入出力装置１２−１と１２−２はサービス代理オブジェクト群６１７−１，６１７−２をそれぞれルックアップサーバ１４に登録する（ステップＳ０３）。
【００９４】
ルックアップサーバ１４内では、登録されたサービス代理オブジェクトが、図１２に示すように、登録された日時、サービスの名称（周辺機器名）、サービスの仕様（サービス内容）、サービスの所在地等の属性とともに管理されている。登録される属性の種類は、プリンタ、ストレージといったサービスのカテゴリごとに、jiniコミュニティによる標準スキーマが定められている。また、サービスに固有の独自情報をその属性としてルックアップサーバ１４に登録することもできる。ルックアップサーバ１４はクライアントソフトウェアからの問い合わせに応じて、登録されているサービスの各属性を応答するように構成されている。
【００９５】
図１１に、ルックアップサーバ１４からクライアントコンピュータ１３へサービス代理オブジェクトをダウンロードするまでの過程を示す。クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２を利用する場合、クライアントコンピュータ１３は、まずルックアップサーバ１４に対して、どのようなサービスに対応しているサービス代理オブジェクトが存在しているかどうかを検索する（ステップＳ１）。そして、クライアントコンピュータ１３は所望のサービス代理オブジェクトをルックアップサーバ１４からダウンロードし（ステップＳ２）、目的のサービスを提供する分散オブジェクト環境対応画像入出力装置１２と通信を行う（ステップＳ３）。
【００９６】
クライアントコンピュータ１３は「プリントサービスを受けたい」、「スキャンサービスを受けたい」という要求がある場合には、まず、図１２に示すようなルックアップサーバ１４の管理テーブル１８０１を見て、どのようなサービスが登録されているのかを確認し、所望のサービスをルックアップサーバ１４からダウンロードする。
【００９７】
本実施形態に係る分散オブジェクトシステムにおいて、サービスはその利用権を一定期間クライアントに貸与（リース）するモデルが採用されている。すなわち、分散オブジェクト環境対応画像入出力装置１２は、ルックアップサーバ１４のサービスを利用して自らの存在をルックアップサーバ１４に登録するが、この登録にも有効期限が設定される。登録がいったん行われた後にも定期的に登録を繰り返さなければやがては失効し、この失効の仕組みがルックアップサーバ１４のクライアントである各種サーバがシステムダウン等によってその機能を失った際に、いつまでも無効な情報がルックアップサービスに登録され続けるという不都合を解消するのに寄与している。
【００９８】
図１３のフローチャートは、本発明の第１の実施形態における、ルックアップサーバ１４のＣＰＵ２５０１が実行するサービス評価処理の手順を示す。ＣＰＵ２５０１はタイマ（図示しない）の計時に基づくタイマ処理によって、定期的にこのサービス評価処理の手順を繰り返し、登録情報の評価を行う。
【００９９】
説明を簡単にするため、本実施形態のルックアップサーバ１４はクライアントに一時的な二次記憶の機能を提供するストレージサービスの情報を専門に登録するルックアップサーバとしている。本フローチャートのプロセスは、ルックアップサーバ１４のＣＰＵ２５０１の時分割処理によって、上述のルックアップサーバの作用を果たす他の処理と並行に実行される。本フローチャートのプロセスは、ルックアップサーバ１４内部で、一種の擬似的なクライアントとして、ルックアップサーバ１４自身および登録されているサービスを利用するものである。
【０１００】
サービス評価処理を開始すると、ステップＳ１１で、図１２のように管理テーブル１８０１に登録されているサービスのリストから一つのサービスを選択する。
【０１０１】
次のステップＳ１２で、もしもサービスが管理テーブル１８０１に一つも登録されていないと判断した場合、もしくは、登録されているすべてのサービスの評価を終えている場合には、本サービス評価処理を終了する。そうでなければ、ステップＳ１３で、上記選択した登録サービスのサービス代理オブジェクトを取得する。サービス代理オブジェクトのダウンロードは図１１で説明した通常のクライアントが行う処理と同様に行われる。
【０１０２】
次いで、ステップＳ１４で、タイマ（図示しない）から現在時刻を取得して以下の一連の処理の所用時間計測を開始する。次に、ステップＳ１５で、通常のクライアントが行うのと同様に図９のサービス代理オブジェクト７１３のインターフェース７１５からopen（オープン）操作を呼び出してファイルをオープンする。そして、ステップＳ１６で、サービス代理オブジェクト７１３のwrite（ライト） 操作を呼び出してあらかじめ用意したテストデータをファイルに書き込む。次のステップＳ１７で、サービス代理オブジェクト７１３のread（リード）操作を呼び出して、前のステップＳ１６でファイルに書き込んだはずのデータを読み出す。さらに、ステップＳ１８で、サービス代理オブジェクト７１３のclose （クローズ）操作を呼び出してファイルをクローズする。
【０１０３】
続いて、ステップＳ１９で、上記タイマ（図示しない）から現在時刻を取得し、ステップＳ１４で取得した時刻と現在時刻との差分から一連の処理に要した所要時間を得る。ステップＳ２０で、前ステップＳ１９で得た所要時間（以下、応答時間と称する）を当該サービスの登録属性の一つとして、図１２の管理テーブル１８０１に追記する。
【０１０４】
さらに、ステップＳ１１に戻り、以上の処理をすべての登録サービスの各々に関して繰り返す。
【０１０５】
サービス評価処理の過程で属性情報として管理テーブル１８０１に追記した評価結果としての応答時間は、管理テーブル１８０１の他の属性と同様に、クライアントからの問い合わせに応じて返答することができる。
【０１０６】
以上説明したように、本第１の実施形態によれば、ルックアップサーバ１４が自らが保持している登録サービスのそれぞれについて、実際にクライアントとしてそのサービスを試用し、その応答時間の情報をクライアントに伝えることが可能である。その結果、クライアントはその応答時間の情報からそのサービスの性能やそのサービスに至るネットワーク１１の性能を推測することが可能であり、ルックアップサーバ１４による客観的な評価結果に基づく最適なサービスを選択できる。
【０１０７】
最近の応答時間だけでなく、過去数回の履歴もしくは平均、最良値と最悪値等を組み合わせて、属性として管理テーブル１８０１に追記してもよい。また、応答時間の情報を適宜正規化して、例えば、サービスの性能としてＡ，Ｂ，Ｃのような何段階かにランクづけた指標をクライアントに伝えるように構成してもよい。
【０１０８】
本発明の第１の実施形態におけるルックアップサーバ１４は、図１３のサービス評価処理によるサービスの試用と評価ならびに評価結果をクライアントに応答する処理に加えて、評価結果に基づく登録情報の更新処理を行う。
【０１０９】
図１４のフローチャートは、本発明の第１の実施形態における、ルックアップサーバ１４のＣＰＵ２５０１が実行するサービス登録更新処理の手順を示す。ＣＰＵ２５０１はタイマ（図示しない）の計時に基づくタイマ処理によって、定期的にこのサービス登録更新処理の手順を繰り返し、登録情報の更新を行う。本フローチャートのプロセスは、ルックアップサーバ１４のＣＰＵ２５０１の時分割処理によって、上述のルックアップサーバの作用を果たす他の処理と並行に実行される。
【０１１０】
サービス登録更新処理を開始すると、ステップＳ２１で、図１２のように管理テーブル１８０１に登録されているサービスのリストから一つのサービスを選択する。
【０１１１】
次のステップＳ２２で、もしも管理テーブル１８０１にサービスが一つも登録されていないと判断した場合、もしくは、登録されているすべてのサービスの更新を終えている場合には本サービス登録更新処理を終了する。そうでなければ、ステップＳ２３で、管理テーブル１８０１から当該サービスの登録時刻属性（最新のリースを行った時刻）を読み出す。次のステップＳ２４で、現在時刻と登録時刻の差分がリース期間を越えていないか否かをを判定し、もしもリース期間内であればステップＳ２５に進む。もしも、この登録がリース期間を過ぎていれば、ステップＳ２７に移行する。
【０１１２】
ステップＳ２５では、管理テーブル１８０１から、最近のサービス評価処理で試用評価した本サービスの応答時間属性を読み出す。ステップＳ２６で、取得した応答時間の評価とあらかじめ定められた基準との比較を行い、もしも基準以上の性能を示していればステップＳ２１に戻り、一連の処理をすべての登録サービスを対象に繰り返す。もしも基準以上の性能を示していなければ、ステップＳ２７に移行する。
ステップＳ２７では、管理テーブル１８０１から当該サービスの登録を抹消し、その後ステップＳ２１に戻り、一連の処理をすべての登録サービスを対象に繰り返す。
【０１１３】
以上説明したように、本第１の実施形態によれば、ルックアップサーバ１４が自らが保持している登録サービスのそれぞれについて、実際にクライアントとしてそのサービスを試用し、その応答時間の情報に基づく評価が一定の基準を満たさない場合には、強制的に当該サービスの登録を抹消する。すなわち、ルックアップサーバ１４は登録されているサービスの性能的な品質を保証するよう努力することができる。その結果、クライアントはルックアップサーバ１４に登録されているサービス群は、他のこの処理を行わないルックアップサーバに登録されているサービス群と比較して、平均的に品質が高いであろうことを期待して、適切なサービスの選択を行うことができる。
【０１１４】
（第２の実施形態）
図１５のフローチャートは、本発明の第２の実施形態における、ルックアップサーバ１４のＣＰＵ２５０１が実行するサービス評価処理の手順を示す。ＣＰＵ２５０１はタイマ（図示しない）に基づくタイマ処理によって、定期的にこのサービス評価処理の手順を繰り返し、登録情報の更新を行う。
【０１１５】
説明を簡単にするため、本実施形態のルックアップサーバはクライアントに一時的な二次記憶の機能を提供するストレージサービスの情報を専門に登録するルックアップサーバとしている。本フローチャートのプロセスはルックアップサーバ１４のＣＰＵ２５０１の時分割処理によって、上述のルックアップサーバ１４の作用を果たす他の処理と並行に実行される。本フローチャートのプロセスはルックアップサーバ１４内部で、一種の擬似的なクライアントとしてルックアップサーバ１４自身、および登録されているサービスを利用するものである。
【０１１６】
サービス評価処理を開始すると、ステップＳ３１で、図１２のように管理テーブル１８０１に登録されているサービスのリストから一つのサービスを選択する。次のステップＳ３２で、もしも管理テーブル１８０１にサービスが一つも登録されていないと判断した場合、もしくは、登録されているすべてのサービスの評価を終えている場合には処理を終了する。そうでなければ、次のステップＳ３３で、上記選択した登録サービスのサービス代理オブジェクト７１３を取得する。サービス代理オブジェクト７１３のダウンロードは前述の通常のクライアントが行う処理と同様に行われる。
【０１１７】
次のステップＳ３４で、通常のクライアントが行うのと同様にサービス代理オブジェクト７１３のインターフェース７１５からopen（オープン）操作を呼び出してファイルをオープンする。続いて、ステップＳ３５で、サービス代理オブジェクト７１３のwrite（ライト） 操作を呼び出してあらかじめ用意したテストデータをファイルに書き込む。そして、ステップＳ３６で、サービス代理オブジェクト７１３のread（リード）操作を呼び出して前ステップＳ３６でファイルに書き込んだはずのデータを読み出す。ステップＳ３７で、サービス代理オブジェクト７１３のclose（クローズ） 操作を呼び出してファイルをクローズする。
【０１１８】
次のステップＳ３８で、上記ステップＳ３５で書き込んだデータと上記ステップＳ３６で読み出したデータの間の比較を行い、もしも両データ間に差異が認められれば、エラーが発生したとして、内部カウンタ（図示しない）の異常度合を表わすカウント（以下、異常カウントと称する）をインクリメントする。また、上記の各ステップで呼び出した操作の結果がビジー等の非正常値を示していた場合にも、その回数を上記異常カウントに加算する。もしも、すべてが正常に完了した場合は内部カウンタ（図示しない）の正常度合を表わすカウント（以下、正常カウントと称する）をインクリメントする。
【０１１９】
次に、ステップＳ３１に戻り、以上の処理をすべての登録サービスの各々に関して繰り返す。
【０１２０】
サービス評価処理の過程で属性情報として管理テーブル１８０１に追記した評価結果としての上記異常カウントおよび上記正常カウントの値は、管理テーブル１８０１の他の属性と同様に、クライアントからの問い合わせに応じて返答することができる。
【０１２１】
なお、本実施形態では、対象とするサービスをストレージに限定してファイルに対するアクセステストを行うことで、エラーの有無を判定したが、より一般的には、あらゆるサービスが備える「セルフテスト」のような操作を実行する操作を呼び出すことで、エラーの有無を判定するように構成してもよい。
【０１２２】
以上説明したように、本第２の実施形態によれば、ルックアップサーバ１４が自らが保持している登録サービスのそれぞれについて、実際にクライアントとしてそのサービスを試用し、そのエラーの有無の情報をクライアントに伝えることが可能である。クライアントはそのエラーの有無の情報からそのサービスの信頼性やそのサービスに至るネットワーク１１の信頼性を推測することが可能であり、ルックアップサーバ１４による客観的な評価結果に基づく最適なサービスを選択できる。
【０１２３】
なお、本実施形態のルックアップサーバ１４に、図１４に示すと同様のサービス登録更新処理を組み合わせ、サービスの信頼性にもとづく登録情報の維持を行うこともできる。この場合、本実施形態によれば、ルックアップサーバ１４が自らが保持している登録サービスのそれぞれについて、実際にクライアントとしてそのサービスを試用し、そのエラーの有無の情報に基づく評価が予め定めた一定の基準を満たさない場合には、強制的に当該サービスの登録を抹消する。すなわち、ルックアップサーバ１４は登録されているサービスの信頼性の品質を保証するよう努力することができる。その結果、クライアントはルックアップサーバ１４に登録されているサービス群は、他のこの処理を行わないルックアップサーバに登録されているサービス群と比較して、平均的に品質が高いであろうことを期待して、適切なサービスの選択を行うことができる。
【０１２４】
（第３の実施形態）
図１６のフローチャートは、本発明の第３の実施形態における、ルックアップサーバ１４のＣＰＵ２５０１が実行するサービス評価処理の手順を示す。ＣＰＵ２５０１はタイマ（図示しない）に基づくタイマ処理によって、定期的にこのサービス評価処理の手順を繰り返し、登録情報の更新を行う。
【０１２５】
説明を簡単にするため、本実施形態のルックアップサーバ１４はプリントサービスの情報を専門に登録するルックアップサーバとしている。本フローチャートのプロセスはルックアップサーバ１４のＣＰＵ２５０１の時分割処理によって、上述のルックアップサーバの作用を果たす他の処理と並行に実行される。本フローチャートのプロセスはルックアップサーバ１４内部で、一種の擬似的なクライアントとしてルックアップサーバ１４自身および登録されているサービスを利用するものである。
【０１２６】
サービス評価処理を開始すると、ステップＳ４１で、図１２のように管理テーブル１８０１に登録されているサービスのリストから一つのサービスを選択する。次のステップＳ４２で、もしもサービスが管理テーブル１８０１に一つも登録されていないと判断した場合、もしくは、管理テーブル１８０１に登録されているすべてのサービスの評価を終えている場合には、本サービス評価処理を終了する。そうでなければ、次のステップＳ４３で、上記選択した登録サービスのサービス代理オブジェクト７１３を取得する。サービス代理オブジェクト７１３のダウンロードは前述の通常のクライアントが行う処理と同様に行われる。
【０１２７】
次のステップＳ４４で、通常のクライアントが行うのと同様に、サービス代理オブジェクト７１３のインターフェース７１５から状態取得操作を呼び出してプリンタ部２の動的な状態情報を取得する。そして、ステップＳ４５で、前ステップＳ４４で得た状態情報をあらかじめ定められたアルゴリズムに基づき評価する。このアルゴリズムは例えば、カラープリンタであるにも関わらずカラーのトナーもしくはインクが欠乏している場合は大幅減点、あるいは、大判印刷が可能なプリンタであるにも関わらず大判の用紙が用紙切れの場合は減点されるような、広義の評価関数で定義される。
【０１２８】
さらに、ステップＳ４６で、この評価結果（例えば、減点数）を管理テーブル１８０１に当該サービスの属性情報の一つとして追記する。さらに、このステップＳ４６において、上記ステップＳ４４で取得した装置の最新の状態情報を適切に整形し、当該サービスの登録属性の一つとして管理テーブル１８０１に追記するように構成してもよい。次に、ステップＳ４１に戻り、以上の処理をすべての登録サービスの各々に関して繰り返す。
【０１２９】
サービス評価処理の過程で属性情報として追記した上記の評価結果は、管理テーブル１８０１の他の属性と同様に、クライアントからの問い合わせに応じて返答することができる。
【０１３０】
以上説明したように、本第３の実施形態によれば、ルックアップサーバ１４が自らが保持している登録サービスのそれぞれについて、実際にクライアントとしてそのサービスを試用し、その動的な状態にもとづく評価（および動的な状態情報そのもの）をクライアントに伝えることが可能である。クライアントはあるサービスを選択しその代理オブジェクトをダウンロードする前に、当該サービスの重要な状態情報とその評価を知ることができ最適なサービスを選択できる。
【０１３１】
なお、本実施形態のルックアップサーバ１４に、図１４に示すと同様のサービス登録更新処理を組み合わせ、サービスの信頼性にもとづく登録情報の維持を行うこともできる。この場合、本実施形態によれば、ルックアップサーバ１４が自らが保持している登録サービスのそれぞれについて、実際にクライアントとしてそのサービスを試用し、その動的な状態の情報に基づく評価が予め定めた一定の基準を満たさない場合には、強制的に当該サービスの登録を抹消する。すなわち、ルックアップサーバ１４は登録されているサービスの動的な状態に依存する実質的な品質を保証するよう努力することができる。その結果、クライアントはルックアップサーバ１４に登録されているサービス群は、他のこの処理を行わないルックアップサーバに登録されているサービス群と比較して、平均的に品質が高いであろうことを期待して、適切なサービスの選択を行うことができる。
【０１３２】
（第４の実施形態）
図１７は、以下に説明する本発明の第４〜第７の実施形態に係る、ネットワーク１１に接続された分散オブジェクト環境対応画像入出力装置１２−１と１２−２がペアをなし、それぞれ互いのサービスのクライアントとして相手のサービスを試用する関係のソフトウェア構造を模式的に示す。なお同図において、前述の図９と同様な構成要素には同一符号を記している。
【０１３３】
図１７に示すように、両分散オブジェクト環境対応画像入出力装置１２−１および１２−２は同様なソフトウエア構造を有し、一方の装置のオブジェクト要求ブローカ７２２と他方の装置のサービス代理オブジェクト７１３とがネットワーク１１を介して接続する構成となっている。
【０１３４】
図１８のフローチャートは本発明の第４の実施形態における分散オブジェクト環境対応画像入出力装置１２−１，１２−２の両者のＣＰＵ１２３がそれぞれ実行する相手方のサービス評価処理の手順を示す。ＣＰＵ１２３はタイマ（図示しない）に基づくタイマ処理によって、定期的に本サービス評価処理の手順を繰り返し、相手方のサービスの品質の評価を行う。
【０１３５】
説明を簡単にするため、本実施形態では分散オブジェクト環境対応画像入出力装置１２が提供するサービスの内、クライアントに一時的な二次記憶の機能を提供するストレージサービスを扱っている。本フローチャートのプロセスは分散オブジェクト環境対応画像入出力装置１２のＣＰＵ１２３の時分割処理によって、前述の装置本来の作用を果たす処理と並行に実行される。本フローチャートのプロセスは分散オブジェクト環境対応画像入出力装置１２内部で、一種の擬似的なクライアントとして相手方の分散オブジェクト環境対応画像入出力装置１２のサービスを利用するものである。
【０１３６】
サービス評価処理を開始すると、ステップＳ５１で、ルックアップサーバ１４から相手方のサービス代理オブジェクト７１３を取得する。サービス代理オブジェクト７１３のダウンロードは前述の通常のクライアントが行う処理と同様に行われる。次のステップＳ５２で、通常のクライアントが行うのと同様にサービス代理オブジェクト７１３のインターフェース７１５からopen（オープン）操作を呼び出してファイルをオープンする。
【０１３７】
次のステップＳ５３で、サービス代理オブジェクト７１３のwrite（ライト） 操作を呼び出してあらかじめ用意したテストデータをファイルに書き込む。そして、ステップＳ５４で、サービス代理オブジェクト７１３のread（リード）操作を呼び出して前ステップＳ５３でファイルに書き込んだはずのデータを読み出す。続いて、ステップＳ５５で、サービス代理オブジェクトのclose （クローズ）操作を呼び出してファイルをクローズする。
【０１３８】
次に、ステップＳ５６で、上記ステップＳ５３でファイルに書き込んだデータと上記ステップＳ５４で読み出したデータの間の比較を行い、もしも両データ間で差異が認められれば、ステップＳ５７に進む。また、上記各ステップで呼び出した操作の結果がビジーや応答なしタイムアウト等の非正常値を示していた場合もステップＳ５７に進む。一方、ステップＳ５６で、もしもすべてが正常に完了した場合は本サービス評価処理を終了する。
【０１３９】
ステップＳ５７では、異常が認められた相手方のサービスの登録をルックアップサーバ１４から削除するようにルックアップサーバ１４のサービス登録強制削除操作を呼び出す。その後、本サービス評価処理を終了する。
【０１４０】
なお、本実施形態では対象とするサービスをストレージ５に限定してファイルに対するアクセステストを行うことでエラーの有無を判定したが、より一般的には、あらゆるサービスが備える「セルフテスト」のような操作を実行する操作を呼び出すことでエラーの有無を判定するように構成してもよい。
【０１４１】
以上説明したように、本第４の実施形態によれば、複数の分散オブジェクト環境対応画像入出力装置１２のそれぞれがペアを構成する相手のサービスを互いに試用することで、異常を検出した場合には速やかにルックアップサーバ１４に異常なサービスの登録の削除を申し出ることが可能である。これによって、無効なサービスがルックアップサーバ１４に登録され続ける時間が短くなり、クライアントが無効なサービスの利用を試みる危険性を低減することができる。
【０１４２】
（第５の実施形態）
図１９のフローチャートは本発明の第５の実施形態における、分散オブジェクト環境対応画像入出力装置１２の両者のＣＰＵ１２３がそれぞれ実行する相手方のサービス評価処理の手順を示す。ＣＰＵ１２３はタイマ（図示しない）に基づくタイマ処理によって、定期的に本サービス評価処理の手順を繰り返し、相手方のサービスの品質の評価を行う。
【０１４３】
説明を簡単にするため、本実施形態では分散オブジェクト環境対応画像入出力装置１２が提供するサービスの内、クライアントに一時的な二次記憶の機能を提供するストレージサービスを扱っている。本フローチャートのプロセスは分散オブジェクト環境対応画像入出力装置１２のＣＰＵ１２３の時分割処理によって、上述の装置本来の作用を果たす処理と並行に実行される。本フローチャートのプロセスは分散オブジェクト環境対応画像入出力装置１２内部で、一種の擬似的なクライアントとして相手方の分散オブジェクト環境対応画像入出力装置１２のサービスを利用するものである。
【０１４４】
サービス評価処理を開始すると、ステップＳ６１で、ルックアップサーバ１４から相手方のサービス代理オブジェクト７１３を取得する。サービス代理オブジェクト７１３のダウンロードは前述の通常のクライアントが行う処理と同様に行われる。次のステップＳ６２で、通常のクライアントが行うのと同様にサービス代理オブジェクト７１３のインターフェースからopen（オープン）操作を呼び出してファイルをオープンする。
【０１４５】
次のステップＳ６３で、サービス代理オブジェクト７１３のwrite（ライト） 操作を呼び出してあらかじめ用意したテストデータをファイルに書き込む。続いて、ステップＳ６４で、サービス代理オブジェクト７１３のread（リード）操作を呼び出して前ステップＳ６３で書き込んだはずのデータを読み出す。さらに、ステップＳ６５で、サービス代理オブジェクト７１３のclose（クローズ） 操作を呼び出してファイルをクローズする。
【０１４６】
そして、次のステップＳ６６で、上記ステップＳ６３で書き込んだデータと上記ステップＳ６４で読み出したデータの間の比較を行い、もしも両データ間に差異が認められればステップＳ６７に進む。また、上記各ステップで呼び出した操作の結果がビジーや応答なしタイムアウト等の非正常値を示していた場合もステップＳ６７に進む。
【０１４７】
一方、ステップＳ６６で、もしもすべてが正常に完了した場合は本サービス評価処理を終了する。
【０１４８】
ステップＳ６７では、異常が認められた相手方のサービスの代役として自らが提供するサービスをクライアントに紹介するようにと、ルックアップサーバ１４のサービス転送指示操作を呼び出し、その後、本サービス評価処理を終了する。
【０１４９】
ルックアップサーバ１４においては、上記のサービス転送指示操作が呼び出されると、図１２の管理テーブル１８０１の該当するサービスのレコードの代替設定属性に、指定された転送先サービスの識別情報を設定する。
【０１５０】
なお、本実施形態では対象とするサービスをストレージ部５に限定しファイルに対するアクセステストを行うことでエラーの有無を判定したが、より一般的には、あらゆるサービスが備える「セルフテスト」のような操作を実行する操作を呼び出すことでエラーの有無を判定するように構成してもよい。
【０１５１】
図２０のフローチャートは、本発明の第５の実施形態における、クライアントからサービス代理オブジェクト７１３のダウンロード要求を受け付けた際に、ルックアップサーバ１４のＣＰＵ２５０１が実行する、サービス代理オブジェクト取得要求応答処理の手順を示す。
【０１５２】
最初のステップＳ７１では、クライアントによって指定されたサービスに該当するレコードを図１２の管理テーブル１８０１から検索する。次のステップＳ７２では、検索したレコードに代替設定属性が設定されているか否かを判定する。もしも代替設定がされていなければステップＳ７３に進む。一方、代替設定がされていればステップＳ７４に進む。
【０１５３】
ステップＳ７３では、指定されたサービスのサービス代理オブジェクトをクライアントに送信する。ステップＳ７４では、代替設定属性に設定されている識別情報が指し示す代役のサービスのサービス代理オブジェクトをクライアントに送信する。
【０１５４】
以上説明したように、本第５の実施形態によれば、分散オブジェクト環境対応画像入出力装置１２のそれぞれがペアを構成する相手のサービスを互いに試用することで、異常を検出した場合には速やかにルックアップサーバ１４に、異常なサービスに対するクライアントの要求を正常な側のサービスに転送するように指示することが可能である。これによって、無効なサービスがルックアップサーバ１４に登録され続ける時間が短くなり、クライアントが無効なサービスの利用を試みる危険性を低減することができる。またさらに、無効となったサービスを利用しようとしたクライアントに対して同等のサービスを提供可能な代替サービスを自動的に供給することになり、当該サービスの可用性を向上することができる。
【０１５５】
（第６の実施形態）
図２１のフローチャートは、本発明の第６の実施形態における、分散オブジェクト環境対応画像入出力装置１２の両者のＣＰＵ１２３がそれぞれ実行する相手方のサービス評価処理の手順を示す。ＣＰＵ１２３はタイマ（図示しない）に基づくタイマ処理によって、定期的に本サービス評価処理の手順を繰り返し、相手方のサービスの品質の評価を行う。
【０１５６】
説明を簡単にするため、本実施形態では分散オブジェクト環境対応画像入出力装置１２が提供するサービスの内、クライアントに一時的な二次記憶の機能を提供するストレージサービスを扱っている。本フローチャートのプロセスは分散オブジェクト環境対応画像入出力装置１２のＣＰＵ１２３の時分割処理によって、上述の装置本来の作用を果たす処理と並行に実行される。本フローチャートのプロセスは分散オブジェクト環境対応画像入出力装置１２内部で、一種の擬似的なクライアントとして相手方の分散オブジェクト環境対応画像入出力装置１２のサービスを利用するものである。
【０１５７】
サービス評価処理を開始すると、ステップＳ８１で、ルックアップサーバ１４から相手方のサービス代理オブジェクト７１３を取得する。サービス代理オブジェクト７１３のダウンロードは前述の通常のクライアントが行う処理と同様に行われる。次のステップＳ８２で、タイマ（図示しない）から現在時刻を取得して以下の一連の処理の所用時間計測を開始する。次にステップＳ８３で、通常のクライアントが行うのと同様にサービス代理オブジェクト７１３のインターフェース７１５からopen（オープン）操作を呼び出してファイルをオープンする。
【０１５８】
次のステップＳ８４で、サービス代理オブジェクト７１３のwrite（ライト） 操作を呼び出してあらかじめ用意したテストデータをファイルに書き込む。続いて、ステップＳ８５で、サービス代理オブジェクト７１３のread（リード）操作を呼び出して前ステップＳ８４で書き込んだはずのデータを読み出す。そして、ステップＳ８６で、サービス代理オブジェクト７１３のclose（クローズ） 操作を呼び出してファイルをクローズする。
【０１５９】
次のステップＳ８７で、上記タイマ（図示しない）から現在時刻を取得し、上記ステップＳ８２で取得した時刻との差分から一連の処理に要した所用時間を得る。ステップＳ８８では、その所用時間とあらかじめ定めた規準時間との間の比較を行い、所定のパフォーマンスが達成されているか否かを判定する。もしも所定のパフォーマンスが達成されていれば本サービス評価処理を終了する。
【０１６０】
一方、もしも所定のパフォーマンスが得られていなければ、次のステップＳ８９に進む。ステップＳ８９では、所定のパフォーマンスが達成されていない相手方のサービスの代役として自らが提供するサービスをクライアントに紹介するようにと、ルックアップサーバ１４のサービス転送指示操作を呼び出し、その後、本サービス評価処理を終了する。
【０１６１】
ルックアップサーバ１４においては、サービス転送指示操作が呼び出されると、図１２の管理テーブル１８０１の該当するサービスのレコードの代替設定属性に、指定された転送先サービスの識別情報を設定する。
【０１６２】
上述の第６の実施形態と同様、本実施形態のルックアップサーバ１４のＣＰＵ２５０１も、クライアントからサービス代理オブジェクトのダウンロード要求を受け付けた際に、図２０に示した代理オブジェクト取得要求応答処理を実行する。
【０１６３】
以上説明したように、本第６の実施形態によれば、分散オブジェクト環境対応画像入出力装置１２のそれぞれがペアを構成する相手のサービスを互いに試用することで、相手方のサービスパフォーマンス低下を検出した場合には速やかにルックアップサーバ１４に、相手方サービスに対するクライアントの要求を自らのサービスに転送するよう指示することが可能である。パフォーマンス低下が相手方サービスの異常を示していた場合は、これによって、第５実施形態と同様の効果が得られる。また、パフォーマンス低下が負荷の集中による正常な挙動であった場合には、これによって、高負荷な状況にある相手先サービスへの要求を自サービスに振り向けることで、ペアで負荷分散し、非常に単純なロードバランシングが簡単に実現される。なお、後者の場合、相手方のサービスはやがてリース期間の期限切れよりも前にルックアップサーバ１４への登録更新処理を行い、この時点で代替サービスへの転送設定は解除される。
【０１６４】
なお、最新の応答時間だけでなく、過去数回の履歴もしくは平均、最良値と最悪値等とを組み合わせて、相手方のサービスのパフォーマンスを評価してもよい。
【０１６５】
（第７の実施形態）
図２２のフローチャートは、本発明の第７の実施形態における、分散オブジェクト環境対応画像入出力装置１２の両者のＣＰＵ１２３がそれぞれ実行する相手方のサービス評価処理の手順を示す。ＣＰＵ１２３はタイマ（図示しない）に基づくタイマ処理によって、定期的に本サービス評価処理の手順を繰り返し、相手方のサービスの品質の評価を行う。
【０１６６】
説明を簡単にするため、本実施形態では分散オブジェクト環境対応画像入出力装置１２が提供するサービスの内、クライアントにプリント機能を提供するプリントサービスを扱っている。本フローチャートのプロセスは分散オブジェクト環境対応画像入出力装置１２のＣＰＵ１２３の時分割処理によって、上述の装置本来の作用を果たす処理と並行に実行される。本フローチャートのプロセスは分散オブジェクト環境対応画像入出力装置１２内部で、一種の擬似的なクライアントとして相手方の分散オブジェクト環境対応画像入出力装置１２のサービスを利用するものである。
【０１６７】
サービス評価処理を開始すると、ステップＳ９１で、ルックアップサーバ１４から相手方のサービス代理オブジェクト７１３を取得する。サービス代理オブジェクト７１３のダウンロードは前述の通常のクライアントが行う処理と同様に行われる。
【０１６８】
次のステップＳ９２で、サービス代理オブジェクト７１３のインターフェース７１５から状態取得操作を呼び出してプリンタの動的な状態情報を取得する。続いて、ステップＳ９３で、前ステップＳ９２で得た状態情報をあらかじめ定められたアルゴリズムにもとづき評価する。このアルゴリズムは例えば、カラープリンタであるにも関わらずカラーのトナーもしくはインクが欠乏している場合は大幅減点、あるいは、大判印刷が可能なプリンタであるにも関わらず大判の用紙が用紙切れの場合は減点されるような、広義の評価関数で定義される。
【０１６９】
次のステップＳ９４で、上記ステップＳ９３の評価結果（例えば、減点数）とあらかじめ定めた規準評価値との間の比較を行い、所定の評価が得られているかどうかを判定する。もしも所定の評価が得られていれば本サービス評価処理を終了する。
【０１７０】
一方、もしも所定の評価が得られていなければ、ステップＳ９５に進む。ステップＳ９５では、所定の評価が得られていない相手方のサービスの代役として自らが提供するサービスをクライアントに紹介するようにと、ルックアップサーバ１４のサービス転送指示操作を呼び出し、その後、本サービス評価処理を終了する。
【０１７１】
ルックアップサーバ１４においては、サービス転送指示操作が呼び出されると、図１２の管理テーブル１８０１の該当するサービスのレコードの代替設定属性に、指定された転送先サービスの識別情報を設定する。
【０１７２】
以上説明したように、本第７の実施形態によれば、分散オブジェクト環境対応画像入出力装置１２のそれぞれがペアを構成する相手のサービスを互いに試用することで、相手方サービスの実質的な品質が、動的に変化する状態（特に、装置の消耗品資源の不足等）によって落ちていることを検出した場合には速やかにルックアップサーバ１４に異常なサービスの登録の削除を申し出ることが可能である。これによって、無効なサービスがルックアップサーバに登録され続ける時間は短くなり、クライアントが無効なサービスの利用を試みる危険性を低減することができる。
【０１７３】
（他の実施の形態）
なお、本発明は、複数の機器（例えば、ホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１７４】
また、本発明の目的は、前述した実施の形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体（記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し、実行することによっても、達成されることは言うまでもない。
【０１７５】
この場合、記録媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１７６】
そのプログラムコードを記録し、またテーブル等の変数データを記録する記録媒体としては、例えばフロッピディスク（ＦＤ）、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード（ＩＣメモリカード）、ＲＯＭなどを用いことができる。
【０１７７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述の実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づいて、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行ない、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１７８】
【発明の効果】
以上説明したように、本発明によれば、登録されているサービスを試用するオペレーションを繰り返して実行し、サービスを試用するたびごとに、試用したサービスの品質を検出するようにしているので、サービスを繰り返しテストし、実際にサービスの品質を保証できるサービスをディレクトリサーバの格納手段において更新維持することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の各実施形態に係るネットワーク構成を示す模式図である。
【図２】本発明の各実施形態に係る分散オブジェクト環境対応画像入出力装置の構成を示すブロック図である。
【図３】本発明の各実施形態に係る分散オブジェクト環境対応画像入出力装置のリーダ部及びプリンタ部の構成を示す断面図である。
【図４】本発明の各実施形態に係る分散オブジェクト環境対応画像入出力装置のコア部の構成を示すブロック図である。
【図５】本発明の各実施形態に係る画像入力ジョブと画像出力ジョブのジョブ制御を説明するブロック図である。
【図６】本発明の各実施形態に係るセッションの構成例を示す概念図である。
【図７】本発明の各実施形態に係るクライアントコンピュータの構成を示すブロック図である。
【図８】本発明の各実施形態に係るルックアップサーバの構成を示すブロック図である。
【図９】本発明の第１〜第４の実施形態に係るサービスオブジェクトの構成を概念的に示す模式図である。
【図１０】本発明の第１〜第３の実施形態に係るルックアップサーバに周辺機器がサービス代理オブジェクトを登録する処理の流れを示す模式図である。
【図１１】本発明の第１〜第３の実施形態に係るクライアントコンピュータがルックアップサーバからサービス代理オブジェクトを取得する処理の流れを示す模式図である。
【図１２】本発明の各実施形態に係るルックアップサーバ内の管理テーブルの構成を示すメモリマップ図である。
【図１３】本発明の第１の実施形態に係るルックアップサーバが実行するサービス評価処理の手順を示すフローチャートである。
【図１４】本発明の第１の実施形態に係るルックアップサーバが実行するサービス登録更新処理の手順を示すフローチャートである。
【図１５】本発明の第２の実施形態に係るルックアップサーバが実行するサービス評価処理の手順を示すフローチャートである。
【図１６】本発明の第３の実施形態に係るルックアップサーバが実行するサービス評価処理の手順を示すフローチャートである。
【図１７】本発明の第４〜第７の実施形態に係る対をなし監視し合う２台の分散オブジェクト環境対応画像入力装置のソフト構造を示す模式図である。
【図１８】本発明の第４の実施形態に係る分散オブジェクト環境対応画像入出力装置が実行するサービス評価処理の手順を示すフローチャートである。
【図１９】本発明の第５の実施形態に係る分散オブジェクト環境対応画像入出力装置が実行するサービス評価処理の手順を示すフローチャートである。
【図２０】本発明の第５の実施形態に係るルックアップサーバが実行するサービス代理オブジェクト取得要求応答処理の手順を示すフローチャートである。
【図２１】本発明の第６の実施形態に係る分散オブジェクト環境対応画像入出力装置が実行するサービス評価処理の手順を示すフローチャートである。
【図２２】本発明の第７の実施形態に係る分散オブジェクト環境対応画像入出力装置が実行するサービス評価処理の手順を示すフローチャートである。
【符号の説明】
１  リーダ部
２  プリンタ部
３  画像入出力制御部
４  ファクシミリ部
５  ストレージ部
６  コンピュータインターフェース部
８  ＲＩＰ部
９  操作部
１０  コア部
１１  ネットワーク
１２−１  分散オブジェクト環境対応画像入出力装置１
１２−２  分散オブジェクト環境対応画像入出力装置２
１３  クライアントコンピュータ
１４  ルックアップサーバ
１２１  データ処理部
１２３  ＣＰＵ
１２４  メモリ
７１２  クライアントソフトウェア
７１３  サービス代理オブジェクト
７１５  インタフェース
７２２  オブジェクト要求ブローカ
７２３  サービス実装オブジェクト
７２５  インタフェース
７２４  装置制御ソフトウエア
１８０１  管理テーブル
【図１】
0003792985.tif 000002
【図２】
0003792985.tif 000003
【図３】
0003792985.tif 000004
【図４】
0003792985.tif 000005
【図５】
0003792985.tif 000006
【図６】
0003792985.tif 000007
【図７】
0003792985.tif 000008
【図８】
0003792985.tif 000009
【図９】
0003792985.tif 000010
【図１０】
0003792985.tif 000011
【図１１】
0003792985.tif 000012
【図１２】
0003792985.tif 000013
【図１３】
0003792985.tif 000014
【図１４】
0003792985.tif 000015
【図１５】
0003792985.tif 000016
【図１６】
0003792985.tif 000017
【図１７】
0003792985.tif 000018
【図１８】
0003792985.tif 000019
【図１９】
0003792985.tif 000020
【図２０】
0003792985.tif 000021
【図２１】
0003792985.tif 000022
【図２２】
0003792985.tif 000023