JP2014142924A - Device control device and its control method - Google Patents

Device control device and its control method Download PDF

Info

Publication number
JP2014142924A
JP2014142924A JP2013267488A JP2013267488A JP2014142924A JP 2014142924 A JP2014142924 A JP 2014142924A JP 2013267488 A JP2013267488 A JP 2013267488A JP 2013267488 A JP2013267488 A JP 2013267488A JP 2014142924 A JP2014142924 A JP 2014142924A
Authority
JP
Japan
Prior art keywords
control
virtualization
control unit
information processing
processing apparatus
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.)
Granted
Application number
JP2013267488A
Other languages
Japanese (ja)
Other versions
JP6298292B2 (en
JP2014142924A5 (en
Inventor
Ryo Komatsubara
亮 小松原
Ryosuke Miyashita
良介 宮下
Inochi Negishi
命 根岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Imaging Systems Inc
Original Assignee
Canon Imaging Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Imaging Systems Inc filed Critical Canon Imaging Systems Inc
Priority to JP2013267488A priority Critical patent/JP6298292B2/en
Publication of JP2014142924A publication Critical patent/JP2014142924A/en
Publication of JP2014142924A5 publication Critical patent/JP2014142924A5/ja
Application granted granted Critical
Publication of JP6298292B2 publication Critical patent/JP6298292B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a device control unit which enables flexible utilization of a device on a network and functions of the device, by letting functions of a virtualized server device and functions of a virtualized client device coexist in one device.SOLUTION: Virtualized client functions which comprise device control means for controlling a first device and virtualized communication means for controlling the device control means according to a first control request transmitted from a first information processing device and simulating the first device as if it is directly connected to the first information processing device, and virtualized server functions which comprise virtualized control means for simulating a second device as if it is directly connected, and control request transmission means for generating a second control request for the second device and transmitting it to the second device through a second information processing device coexist in one device.

Description

本発明は、ネットワークを介してプリンタなどのデバイスを制御するためデバイス制御装置およびその制御方法に関する。   The present invention relates to a device control apparatus and a control method for controlling a device such as a printer via a network.

従来、パーソナルコンピュータなどの情報処理装置(以下,PCと呼ぶ)をクライアントとしてネットワークを介してプリンタ、ストレージ、およびスキャナなどのデバイス(周辺機器)を利用するシステムが知られている。このようなシステムにおいて、クライアントがネットワーク上のデバイスをローカル接続されたデバイスとして認識させて制御(以下、仮想化制御と呼ぶ)させて、ネットワーク上のクライアントからデバイスをアクセスできるようにしたものがある。   2. Description of the Related Art Conventionally, a system that uses devices (peripheral devices) such as a printer, a storage, and a scanner via a network using an information processing apparatus such as a personal computer (hereinafter referred to as a PC) as a client is known. In such a system, there is a system in which a client recognizes a device on the network as a locally connected device and performs control (hereinafter referred to as virtualization control) so that the client on the network can access the device. .

例えば、本出願人は、LANなどのネットワークに接続されたデバイスサーバ(デバイス制御装置)にローカル接続されたデバイスを、ネットワーク上のPCから制御する為に、デバイスサーバのデバイス制御部(ホストコントローラ)をPCから制御できるようにしたデバイス制御システムを提案している(例えば、特許文献1参照)。   For example, in order to control a device locally connected to a device server (device control apparatus) connected to a network such as a LAN from a PC on the network, the present applicant has a device control unit (host controller) of the device server. Has proposed a device control system that can be controlled from a PC (see, for example, Patent Document 1).

特願2011−223459号Japanese Patent Application No. 2011-223459

上述したデバイス制御システムでは、仮想化制御する側の装置(以下、仮想化サーバ装置と呼ぶ)、仮想化制御される側の装置(以下、仮想化クライアント装置と呼ぶ)が予め決まっている。しかしながら、ネットワーク上には様々な装置が接続されている。そのため、例えば、一方でネットワーク上のある装置からは仮想化制御される側の仮想化クライアント装置として動作し、もう一方ではネットワーク上の別の装置に対し仮想化サーバ装置として動作する、というように両方の形態で利用したい場合がある。   In the device control system described above, a device to be controlled by virtualization (hereinafter referred to as a virtualization server device) and a device to be controlled by virtualization (hereinafter referred to as a virtual client device) are determined in advance. However, various devices are connected on the network. Therefore, for example, one device on the network operates as a virtualization client device on the side controlled by virtualization, and the other device operates as a virtualization server device for another device on the network. You may want to use both forms.

そこで、本発明は、このような場合も考慮し、本出願人が先に提案したデバイス制御システムの機能をさらに拡張・発展させて、仮想化サーバ装置の機能と仮想化クライアント装置の機能を一つの装置に共存させることによって、ネットワーク上の装置、及び装置の備えている機能をより柔軟に利用できるようにすることを目的とする。   Therefore, in consideration of such a case, the present invention further expands and develops the function of the device control system previously proposed by the applicant, thereby combining the functions of the virtual server apparatus and the virtual client apparatus. It is an object of the present invention to make it possible to more flexibly use devices on the network and the functions of the devices by coexisting with one device.

上記の目的を達成するため、本発明によるデバイス制御装置は、ネットワークを介して接続された第一の情報処理装置によって自装置に接続されている第一のデバイスを制御するとともに、ネットワークを介して接続された第二の情報処理装置に接続されている第二のデバイスを制御するデバイス制御装置であって、前記第一のデバイスを制御するデバイス制御手段と、前記第一の情報処理装置から送られてくる第1の制御要求に従って前記デバイス制御手段を制御し、前記第一の情報処理装置に前記第一のデバイスが直接接続しているようにシミュレートさせる仮想化通信手段と、前記第二のデバイスを直接接続しているようにシミュレートする仮想化制御手段と、前記第二のデバイスに対する第2の制御要求を生成し、前記第二の情報処理装置を介して前記第二のデバイスに送信する制御要求送信手段と、を備えることを特徴とする。   In order to achieve the above object, the device control apparatus according to the present invention controls the first device connected to the own apparatus by the first information processing apparatus connected via the network, and via the network. A device control apparatus for controlling a second device connected to a connected second information processing apparatus, the device control means for controlling the first device, and a transmission from the first information processing apparatus. Virtual communication means for controlling the device control means in accordance with the first control request, and simulating the first information processing apparatus as if the first device was directly connected; Virtualization control means for simulating a direct connection of the second device, a second control request for the second device, and the second information processing Through device, comprising a control request transmitting means for transmitting to said second device.

本発明によれば、デバイス制御装置に仮想化サーバ装置の機能(仮想化サーバ機能)と仮想化クライアント装置の機能(仮想化クライアント機能)を共存させることで、ネットワーク上の装置の機能が利用できるようになると共に、デバイス制御装置自身の機能をネットワーク上の装置から利用させることが可能となる。   According to the present invention, the function of the device on the network can be used by allowing the function of the virtualization server device (virtualization server function) and the function of the virtualization client device (virtualization client function) to coexist in the device control device. At the same time, the function of the device control apparatus itself can be used from an apparatus on the network.

本発明の第1の実施形態によるデバイス制御システムの一例を示すブロック図である。It is a block diagram which shows an example of the device control system by the 1st Embodiment of this invention. 図1に示す仮想デバイス識別情報の一例を示す図である。It is a figure which shows an example of the virtual device identification information shown in FIG. 図1に示すデバイス制御システムのデバイス制御装置によって仮想化制御する際の動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement at the time of virtualization control by the device control apparatus of the device control system shown in FIG. 本発明の第2の実施形態によるデバイス制御システムの一例を示すブロック図である。It is a block diagram which shows an example of the device control system by the 2nd Embodiment of this invention. 図4に示すデバイス制御システムにおいて、デバイス制御装置を介して携帯端末の内部デバイスを情報処理装置が仮想化制御する際の動作を説明するためのシーケンス図である。FIG. 5 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control on the internal device of the mobile terminal via the device control apparatus in the device control system illustrated in FIG. 4. 本発明の第3の実施形態によるデバイス制御システムの一例を示すブロック図である。It is a block diagram which shows an example of the device control system by the 3rd Embodiment of this invention. 図6に示すデバイス制御システムにおいて、デバイス制御装置と携帯端末がそれぞれ接続相手の内部デバイスを仮想化制御する際の動作を説明するためのシーケンス図である。FIG. 7 is a sequence diagram for explaining an operation when the device control apparatus and the mobile terminal perform virtualization control on the connection partner internal device in the device control system shown in FIG. 6. 本発明の第4の実施形態によるデバイス制御システムの一例を示すブロック図である。It is a block diagram which shows an example of the device control system by the 4th Embodiment of this invention. 図8に示すデバイス制御システムにおいて、内部デバイスを情報処理装置で仮想化制御する際と、内部デバイスをデバイス制御装置で仮想化制御する際の動作を説明するためのシーケンス図である。FIG. 9 is a sequence diagram for explaining operations when the internal device is virtualized by the information processing apparatus and the internal device is virtualized by the device control apparatus in the device control system shown in FIG. 8.

以下、本発明の実施形態によるデバイス制御システムの一例について図面を参照して説明する。   Hereinafter, an example of a device control system according to an embodiment of the present invention will be described with reference to the drawings.

[第1の実施形態]
図1は、本発明の第1の実施形態によるデバイス制御システムの一例を示すブロック図である。
[First Embodiment]
FIG. 1 is a block diagram showing an example of a device control system according to the first embodiment of the present invention.

<システム構成>
図1のデバイス制御システムは、情報処理装置100、携帯端末200、デバイス制御装置300、外部デバイス400から構成されている。情報処理装置100及び携帯端末200は、例えば、有線回線又は無線回線でローカルエリアネットワーク(LAN)などのネットワーク600を介してデバイス制御装置300に接続されている。そして、デバイス制御装置300には、外部デバイス400が接続ケーブル500などによってローカル接続されている。
<System configuration>
The device control system in FIG. 1 includes an information processing apparatus 100, a mobile terminal 200, a device control apparatus 300, and an external device 400. The information processing apparatus 100 and the mobile terminal 200 are connected to the device control apparatus 300 via a network 600 such as a local area network (LAN) via a wired line or a wireless line, for example. An external device 400 is locally connected to the device control apparatus 300 via a connection cable 500 or the like.

<情報処理装置100の構成>
情報処理装置100は、例えば、パーソナルコンピュータ(PC)などであって、図1には示されていないが、ハードウェア構成として、CPU、入力部、表示部、メモリ、通信部、および記憶部などを備え、これらハードウェアは内部バスで相互に接続されている。
<Configuration of Information Processing Device 100>
The information processing apparatus 100 is, for example, a personal computer (PC) or the like and is not shown in FIG. 1, but has a hardware configuration such as a CPU, an input unit, a display unit, a memory, a communication unit, and a storage unit. These hardwares are connected to each other via an internal bus.

CPUは情報処理装置100全体の制御を司る。入力部は、例えば、キーボードおよびマウスを備えている。表示部として、例えば、液晶ディスプレイが用いられる。メモリはRAMおよびROMなどである。   The CPU controls the information processing apparatus 100 as a whole. The input unit includes, for example, a keyboard and a mouse. For example, a liquid crystal display is used as the display unit. The memory is RAM or ROM.

通信部はネットワーク600に接続するためのインターフェースであって、デバイス制御装置300とデータ送受信を行う。これによって、情報処理装置100はデバイス制御装置300にローカル接続された外部デバイス400とデータ送受信することが可能となる。   The communication unit is an interface for connecting to the network 600 and performs data transmission / reception with the device control apparatus 300. As a result, the information processing apparatus 100 can exchange data with the external device 400 locally connected to the device control apparatus 300.

記憶部には、図示していないソフトウェアであるオペレーティングシステム(以下、OSと呼ぶ)と、アプリケーション101、デバイスドライバ102、仮想化制御部103、通信制御部104が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。   The storage unit stores an operating system (hereinafter referred to as OS), which is software (not shown), an application 101, a device driver 102, a virtualization control unit 103, and a communication control unit 104, and other functions. Such software is stored. These software are read into the memory and operate according to the control of the CPU.

アプリケーション101は、デバイスドライバ102に対してデータ入出力要求を指示することによって、デバイス制御装置300、外部デバイス400を制御するためのソフトウェアプログラムである。   The application 101 is a software program for controlling the device control apparatus 300 and the external device 400 by instructing a data input / output request to the device driver 102.

デバイスドライバ102は、OS又はアプリケーション101からのデータ入出力要求を、外部デバイス400に応じたデータ形式のデータ(以下、制御コマンドと呼ぶ)に変換して、当該制御コマンドを仮想化制御部103に送る。さらに、デバイスドライバ102は制御コマンドに対する応答をアプリケーション101に通知する。   The device driver 102 converts a data input / output request from the OS or application 101 into data in a data format corresponding to the external device 400 (hereinafter referred to as a control command), and sends the control command to the virtualization control unit 103. send. Further, the device driver 102 notifies the application 101 of a response to the control command.

仮想化制御部103は、デバイスドライバ102から送られた制御コマンド(つまり、データ入出力要求)をUSBデータ形式に準拠したパケットデータ(以下、USBデータと呼ぶ)に変換する。また、仮想化制御部103は通信制御部104から送られてくるUSBデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ102に送る。   The virtualization control unit 103 converts a control command (that is, a data input / output request) sent from the device driver 102 into packet data (hereinafter referred to as USB data) conforming to the USB data format. Also, the virtualization control unit 103 converts the USB data sent from the communication control unit 104 into a data format similar to the control command and sends it to the device driver 102.

さらに、仮想化制御部103は、外部デバイス400に対するデータ送受信要求に対して、外部デバイス400が情報処理装置100に直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする機能(以下、仮想化制御と呼ぶ)を備えている。この仮想化制御によって、情報処理装置100は外部デバイス400をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。   Further, the virtualization control unit 103 simulates the same behavior as when the external device 400 is directly connected (locally connected) to the information processing apparatus 100 in response to a data transmission / reception request to the external device 400. (Hereinafter referred to as virtualization control). With this virtualization control, the information processing apparatus 100 can recognize that the external device 400 is in the same state as when the external device 400 is locally connected and transmit / receive data.

通信制御部104は、仮想化制御部103から送られるUSBデータとネットワーク600を介してデバイス制御装置300と通信する際のネットワークパケットとの変換処理を行って、デバイス制御装置300との間でデータ送受信の制御を行う。また、通信制御部104は仮想化制御部103から送られるデータ送受信要求に応じて、デバイス制御装置300との間のセッションの接続および切断の制御を行う。   The communication control unit 104 performs conversion processing between the USB data sent from the virtualization control unit 103 and a network packet when communicating with the device control apparatus 300 via the network 600, and transmits data to and from the device control apparatus 300. Control transmission and reception. Further, the communication control unit 104 controls connection and disconnection of a session with the device control apparatus 300 in response to a data transmission / reception request sent from the virtualization control unit 103.

<携帯端末200の構成>
携帯端末200は、ハードウェア構成として、図1には示されていないが、CPU、メモリ、通信部、および記憶部などを備えるとともに、内部デバイス250(後述)を備え、これらハードウェアは内部バスで相互に接続されている。例えば、携帯電話機、PDA、スマートフォンなどの機器であるが、これらに限定されるものではない。
<Configuration of mobile terminal 200>
Although not shown in FIG. 1 as a hardware configuration, the mobile terminal 200 includes a CPU, a memory, a communication unit, a storage unit, and the like, and an internal device 250 (described later). Are connected to each other. For example, it is a device such as a mobile phone, a PDA, or a smartphone, but is not limited thereto.

CPUは携帯端末200全体の制御を司る。内部デバイス250である表示デバイス250Aは、例えば、液晶ディスプレイが用いられる。入力デバイス250Bとして、例えば、キーボード、テンキーおよびマウスなどの入力機器若しくはこれらの機能をソフトウェアで実現したソフトウェアキーボードなどである。メモリはRAMおよびROMなどである。   The CPU controls the entire mobile terminal 200. For example, a liquid crystal display is used as the display device 250A which is the internal device 250. Examples of the input device 250B include an input device such as a keyboard, a numeric keypad, and a mouse, or a software keyboard that realizes these functions by software. The memory is RAM or ROM.

通信部はネットワーク600に接続するためのインターフェースであって、デバイス制御装置300とデータ送受信を行う。   The communication unit is an interface for connecting to the network 600 and performs data transmission / reception with the device control apparatus 300.

記憶部には、ソフトウェアであるOS(図示せず)、アプリケーション201、仮想デバイス制御部202、仮想化通信部203、通信制御部204が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。   The storage unit stores an OS (not shown) that is software, an application 201, a virtual device control unit 202, a virtualization communication unit 203, and a communication control unit 204, as well as software related to other functions. Yes. These software are read into the memory and operate according to the control of the CPU.

アプリケーション201は、携帯端末200で様々な制御を実行させるためのソフトウェアプログラム群であり、仮想化制御の切り替え、終了などを指示するソフトウェア(ユーザインターフェース)などが含まれている。   The application 201 is a software program group for causing the mobile terminal 200 to execute various controls, and includes software (user interface) that instructs to switch or end the virtualization control.

仮想デバイス制御部202は、仮想デバイス識別情報202Aおよびデータ形式変換処理部202Bを備えている。さらに、仮想デバイス制御部202は、内部デバイス250を仮想的なUSBデバイスに切り替えるユーザインターフェースなどの切替部(不図示)を備えている。   The virtual device control unit 202 includes virtual device identification information 202A and a data format conversion processing unit 202B. Furthermore, the virtual device control unit 202 includes a switching unit (not shown) such as a user interface that switches the internal device 250 to a virtual USB device.

仮想デバイス識別情報202Aは、デバイス制御装置300に携帯端末200の内部デバイス250を自装置にローカル接続されているように認識させるために用いられる。内部デバイス250である表示デバイス250Aおよび入力デバイス250Bは、外部デバイス400のように、機器を個別に識別するための個体識別情報に相当する情報を有していないので、デバイス制御装置300は内部デバイス250を認識することができない。   The virtual device identification information 202A is used for causing the device control apparatus 300 to recognize that the internal device 250 of the mobile terminal 200 is locally connected to the self apparatus. The display device 250 </ b> A and the input device 250 </ b> B that are the internal devices 250 do not have information corresponding to individual identification information for individually identifying devices, unlike the external device 400. 250 cannot be recognized.

そこで、個体識別情報に相当する仮想デバイス識別情報202Aを表示デバイス250Aおよび入力デバイス250Bの各々に割り当てて、デバイス制御装置300に外部デバイス400と同様に、表示デバイス250Aおよび入力デバイス250BをUSBデバイスとして認識させる。ここでは、USBデバイスのデータ構造を定義する構成情報(以下、USBディスクリプタと呼ぶ)を疑似的に作成したものを仮想デバイス識別情報とする。   Therefore, the virtual device identification information 202A corresponding to the individual identification information is assigned to each of the display device 250A and the input device 250B, and the display device 250A and the input device 250B are set as USB devices to the device control apparatus 300 in the same manner as the external device 400. Recognize. Here, virtual device identification information is obtained by artificially creating configuration information (hereinafter referred to as a USB descriptor) that defines the data structure of a USB device.

仮想デバイス識別情報202Aは、仮想デバイス制御部202に予め記憶されたものであるが、仮想デバイス制御部202によって生成するようにしてもよい。   The virtual device identification information 202A is stored in advance in the virtual device control unit 202, but may be generated by the virtual device control unit 202.

図2は、図1に示す仮想デバイス識別情報202Aの一例を示す図である。   FIG. 2 is a diagram illustrating an example of the virtual device identification information 202A illustrated in FIG.

表示デバイス250Aはディスプレイに対応し、入力デバイス250Bはキーボードおよびマウスに対応している。これらキーボード、マウス、およびディスプレイをUSBデバイスとして認識させるために疑似的なUSBディスクリプタ(つまり、仮想デバイス識別情報202A)を割り当てている。   The display device 250A corresponds to a display, and the input device 250B corresponds to a keyboard and a mouse. A pseudo USB descriptor (that is, virtual device identification information 202A) is assigned to recognize the keyboard, mouse, and display as USB devices.

図2に示す疑似的なUSBディスクリプタは、ベンダーID、プロダクトID、シリアル番号、クラス、サブクラス、プロトコル、およびインターフェースから構成されている。   The pseudo USB descriptor shown in FIG. 2 includes a vendor ID, a product ID, a serial number, a class, a subclass, a protocol, and an interface.

ベンダーIDは、各企業や製造会社毎に割り当てられる識別情報であり、プロダクトIDは、ベンダーIDを持つ企業や会社が各製品や機種毎に重複しないよう割り振るコードである。本実施形態では、携帯端末200に割り当てられているベンダーIDおよびプロダクトIDが用いられる。   The vendor ID is identification information assigned to each company or manufacturing company, and the product ID is a code assigned by the company or company having the vendor ID so as not to be duplicated for each product or model. In this embodiment, the vendor ID and product ID assigned to the mobile terminal 200 are used.

また、クラス、サブクラス、プロトコル、およびインターフェースは、キーボード、マウス、およびディスプレイなどデバイスの種類に応じてUSB規格で規定されている情報である。そして、ベンダーIDおよびプロダクトIDと、クラス、サブクラス、プロトコル、およびインターフェースとを関連付けた疑似的なUSBディスクリプタを作成して、仮想デバイス制御部202が仮想デバイス識別情報202Aとして保持(記憶)する。   The class, subclass, protocol, and interface are information defined in the USB standard according to the type of device such as a keyboard, a mouse, and a display. Then, a pseudo USB descriptor in which the vendor ID and product ID are associated with the class, subclass, protocol, and interface is created, and the virtual device control unit 202 holds (stores) it as virtual device identification information 202A.

いま、入力デバイス250Bに対してユーザ操作などによって内部デバイス250への接続を開始させるための接続操作が行われると、仮想デバイス制御部202は仮想デバイス識別情報202Aを仮想化通信部203に送る。一方、終了操作が行われると、仮想化通信部203は内部デバイス250の仮想化制御を終了する。   Now, when a connection operation for starting a connection to the internal device 250 is performed on the input device 250B by a user operation or the like, the virtual device control unit 202 sends the virtual device identification information 202A to the virtualization communication unit 203. On the other hand, when the end operation is performed, the virtualization communication unit 203 ends the virtualization control of the internal device 250.

データ形式変換処理部202Bは、仮想化通信部203から送られるUSBデータ形式に準拠したパケットデータ(以下、USBデータと呼ぶ)と内部デバイス250で処理可能なデータ形式のデータとの変換処理を行う。これにより、内部デバイス250と接続された入力インターフェースおよびディスプレイインターフェースとデバイス制御装置300との間のデータの送受信を可能にしている。   The data format conversion processing unit 202B performs conversion processing between packet data (hereinafter referred to as USB data) conforming to the USB data format sent from the virtualization communication unit 203 and data in a data format that can be processed by the internal device 250. . Thereby, transmission / reception of data between the input interface and display interface connected to the internal device 250 and the device control apparatus 300 is enabled.

<入力デバイス/表示デバイスの仮想化制御とデータ形式変換について>
本実施形態において、仮想デバイス制御部202は、キーボードおよびマウスなどの入力デバイス250Bに係る仮想デバイス識別情報202Aとして、HIDクラスを識別したUSBディスクリプタを仮想化通信部203に送る。また、データ形式変換処理部202Bは、入力デバイス250Bから入力された入力データをHIDクラスのUSBデータに変換し、入力インターフェースを介して仮想化通信部203に送る。
<Virtualization control of input device / display device and data format conversion>
In the present embodiment, the virtual device control unit 202 sends the USB descriptor that identifies the HID class to the virtualization communication unit 203 as virtual device identification information 202A related to the input device 250B such as a keyboard and a mouse. In addition, the data format conversion processing unit 202B converts the input data input from the input device 250B into HID class USB data, and sends it to the virtualization communication unit 203 via the input interface.

さらに、仮想デバイス制御部202は、ディスプレイなどの表示デバイス250Aに係る仮想デバイス識別情報202Aとして、ベンダー固有情報(ベンダークラス)を識別したUSBディスクリプタを仮想化通信部203に送る。また、データ形式変換処理部202Bは、仮想化通信部203から送られるUSBデータを表示デバイス250Aのデータ形式に変換して、ディスプレイインターフェースを介して表示デバイス250Aに送る。   Further, the virtual device control unit 202 sends the USB descriptor identifying the vendor specific information (vendor class) to the virtualization communication unit 203 as the virtual device identification information 202A related to the display device 250A such as a display. Further, the data format conversion processing unit 202B converts the USB data sent from the virtualization communication unit 203 into the data format of the display device 250A and sends it to the display device 250A via the display interface.

例えば、携帯端末200に備えられたタッチパネルからネットワーク上のデバイス制御装置300を遠隔操作する際には、タッチパネルからの切り替え操作に応じて上述したような仮想デバイス識別情報202Aがネットワーク上のデバイス制御装置300へ送られる。それに応じて、内部デバイス250であるタッチパネル(つまり、キーボード入力およびディスプレイ出力)がネットワーク上のデバイス制御装置300からの仮想化制御に切り替わる。これによって、携帯端末200に備えられたタッチパネルからネットワーク上のデバイス制御装置300を遠隔操作することができるようになる。   For example, when the device control apparatus 300 on the network is remotely operated from the touch panel provided in the mobile terminal 200, the virtual device identification information 202A as described above is displayed on the network according to the switching operation from the touch panel. 300. In response, the touch panel (that is, keyboard input and display output) that is the internal device 250 is switched to virtualization control from the device control apparatus 300 on the network. As a result, the device control apparatus 300 on the network can be remotely operated from the touch panel provided in the portable terminal 200.

仮想化通信部203は、内部デバイス250があたかもデバイス制御装置300にローカル接続されているかのように認識させて制御できるようにするため、デバイス制御装置300の仮想化制御部323からの制御要求に従って(連動して)内部デバイス250の制御を行う。   The virtualization communication unit 203 recognizes the internal device 250 as if it was locally connected to the device control apparatus 300 and controls it according to a control request from the virtualization control unit 323 of the device control apparatus 300. The internal device 250 is controlled (in conjunction).

通信制御部204は、デバイス制御装置300との間で行われる入出力データなどの送受信を制御する。   The communication control unit 204 controls transmission / reception of input / output data and the like performed with the device control apparatus 300.

<内部デバイス250の構成>
前述のように、内部デバイス250は、表示デバイス250Aおよび入力デバイス250Bなどの入出力装置であって、表示デバイス250Aおよび入力デバイス250Bはそれぞれ入力インターフェースおよびディスプレイインターフェースを介して内部バスに接続される。入力デバイスは、キーボード、マウス、およびテンキーなどからの入力を処理し、デバイス制御装置300の操作の際に用いられる。
<Configuration of Internal Device 250>
As described above, the internal device 250 is an input / output device such as the display device 250A and the input device 250B, and the display device 250A and the input device 250B are connected to the internal bus via the input interface and the display interface, respectively. The input device processes input from a keyboard, a mouse, a numeric keypad, and the like, and is used when operating the device control apparatus 300.

表示デバイス250Aには、例えば、液晶ディスプレイが用いられる。表示デバイス250Aはタッチパネルを備えるようにしてもよく、この場合には、表示デバイス250Aは入力部としての機能を備えることになる。内部バスは、デバイス制御装置300の各ブロックを相互に接続して各種のデータの送受信を行うとともに、電力を供給する。   For example, a liquid crystal display is used as the display device 250A. The display device 250A may be provided with a touch panel. In this case, the display device 250A has a function as an input unit. The internal bus connects the blocks of the device control apparatus 300 to each other to transmit and receive various data and supply power.

<デバイス制御装置300の構成>
デバイス制御装置300は、例えば、プリンタ又は複合機などの周辺機器であって、ハードウェア構成として、CPU、メモリ、通信部、および記憶部(ともに図示せず)などを備え、これらハードウェアは内部バスで相互に接続されている。
<Configuration of Device Control Device 300>
The device control apparatus 300 is a peripheral device such as a printer or a multifunction peripheral, for example, and includes a CPU, a memory, a communication unit, a storage unit (both not shown) and the like as hardware configurations. They are connected to each other by bus.

CPUはデバイス制御装置300全体の制御を司る。入力デバイスは、例えば、キーボード、テンキーおよびマウスなどの入力機器若しくはこれらの機能をソフトウェアで実現したソフトウェアキーボードなどである。表示デバイスとして、例えば、液晶ディスプレイが用いられる。メモリはRAMおよびROMなどである。   The CPU controls the entire device control apparatus 300. The input device is, for example, an input device such as a keyboard, a numeric keypad, and a mouse, or a software keyboard that realizes these functions by software. For example, a liquid crystal display is used as the display device. The memory is RAM or ROM.

通信部はネットワーク600に接続するためのインターフェースであって、情報処理装置100および携帯端末200とデータ送受信を行う。   The communication unit is an interface for connecting to the network 600 and performs data transmission / reception with the information processing apparatus 100 and the mobile terminal 200.

記憶部には、ソフトウェアであるOS(図示せず)とともに、情報処理装置100との間で仮想化制御するための仮想化クライアント機能部310と、携帯端末200との間で仮想化制御するための仮想化サーバ機能部320と、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。   The storage unit is configured to perform virtualization control between the mobile terminal 200 and the virtualization client function unit 310 for performing virtualization control with the information processing apparatus 100 together with an OS (not shown) that is software. Virtualization server function unit 320 and software related to other functions are stored. These software are read into the memory and operate according to the control of the CPU.

仮想化クライアント機能部310は、情報処理装置100によって外部デバイス400の仮想化制御を実行させるためのソフトウェアであるデバイス制御部311、仮想化通信部312、通信制御部313を備えた構成である。   The virtualization client function unit 310 includes a device control unit 311, a virtualization communication unit 312, and a communication control unit 313 that are software for causing the information processing apparatus 100 to perform virtualization control of the external device 400.

デバイス制御部311は、デバイス制御装置300に接続ケーブル500で接続された外部デバイス400を制御する。   The device control unit 311 controls the external device 400 connected to the device control apparatus 300 with the connection cable 500.

仮想化通信部312は、通信制御部313を介して情報処理装置100の仮想化制御部103と連動してデバイス制御部311を制御する。   The virtualization communication unit 312 controls the device control unit 311 in conjunction with the virtualization control unit 103 of the information processing apparatus 100 via the communication control unit 313.

通信制御部313は、ネットワーク600と接続して情報処理装置100との間の通信を制御する。   The communication control unit 313 is connected to the network 600 and controls communication with the information processing apparatus 100.

このような構成によって、情報処理装置100は、外部デバイス400がローカル接続されたときと同様に制御することができる。   With such a configuration, the information processing apparatus 100 can perform control in the same manner as when the external device 400 is locally connected.

仮想化サーバ機能部320は、携帯端末200の内部デバイス250を仮想化制御するためのソフトウェアであるアプリケーション321、デバイスドライバ322、仮想化制御部323、通信制御部313を備えた構成である。   The virtualization server function unit 320 includes an application 321, a device driver 322, a virtualization control unit 323, and a communication control unit 313 that are software for performing virtualization control of the internal device 250 of the mobile terminal 200.

アプリケーション321は、デバイスドライバ322に対してデータ入出力要求を指示することによって、携帯端末200の内部デバイス250を制御するためのソフトウェアプログラムである。   The application 321 is a software program for controlling the internal device 250 of the portable terminal 200 by instructing a data input / output request to the device driver 322.

デバイスドライバ322は、OS又はアプリケーション321からのデータ入出力要求を、携帯端末200の内部デバイス250に応じたデータ形式のデータ(以下、制御コマンドと呼ぶ)に変換して、当該制御コマンドを仮想化制御部323に送る。さらに、デバイスドライバ322は制御コマンドに対する応答をアプリケーション321に通知する。   The device driver 322 converts a data input / output request from the OS or application 321 into data in a data format corresponding to the internal device 250 of the mobile terminal 200 (hereinafter referred to as a control command), and virtualizes the control command. The data is sent to the control unit 323. Further, the device driver 322 notifies the application 321 of a response to the control command.

仮想化制御部323は、デバイスドライバ322から送られた制御コマンド(つまり、データ入出力要求)をUSBデータ形式に準拠したパケットデータ(以下、USBデータと呼ぶ)に変換する。また、仮想化制御部323は通信制御部313から送られてくるUSBデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ322に送る。   The virtualization control unit 323 converts the control command (that is, the data input / output request) sent from the device driver 322 into packet data (hereinafter referred to as USB data) conforming to the USB data format. Also, the virtualization control unit 323 converts the USB data sent from the communication control unit 313 into a data format similar to the control command and sends it to the device driver 322.

さらに、仮想化制御部323は、携帯端末200の内部デバイス250に対するデータ送受信要求に対して、携帯端末200の内部デバイス250がデバイス制御装置300に直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする機能(以下、仮想化制御と呼ぶ)を備えている。この仮想化制御によって、デバイス制御装置300は携帯端末200の内部デバイス250をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。   Furthermore, the virtualization control unit 323 responds to a data transmission / reception request to the internal device 250 of the mobile terminal 200 when the internal device 250 of the mobile terminal 200 is directly connected (local connection) to the device control apparatus 300. A function for simulating the same behavior (hereinafter referred to as virtualization control) is provided. By this virtualization control, the device control apparatus 300 can recognize that it is in the same state as when the internal device 250 of the mobile terminal 200 is locally connected, and can transmit and receive data.

通信制御部313は、ネットワーク600と接続して携帯端末200との間の通信を制御する。仮想化制御部323から送られるUSBデータとLANを介して携帯端末200と通信する際のネットワークパケットとの変換処理を行って、携帯端末200との間でデータ送受信の制御を行う。また、通信制御部313は仮想化制御部323を介してアプリケーション321又はデバイスドライバ322から送られるデータ送受信要求に応じて、携帯端末200との間のセッションの接続および切断の制御を行う。   The communication control unit 313 is connected to the network 600 and controls communication with the mobile terminal 200. Conversion processing of USB data sent from the virtualization control unit 323 and a network packet when communicating with the mobile terminal 200 via the LAN is performed, and data transmission / reception is controlled with the mobile terminal 200. Further, the communication control unit 313 controls connection and disconnection of a session with the mobile terminal 200 in response to a data transmission / reception request sent from the application 321 or the device driver 322 via the virtualization control unit 323.

なお、図1に示してある通信制御部313は1つであるが、情報処理装置100との間の制御を行う通信制御部と携帯端末200との間の制御を行う通信制御部をそれぞれ別個に設ける構成であってもよい。   In addition, although the communication control part 313 shown in FIG. 1 is one, the communication control part which performs control between the communication control part which performs control between the information processing apparatuses 100, and the portable terminal 200 is each separately provided. The structure provided in may be sufficient.

<外部デバイス400の構成>
外部デバイス400は、例えば、キーボード、マウス、およびテンキーなどの入力デバイス、CRT又は液晶ディスプレイなどの表示デバイス、HDDやUSBメモリなどの記憶装置などである。そして、外部デバイス400はデバイス制御装置300にUSBインターフェースなどの通信インターフェースによって接続される。
<Configuration of External Device 400>
The external device 400 is, for example, an input device such as a keyboard, a mouse, and a numeric keypad, a display device such as a CRT or a liquid crystal display, and a storage device such as an HDD or a USB memory. The external device 400 is connected to the device control apparatus 300 via a communication interface such as a USB interface.

図3は、図1に示すデバイス制御システムにおける仮想化制御の動作を説明するためのシーケンス図である。   FIG. 3 is a sequence diagram for explaining the operation of virtualization control in the device control system shown in FIG.

<1.情報処理装置100が外部デバイス400の仮想化制御する際のシーケンス>
まず、図1に示すデバイス制御システムにおいて、情報処理装置100がデバイス制御装置300に接続された外部デバイス400を仮想化制御する際の動作を説明する。この場合、情報処理装置100は仮想化サーバ装置、デバイス制御装置300は仮想化クライアント装置として制御が行われる。
<1. Sequence when Information Processing Apparatus 100 Controls Virtualization of External Device 400>
First, an operation when the information processing apparatus 100 performs virtualization control of the external device 400 connected to the device control apparatus 300 in the device control system illustrated in FIG. 1 will be described. In this case, the information processing apparatus 100 is controlled as a virtualization server apparatus, and the device control apparatus 300 is controlled as a virtualization client apparatus.

図示の例では、デバイス制御装置300に外部デバイス400をUSBインターフェースなどの通信インターフェースで接続することによって仮想化制御が開始される。   In the illustrated example, the virtualization control is started by connecting the external device 400 to the device control apparatus 300 via a communication interface such as a USB interface.

まず、外部デバイス400をデバイス制御装置300に接続する(ステップS101)。外部デバイス400の個体識別情報がデバイス制御装置300のデバイス制御部311に送信されることにより外部デバイス400の接続通知がなされる(ステップS102)。   First, the external device 400 is connected to the device control apparatus 300 (step S101). The individual identification information of the external device 400 is transmitted to the device control unit 311 of the device control apparatus 300, thereby notifying the connection of the external device 400 (step S102).

デバイス制御部311は接続通知を受け取ると、この個体識別情報を含む接続通知を仮想化通信部312に送る(ステップS103)。仮想化通信部312は、通信制御部313を介し、情報処理装置100に対して当該個体識別情報を外部デバイス400の接続通知として送信する(ステップS104)。   Upon receiving the connection notification, the device control unit 311 sends a connection notification including this individual identification information to the virtualization communication unit 312 (step S103). The virtualization communication unit 312 transmits the individual identification information as a connection notification of the external device 400 to the information processing apparatus 100 via the communication control unit 313 (step S104).

情報処理装置100は、通信制御部104を介して受信したデバイス制御装置300かの接続通知(外部デバイス400の個体識別情報)を、仮想化制御部103に送る。仮想化制御部103は、この個体識別情報をアプリケーション101に送る(ステップS105)。   The information processing apparatus 100 sends the connection notification (individual identification information of the external device 400) of the device control apparatus 300 received via the communication control unit 104 to the virtualization control unit 103. The virtualization control unit 103 sends this individual identification information to the application 101 (step S105).

アプリケーション101は、接続通知を受け取ると、仮想化制御部103に外部デバイス400の仮想化制御の開始を指示し、仮想化制御部103は外部デバイス400の仮想化制御を開始する。   Upon receiving the connection notification, the application 101 instructs the virtualization control unit 103 to start virtualization control of the external device 400, and the virtualization control unit 103 starts virtualization control of the external device 400.

情報処理装置100による外部デバイス400の仮想化制御が開始されると、情報処理装置100では、アプリケーション101がデバイスドライバ102とデータ送受信し(ステップS106)、デバイスドライバ102が仮想化制御部103とデータ送受信し(ステップS107)、仮想化制御部103が通信制御部104を介してデバイス制御装置300とデータ送受信を行う(ステップS108)。   When virtualization control of the external device 400 by the information processing apparatus 100 is started, in the information processing apparatus 100, the application 101 transmits / receives data to / from the device driver 102 (step S106), and the device driver 102 transmits data to the virtualization control unit 103. The virtualization control unit 103 performs data transmission / reception with the device control apparatus 300 via the communication control unit 104 (step S108).

デバイス制御装置300では、通信制御部313を介して仮想化通信部312と情報処理装置100がデータ送受信し、仮想化通信部312とデバイス制御部311がデータ送受信し(ステップS109)、デバイス制御部311が通信部のUSBインターフェースを介して外部デバイス400とデータ送受信を行う(ステップS110)。   In the device control apparatus 300, the virtualization communication unit 312 and the information processing apparatus 100 transmit and receive data via the communication control unit 313, and the virtualization communication unit 312 and the device control unit 311 transmit and receive data (step S109). 311 performs data transmission / reception with the external device 400 via the USB interface of the communication unit (step S110).

上述したステップS106〜ステップS110のデータ送受信処理によって、デバイス制御装置300を介して、ネットワーク600上の情報処理装置100が外部デバイス400をローカル接続した場合と同一の状態であると認識して制御を実行する。   Through the data transmission / reception processing in steps S106 to S110 described above, control is performed through the device control apparatus 300, recognizing that the information processing apparatus 100 on the network 600 is in the same state as when the external device 400 is locally connected. Run.

情報処理装置100による外部デバイス400の仮想化制御を終了させる場合、所定のユーザ操作などによって、外部デバイス400から終了操作(例えば、終了ボタンの押下)を実行する(ステップS111)。外部デバイス400の仮想化制御の終了を通知(以下、制御終了通知と呼ぶ)がデバイス制御装置300のデバイス制御部311に送信される(ステップS112)。なお、終了操作は、情報処理装置100、デバイス制御装置300、外部デバイス400の何れの装置からでも実行することが可能である。   When the virtualization control of the external device 400 by the information processing apparatus 100 is to be ended, an end operation (for example, pressing of the end button) is executed from the external device 400 by a predetermined user operation or the like (step S111). Notification of the end of virtualization control of the external device 400 (hereinafter referred to as control end notification) is transmitted to the device control unit 311 of the device control apparatus 300 (step S112). The end operation can be executed from any of the information processing apparatus 100, the device control apparatus 300, and the external device 400.

デバイス制御装置300のデバイス制御部311は、仮想化通信部312に外部デバイス400の制御終了通知を送信する(ステップS113)。仮想化通信部312は、この制御終了通知を通信制御部313を介し、情報処理装置100に対して送信する(ステップS114)。   The device control unit 311 of the device control apparatus 300 transmits a control end notification of the external device 400 to the virtualization communication unit 312 (step S113). The virtualization communication unit 312 transmits this control end notification to the information processing apparatus 100 via the communication control unit 313 (step S114).

情報処理装置100は、通信制御部104を介して受信したデバイス制御装置300からの制御終了通知を、仮想化制御部103に送る。仮想化制御部103は、制御終了通知を受け取ると、アプリケーション101に外部デバイス400の制御終了通知を送る(ステップS115)。   The information processing apparatus 100 sends the control end notification from the device control apparatus 300 received via the communication control unit 104 to the virtualization control unit 103. When receiving the control end notification, the virtualization control unit 103 sends a control end notification of the external device 400 to the application 101 (step S115).

アプリケーション101は、制御終了通知を受け取ると、仮想化制御部103に外部デバイス400の仮想化制御の終了を指示し、仮想化制御部103は、外部デバイス400の仮想化制御を終了する。   Upon receiving the control end notification, the application 101 instructs the virtualization control unit 103 to end the virtualization control of the external device 400, and the virtualization control unit 103 ends the virtualization control of the external device 400.

<2.デバイス制御装置が携帯端末の内部デバイスを仮想化制御する際のシーケンス>
次に、図1に示すデバイス制御システムにおいて、デバイス制御装置300に接続された携帯端末200の内部デバイス250を仮想化制御する際の動作を説明する。この場合、携帯端末200は仮想化クライアント装置、デバイス制御装置300は仮想化サーバ装置として制御が行われる。
<2. Sequence when device control device performs virtual control of internal device of mobile terminal>
Next, in the device control system illustrated in FIG. 1, an operation when the internal device 250 of the mobile terminal 200 connected to the device control apparatus 300 is virtualized will be described. In this case, the mobile terminal 200 is controlled as a virtual client device, and the device control device 300 is controlled as a virtual server device.

まず、ユーザは所定の操作によって表示デバイス250Aに操作画面を表示させ、入力デバイス250Bによる接続操作(例えば、接続ボタンの押下)を実行すると(ステップS201)、仮想デバイス制御部202に対して、内部デバイス250の接続要求が送られる(ステップS202)。   First, when the user displays an operation screen on the display device 250A by a predetermined operation and executes a connection operation (for example, pressing of a connection button) by the input device 250B (step S201), the virtual device control unit 202 is controlled by the internal device. A connection request for the device 250 is sent (step S202).

仮想デバイス制御部202は、この接続要求を検出すると、仮想化通信部203に対して表示デバイス250Aおよび入力デバイス250Bの仮想デバイス識別情報202Aを送信することにより内部デバイス250の接続通知を送る(ステップS203)。   When detecting the connection request, the virtual device control unit 202 transmits a connection notification of the internal device 250 by transmitting the virtual device identification information 202A of the display device 250A and the input device 250B to the virtualization communication unit 203 (step S100). S203).

仮想化通信部203は、この接続通知を受け取ると、通信制御部313を介してデバイス制御装置300に接続通知を送信する(ステップS204)。   Upon receiving this connection notification, the virtual communication unit 203 transmits a connection notification to the device control apparatus 300 via the communication control unit 313 (step S204).

デバイス制御装置300は、通信制御部313を介して受信した携帯端末200からの接続通知を仮想化制御部323へ送る。仮想化制御部323は、この接続通知を受け取ると、アプリケーション321に対して携帯端末200の内部デバイス250の接続通知を送る(ステップS205)。   The device control apparatus 300 sends the connection notification from the mobile terminal 200 received via the communication control unit 313 to the virtualization control unit 323. Upon receiving this connection notification, the virtualization control unit 323 sends a connection notification of the internal device 250 of the mobile terminal 200 to the application 321 (step S205).

アプリケーション321は、接続通知を受け取ると、仮想化制御部323に内部デバイス250の仮想化制御の開始を指示し、仮想化制御部323は、携帯端末200の内部デバイス250の仮想化制御を開始する。   Upon receiving the connection notification, the application 321 instructs the virtualization control unit 323 to start virtualization control of the internal device 250, and the virtualization control unit 323 starts virtualization control of the internal device 250 of the mobile terminal 200. .

デバイス制御装置300による携帯端末200の内部デバイス250の仮想化制御が開始されると、デバイス制御装置300では、アプリケーション321とデバイスドライバ322がデータ送受信し(ステップS206)、デバイスドライバ322が仮想化制御部323とデータ送受信し(ステップS207)、仮想化制御部323が通信制御部313を介して携帯端末200とデータ送受信を行う(ステップS208)。   When the virtualization control of the internal device 250 of the portable terminal 200 by the device control apparatus 300 is started, the application 321 and the device driver 322 transmit and receive data in the device control apparatus 300 (step S206), and the device driver 322 performs the virtualization control. The data is transmitted / received to / from the unit 323 (step S207), and the virtualization control unit 323 transmits / receives data to / from the mobile terminal 200 via the communication control unit 313 (step S208).

携帯端末200では、通信制御部204を介して仮想化通信部203がデバイス制御装置300とデータ送受信し、仮想化通信部203と仮想デバイス制御部202がデータ通信し(ステップS209)、仮想デバイス制御部202が内部バスに接続されたディスプレイインターフェース、入力インターフェースを介して表示デバイス250Aと入力デバイス250Bとデータ送受信を行う(ステップS210)。   In the mobile terminal 200, the virtual communication unit 203 transmits and receives data to and from the device control apparatus 300 via the communication control unit 204, and the virtual communication unit 203 and the virtual device control unit 202 perform data communication (step S209). The unit 202 transmits and receives data to and from the display device 250A and the input device 250B via the display interface and input interface connected to the internal bus (step S210).

上述したステップS206〜ステップS210により、アプリケーション321は、携帯端末200の内部デバイス250をローカル接続した場合と同一の状態であると認識して制御を実行する。   Through step S206 to step S210 described above, the application 321 recognizes that the internal device 250 of the portable terminal 200 is in the same state as the local connection and executes control.

なお、上述したステップS209、ステップS210において、仮想デバイス制御部202のデータ形式変換処理部202Bでは、仮想化通信部203から送られるUSBデータを表示デバイス250Aのデータ形式(第1のデータ形式)に変換して、ディスプレイインターフェースを介してデータ送受信する。なお、変換が不要なデータ形式の場合は、変換処理を実行せずにデータ送受信を行う。   In step S209 and step S210 described above, the data format conversion processing unit 202B of the virtual device control unit 202 converts the USB data sent from the virtualization communication unit 203 into the data format (first data format) of the display device 250A. Convert and send and receive data via the display interface. In the case of a data format that does not require conversion, data transmission / reception is performed without performing conversion processing.

また、携帯端末200の仮想デバイス制御部202のデータ形式変換処理部202Bは、入力デバイス250Bによる操作で入力されたデータを入力インターフェースを介して受信し、この入力データをUSBデータ(第2のデータ形式)に変換して仮想化通信部203に送信する。   In addition, the data format conversion processing unit 202B of the virtual device control unit 202 of the mobile terminal 200 receives data input by an operation by the input device 250B via the input interface, and receives the input data as USB data (second data). Format) and transmitted to the virtualization communication unit 203.

このようにして、携帯端末200の表示デバイス250Aにデバイス制御装置300から送られてくる画面データ(例えば、デバイス制御装置300に接続された液晶ディスプレイに表示される画面)が表示される。また、入力デバイス250Bを操作することによって、デバイス制御装置300に対してキーボードやテンキーと同様の入力操作を行うことができる。   In this way, screen data (for example, a screen displayed on a liquid crystal display connected to the device control apparatus 300) sent from the device control apparatus 300 is displayed on the display device 250A of the mobile terminal 200. Further, by operating the input device 250B, it is possible to perform an input operation similar to that of a keyboard or a numeric keypad to the device control apparatus 300.

デバイス制御装置300による携帯端末200の内部デバイス250の仮想化制御を終了させる場合、携帯端末200の入力デバイス250Bで所定の終了操作(例えば、終了ボタンを押下)を実行する(ステップS211)と、仮想デバイス制御部202に対して、内部デバイス250の制御終了要求が送られる(ステップS212)。   When the virtualization control of the internal device 250 of the mobile terminal 200 by the device control apparatus 300 is ended, a predetermined end operation (for example, pressing the end button) is executed on the input device 250B of the mobile terminal 200 (step S211). A control end request for the internal device 250 is sent to the virtual device control unit 202 (step S212).

仮想デバイス制御部202は、制御終了要求を受け取ると、仮想化通信部203に制御終了通知を送る(ステップS213)。   Upon receiving the control end request, the virtual device control unit 202 sends a control end notification to the virtualization communication unit 203 (step S213).

仮想化通信部203は、制御終了通知を受け取ると、通信制御部204を介して、デバイス制御装置300に制御終了通知を送信する。   Upon receiving the control end notification, the virtual communication unit 203 transmits a control end notification to the device control apparatus 300 via the communication control unit 204.

デバイス制御装置300は、通信制御部313を介して携帯端末200からの制御終了通知を受け取ると、この制御終了通知を仮想化制御部323へ送る(ステップS214)。仮想化制御部323は、制御終了通知を受け取ると、アプリケーション321に対して内部デバイス250の制御終了通知を送る(ステップS215)。   Upon receiving the control end notification from the mobile terminal 200 via the communication control unit 313, the device control apparatus 300 sends this control end notification to the virtualization control unit 323 (step S214). When receiving the control end notification, the virtualization control unit 323 sends a control end notification of the internal device 250 to the application 321 (step S215).

アプリケーション321は、制御終了通知を受け取ると、仮想化制御部323に内部デバイス250の仮想化制御の終了を指示し、仮想化制御部323は、携帯端末200の内部デバイス250の仮想化制御を終了する。   Upon receiving the control end notification, the application 321 instructs the virtualization control unit 323 to end the virtualization control of the internal device 250, and the virtualization control unit 323 ends the virtualization control of the internal device 250 of the mobile terminal 200. To do.

このように、本発明の第1の実施形態では、デバイス制御装置に仮想化サーバ機能と仮想化クライアント機能を共存させることによって、情報処理装置から要求されたデバイスを仮想化制御し、また、自身が仮想化制御したいデバイスも制御することができる。   As described above, in the first embodiment of the present invention, the device requested from the information processing apparatus is virtualized by coexisting the virtualization server function and the virtual client function in the device control apparatus. Can also control the devices that it wants to control.

[第2の実施形態]
図4は、本発明の第2の実施形態によるデバイス制御システムの一例を示すブロック図である。
[Second Embodiment]
FIG. 4 is a block diagram showing an example of a device control system according to the second embodiment of the present invention.

第2の実施形態は、仮想化サーバ機能部と仮想化クライアント機能部を併せ持つ装置において、これらを内部で連携させて仮想化制御する点に特徴がある。本実施形態では、デバイス制御装置300の仮想化サーバ機能部320と仮想化クライアント機能部310を連携させることにより、デバイス制御装置300Aを介して、情報処理装置100Aのデバイスドライバ102を使って携帯端末200Aの内部デバイス250を仮想化制御する。   The second embodiment is characterized in that, in an apparatus having both a virtualization server function unit and a virtualization client function unit, virtualization control is performed by linking them internally. In the present embodiment, the virtual server function unit 320 and the virtual client function unit 310 of the device control apparatus 300 are linked to each other, and the mobile terminal is used by using the device driver 102 of the information processing apparatus 100A via the device control apparatus 300A. Virtualization control of the internal device 250 of 200A is performed.

<システム構成>
図4のデバイス制御システムは、情報処理装置100A、携帯端末200A、デバイス制御装置300Aから構成されており、図1で示したデバイス制御システムと以下の構成が異なっている。
<System configuration>
The device control system in FIG. 4 includes an information processing apparatus 100A, a portable terminal 200A, and a device control apparatus 300A, and the following configuration is different from the device control system shown in FIG.

情報処理装置100Aが携帯端末200Aの表示デバイス250Aを制御する表示ドライバ102Aを具備しているが、デバイス制御装置300Aが表示ドライバを具備していない構成である。その他の接続構成や構成要素は、図1と同じであるため、図1に示す構成要素と同一の構成要素については同一の参照番号を付して説明を省略し、異なる点についてのみ説明する。   The information processing apparatus 100A includes the display driver 102A that controls the display device 250A of the mobile terminal 200A, but the device control apparatus 300A does not include the display driver. Since other connection configurations and components are the same as those in FIG. 1, the same components as those shown in FIG. 1 are denoted by the same reference numerals, description thereof is omitted, and only different points will be described.

デバイス制御装置300Aは、情報処理装置100Aによって携帯端末200Aの内部デバイス250を仮想化制御させるために、第1の実施形態で説明した機能に加えて、仮想化クライアント機能部310と仮想化サーバ機能部320を連動させる機能を備えている。具体的には、以下のような機能を備えている。   In addition to the functions described in the first embodiment, the device control apparatus 300A performs virtualization control of the internal device 250 of the mobile terminal 200A by the information processing apparatus 100A, in addition to the virtualization client function unit 310 and the virtualization server function A function of interlocking the unit 320 is provided. Specifically, the following functions are provided.

仮想化サーバ機能部320の仮想化制御部323は、「制御モード」を設定する仮想化ブリッジ設定機能を備え、予め設定する「制御モード」に従って仮想化制御を実行する。   The virtualization control unit 323 of the virtualization server function unit 320 includes a virtualization bridge setting function for setting the “control mode”, and executes the virtualization control according to the “control mode” set in advance.

「制御モード」には、該当する内部デバイスのデバイスドライバを持っている場合に設定する「直接制御モード」と、他の機器のデバイスドライバを使って仮想化制御する場合に設定する「間接制御モード」がある。   “Control mode” includes “direct control mode” that is set when the device driver of the corresponding internal device is available, and “indirect control mode” that is set when virtualization control is performed using the device driver of another device. There is.

また、「間接制御モード」の場合に必要となる内部デバイスのデバイス情報(USBデバイスの場合、USBクラスなどの情報)と、当該内部デバイスの仮想化制御を実行させる装置の宛先情報(例えば、IPアドレスなど)を関連付けた設定情報をデバイス制御装置300A内のメモリに予め記憶させておく。   Also, device information (in the case of a USB device, information such as USB class) required for the “indirect control mode” and destination information (for example, IP address) of the apparatus that executes virtualization control of the internal device. Setting information associated with an address or the like is stored in advance in a memory in the device control apparatus 300A.

そして、仮想化制御部323は、仮想化制御の対象となる内部デバイスを持つ装置からの接続通知、ここでは、携帯端末200Aの内部デバイス250からの接続通知を受け取ると、内部デバイス250からの接続通知に基づいて「制御モード」を判断して該当する制御モードによる仮想化制御を実行する。   When the virtualization control unit 323 receives a connection notification from an apparatus having an internal device to be subjected to virtualization control, here, a connection notification from the internal device 250 of the mobile terminal 200A, the virtualization control unit 323 receives a connection from the internal device 250. Based on the notification, the “control mode” is determined, and virtualization control is executed according to the corresponding control mode.

「直接制御モード」に設定されている場合、仮想化制御部323は、内部デバイス250に適したデバイスドライバを自装置内で備えていると判断し、第1の実施形態で説明したデバイス制御装置300Aと携帯端末200Aの内部デバイス250の仮想化制御と同じ制御を実行する。即ち、図3で説明したステップS205〜ステップS215と同じシーケンスを実行するので、その説明は省略する。   When the “direct control mode” is set, the virtualization control unit 323 determines that a device driver suitable for the internal device 250 is provided in the own device, and the device control device described in the first embodiment The same control as the virtualization control of the internal device 250 of 300A and the mobile terminal 200A is executed. That is, since the same sequence as step S205 to step S215 described in FIG. 3 is executed, description thereof is omitted.

「間接制御モード」に設定されている場合、仮想化制御部323は、内部デバイス250に適したデバイスドライバを自装置内で持っていないと判断し、仮想化クライアント機能部310の仮想化通信部312と接続し、内部デバイス250からの接続通知とともに、当該内部デバイス250に応じた設定情報を読み出して仮想化通信部312に送信する。また、仮想化通信部312から受信した情報を通信制御部313を介して内部デバイス250を持つ装置(携帯端末200A)に送信する。   When the “indirect control mode” is set, the virtualization control unit 323 determines that it does not have a device driver suitable for the internal device 250 in its own device, and the virtualization communication unit of the virtualization client function unit 310 312 is connected, and together with the connection notification from the internal device 250, the setting information corresponding to the internal device 250 is read and transmitted to the virtualization communication unit 312. In addition, the information received from the virtual communication unit 312 is transmitted to the apparatus (the portable terminal 200A) having the internal device 250 via the communication control unit 313.

仮想化クライアント機能部310の仮想化通信部312は、仮想化サーバ機能部320の仮想化制御部323が「間接制御モード」に設定されている場合、仮想化制御部323と接続し、仮想化制御部323から送られてくる内部デバイス250からの接続通知と設定情報を受け取ると、この設定情報をデバイス制御装置300A内のメモリに記憶しておく。   When the virtualization control unit 323 of the virtualization server function unit 320 is set to “indirect control mode”, the virtualization communication unit 312 of the virtualization client function unit 310 connects to the virtualization control unit 323 and performs virtualization. When the connection notification and the setting information from the internal device 250 sent from the control unit 323 are received, the setting information is stored in the memory in the device control apparatus 300A.

そして、設定情報に含まれる宛先情報の装置(ここでは、情報処理装置100A)に対し、通信制御部313を介して、内部デバイス250からの接続通知を送信する。また、情報処理装置100Aから通信制御部313を介して受信したデータに含まれるデバイス識別情報と、記憶しておいた設定情報に基づいて仮想化ブリッジ設定が「間接制御モード」であると判断すると、仮想化制御部323に対して受信したデータを送信する。   Then, a connection notification from the internal device 250 is transmitted to the destination information device (in this case, the information processing device 100A) included in the setting information via the communication control unit 313. Further, when it is determined that the virtualization bridge setting is “indirect control mode” based on the device identification information included in the data received from the information processing apparatus 100A via the communication control unit 313 and the stored setting information. The received data is transmitted to the virtualization control unit 323.

<図4のデバイス制御システムにおける仮想化制御のシーケンス>
図5は、図4に示すデバイス制御システムにおける仮想化制御の動作を説明するためのシーケンス図である。
<Virtualization Control Sequence in Device Control System of FIG. 4>
FIG. 5 is a sequence diagram for explaining the operation of virtualization control in the device control system shown in FIG.

図4に示すデバイス制御システムにおいて、携帯端末200Aの内部デバイス250を、デバイス制御装置300Aを介して、情報処理装置100Aによって仮想化制御する際の動作を説明する。この場合、携帯端末200Aが仮想化クライアント装置、デバイス制御装置300Aが仮想化サーバ装置及び仮想化クライアント装置、情報処理装置100Aが仮想化サーバ装置として制御が行われる。   In the device control system shown in FIG. 4, the operation when the information processing apparatus 100A performs virtualization control of the internal device 250 of the mobile terminal 200A via the device control apparatus 300A will be described. In this case, the mobile terminal 200A is controlled as a virtual client device, the device control device 300A as a virtual server device and a virtual client device, and the information processing device 100A as a virtual server device.

携帯端末200Aから内部デバイス250の仮想化制御を開始させる。まず、ユーザは、携帯端末200Aで所定の操作を行い、表示デバイス250Aに操作画面を表示させ、入力デバイス250Bで接続操作(例えば、接続ボタンの押下など)を実行すると、仮想デバイス制御部202に対して、内部デバイス250の接続要求が送られる(ステップS301)。   Virtualization control of the internal device 250 is started from the mobile terminal 200A. First, when the user performs a predetermined operation on the mobile terminal 200A, displays an operation screen on the display device 250A, and executes a connection operation (for example, pressing a connection button) on the input device 250B, the virtual device control unit 202 On the other hand, a connection request for the internal device 250 is sent (step S301).

仮想デバイス制御部202は、この接続要求を検出すると、仮想化通信部203に表示デバイス250Aおよび入力デバイス250Bそれぞれの仮想デバイス識別情報202Aを送信して内部デバイス250の接続通知を送る(ステップS302)。仮想化通信部203は、この接続通知を受け取ると、通信制御部313を介してデバイス制御装置300Aに接続通知を送信する(ステップS303)。   When detecting the connection request, the virtual device control unit 202 transmits the virtual device identification information 202A of each of the display device 250A and the input device 250B to the virtualization communication unit 203 and sends a connection notification of the internal device 250 (step S302). . Upon receiving this connection notification, the virtual communication unit 203 transmits a connection notification to the device control apparatus 300A via the communication control unit 313 (step S303).

デバイス制御装置300Aは、携帯端末200Aから接続通知を受け取ると、通信制御部313を介して仮想化制御部323に接続通知を送る。仮想化制御部323では、接続通知から携帯端末200Aの内部デバイス250に対する仮想化ブリッジ設定を判断し、仮想化制御を開始する。以下、仮想化ブリッジ設定が「間接制御モード」に設定されている場合のシーケンスについて説明する。   When receiving a connection notification from the mobile terminal 200A, the device control apparatus 300A sends a connection notification to the virtualization control unit 323 via the communication control unit 313. The virtualization control unit 323 determines the virtualization bridge setting for the internal device 250 of the mobile terminal 200A from the connection notification, and starts the virtualization control. Hereinafter, a sequence when the virtualization bridge setting is set to the “indirect control mode” will be described.

仮想化ブリッジ設定が「間接制御モード」の場合、仮想化制御部323は、仮想化通信部312と接続し、表示デバイス250Aからの接続通知とともに、当該内部デバイス250に応じた設定情報を仮想化通信部312に送信する(ステップS304)。   When the virtualization bridge setting is “indirect control mode”, the virtualization control unit 323 is connected to the virtualization communication unit 312 and virtualizes setting information corresponding to the internal device 250 together with a connection notification from the display device 250A. It transmits to the communication part 312 (step S304).

仮想化通信部312は、仮想化制御部323から送られてくる設定情報を記憶し、通信制御部313を介して、設定情報に含まれる宛先情報の情報処理装置100Aに対して、表示デバイス250Aからの接続通知を送信する(ステップS305)。   The virtualization communication unit 312 stores the setting information sent from the virtualization control unit 323, and displays the display device 250A to the information processing apparatus 100A of the destination information included in the setting information via the communication control unit 313. A connection notification is transmitted from (step S305).

情報処理装置100Aは、通信制御部104を介して、デバイス制御装置300Aから受信した接続通知を仮想化制御部103に送る。仮想化制御部103は、この接続通知をアプリケーション101に送る(ステップS306)。アプリケーション101は、接続通知を受け取ると、仮想化制御部103に表示デバイス250Aの仮想化制御の開始を指示し、仮想化制御部103は、携帯端末200Aの表示デバイス250Aの仮想化制御を開始する。   The information processing apparatus 100 </ b> A sends the connection notification received from the device control apparatus 300 </ b> A to the virtualization control unit 103 via the communication control unit 104. The virtualization control unit 103 sends this connection notification to the application 101 (step S306). Upon receiving the connection notification, the application 101 instructs the virtualization control unit 103 to start virtualization control of the display device 250A, and the virtualization control unit 103 starts virtualization control of the display device 250A of the mobile terminal 200A. .

情報処理装置100Aでは、アプリケーション101から表示ドライバ102Aに対して、データ入出力(制御)の要求を送る(ステップS307)。表示ドライバ102Aは、表示デバイス250Aに係るパラメータを要求する第1の転送要求(以下、転送要求1)を生成して、仮想化制御部103に渡す(ステップS308)。   In the information processing apparatus 100A, the application 101 sends a data input / output (control) request to the display driver 102A (step S307). The display driver 102A generates a first transfer request (hereinafter referred to as transfer request 1) that requests a parameter related to the display device 250A, and passes it to the virtualization control unit 103 (step S308).

仮想化制御部103は、転送要求1からデバイス制御装置300Aの仮想化制御部323に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送要求1を生成し、通信制御部313を介して当該デバイス転送要求1をデバイス制御装置300Aに送信する(ステップS309)。   The virtualization control unit 103 takes out only parameters passed from the transfer request 1 to the virtualization control unit 323 of the device control apparatus 300A as request parameters, and sends a device transfer request 1 including device identification information for specifying the display device 250A. The device transfer request 1 is generated and transmitted to the device control apparatus 300A via the communication control unit 313 (step S309).

デバイス制御装置300Aは、情報処理装置100Aから受信したデバイス転送要求1を仮想化通信部312に送る。仮想化通信部312は、このデバイス転送要求1から仮想化制御部323に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだ転送要求2を生成する。そして、ステップS305で記憶しておいた設定情報から仮想化ブリッジ設定が「間接制御モード」であると判断し、生成した転送要求2を仮想化制御部323に渡す(ステップS310)。   The device control apparatus 300A sends the device transfer request 1 received from the information processing apparatus 100A to the virtualization communication unit 312. The virtualization communication unit 312 extracts only the parameters passed from the device transfer request 1 to the virtualization control unit 323 as request parameters, and generates a transfer request 2 including device identification information for specifying the display device 250A. Then, it is determined from the setting information stored in step S305 that the virtualization bridge setting is “indirect control mode”, and the generated transfer request 2 is passed to the virtualization control unit 323 (step S310).

仮想化制御部323は、転送要求2から携帯端末200Aの仮想化通信部203に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送要求2を生成し、通信制御部313を介して当該デバイス転送要求2を携帯端末200Aに送信する(ステップS311)。   The virtualization control unit 323 extracts only the parameters passed from the transfer request 2 to the virtual communication unit 203 of the mobile terminal 200A as request parameters, and generates a device transfer request 2 including device identification information for specifying the display device 250A. Then, the device transfer request 2 is transmitted to the mobile terminal 200A via the communication control unit 313 (step S311).

携帯端末200Aは、通信制御部204を介してデバイス制御装置300Aからデバイス転送要求2を受け取ると、仮想化通信部203によって当該デバイス転送要求2に含まれるデバイス識別情報に応じてデータ転送を行うべき表示デバイス250Aを特定する。   When the mobile terminal 200A receives the device transfer request 2 from the device control apparatus 300A via the communication control unit 204, the virtual communication unit 203 should perform data transfer according to the device identification information included in the device transfer request 2 The display device 250A is specified.

そして、仮想化通信部203は、デバイス転送要求2に含まれる要求パラメータを、仮想デバイス制御部202に渡すデータ形式に変換した転送要求3を生成し、仮想デバイス制御部202に渡す(ステップS312)。仮想デバイス制御部202は、この転送要求3を表示デバイス250Aに適ったデータ形式に変換した「要求」を表示デバイス250Aに送る(ステップS313)。   Then, the virtualization communication unit 203 generates a transfer request 3 obtained by converting the request parameter included in the device transfer request 2 into a data format to be passed to the virtual device control unit 202, and passes it to the virtual device control unit 202 (step S312). . The virtual device control unit 202 sends a “request” obtained by converting the transfer request 3 into a data format suitable for the display device 250A to the display device 250A (step S313).

仮想デバイス制御部202のデータ形式変換処理部202Bでは、仮想化通信部203から送られるUSBデータを表示デバイス250Aのデータ形式(第1のデータ形式)に変換して、ディスプレイインターフェースを介してデータ送受信する。なお、変換が不要なデータ形式の場合は、変換処理を実行せずにデータ送受信を行う。   The data format conversion processing unit 202B of the virtual device control unit 202 converts USB data sent from the virtualization communication unit 203 into the data format (first data format) of the display device 250A, and transmits / receives data via the display interface. To do. In the case of a data format that does not require conversion, data transmission / reception is performed without performing conversion processing.

ステップS313で情報処理装置100Aから携帯端末200Aの表示デバイス250Aへの要求が送られる。この要求に対する応答は、以下の処理ステップS314〜ステップS320のシーケンスに従って行われる。   In step S313, a request is sent from the information processing apparatus 100A to the display device 250A of the mobile terminal 200A. The response to this request is performed according to the following sequence of processing steps S314 to S320.

表示デバイス250Aは、ステップS313で受け取った要求に対する制御結果である応答データを仮想デバイス制御部202に送る(ステップS314)。仮想デバイス制御部202は、この応答データを仮想化通信部203とのデータ通信に適ったデータ形式(USBデータ)に変換した転送応答3を仮想化通信部203に渡す(ステップS315)。   The display device 250A sends response data, which is a control result for the request received in step S313, to the virtual device control unit 202 (step S314). The virtual device control unit 202 passes the transfer response 3 obtained by converting the response data into a data format (USB data) suitable for data communication with the virtualization communication unit 203 to the virtualization communication unit 203 (step S315).

仮想化通信部203は、転送応答3からデバイス制御装置300Aの仮想化制御部323に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送応答3を生成し、通信制御部204を介して当該デバイス転送応答3をデバイス制御装置300Aに送信する(ステップS316)。   The virtualization communication unit 203 extracts only the parameters passed from the transfer response 3 to the virtualization control unit 323 of the device control apparatus 300A as a request parameter, and sends a device transfer response 3 including device identification information for specifying the display device 250A. The device transfer response 3 is generated and transmitted to the device control apparatus 300A via the communication control unit 204 (step S316).

デバイス制御装置300Aは、携帯端末200Aから受信したデバイス転送応答3を仮想化制御部323に送る。仮想化制御部323は、「間接制御モード」に設定されているので、このデバイス転送応答3から仮想化通信部312に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだ転送応答2を生成し、仮想化通信部312に渡す(ステップS317)。   The device control apparatus 300A sends the device transfer response 3 received from the mobile terminal 200A to the virtualization control unit 323. Since the virtualization control unit 323 is set to the “indirect control mode”, only the parameter passed from the device transfer response 3 to the virtualization communication unit 312 is extracted as a request parameter, and the device identification for specifying the display device 250A The transfer response 2 including the information is generated and passed to the virtualization communication unit 312 (step S317).

仮想化通信部312は、転送応答2から情報処理装置100Aの仮想化制御部103に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送応答2を生成し、通信制御部313を介して当該デバイス転送応答2を情報処理装置100Aに送信する(ステップS318)。   The virtualization communication unit 312 extracts only the parameters passed from the transfer response 2 to the virtualization control unit 103 of the information processing apparatus 100A as request parameters, and sends a device transfer response 2 including device identification information for specifying the display device 250A. The device transfer response 2 is generated and transmitted to the information processing apparatus 100A via the communication control unit 313 (step S318).

情報処理装置100Aは、通信制御部104を介してデバイス制御装置300Aからデバイス転送応答2を受け取ると、仮想化制御部103に渡す。仮想化制御部103は、当該デバイス転送応答2から表示ドライバ102Aに渡すパラメータのみを応答パラメータとして取り出して転送応答1を生成し、表示ドライバ102Aに渡す(ステップS319)。   When the information processing apparatus 100A receives the device transfer response 2 from the device control apparatus 300A via the communication control unit 104, the information processing apparatus 100A passes the device transfer response 2 to the virtualization control unit 103. The virtualization control unit 103 extracts only the parameters to be passed to the display driver 102A from the device transfer response 2 as response parameters, generates the transfer response 1, and passes it to the display driver 102A (step S319).

表示ドライバ102Aは、転送応答1から応答パラメータを取り出してアプリケーション101に渡す(ステップS320)。アプリケーション101は、要求に対する応答を確認する。   The display driver 102A extracts the response parameter from the transfer response 1 and passes it to the application 101 (step S320). The application 101 confirms a response to the request.

このようにして、デバイス制御装置300Aを介して情報処理装置100Aが携帯端末200Aの表示デバイス250Aの仮想化制御を実行する。   In this way, the information processing apparatus 100A performs virtualization control of the display device 250A of the mobile terminal 200A via the device control apparatus 300A.

また、携帯端末200Aから終了操作を行い、デバイス制御装置300Aを介した仮想化制御を終了させる場合について説明する。   A case will be described in which a termination operation is performed from the mobile terminal 200A and the virtualization control via the device control apparatus 300A is terminated.

携帯端末200Aで所定の操作を行い、終了操作(例えば、終了ボタンの押下)を実行すると、仮想デバイス制御部202に対して、制御終了要求が送られる(ステップS321)。   When a predetermined operation is performed on the mobile terminal 200A and an end operation (for example, pressing an end button) is executed, a control end request is sent to the virtual device control unit 202 (step S321).

仮想デバイス制御部202は、制御終了要求を受け取ると、仮想化通信部203に制御終了通知を送る(ステップS322)。   Upon receiving the control end request, the virtual device control unit 202 sends a control end notification to the virtualization communication unit 203 (step S322).

仮想化通信部203は、制御終了通知を受け取ると、通信制御部204を介して、デバイス制御装置300Aに制御終了通知を送信する。   Upon receiving the control end notification, the virtualization communication unit 203 transmits a control end notification to the device control apparatus 300A via the communication control unit 204.

デバイス制御装置300Aは、通信制御部313を介して携帯端末200Aからの制御終了通知を受け取ると、この制御終了通知を仮想化制御部323へ送る(ステップS323)。仮想化制御部323は、制御終了通知を受け取ると、「間接制御モード」に設定されているので、仮想化通信部312へ制御終了通知を送る(ステップS324)。   Upon receiving the control end notification from the mobile terminal 200A via the communication control unit 313, the device control apparatus 300A sends this control end notification to the virtualization control unit 323 (step S323). When receiving the control end notification, the virtualization control unit 323 sends the control end notification to the virtualization communication unit 312 because it is set to the “indirect control mode” (step S324).

仮想化通信部312は、制御終了通知を受け取ると、通信制御部313を介して、情報処理装置100Aに制御終了通知を送信する(ステップS325)。   When receiving the control end notification, the virtual communication unit 312 transmits the control end notification to the information processing apparatus 100A via the communication control unit 313 (step S325).

情報処理装置100Aは、通信制御部104を介してデバイス制御装置300Aからの制御終了通知を受け取ると、この制御終了通知を仮想化制御部103へ送る。仮想化制御部103は、制御終了通知を受け取ると、アプリケーション101に対して表示デバイス250Aの制御終了通知を送る(ステップS326)。   When the information processing apparatus 100 </ b> A receives a control end notification from the device control apparatus 300 </ b> A via the communication control unit 104, the information processing apparatus 100 </ b> A sends the control end notification to the virtualization control unit 103. When receiving the control end notification, the virtualization control unit 103 sends a control end notification of the display device 250A to the application 101 (step S326).

アプリケーション101は、制御終了通知を受け取ると、仮想化制御部103に表示デバイス250Aの仮想化制御の終了を指示し、仮想化制御部103は、携帯端末200Aの表示デバイス250Aの仮想化制御を終了する。   Upon receiving the control end notification, the application 101 instructs the virtualization control unit 103 to end the virtualization control of the display device 250A, and the virtualization control unit 103 ends the virtualization control of the display device 250A of the mobile terminal 200A. To do.

なお、上述の例では、デバイス制御装置300が表示ドライバを具備していない構成で説明したが、これに限定されない。デバイス制御装置300がデバイスドライバ322(表示ドライバおよび入力ドライバ)を複数具備し、仮想化制御しようとする内部デバイスに適したデバイスドライバがデバイス制御装置300内にある場合には「制御モード」を「直接制御モード」に設定し、適したデバイスドライバがデバイス制御装置300内にない場合には「制御モード」を「間接制御モード」に設定するように構成することもできる。   In the above-described example, the device control apparatus 300 has been described with a configuration that does not include a display driver. However, the present invention is not limited to this. When the device control apparatus 300 includes a plurality of device drivers 322 (display drivers and input drivers) and a device driver suitable for the internal device to be controlled by virtualization is in the device control apparatus 300, the “control mode” is set to “ It is also possible to configure so that the “direct control mode” is set and the “control mode” is set to the “indirect control mode” when a suitable device driver is not in the device control apparatus 300.

上述したシーケンスによる制御の別の適用例として、情報配信可能なデバイス、例えば、内部デバイス250がカメラの場合に、当該カメラを「直接制御モード」かつ「間接制御モード」に設定することにより、カメラで撮った映像をアプリケーション321とアプリケーション101に配信することが可能となる。   As another application example of the control based on the sequence described above, when the device capable of distributing information, for example, when the internal device 250 is a camera, the camera is set to “direct control mode” and “indirect control mode” to Can be distributed to the application 321 and the application 101.

このように、第2の実施形態では、サーバ機能とクライアント機能を連携させ、情報処理装置100Aのデバイスドライバを使って携帯端末200Aの内部デバイス250を制御させるために、デバイス制御装置300A内の仮想化制御部323と仮想化通信部312を接続し、情報処理装置100Aと携帯端末200Aのデータ送受信を中継することで、サーバ機能で仮想化したデバイスに対応するドライバがデバイス制御装置内に存在しない場合でも、他の装置のドライバを利用して制御させることが可能となる。   As described above, in the second embodiment, in order to link the server function and the client function and control the internal device 250 of the mobile terminal 200A using the device driver of the information processing apparatus 100A, the virtual in the device control apparatus 300A is used. The controller corresponding to the device virtualized by the server function does not exist in the device control apparatus by connecting the data control unit 323 and the virtual communication unit 312 and relaying data transmission / reception between the information processing apparatus 100A and the mobile terminal 200A. Even in this case, it is possible to perform control using a driver of another device.

[第3の実施形態]
図6は、本発明の第3の実施形態によるデバイス制御システムの一例を示すブロック図である。
[Third Embodiment]
FIG. 6 is a block diagram showing an example of a device control system according to the third embodiment of the present invention.

第3の実施形態は、ネットワークを介して接続された装置が互いに接続相手の装置の内部デバイスを仮想化制御する点に特徴がある。本実施形態では、デバイス制御装置300Aと携帯端末200Aそれぞれがサーバ機能/クライアント機能を実行することで、互いの装置が具備している内部デバイスの仮想化制御を実行する。   The third embodiment is characterized in that devices connected via a network perform virtualization control on internal devices of devices connected to each other. In the present embodiment, each of the device control apparatus 300A and the portable terminal 200A executes server functions / client functions, thereby executing virtualization control of internal devices included in the respective apparatuses.

<システム構成>
図6のデバイス制御システムは、携帯端末200B、デバイス制御装置300Bから構成されており、ネットワーク600(有線又は無線)を介して接続されている。なお、図1、図4に示す構成要素と同一の構成要素については同一の参照番号を付して、説明を省略する。
<System configuration>
The device control system in FIG. 6 includes a mobile terminal 200B and a device control apparatus 300B, which are connected via a network 600 (wired or wireless). The same components as those shown in FIGS. 1 and 4 are denoted by the same reference numerals, and description thereof is omitted.

デバイス制御装置300Bは、仮想化サーバ機能部320と、仮想化クライアント機能部330を備えている。本実施形態では、プリンタとストレージ機能を備えた複合機として説明する。ハードウェア構成としては、図1のデバイス制御装置300Bと同様、CPU、メモリ、通信部、および記憶部(ともに図示せず)などを備え、更に、印刷機能を持つプリンタ350A、データを蓄積する機能を持つストレージ350Bを内部デバイス350として備えており、これらハードウェアは内部バスで相互に接続されている。内部デバイス350以外は図1と同じ構成であるため、説明は省略する。   The device control apparatus 300B includes a virtualization server function unit 320 and a virtualization client function unit 330. In the present embodiment, the description will be made as a multifunction machine having a printer and a storage function. Similar to the device control apparatus 300B in FIG. 1, the hardware configuration includes a CPU, a memory, a communication unit, a storage unit (both not shown), etc., and a printer 350A having a printing function, and a function of storing data. A storage 350B having the internal device 350 is provided as an internal device 350, and these hardware components are connected to each other via an internal bus. Except for the internal device 350, the configuration is the same as in FIG.

仮想化サーバ機能部320は、携帯端末200Bの内部デバイス250を仮想化制御するためのソフトウェアを備えており、図1で示したデバイス制御装置300Bの仮想化サーバ機能部320と同等のソフトウェア構成であるため、その説明を省略する。   The virtualization server function unit 320 includes software for virtualizing the internal device 250 of the mobile terminal 200B, and has a software configuration equivalent to that of the virtualization server function unit 320 of the device control apparatus 300B illustrated in FIG. Therefore, the description thereof is omitted.

仮想化クライアント機能部330は、携帯端末200Bによって内部デバイス350の仮想化制御を実行させるためのソフトウェアである仮想デバイス制御部335、仮想化通信部334、通信制御部313から構成される。   The virtualization client function unit 330 includes a virtual device control unit 335, a virtualization communication unit 334, and a communication control unit 313, which are software for causing the mobile terminal 200B to perform virtualization control of the internal device 350.

仮想デバイス制御部335は、仮想デバイス識別情報335Aおよびデータ形式変換処理部335Bを備えている。さらに、内部デバイス350を仮想的なUSBデバイスに切り替えるユーザインターフェースなどの切替部を備えている。   The virtual device control unit 335 includes virtual device identification information 335A and a data format conversion processing unit 335B. Furthermore, a switching unit such as a user interface for switching the internal device 350 to a virtual USB device is provided.

仮想デバイス識別情報335Aは、内部デバイス350を自装置にローカル接続されているように認識させるために用いられる。この仮想デバイス識別情報335Aを内部デバイス350であるプリンタ350Aおよびストレージ350Bの各々に割り当てて、携帯端末200Bに外部デバイス400と同様に、プリンタ350Aおよびストレージ350BをUSBデバイスとして認識させる。ここでは、USBデバイスのデータ構造を定義する構成情報(以下、USBディスクリプタと呼ぶ)を疑似的に作成したものを仮想デバイス識別情報とする(図2参照)。   The virtual device identification information 335A is used for recognizing the internal device 350 as if it is locally connected to the own device. The virtual device identification information 335A is assigned to each of the printer 350A and the storage 350B, which are the internal devices 350, and causes the portable terminal 200B to recognize the printer 350A and the storage 350B as USB devices in the same manner as the external device 400. Here, virtual device identification information is obtained by artificially creating configuration information (hereinafter referred to as a USB descriptor) that defines the data structure of a USB device (see FIG. 2).

データ形式変換処理部335Bは、仮想化通信部334から送られるUSBデータ形式に準拠したパケットデータ(USBデータ)と内部デバイス350で処理可能なデータ形式のデータとの変換処理を行って携帯端末200Bとの間のデータの送受信を可能にしている。   The data format conversion processing unit 335B performs conversion processing between packet data (USB data) conforming to the USB data format sent from the virtualization communication unit 334 and data in a data format that can be processed by the internal device 350, and performs the portable terminal 200B. Data can be sent to and received from.

<プリンタ/ストレージの仮想化制御とデータ形式変換について>
本実施形態において、仮想デバイス制御部335は、仮想デバイス識別情報として、プリンタ350Aおよびストレージ350Bを識別したUSBディスクリプタをそれぞれ仮想化通信部334に送る。また、データ形式変換処理部335Bは、内部デバイス350から入出力された入出力データをプリンタ350Aおよびストレージ350BのUSBデータに変換し、入出力インターフェースを介して仮想化通信部334に送る。
<About printer / storage virtualization control and data format conversion>
In the present embodiment, the virtual device control unit 335 sends the USB descriptors that identify the printer 350A and the storage 350B to the virtualization communication unit 334 as virtual device identification information. Further, the data format conversion processing unit 335B converts input / output data input / output from the internal device 350 into USB data of the printer 350A and the storage 350B, and sends the converted data to the virtualization communication unit 334 via the input / output interface.

携帯端末200Bは、仮想化サーバ機能部220と、仮想化クライアント機能部210を備えている。ハードウェア構成としては、図1の携帯端末200と同等の構成を備えているので、説明を省略する。なお、内部デバイス250として、図1の表示デバイス250Aおよび入力デバイス250Bの機能を兼ね備えたタッチパネル250Cを備える。   The mobile terminal 200 </ b> B includes a virtualization server function unit 220 and a virtualization client function unit 210. The hardware configuration is the same as that of the mobile terminal 200 in FIG. The internal device 250 includes a touch panel 250C that has the functions of the display device 250A and the input device 250B of FIG.

仮想化サーバ機能部220は、デバイス制御装置300Bの内部デバイス350を仮想化制御するためのソフトウェアであるアプリケーション221、デバイスドライバ222、仮想化制御部223、通信制御部204から構成されている。   The virtualization server function unit 220 includes an application 221, a device driver 222, a virtualization control unit 223, and a communication control unit 204, which are software for controlling virtualization of the internal device 350 of the device control apparatus 300B.

アプリケーション221は、デバイスドライバ222に対してデータ入出力要求を指示することによって、デバイス制御装置300Bの内部デバイス350を制御するためのソフトウェアプログラムである。   The application 221 is a software program for controlling the internal device 350 of the device control apparatus 300B by instructing a data input / output request to the device driver 222.

デバイスドライバ222は、OS又はアプリケーション221からのデータ入出力要求を、デバイス制御装置300Bの内部デバイス350に応じたデータ形式のデータ(以下、制御コマンドと呼ぶ)に変換して、当該制御コマンドを仮想化制御部223に送る。さらに、デバイスドライバ222は制御コマンドに対する応答をアプリケーション221に通知する。ここでは、プリンタ350Aに対応したプリンタドライバ222A、ストレージ350Bに対応したストレージドライバ222Bのことを示す。   The device driver 222 converts a data input / output request from the OS or the application 221 into data in a data format corresponding to the internal device 350 of the device control apparatus 300B (hereinafter referred to as a control command), and converts the control command to a virtual To the control unit 223. Further, the device driver 222 notifies the application 221 of a response to the control command. Here, the printer driver 222A corresponding to the printer 350A and the storage driver 222B corresponding to the storage 350B are shown.

仮想化制御部223は、デバイスドライバ222から送られた制御コマンド(つまり、データ入出力要求)をUSBデータ形式に準拠したパケットデータ(以下、USBデータと呼ぶ)に変換する。また、仮想化制御部223は通信制御部313から送られてくるUSBデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ222に送る。さらに、仮想化制御部223は、携帯端末200Bの内部デバイス250に対するデータ送受信要求に対して、携帯端末200Bの内部デバイス250がデバイス制御装置300Bに直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする機能(以下、仮想化制御と呼ぶ)を備えている。この仮想化制御によって、デバイス制御装置300Bは、携帯端末200Bの内部デバイス250をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。   The virtualization control unit 223 converts the control command (that is, the data input / output request) sent from the device driver 222 into packet data (hereinafter referred to as USB data) conforming to the USB data format. Also, the virtualization control unit 223 converts the USB data sent from the communication control unit 313 into a data format similar to the control command and sends it to the device driver 222. Furthermore, the virtualization control unit 223 responds to a data transmission / reception request for the internal device 250 of the mobile terminal 200B when the internal device 250 of the mobile terminal 200B is directly connected (locally connected) to the device control apparatus 300B. A function for simulating the same behavior (hereinafter referred to as virtualization control) is provided. By this virtualization control, the device control apparatus 300B can recognize that the internal device 250 of the portable terminal 200B is in the same state as when locally connected, and can transmit and receive data.

仮想化クライアント機能部210は、デバイス制御装置300Bによって内部デバイス250の仮想化制御を実行させるためのソフトウェアである仮想デバイス制御部212、仮想化通信部213、通信制御部204を備えた構成である。   The virtualization client function unit 210 includes a virtual device control unit 212, a virtualization communication unit 213, and a communication control unit 204, which are software for causing the device control apparatus 300B to perform virtualization control of the internal device 250. .

仮想デバイス制御部212は、仮想デバイス識別情報212Aおよびデータ形式変換処理部212Bを備えている。さらに、内部デバイス250を仮想的なUSBデバイスに切り替えるユーザインターフェースなどの切替部を備えている。   The virtual device control unit 212 includes virtual device identification information 212A and a data format conversion processing unit 212B. Furthermore, a switching unit such as a user interface for switching the internal device 250 to a virtual USB device is provided.

仮想デバイス識別情報212Aは、内部デバイス350を自装置にローカル接続されているように認識させるために用いられる。この仮想デバイス識別情報212Aを内部デバイス250であるタッチパネル250Cに割り当てて、図1に示す外部デバイス400と同様、タッチパネル250CをUSBデバイスとして認識させる。ここでは、USBデバイスのデータ構造を定義する構成情報(以下、USBディスクリプタと呼ぶ)を疑似的に作成したものを仮想デバイス識別情報とする(図2参照)。   The virtual device identification information 212A is used for recognizing the internal device 350 as if it is locally connected to the own device. This virtual device identification information 212A is assigned to the touch panel 250C, which is the internal device 250, and the touch panel 250C is recognized as a USB device, like the external device 400 shown in FIG. Here, virtual device identification information is obtained by artificially creating configuration information (hereinafter referred to as a USB descriptor) that defines the data structure of a USB device (see FIG. 2).

データ形式変換処理部212Bは、仮想化通信部213から送られるUSBデータ形式に準拠したパケットデータ(USBデータ)と内部デバイス250で処理可能なデータ形式のデータとの変換処理を行ってデバイス制御装置300Bとの間のデータの送受信を可能にしている。   The data format conversion processing unit 212B performs a conversion process between packet data (USB data) conforming to the USB data format sent from the virtualization communication unit 213 and data in a data format that can be processed by the internal device 250, and performs device control. Data can be transmitted to and received from 300B.

<タッチパネルの仮想化制御とデータ形式変換について>
本実施形態において、仮想デバイス制御部212は、キーボードおよびタッチパネルなどの入力デバイス250Bに係る仮想デバイス識別情報として、HIDクラスを識別したUSBディスクリプタを仮想化通信部334に送る。また、データ形式変換処理部335Bは、入力デバイス250Bから入力された入力データをHIDクラスのUSBデータに変換し、入力インターフェースを介して仮想化通信部334に送る。
<About touch panel virtualization control and data format conversion>
In the present embodiment, the virtual device control unit 212 sends a USB descriptor identifying the HID class to the virtualization communication unit 334 as virtual device identification information related to the input device 250B such as a keyboard and a touch panel. Further, the data format conversion processing unit 335B converts the input data input from the input device 250B into HID class USB data, and sends the data to the virtualization communication unit 334 via the input interface.

さらに、仮想デバイス制御部212は、ディスプレイなどの表示デバイス250Aに係る仮想デバイス識別情報202Aとして、ベンダー固有情報(ベンダークラス)を識別したUSBディスクリプタを仮想化通信部213に送る。また、データ形式変換処理部202Bは、仮想化通信部213から送られるUSBデータを表示デバイス250Aのデータ形式に変換して、ディスプレイインターフェースを介して表示デバイス250Aに送る。   Further, the virtual device control unit 212 sends the USB descriptor identifying the vendor specific information (vendor class) to the virtualization communication unit 213 as the virtual device identification information 202A related to the display device 250A such as a display. Further, the data format conversion processing unit 202B converts the USB data sent from the virtualization communication unit 213 into the data format of the display device 250A and sends it to the display device 250A via the display interface.

例えば、携帯端末200Bに備えられたタッチパネル250Cからネットワーク上のデバイス制御装置300Bを遠隔操作する際には、タッチパネル250Cからの切り替え操作に応じて上述したような仮想デバイス識別情報212Aがネットワーク上のデバイス制御装置300Bへ送られ、内部デバイス250であるタッチパネル250C(つまり、タッチ入力およびディスプレイ出力)がネットワーク上のデバイス制御装置300Bからの仮想化制御に切り替わる。これによって、携帯端末200Bに備えられたタッチパネル250Cからネットワーク上のデバイス制御装置300Bを遠隔操作することができるようになる。   For example, when the device control apparatus 300B on the network is remotely operated from the touch panel 250C provided in the mobile terminal 200B, the virtual device identification information 212A as described above is displayed on the network according to the switching operation from the touch panel 250C. The touch panel 250C (that is, touch input and display output) that is the internal device 250 is switched to the virtualization control from the device control apparatus 300B on the network. As a result, the device control apparatus 300B on the network can be remotely operated from the touch panel 250C provided in the portable terminal 200B.

<図6のデバイス制御システムにおける仮想化制御のシーケンス>
図7は、図6に示すデバイス制御システムにおける仮想化制御の動作を説明するためのシーケンス図である。
<Virtualization Control Sequence in Device Control System of FIG. 6>
FIG. 7 is a sequence diagram for explaining the operation of virtualization control in the device control system shown in FIG.

まず、デバイス制御装置300Bによって、携帯端末200Bのタッチパネル250Cの仮想化制御を開始させる。まず、ユーザは、携帯端末200Bで所定の操作を行い、タッチパネル250Cに操作画面を表示させ、接続操作(例えば、接続ボタンの押下など)を実行する(ステップS401)。仮想デバイス制御部212に対して、内部デバイス250、即ち、タッチパネル250Cの接続要求が送られる(ステップS402)。   First, virtualization control of the touch panel 250C of the mobile terminal 200B is started by the device control apparatus 300B. First, the user performs a predetermined operation on the mobile terminal 200B, displays an operation screen on the touch panel 250C, and executes a connection operation (for example, pressing a connection button) (step S401). A connection request for the internal device 250, that is, the touch panel 250C is sent to the virtual device control unit 212 (step S402).

仮想デバイス制御部212は、この接続要求を検出すると、仮想化通信部213に対してタッチパネル250Cの仮想デバイス識別情報212Aを送信してタッチパネル250Cの接続通知を送る(ステップS403)。仮想化通信部213は、この接続通知を受け取ると、通信制御部204を介してデバイス制御装置300Bに接続通知を送信する(ステップS404)。   When detecting the connection request, the virtual device control unit 212 transmits the virtual device identification information 212A of the touch panel 250C to the virtualization communication unit 213 and sends a connection notification of the touch panel 250C (step S403). When receiving the connection notification, the virtual communication unit 213 transmits the connection notification to the device control apparatus 300B via the communication control unit 204 (step S404).

デバイス制御装置300は、通信制御部313を介して受信した携帯端末200Bからの接続通知を仮想化制御部323へ送る。仮想化制御部323は、この接続通知を受け取ると、アプリケーション321に対して携帯端末200Bのタッチパネル250Cの接続通知を送る(ステップS405)。   The device control apparatus 300 sends the connection notification from the portable terminal 200 </ b> B received via the communication control unit 313 to the virtualization control unit 323. Upon receiving this connection notification, the virtualization control unit 323 sends a connection notification of the touch panel 250C of the mobile terminal 200B to the application 321 (step S405).

アプリケーション321は、接続通知を受け取ると、仮想化制御部323にタッチパネル250Cの仮想化制御の開始を指示し、仮想化制御部323は、携帯端末200Bの仮想化通信部213を介してタッチパネル250Cの仮想化制御を開始する。   Upon receiving the connection notification, the application 321 instructs the virtualization control unit 323 to start the virtualization control of the touch panel 250C, and the virtualization control unit 323 uses the touch panel 250C via the virtualization communication unit 213 of the mobile terminal 200B. Start virtualization control.

デバイス制御装置300Bによる携帯端末200Bのタッチパネル250Cの仮想化制御が開始されると、携帯端末200Bでは、タッチパネル250Cで入力操作が行われると、タッチパネル250Cと内部バスに接続された入出力インターフェースを介して接続された仮想デバイス制御部212にデータを送り(ステップS406)、仮想デバイス制御部212と仮想化通信部213がデータ送受信し(ステップS407)、仮想化通信部213が通信制御部204を介してデバイス制御装置300Bとデータ送受信を行う(ステップS408)。   When the virtualization control of the touch panel 250C of the mobile terminal 200B by the device control apparatus 300B is started, when an input operation is performed on the touch panel 250C in the mobile terminal 200B, the touch panel 250C and an input / output interface connected to the internal bus are used. The virtual device control unit 212 and the virtual communication unit 213 transmit and receive data (step S407), and the virtual communication unit 213 passes the communication control unit 204 via the communication control unit 204. Then, data transmission / reception is performed with the device control apparatus 300B (step S408).

デバイス制御装置300Bでは、通信制御部313を介して携帯端末200Bとデータ送受信し、仮想化制御部323がデバイスドライバ322とデータ送受信し(ステップS409)、デバイスドライバ322はアプリケーション321とデータ送受信する(ステップS410)。   In the device control apparatus 300B, data is transmitted / received to / from the mobile terminal 200B via the communication control unit 313, the virtualization control unit 323 transmits / receives data to / from the device driver 322 (step S409), and the device driver 322 transmits / receives data to / from the application 321 ( Step S410).

上述したステップS405〜ステップS410により、デバイス制御装置300Bのアプリケーション321は、携帯端末200Bのタッチパネル250Cをローカル接続した場合と同一の状態であると認識して制御を実行する。   Through steps S405 to S410 described above, the application 321 of the device control apparatus 300B recognizes that the touch panel 250C of the mobile terminal 200B is in the same state as the local connection, and executes control.

このとき、携帯端末200Bのタッチパネル250Cには、デバイス制御装置300Bから送られてくる画面データ(例えば、デバイス制御装置300Bに接続された液晶ディスプレイに表示される画面)が表示される。また、タッチパネル250Cを操作することによって、デバイス制御装置300Bに対してキーボードやテンキーと同様の入力操作を行うことができる。   At this time, screen data (for example, a screen displayed on a liquid crystal display connected to the device control apparatus 300B) sent from the device control apparatus 300B is displayed on the touch panel 250C of the mobile terminal 200B. Further, by operating the touch panel 250C, an input operation similar to that of a keyboard or numeric keypad can be performed on the device control apparatus 300B.

また、上述したステップS405において、デバイス制御装置300Bのアプリケーション321は、仮想化制御部323に対してタッチパネル250Cの仮想化制御に接続開始を指示するとともに、自装置の内部デバイス350の接続要求を仮想化制御部323に送る(ステップS411)。   Further, in step S405 described above, the application 321 of the device control apparatus 300B instructs the virtualization control unit 323 to start connection to the virtualization control of the touch panel 250C, and issues a connection request for the internal device 350 of the own apparatus. To the control unit 323 (step S411).

仮想化制御部323は、接続要求を受け取ると、仮想デバイス制御部335に対して内部デバイス350の接続通知を送り(ステップS412)、仮想デバイス制御部335は仮想化通信部334に内部デバイス350の接続通知を送る(ステップS413)。仮想化通信部334は、接続通知を受け取ると、通信制御部313を介して、携帯端末200Bに接続通知を送信する(ステップS414)。   Upon receiving the connection request, the virtualization control unit 323 sends a connection notification of the internal device 350 to the virtual device control unit 335 (step S412), and the virtual device control unit 335 sends the internal device 350 the virtual device control unit 335. A connection notification is sent (step S413). When the virtual communication unit 334 receives the connection notification, the virtual communication unit 334 transmits the connection notification to the mobile terminal 200B via the communication control unit 313 (step S414).

携帯端末200Bは、通信制御部204を介してデバイス制御装置300Bからの接続通知を受け取ると、この接続通知を仮想化制御部223へ送る。仮想化制御部223は、接続通知を受け取ると、アプリケーション221に対してタッチパネル250Cの接続通知を送る(ステップS415)。アプリケーション221は、仮想化制御部323に内部デバイス350の仮想化制御の開始を指示し、仮想化制御部323は、デバイス制御装置300Bの内部デバイス350の仮想化制御を開始する。   When receiving the connection notification from the device control apparatus 300B via the communication control unit 204, the portable terminal 200B sends this connection notification to the virtualization control unit 223. When the virtualization control unit 223 receives the connection notification, the virtualization control unit 223 transmits a connection notification of the touch panel 250C to the application 221 (step S415). The application 221 instructs the virtualization control unit 323 to start virtualization control of the internal device 350, and the virtualization control unit 323 starts virtualization control of the internal device 350 of the device control apparatus 300B.

内部デバイス350の仮想化制御が開始されると、携帯端末200Bでは、内部デバイス350に対するデータの入出力が可能となる(ステップS416)。データ入出力が実行されると、アプリケーション221とデバイスドライバ222がデータ送受信し(ステップS417)、デバイスドライバ222は仮想化制御部223とデータ送受信し(ステップS418)、仮想化制御部223が通信制御部204を介してデバイス制御装置300Bとデータ送受信を行う(ステップS419)。   When the virtualization control of the internal device 350 is started, the portable terminal 200B can input / output data to / from the internal device 350 (step S416). When data input / output is executed, the application 221 and the device driver 222 transmit and receive data (step S417), the device driver 222 transmits and receives data to and from the virtualization control unit 223 (step S418), and the virtualization control unit 223 controls communication. Data transmission / reception is performed with the device control apparatus 300B via the unit 204 (step S419).

デバイス制御装置300Bでは、通信制御部313を介して仮想化通信部334が携帯端末200Bとデータ送受信し、仮想化通信部334と仮想デバイス制御部212がデータ通信し(ステップS420)、仮想デバイス制御部335が内部バスに接続された入出力インターフェースを介して内部デバイス350とデータ送受信を行う(ステップS421)。   In the device control apparatus 300B, the virtual communication unit 334 transmits / receives data to / from the mobile terminal 200B via the communication control unit 313, and the virtual communication unit 334 and the virtual device control unit 212 perform data communication (step S420). The unit 335 performs data transmission / reception with the internal device 350 via the input / output interface connected to the internal bus (step S421).

上述したステップS415〜ステップS421により、携帯端末200Bのアプリケーション221は、デバイス制御装置300Bの内部デバイス350をローカル接続した場合と同一の状態であると認識して制御を実行する。   Through steps S415 to S421 described above, the application 221 of the portable terminal 200B recognizes that the internal device 350 of the device control apparatus 300B is locally connected and executes control.

このようにして、携帯端末200Bとデバイス制御装置300Bがそれぞれ相手装置の内部デバイスの仮想化制御を行う。   In this way, the mobile terminal 200B and the device control apparatus 300B each perform virtualization control of the internal device of the counterpart apparatus.

携帯端末200B、デバイス制御装置300Bによる相手装置の内部デバイスの仮想化制御を終了させる場合、携帯端末200Bで所定の操作を行う。タッチパネル250Cに操作画面を表示させ、終了操作(例えば、終了ボタンの押下)を実行する(ステップS422)と、仮想デバイス制御部212に対して、タッチパネル250Cの制御終了要求が送られる(ステップS423)。   When the virtualization control of the internal device of the counterpart apparatus by the mobile terminal 200B and the device control apparatus 300B is to be terminated, a predetermined operation is performed on the mobile terminal 200B. When an operation screen is displayed on the touch panel 250C and an end operation (for example, pressing of the end button) is executed (step S422), a control end request for the touch panel 250C is sent to the virtual device control unit 212 (step S423). .

仮想デバイス制御部212は、制御終了要求を受け取ると、仮想化通信部213に制御終了通知を送る(ステップS424)。   Upon receiving the control end request, the virtual device control unit 212 sends a control end notification to the virtualization communication unit 213 (step S424).

仮想化通信部213は、制御終了通知を受け取ると、通信制御部204を介して、デバイス制御装置300Bに制御終了通知を送信する。   Upon receiving the control end notification, the virtualization communication unit 213 transmits the control end notification to the device control apparatus 300B via the communication control unit 204.

デバイス制御装置300Bは、通信制御部313を介して携帯端末200Bからの制御終了通知を受け取ると、この制御終了通知を仮想化制御部323へ送る(ステップS425)。仮想化制御部323は、制御終了通知を受け取ると、アプリケーション321に対してタッチパネル250Cの制御終了通知を送る(ステップS426)。   Upon receiving the control end notification from the portable terminal 200B via the communication control unit 313, the device control apparatus 300B sends this control end notification to the virtualization control unit 323 (step S425). When receiving the control end notification, the virtualization control unit 323 sends a control end notification of the touch panel 250C to the application 321 (step S426).

アプリケーション321が仮想化制御部323に携帯端末200Bのタッチパネル250Cの仮想化制御の終了を指示し、仮想化制御部323は、タッチパネル250Cの仮想化制御を終了する。   The application 321 instructs the virtualization control unit 323 to end the virtualization control of the touch panel 250C of the mobile terminal 200B, and the virtualization control unit 323 ends the virtualization control of the touch panel 250C.

また、アプリケーション321は、仮想化制御部323にタッチパネル250Cの仮想化制御の終了を指示するとともに、デバイス制御装置300Cの内部デバイス350の制御終了要求を送る(ステップS427)。   In addition, the application 321 instructs the virtualization control unit 323 to end the virtualization control of the touch panel 250C, and sends a control end request for the internal device 350 of the device control apparatus 300C (step S427).

仮想化制御部323は、制御終了要求を受け取ると、仮想化通信部334に内部デバイス350の制御終了通知を送る(ステップS428)。仮想化通信部334は、制御終了通知を受け取ると、通信制御部313を介して、携帯端末200Bに制御終了通知を送信する(ステップS429)。   When receiving the control end request, the virtualization control unit 323 sends a control end notification of the internal device 350 to the virtualization communication unit 334 (step S428). When the virtual communication unit 334 receives the control end notification, the virtual communication unit 334 transmits the control end notification to the mobile terminal 200B via the communication control unit 313 (step S429).

携帯端末200Bは、通信制御部204を介してデバイス制御装置300Bからの制御終了通知を受け取ると、この制御終了通知を仮想化制御部223へ送る。仮想化制御部223は、制御終了通知を受け取ると、アプリケーション221に対して内部デバイス350の制御終了通知を送る(ステップS430)。   When receiving the control end notification from the device control apparatus 300B via the communication control unit 204, the portable terminal 200B sends this control end notification to the virtualization control unit 223. Upon receiving the control end notification, the virtualization control unit 223 sends a control end notification for the internal device 350 to the application 221 (step S430).

アプリケーション221は、制御終了通知を受け取ると、仮想化制御部223に内部デバイス350の仮想化制御の終了を指示し、仮想化制御部323は、デバイス制御装置300Bの内部デバイス350の仮想化制御を終了する。   Upon receiving the control end notification, the application 221 instructs the virtualization control unit 223 to end the virtualization control of the internal device 350, and the virtualization control unit 323 performs the virtualization control of the internal device 350 of the device control apparatus 300B. finish.

このように、第3の実施形態では、一台のデバイス制御装置内にサーバ機能とクライアント機能を共存させ、デバイス制御装置同士を接続して、互いに接続した相手方装置の機能(内部デバイス)を仮想化制御させる。これにより、相手方装置が持っている機能(内部デバイス)を自装置に直接接続された装置の機能と同様に制御することが可能となり、互いの装置のデバイスドライバを組み込まなくてもアプリケーションがデバイスを利用できるメリットがある。   As described above, in the third embodiment, the server function and the client function coexist in one device control apparatus, the device control apparatuses are connected to each other, and the functions (internal devices) of the partner apparatuses connected to each other are virtually Control. This makes it possible to control the functions (internal devices) of the partner device in the same way as the functions of the devices directly connected to the own device, and the application can change the device without incorporating the device driver of each device. There are merits that can be used.

[第4の実施形態]
図8は、本発明の第4の実施形態によるデバイス制御システムの一例を示すブロック図である。
[Fourth Embodiment]
FIG. 8 is a block diagram showing an example of a device control system according to the fourth embodiment of the present invention.

第4の実施形態は、仮想化サーバ機能部と仮想化クライアント機能部を併せ持つ装置において、デバイスドライバ切替部324と仮想デバイス制御部314と使用することにより、仮想化制御の接続先を切り替えできる点に特徴がある。本実施形態では、デバイス制御装置300C内にデバイスドライバ切替部324と仮想デバイス制御部314を備え、内部デバイスまたは外部デバイスの仮想化制御を実行させる宛先の情報を参照することで、仮想化制御の接続先を切り替える。   In the fourth embodiment, the connection destination of the virtualization control can be switched by using the device driver switching unit 324 and the virtual device control unit 314 in the device having both the virtualization server function unit and the virtualization client function unit. There is a feature. In the present embodiment, a device driver switching unit 324 and a virtual device control unit 314 are provided in the device control apparatus 300C, and by referring to information on a destination for executing virtualization control of an internal device or an external device, virtualization control is performed. Switch the connection destination.

<システム構成>
図8のデバイス制御システムは、情報処理装置100C、携帯端末200C、デバイス制御装置300Cから構成されている。図4に示す構成要素に対し、デバイス制御装置300Cが仮想デバイス制御部314とデバイスドライバ切替部324とデバイスドライバ322内に表示ドライバ322Aを具備している点が異なる。加えて、携帯端末200Cには、外部デバイス400Cが接続ケーブル500などによってローカル接続されている点が異なる。表示ドライバ322Aは、情報処理装置100C内の表示ドライバ102Aと同等の役割を行う。また、その他の接続構成や構成要素は、図4と同じであるため、図4に示す構成要素と同一の構成要素については同一の参照番号を付して説明を省略し、異なる点についてのみ説明する。
<System configuration>
The device control system in FIG. 8 includes an information processing apparatus 100C, a mobile terminal 200C, and a device control apparatus 300C. 4 differs in that the device control apparatus 300C includes a display driver 322A in the virtual device control unit 314, the device driver switching unit 324, and the device driver 322. In addition, the portable device 200C is different in that an external device 400C is locally connected by a connection cable 500 or the like. The display driver 322A performs the same role as the display driver 102A in the information processing apparatus 100C. Further, since the other connection configurations and components are the same as those in FIG. 4, the same components as those shown in FIG. 4 are denoted by the same reference numerals and the description thereof is omitted, and only different points are described. To do.

デバイスドライバ切替部324と仮想デバイス制御部314の機能部について説明する。デバイスドライバ切替部324は、デバイス制御装置300C内に内部デバイス250を接続するためのデバイスドライバが無い場合に、携帯端末200Cから通知された内部デバイス250のデバイス情報(USBデバイスの場合、USBクラスなどの情報)を基に、デバイス制御装置300C内に仮想デバイス制御部314を生成する。また、デバイス制御装置300C内に内部デバイス250を接続するためのデバイスドライバが有る場合には、デバイス制御装置300C内に仮想デバイス制御部314を生成することなく、デバイス制御装置300C内で仮想化制御を実施する。   Functional units of the device driver switching unit 324 and the virtual device control unit 314 will be described. When there is no device driver for connecting the internal device 250 in the device control apparatus 300C, the device driver switching unit 324 device information of the internal device 250 notified from the mobile terminal 200C (USB class in the case of a USB device, etc.) The virtual device control unit 314 is generated in the device control apparatus 300C. In addition, when there is a device driver for connecting the internal device 250 in the device control apparatus 300C, virtualization control is performed in the device control apparatus 300C without generating the virtual device control unit 314 in the device control apparatus 300C. To implement.

仮想デバイス制御部314は、携帯端末200Cの内部デバイス250のデバイス情報と当該内部デバイス250の仮想化制御を実行させる情報処理装置100Cの宛先情報(例えば、IPアドレスなど)を仮想化通信部312に通知する。仮想化通信部312に処理が渡った後の動作は、第2の実施形態で説明した処理と同等なので、説明を省略する。   The virtual device control unit 314 sends the device information of the internal device 250 of the mobile terminal 200C and the destination information (for example, IP address) of the information processing apparatus 100C that executes the virtualization control of the internal device 250 to the virtualization communication unit 312. Notice. Since the operation after the processing is passed to the virtual communication unit 312 is the same as the processing described in the second embodiment, the description is omitted.

仮想デバイス制御部314は、仮想化制御される内部デバイス毎に生成され、各内部デバイスの仮想化制御が終了する度に削除される。   The virtual device control unit 314 is generated for each internal device subjected to virtualization control, and is deleted every time the virtualization control of each internal device is completed.

内部デバイス250の仮想化制御の接続先に関する宛先情報は、デバイス制御装置300C内のメモリ内(不図示)に予め記憶させておく。このメモリ内の宛先情報は、例えばユーザがデバイス制御装置300Cのユーザインターフェースなどを使用することで変更可能である。このメモリ内の宛先情報を参照することで、仮想化制御の接続先の切り替えが可能になる。   The destination information related to the connection destination of the virtualization control of the internal device 250 is stored in advance in a memory (not shown) in the device control apparatus 300C. The destination information in the memory can be changed by the user using the user interface of the device control apparatus 300C, for example. By referring to the destination information in the memory, the connection destination of virtualization control can be switched.

なお、デバイス制御装置300C内に携帯端末200Cの内部デバイス250を接続するためのデバイスドライバが有る場合でも、内部デバイス250の仮想化制御の接続先に関する宛先情報を情報処理装置100Cに設定することで、デバイス制御装置300C内に内部デバイス250を接続するためのデバイスドライバが無い場合と同様に、デバイス制御装置300C内に仮想デバイス制御部314を生成し、内部デバイス250を仮想化制御する接続先をデバイス制御装置300Cではなく、情報処理装置100Cにすることができる。   Even when the device control apparatus 300C includes a device driver for connecting the internal device 250 of the portable terminal 200C, by setting the destination information regarding the connection destination of the virtualization control of the internal device 250 in the information processing apparatus 100C. As in the case where there is no device driver for connecting the internal device 250 in the device control apparatus 300C, the virtual device control unit 314 is generated in the device control apparatus 300C, and the connection destination for virtualizing the internal device 250 is determined. The information processing apparatus 100C can be used instead of the device control apparatus 300C.

外部デバイス400Cについても内部デバイス250の仮想化制御と同様に、情報処理装置100Cで仮想化制御を実施できる。   As with the virtualization control of the internal device 250, the information processing apparatus 100C can perform the virtualization control for the external device 400C.

<図8のデバイス制御システムにおける仮想化制御のシーケンス>
図8に示すデバイス制御システムにおける仮想化制御の動作を説明するためのシーケンスを図9にて説明する。図9は、内部デバイス250を情報処理装置100Cで仮想化制御する場合と、内部デバイス250をデバイス制御装置300Cで仮想化制御する場合の2つのシーケンスが記載されている。
<Virtualization Control Sequence in Device Control System of FIG. 8>
A sequence for explaining the operation of the virtualization control in the device control system shown in FIG. 8 will be described with reference to FIG. FIG. 9 shows two sequences when the internal device 250 is virtualized by the information processing apparatus 100C and when the internal device 250 is virtualized by the device control apparatus 300C.

最初に、内部デバイス250を情報処理装置100Cで仮想化制御する場合のシーケンスについて説明する。接続構成や構成要素は、図4と同じであるため、図4に示す構成要素と同一の構成要素については同一の参照番号を付して説明を省略し、異なる点についてのみ説明する。   First, a sequence when the internal device 250 is virtualized by the information processing apparatus 100C will be described. Since the connection configuration and the components are the same as those in FIG. 4, the same components as those shown in FIG. 4 are denoted by the same reference numerals and the description thereof is omitted, and only different points will be described.

携帯端末200Cから内部デバイス250の仮想化制御を開始させる。まず、ユーザは、携帯端末200Cで所定の操作を行い、表示デバイス250Aに操作画面を表示させ、入力デバイス250Bで接続操作(例えば、接続ボタンの押下など)を実行すると、仮想デバイス制御部202に対して、内部デバイス250の接続要求が送られる(ステップS501)。   Virtualization control of the internal device 250 is started from the portable terminal 200C. First, when the user performs a predetermined operation on the mobile terminal 200C, displays an operation screen on the display device 250A, and executes a connection operation (for example, pressing a connection button) on the input device 250B, the virtual device control unit 202 On the other hand, a connection request for the internal device 250 is sent (step S501).

仮想デバイス制御部202は、この接続要求を検出すると、仮想化通信部203に表示デバイス250Aおよび入力デバイス250Bそれぞれの仮想デバイス識別情報202Aを送信して内部デバイス250の接続通知を送る(ステップS502)。仮想化通信部203は、この接続通知を受け取ると、通信制御部313を介してデバイス制御装置300Cに接続通知を送信する(ステップS503)。   When detecting the connection request, the virtual device control unit 202 transmits the virtual device identification information 202A of each of the display device 250A and the input device 250B to the virtualization communication unit 203 and sends a connection notification of the internal device 250 (step S502). . Upon receiving this connection notification, the virtual communication unit 203 transmits a connection notification to the device control apparatus 300C via the communication control unit 313 (step S503).

仮想化制御部323は、ステップS501〜ステップS503による接続通知をデバイスドライバ切替部324に通知する(ステップS504)。   The virtualization control unit 323 notifies the device driver switching unit 324 of connection notifications in steps S501 to S503 (step S504).

デバイスドライバ切替部324が接続通知を受け取ると、本シーケンスではデバイス制御装置300C内に携帯端末200Cの内部デバイス250を接続するためのデバイスドライバが無いので、デバイスドライバ切替部324は、内部デバイス250のデバイス情報を基に、デバイス制御装置300C内に仮想デバイス制御部314を生成する。仮想化制御部323は、仮想デバイス制御部314が生成されると、接続通知を仮想デバイス制御部314に通知する(ステップS505)。仮想デバイス制御部314は、内部デバイス250のデバイス情報と当該内部デバイス250の仮想化制御を実行させる情報処理装置100Cの宛先情報を仮想化通信部312に通知する(ステップS506)。   When the device driver switching unit 324 receives the connection notification, there is no device driver for connecting the internal device 250 of the mobile terminal 200C in the device control apparatus 300C in this sequence. Based on the device information, the virtual device control unit 314 is generated in the device control apparatus 300C. When the virtual device control unit 314 is generated, the virtualization control unit 323 notifies the virtual device control unit 314 of a connection notification (step S505). The virtual device control unit 314 notifies the virtualization communication unit 312 of the device information of the internal device 250 and the destination information of the information processing apparatus 100C that executes the virtualization control of the internal device 250 (step S506).

仮想化通信部312は、仮想化制御部323から送られてくる設定情報を記憶し、通信制御部313を介して、設定情報に含まれる宛先情報の情報処理装置100Cに対して、表示デバイス250Aからの接続通知を送信する(ステップS507)。   The virtualization communication unit 312 stores the setting information sent from the virtualization control unit 323, and displays the display device 250A to the information processing apparatus 100C of the destination information included in the setting information via the communication control unit 313. A connection notification is transmitted from (step S507).

情報処理装置100Cは、通信制御部104を介して、デバイス制御装置300Cから受信した接続通知を仮想化制御部103に送る。仮想化制御部103は、この接続通知をアプリケーション101に送る(ステップS508)。アプリケーション101は、接続通知を受け取ると、仮想化制御部103に表示デバイス250Aの仮想化制御の開始を指示し、仮想化制御部103は、携帯端末200Cの表示デバイス250Aの仮想化制御を開始する。   The information processing apparatus 100 </ b> C sends the connection notification received from the device control apparatus 300 </ b> C to the virtualization control unit 103 via the communication control unit 104. The virtualization control unit 103 sends this connection notification to the application 101 (step S508). Upon receiving the connection notification, the application 101 instructs the virtualization control unit 103 to start virtualization control of the display device 250A, and the virtualization control unit 103 starts virtualization control of the display device 250A of the mobile terminal 200C. .

情報処理装置100Cでは、アプリケーション101から表示ドライバ102Aに対して、データ入出力(制御)の要求を送る(ステップS509)。表示ドライバ102Aは、表示デバイス250Aに係るパラメータを要求する第1の転送要求(以下、転送要求1)を生成して、仮想化制御部103に渡す(ステップS510)。   In the information processing apparatus 100C, the application 101 sends a data input / output (control) request to the display driver 102A (step S509). The display driver 102A generates a first transfer request (hereinafter referred to as transfer request 1) for requesting a parameter related to the display device 250A and passes it to the virtualization control unit 103 (step S510).

仮想化制御部103は、転送要求1からデバイス制御装置300Cの仮想化制御部323に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送要求1を生成し、通信制御部313を介して当該デバイス転送要求1をデバイス制御装置300Cに送信する(ステップS511)。   The virtualization control unit 103 takes out only the parameters passed from the transfer request 1 to the virtualization control unit 323 of the device control apparatus 300C as request parameters, and sends a device transfer request 1 including device identification information for specifying the display device 250A. The device transfer request 1 is generated and transmitted to the device control apparatus 300C via the communication control unit 313 (step S511).

仮想化通信部312は、仮想化制御部103から受けたデバイス転送要求1を仮想デバイス制御部314に渡し、仮想デバイス制御部314は仮想化制御部323に通知するパラメータのみを要求パラメータとして取り出し、転送要求2を生成する(ステップS512)。仮想デバイス制御部314は、転送要求2を仮想化制御部323に送信する(ステップS513)。   The virtualization communication unit 312 passes the device transfer request 1 received from the virtualization control unit 103 to the virtual device control unit 314, and the virtual device control unit 314 extracts only the parameters notified to the virtualization control unit 323 as request parameters, A transfer request 2 is generated (step S512). The virtual device control unit 314 transmits the transfer request 2 to the virtualization control unit 323 (step S513).

仮想化制御部323は、転送要求2から携帯端末200Cの仮想化通信部203に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送要求2を生成し、通信制御部313を介して当該デバイス転送要求2を携帯端末200Cに送信する(ステップS514)。   The virtualization control unit 323 extracts only the parameters passed from the transfer request 2 to the virtual communication unit 203 of the mobile terminal 200C as request parameters, and generates a device transfer request 2 including device identification information for specifying the display device 250A. Then, the device transfer request 2 is transmitted to the mobile terminal 200C via the communication control unit 313 (step S514).

携帯端末200Cは、通信制御部204を介してデバイス制御装置300Cからデバイス転送要求2を受け取ると、仮想化通信部203によって当該デバイス転送要求2に含まれるデバイス識別情報に応じてデータ転送を行うべき表示デバイス250Aを特定する。   When the mobile terminal 200C receives the device transfer request 2 from the device control apparatus 300C via the communication control unit 204, the virtual communication unit 203 should perform data transfer according to the device identification information included in the device transfer request 2 The display device 250A is specified.

そして、仮想化通信部203は、デバイス転送要求2に含まれる要求パラメータを、仮想デバイス制御部202に渡すデータ形式に変換した転送要求3を生成し、仮想デバイス制御部202に渡す(ステップS515)。仮想デバイス制御部202は、この転送要求3を表示デバイス250Aに適ったデータ形式に変換した「要求」を表示デバイス250Aに送る(ステップS516)。   Then, the virtualization communication unit 203 generates a transfer request 3 obtained by converting the request parameter included in the device transfer request 2 into a data format to be passed to the virtual device control unit 202, and passes it to the virtual device control unit 202 (step S515). . The virtual device control unit 202 sends a “request” obtained by converting the transfer request 3 into a data format suitable for the display device 250A to the display device 250A (step S516).

ステップS516で情報処理装置100Cから携帯端末200Cの表示デバイス250Aへの要求が送られる。この要求に対する応答は、以下の処理ステップS517〜ステップS524のシーケンスに従って行われる。   In step S516, a request is sent from the information processing apparatus 100C to the display device 250A of the mobile terminal 200C. The response to this request is performed according to the following sequence of processing steps S517 to S524.

表示デバイス250Aは、ステップS516で受け取った要求に対する制御結果である応答データを仮想デバイス制御部202に送る(ステップS517)。仮想デバイス制御部202は、この応答データを仮想化通信部203とのデータ通信に適ったデータ形式(USBデータ)に変換した転送応答3を仮想化通信部203に渡す(ステップS518)。   The display device 250A sends response data, which is a control result for the request received in step S516, to the virtual device control unit 202 (step S517). The virtual device control unit 202 passes the transfer response 3 obtained by converting the response data into a data format (USB data) suitable for data communication with the virtualization communication unit 203 to the virtualization communication unit 203 (step S518).

仮想化通信部203は、転送応答3からデバイス制御装置300Cの仮想化制御部323に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送応答3を生成し、通信制御部204を介して当該デバイス転送応答3をデバイス制御装置300Cに送信する(ステップS519)。   The virtualization communication unit 203 extracts only the parameters passed from the transfer response 3 to the virtualization control unit 323 of the device control apparatus 300C as a request parameter, and sends a device transfer response 3 including device identification information for specifying the display device 250A. The device transfer response 3 is generated and transmitted to the device control apparatus 300C via the communication control unit 204 (step S519).

仮想化制御部323は、仮想化通信部203から受け取ったデバイス転送応答3から仮想デバイス制御部314に通知するパラメータのみを要求パラメータとして取り出し、転送応答3を生成し、仮想デバイス制御部314に通知する(ステップS520)。   The virtualization control unit 323 extracts only the parameters notified to the virtual device control unit 314 from the device transfer response 3 received from the virtualization communication unit 203 as a request parameter, generates the transfer response 3, and notifies the virtual device control unit 314 (Step S520).

仮想デバイス制御部314は、転送応答3から仮想化通信部312に通知するパラメータのみを要求パラメータとして取り出し、仮想化制御を実行させる情報処理装置100Cの宛先情報を加え、転送応答2を生成する。そして、仮想デバイス制御部314は、生成した転送応答2を仮想化通信部312に送信する(ステップS521)。   The virtual device control unit 314 extracts only the parameter notified to the virtualization communication unit 312 from the transfer response 3 as a request parameter, adds the destination information of the information processing apparatus 100C that executes the virtualization control, and generates the transfer response 2. Then, the virtual device control unit 314 transmits the generated transfer response 2 to the virtualization communication unit 312 (step S521).

仮想化通信部312は、転送応答2から情報処理装置100Cの仮想化制御部103に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送応答2を生成し、通信制御部313を介して当該デバイス転送応答2を情報処理装置100Cに送信する(ステップS522)。   The virtualization communication unit 312 extracts only the parameters passed from the transfer response 2 to the virtualization control unit 103 of the information processing apparatus 100C as request parameters, and sends the device transfer response 2 including device identification information for specifying the display device 250A. The device transfer response 2 is generated and transmitted to the information processing apparatus 100C via the communication control unit 313 (step S522).

情報処理装置100Cは、通信制御部104を介してデバイス制御装置300Cからデバイス転送応答2を受け取ると、仮想化制御部103に渡す。仮想化制御部103は、当該デバイス転送応答2から表示ドライバ102Aに渡すパラメータのみを応答パラメータとして取り出して転送応答1を生成し、表示ドライバ102Aに渡す(ステップS523)。   When the information processing apparatus 100C receives the device transfer response 2 from the device control apparatus 300C via the communication control unit 104, the information processing apparatus 100C passes the device transfer response 2 to the virtualization control unit 103. The virtualization control unit 103 extracts only the parameters to be passed from the device transfer response 2 to the display driver 102A as response parameters, generates the transfer response 1, and passes it to the display driver 102A (step S523).

表示ドライバ102Aは、転送応答1から応答パラメータを取り出してアプリケーション101に渡す(ステップS524)。アプリケーション101は、要求に対する応答を確認する。   The display driver 102A extracts the response parameter from the transfer response 1 and passes it to the application 101 (step S524). The application 101 confirms a response to the request.

また、携帯端末200Cから終了操作を行い、デバイス制御装置300Cを介した仮想化制御を終了させる場合について説明する。   A case will be described in which a termination operation is performed from the mobile terminal 200C and the virtualization control via the device control apparatus 300C is terminated.

携帯端末200Cで所定の操作を行い、終了操作(例えば、終了ボタンの押下)を実行すると、仮想デバイス制御部202に対して、制御終了要求が送られる(ステップS525)。   When a predetermined operation is performed on the portable terminal 200C and an end operation (for example, pressing of the end button) is executed, a control end request is sent to the virtual device control unit 202 (step S525).

仮想デバイス制御部202は、制御終了要求を受け取ると、仮想化通信部203に制御終了通知を送る(ステップS526)。   Upon receiving the control end request, the virtual device control unit 202 sends a control end notification to the virtualization communication unit 203 (step S526).

仮想化通信部203は、制御終了通知を受け取ると、通信制御部204を介して、デバイス制御装置300Cに制御終了通知を送信する。デバイス制御装置300Cは、通信制御部313を介して携帯端末200Cからの制御終了通知を受け取ると、この制御終了通知を仮想化制御部323へ送る(ステップS527)。
仮想化制御部323は、デバイスドライバ切替部324に制御終了通知を通知する(ステップS528)。デバイスドライバ切替部324は、制御終了通知を受け取ると、仮想デバイス制御部314へ制御終了通知を通知する(ステップS529)。
Upon receiving the control end notification, the virtualization communication unit 203 transmits the control end notification to the device control apparatus 300C via the communication control unit 204. Upon receiving the control end notification from the portable terminal 200C via the communication control unit 313, the device control apparatus 300C sends this control end notification to the virtualization control unit 323 (step S527).
The virtualization control unit 323 notifies the device driver switching unit 324 of a control end notification (step S528). Upon receiving the control end notification, the device driver switching unit 324 notifies the virtual device control unit 314 of the control end notification (step S529).

仮想デバイス制御部314は、制御終了通知を受け取ると、情報処理装置100Cの宛先情報を付加し、仮想化通信部312へ制御終了通知を通知する(ステップS530)。   When receiving the control end notification, the virtual device control unit 314 adds the destination information of the information processing apparatus 100C, and notifies the virtualization communication unit 312 of the control end notification (step S530).

仮想化通信部312は、制御終了通知を受け取ると、通信制御部313を介して、情報処理装置100Cに制御終了通知を送信する(ステップS531)。   Upon receiving the control end notification, the virtualization communication unit 312 transmits a control end notification to the information processing apparatus 100C via the communication control unit 313 (step S531).

情報処理装置100Cは、通信制御部104を介してデバイス制御装置300Cからの制御終了通知を受け取ると、この制御終了通知を仮想化制御部103へ送る。仮想化制御部103は、制御終了通知を受け取ると、アプリケーション101に対して表示デバイス250Aの制御終了通知を送る(ステップS532)。   When the information processing apparatus 100 </ b> C receives the control end notification from the device control apparatus 300 </ b> C via the communication control unit 104, the information processing apparatus 100 </ b> C sends the control end notification to the virtualization control unit 103. When receiving the control end notification, the virtualization control unit 103 sends a control end notification of the display device 250A to the application 101 (step S532).

アプリケーション101は、制御終了通知を受け取ると、仮想化制御部103に表示デバイス250Aの仮想化制御の終了を指示し、仮想化制御部103は、携帯端末200Cの表示デバイス250Aの仮想化制御を終了する。   Upon receiving the control end notification, the application 101 instructs the virtualization control unit 103 to end the virtualization control of the display device 250A, and the virtualization control unit 103 ends the virtualization control of the display device 250A of the mobile terminal 200C. To do.

ここまでが、携帯端末200Cの内部デバイス250を情報処理装置100Cで仮想化制御する場合のシーケンスの説明である。   This is the description of the sequence in the case where the internal device 250 of the mobile terminal 200C is virtualized by the information processing apparatus 100C.

次に、本シーケンスでは、携帯端末200Cの内部デバイス250をデバイス制御装置300Cで仮想化制御する際の動作を説明する。   Next, in this sequence, an operation when the internal device 250 of the portable terminal 200C is virtualized by the device control apparatus 300C will be described.

携帯端末200Cから内部デバイス250の仮想化制御を開始させる。まず、ユーザは、携帯端末200Cで所定の操作を行い、表示デバイス250Aに操作画面を表示させ、入力デバイス250Bで接続操作(例えば、接続ボタンの押下など)を実行すると、仮想デバイス制御部202に対して、内部デバイス250の接続要求が送られる(ステップS601)。   Virtualization control of the internal device 250 is started from the portable terminal 200C. First, when the user performs a predetermined operation on the mobile terminal 200C, displays an operation screen on the display device 250A, and executes a connection operation (for example, pressing a connection button) on the input device 250B, the virtual device control unit 202 In response, a connection request for the internal device 250 is sent (step S601).

仮想デバイス制御部202は、この接続要求を検出すると、仮想化通信部203に表示デバイス250Aおよび入力デバイス250Bそれぞれの仮想デバイス識別情報202Aを送信して内部デバイス250の接続通知を送る(ステップS602)。仮想化通信部203は、この接続通知を受け取ると、通信制御部313を介してデバイス制御装置300Cに接続通知を送信する(ステップS603)。   When detecting the connection request, the virtual device control unit 202 transmits the virtual device identification information 202A of each of the display device 250A and the input device 250B to the virtualization communication unit 203 and sends a connection notification of the internal device 250 (step S602). . Upon receiving this connection notification, the virtual communication unit 203 transmits a connection notification to the device control apparatus 300C via the communication control unit 313 (step S603).

デバイス制御装置300Cは、携帯端末200Cから接続通知を受け取ると、通信制御部313を介して仮想化制御部323に接続通知を送る。仮想化制御部323では、接続通知から携帯端末200Cの内部デバイス250に対する仮想化ブリッジ設定を判断し、仮想化制御を開始する(ステップS604)。   Upon receiving a connection notification from the mobile terminal 200C, the device control apparatus 300C sends a connection notification to the virtualization control unit 323 via the communication control unit 313. The virtualization control unit 323 determines the virtualization bridge setting for the internal device 250 of the mobile terminal 200C from the connection notification, and starts the virtualization control (step S604).

デバイスドライバ切替部324が接続通知を受け取ると、本シーケンスではデバイス制御装置300C内に内部デバイス250を接続するためのデバイスドライバが有るので、デバイスドライバ切替部324は、仮想デバイス制御部314を作ることなく、デバイス制御装置300C内のアプリケーション321に接続通知を送信する(ステップS605)。   When the device driver switching unit 324 receives the connection notification, the device driver switching unit 324 creates the virtual device control unit 314 because there is a device driver for connecting the internal device 250 in the device control apparatus 300C in this sequence. Instead, a connection notification is transmitted to the application 321 in the device control apparatus 300C (step S605).

デバイス制御装置300Cでは、アプリケーション321から表示ドライバ322Aに対して、データ入出力(制御)の要求を送る(ステップS606)。   In the device control apparatus 300C, the application 321 sends a data input / output (control) request to the display driver 322A (step S606).

表示ドライバ322Aは、アプリケーション321からの要求を転送要求1として仮想化制御部323に通知する(ステップS607)。   The display driver 322A notifies the virtualization control unit 323 of the request from the application 321 as the transfer request 1 (step S607).

仮想化制御部323は、転送要求1から携帯端末200Cの仮想化通信部203に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送要求1を生成し、通信制御部313を介して当該デバイス転送要求1を携帯端末200Cに送信する(ステップS608)。   The virtualization control unit 323 extracts only the parameters passed from the transfer request 1 to the virtual communication unit 203 of the mobile terminal 200C as request parameters, and generates a device transfer request 1 including device identification information for specifying the display device 250A. Then, the device transfer request 1 is transmitted to the mobile terminal 200C via the communication control unit 313 (step S608).

携帯端末200Cは、通信制御部204を介してデバイス制御装置300Cからデバイス転送要求1を受け取ると、仮想化通信部203によって当該デバイス転送要求1に含まれるデバイス識別情報に応じてデータ転送を行うべき表示デバイス250Aを特定する。   When the mobile terminal 200C receives the device transfer request 1 from the device control apparatus 300C via the communication control unit 204, the virtual communication unit 203 should perform data transfer according to the device identification information included in the device transfer request 1 The display device 250A is specified.

そして、仮想化通信部203は、デバイス転送要求1に含まれる要求パラメータを、仮想デバイス制御部202に渡すデータ形式に変換した転送要求2を生成し、仮想デバイス制御部202に渡す(ステップS609)。仮想デバイス制御部202は、この転送要求2を表示デバイス250Aに適ったデータ形式に変換した「要求」を表示デバイス250Aに送る(ステップS610)。   Then, the virtualization communication unit 203 generates a transfer request 2 in which the request parameter included in the device transfer request 1 is converted into a data format to be passed to the virtual device control unit 202, and passes it to the virtual device control unit 202 (step S609). . The virtual device control unit 202 sends a “request” obtained by converting the transfer request 2 into a data format suitable for the display device 250A to the display device 250A (step S610).

ステップS610で情報処理装置100Cから携帯端末200Cの表示デバイス250Aへの要求が送られる。この要求に対する応答は、以下の処理ステップS611〜ステップS615のシーケンスに従って行われる。   In step S610, a request is sent from the information processing apparatus 100C to the display device 250A of the mobile terminal 200C. The response to this request is performed according to the following processing steps S611 to S615.

表示デバイス250Aは、ステップS610で受け取った要求に対する制御結果である応答データを仮想デバイス制御部202に送る(ステップS611)。仮想デバイス制御部202は、この応答データを仮想化通信部203とのデータ通信に適ったデータ形式(USBデータ)に変換した転送応答2を仮想化通信部203に渡す(ステップS612)。   The display device 250A sends response data, which is a control result for the request received in step S610, to the virtual device control unit 202 (step S611). The virtual device control unit 202 passes the transfer response 2 obtained by converting the response data into a data format (USB data) suitable for data communication with the virtual communication unit 203 to the virtual communication unit 203 (step S612).

仮想化通信部203は、転送応答2からデバイス制御装置300Cの仮想化制御部323に渡すパラメータのみを要求パラメータとして取り出し、表示デバイス250Aを特定するためのデバイス識別情報を含んだデバイス転送応答2を生成し、通信制御部204を介して当該デバイス転送応答2をデバイス制御装置300Cに送信する(ステップS613)。   The virtualization communication unit 203 extracts only the parameters passed from the transfer response 2 to the virtualization control unit 323 of the device control apparatus 300C as request parameters, and sends a device transfer response 2 including device identification information for specifying the display device 250A. The device transfer response 2 is generated and transmitted to the device control apparatus 300C via the communication control unit 204 (step S613).

仮想化制御部323は、仮想化通信部203から受け取ったデバイス転送応答2から表示ドライバ322Aに通知するパラメータのみを要求パラメータとして取り出し、転送応答1を生成し、表示ドライバ322Aに通知する(ステップS614)。   The virtualization control unit 323 extracts only the parameter notified to the display driver 322A from the device transfer response 2 received from the virtualization communication unit 203 as a request parameter, generates the transfer response 1, and notifies the display driver 322A (step S614). ).

表示ドライバ322Aは、転送応答1から応答パラメータを取り出してアプリケーション321に渡す(ステップS615)。アプリケーション321は、要求に対する応答を確認する。   The display driver 322A extracts the response parameter from the transfer response 1 and passes it to the application 321 (step S615). The application 321 confirms the response to the request.

携帯端末200Cで所定の操作を行い、終了操作(例えば、終了ボタンの押下)を実行すると、仮想デバイス制御部202に対して、制御終了要求が送られる(ステップS616)。   When a predetermined operation is performed on the portable terminal 200C and an end operation (for example, pressing of an end button) is executed, a control end request is sent to the virtual device control unit 202 (step S616).

仮想デバイス制御部202は、制御終了要求を受け取ると、仮想化通信部203に制御終了通知を送る(ステップS617)。   Upon receiving the control end request, the virtual device control unit 202 sends a control end notification to the virtualization communication unit 203 (step S617).

仮想化通信部203は、制御終了通知を受け取ると、通信制御部204を介して、デバイス制御装置300Cに制御終了通知を送信する。デバイス制御装置300Cは、通信制御部313を介して携帯端末200Cからの制御終了通知を受け取ると、この制御終了通知を仮想化制御部323へ送る(ステップS618)。   Upon receiving the control end notification, the virtualization communication unit 203 transmits the control end notification to the device control apparatus 300C via the communication control unit 204. Upon receiving the control end notification from the portable terminal 200C via the communication control unit 313, the device control apparatus 300C sends this control end notification to the virtualization control unit 323 (step S618).

仮想化制御部323は、デバイスドライバ切替部324に制御終了通知を通知する(ステップS619)。   The virtualization control unit 323 notifies the device driver switching unit 324 of a control end notification (step S619).

デバイスドライバ切替部324は、制御終了通知をアプリケーション321に通知する(ステップS620)。   The device driver switching unit 324 notifies the application 321 of a control end notification (step S620).

このように、第4の実施形態では、サーバ機能とクライアント機能を連携させ、デバイス制御装置300C内にデバイスドライバ切替部324と仮想デバイス制御部314を具備することで、デバイス制御装置300C内に内部デバイス250、または、外部デバイス400を接続するためのデバイスドライバの有無、および、内部デバイスの仮想化制御の接続先に関する宛先情報の設定に基づき、内部デバイス250を仮想化制御する接続先を切り替えることが可能になる。   As described above, in the fourth embodiment, the server function and the client function are linked, and the device control unit 300C includes the device driver switching unit 324 and the virtual device control unit 314. Switching the connection destination for virtualization control of the internal device 250 based on the presence / absence of a device driver for connecting the device 250 or the external device 400 and setting of destination information related to the connection destination of the internal device virtualization control Is possible.

加えて、今回は仮想化制御の接続完了後、データの送受信時にデバイスドライバ切替部324を通らない場合について説明したが、データ送受信時にデバイスドライバ切替部324を通る場合も同様に考えられる。   In addition, although the case where the device driver switching unit 324 does not pass through the transmission / reception of data after the completion of the connection of the virtualization control has been described this time, the case of passing through the device driver switching unit 324 during the data transmission / reception can be similarly considered.

また、第4の実施形態で説明した、デバイスドライバ切替部324と仮想デバイス制御部314を使用する点や、仮想化制御の接続先を切り替えることができるという点については、第3の実施形態でも同様に適用できる。   In addition, the point that the device driver switching unit 324 and the virtual device control unit 314 described in the fourth embodiment are used and the connection destination of the virtualization control can be switched also in the third embodiment. The same applies.

以上、本発明について実施形態に基づいて説明したが、本発明は、これらの実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。   As mentioned above, although this invention was demonstrated based on embodiment, this invention is not limited to these embodiment, Various forms of the range which does not deviate from the summary of this invention are also contained in this invention.

上述した第1〜第4の実施形態に示すデバイス制御システムは、情報処理装置100、携帯端末200、デバイス制御装置300、および外部デバイス400がそれぞれ1台で構成されているが、情報処理装置100、携帯端末200、デバイス制御装置300、および外部デバイス400の台数は図示の例に限定されるものではない。   In the device control systems shown in the first to fourth embodiments described above, the information processing apparatus 100, the mobile terminal 200, the device control apparatus 300, and the external device 400 are each configured as one unit. The numbers of the mobile terminal 200, the device control apparatus 300, and the external device 400 are not limited to the illustrated example.

また、デバイス制御装置300は、複合機などのオフィス機器に限定されるものではなく、様々な組込み装置、携帯電話機、又はモバイル端末機器であってもよい。   The device control apparatus 300 is not limited to an office device such as a multifunction peripheral, and may be various embedded devices, mobile phones, or mobile terminal devices.

さらに、デバイス制御装置300に接続される外部デバイス400の通信インターフェースは、USB又はHDMI(登録商標)に限定されるものではなく、他のインターフェースに準拠するインターフェースを用いるようにしてもよい。   Furthermore, the communication interface of the external device 400 connected to the device control apparatus 300 is not limited to USB or HDMI (registered trademark), and an interface compliant with another interface may be used.

外部デバイス400は、例えば、キーボード、マウス、又はカードリーダのような入力機器およびディスプレイなどの表示機器(出力機器)、プリンタ、スキャナなどの単機能周辺機器である。また、外部デバイス400は印刷機能の他に、スキャン機能、コピー機能、およびストレージ機能などを備えた多機能周辺機器であってもよく、他の入出力機器であってもよい。なお、デバイス制御装置300と外部デバイス400とは一体化するようにしてもよい。   The external device 400 is, for example, an input device such as a keyboard, a mouse, or a card reader, a display device such as a display (output device), a single function peripheral device such as a printer or a scanner. The external device 400 may be a multifunction peripheral device having a scan function, a copy function, a storage function, and the like in addition to the print function, or may be another input / output device. Note that the device control apparatus 300 and the external device 400 may be integrated.

例えば、上記の実施形態の機能を制御方法として、この制御方法をデバイス制御装置に実行させるようにすればよい。また、上述の実施形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムをデバイス制御装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。   For example, the function of the above-described embodiment may be used as a control method, and this control method may be executed by the device control apparatus. Further, the program having the functions of the above-described embodiments may be used as a control program, and the control program may be executed by a computer included in the device control apparatus. The control program is recorded on a computer-readable recording medium, for example.

また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPUなど)がプログラムを読み出して実行する処理である。   The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various recording media, and the computer (or CPU, MPU, etc.) of the system or apparatus reads the program. To be executed.

100,100A、100C 情報処理装置
200、200A、200B、200C 携帯端末
300、300A、300B、300C デバイス制御装置
400、400C 外部デバイス
100, 100A, 100C Information processing device 200, 200A, 200B, 200C Mobile terminal 300, 300A, 300B, 300C Device control device 400, 400C External device

Claims (8)

ネットワークを介して接続された第一の情報処理装置によって自装置に接続されている第一のデバイスを制御するとともに、ネットワークを介して接続された第二の情報処理装置に接続されている第二のデバイスを制御するデバイス制御装置であって、
前記第一のデバイスを制御するデバイス制御手段と、
前記第一の情報処理装置から送られてくる第1の制御要求に従って前記デバイス制御手段を制御し、前記第一の情報処理装置に前記第一のデバイスが直接接続しているようにシミュレートさせる仮想化通信手段と、
前記第二のデバイスを直接接続しているようにシミュレートする仮想化制御手段と、
前記第二のデバイスに対する第2の制御要求を生成し、前記第二の情報処理装置を介して前記第二のデバイスに送信する制御要求送信手段と、を備えること
を特徴とするデバイス制御装置。
The first information processing apparatus connected via the network controls the first device connected to the own apparatus, and the second information apparatus is connected to the second information processing apparatus connected via the network. A device control apparatus for controlling the device of
Device control means for controlling the first device;
The device control means is controlled in accordance with a first control request sent from the first information processing apparatus, and the first information processing apparatus is simulated to be directly connected to the first device. Virtualized communication means;
Virtualization control means for simulating the second device being directly connected;
And a control request transmitting unit configured to generate a second control request for the second device and transmit the second control request to the second device via the second information processing apparatus.
前記第二のデバイスを直接制御する第1の制御モードと前記第二のデバイスを間接制御する第2の制御モードとを有し、
前記仮想化制御手段は、前記第1の制御モードにおいては自ら前記第二のデバイスを制御し、前記第2の制御モードにおいては前記仮想化通信手段と接続し、前記第一の情報処理装置と前記第二の情報処理装置のデータ送受信を中継すること
を特徴とする請求項1に記載のデバイス制御装置。
A first control mode for directly controlling the second device and a second control mode for indirectly controlling the second device;
The virtualization control means controls the second device itself in the first control mode, and connects to the virtualization communication means in the second control mode, and the first information processing apparatus The device control apparatus according to claim 1, wherein data transmission / reception of the second information processing apparatus is relayed.
自らが具備する所定の機能を前記第一のデバイスとして識別させるための仮想デバイス識別情報を記憶する識別情報記憶手段と、
前記仮想デバイス識別情報を前記第一の情報処理装置に送信する識別情報送信手段と、
前記第一の情報処理装置が前記仮想デバイス識別情報に応じて識別した前記第一のデバイスを制御する際、前記第一のデバイスとの間のデータ送受信は第1のデータ形式に変換し、前記第一の情報処理装置との間のデータ送受信は第2のデータ形式に変換して制御する仮想デバイス制御手段と、
を有することを特徴とする請求項1又は2に記載のデバイス制御装置。
Identification information storage means for storing virtual device identification information for identifying a predetermined function of the device as the first device;
Identification information transmitting means for transmitting the virtual device identification information to the first information processing apparatus;
When the first information processing apparatus controls the first device identified according to the virtual device identification information, data transmission / reception with the first device is converted into a first data format, Virtual device control means for converting and controlling data transmission / reception with the first information processing apparatus to the second data format;
The device control apparatus according to claim 1, further comprising:
前記第二のデバイスを制御する制御ドライバを前記デバイス制御装置内に具備するか否かを判断するデバイスドライバ切替手段を更に備え、
前記デバイスドライバ切替手段は、
前記第二のデバイスを制御するための前記制御ドライバを具備すると判断した場合、前記第1の制御モードを選択し、
前記第二のデバイスを制御するための前記制御ドライバを具備しないと判断した場合、前記第2の制御モードを選択することを特徴とする請求項3に記載のデバイス制御装置。
Device driver switching means for determining whether or not the device control apparatus includes a control driver for controlling the second device;
The device driver switching means is
If it is determined that the control driver for controlling the second device is provided, the first control mode is selected,
The device control apparatus according to claim 3, wherein when it is determined that the control driver for controlling the second device is not provided, the second control mode is selected.
ネットワークを介して接続された第一の情報処理装置によって自装置に接続されている第一のデバイスを制御するとともに、ネットワークを介して接続された第二の情報処理装置に接続されている第二のデバイスを制御するデバイス制御装置におけるデバイス制御方法であって、
前記第一のデバイスを制御するデバイス制御ステップと、
前記第一の情報処理装置から送られてくる第1の制御要求に従ってデバイス制御手段を制御し、前記第一の情報処理装置に前記第一のデバイスが直接接続しているようにシミュレートさせる仮想化通信ステップと、
前記第二のデバイスを直接接続しているようにシミュレートする仮想化制御ステップと、
前記第二のデバイスに対する第2の制御要求を生成し、前記第二の情報処理装置を介して前記第二のデバイスに送信する制御要求送信ステップと、を備えること
を特徴とするデバイス制御方法。
The first information processing apparatus connected via the network controls the first device connected to the own apparatus, and the second information apparatus is connected to the second information processing apparatus connected via the network. A device control method in a device control apparatus for controlling a device of
A device control step of controlling the first device;
A virtual that controls device control means in accordance with a first control request sent from the first information processing apparatus and simulates that the first device is directly connected to the first information processing apparatus. Communication step;
A virtualization control step of simulating the second device being directly connected;
A control request transmission step of generating a second control request for the second device and transmitting the second control request to the second device via the second information processing apparatus.
前記第二のデバイスを直接制御する第1の制御モードと前記第二のデバイスを間接制御する第2の制御モードとを有し、
前記仮想化制御ステップは、前記第1の制御モードにおいては自ら前記第二のデバイスを制御し、前記第2の制御モードにおいては仮想化通信手段と接続し、前記第一の情報処理装置と前記第二の情報処理装置のデータ送受信を中継すること
を特徴とする請求項5に記載のデバイス制御方法。
A first control mode for directly controlling the second device and a second control mode for indirectly controlling the second device;
The virtualization control step controls the second device by itself in the first control mode, and connects to the virtualization communication means in the second control mode, and the first information processing apparatus and the 6. The device control method according to claim 5, wherein data transmission / reception of the second information processing apparatus is relayed.
前記デバイス制御装置が具備する所定の機能を前記第一のデバイスとして識別させるための仮想デバイス識別情報を記憶する識別情報記憶ステップと、
前記仮想デバイス識別情報を前記第一の情報処理装置に送信する識別情報送信ステップと、
前記第一の情報処理装置が前記仮想デバイス識別情報に応じて識別した前記第一のデバイスを制御する際、前記第一のデバイスとの間のデータ送受信は第1のデータ形式に変換し、前記第一の情報処理装置との間のデータ送受信は第2のデータ形式に変換して制御する仮想デバイス制御ステップと、
を有することを特徴とする請求項5又は6に記載のデバイス制御方法。
An identification information storage step for storing virtual device identification information for identifying a predetermined function of the device control apparatus as the first device;
An identification information transmission step of transmitting the virtual device identification information to the first information processing apparatus;
When the first information processing apparatus controls the first device identified according to the virtual device identification information, data transmission / reception with the first device is converted into a first data format, A virtual device control step of controlling data transmission / reception with the first information processing apparatus by converting to a second data format;
The device control method according to claim 5, wherein the device control method comprises:
デバイスドライバ切替手段が、前記第二のデバイスを制御するための制御を前記デバイス制御装置内に具備するか否かを判断するデバイスドライバ切替ステップを更に備え、
前記デバイスドライバ切替ステップは、
前記第二のデバイスを制御するための前記制御ドライバを具備すると判断した場合、前記第1の制御モードを選択し、
前記第二のデバイスを制御するための前記制御ドライバを具備しないと判断した場合、前記第2の制御モードを選択することを特徴とする請求項4乃至6の何れか1項に記載のデバイス制御方法。
The device driver switching means further comprises a device driver switching step for determining whether or not the device control apparatus has a control for controlling the second device,
The device driver switching step includes:
If it is determined that the control driver for controlling the second device is provided, the first control mode is selected,
The device control according to any one of claims 4 to 6, wherein when it is determined that the control driver for controlling the second device is not provided, the second control mode is selected. Method.
JP2013267488A 2012-12-27 2013-12-25 Device control apparatus and control method thereof Active JP6298292B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013267488A JP6298292B2 (en) 2012-12-27 2013-12-25 Device control apparatus and control method thereof

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012286371 2012-12-27
JP2012286371 2012-12-27
JP2013267488A JP6298292B2 (en) 2012-12-27 2013-12-25 Device control apparatus and control method thereof

Publications (3)

Publication Number Publication Date
JP2014142924A true JP2014142924A (en) 2014-08-07
JP2014142924A5 JP2014142924A5 (en) 2017-01-26
JP6298292B2 JP6298292B2 (en) 2018-03-20

Family

ID=51424122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013267488A Active JP6298292B2 (en) 2012-12-27 2013-12-25 Device control apparatus and control method thereof

Country Status (1)

Country Link
JP (1) JP6298292B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1211781A (en) * 1996-09-01 1999-03-24 孙德艳 Method for making phonetic trade mark
CN1619514A (en) * 2003-11-20 2005-05-25 索尼株式会社 Information processing system, information processor and its method and program
JP2007219711A (en) * 2006-02-15 2007-08-30 Silex Technology Inc Remote device control program
US20110271027A1 (en) * 2010-04-30 2011-11-03 Wee Liang Z Remote access of peripheral device connected to serial bus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1211781A (en) * 1996-09-01 1999-03-24 孙德艳 Method for making phonetic trade mark
CN1619514A (en) * 2003-11-20 2005-05-25 索尼株式会社 Information processing system, information processor and its method and program
JP2005157419A (en) * 2003-11-20 2005-06-16 Sony Corp Information processing system, information processor and method, and program
JP2007219711A (en) * 2006-02-15 2007-08-30 Silex Technology Inc Remote device control program
US20110271027A1 (en) * 2010-04-30 2011-11-03 Wee Liang Z Remote access of peripheral device connected to serial bus
JP2011238216A (en) * 2010-04-30 2011-11-24 International Business Maschines Corporation System, method, computer program, and computing device for remote access to peripheral device connected to serial bus (remote access to peripheral device connected to serial bus)

Also Published As

Publication number Publication date
JP6298292B2 (en) 2018-03-20

Similar Documents

Publication Publication Date Title
JP4870621B2 (en) Information processing apparatus, method, system, program, and recording medium thereof
JP6816781B2 (en) Print control program, information processing device and information processing system
KR101792492B1 (en) Remote support apparatus, electronic apparatus, remote support method, and storage medium
CN103973935A (en) Image processing device and method, information processing terminal and method
JP2015106798A (en) Communication device, communication system, control method and program of communication device
JP6182919B2 (en) Communication program and communication device
CN110221793B (en) Method of searching for image forming apparatus, mobile terminal, and computer-readable medium
JP2016091434A (en) Information processing device, device control device, control method thereof, and device control system
JP6216510B2 (en) Mobile terminal, mobile terminal control method, and device control system
JP6298292B2 (en) Device control apparatus and control method thereof
KR101764513B1 (en) Device control apparatus, control method thereof, and device control system
JP6212367B2 (en) Information processing apparatus, portable terminal, device control system, and control method thereof
JP6648813B2 (en) Image forming apparatus, terminal device, error screen providing method, and computer program
JP2017081017A (en) Information processing system and information processing method
JP6477239B2 (en) Information processing apparatus, connection control method, and program
WO2016204100A1 (en) Device controller, control method thereof, and device control system
JP6504759B2 (en) APPARATUS, COMPUTER PROGRAM, AND METHOD
JP2017142631A (en) Device control apparatus, control method thereof, and device control system
JP6515551B2 (en) Image forming apparatus, authentication information management system, and processing method and program therefor
JP2015220587A (en) Radio communication system, communication method of the same, and program
JP2018190046A (en) Device controller, device control method, and program
JP2021087194A (en) Communication control apparatus, communication control method and program
JP2017010192A (en) Device control apparatus, control method thereof, and device control system
JP2016006574A (en) Communication device and control method, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180223

R150 Certificate of patent or registration of utility model

Ref document number: 6298292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150