WO2013076920A1 - マスター機器、連携サービス管理システム、及び連携サービス管理方法 - Google Patents

マスター機器、連携サービス管理システム、及び連携サービス管理方法 Download PDF

Info

Publication number
WO2013076920A1
WO2013076920A1 PCT/JP2012/006896 JP2012006896W WO2013076920A1 WO 2013076920 A1 WO2013076920 A1 WO 2013076920A1 JP 2012006896 W JP2012006896 W JP 2012006896W WO 2013076920 A1 WO2013076920 A1 WO 2013076920A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
application
service
master
master device
Prior art date
Application number
PCT/JP2012/006896
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 CN2012800034134A priority Critical patent/CN103229522A/zh
Priority to US13/880,504 priority patent/US9332061B2/en
Publication of WO2013076920A1 publication Critical patent/WO2013076920A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Definitions

  • a network gateway receives a program from a program distribution site in response to a program update request from a program distribution site or a request from each device connected under the network, and distributes the received program to each device. Techniques to do this are disclosed.
  • Non-Patent Documents 1 and 2 have the problem that (1) a linked service cannot be provided between devices other than fixed combination devices that are known to be combined in advance, such as tablet terminals and televisions. In addition, (2) in each device that executes the cooperation service, it is necessary to install an application for realizing the cooperation service from an external network having an access point such as the Internet.
  • a master device is a master device that manages a cooperation service that is executed by linking a plurality of devices to each other in an autonomous distributed network, and executes each cooperation service with respect to the plurality of cooperation services.
  • a collaborative service information management unit for managing collaborative service information defining information related to an application required by the device and specification requirements of the device required for executing the application, and the autonomous distributed network
  • a device information acquisition unit that acquires device information that defines the specifications of peripheral devices from one or more peripheral devices detected via the device, and one or more client devices to be used for the cooperation service from the peripheral devices Establish a network connection with the determined client device A management unit; a cooperation service determination unit that determines an execution target cooperation service based on an instruction from a user from among the cooperation services defined in the cooperation service information; device information of the client device; and the execution target
  • An application determining unit that determines an application of the client device based on the specification requirements of the cooperative service, an application distributing unit that distributes the application determined by the application determining unit to the client device, and the application
  • Embodiment 1 The cooperative service management system according to Embodiment 1 of the present invention constructs an autonomous decentralized network with surrounding devices in an environment where there is no access point for connecting to an external network, and maintains the specifications (performance) of each device. Deliver compatible applications to each device to realize a linked service.
  • an autonomous decentralized network is a network in which a large number of terminals autonomously decentrally play the same role as a router and do not depend on an access point or a base station, and realize daisy chain communication. Applicable to the network.
  • the cooperative service management system 1001 is realized by a plurality of devices that execute cooperative services while communicating with each other.
  • the cooperation service there is a service in which one image is divided and displayed by the master device 1101 and one or a plurality of client devices 1201.
  • the program recorded in the recording medium is a program for realizing, for example, processing related to a sequence described later in the present embodiment, and operation of elements constituting a device that executes the cooperation service.
  • the device that executes the linkage service is equipped with either or both of the master side function and the client side function.
  • one device executes the master side function to become the master device 1101, and the other one or more devices execute the client side function to become the client device 1201.
  • the master device 1101 and the client device 1201 are connected by a network NT.
  • a wireless network such as WiFi (registered trademark) or WiFiDirect will be described as an example of the network NT.
  • the network NT may be a wired network, a wireless network other than WiFi (registered trademark) and WiFiDirect, or a wired network and a wireless network. You may adopt the network where is mixed.
  • the WiFi standard is defined by, for example, the WiFi Alliance.
  • WiFi Alliance an infrastructure mode in which devices communicate via an access point (AP) and an ad hoc mode in which devices directly communicate with each other are defined.
  • AP access point
  • ad hoc mode in which devices directly communicate with each other are defined.
  • the master device 1101 and the client device 1201 select the ad hoc mode, the network NT becomes an ad hoc network.
  • the master device 1101 determines a client device 1201 that establishes a network connection from the peripheral devices, transmits a connection request to the determined client device 1201, and executes a cooperation service (hereinafter referred to as UI (user interface)). And the determined UI application is distributed to the client device 1201, and the client device 1201 is instructed to execute the UI application.
  • UI user interface
  • the client device 1201 receives a connection request from the master device 1101, decides to participate in the ad hoc network, receives the UI application distributed from the master device 1101, receives the instruction from the master device 1101, and receives it Start the UI application.
  • the master device 1101 has the following functions (1) to (5).
  • Linked service information that specifies information about UI applications required for each device when executing each linked service and the specification requirements of each device required to execute the UI application for a plurality of linked services Function for managing (see FIG. 4).
  • the specification requirement defined in the cooperation service information is compared with the device information of the peripheral device, the executable cooperation service is extracted, the list of the extracted cooperation services is presented to the user, and based on the user's instruction, A function of determining a cooperation service to be executed and starting a UI application on the master side for executing the determined cooperation service.
  • the client device 1201 has the following functions (1) and (2).
  • a function of receiving a connection request from the master device 1101 and participating in the network of the cooperation service (1) A function of receiving a connection request from the master device 1101 and participating in the network of the cooperation service.
  • the master device 1101 includes a device connection management unit 1102, a linked service configuration management unit 1103, a linked service lifecycle management unit 1104, a content sharing unit 1105, a UI application execution engine 1106, an application 1107, and a network communication unit 1108.
  • the device connection management unit 1102 includes a device information acquisition unit 1121 and a connection management unit 1122.
  • the device information acquisition unit 1121 acquires device information from a peripheral device via an ad hoc network. Further, the device information acquisition unit 1121 acquires device information from the peripheral device in response to a request from each component included in the master device 1101, and provides the acquired device information to each component.
  • FIG. 2 is a diagram illustrating an example of device information that the device information acquisition unit 1121 acquires from the peripheral device. As shown in FIG. 2, the device information includes columns 2011 to 2013.
  • a column 2011 the category name of the device information is described.
  • a column 2012 describes each element name of the device information.
  • a column 2013 describes the value of each element.
  • a row 2001 describes a device identifier.
  • the device identifier is information for uniquely identifying a device. For example, UDN (Unique Device Name) is adopted as the device identifier.
  • the device type / function information includes information that can be interpreted by the master device 1101 and that is used to determine a device to be connected, a link service, and a UI to be distributed. Specifically, as device type / function information, device type (device type), manufacturer (manufacturer), model name (model name), model number (model number), installed OS (OS), resolution (resolution) , And support functions (support_function).
  • UPnP Universal Plug and Play
  • Device description Device description
  • the device information shown in FIG. 2 further describes elements of the installed OS, resolution, and support function shown in rows 2009 to 2011.
  • the installed OS indicates the name of the operation system installed in the device.
  • the resolution indicates the resolution of the display of the device.
  • the support function indicates a function supported by the device, such as whether it has a client function, a master function, or a touch operation function.
  • the device information may be other information as long as it is information that can be used to determine a device to be connected, a cooperative service, and a UI application to be distributed.
  • the device information acquisition unit 1121 obtains device information using a protocol such as device search or service search prescribed in WiFiDirect, for example, when acquiring device information from a peripheral device that has not established a network connection. Get it.
  • a protocol such as device search or service search prescribed in WiFiDirect
  • the device information acquisition unit 1121 is, for example, a device search or service search protocol specified in WiFiDirect, or a device discovery protocol specified in UPnP or the like.
  • the device information may be acquired using.
  • any protocol may be adopted as long as it is a protocol that can acquire the above device information and is common among devices that construct the cooperative service management system 1001.
  • the connection management unit 1122 determines the client device 1201 from the peripheral devices, makes a connection request to the client device 1201, and establishes a network connection according to a response from the client device 1201.
  • connection management unit 1122 may establish a network connection with the client device 1201 using, for example, a protocol specified for WiFiDirect.
  • the cooperation service configuration management unit 1103 includes a cooperation service information management unit 1131, a cooperation service determination unit 1132, a distribution script determination unit 1133 (an example of an application determination unit), and a script distribution unit 1134 (an example of an application distribution unit).
  • the cooperation service is a service executed by a plurality of devices in cooperation with each other.
  • the cooperation service is a service realized by connecting one master device 1101 and one or a plurality of client devices 1201.
  • a UI application executed on each device is required.
  • the UI application is an application for realizing a UI (user interface) in each device constituting the cooperation service.
  • This UI application is described in a script language such as Javascript (registered trademark), for example.
  • the UI application activated on the master device 1101 is referred to as a master UI (master UI, an example of a master application), and the UI application activated on the client device 1201 is referred to as a client UI (an example of a client UI, client application).
  • the master UI is an application that is activated first after the cooperation service is selected in the master device 1101.
  • the master UI performs processing for establishing a network connection between the client device 1201 and the master device 1101 to construct a network, processing for distributing the client UI to the client device 1201, and instructing activation of the distributed client UI. .
  • the client UI is an application that is activated in the client device 1201 in response to an activation instruction from the master device 1101.
  • a service select UI Service Select UI
  • the service select UI is an application that is executed when a plurality of cooperative services exist in the master device 1101, and is an application that selects one cooperative service to be executed from the plurality of cooperative services.
  • FIG. 3 is a schematic diagram showing an example of a cooperative service configuration according to Embodiment 1 of the present invention.
  • the cooperation service information management unit 1131 manages one service select UI, a plurality of cooperation services, and UI applications (master UI or client UI) constituting each cooperation service.
  • the master device 1101 first activates the service select UI, and when the service select UI selects the cooperation service, the master device 1101 activates the master UI constituting the selected cooperation service.
  • the master device 1101 includes two cooperation services 3001 and 3002.
  • the cooperation service 3001 is a cooperation service performed by the master device 1101 and the two client devices 1201.
  • the cooperation service 3002 is a cooperation service performed by the master device 1101 and one client device 1201.
  • the master UI of the cooperation service 3001 is activated.
  • the service select UI selects the cooperation service 3002 based on a user instruction
  • the master UI of the cooperation service 3002 is activated.
  • the master device 1101 may directly activate the master UI constituting the cooperative service without activating the service select UI.
  • the master UI, client UI, and service select UI constitute the application 1107, and are realized by the script data being decoded by the UI application execution engine 1106.
  • FIG. 4 is a diagram illustrating an example of cooperative service information managed by the cooperative service information management unit 1131.
  • the linked service information includes a linked service list 4001 and a UI application list 4002.
  • the cooperation service list 4001 is a table for storing information related to cooperation services that can be executed by the master device 1101, and includes fields of a service ID, a service version, a service name, a description, and a UI application list.
  • an identification code uniquely assigned to each cooperative service is stored.
  • the service version field the version name of each cooperative service is stored.
  • a name for each cooperative service is stored.
  • a character string describing a brief description of each cooperative service is stored.
  • a UI application list 4002 for each cooperative service is stored in the UI application list field.
  • the UI application list 4002 includes a field of UI application information necessary for the master device 1101 and the client device 1201 when executing the cooperation service, and a field of device specification requirements required when executing each UI application. It is a table provided.
  • the UI application information field is further divided into an ID field, a UI type (UI Type) field, and a file path (File path) field.
  • ID field an identification code uniquely assigned to each UI application is stored.
  • UI type field information indicating whether the UI application is a master UI or a client UI is stored.
  • the UI application is a master UI
  • “Master_UI” is stored in the UI type field
  • the UI application is a client UI
  • “Client_UI” is stored in the UI type field.
  • file path field a file path indicating the storage location of each UI application is stored.
  • Spec requirement fields are further divided into device type (Device Type), manufacturer name (Manufacturer), OS, resolution, and support function fields.
  • the device type field stores the type of device.
  • the manufacturer name field stores the manufacturer name of the device.
  • the OS field stores the name of the OS mounted on the device is stored.
  • the resolution field the resolution of the device is stored. For example, “0-320 px (smart phone)” is stored in the resolution field of the row 4021.
  • the smartphone is required to have a resolution of 320 pixels or less.
  • “321-900 px (tablet)” is stored in the resolution field of the row 4022.
  • the tablet application is required to have a resolution of 321 pixels or more and 900 pixels or less.
  • the functions of the device are stored.
  • the “function cooperation side function, touch operation” is stored in the support function field in the row 4021.
  • the touch operation is possible and the device has the function of the master device 1101 illustrated in FIG.
  • the cooperation service information is not limited to the example in FIG. 4, and any information can be used as long as it can determine a cooperation service to be executed and can determine a UI application to be distributed to each device. A thing may be adopted.
  • the cooperation service determination unit 1132 determines an execution target cooperation service from the cooperation services defined in the cooperation service information, based on an instruction from the user.
  • the cooperation service determination unit 1132 may determine the cooperation service using the service determination methods 1 and 2 described below.
  • the service determination method 1 is a method in which the cooperation service determination unit 1132 determines the cooperation service before the connection management unit 1122 determines the client device 1201.
  • the cooperation service determination unit 1132 can execute the device information by comparing the device information of one or more peripheral devices acquired by the device information acquisition unit 1121 with the specification requirements defined in the cooperation service information shown in FIG. Extract linked services. Then, the cooperation service determination unit 1132 makes a selection request for the extracted cooperation service to the application 1107 (service selection UI). The application 1107 presents the extracted cooperative service to the user, and notifies the cooperative service determination unit 1132 of the cooperative service instructed by the user. Then, the cooperation service determination unit 1132 determines the notified cooperation service as the execution target cooperation service.
  • the application 1107 displays a list of cooperative services extracted by the cooperative service determination unit 1132 on a display device (not shown). Then, the application 1107 operates a controller device (not shown) and accepts a cooperation service instructed by the user. Then, the application 1107 notifies the cooperation service determination unit 1132 of the received cooperation service.
  • the cooperation service determination unit 1132 determines that the photo exchange service is a cooperation service that can be executed. do it.
  • connection management unit 1122 compares the specification requirement of the cooperation service to be executed with the device information of the peripheral device, and determines the client device 1201 used for the cooperation service to be executed.
  • the connection management unit 1122 determines that the peripheral device having the device information satisfying the specification requirements of the row 4022 or the row 4023 is the client device 1201. Good.
  • connection management unit 1122 presents the peripheral device to the user via the application 1107 when there are a plurality of peripheral devices satisfying the specification requirements of the row 4022 or the row 4023, and the one or more peripheral devices selected by the user.
  • the device may be determined as the client device 1201.
  • connection management unit 1122 notifies the application 1107 of a display request for a list of a plurality of peripheral devices that satisfy the specification requirements. Then, the application 1107 displays a list of a plurality of peripheral devices on a display device (not shown). Then, the application 1107 operates a controller device (not shown) and receives a peripheral device instructed by the user. Then, the application 1107 notifies the connection management unit 1122 of the received peripheral device.
  • an executable cooperative service is extracted from the specifications of the peripheral device. Then, the user can select an execution target cooperation service from the extracted cooperation services. Therefore, it is possible to prevent a situation in which there is no peripheral device that satisfies the specification requirement of the cooperation service selected by the user. As a result, it is possible to avoid a situation in which the cooperation service selected by the user cannot be executed.
  • the service determination method 2 is a method in which the connection management unit 1122 first determines the client device 1201, and then the cooperation service determination unit 1132 determines the cooperation service.
  • connection management unit 1122 determines the client device 1201 by presenting device information of the peripheral device to the user and receiving an instruction to select the client device 1201 from the user.
  • the cooperation service determination unit 1132 collates the device information of the client device 1201 with the specification requirements defined in the cooperation service information, extracts an executable cooperation service, and uses the extracted cooperation service as an application 1107 (service select).
  • the user is presented to the user via the UI), and the cooperation service to be executed is determined based on an instruction from the user.
  • the cooperation service determination unit 1132 notifies the application 1107 of a display request for a list of extracted cooperation services. Then, the application 1107 displays a list of cooperative services on a display device (not shown). Then, the application 1107 operates a controller device (not shown) and accepts a cooperative service instructed by the user as a cooperative application to be executed.
  • the cooperation service determination unit 1132 may notify the application 1107 of the cooperation service information and leave the determination of the cooperation service to the application 1107.
  • the application 1107 may determine the execution target cooperation service using the service determination method 1 or the service determination method 2 in the same manner as the cooperation service determination unit 1132.
  • the delivery script determination unit 1133 compares the device information of the client device 1201 with the specification requirements of the cooperation service to be executed, and determines the client UI of the client device 1201.
  • the distribution script determination unit 1133 may determine the client UI using the following application determination methods 1 and 2.
  • the application determination method 1 is a method in which the distribution script determination unit 1133 itself determines the client UI by referring to the specification requirements of the cooperative service information (see FIG. 4) and the device information of the client device 1201.
  • the device information acquisition unit 1121 acquires device information of OS “OS_A”, resolution “321-900 px (tablet)”, and support function “cooperation client side function, touch operation”.
  • the distribution script determination unit 1133 determines the client UI in the row 4022 as the client UI of the client device 1201 having this device information.
  • client UI candidates exist for a certain client device 1201.
  • device information of OS “OS_A”, resolution “321-900 px (tablet)”, support function “device cooperation client side function, touch operation” is acquired by the device information acquisition unit 1121, and this specification requirement is satisfied.
  • client device 1201 having this device information has a plurality of client UI candidates.
  • the distribution script determination unit 1133 requests the application 1107 (master UI) to determine the client UI. Then, the application 1107 may present a plurality of client UI candidates to the user, and may determine the client UI that delivers the client UI selected by the user.
  • the application 1107 displays a list of a plurality of client UI candidates on a display device (not shown). Then, the application 1107 may determine the client UI instructed by the user by operating the operation device (not shown) as the client UI selected by the user.
  • the application 1107 may determine one client UI from among a plurality of client UI candidates according to a predetermined standard determined by itself.
  • the predetermined standard a standard determined in advance according to the purpose, use, or user preference of the linked service may be adopted. As described above, when there are a plurality of client UI candidates, it is possible to determine a client UI that conforms to the criteria of the application 1107 by leaving the determination of the client UI to the application 1107, and to determine the client UI flexibly. be able to.
  • the application determination method 2 is a method in which the distribution script determination unit 1133 notifies the application 1107 (master UI) of cooperative service information, and entrusts the application 1107 to determine the client UI of each client device 1201.
  • the application 1107 may determine the client UI using the method described in the application determination method 1, that is, the same method as the method in which the distribution script determination unit 1133 determines the client UI. In this manner, by delegating the determination of the client UI to the application 1107, for example, when there are a plurality of client UI candidates for a certain client device 1201, data is transmitted and received between the application 1107 and the distribution script determination unit 1133.
  • One client UI can be determined without doing so.
  • the script distribution unit 1134 distributes the client UI determined by the distribution script determination unit 1133 to each client device 1201.
  • the script distribution unit 1134 receives the instruction from the application 1107 (service select UI or master UI) and distributes the script determined by the distribution script determination unit 1133 to each device.
  • the script distribution unit 1134 provides an API (Application Program Interface) for distributing the client UI to the application 1107, and distribution is performed by specifying the ID of the cooperation service to be executed from the application 1107.
  • the client UI determined by the script determination unit 1133 is distributed to each client device 1201.
  • the script distribution unit 1134 distributes the client UI using the distribution methods 1 and 2.
  • the distribution method 1 is a method of distributing script data of the client UI to the client device 1201 and storing it in a storage device (local area) included in the client device 1201. In this case, when a client UI activation instruction is given, the client device 1201 activates the client UI stored in the local area.
  • the distribution method 2 is a method for causing the master device 1101 to execute the function of the HTTP server, and transmitting the client UI URI (Uniform Resource Identifier) held by the master device 1101 to the client device 1201.
  • the client device 1201 activates the client UI by specifying the URI of the client UI held in the master device 1101.
  • the ID of the cooperation service to be executed and the ID of the client UI are transmitted to the client device 1201. Then, the client device 1201 can start the client UI by designating the cooperation service ID and the client UI ID when starting the client UI.
  • the following three distribution methods 2-1 to 2-3 can be adopted.
  • the script distribution unit 1134 transmits the ID of the cooperation service to be executed and the ID of the client UI to the client device 1201 when transmitting the URI of the client UI.
  • the cooperation service life cycle management unit 1104 designates the ID of the cooperation service to be executed or the ID of the distributed client UI, and instructs the client device 1201 to start the client UI.
  • the script distribution unit 1134 does not transmit the ID of the cooperative service to be executed and the ID of the client UI to be distributed when transmitting the URI of the client UI, but the distributed service lifecycle management unit 1104 distributes when the client UI is activated.
  • the client UI 1201 is instructed to start the client UI 1201 by specifying the URI of the client UI.
  • the distribution method 2-3 is a method of integrating the URI transmission process of the client UI and the client UI activation request into one process.
  • the script distribution unit 1134 does not transmit the URI of the client UI
  • the cooperative service life cycle management unit 1104 designates the URI of the client UI and instructs the client device 1201 to start the client UI.
  • the script distribution unit 1134 may adopt the following configuration.
  • the script distribution unit 1134 obtains the client UI ID and client UI version stored from the script reception unit 1231 of the client device 1201, and the obtained client UI ID and version are obtained by the delivery script determination unit 1133. It is determined whether or not the determined client UI ID and version match. If the script distribution unit 1134 determines that the client UI ID and version do not match, the script distribution unit 1134 may distribute the script data of the client UI. On the other hand, if the script distribution unit 1134 determines that the client UI ID and version match, the script distribution unit 1134 may not distribute the script data of the client UI.
  • the cooperative service life cycle management unit 1104 performs execution control of UI applications constituting the cooperative service.
  • the linked service life cycle management unit 1104 has the following functions.
  • the linked service life cycle management unit 1104 starts and ends the synchronization of the master UI and the client UI distributed to each client device 1201. In this case, when the service ID of the cooperation service is specified from the master UI and the synchronous activation or synchronization end is instructed from the master UI, the cooperation service life cycle management unit 1104 The client UI is activated or terminated synchronously.
  • the linked service life cycle management unit 1104 detects the end of the client UI from any of the client devices 1201 that execute the client UI constituting the linked service.
  • the linked service life cycle management unit 1104 performs an API for synchronously starting and ending the client UI, an API for acquiring the IP address of the client device 1201 that is executing the client UI, and the termination of the client UI. Provides an API for detection.
  • the script distribution unit 1134 uses the method of the distribution method 1, the following method may be adopted for the synchronous activation of the UI applications constituting the cooperation service.
  • the linked service life cycle management unit 1104 delivers the master UI URI to the UI application execution engine 1106 to give a start instruction, and delivers the client UI ID to the client side life cycle management unit 1204 of each client device 1201.
  • the start instruction may be performed.
  • the script distribution unit 1134 uses the method of the distribution method 2
  • the following method may be adopted for the synchronous activation of the UI applications that constitute the cooperation service.
  • the linked service life cycle management unit 1104 delivers the master UI URI to the UI application execution engine 1106 and gives a start instruction
  • the client side life cycle management unit 1204 of each client device 1201 receives the client on the master device 1101.
  • the activation instruction may be given by handing over the UI ID or URI.
  • the linked service life cycle management unit 1104 delivers the master UI URI to the UI application execution engine 1106 and gives a start instruction
  • the client side life cycle management unit 1204 of each client device 1201 receives the client on the master device 1101.
  • the activation instruction may be given by handing over the URI of the UI.
  • the cooperation service life cycle management unit 1104 may instruct the UI application execution engine 1106 and the client side life cycle management unit 1204 of each client device 1201 to terminate.
  • the content sharing unit 1105 provides a function in which the master device 1101 shares content such as photos and videos with the client device 1201.
  • Content sharing is realized by using, for example, Content Directory Service of DLNA (Digital Living Network Alliance).
  • the content sharing unit 1105 displays content between the master device 1101 and the client device 1201 (displays the content of the client device 1201 on the master device 1101), downloads the content (contents of the client device 1201 are displayed on the master device 1101). And uploading the content (copying the content of the master device 1101 to the client device 1201).
  • the UI application execution engine 1106 implements the application 1107 by specifying the URI that is the location of the script data of the UI application executed by the master device 1101 such as the master UI and loading the script data of the master UI from the specified URI. To do.
  • the UI application execution engine 1106 provides, for example, an API such as drawing provided by a browser corresponding to HTML5 and an API provided by PhoneGap to the application 1107.
  • the application 1107 is realized by loading script data into the UI application execution engine 1106, and includes a device connection management unit 1102, a cooperative service configuration management unit 1103, a cooperative service lifecycle management unit 1104, a content sharing unit 1105, and a UI application.
  • Various processes are executed using an API provided by the execution engine 1106.
  • the service select UI and master UI constituting the application 1107 are activated by the UI application execution engine 1106.
  • the network communication unit 1108 includes, for example, a communication module corresponding to the ad hoc mode and the infrastructure mode. Data to be transmitted is passed from each component configuring the master device 1101, and the passed data is sent to the client device 1201. In addition to transmission, the data transmitted from the client device 1201 is captured and supplied to each component. In addition, the master device 1101 has a function of transmitting and receiving data according to DLNA and a function of starting an HTTP server.
  • the master device 1101 includes a device information acquisition unit 1121, a connection management unit 1122, a cooperation service determination unit 1132, a distribution script determination unit 1133, a script distribution unit 1134, a cooperation service lifecycle management unit 1104, and a content sharing unit 1105. , And from the UI application execution engine 1106, the data to be transmitted is fetched.
  • the client device 1201 includes a client-side device connection management unit 1202, a client-side service configuration management unit 1203, a client-side lifecycle management unit 1204, a content sharing unit 1105, a UI application execution engine 1106, an application 1207, and a network communication unit 1208. .
  • the content sharing unit 1105 and UI application execution engine 1106 provided in the client device 1201 have the same functions as the content sharing unit 1105 and UI application execution engine 1106 provided in the master device 1101, and thus description thereof is omitted.
  • the client side device connection management unit 1202 includes a device information providing unit 1221 and a client side connection management unit 1222.
  • the device information providing unit 1221 returns the device information of the client device 1201 in response to the request from the device information acquisition unit 1121 of the master device 1101.
  • the device information has been described above with reference to FIG.
  • the client side connection management unit 1222 receives a connection request from the connection management unit 1122 of the master device 1101, determines whether to connect to the ad hoc network, and responds to the connection management unit 1122 of the master device 1101 with the determination result. .
  • connection request from the master device 1101 to the client device 1201 and the response to the master device 1101 are realized, for example, according to a protocol defined in WiFiDirect.
  • the determination as to whether or not to connect is performed by displaying information on the master device 1101 that has requested connection on a display device (not shown), and presenting whether or not the user agrees to the connection request, and the operation device. It may be determined based on a user instruction input by operating (not shown).
  • the script reception unit 1231 receives and records the client UI distributed from the script distribution unit 1134 of the master device 1101.
  • the script reception unit 1231 may record the script data of the client UI transmitted from the script distribution unit 1134.
  • the script reception unit 1231 determines whether the ID and version of the client UI scheduled to be distributed match the ID and version of the stored client UI when the client UI is distributed from the script distribution unit 1134 of the master device 1101.
  • the client UI may be saved only when they match each other.
  • the script reception unit 1231 returns the stored client UI ID and version in response to an inquiry from the script distribution unit 1134 of the master device 1101, and sends the ID and version of the client UI to be distributed to the script distribution unit 1134. It is determined whether the version matches the ID and version of the client UI stored in the client device 1201. The script receiving unit 1231 may receive the client UI only when they do not match.
  • the script receiving unit 1231 acquires the ID and version of the client UI scheduled to be distributed from the script distribution unit 1134 of the master device 1101, and determines whether or not the ID and version of the stored client UI match.
  • the client UI may be received only when they do not match.
  • the client side life cycle management unit 1204 determines the client UI recording destination URI received by the script distribution unit 1134 of the client device 1201. The UI application execution engine 1106 is notified and the client UI is activated.
  • the client-side lifecycle management unit 1204 may adopt the following configuration.
  • the client-side life cycle management unit 1204 receives the service ID of the cooperation service and the client UI ID delivered from the cooperation service life cycle management unit 1104 of the master device 1101, and the service ID of the cooperation service received by the script reception unit 1231. In addition, it may be determined whether there is a match with the ID of the client UI, and the client UI may be activated when it is determined that they match.
  • the client-side lifecycle management unit 1204 terminates the client UI on its own device
  • the client-side end notification is sent to the cooperative service lifecycle management unit 1104 of the master device 1101 using the IP address of its own device as an argument. I do.
  • the application 1207 is realized by the UI application execution engine 1106 of the client device 1201 decoding the script data of the client UI, and uses an API provided by the content sharing unit 1105 and the UI application execution engine 1106 provided in the client device 1201. Various processes are executed.
  • the network communication unit 1208 includes, for example, a communication module that supports the ad hoc mode and the infrastructure mode. Data to be transmitted is passed from each component configuring the client device 1201, and the passed data is sent to the client device 1201. In addition to transmission, the data transmitted from the master device 1101 is captured and supplied to each component. In addition, the client device 1201 has a function of transmitting and receiving data in accordance with DLNA and a function of starting an HTTP client. The configuration of the master device 1101 and the client device 1201 in the present embodiment has been described above.
  • a device connection management unit 1102 a cooperative service configuration management unit 1103, a cooperative service lifecycle management unit 1104, a content sharing unit 1105, and a UI application execution engine 1106 are configured by a program and executed by a CPU. Is done.
  • the cooperative service information management unit 1131 constituting the cooperative service configuration management unit 1103 is configured by a storage device such as a hard disk and a program for controlling the storage device, and is executed by the CPU.
  • the network communication unit 1108 includes a communication module and a program that controls the communication module, and is executed by the CPU. These programs are stored in a storage device (not shown) such as a hard disk as a master device program for causing the computer to function as a master device, and loaded into the CPU.
  • the master device program is recorded on a computer-readable recording medium such as a DVD-ROM and provided to the user.
  • the master device program may be provided to the user by being held in a server connected via a network and downloaded.
  • blocks other than the application 1107 of the master device 1101 shown in FIG. 1 may be configured by a dedicated hardware circuit.
  • each block may be integrated on one chip to form an integrated circuit.
  • a client side device connection management unit 1202, a client side service configuration management unit 1203, a client side life cycle management unit 1204, a content sharing unit 1105, and a UI application execution engine 1206 are configured by a program, and are stored in the CPU.
  • the network communication unit 1108 includes a communication module and a program that controls the communication module, and is executed by the CPU. These programs are stored in a storage device (not shown) such as a hard disk as a client device program that causes the computer to function as a client device, and loaded into the CPU.
  • the client device program is recorded on a computer-readable recording medium such as a DVD-ROM and provided to the user. Further, the client device program may be provided to the user by being held in a server connected via a network and downloaded.
  • blocks other than the application 1207 of the master device 1101 shown in FIG. 1 may be configured by a dedicated hardware circuit.
  • each block may be integrated on one chip to form an integrated circuit.
  • FIG. 5 is a sequence diagram illustrating an example of processing relating to determination of a cooperative service, establishment of a network connection, and determination of a client UI.
  • the master device 1101 activates the starter in response to a start instruction from the user.
  • a start instruction from the user for example, as shown in FIG. 9, an instruction 9001a of “device cooperation portal” is displayed on the display device (not shown) of the master device 1101, and the user is allowed to touch the icon 9001a. Is adopted.
  • the starter corresponds to the activity class.
  • the starter requests the cooperation service determination unit 1132 to start the service select UI (S5001).
  • the cooperation service determination unit 1132 acquires the URI of the service select UI managed by the cooperation service information management unit 1131 (S5002), designates the URI to the UI application execution engine 1106, and issues a service selection UI activation instruction. (S5003).
  • the UI application execution engine 1106 reads the script data of the service select UI from the specified URI, and activates the service select UI as the application 1107.
  • the service select UI uses the API provided by the cooperative service information management unit 1131 to the application 1107, requests the cooperative service information management unit 1131 to acquire the cooperative service information (S5004), and acquires the cooperative service information. To do.
  • the service select UI acquires the device information of the peripheral device via the device connection management unit 1102 using the API provided by the device connection management unit 1102 (S5005).
  • the service select UI collates the acquired device information with the cooperation service information, extracts an executable cooperation service, presents the extracted cooperation service to the user, and executes an execution target based on an instruction from the user.
  • a cooperation service is determined (S5005A).
  • the service select UI displays a list of the extracted cooperative services on the display of the master device 1101 as shown in FIGS. 10A and 10B, and allows the user to touch any of the cooperative services to cooperate. What is necessary is to decide a service.
  • the display of the master device 1101 displays a list of icons 1011a and 1011b indicating linked services of “moving image reproduction” and “photo exchange”.
  • icons 1013a to 1013c indicating linked services of “moving image reproduction”, “photo exchange”, and “travel plan” are displayed in a list. The user selects a cooperation service by touching a desired cooperation service icon from these icons.
  • the service select UI notifies the service ID of the cooperation service to be executed to the cooperation service determination unit 1132 (S5006).
  • the cooperation service determination unit 1132 refers to the UI application list 4002 of the cooperation service to be executed from the cooperation service information managed by the cooperation service information management unit 1131 and obtains a URI whose UI type is “Master_UI”. (S5007).
  • the cooperation service to be executed is “photo exchange”
  • “S001 / V03 / APP01master_index.html” stored in the file path is acquired as a URI.
  • the cooperation service determination unit 1132 displays information that the selected cooperation service cannot be executed on a display device (not shown). The user is informed that the selected linkage service cannot be executed. And the cooperation service determination part 1132 should just stop execution of a cooperation service.
  • the cooperation service determination unit 1132 designates the acquired URI to the UI application execution engine 1106 and issues a master UI activation instruction (S5008).
  • the UI application execution engine 1106 reads the script data of the master UI from the designated URI, and starts the master UI as the application 1107.
  • the master UI acquires the UI application list 4002 of the cooperation service to be executed from the cooperation service information management unit 1131 using the API provided to the application 1107 by the cooperation service information management unit 1131 (S5009).
  • the master UI collates the device information with the UI application list 4002, and determines the client device 1201 that makes a connection request (S5011A). For example, if the UI application list 4002 illustrated in FIG. 4 is acquired, a peripheral device that satisfies the specification requirements in the row 4022 or the row 4023 is determined as the client device 1201.
  • the master UI makes an inquiry to the user by displaying a list of peripheral devices satisfying the specification requirements on a display device (not shown). Then, the master UI may determine the peripheral device designated by the user as the client device 1201 by operating an operating device (not shown) as the peripheral device for establishing the network connection.
  • the master UI requests the device connection management unit 1102 to make a connection request to the client device 1201 using an API provided by the device connection management unit 1102 to the application 1107 (S5012).
  • the device connection management unit 1102 Upon receiving the connection request request from the master UI, the device connection management unit 1102 makes a connection request to the client-side device connection management unit 1202 (S5013).
  • the client-side device connection management unit 1202 displays information indicating that there is a connection request from the master device 1101 on a display device (not shown), and presents to the user that there is a connection request.
  • the client-side device connection management unit 1202 receives an instruction from the user as to whether or not to agree to the connection request, and returns an instruction result to the connection management unit 1122 (S5013A).
  • the client-side device connection management unit 1202 displays, for example, the user name of the master device 1101 that has requested connection on the display device (not shown) of the client device 1201, and informs the user that there has been a connection request.
  • an agreement button and a rejection button are displayed on a display device (not shown), and the user may input whether or not to accept the connection request by touching the consent button or the rejection button.
  • the device connection management unit 1102 Upon receipt of the response, the device connection management unit 1102 passes the device information and IP address of the client device 1201 that has transmitted the instruction result to the master UI when receiving the instruction result for agreeing to the connection request (S5013B).
  • the master UI designates the service ID of the cooperation service to be executed and the IP address list of the client device 1201 that has established the network connection, and requests the cooperation service determination unit 1132 to determine the client UI (S5014). ).
  • the cooperation service determination unit 1132 acquires the UI application list 4002 of the cooperation service to be executed from the cooperation service information management unit 1131 (S5015).
  • the distribution script determination unit 1133 collates the device information of each client device 1201 with the specification requirements of the cooperation service information, and determines a client UI to be distributed to each client device 1201 (S5016).
  • the distribution script determination unit 1133 designates a client UI candidate and sets the client UI as a master UI. Is inquired to determine (S5017). The master UI that has received this inquiry determines a client UI suitable for the client device 1201 from the client UI candidates of the client device 1201 that has made the inquiry, and notifies the distribution script determination unit 1133 of the determination result.
  • the distribution script determination unit 1133 determines the client UI.
  • the master UI collates the UI application list 4002 and the device information of each client device 1201 to check the client of each client device 1201. The UI may be determined.
  • the distribution script determination unit 1133 finally determines the client UI of each client device 1201 (S5018), and notifies the master UI of the determination (S5019). If the distribution script determination unit 1133 can uniquely determine the client UI of each client device 1201 in S5016, the distribution script determination unit 1133 may notify the master UI of the determination in S5017.
  • the master UI performs the network connection establishment and the client UI determination request.
  • the present invention is not limited to this. That is, the service select UI establishes a network connection and determines a cooperation service, and activates the master UI. Thereafter, the order in which the master UI requests the client script 1201 specifying the IP address list of the client device 1201 to the distribution script determination unit 1133 may be used.
  • FIG. 6 is a sequence diagram subsequent to FIG. 5 and is a sequence diagram when the above-described distribution method 1 is adopted.
  • the master UI designates the IP address list of the client device 1201, the service ID of the cooperation service to be executed, and the ID of the client UI using the API provided by the script distribution unit 1134, and distributes the distribution request to the script.
  • the process is performed on the unit 1134 (S6001).
  • the script distribution unit 1134 acquires the script data of the client UI to be distributed to each client device 1201 from the cooperation service determination unit 1132 (S6002).
  • the script distribution unit 1134 distributes information such as the client UI script data, the client UI ID, and the service ID of the cooperation service to be executed to the script reception unit 1231 of each client device 1201 (S6003).
  • the script receiving unit 1231 records the received client UI script data, service ID, client UI ID, and other information (S6004).
  • the script reception unit 1231 may cache the client UI script data in the cache area of the client device 1201, or may install the client UI script data in the persistent area of the client device 1201. Good.
  • the script reception unit 1231 sends a script data recording end notification to the master UI via the script distribution unit 1134 (S6004A).
  • the master UI uses the API provided by the cooperation service lifecycle management unit 1104 to make a request to start the cooperation service to be executed to the cooperation service lifecycle management unit 1104 (S6005).
  • This activation request includes the IP address list of each client device 1201.
  • the cooperation service life cycle management unit 1104 that has received the activation request from the master UI sends the service ID of the cooperation service to be executed, the ID of the client UI, and the IP of each client device 1201 to the client side life cycle management unit 1204.
  • the address list is notified, and a client UI activation request is made (S6006).
  • the client side life cycle management unit 1204 designates the service ID and the client UI ID, and acquires the local URI where the client UI in which the script data is recorded is obtained from the script receiving unit 1231 (S6007). .
  • the client-side lifecycle management unit 1204 designates a local URI and sends a client UI activation request to the UI application execution engine 1106 (S6008).
  • the UI application execution engine 1106 reads the script data of the client UI from the local URI, and activates the client UI (S6009). As a result, the UI application is activated in synchronization between the master device 1101 and the client device 1201.
  • S6010 to S6015 indicate processing when the master device 1101 ends the cooperation service.
  • the master UI designates the IP address of the client device 1201 and sends a termination request to the cooperative service lifecycle management unit 1104 (S6010).
  • the linked service life cycle management unit 1104 sends a termination request specifying the service ID of the linked service to be terminated and the client UI ID to the client side life cycle management unit 1204 (S6011).
  • the client-side lifecycle management unit 1204 acquires the local URI of the client UI being activated from the script reception unit 1231 (S6012).
  • the client side life cycle management unit 1204 requests the UI application execution engine 1106 to end the active client UI (S6013).
  • the UI application execution engine 1106 ends the active client UI.
  • the client-side life cycle management unit 1204 sends an end notification specifying the IP address of the client device 1201 (self) to the cooperative service life cycle management unit 1104.
  • the cooperative service life cycle management unit 1104 that has received the end notification sends an end notification specifying the IP address of the client device 1201 to the master UI (S6015).
  • FIG. 7 is a sequence diagram following FIG. 5 and is a sequence diagram in the case of adopting the delivery method 2 described above.
  • the master UI uses the API provided by the script distribution unit 1134 to send a distribution request specifying the IP address list of the client device 1201, the service ID of the cooperation service to be executed, and the ID of the client UI to the script distribution unit. 1134 is performed (S7001).
  • the script distribution unit 1134 acquires the URI of the client UI to be distributed to each client device 1201 from the cooperation service determination unit 1132 (S7002).
  • This URI is a script data URI of the client UI held by the master device 1101.
  • the script distribution unit 1134 distributes the acquired information such as the URI of the client UI, the ID of the client UI, and the service ID of the cooperation service to be executed to the script reception unit 1231 of the client device 1201 (S7003).
  • the script data of the client UI but the URI is transmitted to the client device 1201 is different from FIG.
  • the script receiving unit 1231 holds information such as the received URI, service ID, and client UI ID. (S7004).
  • the script receiving unit 1231 performs a holding notification for notifying that the information such as the URI, the service ID, and the client UI ID is held to the master UI via the script distributing unit 1134 (S7003A).
  • the master UI uses the API provided by the cooperation service life cycle management unit 1104 to make a request to start the cooperation service to be executed to the cooperation service life cycle management unit 1104 (S7005).
  • This activation request includes the IP address list of each client device 1201.
  • the cooperative service life cycle management unit 1104 that has received the activation request from the master UI notifies the client side life cycle management unit 1204 of the service ID, the ID of the client UI, and the IP address list of each client device 1201.
  • a client UI activation request is made (S7006).
  • the client side life cycle management unit 1204 designates the service ID and the ID of the client UI, and acquires the URI of the client UI on the master device 1101 from the script receiving unit 1231 (S7007).
  • the client side life cycle management unit 1204 designates the URI of the client UI, and makes a request to start the client UI to the UI application execution engine 1106 (S7008).
  • the UI application execution engine 1106 specifies the URI of the client UI, and sends a client UI load request to the script distribution unit 1134 (S7010).
  • the script data of the client UI stored in the master device 1101 is loaded into the client device 1201 via the network.
  • the UI application execution engine 1106 decodes the loaded client UI script data and executes the client UI.
  • the UI application is activated in synchronization between the master device 1101 and the client device 1201.
  • S7011 to S7016 are processes when the master device 1101 ends the cooperation service, and are the same as S6011 to S6016 in FIG.
  • FIG. 8 is a diagram illustrating an example of screen transition displayed on the display device when the user selects a network in the master device 1101.
  • a screen 8001 on which icons 8002 for setting various items are displayed is displayed on the display device.
  • a screen 8004 is displayed on the display device.
  • the screen 8004 displays an icon 8003 displayed as network setting.
  • a screen 8005 for selecting a transmission path is displayed on a display (display device).
  • an icon 8006 displayed as WiFiDirect and an icon 8007 displayed as WiFi are displayed.
  • the master device 1101 selects an ad hoc network as a communication path.
  • the master device 1101 selects a network via an access point as a communication path.
  • the master device 1101 When the master device 1101 selects an ad hoc network as a communication path, the master device 1101 searches for peripheral devices and makes a connection request (invitation) to establish a network connection with the peripheral devices. On the other hand, when the master device 1101 selects a network via an access point as a communication path, the master device 1101 establishes a network connection with the access point and communicates with other devices via the access point.
  • FIG. 9 is a diagram showing an example of screen transition displayed on the display when the master device 1101 starts the cooperation service.
  • a screen 9001 is displayed.
  • an icon 9001a described as device cooperation portal is displayed.
  • a screen 9002 is displayed on the display.
  • the screen 9002 is a screen for setting a transmission path, similar to the screen 8005 of FIG.
  • a screen 9003 for confirming whether or not the transmission path can be switched to WiFiDirect is currently connected to the WiFi network. It appears on the display.
  • a screen 9007 for re-searching peripheral devices is displayed on the display.
  • peripheral devices are searched, and a screen 9004 that displays a list of the searched peripheral devices is displayed on the display.
  • a screen 9004 that displays a list of the searched peripheral devices is displayed on the display.
  • three devices A to C are searched as peripheral devices and displayed on the display.
  • the user selects a device that establishes a network connection among peripheral devices, that is, the client device 1201, and touches an icon 9004 a that describes “Connect selected device”.
  • the devices A to C are selected by the user as the client device 1201.
  • a connection request is transmitted to the selected client device 1201.
  • a screen 9005 indicating that a connection request is transmitted to the client device 1201 is displayed on the display.
  • a screen 9006 on which a list of client devices 1201 with network connections established is displayed on the display.
  • the three client devices 1201 A to C are displayed in a list.
  • the screen 9007 it is indicated that the network connection with the two devices A and B has already been established.
  • the master device 1101 re-searches the peripheral device, and a screen 9008 showing the search result is displayed on the display.
  • the screen 9008 shows that C is newly searched as a peripheral device.
  • C is newly searched as a peripheral device.
  • an icon 9008a described as “Connect selected device” a screen indicating that a connection request is being transmitted to the C device. 9009 is displayed on the display.
  • a network connection is established with the C client device 1201 in addition to the A and B client devices 1201 with which the network connection has already been established.
  • a screen 9010 indicating this is displayed on the display.
  • a screen 9011 for displaying a device that has already established a network connection by WiFi is displayed on the display.
  • an icon 9011 a described as “confirmed” is touched on the screen 9011, communication via the access point is performed between the devices A and B and the master device 1101.
  • FIGS. 10A and 10B are diagrams illustrating an example of screen transitions displayed on the display when the user selects a cooperative service in the master device 1101.
  • FIG. 10A shows a case where two devices A and B exist as the client device 1201
  • FIG. 10B shows a case where three devices A to C exist as the client device 1201. Yes.
  • two devices A and B are displayed as a list as the client device 1201.
  • the screen 1011 is displayed on the display.
  • the screen 1011 displays a list of cooperation services that can be executed by the client devices 1201 of A and B, and also displays client devices 1201 that are used when executing each cooperation service.
  • an icon 1011a described as moving image reproduction and an icon 1011b described as photo exchange are displayed.
  • an icon written as A is displayed next to the icon 1011a, which indicates that the client device 1201 of A is used when executing the moving image playback cooperation service.
  • an icon described as B is displayed beside the icon 1011b described as photo exchange, which indicates that the client device 1201 of B is used when executing the photo exchange cooperative service.
  • the icon 1011 b is touched by the user, and the photo exchange cooperative service is selected by the user. Accordingly, the master device 1101 determines a client UI necessary for the B client device 1201 to execute the photo exchange linkage service, and distributes the determined client UI to the B client device 1201.
  • the client UI necessary for the A client device 1201 to execute the video playback cooperative service is determined, and the client UI determined for the A client device 1201 is be delivered.
  • the master device 1101 since the master device 1101 has established network connections with the three client devices 1201 A to C, the three client devices 1201 A to C are displayed in a list. Yes.
  • FIG. 10B when the icon 1012a described as “fixed” is touched by the user, a screen 1013 is displayed.
  • an icon 1013c described as a travel plan is touched by the user. Therefore, when executing the travel plan cooperation service, the client UI required by the A and C client devices 1201 is determined, and the determined client UI is distributed to each of the two client devices 1201 of A and C.
  • an ad hoc network is established with a client device 1201 in the vicinity, and the specification requirements of the client device 1201 with which network connection is established are met.
  • the satisfying client UI is distributed to the client device 1201. Therefore, it is possible to realize a cooperation service using an ad hoc network even in an environment where there is no access point.
  • the cooperative service configuration management unit 1103 manages the cooperative service information.
  • the application 11107 manages the cooperative service information and uses this cooperative service information to set the client UI. It is characterized by determining.
  • FIG. 11 is a functional block diagram showing an example of the cooperative service management system 11001 according to Embodiment 2 of the present invention.
  • a cooperative service management system 11001 according to the second embodiment includes a master device 11101 and a client device 1201.
  • the master device 11101 according to the second embodiment will be described.
  • the master device 11101 includes a device connection management unit 1102, a cooperative service configuration management unit 11103, a cooperative service lifecycle management unit 1104, a content sharing unit 1105, a UI application execution engine 1106, an application 11107, and a network communication unit 1108.
  • the cooperative service configuration management unit 11103 includes a script distribution unit 11131.
  • the script distribution unit 11131 distributes the client UI determined by the distribution script determination unit 11173 of the application 11107 to each client device 1201.
  • the script distribution unit 11131 provides an interface (IF) for distributing a client UI to the application 11107, and an IP address list of the client device 1201 from the application 11107 and a client UI to be distributed to each client device 1201 are designated. Then, the client UI is distributed to each client device 1201.
  • IF interface
  • script distribution unit 11131 may distribute the client UI to the client device 1201 using the distribution method 1 or the distribution method 2 described in the first embodiment.
  • the application 11107 includes a cooperation service information management unit 11171, a cooperation service determination unit 11172, and a distribution script determination unit 11173.
  • the cooperation service configuration management unit 1103 includes the cooperation service information management unit 1131, the cooperation service determination unit 1132, and the distribution script determination unit 1133.
  • the application 11107 includes a cooperation service information management unit 11171, a cooperation service determination unit 11172, and a distribution script determination unit 11173.
  • the cooperative service information management unit 11171 manages the cooperative service information.
  • the difference from the linked service information management unit 1131 of the first embodiment is that the linked service information management unit 11171 independently manages the linked service information.
  • the cooperative service information management unit 11171 displays a list of cooperative services on the display and manages description data for realizing a UI for allowing the user to determine the cooperative service, and uses this UI. Let the user decide the linked service.
  • the cooperative service information management unit 11171 employs specification requirements that are uniquely managed as the specification requirements of the UI application list 4002 shown in FIG.
  • the cooperation service information management unit 11171 may input a user's hobbies and the like in advance, and delete a cooperation service that does not match the user's hobbies in the cooperation service list 4001 shown in FIG. Also, the cooperation service information management unit 11171 may input the user's age, sex, and the like in advance, and delete a cooperation service that is not suitable for the user's age, sex, etc. in the cooperation service list 4001 shown in FIG. Good.
  • the linked service information management unit 11171 may cause the user to input a favorite manufacturer and model, and delete UI applications other than the user's favorite manufacturer and model in the UI application list 4002 shown in FIG. . In this way, the user can perform a cooperative service with a favorite manufacturer or model as the client device 1201.
  • the cooperative service information shown in FIG. 4 can be customized to the cooperative service information suitable for the purpose and purpose of the application 11107. Can be used to determine the client UI.
  • the cooperative service information management unit 11171, the cooperative service determination unit 11172, and the distribution script determination unit 11173 are realized by a master UI or an initial (Initial UI) activated by the application 11107.
  • the cooperation service, UI application, and client UI are the same as those in the first embodiment.
  • the master UI is the same as the first embodiment in terms of functions, but the present embodiment is different from the first embodiment in that the master UI is activated by the initial UI.
  • the initial UI is first activated by the master device 11101. Then, the initial UI determines one cooperative service from a plurality of cooperative services based on a user instruction, and activates a master UI that constitutes the determined cooperative service.
  • FIG. 12 is a schematic diagram showing an example of the configuration of the cooperation service in the second embodiment of the present invention.
  • the master device 11101 manages one initial UI and first activates the initial UI.
  • the initial UI selects a cooperation service and activates a master UI constituting the cooperation service.
  • the master device 11101 includes two cooperation services 12001 and 12002.
  • the cooperation service 12001 is a cooperation service performed by the master device 11101 and the two client devices 1201.
  • the cooperation service 12002 is a cooperation service performed by the master device 11101 and one client device 1201.
  • the master UI of the cooperation service 12001 is activated.
  • the master UI of the cooperation service 12002 is activated.
  • the cooperation service determination unit 11172 determines the execution target cooperation service according to the cooperation service information managed by the cooperation service information management unit 11171, as with the cooperation service determination unit 1132.
  • the distribution script determination unit 11173 determines a client UI to be distributed to each client device 1201 according to the cooperation service information managed by the cooperation service information management unit 11171.
  • each block other than the application 11107 of the master device 11101 shown in FIG. 11 may be configured with a master device program, a dedicated hardware circuit, or an integrated circuit, as in the first embodiment.
  • the client device 1201 may be configured by a client device program, a dedicated hardware circuit, or an integrated circuit.
  • FIG. 13 is a sequence diagram illustrating an example of processing related to determination of a cooperative service, establishment of a network connection, and determination of a client UI.
  • the master device 11101 starts a starter (Starter) and starts processing.
  • Start instruction from the user for example, an instruction to display the “device cooperation portal” icon 9001a on the display of the master device 11101 and touch the icon 9001a as shown in FIG.
  • the starter instructs the UI application execution engine 1106 to start the initial UI by specifying the URI.
  • the initial UI is started as the application 11107 (S13001).
  • the activated initial UI acquires the device information of the peripheral device using the API provided by the device connection management unit 1102 (S13002, S13003).
  • the device connection management unit 1102 Upon receipt of the connection request request from the initial UI, the device connection management unit 1102 makes a connection request to the client side device connection management unit 1202 of the client device 1201 (S13005). The client side device connection management unit 1202 determines whether or not to connect, and returns a response to the device connection management unit 1102 of the master device 11101. Here, the client side device connection management unit 1202 determines whether to connect based on an instruction from the user.
  • the device connection management unit 1102 returns the IP address and device information of the client device 1201 that established the network connection to the initial UI.
  • the cooperation service determination unit 11172 included in the initial UI acquires device information of the client device 1201 using the API provided by the device connection management unit 1102 (S13006).
  • the cooperation service determination unit 11172 included in the initial UI displays a list of the extracted cooperation services on the display of the master device 1101 as illustrated in FIG. 10, and allows the user to touch any of the cooperation services, thereby Can be determined.
  • the cooperative service determination unit 11172 included in the initial UI refers to the UI application list 4002 constituting the cooperative service information, and activates the master UI corresponding to the cooperative service to be executed (S13008).
  • the delivery script determination unit 11173 included in the master UI collates the device information of each client device 1201 with the specification requirements of the cooperation service information managed by the cooperation service information management unit 11171 (S13209), and sends each client device 1201.
  • the client UI to be distributed is determined (S13010).
  • the initial UI establishes the network connection and determines the cooperation service
  • the master UI specifies the IP address of the client device 1201 and the client
  • the master UI may establish the network connection and determine the client UI.
  • FIG. 14 is a sequence diagram following FIG. 13 and is a sequence diagram in the case of adopting the distribution method 1 described above. 14, the same processes as those in FIG. 6 described in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
  • the master UI uses the API provided by the script distribution unit 11131 to specify the IP address list of each client device 1201 and the script data and ID of the client UI to be distributed to each client device 1201, and A UI distribution request is made (S14001).
  • S6004 to S6009 are the same as the process demonstrated in FIG. 6 of Embodiment 1, description is abbreviate
  • S6010 to S6015 are sequences showing an example of processing when the cooperation service is terminated, as in the first embodiment, and thus description thereof is omitted.
  • the master UI uses the API provided by the script distribution unit 11131 to specify the IP address list of each client device 1201 and the URI and ID of the client UI to be distributed to each client device 1201, and A distribution request is made (S15001).
  • the linked service information managed by the linked service information management unit 11171 of the application 11107 is used for the linked service information. Since the service and the client UI are determined, it is possible to determine the cooperation service and the client UI suitable for the use and purpose of the application 11107.
  • a master device is a master device that manages a cooperative service that is executed by linking devices together in an autonomous distributed network.
  • a collaborative service information management unit that manages collaborative service information that defines information related to an application required for each device and the specification requirements of each device required to execute the application, and the autonomous distributed type
  • a device information acquisition unit that acquires device information that defines specifications of peripheral devices from one or more peripheral devices detected via a network; and one or more client devices that are used for the cooperation service from the peripheral devices.
  • Connection pipe that determines and establishes network connection with the determined client device
  • a cooperation service determination unit that determines a cooperation service to be executed based on an instruction from a user from among the cooperation services defined in the cooperation service information, device information of the client device, and the execution target
  • An application determining unit that determines an application of the client device based on the specification requirement of a cooperation service, an application distributing unit that distributes the application determined by the application determining unit to the client device, and a distribution by the application distributing unit
  • a linked service life cycle management unit that instructs the client device to start the application.
  • the cooperation service is executed on each client device.
  • the necessary applications are distributed. Therefore, it is possible to realize a device cooperation service realized by connecting one master device and one or a plurality of devices in an autonomous distributed network in which each device is connected and communicates without going through an access point. .
  • the cooperation service determination unit extracts an executable cooperation service based on device information of one or a plurality of the peripheral devices and specification requirements defined in the cooperation service information, and the extracted cooperation service is used by the user.
  • the connection management unit determines the execution target cooperation service based on an instruction from the user, and the connection management unit executes the execution based on the specification requirements of the execution target cooperation service and the device information of the peripheral device. You may determine the 1 or several client apparatus used for the cooperation service of object.
  • an executable cooperation service is extracted from the specifications of one or a plurality of peripheral devices, and the user can select an execution target cooperation service from the extracted cooperation services. Therefore, the situation where the cooperation service selected by the user cannot be executed can be avoided. Further, the specification requirement of the cooperation service to be executed and the device information of one or a plurality of peripheral devices are collated, and the peripheral device that can execute the cooperation service to be executed is automatically determined as the client device. The trouble of selecting a client device from among peripheral devices can be saved.
  • connection management unit determines one or more client devices from the peripheral devices based on an instruction from a user, and the cooperation service determination unit includes device information of the one or more client devices. And an executable cooperative service is extracted based on the specification requirements defined in the cooperative service information, the extracted cooperative service is presented to the user, and the execution target cooperative service is determined based on an instruction from the user. May be.
  • the user of the master device selects a favorite peripheral device as a client device from the peripheral devices, and the cooperation service that can be executed by the client device and the master device is extracted.
  • the user determines the cooperation service to be executed. Therefore, it is possible to prevent the cooperation service from being performed with a device of a user who does not know at all, and the situation where the personal information of the user leaks to the user of another device can be avoided.
  • the application determination unit presents these applications to the user, and selects the application selected by the user from the client You may determine as an application delivered to an apparatus.
  • the user when there are a plurality of applications that satisfy the specification requirements, the user can select a favorite application from among these applications.
  • the application includes a master application executed on the master device and a client application executed on the client device, and the cooperative service life cycle unit starts the master application and the client application synchronously You may let them.
  • the cooperation service can be started simultaneously on both the master device and the client device.
  • the application distribution unit may distribute the application script data to one or a plurality of the client devices by distributing and storing the script data of the application to the client devices.
  • the client device can start the application by recording the script data of the application before starting the application and reading the script data when the application is started. Therefore, the client device can activate the application at high speed.
  • the application distribution unit may distribute the URI (Uniform Resource Identifier) of the application determined by the application determination unit to one or a plurality of the client devices.
  • URI Uniform Resource Identifier
  • the client device can start the application by distributing the application URI (Uniform Resource Identifier) from the master device and reading the application from the URI when the application is started. Therefore, it is possible to reduce the data amount when distributing the application.
  • URI Uniform Resource Identifier
  • the application distribution unit transmits the ID of the cooperative service to be executed and the ID of the application to the client device, and the cooperative service lifecycle management unit At the time of start-up, an ID of the cooperation service to be executed or an ID of the application may be designated to instruct the client device to start the application.
  • the application distribution unit can start the application only by specifying the ID of the cooperation service or the ID of the application when starting the application.
  • the client device holds the received application even after the execution of the cooperation service, and the application distribution unit stores the application stored in the client device when distributing the script data of the application.
  • the ID and version may be acquired, and if the acquired ID and version of the application do not match the ID and version of the application determined by the application determination unit, the script data of the application may be distributed.
  • the application once distributed to the client device is transmitted again only when the version changes. Therefore, each time the application is activated, the master device does not need to distribute the application to the client device.
  • the cooperation service information management unit may delete, from the cooperation service information, a cooperation service that does not match the user's preference based on information input in advance by the user.
  • the user since the cooperative service that does not match the user's preference is deleted in advance from the service information, the user customizes the cooperative service information so that the cooperative service according to his / her preference is included. Can do.
  • the master device receives data to be transmitted from the device information acquisition unit, the connection management unit, the application distribution unit, and a cooperative service lifecycle management unit, transmits the data to the client device, and You may further provide the network communication part which receives the data transmitted from a client apparatus.
  • each block configuring the master device communicates with the client device via the network communication unit.
  • a coordinated service management system is a coordinated service management system that manages a coordinated service that is executed by linking a plurality of devices to each other in an autonomous distributed network, the master device; One or a plurality of client devices connected to the master device via the autonomous distributed network, and the client device receives a connection request from the master device and makes a network connection with the master device.
  • a client-side connection management unit that determines whether or not to establish and returns a determination result to the master device; and a client-side life cycle that starts an application distributed from the master device in response to an activation request from the master device And a management unit.
  • the application distribution unit of the master device distributes and stores the script data of the application determined by the application determination unit to one or a plurality of the client devices, and the client-side lifecycle management unit When receiving the activation request, it is preferable to activate the application distributed from the master device by reading the recorded script data.
  • the application distribution unit of the master device distributes the URI of the application determined by the application determination unit to one or a plurality of the client devices, and the client side life cycle management unit receives the activation request. In this case, it is preferable to start the application by designating a URI distributed from the master device.
  • the device has both the function of the master device and the function of the client device.
  • one device executes the function of the master device, and the remaining devices It is preferable to execute the function of the client device.
  • the cooperation service can be realized by causing the device serving as the master device to execute the function of the master device and causing the device serving as the client device to execute the function of the client device.
  • the cooperative service management system according to the present invention can be manufactured and sold continuously and repeatedly in the manufacturing industry. In particular, it can be used in the consumer equipment industry that is involved in the production and execution of collaborative services.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

