WO2018186083A1 - 情報処理装置、情報処理システム及び情報処理方法 - Google Patents

情報処理装置、情報処理システム及び情報処理方法 Download PDF

Info

Publication number
WO2018186083A1
WO2018186083A1 PCT/JP2018/008297 JP2018008297W WO2018186083A1 WO 2018186083 A1 WO2018186083 A1 WO 2018186083A1 JP 2018008297 W JP2018008297 W JP 2018008297W WO 2018186083 A1 WO2018186083 A1 WO 2018186083A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
access
information processing
unit
terminal
Prior art date
Application number
PCT/JP2018/008297
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 EP18781328.2A priority Critical patent/EP3608824A4/en
Publication of WO2018186083A1 publication Critical patent/WO2018186083A1/ja
Priority to US16/586,875 priority patent/US11405398B2/en

Links

Images

Classifications

    • 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/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Definitions

  • the present invention relates to an information processing apparatus, an information processing system, and an information processing method.
  • IoT Internet of Things
  • cloud services can be used from various devices (referred to as IoT devices).
  • services called shared economy such as car sharing and AirBnB
  • sharing of devices that allow a part or all of the functions of a shared IoT device or another person's IoT device to be used for a certain period of time has also been studied.
  • a technology for accessing the device using a Web technology called WoT has been studied.
  • a terminal accesses a device using a document that describes a device name called “Thing Description”, a function name of the device, and a method of accessing the function.
  • an object of the present invention is to provide an information processing apparatus, an information processing system, and an information processing method capable of performing device access control according to a user.
  • the information processing apparatus receives a registration of a device that can be used by a user and a function of the usable device, generates a Web API according to registration in the reception unit, and transmits the Web API to the Web API.
  • a generation unit that generates a virtual device that responds to access in cooperation with the device, and information including an access method to the Web API corresponding to the authenticated user based on a result of user authentication using a terminal
  • a notification unit that notifies the terminal; and an access unit that receives access to the Web API from the terminal and accesses the device via the virtual device.
  • FIG. 2A is a diagram illustrating a hardware configuration of the user terminal
  • FIG. 2B is a diagram illustrating a hardware configuration of the server. It is a functional block diagram of a server. It is a figure which shows an example of the data structure of access management DB.
  • FIG. 5A is a diagram illustrating an example of TD managed by the TD management DB
  • FIG. 5B is a diagram illustrating an example of TD managed by the TD repository.
  • FIG. 7A is a flowchart showing the TD registration process
  • FIG. 7B is a flowchart showing the device registration process.
  • FIG. 10A and FIG. 10B are diagrams showing a TD according to the second embodiment.
  • FIG. 11A is a diagram illustrating a TD according to the third embodiment, and
  • FIG. 11B is a diagram illustrating an example of an HTTP header portion according to the third embodiment.
  • It is a functional block diagram of a server concerning a 4th embodiment.
  • FIG. 13A is a diagram showing the data structure of the API access management DB according to the fourth embodiment, and FIG. 13B is a diagram showing the data structure of the access rule management DB.
  • c) is a diagram showing an example of a notification format. It is a figure which shows TD which concerns on the modification 3.
  • FIG. 1 schematically shows the configuration of an information processing system 100 according to the first embodiment.
  • the information processing system 100 includes a device 60, a user terminal 70, and a server 10.
  • the device 60 and the user terminal 70 are connected to a network 80 such as the Internet via a wireless LAN (Local Area Network) or a mobile phone network.
  • the server 10 is also connected to the network 80.
  • the information processing system 100 according to the first embodiment is a system for an administrator (owner or the like) who manages the device 60 to allow a user holding the user terminal 70 to use the device 60.
  • the device 60 is a device that exists in various places such as an air conditioner, an automobile, a light, and a camera, and performs some control or returns some information in response to a Web API call.
  • the user terminal 70 is a terminal that is carried by the user and used to control the device 60, and is, for example, a smartphone or a tablet-type terminal.
  • FIG. 2A shows an example of the hardware configuration of the user terminal 70.
  • a user terminal 70 includes a CPU (Central Processing Unit) 90, a ROM (Read Only Memory) 92, a RAM (Random Access Memory) 94, and a storage unit (here, HDD (Hard Disk Drive)). ) 96, a network interface 97, a display unit 93, an input unit 95, a portable storage medium drive 99, and the like.
  • Each component of the user terminal 70 is connected to a bus 98.
  • the user terminal 70 various functions are realized by the CPU 90 executing a program stored in the ROM 92 or the HDD 96 or a program read by the portable storage medium drive 99 from the portable storage medium 91.
  • the user terminal 70 includes a terminal that can be used by an administrator who manages the device 60 (an administrator terminal 70 ′ (see FIG. 3)).
  • the server 10 mediates communication between the user terminal 70 and the device 60, and executes access control to the device 60 from the user terminal 70.
  • FIG. 2B shows an example of the hardware configuration of the server 10.
  • the server 10 includes a CPU (Central Processing Unit) 190, a ROM (Read Only Memory) 192, a RAM (Random Access Memory) 194, and a storage unit (here, HDD (Hard Disk Drive)). 196, a network interface 197, a portable storage medium drive 199, and the like.
  • Each component of the server 10 is connected to the bus 198.
  • the CPU 190 executes a program stored in the ROM 192 or the HDD 196 or a program read from the portable storage medium 191 by the portable storage medium drive 199, thereby functioning as each unit illustrated in FIG. 3.
  • FIG. 3 also shows various DBs stored in the HDD 196 and the like.
  • the CPU 190 functions as the service unit 12 and the control unit 14 by executing the program.
  • the service unit 12 is prepared for each service, and includes a use request receiving unit 20 and an access control unit 22.
  • the control unit 14 is a platform, and includes a virtual device control unit 40, a Web API control unit 42, a TD control unit 44, and a virtual device function unit 46.
  • TD Thing Description
  • the device registers its own TD in the server 10 (TD repository 54), and the terminal is one of the information held by the TD.
  • TD repository 54 There is a method of acquiring the TD by searching for a part (for example, device name or ID) as a key. In this embodiment, this method is applied.
  • the device administrator registers the URL of the virtual device control unit 40 of the server 10 instead of registering the URL of the TD repository 54 of the server 10 in the device.
  • the TD of the device is sent to the virtual device control unit 40, and the TD can be managed by the TD management DB 52.
  • the device administrator decides under what conditions the device should be rented and contracts with the service provider. For example, if a car is rented, a contract is made such that it is rented at 200 yen per hour on weekdays and 300 yen per hour on holidays. And a service provider will lend a car to various users according to the conditions.
  • the contract information between the user and the administrator is managed in the service unit 12 in association with the device ID and the user ID.
  • the use request receiving unit 20 receives the contract information when a device use procedure (use contract) using the service application is performed from the user terminal 70 where the service application managed by the application management DB 30 is downloaded. Register in the access management DB 32.
  • the user uses the service application on the user terminal 70 to access the service. Then, after performing user authentication, the plan (available device 60 and function information of the device 60 registered in the access management DB 32) provided from the use request receiving unit 20 is confirmed, and as a result, A reservation (contract) is made such that a certain device 60 is rented from a certain time to a certain time.
  • the flow related to this contract is the same as that for normal online shopping and hotel reservation online services. With this contract, in the access management DB 32, the device 60 registered by the device administrator is associated with the contracted user.
  • the access management DB 32 is a database that manages information registered from the administrator terminal 70 ′ (contract information with the service provider) and usage requests (contents of usage contracts) acquired from the user terminal 70. . Specifically, as shown in FIG. 4, each field includes “device ID”, “function”, “user ID”, “start”, and “end”.
  • identification information of a device for example, lighting
  • the function of the device that has been contracted for use on / off of lighting in FIG. 4
  • the user ID identification information of a contracted user is stored.
  • start and end the use start date and time and use end date and time of the device are stored.
  • the illumination function “onoff” with the device ID “0123-4567-89ab-cdef” the user with the user ID “00000001” changes from “2016/10/29 10:00” to “2016/10 / The content that the contract to use until "29 11:00" has been concluded is stored.
  • the access control unit 22 stores information registered from the administrator terminal 70 ′ in the access management DB 32. Further, the access control unit 22 refers to the user management DB 50 and the access management DB 32 and causes the Web API control unit 42 to generate a virtual device Web API and causes the TD control unit 44 to generate a virtual device TD. Furthermore, when a TD is requested from the user terminal 70, the access control unit 22 issues an instruction to the TD control unit 44 and causes the user terminal 70 to transmit a TD corresponding to the user.
  • the user management DB 50 is a database that stores combinations of user IDs and passwords.
  • the virtual device control unit 40 When the virtual device control unit 40 receives a TD (Thing Description) of the device 60 from the device 60, the virtual device control unit 40 stores the received TD in the TD management DB 52 and, based on the received TD, adds a virtual device to the virtual device function unit 46.
  • Virtual device function unit 46 functions as a virtual device).
  • the virtual device function unit 46 functions as a virtual device under the instruction of the virtual device control unit 40.
  • the Web API control unit 42 generates a Web API of the virtual device based on the access management DB 32 and the TD, and gives it to the virtual device.
  • the TD control unit 44 generates a TD of the virtual device based on the access management DB 32 and the TD and registers it in the TD repository 54.
  • the TD control unit 44 appropriately monitors the TD repository 54 to update the TD or delete unnecessary TDs.
  • the TD stored in the TD management DB 52 is, for example, as shown in FIG.
  • the TD control unit 44 Based on the TD information and the information in the access management DB 32 (see FIG. 4), the TD control unit 44 generates a TD for the virtual device.
  • the TD of FIG. 5A provides two functions “rgbw” and “onoff”.
  • the TD of the virtual device has only the “onoff” function as shown in FIG. This is because in the contract stored in the access management DB 32, only the contract using “onoff” is made.
  • “uris” indicates a part of the URL for accessing the device or the virtual device.
  • the “onoff” function information can be accessed by combining the “hrefs” information and the URL included in the description of the “onoff” function information.
  • the function “onoff” can be called by accessing the URL “http://192.168.0.101/LED/onoff” from FIG.
  • the function “onoff” can be called by accessing the URL “http://192.168.0.1/0123456789abcdef/00000001/xxxxxxxx/onoff” from FIG. 5B. it can.
  • the WebAPI can be used for both obtaining the state and changing the state.
  • http-get is used to obtain the onoff value
  • http-post is used to change the onoff value.
  • http-get by returning a value such as ⁇ “value”: true ⁇ as a return value, it is possible to grasp that the current state is true (currently turned on) or http-post
  • the uris of the virtual device must be an address that can be handled by the virtual device and must be unique within the virtual device. That is, it must not have the same uris as TDs for multiple devices.
  • the TD control unit 44 registers data as shown in FIG. 6 in which the TD of FIG. 5B is associated with the user ID in the TD repository 54.
  • the processing for the TD repository 54 is repeatedly executed periodically or irregularly. In the above contract, only 10/29 10: 00-11: 00 was valid, so if the date is out of this range, the TD is not registered, and if it is registered, it is deleted.
  • the user can use the device 60 at the contract date and time.
  • user authentication is performed through the user terminal 70.
  • the access control unit 22 refers to the user management DB 50 and performs user authentication similar to a normal Internet service.
  • the access control unit 22 issues an instruction to the TD control unit 44 and transmits a TD corresponding to the user from the TD repository 54 to the user terminal 70.
  • the user terminal 70 can acquire TD about the function of the device which a user can utilize.
  • the user terminal 70 parses the acquired TD, calculates a URL corresponding to the function, and accesses the virtual device (WebAPI call) using the calculated URL.
  • the virtual device function unit 46 receives the Web API access and calculates which function of which device is called from the TD repository 54 based on the received URL.
  • the TD of the device can be found from the TD management DB 52 based on the device ID, and the access method to the same function of the device can be found from the function name.
  • the virtual device function unit 46 accesses the device (WebAPI call). The device performs processing upon receiving a WebAPI call. For example, if the device is illuminated, processing such as turning on a light is performed.
  • the device returns a response to the virtual device function unit 46 when the execution of the process is completed.
  • the virtual device function unit 46 receives the response from the device and transfers the response to the user terminal 70.
  • the device 60 can be controlled from the user terminal 70.
  • the server 10 calculates the access method to the device from the TD repository 54 or the TD management DB 52. Fails and device access fails. Therefore, in this embodiment, only an access to a contracted device from an appropriate user is possible.
  • FIG. 7A shows a flowchart of the TD registration process.
  • the TD registration process is a process executed by the device 60 and the server 10. First, in the device 60, when the administrator registers the URL of the virtual device control unit 40 of the server 10, URL setting processing is executed in step S10. Next, the device 60 transmits a TD to the URL set by the administrator in step S12.
  • the virtual device control unit 40 of the server 10 stands by until receiving TD in step S20.
  • the virtual device control unit 40 proceeds to Step S22 and stores the TD in the TD management DB 52.
  • FIG. 7B shows a flowchart of the device registration process.
  • the device registration process is a process executed by the administrator terminal 70 ′ and the server 10.
  • the administrator terminal 70 ′ executes device registration processing in step S30.
  • the administrator terminal 70 ′ transmits the input device information to the server 10.
  • a plan registration process is executed in step S32. In this case, the administrator terminal 70 ′ transmits the input information to the server 10 in order to input under what conditions the loan is lent.
  • the access control unit 22 receives the registration information and waits until the plan information is received (S40, S42). Therefore, upon receiving these pieces of information, the access control unit 22 proceeds to step S44 and stores the plan information in the access management DB 32.
  • FIG. 8 shows a flowchart of the user registration process.
  • the process of FIG. 8 is a process executed for a user to make a contract for using (borrowing) a device.
  • the user terminal 70 transmits an application download request to the server 10 (usage request receiving unit 20) in accordance with a user operation.
  • the server 10 side since the use request receiving unit 20 is waiting until a download request is transmitted (S60), the process proceeds to step S62 when there is a request, and the application (service application) ) From the application management DB 30 and transmitted to the user terminal 70.
  • the user terminal 70 installs the application in step S52.
  • the user terminal 70 transmits a user authentication request to the use request receiving unit 20 of the server 10 in accordance with the user operation in step S54. Since the use request receiving unit 20 stands by until a user authentication request is made in step S64, if there is a user authentication request, the process proceeds to step S66, and user authentication is executed based on the user management DB 50. If the user authentication is successful, the application on the user terminal 70 displays a selectable plan based on the data stored in the access management DB 32.
  • the user terminal 70 transmits plan selection information to the use request receiving unit 20 of the server 10 in step S56.
  • the use request receiving unit 20 waits until receiving the plan selection information in step S68, and therefore the process proceeds to step S70 when the plan selection information is received.
  • step S70 the use request receiving unit 20 stores the plan selection information in the access management DB 32. That is, any plan is associated with the user ID of the user.
  • step S72 based on the plan selected by the user, the virtual device control unit 40 generates a virtual device (functions the virtual device function unit 46).
  • the WebAPI control unit 42 generates a virtual API WebAPI
  • the TD control unit 44 generates a virtual device TD.
  • FIG. 9 shows a flowchart of device access control processing.
  • the device access control process is a process executed by the user terminal 70, the server 10, and the device 60. This process is a process when the user uses the device 60 by using the user terminal 70.
  • step S110 a user authentication request using a user ID or password is made from the user terminal 70.
  • step S130 since the access control unit 22 of the server 10 is on standby until user authentication is performed (S130), when there is a user authentication request, the process proceeds to step S132.
  • step S132 the access control unit 22 refers to the user management DB 50 and performs user authentication.
  • step S112 a search request for TD is issued from the application of the user terminal 70.
  • the access control unit 22 stands by until a TD search request is made (S134). If there is a TD search request, the process proceeds to step S136.
  • step S ⁇ b> 136 the access control unit 22 issues an instruction to the TD control unit 44, searches the TD repository 54 for the TD corresponding to the authenticated user, and transmits the TD to the user terminal 70.
  • step S114 Since the user terminal 70 is on standby until the TD is transmitted in step S114, when the TD is transmitted, the process proceeds to step S116 and receives the TD.
  • step S118 the user terminal 70 selects which function (which TD) to use according to the user's operation, and in the next step S120, the TD is parsed to correspond to the function.
  • URL is calculated.
  • step S122 the user terminal 70 accesses the virtual device using the calculated URL (performs a Web API call).
  • step S140 the virtual device function unit 46 (virtual device) calculates which function of which device is called from the TD repository 54 based on the received URL.
  • step S142 the virtual device function unit 46 (virtual device) accesses the device (WebAPI call) based on the calculated information.
  • processing is executed in response to the WebAPI in step S150.
  • the device 60 returns a response to the virtual device function unit 46 in step S152.
  • the virtual device function unit 46 receives the response from the device 60 in step S144, transfers the response to the user terminal 70, and the user terminal 70 receives the response in step S124.
  • the use request receiving unit 20 receives registration of a device that can be used by the user and the function of the available device, stores the registration in the access management DB 32, and Web API
  • the control unit 42 generates a Web API according to the registration, and the virtual device control unit 40 causes the virtual device function unit 46 to function as a virtual device that responds to the access to the Web API in cooperation with the device.
  • the TD control unit 44 transmits a TD including an access method to the Web API corresponding to the authenticated user to the user terminal 70, and the virtual device function unit 46
  • the access to the Web API (Web API call) from the user terminal 70 is accepted and the device is accessed.
  • the first embodiment it is possible to perform device access control in accordance with the user without adding a function to the device side.
  • the function related to access control does not press the resource of the device.
  • the user can access a device for which a usage contract has been made in the same manner as for accessing a normal device.
  • the user terminal 70 accesses the virtual device using a temporary URL calculated from the TD, security can be improved.
  • FIG. 10A is an example in which an item “price” is added as information that did not exist in the TD of the first embodiment
  • FIG. 10B is an example in which an item “contractURL” is added. It is.
  • TD information indicating that the Web API for color change (rgbw) is not currently available (“enabled”: false), but can be used if an additional cost is paid. That is, the user terminal 70 can parse the TD and acquire this information to indicate that the user can use the color changing function by paying an additional cost.
  • a URL for accessing the Web page for the additional contract is added as a contractURL.
  • the access control unit 22 instructs the TD control unit 44 to update the TD stored in the TD repository 54.
  • the operation when a WebAPI call is received by the virtual device function unit 46 (virtual device) is also changed.
  • the TD since the TD includes information necessary for updating the function of the device available to the user, the user can It is possible to add the functions of available devices as appropriate.
  • the third embodiment is different from the first embodiment in that information difficult to guess is added to the URL of the Web API calculated from the TD registered in the TD repository 54.
  • a character string as key information is generated using a pseudo random number and the URL specified in the TD uris part registered in the TD repository 54 is used. Add the generated string (token) to.
  • the uris of the virtual device must be an address that can be handled by the virtual device and must be unique within the virtual device. If this is observed, the character string can be freely set. I can decide. For this reason, by complicating the character string, it is possible to reduce the possibility that a person who does not have the right originally has unauthorized access by predicting the character string.
  • a character string may be added to the HTTP header as shown in FIG. 11B.
  • a character string may be added to the body part of HTTP. Note that the character string may be included in the TD and passed to the user terminal 70 or may be passed to the user terminal 70 via another route.
  • the virtual device function unit 46 (virtual device) receives a WebAPI call from the user terminal 70, the virtual device function unit 46 confirms the token and then performs device access control.
  • the TD includes address information for accessing the Web API and a character string as key information. The possibility of access can be reduced.
  • the server 10 checks access to the virtual device in order to prevent unauthorized access to the device 60.
  • FIG. 12 shows a functional block diagram of the server 10 ′ according to the fourth embodiment.
  • the control unit 14 includes a Web API monitoring unit 64 and an API access management DB 62 and an access rule management DB 66. Further, the service unit 12 has a monitoring notification unit 24.
  • the Web API monitoring unit 64 may have made unauthorized access based on the access information from the user terminal 70 stored in the API access management DB 62 to the virtual device and the access rules stored in the access rule management DB 66. Determine if there is. When the Web API monitoring unit 64 determines that there is a possibility of unauthorized access, the Web API monitoring unit 64 notifies the monitoring notification unit 24 to that effect. When notified from the WebAPI monitoring unit 64, the monitoring notification unit 24 notifies the notification destination URL (for example, the user terminal 70) that there is a possibility of unauthorized access.
  • the notification destination URL for example, the user terminal 70
  • the API access management DB 62 has a data structure as shown in FIG. As shown in FIG. 13A, the API access management DB 62 has fields of “URL”, “device ID”, “access source IP address”, and “access date / time”.
  • the URL accessed from the user terminal 70 is stored in the “URL” field.
  • the “device ID” field virtual device identification information is stored.
  • the “access source IP address” field stores the IP address of the user terminal 70.
  • the “access date / time” field the date / time when the user terminal 70 accessed is stored.
  • the access rule management DB 66 has a data structure as shown in FIG. As shown in FIG. 13B, the access rule management DB 66 has fields of “device ID”, “notification destination URL”, and “rule ID”. In the “device ID” field, identification information of the accessed virtual device is stored, and in the “notification destination URL” field, a URL indicating the notification destination is stored. The “rule ID” field stores rule identification information for determining whether or not there is a possibility of unauthorized access.
  • the virtual device When the virtual device receives access from the user terminal 70, the virtual device identifies the device ID from the TD repository 54 based on the received URL, and performs API access to the current date and time and the IP address of the user terminal 70 that is the access source. Store in the management DB 62.
  • the Web API monitoring unit 64 receives the addition of information to the API access management DB 62 and refers to the access rule management DB 66 to verify whether the rule is met (access is valid) or not.
  • the WebAPI monitoring unit 64 checks the IP address of the access source and determines whether it has changed from the previous access. . If the IP address of the access source has changed, the monitoring notification unit 24 notifies the notification destination URL and confirms whether or not access is permitted.
  • the rule is that “when there is an access more than a predetermined number of times (for example, two times) within a predetermined time (for example, within one second)” or “there is an access from a different access source IP address within a predetermined time (for within ten seconds). If so, the Web API monitoring unit 64 determines whether or not such access has occurred. And when there is such access, the monitoring notification unit 24 notifies the notification destination URL.
  • notification formats can be adopted, for example, notification as shown in FIG. 13C can be performed.
  • the server 10 includes the Web API monitoring unit 64 that monitors access to the Web API, and the monitoring notification unit 24 that performs notification based on the monitoring result of the Web API monitoring unit 64. It is equipped with. Thereby, when the WebAPI monitoring unit 64 determines that there is a possibility of unauthorized access, the monitoring notification unit 24 can notify the user or the like to that effect.
  • the fifth embodiment is different from the first embodiment in that the virtual device has a cache function.
  • http-get is used when acquiring the current value of onoff of the device 60
  • http-post is used when changing.
  • the virtual device accesses the device 60 to acquire the value and returns the value to the user terminal 70.
  • Store as a cache When the same value is requested again by http-get, the stored value is returned to the user terminal 70 without accessing the device.
  • the stored value is deleted when a predetermined time has elapsed after storage. Or, once http-post is called, the stored value is deleted. Thereby, inconsistency between the actual state and the cache can be reduced.
  • the virtual device may have a function of temporarily storing Web API access when offline as a cache function. That is, when a virtual device receives a WebAPI call and accesses the corresponding device but cannot access it, the WebAPI access is temporarily stored, and after a predetermined time has elapsed, the stored WebAPI is used again. Access the device.
  • the virtual device can access the device again, so that the device can execute the request.
  • Modification 1 when the device 60 is turned off / on, or when the device 60 is moved, the IP address may be changed, and access may not be possible with the conventional access methods.
  • the server 10 may acquire the TD from the device 60 again. For example, when the device 60 detects that the connection destination network has changed, the device 60 may perform TD registration again.
  • the TD in the TD repository 54 is updated when the period of use contract is entered, when the use contract is terminated, or when the contract content is changed. It has become. However, since the user terminal 70 may have already acquired the TD, the user terminal 70 may try to access the virtual device using the original TD.
  • the server 10 may notify the user terminal 70 to prompt the user to reacquire the TD.
  • a function for receiving an event notification may be implemented in the service application so that the server 10 notifies the service application of an event for reacquiring the TD.
  • the contract period may be described in advance in the TD, and the user terminal 70 may reacquire the TD based on the information.
  • the contract period may be added to the TD.
  • the start date of the contract period is registered as “begindate”
  • the end date of the contract period is registered as “enddate”.
  • the user terminal 70 may acquire the TD before starting the contract.
  • access control may be performed based on begindate. For example, if the current date and time is before begindate, even if the corresponding Web API is called, the virtual device should not access the device corresponding to the Web API call.
  • the above processing functions can be realized by a computer.
  • a program describing the processing contents of the functions that the processing apparatus should have is provided.
  • the program describing the processing contents can be recorded on a computer-readable recording medium (except for a carrier wave).
  • the program When the program is distributed, for example, it is sold in the form of a portable recording medium such as a DVD (Digital Versatile Disc) or CD-ROM (Compact Disc Read Only Memory) on which the program is recorded. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
  • a portable recording medium such as a DVD (Digital Versatile Disc) or CD-ROM (Compact Disc Read Only Memory) on which the program is recorded. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
  • the computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.
  • a reception unit that receives registration of a device that can be used by a user and a function of the device that can be used;
  • a generation unit that generates a Web API in response to registration in the reception unit and generates a virtual device that responds to the access to the Web API in cooperation with the device;
  • a notification unit for notifying the terminal of information including an access method to the Web API corresponding to the authenticated user, based on a result of user authentication using the terminal;
  • An information processing apparatus comprising: an access unit that accepts access to the Web API from the terminal and accesses the device via the virtual device.
  • (Supplementary note 2) The information processing apparatus according to supplementary note 1, wherein the information notified by the notification unit includes information necessary for updating a function of a device that can be used by a user.
  • (Supplementary note 3) The information processing apparatus according to supplementary note 1 or 2, wherein the information notified by the notification unit includes address information for accessing the Web API and key information.
  • (Supplementary Note 4) a monitoring unit that monitors access to the Web API;
  • the information processing apparatus includes: A receiving unit that receives registration of a device usable by the user and a function of the available device from the terminal; A generation unit that generates a Web API in response to registration in the reception unit and generates a virtual device that responds to the access to the Web API in cooperation with the device; A notification unit for notifying the terminal of information including an access method to the Web API corresponding to the authenticated user, based on a result of user authentication using the terminal; An access unit that accepts access to the WebAPI from the terminal and accesses the device via the virtual device; An information processing system characterized by this.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ユーザに応じたデバイスのアクセス制御を行う。 【解決手段】利用要求受信部20が、ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付けてアクセス管理DB32に格納し、WebAPI制御部42は、登録に応じてWebAPIを生成し、仮想デバイス制御部40は、仮想デバイス機能部46をWebAPIへのアクセスに対してデバイスと連携して応答する仮想デバイスとして機能させる。そして、TD制御部44は、ユーザ端末70を利用したユーザ認証の結果に基づいて、認証したユーザに対応するWebAPIへのアクセス方法を含むTDをユーザ端末70に送信し、仮想デバイス機能部46は、ユーザ端末70からのWebAPIへのアクセス(WebAPI呼び出し)を受け付け、デバイスにアクセスする。

Description

情報処理装置、情報処理システム及び情報処理方法
 本発明は、情報処理装置、情報処理システム及び情報処理方法に関する。
 近年、IoT(Internet of Things)の進展により、様々なデバイスがインターネットなどのネットワークに接続され、様々なデバイス(IoTデバイスと呼ぶ)からクラウドサービスを利用できるようになってきている。一方、様々なものを共有したり、貸し借りする、シェアードエコノミーと呼ばれるサービス(カーシェアリングやAirBnBなど)も拡大しつつある。これらのことから、共有のIoTデバイスや他人のIoTデバイスが持つ一部又は全部の機能を一定時間だけ利用できるようにするデバイスのシェアリングも検討されてきている。
 最近では、IoTデバイスをネットワーク経由で操作したり、IoTデバイスから情報を取得する仕組みの一つとして、WoT(Web of Things)と呼ばれるWeb技術を使ってデバイスにアクセスする技術が検討されている。この技術では、端末は、Thing Descriptionと呼ばれるデバイス名やデバイスが持つ機能名とその機能へのアクセス方法などを記述する文書を用いてデバイスにアクセスする。
 なお、デバイスのアクセス制御に関する技術として、端末でデバイスにタッチすることで接続し、認証、鍵交換を行い、その鍵を利用してデバイスへのアクセスを実現する技術が知られている(例えば、特許文献1等参照)。
