JP6233652B2 - デバイスサーバとその制御方法 - Google Patents
デバイスサーバとその制御方法 Download PDFInfo
- Publication number
- JP6233652B2 JP6233652B2 JP2014176516A JP2014176516A JP6233652B2 JP 6233652 B2 JP6233652 B2 JP 6233652B2 JP 2014176516 A JP2014176516 A JP 2014176516A JP 2014176516 A JP2014176516 A JP 2014176516A JP 6233652 B2 JP6233652 B2 JP 6233652B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- client
- isochronous
- device server
- 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
また、コンピュータにローカル接続されていた周辺機器は、IPネットワークが周辺機器の制御データの送受信に十分耐えるほど高速化した現在において、コンピュータとIPネットワークを介して周辺機器の制御が可能になっている。
このような状況下、IPネットワークを通じて、コンピュータの周辺機器であるUSB(Universal Serial Bus)デバイスを当該ネットワークに接続しているコンピュータから利用することのできるデバイスサーバシステムが知られている(特許文献1、非特許文献1を参照)。
特許文献2に開示された制御方法によれば、クライアントは、USBデバイスからの応答情報の遅延(受信待ち)によって、次のアイソクロナス転送要求の処理が停滞することがなくなるため、アイソクロナス出力転送で保証する最低限のデータ転送量を維持することができる。
しかし、特に無線LANの場合は電波状況によりネットワークのリンク切れやアグリゲーションの弊害によってネットワーク転送が滞り、クライアントによる数百ミリ秒の先読みだけでは担保できないことがある。
クライアントは、USBデバイスのステータスに関する応答をデバイスサーバ経由で受信するため、こうした回復不能でないエラーにも関わらず、クライアントはデバイスサーバとのセッションを切断してしまい、アイソクロナス転送は終了してしまう。
上記状況に鑑みて、本発明は、デバイスがローカル接続されたデバイスサーバにおけるアイソクロナス出力転送のアシンクロナス(非同期)モードにおいて、ネットワークの遅延によるデータ転送量の起伏に伴う影響を無くし、アイソクロナス転送で保証すべきデータ転送量を維持でき、アイソクロナス出力転送のネットワーク耐性を向上するデバイスサーバおよびデバイスサーバ制御方法を提供することを目的とする。
クライアントからアシンクロナス(非同期)モードのアイソクロナス入力転送要求を受信すると前記クライアントから送信されたアイソクロナス出力転送データをデータバッファ部に蓄積する。そして、データバッファ部の保持データ量が上限閾値に到達した場合に、データバッファ部に蓄積されたアイソクロナス出力転送データを、デバイスに対してアイソクロナス出力転送する。
FBD解析部が行うFBDの解析処理は、デバイスサーバの中の何らかのプログラムモジュールの処理の一部として解析処理が埋め込まれていても構わない。
保持データ量が上限閾値に到達するとは、保持データ量が上限閾値と一致するか、上限閾値を超えることを意味する。データバッファ部のバッファサイズは、バッファオーバフローを回避するために、上限閾値よりも大きく確保すべきである。上限閾値は、データバッファ部の物理的なバッファサイズに1未満の係数を乗じた値とするのが良い。一方、下限閾値は、0(ゼロ)、或は、上限閾値より小さい所定の値である。下限閾値は、実質的にデータバッファ部が空の状態の値であり、0(ゼロ)とするのでも良い。
上記構成によれば、クライアントからアシンクロナス(非同期)モードのアイソクロナス入力転送要求を受信すると、即座にクライアントに対して転送完了応答を返すことができ、アイソクロナス出力転送データの先読みを行える。先読みを行い、受信した転送データをデータバッファ部に蓄積し、データバッファ部の保持データ量を十分に確保して、デバイスに対してアイソクロナス出力転送を開始することにより、アイソクロナス転送で保証すべきデータ転送量を維持できる。これによりネットワーク環境が不安定になった場合でも、デバイスに対して安定したデータ出力を行える。無線LANのようにネットワークのリンク切れやアグリゲーションの弊害でデータ転送が滞るような事象が発生する場合に、特に効果を期待することができる。
例えば、デバイスがUSBスピーカである場合、デバイスサーバにデータバッファ部を設けることにより、無線LAN使用時などでネットワーク環境が不安定になっても、ネットワーク環境が回復するまで、データバッファ部にバッファリング(蓄積)された音声転送データをUSBスピーカに出力することにより、安定した音声出力を行うことができる。
これにより、デバイスのバッファメモリが、バッファアンダーフロー又はオーバーフローしないように調整できる。
本発明のデバイスサーバの制御方法は、クライアントとネットワークを介して接続され、アイソクロナス転送を行うデバイスがローカル接続されたデバイスサーバの制御方法であって、下記1)〜5)のステップを備える。
1)クライアントからアシンクロナス(非同期)モードのアイソクロナス入力転送要求を受信する転送要求受信ステップ
2)クライアントからアシンクロナス(非同期)モードのアイソクロナス入力転送要求を受信するとクライアントから送信されたアイソクロナス出力転送データをデータバッファ部に蓄積する転送データ保存ステップ
3)データバッファ部の保持データ量が上限閾値に到達した場合に、データバッファ部に蓄積されたアイソクロナス出力転送データを、デバイスに対してアイソクロナス出力転送する転送ステップ
4)デバイスからFBDを受信し解析するFBD解析ステップ
5)FBD解析ステップによるFBDの解析の結果、デバイス内のバッファメモリが適量よりも少ないと判別した場合で、かつ、データバッファ部の保持データ量が下限閾値に到達していない場合に、データバッファ部に蓄積されたアイソクロナス出力転送データを、デバイスに対してアイソクロナス出力転送する出力転送ステップ
上記構成によれば、クライアントからアシンクロナス(非同期)モードのアイソクロナス入力転送要求を受信すると、即座にクライアントに対して転送完了応答を返すことができ、アイソクロナス出力転送データの先読みを行え、データバッファ部の保持データ量を十分に確保して、アイソクロナス転送で保証すべきデータ転送量を維持できる。これによりネットワーク耐性を向上する。
デバイスのバッファメモリのバッファアンダーフロー又はオーバーフローを避けるためである。
本発明のクライアントは、上述した本発明のデバイスサーバとネットワークを介して接続され、デバイスサーバにローカル接続されたデバイスにアイソクロナス転送を行う。本発明のクライアントは、USBデバイスドライバが発行したアイソクロナス入出力転送データを受け取り、アイソクロナス入出力転送データをIPパケットに変換して通信制御ドライバに引き渡す手段を備える。また、通信制御ドライバを介して、デバイスサーバから転送完了応答を受け取った場合に、その転送完了応答をUSBデバイスドライバに返し、デバイスサーバから転送完了応答を受け取っていない場合にはダミーデータをUSBデバイスドライバに返す手段を備える。
USBデバイスドライバでは、USBデバイスからの応答情報の遅延(受信待ち)によって、次のアイソクロナス転送要求の処理が停滞することがなくなる。これによって、アイソクロナス出力転送で保証する最低限のデータ転送量を維持することができる。
図1に示すデバイスサーバシステムでは、クライアント20からネットワーク40経由でデバイスサーバ10にローカル接続されているUSBデバイス30を制御する。
なお、ネットワーク40は、有線もしくは無線のネットワークである。また図1では、クライアント20とデバイスサーバ10は1:1で接続されているが、それぞれ複数存在し、N:1、1:N、N:M(N,Mは2以上の自然数)で接続されるものでもよい。また、デバイスサーバ10にローカル接続されるUSBデバイスは2台以上でもよい。
このクライアント20には、外部記憶部に格納され、CPUによる実行時にメモリに搭載されるアプリケーション21とデバイスドライバ22とUSBクラスドライバ23とトンネリングドライバ24と通信制御ドライバ25がソフトウェア部品として存在する。
この他、ソフトウェア部品として、OS(Operating System)、常駐モジュール、データ通信制御プログラムなどがあり、制御に必要な各種データと共に外部記憶部に格納されている。これらソフトウェア部品及び各種データは、CPUの制御に従い、メモリ上に読み出されて各種制御が実行される。
上位プログラムからのアイソクロナス転送によるデータ出力要求についても、同様に、アイソクロナス出力対象のUSBデバイス30に応じたデータ形式に変換される。
トンネリングドライバ12では、クラインアント20からネットワークを介し、IPパケットを受信すると、このIPパケットからUSBのデータ形式に準拠したパケットデータを取り出し(デカプセルして)、USBドライバ13に送る。また、トンネリングドライバ12は、USBドライバ13からUSBのデータ形式に準拠したパケットデータを受け取って、IPパケットにカプセル化する。
一方、USBデバイス30からデバイスサーバ経由で新たなFBDを受信している場合は、これをクライアント20のUSBクラスドライバ23に対し、転送完了応答として返す。
デバイスサーバ10は、クライアント20のトンネリングドライバ24からUSB転送要求を受信すると(ステップS01)、USB転送方式がアイソクロナス方式か否かを判定する(ステップS03)。判定の結果、USB転送方式がアイソクロナス方式の要求であれば(ISOC−IN要求であれば)、さらに制御モードがFBD制御モード(アシンクロナスモード)であるか否かを判定し(ステップS05)、制御モードがFBD制御モードの場合は、後述するFBD制御を実行する(ステップS07)。
一方、USB転送方式の判定(ステップS03)においてUSB転送方式がアイソクロナス方式以外であるか、または制御モードの判定(ステップS05)においてアシンクロナスモード以外である場合には、通常処理(本実施形態に記載するようなFBDの解析を行わず、FBDに依拠しないでデバイスにアイソクロナス入力転送要求を行う処理)を実行する(ステップS09)。
トンネリングドライバ24は、USBクラスドライバ23からISOC−IN要求発生すると(ステップS21)、ISOC−IN要求を自律制御する場合には(ステップS23)、さらにデバイスサーバ10からFBDを受信済である場合(ステップS25)、受信した最新のFBDをUSBクラスドライバ23に返す(ステップS27)。
一方、ISOC−IN要求を自律制御しない場合には(ステップS23)、そのまま処理を終了し、自律制御しない通常のISOC−IN要求処理を行う。また、デバイスサーバ10からFBDを受信していない場合(ステップS25)、デバイスサーバ10から受け取るダミーデータをUSBクラスドライバ23に返す(ステップS27)。
20 クライアント
30 USBデバイス
31 USB接続ケーブル
32 スピーカ
40 ネットワーク
Claims (6)
- クライアントとネットワークを介して接続され、アイソクロナス転送を行うデバイスがローカル接続されたデバイスサーバであって、
データバッファ部と、
前記デバイスからフィードバックデータ(FBD)を受信して解析するFBD解析部と、
を備え、
前記クライアントからアシンクロナス(非同期)モードのアイソクロナス入力転送要求を受信すると前記クライアントから送信されたアイソクロナス出力転送データを前記データバッファ部に蓄積し、
前記データバッファ部の保持データ量が上限閾値に到達した場合に、前記データバッファ部に蓄積された前記アイソクロナス出力転送データを、前記デバイスに対してアイソクロナス出力転送し、
前記デバイスから前記フィードバックデータを受信し、
前記FBD解析部による前記フィードバックデータの解析の結果、前記デバイス内のバッファメモリの使用領域のデータ量が適量よりも少ないと判別した場合で、かつ、前記データバッファ部の前記保持データ量が下限閾値に到達していない場合に、前記データバッファ部に蓄積された前記アイソクロナス出力転送データを、前記デバイスに対して前記アイソクロナス出力転送する、ことを特徴とするデバイスサーバ。 - 前記クライアントから前記アイソクロナス入力転送要求を受信すると、前記フィードバックデータを受信していれば、最新の前記フィードバックデータを前記クライアントに対する転送完了応答として返し、前記フィードバックデータを受信していなければ、前記クライアントに対してダミーデータを前記転送完了応答として返す、ことを特徴とする請求項1に記載のデバイスサーバ。
- 前記クライアントから前記アイソクロナス入力転送要求を受信すると、
(a)前記フィードバックデータに依拠することなく前記デバイスに前記アイソクロナス入力転送要求を行うモード(通常モード)と、
(b)前記クライアントから送信されたアイソクロナス出力転送データを前記データバッファ部に蓄積して、前記フィードバックデータを解析しながら前記アイソクロナス入力転送要求を行う、フィードバックデータ制御モード(FBD制御モード)と
の間で切替し得る、ことを特徴とする請求項1又は2に記載のデバイスサーバ。 - クライアントとネットワークを介して接続され、アイソクロナス転送を行うデバイスがローカル接続されたデバイスサーバの制御方法であって、
前記クライアントからアシンクロナス(非同期)モードのアイソクロナス入力転送要求を受信する転送要求受信ステップと、
前記クライアントから前記アイソクロナス入力転送要求を受信すると前記クライアントから送信されたアイソクロナス出力転送データをデータバッファ部に蓄積する転送データ保存ステップと、
前記データバッファ部の保持データ量が上限閾値に到達した場合に、前記データバッファ部に蓄積された前記アイソクロナス出力転送データを、前記デバイスに対してアイソクロナス出力転送する転送ステップと、
前記デバイスからフィードバックデータを受信し解析するFBD解析ステップと、
前記FBD解析ステップによる前記フィードバックデータの解析の結果、前記デバイス内のバッファメモリの使用領域のデータ量が適量よりも少ないと判別した場合で、かつ、前記データバッファ部の前記保持データ量が下限閾値に到達していない場合に、前記データバッファ部に蓄積されたアイソクロナス出力転送データを、前記デバイスに対して前記アイソクロナス出力転送する出力転送ステップと、
を備えたことを特徴とするデバイスサーバ制御方法。 - 前記転送要求受信ステップにおいて、前記クライアントから前記アイソクロナス入力転送要求を受信した際、前記デバイスから前記フィードバックデータを受信していれば、最新の前記フィードバックデータを前記クライアントに対する転送完了応答として返し、前記フィードバックデータを受信していなければ、前記クライアントに対してダミーデータを前記転送完了応答として返すクライアント応答ステップを、
更に備えたことを特徴とする請求項4に記載のデバイスサーバ制御方法。 - 請求項2に記載のデバイスサーバと、
前記デバイスサーバにローカル接続された前記デバイスと、
前記デバイスサーバとネットワークを介して接続され、前記デバイスに前記アイソクロナス転送を行うクライアントから構成され、
前記クライアントは、
USBデバイスドライバが発行したアイソクロナス入出力転送データを受け取り、該アイソクロナス入出力転送データをIPパケットに変換して通信制御ドライバに引き渡す手段と、
前記通信制御ドライバを介して、前記デバイスサーバから転送完了応答を受け取った場合に、前記転送完了応答を前記USBデバイスドライバに返し、前記デバイスサーバから前記転送完了応答を受け取っていない場合にはダミーデータを前記USBデバイスドライバに返す手段と、を備えることを特徴とするシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014176516A JP6233652B2 (ja) | 2014-08-29 | 2014-08-29 | デバイスサーバとその制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014176516A JP6233652B2 (ja) | 2014-08-29 | 2014-08-29 | デバイスサーバとその制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016051347A JP2016051347A (ja) | 2016-04-11 |
| JP6233652B2 true JP6233652B2 (ja) | 2017-11-22 |
Family
ID=55658795
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014176516A Active JP6233652B2 (ja) | 2014-08-29 | 2014-08-29 | デバイスサーバとその制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6233652B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7314500B2 (ja) * | 2018-11-21 | 2023-07-26 | ヤマハ株式会社 | プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7647446B2 (en) * | 2006-10-03 | 2010-01-12 | Silex Technology, Inc. | Networked isochronous USB communication |
| JP4613328B2 (ja) * | 2007-05-17 | 2011-01-19 | サイレックス・テクノロジー株式会社 | Usbデバイスサーバおよびusbデバイスサーバシステム |
| JP5646986B2 (ja) * | 2010-12-24 | 2014-12-24 | キヤノンイメージングシステムズ株式会社 | クライアント装置、デバイス制御方法、およびデバイス制御システム |
| KR102073236B1 (ko) * | 2012-07-05 | 2020-03-02 | 오므론 매니지먼트 센터 오브 아메리카, 인코포레이티드 | 중계 전송을 통한 usb 시그널링 방법 및 장치 |
-
2014
- 2014-08-29 JP JP2014176516A patent/JP6233652B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016051347A (ja) | 2016-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6889126B2 (ja) | 転送制御装置、転送制御方法及びプログラム | |
| US10069894B2 (en) | Electronic device, storage medium and file transferring method | |
| CN104937891B (zh) | 用于在电子设备中控制业务的方法和装置 | |
| EP3697057B1 (en) | Method for controlling bitrate in realtime and electronic device thereof | |
| WO2014187220A1 (en) | Electronic device, storage medium and file transferrting method | |
| CN105594182A (zh) | 用于媒体流式传输的改善的请求取消方法 | |
| KR20180086114A (ko) | 재생 지연 방지 시스템을 포함하는 미디어 재생 장치 및 방법 | |
| CN110830460B (zh) | 一种连接建立方法、装置、电子设备及存储介质 | |
| WO2016000528A1 (zh) | 一种音频输出方法及设备 | |
| JP6232604B2 (ja) | デバイスサーバとその制御方法 | |
| KR102532645B1 (ko) | 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치 | |
| US20120166585A1 (en) | Apparatus and method for accelerating virtual desktop | |
| US20150172733A1 (en) | Content transmission device, content playback device, content delivery system, control method for content transmission device, control method for content playback device, data structure, control program, and recording medium | |
| US20090157896A1 (en) | Tcp offload engine apparatus and method for system call processing for static file transmission | |
| JP6233652B2 (ja) | デバイスサーバとその制御方法 | |
| JP7162019B2 (ja) | データストリーミング方法、データストリーミング装置、及びコンピュータプログラム | |
| CN112888062B (zh) | 数据同步方法、装置、电子设备及计算机可读存储介质 | |
| KR101341668B1 (ko) | 데이터 통신 링크를 통한 데이터 흐름 제어 | |
| JP6090751B2 (ja) | デバイスサーバとその制御方法 | |
| CN103716650B (zh) | 服务器装置和信息处理方法 | |
| JP2003209594A (ja) | プログラム、記録媒体、並びに情報送信装置および方法 | |
| US9413664B1 (en) | Resuming media objects delivered via streaming services upon data loss events | |
| US20070127485A1 (en) | Apparatus and method for transmitting packet IP offload | |
| CN103414938A (zh) | 数字电视一体机内部通讯的控制方法及数字电视一体机 | |
| US20150341678A1 (en) | Video supply apparatus, video obtaining apparatus, control methods thereof, and video supply system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170427 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170427 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170530 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170720 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170911 |
|
| 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: 20171003 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171011 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6233652 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 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |