JP5305754B2 - 情報処理装置、クライアント、情報処理方法およびプログラム - Google Patents

情報処理装置、クライアント、情報処理方法およびプログラム Download PDF

Info

Publication number
JP5305754B2
JP5305754B2 JP2008165071A JP2008165071A JP5305754B2 JP 5305754 B2 JP5305754 B2 JP 5305754B2 JP 2008165071 A JP2008165071 A JP 2008165071A JP 2008165071 A JP2008165071 A JP 2008165071A JP 5305754 B2 JP5305754 B2 JP 5305754B2
Authority
JP
Japan
Prior art keywords
client
information
data
operation request
port
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.)
Expired - Fee Related
Application number
JP2008165071A
Other languages
English (en)
Other versions
JP2010009147A (ja
Inventor
晃良 小柴
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2008165071A priority Critical patent/JP5305754B2/ja
Publication of JP2010009147A publication Critical patent/JP2010009147A/ja
Application granted granted Critical
Publication of JP5305754B2 publication Critical patent/JP5305754B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、シンクライアントネットワークシステムにおいて周辺機器を共有するための情報処理装置および情報処理方法に関する。
近年、クライアントとして搭載メモリやCPU(中央処理装置)の能力を低く抑えたシンクライアントを用いるシンクライアントネットワークシステムの需要が高まってきている。
シンクライアントはUI(ユーザーインターフェイス)処理など軽量な処理が動作するために必要最低限な構成となっているため、コストを抑えられる利点がある。
一方で、プリンタなどの周辺機器をシンクライアントにローカル接続して用いようとすると、シンクライアント側で周辺機器のデバイスドライバを展開し、アプリケーション処理やレンダリング処理などを実行する必要がある。従ってこの場合、シンクライアントにも処理能力が要求されるためにコストを抑える事が出来なくなってしまう。
そこで、特許文献1に記載の技術のように周辺機器のデバイスドライバを蓄積しているサーバと周辺機器との接続を仮想的にローカル接続(直接接続)しているようにみせる方法がある。この方法ではドライバを持たないクライアントに対して周辺機器への操作がある場合、まずクライアントはその操作の内容を処理しないでそのままサーバに転送する。そしてサーバは自身のドライバを用いて操作の内容を処理し、その処理の結果である画面情報をクライアントへ送信する。
なお、シンクライアントとはアプリケーションの処理をサーバが行い端末は操作を指示する役割のみを担うサーバベース方式(画面転送方式)を想定しているものとする。また、ここでいうデバイスドライバとはシンクライアント側で用意されているような必要最低限のドライバを除く。
特開2007−102308号公報
例えばUSB接続でクライアントにローカル接続されている周辺機器を例に挙げると、クライアントと周辺機器の間には4種の伝送方式が規定されている。詳細には、機器の制御にはコントロール転送、非周期的に大量のデータを扱うにはバルク転送、周期的で低いバンド幅で済むものにはインタラプト転送、応答性が要求される場合にはアイソクロナス転送を用いる。例えばマウスやキーボードのようにポーリングにて制御される周辺機器は一般的にインタラプト転送が用いられる、一方でプリンタのように機器の状態に応じて複数種の伝送方式を用いるものもある。しかし、引用文献1に記載の技術ではシンクライアントにローカル接続されている周辺機器の伝送方式を考慮していない。従って、周辺機器が帯域を保証された通信(例えば前記アイソクロナス転送)や大量のデータを遅れる通信(例えばバルク転送)を必要としていても、サーバからシンクライアントへの転送方式(通信方式)は一定であった。したがって、従来の技術ではシンクライアントに接続した周辺機器(デバイス)を円滑に利用できない事があった。
上記課題を解決するための本発明に係る代表的な構成は、
クライアントに接続される機器の情報を機器情報として取得し、対応するドライバを選択する選択手段と、前記クライアントの前記機器に対する指示に基づいて、前記ドライバを用いて前記機器が解釈可能な操作要求を発行する発行手段と、前記機器情報又は前記選択手段で選択したドライバに応じて通信方式を決定し、当該通信方式に従って前記操作要求を前記クライアントへ転送する転送手段とを有することを特徴とする。
シンクライアントにローカル接続された周辺機器に対して適切な通信方式で操作要求をサーバから転送する事ができるため、シンクライアント環境でも円滑に周辺機器が利用可能になる。
<実施形態1>
本実施形態のサーバ装置やクライアント装置等の情報処理装置を構成するコンピュータ装置の構成について、図2のブロック図を用いて説明する。
サーバやクライアントは、それぞれ単一のコンピュータ装置で実現してもよいし、必要に応じて複数のコンピュータ装置に機能を分散してもよい。複数のコンピュータ装置で構成される場合は、互いに通信可能なようにLocal Area Network(以下、LAN)などで接続されている。
図2において、201はコンピュータ装置200全体を制御するCentral Processing Unit(中央処理装置、以下、CPU)である。CPU201は後述するROMやRAM、外部記憶装置に格納されたプログラムを実行する。202は変更を必要としないプログラムやパラメータを格納するRead Only Memory(以下、ROM)である。
203は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory(以下、RAM)である。204はハードディスクやメモリカード、あるいはフレキシブルディスクやCompact Disk(以下、CD)等の光ディスク、磁気や光カード、ICカード、メモリカードなどを含む外部記憶装置である。
205はユーザの操作を受け、データを入力するポインティングデバイスやキーボード209などの入力デバイスとのインターフェイスである。206はコンピュータ装置200の保持するデータや供給されたデータを表示するためのモニタ210とのインターフェイスである。207はインターネットなどのネットワーク回線に接続するためのネットワークインターフェイスである。
208はプリンタ212などの機器(以降、周辺機器と称す)を接続するためのUSBインターフェイスである。209は201〜208の各ユニットを通信可能に接続するシステムバスである。プリンタ212を操作するデバイスドライバ(以降、プリンタドライバと称す)はROM202又は外部記憶装置204からRAM203上に展開されてから実行される。
このように、処理能力は違うもののサーバ装置とクライアント装置の概略構成はほぼ等しい。しかし、本実施形態のシンクライアントはプリンタ212に対応するデバイスドライバを、シンクライアント内のROM202に記憶しておらず、RAM203にも展開しないため、ROM及びRAMの構成を小さくできる。
また、本実施形態のシンクライアントは、サーバ装置のOSやアプリケーションを利用している。そのため、サーバ装置のCPU201の処理能力や、ROM202やRAM203、外部記憶装置204の容量の方が、クライアント装置のものと比べ優れている。
次に図1を用いて、本実施形態のシンクライアントネットワークシステムの概略構成について説明する。シンクライアントネットワークシステムでは、アプリケーションの処理やOSの処理など大半の処理をサーバで集中して行い、クライアントでは主に画面表示およびユーザ操作などのUI処理を行っている。101は複数のコンピュータ間での通信を可能にするためのネットワークである。102はクライアントとしてのコンピュータであり、103はサーバとしてのコンピュータである。クライアント102とサーバ103との間のデータのやりとりはネットワーク101を介して所定の通信方式(例えばTCP/IPなど)にて行われる。
104はクライアントにおけるUI処理部である。105はサーバの各種アプリケーション処理部(発行手段)であって、UI処理部が受付けたプリンタ116に対する操作を受け付け、後述の仮想ポートインターフェイス112に対してプリンタ116が解釈可能な操作要求を発行する。この際、アプリケーション管理部105は周辺機器の伝送方式に対応している操作要求を発行する。107はUSBインターフェイスに接続される機器の監視およびデータ入出力を行うポートインターフェイスである。
本実施形態ではプリンタ116とクライアント102の伝送方式としてUSBを用いているが、プリンタ以外にもスキャナやデジタルカメラなどのUSB機器が接続可能であり、その場合にも同様の処理を行う。また、周辺機器とのデバイスポートとの通信規格(伝送方式)としてはUSBに限らず、SCSIやIEEE1284やIEEE1394などの規格に準拠した他の伝送方式であってもよい。また、有線に限らず、通信可能であれば無線の伝送方式でもよい。
106はポートインターフェイス(デバイスポート)に接続された機器の情報(以降、機器情報と称す)管理する接続機器管理部である。機器情報の中には、機器を識別するための識別情報や、機器の状態を示すステータス情報、機器がローカル接続先と通信する際の伝送方式(USBなど)を示す情報などが含まれる。機器の状態には前記機器がクライアントからの操作要求の受信に失敗し、再送を要求している状態、操作要求を処理している状態や操作要求を完了している状態などが例として挙げられる。
ポートインターフェイス107は、周辺機器の接続を検出すると接続機器管理部106へ通知を行い、接続機器管理部106ではポート管理情報1303の情報を更新する。ポート管理情報1303の詳細については後述する。
112はサーバが周辺機器に対して操作要求を行うための仮想データ転送管理部113及びデータ転送管理部108を生成(もしくは選択)し、データ入出力処理を行う仮想ポートインターフェイスである。
仮想データ転送管理部113は仮想モード1転送部114および仮想モード2転送部115を有している。また仮想データ転送管理部113は、画像データを含む操作要求をネットワークデータ(パケット単位のデータ等)に変換する処理および機器動作仕様に合わせてクライアント側とデータ転送を行う。
仮想モード1転送部114(第1の通信方式に沿った通信部)は転送エラー対応処理(再送処理)を行い、仮想モード2転送部115(第2の通信方式に沿った通信部)は通信保証処理(保証処理)を行う。
また、仮想データ転送管理部113は後述の仮想ポート管理情報1403を判定し仮想データ転送処理を切替える。
一方、データ転送管理部108はネットワークデータを周辺機器への操作要求に変換し、ポートインターフェイス108に転送する処理を行う。
データ転送管理部108においてもポート管理情報1303の情報を判定し、起動するデータ転送処理を切替える。109および110はデータ転送管理部108が有しているデータ転送処理部であり、ネットワークデータから操作要求への変換処理および機器動作仕様に合わせてデータ転送を行う。
109は転送エラー対応処理を行うモード1転送部であり、110は通信保証処理を行うモード2転送部である。111は接続機器管理部106からクライアントのポートに機器が有る事を通知された際に、仮想ポートインターフェイス112にポート管理情報を通知する通知情報管理部である。
以上の構成により、サーバ側にて印刷データの展開処理を行い、操作要求を含む印刷用データを仮想ポートに出力し、ネットワークを介してクライアントのポートに接続されたプリンタに出力可能とする。従って、シンクライアントネットワークの各シンクライアントのUSBポートに接続されたプリンタを、各シンクライアント又はサーバから利用可能になる。
ポートインターフェイス107からプリンタ116へのデータ入出力には各インターフェイスのドライバを用いる。また、仮想ポートインターフェイス112は、プリンタドライバがデータ入出力するデバイスポートに、サーバ側から仮想的にアクセスするための仮想デバイスポートを生成する。サーバは、ローカルのデバイスポートへデータ入出力を行う処理と同様に、前記仮想デバイスポートにデータを入出力すれば良い。従って、アプリケーションの印刷処理およびドライバは、ローカル接続したプリンタへの印刷に用いるドライバ処理をそのまま使用することが可能となる。
USBのデータ転送処理には、バルク転送、アイソクロナス転送、コントロール転送、インタラプト転送などがある。これらの転送処理には、エラー修正処理を必要とする転送処理、また、データの順番における転送レートの保証が必要、もしくは不要な転送処理など、転送処理や優先度の違いがある。従って、機器が現在用いているデータ転送処理に応じて、適切な通信方式を決定する。
本実施形態では、機器の状態に基づいて必要な転送モードを判定し、切替える処理を記載している。例えば、エラー再送処理の要否に応じて、再送処理の必要な転送モードをモード1転送とし、エラー転送処理を実装しない転送モードをモード2転送とする。さらに、モード2転送では、通信レート保証のための処理を行うものとする。
図3はポートインターフェイス107の処理を示すフローチャートである。ステップS301ではデバイスポートの監視およびデータ入出力用ポートの監視およびイベント監視を行っている。USBデバイスポートにプリンタが接続されるとデバイスインターフェイス用のデバイスポートが生成され、必要なドライバがロードされる。このデバイスインターフェイス用のデバイスポートを監視し、機器の接続状態の検出を行う。
ステップS302では終了要求のイベントの判定を行い、要求を受信した場合は終了処理を行う。ステップS303ではポート監視処理にて新規のデバイスポートが生成されたかを判定している。新しいデバイスポートが生成された場合、ステップS304にてデバイスポートの初期化処理を行い、ポート管理情報1303に新規のエントリを生成し、デバイスポートのデバイスアクセス用の情報を設定する。
ステップS305にて接続機器管理処理部106へ通知処理を行い、ステップS301へ戻る。ステップS303にて新規デバイスポートの検出が無い場合、ステップS306に進む。ステップS306ではデバイスポートとの接続が切断されたかの判定を行う。接続が切断されたデバイスポートがある場合、ステップS307にてポート管理情報1303から該当項目を削除し、ステップS308にて接続機器管理106へ通知処理を行い、ステップS301へ戻る。
ステップS306にてデバイスポートの切断が無いと判定した場合、ステップS309に進む。ステップS309ではデータの入力要求があるかを判定し、データ入力要求がある場合、ステップS311にてデバイスポートからのデータ入力処理を行う。データ出力要求の場合、ステップS310にてデバイスポートへのデータ出力処理を行う。データ入出力処理を行った後、ステップS301へ戻る。
図4は接続機器管理部106の処理を示すフローチャートである。ステップS401では接続機器管理部106のデータ領域の初期化処理を行う。ステップS402ではI/O処理およびイベントがあるまで待機処理を行う。何らかの要求があると待機状態が解除されステップS403に進み、入力された要求が処理終了要求かの判定を行う。処理終了要求の場合、ステップS410にてデータ領域の開放処理などの終了処理を行って接続機器管理部106の処理を終了する。ステップS403にて入力された要求が終了要求でない場合、ステップS404に進む。
ステップS404ではポートインターフェイス処理107からの接続通知であるかを判定している。接続通知である場合、ステップS405にてポート管理情報1303を更新し、ステップS406にてデータ転送管理部108の起動処理を行う。ステップS404にて接続ではなく切断通知であった場合、ステップS408にてポート管理情報1303を更新し、ステップS409にてデータ転送管理部108に終了の通知を行う。次にステップS407にてポート管理情報1303の更新について通知情報管理111へ通知を行い、ステップS402に戻る。
図5は、データ転送管理部108の処理を示すフローチャートである。ステップS501ではデータ転送管理部108のデータ領域の初期化処理を行う。ステップS502では要求があるまでの待機処理を行う。要求を受取ると、ステップS503にて受取った要求が終了要求であるかの判定を行う。終了要求であると判定した場合、ステップS504にて起動したタスクへの終了通知を行い、データ転送管理部108の処理を終了する。ステップS503にて終了要求でないと判定した場合、ステップS505に進む。ステップS505ではポート管理情報1303の情報を元にデータ転送処理の転送モードの判定を行う。判定結果によりステップS506もしくはS507にて、対応するモード1転送部109もしくはモード2転送部110を起動する。
図6は、モード1転送部109の処理を示すフローチャートである。ステップS601ではモード1転送部109のデータ領域の初期化を行う。ステップS602ではI/O処理およびイベント要求が成されるまで待機処理を行う。待機状態が解除される事象が発生するとステップS603にて終了要求イベントかを判定し、終了要求の場合、ステップS616にてモード1転送部109の終了処理を行う。ステップS603にて終了要求でない場合、ステップS604に進む。ステップS604ではサーバからの動作要求情報を含むコントロール情報を仮想モード1転送部114から受信する。
ステップS605にてコントロール情報の判定を行い、機器からの入力指示の場合は、ステップS606にてポートインターフェイス107からデータを取得する。次にステップS607にて前記取得デバイスデータをサーバへのネットワークデータに変換し、ステップS608にて前記ネットワークデータに変換したデータを仮想モード1転送部114へ送信する。ステップS609にてデータ送信が正常終了したかを判定し、エラーが発生した場合、ステップS608のデータ送信処理をリトライする。
ステップS605のコントロール情報の判定にて機器への出力処理と判定した場合、ステップS610に進む。ステップS610では仮想モード1転送部114からネットワークデータを受信する。データ受信にてエラーを検出した場合は、ステップS611にてデータの再送要求を仮想モード1転送部114へ発行し、ステップS610へ戻る。
ステップS611にて受信したデータが正常に受信できた場合は、ステップS613にてデータ受信OKの情報を仮想モード1転送部114へ送付する。ステップS614では受信したネットワークデータをデバイスデータへ変換を行う。ステップS615では前記変換されたデバイスデータをポートインターフェイス107へ出力し、ステップS602へ戻る。
図7は、モード2転送部110の処理を示すフローチャートである。ステップS701ではモード2転送部110のデータ領域の初期化を行う。ステップS702ではI/O処理およびイベント要求の待機処理を行う。待機状態が解除される事象が発生するとステップS703にて終了要求イベントかを判定し、終了要求の場合、ステップS712にてモード2転送部110の終了処理を行う。ステップS703にて終了要求でない場合、ステップS704に進む。
ステップS704ではサーバからの動作要求情報を含むコントロール情報を、仮想モード2転送部115から受信する。ステップS705にてコントロール情報の判定を行い、機器からの入力指示の場合は、ステップS706にてポートインターフェイス107からデータ取得する。次にステップS707にて前記取得したデバイスデータをサーバへのネットワークデータに変換し、ステップS708にて前記変換したデータを仮想モード2転送部115へ送信し、ステップS702へ戻る。
ステップS705のコントロール情報の判定にて機器への出力処理と判定した場合、ステップS709に進む。ステップS709では仮想モード2転送部115からのネットワークデータをバッファ領域に受信する。次にステップS710にてバッファに受信したネットワークデータをデバイスデータへ変換を行う。ステップS711では変換されたデバイスデータから機器へ送信可能なデリバリ保証されたデータをポートインターフェイス107へ出力し、ステップS702へ戻る。
図8は通知情報管理部111の処理を示すフローチャートである。ステップS801では通知情報管理部111が使用するデータ領域の初期化処理を行う。ステップS802ではI/O処理およびイベントの待機処理を行う。待機状態が解除される事象が発生するとステップS803に進み、処理終了要求かの判定を行う。処理終了要求の場合、ステップS809にてデータ領域の開放処理などの終了処理を行って通知情報管理部111を終了する。ステップS803にて終了要求でない場合、ステップS804に進む。
ステップS804では接続機器管理部106からの接続通知であるかを判定している。接続通知である場合、ステップS805にて仮想ポート管理情報1403を更新し、ステップS806にて仮想データ転送管理処理の起動処理を行う。ステップS804にて接続ではなく切断通知であった場合、ステップS807にて仮想ポート管理情報1403を更新し、ステップS808にて仮想データ転送管理部113に終了の通知を行い、ステップS802に戻る。
図9は仮想ポートインターフェイス112の処理を示すフローチャートである。ステップS901では仮想デバイスポートの監視およびデータ入出力用ディスクリプタの監視およびイベント監視を行っている。ステップS902では終了要求のイベント受信の判定を行い、終了要求を受信した場合は、仮想ポートインターフェイス112を終了する。ステップS903では新規の仮想デバイスポートの生成要求イベントであるかを判定している。新しいデバイスポート生成要求イベントの場合、ステップS904にて仮想ポート管理情報1403のエントリを生成し、仮想デバイスポートの生成処理を行い、ステップS905にて仮想デバイスポートの初期化処理を行い、ステップS901へ戻る。
ステップS903にて新規デバイスポート生成要求でなかった場合、ステップS906に進む。ステップS906ではデバイスポートが切断要求であるかの判定を行う。切断要求である場合、ステップS907にて仮想ポート管理情報1403から該当項目を削除するなどの開放処理を行い、ステップS901へ戻る。ステップS906にて仮想デバイスポートの切断要求ではないと判定された場合、ステップS908に進む。
ステップS908ではデータの入力要求であるかを判定し、データ入力要求である場合、ステップS910にて仮想モード1転送部114もしくは仮想モード2転送部115からのデータ入力処理を行う。データ出力要求の場合、ステップS909にて仮想モード1転送部114もしくは仮想モード2転送部115へのデータ出力処理を行う。データ入出力処理を行った後、ステップS901へ戻る。
図10は、仮想データ転送管理部113の処理を示すフローチャートである。ステップS1001では仮想データ転送管理部113の使用するデータ領域の初期化処理を行う。ステップS1002ではイベント要求などの待機処理を行う。要求を受取ると、ステップS1003にて終了要求かの判定を行う。終了要求の場合、ステップS1004にて起動したタスクの終了要求を行い、仮想データ転送管理部113を終了する。
ステップS1003にて終了要求でないと判定した場合、ステップS1005に進む。ステップS1005では仮想ポート管理情報1403の情報を元に仮想データ転送処理の転送モードの判定を行う。判定結果によりステップS1006もしくはS1007にて、対応する仮想モード1転送部114もしくは仮想モード2転送部115を起動し、ステップS1002へ戻る。
図11は、仮想モード1転送部114の処理を示すフローチャートである。ステップS1101では仮想データ転送部114のデータ領域の初期化を行う。ステップS1102ではI/O処理およびイベント要求の待機処理を行う。待機状態が解除される事象が発生するとステップS1103にて終了要求イベントかを判定し、終了要求の場合、ステップS1104にて仮想モード1転送部114の終了処理を行う。ステップS1103にて終了要求でない場合、ステップS1105に進む。
ステップS1105にてI/O要求が機器へ出力であるかの判定を行い、機器からの出力要求の場合は、ステップS1106にて仮想ポートインターフェイス112からデータを取得する。次にステップS1107にて取得したデバイスデータをネットワークデータに変換し、ステップS1108にてモード1転送部109にデータ出力処理のためのコントロール情報を送信する。次にステップ1109にて変換したデータをモード1転送部109へ送信する。ステップS1110にてデータ送信が正常終了したかを判定し、エラーが発生した場合、ステップS1109のデータ送信処理をリトライする。
ステップS1105の判定にて機器への入力処理と判定した場合、ステップS1111に進む。ステップS1111ではモード1転送部109にデータ入力処理のためのコントロール情報を送信する。次にステップS1112にてモード1転送部109からネットワークデータを受信する。データ受信にてエラーを検出したかをステップS1114にて判定し、エラーがあった場合は、ステップS1113にてデータの再送要求をモード1転送部109へ発行し、ステップS1112へ戻る。
ステップS1112にて受信したデータが正常に受信できた場合は、ステップS1115にてデータ受信OKをモード1転送部109へ送付し、ステップS1116にて受信したネットワークデータをデバイスデータへ変換を行う。ステップS1117では変換されたデバイスデータを仮想ポートインターフェイス112へ出力し、ステップS1102へ戻る。
図12は、仮想モード2転送部115の処理を示すフローチャートである。ステップS1201では仮想モード2転送部115のデータ領域の初期化を行う。ステップS1202ではI/O処理およびイベント要求の待機処理を行う。待機状態が解除される事象が発生するとステップS1203にて終了要求イベントかを判定し、終了要求の場合、ステップS1213にて仮想モード2転送部115の終了処理を行う。ステップS1203にて終了要求でない場合、ステップS1204に進む。
ステップS1204では機器への出力要求であるかの判定を行い、機器への出力要求の場合は、ステップS1205にて仮想デバイスポートインターフェース112から出力データを取得する。次にステップS1206にてデバイスデータをサーバへのネットワークデータに変換し、ステップS1207にてモード2転送部110にデータ出力処理のためのコントロール情報を送信する。ステップS1208にて変換したデータをモード2転送部110に送信し、ステップS1202へ戻る。ステップS1204の判定にて機器への入力処理と判定した場合、ステップS1209に進む。
ステップS1209ではモード2転送部110へ機器からの入力のためのコントロール情報を送信する。ステップS1210ではモード2転送部110からのネットワークデータをバッファ領域に受信する。次にステップS1211にてバッファに受信したネットワークデータをデバイスデータへ変換を行う。ステップS1212では変換されたデバイスデータから仮想デバイスポートへ送信可能なデリバリ保証されたデータを仮想デバイスインターフェイス112へ出力し、ステップS1202へ戻る。
図13(a)はクライアントのポート管理情報の処理を示す図である。1301はクライアントの管理データ領域を示し、その中にポート管理情報へのポインタ1302を用意する。ポート管理情報へのポインタ1302は、ポート管理情報1303の領域を示すポインタを格納する。ポート管理情報1303は1つの管理対象デバイスポートに対して1つのエントリを用意し、複数のデバイスポートの場合、領域をリンクして管理する。ポート管理情報には、ポート名1304、ポートの種類1305、転送モード1306、ポート状態を示すステータス1307の領域を用意し、情報を管理する。
図13(b)はサーバの仮想ポート管理情報の処理を示す図である。1401はサーバの管理データ領域を示し、その中に仮想ポート管理情報へのポインタ1402を用意する。仮想ポート管理情報へのポインタ1402は、仮想ポート管理情報1403の領域を示すポインタを格納する。仮想ポート管理情報1403は1つの管理対象仮想デバイスポートに対して1つのエントリを用意し、複数の仮想デバイスポートの場合、領域をリンクして管理する。
仮想ポート管理情報には、クライアント情報1404、ポート名1405、ポートの種類1406、転送モード1407、仮想デバイスポート名1408、仮想ポート状態を示すステータス1409の領域を用意し、情報を管理する。
前述の実施形態では、エラー再送処理の要否に応じて転送モードを切替える例を挙げたが、接続している機器がリアルタイムデバイスであるかどうかで切替えるようにしてもよい。例えば、接続している機器がスピーカーやウェブカメラなどのリアルタイム性の要求されるデバイスの場合は転送エラーによる再送要求を必要としないためにモード2転送部を用いて高速に操作要求を転送すればよい。このように多種のデバイスに対応し且つ種々の優先度を持つ複数のモードを状況に応じて切替えることで、ユーザは何も意識することなくシンクライアントに接続したデバイスを使用できるようになる。また、接続している機器が種々の伝送方式(例えばUSBのコントロール転送と、アイソクロナス転送)を使い分ける場合、クライアントから逐一通知する機器情報に現在の伝送方式に関する情報を含ませる方法もある。この場合、仮想データ転送管理部が機器情報から現在のデバイスの用いている伝送方式を判別し、それに対応して転送モードを切替えれば、より好適な転送モードに切替えることができるためオーバーヘッドが少なくなる。
また、前述の実施形態以外にも記録媒体から、前述した実施形態の機能を有するソフトウェアのプログラムコードを、システムあるいは装置のコンピュータが読み出し実行する形態も考えられる。
他にも、コンピュータが読み出したプログラムの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の前述した実施形態の処理の一部または全部を行う形態も考えられる。
なお、前述の本発明の処理を示すフローチャートは中央処理装置(CPU)が実行する事が望ましいが、一部の構成をハードウェアとして用意しておいてもよい。この場合、柔軟な設計変更ができなくなることがあるが、CPUが負担する処理が減るため処理速度が向上する効果を奏する。
本実施形態の概略システム構成を示す図である。 コンピュータ装置の概略構成図である。 ポートインターフェイスの行う処理のフロー図である。 接続機器管理部の行う処理のフロー図である。 データ転送管理処理のフロー図である。 モード1転送部の行う処理のフロー図である。 モード2転送部の行う処理のフロー図である。 通知情報管理部の行う処理のフロー図である。 仮想ポートインターフェイスの行う処理のフロー図である。 仮想データ転送管理部の行う処理のフロー図である。 仮想モード1転送部の行う処理のフロー図である。 仮想モード2転送部の行う処理のフロー図である。 ポート管理情報のデータ構成を示す図である。
符号の説明
101 ネットワーク
102 クライアントコンピュータ装置(クライアント)
103 サーバコンピュータ装置(サーバ)
104 UI処理部
105 アプリケーション処理部
106 接続機器管理部
107 ポートインターフェイス
108 データ転送管理部
109 モード1転送部
110 モード2転送部
111 通知情報管理部
112 仮想ポートインターフェイス
113 仮想データ転送管理部
114 仮想モード1転送部
115 仮想モード2転送部
116 プリンタ(周辺機器)

Claims (12)

  1. クライアントに接続される機器の情報を機器情報として取得し、対応するドライバを選択する選択手段と、
    前記クライアントの前記機器に対する指示に基づいて、前記ドライバを用いて前記機器が解釈可能な操作要求を発行する発行手段と、
    前記クライアントと前記機器の伝送方式に応じて通信方式を選択し、当該通信方式に従って前記操作要求を前記クライアントへ転送する転送手段と
    を有することを特徴とする情報処理装置。
  2. 前記転送手段が前記機器情報もしくは前記選択手段で選択したドライバの少なくとも一方に基づいて前記伝送方式を判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記機器情報が前記クライアントの前記操作要求の受信の失敗を示している場合に、前記転送手段が優先度のより高い通信方式に切替えて前記操作要求を転送することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記通信方式は再送処理に対応する第1の通信方式と保証処理に対応する第2の通信方式とを有しており、前記転送手段が前記伝送方式又は前記機器情報に応じて、前記第1の通信方式と第2の通信方式の少なくとも一方を用いることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記機器はプリンタであり、前記操作要求は印刷データを含む請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記発行手段は前記機器に対応する伝送方式に沿って前記操作要求を発行し、前記転送手段が前記伝送方式の操作要求をパケット単位のデータに変換して転送することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記伝送方式がUSB、SCSI、IEEE1284、IEEE1394の何れかの規格に準拠していることを特徴とする請求項6に記載の情報処理装置。
  8. 機器に対して操作要求を発行するサーバと通信可能であり且つ前記機器が接続されるデバイスポートを備えるクライアントであって、
    前記デバイスポートに接続されている機器への操作をサーバに対して指示する指示手段と、
    前記機器の情報を機器情報として取得し前記サーバに通知する通知手段と、
    前記機器に対する操作要求を、前記クライアントと前記機器の伝送方式に応じて選択される通信方式に沿って前記サーバから受け付け、前記デバイスポートに転送する受付け手段と、
    を有することを特徴とするクライアント
  9. 前記受付け手段は、クライアントの受信したパケット単位のデータを前記機器に対応する伝送方式に沿ったデータに変換し、前記デバイスポートへ前記操作要求として送信することを特徴とする請求項8に記載のクライアント
  10. クライアントに接続される機器の情報を機器情報として取得し、対応するドライバを選択する選択工程と、
    前記クライアントの前記機器に対する指示に基づいて、前記ドライバを用いて前記機器が解釈可能な操作要求を発行する発行工程と、
    前記クライアントと前記機器の伝送方式に応じて通信方式を決定し、当該通信方式に従って前記操作要求を前記クライアントへ転送する転送工程と
    を有することを特徴とする情報処理方法。
  11. コンピュータを、
    クライアントに接続される機器の情報を機器情報として取得し、対応するドライバを選択する選択手段と、
    前記クライアントの前記機器に対する指示に基づいて、前記ドライバを用いて前記機器が解釈可能な操作要求を発行する発行手段と、
    前記クライアントと前記機器の伝送方式に応じて通信方式を選択し、当該通信方式に従って前記操作要求を前記クライアントへ転送する転送手段と
    して機能させることを特徴とするプログラム。
  12. 機器に対して操作要求を発行するサーバと通信可能であり且つ前記機器が接続されるデバイスポートを備えるコンピュータを、
    前記デバイスポートに接続されている機器への操作をサーバに対して指示する指示手段と、
    前記機器の情報を機器情報として取得し前記サーバに通知する通知手段と、
    所定の通信方式に従って送信される前記機器に対する操作要求を前記サーバから受け付けて、前記デバイスポートに転送する受付け手段と
    して機能させることを特徴とするプログラム。
JP2008165071A 2008-06-24 2008-06-24 情報処理装置、クライアント、情報処理方法およびプログラム Expired - Fee Related JP5305754B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008165071A JP5305754B2 (ja) 2008-06-24 2008-06-24 情報処理装置、クライアント、情報処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008165071A JP5305754B2 (ja) 2008-06-24 2008-06-24 情報処理装置、クライアント、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010009147A JP2010009147A (ja) 2010-01-14
JP5305754B2 true JP5305754B2 (ja) 2013-10-02

Family

ID=41589597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008165071A Expired - Fee Related JP5305754B2 (ja) 2008-06-24 2008-06-24 情報処理装置、クライアント、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5305754B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5143207B2 (ja) * 2010-10-21 2013-02-13 株式会社バッファロー 接続装置、パケットを送信する方法及びパケットの送信を接続装置に実行させるためのコンピュータプログラム
CN103475953B (zh) * 2013-09-13 2017-11-17 华为技术有限公司 一种基于桌面云的媒体控制方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4227131B2 (ja) * 2005-09-30 2009-02-18 株式会社東芝 シンクライアントサーバシステム
JP2008009766A (ja) * 2006-06-29 2008-01-17 Canon Inc 印刷システム、印刷制限方法、及びプログラム

Also Published As

Publication number Publication date
JP2010009147A (ja) 2010-01-14

Similar Documents

Publication Publication Date Title
EP2728459B1 (en) Image Processing System
JP5424856B2 (ja) 画像形成装置及びその省電力制御方法とプログラム
JP5511332B2 (ja) 通信装置及び方法、並びにプログラム
JP4315144B2 (ja) 管理装置、ネットワークシステム、管理装置の制御プログラム
US20170308343A1 (en) Printing system, a method of printing a print job, and a program
JP4815424B2 (ja) 画像処理装置及び通信装置、並びに画像処理システム
JPH11327815A (ja) 通信制御方法及び装置及び通信システム
JP5305754B2 (ja) 情報処理装置、クライアント、情報処理方法およびプログラム
WO2011043036A1 (en) Server apparatus, client apparatus, control method of server apparatus, control method of client apparatus, and program
JP2012156645A (ja) 情報処理装置、通信装置、およびその制御方法
JP6366332B2 (ja) プリントサーバ、制御方法およびコンピュータプログラム
JP2015108857A (ja) システム、その制御方法、情報処理装置、その制御方法及びプログラム
JP2006302065A (ja) ファイル共有システム、ファイル共有プログラム、管理サーバ及びクライアント端末
JP2012060571A (ja) 画像処理装置、ジョブ処理方法及びプログラム
KR100325816B1 (ko) 네트워크 프린터의 인쇄방법
JP2001222396A (ja) プリンタコントローラ及びプリンタ言語切替方法
JP2018124777A (ja) 情報処理装置、制御方法およびプログラム
JP6188368B2 (ja) 印刷装置および情報処理装置、制御方法、プログラム
JP2009199281A (ja) データ送信装置
JP2009141774A (ja) データ処理装置及びその制御方法、コンピュータプログラム
US20060268289A1 (en) Multi image forming method and system using job retention functions
JP2853607B2 (ja) ジョブ間通信システム
JP3933134B2 (ja) 通信システム
JP2004185217A (ja) 装置管理方法
JP6033383B2 (ja) 情報処理装置、その制御方法、および制御プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130625

R151 Written notification of patent or utility model registration

Ref document number: 5305754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees