JP2003303162A - デバイス制御装置、デバイス制御システム、デバイス制御方法及びデバイス制御を行なうためのコンピュータプログラムを記録した記録媒体 - Google Patents

デバイス制御装置、デバイス制御システム、デバイス制御方法及びデバイス制御を行なうためのコンピュータプログラムを記録した記録媒体

Info

Publication number
JP2003303162A
JP2003303162A JP2003127260A JP2003127260A JP2003303162A JP 2003303162 A JP2003303162 A JP 2003303162A JP 2003127260 A JP2003127260 A JP 2003127260A JP 2003127260 A JP2003127260 A JP 2003127260A JP 2003303162 A JP2003303162 A JP 2003303162A
Authority
JP
Japan
Prior art keywords
sender
receiver
data
side device
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003127260A
Other languages
English (en)
Inventor
Fumio Nagasaka
文夫 長坂
Yutaka Hisamatsu
豊 久松
Toshiharu Katada
寿治 片田
Takashi Miyasaka
隆史 宮坂
Kotaro Yamauchi
好太郎 山内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003127260A priority Critical patent/JP2003303162A/ja
Publication of JP2003303162A publication Critical patent/JP2003303162A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 任意のデバイス間においても、有効なデータ
の伝送を可能にすると共に、ユーザに対し、あらゆるデ
バイスの組み合わせについて最適化された操作性を提供
する。 【解決手段】 ユーザからの指示に従って、送り手側デ
バイスと受け手側デバイスとの関連付けを行う(S10
2)。それらデバイスクラスの組合せによって仮想され
る複合デバイスが動作可能であるかどうかを判定する
(ステップS108)。動作可能な場合、その複合デバ
イスの種類を決定して(S130)、その複合デバイス
を操作するためのユーザインターフェイスを決定する
(S132)。その後、所定のタイミングでそのユーザ
インターフェイスをモニタの画面上に表示する(S13
4)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デバイスを制御す
るための技術に関するものである。
【0002】
【従来の技術】従来では、例えば、コンピュータにスキ
ャナとプリンタがつながっている場合に、そのコンピュ
ータ上で或る特定のアプリケーションプログラムを稼働
させることによって、そのスキャナによって画像データ
を取り込ませ、取り込ませた画像データをそのプリンタ
で印刷させて、あたかもコピー機の如く動作させるもの
があった。
【0003】
【発明が解決しようとする課題】このように、従来にお
いては、予め決められたデバイスとデバイス(即ち、上
記のスキャナとプリンタ)との間では、一方のデバイス
からデータを送り出し、他方のデバイスでそのデータを
受け取って処理することは、特定のアプリケーションプ
ログラムの下では可能であった。しかし、任意のデバイ
スとデバイスとの間では、一方のデバイスからデータを
送り出しても、他方のデバイスでそのデータを受け取っ
て処理することができるという保証はないため、それら
デバイス間で有効なデータの伝送を行なうことができな
い場合があった。
【0004】また、従来においては、上記のように任意
のデバイスとデバイスとの間でデータの伝送を行なう場
合、それら任意のデバイスを統一的に操作するための適
切なユーザインターフェイスをユーザに提供することが
困難であったので、ユーザにとり非常に操作性の悪いも
のとなっていた。
【0005】また、従来においては、ネットワークで接
続された複数台のコンピュータのうち、或る1台のコン
ピュータに或るデバイスが、他の1台のコンピュータに
他のデバイスがそれぞれつながっている場合に、別の1
台のコンピュータでアプリケーションプログラムを起動
して、そのアプリケーションプログラムを使って、それ
らデバイス間でデータの伝送を行なおうとしても、間に
ネットワークが介在しているため、データの伝送が困難
であった。
【0006】従って、本発明の目的は、上記した従来技
術の問題点を解決し、任意のデバイス間においても、有
効なデータの伝送を可能にすると共に、ユーザに対し、
あらゆるデバイスの組み合わせについて最適化された操
作性を提供することが可能なデバイス制御システムを提
供することにある。
【0007】
【課題を解決するための手段およびその作用・効果】上
記した目的の少なくとも一部を達成するために、本発明
のデバイス制御装置は、データの送り手となり得る送り
手側デバイス及びデータの受け手となり得る受け手側デ
バイスをそれぞれ制御することが可能なデバイス制御装
置であって、送り手側デバイスと受け手側デバイスをそ
れぞれ特定するデバイス特定手段と、特定された前記送
り手側デバイス及び受け手側デバイスについて、前記送
り手側デバイスからデータを送り出した場合に、前記受
け手側デバイスでそのデータを受け取って処理すること
が可能であるか否かを、前記送り手側デバイス及び受け
手側デバイスの属性情報に基づいて判定する判定手段
と、前記判定手段において可能であると判定された場合
に、前記送り手側デバイスから前記デバイス制御装置を
介して前記受け手側デバイスにデータを伝送させるよ
う、前記送り手側デバイス及び受け手側デバイスを制御
するデータ伝送実行手段と、を備えることを要旨とす
る。
【0008】このように、本発明のデバイス制御装置で
は、送り手側デバイスと受け手側デバイスをそれぞれ特
定すると、それら送り手側デバイスと受け手側デバイス
について、前記送り手側デバイスからデータを送り出し
た場合に、前記受け手側デバイスでそのデータを受け取
って処理することが可能であるか否かを、前記送り手側
デバイス及び受け手側デバイスの属性情報に基づいて判
定する。そして、可能であると判定された場合に、送り
手側デバイスからデバイス制御装置を介して受け手側デ
バイスにデータを伝送させるよう、送り手側デバイス及
び受け手側デバイスを制御する。
【0009】なお、本明細書において、デバイスには、
物理的なデバイスのみならず、物理的なデバイスの機能
の一部や、ソフトウェアによって物理的なデバイスと同
等の機能を有するもの,物理的なデバイスと同等に扱う
ことができるものを含まれる。物理的なデバイスとして
は、例えば、スキャナや、プリンタや、デジタルカメラ
や、ファクシミリや、コピー機や、その他種々のコンピ
ュータ周辺装置などが含まれる。また、物理的なデバイ
スの機能の一部としては、例えば、多機能カラーコピー
機のFAX機能だけを外部に公開したものなどが含まれ
る。また、ソフトウェアによって物理的なデバイスと同
等の機能を有するもの,物理的なデバイスと同等に扱う
ことができるものとしては、例えば、電子メールや画像
処理の他、処理サーバやアプリケーションサーバなどが
含まれる。アプリケーションサーバとは、例えば、WE
Bブラウザのキャッシュディレクトリに含まれる画像フ
ァイルを自動的に検索して抽出するアプリケーションプ
ログラムがある場合に、このアプリケーションプログラ
ムそのものが、デジタルカメラのような静止画像入力デ
バイスであるかのように作用する場合であり、この場
合、デバイスは物理的な実体がない。
【0010】また、本明細書において、少なくともデー
タ等を送ることが可能なデバイスを送り手デバイスと
し、少なくともデータ等を受けることが可能なデバイス
を受け手側デバイスとしている。従って、例えば、中間
加工などの中間的な処理を行うようなデバイスであって
も、少なくともデータ等を送ることが可能であれば、送
り手側デバイスと見なすことができるし、少なくともデ
ータ等を受けることが可能であれば、受け手側デバイス
と見なすことができるので、そのようなデバイスであっ
ても、送り手側デバイスまたは受け手側デバイスの何れ
かになり得る。
【0011】また、本明細書において、送り手側デバイ
スと受け手側デバイスの特定には、送り手側デバイス及
び受け手側デバイスのうち、少なくとも一方について、
まず、複数のデバイスを含む所定のグループを特定し、
その所定のグループの中から上記デバイスを特定する場
合も含まれる。また、送り手側デバイス及び受け手側デ
バイスのうち、少なくとも一方を、所定のグループの中
から、1つずつ順番に特定する場合も含まれる。
【0012】また、デバイス特定手段は送り手側デバイ
スと受け手側デバイスを、ユーザや他の装置からの指示
に従って特定するようにしても良いし、予め定められた
方法で自動的に特定するようにしても良い。
【0013】従って、本発明によれば、任意のデバイス
間において、上記のような判定を行なうことによって、
その判定結果として可能であると判定されたならば、送
り手側デバイスからデータを送り出しても、受け手側デ
バイスでそのデータを受け取って処理できることが保証
されたことになる。従って、送り手側デバイスからデバ
イス制御装置を介して受け手側デバイスにデータを伝送
させるよう、送り手側デバイス及び受け手側デバイスを
制御することにより、送り手側デバイスから受け手側デ
バイスへ有効なデータの伝送を確実に行なうことができ
る。
【0014】本発明のデバイス制御装置は、データの送
り手となり得る送り手側デバイス及びデータの受け手と
なり得る受け手側デバイスをそれぞれ制御することが可
能なデバイス制御装置であって、送り手側デバイスと受
け手側デバイスをそれぞれ特定するデバイス特定手段
と、特定された前記送り手側デバイス及び受け手側デバ
イスについて、前記送り手側デバイスからデータを送り
出した場合に、前記受け手側デバイスでそのデータを受
け取って処理することが可能であるか否かを、前記送り
手側デバイス及び受け手側デバイスの属性情報に基づい
て判定する判定手段と、前記判定手段において可能であ
ると判定された場合に、前記送り手側デバイスから前記
受け手側デバイスに前記デバイス制御装置を介すること
なくデータを伝送させるよう、前記送り手側デバイス及
び受け手側デバイスを制御するデータ伝送実行手段と、
を備えることを要旨とする。
【0015】このように、デバイス制御装置を介するこ
となく、送り手側デバイスから受け手側デバイスへデー
タを伝送することによって、より高速なデータ伝送を実
現することができる。
【0016】本発明のデバイス制御装置において、前記
判定手段において可能であると判定された場合に、前記
データ伝送実行手段が、前記データを伝送させるよう、
前記送り手側デバイス及び受け手側デバイスを制御する
のに先だって、前記送り手側デバイスの有する機能の少
なくとも一部と前記受け手側デバイスの有する機能の少
なくとも一部とを共に有する複合デバイスを操作するた
めのユーザインターフェイスを、特定された前記送り手
側デバイス及び受け手側デバイスを共に操作するための
ユーザインターフェイスとして表示手段に表示させる表
示制御手段をさらに備えることが好ましい。
【0017】なお、本明細書において、「デバイスを操
作する」には、デバイスに対する狭義の操作の他、デバ
イスに対する設定や制御など種々のものが含まれる。
【0018】このように構成することによって、例え
ば、送り手側デバイスから受け手側デバイスへデータを
伝送する場合などにおいてその送り手側デバイス及び受
け手側デバイスを共に操作するためのユーザインターフ
ェイスとして、それらデバイスの各々の機能の少なくと
も一部を共に有する複合デバイスを操作するためのユー
ザインターフェイスが表示されるため、ユーザは、送り
手側デバイス用と受け手側デバイス用とで異なるユーザ
インターフェイスを使い分ける必要がなく、統合された
ユーザインターフェイスでもって一度に設定などの指示
をすることができるので、ユーザに対し、あらゆるデバ
イスの組合せについて最適化された操作性を提供するこ
とができる。また、ユーザは、それら別個のデバイス
(すなわち、送り手側デバイス及び受け手側デバイス)
を1つの複合デバイスとして見なして、統一的に操作す
ることができるので、この点でも、ユーザに対して、最
適化された操作性を提供することができる。
【0019】本発明のデバイス制御装置において、前記
表示制御手段は、複数の前記複合デバイスについて、そ
れぞれ、その複合デバイスを操作するためのユーザイン
ターフェイスを前記表示手段に表示させるためのデータ
を格納するデータ格納手段と、前記表示手段に、特定さ
れた前記送り手側デバイスの有する機能の少なくとも一
部と前記受け手側デバイスの有する機能の少なくとも一
部とを共に有する前記複合デバイスを操作するための前
記ユーザインターフェイスを表示させるべく、該ユーザ
インターフェイスを表示させるためのデータを、前記デ
ータ格納手段から読み出して、前記表示手段に出力する
データ出力手段と、を備えることが好ましい。
【0020】このように、予め、複数の複合デバイスに
ついてユーザインターフェイスのデータを用意しておく
ことにより、表示すべきユーザインターフェイスを表示
手段により簡単に表示させることができる。
【0021】本発明のデバイス制御装置において、前記
判定手段は、特定された前記送り手側デバイスの種類と
受け手側デバイスの種類の組合せが、前記複合デバイス
として動作可能な組合せであるか否かを判定することに
より、前記送り手側デバイスからデータを送り出した場
合に、前記受け手側デバイスでそのデータを受け取って
処理することが可能であるか否かを判定することが好ま
しい。
【0022】任意のデバイス同士において、デバイスの
組合せによっては、一方のデバイスからデータを送り出
した場合に、他方のデバイスでデータを受け取って処理
することが可能でない場合も出てくる。このような場
合、当然に、それらデバイスについて複合デバイスを仮
想しても、その複合デバイスは実際には動作不可能とな
る。従って、任意のデバイス同士について、一方のデバ
イスからデータを送り出した場合に、他方のデバイスで
そのデータを受け取って処理することが可能であるかど
うかを判定する手法の一つとして、このように、それら
任意のデバイスの組合せが、複合デバイスとして動作可
能である組合せであるかどうかを判定するようにしても
良い。
【0023】本発明のデバイス制御装置において、前記
属性情報は、前記デバイス制御装置内、前記デバイスを
含む装置内、前記デバイスの接続された装置内、並び
に、前記デバイス制御装置及び前記デバイスとネットワ
ークを介して接続された装置内のうち、少なくとも1つ
に格納されていることが好ましい。
【0024】このように、属性情報は、判定手段によっ
てアクセス可能であるならば、デバイス制御装置内に存
在する必要はなく、デバイスを含む装置内やデバイスの
接続された装置内やネットワークを介して接続された装
置内などに格納されていても良い。
【0025】本発明のデバイス制御装置において、前記
属性情報には、デバイスの種類に関する情報を含むこと
が好ましい。
【0026】同じく、本発明のデバイス制御装置におい
て、前記属性情報には、デバイスの扱うデータ形式に関
する情報を含むことが好ましい。
【0027】このように、判定情報を得るための基にな
るデバイスの属性としては、デバイスに関わるあらゆる
情報を対象とすることができる。
【0028】本発明のデバイス制御装置において、前記
判定手段は、前記送り手側デバイスからデータを送り出
した場合に、前記受け手側デバイスでそのデータを受け
取って処理することが可能であると判定した場合に、前
記送り手側デバイス及び受け手側デバイスの属性情報に
基づいて、前記送り手側デバイスと前記受け手側デバイ
スの組合せの有効性の度合いを導き出すことが好まし
い。
【0029】このように、可能であると判定した送り手
側デバイスと受け手側デバイスについて、その組合せの
有効性の度合いを導き出すことにより、ユーザは、その
度合いに基づいて、デバイスの組合せを評価することが
できる。
【0030】本発明のデバイス制御装置において、前記
送り手側デバイス及び受け手側デバイスのうち、少なく
とも1つのデバイスは、ネットワークを介して前記デバ
イス制御装置に接続されていても良い。
【0031】このように、デバイス自体は、デバイス制
御装置に直接接続されていたりする必要はなく、ネット
ワークを介してデバイス制御装置に接続されていれば良
い。すなわち、例えば、デバイス自体がデバイス制御装
置の接続されたネットワークに直接接続されていたり、
そのネットワークに直接または間接的に接続された装置
と一体的に構成されていたり、その装置に直接または間
接的に接続されていたりしても良い。
【0032】本発明のデバイス制御装置において、前記
送り手側デバイス及び受け手側デバイスのうち、少なく
とも1つのデバイスは、前記デバイス制御装置、及び、
該デバイス制御装置にネットワーク介して接続されてい
る装置のうちの少なくとも1つと、一体的に構成されて
いても良い。
【0033】このように、デバイス自体は、装置と別体
に構成されている必要はなく、装置と一体的に構成され
ていても良い。
【0034】本発明のデバイス制御装置において、前記
デバイス特定手段は、送り手側デバイスと受け手側デバ
イスを特定する際に、3つ以上のデバイスを特定するよ
うにしても良い。
【0035】このように、3つ以上のデバイスを特定す
るようにしても良く、この場合には、1つ以上のデバイ
スは送り手側デバイス及び受け手側デバイスの両方とし
て扱うことになる。従って、例えば、デバイス特定手段
が3つのデバイスを特定した場合には、判定手段は、第
1のデバイスからデータを送り出した場合に、前記第2
のデバイスでそのデータを受け取って処理することが可
能であるか否かを判定し、さらに、第2のデバイスから
データを送り出した場合に、前記第3のデバイスでその
データを受け取って処理することが可能であるか否かを
判定することになり、第2のデバイスを送り手側デバイ
ス及び受け手側デバイスの両方として扱うことになる。
【0036】本発明のデバイス制御装置において、表示
手段に前記送り手側デバイスに対応するシンボルと前記
受け手側デバイスに対応するシンボルがそれぞれ表示さ
れている場合に、両者のシンボルについて所定のシンボ
ル操作が行なわれたことによって、前記特定手段は、前
記送り手側デバイスと前記受け手側デバイスをそれぞれ
特定することが好ましい。
【0037】なお、本明細書において、デバイスシンボ
ルには、デバイスに対応した図柄を表すアイコンなどの
他、それに対応した文字や、図形や、記号や、符号や、
色彩など、表示手段に表示可能であり、ユーザが識別可
能であるものが含まれる。
【0038】このように、両者のシンボルについて所定
のシンボル操作が行なわれたことにより、ユーザがそれ
らシンボルに対応するデバイスを特定することを希望し
ていることがわかるので、それに応じるように、その送
り手側デバイスと受け手側デバイスをそれぞれ特定する
ようにする。なお、両者のシンボルについての所定のシ
ンボル操作としては、両者のシンボル同士を重ね合わせ
るとか、両者のシンボルを共に選択して所定のコマンド
を与えるなどが考えられる。
【0039】本発明のデバイス制御装置において、表示
手段に、前記送り手側デバイスから送り出し得る前記デ
ータに対応するシンボルと、前記受け手側デバイスに対
応するシンボルが、それぞれ表示されている場合に、両
者のシンボルについて所定のシンボル操作が行なわれた
ことによって、前記特定手段は、前記送り手側デバイス
と前記受け手側デバイスをそれぞれ特定することが好ま
しい。
【0040】このように、上記データに対応するシンボ
ルと受け手側デバイスに対応するシンボルについて所定
のシンボル操作が行なわれた場合も、上記データは送り
手側デバイスから送り出すことのできるデータであるこ
とは明らかであり、ユーザがそのような送り手側デバイ
スと受け手側デバイスを特定することを希望しているこ
とがわかるので、それに応じるように、その送り手側デ
バイスと受け手側デバイスをそれぞれ特定するようにす
る。
【0041】本発明のデバイス制御装置において、特定
された前記送り手側デバイス及び受け手側デバイスにつ
いて前記判定手段において行なわれた判定結果を記憶す
る記憶手段をさらに備えることが好ましい。
【0042】このように、特定されたデバイスについて
判定結果を記憶して蓄積していくことにより、過去にど
のようなデバイスが特定され、判定結果がどうであった
かについて、ユーザが知る手がかりとなる。
【0043】上記のような記憶手段を備えたデバイス制
御装置において、前記送り手側デバイスまたは受け手側
デバイスに対応するシンボルを、表示手段に表示させる
表示制御手段をさらに備え、前記表示制御手段は、前記
シンボルを表示させている間に、該シンボルについて所
定のシンボル操作が行なわれた場合に、前記記憶手段に
記憶されている判定結果を参照し、前記シンボルに対応
するデバイスについて、過去に前記判定手段において可
能であると判定された相手方のデバイスをリストアップ
して、前記表示手段に表示させることが好ましい。
【0044】このようにリストアップして表示させるこ
とによって、ユーザは、上記シンボルに対応するデバイ
スについて、過去に、可能であると判定された相手方デ
バイスとしてどのようなものがあるかを一目で把握でき
る。
【0045】上記のような記憶手段を備えたデバイス制
御装置において、前記記憶手段に記憶されている判定結
果を参照し、過去に特定された送り手側デバイス及び受
け手側デバイスの組合せの中から、前記判定手段におい
て可能であると判定された組合せをリストアップして、
表示手段に表示させることが好ましい。
【0046】このようにリストアップして表示させるこ
とによって、ユーザは、デバイス制御装置によって、過
去に、どのようなデバイス同士が特定され、可能である
と判断されたかを一目で把握することができる。
【0047】なお、本発明は、上記したデバイス制御装
置に限ることなく、そのようなデバイス制御装置を備え
たデバイス制御システムとして実現することも。また、
本発明は、このようなデバイス制御装置などの装置発明
の態様に限ることなく、デバイス制御方法などの方法発
明としての態様で実現することも可能である。さらに
は、それら方法や装置を構築するためのコンピュータプ
ログラムとしての態様や、そのようなコンピュータプロ
グラムを記録した記録媒体としての態様や、上記コンピ
ュータプログラムを含み搬送波内に具現化されたデータ
信号など、種々の態様で実現することも可能である。
【0048】
【発明の実施の形態】以下、本発明の実施の形態を実施
例に基づいて説明する。図1は本発明の一実施例として
のデバイス制御システムの構成を示すブロック図であ
る。
【0049】図1において、デバイス34a,34b
は、例えば、スキャナやプリンタなど、制御対象となる
デバイスである。また、アプリケーション部20は、所
定のアプリケーションプログラムによって構築されてお
り、後述するインターフェイス部22a,22bなどの
下位に位置する構成要素を介して、末端に位置する各種
のデバイス34a,34bを制御し得る。
【0050】図1において、本実施例のデバイス制御シ
ステムは、インターフェイス部22a,22bと、通信
路抽象化部24a,24bと、デバイス抽象化部28
a,28bと、を主として備えている。これら構成要素
は、それぞれ、コンピュータプログラムによって、各デ
バイス34a,34bに対応して生成されている。
【0051】デバイス抽象化部28a,28bは、それ
ぞれ、対応するデバイス34a,34bとの間で各種制
御情報などのやり取りや、データのやり取りなどを行な
うと共に、インターフェイス部22a,22bやアプリ
ケーション部20などの上位に位置する構成要素に対し
て、デバイスの抽象化(ハードウェアの抽象化)を行な
う。
【0052】デバイス抽象化部28a,28bは、それ
ぞれ、デバイス制御部30a,30bとデバイス・ドラ
イバ32a,32bで構成されている。このうち、デバ
イス・ドライバ32a,32bは、対応するデバイス3
4a,34bについて、個々のデバイスの違いを吸収し
て、上位に位置する構成要素に対して、各デバイスをデ
バイスクラス(デバイスの種類)の違いのレベルまで抽
象化する。
【0053】即ち、例えば、デバイスとしてA社製のプ
リンタやB社製のプリンタがある場合、いずれのプリン
タもプリンタクラスという同じデバイスクラスに属して
いれば、上記したデバイス・ドライバによって、A社製
のプリンタもB社製のプリンタも違いがなくなり、デバ
イス制御部30a,30bなどの上位に位置する構成要
素に対しては、同じデバイスクラスのデバイスとして認
識される。
【0054】具体的には、例えば、一般的なWindows(M
icrosoft社)用のプリンタ・ドライバでは、Windowsの
GDI(描画関数)の機能をドライバの外部に見せるよ
うに設計されており、「或る位置に特定の文字を印字せ
よ」などの一般的な要求が入力された場合には、その要
求を、対応するプリンタ独自のコマンド列に変換した上
で、その対応するプリンタに出力して、そのプリンタを
制御することができる。従って、このようなプリンタ・
ドライバを本実施例のデバイス・ドライバとして用いれ
ば、プリンタ個々に依存する部分はほぼ完全に抽象化す
ることができる。
【0055】一方、デバイス制御部30a,30bは、
対応するデバイス34a,34bに対して、デバイスク
ラスの違いをも吸収して、インターフェイス部22a,
22bなど上位に位置する構成要素に対して、各デバイ
スを完全に抽象化する。
【0056】即ち、前述したデバイス・ドライバ32
a,32bによって同じデバイスクラスに属するデバイ
スの違いは吸収されるが、例えば、プリンタクラスに属
するデバイスとスキャナクラスに属するデバイスの違い
は依然として残っている。しかし、デバイス制御部30
a,30bによって、これらデバイスクラスの違いも吸
収することにより、上位に位置する構成に要素に対して
は、デバイスの種類による違いがすべてなくなり、同一
のデバイスとして認識される。
【0057】このようなデバイス制御部は、それぞれ、
インターフェイス部22a,22bなど上位に位置する
構成要素に対して、すべて同一のインターフェイスを提
供することによって、デバイスの完全な抽象化を行なっ
ている。
【0058】例えば、ごく単純な例としては、下記のよ
うな機能を、すべてに共通のインターフェイス(汎用イ
ンターフェイス)によって提供することが考えられる。
【0059】・データ出力(データストリーム,データ
型) ・データ入力(データストリーム,データ型) ・デバイス状態取得(状態のID,状態の値) ・デバイス状態設定(状態のID,状態の値) ・デバイス属性取得(属性のID,属性の値) ・デバイス属性設定(属性のID,属性の値) 但し、括弧内はパラメータの例である。
【0060】なお、このように、各デバイス制御部にお
いて、上位に位置する構成要素に対しインターフェイス
が統一された結果、当然ながら、デバイスクラスによっ
ては無意味な制御事項(機能)も存在することになる
が、上位に位置する構成要素は、予め各デバイスのプロ
パティを調べることによって、各デバイスに対する適切
な制御を把握することができる。
【0061】また、デバイス・ドライバは、上記したよ
うに個々のデバイス34a,34bに対応して用意され
るが、デバイス制御部は、必ずしも個々のデバイスに対
応して用意する必要はなく、各々、特定のデバイスクラ
スに対応するように用意されていれば良い。
【0062】インターフェイス部22a,22bは、そ
れぞれ、アプリケーション部20と対応するデバイス抽
象化部28a,28bとの間で各種制御情報などのやり
取りや、データのやり取りなどを行なうと共に、上位に
位置するアプリケーション部20に対して、同一のイン
ターフェイスを提供する。また、インターフェイス部2
2a,22b同士の間でも、各種制御情報などのやり取
りを行なうことができる。さらにまた、インターフェイ
ス部22a,22bは、対応するデバイス34a,34
bを抽象的に表したアイコンを表示手段(図示せず)の
画面上に表示させる機能も有している。
【0063】ところで、本実施例のデバイス制御システ
ムにおいては、図1に示すように、インターフェイス部
22aとデバイス抽象化部28aとの間、インターフェ
イス部22bとデバイス抽象化部28bとの間、及びデ
バイス抽象化部28aと28bとの間に、それぞれ一点
鎖線で示す境界が存在する。一般に、同じコンピュータ
内にはプロセス境界が存在し、異なるコンピュータ間に
はネットワーク境界が存在するが、一点鎖線で示したこ
の境界は、プロセス境界かネットワーク境界のいずれか
の境界を表している。
【0064】図2及び図3はそれぞれ図1のデバイス制
御システムについての接続形態の代表例を示すブロック
図である。
【0065】図2(a)の例では、1台のコンピュータ
40に図1に示す2つのデバイス34a,34bが直接
に接続されている。従って、この例の場合、デバイス3
4a,34b以外の構成要素、即ち、図1に示すアプリ
ケーション部20、インターフェイス部22a,22
b、通信路抽象化部24a,24b、デバイス抽象化部
28a,28bは、いずれも同じコンピュータ40内に
存在するため、図1の一点鎖線で示す境界はすべてプロ
セス境界を表すことになる。
【0066】また、図2(b)の例では、ネットワーク
46を介して2台のコンピュータ42,44が接続され
ており、これら2台のコンピュータ42,44にそれぞ
れ2つのデバイス34a,34bが接続されている。こ
の例の場合、デバイス34a,34b以外の主たる構成
要素のうち、例えば、アプリケーション部20、インタ
ーフェイス部22a,22b及びデバイス抽象化部28
aは、一方のコンピュータ42内に存在し、デバイス抽
象化部28bは他方のコンピュータ44内に存在する。
従って、アプリケーション部20、インターフェイス部
22a,22b及びデバイス抽象化部28aは、同じコ
ンピュータ42内に存在するが、デバイス抽象化部28
bは異なるコンピュータ44に存在するため、インター
フェイス部22aとデバイス抽象化部28aとの間の一
点鎖線で示す境界はプロセス境界を表すが、インターフ
ェイス部22bとデバイス抽象化部28bとの間の一点
鎖線で示す境界、及びデバイス抽象化部28aと28b
との間の一点鎖線で示す境界は、それぞれ、ネットワー
ク境界を表すことになる。
【0067】なお、ネットワークとしては、インターネ
ットや、イントラネットや、ローカルエリアネットワー
ク(LAN)や、ワイドエリアネットワーク(WAN)
など、各種ネットワークを適用することができる。
【0068】さらに、図2(c)の例では、ネットワー
ク54を介して3台のコンピュータ48,50,52が
接続されており、そのうちの2台のコンピュータ50,
52にそれぞれ2つのデバイス34a,34bが接続さ
れている。この例の場合は、デバイス34a,34b以
外の主たる構成要素のうち、アプリケーション部20、
及びインターフェイス部22a,22bが、第1のコン
ピュータ48内に存在し、デバイス抽象化部28aは第
2のコンピュータ50内に存在し、デバイス抽象化部2
8bは第3ののコンピュータ52内に存在する。従っ
て、デバイス抽象化部28aと28bは互いに異なるコ
ンピュータに存在し、また、それらいずれもが、アプリ
ケーション部20やインターフェイス部22a,22b
の存在するコンピュータと異なるコンピュータに存在す
るため、図1の一点鎖線で示す境界はすべてネットワー
ク境界を表すことになる。
【0069】なお、図2において、コンピュータには、
パーソナルコンピュータや、モバイルコンピュータ、情
報処理端末装置や、ワークステーションなど、種々のコ
ンピュータが含まれる他、実質的にコンピュータ機能を
有する複写機やプリンタなどの周辺機器や、同じくコン
ピュータ機能を有するセット・トップ・ボックス(Set
Top Box;例えば、Web TVの受信ターミナルなどに代表
される情報端末の一形態)やゲーム機なども含まれる。
また、図2ではデバイスがコンピュータの外部に接続さ
れているように描いてあるが、デバイスの形態によって
は、図3に示すように、デバイスとコンピュータとが一
体的に構成されていても構わない。
【0070】図3(a)の例では、マシン41がデバイ
ス部34b’とコンピュータ部40’とをそれぞれ備え
ており、デバイスとコンピュータとが一体化されてい
る。同様に、図3(b)の例では、マシン45がデバイ
ス34b’とコンピュータ部44’とをそれぞれ備えて
おり、また、図3(c)の例では、マシン53がデバイ
ス部34b’とコンピュータ部52’をそれぞれ備えて
おり、各々、デバイスとコンピュータとが一体化されて
いる。
【0071】さて、上記したように、インターフェイス
部22aとデバイス抽象化部28aとの間、インターフ
ェイス部22bとデバイス抽象化部28bとの間、及び
デバイス抽象化部28aと28bとの間には、それぞ
れ、一点鎖線で示すプロセス境界またはネットワーク境
界が存在するが、このうち、特に、インターフェイス部
22aとデバイス抽象化部28aとの間、及びインター
フェイス部22bとデバイス抽象化部28bとの間に
は、それぞれ、それら境界を越えて、インターフェイス
部22aとデバイス抽象化部28aを、インターフェイ
ス部22bとデバイス抽象化部28bを、各々接続する
ための通信路26a,26bが存在している。これらの
通信路26a,26bは、越える境界がプロセス境界で
あるかネットワーク境界であるかによって、内部バス,
通信インターフェイス,ネットワーク通信手段など、そ
の種類が異なっている。
【0072】一方、通信路抽象化部24a,24bが、
それぞれ、インターフェイス部22aとデバイス抽象化
部28aとの間、及びインターフェイス部22bとデバ
イス抽象化部28bとの間において、通信路26a,2
6bをそれぞれ間に介して、その両側に形成されてい
る。これら通信路抽象化部24a,24bは、それぞ
れ、インターフェイス部22a,22bとデバイス抽象
化部28a,28bとが通信路26a,26bを介して
プロセス境界またはネットワーク境界を越えて各種制御
情報のやり取りやデータのやり取りを行なう際に、イン
ターフェイス部22a,22bやデバイス抽象化部28
a,28bに対して、間に介在する通信路の抽象化を行
なう。即ち、通信路抽象化部24a,24bは、介在す
る通信路の種類の違いを吸収し、インターフェイス部2
2a,22bやデバイス抽象化部28a,28bに、境
界がプロセス境界であるかネットワーク境界であるかを
意識させることなく、制御情報やデータのやり取りを行
なわせることができる。
【0073】なお、この通信路抽象化部24a,24b
の仕組みについては、後ほど詳しく説明する。
【0074】前述したように、インターフェイス部22
a,22b、通信路抽象化部24a,24b、デバイス
抽象化部28a,28bはコンピュータプログラムによ
って生成されているが、具体的には、各構成要素の存在
するコンピュータ毎に、それぞれ、各コンピュータ内の
CPUが、内部メモリに格納された所望のコンピュータ
プログラムを読み出して実行することにより、そのコン
ピュータに存在する構成要素として機能する。
【0075】なお、内部メモリに格納されているコンピ
ュータプログラムは、例えば、後述するように、CD−
ROMなどのコンピュータ読み取り可能な記録媒体に記
録された形態で提供される。すなわち、記録媒体に記録
されたコンピュータプログラムは、CD−ROM装置な
どの読み取り装置によって読み取られ、ハードディスク
装置などの外部記憶装置に転送されて格納される。そし
て、起動時などに必要に応じて内部メモリに転送され
る。あるいは、読み取られたコンピュータプログラム
は、外部記憶装置を介さず、直接、内部メモリに転送す
るようにしても良い。
【0076】このように、本実施例では、コンピュータ
プログラムをコンピュータ読み取り可能に記録する「記
録媒体」としてCD−ROMを利用することを述べた
が、その他にも、フレキシブルディスクや光磁気ディス
ク、ICカード、ROMカートリッジ、パンチカード、
バーコードなどの符号が印刷された印刷物、コンピュー
タの内部記憶装置(RAMやROMなどのメモリ)およ
び外部記憶装置等の、コンピュータが読取り可能な種々
の媒体を利用できる。
【0077】また、上記コンピュータプログラムは、こ
のような記録媒体に記録された形態での提供の他、ネッ
トワークを介して、コンピュータプログラムを供給する
プログラムサーバ(図示せず)にアクセスし、プログラ
ムサーバから各々のコンピュータ内に取り込むようにし
ても良い。
【0078】また、上記コンピュータプログラムの一部
は、オペレーティングシステムプログラムによって構成
するようにしても良い。
【0079】では、図1に示すデバイス制御システムの
処理動作について簡単に説明する。例えば、アプリケー
ション部20,インターフェイス部22a,22bの存
在するコンピュータのユーザから、キーボードやマウス
などの操作手段(図示せず)を介して、アプリケーショ
ン部20に対し、デバイス34aの設定を行なうよう指
示が入力された場合、アプリケーション部20はインタ
ーフェイス部22aに対してその指示を伝え、さらに、
インターフェイス部22aは、通信路26aを介してデ
バイス抽象化部28aにその指示を伝える。デバイス抽
象化部28aは、その指示に従ってデバイス34aの設
定を行なう。
【0080】また、例えば、ユーザからアプリケーショ
ン部20に対し、デバイス34aからデバイス34bに
データの伝送を行なうよう指示が入力された場合、アプ
リケーション部20は、インターフェイス部22a,2
2bにその指示を伝える。インターフェイス部22a,
22bは、その指示によって両者の間でやり取りを行な
って、デバイス34aと34bとの間で有効なデータの
伝送が可能であるかどうか、即ち、デバイス34aから
データを送り出した場合に、デバイス34bでそのデー
タを受け取って処理することが可能であるかどうかにつ
いて判断する。
【0081】そして、有効なデータの伝送が可能であ
る、即ち、デバイス34aからデータを送り出しても、
デバイス34bでそのデータを受け取って処理すること
が可能であると判断したならば、インターフェイス部2
2aは通信路26aを介してデバイス抽象化部28aに
対して、データの伝送の指示を伝える。それにより、デ
バイス抽象化部28aは、デバイス34aからデータを
取り込み、そのデータを通信路26aを介してインター
フェイス部22aに送る。インターフェイス部22a
は、そのデータをさらにアプリケーション部20に送
り、アプリケーション部20は、例えば、そのデータに
所定の処理を施した後、インターフェイス部22bを呼
び出して、インターフェイス部22bにそのデータを送
る。インターフェイス部22bは通信路26bを介して
デバイス抽象化部28bを呼び出し、デバイス抽象化部
28bに対してデータを送り、デバイス抽象化部28b
は送られてきたデータをデバイス34bに出力する。デ
バイス34bはデータを受け取ると、そのデータについ
て所定の処理を行なう。
【0082】なお、図1においては、黒線の矢印は各種
制御情報などのやり取りを示し、白抜き矢印は伝送され
るデータの流れを示している。
【0083】一方、データの伝送の方法としては次のよ
うな方法もある。図4及び図5は図1のデバイス制御シ
ステムにおける別のデータ伝送の方法を説明するための
ブロック図である。即ち、ユーザからアプリケーション
部20に対し、デバイス34aからデバイス34bにデ
ータの伝送を行なうよう指示が入力された場合、図4に
おいて、アプリケーション部20は、インターフェイス
部22a,22bにその指示を伝える。インターフェイ
ス部22a,22bは、その指示によって両者の間でや
り取りを行なって、デバイス34aと34bとの間で有
効なデータの伝送が可能であるかどうか、即ち、デバイ
ス34aからデータを送り出した場合に、デバイス34
bでそのデータを受け取って処理することが可能である
かどうかについて判断する。
【0084】そして、有効なデータの伝送が可能であ
る、即ち、デバイス34aからデータを送り出しても、
デバイス34bでそのデータを受け取って処理すること
が可能であると判断したならば、インターフェイス部2
2a,22bは通信路26a,26bを介してデバイス
抽象化部28a,28bにデータの伝送の指示を伝え
る。これにより、図5に示すように、インターフェイス
部22aとデバイス抽象化部28aとの間、及びインタ
ーフェイス部22bとデバイス抽象化部28bとの間の
接続が解除され、その代わりに、デバイス抽象化部28
aのデバイス制御部30aとデバイス抽象化部28bの
デバイス制御部30bとの間に、通信路38を介して新
たに接続が確立される。そして、通信路抽象化部36も
新たに生成されて、デバイス抽象化部28aと28bと
が通信路38を介してプロセス境界またはネットワーク
境界を越えて各種制御情報のやり取りやデータのやり取
りを行なう際に、デバイス抽象化部28a,28bに対
して、通信路の抽象化を行なう。つまり、通信路抽象化
部36は、介在する通信路38の種類の違いを吸収し、
デバイス抽象化部28a,28bに、境界がプロセス境
界であるかネットワーク境界であるかを意識させること
なく、制御情報やデータのやり取りを行なわせる。
【0085】こうして、デバイス抽象化部28aと28
bとの間の接続が確立されたら、デバイス抽象化部28
aは、デバイス34aからデータを取り込むと共に、通
信路38を介してデバイス抽象化部28bを呼び出し、
取り込んだデータをデバイス抽象化部28bに送る。デ
バイス抽象化部28bは送られてきたデータをデバイス
34bに出力する。デバイス34bでは入力されたデー
タについて所定の処理を行なう。
【0086】その後、データの伝送が終了したら、デバ
イス抽象化部28aと28bとの間の接続が解除され、
再び、インターフェイス部22aとデバイス抽象化部2
8aとの間、及びインターフェイス部22bとデバイス
抽象化部28bとの間の接続が確立される。
【0087】以上のようなデータの伝送の場合、通信路
38によって、データの伝送経路がバイパスされるた
め、例えば、適用されるコンピュータシステムが図2
(c)または図3(c)に示すような場合には、デバイ
ス抽象化部28aと28bとの間に介在するネットワー
ク境界が最適化されると共に、アプリケーション部2
0,インターフェイス部22a,22bの存在するコン
ピュータ48が、データの伝送には全く介在しなくなる
ため、より高速なデータ伝送が可能となる。
【0088】ところで、デバイス34aからデバイス3
4bにデータの伝送を行なうよう指示された場合、イン
ターフェイス部22a,22bは、両者の間でやり取り
を行なって、デバイス34aと34bとの間で有効なデ
ータの伝送が可能であるかどうか、即ち、デバイス34
aからデータを送り出した場合に、デバイス34bでそ
のデータを受け取って処理することが可能であるかどう
かについて判断する。
【0089】この時、インターフェイス部22a,22
bでは、対象となるデバイス(即ち、デバイス34a,
34b)の属性情報を参照して、上記の判断を行なう。
参照される属性情報としては、デバイスの種類、送り手
側デバイス系/受け手側デバイス系、Push型/Pull型
(データ伝送の主体がSource側か,Destination側
か)、取り扱い可能なデータ形式、デバイスの状態(動
作可能か?等)や性能(処理速度等)や存在場所(セク
ション,フロアー等)や処理コスト(通信コストや印刷
コスト)、特別なデータ伝送方式のサポートの有無など
が挙げられる。
【0090】また、この属性情報は、上記の判断の他
に、後述するように、対象となるデバイスの組合せの有
効性の度合いを表す評価値を得るためにも、用いられ
る。
【0091】なお、上記属性情報は、アプリケーション
部20,インターフェイス部22a,22bの存在する
コンピュータ内に格納されていても良いが、デバイス制
御部,デバイス・ドライバの存在するコンピュータ内に
格納されていても良い。この場合、インターフェイス部
22a,22bは、対応するデバイス制御部30a,3
0bとの間で接続を確立し、必要に応じて、デバイス制
御部30a,30bとの間で交信を行ない、格納されて
いる上記属性情報を参照して、有効なデータの伝送が可
能であるかどうかの判断を行なうことになる。また、上
記属性情報は、アプリケーション部20,インターフェ
イス部22a,22bの存在するコンピュータとは、別
の、ネットワーク上に存在するコンピュータ(例えば、
サーバ)内に格納されていても良い。その場合には、イ
ンターフェイス部22a,22bは、そのサーバとの間
で接続を確立し、格納されている上記属性情報を参照し
て、有効なデータの伝送が可能であるかどうかの判断を
行なうことになる。
【0092】ところで、一方のデバイスからデータを送
り出し、他方のデバイスでそのデータを受け取って処理
することが可能である場合、それらデバイスが例えネッ
トワークを介してつながっている場合であっても、ユー
ザから見て、それらデバイスはあたかも1つのデバイス
で構成されているように見なせる場合がある。そのよう
なデバイスを、本明細書では複合デバイスと呼ぶ。すな
わち、複合デバイスとは、対象となっている複数のデバ
イスのうち、データを送り出す側のデバイスの有する機
能の少なくとも一部と、データを受け取る側の有する機
能の少なくとも一部と、を共に有する仮想的なデバイス
のことである。すなわち、上記例のように、デバイス3
4aからデータを送り出し、デバイス34bでそのデー
タを受け取って処理する場合、対象となっているデバイ
スはデバイス34aとデバイス34bであるので、デバ
イス34aの有する機能の少なくとも一部とデバイス3
4bの有する機能の少なくとも一部とを共に有する仮想
的なデバイスが、複合デバイスとなる。
【0093】任意のデバイス同士においては、デバイス
の組合せによっては、一方のデバイスからデータを送り
出した場合に、他方のデバイスでデータを受け取って処
理することが可能でない場合も出てくる。このような場
合、当然に、それらデバイスについて複合デバイスを仮
想しても、その複合デバイスは実際には動作不可能とな
る。
【0094】従って、任意のデバイス同士について、一
方のデバイスからデータを送り出した場合に、他方のデ
バイスでそのデータを受け取って処理することが可能で
あるかどうかを判断する手法の一つとして、後述するよ
うに、それら任意のデバイスの組合せが、複合デバイス
として動作可能である組合せであるかどうかを判断する
ようにしても良い。
【0095】それでは、次に、図1に示すデバイス制御
システムをCOMの技術を用いて実現した場合の具体例
について説明する。
【0096】ここで、COM(Compornent Object Mode
l)とは、Microsoft社が提唱し、推進しているオブジェ
クトを連携動作させるインフラストラクチャであって、
動的に交換可能なコンポーネントの構築方法を定義する
ものであり、コンポーネントアーキテクチャの標準を定
めた仕様である。
【0097】COMでは、ソフトウェアが提供するサー
ビスは、それぞれ、COMオブジェクトとしてインプリ
メントされる。各COMオブジェクトは、それぞれ、1
つ以上のインターフェイスを実装している。また、各C
OMオブジェクトは、それぞれ、クラスIDにより識別
される。この具体例では、図1に示した構成要素のう
ち、インターフェイス部22a,22b及びデバイス制
御部30a,30bが、それぞれ、COMオブジェクト
として構成される。
【0098】COMオブジェクトが実装するインターフ
ェイスは、通常何らかの関連性を持ったいくつかのメソ
ッドによって構成されている。各インターフェイスは、
それぞれ、インターフェイスIDにより識別される。ま
た、メソッドは特定の機能を実行する関数呼び出しであ
って、特定のインターフェイスに含まれるメソッドを呼
び出すためには、そのインターフェイスへのポインタが
必要となる。インターフェイスのポインタは、そのイン
ターフェイスを識別するインターフェイスIDと、その
インターフェイスを実装するCOMオブジェクトを識別
するクラスIDなどを指定して、COMライブラリのサ
ービスを呼び出すことにより取得することができる。
【0099】図6は図1のデバイス制御システムをCO
Mの技術を用いて実現した場合の具体例を示すブロック
図である。
【0100】図6において、アプリケーション部20
は、前述したとおり、アプリケーションプログラムによ
って機能しており、内部に、イベント・ハンドラー(Ev
entHandler)N1を有している。
【0101】また、インターフェイス部22a,22b
は、上記したように、COMオブジェクトによって構成
されており、各々、複数のインターフェイスI1〜I1
0を実装している。図ではインターフェイスはそれぞれ
丸で表している。これらインターフェイスのうち、I
1,I6はそれぞれアイ・サイバー・プラグ(ICyberPl
ug)であり、I2,I7はそれぞれアイ・コンテキスト
・メニュー(IContextMenu)であり、I3,I8はそれ
ぞれアイ・ドロップ・ソース(IDropSource)であり、
I4,I9はそれぞれアイ・ドロップ・ターゲット(ID
ropTarget)であり、I5,I10はそれぞれアイ・サ
イバー・イベント(ICyberEvent)である。このうち、
アイ・コンテキスト・メニューI2,I7、アイ・ドロ
ップ・ソースI3,I8、及びアイ・ドロップ・ターゲ
ットI4,I9はそれぞれ一般的なインターフェイスで
あるが、アイ・サイバー・プラグI1,I6及びアイ・
サイバー・イベントI5,I10はこの具体例独自のイ
ンターフェイスである。
【0102】なお、前述したように、インターフェイス
部22a,22bは、上位に位置するアプリケーション
部20に対して、同一のインターフェイス(汎用インタ
ーフェイス)を提供するが、上記したアイ・サイバー・
プラグI1,I6が、そのインターフェイスに該当す
る。
【0103】また、インターフェイス部22a,22b
は、上記したインターフェイス以外にも、アイ・データ
・オブジェクト(IDataObject)などのインターフェイ
スも実装している。
【0104】一方、デバイス制御部30a,30bも、
上記したようにCOMオブジェクトによって構成されて
おり、各々、複数のインターフェイスI11〜I14を
実装している。これらインターフェイスのうち、I1
1,I3はそれぞれアイ・サイバー・プロトコル(ICyb
erProtocol)であり、I12,I14はそれぞれアイ・
サイバー・イベント(ICyberEvent)である。これらイ
ンターフェイスI11〜I14はいずれもこの具体例独
自のインターフェイスである。また、デバイス制御部3
0a,30bは、各々、モジュールとしてステイタス・
モニタM1,M2を含んでいる。
【0105】なお、前述したように、デバイス制御部3
0a,30bは、インターフェイス部22a,22bな
ど上位に位置する構成要素に対して、すべて同一のイン
ターフェイス(汎用インターフェイス)を提供すること
によって、デバイスの完全な抽象化を行なっているが、
上記したアイ・サイバー・プロトコルI11,I13
が、そのインターフェイスに該当している。
【0106】また、図6において、デバイス・ドライバ
32a,32bとデバイス34a,34bは、それぞ
れ、図1と変わるところはない。
【0107】図6において、プロキシ(Proxy)P1,
P2及びスタブ(Stub)S1,S2は、図1に示す通信
路抽象化部24aを構成しており、また、プロキシP
3,P4及びスタブS3,S4は通信路抽象化部24b
を構成している。このようなプロキシ及びスタブは、C
OM/DCOM(Distributed COM)の機構により生成
される。COM/DCOMはWindowsプラットホーム等
で標準的にサポートされる機構である。
【0108】それでは、通信路抽象化部24a,24b
を構成するプロキシとスタブの機能によって、前述した
通信路の抽象化を行なう仕組みについて説明する。
【0109】COMにおいて、インターフェイスに含ま
れるメソッドの呼び出し(以下、インターフェイス呼び
出しという)を行なう際、インターフェイス呼び出し側
をクライアント、呼び出される側をサーバと呼ぶ。サー
バは、a)クライアントと同一コンピュータ上の同一プ
ロセス(同一アドレス空間)で動作する場合と、b)ク
ライアントと同一コンピュータ上の異なるプロセス(ア
ドレス空間)で動作する場合と、c)クライアントとは
異なるコンピュータ上のプロセス(アドレス空間)で動
作する場合がある。
【0110】従って、インターフェイス部22a,22
bとデバイス制御部30a,30bとの関係において、
上記したクライアントとサーバの関係を持ち込むものと
すると、インターフェイス部22a,22bとデバイス
制御部30a,30bとの間に介在する境界(一点鎖線
で示す境界)がプロセス境界である場合は、b)の場合
に相当し、ネットワーク境界である場合は、c)の場合
に相当する。
【0111】b)やc)の場合、サーバはクライアント
とアドレス空間(プロセス)が異なっているので、イン
ターフェイス呼び出しを行なう場合に、単純な関数呼び
出しのような呼び出し方は不可能である。そこで、この
具体例では、クライアントがサーバによって実現される
インターフェイスを呼び出す場合、クライアントは、サ
ーバと全く同じインターフェイスを実装するプロキシ
を、クライアントと同じプロセス(アドレス空間)内に
作成し、そのプロキシを介して呼び出すようにしてい
る。プロキシは、クライアントによるインターフェイス
呼び出しを、リモート・プロシジャー・コール(RP
C;Remote Procedure Call)やプロセス間リモート・
プロシジャー・コール(LRPC;Lightweight RPC)
に変換して、サーバと同じプロセス(アドレス空間)内
に作成されたスタブを呼び出す。スタブは、リモート・
プロシジャー・コールまたはプロセス間リモート・プロ
シジャー・コールを、元のインターフェイス呼び出しに
復元して、サーバ内の本来のインターフェイスを呼び出
す。その後の呼び出しの戻りは、上記動作の逆をたどる
動作となる。
【0112】ここで、リモート・プロシジャー・コール
は、ネットワーク境界を越えて関数を呼び出すための仕
組みであり、関数呼び出しは、ネットワーク上のデータ
のやり取りに変換される。従って、このリモート・プロ
シジャー・コールはc)の場合に用いられる。また、プ
ロセス間リモート・プロシジャー・コールは、同一コン
ピュータ上で,プロセス境界を越えて関数を呼び出すた
めの仕組みであり、関数呼び出しがプロセス間通信によ
り実現される。従って、このプロセス間リモート・プロ
シジャー・コールはb)の場合に用いられる。
【0113】以上のように、インターフェイス呼び出し
をリモート・プロシジャー・コールやプロセス間リモー
ト・プロシジャー・コールに変換して、プロキシとスタ
ブとの間でやり取りすることにより、通信路の種類の違
いを吸収し、境界がプロセス境界であるかネットワーク
境界であるかを意識させることなく、インターフェイス
呼び出しを行なうことができ、通信路の抽象化を実現す
ることができる。
【0114】それでは、図6以下の図面を用いて、この
具体例の動作について説明する。なお、以下の説明で
は、デバイス34aがスキャナであり、デバイス34b
がプリンタである場合を例として説明する。
【0115】アプリケーション部20を機能するアプリ
ケーションの表示領域には、予め、制御対象として、デ
バイス34aであるスキャナとデバイス34bであるプ
リンタがマウントされている。これによって、CRTな
どの表示手段(図示せず)の画面上には、図7(a)に
示すように、スキャナのアイコンとプリンタのアイコン
がインターフェイス部22a,22bによって表示され
るため、アプリケーション部20等の存在するコンピュ
ータのユーザが、これらスキャナやプリンタに対して、
種々の操作を行なうことができるようになる。
【0116】そこで、ユーザがキーボードやマウスなど
の操作手段(図示せず)を使って、画面上に表示されて
いるアイコンを操作すると、その操作がスキャナの設定
を行なうための操作(例えば、スキャナのアイコン上で
マウスの右ボタンをクリックするなど)である場合に
は、アプリケーション部20によって、スキャナである
デバイス34aに対応したインターフェイス部22aか
ら、アイ・コンテキスト・メニューI2が呼び出され
る。アイ・コンテキスト・メニューI2は、スキャナの
アイコンの近傍に、スキャナ用のコンテキストメニュー
(ポップアップメニュー)を表示したり、ユーザがその
メニュー内の項目の実行を指示した場合に、その指示に
従って、デバイス制御部30aと交信を行なって、スキ
ャナであるデバイス34aの設定を行なう。
【0117】また、ユーザによるアイコンの操作がアイ
コンのドラッグ・アンド・ドロップ(Drag & Drop)で
ある場合には、次のような動作を行なう。
【0118】即ち、ユーザがマウスを操作して、図7
(b)に示すように、画面上に表示されているスキャナ
のアイコンをマウスカーソルによりドラッグして、プリ
ンタのアイコンの上に重ねると、インターフェイス部2
2bによって、インターフェイス部22aに実装されて
いるアイ・ドロップ・ソースI3がインターフェイス部
22bに実装されているアイ・ドロップ・ターゲットI
9に渡される。具体的には、アイ・ドロップ・ソースI
3のポインタをパラメータとして、アイ・ドロップ・タ
ーゲットI9のいずれかのメソッドが呼び出される。
【0119】次に、インターフェイス部22bでは、ア
イ・ドロップ・ターゲットI9が、渡されたアイ・ドロ
ップ・ソースI3から、インターフェイス部22aに実
装されているアイ・サイバー・プラグI1のポインタを
取り出し、インターフェイス部22bに実装されている
アイ・サイバー・プラグI6に対して、アイ・サイバー
・プラグI1とのデータ伝送が成り立つかどうか問い合
わせる。
【0120】この時、各々のインターフェイス部22
a,22bでは、対応するデバイス制御部30a,30
bとの間で接続を確立し、必要に応じて、デバイス制御
部30a,30bとの間で交信を行った上で、データ伝
送が成り立つかどうかの判断を行なう。
【0121】次に、インターフェイス部22a,22b
は、データ伝送が成り立つと判断した場合には、画面上
に表示されているドラッグ中のマウスカーソルを、ドラ
ッグ・アンド・ドロップが可能であることを表す形状に
設定し、成り立たないと判断した場合には、ドラッグ中
のマウスカーソルを、ドラッグ・アンド・ドロップを禁
止することを表す形状に設定する。
【0122】そこで、データ伝送が成り立つと判断され
た場合において、ユーザがマウスを操作して、スキャナ
のアイコンをプリンタのアイコンに重ねた状態でドロッ
プすると、インターフェイス部22bでは、アイ・ドロ
ップ・ターゲットI9が、アイ・サイバー・プラグI6
のデータ伝送開始のメソッドに、インターフェイス部2
2aに実装されているアイ・サイバー・プラグI1を渡
して、実際の処理をアイ・サイバー・プラグI6に任せ
る。
【0123】データ伝送の実際の処理は、次のように行
なわれる。即ち、データの伝送が、図1に示したよう
に、インターフェイス部22a,アプリケーション部2
0,インターフェイス部22bを介して行なわれる場合
は、図8〜図12に示す如く行なわれ、また、図5に示
したように、デバイス制御部30aと30bとの間で直
接行なわれる場合は、図13〜図17に示す如く行なわ
れる。
【0124】図8〜図12は、図6のデバイス制御シス
テムにおいて、データ伝送を行なう場合の手順を時系列
で順番に示した説明図である。なお、これら図では、そ
の時点でポイントとなる部分を太線にて表しており、そ
の時点で関わりの少ない部分を破線にて表している。
【0125】データ伝送の処理が開始されると、まず、
図8に示すように、デバイス34a(スキャナ)から得
られたデータがデバイス・ドライバ32aに入力され、
デバイス・ドライバ32a内のバッファに格納される。
次に、図9に示すように、データ入力がデバイス制御部
30aのステイタス・モニタM1によって検出され、イ
ベントとして、プロキシP1,スタブS1,インターフ
ェイス部22aのアイ・サイバー・イベントI5を介し
て、アプリケーション部20のイベント・ハンドラーN
1に通知される。アプリケーション部20は、通知され
たイベントを無視することもできるが、イベントに応答
して直ちにデータ入力を行うこともできる。
【0126】アプリケーション部20がデータ入力を行
なう場合、図10に示すように、まず、アプリケーショ
ン部20は内部にデータ格納領域を用意すると共に、デ
ータを取得するためにインターフェイス部22aを呼び
出す(図10の太線矢印)。これにより、処理の実行は
インターフェイス部22aに移行する。次に、インター
フェイス部22aがデータを取得するためにデバイス制
御部30aを呼び出す(図10の太線矢印)と共に、プ
ロキシP2,スタブS2が生成される。そして、アプリ
ケーション部20の用意したデータ格納領域に対応する
一時的な領域が、デバイス制御部30aのためにスタブ
S2の内部に用意され、パラメータとして渡される。こ
れにより、処理の実行はデバイス制御部30aに移行す
る。次に、デバイス制御部30aがデータを取得するた
めにデバイス・ドライバ32aを呼び出す。これによ
り、処理の実行はデバイス・ドライバ32aに移行す
る。
【0127】続いて、デバイス・ドライバ32aは、バ
ッファに格納されているデータをスタブS2が用意した
データ格納領域にコピーする。そして、関数呼び出しの
戻りにより、処理の実行はデバイス・ドライバ32aか
らデバイス制御部30aを経てインターフェイス部22
aに移行する。これにより、インターフェイス部22a
は、スタブS2が用意したデータ格納領域内のデータ
を、アプリケーション部20が用意した本来のデータ格
納領域にコピーする。その後、関数呼び出しの戻りによ
り、処理の実行がインターフェイス部22aからアプリ
ケーション部20に移行する。
【0128】続いて、アプリケーション部20は、アプ
リケーション部20内のデータ格納領域よりデータを読
み出して、必要に応じて加工を施す。そして、図11に
示すように、アプリケーション部20は、データを送り
出すためにインターフェイス部22bを呼び出す(図1
1の太線矢印)。これにより、処理の実行はインターフ
ェイス部22bに移行する。次に、インターフェイス部
22bがデータを送り出すためにデバイス制御部30b
を呼び出す(図11の太線矢印)と共に、プロキシP
4,スタブS4が生成される。そして、アプリケーショ
ン部20の用意したデータ格納領域に対応する一時的な
領域が、デバイス制御部30bのためにスタブS4の内
部に用意され、アプリケーション部20から出力された
データがその領域にコピーされた上で、パラメータとし
て渡される。これにより、処理の実行はデバイス制御部
30bに移行する。次に、デバイス制御部30bがデー
タを送り出すためにデバイス・ドライバ32bを呼び出
す。これにより、処理の実行はデバイス・ドライバ32
bに移行する。
【0129】続いて、デバイス・ドライバ32bは、ス
タブS2が用意したデータ格納領域に格納されているデ
ータを、デバイス・ドライバ32bのバッファにコピー
する。そして、関数呼び出しの戻りにより、処理の実行
はデバイス・ドライバ32bからデバイス制御部30
b,インターフェイス部22bを経てアプリケーション
部20に移行する。
【0130】また、図12に示すように、デバイス・ド
ライバ32bは、バッファに格納されているデータをデ
バイス34b(プリンタ)に出力する。
【0131】なお、同期出力の場合は、デバイス34b
へのデータの出力が完了するまで、処理の実行が上位層
へ移行することはないが、非同期出力の場合には、デバ
イス34bへのデータ出力の完了を待たずに、処理の実
行が上位層へ移行する。
【0132】一方、データの伝送が、図5に示したよう
に、デバイス制御部30aと30bとの間で直接に行な
われる場合は、次のようになる。図13は図5に示した
データ伝送の方法をCOMの技術を用いて実現した場合
の具体例を示すブロック図である。
【0133】前述したように、インターフェイス部22
bにおいて、アイ・ドロップ・ターゲットI9が、アイ
・サイバー・プラグI6のデータ伝送開始のメソッド
に、インターフェイス部22aに実装されているアイ・
サイバー・プラグI1を渡して、実際の処理をアイ・サ
イバー・プラグI6に任せた後は、アイ・サイバー・プ
ラグI6のデータ伝送開始のメソッドは、次の手順によ
って、デバイス制御部30aと30bとの間での直接の
データ伝送を実現する。
【0134】即ち、インターフェイス部22bのアイ・
サイバー・プラグI6は、デバイス制御部30bに対し
て、デバイス制御部同士の直接のデータ伝送を開始する
ように指示を出すと共に、相手側のデバイス制御部30
aを生成するために必要な情報(少なくとも、デバイス
制御部30aのクラスID)を渡す。
【0135】それにより、デバイス制御部30bは、自
分自身のクローンを生成すると共に、渡された情報を基
にして、相手側のデバイス制御部30aのクローンも生
成する。その上で、新たに生成されたデバイス制御部3
0bは、新たに生成されたデバイス制御部30aとの間
で接続を確立して、最適な通信路を確保する。このと
き、図5に示した通信路抽象化部36として、プロキシ
P5,P6及びスタブS5,S6も併せて生成される。
【0136】その後、デバイス制御部30bは、指定さ
れた通信の設定に応じて、相手側のデバイス制御部30
aとの間でデータ伝送を開始する。その後、予め設定さ
れた終了条件を満足したら、データ伝送を終了して、デ
バイス制御部30bは、デバイス制御部30aとの間の
接続を解除する。
【0137】図14〜図17は、図13のデバイス制御
部30a,30b間で直接のデータ伝送を行なう場合の
手順を時系列で順番に示した説明図である。なお、これ
ら図では、その時点でポイントとなる部分を太線にて表
しており、その時点で関わりの少ない部分を破線にて表
している。
【0138】デバイス制御部30a,30b間で直接の
データ伝送を行なう場合、アプリケーション部20やイ
ンターフェイス部22a,22bが介在しないため、デ
バイス制御部30a,30b同士が、直接、メソッドの
呼び出し、イベントの送付、データの伝送を行なってい
るが、デバイス制御部30a,30b、デバイス・ドラ
イバ32a及びデバイス34a,34bの動作内容はア
プリケーション部20等が介在している場合と変わりは
ないため、説明は省略する。
【0139】以上説明したように、本実施例によれば、
アプリケーション部20は、インターフェイス部22
a,22b、通信路抽象化部24a,24b、デバイス
抽象化部28a,28bをそれぞれ介することによっ
て、デバイス34a,34bの種類や、途中に介在する
通信路26a,26bの種類を意識することなく、各デ
バイス34a,34bを制御して、各デバイス34a,
34bの設定を行なったり、各デバイス34a,34b
間でデータの伝送を行なわせたりすることができる。
【0140】それでは、次に、図1に示すデバイス制御
システムによって、前述した複合デバイスの1つである
仮想的なコピー機を実現する場合の具体例について説明
する。
【0141】例えば、図1に示すアプリケーション部2
0を構築するアプリケーションプログラムが、仮想的な
コピー機を実現するためのプログラム(以下、このプロ
グラムを「Cyber Copy」と称することにする)である場
合、このアプリケーションプログラム「Cyber Copy」を
コンピュータ(図示せず)上で起動すると、選択可能な
デバイスのうち、予めデフォルトで送り手(ソース[So
urce])側のデバイスとして登録されているスキャナと
受け手(ディスティネイション[Destination])側の
デバイスとして登録されているプリンタとがそれぞれ自
動的に選択される。また、表示手段(図示せず)の画面
上には、図18に示す如く、コピー機のようなユーザイ
ンターフェイスが表示される。そこで、ユーザが、表示
画面を見ながらキーボードやマウスなどを操作して、コ
ピー枚数などの指定を行なった後、スタートボタンJ1
をクリックすると、前述したように、通信路を介しての
接続が確立されて、送り手側デバイスであるスキャナか
ら受け手側デバイスであるプリンタへの画像データの伝
送が行なわれ、仮想的なコピー機としての動作が行なわ
れる。
【0142】なお、本明細書において、少なくともデー
タ等を送ることが可能なデバイスを送り手デバイスと
し、少なくともデータ等を受けることが可能なデバイス
を受け手側デバイスとしている。従って、例えば、中間
加工などの中間的な処理を行うようなデバイスであって
も、少なくともデータ等を送ることが可能であれば、送
り手側デバイスと見なすことができるし、少なくともデ
ータ等を受けることが可能であれば、受け手側デバイス
と見なすことができるので、そのようなデバイスであっ
ても、送り手側デバイスまたは受け手側デバイスの何れ
かになり得る。
【0143】また、このアプリケーションプログラム
「Cyber Copy」には、オプションが用意されており、デ
バイスの変更や画像の拡大,縮小や画像の補正(この場
合、色補正)などが可能となっている。即ち、例えば、
ユーザが、図18に示す画面中において、画像の拡大,
縮小有りや画像の補正有りなどの指示を行なった場合、
予めデフォルトで登録されている画像処理サーバが上記
した接続関係に組み込まれ、画像データの伝送がその画
像処理サーバを経由して行なわれ、その画像処理サーバ
において、コピーすべき画像に、拡大,縮小処理や色補
正処理などの所望の処理が加えられる。
【0144】このときの画像データの流れを図19に示
す。図19では、送り手側デバイスとしてスキャナB
が、受け手側デバイスとしてプリンタDが、処理サーバ
として画像処理サーバDが、それぞれ、選択されている
ものとしている。画像データはスキャナBからデバイス
抽象化部60a,通信路抽象化部62,デバイス抽象化
部60cを介して画像処理サーバDに入力され、ここ
で、所望の処理が施された後、デバイス抽象化部60
c,通信路抽象化部64,デバイス抽象化部60bを介
して、プリンタDに伝送される。なお、ここでは、説明
を分かりやすくするために、送り手側デバイス,受け手
側デバイスと処理サーバとを分けているが、前述したと
おり、処理サーバもデバイスであるので、厳密に言う
と、処理サーバはスキャナに対しては受け手側デバイス
となっており、プリンタに対しては送り手側デバイスと
なっている。
【0145】また、このときのデバイス間の通信状況
は、図18に示すように、表示手段の画面上にウインド
ウ表示され、ユーザに提示される。
【0146】一方、送り手側デバイス、受け手側デバイ
ス、処理サーバなどのデバイスは、それぞれ、ユーザが
任意に選択することができる。即ち、ユーザが、図18
に示すデバイス選択ボタンJ2をクリックすると、図2
0に示すようなデバイス選択ツリーが表示手段の画面上
に表示される。ユーザは、その中から所望のデバイスを
自由に選択することができる。
【0147】以上のように、本実施例のデバイス制御シ
ステムによって、複合デバイスの1つである仮想的なコ
ピー機を容易に実現することができる。
【0148】さて、本実施例について、さらに具体的に
説明していく。図21は図2(c)の接続形態にて接続
した場合のデバイス制御システムを示すブロック図であ
る。なお、図21に示す各構成要素は、それぞれ、図1
や図2(c)に示した各構成要素と同じ構成要素であっ
ても、符号を違えて記述してある。
【0149】図21に示すように、コンピュータ100
には、受け手側デバイスであるプリンタ240の接続さ
れたコンピュータ200と、送り手側デバイスであるス
キャナ340の接続されたコンピュータ300と、がそ
れぞれ、ネットワーク(図示せず)を介して接続されて
いる。その他、コンピュータ100には、CRTや液晶
ディスプレイなどから成り、ユーザインターフェイスな
どの各種画像を表示することが可能なモニタ170が直
接接続されている。
【0150】また、コンピュータ100は、アプリケー
ション部110と、インターフェイス部120,140
と、ユーザーインターフェイス(UI)データ格納部1
50と、アイコンデータ格納部160と、プロキシ(Pr
oxy)180,190と、を備えている。一方、コンピ
ュータ200および300は、それぞれ、スタブ(Stu
b)210,310と、デバイス制御部220,320
と、デバイスドライバ230,330と、を備えてい
る。
【0151】これらのうち、アプリケーション部110
は、所定のアプリケーションプログラムによって構築さ
れている。ここでのアプリケーションには、Windowsの
ユーザインターフェイスを表示しているシェルなど、O
Sの一部もこれに含まれる。また、インターフェイス部
120,プロキシ180,スタブ210,デバイス制御
部220およびデバイスドライバ230は、それぞれ、
受け手側デバイスであるプリンタ240に対応して生成
されている。一方、インターフェイス部140,プロキ
シ190,スタブ310,デバイス制御部320および
デバイスドライバ330は、それぞれ、送り手側デバイ
スであるスキャナ340に対応して生成されている。
【0152】また、インターフェイス部120は、判定
部122と、デバイス情報記憶部124と、ユーザイン
ターフェイス(UI)参照テーブル128と、データ伝
送実行部129と、アイコン参照テーブル130と、デ
ータ出力部132と、関連付部134と、決定部136
と、を備えている。また、インターフェイス部140
は、少なくとも、デバイス情報記憶部144と、データ
伝送実行部148と、を備えている。これら各構成要素
は、それぞれ、コンピュータプログラムによって生成さ
れている。なお、デバイス情報記憶部124およびデバ
イス情報記憶部144には、対応デバイスクラスの情報
125,145と、複合動作可能デバイスクラスの情報
126,146と、複合デバイスカテゴリの情報12
7,147と、が予め記憶されており、結果蓄積情報1
31,149が蓄積されている。なお、これら情報につ
いては、後ほど詳しく説明する。
【0153】図22は図21に示すコンピュータ100
のハードウェア構成の概要を示すブロック図である。
【0154】図22に示すように、ハードウェアの構成
として、コンピュータ100は、その内部または外部
に、コンピュータプログラムに従って種々の処理や制御
を行なうためのCPU70と、上記コンピュータプログ
ラムを記憶したり、処理中に得られたデータなどを一時
的に記憶したりするためのメモリ72と、各種周辺装置
との間でデータなどのやり取りを行なうためのI/O部
74と、各種データを格納するためのハードディスク装
置76と、モデムやターミナルアダプタやネットワーク
カードなどから成り、ネットワークを介して他の装置と
通信を行なうための通信装置78と、CD−ROMドラ
イブ装置80と、ユーザからの指示などを入力するため
のマウス84と、既述したモニタ170と、を備えてい
る。
【0155】なお、上記したように、アプリケーション
部110、およびインターフェイス部120,140内
の各構成要素は、それぞれ、コンピュータプログラムに
よって生成されているが、具体的には、前述したとお
り、コンピュータ100内のCPU70が、メモリ72
に格納された所望のコンピュータプログラムを読み出し
て実行することにより、それら構成要素として機能す
る。
【0156】本実施例では、前述したように、メモリ7
2に格納されているコンピュータプログラムは、記録媒
体であるCD−ROM82に記録された形態で提供さ
れ、CD−ROMドライブ装置80により読み取られる
ことによって、コンピュータ100内に取り込まれる。
取り込まれたコンピュータプログラムは、ハードディス
ク装置76に転送され、その後、起動時などにメモリ7
2に転送される。あるいは、読み取られたコンピュータ
プログラムは、ハードディスク装置76を介さず、直
接、メモリ72に転送するようにしても良い。
【0157】さらにまた、本実施例においては、インタ
ーフェイス部120,140内の各構成要素を、それぞ
れ、ソフトウェアによって実現しているが、これらはハ
ードウェアによって実現するようにしても良い。
【0158】また、UIデータ格納部150およびアイ
コンデータ格納部160は、ハードディスク装置76に
それぞれ配備されている。
【0159】それでは、図21に示すデバイス制御シス
テムの動作について説明する。今、コンピュータ100
のユーザが、例えば、コンピュータ300に接続された
スキャナ340によって画像を取り込み、その取り込ん
だ画像をコンピュータ200に接続されたプリンタ24
0によって印刷しようとしている場合を考えてみる。
【0160】コンピュータ100に接続されたモニタ1
70の画面400上には、今、図23に示すように、送
り手側デバイス(ソース[Source]側のデバイス)であ
るスキャナ340を視覚的に表したスキャナアイコン4
10と、受け手側デバイス(ディスティネイション[De
stination]側のデバイス)であるプリンタ240を視
覚的に表したプリンタアイコン420と、が表示されて
いる。このうち、スキャナアイコン410は、スキャナ
340に対応したインターフェイス部140によって表
示され、プリンタアイコン420は、プリンタ240に
対応したインターフェイス部120によって表示されて
いる。
【0161】そこで、コンピュータ100のユーザは、
まず、コンピュータ100に接続されたマウス84を操
作し、画面400上に表示されているマウスカーソル4
30により、送り手側のスキャナアイコン410を選択
してドラッグ(Drag)すると、アプリケーション部11
0が、その操作内容に基づいて、スキャナ340に対応
したインターフェイス部140の呼び出しを行なう。続
いて、ユーザがマウス84を操作して、ドラッグしてい
るスキャナアイコン410’を受け手側のプリンタアイ
コン420の上に重ね合わせると、アプリケーション部
110は、その操作内容に従って、今度は、プリンタ2
40に対応したインターフェイス部120の呼び出しを
行なう。これにより、受け手側のデバイスであるプリン
タ240に対応したインターフェイス部120が、主体
となって、図24に示すデータ伝送開始処理を実行す
る。
【0162】なお、本実施例では、このように、受け手
側のデバイスに対応するインターフェイス部が、主体と
なって処理を実行するようにしているが、本発明はこれ
に限定されるものではなく、送り手側のデバイスに対応
するインターフェイス部が、主体となって処理を実行す
るようにしても良い。
【0163】図24は図21におけるインターフェイス
部120で実行されるデータ伝送開始処理の流れを示す
フローチャートである。
【0164】インターフェイス部120には、アプリケ
ーション部110を介して、ユーザによるマウス84の
操作内容は伝えられているので、図24に示す処理が開
始されると、まず、インターフェイス部120内の関連
付部134が、その伝えられた内容を基にして、インタ
ーフェイス部120の対応デバイスであるプリンタ24
0と、相手方のデバイスと、の関連付けを行う(ステッ
プS102)。関連付部134は、インターフェイス部
120がアプリケーション部110から呼び出されたこ
とにより、対応デバイスであるプリンタ240が関連付
けの対象となっていることは認識している。一方、関連
付部134は、アプリケーション部110から伝えられ
たマウス84の操作内容から、関連付けるべき相手方の
デバイスがスキャナ340であることを把握する。従っ
て、関連付部134は、対応デバイスであるプリンタ2
40に対し、相手方デバイスとしてスキャナ340を関
連付け、その結果を判定部122に伝える。
【0165】次に、判定部122は、伝えられた結果に
基づいて、対応デバイスであるプリンタ240と相手方
デバイスであるスキャナ340の各々のデバイスクラス
(すなわち、デバイスの種類)の情報を、デバイス情報
記憶部124と、スキャナ340に対応するインターフ
ェイス部140のデバイス情報記憶部144と、からそ
れぞれ取得する(ステップS104)。
【0166】前述したように、デバイス情報記憶部12
4およびデバイス情報記憶部144には、対応デバイス
クラスの情報125,145がそれぞれ記憶されてい
る。この対応デバイスクラスの情報125,145は、
インターフェイス部120,140に各々対応するデバ
イス(すなわち、対応デバイス)のデバイスクラスを記
した情報である。具体的には、情報125には、プリン
タ240のデバイスクラスとして「プリンタ」が、情報
145には、スキャナ340のデバイスクラスとして
「スキャナ」が、それぞれ、記述されている。
【0167】従って、判定部122は、デバイス情報記
憶部124にアクセスして、そこに記憶されている対応
デバイスクラス(プリンタ240のデバイスクラス)の
情報125を取得すると共に、インターフェイス部14
0のデバイス情報記憶部144にアクセスして、そこに
記憶されている対応デバイスクラス(スキャナ340の
デバイスクラス)の情報145を取得する。
【0168】次に、判定部122は、取得した情報12
5,145から、対応デバイスであるプリンタ240の
デバイスクラスが「プリンタ」であり、相手方デバイス
であるスキャナ340のデバイスクラスが「スキャナ」
であることを把握すると、デバイス情報記憶部124に
記憶されている複合動作可能デバイスクラスの情報12
6を参照して(ステップS106)、それらデバイスク
ラスの組合せ(すなわち、「プリンタ」と「スキャナ」
の組合せ)が複合デバイスとして動作可能な組合せであ
るか否かを判定する(ステップS108)。
【0169】前述したように、複合デバイスとは、対象
となっている送り手側デバイスの有する機能の少なくと
も一部と対象となっている受け手側デバイスの有する機
能の少なくとも一部とを共に有する仮想的なデバイスの
ことである。すなわち、この場合、対象となっているデ
バイスはスキャナ340とプリンタ240であるので、
スキャナ340の有する機能の少なくとも一部とプリン
タ240の有する機能の少なくとも一部とを共に有する
仮想的なデバイスが、複合デバイスとなる。
【0170】このような複合デバイスを仮想した場合、
前述したように、デバイスの組合せによっては、その複
合デバイスが実際に動作不可能な場合がある。そこで、
判定部122は、上記したステップS106,S108
の処理によって、仮想した複合デバイスが動作可能であ
るかどうかの判定を行なうようにしている。
【0171】前述したように、任意のデバイス同士にお
いては、デバイスの組合せによって、一方のデバイスか
らデータを送り出した場合に、他方のデバイスでデータ
を受け取って処理することが可能でない場合も出てく
る。このような場合、当然に、それらデバイスについて
複合デバイスを仮想しても、その複合デバイスは実際に
は動作不可能となる。そこで、この例の場合は、一方の
デバイスからデータを送り出した場合に、他方のデバイ
スでそのデータを受け取って処理することが可能である
かどうかを判断する手法の一つとして、それら任意のデ
バイスの組合せが複合デバイスとして動作可能である組
合せであるかどうかを、判定部122によるステップS
106,S108の処理によって、判断するようにして
いる。
【0172】従って、任意のデバイス同士について、そ
れら任意のデバイスの組合せが、複合デバイスとして動
作可能である組合せであるかどうかを判断する代わり
に、別の判断手法によって、上記した一方のデバイスか
らデータを送り出した場合に、他方のデバイスでそのデ
ータを受け取って処理することが可能であるかどうかを
判断するようにしても良い。
【0173】さて、前述したように、デバイス情報記憶
部124およびデバイス情報記憶部144には、複合動
作可能デバイスクラスの情報126,146がそれぞれ
記憶されている。この複合動作可能デバイスクラスの情
報126,146は、インターフェイス部120,14
0に各々対応するデバイス(すなわち、対応デバイス)
のデバイスクラスと組み合わせた場合に、その組合せに
よって仮想される複合デバイスが動作可能である他のデ
バイスクラスを列挙した情報である。具体的には、情報
126には、デバイスクラス「プリンタ」と組み合わせ
た場合に、複合デバイスが動作可能である他のデバイス
クラスとして、「スキャナ」,「デジタルカメラ」,
「ファクシミリ」,「電子メール」が記述されている。
一方、情報146には、デバイスクラス「スキャナ」と
組み合わせた場合に、複合デバイスが動作可能である他
のデバイスクラスとして、「プリンタ」,「ファクシミ
リ」,「電子メール」が記述されている。
【0174】なお、或る受け手側デバイスのデバイスク
ラスに組み合わされる他のデバイスクラスは、全て、送
り手側デバイスのデバイスクラスとなっており、逆に、
或る送り手側デバイスのデバイスクラスに組み合わされ
る他のデバイスクラスは、全て、受け手側デバイスのデ
バイスクラスとなっている。従って、上記の場合、受け
手側デバイスのデバイスクラスである「プリンタ」に組
み合わされている「スキャナ」,「デジタルカメラ」,
「ファクシミリ」,「電子メール」は、全て、送り手側
デバイスのデバイスクラスであり、送り手側デバイスの
デバイスクラスである「スキャナ」に組み合わされてい
る「プリンタ」,「ファクシミリ」,「電子メール」
は、全て、受け手側デバイスのデバイスクラスである。
ここで、ファクシミリ,電子メールは送り手側デバイス
としても機能し、受け手側デバイスとしても機能するの
で、デバイスクラス「ファクシミリ」,「電子メール」
は送り手側デバイスおよび受け手側デバイスの両方のデ
バイスクラスに属している。
【0175】そこで、判定部122は、対応デバイスで
あるプリンタ240のデバイスクラス「プリンタ」に対
し、相手方デバイスであるスキャナ340のデバイスク
ラス「スキャナ」を組み合わせた場合について、デバイ
ス情報記憶部124に記憶されている複合動作可能デバ
イスクラスの情報126を参照すると、前述したよう
に、デバイスクラス「プリンタ」については、デバイス
クラス「スキャナ」,「デジタルカメラ」,「ファクシ
ミリ」,「電子メール」が、複合デバイスとして動作可
能な組合せとして記述されているので、デバイスクラス
「プリンタ」と「スキャナ」の組合せは、複合デバイス
として動作可能な組合せであると判定を下す。こうし
て、判定部122は、複合デバイスとして動作可能な組
合せである否かの判定を行なうと、その判定結果を決定
部136に伝える。なお、このとき、判定部122は、
その判定結果と共に、相手方デバイスであるスキャナ3
40の名称やデバイスクラスの情報も伝える。
【0176】次に、決定部136は、判定部122が複
合デバイスとして動作可能な組合せであると判定した場
合、デバイス情報記憶部124に記憶されている複合デ
バイスカテゴリの情報127を参照して、先に仮想した
複合デバイスの種類を決定し(ステップS110)、判
定部122による判定結果と決定部136による決定結
果をデバイス情報記憶部124,144に結果蓄積情報
131,149として蓄積する。
【0177】前述したように、デバイス情報記憶部12
4およびデバイス情報記憶部144には、複合デバイス
カテゴリの情報127,147がそれぞれ記憶されてい
る。この複合デバイスカテゴリの情報127,147
は、複合デバイスとして動作可能とされるデバイスクラ
スの各組合せについて、それぞれ、対応する複合デバイ
スの種類(複合デバイスカテゴリ)を記した情報であ
る。具体的には、情報127,147には次のようなも
のが記述されている。
【0178】 「プリンタ」+「スキャナ」=”コピー機” 「スキャナ」+「ファクシミリ」=”ファクシミリ(送
信側)” 「プリンタ」+「ファクシミリ」=”ファクシミリ(受
信側)”
【0179】例えば、デバイスクラス「プリンタ」と
「スキャナ」との組合せでは、プリンタの機能とスキャ
ナの機能を併せ持つデバイスとしてコピー機が考えられ
るので、その組合せに対応する複合デバイスの種類とし
て、”コピー機”が記述される。また、「スキャナ」と
「ファクシミリ」との組合せでは、スキャナの機能とフ
ァクシミリの送信部分の機能とを併せ持つデバイスとし
て、送信側ファクシミリが考えられるので、その組合せ
に対応する複合デバイスの種類として、”ファクシミリ
(送信側)”が記述される。さらに、「プリンタ」と
「ファクシミリ」との組合せでは、プリンタの機能とフ
ァクシミリの受信部分の機能とを併せ持つデバイスとし
て、受信側ファクシミリが考えられるので、その組合せ
に対応する複合デバイスの種類として、”ファクシミリ
(受信側)”が記述される。
【0180】その他の複合デバイスカテゴリとしては、
次のようなものも考えられる。
【0181】「デジタルカメラ」+「電子メール」=”
ダイレクトメール送信” 「デジタルカメラ」と「電子メール」との組合せでは、
デジタルカメラの機能と電子メールの送信部分の機能と
を併せ持つ仮想的なデバイスとして、デジタルカメラで
撮った画像を予め設定された特定の送信先に電子メール
で直接送信することが可能なダイレクトメール送信が考
えられるので、その組合せに対応する複合デバイスの種
類として、”ダイレクトメール送信”が与えられる。
【0182】そこで、決定部136は、対応デバイスで
あるプリンタ240のデバイスクラス「プリンタ」と、
相手方デバイスであるスキャナ340のデバイスクラス
「スキャナ」と、の組合せについて、デバイス情報記憶
部124に記憶されている複合デバイスカテゴリの情報
127を参照すると、前述したように、デバイスクラス
「プリンタ」と「スキャナ」との組合せについては、複
合デバイスの種類として、”コピー機”が記述されてい
るので、この”コピー機”を「プリンタ」と「スキャ
ナ」との組合せに対応する複合デバイスの種類として決
定する。
【0183】こうして、決定部136によって決定され
た複合デバイスの種類は、前述したように、先に判定部
122で判定された結果と共に、結果蓄積情報131,
149として蓄積される。具体的には、例えば、結果蓄
積情報131の場合、相手方デバイスであるスキャナ3
40の名称と、組み合わせた場合に複合デバイスとして
動作可能であるという判定結果と、複合デバイスの種類
(すなわち、”コピー機”)と、が格納されることにな
る。一方、相手方である結果蓄積情報149の場合は、
スキャナ340から見て相手方デバイスであるプリンタ
240の名称と、組み合わせた場合に複合デバイスとし
て動作可能であるという判定結果と、複合デバイスの種
類(すなわち、”コピー機”)と、が格納されることに
なる。
【0184】その後、図23に戻って、コンピュータ1
00のユーザが、マウス84を操作して、プリンタアイ
コン420に重ねられていたスキャナアイコン410’
を、その位置でドロップ(Drop)すると、図24に示す
ステップS112の処理が続行される。
【0185】すなわち、決定部136は、データ伝送実
行部129と、インターフェイス部140内のデータ伝
送実行部148に、データ伝送の開始を指示する(ステ
ップS112)。すると、これらデータ伝送実行部12
9及び148が、データ伝送の実行処理を開始する(ス
テップS114)。具体的には、データ伝送実行部14
8が、データ伝送を開始する旨をプロキシ190からネ
ットワークを越えて別のコンピュータ300内のスタブ
310に伝え、スタブ310はデバイス制御部320を
介してデバイスドライバ330に伝える。これにより、
デバイスドライバ330は、スキャナ340からデータ
を取り込み、そのデータをデバイス制御部320、スタ
ブ310、プロキシ190を介してインターフェイス部
140のデータ伝送実行部148に送る。データ伝送実
行部148は、そのデータをさらにアプリケーション部
110を介してインターフェイス部120のデータ伝送
実行部129に送る。データ伝送実行部129は、その
データをプロキシ180からネットワークを越えて別の
コンピュータ200内のスタブ210に送り、スタブ2
10は、デバイス制御部220を介してデバイスドライ
バ230に送り、デバイスドライバ230はそのデータ
をプリンタ240に出力する。こうして、スキャナ34
0からプリンタ240へデータの伝送が行なわれる。
【0186】なお、このとき、プロキシ180,190
およびスタブ210,310は、前述したように、コン
ピュータ100と200との間、または、コンピュータ
100と300との間を、ネットワークを越えて各種制
御情報やデータがやり取りされる際に、上位に位置する
アプリケーション部110やインターフェイス部12
0,140に対して、コンピュータ間を接続する通信路
の抽象化を行なう。すなわち、プロキシ180,190
およびスタブ210,310は、介在する通信路の種類
の違いを吸収して、例えば、介在する通信路が、ネット
ワーク境界を越えて異なるコンピュータ同士をつなぐ通
信路であるか、同一のコンピュータ内において、プロセ
ス境界を越えて異なるプロセス間をつなぐ通信路である
かを、アプリケーション部110やインターフェイス部
120,140に対して全く意識させることなく、制御
情報やデータのやり取りを行なわせる。
【0187】また、デバイス制御部220,320も、
前述したとおり、対応するデバイス(すなわち、デバイ
ス制御部220についてはプリンタ240、デバイス制
御部320についてはスキャナ340)のデバイスクラ
ス(デバイスの種類)の違いを吸収して、上位に位置す
るアプリケーション部110やインターフェイス部12
0,140に対して、デバイスの抽象化(ハードウェア
の抽象化)を行なう。
【0188】従って、アプリケーション部110やイン
ターフェイス部120,140からは、プロキシ18
0,190およびスタブ210,310を介することに
よって、デバイスがどのような位置にあっても、間に介
在する通信路の種類を意識することなく、同様な制御環
境にて、デバイスの設定や制御や操作を行なうことがで
きる。また、デバイス制御部220,320を介するこ
とによって、デバイスクラス(デバイスの種類)の違い
を意識することなく、同様な制御環境にて、デバイスの
設定や制御や操作を行なうことができる。
【0189】以上のようにして、コンピュータ100の
ユーザが、マウス84を操作して、プリンタアイコン4
20に重ねられているスキャナアイコン410’をドロ
ップすると、それによって、スキャナ340からプリン
タ240へのデータの伝送が行なわれることになる。
【0190】ところで、一方、図24のステップS10
8において、判定部122が複合デバイスとして動作可
能な組合せでないと判定した場合には、次のような処理
が行なわれる。すなわち、決定部136は、そのような
判定結果を得た場合に、データ出力部132に対し、関
連付け不可のマークを表示するよう指示する(ステップ
S116)。これにより、データ出力部132は、モニ
タ170の画面上において、送り手側デバイスに対応す
るアイコンと受け手側デバイスに対応するアイコンとが
重なり合っている位置に、関連付け不可を表す所定のマ
ークを表示させ、ユーザに対し、対象となった送り手側
デバイスと受け手側デバイスとの組合せでは複合デバイ
スとして動作不可能であり、最終的に関連付けは不成立
であることを教示する。
【0191】以上のように、本実施例によれば、コンピ
ュータ100のユーザが、コンピュータ300に接続さ
れたスキャナ340によって画像を取り込み、その取り
込んだ画像をコンピュータ200に接続されたプリンタ
240によって印刷しようとして、スキャナアイコン4
10をドラッグしプリンタアイコン420に重ね合わせ
ると、自動的に、それらスキャナ340とプリンタ24
0との組合せが複合デバイスとして動作可能である組合
せであるかどうかが判断される。従って、その判断結果
として、動作可能な組合せであると判断されたならば、
スキャナ340から画像のデータを送り出しても、プリ
ンタ240でその画像のデータを受け取って処理できる
ことが保証されたことになる。よって、その後、重ねて
いたスキャナアイコン410’をプリンタアイコン42
0にドロップして、スキャナ340からプリンタ240
への画像のデータの伝送が開始されても、それらデバイ
ス間で、問題なく有効なデータの伝送を行なうことがで
きる。
【0192】さて、上記した例では、プリンタアイコン
420に重ねられているスキャナアイコン410’をド
ロップすると、直ちに、スキャナ340からプリンタ2
40へデータの伝送が開始されたが、次の例では、直ち
にデータ伝送を開始するのではなく、ドロップした瞬間
に、まず、モニタ170の画面上に、ユーザインターフ
ェイスを表示させるようにしている。
【0193】図25は図21におけるインターフェイス
部120で実行されるユーザインターフェイス表示処理
の流れを示すフローチャートである。
【0194】なお、図25において、ステップS122
〜S130の処理及びステップS136の処理は、図2
4に示したステップS102〜S110の処理及びステ
ップS116の処理と同じであるので、説明は省略す
る。
【0195】それでは、ステップS132以降の処理に
ついて説明する。ステップS130で、決定部136が
複合デバイスの種類を決定する(すなわち、複合デバイ
スの種類として”コピー機”を決定する)と、次に、決
定部136は、UI参照テーブル128を参照して、決
定した複合デバイスの種類に対応するユーザインターフ
ェイスを決定する(ステップS132)。UI参照テー
ブル128には、動作可能とされる複合デバイスの種類
毎に、それぞれ、例えば、対応するユーザインターフェ
イスの識別番号が記述されている。従って、決定部13
6は、決定した複合デバイスの種類に基づいて、それに
対応するユーザインターフェイスの識別番号を、UI参
照テーブル128から得て、それをデータ出力部132
に伝える。
【0196】その後、図23に戻って、コンピュータ1
00のユーザが、マウス84を操作して、プリンタアイ
コン420に重ねられていたスキャナアイコン410’
を、その位置でドロップ(Drop)すると、図25に示す
ステップS134の処理が続行される。
【0197】すなわち、データ出力部132は、伝えら
れたユーザインターフェイスの識別番号に基づいて、U
Iデータ格納部150から、対応するユーザインターフ
ェイスのデータ、すなわち、そのユーザインターフェイ
スをモニタ170の画面上に表示するためのデータをダ
ウンロードする。UIデータ格納部150には、動作可
能とされる複合デバイスの各種類について、それぞれ、
対応するユーザインターフェイスのデータが格納されて
いる。ここで、複合デバイスの種類に対応するユーザイ
ンターフェイスとは、その複合デバイスを操作するため
のユーザインターフェイスであって、その複合デバイス
を設定したり、制御したり、狭義に操作したりするのに
適したユーザインターフェイスである。
【0198】従って、この例の場合、決定部136で決
定した複合デバイスの種類は”コピー機”であったの
で、データ出力部132は、UIデータ格納部150に
格納されているユーザインターフェイスのデータの中か
ら、コピー機を操作するためのユーザインターフェイス
のデータを選択してダウンロードする。
【0199】続いて、データ出力部132は、そのダウ
ンロードしたユーザインターフェイスのデータをコンピ
ュータ100に接続されたモニタ170に出力して、モ
ニタ170の画面上に、その複合デバイスであるコピー
機を操作するためのユーザインターフェイスを表示させ
る(ステップS134)。
【0200】以上のようにして、コンピュータ100の
ユーザが、マウス84を操作して、プリンタアイコン4
20に重ねられているスキャナアイコン410’をドロ
ップした瞬間に、モニタ170の画面上には、スキャナ
340とプリンタ240を共に操作するためのユーザイ
ンターフェイスとして、図26に示すような、複合デバ
イスであるコピー機を操作するためのユーザインターフ
ェイスが表示されることになる。
【0201】なお、上記した例の場合は、デバイスクラ
ス「プリンタ」と「スキャナ」との組合せにより複合デ
バイスの種類が”コピー機”であったため、モニタ17
0の画面上には、図26に示すようなコピー機を操作す
るためのユーザインターフェイスが表示されたが、例え
ば、デバイスクラス「プリンタ」と「ファクシミリ」と
の組合せであれば、複合デバイスの種類は”ファクシミ
リ(受信側)”となるので、モニタ170の画面上に
は、図27に示すような受信側ファクシミリを操作する
ためのユーザインターフェイスが表示されることなる。
【0202】以上のように、本実施例によれば、コンピ
ュータ100のユーザが、コンピュータ300に接続さ
れたスキャナ340によって画像を取り込み、その取り
込んだ画像をコンピュータ200に接続されたプリンタ
240によって印刷しようとしている場合などにおい
て、そのスキャナ340およびプリンタ240を共に操
作するためのユーザインターフェイスとして、プリンタ
とスキャナの機能を共に有したコピー機を操作するため
のユーザインターフェイスが表示されるため、ユーザ
は、スキャナ340用とプリンタ240用とで異なるユ
ーザインターフェイスを使い分ける必要がなく、統合さ
れたユーザインターフェイスでもって一度に設定などの
指示をすることができ、ユーザに対して、最適化された
操作性を提供することができる。また、ユーザは、それ
らスキャナ340およびプリンタ240を1つの複合デ
バイスであるコピー機として見なして、統一的に操作す
ることができるので、操作性をより最適化することがで
きる。
【0203】さて、以上の説明においては、プリンタア
イコン420に重ねられているスキャナアイコン41
0’をドロップした瞬間に、モニタ170の画面上に、
ユーザインターフェイスを表示させることとして説明し
たが、以下に述べるように、複合デバイスを操作するた
めのユーザインタフェイスを表示させるのに先だって、
複合デバイスに対応するアイコンを表示させるようにし
ても良い。この場合、アイコンを表示するか否かの選択
をユーザが行えるようにするために、ドラッグ&ドロッ
プ時に特定のキーが押されているかを検出するとか、ア
イコンの作成を選べるようなメニューを表示するなどを
行うことが考えられる。
【0204】図28は図25に示すユーザインターフェ
イス表示処理の一部を変更した場合の処理の流れを示す
フローチャートである。
【0205】この変形例では、決定部136が、UI参
照テーブル128を参照して、ステップS130で決定
した複合デバイスの種類に対応するユーザインターフェ
イスを決定した後(ステップS132)、引き続いて、
決定部136は、アイコン参照テーブル130を参照し
て、ステップS130で決定した複合デバイスの種類に
対応するアイコンを決定する(ステップS140)。ア
イコン参照テーブル130には、動作可能とされる複合
デバイスの種類毎に、それぞれ、例えば、対応するアイ
コンの識別番号が記述されている。これにより、決定部
136は、決定した複合デバイスの種類に基づいて、そ
れに対応するアイコンの識別番号を、アイコン参照テー
ブル130から得て、それをデータ出力部132に伝え
る。
【0206】その後、コンピュータ100のユーザが、
マウス84を操作して、プリンタアイコン420に重ね
られていたスキャナアイコン410’を、その位置でド
ロップすると、図28に示すステップS142以降の処
理が続行される。
【0207】すなわち、データ出力部132は、決定部
136から伝えられたアイコンの識別番号に基づいて、
アイコンデータ格納部160から、対応するアイコンを
モニタ170の画面上に表示するためのデータをダウン
ロードする。アイコンデータ格納部160には、動作可
能とされる複合デバイスの各種類について、それぞれ、
その複合デバイスを視覚的に表したアイコンのデータが
格納されている。
【0208】従って、前述した如く、決定部136で決
定した複合デバイスの種類が”コピー機”であったとす
ると、データ出力部132は、アイコンデータ格納部1
60に格納されているアイコンのデータの中から、コピ
ー機に対応するアイコンのデータを選択してダウンロー
ドする。
【0209】続いて、データ出力部132は、そのダウ
ンロードしたアイコンのデータをコンピュータ100に
接続されたモニタ170に出力して、モニタ170の画
面上に、その複合デバイスであるコピー機に対応するア
イコンを表示させる(ステップS142)。
【0210】従って、コンピュータ100のユーザが、
マウス84を操作して、プリンタアイコン420に重ね
られているスキャナアイコン410’をドロップした瞬
間に、モニタ170の画面上には、図29に示すよう
に、複合デバイスであるコピー機を視覚的に表すコピー
機アイコン440が表示されることになる。これはドラ
ッグ&ドロップされた位置に表示されても良いし、複合
デバイスフォルダ等の別の場所に表示されても良い。な
お、もとのスキャナアイコン410およびプリンタアイ
コン420は、図29に示すようにモニタ170の画面
上から一時的に消滅しても良いし、そのまま画面上に表
示され続けても良い。
【0211】次に、決定部136は、表示されたコピー
機アイコン440について、そのアイコンの示す複合デ
バイスが実際にはどのようなデバイスによって構成され
ているかを示す情報(即ち、その複合デバイスであるコ
ピー機は送り手側デバイスであるスキャナ340と受け
手側デバイスであるプリンタ240とで構成されている
ことを示す情報)をデバイス情報記憶部124,144
に結果蓄積情報131,149として蓄積した後、コン
ピュータ100のユーザが、マウス84を操作して、図
29に示すように、マウスカーソル430をコピー機ア
イコン440に重ね合わせて、マウス84のボタンをク
リックしたかどうかを監視する(ステップS144)。
そして、決定部136が、クリックしたことを検出した
ら、前述したステップS134の処理を実行する。な
お、ステップS134の処理については、図25におい
て既に説明しているので、その説明は省略する。
【0212】従って、コンピュータ100のユーザが、
マウスカーソル430をコピー機アイコン440に重ね
合わせた状態で、マウス84のボタンをクリックした瞬
間に、ステップS144の処理によって、今度は、モニ
タ170の画面上に、図26に示したような、コピー機
を操作するためのユーザインターフェイスが表示され
る。
【0213】このように、関連付けの対象となったスキ
ャナ340およびプリンタ240の組合せに対応するア
イコンとして、複合デバイスであるコピー機に対応する
アイコンを表示することにより、コンピュータ100の
ユーザは、スキャナ340およびプリンタ240を1つ
の新たなデバイス(すなわち、コピー機)として視覚的
に認識することができ、以後の取り扱いが容易になる。
また、複合デバイスであるコピー機に対応するアイコン
を表示させているときに、ユーザからの所定の指示によ
って、その複合デバイスであるコピー機を操作するため
ユーザインターフェイスが表示されることになり、ユー
ザは、そのユーザインターフェイスを介して、直ちにそ
のコピー機の設定などの指示を入力することができる。
【0214】では、次に、モニタ170の画面上に、複
合デバイス(例えば、コピー機)を操作するためのユー
ザインターフェイスが表示されているときに、コンピュ
ータ100のユーザが、そのユーザインターフェイスを
介して、その複合デバイスについての設定などの指示を
コンピュータ100に入力した場合、どのようにして、
その指示がコンピュータ200に接続されたプリンタ2
40やコンピュータ300に接続されたスキャナ340
に伝えられるかについて説明する。
【0215】コンピュータ100のユーザが、キーボー
ド(図示せず)やマウス84などを操作して、モニタ1
70の画面上に表示された上記ユーザインターフェイス
を介して、複合デバイスについての設定の指示を入力す
ると、アプリケーション部110は、プリンタ240に
関連する設定の指示については、インターフェイス部1
20に対してその指示を伝え、スキャナ340に関連す
る設定の指示については、インターフェイス部140に
対してその指示を伝える。各インターフェイス部12
0,140は、それぞれ、その指示をプロキシ180,
190からネットワークを越えて別のコンピュータ20
0,300内のスタブ210,310に伝え、スタブ2
10,310は、デバイス制御部220,320を介し
てデバイスドライバ230,330に伝える。これによ
り、デバイスドライバ230は、その指示に従って、プ
リンタ240の設定を行ない、デバイスドライバ330
は、スキャナ340の設定を行なう。
【0216】ところで、上述したように、図24に示し
たデータ伝送開始処理ではステップS110において、
図25に示したユーザインターフェイス表示処理ではス
テップS130において、判定部122による判定結果
と決定部136による決定結果とがデバイス情報記憶部
124に結果蓄積情報131として蓄積される。すなわ
ち、上記した例の場合、対応デバイスであるプリンタ2
40に相手方のデバイスとしてスキャナ340が関連付
けられて、上記処理が行なわれたが、対応デバイスであ
るプリンタ240に別のデバイスが関連付けられれば、
そのたび毎に上記処理が行なわれて、上記判定結果と決
定結果が結果蓄積情報131として蓄積されることにな
る。従って、結果蓄積情報131には、対応デバイスで
あるプリンタ240に対し、過去に関連付けの行なわれ
た全てのデバイスについて、そのデバイスの名称と、そ
のデバイスと組み合わせた場合に複合デバイスとして動
作可能であるかどうかの判定結果と、動作可能である場
合のその複合デバイスの種類と、がそれぞれ格納されて
いることになる。
【0217】よって、この結果蓄積情報131を利用す
れば、次のような処理が可能となる。即ち、対応デバイ
スであるプリンタ240と、過去に1回でも関連付けの
行なわれたデバイスについては、結果蓄積情報131に
そのデバイスに関する情報が格納されているので、図2
4に示したデータ伝送開始処理または図25に示したユ
ーザインターフェイス表示処理において、判定部122
が、関連付部134から、関連付けの行なわれた相手方
デバイスの名称が伝えられた段階で、結果蓄積情報13
1にアクセスして、その相手方デバイスに関する情報が
格納されているかどうか検索し、格納されていれば、そ
の情報を読み出すようにする。そして、その情報を見
て、その相手方デバイスとの組合せにおいては、既に、
複合デバイスとして動作可能であると判断されている場
合には、データ伝送開始処理ではステップS112ま
で、ユーザインターフェイス表示処理ではステップS1
32まで、処理をスキップし、上記の情報に基づいて以
降の処理を行なうようにする。また、動作不可能である
と判断されている場合には、データ伝送開始処理ではス
テップS116に、ユーザインターフェイス表示処理で
はステップS136にスキップして、その処理を行な
う。
【0218】このようにすることによって、参照や判断
や決定などの処理(ステップS104〜S110または
ステップS124〜S130の処理)が省略されるの
で、処理時間を短縮化することができる。
【0219】なお、結果蓄積情報131に、その相手方
デバイスについて、プリンタ240との関連付けの頻度
を表す関連付け頻度情報が含まれている場合には、デー
タ伝送開始処理やユーザインターフェイス表示処理の一
連の処理が終了した段階で、判定部122は、結果蓄積
情報131に再度アクセスして、その相手方デバイスに
ついての関連付け頻度情報を更新する(即ち、関連付け
の行なわれた頻度を1増やす)。
【0220】またさらに、結果蓄積情報131を利用す
れば、次のような処理も可能となる。図30は図21に
おける結果蓄積情報131を利用してモニタ170の画
面上のプリンタアイコンの近くに表示されたポップアッ
プメニューを示す説明図である。図30に示すように、
モニタ170の画面400上にプリンタアイコン420
が表示されている場合に、ユーザがマウス84を操作
し、画面400上に表示されているマウスカーソル43
0でそのプリンタアイコン420を選択し、そこでマウ
ス84の右ボタンをクリックすると、データ出力部13
2は、結果蓄積情報131を参照して、プリンタアイコ
ン420のそばにポップアップメニュー470を表示さ
せる。そのポップアップメニュー470には、対応デバ
イスであるプリンタ240が過去に関連付けられ、複合
デバイスとして動作可能な組合せであると判断されたデ
バイスの名称が羅列して表示されている。しかも、その
表示順序は、結果蓄積情報131に格納されている関連
付け頻度情報に基づいて、プリンタ240と関連付けの
行なわれた頻度の高い順となっている。
【0221】その後、ユーザが、その表示されたデバイ
スの中から、対応デバイスであるプリンタ240と今か
ら関連付けを行ないたいデバイスを、マウスカーソル4
30で選択すると、関連付部134は対応デバイスであ
るプリンタ240と選択した相手方のデバイスとの関連
付けを行う。
【0222】以上のようなポップアップメニュー470
を表示させることによって、ユーザは、その対応デバイ
スであるプリンタ24と過去に複合デバイスとして動作
可能であると判断されたデバイスとしてどのようなもの
があるかを一目で把握できると共に、それらデバイスの
中で、過去に、どのようなデバイスとよく関連付けられ
ていたかを知ることができる。しかも、関連付けの行な
われた頻度の高いデバイスが上位に来るので、ユーザ
は、プリンタ240と共にもよく使用されているデバイ
スを直ちに選択することができる。
【0223】図31は図21における結果蓄積情報13
1を利用してモニタ170の画面上に表示された送り手
側デバイスと受け手側デバイスの組合せを示す説明図で
ある。ユーザがマウス84等によってコンピュータ10
0に、送り手側デバイスと受け手側デバイスの組合せの
表示を指示すると、所定のインターフェイス部が自己の
持つ結果蓄積情報と他のインターフェイス部の持つ結果
蓄積情報をそれぞれ参照して、コンピュータ100によ
って過去に関連付けの行なわれたデバイスについて、複
合デバイスとして動作可能であると判断された組合せを
検索し、その結果を図31に示すようにモニタ170の
画面400上に組合せ表示ウインドウ480を開いて表
示させる。
【0224】組合せ表示ウインドウ480には、コンピ
ュータ100によって過去に関連付けられ複合デバイス
として動作可能であると判断されたデバイスの組合せに
ついて、それぞれ、送り手側デバイスの名称と受け手側
デバイスの名称とが、その関連付けの行なわれた最新の
日時と共に表示されている。
【0225】従って、ユーザは、コンピュータ100に
よって、過去に、どのようなデバイス同士が関連付けら
れ、複合デバイスとして動作可能であると判断されたか
を一目で把握することができる。
【0226】図32は図21における結果蓄積情報13
1を利用してモニタ170の画面上のコピー機アイコン
の近くに表示されたポップアップメニューを示す説明図
である。図32に示すように、モニタ170の画面40
0上に、複合デバイスであるコピー機を視覚的に表すコ
ピー機アイコン440が表示されている場合に、ユーザ
がマウス84を操作し、画面400上に表示されている
マウスカーソル430でそのコピー機アイコン440を
選択し、そこでマウス84の右ボタンをクリックする
と、データ出力部132は、結果蓄積情報131を参照
して、コピー機アイコン440のそばにポップアップメ
ニュー490を表示させる。そのポップアップメニュー
490には、そのコピー機アイコン440の示す複合デ
バイス(即ち、コピー機)を構成するデバイスの名称が
それぞれ表示される。具体的には、その複合デバイスを
構成するデバイスとして、送り手側デバイスについては
スキャナ340の名称(例えば、スキャナC)が、受け
手側デバイスについてはプリンタ240の名称(例え
ば、プリンタA)が、それぞれ表示される。
【0227】従って、ユーザは、複合デバイスを表すア
イコンが表示されている場合に、その複合デバイスがど
のようなデバイスによって構成されていたかを忘れてし
まったとしても、上記のポップアップメニュー490を
表示させることによって、容易に知ることができる。
【0228】ところで、上記した例では、図23に示し
たように、マウス84の操作により、送り手側デバイス
であるスキャナ340に対応したスキャナアイコン41
0をドラッグして、受け手側デバイスであるプリンタ2
40に対応したプリンタアイコン420の上に重ね合わ
せることにより、図24に示したデータ伝送開始処理や
図25に示したユーザインターフェイス表示処理を実行
していた。しかし、このように、送り手側デバイスに対
応するアイコンをドラッグして、受け手側デバイスに対
応するアイコンの上に重ね合わせる場合だけでなく、次
のような場合にも、データ伝送開始処理やユーザインタ
ーフェイス表示処理を実行するようにしても良い。
【0229】例えば、今、送り手側デバイスとしてスキ
ャナ340の代わりに、デジタルカメラを考え、モニタ
170の画面400上に、送り手側デバイスであるデジ
タルカメラに対応するデジタルカメラアイコンと受け手
側デバイスであるプリンタアイコン420が表示されて
いるものとする。そこで、ユーザが、マウス84を操作
して、マウスカーソル430をデジタルカメラアイコン
の上に重ねて、マウス84のボタンをダブルクリックす
ると、図33に示すように、ウインドウ460が開き、
デジタルカメラに取り込まれている各々の画像ファイル
に対応した画像アイコンが列挙されて表示される。そこ
で、ユーザが、デジタルカメラに取り込まれている複数
の画像ファイルの中から、プリンタ240によって印刷
したい画像ファイルを決定し、その画像ファイルに対応
した画像アイコン450を選択してドラッグ(Drag)
し、プリンタアイコン420の上に重ね合わせると、図
24に示したデータ伝送開始処理または図25に示した
ユーザインターフェイス表示処理が実行される。
【0230】このとき、図24のステップS102や図
25のステップS122では、インターフェイス部12
0内の関連付部134が、アプリケーション部110か
ら伝えられたマウス84の操作内容を分析して、対象と
なっている画像ファイルを取り込んでいる送り手側デバ
イスがデジタルカメラであることを把握し、インターフ
ェイス部120の対応デバイスであるプリンタ240と
関連付けを行うべき相手方のデバイスは、デジタルカメ
ラであることを認識する。従って、関連付部134は、
プリンタ240とデジタルカメラとの関連付けを行う。
【0231】従って、このように、送り手側デバイスに
入力されている情報に対応するアイコンをドラッグし
て、受け手側デバイスに対応するアイコンの上に重ね合
わせることにより、データ伝送開始処理またはユーザイ
ンターフェイス表示処理を実行するようにしても良い。
【0232】また、上記した説明では、送り手側デバイ
スに対応するアイコン(または送り手側デバイスに入力
されている情報に対応するアイコン)をドラッグしてい
るが、受け手側デバイスに対応するアイコンをドラッグ
して、送り手側デバイスに対応するアイコン(または送
り手側デバイスに入力されている情報に対応するアイコ
ン)の上に重ね合わせることにより、データ伝送開始処
理またはユーザインターフェイス表示処理を実行するよ
うにしても良い。
【0233】また、アイコンをドラッグする方法に限ら
ず、例えば、マウス操作により、送り手側デバイスに対
応するアイコン(または送り手側デバイスに入力されて
いる情報に対応するアイコン)と受け手側デバイスに対
応するアイコンを共に選択した上で、ポップ・アップ・
メニューを表示させて、そのメニュー内に、予め載せて
あるデータ伝送開始処理やユーザインターフェイス表示
処理の実行命令を選択して、上記処理を実行させるよう
にしても良い。
【0234】また、図21においては、コンピュータ1
00のアプリケーション部110に対して、ユーザがコ
ンピュータ100に接続されたマウス84を操作するこ
とにより、種々の指示を与えていだが、本発明はこれに
限定されるものではなく、例えば、PDA(Personal D
igital Assistants)や携帯電話やモバイルコンピュー
タなどの情報端末機器を用いて、ネットワークを介し
て、コンピュータ100のアプリケーション部110
に、種々の指示を与えるようにしても良い。
【0235】図34は情報端末機器500を利用してコ
ンピュータ100のアプリケーション部110に指示を
与える場合の構成を示すブロック図である。図34にお
いて、図21に示した構成要素と同じ構成要素について
は、同じ符号を付してある。
【0236】図34に示すように、コンピュータ100
には、ネットワーク(図示せず)を介して、コンピュー
タ200,300の他に、さらに情報端末機器500が
接続されている。そして、コンピュータ100は、アプ
リケーション部110、インターフェイス部120,1
40及びプロキシ180,190の他に、さらに、情報
公開部195を備えている。また、情報端末機器500
は、リモートアプリケーション部510と、操作部52
0と、表示部530と、を備えている。
【0237】これらのうち、コンピュータ100の情報
公開部195は、例えば、Webサーバソフトウェアに
よって構築されており、情報端末機器500のリモート
アプリケーション部510は、例えば、Webブラウザ
ソフトウェアによって構築されている。
【0238】そこで、情報公開部195は、アプリケー
ション部110の持つ情報を、Webによってネットワ
ーク上に公開する。一方、リモートアプリケーション部
510は、情報端末機器500のユーザが操作部520
を操作して、例えば、コンピュータ100のURL(Un
iform Resource Locator)である"http://123.45.67.89
/resource"が入力されると、そのURLに基づいてコン
ピュータ100にアクセスし、情報公開部195が公開
している情報を取得して、表示部530に表示させる。
なお、Webサーバであるコンピュータ100とWeb
クライアントである情報端末機器500との間は、周知
の通り、Web標準プロトコルであるHTTPによって
情報のやり取りがなされる。
【0239】図35は図34に示す情報端末機器500
の外観と表示部530に表示された画面の一例を示す説
明図である。図35に示すように、情報端末機器500
の表示部530には、コンピュータ100の情報公開部
195によって公開された情報がいわゆるホームページ
の形で表示されている。
【0240】そこで、情報端末機器500のユーザが、
操作部520を操作して、例えば、第1表示領域532
に表示されている「送り手側デバイス(Source Devic
e)」及び「受け手側デバイス(Destination Devic
e)」の項目のうち、何れか一方を選択して、サーチボ
タン534を押すと、選択したデバイスの候補が第2の
表示領域536に表示される。
【0241】また、情報端末機器500のユーザが、操
作部520を操作して、例えば、送り手側デバイスと受
け手側デバイス各々について、表示された候補の中か
ら、所望のデバイスとして例えば「スキャナ1(Scanne
r 1)」と「プリンタ1(Printer 1)」をそれぞれ選択
すると、図35に示すように、第2表示領域536に、
その選択結果が表示される。さらに、ユーザが実行ボタ
ン536を押すと、リモートアプリケーション部510
は、ネットワーク、情報公開部195を介して、アプリ
ケーション部110に対して、スキャナ1からプリンタ
1へのデータの伝送開始を指示する。アプリケーション
部110は、この指示をさらにインターフェイス部12
0に伝え、これにより、インターフェイス部120は、
例えば、前述の図24に示したデータ伝送開始処理を開
始する。
【0242】以上のようにして、情報端末機器からネッ
トワークを介してアプリケーション部に指示を与えるこ
とが可能となるので、リソースの乏しい情報端末機器か
らネットワーク上の種々のデバイスを制御することが可
能となる。
【0243】また、図21においては、プリンタ240
やスキャナ340等のデバイスに関連した情報、すなわ
ち、対応デバイスクラスの情報125,145と、複合
動作可能デバイスクラスの情報126,146と、複合
デバイスカテゴリの情報127,147と、結果蓄積情
報131,149などは、インターフェイス部120,
140内のデバイス情報記憶部124,144に記憶さ
れていたが、これらプリンタ240やスキャナ340等
のデバイスに関する情報は、各デバイスに対応するデバ
イス制御部220,320にも格納されている(但し、
結果蓄積情報131,149については格納させる必要
がある)ので、これらプリンタ240やスキャナ340
等のデバイスに関する情報を、インターフェイス部12
0,140内に組み込む代わりに、必要なとき、ネット
ワークを介してこれらデバイス制御部220,320に
アクセスして、取得するようにしても良い。また、これ
らプリンタ240やスキャナ340等のデバイスに関す
る情報を、コンピュータ100〜300以外のネットワ
ーク上に存在する別のコンピュータ(例えば、サーバな
ど)に格納して、必要な時に、ネットワークを介してそ
のコンピュータにアクセスして、取得するようにしても
良い。
【0244】また、図21においては、ユーザインター
フェイスのデータやアイコンのデータは、インターフェ
イス部120とは、別のUIデータ格納部150やアイ
コンデータ格納部160に格納されており、モニタ17
0の画面上に表示する時点で、これらからダウンロード
していた。しかし、本発明はこれに限定されるものでは
なく、例えば、ユーザインターフェイスのデータやアイ
コンのデータを、COMオブジェクトとして構成される
インターフェイス部120内に、初めから組み込むよう
にしておいても良い。また、ユーザインターフェイスの
データやアイコンのデータを、コンピュータ200や3
00に格納するようにしても良いし、コンピュータ10
0〜300以外のネットワーク上に存在する別のコンピ
ュータ(例えば、サーバなど)に格納するようにしても
良い。
【0245】さらに、図21に示すデバイス制御システ
ムは図2(c)に示した接続形態であって、プリンタ2
40やスキャナ340などのデバイスは、アプリケーシ
ョン部110やインターフェイス部120,140の存
在するコンピュータ100とは、別のコンピュータ20
0,コンピュータ300に接続されていたが、図2
(b)に示した接続形態として、プリンタ240やスキ
ャナ340などのデバイスは、アプリケーション部11
0等の存在するコンピュータ100に接続するようにし
ても良い。この場合は、スタブ、デバイス制御部および
デバイスドライバの各構成要素も、アプリケーション部
110等の存在するコンピュータ100内に生成される
ことになる。また、図21においては、プリンタ240
やスキャナ340などのデバイスは、コンピュータ20
0や300の外部に接続されているように描いてある
が、図3に示したように、デバイスとコンピュータとが
一体的に構成されていても構わない。
【0246】なお、本発明は上記した実施例や実施形態
に限られるものではなく、その要旨を逸脱しない範囲に
おいて種々の態様にて実施することが可能である。
【0247】上記した実施例においては、図21に示し
たように、対応デバイスクラスの情報125,145や
複合動作可能デバイスクラスの情報126,146な
ど、対象となるデバイスの属性情報として、デバイスの
種類に関する情報を参照して、対象となるデバイスが複
合デバイスとして動作可能な組合せであるか否かを判定
していた(図24のステップS108または図25のス
テップS128)。しかし、上述したように、参照され
る属性情報としては、デバイスの種類の他にも、送り手
側デバイス系/受け手側デバイス系、Push型/Pull型
(データ伝送の主体がSource側か,Destination側
か)、取り扱い可能なデータ形式、デバイスの状態(動
作可能か?等)や性能(処理速度等)や存在場所(セク
ション,フロアー等)や処理コスト(通信コストや印刷
コスト)、特別なデータ伝送方式のサポートの有無な
ど、種々の情報を用いることができる。
【0248】また、対象となるデバイスが複合デバイス
として動作可能な組合せであるか否かを判定した後に、
複合デバイスとして動作可能な組合せであると判定され
た対象デバイスについて、そのデバイスの組合せがどの
程度有効であるかを、上記の属性情報に基づいて総合的
に評価して、その有効性の度合いを表す評価値を得るよ
うにしても良い。例えば、上記属性情報の各々に予め重
み付けた点数を与えておき、対象となるデバイスの組合
せについて、その合計点を算出することによって、て評
価値を得るようにする。
【0249】また、このような評価値を得た場合、モニ
タ170の画面400上に表示されている、対象となる
デバイスのアイコンの近くに、その評価値自体を表示す
るようにしても良い。
【0250】また、或る対応デバイスに対して、相手方
となるデバイスを複数選択することにより、対象となる
デバイスの組合せを複数組作った場合は、その組合せ毎
にそれぞれ評価値を得て、その評価値の高い順に、相手
方となるデバイスをリストアップして表示するようにし
ても良い。
【0251】図36は図21におけるインターフェイス
部120で実行される他のユーザインターフェイス表示
処理の流れを示すフローチャートである。
【0252】図36に示すように、決定部136は、判
定部122が対象となるデバイスについて、複合デバイ
スとして動作可能な組合せであると判定した場合に(ス
テップS148)、複合デバイスの種類を決定した後
(ステップS150)、デバイス情報記憶部124や1
44に記憶されている属性情報を参照して、対象となる
デバイスの組合せについて、組合せの有効性の度合いを
表す評価値を算出する(ステップS152)。そして、
データ出力部132は、算出された評価値に基づいて、
上述したような表示をモニタ170の画面上に行なう
(ステップS154)。
【0253】上記した実施例においては、制御対象とな
るデバイスは2つまたは3つであったが、本発明はこれ
に限定されるものではなく、4つ以上のデバイスを制御
対象としても良い。
【図面の簡単な説明】
【図1】本発明の一実施例としてのデバイス制御システ
ムの構成を示すブロック図である。
【図2】図1のデバイス制御システムについての接続形
態の代表例を示すブロック図である。
【図3】図1のデバイス制御システムについての接続形
態の代表例を示すブロック図である。
【図4】図1のデバイス制御システムにおける別のデー
タ伝送の方法を説明するためのブロック図である。
【図5】図1のデバイス制御システムにおける別のデー
タ伝送の方法を説明するためのブロック図である。
【図6】図1のデバイス制御システムをCOMの技術を
用いて実現した場合の具体例を示すブロック図である。
【図7】画面上に表示されたスキャナ及びプリンタのア
イコンを操作している様子を示す説明図である。
【図8】図6のデバイス制御システムにおいて、データ
伝送を行なう場合の手順を示す説明図である。
【図9】図6のデバイス制御システムにおいて、データ
伝送を行なう場合の手順を示す説明図である。
【図10】図6のデバイス制御システムにおいて、デー
タ伝送を行なう場合の手順を示す説明図である。
【図11】図6のデバイス制御システムにおいて、デー
タ伝送を行なう場合の手順を示す説明図である。
【図12】図6のデバイス制御システムにおいて、デー
タ伝送を行なう場合の手順を示す説明図である。
【図13】図5に示したデータ伝送の方法をCOMの技
術を用いて実現した場合の具体例を示すブロック図であ
る。
【図14】図13のデバイス制御部30a,30b間で
直接のデータ伝送を行なう場合の手順を示す説明図であ
る。
【図15】図13のデバイス制御部30a,30b間で
直接のデータ伝送を行なう場合の手順を示す説明図であ
る。
【図16】図13のデバイス制御部30a,30b間で
直接のデータ伝送を行なう場合の手順を示す説明図であ
る。
【図17】図13のデバイス制御部30a,30b間で
直接のデータ伝送を行なう場合の手順を示す説明図であ
る。
【図18】図1に示すデバイス制御システムによって仮
想的なコピー機を実現した場合に画面上に表示されるユ
ーザインターフェイスの一例を示す説明図である。
【図19】図1に示すデバイス制御システムによって仮
想的なコピー機を実現した場合のデータの流れを示す説
明図である。
【図20】画面上に表示されるデバイス選択ツリーの一
例を示す説明図である。
【図21】図2(c)の接続形態にて接続した場合のデ
バイス制御システムを示すブロック図である。
【図22】図21に示すコンピュータ100のハードウ
ェア構成の概要を示すブロック図である。
【図23】図21におけるモニタ170の画面上に表示
されたスキャナアイコンおよびプリンタアイコンを示す
説明図である。
【図24】図21におけるインターフェイス部120で
実行されるデータ伝送開始処理の流れを示すフローチャ
ートである。
【図25】図21におけるインターフェイス部120で
実行されるユーザインターフェイス表示処理の流れを示
すフローチャートである。
【図26】図21におけるモニタ170の画面上に表示
された、複合デバイスであるコピー機を操作するための
ユーザインターフェイスを示す説明図である。
【図27】図21におけるモニタ170の画面上に表示
された、複合デバイスである受信側ファクシミリを操作
するためのユーザインターフェイスを示す説明図であ
る。
【図28】図25に示すユーザインターフェイス表示処
理の一部を変更した場合の処理の流れを示すフローチャ
ートである。
【図29】図21におけるモニタ170の画面上に表示
されたコピー機アイコンを示す説明図である。
【図30】図21における結果蓄積情報131を利用し
てモニタ170の画面上のプリンタアイコンの近くに表
示されたポップアップメニューを示す説明図である。
【図31】図21における結果蓄積情報131を利用し
てモニタ170の画面上に表示された送り手側デバイス
と受け手側デバイスの組合せを示す説明図である。
【図32】図21における結果蓄積情報131を利用し
てモニタ170の画面上のコピー機アイコンの近くに表
示されたポップアップメニューを示す説明図である。
【図33】図21におけるモニタ170の画面上に表示
された画像アイコンおよびプリンタアイコンを示す説明
図である。
【図34】情報端末機器500を利用してコンピュータ
100のアプリケーション部110に指示を与える場合
の構成を示すブロック図である。
【図35】図34に示す情報端末機器500の外観と表
示部530に表示された画面の一例を示す説明図であ
る。
【図36】図21におけるインターフェイス部120で
実行される他のユーザインターフェイス表示処理の流れ
を示すフローチャートである。
【符号の説明】
20…アプリケーション部 22a,22b…インターフェイス部 24a,24b…通信路抽象化部 26a,26b…通信路 28a,28b…デバイス抽象化部 30a,30b…デバイス制御部 32a,32b…デバイス・ドライバ 34a,34b…デバイス 36…通信路抽象化部 38…通信路 40…コンピュータ 42,44…コンピュータ 46…ネットワーク 48,50,52…コンピュータ 54…ネットワーク 60a,60b,60c…デバイス抽象化部 62,64…通信路抽象化部 I1,I6…アイ・サイバー・プラグ I2,I7…アイ・コンテキスト・メニュー I3,I8…アイ・ドロップ・ソース I4,I9…アイ・ドロップ・ターゲット I5,I10…アイ・サイバー・イベント I11,I13…アイ・サイバー・プロトコル I12,I14…アイ・サイバー・イベント M1,M2…ステイタス・モニタ N1…イベント・ハンドラー P1〜P5…プロキシ S1〜S5…スタブ 70…CPU 72…メモリ 74…I/O部 76…ハードディスク装置 78…通信装置 80…CD−ROMドライブ装置 82…CD−ROM 84…マウス 100…コンピュータ 110…アプリケーション部 120…インターフェイス部 122…判定部 124…デバイス情報記憶部 125…対応デバイスクラスの情報 126…複合動作可能デバイスクラスの情報 127…複合デバイスカテゴリの情報 128…UI参照テーブル 130…アイコン参照テーブル 132…データ出力部 134…関連付部 136…決定部 140…インターフェイス部 144…デバイス情報記憶部 145…対応デバイスクラスの情報 146…複合動作可能デバイスクラスの情報 147…複合デバイスカテゴリの情報 150…UIデータ格納部 160…アイコンデータ格納部 170…モニタ 180,190…プロキシ 200…コンピュータ 210…スタブ 220…デバイス制御部 230…デバイスドライバ 240…プリンタ 300…コンピュータ 310…スタブ 320…デバイス制御部 330…デバイスドライバ 340…スキャナ 400…画面 410…スキャナアイコン 420…プリンタアイコン 430…マウスカーソル 440…コピー機アイコン 450…画像アイコン 460…ウインドウ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 片田 寿治 長野県諏訪市大和三丁目3番5号 セイコ ーエプソン株式会社内 (72)発明者 宮坂 隆史 長野県諏訪市大和三丁目3番5号 セイコ ーエプソン株式会社内 (72)発明者 山内 好太郎 長野県諏訪市大和三丁目3番5号 セイコ ーエプソン株式会社内 Fターム(参考) 5B014 EB03 FA05 FB04 GD05 GD33 5B021 AA02 BB01 BB04 CC05 EE01 PP04

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】 データの送り手となり得る送り手側デバ
    イス及びデータの受け手となり得る受け手側デバイスを
    それぞれ制御することが可能なデバイス制御装置であっ
    て、 送り手側デバイスと受け手側デバイスをそれぞれ特定す
    るデバイス特定手段と、 特定された前記送り手側デバイス及び受け手側デバイス
    について、前記送り手側デバイスからデータを送り出し
    た場合に、前記受け手側デバイスでそのデータを受け取
    って処理することが可能であるか否かを、前記送り手側
    デバイス及び受け手側デバイスの属性情報に基づいて判
    定する判定手段と、 前記判定手段において可能であると判定された場合に、
    前記送り手側デバイスから前記デバイス制御装置を介し
    て前記受け手側デバイスにデータを伝送させるよう、前
    記送り手側デバイス及び受け手側デバイスを制御するデ
    ータ伝送実行手段と、 を備えることを特徴とするデバイス制御装置。
  2. 【請求項2】 データの送り手となり得る送り手側デバ
    イス及びデータの受け手となり得る受け手側デバイスを
    それぞれ制御することが可能なデバイス制御装置であっ
    て、 送り手側デバイスと受け手側デバイスをそれぞれ特定す
    るデバイス特定手段と、 特定された前記送り手側デバイス及び受け手側デバイス
    について、前記送り手側デバイスからデータを送り出し
    た場合に、前記受け手側デバイスでそのデータを受け取
    って処理することが可能であるか否かを、前記送り手側
    デバイス及び受け手側デバイスの属性情報に基づいて判
    定する判定手段と、 前記判定手段において可能であると判定された場合に、
    前記送り手側デバイスから前記受け手側デバイスに前記
    デバイス制御装置を介することなくデータを伝送させる
    よう、前記送り手側デバイス及び受け手側デバイスを制
    御するデータ伝送実行手段と、 を備えることを特徴とするデバイス制御装置。
  3. 【請求項3】 請求項1または請求項2に記載のデバイ
    ス制御装置において、 前記判定手段において可能であると判定された場合に、
    前記データ伝送実行手段が、前記データを伝送させるよ
    う、前記送り手側デバイス及び受け手側デバイスを制御
    するのに先だって、前記送り手側デバイスの有する機能
    の少なくとも一部と前記受け手側デバイスの有する機能
    の少なくとも一部とを共に有する複合デバイスを操作す
    るためのユーザインターフェイスを、特定された前記送
    り手側デバイス及び受け手側デバイスを共に操作するた
    めのユーザインターフェイスとして表示手段に表示させ
    る表示制御手段をさらに備えることを特徴とするデバイ
    ス制御装置。
  4. 【請求項4】 請求項3に記載のデバイス制御装置にお
    いて、 前記表示制御手段は、 複数の前記複合デバイスについて、それぞれ、その複合
    デバイスを操作するためのユーザインターフェイスを前
    記表示手段に表示させるためのデータを格納するデータ
    格納手段と、 前記表示手段に、特定された前記送り手側デバイスの有
    する機能の少なくとも一部と前記受け手側デバイスの有
    する機能の少なくとも一部とを共に有する前記複合デバ
    イスを操作するための前記ユーザインターフェイスを表
    示させるべく、該ユーザインターフェイスを表示させる
    ためのデータを、前記データ格納手段から読み出して、
    前記表示手段に出力するデータ出力手段と、 を備えるデバイス制御装置。
  5. 【請求項5】 請求項3に記載のデバイス制御装置にお
    いて、 前記判定手段は、特定された前記送り手側デバイスの種
    類と受け手側デバイスの種類の組合せが、前記複合デバ
    イスとして動作可能な組合せであるか否かを判定するこ
    とにより、前記送り手側デバイスからデータを送り出し
    た場合に、前記受け手側デバイスでそのデータを受け取
    って処理することが可能であるか否かを判定することを
    特徴とするデバイス制御装置。
  6. 【請求項6】 請求項1ないし請求項3のうちの任意の
    1つに記載のデバイス制御装置において、 前記属性情報は、前記デバイス制御装置内、前記デバイ
    スを含む装置内、前記デバイスの接続された装置内、並
    びに、前記デバイス制御装置及び前記デバイスとネット
    ワークを介して接続された装置内のうち、少なくとも1
    つに格納されていることを特徴とするデバイス制御装
    置。
  7. 【請求項7】 請求項1ないし請求項3のうちの任意の
    1つに記載のデバイス制御装置において、 前記属性情報には、デバイスの種類に関する情報を含む
    ことを特徴とするデバイス制御装置。
  8. 【請求項8】 請求項1ないし請求項3のうちの任意の
    1つに記載のデバイス制御装置において、 前記属性情報には、デバイスの扱うデータ形式に関する
    情報を含むことを特徴とするデバイス制御装置。
  9. 【請求項9】 請求項1ないし請求項3のうちの任意の
    1つに記載のデバイス制御装置において、 前記判定手段は、前記送り手側デバイスからデータを送
    り出した場合に、前記受け手側デバイスでそのデータを
    受け取って処理することが可能であると判定した場合
    に、前記送り手側デバイス及び受け手側デバイスの属性
    情報に基づいて、前記送り手側デバイスと前記受け手側
    デバイスの組合せの有効性の度合いを導き出すことを特
    徴とするデバイス制御装置。
  10. 【請求項10】 請求項1ないし請求項3のうちの任意
    の1つに記載のデバイス制御装置において、 前記送り手側デバイス及び受け手側デバイスのうち、少
    なくとも1つのデバイスは、ネットワークを介して前記
    デバイス制御装置に接続されていることを特徴とするデ
    バイス制御装置。
  11. 【請求項11】 請求項1ないし請求項3のうちの任意
    の1つに記載のデバイス制御装置において、 前記送り手側デバイス及び受け手側デバイスのうち、少
    なくとも1つのデバイスは、前記デバイス制御装置、及
    び、該デバイス制御装置にネットワーク介して接続され
    ている装置のうちの少なくとも1つと、一体的に構成さ
    れていることを特徴とするデバイス制御装置。
  12. 【請求項12】 請求項1ないし請求項3のうちの任意
    の1つに記載のデバイス制御装置において、 前記デバイス特定手段は、送り手側デバイスと受け手側
    デバイスを特定する際に、3つ以上のデバイスを特定す
    ることを特徴とするデバイス制御装置。
  13. 【請求項13】 請求項1ないし請求項3のうちの任意
    の1つに記載のデバイス制御装置において、 表示手段に前記送り手側デバイスに対応するシンボルと
    前記受け手側デバイスに対応するシンボルがそれぞれ表
    示されている場合に、両者のシンボルについて所定のシ
    ンボル操作が行なわれたことによって、前記デバイス特
    定手段は、前記送り手側デバイスと前記受け手側デバイ
    スをそれぞれ特定することを特徴とするデバイス制御装
    置。
  14. 【請求項14】 請求項1ないし請求項3のうちの任意
    の1つに記載のデバイス制御装置において、 表示手段に、前記送り手側デバイスから送り出し得る前
    記データに対応するシンボルと、前記受け手側デバイス
    に対応するシンボルが、それぞれ表示されている場合
    に、両者のシンボルについて所定のシンボル操作が行な
    われたことによって、前記デバイス特定手段は、前記送
    り手側デバイスと前記受け手側デバイスをそれぞれ特定
    することを特徴とするデバイス制御装置。
  15. 【請求項15】 請求項1ないし請求項3のうちの任意
    の1つに記載のデバイス制御装置において、 特定された前記送り手側デバイス及び受け手側デバイス
    について前記判定手段において行なわれた判定結果を記
    憶する記憶手段をさらに備えることを特徴とするデバイ
    ス制御装置。
  16. 【請求項16】 請求項15に記載のデバイス制御装置
    において、 前記送り手側デバイスまたは受け手側デバイスに対応す
    るシンボルを、表示手段に表示させる表示制御手段をさ
    らに備え、 前記表示制御手段は、前記シンボルを表示させている間
    に、該シンボルについて所定のシンボル操作が行なわれ
    た場合に、前記記憶手段に記憶されている判定結果を参
    照し、前記シンボルに対応するデバイスについて、過去
    に前記判定手段において可能であると判定された相手方
    のデバイスをリストアップして、前記表示手段に表示さ
    せることを特徴とするデバイス制御装置。
  17. 【請求項17】 請求項15に記載のデバイス制御装置
    において、 前記記憶手段に記憶されている判定結果を参照し、過去
    に前記判定手段において可能であると判定された組合せ
    をリストアップして、表示手段に表示させる表示制御手
    段をさらに備えるデバイス制御装置。
  18. 【請求項18】 請求項1ないし請求項3のうちの任意
    の1つに記載のデバイス制御装置において、 前記デバイス特定手段は、前記デバイス制御装置とネッ
    トワークを介して接続されている装置から、前記ネット
    ワークを介して伝達された指示に従って、送り手側デバ
    イスと受け手側デバイスをそれぞれ特定することを特徴
    とするデバイス制御装置。
  19. 【請求項19】 請求項18に記載のデバイス制御装置
    において、 前記デバイス制御装置と前記ネットワークを介して接続
    されている前記装置に対して、前記指示を得るために利
    用される情報を、前記ネットワークを介して公開する情
    報公開手段をさらに備えたデバイス制御装置。
  20. 【請求項20】 請求項1ないし請求項19のうちの任
    意の1つに記載のデバイス制御装置と、前記送り手側デ
    バイスと、前記受け手側デバイスと、を備えることを特
    徴とするデバイス制御システム。
  21. 【請求項21】 データの送り手となり得る送り手側デ
    バイス及びデータの受け手となり得る受け手側デバイス
    をそれぞれするためのデバイス制御方法であって、 (a)送り手側デバイスと受け手側デバイスをそれぞれ
    特定する工程と、 (b)特定された前記送り手側デバイス及び受け手側デ
    バイスについて、前記送り手側デバイスからデータを送
    り出した場合に、前記受け手側デバイスでそのデータを
    受け取って処理することが可能であるか否かを、前記送
    り手側デバイス及び受け手側デバイスの属性情報に基づ
    いて判定する工程と、 (c)前記工程(b)において可能であると判定された
    場合に、前記送り手側デバイスから前記受け手側デバイ
    スに、前記送り手側デバイス及び前記受け手側デバイス
    をそれぞれ制御することが可能なデバイス制御装置を介
    して、データを伝送させるよう、前記送り手側デバイス
    及び受け手側デバイスを制御する工程と、 を備えるデバイス制御方法。
  22. 【請求項22】 データの送り手となり得る送り手側デ
    バイス及びデータの受け手となり得る受け手側デバイス
    をそれぞれするためのデバイス制御方法であって、 (a)送り手側デバイスと受け手側デバイスをそれぞれ
    特定する工程と、 (b)特定された前記送り手側デバイス及び受け手側デ
    バイスについて、前記送り手側デバイスからデータを送
    り出した場合に、前記受け手側デバイスでそのデータを
    受け取って処理することが可能であるか否かを、前記送
    り手側デバイス及び受け手側デバイスの属性情報に基づ
    いて判定する工程と、 (c)前記工程(b)において可能であると判定された
    場合に、前記送り手側デバイスから前記受け手側デバイ
    スに、前記送り手側デバイス及び前記受け手側デバイス
    をそれぞれ制御することが可能なデバイス制御装置を介
    することなく、データを伝送させるよう、前記送り手側
    デバイス及び受け手側デバイスを制御する工程と、 を備えるデバイス判定方法。
  23. 【請求項23】 請求項21または請求項22に記載の
    デバイス制御方法において、 (d)前記工程(b)において可能であると判定された
    場合に、前記工程(c)に先だって、前記送り手側デバ
    イスの有する機能の少なくとも一部と前記受け手側デバ
    イスの有する機能の少なくとも一部とを共に有する複合
    デバイスを操作するためのユーザインターフェイスを、
    特定された前記送り手側デバイス及び受け手側デバイス
    を共に操作するためのユーザインターフェイスとして表
    示する工程をさらに備えるデバイス制御方法。
  24. 【請求項24】 請求項21ないし請求項23のうちの
    任意の1つに記載のデバイス制御方法において、 前記工程(a)は、 (a−1)前記送り手側デバイスに対応するシンボルと
    前記受け手側デバイスに対応するシンボルをそれぞれ表
    示する工程と、 (a−2)両者のシンボルについて所定のシンボル操作
    が行なわれた場合に、前記送り手側デバイスと前記受け
    手側デバイスをそれぞれ特定する工程と、 を備えるデバイス制御方法。
  25. 【請求項25】 データの送り手となり得る送り手側デ
    バイスとデータの受け手となり得る受け手側デバイスを
    それぞれ制御するためのコンピュータプログラムを記録
    したコンピュータ読み取り可能な記録媒体であって、 送り手側デバイスと受け手側デバイスをそれぞれ特定す
    る第1の機能と、 特定された前記送り手側デバイス及び受け手側デバイス
    について、前記送り手側デバイスからデータを送り出し
    た場合に、前記受け手側デバイスでそのデータを受け取
    って処理することが可能であるか否かを、前記送り手側
    デバイス及び受け手側デバイスの属性情報に基づいて判
    定する第2の機能と、 前記第2の機能によって可能であると判定された場合
    に、前記送り手側デバイスから前記コンピュータを介し
    て前記受け手側デバイスにデータを伝送させるよう、前
    記送り手側デバイス及び受け手側デバイスを制御する第
    3の機能と、 をコンピュータに実現させるためのコンピュータプログ
    ラムを記録した記録媒体。
  26. 【請求項26】 データの送り手となり得る送り手側デ
    バイスとデータの受け手となり得る受け手側デバイスを
    それぞれ制御するためのコンピュータプログラムを記録
    したコンピュータ読み取り可能な記録媒体であって、 送り手側デバイスと受け手側デバイスをそれぞれ特定す
    る第1の機能と、 特定された前記送り手側デバイス及び受け手側デバイス
    について、前記送り手側デバイスからデータを送り出し
    た場合に、前記受け手側デバイスでそのデータを受け取
    って処理することが可能であるか否かを、前記送り手側
    デバイス及び受け手側デバイスの属性情報に基づいて判
    定する第2の機能と、 前記第2の機能によって可能であると判定された場合
    に、前記送り手側デバイスから前記受け手側デバイスに
    前記コンピュータを介することなくデータを伝送させる
    よう、前記送り手側デバイス及び受け手側デバイスを制
    御する第3の機能と、 をコンピュータに実現させるためのコンピュータプログ
    ラムを記録した記録媒体。
  27. 【請求項27】 請求項25または請求項26に記載の
    記録媒体において、 前記コンピュータプログラムは、 前記第2の機能によって可能であると判定された場合
    に、前記第3の機能によって、前記データを伝送させる
    よう、前記送り手側デバイス及び受け手側デバイスを制
    御するのに先だって、前記送り手側デバイスの有する機
    能の少なくとも一部と前記受け手側デバイスの有する機
    能の少なくとも一部とを共に有する複合デバイスを操作
    するためのユーザインターフェイスを、特定された前記
    送り手側デバイス及び受け手側デバイスを共に操作する
    ためのユーザインターフェイスとして表示する第4の機
    能をさらに前記コンピュータに実現させることを特徴と
    する記録媒体。
  28. 【請求項28】 請求項25ないし請求項27のうちの
    任意の1つに記載の記録媒体において、 前記第1の機能は、 前記送り手側デバイスに対応するシンボルと前記受け手
    側デバイスに対応するシンボルをそれぞれ表示する機能
    と、 両者のシンボルについて所定のシンボル操作が行なわれ
    た場合に、前記送り手側デバイスと前記受け手側デバイ
    スをそれぞれ特定する機能と、 を含むことを特徴とする記録媒体。
