WO2013146413A1 - 情報処理システム、情報処理方法、および携帯電話機、サーバ、それらの制御方法ならびに制御プログラム - Google Patents

情報処理システム、情報処理方法、および携帯電話機、サーバ、それらの制御方法ならびに制御プログラム Download PDF

Info

Publication number
WO2013146413A1
WO2013146413A1 PCT/JP2013/057637 JP2013057637W WO2013146413A1 WO 2013146413 A1 WO2013146413 A1 WO 2013146413A1 JP 2013057637 W JP2013057637 W JP 2013057637W WO 2013146413 A1 WO2013146413 A1 WO 2013146413A1
Authority
WO
WIPO (PCT)
Prior art keywords
input device
server
control
data
request
Prior art date
Application number
PCT/JP2013/057637
Other languages
English (en)
French (fr)
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
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to AU2013238104A priority Critical patent/AU2013238104B2/en
Priority to CN201380016260.1A priority patent/CN104205793A/zh
Priority to EP13769068.1A priority patent/EP2830301A4/en
Priority to US14/387,712 priority patent/US9571954B2/en
Priority to CA2867570A priority patent/CA2867570A1/en
Publication of WO2013146413A1 publication Critical patent/WO2013146413A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72415User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Definitions

  • the present invention relates to an information processing system, an information processing method, a mobile phone, a server, a control method thereof and a control program.
  • Patent Document 1 discloses a remote desktop system in which a plurality of peripheral devices (for example, a display, a mouse, a keyboard, a printer, and the like) are connected together.
  • a mobile communication terminal for example, a smartphone
  • a wireless LAN Local Area Network
  • a mobile communication network is also disclosed.
  • the technique described in the above document does not disclose that an input device is connected to the mobile phone itself, and further does not mention a technique in which the server controls the input device via the mobile phone. That is, data cannot be acquired from various input devices simply by connecting the mobile phone to the input device.
  • An object of the present invention is to provide a technique for solving the above-described problems.
  • a system provides: A determination means for determining whether or not the own device can control the input device when the input device is connected via the communication interface; Request means for requesting control of the input device to a server connected via the wireless communication network when the determination means determines that the own device cannot control the input device; Signal transfer control means for controlling signal transfer between the input device and the server via the communication interface and the wireless communication network so that communication between the input device and the server can be established and the server can control the input device; A mobile phone with A server that controls the input device by communication established with the input device in response to a request from the request means; Equipped with.
  • the method according to the present invention comprises: A determination step of determining whether or not the own device can control the input device when the input device is connected via the communication interface; A requesting step for requesting control of the input device to a server connected via the wireless communication network when the determination step determines that the own device cannot control the input device; A control step for controlling the input device by communication established with the input device in response to the request of the request step; A signal transfer control step for controlling signal transfer between the input device and the server via the communication interface and the wireless communication network so that communication between the input device and the server can be established and the server can control the input device; Equipped with.
  • a mobile phone provides: A determination means for recognizing the input device when the input device is connected via the communication interface and determining whether or not the input device can control the input device; Request means for requesting control of the input device to a server connected via the wireless communication network when the determination means determines that the own device cannot control the input device; Signal transfer control means for controlling signal transfer between the input device and the server via the communication interface and the wireless communication network so that communication between the input device and the server can be established and the server can control the input device; Equipped with.
  • a method for controlling a mobile phone includes: A determination step of recognizing the input device when the input device is connected via the communication interface and determining whether or not the own device can control the input device; A requesting step for requesting control of the input device to a server connected via the wireless communication network when the determination step determines that the own device cannot control the input device; A signal transfer control step for controlling signal transfer between the input device and the server via the communication interface and the wireless communication network so that communication between the input device and the server can be established and the server can control the input device; including.
  • a control program provides: A determination step of recognizing the input device when the input device is connected via the communication interface and determining whether or not the own device can control the input device; A requesting step for requesting control of the input device to a server connected via the wireless communication network when the determination step determines that the own device cannot control the input device; A signal transfer control step for controlling signal transfer between the input device and the server via the communication interface and the wireless communication network so that communication between the input device and the server can be established and the server can control the input device; Is executed on the computer.
  • a server included in the information processing system includes control means for controlling the input device by communication established with the input device in response to a request from the request means.
  • a server control method includes: A method for controlling a server included in the information processing system, comprising: a control step of controlling an input device by communication established with the input device in response to a request from a request unit.
  • a control program provides: A control program for a server included in the information processing system, which causes a computer to execute a control step of controlling an input device by communication established with the input device in response to a request from a request unit.
  • data can be acquired from various input devices connected to the mobile phone.
  • the information processing system 100 converts data provided by an input device connected to a mobile phone through a server so that the data can be output by the mobile phone.
  • the information processing system 100 includes a mobile phone 110, a server 130, and an input device 140.
  • the mobile phone 110 includes a determination unit 111, a request unit 112, and a signal transfer control unit 113.
  • the determination unit 111 of the mobile phone 110 determines whether or not the own device 110 can control the input device 140 when the input device 140 is connected via the communication interface 150.
  • the request unit 112 requests the server 130 connected via the wireless communication network to control the input device 140.
  • the signal transfer control unit 113 is a signal between the input device 140 and the server 130 via the communication interface 150 and the wireless communication network so that the communication between the input device 140 and the server 130 is established and the server 130 can control the input device 140. Control the transfer.
  • the server 130 controls the input device 140 through communication established with the input device 140.
  • the server can acquire data from the input device by controlling the input device connected to the mobile phone.
  • FIG. 2 is a diagram for explaining an overview of the information processing system 200 according to the present embodiment.
  • a smartphone 210 and a cloud server 230 are connected via a network 250 so as to communicate with each other.
  • the smartphone 210 is connected to the DVD player 240.
  • the smartphone 210 is connected to the DVD player 240 via a communication interface such as USB (Universal Serial Bus).
  • the smartphone 210 first determines whether or not the device can be identified. If the smartphone 210 can identify the device, it determines whether or not the file system can acquire data by itself, and further, the acquired data is stored in the own device. It is determined whether the data format can be processed by. If the result of the determination is that the device itself cannot be processed, the smartphone 210 connects to the cloud server 230 via the network 250 and requests control of the DVD player 240. Then, the smartphone 210 controls signal transfer in order to control communication between the cloud server 230 and the DVD player 240.
  • USB Universal Serial Bus
  • the cloud server 230 When the cloud server 230 requests the smartphone 210 to control the DVD player 240, the cloud server 230 controls the DVD player 240 through communication established between the smartphone 210 and the DVD player 240.
  • FIG. 3 is a block diagram illustrating a configuration of the information processing system 200 according to the present embodiment.
  • the smartphone 210 includes a connection detection unit 311, a device determination unit 312, a file system determination unit 313, a data format determination unit 314, a user inquiry unit 315, and a wireless communication unit 316.
  • the smartphone 210 includes a USB interface 319, a content storage unit 320, and a display unit 321.
  • the wireless communication unit 316 includes a transmission unit 317 and a reception unit 318.
  • the cloud server 230 includes virtual PCs 330a to 330c.
  • the virtual PC 330 a includes a data reception unit 331, a data conversion unit 332, a virtual USB interface 333, and a data transmission unit 334.
  • the DVD player 240 is detachable from a DVD (Digital Video Disc) 341 and has a USB interface 342.
  • the connection detection unit 311 of the smartphone 210 detects that it is connected to any device via the USB interface 319 as a communication interface.
  • the device determination unit 312 recognizes that the device connected via the USB interface 319 is the DVD player 240
  • the device determination unit 312 determines whether the device can be controlled. That is, the device determination unit 312 detects whether the device has a driver for controlling the DVD player 240 by detecting the type of the device that has detected the connection, the manufacturer of the DVD player 240, the product type of the DVD player 240, and the like.
  • the file system determination unit 313 checks the file system of data stored on the DVD 341 and determines whether the smartphone 210 can access the DVD 341.
  • Universal Disk Format Universal Disk Format, UDF
  • UDF Universal Disk Format
  • the data format determination unit 314 determines whether the data format of the data stored in the DVD player 240 is compatible with the application of the own device.
  • the user inquiry unit 315 determines whether to access the cloud server 230 for the user. Or ask. In particular, the user inquiry unit 315 makes an inquiry to the user as to whether or not to request data processing from the cloud server 230 when the data format is determined to be a data format that cannot be processed by the own device.
  • the transmission unit 317 transmits the request result selected by the user to the virtual PC 330a of the cloud server 230.
  • the receiving unit 318 unencapsulates an IP (Internet Protocol) packet received from the virtual USB interface 333 and converts it into USB data. Then, data is transmitted to the USB interface 342 of the DVD player 240 via the USB interface 319. On the other hand, the DVD player 240 sends data (eg, content data) to the USB interface 319 via the USB interface 342 in response to a command from the virtual PC 330 a received via the smartphone 210.
  • IP Internet Protocol
  • the transmission unit 317 receives data from the DVD 341 via the USB interface 319, encapsulates the data in IP format, and transfers the data to the data reception unit 331.
  • the content storage unit 320 stores the converted data transmitted from the virtual PC 330a, and the display unit 321 is a display that displays the converted data.
  • the virtual PC 330 a of the cloud server 230 receives the request from the smartphone 210 at the data receiving unit 331.
  • the data conversion unit 332 converts the data acquired from the DVD player 240 into a data format that can be processed (displayed) by the smartphone 210 based on a request from the smartphone 210.
  • the virtual USB interface 333 establishes communication with the DVD player 240 and reads out and acquires data stored in the DVD 341 based on a request from the smartphone 210. Then, the data transmission unit 334 transmits the converted data to the smartphone 210.
  • the DVD player 240 is connected to the USB interface 319 of the smartphone 210 via the USB interface 342.
  • step S401 when the input device is connected to the smartphone 210, in step S403, the connection detection unit 311 of the smartphone 210 detects that the device (here, the DVD player 240) is connected via the USB interface.
  • step S409 the smartphone 210 determines whether or not the DVD player 240 can be controlled by itself (S409a). If it is determined that the DVD player 240 can be controlled by the own device, the smartphone 210 further checks the file system and determines whether the data of the DVD 341 can be acquired by the own device (S409b). Further, the smartphone 210 determines whether or not the content data stored in the DVD player 240 can be displayed and reproduced by itself (S409c).
  • step S410 the user confirms where and how the data acquired from the input device is output.
  • the display unit 321 of the smartphone 210 performs a display such as “The content in the DVD has been recognized. Further, for example, options such as “smart phone”, “external display”, “attach mail”, and “upload to video site” may be displayed.
  • step S409 determines "impossible”, or even if the determination is "permissible” in step S409, if output via the cloud server is selected in step S410, in step S411
  • the smartphone 210 logs into the cloud server 230.
  • the transmission unit 317 requests the cloud server 230 to acquire data from the DVD player 240.
  • step S415 the virtual USB interface 333 of the cloud server 230 generates data for establishing communication with the DVD player 240.
  • the data transmission unit 334 encapsulates the communication establishment data and transmits it to the smartphone 210 (S417).
  • step S419 the smartphone 210 unencapsulates the communication establishment data received from the cloud server 230.
  • step S ⁇ b> 421 the USB interface 319 transmits the unencapsulated communication establishment data to the DVD player 240.
  • step S423 communication between the smartphone 210, the cloud server 230, and the DVD player 240 is established.
  • step S425 When communication with the cloud server 230 is established, in step S425, the cloud server 230 drives the DVD player 240, reads the data stored in the DVD 341, and transmits the data to the smartphone 210.
  • step S427 the smartphone 210 relays the data transmitted from the DVD player 240 for transmission to the cloud server 230.
  • the transmission unit 317 may transfer the data acquired from the DVD player 240 as an input device to the server after reaching a predetermined amount. For example, in the case of an input device with a very slow output, it is more efficient to merge the data once in the smartphone and send the data to the cloud server 230 after a certain amount of data is obtained.
  • step S429 the data reception unit 331 of the cloud server 230 receives the data relayed by the smartphone 210.
  • the cloud server 230 stores or transmits the received data.
  • step S431 the data transmission unit 334 converts the received data as necessary and transmits the converted data to the smartphone 210.
  • step S433 the smartphone 210 outputs (displays and reproduces) the received converted data.
  • step S501 when the connection detection unit 311 detects the connection of the device, the process proceeds to step S503.
  • step S503 the device determination unit 312 attempts to recognize the connected device. If the device cannot be recognized, the process proceeds to step S527, and a display for confirming to the user whether or not to request processing from the cloud server 230 is performed. If the connected device can be recognized, the process proceeds to step S507, and the USB interface 319 confirms the device descriptor. Further, in step S509, the USB interface 319 confirms whether or not the own device has a driver for controlling the connected device, and if not, proceeds to step S527.
  • step S527 the file system determination unit 313 checks the file system of the device. If the file system can be handled by itself, the process advances to step S513. On the other hand, if the file system cannot be handled by the own device, the process proceeds to step S527.
  • step S515 the data format determination unit 314 determines the data format of the data stored on the DVD 341 of the DVD player 240.
  • step S517 the smartphone 210 confirms whether it has an application that can process the data in the data format. If not, the process proceeds to step S535. On the other hand, if it is held, the process proceeds to step S519, and the display unit 321 displays a processing menu. For example, “display on smartphone”, “display on external display”, “attach mail”, “upload to video site”, “store in database”, etc. are displayed.
  • step S521 when an instruction to perform data processing is received from the user in step S521, the process proceeds to step S523, and data is acquired from the DVD player 240.
  • step S525 the display unit 321 displays (outputs) the acquired data.
  • step S527 the smartphone 210 displays a confirmation message for the user to confirm whether or not to request data processing from the server. If no request is sent to the cloud server 230 in step S529, the process ends.
  • step S531 the process proceeds to perform login processing and request the request.
  • step S533 the process proceeds to step S533 and if there is a data format notification from the cloud server 230, the process proceeds to step S517.
  • step S533 On the other hand, if there is no notification of the data format from the cloud server 230, the operation of confirming the presence / absence of notification is repeated in step S533.
  • step S535 the smartphone 210 displays a confirmation message for the user to confirm whether or not to request data processing from the cloud server 230. If no data processing is requested from the cloud server 230 in step S537, the process ends. On the other hand, when requesting data processing to the cloud server 230, the process proceeds to step S ⁇ b> 539 to perform login processing, and the transmission unit 317 transmits a data processing request to the cloud server 230. At this time, the data format that can be processed (reproduced and displayed) by the smartphone 210 is simultaneously notified to the cloud server 230.
  • step S519 After requesting the cloud server 230 for data processing, the process proceeds to step S519, and a processing menu is displayed.
  • a processing menu here, when an email transmission from the cloud server 230 or an upload to a website is instructed, such a request is sent from the smartphone 210 to the cloud server 230.
  • step S523 content data converted so as to be displayed on the smartphone 210 is acquired from the cloud server 230. In that case, the playback image of the DVD is displayed on the display unit 321 of the smartphone 210 in step S525.
  • step S551 when detecting the login from the smartphone 210, the virtual PC 330a of the cloud server 230 checks whether or not the user is a registered user. If not a registered user, the process ends. If it is a registered user, the virtual PC 330a subsequently receives a communication establishment request from the smartphone 210 in step S553. In step S555, the virtual PC 330a encapsulates communication establishment data (USB packet) generated by the USB protocol using the IP protocol.
  • USB packet communication establishment data
  • step S557 the virtual PC 330a transmits the encapsulated communication establishment data to the DVD player 240.
  • step S559 the virtual PC 330a establishes communication with the DVD player 240.
  • step S561 the virtual PC 330a acquires data from the DVD player 240.
  • step S563 the virtual PC 330a stores the acquired data in a memory (not shown).
  • step S565 the data receiving unit 331 acquires an instruction from the user.
  • step S567 the virtual PC 330a confirms whether or not the request is for requesting to store data. If it is necessary to store the data, the process proceeds to step S569, and storage (not shown) prepared in the cloud server 230 is obtained. The data is stored in
  • step S571 the data transmission unit 334 confirms whether it is necessary to transmit data to another device. If transmission is necessary, the process proceeds to step S573, and the data is transmitted to the designated address. If it is not necessary to transmit to another device, the process proceeds to step S575, where it is confirmed whether or not to reproduce and display on the smartphone 210, and if it is not necessary to transmit to the smartphone 210, the process is terminated. If transmission to the smartphone 210 is necessary, the process proceeds to step S577, and the data conversion unit 332 converts the data to be transmitted into a data format that can be processed by the smartphone 210. After data conversion, the data transmission unit 334 transmits the converted data.
  • FIG. 6 is a diagram illustrating a message displayed on the smartphone 210.
  • the display unit 321 of the smartphone 210 displays a message 601 indicating that a certain device has been connected to the USB interface 319 to the user.
  • a message 601 indicating whether to connect to the cloud server 230 and request control of the device is displayed.
  • the smartphone 210 allows the user to select whether to display the message (YES) or not (NO).
  • FIG. 7A, FIG. 7B, and FIG. 7C are diagrams for explaining in more detail the descriptor exchange described in steps S409 and S503. These drawings show packet data exchanged among the virtual PC 330a, the smartphone 210, and the DVD player 240.
  • FIG. 7A shows a sequence when an input / output device cannot be detected successfully.
  • a token packet and a data packet are transmitted from the smartphone 210 to the DVD player 240 in the setup stage S701.
  • the DVD player 240 transmits a handshake packet to the smartphone 210. Based on whether or not an appropriate handshake packet is returned, it is determined whether the DVD player 240 can be controlled by itself.
  • the device For example, if the device is assumed to be connected to the smartphone 210 in advance, an appropriate handshake packet is returned, and the data stage and status stage are continued.
  • the input / output device can be controlled by driving a device driver prepared in the smartphone 210 in accordance with the acquired device descriptor. However, the number of devices to which the smartphone 210 is supposed to be connected is very small. If no handshake packet is returned in the setup stage S701, USB disconnection processing is performed here (S702), and the smartphone 210 makes a data acquisition request to the virtual PC 330a (S413).
  • the virtual PC 330a performs the setup stage S703 again with the DVD player 240 via the smartphone 210, and proceeds to the data stage S704 to acquire device information such as a device descriptor.
  • the virtual PC 330a includes a number of drivers and data conversion modules in advance so that it can be connected to various input / output devices existing in the world. Therefore, the setup proceeds from the virtual PC 330a and the DVD player 240 to the setup stage S703, the data stage S704, and the status stage S705, and the connection with the DVD player 240 is properly established.
  • FIG. 7B shows a sequence when the smartphone 210 does not have a driver corresponding to the device descriptor acquired by the smartphone 210 from the DVD player 240.
  • a setup stage S711, a data stage S712, and a status stage S713 are performed between the smartphone 210 and the DVD player 240. If it is determined that the smartphone 210 does not have a device driver corresponding to the device descriptor acquired by these three stages, the USB disconnection process S714 is performed, and the smartphone 210 makes a data acquisition request to the virtual PC 330a (S413). .
  • the smartphone 210 requests the virtual PC 330a to connect to the DVD player 240.
  • the setup stage S715, the data stage S716, and the status stage S717 are performed again in the virtual PC 330a.
  • the virtual PC 330a can directly acquire the device descriptor from the DVD player 240 and drive the driver suitable for the device.
  • the device descriptor acquired from the DVD player 240 in the setup stage S721 and the data stage S722 between the smartphone 210 and the DVD player 240 is cached in the smartphone 210 to perform the USB disconnection process.
  • the smartphone 210 makes a data acquisition request to the virtual PC 330a (S413).
  • a connection establishment process with the DVD player 240 is started under the initiative of the virtual PC 330a (S725 to S727).
  • the smartphone 210 does not send the setup token packet and data packet to the DVD player 240, but generates a handshake packet and sends it to the virtual PC 330a.
  • the smartphone 210 receives the token packet and the data packet from the virtual PC 330a, the smartphone 210 reads the device descriptor from the cache without transmitting them to the DVD player 240, and transmits the device descriptor to the virtual PC 330a. That is, since it is possible to omit the process of acquiring the device descriptor from the DVD player 240, it is possible to efficiently resume the communication after disconnecting from the DVD player 240.
  • the smartphone 210 stores a table 730 indicating a correspondence relationship between a device descriptor having a device driver, an interface descriptor, a vendor ID, and a product ID.
  • the smartphone 210 compares the device descriptor notified from the DVD player 240 when the DVD player 240 is connected with the device descriptor in the table 730. When the device descriptor notified from the DVD player 240 matches the device descriptor on the table 730, the smartphone 210 determines that the DVD player 240 is an input device that can be processed by the own device. On the other hand, if the device descriptors do not match, the smartphone 210 determines that the input device cannot be processed by itself.
  • the vendor ID and product ID in the device descriptor notified from the DVD player 240 may be extracted and compared with the vendor ID and product ID in the table 730. In this case, if there is a matching vendor ID and product ID 7 in the table 730, it can be determined that the output device can be processed by the own device. Conversely, if the vendor ID and the product ID do not match, the smartphone 210 can determine that the DVD player 240 cannot be processed by itself.
  • the cloud server 230 includes a message table 740 that indicates the correspondence between the inquiry message and the input device.
  • the inquiry message is a message for making various inquiries to the user of the smartphone 210 (for example, an inquiry about a data output destination).
  • the data transmission unit 334 reads an inquiry message corresponding to the input device connected to the smartphone 210 from the table 740 and causes the display unit 321 of the smartphone 210 to display the inquiry message. For example, when the DVD player 240 is connected, an inquiry is made to the user as to “whether or not to reproduce on the smartphone screen”. When the scanner is connected, an inquiry is made as to whether or not to store the read image in the virtual PC.
  • a digital camera When a digital camera is connected, it asks whether to upload it to a blog, store it in a photo album on the Internet, or ask a print dealer to print a photo. Further, when a sensor is connected, candidates are displayed for prompting selection of where to send the sensor result.
  • the processing candidates performed in the cloud server 230 are stored in the processing candidate table 750 in association with various input devices. Specific processing contents, a data conversion method, a data size, and the like are also stored in association with each processing candidate. Processing candidates corresponding to the input device connected to the smartphone 210 are read from the processing candidate table 750 and displayed on the smartphone 210 so as to be selectable.
  • the display unit 321 of the smartphone 210 performs a display such as “The content in the DVD has been recognized. Further, for example, options such as “smart phone”, “external display”, “attach mail”, and “upload to video site” may be displayed.
  • a case where a Geiger counter 780 is connected to the smartphone 710 can be considered.
  • the cloud server 230 uses a GPS (Global Positioning System) sensor 722 that the smartphone 210 has.
  • the radiation dose, the detection location, and the detection time are associated with each other and transmitted to a designated site. Thereby, the user can easily disclose the radiation dose at each position on the map.
  • GPS Global Positioning System
  • the cloud server 230 uses the performance data obtained from the electronic musical instrument 790 as well as another musical instrument connected to another smart phone.
  • the performance data can be merged and output.
  • USB connection processing With reference to FIGS. 8A to 8D, signals exchanged between the cloud server 230, the smartphone 210, and the DVD player 240 until the establishment of USB communication will be described in more detail.
  • FIG. 7C an example in which a device descriptor is stored in a cache will be described.
  • step S801 the DVD player 240 is connected to the smartphone 210 and turned on.
  • step S802 the smartphone 210 starts USB connection processing with respect to the DVD player 240 and transmits a reset signal.
  • step S ⁇ b> 803 the smartphone 210 specifies an address for the DVD player 240. Thereafter, the address is added to a packet exchanged between the smartphone 210 and the DVD player 240.
  • step S804 the smartphone 210 performs “GET DESDCRIPTOR” processing in order to acquire the descriptor from the DVD player 240.
  • the processing of “GET DESDCRIPTOR” is the same as steps S721 to S723 described with reference to FIG.
  • the DVD player 240 transmits the device descriptor stored in the endpoint 0 area to the smartphone 210 (S806, S807).
  • the smartphone 210 transmits the confirmation signal (ACK) to the DVD player 240 in the status stage S723.
  • the smartphone 210 that has acquired the device descriptor at this time stores the device descriptor in the cache (S724). Further, using the device descriptor, it is determined whether the smartphone 210 is a controllable device (S409). If it is determined that the control is impossible, the process proceeds to step S811, the USB disconnection process is performed, and at the same time, the cloud server 230 is requested to control the DVD player 240 (S812).
  • step S813 the cloud server 230 starts processing to control the DVD player 240, and transmits a reset signal to the DVD player 240 via the smartphone 210.
  • step S 815 the cloud server 230 performs a set address and designates an address for the DVD player 240.
  • the cloud server 230 performs get descriptor (S816) and get configuration (S824) on the DVD player 240 via the smartphone 210 (S823). Specifically, in step S817, the cloud server 230 sends a get descriptor to the smartphone 210. In step S819, the smartphone 210 reads the device descriptor stored in the cache and transmits the device descriptor to the cloud server 230.
  • step S825 the DVD player 240 transmits the configuration descriptor stored in the endpoint 0 area.
  • the cloud server 230 performs BULK TRANSFER on the DVD player 240 via the smartphone 210 (S826), the DVD player 240 reads the content data stored on the DVD (S827), and the cloud server 230 is read out. Send to.
  • step S409 If it is determined in step S409 that the device is not a controllable device based on the device descriptor of the DVD player 240, the process proceeds to step S828 in FIG. 8B. In steps S828 and S829, a configuration descriptor acquisition process is performed, and the DVD player 240 transmits the configuration descriptor to the smartphone 210 accordingly. In step S832, the smartphone 210 stores the acquired configuration descriptor in the cache. In step S409, the smartphone 210 determines whether the DVD player 240 is a controllable device for the smartphone 210 based on the configuration descriptor. If it is determined that the control is not possible, the process proceeds to step S833, and the USB connection between the smartphone 210 and the DVD player 240 is disconnected.
  • the smartphone 210 After disconnecting the USB connection, the smartphone 210 requests the cloud server 230 to control the DVD player 240. In response to the control request, the cloud server 230 starts USB control and transmits a reset signal to the DVD player 240 via the smartphone 210 (S835), and then performs a set address (S836), and sets the address to DVD. The player 240 is designated. Furthermore, when a descriptor is requested from the smartphone 210 by GET DESCRIPTOR (S837), the smartphone 210 reads the device descriptor from the cache instead of relaying the request to the DVD player 240 (S839), and the cloud server 230 (S840).
  • the cloud server 230 executes GET CONFIGURATION on the DVD player 240 via the smartphone 210 (S841), the smartphone 210 does not transmit the command to the DVD player 240, but instead stores the configuration stored in the cache. The descriptor is read and transmitted to the cloud server 230 (S843).
  • the cloud server 230 performs BULK TRANSFER for the DVD player 240 via the smartphone 210 (S844), the DVD player 240 reads the content data stored on the DVD (S845), To the cloud server 230.
  • step S409 If it is determined in step S409 that the device is a controllable device based on the configuration descriptor (B), the process proceeds to BULK TRANSFER shown in step S846 of FIG. 8C. Even in BULK TRANSFER, the setup stage, the data stage, and the status stage are performed, so that the DVD player 240 reads the content data from the DVD 341 and transmits it to the smartphone 210 (S849).
  • the smartphone 210 Upon receiving the read content data, the smartphone 210 stores the content data in a cache (S851), and determines whether there is an application that can reproduce the content data (S852).
  • step S853 the process is continued without accessing the cloud server 230. That is, in this case, the content data of the DVD player 240 can be reproduced as it is on the smartphone 210.
  • step S854 the USB connection is disconnected, and the process proceeds to step S856 in FIG. 8D.
  • the cloud server 230 is also requested for USB device control.
  • the smartphone 210 requests the cloud server 230 to control the DVD player 240.
  • the cloud server 230 starts USB control and transmits a reset signal to the DVD player 240 via the smartphone 210 (S857), and subsequently performs a set address (S859).
  • the player 240 is designated.
  • the smartphone 210 reads the device descriptor from the cache instead of relaying the request to the DVD player 240 (S863), and the cloud server 230.
  • the cloud server 230 executes GET CONFIGURATION on the DVD player 240 via the smartphone 210 (S865)
  • the smartphone 210 reads the configuration descriptor stored in the cache instead of relaying the command.
  • the smartphone 210 is relayed and transmitted to the cloud server 230 (S867).
  • the smartphone 210 reads the input data stored in the cache (S871), and sends it to the cloud server 230. Send.
  • the smartphone 210 includes a CPU (Central Processing Unit) 910, a ROM (Read Only Memory) 920, a wireless communication unit 316, a RAM (Random Access Memory) 940, a storage 950, and an input / output interface 960.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the CPU 910 is a central processing unit and controls the entire smartphone 210 by executing various programs.
  • the ROM 920 is a read-only memory, and stores various parameters and the like in addition to a boot program that the CPU 910 should execute first.
  • the RAM 940 stores a connection detection result 941, a device determination result 942, a file system determination result 943, a data format determination result 944, acquired content data 945, and converted content data 946.
  • the wireless communication unit 316 controls communication with the cloud server 230 via the network.
  • the RAM 940 temporarily stores a connection detection result 941, a device determination result 942, a file system determination result 943, and a data format determination result 944.
  • the connection detection result 941 is a detection result of the connected device detected by the connection detection unit 311.
  • the device determination result 942 is a result of determining what kind of connected device is detected.
  • the file system determination result 943 is a result of determining whether or not the file system of the data stored in the DVD player 240 acquired by the own device can be acquired by the own device.
  • the data format determination result 944 is a result of determining whether or not the data format of the data stored in the DVD player 240 is processing capability by itself.
  • the RAM 940 temporarily stores acquired content data 945 and converted content data 946.
  • the acquired content data 945 is content data acquired from an input device such as the DVD player 240 and is to be transmitted to the cloud server 230.
  • the converted content data 946 is content data converted in the cloud server 230 and is to be played back on the smartphone 210.
  • the storage 950 stores a processing capability database 951 indicating the processing capability of the smartphone. By referring to this database, it can be determined whether or not the smartphone 210 is content data that can be processed by itself. Further, the storage 950 stores a device determination module 953, a file system determination module 954, a data format determination module 955, a data relay module 956, a user interface display module 957, and a data processing application 959.
  • the device determination module 953 functions as the device determination unit 312 when executed by the CPU 910.
  • the file system determination module 954 functions as the file system determination unit 313 by being executed by the CPU 910.
  • the data format determination module 955 functions as the data format determination unit 314 by being executed by the CPU 910. Furthermore, the data relay module 956 is executed by the CPU 910 and functions together with the wireless communication unit 316 to relay data exchange between the cloud server 230 and the input device. Specifically, USBoverIP encapsulation and uncapsulation are performed.
  • the user interface display module 957 displays the dialog as shown in FIG. 6 on the display unit 321 of the smartphone 210 by being executed by the CPU 910.
  • the input / output interface 960 relays input / output data with the input / output device.
  • a display unit 321, a touch panel 962, a speaker 964, a microphone 965, and a camera 966 built in the smartphone 210 are connected to the input / output interface 960.
  • the smartphone 210 includes a USB interface 319 to which an external device can be connected.
  • the information processing system can control an input device that is connected to a smartphone and that does not have a driver pre-installed.
  • the present invention may be applied to a system composed of a plurality of devices, or may be applied to a single device. Furthermore, the present invention can also be applied to a case where an information processing program that implements the functions of the embodiments is supplied directly or remotely to a system or apparatus. Therefore, in order to realize the functions of the present invention on a computer, a program installed in the computer, a medium storing the program, and a WWW (World Wide Web) server that downloads the program are also included in the scope of the present invention. .
  • WWW World Wide Web

Abstract

 通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する携帯電話機。自機が入力デバイスを制御できないと判定した場合には、無線通信ネットワークを介して接続されたサーバに対して、入力デバイスの制御をリクエストする。入力デバイスとサーバ間の通信が確立して入力デバイスをサーバが制御できるように、通信インタフェースおよび無線通信ネットワークを介する入力デバイスとサーバとの間の信号転送を制御する。サーバは、携帯電話機からのリクエストに応答して、入力デバイスとの間に確立された通信により入力デバイスを制御する。

Description

情報処理システム、情報処理方法、および携帯電話機、サーバ、それらの制御方法ならびに制御プログラム
 本発明は、情報処理システム、情報処理方法、および携帯電話機、サーバ、それらの制御方法ならびに制御プログラムに関する。
 上記技術分野において、特許文献1には、複数の周辺機器(例えば、ディスプレイ、マウス、キーボード、プリンタ等)を集約して接続するリモートデスクトップシステムが開示されている。また、無線LAN(Local Area Network)もしくは移動体通信網を介してリモートサーバに接続可能な携帯通信端末(例えば、スマートフォン等)も開示されている。
特開2007-102308号公報
 しかしながら、上記文献に記載の技術では、携帯電話機自体に入力デバイスを接続することは開示されておらず、さらに、サーバが携帯電話機を介してその入力デバイスを制御する技術についても触れられていない。すなわち、携帯電話機を入力デバイスに接続するだけでは、様々な入力デバイスからデータを取得することができなかった。
 本発明の目的は、上述の課題を解決する技術を提供することにある。
 上記目的を達成するため、本発明に係るシステムは、
 通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する判定手段と、
 判定手段により、自機が入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、入力デバイスの制御をリクエストする要求手段と、
 入力デバイスとサーバ間の通信が確立して入力デバイスをサーバが制御できるように、通信インタフェースおよび無線通信ネットワークを介する入力デバイスとサーバとの間の信号転送を制御する信号転送制御手段と、
 を備えた携帯電話機と、
 要求手段からのリクエストに応答して、入力デバイスとの間に確立された通信により入力デバイスを制御するサーバと、
 を備えた。
 上記目的を達成するため、本発明に係る方法は、
 通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
 判定ステップにより、自機が入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、入力デバイスの制御をリクエストする要求ステップと、
 要求ステップのリクエストに応答して、入力デバイスとの間に確立された通信により入力デバイスを制御する制御ステップと、
 入力デバイスとサーバとの間の通信が確立して入力デバイスをサーバが制御できるように、通信インタフェースおよび無線通信ネットワークを介する入力デバイスとサーバとの間の信号転送を制御する信号転送制御ステップと、
 を備えた。
 上記目的を達成するため本発明に係る携帯電話機は、
 通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定手段と、
 判定手段により、自機が入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、入力デバイスの制御をリクエストする要求手段と、
 入力デバイスとサーバとの間の通信が確立して入力デバイスをサーバが制御できるように、通信インタフェースおよび無線通信ネットワークを介する入力デバイスとサーバとの間の信号転送を制御する信号転送制御手段と、
 を備えた。
 上記目的を達成するため、本発明に係る携帯電話機の制御方法は、
 通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
 判定ステップにより、自機が入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、入力デバイスの制御をリクエストする要求ステップと、
 入力デバイスとサーバとの間の通信が確立して入力デバイスをサーバが制御できるように、通信インタフェースおよび無線通信ネットワークを介する入力デバイスとサーバとの間の信号転送を制御する信号転送制御ステップと、
 を含む。
 上記目的を達成するため、本発明に係る制御プログラムは、
 通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
 判定ステップにより、自機が入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、入力デバイスの制御をリクエストする要求ステップと、
 入力デバイスとサーバとの間の通信が確立して入力デバイスをサーバが制御できるように、通信インタフェースおよび無線通信ネットワークを介する入力デバイスとサーバとの間の信号転送を制御する信号転送制御ステップと、
 をコンピュータに実行させる。
 上記目的を達成するため、本発明に係るサーバは、
 上記情報処理システムに含まれるサーバであって、要求手段からのリクエストに応答して、入力デバイスとの間に確立された通信により入力デバイスを制御する制御手段を備えた。
 上記目的を達成するため、本発明に係るサーバの制御方法は、
 上記情報処理システムに含まれるサーバの制御方法であって、要求手段からのリクエストに応答して、入力デバイスとの間に確立された通信により入力デバイスを制御する制御ステップを含む。
 上記目的を達成するため、本発明に係る制御プログラムは、
 上記情報処理システムに含まれるサーバの制御プログラムであって、要求手段からのリクエストに応答して、入力デバイスとの間に確立された通信により入力デバイスを制御する制御ステップをコンピュータに実行させる。
 本発明によれば、携帯電話機に接続された様々な入力デバイスからデータを取得することができる。
本発明の第1実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第2実施形態に係る情報処理システムの構成概要を示す図である。 本発明の第2実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第2実施形態に係る情報処理システム全体の処理の流れを示すシーケンス図である。 本発明の第2実施形態におけるスマートフォンの手続きの流れを示すフローチャートである。 本発明の第2実施形態におけるスマートフォンの手続きの流れを示すフローチャートである。 本発明の第2実施形態におけるスマートフォンに表示されるメッセージを示す図である。 本発明の第2実施形態に係る情報処理システムでのパケット送受信処理の一例を示す図である。 本発明の第2実施形態に係る情報処理システムでのパケット送受信処理の他の例を示す図である。 本発明の第2実施形態に係る情報処理システムでのパケット送受信処理のさらに他の例を示す図である。 本発明の第2実施形態に係る情報処理システムで用いられるテーブルの構成を示す図である。 本発明の第2実施形態に係る情報処理システムで用いられるテーブルの構成を示す図である。 本発明の第2実施形態に係る情報処理システムで用いられるテーブルの構成を示す図である。 本発明の第2実施形態に係る情報処理システムの変形例を示す図である。 本発明の第2実施形態に係る情報処理システムの他の変形例を示す図である。 本発明の第2実施形態に係る情報処理システムでのサーバとデバイス間での通信確立処理の一例を示す図である。 本発明の第2実施形態に係る情報処理システムでのサーバとデバイス間での通信確立処理の一例を示す図である。 本発明の第2実施形態に係る情報処理システムでのサーバとデバイス間での通信確立処理の一例を示す図である。 本発明の第2実施形態に係る情報処理システムでのサーバとデバイス間での通信確立処理の一例を示す図である。 本発明の第2実施形態におけるサーバのハードウェア構成を示す図である。
 以下に、本発明を実施するための形態について、図面を参照して、例示的に詳しく説明記載する。ただし、以下の実施の形態に記載されている、構成、数値、処理の流れ、機能要素などは一例に過ぎず、その変形や変更は自由であって、本発明の技術範囲を以下の記載に限定する趣旨のものではない。
 [第1実施形態]
 本発明の第1実施形態としての情報処理システム100について、図1を用いて説明する。情報処理システム100は、携帯電話機に接続された入力デバイスが提供するデータを、サーバを介して変換し、携帯電話機で出力可能にするものである。
 図1に示すように、情報処理システム100は、携帯電話機110と、サーバ130と、入力デバイス140とを含む。携帯電話機110は、判定部111と、要求部112と、信号転送制御部113とを備える。
 携帯電話機110の判定部111は、通信インタフェース150を介して入力デバイス140が接続された場合に、自機110が入力デバイス140を制御できるか否かを判定する。要求部112は、判定部111により、自機110が入力デバイス140を制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバ130に対して、入力デバイス140の制御をリクエストする。信号転送制御部113は、入力デバイス140とサーバ130間の通信が確立して入力デバイス140をサーバ130が制御できるように、通信インタフェース150および無線通信ネットワークを介する入力デバイス140とサーバ130間の信号転送を制御する。
 サーバ130は、要求部112からのリクエストに応答して、入力デバイス140との間に確立された通信により入力デバイス140を制御する。
 以上の構成および動作により、本実施形態に係る情報処理システムによれば、サーバは携帯電話機に接続された入力デバイスを制御して、入力デバイスからデータを取得することができる。
 [第2実施形態]
 次に本発明の第2実施形態に係る情報処理システム200について、図2を用いて説明する。図2は、本実施形態に係る情報処理システム200の概要を説明するための図である。情報処理システム200においては、スマートフォン210とクラウドサーバ230とがネットワーク250を介して通信可能に接続されている。また、スマートフォン210は、DVDプレーヤ240に接続されている。
 スマートフォン210は、DVDプレーヤ240と、USB(Universal Serial Bus)などの通信インタフェースを介して接続されている。スマートフォン210は、DVDプレーヤ240に接続されると、まず、デバイスを識別できるか否か判定し、識別できた場合、自機でデータ取得できるファイルシステムか判定し、さらに、取得したデータが自機で処理できるデータ形式か否か判定する。判定した結果、自機で処理できない場合には、スマートフォン210はクラウドサーバ230にネットワーク250を介して接続し、DVDプレーヤ240の制御をリクエストする。そして、スマートフォン210は、クラウドサーバ230とDVDプレーヤ240との通信を制御するために信号転送を制御する。
 クラウドサーバ230は、DVDプレーヤ240の制御をスマートフォン210からリクエストされると、スマートフォン210によりDVDプレーヤ240との間に確立された通信によりDVDプレーヤ240を制御する。
 (情報処理システムの構成)
 次に、情報処理システム200の内部構成について、図3を用いて説明する。図3は、本実施形態に係る情報処理システム200の構成を示すブロック図である。
 スマートフォン210は、接続検知部311と、デバイス判定部312と、ファイルシステム判定部313と、データ形式判定部314と、ユーザ問合せ部315と、無線通信部316とを備える。また、スマートフォン210は、USBインタフェース319と、コンテンツ記憶部320と、表示部321とを備える。そして、無線通信部316は、送信部317と、受信部318とを備える。
 一方、クラウドサーバ230は、仮想PC330a~330cを有する。そして、仮想PC330aは、データ受信部331と、データ変換部332と、仮想USBインタフェース333と、データ送信部334とを備える。さらに、DVDプレーヤ240は、DVD(Digital Video Disc)341を着脱可能であり、USBインタフェース342を備えている。
 スマートフォン210の接続検知部311は、通信インタフェースとしてのUSBインタフェース319を介して何らかのデバイスと接続されたことを検知する。デバイス判定部312は、USBインタフェース319を介して接続されたデバイスがDVDプレーヤ240であることを認識すると、自機で制御できるか否か判定する。すなわち、デバイス判定部312は、接続を検知したデバイスの種類、DVDプレーヤ240の製造元、DVDプレーヤ240の製品タイプなどを検知してDVDプレーヤ240を制御するドライバを有しているか否か判定する。
 ファイルシステム判定部313は、DVD341に記憶されたデータのファイルシステムを確認し、スマートフォン210からDVD341にアクセスできるか否か判定する。例えば、DVD用のファイルシステムとしてUniversal Disk Format (ユニバーサルディスクフォーマット、UDF)が知られている。
 データ形式判定部314は、DVDプレーヤ240に記憶されたデータのデータ形式が、自機のアプリケーションで対応できるものか判定する。
 ユーザ問合せ部315は、ドライバを有していない場合、DVD341のファイルシステムに対応できない場合、あるいは、データ形式に対応していない場合に、ユーザに対して、クラウドサーバ230へのアクセスを行なうか否か問い合わせる。特に、ユーザ問合せ部315は、データ形式を判定した結果、自機で処理できないデータ形式である場合には、クラウドサーバ230にデータの処理をリクエストするか否かユーザに対して問い合わせる。送信部317は、ユーザにより選択されたリクエスト結果をクラウドサーバ230の仮想PC330aに送信する。
 受信部318は、仮想USBインタフェース333から受信したIP(Internet Protocol)のパケットをアンカプセリングしてUSBのデータに変換する。そして、USBインタフェース319を介してDVDプレーヤ240のUSBインタフェース342にデータを送信する。一方、DVDプレーヤ240は、スマートフォン210を介して受け取った仮想PC330aからのコマンドに応答してUSBインタフェース342を介して、USBインタフェース319にデータ(例えばコンテンツデータ)を送る。
 送信部317は、USBインタフェース319を介してDVD341からのデータを受け取り、IP形式のデータにカプセリングして、データ受信部331に転送する。
 コンテンツ記憶部320は、仮想PC330aから送信された変換済みのデータを記憶し、表示部321は、変換済のデータを表示するディスプレイである。
 クラウドサーバ230の仮想PC330aは、データ受信部331においてスマートフォン210のリクエストを受信する。データ変換部332は、DVDプレーヤ240から取得したデータをスマートフォン210からのリクエストに基づいて、スマートフォン210で処理可能(表示可能)なデータ形式に変換する。仮想USBインタフェース333は、DVDプレーヤ240との間で通信を確立し、スマートフォン210からのリクエストに基づいてDVD341に記憶されているデータを読み出して取得する。そして、データ送信部334は、変換済みのデータをスマートフォン210に送信する。
 DVDプレーヤ240はUSBインタフェース342を介して、スマートフォン210のUSBインタフェース319と接続を行なう。
 (情報処理システム200全体の処理の流れ)
 次に、情報処理システム200全体の処理の流れについて、図4に示すシーケンス図を用いて説明する。
 ステップS401において、入力デバイスをスマートフォン210に接続すると、ステップS403において、スマートフォン210の接続検知部311は、USBインタフェースを介してデバイス(ここではDVDプレーヤ240)が接続されたことを検知する。ステップS409において、スマートフォン210は、DVDプレーヤ240を自機で制御可能か否か判定する(S409a)。DVDプレーヤ240を自機で制御可能と判定すると、さらに、スマートフォン210は、ファイルシステムを確認し、DVD341のデータを自機で取得可能か否か判定する(S409b)。さらに、スマートフォン210は、DVDプレーヤ240に記憶されたコンテンツデータを自機で表示再生可能か否か判定する(S409c)。
 ステップS410では、入力デバイスから取得したデータをどこにどのように出力するかを、ユーザに確認する。例えば「DVD内のコンテンツを認識できました。どこに出力しますか。」といった表示をスマートフォン210の表示部321に対して行なう。また例えば「スマートフォン」「外部ディスプレイ」「メール添付」「動画サイトにアップロード」などといった選択肢を表示してもよい。
 ステップS409のいずれかの判定で、「不可」の判断をした場合、または、ステップS409で「可」の判定であっても、ステップS410でクラウドサーバ経由の出力が選択された場合、ステップS411において、スマートフォン210は、クラウドサーバ230にログインする。このとき、図6に示すように、スマートフォン210のユーザに確認をとる。ステップS413において、送信部317は、クラウドサーバ230に対して、DVDプレーヤ240からのデータ取得をリクエストする。
 さらに、ステップS415において、クラウドサーバ230の仮想USBインタフェース333は、DVDプレーヤ240との通信確立用のデータを生成する。データ送信部334は、通信確立用データをカプセリングし、スマートフォン210に送信する(S417)。ステップS419において、スマートフォン210は、クラウドサーバ230から受信した通信確立用データをアンカプセリングする。ステップS421において、USBインタフェース319は、アンカプセリングされた通信確立用データをDVDプレーヤ240に送信する。ステップS423において、スマートフォン210とクラウドサーバ230と、DVDプレーヤ240との間の通信が確立する。
 クラウドサーバ230との通信が確立すると、ステップS425において、クラウドサーバ230は、DVDプレーヤ240を駆動して、DVD341に記憶されたデータを読み出してスマートフォン210に送信させる。ステップS427において、スマートフォン210は、DVDプレーヤ240から送信されたデータをクラウドサーバ230に送信するために中継する。
 このとき送信部317は、入力デバイスとしてのDVDプレーヤ240から取得したデータがあらかじめ定められた量に達してから、そのデータをサーバに転送してもよい。例えばすごく出力の遅い入力デバイスの場合、スマートフォン内で一旦マージして、ある程度のデータ量になってからクラウドサーバ230に送った方が効率がよい。ステップS429において、クラウドサーバ230のデータ受信部331は、スマートフォン210で中継されたデータを受信する。クラウドサーバ230は、受信したデータを記憶または送信する。ステップS431において、データ送信部334は、受け取ったデータを必要に応じて変換してスマートフォン210に送信する。ステップS433において、スマートフォン210は、受け取った変換済みデータを出力(表示、再生)する。
 (スマートフォンでの処理の流れ)
 図5Aを用いて、スマートフォン210におけるより詳しい処理の流れを説明する。ステップS501において、接続検知部311はデバイスの接続を検知すると、ステップS503に進む。ステップS503において、デバイス判定部312は接続されたデバイスを認識しようとする。デバイスを認識できない場合には、ステップS527に進み、クラウドサーバ230に処理をリクエストするか否かについて、ユーザに確認する表示を行なう。接続デバイスを認識できた場合には、ステップS507に進み、USBインタフェース319は、デバイスディスクリプタを確認する。さらにステップS509において、USBインタフェース319は、接続されたデバイスを制御するためのドライバを自機に有するか否か確認し、有しなければステップS527に進む。有する場合には、ステップS511に進み、ファイルシステム判定部313は、デバイスのファイルシステムを確認し、自機で対応可能なファイルシステムであれば、ステップS513に進む。一方、自機で対応不可能なファイルシステムであれば、ステップS527に進む。
 ステップS515において、データ形式判定部314は、DVDプレーヤ240のDVD341に記憶されたデータのデータ形式を判定する。ステップS517において、スマートフォン210は、そのデータ形式のデータを処理できるアプリケーションを保有しているか確認する。保有していない場合には、ステップS535に進む。一方、保有している場合には、ステップS519に進み、表示部321が処理メニューを表示する。例えば、「スマートフォンに表示」「外部ディスプレイに表示」「メール添付」「動画サイトにアップロード」「データベースに記憶」などといった選択肢を表示する。
 ステップS521において、ユーザから、自機でデータ処理を行なう旨の指示を受け付けるとステップS523に進み、DVDプレーヤ240からデータを取得する。ステップS525において、表示部321は、取得したデータを表示する(出力する)。
 一方、ステップS527において、スマートフォン210は、サーバにデータの処理をリクエストするか否かを確かめるべく、ユーザに対する確認メッセージを表示する。ステップS529において、クラウドサーバ230にリクエストをしない場合には、処理を終了する。一方、クラウドサーバ230にリクエストをする場合には、ステップS531に進んでログイン処理を行ない、リクエストを要求する。リクエストを要求した後、ステップS533に進み、クラウドサーバ230からデータ形式通知があれば、ステップS517に進む。一方、クラウドサーバ230からデータ形式の通知がなければ、ステップS533において通知の有無を確認する作業を繰り返す。
 一方、データ処理用アプリケーションがない場合には、ステップS535において、スマートフォン210は、クラウドサーバ230にデータ処理をリクエストするか否かを確かめるべく、ユーザに対する確認メッセージを表示する。ステップS537において、クラウドサーバ230にデータ処理をリクエストしない場合には終了する。一方、クラウドサーバ230にデータ処理をリクエストする場合には、ステップS539に進んでログイン処理を行ない、送信部317は、クラウドサーバ230に対してデータ処理のリクエストを送信する。このとき、同時にクラウドサーバ230に対して、スマートフォン210が処理(再生、表示)できるデータ形式を通知する。
 クラウドサーバ230にデータ処理をリクエストした後、ステップS519に進んで、処理メニューを表示する。ここでの処理メニューで、クラウドサーバ230からのメール送信や、ウェブサイトへのアップロードが指示された場合、スマートフォン210からクラウドサーバ230に対して、そのようなリクエストが送られる。一方、ユーザから自機で再生したい旨の指示があると、ステップS523において、クラウドサーバ230から、スマートフォン210で表示可能なように変換されたコンテンツデータを取得する。そしてその場合、ステップS525においてスマートフォン210の表示部321にDVDの再生画像を表示する。
 (クラウドサーバ230での処理の流れ)
 図5Bを用いて、情報処理システム200におけるクラウドサーバ230の処理の流れを説明する。ステップS551において、クラウドサーバ230の仮想PC330aは、スマートフォン210からのログインを検知すると、登録したユーザであるか否か確認する。登録したユーザでなければ、処理を終了する。登録したユーザであれば、ステップS553において、仮想PC330aは、スマートフォン210からの通信確立リクエストを続いて受信する。ステップS555において、仮想PC330aは、USBプロトコルで生成した通信確立用データ(USBパケット)をIPプロトコルでカプセリングする。
 次に、ステップS557において、仮想PC330aは、カプセリングした通信確立用データをDVDプレーヤ240に送信する。次に、ステップS559において、仮想PC330aはDVDプレーヤ240との間で通信が確立される。次に、テップS561において、仮想PC330aは、DVDプレーヤ240からデータを取得する。次に、ステップS563において、仮想PC330aは、取得したデータを不図示のメモリに記憶する。次に、ステップS565において、データ受信部331は、ユーザからの指示を取得する。次に、ステップS567において、仮想PC330aは、データを記憶することを要求するリクエストか否か確認し、記憶する必要があれば、ステップS569に進み、クラウドサーバ230に用意されたストレージ(不図示)にそのデータを記憶する。
 一方、記憶する必要がなければステップS571に進み、データ送信部334は、他のデバイスにデータを送信する必要があるか否か確認する。送信する必要があれば、ステップS573に進み、指定されたアドレスにそのデータを送信する。他のデバイスに送信する必要がなければ、ステップS575に進み、スマートフォン210で再生表示するか否か確認し、スマートフォン210にも送信する必要がなければ処理を終了する。スマートフォン210に送信する必要があれば、ステップS577に進み、データ変換部332は、スマートフォン210において処理可能なデータ形式に送信すべきデータを変換する。そしてデータ変換後、データ送信部334はその変換済みデータを送信する。
 (スマートフォンの表示)
 図6は、スマートフォン210に表示されるメッセージを示す図である。スマートフォン210の表示部321は、ユーザに対して、何らかのデバイスがUSBインタフェース319に接続されたことを確認した旨のメッセージ601を表示する。また、併せて、このデバイスが入力デバイスなのか出力デバイスなのかを確認することができないため、クラウドサーバ230に接続してデバイスの制御をリクエストするか否かのメッセージ601を表示する。このメッセージ601により、スマートフォン210は、メッセージを表示する(YES)か否(NO)かをユーザに選択させる。
 〈デバイス情報の取得方法〉
 図7A、図7B、図7Cは、ステップS409、S503で説明したディスクリプタのやりとりについてより詳しく説明する図である。これらの図は、仮想PC330aとスマートフォン210とDVDプレーヤ240との間でやり取りされるパケットデータについて示している。
 図7Aは、入出力デバイスがうまく検出できない場合のシーケンスを示す。まず、スマートフォン210とDVDプレーヤ240とが接続されると、セットアップ・ステージS701において、トークン・パケットとデータ・パケットとを、スマートフォン210からDVDプレーヤ240に送信する。DVDプレーヤ240は、これに応えてハンドシェイク・パケットをスマートフォン210に送信する。適正なハンドシェイク・パケットが返ってくるか否かにより、自機でDVDプレーヤ240を制御できるか判断する。
 例えば、スマートフォン210に接続されることがあらかじめ想定されているデバイスであれば、適正なハンドシェイク・パケットが返り、データ・ステージ、ステータス・ステージを続ける。それにより取得したデバイスディスクリプタに対応して、スマートフォン210内に用意されたデバイスドライバを駆動することで、入出力デバイスを制御できる。しかし、スマートフォン210が接続を想定されているデバイスは非常に数が少ない。セットアップ・ステージS701においてハンドシェイク・パケットが返ってこない場合、ここで、USB切断処理を行ない(S702)、スマートフォン210は仮想PC330aに対してデータ取得のリクエストを行なう(S413)。
 次に仮想PC330aは、スマートフォン210を介して、DVDプレーヤ240との間で、セットアップ・ステージS703を再度行ない、データ・ステージS704に進むことにより、デバイスディスクリプタといったデバイス情報を取得する。仮想PC330aは、世の中に存在する様々な入出力デバイスとも接続可能となるように数多くのドライバおよびデータ変換モジュールをあらかじめ備えている。そのため、仮想PC330aとDVDプレーヤ240との間では、セットアップ・ステージS703、データ・ステージS704、ステータス・ステージS705と順調に進み、DVDプレーヤ240と接続が適正に確立する。
 図7Bは、スマートフォン210がDVDプレーヤ240から取得したデバイスディスクリプタに対応するドライバをスマートフォン210が有していない場合のシーケンスを示す。この場合、スマートフォン210とDVDプレーヤ240との間でセットアップ・ステージS711、データ・ステージS712、ステータス・ステージS713を行なう。この3つのステージによって取得したデバイスディスクリプタに対応するデバイスドライバをスマートフォン210が有していないと判断すると、USB切断処理S714を行ない、スマートフォン210は仮想PC330aに対してデータ取得のリクエストを行なう(S413)。
 そして、スマートフォン210は、仮想PC330aに対してDVDプレーヤ240との接続を要求する。スマートフォン210とDVDプレーヤ240との間のUSB接続を切断後、仮想PC330aにおいて、再度、セットアップ・ステージS715、データ・ステージS716、ステータス・ステージS717を行なう。これにより仮想PC330aは、DVDプレーヤ240から直接デバイスディスクリプタを取得して、デバイスにあったドライバを駆動できる。
 また、図7Cに示すように、スマートフォン210とDVDプレーヤ240との間のセットアップ・ステージS721およびデータ・ステージS722においてDVDプレーヤ240から取得したデバイスディスクリプタを、スマートフォン210の内部にキャッシュしてUSB切断処理を行ない(S724)、スマートフォン210は仮想PC330aに対してデータ取得のリクエストを行なう(S413)。
 そして、スマートフォン210とDVDプレーヤ240との間の接続を一度切断した後に、仮想PC330a主導で、DVDプレーヤ240との接続確立処理を開始する(S725~S727)。この場合、セットアップ・ステージS725において、スマートフォン210は、セットアップ用のトークン・パケットおよびデータ・パケットをDVDプレーヤ240に送らず、ハンドシェイク・パケットを生成し、仮想PC330aに送信する。また、データ・ステージS726では、スマートフォン210は、トークン・パケットとデータ・パケットとを仮想PC330aから受信すると、それらをDVDプレーヤ240に送らずに、キャッシュからデバイスディスクリプタを読出し、仮想PC330aに送信する。すなわち、DVDプレーヤ240からデバイスディスクリプタを取得する処理を省略することが可能となるため、DVDプレーヤ240との通信切断後の再開を効率良く行なうことが可能となる。
 (入力デバイス特定テーブル)
 図7Dに示すように、スマートフォン210は、デバイスドライバを有するデバイスディスクリプタと、インタフェースディスクリプタと、ベンダIDと、プロダクトIDとの対応関係を示すテーブル730を記憶する。
 スマートフォン210は、DVDプレーヤ240が接続された際にDVDプレーヤ240から通知されたデバイスディスクリプタと、テーブル730のデバイスディスクリプタとを比較する。DVDプレーヤ240から通知されたデバイスディスクリプタがテーブル730上のデバイスディスクリプタと一致する場合には、スマートフォン210は、DVDプレーヤ240が自機で処理可能な入力デバイスであると判定する。一方、デバイスディスクリプタが一致しない場合には、スマートフォン210は、自機で処理不可能な入力デバイスであると判定する。
 なお、DVDプレーヤ240から通知されたデバイスディスクリプタ内のベンダIDとプロダクトIDとを抽出し、テーブル730内のベンダIDおよびプロダクトIDと比較してもよい。その場合、テーブル730内に一致するベンダIDおよびプロダクトID7存在する場合には、自機で処理可能な出力デバイスであると判定できる。逆に、ベンダIDおよびプロダクトIDが一致しない場合には、スマートフォン210は、自機で処理不可能なDVDプレーヤ240であると判定できる。
 (メッセージテーブル)
 図7Eに示すように、クラウドサーバ230は、問い合わせメッセージと入力デバイスとの対応関係を示すメッセージテーブル740を有している。問い合わせメッセージとは、スマートフォン210のユーザに対して様々な問い合わせ(例えばデータの出力先の問い合わせ)を行なうためのメッセージである。データ送信部334は、スマートフォン210に接続された入力デバイスに対応する問い合わせメッセージをテーブル740から読み出して、スマートフォン210の表示部321に表示させる。例えば、DVDプレーヤ240が接続された場合は、「スマートフォンの画面で再生するか否か」をユーザに問い合わせる。スキャナが接続された場合には、読み取った画像を仮想PCに記憶するか否か問合わせる。また、デジタルカメラが接続された場合には、ブログにアップロードするか、インターネット上のフォトアルバムに記憶するか、プリント業者に写真のプリントを依頼するか問合わせる。さらに、センサが接続された場合には、センサ結果をどこに送信するかについて候補を表示して選択を促す。
 さらに、図7Fに示すように、クラウドサーバ230において行なう処理候補を各種の入力デバイスに関連付けて処理候補テーブル750として保存している。それぞれの処理候補ごとに、具体的な処理内容、データ変換方法、データサイズなども関連づけて保存している。スマートフォン210に接続された入力デバイスに対応する処理の候補を処理候補テーブル750から読み出して、スマートフォン210に選択可能に表示させる。これら図7E、図7Fに示したテーブルを用いることにより、ステップS410で説明したように、入力デバイスから取得したデータをどこにどのように出力するかを、ユーザに確認することができる。例えば「DVD内のコンテンツを認識できました。どこに出力しますか。」といった表示をスマートフォン210の表示部321に対して行なう。また例えば「スマートフォン」「外部ディスプレイ」「メール添付」「動画サイトにアップロード」などといった選択肢を表示してもよい。
 例えば、図7Gに示すように、ガイガーカウンタ780がスマートフォン710に接続された場合が考えられる。そして、スマートフォン710の表示部321から、放射線量公開サイトにアップロードするようリクエストを受けた場合には、クラウドサーバ230は、スマートフォン210が有しているGPS(Global Positioning System)センサ722などを用いて、放射線量と検出場所と検出時間とを互いに関連付けて指定のサイトに送信する。これにより、ユーザは簡単に、地図上の各位置での放射線量を公開できる。
 また、図7Hに示すように、スマートフォン210に電子楽器790が接続された場合には、クラウドサーバ230は電子楽器790から得られた演奏データを、同様に他のスマートフォンに接続された他の楽器の演奏データとマージして出力することも可能である。
 そして、これら入力デバイスおよびユーザからのリクエストを対応付けてナレッジとして蓄積することにより、入力デバイスを接続された際に、ユーザへの問い合わせ内容を随時変えることが可能となり、ユーザにとって最適な問い合わせ内容を提示できる。
 (USB接続処理)
 図8A~図8Dを用いて、USBでの通信を確立するまでにクラウドサーバ230とスマートフォン210とDVDプレーヤ240との間でやりとりされる信号をより詳細に説明する。特に、ここでは、図7Cに示したように、デバイスディスクリプタをキャッシュに保存する例について説明する。
 ステップS801において、DVDプレーヤ240をスマートフォン210に接続し、電源を投入する。次に、ステップS802において、スマートフォン210はDVDプレーヤ240に対するUSB接続処理を開始し、リセット信号を送信する。次に、ステップS803において、スマートフォン210は、DVDプレーヤ240に対してアドレスを指定する。この後においてスマートフォン210とDVDプレーヤ240との間でやりとりされるパケットにはそのアドレスが付加される。
 ステップS804において、スマートフォン210はディスクリプタをDVDプレーヤ240から取得するために「GET DESDCRIPTOR」の処理を行なう。「GET DESDCRIPTOR」の処理は、図7Cで説明したステップS721~S723と同様であるため、詳細は説明しない。ディスクリプタのリクエストをDVDプレーヤ240に送信すると(S805)、DVDプレーヤ240は、エンドポイント0領域に記憶されたデバイスディスクリプタをスマートフォン210に送信する(S806、S807)。スマートフォン210は、ステータス・ステージS723において、その確認信号(ACK)をDVDプレーヤ240に送信する。
 この時点でデバイスディスクリプタを取得したスマートフォン210は、そのデバイスディスクリプタをキャッシュに保存する(S724)。また、そのデバイスディスクリプタを用いて、スマートフォン210が制御可能なデバイスか判定する(S409)。制御不可能と判断すると、ステップS811に進み、USB切断処理を行ない、同時に、クラウドサーバ230に対し、DVDプレーヤ240の制御依頼を行なう(S812)。
 次に、ステップS813において、クラウドサーバ230は、DVDプレーヤ240の制御を行なうべく処理を開始し、リセット信号を、スマートフォン210を介してDVDプレーヤ240に送信する。次に、ステップS815において、クラウドサーバ230は、セットアドレスを行ない、DVDプレーヤ240に対してアドレスを指定する。
 さらに、クラウドサーバ230は、ゲットディスクリプタ(S816)と、ゲットコンフィギュレーション(S824)とをスマートフォン210を介してDVDプレーヤ240に対して行なう(S823)。具体的には、ステップS817において、クラウドサーバ230は、ゲットディスクリプタをスマートフォン210に送る。ステップS819において、スマートフォン210は、キャッシュに保存されたデバイスディスクリプタを読み出し、クラウドサーバ230に送信する。
 ステップS825において、DVDプレーヤ240は、エンドポイント0領域に記憶されたコンフィギュレーションディスクリプタを送信する。次に、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してBULK TRANSFERを行なうと(S826)、DVDプレーヤ240は、DVDに保存されたコンテンツデータを読み出して(S827)、クラウドサーバ230に送信する。
 ステップS409において、DVDプレーヤ240のデバイスディスクリプタに基づいて、制御可能なデバイスではないと判定すると、図8BのステップS828に進む。ステップS828、S829では、コンフィギュレーションディスクリプタ取得処理を行ない、DVDプレーヤ240は、それに応じてコンフィギュレーションディスクリプタをスマートフォン210に送信する。スマートフォン210は、ステップS832において、取得したコンフィギュレーションディスクリプタをキャッシュに保存する。そして、ステップS409において、スマートフォン210は、コンフィギュレーションディスクリプタに基づいて、DVDプレーヤ240がスマートフォン210にとって制御可能なデバイスか否か判定する。制御可能ではないと判定すると、ステップS833に進んでスマートフォン210とDVDプレーヤ240との間のUSB接続を切断する。
 USB接続を切断後、スマートフォン210は、クラウドサーバ230に対して、DVDプレーヤ240の制御を依頼する。クラウドサーバ230は、その制御依頼に応じて、USB制御を開始すると共にリセット信号を、スマートフォン210を介してDVDプレーヤ240に送信する(S835)そして続けてセットアドレスを行ない(S836)、アドレスをDVDプレーヤ240に指定する。さらに、GET DESCRIPTOR(S837)で、スマートフォン210に対して、ディスクリプタを要求すると、スマートフォン210は、その要求をDVDプレーヤ240に中継する代わりに、デバイスディスクリプタをキャッシュから読出して(S839)、クラウドサーバ230に返す(S840)。
 さらに、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してGET CONFIGURATIONを実行すると(S841)、スマートフォン210は、そのコマンドをDVDプレーヤ240に送信する代わりに、キャッシュに記憶されたコンフィギュレーションディスクリプタを読み出し、クラウドサーバ230に送信する(S843)。次に、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してBULK TRANSFERを行なうと(S844)、DVDプレーヤ240は、DVDに保存されたコンテンツデータを読み出して(S845)、スマートフォン210を介してクラウドサーバ230に送信する。
 ステップS409において、コンフィギュレーションディスクリプタに基づいて、制御可能なデバイスであると判定すると(B)、図8CのステップS846に示すBULK TRANSFERに進む。BULK TRANSFERでも、セットアップ・ステージ、データ・ステージ、ステータス・ステージを行なうことにより、DVDプレーヤ240はDVD341からコンテンツデータを読出して、スマートフォン210に送信する(S849)。
 スマートフォン210は、読出されたコンテンツデータを受信すると、キャッシュに保存し(S851)、そのコンテンツデータを再生処理できるアプリケーションがあるか否か判定する(S852)。
 処理できると判定すると、ステップS853に進み、クラウドサーバ230にアクセスせずに処理を継続する。つまり、この場合、DVDプレーヤ240のコンテンツデータは、そのままスマートフォン210で再生できる。
 一方、スマートフォン210が、DVDプレーヤ240のコンテンツデータを処理できるアプリケーションを有していない場合、ステップS854に進んでUSB接続の切断処理を行ない、さらに、図8DのステップS856に進む。
 図8DのステップS856では、やはりクラウドサーバ230に対してUSBデバイス制御の依頼を行なう。スマートフォン210は、クラウドサーバ230に対して、DVDプレーヤ240の制御を依頼する。クラウドサーバ230は、その制御依頼に応じて、USB制御を開始すると共にリセット信号を、スマートフォン210を介してDVDプレーヤ240に送信する(S857)そして続けてセットアドレスを行ない(S859)、アドレスをDVDプレーヤ240に指定する。さらに、GET DESCRIPTOR(S861)で、スマートフォン210に対して、ディスクリプタを要求すると、スマートフォン210は、その要求をDVDプレーヤ240に中継する代わりに、デバイスディスクリプタをキャッシュから読出して(S863)、クラウドサーバ230に返す。
 さらに、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してGET CONFIGURATIONを実行すると(S865)、スマートフォン210は、そのコマンドを中継する代わりに、キャッシュに保存されたコンフィギュレーションディスクリプタを読出して、スマートフォン210を中継してクラウドサーバ230に送信する(S867)。
 次に、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してBULK TRANSFERを行なうと(S869)、スマートフォン210は、キャッシュに保存された入力データを読み出して(S871)、クラウドサーバ230に送信する。
 以上のシーケンスにより、スマートフォン210のキャッシュをうまく使って、クラウドサーバ230とDVDプレーヤ240との通信を効率的に行なうことが可能となる。
 (スマートフォンのハードウェア構成)
 スマートフォン210の内部構成について、図9を用いて説明する。スマートフォン210は、CPU(Central Processing Unit)910、ROM(Read Only Memory)920、無線通信部316、RAM(Random Access Memory)940、ストレージ950、および入出力インタフェース960を備えている。
 CPU910は中央処理部であって、様々なプログラムを実行することによりスマートフォン210全体を制御する。ROM920は、リードオンリメモリであり、CPU910が最初に実行すべきブートプログラムの他、各種パラメータ等を記憶している。また、RAM940は、接続検知結果941と、デバイス判定結果942と、ファイルシステム判定結果943と、データ形式判定結果944と、取得コンテンツデータ945と、変換済コンテンツデータ946とを記憶する。
 また、無線通信部316は、クラウドサーバ230とのネットワークを介した通信を制御する。
 RAM940は、接続検知結果941、デバイス判定結果942、ファイルシステム判定結果943、データ形式判定結果944を一時記憶する。接続検知結果941は、接続検知部311において検知した、接続されたデバイスの検知結果である。デバイス判定結果942は、検知した接続デバイスがどのようなデバイスであるか判定した結果である。ファイルシステム判定結果943は、自機において取得したDVDプレーヤ240に記憶されたデータのファイルシステムを自機で取得可能か否か判定した結果である。データ形式判定結果944は、DVDプレーヤ240に記憶されたデータのデータ形式を自機で処理能か否か判定した結果である。
 また、RAM940は、取得コンテンツデータ945および変換済コンテンツデータ946を一時記憶している。取得コンテンツデータ945は、DVDプレーヤ240などの入力デバイスから取得したコンテンツデータであって、クラウドサーバ230に送信するためのものである。変換済コンテンツデータ946は、クラウドサーバ230において変換したコンテンツデータであり、スマートフォン210にて再生するためのものである。
 一方、ストレージ950は、スマートフォンの処理能力を示す処理能力データベース951を記憶している。このデータベースを参照することにより、スマートフォン210が自機で処理できるコンテンツデータか否かを判定できる。さらにストレージ950は、デバイス判定モジュール953と、ファイルシステム判定モジュール954と、データ形式判定モジュール955と、データ中継モジュール956と、ユーザインタフェース表示モジュール957と、データ処理アプリケーション959とを記憶する。
 デバイス判定モジュール953は、CPU910に実行されることにより、デバイス判定部312として機能する。また、ファイルシステム判定モジュール954は、CPU910に実行されることにより、ファイルシステム判定部313として機能する。
 データ形式判定モジュール955は、CPU910に実行されることにより、データ形式判定部314として機能する。さらにデータ中継モジュール956は、CPU910に実行されることにより、無線通信部316と共に機能して、クラウドサーバ230と入力デバイスとの間のデータのやりとりを中継する。具体的には、USBoverIPのカプセリングおよびアンカプセリングを行なう。ユーザインタフェース表示モジュール957は、CPU910に実行されることにより、図6で示したようなダイアログを、スマートフォン210の表示部321に表示する。
 入出力インタフェース960は、入出力機器との入出力データを中継する。入出力インタフェース960には、スマートフォン210に内蔵された表示部321、タッチパネル962、スピーカ964、マイク965、カメラ966が接続される。さらに、スマートフォン210は、外部デバイスを接続可能なUSBインタフェース319を備えている。
 以上の構成および動作により、本実施形態に係る情報処理システムによれば、スマートフォンに接続された、ドライバをプリインストールしていない入力デバイスを制御することができる。
 [他の実施形態]
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
 また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。
 この出願は、2012年3月24日に出願された日本出願特願2012-068515を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (17)

  1.  通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する判定手段と、
     前記判定手段により、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求手段と、
     前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御手段と、
     を備えた携帯電話機と、
      前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御するサーバと、
     を備えた情報処理システム。
  2.  前記判定手段は、さらに、前記入力デバイスの提供するデータを自機で処理できるか否かを判定し、
     前記要求手段は、前記判定手段が、前記入力デバイスの提供するデータを自機で処理できないと判定した場合に、さらに、前記サーバに対して前記入力デバイスの提供するデータの処理をリクエストし、
     前記信号転送制御手段は、さらに、前記入力デバイスの提供するデータを前記サーバが処理できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスから前記サーバへのデータ転送を制御し、
     前記サーバは、前記要求手段からのリクエストに応答して、前記入力デバイスと前記サーバとの間に確立された通信により前記入力デバイスの提供するデータを取得して処理する請求項1に記載の情報処理システム。
  3.  前記サーバは、
      前記入力デバイスの提供するデータを取得するデータ取得手段と、
      前記データ取得手段で取得したデータを前記携帯電話機で処理可能なデータに変換する変換手段と、
      前記変換手段で変換された前記携帯電話機で処理可能なデータを、前記無線通信ネットワークを介して前記携帯電話機に送信する送信手段と、
     を備え、
     前記携帯電話機は、
      前記携帯電話機で処理可能なデータを受信する受信手段をさらに備えた請求項1または2に記載の情報処理システム。
  4.  前記サーバは、
     前記入力デバイスの種類と、前記入力デバイスから入力したデータの出力先を問い合わせる問い合わせメッセージとの対応関係を記憶するメッセージテーブルをさらに備え、
     前記携帯電話機に接続された前記入力デバイスに対応する前記問い合わせメッセージを前記テーブルから読み出して、前記携帯電話機に表示させる請求項1、2または3に記載の情報処理システム。
  5.  前記サーバは、
     前記入力デバイスの種類と、前記入力デバイスから取得したデータに対して施すことのできる処理の候補との対応関係を記憶する処理候補テーブルをさらに備え、
     前記携帯電話機に接続された前記入力デバイスに対応する処理の候補を前記処理候補テーブルから読み出して、前記携帯電話機に選択可能に表示させる請求項1乃至4のいずれか1項に記載の情報処理システム。
  6.  通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
     前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
     前記要求ステップのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御ステップと、
     前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
     を含む情報処理方法。
  7.  通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定手段と、
     前記判定手段により、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求手段と、
     前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御手段と、
     を備えた携帯電話機。
  8.  前記判定手段は、さらに、前記入力デバイスの提供するデータを自機で処理できるか否かを判定し、
     前記要求手段は、前記判定手段が、前記入力デバイスの提供するデータを自機で処理できないと判定した場合に、さらに、前記サーバに対して前記入力デバイスの提供するデータの処理をリクエストし、
     前記信号転送制御手段は、さらに、前記入力デバイスの提供するデータを前記サーバが処理できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスから前記サーバへのデータ転送を制御する請求項7に記載の携帯電話機。
  9.  前記入力デバイスの提供するデータを取得して、前記携帯電話機で処理可能なデータに変換する変換手段と、
     前記変換手段で変換された前記携帯電話機で処理可能なデータを、前記無線通信ネットワークを介して前記携帯電話機に送信する送信手段と、
     を備えた前記サーバから前記データを、無線通信ネットワークを介して受信する受信手段を備える請求項7または8に記載の携帯電話機。
  10.  通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
     前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
     前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
     を含む携帯電話機の制御方法。
  11.  通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
     前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
     前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
     をコンピュータに実行させる携帯電話機の制御プログラム。
  12.  請求項1乃至5のいずれか1項に記載の情報処理システムに含まれるサーバであって、前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御手段を備えたサーバ。
  13.  前記要求手段からのリクエストに応答して、前記入力デバイスと前記サーバとの間に確立された通信により前記入力デバイスの提供するデータを取得して処理する処理手段
     をさらに備えた請求項12に記載のサーバ。
  14.  前記入力デバイスの種類と、前記入力デバイスから取得したデータに対して施すことのできる処理の候補との対応関係を記憶する処理候補テーブルと、
     前記携帯電話機に接続された前記入力デバイスに対応する処理の候補を前記処理候補テーブルから読み出して、前記携帯電話機に選択可能に表示させる手段と、
     をさらに備えた請求項12または13に記載のサーバ。
  15.  前記信号転送制御手段は、前記入力デバイスから取得した前記データが、あらかじめ定められた量に達すると、前記データを前記サーバに転送し、
     転送された前記データを受け付けて、前記入力デバイスの制御を開始する請求項12乃至14のいずれか1項に記載のサーバ。
  16.  請求項1乃至5のいずれか1項に記載の情報処理システムに含まれるサーバの制御方法であって、
     前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御するサーバの制御方法。
  17.  請求項1乃至5のいずれか1項に記載の情報処理システムに含まれるサーバの制御プログラムであって、前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御ステップ
     をコンピュータに実行させるサーバの制御プログラム。
