JP6745531B2 - Device server system, client device, information transfer control method and program - Google Patents

Device server system, client device, information transfer control method and program Download PDF

Info

Publication number
JP6745531B2
JP6745531B2 JP2017037669A JP2017037669A JP6745531B2 JP 6745531 B2 JP6745531 B2 JP 6745531B2 JP 2017037669 A JP2017037669 A JP 2017037669A JP 2017037669 A JP2017037669 A JP 2017037669A JP 6745531 B2 JP6745531 B2 JP 6745531B2
Authority
JP
Japan
Prior art keywords
response information
interrupt response
usb
interrupt
communication
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
Application number
JP2017037669A
Other languages
Japanese (ja)
Other versions
JP2018142281A (en
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.)
Silex Technology Inc
Original Assignee
Silex Technology 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 Silex Technology Inc filed Critical Silex Technology Inc
Priority to JP2017037669A priority Critical patent/JP6745531B2/en
Publication of JP2018142281A publication Critical patent/JP2018142281A/en
Application granted granted Critical
Publication of JP6745531B2 publication Critical patent/JP6745531B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、デバイスサーバシステム、クライアント装置、情報転送制御方法およびプログラムに関する。 The present invention relates to a device server system, a client device, an information transfer control method, and a program.

有線LAN(Local Area Network)または無線LAN等のネットワークに接続されたデバイスサーバと、当該ネットワークに接続されたクライアント装置と、を備えるデバイスサーバシステムが提案されている(例えば非特許文献1参照)。このデバイスサーバシステムでは、クライアント装置からデバイスサーバに接続されたUSB(Universal Serial Bus)デバイスを利用できる。この種のデバイスサーバシステムとして、USBデバイスとしてUSB規格に基づく情報転送を実行する、キーボードやタッチパネル等のHID(Human Interface Device)を採用したものも提供されている。 A device server system has been proposed that includes a device server connected to a network such as a wired LAN (Local Area Network) or a wireless LAN, and a client device connected to the network (see Non-Patent Document 1, for example). In this device server system, a USB (Universal Serial Bus) device connected from the client device to the device server can be used. As this type of device server system, there is also provided a system that employs a HID (Human Interface Device) such as a keyboard or a touch panel that executes information transfer based on the USB standard as a USB device.

サイレックス・テクノロジー株式会社ホームページ<http://www.silex.jp/products/usbdeviceserver/ds520an.html>Silex Technology Co., Ltd. home page <http://www.silex.jp/products/usbdeviceserver/ds520an.html>

しかしながら、USBデバイスとしてHIDを採用した場合、ユーザがHIDを操作している途中でクライアント装置とデバイスサーバとの通信が遮断された場合、HIDでクライアント装置を制御できなくなりユーザの意図に反した処理が継続してしまう虞がある。例えばHIDがUSBキーボードの場合、ユーザがキーの長押し操作を行っている途中でクライアント装置とデバイスサーバとの通信が遮断されると、通信が復帰するまでキー入力に応じた処理が継続されてしまう。また、HIDがUSBに対応したタッチパネルの場合、ユーザがドラッグ操作を行っている途中でクライアント装置とデバイスサーバとの通信が遮断されると、通信が復帰するまでドラッグ操作を行えなくなってしまう。このように、クライアント装置がデバイスサーバとの通信の遮断に起因してユーザの意図に反する処理が実行されると、ユーザが不便に感じる虞がある。 However, when the HID is adopted as the USB device, if the communication between the client device and the device server is interrupted while the user is operating the HID, the HID cannot control the client device, and the processing is against the user's intention. May continue. For example, when the HID is a USB keyboard, if the communication between the client device and the device server is interrupted while the user is pressing and holding the key, the process corresponding to the key input is continued until the communication is restored. End up. Further, in the case where the HID is a touch panel compatible with USB, if the communication between the client device and the device server is interrupted while the user is performing the drag operation, the drag operation cannot be performed until the communication is restored. In this way, if the client device performs a process contrary to the user's intention due to the interruption of communication with the device server, the user may feel inconvenient.

本発明は、上記事由に鑑みてなされたものであり、ユーザの利便性を向上させるデバイスサーバシステム、クライアント装置、情報転送制御方法およびプログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a device server system, a client device, an information transfer control method, and a program that improve user convenience.

上記目的を達成するために、本発明に係るデバイスサーバシステムは、
クライアント装置と、
インタラプト応答情報を転送して前記クライアント装置に処理を行わせるHIDクラスのUSBデバイスと、
前記USBデバイスが接続されるデバイスサーバと、を備え、
前記クライアント装置は、前記デバイスサーバとネットワークを介して接続されており、
前記USBデバイスから転送される前記インタラプト応答報に応じた処理を実行する処理部と、
前記USBデバイスへ前記インタラプト応答情報の転送を要求するインタラプト要求情報を生成するとともに、前記インタラプト応答情報を取得すると前記インタラプト応答情報を前記処理部へ出力するUSBドライバと、
前記クライアント装置と前記デバイスサーバとの間での通信状態を監視し、前記クライアント装置と前記デバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報を前記USBドライバへ出力する通信制御部と、を有する。
In order to achieve the above object, a device server system according to the present invention is
A client device,
A HID class USB device that transfers interrupt response information and causes the client device to perform processing ;
A device server to which the USB device is connected ,
The client device is connected to the device server via a network ,
A processing unit for executing a process corresponding to the interrupt response information that is transferred from the USB device,
A USB driver that generates interrupt request information for requesting the transfer of the interrupt response information to the USB device, and outputs the interrupt response information to the processing unit when the interrupt response information is acquired,
Dummy interrupt response information is obtained when the communication state between the client device and the device server is monitored and it is determined that the reference time has elapsed in the state where the communication between the client device and the device server is cut off. To the USB driver.

他の観点から見た本発明に係るクライアント装置は、
インタラプト応答情報を転送するHIDクラスのUSBデバイスが接続されるデバイスサーバとネットワークを介して接続され、前記USBデバイスから転送される前記インタラプト応答情報を、前記デバイスサーバを介して受信するクライアント装置であって、
前記USBデバイスが転送した前記インタラプト応答情報に応じた処理を実行する処理部と、
前記USBデバイスへ前記インタラプト応答情報の転送を要求するインタラプト要求情報を生成するとともに、前記インタラプト応答情報を取得すると前記インタラプト応答情報を前記処理部へ出力するUSBドライバと、
自装置と前記デバイスサーバとの間での通信状態を監視し、前記自装置と前記デバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報を前記USBドライバへ出力する通信制御部と、を備える。
From another viewpoint, the client device according to the present invention is
A client device that is connected via a network to a device server to which a HID class USB device that transfers interrupt response information is connected, and that receives the interrupt response information transferred from the USB device via the device server. hand,
A processing unit that executes processing according to the interrupt response information transferred by the USB device;
A USB driver that generates interrupt request information for requesting the transfer of the interrupt response information to the USB device, and outputs the interrupt response information to the processing unit when the interrupt response information is acquired,
Monitoring the communication state between the self-device and the device server, if it is determined that the reference time has elapsed in the state where the communication between the self-device and the device server is cut off, the dummy interrupt response information is displayed. And a communication control unit for outputting to the USB driver.

他の観点から見た本発明に係る情報転送制御方法は、
インタラプト応答情報を転送するHIDクラスのUSBデバイスが接続されるデバイスサーバとネットワークを介して接続され、前記USBデバイスから転送される前記インタラプト応答情報を、前記デバイスサーバを介して受信するクライアント装置が実行する情報転送制御方法であって、
処理部が、前記USBデバイスから転送された前記インタラプト応答情報に応じた処理を実行するステップと、
USBドライバが、前記USBデバイスへ前記インタラプト応答情報の転送を要求するインタラプト要求情報を生成するステップと、
前記USBドライバが、前記インタラプト応答情報を取得すると前記インタラプト応答情報を前記処理部へ出力するステップと、
通信制御部が、前記クライアント装置と前記デバイスサーバとの間での通信状態を監視し、前記クライアント装置と前記デバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報を前記USBドライバへ出力するステップと、を含む。
From another viewpoint, the information transfer control method according to the present invention is
A client device that is connected via a network to a device server to which a USB device of HID class that transfers interrupt response information is connected, and that receives the interrupt response information transferred from the USB device via the device server. An information transfer control method for
A processing unit executing processing according to the interrupt response information transferred from the USB device;
A USB driver generating interrupt request information requesting transfer of the interrupt response information to the USB device;
When the USB driver acquires the interrupt response information, outputting the interrupt response information to the processing unit,
The communication control unit monitors the communication state between the client device and the device server, and determines that the reference time has elapsed in the state where the communication between the client device and the device server is cut off, Outputting dummy interrupt response information to the USB driver.

他の観点から見た本発明に係るプログラムは、
コンピュータを、
インタラプト応答情報を転送するHIDクラスのUSBデバイスが転送した前記インタラプト応答情報に応じた処理を実行する処理部、
前記USBデバイスへ前記インタラプト応答情報の転送を要求するインタラプト要求情報を生成するとともに、前記インタラプト応答情報を取得すると前記インタラプト応答情報を前記処理部へ出力するUSBドライバ、
クライアント装置と前記USBデバイスが接続されるデバイスサーバとの間でのネットワークを介した通信の通信状態を監視し、前記デバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報を前記USBドライバへ出力する通信制御部、として機能させる。
From another viewpoint, the program according to the present invention is
Computer,
A processing unit that executes a process according to the interrupt response information transferred by the HID class USB device that transfers the interrupt response information;
A USB driver that generates interrupt request information requesting the transfer of the interrupt response information to the USB device, and outputs the interrupt response information to the processing unit when the interrupt response information is acquired,
The communication state of the communication via the network between the client device and the device server to which the USB device is connected is monitored, and it is determined that the reference time has elapsed in the state where the communication with the device server is cut off. Then, it functions as a communication control unit that outputs dummy interrupt response information to the USB driver.

本発明によれば、通信制御部が、クライアント装置とデバイスサーバとの間での通信状態を監視し、クライアント装置とデバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報をUSBドライバへ出力する。これにより、クライアント装置とデバイスサーバとの間での通信が遮断されている間、処理部が処理情報に応じた処理を実行できない状態が継続してしまうことが防止される。ここで、例えばUSBデバイスから2つの処理情報がクライアント装置へ転送されて処理部での処理が完了するとする。この場合、2つの処理情報のうちの一方がクライアント装置へ転送された直後に通信が遮断されたときでも、通信が遮断されている間、処理部での処理が完了せずに放置されることが無い。それ故、クライアント装置を使用するユーザの利便性が向上する。 According to the present invention, the communication control unit monitors the communication state between the client device and the device server, and determines that the reference time has elapsed in the state where the communication between the client device and the device server is cut off. Then, the dummy interrupt response information is output to the USB driver. As a result, the state in which the processing unit cannot execute the process according to the process information is prevented from continuing while the communication between the client device and the device server is interrupted. Here, it is assumed that, for example, two pieces of processing information are transferred from the USB device to the client device and the processing in the processing unit is completed. In this case, even if the communication is interrupted immediately after one of the two pieces of processing information is transferred to the client device, the processing in the processing unit may be left uncompleted while the communication is interrupted. There is no. Therefore, the convenience of the user who uses the client device is improved.

本発明の実施の形態1に係るデバイスサーバシステムの構成を示す図である。It is a figure which shows the structure of the device server system which concerns on Embodiment 1 of this invention. 実施の形態1に係るデバイスサーバシステムのハードウェア構成を示す図である。FIG. 3 is a diagram showing a hardware configuration of a device server system according to the first embodiment. 実施の形態1に係るデバイスサーバシステムの機能構成を示す図である。It is a figure which shows the function structure of the device server system which concerns on Embodiment 1. 実施の形態1に係るデバイスサーバシステムの動作を示すシーケンス図である。FIG. 6 is a sequence diagram showing an operation of the device server system according to the first embodiment. 実施の形態1に係るインタラプト応答情報の内容を示し、(A)は第1キーが押下されている場合、(B)はキーが押下されていない場合、(C)は第2キーが押下されている場合を示す図である。The contents of the interrupt response information according to the first embodiment are shown, where (A) is the case where the first key is pressed, (B) is the case where the key is not pressed, and (C) is the case where the second key is pressed. FIG. 実施の形態1に係るデバイスサーバシステムの動作を示すシーケンス図である。FIG. 6 is a sequence diagram showing an operation of the device server system according to the first embodiment. 実施の形態1に係る通信制御部が実行する通信制御処理の流れの一例を示すフローチャートである。5 is a flowchart showing an example of the flow of communication control processing executed by the communication control unit according to the first embodiment. 実施の形態1に係る通信制御部が実行する通信制御処理の流れの一例を示すフローチャートである。5 is a flowchart showing an example of the flow of communication control processing executed by the communication control unit according to the first embodiment. 実施の形態1に係る通信制御部が実行する通信制御処理の流れの一例を示すフローチャートである。5 is a flowchart showing an example of the flow of communication control processing executed by the communication control unit according to the first embodiment. 本発明の実施の形態2に係るデバイスサーバシステムの構成を示す図である。It is a figure which shows the structure of the device server system which concerns on Embodiment 2 of this invention. 実施の形態2に係るデバイスサーバシステムの機能構成を示す図である。It is a figure which shows the function structure of the device server system which concerns on Embodiment 2. 実施の形態2に係るデバイスサーバシステムの動作を示すシーケンス図である。FIG. 8 is a sequence diagram showing an operation of the device server system according to the second embodiment. 実施の形態2に係るインタラプト応答情報の内容を示し、(A)はタッチパネルがタッチされている場合、(B)はタッチパネルがタッチされていない(解放された)場合を示す図である。FIG. 9 shows the contents of interrupt response information according to the second embodiment, where (A) shows a case where the touch panel is touched, and (B) shows a case where the touch panel is not touched (released). 実施の形態2に係るデバイスサーバシステムの動作を示すシーケンス図である。FIG. 8 is a sequence diagram showing an operation of the device server system according to the second embodiment. 実施の形態2に係る通信制御部が実行する通信制御処理の流れの一例を示すフローチャートである。9 is a flowchart showing an example of the flow of communication control processing executed by the communication control unit according to the second embodiment. 実施の形態2に係る通信制御部が実行する通信制御処理の流れの一例を示すフローチャートである。9 is a flowchart showing an example of the flow of communication control processing executed by the communication control unit according to the second embodiment. (A)は比較例に係るデバイスサーバシステムの動作を説明するための図であり、(B)は実施の形態2に係るデバイスサーバシステムの動作を説明するための図である。(A) is a figure for demonstrating operation|movement of the device server system which concerns on a comparative example, (B) is a figure for demonstrating operation|movement of the device server system which concerns on Embodiment 2. FIG.