特表2015-530038号公報
 デバイスをシェアリングする場合、ユーザによって利用可能なデバイスや利用可能なデバイスの機能が異なる。したがって、ユーザに応じたアクセス制御を行うことが必要である。
 1つの側面では、本発明は、ユーザに応じたデバイスのアクセス制御を行うことが可能な情報処理装置、情報処理システム及び情報処理方法を提供することを目的とする。
 一つの態様では、情報処理装置は、ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付ける受付部と、前記受付部への登録に応じてWebAPIを生成するとともに、該WebAPIへのアクセスに対して前記デバイスと連携して応答する仮想デバイスを生成する生成部と、端末を利用したユーザ認証の結果に基づいて、認証したユーザに対応する前記WebAPIへのアクセス方法を含む情報を前記端末に通知する通知部と、前記端末からの前記WebAPIへのアクセスを受け付け、前記仮想デバイスを介して前記デバイスにアクセスするアクセス部と、を備えている。
 ユーザに応じたデバイスのアクセス制御を行うことができる。
一実施形態に係る情報処理システムの構成を概略的に示す図である。 図2(a)は、ユーザ端末のハードウェア構成を示す図であり、図2(b)は、サーバのハードウェア構成を示す図である。 サーバの機能ブロック図である。 アクセス管理DBのデータ構造の一例を示す図である。 図5(a)は、TD管理DBで管理されるTDの一例を示す図であり、図5(b)は、TDレポジトリで管理されるTDの一例を示す図である。 TDレポジトリに格納されるデータの一例を示す図である。 図7(a)は、TD登録処理を示すフローチャートであり、図7(b)は、デバイス登録処理を示すフローチャートである。 ユーザ登録処理を示すフローチャートである。 デバイスのアクセス制御処理を示すフローチャートである。 図10(a)、図10(b)は、第2の実施形態に係るTDを示す図である。 図11(a)は、第3の実施形態に係るTDを示す図であり、図11(b)は、第3の実施形態に係るHTTPヘッダ部の例を示す図である。 第4の実施形態に係るサーバの機能ブロック図である。 図13(a)は、第4の実施形態に係るAPIアクセス管理DBのデータ構造を示す図であり、図13(b)は、アクセスルール管理DBのデータ構造を示す図であり、図13(c)は、通知フォーマットの例を示す図である。 変形例3に係るTDを示す図である。
≪第1の実施形態≫
 以下、情報処理システムの第1の実施形態について、図1~図9に基づいて詳細に説明する。
 図1には、第1の実施形態に係る情報処理システム100の構成が概略的に示されている。情報処理システム100は、デバイス60と、ユーザ端末70と、サーバ10と、を備える。デバイス60及びユーザ端末70は、無線LAN(Local Area Network)や携帯電話網などを介して、インターネットなどのネットワーク80に接続されている。また、サーバ10もネットワーク80に接続されている。本第1の実施形態の情報処理システム100は、デバイス60を管理する管理者(持ち主等)が、ユーザ端末70を保持するユーザにデバイス60を利用させるためのシステムである。
 デバイス60は、エアコン、自動車、照明、カメラなど、様々な場所に存在する機器であり、WebAPIの呼び出しを受けて、何らかの制御を行ったり、何らかの情報を返答したりするものである。
 ユーザ端末70は、ユーザが持ち歩き、デバイス60を制御するために利用する端末であり、例えばスマートフォンやタブレット型端末であるものとする。図2(a)には、ユーザ端末70のハードウェア構成の一例が示されている。図2(a)に示すように、ユーザ端末70は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ネットワークインタフェース97、表示部93、入力部95、及び可搬型記憶媒体用ドライブ99等を備えている。これらユーザ端末70の構成各部は、バス98に接続されている。ユーザ端末70では、ROM92あるいはHDD96に格納されているプログラム、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラムをCPU90が実行することにより、各種機能を実現する。なお、ユーザ端末70には、デバイス60を管理する管理者が利用可能な端末(管理者端末70’(図3参照))も含まれるものとする。
 サーバ10は、ユーザ端末70とデバイス60の間の通信を仲介し、ユーザ端末70からのデバイス60に対するアクセス制御を実行する。図2(b)には、サーバ10のハードウェア構成の一例が示されている。図2(b)に示すように、サーバ10は、CPU(Central Processing Unit)190、ROM(Read Only Memory)192、RAM(Random Access Memory)194、記憶部(ここではHDD(Hard Disk Drive))196、ネットワークインタフェース197、及び可搬型記憶媒体用ドライブ199等を備えている。これらサーバ10の構成各部は、バス198に接続されている。サーバ10では、ROM192あるいはHDD196に格納されているプログラム、或いは可搬型記憶媒体用ドライブ199が可搬型記憶媒体191から読み取ったプログラムをCPU190が実行することにより、図3に示す各部として機能する。なお、図3には、HDD196等に格納されている各種DB等も図示されている。
 次に、図3に基づいて、サーバ10の各部について具体的に説明する。サーバ10においては、CPU190がプログラムを実行することで、サービス部12と、制御部14として機能する。
 図3において、サービス部12は、サービス毎に用意されており、利用要求受信部20と、アクセス制御部22と、を有する。また、制御部14は、プラットフォームであり、仮想デバイス制御部40と、WebAPI制御部42と、TD制御部44と、仮想デバイス機能部46と、を有する。
 ここで、W3Cで議論中のWoTでは、端末がデバイスにアクセスする際に、TD(Thing Description)と呼ばれる情報をもとにアクセスする。端末がTDを取得する仕組みについてはさまざまな方法が検討されているが、その一つとして、デバイスが自身のTDをサーバ10(TDレポジトリ54)に登録し、端末はそのTDが持つ情報の一部(例えばデバイスの名前やID)をキーとして検索することで、そのTDを取得する方法がある。本実施形態ではこの方法を応用するものとする。
 具体的には、本実施形態では、デバイスの管理者はデバイスにサーバ10が有するTDレポジトリ54のURLを登録する代わりに、サーバ10の仮想デバイス制御部40のURLを登録する。これにより、仮想デバイス制御部40にデバイスのTDが送られ、TDをTD管理DB52で管理することが可能になる。
 また、デバイスの管理者は、デバイスをどのような条件で貸し出すのかを取り決めてサービス事業者と契約する。たとえば、車を貸し出すのであれば、平日は1時間200円、休日は1時間300円で貸し出すといった契約を行う。そして、サービス事業者はその条件に応じてさまざまなユーザに車を貸し出すことになる。ユーザと管理者間における契約情報は、デバイスIDやユーザIDと対応付けてサービス部12において管理される。
 利用要求受信部20は、アプリ管理DB30で管理されているサービスアプリがダウンロードされているユーザ端末70から、サービスアプリを用いたデバイスの利用手続き(利用契約)が行われた場合に、契約情報をアクセス管理DB32に登録する。
 より具体的には、ユーザはユーザ端末70においてサービスアプリを利用し、サービスにアクセスする。そして、ユーザ認証を行った上で、利用要求受信部20から提供されるプラン(アクセス管理DB32に登録されている利用可能なデバイス60及びデバイス60の機能の情報)を確認して、その結果として、ある時間からある時間まであるデバイス60を借りるといった予約(契約)を行う。この契約に関する流れは、通常のネットショッピングやホテル予約のネットサービスなどと同様である。この契約により、アクセス管理DB32において、デバイスの管理者が登録したデバイス60と契約したユーザとが対応付けられる。
 ここで、アクセス管理DB32は、管理者端末70’から登録された情報(サービス事業者との契約情報)と、ユーザ端末70から取得した利用要求(利用契約の内容)とを管理するデータベースである。具体的には、図4に示すように、「デバイスID」、「機能」、「ユーザID」、「開始」、「終了」の各フィールドを有する。
 「デバイスID」のフィールドには、デバイス(例えば照明とする)の識別情報が格納される。「機能」のフィールドには、利用契約されたデバイスの機能(図4では照明のon/off)が格納される。「ユーザID」のフィールドには、契約したユーザの識別情報が格納される。「開始」及び「終了」のフィールドには、デバイスの利用開始日時及び利用終了日時が格納される。図4の例では、デバイスID「0123-4567-89ab-cdef」の照明の機能「onoff」について、ユーザID「00000001」のユーザが「2016/10/29 10:00」から「2016/10/29 11:00」まで利用する契約が結ばれたという内容が格納されている。
 アクセス制御部22は、アクセス管理DB32に管理者端末70’から登録された情報を格納する。また、アクセス制御部22は、ユーザ管理DB50やアクセス管理DB32を参照して、WebAPI制御部42に仮想デバイスのWebAPIを生成させたり、TD制御部44に仮想デバイスのTDを生成させたりする。更に、アクセス制御部22は、ユーザ端末70からTDが要求された場合に、TD制御部44に指示を出し、ユーザに対応するTDをユーザ端末70に送信させる。
 なお、ユーザ管理DB50は、ユーザIDとパスワードの組み合わせ等を格納するデータベースである。
 仮想デバイス制御部40は、デバイス60からデバイス60のTD(Thing Description)を受け付けると、受け付けたTDをTD管理DB52に格納するとともに、受け付けたTDに基づいて、仮想デバイス機能部46に仮想デバイスを生成する(仮想デバイス機能部46を仮想デバイスとして機能させる)。仮想デバイス機能部46は、仮想デバイス制御部40の指示の下、仮想デバイスとして機能する。また、WebAPI制御部42は、アクセス管理DB32とTDに基づいて仮想デバイスのWebAPIを生成し、仮想デバイスに与える。TD制御部44は、アクセス管理DB32とTDに基づいて仮想デバイスのTDを生成し、TDレポジトリ54に登録する。なお、TD制御部44は、TDレポジトリ54を適宜監視し、TDを更新したり、不要なTDを削除したりする。
 ここで、TD管理DB52に格納されるTDは、一例として図5(a)に示すようなものである。このTDの情報とアクセス管理DB32(図4参照)の情報とに基づいて、TD制御部44は、仮想デバイス用のTDを生成する。具体的には、図5(a)のTDでは「rgbw」と「onoff」の2つの機能が提供されている。一方、仮想デバイスのTDは、図5(b)に示すように、「onoff」の機能しか存在しない。これは、アクセス管理DB32に格納されている契約では「onoff」を利用する契約のみが結ばれているからである。なお、図5(a)、図5(b)において、「uris」はデバイス又は仮想デバイスにアクセスするためのURLの一部を示している。「onoff」の機能にアクセスする場合には、「onoff」の機能の情報が記述しているところに含まれている「hrefs」の情報とURLとを組み合わせることでアクセスできる。例えば、アクセス先がデバイスの場合は、図5(a)より、URL「http://192.168.0.101/LED/onoff」にアクセスすることで「onoff」の機能を呼び出すことができる。一方、アクセス先が仮想デバイスの場合は、図5(b)より、URL「http://192.168.0.1/0123456789abcdef/00000001/xxxxxxxx/onoff」にアクセスすることで「onoff」の機能を呼び出すことができる。また、http-getとhttp-postを使い分けることで、WebAPIを、状態を取得することと状態を変更することの両方に使用することができる。すなわち、onoffの値を取得するためにはhttp-getを使い、onoffの値を変更するためにはhttp-postを使う。たとえば、http-getのときには戻り値として、{“value”:true} のような値を返すことで、現在の状態がtrueである(現在照明がついている)ことを把握したり、http-postのときは{“value”:true}をhttp-postのボディ部に持たせることで、値をtrueに変更する(つまり照明をオンにする)ことが可能になる。なお、仮想デバイスのurisは仮想デバイスが扱えるアドレスで、かつ、仮想デバイス内で一意でなければならない。つまり、複数のデバイス用のTDとして同じurisを持っていてはならない。そのようにしなければ、仮想デバイスがアクセスを受けたときにどのデバイス向けの要求なのかわからなくなるからである。したがって、TD生成時には、連番で番号を振っておくなどして、一意になるようにする。なお、「name」は機能の名称、「valueType」はその機能の呼び出し時に指定する引数の型を示している。「onoff」の場合はvalueTypeが「boolean」であるのでtrue/falseを指定する。すなわち、上記で説明したURLにアクセスする際のHTTPプロトコルのbody部にtrueかfalseを指定することでオンにするかオフにするかを指定できる。TD制御部44は、図5(b)のTDをユーザIDに対応付けた、図6に示すようなデータをTDレポジトリ54に登録する。このTDレポジトリ54に対する処理は定期的もしくは不定期的に繰り返して実行する。上記の契約では10/29 10:00-11:00のみ有効であったので、この範囲外の日時である場合はTDを登録せず、もし登録されていたら削除する。
 上述したようにしてTDが登録された後、ユーザは契約日時においてデバイス60を利用することが可能となる。ユーザがデバイス60を利用する場合、ユーザ端末70を通して、ユーザ認証を行う。この場合、アクセス制御部22は、ユーザ管理DB50を参照して、通常のインターネットサービスと同様のユーザ認証を行う。そして、アクセス制御部22は、TD制御部44に指示を出し、ユーザに応じたTDをTDレポジトリ54からユーザ端末70に送信する。これにより、ユーザ端末70は、ユーザが利用可能なデバイスの機能についてのTDを取得することができる。
 ユーザ端末70では、取得したTDをパースして機能に対応するURLを算出して、算出したURLを用いて仮想デバイスにアクセス(WebAPI呼び出し)する。仮想デバイス機能部46(仮想デバイス)では、WebAPIアクセスを受信して、その受信したURLをもとにTDレポジトリ54からどのデバイスのどの機能が呼び出されたのかを算出する。
 たとえば、http://192.168.0.1/0123456789abcdef/00000001/xxxxxxxx/onoff へアクセスを受けたのであれば、TDレポジトリ54の情報からデバイスID「0123-4567-89ab-cdef」の「onoff」機能にアクセスしたことが分かる。すなわち、デバイスIDに基づいてデバイスのTDをTD管理DB52から見つけ、機能名からデバイスの同機能へのアクセス方法を見つけることができる。この情報に基づいて、仮想デバイス機能部46はデバイスにアクセス(WebAPI呼び出し)する。デバイスはWebAPI呼び出しを受けて処理を行う。たとえば、デバイスが照明であれば明かりをつけるなどの処理を行う。そして、デバイスは処理の実行が終了すると仮想デバイス機能部46に応答を返す。仮想デバイス機能部46は、デバイスからの応答を受けて、ユーザ端末70に応答を転送する。以上により、ユーザ端末70からデバイス60を制御することが可能となっている。
 なお、サーバ10(仮想デバイス機能部46)はWebAPI呼び出しを受けたときに、TDレポジトリ54やTD管理DB52からデバイスへのアクセス方法を算出するため、もしWebAPI呼び出しが契約外であれば、算出に失敗し、デバイスアクセスに失敗する。したがって、本実施形態では、適切なユーザからの契約しているデバイスへのアクセスのみが可能となっている。
(情報処理システム100の処理について)
 次に、図7~図9に基づいて、情報処理システム100における処理の流れについてフローチャートに沿って説明する。
(TD登録処理)
 図7(a)には、TD登録処理のフローチャートが示されている。TD登録処理は、デバイス60とサーバ10により実行される処理である。まず、デバイス60においては、管理者が、サーバ10の仮想デバイス制御部40のURLを登録すると、ステップS10において、URLの設定処理を実行する。次いで、デバイス60では、ステップS12において、管理者が設定したURLに対してTDを送信する。
 一方、サーバ10の仮想デバイス制御部40は、ステップS20において、TDを受信するまで待機している。仮想デバイス制御部40は、TDを受信すると、ステップS22に移行し、TDをTD管理DB52に格納する。
 以上により、TD登録処理が終了する。
(デバイス登録処理)
 図7(b)には、デバイス登録処理のフローチャートが示されている。デバイス登録処理は、管理者端末70’とサーバ10により実行される処理である。まず、管理者端末70’では、ステップS30において、デバイス登録処理を実行する。この場合、管理者は、貸し出すデバイスを管理者端末70’において入力するため、管理者端末70’は、入力されたデバイスの情報をサーバ10に送信する。また、管理者端末70’では、ステップS32において、プラン登録処理を実行する。この場合、管理者は、どのような条件で貸し出すかを入力するため、管理者端末70’は、入力された情報をサーバ10に送信する。
 一方、サーバ10では、アクセス制御部22は、登録情報を受信し、プラン情報を受信するまで待機している(S40、S42)。したがって、これらの情報を受信すると、アクセス制御部22は、ステップS44に移行し、プラン情報をアクセス管理DB32に格納する。
 以上により、デバイス登録処理が終了する。
(ユーザ登録処理)
 図8には、ユーザ登録処理のフローチャートが示されている。図8の処理は、ユーザがデバイスを利用する(借りる)契約を行うために実行される処理である。図8の処理では、まず、ステップS50において、ユーザ端末70は、ユーザの操作に応じてアプリダウンロード要求をサーバ10(利用要求受信部20)に対して送信する。これに対し、サーバ10側においては、利用要求受信部20がダウンロード要求が送信されてくるまで待機しているため(S60)、要求があった段階で、ステップS62に移行し、アプリ(サービスアプリ)をアプリ管理DB30から取得してユーザ端末70に送信する。この場合、ユーザ端末70では、ステップS52において、アプリをインストールする。
 アプリがインストールされた後、ユーザ端末70は、ステップS54において、ユーザの操作に応じて、ユーザ認証要求をサーバ10の利用要求受信部20に送信する。利用要求受信部20では、ステップS64においてユーザ認証要求があるまで待機しているため、ユーザ認証要求があると、ステップS66に移行し、ユーザ管理DB50に基づいてユーザ認証を実行する。なお、ユーザ認証に成功した場合、ユーザ端末70上のアプリには、アクセス管理DB32に格納されているデータに基づいて、選択可能なプランが表示されるようになっている。
 次いで、ユーザ端末70のユーザの操作によりプラン選択が行われると、ユーザ端末70は、ステップS56において、プラン選択情報をサーバ10の利用要求受信部20に送信する。これに対し、サーバ10側では、利用要求受信部20は、ステップS68において、プラン選択情報を受信するまで待機しているため、プラン選択情報を受信した段階で、ステップS70に移行する。
 ステップS70に移行すると、利用要求受信部20は、プラン選択情報をアクセス管理DB32に格納する。すなわち、いずれかのプランとユーザのユーザIDとを紐づける。
 次いで、ステップS72では、ユーザが選択したプランに基づいて、仮想デバイス制御部40が仮想デバイスを生成する(仮想デバイス機能部46を機能させる)。また、WebAPI制御部42が仮想デバイスのWebAPIを生成し、TD制御部44が、仮想デバイスのTDを生成する。
 以上により、ユーザ登録処理が終了する。
(デバイスのアクセス制御処理)
 図9には、デバイスのアクセス制御処理のフローチャートが示されている。デバイスのアクセス制御処理は、ユーザ端末70、サーバ10、デバイス60により実行される処理である。本処理は、ユーザがユーザ端末70を用いてデバイス60を利用する際の処理である。
 図9の処理では、まずステップS110において、ユーザ端末70からユーザIDやパスワードを用いたユーザ認証要求が行われる。一方、サーバ10のアクセス制御部22は、ユーザ認証があるまで待機しているので(S130)、ユーザ認証要求があると、ステップS132に移行する。ステップS132では、アクセス制御部22は、ユーザ管理DB50を参照して、ユーザ認証を行う。
 次いで、ステップS112において、ユーザ端末70のアプリからTDの検索要求が出される。この場合、アクセス制御部22は、TDの検索要求があるまで待機しているので(S134)、TDの検索要求があると、ステップS136に移行する。ステップS136では、アクセス制御部22は、TD制御部44に指示を出して、認証されたユーザに対応するTDをTDレポジトリ54から検索して、ユーザ端末70に送信する。
 ユーザ端末70は、ステップS114においてTDが送信されてくるまで待機しているため、TDが送信されると、ステップS116に移行し、TDを受信する。
 次いで、ステップS118に移行すると、ユーザ端末70では、ユーザの操作に応じていずれの機能(いずれのTD)を利用するかを選択し、次のステップS120では、TDをパースして機能に対応するURLを算出する。そして、ステップS122では、ユーザ端末70は、算出したURLを用いて仮想デバイスにアクセスする(WebAPI呼び出しを行う)。
 一方、サーバ10の仮想デバイス機能部46(仮想デバイス)は、ユーザ端末70からWebAPI呼び出しがあるまで待機しているので(S138)、WebAPI呼び出しがあると、ステップS140に移行する。ステップS140に移行すると、仮想デバイス機能部46(仮想デバイス)は、受信したURLをもとにTDレポジトリ54からどのデバイスのどの機能が呼び出されたのかを算出する。次いで、ステップS142では、仮想デバイス機能部46(仮想デバイス)は、算出した情報に基づいて、デバイスにアクセス(WebAPI呼び出し)する。
 仮想デバイス機能部46からアクセス(WebAPI呼び出し)されたデバイス60では、ステップS150において、WebAPIを受けて処理を実行する。そして、処理の実行が終了すると、デバイス60は、ステップS152において、仮想デバイス機能部46に応答を返す。この場合、仮想デバイス機能部46は、ステップS144において、デバイス60からの応答を受けて、ユーザ端末70に応答を転送し、ユーザ端末70では、ステップS124において応答を受信する。
 以上により、デバイスのアクセス制御処理が終了する。
 以上詳細に説明したように、本第1の実施形態によると、利用要求受信部20が、ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付けてアクセス管理DB32に格納し、WebAPI制御部42は、登録に応じてWebAPIを生成し、仮想デバイス制御部40は、仮想デバイス機能部46をWebAPIへのアクセスに対してデバイスと連携して応答する仮想デバイスとして機能させる。そして、TD制御部44は、ユーザ端末70を利用したユーザ認証の結果に基づいて、認証したユーザに対応するWebAPIへのアクセス方法を含むTDをユーザ端末70に送信し、仮想デバイス機能部46は、ユーザ端末70からのWebAPIへのアクセス(WebAPI呼び出し)を受け付け、デバイスにアクセスする。これにより、本第1の実施形態では、デバイス側に機能を追加することなく、ユーザに応じたデバイスのアクセス制御を行うことができる。この場合、一般的にサーバ10に比べてリソースが小さいデバイスに機能を追加しないようにしているため、アクセス制御に関する機能がデバイスのリソースを圧迫することがない。また、ユーザは、通常のデバイスへのアクセスと同様の方法で、利用契約したデバイスに対してアクセスすることが可能となる。また、本第1の実施形態では、ユーザ端末70は、TDから算出される一時的なURLを用いて仮想デバイスにアクセスするため、セキュリティの向上を図ることができる。
≪第2の実施形態≫
 次に、第2の実施形態について、図10に基づいて説明する。本第2実施形態は、第1の実施形態のTDに情報を更に追加する例である。図10(a)は、第1の実施形態のTDには存在しなかった情報として“price”の項目を追加した例であり、図10(b)は、“contractURL”の項目を追加した例である。
 図10(a)のTDの場合、色の変更(rgbw)のWebAPIは現状利用できない(“enabled”:false)が、追加コストを支払えば利用できるという情報が追加されている。すなわち、ユーザ端末70では、TDをパースしてこの情報を取得することで、ユーザに色の変更の機能を追加コストを支払うことで利用できるということを示すことができる。
 一方、図10(b)のTDの場合、追加契約用のWebページにアクセスするためのURLが、contractURLとして追加されている。ユーザは、新たにデバイスの機能を利用したいと思ったときには、contractURLにアクセスし、Webページで追加手続きを行うことで、利用可能な機能を追加することができる。なお、追加手続きに関しては、第1の実施形態において説明した利用契約と同様の処理により実現することができる。この追加手続きが行われると、アクセス制御部22は、TD制御部44に指示を出し、TDレポジトリ54に格納されているTDを更新する。これにより、仮想デバイス機能部46(仮想デバイス)によるWebAPI呼び出しを受けた際の動作も変わるようになっている。
 以上説明したように、本第2の実施形態によると、TDには、ユーザが利用可能なデバイスの機能を更新するために必要な情報が含まれているので、ユーザは、必要に応じて、利用可能なデバイスの機能を適宜追加等することが可能となっている。
≪第3の実施形態≫
 次に、第3の実施形態について図11に基づいて説明する。本第3の実施形態は、TDレポジトリ54に登録されるTDから算出されるWebAPIのURLに、推測が困難な情報を付加する点が、第1の実施形態と異なる。
 本第3の実施形態では、図11(a)に示すように、擬似乱数などを利用して鍵情報としての文字列を生成し、TDレポジトリ54に登録するTDのurisの部分で指定するURLに生成した文字列(token)を追加する。上記第1の実施形態で説明したように、仮想デバイスのurisは仮想デバイスが扱えるアドレスで、かつ、仮想デバイス内で一意でなければならないが、これを遵守していれば、文字列は自由に決めることができる。このため、文字列を複雑にすることで、本来権利のない人が文字列を予測して不正アクセスする可能性を低減することができる。
 なお、図11(a)の例に限らず、例えばHTTPアクセスであれば、図11(b)に示すようにHTTPのヘッダ部に文字列を追加してもよい。なお、HTTPのボディ部に文字列を追加してもよい。なお、文字列は、TDに含ませてユーザ端末70に渡してもよいし、別のルートでユーザ端末70に渡してもよい。
 仮想デバイス機能部46(仮想デバイス)は、ユーザ端末70からWebAPI呼び出しを受信した際には、tokenを確認した上で、デバイスのアクセス制御を行うこととする。
 以上、説明したように、本第3の実施形態によると、TDには、WebAPIへアクセスするためのアドレス情報と、鍵情報としての文字列が含まれているので、第三者からの不正なアクセスの可能性を低減することができる。
≪第4の実施形態≫
 次に、第4の実施形態について、図12、図13に基づいて、説明する。本第4の実施形態では、サーバ10がデバイス60への不正アクセスを防ぐために、仮想デバイスへのアクセスをチェックする。
 図12には、本第4の実施形態に係るサーバ10’の機能ブロック図が示されている。図12に示すように、本第4の実施形態では、制御部14が、WebAPI監視部64を有するとともに、APIアクセス管理DB62及びアクセスルール管理DB66を有している。また、サービス部12が、監視通知部24を有している。
 WebAPI監視部64は、APIアクセス管理DB62に格納されたユーザ端末70から仮想デバイスへのアクセス情報と、アクセスルール管理DB66に格納されているアクセスルールとに基づいて、不正アクセスがあった可能性があるかを判断する。WebAPI監視部64は、不正アクセスがあった可能性があると判断した場合に、その旨を監視通知部24に通知する。監視通知部24は、WebAPI監視部64から通知があった場合には、不正アクセスがあった可能性があることを通知先URL(例えばユーザ端末70)に通知する。
 ここで、APIアクセス管理DB62は、図13(a)に示すようなデータ構造を有する。図13(a)に示すように、APIアクセス管理DB62は、「URL」、「デバイスID」、「アクセス元IPアドレス」、「アクセス日時」の各フィールドを有する。「URL」のフィールドには、ユーザ端末70からアクセスがあったURLが格納される。「デバイスID」のフィールドには、仮想デバイスの識別情報が格納される。「アクセス元IPアドレス」のフィールドには、ユーザ端末70のIPアドレスが格納される。「アクセス日時」のフィールドには、ユーザ端末70からアクセスがあった日時が格納される。
 また、アクセスルール管理DB66は、図13(b)に示すようなデータ構造を有する。図13(b)に示すように、アクセスルール管理DB66は、「デバイスID」、「通知先URL」、「ルールID」の各フィールドを有する。「デバイスID」のフィールドには、アクセスがあった仮想デバイスの識別情報が格納され、「通知先URL」のフィールドには、通知先を示すURLが格納される。「ルールID」のフィールドには、不正アクセスの可能性があるか否かを判断するためのルールの識別情報が格納される。
 仮想デバイスは、ユーザ端末70からアクセスを受けたときに、受信したURLに基づいてTDレポジトリ54からデバイスIDを特定し、現在の日時と、アクセス元のユーザ端末70のIPアドレスと、をAPIアクセス管理DB62に格納する。そして、WebAPI監視部64は、APIアクセス管理DB62への情報の追加を受けて、アクセスルール管理DB66を参照して、ルールに合っているか(アクセスが正当であるか)否かを検証する。
 たとえば、ルールが、「アクセスしてきたIPアドレスが以前のアクセスと変わっていない」であれば、WebAPI監視部64は、アクセス元のIPアドレスを確認し、以前のアクセスと変わっていないかを判断する。そして、アクセス元のIPアドレスが変わっている場合には、監視通知部24が通知先URLに対して通知を行い、アクセスを許可して良いかを確認する。また、ルールが、「所定時間内(例えば1秒以内)において所定回数(例えば2回)以上アクセスがあった場合」や「所定時間内(10秒以内)に異なるアクセス元IPアドレスからアクセスがあった場合」であれば、WebAPI監視部64は、そのようなアクセスがあったか否かを判断する。そして、そのようなアクセスがあった場合には、監視通知部24が通知先URLに通知する。
 なお、通知のフォーマットとしては、種々採用することができ、例えば、図13(c)に示すような通知を行うことができる。
 以上、説明したように、本第4の実施形態によると、サーバ10は、WebAPIへのアクセスを監視するWebAPI監視部64と、WebAPI監視部64の監視結果に基づく通知を行う監視通知部24と、を備えている。これにより、WebAPI監視部64により、不正アクセスがあった可能性があると判断された場合に、監視通知部24は、ユーザ等にその旨を通知することができる。
