This application is a national stage application of International Application No. PCT/JP2013/064235 entitled “INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, INFORMATION PROCESSING APPARATUS, PORTABLE TERMINAL, AND CONTROL METHOD AND CONTROL PROGRAM THEREOF,” filed on May 22, 2013, which claims the benefit of the priority of Japanese Patent Application No. 2012-123803, filed on May 30, 2012, the disclosures of each of which are hereby incorporated by reference in their entirety.
The present invention relates to a technique of supporting popularization of ICT (Information and Communications Technology) education in the field of education.
In the above technical field, patent literature 1 discloses a technique of distributing data of the same contents to a number of students via portable telephones in the field of education. In addition, patent literature 2 discloses a technique of controlling a USB device from a server by connecting the USB device to a thin client in a thin client-server system.
Patent literature 1: Japanese Patent Laid-Open No. 2002-010360
Patent literature 2: Japanese Patent Laid-Open No. 2010-218347
In the techniques described in the above literatures, however, in the field of education, it is impossible to support to provide hardware resources for implementing ICT education. For example, an enormous load and time are required to replenish a lack of IT devices or recover failed IT devices.
The present invention enables to provide a technique of solving the above-described problem.
One aspect of the present invention provides an information processing apparatus comprising:
a device information receiver that receives, from the portable terminal via a network, device information for identifying a device connected to a portable terminal;
an education application selector that selects, based on the device information received by the device information receiver, an education application to be provided to the device; and
an education application provider that provides the education application to the device via the network and the portable terminal.
Another aspect of the present invention provides a control method for an information processing apparatus, comprising:
receiving, from the portable terminal via a network, device information for identifying a device connected to a portable terminal;
selecting, based on the device information received in the receiving, an education application to be provided to the device; and
providing the education application to the device via the network and the portable terminal.
Yet another aspect of the present invention provides a control program of an information processing apparatus for causing a computer to execute a method, comprising:
receiving, from the portable terminal via a network, device information for identifying a device connected to a portable terminal;
selecting, based on the device information received in the receiving, an education application to be provided to the device; and
providing the education application to the device via the network and the portable terminal.
Yet another aspect of the present invention provides a portable terminal comprising:
a device connector;
a device information transmitter that transmits, to an information processing apparatus, device information for identifying a device connected to the device connector; and
a device control relay unit that relays control of the device by the information processing apparatus based on the device information.
Yet another aspect of the present invention provides a control method for a portable terminal including a device connector, comprising:
transmitting, to an information processing apparatus, device information for identifying a device connected to the device connector; and
relaying control of the device by the information processing apparatus based on the device information.
Yet another aspect of the present invention provides a control program of a portable terminal including a device connector for causing a computer to execute a method, comprising:
transmitting, to an information processing apparatus, device information for identifying a device connected to the device connector; and
relaying control of the device by the information processing apparatus based on the device information.
Still other aspect of the present invention provides an information processing system including a portable terminal with a device connector, a device connectable to the device connector, and an information processing apparatus connected to the portable terminal via a network,
the portable terminal comprising:
the information processing apparatus comprising:
Still other aspect of the present invention provides an information processing method of an information processing system including a portable terminal with a device connector, a device connectable to the device connector, and an information processing apparatus connected to the portable terminal via a network, the method comprising:
transmitting device information for identifying the device connected to the device connector from the portable terminal to the information processing apparatus;
selecting, based on the device information, an education application to be provided to the device;
providing the education application to the device via the network and the portable terminal; and
relaying, by the portable terminal, control of the device performed by the information processing apparatus based on the device information.
According to the present invention, it is possible to readily provide hardware resources for implementing ICT education in the field of education.
Preferred embodiments of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
An information processing apparatus 100 according to the first embodiment of the present invention will be described with reference to
As shown in
According to this embodiment, an education application is provided from a cloud server to a device by only connecting the device to a portable terminal. It is, therefore, possible to readily support to provide hardware resources for implementing ICT education in the field of education.
An information processing system according to the second embodiment of the present invention will be described. Note that in this embodiment, a cloud server will be used as an example of a server in the following description. The information processing system according to this embodiment readily replenishes a lack of hardware resources or readily recovers device failures in the field of education of ICT education by connecting the device to the cloud server as an information processing apparatus via a portable terminal.
According to this embodiment, a cloud server controls a device by only connecting the device to the cloud server via a portable terminal. Therefore, it is possible to readily implement ICT education while suppressing the load in the field of education.
<<Information Processing System>>
The operation of an information processing system 200 according to this embodiment will be explained with reference to
(Concept of Operation)
In the left view, the education group 230-1 indicates a status at the start of the education application. In the education group 230-1, assuming that the PC of a teacher is not operating properly, a keyboard and pointing device are connected to a portable terminal 221 via a USB cable and a USB router, thereby substituting the portable terminal 221 for the PC of the teacher. The portable terminal 221 only serves as a display, and the cloud server 210 processes operations by the keyboard and pointing device, and the like. On the other hand, the displays of two of the PCs of students are respectively connected to portable terminals 222 and 223 via USB cables, thereby executing screen display by the cloud server 210. With this arrangement, it is possible to prevent ICT education from being stopped due to the lack of a device in the field of education by alternatively executing control from the cloud server 210 via a portable terminal. Note that although not shown in
In the central view, the education group 230-2 indicates a state in which an operation has been interrupted due to a failure of one PC marked with X. As shown in the left view, since the education application starts after the necessary display devices are prepared, there is no preliminary PC for the failed PC. In this case, as indicated by the education group 230-3 in the right view, the display of the failed PC is connected to a portable terminal 224 (a portable telephone in
(System Configuration)
Referring to
As shown in
The cloud server 210 as an information processing apparatus includes a program selector 211, a device controller 212, a device database (to be referred to as a DB hereinafter) 213, an education application DB 214, and a device driver DB 215. Based on pieces of information from PCs and portable terminals each connected to a device, the program selector 211 selects the same education application if the PCs and the portable terminals belong to the same education group. If the cloud server 210 is connected to each device via the corresponding portable terminal, the program selector 211 also selects a device driver program for driving the device so as to be able to provide the education application to the device. The education application is selected by referring to the education application DB 214 (see
The device controller 212 provides the education application selected according to the education group to each PC, and also provides the selected application to each device via the corresponding portable terminal by executing the selected device driver program.
(Operation Procedure)
In step S301, the PC 240 establishes communication with the cloud server 210 via the network, and transmits computer information. In step S303, the cloud server 210 receives the computer information, and specifies the PC with which communication has been established. In step S305, based on the ID and the position information of the PC, the cloud server 210 determines an education group to which the PC belongs, and selects an education application to be provided. Referring to
In step S311, the device 230 is USB-connected to the portable terminal 220. In step S313, the portable terminal 220 reads out descriptors from the device 230 by a general-purpose USB driver. In step S315, the portable terminal 220 transmits the readout descriptors to the cloud server 210. In step S317, the cloud server 210 specifies the connected device based on the descriptors by referring to the device DB 213. In step S319, the cloud server 210 determines a belonging education group based on the ID of the device, the position information of the portable terminal 220, and the like by referring to the education application DB 214, thereby selecting an education application to be provided. In step S321, the cloud server 210 selects and activates a device driver based on the specified device and the selected education application by referring to the device driver DB 215.
When the device 230 is connected to another portable terminal 220, the following procedure is executed, similarly to steps S311 to S321. In step S331, the device 230 is USB-connected to the portable terminal 220. In step S333, the portable terminal 220 reads out descriptors from the device 230 by a general-purpose USB driver. In step S335, the portable terminal 220 transmits the readout descriptors to the cloud server 210. In step S337, the cloud server 210 specifies the connected device based on the descriptors by referring to the device DB 213. In step S339, the cloud server 210 determines a belonging education group based on the ID of the device, the position information of the portable terminal 220, and the like by referring to the education application DB 214, thereby selecting an education application to be provided. In step S341, the cloud server 210 selects and activates a device driver based on the specified device and the selected education application by referring to the device driver DB 215. The position information of the portable terminal 220 includes, for example, the position and number of a classroom. Furthermore, in step S339, the cloud server 210 may determine a belonging education group based on timetable information, the position information of the portable terminal 220, and the like by referring to the education application DB 214, thereby selecting an education application to be provided.
In the example shown in
Assume that one of the PCs 240 cannot operate due to a failure while providing the education application. In step S361, a new device or a device which was connected to the failed PC 240 is USB-connected to the portable terminal 224. In step S363, the portable terminal 224 reads out descriptors from the device by a general-purpose USB driver. In step S365, the portable terminal 220 transmits the descriptors to the cloud server 210. In step S367, the cloud server 210 specifies the connected device based on the descriptors by referring to the device DB 213. In step S369, the cloud server 210 determines a belonging education group based on the ID of the device, the position information of the portable terminal 220, and the like by referring to the education application DB 214 thereby selecting an education application to be provided. In step S371, the cloud server 210 selects and activates a device driver based on the specified device and the selected education application by referring to the device driver DB 215.
Since the cloud server 210 determines that the device connected to the portable terminal 224 belongs to the same education group, in step S373 the cloud server 210 adds the device as a providing destination of the education application activated in step S351. In steps S353 and S355, the education application continues without being interrupted, the shared screen is provided to the device via the portable terminal 224, and the cloud server 210 responds to an input from the device, as needed.
(USB Device Control Procedure)
The descriptors set in the device 230 are acquired by a USB request such as GET_DESCRIPTOR. Each USB request is exchanged with the device 230 by control transfer. Each control transfer is formed from a set stage, a data stage, and a status stage. Each stage is formed from a token packet, a data packet, and a handshake packet. A descriptor is acquired by the data packet of each data stage.
The descriptors acquired from the device 230 are IP-encapsulated by an IP header or TCP header, and transmitted from the portable terminal 220 to the cloud server 210.
In the procedure 330 of outputting data to the device 230, first, IP-encapsulated output data is transmitted from the cloud server 210 to the portable terminal 220. Next, the portable terminal 220 transfers data acquired by decapsulation to the device 230 by bulk transfer (OUT). Each bulk transfer (OUT) is formed from a token packet, a data packet, and a handshake packet.
In the procedure 340 of inputting data from the device 230, first, the portable terminal 220 acquires input data from the device 230 by bulk transfer (IN). Each bulk transfer (IN) is formed from a token packet, a data packet, and a handshake packet. Next, IP-encapsulated input data is transmitted from the portable terminal 220 to the cloud server 210.
(Non-USB Device Control Procedure)
In
In step S311, the device 23n is connected to the portable terminal 220 via an RS232C cable and a USB cable. From step S383, the portable terminal 220 attempts to acquire the descriptors of the device 23n by activating a general-purpose USB driver. However, in step S387, a timeout occurs without acquiring the descriptors.
Upon detecting the timeout, the portable terminal 220 stops processing of the general-purpose USB driver in step S389. In step S391, the portable terminal 220 requests the cloud server 210 to control the connected device 23n.
Upon receiving the device control request, the cloud server 210 sequentially operates drivers capable of operating the connected device 23n and determines the connected device 23n in step S393. More specifically, first, in step S395, the cloud server 210 activates a set of drivers. In step S397, the cloud server 210 accesses the device 23n by the activated drivers. In step S399, the cloud server 210 determines whether the device 23n is controllable. Upon determining that the device 23n is controllable, the cloud server 210 acquires the device information by the drivers in step S401. The drivers include a driver that implements conversion between RS232C and USB in addition to the drivers capable of driving the device.
When the device information is acquired, the cloud server 210 specifies the device 23n by referring to the device DB 213 in step S317. From then on, the same processing as in
<<Functional Arrangement of Cloud Server>>
The cloud server 210 includes a communication controller 401 that communicates with the portable terminal 220 via the network 260. From a message received by the communication controller 401 from the portable terminal 220, a descriptor receiver 402 receives descriptors acquired from the device 230 connected to the portable terminal 220. A device determiner 403 specifies the device 230 connected to the portable terminal 220 by referring to the device DB 213 (see
The program selector 211 has an education application selection table 211a (see
The device controller 212 includes an education application executor 407 for executing the application selected by the program selector 211. The education application executor 407 generates a shared screen to be transmitted to the portable terminal 220, and transfers the shared screen to a screen transmitter 408. The screen transmitter 408 transmits the shared screen to the portable terminal 220. On the other hand, an operation instruction receiver 409 received an operation instruction that has been input by the user and transmitted by the portable terminal 220. The operation instruction receiver 409 transfers the received operation instruction to the education application executor 407. The education application executor 407 outputs, to a USB device driver executor 410, an instruction to drive the device 230 so as to perform the operation of the device 230 according to the operation instruction.
The device controller 212 also includes the USB device driver executor 410 that executes the device driver selected by the program selector 211. The USB device driver executor 410 generates a USB packet for the device connected to a USB connector via the portable terminal 220, and transfers the USB packet to a USB packet encapsulator 411. The USB packet encapsulator 411 IP-encapsulates the USB packet, and transmits it to the portable terminal 220. On the other hand, a USB packet decapsulator 412 receives an IP-encapsulated message transmitted from the portable terminal 220, and decapsulates the message to extract a USB packet. The USB packet encapsulator 411 transfers the USB packet to the education application executor 407. The USB device driver executor 410 analyzes the received USB packet, and generates a new USB packet to respond to the device or reports the status of the device 230 to the education application executor 407.
Note that the device controller 212 is desirably formed from one virtual PC so that a plurality of PCs and devices respectively connected to portable terminals share a screen. For the sake of simplicity,
<<Functional Arrangement of Portable Terminal>>
The portable terminal 220 according to this embodiment includes a communication controller 503 for controlling communication with the cloud server 210 via the network. The portable terminal 220 also includes an operator 501 formed from a touch panel, a keyboard, and the like, and an input/output unit 505. The input/output unit 505 includes a display unit 506 that displays a shared screen received by a screen receiver 504 from the cloud server 210, and a voice input/output unit 507 that inputs/outputs a voice.
The portable terminal 220 also includes an education group information acquirer 508 that acquires education group information of a device connected to a USB connector 510. An education group information transmitter 509 transmits the education group information acquired by the education group information acquirer 508 to the cloud server 210. Note that the education group information acquirer 508 may be provided in the operator 501. Alternatively, the education group information acquirer 508 may be a camera, a microphone, or a position generator using a GPS (Global Positioning System).
Furthermore, the portable terminal 220 includes the USB connector 510 serving as a device connector for connecting a USB device. The portable terminal 220 includes a general-purpose USB driver executor 511 used to acquire the descriptors of the device 230 connected to the USB connector 510. In addition, the portable terminal 220 includes a descriptor acquirer 512 that acquires the descriptors of the device 230 from a USB packet acquired by the general-purpose USB driver executor 511. The portable terminal 220 includes a descriptor transmitter 513 serving as a device information transmitter that transmits the descriptors of the device 230 acquired by the descriptor acquirer 512 to the cloud server 210.
The portable terminal 220 includes a decapsulator 514 and an encapsulator 515 that are used to exchange, via the general-purpose USB driver executor 511, a USB packet between the cloud server 210 and the device 230 connected to the USB connector 510. The decapsulator 514 decapsulates an IP message from the cloud server 210. The encapsulator 515 IP-encapsulates data to the cloud server 210. The general-purpose USB driver executor 511, decapsulator 514, and encapsulator 515 form a device control relay unit.
(Device DB)
The device DB 213 stores a device ID 612, a device model 613, a device version 614, and a device capability 615 in association with a device descriptor 611. The device descriptor 611 includes a device class, device subclass, vendor ID, product ID, and serial number.
(Device Descriptor)
For example, a field at offset “4” indicates the device class, a field at offset “5” indicates the device subclass, a field at offset “8” indicates the vendor ID, a field at offset “10” indicates the product ID, and a field at offset “16” indicates the serial number. Based on the pieces of information, each device 230 connected to a USB connector is uniquely specified. Note that the device descriptor 611 is stored in advance in the reserved endpoint 0 area.
(Education Application DB)
The education application DB 214 stores education application contents 702 in association with an education application ID 701. The education application DB 214 also stores, in association with the education application ID 701, a first education group 703, a second education group 704, . . . , an nth education group 705 that use the education application. As information of each education group, the ID of the education group, a position range (for example, a classroom), a time period, and the like are stored.
(Device Driver DB)
The device driver DB 215 stores an education application ID 803 used by an education group to which a device belongs in association with a device ID 801 and device information 802. The device driver DB 215 stores a use driver 804 appropriate for each set of the device ID 801 and education application ID 803.
<<Hardware Arrangement of Cloud Server>>
In
A RAM (Random Access Memory) 940 is a random access memory used as a work area by the CPU 910 to temporarily store data. In the RAM 940, an area for storing data necessary for implementing this embodiment is reserved. User ID/user authentication information 941 includes the identifier and authentication information of the user who currently performs communication. Terminal ID/terminal authentication information 942 includes the identifier and authentication information of a portable terminal that currently performs communication. A descriptor 943 is a device descriptor acquired by the portable terminal from a device connected to the portable terminal and transmitted to the cloud server 210. Device information 944 is information for identifying the device by referring to the device DB 213 based on the descriptor 943. Education group information 945 is information about an education group to which the device or portable terminal belongs, that has been received from the portable terminal. The education application selection table 211a is a table used to select, based on the device information 944 and education group information 945, an education application to be provided. The device driver selection table 211b is a table used to select, based on the device information 944 and the selected education application, a device driver to be used. A shared screen 946 is data of a shared screen to be displayed on the display screen of the PC or a display screen connected to the portable terminal. A USB packet (input/output) 947 is packet data to be exchanged with the USB device via the portable terminal. Transmission/reception data 948 is IP-encapsulated data to be transmitted/received to/from the portable terminal via the communication controller 401.
A storage 950 stores databases and various parameters, or the following data or programs necessary for implementing this embodiment. The device DB 213 is the database shown in
The storage 950 stores the following programs. A cloud server control program 951 is a program for controlling the cloud server 210 as a whole. A device determination module 952 is a module that specifies a device connected to a portable terminal based on the descriptors of the device in the cloud server control program 951. An education application selection module 953 is a module that selects an education application to be provided to a PC and the device connected to the portable terminal by referring to the education application DB 214 in the cloud server control program 951. A device driver selection module 954 is a module that selects a device driver for driving the device connected to the portable terminal by referring to the device driver DB 215 in the cloud server control program 951. An education application 955 is a program selected by the education application selection module 953. A device driver 956 is a program selected by the device driver selection module 954.
Note that in the RAM 940 and storage 950 of
(Education Application Selection Table)
The education application selection table 211a stores an education group ID 1013 specified based on a device ID 1011, a device position 1012, and the like. The education application selection table 211a stores an education application 1014 to be provided and a current playback position 1015 in association with the education group ID 1013.
(Device Driver Selection Table)
The device driver selection table 211b stores a use driver 1024 and a use parameter 1025 in association with a device ID 1021, device information 1022, a selected education application 1023.
<<Processing Procedure of Cloud Server>>
In step S1111, the cloud server 210 determines whether the descriptors of a connected device have been received from a portable terminal. If the descriptors of a device have not been received, in step S1131 the cloud server 210 determines whether an IP address has been received from a PC. If the descriptors of a device have not been received and no IP address has been received from a PC, in step S1141 the cloud server 210 determines whether to transmit an IP packet to a PC. If the descriptors of a device have not been received, no IP address has been received from a PC, and no IP packet is transmitted to a PC, in step S1151 the cloud server 210 determines whether to transmit a USB packet to a device via a portable terminal.
If the descriptors of a device have been received, the process advances to step S1113, and the cloud server 210 specifies the device (in this embodiment, a general-purpose input/output device for ICT education or a special device such as a microscope or telescope) by referring to the device DB 213. At the same time, the cloud server 210 specifies an education group based on device information, position information, and the like. In step S1115, the cloud server 210 performs education application selection processing based on the device information and education group information. In step S1117, based on the device information and the selected education application, the cloud server 210 selects a device driver to be used.
In step S1119, the cloud server 210 determines whether the education group is an existing group. If the education group is not an existing group, the process advances to step S1121, and the cloud server 210 generates a virtual PC for the new education group (this makes it possible to readily share a screen in the same education group). If the education group is an existing group, the cloud server 210 assigns the device connected to the portable terminal as the input/output device of an already generated virtual PC. In step S1123, the cloud server 210 activates the selected education application and driver. In step S1125, the cloud server 210 transmits a shared screen to a PC and the device connected to the portable terminal, which belong to the same education group.
If an IP address has been received from a PC, the process advances to step S1133, and the cloud server 210 specifies an education group based on the IP address, position information, and the like. In step S1135, the cloud server 210 performs processing of selecting an education application corresponding to the specified education group. The process then advances to step S1119, and the cloud server 210 performs the processing up to step S1125. Note that in this case, the cloud server 210 does not activate the device driver in step S1123. The PC activates the device driver.
If an IP packet is transmitted to a PC, the process advances to step S1143, and the cloud server 210 generates and transmits an IP packet to the PC. In step S1145, the cloud server 210 stands by for a response from the PC. When a response is received from the PC, the process advances to step S1147, and the cloud server 210 processes the IP packet of the received response.
If a USB packet is transmitted to a device, the process advances to step S1153, and the cloud server 210 generates a USB packet to be transmitted. In step S1155, the cloud server 210 IP-encapsulates the USB packet, and transmits it to the device. In step S1157, the cloud server 210 stands by for reception of a response from the device. When a response is received, the process advances to step S1159. In step S1159, the cloud server 210 IP-decapsulates the received data to extract a USB packet. In step S1161, the cloud server 210 processes the extracted USB packet.
<<Hardware Arrangement of Portable Terminal>>
Referring to
A RAM 1240 is a random access memory used as a work area by the CPU 1210 to temporarily store data. In the RAM 1240, an area for storing data necessary for implementing this embodiment is reserved. User ID/user authentication information 1241 includes the identifier and authentication information of the user who currently uses the portable terminal 220. Terminal ID/terminal authentication information 1242 includes the identifier and authentication information of the portable terminal 220. A descriptor 1243 is device information read out from the device connected to the USB connector 510. Education group information 1244 is information about an education group to which the device or portable terminal belongs, that has been acquired by the portable terminal 220. A shared screen 1245 is the display data of a shared screen received from the cloud server 210. An operation instruction 1246 is data of an operation instructed by the user. A device input/output USB packet 1247 is a packet to be input/output to/from the USB device. A server transmission/reception IP packet 1248 is an IP-encapsulated packet to be transmitted/received to/from the cloud server 210 via the communication controller 503. Input/output data 1249 indicates input/output data input/output via an input/output interface 1260.
A storage 1250 stores databases and various parameters, or the following data or programs necessary for implementing this embodiment. Terminal information 1251 is information including the identifier of the portable terminal. The storage 1250 stores the following programs. A portable terminal control program 1252 is a control program for controlling the portable terminal 220 as a whole. A descriptor transfer module 1253 is a module that transfers the descriptors acquired from the device 230 to the cloud server 210 in the portable terminal control program 1252. A device operation instruction module 1254 is a module that instructs the cloud server 210 to operate the device 230. A device input/output data relay module 1255 is a module that relays the input/output of data between the cloud server 210 and the device 230. A general-purpose USB driver 1256 is a program for executing a basic USB protocol such as readout of the descriptors of the device 230.
The input/output interface 1260 interfaces input/output data with the input/output device. The display unit 506 and the operator 501 formed from the touch panel and the like are connected to the input/output interface 1260. The voice input/output unit 507 including a loudspeaker and microphone is also connected to the input/output interface 1260. Furthermore, a GPS position generator 1361, a camera 1362, and the like are connected. The USB connector 510 is also connected.
Note that in the RAM 1240 and storage 1250 of
<<Processing Procedure of Portable Terminal>>
In step S1311, the portable terminal 221 determines whether a device has been connected to the USB connector. If no device has been connected to the USB connector, the portable terminal 221 determines in step S1331 whether an operation screen has been received from the cloud server 210. If no device has been connected to the USB connector and no operation screen has been received, the portable terminal 221 determines in step S1341 whether data destined for a device has been received from the cloud server 210. If no device has been connected to the USB connector, no operation screen has been received, and no data destined for a device has been received, the portable terminal 221 determines in step S1351 whether data has been received from a device.
If a device has been connected to the USB connector, the process advances to step S1313, and the portable terminal 221 activates a general-purpose USB drive. In step S1315, the portable terminal 221 acquires the descriptors of the device. In step S1317, the portable terminal 221 transmits the acquired descriptors to the cloud server 210. In step S1319, the portable terminal 221 stands by for acquisition of education group information. Upon acquiring education group information, the process advances to step S1321, and the portable terminal 221 transmits the acquired education group information to the cloud server 210.
If an operation screen has been received, the process advances to step S1333, and the portable terminal 221 displays the operation screen on the display unit 506. In step S1335, the portable terminal 221 stands by for an operation input by the user. When an operation input is received from the user, the process advances to step S1337, and the portable terminal 221 transmits an operation instruction to the cloud server 210.
If data destined for a device has been received, the process advances to step S1343, and the portable terminal 221 IP-decapsulates the received IP-encapsulated data. In step S1345, the portable terminal 221 transmits a USB packet to the device. On the other hand, if data has been received from a device, the process advances to step S1353, and the portable terminal 221 IP-encapsulates the received USB packet. In step S1355, the portable terminal 221 transmits an IP packet to the cloud server 210.
According to this embodiment, a lack of hardware resources is readily replenished or a device failure is readily recovered. This makes it possible to readily implement ICT education while suppressing the load in the field of education.
An information processing system according to the third embodiment of the present invention will be described. The information processing system according to this embodiment is different from that in the second embodiment in that continuous processing from the previous end point is implemented at the time of resumption of an education application by saving the history of the curriculum of the education application. Since other components and operations are the same as in the second embodiment, the same reference numerals and symbols denote the same components and operations and a detailed description thereof will be omitted.
According to this embodiment, even if a change occurs, such as a change in teacher, it is possible to readily maintain the continuity in ICT education while suppressing the load in the field of education.
Note that in this embodiment, the continuity of an education application is indicated as the continuity in ICT education. However, for example, it is possible to maintain the continuity by saving device adjustment data of a special device such as a microscope or telescope. In this case, device adjustment data is saved in a history saving DB 1416 (to be described later) in association with device information.
<<Information Processing System>>
The operation of an information processing system 1400 will be described with reference to
(Concept of Operation)
In the left two views, the PC 1430 provides the education application in the Japanese history class. Contents correspond to moving images indicating the Battle of Sekigahara. A leftmost screen 1431 displays the start of the Battle of Sekigahara, and a second screen 1432 from the left displays the end of the Battle of Sekigahara. Upon end of providing the education application on the second screen 1432 from the left, the cloud server 1410 saves, in the history saving DB 1416, a position where the education application has been stopped (see
The right two views show an example of the same Japanese history class after a predetermined time. At the start of the class, the cloud server 1410 determines that the Battle of Sekigahara has ended in the previous class with reference to the history saving DB 1416. The cloud server 1410 starts providing videos of the Winter Siege of Osaka and the Summer Siege of Osaka as the next historical incidents. Note that in
As described above, the cloud server 1410 manages the providing schedule of the education application based on the providing history of the education application saved in the history saving DB 1416 of the cloud server 1410. It is, therefore, possible to continuously provide the education application even if a teacher having charge of a class is absent or is changed.
(Operation Procedure)
In steps S351 to S355, the education application is activated and provided. In step S1501, provision of the education application is stopped. Note that the cloud server 1410 may stop the education application by determining the completion of provided contents, or a teacher may instruct to stop the education application from his/her device. In step S1503, the cloud server 1410 saves the providing history of the education application in the history saving DB 1416.
After that, to reactivate the same education application, the following operation is performed. Note that
In step S1523, the cloud server 1410 reactivates the education application based on the providing history of the selected education application by referring to the history saving DB 1416. In step S1525, the cloud server 1410 restores and starts the education application from the state after the education application is stopped. In step S1527, a shared screen is provided to the PC 1430 and the display 1440 USB-connected to portable terminal 1420.
<<Functional Arrangement of Cloud Server>>
When execution of an education application is stopped, an education application executor 407 of a device controller 1612 causes a history saving unit 1617 to save, in the history saving DB 1416, a history such as a position where the education application is stopped. A program selector 1611 includes an education application resumption table 1611c, and controls the position of resumption by referring to the history saving DB 1416 at the time of resumption of the education application.
(History Saving DB)
The history saving DB 1416 stores education application contents 1702 in association with an education application ID 1701. The history saving DB 1416 also stores, in association with each education application ID 1701, a first education group 1703, . . . , an nth education group 1704 as providing targets which are using a corresponding education application. As information of each education group, the interrupt time, interrupt position, and education group condition (classroom or the like) of the education application are stored.
(Education Application Resumption Table)
The education application resumption table 1611c stores an education group ID 1802, a resumption time 1803 associated with an interrupt time, and a resumption position 1804 in association with an education application ID 1801.
<<Processing Procedure of Cloud Server>>
Referring to
(Education Application Resumption Processing)
In step S2001, the cloud server 1410 reads out the history of an education application corresponding to a specified education group from the history saving DB 1416. In step S2003, the cloud server 1410 continuously resumes the education application based on the readout history of the education application. In step S2005, the cloud server 1410 determines whether the providing destination of the education application is a portable terminal or PC. If the providing destination is a portable terminal, the cloud server 1410 activates a selected device driver in step S2007. If the providing destination is a PC, the cloud server 1410 basically causes the PC to activate the device driver.
According to this embodiment, continuous processing from the previous end point is implemented at the time of resumption of the education application by saving the history of the curriculum of the education application. With this arrangement, even if a change such as changing of a teacher occurs, it is possible to readily maintain the continuity in ICT education while suppressing the load in the field of education.
An information processing system according to the fourth embodiment of the present invention will be described. The information processing system according to this embodiment is different from that in the second or third embodiment in that a cloud server estimates the status of a device and proposes a coping method to execute an education application. That is, in this embodiment, the image capturing function of a camera and the voice input function of a microphone are used as functions of a portable terminal. Information indicating the status of the device includes the video of the device, which has been captured by the camera, and the voice of the user around the device, which has been input using the microphone. Since other components and operations are the same as those in the second embodiment, the same reference numerals and symbols denote the same components and operations, and a detailed description thereof will be omitted.
According to this embodiment, it is possible to readily maintain ICT education while suppressing the load of device setting in the field of education.
<<Information Processing System>>
The operation of an information processing system 200 according to this embodiment will be described with reference to
(Concept of Operation)
Referring to
In the left view of
In the right view of
As described above, the cloud server 2110 notifies, from the portable terminal 2120, the user of setting and adjustment of the device connected to the portable terminal 2120. It is thus possible to provide an education application even if the user has no technical knowledge.
(Operation Procedure)
In step S2201, the cloud server 2110 selects device adjustment data to be set in the digital microscope 2130 in this example. After that, if the digital microscope 2130 normally operates, the cloud server 2110 controls the digital microscope 2130 via the portable terminal 2120. In
In this case, in step S2211, the camera 2121 of the portable terminal 2120 is used to acquire a video of the digital microscope 2130. Note that as shown in
In step S2215, the portable terminal 2120 transmits the acquired video and voice as a device status to the cloud server 2110. Upon acquiring the device status, in step S2217 the cloud server 2110 analyzes the received status information by referring to the operation proposal DB 2116. In step S2219, the cloud server 2110 generates coping information based on the analysis result by referring to the operation proposal DB 2116, and transmits the coping information to the portable terminal 2120. In step S2221, the portable terminal 2120 notifies the user of the coping information received as an operation proposal from the cloud server 2110.
After the user performs processing according to the notified coping information, the camera 2121 of the portable terminal 2120 is used to acquire again a video of the digital microscope 2130 in step S2211. In step S2213, the microphone 2122 of the portable terminal 2120 is used to acquire a conversation between users around the digital microscope 2130. If the digital microscope 2130 normally operates (not shown) as a result of analyzing the result, in step S2231 the cloud server 2110 activates the selected education application to start an education program using the digital microscope 2130.
<<Functional Arrangement of Cloud Server>>
A program selector 2311 includes a device adjustment data table 2311d, and sets adjustment data of a special device such as the digital microscope 2130 of this embodiment in addition to selection of an education application and a device driver. A USB device driver executor 2310 of a device controller 2312 sets the adjustment data in a device by a USB packet. Note that the device adjustment data table 2311d is a table for holding the history of the adjustment data in association with a device ID, and a detailed description thereof will be omitted.
A device status information receiver 2318 receives the status of the device which has been acquired by the camera or microphone and transmitted by the portable terminal 2120. The device status information receiver 2318 transfers the device status information to an operation proposal generator 2317. The operation proposal generator 2317 includes an operation proposal table 2317a (see
(Operation Proposal DB)
The operation proposal DB 2116 stores, in association with device information 2401, acquired video information 2402, a first status prediction 2403 based on analysis of the acquired video information 2402, acquired voice information 2404, and a second status prediction 2405 based on analysis of the acquired voice information 2404. The operation proposal DB 2116 stores a status estimate 2406 estimated based on a set of the first status prediction 2403 and second status prediction 2405. Furthermore, the operation proposal DB 2116 stores a coping ID and contents of announcement for the portable terminal 2120 as coping information 2407 in association with the status estimate 2406.
(Operation Proposal Table)
The operation proposal table 2317a stores a set of a status prediction 2502 by a video and a status prediction 2503 by a voice in association with device information 2501. In association with the set, the operation proposal table 2317a stores a status estimate 2504 and contents 2505 of announcement for coping with the status estimate 2504.
<<Processing Procedure of Cloud Server>>
In step S2671, the cloud server 2110 determines whether device status information has been received from the portable terminal 2120. If device status information has been received, the process advances to step S2673, and the cloud server 2110 acquires device video and voice information. In step S2675, the cloud server 2110 analyzes the status of the device based on the acquired device video and voice information. In step S2677, the cloud server 2110 generates coping information for coping with the device status as an analysis result. In step S2679, the cloud server 2110 transmits the generated coping information to the portable terminal 2120.
According to this embodiment, to execute an education application, the cloud server estimates the status of a device, and proposes a coping method. This makes it possible to readily maintain ICT education while suppressing the load of device setting in the field of education.
In the aforementioned fourth embodiment, the cloud server 2110 grasps the status of a device based on a voice and video acquired and transmitted by the portable terminal 2120, generates coping information, and notifies the portable terminal 2120 of the coping information. The device connected to the portable terminal 2120, however, is adjusted more quickly and reliably by requesting, if possible, device adjustment of an expert or technician capable of adjusting the device among users around the device even if it is necessary to refer to coping information, as compared with a case in which the device is adjusted by notifying the user of coping information. To do this, a photo of the face of an expert or technician capable of adjusting the device is registered in the cloud server 2110. It is thus possible to quickly and reliably adjust the device by searching for an expert or technician based on the video of the users around the device from the portable terminal 2120, and notifying the portable terminal 2120 of the found expert or technician.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
The present invention is applicable to a system including a plurality of devices or a single apparatus. The present invention is also applicable even when a control program for implementing the functions of the embodiments is supplied to the system or apparatus directly or from a remote site. Hence, the present invention also incorporates the control program installed in a computer to implement the functions of the present invention on the computer, a storage medium storing the control program, and a WWW (World Wide Web) server that causes a user to download the control program. The present invention specifically incorporates at least a non-transitory computer readable medium.
This application claims the benefit of Japanese Patent Application No. 2012-123803 filed on May 30, 2012, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2012-123803 | May 2012 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/064235 | 5/22/2013 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2013/179982 | 12/5/2013 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5475706 | Kobayashi | Dec 1995 | A |
5726984 | Kubler et al. | Mar 1998 | A |
5896389 | Kobayashi | Apr 1999 | A |
5946319 | Kobayashi | Aug 1999 | A |
5963339 | Kobayashi | Oct 1999 | A |
6535587 | Kobayashi | Mar 2003 | B1 |
6765995 | Kobayashi | Jul 2004 | B1 |
6904277 | Tsutsumi | Jun 2005 | B2 |
6907258 | Tsutsumi | Jun 2005 | B2 |
6980804 | Maki | Dec 2005 | B2 |
7006837 | Shiota | Feb 2006 | B2 |
7076554 | Kobayashi | Jul 2006 | B1 |
7103032 | Kobayashi | Sep 2006 | B2 |
7106220 | Gourgey | Sep 2006 | B2 |
7158773 | Kurita | Jan 2007 | B2 |
7164923 | Tsunomoto | Jan 2007 | B2 |
7193975 | Tsutsumi | Mar 2007 | B2 |
7206406 | Kitami | Apr 2007 | B2 |
7212626 | Kobayashi | May 2007 | B1 |
7218627 | Shiota | May 2007 | B2 |
7228523 | Kobayashi | Jun 2007 | B2 |
7239890 | Kitami | Jul 2007 | B2 |
7269154 | Hosoda | Sep 2007 | B2 |
7269161 | Kobayashi | Sep 2007 | B2 |
7272415 | Kobayashi | Sep 2007 | B2 |
7281143 | Parra | Oct 2007 | B2 |
7289820 | Shiota | Oct 2007 | B2 |
7292545 | Maki | Nov 2007 | B2 |
7301937 | Monai | Nov 2007 | B2 |
7302281 | Kobayashi | Nov 2007 | B2 |
7319687 | Tsutsumi | Jan 2008 | B2 |
7325147 | Satoh | Jan 2008 | B2 |
7346046 | Kobayashi | Mar 2008 | B2 |
7346065 | Kobayashi | Mar 2008 | B2 |
7356034 | Kobayashi | Apr 2008 | B2 |
7356342 | Kitami | Apr 2008 | B2 |
7394805 | Zen | Jul 2008 | B2 |
7395268 | Kobayashi | Jul 2008 | B2 |
7397819 | Kobayashi | Jul 2008 | B2 |
7398109 | Parra | Jul 2008 | B2 |
7400576 | Mori | Jul 2008 | B2 |
7420925 | Hori | Sep 2008 | B2 |
7454172 | Kurita | Nov 2008 | B2 |
7496186 | Suzuki | Feb 2009 | B2 |
7551601 | Inagi | Jun 2009 | B2 |
7567539 | Fujiwara | Jul 2009 | B2 |
7577123 | Hashimoto | Aug 2009 | B2 |
7590103 | Fujiwara | Sep 2009 | B2 |
7599692 | Ooki | Oct 2009 | B2 |
7770211 | Kobayashi | Aug 2010 | B2 |
7801134 | Hori | Sep 2010 | B2 |
7808957 | Kitami | Oct 2010 | B2 |
7839893 | Ochi | Nov 2010 | B2 |
7983220 | Kurita | Jul 2011 | B2 |
8000298 | Tsutsumi | Aug 2011 | B2 |
8234364 | Ooki | Jul 2012 | B2 |
8527987 | Johansson | Sep 2013 | B2 |
8597028 | Paul | Dec 2013 | B2 |
8630282 | Tsutsumi | Jan 2014 | B2 |
9326115 | Kobayashi | Apr 2016 | B2 |
9489951 | Kobayashi | Nov 2016 | B2 |
9506766 | Kobayashi | Nov 2016 | B2 |
9509950 | Kobayashi | Nov 2016 | B2 |
9517011 | Kobayashi | Dec 2016 | B2 |
9571954 | Kobayashi | Feb 2017 | B2 |
9600722 | Kobayashi | Mar 2017 | B2 |
20040093528 | Fujiwara | May 2004 | A1 |
20040106379 | Zen | Jun 2004 | A1 |
20040107263 | Fujiwara | Jun 2004 | A1 |
20040110501 | Arakaki | Jun 2004 | A1 |
20040117498 | Hashimoto | Jun 2004 | A1 |
20050111390 | Kobayashi | May 2005 | A1 |
20050259625 | Hosoda | Nov 2005 | A1 |
20060079286 | Ochi | Apr 2006 | A1 |
20060079287 | Ochi | Apr 2006 | A1 |
20060196343 | Yung | Sep 2006 | A1 |
20070191068 | Ochi | Aug 2007 | A1 |
20070243513 | Ohshima et al. | Oct 2007 | A1 |
20080263484 | Kobayashi | Oct 2008 | A1 |
20080294451 | Fujiwara | Nov 2008 | A1 |
20080307442 | Lim et al. | Dec 2008 | A1 |
20100018381 | Ohshima et al. | Jan 2010 | A1 |
20100267368 | Masputra | Oct 2010 | A1 |
20110055355 | Lee et al. | Mar 2011 | A1 |
20110276961 | Johansson et al. | Nov 2011 | A1 |
20120158839 | Hassan et al. | Jun 2012 | A1 |
20120275324 | Hashimoto | Nov 2012 | A1 |
20150052190 | Kobayashi | Feb 2015 | A1 |
20150065111 | Kobayashi | Mar 2015 | A1 |
20150074223 | Kobayashi | Mar 2015 | A1 |
20150082299 | Kobayashi | Mar 2015 | A1 |
20150112823 | Kobayashi | Apr 2015 | A1 |
20150127124 | Kobayashi | May 2015 | A1 |
20150155715 | Kobayashi | Jun 2015 | A1 |
20150264547 | Kobayashi | Sep 2015 | A1 |
20150277547 | Kobayashi | Oct 2015 | A1 |
20150279183 | Kobayashi | Oct 2015 | A1 |
20150358428 | Kobayashi | Dec 2015 | A1 |
Number | Date | Country |
---|---|---|
2002-010360 | Jan 2002 | JP |
2007-108804 | Apr 2007 | JP |
2008-279862 | Nov 2008 | JP |
2010-218347 | Sep 2010 | JP |
2011-044147 | Mar 2011 | JP |
2012-514378 | Jun 2012 | JP |
WO-2006092098 | Sep 2006 | WO |
WO-2007073353 | Jun 2007 | WO |
WO-2010077194 | Jul 2010 | WO |
Entry |
---|
Extended European Search Report corresponding to European Application No. 13797219.6, dated Nov. 30, 2015, 7 pages. |
International Search Report corresponding to PCT/JP2013/064235, dated Jul. 23, 2013 (3 pages). |
Japanese Office Action issued in corresponding Japanese Patent Application No. 2012-123803, dated Nov. 22, 2016, 4 pages. |
Number | Date | Country | |
---|---|---|---|
20150140540 A1 | May 2015 | US |