(実施の形態1)
以下、本発明の一実施の形態に係るデバイスサーバシステムについて、図面を参照しながら説明する。
(Embodiment 1)
A device server system according to an embodiment of the present invention will be described below with reference to the drawings.

本実施の形態に係るデバイスサーバシステムは、クライアント装置と、USBキーボードのようなHID(Human Interface Device)クラスのUSBデバイスが接続され且つクライアント装置と無線通信可能なデバイスサーバと、を備える。ユーザが、デバイスサーバに接続されたキーボートを操作すると、クライアント装置が、キーボードの操作に応じた処理を実行する。 The device server system according to the present embodiment includes a client device and a device server to which a HID (Human Interface Device) class USB device such as a USB keyboard is connected and which is capable of wireless communication with the client device. When the user operates the keyboard connected to the device server, the client device executes processing according to the keyboard operation.

図1に示すように、本実施の形態に係るデバイスサーバシステム1は、デバイスサーバ11と、クライアント装置12と、キーボード13と、ディスプレイ14と、を備える。キーボード13は、データ転送方式として、インタラプト(インタラプトイン)転送を利用するものである。キーボード13は、HIDクラスのUSBデバイスであり、クライアント装置12で実行される処理に関連する処理情報(例えばキーボード13のキーが押下されたことを通知する情報)を転送する。キーボード13は、デバイスサーバ11を介してクライアント装置12に接続されると、インタラプト応答パケットの構造およびインタラプト要求情報を出力する周期に関する情報を含むUSBコンフィギュレーション情報およびディスクリプタ情報を、デバイスサーバ11を介してクライアント装置12へ送信する。 As shown in FIG. 1, the device server system 1 according to the present embodiment includes a device server 11, a client device 12, a keyboard 13, and a display 14. The keyboard 13 uses interrupt (interrupt-in) transfer as a data transfer method. The keyboard 13 is a USB device of the HID class, and transfers processing information related to processing executed by the client device 12 (for example, information notifying that a key of the keyboard 13 has been pressed). When the keyboard 13 is connected to the client device 12 via the device server 11, the keyboard 13 transmits USB configuration information and descriptor information including information on the structure of the interrupt response packet and the cycle of outputting the interrupt request information via the device server 11. And sends it to the client device 12.

デバイスサーバ11は、図2に示すように、CPU(Central Processing Unit)111と主記憶部112と補助記憶部113と無線モジュール115とUSBインターフェース(以下、「I/F」と称する。)116とこれらを互いに接続するバス117とを有する。主記憶部112は、揮発性メモリから構成され、CPU111の作業領域として使用される。補助記憶部113は、不揮発性のメモリから構成される。無線モジュール115は、無線LANコントローラを含んで構成されている。無線モジュール115は、クライアント装置12との間で通信リンクを確立し、無線通信を行う。無線モジュール115は、無線信号を生成する信号生成回路とアンテナとを有する。無線モジュール115は、例えばIEEE802.11a,b,g,n等の無線LAN規格に適合する通信方式で通信する。USBI/F116は、キーボード13に接続され、キーボード13との間で情報を送受信する。 As shown in FIG. 2, the device server 11 includes a CPU (Central Processing Unit) 111, a main storage unit 112, an auxiliary storage unit 113, a wireless module 115, a USB interface (hereinafter, referred to as “I/F”) 116. The bus 117 connects these to each other. The main storage unit 112 is composed of a volatile memory and is used as a work area of the CPU 111. The auxiliary storage unit 113 is composed of a non-volatile memory. The wireless module 115 includes a wireless LAN controller. The wireless module 115 establishes a communication link with the client device 12 and performs wireless communication. The wireless module 115 includes a signal generation circuit that generates a wireless signal and an antenna. The wireless module 115 communicates by a communication method that conforms to a wireless LAN standard such as IEEE 802.11a, b, g, n. The USB I/F 116 is connected to the keyboard 13 and transmits/receives information to/from the keyboard 13.

デバイスサーバ11では、CPU111が、補助記憶部113が記憶するプログラムを主記憶部112に読み込んで実行することにより、図3に示すように、キーボード13とクライアント装置12との間の通信を制御する変換部1111として機能する。変換部1111は、クライアント装置12から受信したインタラプト要求パケットまたはキーボード13から受信したインタラプト応答情報のプロトコル変換を実行する。変換部1111は、クライアント装置12から受信したインタラプト要求パケットからそれに含まれるインタラプト要求情報を抽出してキーボード13へ送信する。また、変換部1111は、キーボード13から受信したインタラプト応答情報をカプセル化することによりインタラプタ応答パケットを生成してクライアント装置12へ送信する。 In the device server 11, the CPU 111 controls the communication between the keyboard 13 and the client device 12, as shown in FIG. 3, by reading the program stored in the auxiliary storage unit 113 into the main storage unit 112 and executing the program. It functions as the conversion unit 1111. The conversion unit 1111 executes protocol conversion of the interrupt request packet received from the client device 12 or the interrupt response information received from the keyboard 13. The conversion unit 1111 extracts the interrupt request information included in the interrupt request packet received from the client device 12 and transmits the interrupt request information to the keyboard 13. The conversion unit 1111 also generates an interrupt response packet by encapsulating the interrupt response information received from the keyboard 13 and transmits it to the client device 12.

図2に戻って、クライアント装置12は、CPU121と主記憶部122と補助記憶部123と無線モジュール125と映像I/F126とこれらを互いに接続するバス127とを有する。主記憶部122は、揮発性メモリから構成され、CPU121の作業領域として使用される。補助記憶部123は、不揮発性のメモリから構成される。無線モジュール125は、無線LANコントローラを含んで構成されている。無線モジュール125は、デバイスサーバ11との間で通信リンクを確立し、無線通信を行う。無線モジュール125は、無線モジュール115と同様に、信号生成回路とアンテナとを有する。無線モジュール125も、例えばIEEE802.11a,b,g,n等の無線LAN規格に適合する通信方式で通信する。映像I/F126は、ディスプレイ14に接続され、ディスプレイ14へ映像信号を送信する。 Returning to FIG. 2, the client device 12 includes a CPU 121, a main storage unit 122, an auxiliary storage unit 123, a wireless module 125, a video I/F 126, and a bus 127 connecting these to each other. The main storage unit 122 is composed of a volatile memory and is used as a work area of the CPU 121. The auxiliary storage unit 123 is composed of a non-volatile memory. The wireless module 125 includes a wireless LAN controller. The wireless module 125 establishes a communication link with the device server 11 and performs wireless communication. Like the wireless module 115, the wireless module 125 has a signal generation circuit and an antenna. The wireless module 125 also communicates by a communication method that conforms to a wireless LAN standard such as IEEE 802.11a, b, g, n. The video I/F 126 is connected to the display 14 and transmits a video signal to the display 14.

クライアント装置12では、CPU121が、補助記憶部123が記憶するプログラムを主記憶部122に読み込んで実行することにより、図3に示すように、処理部1211とUSBドライバ1212と通信制御部1213と計時部1214として機能する。また、主記憶部122は、通信制御部1213がキー押下を示すダミーのインタラプト応答情報に対応するインタラプト要求情報を記憶する要求記憶部1221を有する。補助記憶部123は、キーボード13から受信するインタラプト応答パケットの構造およびキーボード13に対応するインタラプト要求情報の送信周期に関する情報を記憶する。 In the client device 12, the CPU 121 reads the program stored in the auxiliary storage unit 123 into the main storage unit 122 and executes the program, so that the processing unit 1211, the USB driver 1212, the communication control unit 1213, and the timekeeping unit 1213 as illustrated in FIG. It functions as the unit 1214. Further, the main storage unit 122 includes a request storage unit 1221 that stores interrupt request information corresponding to the dummy interrupt response information indicating that the communication control unit 1213 has pressed a key. The auxiliary storage unit 123 stores information about the structure of the interrupt response packet received from the keyboard 13 and the transmission cycle of the interrupt request information corresponding to the keyboard 13.

処理部1211は、USBドライバ1212から入力されるキー入力情報に応じた処理を実行する。処理部1211は、USBドライバ1212から入力されるキー入力情報に応じた処理を実行することにより生成される映像情報をディスプレイ14へ出力する。処理部1211は、キーボード13からキー押下を示すインタラプタ応答情報が転送された後、キー解放を示すインタラプト応答情報が転送されるまで、キーが押下され続けていると認識してキー押下に応じた処理を継続する。 The processing unit 1211 executes processing according to key input information input from the USB driver 1212. The processing unit 1211 outputs to the display 14 the video information generated by executing the processing according to the key input information input from the USB driver 1212. The processing unit 1211 recognizes that the key continues to be pressed and then responds to the key press until the interrupt response information indicating the key press is transferred from the keyboard 13 until the interrupt response information indicating the key release is transferred. Continue processing.

USBドライバ1212は、通信制御部1213からキーが押下されたことを示すインタラプト応答情報が入力されると、キーが押下されたことを通知するキー押下通知情報を生成して処理部1211へ出力する。また、USBドライバ1212は、キーボード13向けのインタラプト要求情報を生成して通信制御部1213へ送信する。 When the USB driver 1212 receives the interrupt response information indicating that the key is pressed from the communication control unit 1213, the USB driver 1212 generates key press notification information for notifying that the key is pressed and outputs the key press notification information to the processing unit 1211. .. The USB driver 1212 also generates interrupt request information for the keyboard 13 and sends it to the communication control unit 1213.

通信制御部1213は、USBドライバ1212から入力されるインタラプト要求情報を含むインタラプト要求パケットを生成してデバイスサーバ11へ送信する。また、通信制御部1213は、デバイスサーバ11から受信したインタラプト応答パケットに含まれるキーステータス情報を抽出してUSBドライバ1212へ出力する。また、通信制御部1213は、キーボード13から転送されたUSBコンフィギュレーション情報およびディスクリプタ情報を受信すると、それらに含まれるインタラプト応答パケットの構造およびインタラプト要求情報を出力する周期に関する情報を取得する。そして、通信制御部1213は、取得したインタラプト応答パケットの構造およびインタラプト要求情報を出力する周期に関する情報を仕様情報記憶部1231に記憶させる。 The communication control unit 1213 generates an interrupt request packet including interrupt request information input from the USB driver 1212 and transmits the interrupt request packet to the device server 11. The communication control unit 1213 also extracts the key status information included in the interrupt response packet received from the device server 11 and outputs it to the USB driver 1212. Further, when the communication control unit 1213 receives the USB configuration information and the descriptor information transferred from the keyboard 13, the communication control unit 1213 acquires information about the structure of the interrupt response packet included therein and the cycle of outputting the interrupt request information. Then, the communication control unit 1213 causes the specification information storage unit 1231 to store information regarding the structure of the acquired interrupt response packet and the cycle for outputting the interrupt request information.

計時部1214は、例えばソフトウェアタイマから構成され、通信制御部1213とデバイスサーバ11の変換部1111との間の通信が遮断された後の経過時間を計時する。 The timer unit 1214 is composed of, for example, a software timer, and measures the elapsed time after the communication between the communication control unit 1213 and the conversion unit 1111 of the device server 11 is cut off.

次に、本実施の形態に係るデバイスサーバシステム1の動作を図4乃至図6を参照しながら説明する。なお、図4および図6では、USBドライバ1212からキーボード向けへ送信されるハンドシェイクパケットの授受については図示を省略している。また、通信制御部1213は、キーボード13から受信するインタラプト応答パケットの構造およびキーボード13に対応するインタラプト要求情報の送信周期に関する情報を既に取得しているものとする。図4において、まずインタラプト要求情報が、クライアント装置12のUSBドライバ1212から通信制御部1213へ出力されると(ステップS2)、通信制御部1213は、インタラプト要求情報を含むインタラプト要求パケットを生成する。続いて、生成されたインタラプト要求パケットが、通信制御部1213からデバイスサーバ11へ送信されると(ステップS3)、デバイスサーバ11は、インタラプト要求パケットを受信し、そこに含まれるインタラプト要求情報を抽出する。その後、インタラプト要求情報が、デバイスサーバ11からキーボード13へ転送される(ステップS4)。 Next, the operation of the device server system 1 according to the present embodiment will be described with reference to FIGS. Note that, in FIGS. 4 and 6, illustration of the handshake packet transmission/reception transmitted from the USB driver 1212 to the keyboard is omitted. Further, it is assumed that the communication control unit 1213 has already acquired the information about the structure of the interrupt response packet received from the keyboard 13 and the transmission cycle of the interrupt request information corresponding to the keyboard 13. In FIG. 4, first, when the interrupt request information is output from the USB driver 1212 of the client device 12 to the communication control unit 1213 (step S2), the communication control unit 1213 generates an interrupt request packet including the interrupt request information. Subsequently, when the generated interrupt request packet is transmitted from the communication control unit 1213 to the device server 11 (step S3), the device server 11 receives the interrupt request packet and extracts the interrupt request information included therein. To do. After that, the interrupt request information is transferred from the device server 11 to the keyboard 13 (step S4).

次に、インタラプト要求情報を受信した状態でキーボード13が第1キーの押下を受け付けると(ステップS4)、第1キーが押下された状態を示すインタラプト応答情報が、キーボード13からデバイスサーバ11へ転送される(ステップS5)。このインタラプト応答情報は、例えば図5(A)に示すように、複数のキーステータス情報の中の第1キーに対応するキーステータス情報が「1E」に設定され、他のキーに対応するキーステータス情報が、「00」に設定されている。このインタラプト応答情報は、第1キーのみが押下され他のキーは押下されていないことを示している。 Next, when the keyboard 13 receives the press of the first key while receiving the interrupt request information (step S4), the interrupt response information indicating the pressed state of the first key is transferred from the keyboard 13 to the device server 11. (Step S5). In this interrupt response information, for example, as shown in FIG. 5A, the key status information corresponding to the first key in the plurality of key status information is set to "1E", and the key status corresponding to other keys is set. The information is set to "00". This interrupt response information indicates that only the first key is pressed and the other keys are not pressed.

図4に戻って、一方、デバイスサーバ11は、インタラプト応答情報をカプセル化することによりインタラプト応答パケットを生成する。生成されたインタラプト応答パケットは、デバイスサーバ11から通信制御部1213へ送信される(ステップS6)。続いて、通信制御部1213は、インタラプト応答パケットを受信すると、そこに含まれるインタラプト応答情報を抽出し、抽出されたインタラプト応答情報が、通信制御部1213からUSBドライバ1212へ出力される(ステップS7)。その後、USBドライバ1212は、例えば前述図5(A)に示すようなインタラプト応答情報に含まれるキーステータス情報に基づいて、第1キーが押下されていることを通知する第1キー押下通知情報を生成する。生成された第1キー押下通知情報は、USBドライバ1212から処理部1211へ出力される(ステップS8)。そして、処理部1211は、第1キー押下通知が入力されると、第1キーの押下に応じた動作を開始する(ステップS9)。 Returning to FIG. 4, on the other hand, the device server 11 creates an interrupt response packet by encapsulating the interrupt response information. The generated interrupt response packet is transmitted from the device server 11 to the communication control unit 1213 (step S6). Subsequently, when the communication control unit 1213 receives the interrupt response packet, the communication control unit 1213 extracts the interrupt response information included therein, and the extracted interrupt response information is output from the communication control unit 1213 to the USB driver 1212 (step S7). ). After that, the USB driver 1212 sends the first key press notification information for notifying that the first key is pressed, based on the key status information included in the interrupt response information as shown in FIG. 5A, for example. To generate. The generated first key press notification information is output from the USB driver 1212 to the processing unit 1211 (step S8). Then, when the notification of pressing the first key is input, the processing unit 1211 starts the operation corresponding to the pressing of the first key (step S9).

次に、インタラプト応答情報を取得したことを契機として、或いは、ステップS2でインタラプト要求情報を送信した後、予め設定された周期に達すると、再び、インタラプト要求が、USBドライバ1212から通信制御部1213へ出力される(ステップS10)。続いて、インタラプト要求情報を含むインタラプト要求パケットが、通信制御部1213からデバイスサーバ11へ送信される(ステップS11)。その後、インタラプト要求パケットに含まれるインタラプト要求情報が、デバイスサーバ11からキーボード13へ転送される(ステップS12)。 Next, when the interrupt request information is acquired, or when a preset cycle is reached after transmitting the interrupt request information in step S2, the interrupt request is sent again from the USB driver 1212 to the communication control unit 1213. Is output to (step S10). Then, the interrupt request packet including the interrupt request information is transmitted from the communication control unit 1213 to the device server 11 (step S11). After that, the interrupt request information included in the interrupt request packet is transferred from the device server 11 to the keyboard 13 (step S12).

また、通信制御部1213は、デバイスサーバ11へキープアライブ要求パケットを予め設定された周期で繰り返し生成して送信する(ステップS13)。一方、デバイスサーバ11は、キープアライブ要求パケットを受信すると、キープアライブ応答パケットを生成して通信制御部1213へ送信する(ステップS14)。通信制御部1213は、デバイスサーバ11からキープアライブ応答パケットを受信する限り、デバイスサーバ11との間での通信が可能と判定する。 Further, the communication control unit 1213 repeatedly generates and transmits a keep-alive request packet to the device server 11 at a preset cycle (step S13). On the other hand, when the device server 11 receives the keepalive request packet, the device server 11 generates a keepalive response packet and transmits it to the communication control unit 1213 (step S14). The communication control unit 1213 determines that communication with the device server 11 is possible as long as the keep-alive response packet is received from the device server 11.

次に、通信制御部1213が、キープアライブ要求パケットを送信後(ステップS15)、デバイスサーバ11からキープアライブ応答パケットを受信せず、デバイスサーバ11との通信が遮断されたと判定したとする(ステップS16)。その後、予め設定された基準時間△T1の間、デバイスサーバ11との間での通信が復帰しなかったとする。この場合、第1キーが解放されたことを示すダミーのインタラプト応答情報が、通信制御部1213からUSBドライバ1212へ送信される(ステップS17)。このときのダミーのインタラプト応答情報は、例えば図5(B)に示すように、複数のキーステータス情報の全てが、「00」に設定されている。このインタラプト応答情報は、キーボード13の全てのキーが押下されていないことを示している。 Next, it is assumed that the communication control unit 1213, after transmitting the keepalive request packet (step S15), does not receive the keepalive response packet from the device server 11 and determines that the communication with the device server 11 is cut off (step S15). S16). After that, it is assumed that the communication with the device server 11 is not restored during the preset reference time ΔT1. In this case, dummy interrupt response information indicating that the first key has been released is transmitted from the communication control unit 1213 to the USB driver 1212 (step S17). In the dummy interrupt response information at this time, all of the plurality of key status information are set to "00" as shown in FIG. 5B, for example. This interrupt response information indicates that all the keys of the keyboard 13 have not been pressed.

図4に戻って、USBドライバ1212へ第1キーが解放された状態を示すダミーのインタラプト応答情報が入力されると、それに応じて、インタラプト要求情報が、USBドライバ1212から通信制御部1213へ出力される(ステップS18)。そして、通信制御部1213は、USBドライバ1212から入力されたインタラプト要求情報を要求記憶部1221に記憶させる(ステップS19)。 Returning to FIG. 4, when dummy interrupt response information indicating a state where the first key is released is input to the USB driver 1212, interrupt request information is output from the USB driver 1212 to the communication control unit 1213 accordingly. (Step S18). Then, the communication control unit 1213 stores the interrupt request information input from the USB driver 1212 in the request storage unit 1221 (step S19).

また、USBドライバ1212は、例えば前述図5(B)に示すようなインタラプト応答情報に含まれるキーステータス情報に基づいて、第1キーが解放されていることを通知する第1キー解放通知情報を生成する。そして、生成された第1キー解放通知情報が、USBドライバ1212から処理部1211へ出力される(ステップS20)。そして、処理部1211は、第1キー解放通知が入力されると、第1キーの解放に応じた動作が実行される(ステップS21)。 Further, the USB driver 1212 sends the first key release notification information for notifying that the first key is released based on the key status information included in the interrupt response information as shown in FIG. 5B, for example. To generate. Then, the generated first key release notification information is output from the USB driver 1212 to the processing unit 1211 (step S20). Then, when the first key release notification is input, the processing unit 1211 performs an operation according to the release of the first key (step S21).

その後、図6に示すように、通信制御部1213が、デバイスサーバ11へキープアライブ要求パケットを送信した後(ステップS22)、デバイスサーバ11からキープアライブ応答パケットを受信したとする(ステップS23)。この場合、通信制御部1213は、デバイスサーバ11との間での通信が復帰したと判定する(ステップS24)。この後、要求記憶部1221が記憶するインタラプト要求情報を含むインタラプト要求パケットが、通信制御部1213からデバイスサーバ11へ送信される(ステップS25)。そして、デバイスサーバ11は、インタラプト要求パケットを受信すると、そこに含まれるインタラプト要求情報を抽出する。その後、インタラプト要求情報が、デバイスサーバ11からキーボード13へ転送される(ステップS26)。 After that, as shown in FIG. 6, it is assumed that the communication control unit 1213 receives the keepalive response packet from the device server 11 after transmitting the keepalive request packet to the device server 11 (step S22) (step S23). In this case, the communication control unit 1213 determines that the communication with the device server 11 has been restored (step S24). After that, the interrupt request packet including the interrupt request information stored in the request storage unit 1221 is transmitted from the communication control unit 1213 to the device server 11 (step S25). Then, when the device server 11 receives the interrupt request packet, the device server 11 extracts the interrupt request information included therein. After that, the interrupt request information is transferred from the device server 11 to the keyboard 13 (step S26).

ここで、キーボード13が、ユーザによる第1キーの解放操作を受け付けたとする(ステップS27)。この場合、先にキーボード13へ転送されたインタラプト要求情報(ステップS12)に応じて、第1キーが解放された状態を示すインタラプト応答情報が、ステップS5およびS6と同様にして、キーボード13から通信制御部1213へ転送される(ステップS28、S29)。そして、通信制御部1213は、インタラプト応答情報が第1キーが解放された状態を示すものであると判定したとする(ステップS30)。この場合、通信制御部1213は、インタラプト応答情報を破棄する(ステップS31)。つまり、通信制御部1213は、キーボード13からデバイスサーバ11を介して取得される、ダミーのインタラプト応答情報に対応するインタラプト応答情報の内容に応じて、当該インタラプト応答情報を破棄する。 Here, it is assumed that the keyboard 13 receives a release operation of the first key by the user (step S27). In this case, in response to the interrupt request information (step S12) previously transferred to the keyboard 13, the interrupt response information indicating the released state of the first key is transmitted from the keyboard 13 in the same manner as in steps S5 and S6. It is transferred to the control unit 1213 (steps S28 and S29). Then, it is assumed that the communication control unit 1213 determines that the interrupt response information indicates a state in which the first key is released (step S30). In this case, the communication control unit 1213 discards the interrupt response information (step S31). That is, the communication control unit 1213 discards the interrupt response information according to the content of the interrupt response information corresponding to the dummy interrupt response information acquired from the keyboard 13 via the device server 11.

その後、キーボード13が、ユーザによる第2キーの押下操作を受け付けたとする(ステップS32)。この場合、先にキーボード13へ転送されたインタラプト要求情報(ステップS26)に応じて、第2キーが押下された状態を示すインタラプト応答情報が、ステップS5乃至S7と同様にして、キーボード13からUSBドライバ1212へ転送される(ステップS33乃至S35)。このときのインタラプト応答情報は、例えば図5(C)に示すように、複数のキーステータス情報の中の第2キーに対応するキーステータス情報が「1E」に設定され、他のキーに対応するキーステータス情報が、「00」に設定されている。このインタラプト応答情報は、第2キーのみが押下され他のキーは押下されていないことを示している。 After that, it is assumed that the keyboard 13 receives the pressing operation of the second key by the user (step S32). In this case, according to the interrupt request information (step S26) previously transferred to the keyboard 13, the interrupt response information indicating the state in which the second key is pressed is changed from the keyboard 13 to the USB in the same manner as in steps S5 to S7. The data is transferred to the driver 1212 (steps S33 to S35). In the interrupt response information at this time, for example, as shown in FIG. 5C, the key status information corresponding to the second key in the plurality of key status information is set to “1E” and corresponds to other keys. The key status information is set to "00". This interrupt response information indicates that only the second key is pressed and the other keys are not pressed.

図6に戻って、続いて、USBドライバ1212は、例えば前述図5(C)に示すようなインタラプト応答情報に含まれるキーステータス情報に基づいて、第2キーが押下されていることを通知する第2キー押下通知情報を生成する。生成された第2キー押下通知情報は、USBドライバ1212から処理部1211へ出力される(ステップS36)。そして、処理部1211は、第2キー押下通知が入力されると、第2キーの押下に応じた動作を開始する(ステップS37)。 Returning to FIG. 6, subsequently, the USB driver 1212 notifies that the second key is pressed based on the key status information included in the interrupt response information as shown in FIG. 5C, for example. The second key press notification information is generated. The generated second key press notification information is output from the USB driver 1212 to the processing unit 1211 (step S36). Then, when the notification of pressing the second key is input, the processing unit 1211 starts an operation corresponding to the pressing of the second key (step S37).

次に、本実施の形態に係るクライアント装置12の通信制御部1213が実行する通信制御処理について図7乃至図9を参照しながら説明する。この通信制御処理は、クライアント装置12およびデバイスサーバ11へ電源が投入された状態で、キーボード13がデバイスサーバ11を介してクライアント装置12へ接続されたことを契機として開始される。ここにおいて、通信制御部1213は、キーボード13からデバイスサーバ11およびネットワークを経由してUSBコンフィギュレーション情報およびディスクリプタ情報を取得することにより、インタラプト応答パケットの構造およびインタラプト要求情報を出力する周期に関する情報を取得して仕様情報記憶部1231に記憶させているものとする。 Next, communication control processing executed by the communication control unit 1213 of the client device 12 according to the present embodiment will be described with reference to FIGS. 7 to 9. The communication control process is started when the keyboard 13 is connected to the client device 12 via the device server 11 while the client device 12 and the device server 11 are powered on. Here, the communication control unit 1213 obtains the USB configuration information and the descriptor information from the keyboard 13 via the device server 11 and the network, thereby obtaining information about the structure of the interrupt response packet and the information about the cycle of outputting the interrupt request information. It is assumed that it is acquired and stored in the specification information storage unit 1231.

まず、通信制御部1213は、図7に示すように、USBドライバ1212からUSB要求情報が入力されると、USB要求情報を含むUSB要求パケットを生成してデバイスサーバ11へ送信する(ステップS101)。USB要求情報には、コントロール転送、バルク転送、インタラプト転送およびアイソクロナス転送それぞれにおける要求情報が含まれる。 First, when the USB request information is input from the USB driver 1212, the communication control unit 1213 generates a USB request packet including the USB request information and transmits the USB request packet to the device server 11 (step S101). .. The USB request information includes request information for control transfer, bulk transfer, interrupt transfer, and isochronous transfer.

次に、通信制御部1213は、USB要求パケットに対応するUSB応答パケットを受信する(ステップS102)。USB応答情報には、コントロール転送、バルク転送、インタラプト転送およびアイソクロナス転送それぞれにおける応答情報が含まれる。続いて、通信制御部1213は、USB応答パケットに含まれるUSB応答情報がインタラプト応答情報であり且つ転送元のUSBデバイスがHIDであるか否かを判定する(ステップS103)。通信制御部1213は、USB応答情報がインタラプト応答情報でない、或いは転送元のUSBデバイスがHIDでないと判定すると(ステップS103:No)、USB応答情報をUSBドライバ1212へ出力する(ステップS104)。その後、通信制御部1213は、再びステップS101の処理を実行する。 Next, the communication control unit 1213 receives the USB response packet corresponding to the USB request packet (step S102). The USB response information includes response information for control transfer, bulk transfer, interrupt transfer, and isochronous transfer. Subsequently, the communication control unit 1213 determines whether the USB response information included in the USB response packet is the interrupt response information and the transfer source USB device is HID (step S103). When determining that the USB response information is not the interrupt response information or the transfer source USB device is not the HID (step S103: No), the communication control unit 1213 outputs the USB response information to the USB driver 1212 (step S104). Then, the communication control unit 1213 executes the process of step S101 again.

一方、通信制御部1213は、USB応答情報がインタラプト応答情報であり且つ転送元のUSBデバイスがHIDであると判定すると(ステップS103:Yes)、USB応答情報、即ち、インタラプト応答情報がキー押下を示しているか否かを判定する(ステップS105)。通信制御部1213は、インタラプト応答情報がキー押下を示していないと判定すると(ステップS105:No)、インタラプト応答情報をUSBドライバ1212へ出力してから(ステップS106)、インタラプト要求パケットを生成して送信する(ステップS107)。その後、通信制御部1213は、再び前述のステップS102の処理を実行する。一方、通信制御部1213は、インタラプト応答情報がキー押下を示していると判定すると(ステップS105:Yes)、キーが押下されたことを通知するキー押下通知情報を処理部1211へ出力し(ステップS108)、インタラプト応答情報をUSBドライバ1212へ出力する(ステップS109)。次に、通信制御部1213は、USBドライバ1212から出力されたインタラプト要求情報を含むインタラプト要求パケットを生成してデバイスサーバ11へ送信する(ステップS110)。その後、通信制御部1213は、図8に示すように、デバイスサーバ11の変換部1111との通信状態を判定する通信状態判定処理を実行する(ステップS111)。通信状態判定処理では、通信制御部1213がキープアライブ要求パケットを変換部1111へ送信する。そして、通信制御部1213は、予め設定された判定期間内に変換部1111からキープアライブ応答パケットを受信すると、変換部1111との通信が可能であると判定する。一方、通信制御部1213は、判定期間内に変換部1111からキープアライブ応答パケットを受信しない場合、再度キープアライブ要求パケットを変換部1111へ送信する。そして、通信制御部1213は、キープアライブ要求パケットを予め設定された回数だけ繰り返し送信しても変換部1111からキープアライブ応答パケットを受信しない場合、変換部1111との通信が遮断されたと判定する。 On the other hand, when the communication control unit 1213 determines that the USB response information is the interrupt response information and the transfer source USB device is the HID (step S103: Yes), the USB response information, that is, the interrupt response information indicates that the key is pressed. It is determined whether or not it is shown (step S105). When the communication control unit 1213 determines that the interrupt response information does not indicate that the key has been pressed (step S105: No), it outputs the interrupt response information to the USB driver 1212 (step S106) and then generates an interrupt request packet. It is transmitted (step S107). After that, the communication control unit 1213 executes the above-described process of step S102 again. On the other hand, when the communication control unit 1213 determines that the interrupt response information indicates that the key is pressed (step S105: Yes), the communication control unit 1213 outputs key press notification information for notifying that the key has been pressed to the processing unit 1211 (step S105). In step S108, the interrupt response information is output to the USB driver 1212 (step S109). Next, the communication control unit 1213 generates an interrupt request packet including the interrupt request information output from the USB driver 1212 and transmits it to the device server 11 (step S110). Then, as shown in FIG. 8, the communication control unit 1213 executes a communication state determination process for determining the communication state with the conversion unit 1111 of the device server 11 (step S111). In the communication state determination process, the communication control unit 1213 transmits a keepalive request packet to the conversion unit 1111. Then, when the communication control unit 1213 receives the keepalive response packet from the conversion unit 1111 within the preset determination period, it determines that communication with the conversion unit 1111 is possible. On the other hand, when the communication control unit 1213 does not receive the keepalive response packet from the conversion unit 1111 within the determination period, the communication control unit 1213 transmits the keepalive request packet to the conversion unit 1111 again. Then, the communication control unit 1213 determines that the communication with the conversion unit 1111 is cut off when the keepalive response packet is not received from the conversion unit 1111 even if the keepalive request packet is repeatedly transmitted a preset number of times.

続いて、通信制御部1213は、通信状態判定処理(ステップS111)の結果に基づき、変換部1111との通信が遮断されたか否かを判定する(ステップS112)。通信制御部1213は、変換部1111との通信が可能であると判定すると(ステップS112:No)、デバイスサーバ11からインタラプト応答パケットが受信されたかを判定する(ステップS113)。通信制御部1213は、インタラプト要求パケットを受信していないと判定すると(ステップS113:No)、再度通信状態判定処理を実行する(ステップS111)。一方、通信制御部1213は、インタラプト要求パケットを受信したと判定すると(ステップS113:Yes)、前述のステップS105の処理を実行する。 Subsequently, the communication control unit 1213 determines whether or not the communication with the conversion unit 1111 is cut off based on the result of the communication state determination process (step S111) (step S112). When determining that communication with the conversion unit 1111 is possible (step S112: No), the communication control unit 1213 determines whether or not an interrupt response packet has been received from the device server 11 (step S113). When determining that the interrupt request packet has not been received (step S113: No), the communication control unit 1213 executes the communication state determination process again (step S111). On the other hand, when determining that the interrupt request packet has been received (step S113: Yes), the communication control unit 1213 executes the process of step S105 described above.

また、通信制御部1213は、変換部1111との通信が遮断されたと判定すると(ステップS112:Yes)、計時部1214のタイマをスタートさせ、通信遮断状態が予め設定された基準時間△T1だけ経過したか否かを判定する(ステップS114)。ここで、タイマは通信遮断状態が続く限りカウント動作を続ける。そして、通信制御部1213は、通信遮断状態が予め設定された基準時間△T1だけ経過していないと判定すると(ステップS114:No)、再びステップS111の処理を実行する。基準時間△T1は、例えば5sec程度に設定される。 When the communication control unit 1213 determines that the communication with the conversion unit 1111 is cut off (step S112: Yes), it starts the timer of the clock unit 1214, and the communication cutoff state elapses for the preset reference time ΔT1. It is determined whether or not (step S114). Here, the timer continues counting as long as the communication cutoff state continues. When the communication control unit 1213 determines that the communication cutoff state has not elapsed for the preset reference time ΔT1 (step S114: No), the communication control unit 1213 executes the process of step S111 again. The reference time ΔT1 is set to about 5 seconds, for example.

一方、通信制御部1213が、計時部1214のタイマのカウント値に基づいて、通信遮断状態で予め設定された基準時間△T1だけ経過したと判定すると(ステップS114:Yes)、通信制御部1213は、キー解放状態を示すダミーのインタラプト応答情報をUSBドライバ1212へ出力する(ステップS115)。次に、通信制御部1213は、ダミーのインタラプト応答情報に対応するインタラプト要求情報を要求記憶部1221に記憶させる(ステップS116)。続いて、通信制御部1213は、変換部1111との通信状態を判定する通信状態判定処理を実行する(ステップS117)。その後、通信制御部1213は、通信状態判定処理(ステップS117)の結果に基づき、変換部1111との通信が復帰したか否かを判定する(ステップS118)。通信制御部1213は、変換部1111との通信が復帰していないと判定すると(ステップS118:No)、再びステップS117の処理を実行する。 On the other hand, when the communication control unit 1213 determines that the preset reference time ΔT1 has elapsed in the communication cutoff state based on the count value of the timer of the timer unit 1214 (step S114: Yes), the communication control unit 1213 , Dummy interrupt response information indicating the key release state is output to the USB driver 1212 (step S115). Next, the communication control unit 1213 stores the interrupt request information corresponding to the dummy interrupt response information in the request storage unit 1221 (step S116). Subsequently, the communication control unit 1213 executes a communication state determination process of determining the communication state with the conversion unit 1111 (step S117). After that, the communication control unit 1213 determines whether or not the communication with the conversion unit 1111 is restored based on the result of the communication state determination process (step S117) (step S118). When the communication control unit 1213 determines that the communication with the conversion unit 1111 has not been restored (step S118: No), the process of step S117 is executed again.

一方、通信制御部1213は、変換部1111との通信が復帰したと判定すると(ステップS118:Yes)、要求記憶部1221に記憶したインタラプト要求情報を基に、インタラプト要求パケットを生成して変換部1111へ送信する(ステップS119)。次に、通信制御部1213は、インタラプト応答パケットを受信する(ステップS120)。なお、ステップS119の処理とステップS120の処理とは順序が逆になってもよい。 On the other hand, when the communication control unit 1213 determines that the communication with the conversion unit 1111 is restored (step S118: Yes), it generates an interrupt request packet based on the interrupt request information stored in the request storage unit 1221 and converts the interrupt request packet. It is transmitted to 1111 (step S119). Next, the communication control unit 1213 receives the interrupt response packet (step S120). The order of the process of step S119 and the process of step S120 may be reversed.

その後、通信制御部1213は、図9に示すように、インタラプト応答情報がキー解放状態を示しているか否かを判定する(ステップS121)。通信制御部1213は、インタラプト応答情報がキー解放状態を示していないと判定すると(ステップS121:No)、抽出したインタラプト応答情報をUSBドライバ1212へ出力する(ステップS122)。その後、通信制御部1213は、USBドライバ1212からインタラプト要求情報が入力されたか否かを判定する(ステップS123)。通信制御部1213は、USBドライバ1212からインタラプト要求情報が入力されていないと判定すると(ステップS123:No)、前述のステップS102の処理を実行する。一方、通信制御部1213は、USBドライバ1212からインタラプト要求情報が入力されたと判定すると(ステップS123:Yes)、を破棄してから(ステップS124)、前述のステップS102の処理を実行する。このインタラプト要求情報の破棄は、ステップS115におけるダミーのインタラプト応答情報の送信を行ったことと関係して、インタラプト応答情報とインタラプト要求情報とを一対一で対応させるための処理である。一方、通信制御部1213は、ステップS121において、インタラプト応答情報がキー解放状態を示していると判定すると(ステップS121:Yes)、キー解放状態を示すインタラプト応答情報をUSBドライバ1212に出力せず破棄する(ステップS125)。つまり、通信制御部1213は、キーボード13からデバイスサーバ11を介して取得される、ダミーのインタラプト応答情報に対応するインタラプト応答情報の内容に応じて、当該インタラプト応答情報を破棄する。その後、通信制御部1213は、前述のステップS102の処理を実行する。なお、通信制御部1213は、通信制御処理の実行途中で、例えばユーザがクライアント装置2012のユーザI/F(図示せず)を介して通信制御処理を終了するよう指示する割り込み命令を発行させると、その時点で通信制御処理を終了する。 After that, the communication control unit 1213 determines whether or not the interrupt response information indicates the key released state, as shown in FIG. 9 (step S121). When determining that the interrupt response information does not indicate the key release state (step S121: No), the communication control unit 1213 outputs the extracted interrupt response information to the USB driver 1212 (step S122). After that, the communication control unit 1213 determines whether or not the interrupt request information is input from the USB driver 1212 (step S123). When the communication control unit 1213 determines that the interrupt request information is not input from the USB driver 1212 (step S123: No), the communication control unit 1213 executes the process of step S102 described above. On the other hand, when the communication control unit 1213 determines that the interrupt request information is input from the USB driver 1212 (step S123: Yes), the communication control unit 1213 discards the interrupt request information (step S124), and then executes the process of step S102. The discarding of the interrupt request information is a process for associating the interrupt response information with the interrupt request information in a one-to-one correspondence in relation to the transmission of the dummy interrupt response information in step S115. On the other hand, when the communication control unit 1213 determines in step S121 that the interrupt response information indicates the key released state (step S121: Yes), it does not output the interrupt response information indicating the key released state to the USB driver 1212 and discards it. Yes (step S125). That is, the communication control unit 1213 discards the interrupt response information according to the content of the interrupt response information corresponding to the dummy interrupt response information acquired from the keyboard 13 via the device server 11. Then, the communication control unit 1213 executes the process of step S102 described above. If the communication control unit 1213 issues an interrupt command instructing to end the communication control process via the user I/F (not shown) of the client device 2012 during execution of the communication control process, for example. At that point, the communication control process ends.

以上説明したように、本実施の形態に係るデバイスサーバシステム1によれば、通信制御部1213が、クライアント装置12とデバイスサーバ11との間での通信状態を監視する。そして、ユーザによるキーボード13のキーが押下された後、通信制御部1213は、クライアント装置12とデバイスサーバ11との間での通信が遮断された状態で基準時間経過したと判定すると、キーが解放されたことを示すダミーのインタラプト応答情報をUSBドライバ1212へ出力する。これにより、クライアント装置12とデバイスサーバ11との間での通信が遮断されている間、処理部1211がキー押下通知情報に応じた処理を実行できない状態が継続してしまうことが防止される。ここで、キーボード13からキー押下、キー解放の2つのインタラプト応答情報がクライアント装置12へ転送されて処理部1211での処理が完了するとする。この場合、キーボード13からキー押下を示すインタラプト応答情報がクライアント装置12へ転送された直後に通信が遮断されたときでも、通信が遮断されている間、処理部1211での処理が完了せずに放置されることが無い。それ故、クライアント装置12を使用するユーザの利便性が向上する。 As described above, according to the device server system 1 according to the present embodiment, the communication control unit 1213 monitors the communication state between the client device 12 and the device server 11. Then, after the user presses the key on the keyboard 13, the communication control unit 1213 releases the key when it is determined that the reference time has elapsed with the communication between the client device 12 and the device server 11 being cut off. The dummy interrupt response information indicating that it has been output is output to the USB driver 1212. As a result, while the communication between the client device 12 and the device server 11 is cut off, it is prevented that the processing unit 1211 cannot continue the process in accordance with the key press notification information. Here, it is assumed that the two interrupt response information of pressing the key and releasing the key are transferred from the keyboard 13 to the client device 12 and the processing in the processing unit 1211 is completed. In this case, even when the communication is interrupted immediately after the interrupt response information indicating the key press from the keyboard 13 is transferred to the client device 12, the processing in the processing unit 1211 is not completed while the communication is interrupted. It is never left unattended. Therefore, the convenience of the user who uses the client device 12 is improved.

ところで、従来技術では、クライアント装置12は、キーボード13からキー押下を示すインタラプタ応答情報を受信した後、キー解放を示すインタラプト応答情報を受信するまで、キーが押下され続けている、即ちキー入力が継続していると認識する。従って、クライアント装置12とデバイスサーバ11との間で無線通信の遮断や遅延等により例えばキーボード13に対応するインタラプト要求情報出力周期よりも長い時間、キー解放を示すインタラプト応答情報を受信できない場合、クライアント装置12は、キー入力が継続していると認識してしまう。これに対して、本実施の形態に係るデバイスサーバシステムでは、通信制御部1213が、キーボード13からキー押下を示すインタラプタ応答情報を受信した後、キー解放を示すインタラプト応答情報を受信しない状態で基準時間△T1だけ経過すると、キー解放を示すダミーのインタラプト応答情報をUSBドライバ1212へ出力する。これにより、ユーザの意図に反してクライアント装置12がキー入力の継続に応じた処理を実行し続けてしまうことを防止できる。 By the way, in the conventional technique, the client device 12 continues to press a key after receiving the interrupter response information indicating the key press from the keyboard 13 until it receives the interrupt response information indicating the key release, that is, the key input is not performed. Recognize that it is continuing. Therefore, if the interrupt response information indicating the key release cannot be received for a time longer than the interrupt request information output cycle corresponding to the keyboard 13 due to interruption or delay of wireless communication between the client device 12 and the device server 11, for example, The device 12 recognizes that the key input is continuing. On the other hand, in the device server system according to the present embodiment, the communication control unit 1213 receives the interrupt response information indicating the key press from the keyboard 13 and then the interrupt response information indicating the key release is not received. After a lapse of time ΔT1, dummy interrupt response information indicating key release is output to the USB driver 1212. As a result, it is possible to prevent the client device 12 from continuing to execute the process according to the continuation of the key input against the intention of the user.

また、本実施の形態に係る通信制御部1213がダミーのインタラプト応答情報をUSBドライバ1212へ出力した後にクライアント装置12とデバイスサーバ11との間での通信が復帰したとする。この場合、通信制御部1213は、キーボード13からデバイスサーバ11を介して取得される、ダミーのインタラプト応答情報に対応するインタラプト応答情報の内容に応じて、当該インタラプト応答情報を破棄する。これにより、クライアント装置12からキーボード13へ転送されるインタラプト要求情報と、キーボード13からクライアント装置12へ転送されるインタラプト応答情報と、を一対一で対応させることができる。従って、インタラプト要求情報とインタラプト応答情報との不整合に起因して、クライアント装置12とキーボード13との間でのインタラプト転送の不具合の発生を抑制できる。 Further, it is assumed that the communication between the client device 12 and the device server 11 is restored after the communication control unit 1213 according to the present embodiment outputs the dummy interrupt response information to the USB driver 1212. In this case, the communication control unit 1213 discards the interrupt response information according to the content of the interrupt response information corresponding to the dummy interrupt response information acquired from the keyboard 13 via the device server 11. As a result, the interrupt request information transferred from the client device 12 to the keyboard 13 and the interrupt response information transferred from the keyboard 13 to the client device 12 can be made to correspond one-to-one. Therefore, it is possible to suppress the occurrence of the problem of interrupt transfer between the client device 12 and the keyboard 13 due to the mismatch between the interrupt request information and the interrupt response information.

(実施の形態2)
本実施の形態に係るデバイスサーバシステムは、HIDとして、キーボードの代わりにタッチパネルを備える点が実施の形態1に係るデバイスサーバシステム1と相違する。図10に示すように、本実施の形態に係るデバイスサーバシステム2は、デバイスサーバ11と、クライアント装置2012と、タッチパネル2013と、ディスプレイ14と、を備える。なお、図10において、実施の形態1と同様の構成については図1と同一の符号を付している。クライアント装置2012のハードウェア構成は、実施の形態1に係るクライアント装置12と同様である。
(Embodiment 2)
The device server system according to the present embodiment differs from the device server system 1 according to the first embodiment in that the HID includes a touch panel instead of the keyboard. As shown in FIG. 10, the device server system 2 according to the present embodiment includes a device server 11, a client device 2012, a touch panel 2013, and a display 14. In addition, in FIG. 10, the same components as those in the first embodiment are denoted by the same reference numerals as those in FIG. The hardware configuration of the client device 2012 is the same as that of the client device 12 according to the first embodiment.

クライアント装置2012では、CPU121が、補助記憶部123が記憶するプログラムを主記憶部122に読み込んで実行することにより、図11に示すように、処理部2211とUSBドライバ1212と通信制御部2213と計時部1214として機能する。なお、図11において実施の形態1と同様の構成については図3と同一の符号を付している。 In the client device 2012, the CPU 121 reads the program stored in the auxiliary storage unit 123 into the main storage unit 122 and executes the program, and as shown in FIG. 11, the processing unit 2211, the USB driver 1212, the communication control unit 2213, and the timekeeping unit 2213. It functions as the unit 1214. In FIG. 11, the same components as those in the first embodiment are designated by the same reference numerals as those in FIG.

処理部2211は、USBドライバ1212から入力されるタッチ状態通知情報またはタッチ解放情報に応じた処理を実行することにより映像情報を生成してディスプレイ14へ出力する。処理部2211は、タッチパネル2013からタッチ状態を示すインタラプタ応答情報が転送された後、タッチ解放を示すインタラプト応答情報が転送されない状態で予め設定された基準時間が経過するとタッチ状態の解放に応じた処理を実行する。 The processing unit 2211 generates image information by executing processing according to the touch state notification information or the touch release information input from the USB driver 1212 and outputs the image information to the display 14. After the interrupter response information indicating the touch state is transferred from the touch panel 2013, the processing unit 2211 performs a process according to the release of the touch state when a preset reference time elapses in a state where the interrupt response information indicating the touch release is not transferred. To execute.

通信制御部2213は、USBドライバ1212から入力されるインタラプト要求情報を含むインタラプト要求パケットを生成してデバイスサーバ11へ送信する。また、通信制御部2213は、デバイスサーバ11から受信したインタラプト応答パケットに含まれるインタラプト応答情報を抽出してUSBドライバ1212へ出力する。 The communication control unit 2213 generates an interrupt request packet including the interrupt request information input from the USB driver 1212 and transmits the interrupt request packet to the device server 11. Further, the communication control unit 2213 extracts the interrupt response information included in the interrupt response packet received from the device server 11 and outputs the interrupt response information to the USB driver 1212.

次に、本実施の形態に係るデバイスサーバシステム2の動作を図12乃至図14を参照しながら説明する。なお、図12および図14では、USBドライバ1212からタッチパネル2013向けへ送信されるハンドシェイクパケットの授受については図示を省略している。また、通信制御部2213は、タッチパネル2013から受信するインタラプト応答パケットの構造およびタッチパネル2013に対応するインタラプト要求情報の送信周期に関する情報を既に取得しているものとする。図12において、まず、タッチパネル2013が、ユーザによりタッチされたことを受け付けたとする(ステップS51)。次に、インタラプト要求情報が、クライアント装置2012のUSBドライバ1212から通信制御部2213へ出力される(ステップS52)。そうすると、インタラプト要求情報を含むインタラプト要求パケットが、通信制御部2213からデバイスサーバ11へ送信される(ステップS53)。そして、インタラプト要求パケットに含まれるインタラプト要求情報が、デバイスサーバ11からタッチパネル2013へ転送される(ステップS54)。 Next, the operation of the device server system 2 according to the present embodiment will be described with reference to FIGS. Note that, in FIGS. 12 and 14, illustration of the handshake packet transmission/reception transmitted from the USB driver 1212 to the touch panel 2013 is omitted. Further, it is assumed that the communication control unit 2213 has already acquired the information regarding the structure of the interrupt response packet received from the touch panel 2013 and the transmission cycle of the interrupt request information corresponding to the touch panel 2013. In FIG. 12, first, it is assumed that the touch panel 2013 receives a touch made by the user (step S51). Next, the interrupt request information is output from the USB driver 1212 of the client device 2012 to the communication control unit 2213 (step S52). Then, the interrupt request packet including the interrupt request information is transmitted from the communication control unit 2213 to the device server 11 (step S53). Then, the interrupt request information included in the interrupt request packet is transferred from the device server 11 to the touch panel 2013 (step S54).

次に、タッチパネル2013がユーザにタッチされた状態(タッチ状態)でインタラプト要求情報を受信すると、タッチ状態を示すインタラプト応答情報が、タッチパネル2013からデバイスサーバ11へ転送される(ステップS55)。このインタラプト応答情報は、例えば図13(A)に示すように、タッチ有無を示すステータス情報が「0x01」に設定され、タッチパネル2013上におけるユーザにタッチされている部分のX座標、Y座標を示す情報が設定されている。このインタラプト応答情報は、タッチパネル2013上における座標(64,−64)に対応する部分がタッチされていることを示している。 Next, when the touch panel 2013 receives the interrupt request information while being touched by the user (touch state), the interrupt response information indicating the touch state is transferred from the touch panel 2013 to the device server 11 (step S55). In this interrupt response information, for example, as shown in FIG. 13A, status information indicating presence/absence of touch is set to “0x01”, and indicates the X coordinate and the Y coordinate of the portion touched by the user on the touch panel 2013. Information is set. This interrupt response information indicates that the portion corresponding to the coordinates (64, −64) on the touch panel 2013 is touched.

図12に戻って、一方、デバイスサーバ11は、インタラプト応答情報をカプセル化することによりインタラプト応答パケットを生成する。生成されたインタラプト応答パケットは、デバイスサーバ11から通信制御部2213へ送信される(ステップS56)。続いて、インタラプト応答パケットに含まれるインタラプト応答情報が、通信制御部2213からUSBドライバ1212へ出力される(ステップS57)。その後、タッチ状態を示すインタラプト応答情報に基づいて、タッチ状態を通知する示すタッチ状態通知情報が、USBドライバ1212から処理部2211へ出力される(ステップS58)。そして、処理部2211は、タッチ状態通知情報が入力されると、タッチ状態に応じた動作を開始する(ステップS59)。 Returning to FIG. 12, on the other hand, the device server 11 generates an interrupt response packet by encapsulating the interrupt response information. The generated interrupt response packet is transmitted from the device server 11 to the communication control unit 2213 (step S56). Subsequently, the interrupt response information included in the interrupt response packet is output from the communication control unit 2213 to the USB driver 1212 (step S57). Thereafter, based on the interrupt response information indicating the touch state, touch state notification information indicating the touch state is output from the USB driver 1212 to the processing unit 2211 (step S58). Then, when the touch state notification information is input, the processing unit 2211 starts an operation according to the touch state (step S59).

次に、インタラプト応答情報を取得したことを契機として、或いは、ステップS52でインタラプト要求情報を送信した後、予め設定された周期に達すると、再び、インタラプト要求が、USBドライバ1212から通信制御部2213へ出力される(ステップS60)。続いて、インタラプト要求情報を含むインタラプト要求パケットが、通信制御部2213からデバイスサーバ11へ送信される(ステップS61)。その後、インタラプト要求パケットに含まれるインタラプト要求情報が、デバイスサーバ11からタッチパネル2013へ転送される(ステップS62)。以後、通信制御部2213とデバイスサーバ11との間での通信が可能である限り、インタラプト要求情報のUSBドライバ1212からタッチパネル2013への転送、インタラプト応答情報のタッチパネル2013からUSBドライバ1212への転送が予め設定された周期で繰り返し実行される。 Next, when an interrupt request information is acquired, or when a preset cycle is reached after transmitting the interrupt request information in step S52, the interrupt request is sent again from the USB driver 1212 to the communication control unit 2213. Is output (step S60). Then, the interrupt request packet including the interrupt request information is transmitted from the communication control unit 2213 to the device server 11 (step S61). After that, the interrupt request information included in the interrupt request packet is transferred from the device server 11 to the touch panel 2013 (step S62). After that, as long as the communication between the communication control unit 2213 and the device server 11 is possible, the interrupt request information can be transferred from the USB driver 1212 to the touch panel 2013 and the interrupt response information can be transferred from the touch panel 2013 to the USB driver 1212. It is repeatedly executed at a preset cycle.

また、通信制御部2213とデバイスサーバ11の変換部1111との間では、前述のインタラプト要求パケット、インタラプト応答パケットの送受信と同時に、通信状態判定処理が実行される。この通信状態判定処理では、キープアライブ要求パケットが、通信制御部2213からデバイスサーバ11へ予め設定された周期で繰り返し送信される(ステップS63)。一方、デバイスサーバ11は、キープアライブ要求パケットを受信すると、キープアライブ応答パケットを生成してクライアント装置2012へ送信する(ステップS64)。通信制御部2213は、デバイスサーバ11からキープアライブ応答パケットを受信する限り、デバイスサーバ11との間での通信が可能と判定する。 Further, between the communication control unit 2213 and the conversion unit 1111 of the device server 11, the communication state determination process is executed at the same time as the transmission and reception of the interrupt request packet and the interrupt response packet described above. In this communication state determination process, the keepalive request packet is repeatedly transmitted from the communication control unit 2213 to the device server 11 at a preset cycle (step S63). On the other hand, when the device server 11 receives the keepalive request packet, the device server 11 generates a keepalive response packet and transmits it to the client device 2012 (step S64). The communication control unit 2213 determines that communication with the device server 11 is possible as long as the keep alive response packet is received from the device server 11.

次に、通信制御部2213が、キープアライブ要求パケットを送信後(ステップS65)、デバイスサーバ11からキープアライブ応答パケットを受信せず、デバイスサーバ11との通信が遮断されたと判定したとする(ステップS66)。その後、予め設定された基準時間△T2の間、デバイスサーバ11との間での通信が復帰しなかったとする。この場合、継続してタッチ状態であることを示すダミーのインタラプト応答情報が、通信制御部2213からUSBドライバ1212へ送信される(ステップS67)。USBドライバ1212へタッチ状態であることを示すダミーのインタラプト応答情報が入力されると、それに応じて、インタラプト要求情報が、USBドライバ1212から通信制御部2213へ出力される(ステップS68)。そして、通信制御部2213は、USBドライバ1212から入力されたインタラプト要求情報を要求記憶部2221に記憶させる(ステップS69)。なお、基準時間△T2は、タッチパネル2013に対応するインタラプタ要求情報の出力周期と略同じ長さに設定され、例えば数msec程度に設定される。 Next, it is assumed that the communication control unit 2213, after transmitting the keepalive request packet (step S65), does not receive the keepalive response packet from the device server 11 and determines that the communication with the device server 11 is cut off (step S65). S66). After that, it is assumed that the communication with the device server 11 is not restored during the preset reference time ΔT2. In this case, the dummy interrupt response information indicating that the touch state is continuously transmitted from the communication control unit 2213 to the USB driver 1212 (step S67). When the dummy interrupt response information indicating the touch state is input to the USB driver 1212, the interrupt request information is output from the USB driver 1212 to the communication control unit 2213 in response thereto (step S68). Then, the communication control unit 2213 stores the interrupt request information input from the USB driver 1212 in the request storage unit 2221 (step S69). The reference time ΔT2 is set to be approximately the same length as the output cycle of the interrupter request information corresponding to the touch panel 2013, for example, set to about several msec.

また、USBドライバ1212は、例えば前述図13(A)に示すようなインタラプト応答情報に基づいて、タッチ状態を示すタッチ状態通知情報を生成する。そして、生成されたタッチ状態通知情報が、USBドライバ1212から処理部2211へ出力される(ステップS70)。そして、処理部2211は、タッチ状態通知情報が入力されると、タッチ状態に応じた動作を実行される(ステップS71)。 Further, the USB driver 1212 generates touch state notification information indicating a touch state based on the interrupt response information as shown in FIG. 13A, for example. Then, the generated touch state notification information is output from the USB driver 1212 to the processing unit 2211 (step S70). Then, when the touch state notification information is input, the processing unit 2211 performs an operation according to the touch state (step S71).

その後、図14に示すように、通信制御部2213が、デバイスサーバ11へキープアライブ要求パケットを送信した後(ステップS72)、デバイスサーバ11からキープアライブ応答パケットを受信したとする(ステップS73)。この場合、通信制御部2213は、デバイスサーバ11との間での通信が復帰したと判定する(ステップS74)。この場合、先にタッチパネル2013へ転送されたインタラプト要求情報(ステップS62)に応じて、タッチ状態を示すインタラプト応答情報が、ステップS55およびS56と同様にして、タッチパネル2013から通信制御部2213へ転送される(ステップS75、S76)。そして、通信制御部2213へ転送されたインタラプト応答情報が、通信制御部2213からUSBドライバ1212へ出力される(ステップS77)。 Thereafter, as shown in FIG. 14, it is assumed that the communication control unit 2213 receives the keepalive response packet from the device server 11 after transmitting the keepalive request packet to the device server 11 (step S72) (step S73). In this case, the communication control unit 2213 determines that the communication with the device server 11 has been restored (step S74). In this case, in response to the interrupt request information (step S62) previously transferred to the touch panel 2013, the interrupt response information indicating the touch state is transferred from the touch panel 2013 to the communication control unit 2213 in the same manner as in steps S55 and S56. (Steps S75, S76). Then, the interrupt response information transferred to the communication control unit 2213 is output from the communication control unit 2213 to the USB driver 1212 (step S77).

また、通信制御部2213とデバイスサーバ11との間での通信が復帰すると、要求記憶部2221が記憶するインタラプト要求情報を含むインタラプト要求パケットが、通信制御部2213からデバイスサーバ11へ送信される(ステップS78)。そして、インタラプト要求パケットに含まれるインタラプト要求情報が、デバイスサーバ11からタッチパネル2013へ転送される(ステップS79)。また、インタラプト要求情報がタッチパネル2013へ転送されると、それに応じて、インタラプト応答情報が、ステップS55乃至S57と同様にして、タッチパネル2013からUSBドライバ1212へ転送される(ステップS80乃至S82)。 When the communication between the communication control unit 2213 and the device server 11 is restored, an interrupt request packet including the interrupt request information stored in the request storage unit 2221 is transmitted from the communication control unit 2213 to the device server 11 ( Step S78). Then, the interrupt request information included in the interrupt request packet is transferred from the device server 11 to the touch panel 2013 (step S79). When the interrupt request information is transferred to the touch panel 2013, the interrupt response information is transferred from the touch panel 2013 to the USB driver 1212 in the same manner as in steps S55 to S57 (steps S80 to S82).

ここにおいて、ダミーのインタラプト応答情報が通信制御部2213からUSBドライバ1212へ既に出力されているので(ステップS67)、インタラプト応答情報とインタラプト要求情報とを一対一で対応させるための処理が行われる。具体的には、インタラプト要求情報がUSBドライバ1212から通信制御部2213へ出力されると(ステップS83)、通信制御部2213が、入力されたインタラプト要求情報を破棄する(ステップS84)。ここで、通信制御部2213により破棄されるインタラプト要求情報の数は、ダミーのインタラプト応答情報を出力した回数に相当する。このように、通信制御部2213が、ダミーのインタラプト応答情報をUSBドライバ1212へ出力した後にクライアント装置2012とデバイスサーバ11との間での通信が復帰した場合、USBドライバ1212から入力される、ダミーのインタラプト応答情報に対応するインタラプト要求情報を破棄する。 Here, since the dummy interrupt response information has already been output from the communication control unit 2213 to the USB driver 1212 (step S67), a process for associating the interrupt response information with the interrupt request information in a one-to-one correspondence is performed. Specifically, when the interrupt request information is output from the USB driver 1212 to the communication control unit 2213 (step S83), the communication control unit 2213 discards the input interrupt request information (step S84). Here, the number of interrupt request information items discarded by the communication control unit 2213 corresponds to the number of times the dummy interrupt response information is output. As described above, when the communication control unit 2213 outputs the dummy interrupt response information to the USB driver 1212 and then the communication between the client device 2012 and the device server 11 is restored, the communication controller 2213 inputs the dummy interrupt response information from the USB driver 1212. The interrupt request information corresponding to the interrupt response information is discarded.

その後、インタラプト要求情報が、ステップS52乃至S54と同様にして、USBドライバ1212から通信制御部2213およびデバイスサーバ11を介してタッチパネル2013へ転送される(ステップS85乃至S87)。そして、タッチパネル2013が、ユーザによるタッチ解放操作を受け付けたとする(ステップS88)。そうすると、タッチ解放を示すインタラプト応答情報が、ステップS55乃至S57と同様にして、タッチパネル2013からUSBドライバ1212へ転送される(ステップS89乃至S91)。このときのインタラプト応答情報は、例えば図13(B)に示すように、タッチ有無を示すステータス情報が「0x00」に設定されている。 After that, the interrupt request information is transferred from the USB driver 1212 to the touch panel 2013 via the communication control unit 2213 and the device server 11 in the same manner as in steps S52 to S54 (steps S85 to S87). Then, it is assumed that the touch panel 2013 receives a touch release operation by the user (step S88). Then, the interrupt response information indicating the touch release is transferred from the touch panel 2013 to the USB driver 1212 as in steps S55 to S57 (steps S89 to S91). In the interrupt response information at this time, for example, as shown in FIG. 13B, the status information indicating the presence or absence of the touch is set to “0x00”.

図14に戻って、続いて、USBドライバ1212は、例えば前述図13(B)に示すようなインタラプト応答情報に基づいて、タッチ解放を通知するタッチ解放通知情報を生成する。生成されたタッチ解放通知情報は、USBドライバ1212から処理部2211へ出力される(ステップS92)。そして、処理部2211は、タッチ解放通知情報が入力されると、タッチ解放通知情報に応じた処理を実行する(ステップS93)。 Returning to FIG. 14, subsequently, the USB driver 1212 generates touch release notification information for notifying the touch release based on the interrupt response information as shown in FIG. 13B, for example. The generated touch release notification information is output from the USB driver 1212 to the processing unit 2211 (step S92). Then, when the touch release notification information is input, the processing unit 2211 executes processing according to the touch release notification information (step S93).

次に、本実施の形態に係るクライアント装置2012の通信制御部2213が実行する通信制御処理について図15および図16を参照しながら説明する。この通信制御処理は、クライアント装置2012およびデバイスサーバ11へ電源が投入された状態で、タッチパネル2013がデバイスサーバ11を介してクライアント装置2012へ接続されたことを契機として開始される。ここにおいて、通信制御部2213は、タッチパネル2013からデバイスサーバ11およびネットワークを経由してUSBコンフィギュレーション情報およびディスクリプタ情報を取得することにより、インタラプト応答パケットの構造およびインタラプト要求情報を出力する周期に関する情報を取得して仕様情報記憶部2231に記憶させているものとする。 Next, the communication control processing executed by the communication control unit 2213 of the client device 2012 according to this embodiment will be described with reference to FIGS. 15 and 16. The communication control process is started when the touch panel 2013 is connected to the client device 2012 via the device server 11 while the client device 2012 and the device server 11 are powered on. Here, the communication control unit 2213 obtains the USB configuration information and the descriptor information from the touch panel 2013 via the device server 11 and the network to obtain the information about the structure of the interrupt response packet and the cycle of outputting the interrupt request information. It is assumed that it is acquired and stored in the specification information storage unit 2231.

まず、通信制御部2213は、図15に示すように、ステップS201乃至S204の処理を実行する。ステップS201乃至S204の処理の内容は、実施の形態1で説明したステップS101乃至S104の処理の内容と同様である。そして、通信制御部1213は、ステップS203の処理において、USB応答情報がインタラプト応答情報であり且つ転送元のUSBデバイスがHIDであると判定すると(ステップS203:Yes)、USB応答情報、即ち、インタラプト応答情報がタッチ状態を示すか否かを判定する(ステップS205)。通信制御部2213は、タッチ状態でないと判定すると(ステップS205:No)、インタラプト応答情報をUSBドライバ1212へ出力してから(ステップS206)、インタラプト要求パケットを生成して送信する(ステップS207)。その後、通信制御部1213は、再び前述のステップS202の処理を実行する。一方、通信制御部2213は、タッチ状態であると判定すると(ステップS205:Yes)、タッチパネル2013がタッチされていることを通知するタッチ状態通知情報を処理部2211へ出力し(ステップS208)、インタラプト応答情報をUSBドライバ1212へ出力する(ステップS209)。次に、通信制御部1213は、USBドライバ1212から出力されたインタラプト要求情報を含むインタラプト要求パケットを生成してデバイスサーバ11へ送信する(ステップS210)。その後、通信制御部2213は、図16に示すように、デバイスサーバ11の変換部1111との間の通信状態判定処理を実行する(ステップS211)。通信状態判定処理は、実施の形態1で説明した通信状態判定処理と同様である。 First, the communication control unit 2213 executes the processes of steps S201 to S204 as shown in FIG. The contents of the processing of steps S201 to S204 are the same as the contents of the processing of steps S101 to S104 described in the first embodiment. Then, when the communication control unit 1213 determines in the processing of step S203 that the USB response information is the interrupt response information and the transfer source USB device is the HID (step S203: Yes), the USB response information, that is, the interrupt. It is determined whether the response information indicates the touch state (step S205). When the communication control unit 2213 determines that it is not in the touch state (step S205: No), it outputs the interrupt response information to the USB driver 1212 (step S206), and then generates and transmits the interrupt request packet (step S207). After that, the communication control unit 1213 executes the above-described processing of step S202 again. On the other hand, when the communication control unit 2213 determines that it is in the touch state (step S205: Yes), it outputs touch state notification information for notifying that the touch panel 2013 is touched to the processing unit 2211 (step S208), and the interrupt. The response information is output to the USB driver 1212 (step S209). Next, the communication control unit 1213 generates an interrupt request packet including the interrupt request information output from the USB driver 1212 and transmits it to the device server 11 (step S210). After that, the communication control unit 2213 executes a communication state determination process with the conversion unit 1111 of the device server 11 as shown in FIG. 16 (step S211). The communication state determination process is the same as the communication state determination process described in the first embodiment.

次に、通信制御部2213は、通信状態判定処理において、変換部1111との通信が遮断されたか否かを判定する(ステップS212)。通信制御部2213は、変換部1111との通信が可能であると判定すると(ステップS212:No)、デバイスサーバ11からインタラプト応答パケットが受信されたか否かを判定する(ステップS213)。通信制御部2213は、インタラプト要求パケットを受信していないと判定すると(ステップS213:No)、再度通信状態判定処理を実行する(ステップS211)。一方、通信制御部2213は、インタラプト要求パケットを受信したと判定すると(ステップS213:Yes)、前述のステップS205の処理を実行する。 Next, the communication control unit 2213 determines whether or not the communication with the conversion unit 1111 is cut off in the communication state determination process (step S212). When determining that communication with the conversion unit 1111 is possible (step S212: No), the communication control unit 2213 determines whether or not an interrupt response packet has been received from the device server 11 (step S213). When the communication control unit 2213 determines that the interrupt request packet has not been received (step S213: No), the communication control unit 2213 executes the communication state determination process again (step S211). On the other hand, when determining that the interrupt request packet has been received (step S213: Yes), the communication control unit 2213 executes the process of step S205 described above.

また、通信制御部2213が、変換部1111との通信が遮断されたと判定すると(ステップS212:Yes)、計時部1214のタイマをスタートさせ、通信遮断状態が予め設定された基準時間△T2だけ経過したか否かを判定する(ステップS214)。この基準時間は、前述のとおりタッチパネル2013に対応するインタラプタ要求情報の出力周期と略同じ長さに設定され、例えば数msec程度に設定される。ここで、タイマは通信遮断状態が続く限りカウント動作を続ける。そして、通信制御部2213は、通信遮断状態が予め設定された基準時間△T2だけ経過していないと判定すると(ステップS214:No)、再びステップS211の処理を実行する。 When the communication control unit 2213 determines that the communication with the conversion unit 1111 is cut off (step S212: Yes), the timer of the time counting unit 1214 is started, and the communication cutoff state elapses for the preset reference time ΔT2. It is determined whether or not (step S214). As described above, this reference time is set to be approximately the same length as the output cycle of the interrupter request information corresponding to the touch panel 2013, and is set to, for example, about several msec. Here, the timer continues counting as long as the communication cutoff state continues. Then, when the communication control unit 2213 determines that the communication cutoff state has not elapsed for the preset reference time ΔT2 (step S214: No), the process of step S211 is executed again.

一方、通信制御部2213が、計時部1214のタイマのカウント値に基づいて、通信遮断状態で予め設定された基準時間△T2だけ経過したと判定すると(ステップS214:Yes)、通信制御部2213は、タッチ状態を示すダミーのインタラプト応答情報をUSBドライバ1212へ出力する(ステップS215)。次に、通信制御部2213は、インタラプト要求情報を既に要求記憶部2221に記憶させているか否かを判定する(ステップS216)。通信制御部2213は、インタラプト要求情報を既に要求記憶部221に記憶させていると判定すると(ステップS216:Yes)、インタラプト要求情報を破棄してから(ステップS218)、後述のステップS219の処理を実行する。一方、通信制御部2213は、インタラプト要求情報を未だ要求記憶部2221に記憶させていないと判定すると(ステップS216:No)、ダミーのインタラプト応答情報に対応するインタラプト要求情報を要求記憶部2221に記憶させる(ステップS217)。続いて、通信制御部2213は、変換部1111との通信状態を判定する通信状態判定処理を実行する(ステップS219)。その後、通信制御部2213は、通信状態判定処理(ステップS219)の結果に基づき、変換部1111との通信が復帰したか否かを判定する(ステップS220)。 On the other hand, when the communication control unit 2213 determines that the preset reference time ΔT2 has elapsed in the communication cutoff state based on the count value of the timer of the timer unit 1214 (step S214: Yes), the communication control unit 2213 determines , Dummy interrupt response information indicating the touch state is output to the USB driver 1212 (step S215). Next, the communication control unit 2213 determines whether or not the interrupt request information is already stored in the request storage unit 2221 (step S216). When the communication control unit 2213 determines that the interrupt request information has already been stored in the request storage unit 221 (step S216: Yes), the interrupt control information is discarded (step S218), and the process of step S219 described below is performed. Execute. On the other hand, if the communication control unit 2213 determines that the interrupt request information is not yet stored in the request storage unit 2221 (step S216: No), it stores the interrupt request information corresponding to the dummy interrupt response information in the request storage unit 2221. (Step S217). Subsequently, the communication control unit 2213 executes a communication state determination process of determining the communication state with the conversion unit 1111 (step S219). After that, the communication control unit 2213 determines whether or not the communication with the conversion unit 1111 is restored, based on the result of the communication state determination process (step S219) (step S220).

通信制御部2213は、変換部1111との通信が復帰したと判定すると(ステップS220:Yes)、インタラプト応答パケットを受信し(ステップS221)、インタラプト応答パケットからインタラプト応答情報を抽出してUSBドライバ1212へ出力する(ステップS222)。次に、通信制御部2213は、インタラプト要求パケットを生成して変換部1111へ送信する(ステップS223)。なお、ステップS221およびS222の処理とステップS223の処理とは順序が逆になってもよい。 When the communication control unit 2213 determines that the communication with the conversion unit 1111 is restored (step S220: Yes), the communication control unit 2213 receives the interrupt response packet (step S221), extracts the interrupt response information from the interrupt response packet, and extracts the USB driver 1212. (Step S222). Next, the communication control unit 2213 generates an interrupt request packet and transmits it to the conversion unit 1111 (step S223). The order of the processes of steps S221 and S222 and the process of step S223 may be reversed.

続いて、通信制御部2213は、USBドライバ1212からインタラプト要求情報が入力されたか否かを判定する(ステップS224)。通信制御部2213は、USBドライバ1212からインタラプト要求情報が入力されていないと判定すると(ステップS224:No)、前述のステップS202の処理を実行する。一方、通信制御部2213は、USBドライバ1212からインタラプト要求情報が入力されたと判定すると(ステップS224:Yes)、インタラプト要求情報を破棄する(ステップS225)。つまり、通信制御部2213が、ダミーのインタラプト応答情報をUSBドライバ1212へ出力した後にクライアント装置2012とデバイスサーバ11との間での通信が復帰した場合、USBドライバ1212から入力される、ダミーのインタラプト応答情報に対応するインタラプト要求情報を破棄する。インタラプト応答情報とインタラプト要求情報とを一対一で対応させるための処理である。その後、通信制御部2213は、前述のステップS202の処理を実行する。 Subsequently, the communication control unit 2213 determines whether or not the interrupt request information is input from the USB driver 1212 (step S224). When the communication control unit 2213 determines that the interrupt request information is not input from the USB driver 1212 (step S224: No), the process of step S202 described above is executed. On the other hand, when determining that the interrupt request information is input from the USB driver 1212 (step S224: Yes), the communication control unit 2213 discards the interrupt request information (step S225). That is, when the communication control unit 2213 outputs the dummy interrupt response information to the USB driver 1212 and then the communication between the client device 2012 and the device server 11 is restored, the dummy interrupt input from the USB driver 1212. Discard the interrupt request information corresponding to the response information. This is a process for associating the interrupt response information with the interrupt request information on a one-to-one basis. After that, the communication control unit 2213 executes the process of step S202 described above.

また、通信制御部2213は、ステップS220の処理において、変換部1111との通信が復帰していないと判定すると(ステップS220:No)、通信が遮断した状態で予め設定された基準時間△T3だけ経過したか否かを判定する(ステップS226)。ここで、基準時間△T3は、例えば5secに設定される。通信制御部2213は、通信遮断状態で予め設定された基準時間△T3だけ経過したと判定すると(ステップS226:Yes)、タッチ解放を示すダミーのインタラプト応答情報をUSBドライバ1212へ出力する(ステップS227)。その後、通信制御部2213は、変換部1111との通信状態を判定する通信状態判定処理を実行する(ステップS228)。次に、通信制御部2213は、通信状態判定処理(ステップS228)の結果に基づき、変換部1111との通信が復帰したか否かを判定する(ステップS229)。 In addition, when the communication control unit 2213 determines in the process of step S220 that the communication with the conversion unit 1111 has not been restored (step S220: No), the communication control unit 2213 only disconnects the communication for a preset reference time ΔT3. It is determined whether the time has passed (step S226). Here, the reference time ΔT3 is set to, for example, 5 seconds. When the communication control unit 2213 determines that the preset reference time ΔT3 has elapsed in the communication cutoff state (step S226: Yes), it outputs the dummy interrupt response information indicating the touch release to the USB driver 1212 (step S227). ). After that, the communication control unit 2213 executes a communication state determination process for determining the communication state with the conversion unit 1111 (step S228). Next, the communication control unit 2213 determines whether or not the communication with the conversion unit 1111 has been restored based on the result of the communication state determination process (step S228) (step S229).

通信制御部2213は、変換部1111との通信が復帰したと判定すると(ステップS229:Yes)、前述のステップS221の処理を実行する。一方、通信制御部2213は、変換部1111との通信が復帰しないと判定すると(ステップS229:No)、再びステップS228の処理を実行する。また、通信制御部2213は、ステップS226の処理において、通信遮断状態が未だ基準時間△T3だけ経過していないと判定すると(ステップS226:No)、通信が遮断した状態で予め設定された基準時間△T2だけ経過したか否かを判定する(ステップS230)。通信制御部2213は、通信遮断状態で予め設定された基準時間△T2だけ経過したと判定すると(ステップS230:Yes)、前述のステップS215の処理を実行する。一方、通信制御部2213は、通信遮断状態で予め設定された基準時間△T2だけ経過していないと判定すると(ステップS230:No)、前述のステップS219の処理を実行する。 なお、通信制御部2213は、通信制御処理の実行途中で、例えばユーザがクライアント装置2012のユーザI/F(図示せず)を介して通信制御処理を終了するよう指示する割り込み命令を発行させると、その時点で通信制御処理を終了する。 When the communication control unit 2213 determines that the communication with the conversion unit 1111 is restored (step S229: Yes), the communication control unit 2213 executes the process of step S221. On the other hand, when the communication control unit 2213 determines that the communication with the conversion unit 1111 is not restored (step S229: No), the process of step S228 is executed again. In addition, when the communication control unit 2213 determines in the process of step S226 that the communication cutoff state has not yet elapsed for the reference time ΔT3 (step S226: No), the communication control unit 2213 sets the reference time preset in the communication cutoff state. It is determined whether ΔT2 has elapsed (step S230). When the communication control unit 2213 determines that the preset reference time ΔT2 has elapsed in the communication cutoff state (step S230: Yes), the communication control unit 2213 executes the process of step S215. On the other hand, when the communication control unit 2213 determines that the preset reference time ΔT2 has not elapsed in the communication cutoff state (step S230: No), the communication control unit 2213 executes the process of step S219. Note that, if the communication control unit 2213 issues an interrupt command instructing to end the communication control process via the user I/F (not shown) of the client device 2012 during execution of the communication control process, for example. At that point, the communication control process ends.

ここで、本実施の形態に係るデバイスサーバシステム2の動作について比較例に係るデバイスサーバシステムの動作と比較しながら説明する。比較例に係るデバイスサーバシステムは、ハードウェア構成はデバイスサーバシステム2と同様である。但し、クライアント装置2012のUSBドライバへのダミーのインタラプト応答情報の入力が実行されない点が相違する。例えば図17(A)の矢印AR1に示すように、ユーザが、ディスプレイ14の画面141を見ながら、ファイルF1をフォルダF2上にドラッグする操作を行っているとする。この場合、比較例に係るデバイスサーバシステムでは、ファイルF1を移動させている途中でクライアント装置2012とデバイスサーバ11との間での通信が遮断されると、フォルダF2に至る途中でファイルF1の指定が解除されてしまう。そうすると、図17(A)に示すように、フォルダF2に至る途中でファイルF1が放置され、ユーザはファイルF1をフォルダF2に移動させる操作を行うことができなくなる。 Here, the operation of the device server system 2 according to the present embodiment will be described in comparison with the operation of the device server system according to the comparative example. The hardware configuration of the device server system according to the comparative example is similar to that of the device server system 2. However, the difference is that input of dummy interrupt response information to the USB driver of the client device 2012 is not executed. For example, it is assumed that the user drags the file F1 onto the folder F2 while looking at the screen 141 of the display 14 as indicated by an arrow AR1 in FIG. In this case, in the device server system according to the comparative example, if the communication between the client device 2012 and the device server 11 is interrupted while the file F1 is being moved, the file F1 is specified on the way to the folder F2. Will be canceled. Then, as shown in FIG. 17A, the file F1 is left in the middle of reaching the folder F2, and the user cannot perform the operation of moving the file F1 to the folder F2.

これに対して、本実施の形態に係るデバイスサーバシステム2では、比較例の場合、ファイルF1を移動させている途中でクライアント装置2012とデバイスサーバ11との間での通信が遮断されると、通信制御部2213が、USBドライバ1212へタッチ状態を示すダミーのインタラプト応答情報を出力する。これにより、クライアント装置2012とデバイスサーバ11との間での通信が遮断されている間もファイルF1の指定が維持されるので、図17(B)に示すように、ユーザはファイルF1をフォルダF2に移動させる操作を行うことができる。 On the other hand, in the device server system 2 according to the present embodiment, in the case of the comparative example, if the communication between the client device 2012 and the device server 11 is interrupted while the file F1 is being moved, The communication control unit 2213 outputs dummy interrupt response information indicating the touch state to the USB driver 1212. As a result, the designation of the file F1 is maintained even while the communication between the client device 2012 and the device server 11 is cut off. Therefore, as shown in FIG. 17(B), the user stores the file F1 in the folder F2. You can perform the operation to move to.

以上説明したように、本実施の形態に係るデバイスサーバシステム2によれば、通信制御部2213が、ダミーのインタラプト応答情報をUSBドライバ1212へ出力した後にクライアント装置2012とデバイスサーバ11との間での通信が復帰した場合、USBドライバ1212から入力される、ダミーのインタラプト応答情報に対応するインタラプト要求情報を破棄する。これにより、クライアント装置2012からタッチパネル2013へ転送されるインタラプト要求情報と、タッチパネル2013からクライアント装置2012へ転送されるインタラプト応答情報と、を一対一で対応させることができる。従って、インタラプト要求情報とインタラプト応答情報との不整合に起因して、クライアント装置2012とタッチパネル2013との間でのインタラプト転送の不具合の発生を抑制できる。 As described above, according to the device server system 2 according to the present embodiment, the communication control unit 2213 outputs dummy interrupt response information to the USB driver 1212, and then, between the client apparatus 2012 and the device server 11. When the communication is restored, the interrupt request information corresponding to the dummy interrupt response information input from the USB driver 1212 is discarded. As a result, the interrupt request information transferred from the client device 2012 to the touch panel 2013 and the interrupt response information transferred from the touch panel 2013 to the client device 2012 can be associated with each other on a one-to-one basis. Therefore, it is possible to suppress the occurrence of a defect in interrupt transfer between the client device 2012 and the touch panel 2013 due to the mismatch between the interrupt request information and the interrupt response information.

(変形例)
以上、本発明の各実施の形態について説明したが、本発明は各実施の形態の構成に限定されるものではない。例えばユーザがクライアント装置のユーザI/Fまたはキーボード13、タッチパネル2013のユーザI/Fを介して、ダミーのインタラプト応答情報をUSBドライバ1212へ出力しないように設定できるようにしてもよい。
(Modification)
Although the respective embodiments of the present invention have been described above, the present invention is not limited to the configurations of the respective embodiments. For example, the user may set not to output the dummy interrupt response information to the USB driver 1212 via the user I/F of the client device or the user interface of the keyboard 13 and the touch panel 2013.

各実施の形態では、クライアント装置とキーボード13またはタッチパネル2013との間でインタラプト転送を行う場合について説明したが、デバイスサーバ11に接続されるHIDは、インタラプト転送を行うものに限定されない。例えば、アイソクロナス入力転送、バルク入力転送を実行するHIDであってもよい。 In each embodiment, the case where the interrupt transfer is performed between the client device and the keyboard 13 or the touch panel 2013 has been described, but the HID connected to the device server 11 is not limited to the interrupt transfer. For example, it may be an HID that executes isochronous input transfer or bulk input transfer.

なお、本発明に係るクライアント装置の各種機能は、専用のシステムによらず、コンピュータシステムを用いて実現可能である。例えば、ネットワークに接続されているコンピュータに、上記動作を実行するためのプログラムを、コンピュータシステムが読み取り可能な非一時的な記録媒体(CD−ROM等)に格納して配布し、当該プログラムをコンピュータシステムにインストールすることにより、前述の通信制御処理を実行するクライアント装置を構成してもよい。また、コンピュータにプログラムを提供する方法は任意である。例えば、プログラムは、通信回線のサーバにアップロードされ、通信回線を介してコンピュータに配信されてもよい。 The various functions of the client device according to the present invention can be realized using a computer system instead of a dedicated system. For example, a program for executing the above operation is stored in a non-transitory recording medium (such as a CD-ROM) readable by a computer system and distributed to a computer connected to a network, and the program is stored in the computer. A client device that executes the above-described communication control process may be configured by installing it in the system. Further, the method of providing the program to the computer is arbitrary. For example, the program may be uploaded to a server on a communication line and distributed to a computer via the communication line.

以上、本発明の実施の形態および変形例(なお書きに記載したものを含む。以下、同様。)について説明したが、本発明はこれらに限定されるものではない。本発明は、実施の形態および変形例が適宜組み合わされたもの、それに適宜変更が加えられたものを含む。 The embodiments and modifications of the present invention (including those described in the note. The same applies hereinafter) have been described above, but the present invention is not limited to these. The present invention includes a combination of the embodiments and the modifications as appropriate, and a combination of the modifications as appropriate.

本発明は、例えば管理工数削減を目的としたシンクライアント環境のネットワークシステム或いはタッチパネルを利用したインフォメーションディスプレイを含むネットワークシステムとして好適である。 INDUSTRIAL APPLICABILITY The present invention is suitable as a network system in a thin client environment for the purpose of reducing management man-hours or a network system including an information display using a touch panel.

1,2:デバイスサーバシステム、11:デバイスサーバ、12,2012:クライアント装置、13:キーボード、14:ディスプレイ、111,121:CPU、112,122:主記憶部、113,123:補助記憶部、114,124:無線通信I/F、115,125:無線モジュール、116:USBI/F、117,127:バス、126:映像I/F、141:画面、1111:変換部、1211,2211:処理部、1212:USBドライバ、1213,2213:通信制御部、1214:計時部、1221,2221:要求記憶部、1231,2231:仕様情報記憶部、2013:タッチパネル 1, 2: device server system, 11: device server, 12, 2012: client device, 13: keyboard, 14: display, 111, 121: CPU, 112, 122: main storage unit, 113, 123: auxiliary storage unit, 114, 124: wireless communication I/F, 115, 125: wireless module, 116: USB I/F, 117, 127: bus, 126: video I/F, 141: screen, 1111: conversion unit, 1211, 2121: processing Section, 1212: USB driver, 1213, 2213: communication control section, 1214: clock section, 1221, 2221: request storage section, 1231, 2321: specification information storage section, 2013: touch panel

Claims (7)

クライアント装置と、
インタラプト応答情報を転送して前記クライアント装置に処理を行わせるHIDクラスのUSBデバイスと、
前記USBデバイスが接続されるデバイスサーバと、を備え、
前記クライアント装置は、前記デバイスサーバとネットワークを介して接続されており、
前記USBデバイスから転送される前記インタラプト応答情報に応じた処理を実行する処理部と、
前記USBデバイスへ前記インタラプト応答情報の転送を要求するインタラプト要求情報を生成するとともに、前記インタラプト応答情報を取得すると前記インタラプト応答情報を前記処理部へ出力するUSBドライバと、
前記クライアント装置と前記デバイスサーバとの間での通信状態を監視し、前記クライアント装置と前記デバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報を前記USBドライバへ出力する通信制御部と、を有する、
デバイスサーバシステム。
A client device,
A HID class USB device that transfers interrupt response information and causes the client device to perform processing;
A device server to which the USB device is connected,
The client device is connected to the device server via a network,
A processing unit for executing processing according to the interrupt response information transferred from the USB device;
A USB driver that generates interrupt request information for requesting the transfer of the interrupt response information to the USB device, and outputs the interrupt response information to the processing unit when the interrupt response information is acquired,
Dummy interrupt response information is obtained when the communication state between the client device and the device server is monitored and it is determined that the reference time has elapsed in the state where the communication between the client device and the device server is cut off. And a communication control unit for outputting to the USB driver,
Device server system.
前記通信制御部は、
前記ダミーのインタラプト応答情報を前記USBドライバへ出力した後に前記クライアント装置と前記デバイスサーバとの間での通信が復帰した場合、前記USBデバイスから前記デバイスサーバを介して取得される前記インタラプト応答情報を、前記ダミーのインタラプト応答情報に対応する処理情報の内容に応じて、破棄する、
請求項1に記載のデバイスサーバシステム。
The communication control unit,
When the communication between the client device and the device server is restored after outputting the dummy interrupt response information to the USB driver, the interrupt response information acquired from the USB device via the device server is returned to the USB device. , Discarding according to the content of the processing information corresponding to the dummy interrupt response information,
The device server system according to claim 1.
前記通信制御部は、
前記ダミーのインタラプト応答情報を前記USBドライバへ出力した後に前記クライアント装置と前記デバイスサーバとの間での通信が復帰した場合、前記USBドライバから入力される前記インタラプト応答情報を、前記ダミーのインタラプト応答情報の内容に応じて破棄する、
請求項1に記載のデバイスサーバシステム。
The communication control unit,
When the communication between the client device and the device server is restored after outputting the dummy interrupt response information to the USB driver, the interrupt response information input from the USB driver is converted into the dummy interrupt response. Discard according to the content of information,
The device server system according to claim 1.
前記通信制御部は、前記デバイスサーバからキープアライブ応答パケットを受信したか否かを判定することにより、前記クライアント装置と前記デバイスサーバとの間での通信状態を監視する
請求項1から3のいずれか1項に記載のデバイスサーバシステム。
4. The communication control unit monitors the communication state between the client device and the device server by determining whether or not a keep-alive response packet has been received from the device server. The device server system according to item 1.
インタラプト応答情報を転送するHIDクラスのUSBデバイスが接続されるデバイスサーバとネットワークを介して接続され、前記USBデバイスから転送される前記インタラプト応答情報を、前記デバイスサーバを介して受信するクライアント装置であって、
前記USBデバイスが転送した前記インタラプト応答情報に応じた処理を実行する処理部と、
前記USBデバイスへ前記インタラプト応答情報の転送を要求するインタラプト要求情報を生成するとともに、前記インタラプト応答情報を取得すると前記インタラプト応答情報を前記処理部へ出力するUSBドライバと、
自装置と前記デバイスサーバとの間での通信状態を監視し、前記自装置と前記デバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報を前記USBドライバへ出力する通信制御部と、を備える、
クライアント装置。
A client device that is connected via a network to a device server to which a HID class USB device that transfers interrupt response information is connected, and that receives the interrupt response information transferred from the USB device via the device server. hand,
A processing unit that executes processing according to the interrupt response information transferred by the USB device;
A USB driver that generates interrupt request information for requesting the transfer of the interrupt response information to the USB device, and outputs the interrupt response information to the processing unit when the interrupt response information is acquired,
Monitoring the communication state between the self-device and the device server, if it is determined that the reference time has elapsed in the state where the communication between the self-device and the device server is cut off, the dummy interrupt response information is displayed. A communication control unit for outputting to the USB driver,
Client device.
インタラプト応答情報を転送するHIDクラスのUSBデバイスが接続されるデバイスサーバとネットワークを介して接続され、前記USBデバイスから転送される前記インタラプト応答情報を、前記デバイスサーバを介して受信するクライアント装置が実行する情報転送制御方法であって、
処理部が、前記USBデバイスから転送された前記インタラプト応答情報に応じた処理を実行するステップと、
USBドライバが、前記USBデバイスへ前記インタラプト応答情報の転送を要求するインタラプト要求情報を生成するステップと、
前記USBドライバが、前記インタラプト応答情報を取得すると前記インタラプト応答情報を前記処理部へ出力するステップと、
通信制御部が、前記クライアント装置と前記デバイスサーバとの間での通信状態を監視し、前記クライアント装置と前記デバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報を前記USBドライバへ出力するステップと、を含む、
情報転送制御方法。
A client device that is connected via a network to a device server to which a USB device of HID class that transfers interrupt response information is connected, and that receives the interrupt response information transferred from the USB device via the device server. An information transfer control method for
A processing unit executing processing according to the interrupt response information transferred from the USB device;
A USB driver generating interrupt request information requesting transfer of the interrupt response information to the USB device;
When the USB driver acquires the interrupt response information, outputting the interrupt response information to the processing unit,
The communication control unit monitors the communication state between the client device and the device server, and determines that the reference time has elapsed in the state where the communication between the client device and the device server is cut off, Outputting dummy interrupt response information to the USB driver.
Information transfer control method.
コンピュータを、
インタラプト応答情報を転送するHIDクラスのUSBデバイスが転送した前記インタラプト応答情報に応じた処理を実行する処理部、
前記USBデバイスへ前記インタラプト応答情報の転送を要求するインタラプト要求情報を生成するとともに、前記インタラプト応答情報を取得すると前記インタラプト応答情報を前記処理部へ出力するUSBドライバ、
クライアント装置と前記USBデバイスが接続されるデバイスサーバとの間でのネットワークを介した通信の通信状態を監視し、前記デバイスサーバとの間での通信が遮断された状態で基準時間経過したと判定すると、ダミーのインタラプト応答情報を前記USBドライバへ出力する通信制御部、として機能させる、
プログラム。
Computer,
A processing unit that executes a process according to the interrupt response information transferred by the HID class USB device that transfers the interrupt response information;
A USB driver that generates interrupt request information requesting the transfer of the interrupt response information to the USB device, and outputs the interrupt response information to the processing unit when the interrupt response information is acquired,
The communication state of the communication via the network between the client device and the device server to which the USB device is connected is monitored, and it is determined that the reference time has elapsed in the state where the communication with the device server is cut off. Then, it functions as a communication control unit that outputs dummy interrupt response information to the USB driver.
program.
JP2017037669A 2017-02-28 2017-02-28 Device server system, client device, information transfer control method and program Active JP6745531B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017037669A JP6745531B2 (en) 2017-02-28 2017-02-28 Device server system, client device, information transfer control method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017037669A JP6745531B2 (en) 2017-02-28 2017-02-28 Device server system, client device, information transfer control method and program

Publications (2)

Publication Number Publication Date
JP2018142281A JP2018142281A (en) 2018-09-13
JP6745531B2 true JP6745531B2 (en) 2020-08-26

Family

ID=63528149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017037669A Active JP6745531B2 (en) 2017-02-28 2017-02-28 Device server system, client device, information transfer control method and program

Country Status (1)

Country Link
JP (1) JP6745531B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7647446B2 (en) * 2006-10-03 2010-01-12 Silex Technology, Inc. Networked isochronous USB communication
JP2012113565A (en) * 2010-11-25 2012-06-14 Buffalo Inc Network device, network system, and control method of network device
JP5646986B2 (en) * 2010-12-24 2014-12-24 キヤノンイメージングシステムズ株式会社 Client apparatus, device control method, and device control system
JP6090751B2 (en) * 2013-09-27 2017-03-08 サイレックス・テクノロジー株式会社 Device server and its control method

Also Published As

Publication number Publication date
JP2018142281A (en) 2018-09-13

Similar Documents

Publication Publication Date Title
TWI617919B (en) Devices and methods for facilitating direct pairing in a wireless docking system
CN110012328B (en) Method and device for interacting with smart television
WO2015184770A1 (en) Information processing method, system and terminal
CN104333598A (en) Two-dimension code and network adaption based mobile terminal and web terminal interconnection method
US11838965B2 (en) Communication system, non-transitory computer-readable recording medium storing connection application for terminal, and communication device
WO2017193926A1 (en) Data transmission method and device
JP2017068530A (en) Program and remote conference method
JP6745531B2 (en) Device server system, client device, information transfer control method and program
JP6007795B2 (en) Communication apparatus and communication control method
WO2018049937A1 (en) Data migration method and terminals
EP3300302B1 (en) Method for implementing application and service controller
WO2017045505A1 (en) Method and apparatus for establishing communication connection between mobile device and fixed device
WO2023088198A1 (en) Network connection method and apparatus, and electronic device
WO2016061890A1 (en) Resource sharing method, terminal, system and computer storage medium
WO2014113957A1 (en) Link management method, device and communication system
WO2016095449A1 (en) Virtual desktop display method, terminal and storage medium
JP6333434B1 (en) Screen data relay server, screen data relay program, and screen data relay method
JP2004280636A (en) Information processing system including communication connection type information processing apparatus excluding user interface and its control method
CN115665671A (en) Audio data sharing method and device, electronic equipment and storage medium
JP6516539B2 (en) Communication device, communication method, and program
KR20230010744A (en) Wi-Fi control methods, devices and electronic facilities
JP6118969B2 (en) Device server connection setting method
JP2007004656A (en) Server device, method and program
JP2019089336A (en) Image forming device, terminal device, error screen providing method and computer program
WO2022001810A1 (en) Transaction data processing method and apparatus, and data processing method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191024

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191024

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200708

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: 20200721

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200729

R150 Certificate of patent or registration of utility model

Ref document number: 6745531

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250