≪第5の実施形態≫
 次に、第5の実施形態について説明する。第5の実施形態は、仮想デバイスがキャッシュ機能を有する点が第1の実施形態と異なる。
 上述したように、デバイス60のonoffの現在の値を取得するときにはhttp-getを用い、変更するときにはhttp-postを用いることとしている。本第5の実施形態では、仮想デバイスは、一度、http-getで値が要求されたときに、デバイス60にアクセスして値を取得し、ユーザ端末70に返答するが、その際に値をキャッシュとして記憶しておく。そして、再度http-getで同じ値が要求されたときにはデバイスにアクセスせずに記憶しておいた値をユーザ端末70に返答する。なお、記憶後、一定時間が経過した場合には記憶しておいた値を消去する。または、一度http-postが呼び出された場合に、記憶しておいた値を消去する。これにより、実際の状態とキャッシュとの不整合を減らすことが可能である。
 なお、仮想デバイスは、キャッシュ機能として、オフライン時にWebAPIアクセスを一時記憶する機能を有していてもよい。すなわち、仮想デバイスがWebAPI呼び出しを受け、対応するデバイスにアクセスしたが、アクセスできなかった場合に、WebAPIアクセスを一時記憶しておき、所定時間経過した後に、記憶しておいたWebAPIを用いて再度デバイスにアクセスする。
 これにより、デバイスがオンライン状態になっていれば、仮想デバイスがデバイスに再度アクセスすることにより、デバイスが要求を実行することが可能である。
(変形例1)
 なお、デバイス60が電源をオフ/オンした場合や、デバイス60が移動された場合など、IPアドレスが変更になり、これまでのアクセス方法ではアクセスできなくなる場合がある。この場合には、サーバ10は、デバイス60からTDを再度取得するようにすればよい。たとえば、デバイス60は、接続先のネットワークが変わったことを検出した場合に、再度TDの登録を行うようにすればよい。
(変形例2)
 上記第1の実施形態で説明したように、利用契約の期間に入った場合、利用契約が終了した場合、及び契約内容が変更された場合には、TDレポジトリ54内のTDは更新されるようになっている。しかしながら、ユーザ端末70はすでにTDを取得している場合があるため、元のTDを使って仮想デバイスにアクセスしようとすることがある。
 そこで、サーバ10は、TDが更新された場合に、ユーザ端末70に対して通知してTDの再取得を促すようにしてもよい。このようにするためには、サービスアプリにイベント通知を受け取る機能を実装しておき、サーバ10がTDを再取得するイベントをサービスアプリに対して通知するようにすればよい。
(変形例3)
 なお、TDに契約期間を予め記載しておき、その情報に基づいて、ユーザ端末70がTDを再取得するようにしてもよい。この場合、例えば、図14に示すように、TDに契約期間を追加するようにすればよい。図14のTDには、契約期間の開始日が「begindate」として登録されており、契約期間の終了日が「enddate」として登録されている。
 図14のTDを用いる場合、ユーザ端末70は、契約開始前にTDを取得してもよい。この場合、begindateに基づいて、アクセス制御を行うようにすればよい。たとえば、現在の日時がbegindateよりも前であれば、対応するWebAPIを呼び出したとしても、仮想デバイスでWebAPI呼び出しに対応するデバイスにアクセスしないようにすればよい。
 なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
 プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
 プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
 上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
 なお、以上の第1~第5の実施形態及び変形例の説明に関して、更に以下の付記を開示する。
(付記1) ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付ける受付部と、
 前記受付部への登録に応じてWebAPIを生成するとともに、該WebAPIへのアクセスに対して前記デバイスと連携して応答する仮想デバイスを生成する生成部と、
 端末を利用したユーザ認証の結果に基づいて、認証したユーザに対応する前記WebAPIへのアクセス方法を含む情報を前記端末に通知する通知部と、
 前記端末からの前記WebAPIへのアクセスを受け付け、前記仮想デバイスを介して前記デバイスにアクセスするアクセス部と、を備える情報処理装置。
(付記2) 前記通知部が通知する前記情報には、ユーザが利用可能なデバイスの機能を更新するために必要な情報が含まれることを特徴とする付記1に記載の情報処理装置。
(付記3) 前記通知部が通知する前記情報には、前記WebAPIへアクセスするためのアドレス情報と、鍵情報が含まれることを特徴とする付記1又は2に記載の情報処理装置。
(付記4) 前記WebAPIへのアクセスを監視する監視部と、
 前記監視部の監視結果に基づく処理を実行する実行部と、を更に備える付記1~3のいずれかに記載の情報処理装置。
(付記5) 前記アクセス部が前記デバイスにアクセスしたときに取得した情報を記憶しておき、所定時間の間は、記憶してある情報に基づいて前記端末に応答する応答部を更に備える付記1~4のいずれかに記載の情報処理装置。
(付記6) 前記アクセス部が前記デバイスにアクセスできなかった場合には、所定時間経過後に、前記デバイスに再アクセスすることを特徴とする付記1~5のいずれかに記載の情報処理装置。
(付記7) 前記通知部は、前記デバイスの情報に変更があった場合に、前記端末に対して前記WebAPIへのアクセス方法を含む情報の更新を通知することを特徴とする付記1~6のいずれかに記載の情報処理装置。
(付記8) 前記WebAPIへのアクセス方法を含む情報は、有効期限情報を含むことを特徴とする付記1~7のいずれかに記載の情報処理装置。
(付記9) 端末と、デバイスと、情報処理装置とがネットワークに接続された情報処理システムであって、
 前記情報処理装置は、
 前記端末から、ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付ける受付部と、
 前記受付部への登録に応じてWebAPIを生成するとともに、該WebAPIへのアクセスに対して前記デバイスと連携して応答する仮想デバイスを生成する生成部と、
 端末を利用したユーザ認証の結果に基づいて、認証したユーザに対応する前記WebAPIへのアクセス方法を含む情報を前記端末に通知する通知部と、
 前記端末からの前記WebAPIへのアクセスを受け付け、前記仮想デバイスを介して前記デバイスにアクセスするアクセス部と、を有する、
ことを特徴とする情報処理システム。
(付記10) コンピュータが、
 ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付け、
 前記登録に応じてWebAPIを生成するとともに、該WebAPIへのアクセスに対して前記デバイスと連携して応答する仮想デバイスを生成し、
 端末を利用したユーザ認証の結果に基づいて、認証したユーザに対応する前記WebAPIへのアクセス方法を含む情報を前記端末に通知し、
 前記端末からの前記WebAPIへのアクセスを受け付け、前記仮想デバイスを介して前記デバイスにアクセスする、
処理を実行することを特徴とする情報処理方法。
(付記11) 前記情報には、ユーザが利用可能なデバイスの機能を更新するために必要な情報が含まれることを特徴とする付記10に記載の情報処理方法。
(付記12) 前記情報には、前記WebAPIへアクセスするためのアドレス情報と、鍵情報が含まれることを特徴とする付記10又は11に記載の情報処理方法。
(付記13) 前記WebAPIへのアクセスを監視し、
 前記監視部の監視結果に基づく処理を実行する、処理を前記コンピュータが更に実行する付記10~12のいずれかに記載の情報処理方法。
(付記14) 前記デバイスにアクセスしたときに取得した情報を記憶しておき、所定時間の間は、記憶してある情報に基づいて前記端末に応答する、処理を前記コンピュータが更に実行する付記10~13のいずれかに記載の情報処理方法。
(付記15) 前記デバイスにアクセスできなかった場合に、所定時間経過後に、前記デバイスに再アクセスすることを特徴とする付記10~14のいずれかに記載の情報処理方法。
(付記16) 前記通知する処理では、前記デバイスの情報に変更があった場合に、前記端末に対して前記WebAPIへのアクセス方法を含む情報の更新を通知することを特徴とする付記10~15のいずれかに記載の情報処理方法。
(付記17) 前記情報は、有効期限情報を含むことを特徴とする付記10~16のいずれかに記載の情報処理方法。
  10 サーバ(情報処理装置)
  20 利用要求受信部(受付部)
  24 監視通知部(実行部)
  40 仮想デバイス制御部(生成部の一部)
  42 WebAPI制御部(生成部の一部)
  44 TD制御部(通知部)
  46 仮想デバイス機能部(アクセス部、応答部)
  60 デバイス
  64 WebAPI監視部(監視部)
  70 ユーザ端末(端末)
  80 ネットワーク
  100 情報処理システム

Claims (17)

  1.   ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付ける受付部と、
     前記受付部への登録に応じてWebAPIを生成するとともに、該WebAPIへのアクセスに対して前記デバイスと連携して応答する仮想デバイスを生成する生成部と、
     端末を利用したユーザ認証の結果に基づいて、認証したユーザに対応する前記WebAPIへのアクセス方法を含む情報を前記端末に通知する通知部と、
     前記端末からの前記WebAPIへのアクセスを受け付け、前記仮想デバイスを介して前記デバイスにアクセスするアクセス部と、を備える情報処理装置。
  2.   前記通知部が通知する前記情報には、ユーザが利用可能なデバイスの機能を更新するために必要な情報が含まれることを特徴とする請求項1に記載の情報処理装置。
  3.   前記通知部が通知する前記情報には、前記WebAPIへアクセスするためのアドレス情報と、鍵情報が含まれることを特徴とする請求項1又は2に記載の情報処理装置。
  4.   前記WebAPIへのアクセスを監視する監視部と、
     前記監視部の監視結果に基づく処理を実行する実行部と、を更に備える請求項1~3のいずれかに記載の情報処理装置。
  5.   前記アクセス部が前記デバイスにアクセスしたときに取得した情報を記憶しておき、所定時間の間は、記憶してある情報に基づいて前記端末に応答する応答部を更に備える請求項1~4のいずれかに記載の情報処理装置。
  6.   前記アクセス部が前記デバイスにアクセスできなかった場合には、所定時間経過後に、前記デバイスに再アクセスすることを特徴とする請求項1~5のいずれかに記載の情報処理装置。
  7.   前記通知部は、前記デバイスの情報に変更があった場合に、前記端末に対して前記WebAPIへのアクセス方法を含む情報の更新を通知することを特徴とする請求項1~6のいずれかに記載の情報処理装置。
  8.   前記WebAPIへのアクセス方法を含む情報は、有効期限情報を含むことを特徴とする請求項1~7のいずれかに記載の情報処理装置。
  9.   端末と、デバイスと、情報処理装置とがネットワークに接続された情報処理システムであって、
     前記情報処理装置は、
     前記端末から、ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付ける受付部と、
     前記受付部への登録に応じてWebAPIを生成するとともに、該WebAPIへのアクセスに対して前記デバイスと連携して応答する仮想デバイスを生成する生成部と、
     端末を利用したユーザ認証の結果に基づいて、認証したユーザに対応する前記WebAPIへのアクセス方法を含む情報を前記端末に通知する通知部と、
     前記端末からの前記WebAPIへのアクセスを受け付け、前記仮想デバイスを介して前記デバイスにアクセスするアクセス部と、を有する、
    ことを特徴とする情報処理システム。
  10.   コンピュータが、
     ユーザが利用可能なデバイス及び利用可能なデバイスの機能の登録を受け付け、
     前記登録に応じてWebAPIを生成するとともに、該WebAPIへのアクセスに対して前記デバイスと連携して応答する仮想デバイスを生成し、
     端末を利用したユーザ認証の結果に基づいて、認証したユーザに対応する前記WebAPIへのアクセス方法を含む情報を前記端末に通知し、
     前記端末からの前記WebAPIへのアクセスを受け付け、前記仮想デバイスを介して前記デバイスにアクセスする、
    処理を実行することを特徴とする情報処理方法。
  11.   前記情報には、ユーザが利用可能なデバイスの機能を更新するために必要な情報が含まれることを特徴とする請求項10に記載の情報処理方法。
  12.   前記情報には、前記WebAPIへアクセスするためのアドレス情報と、鍵情報が含まれることを特徴とする請求項10又は11に記載の情報処理方法。
  13.   前記WebAPIへのアクセスを監視し、
     前記監視部の監視結果に基づく処理を実行する、処理を前記コンピュータが更に実行する請求項10~12のいずれかに記載の情報処理方法。
  14.   前記デバイスにアクセスしたときに取得した情報を記憶しておき、所定時間の間は、記憶してある情報に基づいて前記端末に応答する、処理を前記コンピュータが更に実行する請求項10~13のいずれかに記載の情報処理方法。
  15.   前記デバイスにアクセスできなかった場合に、所定時間経過後に、前記デバイスに再アクセスすることを特徴とする請求項10~14のいずれかに記載の情報処理方法。
  16.   前記通知する処理では、前記デバイスの情報に変更があった場合に、前記端末に対して前記WebAPIへのアクセス方法を含む情報の更新を通知することを特徴とする請求項10~15のいずれかに記載の情報処理方法。
  17.   前記情報は、有効期限情報を含むことを特徴とする請求項10~16のいずれかに記載の情報処理方法。
PCT/JP2018/008297 2017-04-05 2018-03-05 情報処理装置、情報処理システム及び情報処理方法 WO2018186083A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP18781328.2A EP3608824A4 (en) 2017-04-05 2018-03-05 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM AND INFORMATION PROCESSING METHOD
US16/586,875 US11405398B2 (en) 2017-04-05 2019-09-27 Information processing apparatus, information processing system, and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-075322 2017-04-05
JP2017075322A JP6760186B2 (ja) 2017-04-05 2017-04-05 情報処理装置、情報処理システム及び情報処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/586,875 Continuation US11405398B2 (en) 2017-04-05 2019-09-27 Information processing apparatus, information processing system, and information processing method

Publications (1)

Publication Number Publication Date
WO2018186083A1 true WO2018186083A1 (ja) 2018-10-11

Family

ID=63712574

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/008297 WO2018186083A1 (ja) 2017-04-05 2018-03-05 情報処理装置、情報処理システム及び情報処理方法

Country Status (4)

Country Link
US (1) US11405398B2 (ja)
EP (1) EP3608824A4 (ja)
JP (1) JP6760186B2 (ja)
WO (1) WO2018186083A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3629258A1 (en) * 2018-09-28 2020-04-01 Ricoh Company, Ltd. Resource reservation system, terminal setting method, and information processing apparatus
JP2022029306A (ja) * 2020-08-04 2022-02-17 富士通株式会社 ネットワークスイッチ,制御プログラムおよび制御方法
JP7148824B2 (ja) * 2021-03-02 2022-10-06 ダイキン工業株式会社 情報処理装置、情報処理方法、プログラム、及び情報処理システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015530038A (ja) 2012-08-20 2015-10-08 アルカテル−ルーセント 物理オブジェクトと通信デバイスとの間の許可された通信を確立するための方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105453047B (zh) 2013-05-06 2019-12-10 康维达无线有限责任公司 提供物联网(iot)适配服务的***和方法
US10268495B2 (en) * 2016-02-18 2019-04-23 Verizon Patent And Licensing Inc. Virtual device model system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015530038A (ja) 2012-08-20 2015-10-08 アルカテル−ルーセント 物理オブジェクトと通信デバイスとの間の許可された通信を確立するための方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GUINARD, D.: "Building the web of things", BCS, May 2016 (2016-05-01), XP055552271, Retrieved from the Internet <URL:https://www.bcs.org/upload/pdf/the-web-of-things-dguinard-120516.pdf> [retrieved on 20180522] *
SAKAMOTO, TAKUYA ET AL.: "Dynamic connection management between web apps and peripheral devices by web driver", PROC. OF 2016 IEEE INTERNATIONAL CONFERENCE ON PERVASIVE COMPUTING AND COMMUNICATION WORKSHOPS, 2016, XP055552276 *
See also references of EP3608824A4

Also Published As

Publication number Publication date
JP2018180682A (ja) 2018-11-15
US20200028852A1 (en) 2020-01-23
EP3608824A1 (en) 2020-02-12
EP3608824A4 (en) 2020-03-25
JP6760186B2 (ja) 2020-09-23
US11405398B2 (en) 2022-08-02

Similar Documents

Publication Publication Date Title
KR101951973B1 (ko) 자원 액세스 허가 기법
CN105659558B (zh) 计算机实现的方法、授权服务器以及计算机可读存储器
US8776203B2 (en) Access authorizing apparatus
US8688813B2 (en) Using identity/resource profile and directory enablers to support identity management
US20140230020A1 (en) Authorization server and client apparatus, server cooperative system, and token management method
US7454421B2 (en) Database access control method, database access controller, agent processing server, database access control program, and medium recording the program
CN107925668A (zh) 资源驱动的动态授权框架
JP4496220B2 (ja) セキュリティ対応のコンテンツのキャッシュを容易にする方法および装置
US8752187B2 (en) Portable license server
JP7096736B2 (ja) システム、及びデータ処理方法
KR20130007797A (ko) 개방형 인증 방법 및 시스템
US20170230468A1 (en) Systems and Methods for Facilitating Service Provision Between Applications
KR102376254B1 (ko) 분산 식별자 관리 방법 및 장치
US11611551B2 (en) Authenticate a first device based on a push message to a second device
WO2018186083A1 (ja) 情報処理装置、情報処理システム及び情報処理方法
JP2002032216A (ja) アプリケーションのホスティング装置
EP2149848A1 (en) Data distribution system
TW201729121A (zh) 雲端服務伺服器及用來管理一雲端服務伺服器之方法
JP7170550B2 (ja) 管理装置およびその制御方法
WO2016188224A1 (zh) 一种业务授权方法、装置、***及路由器
CN103220261A (zh) 一种开放鉴权应用程序接口代理的方法、装置及***
US11641356B2 (en) Authorization apparatus, data server and communication system
EP2309390B1 (en) Data distribution system
KR102320550B1 (ko) Did 기반 인터체인 시스템 및 그의 데이터 교환/거래 방법
JP2007323235A (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: 18781328

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018781328

Country of ref document: EP

Effective date: 20191105