具体实施方式
下面,参照附图来说明本发明的实施方式。此外,这些附图是用于说明本发明能够采用的技术特征,只要没有特别进行特定的记载,所记载的装置的结构以及处理等并不限定于此,仅仅是说明例。
(实施方式1)
本发明实施方式1的协作服务管理系统在不存在用于连接到外部网络的接入点的环境下,与周围的设备构建自主分散型网络,将适合于各设备的技术规格(性能)的应用软件分发到各设备来实现协作服务。在此,自主分散型网络是指不依赖于接入点、基站,多数的终端自主分布性地起到与路由器相同的作用来实现链接通信的网络,例如相当于自组织网络。
(结构的说明)
图1是表示本发明的实施方式1中的协作服务管理系统1001的一例的功能框图。协作服务管理系统1001具备主机设备1101和客户设备1201。
协作服务管理系统1001通过一边相互通信一边执行协作服务的多个设备而实现。作为协作服务的一例,列举由主机设备1101和一个或多个客户设备1201将一个图像分割来进行显示的服务。
执行协作服务的设备例如像智能手机、平板终端、TV、记录器那样具备CPU等处理装置(未图示)、存储程序的存储器、硬盘等记录介质以及用于进行网络连接、网络通信的通信装置(未图示)等硬件。而且,执行协作服务的设备通过让处理装置执行记录在记录介质中的程序来实现网络连接功能。另外,执行协作服务的设备通过用户对所显示的操作画面进行的操作、或者来自网络连接的其它设备的操作能够执行各种处理。
另外,记录在记录介质中的程序例如是用于实现涉及在本实施方式中后面说明的序列的处理、构成执行协作服务的设备的要素的动作的程序。
另外,也可以不是使CPU执行记录在记录介质中的程序,而是利用集成电路来构成使CPU执行程序能够实现的动作。如果采用利用集成电路的结构,则不需要将对应的程序记录在记录介质中。
执行协作服务的设备搭载主机侧功能、客户侧功能这两方的功能或其中一方的功能。在执行协作服务时,一个设备执行主机侧功能而成为主机设备1101,其它的一个或多个设备执行客户侧功能而成为客户设备1201。
主机设备1101和客户设备1201通过网络NT连接。在本实施方式中,作为网络NT,以WiFi(注册商标)、WiFiDirect等的无线网络为例进行说明。但这是一例,作为网络NT,可以采用有线网络,也可以采用WiFi(注册商标)和WiFiDirect以外的其它无线网络,还可以采用有线网络和无线网络混合存在的网络。
WiFi的标准例如在WiFi联盟(WiFiAlliance)中有规定。在WiFi联盟中规定了设备经由接入点(AP)进行通信的基础模式(infrastructure mode)和设备彼此直接通信的自组织模式(ad hoc mode)。如果主机设备1101和客户设备1201选择自组织模式,则网络NT成为自组织网络。
主机设备1101从外围设备中决定要建立网络连接的客户设备1201,向已决定的客户设备1201发送连接委托,决定用于执行协作服务的应用软件(以下记述为UI(用户接口)应用软件。),将已决定的UI应用软件分发到客户设备1201,指示客户设备1201执行UI应用软件。
客户设备1201接受来自主机设备1101的连接委托,决定加入自组织网络,接收从主机设备1101分发的UI应用软件,并接受来自主机设备1101的指示来启动接收到的UI应用软件。
(主机设备1101的功能的概要)
主机设备1101具备下述(1)~(5)的功能。
(1)针对多个协作服务,管理规定有关在执行各协作服务时各设备所需的UI应用软件的信息和为了执行UI应用软件而要求的各设备的技术规格(specification requirement)的协作服务信息(参照图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中的各种用语。协作服务是指多个设备协作来执行的服务,具体而言,是将一个主机设备1101与一个或多个客户设备1201进行连接来实现的服务。为了执行协作服务,需要在各设备上执行的UI应用软件。
UI应用软件是指用于在构成协作服务的各设备中实现UI(用户接口)的应用软件。该UI应用软件例如用Javascript(注册商标)等的脚本语言来描述。将由主机设备1101启动的UI应用软件称为主机UI(MasterUI、主机应用软件的一例),将由客户设备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具备两个协作服务3001、3002。协作服务3001是在主机设备1101和两个客户设备1201进行的协作服务。协作服务3002是在主机设备1101和一个客户设备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获取到的一个或多个外围设备的设备信息与图4所示的协作服务信息所规定的技术规格进行比较,提取能够执行的协作服务。然后,协作服务决定部1132向应用软件1107(服务选择UI)发出选择提取出的协作服务的选择委托。应用软件1107将所提取出的协作服务提示给用户,将用户所指示的协作服务通知给协作服务决定部1132。然后,协作服务决定部1132将所通知的协作服务决定为执行对象的协作服务。
具体而言,应用软件1107将由协作服务决定部1132提取出的协作服务的一览显示在显示装置(省略图)上。然后,应用软件1107受理由用户操作操作装置(省略图)而指示的协作服务。然后,应用软件1107将所受理的协作服务通知给协作服务决定部1132。
在图4的例子中,当由设备信息获取部1121获取到满足行4022或行4023的技术规格的设备信息时,协作服务决定部1132可以判断是能够执行照片交换服务的协作服务。
然后,连接管理部1122将执行对象的协作服务的技术规格与外围设备的设备信息进行比较,决定在执行对象的协作服务中所要使用的客户设备1201。
在图4的例子中,在照片交换被决定为执行对象的协作服务的情况下,连接管理部1122可以将具有满足行4022或行4023的技术规格的设备信息的外围设备决定为客户设备1201。
在这种情况下,当满足行4022或行4023的技术规格的外围设备存在多个时,连接管理部1122可以通过应用软件1107将外围设备提示给用户,将由用户选择的一个或多个外围设备决定为客户设备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的例子中,假设由设备信息获取部1121获取到OS为“OS_A”、分辨率为“321-900px(tablet)”、支持功能为“协作客户侧功能、触摸操作”的设备信息。
在这种情况下,分发脚本决定部1133将行4022的客户UI决定为具有该设备信息的客户设备1201的客户UI。
在此,假设针对某客户设备1201存在多个客户UI的候选。例如,假设由设备信息获取部1121获取到OS为“OS_A”、分辨率为“321-900px(tablet)”、支持功能为“设备协作客户侧功能、触摸操作”的设备信息,满足该技术规格的客户UI在图4中描述有两种以上。在这种情况下,具有该设备信息的客户设备1201具有多个客户UI的候选。
在这种情况下,分发脚本决定部1133向应用软件1107(主机UI)发出客户UI的决定委托。于是,应用软件1107可以将多个客户UI的候选提示给用户,将用户所选择的客户UI决定为要分发的客户UI。
在此,应用软件1107将多个客户UI的候选的一览显示在显示装置(省略图)上。然后,应用软件1107可以将由用户操作操作装置(省略图)而指示的客户UI决定为用户所选择的客户UI。
此外,应用软件1107也可以按照自身所决定的指定的基准,从多个客户UI的候选中决定一个客户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之间发送接收数据,便能够决定一个客户UI。
脚本分发部1134将由分发脚本决定部1133决定的客户UI分发到各客户设备1201。
具体而言,脚本分发部1134接受来自应用软件1107(服务选择UI或主机UI)的指示,将由分发脚本决定部1133决定的脚本分发到各设备。
更具体而言,脚本分发部1134向应用软件1107提供用于分发客户UI的API(ApplicationProgram Interface:应用软件程序接口),从应用软件1107指定执行对象的协作服务的ID,由此将由分发脚本决定部1133决定的客户UI分发到各客户设备1201。在此,脚本分发部1134使用分发方法1、2分发客户UI。
(分发方法1)
分发方法1是将客户UI的脚本数据分发到客户设备1201并存储到客户设备1201所具备的存储装置(本地区域)的方法。在这种情况下,当有客户UI的启动指示发出时,客户设备1201启动存储于本地区域(local region)的客户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的情况下,例如能够采用以下三种分发方法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同步启动及同步结束。在这种情况下,当从主机UI指定协作服务的服务ID并指示同步启动或同步结束时,协作服务生命周期管理部1104使构成具有所指定的服务ID的协作服务的主机UI和客户UI同步启动或同步结束。
(2)协作服务生命周期管理部1104从执行构成协作服务的客户UI的某一个客户设备1201检测客户UI的结束。
(3)协作服务生命周期管理部1104提供用于使客户UI同步启动及同步结束的API、用于获取正在执行客户UI的客户设备1201的IP地址的API以及用于检测客户UI的结束的API。
在此,在脚本分发部1134使用分发方法1的方法的情况下,构成协作服务的UI应用软件的同步启动可以采用下述方法。即,协作服务生命周期管理部1104可以向UI应用软件执行引擎1106递送主机UI的URI来进行启动指示、且向各客户设备1201的客户侧生命周期管理部1204递送客户UI的ID来进行启动指示。
另外,在脚本分发部1134使用分发方法2的方法的情况下,构成协作服务的UI应用软件的同步启动可以采用下述方法。即,协作服务生命周期管理部1104可以向UI应用软件执行引擎1106递送主机UI的URI来进行启动指示、且向各客户设备1201的客户侧生命周期管理部1204递送主机设备1101上的客户UI的ID或URI来进行启动指示。
另外,在脚本分发部1134使用分发方法2-3的方法的情况下,构成协作服务的UI应用软件的同步启动可以采用下述方法。即,协作服务生命周期管理部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例如由与自组织模式(ad hoc mode)及基础模式(infrastructure mode)对应的通信模块构成,从构成主机设备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中,客户侧设备连接管理部1202、客户侧服务结构管理部1203、客户侧生命周期管理部1204、内容共享部1105以及UI应用软件执行引擎1206由程序构成,被CPU执行而实现。另外,网络通信部1108由通信模块和控制该通信模块的程序构成,被CPU执行而实现。另外,这些程序作为使计算机作为客户设备发挥功能的客户设备程序被存储在硬盘等省略图的存储装置中,并加载到CPU。客户设备程序例如被记录在DVD-ROM等的计算机可读取的记录介质中而被提供给用户。另外,该客户设备程序也可以保持在经由网络而连接的服务器中,并通过下载提供给用户。
另外,也可以由专用的硬件电路构成图1所示的主机设备1101的应用软件1207以外的模块。在这种情况下,可以将各模块集成于一个芯片作为集成电路。
(处理说明)
下面说明本发明的实施方式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从协作服务信息管理部1131获取执行对象的协作服务的UI应用软件列表4002(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向分发脚本决定部1133发出指定了客户设备1201的IP地址列表的客户UI的决定委托。
图6是接着图5的序列图,是采用了上述分发方法1时的序列图。首先,主机UI利用脚本分发部1134所提供的API,指定客户设备1201的IP地址列表、执行对象的协作服务的服务ID以及客户UI的ID,向脚本分发部1134发出分发委托(S6001)。
接着,脚本分发部1134从协作服务决定部1132获取向各客户设备1201分发的客户UI的脚本数据(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,从脚本接收部1231获取记录有脚本数据的客户UI的存在位置即本地URI(S6007)。
接着,客户侧生命周期管理部1204指定本地URI,向UI应用软件执行引擎1106发出客户UI的启动委托(S6008)。接着,UI应用软件执行引擎1106从本地URI读出客户UI的脚本数据,启动客户UI(S6009)。由此,在主机设备1101和客户设备1201中同步启动UI应用软件。
S6010~S6015示出主机设备1101使协作服务结束时的处理。首先,主机UI指定客户设备1201的IP地址,向协作服务生命周期管理部1104发出结束委托(S6010)。
接着,协作服务生命周期管理部1104向客户侧生命周期管理部1204发出指定了作为结束对象的协作服务的服务ID和客户UI的ID的结束委托(S6011)。
接着,客户侧生命周期管理部1204从脚本接收部1231获取启动中的客户UI的本地URI(S6012)。接着,客户侧生命周期管理部1204向UI应用软件执行引擎1106发出启动中的客户UI的结束委托(S6013)。由此,UI应用软件执行引擎1106使启动中的客户UI结束。接着,客户侧生命周期管理部1204向协作服务生命周期管理部1104发出指定了客户设备1201(自身)的IP地址的结束通知。接着,接收到结束通知的协作服务生命周期管理部1104向主机UI发出指定了客户设备1201的IP地址的结束通知(S6015)。
图7是接着图5的序列图,是采用了上述分发方法2时的序列图。首先,主机UI利用脚本分发部1134所提供的API,向脚本分发部1134发出指定了客户设备1201的IP地址列表、执行对象的协作服务的服务ID以及客户UI的ID的分发委托(S7001)。
接着,脚本分发部1134从协作服务决定部1132获取向各客户设备1201分发的客户UI的URI(S7002)。该URI是主机设备1101所保持的客户UI的脚本数据的URI。
接着,脚本分发部1134向客户设备1201的脚本接收部1231分发所获取到的客户UI的URI、客户UI的ID以及执行对象的协作服务的服务ID等的信息(S7003)。在此,不是发送客户UI的脚本数据而是将URI发送到客户设备1201,这一点是与图6不同之点。
接着,脚本接收部1231保持所接收到的URI、服务ID以及客户UI的ID等的信息。(S7004)。
接着,脚本接收部1231经由脚本分发部1134向主机UI发送用于通知保持了URI、服务ID以及客户UI的ID等信息的保持通知(S7003A)。
接着,主机UI利用协作服务生命周期管理部1104所提供的API,向协作服务生命周期管理部1104发出执行对象的协作服务的启动委托(S7005)。该启动委托中包含有各客户设备1201的IP地址列表。
接着,从主机UI接受了启动委托的协作服务生命周期管理部1104向客户侧生命周期管理部1204通知服务ID、客户UI的ID以及各客户设备1201的IP地址列表,进行客户UI的启动委托(S7006)。
接着,客户侧生命周期管理部1204指定服务ID和客户UI的ID,从脚本接收部1231获取主机设备1101上的客户UI的URI(S7007)。
接着,客户侧生命周期管理部1204指定客户UI的URI,向UI应用软件执行引擎1106发出客户UI的启动委托(S7008)。接着,UI应用软件执行引擎1106指定客户UI的URI,向脚本分发部1134发出客户UI的加载委托(S7010)。由此,保存在主机设备1101中的客户UI的脚本数据经由网络加载到客户设备1201中。然后,UI应用软件执行引擎1106对所加载的客户UI的脚本数据进行解码来执行客户UI。由此,在主机设备1101和客户设备1201中UI应用软件同步地启动。
S7011~S7016是主机设备1101结束协作服务时的处理,与图6的S6011~S6016相同,因此省略说明。
图8是表示在主机设备1101中用户选择网络时显示在显示装置上的画面转变的一例的图。首先,在显示装置上显示画面8001,该画面8001上显示有用于设定各种项目的图标8002。当由用户触摸图标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中,当记载为“可以”的图标9003a被用户触摸时,搜索外围设备,在显示器上显示对搜索到的外围设备进行一览显示的画面9004。在画面9004的例子中,搜索A~C这3台设备作为外围设备并显示在显示器上。
另一方面,在画面9003中,当记载为“取消”的图标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中,作为客户设备1201A、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中执行的动画再生、照片交换以及旅行计划这三个协作服务被一览显示。
而且,在画面1013的例子中,由用户触摸了记载为“旅行计划”的图标1013c。因而,在执行旅行计划的协作服务时,决定A、C客户设备1201所需的客户UI,向A、C这2台客户设备1201分别分发所决定的客户UI。
以上,根据实施方式1的协作服务管理系统1001,在没有接入点的环境下,与处于周边的客户设备1201构建自组织网络,向客户设备1201分发满足建立了网络连接的客户设备1201的技术规格的客户UI。因此,即使在没有接入点的环境下也能够实现利用自组织网络的协作服务。
(实施方式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向各客户设备1201分发应用软件11107的分发脚本决定部11173所决定的客户UI。
另外,脚本分发部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启动主机UI,这一点不同于实施方式1。
初始UI最初通过主机设备11101而被启动。然后,初始UI基于用户的指示从多个协作服务中决定一个协作服务,启动构成所决定的协作服务的主机UI。
图12是表示本发明的实施方式2中的协作服务结构的一例的示意图。主机设备11101管理一个初始UI,最初启动初始UI。初始UI选择协作服务,启动构成协作服务的主机UI。在图12中,主机设备11101具备两个协作服务12001、12002。协作服务12001是在主机设备11101和两个客户设备1201进行的协作服务。协作服务12002是在主机设备11101和一个客户设备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的指示。
接着,启动器指定URI向UI应用软件执行引擎1106发出初始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)本发明的一个方式的主机设备管理在自主分散型网络中使多个设备相互协作而被执行的协作服务,包括:协作服务信息管理部,针对多个协作服务,管理规定有关在执行各协作服务时所述设备所需的应用软件的信息和为了执行所述应用软件而要求的所述设备的技术规格的协作服务信息;设备信息获取部,从经由所述自主分散型网络检测出的一个或多个外围设备获取规定外围设备的技术规格的设备信息;连接管理部,从所述外围设备决定所述协作服务所要使用的一个或多个客户设备,并与所决定的客户设备建立网络连接;协作服务决定部,基于来自用户的指示从所述协作服务信息所规定的协作服务中决定执行对象的协作服务;应用软件决定部,基于所述客户设备的设备信息和所述执行对象的协作服务的所述技术规格决定所述客户设备的应用软件;应用软件分发部,将由所述应用软件决定部决定的应用软件分发到所述客户设备;以及协作服务生命周期管理部,向所述客户设备发出由所述应用软件分发部分发的应用软件的启动指示。
根据此结构,即使不具备执行协作服务所需的应用软件的一个或多个客户设备被连接到自主分散型网络,也向各客户设备分发执行协作服务所需的应用软件。因此,在不通过接入点连接各设备进行通信的自主分散型网络中,可以实现通过将一个主机设备与一个或多个设备连接而实现的设备协作服务。
此外,由于将适合于各客户设备的技术规格的应用软件分发给各客户设备,因此可避免分发给客户设备的应用软件不能被执行的事态,在自主分散型网络中可靠地实现协作服务。
(2)所述协作服务决定部可以基于一个或多个所述外围设备的设备信息和所述协作服务信息所规定的技术规格提取能够执行的协作服务,将提取出的协作服务提示给用户,并基于来自用户的指示决定所述执行对象的协作服务,所述连接管理部可以基于所述执行对象的协作服务的所述技术规格和所述外围设备的设备信息决定所述执行对象的协作服务所要使用的一个或多个客户设备。
根据此结构,基于一个或多个外围设备的技术规格提取能够执行的协作服务,用户可以从提取出的协作服务选择执行对象的协作服务。因此,可以避免用户选择的协作服务不能执行的事态。此外,由于将执行对象的协作服务的技术规格与一个或多个外围设备的设备信息相对照,可执行执行对象的协作服务的外围设备作为客户设备被自动选择,因此可以省去用户从外围设备中选择客户设备的麻烦。
(3)所述连接管理部可以基于来自用户的指示从所述外围设备中决定一个或多个所述客户设备,所述协作服务决定部可以基于一个或多个所述客户设备的设备信息和所述协作服务信息所规定的技术规格提取能够执行的协作服务,将提取出的协作服务提示给用户,并基于来自用户的指示决定所述执行对象的协作服务。
根据此结构,主机设备的用户从外围设备中选择喜欢的外围设备作为客户设备,提取在该客户设备和主机设备可执行的协作服务,用户从提取的协作服务中决定执行对象的协作服务。因此,可防止与完全不知道的用户设备进行协作服务,避免用户的个人信息泄漏给别的设备的用户的事态。
(4)在某客户设备中存在多个满足所述执行对象的协作服务的所述技术规格的应用软件的情况下,所述应用软件决定部可以将这些应用软件提示给用户,并将被用户选择的应用软件决定为向所述客户设备分发的应用软件。
根据此结构,当存在多个满足技术规格的应用软件时,用户可以从这些应用软件中选择喜欢的应用软件。
(5)所述应用软件可以包含在所述主机设备中执行的主机应用软件和在所述客户设备中执行的客户应用软件,所述协作服务生命周期管理部可以使所述主机应用软件与所述客户应用软件同步启动。
根据此结构,由于客户应用软件与主机应用软件同步启动,因此主机设备与客户设备双方可一起开始协作服务。
(6)所述应用软件分发部可以通过将所述应用软件的脚本数据分发到所述客户设备进行存储,将所述应用软件分发到一个或多个所述客户设备。
根据此结构,客户设备可以在应用软件启动前记录应用软件的脚本数据,在应用软件启动时通过读出该脚本数据启动应用软件。因此,客户设备可以使应用软件高速启动。
(7)所述应用软件分发部可以将所述应用软件的URI(Uniform Resource Identifier)分发到一个或多个所述客户设备。
根据此结构,客户设备被分发来自主机设备的应用软件的URI(统一资源识别子),在应用软件启动时,可以通过从该URI读出应用软件来启动应用软件。因此,可削减分发应用软件时的数据量。
(8)所述应用软件分发部可以在所述应用软件的URI的发送时将所述执行对象的协作服务的ID和所述应用软件的ID发送到所述客户设备,所述协作服务生命周期管理部在所述应用软件的启动时指定所述执行对象的协作服务的ID或所述应用软件的ID,向所述客户设备发出所述应用软件的启动指示。
根据此结构,在应用软件的URI的发送时将执行对象的协作服务的ID和应用软件的ID一起发送。因此,仅通过应用软件分发部在应用软件的启动时指定协作服务的ID或应用软件的ID就可启动应用软件。
(9)所述客户设备可以在所述协作服务的执行结束后也保持接收到的所述应用软件,所述应用软件分发部可以在所述应用软件的脚本数据的分发时从所述客户设备获取所保存的所述应用软件的ID及版本,在所获取到的所述应用软件的ID及版本与由所述应用软件决定部决定的应用软件的ID及版本不一致的情况下,分发所述应用软件的脚本数据。
根据此结构,对客户设备分发过一次的应用软件仅在版本发生了变化时才被再次发送。因此,启动应用软件时,主机设备没有必要每次都向客户设备分发应用软件。
(10)所述协作服务信息管理部可以基于由用户预先输入的信息从所述协作服务信息删除不符合用户的喜好的协作服务。
根据此结构,由于预先从服务信息中删除了不符合用户的喜好的协作服务,因此用户可以定制协作服务信息使之包含符合自己的喜好的协作服务。
(11)所述主机设备还可以包括网络通信部,该网络通信部从所述设备信息获取部、所述连接管理部、所述应用软件分发部以及协作服务生命周期管理部受理发送对象的数据并发送到所述客户设备,并且接收从所述客户设备发送的数据。
根据此结构,构成主机设备的各模块通过网络通信部与客户设备通信。
(12)本发明的协作服务管理系统管理在自主分散型网络中使多个设备相互协作而被执行的协作服务,包括上述的主机设备和经由所述自主分散型网络与所述主机设备连接的一个或多个客户设备,所述客户设备具备:客户侧连接管理部,接受来自所述主机设备的连接委托,决定是否与所述主机设备建立网络连接,并将决定结果返送给所述主机设备;以及客户侧生命周期管理部,接受来自所述主机设备的启动请求,启动从所述主机设备分发的应用软件。
根据此结构,可以提供能获得(1)的效果的协作服务管理系统。
(13)优选,所述主机设备的所述应用软件分发部,将由所述应用软件决定部决定的应用软件的脚本数据分发到一个或多个所述客户设备加以存储,所述客户侧生命周期管理部在接收到所述启动请求时,通过读出所记录的脚本数据来启动从所述主机设备分发的应用软件。
根据此结构,可以获得与(6)同样的效果。
(14)优选,所述主机设备的所述应用软件分发部,将由所述应用软件决定部决定的应用软件的URI(Uniform Resource Identifier)分发到一个或多个所述客户设备,所述客户侧生命周期管理部在接收到所述启动请求时,通过指定从所述主机设备分发的URI来启动所述应用软件。
根据此结构,可以获得与(7)同样的效果。
(15)优选,所述设备具备所述主机设备的功能和所述客户设备这两方的功能,在执行所述协作服务时,一个设备执行所述主机设备的功能,剩下的设备执行所述客户设备的功能。
根据此结构,通过使作为主机设备的设备执行主机设备的功能,使作为客户设备的设备执行客户设备的功能,可以实现协作服务。
产业上的可利用性
本发明所涉及的协作服务管理系统在制造产业中能够持续和反复地制造并销售。尤其是能够利用于从事协作服务的制作和执行的民生设备产业。