CN101888396B - 调用设备能力的方法、微技设备和服务器 - Google Patents
调用设备能力的方法、微技设备和服务器 Download PDFInfo
- Publication number
- CN101888396B CN101888396B CN2009101386732A CN200910138673A CN101888396B CN 101888396 B CN101888396 B CN 101888396B CN 2009101386732 A CN2009101386732 A CN 2009101386732A CN 200910138673 A CN200910138673 A CN 200910138673A CN 101888396 B CN101888396 B CN 101888396B
- Authority
- CN
- China
- Prior art keywords
- equipment
- capacity
- server
- call
- widget
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及通信技术领域,公开了调用设备能力的方法、微技设备和服务器;其中,调用设备能力的方法,包括:接收微技发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;从设备能力库中查找满足所述条件的设备能力;调用所述查找到的设备能力;接收所述查找到的设备能力被调用后返回的调用结果;将所述调用结果发送给所述微技。使用本发明实施例提供的技术方案,可以使widget设备调用各个设备的设备能力。
Description
技术领域
本发明涉及通信技术领域,尤其涉及调用设备能力的方法、微技设备和服务器。
背景技术
随着网络技术的发展,越来越多的应用都可以通过网络来实现,例如,可以通过网络对设备进行控制和管理,使操作人员不需要到达现场即可以对设备进行控制和管理,从而加快处理速度。
现有的一种通过网络对设备进行控制的方法如下所述:
预先设定客户端可以控制的设备,并对客户端和设备进行相应的设置,对客户端的设置包括客户端可以控制哪些设备,对设备的设置包括设备可以被那些客户端控制;在上述设置完成后,用户可以根据设置通过客户端(也可以是浏览器)向服务器发出远程设备控制请求,远程设备控制请求可以具体指定需要控制的远程设备,也可以仅提供相应的查询条件,由服务器查询出相应的远程设备。客户端与服务器间的通信可以采用标准协议。
服务器接收到客户端发送的远程设备控制请求后,确定客户端需要控制的远程设备;查询维护的数据库中该远程设备的协议映射规则,根据标准协议中的控制指令获取该远程设备的私有协议,向远程设备转发控制请求。
远程设备通过私有协议向服务器返回相应结果,服务器将结果通过标准协议返回给客户端。
在对现有技术的研究中,发明人发现:通过现有的上述方法,虽然可以让客户端通过服务器远程控制一些设备,但是在控制之前需要对客户端和设备进行设置,使客户端仅能对设置允许控制的设备进行控制,设备也仅能被设置的客户端控制,即设备的设备能力仅能被设置的客户端调用,而其他未设置客户端并不能调用设备的设备能力,导致系统中设备资源得不到充分利用。
发明内容
本发明实施例提供了调用设备能力的方法、微技设备和服务器,使widget设备可以调用各个设备的设备能力。
本发明实施例提供了一种调用设备能力的方法,包括:
接收微技发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;
从设备能力库中查找满足所述条件的设备能力;
调用所述查找到的设备能力;
接收所述查找到的设备能力被调用后返回的调用结果;
将所述调用结果发送给所述微技。
本发明实施例还提供了一种微技设备,包括接收单元,查找单元,调用单元和发送单元,其中:
所述接收单元,用于接收微技发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;
所述查找单元,用于从设备能力库中查找满足所述条件的设备能力;
所述调用单元,用于调用所述查找单元查找到的设备能力;
其中,所述接收单元还用于接收所述查找单元查找到的设备能力被所述调用单元调用后返回的调用结果;
所述发送单元,用于将所述接收单元接收的调用结果发送给所述微技。
本发明实施例还提供了一种微技设备,包括接收单元和发送单元,其中:
所述接收单元,用于接收微技发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;
所述发送单元,用于通过所述微技服务器将所述设备能力调用请求发送给所述设备能力服务器,以便于所述设备能力服务器可以从综合设备能力库中查找满足所述条件的设备能力、并调用查找到的设备能力;
其中,所述接收单元还用于接收所述设备能力服务器发送的调用结果;所述发送单元还用于将所述接收单元接收的调用结果发送给所述微技。
本发明实施例还提供了一种服务器,包括接收单元,查找单元,调用单元和发送单元,其中:
所述接收单元,用于接收微技设备通过微技服务器发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;
所述查找单元,用于从综合设备能力库中查找满足所述条件的设备能力;
所述调用单元,用于调用所述查找单元查找到的设备能力;
其中,所述接收单元还用于接收所述查找单元查找到的设备能力被所述调用单元调用后返回的调用结果;
所述发送单元,用于将所述接收单元接收的调用结果发送给所述微技设备。
从本发明实施例提供的以上技术方案可以看出,由于本发明实施例中widget设备可以运行需要调用设备能力的widget,可以接收widget运行时发送的设备能力调用请求,从设备能力库中查找设备能力,并对查找到的设备能力进行调用,从而获得调用结果,使widget能够正确地执行,并且系统中设备的能力能够被其他设备所调用,使系统资源得到充分的利用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中系统架构图;
图2为本发明实施例中调用设备能力的方法实施例一的流程图;
图3为本发明实施例中调用设备能力的方法实施例二的流程图;
图4为本发明实施例中微技设备实施例一的结构图;
图5为本发明实施例中微技设备实施例二的结构图;
图6为本发明实施例中服务器实施例的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
先介绍本发明实施例涉及的微技(widget),widget是一种基于互联网环球网(Web)的小应用,通常实现某个特定的功能。widget现在已经扩展到各种桌面操作系统和手机操作系统上。
widget可以被看作是运行于浏览器界面之外的定制web页面。每一个widget都是面向具体的轻量级的任务。一个widget可以简单地用超文本链接标示语言(HTML:Hypertext Markup Language)和级联样式表(CSS:CascadingStyle Sheets)编写,但是要达到真正的可用性往往需要用到逻辑运算,所以大多数widget还会使用Java描述语言(JavaScript)和可扩展置标语言(XML:EXtensible Markup Language)。基于web技术的特征使得widget具有小巧轻便、易于开发、与操作系统耦合度低和功能完整等特点。widget应用介于浏览器和服务器架构(BS:Browser Server)以及客户端和服务器架构(CS:ClientServer)之间,结合了两者的优点。它并不完全依赖网络,软件框架可以存在本地,而内容资源从网络获取,程序代码和用户界面(UI:User Interface)设计同样可以从专门的服务器更新,保留了BS架构的灵活性。
widget作为一种特殊的“网页”正在改变着互联网的访问方式,用户访问网络不再需要依赖于浏览器,而是靠这些小工具就可以实现web功能。widget还向用户提供了全新的用户体验。通过widget用户可以定制实现自己所需要的各种服务,随意个性化自己的桌面,体验它又小又酷的风格。值得一提的是,随着互联网用户的需求改变以及widget技术的发展,widget已经不在仅仅局限于个人电脑(PC:Personal Computer)桌面,开始渗透到其他领域,如网页Widget、移动widget(Mobile Widget)、人机交互Widget、甚至Widget专用终端等。
其中移动widget是指运行于移动终端上的widget。移动widget的应用框架非常适合手机终端,手机终端屏幕相对较小,浏览器却占用了有限的屏幕资源,导致手机上网用户体验较差。移动widget不仅可以独立于浏览器运行,有效地利用手机屏幕,而且可以更加快速直接方便地访问移动互联网。移动widget给手机用户带来良好的呈现方式和互联网体验。移动widget具有小巧轻便、开发成本低、基于标准Web技术,开发门槛低,潜在开发者众多、与操作系统耦合度低和功能完整的特点,此外,由于运行在移动终端上,移动widget还有一些其他特性。首先,可以通过移动widget实现个性化的用户界面,可以轻而易举让每部手机都变得独一无二。第二,移动widget可以实现很多适合移动场景的应用,如与环境相关、与位置相关的web应用。第三,移动widget特定的服务和内容使得用户更加容易获得有用信息,减少流量,避免冗余的数据传输带来的额外流量。最后,移动widget也是发布手机广告的很好途径。
本发明实施例涉及的系统架构如图1所示,包括widget设备101,widget服务器102,设备能力服务器103以及普通设备104。
其中,widget设备101是具有widget引擎,可以运行widget的设备,如手机、PC、移动互联网设备(MID:Mobile Internet Device)等,widget设备101在系统中的数量为至少一个。普通设备104是不可以安装widget引擎的设备,如摄像头、打印机等,普通设备104在系统中的数量为至少一个。其中,Widget服务器102和设备能力服务器103可以位于同一实体,也可以位于不同的实体。
widget设备101可以通过widget协议与widget服务器102通信,widget服务器102可以通过widget协议与设备能力服务器103通信,普通设备104可以通过标准协议(包括标准设备能力注册协议和标准设备能力调用协议)与设备能力服务器103通信、或各个普通设备104也可以通过各自的私有协议与设备能力服务器103通信。其中Widget设备101和普通设备104都可以开放自己的设备能力,将设备能力注册到设备能力服务器103中,供widget调用。Widget可以调用本widget所在的widget设备所开放的能力,也可以调用其它widget设备和普通设备所开放的能力,即只要是在设备能力服务器103中注册的能力都可以被widget调用。
在本发明的一个实施例中,为了使整个系统中设备能力能够统一调用和描述,定义了设备能力描述标准,将系统中所有设备可能的设备能力进行了枚举和命名标准化,通过定义设备能力描述标准,为设备能力开放提供了标准和依据,widget开发人员后续便可以在widget脚本中采用标准的接口来访问设备能力。
在本发明的一个实施例中,设备能力描述标准如表1所示。
表1
设备能力描述 | 标准命名 | 输入参数 | 输出参数 |
振动 | widget.vibrate | elapse:intspan:int | |
铃音 | widget.tune | tune_id:intelapse:intvolume:int | |
背景灯 | widget.light | elapse:int | |
浏览器 | widget.browser | url:string | |
摄像头 | widget.camera | mode:int | img:Image |
温度 | widget.temperature | city:stringmode:int | temperature:double |
湿度 | widget.humidity | city:string | humidity:double |
... | ... | ... | ... |
表1中“设备能力描述”说明是何种设备能力,“标准命名”定义了widget在脚本中调用设备能力的方法,“输入参数”规定了调用设备能力所需设置的输入参数个数以及每个输入参数的类型,其中,“:”之前的是参数名,“:”之后是该参数的取值类型,例如volume:int表示调用铃音时使用的一个参数名是volume,该参数的取值类型是int。“输出参数”规定了调用设备能力所能得到的输出结果,输出结果为空表示不返回结果,例如img:Image表示调用摄像头时返回调用结果的参数名是img,该参数的取值类型是Image。比如调用widget.humidity能力,widget需要提供一个string类型的参数city,调用完成后,widget可以得到一个double类型的humidity作为结果。在使用了表1描述的设备能力描述标准后,如果widget开发人员需要编写一个感知某城市当前温度的widget,可以在widget脚本文件中添加“vartp=widget.temperature(′beijing′)”等类似脚本语句,来获取北京当前温度。
设备能力服务器103维护有一个设备能力库,该设备能力库具体可以是综合设备能力库,综合设备能力库中保存有系统中设备注册的设备能力,系统中设备包括widget设备101和普通设备104,综合设备能力库中的设备能力可以被系统中的widget设备调用。
在本发明的一个实施例中,widget设备101可以通过如下流程在综合设备能力库中注册设备能力:widget设备101探测该widget设备101的设备能力,将探测到的设备能力发送给widget服务器102,widget服务器102再将该widget设备101探测到的设备能力发送给设备能力服务器103,设备能力服务器103将该widget设备探测到的设备能力注册到综合设备能力库中。
在本发明的一个实施例中,普通设备104可以通过如下流程在设备能力服务器103的综合设备能力库中注册设备能力:普通设备104启动后与设备能力服务器103连接,普通设备104将自身的设备能力,以及相应的输入参数和输出参数范围限制,通过相应的设备能力注册协议与设备能力服务器103通信,执行相应设备能力的注册过程。其中,普通设备104可以从自身的配置文件获取自身的设备能力。
其中,在普通设备104通过标准设备能力注册协议与设备能力服务器103通信时,设备能力服务器103可以直接将普通设备104需要注册的设备能力保存到综合设备能力库。
在普通设备104通过私有设备能力注册协议与设备能力服务器103通信时,设备能力服务器103为了使设备能力库中的设备能力符合设备能力描述标准,设备能力服务器103可以将通过私有的设备能力注册协议描述的设备能力转换成采用设备能力描述标准描述的设备能力;由于各个普通设备支持的私有设备能力注册协议可能并不相同,为了使设备能力服务器103可以对各个普通设备通过私有设备能力注册协议发送的设备能力进行转换,设备能力服务器103可以维护一个设备能力注册协议库,使设备能力服务器103在对普通设备104通过私有设备能力注册协议发送的设备能力进行转换时,可以直接根据设备能力注册协议库中的记录进行,从而不需要对所有私有设备能力注册协议进行遍历匹配,提高转换的速度。
本发明的一个实施例中,设备能力服务器103维护的设备能力注册协议库的记录格式如表2所示。
表2
设备ID | 设备能力 | 设备能力注册协议 |
Device1 | widget.vibrate | Register Vibrate/elapse/span |
Device2 | widget.vibrate | Register Tremble/elapse/span |
Device1 | widget.tune | Register Tune/tune_id/elapse/volume |
Device2 | widget.tune | Register Beep/elapse/volume |
Device1 | widget.light | Register Flash-elapse |
Device7 | widget.camera | Register Record-mode |
... | ... | ... |
表2中,“设备ID”是设备的唯一标识,该唯一标识可以预先为系统中的每个设备(包括普通设备104和widget设备101)分配,设备能力表示该设备可能具有的设备能力,设备能力注册协议表示该设备在进行设备能力注册时,可能采用的设备能力注册协议。
在本发明的一个实施例中,综合设备能力库中记录的设备能力也可以通过集中输入的方式注册,即将系统中设备能够注册的设备能力由人工输入到综合设备能力库。
在本发明的一个实施例中,设备能力服务器103维护的综合设备能力库的记录格式如表3所示。其中,表3中elapse:int:[1..100]表示调用widget.vibrate时使用的一个参数名是elapse,elapse的取值类型是int,elapse的取值范围是[1..100]。img:Image:[png,bmp]表示调用widget.camera时返回的调用结果的参数名是img,img的取值类型是Image,Image的取值范围是[png,bmp],即调用摄像头时,该摄像头输出的调用结果是图片,并且可以输出png格式或bmp格式的图片。
表3
设备能力 | 设备ID | 输入参数范围 | 输出参数范围 |
widget.vibrate | Device1 | elapse:int:[1.100]span:int:[1..5] | |
widget.tune | Device2 | tune_id:int:[1..3]elapse:intvolume:int:[1..50] | |
widget.light | Device2Device3 | elapse:int | |
widget.camera | Device1Device2Device3 | mode:int:[1,2,4] | img:Image:[png,bmp] |
... | ... | ... | ... |
由于widget设备101也可以调用自身的设备能力,因此为了加快widget设备101对自身的设备能力的调用,widget设备101也可以维护一个设备能力库,该设备能力库可以是本地设备能力库,本地设备能力库保存本地设备(即widget设备本身)注册的设备能力,即本地设备能力库保存的是widget自身注册的允许widget调用的设备能力。在本发明的一个实施例中,widget设备101维护的本地设备能力库的记录格式如表4所示。
表4
设备能力 | 输入参数范围 | 输出参数范围 |
widget.vibrate | elapse:int:[1..100]span:int:[1..5] |
widget.tune | tune_id:int:[1..3]elapse:intvolume:int:[1..50] | |
widget.light | elapse:int | |
widget.camera | mode:int:[1,2,4] | img:Image:[png,bmp] |
... | ... | ... |
在widget设备101上维护本地设备能力库,使widget设备在调用自身的设备能力时,不需要通过widget服务器102从设备能力服务器103调用,而可以直接向本地设备调用,能够提高设备能力的调用速度。
如下介绍本发明实施例提供的调用设备能力的方法,图2描述了调用设备能力的方法实施例一的流程,该实施例描述的是widget设备的处理流程,包括:
201、接收widget运行时发送的设备能力调用请求;该设备能力调用请求包括需要调用的设备能力的条件。
需要调用的设备能力的条件可以包括需要调用的设备能力的类型,还可以包括需要调用的设备能力的输入参数应该满足的条件、输出参数应该满足的条件等。需要调用的设备能力的类型可以是widget设备,标准普通设备,非标准普通设备等。
其中widget可以由用户根据自己的需要编写,并且可以在不同的widget设备上同时运行。具体地,widget通过widget引擎运行,widget引擎在运行widget时,如果确定widget需要调用设备能力,就会发送设备能力调用请求。
202、从设备能力库中查找满足条件的设备能力;设备能力库保存设备注册的设备能力。
具体地,在widget设备维护了本地设备能力库时,从设备能力库中查找满足条件的设备能力的步骤可以包括:从本地维护的本地设备能力库中查找满足条件的设备能力。
在widget设备维护了本地设备能力库,单从本地设备能力库查找不到满足条件的设备能力、或在widget设备没有维护本地设备能力库时,从设备能力库中查找满足条件的设备能力的步骤可以包括:通过widget服务器向设备能力服务器转发设备能力调用请求,以便于设备能力服务器从设备能力服务器维护的综合设备能力库中查找满足条件的设备能力。
203、调用查找到的设备能力。
具体地,在本地设备能力库查找到满足条件的设备能力时,可以直接向本地设备(widget设备)调用查找到的设备能力。具体地,可以向需要调用的设备能力对应的功能单元发送请求,使该功能单元运行,从而获得调用结果。例如,需要调用的设备能力是振动,则可以向振动单元发送请求,振动单元收到该请求后开始振动;振动单元在完成振动后,可以返回一个振动完成的信息作为调用结果,使widget可以获知已经完成了振动。
在综合设备能力库查找到满足条件的设备能力时,widget设备需要通过设备能力服务器向查找到的设备能力对应的设备调用查找到的设备能力。具体地,设备能力服务器在接收了设备能力调用请求后,如果从综合设备能力库查找到相应的设备能力,设备能力服务器可以向查找到的设备能力对应的设备发送请求,设备能力对应的设备收到该请求后,使相应的功能单元运行,从而获得调用结果。例如,需要调用的设备能力是摄像能力,则设备能力服务器查找到了满足条件的摄像头后,向摄像头发送请求;摄像头收到该请求后运行,获得照片,并将获得的照片返回给设备能力服务器可以作为调用结果,设备能力服务器再通过widget服务器将照片发送给widget设备。
204、接收查找到的设备能力被调用后返回的调用结果。
具体地,查找到的设备能力对应的设备在设备能力被调用后会获得相应的调用结果,该设备可以将调用结果返回,具体地,如果是本地设备则调用结果可以直接返回,如果是非本地设备则调用结果需要通过设备能力服务器和widget服务器返回。
例如,widget需要获得北京的当前温度,则查找到的设备能力对应的设备在设备能力被调用后会获得北京的当前温度,该设备可以将北京的当前温度返回作为调用结果。
205、将调用结果发送给widget。
将调用结果发送给widget,使widget可以执行后续相应的操作。
从上可知,本实施例中widget设备可以运行需要调用设备能力的widget,接收widget运行时发送的设备能力调用请求,从设备能力库中查找满足设备能力调用请求的条件的设备能力,并调用查找到的设备能力获得调用结果,使widget能够正确地执行,并且只要是设备能力库中设备的能力都能够被查找和调用,使系统中设备的资源能够得到充分的利用。
图3描述了本发明实施例提供的调用设备能力的方法实施例二的流程,包括:
301、widget设备接收widget运行时发送的设备能力调用请求;该设备能力调用请求包括需要调用的设备能力的条件。
需要调用的设备能力的条件可以包括需要调用的设备能力的类型,还可以包括需要调用的设备能力的输入参数应该满足的条件、输出参数应该满足的条件等。
302、widget设备从本地设备能力库中查找满足条件的设备能力;该本地设备能力库保存本地设备(widget设备)注册的设备能力。
303、widget设备判断是否从本地设备能力库查找到满足条件的设备能力;如果是,进入304;如果否,进入307。
304、widget设备向自身调用查找到的设备能力。
具体地,widget设备可以向查找到的设备能力对应的功能单元发送请求,从而使该功能单元运行获得调用结果。
305、widget设备获得调用结果。
306、widget设备将调用结果发送给widget;结束流程。
307、widget设备通过widget服务器将设备能力调用请求发送给设备能力服务器。
308、设备能力服务器从该设备能力服务器维护的综合设备能力库中查找满足条件的设备能力。
本实施例描述的是能够从综合设备能力库查找到满足条件的设备能力的情况;如果不能从综合设备能力库查找到满足条件的设备能力,则直接结束流程。
309、设备能力服务器确定满足条件的设备能力对应的设备的设备类型;如果是非标准普通设备,进入311;如果是标准普通设备,进入310;如果是widget设备,进入312。
本发明实施例中,标准普通设备是指支持标准设备能力注册协议和标准设备能力调用协议的普通设备;相应地,非标准普通设备是指不支持标准设备能力注册协议和标准设备能力调用协议的普通设备。例如,对于一个摄像头,如果该摄像头支持标准设备能力注册协议和标准设备能力调用协议,则该摄像头是标准普通设备;如果该摄像头不支持标准设备能力注册协议和标准设备能力调用协议,则该摄像头是非标准普通设备。
310、设备能力服务器将能力调用请求发送给满足条件的设备能力对应的标准普通设备,该能力调用请求包括采用标准设备能力调用协议描述的设备能力,以调用该标准普通设备上满足条件的设备能力。进入313。
具体地,满足条件的设备能力对应的设备接收到设备能力服务器发送的能力调用请求后,可以确定设备能力服务器需要调用的设备能力,从而该设备使用相应的设备能力,获得调用结果。
其中,标准设备能力调用协议与标准设备能力注册协议属于同一套协议库。
311、设备能力服务器将能力调用请求发送给满足条件的设备能力对应的非标准普通设备,该能力调用请求包括采用私有设备能力调用协议描述的设备能力,以调用该非标准普通设备上满足条件的设备能力。进入313。
其中,能力调用请求中包括的采用私有设备能力调用协议描述的设备能力由设备能力服务器转换获得。
不同设备所支持的私有设备能力调用协议与私有设备能力注册协议可以属于不同的协议库,但是同一个设备所支持的私有设备能力调用协议与私有设备能力注册协议属于同一套协议库。
其中,由于各个非标准普通设备支持的私有设备能力调用协议可能并不相同,为了使设备能力服务器可以将设备能力转换成采用私有设备能力调用协议进行描述,设备能力服务器可以维护设备能力调用协议库,使设备能力服务器在将设备能力转换成采用私有设备能力调用协议进行描述时,可以直接根据设备能力调用协议库中的记录进行,从而不需要对所有私有设备能力调用协议进行遍历匹配,提高转换的速度。
本发明的一个实施例中,设备能力服务器维护的设备能力调用协议库的记录格式如表5所示。
表5
设备ID | 设备能力 | 设备能力调用协议 |
Device1 | widget.vibrate | Vibrate/elapse/span |
Device2 | widget.vibrate | Tremble/elapse/span |
Device1 | widget.tune | Tune/tune_id/elapse/volume |
Device2 | widget.rune | Beep/elapse/volume |
Device1 | widget.light | Flash-elapse |
Device7 | widget.camera | Record-mode |
... | ... | ... |
312、设备能力服务器将能力调用请求发送给满足条件的设备能力对应的widget设备,该能力调用请求包括采用widget协议描述的设备能力,以调用该widget设备上满足条件的设备能力。
313、设备能力服务器接收返回的调用结果。
非标准普通设备、标准普通设备和widget设备在接收了设备能力服务器发送的能力调用请求后,都会运行相应的能力,从而获得调用结果并返回给设备能力服务器。
314、设备能力服务器通过widget服务器将调用结果发送给widget设备;进入306。
从上可知,本实施例中widget设备可以运行需要调用设备能力的widget,接收widget运行时发送的设备能力调用请求,在本地设备能力库和综合设备能力库中查找满足设备能力调用请求的条件的设备能力,并调用查找到的设备能力获得调用结果,使widget能够正确地执行;在查找到的设备能力是widget设备自身的能力时,可以直接调用,从而提高widget的执行速度;并且只要是设备能力库中设备的能力都能够被查找和调用,即系统中设备的能力能够被系统中的设备调用,使系统中设备的资源能够得到充分的利用。
再介绍本发明实施例提供的widget设备,图4描述了widget设备实施例一的结构,包括:接收单元401,查找单元402,调用单元403和发送单元404,其中:
接收单元401,用于接收widget运行时发送的设备能力调用请求,设备能力调用请求包括需要调用的设备能力的条件;接收设备能力被调用单元403调用后发送的调用结果;
其中,设备能力调用请求具体可以由widget设备所包括的widget引擎在widget运行时发送。
查找单元402,用于从设备能力库中查找满足接收单元401接收的设备能力调用请求中条件的设备能力,其中,设备能力库保存有设备注册的允许调用的设备能力。在本发明的一个实施例中,查找单元402可以从widget设备维护的本地设备能力库407中查找满足条件的设备能力。在本发明的另一个实施例中,查找单元402可以从设备能力服务器维护的综合设备能力库中查找满足条件的设备能力。
调用单元403,用于调用查找单元402查找到的设备能力;
具体地,如果查找单元402查找到的设备能力是widget设备自身的设备能力,则调用单元403可以通过发送单元404直接向查找到的设备能力对应的功能单元发送能力调用请求;如果查找单元402查找到的设备能力是系统中其他设备的设备能力,则调用单元403可以通过widget服务器和设备能力服务器对该其他设备的设备能力进行调用,该其他设备可以是widget设备也可以是普通设备。
发送单元404,用于将接收单元401接收的调用结果发送给widget。
从上可知,本实施例中widget设备可以运行需要调用设备能力的widget,接收widget运行时发送的设备能力调用请求,从设备能力库中查找满足设备能力调用请求的条件的设备能力,并调用查找到的设备能力获得调用结果,使widget能够正确地执行,并且只要是设备能力库中设备的能力都能够被查找和调用,使系统中设备的资源能够得到充分的利用。
在本发明的一个实施例中,widget设备实施例一还可以包括检测单元405和注册单元406,其中:
检测单元405,用于检测该widget设备具备的设备能力;
注册单元406,用于将检测单元405检测到的设备能力到设备能力库中注册;
此时,发送单元404,还可以用于通过widget服务器将检测单元405检测到的设备能力发送给设备能力服务器,以便于设备能力服务器将检测单元405检测到的设备能力在该设备能力服务器维护的设备能力库中注册;还用于在查找单元402从设备能力库中查找不到满足条件的设备能力时,通过widget服务器将将接收单元401接收的设备能力调用请求发送给设备能力服务器,以便于设备能力服务器从该设备能力服务器维护的设备能力库中查找满足条件的设备能力。设备能力服务器维护的设备能力库具体可以是综合设备能力库。
在本发明实施例提供的widget设备从本地维护的设备能力库中查找不到满足条件的设备能力时,可以继续从设备能力服务器维护的设备能力库中查找满足条件的设备能力,从而确保widget能够正确地执行,也能使系统中设备的资源得到充分利用。
图5描述了widget设备实施例二的结构,包括接收单元501和发送单元502,其中:
接收单元501,用于接收widget运行时发送的设备能力调用请求,设备能力调用请求包括需要调用的设备能力的条件;接收设备能力服务器通过widget服务器发送的调用结果;
其中,设备能力调用请求具体可以由widget设备所包括的widget引擎在widget运行时发送。
发送单元502,用于通过widget服务器将接收单元501接收的设备能力调用请求发送给设备能力服务器,以便于设备能力服务器可以从综合设备能力库中查找满足条件的设备能力、并调用查找到的设备能力获得调用结果;将接收单元501接收的调用结果发送给widget。
从上可知,本实施例中widget设备可以运行需要调用设备能力的widget,接收widget运行时发送的设备能力调用请求,通过设备能力服务器调用系统中设备的设备能力获得调用结果,使widget能够正确地执行,并且只要是设备能力库中设备的能力都能够被查找和调用,使系统中设备的资源能够得到充分的利用。
在本发明的一个实施例中,widget设备实施例二还可以包括检测单元503,用于检测该widget设备具备的设备能力;
此时,发送单元502,还可以用于通过widget服务器将检测单元503检测到的设备能力发送给设备能力服务器,以便于设备能力服务器将检测单元502检测到的设备能力在该设备能力服务器维护的设备能力库中注册。设备能力服务器维护的设备能力库具体可以是综合设备能力库。
在介绍本发明实施例提供的服务器,图6描述了服务器实施例的结构,包括接收单元601,查找单元602,调用单元603和发送单元604,其中:
接收单元601,用于接收widget设备通过widget服务器发送的设备能力调用请求,设备能力调用请求包括需要调用的设备能力的条件;接收查找单元602查找到的设备能力被调用单元603调用后发送的调用结果;
查找单元602,用于从综合设备能力库中查找满足接收单元601接收的设备能力调用请求所包括的条件的设备能力;
调用单元603,用于调用查找单元602查找到的设备能力;
具体地,在本发明的一个实施例中,调用单元603可以通过发送单元604向查找单元602查找到的设备能力对应的设备发送能力调用请求,从而调用该设备上相应的设备能力。
发送单元604,用于通过widget服务器将接收单元601接收的调用结果发送给widget设备。
从上可知,本实施例中服务器在接收到widget设备发送的设备能力调用请求后,可以从综合设备能力库中查找相应的设备能力,并调用查找到的设备能力获得调用结果,从而将调用结果发送给widget设备,使widget设备中的widget能够正确地执行,并且只要是综合设备能力库中的设备的能力都能够被查找调用,使系统中设备的资源能够得到充分的利用。
在本发明的一个实施例中,服务器实施例所包括的接收单元601,还可以用于接收设备发送的设备能力。此时,该服务器实施例还可以包括注册单元605,用于在综合设备能力库中注册接收单元601接收的设备能力。
本发明实施例提供的服务器可以作为设备能力服务器。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上对本发明实施例所提供的调用设备能力的方法、微技设备和服务器进行了详细介绍,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种调用设备能力的方法,其特征在于,包括:
接收微技发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;
通过微技服务器向设备能力服务器转发所述设备能力调用请求,以便于所述设备能力服务器从所述设备能力服务器维护的综合设备能力库中查找满足所述条件的设备能力,所述综合设备能力库保存系统中设备注册的设备能力;
调用所述查找到的设备能力;
接收所述查找到的设备能力被调用后返回的调用结果;
将所述调用结果发送给所述微技。
2.如权利要求1所述的调用设备能力的方法,其特征在于,所述调用所述查找到的设备能力包括:
通过所述设备能力服务器调用所述查找到的设备能力。
3.如权利要求2所述的调用设备能力的方法,其特征在于,所述查找到的设备能力是标准普通设备的设备能力,所述通过所述设备能力服务器调用所述查找到的设备能力的步骤包括:
所述设备能力服务器将能力调用请求发送给所述标准普通设备,所述能力调用请求包括采用标准设备能力调用协议描述的查找到的设备能力,以调用所述标准普通设备上所述查找到的设备能力;
或所述查找到的设备能力是非标准普通设备的设备能力,所述通过所述设备能力服务器调用所述查找到的设备能力的步骤包括:
所述设备能力服务器将能力调用请求发送给所述非标准普通设备,所述能力调用请求包括采用私有设备能力调用协议描述的查找到的设备能力,以调用所述非标准普通设备上所述查找到的设备能力;
或所述查找到的设备能力是微技设备的设备能力,所述通过所述设备能力服务器调用所述查找到的设备能力的步骤包括:
所述设备能力服务器将能力调用请求发送给所述微技设备,所述能力调用请求包括采用微计协议描述的查找到的设备能力,以调用所述微技设备上所述查找到的设备能力。
4.如权利要求1至3任一所述的调用设备能力的方法,其特征在于,所述需要调用的设备能力的条件包括:
需要调用的设备能力的类型;
或包括:
需要调用的设备能力的类型,和需要调用的设备能力的输入参数应该满足的条件,和需要调用的设备能力的输出参数应该满足的条件。
5.一种微技设备,其特征在于,包括接收单元,查找单元,调用单元和发送单元,其中:
所述接收单元,用于接收微技发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;
所述查找单元,用于通过微技服务器向设备能力服务器转发所述设备能力调用请求,以便于所述设备能力服务器从所述设备能力服务器维护的综合设备能力库中查找满足所述条件的设备能力,所述综合设备能力库保存系统中设备注册的设备能力;
所述调用单元,用于调用所述查找单元查找到的设备能力;
其中,所述接收单元还用于接收所述查找单元查找到的设备能力被所述调用单元调用后返回的调用结果;
所述发送单元,用于将所述接收单元接收的调用结果发送给所述微技。
6.一种微技设备,其特征在于,包括接收单元和发送单元,其中:
所述接收单元,用于接收微技发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;
所述发送单元,用于通过微技服务器将所述设备能力调用请求发送给设备能力服务器,以便于所述设备能力服务器可以从综合设备能力库中查找满足所述条件的设备能力、并调用查找到的设备能力;
其中,所述接收单元还用于接收所述设备能力服务器发送的调用结果;所述发送单元还用于将所述接收单元接收的调用结果发送给所述微技。
7.如权利要求6所述的微技设备,其特征在于,还包括:
检测单元,用于检测所述微技设备具备的设备能力;
所述发送单元,还用于通过微技服务器将所述检测单元检测到的设备能力发送给设备能力服务器,以便于所述设备能力服务器将所述检测单元检测到的设备能力在所述设备能力服务器维护的设备能力库中注册。
8.一种服务器,其特征在于,包括接收单元,查找单元,调用单元和发送单元,其中:
所述接收单元,用于接收微技设备通过微技服务器发送的设备能力调用请求,所述设备能力调用请求包括需要调用的设备能力的条件;
所述查找单元,用于从服务器维护的综合设备能力库中查找满足所述条件的设备能力,所述综合设备能力库保存系统中设备注册的设备能力;
所述调用单元,用于调用所述查找单元查找到的设备能力;
其中,所述接收单元还用于接收所述查找单元查找到的设备能力被所述调用单元调用后返回的调用结果;
所述发送单元,用于将所述接收单元接收的调用结果发送给所述微技设备。
9.如权利要求8所述的服务器,其特征在于:
所述接收单元,还用于接收设备发送的设备能力;
该服务器还包括:
注册单元,用于在所述综合设备能力库中注册所述接收单元接收的设备能力。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101386732A CN101888396B (zh) | 2009-05-12 | 2009-05-12 | 调用设备能力的方法、微技设备和服务器 |
BRPI1012136-6A BRPI1012136B1 (pt) | 2009-05-12 | 2010-05-12 | Método de invocação de capacidade de dispositivo, dispositivo widget, servidor |
PCT/CN2010/072655 WO2010130205A1 (zh) | 2009-05-12 | 2010-05-12 | 调用设备能力的方法、widget设备和服务器 |
US13/294,659 US9094468B2 (en) | 2009-05-12 | 2011-11-11 | Device capability invocation method, widget device, server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101386732A CN101888396B (zh) | 2009-05-12 | 2009-05-12 | 调用设备能力的方法、微技设备和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101888396A CN101888396A (zh) | 2010-11-17 |
CN101888396B true CN101888396B (zh) | 2013-08-28 |
Family
ID=43074116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101386732A Expired - Fee Related CN101888396B (zh) | 2009-05-12 | 2009-05-12 | 调用设备能力的方法、微技设备和服务器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9094468B2 (zh) |
CN (1) | CN101888396B (zh) |
BR (1) | BRPI1012136B1 (zh) |
WO (1) | WO2010130205A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045205B (zh) * | 2011-01-25 | 2016-08-24 | 中兴通讯股份有限公司 | 网络流量数据的管理方法及系统、终端 |
US20130147832A1 (en) * | 2011-12-07 | 2013-06-13 | Ati Technologies Ulc | Method and apparatus for remote extension display |
US20130346382A1 (en) * | 2012-06-22 | 2013-12-26 | Microsoft Corporation | Widget platform exposed for diverse ecosystems |
CN104935484A (zh) * | 2015-05-28 | 2015-09-23 | 北京海尔广科数字技术有限公司 | 一种通过网关调用家电服务的方法及装置 |
WO2024026892A1 (zh) * | 2022-08-05 | 2024-02-08 | 北京小米移动软件有限公司 | 设备感知能力的注册方法、设备感知的应用方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146346A (zh) * | 2006-09-13 | 2008-03-19 | 华为技术有限公司 | 设备能力信息上报方法及终端设备 |
CN101271403A (zh) * | 2007-03-22 | 2008-09-24 | 华为技术有限公司 | 分布式系统中的调用请求处理方法及分布式系统和服务器 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001245827A1 (en) * | 2000-03-17 | 2001-10-03 | America Online, Inc. | Home-networking |
US7530076B2 (en) * | 2001-03-23 | 2009-05-05 | S2 Technologies, Inc. | Dynamic interception of calls by a target device |
US8027684B2 (en) * | 2005-08-22 | 2011-09-27 | Infosys Technologies, Ltd. | System for performing a task in a communication network and methods thereof |
CN101005483A (zh) * | 2006-06-24 | 2007-07-25 | 华为技术有限公司 | 一种设备服务的调用方法和系统 |
US7728999B2 (en) * | 2006-07-14 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | Printing device driver |
US7734836B2 (en) * | 2006-10-11 | 2010-06-08 | Coatney Douglas W | Method and apparatus for dynamically qualifying mass storage devices |
US8103756B2 (en) * | 2006-10-31 | 2012-01-24 | Hewlett-Packard Development Company, L.P. | Network access device capability alert mechanism |
US9582804B2 (en) * | 2006-12-22 | 2017-02-28 | Excalibur Ip, Llc | Link retrofitting of digital media objects |
US8508755B2 (en) * | 2007-07-30 | 2013-08-13 | Ricoh Company, Ltd. | Print server |
US8214548B2 (en) * | 2007-08-29 | 2012-07-03 | Ricoh Company, Ltd. | Capability-based control device driver of a computer peripheral device |
US8209378B2 (en) * | 2007-10-04 | 2012-06-26 | Clearspring Technologies, Inc. | Methods and apparatus for widget sharing between content aggregation points |
JP5269998B2 (ja) * | 2008-09-05 | 2013-08-21 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | アプリケーションサーバ及びその制御方法、プログラム、並びにコンピュータ可読記憶媒体 |
US8141115B2 (en) * | 2008-12-17 | 2012-03-20 | At&T Labs, Inc. | Systems and methods for multiple media coordination |
US8265595B1 (en) * | 2009-01-30 | 2012-09-11 | Sprint Communications Company L.P. | Managing application permissions on a mobile device |
-
2009
- 2009-05-12 CN CN2009101386732A patent/CN101888396B/zh not_active Expired - Fee Related
-
2010
- 2010-05-12 WO PCT/CN2010/072655 patent/WO2010130205A1/zh active Application Filing
- 2010-05-12 BR BRPI1012136-6A patent/BRPI1012136B1/pt not_active IP Right Cessation
-
2011
- 2011-11-11 US US13/294,659 patent/US9094468B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146346A (zh) * | 2006-09-13 | 2008-03-19 | 华为技术有限公司 | 设备能力信息上报方法及终端设备 |
CN101271403A (zh) * | 2007-03-22 | 2008-09-24 | 华为技术有限公司 | 分布式系统中的调用请求处理方法及分布式系统和服务器 |
Also Published As
Publication number | Publication date |
---|---|
BRPI1012136B1 (pt) | 2021-08-24 |
CN101888396A (zh) | 2010-11-17 |
BRPI1012136A2 (pt) | 2020-08-25 |
WO2010130205A1 (zh) | 2010-11-18 |
US9094468B2 (en) | 2015-07-28 |
US20120059836A1 (en) | 2012-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528432B (zh) | 测试场景数据的构建方法及装置、埋点测试方法 | |
Woerndl et al. | A hybrid recommender system for context-aware recommendations of mobile applications | |
KR101098696B1 (ko) | 정보 공유 방법, 컴퓨터 프로그램 제품, 장치, 칩셋 및 시스템 | |
EP2613574B1 (en) | System and method of providing a service using a near field communication tag | |
CN101502079A (zh) | 在移动网络终端上安装和配置软件应用程序的系统和方法 | |
CA2919542A1 (en) | Zone-based information linking, systems and methods | |
CN101888396B (zh) | 调用设备能力的方法、微技设备和服务器 | |
CN104703125A (zh) | 基于即时通信的信息推荐方法、装置和终端 | |
CN108701121A (zh) | 将用户输入分派到用户界面中的多个输入域 | |
CN103745013A (zh) | 一种搜索方法及装置 | |
JP2010009315A (ja) | 推薦店舗提示システム | |
US20170277622A1 (en) | Web Page Automated Testing Method and Apparatus | |
US20050198336A1 (en) | Methods and apparatuses for automatic adaptation of different protocols | |
CN110084567A (zh) | 电子印章使用方法、装置、设备及计算机可读存储介质 | |
CN101945178A (zh) | 一种新闻信息的查看方法、系统及移动终端 | |
CN102959546A (zh) | 用于转换内容的方法和设备 | |
CN103391278A (zh) | 终端连接服务器的方法和系统 | |
CN102664756A (zh) | 设备访问方法、装置及系统 | |
US9060326B2 (en) | RSS channel information provision method and system and portable device using the same | |
CN103379022B (zh) | 一种基于互联网地图搜索的即时通讯方法和系统 | |
Jin et al. | IoT device management architecture based on proxy | |
CN112084247B (zh) | 一种应用程序服务扩展的方法和装置 | |
CN104487965A (zh) | 为移动通信终端提供相关信息的装置及共享相关信息的系统 | |
US20040010573A1 (en) | Web presence for physical entities | |
WO2007132661A1 (ja) | 端末、ネットワークシステム、コンテキスト情報提供方法、及び、コンテキスト情報提供プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130828 |
|
CF01 | Termination of patent right due to non-payment of annual fee |