WO2017159067A1 - 情報処理装置およびエージェントシステム - Google Patents

情報処理装置およびエージェントシステム Download PDF

Info

Publication number
WO2017159067A1
WO2017159067A1 PCT/JP2017/002917 JP2017002917W WO2017159067A1 WO 2017159067 A1 WO2017159067 A1 WO 2017159067A1 JP 2017002917 W JP2017002917 W JP 2017002917W WO 2017159067 A1 WO2017159067 A1 WO 2017159067A1
Authority
WO
WIPO (PCT)
Prior art keywords
agent
information
external device
external
processing apparatus
Prior art date
Application number
PCT/JP2017/002917
Other languages
English (en)
French (fr)
Inventor
達裕 小林
剛弘 倉谷
秀人 松下
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP17766075.0A priority Critical patent/EP3432142A4/en
Publication of WO2017159067A1 publication Critical patent/WO2017159067A1/ja
Priority to US16/108,137 priority patent/US10924297B2/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Definitions

  • the present invention relates to a system in which processing performed by a device is performed by an agent.
  • Patent Document 1 describes a system in which a plurality of home appliances are connected to a network, each agent has a corresponding agent, and each agent is managed by a master computer.
  • a master device located at the center of a network executes an agent corresponding to each of a plurality of home appliances, and the agent shares part of the control of the plurality of home appliances.
  • optimal control for example, minimization of power consumption
  • a model for each home appliance can be transferred to another master device.
  • the present invention has been made in consideration of the above-described problems, and an object thereof is to reduce the cost in a system in which devices connected to a network are controlled by agents.
  • An information processing apparatus uses, as an interface, an identification unit that identifies one or more external devices, a communication unit that communicates with the external device, and hardware included in the external device.
  • An information processing apparatus is an apparatus that generates and executes an agent corresponding to an external device.
  • An agent is software that acts as a proxy for processing that is conventionally executed by software in an external device.
  • the agent uses a hardware included in the external device as an interface, and executes a predetermined function defined for each external device.
  • the external device only performs input / output, and the processing associated therewith is performed by the device executing the agent.
  • the external device only needs to have an interface and small-scale hardware attached to the interface, and a large-scale software execution unit for realizing other functions can be omitted. . That is, the cost for the external device can be suppressed.
  • the functions of a plurality of external devices can be updated by updating the agent.
  • hardware serving as an interface is typically a sensor or an actuator, but is not limited thereto. Anything can be used as long as it is in contact with the real world.
  • the agent may be generated each time, or the generated agent may be stored and reused. The agent once generated can be reused as long as the function of the external device is not updated.
  • the information processing apparatus is information relating to processing to be performed on the basis of metadata that is data for identifying the external device from the external device and based on the acquired metadata.
  • the apparatus may further include a device information acquisition unit that acquires device information, and the agent generation unit generates the agent using the device information.
  • Metadata is information for identifying an external device.
  • the metadata is, for example, an identifier, attribute, serial number, etc. of an external device, but is not limited to these. For example, it may be a URL indicating the location of these pieces of information.
  • the device information acquisition unit acquires corresponding device information based on the content of the metadata.
  • the device information is information related to processing (function) to be realized using hardware included in the external device.
  • the device information includes, for example, information related to hardware possessed by the external device (for example, details of information obtained by accessing the hardware) and a method for generating or processing data using the information. Including.
  • the external device may transmit only information for identifying itself, and the device information acquisition unit may acquire specific information based on the metadata. According to this configuration, functions related to the external device can be managed outside the device.
  • the communication unit may perform wireless connection by pairing with the external device, and the device information acquisition unit may acquire metadata from the external device at a timing of connection with the external device.
  • the external device By acquiring metadata every time a connection with an external device occurs, the external device can be identified at an appropriate timing.
  • the metadata may include an acquisition destination of the device information on a network, and the device information acquisition unit may acquire the device information from an acquisition destination indicated by the metadata.
  • the acquisition destination of the device information may be represented by, for example, a URL, a URI, a network address, or the like.
  • the device information can be easily updated by acquiring the device information from the network.
  • the device information includes first information related to data that can be acquired by the external device, and second information related to processing performed using the data, and the agent includes the first and second information.
  • the predetermined process may be executed using information.
  • the information processing apparatus can be suitably applied to, for example, a form in which an external device provides only data (for example, sensor data) and an agent generates and processes information using the data.
  • data for example, sensor data
  • An information processing apparatus is Communication means for communicating with one or more external devices, and agent execution means for executing an agent acting on behalf of a predetermined process defined for each external device, using hardware of the external device as an interface; It is characterized by having.
  • the present invention can also be specified as an information processing apparatus that executes an agent.
  • the agent system For one or more external devices, an information processing device that executes an agent acting on behalf of a predetermined process defined for each external device by using hardware of the external device as an interface, and a server device
  • the information processing device includes device information acquisition means for acquiring device information, which is information relating to processing to be performed, from the server device, and agent generation means for generating the agent using the device information.
  • the server device stores device information corresponding to the one or more external devices, and provides device information for transmitting corresponding device information in response to a request from the information processing device. And means.
  • the present invention can be specified as a system including the information processing apparatus and the server apparatus. In this way, by using a server that manages device information, unified management of device information becomes possible.
  • the storage unit stores the device information in association with the user, the device information acquisition unit transmits authentication information corresponding to the user to the server device, and the device information providing unit corresponds to the user. Only device information to be transmitted may be transmitted to the information processing apparatus.
  • the user may register his / her information in the server device in advance, store the user and the device information in association with each other, and then authenticate the user when acquiring the device information.
  • authentication information for example, an electronic signature
  • a user may be transmitted from the information processing apparatus to the server apparatus, and only device information corresponding to the user may be distributed.
  • the device information may include key information associated with the external device, and the agent may perform cryptographic communication with the external device using the key information.
  • the agent and the external device can perform encrypted communication. If different key information is used for each individual external device, communication cannot be performed unless it is the same as the registered individual. That is, it is possible to prevent spoofing connections using devices of the same model number.
  • the agent may communicate only with an external device having the same authentication information as the authentication information corresponding to the user among the external devices connected to the information processing device.
  • the external device and the agent may exchange information with a device (a server providing a service, another external device, another user, etc.) connected to the outside of the system through a network.
  • a device a server providing a service, another external device, another user, etc.
  • security on the network can be strengthened by permitting communication only with an external device having the same authentication information as the authentication information corresponding to the user.
  • the present invention can be specified as an information processing apparatus or an agent system including at least a part of the above means.
  • the present invention can also be specified as an information processing method performed by the information processing apparatus.
  • the present invention can also be specified as a program that causes a computer to execute the information processing method.
  • the agent system is a system including one or more smart devices, a master device that is a computer that manages the smart devices, and a management server.
  • the smart device is a computer that operates with fewer resources than the master device.
  • the smart device is a wristband type wearable computer that acquires the amount of exercise of the user.
  • the smart device is not limited to a wearable computer as long as the computer operates with limited resources. For example, it may be an embedded computer or the like built in a home appliance.
  • FIG. 1A is a diagram illustrating a data flow in a conventional system in which a smart device and a master device (for example, a smartphone) cooperate.
  • the smart device 20 incorporates dedicated software, and interacts with the user via software executed on the master device.
  • the smart device since the smart device realizes the function of the device with built-in software, a large-scale program cannot be executed. Further, there is a restriction that the software must be updated each time the device function is updated. Also, the user must prepare different application software for each smart device vendor. Therefore, in the agent system according to the present embodiment, the high-order processing that has been conventionally executed by the smart device is delegated to software (agent in the present invention) executed on the master device. Specialize in interface functions.
  • FIG. 1B is a diagram showing a data flow in the present embodiment.
  • the smart device 20 has only two functions: (1) a function of transmitting data (metadata) for identifying the own device and (2) a function of providing sensor data in response to a request. is doing.
  • the smart device 20 according to the present embodiment does not have other functions (for example, a function for editing / processing acquired data, a function for accessing a database, a function for providing a user interface, etc.).
  • the master device 10 is a portable computer such as a smartphone possessed by a user.
  • the master device 10 generates and executes an agent (hereinafter, referred to as a device agent) that performs a function to be realized by the smart device 20 based on information acquired from the smart device 20.
  • the device agent is a program module that has an independent instance for each smart device 20 and is executed on the master device 10.
  • the master device 10 executes a general-purpose agent that is a program for generating a device agent.
  • the management server 30 is a server device that provides the master device 10 with information for generating a device agent. Specifically, metadata for identifying a smart device and information including a code for generating a device agent (hereinafter referred to as an agent catalog) are stored in association with each other, and an agent corresponding to the metadata It is configured to send a catalog.
  • an agent catalog metadata for identifying a smart device and information including a code for generating a device agent
  • the general-purpose agent in the master device 10 acquires an agent catalog from the management server 30 based on the metadata, and generates and executes a device agent corresponding to the smart device 20 using the agent catalog. .
  • the device agent is an agent acting on behalf of processing executed by the smart device 20.
  • the device agent acquires data from a sensor included in the smart device 20, and executes processing for editing and processing the data, processing for accessing a database, processing for generating a user interface, processing for interacting with a user, and the like. .
  • FIG. 2 is a functional block diagram of each device constituting the system.
  • the master device 10 includes a network communication unit 11, a near field communication unit 12, a general agent execution unit 13, a device agent execution unit 14, and an input / output unit 15.
  • the network communication unit 11 is means for communicating with the management server 30 by accessing the network via a communication line (for example, a cellular phone network).
  • the short-range communication unit 12 is means for performing wireless communication with the smart device 20.
  • the short-range communication unit 12 performs communication using a Bluetooth (registered trademark) connection.
  • the short-range communication unit 12 stores information about the smart device 20 that is a pairing destination, and can be connected by a simple operation.
  • the general agent execution unit 13 is a means for executing an agent (hereinafter referred to as a general agent) for generating a device agent.
  • the general-purpose agent is a program module that monitors connection and disconnection of the smart device 20 and generates a device agent to be described later according to the connected smart device.
  • the device agent execution unit 14 is a means for executing the device agent generated by the general-purpose agent.
  • the device agent is a program module generated for each connected device. Details of processing performed by the general agent and the device agent will be described later.
  • the input / output unit 15 is a means for accepting an input operation performed by the user and presenting information to the user.
  • it consists of one touch panel display. That is, it comprises a liquid crystal display and its control means, a touch panel and its control means.
  • Each means described above may be realized by hardware designed exclusively, or may be realized by software. Further, it may be realized by a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like, or may be realized by a combination thereof.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • each means functions when a program stored in the auxiliary storage device is loaded into the main storage device and executed by the CPU. (The CPU, auxiliary storage device, and main storage device are not shown)
  • the smart device 20 is a wristband type wearable computer for acquiring a user's momentum, and includes a short-range communication unit 21, a sensor unit 22, and a metadata storage unit 23.
  • the short-range communication unit 21 is a unit that performs wireless communication with the master device 10. Since the functions of the short-range communication unit 21 are the same as those of the short-range communication unit 12 described above, detailed description thereof is omitted.
  • the sensor unit 22 is hardware means including a plurality of sensors. Sensors included in the sensor unit 22 include, for example, when the smart device 20 is a wearable device, a sensor for acquiring a user's behavior record and exercise amount, a sensor for managing the user's health, and the like. I can't.
  • the sensor unit 22 includes a heart rate sensor that acquires the heart rate of the user and a step number sensor that acquires the number of steps the user has walked.
  • the metadata storage unit 23 is means for storing information (metadata) for identifying the smart device 20.
  • FIG. 3 shows an example of metadata.
  • the metadata is composed of (1) the name of the device, (2) the acquisition destination URL of the agent catalog (described later), and (3) an identifier unique to the individual device.
  • FIG. 3 shows the metadata in a table format, the metadata may be described in another format such as XML or JSON.
  • the metadata is transmitted in response to a request from the master device 10.
  • the network communication unit 31 is means for communicating with the master device 10. Since the function of the network communication unit 31 is the same as that of the network communication unit 11 described above, detailed description thereof is omitted.
  • the catalog storage unit 32 is means for storing information for generating a device agent (hereinafter referred to as an agent catalog).
  • FIG. 4 shows an example of the agent catalog.
  • the agent catalog uses (1) device name, (2) device type, (3) details of sensor data that can be acquired by the device (hereinafter referred to as sensor definition), and (4) sensor data. Includes code (hereinafter process definition) that describes the contents and procedure of the process to be performed.
  • process definition includes code (hereinafter process definition) that describes the contents and procedure of the process to be performed.
  • the agent catalog is shown in a table format, but the agent catalog may be described in another format in the same manner as the metadata.
  • the agent catalog is transmitted in response to a request from the master device 10. A method for generating a device agent using the agent catalog will be described later.
  • the catalog distribution unit 33 is a Web server for distributing the agent catalog stored in the catalog storage unit 32.
  • FIG. 5 is a process flowchart performed by each device.
  • the user connects the smart device 20 to the master device 10 (step S11).
  • the connection between the smart device 20 and the master device 10 is performed using a wireless connection based on Bluetooth. Note that after pairing is performed once, the device may be detected and the connection may be made automatically.
  • the general agent execution unit 13 requests metadata from the smart device 20, and the smart device 20 transmits the metadata stored in the metadata storage unit 23 (step S12).
  • the general-purpose agent execution unit 13 accesses the URL included in the acquired metadata and acquires an agent catalog corresponding to the metadata (step S13). Specifically, the catalog distribution unit 33 that has acquired the HTTP request acquires the corresponding agent catalog from the catalog storage unit 32 and transmits it.
  • the general agent execution part 13 produces
  • details of sensor data that can be acquired by the smart device, and details and procedures (process definition) of processing performed using the sensor data are agents. Recorded in the catalog.
  • the sensor definition is information representing, for example, the type, number of bits, and possible range of sensor data.
  • the sensor definition may be information including an access method to hardware.
  • the process definition is information that represents a processing method and a calculation method of sensor data, a generation method of information to be presented to the user, and the like by a program code.
  • the process definition may be described in byte code or script, but preferably has a format that does not depend on the processor architecture.
  • the sensor definition and the process definition are described separately, but both may be integrated.
  • program code in which sensor definitions are embedded may be provided.
  • the general-purpose agent execution unit 13 similarly generates a program code by applying the sensor definition included in the agent catalog to the process definition included in the agent catalog.
  • an instance for executing the program code is generated and used as a device agent.
  • the generated device agent is executed by the device agent execution unit 14 to collect sensor data and provide information.
  • the device agent has the number of steps the smart device 20 has.
  • a function of periodically accessing the sensor and the heart rate sensor to collect sensor data and a function of accumulating the collected sensor data and providing information to the user through the input / output unit 15 are executed.
  • the once generated device agent is stored in the device agent execution unit 14 and reused when the same smart device is connected.
  • the same processing is performed, and a corresponding new device agent is generated and executed.
  • the device agent executed by the master device performs the function to be performed by the smart device, and the smart device functions only as an input / output unit. Thereby, hardware resources required for the smart device can be suppressed.
  • the device agent since the device agent operates on a master device that has more resources than the smart device, it can execute more functions than when the software is operated on the smart device.
  • the master device automatically generates a device agent corresponding to the connected smart device using the agent catalog. As a result, the functions can be freely updated or replaced according to the user's request. Also, by preparing a prescribed agent catalog, devices from different vendors can coexist.
  • device agents are generated on a one-to-one basis for smart devices.
  • a plurality of device agents having different roles may be generated for one smart device.
  • a device agent that acquires sensor data from a smart device having a sensor, a device agent that issues a command to a smart device that has an actuator, and a device agent that generates a user interface may be separated.
  • one device agent that controls the plurality of devices and a device agent corresponding to each device may be generated.
  • the URL that is the acquisition destination of the agent catalog is included in the metadata, but the metadata includes only information for identifying the smart device (for example, a model code or a serial number)
  • the general-purpose agent that has acquired the information may retrieve and acquire the corresponding agent catalog from the management server 30.
  • the metadata itself may be transferred to the management server 30, and the management server may provide a corresponding agent catalog.
  • the second embodiment is an embodiment in which security means is added to each device constituting the agent system according to the first embodiment.
  • FIG. 6 is a functional block diagram of each device constituting the agent system according to the second embodiment.
  • the second embodiment is different from the first embodiment in that the master device 10 has an authentication information storage unit 16 and the management server 30 has an authentication unit 34.
  • the catalog storage unit 32 stores an agent catalog associated with a user who uses the system, and the catalog distribution unit 33 performs user authentication by an authentication unit 34 described later. It differs from the first embodiment in that the agent catalog is provided only to authenticated users based on the result.
  • the authentication information storage unit 16 is means for storing authentication information corresponding to a user who uses the system.
  • the authentication information is information for electronically identifying the user and is typically an electronic signature, but may be an electronic certificate or the like.
  • the authentication information corresponding to the user is generated when setting up the device and is stored in the authentication information storage unit 16 in advance.
  • the master device 10 transmits the authentication information stored in the authentication information storage unit 16 to the management server 30, and the management server 30 (authentication unit 34) performs user authentication.
  • the authentication unit 34 is means for authenticating the user based on the authentication information transmitted from the master device 10.
  • the agent catalog stored in the catalog storage unit 32 is normally protected and cannot be accessed unless user authentication is performed.
  • the authentication unit 34 performs user authentication, the protection of the agent catalog corresponding to the corresponding user is released and the user can use it.
  • FIG. 7 is a flowchart of processing performed by each device in the second embodiment. Processing similar to that of the first embodiment is indicated by a dotted line, and detailed description thereof is omitted.
  • Step S12 After executing Step S12, Step S21 for performing user authentication is executed.
  • the general agent execution unit 13 transmits authentication information corresponding to the user to the management server 30, and the authentication unit 34 authenticates the user. As a result, the protection of the agent catalog corresponding to the authenticated user is released and can be used.
  • FIG. 8 is an example of an agent catalog in the second embodiment.
  • identifiers of users permitted to use and key information are further added to the agent catalog.
  • Step S22 is a step in which the general-purpose agent generates a device agent, similar to step S14, but differs in that the generated device agent performs encrypted communication with the smart device.
  • the process definition included in the agent catalog includes logic for cryptographic communication, and by applying the key information described above to this, encrypted communication is performed with the smart device.
  • the encryption method may be a common key method or a public key method.
  • whether or not to allow the user to use the smart device can be individually controlled. Thereby, for example, it is possible to permit the use of the agent only to the user who has made a service use contract. Further, since the key information corresponds to an individual smart device registered in advance, communication cannot be performed normally even if only the smart device is replaced. That is, it is possible to prevent an act of connecting and using an unauthorized smart device to the master device 10 possessed by an authorized user.
  • the communication between the device agent and the smart device is encrypted.
  • the communication between the device agents may be encrypted.
  • the key information included in the agent catalog can be used.
  • the device agent may further communicate with an external information processing apparatus (hereinafter referred to as an external apparatus) to receive a service.
  • the device agent may restrict external devices (that is, services) that can exchange information using user authentication information.
  • the device agent specifies an available service from services provided on the Internet using the catalog information of the smart device. Thereafter, a candidate for an available service is presented to the user, and the user selects the presented service candidate and makes a contract with the service.
  • authentication information corresponding to the user is transmitted to the external device that provides the service, and the external device communicates with the device agent using the authentication information. That is, since an external device (for example, a relay server) that does not have authentication information cannot communicate with the device agent, a secure network can be constructed. Also, only those permitted by the device owner can participate in the security network.
  • the external device may be the same device as the management server.
  • the smartphone possessed by the user is the master device, but the master device may be any device as long as the device is connected to the network.
  • the master device may be a computer other than a portable computer, or may be a gateway device or a router device.
  • a wearable device is cited as an external device in the present invention, but the external device may be any device as long as it has less resources than the master device.
  • the external device may be an embedded computer incorporated in a home appliance.
  • the external device in the present invention does not necessarily have to be a computer having a function of performing arithmetic processing.
  • hardware for example, a sensor device designed specifically for information acquisition may be used.
  • the form of acquiring information using an external device has been described.
  • the external device may output information.
  • an actuator or the like that brings some action to the outside may be used.

Abstract

一つ以上の外部機器を識別する識別手段と、前記外部機器と通信を行う通信手段と、前記外部機器が有するハードウェアをインタフェースとして利用し、前記外部機器ごとに定められた所定の処理を代行するエージェントを生成するエージェント生成手段と、前記エージェントを実行させるエージェント実行手段と、を有することを特徴とする。

Description

情報処理装置およびエージェントシステム
 本発明は、機器が行う処理をエージェントによって代行するシステムに関する。
 近年、様々な機器をネットワークに接続し、複数の機器を協調させて利用することができるシステムが普及し始めている。例えば、特許文献1には、複数の家電機器をネットワークに接続し、その家電機器にそれぞれ対応するエージェントを有し、マスタコンピュータによって、各エージェントを管理するシステムが記載されている。
 特許文献1に記載のシステムでは、ネットワークの中枢に位置するマスタ機器が、複数の家電機器にそれぞれ対応するエージェントを実行し、当該エージェントが当該複数の家電機器の制御の一部を分担している。このような構成にすることで、複数の家電機器に対して最適な制御(例えば消費電力の最小化など)が行えるだけでなく、家電機器単位のモデルを他のマスタ機器に移行させることもできる。
特開2014-099113号公報
 一方で、ネットワークに接続される機器が増えると、それぞれの機器に対して機能を追加しようとした際のコストが増大するという問題がある。例えば、特許文献1に記載されたようなエージェントシステムでは、情報の収集と管理を行うことはできるが、情報の生成自体は家電機器が行っているため、家電機器に新規の機能を追加したようとした場合は、家電機器そのもののソフトウェアを更新しなければならない。このようなコストは、機器の数に比例して増大する。
 また、個々の機器の処理能力には限界があるため、求める機能が増えた場合、家電機器のハードウェアを強化しなければならず、機器の大型化や消費電力の増加を招くという課題があった。
特許文献1に記載されたエージェントシステムは、ネットワーク上でサーバや複数の機器などと接続するため、ネットワーク上のセキュリティ対策が必要となる。この対策であるセキュリティ機能を家電機器に追加することも機器の大型化や消費電力の増加を招くことになる。
 本発明は上記の課題を考慮してなされたものであり、ネットワークに接続された機器をエージェントによって制御するシステムにおいて低コスト化を図ることを目的とする。
 本発明に係る情報処理装置は、一つ以上の外部機器を識別する識別手段と、前記外部機器と通信を行う通信手段と、前記外部機器が有するハードウェアをインタフェースとして利用し、前記外部機器ごとに定められた所定の処理を代行するエージェントを生成するエージェント生成手段と、前記エージェントを実行させるエージェント実行手段と、を有することを特徴とする。
 本発明に係る情報処理装置は、外部機器に対応するエージェントを生成し実行させる装置である。エージェントとは、従来、外部機器においてソフトウェアが実行していた処理を代行するソフトウェアである。エージェントは、外部機器が有するハードウェアをインタフェースとして利用し、外部機器ごとに定められた所定の機能を実行する。すなわち、外部機器は入出力のみを行い、それらに付随する処理はエージェントを実行している装置が行う。
 かかる構成によると、外部機器は、インタフェースと、インタフェースに付随する小規模なハードウェアのみを実装していればよく、その他の機能を実現するための大規模なソフトウェア実行手段を省略することができる。すなわち、外部機器にかかるコストを抑えることができる。また、エージェントを更新することにより、複数の外部機器の機能を更新することができる。
 なお、インタフェースとなるハードウェアは、典型的には、センサやアクチュエータなどであるが、これらに限られない。実世界との接点を担うものであれば、どのようなものであってもよい。
 また、エージェントはその都度生成してもよいし、生成したものを記憶しておき、再利用してもよい。一度生成されたエージェントは、外部機器が有する機能が更新されない限り再利用することもできる。
 また、本発明に係る情報処理装置は、前記外部機器から、当該外部機器を識別するためのデータであるメタデータを取得し、当該取得したメタデータに基づいて、代行すべき処理に関する情報である機器情報を取得する機器情報取得手段をさらに有し、前記エージェント生成手段は、前記機器情報を用いて前記エージェントを生成することを特徴としてもよい。
 メタデータとは、外部機器を識別するための情報である。メタデータは、例えば、外部機器の識別子、属性、シリアル番号などであるが、これらに限られない。例えば、これらの情報の場所を示すURLなどであってもよい。機器情報取得手段は、メタデータの内容に基づいて、対応する機器情報を取得する。
 機器情報とは、外部機器が有するハードウェアを用いて実現すべき処理(機能)に関する情報である。機器情報は、例えば、外部機器が有しているハードウェアに関する情報(例えば、ハードウェアにアクセスして得られる情報の詳細など)や、当該情報を用いてデータを生成ないし加工すべき方法などを含む。
 このように、外部機器は自己を識別するための情報のみを送信し、機器情報取得手段が、当該メタデータに基づいて具体的な情報を取得するようにしてもよい。かかる構成によると、外部機器に関連付いた機能を当該装置の外部で管理できるようになる。
 また、前記通信手段は、前記外部機器とペアリングによる無線接続を行い、前記機器情報取得手段は、前記外部機器と接続したタイミングで当該外部機器からメタデータを取得することを特徴としてもよい。
 外部機器との接続が発生するごとにメタデータを取得することで、当該外部機器を適切なタイミングで識別することができる。
 また、前記メタデータは、ネットワーク上における前記機器情報の取得先を含み、前記機器情報取得手段は、前記メタデータが示す取得先から前記機器情報を取得することを特徴としてもよい。
 機器情報の取得先は、例えば、URLやURI、ネットワークアドレスなどによって表してもよい。このように、ネットワークから機器情報を取得するようにすることで、機器情報を容易に更新することができるようになる。
 また、前記機器情報は、前記外部機器によって取得可能なデータに関する第一の情報と、前記データを用いて行う処理に関する第二の情報と、を含み、前記エージェントは、前記第一および第二の情報を用いて前記所定の処理を実行することを特徴としてもよい。
 本発明に係る情報処理装置は、例えば、外部機器がデータ(例えばセンサデータ)のみを提供し、エージェントが当該データを用いて情報の生成や加工を行う形態に好適に適用することができる。
 また、本発明の第二の形態に係る情報処理装置は、
 一つ以上の外部機器と通信を行う通信手段と、前記外部機器が有するハードウェアをインタフェースとして利用し、前記外部機器ごとに定められた所定の処理を代行するエージェントを実行するエージェント実行手段と、を有することを特徴とする。
 このように、本発明は、エージェントを実行する情報処理装置として特定することもできる。
 また、本発明に係るエージェントシステムは、
 一つ以上の外部機器について、前記外部機器が有するハードウェアをインタフェースとして利用し、前記外部機器ごとに定められた所定の処理を代行するエージェントを実行する情報処理装置と、サーバ装置と、からなるエージェントシステムであって、前記情報処理装置は、代行すべき処理に関する情報である機器情報を前記サーバ装置から取得する機器情報取得手段と、前記機器情報を用いて前記エージェントを生成するエージェント生成手段と、を有し、前記サーバ装置は、前記一つ以上の外部機器に対応する機器情報を記憶する記憶手段と、前記情報処理装置からの要求に応じて、対応する機器情報を送信する機器情報提供手段と、を有することを特徴とする。
 このように、本発明は、上記情報処理装置とサーバ装置とからなるシステムとして特定することもできる。このように、機器情報を管理するサーバを用いることで、機器情報の一元管理が可能になる。
 また、前記記憶手段は、前記機器情報をユーザと関連付けて記憶し、前記機器情報取得手段は、ユーザに対応する認証情報を前記サーバ装置に送信し、前記機器情報提供手段は、前記ユーザに対応する機器情報のみを前記情報処理装置に送信することを特徴としてもよい。
 例えば、ユーザが予めサーバ装置に自己の情報を登録し、ユーザと機器情報とを関連付けて記憶させたうえで、機器情報を取得する際にユーザの認証を行ってもよい。例えば、ユーザに対応する認証情報(例えば電子署名)を情報処理装置からサーバ装置に送信し、当該ユーザに対応する機器情報のみを配布するようにしてもよい。
 また、前記機器情報は、前記外部機器に紐付いた鍵情報を含み、前記エージェントは、前記鍵情報を用いて前記外部機器と暗号通信を行うことを特徴としてもよい。
 このように、外部機器に対応する鍵情報を送信することで、エージェントと外部機器とが暗号通信を行えるようになる。また、外部機器の個体ごとに異なる鍵情報を用いれば、登録したものと同一の個体でなければ通信を行うことができなくなる。すなわち、同一型番の機器を用いてなりすまし接続が行われることを防ぐことができる。
 さらに、前記エージェントは、前記情報処理装置に接続された外部装置のうち、前記ユーザに対応する認証情報と同一の認証情報を有する外部装置とのみ通信を行うことを特徴としてもよい。
 外部機器およびエージェントは、ネットワークを通じて、システムの外部に接続された装置(サービスを提供するサーバ、他の外部機器、他のユーザなど)と情報交換を行うようにしてもよい。この際、ユーザに対応する認証情報と同一の認証情報を有する外部装置との間でのみ通信を許可することで、ネットワーク上のセキュリティを強化することができる。
 なお、本発明は、上記手段の少なくとも一部を含む情報処理装置、エージェントシステムとして特定することができる。また、本発明は、上記情報処理装置が行う情報処理方法として特定することもできる。また、本発明は、コンピュータに上記情報処理方法を実行させるプログラムとして特定することもできる。上記処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
 本発明によれば、エージェントを用いてネットワークに接続された機器を制御するシステムにおいて低コスト化を図ることができる。
従来例におけるスマートデバイスとの通信方法を説明する図である。 第一の実施形態におけるスマートデバイスとの通信方法を説明する図である。 第一の実施形態に係るエージェントシステムの機能ブロック図である。 スマートデバイスに対応するメタデータの例である。 スマートデバイスに対応するエージェントカタログの例である。 第一の実施形態におけるシステムの処理フローチャート図である。 第二の実施形態に係るエージェントシステムの機能ブロック図である。 第一の実施形態におけるシステムの処理フローチャート図である。 第二の実施形態におけるエージェントカタログの例である。
(第一の実施形態)
 以下、本発明の好ましい実施形態について図面を参照しながら説明する。
 本実施形態に係るエージェントシステムは、一つ以上のスマートデバイスと、当該スマートデバイスを管理するコンピュータであるマスタ装置と、管理サーバと、からなるシステムである。
 スマートデバイス(本発明における外部機器)は、マスタ装置よりも少ないリソースで動作するコンピュータであり、本実施形態では、ユーザの運動量を取得するリストバンド型のウェアラブルコンピュータである。なお、スマートデバイスは、限られたリソースで動作するコンピュータであれば、ウェアラブルコンピュータに限定されない。例えば、家電製品に内蔵された組込み型コンピュータなどであってもよい。
 本実施形態に係るエージェントシステムは、従来スマートデバイスが主体となって行っていた処理を、マスタ装置上で実行されるソフトウェアが代行することを特徴とする。
 本実施形態に係るエージェントシステムの概要を、図1Aおよび図1Bを参照しながら説明する。
 図1Aは、スマートデバイスとマスタ装置(例えばスマートフォン)とが連携する従来のシステムにおけるデータの流れを示した図である。図からもわかるように、スマートデバイス20は専用のソフトウェアを内蔵しており、マスタ装置で実行されるソフトウェアを介してユーザとのインタラクションを行う。
 このような形態では、スマートデバイスは、内蔵しているソフトウェアによってデバイスの機能を実現しているため、規模の大きいプログラムを実行することができない。また、デバイスの機能を更新しようとした場合に、その都度ソフトウェアをアップデートしなければならないといった制約が生じる。また、ユーザは、スマートデバイスのベンダーごとに異なるアプリケーションソフトウェアを用意しなければならない。
 そこで、本実施形態に係るエージェントシステムでは、従来、スマートデバイスが実行していた高次な処理を、マスタ装置上で実行されるソフトウェア(本発明におけるエージェント)に代行させ、スマートデバイスは、実世界とのインタフェース機能に特化させる。
 図1Bは、本実施形態におけるデータの流れを示した図である。
 本実施形態では、スマートデバイス20は、(1)自デバイスを識別するためのデータ(メタデータ)を送信する機能と、(2)要求に応じてセンサデータを提供する機能の二つのみを有している。本実施形態に係るスマートデバイス20は、これ以外の機能(例えば、取得したデータを編集・加工する機能や、データベースにアクセスする機能、ユーザインタフェースを提供する機能など)は有していない。
 マスタ装置10は、ユーザが所持するスマートフォンなどの携帯型のコンピュータである。また、マスタ装置10は、スマートデバイス20から取得した情報に基づいて、スマートデバイス20が実現すべき機能を代行するエージェント(以下、機器エージェントと称する)を生成し、実行する。機器エージェントは、スマートデバイス20ごとに独立したインスタンスを持ち、マスタ装置10上で実行されるプログラムモジュールである。
 また、マスタ装置10では、機器エージェントを生成するためのプログラムである汎用エージェントが実行される。
 管理サーバ30は、機器エージェントを生成するための情報をマスタ装置10に対して提供するサーバ装置である。具体的には、スマートデバイスを識別するためのメタデータと、機器エージェントを生成するためのコードを含む情報(以下、エージェントカタログと称する)を対応付けて記憶しており、メタデータに対応するエージェントカタログを送信する構成となっている。
 本実施形態では、マスタ装置10内の汎用エージェントが、メタデータに基づいて管理サーバ30からエージェントカタログを取得し、当該エージェントカタログを用いて、スマートデバイス20に対応する機器エージェントを生成し、実行する。
 機器エージェントは、スマートデバイス20が実行する処理を代行するエージェントである。機器エージェントは、スマートデバイス20が有するセンサからデータを取得し、当該データを編集・加工する処理や、データベースにアクセスする処理、ユーザインタフェースを生成する処理、ユーザとのインタラクションを行う処理などを実行する。
 次に、前述した機能を実現するためのシステム構成について、システムを構成する各装置の機能ブロック図である図2を参照しながら説明する。
 まず、マスタ装置10の構成について説明する。
 本実施形態に係るマスタ装置10は、ネットワーク通信部11、近距離通信部12、汎用エージェント実行部13、機器エージェント実行部14、入出力部15から構成される。
 ネットワーク通信部11は、通信回線(例えば携帯電話網)を介してネットワークにアクセスすることで、管理サーバ30との通信を行う手段である。
 近距離通信部12は、スマートデバイス20と無線通信を行う手段である。本実施形態では、近距離通信部12は、Bluetooth(登録商標)接続を利用した通信を行う。近距離通信部12は、ペアリング先となるスマートデバイス20に関する情報を記憶しており、簡便な操作で接続を行うことができる。
 汎用エージェント実行部13は、機器エージェントを生成するためのエージェント(以下、汎用エージェント)を実行する手段である。汎用エージェントは、スマートデバイス20の接続および切断を監視し、接続されたスマートデバイスに応じて、後述する機器エージェントを生成するプログラムモジュールである。
 機器エージェント実行部14は、汎用エージェントによって生成された機器エージェントを実行する手段である。機器エージェントは、接続された機器ごとに生成されるプログラムモジュールである。汎用エージェントおよび機器エージェントが行う処理の詳細については後述する。
 入出力部15は、利用者が行った入力操作を受け付け、利用者に対して情報を提示する手段である。本実施形態では一つのタッチパネルディスプレイからなる。すなわち、液晶ディスプレイとその制御手段、タッチパネルとその制御手段から構成される。
 なお、以上に説明した各手段は、専用に設計されたハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよい。また、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などによって実現されてもよいし、これらの組合せによって実現されてもよい。
 前述した手段がソフトウェアとして構成される場合、補助記憶装置に記憶されたプログラムが主記憶装置にロードされ、CPUによって実行されることによって各手段が機能する。(CPU、補助記憶装置、主記憶装置はいずれも不図示)
 次に、スマートデバイス20の構成について説明する。
 本実施形態に係るスマートデバイス20は、ユーザの運動量を取得するためのリストバンド型のウェアラブルコンピュータであって、近距離通信部21、センサ部22、メタデータ記憶部23から構成される。
 近距離通信部21は、マスタ装置10と無線通信を行う手段である。近距離通信部21が有する機能は、前述した近距離通信部12と同様であるため、詳細な説明は省略する。
 センサ部22は、複数のセンサからなるハードウェア手段である。センサ部22が有するセンサは、例えばスマートデバイス20がウェアラブルデバイスである場合、ユーザの行動記録や運動量を取得するためのセンサ、ユーザの健康状態を管理するためのセンサなどであるが、これらに限られない。本実施形態では、センサ部22は、ユーザの心拍数を取得する心拍数センサと、ユーザが歩いた歩数を取得する歩数センサを有している。
 メタデータ記憶部23は、スマートデバイス20を識別するための情報(メタデータ)を記憶する手段である。図3にメタデータの例を示す。本実施形態では、メタデータは、(1)デバイスの名称、(2)エージェントカタログ(後述)の取得先URL、(3)デバイスの個体にユニークな識別子、から構成されている。なお、図3ではメタデータを表形式で示したが、メタデータはXMLやJSONなど、他のフォーマットで記述されていてもよい。メタデータは、マスタ装置10からの要求に応じて送信される。
 次に、管理サーバ30の構成について説明する。
 ネットワーク通信部31は、マスタ装置10と通信を行う手段である。ネットワーク通信部31が有する機能は、前述したネットワーク通信部11と同様であるため、詳細な説明は省略する。
 カタログ記憶部32は、機器エージェントを生成するための情報(以下、エージェントカタログ)を記憶する手段である。図4にエージェントカタログの例を示す。本実施形態では、エージェントカタログは、(1)デバイスの名称、(2)デバイスのタイプ、(3)デバイスによって取得可能なセンサデータの詳細(以下、センサ定義)、(4)センサデータを用いて行う処理の内容と手順を記載したコード(以下、処理定義)を含む。なお、図4ではエージェントカタログを表形式で示したが、エージェントカタログは、メタデータと同様に他のフォーマットで記述されていてもよい。エージェントカタログは、マスタ装置10からの要求に応じて送信される。
 エージェントカタログを利用して機器エージェントを生成する方法については後述する。
 カタログ配布部33は、カタログ記憶部32に記憶されたエージェントカタログを配布するためのWebサーバである。
 次に、スマートデバイスをマスタ装置に接続してから、当該スマートデバイスによる機能をユーザに提供するまでの流れを、各装置が行う処理フローチャートである図5を参照しながら説明する。
 まず、ユーザが、スマートデバイス20をマスタ装置10と接続する(ステップS11)。スマートデバイス20とマスタ装置10との接続は、Bluetoothによる無線接続を利用して行われる。なお、一度ペアリングを行ったのちは、デバイスを検出して自動で接続を行うようにしてもよい。
 接続が完了すると、汎用エージェント実行部13が、スマートデバイス20に対してメタデータを要求し、スマートデバイス20は、メタデータ記憶部23に記憶されたメタデータを送信する(ステップS12)。
 次に、汎用エージェント実行部13が、取得したメタデータに含まれるURLにアクセスし、当該メタデータに対応するエージェントカタログを取得する(ステップS13)。具体的には、HTTPリクエストを取得したカタログ配布部33が、対応するエージェントカタログをカタログ記憶部32から取得し、送信する。
 次に、汎用エージェント実行部13が、取得したエージェントカタログに記載された情報に基づいて、機器エージェントを生成する(ステップS14)。
 図4を参照して説明したように、本実施形態では、スマートデバイスによって取得可能なセンサデータの詳細(センサ定義)と、当該センサデータを用いて行う処理の内容および手順(処理定義)がエージェントカタログに記録されている。
 センサ定義は、例えば、センサデータの型やビット数、取りうる範囲などを表した情報である。センサ定義は、ハードウェアに対するアクセス方法などを含んだ情報であってもよい。
 また、処理定義は、センサデータの加工方法や演算方法、ユーザに提示する情報の生成方法などを、プログラムコードによって表した情報である。処理定義は、バイトコードで記述されてもよいし、スクリプトで記述されてもよいが、プロセッサのアーキテクチャに依存しない形式であることが好ましい。
 なお、本実施形態では、センサ定義と処理定義を分離して記述したが、両者を統合してもよい。例えば、センサ定義が埋め込まれたプログラムコードを提供してもよい。
 汎用エージェント実行部13は、エージェントカタログに含まれる処理定義に、同様にエージェントカタログに含まれるセンサ定義を適用してプログラムコードを生成する。また、当該プログラムコードを実行するインスタンスを生成し、機器エージェントとする。これによって、スマートデバイスが有するセンサから情報を取得し、当該情報を用いて所定の処理を行う機器エージェントを生成することができる。
 生成された機器エージェントは、機器エージェント実行部14によって実行され、センサデータの収集ならびに情報の提供が行われる。例えば、スマートデバイスに関連付いた所定の機能が「歩数と心拍を周期的に取得し、ログを記録してユーザに提供する」といったものであった場合、機器エージェントが、スマートデバイス20が有する歩数センサおよび心拍センサに対して周期的にアクセスを行ってセンサデータを収集する機能と、収集したセンサデータを蓄積し、入出力部15を通してユーザに情報を提供する機能を実行する。
 なお、一度生成された機器エージェントは、機器エージェント実行部14に記憶され、同一のスマートデバイスが接続された場合に再利用される。また、種類が異なる他のスマートデバイスが接続された場合、同様の処理が行われ、対応する新しい機器エージェントが生成され、実行される。
 以上説明したように、第一の実施形態に係るエージェントシステムは、マスタ装置で実行される機器エージェントが、スマートデバイスが行うべき機能を代行し、スマートデバイスは入出力手段としてのみ機能する。これにより、スマートデバイスに要求されるハードウェアリソースを抑えることができる。また、機器エージェントは、スマートデバイスよりもリソースに余裕があるマスタ装置上で動作するため、スマートデバイス上でソフトウェアを動作させる場合と比較して、より多くの機能を実行することができる。
 また、マスタ装置は、接続されたスマートデバイスに対応する機器エージェントを、エージェントカタログを用いて自動で生成する。これにより、ユーザの求めに応じて機能を自由に更新または入れ替えることができるようになる。また、規定のエージェントカタログを用意することで、異なるベンダーのデバイスを共存させることができる。
 なお、本実施形態では、スマートデバイスに対して機器エージェントを1対1で生成するものとしたが、機器エージェントは複数あってもよい。例えば、一つのスマートデバイスに対して、それぞれ役割が異なる複数の機器エージェントを生成してもよい。
 例えば、センサを有するスマートデバイスからセンサデータを取得する機器エージェントと、アクチュエータを有するスマートデバイスに命令を発行する機器エージェントと、ユーザインタフェースを生成する機器エージェントと、が分かれていてもよい。また、スマートデバイスが複数接続される場合、当該複数のデバイスを統括する一つの機器エージェントと、個々のデバイスに対応する機器エージェントを生成するようにしてもよい。
 また、本実施形態では、メタデータに、エージェントカタログの取得先となるURLを含ませたが、メタデータには、スマートデバイスを識別する情報(例えば機種コードやシリアル番号)のみを含ませ、当該情報を取得した汎用エージェントが、対応するエージェントカタログを管理サーバ30から検索して取得するようにしてもよい。また、メタデータそのものを管理サーバ30に転送し、管理サーバが、対応するエージェントカタログを提供するようにしてもよい。
(第二の実施形態)
 第二の実施形態は、第一の実施形態に係るエージェントシステムを構成する各装置に、セキュリティ手段を追加した実施形態である。図6は、第二の実施形態に係るエージェントシステムを構成する各装置の機能ブロック図である。
 第二の実施形態は、マスタ装置10が認証情報記憶部16を有しており、管理サーバ30が認証部34を有しているという点において、第一の実施形態と相違する。
 また、第二の実施形態では、カタログ記憶部32が、システムを利用するユーザと関連付いたエージェントカタログを記憶しているという点と、カタログ配布部33が、後述する認証部34によるユーザ認証の結果に基づいて、認証されたユーザにのみエージェントカタログを提供するという点において、第一の実施形態と相違する。
 認証情報記憶部16は、システムを利用するユーザに対応する認証情報を記憶する手段である。認証情報とは、ユーザを電子的に識別するための情報であり、典型的には電子署名であるが、電子証明書などであってもよい。ユーザに対応する認証情報は、機器をセットアップする際に生成し、予め認証情報記憶部16に記憶させる。
 第二の実施形態では、マスタ装置10が、認証情報記憶部16に記憶された認証情報を管理サーバ30へ送信し、管理サーバ30(認証部34)がユーザ認証を行う。
 認証部34は、マスタ装置10から送信された認証情報に基づいてユーザを認証する手段である。本実施形態では、カタログ記憶部32に記憶されたエージェントカタログは通常保護状態となっており、ユーザ認証を行わない限り、アクセスすることができない。認証部34がユーザ認証を行うと、該当するユーザに対応するエージェントカタログの保護が解除され、利用可能になる。
 図7は、第二の実施形態において各装置が行う処理のフローチャートである。第一の実施形態と同様の処理については点線で示し、詳細な説明は省略する。
 第二の実施形態では、ステップS12を実行した後で、ユーザ認証を行うステップS21が実行される。当該ステップでは、汎用エージェント実行部13が、ユーザに対応する認証情報を管理サーバ30に送信し、認証部34がユーザの認証を行う。この結果、認証されたユーザに対応するエージェントカタログの保護が解除され、利用可能になる。
 図8は、第二の実施形態におけるエージェントカタログの例である。第二の実施形態では、エージェントカタログに、利用が許可されたユーザの識別子と、鍵情報(後述)がさらに追加されている。
 ステップS22は、ステップS14と同様に、汎用エージェントが機器エージェントを生成するステップであるが、生成される機器エージェントが、スマートデバイスとの間で暗号化通信を行うという点において相違する。具体的には、エージェントカタログに含まれる処理定義に暗号通信のためのロジックが含まれており、これに前述した鍵情報を適用することで、スマートデバイスとの間で暗号化通信を行う。暗号化の方式は共通鍵方式であってもよいし、公開鍵方式であってもよい。
 第二の実施形態によると、ユーザに対してスマートデバイスの利用を許可するか否かを個別に制御することができる。これにより、例えば、サービスの利用契約を行ったユーザに対してのみエージェントの利用を許可するといったことが可能になる。
 また、鍵情報は、予め登録されたスマートデバイスの個体に対応するものであるため、スマートデバイスのみを差し替えようとしても正常に通信を行うことができない。すなわち、正規のユーザが所持するマスタ装置10に、正規ではないスマートデバイスを接続して利用するといった行為を防ぐことができる。
 なお、本実施形態では、機器エージェントとスマートデバイスとの間の通信を暗号化したが、マスタ装置10上で動作する機器エージェントが複数ある場合、機器エージェント同士の通信も暗号化してもよい。この場合も、エージェントカタログに含まれる鍵情報を利用することができる。
 また、機器エージェントが、外部の情報処理装置(以下、外部装置)とさらに通信を行い、サービスの提供を受けてもよい。この際、機器エージェントが、ユーザの認証情報を用いて、情報交換が可能な外部装置(すなわちサービス)を制限するようにしてもよい。
 例えば、機器エージェントが、スマートデバイスのカタログ情報を用いて、インターネット上で提供されているサービスの中から、利用可能なサービスを特定する。その後、利用可能なサービスの候補をユーザに提示し、ユーザが、提示されたサービスの候補を選択して、当該サービスと契約を行う。
 ここで、ユーザに対応する認証情報が、サービスを提供する外部装置に送信され、当該外部装置は、認証情報を用いて機器エージェントと通信を行う。すなわち、認証情報を有していない外部装置(例えば中継サーバなど)は、機器エージェントと通信を行うことができなくなるため、セキュアネットワークを構築することができる。
 また、機器のオーナーが許可したものだけ、当該セキュリティネットワークに参加させることができる。
 なお、外部装置は、管理サーバと同一の装置であってもよい。
(変形例)
 上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうる。
 例えば、実施形態の説明では、ユーザが所持するスマートフォンをマスタ装置としたが、ネットワークに接続された装置であれば、マスタ装置はどのようなデバイスであってもよい。例えば、携帯型以外のコンピュータであってもよいし、ゲートウェイ装置やルータ装置であってもよい。
 また、実施形態の説明では、本発明における外部機器としてウェアラブルデバイスを挙げたが、マスタ装置よりもリソースが少ないハードウェアであれば、外部機器はどのような装置であってもよい。例えば、家電製品などに内蔵された組込み型コンピュータなどであってもよい。また、本発明における外部機器は、必ずしも演算処理を行う機能を有したコンピュータでなくてもよい。例えば、情報の取得に特化して設計されたハードウェア(例えばセンサデバイスや)などであってもよい。
 また、実施形態の説明では、外部機器を用いて情報を取得する形態について述べたが、外部機器は情報を出力するものであってもよい。また、アクチュエータなど、外部に対して何らかの作用をもたらすものであってもよい。
 10 マスタ装置
 11,31 ネットワーク通信部
 12,21 近距離通信部
 13 汎用エージェント実行部
 14 機器エージェント実行部
 15 入出力部
 20 スマートデバイス
 22 センサ部
 30 管理サーバ
 32 カタログ記憶部
 33 カタログ配布部

Claims (11)

  1.  一つ以上の外部機器を識別する識別手段と、
     前記外部機器と通信を行う通信手段と、
     前記外部機器が有するハードウェアをインタフェースとして利用し、前記外部機器ごとに定められた所定の処理を代行するエージェントを生成するエージェント生成手段と、
     前記エージェントを実行させるエージェント実行手段と、を有する
     ことを特徴とする、情報処理装置。
  2.  前記外部機器から、当該外部機器を識別するためのデータであるメタデータを取得し、当該取得したメタデータに基づいて、代行すべき処理に関する情報である機器情報を取得する機器情報取得手段をさらに有し、
     前記エージェント生成手段は、前記機器情報を用いて前記エージェントを生成する
     ことを特徴とする、請求項1に記載の情報処理装置。
  3.  前記通信手段は、前記外部機器とペアリングによる無線接続を行い、
     前記機器情報取得手段は、前記外部機器と接続したタイミングで当該外部機器からメタデータを取得する
     ことを特徴とする、請求項2に記載の情報処理装置。
  4.  前記メタデータは、ネットワーク上における前記機器情報の取得先を含み、
     前記機器情報取得手段は、前記メタデータが示す取得先から前記機器情報を取得する
     ことを特徴とする、請求項2または3に記載の情報処理装置。
  5.  前記機器情報は、前記外部機器によって取得可能なデータに関する第一の情報と、前記データを用いて行う処理に関する第二の情報と、を含み、
     前記エージェントは、前記第一および第二の情報を用いて前記所定の処理を実行する
     ことを特徴とする、請求項2から4のいずれかに記載の情報処理装置。
  6.  一つ以上の外部機器と通信を行う通信手段と、
     前記外部機器が有するハードウェアをインタフェースとして利用し、前記外部機器ごとに定められた所定の処理を代行するエージェントを実行するエージェント実行手段と、を
    有する
     ことを特徴とする、情報処理装置。
  7.  一つ以上の外部機器について、前記外部機器が有するハードウェアをインタフェースとして利用し、前記外部機器ごとに定められた所定の処理を代行するエージェントを実行する情報処理装置と、サーバ装置と、からなるエージェントシステムであって、
     前記情報処理装置は、
     代行すべき処理に関する情報である機器情報を前記サーバ装置から取得する機器情報取得手段と、
     前記機器情報を用いて前記エージェントを生成するエージェント生成手段と、を有し、
     前記サーバ装置は、
     前記一つ以上の外部機器に対応する機器情報を記憶する記憶手段と、
     前記情報処理装置からの要求に応じて、対応する機器情報を送信する機器情報提供手段と、を有する
     ことを特徴とする、エージェントシステム。
  8.  前記記憶手段は、前記機器情報をユーザと関連付けて記憶し、
     前記機器情報取得手段は、ユーザに対応する認証情報を前記サーバ装置に送信し、
     前記機器情報提供手段は、前記ユーザに対応する機器情報のみを前記情報処理装置に送信する
     ことを特徴とする、請求項7に記載のエージェントシステム。
  9.  前記機器情報は、前記外部機器に紐付いた鍵情報を含み、
     前記エージェントは、前記鍵情報を用いて前記外部機器と暗号通信を行う
     ことを特徴とする、請求項8に記載のエージェントシステム。
  10.  前記エージェントは、前記情報処理装置に接続された外部装置のうち、前記ユーザに対応する認証情報と同一の認証情報を有する外部装置とのみ通信を行う
    ことを特徴とする請求項8または9に記載のエージェントシステム。
  11.  一つ以上の外部機器を識別する識別ステップと、
     前記外部機器が有するハードウェアをインタフェースとして利用し、前記外部機器ごとに定められた所定の処理を代行するエージェントを生成するエージェント生成ステップと、
     前記エージェントを実行させるエージェント実行ステップと、をコンピュータに実行させる
     ことを特徴とする、プログラム。
PCT/JP2017/002917 2016-03-15 2017-01-27 情報処理装置およびエージェントシステム WO2017159067A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17766075.0A EP3432142A4 (en) 2016-03-15 2017-01-27 INFORMATION PROCESSING DEVICE AND MEDIATION SYSTEM
US16/108,137 US10924297B2 (en) 2016-03-15 2018-08-22 Agent system including an information processing device for executing an agent

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016051380A JP6750260B2 (ja) 2016-03-15 2016-03-15 情報処理装置およびエージェントシステム
JP2016-051380 2016-03-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/108,137 Continuation US10924297B2 (en) 2016-03-15 2018-08-22 Agent system including an information processing device for executing an agent

Publications (1)

Publication Number Publication Date
WO2017159067A1 true WO2017159067A1 (ja) 2017-09-21

Family

ID=59852098

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/002917 WO2017159067A1 (ja) 2016-03-15 2017-01-27 情報処理装置およびエージェントシステム

Country Status (4)

Country Link
US (1) US10924297B2 (ja)
EP (1) EP3432142A4 (ja)
JP (1) JP6750260B2 (ja)
WO (1) WO2017159067A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7110694B2 (ja) * 2018-04-13 2022-08-02 富士フイルムビジネスイノベーション株式会社 情報処理システムおよびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007194942A (ja) * 2006-01-19 2007-08-02 Ntt Docomo Inc センサ装置支援システムおよびセンサ装置支援方法
JP2013512490A (ja) * 2009-11-26 2013-04-11 アルカテル−ルーセント ネットワークにおけるセンサに関するソフトウェア識別情報を取り出すための管理フレームワークおよび方法
JP2014099113A (ja) 2012-11-15 2014-05-29 Samsung R&D Institute Japan Co Ltd 家電ネットワークシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668376B1 (en) * 2000-01-07 2003-12-23 Ricoh Company, Ltd. System and method for automatically loading a device driver
US8154608B2 (en) * 2007-11-13 2012-04-10 Olympus Corporation Digital camera security
KR102177830B1 (ko) * 2012-09-10 2020-11-11 삼성전자주식회사 디바이스에 연결된 외부 기기를 제어하는 시스템 및 방법
US20140135952A1 (en) * 2012-11-15 2014-05-15 Samsung Electronics Co., Ltd. Home network system
US9779307B2 (en) * 2014-07-07 2017-10-03 Google Inc. Method and system for non-causal zone search in video monitoring

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007194942A (ja) * 2006-01-19 2007-08-02 Ntt Docomo Inc センサ装置支援システムおよびセンサ装置支援方法
JP2013512490A (ja) * 2009-11-26 2013-04-11 アルカテル−ルーセント ネットワークにおけるセンサに関するソフトウェア識別情報を取り出すための管理フレームワークおよび方法
JP2014099113A (ja) 2012-11-15 2014-05-29 Samsung R&D Institute Japan Co Ltd 家電ネットワークシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3432142A4
TAKAHIRO ITO ET AL.: "Coordinated Environment for PUCC Sensors and Consumer Electronics", IPSJ SYMPOSIUM SERIES SYMPOSIUM ON MULTIMEDIA, DISTRIBUTED, COOPERATIVE AND MOBILE SYSTEMS (DICOM02008) RONBUNSHU, vol. 2008, no. 1, 2008, pages 2000 - 2007, XP9511005, ISSN: 1882-0840 *

Also Published As

Publication number Publication date
JP6750260B2 (ja) 2020-09-02
US10924297B2 (en) 2021-02-16
EP3432142A4 (en) 2019-07-03
JP2017167743A (ja) 2017-09-21
EP3432142A1 (en) 2019-01-23
US20180359110A1 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
JP7436568B2 (ja) ブロックチェーンにより実現される方法及びシステム
Ammar et al. Internet of Things: A survey on the security of IoT frameworks
US10911424B2 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
CN104969201B (zh) 用于调用特权操作的安全接口
CN102457507B (zh) 云计算资源安全共享方法、装置及系统
CN102457378B (zh) 用于工业装置的安全模型
JP6066647B2 (ja) デバイス装置、その制御方法、およびそのプログラム
CN103944890B (zh) 基于客户端/服务器模式的虚拟交互系统及方法
US20190349346A1 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
CN108293045A (zh) 本地和远程系统之间的单点登录身份管理
CN107851167A (zh) 在计算环境中保护计算数据的技术
CN110537346A (zh) 安全去中心化域名系统
GB2530028A (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
CN102523089B (zh) 用于批处理系统的第二凭证
CN105095786A (zh) 使用动态呈现和数据配置建立安全移动协同应用的平台
JP4533935B2 (ja) ライセンス認証システム及び認証方法
WO2015056008A1 (en) Method for assigning an agent device from a first device registry to a second device registry
US20190349348A1 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
WO2017159067A1 (ja) 情報処理装置およびエージェントシステム
CN109802927B (zh) 一种安全服务提供方法及装置
JP5678150B2 (ja) ユーザ端末、鍵管理システム、及びプログラム
KR20090049650A (ko) 편의 서비스 인증 방법 및 시스템
CN102867152B (zh) 使用主动化身保护资源的系统和方法
US10235678B1 (en) System and method for managing distributed offerings
WO2016017324A1 (ja) ユーザ情報管理システム、ユーザ情報管理方法、管理サーバ用プログラム及びこれを記録した記録媒体、ユーザ端末用プログラム及びこれを記録した記録媒体、サービスサーバ用プログラム及びこれを記録した記録媒体

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017766075

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017766075

Country of ref document: EP

Effective date: 20181015

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

Ref document number: 17766075

Country of ref document: EP

Kind code of ref document: A1