デバイス情報取得部は、周辺機器からアドホックネットワークを介してデバイス情報を取得する。連携サービス決定部は、連携サービス情報に規定された連携サービスの中から、ユーザからの指示に基づき、実行対象の連携サービスを決定する。配信スクリプト決定部は、クライアント機器のデバイス情報と、実行対象の連携サービスのスペック要件とを照合し、クライアント機器のクライアントUIを決定する。スクリプト配信部は、配信スクリプト決定部により決定されたクライアントUIを各クライアント機器に配信する。

Description

マスター機器、連携サービス管理システム、及び連携サービス管理方法
 本発明は、ネットワークを介して接続された機器が相互に通信し、連携してサービスを実行する、連携サービスの技術に関するものである。
 近年、スマートフォンやタブレット端末などの個人ユーザ向け高機能端末が普及している。これら端末は、アンドロイド(Android:登録商標)やiOS等のプラットフォームを搭載し、様々なアプリケーションをダウンロードして実行する環境を備えている。
 これに伴い、屋内外問わず様々な場所で複数の機器を接続し、各機器を相互に連携させてユーザにサービスを提供する連携サービスの利用拡大が想定されている。
 複数の機器上にアプリケーションを配信して、連携サービスを実現する従来の技術として、例えば、下記の従来技術が知られている。
 例えば、非特許文献1、2には、タブレット端末又はスマートフォンとテレビとを連携させ、タブレット端末又はスマートフォンの操作で、テレビにコンテンツを表示させるアップル(Apple)社のエアープレイ(Airplay)という技術が開示されている。この技術では、機器の組み合わせが固定の連携サービスを構成する専用アプリケーションを、予め、各機器に個別インストールし、インストールしたアプリを実行することで連携サービスが実現されている。
 特許文献1では、ネットワークゲートウェイが、プログラム配信サイトからのプログラム更新要求や配下に接続された各機器からの要求に応答して、プログラム配信サイトからプログラムを受信し、受信したプログラムを各機器に配信する技術が開示されている。
 しかしながら、上記の非特許文献1、2の技術では、(1)タブレット端末及びテレビといった予め組み合わせることが分かっている固定の組み合わせ機器以外の機器間で連携サービスを提供できないという問題がある。また、(2)連携サービスを実行する各機器において、連携サービスを実現するためのアプリケーションをインターネット等のアクセスポイントのある外部ネットワークからインストールさせる必要がある。
 したがって、非特許文献1、2の技術では、アクセスポイントを介することなく機器同士が通信するアドホックネットワーク(自律分散型ネットワーク)を使って連携サービスを実現しようとした場合、各機器に連携サービスを実現するためのアプリケーションがインストールされていなければ、連携サービスを実現することができないという課題があった。
 また、特許文献1の技術では、ゲートウェイを介することなく各機器にアプリケーションを配信することができないため、各機器がゲートウェイに接続できない環境下にある場合、各機器にアプリケーションを配信することができないという課題がある。
 そのため、一度、各機器に連携サービスを実行するためのアプリケーションをインストールしたとしても、その機器をアドホックネットワークに接続した場合、各機器でインストールされているアプリケーションのバージョン等に不整合が発生すると、連携サービスを実行することができないという課題がある。
特開2001-222500号公報
[online]アップル(Apple)社ホームページ、[2011年11月2日検索]、インターネット<http://www.apple.com/jp/ipad/features/airplay.html> [online]アップル(Apple)社ホームページ、[2011年11月2日検索]、インターネット<http://www.apple.com/jp/ipodtouch/features/airplay.html>
 本発明の目的は、自律分散型ネットワークにおいて連携サービスを実現することができる技術を提供することである。
 本発明の一態様によるマスター機器は、自律分散型ネットワークにおいて、複数の機器を互いに連携させて実行される連携サービスを管理するマスター機器であって、複数の連携サービスに関して、各連携サービスを実行する際に前記機器で必要となるアプリケーションに関する情報と前記アプリケーションを実行するために要求される前記機器のスペック要件とを規定する連携サービス情報を管理する連携サービス情報管理部と、前記自律分散型ネットワークを介して検出された1又は複数の周辺機器から周辺機器のスペックを規定するデバイス情報を取得するデバイス情報取得部と、前記周辺機器から前記連携サービスに使用される1又は複数のクライアント機器を決定し、決定したクライアント機器とネットワーク接続を確立する接続管理部と、前記連携サービス情報に規定された連携サービスの中から、ユーザからの指示に基づき、実行対象の連携サービスを決定する連携サービス決定部と、前記クライアント機器のデバイス情報と、前記実行対象の連携サービスの前記スペック要件とに基づき、前記クライアント機器のアプリケーションを決定するアプリケーション決定部と、前記アプリケーション決定部により決定されたアプリケーションを前記クライアント機器に配信するアプリケーション配信部と、前記アプリケーション配信部により配信されたアプリケーションの起動指示を前記クライアント機器に行う連携サービスライフサイクル管理部とを備える。
本発明の実施の形態1における連携サービス管理システムの一例を示す機能ブロック図である。 デバイス情報取得部が周辺機器から取得するデバイス情報の一例を示した図である。 本発明の実施の形態1における連携サービス構成の一例を示す模式図である。 連携サービス情報管理部が管理する 連携サービス情報の一例を示す図である。 連携サービスの決定、ネットワーク接続の確立、及びクライアントUIの決定までの処理の一例を示すシーケンス図である。 図5に続くシーケンス図であり、配信方法1を採用した場合のシーケンス図である。 図5に続くシーケンス図であり、配信方法2を採用した場合のシーケンス図である。 マスター機器において、ユーザがネットワークを選択する際にディスプレイに表示される画面遷移の一例を示す図である。 マスター機器において、連携サービスを開始する際にディスプレイに表示される画面遷移の一例を示した図である。 マスター機器において、ユーザが連携サービスを選択する際にディスプレイに表示される画面遷移の一例を示した図である。(A)はクライアント機器としてA、Bの2台の機器が存在する場合を示し、(B)はクライアント機器としてA~Cの3台の機器が存在する場合を示している。 本発明の実施の形態2における連携サービス管理システムの一例を示す機能ブロック図である。 本発明の実施の形態2における連携サービスの構成の一例を示す模式図である。 連携サービスの決定、ネットワーク接続の確立、及びクライアントUIの決定までの処理の一例を示すシーケンス図である。 図13に続くシーケンス図であり、配信方法1を採用した場合のシーケンス図である。 図13に続くシーケンス図であり、配信方法2を採用した場合のシーケンス図である。
 以下本発明の実施の形態について、図面を参照しながら説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成及び処理などは、特に特定的な記載がない限り、それのみに限定する趣旨ではなく、単なる説明例である。
 (実施の形態1)
 本発明の実施の形態1による連携サービス管理システムは、外部ネットワークに接続するためのアクセスポイントがない環境下において、周りにある機器と自律分散型ネットワークを構築し、各機器のスペック(性能)に適合するアプリケーションを各機器に配信して連携サービスを実現する。ここで、自律分散型ネットワークとは、アクセスポイントや基地局に依存せず、多数の端末が自律分散的にルーターと同様の役割を担い、数珠つなぎの通信を実現するネットワークであり、例えば、アドホックネットワークが該当する。
 (構成の説明)
 図1は、本発明の実施の形態1における連携サービス管理システム1001の一例を示す機能ブロック図である。連携サービス管理システム1001は、マスター機器1101及びクライアント機器1201を備える。
 連携サービス管理システム1001は、互いに通信しあいながら連携サービスを実行する複数の機器により実現される。連携サービスとしては、一例として、マスター機器1101と1又は複数のクライアント機器1201とで一つの画像を分割して表示するものが挙げられる。
 連携サービスを実行する機器は、例えばスマートフォン、タブレット端末、TV、レコーダのように、CPUなどの処理装置(図示せず)と、プログラムを記憶するメモリと、ハードディスクなどの記録媒体と、ネットワーク接続やネットワーク通信を行なうための通信装置(図示せず)などのハードウェアを備えている。そして、連携サービスを実行する機器は、記録媒体に記録されたプログラムを処理装置にて実行させることにより、ネットワーク接続機能を実現する。また、連携サービスを実行する機器は、表示した操作画面に対するユーザからの操作、或いは、ネットワーク接続された他機器からの操作により種々の処理が実行可能である。
 また、記録媒体に記録されるプログラムというのは、例えば、本実施の形態にて後述するシーケンスに係る処理、連携サービスを実行する機器を構成する要素の動作を実現するためのプログラムである。
 また、記録媒体に記録されたプログラムをCPUにて実行させるのではなく、プログラムをCPUにて実行させて実現できる動作を、集積回路を用いて構成をしても良い。集積回路を用いる構成を採用すれば、対応するプログラムを記録媒体に記録する必要はなくなる。
 連携サービスを実行する機器は、マスター側機能、クライアント側機能の両方又はいずれか一方を搭載する。連携サービスを実行する際には、一つの機器がマスター側機能を実行してマスター機器1101となり、その他の1又は複数の機器がクライアント側機能を実行してクライアント機器1201となる。
 マスター機器1101及びクライアント機器1201は、ネットワークNTにより接続される。本実施の形態では、ネットワークNTとして、WiFi(登録商標)やWiFiDirect等の無線ネットワークを例に挙げて説明する。但し、これは、一例であり、ネットワークNTとしては、有線ネットワークを採用してもよいし、WiFi(登録商標)及びWiFiDirect以外の他の無線ネットワークを採用してもよいし、有線ネットワーク及び無線ネットワークが混在するネットワークを採用してもよい。
 WiFiの規格は、例えば、WiFi Allianceにて規定されている。WiFi Allianceでは機器がアクセスポイント(AP)を経由して通信するインフラストラクチャモードと、機器同士が直接通信するアドホックモードとが規定されている。マスター機器1101及びクライアント機器1201がアドホックモードを選択すると、ネットワークNTはアドホックネットワークとなる。
 マスター機器1101は、周辺機器の中からネットワーク接続を確立するクライアント機器1201を決定し、決定したクライアント機器1201に接続依頼を送信し、連携サービスを実行するためのアプリケーション(以下、UI(ユーザインターフェイス)アプリと記述する。)を決定し、決定したUIアプリをクライアント機器1201に配信し、クライアント機器1201にUIアプリの実行を指示する。
 クライアント機器1201は、マスター機器1101からの接続依頼を受けて、アドホックネットワークへの参加を決定し、マスター機器1101から配信されたUIアプリを受信し、マスター機器1101からの指示を受けて、受信したUIアプリを起動する。
 (マスター機器1101の機能の概要)
 マスター機器1101は、下記の(1)~(5)の機能を備えている。
 (1)複数の連携サービスに関して、各連携サービスを実行する際に各機器で必要となるUIアプリに関する情報とUIアプリを実行するために要求される各機器のスペック要件とを規定する連携サービス情報(図4参照)を管理する機能。
 (2)連携サービス情報に規定されたスペック要件と周辺機器のデバイス情報とを照合し、実行可能な連携サービスを抽出し、抽出した連携サービスの一覧をユーザに提示し、ユーザの指示に基づき、実行対象の連携サービスを決定し、決定した連携サービスを実行するためのマスター側のUIアプリを起動する機能。
 (3)周辺機器のデバイス情報をユーザに提示し、連携するクライアント機器1201を決定し、決定したクライアント機器1201に接続依頼を送信し、ネットワーク接続を確立する機能。
 (4)UIアプリを実行するために要求される機器のスペック要件と、クライアント機器1201のデバイス情報とを照合し、クライアント機器1201に配信するUIアプリを決定する機能。
 (5)クライアント機器1201にUIアプリを配信し、起動指示を行う機能。
 (クライアント機器1201の機能の概要)
 クライアント機器1201は、下記の(1)、(2)の機能を備えている。
 (1)マスター機器1101からの接続依頼を受けて連携サービスのネットワークに参加する機能。
 (2)マスター機器1101から配信されたUIアプリを受信し、マスター機器からの起動指示を受けて、受信したUIアプリを起動する機能。
 以下、図1に示すマスター機器1101及びクライアント機器1201の構成の詳細を説明する。
 (マスター機器1101の説明)
 マスター機器1101は、機器接続管理部1102、連携サービス構成管理部1103、連携サービスライフサイクル管理部1104、コンテンツ共有部1105、UIアプリ実行エンジン1106、アプリケーション1107、及びネットワーク通信部1108を備える。
 機器接続管理部1102は、デバイス情報取得部1121及び接続管理部1122を備える。デバイス情報取得部1121は、周辺機器からアドホックネットワークを介してデバイス情報を取得する。また、デバイス情報取得部1121は、マスター機器1101が備える各構成要素からの要求に応じて、周辺機器からデバイス情報を取得し、取得したデバイス情報を各構成要素に提供する。
 図2は、デバイス情報取得部1121が周辺機器から取得するデバイス情報の一例を示した図である。図2に示すようにデバイス情報は、列2011~2013を備えている。
 列2011にはデバイス情報のカテゴリ名が記載されている。列2012にはデバイス情報の各要素名が記載されている。列2013には各要素の値が記載されている。行2001には、デバイス識別子が記載されている。デバイス識別子は、機器を一意に特定するための情報である。デバイス識別子としては例えば、UDN(Unique Device Name)が採用される。
 行2002~2004には、ユーザに提示する情報が記載されており、人が視認できる情報が記載されている。具体的には、行2002~2004のそれぞれには、アイコン(icon url)、デバイス名(friendly Name)、概要説明(model Description)が記載されている。
 行2005~2011には、デバイスの種別・機能情報が記載されている。デバイスの種別・機能情報としては、マスター機器1101が解釈可能な情報であって、接続する機器の決定、連携サービスの決定、配信するUIの決定に使う情報が記載されている。具体的には、デバイスの種別・機能情報として、デバイス種別(device Type)、製造者(manufacturer)、モデル名(model Name)、モデル番号(model Number)、搭載OS(OS)、解像度(resolution)、及びサポート機能(support_function)が含まれる。
 行2001~2008の各要素は、UPnP(Universal Plug and Play)規定のデバイスディスクリプション(Device description)情報が採用されている。図2に示すデバイス情報は、このデバイスディスクリプション情報に加えて、更に行2009~2011に示す搭載OS、解像度、及びサポート機能の要素が記載されている。搭載OSは機器が搭載するオペレーションシステムの名称を示す。解像度は、機器のディスプレイの解像度を示す。サポート機能は、クライアント機能を備えているか、マスター機能を備えているか、タッチ操作機能を備えているかといった機器がサポートする機能を示す。
 なお、デバイス情報としては、接続する機器の決定、連携サービスの決定、配信するUIアプリの決定に利用できる情報であれば他の情報を採用してもよい。
 図1に戻り、デバイス情報取得部1121は、ネットワーク接続が確立されていない周辺機器からデバイス情報を取得する場合、例えば、WiFiDirectに規定のデバイス検索、又はサービス検索等のプロトコルを用いてデバイス情報を取得すればよい。
 また、デバイス情報取得部1121は、ネットワーク接続が確立されている周辺機器からデバイス情報を取得する場合、例えば、WiFiDirectに規定のデバイス検索、サービス検索のプロトコルや、UPnPに規定のDevice discovery等のプロトコルを用いてデバイス情報を取得すればよい。
 なお、デバイス情報を取得するプロトコルとしては、上記のデバイス情報を取得でき、且つ、連携サービス管理システム1001を構築する機器間で共通のプロトコルであれば、どのようなプロトコルを採用してもよい。
 接続管理部1122は、周辺機器からクライアント機器1201を決定し、クライアント機器1201に接続依頼を行い、クライアント機器1201からの応答に従ってネットワーク接続を確立する。
 なお、接続管理部1122は、例えば、WiFiDirectに規定のプロトコルを用いてクライアント機器1201とネットワーク接続を確立すればよい。
 連携サービス構成管理部1103は、連携サービス情報管理部1131、連携サービス決定部1132、配信スクリプト決定部1133(アプリケーション決定部の一例)、スクリプト配信部1134(アプリケーション配信部の一例)を備えている。
 以下、本発明の実施の形態1における種々の用語について説明する。連携サービスとは、複数の機器が連携して実行するサービスあって、具体的には、1つのマスター機器1101と1又は複数のクライアント機器1201とを接続して実現されるサービスである。連携サービスを実行するためには、各機器上で実行するUIアプリが必要となる。
 UIアプリとは、連携サービスを構成する各機器においてUI(ユーザインターフェイス)を実現するためのアプリケーションである。このUIアプリは、例えば、Javascript(登録商標)等のスクリプト言語で記述される。マスター機器1101で起動されるUIアプリをマスターUI(Master UI、マスターアプリケーションの一例)と呼び、クライアント機器1201で起動されるUIアプリをクライアントUI(Client UI、クライアントアプリケーションの一例)と呼ぶ。
 マスターUIは、マスター機器1101において、連携サービスが選択された後、最初に起動されるアプリケーションである。このマスターUIは、クライアント機器1201とマスター機器1101とのネットワーク接続を確立してネットワークを構築する処理や、クライアント機器1201にクライアントUIを配信し、配信したクライアントUIの起動を指示する処理等を行う。
 クライアントUIは、クライアント機器1201において、マスター機器1101からの起動指示を受けて起動するアプリケーションである。
 その他、本実施の形態では、連携サービスとは独立のUIアプリとしてサービスセレクトUI(Service Select UI)がある。サービスセレクトUIは、マスター機器1101において、複数の連携サービスが存在する場合に実行されるアプリケーションであり、複数の連携サービスの中から実行対象となる一つの連携サービスを選択するアプリケーションである。
 図3は、本発明の実施の形態1における連携サービス構成の一例を示す模式図である。連携サービス情報管理部1131は、一つのサービスセレクトUI、複数の連携サービス、及び各連携サービスを構成するUIアプリ(マスターUI又はクライアントUI)を管理する。
 マスター機器1101は、最初にサービスセレクトUIを起動し、サービスセレクトUIが連携サービスを選択した際に、選択された連携サービスを構成するマスターUIを起動する。図3では、マスター機器1101は、2つの連携サービス3001、3002を備えている。連携サービス3001は、マスター機器1101と2つのクライアント機器1201とで行われる連携サービスである。連携サービス3002は、マスター機器1101と1つのクライアント機器1201とで行われる連携サービスである。
 例えば、サービスセレクトUIが、ユーザの指示に基づき、連携サービス3001を選択したとすると、連携サービス3001のマスターUIが起動される。一方、サービスセレクトUIが、ユーザの指示に基づき、連携サービス3002を選択したとすると、連携サービス3002のマスターUIが起動される。
 なお、連携サービスが一つしか存在しない場合には、マスター機器1101は、サービスセレクトUIを起動せずに、直接、連携サービスを構成するマスターUIを起動してもよい。
 マスターUI、クライアントUI、及びサービスセレクトUIは、それぞれ、アプリケーション1107を構成し、UIアプリ実行エンジン1106によりスクリプトデータがデコードされることで実現される。
 図1に戻り、連携サービス情報管理部1131は、図4に示す連携サービス情報を管理する。図4は、連携サービス情報管理部1131が管理する
連携サービス情報の一例を示す図である。連携サービス情報は、連携サービスリスト4001及びUIアプリリスト4002を備えている。
 連携サービスリスト4001は、マスター機器1101で実行可能な連携サービスに関する情報を格納するテーブルであり、サービスID、サービスバージョン、サービス名、ディスクリプション(Description)、及びUIアプリリストのフィールドを備えている。
 サービスIDのフィールドには、各連携サービスに対して一意に付与された識別コードが格納されている。サービスバージョンのフィールドには、各連携サービスのバージョン名が格納されている。サービス名のフィールドには、各連携サービスに対する名前が格納されている。ディスクリプションのフィールドには、各連携サービスの簡単な説明を記述する文字列が格納されている。UIアプリリストのフィールドには、各連携サービスに対するUIアプリリスト4002が格納されている。
 UIアプリリスト4002は、連携サービスを実行するにあたりマスター機器1101及びクライアント機器1201で必要となるUIアプリの情報のフィールドと、各UIアプリを実行する際に要求される機器のスペック要件のフィールドとを備えるテーブルである。
 UIアプリの情報のフィールドは、更に、ID、UIタイプ(UI Type)、及びファイルパス(File path)のフィールドに分けられる。IDのフィールドには、各UIアプリに対して一意に付与された識別コードが格納されている。
 UIタイプのフィールドには、UIアプリがマスターUIであるかクライアントUIであるかを示す情報が格納されている。図4の例では、UIアプリがマスターUIであれば、UIタイプのフィールドには“Master_UI”が格納され、UIアプリがクライアントUIであれば、UIタイプのフィールドに“Client_UI”が格納されている。ファイルパスのフィールドには、各UIアプリの格納場所を示すファイルパスが格納されている。
 スペック要件のフィールドは、更に、デバイス種別(Device Type)、メーカ名(Manufacturer)、OS、解像度、及びサポート機能のフィールドに分けられる。デバイス種別のフィールドには、機器の種類が格納されている。メーカ名のフィールドには、機器のメーカ名が格納されている。OSのフィールドには、機器が実装するOSの名称が格納されている。解像度のフィールドには、機器の解像度が格納されている。例えば、行4021の解像度のフィールドには、“0-320px(smart phone)”が格納されている。これは、行4021のUIアプリを実行するためには、解像度が320ピクセル以下のスマートフォンであることが要求される。
 行4022の解像度のフィールドには、“321-900px(tablet)”が格納されている。これは、行4022のUIアプリを実行するためには、解像度が321ピクセル以上、且つ、900ピクセル以下のタブレット端末であることが要求される。
 サポート機能のフィールドには、機器が備える機能が格納されている。例えば、行4021のサポート機能のフィールドには、“機器連携マスター側機能、タッチ操作”が格納されている。これは、行4021のUIアプリを実行するには、タッチ操作が可能であり、且つ、図1に示すマスター機器1101の機能を備える機器であることが要求される。
 また、行4022のサポート機能のフィールドには、“機器連携クライアント側機能、タッチ操作”が格納されている。これは、行4022のUIアプリを実行するには、タッチ操作が可能であり、且つ、図1に示すクライアント機器1201の機能を備える機器であることが要求される。
 なお、連携サービス情報は、図4の例に限定されず、実行する連携サービスを決定することができ、且つ、各機器に配信するUIアプリを決定できる情報を持つものであれば、どのようなものを採用してもよい。
 図1に戻り、連携サービス決定部1132は、連携サービス情報に規定された連携サービスの中から、ユーザからの指示に基づき、実行対象の連携サービスを決定する。ここで、連携サービス決定部1132は、以下に示すサービス決定方法1、2を用いて連携サービスを決定すればよい。
 (サービス決定方法1)
 サービス決定方法1は、接続管理部1122がクライアント機器1201を決定する前に、連携サービス決定部1132が連携サービスを決定する方法である。
 この場合、連携サービス決定部1132は、デバイス情報取得部1121により取得された1又は複数の周辺機器のデバイス情報と、図4に示す連携サービス情報に規定されたスペック要件と比較し、実行可能な連携サービスを抽出する。そして、連携サービス決定部1132は抽出した連携サービスの選択依頼をアプリケーション1107(サービスセレクトUI)に行う。アプリケーション1107は抽出された連携サービスをユーザに提示し、ユーザに指示された連携サービスを連携サービス決定部1132に通知する。そして、連携サービス決定部1132は、通知された連携サービスを、実行対象の連携サービスとして決定する。
 具体的には、アプリケーション1107は、連携サービス決定部1132により抽出された連携サービスの一覧を表示装置(図略)に表示する。そして、アプリケーション1107は、操作装置(図略)を操作してユーザに指示された連携サービスを受け付ける。そして、アプリケーション1107は、受け付けた連携サービスを連携サービス決定部1132に通知する。
 図4の例において、連携サービス決定部1132は、行4022又は行4023のスペック要件を満たすデバイス情報がデバイス情報取得部1121により取得された場合、写真交換サービスが実行可能な連携サービスであると判定すればよい。
 そして、接続管理部1122は、実行対象の連携サービスのスペック要件と周辺機器のデバイス情報とを比較し、実行対象の連携サービスに使用されるクライアント機器1201を決定する。
 図4の例において、写真交換が実行対象の連携サービスとして決定された場合、接続管理部1122は、行4022又は行4023のスペック要件を満たすデバイス情報を持つ周辺機器をクライアント機器1201として決定すればよい。
 この場合、接続管理部1122は、行4022又は行4023のスペック要件を満たす周辺機器が複数存在する場合、アプリケーション1107を介して周辺機器をユーザに提示し、ユーザにより選択された1又は複数の周辺機器をクライアント機器1201として決定してもよい。
 具体的には、接続管理部1122は、スペック要件を満たす複数の周辺機器の一覧の表示依頼をアプリケーション1107に通知する。そして、アプリケーション1107は、複数の周辺機器の一覧を表示装置(図略)に表示する。そして、アプリケーション1107は、操作装置(図略)を操作してユーザに指示された周辺機器を受け付ける。そして、アプリケーション1107は、受け付けた周辺機器を接続管理部1122に通知する。
 サービス決定方法1を用いた場合、まず、周辺機器のスペックから実行可能な連携サービスが抽出される。そして、抽出された連携サービスの中からユーザは実行対象の連携サービスを選択することができる。そのため、ユーザが選択した連携サービスのスペック要件を満たす周辺機器が存在しない事態を防止することができる。その結果、ユーザが選択した連携サービスを実行することができない事態が発生することを回避することができる。
 (サービス決定方法2)
 サービス決定方法2は、まず、接続管理部1122がクライアント機器1201を決定し、その後、連携サービス決定部1132が連携サービスを決定する方法である。
 この場合、接続管理部1122は、例えば、周辺機器のデバイス情報をユーザに提示し、ユーザからクライアント機器1201を選択する指示を受け付けることで、クライアント機器1201を決定する。
 そして、連携サービス決定部1132は、クライアント機器1201のデバイス情報と連携サービス情報に規定されたスペック要件とを照合し、実行可能な連携サービスを抽出し、抽出した連携サービスを、アプリケーション1107(サービスセレクトUI)を介してユーザに提示し、ユーザからの指示に基づき、実行対象の連携サービスを決定する。
 具体的には、連携サービス決定部1132は、抽出した連携サービスの一覧の表示依頼をアプリケーション1107に通知する。そして、アプリケーション1107は、連携サービスの一覧を表示装置(図略)に表示する。そして、アプリケーション1107は、操作装置(図略)を操作してユーザに指示された連携サービスを実行対象の連携アプリケーションとして受け付ける。
 なお、連携サービス決定部1132は、連携サービス情報をアプリケーション1107に通知し、連携サービスの決定をアプリケーション1107に委ねてもよい。この場合、アプリケーション1107は、連携サービス決定部1132と同様にして、サービス決定方法1又はサービス決定方法2を用いて実行対象の連携サービスを決定すればよい。
 配信スクリプト決定部1133は、クライアント機器1201のデバイス情報と、実行対象の連携サービスのスペック要件とを照合し、クライアント機器1201のクライアントUIを決定する。ここで、配信スクリプト決定部1133は下記のアプリ決定方法1、2を用いてクライアントUIを決定すればよい。
 (アプリ決定方法1)
 アプリ決定方法1は、配信スクリプト決定部1133自身が、連携サービス情報(図4参照)のスペック要件と、クライアント機器1201のデバイス情報とを参照することでクライアントUIを決定する方法である。
 図4の例において、OSが“OS_A”、解像度が“321-900px(tablet)”、サポート機能が“連携クライアント側機能、タッチ操作”のデバイス情報がデバイス情報取得部1121により取得されたとする。
 この場合、配信スクリプト決定部1133は、このデバイス情報を持つクライアント機器1201のクライアントUIとして、行4022のクライアントUIを決定する。
 ここで、あるクライアント機器1201につきクライアントUIの候補が複数存在したとする。例えば、OSが“OS_A”、解像度が“321-900px(tablet)”、サポート機能が“機器連携クライアント側機能、タッチ操作”のデバイス情報がデバイス情報取得部1121により取得され、このスペック要件を満たすクライアントUIが図4において2種類以上記述されていたとする。この場合、このデバイス情報を持つクライアント機器1201は複数のクライアントUIの候補を持つことになる。
 この場合、配信スクリプト決定部1133は、アプリケーション1107(マスターUI)にクライアントUIの決定依頼を行う。すると、アプリケーション1107は、複数のクライアントUIの候補をユーザに提示し、ユーザに選択されたクライアントUIを配信するクライアントUIとして決定してもよい。
 ここで、アプリケーション1107は、複数のクライアントUIの候補の一覧を表示装置(図略)に表示する。そして、アプリケーション1107は、操作装置(図略)を操作してユーザにより指示されたクライアントUIをユーザが選択したクライアントUIとして決定すればよい。
 なお、アプリケーション1107は、複数のクライアントUIの候補の中から自身が定める所定の基準に従って1つのクライアントUIを決定してもよい。
 所定の基準としては、連携サービスの目的、用途、又は使用するユーザの好み等応じて予め定められた基準を採用すればよい。このように、複数のクライアントUIの候補が存在する場合、クライアントUIの判定をアプリケーション1107に委ねることにより、アプリケーション1107の基準に準拠するクライアントUIを決定することができ、フレキシブルにクライアントUIを決定することができる。
 (アプリ決定方法2)
 アプリ決定方法2は、配信スクリプト決定部1133がアプリケーション1107(マスターUI)に連携サービス情報を通知し、アプリケーション1107に各クライアント機器1201のクライアントUIの決定を委ねる手法である。この場合、アプリケーション1107はアプリ決定方法1にて説明した手法、すなわち、配信スクリプト決定部1133がクライアントUIを決定する手法と同じ手法を用いてクライアントUIを決定すればよい。このように、アプリケーション1107にクライアントUIの決定を委ねることで、例えば、あるクライアント機器1201に対して複数のクライアントUIの候補がある場合、アプリケーション1107と配信スクリプト決定部1133との間でデータを送受することなく、1つのクライアントUIを決定することができる。
 スクリプト配信部1134は、配信スクリプト決定部1133により決定されたクライアントUIを各クライアント機器1201に配信する。
 具体的には、スクリプト配信部1134は、アプリケーション1107(サービスセレクトUI又はマスターUI)からの指示を受けて、配信スクリプト決定部1133にて決定したスクリプトを各機器に配信する。
 より具体的には、スクリプト配信部1134は、アプリケーション1107にクライアントUIを配信するためのAPI(Application Program Interface)を提供し、アプリケーション1107から実行対象の連携サービスのIDが指定されることより、配信スクリプト決定部1133にて決定されたクライアントUIを各クライアント機器1201に配信する。ここで、スクリプト配信部1134は、配信方法1、2を用いてクライアントUIを配信する。
 (配信方法1)
 配信方法1は、クライアントUIのスクリプトデータをクライアント機器1201に配信し、クライアント機器1201が備える記憶装置に(ローカル領域)に記憶させる方法である。この場合、クライアントUIの起動指示時に、クライアント機器1201はローカル領域に記憶したクライアントUIを起動することになる。
 (配信方法2)
 配信方法2は、マスター機器1101にHTTPサーバの機能を実行させ、クライアント機器1201に、マスター機器1101で保持されているクライアントUIのURI(Uniform Resource Identifier)を送信する方法である。この場合、クライアントUIの起動要求時に、クライアント機器1201は、マスター機器1101に保持されているクライアントUIのURIを指定してクライアントUIを起動することになる。
 配信方法1の場合には、例えば、クライアントUIのスクリプトデータの送信と併せて、実行対象となる連携サービスのID及びクライアントUIのIDをクライアント機器1201に送信しておく。すると、クライアント機器1201は、クライアントUIの起動時に連携サービスのID及びクライアントUIのIDを指定することでクライアントUIを起動することが可能となる。
 配信方法2の場合には、例えば、以下の3つの配信方法2-1~2-3が採用できる。
 (配信方法2-1)
 スクリプト配信部1134は、クライアントUIのURIの送信時に、実行対象の連携サービスのID、及びクライアントUIのIDをクライアント機器1201に送信しておく。
 そして、連携サービスライフサイクル管理部1104は、クライアントUIの起動時に、実行対象の連携サービスのID又は配信したクライアントUIのIDを指定して、クライアント機器1201にクライアントUIの起動指示を行う。
 (配信方法2-2)
 スクリプト配信部1134は、クライアントUIのURIの送信時に、実行対象の連携サービスのID、配信するクライアントUIのIDを送信しないが、連携サービスライフサイクル管理部1104が、クライアントUIの起動時に、配信するクライアントUIのURIを指定して、クライアント機器1201にクライアントUIの起動指示を行う。
 (配信方法2-3)
 配信方法2-3は、クライアントUIのURIの送信処理とクライアントUIの起動要求とをひとつの処理に統合する方法である。この場合、スクリプト配信部1134は、クライアントUIのURIを送信せず、連携サービスライフサイクル管理部1104がクライアントUIのURIを指定してクライアント機器1201にクライアントUIの起動指示を行う。
 ここで、クライアント機器1201のスクリプト受信部1231が、受信したクライアントUIを、連携サービスの実行終了後にも保持する構成をとる場合、スクリプト配信部1134は、下記の構成を採用すればよい。
 すなわち、スクリプト配信部1134は、クライアント機器1201のスクリプト受信部1231から保存しているクライアントUIのID及びクライアントUIのバージョンを取得し、取得したクライアントUIのID及びバージョンが配信スクリプト決定部1133にて決定されたクライアントUIのID及びバージョンと一致しているか否かを判定する。そして、スクリプト配信部1134は、クライアントUIのID及びバージョンが一致していないと判定した場合、クライアントUIのスクリプトデータを配信するようにすればよい。一方、スクリプト配信部1134は、クライアントUIのID及びバージョンが一致していると判定した場合、クライアントUIのスクリプトデータを配信しないようにすればよい。
 連携サービスライフサイクル管理部1104は、連携サービスを構成するUIアプリの実行制御を行う。
 具体的には、連携サービスライフサイクル管理部1104は、以下の機能を備える。
 (1)連携サービスライフサイクル管理部1104は、マスターUIと、各クライアント機器1201に配信したクライアントUIとを同期起動及び同期終了させる。この場合、連携サービスライフサイクル管理部1104は、マスターUIから連携サービスのサービスIDが指定されて同期起動又は同期終了が指示されると、指定されたサービスIDを持つ連携サービスを構成するマスターUIとクライアントUIとを同期起動又は同期終了させる。
 (2)連携サービスライフサイクル管理部1104は、連携サービスを構成するクライアントUIを実行するいずれかのクライアント機器1201からクライアントUIの終了を検知する。
 (3)連携サービスライフサイクル管理部1104は、クライアントUIを同期起動及び同期終了させるためのAPI、クライアントUIを実行中のクライアント機器1201のIPアドレスの取得するためのAPI、及びクライアントUIの終了を検知するためのAPIを提供する。
 ここで、連携サービスを構成するUIアプリの同期起動は、スクリプト配信部1134が配信方法1の方法を用いる場合には、下記の方法を採用すればよい。すなわち、連携サービスライフサイクル管理部1104は、UIアプリ実行エンジン1106にマスターUIのURIを引き渡して起動指示を行い、且つ、各クライアント機器1201のクライアント側ライフサイクル管理部1204にクライアントUIのIDを引き渡して起動指示を行えばよい。
 また、連携サービスを構成するUIアプリの同期起動は、スクリプト配信部1134が配信方法2の方法を用いる場合には、下記の方法を採用すればよい。すなわち、連携サービスライフサイクル管理部1104は、UIアプリ実行エンジン1106にマスターUIのURIを引き渡して起動指示を行い、且つ、各クライアント機器1201のクライアント側ライフサイクル管理部1204にマスター機器1101上のクライアントUIのID又はURIを引き渡して起動指示を行えばよい。
 また、連携サービスを構成するUIアプリの同期起動は、スクリプト配信部1134が配信方法2-3の方法を採用する場合には、下記の方法を採用すればよい。すなわち、連携サービスライフサイクル管理部1104は、UIアプリ実行エンジン1106にマスターUIのURIを引き渡して起動指示を行い、且つ、各クライアント機器1201のクライアント側ライフサイクル管理部1204にマスター機器1101上のクライアントUIのURIを引き渡して起動指示を行えばよい。
 連携サービスを構成するUIアプリを同期終了させる場合、連携サービスライフサイクル管理部1104は、UIアプリ実行エンジン1106と、各クライアント機器1201のクライアント側ライフサイクル管理部1204に終了指示を行えばよい。
 コンテンツ共有部1105は、マスター機器1101がクライアント機器1201と写真や動画等のコンテンツを共有する機能を提供する。コンテンツの共有は、例えば、DLNA(Digital Living Network Alliance)のContent Directory Serviceを用いて実現される。
 また、コンテンツ共有部1105は、マスター機器1101とクライアント機器1201との間で、コンテンツリスティング(クライアント機器1201のコンテンツをマスター機器1101に表示する)、コンテンツのダウンロード(クライアント機器1201のコンテンツをマスター機器1101にコピーする)、及びコンテンツのアップロード(マスター機器1101のコンテンツをクライアント機器1201にコピーする)等の機能を実現する。
 UIアプリ実行エンジン1106は、マスターUI等のマスター機器1101で実行されるUIアプリのスクリプトデータの所在であるURIが指定され、指定されたURIからマスターUIのスクリプトデータをロードしてアプリケーション1107を実現する。
 また、UIアプリ実行エンジン1106は、例えば、HTML5に対応するブラウザが提供する描画等のAPI、及びPhoneGapが提供するAPIをアプリケーション1107に提供する。
 アプリケーション1107は、UIアプリ実行エンジン1106にスクリプトデータがロードされることで実現され、機器接続管理部1102、連携サービス構成管理部1103、連携サービスライフサイクル管理部1104、コンテンツ共有部1105、及びUIアプリ実行エンジン1106が提供するAPIを利用して種々の処理を実行する。本実施の形態では、アプリケーション1107を構成するサービスセレクトUI及びマスターUIは、UIアプリ実行エンジン1106によって起動される。
 ネットワーク通信部1108は、例えば、アドホックモード及びインフラストラクチャモードに対応する通信モジュールにより構成され、マスター機器1101を構成する各構成要素から送信対象のデータが渡され、渡されたデータをクライアント機器1201に送信すると共に、クライアント機器1201から送信されるデータを取り込んで、各構成要素に供給する。その他、マスター機器1101は、DLNAに準拠してデータを送受する機能及びHTTPサーバを起動する機能を備えている。
 具体的には、マスター機器1101は、デバイス情報取得部1121、接続管理部1122、連携サービス決定部1132、配信スクリプト決定部1133、スクリプト配信部1134、連携サービスライフサイクル管理部1104、コンテンツ共有部1105、及びUIアプリ実行エンジン1106から送信対象のデータを取り込む。
 (クライアント機器1201の説明)
 クライアント機器1201は、クライアント側機器接続管理部1202、クライアント側サービス構成管理部1203、クライアント側ライフサイクル管理部1204、コンテンツ共有部1105、UIアプリ実行エンジン1106、アプリケーション1207、及びネットワーク通信部1208を備える。
 クライアント機器1201が備えるコンテンツ共有部1105及びUIアプリ実行エンジン1106は、マスター機器1101が備えるコンテンツ共有部1105及びUIアプリ実行エンジン1106と同じ機能を備えているため説明を省略する。
 クライアント側機器接続管理部1202は、デバイス情報提供部1221及びクライアント側接続管理部1222を備える。
 デバイス情報提供部1221は、マスター機器1101のデバイス情報取得部1121からの要求に応答して、クライアント機器1201のデバイス情報を返す。デバイス情報については、図2を用いて上述した。
 クライアント側接続管理部1222は、マスター機器1101の接続管理部1122からの接続依頼を受けて、アドホックネットワークに接続するか否かを決定し、決定結果をマスター機器1101の接続管理部1122に応答する。
 ここで、マスター機器1101からクライアント機器1201への接続依頼及びマスター機器1101への応答に関しては、例えば、WiFiDirectに規定のプロトコルに従って実現される。また、接続するか否かの決定は、例えば、接続依頼を行ったマスター機器1101の情報を表示装置(図略)に表示し、ユーザに接続依頼に同意するか否かを提示し、操作装置(図略)を操作して入力されたユーザの指示に基づき決定すればよい。
 クライアント側サービス構成管理部1203は、スクリプト受信部1231を備える。
スクリプト受信部1231は、マスター機器1101のスクリプト配信部1134から配信されたクライアントUIを受信して記録する。ここで、配信方法1が採用される場合、スクリプト受信部1231は、スクリプト配信部1134から送信されるクライアントUIのスクリプトデータを記録すればよい。
 なお、スクリプト受信部1231は、記録したスクリプトデータを連携サービス終了時に削除し、不要なデータを蓄積しないようにしてもよい。
 また、スクリプト受信部1231は、マスター機器1101のスクリプト配信部1134からクライアントUIの配信時に、配信予定のクライアントUIのID及びバージョンが、保存しているクライアントUIのID及びバージョンと一致するか否かを判定し、一致している場合のみ、クライアントUIを保存する構成としてもよい。
 また、スクリプト受信部1231は、マスター機器1101のスクリプト配信部1134からの問い合わせに応じて、保存しているクライアントUIのID及びバージョンを返答し、スクリプト配信部1134に配信予定のクライアントUIのID及びバージョンが、クライアント機器1201が保存しているクライアントUIのID及びバージョンと一致しているか否かを判定させる。そして、スクリプト受信部1231は、一致していない場合にのみクライアントUIを受信するようにしてもよい。
 また、スクリプト受信部1231は、マスター機器1101のスクリプト配信部1134から配信予定のクライアントUIのID及びバージョンを取得し、保存しているクライアントUIのID及びバージョンと一致しているか否かを判定し、一致していない場合にのみクライアントUIを受信する構成としてもよい。
 クライアント側ライフサイクル管理部1204は、マスター機器1101の連携サービスライフサイクル管理部1104からのクライアントUIの起動指示を受けて、スクリプト配信部1134が受信したクライアントUIの記録先のURIをクライアント機器1201のUIアプリ実行エンジン1106に通知し、クライアントUIを起動させる。
 ここで、スクリプト受信部1231が連携サービス実行後にクライアントUIを保存する構成をとる場合、クライアント側ライフサイクル管理部1204は下記の構成を採用すればよい。
 すなわち、クライアント側ライフサイクル管理部1204は、マスター機器1101の連携サービスライフサイクル管理部1104から引き渡された連携サービスのサービスID及びクライアントUIのIDと、スクリプト受信部1231が受信した連携サービスのサービスID及びクライアントUIのIDとの一致の有無を判定し、一致したと判定した場合にクライアントUIを起動するようにしてもよい。
 また、クライアント側ライフサイクル管理部1204は、マスター機器1101の連携サービスライフサイクル管理部1104からのクライアントUIの終了指示を受けると、クライアント機器1201のUIアプリ実行エンジン1106に終了指示を行う。
 また、クライアント側ライフサイクル管理部1204は、自機器上でクライアントUIを終了させる場合、自機器のIPアドレスを引数にして、マスター機器1101の連携サービスライフサイクル管理部1104に、クライアントUIの終了通知を行う。
 アプリケーション1207は、クライアント機器1201のUIアプリ実行エンジン1106がクライアントUIのスクリプトデータをデコードすることで実現され、クライアント機器1201が備えるコンテンツ共有部1105及びUIアプリ実行エンジン1106が提供するAPIを利用して種々の処理を実行する。
 ネットワーク通信部1208は、例えば、アドホックモード及びインフラストラクチャモードに対応する通信モジュールにより構成され、クライアント機器1201を構成する各構成要素から送信対象のデータが渡され、渡されたデータをクライアント機器1201に送信すると共に、マスター機器1101から送信されるデータを取り込んで、各構成要素に供給する。その他、クライアント機器1201は、DLNAに準拠してデータを送受する機能、及びHTTPクライアントを起動する機能を備えている。以上、本実施の形態におけるマスター機器1101、クライアント機器1201の構成を説明した。
 なお、図1において、機器接続管理部1102、連携サービス構成管理部1103、連携サービスライフサイクル管理部1104、コンテンツ共有部1105、UIアプリ実行エンジン1106は、プログラムにより構成され、CPUに実行されて実現される。
 また、連携サービス構成管理部1103を構成する連携サービス情報管理部1131は、ハードディスク等の記憶装置と、その記憶装置を制御するプログラムにより構成され、CPUに実行されて実現される。
 また、ネットワーク通信部1108は、通信モジュール及びその通信モジュールを制御するプログラムにより構成され、CPUに実行されて実現される。また、これらのプログラムは、コンピュータをマスター機器として機能させるマスター機器プログラムとしてハードディスク等の図略の記憶装置に記憶され、CPUにロードされる。マスター機器プログラムは、例えば、DVD-ROM等のコンピュータ読取可能な記録媒体に記録されてユーザに提供される。また、このマスター機器プログラムは、ネットワークを介して接続されたサーバに保持させ、ダウンロードさせることでユーザに提供されてもよい。
 また、図1に示すマスター機器1101のアプリケーション1107以外のブロックを専用のハードウェア回路により構成してもよい。この場合、各ブロックを1つのチップに集積して集積回路としてもよい。
 また、図1において、クライアント側機器接続管理部1202、クライアント側サービス構成管理部1203、クライアント側ライフサイクル管理部1204、コンテンツ共有部1105、及びUIアプリ実行エンジン1206は、プログラムにより構成され、CPUに実行されて実現される。また、ネットワーク通信部1108は、通信モジュール及びその通信モジュールを制御するプログラムにより構成され、CPUに実行されて実現される。また、これらのプログラムは、コンピュータをクライアント機器として機能させるクライアント機器プログラムとしてハードディスク等の図略の記憶装置に記憶され、CPUにロードされる。クライアント機器プログラムは、例えば、DVD-ROM等のコンピュータ読取可能な記録媒体に記録されてユーザに提供される。また、このクライアント機器プログラムは、ネットワークを介して接続されたサーバに保持させ、ダウンロードさせることでユーザに提供されてもよい。
 また、図1に示すマスター機器1101のアプリケーション1207以外のブロックを専用のハードウェア回路により構成してもよい。この場合、各ブロックを1つのチップに集積して集積回路としてもよい。
 (処理説明)
 以下、本発明の実施の形態1における連携サービス管理システム1001の処理の流れについて説明する。ここでは、連携サービスの決定、ネットワーク接続の確立、クライアントUIの決定、クライアントUIの配信、及び連携サービスの実行に関しての処理について説明する。
 図5は、連携サービスの決定、ネットワーク接続の確立、及びクライアントUIの決定に関する処理の一例を示すシーケンス図である。
 まず、マスター機器1101は、ユーザからの開始指示を受けてスタータを起動させる。ここで、ユーザからの開始指示としては、例えば、図9に示すようにマスター機器1101の表示装置(図略)に“機器連携ポータル”のアイコン9001aを表示し、ユーザにアイコン9001aをタッチさせる指示が採用される。
 例えば、マスター機器1101をアンドロイド(登録商標)のアプリケーションとして実現する場合には、スタータはActivity Classに相当する。次に、スタータは、連携サービス決定部1132にサービスセレクトUIの起動を要求する(S5001)。
 次に、連携サービス決定部1132は、連携サービス情報管理部1131が管理するサービスセレクトUIのURIを取得し(S5002)、UIアプリ実行エンジン1106にURIを指定してサービスセレクトUIの起動指示を行う(S5003)。これにより、UIアプリ実行エンジン1106は、指定されたURIからサービスセレクトUIのスクリプトデータを読み出し、アプリケーション1107としてサービスセレクトUIを起動させる。
 次に、サービスセレクトUIは、連携サービス情報管理部1131がアプリケーション1107に提供するAPIを利用して、連携サービス情報管理部1131に連携サービス情報の取得を要求し(S5004)、連携サービス情報を取得する。
 次に、サービスセレクトUIは、機器接続管理部1102が提供するAPIを利用して、機器接続管理部1102を介して周辺機器のデバイス情報を取得する(S5005)。次に、サービスセレクトUIは、取得したデバイス情報と連携サービス情報とを照合し、実行可能な連携サービスを抽出し、抽出した連携サービスをユーザに提示し、ユーザからの指示に基づき、実行対象の連携サービスを決定する(S5005A)。
 この場合、サービスセレクトUIは、図10(A)、(B)に示すように抽出した連携サービスをマスター機器1101のディスプレイに一覧表示し、いずれかの連携サービスをユーザにタッチさせることで、連携サービスを決定すればよい。
 図10(A)の例では、マスター機器1101のディスプレイには“動画再生”及び“写真交換”の連携サービスを示すアイコン1011a,1011bが一覧表示されている。また、図10(B)の例では、“動画再生”、“写真交換”、及び“旅行計画”の連携サービスを示すアイコン1013a~1013cが一覧表示されている。これらのアイコンの中からユーザは希望する連携サービスのアイコンをタッチすることで、連携サービスを選択する。
 次に、サービスセレクトUIは、実行対象の連携サービスのサービスIDを連携サービス決定部1132に通知する(S5006)。
 次に、連携サービス決定部1132は、連携サービス情報管理部1131が管理する連携サービス情報の中から、実行対象の連携サービスのUIアプリリスト4002を参照し、UI種別が“Master_UI”のURIを取得する(S5007)。図4の例において実行対象の連携サービスが“写真交換”である場合、ファイルパスに格納された“S001/V03/APP01master_index.html”がURIとして取得される。
 ここで、連携サービス決定部1132は、マスター機器1101のデバイス情報が、実行対象の連携サービスのスペック要件を満たしていない場合、選択した連携サービスは実行できない情報を表示装置(図略)に表示してユーザに選択した連携サービスは実行できないことを提示する。そして、連携サービス決定部1132は、連携サービスの実行を停止すればよい。
 次に、連携サービス決定部1132は、UIアプリ実行エンジン1106に取得したURIを指定してマスターUIの起動指示を行う(S5008)。これにより、UIアプリ実行エンジン1106は、指定されたURIからマスターUIのスクリプトデータを読み出し、アプリケーション1107としてマスターUIを起動させる。
 次に、マスターUIは、連携サービス情報管理部1131がアプリケーション1107に提供するAPIを利用して、連携サービス情報管理部1131から実行対象の連携サービスのUIアプリリスト4002を取得する(S5009)。
 次に、マスターUIは、機器接続管理部1102が提供するAPIを利用して、周辺機器のデバイス情報を機器接続管理部1102を介して取得する(S5010、S5011)。
 次に、マスターUIは、デバイス情報とUIアプリリスト4002とを照合して、接続依頼を行うクライアント機器1201を決定する(S5011A)。例えば、図4に示すUIアプリリスト4002が取得されたとすると、行4022又は行4023のスペック要件を満たす周辺機器がクライアント機器1201として決定される。
 ここで、マスターUIは、スペック要件を満たす周辺機器の一覧を表示装置(図略)に表示することでユーザに問い合わせる。そして、マスターUIは、ネットワーク接続を確立させる周辺機器として操作装置(図略)を操作してユーザにより指定された周辺機器をクライアント機器1201として決定してもよい。
 次に、マスターUIは、機器接続管理部1102がアプリケーション1107に提供するAPIを利用して、機器接続管理部1102にクライアント機器1201への接続依頼を要求する(S5012)。
 マスターUIから接続依頼の要求を受けた機器接続管理部1102は、クライアント側機器接続管理部1202に、接続依頼を行う(S5013)。クライアント側機器接続管理部1202は、マスター機器1101から接続依頼があったことを示す情報を表示装置(図略)に表示して、接続依頼があったことをユーザに提示する。そして、クライアント側機器接続管理部1202は、接続依頼に同意するか否かの指示をユーザから受け付け、指示結果を接続管理部1122に返答する(S5013A)。
 この場合、クライアント側機器接続管理部1202はクライアント機器1201の表示装置(図略)に、接続依頼を行ったマスター機器1101の例えばユーザ名などを表示して、接続依頼があったことをユーザに提示すると共に、同意ボタン及び拒否ボタンを表示装置(図略)に表示し、同意ボタン又は拒否ボタンをユーザにタッチさせることで、接続依頼に同意するか否かをユーザに入力させればよい。
 返答を受けた機器接続管理部1102は、接続依頼に同意する指示結果を受けた場合は、この指示結果を送信したクライアント機器1201のデバイス情報及びIPアドレスをマスターUIに渡す(S5013B)。
 次に、マスターUIは、実行対象の連携サービスのサービスIDと、ネットワーク接続を確立したクライアント機器1201のIPアドレスリストとを指定して、連携サービス決定部1132にクライアントUIの決定依頼を行う(S5014)。
 次に、連携サービス決定部1132は、実行対象の連携サービスのUIアプリリスト4002を連携サービス情報管理部1131から取得する(S5015)。
 次に、配信スクリプト決定部1133は、各クライアント機器1201のデバイス情報と連携サービス情報のスペック要件とを照合し、各クライアント機器1201に配信するクライアントUIを決定する(S5016)。
 次に、配信スクリプト決定部1133は、あるクライアント機器1201において、クライアントUIの候補が複数存在し、クライアントUIを一意に決定することができない場合、クライアントUIの候補を指定し、マスターUIにクライアントUIを決定するように問い合わせる(S5017)。この問い合わせを受けたマスターUIは、問い合わせのあったクライアント機器1201のクライアントUIの候補の中から、このクライアント機器1201に適したクライアントUIを決定し、決定結果を配信スクリプト決定部1133に通知する。
 このシーケンス図では、配信スクリプト決定部1133がクライアントUIを決定したが、これに限定されず、マスターUIがUIアプリリスト4002及び各クライアント機器1201のデバイス情報を照合して、各クライアント機器1201のクライアントUIを決定してもよい。
 次に、配信スクリプト決定部1133は、各クライアント機器1201のクライアントUIを最終決定し(S5018)、決定通知をマスターUIに行う(S5019)。なお、S5016において、配信スクリプト決定部1133が各クライアント機器1201のクライアントUIを一意に決定することができた場合は、S5017において、配信スクリプト決定部1133は、マスターUIに決定通知を行えばよい。
 ここで、図5に示したシーケンス図ではサービスセレクトUIが連携サービスを決定し、マスターUIを起動した後に、マスターUIが、ネットワーク接続の確立とクライアントUIの決定依頼を行う順序であったが、本発明はこれに限定されない。すなわち、サービスセレクトUIがネットワーク接続の確立と、連携サービスの決定を行い、マスターUIを起動させる。その後、マスターUIが、クライアント機器1201のIPアドレスリストを指定したクライアントUIの決定依頼を配信スクリプト決定部1133に行う順序にしてもよい。
 図6は、図5に続くシーケンス図であり、上記の配信方法1を採用した場合のシーケンス図である。まず、マスターUIは、スクリプト配信部1134が提供するAPIを利用して、クライアント機器1201のIPアドレスリスト、実行対象の連携サービスのサービスID、及びクライアントUIのIDを指定し、配信依頼をスクリプト配信部1134に行う(S6001)。
 次に、スクリプト配信部1134は、各クライアント機器1201に配信するクライアントUIのスクリプトデータを連携サービス決定部1132から取得する(S6002)。
 次に、スクリプト配信部1134は、各クライアント機器1201のスクリプト受信部1231に、クライアントUIのスクリプトデータ、クライアントUIのID、及び実行対象の連携サービスのサービスID等の情報を配信する(S6003)。
 次に、スクリプト受信部1231は、受信したクライアントUIのスクリプトデータ、サービスID、及びクライアントUIのID等の情報を記録する(S6004)。ここで、S6004において、スクリプト受信部1231は、クライアント機器1201のキャッシュ領域にクライアントUIのスクリプトデータをキャッシュしてもよいし、クライアント機器1201のパーシステント領域にクライアントUIのスクリプトデータをインストールしてもよい。
 次に、スクリプト受信部1231は、スクリプトデータの記録終了通知をスクリプト配信部1134を介してマスターUIに行う(S6004A)。
 次に、マスターUIは、連携サービスライフサイクル管理部1104が提供するAPIを利用して、実行対象の連携サービスの起動依頼を連携サービスライフサイクル管理部1104に行う(S6005)。この起動依頼には、各クライアント機器1201のIPアドレスリストが含まれている。
 次に、マスターUIから起動依頼を受けた連携サービスライフサイクル管理部1104は、クライアント側ライフサイクル管理部1204に、実行対象の連携サービスのサービスID、クライアントUIのID、及び各クライアント機器1201のIPアドレスリストを通知し、クライアントUIの起動依頼を行う(S6006)。
 次に、クライアント側ライフサイクル管理部1204は、サービスIDとクライアントUIのIDとを指定して、スクリプトデータが記録されたクライアントUIの所在であるローカルURIをスクリプト受信部1231から取得する(S6007)。
 次に、クライアント側ライフサイクル管理部1204は、ローカルURIを指定してクライアントUIの起動依頼をUIアプリ実行エンジン1106に行う(S6008)。次に、UIアプリ実行エンジン1106は、ローカルURIからクライアントUIのスクリプトデータを読み出し、クライアントUIを起動する(S6009)。これにより、マスター機器1101とクライアント機器1201とでUIアプリが同期して起動される。
 S6010~S6015は、マスター機器1101が連携サービスを終了させる際の処理を示している。まず、マスターUIは、クライアント機器1201のIPアドレスを指定し、終了依頼を連携サービスライフサイクル管理部1104に行う(S6010)。
 次に、連携サービスライフサイクル管理部1104は、終了対象となる連携サービスのサービスIDとクライアントUIのIDとを指定した終了依頼をクライアント側ライフサイクル管理部1204に行う(S6011)。
 次に、クライアント側ライフサイクル管理部1204は、スクリプト受信部1231から、起動中のクライアントUIのローカルURIを取得する(S6012)。次に、クライアント側ライフサイクル管理部1204は、UIアプリ実行エンジン1106に起動中のクライアントUIの終了依依頼を行う(S6013)。これにより、UIアプリ実行エンジン1106は、起動中のクライアントUIを終了する。次に、クライアント側ライフサイクル管理部1204は、クライアント機器1201(自身)のIPアドレスを指定した終了通知を連携サービスライフサイクル管理部1104に行う。次に、終了通知を受けた連携サービスライフサイクル管理部1104は、クライアント機器1201のIPアドレスを指定した終了通知をマスターUIに行う(S6015)。
 図7は、図5に続くシーケンス図であり、上記の配信方法2を採用した場合のシーケンス図である。まず、マスターUIは、スクリプト配信部1134が提供するAPIを利用して、クライアント機器1201のIPアドレスリスト、実行対象の連携サービスのサービスID、及びクライアントUIのIDを指定した配信依頼をスクリプト配信部1134に行う(S7001)。
 次に、スクリプト配信部1134は、各クライアント機器1201に配信するクライアントUIのURIを連携サービス決定部1132から取得する(S7002)。このURIは、マスター機器1101が保持するクライアントUIのスクリプトデータのURIである。
 次に、スクリプト配信部1134は、取得したクライアントUIのURI、クライアントUIのID、及び実行対象の連携サービスのサービスID等の情報をクライアント機器1201のスクリプト受信部1231に配信する(S7003)。ここで、クライアントUIのスクリプトデータではなく、URIがクライアント機器1201に送信されている点が、図6との相違点である。
 次に、スクリプト受信部1231は、受信したURI、サービスID、及びクライアントUIのID等の情報を保持する。(S7004)。
 次に、スクリプト受信部1231は、URI、サービスID、及びクライアントUIのID等の情報を保持したことを通知するための保持通知をスクリプト配信部1134を介してマスターUIに行う(S7003A)。
 次に、マスターUIは、連携サービスライフサイクル管理部1104が提供するAPIを利用して、実行対象の連携サービスの起動依頼を連携サービスライフサイクル管理部1104に行う(S7005)。この起動依頼には各クライアント機器1201のIPアドレスリストが含まれている。
 次に、マスターUIから起動依頼を受けた連携サービスライフサイクル管理部1104は、クライアント側ライフサイクル管理部1204に、サービスID、クライアントUIのID、及び各クライアント機器1201のIPアドレスリストを通知し、クライアントUIの起動依頼を行う(S7006)。
 次に、クライアント側ライフサイクル管理部1204は、サービスIDとクライアントUIのIDとを指定して、マスター機器1101上のクライアントUIのURIをスクリプト受信部1231から取得する(S7007)。
 次に、クライアント側ライフサイクル管理部1204は、クライアントUIのURIを指定し、クライアントUIの起動依頼をUIアプリ実行エンジン1106に行う(S7008)。次に、UIアプリ実行エンジン1106は、クライアントUIのURIを指定し、クライアントUIのロード依頼をスクリプト配信部1134に行う(S7010)。これにより、マスター機器1101に格納されたクライアントUIのスクリプトデータがネットワーク経由でクライアント機器1201にロードされる。そして、UIアプリ実行エンジン1106はロードされたクライアントUIのスクリプトデータをデコードして、クライアントUIを実行する。これにより、マスター機器1101とクライアント機器1201とでUIアプリが同期して起動する。
 S7011~S7016は、マスター機器1101が連携サービスを終了する際の処理であり、図6のS6011~S6016と同じであるため説明を省く。
 図8は、マスター機器1101において、ユーザがネットワークを選択する際に表示装置に表示される画面遷移の一例を示す図である。まず、表示装置には、種々の項目を設定するためのアイコン8002が表示された画面8001が表示される。アイコン8002がユーザによりタッチされると、表示装置には画面8004が表示される。
 画面8004には、ネットワーク設定と表示されたアイコン8003が表示されている。ユーザによりアイコン8003がタッチされると、伝送路を選択するための画面8005がディスプレイ(表示装置)に表示される。画面8005には、WiFiDirectと表示されたアイコン8006とWiFiと表示されたアイコン8007とが表示されている。アイコン8006がユーザによりタッチされると、マスター機器1101は通信路としてアドホックネットワークを選択する。一方、アイコン8007がユーザによりタッチされると、マスター機器1101は、通信路として、アクセスポイントを介したネットワークを選択する。
 マスター機器1101は、通信路としてアドホックネットワークを選択すると、周辺機器を検索し、周辺機器に対してネットワーク接続を確立するための接続依頼(invitation)を行う。一方、マスター機器1101は、通信路としてアクセスポイントを介したネットワークを選択すると、アクセスポイントとネットワーク接続を確立し、アクセスポイントを介して他の機器と通信する。
 図9は、マスター機器1101において、連携サービスを開始する際にディスプレイに表示される画面遷移の一例を示した図である。まず、ユーザにより連携サービスの開始の指示が入力されると、画面9001が表示される。画面9001には、機器連携ポータルと記載されたアイコン9001aが表示されている。アイコン9001aがタッチされると、画面9002がディスプレイに表示される。
 画面9002は、図8の画面8005と同様、伝送路を設定するための画面である。画面9002において、WiFiDirectと記載されたアイコン9002aがユーザによりタッチされると、現在、WiFiのネットワークに接続中であれば、伝送路をWiFiDirectへ切り替えてよいか否かを確認するための画面9003がディスプレイに表示される。
 一方、現在、WiFiのネットワークに接続中でなければ、周辺機器を再検索するための画面9007がディスプレイに表示される。
 画面9003において、OKと記載されたアイコン9003aがユーザにタッチされると、周辺機器が検索され、検索された周辺機器を一覧表示する画面9004がディスプレイに表示される。画面9004の例では、A~Cの3台の機器が周辺機器として検索され、ディスプレイに表示されている。
 一方、画面9003において、cancelと記載されたアイコン9003bがユーザにタッチされると、画面9002がディスプレイに再度表示される。
 画面9004において、ユーザにより周辺機器のうち、ネットワーク接続を確立させる機器、つまり、クライアント機器1201が選択され、“選択した機器を接続”と記載されたアイコン9004aがタッチされる。画面9004の例では、ユーザによりA~Cの機器がクライアント機器1201としてユーザに選択されている。
 すると、選択されたクライアント機器1201に対して接続依頼が送信される。このとき、ディスプレイには、クライアント機器1201に接続依頼を送信していることを示す画面9005が表示される。
 次に、ディスプレイにはネットワーク接続が確立されたクライアント機器1201が一覧表示された画面9006が表示される。画面9006の例では、A~Cの3台のクライアント機器1201から、接続依頼に同意する旨の返答を受けたため、A~Cの3台のクライアント機器1201が一覧表示されている。
 画面9006において、ユーザにより確定と記載されたアイコン9006aがタッチされると、マスター機器1101とA~Cの3台のクライアント機器1201との間で連携サービスが実行される。
 画面9007において、現在、A、Bの2台の機器とネットワーク接続が既に確立されていることが示されている。再検索と記載されたアイコン9007aがユーザによりタッチされると、マスター機器1101は周辺機器を再検索し、ディスプレイには検索結果を示す画面9008が表示される。
 画面9008では、新たにCが周辺機器として検索されたことが示されている。画面9008において、ユーザによりCがクライアント機器として選択され、“選択した機器を接続”と記載されたアイコン9008aがタッチされると、Cの機器に対して接続依頼を送信中であることを示す画面9009がディスプレイに表示される。
 そして、Cのクライアント機器1201から接続依頼に同意する返答を受けると、既にネットワーク接続が確立されているA、Bのクライアント機器1201に加えて更に、Cのクライアント機器1201とネットワーク接続が確立されたことを示す画面9010がディスプレイに表示される。
 画面9010において、ユーザにより確定と記載されたアイコン9010aがタッチされると、マスター機器1101とA~Cの3台のクライアント機器1201との間で連携サービスが実行される。
 画面9002において、WiFiと記載されたアイコン9002bがユーザによりタッチされると、WiFiによって既にネットワーク接続が確立されている機器を表示する画面9011がディスプレイに表示される。画面9011において、確定と記載されたアイコン9011aがタッチされると、A、Bの機器とマスター機器1101との間でアクセスポイントを介した通信が行われる。
 図10(A)、(B)は、マスター機器1101において、ユーザが連携サービスを選択する際にディスプレイに表示される画面遷移の一例を示した図である。図10(A)はクライアント機器1201としてA、Bの2台の機器が存在する場合を示し、図10(B)はクライアント機器1201としてA~Cの3台の機器が存在する場合を示している。
 図10(A)の画面1010では、クライアント機器1201としてA、Bの2台の機器が一覧表示されている。画面1010において、ユーザにより確定と記載されたアイコン1010aがタッチされると、ディスプレイには画面1011が表示される。
 画面1011には、A、Bのクライアント機器1201で実行可能な連携サービスが一覧表示され、且つ、各連携サービスを実行する際に使用するクライアント機器1201が表示されている。画面1011の例では、動画再生と記載されたアイコン1011aと、写真交換と記載されたアイコン1011bとが表示されている。また、アイコン1011aの横にはAと記載されたアイコンが表示され、動画再生の連携サービスを実行する場合、Aのクライアント機器1201が使用されることが示されている。また、写真交換と記載されたアイコン1011bの横にはBと記載されたアイコンが表示され、写真交換の連携サービスを実行する場合、Bのクライアント機器1201が使用されることが示されている。
 画面1011の例では、ユーザによりアイコン1011bがタッチされ、写真交換の連携サービスがユーザにより選択されている。したがって、マスター機器1101は、写真交換の連携サービスを実行するにあたりBのクライアント機器1201で必要なクライアントUIを決定し、Bのクライアント機器1201に決定したクライアントUIを配信する。
 一方、画面1011において、ユーザにより動画再生が選択されると、動画再生の連携サービスを実行するにあたりAのクライアント機器1201で必要なクライアントUIが決定され、Aのクライアント機器1201に決定したクライアントUIが配信される。
 図10(B)に示す画面1012では、マスター機器1101はA~Cの3台のクライアント機器1201とネットワーク接続を確立しているため、A~Cの3台のクライアント機器1201が一覧表示されている。
 図10(B)において、確定と記載されたアイコン1012aがユーザによりタッチされると、画面1013が表示される。画面1013の例では、A~Cのクライアント機器1201で実行可能な動画再生、写真交換、及び旅行計画の3つの連携サービスが一覧表示されている。
 そして、画面1013の例では、旅行計画と記載されたアイコン1013cがユーザによりタッチされている。したがって、旅行計画の連携サービスを実行するにあたり、A、Cのクライアント機器1201で必要となるクライアントUIが決定され、A、Cの2台のクライアント機器1201のそれぞれに決定されたクライアントUIが配信される。
 以上、実施の形態1による連携サービス管理システム1001によれば、アクセスポイントがない環境下で、周辺にあるクライアント機器1201とアドホックネットワークが構築され、ネットワーク接続が確立されたクライアント機器1201のスペック要件を満たすクライアントUIがクライアント機器1201に配信される。そのため、アクセスポイントがない環境下においてもアドホックネットワークを用いた連携サービスを実現することができる。
 (実施の形態2)
 実施の形態1においては、連携サービス構成管理部1103において連携サービス情報が管理されていたが、本実施の形態では、アプリケーション11107において連携サービス情報を管理し、この連携サービス情報を用いてクライアントUIを決定することを特徴とする。
 図11は、本発明の実施の形態2における連携サービス管理システム11001の一例を示す機能ブロック図である。
 図11において、図1と同じ構成要素については同じ符号を用い、説明を省略する。実施の形態2における連携サービス管理システム11001は、マスター機器11101及びクライアント機器1201を備える。以下、実施の形態2におけるマスター機器11101について説明する。
 (マスター機器11101の説明)
 マスター機器11101は、機器接続管理部1102、連携サービス構成管理部11103、連携サービスライフサイクル管理部1104、コンテンツ共有部1105、UIアプリ実行エンジン1106、アプリケーション11107、及びネットワーク通信部1108を備える。
 連携サービス構成管理部11103は、スクリプト配信部11131を備える。スクリプト配信部11131は、アプリケーション11107の配信スクリプト決定部11173が決定したクライアントUIを各クライアント機器1201に配信する。
 また、スクリプト配信部11131は、アプリケーション11107にクライアントUIを配信するためのインターフェイス(IF)を提供し、アプリケーション11107からクライアント機器1201のIPアドレスリストと、各クライアント機器1201に配信するクライアントUIとが指定され、クライアントUIを各クライアント機器1201に配信する。
 なお、スクリプト配信部11131は、実施の形態1で説明した配信方法1又は配信方法2を用いてクライアントUIをクライアント機器1201に配信すればよい。
 アプリケーション11107は、連携サービス情報管理部11171、連携サービス決定部11172、及び配信スクリプト決定部11173を備える。実施の形態1では、連携サービス情報管理部1131、連携サービス決定部1132、及び配信スクリプト決定部1133は、連携サービス構成管理部1103が備えていた。実施の形態2では、アプリケーション11107が連携サービス情報管理部11171、連携サービス決定部11172、及び配信スクリプト決定部11173を備えている。
 連携サービス情報管理部11171は、連携サービス情報を管理する。実施の形態1の連携サービス情報管理部1131との相違は、連携サービス情報管理部11171は、連携サービス情報を独自に管理している点にある。
 例えば、連携サービス情報管理部11171は、ディスプレイに連携サービスの一覧を表示して、ユーザに連携サービスを決定させるためのUIを実現するためのディスクリプションデータを管理しており、このUIを用いてユーザに連携サービスを決定させる。例えば、連携サービス情報管理部11171は、図4に示すUIアプリリスト4002のスペック要件として、独自に管理するスペック要件を採用する。
 また、連携サービス情報管理部11171は、ユーザの趣味等を予め入力させ、図4に示す連携サービスリスト4001において、ユーザの趣味に合わない連携サービスを削除するようにしてもよい。また、連携サービス情報管理部11171は、ユーザの年齢や性別等を予め入力させ、図4に示す連携サービスリスト4001において、ユーザの年齢や性別等に適していない連携サービスを削除するようにしてもよい。
 また、連携サービス情報管理部11171は、ユーザに好みのメーカや機種を入力させ、図4に示すUIアプリリスト4002において、ユーザの好みのメーカや機種以外のUIアプリを削除するようにしてもよい。こうすることで、ユーザは、好みのメーカや機種をクライアント機器1201として連携サービスを行うことができる。
 このように、連携サービス情報の管理をアプリケーション11107側に委ねることで、図4に示す連携サービス情報をアプリケーション11107の用途や目的に適した連携サービス情報にカスタマイズすることができ、この連携サービス情報を用いてクライアントUIを決定することができる。
 なお、連携サービス情報管理部11171、連携サービス決定部11172、及び配信スクリプト決定部11173は、アプリケーション11107で起動されたマスターUI又はイニシャル(Initial UI)により実現される。
 以下、本発明の実施の形態2における種々の用語について説明する。連携サービス、UIアプリ、及びクライアントUIについては実施の形態1と同じである。マスターUIは、機能については実施の形態1と同じであるが、本実施の形態ではイニシャルUIによって起動される点が実施の形態1とは異なる。
 イニシャルUIは、マスター機器11101により最初に起動される。そして、イニシャルUIは複数の連携サービスの中から、ユーザの指示に基づき、一つの連携サービスを決定し、決定した連携サービスを構成するマスターUIを起動する。
 図12は、本発明の実施の形態2における連携サービスの構成の一例を示す模式図である。マスター機器11101は、一つのイニシャルUIを管理し、最初にイニシャルUIを起動する。イニシャルUIは連携サービスを選択し、連携サービスを構成するマスターUIを起動する。図12では、マスター機器11101は、2つの連携サービス12001、12002を備えている。連携サービス12001は、マスター機器11101と2つのクライアント機器1201とで行われる連携サービスである。連携サービス12002は、マスター機器11101と1つのクライアント機器1201とで行われる連携サービスである。
 例えば、イニシャルUIが連携サービス12001を選択したとすると、連携サービス12001のマスターUIが起動される。一方、マスターUIが連携サービス12002を選択したとすると、連携サービス12002のマスターUIが起動される。
 図11に戻り、連携サービス決定部11172は、連携サービス決定部1132と同様、連携サービス情報管理部11171が管理する連携サービス情報にしたがって、実行対象の連携サービスを決定する。
 配信スクリプト決定部11173は、配信スクリプト決定部1133と同様、連携サービス情報管理部11171により管理されている連携サービス情報にしたがって、各クライアント機器1201に配信するクライアントUIを決定する。
 なお、図11に示すマスター機器11101のアプリケーション11107以外の各ブロックを、実施の形態1と同様、マスター機器プログラム、専用のハードウェア回路、或いは集積回路で構成してもよい。また、クライアント機器1201も実施の形態1と同様、クライアント機器プログラム、専用のハードウェア回路、或いは集積回路で構成してもよい。
 (処理説明)
 以下に、本発明の実施の形態2における連携サービス管理システム11001の処理の流れの一例を説明する。ここでは、連携サービスの決定、ネットワーク接続の確立、クライアントUIの決定、クライアントUIの配信、及び連携サービスの実行に関する処理について説明する。
 図13は、連携サービスの決定、ネットワーク接続の確立、及びクライアントUIの決定に関する処理の一例を示すシーケンス図である。
 まず、マスター機器11101は、ユーザからの開始指示を受けてスタータ(Starter)を起動し、処理を開始する。ここで、ユーザからの開始指示は、例えば、図9に示すようにマスター機器11101のディスプレイに“機器連携ポータル”のアイコン9001aを表示し、ユーザにアイコン9001aをタッチさせる指示が採用される。
 次に、スタータは、UIアプリ実行エンジン1106にURIを指定してイニシャルUIの起動指示を行う。これにより、アプリケーション11107としてイニシャルUIが起動される(S13001)。
 起動したイニシャルUIは、機器接続管理部1102が提供するAPIを利用して、周辺機器のデバイス情報を取得する(S13002、S13003)。
 次に、イニシャルUIが備える連携サービス情報管理部11171は、自身が管理する連携サービス情報と、取得したデバイス情報とを参照して、接続依頼を行うクライアント機器1201を決定し、機器接続管理部1102がアプリケーション11107に提供するAPIを利用して、クライアント機器1201に接続依頼要求を行う(S13004)。
 イニシャルUIからの接続依頼要求を受けた機器接続管理部1102は、クライアント機器1201のクライアント側機器接続管理部1202に、接続依頼を行う(S13005)。クライアント側機器接続管理部1202は、接続するか否かの判断を行い、マスター機器11101の機器接続管理部1102に返答する。ここで、クライアント側機器接続管理部1202は、ユーザからの指示に基づき、接続するか否かを判断する。
 次に、機器接続管理部1102は、イニシャルUIにネットワーク接続を確立したクライアント機器1201のIPアドレス及びデバイス情報を返す。
 次に、イニシャルUIが備える連携サービス決定部11172は、機器接続管理部1102が提供するAPIを利用して、クライアント機器1201のデバイス情報を取得する(S13006)。
 次に、イニシャルUIが備える連携サービス決定部11172は、連携サービス情報管理部11171が管理する連携サービス情報とデバイス情報とを照合し、実行可能な連携サービスを抽出し、抽出した連携サービスをユーザに提示し、ユーザからの指示に基づき、実行対象の連携サービスを決定する(S13007)。
 この場合、イニシャルUIが備える連携サービス決定部11172は、図10に示すように抽出した連携サービスをマスター機器1101のディスプレイに一覧表示し、いずれかの連携サービスをユーザにタッチさせることで、連携サービスを決定すればよい。
 次に、イニシャルUIが備える連携サービス決定部11172は、連携サービス情報を構成するUIアプリリスト4002を参照して、実行対象の連携サービスに対応するマスターUIを起動する(S13008)。
 次に、マスターUIが備える配信スクリプト決定部11173は、各クライアント機器1201のデバイス情報と連携サービス情報管理部11171が管理する連携サービス情報のスペック要件とを照合し(S13009)、各クライアント機器1201に配信するクライアントUIを決定する(S13010)。
 ここで、図13に示したシーケンスでは、イニシャルUIがネットワーク接続の確立と、連携サービスの決定とを行い、マスターUIを起動した後に、マスターUIがクライアント機器1201のIPアドレスを指定して、クライアントUIを決定する順序であったが、本発明はこれに限定されない。
 すなわち、イニシャルUIが連携サービスを決定し、マスターUIを起動した後に、マスターUIが、ネットワーク接続の確立とクライアントUIを決定する順序にしてもよい。
 図14は、図13に続くシーケンス図であり、上記の配信方法1を採用した場合のシーケンス図である。図14において、実施の形態1にて説明した図6と同じ処理には、同じ符号を用い、説明を省略する。
 まず、マスターUIは、スクリプト配信部11131が提供するAPIを利用して、各クライアント機器1201のIPアドレスリストと、各クライアント機器1201に配信するクライアントUIのスクリプトデータ及びIDとを指定して、クライアントUIの配信依頼を行う(S14001)。
 次に、スクリプト配信部11131は、各クライアント機器1201のスクリプト受信部1231に、クライアントUIのスクリプトデータ及びIDと、実行対象の連携サービスのサービスID等の情報を配信する(S14002)。
 以降、S6004からS6009の処理は、実施の形態1の図6にて説明した処理と同じため、説明を省略する。また、S6010~S6015は、実施の形態1と同様に、連携サービスを終了する際の処理の一例を示すシーケンスであるため、説明を省略する。
 図15は、図13に続くシーケンス図であり、上記の配信方法2を採用した場合のシーケンス図である。図15において、図7と同じ処理には、同じ符号を用い、説明を省略する。
 まず、マスターUIは、スクリプト配信部11131が提供するAPIを利用して、各クライアント機器1201のIPアドレスリストと各クライアント機器1201に配信するクライアントUIのURI及びIDとを指定して、クライアントUIの配信依頼を行う(S15001)。
 次に、スクリプト配信部11131は、各クライアント機器1201のスクリプト受信部1231に、クライアントUIのURI及びID、及びサービスID等の情報を配信する(S15002)。
 以降、S7004からS7010の処理は実施の形態1の図7にて説明した処理と同じため、説明を省略する。また、S7011~S7016は、実施の形態1と同様に、連携サービスを終了する際の処理の一例を示すシーケンスであるため、説明を省略する。
 以上、実施の形態2による連携サービス管理システム11001によれば、実施の形態1の効果を得ることに加え、アプリケーション11107の連携サービス情報管理部11171が独自に管理する連携サービス情報を用いて、連携サービス及びクライアントUIが決定されるため、アプリケーション11107の用途や目的に適する連携サービス及びクライアントUIを決定することができる。
 なお、上記の種々の実施の形態や、上記の種々の変形例を適宜組み合わせてもよい。また、上記の説明は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記の説明に限定されず、特許請求の範囲の記載によって示され、特許請求の範囲の記載と均等の意味及び範囲内での全ての変更が含まれることが意図される。
 (実施の形態の纏め)
 (1)本発明の一態様によるマスター機器は、自律分散型ネットワークにおいて、各機器を互いに連携させて実行される連携サービスを管理するマスター機器であって、複数の連携サービスに関して、各連携サービスを実行する際に各機器で必要となるアプリケーションに関する情報と前記アプリケーションを実行するために要求される各機器のスペック要件とを規定する連携サービス情報を管理する連携サービス情報管理部と、前記自律分散型ネットワークを介して検出された1又は複数の周辺機器から周辺機器のスペックを規定するデバイス情報を取得するデバイス情報取得部と、前記周辺機器から前記連携サービスに使用される1又は複数のクライアント機器を決定し、決定したクライアント機器とネットワーク接続を確立する接続管理部と、前記連携サービス情報に規定された連携サービスの中から、ユーザからの指示に基づき、実行対象の連携サービスを決定する連携サービス決定部と、前記クライアント機器のデバイス情報と、前記実行対象の連携サービスの前記スペック要件とに基づき、前記クライアント機器のアプリケーションを決定するアプリケーション決定部と、前記アプリケーション決定部により決定されたアプリケーションを前記クライアント機器に配信するアプリケーション配信部と、前記アプリケーション配信部により配信されたアプリケーションの起動指示を前記クライアント機器に行う連携サービスライフサイクル管理部とを備える。
 この構成によれば、連携サービスを実行するために必要となるアプリケーションを持たない1又は複数のクライアント機器が自律分散型ネットワークに接続された場合であっても、各クライアント機器に連携サービスを実行するために必要となるアプリケーションが配信される。そのため、アクセスポイントを介することなく各機器が接続されて通信を行う自律分散型ネットワークにおいて、一つのマスター機器と1又は複数の機器とを接続して実現される機器連携サービスを実現することができる。
 また、各クライアント機器のスペックに適したアプリケーションが各クライアント機器に配信されるため、クライアント機器において配信されたアプリケーションが実行できないという事態が回避され、自律分散型ネットワークにおいて確実に連携サービスを実行することができる。
 (2)前記連携サービス決定部は、1又は複数の前記周辺機器のデバイス情報と前記連携サービス情報に規定されたスペック要件とに基づき、実行可能な連携サービスを抽出し、抽出した連携サービスをユーザに提示し、ユーザからの指示に基づき、前記実行対象の連携サービスを決定し、前記接続管理部は、前記実行対象の連携サービスの前記スペック要件と前記周辺機器のデバイス情報とに基づき、前記実行対象の連携サービスに使用される1又は複数のクライアント機器を決定してもよい。
 この構成によれば、1又は複数の周辺機器のスペックから実行可能な連携サービスが抽出され、抽出された連携サービスの中からユーザは実行対象の連携サービスを選択することができる。そのため、ユーザが選択した連携サービスが実行できないといった事態を回避することができる。また、実行対象の連携サービスのスペック要件と1又は複数の周辺機器のデバイス情報とが照合され、実行対象の連携サービスが実行可能な周辺機器がクライアント機器として自動的に決定されるため、ユーザが周辺機器の中からクライアント機器を選択する手間を省くことができる。
 (3)前記接続管理部は、ユーザからの指示に基づき、前記周辺機器の中から1又は複数の前記クライアント機器を決定し、前記連携サービス決定部は、1又は複数の前記クライアント機器のデバイス情報と前記連携サービス情報に規定されたスペック要件とに基づき、実行可能な連携サービスを抽出し、抽出した連携サービスをユーザに提示し、ユーザからの指示に基づき、前記実行対象の連携サービスを決定してもよい。
 この構成によれば、マスター機器のユーザは周辺機器の中から好みの周辺機器をクライアント機器として選択し、そのクライアント機器とマスター機器とで実行可能な連携サービスが抽出され、抽出された連携サービスの中からユーザは実行対象の連携サービスを決定することになる。そのため、全く知らないユーザの機器と連携サービスが行われることが防止され、ユーザの個人情報が別の機器のユーザに流出するといった事態を回避することができる。
 (4)前記アプリケーション決定部は、あるクライアント機器において前記実行対象の連携サービスの前記スペック要件を満たすアプリケーションが複数存在する場合、これらのアプリケーションをユーザに提示し、ユーザに選択されたアプリケーションを前記クライアント機器に配信するアプリケーションとして決定してもよい。
 この構成によれば、スペック要件を満たす複数のアプリケーションが存在する場合、ユーザは、これらのアプリケーションの中から好みのアプリケーションを選択することができる。
 (5)前記アプリケーションは、前記マスター機器で実行されるマスターアプリケーションと、前記クライアント機器で実行されるクライアントアプリケーションとを含み、前記連携サービスライフサイクル部は、前記マスターアプリケーションと前記クライアントアプリケーションとを同期起動させてもよい。
 この構成によれば、クライアントアプリケーションとマスターアプリケーションとが同期して起動されるため、マスター機器及びクライアント機器の両方において一斉に連携サービスを開始することができる。
 (6)前記アプリケーション配信部は、前記アプリケーションのスクリプトデータを前記クライアント機器に配信して記憶させることで、前記アプリケーションを1又は複数の前記クライアント機器に配信してもよい。
 この構成によれば、クライアント機器は、アプリケーションの起動前にアプリケーションのスクリプトデータを記録し、アプリケーションの起動時にそのスクリプトデータを読み出すことでアプリケーションを起動することができる。そのため、クライアント機器は、アプリケーションを高速に起動させることができる。
 (7)前記アプリケーション配信部は、前記アプリケーション決定部により決定されたアプリケーションのURI(Uniform Resource Identifier)を1又は複数の前記クライアント機器に配信してもよい。
 この構成によれば、クライアント機器は、マスター機器からアプリケーションのURI(統一資源識別子)が配信され、アプリケーションの起動時にそのURIからアプリケーションを読み出すことでアプリケーションを起動することができる。そのため、アプリケーションを配信する際のデータ量を削減することができる。
 (8)前記アプリケーション配信部は、前記アプリケーションのURIの送信時に、前記実行対象の連携サービスのID及び前記アプリケーションのIDを前記クライアント機器に送信し、前記連携サービスライフサイクル管理部は、前記アプリケーションの起動時に、前記実行対象の連携サービスのID又は前記アプリケーションのIDを指定して、前記クライアント機器に前記アプリケーションの起動指示を行ってもよい。
 この構成によれば、アプリケーションのURIの送信時に併せて実行対象の連携サービスのID及びアプリケーションのIDが送信されている。そのため、アプリケーション配信部は、アプリケーションの起動時には連携サービスのID又はアプリケーションのIDを指定するだけでアプリケーションを起動することができる。
 (9)前記クライアント機器は、前記連携サービスの実行終了後も受信した前記アプリケーションを保持し、前記アプリケーション配信部は、前記アプリケーションのスクリプトデータの配信時に、前記クライアント機器から保存している前記アプリケーションのID及びバージョンを取得し、取得した前記アプリケーションのID及びバージョンが、前記アプリケーション決定部により決定されたアプリケーションのID及びバージョンと一致していない場合、前記アプリケーションのスクリプトデータを配信してもよい。
 この構成によれば、クライアント機器に対して一度配信されたアプリケーションはバージョンが変化した場合にのみ再度送信されることになる。そのため、アプリケーションを起動する都度、マスター機器はクライアント機器にアプリケーションを配信する必要がなくなる。
 (10)前記連携サービス情報管理部は、ユーザにより予め入力された情報に基づき、ユーザの好みに適合しない連携サービスを前記連携サービス情報から削除してもよい。
 この構成によれば、サービス情報の中からユーザの好みに適合しない連携サービスが予め削除されるため、ユーザは、自身の好みに応じた連携サービスが含まれるように、連携サービス情報をカスタマイズすることができる。
 (11)前記マスター機器は、前記デバイス情報取得部、前記接続管理部、前記アプリケーション配信部、及び連携サービスライフサイクル管理部から送信対象のデータを受け付けて、前記クライアント機器に送信し、且つ、前記クライアント機器から送信されるデータを受信するネットワーク通信部を更に備えてもよい。
 この構成によれば、マスター機器を構成する各ブロックは、ネットワーク通信部を介してクライアント機器と通信することになる。
 (12)本発明の一態様による連携サービス管理システムは、自律分散型ネットワークにおいて、複数の機器を互いに連携させて実行される連携サービスを管理する連携サービス管理システムであって、前記マスター機器と、前記マスター機器に対して前記自律分散型ネットワークを介して接続された1又は複数のクライアント機器とを備え、前記クライアント機器は、前記マスター機器からの接続依頼を受けて、前記マスター機器とネットワーク接続を確立するか否かを決定し、決定結果を前記マスター機器へ返答するクライアント側接続管理部と、前記マスター機器から配信されたアプリケーションを前記マスター機器からの起動要求を受けて起動するクライアント側ライフサイクル管理部とを備える。
 この構成によれば、(1)の効果が得られる連携サービス管理システムを提供することができる。
 (13)前記マスター機器の前記アプリケーション配信部は、前記アプリケーション決定部により決定されたアプリケーションのスクリプトデータを1又は複数の前記クライアント機器に配信して記憶させ、前記クライアント側ライフサイクル管理部は、前記起動要求を受けた際、記録したスクリプトデータを読み出すことで前記マスター機器から配信されたアプリケーションを起動することが好ましい。
 この構成によれば、(6)と同様の効果が得られる。
 (14)前記マスター機器の前記アプリケーション配信部は、前記アプリケーション決定部により決定されたアプリケーションのURIを1又は複数の前記クライアント機器に配信し、前記クライアント側ライフサイクル管理部は、前記起動要求を受けた際、前記マスター機器から配信されたURIを指定することで前記アプリケーションを起動することが好ましい。
 この構成によれば、(7)と同様の効果が得られる。
 (15)前記機器は、前記マスター機器の機能及び前記クライアント機器の両方の機能を備え、前記連携サービスを実行する際には、1つの機器が前記マスター機器の機能を実行し、残りの機器が前記クライアント機器の機能を実行することが好ましい。
 この構成によれば、マスター機器となる機器にはマスター機器の機能を実行させ、クライアント機器となる機器にはクライアント機器の機能を実行させることで連携サービスを実現することができる。
 本発明にかかる連携サービス管理システムは、製造産業において、継続的及び反復的に製造し、販売することができる。特に、連携サービスの制作と実行に携わる民生機器産業において利用できる。

