JP5998343B2 - デバイスサーバシステム、デバイスサーバおよびプログラム - Google Patents
デバイスサーバシステム、デバイスサーバおよびプログラム Download PDFInfo
- Publication number
- JP5998343B2 JP5998343B2 JP2013027060A JP2013027060A JP5998343B2 JP 5998343 B2 JP5998343 B2 JP 5998343B2 JP 2013027060 A JP2013027060 A JP 2013027060A JP 2013027060 A JP2013027060 A JP 2013027060A JP 5998343 B2 JP5998343 B2 JP 5998343B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- device server
- predetermined
- client
- continuous
- 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.)
- Active
Links
Landscapes
- Information Transfer Systems (AREA)
Description
・所定のデバイスを制御する命令を発行するデバイス制御手段
・デバイス制御手段が発行した前記命令であって、所定単位のデータを前記所定のデバイスに対して送信するデータ送信手段
・データ送信手段によるデータ送信であって、複数の連続した当該データ送信が行われる旨の連続送信通知を前記デバイスサーバに対して送信する連続送信通知手段
1−2)デバイスサーバ
・連続送信通知を受信した場合、所定の場合についてのみ、前記連続送信通知にかかる応答をクライアントに対して送信する通知応答送信手段
また、デバイス制御手段が発行する命令は、USBデバイスの場合、URB(USB Request Block)が該当する。
また、連続送信通知手段では、デバイス制御手段が発行する命令を解析して、例えば、USBデバイスの場合にはURB(USB Request Block)を解析して、連続する送信が行われる場合、複数の連続した当該データ送信が行われる旨の連続送信通知パケットデータを生成し、それをデバイスサーバに対して送信する。
デバイスサーバでは、連続送信通知を受信した場合、所定の場合についてのみ、連続送信通知にかかる応答をクライアントに対して送信する。
ここで、所定の場合とは、「デバイスからの応答データを検出した場合」または「デバイスのステータス変化を検出した場合」である。
2−1)クライアント
・所定のデバイスを制御する命令を発行するデバイス制御手段
・デバイス制御手段が発行した前記命令であって、前記所定のデバイスに対し所定単位のデータを要求するデータ要求手段
・データ要求手段による要求であって、複数の連続した当該要求を単一のデータ要求(単一データ要求)として、前記デバイスサーバに対して送信する単一データ要求手段
2−2)デバイスサーバ
・単一データ要求を受信すると、当該単一データ要求に含まれる複数の所定単位のデータ要求を、前記デバイスに対して個別に送信し、当該デバイスからの所定単位のデータを受信して、受信した所定単位のデータを前記クライアントに対して送信するデータ転送手段
デバイスサーバは、データ転送手段によって、クライアントから単一データ要求を受信すると、単一データ要求に含まれる複数の所定単位のデータ要求を、デバイスとの間のデータ通信プロトコルに従って、デバイスに対して個々に分けて個別に送信し、デバイスからの所定単位のデータを受信する。受信した所定単位のデータは、クライアントに対して受信の都度、送信する。
・データ受信手段が受信した前記所定単位のデータが複数連続して受信(連続受信)するか否かを判断する連続受信判断手段
・連続受信判断手段が連続受信をすると判断した場合、所定の場合についてのみ、前記連続受信にかかる応答を前記クライアントに対して送信する応答送信手段
(手段B)データ受信手段が受信した所定単位のデータが複数連続して受信(連続受信)するか否かを判断する連続受信判断手段
(手段C)連続受信判断手段が連続受信をすると判断した場合、所定の場合についてのみ、連続受信にかかる応答をクライアントに対して送信する応答送信手段
USBデバイスサーバシステムでは、クライアント端末1からネットワーク5経由でデバイスサーバ2に接続されているUSBデバイス3を制御できる。例えば、USBデバイス3がスキャナーである場合、クライアント端末1からあたかもローカルに接続されているスキャナーと同様に、USBデバイス3(この例ではスキャナー)を制御して画像データを取り込むことができる。
また、一方で、図示するように、USBデバイスサーバシステムを用いることにより、クライアント端末1の映像信号をデバイスサーバ2がネットワーク5経由でUSB信号データを受け取り、これをRGB信号データに置き換えて、USBデバイス3に送り、USBデバイス3にRGB接続されたモニター端末7に表示させることができる。
例えば、USBデバイスがスキャナーの場合は、USBデバイス側からクライアント端末側に向けた片方向の複数回のデータ転送が生じることになる。また、クライアント端末の映像信号をUSBデバイスに転送する場合は、クライアント端末側からUSBデバイス側に向けた片方向の複数回のデータ転送が生じることになる。
本実施例のUSBデバイスサーバシステムでは、このように、片方向の複数回のデータ転送が生じる場合に、無駄な通信フローを減らし、通信に要するオーバーヘッドを軽減する。以下にて詳細を説明する。
クライアント端末1には、ドライバ11とトンネリングドライバ13とネットワークI/F15の機能が搭載されている。
また、デバイスサーバ2には、USBI/F21とUSBコントローラ23とトンネリングドライバ25とネットワークI/F29の機能が搭載されている。
まず図4に示すように、従来、クライアント端末1からUSBデバイス3へデータ送信する場合、クライアント端末1からデバイスサーバ2に対して1つのデータを送信する毎に(41a,42a,43a)、デバイスサーバ2からクライアント端末1に対して応答通信(41c,42c,43c)が発生していた。これらの応答通信(41c,42c,43c)は、USBデバイス3のステータスを、ホストであるクライアント端末1に通知するものであり、USBデバイス3のステータス変化や通信エラーなど,特定の場合が発生しない限りは通知する必要性が低く、USB通信において比較的重要度の低い通信である。本発明はクライアント端末1とデバイスサーバ2との間は、信頼性が確保されているTCP通信を用いることから、ネットワーク通信に伴う遅延以外の事象が発生することは稀であり、この意味で、USBデバイスサーバシステムにおいて、上述の応答通信(41c,42c,43c)は冗長な(無駄な)応答通信となっている。
図6は本発明のデバイスサーバシステムにおけるクライアント端末1の機能ブロックを、図7は本発明のデバイスサーバシステムにおけるデバイスサーバ2の機能ブロックを示している。
まず、本発明のデバイスサーバシステムにおけるクライアント端末1の機能ブロックに関して、図6を参照して、従来のデバイスサーバシステムにおけるクライアント端末1の機能ブロックの図3と対比しながら説明する。
従来のデバイスサーバシステムにおけるクライアント端末1では、図3に示すように、トンネリングドライバ13は、ドライバ11からURB(USB Request Block)を受け取ると、URBの解析131を行い、URBを含むトンネリングパケットを生成132し、それをネットワークI/F15に送る。
URBに含まれる「データ単位」、「通信タイミング」、および「停止タイミング」の情報から連続通信であるか否かを判断するのである。なお、連続通信であるか否かの判断基準は、これらの情報に限定されず、他のパラメータにより判断しても構わない。
URBの中身を解析して、連続通信(データ送信、データ受信のいずれも可)であるか否かの判断を行い、後続して連続通信が発生することを検知すると、連続通信トンネリングパケット(連続通信通知のパケット)を生成して、デバイスサーバ2に通知する点が、本発明のデバイスサーバシステムの特徴である。
これにより、本発明は、従来なら必要となっていたネットワーク通信を間引くことができるため、クライアント端末1とデバイスサーバ2と間の通信のパフォーマンスを向上させることができる。
具体的には、データ送信の場合は、図4で説明した、デバイスサーバ2からクライアント端末1への応答通信を間引き、データ受信の場合は、図5で説明した、クライアント端末1からデバイスサーバ2へのコマンド送信を間引くわけである。
従来のデバイスサーバシステムにおけるデバイスサーバ2では、図2に示すように、USBI/F21とUSBコントローラ23とトンネリングドライバ25とネットワークI/F29の機能が搭載されている。
一方、本発明のデバイスサーバシステムにおけるデバイスサーバ2では、図7に示すように、ネットワークI/F29とトンネリングドライバ25の間に、新たに、パケット解析手段28を設け、クライアント端末1から送信されるトンネリングパケットを解析して、従来のトンネリングパケットか連続通信トンネリングパケット(連続通信通知のパケット)か否かを解析する。そして、解析の結果、連続通信トンネリングパケット(連続通信通知のパケット)であると判断すると、連続通信トンネリングドライバ26が当該パケットを処理する。
まず、送信の場合(USBデバイス3に向けてデータを送る)、USBデバイス3からの応答データを検出した場合や,USBデバイス3のステータス変化を検出した場合などの所定の事象が発生しない限り、デバイスサーバ2はクライアント端末1に応答を返さない。これにより、応答に必要なネットワーク通信を削減できる。応答通信は、クライアント端末1のドライバ11に通信のステータスを報告するものなので、一番厳密な動きは、1つの送信ごとに応答(ステータス)を返すことである。しかし、本発明はデバイスサーバシステムであり、TCP(Transmission
Control Protocol)通信を使用していることから、クライアント端末1とデバイスサーバ2との間の通信の信頼性は確保されている。このためドライバ11に応答通信をする必要性が低い。つまり、必要性の低い応答通信を間引いて、応答通信にかかるオーバーヘッドを軽減している。勿論,上述したように,USBデバイス3からの応答データを検出した場合やUSBデバイス3のステータス変化を検出した場合など,クライアント1にとって重要度の高い事象が発生した場合,デバイスサーバ2はクライアント1に対して応答通信を行う。
例えば、従来のデバイスサーバシステムの場合であると、10(byte)のデータ要求コマンドを1ms間隔で10回送信していたものが、本発明のデバイスサーバシステムの場合では、10(byte)のデータ要求コマンドを10ms単位にまとめて1回送信することになる。なお、本発明のデバイスサーバシステムの場合、クライアント端末1からデバイスサーバ2へのデータ要求はこのように1回に統合されるが、デバイスサーバ2からUSBデバイス3へのデータ要求は、元の細切れ状態で10回要求する。
図5の場合だと、クライアント端末1からデバイスサーバ2への通信は、トンネリングパケット(51a,52a,53a)のコマンド送信を1回のトンネリングパケットに統合し、デバイスサーバ2からUSBデバイス3への通信は、従来通り、細切れのコマンド(51b,52b,53b)として送信する。
図8の連続通信通知のパケットは、クライアント端末1からデバイスサーバ2に対して連続通信である旨を通知するものである。連絡送信、連続受信の双方にこのパケットを用いることが可能である。パケットは、宛先アドレス31、送信元アドレス32、データ単位33、通信タイミング34、停止タイミング35、実データ36の情報データで構成されている。
また、デバイスサーバ2に複数のUSBデバイス3が接続されている場合、このパケットには連続通信を要求するデバイス識別情報も含まれる。
本発明のデバイスサーバシステムでは、クライアント端末1からUSBデバイス3へデータ送信する場合、従来とは異なり、クライアント端末1からデバイスサーバ2に対して1つのデータを送信する毎に、デバイスサーバ2からクライアント端末1に対して応答通信が発生することがない(所定の場合を除く)。クライアント端末1からデバイスサーバ2に対して連続通信トンネリングパケットが連続して送られるだけである(101a,102a,103a,104a)。なお、2回目以降の送信(102a,103a,104a)は、必ずしも図8に示すようなフォーマットのパケットでなくてもよい。1回目の送信(101a)により、後続の通信が連続通信であることを通知することができるためである。
このように、クライアント端末1からデバイスサーバ2経由でUSBデバイス3にデータを送信する場合、連続通信トンネリングパケットとして送信することで、原則として、デバイスサーバ2はクライアント端末1に応答を返さない。デバイスサーバ2では、エラー発生などの場合に限り、クライアント端末1に応答を返す。
このように、クライアント端末1からデバイスサーバ2へのデータ要求は1回に統合され(111a)、デバイスサーバ2からUSBデバイス3へのデータ要求は、従来と同様に細切れ状態で複数回に分けてコマンドを発行する(111b,112b,113b)。
このように、上述した実施例では、連続したデータ送信であることを判断するのはクライアント端末1であったが、必ずしも、当該判断はクライアント端末1で行われる必要はない。たとえば、連続通信トンネリングパケットではなく、何らかの手段により、デバイスサーバ2が連続したデータ送信であることを認識することができれば、デバイスサーバ2自身は、応答通信を間引く動作を実現することが可能である。つまり、デバイスサーバ2単独で応答通信を間引くことができるわけである。
デバイスサーバ2が連続通信であることを認識する手段として、たとえば、実データが含まれる上述の連続通信トンネリングパケットではなく、連続通信のみを通知する通信を利用することや、通常のトンネリングパケットの内容から、デバイスサーバ2が連続通信であることを推定することなどが利用可能である。
2 デバイスサーバ
3 USBデバイス
4 USB接続ケーブル
5 ネットワーク
7 モニター端末
8 RGB信号ケーブル
Claims (3)
- ネットワークを通じてクライアントとデバイスサーバとがTCPプロトコルにて接続されており、当該デバイスサーバには所定のデバイスが接続され、当該クライアントがネットワークを通じて当該デバイスサーバ経由にて当該所定のデバイスを利用するデバイスサーバシステムであって、
前記クライアントは、
前記所定のデバイスを制御する命令を発行するデバイス制御手段と、
前記デバイス制御手段が発行した前記命令であって、所定単位のデータを前記所定のデバイスに対して送信するデータ送信手段と、
前記データ送信手段によるデータ送信であって、複数の連続した当該データ送信が行われると判断すると、連続送信通知のパケットを前記デバイスサーバに対して送信する連続送信通知手段と、を備え、
前記デバイスサーバは、
前記連続送信通知を受信した場合、所定の場合についてのみ、前記連続送信通知にかかる応答を前記クライアントに対して送信する通知応答送信手段と、
を備え、
前記所定の場合は、「前記デバイスからの応答データを検出した」または「前記デバイスのステータス変化を検出した」のいずれか1つを含む、デバイスサーバシステム。
- ネットワークを通じてクライアントとデバイスサーバとがTCPプロトコルにて接続されており、当該デバイスサーバには所定のデバイスが接続され、当該クライアントがネットワークを通じて当該デバイスサーバ経由にて当該所定のデバイスを利用するデバイスサーバシステムにおけるデバイスサーバであって、
前記クライアントが前記所定のデバイスに対して送信した、所定単位のデータを受信するデータ受信手段と、
前記データ受信手段が受信した前記所定単位のデータが複数連続して受信(連続受信)するか否かを判断する連続受信判断手段と、
前記連続受信判断手段が連続受信をすると判断した場合、所定の場合についてのみ、前記連続受信にかかる応答を前記クライアントに対して送信する応答送信手段と、
を備え、
前記所定の場合は、「前記デバイスからの応答データを検出した」または「前記デバイスのステータス変化を検出した」のいずれか1つを含む、デバイスサーバ。
- ネットワークを通じてクライアントとデバイスサーバとがTCPプロトコルにて接続されており、当該デバイスサーバには所定のデバイスが接続され、当該クライアントがネットワークを通じて当該デバイスサーバ経由にて当該所定のデバイスを利用するデバイスサーバシステムにおけるデバイスサーバを、
前記クライアントが前記所定のデバイスに対して送信した、所定単位のデータを受信するデータ受信手段、
前記データ受信手段が受信した前記所定単位のデータが複数連続して受信(連続受信)するか否かを判断する連続受信判断手段、
前記連続受信判断手段が連続受信をすると判断した場合、所定の場合についてのみ、前記連続受信にかかる応答を前記クライアントに対して送信する応答送信手段、
として機能させ、
前記所定の場合は、「前記デバイスからの応答データを検出した」または「前記デバイスのステータス変化を検出した」のいずれか1つを含む、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013027060A JP5998343B2 (ja) | 2013-02-14 | 2013-02-14 | デバイスサーバシステム、デバイスサーバおよびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013027060A JP5998343B2 (ja) | 2013-02-14 | 2013-02-14 | デバイスサーバシステム、デバイスサーバおよびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014157419A JP2014157419A (ja) | 2014-08-28 |
JP5998343B2 true JP5998343B2 (ja) | 2016-09-28 |
Family
ID=51578271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013027060A Active JP5998343B2 (ja) | 2013-02-14 | 2013-02-14 | デバイスサーバシステム、デバイスサーバおよびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5998343B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6169629B2 (ja) * | 2015-01-27 | 2017-07-26 | 日本電信電話株式会社 | Usb信号制御方法及びusb仮想化通信システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000036823A (ja) * | 1998-07-21 | 2000-02-02 | Oki Electric Ind Co Ltd | データi/o装置 |
ATE239256T1 (de) * | 1999-02-19 | 2003-05-15 | Icron Systems Inc | Verfahren und vorrichtung zur erweiterung des usb-protokollbereichs |
JP2007219711A (ja) * | 2006-02-15 | 2007-08-30 | Silex Technology Inc | リモートデバイス制御プログラム |
US7587536B2 (en) * | 2006-07-28 | 2009-09-08 | Icron Technologies Corporation | Method and apparatus for distributing USB hub functions across a network |
US7647446B2 (en) * | 2006-10-03 | 2010-01-12 | Silex Technology, Inc. | Networked isochronous USB communication |
JP2008093942A (ja) * | 2006-10-11 | 2008-04-24 | Canon Inc | 印刷装置 |
JP5646986B2 (ja) * | 2010-12-24 | 2014-12-24 | キヤノンイメージングシステムズ株式会社 | クライアント装置、デバイス制御方法、およびデバイス制御システム |
-
2013
- 2013-02-14 JP JP2013027060A patent/JP5998343B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014157419A (ja) | 2014-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI387876B (zh) | 使用者介面切換器系統及資料傳輸方法 | |
WO2023284699A1 (zh) | 基于Linux***的协议栈数据传输方法、计算机设备和存储介质 | |
US20140215358A1 (en) | Screen sharing system and central apparatus | |
US20140082180A1 (en) | Information processor apparatus, information processing method, and recording medium | |
JP2012244405A5 (ja) | 画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ | |
US20120166585A1 (en) | Apparatus and method for accelerating virtual desktop | |
CN104461978B (zh) | 单向数据传输的方法及装置 | |
US9258180B2 (en) | Information processing apparatus and computer-readable storage medium | |
CN101340342B (zh) | 图像形成***及其装置管理方法 | |
JP5092200B2 (ja) | ネットワーク装置およびイベント処理方法 | |
US8380888B2 (en) | System and method for determining printer health | |
US9639307B2 (en) | Information processing system, apparatus, and method | |
JP5998343B2 (ja) | デバイスサーバシステム、デバイスサーバおよびプログラム | |
JP6289057B2 (ja) | 通信装置とその制御方法、印刷装置とその制御方法、及びプログラム | |
CN111404842B (zh) | 数据传输方法、装置及计算机存储介质 | |
WO2014010189A1 (ja) | プロキシ装置、通信システム、プログラム | |
JP2019191962A (ja) | 画面送信プログラム、画面送信方法及び画面送受信システム | |
JP5577140B2 (ja) | 情報処理システム及び情報処理方法 | |
JP3797363B2 (ja) | iSCSI装置及びその通信制御方法 | |
JP2010049543A (ja) | プログラマブルコントローラ、入出力装置、および動作パラメータアクセスシステム | |
JP6903843B2 (ja) | ノード | |
JP5652891B2 (ja) | リモートデスクトップシステム | |
JP2003244277A (ja) | プロトコル変換によるデータ転送方法とシステムならびにプログラム | |
JP2008146527A (ja) | コマンド処理方式 | |
JP2009253723A (ja) | 通信プロトコル処理回路及び通信プロトコル処理方法ならびに通信端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160128 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160128 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160428 |
|
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: 20160715 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160725 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5998343 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |