WO2016204100A1 - Device controller, control method thereof, and device control system - Google Patents

Device controller, control method thereof, and device control system Download PDF

Info

Publication number
WO2016204100A1
WO2016204100A1 PCT/JP2016/067468 JP2016067468W WO2016204100A1 WO 2016204100 A1 WO2016204100 A1 WO 2016204100A1 JP 2016067468 W JP2016067468 W JP 2016067468W WO 2016204100 A1 WO2016204100 A1 WO 2016204100A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
virtual composite
control
virtual
control apparatus
Prior art date
Application number
PCT/JP2016/067468
Other languages
French (fr)
Japanese (ja)
Inventor
峻介 須田
命 根岸
太郎 寺社
Original Assignee
キヤノンイメージングシステムズ株式会社
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
Priority claimed from JP2015123561A external-priority patent/JP2017010192A/en
Priority claimed from JP2015255168A external-priority patent/JP2017117400A/en
Priority claimed from JP2016023179A external-priority patent/JP2017142631A/en
Application filed by キヤノンイメージングシステムズ株式会社 filed Critical キヤノンイメージングシステムズ株式会社
Publication of WO2016204100A1 publication Critical patent/WO2016204100A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof

Definitions

  • the present invention relates to a device control apparatus, a control method thereof, and a device control system for processing various requests sent from an information processing apparatus connected via a network.
  • Patent Document 1 For example, a system has been proposed in which input / output devices such as a display terminal, a mouse, and a keyboard are directly connected to a server device for communication (see Patent Document 1).
  • a display terminal attempts to connect to a server device, the server device performs authentication. Thereafter, a session is started, and the user connects an input / output device such as a mouse or a keyboard based on information displayed on the UI of the display terminal.
  • an input / output device such as a mouse or a keyboard based on information displayed on the UI of the display terminal.
  • devices such as a mouse and a keyboard belonging to the same group as a user having a display terminal are grouped.
  • an information processing device controls an internal device that is a predetermined function of the device control device or an external device directly connected to the device control device and a different device (internal device, external device) on the network, Regardless of the number of sessions based on the number of devices and external devices, a device control apparatus capable of controlling one or more devices (internal device, external device) between the information processing apparatus and the device control apparatus, its control method, and device control system The purpose is to provide.
  • an internal device or an external device included in one or more device control apparatuses on a network is controlled from an information processing apparatus, a plurality of devices are combined and recognized as one device to use a session.
  • a plurality of devices are combined and recognized as one device to use a session.
  • the device control apparatus is a device control apparatus that is connected to an information processing apparatus via a network and recognizes at least one predetermined function as an internal device, Identification information storage means for storing virtual composite device identification information for identifying as a virtual composite device composed of the internal device and / or an external device connected to the device controller, and the virtual composite device identification information An identification information transmitting means for transmitting to the information processing apparatus; and the internal device when controlling the virtual composite device identified by the information processing apparatus based on the virtual composite device identification information in accordance with a control request from the information processing apparatus. Or data communication between the external device and the virtual composite device. And the virtual composite device and the device control apparatus perform data communication in a first data format, and the information processing apparatus and the device control apparatus perform data communication and control in a second data format. Control means.
  • an intermediary device is an intermediary device connected to an information processing device and a device control device via a network, and the at least one predetermined device in the device control device Identification information storage means for storing virtual composite device identification information for recognizing a function combining functions as a virtual composite device connected to the mediation apparatus, and identification for transmitting the virtual composite device identification information to the information processing apparatus Information transmission means; device information management means for updating and storing connection apparatus information for managing information of the own apparatus and connection device held by the information processing apparatus and the device control apparatus; and A device configuration management means for selecting a configuration of a composite device and a device that is an element thereof; When the processing device controls the virtual composite device identified based on the virtual composite device identification information in accordance with a control request from the information processing device, second data is transmitted between the information processing device and the device control device.
  • Virtualization control means for performing data communication and controlling in a format.
  • an internal device included in a device control apparatus, an external device directly connected to the device control apparatus, and different devices on the network are controlled from the information processing apparatus via the network.
  • the number of sessions in data communication between the device control apparatus and the information processing apparatus can be reduced regardless of the number of internal devices and external devices of the device control apparatus.
  • the information processing apparatus by allowing the information processing apparatus to recognize a plurality of devices (internal devices and external devices) as one device, it is possible to centrally manage connection or disconnection of sessions between one or more device control apparatuses and the information processing apparatus. It becomes possible to improve the property.
  • FIG. 1 is a block diagram schematically showing a configuration of an example of a device control system according to a first embodiment of the present invention. It is a figure which shows an example of the virtual device identification information shown in FIG. It is a figure which shows an example of the virtual composite device identification information shown in FIG. It is a figure which shows the device structure of the virtual composite device in the device control system shown in FIG.
  • FIG. 3 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of an internal device provided in the device control apparatus and an external device connected to the device control apparatus in the device control system illustrated in FIG. 1.
  • FIG. 8 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of a virtual composite device in the device control system illustrated in FIG. 7.
  • FIG. 8 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of a virtual composite device in the device control system illustrated in FIG. 7.
  • FIG. 11 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of an internal device provided in the device control apparatus in the device control system illustrated in FIG. 10.
  • FIG. 11 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of an internal device provided in the device control apparatus in the device control system illustrated in FIG. 10.
  • It is a flowchart for demonstrating the device selection process performed by the device control apparatus shown in FIG.
  • FIG. 1 is a block diagram schematically showing an example of the configuration of a device control system according to an embodiment of the present invention.
  • an information processing apparatus 100 is connected to a device control apparatus 200 via a local area network (LAN) or a wide area network (WAN).
  • the LAN and WAN are configured by a wired line or a wireless line.
  • the external device 300 is locally connected to the device control apparatus 200 through, for example, a communication interface (for example, USB or HDMI (registered trademark)).
  • a communication interface for example, USB or HDMI (registered trademark)
  • the communication interface will be described as USB.
  • the information processing apparatus 100 is an apparatus such as a personal computer (PC) used by a user.
  • the hardware configuration includes a CPU, an input unit, a display unit, a memory, a communication unit (both not shown), and a storage unit 110, and these hardware units are connected to each other via an internal bus.
  • the CPU controls the entire information processing apparatus 100.
  • the input unit includes, for example, a keyboard and a mouse.
  • a liquid crystal monitor is used as the display unit.
  • the memory is a RAM, a ROM, or the like.
  • the communication unit is an interface for connecting to a LAN and a WAN, and performs data transmission / reception with the device control apparatus 200.
  • the information processing apparatus 100 can transmit / receive data to / from the external device 300 locally connected to the device control apparatus 200 and the internal device 400 provided in the device control apparatus 200.
  • the storage unit 110 stores an operating system that is software (hereinafter referred to as “OS”: not shown), an application 101, a device driver 102, a virtualization control unit 103, and a communication control unit 104, as well as other functions. Such software is stored. These software are read into the memory and operate according to the control of the CPU.
  • OS software
  • the application 101 instructs the device driver 102 to perform a data input / output request, thereby combining an external device 300 connected to the device control apparatus 200 and an internal device 400 provided in the device control apparatus 200 (hereinafter referred to as a composite device).
  • Software for controlling a virtual composite device
  • the device driver 102 is a functional unit for controlling the external device 300, the internal device 400, and the virtual composite device 500.
  • a data input / output request from the OS or the application 101 is converted into data in a data format corresponding to the external device 300, the internal device 400, and the virtual composite device 500 of FIG.
  • the control command is sent to the virtualization control unit 103.
  • the device driver 102 notifies the application 101 of a response to the control command.
  • the device driver 102 is software provided by a manufacturer that is generally manufactured, and the information processing apparatus 100 controls the external device 300, the internal device 400, and the virtual composite device 500 by the device driver 102 corresponding to each device. Can do.
  • 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.
  • a control command that is, a data input / output request
  • USB data packet data
  • the virtualization control unit 103 directly responds to the data transmission / reception request to the external device 300, the internal device 400, and the virtual composite device 500 by the external device 300, the internal device 400, and the virtual composite device 500 to the information processing apparatus 100.
  • a function (hereinafter referred to as a “virtualization control function”) for simulating the same behavior as when connected locally (locally).
  • the information processing apparatus 100 has the same connection state of the external device 300, the internal device 400, and the virtual composite device 500 as when the external device 300, the internal device 400, and the virtual composite device 500 are locally connected. It is possible to transmit and receive data by recognizing that this is the state.
  • 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 200 via the LAN and WAN, and the device control apparatus 200 and the information processing apparatus 100. Data transmission / reception is controlled between them.
  • the communication control unit 104 starts and disconnects a session between the device control apparatus 200 and the information processing apparatus 100 in response to a data transmission / reception request sent from the application 101 or the device driver 102 via the virtualization control unit 103. Take control. Sessions between the device control apparatus 200 and the information processing apparatus 100 are generated for the number of devices that the information processing apparatus 100 performs virtualization control (for the number of internal devices, external devices, and virtual composite devices). ⁇ Configuration of Device Control Device 200>
  • the device control apparatus 200 is a peripheral device such as a printer or a multifunction peripheral, for example, and includes a CPU, a memory, a communication unit, and a storage unit (both not shown) as a hardware configuration, and an internal device 400. Yes. Details of the configuration of the internal device 400 will be described later.
  • the CPU controls the entire device control apparatus 200.
  • the input device 208 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.
  • a liquid crystal monitor is used as the display device 210.
  • the memory is RAM, ROM, or the like.
  • the communication unit is an interface for connecting to the LAN and WAN, and performs data transmission / reception with the information processing apparatus 100.
  • the storage unit stores an OS (not shown) that is software, a communication control unit 201, a virtualization control unit 202, a virtual device control unit 203, and a virtual composite device control unit 211, and software related to other functions. It is remembered. These software are read into the memory and operate according to the control of the CPU.
  • the communication control unit 201 controls transmission / reception of input / output data and the like performed with the information processing apparatus 100.
  • the virtualization control unit 202 controls the information processing apparatus 100 to recognize the internal device 400, the external device 300, and the virtual composite device 500 as if they are directly connected (local connection) to the information processing apparatus 100. In order to be able to do this, the virtual composite device 500 is controlled according to (in conjunction with) a control request from the virtualization control unit 103 of the information processing apparatus 100.
  • the virtual device control unit 203 includes virtual device identification information 204 and a data format conversion processing unit 205. Furthermore, the virtual device control unit 203 includes a switching unit such as a user interface that switches the internal device 400 included in the device control apparatus 200 to a virtual USB device.
  • the virtual device identification information 204 is used for causing the information processing apparatus 100 and a virtual composite device control unit 211 described later to recognize the internal device 400 in the same manner as the external device 300. Details of the virtual device identification information 204 will be described later.
  • the data format conversion processing unit 205 performs conversion processing between packet data conforming to the USB data format sent from the virtual composite device control unit 211 and data in a data format that can be processed by the internal device 400, and connects to the internal device 400. Data transmission / reception between the input I / F 207 and the display I / F 209 and the virtual composite device control unit 211 is enabled.
  • the virtual composite device control unit 211 performs control for causing the virtualization control unit 202 to recognize and store an arbitrary plurality of devices (internal devices and external devices) as one virtual composite device.
  • the virtual composite device control unit 211 stores virtual composite device identification information 212.
  • the virtual composite device identification information 212 is used for causing the information processing apparatus 100 to recognize the virtual composite device 500. Details of the virtual composite device identification information 212 will be described later. ⁇ Configuration of External Device 300>
  • the external device 300 includes individual identification information 301 and a communication I / F 302.
  • the external device 300 is an input device having an HID class input device, and is externally connected to the device control device 200 via a USB interface.
  • the individual identification information 301 is information for identifying the external device 300, and is assigned for each model to identify the vendor ID (VID) assigned for each manufacturer that manufactured the device to identify the manufacturer.
  • Product ID (PID) assigned, serial number assigned to each device in order to identify the individual device.
  • the communication I / F 302 is a USB interface or HDMI (registered trademark), and is a functional unit for communicating with the device control apparatus 200. Note that the communication I / F 302 may be other than a USB interface or HDMI (registered trademark) as long as communication with the device control apparatus 200 can be realized.
  • FIG. 1 In the device control system shown in FIG. 1, only one information processing apparatus 100, device control apparatus 200, and external device 300 are shown, but the information processing apparatus 100, device control apparatus 200, and external device are shown.
  • the number of 300 is not limited to the illustrated example.
  • the external device 300 may not be connected to the device control apparatus 200, and the device control system may be configured by only the information processing apparatus 100 and the device control apparatus 200.
  • the device control system may be configured by only the information processing apparatus 100 and the device control apparatus 200.
  • the internal device 400 (input / output device) includes an input device 208 and a display device 210 used as a user interface.
  • the input device 208 and the display device 210 are connected to the internal bus 206 by an input I / F 207 and a display I / F 209, respectively, and are connected to each hardware of the device control device 200 by the internal bus 206.
  • the internal device 400 may use a touch panel provided in the display device 210 as the input device 208.
  • the device control device 200 is an office device such as a printer or a multifunction device, for example.
  • the device control device 200 is not limited to an office device, and may be various embedded devices, mobile phones, or mobile terminal devices. May be. ⁇ About Virtual Device Identification Information 204>
  • the virtual device identification information 204 will be described.
  • the display device 210 that is the internal device 400 does not have information corresponding to the individual identification information of the external device 300, the information processing device 100 and the virtual composite device control unit 211 may recognize the internal device 400. Can not.
  • the device control apparatus 200 assigns the virtual device identification information 204 corresponding to the individual identification information to each of the input apparatus 208 and the display apparatus 210 and displays it on the information processing apparatus 100 and the virtual composite device control unit 211.
  • the apparatus 210 is recognized as a USB device similar to the external device 300.
  • virtual device identification information 204 is obtained by artificially creating configuration information (hereinafter referred to as “USB descriptor”) that defines the data structure of a USB device.
  • the virtual device identification information 204 is stored in advance in the virtual device control unit 203, but may be generated by the virtual device control unit 203.
  • FIG. 2 is a diagram showing an example of the virtual device identification information 204 shown in FIG. 1, and the virtual device identification information 204 is composed of a USB descriptor.
  • the pseudo USB descriptor shown in FIG. 2 includes a vendor ID, a product ID, a serial number (not shown), a class, a subclass, a protocol, and an interface.
  • the vendor ID is identification information assigned to each company or manufacturer, and the product ID is a code assigned by the company or manufacturer having the vendor ID so as not to be duplicated for each product or model.
  • the vendor ID and product ID assigned to the device control apparatus 200 are used.
  • the class, subclass, protocol, and interface are information defined by the USB standard according to the type of device such as a keyboard, mouse, and display. Then, a pseudo USB descriptor that associates the vendor ID and product ID with the class, subclass, protocol, and interface is created, and the virtual device control unit 203 holds (stores) it as the virtual device identification information 204.
  • the input device 208 of this embodiment corresponds to a keyboard and a mouse
  • the display device 210 corresponds to a display.
  • pseudo USB descriptors that is, virtual device identification information 204 are assigned to the keyboard, mouse, and display, respectively.
  • the virtual composite device identification information 212 will be described. Similar to the virtual device identification information 204 described above, the virtual composite device 500 does not have information corresponding to the individual identification information of the device. Therefore, the information processing apparatus 100 cannot recognize the virtual composite device 500.
  • the virtual composite device control unit 211 assigns the virtual composite device identification information 212 corresponding to the individual identification information to the virtual composite device 500, and processes the display device 210 and the external device 300 as one virtual composite device 500.
  • the apparatus 100 is made to recognize.
  • a virtual composite device identification information 212 is created by pseudo-creating a USB descriptor of the virtual composite device 500.
  • the virtual composite device identification information 212 is stored in advance in the virtual composite device control unit 211, but may be generated by the virtual composite device control unit 211.
  • FIG. 3 is a diagram showing an example of the virtual composite device identification information 212 shown in FIG. 1, and the virtual composite device identification information 212 includes a USB descriptor.
  • the pseudo USB descriptor shown in the upper part of FIG. 3 is virtual composite device identification information when the virtual composite device 500 is generated by combining the external device 300 corresponding to the keyboard and the display device 210 of the internal device 400 corresponding to the display. It is.
  • the virtual composite device control unit 211 newly assigns a vendor ID, product ID, serial number (not shown), class, subclass, protocol, and interface, and holds (stores) it as virtual composite device identification information 212.
  • FIG. 4 is a diagram showing a device configuration of a virtual composite device 500 in which a plurality of devices are virtualized as one virtual composite device in the device control system shown in FIG.
  • the virtual composite device control unit 211 configures device configuration information of the virtual composite device 500 based on the device configuration information of the display device 210 of the external device 300 and the internal device 400, and sets a plurality of devices as one virtual composite device 500. Constitute. As illustrated in FIG. 4, when the endpoints of the external device 300 and the display device 210 overlap, the virtual composite device 500 is transferred to another endpoint so that the endpoints do not overlap, and the correspondence relationship is changed.
  • the end point (0x81) of the external device 300 and the end point (0x81) of the display device 210 overlap.
  • the endpoint of the display device 210 is transferred to 0x83, for example, the correspondence between the endpoint (0x81) of the display device 210 as the internal device 400 and the endpoint (0x83) of the display device 210 as the virtual composite device I remember the relationship.
  • the virtual composite device control unit 211 configures the device configuration information of the virtual composite device 500
  • the virtual composite device control unit 211 connects the virtual composite device 500 to the information processing apparatus 100 via the virtualization control unit 202.
  • the virtual composite device 500 is mounted using a driver (not shown) of the virtual composite device 500 incorporated in advance in the OS, and the external device 300 and the display device 210 are recognized as if they were one device. can do.
  • FIG. 5 is a sequence diagram for explaining an operation when the information processing apparatus 100 performs virtualization control of the virtual composite device 500 in the device control system shown in FIG.
  • the display device 210 of the internal device 400 and the external device 300 are used as one virtual composite device 500 will be described.
  • the user starts virtualization control of the display device 210 of the internal device 400 by a user operation from the device control device 200 (step S101). Specifically, the user causes the display device 210 to display an operation screen by a predetermined operation, operates the input device 208 of the internal device 400, and displays the display device 210 and the external device 300 of the internal device 400 constituting the virtual composite device 500.
  • the selectable external device 300 is based on the device driver 102 stored in the information processing apparatus 100.
  • the internal device 400 or the external device 300 does not select the device name of the internal device 400 or the external device 300. It is also possible to select a predetermined function to be performed.
  • the display device 210 transmits a connection request as USB data to the virtual device control unit 203 by a predetermined operation of the user (step S102).
  • the virtual composite device control unit 211 receives the virtual device identification information 204 related to the display device 210 as USB data (step S103). At this time, not all USB devices constituting the virtual composite device 500 selected in step S101 are connected. Therefore, the device connection notification is not sent to the virtualization control unit 202. However, when the display device 210 is configured as a single virtual composite device 500, device connection notification is made and virtualization control is started.
  • the internal device 400 or the external device 300 that is not selected as a device constituting the virtual composite device 500 can coexist with the virtual composite device 500.
  • coexistence means managing the virtual composite device 500 and other devices in separate sessions, and the information processing apparatus 100 distinguishes and recognizes the virtual composite device 500 and other devices.
  • the virtual device control unit 203 notifies the virtualization control unit 202 of connection of coexisting devices, and virtualization control is performed between the device control apparatus 200 and the information processing apparatus 100.
  • the virtualization control is started by locally connecting the external device 300 to the device control apparatus 200 via a USB cable.
  • the user connects the external device 300 to the device control apparatus 200 (step S104).
  • the individual identification information 301 of the external device 300 is transmitted as USB data to the device control apparatus 200 via the communication I / F 302 and the virtual composite device control unit 211 is notified that the external device 300 is connected. (Step S105).
  • the virtual composite device control unit 211 stores the USB data received from the display device 210 and the external device 300 in the endpoint corresponding to the interface of the virtual composite device 500 based on the configuration of FIG. Accordingly, the virtual composite device control unit 211 converts the USB data received from each device into the USB data format of one virtual composite device 500 by combining the USB data of the display device 210 and the USB data of the external device 300. Then, the virtual composite device identification information 212 is generated (step S106). In addition, although it illustrated that virtualization control was started when all the devices which comprise the virtual composite device 500 were gathered, it is not limited to this.
  • the display device 210 When the display device 210 is selected, in order to perform virtualization control as a normal internal device 400, a connection notification to the information processing device 100 is performed, and when the external device 300 is connected, the display device 210 and It is also possible to notify connection of the external device 300 as one virtual composite device 500.
  • the virtual composite device control unit 211 sends the virtual composite device identification information 212 of the virtual composite device 500 to the virtualization control unit 202 to notify the connection (step S107). Subsequently, the virtualization control unit 202 converts the USB data format into network packet data, and notifies the information processing apparatus 100 that the virtual composite device 500 is connected as network packet data via the communication control unit 201. (Step S108).
  • the virtualization control unit 103 of the information processing apparatus 100 notifies the device driver 102 of the virtual composite device identification information 212 related to the virtual composite device 500 received from the virtualization control unit 202 of the device control apparatus 200 (step S109).
  • the communication control unit 104 converts the data format of the network packet received from the device control apparatus 200 into the USB data format of the virtual composite device 500.
  • the device driver 102 transmits a notification of the connection of the virtual composite device 500 to the application 101 (step S110).
  • the application 101 receives a notification of the connection of the virtual composite device 500
  • the application 101 instructs the virtualization control unit 103 to start virtualization control of the virtual composite device 500.
  • the virtualization control unit 103 Start virtualization control.
  • the information processing apparatus 100 generates and activates software components necessary for virtualization control, and starts a connection with the virtual composite device 500 using these software components.
  • the application 101 captures the display screen of the display device in the virtual composite device 500 and acquires the display screen (step S111).
  • the application 101 transmits the acquired display screen of the virtual composite device 500 to the device driver 102 (step S112).
  • the device driver 102 transmits the display screen received from the application 101 to the virtualization control unit 103 (step S113).
  • the virtualization control unit 103 converts the display screen into network packet data and transmits it to the virtualization control unit 202 of the device control apparatus 200 (step S114).
  • the virtualization control unit 202 transmits the display screen as USB data of the virtual composite device 500 to the virtual composite device control unit 211 (step S115).
  • the virtual composite device control unit 211 determines which device (internal device 400 or external device 300) the data received based on the USB data endpoint of the virtual composite device 500 is. Determine and determine a device to transmit control information. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
  • the USB data of the virtual composite device 500 received as the display screen information is converted into the USB data format of the display device 210 virtualized by the virtual composite device control unit 211, and the converted display screen information is displayed. Is transmitted to the virtual device control unit 203 (step S116).
  • the virtual device control unit 203 transmits a display screen to the display device 210 of the internal device 400.
  • the data format conversion processing unit 205 of the virtual device control unit 203 converts the USB data sent from the virtual composite device control unit 211 into the data format of the display device 210, and displays the display device 210 via the display I / F 209. (Step S117).
  • the display device 210 displays a screen corresponding to the screen data sent from the information processing device 100. At this time, the display device 210 displays the screen data (received display screen) sent from the information processing device 100 and waits for input to the information processing device 100 (step S118).
  • USB data sent from the virtualization control unit 202 can be passed through the display I / F 209 without data conversion, it is sent to the display device 210 via the display I / F 209 without data conversion. Further, in the case where not all the acquired screen data is transmitted in the above-described step S115 but only the difference from the previously transmitted display image is transmitted, the difference display screen is added to the already received display screen. Are combined and displayed.
  • the user inputs operation information for remotely operating the information processing apparatus 100 using the input device of the external device 300 (step S119).
  • the external device 300 transmits operation information as USB data to the virtual composite device control unit 211 via the communication I / F 302 of the external device 300 (step S120).
  • the virtual composite device control unit 211 transmits the received operation information (USB data) to the virtualization control unit 202 (step S121). At this time, the virtual composite device control unit 211 converts the operation information (USB data) received from the external device 300 into the data format of the virtual composite device 500 and transmits it to the virtualization control unit 202.
  • the virtualization control unit 202 converts the USB data format into network packet data, and transmits the received operation information as network packet data to the virtualization control unit 103 of the information processing apparatus 100 via the communication control unit 201 ( Step S122).
  • the virtualization control unit 103 of the information processing apparatus 100 transmits the received operation information to the device driver 102 (step S123).
  • the device driver 102 transmits the operation information received from the virtualization control unit 103 to the application 101 (step S124).
  • the application 101 executes an operation (processing) according to the operation information received from the device driver 102 (step S125).
  • the information processing apparatus 100 displays the execution result of the process (function) on the display device 210.
  • the image data displayed on the display device 210 is transmitted to the device control device 200 in the same manner as steps S113 to S120 described above, and image data sent from the information processing device 100 to the display device 210 of the device control device 200. (Display screen) is displayed.
  • step S110 When the connection between the virtual composite device 500 and the application 101 is started in step S110, the processing from step S111 to step S118 (screen transfer processing) and the processing from step S119 to step S125 are performed until the connection is disconnected (terminated). Repeat the process (remote operation process) asynchronously (in parallel). At this time, the virtualization control unit 202, the virtual device control unit 203, and the virtual composite device control unit 211 perform data transmission / reception between the internal device 400 and the information processing apparatus 100 via the network.
  • step S101 the display device 210 of the internal device 400 has been described as selecting a device constituting the virtual composite device 500. However, it is also possible to select a device constituting the virtual composite device 500 from the external device 300. In addition, all of the connected internal devices 400 and external devices 300 among the devices that can configure the virtual composite device 500 incorporated in the OS in advance without selecting a device that configures the virtual composite device 500 are combined into one. The virtual composite device 500 may be used.
  • FIG. 6 illustrates an operation when the information processing apparatus 100 disconnects and reconnects to the virtual composite device 500 after the connection processing of the virtual composite device 500 illustrated in FIG. 5 in the device control system illustrated in FIG. It is a sequence diagram for demonstrating.
  • the user When the user ends the virtualization control of the virtual composite device 500 by the information processing apparatus 100, the user disconnects one of the devices constituting the virtual composite device 500.
  • the external device 300 is disconnected will be described as an example.
  • the user operation on the external device 300 maintains the connection of the display device 210 to the virtual composite device control unit 211, and the external device 300 is disconnected (step S201).
  • the external device 300 requests the virtual composite device control unit 211 to disconnect as USB data (first data format) (step S202).
  • the virtual composite device control unit 211 In response to the disconnection of one of the devices constituting the virtual composite device 500, the virtual composite device control unit 211 notifies the virtualization control unit 202 of the end of control as USB data of the virtual composite device 500 (step S203).
  • the virtualization control unit 202 notifies the virtualization control unit 103 of the information processing apparatus 100 that the control of the virtual composite device 500 is ended (control end notification) as network packet data (step S204).
  • the virtualization control unit 103 notifies the device driver 102 of the control end notification received from the virtualization control unit 202 of the device control apparatus (step S205).
  • the device driver 102 notifies the application 101 of the control end notification received from the virtualization control unit 103 (step S206) and cancels the control of the virtual composite device 500.
  • communication (connection) between the application 101 and the virtual composite device 500 is disconnected (released).
  • the virtualization control unit 202 does not cause the information processing apparatus 100 to recognize the device (here, the display device 210) that has not been disconnected after being disconnected as the virtual composite device 500 as the virtual composite device 500, instead of displaying it. It is also possible to recognize the apparatus 210 as the internal device 400.
  • step S207 when the external device 300 is connected again by a user operation on the external device 300 while maintaining the connection of the display device 210 to the virtual composite device control unit 211 (step S207), the virtual composite device control unit The fact that the external device 300 is connected to 211 is notified as USB data (step S208).
  • the virtual composite device control unit 211 generates the virtual composite device 500 again in response to all the devices constituting the virtual composite device 500 being connected (step S209).
  • the virtual composite device control unit 211 notifies the virtualization control unit 202 of the start of control of the virtual composite device 500 as USB data of the virtual composite device 500 (step S210).
  • the virtualization control unit 202 notifies the virtualization control unit 103 of the information processing apparatus 100 that the control of the virtual composite device 500 has been started (control start notification) as network packet data (step S211).
  • the virtualization control unit 103 notifies the device driver 102 of the control start notification received from the virtualization control unit 202 of the device control apparatus (step S212).
  • the device driver 102 notifies the application 101 of the control start notification received from the virtualization control unit 103 (step S213) and starts control of the virtual composite device 500. As a result, communication (connection) between the application 101 and the virtual composite device 500 is connected (started).
  • the disconnection instruction from the internal device 400 or the external device 300 of the virtual composite device 500 has been illustrated so far, but it is also possible to instruct the disconnection from the information processing apparatus 100 (not shown).
  • the device control apparatus 200 ends the control of the virtual composite device 500.
  • the virtual composite device 500 may be generated by combining the internal device 400 (display device 210) and the external device 300 (input device) has been described, but the virtual composite device 500 may be generated by combining a plurality of internal devices. Alternatively, the virtual composite device 500 may be generated by combining a plurality of external devices. Further, a plurality of virtual composite devices may be generated in the device control apparatus 200.
  • session management is performed in units of virtual composite devices instead of session management for each device. It becomes possible to do. Considering application to a cloud environment or the like, it is possible to manage connection or disconnection as a virtual composite device instead of session management for each device from the information processing apparatus 100 side, thereby improving convenience.
  • the information processing apparatus 100 performs virtualization control on the virtual composite device 500 in which the internal device 400 and the external device 300 provided in the device control apparatus 200 are combined, and uses the device driver 102.
  • the behavior can be simulated in the same manner as when the virtual composite device 500 is directly connected (locally connected). Therefore, the virtual device 500 is controlled from the information processing device 100 by reconfiguring the internal device 400 and the external device 300 provided in the device control device 200 as the virtual composite device 500 and virtually connecting to the information processing device 100 ( Use).
  • the virtual composite device 500 is characterized by an internal device and an external device.
  • FIG. 7 is a block diagram schematically showing a configuration of an example of a device control system according to the embodiment of the present invention.
  • an information processing apparatus 100 is connected to a device control apparatus 200A and a device control apparatus 200B via a network such as a local area network (LAN) or a wide area network (WAN).
  • the LAN and WAN are configured by a wired line or a wireless line.
  • the external device 300A and the external device 300B are locally connected to the device control device 200A and the device control device 200B, for example, via a communication interface (for example, USB or HDMI (registered trademark)).
  • a communication interface for example, USB or HDMI (registered trademark)
  • the information processing apparatus 100 is an apparatus such as a personal computer (PC) used by a user.
  • the hardware configuration includes a CPU, an input unit, a display unit, a memory, a communication unit (both not shown), and a storage unit 110, and these hardware units are connected to each other via an internal bus.
  • the communication unit is a network I / F for connecting to a LAN and a WAN, and performs data transmission / reception with the device control apparatus 200A and the device control apparatus 200B.
  • the information processing apparatus 100 can exchange data with the external device 300A locally connected to the device control apparatus 200A and the internal device 400A and the internal device 400B provided in the device control apparatus 200A.
  • data can be transmitted / received to / from the external device 300B locally connected to the device control apparatus 200B and the internal device 400C provided in the device control apparatus 200B.
  • the storage unit 110 stores an operating system that is software (hereinafter referred to as “OS”: not shown), an application 101, a device driver 102, a virtualization control unit 103, a communication control unit 104, and a device information notification unit 105.
  • OS software
  • software relating to other functions is stored. These software are read into the memory and operate according to the control of the CPU.
  • the application 101 instructs the device driver 102 to perform a data input / output request, thereby combining an external device 300 connected to the device control apparatus 200 and an internal device 400 provided in the device control apparatus 200 (hereinafter referred to as a composite device).
  • Software for controlling a virtual composite device The combination of the internal device 400A, the internal device 400B, the internal device 400C, the external device 300A, and the external device 300B is arbitrary, and the number of devices is not limited to this.
  • the device driver 102 is a functional unit for controlling the external device 300, the internal device 400, and the virtual composite device 500.
  • Data input / output requests from the OS or application 101 are made into data in the data format corresponding to each of the external device 300A, the external device 300B, the internal device 400A, the internal device 400B, and the internal device 400C (hereinafter referred to as “control command”). After conversion, the control command is sent to the virtualization control unit 103. Further, the device driver 102 notifies the application 101 of a response to the control command.
  • the device driver 102 is generally software provided by a manufacturer, and the information processing apparatus 100 uses an external device 300A, an external device 300B, an internal device 400A, an internal device 400B, an internal device by the device driver 102 corresponding to each device.
  • the device 400C and the virtual composite device 500 can be controlled.
  • the virtualization control unit 103 provides the same function as in the first embodiment.
  • the virtualization control unit 103 is a functional unit for controlling the external device 300, the internal device 400, and the virtual composite device 500.
  • virtualization control function a function for simulating the same behavior as when the external device 300, the internal device 400, and the virtual composite device 500 are directly connected (locally connected) to the information processing apparatus 100 in response to data transmission / reception requests to these devices.
  • the external device 300A, the external device 300B, and the internal device 400C are configured as a virtual composite device 500.
  • the virtualization control unit 103 simulates a behavior similar to that when the virtual composite device 500 is directly connected (locally connected) to the information processing apparatus 100 in response to data transmission / reception requests to the plurality of devices.
  • a control function is provided. With this virtualization control function, the information processing apparatus 100 recognizes that the connection state of the virtual composite device 500 of the internal device 400A, the internal device 400B, the external device 300B, and the internal device 400C is the same as that in the local connection. Can send and receive data.
  • the communication control unit 104 provides the same function as in the first embodiment to the device control apparatus 200A.
  • the communication control unit 104 provides functions similar to those of the first embodiment to the device control apparatus 200A.
  • the device information notification unit 105 manages virtual composite device configuration information required by the information processing apparatus 100, and notifies the virtual composite device configuration information to the device control apparatus 200A having the virtual composite device control unit 211.
  • the virtual composite device configuration information is information indicating what kind of device the virtual composite device 500 is configured from.
  • the first condition of the virtual composite device configuration information is to satisfy the function request. It is also possible to set arbitrarily after the second condition.
  • the first condition that satisfies the function request is to set functions such as a video class, a storage class, and a print class.
  • the second condition may set performance such as camera fps (frame per second), storage capacity, printing ppm (Page Per Minute), and the like.
  • the device control apparatus 200A is, for example, a peripheral device such as a printer or a multifunction peripheral, and includes a CPU, a memory, a communication unit, and a storage unit (both not shown) as hardware configurations, and the internal device 400A and the internal device. 400B is provided. Details of the configuration of the internal device 400A and the internal device 400B will be described later. In the present embodiment, the device control apparatus 200A plays a role of generating a virtual composite device.
  • the communication unit is a network I / F for connecting to a LAN and a WAN, and performs data transmission / reception with the information processing apparatus 100 and the device control apparatus 200B.
  • the storage unit provides the same function as in the first embodiment.
  • the communication control unit 201 controls transmission / reception of input / output data and the like performed between the device control apparatus 200A and the information processing apparatus 100 or the device control apparatus 200B.
  • the virtualization control unit 202 can control the information processing apparatus 100 to recognize the internal device 400A, the internal device 400B, and the external device 300A as if they were directly connected (local connection) to the information processing apparatus 100. Therefore, control is performed according to (in conjunction with) a control request from the virtualization control unit 103 of the information processing apparatus 100.
  • the virtual device control unit 203 includes virtual device identification information 204 and a data format conversion processing unit 205. Furthermore, the virtual device control unit 203 has a switching function such as a user interface for switching the internal device 400A and the internal device 400B provided in the device control apparatus 200A to a virtual USB device.
  • the virtual device identification information 204 is used for causing the information processing apparatus 100 and a virtual composite device control unit 211 described later to recognize the internal device 400 in the same manner as the external device 300. Details of the virtual device identification information 204 will be described later.
  • the data format conversion processing unit 205 performs conversion processing between packet data conforming to the USB data format sent from the virtual composite device control unit 211 and data in a data format that can be processed by the internal device 400A and the internal device 400B. Data can be transmitted / received between the virtual device control unit 203 and the input I / F 207 and the display I / F 209 to which the device 400A and the internal device 400B are connected.
  • the virtual composite device control unit 211 performs control for causing the virtualization control unit 202 to recognize and store an arbitrary plurality of devices (internal devices and external devices) as one virtual composite device.
  • the virtual composite device control unit 211 stores virtual composite device identification information 212.
  • virtual composite device identification information 212 for configuring the external device 300A, the internal device 400C, and the external device 300B as virtual composite devices is provided.
  • the virtual composite device control unit 211 provides information as if the external device 300A, the internal device 400C, and the external device 300B configured as virtual composite devices are directly connected (locally connected) to the information processing apparatus 100.
  • the control is performed according to (in conjunction with) a control request from the virtualization control unit 103 of the information processing apparatus 100.
  • the virtual composite device identification information 212 provides the same function as in the first embodiment.
  • the device configuration management unit 213 stores connection information between the external device 300 and the internal device 400 and manages functions provided in each device. A function or performance constituting the virtual composite device is selected by a connection notification of necessary device information from the information processing apparatus 100, and the virtual composite device control unit 211 is requested to create a virtual composite device. Further, the functional unit transmits and receives information about the configuration of the virtual composite device to and from the device control apparatus 200B via the communication control unit 201. ⁇ Configuration of device control apparatus 200B>
  • the device control apparatus 200B is a peripheral device such as a network camera, for example, and includes a CPU, a memory, a communication unit, a storage unit (both not shown), and an internal device 400C as a hardware configuration. Details of the configuration of the internal device 400C will be described later.
  • the information processing apparatus 100 when a virtual composite device is generated under the control of the device control apparatus 200A, the information processing apparatus 100 performs data transmission / reception with the device control apparatus 200A without being conscious of the device control apparatus 200B.
  • the CPU controls the entire device control apparatus 200B.
  • the video input device 221 is an image input device such as a network camera, for example.
  • the memory is a RAM, a ROM, or the like.
  • the communication unit is an interface for connecting to the LAN and WAN, and performs data transmission / reception with the information processing apparatus 100 and the device control apparatus 200A.
  • the storage unit stores an OS (not shown), which is software, a communication control unit 214, a virtualization control unit 215, and a virtual device control unit 216, as well as software related to other functions. These software are read into the memory and operate according to the control of the CPU.
  • the communication control unit 214 controls transmission / reception of input / output data and the like performed with the device control apparatus 200A.
  • Control is performed in accordance with (in conjunction with) a control request from the virtual composite device control unit 211 of the device control apparatus 200A.
  • the virtual device control unit 216 includes virtual device identification information 217 and a data format conversion processing unit 218.
  • the virtual device identification information 217 is used for causing the information processing apparatus 100 and the virtual device control unit 216 to recognize the internal device 400 in the same manner as the external device 300. Details of the virtual device identification information 217 will be described later.
  • the data format conversion processing unit 218 performs conversion processing between packet data conforming to the USB data format sent from the virtual device control unit 216 and data in a data format that can be processed by the internal device 400C, and is connected to the internal device 400C. Data transmission / reception between the image input I / F 220 and the virtual device control unit 216 is enabled.
  • the external device 300A includes individual identification information 301 and a communication I / F 302.
  • the external device 300A is a device including a storage class storage device 303, and is externally connected to the device control device 200A via a USB interface.
  • the individual identification information 301 is information for identifying the external device 300A and is the same as that in the first embodiment, and thus the description thereof is omitted. Further, the communication I / F 302 is the same as that in the first embodiment, and thus the description thereof is omitted.
  • the external device 300B includes individual identification information 304 and a communication I / F 305.
  • the external device 300B is a device that includes a vendor-class sensor device 306, and is externally connected to the device control device 200B via a USB interface.
  • the individual identification information 304 is the same as the individual identification information 301 of the external device 300A
  • the communication I / F 305 is the same as the communication I / F 302 of the external device 300A.
  • the internal device 400A and the internal device 400B respectively include an input device 208 and a display device 210 that are used as user interfaces. Since the input device 208 and the display device 210 are the same as those in the first embodiment, description thereof is omitted. ⁇ Configuration of Internal Device 400C>
  • the internal device 400C includes a video input device 221 used as a surveillance camera.
  • the video input device 221 is connected to the internal bus 219 by the image input I / F 220, and is connected to the hardware of the device control device 200B by the internal bus 219.
  • the device control apparatus 200A is an office device such as a printer or a multifunction peripheral, and the device control apparatus 200B is a video input apparatus 221 such as a network camera.
  • the device control apparatus 200A is not limited thereto. It may be various embedded devices, mobile phones or mobile terminal devices. ⁇ Virtual Device Identification Information 204 and Virtual Device Identification Information 217>
  • the virtual device identification information 204 and the virtual device identification information 217 will be described.
  • the internal device 400A input device 208
  • internal device 400B display device 210
  • internal device 400C video input device 221
  • the information processing apparatus 100 cannot recognize the internal device 400A, the internal device 400B, and the internal device 400C.
  • virtual device identification information 204 and virtual device identification information 217 corresponding to individual identification information are allocated to each of the input device 208, the display device 210, and the video input device 221, and the USB device is assigned to the information processing device 100.
  • virtual device identification information 204 and virtual device identification information 217 are obtained by artificially creating configuration information (hereinafter referred to as “USB descriptor”) that defines the data structure of the USB device.
  • the virtual device identification information 204 and the virtual device identification information 217 are stored in advance in the virtual device control unit 203 and the virtual device control unit 216, but are generated by the virtual device control unit 203 and the virtual device control unit 216. May be.
  • FIG. 2 is a diagram showing an example of the virtual device identification information 204 and the virtual device identification information 217 shown in FIG. 1, and the virtual device identification information 204 and the virtual device identification information 217 are made up of USB descriptors.
  • the pseudo USB descriptor shown in FIG. 2 includes a vendor ID, a product ID, a serial number (not shown), a class, a subclass, a protocol, and an interface.
  • the vendor ID is identification information assigned to each company or manufacturer
  • the product ID is a code assigned by the company or manufacturer having the vendor ID so as not to be duplicated for each product or model.
  • the vendor ID and product ID assigned to the device control apparatus 200A and the device control apparatus 200B are used.
  • the class, subclass, protocol, and interface are information defined by the USB standard according to the type of device such as a keyboard, mouse, display, camera, storage, and sensor. 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 203 and the virtual device control unit 216 perform virtual device identification information 204, virtual Stored (stored) as device identification information 217.
  • the input device 208 corresponds to a keyboard and mouse
  • the display device 210 corresponds to a display
  • the video input device 221 corresponds to a camera
  • the storage device 303 corresponds to storage
  • the sensor device 306 corresponds to a sensor.
  • a pseudo USB descriptor that is, virtual device identification information 204, virtual, virtual
  • Device identification information 217) is assigned to each of the keyboard, mouse, display, camera, storage, and sensor.
  • Device identification information 217) is assigned.
  • the virtual composite device identification information 212 will be described. Since the internal device 400C, the external device 300A, and the external device 300B each have a single individual identification information 301, individual identification information 304, or virtual device identification information 217, the information processing apparatus 100 is regarded as one virtual composite device. It cannot be recognized.
  • the virtual composite device control unit 211 assigns the virtual composite device identification information 212 corresponding to the individual identification information to the virtual composite device, and the video input device 221, the storage device 303, and the sensor device 306 are combined into one virtual device.
  • the information processing apparatus 100 is caused to recognize the composite device 500.
  • virtual composite device identification information 212 is obtained by artificially creating configuration information (hereinafter referred to as “USB descriptor”) that defines the data structure of a USB device.
  • USB descriptor artificially creating configuration information
  • the virtual composite device identification information 212 is stored in advance in the virtual composite device control unit 211, but may be generated by the virtual composite device control unit 211.
  • FIG. 3 is a diagram showing an example of the virtual composite device identification information 212 shown in FIG. 1, and the virtual composite device identification information 212 includes a USB descriptor.
  • the pseudo USB descriptor shown in the lower part of FIG. 3 includes the storage device 303 of the external device 300A corresponding to the storage, the video input device 221 of the internal device 400C corresponding to the monitoring camera, and the sensor device 306 of the external device 300B corresponding to the sensor. Is the virtual composite device identification information 212 of the virtual composite device 500 that combines the above.
  • the virtual composite device control unit 211 newly assigns a vendor ID, product ID, serial number (not shown), class, subclass, protocol, and interface, and holds (stores) it as virtual composite device identification information 212.
  • FIG. 8 is a diagram showing an example of a device configuration in which a plurality of devices are created as one virtual composite device identification information 212 in the device control system shown in FIG.
  • the virtual composite device control unit 211 creates device configuration information with a plurality of devices as one virtual composite device 500 based on the device configuration information of the external device 300A, the external device 300B, and the internal device 400C. As illustrated in FIG. 4, on the virtual composite device 500, the correspondence relationship is stored by switching to another interface and endpoint so that the interface and endpoint do not overlap.
  • the end point (0x81) of the external device 300A, the end point (0x81) of the external device 300B, and the end point (0x81) of the internal device 400C overlap.
  • the endpoint (0x82) of the external device 300B and the endpoint (0x82) of the internal device 400C overlap. Therefore, in the virtual composite device 500, the endpoint of the external device 300B is transferred to 0x85, 0x86, 0x87, and the endpoint of the internal device 400C is transferred to 0x88, 0x89.
  • the correspondence relationship between the endpoint (0x81) as the sensor device 306 of the external device 300B and the endpoint (0x85) of the sensor device 306 as the virtual composite device is stored.
  • the virtual composite device control unit 211 When the virtual composite device control unit 211 creates the device configuration information of the virtual composite device 500, the virtual composite device control unit 211 connects to the information processing apparatus 100 via the network I / F.
  • the virtual composite device 500 is mounted using a driver (not shown) of the virtual composite device 500 incorporated in advance in the OS, the storage device 303 of the external device 300A, the sensor device 306 of the external device 300B, and The video input device 221 of the internal device 400C can be recognized as if it were one device.
  • a driver not shown
  • 9A and 9B are sequence diagrams for explaining an operation when the information processing apparatus 100 performs virtualization control of the virtual composite device 500 in the device control system shown in FIG.
  • the input device 208 and the display device 210 are operated from the state in which the input device 208 of the internal device 400A and the display device 210 of the internal device 400B are virtualized.
  • a case where the storage device 303 of the external device 300A, the video input device 221 of the internal device 400C, and the sensor device 306 of the external device 300B are controlled as one virtual composite device 500 will be described.
  • the sensor device 306 is a human sensor
  • the video input device 221 is a surveillance camera
  • the storage device 303 is an external hard disk. It can be applied to scenes where the human sensor detects a person and starts shooting with the surveillance camera, and the shot video is saved to the hard disk. Instead of controlling the session for each device, one virtual Recognizing and controlling as the composite device 500 will be exemplified.
  • virtualization control of the input device 208 of the internal device 400A is started by a user operation from the device control device 200A (step S301).
  • connection request is transmitted as USB data from the input device 208 to the virtual device control unit 203 by a predetermined operation of the user (step S302).
  • the virtual device control unit 203 creates virtual device identification information 204, which is individual identification information of the input device 208, and transmits a connection notification to the virtualization control unit 103 of the information processing apparatus 100 via the network I / F ( Step S303).
  • the virtualization control unit 103 selects the device driver 102 based on the individual identification information of the input device 208, and starts virtualization control (step S304).
  • the application 101 creates a data input / output path from the device driver 102 by a connection notification between the input device 208 and the display device 210 (step S305) (step S306).
  • step S307 virtualization control of the display device 210 of the internal device 400B is started by a user operation from the device control device 200A (step S307).
  • connection request is transmitted as USB data from the display device 210 to the virtual device control unit 203 by a predetermined operation of the user (step S308).
  • the virtual device control unit 203 creates virtual device identification information 204, which is individual identification information of the display device 210, and transmits a connection notification to the virtualization control unit 103 of the information processing device 100 via the network I / F ( Step S309).
  • the virtualization control unit 103 selects the device driver 102 based on the individual identification information of the display device 210, and starts virtualization control (step S310).
  • the application 101 creates a data input / output path from the device driver 102 according to the connection notification of the display device 210 (step S311) (step S312).
  • the application 101 generates image data (display screen) to be displayed on the display device 210 of the device control apparatus 200A (step S313), and transmits the image data (display screen) to the device driver 102 (step S314).
  • the device driver 102 transmits the image data (display screen) to the virtualization control unit 103 (step S315).
  • the virtualization control unit 103 converts a control command (that is, a data input / output request) received from the device driver 102 into packet data compliant with the USB data format (hereinafter referred to as “USB data”), and performs network I / F Is transmitted to the virtual device control unit 203 of the device control apparatus 200A (step S316).
  • USB data the USB data format
  • the virtual device control unit 203 performs conversion processing with data in a data format that can be processed by the display device 210, and transmits and receives data via the display I / F 209 connected to the display device 210 (step S317).
  • the image data (display screen) generated by the application 101 is displayed on the display device 210 as a received image (step S318).
  • the user inputs operation information via the input device 208 (step S319).
  • the input device 208 transmits the input operation information to the virtual device control unit 203 via the input I / F 209 connected to the input device 208 (step S320).
  • the virtual device control unit 203 performs conversion processing between data in a data format that can be processed by the input device 208 and packet data that conforms to the USB data format, and transmits operation information to the virtualization control unit 103 (step S321).
  • the virtualization control unit 103 makes a response of a control command (that is, a data input / output request) to the device driver 102 (step S322).
  • the device driver 102 transmits operation information of the input device 208 to the application (step S323).
  • the application 101 executes an operation based on the operation information received from the device driver 102 (step S324).
  • the user connects the storage device 303 of the external device 300A to the device control device 200A (step S325). Accordingly, the individual identification information 301 of the external device 300A is transmitted as USB data to the device control apparatus 200A via the communication I / F 302, and the virtualization control unit 202 is notified that the external device 300A is connected ( Step S326).
  • the virtualization control unit 202 transmits a connection notification (virtual device identification information 204) of the external device 300A to the device configuration management unit 213 of the device control apparatus 200A (step S327).
  • the device configuration management unit 213 stores and updates the storage function and performance of the storage device 303 of the external device 300A (step S328).
  • the user starts virtualization control of the video input device 221 of the internal device 400C by a user operation from the device control device 200B (step S330).
  • a connection request is transmitted as USB data from the video input device 221 to the virtual device control unit 216 (step S331).
  • the virtual device control unit 216 creates virtual device identification information of the video input device 221 and transmits a connection notification (virtual device identification information 217) of the internal device 400C to the device configuration management unit 213 of the device control device 200A (step). S332).
  • the device configuration management unit 213 stores and updates the image input function and performance provided in the video input device 221 of the external device 300B (step S333).
  • the user connects the external device 300B to the device control apparatus 200B (step S334). Accordingly, the individual identification information 304 of the external device 300B is transmitted as USB data to the device control apparatus 200B via the communication I / F 305, and the virtualization control unit 215 is notified that the external device 300B is connected ( Step S335).
  • the virtualization control unit 215 transmits a connection notification (virtual device identification information 217) of the external device 300B to the device configuration management unit 213 of the device control apparatus 200A (step S336).
  • the device configuration management unit 213 stores and updates the sensor function and performance of the sensor device 306 of the external device 300B (step S337).
  • An operation screen is displayed on the display device 210 according to a predetermined operation of the user, and the input device 208 is operated to select which function (storage, camera, sensor) and / or performance is configured as the virtual composite device 500 (step) S340).
  • a function associated with performance is also selected. You can also select the device name as well as the function and performance.
  • the device configuration management unit 213 of the device control apparatus 200A may notify the device control apparatus 200B to that effect.
  • each device control apparatus 200 may return a response as to whether or not each device control apparatus 200 can be configured as a virtual composite device 500 in response to a notification from the device control apparatus 200A or a request from the device control apparatus 200B.
  • the device control device 200A can select a device constituting the virtual composite device 500 in response to a request from the device control device 200B.
  • the device control apparatus 200B requests the device that cannot be configured as the virtual composite device 500, and the virtualization control unit 215 of the device control apparatus 200B performs virtualization control to perform data transmission / reception with the information processing apparatus 100.
  • the input device 208 transmits the operation information to the virtual device control unit 203 via the input I / F 207 connected to the input device 208 (step S341).
  • the virtual device control unit 203 performs conversion processing between data in a data format that can be processed by the input device 208 and packet data that conforms to the USB data format, and transmits operation information to the virtualization control unit 103 (step S342).
  • the virtualization control unit 103 responds to the control command of the device driver 102 (step S343).
  • the device driver 102 transmits operation information of the input device 208 to the application 101 (step S344).
  • the application 101 executes a selection operation of the virtual composite device 500 from the operation information received from the device driver 102 (step S345). At this time, virtual composite device configuration information is generated by the application 101. Note that a device that is not selected as a device constituting the virtual composite device 500 can coexist with the virtual composite device 500 as another virtual device.
  • coexistence means managing the virtual composite device 500 and other devices in separate sessions, and the information processing apparatus 100 distinguishes and recognizes the virtual composite device 500 and other devices.
  • the virtual device identification information 217 of the device (internal device, external device) coexisting with the device control apparatus 200B is sent to the information processing apparatus 100. Send. As a result, the information processing apparatus 100 recognizes the device control apparatus 200B.
  • the internal device 400C and / or the external device 300B are configured as the virtual composite device 500, and the remaining devices of the device control apparatus 200B that are not configured as the virtual composite device 500 do not transmit / receive data to / from the information processing apparatus 100 (virtualized as internal devices) If not, the device control apparatus 200A transmits the virtual composite device identification information 212 to the information processing apparatus 100. Then, the information processing apparatus 100 performs data transmission / reception with the device control apparatus 200A without recognizing the device control apparatus 200B.
  • the application 101 requests connection of the virtual composite device 500 selected above to the device information notification unit 105 (step S346).
  • the device information notification unit 105 notifies the connection of the virtual composite device 500 to the device configuration management unit 213 of the device control apparatus 200A via the network I / F (step S347).
  • the device configuration management unit 213 selects a function or performance based on the device information, transmits virtual composite device configuration information to the virtual composite device control unit 211, and requests creation of the virtual composite device 500 (step S348).
  • the virtual composite device control unit 211 stores the USB data received from the storage device 303, the sensor device 306, and the video input device 221 in an endpoint corresponding to the interface of the virtual composite device 500 based on the configuration of FIG. Thereby, the virtual composite device control unit 211 converts the USB data received from each device into the USB data format of one virtual composite device 500 and converts the virtual composite device identification information, which is individual identification information of the virtual composite device
  • the virtual composite device 500 is created by generating 212 (step S349).
  • the device configuration management unit 213 of the device control apparatus 200A displays the device control apparatus 200B. May be notified that the virtual composite device 500 has been created.
  • the virtual composite device control unit 211 transmits a connection notification of the virtual composite device identification information 212, which is the individual identification information of the virtual composite device 500, to the virtualization control unit 103 of the information processing apparatus 100 via the network I / F (step). S350).
  • the virtualization control unit 103 notifies the device driver 102 of the virtual composite device identification information 212 received from the virtualization control unit 202 of the device control apparatus 200A (step S351).
  • the device driver 102 transmits a connection notification of the virtual composite device 500 to the application 101 (step S352).
  • the application 101 receives a notification of connection of the virtual composite device 500
  • the application 101 recognizes the virtual composite device 500 (step S353), and the virtualization control unit 103 starts virtualization control of the virtual composite device 500 (step S354).
  • the information processing apparatus 100 generates and activates software components necessary for virtualization control, and starts a connection with the virtual composite device 500 using these software components.
  • step S301 to step S354 the information processing apparatus 100 can recognize each device as one virtual composite device 500, instead of recognizing each device individually.
  • the information processing apparatus 100 recognizes the external device 300A, the external device 300B, and the internal device 400C as one virtual composite device 500.
  • External device 300B inputs sensor information of sensor device 306 (step S360).
  • Data is transmitted to the virtualization control unit 215 via the communication I / F 305 connected to the sensor device 306 (step S361).
  • the virtualization control unit 215 performs conversion processing between data in a data format that can be processed by the sensor device 306 and packet data that conforms to the USB data format, and transmits the sensor information to the virtual composite device control unit 211 (step S362). .
  • the virtual composite device control unit 211 determines whether the data received based on the endpoint of the virtual composite device 500 is the control information of the sensor device 306 and determines the endpoint that transmits the control information. To do. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
  • the virtual composite device control unit 211 transmits the received sensor information (USB data) to the virtualization control unit 103 of the information processing apparatus 100 via the network I / F (step S363).
  • the virtualization control unit 103 transmits the received sensor information to the device driver 102 (step S364).
  • the device driver 102 transmits the sensor information received from the virtualization control unit 103 to the application 101 (step S365).
  • the application 101 analyzes the sensor information and starts image input (shooting) from the virtual composite device 500 (video input device 221) (step S366).
  • the internal device 400C inputs image information from the video input device 221 (step S370).
  • Data is transmitted to the virtual device control unit 216 via the image input I / F 220 connected to the video input device 221 (step S371).
  • the virtual device control unit 216 performs conversion processing between data in a data format that can be processed by the video input device 221 and packet data that conforms to the USB data format, and transmits image information to the virtual composite device control unit 211 (step S372). ).
  • the virtual composite device control unit 211 determines whether the data received based on the endpoint of the virtual composite device 500 is the control information of the video input device 221, and determines the endpoint that transmits the control information. decide. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
  • the virtual composite device control unit 211 transmits the received image information (USB data) to the virtualization control unit 103 of the information processing apparatus 100 via the network I / F (step S373).
  • the virtualization control unit 103 transmits the received image information to the device driver 102 (step S374).
  • the device driver 102 transmits the image information received from the virtualization control unit 103 to the application 101 (step S375).
  • the application 101 analyzes the image information and starts an image output instruction to the virtual composite device 500 (storage device 303) (step S376).
  • Application 101 starts outputting image information to virtual composite device 500 (storage device 303) (step S380).
  • the application 101 transmits image information to the device driver 102 (step S381).
  • the device driver 102 transmits image information to the virtualization control unit 103 (step S382).
  • the virtualization control unit 103 converts a control command (that is, a data input / output request) of the device driver 102 into USB data conforming to the USB data format, and performs a virtual composite device of the device control apparatus 200A via the network I / F. It transmits to the control part 211 (step S383).
  • the virtual composite device control unit 211 determines whether the data received based on the end point of the virtual composite device 500 is control information of the storage device 303, and determines the end point for transmitting the control information. To do. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
  • the virtual composite device control unit 211 transmits the received image information (USB data) to the storage device 303 via the communication I / F 302 (step S384).
  • the storage device 303 stores the image information received from the virtual composite device control unit 211 (step S385).
  • An operation screen is displayed on the display device 210 according to a predetermined operation by the user, the disconnection operation is performed by operating the input device 208, and a disconnection request is transmitted as USB data to the virtual device control unit 203 (step S390). .
  • the input device 208 transmits the operation information to the virtual device control unit 203 via the input I / F 207 connected to the input device 208 (step S391).
  • the virtual device control unit 203 performs conversion processing between data in a data format that can be processed by the input device 208 and packet data that conforms to the USB data format, and transmits operation information to the virtualization control unit 103 (step S392).
  • the virtualization control unit 103 responds to the control command of the device driver 102 (step S293).
  • the device driver 102 transmits operation information of the input device 208 to the application 101 (step S394).
  • the application 101 executes a disconnection operation from the operation information received from the device driver 102 (step S395).
  • the application 101 transmits a disconnection request for the virtual composite device 500 to the device information notification unit 105 (step S396).
  • the device information notification unit 105 sends a disconnection notification of the virtual composite device 500 to the device configuration management unit 213 of the device control apparatus 200A via the network I / F (step S397).
  • the device configuration management unit 213 selects a function being connected based on the composite device information, and requests the virtual composite device control unit 211 to extinguish the virtual composite device 500 (step S398).
  • the virtual composite device control unit 211 deletes the virtual composite device identification information 212 that is the individual identification information of the virtual composite device 500 (step S399).
  • the virtual composite device 500 may be generated in combination. Further, the virtual composite device 500 may be generated by combining a plurality of external devices. Further, a plurality of virtual composite devices may be generated in the device control apparatus 200. Further, although the sensor device 306 is illustrated as a human sensor, the video input device 221 is illustrated as a monitoring camera, and the storage device 303 is illustrated as an external hard disk, the device is not limited thereto.
  • the function and performance of the virtual composite device 500 are selected from the information processing apparatus 100.
  • the present invention is not limited to this and is selected from devices having input functions other than the information processing apparatus 100. May be.
  • the information processing apparatus 100 performs virtualization control on the virtual composite device 500 in which the external device 300A, the internal device 400C, and the external device 300B are combined, and uses the device driver 102.
  • the behavior can be simulated in the same manner as when the virtual composite device 500 is directly connected (locally connected).
  • a session required for each device to be virtualized is related to the number and configuration of the devices. It can be used so that there is only one. Thereby, the number of sessions in data communication can be reduced.
  • the information processing apparatus 100 to recognize the virtual composite device 500, it becomes possible to centrally manage sessions between the information processing apparatus 100 and the device control apparatus 200A.
  • a device control system When a device control apparatus included in the configuration of the virtual composite device combining any predetermined internal device or external device does not exist on the network, when another device control apparatus that satisfies the function request on the network exists, There is a case where a virtual composite device is generated using an existing device control apparatus and is used in an information processing apparatus. Therefore, in the third embodiment, the configuration of the virtual composite device and the connection destination are selected from the connection status of the information processing apparatus and the device control apparatus, and the virtual composite that is a predetermined function included in the device control apparatus according to the selected content. By controlling the device, an appropriate virtual composite device according to the status of the information processing apparatus is provided.
  • FIG. 10 is a block diagram schematically showing a configuration of an example of a device control system according to the third embodiment of the present invention.
  • an information processing apparatus 100 is connected to a device control apparatus 200 via a network such as a local area network (LAN) or a wide area network (WAN).
  • the LAN and WAN are configured by a wired line or a wireless line.
  • the external device 300 is locally connected to the device control apparatus 200 via, for example, a communication interface (for example, USB or HDMI (registered trademark)).
  • a communication interface for example, USB or HDMI (registered trademark)
  • the information processing apparatus 100 is an apparatus such as a personal computer (PC) used by a user.
  • the hardware configuration includes a CPU, an input unit, a display unit, a memory, a communication unit (both not shown), and a storage unit 110, and these hardware units are connected to each other via an internal bus.
  • the CPU controls the entire information processing apparatus 100.
  • the input unit includes, for example, a keyboard and a mouse.
  • a liquid crystal monitor is used as the display unit.
  • the memory is RAM, ROM, or the like.
  • the communication unit is a network I / F for connecting to a LAN and a WAN, and performs data transmission / reception with the device control apparatus 200.
  • the information processing apparatus 100 can transmit / receive data to / from the external device 300 locally connected to the device control apparatus 200, the internal device 400 provided in the device control apparatus 200, and the external device 300.
  • the storage unit 110 stores an operating system that is software (hereinafter referred to as “OS”: not shown), an application 101, a device driver 102, a virtualization control unit 103, a communication control unit 104, and a device information notification unit 105.
  • OS software
  • software relating to other functions is stored. These software are read into the memory and operate according to the control of the CPU.
  • the application 101 instructs the device driver 102 to perform a data input / output request, thereby combining the external device 300 connected to the device control apparatus 200 and a composite device (hereinafter, “a combination of internal devices provided in the device control apparatus 200”). Software for controlling a virtual composite device).
  • the combination of the external device 300 and the internal device 400 is arbitrary, and the number of devices is not limited to this.
  • the device driver 102 is a functional unit for controlling the external device 300, the internal device 400, and the virtual composite device.
  • a data input / output request from the OS or the application 101 is converted into data in a data format corresponding to the external device 300, the internal device 400, and the virtual composite device (hereinafter referred to as “control command”), and the control command is converted into a virtual To the control unit 103.
  • the device driver 102 notifies the application 101 of a response to the control command.
  • the device driver 102 is generally software provided by the manufacturer, and the information processing apparatus 100 controls the external device 300, the internal device 400, and the virtual composite device 500 by the device driver 102 corresponding to each device. Can do.
  • 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.
  • a control command that is, a data input / output request
  • USB data packet data
  • the virtualization control unit 103 directly sends the external device 300, the internal device 400, and the virtual composite device to the information processing apparatus 100.
  • a function (hereinafter referred to as “virtualization control function”) for simulating the same behavior as when connected to (local connection) is provided.
  • the information processing apparatus 100 has the same connection state of the external device 300, the internal device 400, and the virtual composite device 500 as when the external device 300, the internal device 400, and the virtual composite device 500 are locally connected. It is possible to transmit and receive data by recognizing that this is the state.
  • 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 200 via the LAN and WAN, and the device control apparatus 200 and the information processing apparatus 100. Data transmission / reception is controlled between them.
  • the communication control unit 104 controls the start and disconnection of a session between the device control apparatus 200 and the information processing apparatus 100 in response to a data transmission / reception request sent from the application 101 or the device driver 102 via the virtualization control unit 103. I do. Sessions between the device control apparatus 200 and the information processing apparatus 100 are generated for the number of devices that the information processing apparatus 100 performs virtualization control (for the number of internal devices, external devices, and virtual composite devices).
  • the device information notification unit 105 manages virtual composite device configuration information required by the information processing apparatus 100 and is communicable with the device control apparatus 200 having the virtual composite device control unit 211
  • the information on the information processing apparatus 100 is displayed.
  • (Hereinafter referred to as “own device information”) and required device information (hereinafter referred to as “required device information”) are requested to the communication control unit 104.
  • the virtual composite device configuration is requested.
  • the information is information indicating what kind of device the virtual composite device is configured in.
  • the virtual composite device configuration information is based on the first condition that the function request is satisfied.
  • the first condition that satisfies the function request is the video class, storage class, print class, etc. Is to set the power.
  • the second condition is the camera fps (frame per second), the capacity of the storage, the performance may be set such ppm print (Page Per Minute).
  • the device control apparatus 200 is a peripheral device such as a printer or a multifunction peripheral, for example, and includes a CPU, a memory, a communication unit, and a storage unit (both not shown) as a hardware configuration and an internal device 400. . Details of the configuration of the internal device 400 will be described later.
  • the CPU controls the entire device control apparatus 200.
  • the input device 208 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.
  • a liquid crystal monitor is used as the display device 210.
  • the memory is RAM, ROM, or the like.
  • the communication unit is a network I / F for connecting to a LAN and a WAN, and performs data transmission / reception with the information processing apparatus 100.
  • the storage unit stores an OS (not shown) that is software, a communication control unit 201, a virtualization control unit 202, a virtual device control unit 203, a virtual composite device control unit 211, and a device configuration management unit 213.
  • the software related to the function is stored. These software are read into the memory and operate according to the control of the CPU.
  • the communication control unit 201 controls transmission / reception of input / output data and the like performed with the information processing apparatus 100.
  • the virtualization control unit 202 can control the information processing apparatus 100 to recognize the internal device 400, the external device 300, and the virtual composite device 500 as if they were directly connected (local connection) to the information processing apparatus. Therefore, the internal device 400, the external device 300, and the virtual composite device 500 are controlled in accordance with (in conjunction with) a control request from the virtualization control unit 103 of the information processing apparatus 100.
  • the virtual device control unit 203 includes virtual device identification information 204 and a data format conversion processing unit 205. Furthermore, the virtual device control unit 203 has a switching function such as a user interface that switches the internal device 400 provided in the device control apparatus 200 to a virtual USB device.
  • the virtual device identification information 204 is used for causing the information processing apparatus 100 and a virtual composite device control unit 211 described later to recognize the internal device 400 in the same manner as the external device 300. Details of the virtual device identification information 204 will be described later.
  • the data format conversion processing unit 205 performs conversion processing between packet data conforming to the USB data format sent from the virtual composite device control unit 211 and data in a data format that can be processed by the internal device 400, and connects to the internal device 400. Data transmission / reception between the input I / F 207 and the display I / F 209 and the virtual composite device control unit 211 is enabled.
  • the virtual composite device control unit 211 performs control for causing the virtualization control unit 202 to recognize and store an arbitrary plurality of devices (internal devices and external devices) as one virtual composite device.
  • the virtual composite device control unit 211 stores virtual composite device identification information 212.
  • the virtual composite device control unit 211 virtualizes a plurality of devices (internal device, external device) designated by the device configuration management unit 213 described later as one virtual composite device, and designated by the device configuration management unit 213. Control is performed to cause the virtualization control unit 202 to recognize the connection to the information processing apparatus 100.
  • the virtual composite device identification information 212 is used for causing the information processing apparatus 100 to recognize the virtual composite device. Details of the virtual composite device identification information 212 will be described later.
  • the device configuration management unit 213 stores connection information of the external device 300 and the internal device 400 and manages functions provided in each device. Based on the connection notification of necessary device information from the information processing apparatus 100, the function or performance constituting the virtual composite device is selected, and the virtual composite device control unit 211 is requested to create the virtual composite device.
  • connection device information manages information of each device connected to determine the generation and connection of the virtual composite device (hereinafter referred to as “connection device information”), and notifies the information processing device 100 of device information notification.
  • Information (own device information, necessary device information) notified from the unit 105 is also managed as connection device information.
  • the device information of the external device 300 and the internal device 400 that the device control apparatus 200 has is also managed as connection apparatus information.
  • Device information also manages information on external devices and internal devices held by other device control devices connected via the network.
  • the device configuration management unit 213 updates the connection device information every time there is a change in the connection status of the information processing device 100, the external device 300, and the internal device 400 connected to the device control device 200.
  • an external device 300 and an internal device 400 that match the required device information of the information processing apparatus 100 are selected, and virtual composite device generation and connection are controlled by virtual composite device control. Request to unit 211.
  • connection status of each apparatus is reflected in the connection apparatus information for the information processing apparatus 100, the external device 300, and the internal device 400 that are connection targets.
  • “not connected to the virtual composite device” means that the virtual composite device needs to be generated again due to a change in the connection state of the information processing apparatus 100, the external device 300, and the internal device 400 with the device control apparatus 200.
  • the necessary devices are selected in accordance with various condition groups (hereinafter referred to as “device selection criteria”) for specifying the target device possessed by the device configuration management unit 213.
  • the device selection criterion is that the first condition is to satisfy the function request of the necessary device information of the information processing apparatus 100, and the second and subsequent conditions can be arbitrarily set.
  • the priority condition when multiple devices are extracted under the first condition, the determination condition for selecting with priority
  • the limitation condition which satisfies the first condition but specific information
  • the processing apparatus 100 there is a limitation (restriction or prohibition condition) for excluding it from the selection target, and a device is selected in combination with the first condition.
  • the presented condition is an example after the second condition, and the selection condition can set various conditions necessary for selecting a device. And although satisfy
  • the external device 300 includes individual identification information 301 and a communication I / F 302.
  • the external device 300 is an input device having an HID class input device, and is externally connected to the device control device 200 via a USB interface.
  • the individual identification information 301 is information for identifying the external device 300, and is assigned for each model to identify the vendor ID (VID) assigned for each manufacturer that manufactured the device to identify the manufacturer.
  • Product ID (PID) assigned, serial number assigned to each device in order to identify the individual device.
  • the communication I / F 302 is a USB interface or HDMI (registered trademark), and is a functional unit for communicating with the device control apparatus 200. Note that the communication I / F 302 may be other than a USB interface or HDMI (registered trademark) as long as communication with the device control apparatus 200 can be realized.
  • FIG. 1 In the device control system shown in FIG. 1, only one information processing apparatus 100, device control apparatus 200, and external device 300 are shown, but the information processing apparatus 100, device control apparatus 200, and external device are shown.
  • the number of 300 is not limited to the illustrated example.
  • the external device 300 may not be connected to the device control apparatus 200, and the device control system may be configured by only the information processing apparatus 100 and the device control apparatus 200.
  • the device control system may be configured by only the information processing apparatus 100 and the device control apparatus 200.
  • the internal device 400 (input / output device) includes an input device 208 and a display device 210 used as a user interface.
  • the input device 208 and the display device 210 are connected to the internal bus 206 by an input I / F 207 and a display I / F 209, respectively, and are connected to each hardware of the device control device 200 by the internal bus 206.
  • the internal device 400 may use a touch panel provided in the display device 210 as the input device 208.
  • the device control device 200 is an office device such as a printer or a multifunction device, for example.
  • the device control device 200 is not limited to an office device, and may be various embedded devices, mobile phones, or mobile terminal devices. May be. ⁇ About Virtual Device Identification Information 204>
  • the virtual device identification information 204 will be described. Normally, the input device 208 and the display device 210 that are the internal device 400 do not have information corresponding to the individual identification information 301 of the external device 300, so the information processing device 100 and the virtual composite device control unit 211 are not connected to the internal device 400. Cannot be recognized.
  • the virtual device identification information 204 corresponding to the individual identification information is recognized as the USB device similar to the external device 300 in the input device 208 and the display device 210.
  • virtual device identification information 204 is obtained by artificially creating configuration information (hereinafter referred to as “USB descriptor”) that defines the data structure of a USB device.
  • the virtual device identification information 204 is stored in advance in the virtual device control unit 203, but may be generated by the virtual device control unit 203.
  • FIG. 2 is a diagram showing an example of the virtual device identification information 204 shown in FIG. 1, and the virtual device identification information 204 is composed of a USB descriptor.
  • the pseudo USB descriptor shown in FIG. 2 includes a vendor ID, a product ID, a serial number (not shown), a class, a subclass, a protocol, and an interface.
  • the vendor ID is identification information assigned to each manufacturer manufactured by each company, and the product ID is a code assigned by the company or manufacturer having the vendor ID so as not to be duplicated for each product or model.
  • the vendor ID and product ID assigned to the device control apparatus 200 are used.
  • the class, subclass, protocol, and interface are information defined by the USB standard according to the type of device such as a keyboard, mouse, and display. Then, a pseudo USB descriptor that associates the vendor ID and product ID with the class, subclass, protocol, and interface is created, and the virtual device control unit 203 holds (stores) it as the virtual device identification information 204.
  • the input device 208 of this embodiment corresponds to a keyboard and a mouse
  • the display device 210 corresponds to a display.
  • pseudo USB descriptors that is, virtual device identification information 204 are assigned to the keyboard, mouse, and display, respectively.
  • the virtual composite device identification information 212 will be described. Similar to the virtual device identification information 204 described above, the virtual composite device does not have information corresponding to the individual identification information of the device. Therefore, the information processing apparatus 100 cannot recognize the virtual composite device.
  • the virtual composite device control unit 211 assigns virtual composite device identification information 212 corresponding to individual identification information to a virtual composite device, and the information processing apparatus 100 uses the display device 210 and the external device 300 as one virtual composite device.
  • a virtual composite device identification information 212 is a virtual composite device USB descriptor created in a pseudo manner.
  • the virtual composite device identification information 212 is stored in advance in the virtual composite device control unit 211, but based on information on a plurality of devices (internal devices, external devices) designated by the device configuration management unit 213, the virtual composite device identification information 212 is stored. It may be generated by the device control unit 211.
  • FIG. 3 is a diagram showing an example of the virtual composite device identification information 212 shown in FIG. 1, and the virtual composite device identification information 212 includes a USB descriptor.
  • the pseudo USB descriptor shown in the upper part of FIG. 3 is virtual composite device identification information when a virtual composite device is generated by combining the external device 300 corresponding to the keyboard and the display device 210 of the internal device 400 corresponding to the display. is there.
  • the virtual composite device control unit 211 newly assigns a vendor ID, product ID, serial number (not shown), class, subclass, protocol, and interface, and holds (stores) it as virtual composite device identification information 212.
  • FIG. 4 is a diagram showing a device configuration of a virtual composite device 500 in which a plurality of devices are virtualized as one virtual composite device in the device control system shown in FIG.
  • the virtual composite device control unit 211 configures the device configuration information of the virtual composite device 500 based on the device configuration information of the display device 210 of the external device 300 and the internal device 400, and sets a plurality of devices as one virtual composite device 500. Constitute. As illustrated in FIG. 4, when the endpoints of the external device 300 and the display device 210 overlap, the virtual composite device 500 is transferred to another endpoint so that the endpoints do not overlap, and the correspondence relationship is changed.
  • the end point (0x81) of the external device 300 and the end point (0x81) of the display device 210 overlap.
  • the end point of the display device 210 is transferred to 0x83, for example, the correspondence between the end point (0x81) of the display device 210 as the internal device 400 and the end point (0x83) of the display device 210 as the virtual composite device I remember the relationship.
  • the virtual composite device control unit 211 configures the device configuration information of the virtual composite device 500
  • the virtual composite device control unit 211 connects the virtual composite device 500 to the information processing apparatus 100 via the virtualization control unit 202.
  • the virtual composite device 500 is mounted using a driver (not shown) of the virtual composite device 500 incorporated in advance in the OS, and the external device 300 and the display device 210 are recognized as if they were one device. can do.
  • 11A and 11B are sequence diagrams for explaining an operation when the information processing apparatus 100 performs virtualization control of the virtual composite device 500 in the device control system shown in FIG.
  • step S401 virtualization control of the display device 210 of the internal device 400 is started by a user operation from the device control device 200 (step S401).
  • the user displays an operation screen on the display device 210 by a predetermined operation, and operates (connects) the input device 208 of the internal device 400 to start connection to the virtual device control unit 203.
  • connection request is transmitted from the display device 210 to the virtual device control unit 203 by a predetermined operation of the user (step S402).
  • the virtual composite device control unit 211 receives a connection notification of the display device 210 (virtual device identification information 204 of the display device 210) (step S403). At this time, not all devices constituting the virtual composite device are connected. Therefore, the device connection notification is not sent to the virtualization control unit 202.
  • the virtual composite device control unit 211 analyzes device information from the connection notification of the display device 210 received in step S503, and extracts device information managed by the connection device information of the device configuration management unit 213 (step S404).
  • the virtual composite device control unit 211 sends the device information of the display device 210 to the device configuration management unit 213 to notify the connection (step S405).
  • the device configuration management unit 213 adds the device information of the display device 210 received as the connection notification to the connection device information (step S406).
  • virtualization control is started by connecting the external device 300 to the device control apparatus 200 via a communication I / F 302 such as a USB interface.
  • the user connects the external device 300 to the device control apparatus 200 (step S407).
  • a connection request for the external device 300 (individual identification information 301 of the external device 300) is transmitted to the device control apparatus 200, and the virtual composite device control unit 211 is notified that the external device 300 is connected (step). S408).
  • the virtual composite device control unit 211 analyzes device information from the received connection notification of the external device 300, and extracts device information managed by the connection device information of the device configuration management unit 213 (step S409).
  • the virtual composite device control unit 211 sends device information of the external device 300 to the device configuration management unit 213 to notify the connection (step S410).
  • the device configuration management unit 213 adds the device information of the external device 300 received as the connection notification to the connection device information (step S411).
  • the device information notification unit 105 of the information processing apparatus 100 notifies the device configuration management unit 213 of the device control apparatus 200 of its own device information and necessary information.
  • the device information is transmitted to notify the connection (step S412).
  • the device configuration management unit 213 adds the own device information and necessary device information of the information processing device 100 received as the connection notification to the connection device information (step S413).
  • the device configuration management unit 213 selects a device of the virtual composite device 500 after updating the connection device information.
  • the external device 300 and the internal device 400 suitable for the necessary device information of the information processing apparatus 100 are searched according to the device selection criteria to determine whether or not the connection device information exists (step S414).
  • the device selection (step S414) is described only once. However, the device selection may be performed every time the connection device information is updated.
  • the device configuration management unit 213 transmits device information that is a component of the virtual composite device 500 and information about the information processing apparatus 100 that is a connection destination to the virtual composite device control unit 211 to perform virtual composite The generation and connection of the device 500 is requested (step S415).
  • the virtual composite device control unit 211 stores the USB data received from the display device 210 and the external device 300 in the endpoint corresponding to the interface of the virtual composite device according to the result of device selection received from the device configuration management unit 213. Thereby, the virtual composite device control unit 211 converts the USB data received from each device into the USB data of the virtual composite device 500 and generates virtual composite device identification information 212 (step S416).
  • the virtual composite device control unit 211 sends the virtual composite device identification information 212 of the virtual composite device 500 to the virtualization control unit 202 to notify the connection (step S417). Subsequently, the virtualization control unit 202 notifies the information processing apparatus 100 that the virtual composite device 500 is connected (step S418).
  • the virtualization control unit 103 of the information processing apparatus 100 notifies the device driver 102 of the virtual composite device identification information 212 related to the virtual composite device 500 received from the virtualization control unit 202 of the device control apparatus 200 (step S419).
  • the application 101 receives a notification of connection of the virtual composite device 500 from the device driver 102 (step S420).
  • the application 101 instructs the virtualization control unit 103 to start virtualization control of the virtual composite device 500, and the virtualization control unit 103 causes the virtual composite device 500 to start. Start virtualization control.
  • the information processing apparatus 100 generates and activates software components necessary for virtualization control, and starts a connection with the virtual composite device 500 using these software components.
  • the application 101 captures the display screen of the virtual composite device 500 and acquires image data (display screen) (step S421).
  • the application 101 transmits the acquired image data (display screen) of the virtual composite device 500 to the device driver 102 (step S422).
  • the device driver 102 transmits the image data (display screen) received from the application 101 to the virtualization control unit 103 (step S423).
  • the virtualization control unit 103 transmits image data (display screen) to the virtualization control unit 202 of the device control apparatus 200 (step S424).
  • the virtualization control unit 202 transmits image data (display screen) to the virtual composite device control unit 211 (step S425).
  • the virtual composite device control unit 211 determines which device (internal device 400 or external device 300) the received data is based on the USB data endpoint of the virtual composite device 500. Then, the device that transmits the control information is determined. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
  • the USB data of the virtual composite device 500 received as image data is converted into USB data of the display device 210 virtualized by the virtualization control unit 202, and the converted image data (Display screen) is transmitted to the virtual device control unit 203 (step S426).
  • the virtual device control unit 203 transmits image data (display screen) to the display device 210 of the internal device 400.
  • the data format conversion processing unit 205 of the virtual device control unit 203 converts the USB data sent from the virtual composite device control unit 211 into the data format of the display device 210, and displays the display device 210 via the display I / F 209. (Step S427).
  • the display device 210 displays a screen corresponding to the screen data (display screen) sent from the information processing device 100. At this time, the display device 210 displays the screen data (display screen) sent from the information processing device 100 and waits for input to the information processing device 100 (step S428).
  • USB data sent from the virtualization control unit 202 can be passed through the display I / F 209 without data conversion, it is sent to the display device 210 via the display I / F 209 without data conversion. Further, in the case where not all the acquired screen data is transmitted in the above-described step S223 but only the difference from the previously transmitted display image is transmitted, here, the difference display screen is added to the already received display screen. Are combined and displayed.
  • the user inputs operation information for remotely operating the information processing apparatus 100 using the input device of the external device 300 (step S429).
  • the external device 300 transmits operation information to the virtual composite device control unit 211 via the communication I / F 302 of the external device 300 (step S430).
  • the virtual composite device control unit 211 transmits the received operation information (USB data) to the virtualization control unit 202 (step S431). At this time, the virtual composite device control unit 211 converts the operation information (USB data) received from the external device 300 into USB data of the virtual composite device 500 and transmits it to the virtualization control unit 202.
  • the virtualization control unit 202 transmits the received operation information to the virtualization control unit 103 of the information processing apparatus 100 (step S432).
  • the virtualization control unit 103 of the information processing apparatus 100 transmits the received operation information to the device driver 102 (step S433).
  • the device driver 102 transmits the operation information received from the virtualization control unit 103 to the application 101 (step S434).
  • the application 101 executes an operation (processing) according to the operation information received from the device driver 102 (step S435).
  • the information processing apparatus 100 displays the execution result of the process (function) on the display device 210.
  • the image data displayed on the display device 210 is transmitted to the device control device 200 in the same manner as in steps S421 to S428 described above, and image data sent from the information processing device 100 to the display device 210 of the device control device 200. (Display screen) is displayed.
  • step S420 When the connection between the virtual composite device and the application 101 is started in step S420, the processing from step S421 to step S428 (screen transfer processing) and the processing from step S429 to step S435 are performed until the connection is disconnected (terminated). (Remote operation processing) is repeated asynchronously (in parallel). At this time, the virtualization control unit 202, the virtual device control unit 203, and the virtual composite device control unit 211 perform data transmission / reception between the internal device 400 and the information processing apparatus 100 via the network.
  • the user When the user finishes the virtualization control of the virtual composite device 500 by the information processing apparatus 100, the user disconnects one of the devices (external device 300, internal device 400) constituting the virtual composite device 500.
  • the external device 300 When the external device 300 is disconnected while maintaining the connection of the display device 210 (step S436), the external device 300 requests the virtual composite device control unit 211 to disconnect (step S437).
  • the virtual composite device control unit 211 In response to the disconnection of one of the devices constituting the virtual composite device 500, the virtual composite device control unit 211 notifies the virtualization control unit 202 of the end of control of the virtual composite device 500 (step S438).
  • the virtualization control unit 202 notifies the virtualization control unit 103 of the information processing apparatus 100 that the control of the virtual composite device 500 has ended (control end notification) (step S439).
  • the virtualization control unit 103 notifies the device driver 102 of the control end notification received from the virtualization control unit 202 of the device control apparatus (step S440).
  • the device driver 102 notifies the application 101 of the control end notification received from the virtualization control unit 103 (step S441) and cancels the control of the virtual composite device 500. As a result, the communication (connection) between the application 101 and the virtual composite device is disconnected (released).
  • step S442 When the virtual composite device control unit 211 disconnects the connection between the information processing apparatus 100 and the external device 300, the virtual composite device control unit 211 analyzes the device information from the disconnection notification of the external device 300 received in step 537, and the connection apparatus information of the device configuration management unit 213 The device information managed in step S442 is extracted (step S442).
  • the virtual composite device control unit 211 sends device information of the external device 300 to the device configuration management unit 213 to notify the disconnection (step S443).
  • the device configuration management unit 213 identifies connection device information related to the external device 300 from the device information of the external device 300 received as the disconnection notification. As the update of the identified connection device information, the connection information of the information processing device 100 is updated (updated to a state not connected to the virtual composite device 500), and the connection information of the display device 210 is updated (becomes a component of the virtual composite device 500). The device information of the external device 300 is deleted (step S444).
  • Step S414 If the device selection of the virtual composite device 500 is performed by updating the connection device information (step S414), and a device that satisfies the device selection criteria can be extracted from the necessary device information of the information processing device 100, the virtual composite device is generated and connected again. (Steps S415 to S420) are performed, but in this sequence, the case of one device control apparatus 200 and one external device 300 is illustrated, and thus description thereof is omitted. ⁇ About device selection processing>
  • FIG. 12 is a flowchart for explaining device selection processing at the time of generating the virtual composite device 500 in the device control apparatus 200 in the device control system shown in FIG.
  • the device selection process is started by a change in connection status (connection or disconnection) with the information processing apparatus 100, the external device 300, or the internal device 400.
  • the device configuration management unit 213 of the device control apparatus 200 acquires information on the information processing apparatus 100, the external device 300, and the internal device 400 that are connected or disconnected, and reflects the information on the connected apparatus in the connection apparatus information that manages the information on the connected apparatus. (Step S501).
  • the device configuration management unit 213 searches the connection device information for the information processing device 100 that is not connected to the virtual composite device 500, and if it exists, device information required by the target information processing device 100 (required) Device information).
  • the information processing apparatus 100 that is a target to be configured and connected to the virtual composite device 500 according to the priority order of the device selection process determined under an arbitrary condition is specified (step S502). ).
  • the device configuration management unit 213 determines whether there are available external devices 300 and internal devices 400 that satisfy the first condition of the device selection criteria (satisfy the function request of the necessary device information acquired in step S502) (step S102). S503).
  • step S503 When the external device 300 and the internal device 400 satisfying the first condition of the device selection criterion exist (Yes in step S503), the priority order from the external device 300 and the internal device 400 according to the second condition of the device selection criterion and thereafter. High external device 300 and internal device 400 are selected as components of the virtual composite device 500 (step S504).
  • step S503 when the external device 300 and the internal device 400 that satisfy the first condition of the device selection criteria do not exist (No in step S503), the process proceeds to step S507 described later. At this time, the information processing apparatus 100 may be notified that the external device 300 and the internal device 400 that satisfy the necessary device information of the information processing apparatus 100 do not exist.
  • the device configuration management unit 213 requests the virtual composite device control unit 211 to generate a virtual composite device for the external device 300 and the internal device 400 selected in step S504, and the virtual composite device control unit 211 is requested.
  • the external device 300 and the internal device 400 are collected as a virtual composite device (step S505).
  • the virtual composite device control unit 211 connects the virtual composite device 500 generated in step S505 to the information processing apparatus 100 targeted in step S502.
  • the device configuration management unit 213 reflects the connection status of the external device 300 and the internal device 400 that are constituent elements of the connected information processing apparatus 100 and the virtual composite device 500 in the connection apparatus information (step S506).
  • the device configuration management unit 213 determines whether there is an information processing apparatus 100 for which device selection has not been performed (step S507).
  • step S507 If there is an information processing apparatus 100 for which device selection has not been performed (Yes in step S507), the process proceeds to step S502 described above. If there is no information processing apparatus 100 for which device selection has not been performed, the device selection process is terminated.
  • the information processing apparatus 100 notifies the device control apparatus 200 of information (self apparatus information, necessary device information) for generating the virtual composite device 500, and performs device control.
  • the apparatus 200 manages the information notified from the information processing apparatus 100 and the device information of the connected external device 300 and internal device 400 as connection apparatus information, and determines the configuration and connection destination of the virtual composite device 500 from the contents of the connection apparatus information.
  • the virtual composite device 500 required by the information processing apparatus 100 can be provided to the information processing apparatus 100.
  • the device control apparatus 200 dynamically determines the configuration of the virtual composite device 500 and the connection destination according to the connection status, so that the configuration of the virtual composite device 500 and the connection relationship between the information processing apparatus 100 and the virtual composite device 500 are determined. It is possible to provide the information processing apparatus 100 with an appropriate virtual composite device 500 according to the situation.
  • the device control apparatus 200 has been described as having a function of generating the virtual composite device 500.
  • the fourth embodiment is characterized in that the virtual composite device 500 is generated by the mediation apparatus 600 that does not directly perform device control.
  • FIG. 13 is a block diagram schematically showing a configuration of an example of a device control system according to the fourth embodiment of the present invention. Note that the same components as those in the device control system shown in FIG. 10 are denoted by the same reference numerals and description thereof is omitted.
  • the information processing apparatus 100, the device control apparatus 200, and the mediation apparatus 600 are connected via a LAN or WAN, and the external device 300 is connected to the device control apparatus 200 by USB.
  • the device control apparatus 200 includes an input device 208 and a display device 210 as an internal device 400, and the internal device 400 is connected to the internal bus 206 by an input I / F 207 and a display I / F 209.
  • the device information notification unit 105 of the information processing apparatus 100 notifies the mediation apparatus 600 of the own apparatus information and necessary device information.
  • the communication control unit 201 of the device control apparatus 200A notifies the intermediary apparatus 600 of a connection request for the external device 300 and the internal device 400 that the self apparatus has, and the virtual composite device control unit 211 of the intermediary apparatus 600 determines the device from the received connection notification. Information is analyzed, and device information managed by the connection device information of the device configuration management unit 213 is extracted.
  • the communication control unit 201 controls transmission / reception of input / output data and the like performed with the information processing apparatus 100, but all communication with the information processing apparatus 100 is performed via the mediation apparatus 600.
  • the device configuration management unit 605 of the mediation device 600 manages the device information notified from the device information notification unit 105 of the information processing device 100 and the communication control unit 201 of the device control device 200 with the connection device information, and is connected to the information processing. If there is an information processing apparatus 100 that is not connected to the virtual composite device 500, the connection apparatus information is updated each time the connection status of the apparatus 100, the external device 300, and the internal device 400 changes, and the information processing apparatus 100 is required. The external device 300 and the internal device 400 that match the device information are selected, and the virtual composite device control unit 603 is requested to generate and connect the virtual composite device 500.
  • the external device 300 and the internal device 400 include four devices: an external device 300A possessed by the device controller 200A, an input device 208 of the internal device 400, a display device 210 of the internal device 400, and an external device 300B possessed by the device controller 200B.
  • the device configuration management unit 605 manages all device information, and selects devices that meet the conditions from the external device 300 and the internal device 400 that exist according to the device selection criteria from the necessary device information of each information processing apparatus 100.
  • the virtual composite device control unit 603 of the mediation apparatus 600 virtualizes the devices on the plurality of networks designated by the device configuration management unit 605 into one virtual composite device 500 based on the virtual composite device identification information 604, and the device configuration management unit Control that causes the virtualization control unit 602 to recognize the connection to the information processing apparatus 100 designated from 605 is performed.
  • the virtual composite device identification information 604 is the same as the virtual composite device identification information 212 described in the third embodiment, and a description thereof will be omitted.
  • the virtual composite device control unit 603 of the mediation apparatus 600 receives input / output data to the virtual composite device 500 from the communication control unit 104 of the information processing apparatus 100 via the communication control unit 601 and the virtualization control unit 602. Then, it is decomposed into input / output data for the external device 300 and the internal device 400 that are constituent elements of the virtual composite device 500, and connected to the device control apparatus 200 (the external device 300 and internal devices of the constituent elements of the virtual composite device 500). 400 is transmitted to the communication control unit 201 of the device control apparatus 200).
  • the virtual composite device control unit 603 of the mediation apparatus 600 receives input / output data from the communication control unit 201 of the device control apparatus 200 to the information processing apparatus 100 via the communication control unit 601, and the virtual composite device 500. Is transmitted to the communication control unit 104 of the information processing apparatus 100 via the virtualization control unit 602 and the communication control unit 601.
  • the communication control unit 201 of the device control apparatus 200 receives input / output data from the communication control unit 601 of the mediation apparatus 600 to the external device 300 and the internal device 400, and the virtualization control unit 202 and the virtual device control unit 203 use the external device. 300, the data is converted into a data format that the internal device 400 can recognize, and input / output data is transmitted to the external device 300 and the internal device 400.
  • the communication control unit 104 of the information processing apparatus 100 receives input / output data to / from the information processing apparatus 100 from the communication control unit 601 of the mediation apparatus 600, and a data format that the application 101 can recognize by the virtualization control unit 103 and the device driver 102. And notifies the application 101 as a response result from the device.
  • the information processing apparatus 100 notifies the mediation apparatus 600 of information for generating a virtual composite device (self apparatus information, necessary device information), and the device control apparatus 200. Notifies the mediation device 600 of device information of the connected external device 300 and internal device 400, and the mediation device 600 manages the information of each device connected on the network with the connection device information.
  • the virtual composite device is selected, the connection destination is selected, the virtual composite device is controlled using the external device 300 and the internal device 400 of the device control apparatus 200 connected via the network, and the information processing apparatus 100 needs A virtual composite device can be provided to the information processing apparatus 100.
  • a control system can be provided.
  • processing related to the virtual composite device performed by the device control apparatus in the first embodiment and the second embodiment is performed between the device control apparatus and the information processing apparatus by the mediation apparatus 600 described in the fourth embodiment. You may do it.
  • the device control apparatus may execute this control method.
  • 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.
  • the present invention can also be realized by executing the following processing. That is, software (program code) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various recording media, and a computer (or CPU, MPU, or the like) of the system or apparatus performs program code. Is read and executed.
  • the program code itself read from the storage medium realizes the functions of the above-described embodiment, and a computer-readable storage medium storing the program code constitutes the present invention.
  • the OS or the like running on the computer may perform part or all of the actual processing based on the instruction of the program code, and the functions of the above-described embodiments may be realized by the processing. .
  • the function expansion is performed based on the instruction of the program code.
  • the CPU or the like provided in the board or the function expansion unit executes part or all of the actual processing, and the above-described embodiment is realized according to the processing.
  • a storage medium such as a floppy (registered trademark) disk, a hard disk, a magneto-optical disk, an optical disk represented by CD or DVD, a magnetic tape, a nonvolatile memory card, or a ROM is used.
  • the program code may be downloaded via a network.

Abstract

In the present invention, a device controller remotely operates, using an internal device and/or an external device, an information processing apparatus upon a network. The device controller stores, and transmits to the information processing apparatus, virtual composite device identification information for identification as one virtual composite device which is a combination of at least one prescribed function which the internal device or the external device comprises and is connected to the device controller. When controlling, according to a control request from the information processing apparatus, the virtual composite device which the information processing device has identified on the basis of the virtual composite device identification information, the device controller communicates data in a first data format between the virtual composite device and the internal device or the external device, and communicates data in a second data format between the virtual composite device and the device control apparatus, and controls said virtual composite device.

Description

デバイス制御装置、その制御方法、およびデバイス制御システムDevice control apparatus, control method therefor, and device control system
 本発明は、ネットワークを介して接続された情報処理装置から送られる各種要求を処理するためのデバイス制御装置、その制御方法、およびデバイス制御システムに関する。 The present invention relates to a device control apparatus, a control method thereof, and a device control system for processing various requests sent from an information processing apparatus connected via a network.
 近年、ネットワークの普及によって、プリンタ、ストレージ、およびスキャナなどのデバイスを、ネットワーク上の情報処理装置であるクライアントPCが共有デバイスとして利用することが行われている。その実現方法がいくつか提案されている。 In recent years, with the spread of networks, devices such as printers, storages, and scanners are used as shared devices by client PCs that are information processing apparatuses on the network. Several implementation methods have been proposed.
 例えば、ディスプレイ端末、マウスやキーボードといった入出力デバイスを直接サーバ装置に接続して通信を行うシステムが提案されている(特許文献1参照)。特許文献1では、ディスプレイ端末がサーバ装置に接続を試みると、サーバ装置が認証を行う。その後、セッションを開始しユーザがマウスやキーボードといった入出力デバイスの接続をディスプレイ端末のUI上に表示された情報に基づき行う。これにより、ディスプレイ端末を持つユーザと同じグループに属するマウスやキーボードといった機器のグループ化を行っている。 For example, a system has been proposed in which input / output devices such as a display terminal, a mouse, and a keyboard are directly connected to a server device for communication (see Patent Document 1). In Patent Literature 1, when a display terminal attempts to connect to a server device, the server device performs authentication. Thereafter, a session is started, and the user connects an input / output device such as a mouse or a keyboard based on information displayed on the UI of the display terminal. As a result, devices such as a mouse and a keyboard belonging to the same group as a user having a display terminal are grouped.
特開2007−4656号公報JP 2007-4656 A
 しかしながら、特許文献1に記載のシステムでは、サーバ装置と入出力デバイスは、ネットワークを介して接続されているため、サーバ装置と直接接続されていない入出力デバイスについては考慮されていなかった。また、サーバ装置と接続する入出力デバイスの数が増えるとセッションの管理が煩雑となる課題があった。本発明は、上記従来技術の課題であるサーバ装置(デバイス制御装置)と直接接続されていない入出力デバイス(内部デバイス、外部デバイス)を含めたデバイスのセッション制御を行うためになされたものであって、デバイス制御装置が具備する所定の機能である内部デバイスやデバイス制御装置に直結された外部デバイスと、ネットワーク上の異なるデバイス(内部デバイス、外部デバイス)を情報処理装置から制御する場合、これら内部デバイスや外部デバイスの数に基づいたセッション数に関わらず、情報処理装置とデバイス制御装置間の1以上のデバイス(内部デバイス、外部デバイス)を制御できるデバイス制御装置、その制御方法、およびデバイス制御システムを提供することを目的とする。 However, in the system described in Patent Document 1, since the server device and the input / output device are connected via a network, the input / output device that is not directly connected to the server device is not considered. Further, there is a problem that session management becomes complicated as the number of input / output devices connected to the server apparatus increases. The present invention has been made for session control of devices including input / output devices (internal devices, external devices) that are not directly connected to the server device (device control device), which is a problem of the above-described conventional technology. When an information processing device controls an internal device that is a predetermined function of the device control device or an external device directly connected to the device control device and a different device (internal device, external device) on the network, Regardless of the number of sessions based on the number of devices and external devices, a device control apparatus capable of controlling one or more devices (internal device, external device) between the information processing apparatus and the device control apparatus, its control method, and device control system The purpose is to provide.
 さらに本発明は、情報処理装置からネットワーク上の1以上のデバイス制御装置が具備する内部デバイスや外部デバイスを制御する場合に、複数のデバイスを組み合わせて1つのデバイスとして認識させてセッションを利用することにより、そのセッションを利用するデバイス制御装置毎の接続または切断の制御を可能とし、セッション管理の利便性を向上させることを目的とする。 Furthermore, according to the present invention, when an internal device or an external device included in one or more device control apparatuses on a network is controlled from an information processing apparatus, a plurality of devices are combined and recognized as one device to use a session. Thus, it is possible to control connection or disconnection for each device control apparatus that uses the session, and to improve the convenience of session management.
 上記の課題を解決するために、請求項1に記載のデバイス制御装置は、ネットワークを介して情報処理装置に接続され、少なくとも1つの所定の機能を内部デバイスとして認識させるデバイス制御装置であって、前記内部デバイスおよび/または前記デバイス制御装置に接続された外部デバイスから構成される仮想複合デバイスとして識別させるための仮想複合デバイス識別情報を記憶する識別情報記憶手段と、前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信手段と、前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記内部デバイスまたは前記外部デバイスと前記仮想複合デバイスとの間のデータ通信および前記仮想複合デバイスと前記デバイス制御装置との間は第1のデータ形式でデータ通信し、前記情報処理装置と前記デバイス制御装置との間は第2のデータ形式でデータ通信して制御する仮想化制御手段と、を備えることを特徴とする。 In order to solve the above-described problem, the device control apparatus according to claim 1 is a device control apparatus that is connected to an information processing apparatus via a network and recognizes at least one predetermined function as an internal device, Identification information storage means for storing virtual composite device identification information for identifying as a virtual composite device composed of the internal device and / or an external device connected to the device controller, and the virtual composite device identification information An identification information transmitting means for transmitting to the information processing apparatus; and the internal device when controlling the virtual composite device identified by the information processing apparatus based on the virtual composite device identification information in accordance with a control request from the information processing apparatus. Or data communication between the external device and the virtual composite device. And the virtual composite device and the device control apparatus perform data communication in a first data format, and the information processing apparatus and the device control apparatus perform data communication and control in a second data format. Control means.
 上記の課題を解決するために、請求項15に記載の仲介装置は、ネットワークを介して情報処理装置とデバイス制御装置に接続された仲介装置であって、前記デバイス制御装置における少なくとも1つの所定の機能を組み合わせた機能を前記仲介装置に接続された仮想複合デバイスとして認識させるための仮想複合デバイス識別情報を記憶する識別情報記憶手段と、前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信手段と、前記情報処理装置および前記デバイス制御装置が保持する自装置および接続デバイスの情報を管理するための接続装置情報を更新し記憶するデバイス情報管理手段と、前記接続装置情報から前記仮想複合デバイスの構成とその要素となるデバイスを選定するデバイス構成管理手段と、前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記情報処理装置と前記デバイス制御装置との間を第2のデータ形式でデータ通信し制御する仮想化制御手段と、を備えることを特徴とする。 In order to solve the above problem, an intermediary device according to claim 15 is an intermediary device connected to an information processing device and a device control device via a network, and the at least one predetermined device in the device control device Identification information storage means for storing virtual composite device identification information for recognizing a function combining functions as a virtual composite device connected to the mediation apparatus, and identification for transmitting the virtual composite device identification information to the information processing apparatus Information transmission means; device information management means for updating and storing connection apparatus information for managing information of the own apparatus and connection device held by the information processing apparatus and the device control apparatus; and A device configuration management means for selecting a configuration of a composite device and a device that is an element thereof; When the processing device controls the virtual composite device identified based on the virtual composite device identification information in accordance with a control request from the information processing device, second data is transmitted between the information processing device and the device control device. Virtualization control means for performing data communication and controlling in a format.
 本発明によれば、デバイス制御装置が具備する内部デバイスやデバイス制御装置に直接された外部デバイスおよび、ネットワーク上の異なるデバイス(内部デバイス、外部デバイス)を、ネットワークを介して情報処理装置から制御する際に、当該デバイス制御装置の内部デバイスや外部デバイスの数に関わらず、デバイス制御装置と情報処理装置の間のデータ通信におけるセッション数を削減することが可能となる。 According to the present invention, an internal device included in a device control apparatus, an external device directly connected to the device control apparatus, and different devices on the network (internal device, external device) are controlled from the information processing apparatus via the network. In this case, the number of sessions in data communication between the device control apparatus and the information processing apparatus can be reduced regardless of the number of internal devices and external devices of the device control apparatus.
 さらに、複数のデバイス(内部デバイスや外部デバイス)を1つのデバイスとして情報処理装置に認識させることで、1以上のデバイス制御装置と情報処理装置の間のセッションの接続または切断を一元管理でき、利便性を向上させることが可能となる。 Furthermore, by allowing the information processing apparatus to recognize a plurality of devices (internal devices and external devices) as one device, it is possible to centrally manage connection or disconnection of sessions between one or more device control apparatuses and the information processing apparatus. It becomes possible to improve the property.
本発明の第1の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。1 is a block diagram schematically showing a configuration of an example of a device control system according to a first embodiment of the present invention. 図1に示す仮想デバイス識別情報の一例を示す図である。It is a figure which shows an example of the virtual device identification information shown in FIG. 図1に示す仮想複合デバイス識別情報の一例を示す図である。It is a figure which shows an example of the virtual composite device identification information shown in FIG. 図1に示すデバイス制御システムにおける仮想複合デバイスのデバイス構成を示す図である。It is a figure which shows the device structure of the virtual composite device in the device control system shown in FIG. 図1に示すデバイス制御システムにおいて情報処理装置がデバイス制御装置に備えられた内部デバイスとデバイス制御装置に接続された外部デバイスを仮想化制御する際の動作を説明するためのシーケンス図である。FIG. 3 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of an internal device provided in the device control apparatus and an external device connected to the device control apparatus in the device control system illustrated in FIG. 1. 図1に示すデバイス制御システムにおいてデバイス制御装置に接続された外部デバイスのセッションの切断・再接続に連動して情報処理装置に接続された仮想複合デバイスのセッションを切断・再接続する際の動作を説明するためのシーケンス図である。In the device control system shown in FIG. 1, the operation when disconnecting / reconnecting the session of the virtual composite device connected to the information processing apparatus in conjunction with disconnection / reconnection of the session of the external device connected to the device control apparatus It is a sequence diagram for demonstrating. 本発明の第2の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。It is a block diagram which shows roughly the structure of an example of the device control system which concerns on the 2nd Embodiment of this invention. 図7に示すデバイス制御システムにおける仮想複合デバイスのデバイス構成を示す図である。It is a figure which shows the device structure of the virtual composite device in the device control system shown in FIG. 図7に示すデバイス制御システムにおいて情報処理装置が仮想複合デバイスを仮想化制御する際の動作を説明するためのシーケンス図である。FIG. 8 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of a virtual composite device in the device control system illustrated in FIG. 7. 図7に示すデバイス制御システムにおいて情報処理装置が仮想複合デバイスを仮想化制御する際の動作を説明するためのシーケンス図である。FIG. 8 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of a virtual composite device in the device control system illustrated in FIG. 7. 本発明の第3の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。It is a block diagram which shows roughly the structure of an example of the device control system which concerns on the 3rd Embodiment of this invention. 図10に示すデバイス制御システムにおいて情報処理装置がデバイス制御装置に備えられた内部デバイスを仮想化制御する際の動作を説明するためのシーケンス図である。FIG. 11 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of an internal device provided in the device control apparatus in the device control system illustrated in FIG. 10. 図10に示すデバイス制御システムにおいて情報処理装置がデバイス制御装置に備えられた内部デバイスを仮想化制御する際の動作を説明するためのシーケンス図である。FIG. 11 is a sequence diagram for explaining an operation when the information processing apparatus performs virtualization control of an internal device provided in the device control apparatus in the device control system illustrated in FIG. 10. 図10に示すデバイス制御装置によって行われるデバイス選定処理を説明するためのフローチャートである。It is a flowchart for demonstrating the device selection process performed by the device control apparatus shown in FIG. 本発明の第4の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。It is a block diagram which shows roughly the structure of an example of the device control system which concerns on the 4th Embodiment of this invention.
 以下、本発明の実施形態によるデバイス制御システムの一例について図面を参照して説明する。
[第1の実施形態]
Hereinafter, an example of a device control system according to an embodiment of the present invention will be described with reference to the drawings.
[First Embodiment]
 図1は、本発明の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。 FIG. 1 is a block diagram schematically showing an example of the configuration of a device control system according to an embodiment of the present invention.
 図示のデバイス制御システムにおいては、情報処理装置100がローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)を介してデバイス制御装置200に接続されている。LANおよびWANは有線回線または無線回線で構成される。そして、デバイス制御装置200には、例えば、通信インターフェース(例えば、USBまたはHDMI(登録商標))によって外部デバイス300がローカル接続されている。以降の説明では、通信インターフェースをUSBとして説明する。
<情報処理装置100の構成>
In the illustrated device control system, an information processing apparatus 100 is connected to a device control apparatus 200 via a local area network (LAN) or a wide area network (WAN). The LAN and WAN are configured by a wired line or a wireless line. The external device 300 is locally connected to the device control apparatus 200 through, for example, a communication interface (for example, USB or HDMI (registered trademark)). In the following description, the communication interface will be described as USB.
<Configuration of Information Processing Device 100>
 情報処理装置100は、ユーザによって利用されるパーソナルコンピュータ(PC)等の装置である。ハードウェア構成として、CPU、入力部、表示部、メモリ、通信部(ともに不図示)、記憶部110を備え、これらハードウェアは内部バスで相互に接続されている。 The information processing apparatus 100 is an apparatus such as a personal computer (PC) used by a user. The hardware configuration includes a CPU, an input unit, a display unit, a memory, a communication unit (both not shown), and a storage unit 110, and these hardware units are connected to each other via an internal bus.
 CPUは情報処理装置100の全体の制御を司る。入力部は、例えば、キーボードおよびマウスを備えている。表示部として、例えば、液晶モニタが用いられる。メモリはRAMおよびROM等である。 The CPU controls the entire information processing apparatus 100. The input unit includes, for example, a keyboard and a mouse. For example, a liquid crystal monitor is used as the display unit. The memory is a RAM, a ROM, or the like.
 通信部はLANおよびWANなどに接続するためのインターフェースであって、デバイス制御装置200とデータ送受信を行う。これにより、情報処理装置100はデバイス制御装置200にローカル接続された外部デバイス300やデバイス制御装置200に備えられた内部デバイス400とデータ送受信することが可能となる。 The communication unit is an interface for connecting to a LAN and a WAN, and performs data transmission / reception with the device control apparatus 200. As a result, the information processing apparatus 100 can transmit / receive data to / from the external device 300 locally connected to the device control apparatus 200 and the internal device 400 provided in the device control apparatus 200.
 記憶部110には、ソフトウェアであるオペレーティングシステム(以下「OS」と呼ぶ:不図示)、アプリケーション101、デバイスドライバ102、仮想化制御部103および通信制御部104が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。 The storage unit 110 stores an operating system that is software (hereinafter referred to as “OS”: not shown), an application 101, a device driver 102, a virtualization control unit 103, and a communication control unit 104, as well as other functions. Such software is stored. These software are read into the memory and operate according to the control of the CPU.
 アプリケーション101は、デバイスドライバ102に対してデータ入出力要求を指示することにより、デバイス制御装置200に接続された外部デバイス300やデバイス制御装置200に備えられた内部デバイス400を組み合わせた複合デバイス(以下「仮想複合デバイス」と呼ぶ)を制御するためのソフトウェアである。 The application 101 instructs the device driver 102 to perform a data input / output request, thereby combining an external device 300 connected to the device control apparatus 200 and an internal device 400 provided in the device control apparatus 200 (hereinafter referred to as a composite device). Software for controlling a virtual composite device).
 デバイスドライバ102は、外部デバイス300、内部デバイス400、および仮想複合デバイス500を制御するための機能部である。OSまたはアプリケーション101からのデータ入出力要求を、外部デバイス300、内部デバイス400、および後述する図4の仮想複合デバイス500に応じたデータ形式のデータ(以下「制御コマンド」と呼ぶ)に変換して、当該制御コマンドを仮想化制御部103に送る。さらに、デバイスドライバ102は、制御コマンドに対する応答をアプリケーション101に通知する。このデバイスドライバ102は、一般に製造したメーカーによって提供されるソフトウェアであって、情報処理装置100は各デバイスに対応したデバイスドライバ102によって外部デバイス300、内部デバイス400、および仮想複合デバイス500を制御することができる。 The device driver 102 is a functional unit for controlling the external device 300, the internal device 400, and the virtual composite device 500. A data input / output request from the OS or the application 101 is converted into data in a data format corresponding to the external device 300, the internal device 400, and the virtual composite device 500 of FIG. The control command is sent to the virtualization control unit 103. Furthermore, the device driver 102 notifies the application 101 of a response to the control command. The device driver 102 is software provided by a manufacturer that is generally manufactured, and the information processing apparatus 100 controls the external device 300, the internal device 400, and the virtual composite device 500 by the device driver 102 corresponding to each device. Can do.
 仮想化制御部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は、外部デバイス300、内部デバイス400、および仮想複合デバイス500に対するデータ送受信要求に対して、外部デバイス300、内部デバイス400、および仮想複合デバイス500が情報処理装置100に直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする機能(以下「仮想化制御機能」と呼ぶ)を備えている。この仮想化制御機能により、情報処理装置100は外部デバイス300、内部デバイス400、および仮想複合デバイス500の接続状態が、外部デバイス300、内部デバイス400、および仮想複合デバイス500をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。 Further, the virtualization control unit 103 directly responds to the data transmission / reception request to the external device 300, the internal device 400, and the virtual composite device 500 by the external device 300, the internal device 400, and the virtual composite device 500 to the information processing apparatus 100. A function (hereinafter referred to as a “virtualization control function”) for simulating the same behavior as when connected locally (locally). With this virtualization control function, the information processing apparatus 100 has the same connection state of the external device 300, the internal device 400, and the virtual composite device 500 as when the external device 300, the internal device 400, and the virtual composite device 500 are locally connected. It is possible to transmit and receive data by recognizing that this is the state.
 通信制御部104は、仮想化制御部103から送られるUSBデータとLANおよびWANを介してデバイス制御装置200と通信する際のネットワークパケットとの変換処理を行い、デバイス制御装置200と情報処理装置100の間でデータ送受信の制御を行う。 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 200 via the LAN and WAN, and the device control apparatus 200 and the information processing apparatus 100. Data transmission / reception is controlled between them.
 また、通信制御部104は、仮想化制御部103を介してアプリケーション101またはデバイスドライバ102から送られるデータ送受信要求に応じて、デバイス制御装置200と情報処理装置100の間のセッションの開始および切断の制御を行う。デバイス制御装置200と情報処理装置100の間のセッションは、情報処理装置100が仮想化制御するデバイス数分(内部デバイス、外部デバイス、仮想複合デバイスの数分)、生成される。
<デバイス制御装置200の構成>
Also, the communication control unit 104 starts and disconnects a session between the device control apparatus 200 and the information processing apparatus 100 in response to a data transmission / reception request sent from the application 101 or the device driver 102 via the virtualization control unit 103. Take control. Sessions between the device control apparatus 200 and the information processing apparatus 100 are generated for the number of devices that the information processing apparatus 100 performs virtualization control (for the number of internal devices, external devices, and virtual composite devices).
<Configuration of Device Control Device 200>
 デバイス制御装置200は、例えば、プリンタまたは複合機等の周辺機器であって、ハードウェア構成として、CPU、メモリ、通信部、および記憶部(ともに不図示)を備えるとともに、内部デバイス400を備えている。内部デバイス400の構成の詳細は後述する。 The device control apparatus 200 is a peripheral device such as a printer or a multifunction peripheral, for example, and includes a CPU, a memory, a communication unit, and a storage unit (both not shown) as a hardware configuration, and an internal device 400. Yes. Details of the configuration of the internal device 400 will be described later.
 CPUはデバイス制御装置200全体の制御を司る。入力装置208は、例えば、キーボード、テンキーおよびマウス等の入力機器若しくはこれらの機能をソフトウェアで実現したソフトウェアキーボード等である。表示装置210としては、例えば、液晶モニタが用いられる。メモリはRAMおよびROM等である。 CPU controls the entire device control apparatus 200. The input device 208 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 monitor is used as the display device 210. The memory is RAM, ROM, or the like.
 通信部はLANおよびWANに接続するためのインターフェースであって、情報処理装置100とデータ送受信を行う。 The communication unit is an interface for connecting to the LAN and WAN, and performs data transmission / reception with the information processing apparatus 100.
 記憶部には、ソフトウェアであるOS(不図示)、通信制御部201、仮想化制御部202、仮想デバイス制御部203および仮想複合デバイス制御部211が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。 The storage unit stores an OS (not shown) that is software, a communication control unit 201, a virtualization control unit 202, a virtual device control unit 203, and a virtual composite device control unit 211, and software related to other functions. It is remembered. These software are read into the memory and operate according to the control of the CPU.
 通信制御部201は、情報処理装置100との間で行われる入出力データ等の送受信を制御する。 The communication control unit 201 controls transmission / reception of input / output data and the like performed with the information processing apparatus 100.
 仮想化制御部202は、内部デバイス400、外部デバイス300、および仮想複合デバイス500があたかも情報処理装置100に直接的に接続(ローカル接続)されているかのように情報処理装置100へ認識させて制御できるようにするため、情報処理装置100の仮想化制御部103からの制御要求に従って(連動して)仮想複合デバイス500の制御を行う。 The virtualization control unit 202 controls the information processing apparatus 100 to recognize the internal device 400, the external device 300, and the virtual composite device 500 as if they are directly connected (local connection) to the information processing apparatus 100. In order to be able to do this, the virtual composite device 500 is controlled according to (in conjunction with) a control request from the virtualization control unit 103 of the information processing apparatus 100.
 仮想デバイス制御部203は、仮想デバイス識別情報204およびデータ形式変換処理部205を備えている。さらに、仮想デバイス制御部203は、デバイス制御装置200に備えられた内部デバイス400を仮想的なUSBデバイスに切り替えるユーザインターフェース等の切替部を備えている。 The virtual device control unit 203 includes virtual device identification information 204 and a data format conversion processing unit 205. Furthermore, the virtual device control unit 203 includes a switching unit such as a user interface that switches the internal device 400 included in the device control apparatus 200 to a virtual USB device.
 仮想デバイス識別情報204は、情報処理装置100および後述する仮想複合デバイス制御部211に内部デバイス400を外部デバイス300と同様に認識させるために用いる。仮想デバイス識別情報204の詳細は後述する。 The virtual device identification information 204 is used for causing the information processing apparatus 100 and a virtual composite device control unit 211 described later to recognize the internal device 400 in the same manner as the external device 300. Details of the virtual device identification information 204 will be described later.
 データ形式変換処理部205は、仮想複合デバイス制御部211から送られるUSBデータ形式に準拠したパケットデータと内部デバイス400で処理可能なデータ形式のデータとの変換処理を行って、内部デバイス400と接続された入力I/F207およびディスプレイI/F209と、仮想複合デバイス制御部211との間のデータの送受信を可能にしている。 The data format conversion processing unit 205 performs conversion processing between packet data conforming to the USB data format sent from the virtual composite device control unit 211 and data in a data format that can be processed by the internal device 400, and connects to the internal device 400. Data transmission / reception between the input I / F 207 and the display I / F 209 and the virtual composite device control unit 211 is enabled.
 仮想複合デバイス制御部211は、任意の複数のデバイス(内部デバイスや外部デバイス)を一つの仮想複合デバイスとして仮想化制御部202に認識および記憶させる制御を行う。また、仮想複合デバイス制御部211は、仮想複合デバイス識別情報212を記憶している。 The virtual composite device control unit 211 performs control for causing the virtualization control unit 202 to recognize and store an arbitrary plurality of devices (internal devices and external devices) as one virtual composite device. The virtual composite device control unit 211 stores virtual composite device identification information 212.
 仮想複合デバイス識別情報212は、情報処理装置100に仮想複合デバイス500を認識させるために用いる。仮想複合デバイス識別情報212の詳細は後述する。
<外部デバイス300の構成>
The virtual composite device identification information 212 is used for causing the information processing apparatus 100 to recognize the virtual composite device 500. Details of the virtual composite device identification information 212 will be described later.
<Configuration of External Device 300>
 外部デバイス300は、個体識別情報301および通信I/F302を備えている。また、外部デバイス300は、HIDクラスの入力装置を備えた入力デバイスであり、デバイス制御装置200にUSBインターフェースによって外付けで接続されている。 The external device 300 includes individual identification information 301 and a communication I / F 302. The external device 300 is an input device having an HID class input device, and is externally connected to the device control device 200 via a USB interface.
 個体識別情報301は、外部デバイス300を識別するための情報であり、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーID(VID)、機種を識別するために機種毎に割り当てられた製品ID(PID)、機器の個体を識別するために機器毎に割り当てられたシリアル番号などである。 The individual identification information 301 is information for identifying the external device 300, and is assigned for each model to identify the vendor ID (VID) assigned for each manufacturer that manufactured the device to identify the manufacturer. Product ID (PID) assigned, serial number assigned to each device in order to identify the individual device.
 通信I/F302は、USBインターフェースやHDMI(登録商標)であり、デバイス制御装置200と通信を行うための機能部である。なお、通信I/F302は、デバイス制御装置200と通信が実現可能であればUSBインターフェースやHDMI(登録商標)以外でもよい。 The communication I / F 302 is a USB interface or HDMI (registered trademark), and is a functional unit for communicating with the device control apparatus 200. Note that the communication I / F 302 may be other than a USB interface or HDMI (registered trademark) as long as communication with the device control apparatus 200 can be realized.
 なお、図1に示すデバイス制御システムにおいては、情報処理装置100、デバイス制御装置200、および外部デバイス300がそれぞれ1つのみ示されているが、情報処理装置100、デバイス制御装置200、および外部デバイス300の台数は図示の例に限定されるものではない。 In the device control system shown in FIG. 1, only one information processing apparatus 100, device control apparatus 200, and external device 300 are shown, but the information processing apparatus 100, device control apparatus 200, and external device are shown. The number of 300 is not limited to the illustrated example.
 また、デバイス制御装置200に外部デバイス300を接続せず、デバイス制御システムを情報処理装置100およびデバイス制御装置200のみで構成するようにしてもよい。
<内部デバイス400の構成>
Alternatively, the external device 300 may not be connected to the device control apparatus 200, and the device control system may be configured by only the information processing apparatus 100 and the device control apparatus 200.
<Configuration of Internal Device 400>
 内部デバイス400(入出力デバイス)は、ユーザインターフェースとして用いられる入力装置208および表示装置210を備えている。入力装置208および表示装置210はそれぞれ入力I/F207およびディスプレイI/F209によって内部バス206に接続され、内部バス206でデバイス制御装置200の各ハードウェアに接続されている。また、内部デバイス400は、入力装置208として表示装置210に備えられたタッチパネルを用いるようにしてもよい。 The internal device 400 (input / output device) includes an input device 208 and a display device 210 used as a user interface. The input device 208 and the display device 210 are connected to the internal bus 206 by an input I / F 207 and a display I / F 209, respectively, and are connected to each hardware of the device control device 200 by the internal bus 206. The internal device 400 may use a touch panel provided in the display device 210 as the input device 208.
 なお、デバイス制御装置200は、例えば、プリンタまたは複合機等のオフィス機器であるが、デバイス制御装置200はオフィス機器に限定されるものではなく、様々な組込み装置、携帯電話機またはモバイル端末機器であってもよい。
<仮想デバイス識別情報204について>
The device control device 200 is an office device such as a printer or a multifunction device, for example. However, the device control device 200 is not limited to an office device, and may be various embedded devices, mobile phones, or mobile terminal devices. May be.
<About Virtual Device Identification Information 204>
 次に、仮想デバイス識別情報204について説明する。通常、内部デバイス400である表示装置210は、外部デバイス300の個体識別情報に相当する情報を有していないので、情報処理装置100および仮想複合デバイス制御部211は内部デバイス400を認識することができない。 Next, the virtual device identification information 204 will be described. Usually, since the display device 210 that is the internal device 400 does not have information corresponding to the individual identification information of the external device 300, the information processing device 100 and the virtual composite device control unit 211 may recognize the internal device 400. Can not.
 そこで、本実施形態では、デバイス制御装置200が個体識別情報に相当する仮想デバイス識別情報204を入力装置208と表示装置210の各々に割り当てて、情報処理装置100および仮想複合デバイス制御部211に表示装置210を外部デバイス300と同様のUSBデバイスとして認識させる。ここでは、USBデバイスのデータ構造を定義する構成情報(以下「USBディスクリプタ」と呼ぶ)を疑似的に作成したものを仮想デバイス識別情報204とする。仮想デバイス識別情報204は、仮想デバイス制御部203に予め記憶されたものであるが、仮想デバイス制御部203によって生成するようにしてもよい。 Therefore, in the present embodiment, the device control apparatus 200 assigns the virtual device identification information 204 corresponding to the individual identification information to each of the input apparatus 208 and the display apparatus 210 and displays it on the information processing apparatus 100 and the virtual composite device control unit 211. The apparatus 210 is recognized as a USB device similar to the external device 300. Here, virtual device identification information 204 is obtained by artificially creating configuration information (hereinafter referred to as “USB descriptor”) that defines the data structure of a USB device. The virtual device identification information 204 is stored in advance in the virtual device control unit 203, but may be generated by the virtual device control unit 203.
 図2は、図1に示す仮想デバイス識別情報204の一例を示す図であり、仮想デバイス識別情報204はUSBディスクリプタからなる。 FIG. 2 is a diagram showing an example of the virtual device identification information 204 shown in FIG. 1, and the virtual device identification information 204 is composed of a USB descriptor.
 図2に示す疑似的なUSBディスクリプタは、ベンダーID、プロダクトID、シリアル番号(不図示)、クラス、サブクラス、プロトコルおよびインターフェースから構成されている。 The pseudo USB descriptor shown in FIG. 2 includes a vendor ID, a product ID, a serial number (not shown), 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 manufacturer, and the product ID is a code assigned by the company or manufacturer 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 device control apparatus 200 are used.
 また、クラス、サブクラス、プロトコルおよびインターフェースは、キーボード、マウスおよびディスプレイ等デバイスの種類に応じてUSB規格で規定されている情報である。そして、ベンダーIDおよびプロダクトIDと、クラス、サブクラス、プロトコル、およびインターフェースとを関連付けた疑似的なUSBディスクリプタが作成されて、仮想デバイス制御部203が仮想デバイス識別情報204として保持(記憶)する。 Also, the class, subclass, protocol, and interface are information defined by the USB standard according to the type of device such as a keyboard, mouse, and display. Then, a pseudo USB descriptor that associates the vendor ID and product ID with the class, subclass, protocol, and interface is created, and the virtual device control unit 203 holds (stores) it as the virtual device identification information 204.
 本実施形態の入力装置208はキーボードおよびマウスに対応し、表示装置210はディスプレイに対応している。これらキーボード、マウスおよびディスプレイをUSBデバイスとして認識させるために、キーボード、マウス、およびディスプレイのそれぞれへ疑似的なUSBディスクリプタ(つまり、仮想デバイス識別情報204)を割り当てている。
<仮想複合デバイス識別情報212について>
The input device 208 of this embodiment corresponds to a keyboard and a mouse, and the display device 210 corresponds to a display. In order to recognize the keyboard, mouse, and display as USB devices, pseudo USB descriptors (that is, virtual device identification information 204) are assigned to the keyboard, mouse, and display, respectively.
<About Virtual Composite Device Identification Information 212>
 続いて、仮想複合デバイス識別情報212について説明する。前述した仮想デバイス識別情報204と同様に仮想複合デバイス500は、デバイスの個体識別情報に相当する情報を有していない。そのため、情報処理装置100は仮想複合デバイス500を認識することができない。 Subsequently, the virtual composite device identification information 212 will be described. Similar to the virtual device identification information 204 described above, the virtual composite device 500 does not have information corresponding to the individual identification information of the device. Therefore, the information processing apparatus 100 cannot recognize the virtual composite device 500.
 本実施形態では、仮想複合デバイス制御部211が個体識別情報に相当する仮想複合デバイス識別情報212を仮想複合デバイス500に割り当てて、表示装置210と外部デバイス300を一つの仮想複合デバイス500として情報処理装置100に認識させる。ここでは、仮想複合デバイス500のUSBディスクリプタを疑似的に作成したものを仮想複合デバイス識別情報212とする。仮想複合デバイス識別情報212は、仮想複合デバイス制御部211に予め記憶されたものであるが、仮想複合デバイス制御部211によって生成するようにしてもよい。 In this embodiment, the virtual composite device control unit 211 assigns the virtual composite device identification information 212 corresponding to the individual identification information to the virtual composite device 500, and processes the display device 210 and the external device 300 as one virtual composite device 500. The apparatus 100 is made to recognize. Here, a virtual composite device identification information 212 is created by pseudo-creating a USB descriptor of the virtual composite device 500. The virtual composite device identification information 212 is stored in advance in the virtual composite device control unit 211, but may be generated by the virtual composite device control unit 211.
 図3は、図1に示す仮想複合デバイス識別情報212の一例を示す図であり、仮想複合デバイス識別情報212はUSBディスクリプタからなる。 FIG. 3 is a diagram showing an example of the virtual composite device identification information 212 shown in FIG. 1, and the virtual composite device identification information 212 includes a USB descriptor.
 図3の上段に示す疑似的なUSBディスクリプタは、キーボードに対応する外部デバイス300とディスプレイに対応する内部デバイス400の表示装置210を組み合わせた仮想複合デバイス500を生成した際の、仮想複合デバイス識別情報である。 The pseudo USB descriptor shown in the upper part of FIG. 3 is virtual composite device identification information when the virtual composite device 500 is generated by combining the external device 300 corresponding to the keyboard and the display device 210 of the internal device 400 corresponding to the display. It is.
 仮想複合デバイス制御部211は、新たにベンダーID、プロダクトID、シリアル番号(不図示)、クラス、サブクラス、プロトコルおよびインターフェースを割り当て、仮想複合デバイス識別情報212として保持(記憶)する。
<仮想複合デバイス500のデバイス構成>
The virtual composite device control unit 211 newly assigns a vendor ID, product ID, serial number (not shown), class, subclass, protocol, and interface, and holds (stores) it as virtual composite device identification information 212.
<Device Configuration of Virtual Composite Device 500>
 図4は、図1に示すデバイス制御システムにおいて複数のデバイスを一つの仮想複合デバイスとして仮想化した仮想複合デバイス500のデバイス構成を示す図である。 FIG. 4 is a diagram showing a device configuration of a virtual composite device 500 in which a plurality of devices are virtualized as one virtual composite device in the device control system shown in FIG.
 仮想複合デバイス制御部211は、外部デバイス300と内部デバイス400の表示装置210のデバイス構成情報に基づいて、仮想複合デバイス500のデバイス構成情報を構成し、複数のデバイスを1つの仮想複合デバイス500として構成する。図4に例示するように、外部デバイス300と表示装置210のエンドポイントが重複している場合、仮想複合デバイス500上では、エンドポイントが重複しないように別のエンドポイントに振り替え、その対応関係を記憶する。なお、図4の例示では、外部デバイス300のエンドポイント(0x81)と表示装置210のエンドポイント(0x81)が重複している。そのため、仮想複合デバイス500では表示装置210のエンドポイントを0x83に振り替え、例えば、内部デバイス400として表示装置210のエンドポイント(0x81)と仮想複合デバイスとしての表示装置210のエンドポイント(0x83)の対応関係を記憶している。 The virtual composite device control unit 211 configures device configuration information of the virtual composite device 500 based on the device configuration information of the display device 210 of the external device 300 and the internal device 400, and sets a plurality of devices as one virtual composite device 500. Constitute. As illustrated in FIG. 4, when the endpoints of the external device 300 and the display device 210 overlap, the virtual composite device 500 is transferred to another endpoint so that the endpoints do not overlap, and the correspondence relationship is changed. Remember. In the example of FIG. 4, the end point (0x81) of the external device 300 and the end point (0x81) of the display device 210 overlap. Therefore, in the virtual composite device 500, the endpoint of the display device 210 is transferred to 0x83, for example, the correspondence between the endpoint (0x81) of the display device 210 as the internal device 400 and the endpoint (0x83) of the display device 210 as the virtual composite device I remember the relationship.
 仮想複合デバイス制御部211は、仮想複合デバイス500のデバイス構成情報を構成すると、仮想化制御部202を介して、情報処理装置100へ仮想複合デバイス500を接続する。情報処理装置100において、予めOSに組み込まれている仮想複合デバイス500のドライバ(不図示)を用いて仮想複合デバイス500をマウントし、外部デバイス300と表示装置210をあたかも一つのデバイスのように認識することができる。
<仮想複合デバイス500の制御シーケンス>
When the virtual composite device control unit 211 configures the device configuration information of the virtual composite device 500, the virtual composite device control unit 211 connects the virtual composite device 500 to the information processing apparatus 100 via the virtualization control unit 202. In the information processing apparatus 100, the virtual composite device 500 is mounted using a driver (not shown) of the virtual composite device 500 incorporated in advance in the OS, and the external device 300 and the display device 210 are recognized as if they were one device. can do.
<Control Sequence of Virtual Composite Device 500>
 図5は、図1に示すデバイス制御システムにおいて情報処理装置100が仮想複合デバイス500を仮想化制御する際の動作を説明するためのシーケンス図である。ここでは、内部デバイス400の表示装置210と外部デバイス300を一つの仮想複合デバイス500とする場合について説明する。 FIG. 5 is a sequence diagram for explaining an operation when the information processing apparatus 100 performs virtualization control of the virtual composite device 500 in the device control system shown in FIG. Here, a case where the display device 210 of the internal device 400 and the external device 300 are used as one virtual composite device 500 will be described.
 まず、ユーザがデバイス制御装置200からユーザ操作によって内部デバイス400の表示装置210の仮想化制御を開始させる(ステップS101)。具体的には、ユーザは所定の操作によって表示装置210に操作画面を表示させ、内部デバイス400の入力装置208を操作し、仮想複合デバイス500を構成する内部デバイス400の表示装置210と外部デバイス300を選択して仮想デバイス制御部203への接続を開始させる。ここで、選択可能な外部デバイス300は、情報処理装置100が記憶しているデバイスドライバ102に基づくものである。なお、仮想複合デバイス500を構成するために内部デバイス400および外部デバイス300を選択するとして説明したが、内部デバイス400または外部デバイス300のデバイス名を選択するのでなく内部デバイス400または外部デバイス300が具備する所定の機能を選択することも可能である。 First, the user starts virtualization control of the display device 210 of the internal device 400 by a user operation from the device control device 200 (step S101). Specifically, the user causes the display device 210 to display an operation screen by a predetermined operation, operates the input device 208 of the internal device 400, and displays the display device 210 and the external device 300 of the internal device 400 constituting the virtual composite device 500. To start connection to the virtual device control unit 203. Here, the selectable external device 300 is based on the device driver 102 stored in the information processing apparatus 100. In addition, although the description has been given on the assumption that the internal device 400 and the external device 300 are selected in order to configure the virtual composite device 500, the internal device 400 or the external device 300 does not select the device name of the internal device 400 or the external device 300. It is also possible to select a predetermined function to be performed.
 ユーザの所定の操作によって、表示装置210が仮想デバイス制御部203に対して接続要求をUSBデータとして送信する(ステップS102)。 The display device 210 transmits a connection request as USB data to the virtual device control unit 203 by a predetermined operation of the user (step S102).
 仮想複合デバイス制御部211は、表示装置210に係る仮想デバイス識別情報204をUSBデータとして受信する(ステップS103)。なお、この時点ではステップS101で選択した仮想複合デバイス500を構成する全てのUSBデバイスが接続されていない。そのため、仮想化制御部202へデバイスの接続通知は行わない。ただし、表示装置210を単体で仮想複合デバイス500として構成した場合は、デバイスの接続通知を行い仮想化制御が開始される。 The virtual composite device control unit 211 receives the virtual device identification information 204 related to the display device 210 as USB data (step S103). At this time, not all USB devices constituting the virtual composite device 500 selected in step S101 are connected. Therefore, the device connection notification is not sent to the virtualization control unit 202. However, when the display device 210 is configured as a single virtual composite device 500, device connection notification is made and virtualization control is started.
 加えて、仮想複合デバイス500を構成するデバイスとして選択されなかった内部デバイス400または外部デバイス300が、仮想複合デバイス500と共存することも可能である。ここで共存とは、仮想複合デバイス500とそれ以外のデバイスを別のセッションで管理することであり、情報処理装置100には仮想複合デバイス500とそれ以外のデバイスとして区別し認識される。このような場合に仮想デバイス制御部203は、仮想化制御部202へ共存するデバイスの接続通知を行い、デバイス制御装置200と情報処理装置100の間で仮想化制御が行われる。 In addition, the internal device 400 or the external device 300 that is not selected as a device constituting the virtual composite device 500 can coexist with the virtual composite device 500. Here, coexistence means managing the virtual composite device 500 and other devices in separate sessions, and the information processing apparatus 100 distinguishes and recognizes the virtual composite device 500 and other devices. In such a case, the virtual device control unit 203 notifies the virtualization control unit 202 of connection of coexisting devices, and virtualization control is performed between the device control apparatus 200 and the information processing apparatus 100.
 続いて、デバイス制御装置200にUSBケーブルを介して外部デバイス300をローカル接続することによって仮想化制御が開始されることを説明する。 Subsequently, it will be described that the virtualization control is started by locally connecting the external device 300 to the device control apparatus 200 via a USB cable.
 ユーザは外部デバイス300をデバイス制御装置200に接続する(ステップS104)。これにより、外部デバイス300の個体識別情報301が通信I/F302を介してデバイス制御装置200にUSBデータとして送信されて、仮想複合デバイス制御部211に外部デバイス300が接続された旨が通知される(ステップS105)。 The user connects the external device 300 to the device control apparatus 200 (step S104). As a result, the individual identification information 301 of the external device 300 is transmitted as USB data to the device control apparatus 200 via the communication I / F 302 and the virtual composite device control unit 211 is notified that the external device 300 is connected. (Step S105).
 仮想複合デバイス制御部211は、表示装置210と外部デバイス300から受信したUSBデータを、図4の構成に基づいて仮想複合デバイス500のインターフェースに対応するエンドポイントに格納する。これにより、仮想複合デバイス制御部211は、それぞれのデバイスから受信したUSBデータを、表示装置210のUSBデータと外部デバイス300のUSBデータを合わせて一つの仮想複合デバイス500のUSBデータ形式に変換して仮想複合デバイス識別情報212を生成する(ステップS106)。なお、仮想複合デバイス500を構成する全てのデバイスが揃うことで仮想化制御が開始されると例示したが、これに限定するものではない。表示装置210が選択された際は、通常の内部デバイス400としての仮想化制御を行うために、情報処理装置100への接続通知を行い、外部デバイス300が接続された際に、表示装置210と外部デバイス300を1つの仮想複合デバイス500として接続通知を行うことも可能である。 The virtual composite device control unit 211 stores the USB data received from the display device 210 and the external device 300 in the endpoint corresponding to the interface of the virtual composite device 500 based on the configuration of FIG. Accordingly, the virtual composite device control unit 211 converts the USB data received from each device into the USB data format of one virtual composite device 500 by combining the USB data of the display device 210 and the USB data of the external device 300. Then, the virtual composite device identification information 212 is generated (step S106). In addition, although it illustrated that virtualization control was started when all the devices which comprise the virtual composite device 500 were gathered, it is not limited to this. When the display device 210 is selected, in order to perform virtualization control as a normal internal device 400, a connection notification to the information processing device 100 is performed, and when the external device 300 is connected, the display device 210 and It is also possible to notify connection of the external device 300 as one virtual composite device 500.
 仮想複合デバイス制御部211は、仮想化制御部202に仮想複合デバイス500の仮想複合デバイス識別情報212を送信して接続を通知する(ステップS107)。続いて、仮想化制御部202は、USBデータ形式からネットワークパケットのデータへ変換し、通信制御部201を介して情報処理装置100に仮想複合デバイス500が接続された旨をネットワークパケットのデータとして通知する(ステップS108)。 The virtual composite device control unit 211 sends the virtual composite device identification information 212 of the virtual composite device 500 to the virtualization control unit 202 to notify the connection (step S107). Subsequently, the virtualization control unit 202 converts the USB data format into network packet data, and notifies the information processing apparatus 100 that the virtual composite device 500 is connected as network packet data via the communication control unit 201. (Step S108).
 情報処理装置100の仮想化制御部103は、デバイス制御装置200の仮想化制御部202から受信した仮想複合デバイス500に係る仮想複合デバイス識別情報212をデバイスドライバ102に通知する(ステップS109)。このとき、通信制御部104がデバイス制御装置200から受信したネットワークパケットのデータ形式を仮想複合デバイス500のUSBデータ形式に変換している。 The virtualization control unit 103 of the information processing apparatus 100 notifies the device driver 102 of the virtual composite device identification information 212 related to the virtual composite device 500 received from the virtualization control unit 202 of the device control apparatus 200 (step S109). At this time, the communication control unit 104 converts the data format of the network packet received from the device control apparatus 200 into the USB data format of the virtual composite device 500.
 デバイスドライバ102は、アプリケーション101に仮想複合デバイス500の接続の通知を送信する(ステップS110)。ここでアプリケーション101は、仮想複合デバイス500の接続の通知を受けると、仮想化制御部103に仮想複合デバイス500の仮想化制御の開始を指示し、仮想化制御部103は、仮想複合デバイス500の仮想化制御を開始する。そして、情報処理装置100は、仮想化制御に必要なソフトウェア部品を生成・起動し、これらのソフトウェア部品を使用して仮想複合デバイス500との接続を開始する。 The device driver 102 transmits a notification of the connection of the virtual composite device 500 to the application 101 (step S110). When the application 101 receives a notification of the connection of the virtual composite device 500, the application 101 instructs the virtualization control unit 103 to start virtualization control of the virtual composite device 500. The virtualization control unit 103 Start virtualization control. Then, the information processing apparatus 100 generates and activates software components necessary for virtualization control, and starts a connection with the virtual composite device 500 using these software components.
 仮想複合デバイス500とアプリケーション101の接続が開始されると、アプリケーション101は仮想複合デバイス500における表示装置の表示画面のキャプチャを行い、表示画面を取得する(ステップS111)。 When the connection between the virtual composite device 500 and the application 101 is started, the application 101 captures the display screen of the display device in the virtual composite device 500 and acquires the display screen (step S111).
 アプリケーション101は、取得した仮想複合デバイス500の表示画面をデバイスドライバ102に送信する(ステップS112)。デバイスドライバ102は、アプリケーション101から受取った表示画面を仮想化制御部103に送信する(ステップS113)。 The application 101 transmits the acquired display screen of the virtual composite device 500 to the device driver 102 (step S112). The device driver 102 transmits the display screen received from the application 101 to the virtualization control unit 103 (step S113).
 仮想化制御部103は、デバイス制御装置200の仮想化制御部202に表示画面をネットワークパケットのデータに変換して送信する(ステップS114)。仮想化制御部202は仮想複合デバイス制御部211に表示画面を仮想複合デバイス500のUSBデータとして送信する(ステップS115)。 The virtualization control unit 103 converts the display screen into network packet data and transmits it to the virtualization control unit 202 of the device control apparatus 200 (step S114). The virtualization control unit 202 transmits the display screen as USB data of the virtual composite device 500 to the virtual composite device control unit 211 (step S115).
 仮想複合デバイス制御部211は、図4の構成に基づいて、仮想複合デバイス500のUSBデータのエンドポイントに基づいて受信したデータがどのデバイス(内部デバイス400または外部デバイス300)の制御情報であるか判断し、制御情報を送信するデバイスを決定する。エンドポイントが重複して振り替えている場合は、仮想複合デバイス制御部211に記憶した対応関係に基づいて判断を行う。 Based on the configuration of FIG. 4, the virtual composite device control unit 211 determines which device (internal device 400 or external device 300) the data received based on the USB data endpoint of the virtual composite device 500 is. Determine and determine a device to transmit control information. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
 図5のシーケンスにおいては、表示画面情報として受信した仮想複合デバイス500のUSBデータを、仮想複合デバイス制御部211によって仮想化された表示装置210のUSBデータ形式へと変換し、変換した表示画面情報を仮想デバイス制御部203へと送信する(ステップS116)。 In the sequence of FIG. 5, the USB data of the virtual composite device 500 received as the display screen information is converted into the USB data format of the display device 210 virtualized by the virtual composite device control unit 211, and the converted display screen information is displayed. Is transmitted to the virtual device control unit 203 (step S116).
 仮想デバイス制御部203は内部デバイス400の表示装置210に表示画面を送信する。このとき、仮想デバイス制御部203のデータ形式変換処理部205は、仮想複合デバイス制御部211から送られるUSBデータを表示装置210のデータ形式に変換して、ディスプレイI/F209を介して表示装置210に送信する(ステップS117)。 The virtual device control unit 203 transmits a display screen to the display device 210 of the internal device 400. At this time, the data format conversion processing unit 205 of the virtual device control unit 203 converts the USB data sent from the virtual composite device control unit 211 into the data format of the display device 210, and displays the display device 210 via the display I / F 209. (Step S117).
 そして、表示装置210は、情報処理装置100から送られてくる画面データに応じた画面を表示する。このとき、表示装置210は、情報処理装置100から送られてくる画面データ(受信した表示画面)を表示し、情報処理装置100に対する入力待ち状態となる(ステップS118)。 Then, the display device 210 displays a screen corresponding to the screen data sent from the information processing device 100. At this time, the display device 210 displays the screen data (received display screen) sent from the information processing device 100 and waits for input to the information processing device 100 (step S118).
 なお、仮想化制御部202から送られるUSBデータをデータ変換せずにディスプレイI/F209に通すことができる場合は、データ変換せずにディスプレイI/F209を介して表示装置210に送る。また、前述のステップS115で、取得した画面データを全て送信するのではなく、前回送信した表示画像との差分のみを送信する場合には、ここで、既に受信済みの表示画面に差分の表示画面を合成して表示する。 If the USB data sent from the virtualization control unit 202 can be passed through the display I / F 209 without data conversion, it is sent to the display device 210 via the display I / F 209 without data conversion. Further, in the case where not all the acquired screen data is transmitted in the above-described step S115 but only the difference from the previously transmitted display image is transmitted, the difference display screen is added to the already received display screen. Are combined and displayed.
 ユーザは、外部デバイス300の入力装置を用いて情報処理装置100を遠隔操作するための操作情報を入力する(ステップS119)。 The user inputs operation information for remotely operating the information processing apparatus 100 using the input device of the external device 300 (step S119).
 続いて、外部デバイス300は、外部デバイス300の通信I/F302を介して仮想複合デバイス制御部211に操作情報をUSBデータとして送信する(ステップS120)。 Subsequently, the external device 300 transmits operation information as USB data to the virtual composite device control unit 211 via the communication I / F 302 of the external device 300 (step S120).
 仮想複合デバイス制御部211は、受信した操作情報(USBデータ)を仮想化制御部202に送信する(ステップS121)。このとき、仮想複合デバイス制御部211は、外部デバイス300から受信した操作情報(USBデータ)を仮想複合デバイス500のデータ形式に変換して仮想化制御部202に送信する。 The virtual composite device control unit 211 transmits the received operation information (USB data) to the virtualization control unit 202 (step S121). At this time, the virtual composite device control unit 211 converts the operation information (USB data) received from the external device 300 into the data format of the virtual composite device 500 and transmits it to the virtualization control unit 202.
 仮想化制御部202は、USBデータ形式からネットワークパケットのデータへ変換し、通信制御部201を介して情報処理装置100の仮想化制御部103に受信した操作情報をネットワークパケットのデータとして送信する(ステップS122)。情報処理装置100の仮想化制御部103は、受信した操作情報をデバイスドライバ102に送信する(ステップS123)。デバイスドライバ102は、仮想化制御部103から受け取った操作情報をアプリケーション101に送信する(ステップS124)。 The virtualization control unit 202 converts the USB data format into network packet data, and transmits the received operation information as network packet data to the virtualization control unit 103 of the information processing apparatus 100 via the communication control unit 201 ( Step S122). The virtualization control unit 103 of the information processing apparatus 100 transmits the received operation information to the device driver 102 (step S123). The device driver 102 transmits the operation information received from the virtualization control unit 103 to the application 101 (step S124).
 続いて、アプリケーション101は、デバイスドライバ102から受信した操作情報に応じた操作(処理)を実行する(ステップS125)。 Subsequently, the application 101 executes an operation (processing) according to the operation information received from the device driver 102 (step S125).
 このとき、情報処理装置100は、処理(機能)の実行結果を表示装置210に表示する。この表示装置210に表示された画像データは、上述したステップS113~ステップS120と同様にデバイス制御装置200に送信され、デバイス制御装置200の表示装置210に情報処理装置100から送られてくる画像データ(表示画面)が表示される。 At this time, the information processing apparatus 100 displays the execution result of the process (function) on the display device 210. The image data displayed on the display device 210 is transmitted to the device control device 200 in the same manner as steps S113 to S120 described above, and image data sent from the information processing device 100 to the display device 210 of the device control device 200. (Display screen) is displayed.
 なお、ステップS110において仮想複合デバイス500とアプリケーション101の接続が開始されると、その接続が切断(終了)されるまで、ステップS111~ステップS118の処理(画面転送処理)とステップS119~ステップS125の処理(遠隔操作処理)を非同期(並列)で繰り返す。このとき、仮想化制御部202、仮想デバイス制御部203および仮想複合デバイス制御部211は内部デバイス400と情報処理装置100との間でネットワークを介してデータ送受信を行う。 When the connection between the virtual composite device 500 and the application 101 is started in step S110, the processing from step S111 to step S118 (screen transfer processing) and the processing from step S119 to step S125 are performed until the connection is disconnected (terminated). Repeat the process (remote operation process) asynchronously (in parallel). At this time, the virtualization control unit 202, the virtual device control unit 203, and the virtual composite device control unit 211 perform data transmission / reception between the internal device 400 and the information processing apparatus 100 via the network.
 また、ステップS101において内部デバイス400の表示装置210で仮想複合デバイス500を構成するデバイスを選択するとして説明したが、外部デバイス300から仮想複合デバイス500を構成するデバイスを選択することも可能である。加えて、仮想複合デバイス500を構成するデバイスを選択することなく、予めOSに組み込まれている仮想複合デバイス500を構成可能なデバイスのうち接続されたすべての内部デバイス400および外部デバイス300を一つの仮想複合デバイス500としてもよい。 In step S101, the display device 210 of the internal device 400 has been described as selecting a device constituting the virtual composite device 500. However, it is also possible to select a device constituting the virtual composite device 500 from the external device 300. In addition, all of the connected internal devices 400 and external devices 300 among the devices that can configure the virtual composite device 500 incorporated in the OS in advance without selecting a device that configures the virtual composite device 500 are combined into one. The virtual composite device 500 may be used.
 図6は、図1に示すデバイス制御システムにおいて、図5に示す仮想複合デバイス500の接続処理の後に、情報処理装置100が仮想複合デバイス500との接続を切断して再接続する際の動作を説明するためのシーケンス図である。 FIG. 6 illustrates an operation when the information processing apparatus 100 disconnects and reconnects to the virtual composite device 500 after the connection processing of the virtual composite device 500 illustrated in FIG. 5 in the device control system illustrated in FIG. It is a sequence diagram for demonstrating.
 ユーザは、情報処理装置100による仮想複合デバイス500の仮想化制御を終了させる場合、仮想複合デバイス500を構成しているデバイスのいずれかを切断する。ここでは、外部デバイス300を切断する場合を例として説明する。 When the user ends the virtualization control of the virtual composite device 500 by the information processing apparatus 100, the user disconnects one of the devices constituting the virtual composite device 500. Here, a case where the external device 300 is disconnected will be described as an example.
 外部デバイス300に対するユーザ操作により、仮想複合デバイス制御部211に対する表示装置210の接続を維持し、外部デバイス300が切断される(ステップS201)。外部デバイス300は、仮想複合デバイス制御部211にUSBデータ(第1のデータ形式)として切断要求する(ステップS202)。仮想複合デバイス制御部211は、仮想複合デバイス500を構成するデバイスの一つが切断されたことを受け、仮想化制御部202に仮想複合デバイス500のUSBデータとして制御終了を通知する(ステップS203)。 The user operation on the external device 300 maintains the connection of the display device 210 to the virtual composite device control unit 211, and the external device 300 is disconnected (step S201). The external device 300 requests the virtual composite device control unit 211 to disconnect as USB data (first data format) (step S202). In response to the disconnection of one of the devices constituting the virtual composite device 500, the virtual composite device control unit 211 notifies the virtualization control unit 202 of the end of control as USB data of the virtual composite device 500 (step S203).
 続いて、仮想化制御部202は、情報処理装置100の仮想化制御部103に仮想複合デバイス500の制御が終了された旨(制御終了通知)をネットワークパケットのデータとして通知する(ステップS204)。仮想化制御部103は、デバイス制御装置の仮想化制御部202から受信した制御終了通知をデバイスドライバ102に通知する(ステップS205)。 Subsequently, the virtualization control unit 202 notifies the virtualization control unit 103 of the information processing apparatus 100 that the control of the virtual composite device 500 is ended (control end notification) as network packet data (step S204). The virtualization control unit 103 notifies the device driver 102 of the control end notification received from the virtualization control unit 202 of the device control apparatus (step S205).
 デバイスドライバ102は、仮想化制御部103から受信した制御終了通知をアプリケーション101に通知する(ステップS206)と共に、仮想複合デバイス500の制御を解除する。これによりアプリケーション101と仮想複合デバイス500の通信(接続)が切断(解除)される。なお、仮想化制御部202は、仮想複合デバイス500として接続が切断後、切断していないデバイス(ここでは、表示装置210)を仮想複合デバイス500として情報処理装置100に認識させるのではなく、表示装置210を内部デバイス400として認識させることも可能である。 The device driver 102 notifies the application 101 of the control end notification received from the virtualization control unit 103 (step S206) and cancels the control of the virtual composite device 500. As a result, communication (connection) between the application 101 and the virtual composite device 500 is disconnected (released). Note that the virtualization control unit 202 does not cause the information processing apparatus 100 to recognize the device (here, the display device 210) that has not been disconnected after being disconnected as the virtual composite device 500 as the virtual composite device 500, instead of displaying it. It is also possible to recognize the apparatus 210 as the internal device 400.
 続いて、外部デバイス300に対するユーザ操作により、仮想複合デバイス制御部211に対する表示装置210の接続は維持したまま、外部デバイス300が再度接続される(ステップS207)と、これにより、仮想複合デバイス制御部211に外部デバイス300が接続された旨がUSBデータとして通知される(ステップS208)。 Subsequently, when the external device 300 is connected again by a user operation on the external device 300 while maintaining the connection of the display device 210 to the virtual composite device control unit 211 (step S207), the virtual composite device control unit The fact that the external device 300 is connected to 211 is notified as USB data (step S208).
 仮想複合デバイス制御部211は、仮想複合デバイス500を構成するデバイスがすべて接続されたことを受け、再度、仮想複合デバイス500を生成する(ステップS209)。仮想複合デバイス制御部211は、仮想化制御部202に仮想複合デバイス500の制御開始を仮想複合デバイス500のUSBデータとして通知する(ステップS210)。 The virtual composite device control unit 211 generates the virtual composite device 500 again in response to all the devices constituting the virtual composite device 500 being connected (step S209). The virtual composite device control unit 211 notifies the virtualization control unit 202 of the start of control of the virtual composite device 500 as USB data of the virtual composite device 500 (step S210).
 続いて、仮想化制御部202は、情報処理装置100の仮想化制御部103に仮想複合デバイス500の制御が開始された旨(制御開始通知)をネットワークパケットのデータとして通知する(ステップS211)。仮想化制御部103は、デバイス制御装置の仮想化制御部202から受信した制御開始通知をデバイスドライバ102に通知する(ステップS212)。 Subsequently, the virtualization control unit 202 notifies the virtualization control unit 103 of the information processing apparatus 100 that the control of the virtual composite device 500 has been started (control start notification) as network packet data (step S211). The virtualization control unit 103 notifies the device driver 102 of the control start notification received from the virtualization control unit 202 of the device control apparatus (step S212).
 デバイスドライバ102は、仮想化制御部103から受信した制御開始通知をアプリケーション101に通知する(ステップS213)と共に、仮想複合デバイス500の制御を開始する。これによりアプリケーション101と仮想複合デバイス500の通信(接続)が接続(開始)される。 The device driver 102 notifies the application 101 of the control start notification received from the virtualization control unit 103 (step S213) and starts control of the virtual composite device 500. As a result, communication (connection) between the application 101 and the virtual composite device 500 is connected (started).
 ここまで図6において、仮想複合デバイス500の内部デバイス400または外部デバイス300からの切断指示について例示したが、情報処理装置100から切断指示することも可能である(不図示)。その切断指示に応じて、デバイス制御装置200が仮想複合デバイス500の制御を終了する。 In FIG. 6, the disconnection instruction from the internal device 400 or the external device 300 of the virtual composite device 500 has been illustrated so far, but it is also possible to instruct the disconnection from the information processing apparatus 100 (not shown). In response to the disconnection instruction, the device control apparatus 200 ends the control of the virtual composite device 500.
 なお、内部デバイス400(表示装置210)と外部デバイス300(入力装置)を組み合せて仮想複合デバイス500を生成する例示を説明したが、複数の内部デバイスを組み合せて仮想複合デバイス500を生成してもよいし、また、複数の外部デバイスを組み合せて仮想複合デバイス500を生成してもよい。さらに、デバイス制御装置200内に仮想複合デバイスを複数生成してもよい。 The example in which the virtual composite device 500 is generated by combining the internal device 400 (display device 210) and the external device 300 (input device) has been described, but the virtual composite device 500 may be generated by combining a plurality of internal devices. Alternatively, the virtual composite device 500 may be generated by combining a plurality of external devices. Further, a plurality of virtual composite devices may be generated in the device control apparatus 200.
 本実施形態では、デバイス制御装置200が仮想化している複数のデバイスを1つの仮想複合デバイス500として情報処理装置100に認識させるため、デバイス毎のセッション管理ではなく、仮想複合デバイス単位でセッションを管理することが可能となる。クラウド環境などへの適用を考えると、情報処理装置100側からデバイス毎のセッション管理ではなく、仮想複合デバイスとして接続または切断のセッション管理が可能となるため利便性が向上する。 In this embodiment, in order for the information processing apparatus 100 to recognize a plurality of devices virtualized by the device control apparatus 200 as one virtual composite device 500, session management is performed in units of virtual composite devices instead of session management for each device. It becomes possible to do. Considering application to a cloud environment or the like, it is possible to manage connection or disconnection as a virtual composite device instead of session management for each device from the information processing apparatus 100 side, thereby improving convenience.
 上述のように、本発明の実施形態では、情報処理装置100はデバイス制御装置200に備えられた内部デバイス400と外部デバイス300を組み合わせた仮想複合デバイス500を仮想化制御し、デバイスドライバ102を用いて仮想複合デバイス500が直接的に接続(ローカル接続)された場合と同様にその振る舞いをシミュレートすることができる。そのため、デバイス制御装置200に備えられた内部デバイス400や外部デバイス300を仮想複合デバイス500として再構成して情報処理装置100に仮想化接続することで情報処理装置100から仮想複合デバイス500を制御(利用)することができる。 As described above, in the embodiment of the present invention, the information processing apparatus 100 performs virtualization control on the virtual composite device 500 in which the internal device 400 and the external device 300 provided in the device control apparatus 200 are combined, and uses the device driver 102. Thus, the behavior can be simulated in the same manner as when the virtual composite device 500 is directly connected (locally connected). Therefore, the virtual device 500 is controlled from the information processing device 100 by reconfiguring the internal device 400 and the external device 300 provided in the device control device 200 as the virtual composite device 500 and virtually connecting to the information processing device 100 ( Use).
 そして、複数のデバイスを一つの仮想複合デバイス500として用いることにより、情報処理装置100にデバイスを仮想化接続する際、仮想化接続するデバイス毎に必要となるセッションを、デバイス制御装置に対して一つになるように使用することが出来る。このことにより、データ通信におけるセッション数を削減することが可能となる。また、仮想複合デバイス500として情報処理装置100に認識させることで、情報処理装置とデバイス制御装置の間のセッションを一元管理することが可能となる。
[第2の実施形態]
Then, by using a plurality of devices as one virtual composite device 500, when a device is virtual connected to the information processing apparatus 100, a session required for each virtual connection device is assigned to the device control apparatus. It can be used to become one. This makes it possible to reduce the number of sessions in data communication. Further, by causing the information processing apparatus 100 to recognize the virtual composite device 500, it becomes possible to centrally manage sessions between the information processing apparatus and the device control apparatus.
[Second Embodiment]
 続いて、本発明の第2の実施形態によるデバイス制御システムの一例について説明する。第2の実施形態では、デバイス制御装置が具備する内部デバイスやデバイス制御装置にローカル接続された外部デバイスだけでなく、ネットワーク上の他のデバイス制御装置200が具備する、またはローカル接続されたデバイス(内部デバイス、外部デバイス)から仮想複合デバイス500を構成することが特徴である。 Subsequently, an example of a device control system according to the second embodiment of the present invention will be described. In the second embodiment, not only an internal device included in the device control apparatus or an external device locally connected to the device control apparatus, but also a device included in or locally connected to another device control apparatus 200 on the network ( The virtual composite device 500 is characterized by an internal device and an external device.
 図7は、本発明の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。 FIG. 7 is a block diagram schematically showing a configuration of an example of a device control system according to the embodiment of the present invention.
 図示のデバイス制御システムにおいては、情報処理装置100がローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などのネットワークを介してデバイス制御装置200Aとデバイス制御装置200Bに接続されている。LANおよびWANは有線回線または無線回線で構成される。そして、デバイス制御装置200Aとデバイス制御装置200Bには、例えば、通信インターフェース(例えば、USBまたはHDMI(登録商標))によって外部デバイス300Aと外部デバイス300Bがローカル接続されている。以降の説明では、通信インターフェースをUSBとして説明する。
<情報処理装置100の構成>
In the illustrated device control system, an information processing apparatus 100 is connected to a device control apparatus 200A and a device control apparatus 200B via a network such as a local area network (LAN) or a wide area network (WAN). The LAN and WAN are configured by a wired line or a wireless line. The external device 300A and the external device 300B are locally connected to the device control device 200A and the device control device 200B, for example, via a communication interface (for example, USB or HDMI (registered trademark)). In the following description, the communication interface will be described as USB.
<Configuration of Information Processing Device 100>
 情報処理装置100は、ユーザによって利用されるパーソナルコンピュータ(PC)等の装置である。ハードウェア構成として、CPU、入力部、表示部、メモリ、通信部(ともに不図示)、記憶部110を備え、これらハードウェアは内部バスで相互に接続されている。 The information processing apparatus 100 is an apparatus such as a personal computer (PC) used by a user. The hardware configuration includes a CPU, an input unit, a display unit, a memory, a communication unit (both not shown), and a storage unit 110, and these hardware units are connected to each other via an internal bus.
 CPU、入力部、表示部、メモリは第1の実施形態の情報処理装置100と同様のものを備えているため記載を省略する。 Since the CPU, input unit, display unit, and memory are the same as those of the information processing apparatus 100 of the first embodiment, description thereof is omitted.
 通信部はLANおよびWANなどに接続するためのネットワークI/Fであって、デバイス制御装置200Aやデバイス制御装置200Bとデータ送受信を行う。これにより、情報処理装置100はデバイス制御装置200Aにローカル接続された外部デバイス300Aやデバイス制御装置200Aに備えられた内部デバイス400Aと内部デバイス400Bとデータ送受信することが可能となる。また、デバイス制御装置200Bにローカル接続された外部デバイス300Bやデバイス制御装置200Bに備えられた内部デバイス400Cともデータ送受信することが可能となる。 The communication unit is a network I / F for connecting to a LAN and a WAN, and performs data transmission / reception with the device control apparatus 200A and the device control apparatus 200B. As a result, the information processing apparatus 100 can exchange data with the external device 300A locally connected to the device control apparatus 200A and the internal device 400A and the internal device 400B provided in the device control apparatus 200A. In addition, data can be transmitted / received to / from the external device 300B locally connected to the device control apparatus 200B and the internal device 400C provided in the device control apparatus 200B.
 記憶部110には、ソフトウェアであるオペレーティングシステム(以下「OS」と呼ぶ:不図示)、アプリケーション101、デバイスドライバ102、仮想化制御部103、通信制御部104およびデバイス情報通知部105が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。 The storage unit 110 stores an operating system that is software (hereinafter referred to as “OS”: not shown), an application 101, a device driver 102, a virtualization control unit 103, a communication control unit 104, and a device information notification unit 105. In addition, software relating to other functions is stored. These software are read into the memory and operate according to the control of the CPU.
 アプリケーション101は、デバイスドライバ102に対してデータ入出力要求を指示することにより、デバイス制御装置200に接続された外部デバイス300やデバイス制御装置200に備えられた内部デバイス400を組み合わせた複合デバイス(以下「仮想複合デバイス」と呼ぶ)を制御するためのソフトウェアである。なお、内部デバイス400A、内部デバイス400B、内部デバイス400C、外部デバイス300Aおよび外部デバイス300Bの組み合わせは任意であり、デバイスの台数についてもこれに限定したものではない。 The application 101 instructs the device driver 102 to perform a data input / output request, thereby combining an external device 300 connected to the device control apparatus 200 and an internal device 400 provided in the device control apparatus 200 (hereinafter referred to as a composite device). Software for controlling a virtual composite device). The combination of the internal device 400A, the internal device 400B, the internal device 400C, the external device 300A, and the external device 300B is arbitrary, and the number of devices is not limited to this.
 デバイスドライバ102は、外部デバイス300、内部デバイス400および仮想複合デバイス500を制御するための機能部である。OSまたはアプリケーション101からのデータ入出力要求を、外部デバイス300A、外部デバイス300B、内部デバイス400A、内部デバイス400Bおよび内部デバイス400Cのそれぞれに応じたデータ形式のデータ(以下「制御コマンド」と呼ぶ)に変換して、当該制御コマンドを仮想化制御部103に送る。さらに、デバイスドライバ102は制御コマンドに対する応答をアプリケーション101に通知する。このデバイスドライバ102は一般に、製造したメーカーによって提供されるソフトウェアであって、情報処理装置100は各デバイスに対応したデバイスドライバ102によって外部デバイス300A、外部デバイス300B、内部デバイス400A、内部デバイス400B、内部デバイス400Cおよび仮想複合デバイス500を制御することができる。 The device driver 102 is a functional unit for controlling the external device 300, the internal device 400, and the virtual composite device 500. Data input / output requests from the OS or application 101 are made into data in the data format corresponding to each of the external device 300A, the external device 300B, the internal device 400A, the internal device 400B, and the internal device 400C (hereinafter referred to as “control command”). After conversion, the control command is sent to the virtualization control unit 103. Further, the device driver 102 notifies the application 101 of a response to the control command. The device driver 102 is generally software provided by a manufacturer, and the information processing apparatus 100 uses an external device 300A, an external device 300B, an internal device 400A, an internal device 400B, an internal device by the device driver 102 corresponding to each device. The device 400C and the virtual composite device 500 can be controlled.
 仮想化制御部103は、第1の実施形態と同様の機能を提供する。 The virtualization control unit 103 provides the same function as in the first embodiment.
 さらに、仮想化制御部103は、外部デバイス300、内部デバイス400および仮想複合デバイス500を制御するための機能部である。これらデバイスに対するデータ送受信要求に対して、外部デバイス300、内部デバイス400、および仮想複合デバイス500が情報処理装置100に直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする機能(以下「仮想化制御機能」と呼ぶ)を備えている。本実施形態の例示では、外部デバイス300A、外部デバイス300Bと内部デバイス400Cは仮想複合デバイス500として構成されている。仮想化制御部103は、これら複数のデバイスに対するデータ送受信要求に対して、仮想複合デバイス500を情報処理装置100に直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする仮想化制御機能を備えている。この仮想化制御機能により、情報処理装置100は内部デバイス400A、内部デバイス400B、外部デバイス300Bと内部デバイス400Cの仮想複合デバイス500の接続状態が、ローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。 Furthermore, the virtualization control unit 103 is a functional unit for controlling the external device 300, the internal device 400, and the virtual composite device 500. A function for simulating the same behavior as when the external device 300, the internal device 400, and the virtual composite device 500 are directly connected (locally connected) to the information processing apparatus 100 in response to data transmission / reception requests to these devices. (Hereinafter referred to as “virtualization control function”). In the illustration of this embodiment, the external device 300A, the external device 300B, and the internal device 400C are configured as a virtual composite device 500. The virtualization control unit 103 simulates a behavior similar to that when the virtual composite device 500 is directly connected (locally connected) to the information processing apparatus 100 in response to data transmission / reception requests to the plurality of devices. A control function is provided. With this virtualization control function, the information processing apparatus 100 recognizes that the connection state of the virtual composite device 500 of the internal device 400A, the internal device 400B, the external device 300B, and the internal device 400C is the same as that in the local connection. Can send and receive data.
 通信制御部104は、デバイス制御装置200Aに対して、第1の実施形態と同様の機能を提供する。 The communication control unit 104 provides the same function as in the first embodiment to the device control apparatus 200A.
 また、通信制御部104は、デバイス制御装置200Aに対して、第1の実施形態と同様の機能を提供する。 Further, the communication control unit 104 provides functions similar to those of the first embodiment to the device control apparatus 200A.
 デバイス情報通知部105は、情報処理装置100が必要とする仮想複合デバイス構成情報を管理し、仮想複合デバイス制御部211を有するデバイス制御装置200Aへ仮想複合デバイス構成情報を通知する。ここで、仮想複合デバイス構成情報とは、仮想複合デバイス500がどのようなデバイスから構成されているかを示す情報である。仮想複合デバイス構成情報は、機能要求を満たすことが第1の条件である。第2の条件以降は任意で設定することも可能である。例えば、機能要求を満たす第1の条件はビデオクラス、ストレージクラス、印刷クラス等の機能を設定することである。第2の条件はカメラのfps(frame per second)、ストレージの容量、印刷のppm(Page Per Minute)等の性能を設定してもよい。
<デバイス制御装置200Aの構成>
The device information notification unit 105 manages virtual composite device configuration information required by the information processing apparatus 100, and notifies the virtual composite device configuration information to the device control apparatus 200A having the virtual composite device control unit 211. Here, the virtual composite device configuration information is information indicating what kind of device the virtual composite device 500 is configured from. The first condition of the virtual composite device configuration information is to satisfy the function request. It is also possible to set arbitrarily after the second condition. For example, the first condition that satisfies the function request is to set functions such as a video class, a storage class, and a print class. The second condition may set performance such as camera fps (frame per second), storage capacity, printing ppm (Page Per Minute), and the like.
<Configuration of Device Control Device 200A>
 デバイス制御装置200Aは、例えば、プリンタまたは複合機等の周辺機器であって、ハードウェア構成として、CPU、メモリ、通信部、および記憶部(ともに不図示)を備えるとともに、内部デバイス400Aと内部デバイス400Bを備えている。内部デバイス400Aと内部デバイス400Bの構成の詳細は後述する。なお、本実施形態においてデバイス制御装置200Aは、仮想複合デバイスを生成する役割を担っている。 The device control apparatus 200A is, for example, a peripheral device such as a printer or a multifunction peripheral, and includes a CPU, a memory, a communication unit, and a storage unit (both not shown) as hardware configurations, and the internal device 400A and the internal device. 400B is provided. Details of the configuration of the internal device 400A and the internal device 400B will be described later. In the present embodiment, the device control apparatus 200A plays a role of generating a virtual composite device.
 CPU、入力装置208、表示装置210、メモリは、第1の実施形態のデバイス制御装置200と同様のものを備えているため記載を省略する。 Since the CPU, the input device 208, the display device 210, and the memory are the same as those of the device control device 200 of the first embodiment, description thereof is omitted.
 通信部はLANおよびWANに接続するためのネットワークI/Fであって、情報処理装置100およびデバイス制御装置200Bとデータ送受信を行う。 The communication unit is a network I / F for connecting to a LAN and a WAN, and performs data transmission / reception with the information processing apparatus 100 and the device control apparatus 200B.
 記憶部は、第1の実施形態と同様の機能を提供する。 The storage unit provides the same function as in the first embodiment.
 通信制御部201は、デバイス制御装置200Aと情報処理装置100またはデバイス制御装置200Bの間で行われる入出力データ等の送受信を制御する。 The communication control unit 201 controls transmission / reception of input / output data and the like performed between the device control apparatus 200A and the information processing apparatus 100 or the device control apparatus 200B.
 仮想化制御部202は、内部デバイス400Aおよび内部デバイス400Bと外部デバイス300Aがあたかも情報処理装置100に直接的に接続(ローカル接続)されているかのように情報処理装置100へ認識させて制御できるようにするため、情報処理装置100の仮想化制御部103からの制御要求に従って(連動して)制御を行う。 The virtualization control unit 202 can control the information processing apparatus 100 to recognize the internal device 400A, the internal device 400B, and the external device 300A as if they were directly connected (local connection) to the information processing apparatus 100. Therefore, control is performed according to (in conjunction with) a control request from the virtualization control unit 103 of the information processing apparatus 100.
 仮想デバイス制御部203は、仮想デバイス識別情報204およびデータ形式変換処理部205を備えている。さらに、仮想デバイス制御部203は、デバイス制御装置200Aに備えられた内部デバイス400A、内部デバイス400Bを仮想的なUSBデバイスに切り替えるユーザインターフェース等の切替機能を備えている。 The virtual device control unit 203 includes virtual device identification information 204 and a data format conversion processing unit 205. Furthermore, the virtual device control unit 203 has a switching function such as a user interface for switching the internal device 400A and the internal device 400B provided in the device control apparatus 200A to a virtual USB device.
 仮想デバイス識別情報204は、情報処理装置100および後述する仮想複合デバイス制御部211に内部デバイス400を外部デバイス300と同様に認識させるために用いる。仮想デバイス識別情報204の詳細は後述する。 The virtual device identification information 204 is used for causing the information processing apparatus 100 and a virtual composite device control unit 211 described later to recognize the internal device 400 in the same manner as the external device 300. Details of the virtual device identification information 204 will be described later.
 データ形式変換処理部205は、仮想複合デバイス制御部211から送られるUSBデータ形式に準拠したパケットデータと内部デバイス400Aと内部デバイス400Bで処理可能なデータ形式のデータとの変換処理を行って、内部デバイス400Aと内部デバイス400Bが接続された入力I/F207およびディスプレイI/F209と、仮想デバイス制御部203との間のデータの送受信を可能にしている。 The data format conversion processing unit 205 performs conversion processing between packet data conforming to the USB data format sent from the virtual composite device control unit 211 and data in a data format that can be processed by the internal device 400A and the internal device 400B. Data can be transmitted / received between the virtual device control unit 203 and the input I / F 207 and the display I / F 209 to which the device 400A and the internal device 400B are connected.
 仮想複合デバイス制御部211は、任意の複数のデバイス(内部デバイスや外部デバイス)を一つの仮想複合デバイスとして仮想化制御部202に認識および記憶させる制御を行う。また、仮想複合デバイス制御部211は、仮想複合デバイス識別情報212を記憶している。本実施形態の例示では、外部デバイス300A、内部デバイス400Cおよび外部デバイス300Bを仮想複合デバイスとして構成するための仮想複合デバイス識別情報212を備えている。さらに、仮想複合デバイス制御部211は、仮想複合デバイスとして構成される外部デバイス300A、内部デバイス400Cおよび外部デバイス300Bがあたかも情報処理装置100に直接的に接続(ローカル接続)されているかのように情報処理装置100へ認識させて制御できるようにするため、情報処理装置100の仮想化制御部103からの制御要求に従って(連動して)制御を行う。 The virtual composite device control unit 211 performs control for causing the virtualization control unit 202 to recognize and store an arbitrary plurality of devices (internal devices and external devices) as one virtual composite device. The virtual composite device control unit 211 stores virtual composite device identification information 212. In the example of the present embodiment, virtual composite device identification information 212 for configuring the external device 300A, the internal device 400C, and the external device 300B as virtual composite devices is provided. Further, the virtual composite device control unit 211 provides information as if the external device 300A, the internal device 400C, and the external device 300B configured as virtual composite devices are directly connected (locally connected) to the information processing apparatus 100. In order to allow the processing apparatus 100 to recognize and control, the control is performed according to (in conjunction with) a control request from the virtualization control unit 103 of the information processing apparatus 100.
 仮想複合デバイス識別情報212は、第1の実施形態と同様の機能を提供する。 The virtual composite device identification information 212 provides the same function as in the first embodiment.
 デバイス構成管理部213は、外部デバイス300と内部デバイス400の接続情報を記憶し、各デバイスが備えている機能を管理する。情報処理装置100から必要なデバイス情報の接続通知により、仮想複合デバイスを構成する機能や性能を選択し、仮想複合デバイス制御部211に仮想複合デバイスの作成を要求する。また、通信制御部201を介してデバイス制御装置200Bとの間で仮想複合デバイスの構成についての情報を送受信する機能部である。
<デバイス制御装置200Bの構成>
The device configuration management unit 213 stores connection information between the external device 300 and the internal device 400 and manages functions provided in each device. A function or performance constituting the virtual composite device is selected by a connection notification of necessary device information from the information processing apparatus 100, and the virtual composite device control unit 211 is requested to create a virtual composite device. Further, the functional unit transmits and receives information about the configuration of the virtual composite device to and from the device control apparatus 200B via the communication control unit 201.
<Configuration of device control apparatus 200B>
 デバイス制御装置200Bは、例えば、ネットワークカメラ等の周辺機器であって、ハードウェア構成として、CPU、メモリ、通信部、記憶部(ともに不図示)および内部デバイス400Cを備えている。内部デバイス400Cの構成の詳細は後述する。なお、本実施形態において、デバイス制御装置200Aの制御により仮想複合デバイスが生成された場合、情報処理装置100はデバイス制御装置200Bを意識することなくデバイス制御装置200Aとデータ送受信を行う。 The device control apparatus 200B is a peripheral device such as a network camera, for example, and includes a CPU, a memory, a communication unit, a storage unit (both not shown), and an internal device 400C as a hardware configuration. Details of the configuration of the internal device 400C will be described later. In this embodiment, when a virtual composite device is generated under the control of the device control apparatus 200A, the information processing apparatus 100 performs data transmission / reception with the device control apparatus 200A without being conscious of the device control apparatus 200B.
 CPUはデバイス制御装置200B全体の制御を司る。映像入力装置221は、例えば、ネットワークカメラ等の画像入力機器である。メモリはRAMおよびROM等である。 CPU controls the entire device control apparatus 200B. The video input device 221 is an image input device such as a network camera, for example. The memory is a RAM, a ROM, or the like.
 通信部はLANおよびWANに接続するためのインターフェースであって、情報処理装置100やデバイス制御装置200Aとデータ送受信を行う。 The communication unit is an interface for connecting to the LAN and WAN, and performs data transmission / reception with the information processing apparatus 100 and the device control apparatus 200A.
 記憶部には、ソフトウェアであるOS(不図示)、通信制御部214、仮想化制御部215、仮想デバイス制御部216が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。 The storage unit stores an OS (not shown), which is software, a communication control unit 214, a virtualization control unit 215, and a virtual device control unit 216, as well as software related to other functions. These software are read into the memory and operate according to the control of the CPU.
 通信制御部214は、デバイス制御装置200Aとの間で行われる入出力データ等の送受信を制御する。 The communication control unit 214 controls transmission / reception of input / output data and the like performed with the device control apparatus 200A.
 仮想化制御部215は、内部デバイス400Cと外部デバイス300Bがあたかも情報処理装置100に直接的に接続(ローカル接続)されているかのように情報処理装置100へ認識させて制御できるようにするため、デバイス制御装置200Aの仮想複合デバイス制御部211からの制御要求に従って(連動して)制御を行う。 In order to allow the virtualization control unit 215 to recognize and control the information processing apparatus 100 as if the internal device 400C and the external device 300B are directly connected (local connection) to the information processing apparatus 100, Control is performed in accordance with (in conjunction with) a control request from the virtual composite device control unit 211 of the device control apparatus 200A.
 仮想デバイス制御部216は、仮想デバイス識別情報217およびデータ形式変換処理部218を備えている。 The virtual device control unit 216 includes virtual device identification information 217 and a data format conversion processing unit 218.
 仮想デバイス識別情報217は、情報処理装置100および仮想デバイス制御部216に内部デバイス400を外部デバイス300と同様に認識させるために用いる。仮想デバイス識別情報217の詳細は後述する。 The virtual device identification information 217 is used for causing the information processing apparatus 100 and the virtual device control unit 216 to recognize the internal device 400 in the same manner as the external device 300. Details of the virtual device identification information 217 will be described later.
 データ形式変換処理部218は、仮想デバイス制御部216から送られるUSBデータ形式に準拠したパケットデータと内部デバイス400Cで処理可能なデータ形式のデータとの変換処理を行って、内部デバイス400Cと接続された画像入力I/F220と、仮想デバイス制御部216との間のデータの送受信を可能にしている。
<外部デバイス300Aの構成>
The data format conversion processing unit 218 performs conversion processing between packet data conforming to the USB data format sent from the virtual device control unit 216 and data in a data format that can be processed by the internal device 400C, and is connected to the internal device 400C. Data transmission / reception between the image input I / F 220 and the virtual device control unit 216 is enabled.
<Configuration of External Device 300A>
 外部デバイス300Aは、個体識別情報301および通信I/F302を備えている。また、外部デバイス300Aは、ストレージクラスの記憶装置303を備えたデバイスであり、デバイス制御装置200AにUSBインターフェースによって外付けで接続されている。 The external device 300A includes individual identification information 301 and a communication I / F 302. The external device 300A is a device including a storage class storage device 303, and is externally connected to the device control device 200A via a USB interface.
 個体識別情報301は、外部デバイス300Aを識別するための情報であり、第1の実施形態と同様であるため説明を省略する。また、通信I/F302も第1の実施形態と同様であるため説明を省略する。
<外部デバイス300Bの構成>
The individual identification information 301 is information for identifying the external device 300A and is the same as that in the first embodiment, and thus the description thereof is omitted. Further, the communication I / F 302 is the same as that in the first embodiment, and thus the description thereof is omitted.
<Configuration of External Device 300B>
 外部デバイス300Bは、個体識別情報304および通信I/F305を備えている。また、外部デバイス300Bは、ベンダークラスのセンサー装置306を備えたデバイスであり、デバイス制御装置200BにUSBインターフェースによって外付けで接続されている。個体識別情報304は外部デバイス300Aの個体識別情報301、通信I/F305は外部デバイス300Aの通信I/F302とそれぞれ同様であるため説明を省略する。 The external device 300B includes individual identification information 304 and a communication I / F 305. The external device 300B is a device that includes a vendor-class sensor device 306, and is externally connected to the device control device 200B via a USB interface. The individual identification information 304 is the same as the individual identification information 301 of the external device 300A, and the communication I / F 305 is the same as the communication I / F 302 of the external device 300A.
 なお、図7に示すデバイス制御システムにおいては、情報処理装置100、デバイス制御装置200A、外部デバイス300A、デバイス制御装置200Bおよび外部デバイス300Bが示されているが、これらの台数は図示の例に限定されるものではない。
<内部デバイス400Aと内部デバイス400Bの構成>
In the device control system shown in FIG. 7, the information processing apparatus 100, the device control apparatus 200A, the external device 300A, the device control apparatus 200B, and the external device 300B are shown, but the number of these is limited to the illustrated example. Is not to be done.
<Configuration of Internal Device 400A and Internal Device 400B>
 内部デバイス400Aと内部デバイス400Bは、ユーザインターフェースとして用いられる入力装置208と表示装置210をそれぞれ備えている。入力装置208と表示装置210は、第1の実施形態と同様であるため説明を省略する。
<内部デバイス400Cの構成>
The internal device 400A and the internal device 400B respectively include an input device 208 and a display device 210 that are used as user interfaces. Since the input device 208 and the display device 210 are the same as those in the first embodiment, description thereof is omitted.
<Configuration of Internal Device 400C>
 内部デバイス400Cは、監視カメラとして用いられる映像入力装置221を備えている。映像入力装置221は画像入力I/F220によって内部バス219に接続され、内部バス219でデバイス制御装置200Bのハードウェアに接続されている。 The internal device 400C includes a video input device 221 used as a surveillance camera. The video input device 221 is connected to the internal bus 219 by the image input I / F 220, and is connected to the hardware of the device control device 200B by the internal bus 219.
 なお、デバイス制御装置200Aは、例えば、プリンタまたは複合機等のオフィス機器であり、デバイス制御装置200Bは、例えば、ネットワークカメラ等の映像入力装置221であるが、これらに限定されるものではなく、様々な組込み装置、携帯電話機またはモバイル端末機器であってもよい。
<仮想デバイス識別情報204、仮想デバイス識別情報217について>
The device control apparatus 200A is an office device such as a printer or a multifunction peripheral, and the device control apparatus 200B is a video input apparatus 221 such as a network camera. However, the device control apparatus 200A is not limited thereto. It may be various embedded devices, mobile phones or mobile terminal devices.
<Virtual Device Identification Information 204 and Virtual Device Identification Information 217>
 次に、仮想デバイス識別情報204および仮想デバイス識別情報217について説明する。通常、内部デバイス400A(入力装置208)、内部デバイス400B(表示装置210)および内部デバイス400C(映像入力装置221)は、外部デバイス300Aや外部デバイス300Bの個体識別情報301や個体識別情報304に相当する情報を有していない。したがって、情報処理装置100は内部デバイス400A、内部デバイス400Bおよび内部デバイス400Cを認識することができない。 Next, the virtual device identification information 204 and the virtual device identification information 217 will be described. Normally, the internal device 400A (input device 208), internal device 400B (display device 210), and internal device 400C (video input device 221) correspond to the individual identification information 301 and individual identification information 304 of the external device 300A and the external device 300B. Does not have information to do. Therefore, the information processing apparatus 100 cannot recognize the internal device 400A, the internal device 400B, and the internal device 400C.
 そこで、本実施形態では、個体識別情報に相当する仮想デバイス識別情報204、仮想デバイス識別情報217を入力装置208と表示装置210および映像入力装置221の各々に割り当てて、情報処理装置100にUSBデバイスとして認識させる。ここでは、USBデバイスのデータ構造を定義する構成情報(以下「USBディスクリプタ」と呼ぶ)を疑似的に作成したものを仮想デバイス識別情報204、仮想デバイス識別情報217とする。仮想デバイス識別情報204、仮想デバイス識別情報217は、仮想デバイス制御部203、仮想デバイス制御部216に予め記憶されたものであるが、仮想デバイス制御部203、仮想デバイス制御部216によって生成するようにしてもよい。 Therefore, in this embodiment, virtual device identification information 204 and virtual device identification information 217 corresponding to individual identification information are allocated to each of the input device 208, the display device 210, and the video input device 221, and the USB device is assigned to the information processing device 100. Recognize as Here, virtual device identification information 204 and virtual device identification information 217 are obtained by artificially creating configuration information (hereinafter referred to as “USB descriptor”) that defines the data structure of the USB device. The virtual device identification information 204 and the virtual device identification information 217 are stored in advance in the virtual device control unit 203 and the virtual device control unit 216, but are generated by the virtual device control unit 203 and the virtual device control unit 216. May be.
 図2は、図1に示す仮想デバイス識別情報204、仮想デバイス識別情報217の一例を示す図であり、仮想デバイス識別情報204、仮想デバイス識別情報217はUSBディスクリプタからなる。 FIG. 2 is a diagram showing an example of the virtual device identification information 204 and the virtual device identification information 217 shown in FIG. 1, and the virtual device identification information 204 and the virtual device identification information 217 are made up of USB descriptors.
 図2に示す疑似的なUSBディスクリプタは、ベンダーID、プロダクトID、シリアル番号(不図示)、クラス、サブクラス、プロトコルおよびインターフェースから構成されている。 The pseudo USB descriptor shown in FIG. 2 includes a vendor ID, a product ID, a serial number (not shown), a class, a subclass, a protocol, and an interface.
 ベンダーIDは、各企業や製造したメーカー毎に割り当てられる識別情報であり、プロダクトIDは、ベンダーIDを持つ企業やメーカーが各製品や機種毎に重複しないよう割り振るコードである。本実施形態では、デバイス制御装置200A、デバイス制御装置200Bに割り当てられているベンダーIDおよびプロダクトIDが用いられる。 The vendor ID is identification information assigned to each company or manufacturer, and the product ID is a code assigned by the company or manufacturer 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 device control apparatus 200A and the device control apparatus 200B are used.
 また、クラス、サブクラス、プロトコルおよびインターフェースは、キーボード、マウス、ディスプレイ、カメラ、ストレージおよびセンサー等デバイスの種類に応じてUSB規格で規定されている情報である。そして、ベンダーIDおよびプロダクトIDと、クラス、サブクラス、プロトコル、およびインターフェースとを関連付けた疑似的なUSBディスクリプタが作成されて、仮想デバイス制御部203、仮想デバイス制御部216が仮想デバイス識別情報204、仮想デバイス識別情報217として保持(記憶)する。 The class, subclass, protocol, and interface are information defined by the USB standard according to the type of device such as a keyboard, mouse, display, camera, storage, and sensor. 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 203 and the virtual device control unit 216 perform virtual device identification information 204, virtual Stored (stored) as device identification information 217.
 本実施形態の入力装置208はキーボードおよびマウス、表示装置210はディスプレイ、映像入力装置221はカメラ、記憶装置303はストレージ、センサー装置306はセンサーにそれぞれ対応している。これらキーボード、マウス、ディスプレイ、カメラ、ストレージおよびセンサーをUSBデバイスとして認識させるために、キーボード、マウス、ディスプレイ、カメラ、ストレージおよびセンサーのそれぞれへ疑似的なUSBディスクリプタ(つまり、仮想デバイス識別情報204、仮想デバイス識別情報217)を割り当てている。
<仮想複合デバイス識別情報212について>
In this embodiment, the input device 208 corresponds to a keyboard and mouse, the display device 210 corresponds to a display, the video input device 221 corresponds to a camera, the storage device 303 corresponds to storage, and the sensor device 306 corresponds to a sensor. In order to recognize the keyboard, mouse, display, camera, storage, and sensor as USB devices, a pseudo USB descriptor (that is, virtual device identification information 204, virtual, virtual) is assigned to each of the keyboard, mouse, display, camera, storage, and sensor. Device identification information 217) is assigned.
<About Virtual Composite Device Identification Information 212>
 次に、仮想複合デバイス識別情報212について説明する。内部デバイス400C、外部デバイス300A、外部デバイス300Bは、それぞれ単一の個体識別情報301、個体識別情報304または仮想デバイス識別情報217を有しているため、情報処理装置100は1つの仮想複合デバイスとして認識することができない。 Next, the virtual composite device identification information 212 will be described. Since the internal device 400C, the external device 300A, and the external device 300B each have a single individual identification information 301, individual identification information 304, or virtual device identification information 217, the information processing apparatus 100 is regarded as one virtual composite device. It cannot be recognized.
 そこで、本実施形態では、仮想複合デバイス制御部211が個体識別情報に相当する仮想複合デバイス識別情報212を仮想複合デバイスに割り当てて、映像入力装置221、記憶装置303およびセンサー装置306を一つの仮想複合デバイス500として情報処理装置100に認識させる。ここでは、USBデバイスのデータ構造を定義する構成情報(以下「USBディスクリプタ」と呼ぶ)を疑似的に作成したものを仮想複合デバイス識別情報212とする。仮想複合デバイス識別情報212は、仮想複合デバイス制御部211に予め記憶されたものであるが、仮想複合デバイス制御部211によって生成するようにしてもよい。 Therefore, in this embodiment, the virtual composite device control unit 211 assigns the virtual composite device identification information 212 corresponding to the individual identification information to the virtual composite device, and the video input device 221, the storage device 303, and the sensor device 306 are combined into one virtual device. The information processing apparatus 100 is caused to recognize the composite device 500. Here, virtual composite device identification information 212 is obtained by artificially creating configuration information (hereinafter referred to as “USB descriptor”) that defines the data structure of a USB device. The virtual composite device identification information 212 is stored in advance in the virtual composite device control unit 211, but may be generated by the virtual composite device control unit 211.
 図3は、図1に示す仮想複合デバイス識別情報212の一例を示す図であり、仮想複合デバイス識別情報212はUSBディスクリプタからなる。 FIG. 3 is a diagram showing an example of the virtual composite device identification information 212 shown in FIG. 1, and the virtual composite device identification information 212 includes a USB descriptor.
 図3の下段に示す疑似的なUSBディスクリプタは、ストレージに対応する外部デバイス300Aの記憶装置303と監視カメラに対応する内部デバイス400Cの映像入力装置221とセンサーに対応する外部デバイス300Bのセンサー装置306を組み合わせた仮想複合デバイス500の仮想複合デバイス識別情報212である。 The pseudo USB descriptor shown in the lower part of FIG. 3 includes the storage device 303 of the external device 300A corresponding to the storage, the video input device 221 of the internal device 400C corresponding to the monitoring camera, and the sensor device 306 of the external device 300B corresponding to the sensor. Is the virtual composite device identification information 212 of the virtual composite device 500 that combines the above.
 仮想複合デバイス制御部211は、新たにベンダーID、プロダクトID、シリアル番号(不図示)、クラス、サブクラス、プロトコルおよびインターフェースを割り当て、仮想複合デバイス識別情報212として保持(記憶)する。 The virtual composite device control unit 211 newly assigns a vendor ID, product ID, serial number (not shown), class, subclass, protocol, and interface, and holds (stores) it as virtual composite device identification information 212.
 図8は、図7に示すデバイス制御システムにおいて複数のデバイスを一つの仮想複合デバイス識別情報212として作成したデバイス構成の一例を示す図である。 FIG. 8 is a diagram showing an example of a device configuration in which a plurality of devices are created as one virtual composite device identification information 212 in the device control system shown in FIG.
 仮想複合デバイス制御部211は、外部デバイス300A、外部デバイス300Bおよび内部デバイス400Cのデバイス構成情報に基づいて、複数のデバイスを1つの仮想複合デバイス500としてデバイス構成情報を作成する。図4に例示するように、仮想複合デバイス500上では、インターフェースとエンドポイントが重複しないように別のインターフェースとエンドポイントに振り替えて、その対応関係を記憶する。 The virtual composite device control unit 211 creates device configuration information with a plurality of devices as one virtual composite device 500 based on the device configuration information of the external device 300A, the external device 300B, and the internal device 400C. As illustrated in FIG. 4, on the virtual composite device 500, the correspondence relationship is stored by switching to another interface and endpoint so that the interface and endpoint do not overlap.
 なお、図8の例示では、外部デバイス300Aのエンドポイント(0x81)、外部デバイス300Bのエンドポイント(0x81)および内部デバイス400Cのエンドポイント(0x81)が重複している。また、外部デバイス300Bのエンドポイント(0x82)と内部デバイス400Cのエンドポイント(0x82)も重複している。そのため、仮想複合デバイス500では外部デバイス300Bのエンドポイントを0x85、0x86、0x87に振り替え、内部デバイス400Cのエンドポイントを0x88、0x89に振り替えている。例えば、外部デバイス300Bのセンサー装置306としてのエンドポイント(0x81)と仮想複合デバイスとしてのセンサー装置306のエンドポイント(0x85)の対応関係を記憶している。 In the example of FIG. 8, the end point (0x81) of the external device 300A, the end point (0x81) of the external device 300B, and the end point (0x81) of the internal device 400C overlap. Also, the endpoint (0x82) of the external device 300B and the endpoint (0x82) of the internal device 400C overlap. Therefore, in the virtual composite device 500, the endpoint of the external device 300B is transferred to 0x85, 0x86, 0x87, and the endpoint of the internal device 400C is transferred to 0x88, 0x89. For example, the correspondence relationship between the endpoint (0x81) as the sensor device 306 of the external device 300B and the endpoint (0x85) of the sensor device 306 as the virtual composite device is stored.
 仮想複合デバイス制御部211は、仮想複合デバイス500のデバイス構成情報を作成すると、ネットワークI/Fを介して、情報処理装置100と接続する。情報処理装置100において、予めOSに組み込まれている仮想複合デバイス500のドライバ(不図示)を用いて仮想複合デバイス500をマウントし、外部デバイス300Aの記憶装置303、外部デバイス300Bのセンサー装置306および内部デバイス400Cの映像入力装置221をあたかも一つのデバイスのように認識することができる。
<仮想複合デバイス500の制御シーケンス>
When the virtual composite device control unit 211 creates the device configuration information of the virtual composite device 500, the virtual composite device control unit 211 connects to the information processing apparatus 100 via the network I / F. In the information processing apparatus 100, the virtual composite device 500 is mounted using a driver (not shown) of the virtual composite device 500 incorporated in advance in the OS, the storage device 303 of the external device 300A, the sensor device 306 of the external device 300B, and The video input device 221 of the internal device 400C can be recognized as if it were one device.
<Control Sequence of Virtual Composite Device 500>
 図9Aおよび図9Bは、図7に示すデバイス制御システムにおいて情報処理装置100が仮想複合デバイス500を仮想化制御する際の動作を説明するためのシーケンス図である。 9A and 9B are sequence diagrams for explaining an operation when the information processing apparatus 100 performs virtualization control of the virtual composite device 500 in the device control system shown in FIG.
 ここでは、内部デバイス400Aの入力装置208、内部デバイス400Bの表示装置210を仮想化制御した状態から入力装置208および表示装置210を操作する。そして、外部デバイス300Aの記憶装置303と内部デバイス400Cの映像入力装置221と外部デバイス300Bのセンサー装置306を一つの仮想複合デバイス500として制御する場合について説明する。 Here, the input device 208 and the display device 210 are operated from the state in which the input device 208 of the internal device 400A and the display device 210 of the internal device 400B are virtualized. A case where the storage device 303 of the external device 300A, the video input device 221 of the internal device 400C, and the sensor device 306 of the external device 300B are controlled as one virtual composite device 500 will be described.
 具体的には、センサー装置306が人感センサー、映像入力装置221は監視カメラ、記憶装置303は外付けのハードディスクのようなものである。人感センサーが人を検知したことを契機として監視カメラによる撮影を開始し、その撮影した映像をハードディスクへ保存するような場面で適用でき、デバイス毎にセッションを制御するのではなく、一つの仮想複合デバイス500として認識して制御することを例示する。 Specifically, the sensor device 306 is a human sensor, the video input device 221 is a surveillance camera, and the storage device 303 is an external hard disk. It can be applied to scenes where the human sensor detects a person and starts shooting with the surveillance camera, and the shot video is saved to the hard disk. Instead of controlling the session for each device, one virtual Recognizing and controlling as the composite device 500 will be exemplified.
 まず、デバイス制御装置200Aからユーザ操作によって内部デバイス400Aの入力装置208の仮想化制御を開始させる(ステップS301)。 First, virtualization control of the input device 208 of the internal device 400A is started by a user operation from the device control device 200A (step S301).
 ユーザの所定の操作によって、入力装置208から仮想デバイス制御部203に対して接続要求がUSBデータとして送信される(ステップS302)。 The connection request is transmitted as USB data from the input device 208 to the virtual device control unit 203 by a predetermined operation of the user (step S302).
 仮想デバイス制御部203は、入力装置208の個体識別情報である仮想デバイス識別情報204を作成して、情報処理装置100の仮想化制御部103へネットワークI/Fを介して接続通知を送信する(ステップS303)。 The virtual device control unit 203 creates virtual device identification information 204, which is individual identification information of the input device 208, and transmits a connection notification to the virtualization control unit 103 of the information processing apparatus 100 via the network I / F ( Step S303).
 仮想化制御部103は、入力装置208の個体識別情報に基づいて、デバイスドライバ102を選択し、仮想化制御を開始する(ステップS304)。 The virtualization control unit 103 selects the device driver 102 based on the individual identification information of the input device 208, and starts virtualization control (step S304).
 アプリケーション101は、デバイスドライバ102から入力装置208と表示装置210の接続通知(ステップS305)によりデータ入出力経路を作成する(ステップS306)。 The application 101 creates a data input / output path from the device driver 102 by a connection notification between the input device 208 and the display device 210 (step S305) (step S306).
 次に、デバイス制御装置200Aからユーザ操作によって内部デバイス400Bの表示装置210の仮想化制御を開始させる(ステップS307)。 Next, virtualization control of the display device 210 of the internal device 400B is started by a user operation from the device control device 200A (step S307).
 ユーザの所定の操作によって、表示装置210から仮想デバイス制御部203に対して接続要求がUSBデータとして送信される(ステップS308)。 The connection request is transmitted as USB data from the display device 210 to the virtual device control unit 203 by a predetermined operation of the user (step S308).
 仮想デバイス制御部203は、表示装置210の個体識別情報である仮想デバイス識別情報204を作成して、情報処理装置100の仮想化制御部103へネットワークI/Fを介して接続通知を送信する(ステップS309)。 The virtual device control unit 203 creates virtual device identification information 204, which is individual identification information of the display device 210, and transmits a connection notification to the virtualization control unit 103 of the information processing device 100 via the network I / F ( Step S309).
 仮想化制御部103は、表示装置210の個体識別情報に基づいて、デバイスドライバ102を選択し、仮想化制御を開始する(ステップS310)。 The virtualization control unit 103 selects the device driver 102 based on the individual identification information of the display device 210, and starts virtualization control (step S310).
 アプリケーション101は、デバイスドライバ102から表示装置210の接続通知(ステップS311)によりデータ入出力経路を作成する(ステップS312)。 The application 101 creates a data input / output path from the device driver 102 according to the connection notification of the display device 210 (step S311) (step S312).
 また、アプリケーション101は、デバイス制御装置200Aの表示装置210に表示する画像データ(表示画面)を生成し(ステップS313)、デバイスドライバ102に画像データ(表示画面)を送信する(ステップS314)。 Further, the application 101 generates image data (display screen) to be displayed on the display device 210 of the device control apparatus 200A (step S313), and transmits the image data (display screen) to the device driver 102 (step S314).
 デバイスドライバ102は、仮想化制御部103へ画像データ(表示画面)を送信する(ステップS315)。仮想化制御部103は、デバイスドライバ102から受信した制御コマンド(つまり、データ入出力要求)をUSBデータ形式に準拠したパケットデータ(以下「USBデータ」と呼ぶ)に変換して、ネットワークI/Fを介してデバイス制御装置200Aの仮想デバイス制御部203へ送信する(ステップS316)。 The device driver 102 transmits the image data (display screen) to the virtualization control unit 103 (step S315). The virtualization control unit 103 converts a control command (that is, a data input / output request) received from the device driver 102 into packet data compliant with the USB data format (hereinafter referred to as “USB data”), and performs network I / F Is transmitted to the virtual device control unit 203 of the device control apparatus 200A (step S316).
 仮想デバイス制御部203は、表示装置210で処理可能なデータ形式のデータとの変換処理を行って、表示装置210と接続されたディスプレイI/F209を介してデータ送受信する(ステップS317)。表示装置210にアプリケーション101で生成された画像データ(表示画面)が受信画像として表示される(ステップS318)。 The virtual device control unit 203 performs conversion processing with data in a data format that can be processed by the display device 210, and transmits and receives data via the display I / F 209 connected to the display device 210 (step S317). The image data (display screen) generated by the application 101 is displayed on the display device 210 as a received image (step S318).
 ユーザは入力装置208を介して操作情報を入力する(ステップS319)。 The user inputs operation information via the input device 208 (step S319).
 入力装置208は、入力された操作情報を入力装置208と接続された入力I/F209を介して仮想デバイス制御部203へデータを送信する(ステップS320)。仮想デバイス制御部203は、入力装置208で処理可能なデータ形式のデータとUSBデータ形式に準拠したパケットデータの変換処理を行って仮想化制御部103へ、操作情報を送信する(ステップS321)。 The input device 208 transmits the input operation information to the virtual device control unit 203 via the input I / F 209 connected to the input device 208 (step S320). The virtual device control unit 203 performs conversion processing between data in a data format that can be processed by the input device 208 and packet data that conforms to the USB data format, and transmits operation information to the virtualization control unit 103 (step S321).
 仮想化制御部103は、デバイスドライバ102へ制御コマンド(つまり、データ入出力要求)の応答を行う(ステップS322)。デバイスドライバ102は、入力装置208の操作情報をアプリケーションに送信する(ステップS323)。 The virtualization control unit 103 makes a response of a control command (that is, a data input / output request) to the device driver 102 (step S322). The device driver 102 transmits operation information of the input device 208 to the application (step S323).
 アプリケーション101は、デバイスドライバ102から受信した操作情報に基づき、操作を実行する(ステップS324)。 The application 101 executes an operation based on the operation information received from the device driver 102 (step S324).
 ユーザは、外部デバイス300Aの記憶装置303をデバイス制御装置200Aに接続する(ステップS325)。これにより、外部デバイス300Aの個体識別情報301が通信I/F302を介してデバイス制御装置200AにUSBデータとして送信されて、仮想化制御部202に外部デバイス300Aが接続された旨が通知される(ステップS326)。 The user connects the storage device 303 of the external device 300A to the device control device 200A (step S325). Accordingly, the individual identification information 301 of the external device 300A is transmitted as USB data to the device control apparatus 200A via the communication I / F 302, and the virtualization control unit 202 is notified that the external device 300A is connected ( Step S326).
 仮想化制御部202は、デバイス制御装置200Aのデバイス構成管理部213へ外部デバイス300Aの接続通知(仮想デバイス識別情報204)を送信する(ステップS327)。 The virtualization control unit 202 transmits a connection notification (virtual device identification information 204) of the external device 300A to the device configuration management unit 213 of the device control apparatus 200A (step S327).
 デバイス構成管理部213は、外部デバイス300Aの記憶装置303が備えているストレージ機能や性能を記憶し、更新する(ステップS328)。 The device configuration management unit 213 stores and updates the storage function and performance of the storage device 303 of the external device 300A (step S328).
 ユーザは、デバイス制御装置200Bからユーザ操作によって内部デバイス400Cの映像入力装置221の仮想化制御を開始させる(ステップS330)。映像入力装置221から仮想デバイス制御部216に対して接続要求がUSBデータとして送信される(ステップS331)。 The user starts virtualization control of the video input device 221 of the internal device 400C by a user operation from the device control device 200B (step S330). A connection request is transmitted as USB data from the video input device 221 to the virtual device control unit 216 (step S331).
 仮想デバイス制御部216は、映像入力装置221の仮想デバイス識別情報を作成して、デバイス制御装置200Aのデバイス構成管理部213へ内部デバイス400Cの接続通知(仮想デバイス識別情報217)を送信する(ステップS332)。 The virtual device control unit 216 creates virtual device identification information of the video input device 221 and transmits a connection notification (virtual device identification information 217) of the internal device 400C to the device configuration management unit 213 of the device control device 200A (step). S332).
 デバイス構成管理部213は、外部デバイス300Bの映像入力装置221が備えている画像入力機能や性能を記憶し、更新する(ステップS333)。 The device configuration management unit 213 stores and updates the image input function and performance provided in the video input device 221 of the external device 300B (step S333).
 ユーザは、外部デバイス300Bをデバイス制御装置200Bに接続する(ステップS334)。これにより、外部デバイス300Bの個体識別情報304が通信I/F305を介してデバイス制御装置200BにUSBデータとして送信されて、仮想化制御部215に外部デバイス300Bが接続された旨が通知される(ステップS335)。 The user connects the external device 300B to the device control apparatus 200B (step S334). Accordingly, the individual identification information 304 of the external device 300B is transmitted as USB data to the device control apparatus 200B via the communication I / F 305, and the virtualization control unit 215 is notified that the external device 300B is connected ( Step S335).
 仮想化制御部215は、デバイス制御装置200Aのデバイス構成管理部213へ外部デバイス300Bの接続通知(仮想デバイス識別情報217)を送信する(ステップS336)。 The virtualization control unit 215 transmits a connection notification (virtual device identification information 217) of the external device 300B to the device configuration management unit 213 of the device control apparatus 200A (step S336).
 デバイス構成管理部213は、外部デバイス300Bのセンサー装置306が備えているセンサー機能や性能を記憶し、更新する(ステップS337)。 The device configuration management unit 213 stores and updates the sensor function and performance of the sensor device 306 of the external device 300B (step S337).
 ここからは、仮想複合デバイス500を生成するシーケンスについて説明する。 From here, the sequence for generating the virtual composite device 500 will be described.
 ユーザの所定の操作によって、表示装置210に操作画面を表示させ、入力装置208を操作し、どの機能(ストレージ、カメラ、センサー)および/または性能を仮想複合デバイス500として構成するか選択する(ステップS340)。なお、性能のみを選択した場合、性能に紐付く機能も合わせて選択される。また機能や性能だけでなくデバイス名を選択することもできる。 An operation screen is displayed on the display device 210 according to a predetermined operation of the user, and the input device 208 is operated to select which function (storage, camera, sensor) and / or performance is configured as the virtual composite device 500 (step) S340). When only performance is selected, a function associated with performance is also selected. You can also select the device name as well as the function and performance.
 このとき、内部デバイス400Cおよび/または外部デバイス300Bを仮想複合デバイス500として構成する場合、デバイス制御装置200Aのデバイス構成管理部213はデバイス制御装置200Bに対してその旨を通知してもよい。 At this time, when the internal device 400C and / or the external device 300B is configured as the virtual composite device 500, the device configuration management unit 213 of the device control apparatus 200A may notify the device control apparatus 200B to that effect.
 また、デバイス制御装置200Bから仮想複合デバイス500として構成するようデバイス制御装置200Aのデバイス構成管理部213に対して要求を送信することも可能である。 It is also possible to transmit a request from the device control apparatus 200B to the device configuration management unit 213 of the device control apparatus 200A so as to configure the virtual composite device 500.
 そして、デバイス制御装置200Aからの通知、またはデバイス制御装置200Bからの要求に対して各デバイス制御装置200は仮想複合デバイス500として構成することが可能であるかどうか応答を返すようにしてもよい。 Then, each device control apparatus 200 may return a response as to whether or not each device control apparatus 200 can be configured as a virtual composite device 500 in response to a notification from the device control apparatus 200A or a request from the device control apparatus 200B.
 さらに、デバイス制御装置のデバイス(内部デバイス、外部デバイス)が複数ある場合、デバイス制御装置200Bからの要求で、デバイス制御装置200Aは仮想複合デバイス500を構成するデバイスを選択することも可能であり、デバイス制御装置200Bは要求したものの仮想複合デバイス500として構成できなかったデバイスはデバイス制御装置200Bの仮想化制御部215が仮想化制御を行い情報処理装置100とデータ送受信を行う。 Further, when there are a plurality of device control devices (internal devices, external devices), the device control device 200A can select a device constituting the virtual composite device 500 in response to a request from the device control device 200B. The device control apparatus 200B requests the device that cannot be configured as the virtual composite device 500, and the virtualization control unit 215 of the device control apparatus 200B performs virtualization control to perform data transmission / reception with the information processing apparatus 100.
 入力装置208は、操作情報を入力装置208と接続された入力I/F207を介して仮想デバイス制御部203へデータを送信する(ステップS341)。仮想デバイス制御部203は、入力装置208で処理可能なデータ形式のデータとUSBデータ形式に準拠したパケットデータの変換処理を行って仮想化制御部103へ、操作情報を送信する(ステップS342)。 The input device 208 transmits the operation information to the virtual device control unit 203 via the input I / F 207 connected to the input device 208 (step S341). The virtual device control unit 203 performs conversion processing between data in a data format that can be processed by the input device 208 and packet data that conforms to the USB data format, and transmits operation information to the virtualization control unit 103 (step S342).
 仮想化制御部103は、デバイスドライバ102の制御コマンドに応答を行う(ステップS343)。デバイスドライバ102は、入力装置208の操作情報をアプリケーション101に送信する(ステップS344)。 The virtualization control unit 103 responds to the control command of the device driver 102 (step S343). The device driver 102 transmits operation information of the input device 208 to the application 101 (step S344).
 アプリケーション101は、デバイスドライバ102から受信した操作情報から仮想複合デバイス500の選択操作を実行する(ステップS345)。このとき、アプリケーション101により仮想複合デバイス構成情報が生成される。なお、仮想複合デバイス500を構成するデバイスとして選択されなかったデバイスは、別の仮想デバイスとして仮想複合デバイス500と共存することも可能である。ここで共存とは、仮想複合デバイス500とそれ以外のデバイスを別のセッションで管理することであり、情報処理装置100には仮想複合デバイス500とそれ以外のデバイスとして区別し認識される。 The application 101 executes a selection operation of the virtual composite device 500 from the operation information received from the device driver 102 (step S345). At this time, virtual composite device configuration information is generated by the application 101. Note that a device that is not selected as a device constituting the virtual composite device 500 can coexist with the virtual composite device 500 as another virtual device. Here, coexistence means managing the virtual composite device 500 and other devices in separate sessions, and the information processing apparatus 100 distinguishes and recognizes the virtual composite device 500 and other devices.
 このとき、内部デバイス400Cおよび/または外部デバイス300Bを仮想複合デバイス500と共存させた場合、デバイス制御装置200Bが共存させるデバイス(内部デバイス、外部デバイス)の仮想デバイス識別情報217を情報処理装置100に送信する。これにより情報処理装置100はデバイス制御装置200Bを認識する。 At this time, when the internal device 400C and / or the external device 300B coexist with the virtual composite device 500, the virtual device identification information 217 of the device (internal device, external device) coexisting with the device control apparatus 200B is sent to the information processing apparatus 100. Send. As a result, the information processing apparatus 100 recognizes the device control apparatus 200B.
 また、内部デバイス400Cおよび/または外部デバイス300Bを仮想複合デバイス500として構成し、仮想複合デバイス500として構成しないデバイス制御装置200Bの残りのデバイスが情報処理装置100とデータ送受信しない(内部デバイスとして仮想化制御しない)場合、デバイス制御装置200Aが情報処理装置100に仮想複合デバイス識別情報212を送信する。そして、情報処理装置100はデバイス制御装置200Bを認識することなく、デバイス制御装置200Aとデータ送受信を行う。 Also, the internal device 400C and / or the external device 300B are configured as the virtual composite device 500, and the remaining devices of the device control apparatus 200B that are not configured as the virtual composite device 500 do not transmit / receive data to / from the information processing apparatus 100 (virtualized as internal devices) If not, the device control apparatus 200A transmits the virtual composite device identification information 212 to the information processing apparatus 100. Then, the information processing apparatus 100 performs data transmission / reception with the device control apparatus 200A without recognizing the device control apparatus 200B.
 アプリケーション101は、上記で選択した仮想複合デバイス500をデバイス情報通知部105へ接続要求する(ステップS346)。デバイス情報通知部105は、ネットワークI/Fを介してデバイス制御装置200Aのデバイス構成管理部213へ仮想複合デバイス500の接続通知を行う(ステップS347)。 The application 101 requests connection of the virtual composite device 500 selected above to the device information notification unit 105 (step S346). The device information notification unit 105 notifies the connection of the virtual composite device 500 to the device configuration management unit 213 of the device control apparatus 200A via the network I / F (step S347).
 デバイス構成管理部213は、デバイス情報に基づいて機能や性能を選択し、仮想複合デバイス制御部211に仮想複合デバイス構成情報を送信し仮想複合デバイス500の作成を要求する(ステップS348)。 The device configuration management unit 213 selects a function or performance based on the device information, transmits virtual composite device configuration information to the virtual composite device control unit 211, and requests creation of the virtual composite device 500 (step S348).
 仮想複合デバイス制御部211は、記憶装置303とセンサー装置306と映像入力装置221から受信したUSBデータを、図8の構成に基づいて仮想複合デバイス500のインターフェースに対応するエンドポイントに格納する。これにより、仮想複合デバイス制御部211は、それぞれのデバイスから受信したUSBデータを合わせて一つの仮想複合デバイス500のUSBデータ形式に変換して仮想複合デバイスの個体識別情報である仮想複合デバイス識別情報212を生成することで仮想複合デバイス500を作成する(ステップS349)。このとき、デバイス制御装置200Bのデバイス(内部デバイス、外部デバイス)を仮想複合デバイス500として構成して仮想複合デバイス500を作成した場合、デバイス制御装置200Aのデバイス構成管理部213は、デバイス制御装置200Bに仮想複合デバイス500を作成した旨を通知してもよい。 The virtual composite device control unit 211 stores the USB data received from the storage device 303, the sensor device 306, and the video input device 221 in an endpoint corresponding to the interface of the virtual composite device 500 based on the configuration of FIG. Thereby, the virtual composite device control unit 211 converts the USB data received from each device into the USB data format of one virtual composite device 500 and converts the virtual composite device identification information, which is individual identification information of the virtual composite device The virtual composite device 500 is created by generating 212 (step S349). At this time, when the device (internal device, external device) of the device control apparatus 200B is configured as the virtual composite device 500 to create the virtual composite device 500, the device configuration management unit 213 of the device control apparatus 200A displays the device control apparatus 200B. May be notified that the virtual composite device 500 has been created.
 仮想複合デバイス制御部211は、仮想複合デバイス500の個体識別情報である仮想複合デバイス識別情報212をネットワークI/Fを介して情報処理装置100の仮想化制御部103へ接続通知を送信する(ステップS350)。 The virtual composite device control unit 211 transmits a connection notification of the virtual composite device identification information 212, which is the individual identification information of the virtual composite device 500, to the virtualization control unit 103 of the information processing apparatus 100 via the network I / F (step). S350).
 仮想化制御部103は、デバイス制御装置200Aの仮想化制御部202から受信した仮想複合デバイス識別情報212をデバイスドライバ102に通知する(ステップS351)。 The virtualization control unit 103 notifies the device driver 102 of the virtual composite device identification information 212 received from the virtualization control unit 202 of the device control apparatus 200A (step S351).
 デバイスドライバ102は、アプリケーション101に仮想複合デバイス500の接続通知を送信する(ステップS352)。ここでアプリケーション101は、仮想複合デバイス500の接続通知を受けると、仮想複合デバイス500を認識し(ステップS353)、仮想化制御部103は、仮想複合デバイス500の仮想化制御を開始する(ステップS354)。そして、情報処理装置100は、仮想化制御に必要なソフトウェア部品を生成・起動し、これらのソフトウェア部品を使用して仮想複合デバイス500との接続を開始する。 The device driver 102 transmits a connection notification of the virtual composite device 500 to the application 101 (step S352). Here, when the application 101 receives a notification of connection of the virtual composite device 500, the application 101 recognizes the virtual composite device 500 (step S353), and the virtualization control unit 103 starts virtualization control of the virtual composite device 500 (step S354). ). Then, the information processing apparatus 100 generates and activates software components necessary for virtualization control, and starts a connection with the virtual composite device 500 using these software components.
 ステップS301~ステップS354のシーケンスにより、情報処理装置100は、各デバイスを個別に認識するのではなく1つの仮想複合デバイス500として認識することが可能となる。以降のシーケンスでは、情報処理装置100は外部デバイス300A、外部デバイス300Bおよび内部デバイス400Cを1つの仮想複合デバイス500として認識する。 By the sequence of step S301 to step S354, the information processing apparatus 100 can recognize each device as one virtual composite device 500, instead of recognizing each device individually. In the subsequent sequence, the information processing apparatus 100 recognizes the external device 300A, the external device 300B, and the internal device 400C as one virtual composite device 500.
 ここからは、情報処理装置100と仮想複合デバイス500との間で行われるデータ送受信の制御に関するシーケンスについて説明する。 From here, a sequence relating to control of data transmission / reception performed between the information processing apparatus 100 and the virtual composite device 500 will be described.
 外部デバイス300Bは、センサー装置306のセンサー情報を入力する(ステップS360)。センサー装置306と接続された通信I/F305を介して仮想化制御部215へデータを送信する(ステップS361)。仮想化制御部215は、センサー装置306で処理可能なデータ形式のデータとUSBデータ形式に準拠したパケットデータの変換処理を行って仮想複合デバイス制御部211へ、センサー情報を送信する(ステップS362)。 External device 300B inputs sensor information of sensor device 306 (step S360). Data is transmitted to the virtualization control unit 215 via the communication I / F 305 connected to the sensor device 306 (step S361). The virtualization control unit 215 performs conversion processing between data in a data format that can be processed by the sensor device 306 and packet data that conforms to the USB data format, and transmits the sensor information to the virtual composite device control unit 211 (step S362). .
 仮想複合デバイス制御部211は、図8の構成に基づき、仮想複合デバイス500のエンドポイントに基づいて受信したデータがセンサー装置306の制御情報であるか判断し、制御情報を送信するエンドポイントを決定する。エンドポイントが重複して振り替えている場合は、仮想複合デバイス制御部211に記憶した対応関係に基づいて判断を行う。 Based on the configuration of FIG. 8, the virtual composite device control unit 211 determines whether the data received based on the endpoint of the virtual composite device 500 is the control information of the sensor device 306 and determines the endpoint that transmits the control information. To do. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
 続いて、仮想複合デバイス制御部211は、受信したセンサー情報(USBデータ)をネットワークI/Fを介して情報処理装置100の仮想化制御部103に送信する(ステップS363)。 Subsequently, the virtual composite device control unit 211 transmits the received sensor information (USB data) to the virtualization control unit 103 of the information processing apparatus 100 via the network I / F (step S363).
 仮想化制御部103は、受信したセンサー情報をデバイスドライバ102に送信する(ステップS364)。デバイスドライバ102は、仮想化制御部103から受け取ったセンサー情報をアプリケーション101に送信する(ステップS365)。アプリケーション101は、センサー情報を解析し、仮想複合デバイス500(映像入力装置221)から画像入力(撮影)を開始する(ステップS366)。 The virtualization control unit 103 transmits the received sensor information to the device driver 102 (step S364). The device driver 102 transmits the sensor information received from the virtualization control unit 103 to the application 101 (step S365). The application 101 analyzes the sensor information and starts image input (shooting) from the virtual composite device 500 (video input device 221) (step S366).
 内部デバイス400Cは、映像入力装置221から画像情報を入力する(ステップS370)。映像入力装置221と接続された画像入力I/F220を介して仮想デバイス制御部216へデータを送信する(ステップS371)。仮想デバイス制御部216は、映像入力装置221で処理可能なデータ形式のデータとUSBデータ形式に準拠したパケットデータの変換処理を行って仮想複合デバイス制御部211へ、画像情報を送信する(ステップS372)。 The internal device 400C inputs image information from the video input device 221 (step S370). Data is transmitted to the virtual device control unit 216 via the image input I / F 220 connected to the video input device 221 (step S371). The virtual device control unit 216 performs conversion processing between data in a data format that can be processed by the video input device 221 and packet data that conforms to the USB data format, and transmits image information to the virtual composite device control unit 211 (step S372). ).
 仮想複合デバイス制御部211は、図8の構成に基づき、仮想複合デバイス500のエンドポイントに基づいて受信したデータが映像入力装置221の制御情報であるか判断し、制御情報を送信するエンドポイントを決定する。エンドポイントが重複して振り替えている場合は、仮想複合デバイス制御部211に記憶した対応関係に基づいて判断を行う。 Based on the configuration of FIG. 8, the virtual composite device control unit 211 determines whether the data received based on the endpoint of the virtual composite device 500 is the control information of the video input device 221, and determines the endpoint that transmits the control information. decide. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
 続いて、仮想複合デバイス制御部211は、受信した画像情報(USBデータ)をネットワークI/Fを介して情報処理装置100の仮想化制御部103に送信する(ステップS373)。 Subsequently, the virtual composite device control unit 211 transmits the received image information (USB data) to the virtualization control unit 103 of the information processing apparatus 100 via the network I / F (step S373).
 仮想化制御部103は、受信した画像情報をデバイスドライバ102に送信する(ステップS374)。デバイスドライバ102は、仮想化制御部103から受け取った画像情報をアプリケーション101に送信する(ステップS375)。アプリケーション101は、画像情報を解析し、仮想複合デバイス500(記憶装置303)へ画像出力の指示を開始する(ステップS376)。 The virtualization control unit 103 transmits the received image information to the device driver 102 (step S374). The device driver 102 transmits the image information received from the virtualization control unit 103 to the application 101 (step S375). The application 101 analyzes the image information and starts an image output instruction to the virtual composite device 500 (storage device 303) (step S376).
 アプリケーション101は、仮想複合デバイス500(記憶装置303)へ画像情報の出力を開始する(ステップS380)。アプリケーション101は、デバイスドライバ102に画像情報を送信する(ステップS381)。デバイスドライバ102は、仮想化制御部103へ画像情報を送信する(ステップS382)。 Application 101 starts outputting image information to virtual composite device 500 (storage device 303) (step S380). The application 101 transmits image information to the device driver 102 (step S381). The device driver 102 transmits image information to the virtualization control unit 103 (step S382).
 仮想化制御部103は、デバイスドライバ102の制御コマンド(つまり、データ入出力要求)をUSBデータ形式に準拠したUSBデータに変換して、ネットワークI/Fを介してデバイス制御装置200Aの仮想複合デバイス制御部211へ送信する(ステップS383)。 The virtualization control unit 103 converts a control command (that is, a data input / output request) of the device driver 102 into USB data conforming to the USB data format, and performs a virtual composite device of the device control apparatus 200A via the network I / F. It transmits to the control part 211 (step S383).
 仮想複合デバイス制御部211は、図8の構成に基づき、仮想複合デバイス500のエンドポイントに基づいて受信したデータが記憶装置303の制御情報であるか判断し、制御情報を送信するエンドポイントを決定する。エンドポイントが重複して振り替えている場合は、仮想複合デバイス制御部211に記憶した対応関係に基づいて判断を行う。 Based on the configuration of FIG. 8, the virtual composite device control unit 211 determines whether the data received based on the end point of the virtual composite device 500 is control information of the storage device 303, and determines the end point for transmitting the control information. To do. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
 続いて、仮想複合デバイス制御部211は、受信した画像情報(USBデータ)を通信I/F302を介して記憶装置303に送信する(ステップS384)。記憶装置303は、仮想複合デバイス制御部211から受信した画像情報を記憶する(ステップS385)。 Subsequently, the virtual composite device control unit 211 transmits the received image information (USB data) to the storage device 303 via the communication I / F 302 (step S384). The storage device 303 stores the image information received from the virtual composite device control unit 211 (step S385).
 ここからは、仮想複合デバイス500を切断するシーケンスについて説明する。 From here, a sequence for disconnecting the virtual composite device 500 will be described.
 ユーザの所定の操作によって、表示装置210に操作画面を表示させ、入力装置208を操作して切断操作を行い、仮想デバイス制御部203に対して切断要求がUSBデータとして送信される(ステップS390)。 An operation screen is displayed on the display device 210 according to a predetermined operation by the user, the disconnection operation is performed by operating the input device 208, and a disconnection request is transmitted as USB data to the virtual device control unit 203 (step S390). .
 入力装置208は、操作情報を入力装置208と接続された入力I/F207を介して仮想デバイス制御部203へデータを送信する(ステップS391)。仮想デバイス制御部203は、入力装置208で処理可能なデータ形式のデータとUSBデータ形式に準拠したパケットデータの変換処理を行って仮想化制御部103へ、操作情報を送信する(ステップS392)。 The input device 208 transmits the operation information to the virtual device control unit 203 via the input I / F 207 connected to the input device 208 (step S391). The virtual device control unit 203 performs conversion processing between data in a data format that can be processed by the input device 208 and packet data that conforms to the USB data format, and transmits operation information to the virtualization control unit 103 (step S392).
 仮想化制御部103は、デバイスドライバ102の制御コマンドに応答を行う(ステップS293)。デバイスドライバ102は、入力装置208の操作情報をアプリケーション101に送信する(ステップS394)。 The virtualization control unit 103 responds to the control command of the device driver 102 (step S293). The device driver 102 transmits operation information of the input device 208 to the application 101 (step S394).
 アプリケーション101は、デバイスドライバ102から受信した操作情報から切断操作を実行する(ステップS395)。 The application 101 executes a disconnection operation from the operation information received from the device driver 102 (step S395).
 アプリケーション101は、デバイス情報通知部105へ仮想複合デバイス500の切断要求を送信する(ステップS396)。デバイス情報通知部105は、ネットワークI/Fを介してデバイス制御装置200Aのデバイス構成管理部213へ仮想複合デバイス500の切断通知を行う(ステップS397)。 The application 101 transmits a disconnection request for the virtual composite device 500 to the device information notification unit 105 (step S396). The device information notification unit 105 sends a disconnection notification of the virtual composite device 500 to the device configuration management unit 213 of the device control apparatus 200A via the network I / F (step S397).
 デバイス構成管理部213は、複合デバイス情報に基づいて接続中の機能を選択し、仮想複合デバイス制御部211に仮想複合デバイス500の消滅を要求する(ステップS398)。 The device configuration management unit 213 selects a function being connected based on the composite device information, and requests the virtual composite device control unit 211 to extinguish the virtual composite device 500 (step S398).
 仮想複合デバイス制御部211は、仮想複合デバイス500の個体識別情報である仮想複合デバイス識別情報212を消滅させる(ステップS399)。 The virtual composite device control unit 211 deletes the virtual composite device identification information 212 that is the individual identification information of the virtual composite device 500 (step S399).
 なお、内部デバイス400C(映像入力装置221)と外部デバイス300A(記憶装置303)、外部デバイス300B(センサー装置306)を組み合せて仮想複合デバイス500を生成する例示を説明したが、複数の内部デバイスを組み合せて仮想複合デバイス500を生成してもよい。また、複数の外部デバイスを組み合せて仮想複合デバイス500を生成してもよい。さらに、デバイス制御装置200内に仮想複合デバイスを複数生成してもよい。また、センサー装置306が人感センサー、映像入力装置221は監視カメラ、記憶装置303は外付けのハードディスクとして例示したが、デバイスはこれに限定されるものではない。 In addition, although the example which combines the internal device 400C (video input device 221), the external device 300A (storage device 303), and the external device 300B (sensor device 306) to generate the virtual composite device 500 has been described, The virtual composite device 500 may be generated in combination. Further, the virtual composite device 500 may be generated by combining a plurality of external devices. Further, a plurality of virtual composite devices may be generated in the device control apparatus 200. Further, although the sensor device 306 is illustrated as a human sensor, the video input device 221 is illustrated as a monitoring camera, and the storage device 303 is illustrated as an external hard disk, the device is not limited thereto.
 また、本実施形態では情報処理装置100から仮想複合デバイス500を構成する機能や性能を選択するとして例示したが、これに限定するものではなく情報処理装置100以外の入力機能を備えたデバイスから選択してもよい。 In the present embodiment, the function and performance of the virtual composite device 500 are selected from the information processing apparatus 100. However, the present invention is not limited to this and is selected from devices having input functions other than the information processing apparatus 100. May be.
 上述のように、本発明の第2の実施形態では、情報処理装置100は外部デバイス300A、内部デバイス400Cおよび外部デバイス300Bを組み合わせた仮想複合デバイス500を仮想化制御し、デバイスドライバ102を用いて仮想複合デバイス500が直接的に接続(ローカル接続)された場合と同様にその振る舞いをシミュレートすることができる。 As described above, in the second embodiment of the present invention, the information processing apparatus 100 performs virtualization control on the virtual composite device 500 in which the external device 300A, the internal device 400C, and the external device 300B are combined, and uses the device driver 102. The behavior can be simulated in the same manner as when the virtual composite device 500 is directly connected (locally connected).
 そして、複数のデバイスを一つの仮想複合デバイス500として用いることにより、情報処理装置100にデバイスを仮想化接続する際、仮想化接続するデバイス毎に必要となるセッションを、デバイスの数や構成に関わらず1つになるように使用することができる。これにより、データ通信におけるセッション数を削減することが可能となる。また、仮想複合デバイス500として情報処理装置100に認識させることで、情報処理装置100とデバイス制御装置200Aの間のセッションを一元管理することが可能となる。
[第3の実施形態]
Then, by using a plurality of devices as one virtual composite device 500, when a device is virtual connected to the information processing apparatus 100, a session required for each device to be virtualized is related to the number and configuration of the devices. It can be used so that there is only one. Thereby, the number of sessions in data communication can be reduced. In addition, by causing the information processing apparatus 100 to recognize the virtual composite device 500, it becomes possible to centrally manage sessions between the information processing apparatus 100 and the device control apparatus 200A.
[Third Embodiment]
 続いて、本発明の第3の実施形態によるデバイス制御システムの一例について説明する。予め決められた任意の内部デバイスや外部デバイスを組み合わせた仮想複合デバイスの構成に含まれるデバイス制御装置がネットワーク上に存在しない場合、ネットワーク上の機能要求を満たす他のデバイス制御装置が存在したときには、存在するデバイス制御装置を使用して仮想複合デバイスを生成し、情報処理装置で使用させたいケースがある。そこで、第3の実施形態では、情報処理装置、デバイス制御装置の接続状況から、仮想複合デバイスの構成、接続先を選定し、選定した内容でデバイス制御装置が具備する所定の機能である仮想複合デバイスの制御を行うことで、情報処理装置の状況に応じた適切な仮想複合デバイスを提供する。 Subsequently, an example of a device control system according to the third embodiment of the present invention will be described. When a device control apparatus included in the configuration of the virtual composite device combining any predetermined internal device or external device does not exist on the network, when another device control apparatus that satisfies the function request on the network exists, There is a case where a virtual composite device is generated using an existing device control apparatus and is used in an information processing apparatus. Therefore, in the third embodiment, the configuration of the virtual composite device and the connection destination are selected from the connection status of the information processing apparatus and the device control apparatus, and the virtual composite that is a predetermined function included in the device control apparatus according to the selected content. By controlling the device, an appropriate virtual composite device according to the status of the information processing apparatus is provided.
 図10は、本発明の第3の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。 FIG. 10 is a block diagram schematically showing a configuration of an example of a device control system according to the third embodiment of the present invention.
 図示のデバイス制御システムにおいては、情報処理装置100がローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などのネットワークを介してデバイス制御装置200に接続されている。LANおよびWANは有線回線又は無線回線で構成される。そして、デバイス制御装置200には、例えば、通信インターフェース(例えば、USB又はHDMI(登録商標))によって外部デバイス300がローカル接続されている。以降の説明では、通信インターフェースをUSBとして説明する。
<情報処理装置100の構成>
In the illustrated device control system, an information processing apparatus 100 is connected to a device control apparatus 200 via a network such as a local area network (LAN) or a wide area network (WAN). The LAN and WAN are configured by a wired line or a wireless line. The external device 300 is locally connected to the device control apparatus 200 via, for example, a communication interface (for example, USB or HDMI (registered trademark)). In the following description, the communication interface will be described as USB.
<Configuration of Information Processing Device 100>
 情報処理装置100は、ユーザによって利用されるパーソナルコンピュータ(PC)等の装置である。ハードウェア構成として、CPU、入力部、表示部、メモリ、通信部(ともに不図示)、記憶部110を備え、これらハードウェアは内部バスで相互に接続されている。 The information processing apparatus 100 is an apparatus such as a personal computer (PC) used by a user. The hardware configuration includes a CPU, an input unit, a display unit, a memory, a communication unit (both not shown), and a storage unit 110, and these hardware units are connected to each other via an internal bus.
 CPUは情報処理装置100の全体の制御を司る。入力部は、例えば、キーボードおよびマウスを備えている。表示部として、例えば、液晶モニタが用いられる。メモリはRAMおよびROM等である。 The CPU controls the entire information processing apparatus 100. The input unit includes, for example, a keyboard and a mouse. For example, a liquid crystal monitor is used as the display unit. The memory is RAM, ROM, or the like.
 通信部はLANおよびWANなどに接続するためのネットワークI/Fであって、デバイス制御装置200とデータ送受信を行う。これにより、情報処理装置100はデバイス制御装置200にローカル接続された外部デバイス300やデバイス制御装置200に備えられた内部デバイス400や外部デバイス300とデータ送受信することが可能となる。 The communication unit is a network I / F for connecting to a LAN and a WAN, and performs data transmission / reception with the device control apparatus 200. As a result, the information processing apparatus 100 can transmit / receive data to / from the external device 300 locally connected to the device control apparatus 200, the internal device 400 provided in the device control apparatus 200, and the external device 300.
 記憶部110には、ソフトウェアであるオペレーティングシステム(以下「OS」と呼ぶ:不図示)、アプリケーション101、デバイスドライバ102、仮想化制御部103、通信制御部104およびデバイス情報通知部105が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。 The storage unit 110 stores an operating system that is software (hereinafter referred to as “OS”: not shown), an application 101, a device driver 102, a virtualization control unit 103, a communication control unit 104, and a device information notification unit 105. In addition, software relating to other functions is stored. These software are read into the memory and operate according to the control of the CPU.
 アプリケーション101は、デバイスドライバ102に対してデータ入出力要求を指示することにより、デバイス制御装置200に接続された外部デバイス300やデバイス制御装置200に備えられた内部デバイスを組み合わせた複合デバイス(以下「仮想複合デバイス」と呼ぶ)を制御するためのソフトウェアである。外部デバイス300および内部デバイス400の組み合わせは任意であり、デバイスの台数についてもこれに限定したものではない。 The application 101 instructs the device driver 102 to perform a data input / output request, thereby combining the external device 300 connected to the device control apparatus 200 and a composite device (hereinafter, “a combination of internal devices provided in the device control apparatus 200”). Software for controlling a virtual composite device). The combination of the external device 300 and the internal device 400 is arbitrary, and the number of devices is not limited to this.
 デバイスドライバ102は、外部デバイス300、内部デバイス400、および仮想複合デバイスを制御するための機能部である。OSまたはアプリケーション101からのデータ入出力要求を、外部デバイス300、内部デバイス400、および仮想複合デバイスに応じたデータ形式のデータ(以下「制御コマンド」と呼ぶ)に変換して、当該制コマンドを仮想化制御部103に送る。さらに、デバイスドライバ102は制御コマンドに対する応答をアプリケーション101に通知する。このデバイスドライバ102は一般に、製造したメーカーによって提供されるソフトウェアであって、情報処理装置100は各デバイスに対応したデバイスドライバ102によって外部デバイス300、内部デバイス400、および仮想複合デバイス500を制御することができる。 The device driver 102 is a functional unit for controlling the external device 300, the internal device 400, and the virtual composite device. A data input / output request from the OS or the application 101 is converted into data in a data format corresponding to the external device 300, the internal device 400, and the virtual composite device (hereinafter referred to as “control command”), and the control command is converted into a virtual To the control unit 103. Further, the device driver 102 notifies the application 101 of a response to the control command. The device driver 102 is generally software provided by the manufacturer, and the information processing apparatus 100 controls the external device 300, the internal device 400, and the virtual composite device 500 by the device driver 102 corresponding to each device. Can do.
 仮想化制御部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は、外部デバイス300、内部デバイス400、および仮想複合デバイス500に対するデータ送受信要求に対して、外部デバイス300、内部デバイス400、および仮想複合デバイスが情報処理装置100に直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする機能(以下「仮想化制御機能」と呼ぶ)を備えている。この仮想化制御機能により、情報処理装置100は外部デバイス300、内部デバイス400、および仮想複合デバイス500の接続状態が、外部デバイス300、内部デバイス400、および仮想複合デバイス500をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。 Furthermore, in response to a data transmission / reception request to the external device 300, the internal device 400, and the virtual composite device 500, the virtualization control unit 103 directly sends the external device 300, the internal device 400, and the virtual composite device to the information processing apparatus 100. A function (hereinafter referred to as “virtualization control function”) for simulating the same behavior as when connected to (local connection) is provided. With this virtualization control function, the information processing apparatus 100 has the same connection state of the external device 300, the internal device 400, and the virtual composite device 500 as when the external device 300, the internal device 400, and the virtual composite device 500 are locally connected. It is possible to transmit and receive data by recognizing that this is the state.
 通信制御部104は、仮想化制御部103から送られるUSBデータとLANおよびWANを介してデバイス制御装置200と通信する際のネットワークパケットとの変換処理を行い、デバイス制御装置200と情報処理装置100の間でデータ送受信の制御を行う。 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 200 via the LAN and WAN, and the device control apparatus 200 and the information processing apparatus 100. Data transmission / reception is controlled between them.
 また、通信制御部104は仮想化制御部103を介してアプリケーション101またはデバイスドライバ102から送られるデータ送受信要求に応じて、デバイス制御装置200と情報処理装置100の間のセッションの開始および切断の制御を行う。デバイス制御装置200と情報処理装置100の間のセッションは、情報処理装置100が仮想化制御するデバイス数分(内部デバイス、外部デバイス、仮想複合デバイスの数分)、生成される。 The communication control unit 104 controls the start and disconnection of a session between the device control apparatus 200 and the information processing apparatus 100 in response to a data transmission / reception request sent from the application 101 or the device driver 102 via the virtualization control unit 103. I do. Sessions between the device control apparatus 200 and the information processing apparatus 100 are generated for the number of devices that the information processing apparatus 100 performs virtualization control (for the number of internal devices, external devices, and virtual composite devices).
 デバイス情報通知部105は、情報処理装置100が必要とする仮想複合デバイス構成情報を管理し、仮想複合デバイス制御部211を有するデバイス制御装置200と通信可能な状態になると、情報処理装置100の情報(以下「自装置情報」と呼ぶ)および必要とするデバイス情報(以下「必要デバイス情報)と呼ぶ)をデバイス制御装置200に通知するよう通信制御部104に要求する。ここで、仮想複合デバイス構成情報とは、仮想複合デバイスがどのようなデバイスから構成されているかを示す情報である。仮想複合デバイス構成情報は、機能要求を満たすことが第1の条件である。第2の条件以降は任意で設定することも可能である。例えば、機能要求を満たす第1の条件はビデオクラス、ストレージクラス、印刷クラス等の機能を設定することである。第2の条件はカメラのfps(frame per second)、ストレージの容量、印刷のppm(Page Per Minute)等の性能を設定してもよい。
<デバイス制御装置200の構成>
When the device information notification unit 105 manages virtual composite device configuration information required by the information processing apparatus 100 and is communicable with the device control apparatus 200 having the virtual composite device control unit 211, the information on the information processing apparatus 100 is displayed. (Hereinafter referred to as “own device information”) and required device information (hereinafter referred to as “required device information”) are requested to the communication control unit 104. Here, the virtual composite device configuration is requested. The information is information indicating what kind of device the virtual composite device is configured in. The virtual composite device configuration information is based on the first condition that the function request is satisfied. For example, the first condition that satisfies the function request is the video class, storage class, print class, etc. Is to set the power. The second condition is the camera fps (frame per second), the capacity of the storage, the performance may be set such ppm print (Page Per Minute).
<Configuration of Device Control Device 200>
 デバイス制御装置200は、例えば、プリンタまたは複合機等の周辺機器であって、ハードウェア構成としてCPU、メモリ、通信部、および記憶部(ともに不図示)を備えるとともに、内部デバイス400を備えている。内部デバイス400の構成の詳細は後述する。 The device control apparatus 200 is a peripheral device such as a printer or a multifunction peripheral, for example, and includes a CPU, a memory, a communication unit, and a storage unit (both not shown) as a hardware configuration and an internal device 400. . Details of the configuration of the internal device 400 will be described later.
 CPUはデバイス制御装置200全体の制御を司る。入力装置208は、例えば、キーボード、テンキーおよびマウス等の入力機器若しくはこれらの機能をソフトウェアで実現したソフトウェアキーボード等である。表示装置210としては、例えば、液晶モニタが用いられる。メモリはRAMおよびROM等である。 CPU controls the entire device control apparatus 200. The input device 208 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 monitor is used as the display device 210. The memory is RAM, ROM, or the like.
 通信部はLANおよびWANに接続するためのネットワークI/Fであって、情報処理装置100とデータ送受信を行う。 The communication unit is a network I / F for connecting to a LAN and a WAN, and performs data transmission / reception with the information processing apparatus 100.
 記憶部には、ソフトウェアであるOS(不図示)、通信制御部201、仮想化制御部202、仮想デバイス制御部203、仮想複合デバイス制御部211およびデバイス構成管理部213が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらのソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。 The storage unit stores an OS (not shown) that is software, a communication control unit 201, a virtualization control unit 202, a virtual device control unit 203, a virtual composite device control unit 211, and a device configuration management unit 213. The software related to the function is stored. These software are read into the memory and operate according to the control of the CPU.
 通信制御部201は、情報処理装置100との間で行われる入出力データ等の送受信を制御する。 The communication control unit 201 controls transmission / reception of input / output data and the like performed with the information processing apparatus 100.
 仮想化制御部202は、内部デバイス400、外部デバイス300、および仮想複合デバイス500があたかも情報処理装置に直接的に接続(ローカル接続)されているかのように情報処理装置100へ認識させて制御できるようにするため、情報処理装置100の仮想化制御部103からの制御要求に従って(連動して)内部デバイス400、外部デバイス300、仮想複合デバイス500の制御を行う。 The virtualization control unit 202 can control the information processing apparatus 100 to recognize the internal device 400, the external device 300, and the virtual composite device 500 as if they were directly connected (local connection) to the information processing apparatus. Therefore, the internal device 400, the external device 300, and the virtual composite device 500 are controlled in accordance with (in conjunction with) a control request from the virtualization control unit 103 of the information processing apparatus 100.
 仮想デバイス制御部203は、仮想デバイス識別情報204およびデータ形式変換処理部205を備えている。さらに、仮想デバイス制御部203は、デバイス制御装置200に備えられた内部デバイス400を仮想的なUSBデバイスに切り替えるユーザインターフェース等の切替機能を備えている。 The virtual device control unit 203 includes virtual device identification information 204 and a data format conversion processing unit 205. Furthermore, the virtual device control unit 203 has a switching function such as a user interface that switches the internal device 400 provided in the device control apparatus 200 to a virtual USB device.
 仮想デバイス識別情報204は、情報処理装置100および後述する仮想複合デバイス制御部211に内部デバイス400を外部デバイス300と同様に認識させるために用いる。仮想デバイス識別情報204の詳細は後述する。 The virtual device identification information 204 is used for causing the information processing apparatus 100 and a virtual composite device control unit 211 described later to recognize the internal device 400 in the same manner as the external device 300. Details of the virtual device identification information 204 will be described later.
 データ形式変換処理部205は、仮想複合デバイス制御部211から送られるUSBデータ形式に準拠したパケットデータと内部デバイス400で処理可能なデータ形式のデータとの変換処理を行って、内部デバイス400と接続された入力I/F207およびディスプレイI/F209と、仮想複合デバイス制御部211との間のデータの送受信を可能にしている。 The data format conversion processing unit 205 performs conversion processing between packet data conforming to the USB data format sent from the virtual composite device control unit 211 and data in a data format that can be processed by the internal device 400, and connects to the internal device 400. Data transmission / reception between the input I / F 207 and the display I / F 209 and the virtual composite device control unit 211 is enabled.
 仮想複合デバイス制御部211は、任意の複数のデバイス(内部デバイスや外部デバイス)を一つの仮想複合デバイスとして仮想化制御部202に認識および記憶させる制御を行う。また、仮想複合デバイス制御部211は、仮想複合デバイス識別情報212を記憶している。 The virtual composite device control unit 211 performs control for causing the virtualization control unit 202 to recognize and store an arbitrary plurality of devices (internal devices and external devices) as one virtual composite device. The virtual composite device control unit 211 stores virtual composite device identification information 212.
 さらに、仮想複合デバイス制御部211は、後述するデバイス構成管理部213から指定された複数のデバイス(内部デバイス、外部デバイス)を一つの仮想複合デバイスとして仮想化し、デバイス構成管理部213から指定された情報処理装置100と接続されるよう仮想化制御部202に認識させる制御を行う。 Further, the virtual composite device control unit 211 virtualizes a plurality of devices (internal device, external device) designated by the device configuration management unit 213 described later as one virtual composite device, and designated by the device configuration management unit 213. Control is performed to cause the virtualization control unit 202 to recognize the connection to the information processing apparatus 100.
 仮想複合デバイス識別情報212は、情報処理装置100に仮想複合デバイスを認識させるために用いる。仮想複合デバイス識別情報212の詳細は後述する。 The virtual composite device identification information 212 is used for causing the information processing apparatus 100 to recognize the virtual composite device. Details of the virtual composite device identification information 212 will be described later.
 デバイス構成管理部213は、外部デバイス300、内部デバイス400の接続情報を記憶し、各デバイスが備えている機能を管理する。情報処理装置100から必要デバイス情報の接続通知により、仮想複合デバイスを構成する機能や性能を選択し、仮想複合デバイス制御部211に仮想複合デバイスの作成を要求する。 The device configuration management unit 213 stores connection information of the external device 300 and the internal device 400 and manages functions provided in each device. Based on the connection notification of necessary device information from the information processing apparatus 100, the function or performance constituting the virtual composite device is selected, and the virtual composite device control unit 211 is requested to create the virtual composite device.
 さらに、デバイス構成管理部213は、仮想複合デバイスの生成、接続を判断するために接続された各装置の情報(以下「接続装置情報」と呼ぶ)を管理し、情報処理装置100のデバイス情報通知部105から通知される情報(自装置情報、必要デバイス情報)も接続装置情報として管理する。また、デバイス制御装置200が持つ外部デバイス300、内部デバイス400のデバイス情報についても接続装置情報として管理する。 Further, the device configuration management unit 213 manages information of each device connected to determine the generation and connection of the virtual composite device (hereinafter referred to as “connection device information”), and notifies the information processing device 100 of device information notification. Information (own device information, necessary device information) notified from the unit 105 is also managed as connection device information. The device information of the external device 300 and the internal device 400 that the device control apparatus 200 has is also managed as connection apparatus information.
 デバイス情報はネットワークで接続された他のデバイス制御装置が持つ外部デバイス、内部デバイスの情報も管理する。デバイス構成管理部213は、デバイス制御装置200に接続された情報処理装置100、外部デバイス300、内部デバイス400の接続状況に変化があるたびに接続装置情報を更新する。 Device information also manages information on external devices and internal devices held by other device control devices connected via the network. The device configuration management unit 213 updates the connection device information every time there is a change in the connection status of the information processing device 100, the external device 300, and the internal device 400 connected to the device control device 200.
 仮想複合デバイスと接続されてない情報処理装置100があれば、その情報処理装置100の必要デバイス情報に合う外部デバイス300、内部デバイス400を選定し、仮想複合デバイスの生成、接続を仮想複合デバイス制御部211に要求する。 If there is an information processing apparatus 100 that is not connected to a virtual composite device, an external device 300 and an internal device 400 that match the required device information of the information processing apparatus 100 are selected, and virtual composite device generation and connection are controlled by virtual composite device control. Request to unit 211.
 仮想複合デバイス制御部211で仮想複合デバイスの生成、接続が完了したら、接続対象となった情報処理装置100、外部デバイス300、内部デバイス400を対象に、各装置の接続状況を接続装置情報に反映する。ここで、仮想複合デバイスと接続されていないとは、情報処理装置100、外部デバイス300、内部デバイス400のデバイス制御装置200との接続状態の変化により、仮想複合デバイスを再び生成する必要がある場合をいう。ただし、必ずしも仮想複合デバイスだけでデバイス制御システムを構成する必要はなく、外部デバイス300、内部デバイス400と仮想複合デバイスが共存することも可能である。 When the virtual composite device control unit 211 completes generation and connection of the virtual composite device, the connection status of each apparatus is reflected in the connection apparatus information for the information processing apparatus 100, the external device 300, and the internal device 400 that are connection targets. To do. Here, “not connected to the virtual composite device” means that the virtual composite device needs to be generated again due to a change in the connection state of the information processing apparatus 100, the external device 300, and the internal device 400 with the device control apparatus 200. Say. However, it is not always necessary to configure the device control system with only the virtual composite device, and the external device 300, the internal device 400, and the virtual composite device can coexist.
 なお、必要デバイスの選定は、デバイス構成管理部213が持つ対象デバイスを特定するための各種条件群(以下「デバイス選定基準」と呼ぶ)に従う。デバイス選定基準は、情報処理装置100の必要デバイス情報の機能要求を満たすことが第1の条件であり、第2の条件以降は任意で設定することを可能とする。第2の条件以降では、優先条件(第1の条件で複数デバイスが抽出された場合、優先度をつけて選定するための判断条件)、限定条件(第1の条件を満たすが、特定の情報処理装置100でしか使用させない場合、選定対象から除外するための限定(制限または禁止)条件)があり、第1の条件と組み合わせてデバイスの選定を行う。なお、提示した条件は第2の条件以降の一例であり、選定条件はデバイスを選定する上で必要な様々な条件を設定することを可能する。そして、機能要求を満たすことが第1の条件として例示したが、これに限定するものではない。 It should be noted that the necessary devices are selected in accordance with various condition groups (hereinafter referred to as “device selection criteria”) for specifying the target device possessed by the device configuration management unit 213. The device selection criterion is that the first condition is to satisfy the function request of the necessary device information of the information processing apparatus 100, and the second and subsequent conditions can be arbitrarily set. After the second condition, the priority condition (when multiple devices are extracted under the first condition, the determination condition for selecting with priority) and the limitation condition (which satisfies the first condition but specific information) When only the processing apparatus 100 is used, there is a limitation (restriction or prohibition condition) for excluding it from the selection target, and a device is selected in combination with the first condition. The presented condition is an example after the second condition, and the selection condition can set various conditions necessary for selecting a device. And although satisfy | filling a function request | requirement was illustrated as 1st conditions, it is not limited to this.
 また、情報処理装置100が複数接続されていた場合、どの情報処理装置100を優先して処理するかは、デバイス構成管理部213が持つデバイス選定処理の優先順位に従う。デバイス選定処理の優先順位は、処理の優先順を決定する上で必要な様々な条件を設定することが可能である。デバイス選定処理の詳細については後述する。
<外部デバイス300の構成>
Further, when a plurality of information processing apparatuses 100 are connected, which information processing apparatus 100 is preferentially processed depends on the priority of device selection processing held by the device configuration management unit 213. As the priority of device selection processing, various conditions necessary for determining the priority of processing can be set. Details of the device selection process will be described later.
<Configuration of External Device 300>
 外部デバイス300は、個体識別情報301および通信I/F302を備えている。また、外部デバイス300は、HIDクラスの入力装置を備えた入力デバイスであり、デバイス制御装置200にUSBインターフェースによって外付けで接続されている。 The external device 300 includes individual identification information 301 and a communication I / F 302. The external device 300 is an input device having an HID class input device, and is externally connected to the device control device 200 via a USB interface.
 個体識別情報301は、外部デバイス300を識別するための情報であり、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーID(VID)、機種を識別するために機種毎に割り当てられた製品ID(PID)、機器の個体を識別するために機器毎に割り当てられたシリアル番号などである。 The individual identification information 301 is information for identifying the external device 300, and is assigned for each model to identify the vendor ID (VID) assigned for each manufacturer that manufactured the device to identify the manufacturer. Product ID (PID) assigned, serial number assigned to each device in order to identify the individual device.
 通信I/F302は、USBインターフェースやHDMI(登録商標)であり、デバイス制御装置200と通信を行うための機能部である。なお、通信I/F302は、デバイス制御装置200と通信が実現可能であればUSBインターフェースやHDMI(登録商標)以外でもよい。 The communication I / F 302 is a USB interface or HDMI (registered trademark), and is a functional unit for communicating with the device control apparatus 200. Note that the communication I / F 302 may be other than a USB interface or HDMI (registered trademark) as long as communication with the device control apparatus 200 can be realized.
 なお、図1に示すデバイス制御システムにおいては、情報処理装置100、デバイス制御装置200、および外部デバイス300がそれぞれ1つのみ示されているが、情報処理装置100、デバイス制御装置200、および外部デバイス300の台数は図示の例に限定されるものではない。 In the device control system shown in FIG. 1, only one information processing apparatus 100, device control apparatus 200, and external device 300 are shown, but the information processing apparatus 100, device control apparatus 200, and external device are shown. The number of 300 is not limited to the illustrated example.
 また、デバイス制御装置200に外部デバイス300を接続せず、デバイス制御システムを情報処理装置100およびデバイス制御装置200のみで構成するようにしてもよい。
<内部デバイス400の構成>
Alternatively, the external device 300 may not be connected to the device control apparatus 200, and the device control system may be configured by only the information processing apparatus 100 and the device control apparatus 200.
<Configuration of Internal Device 400>
 内部デバイス400(入出力デバイス)は、ユーザインターフェースとして用いられる入力装置208および表示装置210を備えている。入力装置208および表示装置210はそれぞれ入力I/F207およびディスプレイI/F209によって内部バス206に接続され、内部バス206でデバイス制御装置200の各ハードウェアに接続されている。また、内部デバイス400は、入力装置208として表示装置210に備えられたタッチパネルを用いるようにしてもよい。 The internal device 400 (input / output device) includes an input device 208 and a display device 210 used as a user interface. The input device 208 and the display device 210 are connected to the internal bus 206 by an input I / F 207 and a display I / F 209, respectively, and are connected to each hardware of the device control device 200 by the internal bus 206. The internal device 400 may use a touch panel provided in the display device 210 as the input device 208.
 なお、デバイス制御装置200は、例えば、プリンタまたは複合機等のオフィス機器であるが、デバイス制御装置200はオフィス機器に限定されるものではなく、様々な組込み装置、携帯電話機またはモバイル端末機器であってもよい。
<仮想デバイス識別情報204について>
The device control device 200 is an office device such as a printer or a multifunction device, for example. However, the device control device 200 is not limited to an office device, and may be various embedded devices, mobile phones, or mobile terminal devices. May be.
<About Virtual Device Identification Information 204>
 次に、仮想デバイス識別情報204について説明する。通常、内部デバイス400である入力装置208および表示装置210は、外部デバイス300の個体識別情報301に相当する情報を有していないので、情報処理装置100および仮想複合デバイス制御部211は内部デバイス400を認識することができない。 Next, the virtual device identification information 204 will be described. Normally, the input device 208 and the display device 210 that are the internal device 400 do not have information corresponding to the individual identification information 301 of the external device 300, so the information processing device 100 and the virtual composite device control unit 211 are not connected to the internal device 400. Cannot be recognized.
 そこで、本実施形態では、個体識別情報に相当する仮想デバイス識別情報204を入力装置208と表示装置210を外部デバイス300と同様のUSBデバイスとして認識させる。ここでは、USBデバイスのデータ構造を定義する構成情報(以下「USBディスクリプタ」と呼ぶ)を疑似的に作成したものを仮想デバイス識別情報204とする。仮想デバイス識別情報204は、仮想デバイス制御部203に予め記憶されたものであるが、仮想デバイス制御部203によって生成するようにしてもよい。 Therefore, in this embodiment, the virtual device identification information 204 corresponding to the individual identification information is recognized as the USB device similar to the external device 300 in the input device 208 and the display device 210. Here, virtual device identification information 204 is obtained by artificially creating configuration information (hereinafter referred to as “USB descriptor”) that defines the data structure of a USB device. The virtual device identification information 204 is stored in advance in the virtual device control unit 203, but may be generated by the virtual device control unit 203.
 図2は、図1に示す仮想デバイス識別情報204の一例を示す図であり、仮想デバイス識別情報204はUSBディスクリプタからなる。 FIG. 2 is a diagram showing an example of the virtual device identification information 204 shown in FIG. 1, and the virtual device identification information 204 is composed of a USB descriptor.
 図2に示す疑似的なUSBディスクリプタは、ベンダーID、プロダクトID、シリアル番号(不図示)、クラス、サブクラス、プロトコルおよびインターフェースから構成されている。 The pseudo USB descriptor shown in FIG. 2 includes a vendor ID, a product ID, a serial number (not shown), a class, a subclass, a protocol, and an interface.
 ベンダーIDは、各企業が製造したメーカー毎に割り当てられる識別情報であり、プロダクトIDは、ベンダーIDを持つ企業やメーカーが各製品や機種毎に重複しないよう割り振るコードである。本実施形態では、デバイス制御装置200に割り当てられているベンダーIDおよびプロダクトIDが用いられる。 The vendor ID is identification information assigned to each manufacturer manufactured by each company, and the product ID is a code assigned by the company or manufacturer 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 device control apparatus 200 are used.
 また、クラス、サブクラス、プロトコルおよびインターフェースは、キーボード、マウスおよびディスプレイ等のデバイスの種類に応じてUSB規格で規定されている情報である。そして、ベンダーIDおよびプロダクトIDと、クラス、サブクラス、プロトコル、およびインターフェースとを関連付けた疑似的なUSBディスクリプタが作成されて、仮想デバイス制御部203が仮想デバイス識別情報204として保持(記憶)する。 Also, the class, subclass, protocol, and interface are information defined by the USB standard according to the type of device such as a keyboard, mouse, and display. Then, a pseudo USB descriptor that associates the vendor ID and product ID with the class, subclass, protocol, and interface is created, and the virtual device control unit 203 holds (stores) it as the virtual device identification information 204.
 本実施形態の入力装置208はキーボードおよびマウスに対応し、表示装置210はディスプレイに対応している。これらキーボード、マウスおよびディスプレイをUSBデバイスとして認識させるために、キーボード、マウス、およびディスプレイのそれぞれへ疑似的なUSBディスクリプタ(つまり、仮想デバイス識別情報204)を割り当てている。
<仮想複合デバイス識別情報212について>
The input device 208 of this embodiment corresponds to a keyboard and a mouse, and the display device 210 corresponds to a display. In order to recognize the keyboard, mouse, and display as USB devices, pseudo USB descriptors (that is, virtual device identification information 204) are assigned to the keyboard, mouse, and display, respectively.
<About Virtual Composite Device Identification Information 212>
 続いて、仮想複合デバイス識別情報212について説明する。前述した仮想デバイス識別情報204と同様に仮想複合デバイスは、デバイスの個体識別情報に相当する情報を有していない。そのため、情報処理装置100は仮想複合デバイスを認識することができない。 Subsequently, the virtual composite device identification information 212 will be described. Similar to the virtual device identification information 204 described above, the virtual composite device does not have information corresponding to the individual identification information of the device. Therefore, the information processing apparatus 100 cannot recognize the virtual composite device.
 本実施形態では、仮想複合デバイス制御部211が個体識別情報に相当する仮想複合デバイス識別情報212を仮想複合デバイスに割り当てて、表示装置210と外部デバイス300を一つの仮想複合デバイスとして情報処理装置100に認識させる。ここでは、仮想複合デバイスのUSBディスクリプタを疑似的に作成したものを仮想複合デバイス識別情報212とする。仮想複合デバイス識別情報212は、仮想複合デバイス制御部211に予め記憶されたものであるが、デバイス構成管理部213から指定された複数のデバイス(内部デバイス、外部デバイス)の情報に基づき、仮想複合デバイス制御部211によって生成するようにしてもよい。 In this embodiment, the virtual composite device control unit 211 assigns virtual composite device identification information 212 corresponding to individual identification information to a virtual composite device, and the information processing apparatus 100 uses the display device 210 and the external device 300 as one virtual composite device. To recognize. Here, a virtual composite device identification information 212 is a virtual composite device USB descriptor created in a pseudo manner. The virtual composite device identification information 212 is stored in advance in the virtual composite device control unit 211, but based on information on a plurality of devices (internal devices, external devices) designated by the device configuration management unit 213, the virtual composite device identification information 212 is stored. It may be generated by the device control unit 211.
 図3は、図1に示す仮想複合デバイス識別情報212の一例を示す図であり、仮想複合デバイス識別情報212はUSBディスクリプタからなる。 FIG. 3 is a diagram showing an example of the virtual composite device identification information 212 shown in FIG. 1, and the virtual composite device identification information 212 includes a USB descriptor.
 図3の上段に示す疑似的なUSBディスクリプタは、キーボードに対応する外部デバイス300とディスプレイに対応する内部デバイス400の表示装置210を組み合わせた仮想複合デバイスを生成した際の、仮想複合デバイス識別情報である。 The pseudo USB descriptor shown in the upper part of FIG. 3 is virtual composite device identification information when a virtual composite device is generated by combining the external device 300 corresponding to the keyboard and the display device 210 of the internal device 400 corresponding to the display. is there.
 仮想複合デバイス制御部211は、新たにベンダーID、プロダクトID、シリアル番号(不図示)、クラス、サブクラス、プロトコルおよびインターフェースを割り当て、仮想複合デバイス識別情報212として保持(記憶)する。
<仮想複合デバイス500のデバイス構成>
The virtual composite device control unit 211 newly assigns a vendor ID, product ID, serial number (not shown), class, subclass, protocol, and interface, and holds (stores) it as virtual composite device identification information 212.
<Device Configuration of Virtual Composite Device 500>
 図4は、図1に示すデバイス制御システムにおいて複数のデバイスを一つの仮想複合デバイスとして仮想化した仮想複合デバイス500のデバイス構成を示す図である。 FIG. 4 is a diagram showing a device configuration of a virtual composite device 500 in which a plurality of devices are virtualized as one virtual composite device in the device control system shown in FIG.
 仮想複合デバイス制御部211は、外部デバイス300と内部デバイス400の表示装置210のデバイス構成情報に基づいて、仮想複合デバイス500のデバイス構成情報を構成し、複数のデバイスを一つの仮想複合デバイス500として構成する。図4に例示するように、外部デバイス300と表示装置210のエンドポイントが重複している場合、仮想複合デバイス500上では、エンドポイントが重複しないように別のエンドポイントに振り替え、その対応関係を記憶する。なお、図4の例示では、外部デバイス300のエンドポイント(0x81)と表示装置210のエンドポイント(0x81)が重複している。そのため、仮想複合デバイス500では表示装置210のエンドボイントを0x83に振り替え、例えば、内部デバイス400として表示装置210のエンドポイント(0x81)と仮想複合デバイスとしての表示装置210のエンドポイント(0x83)の対応関係を記憶している。 The virtual composite device control unit 211 configures the device configuration information of the virtual composite device 500 based on the device configuration information of the display device 210 of the external device 300 and the internal device 400, and sets a plurality of devices as one virtual composite device 500. Constitute. As illustrated in FIG. 4, when the endpoints of the external device 300 and the display device 210 overlap, the virtual composite device 500 is transferred to another endpoint so that the endpoints do not overlap, and the correspondence relationship is changed. Remember. In the example of FIG. 4, the end point (0x81) of the external device 300 and the end point (0x81) of the display device 210 overlap. Therefore, in the virtual composite device 500, the end point of the display device 210 is transferred to 0x83, for example, the correspondence between the end point (0x81) of the display device 210 as the internal device 400 and the end point (0x83) of the display device 210 as the virtual composite device I remember the relationship.
 仮想複合デバイス制御部211は、仮想複合デバイス500のデバイス構成情報を構成すると、仮想化制御部202を介して、情報処理装置100へ仮想複合デバイス500を接続する。情報処理装置100において、予めOSに組み込まれている仮想複合デバイス500のドライバ(不図示)を用いて仮想複合デバイス500をマウントし、外部デバイス300と表示装置210をあたかも一つのデバイスのように認識することができる。
<デバイス制御システムの制御シーケンス>
When the virtual composite device control unit 211 configures the device configuration information of the virtual composite device 500, the virtual composite device control unit 211 connects the virtual composite device 500 to the information processing apparatus 100 via the virtualization control unit 202. In the information processing apparatus 100, the virtual composite device 500 is mounted using a driver (not shown) of the virtual composite device 500 incorporated in advance in the OS, and the external device 300 and the display device 210 are recognized as if they were one device. can do.
<Control sequence of device control system>
 図11Aおよび図11Bは、図10に示すデバイス制御システムにおいて情報処理装置100が仮想複合デバイス500を仮想化制御する際の動作を説明するためのシーケンス図である。 11A and 11B are sequence diagrams for explaining an operation when the information processing apparatus 100 performs virtualization control of the virtual composite device 500 in the device control system shown in FIG.
 まず、デバイス制御装置200からユーザ操作によって内部デバイス400の表示装置210の仮想化制御を開始させる(ステップS401)。 First, virtualization control of the display device 210 of the internal device 400 is started by a user operation from the device control device 200 (step S401).
 具体的には、ユーザは所定の操作によって表示装置210に操作画面を表示させ、内部デバイス400の入力装置208を操作(接続操作)して仮想デバイス制御部203への接続を開始させる。 Specifically, the user displays an operation screen on the display device 210 by a predetermined operation, and operates (connects) the input device 208 of the internal device 400 to start connection to the virtual device control unit 203.
 ユーザの所定の操作によって、表示装置210から仮想デバイス制御部203に対して接続要求が送信される(ステップS402)。 The connection request is transmitted from the display device 210 to the virtual device control unit 203 by a predetermined operation of the user (step S402).
 仮想複合デバイス制御部211は、表示装置210の接続通知(表示装置210の仮想デバイス識別情報204)を受信する(ステップS403)。なお、この時点では仮想複合デバイスを構成する全てのデバイスが接続されていない。そのため、仮想化制御部202へデバイスの接続通知は行わない。 The virtual composite device control unit 211 receives a connection notification of the display device 210 (virtual device identification information 204 of the display device 210) (step S403). At this time, not all devices constituting the virtual composite device are connected. Therefore, the device connection notification is not sent to the virtualization control unit 202.
 仮想複合デバイス制御部211は、ステップS503で受信した表示装置210の接続通知からデバイス情報を解析し、デバイス構成管理部213の接続装置情報で管理するデバイス情報を抽出する(ステップS404)。 The virtual composite device control unit 211 analyzes device information from the connection notification of the display device 210 received in step S503, and extracts device information managed by the connection device information of the device configuration management unit 213 (step S404).
 仮想複合デバイス制御部211は、デバイス構成管理部213に表示装置210のデバイス情報を送信して接続を通知する(ステップS405)。 The virtual composite device control unit 211 sends the device information of the display device 210 to the device configuration management unit 213 to notify the connection (step S405).
 デバイス構成管理部213は、接続通知として受信した表示装置210のデバイス情報を接続装置情報に追加する(ステップS406)。 The device configuration management unit 213 adds the device information of the display device 210 received as the connection notification to the connection device information (step S406).
 続いて、デバイス制御装置200に外部デバイス300をUSBインターフェース等の通信I/F302で接続することによって仮想化制御が開始される。 Subsequently, virtualization control is started by connecting the external device 300 to the device control apparatus 200 via a communication I / F 302 such as a USB interface.
 まず、ユーザは外部デバイス300をデバイス制御装置200に接続する(ステップS407)。これにより、外部デバイス300の接続要求(外部デバイス300の個体識別情報301)がデバイス制御装置200に送信されて、仮想複合デバイス制御部211に外部デバイス300が接続された旨が通知される(ステップS408)。 First, the user connects the external device 300 to the device control apparatus 200 (step S407). As a result, a connection request for the external device 300 (individual identification information 301 of the external device 300) is transmitted to the device control apparatus 200, and the virtual composite device control unit 211 is notified that the external device 300 is connected (step). S408).
 仮想複合デバイス制御部211は、受信した外部デバイス300の接続通知からデバイス情報を解析し、デバイス構成管理部213の接続装置情報で管理するデバイス情報を抽出する(ステップS409)。 The virtual composite device control unit 211 analyzes device information from the received connection notification of the external device 300, and extracts device information managed by the connection device information of the device configuration management unit 213 (step S409).
 仮想複合デバイス制御部211は、デバイス構成管理部213に外部デバイス300のデバイス情報を送信して接続を通知する(ステップS410)。 The virtual composite device control unit 211 sends device information of the external device 300 to the device configuration management unit 213 to notify the connection (step S410).
 デバイス構成管理部213は、接続通知として受信した外部デバイス300のデバイス情報を接続装置情報に追加する(ステップS411)。 The device configuration management unit 213 adds the device information of the external device 300 received as the connection notification to the connection device information (step S411).
 続いて、情報処理装置100とデバイス制御装置200を通信可能な状態にすることによって、情報処理装置100のデバイス情報通知部105は、デバイス制御装置200のデバイス構成管理部213に自装置情報および必要デバイス情報を送信して接続を通知する(ステップS412)。 Subsequently, by setting the information processing apparatus 100 and the device control apparatus 200 in a communicable state, the device information notification unit 105 of the information processing apparatus 100 notifies the device configuration management unit 213 of the device control apparatus 200 of its own device information and necessary information. The device information is transmitted to notify the connection (step S412).
 デバイス構成管理部213は、接続通知として受信した情報処理装置100の自装置情報および必要デバイス情報を接続装置情報に追加する(ステップS413)。 The device configuration management unit 213 adds the own device information and necessary device information of the information processing device 100 received as the connection notification to the connection device information (step S413).
 デバイス構成管理部213は、接続装置情報の更新後に仮想複合デバイス500のデバイス選定を行う。デバイス選定は情報処理装置100の必要デバイス情報に適った外部デバイス300、内部デバイス400が接続装置情報に存在するかデバイス選定基準に従い探索する(ステップS414)。 The device configuration management unit 213 selects a device of the virtual composite device 500 after updating the connection device information. In the device selection, the external device 300 and the internal device 400 suitable for the necessary device information of the information processing apparatus 100 are searched according to the device selection criteria to determine whether or not the connection device information exists (step S414).
 本実施形態では、デバイス選定によって表示装置210および外部デバイス300が抽出されるものとして以降のシーケンスを説明する。 In this embodiment, the following sequence will be described on the assumption that the display device 210 and the external device 300 are extracted by device selection.
 なお、図5ではデバイス選定(ステップS414)を一度のみ行う形で説明しているが、デバイス選定は接続装置情報が更新される度に行われてもよい。 In FIG. 5, the device selection (step S414) is described only once. However, the device selection may be performed every time the connection device information is updated.
 デバイス構成管理部213は、デバイス選定の結果として、仮想複合デバイス500の構成要素となるデバイス情報および接続先となる情報処理装置100の自装置情報を仮想複合デバイス制御部211に送信して仮想複合デバイス500の生成、接続を要求する(ステップS415)。 As a result of device selection, the device configuration management unit 213 transmits device information that is a component of the virtual composite device 500 and information about the information processing apparatus 100 that is a connection destination to the virtual composite device control unit 211 to perform virtual composite The generation and connection of the device 500 is requested (step S415).
 仮想複合デバイス制御部211は、デバイス構成管理部213から受信したデバイス選定の結果に従い、表示装置210と外部デバイス300から受信したUSBデータを、仮想複合デバイスのインターフェースに対応するエンドポイントに格納する。これにより、仮想複合デバイス制御部211は、それぞれのデバイスから受信したUSBデータを、仮想複合デバイス500のUSBデータに変換して仮想複合デバイス識別情報212を生成する(ステップS416)。 The virtual composite device control unit 211 stores the USB data received from the display device 210 and the external device 300 in the endpoint corresponding to the interface of the virtual composite device according to the result of device selection received from the device configuration management unit 213. Thereby, the virtual composite device control unit 211 converts the USB data received from each device into the USB data of the virtual composite device 500 and generates virtual composite device identification information 212 (step S416).
 仮想複合デバイス制御部211は、仮想化制御部202に仮想複合デバイス500の仮想複合デバイス識別情報212を送信して接続を通知する(ステップS417)。続いて、仮想化制御部202は、情報処理装置100に仮想複合デバイス500が接続された旨を通知する(ステップS418)。 The virtual composite device control unit 211 sends the virtual composite device identification information 212 of the virtual composite device 500 to the virtualization control unit 202 to notify the connection (step S417). Subsequently, the virtualization control unit 202 notifies the information processing apparatus 100 that the virtual composite device 500 is connected (step S418).
 情報処理装置100の仮想化制御部103は、デバイス制御装置200の仮想化制御部202から受信した仮想複合デバイス500に係る仮想複合デバイス識別情報212をデバイスドライバ102に通知する(ステップS419)。 The virtualization control unit 103 of the information processing apparatus 100 notifies the device driver 102 of the virtual composite device identification information 212 related to the virtual composite device 500 received from the virtualization control unit 202 of the device control apparatus 200 (step S419).
 アプリケーション101は、デバイスドライバ102から仮想複合デバイス500の接続の通知を受信する(ステップS420)。ここで、アプリケーション101は、仮想複合デバイス500の接続の通知を受けると、仮想化制御部103に仮想複合デバイス500の仮想化制御の開始を指示し、仮想化制御部103は、仮想複合デバイス500の仮想化制御を開始する。そして、情報処理装置100は、仮想化制御に必要なソフトウェア部品を生成・起動し、これらのソフトウェア部品を使用して仮想複合デバイス500との接続を開始する。 The application 101 receives a notification of connection of the virtual composite device 500 from the device driver 102 (step S420). Here, when the application 101 receives the notification of the connection of the virtual composite device 500, the application 101 instructs the virtualization control unit 103 to start virtualization control of the virtual composite device 500, and the virtualization control unit 103 causes the virtual composite device 500 to start. Start virtualization control. Then, the information processing apparatus 100 generates and activates software components necessary for virtualization control, and starts a connection with the virtual composite device 500 using these software components.
 情報処理装置100が仮想複合デバイス500の仮想化制御を開始すると、アプリケーション101は仮想複合デバイス500の表示画面のキャプチャを行い、画像データ(表示画面)を取得する(ステップS421)。 When the information processing apparatus 100 starts virtualization control of the virtual composite device 500, the application 101 captures the display screen of the virtual composite device 500 and acquires image data (display screen) (step S421).
 アプリケーション101は、取得した仮想複合デバイス500の画像データ(表示画面)をデバイスドライバ102に送信する(ステップS422)。 The application 101 transmits the acquired image data (display screen) of the virtual composite device 500 to the device driver 102 (step S422).
 デバイスドライバ102は、アプリケーション101から受信した画像データ(表示画面)を仮想化制御部103に送信する(ステップS423)。 The device driver 102 transmits the image data (display screen) received from the application 101 to the virtualization control unit 103 (step S423).
 仮想化制御部103は、デバイス制御装置200の仮想化制御部202に画像データ(表示画面)を送信する(ステップS424)。仮想化制御部202は仮想複合デバイス制御部211に画像データ(表示画面)を送信する(ステップS425)。 The virtualization control unit 103 transmits image data (display screen) to the virtualization control unit 202 of the device control apparatus 200 (step S424). The virtualization control unit 202 transmits image data (display screen) to the virtual composite device control unit 211 (step S425).
 仮想複合デバイス制御部211は、図4の構成に基づいて、仮想複合デバイス500のUSBデータのエンドポイントに基づいて受信データがどのデバイス(内部デバイス400または外部デバイス300)の制御情報であるか判断し、制御情報を送信するデバイスを決定する。エンドポイントが重複して振り替えている場合は、仮想複合デバイス制御部211に記憶した対応関係に基づいて判断を行う。 Based on the configuration of FIG. 4, the virtual composite device control unit 211 determines which device (internal device 400 or external device 300) the received data is based on the USB data endpoint of the virtual composite device 500. Then, the device that transmits the control information is determined. If the endpoints are duplicated, the determination is made based on the correspondence stored in the virtual composite device control unit 211.
 図11のシーケンスにおいては、画像データ(表示画面)として受信した仮想複合デバイス500のUSBデータを、仮想化制御部202によって仮想化された表示装置210のUSBデータへと変換し、変換した画像データ(表示画面)を仮想デバイス制御部203へと送信する(ステップS426)。 In the sequence of FIG. 11, the USB data of the virtual composite device 500 received as image data (display screen) is converted into USB data of the display device 210 virtualized by the virtualization control unit 202, and the converted image data (Display screen) is transmitted to the virtual device control unit 203 (step S426).
 仮想デバイス制御部203は内部デバイス400の表示装置210に画像データ(表示画面)を送信する。このとき、仮想デバイス制御部203のデータ形式変換処理部205は、仮想複合デバイス制御部211から送られるUSBデータを表示装置210のデータ形式に変換して、ディスプレイI/F209を介して表示装置210に送信する(ステップS427)。 The virtual device control unit 203 transmits image data (display screen) to the display device 210 of the internal device 400. At this time, the data format conversion processing unit 205 of the virtual device control unit 203 converts the USB data sent from the virtual composite device control unit 211 into the data format of the display device 210, and displays the display device 210 via the display I / F 209. (Step S427).
 そして、表示装置210は、情報処理装置100から送られてくる画面データ(表示画面)に応じた画面を表示する。このとき、表示装置210は、情報処理装置100から送られてくる画面データ(表示画面)を表示し、情報処理装置100に対する入力待ち状態となる(ステップS428)。 The display device 210 displays a screen corresponding to the screen data (display screen) sent from the information processing device 100. At this time, the display device 210 displays the screen data (display screen) sent from the information processing device 100 and waits for input to the information processing device 100 (step S428).
 なお、仮想化制御部202から送られるUSBデータをデータ変換せずにディスプレイI/F209に通すことができる場合は、データ変換せずにディスプレイI/F209を介して表示装置210に送る。また、前述のステップS223で、取得した画面データを全て送信するのではなく、前回送信した表示画像との差分のみを送信する場合には、ここで、既に受信済みの表示画面に差分の表示画面を合成して表示する。 If the USB data sent from the virtualization control unit 202 can be passed through the display I / F 209 without data conversion, it is sent to the display device 210 via the display I / F 209 without data conversion. Further, in the case where not all the acquired screen data is transmitted in the above-described step S223 but only the difference from the previously transmitted display image is transmitted, here, the difference display screen is added to the already received display screen. Are combined and displayed.
 ユーザは、外部デバイス300の入力装置を用いて情報処理装置100を遠隔操作するための操作情報を入力する(ステップS429)。 The user inputs operation information for remotely operating the information processing apparatus 100 using the input device of the external device 300 (step S429).
 続いて、外部デバイス300は、外部デバイス300の通信I/F302を介して仮想複合デバイス制御部211に操作情報を送信する(ステップS430)。 Subsequently, the external device 300 transmits operation information to the virtual composite device control unit 211 via the communication I / F 302 of the external device 300 (step S430).
 仮想複合デバイス制御部211は、受信した操作情報(USBデータ)を仮想化制御部202に送信する(ステップS431)。このとき、仮想複合デバイス制御部211は、外部デバイス300から受信した操作情報(USBデータ)を仮想複合デバイス500のUSBデータに変換して仮想化制御部202に送信する。 The virtual composite device control unit 211 transmits the received operation information (USB data) to the virtualization control unit 202 (step S431). At this time, the virtual composite device control unit 211 converts the operation information (USB data) received from the external device 300 into USB data of the virtual composite device 500 and transmits it to the virtualization control unit 202.
 仮想化制御部202は、受信した操作情報を情報処理装置100の仮想化制御部103に送信する(ステップS432)。情報処理装置100の仮想化制御部103は、受信した操作情報をデバイスドライバ102に送信する(ステップS433)。デバイスドライバ102は、仮想化制御部103から受信した操作情報をアプリケーション101に送信する(ステップS434)。 The virtualization control unit 202 transmits the received operation information to the virtualization control unit 103 of the information processing apparatus 100 (step S432). The virtualization control unit 103 of the information processing apparatus 100 transmits the received operation information to the device driver 102 (step S433). The device driver 102 transmits the operation information received from the virtualization control unit 103 to the application 101 (step S434).
 続いて、アプリケーション101は、デバイスドライバ102から受信した操作情報に応じた操作(処理)を実行する(ステップS435)。 Subsequently, the application 101 executes an operation (processing) according to the operation information received from the device driver 102 (step S435).
 このとき、情報処理装置100は、処理(機能)の実行結果を表示装置210に表示する。この表示装置210に表示された画像データは、上述したステップS421~ステップS428と同様にデバイス制御装置200に送信され、デバイス制御装置200の表示装置210に情報処理装置100から送られてくる画像データ(表示画面)が表示される。 At this time, the information processing apparatus 100 displays the execution result of the process (function) on the display device 210. The image data displayed on the display device 210 is transmitted to the device control device 200 in the same manner as in steps S421 to S428 described above, and image data sent from the information processing device 100 to the display device 210 of the device control device 200. (Display screen) is displayed.
 なお、ステップS420において仮想複合デバイスとアプリケーション101の接続が開始されると、その接続が切断(終了)されるまで、ステップS421~ステップS428の処理(画面転送処理)とステップS429~ステップS435の処理(遠隔操作処理)を非同期(並列)で繰り返す。このとき、仮想化制御部202および仮想デバイス制御部203および仮想複合デバイス制御部211は内部デバイス400と情報処理装置100との間でネットワークを介してデータ送受信を行う。 When the connection between the virtual composite device and the application 101 is started in step S420, the processing from step S421 to step S428 (screen transfer processing) and the processing from step S429 to step S435 are performed until the connection is disconnected (terminated). (Remote operation processing) is repeated asynchronously (in parallel). At this time, the virtualization control unit 202, the virtual device control unit 203, and the virtual composite device control unit 211 perform data transmission / reception between the internal device 400 and the information processing apparatus 100 via the network.
 続いて、デバイス制御装置200に接続された外部デバイス300を切断する際の動作を説明する。 Subsequently, an operation when the external device 300 connected to the device control apparatus 200 is disconnected will be described.
 ユーザは、情報処理装置100による仮想複合デバイス500の仮想化制御を終了させる場合、仮想複合デバイス500を構成しているデバイス(外部デバイス300、内部デバイス400)のいずれかを切断する。表示装置210の接続を維持したまま、外部デバイス300を切断する(ステップS436)と、外部デバイス300は、仮想複合デバイス制御部211に切断要求する(ステップS437)。仮想複合デバイス制御部211は、仮想複合デバイス500を構成するデバイスの一つが切断されたことを受け、仮想化制御部202に仮想複合デバイス500の制御終了を通知する(ステップS438)。 When the user finishes the virtualization control of the virtual composite device 500 by the information processing apparatus 100, the user disconnects one of the devices (external device 300, internal device 400) constituting the virtual composite device 500. When the external device 300 is disconnected while maintaining the connection of the display device 210 (step S436), the external device 300 requests the virtual composite device control unit 211 to disconnect (step S437). In response to the disconnection of one of the devices constituting the virtual composite device 500, the virtual composite device control unit 211 notifies the virtualization control unit 202 of the end of control of the virtual composite device 500 (step S438).
 続いて、仮想化制御部202は、情報処理装置100の仮想化制御部103に仮想複合デバイス500の制御が終了された旨(制御終了通知)を通知する(ステップS439)。仮想化制御部103は、デバイス制御装置の仮想化制御部202から受信した制御終了通知をデバイスドライバ102に通知する(ステップS440)。 Subsequently, the virtualization control unit 202 notifies the virtualization control unit 103 of the information processing apparatus 100 that the control of the virtual composite device 500 has ended (control end notification) (step S439). The virtualization control unit 103 notifies the device driver 102 of the control end notification received from the virtualization control unit 202 of the device control apparatus (step S440).
 デバイスドライバ102は、仮想化制御部103から受信した制御終了通知をアプリケーション101に通知する(ステップS441)と共に、仮想複合デバイス500の制御を解除する。これによりアプリケーション101と仮想複合デバイスの通信(接続)が切断(解除)される。 The device driver 102 notifies the application 101 of the control end notification received from the virtualization control unit 103 (step S441) and cancels the control of the virtual composite device 500. As a result, the communication (connection) between the application 101 and the virtual composite device is disconnected (released).
 仮想複合デバイス制御部211は、情報処理装置100と外部デバイス300との接続を切断したら、ステップ537で受信した外部デバイス300の切断通知からデバイス情報を解析し、デバイス構成管理部213の接続装置情報で管理するデバイス情報を抽出する(ステップS442)。 When the virtual composite device control unit 211 disconnects the connection between the information processing apparatus 100 and the external device 300, the virtual composite device control unit 211 analyzes the device information from the disconnection notification of the external device 300 received in step 537, and the connection apparatus information of the device configuration management unit 213 The device information managed in step S442 is extracted (step S442).
 仮想複合デバイス制御部211は、デバイス構成管理部213に外部デバイス300のデバイス情報を送信して切断を通知する(ステップS443)。 The virtual composite device control unit 211 sends device information of the external device 300 to the device configuration management unit 213 to notify the disconnection (step S443).
 デバイス構成管理部213は、切断通知として受信した外部デバイス300のデバイス情報から外部デバイス300に関連する接続装置情報を特定する。特定した接続装置情報の更新として、情報処理装置100の接続情報の更新(仮想複合デバイス500と未接続の状態に更新)、表示装置210の接続情報の更新(仮想複合デバイス500の構成要素になってない状態に更新)、外部デバイス300のデバイス情報を削除する(ステップS444)。 The device configuration management unit 213 identifies connection device information related to the external device 300 from the device information of the external device 300 received as the disconnection notification. As the update of the identified connection device information, the connection information of the information processing device 100 is updated (updated to a state not connected to the virtual composite device 500), and the connection information of the display device 210 is updated (becomes a component of the virtual composite device 500). The device information of the external device 300 is deleted (step S444).
 なお、接続装置情報を更新したことで仮想複合デバイス500のデバイス選定(ステップS414)を行い、情報処理装置100の必要デバイス情報からデバイス選定基準を満たすデバイスを抽出できれば再び仮想複合デバイスの生成、接続(ステップS415~ステップS420)を行うが、本シーケンスではデバイス制御装置200および外部デバイス300がそれぞれ1台の場合を例示しているため記載を省略する。
<デバイス選定処理について>
If the device selection of the virtual composite device 500 is performed by updating the connection device information (step S414), and a device that satisfies the device selection criteria can be extracted from the necessary device information of the information processing device 100, the virtual composite device is generated and connected again. (Steps S415 to S420) are performed, but in this sequence, the case of one device control apparatus 200 and one external device 300 is illustrated, and thus description thereof is omitted.
<About device selection processing>
 図12は、図1に示すデバイス制御システムにおいてデバイス制御装置200における仮想複合デバイス500の生成時のデバイス選定処理を説明するためのフローチャートである。 FIG. 12 is a flowchart for explaining device selection processing at the time of generating the virtual composite device 500 in the device control apparatus 200 in the device control system shown in FIG.
 図示の例では、情報処理装置100もしくは外部デバイス300、内部デバイス400との接続状況の変化(接続、切断)によってデバイス選定処理が開始される。 In the illustrated example, the device selection process is started by a change in connection status (connection or disconnection) with the information processing apparatus 100, the external device 300, or the internal device 400.
 デバイス制御装置200のデバイス構成管理部213は、接続または切断された情報処理装置100、外部デバイス300、内部デバイス400の情報を取得し、接続された装置の情報を管理する接続装置情報に反映する(ステップS501)。 The device configuration management unit 213 of the device control apparatus 200 acquires information on the information processing apparatus 100, the external device 300, and the internal device 400 that are connected or disconnected, and reflects the information on the connected apparatus in the connection apparatus information that manages the information on the connected apparatus. (Step S501).
 次に、デバイス構成管理部213は、接続装置情報から仮想複合デバイス500との接続できていない情報処理装置100を探索し、存在する場合は対象の情報処理装置100が必要とするデバイス情報(必要デバイス情報)を取得する。探索で複数の情報処理装置100が抽出された場合、任意の条件で定めたデバイス選定処理の優先順位に従って仮想複合デバイス500を構成して接続する対象となる情報処理装置100を特定する(ステップS502)。 Next, the device configuration management unit 213 searches the connection device information for the information processing device 100 that is not connected to the virtual composite device 500, and if it exists, device information required by the target information processing device 100 (required) Device information). When a plurality of information processing apparatuses 100 are extracted by the search, the information processing apparatus 100 that is a target to be configured and connected to the virtual composite device 500 according to the priority order of the device selection process determined under an arbitrary condition is specified (step S502). ).
 デバイス構成管理部213は、デバイス選定基準の第1の条件を満たす(ステップS502で取得した必要デバイス情報の機能要求を満たす)利用可能な外部デバイス300、内部デバイス400が存在するか判断する(ステップS503)。 The device configuration management unit 213 determines whether there are available external devices 300 and internal devices 400 that satisfy the first condition of the device selection criteria (satisfy the function request of the necessary device information acquired in step S502) (step S102). S503).
 デバイス選定基準の第1の条件を満たす外部デバイス300、内部デバイス400が存在する場合(ステップS503でYes)、デバイス選定基準の第2の条件以降により外部デバイス300、内部デバイス400の中から優先順位の高い外部デバイス300、内部デバイス400を仮想複合デバイス500の構成要素として選定する(ステップS504)。 When the external device 300 and the internal device 400 satisfying the first condition of the device selection criterion exist (Yes in step S503), the priority order from the external device 300 and the internal device 400 according to the second condition of the device selection criterion and thereafter. High external device 300 and internal device 400 are selected as components of the virtual composite device 500 (step S504).
 一方、デバイス選定基準の第1の条件を満たす外部デバイス300、内部デバイス400が存在しない場合(ステップS503でNo)、後述するステップS507に進む。なお、このとき情報処理装置100の必要デバイス情報を満たす外部デバイス300、内部デバイス400が存在しないことを情報処理装置100に通知してもよい。 On the other hand, when the external device 300 and the internal device 400 that satisfy the first condition of the device selection criteria do not exist (No in step S503), the process proceeds to step S507 described later. At this time, the information processing apparatus 100 may be notified that the external device 300 and the internal device 400 that satisfy the necessary device information of the information processing apparatus 100 do not exist.
 その後、デバイス構成管理部213は、ステップS504で選定した外部デバイス300、内部デバイス400を対象として、仮想複合デバイス制御部211に仮想複合デバイスの生成を要求し、仮想複合デバイス制御部211は要求された外部デバイス300、内部デバイス400を仮想複合デバイスとしてまとめる(ステップS505)。 Thereafter, the device configuration management unit 213 requests the virtual composite device control unit 211 to generate a virtual composite device for the external device 300 and the internal device 400 selected in step S504, and the virtual composite device control unit 211 is requested. The external device 300 and the internal device 400 are collected as a virtual composite device (step S505).
 仮想複合デバイス制御部211は、ステップS505で生成した仮想複合デバイス500をステップS502で対象とした情報処理装置100と接続する。デバイス構成管理部213は、接続された情報処理装置100および仮想複合デバイス500の構成要素となった外部デバイス300、内部デバイス400の接続状況を接続装置情報に反映する(ステップS506)。 The virtual composite device control unit 211 connects the virtual composite device 500 generated in step S505 to the information processing apparatus 100 targeted in step S502. The device configuration management unit 213 reflects the connection status of the external device 300 and the internal device 400 that are constituent elements of the connected information processing apparatus 100 and the virtual composite device 500 in the connection apparatus information (step S506).
 デバイス構成管理部213は、デバイス選定が未実施の情報処理装置100が存在するか判断する(ステップS507)。 The device configuration management unit 213 determines whether there is an information processing apparatus 100 for which device selection has not been performed (step S507).
 デバイス選定が未実施の情報処理装置100が存在する場合(ステップS507でYes)、上述したステップS502に進む。デバイス選定が未実施の情報処理装置100が存在しない場合、デバイス選定処理を終了する。 If there is an information processing apparatus 100 for which device selection has not been performed (Yes in step S507), the process proceeds to step S502 described above. If there is no information processing apparatus 100 for which device selection has not been performed, the device selection process is terminated.
 上述のように、本発明の第3の実施形態では、情報処理装置100は仮想複合デバイス500を生成するための情報(自装置情報、必要デバイス情報)をデバイス制御装置200に通知し、デバイス制御装置200は情報処理装置100から通知された情報および接続された外部デバイス300、内部デバイス400のデバイス情報を接続装置情報で管理し、接続装置情報の内容から仮想複合デバイス500の構成、接続先を選定して仮想複合デバイスの制御を行なうことで、情報処理装置100が必要とする仮想複合デバイス500を情報処理装置100に提供できる。 As described above, in the third embodiment of the present invention, the information processing apparatus 100 notifies the device control apparatus 200 of information (self apparatus information, necessary device information) for generating the virtual composite device 500, and performs device control. The apparatus 200 manages the information notified from the information processing apparatus 100 and the device information of the connected external device 300 and internal device 400 as connection apparatus information, and determines the configuration and connection destination of the virtual composite device 500 from the contents of the connection apparatus information. By selecting and controlling the virtual composite device, the virtual composite device 500 required by the information processing apparatus 100 can be provided to the information processing apparatus 100.
 そして、デバイス制御装置200は、接続状況に応じて仮想複合デバイス500の構成、接続先を動的に決定することで、仮想複合デバイス500の構成、情報処理装置100と仮想複合デバイス500の接続関係を予め決めておく必要がなく、情報処理装置100に状況に応じた適切な仮想複合デバイス500を提供することが可能となる。
[第4の実施形態]
The device control apparatus 200 dynamically determines the configuration of the virtual composite device 500 and the connection destination according to the connection status, so that the configuration of the virtual composite device 500 and the connection relationship between the information processing apparatus 100 and the virtual composite device 500 are determined. It is possible to provide the information processing apparatus 100 with an appropriate virtual composite device 500 according to the situation.
[Fourth Embodiment]
 続いて、本発明の第4の実施形態によるデバイス制御システムの一例について説明する。第3の実施形態では、デバイス制御装置200が仮想複合デバイス500を生成する機能を持つ形で説明した。第4の実施形態では、仮想複合デバイス500の生成を、デバイス制御を直接行わない仲介装置600で行うことが特徴である。 Subsequently, an example of a device control system according to the fourth embodiment of the present invention will be described. In the third embodiment, the device control apparatus 200 has been described as having a function of generating the virtual composite device 500. The fourth embodiment is characterized in that the virtual composite device 500 is generated by the mediation apparatus 600 that does not directly perform device control.
 図13は、本発明の第4実施形態によるデバイス制御システムの一例の構成を概略的に示すブロック図である。なお、図10に示すデバイス制御システムと同一の構成要素については同一の参照番号を付して説明を省略する。 FIG. 13 is a block diagram schematically showing a configuration of an example of a device control system according to the fourth embodiment of the present invention. Note that the same components as those in the device control system shown in FIG. 10 are denoted by the same reference numerals and description thereof is omitted.
 図13に示すデバイス制御システムにおいては、情報処理装置100、デバイス制御装置200、仲介装置600はLANやWANを介して接続され、デバイス制御装置200にはUSBによって外部デバイス300が接続される。デバイス制御装置200は内部デバイス400として入力装置208および表示装置210を有しており、この内部デバイス400は入力I/F207およびディスプレイI/F209によって内部バス206に接続される。 In the device control system shown in FIG. 13, the information processing apparatus 100, the device control apparatus 200, and the mediation apparatus 600 are connected via a LAN or WAN, and the external device 300 is connected to the device control apparatus 200 by USB. The device control apparatus 200 includes an input device 208 and a display device 210 as an internal device 400, and the internal device 400 is connected to the internal bus 206 by an input I / F 207 and a display I / F 209.
 情報処理装置100のデバイス情報通知部105は、仲介装置600に自装置情報、必要デバイス情報を通知する。 The device information notification unit 105 of the information processing apparatus 100 notifies the mediation apparatus 600 of the own apparatus information and necessary device information.
 デバイス制御装置200Aの通信制御部201は、仲介装置600に自装置が持つ外部デバイス300、内部デバイス400の接続要求を通知し、仲介装置600の仮想複合デバイス制御部211は受信した接続通知からデバイス情報を解析し、デバイス構成管理部213の接続装置情報で管理するデバイス情報を抽出する。なお、通信制御部201は、情報処理装置100との間で行われる入出力データ等の送受信を制御するが、情報処理装置100との通信は全て仲介装置600を介して行う。 The communication control unit 201 of the device control apparatus 200A notifies the intermediary apparatus 600 of a connection request for the external device 300 and the internal device 400 that the self apparatus has, and the virtual composite device control unit 211 of the intermediary apparatus 600 determines the device from the received connection notification. Information is analyzed, and device information managed by the connection device information of the device configuration management unit 213 is extracted. The communication control unit 201 controls transmission / reception of input / output data and the like performed with the information processing apparatus 100, but all communication with the information processing apparatus 100 is performed via the mediation apparatus 600.
 仲介装置600のデバイス構成管理部605は、情報処理装置100のデバイス情報通知部105、デバイス制御装置200の通信制御部201から通知された装置情報を接続装置情報で管理し、接続された情報処理装置100、外部デバイス300、内部デバイス400の接続状況に変化があるたびに接続装置情報を更新し、仮想複合デバイス500と接続されてない情報処理装置100があれば、その情報処理装置100の必要デバイス情報に合う外部デバイス300、内部デバイス400を選定し、仮想複合デバイス500の生成、接続を仮想複合デバイス制御部603に要求する。 The device configuration management unit 605 of the mediation device 600 manages the device information notified from the device information notification unit 105 of the information processing device 100 and the communication control unit 201 of the device control device 200 with the connection device information, and is connected to the information processing. If there is an information processing apparatus 100 that is not connected to the virtual composite device 500, the connection apparatus information is updated each time the connection status of the apparatus 100, the external device 300, and the internal device 400 changes, and the information processing apparatus 100 is required. The external device 300 and the internal device 400 that match the device information are selected, and the virtual composite device control unit 603 is requested to generate and connect the virtual composite device 500.
 なお、本実施形態では情報処理装置100は、情報処理装置100A,情報処理装置100Bの2台存在する。外部デバイス300と内部デバイス400は、デバイス制御装置200Aが持つ外部デバイス300A、内部デバイス400の入力装置208および内部デバイス400の表示装置210、デバイス制御装置200Bが持つ外部デバイス300Bの4台が存在する。デバイス構成管理部605は全てのデバイス情報を管理し、各情報処理装置100の必要デバイス情報から、デバイス選定基準に従い存在する外部デバイス300、内部デバイス400から条件に合うデバイスを選定する。 In this embodiment, there are two information processing apparatuses 100, the information processing apparatus 100A and the information processing apparatus 100B. The external device 300 and the internal device 400 include four devices: an external device 300A possessed by the device controller 200A, an input device 208 of the internal device 400, a display device 210 of the internal device 400, and an external device 300B possessed by the device controller 200B. . The device configuration management unit 605 manages all device information, and selects devices that meet the conditions from the external device 300 and the internal device 400 that exist according to the device selection criteria from the necessary device information of each information processing apparatus 100.
 仲介装置600の仮想複合デバイス制御部603は、デバイス構成管理部605から指定された複数のネットワーク上のデバイスを仮想複合デバイス識別情報604に基づき一つの仮想複合デバイス500に仮想化し、デバイス構成管理部605から指定された情報処理装置100と接続するよう仮想化制御部602に認識させる制御を行う。なお、仮想複合デバイス識別情報604は、第3の実施形態で説明した仮想複合デバイス識別情報212と同様であるため説明を省略する。 The virtual composite device control unit 603 of the mediation apparatus 600 virtualizes the devices on the plurality of networks designated by the device configuration management unit 605 into one virtual composite device 500 based on the virtual composite device identification information 604, and the device configuration management unit Control that causes the virtualization control unit 602 to recognize the connection to the information processing apparatus 100 designated from 605 is performed. Note that the virtual composite device identification information 604 is the same as the virtual composite device identification information 212 described in the third embodiment, and a description thereof will be omitted.
 また、仲介装置600の仮想複合デバイス制御部603は、情報処理装置100の通信制御部104からの仮想複合デバイス500への入出力データを、通信制御部601と仮想化制御部602を介して受信し、仮想複合デバイス500の構成要素となった外部デバイス300、内部デバイス400向けの入出力データに分解し、接続先のデバイス制御装置200(仮想複合デバイス500の構成要素の外部デバイス300、内部デバイス400を持つデバイス制御装置200)の通信制御部201に送信する。 Also, the virtual composite device control unit 603 of the mediation apparatus 600 receives input / output data to the virtual composite device 500 from the communication control unit 104 of the information processing apparatus 100 via the communication control unit 601 and the virtualization control unit 602. Then, it is decomposed into input / output data for the external device 300 and the internal device 400 that are constituent elements of the virtual composite device 500, and connected to the device control apparatus 200 (the external device 300 and internal devices of the constituent elements of the virtual composite device 500). 400 is transmitted to the communication control unit 201 of the device control apparatus 200).
 また、仲介装置600の仮想複合デバイス制御部603は、デバイス制御装置200の通信制御部201からの情報処理装置100への入出力データを、通信制御部601を介して受信し、仮想複合デバイス500の構成内容に成形し、仮想化制御部602と通信制御部601を介して情報処理装置100の通信制御部104に送信する。 Also, the virtual composite device control unit 603 of the mediation apparatus 600 receives input / output data from the communication control unit 201 of the device control apparatus 200 to the information processing apparatus 100 via the communication control unit 601, and the virtual composite device 500. Is transmitted to the communication control unit 104 of the information processing apparatus 100 via the virtualization control unit 602 and the communication control unit 601.
 デバイス制御装置200の通信制御部201は、仲介装置600の通信制御部601から外部デバイス300、内部デバイス400への入出力データを受信し、仮想化制御部202、仮想デバイス制御部203で外部デバイス300、内部デバイス400が認識できるデータ形式に変換し、外部デバイス300、内部デバイス400に入出力データを送信する。 The communication control unit 201 of the device control apparatus 200 receives input / output data from the communication control unit 601 of the mediation apparatus 600 to the external device 300 and the internal device 400, and the virtualization control unit 202 and the virtual device control unit 203 use the external device. 300, the data is converted into a data format that the internal device 400 can recognize, and input / output data is transmitted to the external device 300 and the internal device 400.
 情報処理装置100の通信制御部104は、仲介装置600の通信制御部601から情報処理装置100への入出力データを受信し、仮想化制御部103とデバイスドライバ102でアプリケーション101が認識できるデータ形式に変換し、アプリケーション101にデバイスから応答結果として通知する。 The communication control unit 104 of the information processing apparatus 100 receives input / output data to / from the information processing apparatus 100 from the communication control unit 601 of the mediation apparatus 600, and a data format that the application 101 can recognize by the virtualization control unit 103 and the device driver 102. And notifies the application 101 as a response result from the device.
 上述のように、本発明の第4の実施形態では、情報処理装置100は仮想複合デバイスを生成するための情報(自装置情報、必要デバイス情報)を仲介装置600に通知し、デバイス制御装置200は接続された外部デバイス300、内部デバイス400のデバイス情報を仲介装置600に通知し、仲介装置600はネットワーク上で接続された各装置の情報を接続装置情報で管理し、接続装置情報の内容から仮想複合デバイスの構成、接続先を選定して、ネットワークで接続されたデバイス制御装置200の外部デバイス300、内部デバイス400を使用して仮想複合デバイスの制御を行ない、情報処理装置100が必要とする仮想複合デバイスを当該情報処理装置100に提供できる。 As described above, in the fourth embodiment of the present invention, the information processing apparatus 100 notifies the mediation apparatus 600 of information for generating a virtual composite device (self apparatus information, necessary device information), and the device control apparatus 200. Notifies the mediation device 600 of device information of the connected external device 300 and internal device 400, and the mediation device 600 manages the information of each device connected on the network with the connection device information. The virtual composite device is selected, the connection destination is selected, the virtual composite device is controlled using the external device 300 and the internal device 400 of the device control apparatus 200 connected via the network, and the information processing apparatus 100 needs A virtual composite device can be provided to the information processing apparatus 100.
 そして、仲介装置600のように仮想複合デバイスを生成し制御する機能を持つ装置を別にすることで、仲介装置600を介して、外部デバイス300、内部デバイス400を情報処理装置100に仮想化するデバイス制御システムを提供することが可能となる。 A device that virtualizes the external device 300 and the internal device 400 to the information processing device 100 via the mediation device 600 by separating a device having a function of generating and controlling a virtual composite device such as the mediation device 600. A control system can be provided.
 なお、第1の実施形態と第2の実施形態でデバイス制御装置が行った仮想複合デバイスに関する処理を、第4の実施形態で説明した仲介装置600がデバイス制御装置と情報処理装置の間に介在して行ってもよい。 Note that the processing related to the virtual composite device performed by the device control apparatus in the first embodiment and the second embodiment is performed between the device control apparatus and the information processing apparatus by the mediation apparatus 600 described in the fourth embodiment. You may do it.
 以上、本発明について上記の各実施形態に基づいて説明したが、本発明は、これらの実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。 As mentioned above, although this invention was demonstrated based on said each 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 included in this invention. It is.
 例えば、上記の実施形態の機能の制御方法として、この制御方法をデバイス制御装置に実行させるようにすればよい。また、上述の実施形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムをデバイス制御装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。 For example, as a function control method of the above embodiment, the device control apparatus may execute this control method. 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 code) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various recording media, and a computer (or CPU, MPU, or the like) of the system or apparatus performs program code. Is read and executed.
 この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。 In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and a computer-readable storage medium storing the program code constitutes the present invention.
 また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるように構成してもよい。 Further, the OS or the like running on the computer may perform part or all of the actual processing based on the instruction of the program code, and the functions of the above-described embodiments may be realized by the processing. .
 さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたあと、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を実行し、その処理に応じて上述した実施形態が実現される場合も含んでいる。 Furthermore, after the program code read from the storage medium is written in the memory of the function expansion board inserted into the computer or the function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. In some cases, the CPU or the like provided in the board or the function expansion unit executes part or all of the actual processing, and the above-described embodiment is realized according to the processing.
 なお、プログラムコードを供給するため、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CDやDVDに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ROM等の記憶媒体を用いることができる。または、プログラムコードは、ネットワークを介してダウンロードしてもよい。 In order to supply the program code, for example, a storage medium such as a floppy (registered trademark) disk, a hard disk, a magneto-optical disk, an optical disk represented by CD or DVD, a magnetic tape, a nonvolatile memory card, or a ROM is used. Can do. Alternatively, the program code may be downloaded via a network.
100、100A、100B 情報処理装置
101 アプリケーション
102 デバイスドライバ:
103 仮想化制御部
104 通信制御部
105 デバイス情報通知部
200、200A、200B デバイス制御装置
201、214 通信制御部
202、215 仮想化制御部
203、216 仮想デバイス制御部
204、217 仮想デバイス識別情報
205、218 データ形式変換処理部
206、219 内部バス
207 入力I/F
208 入力装置
209 ディスプレイI/F
210 表示装置
211 仮想複合デバイス制御部
212 仮想複合デバイス識別情報
213 デバイス構成管理部
220 画像入力I/F
221 映像入力装置
300、300A、300B 外部デバイス
301、304 個体識別情報
302、305 通信I/F
303 記憶装置
306 センサー装置
400、400A、400B、400C 内部デバイス
600 仲介装置
601 通信制御部
602 仮想化制御部
603 仮想複合デバイス制御部
604 仮想複合デバイス識別情報
605 デバイス構成管理部
100, 100A, 100B Information processing apparatus 101 Application 102 Device driver:
103 Virtualization control unit 104 Communication control unit 105 Device information notification unit 200, 200A, 200B Device control device 201, 214 Communication control unit 202, 215 Virtualization control unit 203, 216 Virtual device control unit 204, 217 Virtual device identification information 205 218 Data format conversion processing unit 206, 219 Internal bus 207 Input I / F
208 Input device 209 Display I / F
210 Display Device 211 Virtual Composite Device Controller 212 Virtual Composite Device Identification Information 213 Device Configuration Manager 220 Image Input I / F
221 Video input device 300, 300A, 300B External device 301, 304 Individual identification information 302, 305 Communication I / F
303 Storage device 306 Sensor device 400, 400A, 400B, 400C Internal device 600 Mediation device 601 Communication control unit 602 Virtualization control unit 603 Virtual composite device control unit 604 Virtual composite device identification information 605 Device configuration management unit

Claims (32)

  1.  ネットワークを介して情報処理装置に接続され、少なくとも1つの所定の機能を内部デバイスとして認識させるデバイス制御装置であって、
     前記内部デバイスおよび/または前記デバイス制御装置に接続された外部デバイスから構成される仮想複合デバイスとして識別させるための仮想複合デバイス識別情報を記憶する識別情報記憶手段と、
     前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信手段と、
     前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記内部デバイスまたは前記外部デバイスと前記仮想複合デバイスとの間のデータ通信および前記仮想複合デバイスと前記デバイス制御装置との間は第1のデータ形式でデータ通信し、前記情報処理装置と前記デバイス制御装置との間は第2のデータ形式でデータ通信して制御する仮想化制御手段と、
     を備えることを特徴とするデバイス制御装置。
    A device control apparatus connected to an information processing apparatus via a network and recognizing at least one predetermined function as an internal device,
    Identification information storage means for storing virtual composite device identification information for identifying as a virtual composite device composed of the internal device and / or an external device connected to the device control apparatus;
    Identification information transmitting means for transmitting the virtual composite device identification information to the information processing apparatus;
    When controlling the virtual composite device identified by the information processing apparatus based on the virtual composite device identification information in accordance with a control request from the information processing apparatus, the internal device or the external device and the virtual composite device Data communication between the virtual composite device and the device control device in a first data format, and data communication between the information processing device and the device control device in a second data format. Virtualization control means to control;
    A device control apparatus comprising:
  2.  ネットワークを介してさらに他のデバイス制御装置に接続され、前記デバイス制御装置は、デバイス制御装置自身および前記他のデバイス制御装置における少なくとも1つの所定の機能を内部デバイスとして認識させるデバイス制御装置であって、
     前記識別情報記憶手段は、前記内部デバイスおよび/または前記デバイス制御装置自身または前記他のデバイス制御装置に接続された外部デバイスから構成される仮想複合デバイスとして認識させるための仮想複合デバイス識別情報を記憶し、
     前記仮想化制御手段は、前記デバイス制御装置自身と前記他のデバイス制御装置との間を第2のデータ形式でデータ通信してさらに制御することを特徴とする請求項1に記載のデバイス制御装置。
    The device control apparatus is further connected to another device control apparatus via a network, and the device control apparatus recognizes at least one predetermined function in the device control apparatus itself and the other device control apparatus as an internal device. ,
    The identification information storage means stores virtual composite device identification information for recognizing as a virtual composite device composed of the internal device and / or the device control apparatus itself or an external device connected to the other device control apparatus. And
    2. The device control apparatus according to claim 1, wherein the virtualization control unit further performs control by performing data communication between the device control apparatus itself and the other device control apparatus in a second data format. .
  3.  前記識別情報記憶手段は、前記デバイス制御装置または前記他のデバイス制御装置が具備する少なくとも1つの所定の機能を内部デバイスとして識別させるための仮想デバイス識別情報をさらに記憶し、
     前記識別情報送信手段は、所定の操作に応じて選択された1以上の前記内部デバイスおよび/または前記外部デバイスに基づいて構成された前記仮想複合デバイス以外の前記内部デバイスおよび/または前記外部デバイスの仮想デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項2に記載のデバイス制御装置。
    The identification information storage means further stores virtual device identification information for identifying at least one predetermined function included in the device control apparatus or the other device control apparatus as an internal device,
    The identification information transmitting means includes the internal device and / or the external device other than the virtual composite device configured based on one or more of the internal device and / or the external device selected according to a predetermined operation. The device control apparatus according to claim 2, wherein virtual device identification information is transmitted to the information processing apparatus.
  4.  前記識別情報送信手段は、前記内部デバイスおよび/または前記外部デバイスのうちデバイス制御装置が認識した1以上の前記内部デバイスおよび/または前記外部デバイスに基づいて構成される前記仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項2に記載のデバイス制御装置。 The identification information transmitting means includes the virtual composite device identification information configured based on one or more internal devices and / or external devices recognized by a device control apparatus among the internal devices and / or the external devices. The device control apparatus according to claim 2, wherein the device control apparatus transmits the information to an information processing apparatus.
  5.  前記内部デバイスまたは前記外部デバイスにおいて前記所定の操作が行われると、前記識別情報送信手段は、前記所定の操作に基づいて構成される前記仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項2に記載のデバイス制御装置。 When the predetermined operation is performed in the internal device or the external device, the identification information transmitting unit transmits the virtual composite device identification information configured based on the predetermined operation to the information processing apparatus. The device control apparatus according to claim 2, characterized in that:
  6.  前記情報処理装置、前記デバイス制御装置自身および/または前記他のデバイス制御装置が保持する自装置および接続デバイスの情報を管理するための接続装置情報を更新し記憶するデバイス情報管理手段と、
     前記接続装置情報から前記仮想複合デバイスの構成とその要素となるデバイスを選定するデバイス構成管理手段と、
     をさらに備えることを特徴とする請求項2に記載のデバイス制御装置。
    Device information management means for updating and storing connection device information for managing information on the own device and connection device held by the information processing device, the device control device itself and / or the other device control device;
    Device configuration management means for selecting the configuration of the virtual composite device and the device that is an element thereof from the connection device information;
    The device control apparatus according to claim 2, further comprising:
  7.  前記デバイス情報管理手段は、前記ネットワークに接続または切断された前記情報処理装置、前記デバイス制御装置自身および/または前記他のデバイス制御装置が保持する自装置および前記接続デバイスの情報を取得または判断することで前記接続装置情報を更新し、
     前記デバイス構成管理手段は、前記接続装置情報から前記仮想複合デバイスの構成とその要素となる前記デバイスに応じて、前記情報処理装置、前記デバイス制御装置自身および/または前記他のデバイス制御装置が持つ複数の前記デバイスを前記仮想複合デバイスとして生成するよう前記仮想化制御手段に要求することを特徴とする請求項6に記載のデバイス制御装置。
    The device information management unit acquires or determines information on the information processing apparatus connected to or disconnected from the network, the device control apparatus itself and / or the own apparatus and the connected device held by the other device control apparatus. To update the connected device information,
    The device configuration management unit is included in the information processing apparatus, the device control apparatus itself, and / or the other device control apparatus according to the configuration of the virtual composite device and the device that is an element thereof from the connection apparatus information. The device control apparatus according to claim 6, wherein the device controller requests the virtualization control unit to generate a plurality of the devices as the virtual composite device.
  8.  前記デバイス構成管理手段は、前記仮想複合デバイスを構成する前記内部デバイスおよび/または前記外部デバイスに前記他のデバイス制御装置の内部デバイスおよび外部デバイスのいずれか1以上が含まれている場合、仮想複合デバイスとして構成する旨を前記他のデバイス制御装置に通知することを特徴とする請求項6に記載のデバイス制御装置。 The device configuration management means, when the internal device and / or the external device configuring the virtual composite device includes one or more of the internal device and the external device of the other device control apparatus, The device control apparatus according to claim 6, wherein the device control apparatus notifies the other device control apparatus that it is configured as a device.
  9.  前記デバイス構成管理手段は、前記他のデバイス制御装置が備える前記内部デバイスおよび/または前記外部デバイスを仮想複合デバイスとして構成したい旨を前記他のデバイス制御装置から受信することを特徴とする請求項6に記載のデバイス制御装置。 7. The device configuration management means receives from the other device control apparatus that the internal device and / or the external device included in the other device control apparatus is to be configured as a virtual composite device. The device control apparatus according to 1.
  10.  前記仮想化制御手段は、前記制御要求に対する情報を送受信する場合、前記仮想デバイス識別情報および前記仮想複合デバイス識別情報の対応関係に基づき、どの前記内部デバイスまたは前記外部デバイスと前記情報を送受信するか判断し、当該判断結果に従い前記情報を送受信することを特徴とする請求項3に記載のデバイス制御装置。 When the virtualization control means transmits / receives information for the control request, based on the correspondence between the virtual device identification information and the virtual composite device identification information, which internal device or the external device transmits / receives the information 4. The device control apparatus according to claim 3, wherein the device control apparatus determines and transmits and receives the information according to the determination result.
  11.  前記所定の操作は、前記内部デバイスおよび/または外部デバイスの機能および/または性能を選択することを特徴する請求項3に記載のデバイス制御装置。 The device control apparatus according to claim 3, wherein the predetermined operation selects a function and / or performance of the internal device and / or the external device.
  12.  前記内部デバイスまたは前記外部デバイスにおいて所定の終了操作が行われると、前記仮想化制御手段は、前記仮想複合デバイスの制御を終了することを特徴とする請求項2に記載のデバイス制御装置。 3. The device control apparatus according to claim 2, wherein when a predetermined end operation is performed in the internal device or the external device, the virtualization control unit ends the control of the virtual composite device.
  13.  前記情報処理装置において所定の終了操作が行われると、当該終了操作に基づいた指示を受けた前記仮想化制御手段は前記情報処理装置からの指示を検知し、前記仮想複合デバイスの制御を終了することを特徴とする請求項2に記載のデバイス制御装置。 When a predetermined end operation is performed in the information processing apparatus, the virtualization control unit that receives an instruction based on the end operation detects an instruction from the information processing apparatus and ends the control of the virtual composite device The device control apparatus according to claim 2.
  14.  前記識別情報送信手段は、前記仮想複合デバイスの制御を終了すると、前記仮想複合デバイスを構成する前記内部デバイスおよび/または前記外部デバイスのうち前記所定の終了操作によって仮想化制御終了の対象とならなかったデバイスの仮想デバイス識別情報または前記仮想化制御終了の対象とならなかったデバイスで構成される仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項12に記載のデバイス制御装置。 When the control of the virtual composite device is finished, the identification information transmission unit is not subject to virtualization control termination by the predetermined termination operation among the internal device and / or the external device constituting the virtual composite device. 13. The device control according to claim 12, further comprising: transmitting virtual device identification information of a selected device or virtual composite device identification information including a device that has not been a target of termination of the virtualization control to the information processing apparatus. apparatus.
  15.  ネットワークを介して情報処理装置とデバイス制御装置に接続された仲介装置であって、
     前記デバイス制御装置における少なくとも1つの所定の機能を組み合わせた機能を前記仲介装置に接続された仮想複合デバイスとして認識させるための仮想複合デバイス識別情報を記憶する識別情報記憶手段と、
     前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信手段と、
    前記情報処理装置および前記デバイス制御装置が保持する自装置および接続デバイスの情報を管理するための接続装置情報を更新し記憶するデバイス情報管理手段と、
     前記接続装置情報から前記仮想複合デバイスの構成とその要素となるデバイスを選定するデバイス構成管理手段と、
     前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記情報処理装置と前記デバイス制御装置との間を第2のデータ形式でデータ通信して制御する仮想化制御手段と、
     を備えることを特徴とする仲介装置。
    An intermediary device connected to an information processing device and a device control device via a network,
    Identification information storage means for storing virtual composite device identification information for recognizing a function obtained by combining at least one predetermined function in the device control apparatus as a virtual composite device connected to the mediation apparatus;
    Identification information transmitting means for transmitting the virtual composite device identification information to the information processing apparatus;
    Device information management means for updating and storing connection device information for managing information of the own device and connection device held by the information processing device and the device control device;
    Device configuration management means for selecting the configuration of the virtual composite device and the device that is an element thereof from the connection device information;
    When the virtual composite device identified by the information processing apparatus based on the virtual composite device identification information is controlled in accordance with a control request from the information processing apparatus, a second operation is performed between the information processing apparatus and the device control apparatus. Virtualization control means for data communication and control in the data format;
    An intermediary device comprising:
  16.  ネットワークを介して情報処理装置に接続され、少なくとも1つの所定の機能を内部デバイスとして認識させるデバイス制御装置の制御方法であって、
     前記内部デバイスおよび/または前記デバイス制御装置に接続された外部デバイスから構成される仮想複合デバイスとして識別させるための仮想複合デバイス識別情報を記憶する識別情報記憶ステップと、
     前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信ステップと、
     前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記内部デバイスまたは前記外部デバイスと前記仮想複合デバイスとの間のデータ通信および前記仮想複合デバイスと前記デバイス制御装置との間は第1のデータ形式でデータ通信し、前記情報処理装置と前記デバイス制御装置との間は第2のデータ形式でデータ通信して制御する仮想化制御ステップと、
     を備えることを特徴とするデバイス制御装置の制御方法。
    A control method of a device control apparatus connected to an information processing apparatus via a network and recognizing at least one predetermined function as an internal device,
    An identification information storage step for storing virtual composite device identification information for identifying the internal composite device as a virtual composite device configured from the internal device and / or an external device connected to the device control apparatus;
    An identification information transmission step of transmitting the virtual composite device identification information to the information processing apparatus;
    When controlling the virtual composite device identified by the information processing apparatus based on the virtual composite device identification information in accordance with a control request from the information processing apparatus, the internal device or the external device and the virtual composite device Data communication between the virtual composite device and the device control device in a first data format, and data communication between the information processing device and the device control device in a second data format. Virtualization control steps to control;
    A device control apparatus control method comprising:
  17.  ネットワークを介してさらに他のデバイス制御装置に接続され、前記デバイス制御装置は、デバイス制御装置自身および前記他のデバイス制御装置における少なくとも1つの所定の機能を内部デバイスとして認識させるデバイス制御装置の制御方法であって、
     前記識別情報記憶ステップは、前記内部デバイスおよび/または前記デバイス制御装置自身または前記他のデバイス制御装置に接続された外部デバイスから構成される仮想複合デバイスとして認識させるための仮想複合デバイス識別情報を記憶し、
     前記仮想化制御ステップは、前記デバイス制御装置自身と前記他のデバイス制御装置との間を第2のデータ形式でデータ通信してさらに制御する
    ことを特徴とする請求項16に記載のデバイス制御装置の制御方法。
    A device control apparatus connected to another device control apparatus via a network, wherein the device control apparatus recognizes at least one predetermined function in the device control apparatus itself and the other device control apparatus as an internal device. Because
    The identification information storing step stores virtual composite device identification information for recognizing as a virtual composite device composed of the internal device and / or the device control apparatus itself or an external device connected to the other device control apparatus. And
    The device control apparatus according to claim 16, wherein the virtualization control step further performs control by performing data communication between the device control apparatus itself and the other device control apparatus in a second data format. Control method.
  18. 前記識別情報記憶ステップは、前記デバイス制御装置または前記他のデバイス制御装置が具備する少なくとも1つの所定の機能を内部デバイスとして識別させるための仮想デバイス識別情報をさらに記憶し、
     前記識別情報送信ステップは、所定の操作に応じて選択された1以上の前記内部デバイスおよび/または前記外部デバイスに基づいて構成された前記仮想複合デバイス以外の前記内部デバイスおよび/または前記外部デバイスの仮想デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項17に記載のデバイス制御装置の制御方法。
    The identification information storing step further stores virtual device identification information for identifying at least one predetermined function included in the device control apparatus or the other device control apparatus as an internal device,
    In the identification information transmission step, the internal device and / or the external device other than the virtual composite device configured based on one or more of the internal device and / or the external device selected according to a predetermined operation 18. The device control apparatus control method according to claim 17, wherein virtual device identification information is transmitted to the information processing apparatus.
  19.  前記識別情報送信ステップは、前記内部デバイスおよび/または前記外部デバイスのうちデバイス制御装置が認識した1以上の前記内部デバイスおよび/または前記外部デバイスに基づいて構成される前記仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項17に記載のデバイス制御装置の制御方法。 In the identification information transmission step, the virtual composite device identification information configured based on one or more internal devices and / or the external devices recognized by a device control apparatus among the internal devices and / or the external devices The device control apparatus control method according to claim 17, wherein the device control apparatus transmits the information to an information processing apparatus.
  20.  前記内部デバイスまたは前記外部デバイスにおいて前記所定の操作が行われると、前記識別情報送信ステップは、前記所定の操作に基づいて構成される前記仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項17に記載のデバイス制御装置の制御方法。 When the predetermined operation is performed in the internal device or the external device, the identification information transmission step transmits the virtual composite device identification information configured based on the predetermined operation to the information processing apparatus. The method of controlling a device control apparatus according to claim 17, wherein:
  21.  前記情報処理装置、前記デバイス制御装置自身および/または前記他のデバイス制御装置が保持する自装置および接続デバイスの情報を管理するための接続装置情報を更新し記憶するデバイス情報管理ステップと、
     前記接続装置情報から前記仮想複合デバイスの構成とその要素となるデバイスを選定するデバイス構成管理ステップと、
     をさらに備えることを特徴とする請求項17に記載のデバイス制御装置の制御方法。
    A device information management step of updating and storing connection device information for managing information of the device itself and a connection device held by the information processing device, the device control device itself and / or the other device control device;
    A device configuration management step of selecting a configuration of the virtual composite device and a device as an element thereof from the connection apparatus information;
    The device control apparatus control method according to claim 17, further comprising:
  22.  前記デバイス情報管理ステップは、前記ネットワークに接続または切断された前記情報処理装置、前記デバイス制御装置自身および/または前記他のデバイス制御装置が保持する自装置および前記接続デバイスの情報を取得または判断することで前記接続装置情報を更新し、
     前記デバイス構成管理ステップは、前記接続装置情報から前記仮想複合デバイスの構成とその要素となる前記デバイスに応じて、前記情報処理装置、前記デバイス制御装置自身および/または前記他のデバイス制御装置が持つ複数の前記デバイスを前記仮想複合デバイスとして生成するよう前記仮想化制御ステップに要求することを特徴とする請求項21に記載のデバイス制御装置の制御方法。
    The device information management step acquires or determines information of the information processing apparatus connected to or disconnected from the network, the device control apparatus itself and / or the own apparatus and the connected device held by the other device control apparatus. To update the connected device information,
    The device configuration management step is included in the information processing apparatus, the device control apparatus itself, and / or the other device control apparatus according to the configuration of the virtual composite device and the device that is an element thereof from the connection apparatus information. The device control apparatus control method according to claim 21, wherein the virtualization control step is requested to generate a plurality of the devices as the virtual composite device.
  23.  前記デバイス構成管理ステップは、前記仮想複合デバイスを構成する前記内部デバイスおよび/または前記外部デバイスに前記他のデバイス制御装置の内部デバイスおよび外部デバイスのいずれか1以上が含まれている場合、仮想複合デバイスとして構成する旨を前記他のデバイス制御装置に通知することを特徴とする請求項21に記載のデバイス制御装置の制御方法。 In the device configuration management step, when the internal device and / or the external device configuring the virtual composite device includes any one or more of an internal device and an external device of the other device control apparatus, a virtual composite The method for controlling a device control apparatus according to claim 21, wherein the device control apparatus is notified that the device is configured as a device.
  24.  前記デバイス構成管理ステップは、前記他のデバイス制御装置が備える前記内部デバイスおよび/または前記外部デバイスを仮想複合デバイスとして構成したい旨を前記他のデバイス制御装置から受信することを特徴とする請求項21に記載のデバイス制御装置の制御方法。 The device configuration management step receives from the other device control apparatus that the internal device and / or the external device included in the other device control apparatus is to be configured as a virtual composite device. A method for controlling the device control apparatus according to claim 1.
  25.  前記仮想化制御ステップは、前記制御要求に対する情報を送受信する場合、前記仮想デバイス識別情報および前記仮想複合デバイス識別情報の対応関係に基づき、どの前記内部デバイスまたは前記外部デバイスと前記情報を送受信するか判断し、当該判断結果に従い前記情報を送受信することを特徴とする請求項18に記載のデバイス制御装置の制御方法。 When the virtualization control step transmits / receives information for the control request, based on the correspondence between the virtual device identification information and the virtual composite device identification information, which internal device or the external device transmits / receives the information 19. The device control apparatus control method according to claim 18, wherein the information is transmitted and received according to the determination result.
  26.  前記所定の操作は、前記内部デバイスおよび/または外部デバイスの機能および/または性能を選択することを特徴する請求項18に記載のデバイス制御装置の制御方法。 19. The device control apparatus control method according to claim 18, wherein the predetermined operation selects a function and / or performance of the internal device and / or the external device.
  27. 前記内部デバイスまたは前記外部デバイスにおいて所定の終了操作が行われると、前記仮想化制御ステップは、前記仮想複合デバイスの制御を終了することを特徴とする請求項17に記載のデバイス制御装置の制御方法。 18. The device control apparatus control method according to claim 17, wherein when a predetermined end operation is performed in the internal device or the external device, the virtualization control step ends the control of the virtual composite device. .
  28.  前記情報処理装置において所定の終了操作が行われると、当該終了操作に基づいた指示を受けた前記仮想化制御ステップは前記情報処理装置からの指示を検知し、前記仮想複合デバイスの制御を終了することを特徴とする請求項17に記載のデバイス制御装置の制御方法。 When a predetermined end operation is performed in the information processing apparatus, the virtualization control step that receives an instruction based on the end operation detects the instruction from the information processing apparatus and ends the control of the virtual composite device The device control apparatus control method according to claim 17.
  29.  前記識別情報送信ステップは、前記仮想複合デバイスの制御を終了すると、前記仮想複合デバイスを構成する前記内部デバイスおよび/または前記外部デバイスのうち前記所定の終了操作によって仮想化制御終了の対象とならなかったデバイスの仮想デバイス識別情報または前記仮想化制御終了の対象とならなかったデバイスで構成される仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項27に記載のデバイス制御装置の制御方法。 When the control of the virtual composite device is terminated, the identification information transmission step is not subject to virtualization control termination by the predetermined termination operation of the internal device and / or the external device constituting the virtual composite device. 28. The device control according to claim 27, wherein virtual device identification information of a selected device or virtual composite device identification information including a device that has not been a target of termination of the virtualization control is transmitted to the information processing apparatus. Control method of the device.
  30.  ネットワークを介して情報処理装置とデバイス制御装置に接続された仲介装置の制御方法であって、
     前記デバイス制御装置における少なくとも1つの所定の機能を組み合わせた機能を前記仲介装置に接続された仮想複合デバイスとして認識させるための仮想複合デバイス識別情報を記憶する識別情報記憶ステップと、
     前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信ステップと、
     前記情報処理装置および前記デバイス制御装置が保持する自装置および接続デバイスの情報を管理するための接続装置情報を更新し記憶するデバイス情報管理ステップと、
     前記接続装置情報から前記仮想複合デバイスの構成とその要素となるデバイスを選定するデバイス構成管理ステップと、
     前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記情報処理装置と前記デバイス制御装置との間を第2のデータ形式でデータ通信して制御する仮想化制御ステップと、
     を備えることを特徴とする仲介装置の制御方法。
    A control method for an intermediary device connected to an information processing device and a device control device via a network,
    An identification information storage step for storing virtual composite device identification information for recognizing a function combining at least one predetermined function in the device control apparatus as a virtual composite device connected to the mediation apparatus;
    An identification information transmission step of transmitting the virtual composite device identification information to the information processing apparatus;
    A device information management step of updating and storing connection device information for managing information of the own device and connection device held by the information processing device and the device control device;
    A device configuration management step of selecting a configuration of the virtual composite device and a device as an element thereof from the connection apparatus information;
    When the virtual composite device identified by the information processing apparatus based on the virtual composite device identification information is controlled in accordance with a control request from the information processing apparatus, a second operation is performed between the information processing apparatus and the device control apparatus. A virtualization control step for performing data communication and controlling in a data format of
    A control method for an intermediary device, comprising:
  31.  請求項1に記載の第一のデバイス制御装置、および少なくとも1つの所定の機能を内部デバイスとして認識させる第二のデバイス制御装置と、情報処理装置がネットワークを介して接続されるデバイス制御システムであって、
     前記情報処理装置は、前記デバイス制御装置に自装置情報および必要とするデバイスの情報を通知するためのデバイス情報通知手段をさらに備え、
     前記デバイス情報通知手段は、前記デバイス制御装置と通信が可能となった場合、前記情報処理装置の前記自装置情報と前記必要とするデバイスの情報を前記デバイス制御装置に通知し、前記デバイス制御装置に対し必要とするデバイスの接続を要求することを特徴とするデバイス制御システム。
    A device control system in which the first device control apparatus according to claim 1, the second device control apparatus that recognizes at least one predetermined function as an internal device, and the information processing apparatus are connected via a network. And
    The information processing apparatus further includes device information notification means for notifying the device control apparatus of own device information and necessary device information,
    The device information notifying unit notifies the device control device of the device information of the information processing device and the information of the required device when communication with the device control device becomes possible, and the device control device. A device control system that requests connection of a required device to a device.
  32.  請求項15に記載の仲介装置と、少なくとも1つの所定の機能を内部デバイスとして認識させるデバイス制御装置と、情報処理装置がネットワークを介して接続されるデバイス制御システムであって、
     前記情報処理装置は、前記仲介装置に自装置情報および必要とするデバイスの情報通知するためのデバイス情報通知手段をさらに備え、
     前記デバイス情報通知手段は、前記仲介装置と通信が可能となった場合、前記情報処理装置の前記自装置情報と前記必要とするデバイスの情報を前記仲介装置に通知し、前記仲介装置に対し必要とするデバイスの接続を要求することを特徴とするデバイス制御システム。
    A device control system in which an intermediary device according to claim 15, a device control device that recognizes at least one predetermined function as an internal device, and an information processing device are connected via a network,
    The information processing apparatus further includes device information notifying means for notifying the intermediary apparatus of its own device information and necessary device information,
    The device information notifying means notifies the mediation device of the device information of the information processing device and the information of the required device when communication with the mediation device is possible, and is necessary for the mediation device. A device control system that requests connection of a device.
PCT/JP2016/067468 2015-06-19 2016-06-07 Device controller, control method thereof, and device control system WO2016204100A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2015123561A JP2017010192A (en) 2015-06-19 2015-06-19 Device control apparatus, control method thereof, and device control system
JP2015-123561 2015-06-19
JP2015-255168 2015-12-25
JP2015255168A JP2017117400A (en) 2015-12-25 2015-12-25 Device control apparatus, control method of the same, and device control system
JP2016-023179 2016-02-09
JP2016023179A JP2017142631A (en) 2016-02-09 2016-02-09 Device control apparatus, control method thereof, and device control system

Publications (1)

Publication Number Publication Date
WO2016204100A1 true WO2016204100A1 (en) 2016-12-22

Family

ID=57545259

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/067468 WO2016204100A1 (en) 2015-06-19 2016-06-07 Device controller, control method thereof, and device control system

Country Status (1)

Country Link
WO (1) WO2016204100A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306426A (en) * 2000-04-20 2001-11-02 Canon Inc Device controller, server device, method for controlling device, and storage medium
JP2006285995A (en) * 2006-03-30 2006-10-19 Seiko Epson Corp Device controller, user interface display method, storage medium storing computer program for displaying user interface
JP2014102817A (en) * 2012-10-22 2014-06-05 Canon Imaging Systems Inc Device control device, control method thereof, and device control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306426A (en) * 2000-04-20 2001-11-02 Canon Inc Device controller, server device, method for controlling device, and storage medium
JP2006285995A (en) * 2006-03-30 2006-10-19 Seiko Epson Corp Device controller, user interface display method, storage medium storing computer program for displaying user interface
JP2014102817A (en) * 2012-10-22 2014-06-05 Canon Imaging Systems Inc Device control device, control method thereof, and device control system

Similar Documents

Publication Publication Date Title
JP4870621B2 (en) Information processing apparatus, method, system, program, and recording medium thereof
JP2011048819A (en) Information processing device, information processing method, and computer program
JP6057392B2 (en) Control device, display device, firmware update method, and firmware update program
JP5365399B2 (en) Screen saver control system, image processing apparatus, image display apparatus, screen saver control method, and computer program
JP6222270B2 (en) Information processing apparatus, information processing program, information processing system, and information processing method
JP2015106798A (en) Communication device, communication system, control method and program of communication device
US10405362B2 (en) Communication device, communication device control method, and display system
JP4943916B2 (en) Robot control system
JP6216510B2 (en) Mobile terminal, mobile terminal control method, and device control system
WO2016204100A1 (en) Device controller, control method thereof, and device control system
CN111885665A (en) Wireless network connection control method and display device
JP2005234808A (en) Information processor, system, remote operation method, program and recording medium
JP2016091434A (en) Information processing device, device control device, control method thereof, and device control system
JP2004280636A (en) Information processing system including communication connection type information processing apparatus excluding user interface and its control method
JP6212367B2 (en) Information processing apparatus, portable terminal, device control system, and control method thereof
JP4550857B2 (en) Information processing apparatus allocation method, management server and terminal for executing the method
JP2015036205A (en) Information processing unit, and information processing method and program
JP2014153776A (en) Information processing system, information processor, and control method and program therefor
JP6260025B2 (en) Image forming system and device setting method
JP2011242481A (en) Display device and control method thereof
JP6327944B2 (en) Information processing apparatus, control method thereof, and program
JP4387487B2 (en) Information processing apparatus, network system, information processing method, or recording medium
JP6298292B2 (en) Device control apparatus and control method thereof
JP2017010192A (en) Device control apparatus, control method thereof, and device control system
JP2012137864A (en) Device control device, device control method and device control system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16811574

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16811574

Country of ref document: EP

Kind code of ref document: A1