JP6090751B2 - Device server and its control method - Google Patents
Device server and its control method Download PDFInfo
- Publication number
- JP6090751B2 JP6090751B2 JP2013201855A JP2013201855A JP6090751B2 JP 6090751 B2 JP6090751 B2 JP 6090751B2 JP 2013201855 A JP2013201855 A JP 2013201855A JP 2013201855 A JP2013201855 A JP 2013201855A JP 6090751 B2 JP6090751 B2 JP 6090751B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- isochronous
- client
- isochronous output
- 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
- 238000000034 method Methods 0.000 title claims description 22
- 238000012546 transfer Methods 0.000 claims description 258
- 239000000872 buffer Substances 0.000 claims description 23
- 230000003139 buffering effect Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims 2
- 230000004044 response Effects 0.000 description 37
- 238000004891 communication Methods 0.000 description 16
- 230000005641 tunneling Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Description
本発明は、クライアントとデバイスとの間で、ネットワークを介してアイソクロナス転送を行うデバイスサーバおよびその制御方法に関するものである。 The present invention relates to a device server that performs isochronous transfer between a client and a device via a network, and a control method therefor.
有線LAN(Local
Area Network)または無線LANなどのネットワークを通じて、コンピュータ周辺機器であるUSB(Universal Serial Bus)デバイスを当該ネットワークに接続しているコンピュータ端末(クライアント)から利用することのできるデバイスサーバシステムが知られている(特許文献1、非特許文献1を参照)。
Wired LAN (Local
2. Description of the Related Art A device server system is known in which a USB (Universal Serial Bus) device, which is a computer peripheral device, can be used from a computer terminal (client) connected to the network via a network such as an area network or a wireless LAN. (See Patent Document 1 and Non-Patent Document 1).
デバイスサーバシステムでは、クライアントのデバイスドライバが発行したコマンド等のデータがネットワークパケット(トンネリングパケットと呼ぶ)に変換され、これがクライアントからデバイスサーバに向けて送信される。当該トンネリングパケットを受信したデバイスサーバは、受信したトンネリングパケットに含まれるコマンド等のデータを取り出し、USB通信に変換して自身にローカル接続されているUSBデバイスに転送する。 In the device server system, data such as a command issued by a client device driver is converted into a network packet (referred to as a tunneling packet), which is transmitted from the client to the device server. The device server that has received the tunneling packet extracts data such as a command included in the received tunneling packet, converts it into USB communication, and transfers it to a USB device locally connected to itself.
デバイスサーバとUSBデバイスとの間における通信は、USB規格の通信に準じている。例えば、クライアントからUSBデバイスへの送信の場合、クライアントからデバイスサーバを経由してUSBデバイスにデータを送信するとともに、随時、USBデバイスのステータスに関する応答をクライアントはデバイスサーバ経由で受信する。 Communication between the device server and the USB device conforms to USB standard communication. For example, in the case of transmission from a client to a USB device, data is transmitted from the client to the USB device via the device server, and at any time, the client receives a response regarding the status of the USB device via the device server.
USBデバイスがスピーカやディスプレイの場合、クライアントからUSBデバイスに対して音声や映像などリアルタイム性を必要とするストリーミングデータを転送する。この場合、一定時間あたりの最低限のデータ転送量を保証するアイソクロナス方式によるデータ転送(アイソクロナス転送)を行うことにより、途切れることなくデータを転送することができる。 When the USB device is a speaker or a display, streaming data that requires real-time properties such as audio and video is transferred from the client to the USB device. In this case, data can be transferred without interruption by performing data transfer (isochronous transfer) by an isochronous method that guarantees a minimum data transfer amount per fixed time.
デバイスサーバを介してクライアントとUSBデバイス間でアイソクロナス転送を行う場合、クライアントとUSBデバイスはローカル接続されているのではなく、ネットワーク経由で接続されていることから、ネットワークトラフィックが高くなり、ネットワーク区間のデータ転送速度が低下するため、アイソクロナス転送で保証する最低限のデータ転送量を維持する必要がある。 When performing isochronous transfer between a client and a USB device via a device server, the client and the USB device are not connected locally, but are connected via a network. Since the data transfer rate decreases, it is necessary to maintain the minimum data transfer amount guaranteed by isochronous transfer.
クライアントからUSBデバイスに対してアイソクロナス転送する場合、ネットワークで生じるデータ転送速度低下の影響をできる限りなくして、アイソクロナス出力転送を維持できるようにすることを目的として、クライアントは、クライアント内でアイソクロナス転送要求に対する(デバイスサーバ経由で)USBデバイスからの応答情報を擬制して処理することで、応答情報を受信したものと判断して、USBデバイスからの応答情報を待たずに次のアイソクロナス転送要求を送出し、デバイスサーバは、USBデバイスからの応答情報を破棄してクライアントへ返送しないように制御する制御方法が知られている(特許文献2)。
特許文献2に開示された制御方法によれば、クライアントは、USBデバイスからの応答情報の遅延(受信待ち)によって、次のアイソクロナス転送要求の処理が停滞することがなくなるため、アイソクロナス出力転送で保証する最低限のデータ転送量を維持することができ、また、デバイスサーバからネットワーク上に応答情報が送出されなくなるので、ネットワークトラフィックの低減を図ることができる。
When isochronous transfer is performed from a client to a USB device, the client makes an isochronous transfer request within the client in order to maintain the isochronous output transfer while minimizing the influence of the data transfer speed reduction that occurs in the network. It is determined that the response information has been received by processing the response information from the USB device (via the device server), and the next isochronous transfer request is sent without waiting for the response information from the USB device. A control method is known in which the device server performs control so that the response information from the USB device is discarded and not returned to the client (Patent Document 2).
According to the control method disclosed in Patent Document 2, the client is guaranteed by isochronous output transfer because processing of the next isochronous transfer request is not delayed due to delay (waiting for reception) of response information from the USB device. The minimum data transfer amount can be maintained, and since response information is not sent from the device server to the network, network traffic can be reduced.
上記の特許文献2に開示された制御方法は、クライアントの内部処理において、応答情報を擬製し、応答情報を受信したものと判断して、USBデバイスからの応答情報を待たずに次のアイソクロナス転送要求を送出することで、アイソクロナス転送で保証する最低限のデータ転送量を維持するものである。
しかしながら、デバイスサーバは、USBデバイスからの応答情報を破棄してクライアントへ返送しないように制御することから、USBデバイスからの応答情報が回復不能なエラー(致命的なエラー)の場合であっても、クライアントは次のアイソクロナス転送要求を送出することになり、好ましくないという問題がある。
In the control method disclosed in Patent Document 2 above, in the internal processing of the client, it is determined that the response information is forged and the response information is received, and the next isochronous transfer is performed without waiting for the response information from the USB device. By sending a request, the minimum data transfer amount guaranteed by isochronous transfer is maintained.
However, since the device server performs control so that the response information from the USB device is discarded and not returned to the client, the response information from the USB device is an unrecoverable error (fatal error). The client sends the next isochronous transfer request, which is not preferable.
また、デバイスサーバの内部処理において、アイソクロナス転送要求に対するUSBデバイスからの応答情報を擬製してダミー応答データをクライアントに送信するデバイスサーバの制御方法が知られている(特許文献3)。
特許文献3に開示された制御方法によれば、クライアントは、USBデバイスからの応答情報の遅延(受信待ち)によって、次のアイソクロナス転送要求の処理が停滞することがなくなるため、アイソクロナス出力転送で保証する最低限のデータ転送量を維持することができる。
In addition, in the internal processing of the device server, a device server control method is known in which response information from a USB device in response to an isochronous transfer request is forged and dummy response data is transmitted to a client (Patent Document 3).
According to the control method disclosed in Patent Document 3, the client is guaranteed by isochronous output transfer because processing of the next isochronous transfer request is not stagnated due to a delay (waiting for reception) of response information from the USB device. The minimum data transfer amount can be maintained.
しかしながら、特許文献3に開示された制御方法を実行するデバイスサーバは、所定時間経過してもUSBデバイスからの応答情報を受け取らなかった場合には、USBデバイスからの応答情報を擬製してダミー応答データをクライアントに送信することから、USBデバイス自体が回復不能なステータス(致命的なステータス)の場合であっても、クライアントは次のアイソクロナス転送要求を送出することになり、好ましくないという問題がある。また、特許文献3に開示された制御方法を実行するデバイスサーバは、所定時間内に受け取ったUSBデバイスからの応答情報をそのままクライアントに送信するので、応答情報にエラーがあった場合に、クライアントがデバイスサーバとの通信セッションをすぐに切断してしまうという問題がある。 However, if the device server that executes the control method disclosed in Patent Document 3 does not receive the response information from the USB device even after a predetermined time has elapsed, the device server forges the response information from the USB device and performs a dummy response. Since data is transmitted to the client, even if the USB device itself is in an unrecoverable status (fatal status), the client sends the next isochronous transfer request, which is not preferable. . In addition, since the device server that executes the control method disclosed in Patent Document 3 transmits the response information from the USB device received within a predetermined time to the client as it is, when there is an error in the response information, the client There is a problem that the communication session with the device server is immediately disconnected.
従来、クライアントは数百ミリ秒先読みしてアイソクロナス転送要求し、ネットワークの遅延を担保している。デバイスサーバでは、クライアントよりスケジューリングされたアイソクロナス転送要求をそのままに、USBデバイスに対してアイソクロナス転送を行っている。
しかし、特に無線LANの場合は電波状況によりネットワークのリンク切れやアグリゲーションの弊害によってネットワーク転送が滞り、クライアントによる数百ミリ秒の先読みだけでは担保できないことがある。
Conventionally, the client prefetches several hundred milliseconds and makes an isochronous transfer request to guarantee a network delay. The device server performs isochronous transfer to the USB device while keeping the isochronous transfer request scheduled by the client as it is.
However, especially in the case of a wireless LAN, network transfer may be delayed due to a broken link of the network or an adverse effect of aggregation depending on the radio wave condition, and it may not be ensured only by prefetching several hundred milliseconds by the client.
一旦、無線LANレベルでリンクが切れて復帰した場合に、クライアントから一度に複数のアイソクロナス転送要求が出されて、大量のデータが転送される場合がある。デバイスサーバでは、クライアントのアイソクロナス転送要求をそのままに、USBデバイスに対してアイソクロナス転送を行っているため、アイソクロナス転送のスケジューリングができない現象が発生する。この場合、USB規格の通信エラー(スケジューラのバッファ空きが無いためにデータフローを生じたというスタックレベルのエラー)として応答される。
クライアントは、USBデバイスのステータスに関する応答をデバイスサーバ経由で受信するため、こうした回復不能でないエラーにも関わらず、クライアントはデバイスサーバとのセッションを切断してしまい、アイソクロナス転送は終了してしまう。
Once the link is broken and restored at the wireless LAN level, a plurality of isochronous transfer requests may be issued at a time from the client, and a large amount of data may be transferred. Since the device server performs isochronous transfer to the USB device while keeping the client's isochronous transfer request as it is, a phenomenon that isochronous transfer scheduling cannot occur occurs. In this case, it is responded as a USB standard communication error (a stack level error indicating that a data flow has occurred because there is no scheduler buffer space).
Since the client receives a response regarding the status of the USB device via the device server, the client disconnects the session with the device server in spite of such an unrecoverable error, and the isochronous transfer ends.
このように、従来のデバイスサーバにおけるアイソクロナス転送では、ネットワークの遅延によるデータ転送量の起伏に伴う転送エラーを回復することができない。また従来のデバイスサーバでは、クライアントのアイソクロナス転送要求をそのままに、USBデバイスに対してアイソクロナス転送を行っているためにアイソクロナス転送で保証すべきデータ転送量を維持できない。すなわち、従来のデバイスサーバにおけるアイソクロナス転送方式では、ネットワーク耐性が弱いという問題がある。 As described above, the isochronous transfer in the conventional device server cannot recover the transfer error due to the undulation of the data transfer amount due to the network delay. In addition, since the conventional device server performs isochronous transfer to the USB device while keeping the client's isochronous transfer request as it is, the data transfer amount to be guaranteed by isochronous transfer cannot be maintained. That is, the isochronous transfer method in the conventional device server has a problem that the network tolerance is weak.
上記状況に鑑みて、本発明は、デバイスがローカル接続されたデバイスサーバにおけるアイソクロナス出力転送において、ネットワークの遅延によるデータ転送量の起伏に伴う転送エラーを回復でき、またアイソクロナス転送で保証すべきデータ転送量を維持でき、アイソクロナス出力転送のネットワーク耐性を向上するデバイスサーバおよびデバイスサーバ制御方法を提供することを目的とする。 In view of the above situation, according to the present invention, in isochronous output transfer in a device server to which a device is locally connected, it is possible to recover a transfer error due to the undulation of the data transfer amount due to a network delay, and data transfer to be guaranteed by isochronous transfer It is an object to provide a device server and a device server control method capable of maintaining the amount and improving the network tolerance of isochronous output transfer.
上記目的を達成すべく、本発明のデバイスサーバは、クライアントとネットワークを介して接続され、アイソクロナス転送を行うデバイスがローカル接続されたデバイスサーバにおいて、クライアントからアイソクロナス出力転送要求を受信すると、要求された転送データをバッファリングするデータバッファ部を備え、ローカル接続されたデバイスに対してアイソクロナス出力転送を行い、アイソクロナス出力転送結果が正常完了または回復不能なエラーの何れでもない場合に、データバッファ部にバッファリングされた転送データをデバイスに対して再びアイソクロナス出力転送する。そして、データバッファ部にバッファリングされた転送データを再びアイソクロナス出力転送するタイミングは、「直前のアイソクロナス出力転送結果が正常完了したとき」、または、「クライアントから次のアイソクロナス出力転送要求を受信したとき」である。 In order to achieve the above object, the device server of the present invention is requested when an isochronous output transfer request is received from a client in a device server connected to the client via a network and the device performing isochronous transfer is locally connected. A data buffer unit for buffering transfer data is provided. When the isochronous output transfer is performed to a locally connected device and the result of the isochronous output transfer is neither normal completion nor an unrecoverable error, the data buffer unit is buffered. The ringed transfer data is again isochronously output to the device. And the timing to transfer the transfer data buffered in the data buffer unit again is isochronous output transfer is “when the previous isochronous output transfer result is completed normally” or “when the next isochronous output transfer request is received from the client” Is.
ここで、クライアントとは、パーソナルコンピュータなどの一般的なコンピュータ端末を意味し、ネットワークに接続され、デバイスサーバにローカル接続されたデバイスに対してアイソクロナス出力転送を行う装置である。またデバイスとは、デバイスサーバにローカル接続され、USB通信規格などのデータ通信方式によって、デバイスサーバとデータ通信できる装置である。
また、アイソクロナス出力転送結果において回復不能なエラーとは、デバイスの故障や電源OFFによるデータ通信プロトコルのエラーであり、一方、回復不能ではないエラーとは、前述のようにデータ転送スケジューラのバッファに空きがないためのデータフローによるエラーである。
Here, the client means a general computer terminal such as a personal computer, and is an apparatus that performs isochronous output transfer to a device connected to a network and locally connected to a device server. The device is a device that is locally connected to the device server and can perform data communication with the device server by a data communication method such as a USB communication standard.
In addition, an unrecoverable error in an isochronous output transfer result is a data communication protocol error due to a device failure or power-off. On the other hand, an error that is not recoverable is an empty buffer in the data transfer scheduler as described above. It is an error due to data flow because there is no.
本発明のデバイスサーバは、アイソクロナス出力転送結果が正常完了または回復不能なエラーの場合、クライアントに転送結果を送付する一方、アイソクロナス出力転送結果が回復不能ではないエラーの場合、バッファリングされた転送データをデバイスに対して再びアイソクロナス出力転送することにより、クライアントとデバイスサーバのセッションを継続し、アイソクロナス転送で保証すべきデータ転送量を維持する。
本発明のデバイスサーバは、スケジューリングできなかったアイソクロナス出力データをデバイスサーバ内でバッファリングしておき、先のアイソクロナス出力転送完了時に再スケジュールすることで、出力データを途切れなく転送する。無線LANのようにネットワークのリンク切れやアグリゲーションの弊害でデータ転送が滞るような事象が発生する場合に、特に効果を期待することができる。
The device server of the present invention sends the transfer result to the client when the isochronous output transfer result is normal completion or an unrecoverable error, while the buffered transfer data is transferred when the isochronous output transfer result is an unrecoverable error. By isochronous output transfer to the device again, the session between the client and the device server is continued, and the data transfer amount to be guaranteed by isochronous transfer is maintained.
The device server of the present invention transfers the output data without interruption by buffering isochronous output data that could not be scheduled in the device server and rescheduling when the previous isochronous output transfer is completed. The effect can be expected particularly when an event occurs in which data transfer is delayed due to a broken link of the network or an adverse effect of aggregation like a wireless LAN.
バッファリングされた転送データを再びアイソクロナス出力転送するタイミングとして、「直前のアイソクロナス出力転送結果が正常完了したとき」とするのは、データ転送スケジューラのバッファに空きがないためのデータフローによる回復不能ではないエラーの場合、後にバッファに空きができエラーが解消することが推測できるためである。
また、バッファリングされた転送データを再びアイソクロナス出力転送するタイミングとして、「クライアントから次のアイソクロナス出力転送要求を受信したとき」とするのは、クライアントのアイソクロナス出力転送のスケジュールと同期させるためである。
The timing of isochronous output transfer of buffered transfer data again is “when the previous isochronous output transfer result has been completed normally” because the data transfer scheduler has no available space and cannot be recovered due to data flow. This is because if there is no error, it can be assumed that the buffer will be freed later and the error will be resolved.
In addition, the timing when the buffered transfer data is again isochronous output transferred is “when the next isochronous output transfer request is received from the client” in order to synchronize with the client's isochronous output transfer schedule.
本発明のデバイスサーバにおいて、直前のアイソクロナス出力転送要求の転送が正常完了してから所定時間内に次のアイソクロナス出力転送要求を受信しないとき、直前の転送要求時にバッファリングされた転送データをダミーデータとして、デバイスに対してアイソクロナス出力転送を行うことが好ましい。 In the device server of the present invention, when the next isochronous output transfer request is not received within a predetermined time after the transfer of the previous isochronous output transfer request is normally completed, the transfer data buffered at the time of the previous transfer request is dummy data. It is preferable to perform isochronous output transfer to the device.
アイソクロナス出力転送要求の転送が正常完了してから所定時間内に次のアイソクロナス出力転送要求を受信しないとき、デバイスに対してアイソクロナス転送で保証すべきデータ転送量を維持することができない。
デバイスに対してアイソクロナス転送で保証すべきデータ転送量を維持するために、バッファリングされた転送データをダミーデータとして、デバイスに対してアイソクロナス出力転送を行う。
When the next isochronous output transfer request is not received within a predetermined time after the transfer of the isochronous output transfer request is normally completed, the data transfer amount to be guaranteed by the isochronous transfer cannot be maintained for the device.
In order to maintain the data transfer amount to be guaranteed by isochronous transfer to the device, isochronous output transfer is performed to the device using the buffered transfer data as dummy data.
また、本発明のデバイスサーバの制御方法は、クライアントとネットワークを介して接続され、アイソクロナス転送を行うデバイスがローカル接続されたデバイスサーバの制御方法であって、下記1)〜3)のステップを備える。
1)クライアントからアイソクロナス出力転送要求を受信する転送要求受信ステップと、要求された転送データをバッファリングする転送データ保存ステップ
2)ローカル接続されたデバイスに対してアイソクロナス出力転送を行う出力転送ステップ
3)アイソクロナス出力転送結果が正常完了または回復不能なエラーの何れでもない場合に、バッファリングされた転送データをデバイスに対して再びアイソクロナス出力転送する再転送ステップ
A device server control method according to the present invention is a device server control method in which a device that is connected to a client via a network and performs isochronous transfer is locally connected, and includes the following steps 1) to 3). .
1) Transfer request receiving step for receiving an isochronous output transfer request from the client, and transfer data storing step for buffering the requested transfer data 2) Output transfer step for performing isochronous output transfer to a locally connected device 3) Re-transfer step to transfer the buffered transfer data to the device again when the isochronous output transfer result is neither normal completion nor irrecoverable error
本発明のデバイスサーバの制御方法における再転送ステップにおいて、バッファリングされた転送データを再びアイソクロナス出力転送するタイミングは、直前のアイソクロナス出力転送結果が正常完了したとき、または、クライアントから次のアイソクロナス出力転送要求を受信したときである。 In the re-transfer step in the device server control method of the present invention, the timing at which the buffered transfer data is again isochronously output is transferred when the previous isochronous output transfer result is normally completed or from the client to the next isochronous output transfer. When a request is received.
本発明のデバイスサーバの制御方法において、直前のアイソクロナス出力転送要求の転送が正常完了してから所定時間内に次のアイソクロナス出力転送要求を受信しないとき、直前の転送要求時にバッファリングされた転送データをダミーデータとして、デバイスに対してアイソクロナス出力転送を行うダミー転送ステップを更に備えることが好ましい。 In the device server control method of the present invention, when the next isochronous output transfer request is not received within a predetermined time after the transfer of the previous isochronous output transfer request is normally completed, the transfer data buffered at the time of the previous transfer request It is preferable to further include a dummy transfer step of performing isochronous output transfer to the device using the data as dummy data.
本発明は、デバイスがローカル接続されたデバイスサーバにおけるアイソクロナス出力転送において、ネットワークの遅延によるデータ転送量の起伏に伴う転送エラーを回復でき、またアイソクロナス転送で保証すべきデータ転送量を維持でき、アイソクロナス出力転送のネットワーク耐性を向上するといった効果を奏する。 According to the present invention, in isochronous output transfer in a device server to which a device is locally connected, a transfer error due to undulation of the data transfer amount due to network delay can be recovered, and the data transfer amount to be guaranteed by isochronous transfer can be maintained. There is an effect of improving the network tolerance of output transfer.
以下、本発明の実施形態について、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The scope of the present invention is not limited to the following examples and illustrated examples, and many changes and modifications can be made.
図1は、デバイスサーバシステムの機能ブロックの一例を示している。
図1に示すデバイスサーバシステムでは、クライアント20からネットワーク40経由でデバイスサーバ10にローカル接続されているUSBデバイス30を制御する。
なお、ネットワーク40は、有線もしくは無線のネットワークである。また図1では、クライアント20とデバイスサーバ10は1:1で接続されているが、それぞれ複数存在し、N:1、1:N、N:M(N,Mは2以上の自然数)で接続されるものでもよい。また、デバイスサーバ10にローカル接続されるUSBデバイスは2台以上でもよい。
FIG. 1 shows an example of functional blocks of the device server system.
In the device server system shown in FIG. 1, the USB device 30 locally connected to the device server 10 via the network 40 from the client 20 is controlled.
The network 40 is a wired or wireless network. In FIG. 1, the client 20 and the device server 10 are connected at 1: 1, but there are a plurality of them, and they are connected at N: 1, 1: N, N: M (N and M are natural numbers of 2 or more). It may be done. Two or more USB devices may be locally connected to the device server 10.
ここで、クライアント20は、一般的なパーソナルコンピュータと同様なハードウェア構成を備えており、図示しないCPU、入力部、表示部、メモリ、外部記憶部、図示する通信インタフェース25などが内部バスで接続されている。
このクライアント20には、外部記憶部に格納され、実行時にメモリに搭載されるアプリケーション21とデバイスドライバ22とUSBクラスドライバ23とトンネリングドライバ24がソフトウェア部品として存在する。
この他、ソフトウェア部品として、OS(Operating
System)、常駐モジュール、データ通信制御プログラムなどがあり、制御に必要な各種データと共に外部記憶部に格納されている。これらソフトウェア部品及び各種データは、CPUの制御に従い、メモリ上に読み出されて各種制御が実行される。
Here, the client 20 has a hardware configuration similar to that of a general personal computer, and a CPU (not shown), an input unit, a display unit, a memory, an external storage unit, a communication interface 25 (not shown), and the like are connected via an internal bus. Has been.
The client 20 includes an application 21, a device driver 22, a USB class driver 23, and a tunneling driver 24 that are stored in an external storage unit and are loaded in the memory at the time of execution as software components.
In addition, as a software component, OS (Operating
System), a resident module, a data communication control program, and the like, which are stored in an external storage unit together with various data necessary for control. These software components and various data are read out on the memory and various controls are executed under the control of the CPU.
常駐モジュールは、OSが起動している間、常に待機及び動作しているソフトウェア部品であり、ネットワーク40を介してデバイスサーバ10とデータ送受信を行う。またデバイスサーバ10にローカル接続されているUSBデバイス30を認識して識別するためのUSBデバイス情報を受信する。受信したUSBデバイス情報に基づいて、USBデバイス30とのデータ送受信に必要となるデバイスドライバ22、USBクラスドライバ23を生成し、USBデバイス30を制御できる状態にする。 The resident module is a software component that always stands by and operates while the OS is running, and performs data transmission / reception with the device server 10 via the network 40. Also, USB device information for recognizing and identifying the USB device 30 locally connected to the device server 10 is received. Based on the received USB device information, a device driver 22 and a USB class driver 23 necessary for data transmission / reception with the USB device 30 are generated, and the USB device 30 can be controlled.
デバイスドライバ22は、OSやアプリケーション21、常駐モジュールなど上位プログラムからのデータ入出力要求を、データ入出力対象のUSBデバイス30に応じたデータ形式に変換し、また、USBデバイス30からの応答を上位プログラムへ渡す。
上位プログラムからのアイソクロナス転送によるデータ出力要求(以下、アイソクロナス出力要求)についても、同様に、アイソクロナス出力対象のUSBデバイス30に応じたデータ形式に変換される。
The device driver 22 converts a data input / output request from a higher-level program such as the OS, the application 21, and a resident module into a data format corresponding to the USB device 30 that is a data input / output target, and sends a response from the USB device 30 to the Pass to program.
Similarly, a data output request (hereinafter referred to as an isochronous output request) by isochronous transfer from a higher-level program is also converted into a data format corresponding to the USB device 30 as an isochronous output target.
USBクラスドライバ23は、デバイスドライバ22によって、USBデバイス30に応じたデータ形式に変換されたデータ入出力要求を、USBのデータ形式に準拠したパケットデータに変換してトンネリングドライバ24に渡し、またトンネリングドライバ24から送られてくるUSBのデータ形式に準拠したパケットデータを、データ形式変換してデバイスドライバ22へ渡す。 The USB class driver 23 converts the data input / output request converted into the data format corresponding to the USB device 30 by the device driver 22 into packet data conforming to the USB data format, and passes the packet data to the tunneling driver 24. Packet data conforming to the USB data format sent from the driver 24 is converted to a data format and passed to the device driver 22.
またトンネリングドライバ24は、USBクラスドライバ23から渡されたパケットデータをネットワークパケットにカプセル化する。その一方で、デバイスサーバ10からネットワークパケットを受信すると、このネットワークパケットから応答パケットデータを取り出し(デカプセルして)、USBクラスドライバ23,デバイスドライバ22に受け渡す。 The tunneling driver 24 encapsulates the packet data passed from the USB class driver 23 into a network packet. On the other hand, when a network packet is received from the device server 10, response packet data is taken out (decapsulated) from the network packet and transferred to the USB class driver 23 and the device driver 22.
一方、デバイスサーバ10には、通信インタフェース11とトンネリングドライバ12とUSBドライバ13、およびデータバッファ部14が搭載されている。
トンネリングドライバ12では、クライアント20からネットワークパケットを受信すると、このネットワークパケットからUSBのデータ形式に準拠したパケットデータを取り出し(デカプセルして)、USBドライバ13に送る。また、USBドライバ13からUSBのデータ形式に準拠したパケットデータを受け取って、ネットワークパケットにカプセル化する。
On the other hand, the device server 10 includes a communication interface 11, a tunneling driver 12, a USB driver 13, and a data buffer unit 14.
When receiving a network packet from the client 20, the tunneling driver 12 extracts (decapsulates) packet data conforming to the USB data format from the network packet and sends it to the USB driver 13. Also, packet data conforming to the USB data format is received from the USB driver 13 and encapsulated into a network packet.
図2に示すように、クライアント20にマイク28が接続され、USBデバイスとしてスピーカ32がUSB接続ケーブル31を介してデバイスサーバ10に接続されているシステムでは、クライアント20のマイク28からネットワークを介してスピーカ32に対して音声データをストリーミングデータとして転送する。この場合、一定時間あたりの最低限のデータ転送量を保証するアイソクロナス出力転送によって、音声データが途切れることなくスピーカに転送される。 As shown in FIG. 2, in a system in which a microphone 28 is connected to the client 20 and a speaker 32 as a USB device is connected to the device server 10 via the USB connection cable 31, the microphone 28 of the client 20 is connected via the network. Audio data is transferred to the speaker 32 as streaming data. In this case, the audio data is transferred to the speaker without interruption by isochronous output transfer that guarantees the minimum data transfer amount per fixed time.
図3は従来のデバイスサーバの制御フローを示している。従来のデバイスサーバは、クライアントからアイソクロナス出力転送要求を受信した場合(S31)、受信データをURB(USB Request Block)単位でUSBドライバに転送する(S33)。そして、デバイスサーバは、USBドライバから転送結果を受け取り、転送結果を判別する。転送結果としてエラーを受け取ると(S35)、クライアントに転送結果(エラー)を送付する(S37)。 FIG. 3 shows a control flow of a conventional device server. When receiving the isochronous output transfer request from the client (S31), the conventional device server transfers the received data to the USB driver in units of URB (USB Request Block) (S33). Then, the device server receives the transfer result from the USB driver and determines the transfer result. When an error is received as a transfer result (S35), the transfer result (error) is sent to the client (S37).
図4はネットワークを介したアイソクロナス出力転送におけるデータ転送量のグラフである。アイソクロナス出力転送では、常に一定量のデータ流量が要求される。正常時は、図4に示すように、データ転送量は一定値1000(bps)となっている。一方、異常時は、200〜400(ms)の間でネットワークに遅延が発生し、復旧した瞬間(500ms目)にて想定外にデータが流れている。想定外にデータが流れている状況下で、USBドライバにデータ転送要求するとエラーとなる。 FIG. 4 is a graph of data transfer amount in isochronous output transfer via a network. In isochronous output transfer, a constant amount of data flow is always required. At normal time, as shown in FIG. 4, the data transfer amount is a constant value of 1000 (bps). On the other hand, at the time of abnormality, a delay occurs in the network between 200 and 400 (ms), and data flows unexpectedly at the moment of recovery (500 ms). An error occurs when a data transfer request is made to the USB driver in a situation where data flows unexpectedly.
図5は従来のデバイスサーバシステムのデータフローを示している。図5のデータフローは、クライアント20がデバイスサーバ10とネットワークで接続され、デバイスサーバ10とUSBデバイス30がUSB接続されている状況下で、クライアント20からアイソクロナス出力転送要求が出され、USBドライバ13がエラー応答する場合を示している。先ず、クライアント20からアイソクロナス出力転送要求(Isoc−out転送要求C1)があり、デバイスサーバ10のトンネリングドライバ12がそれを受けてUSBドライバ13にアイソクロナス出力転送要求(Isoc−out転送要求C2)を行う。USBドライバ13はUSBデバイス30に対してURB単位でアイソクロナス出力転送要求(Isoc−out転送要求C3〜C6,C8)を行う。アイソクロナス出力転送が無事完了すると、転送応答(OK)C9がUSBドライバ13から出され、トンネリングドライバ12によってクライアント20に転送完了応答C10が送られる。 FIG. 5 shows a data flow of a conventional device server system. In the data flow of FIG. 5, an isochronous output transfer request is issued from the client 20 when the client 20 is connected to the device server 10 via the network, and the device server 10 and the USB device 30 are connected via USB, and the USB driver 13 is connected. Shows the case of responding with an error. First, there is an isochronous output transfer request (Isoc-out transfer request C1) from the client 20, and the tunneling driver 12 of the device server 10 receives it and makes an isochronous output transfer request (Isoc-out transfer request C2) to the USB driver 13. . The USB driver 13 makes an isochronous output transfer request (Isoc-out transfer requests C3 to C6 and C8) to the USB device 30 in units of URBs. When the isochronous output transfer is completed successfully, a transfer response (OK) C9 is issued from the USB driver 13, and a transfer completion response C10 is sent to the client 20 by the tunneling driver 12.
しかしながら、ネットワークレベルでリンクが切れて復帰した際に、クライアントから一度に複数のアイソクロナス転送要求が出されて、大量のデータが転送される場合がある。
この場合、例えば、クライアント20からアイソクロナス出力転送要求(Isoc−out転送要求C1)に続いて、次のアイソクロナス出力転送要求(Isoc−out転送要求C7)が出され、デバイスサーバ10のトンネリングドライバ12がそれを受けてUSBドライバ13にアイソクロナス出力転送要求(Isoc−out転送要求C11)を行うものの、アイソクロナス転送のスケジューリングができない現象が発生し、USBドライバ13から転送応答C13としてエラーが返される場合がある。トンネリングドライバ12は、クライアント20に転送エラー応答C14を送る。これにより、アイソクロナス出力転送のセッションが切断となる。
すなわち、従来のデバイスサーバでは、USBドライバ13のスケジューラがスケジューリングできないほどのアイソクロナス出力転送要求が出されると、USBドライバ13はエラー応答を返し、そのエラーはそのままクライアント20まで返ってしまうため、クライアントとデバイスサーバの間の通信セッションが切断されてしまうことになる。
However, when the link is broken and returned at the network level, a plurality of isochronous transfer requests may be issued at a time from the client, and a large amount of data may be transferred.
In this case, for example, following the isochronous output transfer request (Isoc-out transfer request C1) from the client 20, the next isochronous output transfer request (Isoc-out transfer request C7) is issued, and the tunneling driver 12 of the device server 10 In response to this, an isochronous output transfer request (Isoc-out transfer request C11) is made to the USB driver 13, but a phenomenon in which isochronous transfer cannot be scheduled occurs, and an error may be returned from the USB driver 13 as a transfer response C13. . The tunneling driver 12 sends a transfer error response C14 to the client 20. As a result, the isochronous output transfer session is disconnected.
In other words, in the conventional device server, when an isochronous output transfer request that cannot be scheduled by the scheduler of the USB driver 13 is issued, the USB driver 13 returns an error response, and the error is returned to the client 20 as it is. The communication session between the device servers will be disconnected.
図6は、本発明のデバイスサーバシステムのデータフローを示している。
図6に示すように、本発明のデバイスサーバシステムの場合、アイソクロナス転送のスケジューリングができない現象が発生し、USBドライバ13から転送応答C13としてエラーが返された際に、データバッファ部14にバッファリングされた転送データをUSBデバイス30に対して再びアイソクロナス出力転送要求(Isoc−out転送要求C15)することにより、クライアント20とデバイスサーバ10のセッションを継続し、アイソクロナス転送で保証すべきデータ転送量を維持する。
FIG. 6 shows the data flow of the device server system of the present invention.
As shown in FIG. 6, in the case of the device server system of the present invention, when a phenomenon in which isochronous transfer cannot be scheduled occurs and an error is returned as the transfer response C13 from the USB driver 13, buffering is performed in the data buffer unit 14. By making an isochronous output transfer request (Isoc-out transfer request C15) to the USB device 30 again, the session between the client 20 and the device server 10 is continued, and the data transfer amount to be guaranteed by isochronous transfer is determined. maintain.
アイソクロナス出力転送において、USBドライバ13が転送応答としてエラーを返す場合は、回復不能なエラーと回復不能ではないエラーに分類できる。回復不能なエラーは、デバイスの故障や電源OFFによるデータ通信プロトコルのエラーである。また回復不能ではないエラーとは、データ転送スケジューラのバッファに空きがないためのデータフローによるエラーである。 In isochronous output transfer, when the USB driver 13 returns an error as a transfer response, it can be classified into an unrecoverable error and an unrecoverable error. Unrecoverable errors are data communication protocol errors due to device failure or power off. An error that is not unrecoverable is an error caused by a data flow because there is no space in the buffer of the data transfer scheduler.
データ転送スケジューラのバッファに空きがないためのデータフローによるエラーの場合、後にバッファに空きができエラーが解消することが推測できることから、デバイスサーバ10内のトンネリングドライバ12の処理により、直前の転送データがデータバッファ部14にバッファリングされ、そのバッファリングされた転送データを再びアイソクロナス出力転送要求する。USBドライバ13はUSBデバイス30に対してURB単位でアイソクロナス出力転送要求(Isoc−out転送要求C16〜C20)を行う。アイソクロナス出力転送が無事完了すると、転送応答(OK)C21がUSBドライバ13から出され、トンネリングドライバ12によってクライアント20に転送完了応答C22が送られる。 In the case of an error due to a data flow because there is no space in the buffer of the data transfer scheduler, it can be presumed that the buffer will become empty later and the error will be resolved. Therefore, the transfer data immediately before is transferred by the processing of the tunneling driver 12 in the device server 10. Is buffered in the data buffer unit 14, and the buffered transfer data is again requested for isochronous output transfer. The USB driver 13 makes an isochronous output transfer request (Isoc-out transfer requests C16 to C20) to the USB device 30 in units of URBs. When the isochronous output transfer is completed successfully, a transfer response (OK) C21 is issued from the USB driver 13, and a transfer completion response C22 is sent to the client 20 by the tunneling driver 12.
図7は、本発明のデバイスサーバの制御フローチャートである。
デバイスサーバ10、クライアント20からアイソクロナス出力転送要求を受信した場合(S101)、データバッファ部14に転送データを保存し(S103)、URB単位でUSBデバイスにデータ転送する(S105)。そして、USBドライバから転送結果を受信し、その結果が正常終了(OK)であった場合(S107)、クライアント20に転送結果(OK)を応答し(S109)、クライアント20から次のアイソクロナス出力転送要求を待つ。
FIG. 7 is a control flowchart of the device server of the present invention.
When an isochronous output transfer request is received from the device server 10 and the client 20 (S101), the transfer data is stored in the data buffer unit 14 (S103), and the data is transferred to the USB device in units of URB (S105). When the transfer result is received from the USB driver and the result is normal end (OK) (S107), the transfer result (OK) is returned to the client 20 (S109), and the next isochronous output transfer from the client 20 is performed. Wait for the request.
一方、USBドライバから転送結果を受信し、その結果がエラーであった場合(S107)、そのエラーが致命的なエラーか否かを判別する(S111)。転送結果が致命的なエラーであった場合、クライアントに転送結果(エラー)を応答し(S113)、クライアント20から次のアイソクロナス出力転送要求を待つ。
一方、転送結果のエラーが致命的なエラーでない場合、一過性のエラーと判断し、バッファ上のいずれかのデータをURB単位で転送完了している場合(S115においてYesの場合)、データバッファ部14の転送データをUSBデバイスに再転送する(S117)。転送完了しない場合(S115においてNoの場合)、クライアントから次の転送要求を受信したか否かを判断し、受信したと判断する場合(S119においてYesの場合)、バッファ上の転送データをUSBデバイスに再転送する(S117)。一方、クライアントから次の転送要求を受信しない場合(S119においてNoの場合)、一過性のエラーが継続していると判断し、バッファ上のいずれかのデータをURB単位で転送完了しているか(S115)の判断フローへ戻る。
On the other hand, if the transfer result is received from the USB driver and the result is an error (S107), it is determined whether or not the error is a fatal error (S111). If the transfer result is a fatal error, the transfer result (error) is returned to the client (S113), and the next isochronous output transfer request is awaited from the client 20.
On the other hand, if the transfer result error is not a fatal error, it is determined as a transient error, and if any data on the buffer has been transferred in units of URBs (Yes in S115), the data buffer The transfer data of the unit 14 is retransferred to the USB device (S117). If the transfer is not completed (No in S115), it is determined whether or not the next transfer request has been received from the client. If it is determined that the transfer has been received (Yes in S119), the transfer data on the buffer is transferred to the USB device. (S117). On the other hand, if the next transfer request is not received from the client (No in S119), it is determined that the transient error continues, and has any of the data on the buffer been transferred in units of URBs? The process returns to the determination flow of (S115).
また、本発明のデバイスサーバは、図8に示す制御フローを行う。すなわち、直前のアイソクロナス出力転送要求の転送完了(結果OK)から所定時間内に次の転送要求を受信していない場合(S21)、バッファ上のデータをダミーデータとして転送(URB単位)する(S23)。
本発明のデバイスサーバは、図8に示す制御フローを行うことにより、直前のアイソクロナス出力転送要求に基づくデータ転送が正常完了してから所定時間内に次のアイソクロナス出力転送要求を受信しないとき、直前の転送要求時にバッファリングされた転送データをダミーデータとして、USBデバイスに対してアイソクロナス出力転送を行うことにより、アイソクロナス転送で保証すべきデータ転送量を維持することができる。
図8に示す制御フローを行った場合のデータフローについて、図9,10を参照して説明する。
Further, the device server of the present invention performs the control flow shown in FIG. That is, when the next transfer request has not been received within a predetermined time from the completion of the transfer of the immediately preceding isochronous output transfer request (result OK) (S21), the data on the buffer is transferred as dummy data (URB unit) (S23). ).
When the device server of the present invention does not receive the next isochronous output transfer request within a predetermined time after the data transfer based on the immediately preceding isochronous output transfer request is normally completed by performing the control flow shown in FIG. By performing the isochronous output transfer to the USB device using the transfer data buffered at the time of the transfer request as dummy data, the data transfer amount to be guaranteed by the isochronous transfer can be maintained.
A data flow when the control flow shown in FIG. 8 is performed will be described with reference to FIGS.
図9に示すように、トンネリングドライバ12によってクライアント20に転送完了応答C9が送られた後、所定時間内に次のアイソクロナス出力転送要求を受信しないとき(C10)、デバイスサーバ10はダミーデータ(直前の転送要求時にバッファリングされた転送データ)をアイソクロナス出力転送要求し(C11)、USBドライバ13はUSBデバイス30に対してURB単位でアイソクロナス出力転送要求(Isoc−out転送要求C12、C15〜C18)を行う。アイソクロナス出力転送が無事完了すると、転送応答(OK)C19がUSBドライバ13から出され、トンネリングドライバ12によってクライアント20に転送完了応答C20が送られる。
このダミーデータをアイソクロナス出力転送している途中で、クライアント20からアイソクロナス出力転送要求があった場合(C13),デバイスサーバ10はその要求を破棄する(C14)。
As shown in FIG. 9, when the next isochronous output transfer request is not received within a predetermined time after the transfer completion response C9 is sent to the client 20 by the tunneling driver 12 (C10), the device server 10 receives dummy data (immediately before Transfer data buffered at the time of the transfer request) (C11), and the USB driver 13 makes an isochronous output transfer request (Isoc-out transfer request C12, C15 to C18) in units of URBs to the USB device 30. I do. When the isochronous output transfer is completed successfully, a transfer response (OK) C 19 is issued from the USB driver 13, and a transfer completion response C 20 is sent to the client 20 by the tunneling driver 12.
If there is an isochronous output transfer request from the client 20 during the isochronous output transfer of this dummy data (C13), the device server 10 discards the request (C14).
デバイスサーバ10は、所定時間内に次のアイソクロナス出力転送要求を受信しないときに、直前の転送要求時にバッファリングされた転送データをダミーデータとしてアイソクロナス出力転送要求することで、図10に示すようにUSBデバイス30に一定間隔でデータ転送することが可能になる。 When the device server 10 does not receive the next isochronous output transfer request within a predetermined time, the device server 10 requests the transfer data buffered at the time of the previous transfer request as dummy data to make an isochronous output transfer request, as shown in FIG. Data can be transferred to the USB device 30 at regular intervals.
なお、これまでの実施例では、クライアントがネットワークを介してUSBデバイスを利用するデバイスサーバシステムを例に説明したが、本発明の適用範囲はこれに限定されず、USB通信規格と同等の通信方式、例えば、IEEE1394など別のインタフェースに準拠したものであってもよい。 In the above embodiments, a device server system in which a client uses a USB device via a network has been described as an example. However, the scope of application of the present invention is not limited to this, and a communication method equivalent to the USB communication standard is used. For example, it may be based on another interface such as IEEE1394.
本発明は、USBデバイスなどの周辺デバイスの利便性を高めるデバイスサーバシステムに有用である。 The present invention is useful for a device server system that enhances the convenience of peripheral devices such as USB devices.
10 デバイスサーバ
20 クライアント
28 マイク
30 USBデバイス
31 USB接続ケーブル
32 スピーカ
40 ネットワーク
10 device server 20 client 28 microphone 30 USB device 31 USB connection cable 32 speaker 40 network
Claims (4)
クライアントからアイソクロナス出力転送要求を受信すると要求された転送データをバッファリングするデータバッファ部を備え、
ローカル接続されたデバイスに対してアイソクロナス出力転送を行う際、アイソクロナス出力転送結果が正常完了または回復不能なエラーの何れでもない場合に、前記データバッファ部にバッファリングされた転送データを前記デバイスに対して再びアイソクロナス出力転送し、
前記データバッファ部にバッファリングされた転送データを再びアイソクロナス出力転送するタイミングは、直前のアイソクロナス出力転送結果が正常完了したとき、または、クライアントから次のアイソクロナス出力転送要求を受信したとき、であることを特徴とするデバイスサーバ。 A device server connected to a client via a network and performing isochronous transfer is a locally connected device server,
When receiving an isochronous output transfer request from the client, it has a data buffer unit that buffers the requested transfer data,
When performing isochronous output transfer to a locally connected device, if the isochronous output transfer result is neither normal completion nor an unrecoverable error, transfer data buffered in the data buffer unit is transferred to the device. And transfer the isochronous output again .
The timing to transfer the transfer data buffered in the data buffer unit again to the isochronous output is when the previous isochronous output transfer result is normally completed or when the next isochronous output transfer request is received from the client. A device server characterized by
クライアントからアイソクロナス出力転送要求を受信する転送要求受信ステップと、
要求された転送データをバッファリングする転送データ保存ステップと、
ローカル接続されたデバイスに対してアイソクロナス出力転送を行う出力転送ステップと、
アイソクロナス出力転送結果が正常完了または回復不能なエラーの何れでもない場合に、前記転送データ保存ステップにおいてバッファリングされた転送データをデバイスに対して再びアイソクロナス出力転送する再転送ステップ、を備え、
前記再転送ステップにおいて、
バッファリングされた転送データを再びアイソクロナス出力転送するタイミングは、直前のアイソクロナス出力転送結果が正常完了したとき、または、クライアントから次のアイソクロナス出力転送要求を受信したとき、であることを特徴とするデバイスサーバ制御方法。 A device server control method in which an isochronous transfer device connected to a client via a network is locally connected.
A transfer request receiving step for receiving an isochronous output transfer request from a client;
A transfer data storage step for buffering the requested transfer data;
An output transfer step for performing isochronous output transfer to a locally connected device;
When the isochronous output transfer result is neither normal completion nor an unrecoverable error, the transfer data storage step further includes a retransfer step for transferring the transfer data buffered to the device again to the isochronous output ,
In the retransmission step,
The device for transferring isochronous output of buffered transfer data again is when the previous isochronous output transfer result is normally completed or when the next isochronous output transfer request is received from the client. Server control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013201855A JP6090751B2 (en) | 2013-09-27 | 2013-09-27 | Device server and its control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013201855A JP6090751B2 (en) | 2013-09-27 | 2013-09-27 | Device server and its control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015069324A JP2015069324A (en) | 2015-04-13 |
JP6090751B2 true JP6090751B2 (en) | 2017-03-08 |
Family
ID=52835948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013201855A Active JP6090751B2 (en) | 2013-09-27 | 2013-09-27 | Device server and its control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6090751B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017130152A (en) * | 2016-01-22 | 2017-07-27 | セイコーエプソン株式会社 | Network system, printer, and control method of printer |
JP6745531B2 (en) * | 2017-02-28 | 2020-08-26 | サイレックス・テクノロジー株式会社 | Device server system, client device, information transfer control method and program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991520A (en) * | 1996-02-02 | 1999-11-23 | Sony Corporation | Application programming interface for managing and automating data transfer operations between applications over a bus structure |
JP4281144B2 (en) * | 1999-03-09 | 2009-06-17 | ソニー株式会社 | Transmission method and transmission apparatus |
CN1388971A (en) * | 2000-07-21 | 2003-01-01 | 索尼株式会社 | Recording device, reproducing device and recording/reproducing system |
CA2345596C (en) * | 2001-04-27 | 2007-12-04 | Icron Systems Inc. | Method and apparatus for extending the range of the universal serial bus protocol |
JP2006217476A (en) * | 2005-02-07 | 2006-08-17 | Nec Electronics Corp | Communication method, communication system, and cable/radio bridge apparatus |
JP2006254290A (en) * | 2005-03-14 | 2006-09-21 | Yaskawa Electric Corp | Master/slave communication system and communication method |
-
2013
- 2013-09-27 JP JP2013201855A patent/JP6090751B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015069324A (en) | 2015-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10412017B2 (en) | Transfer device, transfer method, and computer program product | |
JP6889126B2 (en) | Transfer control device, transfer control method and program | |
US9832086B2 (en) | Initiator apparatus, target apparatus, communication system, timeout detection method, and timeout detection program | |
US9311265B2 (en) | Techniques for improving throughput and performance of a distributed interconnect peripheral bus connected to a host controller | |
JP5646986B2 (en) | Client apparatus, device control method, and device control system | |
JP2011505755A5 (en) | ||
CN112583529B (en) | Data processing method, device, equipment and storage medium | |
JP6090751B2 (en) | Device server and its control method | |
EP2846470A1 (en) | A method of mobile terminal internal communications | |
US9736076B2 (en) | Device server and control method thereof | |
JP3400772B2 (en) | Packet transmission / reception processing device | |
WO2021136099A1 (en) | Data transmission method, apparatus, and device, and storage medium | |
JP4541949B2 (en) | Data transfer device | |
JP5729938B2 (en) | COMMUNICATION DEVICE AND ITS CONTROL METHOD | |
JP6233652B2 (en) | Device server and its control method | |
CN108737208B (en) | Connection synchronization method and device based on secure gateway deep packet detection and computer | |
WO2021065370A1 (en) | Vehicle control device and data transfer control method | |
JP2003345638A5 (en) | ||
JP2009251771A (en) | Dma transfer device | |
JP5587530B2 (en) | Engine / processor linkage system and linkage method | |
JP6579692B2 (en) | Video server system | |
JP5998343B2 (en) | Device server system, device server and program | |
JP2011101249A (en) | Image processing system and apparatus, data transfer control method, program and recording medium | |
JP4666369B2 (en) | USB device | |
JP2602975B2 (en) | Reception control device in start-stop synchronous communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160706 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161013 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20161013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161215 |
|
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: 20170117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170131 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6090751 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 |