JP2004326776A - 分散型周辺デバイス制御システムおよび方法 - Google Patents

分散型周辺デバイス制御システムおよび方法 Download PDF

Info

Publication number
JP2004326776A
JP2004326776A JP2004122348A JP2004122348A JP2004326776A JP 2004326776 A JP2004326776 A JP 2004326776A JP 2004122348 A JP2004122348 A JP 2004122348A JP 2004122348 A JP2004122348 A JP 2004122348A JP 2004326776 A JP2004326776 A JP 2004326776A
Authority
JP
Japan
Prior art keywords
server
peripheral device
information
peripheral
dependent data
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
JP2004122348A
Other languages
English (en)
Inventor
Michio Wise
ワイズ ミチオ
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Publication of JP2004326776A publication Critical patent/JP2004326776A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract


【課題】 ユーザが、プリンタのそれぞれについてクライアントまたはサーバを設定する必要なしに、その場に応じたプリンタを用いることを可能にする分散型印刷システムを提供すること。
【解決手段】 本発明の分散型周辺デバイス制御方法は、周辺デバイスにリクエストするステップと、デバイス識別情報を情報デバイスと通信するサーバに送信するステップと、デバイスドライバをデバイス識別情報に応じて選択するステップと、デバイス依存データを生成するステップとを包含し、仮想ポートを選択されたデバイスドライバと関連付けるステップと、デバイス依存データを仮想ポートに送信し、その後、周辺デバイスが指定したタスクを行うことを可能にするように、情報デバイスを介して周辺デバイスに伝送する、ステップとによって特徴付けられる。
【選択図】 図3

Description

本発明は、分散型周辺デバイス制御システムおよび方法に関する。
ドキュメントを印刷する機能を有するデバイスは、通常、以下の情報およびソフトウェアへのアクセスを必要とする。このような情報およびソフトウェアとして、(a)ドキュメントデータ、(b)ドキュメントを表現するために必要となるフォント等の他のデータと共に、ドキュメントをロードおよび処理することができるアプリケーションソフトウェア、(c)表示可能な形式で出力を生成するためにアプリケーションソフトウェアによって用いられる、オペレーティングシステムのグラフィカルおよび印刷ソフトウェア、(d)所与のタイプ(メーカーおよび型)のプリンタに適した出力を生成するために印刷システムが用いるソフトウェアモジュールであるデバイスドライバがある。ここでそれぞれのタイプのプリンタは、異なるデバイスドライバを必要とし得る。
これらのプログラムおよびデータは、通常、多量のコンピュータメモリおよびディスクスペースを消費し、ドキュメントの印刷の準備は、かなりの量の処理を必要とし得る。
代表的なモバイル情報デバイス、例えば、PDA(携帯情報端末)または携帯電話は、リソースおよび処理速度の点において、デスクトップマシンと比較するとかなり制限されており、従って、多くのドキュメントタイプの完全な印刷機能をローカルでサポートすることができない。さらに、IrDA、ブルートゥース(Bluetooth)、およびワイヤレスLANなどのワイヤレス接続技術の利用可能性が増大するにつれて、モバイルデバイスのユーザはより広い範囲のプリンタからその場に応じたプリンタにアクセスするようになる可能性がある。
ハンドヘルドPDAは、通常、一般的な「大多数の人々に受け入れられている」プリンタドライバを利用し、ドキュメントビューアアプリケーションおよびシステムソフトウェアを制限することによって、ドキュメント処理性能および印刷性能を縮小している。より小型のデバイス(携帯電話など)は、通常、印刷能力もドキュメント処理能力も全く有していない。
図1は、パーソナルコンピュータ(PC)2からローカル接続されたプリンタ12までの代表的な印刷のための構成を示す。図1に示す装置を利用する代表的な印刷処理についての以下の説明は、Microsoft(R)Windows(R)オペレーティングシステムに基づいている。
アプリケーションプログラム4は、オペレーティングシステムに対して、グラフカルデバイスインターフェース(GDI)コマンドとして公知のグラフィカルコマンドを発する。完全なページを表現するために十分なGDIコマンドをオペレーティングシステム6が受信するとき、そのデータは、デバイスドライバインターフェース(DDI)コマンドに変換され、デバイスドライバ8に送信される。デバイスドライバ8は、これらのDDIコマンドをローデバイスコマンド(プリンタコマンド)に変換する。そのローデバイスコマンド(プリンタコマンド)は、オペレーティングシステム6に戻され、オペレーティングシステム6は、そのデータを、印刷のために、プリンタポート10を介してプリンタ12へ送信する。
この構成では、印刷のために必要とされるソフトウェアは、全てPC2に配置される。印刷を開始する前に、このシステムでは、PC2に取り付けられた特定のプリンタ12のためのデバイスドライバ8をインストールし、プリンタ12が接続されたプリンタポート10を設定することによってセットアップする必要がある。
図2は、ネットワーク上のPC2から、ネットワーク上のサーバ14に接続されたプリンタ12までの印刷のための構成を示す。この構成により、PC2が、ネットワーク上のサーバに接続された複数のプリンタのいずれか1つから印刷することが可能になる。「Point−and−print in a distributed environment」という名称の特許文献1は、この構成を用いたシステムについて記載している。
図2の構成は、図1を参照して記載された構成と2つの主な点で異なる。第1の点は、デバイスドライバ8は、最初はサーバ14に格納され、クライアント(すなわち、PC2)が要求するときにのみ、サーバ14のオペレーティングシステム16によってネットワークを介して伝送されることである。第2の点は、デバイスドライバ8によって出力されたローデバイスコマンド(プリンタコマンド)は、ネットワークを介してサーバ14に伝送され、サーバ14は、プリンタ12に接続されたプリンタポート10を介してコマンドを送信することである。
「Providing local printing on a thin client」という名称の特許文献2は、ローカル接続されたプリンタから印刷するが、処理の大部分をサーバに配置されたリソースを利用して行うシステムについて記載する。クライアント上で実行するアプリケーションソフトウェアは、グラフィカルコマンドをクライアントオペレーティングシステムに発する。そのコマンドは、ロー印刷データを生成するためにローカルデバイスドライバを呼び出すことなく、デバイス独立印刷ファイルに変換される。その後、そのデバイス独立データは、ネットワークを介してサーバに送信され、サーバは、サーバ上に配置されるデバイスドライバを用いて、そのデバイス独立データをデバイス依存データに変換する。そのデバイス依存データは、その後、サーバからプリンタまでクライアントを介して伝送される。クライアント上で印刷データをローカルスプールすることは、サーバからクライアントまでのデバイス依存データの流れを制御することによって、回避される。プリンタは、アプリケーションを実行しているクライアント以外のクライアントに接続され得る。その場に応じてプリンタを設定する方法は、特許文献2には記載されていない。サーバ(またはネットワーク上の他のサーバ)が、所与のプリンタ用のドライバで設定されていることが想定されている。
「Printer driver system for remote printing」という名称の特許文献3は、印刷ジョブがサーバ上で処理されるシステムについて記載する。このシステムでは、サーバ上にインストールされた「ユニバーサル」プリンタドライバを利用して、ユニバーサル印刷ファイルを生成する。このファイルは、プリンタに直接送信され得る標準的なタイプのファイルである。
特許文献4、特許文献5、特許文献6、特許文献7、および特許文献8は、それぞれ、情報デバイスとその情報デバイスと通信する周辺デバイスとの間のインタラクションを制御する分散型周辺デバイス制御方法について開示していると考えられる。この方法は、特定のタスクを実行するように周辺デバイスにリクエストするステップと、周辺デバイスを識別するデバイス識別情報を情報デバイスと通信するサーバに送信するステップであって、このサーバは、少なくとも1つの周辺デバイスドライバへのアクセスを有する、ステップと、デバイス識別情報に応じて周辺デバイスに対応するデバイスドライバを選択するステップと、情報デバイスの代わりに、このサーバに、選択されたデバイスドライバを用いてタスクの実行に関する周辺デバイス依存処理動作を行わせて、デバイス依存データを生成するステップとを含む。
特許文献9は、モバイルコンピュータデバイス、スキャナまたはマルチファンクションプリンタならびにサーバを含むシステムについて開示する。スキャナは、紙のドキュメントをスキャンし、サーバに送信される電子ドキュメントにする。サーバは、デバイス独立処理を必要としない。サーバは、モバイルコンピュータデバイスが電子ドキュメントを取り込む前の一時的な記憶装置として機能する。モバイルコンピュータデバイスは、スキャナとサーバとの間のゲートウェイとして機能していない。
米国特許第5,699,495号明細書 米国特許第6,201,611号明細書 米国特許出願公開第2002/0018234号明細書 欧州特許出願公開第1291786号明細書 英国特許出願公開第2365599号明細書 国際公開第01/042894号パンフレット 国際公開第02/041107号パンフレット 特開2003−114773号 米国特許出願公開第2002/0196478号明細書
したがって、ユーザが、プリンタのそれぞれについてクライアントまたはサーバを設定する必要なしに、その場に応じてプリンタを用いることが要望されている。
本発明の第1の局面によると、情報デバイスと情報デバイスと通信する周辺デバイスとの間のインタラクションを制御する分散型周辺デバイス制御方法であって、指定したタスクを行うように周辺デバイスにリクエストするステップと、周辺デバイスを識別するデバイス識別情報を、情報デバイスと通信するサーバに送信するステップであって、サーバは少なくとも1つの周辺デバイスドライバへのアクセスを有する、ステップと、周辺デバイスに対応するデバイスドライバを、デバイス識別情報に応じて選択するステップと、情報デバイスの代わりに、サーバに、選択されたデバイスドライバを用いてタスクの実行に関する周辺デバイス依存処理動作を行わせて、デバイス依存データを生成するステップとを包含し、サーバにおける仮想ポートを、サーバと情報デバイスとの間の通信リンクの一部を形成するように確立し、仮想ポートを選択されたデバイスドライバと関連付けるステップと、デバイス依存データを、仮想ポートに送信し、その後、周辺デバイスが指定したタスクを行うことを可能にするように、情報デバイスを介して周辺デバイスに伝送する、ステップとによって特徴付けられる、分散型周辺デバイス制御方法が提供される。
仮想ポートは、サーバのオペレーティングシステムにとって、周辺デバイスが取り付けられた物理ポートに対するインターフェースであるように見えるように確立され、選択されたデバイスドライバと関連付けられてもよいが、仮想ポートに送信された任意のデータは、周辺デバイスに直接送信されるのではなく、通信リンクを介して情報デバイスに転送される。
サーバが複数のアプリケーションへのアクセスを有してもよく、上記方法は、行われるべき指定したタスクに応じてアプリケーションを選択するステップをさらに包含してもよく、デバイス依存処理動作は、選択されたアプリケーションの制御の下で、選択されたデバイスドライバとのインタラクションにおいて行われてもよい。アプリケーションは、デバイス独立処理動作を行う必要はない。
サーバは、デバイス独立処理動作を行う複数のアプリケーションへのアクセスを有してもよく、上記方法は、アプリケーションを選択するステップと、情報デバイスの代わりに、サーバに、選択されたアプリケーションを用いてデバイス独立処理動作を行わせるステップとを包含してもよい。アプリケーションは、行われるべき指定したタスクに応じて選択されてもよい。
上記方法は、デバイス依存データを、サーバにおいてバッファリングして、データが情報デバイスに送信される速度を制御するステップをさらに包含してもよい。デバイス依存データのサーバにおけるバッファリングを、周辺デバイスから受信した、周辺デバイスの状態を示す制御信号に応じて制御してもよい。デバイス依存データのサーバにおけるバッファリングを、情報デバイスにおいてデバイス依存データをバッファリングするために用いられるメモリの充満度に応じて制御してもよい。
上記方法は、デバイス依存データを、情報デバイスにおいてバッファリングして、データが周辺デバイスに送信される速度を制御するステップをさらに包含してもよい。
情報デバイスは、指定したタスクを行うために必要とされる全てのデバイス依存データをサーバから受信する前に、デバイス依存データを周辺デバイスに送信し始めることが好ましい。
上記方法は、デバイス依存データをサーバにおいて圧縮するステップと、デバイス依存データを情報デバイスにおいて解凍するステップとをさらに包含してもよい。
上記方法は、デバイス依存データを、周辺デバイスに送信する前に、情報デバイスにおいて処理するステップをさらに包含してもよい。従って、周辺デバイスに送信されたデバイス依存データは、情報デバイスにおいて受信されるデバイス依存データと同一でなくてもよい。
周辺デバイスは、出力デバイスを含んでもよい。
周辺デバイスはプリンタであってもよく、この場合、指定したタスクは、選択されたドキュメントを印刷する印刷動作を行うことであってもよく、デバイス依存データは、プリンタコマンドであってもよい。上記方法は、選択されたドキュメントを情報デバイスからサーバに送信するステップをさらに包含してもよいし、選択されたドキュメントをドキュメントサーバから取り出すステップをさらに包含してもよい。ドキュメントサーバは、サーバにとってアクセス可能な別個のデバイスに位置してもよい。アプリケーションは、ドキュメントのタイプを調べることによって、例えば、ドキュメントのファイル名拡張子を調べることによって選択されてもよい。
周辺デバイスは、入力デバイスを含んでもよい。この場合、上記方法は、デバイス依存データを生成するために周辺デバイスにおいて指定したタスクを行うステップと、その後サーバに伝送するためにデバイス依存データを情報デバイスに送信するステップとをさらに包含してもよい。サーバにおいて行われたデバイス依存処理動作は、選択されたアプリケーションによって用いられるデバイス独立データを生成するために、デバイス依存データを処理する動作であってもよい。アプリケーションは、周辺デバイスにおいて行われるべき指定したタスクに応じて選択されてもよい。デバイス依存データが情報デバイスに送信される速度は、情報デバイスから受信した、情報デバイスの状態を示す制御信号に応じて制御されてもよい。デバイス依存データが情報デバイスに送信される速度は、情報デバイスにおいてデバイス依存データをバッファリングするために用いられるメモリの充満度に応じて制御されてもよい。上記方法は、デバイス依存データを、情報デバイスにおいてバッファリングして、データがサーバに送信される速度を制御するステップをさらに包含してもよい。上記方法は、デバイス依存データを情報デバイスにおいて圧縮するステップと、デバイス依存データをサーバにおいて解凍するステップとをさらに包含してもよい。上記方法は、デバイス依存データを、サーバに送信する前に、情報デバイスにおいて処理するステップをさらに包含してもよい。
入力デバイスはスキャナであってもよく、指定したタスクは、ドキュメントをスキャンするためのスキャン動作を行うことであってもよく、デバイス依存データは、指定したタスクを行うようにスキャナを制御するスキャナコマンドであってもよい。
本発明の第2の局面によると、情報デバイスと情報デバイスと通信する周辺デバイスとの間のインタラクションを制御する分散型周辺デバイス制御方法であって、指定したタスクを行うように周辺デバイスにリクエストして、デバイス依存データを生成するステップと、周辺デバイスを識別するデバイス識別情報を、情報デバイスと通信するサーバに送信するステップであって、サーバは少なくとも1つの周辺デバイスドライバへのアクセスを有する、ステップと、周辺デバイスに対応するデバイスドライバを、デバイス識別情報に応じて選択するステップとを包含し、サーバにおける仮想ポートを、サーバと情報デバイスとの間の通信リンクの一部を形成するように確立し、仮想ポートを選択されたデバイスドライバと関連付けるステップと、デバイス依存データを、周辺デバイスから、情報デバイスを介してサーバに送信し、仮想ポートにおいて受信するステップと、情報デバイスの代わりに、サーバに、選択されたデバイスドライバを用いて仮想ポートにおいて受信されたデバイス依存データについて、周辺デバイス依存処理動作を行わせるステップとによって特徴付けられる、分散型周辺デバイス制御方法が提供される。
仮想ポートは、仮想ポートにおいて受信した任意のデータが周辺デバイスから発生したように見えるように、サーバのオペレーティングシステムにとって、周辺デバイスが取り付けられた物理ポートに対するインターフェースであるように見えるように確立され、選択されたデバイスドライバと関連付けられてもよい。
前記サーバが複数のアプリケーションへのアクセスを有してもよく、上記方法は周辺デバイスにおいて行われた指定したタスクに応じてアプリケーションを選択するステップをさらに包含してもよく、デバイス依存処理動作は、選択されたアプリケーションの制御の下で、選択されたデバイスドライバとのインタラクションにおいて行われてもよい。アプリケーションは、デバイス独立処理動作を行う必要はない。
サーバは、デバイス独立処理動作を行う複数のアプリケーションへのアクセスを有してもよく、上記方法は、アプリケーションを選択するステップと、情報デバイスの代わりに、サーバに、選択されたアプリケーションを用いてデバイス独立処理動作を行わせるステップとを包含してもよい。
サーバにおいて行われたデバイス依存処理動作は、選択されたアプリケーションによって用いられるデバイス独立データを生成するために、デバイス依存データを処理する動作であってもよい。
周辺デバイスは、デバイス依存データを生成するための入力デバイスを含んでもよい。
入力デバイスはスキャナであり、指定したタスクは、ドキュメントをスキャンするためのスキャン動作を行うことであってもよい。
第1および第2の局面において、通信リンクは第1の通信リンクであってもよく、情報デバイスは第2の通信リンクを介して周辺デバイスと通信してもよく、上記方法は、第2の通信リンクの一部を形成するように仮想ポートを情報デバイスにおいて作成するステップをさらに包含してもよい。
通信リンクは第1の通信リンクであってもよく、情報デバイスは第2の通信リンクを介して周辺デバイスと通信してもよく、上記方法は、第1の通信リンクの一部を形成するように仮想ポートを情報デバイスにおいて作成するステップをさらに包含してもよい。
上記方法は、デバイス識別情報を周辺デバイスからプラグアンドプレイ仕様によって取得するステップをさらに包含してもよい。複数の周辺デバイスドライバのうちの少なくとも1つは、サーバに位置してもよい。複数の周辺デバイスドライバのうちの少なくとも1つは、サーバによってアクセス可能な別個のデバイスドライバに位置してもよい。ステップは、情報デバイスによって制御されてもよい。単数または複数の仮想ポートは、情報デバイスの制御の下で確立されてもよい。上記方法は、情報デバイスにおいて周辺デバイス独立処理動作を行うステップをさらに包含してもよい。
サーバは複数の周辺デバイスドライバへのアクセスを有してもよい。
第1および第2の通信リンクは、ワイヤレスリンク、例えば、Bluetooth、IrDA、またはWiFiリンクであってもよい。これらは、IEEE802.11規格に準拠し得る。
あるいは、第1および第2の通信リンクは、物理リンク、例えば、USBまたはシリアルケーブルリンクであってもよい。
第1および第2の通信リンクは、電気通信リンク、例えば、モバイル電気通信および/またはインターネットリンクであってもよい。
情報デバイスは、リソースが限られた情報デバイスであってよく、また、携帯情報デバイス、例えば、携帯情報端末または携帯電話であってもよい。
本発明の第3の局面によると、分散型周辺デバイス制御システムであって、システムは、システムの情報デバイスと情報デバイスと通信するシステムの周辺デバイスとの間のインタラクションを制御し、指定したタスクを行うように周辺デバイスにリクエストする手段と、周辺デバイスを識別するデバイス識別情報を、情報デバイスと通信するサーバに送信する手段であって、サーバは少なくとも1つの周辺デバイスドライバへのアクセスを有する、手段と、周辺デバイスに対応するデバイスドライバを、デバイス識別情報に応じて選択する手段と、情報デバイスの代わりに、サーバに、選択されたデバイスドライバを用いてタスクの実行に関する周辺デバイス依存処理動作を行わせて、デバイス依存データを生成する手段とを備え、サーバにおける仮想ポートを、サーバと情報デバイスとの間の通信リンクの一部を形成するように確立し、選択されたデバイスドライバを仮想ポートと関連付ける手段と、デバイス依存データを、仮想ポートに送信し、その後、周辺デバイスが指定したタスクを行うことを可能にするように、情報デバイスを介して周辺デバイスに伝送する、手段とによって特徴付けられる、分散型周辺デバイス制御システムが提供される。
本発明の第4の局面によると、分散型周辺デバイス制御システムであって、システムは、システムの情報デバイスと情報デバイスと通信するシステムの周辺デバイスとの間のインタラクションを制御し、指定したタスクを行うように周辺デバイスにリクエストして、デバイス依存データを生成する手段と、周辺デバイスを識別するデバイス識別情報を、情報デバイスと通信するサーバに送信する手段であって、サーバは少なくとも1つの周辺デバイスドライバへのアクセスを有する、手段と、周辺デバイスに対応するデバイスドライバを、デバイス識別情報に応じて選択する手段とを備え、サーバにおける仮想ポートを、サーバと情報デバイスとの間の通信リンクの一部を形成するように確立し、選択されたデバイスドライバを仮想ポートと関連付ける手段と、デバイス依存データを、周辺デバイスから、情報デバイスを介してサーバに送信し、仮想ポートにおいて受信する手段と、情報デバイスの代わりに、サーバに、選択されたデバイスドライバを用いて仮想ポートにおいて受信されたデバイス依存データについて、周辺デバイス依存処理動作を行わせる手段とによって特徴付けられる、分散型周辺デバイス制御システムが提供される。
本発明の第5の局面によると、本発明の第1および第2の局面による方法を行うように、情報処理デバイスまたは分散型周辺デバイス制御システムを制御するオペレーティングプログラムが提供される。オペレーティングプログラムは、キャリアー媒体、例えば、伝送媒体または格納媒体に担持されてもよい。
本発明の第6の局面によると、本発明の第1および第2の局面による方法における使用に適合された情報処理装置が提供される。
本発明の第7の局面によると、本発明の第1および第2の局面による方法における使用に適合されたサーバが提供される。
本発明によれば、ユーザが、プリンタのそれぞれについてクライアントまたはサーバを設定する必要なしに、その場に応じたプリンタを用いることを可能にする分散型印刷システムを提供することができる。
例示のために添付の図面を参考にしながら、説明される。
図3は、本発明の一実施形態による分散型印刷システムのブロック図である。分散型印刷システムは、PDA20と、プリンタ28と、サーバ30とを含む。PDA20は、プリンタ28およびサーバ30と通信する。PDA20は、印刷サービスクライアント22と、プリンタコントローラ24と、ポートエミュレータ26とを含む。印刷サービスクライアント22は、ポートエミュレータ26およびプリンタコントローラ24と通信し、ポートエミュレータ26およびプリンタコントローラ24は、互いに直接通信する。サーバ30は、ドキュメントサーバ32、ドライバデータベース34、仮想プリンタポート38、プリンタドライバ40およびアプリケーションプログラム42と通信するドキュメント印刷サービス36を含む。仮想プリンタポート38、プリンタドライバ40およびアプリケーションプログラム42は、サーバ30のオペレーティングシステム44と通信する。
次に、図3に示す分散型印刷システムの動作を、図4のフローチャートを参照しながら説明する。
PDA20上のクライアントソフトウェア22は、通信ポートを介してプリンタ28との接続を確立する(ステップS1)。この実施形態において、通信ポートは、ポートエミュレータ26によって提供される。ポートエミュレータ26は、BluetoothまたはIrDAのようなワイヤレスリンクを介してデータを送受信する。クライアントPDA20は、その後、ネットワークを介してサーバ30のドキュメント印刷サービス36への接続を確立する(ステップS2)。
クライアントソフトウェア22は、プリンタ28のタイプ(例えば、メーカーおよび型)についての情報を取得する(ステップS3)。例えば、プラグアンドプレイ外部COMデバイス仕様は、シリアル通信ポートによって接続された周辺デバイスの自動設定を行うメカニズムを示す。パラレルポートおよび他のタイプの接続のための同様の仕様がある。パーソナルコンピュータと共に用いられるように設計されたプリンタの大部分は、プラグアンドプレイ仕様に準拠し、周辺デバイスのタイプの自動識別を可能にする。
その後、PDA20は、プリンタ28のプリンタタイプについての情報をサーバ30に送信する(ステップS4)。サーバ30は、プリンタタイプ情報を用いて、ドライバデータベース34において必要とされるプリンタドライバを検索する。(ステップS5)。ドライバデータベース34は、プリンタ28に適合するデバイスドライバを提供すると想定される。PDA20は、リクエストされたドキュメントのための印刷リクエストをサーバ30に送信する(ステップS6)。
その後、サーバ30は、仮想プリンタポート38を作成する。仮想通信ポートは、オペレーティングシステム44にとって、物理的通信ポートへのインターフェースとして見えるソフトウェアコンポーネントである。ポートに書き込まれるか、またはポートから読み出される任意のデータは、物理ポートに取り付けられたデバイスではなく、他の何らかのプロセスに送信されるか、またはそのようなプロセスから受信される。この場合、仮想プリンタポート38に書き込まれたデータは、ネットワークを介してPDA20へと送信され、PDA20からポートエミュレータ26を介してプリンタ28に送信される。
オペレーティングシステムについての文脈において、「プリンタ」は、概して、図3のプリンタドライバ40のようなデバイスドライバと、図3の仮想プリンタポート38のような通信ポートとの間の関連で見られる。印刷システムを設定する正確なプロセスは、サーバのオペレーティングシステムに依存する。Windows(R)オペレーティングシステムの場合、プリンタは、ポートおよびデバイスドライバを、印刷プロセッサおよびポートモニタとともに指定することによって設定される。このようにして、システムは、以前に選択されたデバイスドライバおよび仮想プリンタポートを用いて行われるように設定され得る。
セットアップを完了するために、クライアントPDA20は、プリンタコントローラ24を作成し、プリンタコントローラ24は、仮想プリンタポート38とポートエミュレータ26との間のデータの流れを制御する。
サーバ30は、リクエストされたドキュメントをドキュメントサーバ32およびそのドキュメントに関連するアプリケーションから取り出す(ステップS7)。システムは、ドキュメントを正確なアプリケーションと関連付けることが可能であると想定される。例えば、Windows(R)オペレーティングシステムにおいて、その関連付けは、ファイル名拡張子の使用によって決定される。あるいは、ユーザは、クライアントインターフェースを用いて、アプリケーションを明示的に指定してもよい。
ドキュメント印刷サービス36によって以前に作成されたプリンタからドキュメントを印刷するようにアプリケーション42を実行し、命令する。このことを行うことができる態様は、オペレーティングシステムおよびアプリケーションに依存する。代表的には、アプリケーション42を実行し、ドキュメントは、アプリケーション、ドキュメントのファイルパス、およびプリンタ名をコマンドラインにおけるパラメータとして指定することによって印刷される。Windows(R)オペレーティングシステムの下で、シェルプリントコマンドは、しばしば、ドキュメントタイプと関連付けられる。このような場合、プリンタをシステムのデフォルトのプリンタとして設定し、その後、そのドキュメントのためのシェル印刷コマンドを実行するだけで十分である。
ドキュメントを印刷するとき、アプリケーションは、グラフィカルデバイスインターフェース(GDI)コマンドを、オペレーティングシステムのグラフィックスAPI(アプリケーションプログラムインターフェース)に対して発する。オペレーティングシステム44は、グラフィックスAPIに対する呼をデバイスドライバインターフェース(DDI)呼に変換する。DDI呼は、印刷システムによって、デバイス(プリンタ)ドライバ40に送信されて、デバイス特有のロー印刷コマンドが生成される(ステップS8)。
印刷システムは、デバイス特有プリンタコマンドを仮想プリンタポート38に書き込み、その後、仮想プリンタポート38は、ネットワークを介してデータをPDA20上のプリンタコントローラ24に送信する(ステップS9)。プリンタコントローラ20は、サーバ30から受信したプリントデータを、ポートエミュレータ26を介してプリンタ28に伝送する(ステップS10)。
まとめると、本実施形態による分散型印刷システムの動作は、(a)所与のプリンタにとって適切なデバイスドライバを自動的に識別し、ロードするプロセスと、(b)サーバの印刷システムからの出力を、モバイルデバイスを介してプリンタに伝送するプロセスと、(c)サーバ上のソフトウェアアプリケーションを使用して、印刷するドキュメントを処理するプロセスと、(d)アプリケーションからの出力をさらに処理してプリンタ特有データを生成し、プロセス(b)によってデータをプリンタに伝送させるように、(a)によって得られたデバイスドライバを用いて、サーバ印刷システムを自動設定するプロセスと、(e)モバイルデバイスからの上記のプロセスを制御するプロセスとを含む。
仮想プリンタポート38がデータを受信する速度は、プリンタ28にデータを送信できる速度より速い可能性が高い。クライアントPDA20上でのバッファリングに必要なメモリ量を最小限にするため、プリンタコントローラ24は、印刷データがサーバ側30にバッファリングされるように仮想プリンタポート38を遠隔制御し得る。
この実施形態において示されているドライバデータベース34はサーバ30に位置しているように示されているが、ドライバデータベース34を、大規模で定期的に更新されるデータベースを提供するプリンタドライバの集中型ウェブサービスに配置することも可能である。集中型ウェブサービスにおけるこのようなドライバデータベース34は、ドキュメント印刷サービス36によってアクセスされ、かつダウンロードされ得、システムが多用な種類のプリンタをサポートすることを可能にする。ダウンロードされると、頻繁に用いられるドライバは、サーバ30によってローカルにキャッシュされてもよい。
本発明を具現化する分散型印刷システムは、ユーザが、プリンタのそれぞれについてクライアントまたはサーバを設定する必要なしに、その場に応じたプリンタを用いることを可能にする。システムは、サーバオペレーティングシステムに利用可能なドライバがある、任意のプリンタに対して機能し得る。赤外線ポート、Bluetooth接続、またはワイヤレスLAN接続は、PDAからのワイヤレス接続を可能にし得る。
サポートするために必要なアプリケーション、フォント、プリンタドライバ、およびオペレーティングシステムコンポーネント(グラフィックスおよび印刷サブシステム)は、PDAではなく、サーバに位置する。このことによって、PDAの負担を最小化するだけでなく、ドキュメントを標準フォーマットに変換するという妥協が避けられる。
分散型印刷システムは、プリンタを識別し、ドライバデータベースを用いて適切なデバイスドライバをロードする。これによって、「ユニバーサル」プリンタドライバを用いるという妥協が避けられる。上述したように、用いられ得る全てのプリンタドライバでのサーバへの負荷を避けるため、ドライバデータベースは、別個のシステム、例えば、ウェブサービスに存在してもよく、複数のサーバの間で共有され、例えば、分散されてもよい。
サーバ30からPDA20に送信されたデータは、既にプリンタコマンドで表現されている。これは、以下のような技術的な利点を有する。PDA20上でプリントデータの処理は行われず、プリンタ28に送信されるデータのみがPDA20を通過する。これによって、PDA20により行われる必要がある処理が低減する。データは、サーバ30からPDA20へと、ストリーミングされ、これにより、PDA20上の記憶装置が節約され、全てのデータを受信する前に印刷を開始することによって時間が節約される。一方、予め表現された印刷データは、ソースドキュメントほど圧縮されていないかもしれない。しかし、印刷データをサーバ30で圧縮し、クライアントPDA20上で解凍することができる。
このシステムは、プリンタ28との双方向通信をサポートし得る。例えば、プリンタ28が紙切れの場合、プリンタコントローラ24は、それについての通知を受信し得る。この問題に応答して、クライアントは、ユーザに通知し、仮想プリンタポート38からの印刷データの伝送をプリンタ28の準備ができるまで一時停止するようにサーバ30に命令し得る。
サーバのオペレーティングシステムを調節する必要はない。本発明を具現化した分散型印刷システムは、標準的なオペレーティングシステムの機能およびコンポーネントを利用することができる。プリンタ28はネットワークまたはインターネットに接続される必要もない。
本発明を具現化した分散型印刷システムは、ドキュメントデータ、アプリケーションソフトウェア、完全なグラフィカル印刷システム、フォントおよびプリンタドライバがモバイルデバイスにインストールされていなくても、リソースが限られたモバイル情報デバイスのユーザが、ドキュメントを近くのプリンタで印刷することを可能にする。このようにして、リソースが限られた情報デバイスの負荷が低減される。
このシステムは、遠隔サーバ上に位置するソフトウェアおよびデータを用いて、ドキュメントの印刷に必要な格納および処理の大部分が行われる。サーバ上で実行されるアプリケーションおよびシステムソフトウェアを用いて、デスクトップPCと同程度のドキュメント表現機能をシステムに提供する。モバイルデバイスの役割は、ユーザインターフェースを提供し、サーバと周辺デバイスとの間でデータを伝送し、そのプロセスを制御することに限られる。
このシステムでは、モバイル情報デバイス(上記の実施形態においてはPDAであるが、十分な機能を有するモバイル情報デバイスであれば任意のものでもよい)が近くのプリンタと通信することが必要になる。PDAとプリンタとの間の通信は、ワイヤレスリンク(例えば、上記の実施形態に関連して記載されたIrDAまたはBluetooth)を介して、エミュレートされたシリアルポート接続によって行われてもよい。あるいは、接続は、実在のパラレルまたはシリアルプリンタケーブル、USB、またはLAN、あるいは、他の任意の適切なリンクであってもよい。
PDAはまた、ネットワークを介する遠隔サーバへの接続を必要とする。この接続は、LAN、WAN、インターネット、または電話網、あるいは、任意の他の適切な通信リンク、例えば、モバイル電気通信リンクを介する接続であってもよい。
このサーバは、印刷のために選択されたドキュメントへのアクセスを必要とする。本発明の実施形態は、印刷のためにドキュメントをブラウズし、選択する方法にかかわるものではなく、ドキュメントが印刷のために既に選択されており、何らかの形でサーバにアクセス可能であると想定されている。上記の実施形態において、ドキュメントデータは、PDA20からサーバ30に送信され、サーバ30上に格納される。あるいは、ドキュメントは、他のマシン上のドキュメントサーバから取得されるか、またはURL(またはドキュメントを位置付けするために用いられる任意の他のタイプのドキュメントリファレンス)を用いてアクセスされて、サーバにダウンロードされてもよい。従って、ドキュメントサーバは、ウェブサーバであってもよいし(ここでドキュメントが、ウェブページであってもよく、あるいはウェブページからリンクされたファイルであってもよい)、ピアトゥーピアファイル共有サーバであってもよいし、リクエストに応じてドキュメントを提供することができる任意の他のタイプのサーバであってもよい。
上記の実施形態において、このシステムは、PDAで実行されるクライアントソフトウェアと共にサーバ上で実行されるソフトウェアサービス(印刷サービスと呼ばれる)によって、インプリメントされる。
上記の実施形態についての文脈においては、「リソースが限られた」という用語は、従来の印刷処理タスクに対して処理速度および/またはリソース、例えば、メモリ/格納リソースが不十分であり、従って、印刷処理タスクの実行に時間がかかりすぎるか、デバイス上で利用可能メモリよりも多くのメモリが必要となる可能性があることを意味する。本発明の実施形態は、このようなリソースが限られたデバイスにとって、デバイスの負荷が低減されるので、特に有用である。しかし、本発明を具現化したシステムは、このようなリソースが限られた情報デバイスでなくても、他の何らかの理由により、処理をデバイスから離れて行うことが必要であるか、または好ましい場合にも有用であることが理解される。例えば、本発明の実施形態は、デバイスにおいて適切なドライバが利用できないために情報デバイスが周辺デバイスを直接制御できない場合、または、(恐らくはセキュリティ上の理由から)ドライバのダウンロードおよびインストールが望ましくない場合に用いられ得る。
上記の記載は、周辺デバイスがプリンタである場合の実施形態についての記載であったが、説明した方法は、他のハードウェアを用いる場合も同様に適用可能である。ハードウェアの要件は、(a)デバイスが、シリアル、パラレル、USB、VGAおよびワイヤレス接続(BluetoothまたはIrDAなど)を含む標準I/Oポート接続を介して接続可能であることと、(b)サーバオペレーティングシステムに対するデバイスドライバがこのようなデバイスに入力および/または出力できるアプリケーションとともに利用可能であることとである。これには、周辺デバイスがプリンタ以外のグラフィックまたはテキスト出力デバイスである実施形態が含まれる。
さらなる実施形態は、周辺デバイスがスキャナ、カメラ、または他のグラフィカル入力デバイスである実施形態を含む。入力デバイスの場合において、デバイスからの出力は、処理および/または格納のために、周辺デバイスからサーバ上のドライバおよびアプリケーションに対して伝送される。
図5は、本発明の第2の実施形態による分散型スキャンシステムを示すブロック図である。分散型スキャンシステムは、PDA20’と、スキャナ28’と、サーバ30’とを含む。PDA20’は、スキャナ28’およびサーバ30’と通信する。PDA20’は、スキャンサービスクライアント22’と、スキャナコントローラ24’と、ポートエミュレータ26’とを含む。スキャンサービスクライアント22’は、ポートエミュレータ26’およびスキャナコントローラ24’と通信し、ポートエミュレータ26’およびスキャナコントローラ24’は、互いに直接通信する。サーバ30’は、ドキュメント格納部32’と、ドライバデータベース34’と、仮想スキャナポート38’ と、スキャナドライバ40’およびアプリケーションプログラム42’と通信するドキュメントスキャンサービス36’とを含む。仮想スキャナポート38’、スキャナドライバ40’およびアプリケーションプログラム42’は、サーバ30’のオペレーティングシステム44’と通信する。図5に示す分散型スキャンシステムの動作は、図3および図4を参照しながら説明した分散型印刷システムの動作に非常に類似しており、当業者であれば、(周辺デバイスが出力デバイスである)分散型印刷システムについての教示内容をどのように調節すれば(周辺デバイスが入力デバイスである)分散型スキャンシステムを実現できるか容易に理解する。図3および図5において、類似または対応する部材は、同じ参照符号が付けられるが、プライム符号によって区別される。例えば、図3のプリンタには参照符号28が付けられ、図5のスキャナには参照符号28’が付けられる。
上記の実施形態において、全てのデータ処理はサーバ上で行われるが、さらなる処理がモバイルデバイス上で行われるように適用されてもよい。これには、アプリケーションが、分散型アプリケーションである実施形態が含まれる。このアプリケーションは、PDA上で実行されるユーザインターフェースおよびデータ処理の大部分を行うサーバプログラムからなる。可能なクライアント側処理のさらなる例には、オリジナルのドキュメントからデータのより小さいセットを作成する(例えば、印刷のためにワードプロセッサドキュメントから1枚のページを選択する)ステップと、データベースまたはXMLドキュメントからのデータを表示可能なフォーマット、例えばHTMLにするステップと、グラフィカルフォーマットでデータを出力するアプリケーションプログラム(例えば、製図プログラム)と、ドキュメントがクライアントデバイス上で実行されるプログラムによって生成されるあらゆる場合とが含まれるが、これらに限定されない。
サーバ30/30’は複数のデバイスドライバを有するドライバデータベース34/34’へのアクセスを有すると上述したが、サーバ30/30’は、複数の周辺デバイス28/28’と共に用いられることに適した、1つの一般的なデバイスドライバへのアクセスを有していてもよいことが理解される。
モバイルデバイスと周辺デバイスとの間のインタラクションを制御するために、モバイルデバイスおよび分散型周辺デバイス制御システムの他の部材によって行われる動作は、ハードウェアにおいて、または、モバイルデバイスおよび分散型周辺デバイス制御システムの他の部材上で実行されるオペレーティングプログラムとしてインプリメントされ得る。オペレーティングプログラムは、コンピュータ読み出し可能媒体に格納されてもよいし、例えば、インターネットのウェブサイトから提供されるダウンロード可能なデータ信号のような信号として具現化されてもよい。添付の特許請求の範囲は、オペレーティングプログラム自体、あるいは、キャリアー上の記録もしくは信号としてのオペレーティングプログラム、または他の形態のオペレーティングプログラムを含むと解釈される。
図1は、パーソナルコンピュータからローカル接続されたプリンタまでの代表的な印刷のための構成を示す図である。 図2は、ネットワーク上のパーソナルコンピュータから、ネットワーク上のサーバに接続されたプリンタまでの印刷のための構成を示す図である。 図3は、本発明の第1の実施形態による分散型印刷システムを示すブロック図である。 図4は、図3に示す分散型印刷システムの動作を説明するために用いられるフローチャートである。 図5は、本発明の第2の実施形態による分散型印刷システムを示すブロック図である。
符号の説明
20 PDA
22 印刷サービスクライアント
24 プリンタコントローラ
26 ポートエミュレータ
28 プリンタ
30 サーバ
32 ドキュメントサーバ
34 ドライバデータベース
36 ドキュメント印刷サービス
38 仮想プリンタポート
40 プリンタドライバ
42 プリケーションプログラム
44 オペレーティングシステム

Claims (46)

  1. 情報デバイスと該情報デバイスと通信する周辺デバイスとの間のインタラクションを制御する分散型周辺デバイス制御方法であって、
    指定したタスクを行うように該周辺デバイスにリクエストするステップと、
    該周辺デバイスを識別するデバイス識別情報を、該情報デバイスと通信するサーバに送信するステップであって、該サーバは少なくとも1つの周辺デバイスドライバへのアクセスを有する、ステップと、
    該周辺デバイスに対応するデバイスドライバを、該デバイス識別情報に応じて選択するステップと、
    該情報デバイスの代わりに、該サーバに、該選択されたデバイスドライバを用いて該タスクの実行に関する周辺デバイス依存処理動作を行わせて、デバイス依存データを生成するステップと
    を包含し、
    該サーバにおけ仮想ポートを、該サーバと該情報デバイスとの間の通信リンクの一部を形成するように確立し、該仮想ポートを該選択されたデバイスドライバと関連付けるステップと、
    該デバイス依存データを、該仮想ポートに送信し、その後、該周辺デバイスが該指定したタスクを行うことを可能にするように、該情報デバイスを介して該周辺デバイスに伝送する、ステップとによって特徴付けられる、分散型周辺デバイス制御方法。
  2. 前記仮想ポートは、前記サーバのオペレーティングシステムにとって、前記周辺デバイスが取り付けられた物理ポートに対するインターフェースであるように見えるように確立され、前記選択されたデバイスドライバと関連付けられるが、前記仮想ポートに送信された任意のデータは、該周辺デバイスに直接送信されるのではなく、前記通信リンクを介して該情報デバイスに転送される、請求項1に記載の方法。
  3. 前記サーバが複数のアプリケーションへのアクセスを有し、行われるべき前記指定したタスクに応じてアプリケーションを選択するステップをさらに包含し、前記デバイス依存処理動作は、該選択されたアプリケーションの制御の下で、前記選択されたデバイスドライバとのインタラクションにおいて行われる、請求項1または2に記載の方法。
  4. 前記サーバは、デバイス独立処理動作を行う複数のアプリケーションへのアクセスを有し、アプリケーションを選択するステップと、前記情報デバイスの代わりに、該サーバに、該選択されたアプリケーションを用いて周辺デバイス独立動作を行わせるステップとを包含する、請求項1、2または3に記載の方法。
  5. 前記アプリケーションは、行われるべき前記指定したタスクに応じて選択される、請求項4に記載の方法。
  6. 前記デバイス依存データを、前記サーバにおいてバッファリングして、該データが前記情報デバイスに送信される速度を制御するステップをさらに包含する、請求項1〜5のいずれかに記載の方法。
  7. 前記デバイス依存データの前記サーバにおけるバッファリングを、前記周辺デバイスから受信した、該周辺デバイスの状態を示す制御信号に応じて制御する、請求項6に記載の方法。
  8. 前記デバイス依存データの前記サーバにおけるバッファリングを、前記情報デバイスにおいて該デバイス依存データをバッファリングするために用いられるメモリの充満度に応じて制御する、請求項6または7に記載の方法。
  9. 前記デバイス依存データを、前記情報デバイスにおいてバッファリングして、該データが前記周辺デバイスに送信される速度を制御するステップをさらに包含する、請求項1〜8のいずれかに記載の方法。
  10. 前記情報デバイスは、前記指定したタスクを行うために必要とされる全ての前記デバイス依存データを前記サーバから受信する前に、デバイス依存データを前記周辺デバイスに送信し始める、請求項1〜9のいずれかに記載の方法。
  11. 前記デバイス依存データをサーバにおいて圧縮するステップと、前記デバイス依存データを前記情報デバイスにおいて解凍するステップとをさらに包含する、請求項1〜10のいずれかに記載の方法。
  12. 前記デバイス依存データを、前記周辺デバイスに送信する前に、前記情報デバイスにおいて処理するステップをさらに包含する、請求項1〜11のいずれかに記載の方法。
  13. 前記周辺デバイスは、出力デバイスを含む、請求項1〜12のいずれかに記載の方法。
  14. 前記出力デバイスはプリンタであり、前記指定したタスクは、選択されたドキュメントを印刷する印刷動作を行うことであり、前記デバイス依存データは、プリンタコマンドである、請求項13に記載の方法。
  15. 前記選択されたドキュメントを前記情報デバイスから前記サーバに送信するステップをさらに包含する、請求項14に記載の方法。
  16. 前記選択されたドキュメントをドキュメントサーバから取り出すステップをさらに包含する、請求項14に記載の方法。
  17. 前記ドキュメントサーバは、前記サーバにとってアクセス可能な別個のデバイスに位置する、請求項16に記載の方法。
  18. 前記サーバが複数のアプリケーションへのアクセスを有し、行われるべき前記指定したタスクに応じてアプリケーションを選択するステップをさらに包含し、前記デバイス依存処理動作は、該選択されたアプリケーションの制御の下で、前記選択されたデバイスドライバとのインタラクションにおいて行われ、
    前記アプリケーションは、前記ドキュメントのタイプを調べることによって選択される、請求項14〜17のいずれかに記載の方法。
  19. 前記アプリケーションは、前記ドキュメントのファイル名拡張子を調べることによって選択される、請求項18に記載の方法。
  20. 前記周辺デバイスは、入力デバイスを含む、請求項1〜19のいずれかに記載の方法。
  21. 前記入力デバイスはスキャナであり、前記指定したタスクは、ドキュメントをスキャンするためのスキャン動作を行うことであり、前記デバイス依存データは、指定したタスクを行うように該スキャナを制御するスキャナコマンドである、請求項20に記載の方法。
  22. 情報デバイスと該情報デバイスと通信する周辺デバイスとの間のインタラクションを制御する分散型周辺デバイス制御方法であって、
    指定したタスクを行うように該周辺デバイスにリクエストして、デバイス依存データを生成するステップと、
    該周辺デバイスを識別するデバイス識別情報を、該情報デバイスと通信するサーバに送信するステップであって、該サーバは少なくとも1つの周辺デバイスドライバへのアクセスを有する、ステップと、
    該周辺デバイスに対応するデバイスドライバを、該デバイス識別情報に応じて選択するステップと
    を包含し、
    該サーバにおける仮想ポートを、該サーバと該情報デバイスとの間の通信リンクの一部を形成するように確立し、該仮想ポートを該選択されたデバイスドライバと関連付けるステップと、
    該デバイス依存データを、該周辺デバイスから、該情報デバイスを介して該サーバに送信し、該仮想ポートにおいて受信するステップと、
    該情報デバイスの代わりに、該サーバに、該選択されたデバイスドライバを用いて該仮想ポートにおいて受信された該デバイス依存データについて、周辺デバイス依存処理動作を行わせるステップとによって特徴付けられる、分散型周辺デバイス制御方法。
  23. 前記仮想ポートは、該仮想ポートにおいて受信した任意のデータが前記周辺デバイスから発生したように見えるように、前記サーバのオペレーティングシステムにとって、該周辺デバイスが取り付けられた物理ポートに対するインターフェースであるように見えるように確立され、前記選択されたデバイスドライバと関連付けられる、請求項22に記載の方法。
  24. 前記サーバが複数のアプリケーションへのアクセスを有し、前記周辺デバイスにおいて行われた前記指定したタスクに応じてアプリケーションを選択するステップをさらに包含し、前記デバイス依存処理動作は、該選択されたアプリケーションの制御の下で、前記選択されたデバイスドライバとのインタラクションにおいて行われる、請求項22または23に記載の方法。
  25. 前記サーバは、デバイス独立処理動作を行う複数のアプリケーションへのアクセスを有し、アプリケーションを選択するステップと、前記情報デバイスの代わりに、該サーバに、該選択されたアプリケーションを用いて周辺デバイス独立動作を行わせるステップとを包含する、請求項22、23または24に記載の方法。
  26. 前記サーバにおいて行われた前記デバイス依存処理動作は、前記選択されたアプリケーションによって用いられるデバイス独立データを生成するために、該デバイス依存データを処理する動作である、請求項24または25に記載の方法。
  27. 前記周辺デバイスは、前記デバイス依存データを生成するための入力デバイスを含む、請求項22〜26のいずれかに記載の方法。
  28. 前記入力デバイスはスキャナであり、前記指定したタスクは、ドキュメントをスキャンするためのスキャン動作を行うことである、請求項27に記載の方法。
  29. 前記通信リンクは第1の通信リンクであり、前記情報デバイスは第2の通信リンクを介して前記周辺デバイスと通信し、該第2の通信リンクの一部を形成するように仮想ポートを前記情報デバイスにおいて作成するステップをさらに包含する、請求項1〜28のいずれかに記載の方法。
  30. 前記通信リンクは第1の通信リンクであり、前記情報デバイスは第2の通信リンクを介して前記周辺デバイスと通信し、該第1の通信リンクの一部を形成するように仮想ポートを前記情報デバイスにおいて作成するステップをさらに包含する、請求項1〜29のいずれかに記載の方法。
  31. 前記デバイス識別情報を前記周辺デバイスからプラグアンドプレイ仕様によって取得するステップをさらに包含する、請求項1〜30のいずれかに記載の方法。
  32. 前記複数の周辺デバイスドライバのうちの少なくとも1つは、前記サーバに位置する、請求項1〜31のいずれかに記載の方法。
  33. 前記複数の周辺デバイスドライバのうちの少なくとも1つは、前記サーバにとってアクセス可能な別個のデバイスドライバに位置する、請求項1〜32のいずれかに記載の方法。
  34. 前記ステップは、前記情報デバイスによって制御される、請求項1〜33のいずれかに記載の方法。
  35. 単数または複数の前記仮想ポートは、前記情報デバイスの制御の下で確立される、請求項1〜34のいずれかに記載の方法。
  36. 前記情報デバイスは、リソースが限られた情報デバイスである、請求項1〜35のいずれかに記載の方法。
  37. 前記情報デバイスにおいて周辺デバイス独立処理動作を行うステップをさらに包含する、請求項1〜36のいずれかに記載の方法。
  38. 前記サーバは複数の周辺デバイスドライバへのアクセスを有する、請求項1〜37のいずれかに記載の方法。
  39. 分散型周辺デバイス制御システムであって、該システムは、該システムの情報デバイスと該情報デバイスと通信する該システムの周辺デバイスとの間のインタラクションを制御し、
    指定したタスクを行うように該周辺デバイスにリクエストする手段と、
    該周辺デバイスを識別するデバイス識別情報を、該情報デバイスと通信するサーバに送信する手段であって、該サーバは少なくとも1つの周辺デバイスドライバへのアクセスを有する、手段と、
    該周辺デバイスに対応するデバイスドライバを、該デバイス識別情報に応じて選択する手段と、
    該情報デバイスの代わりに、該サーバに、該選択されたデバイスドライバを用いてタスクの実行に関する周辺デバイス依存処理動作を行わせて、デバイス依存データを生成する手段と
    を備え、
    該サーバにおける仮想ポートを、該サーバと該情報デバイスとの間の通信リンクの一部を形成するように確立し、該選択されたデバイスドライバを該仮想ポートと関連付ける手段と、
    該デバイス依存データを、該仮想ポートに送信し、その後、該周辺デバイスが該指定したタスクを行うことを可能にするように、該情報デバイスを介して該周辺デバイスに伝送する、手段とによって特徴付けられる、分散型周辺デバイス制御システム。
  40. 分散型周辺デバイス制御システムであって、該システムは、該システムの情報デバイスと該情報デバイスと通信する該システムの周辺デバイスとの間のインタラクションを制御し、
    指定したタスクを行うように該周辺デバイスにリクエストして、デバイス依存データを生成する手段と、
    該周辺デバイスを識別するデバイス識別情報を、該情報デバイスと通信するサーバに送信する手段であって、該サーバは少なくとも1つの周辺デバイスドライバへのアクセスを有する、手段と、
    該周辺デバイスに対応するデバイスドライバを、該デバイス識別情報に応じて選択する手段と
    を備え、
    該サーバにおける仮想ポートを、該サーバと該情報デバイスとの間の通信リンクの一部を形成するように確立し、該選択されたデバイスドライバを該仮想ポートと関連付ける手段と、
    該デバイス依存データを、該周辺デバイスから、該情報デバイスを介して該サーバに送信し、該仮想ポートにおいて受信する手段と、
    該情報デバイスの代わりに、該サーバに、該選択されたデバイスドライバを用いて該仮想ポートにおいて受信された該デバイス依存データについて、周辺デバイス依存処理動作を行わせる手段とによって特徴付けられる、分散型周辺デバイス制御システム。
  41. 請求項1〜38のいずれかに記載の方法を行うように、情報処理デバイスまたは分散型周辺デバイス制御システムを制御するオペレーティングプログラム。
  42. キャリアー媒体に担持される、請求項41に記載のオペレーティングプログラム。
  43. 前記キャリアー媒体は伝送媒体である、請求項42に記載のオペレーティングプログラム。
  44. 前記キャリアー媒体は格納媒体である、請求項42に記載のオペレーティングプログラム。
  45. 請求項1〜38のいずれかに記載の方法における使用に適合された情報処理デバイス。
  46. 請求項1〜38のいずれかに記載の方法における使用に適合されたサーバ。
JP2004122348A 2003-04-22 2004-04-16 分散型周辺デバイス制御システムおよび方法 Withdrawn JP2004326776A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0309045A GB2400928A (en) 2003-04-22 2003-04-22 Distributed periperal device control system

Publications (1)

Publication Number Publication Date
JP2004326776A true JP2004326776A (ja) 2004-11-18

Family

ID=9957049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004122348A Withdrawn JP2004326776A (ja) 2003-04-22 2004-04-16 分散型周辺デバイス制御システムおよび方法

Country Status (5)

Country Link
US (1) US7688461B2 (ja)
EP (1) EP1471418A3 (ja)
JP (1) JP2004326776A (ja)
CN (1) CN100430881C (ja)
GB (1) GB2400928A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009508212A (ja) * 2005-09-09 2009-02-26 マイクロソフト コーポレーション リモートシステムのためのプラグ・アンド・プレイデバイスのリダイレクション
JP2009200639A (ja) * 2008-02-19 2009-09-03 Canon Inc リモートコントローラ装置、コントロールシステム及び方法
JP2011040065A (ja) * 2009-08-12 2011-02-24 Ricoh Co Ltd 印刷ジョブを印刷する方法、印刷システム及びコンピュータ読取可能な媒体
JP2014013528A (ja) * 2012-07-05 2014-01-23 Seiko Epson Corp 情報処理装置、情報処理システムおよび情報処理装置の通信制御方法
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403300B2 (en) * 2003-03-21 2008-07-22 Toshiba Corporation Wireless wide area network printing
JP4619899B2 (ja) * 2004-09-16 2011-01-26 株式会社リコー 画像形成装置、画像形成方法および画像形成プログラム
EP1712986A3 (de) 2005-04-15 2010-12-29 ThinPrint GmbH Verfahren und Anordnung zum Ausdrucken von Daten bei Nutzung eines Nachrichten-Signalisierungs-Services, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
US7907292B2 (en) 2005-05-13 2011-03-15 Ricoh Company, Limited Terminal device for performing print processing, method of controlling the same, and computer product
CN100384146C (zh) * 2005-06-08 2008-04-23 杭州华三通信技术有限公司 管理分布式网络设备的方法
JP4827445B2 (ja) * 2005-06-30 2011-11-30 キヤノン株式会社 周辺装置制御システム及びその制御方法及び情報処理装置、並びに、コンピュータプログラム
US20070011249A1 (en) * 2005-07-11 2007-01-11 Bridges Amanda K Multi-function printing device
JP5074677B2 (ja) * 2005-08-12 2012-11-14 キヤノン株式会社 情報処理装置、方法、周辺装置、制御プログラム
JP4760460B2 (ja) * 2006-03-13 2011-08-31 ブラザー工業株式会社 スキャナ制御システム、およびスキャナドライバプログラム
KR100807102B1 (ko) * 2006-06-13 2008-02-26 한국과학기술원 컴퓨터 단말기의 주변 기기를 통하여 통신 단말기의 입출력프로세스를 제어하는 에뮬레이터 모듈 및 상기 모듈의동작 방법
EP2075697A4 (en) * 2006-10-20 2014-07-02 Nec Corp PORTABLE DEVICE, SERVER AND METHOD FOR REALIZING THE FUNCTION OF A PORTABLE DEVICE USING A NETWORK
US20080137131A1 (en) * 2006-12-11 2008-06-12 Barry Richard Cavill Host-Assisted Document Printing From Mobile Devices
FR2912233B1 (fr) * 2007-02-01 2009-08-21 Sagem Comm Dispositif client leger et procede d'utilisation
JP5268604B2 (ja) * 2008-12-05 2013-08-21 キヤノン株式会社 情報処理装置及び情報処理方法
DE102009038760B3 (de) * 2009-08-27 2011-01-05 Wago Verwaltungsgesellschaft Mbh Verfahren zur Datenkommunikation zwischen einem Automatisierungsgerät und einem Datenverarbeitungsgerät sowie Schnittstellentreiberprogramm und Schnittstellenumsetzer hierzu
JP5651958B2 (ja) * 2010-01-20 2015-01-14 セイコーエプソン株式会社 印刷制御装置、印刷制御システム、印刷装置及び印刷制御方法
US8610927B2 (en) * 2010-02-09 2013-12-17 Apple Inc. Walk-up printing without drivers
US8610928B2 (en) * 2010-02-09 2013-12-17 Apple Inc. Framework that supports driverless printing
JP5849639B2 (ja) * 2011-02-18 2016-01-27 株式会社リコー 文書管理装置及び文書管理システム
DE102011054020A1 (de) * 2011-09-28 2013-03-28 Cortado Ag Druckverfahren, Anordnung zur Realisierung des Druckverfahrens sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
US8675215B2 (en) 2012-01-31 2014-03-18 Apple Inc. Using regions of interest to scale print data for print jobs
US8891115B2 (en) 2012-02-03 2014-11-18 Apple Inc. Configuration of print data for print jobs based on document-processing capabilities of printers
US9298401B2 (en) 2012-02-03 2016-03-29 Apple Inc. Configuring print jobs associated with unsupported document formats
JP5949177B2 (ja) * 2012-05-31 2016-07-06 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法、情報処理プログラム、携帯通信端末、その制御方法およびその制御プログラム
US10466787B2 (en) * 2013-04-17 2019-11-05 Provenance Asset Group Llc Haptic device for pedestrian navigation
GB201314732D0 (en) * 2013-08-16 2013-10-02 Sparkle Coupon Services Ltd A data transmission method and system
US9411765B2 (en) * 2013-12-20 2016-08-09 Qualcomm Incorporated Methods of using a peripheral component interconnect express (PCIE) device in a virtual environment
DE102014226625A1 (de) * 2014-10-31 2016-05-04 Cortado Ag Verfahren zur Übertragung von Druckdaten, Server und mobiles Endgerät
EP3015972B1 (de) * 2014-10-31 2020-06-03 Cortado AG Verfahren zur übertragung von druckdaten, server und mobiles endgerät
US9986040B2 (en) 2015-07-21 2018-05-29 Amadeus S.A.S. Communications management system with a separate peripherals server
CN106933518A (zh) * 2015-12-29 2017-07-07 口碑控股有限公司 一种打印装置及打印方法
US10264024B2 (en) * 2016-05-19 2019-04-16 Google Llc Wireless peripheral administration
US10142425B2 (en) * 2016-05-23 2018-11-27 Wyse Technology L.L.C. Session reliability for a redirected USB device
WO2018038703A1 (en) * 2016-08-22 2018-03-01 Hewlett-Packard Development Company, L.P. Connected devices information
EP3549026A4 (en) * 2016-12-12 2020-06-03 Crossport Network Solutions Inc. AD-HOC-DETECTING SWITCHED DATA SWITCHING TO CONNECT NETWORK HOSTS AND PERIPHERAL DEVICES
CN112313614B (zh) * 2019-05-30 2022-09-16 华为技术有限公司 使用终端设备打印虚拟机中的文件的方法、装置及系统
US10856347B2 (en) 2019-06-28 2020-12-01 Advanced New Technologies Co., Ltd. Wireless communications method, apparatus, device, and storage medium
CN110503786A (zh) * 2019-08-27 2019-11-26 深圳大趋智能科技有限公司 一种智能pos机实现虚拟蓝牙打印机的方法及装置
CN116661955B (zh) * 2023-07-31 2023-10-03 北京朝歌数码科技股份有限公司 硬件访问方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6021029A (ja) 1983-07-14 1985-02-02 Citizen Watch Co Ltd 液晶カラ−表示装置
JPH07287115A (ja) 1994-04-20 1995-10-31 Toppan Printing Co Ltd 反射型カラーフィルタおよび液晶表示装置
JPH08248410A (ja) 1995-03-15 1996-09-27 Toshiba Corp カラー画像表示装置
US6598087B1 (en) 1999-09-08 2003-07-22 Ge Capital Commercial Finance, Inc. Methods and apparatus for network-enabled virtual printing
CN1299184C (zh) * 1999-12-13 2007-02-07 阿克塞斯股份公司 显示信息的方法和系统
GB2365599A (en) * 2000-03-27 2002-02-20 Ibm System method and program for enabling communication between a client and a device with a remote server hosted device driver
WO2001077809A1 (fr) * 2000-04-07 2001-10-18 Seiko Epson Corporation Controle d'imprimantes distribuees
US20020062398A1 (en) * 2000-11-20 2002-05-23 William Ho Chang Controller for mobile and pervasive output
JP2002307783A (ja) 2001-04-10 2002-10-23 Seiko Epson Corp プリンタ、posシステム、無線通信制御方法および情報記録媒体
US7142333B2 (en) * 2001-06-21 2006-11-28 Hewlett-Packard Development Company, L.P. System and method for wirelessly initiated document scanning and transmission
CA2400555C (en) * 2001-09-07 2009-10-27 Xerox Corporation Method and apparatus for controlling document service requests using a mobile computing device
JP2003114773A (ja) * 2001-10-05 2003-04-18 Kyocera Mita Corp プリントシステムおよびプリント方法
US20080008202A1 (en) * 2002-10-31 2008-01-10 Terrell William C Router with routing processors and methods for virtualization

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009508212A (ja) * 2005-09-09 2009-02-26 マイクロソフト コーポレーション リモートシステムのためのプラグ・アンド・プレイデバイスのリダイレクション
JP2012155750A (ja) * 2005-09-09 2012-08-16 Microsoft Corp リモートシステムのためのプラグ・アンド・プレイデバイスのリダイレクション
US8892758B2 (en) 2005-09-09 2014-11-18 Microsoft Corporation Plug and play device redirection for remote systems
US8918530B2 (en) 2005-09-09 2014-12-23 Microsoft Corporation Plug and play device redirection for remote systems
JP2009200639A (ja) * 2008-02-19 2009-09-03 Canon Inc リモートコントローラ装置、コントロールシステム及び方法
JP2011040065A (ja) * 2009-08-12 2011-02-24 Ricoh Co Ltd 印刷ジョブを印刷する方法、印刷システム及びコンピュータ読取可能な媒体
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems
US10331501B2 (en) 2010-12-16 2019-06-25 Microsoft Technology Licensing, Llc USB device redirection for remote systems
JP2014013528A (ja) * 2012-07-05 2014-01-23 Seiko Epson Corp 情報処理装置、情報処理システムおよび情報処理装置の通信制御方法

Also Published As

Publication number Publication date
GB2400928A (en) 2004-10-27
US20040239986A1 (en) 2004-12-02
CN1622028A (zh) 2005-06-01
EP1471418A2 (en) 2004-10-27
GB0309045D0 (en) 2003-05-28
US7688461B2 (en) 2010-03-30
EP1471418A3 (en) 2006-12-13
CN100430881C (zh) 2008-11-05

Similar Documents

Publication Publication Date Title
JP2004326776A (ja) 分散型周辺デバイス制御システムおよび方法
US8610939B2 (en) Application delivering system
JP5884542B2 (ja) 機器、情報処理システム、情報処理方法、及び情報処理プログラム
US7949741B2 (en) Printer user interface redirection over a terminal services session
US9916117B2 (en) Remote data access for image output apparatus via a control device
US10585631B2 (en) Portable multi-function printing extension computing device
CN108306943B (zh) 信息处理装置、其控制方法、存储介质及信息处理系统
JP2017033143A (ja) 画像形成装置、制御方法、およびプログラム
JP2007328558A (ja) データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体
JP2008159033A (ja) 電子機器および情報処理システム
US11003397B2 (en) Printing computing device for processing a print job to print a document at a multi-function printing device
US10089050B2 (en) Information processing device, and method and computer-readable medium therefor
US10747487B2 (en) Printing extension computing device
JP5924883B2 (ja) 情報処理システム、情報処理方法、情報処理装置
JP2006244009A (ja) ダウンロードシステム、サーバ装置およびドライバ提供方法
JP6768544B2 (ja) 情報処理装置、制御方法およびプログラム
US20190361641A1 (en) Printing computing device for operating a multi-function printing device
JP3456470B2 (ja) データ受信装置、電子情報機器およびデータ転送システム
KR20130042402A (ko) 스캔 작업을 수행하는 사용자 단말 장치와 서버 장치, 이들을 포함하는 스캔 시스템 및 그 스캔 수행 방법들
US20030093529A1 (en) System and method for accessing network services
JP6248594B2 (ja) 画像処理システム、画像処理装置、処理方法、および制御プログラム
US20130135664A1 (en) Storage of processed content for printing
US10817233B2 (en) Printing computing device for operating a multi-function printing device
US11068214B2 (en) Printing computing device for printing PPL jobs having video data and methods for use with a printing system for printing PPL jobs having video data
JP5108571B2 (ja) 機器、データ転送システム、データ転送方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070703