PCT/JP2013/057637 2012-03-24 2013-03-18 情報処理システム、情報処理方法、および携帯電話機、サーバ、それらの制御方法ならびに制御プログラム WO2013146413A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU2013238104A AU2013238104B2 (en) 2012-03-24 2013-03-18 Information processing system, information processing method, mobile phone, server, and control methods and control programs thereof
CN201380016260.1A CN104205793A (zh) 2012-03-24 2013-03-18 信息处理系统、信息处理方法、移动电话、服务器及其控制方法和控制程序
EP13769068.1A EP2830301A4 (en) 2012-03-24 2013-03-18 INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING AND MOBILE PHONE, SERVER AND CONTROL METHOD AND CONTROL PROGRAM THEREFOR
US14/387,712 US9571954B2 (en) 2012-03-24 2013-03-18 Information processing system, information processing method, mobile phone, server, and control methods and control programs thereof
CA2867570A CA2867570A1 (en) 2012-03-24 2013-03-18 Information processing system, information processing method, mobile phone, server, and control methods and control programs thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-068515 2012-03-24
JP2012068515A JP5970897B2 (ja) 2012-03-24 2012-03-24 情報処理システム、情報処理方法、および携帯端末、サーバ、それらの制御方法ならびに制御プログラム

Publications (1)

Publication Number Publication Date
WO2013146413A1 true WO2013146413A1 (ja) 2013-10-03

Family

ID=49259674

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/057637 WO2013146413A1 (ja) 2012-03-24 2013-03-18 情報処理システム、情報処理方法、および携帯電話機、サーバ、それらの制御方法ならびに制御プログラム

Country Status (7)

Country Link
US (1) US9571954B2 (ja)
EP (1) EP2830301A4 (ja)
JP (1) JP5970897B2 (ja)
CN (1) CN104205793A (ja)
AU (2) AU2013238104B2 (ja)
CA (1) CA2867570A1 (ja)
WO (1) WO2013146413A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250681A (ja) * 2012-05-30 2013-12-12 Nec Corp 情報処理装置、および携帯通信端末、それらの制御方法ならびに制御プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6155555B2 (ja) * 2012-05-30 2017-07-05 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置、携帯端末およびその制御方法と制御プログラム
CN105159848B (zh) * 2015-07-07 2018-06-22 江苏惠通集团有限责任公司 Usb设备控制方法、装置和系统
US9973638B2 (en) 2016-01-26 2018-05-15 Qsc, Llc Peripheral bus video communication using internet protocol
CN108234564A (zh) * 2016-12-21 2018-06-29 天脉聚源(北京)科技有限公司 一种云存储上传优化的方法和系统
US10496590B2 (en) * 2017-01-23 2019-12-03 Wyse Technology L.L.C. Enabling redirection policies to be applied based on the windows class of a USB device
US11196799B2 (en) * 2020-02-03 2021-12-07 Dell Products L.P. Redirection of USB devices from hardware isolated virtual desktop infrastructure clients

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0621944A (ja) * 1992-04-20 1994-01-28 3 Com Corp ネットワーク資源を遠隔のネットワークに拡張するシステム
JP2007102308A (ja) 2005-09-30 2007-04-19 Toshiba Corp シンクライアントサーバシステム
JP2008065774A (ja) * 2006-09-11 2008-03-21 Toshiba Corp 情報処理装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2365599A (en) 2000-03-27 2002-02-20 Ibm System method and program for enabling communication between a client and a device with a remote server hosted device driver
JP2002199043A (ja) 2000-12-27 2002-07-12 Nec Corp 情報処理装置および電子機器制御システム
JP4359004B2 (ja) 2001-03-19 2009-11-04 株式会社日立製作所 遠隔操作システムおよび遠隔操作方法および遠隔操作アダプタおよびサービス機器
US20020191206A1 (en) 2001-06-18 2002-12-19 Anderson Jeff M. Rendering broker service and method
US20030137689A1 (en) 2002-01-18 2003-07-24 General Instrument Corporation. Remote printer driver server
US20030220988A1 (en) * 2002-05-22 2003-11-27 Hymel James A. Method and electronic device for establishing an interface to control an accessory device
JP4455170B2 (ja) 2004-05-31 2010-04-21 株式会社東芝 ネットワーク家電制御システム
JP4367929B2 (ja) 2004-08-27 2009-11-18 キヤノン株式会社 携帯電話及び印刷システムとその制御方法
JP4377786B2 (ja) 2004-09-22 2009-12-02 パナソニック株式会社 電化機器、サーバ装置、携帯端末、通信システム、通信方法、及びプログラム
JP2006129468A (ja) 2004-09-30 2006-05-18 Matsushita Electric Ind Co Ltd コンテンツ変換装置、および再生クライアント装置
KR100594122B1 (ko) 2004-11-18 2006-06-28 삼성전자주식회사 무선 인터넷 서비스 제공 시스템 및 방법
JP2008065546A (ja) 2006-09-06 2008-03-21 Sony Computer Entertainment Inc データ転送システム、データ転送装置、ファイル形式変換装置、およびデータ転送方法
CN201114316Y (zh) 2007-04-28 2008-09-10 海尔集团公司 电话控制装置及电话控制系统
US10091345B2 (en) * 2007-09-04 2018-10-02 Apple Inc. Media out interface
US8547575B2 (en) 2010-03-09 2013-10-01 Ricoh Company, Ltd Printer discovery within a web page
JP5503821B2 (ja) 2010-04-14 2014-05-28 Kddi株式会社 表示システム、表示方法およびプログラム
KR101709483B1 (ko) 2010-06-17 2017-02-23 엘지전자 주식회사 가전기기 및 그 동작방법
US9022279B2 (en) * 2010-06-15 2015-05-05 Apple Inc. Method and system for locating an accessory and an application for use with a user device
JP5945916B2 (ja) 2012-03-02 2016-07-05 日本電気株式会社 情報処理システム、情報処理方法、携帯端末、サーバ、それらの制御方法および制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0621944A (ja) * 1992-04-20 1994-01-28 3 Com Corp ネットワーク資源を遠隔のネットワークに拡張するシステム
JP2007102308A (ja) 2005-09-30 2007-04-19 Toshiba Corp シンクライアントサーバシステム
JP2008065774A (ja) * 2006-09-11 2008-03-21 Toshiba Corp 情報処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2830301A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250681A (ja) * 2012-05-30 2013-12-12 Nec Corp 情報処理装置、および携帯通信端末、それらの制御方法ならびに制御プログラム

