JP2003233577A - デバイス制御システム - Google Patents

デバイス制御システム

Info

Publication number
JP2003233577A
JP2003233577A JP2002344479A JP2002344479A JP2003233577A JP 2003233577 A JP2003233577 A JP 2003233577A JP 2002344479 A JP2002344479 A JP 2002344479A JP 2002344479 A JP2002344479 A JP 2002344479A JP 2003233577 A JP2003233577 A JP 2003233577A
Authority
JP
Japan
Prior art keywords
unit
data
interface
information
computer
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.)
Withdrawn
Application number
JP2002344479A
Other languages
English (en)
Inventor
Fumio Nagasaka
文夫 長坂
Yutaka Hisamatsu
豊 久松
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 JP2002344479A priority Critical patent/JP2003233577A/ja
Publication of JP2003233577A publication Critical patent/JP2003233577A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

(57)【要約】 【課題】 デバイスオブジェクトの種類や通信路の種類
に依存することなく、アプリケーションプログラムを使
って同様な制御を行なうことができるようにする。 【解決手段】 デバイス抽象化部28a,28bは、デ
バイス34a,34bとの間で各種制御情報やデータの
やり取りを行なうと共に、上位に位置する構成要素に対
して、デバイスの抽象化(ハードウェアの抽象化)を行
なう。インターフェイス部22a,22bは、アプリケ
ーション部20とデバイス抽象化部28a,28bとの
間で各種制御情報やデータのやり取りを行なうと共に、
アプリケーション部20に対して同一のインターフェイ
スを提供する。通信路抽象化部24a,24bは、通信
路26a,26bを介してプロセス境界またはネットワ
ーク境界を越えて各種制御情報やデータのやり取りを行
なう際に、通信路の抽象化を行なう。

Description

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

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 1つ以上のデバイスを制御するためのデ
    バイス制御システムであって、 前記デバイスにそれぞれ対応し、対応するデバイスとの
    間でデータまたは情報のやり取りを行なう1つ以上のデ
    バイス抽象化部と、 前記デバイス抽象化部にそれぞれ対応し、対応するデバ
    イス抽象化部と通信路を介して接続され、対応する前記
    デバイス抽象化部と、所定のアプリケーションプログラ
    ムによって構築されるアプリケーション部と、の間でデ
    ータまたは情報のやり取りを仲介する1つ以上のインタ
    ーフェイス部と、 相互に対応する前記デバイス抽象化部とインターフェイ
    ス部との間にそれぞれ設けられる1つ以上の通信路抽象
    化部と、 を備え、 前記デバイス抽象化部は、対応する前記デバイスについ
    てデバイスの種類に起因した制御上の相違を吸収して、
    前記アプリケーション部に対しデバイスの種類に依存し
    ない同一の制御環境を前記インターフェイス部を介して
    提供することを特徴とするデバイス制御システム。
JP2002344479A 1998-06-30 2002-11-27 デバイス制御システム Withdrawn JP2003233577A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002344479A JP2003233577A (ja) 1998-06-30 2002-11-27 デバイス制御システム

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP10-201267 1998-06-30
JP20126798 1998-06-30
JP35212098 1998-11-25
JP10-352120 1998-11-25
JP2002344479A JP2003233577A (ja) 1998-06-30 2002-11-27 デバイス制御システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11184239A Division JP2000222335A (ja) 1998-06-30 1999-06-29 デバイス制御システム、デバイス制御方法、及び上記システムを構築するためのプログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2003233577A true JP2003233577A (ja) 2003-08-22

Family

ID=27791944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002344479A Withdrawn JP2003233577A (ja) 1998-06-30 2002-11-27 デバイス制御システム

Country Status (1)

Country Link
JP (1) JP2003233577A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008005518A (ja) * 2007-07-23 2008-01-10 Fuji Xerox Co Ltd 画像処理システム
JP2009053850A (ja) * 2007-08-24 2009-03-12 Canon Inc 管理装置、情報処理方法、及びコンピュータプログラム
JP2010166614A (ja) * 2010-04-05 2010-07-29 Fuji Xerox Co Ltd 画像処理システム
JP2012257281A (ja) * 2012-07-26 2012-12-27 Fuji Xerox Co Ltd サービス処理システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008005518A (ja) * 2007-07-23 2008-01-10 Fuji Xerox Co Ltd 画像処理システム
JP2009053850A (ja) * 2007-08-24 2009-03-12 Canon Inc 管理装置、情報処理方法、及びコンピュータプログラム
JP2010166614A (ja) * 2010-04-05 2010-07-29 Fuji Xerox Co Ltd 画像処理システム
JP2012257281A (ja) * 2012-07-26 2012-12-27 Fuji Xerox Co Ltd サービス処理システム

Similar Documents

Publication Publication Date Title
EP0969653B1 (en) Device control apparatus and method of determining device
US8356084B2 (en) Information processing apparatus and image processing apparatus
JP4424711B2 (ja) ネットワークデバイス、ディレクトリサーバおよびネットワークシステム
JP3582393B2 (ja) デバイス制御装置、ユーザインターフェイス表示方法およびユーザインターフェイスを表示させるためのコンピュータプログラムを記録した記録媒体
JP4144632B2 (ja) 画像処理装置、画像処理システム、画像処理装置のパラメータ設定方法
JP4481339B2 (ja) 情報処理装置、情報処理方法、情報処理プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
JP5462610B2 (ja) 情報処理システム、情報処理装置、それらの制御方法、及びプログラム
JP2001357010A (ja) インターネット上のWebサーバにおいてファイルを受託管理する方法およびこの方法に用いるファイル受託管理装置
JP2000222335A (ja) デバイス制御システム、デバイス制御方法、及び上記システムを構築するためのプログラムを記録した記録媒体
US7676116B2 (en) Information processing system and information processing method, and information processing program used therein
US8503006B2 (en) Job managing apparatus performing process of passing printed material to recipient
US20110252347A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JPH11134265A (ja) データ変換システム、端末、サーバ及び記録媒体
JP2003233577A (ja) デバイス制御システム
JP2000222341A (ja) デバイス制御装置、デバイス制御システム、デバイス判定方法及びデバイス判定を行なうためのコンピュ―タプログラムを記録した記録媒体
JP2003303162A (ja) デバイス制御装置、デバイス制御システム、デバイス制御方法及びデバイス制御を行なうためのコンピュータプログラムを記録した記録媒体
JP4415594B2 (ja) サーバ装置、サーバ装置用プログラムおよびサーバ装置の情報処理方法
JP2004288055A (ja) サービス処理システム、サービス処理方法及びサービス処理プログラム
JP4710408B2 (ja) コンテンツを提供する方法、情報提供システム及び情報提供プログラム
JP2007081771A (ja) ジョブ処理装置およびジョブ依頼装置
JP5108571B2 (ja) 機器、データ転送システム、データ転送方法、プログラムおよび記録媒体
JP5157794B2 (ja) 通信端末およびプログラム
JP2010129094A (ja) リモート画像処理ジョブおよび画像処理装置を第三者が管理制御するための方法およびシステム
JP2000293332A (ja) 情報処理装置および情報処理方法
JP2005078227A (ja) 文書管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090806