JP2003127260A 1998-06-30 2003-05-02 デバイス制御装置、デバイス制御システム、デバイス制御方法及びデバイス制御を行なうためのコンピュータプログラムを記録した記録媒体 Pending JP2003303162A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003127260A JP2003303162A (ja) 1998-06-30 2003-05-02 デバイス制御装置、デバイス制御システム、デバイス制御方法及びデバイス制御を行なうためのコンピュータプログラムを記録した記録媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP10-201267 1998-06-30
JP20126798 1998-06-30
JP10-352120 1998-11-25
JP35212098 1998-11-25
JP2003127260A JP2003303162A (ja) 1998-06-30 2003-05-02 デバイス制御装置、デバイス制御システム、デバイス制御方法及びデバイス制御を行なうためのコンピュータプログラムを記録した記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11184226A Division JP2000222341A (ja) 1998-06-30 1999-06-29 デバイス制御装置、デバイス制御システム、デバイス判定方法及びデバイス判定を行なうためのコンピュ―タプログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2003303162A true JP2003303162A (ja) 2003-10-24

Family

ID=29407405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003127260A Pending JP2003303162A (ja) 1998-06-30 2003-05-02 デバイス制御装置、デバイス制御システム、デバイス制御方法及びデバイス制御を行なうためのコンピュータプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2003303162A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009069905A (ja) * 2007-09-10 2009-04-02 Delta Electronics Inc プログラマーロジックコントローラ(plc)プログラムの編集方法
JP2010009184A (ja) * 2008-06-25 2010-01-14 Ricoh Co Ltd 画像処理システム及びその管理方法、並びにプログラム及び記録媒体
JP2018055693A (ja) * 2017-10-26 2018-04-05 株式会社リコー 画像処理システム、及び画像処理プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009069905A (ja) * 2007-09-10 2009-04-02 Delta Electronics Inc プログラマーロジックコントローラ(plc)プログラムの編集方法
JP2010009184A (ja) * 2008-06-25 2010-01-14 Ricoh Co Ltd 画像処理システム及びその管理方法、並びにプログラム及び記録媒体
JP2018055693A (ja) * 2017-10-26 2018-04-05 株式会社リコー 画像処理システム、及び画像処理プログラム

Similar Documents

Publication Publication Date Title
EP0969653B1 (en) Device control apparatus and method of determining device
US10187533B2 (en) Image processing device and image processing system
US20190251406A1 (en) Method of processing data transmitted from information processing device to image output device
US8031980B2 (en) Image processing apparatus and information processing system
US8639063B2 (en) Information processing system and information processing method, and information processing program used therein
US20150347882A1 (en) Image forming apparatus, image formation supporting system, and image formation supporting method
US20040070630A1 (en) Multifunction apparatus, server, and server system
EP1650953B1 (en) Image forming apparatus, a print process method, a computer program and a computer readable storage medium
US8810837B2 (en) Scanning system, printing system, service providing system, and control method
US20060221407A1 (en) Image reading method and system
JP2004129248A (ja) 画像形成装置およびスキャンデータ処理方法
JP2010021896A (ja) 情報処理装置と画像入力装置、文書配信システムとそれらの制御方法
JP5310934B2 (ja) サービス処理システム
JP2011217322A (ja) 文書管理システム、文書管理方法及びプログラム
JP2010251972A (ja) 印刷システム、データ処理方法およびプログラム
JP2000222335A (ja) デバイス制御システム、デバイス制御方法、及び上記システムを構築するためのプログラムを記録した記録媒体
JP2011124956A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US8503006B2 (en) Job managing apparatus performing process of passing printed material to recipient
JP5370439B2 (ja) 装置、要求処理方法、プログラム、及び記録媒体
JP5516814B2 (ja) サービス処理システム
JP2010098450A (ja) 画像処理装置、サーバー装置及び制御方法
JP2000222341A (ja) デバイス制御装置、デバイス制御システム、デバイス判定方法及びデバイス判定を行なうためのコンピュ―タプログラムを記録した記録媒体
US20080162626A1 (en) Workflow system and method of controlling the same
JP2003303162A (ja) デバイス制御装置、デバイス制御システム、デバイス制御方法及びデバイス制御を行なうためのコンピュータプログラムを記録した記録媒体
JP2004288055A (ja) サービス処理システム、サービス処理方法及びサービス処理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060425