Claims (16)

  1.  自律分散型ネットワークにおいて、複数の機器を互いに連携させて実行される連携サービスを管理するマスター機器であって、
     複数の連携サービスに関して、各連携サービスを実行する際に前記機器で必要となるアプリケーションに関する情報と前記アプリケーションを実行するために要求される前記機器のスペック要件とを規定する連携サービス情報を管理する連携サービス情報管理部と、
     前記自律分散型ネットワークを介して検出された1又は複数の周辺機器から周辺機器のスペックを規定するデバイス情報を取得するデバイス情報取得部と、
     前記周辺機器から前記連携サービスに使用される1又は複数のクライアント機器を決定し、決定したクライアント機器とネットワーク接続を確立する接続管理部と、
     前記連携サービス情報に規定された連携サービスの中から、ユーザからの指示に基づき、実行対象の連携サービスを決定する連携サービス決定部と、
     前記クライアント機器のデバイス情報と、前記実行対象の連携サービスの前記スペック要件とに基づき、前記クライアント機器のアプリケーションを決定するアプリケーション決定部と、
     前記アプリケーション決定部により決定されたアプリケーションを前記クライアント機器に配信するアプリケーション配信部と、
     前記アプリケーション配信部により配信されたアプリケーションの起動指示を前記クライアント機器に行う連携サービスライフサイクル管理部とを備えるマスター機器。
  2.  前記連携サービス決定部は、1又は複数の前記周辺機器のデバイス情報と前記連携サービス情報に規定されたスペック要件とに基づき、実行可能な連携サービスを抽出し、抽出した連携サービスをユーザに提示し、ユーザからの指示に基づき、前記実行対象の連携サービスを決定し、
     前記接続管理部は、前記実行対象の連携サービスの前記スペック要件と前記周辺機器のデバイス情報とに基づき、前記実行対象の連携サービスに使用される1又は複数のクライアント機器を決定する請求項1記載のマスター機器。
  3.  前記接続管理部は、ユーザからの指示に基づき、前記周辺機器の中から1又は複数の前記クライアント機器を決定し、
     前記連携サービス決定部は、1又は複数の前記クライアント機器のデバイス情報と前記連携サービス情報に規定されたスペック要件とに基づき、実行可能な連携サービスを抽出し、抽出した連携サービスをユーザに提示し、ユーザからの指示に基づき、前記実行対象の連携サービスを決定する請求項1記載のマスター機器。
  4.  前記アプリケーション決定部は、あるクライアント機器において前記実行対象の連携サービスの前記スペック要件を満たすアプリケーションが複数存在する場合、これらのアプリケーションをユーザに提示し、ユーザに選択されたアプリケーションを前記クライアント機器に配信するアプリケーションとして決定する請求項1~3のいずれかに記載のマスター機器。
  5.  前記アプリケーションは、前記マスター機器で実行されるマスターアプリケーションと、前記クライアント機器で実行されるクライアントアプリケーションとを含み、
     前記連携サービスライフサイクル管理部は、前記マスターアプリケーションと前記クライアントアプリケーションとを同期起動させる請求項1~4のいずれかに記載のマスター機器。
  6.  前記アプリケーション配信部は、前記アプリケーションのスクリプトデータを前記クライアント機器に配信して記憶させることで、前記アプリケーションを1又は複数の前記クライアント機器に配信する請求項1~5のいずれかに記載のマスター機器。
  7.  前記アプリケーション配信部は、前記アプリケーションのURI(Uniform Resource Identifier)を1又は複数の前記クライアント機器に配信する請求項1~5のいずれかに記載のマスター機器。
  8.  前記アプリケーション配信部は、前記アプリケーションのURIの送信時に、前記実行対象の連携サービスのID及び前記アプリケーションのIDを前記クライアント機器に送信し、
     前記連携サービスライフサイクル管理部は、前記アプリケーションの起動時に、前記実行対象の連携サービスのID又は前記アプリケーションのIDを指定して、前記クライアント機器に前記アプリケーションの起動指示を行う請求項7記載のマスター機器。
  9.  前記クライアント機器は、前記連携サービスの実行終了後も受信した前記アプリケーションを保持し、
     前記アプリケーション配信部は、前記アプリケーションのスクリプトデータの配信時に、前記クライアント機器から保存している前記アプリケーションのID及びバージョンを取得し、取得した前記アプリケーションのID及びバージョンが、前記アプリケーション決定部により決定されたアプリケーションのID及びバージョンと一致していない場合、前記アプリケーションのスクリプトデータを配信する請求項1~8のいずれかに記載のマスター機器。
  10.  前記連携サービス情報管理部は、ユーザにより予め入力された情報に基づき、ユーザの好みに適合しない連携サービスを前記連携サービス情報から削除する請求項1~9のいずれかに記載のマスター機器。
  11.  前記デバイス情報取得部、前記接続管理部、前記アプリケーション配信部、及び連携サービスライフサイクル管理部から送信対象のデータを受け付けて、前記クライアント機器に送信し、且つ、前記クライアント機器から送信されるデータを受信するネットワーク通信部を更に備える請求項1~10のいずれかに記載のマスター機器。
  12.  自律分散型ネットワークにおいて、複数の機器を互いに連携させて実行される連携サービスを管理する連携サービス管理システムであって、
     請求項1~11のいずれかに記載のマスター機器と、前記マスター機器に対して前記自律分散型ネットワークを介して接続された1又は複数のクライアント機器とを備え、
     前記クライアント機器は、
     前記マスター機器からの接続依頼を受けて、前記マスター機器とネットワーク接続を確立するか否かを決定し、決定結果を前記マスター機器へ返答するクライアント側接続管理部と、
     前記マスター機器から配信されたアプリケーションを前記マスター機器からの起動要求を受けて起動するクライアント側ライフサイクル管理部とを備える連携サービス管理システム。
  13.  前記マスター機器の前記アプリケーション配信部は、前記アプリケーション決定部により決定されたアプリケーションのスクリプトデータを1又は複数の前記クライアント機器に配信して記憶させ、
     前記クライアント側ライフサイクル管理部は、前記起動要求を受けた際、記録したスクリプトデータを読み出すことで前記マスター機器から配信されたアプリケーションを起動する請求項12記載の連携サービス管理システム。
  14.  前記マスター機器の前記アプリケーション配信部は、前記アプリケーション決定部により決定されたアプリケーションのURI(Uniform Resource Identifier)を1又は複数の前記クライアント機器に配信し、
     前記クライアント側ライフサイクル管理部は、前記起動要求を受けた際、前記マスター機器から配信されたURIを指定することで前記アプリケーションを起動する請求項12記載の連携サービス管理システム。
  15.  前記機器は、前記マスター機器の機能及び前記クライアント機器の両方の機能を備え、
     前記連携サービスを実行する際には、1つの機器が前記マスター機器の機能を実行し、残りの機器が前記クライアント機器の機能を実行する請求項12~14のいずれかに記載の連携サービス管理システム。
  16.  自律分散型ネットワークにおいて、複数の機器を互いに連携させて実行される連携サービスを管理するマスター機器による連携サービス管理方法であって、
     前記マスター機器は、複数の連携サービスに関して、各連携サービスを実行する際に前記機器で必要となるアプリケーションに関する情報と前記アプリケーションを実行するために要求される前記機器のスペック要件とを規定する連携サービス情報を管理する連携サービス情報管理部を備え、
     前記自律分散型ネットワークを介して検出された1又は複数の周辺機器から周辺機器のスペックを規定するデバイス情報を前記マスター機器が取得するデバイス情報取得ステップと、
     前記周辺機器から前記連携サービスに使用される1又は複数のクライアント機器を前記マスター機器が決定し、決定したクライアント機器とネットワーク接続を前記マスター機器が確立する接続管理ステップと、
     前記連携サービス情報に規定された連携サービスの中から、ユーザからの指示に基づき、実行対象の連携サービスを前記マスター機器が決定する連携サービス決定ステップと、
     前記クライアント機器のデバイス情報と、前記実行対象の連携サービスの前記スペック要件とに基づき、前記クライアント機器のアプリケーションを前記マスター機器が決定するアプリケーション決定ステップと、
     前記アプリケーション決定ステップにより決定されたアプリケーションを前記クライアント機器に前記マスター機器が配信するアプリケーション配信ステップと、
     前記アプリケーション配信ステップにより配信されたアプリケーションの起動指示を、前記マスター機器が前記クライアント機器に行う連携サービスライフサイクル管理ステップとを備える連携サービス管理方法。
PCT/JP2012/006896 2011-11-25 2012-10-26 マスター機器、連携サービス管理システム、及び連携サービス管理方法 WO2013076920A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2012800034134A CN103229522A (zh) 2011-11-25 2012-10-26 主机设备、协作服务管理系统以及协作服务管理方法
US13/880,504 US9332061B2 (en) 2011-11-25 2012-10-26 Master device, integrated service management system, and integrated service management method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011258044 2011-11-25
JP2011-258044 2011-11-25

Publications (1)

Publication Number Publication Date
WO2013076920A1 true WO2013076920A1 (ja) 2013-05-30

Family

ID=48469390

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/006896 WO2013076920A1 (ja) 2011-11-25 2012-10-26 マスター機器、連携サービス管理システム、及び連携サービス管理方法

Country Status (4)

Country Link
US (1) US9332061B2 (ja)
JP (1) JPWO2013076920A1 (ja)
CN (1) CN103229522A (ja)
WO (1) WO2013076920A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019079485A (ja) * 2017-09-08 2019-05-23 コニカ ミノルタ ヘルスケア アメリカズ, インコーポレイテッド クラウドからローカル、ローカルからクラウドへの切り替えと、医用画像及びデータの同期
WO2021107767A1 (en) * 2019-11-28 2021-06-03 Mimos Berhad Network controller system and method
JP2021136626A (ja) * 2020-02-28 2021-09-13 カシオ計算機株式会社 通信装置、通信システム、通信方法及びプログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5521833B2 (ja) * 2010-06-30 2014-06-18 ソニー株式会社 遠隔制御装置、遠隔制御設定方法及びプログラム
KR102125856B1 (ko) * 2012-11-12 2020-06-23 삼성전자주식회사 데이터를 송수신하기 위한 멀티미디어 장치들간 출력 장치 공유 방법 및 시스템
JP6253250B2 (ja) * 2013-05-01 2017-12-27 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP6387748B2 (ja) * 2014-09-02 2018-09-12 ブラザー工業株式会社 通信機器
US10628186B2 (en) * 2014-09-08 2020-04-21 Wirepath Home Systems, Llc Method for electronic device virtualization and management
CN104619041A (zh) * 2014-12-31 2015-05-13 广东欧珀移动通信有限公司 一种添加音箱到自组织网络的方法及装置
EP3113450B1 (en) * 2015-06-29 2018-04-25 Thomson Licensing Method for locating a service and method for proposing a service and corresponding communication network devices, system, computer readable program products and computer readable storage mediums
US11290425B2 (en) * 2016-02-01 2022-03-29 Airwatch Llc Configuring network security based on device management characteristics
FR3053864B1 (fr) * 2016-07-05 2018-08-17 Alstom Transport Technologies Procede de mise a jour d'une pluralite de vehicules et ensemble forme d'une pluralite de vehicules ferroviaires et d'un systeme de gestion associe
CN107509225A (zh) * 2017-08-15 2017-12-22 中国联合网络通信集团有限公司 一种自组织网络的切换方法及系统
CN113158146A (zh) * 2020-01-07 2021-07-23 网联清算有限公司 脚本管理方法、脚本管理平台、计算设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005500714A (ja) * 2001-04-12 2005-01-06 クゥアルコム・インコーポレイテッド グループ通信システム内の情報配信システムおよび方法
JP2005275617A (ja) * 2004-03-23 2005-10-06 Fujitsu Ltd サービス提供支援方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222500A (ja) 1999-12-01 2001-08-17 Sharp Corp ネットワークゲートウェイにおけるプログラムの配布方法
US20030217135A1 (en) * 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US7920827B2 (en) * 2002-06-26 2011-04-05 Nokia Corporation Apparatus and method for facilitating physical browsing on wireless devices using radio frequency identification
US7097562B2 (en) * 2003-06-03 2006-08-29 Wms Gaming Inc. Peer-to-peer distributed gaming application network
EP1711029A1 (en) * 2004-01-26 2006-10-11 Matsushita Electric Industrial Co., Ltd. Terminal device, method, and system capable of automatic execution of process in accordance with event
US20070101342A1 (en) * 2005-10-31 2007-05-03 Microsoft Corporation Automated device driver management
CN101296458B (zh) * 2008-06-30 2012-07-25 腾讯科技(深圳)有限公司 应用程序的功能表现方法、系统及设备
KR20110010052A (ko) * 2009-07-14 2011-01-31 삼성전자주식회사 방송 네트워크 및 인터넷 네트워크에 접속 가능한 클라이언트의 어플리케이션을 수신하는 방법 및 장치
CN101673212A (zh) * 2009-10-27 2010-03-17 华为技术有限公司 软件加载方法和装置
US8621035B2 (en) * 2010-07-15 2013-12-31 Broadcom Corporation Method and system for providing content remotely via one or more IP multimedia residential gateways
US8825767B2 (en) * 2010-10-05 2014-09-02 Sivapathalingham Sivavakeesar Scalable secure wireless interaction enabling methods, system and framework
CN102137390A (zh) * 2010-12-13 2011-07-27 华为软件技术有限公司 手机软件下载方法、设备和系统
KR101842256B1 (ko) * 2011-02-01 2018-03-26 삼성전자주식회사 어플리케이션을 원격으로 실행하는 방법 및 장치
JP6076248B2 (ja) * 2011-05-20 2017-02-08 日本放送協会 放送通信連携システム、アプリケーション管理サーバー、および、アプリケーション管理サーバーにおけるアプリケーション管理方法
US8656015B2 (en) * 2011-09-12 2014-02-18 Microsoft Corporation Detecting device presence for a layer 3 connection using layer 2 discovery information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005500714A (ja) * 2001-04-12 2005-01-06 クゥアルコム・インコーポレイテッド グループ通信システム内の情報配信システムおよび方法
JP2005275617A (ja) * 2004-03-23 2005-10-06 Fujitsu Ltd サービス提供支援方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019079485A (ja) * 2017-09-08 2019-05-23 コニカ ミノルタ ヘルスケア アメリカズ, インコーポレイテッド クラウドからローカル、ローカルからクラウドへの切り替えと、医用画像及びデータの同期
JP6991909B2 (ja) 2017-09-08 2022-01-13 コニカ ミノルタ ヘルスケア アメリカズ, インコーポレイテッド クラウドからローカル、ローカルからクラウドへの切り替えと、医用画像及びデータの同期
WO2021107767A1 (en) * 2019-11-28 2021-06-03 Mimos Berhad Network controller system and method
JP2021136626A (ja) * 2020-02-28 2021-09-13 カシオ計算機株式会社 通信装置、通信システム、通信方法及びプログラム
JP7234978B2 (ja) 2020-02-28 2023-03-08 カシオ計算機株式会社 通信装置、通信システム、通信方法及びプログラム

Also Published As

Publication number Publication date
US20140115025A1 (en) 2014-04-24
US9332061B2 (en) 2016-05-03
JPWO2013076920A1 (ja) 2015-04-27
CN103229522A (zh) 2013-07-31

Similar Documents

Publication Publication Date Title
WO2013076920A1 (ja) マスター機器、連携サービス管理システム、及び連携サービス管理方法
US10893094B2 (en) System and method for appliance detection and app configuration
US9854388B2 (en) Method and apparatus for pairing a mobile device to an output device
US10038737B2 (en) Application recommendation method, device, and system
US20140196023A1 (en) System and method to create and control a software appliance
JP5534623B2 (ja) 端末の遠隔管理方法及び装置
WO2012136165A1 (zh) 实现共享信息的方法、用户设备和服务器以及装置
US20210342860A1 (en) Consent Management System with Consent Request Process
US10917791B2 (en) System and method for migrating data between devices
US20120210353A1 (en) Second display interaction with social networking feed
CN104641357A (zh) 信息处理设备、移动终端、信息处理方法、程序和信息处理系统
CN102682063A (zh) 第二显示装置上的直接搜索启动
JP5601843B2 (ja) コミュニティ・ウィジェット提供方法及びその装置
US20140358994A1 (en) Systems and methods for location based data pushing
WO2012151851A1 (zh) 一种移动终端间共享数据的方法、系统及控制服务器
US20120210375A1 (en) System and method to easily return to a recently-accessed service on a second display
US11190915B2 (en) Method and apparatus in which a plurality of electronic devices use service linked to one electronic device
TW201415360A (zh) 在多個電子裝置上提供應用
US20200153750A1 (en) Enterprise business mobile dashboard
US9756393B2 (en) Recording option for advertised programs
KR102358028B1 (ko) 통신 프로파일 운용 방법 및 이를 지원하는 전자 장치
EP3748492A1 (en) Downloading and launching an app on a second device from a first device
US9161073B2 (en) System and method to remove outdated or erroneous assets from favorites or recently-viewed lists
US10510099B2 (en) Method and apparatus for providing content in a communication system
US9848037B2 (en) System for displaying content

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013517511

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13880504

Country of ref document: US

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

Ref document number: 12850899

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12850899

Country of ref document: EP

Kind code of ref document: A1