WO2014069145A1 - 情報システム、サーバ装置、端末装置、および情報処理方法 - Google Patents

情報システム、サーバ装置、端末装置、および情報処理方法 Download PDF

Info

Publication number
WO2014069145A1
WO2014069145A1 PCT/JP2013/076697 JP2013076697W WO2014069145A1 WO 2014069145 A1 WO2014069145 A1 WO 2014069145A1 JP 2013076697 W JP2013076697 W JP 2013076697W WO 2014069145 A1 WO2014069145 A1 WO 2014069145A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
unit
information
scenario
request
Prior art date
Application number
PCT/JP2013/076697
Other languages
English (en)
French (fr)
Inventor
表 泰男
聡也 中川
Original Assignee
株式会社Future Tech Lab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2012241026A external-priority patent/JP6052731B2/ja
Priority claimed from JP2012242420A external-priority patent/JP6153152B2/ja
Application filed by 株式会社Future Tech Lab filed Critical 株式会社Future Tech Lab
Priority to EP13850723.1A priority Critical patent/EP2916235A4/en
Priority to US14/439,923 priority patent/US10063626B2/en
Publication of WO2014069145A1 publication Critical patent/WO2014069145A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Definitions

  • the present invention relates to an information system or the like that transmits a command for a terminal driver operation from a server to a terminal device in response to an operation of the terminal device.
  • An information system is an information system comprising one or more terminal devices and a server device, wherein the terminal device comprises one or more terminal function units driven by a driver, and one or more terminal devices.
  • a terminal driver management unit capable of storing one or more driver identifiers for identifying a driver of the terminal function unit; a terminal reception unit for receiving one or more instructions from the user; and a terminal request corresponding to the one or more instructions
  • a terminal request configuration unit to configure, a terminal transmission unit for transmitting a terminal request to the server device, a terminal reception unit for receiving a scenario having a command and data from the server device in response to the transmission of the terminal request, a scenario A terminal that interprets and passes to one or more driver identifiers and one or more functional units identified by the one or more driver identifiers, and acquires data included in a scenario
  • a terminal function call unit which passes data acquired by the terminal parser unit to one or more terminal function units identified by the server unit and one or more driver identifiers acquired by the terminal par
  • the terminal device includes a terminal object storage unit capable of storing one or more objects, and a terminal object output unit outputting one or more objects.
  • the scenario has an operation command which is a command indicating the operation of the object
  • the terminal parser unit interprets the scenario, acquires the operation command from the scenario
  • the terminal object output unit follows the operation command, It is an information system which operates an object corresponding to an operation command.
  • the server apparatus includes a history storage unit capable of storing a request history which is a part or all of a terminal request; And a history storage unit for storing in the history storage unit a request history that is a part or all of the received terminal requests, the scenario generation unit being stored in the terminal request received by the reception unit and the history storage unit It is an information system which generates a scenario using a certain request history.
  • the server device includes at least one driver identifier for identifying a driver of a terminal function unit included in the terminal device.
  • the system further includes a server driver management unit that can be stored, and the scenario generation unit is an information system in which a scenario to be generated is different according to one or more driver identifiers stored in the server driver management unit.
  • the server apparatus performs statistical processing of the request history and acquires a statistical processing result with respect to the third or fourth aspect, and a statistical processing result acquisition unit, and a statistical processing result And a statistical processing result output unit for outputting the information.
  • the scenario generated by the scenario generation unit includes a command for another terminal device which is a terminal device other than the terminal device,
  • the transmission unit is an information system that transmits a command to another terminal device.
  • the server device is information identifying a group of two or more terminal devices, and the information system of two or more identifying each two or more terminal devices
  • the information system further includes a group information storage unit capable of storing group information having a terminal identifier, and the transmitting unit does not transmit a command to a terminal device that does not correspond to any two or more terminal identifiers included in the group information. is there.
  • the server apparatus stores current information, which is information indicating the current state of the terminal apparatus, for each terminal apparatus.
  • the scenario generation unit further includes scenario source information acquired by the terminal request processing unit, a processing result obtained by performing processing by the terminal request processing unit, and current information corresponding to the terminal device.
  • Generate a scenario using It is an information system which further comprises a current information updating part which updates the current information according to transmission to the terminal unit of the scenario.
  • the information system is the user management information storage unit capable of storing one or more pieces of user management information for correlating a user identifier for identifying a user of a terminal device with a terminal identifier. If the terminal request is a request to move a terminal device to be processed, the terminal device to be processed is changed from an old terminal device which is a terminal device currently being processed to a new terminal device.
  • the user management information changing unit changes the terminal identifier corresponding to the user identifier of the user of the terminal device that has the terminal management information, and is the terminal identifier possessed by the user management information, to the terminal identifier of the new terminal device.
  • the scenario generation unit generates a scenario using current information of the old terminal apparatus, and the transmission unit generates the scenario generated by the scenario generation unit. Which is the information system to be transmitted to the new terminal device.
  • Block diagram of the same information system Flow chart for explaining the operation of the terminal device 1
  • a flowchart describing the process of configuring the same terminal request Flow chart for explaining the operation of the server device 2 Diagram showing the same terminal driver management table Diagram showing the same terminal object management table Diagram showing the same correspondence information management table Diagram showing the same server driver management table Diagram showing the same group information management table Diagram showing the same history management table Diagram showing the related user management table
  • Figure showing the same character management table The figure which shows the example of a display of the character in the terminal device 1.
  • Block diagram of the server apparatus 22 constituting the information system in the second embodiment Flow chart for explaining the operation of the server device 22
  • a flowchart explaining the same scenario configuration processing Diagram showing the same correspondence information management table Diagram showing an example of the driver information management table according to the same type Diagram showing the same terminal management information management table Diagram showing the same current information management table Diagram showing the same user management information management table Figure showing the same character management table Overview of computer system in the above embodiment Block diagram of the same computer system
  • the server device receives a terminal request composed of a user's instruction or the like at the terminal device, and the server request is processed using the terminal request, and the processing result and the terminal request are used.
  • An information system will be described which configures a scenario using the acquired scenario source information and transmits it to the terminal device.
  • the terminal interprets the scenario, drives the driver, and operates the hardware.
  • an information system that stores terminal requests and generates a scenario based on the history of two or more terminal requests. That is, an information system in which a scenario to be generated is different according to the history of the user's instruction will be described.
  • the server apparatus transmits a command to another terminal apparatus by the operation on one terminal apparatus and the other terminal apparatus processes the command.
  • an information system will be described in which two or more terminal devices are group-managed and the other terminal devices capable of sending commands are limited to only the terminal devices in the group.
  • FIG. 1 is a conceptual view of an information system in the present embodiment.
  • the information system comprises one or more terminal devices 1 and a server device 2.
  • the terminal device 1 and the server device 2 can communicate via the network 3 such as the Internet or an intranet.
  • the information system may include two or more server devices 2.
  • the terminal device 1 may be a so-called personal computer, a mobile terminal such as a so-called smartphone or a mobile phone, a display device installed in a street corner, a television device, a navigation device, or the like.
  • the terminal device 1 includes at least one piece of hardware driven by a driver and may be any device capable of outputting information.
  • FIG. 2 is a block diagram of the information system in the present embodiment.
  • the terminal device 1 constituting the information system includes a terminal function unit 101, a terminal driver management unit 102, a terminal object storage unit 103, a terminal reception unit 104, a terminal request configuration unit 105, a terminal transmission unit 106, a terminal reception unit 107, a terminal parser A unit 108, a terminal function call unit 109, and a terminal object output unit 110 are provided.
  • the server device 2 includes a correspondence information storage unit 201, a server driver management unit 202, a group information storage unit 203, a history storage unit 204, a reception unit 205, a terminal request processing unit 206, a scenario generation unit 207, a transmission unit 208, and a history storage unit. And 209, a reception unit 210, a statistical processing result acquisition unit 211, and a statistical processing result output unit 212.
  • the terminal function unit 101 constituting the terminal device 1 is driven by a driver to realize a predetermined function.
  • the terminal function unit 101 is usually hardware, and is, for example, a display, a speaker, a camera, a telephone, or the like. However, software that realizes an e-mail function or the like may be used.
  • the terminal driver management unit 102 may store one or more driver identifiers identifying drivers of one or more terminal function units 101.
  • the terminal object storage unit 103 may store one or more objects.
  • An object may be regarded as data or information.
  • An object is, for example, information of a character of animation.
  • the object may be integrated with data or information and a program or script for processing the data or the like.
  • the object in the terminal object storage unit 103 is usually an object received from the server device 2.
  • the terminal accepting unit 104 accepts one or more instructions from the user.
  • the instructions may or may not have data.
  • the instruction may be regarded as an operation.
  • acceptance means acceptance of information input from an input device such as a keyboard, a mouse, or a touch panel, reception of information transmitted through a wired or wireless communication line, recording of an optical disc, magnetic disc, semiconductor memory, etc. It is a concept that includes reception of information read from a medium.
  • the instruction input means may be any device such as a touch panel, a keyboard, a mouse, or a menu screen.
  • the terminal reception unit 104 can be realized by a device driver of an input unit such as a touch panel or a keyboard, control software of a menu screen, or the like.
  • the terminal request configuration unit 105 configures a terminal request that is a request corresponding to one or more instructions.
  • the terminal request configuration unit 105 usually configures a terminal request using one or more instructions accepted by the terminal acceptance unit 104.
  • the terminal request usually has an identifier of the object to be indicated, but may not have an identifier of the object.
  • the terminal request includes, for example, an identifier of an object to which an instruction is issued, and instruction content information indicating the content of the instruction.
  • the instruction content information is coordinate information indicating a designated position, an area identifier identifying a designated area, an operation type identifier indicating a type of operation, coordinate information indicating a position or an area, an area identifier, or the like.
  • the operation type identifier is information that identifies an operation, such as drag, double click, click, or touch.
  • the terminal request usually includes terminal-specific information which is information specific to the terminal device 1.
  • the terminal specific information may include, for example, static specific information that does not change for the terminal device 1 and dynamic specific information that changes dynamically.
  • the static specific information is, for example, a terminal identifier that is an identifier of the terminal device 1, an identifier of a user of the terminal device 1, or the like.
  • the dynamic specific information is, for example, terminal position information indicating the position of the terminal device 1, weather information indicating the weather of the place where the terminal device 1 exists, the current time, or the like.
  • the terminal request configuration unit 105 is, for example, an object identifier of an object being displayed when the user instructs the screen, and acquires the object identifier held by the terminal device 1. Also, the terminal request configuration unit 105 acquires the operation type identifier from one or more coordinate information indicating the position on the screen designated by the user. Then, the terminal request configuration unit 105 configures a terminal request having an object identifier, an operation type identifier, and one or more coordinate information.
  • the terminal request configuration unit 105 may perform voice recognition on the voice to acquire a character string. Then, the terminal request configuration unit 105 may configure a terminal request including the character string. In addition, when the terminal accepting unit 104 receives a sentence of one language, the terminal request configuration unit 105 may machine-translate the sentence into another language and configure a terminal request including the machine translation result. That is, the terminal request configuration unit 105 may execute processing such as voice recognition and machine translation in response to one or more instructions accepted by the terminal acceptance unit 104.
  • the terminal request configuration unit 105 may sample and digitize the audio to configure a terminal request.
  • the terminal request configuration unit 105 may acquire the identifier of the terminal function unit 101 operating according to the instruction received by the terminal reception unit 104 or the driver identifier of the driver, and may include the identifier in the terminal request. Furthermore, the terminal request configuration unit 105 may acquire an identifier of software that operates according to an instruction or the like received by the terminal reception unit 104 and include the identifier in the terminal request.
  • the data structure of the terminal request configured by the terminal request configuration unit 105 is not limited.
  • the data structure of other data handled by the information system is not limited.
  • the terminal transmission unit 106 transmits the terminal request configured by the terminal request configuration unit 105 to the server device 2.
  • the terminal transmission unit 106 holds a server device identifier for identifying the server device 2 in order to transmit a terminal request to the server device 2.
  • the server device identifier is information necessary to communicate with the server device 2 and is, for example, the IP address or MAC address of the server device 2, a mail address with which the server device 2 can acquire information, or the like.
  • the terminal reception unit 107 receives the scenario from the server device 2 in response to the transmission of the terminal request.
  • the scenario has a command to operate the driver of the terminal device 1.
  • a scenario usually has commands and data.
  • the scenario includes, for example, an operation instruction to the terminal function unit 101, an operation command which is a command indicating an operation of the displayed object, and the like.
  • the operation instruction to the terminal function unit 101 includes, for example, a driver identifier and data to be passed to the driver.
  • the scenario has one or more commands and so on.
  • the command or the like is a command, data, or a command and data or the like.
  • the terminal parser unit 108 interprets the scenario and obtains one or more driver identifiers and data.
  • the data is data to be delivered to the one or more terminal function units 101 identified by the one or more driver identifiers, and is data that the scenario has. Also, the data may be an object.
  • the terminal parser unit 108 may interpret the scenario and obtain an operation command from the scenario.
  • the terminal function call unit 109 passes the data acquired by the terminal parser unit 108 to the one or more terminal function units 101 identified by the one or more driver identifiers acquired by the terminal parser unit 108, and the one or more terminal function units 101. Call.
  • to call may be understood to mean to operate.
  • the terminal object output unit 110 outputs one or more objects.
  • the object is usually data received from the server device 2.
  • output means display on a display, projection using a projector, printing with a printer, sound output, transmission to an external device, storage in a recording medium, processing to other processing devices or other programs, etc. It is a concept that includes the delivery of results. That is, the terminal object output unit 110 may display the object on the display or may store the object in the terminal object storage unit 103.
  • the terminal object output unit 110 operates the object corresponding to the operation command according to the operation command.
  • the operation result is usually displayed on the display.
  • the terminal object output unit 110 may output the operation result by voice or sound through the speaker, or may output the operation result by performing blinking of light using an LED or the like, or the operation of the machine The operation result may be notified by various expressions etc.
  • the correspondence information storage unit 201 constituting the server device 2 can store one or more pieces of correspondence information.
  • the correspondence information is information indicating the correspondence between the information constituting the terminal request and the scenario source information.
  • the scenario source information is information that is the source of the scenario.
  • the information indicating the correspondence may be the information itself. That is, the correspondence information may be information including information constituting the terminal request and scenario source information, or information including a pointer to information constituting the terminal request and a pointer to scenario source information.
  • the scenario source information may be a command sequence including one or more commands, or a program.
  • the server driver manager 202 may store one or more driver identifiers.
  • the driver identifier here is information for identifying the driver of the terminal function unit 101 included in the terminal device 1.
  • the driver identifier is, for example, a driver name, a physical address of the driver on the disk, or the like. It is preferable that the server driver management unit 202 store one or more driver identifiers for each terminal device or each type of terminal device.
  • the group information storage unit 203 can store group information.
  • Group information is information for specifying a group of two or more terminal devices 1.
  • the group information has two or more terminal identifiers that identify two or more terminal devices 1.
  • the history storage unit 204 can store request history.
  • the request history is a part or all of the terminal request received by the receiving unit 205.
  • the history storage unit 204 preferably stores request history for each terminal device 1.
  • the history storage unit 204 may store a request history for each of the terminal function units 101 of the terminal device 1.
  • each terminal function unit 101 has the same meaning as each driver identifier.
  • the history storage unit 204 may store the request history for each terminal device 1 and in units of software operated in the terminal device 1.
  • the software unit has the meaning of being associated with an identifier of software.
  • the receiving unit 205 receives a terminal request from the terminal device 1.
  • the terminal request processor 206 interprets the terminal request received by the receiver 205. Then, the terminal request processing unit 206 acquires scenario source information corresponding to the terminal request from the correspondence information storage unit 201. Also, the terminal request processing unit 206 performs processing corresponding to the terminal request, and acquires the processing result.
  • the processing may be, for example, search processing for a database (not shown), machine translation processing for a character string that the terminal request has, and so on.
  • the terminal request processing unit 206 may perform voice recognition on the voice to acquire a character string. Then, the terminal request processing unit 206 may acquire scenario source information from the correspondence information storage unit 201 using the character string.
  • the scenario generation unit 207 generates a scenario using the scenario source information acquired by the terminal request processing unit 206 and the processing result obtained by performing the processing by the terminal request processing unit 206.
  • the scenario generation unit 207 generates a scenario using the terminal request received by the reception unit 205 and the request history stored in the history storage unit 204. That is, it is preferable that, even if the terminal request is the same, if the request history is different, different scenarios are generated. For example, it is preferable that the operation differs depending on the touch situation on the character.
  • the scenario generation unit 207 generates different scenarios depending on one or more driver identifiers stored in the server driver management unit 202.
  • the generation of a different scenario means, for example, not including the driver identifier of the driver that the terminal device 1 does not possess.
  • the terminal request processing unit 206 of the server device 2 perform processing on drivers that the terminal device 1 does not possess.
  • the transmission unit 208 transmits the scenario generated by the scenario generation unit 207 to the terminal device 1. Also, the transmission unit 208 may transmit a command or a scenario to another terminal device.
  • the other terminal device also preferably has the same configuration as that of the terminal device 1, but it suffices to receive a command and perform an operation according to the command.
  • the identifier of the other terminal apparatus to which the command or scenario is to be transmitted may be stored in advance, may be received from the terminal apparatus 1, or may be paired with the terminal apparatus 1 from the other terminal apparatus. Information may be received.
  • the information indicating that the terminal device 1 and the terminal device 1 are a pair is, for example, a user identifier that identifies the user of the terminal device 1.
  • the transmission unit 208 does not transmit a command to the terminal device 1 that does not correspond to any of two or more terminal identifiers included in the group information.
  • the history storage unit 209 stores in the history storage unit 204 a request history that is a part or all of the terminal request received by the reception unit 205. A part of the terminal request also includes information generated from two or more terminal requests.
  • the history storage unit 209 may store the request history in the history storage unit 204 for each identifier of the terminal function unit 101 included in the terminal request or a driver identifier of the driver.
  • the history storage unit 209 may store the request history in the history storage unit 204 for each identifier of software included in the terminal request.
  • the history storage unit 209 may store the request history in the history storage unit 204 for each identifier or driver identifier of the terminal function unit 101 included in the scenario generated by the scenario generation unit 207.
  • the history storage unit 209 may store the request history in the history storage unit 204 for each identifier of software included in the scenario generated by the scenario generation unit 207.
  • the receiving unit 210 receives an instruction, data, and the like of the user of the server device 2.
  • the means for inputting instructions and data may be anything such as a keyboard, a mouse, or a menu screen.
  • the reception unit 210 can be realized by a device driver of input means such as a keyboard, control software of a menu screen, or the like.
  • the statistical processing result acquisition unit 211 statistically processes the request history and acquires a statistical processing result.
  • the statistical processing is, for example, processing of acquiring an average value, processing of acquiring the number of operations per unit time, and the like.
  • the content of the statistical processing does not matter.
  • the statistical processing result output unit 212 outputs the statistical processing result acquired by the statistical processing result acquiring unit 211.
  • the terminal driver management unit 102, the terminal object storage unit 103, the correspondence information storage unit 201, the server driver management unit 202, the group information storage unit 203, and the history storage unit 204 are preferably non-volatile recording media, but volatile The present invention can also be realized with the following recording media.
  • the driver identifier and the like may be stored in the terminal driver management unit 102 and the like via the recording medium, and the driver identifier and the like transmitted via the communication line and the like are stored in the terminal driver management unit 102 and the like
  • the driver identifier or the like input via the input device may be stored in the terminal driver management unit 102 or the like.
  • the terminal transmission unit 106, the terminal reception unit 107, the reception unit 205, and the transmission unit 208 are usually realized by wireless or wired communication means, but may be realized by broadcasting means.
  • the terminal parser unit 108, the terminal function calling unit 109, the terminal request processing unit 206, the scenario generation unit 207, the history storage unit 209, and the statistical processing result acquisition unit 211 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the terminal parser unit 108 is usually realized by software, and the software is stored in a storage medium such as a ROM. However, it may be realized by hardware (a dedicated circuit).
  • the terminal object output unit 110 and the statistical processing result output unit 212 may or may not include output devices such as a display and a speaker.
  • the terminal object output unit 110 may be realized by driver software of an output device, or driver software of an output device and an output device.
  • Step S301 The terminal accepting unit 104 determines whether an instruction or data has been accepted from the user or the like. If an instruction etc. is received, it will go to step S302, and if it does not receive, it will return to step S301.
  • Step S302 The terminal request configuration unit 105 determines whether to configure a terminal request or not using the instruction or the like received in step S301. If it is determined that the terminal request is to be configured, the process goes to step S303. If it is determined that the terminal request is not to be configured, the process proceeds to step S311.
  • the terminal request configuration unit 105 stores, for example, an event, an instruction, a condition, etc. constituting the terminal request in advance, and the instruction etc. received in step S301 is stored in the stored event, instruction, condition etc. Whether or not to construct a terminal request is determined depending on whether or not they match.
  • the terminal request configuration unit 105 stores, for example, an event, an instruction, a condition, and the like that do not constitute a terminal request, and the instruction and the like received in step S301 do not match the stored event and the instruction and the like. In this case, it is determined that the terminal request is to be configured.
  • the conditions include, for example, no input for N (N is a numerical value greater than 0) seconds, and that N seconds have elapsed after a predetermined input.
  • the terminal request configuration unit 105 may wait until the condition is met.
  • Step S303 The terminal request configuration unit 105 configures a terminal request using the instruction received in step S301 or the instruction received in step S301 and the instruction temporarily stored. The process of configuring the terminal request will be described with reference to the flowchart of FIG.
  • Step S304 The terminal transmission unit 106 transmits the terminal request configured in step S303 to the server device 2.
  • the terminal transmission unit 106 holds, for example, the IP address of the server device 2.
  • Step S305 The terminal reception unit 107 determines whether a scenario has been received from the server device 2. If a scenario is received, it will go to step S306, and if a scenario is not received, it will return to step S305.
  • Step S306 The terminal parser unit 108 interprets the scenario received in step S305, and acquires one or more driver identifiers and data.
  • the scenario includes an instruction to operate one or more drivers.
  • Step S307 The terminal function calling unit 109 substitutes 1 into the counter i.
  • Step S308 The terminal function calling unit 109 determines whether the information related to the operation of the ith driver exists in the information acquired in step S306. If the information regarding the operation of the ith driver exists, the process goes to step S309, and if it does not exist, the process returns to step S301.
  • Step S309 The terminal function calling unit 109 operates the i-th driver according to the information on the operation of the i-th driver among the information acquired in step S306.
  • Step S310 The terminal function calling unit 109 increments the counter i by one. It returns to step S308.
  • Step S311 The terminal transmission unit 106 temporarily stores the instruction and the like in the buffer. It returns to step S301.
  • step S302 the terminal transmission unit 106 determines whether to configure a terminal request or not using the instruction received in step S301. However, when an instruction or the like is accepted, the terminal request may always be configured.
  • the processing is ended by an interruption of power off or processing end.
  • Step S401 The terminal request configuration unit 105 determines whether an instruction or the like exists in the buffer. If an instruction or the like exists in the buffer, the process goes to step S402, and if an instruction or the like does not exist in the buffer, the process goes to step S403.
  • Step S402 The terminal request configuration unit 105 reads an instruction or the like from the buffer.
  • Step S403 The terminal request configuration unit 105 acquires the instruction and the like received in step S301.
  • Step S404 The terminal request configuration unit 105 acquires the object identifier of the instruction target using the instruction acquired in step S403 or the instruction acquired in step S403 and the instruction read in step S402.
  • the instruction etc. is the coordinate value (x, y) on the screen
  • the terminal request configuration unit 105 currently displays the object identifier of the object currently displayed on the screen and the display position of the object (for example, the outline of the object A set of coordinate values to be specified is held, and an object identifier corresponding to the coordinate value indicated by the instruction or the like is acquired.
  • an object management technique for example, when a character present on the screen is displayed, the terminal request configuration unit 105 acquires an object identifier of the touched character.
  • the terminal request configuration unit 105 acquires instruction content information using the instruction acquired in step S403 or the instruction acquired in step S403 and the instruction read in step S402.
  • the instruction content information is, for example, an area identifier indicating an area touched by, dragged, or a character touched.
  • the terminal request configuration unit 105 holds an area identifier of an object currently displayed on the screen and position information (a set of coordinate values indicating the outline of the area) for specifying the area.
  • the terminal request configuration unit 105 acquires terminal specific information.
  • the terminal specific information is, for example, position information acquired by the GPS receiver, current time, terminal identifier, and the like.
  • the terminal request configuration unit 105 configures a terminal request having an object identifier, instruction content information, and terminal specific information.
  • the terminal request configuration unit 105 may configure the terminal request from only one or two of the object identifier, the instruction content information, and the terminal specific information. Return to upper level processing.
  • the terminal request configuration unit 105 may configure the terminal request from the received instruction or the like, and the method is not limited.
  • the terminal request configuration unit 105 may perform voice recognition on the received voice to acquire a character string.
  • requirement structure part 105 may comprise a terminal request
  • Step S501 The receiving unit 205 determines whether a terminal request has been received from the terminal device 1. If the terminal request is received, the process goes to step S502. If the terminal request is not received, the process goes to step S508.
  • Step S502 The terminal request processing unit 206 interprets the terminal request received by the receiving unit 205. Then, the terminal request processing unit 206 acquires scenario source information corresponding to the terminal request from the correspondence information storage unit 201.
  • Step S503 The terminal request processing unit 206 determines whether there is a process to be performed by the server device 2 using the interpretation result of the terminal request. If there is a process to be performed by the server device 2, the process goes to step S504, and if not, the process goes to step S505. For example, when the terminal request includes a variable or when the scenario source information includes a variable, the terminal request processing unit 206 determines that there is a process to be performed by the server device 2.
  • Step S504 The terminal request processing unit 206 is processing instructed by a terminal request, and performs processing that the server device 2 should perform. Then, the terminal request processing unit 206 acquires the processing result.
  • Step S505 The scenario generation unit 207 configures a scenario using the scenario source information acquired in step S502 or the scenario source information acquired in step S502 and the processing result acquired in step S504.
  • Step S506 The transmitting unit 208 transmits the scenario configured in step S505 to the terminal device 1.
  • Step S507 The history storage unit 209 stores in the history storage unit 204 all or part of the terminal request received in step S501. It returns to step S501.
  • a part of the terminal request also includes information (for example, a favorable sensitivity described later) configured by one or more terminal requests.
  • Step S508 Reception unit 210 determines whether or not an instruction indicating that statistical processing is to be performed is received. If such an instruction is received, the process goes to step S509, and if the instruction is not received, the process returns to step S501. Such an instruction is appropriately referred to as a statistical processing instruction.
  • Step S509 The statistical processing result acquisition unit 211 performs statistical processing using one or more terminal requests of the history storage unit 204. Then, the statistical processing result acquisition unit 211 acquires a statistical processing result.
  • Step S510 The statistical processing result output unit 212 outputs the statistical processing result acquired in step S509. It returns to step S501.
  • the processing is ended by an interruption of power off or processing end.
  • FIG. 1 A conceptual diagram of the information system is FIG.
  • FIG. 6 is an example of a terminal driver management table stored in the terminal driver management unit 102 of the terminal device 1.
  • the terminal driver management table in this case manages information of drivers included in a certain terminal device 1. Further, the terminal driver management table stores one or more records having “ID”, “driver identifier” and “driver call function”. “ID” is information for identifying a record of the terminal driver management table. Also, the “driver identifier” is information for identifying a driver. Furthermore, the “driver call function” is a function for operating the driver. Here, instead of the “driver call function”, a message for operating the driver may be used, a method name may be used, or information of a pointer to the driver call may be used.
  • the driver call function “show_char ()” is an example of a driver call function that displays characters and the like, “voice ()” is an example of a driver call function that reproduces voice, and “ui ()” is an example.
  • One example of the calling function of the driver that handles the user interface "camera ()” is an example of the calling function of the camera driver, and "tel ()” is an example of the calling function of the telephone driver, "mail “()” Is an example of a calling function of a mail driver, and “data_manage ()” is an example of a calling function of a driver that performs data management.
  • FIG. 7 is an example of the terminal object management table stored in the terminal object storage unit 103 of the terminal device 1.
  • the terminal object management table stores one or more records having “ID”, “character”, “whole area information”, “partial information”, and “display flag”.
  • ID is a character identifier.
  • the "whole area information” is information indicating an area on the screen on which the character is displayed.
  • the "whole area information” usually has two or more coordinate information. Coordinate information is usually coordinate information on the screen.
  • "partial information” is information regarding a portion of a character. Parts are face, chest, stomach, hands, feet etc.
  • the "partial information” has a “partial identifier” and "partial area information”.
  • the “partial identifier” is an ID for identifying a portion, and for example, the chest is “1” and the face is “2”.
  • "partial area information” is information indicating an area of a portion of a character, and usually has two or more pieces of coordinate information. The coordinate information may be coordinate information on the screen, or information of relative coordinates in the character.
  • FIG. 8 is a correspondence information management table stored in the correspondence information storage unit 201 of the server device 2.
  • the correspondence information management table stores one or more records having “ID”, “terminal request”, and “scenario source information”.
  • ID is information for identifying a record of the correspondence information management table.
  • Terminal request is information indicating a terminal request.
  • scenario source information is scenario source information corresponding to a terminal request.
  • scenario source information is a command and a command with control information, but the structure and content thereof do not matter.
  • the command is, for example, in the form of a function.
  • the control information is, for example, “if then else”.
  • “get_char ($ user identifier, $ character)” is a function for acquiring information on a character currently displayed on the terminal device 1 of the user identified by the user identifier.
  • “delete ($ user identifier, $ character)” is a scenario corresponding to an instruction to delete (undisplay) the display of the character from the terminal device 1 of the user identified by the user identifier.
  • “put_char ($ terminal identifier, ch)” is a scenario corresponding to an instruction to transmit information related to the character stored in the variable “ch” to the terminal device 1 identified by the terminal identifier.
  • search ($ terminal identifier, $ person)” is a function for searching for a terminal identifier of a user having a relationship of “$ person” with the user of the terminal device 1 identified by the terminal identifier.
  • output ($ position information, terminal)” is a scenario in which the position information is transmitted to the terminal device 1 identified by the terminal.
  • start_up (navi ()) is a scenario for starting the navigation system of the terminal device 1.
  • set_destination ($ position information)” is a scenario in which the destination is set in the navigation system of the terminal device 1.
  • route_search ($ current position, $ destination)” is a scenario in which a route search is performed with the current location as the start point and the destination as the end point.
  • send_message () is a scenario in which the message in the argument is sent and the terminal device 1 prompts the output. Needless to say, such a scenario or function is an example.
  • FIG. 9 is an example of a server driver management table stored in the server driver management unit 202 of the server device 2.
  • the server driver management table here manages information of drivers provided in a certain terminal device 1. Also, the server driver management table stores one or more records having “ID”, “terminal identifier” and “driver identifier”. “ID” is information for identifying a record. The “terminal identifier” is information for identifying a terminal device. Also, the “driver identifier” is information for identifying a driver. That is, the server driver management table manages drivers held by one or more terminal devices 1.
  • FIG. 10 is a group information management table stored in the group information storage unit 203 of the server device 2.
  • the group information management table stores one or more records having "group ID" and "terminal identifier".
  • "Group ID” is information for identifying a group.
  • the “terminal identifier” is an identifier of a terminal device belonging to the group identified by the group ID.
  • the attribute value “terminal identifier” has two or more terminal identifiers.
  • FIG. 11 is an example of a history management table stored in the history storage unit 204 of the server device 2.
  • the history management table stores one or more records having “ID”, “terminal identifier”, “request history”, and “friendly”.
  • the “request history” stores a history of one or more terminal requests transmitted from the terminal device 1 identified by the terminal identifier.
  • “Positivity” is information configured from a request history, and is a preference of the character to the user of the terminal device 1. For example, when one or more terminal requests indicating that the character's chest or stomach has been touched are received the number of times equal to or more than the threshold value, the terminal request processing unit 206 lowers the value of the corresponding preference.
  • the terminal request processing unit 206 raises the value of the corresponding preference.
  • N is a positive numerical value
  • the terminal request processing unit 206 returns the corresponding preference to the initial value (for example, “high”).
  • the high sensitivity, the medium sensitivity, and the low sensitivity correspond to, for example, the numerical values "1", "2", and "3", respectively.
  • the terminal request processing unit 206 performs the process of changing the preference.
  • FIG. 12 is a related user management table held by the terminal request processing unit 206.
  • the related user management table is a table for managing a person who is related to the user who owns the terminal device 1 together with the relation.
  • FIG. 12 stores one or more records having “ID”, “terminal identifier 1”, “relationship”, and “terminal identifier 2”.
  • “Terminal identifier 1” is a terminal identifier, and is an identifier of a terminal owned by the first user.
  • “Terminal identifier 2” is a terminal identifier and is an identifier of a terminal owned by the second user.
  • “Relation” is information indicating the relationship between the first user and the second user.
  • the specific example 1 is an example in which an instruction input to the terminal device 1 is interpreted by the server device 2 and the driver of the terminal device 1 is operated from the server device 2. More specifically, the user of the terminal device 1 instructs the volume 3 to be raised because the sound output from the terminal device 1 is small, and the volume from the server device 2 is increased by three. Will be described.
  • the terminal receiving unit 104 of the terminal device 1 receives the voice “volume 3 raised”.
  • the terminal request configuration unit 105 detects that the voice received by the terminal reception unit 104 is interrupted, and determines that a terminal request is to be configured using an instruction or the like received by the terminal reception unit 104.
  • the terminal request configuration unit 105 performs speech recognition of the voice “I give volume 3” and acquires the character string “I give volume 3”. Also, the terminal request configuration unit 105 acquires the terminal identifier “101” stored in the terminal device 1. The area in which the terminal identifier "101" is stored does not matter. The terminal request configuration unit 105 also acquires position information (Xa, Ya) acquired by the GPS receiver held by the terminal device 1. The GPS receiver is, for example, one of the terminal function units 101. Also, the terminal request configuration unit 105 acquires the current time “2012/10/27 10:38:51” from a clock not shown or an external device (for example, an NTP server).
  • the terminal request configuration unit 105 configures the terminal request “101, (Xa, Ya), 2012/10/27 10: 38: 51,“ I give 3 volumes ”.
  • the terminal identifier "101" is static terminal-specific information, and the position information and the current time are dynamic terminal-specific information. Further, the character string "I give volume 3" corresponds to the instruction content information.
  • this terminal request does not have an object identifier of an instruction target. Also, although the terminal request here has "terminal identifier, position information, current time, instruction content information", it goes without saying that the structure of this terminal request is an example.
  • the terminal transmission unit 106 transmits the configured terminal request to the server device 2.
  • the receiving unit 205 of the server device 2 receives the terminal request “101, (Xa, Ya), 2012/10/27 10: 38: 51,“ I give 3 volumes and ”” from the terminal device 1.
  • the terminal request processing unit 206 acquires instruction content information “volume 3 raise” from the received terminal request.
  • the terminal request processing unit 206 detects that a variable is present in the terminal request ““ volume is raised by “$” ”and determines that the processing to be performed by the server device 2 is present.
  • the process to be performed by the server device 2 is a process of acquiring the variable “$ numerical value”.
  • the terminal request processing unit 206 uses the instruction content information “volume 3 raise” and the terminal request ““ volume volume “$ numerical value raise” ”to“ 3 ”corresponding to the variable“ $ numerical value ”. Is obtained from the instruction content information.
  • the scenario generation unit 207 acquires the terminal identifier “101” from the terminal request. Also, the scenario generation unit 207 obtains “3” corresponding to the variable “$ numerical value” acquired by the terminal request processing unit 206.
  • the scenario generation unit 207 uses the scenario source information “volume_up ($ terminal identifier, $ numerical value)”, the terminal identifier “101”, and “3” corresponding to the variable “$ numerical value” to execute the scenario “volume_up (101 , 3) ”.
  • the transmitting unit 208 transmits the configured scenario “volume_up (101, 3)” to the terminal device 1.
  • the transmitting unit 208 holds information on the transmission destination (for example, an IP address) corresponding to the terminal identifier “101”, and transmits the scenario to the terminal device 1 using the information on the transmission destination.
  • the history storage unit 209 stores all or part of the received terminal request “101, (Xa, Ya), 2012/10/27 10: 38: 51,“ I give volume 3 ”” to the history It accumulates in the part 204.
  • the history storage unit 209 may store the scenario “volume_up (101, 3)” in the history storage unit 204. In such a case, part of the terminal request may be a generated scenario.
  • the terminal reception unit 107 of the terminal device 1 receives the scenario “volume_up (101, 3)” from the server device 2.
  • the terminal parser unit 108 interprets the received scenario, and obtains a driver identifier “voice reproduction” and data “volume_up 3”.
  • the terminal parser unit 108 holds the correspondence between the function name of the scenario and the driver identifier or the function name given to the driver.
  • the terminal function calling unit 109 instructs the driver identified by the driver identifier “audio reproduction” to increase the volume by “3”. Then, thereafter, the sound output from the terminal device 1 is a sound that is increased by “3”.
  • the processing in the terminal device 1 is continued, and the server device 2 interprets the terminal request transmitted from the terminal device 1 .
  • the server device 2 interprets a scenario using the processing result and scenario source information corresponding to the terminal request, and transmits the scenario to the terminal device 1.
  • the terminal device 1 interprets a scenario including the driving of the driver possessed by self, operates the driver, and performs desired processing. (Specific example 2)
  • the specific example 2 is an example in which the terminal device request transmitted from the terminal device 1 is interpreted by the server device 2 and the driver of the terminal device 1 is operated from the server device 2.
  • the second specific example is an example of an operation that can realize different operations in the terminal device 1 based on the history of the operation of the user of the terminal device 1. More specifically, in the second example, when the user of the terminal device 1 touches the chest of the character displayed on the terminal device 1 or more by a threshold or more, the user's preference for the terminal device 1 decreases, and the user's preference increases. A process in which the motion of the character is different from that in the case where the value of.
  • the positivity is managed in one of three stages of “high”, “medium” and “low”.
  • the user of the terminal identifier “101” touches the chest of the character identified by the character identifier “1” once and the face once.
  • the scenario generation unit 207 holds the character management table shown in FIG. 14 in order to generate a scenario.
  • the character management table has "ID”, “character ID” and “data”.
  • Data has “image” and “voice”.
  • ID is information for identifying a record.
  • character ID is a character identifier.
  • data is data output by the terminal device 1, and the "image” is usually a moving image, but may be a still image.
  • the terminal request processing unit 206 lowers the preference by one when touching the chest or stomach of the character three or more times within three minutes.
  • the terminal receiving unit 104 receives an instruction (for example, point (xb, yb)) including coordinate information indicating a touch on the chest of the character “1” from the user.
  • point (xb, yb) is an output from the driver of the touch panel, for example.
  • the terminal request configuration unit 105 determines that the terminal request is to be configured because the partial identifier “1” has been acquired from the received instruction.
  • the terminal request configuration unit 105 determines that a terminal request is to be configured when the part identifier managed in the terminal object management table of FIG. 7 can be acquired.
  • the terminal request configuration unit 105 configures the terminal request “touch (1, 1)”. That is, the terminal request configuration unit 105 obtains “touch” from the determination that it has been touched, and obtains an object identifier “1” and an argument (1, 1) of “touch” from the partial identifier “1”.
  • the terminal request configuration unit 105 holds a function name (an example of information constituting a terminal request) according to the type of operation (touch (click), double click, drag, etc.) performed by the user on the object. It is assumed that
  • the terminal request configuration unit 105 has also acquired, for example, the terminal identifier “101”, the position information (Xc, Yc), and the current time “2012/10/28 11: 38: 25”. Then, the terminal request configuration unit 105 adds the terminal identifier, the position information, and the current time to the terminal request “touch (1, 1)”, and transmits the terminal request “touch (1, 1), 101, (Xc) , Yc), 2012/10/28 11: 38: 25 ".
  • the terminal transmission unit 106 transmits the configured terminal request to the server device 2.
  • the receiving unit 205 of the server device 2 receives the terminal request “touch (1, 1), 101, (Xc, Yc), 2012/10/28 11: 38: 25” from the terminal device 1.
  • show_char is a command for outputting a character by the terminal device, a driver identifier corresponding to an image is a “character”, and information indicating that a driver identifier corresponding to an audio is “audio reproduction” is scenario generation
  • the unit 207 is assumed to be held.
  • the transmission unit 208 transmits the configured scenario to the terminal device 1.
  • the history storage unit 209 stores all or part of the received terminal request in the history storage unit 204.
  • the history storage unit 209 stores, in the history storage unit 204, “(1, 1, touch)” which is considered to be part of the terminal request.
  • the terminal parser unit 108 holds a driver calling function corresponding to each driver identifier.
  • the terminal request configuration unit 105 configures the terminal request “touch (1, 1), 101, (Xd, Yd), 2012/10/28 11: 38: 48” to be transmitted. Do.
  • the terminal transmission unit 106 transmits the configured terminal request to the server device 2.
  • the receiving unit 205 of the server device 2 receives a terminal request from the terminal device 1. Then, the terminal request processing unit 206 interprets the terminal request received by the receiving unit 205 in the same manner as described above. Then, since “touch (1, 1)” is the third time, the terminal request processing unit 206 changes the high sensitivity “high” to “medium” in the history management table of FIG.
  • the transmission unit 208 transmits the configured scenario to the terminal device 1.
  • the history storage unit 209 stores all or part of the received terminal request in the history storage unit 204.
  • the history storage unit 209 stores, in the history storage unit 204, “(1, 1, touch)” which is considered to be part of the terminal request.
  • the character display of FIG. 15 changes as shown in FIG. Note that the character in FIG. 16 is an image in which the chest is touched but has a favorable sensitivity of “middle” and therefore the chest is hidden.
  • the terminal device in the information system in which the processing at the terminal device 1 can be continued while the terminal device 1 and the server device 2 communicate, the terminal device based on the history of the operation of the user of the terminal device 1 Different operations can be realized in 1. (Specific example 3)
  • the specific example 3 is an example in which the terminal request transmitted from the terminal device 1 is interpreted by the server device 2 and the driver of the terminal device other than the terminal device 1 that has transmitted the terminal request is operated according to the scenario.
  • the scenario is transmitted from the server device 2.
  • the third specific example is an example of an operation that can operate another terminal device based on a user operation in one terminal device.
  • the terminal reception unit 104 of the terminal device 1 receives the voice “Take my grandma”.
  • the terminal request configuration unit 105 detects that the voice received by the terminal reception unit 104 is interrupted, and determines that a terminal request is to be configured using an instruction or the like received by the terminal reception unit 104.
  • the terminal request configuration unit 105 performs speech recognition of the voice “Take grandma” and acquires the character string “Take grandma”. Also, the terminal request configuration unit 105 acquires the terminal identifier “101” stored in the terminal device 1. The terminal request configuration unit 105 also acquires position information (Xe, Ye) acquired by the GPS receiver held by the terminal device 1. The GPS receiver is, for example, one of the terminal function units 101. Also, the terminal request configuration unit 105 acquires the current time “2012/10/28 13:59:53” from a clock not shown or an external device (for example, an NTP server). Then, the terminal request configuration unit 105 configures the terminal request “101, (Xe, Ye), 2012/10/28 13:59:53,“ Take my grandma ””.
  • the terminal transmission unit 106 transmits the configured terminal request to the server device 2.
  • the receiving unit 205 of the server device 2 receives the terminal request “101, (Xe, Ye), 2012/10/28 13:59: 53,“ Take my grandma ”” from the terminal device 1.
  • the terminal request processing unit 206 and the scenario generation unit 207 interpret the terminal request received by the receiving unit 205 as follows.
  • the terminal request processing unit 206 acquires instruction content information “Take grandma” from the received terminal request.
  • the scenario generation unit 207 detects that a variable is present in the terminal request “$ person. *” “Take me”, and determines that there is a process to be performed by the server device 2.
  • the first process to be performed by the server device 2 is a process of acquiring the variable “$ person”.
  • the scenario generation unit 207 uses the instruction content information “take me grandma” and the terminal request “$ person. *“ Take me ”” to generate “grandma” corresponding to the variable “$ person”, Acquire from the instruction content information.
  • the method of acquiring "grandma” does not matter here.
  • the scenario generation unit 207 performs morphological analysis of “Come me with grandma”, acquires the word “Grandma”, and determines that it corresponds to the variable “$ people”.
  • the scenario source information is “put ($ location information, terminal); start_up (navi ()); set_destination ($ location information); route_search ($ current location, $ destination);”.
  • the transmitting unit 208 checks whether the terminal identifier “101” and the terminal identifier “103” of the grandmother's terminal device are managed as a group by the group information storage unit 203.
  • the transmitting unit 208 determines that a command such as “put ((Xe, Ye), 103)” may be transmitted to the grandmother's terminal device 1.
  • the transmission unit 208 transmits “put ((Xe, Ye), 103)” to the terminal device 1 of “103”.
  • “Put ((Xe, Ye), 103)” is a command for notifying position information (Xe, Ye) of the terminal device 1.
  • the grandma's terminal device 1 receives the position information (Xe, Ye) of the grandchild's terminal device 1 (the terminal device 1 that has transmitted the terminal request) and temporarily stores it. In addition, first, information is output to the grandma's terminal device 1 to inquire whether it is acceptable to carry out the process of providing guidance, and even when information indicating "permission" is received from the grandma's terminal device 1, It is preferable to proceed with the process of providing guidance described below.
  • the transmitting unit 208 transmits the command “start_up (navi) ();” to the terminal device 1 of “103”.
  • the grandmother's terminal device 1 receives the command "start_up (navi ());” and starts navi () according to the command. That is, in the grandmother's terminal device 1, the navigation system (one of the terminal function units) is activated. In the terminal device 1 of the grandma, it is assumed that information indicating that the scenario “start_up (navi ());” starts the navigation system is stored.
  • the transmitting unit 208 transmits the command “set_destination ($ position information);” to the terminal device of “103”.
  • the grandmother's terminal device 1 receives the command "set_destination ($ position information);” and sets the position information (Xe, Ye) as the destination in the navigation system according to the command.
  • the terminal device 1 of the grandma it is assumed that the scenario “set_destination ($ position information);” stores information indicating that “$ position information” is to be set in the destination of the navigation system.
  • the transmitting unit 208 transmits the command “route_search ($ current position, $ destination);” to the terminal device 1 of “103”.
  • the grandma's terminal device 1 substitutes the current position of the grandma's terminal device into the variable “$ current position” of the command “route_search ($ current position, $ destination);”. Further, the terminal device 1 of the grandma substitutes the position information (Xe, Ye) into the variable “$ destination”. Note that the grandma's terminal device 1 has a function of acquiring position information of a GPS receiver or the like, and can use the function to acquire “$ current position”.
  • the grandmother's terminal device 1 executes a command “route_search ((Xf, Yf), (Xe, Ye));” to perform a route search for navigation. Then, route guidance is performed by the grandmother's terminal device 1.
  • the destination in the route guidance is a position where there is a user who has voice-inputd "Take my grandmother".
  • the terminal device 1 of the grandma stores the information indicating that the route guidance between two points is performed using the navigation system in the scenario “route_search ((Xf, Yf), (Xe, Ye));” It is assumed that
  • the other terminal device 1 can be operated based on the user operation in one terminal device 1. Moreover, according to this specific example, based on the user operation in one terminal device, only the other terminal devices 1 subjected to group management can be operated. (Specific example 4)
  • Concrete example 4 is an information system in which an object can move between terminals. More specifically, the user of the terminal device 1 moves the character existing in the terminal device 1 to another terminal device (here, a terminal device (terminal "T" installed at a street corner) The case will be described. It is assumed that the user of the terminal device 1 is a user identified by the user identifier “A”.
  • the user "A” has left the terminal device 1 owned by the user at home. Then, it is assumed that the user “A” goes out in the town and is in front of the terminal "T".
  • the character of the character identifier "1" exists in the terminal device 1 (terminal identifier "101") of the user, and that (user identifier: A, terminal identifier: 101, character identifier: 1), It is assumed that the scenario generation unit 207 of the server device 2 holds it.
  • the terminal accepting unit 104 of the terminal “T” accepts the user identifier “A” and the voice “move here”.
  • the terminal request configuration unit 105 determines that the terminal request is configured using the received data.
  • the terminal request configuration unit 105 of the terminal “T” uses the user identifier “A”, the voice “move here”, and the terminal request “501” of the terminal “T” to request the terminal (501, A , "Move here" to configure. It is assumed that the terminal request configuration unit 105 has a voice recognition function and converts the voice “move here” into the character string “move here”. It is assumed that the terminal "T” holds the terminal identifier "501" in advance.
  • the terminal transmission unit 106 of the terminal “T” transmits the configured terminal request (501, A, “move here”) to the server device 2.
  • the receiving unit 205 of the server device 2 receives a terminal request (501, A, “move here”) from the terminal device 1.
  • the character information includes the image of the character.
  • the scenario generation unit 207 substitutes a value into a variable of “put_char ($ terminal identifier, ch)” to obtain “put_char (501, ch)”. It is assumed that character information is substituted for the variable “ch”.
  • the transmitting unit 208 transmits “put_char (501, ch)” to the terminal “T” identified by the terminal identifier “501”.
  • the terminal reception unit 107 of the terminal "T” receives "put_char (501, ch)". Then, the terminal parser unit 108 interprets “put_char (501, ch)”. Then, the terminal function calling unit 109 of the terminal "T” passes the data of the variable "ch” (data of the character) to the driver of the character to activate the driver of the character. Then, the character is displayed on the display of the terminal "T".
  • objects can be moved between terminals.
  • the server device 2 interprets the terminal request transmitted from the terminal device 1 and returns a scenario to the terminal device 1. However, even when the server device 2 does not receive a terminal request from the terminal device 1, the server device 2 may transmit a scenario to the terminal device 1 if a predetermined condition is satisfied.
  • the predetermined condition is, for example, that a predetermined time has come or that the state of the server device 2 satisfies a predetermined condition.
  • the condition of the state of the server device 2 satisfying the predetermined condition means, for example, that the CPU load is equal to or less than a threshold value, that the server device 2 is activated, and the like.
  • the terminal device 1 when the server device 2 goes down, the terminal device 1 is in a standby state until reception of information from the server device 2 indicating that the server device 2 has returned, until the server device 2 returns from the down state.
  • the function that the terminal device 1 originally has operates. Also, in such a case, the terminal device 1 normally holds (saves) the current state.
  • the function that the terminal device 1 originally has is, for example, a state in which the OS receives an instruction or the like from the user.
  • the terminal device 1 calls the saved state, and resumes the exchange with the server device 2.
  • the processing in the present embodiment may be realized by software. Then, this software may be distributed by software download or the like. Also, the software may be distributed by being recorded on a recording medium such as a CD-ROM. This applies to the other embodiments in the present specification.
  • the software for realizing the terminal device 1 in the present embodiment is, for example, the following program. That is, the program stores, in a storage medium, one or more driver identifiers for identifying a driver of the one or more terminal function units, and the computer is a terminal reception unit that receives one or more instructions from a user.
  • a terminal request configuration unit that constitutes a terminal request that is a request corresponding to the one or more instructions, a terminal transmission unit that transmits the terminal request to the server device, and the server device in response to the transmission of the terminal request
  • a terminal reception unit for receiving a scenario having a command and data from the data, and data passed to the one or more function units identified by the one or more driver identifiers and the one or more driver identifiers by interpreting the scenario
  • a terminal parser unit for acquiring data possessed by the scenario, and one or more identified by the one or more driver identifiers acquired by the terminal parser unit
  • the end function unit, said terminal parser passes the data acquired is a program for functioning as a terminal function calling unit for calling the one or more terminal functional unit.
  • the server device by managing current information of terminal devices by the server device, receives a terminal request composed of user's instruction or the like in two or more terminal devices, and uses the terminal request. , Processing by the server device, using the processing result, scenario source information acquired using the terminal request, and current information of the terminal device to construct a scenario and transmit it to each of two or more terminal devices An information system is described.
  • the terminal device interprets a scenario, drives a driver, and operates hardware (terminal function unit). Also, in the present embodiment, a scenario may be configured without using current information.
  • the server apparatus manages the user and the type of terminal apparatus, and the driver provided for each type of terminal apparatus is managed to manage the driver of each terminal apparatus.
  • the type of terminal device is, for example, a model name or a product number.
  • the server apparatus transmits a command to another terminal apparatus by the operation on one terminal apparatus and the other terminal apparatus processes the command.
  • an information system in which a terminal device in use can be moved for each user will be described.
  • the terminal device when the terminal device is moved, the current information of the user can be handed over to the terminal device of the movement destination.
  • an information system that stores terminal requests and generates a scenario based on the history of two or more terminal requests. That is, an information system in which a scenario to be generated is different according to the history of the user's instruction will be described.
  • An information system 20 in the present embodiment includes one or more terminal devices 1 and a server device 22.
  • FIG. 17 is a block diagram of the server apparatus 22 constituting the information system in the present embodiment.
  • the server device 22 includes a current information storage unit 200, a correspondence information storage unit 201, a server driver management unit 202, a group information storage unit 203, a history storage unit 204, a reception unit 205, a terminal request processing unit 206, a scenario generation unit 207, and transmission.
  • the unit includes a unit 208, a history storage unit 209, a reception unit 210, a statistical processing result acquisition unit 211, a statistical processing result output unit 212, a current information update unit 213, a user management information storage unit 214, and a user management information change unit 215.
  • server driver management unit 202 includes type-based driver information storage means 2021 and terminal management information storage means 2022.
  • the current information storage unit 200 constituting the server device 22 can store one or more pieces of current information for each terminal device 1.
  • the current information is information indicating the current state of the terminal device 1.
  • the current information has, for example, an object identifier of an object being output by the terminal device 1.
  • the current information includes, for example, position information indicating the position of the object being output by the terminal device 1, the size of the object, and the like.
  • the server driver management unit 202 can store, for each terminal device 1, one or more driver identifiers of the terminal function unit 101 included in one or more terminal devices 1.
  • the type-specific driver information storage unit 2021 of the server driver management unit 202 can store one or more type-specific driver information that associates a type identifier indicating the type of the terminal device 1 with one or more driver identifiers.
  • the information for correlating A and B may be information having A and B, or may be information indicating a link between A and B, or information indicating a storage location of A and a storage location of B. Information having information and the like may be used.
  • the type of the terminal device 1 is, for example, a model, or a maker, or a maker and a model.
  • the terminal management information storage unit 2022 may store one or more terminal management information that associates a terminal identifier identifying the terminal device 1 with a type identifier.
  • the scenario generation unit 207 uses the scenario source information acquired by the terminal request processing unit 206, the processing result obtained by performing the processing by the terminal request processing unit 206, and the current information corresponding to the terminal device 1. , Generate a scenario.
  • the scenario generation unit 207 may generate a scenario using the scenario source information acquired by the terminal request processing unit 206 and the processing result obtained by performing the processing by the terminal request processing unit 206.
  • the scenario generation unit 207 usually generates different scenarios depending on one or more driver identifiers stored in the server driver management unit 202.
  • the generation of a different scenario means, for example, that the scenario does not include the driver identifier of the driver that the terminal device 1 does not possess.
  • the terminal device 1 of the transmission destination of the scenario instructing to perform audio output does not have a driver (terminal function unit 101) for performing audio output, and is equipped with a display device (driver (terminal In the case of the terminal device 1 (having a functional unit 101), the information to be output is changed to a scenario to be displayed on the display device.
  • the scenario in which the information is displayed on the display device may be a scenario in which the information is output as a character string, or may be a scenario in which the information is output in a sign language or a gesture expression by a character. That is, the scenario generation unit 207 changes the scenario so that, for example, among the plurality of drivers having a function of outputting information and the terminal function unit 101, the driver and the terminal function unit 101 that the terminal device 1 has are activated.
  • the scenario generation unit 207 configures a scenario to be transmitted to the terminal device 1 that does not have a driver or the terminal function unit 101 that is an instruction included in a scenario and that outputs information
  • the scenario generation unit 207 The corresponding part may be deleted to generate a scenario. In such a case, the content of the scheduled scenario is essentially lost.
  • the scenario to be transmitted to the terminal device 1 having a driver of a display device and a driver of a speaker is reproduction of the image and sound on a terminal
  • the scenario to transmit to the terminal device 1 which does not have the driver of the speaker is a scenario including an instruction to reproduce the image on the terminal and does not include an instruction to reproduce the sound.
  • the server apparatus 22 perform a process regarding the driver which the terminal device 1 does not possess. Also, this process is normally performed by the terminal request processing unit 206.
  • the scenario generation unit 207 When movement of the terminal device 1 used by the user occurs, the scenario generation unit 207 preferably generates a scenario using current information of the old terminal device.
  • the old terminal device is the terminal device 1 before movement.
  • the transmission unit 208 transmits the scenario generated by the scenario generation unit 207 to the new terminal device.
  • the current information update unit 213 updates the current information in response to the transmission of the scenario to the terminal device 1.
  • the current information to be updated is current information of the terminal device 1 to which the scenario has been transmitted.
  • the current information update unit 213 may update the current information regardless of the transmission of the scenario to the terminal device 1. For example, in the case where the current information includes the position information of the terminal device 1 and the position information of the terminal device 1 is received from the terminal device 1, the current information updating unit 213 can change the position information of the terminal device 1. Update to the latest location information.
  • the latest position information is position information received at a time closest to the current time.
  • the user management information storage unit 214 may store one or more user management information.
  • the user management information is information that associates a user identifier identifying a user of the terminal device 1 with a terminal identifier.
  • the user management information is information for managing a terminal device currently used by the user.
  • the user management information changing unit 215 is the old terminal which is the terminal device 1 to which the terminal device 1 to be processed is currently processing.
  • the terminal identifier of the user management information is changed from the device to the new terminal device, and the terminal identifier corresponding to the user identifier of the user of the terminal device 1 that has transmitted the terminal request is the terminal identifier of the new terminal device. change.
  • the current information storage unit 200 and the user management information storage unit 214 are preferably non-volatile storage media, but can be realized also as volatile storage media. There is no limitation on the process in which current information and the like are stored in the current information storage unit 200 and the like.
  • the current information updating unit 213 and the user management information changing unit 215 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the current information update unit 213 or the like is realized by software, and the software is stored in a storage medium such as a ROM.
  • it may be realized by hardware (a dedicated circuit).
  • Step S1801 The scenario generation unit 207 configures a scenario.
  • the scenario configuration process will be described using the flowchart of FIG.
  • Step S1802 The user management information changing unit 215 determines whether the user's instruction is movement of the terminal device 1 from the terminal request or the transmitted scenario. If the terminal device 1 has moved, the process goes to step S1803, and if the terminal device 1 has not moved, the process returns to step S501.
  • Step S1803 The user management information changing unit 215 performs user management so that the terminal device 1 that has transmitted the terminal request is changed from the old terminal device that is the terminal device 1 currently performing processing to the new terminal device.
  • the terminal identifier that the information has and that corresponds to the user identifier of the user of the terminal device 1 that has transmitted the terminal request is changed to the terminal identifier of the new terminal device.
  • Step S1804 The current information update unit 213 updates the current information in response to the transmission of the scenario to the terminal device 1. If there is no need to update the current information, nothing is done in step S1804. It returns to step S501.
  • the processing is ended by an interruption of power off or processing end.
  • step S1801 scenario configuration processing in step S1801 will be described using the flowchart in FIG.
  • Step S1901 The scenario generation unit 207 acquires the terminal identifier possessed by the terminal request, and arranges it on the memory.
  • Step S1902 The scenario generation unit 207 acquires the processing result of step S504 and arranges the result on the memory.
  • the processing result of step S504 may not exist.
  • Step S1903 The scenario generation unit 207 acquires current information corresponding to the terminal identifier acquired in step S1901 from the current information storage unit 200, and arranges the current information in the memory.
  • Step S1904 The scenario generation unit 207 substitutes 1 into the counter i.
  • Step S1905 The scenario generation unit 207 determines whether or not scenario source information of the i-th processing unit exists in the scenario source information acquired in step S502. If the i-th process unit exists, the process goes to step S1906, and if the i-th process unit does not exist, the process returns to the upper level process.
  • the processing unit is, for example, a unit that the scenario generation unit 207 parses, and is, for example, a line.
  • Step S1906 The scenario generation unit 207 interprets scenario source information of the i-th processing unit.
  • Step S1907 The scenario generation unit 207 acquires necessary information from the memory using the interpretation result in step S1906. Then, the scenario generation unit 207 generates a scenario using scenario source information of the i-th processing unit and the acquired information. For example, the scenario generation unit 207 substitutes the acquired information into a variable of scenario source information of the i-th processing unit, and acquires a scenario.
  • Step S1908 The scenario generation unit 207 adds the scenario acquired in step S1907 to the buffer.
  • Step S1909 The scenario generation unit 207 increments the counter i by one. It returns to step S1905.
  • FIG. 1 A conceptual diagram of the information system is FIG.
  • FIG. 6 is an example of a terminal driver management table stored in the terminal driver management unit 102 of the terminal device 1.
  • FIG. 7 is an example of the terminal object management table stored in the terminal object storage unit 103 of the terminal device 1.
  • FIG. 20 is a correspondence information management table stored in the correspondence information storage unit 201 of the server device 22.
  • the structure of the correspondence information management table is the same as that shown in FIG.
  • “call ($ character)” is a scenario in which the character specified by “$ character” is called to the terminal device 1 and output from the terminal device 1.
  • “volumne_up ($ terminal apparatus identifier, $ numerical value)” is a scenario in which the volume output in the terminal apparatus 1 identified by the “$ terminal apparatus identifier” is increased by “$ numerical value”.
  • tel (terminal,“ turn on power ”)” is a scenario in which a call is made to the terminal device 1 identified by the terminal and “turn on power” is output. Needless to say, such a scenario or function is an example.
  • FIG. 21 is an example of the type-specific driver information management table stored in the type-specific driver information storage unit 2021 of the server driver management unit 202 of the server device 22.
  • the type-specific driver information management table stores one or more records having “ID”, “type identifier”, and “driver identifier”. “ID” is information for identifying a record.
  • the “type identifier” is information for identifying the type of the terminal device 1.
  • the “driver identifier” is information for identifying a driver. That is, the type-specific driver information table manages the drivers held by the terminal device 1 for each type of one or more terminal devices 1.
  • FIG. 22 is a terminal management information management table of the terminal management information storage unit 2022.
  • the terminal management information management table is a table for managing the type of the terminal device 1 and stores one or more records having “ID”, “terminal identifier” and “type identifier”.
  • FIG. 10 is a group information management table stored in the group information storage unit 203 of the server device 22.
  • FIG. 11 is an example of a history management table stored in the history storage unit 204 of the server device 22.
  • FIG. 23 is a current information management table stored in the current information storage unit 200.
  • the current information management table is a table for managing the current state of each terminal device 1.
  • the current information management table stores one or more records having “ID”, “terminal identifier”, and “current information”.
  • the “current information” includes “object identifier”, “output position”, “image ID”, “power source” and the like.
  • the "object identifier” of the "current information” is the object identifier output by the terminal device 1
  • the "output position” is the output position of the object on the screen
  • the "image ID” is output by the terminal device 1
  • This information is information for identifying an image, and is information corresponding to the value of the record number “ID” of the object management table of FIG.
  • power is information indicating whether the power is on or off.
  • FIG. 24 is a user management information management table stored in the user management information storage unit 214.
  • the user management information management table is a table for managing terminal devices currently used by the user, and stores one or more records having “ID”, “user identifier” and “terminal identifier”.
  • FIG. 25 is a character management table held by the scenario generation unit 207.
  • the character management table has "ID”, “character ID”, "name” and “data”.
  • "Data” has “image”, “voice” and “partial information”.
  • the "partial information” has a “partial identifier” and “partial area information”.
  • “data” includes “whole area information”.
  • the "whole area information” is the same information as the "whole area information” in FIG.
  • “ID” is information for identifying a record.
  • character ID is a character identifier.
  • name is the name of the character.
  • “data” is data output by the terminal device 1, and the "image” is usually a moving image, but may be a still image.
  • FIG. 12 is a related user management table held by the terminal request processing unit 206.
  • the specific example 1 is an information system in which an instruction (here, characters) is transmitted from the server device 22 to the terminal device 1 by interpreting the command input to the terminal device 1 by the server device 22 and managing the state of the terminal device 1
  • an instruction here, characters
  • the terminal reception unit 104 receives the voice “Y, come out”.
  • the current information of the terminal device 1 currently identified by the terminal identifier "101" is "object identifier: NULL (-), output position: NULL (-), image ID : NULL ( ⁇ ),..., Since the power supply is “1 (ON)”, the power is turned on in the terminal device 1, but the object is not displayed.
  • the terminal request configuration unit 105 determines that the terminal request is to be configured because the voice is interrupted. Then, the terminal request configuration unit 105 digitizes the voice “Y, come out” to obtain voice data. In addition, the terminal request configuration unit 105 acquires a terminal identifier “101” stored in advance and position information (Xa, Ya) acquired by a GPS receiver (not shown). Also, the terminal request configuration unit 105 acquires the current time “2012/10/27 10:38:51” from a clock not shown or an external device (for example, an NTP server). Then, the terminal request configuration unit 105 configures the terminal request “101, (Xa, Ya), 2012/10/27 10: 38: 51, voice data“ Y, come out ””.
  • the terminal identifier "101" is static terminal-specific information, and the position information and the current time are dynamic terminal-specific information. Also, the voice data "Y, come out” corresponds to the instruction content information. However, this terminal request does not have an object identifier of an instruction target. Also, although the terminal request here has "terminal identifier, position information, current time, instruction content information", it goes without saying that the structure of this terminal request is an example.
  • the terminal transmission unit 106 transmits the configured terminal request to the server device 22.
  • the receiving unit 205 of the server device 22 requests the terminal device 1 to make the terminal request "101, (Xa, Ya), 2012/10/27 10: 38: 51, voice data" Y, come out "". To receive.
  • the terminal request processing unit 206 acquires the instruction content information “voice data“ Y, out ”” from the received terminal request. Then, the terminal request processing unit 206 performs speech recognition of the voice data “Y, come out” and acquires the character string “Y, come out”.
  • the terminal request processing unit 206 searches the correspondence information management table of FIG. 20 using the character string “Y, out,” corresponding to the instruction content information.
  • the character string corresponding to the instruction content information may be instruction content information.
  • the scenario generation unit 207 obtains the value “Y-Chan” of the variable “$ -character” from the terminal request “$ -character“ Come-out ”” and the character string “Y-Chan, Came out”.
  • the transmitting unit 208 transmits the configured scenario “call (image, sound)” to the terminal device 1.
  • the transmitting unit 208 holds information on the transmission destination (for example, an IP address) corresponding to the terminal identifier “101”, and transmits the scenario to the terminal device 1 using the information on the transmission destination.
  • the history storage unit 209 uses the received terminal request to request history “101, (Xa, Ya), 2012/10/27 10: 38: 51,“ Y, come out ””. It is stored in the history storage unit 204.
  • the history storage unit 209 may store scenario source information “call ($ character)” or a scenario “call (image, voice)” in the history storage unit 204. In such a case, part of the terminal request may be scenario source information or a generated scenario.
  • the terminal reception unit 107 of the terminal device 1 receives the scenario “call (image, voice)” from the server device 22.
  • the terminal parser unit 108 interprets the received scenario and the (image, sound) character is displayed on the display. That is, the terminal function calling unit 109 executes the driver calling function “show_char (image)” corresponding to the driver identifier “character” using the scenario “call (image, voice)” to display the character on the display. Also, the terminal function calling unit 109 executes the driver calling function “voice (voice)” corresponding to the driver identifier “voice reproduction” using the scenario “call (image, voice)” to reproduce the character voice. .
  • the display flag is “1”, but the display flag is originally “0” and the display flag is changed to “1”.
  • the processing in the terminal device 1 is continued, and the server device 22 interprets the terminal request transmitted from the terminal device 1 . Then, at least a part of the processing is performed by the server device 22, and the server device 22 configures a scenario using the processing result and scenario source information corresponding to the terminal request, and transmits the scenario to the terminal device 1. Then, the terminal device 1 interprets a scenario including the driving of the driver possessed by self, operates the driver, and performs desired processing. Further, in the server device 22, the current state of the terminal device 1 is managed by the current information management table. (Specific example 2)
  • the second specific example is an example in which the terminal device request transmitted from the terminal device 1 is interpreted by the server device 22, and the driver of the terminal device 1 is operated from the server device 22. Then, the second specific example is an example of an operation that can realize different operations in the terminal device 1 based on the history of the operation of the user of the terminal device 1. More specifically, when the user of the terminal device 1 touches the chest of the character displayed on the terminal device 1 or more by a threshold or more, the user's preference of the terminal device 1 is lowered and compared with the case where the user's preference is high. Then, the processing in which the motion of the character is different will be described. Further, in the second example, based on the information of the driver of the terminal device 1 managed by the server device 22, an operation in which the scenario transmitted to the terminal device 1 is different will be described.
  • the positivity is managed in one of three stages of “high”, “medium” and “low”.
  • the user of the terminal identifier “101” touches the chest of the character identified by the character identifier “1” once and the face once.
  • the terminal request processing unit 206 lowers the preference by one when touching the chest or stomach of the character three or more times within three minutes.
  • the terminal receiving unit 104 receives an instruction (for example, point (xb, yb)) including coordinate information indicating a touch on the chest of the character “1” from the user.
  • point (xb, yb) is an output from the driver of the touch panel, for example.
  • the terminal request configuration unit 105 determines that the terminal request is to be configured because the partial identifier “1” has been acquired from the received instruction.
  • the terminal request configuration unit 105 determines that a terminal request is to be configured when the part identifier managed in the terminal object management table of FIG. 7 can be acquired.
  • the terminal request configuration unit 105 configures the terminal request “touch (1, 1)”. That is, the terminal request configuration unit 105 obtains “touch” from the determination that it has been touched, and obtains an object identifier “1” and an argument (1, 1) of “touch” from the partial identifier “1”.
  • the terminal request configuration unit 105 holds a function name (an example of information constituting a terminal request) according to the type of operation (touch (click), double click, drag, etc.) performed by the user on the object. It is assumed that
  • the terminal request configuration unit 105 has also acquired, for example, the terminal identifier “101”, the position information (Xc, Yc), and the current time “2012/10/28 11: 38: 25”. Then, the terminal request configuration unit 105 adds the terminal identifier, the position information, and the current time to the terminal request “touch (1, 1)”, and transmits the terminal request “touch (1, 1), 101, (Xc) , Yc), 2012/10/28 11: 38: 25 ".
  • the terminal transmission unit 106 transmits the configured terminal request to the server device 22.
  • the receiving unit 205 of the server device 22 receives the terminal request “touch (1, 1), 101, (Xc, Yc), 2012/10/28 11: 38: 25” from the terminal device 1.
  • show_char is a command for outputting a character by the terminal device, a driver identifier corresponding to an image is a “character”, and information indicating that a driver identifier corresponding to an audio is “audio reproduction” is scenario generation
  • the unit 207 is assumed to be held.
  • the transmission unit 208 transmits the configured scenario to the terminal device 1.
  • the history storage unit 209 stores all or part of the received terminal request in the history storage unit 204.
  • the history storage unit 209 stores, in the history storage unit 204, “(1, 1, touch)” which is considered to be part of the terminal request.
  • the current information update unit 213 updates the current information in response to the transmission of the scenario to the terminal device 1. That is, the current information update unit 213 changes the value of the image ID corresponding to the terminal device identifier “101” to “2” in the current information management table of FIG.
  • the terminal parser unit 108 holds a driver calling function corresponding to each driver identifier.
  • the terminal request configuration unit 105 configures the terminal request “touch (1, 1), 101, (Xd, Yd), 2012/10/28 11: 38: 48” to be transmitted. Do.
  • the terminal transmission unit 106 transmits the configured terminal request to the server device 22.
  • the receiving unit 205 of the server device 22 receives a terminal request from the terminal device 1. Then, the terminal request processing unit 206 interprets the terminal request received by the receiving unit 205 in the same manner as described above. Then, since “touch (1, 1)” is the third time, the terminal request processing unit 206 changes the high sensitivity “high” to “medium” in the history management table of FIG.
  • the transmission unit 208 transmits the configured scenario to the terminal device 1.
  • the history storage unit 209 stores all or part of the received terminal request in the history storage unit 204.
  • the history storage unit 209 stores, in the history storage unit 204, “(1, 1, touch)” which is considered to be part of the terminal request.
  • the current information update unit 213 changes the value of the image ID corresponding to the terminal device identifier “101” to “3” in the current information management table of FIG.
  • the character display of FIG. 15 changes as shown in FIG. Note that the character in FIG. 16 is an image in which the chest is touched but has a favorable sensitivity of “middle” and therefore the chest is hidden.
  • the terminal device in the information system in which the processing by the terminal device 1 can be continued while the terminal device 1 and the server device 22 communicate, the terminal device based on the history of the operation of the user of the terminal device 1 Different operations can be realized in 1. (Specific example 3)
  • the specific example 3 is an example in which the server request 22 is interpreted by the server device 22 from the terminal request transmitted from the terminal device 1, and the driver of the terminal device other than the terminal device 1 transmitting the terminal request is operated from the server device 22.
  • the third specific example is an example of an operation that can operate another terminal device 1 based on a user operation in one terminal device 1.
  • the terminal reception unit 104 of the terminal device 1 receives the voice “Take my grandma”.
  • the terminal request configuration unit 105 detects that the voice received by the terminal reception unit 104 is interrupted, and determines that a terminal request is to be configured using an instruction or the like received by the terminal reception unit 104.
  • the terminal request configuration unit 105 performs speech recognition of the voice “Take grandma” and acquires the character string “Take grandma”. Also, the terminal request configuration unit 105 acquires the terminal identifier “101” stored in the terminal device 1. The terminal request configuration unit 105 also acquires position information (Xe, Ye) acquired by the GPS receiver held by the terminal device 1. The GPS receiver is, for example, one of the terminal function units 101. Also, the terminal request configuration unit 105 acquires the current time “2012/10/28 13:59:53” from a clock not shown or an external device (for example, an NTP server). Then, the terminal request configuration unit 105 configures the terminal request “101, (Xe, Ye), 2012/10/28 13:59:53,“ Take my grandma ””.
  • the terminal transmission unit 106 transmits the configured terminal request to the server device 22.
  • the receiving unit 205 of the server device 22 receives the terminal request “101, (Xe, Ye), 2012/10/28 13:59: 53,“ Take my grandma ”” from the terminal device 1.
  • the terminal request processing unit 206 acquires instruction content information “Take a grandmother” from the terminal request received by the reception unit 205.
  • the scenario generation unit 207 detects that a variable is present in the terminal request “$ person. *” “Take me”, and determines that there is a process to be performed by the server device 22.
  • the first process to be performed by the server device 22 is a process of acquiring the variable “$ persons”.
  • the scenario generation unit 207 uses the instruction content information “take me grandma” and the terminal request “$ person. *“ Take me ”” to generate “grandma” corresponding to the variable “$ person”, Acquire from the instruction content information.
  • the method of acquiring "grandma” does not matter here.
  • the scenario generation unit 207 performs morphological analysis of “Come me with grandma”, acquires the word “Grandma”, and determines that it corresponds to the variable “$ people”.
  • the power-off means that the telephone function is operating and the other functions are stopped.
  • the transmitting unit 208 transmits the scenario "tel (103," Please turn on the power ")" to the terminal device 1 (terminal device 1 of grandma) identified by the terminal identifier "103". That is, the transmitting unit 208 calls the grandma's terminal device 1 and transmits "Please turn on the power".
  • the transmitting unit 208 holds the telephone number corresponding to the terminal device identifier "103".
  • the driver of the telephone of the grandmother's terminal device 1 is activated, and when the grandma picks up the handset, "Please turn on the power" is uttered. Then, it is assumed that the grandma turns on the power of the terminal device 1 (functions other than the telephone are also operable).
  • the scenario generation unit 207 obtains scenario source information “put ($ location information, terminal); start_up (navi ()); set_destination ($ location information); route_search ($ current location, $ destination);”. Do.
  • the transmitting unit 208 checks whether the terminal identifier “101” and the terminal identifier “103” of the grandmother's terminal device are managed as a group by the group information storage unit 203.
  • the transmitting unit 208 determines that a command such as “put ((Xe, Ye), 103)” may be transmitted to the grandmother's terminal device 1.
  • the transmission unit 208 transmits “put ((Xe, Ye), 103)” to the terminal device 1 of “103”.
  • “Put ((Xe, Ye), 103)” is a command for notifying position information (Xe, Ye) of the terminal device 1.
  • the grandma's terminal device 1 receives the position information (Xe, Ye) of the terminal device 1 and temporarily stores it. In addition, first, information is output to the grandma's terminal device 1 to inquire whether it is acceptable to carry out the process of providing guidance, and even when information indicating "permission" is received from the grandma's terminal device 1, It is preferable to proceed with the process of providing guidance described below.
  • the transmitting unit 208 transmits the command “start_up (navi) ();” to the terminal device 1 of “103”.
  • the grandmother's terminal device 1 receives the command "start_up (navi ());” and starts navi () according to the command. That is, in the grandmother's terminal device 1, the navigation system (one of the terminal function units) is activated. In the terminal device 1 of the grandma, it is assumed that information indicating that the scenario “start_up (navi ());” starts the navigation system is stored.
  • the transmitting unit 208 transmits the command “set_destination ($ position information);” to the terminal device of “103”.
  • the grandmother's terminal device 1 receives the command "set_destination ($ position information);” and sets the position information (Xe, Ye) as the destination in the navigation system according to the command.
  • the terminal device 1 of the grandma it is assumed that the scenario “set_destination ($ position information);” stores information indicating that “$ position information” is to be set in the destination of the navigation system.
  • the transmitting unit 208 transmits the command “route_search ($ current position, $ destination);” to the terminal device 1 of “103”.
  • the grandma's terminal device 1 substitutes the current position of the grandma's terminal device into the variable “$ current position” of the command “route_search ($ current position, $ destination);”. Further, the terminal device 1 of the grandma substitutes the position information (Xe, Ye) into the variable “$ destination”. Note that the grandma's terminal device 1 has a function of acquiring position information of a GPS receiver or the like, and can use the function to acquire “$ current position”.
  • the grandmother's terminal device 1 executes a command “route_search ((Xf, Yf), (Xe, Ye));” to perform a route search for navigation. Then, route guidance is performed by the grandmother's terminal device 1.
  • the destination in the route guidance is a position where there is a user who has voice-inputd "Take my grandmother".
  • the terminal device 1 of the grandma stores the information indicating that the route guidance between two points is performed using the navigation system in the scenario “route_search ((Xf, Yf), (Xe, Ye));” It is assumed that
  • the other terminal device 1 can be operated based on the user operation in one terminal device 1. Moreover, according to this specific example, based on the user operation in one terminal device 1, only the other terminal devices 1 managed in the group can be operated. (Specific example 4)
  • Concrete example 4 is an information system in which an object can move between terminals. More specifically, the case where the user of the terminal device 1 moves a character existing in the terminal device 1 to another terminal device will be described. It is assumed that the user of the terminal device 1 is a user identified by the user identifier “A”.
  • the user "A” has input the user identifier "A” and the voice “move here” to the terminal device 1 (hereinafter, the terminal "501") identified by the terminal identifier "501". And.
  • the terminal accepting unit 104 of the terminal “501” accepts the user identifier “A” and the voice “move here”.
  • the terminal request configuration unit 105 determines that the terminal request is configured using the received data.
  • the terminal request configuration unit 105 of the terminal “501” uses the user identifier “A”, the voice “move here”, and the terminal request “501” of the terminal “501” to request the terminal (501, A , "Move here” to configure. It is assumed that the terminal request configuration unit 105 has a voice recognition function and converts the voice “move here” into the character string “move here”. It is assumed that the terminal "501” holds the terminal identifier "501" in advance.
  • the terminal transmission unit 106 of the terminal “501” transmits the configured terminal request (501, A, “move here”) to the server device 22.
  • the receiving unit 205 of the server device 22 receives a terminal request (501, A, “move here”) from the terminal device 1.
  • the character information includes the image of the character.
  • the scenario generation unit 207 substitutes a value into a variable of “put_char ($ terminal identifier, ch)” to obtain “put_char (501, ch)”. It is assumed that character information is substituted for the variable “ch”.
  • the transmitting unit 208 transmits “put_char (501, ch)” to the terminal “501” identified by the terminal identifier “501”.
  • the user management information change unit 215 determines that the user's instruction is movement of the terminal device 1 from the terminal request or the transmitted scenario. Then, the user management information changing unit 215 changes the terminal identifier corresponding to the user identifier “A” in the user management information management table of FIG. 24 from “101” to “501”.
  • the current information update unit 213 updates the current information in response to the transmission of the scenario to the terminal device 1. That is, in the current information management table of FIG. 23, the current information update unit 213 sets the attribute value of the object identifier corresponding to the terminal device identifier "101" to "NULL (-)" and the attribute value of the image ID to the value of the image ID. Change to "NULL (-)". In addition, the current information update unit 213 changes the attribute value of the object identifier corresponding to the terminal device identifier “501” to “1”, and the attribute value of the image ID to the value of the image ID “1”.
  • the terminal reception unit 107 of the terminal "501” receives "put_char (501, ch)". Then, the terminal parser unit 108 interprets “put_char (501, ch)”. Then, the terminal function calling unit 109 of the terminal "501” passes data (data of the character) of the variable "ch” to the driver of the character, and activates the driver of the character. Then, the character is displayed on the display of the terminal "501".
  • objects can be moved between terminals.
  • the server device by managing the driver of the terminal device by the server device, complex information processing can be performed while effectively using one or more pieces of hardware in the terminal device whose information processing capability is not sufficient. It can do. Moreover, according to the present embodiment, registration and management of the driver included in the terminal device can be easily performed.
  • the server device 22 interprets the terminal request transmitted from the terminal device 1 and returns a scenario to the terminal device 1. However, even when the server device 22 does not receive a terminal request from the terminal device 1, the server device 22 may transmit a scenario to the terminal device 1 if a predetermined condition is satisfied.
  • the predetermined conditions include, for example, that a predetermined time has come, and that the state of the server device 22 satisfies a predetermined condition.
  • the condition of the server device 22 satisfying the predetermined condition means, for example, that the CPU load is equal to or less than a threshold value, that the server device 22 is activated, and the like.
  • the terminal device 1 when the server device 22 goes down, the terminal device 1 is in a standby state until reception of information from the server device 22 indicating that the server device 22 has returned, until the server device 22 returns from down.
  • the function that the terminal device 1 originally has operates. Also, in such a case, the terminal device 1 normally holds (saves) the current state.
  • the function that the terminal device 1 originally has is, for example, a state in which the OS receives an instruction or the like from the user.
  • the terminal device 1 calls the saved state and resumes the exchange with the server device 22.
  • software for realizing the server device 22 in the present embodiment is, for example, the following program. That is, this program stores, in a storage medium, one or more pieces of correspondence information indicating correspondence between information making up a terminal request and scenario source information that is the source of information making up a scenario, and a terminal device Current information, which is information indicating the current state of each of the terminal devices, is stored for each terminal device, and the computer interprets the terminal request received by the receiving unit, the receiving unit that receives the terminal request from the terminal device, A terminal request processing unit that acquires scenario source information corresponding to a terminal request from the storage medium and performs processing corresponding to the terminal request received by the receiving unit; and scenario source information acquired by the terminal request processing unit A scenario generation unit for generating a scenario using the processing result obtained by processing the terminal request processing unit and current information corresponding to the terminal device; and the scenario generation A transmitter but which transmits the generated scenario to the terminal device, in response to the transmission to the terminal device of the scenario, a program for functioning as a current information updating unit for updating the
  • FIG. 26 also shows the appearance of a computer that implements the information system of the various embodiments described above by executing the programs described herein.
  • the embodiments described above can be implemented with computer hardware and computer programs executed thereon.
  • FIG. 26 is a schematic view of this computer system 300
  • FIG. 27 is a block diagram of the system 300.
  • a computer system 300 includes a computer 301 including a CD-ROM drive, a keyboard 302, a mouse 303, a monitor 304, a microphone 305, and a speaker 306.
  • a computer 301 includes an MPU 3013, a bus 3014, a ROM 3015, a RAM 3016, and a hard disk 3017 in addition to the CD-ROM drive 3012.
  • the bus 3014 is connected to the MPU 3013 and the CD-ROM drive 3012.
  • the ROM 3015 also stores programs such as a boot-up program.
  • the RAM 3016 is connected to the MPU 3013 and is for temporarily storing instructions of the application program and providing a temporary storage space.
  • the hard disk 3017 is for storing an application program, a system program, and data.
  • the computer 301 may further include a network card for providing a connection to the LAN.
  • the program that causes the computer system 300 to execute the functions of the information system of the above-described embodiment may be stored in the CD-ROM 3101, inserted into the CD-ROM drive 3012, and further transferred to the hard disk 3017.
  • the program may be transmitted to the computer 301 via a network (not shown) and stored in the hard disk 3017.
  • the program is loaded into the RAM 3016 upon execution.
  • the program may be loaded directly from the CD-ROM 3101 or from the network.
  • the program may not necessarily include an operating system that causes the computer 301 to execute the function of the information system of the above-described embodiment, a third party program, and the like.
  • the program needs to call only an appropriate function (module) in a controlled manner, and include only a part of an instruction that enables a desired result to be obtained. It is well known how the computer system 300 operates, and the detailed description is omitted.
  • the computer that executes the program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
  • two or more communication means existing in one apparatus may be physically realized by one medium.
  • each process may be realized by centralized processing by a single device, or may be realized by distributed processing by a plurality of devices.
  • the information system according to the present invention includes at least one piece of hardware driven by a driver, and in a terminal device having insufficient information processing capability, effectively using the one or more pieces of hardware. It has the effect that complex information processing can be performed, and is useful as an information system or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】情報処理能力が十分でない端末装置において複雑な情報処理が行えなかった。 【解決手段】端末装置とサーバ装置を具備する情報システムにおけるサーバ装置であって、端末要求を構成する情報とシナリオ元情報との対応を示す1以上の対応情報を格納し得る対応情報格納部と、端末装置から端末要求を受信する受信部と、端末要求を解釈し、端末要求に対応するシナリオ元情報を取得し、かつ端末要求に対応する処理を行う端末要求処理部と、端末要求処理部が取得したシナリオ元情報と端末要求処理部206の処理結果とを用いて、シナリオを生成するシナリオ生成部と、シナリオ生成部が生成したシナリオを端末装置に送信する送信部とを具備する情報システムにより、ドライバにより駆動される1以上のハードウェアを具備し、かつ情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える。

Description

情報システム、サーバ装置、端末装置、および情報処理方法
 本発明は、端末装置の操作に応じて、サーバから端末装置に端末側ドライバ動作のためのコマンドを送信する情報システム等に関するものである。
 従来、クライアント側におけるWebブラウザの機能を有効に活用することによってサーバ側の負担を軽減しつつ、ダイナミックな画面展開を図ることができるクライアント・サーバシステムがあった(特許文献1参照)。
特開2003-186792号公報(第1頁、第1図等)
 しかしながら、従来のシステムにおいては、ドライバにより駆動される1以上のハードウェアを具備し、かつ情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行えなかった。
 本第一の発明の情報システムは、1または2以上の端末装置とサーバ装置とを具備する情報システムであって、端末装置は、ドライバにより駆動される1以上の端末機能部と、1以上の端末機能部のドライバを識別する1以上のドライバ識別子を格納し得る端末ドライバ管理部と、ユーザからの1以上の指示を受け付ける端末受付部と、1以上の指示に対応する要求である端末要求を構成する端末要求構成部と、端末要求をサーバ装置に送信する端末送信部と、端末要求の送信に対応して、サーバ装置からコマンドとデータとを有するシナリオを受信する端末受信部と、シナリオを解釈し、1以上のドライバ識別子、および1以上のドライバ識別子で識別される1以上の機能部に渡すデータであり、シナリオが有するデータを取得する端末パーサ部と、端末パーサ部が取得した1以上のドライバ識別子で識別される1以上の端末機能部に、端末パーサ部が取得したデータを渡し、1以上の端末機能部を呼び出す端末機能呼出部とを具備し、サーバ装置は、端末要求を構成する情報とシナリオを構成する元になる情報であるシナリオ元情報との対応を示す1以上の対応情報を格納し得る対応情報格納部と、端末装置から端末要求を受信する受信部と、受信部が受信した端末要求を解釈し、端末要求に対応するシナリオ元情報を、対応情報格納部から取得し、かつ、受信部が受信した端末要求に対応する処理を行う端末要求処理部と、端末要求処理部が取得したシナリオ元情報と、端末要求処理部が処理を行って得た処理結果とを用いて、シナリオを生成するシナリオ生成部と、シナリオ生成部が生成したシナリオを端末装置に送信する送信部とを具備する情報システムである。
 かかる構成により、ドライバにより駆動される1以上のハードウェアを具備し、かつ情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える。
 また、本第二の発明の情報システムは、第一の発明に対して、端末装置は、1以上のオブジェクトを格納し得る端末オブジェクト格納部と、1以上のオブジェクトを出力する端末オブジェクト出力部とをさらに具備し、シナリオは、オブジェクトの動作を示すコマンドである動作コマンドを有し、端末パーサ部は、シナリオを解釈し、シナリオから動作コマンドを取得し、端末オブジェクト出力部は、動作コマンドに従って、動作コマンドに対応するオブジェクトを動作させる情報システムである。
 かかる構成により、ドライバにより駆動される1以上のハードウェアを具備し、かつ情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、アニメーション等のオブジェクトの複雑な動作の処理が行える。
 また、本第三の発明の情報システムは、第一または第二の発明に対して、サーバ装置は、端末要求の一部または全部である要求履歴を格納し得る履歴格納部と、受信部が受信した端末要求の一部または全部である要求履歴を履歴格納部に蓄積する履歴蓄積部とをさらに具備し、シナリオ生成部は、受信部が受信した端末要求、および履歴格納部に格納されている要求履歴を用いてシナリオを生成する情報システムである。
 かかる構成により、端末装置のユーザの操作の履歴に基づいて、端末装置において異なる動作を実現できる。
 また、本第四の発明の情報システムは、第一から第三いずれかの発明に対して、サーバ装置は、端末装置が具備している端末機能部のドライバを識別する1以上のドライバ識別子を格納し得るサーバドライバ管理部をさらに具備し、シナリオ生成部は、サーバドライバ管理部に格納されている1以上のドライバ識別子に応じて、生成するシナリオが異なる情報システムである。
 かかる構成により、端末装置のハードウェア構成に応じた、端末装置における適切な動作を実現できる。
 また、本第五の発明の情報システムは、第三または第四の発明に対して、サーバ装置は、要求履歴を統計処理し、統計処理結果を取得する統計処理結果取得部と、統計処理結果を出力する統計処理結果出力部とをさらに具備する情報システムである。
 かかる構成により、端末装置におけるユーザ操作に対して、統計処理を行える。
 また、本第六の発明の情報システムは、第一から第五いずれかの発明に対して、シナリオ生成部が生成するシナリオは、端末装置以外の端末装置である他端末装置に対するコマンドを含み、送信部は、他端末装置に、コマンドを送信する情報システムである。
 かかる構成により、一の端末装置におけるユーザ操作に基づいて、他の端末装置を操作できる。
 また、本第七の発明の情報システムは、第六の発明に対して、サーバ装置は、2以上の端末装置のグループを特定する情報であり、2以上の各端末装置を識別する2以上の端末識別子を有するグループ情報を格納し得るグループ情報格納部をさらに具備し、送信部は、グループ情報が有する2以上のいずれかの端末識別子にも対応しない端末装置にはコマンドを送信しない情報システムである。
 かかる構成により、一の端末装置におけるユーザ操作に基づいて、グループ管理された他の端末装置のみ操作ができる。
 また、本第八の発明の情報システムは、第一の発明に対して、前記サーバ装置は、端末装置の現在の状態を示す情報であるカレント情報を、端末装置ごとに格納し得るカレント情報格納部をさらに具備し、前記シナリオ生成部は、前記端末要求処理部が取得したシナリオ元情報と、前記端末要求処理部が処理を行って得た処理結果と、前記端末装置に対応するカレント情報とを用いて、シナリオを生成し、
前記シナリオの端末装置への送信に応じて、前記カレント情報を更新するカレント情報更新部をさらに具備する情報システムである。
 かかる構成により、サーバ装置で端末装置の現在の状況を管理することにより、情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える。
 また、本第九の発明の情報システムは、第八の発明に対して、端末装置のユーザを識別するユーザ識別子と端末識別子とを対応付ける1以上のユーザ管理情報を格納し得るユーザ管理情報格納部と、前記端末要求が、処理を行う端末装置を移動する旨の要求である場合に、処理を行う端末装置が、現在処理を行っている端末装置である旧端末装置から新端末装置に変更になるように、ユーザ管理情報が有する端末識別子であり、前記端末要求を送信してきた端末装置のユーザのユーザ識別子に対応する端末識別子を、前記新端末装置の端末識別子に変更するユーザ管理情報変更部とをさらに具備し、前記シナリオ生成部は、前記旧端末装置のカレント情報を用いて、シナリオを生成し、前記送信部は、前記シナリオ生成部が生成したシナリオを新端末装置に送信する情報システムである。
 かかる構成により、処理中に、処理を行う対象の端末装置を変更できる。
 本発明による情報システムによれば、ドライバにより駆動される1以上のハードウェアを具備し、かつ情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える。
実施の形態1における情報システムの概念図 同情報システムのブロック図 同端末装置1の動作について説明するフローチャート 同端末要求を構成する処理について説明するフローチャート 同サーバ装置2の動作について説明するフローチャート 同端末ドライバ管理表を示す図 同端末オブジェクト管理表を示す図 同対応情報管理表を示す図 同サーバドライバ管理表を示す図 同グループ情報管理表を示す図 同履歴管理表を示す図 同関連ユーザ管理表を示す図 同端末装置1におけるキャラクタの表示例を示す図 同キャラクタ管理表を示す図 同端末装置1におけるキャラクタの表示例を示す図 同端末装置1におけるキャラクタの表示例を示す図 実施の形態2における情報システムを構成するサーバ装置22のブロック図 同サーバ装置22の動作について説明するフローチャート 同シナリオ構成処理について説明するフローチャート 同対応情報管理表を示す図 同種類別ドライバ情報管理表の一例を示す図 同端末管理情報管理表を示す図 同カレント情報管理表を示す図 同ユーザ管理情報管理表を示す図 同キャラクタ管理表を示す図 上記実施の形態におけるコンピュータシステムの概観図 同コンピュータシステムのブロック図
 以下、情報システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
 (実施の形態1)
 本実施の形態において、端末装置でのユーザの指示等から構成された端末要求をサーバ装置が受信し、端末要求を用いて、サーバ装置で処理を行い、その処理結果と、端末要求を用いて取得されるシナリオ元情報とを用いて、シナリオを構成し、端末装置に送信する情報システムについて説明する。なお、端末装置は、シナリオを解釈し、ドライバを駆動し、ハードウェアを動作させる。
 また、本実施の形態において、端末要求を蓄積し、2以上の端末要求の履歴に基づいて、シナリオを生成する情報システムについて説明する。つまり、ユーザの指示の履歴に応じて、生成するシナリオが異なる情報システムについて説明する。
 また、本実施の形態において、蓄積された端末要求を統計処理する情報システムについて説明する。
 また、本実施の形態において、一の端末装置に対する操作により、サーバ装置が他の端末装置にコマンドを送信し、他の端末装置がコマンドを処理する情報システムについて説明する。
 さらに、本実施の形態において、2以上の端末装置をグループ管理し、コマンドを送付できる他の端末装置はグループ内の端末装置のみに限定する情報システムについて説明する。
 図1は、本実施の形態における情報システムの概念図である。情報システムは、1または2以上の端末装置1とサーバ装置2を備える。端末装置1とサーバ装置2とは、インターネット、イントラネット等のネットワーク3により通信可能である。なお、情報システムは、サーバ装置2も、2以上具備しても良い。
 端末装置1は、いわゆるパーソナルコンピュータ、いわゆるスマートフォンや携帯電話等の携帯端末、街角に設置されている表示装置、テレビジョン装置、ナビゲーション装置等、問わない。端末装置1は、ドライバにより駆動される1以上のハードウェアを具備し、情報を出力できる装置であれば良い。
 図2は、本実施の形態における情報システムのブロック図である。
 情報システムを構成する端末装置1は、端末機能部101、端末ドライバ管理部102、端末オブジェクト格納部103、端末受付部104、端末要求構成部105、端末送信部106、端末受信部107、端末パーサ部108、端末機能呼出部109、および端末オブジェクト出力部110を備える。
 サーバ装置2は、対応情報格納部201、サーバドライバ管理部202、グループ情報格納部203、履歴格納部204、受信部205、端末要求処理部206、シナリオ生成部207、送信部208、履歴蓄積部209、受付部210、統計処理結果取得部211、および統計処理結果出力部212を備える。
 端末装置1を構成する端末機能部101は、ドライバにより駆動され、所定の機能を実現する。端末機能部101は、通常、ハードウェアであり、例えば、ディスプレイ、スピーカー、カメラ、電話等である。ただし、メール機能等を実現するソフトウェアでも良い。
 端末ドライバ管理部102は、1以上の端末機能部101のドライバを識別する1以上のドライバ識別子を格納し得る。
 端末オブジェクト格納部103は、1以上のオブジェクトを格納し得る。オブジェクトとは、データや情報と捉えても良い。オブジェクトは、例えば、アニメーションのキャラクタの情報である。オブジェクトは、データや情報と、当該データ等を処理するプログラムやスクリプト等が一体化されていても良い。なお、端末オブジェクト格納部103のオブジェクトは、通常、サーバ装置2から受信されたオブジェクトである。
 端末受付部104は、ユーザからの1以上の指示を受け付ける。指示は、データを有しても、有さなくても良い。指示とは、操作と捉えても良い。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
 指示の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。端末受付部104は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 端末要求構成部105は、1以上の指示に対応する要求である端末要求を構成する。端末要求構成部105は、通常、端末受付部104が受け付けた1以上の指示を用いて、端末要求を構成する。端末要求は、通常、指示の対象のオブジェクトの識別子を有するが、オブジェクトの識別子を有さなくても良い。端末要求は、例えば、指示の対象のオブジェクトの識別子と、指示の内容を示す指示内容情報とを有する。指示内容情報とは、指示した位置を示す座標情報または、指示した領域を特定する領域識別子、操作の種類を示す操作種類識別子および位置や領域を示す座標情報や領域識別子等である。操作種類識別子は、ドラッグ、ダブルクリック、クリック、タッチ等、操作を識別する情報である。また、端末要求は、通常、端末装置1に特有の情報である端末特有情報を含む。端末特有情報とは、例えば、端末装置1にとって変化のない静的特有情報と、動的に変化する動的特有情報とがあり得る。静的特有情報は、例えば、端末装置1の識別子である端末識別子、端末装置1のユーザの識別子等である。また、動的特有情報は、例えば、端末装置1の位置を示す端末位置情報、端末装置1が存在する場所の天気を示す天気情報、現在時刻等である。
 端末要求構成部105は、例えば、ユーザが画面に対して指示した場合に、表示中のオブジェクトのオブジェクト識別子であり、端末装置1が保持しているオブジェクト識別子を取得する。また、端末要求構成部105は、ユーザの指示した画面上の位置を示す1以上の座標情報から操作種類識別子を取得する。そして、端末要求構成部105は、オブジェクト識別子、操作種類識別子、1以上の座標情報を有する端末要求を構成する。
 端末要求構成部105は、端末受付部104が音声を受け付けた場合、当該音声を音声認識し、文字列を取得しても良い。そして、端末要求構成部105は、当該文字列を含む端末要求を構成しても良い。また、端末要求構成部105は、端末受付部104が一の言語の文を受け付けた場合、当該文を他の言語に機械翻訳し、当該機械翻訳結果を含む端末要求を構成しても良い。つまり、端末要求構成部105は、端末受付部104が受け付けた1以上の指示に対して、音声認識、機械翻訳等の処理を実行しても良い。
 また、端末要求構成部105は、端末受付部104が音声を受け付けた場合、当該音声をサンプリングし、デジタル化して、端末要求を構成しても良い。
 また、端末要求構成部105は、端末受付部104が受け付けた指示等により動作する端末機能部101の識別子またはドライバのドライバ識別子を取得し、端末要求に含めても良い。さらに、端末要求構成部105は、端末受付部104が受け付けた指示等により動作するソフトウェアの識別子を取得し、端末要求に含めても良い。
 なお、端末要求構成部105が構成する端末要求のデータ構造は問わないことは言うまでもない。なお、情報システムで扱う他のデータのデータ構造も問わない。
 端末送信部106は、端末要求構成部105が構成した端末要求をサーバ装置2に送信する。端末送信部106は、サーバ装置2に端末要求を送信するために、サーバ装置2を識別するサーバ装置識別子を保持している。なお、サーバ装置識別子は、サーバ装置2と通信するために必要な情報であり、例えば、サーバ装置2のIPアドレス、MACアドレス、サーバ装置2が情報を取得できるメールアドレス等である。
 端末受信部107は、端末要求の送信に対応して、サーバ装置2からシナリオを受信する。シナリオは、端末装置1のドライバを動作させるコマンドを有する。また、シナリオは、通常、コマンドとデータとを有する。シナリオは、例えば、端末機能部101への動作指示、表示されているオブジェクトの動作を示すコマンドである動作コマンド等を有する。端末機能部101への動作指示は、例えば、ドライバ識別子とドライバに渡すデータとを含む。シナリオは、1または2以上のコマンド等を有する。コマンド等とは、コマンド、データ、またはコマンドとデータ等である。
 端末パーサ部108は、シナリオを解釈し、1以上のドライバ識別子、およびデータを取得する。データは、1以上のドライバ識別子で識別される1以上の端末機能部101に渡すデータであり、シナリオが有するデータである。また、データは、オブジェクトでも良い。
 また、端末パーサ部108は、シナリオを解釈し、シナリオから動作コマンドを取得しても良い。
 端末機能呼出部109は、端末パーサ部108が取得した1以上のドライバ識別子で識別される1以上の端末機能部101に、端末パーサ部108が取得したデータを渡し、1以上の端末機能部101を呼び出す。ここで、呼び出すとは、動作させる、という意味であると捉えても良い。
 端末オブジェクト出力部110は、1以上のオブジェクトを出力する。ここで、オブジェクトは、通常、サーバ装置2から受信されたデータである。また、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。つまり、端末オブジェクト出力部110は、オブジェクトをディスプレイに表示しても良いし、端末オブジェクト格納部103に蓄積しても良い。
 また、端末オブジェクト出力部110は、動作コマンドに従って、動作コマンドに対応するオブジェクトを動作させる。この動作結果は、通常、ディスプレイに表示される。ただし、端末オブジェクト出力部110は、スピーカーを通して声またはサウンドにより動作結果を出力しても良いし、LED等を利用した光の明滅を行うことにより動作結果を出力しても良いし、機械の動作等によって様々な表現で動作結果を報知する等しても良い。
 サーバ装置2を構成する対応情報格納部201は、1以上の対応情報を格納し得る。対応情報は、端末要求を構成する情報とシナリオ元情報との対応を示す情報である。シナリオ元情報は、シナリオを構成する元になる情報である。対応を示す情報とは、情報そのものであっても良い。つまり、対応情報は、端末要求を構成する情報とシナリオ元情報とを有する情報でも良いし、端末要求を構成する情報へのポインタとシナリオ元情報へのポインタとを有する情報等でも良い。シナリオ元情報は、1以上のコマンドを含むコマンド列でも良いし、プログラム等でも良い。
 サーバドライバ管理部202は、1以上のドライバ識別子を格納し得る。ここでのドライバ識別子は、端末装置1が具備している端末機能部101のドライバを識別する情報である。ドライバ識別子は、例えば、ドライバ名、ドライバのディスク上での物理アドレス等である。サーバドライバ管理部202は、端末装置ごと、または端末装置の種類ごとに、1以上のドライバ識別子を格納していることは好適である。
 グループ情報格納部203は、グループ情報を格納し得る。グループ情報は、2以上の端末装置1のグループを特定する情報である。グループ情報は、2以上の各端末装置1を識別する2以上の端末識別子を有する.
 履歴格納部204は、要求履歴を格納し得る。要求履歴は、受信部205が受信した端末要求の一部または全部である。履歴格納部204は、端末装置1ごとに、要求履歴を格納していることは好適である。また、履歴格納部204は、端末装置1の端末機能部101ごとに、要求履歴を格納していても良い。ここでの端末機能部101ごととは、ドライバ識別子ごとと同意義である。さらに、履歴格納部204は、端末装置1ごとに、かつ、端末装置1で動作したソフトウェア単位で要求履歴を格納していても良い。なお、ソフトウェア単位とは、ソフトウェアの識別子に対応づける、という意義である。
 受信部205は、端末装置1から端末要求を受信する。
 端末要求処理部206は、受信部205が受信した端末要求を解釈する。そして、端末要求処理部206は、当該端末要求に対応するシナリオ元情報を、対応情報格納部201から取得する。また、端末要求処理部206は、端末要求に対応する処理を行い、処理結果を取得する。処理とは、例えば、図示しないデータベースに対する検索処理、端末要求が有する文字列に対する機械翻訳処理等、何でも良い。
 端末要求処理部206は、例えば、端末要求が音声を含む場合、当該音声を音声認識し、文字列を取得しても良い。そして、端末要求処理部206は、当該文字列を用いて、シナリオ元情報を、対応情報格納部201から取得しても良い。
 シナリオ生成部207は、端末要求処理部206が取得したシナリオ元情報と、端末要求処理部206が処理を行って得た処理結果とを用いて、シナリオを生成する。
 シナリオ生成部207は、受信部205が受信した端末要求、および履歴格納部204に格納されている要求履歴を用いてシナリオを生成する。つまり、端末要求が同じでも、要求履歴が異なれば生成するシナリオが異なることは好適である。例えば、キャラクタへのタッチ状況に応じて、動作が異なることは好適である。
 シナリオ生成部207は、サーバドライバ管理部202に格納されている1以上のドライバ識別子に応じて、生成するシナリオが異なる。ここで、生成するシナリオが異なるとは、例えば、端末装置1が保有しないドライバのドライバ識別子を含まないようにすることである。また、端末装置1が保有しないドライバに関して、サーバ装置2の端末要求処理部206が処理を行うことは好適である。
 送信部208は、シナリオ生成部207が生成したシナリオを端末装置1に送信する。また、送信部208は、他端末装置に、コマンドやシナリオを送信しても良い。他端末装置も、端末装置1と同様の構成を有することが好適であるが、コマンドを受信し、当該コマンドに応じた動作が行えれば良い。ここで、コマンドやシナリオを送信する先の他端末装置の識別子は、予め格納されていても良いし、端末装置1から受信されても良いし、他端末装置から端末装置1とペアである旨の情報が受信されても良い。端末装置1とペアである旨の情報は、例えば、端末装置1のユーザを識別するユーザ識別子である。
 ただし、送信部208は、グループ情報が有する2以上のいずれかの端末識別子にも対応しない端末装置1にはコマンドを送信しないことは好適である。
 履歴蓄積部209は、受信部205が受信した端末要求の一部または全部である要求履歴を履歴格納部204に蓄積する。端末要求の一部とは、2以上の端末要求から生成される情報も含む、とする。また、履歴蓄積部209は、端末要求が有する端末機能部101の識別子またはドライバのドライバ識別子ごとに、要求履歴を履歴格納部204に蓄積しても良い。また、履歴蓄積部209は、端末要求が有するソフトウェアの識別子ごとに、要求履歴を履歴格納部204に蓄積しても良い。また、履歴蓄積部209は、シナリオ生成部207が生成したシナリオに含まれる端末機能部101の識別子またはドライバ識別子ごとに、要求履歴を履歴格納部204に蓄積しても良い。また、履歴蓄積部209は、シナリオ生成部207が生成したシナリオに含まれるソフトウェアの識別子ごとに、要求履歴を履歴格納部204に蓄積しても良い。
 受付部210は、サーバ装置2のユーザの指示やデータ等を受け付ける。指示やデータ等の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部210は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 統計処理結果取得部211は、要求履歴を統計処理し、統計処理結果を取得する。統計処理とは、例えば、平均値を取得する処理、単位時間あたりの操作の数を取得する処理等である。統計処理の内容は問わない。
 統計処理結果出力部212は、統計処理結果取得部211が取得した統計処理結果を出力する。
 端末ドライバ管理部102、端末オブジェクト格納部103、対応情報格納部201、サーバドライバ管理部202、グループ情報格納部203、および履歴格納部204は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 端末ドライバ管理部102等にドライバ識別子等が記憶される過程は問わない。例えば、記録媒体を介してドライバ識別子等が端末ドライバ管理部102等で記憶されるようになってもよく、通信回線等を介して送信されたドライバ識別子等が端末ドライバ管理部102等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたドライバ識別子等が端末ドライバ管理部102等で記憶されるようになってもよい。
 端末送信部106、端末受信部107、受信部205、および送信部208は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
 端末パーサ部108、端末機能呼出部109、端末要求処理部206、シナリオ生成部207、履歴蓄積部209、および統計処理結果取得部211は、通常、MPUやメモリ等から実現され得る。端末パーサ部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 端末オブジェクト出力部110、および統計処理結果出力部212は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末オブジェクト出力部110は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
 次に、情報システムの動作について説明する。まず、端末装置1の動作について、図3のフローチャートを用いて説明する。
 (ステップS301)端末受付部104は、ユーザ等から指示またはデータ等を受け付けたか否かを判断する。指示等を受け付ければステップS302に行き、受け付けなければステップS301に戻る。
 (ステップS302)端末要求構成部105は、ステップS301で受け付けた指示等を用いて、端末要求を構成するか否かを判断する。端末要求を構成すると判断した場合はステップS303に行き、端末要求を構成しないと判断した場合はステップS311に行く。なお、端末要求構成部105は、例えば、端末要求を構成するイベントや指示や条件等を予め格納しており、ステップS301で受け付けた指示等が、かかる格納しているイベントや指示や条件等に合致するか否かにより、端末要求を構成するか否かを判断する。また、端末要求構成部105は、例えば、端末要求を構成しないイベントや指示や条件等を予め格納しており、ステップS301で受け付けた指示等が、かかる格納しているイベントや指示等に合致しない場合に、端末要求を構成すると判断する。なお、条件とは、例えば、N(Nは0より大きい数値)秒間、入力が無いこと、所定の入力後、N秒、経過したこと等である。また、ステップS302において、端末要求構成部105は、条件に合致するまで、ウェイトしても良い。
 (ステップS303)端末要求構成部105は、ステップS301で受け付けた指示等、またはステップS301で受け付けた指示等と一時蓄積している指示等を用いて端末要求を構成する。なお、端末要求を構成する処理について、図4のフローチャートを用いて説明する。
 (ステップS304)端末送信部106は、ステップS303で構成された端末要求を、サーバ装置2に送信する。なお、端末送信部106は、例えば、サーバ装置2のIPアドレスを保持している。
 (ステップS305)端末受信部107は、サーバ装置2からシナリオを受信したか否かを判断する。シナリオを受信すればステップS306に行き、シナリオを受信しなければステップS305に戻る。
 (ステップS306)端末パーサ部108は、ステップS305で受信されたシナリオを解釈し、1以上のドライバ識別子、およびデータを取得する。なお、ここでは、シナリオは、1以上のドライバを操作する命令を含むとする。
 (ステップS307)端末機能呼出部109は、カウンタiに1を代入する。
 (ステップS308)端末機能呼出部109は、ステップS306で取得した情報の中で、i番目のドライバの操作に関する情報が存在するか否かを判断する。i番目のドライバの操作に関する情報が存在すればステップS309に行き、存在しなければステップS301に戻る。
 (ステップS309)端末機能呼出部109は、ステップS306で取得した情報の中で、i番目のドライバの操作に関する情報に従って、i番目のドライバを動作させる。
 (ステップS310)端末機能呼出部109は、カウンタiを1、インクリメントする。ステップS308に戻る。
 (ステップS311)端末送信部106は、指示等をバッファに一時蓄積する。ステップS301に戻る。
 なお、ステップS302において、端末送信部106は、ステップS301で受け付けた指示等を用いて、端末要求を構成するか否かを判断した。しかし、指示等を受け付けた場合、常に、端末要求を構成しても良い。
 また、図3のフローチャートにおいて、シナリオの中に、ドライバを動作させる処理以外の処理が記載されていても良い。その場合、端末装置1は、シナリオに従って、動作を行う。
 さらに、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 次に、ステップS303の端末要求を構成する処理について、図4のフローチャートを用いて説明する。
 (ステップS401)端末要求構成部105は、バッファに指示等が存在するか否かを判断する。バッファに指示等が存在すればステップS402に行き、バッファに指示等が存在しなければステップS403に行く。
 (ステップS402)端末要求構成部105は、バッファから指示等を読み出す。
 (ステップS403)端末要求構成部105は、ステップS301で受け付けられた指示等を取得する。
 (ステップS404)端末要求構成部105は、ステップS403で取得した指示等、またはステップS403で取得した指示等とステップS402で読み出した指示等とを用いて、指示対象のオブジェクト識別子を取得する。なお、指示等が画面上の座標値(x,y)であり、端末要求構成部105は、現在、画面上に表示されているオブジェクトのオブジェクト識別子およびオブジェクトの表示位置(例えば、オブジェクトの輪郭を特定する座標値の集合)を保持しており、指示等が示す座標値に対応するオブジェクト識別子を取得する。なお、かかる技術は、オブジェクトの管理技術として公知であるので、詳細な説明を省略する。例えば、画面上にあるキャラクタが表示されている場合、端末要求構成部105は、タッチされたキャラクタのオブジェクト識別子を取得する。
 (ステップS405)端末要求構成部105は、ステップS403で取得した指示等、またはステップS403で取得した指示等とステップS402で読み出した指示等とを用いて、指示内容情報を取得する。指示内容情報は、例えば、タッチされたこと、ドラッグされてこと、またはタッチされたキャラクタの領域を示す領域識別子等である。例えば、端末要求構成部105は、現在、画面上に表示されているオブジェクトの領域識別子と領域を特定する位置情報(領域の輪郭を示す座標値の集合)を保持している、とする。
 (ステップS406)端末要求構成部105は、端末特有情報を取得する。端末特有情報は、例えば、GPS受信機で取得された位置情報、現在時刻、端末識別子等である。
 (ステップS407)端末要求構成部105は、オブジェクト識別子、指示内容情報、端末特有情報を有する端末要求を構成する。なお、ここで、端末要求構成部105は、オブジェクト識別子、指示内容情報、端末特有情報のうち、1または2の情報のみから端末要求を構成しても良い。上位処理にリターンする。
 なお、図4のフローチャートにおいて、端末要求の構成方法の一例を説明した。端末要求構成部105は、受け付けられた指示等から端末要求を構成すれば良く、その方法は問わない。
 例えば、端末要求構成部105は、受け付けられた音声を音声認識し、文字列を取得しても良い。そして、端末要求構成部105は、当該文字列と端末識別子等の端末特有情報により、端末要求を構成しても良い。
 次に、サーバ装置2の動作について、図5のフローチャートを用いて説明する。
 (ステップS501)受信部205は、端末装置1から端末要求を受信したか否かを判断する。端末要求を受信すればステップS502に行き、端末要求を受信しなければステップS508に行く。
 (ステップS502)端末要求処理部206は、受信部205が受信した端末要求を解釈する。そして、端末要求処理部206は、端末要求に対応するシナリオ元情報を、対応情報格納部201から取得する。
 (ステップS503)端末要求処理部206は、端末要求の解釈結果を用いて、サーバ装置2が行うべき処理が存在するか否かを判断する。サーバ装置2が行うべき処理が存在すればステップS504に行き、存在しなければステップS505に行く。端末要求処理部206は、例えば、端末要求が変数を含む場合、またはシナリオ元情報が変数を含む場合、サーバ装置2が行うべき処理が存在すると判断する。
 (ステップS504)端末要求処理部206は、端末要求が指示する処理であり、サーバ装置2が行うべき処理を行う。そして、端末要求処理部206は、処理結果を取得する。
 (ステップS505)シナリオ生成部207は、ステップS502で取得されたシナリオ元情報、またはステップS502で取得されたシナリオ元情報とステップS504で取得された処理結果とを用いて、シナリオを構成する。
 (ステップS506)送信部208は、ステップS505で構成されたシナリオを端末装置1に送信する。
 (ステップS507)履歴蓄積部209は、ステップS501で受信された端末要求の全部または一部を履歴格納部204に蓄積する。ステップS501に戻る。なお、端末要求の一部は、1以上の端末要求から構成された情報(例えば、後述する好感度)も含む、と考える。
 (ステップS508)受付部210は、統計処理を行うことを示す指示を受け付けたか否かを判断する。かかる指示を受け付けた場合はステップS509に行き、指示を受け付けない場合はステップS501に戻る。なお、かかる指示を、適宜、統計処理指示という。
 (ステップS509)統計処理結果取得部211は、履歴格納部204の1または2以上の端末要求を用いて、統計処理を行う。そして、統計処理結果取得部211は統計処理結果を取得する。
 (ステップS510)統計処理結果出力部212は、ステップS509で取得された統計処理結果を出力する。ステップS501に戻る。
 なお、図5のフローチャートにおいて、ステップS507の処理等、他の処理と独立して行える処理の順序は問わないことは言うまでもない。
 また、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 以下、本実施の形態における情報システムの具体的な動作について説明する。情報システムの概念図は図1である。
 図6は、端末装置1の端末ドライバ管理部102に格納されている端末ドライバ管理表の一例である。ここでの端末ドライバ管理表は、ある一の端末装置1が具備しているドライバの情報を管理している。また、端末ドライバ管理表は、「ID」「ドライバ識別子」「ドライバ呼出関数」を有するレコードを1以上格納している。「ID」は、端末ドライバ管理表のレコードを識別する情報である。また、「ドライバ識別子」は、ドライバを識別する情報である。さらに、「ドライバ呼出関数」は、ドライバを動作させるための関数である。ここで、「ドライバ呼出関数」の代わりに、ドライバを動作させるためのメッセージでも良いし、メソッド名でも良いし、ドライバ呼出へのポインタの情報等でも良い。つまり、端末ドライバ管理表のレコードは、ドライバを動作させるための情報であれば何でも良い。なお、ドライバ呼出関数「show_char()」はキャラクタを表示等するドライバの呼び出し関数の一例であり、「voice()」は音声を再生するドライバの呼び出し関数の一例であり、「ui()」はユーザインターフェイスをハンドリングするドライバの呼び出し関数の一例であり、「camera()」はカメラのドライバの呼び出し関数の一例であり、「tel()」は電話のドライバの呼び出し関数の一例であり、「mail()」はメールのドライバの呼び出し関数の一例であり、「data_manage()」はデータ管理を行うドライバの呼び出し関数の一例である。
 図7は、端末装置1の端末オブジェクト格納部103に格納されている端末オブジェクト管理表の一例である。ここでの端末オブジェクト管理表は、「ID」「キャラクタ」「全体領域情報」「部分情報」「表示フラグ」を有するレコードを1以上格納している。「ID」はキャラクタ識別子である。「全体領域情報」は、キャラクタが表示される画面上での領域を示す情報である。「全体領域情報」は、通常、2以上の座標情報を有する。座標情報は、通常、画面上での座標情報である。また、「部分情報」は、キャラクタの部分に関する情報である。部分とは、顔、胸、お腹、手、足等である。「部分情報」は、「部分識別子」「部分領域情報」を有する。「部分識別子」は、部分を識別するIDであり、例えば、胸は「1」、顔は「2」である。また、「部分領域情報」は、キャラクタの部分の領域を示す情報であり、通常、2以上の座標情報を有する。座標情報は、画面上での座標情報でも良いし、キャラクタ内での相対的な座標の情報等でも良い。「表示フラグ」は、現在、キャラクタが表示されているか否かを示す情報である。ここでは、「表示フラグ=1」を有するレコードに対応するキャラクタは、現在、端末装置1の画面上に表示されている。また、「表示フラグ=0」を有するレコードに対応するキャラクタは、現在、端末装置1の画面上に表示されていない。
 また、図8は、サーバ装置2の対応情報格納部201に格納されている対応情報管理表である。対応情報管理表は、「ID」「端末要求」「シナリオ元情報」を有するレコードを1以上格納している。「ID」は、対応情報管理表のレコードを識別する情報である。「端末要求」は、端末要求を示す情報である。また、「シナリオ元情報」は、端末要求に対応するシナリオ元情報である。「シナリオ元情報」は、ここでは、コマンド、制御情報付きのコマンドであるが、その構造、内容は問わない。なお、ここでは、コマンドは、例えば、関数の形式である。また、制御情報は、例えば、「if then else」等である。図8において、「get_char($ユーザ識別子,$キャラクタ)」は、ユーザ識別子で識別されるユーザの端末装置1で、現在、表示されているキャラクタに関する情報を取得する関数である。また、「delete($ユーザ識別子,$キャラクタ)」は、ユーザ識別子で識別されるユーザの端末装置1からキャラクタの表示を消去する(未表示にする)命令に対応するシナリオである。また、「put_char($端末識別子,ch)」は端末識別子で識別される端末装置1に、変数「ch」に格納されているキャラクタに関する情報を送信する命令に対応するシナリオである。また、「search($端末識別子,$人)」は、端末識別子で識別される端末装置1のユーザと「$人」の関係を有するユーザの端末識別子を検索する関数である。また、「put($位置情報,terminal)」は、terminalで特定される端末装置1に位置情報を送信するシナリオである。また、「start_up(navi())」は、端末装置1のナビゲーションシステムを起動するためのシナリオである。また、「set_destination($位置情報)」は、端末装置1のナビゲーションシステムにおいて、目的地を設定するシナリオである。また、「route_search($現在位置,$目的地)」は、現在地を始点、目的地を終点とする経路探索を行うシナリオである。また、「send_message()」は、引数内のメッセージを送信し、端末装置1で出力を促すシナリオである。なお、かかるシナリオ、関数は例であることは言うまでもない。
 また、図9は、サーバ装置2のサーバドライバ管理部202が格納しているサーバドライバ管理表の一例である。ここでのサーバドライバ管理表は、ある一の端末装置1が具備しているドライバの情報を管理している。また、サーバドライバ管理表は、「ID」「端末識別子」「ドライバ識別子」を有するレコードを1以上格納している。「ID」は、レコードを識別する情報である。「端末識別子」は、端末装置を識別する情報である。また、「ドライバ識別子」は、ドライバを識別する情報である。つまり、サーバドライバ管理表は、1以上の端末装置1が保持しているドライバを管理している。
 図10は、サーバ装置2のグループ情報格納部203に格納されているグループ情報管理表である。グループ情報管理表は、「グループID」「端末識別子」を有するレコードを1以上格納している。「グループID」は、グループを識別する情報である。「端末識別子」は、グループIDで特定されるグループに属する端末装置の識別子である。そして、属性値「端末識別子」は、2以上の端末識別子を有する。サーバ装置2がグループ情報管理表を用いる場合、端末要求を送信してきた端末装置と、同一のグループに存在する端末装置のみ、当該端末要求に基づいて、制御できる、とする。
 図11は、サーバ装置2の履歴格納部204が格納している履歴管理表の一例である。履歴管理表は、「ID」「端末識別子」「要求履歴」「好感度」を有するレコードを1以上格納している。「要求履歴」は、端末識別子で識別される端末装置1から送信された1以上の端末要求の履歴を格納する。また、「好感度」は、要求履歴から構成される情報であり、キャラクタの、端末装置1のユーザに対する好感度である。例えば、閾値以上の回数、キャラクタの胸やお腹へタッチしたことを示す1以上の端末要求が受信された場合、端末要求処理部206は、対応する好感度の値を下げる。また、例えば、閾値以上の回数、キャラクタの頭や顔へタッチしたことを示す1以上の端末要求が受信された場合、端末要求処理部206は、対応する好感度の値を上げる。また、N分(Nは正の数値)以上、タッチを示す端末要求が受信されなかった場合、端末要求処理部206は、対応する好感度を初期値(例えば、「高」)に戻す。なお、好感度の「高」「中」「低」は、それぞれ、例えば、数値「1」「2」「3」に対応する。また、好感度を変更する処理は、例えば、端末要求処理部206が行う。
 さらに、図12は、端末要求処理部206が保持している関連ユーザ管理表である。関連ユーザ管理表は、端末装置1を所有しているユーザに関係のある人を、その関係とともに管理する表である。図12は、「ID」「端末識別子1」「関係」「端末識別子2」を有するレコードを1以上格納している。「端末識別子1」は、端末識別子であり、第一のユーザが所有する端末の識別子である。「端末識別子2」は、端末識別子であり、第二のユーザが所有する端末の識別子である。「関係」は、第一のユーザと第二のユーザとの関係を示す情報である。関連ユーザ管理表の「ID=1」のレコードにおいて、端末識別子「101」のユーザのおばあちゃんが、端末識別子「103」のユーザである、ことを示す。
 現在、端末装置1には、図13に示すように、「ID=1」に対応するキャラクタが表示されている。そして、かかる状況において、本実施の形態における情報システムの具体的な動作について、4つの例を挙げて説明する。
(具体例1)
 具体例1は、端末装置1に入力された命令をサーバ装置2で解釈し、サーバ装置2から端末装置1のドライバを動作させる例である。さらに具体的には、端末装置1のユーザが、端末装置1から出力される音が小さいため、「ボリュームを3あげて」と指示し、サーバ装置2からの命令により、ボリュームが3、アップされる処理について説明する。
 まず、端末装置識別子「101」で識別される端末装置1のユーザが、自分の端末装置1に向かって、「ボリュームを3あげて」を音声で指示した、とする。
 次に、端末装置1の端末受付部104は、音声「ボリュームを3あげて」を受け付ける。次に、端末要求構成部105は、端末受付部104が受け付けていた音声が途切れたことを検知し、端末受付部104が受け付けた指示等を用いて、端末要求を構成すると判断する。
 次に、端末要求構成部105は、音声「ボリュームを3あげて」を音声認識し、文字列「ボリュームを3あげて」を取得する。また、端末要求構成部105は、端末装置1が格納している端末識別子「101」を取得する。なお、端末識別子「101」が格納されている領域は問わない。また、端末要求構成部105は、端末装置1が保持しているGPS受信機が取得した位置情報(Xa,Ya)を取得する。なお、GPS受信機は、例えば、端末機能部101の一つである。また、端末要求構成部105は、図示しない時計や、外部の装置(例えば、NTPサーバ)から現在時刻「2012/10/27 10:38:51」取得する。そして、端末要求構成部105は、端末要求「101,(Xa,Ya),2012/10/27 10:38:51,"ボリュームを3あげて"」を構成する。なお、端末識別子「101」は静的な端末特有情報であり、位置情報や現在時刻は動的な端末特有情報である。また、文字列「ボリュームを3あげて」は指示内容情報に該当する。ただし、本端末要求は、指示対象のオブジェクト識別子を有さない。また、ここでの端末要求は「端末識別子,位置情報,現在時刻,指示内容情報」を有するが、この端末要求の構造は一例であることは言うまでもない。
 次に、端末送信部106は、構成された端末要求を、サーバ装置2に送信する。
 次に、サーバ装置2の受信部205は、端末装置1から端末要求「101,(Xa,Ya),2012/10/27 10:38:51,"ボリュームを3あげて"」を受信する。
 次に、端末要求処理部206は、受信された端末要求から指示内容情報「ボリュームを3あげて」を取得する。
 次に、端末要求処理部206は、指示内容情報「ボリュームを3あげて」を用いて、図8の対応情報管理表を検索する。そして、端末要求処理部206は、指示内容情報が、対応情報管理表の「ID=2」の端末要求「"ボリュームを"$数値"あげて"」にマッチする、と判断する。そして、端末要求処理部206は、対応情報管理表の「ID=2」のシナリオ元情報「volume_up($端末識別子,$数値)」を取得する。
 次に、端末要求処理部206は、端末要求「"ボリュームを"$数値"あげて"」の中に、変数が存在することを検知し、サーバ装置2が行うべき処理が存在すると判断する。なお、このサーバ装置2が行うべき処理は、変数「$数値」を取得する処理である。
 次に、端末要求処理部206は、指示内容情報「ボリュームを3あげて」と端末要求「"ボリュームを"$数値"あげて"」とを用いて、変数「$数値」に対応する「3」を、指示内容情報から取得する。
 次に、シナリオ生成部207は、端末要求から端末識別子「101」を取得する。また、シナリオ生成部207は、端末要求処理部206が取得した変数「$数値」に対応する「3」を得る。
 そして、シナリオ生成部207は、シナリオ元情報「volume_up($端末識別子,$数値)」と、端末識別子「101」、変数「$数値」に対応する「3」を用いて、シナリオ「volume_up(101,3)」を構成する。
 次に、送信部208は、構成されたシナリオ「volume_up(101,3)」を端末装置1に送信する。なお、送信部208は、端末識別子「101」に対応する送信先の情報(例えば、IPアドレス)を保持しており、かかる送信先の情報を用いて、シナリオを端末装置1に送信する。
 次に、履歴蓄積部209は、受信された端末要求「101,(Xa,Ya),2012/10/27 10:38:51,"ボリュームを3あげて"」の全部または一部を履歴格納部204に蓄積する。なお、履歴蓄積部209は、シナリオ「volume_up(101,3)」を履歴格納部204に蓄積しても良い。かかる場合、端末要求の一部とは、生成されたシナリオでも良い。
 次に、端末装置1の端末受信部107は、サーバ装置2からシナリオ「volume_up(101,3)」を受信する。
 次に、端末パーサ部108は、受信されたシナリオを解釈し、ドライバ識別子「音声再生」、およびデータ「volume_up 3」を取得する。なお、端末パーサ部108は、シナリオが有する関数名と、ドライバ識別子またはドライバに与える関数名との対応を保持している、とする。
 そして、端末機能呼出部109は、ドライバ識別子「音声再生」で識別されるドライバに対して音量を「3」上げるように指示する。そして、以後、端末装置1から出力される音声は「3」アップされた音声となる。
 以上、本具体例によれば、端末装置1とサーバ装置2とが通信しながら、端末装置1での処理が続けられ、かつ、端末装置1から送信された端末要求をサーバ装置2が解釈する。そして、サーバ装置2で少なくとも一部の処理を行い、サーバ装置2が処理結果と端末要求に対応するシナリオ元情報とを用いたシナリオを構成し、端末装置1に送信する。そして、端末装置1が、自信が具備するドライバの駆動を含むシナリオを解釈し、ドライバを動作させ、所望の処理を行う。
(具体例2)
 具体例2は、端末装置1から送信された端末要求をサーバ装置2で解釈し、サーバ装置2から端末装置1のドライバを動作させる例である。そして、具体例2は、端末装置1のユーザの操作の履歴に基づいて、端末装置1において異なる動作を実現できる動作の例である。さらに具体的には、具体例2では、端末装置1のユーザが、端末装置1に表示されているキャラクタの胸を閾値以上タッチした場合に、端末装置1のユーザの好感度が下がり、好感度が高い場合と比較して、キャラクタの動作が異なる処理について説明する。
 今、図11の履歴管理表によれば、端末識別子「101」のユーザに対するキャラクタ「ID=1」の好感度は「高」である。なお、好感度は「高」「中」「低」の3段階のいずれかで管理される、とする。また、図11の履歴管理表によれば、端末識別子「101」のユーザは、キャラクタ識別子「1」で識別されるキャラクタの胸を1回、顔を1回、タッチしていることが分かる。
 また、シナリオ生成部207は、シナリオを生成するために、図14に示すキャラクタ管理表を保持している、とする。キャラクタ管理表は、「ID」「キャラクタID」「データ」を有する。「データ」は「画像」「音声」を有する。「ID」はレコードを識別する情報である。また、「キャラクタID」は、キャラクタ識別子である。また、「データ」は、端末装置1で出力されるデータであり、「画像」は通常、動画であるが、静止画でも良い。
 また、ここでは、端末要求処理部206は、キャラクタの胸またはお腹に、3分以内に、3回以上タッチした場合に、好感度が一つ下がる、とする。
 かかる状況において、端末装置1のユーザが、図13の画面上の「キャラクタID=1」のキャラクタの胸をタッチした、とする。なお、図13の画面はタッチパネルである。
 次に、端末受付部104は、このユーザからキャラクタ「1」の胸へのタッチを示す座標情報を含む指示(例えば、point(xb,yb))を受け付ける。point(xb,yb)は、例えば、タッチパネルのドライバからの出力である。
 次に、端末要求構成部105は、図7の端末オブジェクト管理表の「表示フラグ=1」に対応するキャラクタ識別子(オブジェクト識別子)「1」を取得する。
 そして、端末要求構成部105は、指示(point(xb,yb))から、タッチされたと判断する。そして、端末要求構成部105は、座標情報(xb,yb)が、図7の端末オブジェクト管理表の「ID=1」のレコードが有する部分領域情報「(x101,y101)(x102,y102)・・・」で特定される領域内の点であることを検知する。そして、端末要求構成部105は、当該部分領域情報と対になる部分識別子「1」を取得する。
 次に、端末要求構成部105は、受け付けた指示から部分識別子「1」が取得できたので、端末要求を構成すると判断する。なお、端末要求構成部105は、図7の端末オブジェクト管理表で管理されている部位識別子が取得できた場合に、端末要求を構成すると判断するとする。
 次に、端末要求構成部105は、端末要求「touch(1,1)」を構成する。つまり、端末要求構成部105は、タッチされたとの判断から、「touch」を取得し、オブジェクト識別子「1」、部分識別子「1」から「touch」の引数(1,1)を得る。なお、端末要求構成部105は、ユーザがオブジェクトに対して行った操作の種類(タッチ(クリック)、ダブルクリック、ドラッグ等)に応じた関数名(端末要求を構成する情報の一例)を保持している、とする。
 また、端末要求構成部105は、例えば、端末識別子「101」、位置情報(Xc,Yc)、現在時刻「2012/10/28 11:38:25」も取得した、とする。そして、端末要求構成部105は、端末要求「touch(1,1)」に、端末識別子、位置情報および現在時刻をも加えて、送信する端末要求「touch(1,1),101,(Xc,Yc),2012/10/28 11:38:25」を構成した、とする。
 次に、端末送信部106は、構成された端末要求を、サーバ装置2に送信する。
 次に、サーバ装置2の受信部205は、端末装置1から端末要求「touch(1,1),101,(Xc,Yc),2012/10/28 11:38:25」を受信する。
 次に、端末要求処理部206は、受信部205が受信した端末要求を解釈し、「touch(1,1)」を取得する。そして、端末要求処理部206は、「touch(1,1)」が図8の対応情報管理表の「ID=3」のレコードにマッチする、と判断する。そして、端末要求処理部206は、「touch(1,1)」から「オブジェクト識別子=1」「部位識別子=1」を得る。なお、端末要求処理部206は、ここでは、「touch(1,1)」は2回目であるので、図11の履歴管理表の好感度「高」を変更しない。
 次に、シナリオ生成部207は、「ID=3」のレコードのシナリオ元情報を対応情報管理表から取得する。そして、シナリオ生成部207は、取得したシナリオ元情報に従って、端末識別子「101」の好感度「高」を図11の履歴管理表から得る。そして、シナリオ生成部207は、シナリオ元情報を解釈し、当該シナリオ元情報が有する好感度「高」に対応する記述「show_char($オブジェクト識別子,ID=2)」を得る。次に、シナリオ生成部207は、「show_char($オブジェクト識別子,ID=2)」の変数「$オブジェクト識別子」に「1」を代入し、「show_char(1,2)」を得る。次に、シナリオ生成部207は、オブジェクト識別子「1」に対応し、「ID=2」のデータ(ID=2のレコードのデータ)を図14から取得する。このデータは、図14の「ID=2」のレコードの画像と、音声データ「もう、やだー」である。また、シナリオ生成部207は、画像に対応するドライバ識別子「キャラクタ」と、音声に対応するドライバ識別子「音声再生」とを取得する。そして、シナリオ生成部207は、シナリオ「(キャラクタ,「ID=2」のレコードの画像)、(音声再生,「ID=2」のレコードの音声)」を構成する。なお、show_charは、キャラクタを端末装置で出力するコマンドであり、画像に対応するドライバ識別子が「キャラクタ」であり、音声に対応するドライバ識別子が「音声再生」であることを示す情報を、シナリオ生成部207は、保持している、とする。
 次に、送信部208は、構成されたシナリオを端末装置1に送信する。また、次に、履歴蓄積部209は、受信された端末要求の全部または一部を履歴格納部204に蓄積する。ここでは、履歴蓄積部209は、端末要求の一部と考えられる「(1,1,タッチ)」を履歴格納部204に蓄積する。
 次に、端末装置1の端末受信部107は、サーバ装置2からシナリオ「(キャラクタ,「ID=2」のレコードの画像)、(音声再生,「ID=2」のレコードの音声)」を受信する。 
 次に、端末パーサ部108は、受信されたシナリオを解釈し、ドライバ識別子「キャラクタ」と「ID=2」のレコードの画像、およびドライバ識別子「音声再生」と音声「もう、やだー」を取得する。なお、端末パーサ部108は、各ドライバ識別子に対応するドライバ呼出関数を保持している。
 次に、端末機能呼出部109は、ドライバ呼出関数を用いて、ドライバ識別子「キャラクタ」に対応するドライバに対して、「ID=2」のレコードの画像を与え、当該ドライバを起動する。また、端末機能呼出部109は、同様に、ドライバ識別子「音声再生」に対応するドライバに対して、音声「もう、やだー」を与え、当該ドライバを起動する。その結果、図13のキャラクタ表示が図15のように変わり、音声「もう、やだー」が出力される。なお、図15のキャラクタは、胸を触られているが、好感度が「高」なので、笑っている画像である。
 次に、上記と同様に、端末装置1のユーザが、図13の画面上の「キャラクタID=1」のキャラクタの胸をタッチした、とする。
 すると、上記と同様に、端末要求構成部105は、送信する端末要求「touch(1,1),101,(Xd,Yd),2012/10/28 11:38:48」を構成した、とする。
 次に、端末送信部106は、構成された端末要求を、サーバ装置2に送信する。
 次に、サーバ装置2の受信部205は、端末装置1から端末要求を受信する。そして、端末要求処理部206は、受信部205が受信した端末要求を、上記と同様に解釈する。そして、「touch(1,1)」は3回目であるので、端末要求処理部206は、図11の履歴管理表の好感度「高」から「中」に変更する。
 次に、シナリオ生成部207は、「ID=3」のレコードのシナリオ元情報を対応情報管理表から取得する。そして、シナリオ生成部207は、取得したシナリオ元情報に従って、端末識別子「101」の好感度「中」を履歴管理表から得る。そして、シナリオ生成部207は、シナリオ元情報を解釈し、当該シナリオ元情報が有する好感度「中」に対応する記述「show_char($オブジェクト識別子,ID=3)」を得る。次に、シナリオ生成部207は、「show_char($オブジェクト識別子,ID=3)」の変数「$オブジェクト識別子」に「1」を代入し、「show_char(1,3)」を得る。次に、シナリオ生成部207は、オブジェクト識別子「1」に対応し、「ID=3」のデータ(ID=3のレコードのデータ)を図14から取得する。このデータは、図14の「ID=3」のレコードの画像と、音声データ「やらしいわね」である。また、シナリオ生成部207は、画像に対応するドライバ識別子「キャラクタ」と、音声に対応するドライバ識別子「音声再生」とを取得する。そして、シナリオ生成部207は、シナリオ「(キャラクタ,「ID=3」のレコードの画像)、(音声再生,「ID=3」のレコードの音声)」を構成する。
 次に、送信部208は、構成されたシナリオを端末装置1に送信する。また、次に、履歴蓄積部209は、受信された端末要求の全部または一部を履歴格納部204に蓄積する。ここでは、履歴蓄積部209は、端末要求の一部と考えられる「(1,1,タッチ)」を履歴格納部204に蓄積する。
 次に、端末装置1の端末受信部107は、サーバ装置2からシナリオ「(キャラクタ,「ID=3」のレコードの画像)、(音声再生,「ID=3」のレコードの音声)」を受信する。 
 次に、端末パーサ部108は、受信されたシナリオを解釈し、ドライバ識別子「キャラクタ」と「ID=3」のレコードの画像、およびドライバ識別子「音声再生」と音声「やらしいわね」を取得する。
 次に、端末機能呼出部109は、ドライバ識別子「キャラクタ」に対応するドライバに対して、「ID=3」のレコードの画像を与え、当該ドライバを起動する。また、端末機能呼出部109は、ドライバ識別子「音声再生」に対応するドライバに対して、音声「やらしいわね」を与え、当該ドライバを起動する。その結果、図15のキャラクタ表示が図16のように変わり、音声「やらしいわね」が出力される。なお、図16のキャラクタは、胸を触られているが、好感度が「中」なので、胸を隠している画像である。
 以上、本具体例によれば、端末装置1とサーバ装置2とが通信しながら、端末装置1での処理が続けられる情報システムにおいて、端末装置1のユーザの操作の履歴に基づいて、端末装置1において異なる動作を実現できる。
(具体例3)
 具体例3は、端末装置1から送信された端末要求をサーバ装置2で解釈し、端末要求を送信した端末装置1以外の端末装置のドライバをシナリオにより動作させる例である。なお、シナリオは、サーバ装置2から送信される。さらに具体的には、具体例3は、一の端末装置におけるユーザ操作に基づいて、他の端末装置を操作できる動作の例である。
 まず、端末装置識別子「101」で識別される端末装置1のユーザが、自分の端末装置1に向かって、「おばあちゃんを連れてきて」を音声で指示した、とする。
 次に、端末装置1の端末受付部104は、音声「おばあちゃんを連れてきて」を受け付ける。次に、端末要求構成部105は、端末受付部104が受け付けていた音声が途切れたことを検知し、端末受付部104が受け付けた指示等を用いて、端末要求を構成すると判断する。
 次に、端末要求構成部105は、音声「おばあちゃんを連れてきて」を音声認識し、文字列「おばあちゃんを連れてきて」を取得する。また、端末要求構成部105は、端末装置1が格納している端末識別子「101」を取得する。また、端末要求構成部105は、端末装置1が保持しているGPS受信機が取得した位置情報(Xe,Ye)を取得する。なお、GPS受信機は、例えば、端末機能部101の一つである。また、端末要求構成部105は、図示しない時計や、外部の装置(例えば、NTPサーバ)から現在時刻「2012/10/28 13:59:53」取得する。そして、端末要求構成部105は、端末要求「101,(Xe,Ye),2012/10/28 13:59:53,"おばあちゃんを連れてきて"」を構成する。
 次に、端末送信部106は、構成された端末要求を、サーバ装置2に送信する。
 次に、サーバ装置2の受信部205は、端末装置1から端末要求「101,(Xe,Ye),2012/10/28 13:59:53,"おばあちゃんを連れてきて"」を受信する。
 次に、端末要求処理部206、シナリオ生成部207は、受信部205が受信した端末要求を、以下のように解釈する。次に、端末要求処理部206は、受信された端末要求から指示内容情報「おばあちゃんを連れてきて」を取得する。
 次に、シナリオ生成部207は、指示内容情報「おばあちゃんを連れてきて」を用いて、図8の対応情報管理表を検索する。そして、シナリオ生成部207は、指示内容情報が、対応情報管理表の「ID=5」の端末要求「$人.*"連れてきて"」にマッチする、と判断する。そして、シナリオ生成部207は、対応情報管理表の「ID=5」のシナリオ元情報を取得する。
 次に、シナリオ生成部207は、端末要求「$人.*"連れてきて"」の中に、変数が存在することを検知し、サーバ装置2が行うべき処理が存在すると判断する。なお、このサーバ装置2が行うべき第一の処理は、変数「$人」を取得する処理である。
 次に、シナリオ生成部207は、指示内容情報「おばあちゃんを連れてきて」と端末要求「$人.*"連れてきて"」を用いて、変数「$人」に対応する「おばあちゃん」を、指示内容情報から取得する。なお、ここで、「おばあちゃん」を取得する方法は問わない。例えば、シナリオ生成部207は、「おばあちゃんを連れてきて」を形態素解析し、単語「おばあちゃん」を取得し、変数「$人」に対応すると判断する。
 次に、シナリオ生成部207は、対応情報管理表の「ID=5」のシナリオ元情報を解釈する。つまり、シナリオ生成部207は、シナリオ元情報の「terminal=search($端末識別子,$人)」の変数「$端末識別子」「人」に、「101」「おばあちゃん」を代入する。そして、シナリオ生成部207は、「terminal=search(101,おばあちゃん)」を実行する。つまり、シナリオ生成部207は、図12の関連ユーザ管理表の「端末識別子1=101」かつ「関係=おばあちゃん」に合致するレコードから、端末識別子2「103」を取得する。つまり、「terminal=search(101,おばあちゃん)」の「terminal」が「103」である、として取得された。
 次に、シナリオ生成部207は、シナリオ元情報を解釈し、「terminal!=NULL」に合致すると判断する。そして、シナリオ生成部207は、図8の「ID=5」のレコードから、「terminal!=NULL」に対応するシナリオ元情報を取得する。このシナリオ元情報は、「put($位置情報,terminal);start_up(navi());set_destination($位置情報);route_search($現在位置,$目的地);」である。
 次に、シナリオ生成部207は、「put($位置情報,terminal)」に「位置情報=(Xe,Ye)」「terminal=103」を代入し、「put((Xe,Ye),103)」を構成する。
 次に、送信部208は、端末識別子「101」とおばあちゃんの端末装置の端末識別子「103」とが、グループ情報格納部203でグループとして管理されているか否かをチェックする。ここで、図10のグループ情報管理表によれば、「101」と「103」とはグループとして管理されている。従って、送信部208は、おばあちゃんの端末装置1に、「put((Xe,Ye),103)」等のコマンドを送信しても良い、と判断する。そして、送信部208は、「103」の端末装置1に、「put((Xe,Ye),103)」を送信する。「put((Xe,Ye),103)」は、端末装置1の位置情報(Xe,Ye)を通知するコマンドである。
 そして、おばあちゃんの端末装置1は、孫の端末装置1(端末要求を送信した端末装置1)の位置情報(Xe,Ye)を受信し、一時蓄積する。なお、まず、おばあちゃんの端末装置1に、案内を行う処理を実施しても良いか否かを問い合わせる情報を出力し、おばあちゃんの端末装置1から「許可」を示す情報を受信した場合にも、以下に説明する案内を行う処理を進めることは好適である。
 次に、送信部208は、コマンド「start_up(navi)();」を、「103」の端末装置1に送信する。
 次に、おばあちゃんの端末装置1は、コマンド「start_up(navi());」を受信し、当該コマンドに従い、navi()を起動する。つまり、おばあちゃんの端末装置1では、ナビゲーションシステム(端末機能部の一つ)が起動される。なお、おばあちゃんの端末装置1は、シナリオ「start_up(navi());」はナビゲーションシステムを起動することを示す情報が格納されている、とする。
 次に、送信部208は、コマンド「set_destination($位置情報);」を、「103」の端末装置に送信する。
 次に、おばあちゃんの端末装置1は、コマンド「set_destination($位置情報);」を受信し、当該コマンドに従い、位置情報(Xe,Ye)を目的地として、ナビゲーションシステムに設定する。なお、おばあちゃんの端末装置1は、シナリオ「set_destination($位置情報);」は、ナビゲーションシステムの目的地に、「$位置情報」を設定することを示す情報が格納されている、とする。
 次に、送信部208は、コマンド「route_search($現在位置,$目的地);」を、「103」の端末装置1に送信する。
 次に、おばあちゃんの端末装置1は、コマンド「route_search($現在位置,$目的地);」の変数「$現在位置」におばあちゃんの端末装置の現在位置を代入する。また、おばあちゃんの端末装置1は、変数「$目的地」に位置情報(Xe,Ye)を代入する。なお、おばあちゃんの端末装置1はGPS受信機等の位置情報を取得する機能を有し、当該機能を用いて、「$現在位置」を取得できる、とする。
 そして、おばあちゃんの端末装置1は、コマンド「route_search((Xf,Yf),(Xe,Ye));」を実行し、ナビゲーションのための経路探索を行う。そして、経路案内がおばあちゃんの端末装置1で行われる、とする。なお、経路案内における目的地は、「おばあちゃんを連れてきて」と音声入力したユーザが居る位置である。なお、おばあちゃんの端末装置1は、シナリオ「route_search((Xf,Yf),(Xe,Ye));」は、ナビゲーションシステムを用いて、2つの地点間の経路案内を行うことを示す情報が格納されている、とする。
 本具体例によれば、一の端末装置1におけるユーザ操作に基づいて、他の端末装置1を操作できる。また、本具体例によれば、一の端末装置におけるユーザ操作に基づいて、グループ管理された他の端末装置1のみ操作ができる。
(具体例4)
 具体例4は、オブジェクトが端末間を移動できる情報システムである。さらに具体的には、端末装置1のユーザが、端末装置1に存在しているキャラクタを、別の端末装置(ここでは、街角に設置されている端末装置(端末「T」))に移動させる場合について説明する。なお、端末装置1のユーザは、ユーザ識別子「A」で識別されるユーザである、とする。
 ユーザ「A」が、自身が所有する端末装置1を家に置いてきた。そして、当該ユーザ「A」が街に出かけ、端末「T」の前に居る、とする。
 また、現在、当該ユーザの端末装置1(端末識別子「101」)に、キャラクタ識別子「1」のキャラクタが存在し、かかること(ユーザ識別子:A,端末識別子:101,キャラクタ識別子:1)が、サーバ装置2のシナリオ生成部207が保持している、とする。
 かかる状況において、ユーザ「A」は、端末「T」にユーザ識別子「A」と、音声「ここに移動して」とを入力した、とする。
 次に、端末「T」の端末受付部104は、ユーザ識別子「A」および音声「ここに移動して」を受け付ける。次に、端末要求構成部105は、受け付けたデータを用いて、端末要求を構成すると判断する。
 次に、端末「T」の端末要求構成部105は、ユーザ識別子「A」、音声「ここに移動して」、端末「T」の端末識別子「501」を用いて、端末要求(501,A,"ここに移動して")を構成する。なお、端末要求構成部105は、音声認識機能を有し、音声「ここに移動して」を文字列「ここに移動して」に変換した、とする。なお、端末「T」は、端末識別子「501」を予め保持している、とする。
 次に、端末「T」の端末送信部106は、構成された端末要求(501,A,"ここに移動して")を、サーバ装置2に送信する。
 次に、サーバ装置2の受信部205は、端末装置1から端末要求(501,A,"ここに移動して")を受信する。
 次に、端末要求処理部206は、受信部205が受信した端末要求を解釈する。そして、端末要求処理部206は、端末要求の解釈結果を用いて、サーバ装置2が行うべき処理が存在すると判断する。つまり、端末要求処理部206は、"ここに移動して"を用いて、図8の表の「ID=4」のレコードに合致する、と判断する。そして、端末要求処理部206は、「ID=4」のレコードのシナリオ元情報「ch=get_char($ユーザ識別子,$キャラクタ); delete($ユーザ識別子,$キャラクタ); put_char($端末識別子,ch)」を得る。そして、得たシナリオ元情報の中に変数を含むので、端末要求処理部206は、サーバ装置2が行うべき処理が存在すると判断する。
 次に、端末要求処理部206は、「$ユーザ識別子」に対応する「A」を端末要求から取得する。また、端末要求処理部206は、「$キャラクタ」に対応する「ID=1」のキャラクタの情報を取得する。(ユーザ識別子:A,端末識別子:101,キャラクタ識別子:1)から、端末要求処理部206は、ユーザ識別子「A」に対応するキャラクタ識別子は「1」であると取得できる。また、端末要求処理部206は、「$端末識別子」に対応する「501」を端末要求から取得する。
 次に、シナリオ生成部207は、「ch=get_char($ユーザ識別子,$キャラクタ);」の変数に値を代入し、「ch=get_char(A,1);」を得る。そして、シナリオ生成部207は、「ch=get_char(A,1);」を実行し、変数「ch」にキャラクタの情報を代入する。次に、シナリオ生成部207は、「delete($ユーザ識別子,$キャラクタ);」の変数に値を代入し、「delete(A,1);」を得る。そして、シナリオ生成部207は、「delete(A,1);」を実行し、ユーザ識別子「A」に対応するキャラクタの情報を、現在、キャラクタが存在する端末装置1の端末識別子「101」を取得する。なお、キャラクタの情報は、キャラクタの画像を含む。
 そして、送信部208は、端末識別子「101」で識別される端末装置1に、「delete(A,1);」を送信する。そして、端末識別子「101」で識別される端末装置1の端末受信部107は、シナリオ「delete(A,1);」を受信し、端末パーサ部108は当該シナリオを解釈する。そして、端末機能呼出部109は、ディスプレイから「ID=1」のキャラクタを削除する。
 次に、シナリオ生成部207は、「put_char($端末識別子,ch)」の変数に値を代入し、「put_char(501,ch)」を得る。なお、変数「ch」には、キャラクタの情報が代入されている、とする。
 次に、送信部208は、「put_char(501,ch)」を端末識別子「501」で識別される端末「T」に送信する。
 次に、端末「T」の端末受信部107は「put_char(501,ch)」を受信する。そして、端末パーサ部108は、「put_char(501,ch)」を解釈する。そして、端末「T」の端末機能呼出部109は、キャラクタのドライバに変数「ch」のデータ(キャラクタのデータ)を渡し、キャラクタのドライバを起動させる。そして、端末「T」のディスプレイには、キャラクタが表示される。
 以上、本具体例によれば、端末間のオブジェクトが移動できる。
 以上、本実施の形態によれば、ドライバにより駆動される1以上のハードウェアを具備し、かつ情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える。
 なお、本実施の形態において、端末装置1から送信された端末要求を、サーバ装置2が解釈して、シナリオを端末装置1に返す、という処理を行っている。ただし、サーバ装置2は、端末装置1から端末要求を受信しない場合にでも、予め決められた条件を満たす場合、端末装置1にシナリオを送信しても良い。予め決められた条件とは、例えば、予め決められた時刻になったこと、サーバ装置2の状態が予め決められた条件を満たすこと等である。サーバ装置2の状態が予め決められた条件を満たすこととは、例えば、CPU負荷が閾値以下であること、サーバ装置2が起動していること等である。
 また、本実施の形態において、例えば、サーバ装置2が、ダウンした場合、サーバ装置2がダウンから復帰するまで、サーバ装置2からの復帰した旨の情報の受信まで端末装置1は待機状態となり、端末装置1が本来持つ機能が動作する。また、かかる場合、通常、端末装置1は現在の状態を保持(退避)している。なお、端末装置1が本来持つ機能とは、例えば、OSがユーザからの指示等を受け付ける状態である。また、サーバ装置2から復帰した旨の情報を受信した場合、端末装置1は、退避した状態を呼び出し、サーバ装置2とのやりとりを再開する。
 また、端末装置1で処理を行っている場合、通常、サーバ装置2と常時通信を行っている。そのため、サーバ装置2が、例えば、ダウンした場合、端末装置1の処理は停止しても良い。
 また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における端末装置1を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、前記1以上の端末機能部のドライバを識別する1以上のドライバ識別子を格納しており、コンピュータを、ユーザからの1以上の指示を受け付ける端末受付部と、前記1以上の指示に対応する要求である端末要求を構成する端末要求構成部と、前記端末要求を前記サーバ装置に送信する端末送信部と、前記端末要求の送信に対応して、前記サーバ装置からコマンドとデータとを有するシナリオを受信する端末受信部と、前記シナリオを解釈し、前記1以上のドライバ識別子、および当該1以上のドライバ識別子で識別される1以上の機能部に渡すデータであり、前記シナリオが有するデータを取得する端末パーサ部と、前記端末パーサ部が取得した前記1以上のドライバ識別子で識別される1以上の端末機能部に、前記端末パーサ部が取得したデータを渡し、前記1以上の端末機能部を呼び出す端末機能呼出部として機能させるためのプログラムである。
 (実施の形態2)
 本実施の形態において、サーバ装置で端末装置のカレントの情報を管理することにより、2以上の各端末装置におけるユーザの指示等から構成された端末要求をサーバ装置が受信し、端末要求を用いて、サーバ装置で処理を行い、その処理結果と、端末要求を用いて取得されるシナリオ元情報と、端末装置のカレント情報とを用いて、シナリオを構成し、2以上の各端末装置に送信する情報システムについて説明する。なお、端末装置は、シナリオを解釈し、ドライバを駆動し、ハードウェア(端末機能部)を動作させる。また、本実施の形態において、カレント情報を用いずに、シナリオは構成されても良い。
 また、本実施の形態において、サーバ装置で2以上の各端末装置のドライバを管理する情報システムについて説明する。なお、本実施の形態において、例えば、サーバ装置で、ユーザと端末装置の種類とを管理し、かつ端末装置の種類ごとに具備するドライバを管理することにより、各端末装置のドライバを管理する。なお、端末装置の種類とは、例えば、機種名や品番などである。
 また、本実施の形態において、一の端末装置に対する操作により、サーバ装置が他の端末装置にコマンドを送信し、他の端末装置がコマンドを処理する情報システムについて説明する。
 また、本実施の形態において、2以上の端末装置をグループ管理し、コマンドを送付できる他の端末装置はグループ内の端末装置のみに限定する情報システムについて説明する。
 また、本実施の形態において、ユーザごとに、使用中の端末装置が移動できる情報システムについて説明する。なお、本実施の形態において、端末装置を移動した場合、ユーザのカレント情報を移動先の端末装置に引き継げる。
 また、本実施の形態において、端末要求を蓄積し、2以上の端末要求の履歴に基づいて、シナリオを生成する情報システムについて説明する。つまり、ユーザの指示の履歴に応じて、生成するシナリオが異なる情報システムについて説明する。
 さらに、本実施の形態において、蓄積された端末要求を統計処理する情報システムについて説明する。
 本実施の形態における情報システム20の概念図は図1と同等である。本実施の形態における情報システム20は、1または2以上の端末装置1とサーバ装置22を備える。
 図17は、本実施の形態における情報システムを構成するサーバ装置22のブロック図である。サーバ装置22は、カレント情報格納部200、対応情報格納部201、サーバドライバ管理部202、グループ情報格納部203、履歴格納部204、受信部205、端末要求処理部206、シナリオ生成部207、送信部208、履歴蓄積部209、受付部210、統計処理結果取得部211、統計処理結果出力部212、カレント情報更新部213、ユーザ管理情報格納部214、およびユーザ管理情報変更部215を備える。
 また、サーバドライバ管理部202は、種類別ドライバ情報格納手段2021、および端末管理情報格納手段2022を備える。
 サーバ装置22を構成するカレント情報格納部200は、1または2以上のカレント情報を端末装置1ごとに格納し得る。カレント情報とは、端末装置1の現在の状態を示す情報である。カレント情報は、例えば、端末装置1で出力中のオブジェクトのオブジェクト識別子を有する。また、カレント情報は、例えば、端末装置1で出力中のオブジェクトの位置を示す位置情報やオブジェクトのサイズ等を有する。
 サーバドライバ管理部202は、1または2以上の各端末装置1が具備している端末機能部101の1以上のドライバ識別子を、端末装置1ごとに格納し得る。
 サーバドライバ管理部202を構成する種類別ドライバ情報格納手段2021は、端末装置1の種類を示す種類識別子と1以上のドライバ識別子とを対応付ける1以上の種類別ドライバ情報を格納し得る。なお、AとBとを対応付ける情報とは、AとBとを有する情報でも良いし、AとBとのリンクを示す情報でも良いし、Aの格納場所を示す情報とBの格納場所を示す情報とを有する情報等でも良い。また、端末装置1の種類とは、例えば、機種、またはメーカー、またはメーカーと機種等である。
 端末管理情報格納手段2022は、端末装置1を識別する端末識別子と種類識別子とを対応付ける1以上の端末管理情報を格納し得る。
 シナリオ生成部207は、ここでは、端末要求処理部206が取得したシナリオ元情報と、端末要求処理部206が処理を行って得た処理結果と、端末装置1に対応するカレント情報とを用いて、シナリオを生成する。
 また、シナリオ生成部207は、端末要求処理部206が取得したシナリオ元情報と、端末要求処理部206が処理を行って得た処理結果とを用いて、シナリオを生成しても良い。
 なお、通常、シナリオ生成部207は、サーバドライバ管理部202に格納されている1以上のドライバ識別子に応じて、生成するシナリオが異なる。ここで、生成するシナリオが異なるとは、例えば、シナリオ内に、端末装置1が保有しないドライバのドライバ識別子を含まないようにすることである。例えば、音声出力を行うことを指示するシナリオの送信先の端末装置1が、音声出力を行うドライバ(端末機能部101)を具備せず、表示装置を搭載している(表示を行うドライバ(端末機能部101)を具備する)端末装置1である場合、出力する情報を表示装置に表示するシナリオに変更する。なお、表示装置に情報を表示するシナリオは、文字列で情報を出力するシナリオでも良いし、キャラクタでの手話やジェスチャー表現等で情報を出力するシナリオでも良い。つまり、シナリオ生成部207は、例えば、情報を出力する機能を有する複数のドライバや端末機能部101のうち、端末装置1が有するドライバや端末機能部101を起動するように、シナリオを変更する。
 また、シナリオに含まれる指示であり、情報を出力する等の指示に対応するドライバや端末機能部101を有しない端末装置1に送信するシナリオを構成する場合、シナリオ生成部207は、当該命令に対応する部分を消去して、シナリオを生成しても良い。かかる場合、本来、予定するシナリオの内容に欠損が生じることとなる。具体的には、例えば、画像と音声を端末で再生する命令等を含むシナリオである場合、ディスプレイデバイスのドライバとスピーカーのドライバを有する端末装置1に送信するシナリオは、画像と音声を端末で再生する命令等を含むシナリオであるが、スピーカーのドライバを有しない端末装置1に送信するシナリオは、画像を端末で再生する命令等を含み、音声を再生する命令を含まないシナリオである。
 なお、端末装置1が保有しないドライバに関して、サーバ装置22が処理を行うことは好適である。また、この処理は、通常、端末要求処理部206が行う。
 ユーザが利用する端末装置1の移動が発生する場合、シナリオ生成部207は、旧端末装置のカレント情報を用いて、シナリオを生成することは好適である。なお、旧端末装置とは、移動前の端末装置1である。
 また、ユーザが利用する端末装置1の移動が発生する場合、送信部208は、シナリオ生成部207が生成したシナリオを新端末装置に送信する。
 カレント情報更新部213は、シナリオの端末装置1への送信に応じて、カレント情報を更新する。更新されるカレント情報は、シナリオが送信された端末装置1のカレント情報である。カレント情報更新部213は、シナリオの端末装置1への送信とは無関係に、カレント情報を更新しても良い。例えば、カレント情報に端末装置1の位置情報が含まれる場合であり、端末装置1から当該端末装置1の位置情報が受信された場合、カレント情報更新部213は、当端末装置1の位置情報を最新の位置情報に更新する。なお、最新の位置情報とは、現時刻から最も近い時刻に受信された位置情報である。
 ユーザ管理情報格納部214は、1以上のユーザ管理情報を格納し得る。ユーザ管理情報は、端末装置1のユーザを識別するユーザ識別子と端末識別子とを対応付ける情報である。ユーザ管理情報は、ユーザが現在利用している端末装置を管理するための情報である。
 ユーザ管理情報変更部215は、端末要求が、処理を行う端末装置1を移動する旨の要求である場合に、処理を行う端末装置1が、現在処理を行っている端末装置1である旧端末装置から新端末装置に変更になるように、ユーザ管理情報が有する端末識別子であり、端末要求を送信してきた端末装置1のユーザのユーザ識別子に対応する端末識別子を、新端末装置の端末識別子に変更する。
 カレント情報格納部200、ユーザ管理情報格納部214は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
カレント情報格納部200等にカレント情報等が記憶される過程は問わない。
 カレント情報更新部213、およびユーザ管理情報変更部215は、通常、MPUやメモリ等から実現され得る。カレント情報更新部213等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 次に、情報システム20を構成するサーバ装置22の動作について、図18のフローチャートを用いて説明する。図18のフローチャートにおいて、図5と同一のステップについて、説明を省略する。
 (ステップS1801)シナリオ生成部207は、シナリオを構成する。シナリオ構成処理について、図19のフローチャートを用いて説明する。
 (ステップS1802)ユーザ管理情報変更部215は、端末要求または送信されたシナリオから、ユーザの指示が端末装置1の移動であるか否かを判断する。端末装置1の移動であればステップS1803に行き、端末装置1の移動でなければステップS501に戻る。
 (ステップS1803)ユーザ管理情報変更部215は、端末要求を送信してきた端末装置1に関して、現在処理を行っている端末装置1である旧端末装置から新端末装置に変更になるように、ユーザ管理情報が有する端末識別子であり、端末要求を送信してきた端末装置1のユーザのユーザ識別子に対応する端末識別子を、新端末装置の端末識別子に変更する。
 (ステップS1804)カレント情報更新部213は、シナリオの端末装置1への送信に応じて、カレント情報を更新する。なお、カレント情報を更新する必要が無い場合は、ステップS1804では何もしない。ステップS501に戻る。
 なお、図18のフローチャートにおいて、ステップS507の処理等、他の処理と独立して行える処理の順序は問わないことは言うまでもない。
 また、図18のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 次に、ステップS1801のシナリオ構成処理について、図19のフローチャートを用いて説明する。
 (ステップS1901)シナリオ生成部207は、端末要求が有する端末識別子を取得し、メモリ上に配置する。
 (ステップS1902)シナリオ生成部207は、ステップS504の処理結果を取得し、メモリ上に配置する。なお、ステップS504の処理結果が存在しない場合もあり得る。
 (ステップS1903)シナリオ生成部207は、カレント情報格納部200から、ステップS1901で取得した端末識別子に対応するカレント情報を取得し、メモリ上に配置する。
 (ステップS1904)シナリオ生成部207は、カウンタiに1を代入する。
 (ステップS1905)シナリオ生成部207は、ステップS502で取得されたシナリオ元情報の中で、i番目の処理単位のシナリオ元情報が存在するか否かを判断する。i番目の処理単位が存在すればステップS1906に行き、i番目の処理単位が存在しなければ上位処理にリターンする。なお、処理単位とは、例えば、シナリオ生成部207がパージングする単位であり、例えば、行である。
 (ステップS1906)シナリオ生成部207は、i番目の処理単位のシナリオ元情報を、解釈する。
 (ステップS1907)シナリオ生成部207は、ステップS1906における解釈結果を用いて、メモリから必要な情報を取得する。そして、シナリオ生成部207は、i番目の処理単位のシナリオ元情報と取得した情報とを用いて、シナリオを生成する。例えば、シナリオ生成部207は、i番目の処理単位のシナリオ元情報の変数に、取得した情報を代入し、シナリオを取得する。
 (ステップS1908)シナリオ生成部207は、ステップS1907で取得したシナリオをバッファに追記する。
 (ステップS1909)シナリオ生成部207は、カウンタiを1、インクリメントする。ステップS1905に戻る。
 なお、図19のフローチャートにおいて、シナリオ構成のための処理の一例を示した。つまり、シナリオ構成のための処理は他の処理でも良い。
 以下、本実施の形態における情報システムの具体的な動作について説明する。情報システムの概念図は図1である。
 図6は、端末装置1の端末ドライバ管理部102に格納されている端末ドライバ管理表の一例である。
 図7は、端末装置1の端末オブジェクト格納部103に格納されている端末オブジェクト管理表の一例である。
 また、図20は、サーバ装置22の対応情報格納部201に格納されている対応情報管理表である。対応情報管理表の構造は、図8と同じである。図20において、「call($キャラクタ)」は、「$キャラクタ」で特定されるキャラクタを端末装置1に呼び出し、端末装置1で出力するシナリオである。また、「volumne_up($端末装置識別子,$数値)」は「$端末装置識別子」で識別される端末装置1において出力されるボリュームを「$数値」分、アップするシナリオである。また、「tel(terminal,"電源をONにして下さい")」は、terminalで特定される端末装置1に電話をかけ、"電源をONにして下さい"を出力するシナリオである。なお、かかるシナリオ、関数は例であることは言うまでもない。
 また、図21は、サーバ装置22のサーバドライバ管理部202の種類別ドライバ情報格納手段2021が格納している種類別ドライバ情報管理表の一例である。種類別ドライバ情報管理表は、「ID」「種類識別子」「ドライバ識別子」を有するレコードを1以上格納している。「ID」は、レコードを識別する情報である。「種類識別子」は、端末装置1の種類を識別する情報である。また、「ドライバ識別子」は、ドライバを識別する情報である。つまり、種類別ドライバ情報表は、1以上の端末装置1の種類ごとに、端末装置1が保有するドライバを管理している。
 また、図22は、端末管理情報格納手段2022の端末管理情報管理表である。端末管理情報管理表は、端末装置1の種類を管理する表であり、「ID」「端末識別子」「種類識別子」を有するレコードを1以上格納している。
 また、図10は、サーバ装置22のグループ情報格納部203に格納されているグループ情報管理表である。
 また、図11は、サーバ装置22の履歴格納部204が格納している履歴管理表の一例である。
 図23は、カレント情報格納部200に格納されているカレント情報管理表である。カレント情報管理表は、各端末装置1のカレントの状態を管理する表である。カレント情報管理表は、「ID」「端末識別子」「カレント情報」を有するレコードを1以上格納している。「カレント情報」は、「オブジェクト識別子」「出力位置」「画像ID」「電源」等を有する。「カレント情報」の「オブジェクト識別子」は、端末装置1で出力されているオブジェクト識別子であり、「出力位置」は画面上におけるオブジェクトの出力位置であり、「画像ID」は端末装置1で出力されている画像を識別する情報であり、図25のオブジェクト管理表のレコード番号「ID」の値に対応する情報である。また、「電源」は電源がONかOFFかを示す情報である。なお、ここでは、「電源=OFF」の際でも、端末装置1の電話機能は使用できる、とする。つまり、「電源=OFF」は電話が鳴ることについてのみ待機の状態である。とする。
 図24は、ユーザ管理情報格納部214に格納されているユーザ管理情報管理表である。ユーザ管理情報管理表は、現在、ユーザが利用している端末装置を管理する表であり、「ID」「ユーザ識別子」「端末識別子」を有するレコードを1以上格納している。
 また、図25は、シナリオ生成部207が保持しているキャラクタ管理表である。キャラクタ管理表は、「ID」「キャラクタID」「名前」「データ」を有する。「データ」は「画像」「音声」「部分情報」を有する。「部分情報」は、「部分識別子」「部分領域情報」を有する。また、「データ」は「全体領域情報」を含むことは好適である。「全体領域情報」は、図7の「全体領域情報」と同様の情報である。また、「ID」はレコードを識別する情報である。また、「キャラクタID」は、キャラクタ識別子である。また、「名前」はキャラクタの名前である。また、「データ」は、端末装置1で出力されるデータであり、「画像」は通常、動画であるが、静止画でも良い。
 さらに、図12は、端末要求処理部206が保持している関連ユーザ管理表である。
 かかる状況において、本実施の形態における情報システムの具体的な動作について、4つの例を挙げて説明する。
(具体例1)
 具体例1は、端末装置1に入力された命令をサーバ装置22で解釈し、サーバ装置22から端末装置1へオブジェクト(ここでは、キャラクタ)を送信し、端末装置1の状態を管理する情報システムの例である。さらに具体的には、端末装置1のユーザが、端末装置1にキャラクタ「Yちゃん」を呼び出すため、「Yちゃん、出てきて」と音声入力し、サーバ装置22からのシナリオにより、キャラクタ「Yちゃん」が端末装置1に表示される処理について説明する。
 まず、端末装置識別子「101」で識別される端末装置1のユーザが、自分の端末装置1に向かって、「Yちゃん、出てきて」を音声で指示した、とする。次に、端末受付部104は、音声「Yちゃん、出てきて」を受け付ける。なお、図23のカレント情報管理表によれば、現在、端末識別子「101」で識別される端末装置1のカレント情報は「オブジェクト識別子:NULL(-)、出力位置:NULL(-)、画像ID:NULL(-)、・・・、電源「1(ON)」」であるので、当該端末装置1において、電源ONであるが、オブジェクトは表示されていない。
 次に、端末要求構成部105は、音声が途切れたので、端末要求を構成すると判断する。そして、端末要求構成部105は、音声「Yちゃん、出てきて」をデジタル化して、音声データを得る。また、端末要求構成部105は、予め格納している端末識別子「101」、図示しないGPS受信機で取得された位置情報(Xa,Ya)を取得する。また、端末要求構成部105は、図示しない時計や、外部の装置(例えば、NTPサーバ)から現在時刻「2012/10/27 10:38:51」取得する。そして、端末要求構成部105は、端末要求「101,(Xa,Ya),2012/10/27 10:38:51,音声データ「Yちゃん、出てきて」」を構成する。なお、端末識別子「101」は静的な端末特有情報であり、位置情報や現在時刻は動的な端末特有情報である。また、音声データ「Yちゃん、出てきて」は指示内容情報に該当する。ただし、本端末要求は、指示対象のオブジェクト識別子を有さない。また、ここでの端末要求は「端末識別子,位置情報,現在時刻,指示内容情報」を有するが、この端末要求の構造は一例であることは言うまでもない。
 次に、端末送信部106は、構成された端末要求を、サーバ装置22に送信する。
 次に、サーバ装置22の受信部205は、端末装置1から端末要求「101,(Xa,Ya),2012/10/27 10:38:51,音声データ「Yちゃん、出てきて」」を受信する。
 次に、端末要求処理部206は、受信された端末要求から指示内容情報「音声データ「Yちゃん、出てきて」」を取得する。そして、端末要求処理部206は、音声データ「Yちゃん、出てきて」を音声認識し、文字列「Yちゃん、出てきて」を取得する。
 次に、端末要求処理部206は、指示内容情報に対応する文字列「Yちゃん、出てきて」を用いて、図20の対応情報管理表を検索する。なお、指示内容情報に対応する文字列は、指示内容情報である、としても良い。
 そして、端末要求処理部206は、指示内容情報が、対応情報管理表の「ID=1」の端末要求「$キャラクタ"出てきて"」にマッチする、と判断する。そして、端末要求処理部206は、対応情報管理表の「ID=1」のシナリオ元情報「call($キャラクタ)」を取得する。
 次に、シナリオ生成部207は、端末要求「$キャラクタ"出てきて"」と文字列「Yちゃん、出てきて」とから、変数「$キャラクタ」の値「Yちゃん」を得る。次に、シナリオ生成部207は、「Yちゃん」を用いて、図25のキャラクタ管理表を検索し、「ID=1」のレコードのデータ(画像、音声)を得る。そして、シナリオ生成部207は、シナリオ元情報「call($キャラクタ)」と「ID=1」のレコードのデータ(画像、音声)とから、シナリオ「call(画像,音声)」を構成する。本シナリオは、「ID=1」のレコードのデータ(画像、音声)を含む。つまり、「call(画像,音声)」は画像と音声とを含む意味である。
 次に、送信部208は、構成されたシナリオ「call(画像,音声)」を端末装置1に送信する。なお、送信部208は、端末識別子「101」に対応する送信先の情報(例えば、IPアドレス)を保持しており、かかる送信先の情報を用いて、シナリオを端末装置1に送信する。
 次に、履歴蓄積部209は、受信された端末要求を用いて、要求履歴「101,(Xa,Ya),2012/10/27 10:38:51,「Yちゃん、出てきて」」を履歴格納部204に蓄積する。なお、履歴蓄積部209は、シナリオ元情報「call($キャラクタ)」、またはシナリオ「call(画像,音声)」を履歴格納部204に蓄積しても良い。かかる場合、端末要求の一部とは、シナリオ元情報または生成されたシナリオでも良い。
 次に、カレント情報更新部213は、端末識別子「101」で識別される端末装置1のカレント情報を更新する。つまり、カレント情報更新部213は、「Yちゃん」のキャラクタ識別子「1」、画像ID「1」を取得する。そして、カレント情報更新部213は、図23のカレント情報管理表における端末識別子「101」に対応するレコードの中の、「オブジェクト識別子」の属性値に「1」、および画像IDの属性値に「1」を書き込む。つまり、カレント情報更新部213は、「ID=1」のレコードにおいて、現在「NULL(-)」であるオブジェクト識別子を「1」に変更し、かつ現在「NULL(-)」である画像IDを「1」に変更する。なお、カレント情報更新部213は、キャラクタの、端末装置1における出力位置(例えば、出力位置の初期値である(0,0)等)をも書き込んでも良い。
 次に、端末装置1の端末受信部107は、サーバ装置22からシナリオ「call(画像,音声)」を受信する。
 次に、端末パーサ部108は、受信されたシナリオを解釈し、(画像,音声)のキャラクタをディスプレイに表示される。つまり、端末機能呼出部109は、シナリオ「call(画像,音声)」を用いて、ドライバ識別子「キャラクタ」に対応するドライバ呼出関数「show_char(画像)」を実行し、キャラクタをディスプレイに表示する。また、端末機能呼出部109は、シナリオ「call(画像,音声)」を用いて、ドライバ識別子「音声再生」に対応するドライバ呼出関数「voice(音声)」を実行し、キャラクタの音声を再生する。
 次に、「101」で識別される端末装置1の端末オブジェクト管理表に、図7の「ID=1」のレコードが格納される。なお、図7では、表示フラグが「1」であるが、元々、表示フラグは「0」で、表示フラグが「1」に変更されたものである。
 以上、本具体例によれば、端末装置1とサーバ装置22とが通信しながら、端末装置1での処理が続けられ、かつ、端末装置1から送信された端末要求をサーバ装置22が解釈する。そして、サーバ装置22で少なくとも一部の処理を行い、サーバ装置22が処理結果と端末要求に対応するシナリオ元情報とを用いたシナリオを構成し、端末装置1に送信する。そして、端末装置1が、自信が具備するドライバの駆動を含むシナリオを解釈し、ドライバを動作させ、所望の処理を行う。また、サーバ装置22では、現在の端末装置1の状態がカレント情報管理表で管理される。
(具体例2)
 具体例2は、端末装置1から送信された端末要求をサーバ装置22で解釈し、サーバ装置22から端末装置1のドライバを動作させる例である。そして、具体例2は、端末装置1のユーザの操作の履歴に基づいて、端末装置1において異なる動作を実現できる動作の例である。さらに具体的には、端末装置1のユーザが、端末装置1に表示されているキャラクタの胸を閾値以上タッチした場合に、端末装置1のユーザの好感度が下がり、好感度が高い場合と比較して、キャラクタの動作が異なる処理について説明する。また、具体例2において、サーバ装置22で管理している端末装置1のドライバの情報に基づいて、端末装置1に送信されるシナリオが異なる動作についても説明する。
 今、図11の履歴管理表によれば、端末識別子「101」のユーザに対するキャラクタ「ID=1」の好感度は「高」である。なお、好感度は「高」「中」「低」の3段階のいずれかで管理される、とする。また、図11の履歴管理表によれば、端末識別子「101」のユーザは、キャラクタ識別子「1」で識別されるキャラクタの胸を1回、顔を1回、タッチしていることが分かる。
 また、ここでは、端末要求処理部206は、キャラクタの胸またはお腹に、3分以内に、3回以上タッチした場合に、好感度が一つ下がる、とする。
 かかる状況において、端末装置1のユーザが、図13の画面上の「キャラクタID=1」のキャラクタの胸をタッチした、とする。なお、図13の画面はタッチパネルである。
 次に、端末受付部104は、このユーザからキャラクタ「1」の胸へのタッチを示す座標情報を含む指示(例えば、point(xb,yb))を受け付ける。point(xb,yb)は、例えば、タッチパネルのドライバからの出力である。
 次に、端末要求構成部105は、図7の端末オブジェクト管理表の「表示フラグ=1」に対応するキャラクタ識別子(オブジェクト識別子)「1」を取得する。
 そして、端末要求構成部105は、指示(point(xb,yb))から、タッチされたと判断する。そして、端末要求構成部105は、座標情報(xb,yb)が、図7の端末オブジェクト管理表の「ID=1」のレコードが有する部分領域情報「(x101,y101)(x102,y102)・・・」で特定される領域内の点であることを検知する。そして、端末要求構成部105は、当該部分領域情報と対になる部分識別子「1」を取得する。
 次に、端末要求構成部105は、受け付けた指示から部分識別子「1」が取得できたので、端末要求を構成すると判断する。なお、端末要求構成部105は、図7の端末オブジェクト管理表で管理されている部位識別子が取得できた場合に、端末要求を構成すると判断するとする。
 次に、端末要求構成部105は、端末要求「touch(1,1)」を構成する。つまり、端末要求構成部105は、タッチされたとの判断から、「touch」を取得し、オブジェクト識別子「1」、部分識別子「1」から「touch」の引数(1,1)を得る。なお、端末要求構成部105は、ユーザがオブジェクトに対して行った操作の種類(タッチ(クリック)、ダブルクリック、ドラッグ等)に応じた関数名(端末要求を構成する情報の一例)を保持している、とする。
 また、端末要求構成部105は、例えば、端末識別子「101」、位置情報(Xc,Yc)、現在時刻「2012/10/28 11:38:25」も取得した、とする。そして、端末要求構成部105は、端末要求「touch(1,1)」に、端末識別子、位置情報および現在時刻をも加えて、送信する端末要求「touch(1,1),101,(Xc,Yc),2012/10/28 11:38:25」を構成した、とする。
 次に、端末送信部106は、構成された端末要求を、サーバ装置22に送信する。
 次に、サーバ装置22の受信部205は、端末装置1から端末要求「touch(1,1),101,(Xc,Yc),2012/10/28 11:38:25」を受信する。
 次に、端末要求処理部206は、受信部205が受信した端末要求を解釈し、「touch(1,1)」を取得する。そして、端末要求処理部206は、「touch(1,1)」が図20の対応情報管理表の「ID=3」のレコードにマッチする、と判断する。そして、端末要求処理部206は、「touch(1,1)」から「オブジェクト識別子=1」「部位識別子=1」を得る。なお、端末要求処理部206は、ここでは、「touch(1,1)」は2回目であるので、図11の履歴管理表の好感度「高」を変更しない。
 次に、シナリオ生成部207は、「ID=3」のレコードのシナリオ元情報を対応情報管理表から取得する。そして、シナリオ生成部207は、取得したシナリオ元情報に従って、端末識別子「101」の好感度「高」を図11の履歴管理表から得る。そして、シナリオ生成部207は、シナリオ元情報を解釈し、当該シナリオ元情報が有する好感度「高」に対応する記述「show_char($オブジェクト識別子,ID=2)」を得る。次に、シナリオ生成部207は、「show_char($オブジェクト識別子,ID=2)」の変数「$オブジェクト識別子」に「1」を代入し、「show_char(1,2)」を得る。次に、シナリオ生成部207は、オブジェクト識別子「1」に対応し、「ID=2」のデータ(ID=2のレコードのデータ)を図25から取得する。このデータは、図25の「ID=2」のレコードの画像と、音声データ「もう、やだー」である。
 また、シナリオ生成部207は、端末識別子「101」に対応する種類識別子「k01」を取得する。そして、シナリオ生成部207は、種類識別子「k01」に対応するドライバ識別子であり、画像に対応するドライバ識別子である「キャラクタ」が存在するか否かを、図21のドライバ管理表から判断する。ここで、種類識別子「k01」に対応するドライバ識別子「キャラクタ」が存在するので、シナリオ生成部207は、シナリオ「(キャラクタ,「ID=2」のレコードの画像)」を取得する。また、シナリオ生成部207は、種類識別子「k01」に対応するドライバ識別子であり、音声に対応するドライバ識別子である「音声再生」が存在するか否かを、図21のドライバ管理表から判断する。ここで、種類識別子「k01」に対応するドライバ識別子「音声再生」が存在するので、シナリオ生成部207は、シナリオ「(音声再生,「ID=2」のレコードの音声)」を取得する。そして、シナリオ生成部207は、シナリオ「(キャラクタ,「ID=2」のレコードの画像)、(音声再生,「ID=2」のレコードの音声)」を構成する。なお、show_charは、キャラクタを端末装置で出力するコマンドであり、画像に対応するドライバ識別子が「キャラクタ」であり、音声に対応するドライバ識別子が「音声再生」であることを示す情報を、シナリオ生成部207は、保持している、とする。
 また、例えば、端末識別子「101」に対応する種類識別子が「k02」であったと仮定した場合、シナリオ生成部207は、図21のドライバ管理表から、種類識別子が「k02」に対応するドライバ識別子であり、画像に対応するドライバ識別子である「キャラクタ」が存在すると判断するが、音声に対応するドライバ識別子「音声再生」は存在しない、と判断する。そして、シナリオ生成部207は、シナリオ「(キャラクタ,「ID=2」のレコードの画像)」を構成する。
 次に、送信部208は、構成されたシナリオを端末装置1に送信する。また、次に、履歴蓄積部209は、受信された端末要求の全部または一部を履歴格納部204に蓄積する。ここでは、履歴蓄積部209は、端末要求の一部と考えられる「(1,1,タッチ)」を履歴格納部204に蓄積する。
 次に、カレント情報更新部213は、シナリオの端末装置1への送信に応じて、カレント情報を更新する。つまり、カレント情報更新部213は、図23のカレント情報管理表において、端末装置識別子「101」に対応する画像IDの値を「2」に変更する。
 次に、端末装置1の端末受信部107は、サーバ装置22からシナリオ「(キャラクタ,「ID=2」のレコードの画像)、(音声再生,「ID=2」のレコードの音声)」を受信する。
 次に、端末パーサ部108は、受信されたシナリオを解釈し、ドライバ識別子「キャラクタ」と「ID=2」のレコードの画像、およびドライバ識別子「音声再生」と音声「もう、やだー」を取得する。なお、端末パーサ部108は、各ドライバ識別子に対応するドライバ呼出関数を保持している。
 次に、端末機能呼出部109は、ドライバ呼出関数を用いて、ドライバ識別子「キャラクタ」に対応するドライバに対して、「ID=2」のレコードの画像を与え、当該ドライバを起動する。また、端末機能呼出部109は、同様に、ドライバ識別子「音声再生」に対応するドライバに対して、音声「もう、やだー」を与え、当該ドライバを起動する。その結果、図13のキャラクタ表示が図15のように変わり、音声「もう、やだー」が出力される。なお、図15のキャラクタは、胸を触られているが、好感度が「高」なので、笑っている画像である。
 次に、上記と同様に、端末装置1のユーザが、図15の画面上の「キャラクタID=1」のキャラクタの胸をタッチした、とする。
 すると、上記と同様に、端末要求構成部105は、送信する端末要求「touch(1,1),101,(Xd,Yd),2012/10/28 11:38:48」を構成した、とする。
 次に、端末送信部106は、構成された端末要求を、サーバ装置22に送信する。
 次に、サーバ装置22の受信部205は、端末装置1から端末要求を受信する。そして、端末要求処理部206は、受信部205が受信した端末要求を、上記と同様に解釈する。そして、「touch(1,1)」は3回目であるので、端末要求処理部206は、図11の履歴管理表の好感度「高」から「中」に変更する。
 次に、シナリオ生成部207は、「ID=3」のレコードのシナリオ元情報を対応情報管理表から取得する。そして、シナリオ生成部207は、取得したシナリオ元情報に従って、端末識別子「101」の好感度「中」を履歴管理表から得る。そして、シナリオ生成部207は、シナリオ元情報を解釈し、当該シナリオ元情報が有する好感度「中」に対応する記述「show_char($オブジェクト識別子,ID=3)」を得る。次に、シナリオ生成部207は、「show_char($オブジェクト識別子,ID=3)」の変数「$オブジェクト識別子」に「1」を代入し、「show_char(1,3)」を得る。次に、シナリオ生成部207は、オブジェクト識別子「1」に対応し、「ID=3」のデータ(ID=3のレコードのデータ)を図11から取得する。このデータは、図25の「ID=3」のレコードの画像と、音声データ「やらしいわね」である。また、シナリオ生成部207は、画像に対応するドライバ識別子「キャラクタ」と、音声に対応するドライバ識別子「音声再生」とを取得する。そして、シナリオ生成部207は、シナリオ「(キャラクタ,「ID=3」のレコードの画像)、(音声再生,「ID=3」のレコードの音声)」を構成する。
 次に、送信部208は、構成されたシナリオを端末装置1に送信する。また、次に、履歴蓄積部209は、受信された端末要求の全部または一部を履歴格納部204に蓄積する。ここでは、履歴蓄積部209は、端末要求の一部と考えられる「(1,1,タッチ)」を履歴格納部204に蓄積する。
 次に、カレント情報更新部213は、図23のカレント情報管理表において、端末装置識別子「101」に対応する画像IDの値を「3」に変更する。
 次に、端末装置1の端末受信部107は、サーバ装置22からシナリオ「(キャラクタ,「ID=3」のレコードの画像)、(音声再生,「ID=3」のレコードの音声)」を受信する。
 次に、端末パーサ部108は、受信されたシナリオを解釈し、ドライバ識別子「キャラクタ」と「ID=3」のレコードの画像、およびドライバ識別子「音声再生」と音声「やらしいわね」を取得する。
 次に、端末機能呼出部109は、ドライバ識別子「キャラクタ」に対応するドライバに対して、「ID=3」のレコードの画像を与え、当該ドライバを起動する。また、端末機能呼出部109は、ドライバ識別子「音声再生」に対応するドライバに対して、音声「やらしいわね」を与え、当該ドライバを起動する。その結果、図15のキャラクタ表示が図16のように変わり、音声「やらしいわね」が出力される。なお、図16のキャラクタは、胸を触られているが、好感度が「中」なので、胸を隠している画像である。
 以上、本具体例によれば、端末装置1とサーバ装置22とが通信しながら、端末装置1での処理が続けられる情報システムにおいて、端末装置1のユーザの操作の履歴に基づいて、端末装置1において異なる動作を実現できる。
(具体例3)
 具体例3は、端末装置1から送信された端末要求をサーバ装置22で解釈し、端末要求を送信した端末装置1以外の端末装置のドライバをサーバ装置22から送信するシナリオにより動作させる例である。さらに具体的には、具体例3は、一の端末装置1におけるユーザ操作に基づいて、他の端末装置1を操作できる動作の例である。また、端末装置1の状態に応じて、適用されるシナリオが変化することにより、異なる動作を行う例である。
 まず、端末装置識別子「101」で識別される端末装置1のユーザが、自分の端末装置1に向かって、「おばあちゃんを連れてきて」を音声で指示した、とする。
 次に、端末装置1の端末受付部104は、音声「おばあちゃんを連れてきて」を受け付ける。次に、端末要求構成部105は、端末受付部104が受け付けていた音声が途切れたことを検知し、端末受付部104が受け付けた指示等を用いて、端末要求を構成すると判断する。
 次に、端末要求構成部105は、音声「おばあちゃんを連れてきて」を音声認識し、文字列「おばあちゃんを連れてきて」を取得する。また、端末要求構成部105は、端末装置1が格納している端末識別子「101」を取得する。また、端末要求構成部105は、端末装置1が保持しているGPS受信機が取得した位置情報(Xe,Ye)を取得する。なお、GPS受信機は、例えば、端末機能部101の一つである。また、端末要求構成部105は、図示しない時計や、外部の装置(例えば、NTPサーバ)から現在時刻「2012/10/28 13:59:53」取得する。そして、端末要求構成部105は、端末要求「101,(Xe,Ye),2012/10/28 13:59:53,"おばあちゃんを連れてきて"」を構成する。
 次に、端末送信部106は、構成された端末要求を、サーバ装置22に送信する。
 次に、サーバ装置22の受信部205は、端末装置1から端末要求「101,(Xe,Ye),2012/10/28 13:59:53,"おばあちゃんを連れてきて"」を受信する。
 次に、端末要求処理部206は、受信部205が受信した端末要求から指示内容情報「おばあちゃんを連れてきて」を取得する。
 次に、シナリオ生成部207は、指示内容情報「おばあちゃんを連れてきて」を用いて、図20の対応情報管理表を検索する。そして、シナリオ生成部207は、指示内容情報が、対応情報管理表の「ID=5」の端末要求「$人.*"連れてきて"」にマッチする、と判断する。そして、シナリオ生成部207は、対応情報管理表の「ID=5」のシナリオ元情報を取得する。
 次に、シナリオ生成部207は、端末要求「$人.*"連れてきて"」の中に、変数が存在することを検知し、サーバ装置22が行うべき処理が存在すると判断する。なお、このサーバ装置22が行うべき第一の処理は、変数「$人」を取得する処理である。
 次に、シナリオ生成部207は、指示内容情報「おばあちゃんを連れてきて」と端末要求「$人.*"連れてきて"」を用いて、変数「$人」に対応する「おばあちゃん」を、指示内容情報から取得する。なお、ここで、「おばあちゃん」を取得する方法は問わない。例えば、シナリオ生成部207は、「おばあちゃんを連れてきて」を形態素解析し、単語「おばあちゃん」を取得し、変数「$人」に対応すると判断する。
 次に、シナリオ生成部207は、対応情報管理表の「ID=5」のシナリオ元情報を解釈する。つまり、シナリオ生成部207は、シナリオ元情報の「terminal=search($端末識別子,$人)」の変数「$端末識別子」「人」に、「101」「おばあちゃん」を代入する。そして、シナリオ生成部207は、「terminal=search(101,おばあちゃん)」を実行する。つまり、シナリオ生成部207は、図12の関連ユーザ管理表の「端末識別子1=101」かつ「関係=おばあちゃん」に合致するレコードから、端末識別子2「103」を取得する。つまり、「terminal=search(101,おばあちゃん)」の「terminal」が「103」である、として取得された。
 次に、シナリオ生成部207は、シナリオ元情報を解釈し、「terminal!=NULL」に合致すると判断する。そして、シナリオ生成部207は、図6の「ID=5」のレコードから、「terminal!=NULL」に対応するシナリオ元情報を取得する。次に、シナリオ生成部207は、「if(terminal.電源==OFF)」を解釈し、端末識別子「103」の端末装置1のカレント情報のうちの、属性値「電源=0」を取得する。なお、ここでは、「電源=0」は「OFF」に該当し、「電源=1」は「ON」に該当する。また、電源のOFFとは、ここでは、電話機能は動作し、他の機能は停止していることである、とする。
 そして、シナリオ生成部207は、「if(terminal.電源==OFF)」を真である、と判断し、シナリオ元情報「tel(terminal,"電源をONにして下さい")」を取得する。そして、シナリオ生成部207は、変数「terminal」に「103」を代入し、シナリオ「tel(103,"電源をONにして下さい")」を得る。
 次に、送信部208は、端末識別子「103」で識別される端末装置1(おばあちゃんの端末装置1)に、シナリオ「tel(103,"電源をONにして下さい")」を送信する。つまり、送信部208は、おばあちゃんの端末装置1に電話をかけ、「電源をONにして下さい」を送信する。なお、送信部208は、端末装置識別子「103」に対応する電話番号を保持している、とする。
 次に、おばあちゃんの端末装置1の電話のドライバが起動され、おばあちゃんが受話器を取ると、「電源をONにして下さい」が発声される。そして、おばあちゃんは、端末装置1の電源をONにした(電話以外の機能も動作可能にした)、とする。
 次に、シナリオ生成部207は、シナリオ元情報「put($位置情報,terminal);start_up(navi());set_destination($位置情報);route_search($現在位置,$目的地);」を取得する。
 次に、シナリオ生成部207は、「put($位置情報,terminal)」に「位置情報=(Xe,Ye)」「terminal=103」を代入し、「put((Xe,Ye),103)」を構成する。
 次に、送信部208は、端末識別子「101」とおばあちゃんの端末装置の端末識別子「103」とが、グループ情報格納部203でグループとして管理されているか否かをチェックする。ここで、図10のグループ情報管理表によれば、「101」と「103」とはグループとして管理されている。従って、送信部208は、おばあちゃんの端末装置1に、「put((Xe,Ye),103)」等のコマンドを送信しても良い、と判断する。そして、送信部208は、「103」の端末装置1に、「put((Xe,Ye),103)」を送信する。「put((Xe,Ye),103)」は、端末装置1の位置情報(Xe,Ye)を通知するコマンドである。
 そして、おばあちゃんの端末装置1は、端末装置1の位置情報(Xe,Ye)を受信し、一時蓄積する。なお、まず、おばあちゃんの端末装置1に、案内を行う処理を実施しても良いか否かを問い合わせる情報を出力し、おばあちゃんの端末装置1から「許可」を示す情報を受信した場合にも、以下に説明する案内を行う処理を進めることは好適である。
 次に、送信部208は、コマンド「start_up(navi)();」を、「103」の端末装置1に送信する。
 次に、おばあちゃんの端末装置1は、コマンド「start_up(navi());」を受信し、当該コマンドに従い、navi()を起動する。つまり、おばあちゃんの端末装置1では、ナビゲーションシステム(端末機能部の一つ)が起動される。なお、おばあちゃんの端末装置1は、シナリオ「start_up(navi());」はナビゲーションシステムを起動することを示す情報が格納されている、とする。
 次に、送信部208は、コマンド「set_destination($位置情報);」を、「103」の端末装置に送信する。
 次に、おばあちゃんの端末装置1は、コマンド「set_destination($位置情報);」を受信し、当該コマンドに従い、位置情報(Xe,Ye)を目的地として、ナビゲーションシステムに設定する。なお、おばあちゃんの端末装置1は、シナリオ「set_destination($位置情報);」は、ナビゲーションシステムの目的地に、「$位置情報」を設定することを示す情報が格納されている、とする。
 次に、送信部208は、コマンド「route_search($現在位置,$目的地);」を、「103」の端末装置1に送信する。
 次に、おばあちゃんの端末装置1は、コマンド「route_search($現在位置,$目的地);」の変数「$現在位置」におばあちゃんの端末装置の現在位置を代入する。また、おばあちゃんの端末装置1は、変数「$目的地」に位置情報(Xe,Ye)を代入する。なお、おばあちゃんの端末装置1はGPS受信機等の位置情報を取得する機能を有し、当該機能を用いて、「$現在位置」を取得できる、とする。
 そして、おばあちゃんの端末装置1は、コマンド「route_search((Xf,Yf),(Xe,Ye));」を実行し、ナビゲーションのための経路探索を行う。そして、経路案内がおばあちゃんの端末装置1で行われる、とする。なお、経路案内における目的地は、「おばあちゃんを連れてきて」と音声入力したユーザが居る位置である。なお、おばあちゃんの端末装置1は、シナリオ「route_search((Xf,Yf),(Xe,Ye));」は、ナビゲーションシステムを用いて、2つの地点間の経路案内を行うことを示す情報が格納されている、とする。
 本具体例によれば、一の端末装置1におけるユーザ操作に基づいて、他の端末装置1を操作できる。また、本具体例によれば、一の端末装置1におけるユーザ操作に基づいて、グループ管理された他の端末装置1のみ操作ができる。
(具体例4)
 具体例4は、オブジェクトが端末間を移動できる情報システムである。さらに具体的には、端末装置1のユーザが、端末装置1に存在しているキャラクタを、別の端末装置に移動させる場合について説明する。なお、端末装置1のユーザは、ユーザ識別子「A」で識別されるユーザである、とする。
 また、現在、ユーザ「A」の端末装置1(端末識別子「101」)に、キャラクタ識別子「1」のキャラクタが存在し、かかること(ユーザ識別子:A,端末識別子:101,キャラクタ識別子:1)が、図23のカレント情報管理表に格納されている、とする。つまり、図23の「ID=1」のレコードの「オブジェクト識別子=1」である、とする。
 かかる状況において、ユーザ「A」は、端末識別子「501」で識別される端末装置1(以下、端末「501」)にユーザ識別子「A」と、音声「ここに移動して」とを入力した、とする。
 次に、端末「501」の端末受付部104は、ユーザ識別子「A」および音声「ここに移動して」を受け付ける。次に、端末要求構成部105は、受け付けたデータを用いて、端末要求を構成すると判断する。
 次に、端末「501」の端末要求構成部105は、ユーザ識別子「A」、音声「ここに移動して」、端末「501」の端末識別子「501」を用いて、端末要求(501,A,"ここに移動して")を構成する。なお、端末要求構成部105は、音声認識機能を有し、音声「ここに移動して」を文字列「ここに移動して」に変換した、とする。なお、端末「501」は、端末識別子「501」を予め保持している、とする。
 次に、端末「501」の端末送信部106は、構成された端末要求(501,A,"ここに移動して")を、サーバ装置22に送信する。
 次に、サーバ装置22の受信部205は、端末装置1から端末要求(501,A,"ここに移動して")を受信する。
 次に、端末要求処理部206は、受信部205が受信した端末要求を解釈する。そして、端末要求処理部206は、端末要求の解釈結果を用いて、サーバ装置22が行うべき処理が存在すると判断する。つまり、端末要求処理部206は、"ここに移動して"を用いて、図20の表の「ID=4」のレコードに合致する、と判断する。そして、端末要求処理部206は、「ID=4」のレコードのシナリオ元情報「ch=get_char($ユーザ識別子,$キャラクタ); delete($ユーザ識別子,$キャラクタ); put_char($端末識別子,ch)」を得る。そして、得たシナリオ元情報の中に変数を含むので、端末要求処理部206は、サーバ装置22が行うべき処理が存在すると判断する。
 次に、端末要求処理部206は、「$ユーザ識別子」に対応する「A」を端末要求から取得する。また、端末要求処理部206は、「$キャラクタ」に対応する「ID=1」のキャラクタの情報を取得する。(ユーザ識別子:A,端末識別子:101,キャラクタ識別子:1)から、端末要求処理部206は、ユーザ識別子「A」に対応するキャラクタ識別子は「1」であると取得できる。また、端末要求処理部206は、「$端末識別子」に対応する「501」を端末要求から取得する。
 次に、シナリオ生成部207は、「ch=get_char($ユーザ識別子,$キャラクタ);」の変数に値を代入し、「ch=get_char(A,1);」を得る。そして、シナリオ生成部207は、「ch=get_char(A,1);」を実行し、変数「ch」にキャラクタの情報を代入する。次に、シナリオ生成部207は、「delete($ユーザ識別子,$キャラクタ);」の変数に値を代入し、「delete(A,1);」を得る。そして、シナリオ生成部207は、「delete(A,1);」を実行し、ユーザ識別子「A」に対応するキャラクタの情報を、現在、キャラクタが存在する端末装置1の端末識別子「101」を取得する。なお、キャラクタの情報は、キャラクタの画像を含む。
 そして、送信部208は、端末識別子「101」で識別される端末装置1に、「delete(A,1);」を送信する。そして、端末識別子「101」で識別される端末装置1の端末受信部107は、シナリオ「delete(A,1);」を受信し、端末パーサ部108は当該シナリオを解釈する。そして、端末機能呼出部109は、ディスプレイから「ID=1」のキャラクタを削除する。
 次に、シナリオ生成部207は、「put_char($端末識別子,ch)」の変数に値を代入し、「put_char(501,ch)」を得る。なお、変数「ch」には、キャラクタの情報が代入されている、とする。
 次に、送信部208は、「put_char(501,ch)」を端末識別子「501」で識別される端末「501」に送信する。
 次に、ユーザ管理情報変更部215は、端末要求または送信されたシナリオから、ユーザの指示が端末装置1の移動である、と判断する。そして、ユーザ管理情報変更部215は、図24のユーザ管理情報管理表のユーザ識別子「A」に対応する端末識別子を「101」から「501」に変更する。
 次に、カレント情報更新部213は、シナリオの端末装置1への送信に応じて、カレント情報を更新する。つまり、カレント情報更新部213は、図23のカレント情報管理表において、端末装置識別子「101」に対応するオブジェクト識別子の属性値を「NULL(-)」、画像IDの属性値を画像IDの値を「NULL(-)」に変更する。また、カレント情報更新部213は、端末装置識別子「501」に対応するオブジェクト識別子の属性値を「1」、画像IDの属性値を画像IDの値を「1」に変更する。
 次に、端末「501」の端末受信部107は「put_char(501,ch)」を受信する。そして、端末パーサ部108は、「put_char(501,ch)」を解釈する。そして、端末「501」の端末機能呼出部109は、キャラクタのドライバに変数「ch」のデータ(キャラクタのデータ)を渡し、キャラクタのドライバを起動させる。そして、端末「501」のディスプレイには、キャラクタが表示される。
 以上、本具体例によれば、端末間のオブジェクトが移動できる。
 以上、本実施の形態によれば、ドライバにより駆動される1以上のハードウェアを具備し、かつ情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える。
 また、本実施の形態によれば、サーバ装置で端末装置の現在の状況を管理することにより、情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える。
 また、本実施の形態によれば、サーバ装置で端末装置のドライバを管理することにより、情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える。また、本実施の形態によれば、端末装置が具備するドライバの登録、管理が容易に行える。
 さらに、本実施の形態によれば、処理中に、処理を行う対象の端末装置を変更できる。
 なお、本実施の形態において、端末装置1から送信された端末要求を、サーバ装置22が解釈して、シナリオを端末装置1に返す、という処理を行っている。ただし、サーバ装置22は、端末装置1から端末要求を受信しない場合にでも、予め決められた条件を満たす場合、端末装置1にシナリオを送信しても良い。予め決められた条件とは、例えば、予め決められた時刻になったこと、サーバ装置22の状態が予め決められた条件を満たすこと等である。サーバ装置22の状態が予め決められた条件を満たすこととは、例えば、CPU負荷が閾値以下であること、サーバ装置22が起動していること等である。
 また、本実施の形態において、例えば、サーバ装置22が、ダウンした場合、サーバ装置22がダウンから復帰するまで、サーバ装置22からの復帰した旨の情報の受信まで端末装置1は待機状態となり、端末装置1が本来持つ機能が動作する。また、かかる場合、通常、端末装置1は現在の状態を保持(退避)している。なお、端末装置1が本来持つ機能とは、例えば、OSがユーザからの指示等を受け付ける状態である。また、サーバ装置22から復帰した旨の情報を受信した場合、端末装置1は、退避した状態を呼び出し、サーバ装置22とのやりとりを再開する。
 また、端末装置1で処理を行っている場合、通常、サーバ装置22と常時通信を行っている。そのため、サーバ装置22が、例えば、ダウンした場合、端末装置1の処理は停止しても良い。
 さらに、本実施の形態におけるサーバ装置22を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、端末要求を構成する情報とシナリオを構成する元になる情報であるシナリオ元情報との対応を示す1以上の対応情報を格納しており、かつ、端末装置の現在の状態を示す情報であるカレント情報を、端末装置ごとに格納しており、コンピュータを、端末装置から端末要求を受信する受信部と、前記受信部が受信した端末要求を解釈し、当該端末要求に対応するシナリオ元情報を、前記記憶媒体から取得し、かつ、前記受信部が受信した端末要求に対応する処理を行う端末要求処理部と、前記端末要求処理部が取得したシナリオ元情報と、前記端末要求処理部が処理を行って得た処理結果と、前記端末装置に対応するカレント情報とを用いて、シナリオを生成するシナリオ生成部と、前記シナリオ生成部が生成したシナリオを端末装置に送信する送信部と、前記シナリオの端末装置への送信に応じて、前記カレント情報を更新するカレント情報更新部として機能させるためのプログラムである。
 また、図26は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報システムを実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図26は、このコンピュータシステム300の概観図であり、図27は、システム300のブロック図である。
 図26において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304と、マイク305と、スピーカー306とを含む。
 図27において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、バス3014と、ROM3015と、RAM3016と、ハードディスク3017とを含む。なお、バス3014は、MPU3013やCD-ROMドライブ3012に接続されている。また、ROM3015には、ブートアッププログラム等のプログラムが記憶されている。また、RAM3016は、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのものである。また、ハードディスク3017は、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのものである。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
 コンピュータシステム300に、上述した実施の形態の情報システムの機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
 プログラムは、コンピュータ301に、上述した実施の形態の情報システムの機能を実行させるオペレーティングシステム、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
 なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
 また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
 また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
 また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
 以上のように、本発明にかかる情報システムは、ドライバにより駆動される1以上のハードウェアを具備し、かつ情報処理能力が十分でない端末装置において、1以上のハードウェアを有効に利用しつつ、複雑な情報処理が行える、という効果を有し、情報システム等として有用である。
 1 端末装置
 2、20 サーバ装置
 3 ネットワーク
 101 端末機能部
 102 端末ドライバ管理部
 103 端末オブジェクト格納部
 104 端末受付部
 105 端末要求構成部
 106 端末送信部
 107 端末受信部
 108 端末パーサ部
 109 端末機能呼出部
 110 端末オブジェクト出力部
 200 カレント情報格納部
 201 対応情報格納部
 202 サーバドライバ管理部
 203 グループ情報格納部
 204 履歴格納部
 205 受信部
 206 端末要求処理部
 207 シナリオ生成部
 208 送信部
 209 履歴蓄積部
 210 受付部
 211 統計処理結果取得部
 212 統計処理結果出力部
 213 カレント情報更新部
 214 ユーザ管理情報格納部
 215 ユーザ管理情報変更部
 2021 種類別ドライバ情報格納手段
 2022 端末管理情報格納手段

Claims (15)

  1. 1または2以上の端末装置とサーバ装置とを具備する情報システムであって、
    前記端末装置は、
    ドライバにより駆動される1以上の端末機能部と、
    前記1以上の端末機能部のドライバを識別する1以上のドライバ識別子を格納し得る端末ドライバ管理部と、
    ユーザからの1以上の指示を受け付ける端末受付部と、
    前記1以上の指示に対応する要求である端末要求を構成する端末要求構成部と、
    前記端末要求を前記サーバ装置に送信する端末送信部と、
    前記端末要求の送信に対応して、前記サーバ装置からコマンドとデータとを有するシナリオを受信する端末受信部と、
    前記シナリオを解釈し、前記1以上のドライバ識別子、および当該1以上のドライバ識別子で識別される1以上の機能部に渡すデータであり、前記シナリオが有するデータを取得する端末パーサ部と、
    前記端末パーサ部が取得した前記1以上のドライバ識別子で識別される1以上の端末機能部に、前記端末パーサ部が取得したデータを渡し、前記1以上の端末機能部を呼び出す端末機能呼出部とを具備し、
    前記サーバ装置は、
    端末要求を構成する情報とシナリオを構成する元になる情報であるシナリオ元情報との対応を示す1以上の対応情報を格納し得る対応情報格納部と、
    前記端末装置から端末要求を受信する受信部と、
    前記受信部が受信した端末要求を解釈し、当該端末要求に対応するシナリオ元情報を、前記対応情報格納部から取得し、かつ、前記受信部が受信した端末要求に対応する処理を行う端末要求処理部と、
    前記端末要求処理部が取得したシナリオ元情報と、前記端末要求処理部が処理を行って得た処理結果とを用いて、シナリオを生成するシナリオ生成部と、
    前記シナリオ生成部が生成したシナリオを端末装置に送信する送信部とを具備する情報システム。
  2. 前記端末装置は、
    1以上のオブジェクトを格納し得る端末オブジェクト格納部と、
    前記1以上のオブジェクトを出力する端末オブジェクト出力部とをさらに具備し、
    前記シナリオは、
    オブジェクトの動作を示すコマンドである動作コマンドを有し、
    前記端末パーサ部は、
    前記シナリオを解釈し、当該シナリオから動作コマンドを取得し、
    前記端末オブジェクト出力部は、
    前記動作コマンドに従って、当該動作コマンドに対応するオブジェクトを動作させる請求項1記載の情報システム。
  3. 前記サーバ装置は、
    端末要求の一部または全部である要求履歴を格納し得る履歴格納部と、
    前記受信部が受信した端末要求の一部または全部である要求履歴を前記履歴格納部に蓄積する履歴蓄積部とをさらに具備し、
    前記シナリオ生成部は、
    前記受信部が受信した端末要求、および前記履歴格納部に格納されている要求履歴を用いてシナリオを生成する請求項1記載の情報システム。
  4. 前記サーバ装置は、
    前記端末装置が具備している端末機能部のドライバを識別する1以上のドライバ識別子を格納し得るサーバドライバ管理部をさらに具備し、
    前記シナリオ生成部は、
    前記サーバドライバ管理部に格納されている1以上のドライバ識別子に応じて、生成するシナリオが異なる請求項1記載の情報システム。
  5. 前記サーバ装置は、
    前記要求履歴を統計処理し、統計処理結果を取得する統計処理結果取得部と、
    前記統計処理結果を出力する統計処理結果出力部とをさらに具備する請求項3記載の情報システム。
  6. 前記シナリオ生成部が生成するシナリオは、
    前記端末装置以外の端末装置である他端末装置に対するコマンドを含み、
    前記送信部は、
    前記他端末装置に、前記コマンドを送信する請求項1記載の情報システム。
  7. 前記サーバ装置は、
    2以上の端末装置のグループを特定する情報であり、2以上の各端末装置を識別する2以上の端末識別子を有するグループ情報を格納し得るグループ情報格納部をさらに具備し、
    前記送信部は、
    前記グループ情報が有する2以上のいずれかの端末識別子にも対応しない端末装置にはコマンドを送信しない請求項6記載の情報システム。
  8. 前記サーバ装置は、
    端末装置の現在の状態を示す情報であるカレント情報を、端末装置ごとに格納し得るカレント情報格納部をさらに具備し、
    前記シナリオ生成部は、
    前記端末要求処理部が取得したシナリオ元情報と、前記端末要求処理部が処理を行って得た処理結果と、前記端末装置に対応するカレント情報とを用いて、シナリオを生成し、
    前記シナリオの端末装置への送信に応じて、前記カレント情報を更新するカレント情報更新部をさらに具備する請求項1記載の情報システム。
  9. 前記1または2以上の各端末装置が具備している端末機能部のドライバを識別する1以上のドライバ識別子を、端末装置ごとに格納し得るサーバドライバ管理部をさらに具備し、
    前記シナリオ生成部は、
    前記サーバドライバ管理部に格納されている1以上のドライバ識別子に応じて、生成するシナリオが異なる請求項8記載の情報システム。
  10. 前記サーバドライバ管理部は、
    端末装置の種類を示す種類識別子と1以上のドライバ識別子とを対応付ける1以上の種類別ドライバ情報を格納し得る種類別ドライバ情報格納手段と、
    端末装置を識別する端末識別子と種類識別子とを対応付ける1以上の端末管理情報を格納し得る端末管理情報格納手段とを具備する請求項9記載の情報システム。
  11. 端末装置のユーザを識別するユーザ識別子と端末識別子とを対応付ける1以上のユーザ管理情報を格納し得るユーザ管理情報格納部と、
    前記端末要求が、処理を行う端末装置を移動する旨の要求である場合に、処理を行う端末装置が、現在処理を行っている端末装置である旧端末装置から新端末装置に変更になるように、ユーザ管理情報が有する端末識別子であり、前記端末要求を送信してきた端末装置のユーザのユーザ識別子に対応する端末識別子を、前記新端末装置の端末識別子に変更するユーザ管理情報変更部とをさらに具備し、
    前記シナリオ生成部は、
    前記旧端末装置のカレント情報を用いて、シナリオを生成し、
    前記送信部は、
    前記シナリオ生成部が生成したシナリオを新端末装置に送信する請求項9または請求項10記載の情報システム。
  12. ドライバにより駆動される1以上の端末機能部と、
    前記1以上の端末機能部のドライバを識別する1以上のドライバ識別子を格納し得る端末ドライバ管理部と、
    ユーザからの1以上の指示を受け付ける端末受付部と、
    前記1以上の指示に対応する要求である端末要求を構成する端末要求構成部と、
    前記端末要求をサーバ装置に送信する端末送信部と、
    前記端末要求の送信に対応して、前記サーバ装置からコマンドとデータとを有するシナリオを受信する端末受信部と、
    前記シナリオを解釈し、前記1以上のドライバ識別子、および当該1以上のドライバ識別子で識別される1以上の機能部に渡すデータであり、前記シナリオが有するデータを取得する端末パーサ部と、
    前記端末パーサ部が取得した前記1以上のドライバ識別子で識別される1以上の端末機能部に、前記端末パーサ部が取得したデータを渡し、前記1以上の端末機能部を呼び出す端末機能呼出部とを具備する端末装置。
  13. 端末要求を構成する情報とシナリオを構成する元になる情報であるシナリオ元情報との対応を示す1以上の対応情報を格納し得る対応情報格納部と、
    端末装置から端末要求を受信する受信部と、
    前記受信部が受信した端末要求を解釈し、当該端末要求に対応するシナリオ元情報を、前記対応情報格納部から取得し、かつ、前記受信部が受信した端末要求に対応する処理を行う端末要求処理部と、
    前記端末要求処理部が取得したシナリオ元情報と、前記端末要求処理部が処理を行って得た処理結果とを用いて、シナリオを生成するシナリオ生成部と、
    前記シナリオ生成部が生成したシナリオを端末装置に送信する送信部とを具備するサーバ装置。
  14. 記憶媒体に、
    前記1以上の端末機能部のドライバを識別する1以上のドライバ識別子を格納しており、
    ドライバにより駆動される1以上の端末機能部、端末受付部、端末要求構成部、端末送信部、端末受信部、端末パーサ部、端末機能呼出部により実現される情報処理方法であって、
    前記端末受付部が、ユーザからの1以上の指示を受け付ける端末受付ステップと、
    前記端末要求構成部が、前記1以上の指示に対応する要求である端末要求を構成する端末要求構成ステップと、
    前記端末送信部が、前記端末要求をサーバ装置に送信する端末送信ステップと、
    前記端末受信部が、前記端末要求の送信に対応して、前記サーバ装置からコマンドとデータとを有するシナリオを受信する端末受信ステップと、
    前記端末パーサ部が、前記シナリオを解釈し、前記1以上のドライバ識別子、および当該1以上のドライバ識別子で識別される1以上の機能部に渡すデータであり、前記シナリオが有するデータを取得する端末パーサステップと、
    前記端末機能呼出部が、前記端末パーサ部が取得した前記1以上のドライバ識別子で識別される1以上の端末機能部に、前記端末パーサ部が取得したデータを渡し、前記1以上の端末機能部を呼び出す端末機能呼出ステップとを具備する情報処理方法。
  15. 記憶媒体に、
    端末要求を構成する情報とシナリオを構成する元になる情報であるシナリオ元情報との対応を示す1以上の対応情報を格納しており、
    受信部、端末要求処理部、シナリオ生成部、送信部により実現される情報処理方法であって、
    前記受信部が、端末装置から端末要求を受信する受信ステップと、
    前記端末要求処理部が、前記受信ステップで受信された端末要求を解釈し、当該端末要求に対応するシナリオ元情報を、前記記憶媒体から取得し、かつ、前記受信ステップで受信された端末要求に対応する処理を行う端末要求処理ステップと、
    前記シナリオ生成部が、前記端末要求処理ステップで取得されたシナリオ元情報と、前記端末要求処理ステップで処理を行って得た処理結果とを用いて、シナリオを生成するシナリオ生成ステップと、
    前記送信部が、前記シナリオ生成ステップで生成されたシナリオを端末装置に送信する送信ステップとを具備する情報処理方法。
PCT/JP2013/076697 2012-10-31 2013-10-01 情報システム、サーバ装置、端末装置、および情報処理方法 WO2014069145A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP13850723.1A EP2916235A4 (en) 2012-10-31 2013-10-01 INFORMATION SYSTEM, SERVER DEVICE, TERMINAL DEVICE, AND INFORMATION PROCESSING METHOD
US14/439,923 US10063626B2 (en) 2012-10-31 2013-10-01 Information system, server apparatus, terminal apparatus, and information processing method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012-241026 2012-10-31
JP2012241026A JP6052731B2 (ja) 2012-10-31 2012-10-31 情報システム、サーバ装置、端末装置、情報処理方法、およびプログラム
JP2012-242420 2012-11-02
JP2012242420A JP6153152B2 (ja) 2012-11-02 2012-11-02 情報システム、サーバ装置、および端末装置

Publications (1)

Publication Number Publication Date
WO2014069145A1 true WO2014069145A1 (ja) 2014-05-08

Family

ID=50627061

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/076697 WO2014069145A1 (ja) 2012-10-31 2013-10-01 情報システム、サーバ装置、端末装置、および情報処理方法

Country Status (3)

Country Link
US (1) US10063626B2 (ja)
EP (1) EP2916235A4 (ja)
WO (1) WO2014069145A1 (ja)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981445A (ja) * 1995-07-11 1997-03-28 Matsushita Electric Ind Co Ltd 情報管理装置
JPH11242546A (ja) * 1997-12-26 1999-09-07 Bandai Digital Entertaiment:Kk サーバシステム、クライアント及び情報提供システム並びにそれらの処理プログラムを記録した媒体
JP2001249742A (ja) * 2000-03-06 2001-09-14 Nippon Telegraph & Telephone East Corp インタフェースエージェント遠隔制御装置およびインタフェースエージェント遠隔制御方法
JP2001265682A (ja) * 2000-03-15 2001-09-28 Sky Com:Kk 配信サーバ及び配信システム
JP2003186792A (ja) 2001-12-14 2003-07-04 Kengo Inoue メッセージ表示方法,そのサーバ及びクライアント
JP2006512640A (ja) * 2002-12-24 2006-04-13 テレフォンアクチーボラゲット エル エム エリクソン(パブル) プレゼンス技術を用いたアプリケーション情報およびコマンドの送信
JP2006304986A (ja) * 2005-04-27 2006-11-09 Aruze Corp ゲーム機
JP2009110300A (ja) * 2007-10-30 2009-05-21 Nippon Telegr & Teleph Corp <Ntt> 情報家電ネットワーク制御装置、情報家電ネットワーク制御システム、情報家電ネットワーク制御方法、およびプログラム
JP2011180951A (ja) * 2010-03-03 2011-09-15 Nec Personal Products Co Ltd 情報処理システム、情報処理装置、プログラム及び記録媒体
JP2012190242A (ja) * 2011-03-10 2012-10-04 Shunji Sugaya 端末のリモートサポートシステム、リモートサポート方法
JP2012195843A (ja) * 2011-03-17 2012-10-11 Shunji Sugaya 端末のリモート操作システム、リモート操作方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69232247T2 (de) * 1991-05-07 2002-08-08 Fujitsu Ltd., Kawasaki Vermittlungsknoten in einem Netz mit Etikett-Multiplexinformation
JP3526595B2 (ja) * 1993-10-29 2004-05-17 富士通株式会社 情報管理機構
US6306089B1 (en) * 1999-09-24 2001-10-23 Atl Ultrasound, Inc. Ultrasonic diagnostic imaging system with customized measurements and calculations
JP4497808B2 (ja) * 2002-11-27 2010-07-07 キヤノン株式会社 情報処理方法、情報処理サーバ、及びプログラム
US7462798B2 (en) 2005-04-27 2008-12-09 Aruze Corp. Gaming machine
JP2007122647A (ja) 2005-10-31 2007-05-17 Qbix:Kk プログラムデータ提供方法、プログラムデータ提供システム及びプログラムデータ提供装置
US7934660B2 (en) * 2006-01-05 2011-05-03 Hand Held Products, Inc. Data collection system having reconfigurable data collection terminal
JP2009015388A (ja) * 2007-06-29 2009-01-22 Casio Comput Co Ltd 電子式計算機および制御プログラム
JP4936551B2 (ja) * 2007-11-16 2012-05-23 キヤノン株式会社 管理装置、管理方法、及びコンピュータプログラム
US7774560B2 (en) * 2007-11-30 2010-08-10 Aten International Co., Ltd. Storage emulator and method thereof
JP4981729B2 (ja) 2008-03-21 2012-07-25 ヤフー株式会社 テンプレートの利用に係る利用収益還元サーバ、方法及びプログラム
US8314683B2 (en) * 2008-05-09 2012-11-20 The Israelife Foundation Incident response system
JP5488474B2 (ja) * 2008-12-11 2014-05-14 日本電気株式会社 ペアリングシステム、ペアリング装置、ペアリング装置の処理方法及びプログラム
JP5305493B2 (ja) 2010-11-12 2013-10-02 パナソニック株式会社 サーバ、通信端末、およびそれらを備えた機器連携システム
KR101172227B1 (ko) * 2010-11-18 2012-08-07 현대자동차주식회사 차량내 운전자 얼굴 인증을 통한 출입 통제 시스템 및 그 방법
CN102004655B (zh) * 2010-11-25 2013-06-19 飞天诚信科技股份有限公司 自动安装驱动程序的装置及方法
JP2012216166A (ja) * 2011-03-28 2012-11-08 Canon Inc 情報処理装置、その方法、及びプログラム

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981445A (ja) * 1995-07-11 1997-03-28 Matsushita Electric Ind Co Ltd 情報管理装置
JPH11242546A (ja) * 1997-12-26 1999-09-07 Bandai Digital Entertaiment:Kk サーバシステム、クライアント及び情報提供システム並びにそれらの処理プログラムを記録した媒体
JP2001249742A (ja) * 2000-03-06 2001-09-14 Nippon Telegraph & Telephone East Corp インタフェースエージェント遠隔制御装置およびインタフェースエージェント遠隔制御方法
JP2001265682A (ja) * 2000-03-15 2001-09-28 Sky Com:Kk 配信サーバ及び配信システム
JP2003186792A (ja) 2001-12-14 2003-07-04 Kengo Inoue メッセージ表示方法,そのサーバ及びクライアント
JP2006512640A (ja) * 2002-12-24 2006-04-13 テレフォンアクチーボラゲット エル エム エリクソン(パブル) プレゼンス技術を用いたアプリケーション情報およびコマンドの送信
JP2006304986A (ja) * 2005-04-27 2006-11-09 Aruze Corp ゲーム機
JP2009110300A (ja) * 2007-10-30 2009-05-21 Nippon Telegr & Teleph Corp <Ntt> 情報家電ネットワーク制御装置、情報家電ネットワーク制御システム、情報家電ネットワーク制御方法、およびプログラム
JP2011180951A (ja) * 2010-03-03 2011-09-15 Nec Personal Products Co Ltd 情報処理システム、情報処理装置、プログラム及び記録媒体
JP2012190242A (ja) * 2011-03-10 2012-10-04 Shunji Sugaya 端末のリモートサポートシステム、リモートサポート方法
JP2012195843A (ja) * 2011-03-17 2012-10-11 Shunji Sugaya 端末のリモート操作システム、リモート操作方法

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP2916235A4 (en) 2016-07-13
EP2916235A1 (en) 2015-09-09
US20150304396A1 (en) 2015-10-22
US10063626B2 (en) 2018-08-28

Similar Documents

Publication Publication Date Title
CN110741431A (zh) 跨设备切换
CN104050219B (zh) 用于管理会话消息的方法和设备
WO2016107501A1 (zh) 智能设备控制方法及装置
WO2016066035A1 (zh) 对话处理方法、对话管理系统和计算机设备
WO2018157721A1 (zh) 信息获取方法、提供方法、装置及系统、存储介质
US10403272B1 (en) Facilitating participation in a virtual meeting using an intelligent assistant
WO2019076372A1 (zh) 会话消息的显示方法及移动终端
US20050138219A1 (en) Managing application interactions using distributed modality components
US11069252B2 (en) Collaborative virtual environment
US10168983B2 (en) Server apparatus, content display control system, and recording medium
WO2018045562A1 (zh) 一种关联通知消息的方法、装置及移动终端
KR20140014200A (ko) 구어체 대화 학습 및 정정
EP2849125A1 (en) Rearranging chat messages
US11216997B2 (en) Method and apparatus for displaying historical chat record
JP2020181590A (ja) デバイスがユーザ・インターフェースをディスプレイする方法及びそのデバイス
CN108900407B (zh) 会话记录的管理方法、装置及存储介质
US20240169989A1 (en) Multimodal responses
JP2013065241A (ja) 空間共有システム、サーバ、ユーザ端末、空間共有方法、及びプログラム
WO2021147784A1 (zh) 信息处理方法及电子设备
JP6052731B2 (ja) 情報システム、サーバ装置、端末装置、情報処理方法、およびプログラム
US11164576B2 (en) Multimodal responses
JP6346645B2 (ja) 情報システム、サーバ装置、端末装置、情報処理方法、およびプログラム
CN109165197B (zh) 一种文件处理方法、终端及服务器
JP2015176452A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
WO2014069145A1 (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: 13850723

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14439923

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013850723

Country of ref document: EP