Also Published As

Publication number Publication date
JP5970897B2 (ja) 2016-08-17
EP2830301A1 (en) 2015-01-28
CA2867570A1 (en) 2013-10-03
AU2013238104B2 (en) 2015-07-09
EP2830301A4 (en) 2015-12-23
US20150056978A1 (en) 2015-02-26
CN104205793A (zh) 2014-12-10
AU2013238104A1 (en) 2014-10-23
US9571954B2 (en) 2017-02-14
AU2015238797A1 (en) 2015-10-29
JP2013201591A (ja) 2013-10-03

Similar Documents

Publication Publication Date Title
JP5970897B2 (ja) 情報処理システム、情報処理方法、および携帯端末、サーバ、それらの制御方法ならびに制御プログラム
US9887742B2 (en) Communication device
JP5945916B2 (ja) 情報処理システム、情報処理方法、携帯端末、サーバ、それらの制御方法および制御プログラム
US8732319B2 (en) Context awareness proximity-based establishment of wireless communication connection
EP2466480B1 (en) Dongle and method for operating external input means, and external input system with the dongle
EP1916830A1 (en) Method of controlling printer using bluetooth function of mobile terminal
US9661667B2 (en) Communication device
KR102441850B1 (ko) 서비스 처리 방법 및 이동 통신 단말
JP2014225227A (ja) 通信装置、通信制御方法、及びプログラム
JPWO2010110192A1 (ja) 中継装置、中継方法、及び中継装置制御プログラム
JP2010109930A (ja) ハンズフリー装置
TW487807B (en) Data supply method, mobile communication network and mobile communication terminal
JP2005135346A (ja) 情報処理方法、情報処理装置、及び情報処理システム
CN101383777B (zh) 一种连接蓝牙设备与闪联设备的装置和方法
JP2017046143A (ja) 通信システム、携帯通信端末、ゲートウェイ、および、通信方法
JP6352838B2 (ja) 無線通信装置
JP2014049077A (ja) 情報交換システム、端末、スタイラスペン
CN111464962B (zh) 设备连接方法、第一电子设备及运营商设备
JP5762984B2 (ja) データ送受信装置
JP2013062670A (ja) 通信中継装置および通信中継装置を制御するためのプログラム
JP2015220587A (ja) 無線通信システムおよびその通信方法、並びにプログラム
JP2005223635A (ja) 移動機、通信システム及び通信制御方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2867570

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 14387712

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2013769068

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013769068

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2013238104

Country of ref document: AU

Date of ref document: 20130318

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE