提供基于场境的通信服务的方法和通信系统转让专利

申请号 : CN200880130754.1

文献号 : CN102124712A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : C·法兰M·瓦拉

申请人 : 意大利电信股份公司

摘要 :

公开了一种在通信网络中提供基于场境的服务的方法。所述方法包括:在与网络协作的场境服务器处接收从服务应用生成的查询,所述查询指示当查询条件被满足时,服务应用需要从场境服务器接收一组场境信息;在场境服务器处生成更新规则,所述更新规则指示当更新条件被满足时,终端必须把场境信息传送给场境服务器;把更新规则从场境服务器传送给终端;检测场境信息,并把场境信息传送给终端;在终端处接收场境信息,并当更新条件被满足时,把场境信息传送给场境服务器;以及在场境服务器处把场境信息转发给服务应用,从而允许服务应用实现基于场境的服务。

权利要求 :

1.一种向通信网络(CN)的终端(T)提供基于场境的服务的方法,所述方法包括:a)在与所述通信网络(CN)协作的场境服务器(SCtx)处接收从服务应用(A)生成的查询(Q[S,Cq]),所述查询(Q[S,Cq])指示当查询条件(Cq)被满足时,所述服务应用(A)需要从所述场境服务器(SCtx)接收一组场境信息(S);

b)在所述场境服务器(SCtx)处生成与所述查询(Q[S,Cq])相关的更新规则(R[S,Cr]),所述更新规则(R[S,Cr])指示当更新条件(Cr)被满足时,所述终端(T)必须把所述场境信息(S)传送给所述场境服务器(SCtx),以便允许所述场境服务器(SCtx)服务所述查询(Q[S,Cq]);

c)把所述更新规则(R[S,Cr])从所述场境服务器(SCtx)传送给所述终端(T);

d)在传感器模块(SM)处检测所述场境信息(S),并把所述场境信息(S)传送给所述终端(T);

e)在所述终端(T)处接收所述场境信息(S),并当所述更新条件(Cr)被满足时,把所述场境信息(S)传送给所述场境服务器(SCtx);以及f)在所述场境服务器(SCtx)处把所述场境信息(S)转发给所述服务应用(A),从而允许所述服务应用(A)实现所述基于场境的服务。

2.按照权利要求1所述的方法,其中,所述步骤b)还包括生成与所述查询(Q[S,Cq])相关的触发(TR[S,Ct])的步骤,所述触发(TR[S,Ct])指示当触发条件(Ct)被满足时,所述场境服务器(SCtx)必须把所述场境信息(S)转发给所述服务应用(A),以便服务所述查询(Q[S,Cq])。

3.按照权利要求2所述的方法,其中,所述步骤a)包括确定查询条件类型(Cq=C/x,* *Cq=V/(p=p ),Cq=H/q,Cq=H/),所述查询条件类型(Cq=C/x,Cq=V/(p=p ),Cq=H/q,Cq=H/)是下述之一:按时钟查询条件类型(Cq=C/x)、按数值查询条件类型*(Cq=V/(p=p ))和按变化查询条件类型(Cq=H/q,Cq=H/)。

4.按照权利要求2所述的方法,其中,所述步骤b)包括把与所述查询条件类型(Cq=*C/x,Cq=V/(p=p ),Cq=H/q,Cq=H/)相对应的触发条件类型(Ct=C/x,Ct=V/*(p=p ),Ct=H/q,Ct=H/)的触发条件(Ct)插入所述触发(TR[S,Ct])中。

5.按照权利要求3或4所述的方法,其中,所述步骤b)包括检查包括另一个更新条件(Cr′)并且与所述场境信息(S)相关的另一个更新规则(R′)是否有效,并在否定的情况*下,把与所述查询条件类型(Cq=C/x,Cq=V/(p=p ),Cq=H/q,Cq=H/)相对应的更*新条件类型(Cr=C/x,Cr=V/(p=p ),Cr=H/q,Cr=H/)的更新条件(Cr)插入所述更新规则(R[S,Cr])中。

6.按照权利要求3-5任意之一所述的方法,其中,所述步骤b)包括检查包括另一个更新条件(Cr′)并且与所述场境信息(S)相关的另一个更新规则(R′)是否有效,并在肯*定的情况下,如果所述查询条件类型(Cq=C/x,Cq=V/(p=p ),Cq=H/q,Cq=H/)是所述按时钟查询条件类型(Cq=C/x),那么:-如果所述另一个更新条件(Cr′)的类型是按时钟类型(C/y),则把更新条件Cr=C/max(min(x,y),ts)插入所述更新规则(R[S,Cr])中,ts是在所述终端(T)处检测并传输所述场境信息(S)的最小周期;

-如果所述另一个更新条件(Cr′)的类型是按数值类型(V/(r=r ))或者按变化类型(H/z),则把更新条件Cr=H/插入所述更新规则(R[S,Cr])中,以及-用所述更新规则(R[S,Cr])来替换所述另一个更新规则(R′)。

7.按照权利要求3-5任意之一所述的方法,其中,所述步骤b)包括检查包括另一个更新条件(Cr′)并且与所述场境信息(S)相关的另一个更新规则(R′)是否有效,并且在*肯定的情况下,如果所述查询条件类型(Cq=C/x,Cq=V/(p=p ),Cq=H/q,Cq=H/)*是所述按数值查询条件类型(Cq=V/(p=p )),那么:

-如果所述另一个更新条件(Cr′)的类型是按数值类型(V/(r=r )),则在所述更* *新规则(R[S,Cr])中插入更新条件Cr=V/(p=p OR r=r );

-如果所述另一个更新条件(Cr′)的类型是按时钟类型(C/y)或按变化类型(H/z),则在所述更新规则(R[S,Cr])中插入更新条件Cr=H/;以及-用所述更新规则(R[S,Cr])来替换所述另一个更新规则(R′)。

8.按照权利要求3-6任意之一所述的方法,其中,所述步骤b)包括检查包括另一个更新条件(Cr′)并且与所述场境信息(S)相关的另一个更新规则(R′)是否有效,并且在*肯定的情况下,如果所述查询条件类型(Cq=C/x,Cq=V/(p=p ),Cq=H/q,Cq=H/)是所述按变化查询条件类型(Cq=H/q,Cq=H/),那么:-如果所述另一个更新条件(Cr′)的类型是按变化类型(H/z),则在所述更新规则(R[S,Cr])中插入更新条件Cr=H/(q OR z);

-如果所述另一个更新条件(Cr′)的类型是按数值类型(V/(r=r ))或按时钟类型(C/y),则在所述更新规则(R[S,Cr])中插入更新条件Cr=H/,以及-用所述更新规则(R[S,Cr])来替换所述另一个更新规则(R′)。

9.一种适合于与通信网络(CN)协作以便向所述通信网络(CN)的终端(T)提供基于场境的服务的场境服务器(SCtx′,SCtx),所述场境服务器(SCtx′,SCtx)包括:-适合于接收来自服务应用(A)的查询(Q[S,Cq])的查询预处理器(QPP),所述查询(Q[S,Cq])指示当查询条件(Cq)被满足时,所述服务应用(A)需要从所述场境服务器(SCtx)接收与所述终端(T)相关的一组场境信息(S);和-查询处理器(QP),所述查询处理器(QP)适合于:

-生成与所述查询(Q[S,Cq])相关的更新规则(R[S,Cr]),所述更新规则(R[S,Cr])指示当更新条件(Cr)被满足时,所述终端(T)必须检测所述场境信息(S)并把所述场境信息(S)传送给所述场境服务器(SCtx),以便允许所述场境服务器(SCtx)服务所述查询(Q[S,Cq]);和-把所述更新规则(R[S,Cr])传送给所述终端(T);

所述场境服务器(SCtx′,SCtx)适合于接收所述场境信息(S),并把所述场境信息(S)转发给所述服务应用(A),从而允许所述服务应用(A)实现所述基于场境的服务。

10.按照权利要求8所述的场境服务器(SCtx′,SCtx),其中,所述查询处理器(QP)还适合于生成与所述查询(Q[S,Cq])相关的触发(TR[S,Ct]),所述触发(TR[S,Ct])指示当触发条件(Ct)被满足时,所述场境服务器(SCtx)必须把所述场境信息(S)转发给所述服务应用(A),以便服务所述查询(Q[S,Cq]),所述场境服务器(SCtx′,SCtx)还包括用于保存所述触发(TR[S,Ct])的触发数据库(TR-DB)。

11.按照权利要求9所述的场境服务器(SCtx′,SCtx),其中,所述场境服务器(SCtx′,SCtx)还包括触发处理器(TRP),所述触发处理器(TRP)适合于与所述触发数据库(TR-DB)协作,以检查所述触发条件(Ct)是否被满足,如果所述触发条件(Ct)被满足,则把所述场境信息(S)转发给所述服务应用(A)。

12.按照权利要求8-11任意之一所述的场境服务器(SCtx′,SCtx),其中,所述查询处*理器(QP)还适合于确定查询条件类型(Cq=C/x,Cq=V/(p=p ),Cq=H/q,Cq=H/),*所述查询条件类型(Cq=C/x,Cq=V/(p=p ),Cq=H/q,Cq=H/)是下述之一:按时*钟查询条件类型(Cq=C/x)、按数值查询条件类型(Cq=V/(p=p ))和按变化查询条件类型(Cq=H/q,Cq=H/)。

13.一种通信网络(CN)的终端(T),所述通信网络(CN)与适合于向所述终端(T)提供基于场境的服务的场境服务器(SCtx′,SCtx)协作,所述终端(T)适合于与被配置成检测与所述终端(T)相关的场境信息(S)的传感器模块(SM)协作,所述终端(T)包括场境客户端(CCtx),所述场境客户端(CCtx)适合于:-从所述场境服务器(SCtx′,SCtx)接收更新规则(R[S,Cr]),所述更新规则(R[S,Cr])指示当更新条件(Cr)被满足时,所述终端(T)必须检测所述场境信息(S)并把所述场境信息(S)传送给所述场境服务器(SCtx),以便允许所述场境服务器(SCtx)服务所述查询(Q[S,Cq]);以及-按照所述更新规则(R[S,Cr])来操作所述传感器模块(SM)。

14.一种通信系统(CS′,CS),所述通信系统(CS′,CS)适合于向所述通信系统(CS′,CS)的终端(T)提供基于场境的服务,所述通信系统(CS′,CS)包括与所述终端(T)连接的通信网络(CN)、适合于实现所述基于场境的服务的服务应用(A)、以及适合于与所述服务应用(A)和所述通信网络(CN)协作的场境服务器(CStx),所述终端(T)是按照权利要求13所述的终端,所述场境服务器(SCtx′,SCtx)是按照权利要求8-12任意之一所述的场境服务器。

说明书 :

提供基于场境的通信服务的方法和通信系统

技术领域

[0001] 本发明涉及通信服务的领域。特别地,本发明涉及向通信网络的终端提供基于场境的服务的方法。此外,本发明涉及为实现上述方法而配置的场境服务器、终端和通信系统。

背景技术

[0002] 已知通信网络允许向用户提供许多数据服务(例如,因特网接入,电子邮件,消息的交换,视频点播)和/或电话服务(例如,通话和电话会议)。
[0003] 用户可借助终端来访问这样的服务,所述终端可以是固定终端(即,通过有线连接与分发服务的通信网络连接的终端)或者移动终端(即,通过无线连接与分发服务的通信网络连接的终端)。例证的移动终端是GSM(全球移动通信系统)或UMTS(通用移动电信系统)移动设备,和配备GSM或UMTS接口,或者配备蓝牙或Wi-Fi接口的膝上型计算机。
[0004] 终端(特别地,移动终端)常常配有允许检测关于终端的场境信息的许多传感器。在下面的说明和在权利要求中,用语“关于终端的场境信息”将指定表示终端所处的场境(即,环境和/或操作状态)的一组信息。例证的场境信息是:
[0005] -终端所处的地面坐标,所述地面坐标可由移动网络检测(以终端或网络所进行的测量为基础),或者可由安装在终端上的GPS设备检测,所述地面坐标允许确定终端的位置;
[0006] -终端所处的移动小区的标识符,所述标识符可由任何GSM或UMTS移动设备检测,所述标识符表示终端的位置;
[0007] -终端周围的环境的亮度和/或温度和/或湿度,可由安装在终端上的适当传感器检测,表示终端周围的环境(即,终端是在室外环境还是在室内环境等等);
[0008] -终端受到的加速度,可由安装在终端上的加速计检测,表示用户是在移动还是静止不动;以及
[0009] -终端周围的环境中的其它终端的存在,可由例如蓝牙接口或Wi-Fi接口检测(为了被检测,其它终端也应配备相应的接口)。
[0010] 最近,服务提供商能够从其用户收集场境信息,并处理收集的场境信息,以提供能够使服务本身适应于终端的场境的数据服务和电话服务。在下面的说明和权利要求中,用语“基于场境的服务”将指定能够从终端获得场境信息,并且能够利用这样的场境信息使它自己适应于终端的场境的数据服务或电话服务。
[0011] WO 2006/097778公开了一种借助移动终端设备来发送环境数据的方法,包括下述步骤:检测所述环境数据;评估所述环境数据;判定所述评估的环境数据是否要被发送;以及在判定结果肯定的情况下,发送所述环境数据。特别地,每个移动终端设备配备有向服务提供商发送数据分组,以及从服务提供商接收数据分组的无线数据接口。所述服务提供商配备有用于保存源自所述多个移动终端设备的接收数据的数据存储模块。另外,每个移动终端设备具有检测,最好记录环境数据的传感器。这些环境数据可包括湿度、亮度、温度、位置等。所述移动终端设备记录环境数据,并且适合于评估环境数据。所述移动终端设备能够判定数据将被暂时保存,还是被发送给所述服务提供商。
[0012] US 2007/006098描述了一种利用地理定位技术(例如GPS)来确定用户位置数据,以及利用现有的基于网络的网站(例如,因特网网站)来搜索和访问与位置数据相关的数据,使得能够得出和保存用户场境的方法。
[0013] WO 2002/093877公开了一种场境敏感的web服务方法,所述方法使移动电话或无线设备能够利用场境推断技术来感测用户的环境,并且作为响应,向用户提供适合于用户的感知环境的有用信息。所述方法包括下述步骤:接收表征无线设备的当前环境的传感器信号;用场境推断引擎来处理所述传感器信号;输出由场境推断引擎的处理生成的当前场境结果;以及响应于当前场境结果,向用户提供有用信息。
[0014] WO 2004/089006公开了一种管理与场境相关的信息的移动站,所述移动站包括至少一个能够测量移动站的至少一个条件的至少一部分的传感器。移动站还包括能够根据所述部分条件来保存与场境相关的信息的场境引擎,其中,所述场境引擎还能够管理与至少一个场境使用者的场境相关信息的交换。移动站还包括保密引擎、脚本引擎和通信管理器。保密引擎能够为场境相关信息的交换提供安全性和/或保密性。脚本引擎能够执行与至少一部分场境相关信息有关的至少一个场境规则。通信管理器能够与移动站之外的至少一个场境使用者通信,以便交换场境相关信息。
[0015] WO 2006/106303公开了一种处理场境数据的系统,包括:从多个源接收场境数据的装置;按照包括多条规则的预定规则集,根据接收的场境数据生成场境信息的装置;和把场境信息传送给至少一个应用的装置,其中,所述系统包括允许至少一个协议源指定与协议源和系统之间的通信的通信协议有关的指令和/或规则,从而更新接收装置和/或传送装置的装置。
[0016] US 2006/184616公开了一种通过把抽象服务的语义用于组场境信息管理来管理场境感知应用之间的冲突的方法。所述方法包括:检测和解决场境感知应用之间的冲突;当从应用收到服务请求时,分析被请求服务的语义;以及把所述语义登记到数据结构中。
[0017] US 2006/074633公开了一种利用基于规则的场境管理来改进健康护理环境中的诊断读取和工作流的方法。在一个实施例中,系统包括多个信息源,其中,所述多个信息源均包括信息。系统还包括一个规则引擎,所述规则引擎包括管理信息的可用性和/或呈现的至少一条规则。
[0018] CA 2431491公开了一种具有与服务和记录来自多个源的场境事件的场境管理器耦接的中央存储单元的体系结构。这种系统利用同步方案来实现相对于中央存储单元的数据的有序存储和检索。
[0019] Roland Reichle 等 的 论 文“A Context Query Language for Pervasive Computing Environments”(Proceedings on 5th IEEE Workshop on Context Modeling and Reasoning(CoMoRea) 和 6th IEEE International Conference on Pervasive Computing and Communication(PerCom′08),Hong Kong,2008年3月17-21日)公开了在移动和普及的计算环境中查询和访问场境信息的要求。此外,该论文研究了现有的查询语言,示出现有的查询语言只满足这些要求的子集,或者只在有限程度上适用于这些要求中的一些要求。于是,该论文提出一种克服这些缺陷的场境查询语言。该论文明确地专注于场境信息的异类表示、复杂过滤机制的定义、复杂的集合功能和本体集成,所有这些都采用一种语言。

发明内容

[0020] 申请人注意到通信网络中基于场境的服务的实现一般要求通信网络与场境数据库协作,场境数据库保存由与通信网络连接的终端检测和传送的场境信息。一般地,终端通过定期检测场境信息并把场境信息传送给场境数据库,来不断地更新保存在场境数据库的场境信息。
[0021] 当终端的用户希望访问基于场境的服务时,相应的服务应用被激活,所述服务应用从场境数据库中检索提供基于场境的服务所需的场境信息。
[0022] 申请人注意到不利的是,上述提供基于场境的服务的机制意味着终端资源的非有效使用,尤其是终端的电池和计算能力的非有效使用。
[0023] 实际上,按照上述机制,各个终端定期检测场境信息并把场境信息传送给场境数据库,即使任何服务应用未明确请求这样的场境信息。换句话说,不利的是,终端把它们的资源用于定期检测和传送保存在场境数据库但是可能未被任何服务应用请求的场境信息。
[0024] 这还意味着通信网络资源(例如,路由器等)的非有效使用,因为必须分配一部分这种资源来传送把场境信息从终端传送到场境数据库的分组,即使任何服务应用未请求这样的场境信息。
[0025] 鉴于上面所述,申请人解决了提供一种克服上述缺陷的、向通信网络的终端提供基于场境的服务的方法的问题,即,所述方法允许向服务应用提供实现基于场境的服务所需的场境信息,同时通过最小化实现基于场境的服务不需要的场境信息的检测和传输,允许更有效地使用终端的资源(特别是终端的电池和计算资源)和通信网络的资源。
[0026] 按照第一方面,本发明提供一种向通信网络的终端提供基于场境的服务的方法,所述方法包括:
[0027] a)在与通信网络协作的场境服务器处接收从服务应用生成的查询,所述查询指示当查询条件被满足时,服务应用需要从场境服务器接收一组场境信息;
[0028] b)在场境服务器处生成与所述查询相关的更新规则,所述更新规则指示当更新条件被满足时,终端必须把场境信息传送给场境服务器,以便允许场境服务器服务所述查询;
[0029] c)把更新规则从场境服务器传送给终端;
[0030] d)在传感器模块处检测所述场境信息,并把所述场境信息传送给终端;
[0031] e)在终端处接收所述场境信息,并当更新条件被满足时,把场境信息传送给场境服务器;以及
[0032] f)在场境服务器处把所述场境信息转发给服务应用,从而允许服务应用实现基于场境的服务。
[0033] 最好,步骤b)还包括生成与查询相关的触发的步骤,所述触发指示当触发条件被满足时,场境服务器必须把场境信息转发给服务应用以便服务所述查询。
[0034] 有利的是,步骤a)包括确定查询条件类型,所述查询条件类型是下述之一:按时钟查询条件类型、按数值查询条件类型和按变化查询条件类型。
[0035] 最好,步骤b)包括把与查询条件类型相对应的触发条件类型的触发条件插入触发中。
[0036] 最好,步骤b)包括检查包括另一个更新条件并且与场境信息相关的另一个更新规则是否有效,在否定的情况下,把与查询条件类型相对应的更新条件类型的更新条件插入更新规则中。
[0037] 最好,步骤b)包括检查包括另一个更新条件并且与场境信息相关的另一个更新规则是否有效,在肯定的情况下,如果查询条件类型是按时钟查询条件类型,那么:
[0038] -如果另一个更新条件的类型是按时钟类型,那么把更新条件Cr=C/max(min(x,y),ts)插入更新规则中,ts是在终端处检测和传输场境信息的最小周期;
[0039] -如果另一个更新条件的类型是按数值类型或按变化类型,那么把更新条件插入更新规则中,和
[0040] -用所述更新规则替换另一个更新规则。
[0041] 最好,步骤b)包括检查包括另一个更新条件并且与场境信息相关的另一个更新规则是否有效,并且在肯定的情况下,如果查询条件类型是按数值查询条件类型,那么:
[0042] -如果另一个更新条件的类型是按数值类型,则在更新规则中插入更新条件Cr=* *V/(p=p OR r=r );
[0043] -如果另一个更新条件的类型是按时钟类型或按变化类型,则在更新规则中插入更新条件Cr=H/;和
[0044] -用所述更新规则替换所述另一个更新规则。
[0045] 最好,步骤b)包括检查包括另一个更新条件并且与场境信息相关的另一个更新规则是否有效,并且在肯定的情况下,如果查询条件类型是按变化查询条件类型,那么:
[0046] -如果另一个更新条件的类型是按变化类型,则在更新规则中插入更新条件Cr=H/(q OR z);
[0047] -如果另一个更新条件的类型是按数值类型或按时钟类型,则在更新规则中插入更新条件Cr=H/,和
[0048] -用所述更新规则替换所述另一个更新规则。
[0049] 按照第二方面,本发明提供一种适合于与通信网络协作以便向通信网络的终端提供基于场境的服务的场境服务器,所述场境服务器包括:
[0050] -适合于从服务应用接收查询的查询预处理器,所述查询指示当查询条件被满足时,服务应用需要从场境服务器接收与终端相关的一组场境信息;和
[0051] -查询处理器,所述查询处理器适合于:
[0052] -生成与查询相关的更新规则,所述更新规则指示当更新条件被满足时,终端必须检测场境信息并把场境信息传送给场境服务器,以便允许场境服务器服务所述查询;
[0053] -把更新规则传送给终端;
[0054] 场境服务器适合于接收场境信息,并把场境信息转发给服务应用,从而允许服务应用实现基于场境的服务。
[0055] 最好,查询处理器还适合于生成与查询相关的触发,所述触发指示当触发条件被满足时,场境服务器必须把场境信息转发给服务应用,以便服务所述查询,场境服务器还包括保存所述触发的触发数据库。
[0056] 最好,场境服务器还包括触发处理器,所述触发处理器适合于与触发数据库协作,以便检查触发条件是否被满足,以及如果触发条件被满足,则把场境信息转发给服务应用。
[0057] 最好,查询处理器还适合于确定查询条件类型,所述查询条件类型是下述之一:按时钟查询条件类型、按数值查询条件类型和按变化查询条件类型。
[0058] 按照第三方面,本发明提供一种通信网络的终端,所述通信网络与适合于向终端提供基于场境的服务的场境服务器协作,所述终端适合于与被配置成检测与终端相关的场境信息的传感器模块协作,所述终端包括场境客户端,所述场境客户端适合于:
[0059] -从场境服务器接收更新规则,所述更新规则指示当更新条件被满足时,终端必须检测场境信息并把场境信息传送给场境服务器,以便允许场境服务器服务所述查询;和[0060] -按照更新规则来操作传感器模块。
[0061] 按照第四方面,本发明提供一种通信系统,所述通信系统适合于向通信系统的终端提供基于场境的服务,所述通信系统包括:终端所连接的通信网络;适合于实现基于场境的服务的服务应用;和适合于与服务应用协作并与通信网络协作的场境服务器,所述终端是如上所述的终端,所述场境服务器是如上所述的场境服务器。

附图说明

[0062] 根据参考附图阅读的下述详细说明,本发明将变得更清楚,下述详细说明是作为例子给出的,而不是对本发明的限制,附图中:
[0063] 图1示意性示出了适合于实现按照本发明第一实施例的方法的通信系统;
[0064] 图2是示意性示出图1的通信系统的操作的流程图;
[0065] 图3示意性示出了适合于实现按照本发明第二实施例的方法的通信系统;
[0066] 图4是示意性示出图3的通信系统的操作的流程图;
[0067] 图5是进一步详细示出图3的场境服务器的操作的流程图;以及
[0068] 图6a、6b和6c更进一步地详细示出了图5的步骤之一。

具体实施方式

[0069] 图1示意性示出了按照本发明第一实施例的通信系统CS′。
[0070] 通信系统CS′最好包括通信网络CN。例如,通信网络CN可包含诸如GSM或UMTS网络的移动接入网络,和/或诸如因特网的传输分组交换网络。
[0071] 此外,通信系统CS′包含场境服务器SCtx′和服务应用A。服务应用A最好适合于通过与场境服务器SCtx′协作来实现(当被激活时)基于场境的服务,如下更详细所述。可选地,服务应用A可被包括在场境服务器SCtx′中。例如,它可以是当在通信系统CS′中发生特定事件(例如,新的终端连接到通信网络CN)时在场境服务器SCtx′上自动激活的配置应用。此外,通信系统CS′最好包含终端T,借助终端T,用户可访问由服务应用A实现的基于场境的服务。
[0072] 最好,终端T与传感器模块SM协作,传感器模块SM包括适合于检测与终端T相关的场境信息的一个或多个传感器。在图1中,传感器模块SM被表示成包括在终端T中。但是,按照未在图中示出的其它实施例,传感器模块SM可在终端T之外。
[0073] 此外,终端T最好包括场境客户端CCtx。场境客户端CCtx最好被配置成命令传感器模块SM,并通过通信网络CN与场境服务器SCtx′协作。例如,场境客户端CCtx可以是由终端制造商安装在终端T上的客户端应用。另一方面,场境客户端CCtx可由服务提供商自动地或者应用户的请求下载到终端T上。
[0074] 按照本发明的第一实施例,场境服务器SCtx′最好包括查询预处理器QPP和查询处理器QP。
[0075] 下面参考图2,在终端T的用户请求访问由服务应用A实现的基于场境的服务的假设下,详细说明通信系统CS′的操作。
[0076] 最好,当用户请求访问基于场境的服务时,服务应用A被激活。另一方面,可应场境服务器SCtx′的请求而激活服务应用A。
[0077] 当服务应用A被激活时,服务应用A最好生成查询Q[S,Cq](步骤1),指示当查询条件Cq被满足时,服务应用A需要从终端T接收一组场境信息S,以便正确地实现基于场境的服务。场境信息S可以是传感器模块SM所检测的整个场境信息,或者是其一部分。查询Q[S,Cq]最好还包含终端T的标识符,因为一般来说,图1的通信系统CS′包含各种终端,因此,应用A必须指定查询所涉及的终端。为了简单起见,在下面的说明中,终端T的标识符将被省略。
[0078] 如下进一步所述,查询条件Cq可以是周期性定时器的到期,或者是关于给定参数的值的条件(例如,这种参数的值的变化,或者这种参数的值与预定值的相等)。例如,查询Q[S,Cq]可规定服务应用A需要每5秒接收终端T的地面坐标。此外,查询Q[S,Cq]可规定当终端T进入预定移动小区时,服务应用A需要接收终端T的周围环境的温度和湿度。
[0079] 最好,查询Q[S,Cq]是用XML(由W3C在http://www.w3.org/TR/xml规定的可扩展标记语言)编写的。
[0080] 查询Q[S,Cq]由场境服务器SCtx′接收,场境服务器SCtx′最好处理查询Q[S,Cq](借助其查询预处理器QPP和查询处理器QP,如下详细所述),从而生成与查询Q相关的更新规则R[S,Cr](步骤2′),指示当更新条件Cr被满足时,终端T应当检测场境信息S并把场境信息传送给场境服务器SCtx′,以便允许场境服务器SCtx′正确地服务查询Q[S,Cq]。
[0081] 更新条件Cr取决于查询条件Cq。例如,如果查询Q[S,Cq]指示服务应用A需要每5秒接收终端T的地面坐标,那么与查询Q[S,Cq]相关的更新规则R[S,Cr]最好指示终端T应当每5秒检测和传送终端T的地面坐标。当查询Q[S,Cq]包含多于一个的查询条件时,或者当关于相同的场境信息S而生成多个查询(可能由不同的服务应用生成)时,会出现更复杂的情况。这种情况下的更新规则R[S,Cr]的生成将在后面详细说明。
[0082] 重新参考图2,场境服务器SCtx′随后把更新规则R[S,Cr]传送给终端T的场境客户端CCtx(步骤3)。随后,场境客户端CCtx最好指令传感器模块SM按照更新规则R[S,Cr]进行操作(步骤4)。这样,当更新条件Cr被满足时,传感器模块SM开始检测场境信息S并把场境信息S传送给场境服务器SCtx′。场境服务器SCtx′随后开始按照更新规则R[S,Cr],从终端T接收场境信息S的更新(步骤5)。当收到场境信息S的每个更新时,场境服务器SCtx′最好把所述更新转发给服务应用A(步骤6),服务应用A于是能够处理所述更新,以便向终端T的用户提供基于场境的服务。最好重复步骤S5和S6,直到查询Q[S,Cq](并因此更新规则R[S,Cr])到期为止。
[0083] 于是有利的是,按照本发明的第一实施例,终端T的资源(具体地说,终端T的电池和计算能力)被专用于检测和传送服务应用A在查询Q[S,Cq]中明确请求的场境信息S。实际上,由于由场境服务器SCtx′和场境客户端CCtx实现的查询-更新规则机制,终端T(具体地,其传感器模块SM)被指令检测和传送仅在查询Q[S,Cq]中指定的场境信息。此外,通过考虑按照查询条件Cq确定的更新条件Cr,检测和传送这样的场境信息S。因此,终端T并不不断地更新场境信息S,相反只有当服务应用A实际请求更新时,终端T才更新场境信息S。
[0084] 例如,如果查询Q[S,Cq]规定当预定终端T′位于终端T的周围环境中时,服务应用A需要接收表示在终端T的周围环境中存在其它终端的场境信息,那么有利的是,除非终端T检测到预定终端T′的存在,否则终端T将不传送与在终端T的周围环境中存在其它终端有关的信息。因此,有利的是,终端T只定期检查其它终端是否位于终端T的周围环境中(例如,借助其蓝牙接口),并且当场境客户端CCtx检测到预定终端T′的存在时,它实际把表示在终端T的周围环境中存在其它终端的场境信息传送给场境服务器SCtx′。
[0085] 上面的例子表明不仅终端的资源被更有效地使用,而且通信网络的资源也得到更有效的使用,因为只有当实际请求场境信息时,才进行从场境客户端CCtx到场境服务器SCtx′的场境信息的传输。这有利地降低了终端T和通信网络CN之间的通信成本。
[0086] 图3示意性示出了适合于实现按照本发明第二实施例的方法的通信系统CS。
[0087] 类似于图1的通信系统CS′,图3的通信系统CS包含通信网络CN、服务应用A和具有传感器模块SM与场境客户端CCtx的终端T。由于这些组件基本上与图1的对应组件相同,因此将不再重复它们的详细说明。
[0088] 此外,通信系统CS包含场境服务器SCtx,场境服务器SCtx适合于与服务应用A协作,并且适合于通过通信网络CN与场境客户端CCtx协作。
[0089] 最好,按照本发明的第二实施例,场境服务器SCtx包含查询预处理器QPP、查询处理器QP、触发数据库TR-DB、触发处理器TRP、与触发处理器TRP协作的触发时钟CK、以及场境数据库C-DB。
[0090] 下面参考图4,在假定终端T的用户请求访问由服务应用A实现的基于场境的服务的情况下,详细说明通信系统CS的操作。
[0091] 最好,当用户请求访问基于场境的服务时,服务应用A被激活。
[0092] 当服务应用A被激活时,服务应用A生成查询Q[S,Cq](步骤1),指示当查询条件Cq被满足时,服务应用A需要从终端T接收一组场境信息S,以便正确地实现基于场境的服务。
[0093] 查询Q[S,Cq]被场境服务器SCtx接收,场境服务器SCtx最好处理查询Q[S,Cq](借助其查询预处理器QPP和查询处理器QP,如下更详细所述),从而生成与查询Q相关的更新规则R[S,Cr](步骤2),所述更新规则R[S,Cr]指示当更新条件Cr被满足时,终端T应当检测场境信息S并把所述场境信息S传送给场境服务器SCtx,以便允许场境服务器SCtx正确地服务查询Q[S,Cq]。
[0094] 按照第二实施例,在步骤2期间,场境服务器SCtx最好还生成触发TR[S,Ct],指示当触发条件Ct被满足时,场境服务器SCtx应从其场境数据库C-DB中读取场境信息S的最后更新,并将其转发给服务应用A,以便服务查询Q[S,Cq]。触发条件Ct取决于查询条件Cq,并且取决于其它参数,如下详细所述。触发TR[S,Ct]随后被保存在触发数据库TR-DB中。
[0095] 场境服务器SCtx随后把更新规则R[S,Cr]传送给终端T的场境客户端CCtx(步骤3)。随后,场境客户端CCtx最好指令传感器模块SM按照更新规则R[S,Cr]进行操作(步骤4)。这样,当更新条件Cr被满足时,传感器模块SM开始检测场境信息S并将场境信息S的更新传送给场境服务器SCtx。场境服务器SCtx随后开始按照更新规则R[S,Cr],从终端T接收场境信息S的更新(步骤5)。
[0096] 按照第二实施例,每次场境服务器SCtx收到场境信息S的更新时,它最好把所述更新保存在场境数据库C-DB中(步骤5a)。随后,场境服务器SCtx最好在触发数据库TR-DB中检查触发是否对场境信息S有效(步骤5b)。如下更详细所述,可不响应于收到场境信息S的更新而进行步骤5a,而是在触发时钟CK到期时,与接收的更新无关地进行步骤5a,如下详细所述。
[0097] 如果没有对场境信息S有效的触发,那么场境服务器SCtx最好不进行任何其它操作,直到收到场境信息S的下一个更新为止(或者直到触发时钟到期为止)。否则,触发处理器TRP检查触发条件Ct是否被满足(步骤5c)。在肯定的情况下,场境服务器SCtx最好从场境数据库C-DB中读取场境信息S,并把读取的场境信息S转发给服务应用A(步骤6),因此,服务应用A能够处理场境信息S,以便向终端T的用户提供基于场境的服务。在否定的情况下,场境服务器SCtx最好不进行任何其它操作,直到收到场境信息S的下一个更新为止(或者直到触发时钟CK到期为止)。
[0098] 最好,重复步骤5、5a、5b、5c和6,直到查询Q[S,Cq](从而触发TR[S,Ct]和更新规则R[S,Cr])到期为止。
[0099] 下面参考图5,详细说明生成与查询Q[S,Cq]相关的触发TR[S,Ct]和更新规则R[S,Cr]的步骤2。
[0100] 按照本发明的第二实施例,定义了三种不同类型的查询条件Cq,即:
[0101] -按时钟查询条件,指示每x秒服务应用A需要从终端T接收场境信息S,以便正确地实现基于场境的服务。为了简单起见,在下面的说明中,按时钟查询条件将被表示成Cq=C/x;
[0102] -按数值查询条件,指示当关于特定参数p的数值的条件被满足时,服务应用A需要从终端T接收场境信息S,以便正确地实现基于场境的服务。参数p最好是场境信息S的*一部分。为了简单起见,在下面的说明中,按数值查询条件将被表示成Cq=V/(p=p );

[0103] -按变化查询条件,指示当参数q改变其数值时,服务应用A需要从终端T接收场境信息S,以便正确地实现基于场境的服务。参数q最好是场境信息S的一部分。为了简单起见,在下面的说明中,按变化查询条件将被表示成Cq=H/q。一种特殊的按变化查询条件最好指示当任意场境信息S改变其数值时,服务应用A需要从终端T接收场境信息S,以便正确地实现基于场境的服务。为了简单起见,在下面的说明中,这种特殊的按变化查询条件将被表示成Cq=H/。
[0104] 此外,最好定义与上面定义的查询条件相对应的三种不同类型的更新条件Cr,即:*
按时钟更新条件(Cr=C/x)、按数值更新条件(Cr=V/(p=p ))和按变化更新条件(Cr=H/q或Cr=H/)。类似地,定义与上面定义的查询条件相对应的三种不同类型的触发条*
件Ct,即:按时钟触发条件(Ct=C/x)、按数值触发条件(Ct=V/(p=p ))和按变化触发条件(Ct=H/q或Ct=H/)。
[0105] 此外,按照本发明的实施例,由服务应用A生成的查询可包括单个查询条件,或者由布尔运算符链接的多个查询条件。下面,包含单个查询条件的查询将被称为“基本查询”,并将被表示成Qb,而包含由布尔运算符链接的多个查询条件的查询将被称为“复合查询”,并将被表示成Qc。由于上面定义了三种查询条件(按时钟、按数值和按变化),因此最好定义三种不同类型的基本查询Qb,即:
[0106] -具有按时钟查询条件的基本查询:Qb[S,C/x];
[0107] -具有按数值查询条件的基本查询:Qb[S,V/(p=p*)];和
[0108] -具有按变化查询条件的基本查询:Qb[S,H/q]或Qb=[S,H/]。
[0109] 下面,报告复合查询Qc的一些例子。
[0110] 按照第一个例子,复合查询Qc可指示当参数q改变数值时,服务应用A需要从终端T接收场境信息S,以便正确地实现基于场境的服务,但是在参数q恒定不变的情况下,服务应用A无论如何需要每x秒监测场境信息S。从而,这种复合查询为Qc[S,Cq1或Cq2],其中Cq1=C/x以及Cq2=H/q。
[0111] 按照第二个例子,复合查询Qc可指示当参数q1和参数q2都改变其数值时,服务应用A需要从终端T接收场境信息S,以便正确地实现基于场境的服务。从而,这种复合查询为Qc[S,Cq1和Cq2],其中Cq1=H/q1以及Cq2=H/q2。
[0112] 参见图5,场境服务器SCtx借助其查询预处理器QPP来接收查询Q,查询预处理器QPP最好验证查询Q(步骤20)。在验证期间,查询预处理器QPP最好检查查询Q是否具有正确的语法。随后,查询预处理器QPP最好检查查询Q是否是基本查询Qb(步骤21)。
[0113] 如果查询Q是基本查询Qb,那么查询预处理器QPP最好把基本查询Qb转发给查询处理器QP,而不进行任何其它处理。
[0114] 另一方面,如果查询Q是复合查询Qc,那么查询预处理器QPP最好处理复合查询Qc,以便用一个或多个对应的基本查询Qb,可能还有一个或多个触发来替换复合查询Qc(步骤22)。
[0115] 为了简单起见,举例来说,假定复合查询Qc包含用布尔运算符链接的两个查询条件Cq1和Cq2。在这种假设下,在步骤22中,查询预处理器QPP最好进行下述操作:
[0116] -如果布尔运算符等于OR:
[0117] 那么预处理器QPP最好用第一基本查询Qb1[S,Cq1]和第二基本查询Qb2[S,Cq2]来替换复合查询Qc,并把这两个基本查询转发给查询处理器QP,查询处理器QP分别处理这两个基本查询;
[0118] -如果布尔运算符等于AND:
[0119] -如果Cq1=V/(p=p*)以及Cq2=C/x:
[0120] 那么预处理器QPP最好用基本查询Qb[s,C/x]和触发TR[S,V/(p=p*)]来替换*复合查询Qc,把基本查询Qb[s,C/x]转发给查询处理器QP,并把触发TR[S,V/(p=p )]保存在触发数据库TR-DB中;
[0121] -如果Cq1=V/(p=p*)以及Cq2=H/q:
[0122] 那么预处理器QPP最好用基本查询Qb[s,H/q]和触发TR[S,V/(p=p*)]来替换*复合查询Qc,把基本查询Qb[s,H/q]转发给查询处理器QP,并把触发TR[S,V/(p=p )]保存在触发数据库TR-DB中。
[0123] 重新参见图5,查询处理器QP随后从查询预处理器QPP接收基本查询Qb(查询处理器QP基本同时接收两个基本查询Qb1和Qb2的特殊情况将在后面单独讨论)。
[0124] 随后,最好处理每个基本查询Qb(步骤23),以便生成:
[0125] -涉及场境信息S并且包含触发条件Ct的对应触发T[S,Ct],如上所述,所述触发条件Ct可以是按时钟触发条件、按数值触发条件或者按变化触发条件;和[0126] -涉及场境信息S并且包含更新条件Cr的对应更新规则R[S,Cr],如上所述,所述更新条件Cr可以是按时钟更新条件、按数值更新条件或者按变化更新条件。
[0127] 最好,触发条件Ct的类型与包含在基本查询Qb中的查询条件的类型相同。此外,最好,更新条件Cr的类型可以与包含在基本查询Qb中的查询条件的类型相同,或者是不同的类型,如下参考图6a、6b和6c更详细所述。
[0128] 特别地,图6a、6b和6c分别是与在基本查询Qb包含按时钟查询条件、按数值查询条件或按变化查询条件的情况下,生成与基本查询Qb相对应的触发T[S,Ct]和更新规则R[S,Cr]的操作有关的流程图。
[0129] 特别地,首先参考图6a,如果基本查询Qb包含按时钟查询条件Cq=C/x,那么查询处理器QP首先生成具有按时钟触发条件Ct=C/x的触发(步骤230a),并将其保存在触发数据库TR-DB中。
[0130] 随后,查询处理器QP最好检查是否已生成了与场境信息S相关的另一个更新规则R′,以便履行由服务应用A本身或者由与场境服务器SCtx协作的另一个服务应用生成的另一个查询Q′(步骤231a)。
[0131] 在否定的情况下,查询处理器QP最好生成包含按时钟更新条件Cr=C/x的更新规则(步骤232a)。
[0132] 在肯定的情况下,查询处理器QP确定包含在已存在的更新规则R′中的更新条件的类型(步骤233a)。
[0133] 如果已存在的更新规则R′包含按时钟更新条件Cr′=C/y(y不同于x),那么查询处理器QP最好用包含按时钟更新条件Cr=C/max(min(x,y),ts)的更新规则来替换更新规则R′,其中ts是终端T的最小场境信息检测和传输周期(步骤234a)。ts最好取决于场境客户端CCtx的时钟,并取决于传感器单元SM的特征。
[0134] 有利的是,在步骤234a中生成的更新规则能够服务基本查询Qb和与更新规则R′相关的在先查询Q′。
[0135] 例如,假定第一服务应用生成与场境信息S相关并且包含第一按时钟查询条件Cq′=C/y(例如y=10秒)的第一查询Q′。如果没有已经有效的与场境信息S相关的查询,那么场境处理器QP最好生成包含第一按时钟触发条件Ct′=C/10的第一触发TR′(步骤230a)和包含按时钟更新条件Cr′=C/10的第一更新规则R′(步骤232a)。第一触发TR′随后被保存在触发数据库TR-DB,而第一更新规则R′被传送给场境客户端CCtx,场境客户端CCtx随后指令传感器模块SM每10秒检测场境信息S并把场境信息S传送给场境服务器SCtx。假定在第一触发TR′和第一更新规则R′仍然有效时,第二服务应用生成了与场境信息S相关并且包含第二按时钟查询条件Cq=C/x(例如,x=5秒)的第二查询Q。查询处理器QP随后生成包含第二按时钟触发条件Ct=C/5的第二触发TR(步骤230a),第二触发TR被保存在触发数据库TR-DB。随后,查询处理器QP最好执行步骤231a(从而确定第一更新规则R′的存在)和步骤233a(从而确定第一更新规则R′包含按时钟更新条件Cr′)。因此,查询处理器QP最好用包含按时钟更新条件Cr=C/max(min(10,5),ts)=C/5的第二更新规则R来替换第一更新规则R′(步骤234a),假定ts小于5秒。第二更新规则R被传送给场境客户端CCtx,从而替换第一更新规则R′。场境客户端CCtx随后指令传感器模块SM每5秒检测场境信息S并把场境信息S传送给场境服务器SCtx。在场境服务器SCtx按照第二更新规则R接收场境信息S的更新时,触发处理器TRP最好与触发时钟CK协作,以便检查按时钟触发条件Ct′和Ct是否被满足。因此,每次第一触发条件Ct′被满足时,即每10秒钟,从场境数据库C-DB读取关于场境信息S的更新并把关于场境信息S的更新发给第一服务应用。另一方面,每次第二触发条件Ct被满足时,即,每5秒钟,从场境数据库C-DB读取关于场境信息S的更新并把关于场境信息S的更新发给第二服务应用。
[0136] 重新参见图6a,如果在步骤233a中,查询处理器QP确定已存在的更新规则R′包*含按数值更新条件Cr′=V/(r=r ),那么查询处理器QP最好用包含按变化更新条件Cr=H/的更新规则来替换已存在的更新规则R′(步骤235a)。
[0137] 另外在这种情况下,有利的是,在步骤235a中生成的更新规则能够服务基本查询Qb和与更新规则R′相关的在先查询Q′。
[0138] 例如,假定第一服务应用生成与场境信息S相关并且包含按数值查询条件Cq′=*V/(r=r )的第一查询Q′。如果没有已经有效的与场境信息S相关的查询,那么查询处*
理器QP最好生成包含按数值触发条件Ct′=V/(r=r )的第一触发TR′(步骤230b,*
下面将参考图6b详细说明),和包含按数值更新条件Cr′=V/(r=r )的第一更新规则R′(步骤232b,下面将参考图6b详细说明)。第一触发TR′随后被保存在触发数据库TR-DB中,而第一更新规则R′被传送给场境客户端CCtx,场境客户端CCtx随后指令传*
感器模块SM在r等于r 时,检测并把场境信息S传送给场境服务器SCtx。假定在第一触发TR′和第一更新规则R′仍然有效时,第二服务应用生成了与场境信息S相关并且包含按时钟查询条件Cq=C/x(例如,x=5秒)的第二查询Q。查询处理器QP随后生成包含按时钟触发条件Ct=C/5的第二触发TR(步骤230a),第二触发TR被保存在触发数据库TR-DB。随后,查询处理器QP最好进行步骤231a(从而确定第一更新规则R′的存在),和步骤233a(从而确定第一更新规则R′包含按数值更新条件Cr′)。因此,查询处理器QP最好用包含按变化更新条件Cr=H/的第二更新规则R来替换第一更新规则R′(步骤235a)。
第二更新规则R被传送给场境客户端CCtx,从而替换第一更新规则R′。场境客户端CCtx随后指令传感器模块SM在每次任意场境信息S改变数值时,检测并把场境信息S传送给场境服务器SCtx。当收到场境信息S的每个更新时,触发处理器TRP把更新的场境信息S保存在场境数据库C-DB中,并且最好检查按数值触发条件Ct′是否被满足,并在肯定的情况下,触发处理器TRP从场境数据库C-DB中读取场境信息S,并将其转发给第一服务应用。此外,当收到场境信息S的每个更新时,触发处理器TRP与触发时钟CK协作,以便检查按时钟触发条件Ct是否被满足,并在肯定的情况下,触发处理器TRP从场境数据库C-DB中读取场境信息S,并将其转发给第二服务应用。
[0139] 重新参见图6a,如果在步骤233a中,查询处理器QP确定已存在的更新规则R′包含按变化更新条件Cr′=H/z,那么查询处理器QP最好用包含按变化更新条件Cr=H/的更新规则来替换已存在的更新规则R′(步骤236a)。
[0140] 另外在这种情况下,有利的是,在步骤236a中生成的更新规则能够服务基本查询Qb和与更新规则R′相关的在先查询Q′。
[0141] 例如,假定第一服务应用生成与场境信息S相关并且包含按变化查询条件Cq′=H/z的第一查询Q′。如果没有已经有效的与场境信息S相关的查询,那么查询处理器QP最好生成包含按变化触发条件Ct′=H/z的第一触发TR′(步骤230c,下面将参考图6c详细说明)和包含按变化更新条件Cr′=H/z的第一更新规则R′(步骤232c,下面将参考图6c详细说明)。第一触发TR′随后被保存在触发数据库TR-DB中,而第一更新规则R′被传送给场境客户端CCtx,场境客户端CCtx随后指令传感器模块SM在z改变数值时,检测并把场境信息S传送给场境服务器SCtx。假定在第一触发TR′和第一更新规则R′仍然有效时,第二服务应用生成了与场境信息S相关并且包含按时钟查询条件Cq=C/x(例如,x=5秒)的第二查询Q。查询处理器QP随后生成包含按时钟触发条件Ct=C/5的第二触发TR(步骤230a),第二触发TR被保存在触发数据库TR-DB。随后,查询处理器QP最好进行步骤231a(从而确定第一更新规则R′的存在),和步骤233a(从而确定第一更新规则R′包含按变化更新条件Cr′)。因此,查询处理器QP最好用包含按变化更新条件Cr=H/的第二更新规则R来替换第一更新规则R′(步骤236a)。第二更新规则R被传送给场境客户端CCtx,从而替换第一更新规则R′。场境客户端CCtx随后指令传感器模块SM在每次任意场境信息S改变数值时,检测并把场境信息S传送给场境服务器SCtx。当收到场境信息S的每个更新时,触发处理器TRP检查按变化触发条件Ct′是否被满足,并在肯定的情况下,触发处理器TRP从场境数据库C-DB中读取场境信息S,并将其转发给第一服务应用。此外,当收到场境信息S的每个更新时,触发处理器TRP与触发时钟CK协作,以便检查按时钟触发条件Ct是否被满足,并在肯定的情况下,触发处理器TRP从场境数据库C-DB中读取场境信息S,并将其转发给第二服务应用。
[0142] 现在参见图6b,如果基本查询Qb包含按数值查询条件Cq=V/(p=p*),那么查*询处理器QP首先生成具有按数值触发条件Ct=V/(p=p )的触发(步骤230b),并将其保存在触发数据库TR-DB中。
[0143] 随后,查询处理器QP最好检查是否已生成与场境信息S相关的另一个更新规则R′,以便履行由服务应用A本身或者由与场境服务器SCtx协作的另一个服务应用生成的另一个查询Q′(步骤231b)。
[0144] 在否定的情况下,查询处理器QP最好生成包含按数值更新条件Cr=V/(p=p*)的更新规则(步骤232b)。
[0145] 在肯定的情况下,查询处理器QP确定包含在已存在的更新规则R′中的更新条件的类型(步骤233b)。
[0146] 如果已存在的更新规则R′包含按数值更新条件Cr′=V/(r=r*)(参数r不* *同于参数p),那么查询处理器QP最好用包含按数值更新条件Cr=V/(p=p 或r=r )的更新规则来替换已存在的更新规则R′(步骤234b)。
[0147] 有利的是,在步骤234b中生成的更新规则能够服务基本查询Qb和与更新规则R′相对应的在先查询Q′。
[0148] 例如,假定第一服务应用生成与场境信息S相关并且包含第一按数值查询条件*Cq′=V/(r=r )的第一查询Q′。如果没有已经有效的与场境信息S相关的查询,那么*
查询处理器QP最好生成包含第一按数值触发条件Ct′=V/(r=r )的第一触发TR′(步*
骤230b),和包含按数值更新条件Cr′=V/(r=r )的第一更新规则R′(步骤232b)。
第一触发TR′随后被保存在触发数据库TR-DB,而第一更新规则R′被传送给场境客户端*
CCtx,场境客户端CCtx随后指令传感器模块SM在r等于r 时,检测并把场境信息S传送给场境服务器SCtx。假定在第一触发TR′和第一更新规则R′仍然有效时,第二服务应用*
生成了与场境信息S相关并且包含第二按数值查询条件Cq=V/(p=p )(p不同于r)的*
第二查询Q。查询处理器QP随后生成包含第二按数值触发条件Ct=V/(p=p )的第二触发TR(步骤230b),第二触发TR被保存在触发数据库TR-DB。随后,查询处理器QP最好执行步骤231b(从而确定第一更新规则R′的存在)和步骤233b(从而确定第一更新规则R′包含按数值更新条件Cr′)。因此,查询处理器QP最好用包含按数值更新条件Cr=V(p* *
=p 或r=r )的第二更新规则R来替换第一更新规则R′(步骤234b)。第二更新规则R被传送给场境客户端CCtx,从而替换第一更新规则R′。场境客户端CCtx随后指令传* *
感器模块SM每次在p等于p 和每次r等于r 时,检测并把场境信息S传送给场境服务器SCtx。当收到场境信息S的每个更新时,触发处理器TRP最好检查按数值触发条件Ct′和Ct是否被满足。当第一按数值触发条件Ct′被满足时,从场境数据库C-DB中读取场境信息S,并将其发给第一服务应用。当第二按数值触发条件Ct被满足时,从场境数据库C-DB中读取场境信息S,并将其发给第二服务应用。
[0149] 重新参见图6b,如果在步骤233b中,查询处理器QP确定已存在的更新规则R′包含按时钟更新条件Cr′=C/y,那么查询处理器QP最好用包含按变化更新条件Cr=H/的更新规则来替换已存在的更新规则R′(步骤235b)。
[0150] 另外在这种情况下,有利的是,在步骤235b中生成的更新规则能够服务基本查询Qb和与更新规则R′相关的在先查询Q′。这种情况基本上与当已经存在的更新规则R′包含按数值更新条件时,上面参考图6a说明的情况相同。因此,不再重复其详细说明。
[0151] 重新参见图6b,如果在步骤233b中,查询处理器QP确定已存在的更新规则R′包含按变化更新条件Cr′=H/z,那么查询处理器QP最好用包含按变化更新条件Cr=H/的更新规则来替换已存在的更新规则R′(步骤236b)。
[0152] 另外在这种情况下,有利的是,在步骤236b中生成的更新规则能够服务基本查询Qb和与更新规则R′相关的在先查询Q′。
[0153] 例如,假定第一服务应用生成了与场境信息S相关并且包含按变化查询条件Cq′=H/z的第一查询Q′。如果没有已经有效的与场境信息S相关的查询,那么查询处理器QP最好生成包含按变化触发条件Ct′=H/z的第一触发TR′(步骤230c,下面将参考图6c详细说明)和包含按变化更新条件Cr′=H/z的第一更新规则R′(步骤232c,下面将参考图6c详细说明)。第一触发TR′随后被保存在触发数据库TR-DB中,而第一更新规则R′被传送给场境客户端CCtx,场境客户端CCtx随后指令传感器模块SM在z改变数值时,检测并把场境信息S传送给场境服务器SCtx。假定在第一触发TR′和第一更新规则R′仍然有效时,第二服务应用生成了与场境信息S相关并且包含按数值查询条件Cq=V/(p=* *
p )的第二查询Q。查询处理器QP随后生成包含按数值触发条件Ct=V/(p=p )的第二触发TR(步骤230b),第二触发TR被保存在触发数据库TR-DB。随后,查询处理器QP最好进行步骤231b(从而确定第一更新规则R′的存在),和步骤233b(从而确定第一更新规则R′包含按变化更新条件Cr′)。因此,查询处理器QP最好用包含按变化更新条件Cr=H/的第二更新规则R来替换第一更新规则R′(步骤236b)。第二更新规则R被传送给场境客户端CCtx,从而替换第一更新规则R′。场境客户端CCtx随后指令传感器模块SM在每次任意场境信息S改变数值时,检测并把场境信息S传送给场境服务器SCtx。当收到场境信息S的每个更新时,触发处理器TRP最好检查按变化触发条件Ct′是否被满足,并在肯定的情况下,从场境数据库C-DB中读取场境信息S,并将其转发给第一服务应用。此外,当收到场境信息S的每个更新时,触发处理器TRP最好还检查按数值触发条件Ct是否被满足,并在肯定的情况下,从场境数据库C-DB中读取场境信息,并将其转发给第二服务应用。
[0154] 现在参见图6c,如果基本查询Qb包含按变化查询条件Cq=H/q,那么查询处理器QP首先生成具有按变化触发条件Ct=H/q的触发(步骤230c),并将其保存在触发数据库TR-DB中。
[0155] 随后,查询处理器QP最好检查是否已生成与场境信息S相关的另一个更新规则R′,以便履行由服务应用A本身或者由与场境服务器SCtx协作的另一个服务应用生成的另一个查询Q′(步骤231c)。
[0156] 在否定的情况下,查询处理器生成包含按变化更新条件Cr=H/q的更新规则(步骤232c)。
[0157] 在肯定的情况下,查询处理器QP确定包含在已存在的更新规则R′中的更新条件的类型(步骤233c)。
[0158] 如果已存在的更新规则R′包含按变化更新条件Cr′=H/z(参数z不同于参数q),那么查询处理器QP最好用包含按变化更新条件Cr=H/(q或z)的更新规则来替换已存在的更新规则R′(步骤234c)。
[0159] 有利的是,在步骤234c中生成的更新规则能够服务基本查询Qb和与更新规则R′相关的在先查询Q′。
[0160] 例如,假定第一服务应用生成了与场境信息S相关并且包含按变化查询条件Cq′=H/z的第一查询Q′。如果没有已经有效的与场境信息S相关的查询,那么查询处理器QP最好生成包含第一按变化触发条件Ct′=H/z的第一触发TR′(步骤230c),和包含按变化更新条件Cr′=H/z的第一更新规则R′(步骤232c)。第一触发TR′随后被保存在触发数据库TR-DB,而第一更新规则R′被传送给场境客户端CCtx,场境客户端CCtx随后指令传感器模块SM在z改变数值时,检测并把场境信息S传送给场境服务器SCtx。假定在第一触发TR′和第一更新规则R′仍然有效时,第二服务应用生成了与场境信息S相关并且包含第二按变化查询条件Cq=H/q(q不同于z)的第二查询Q。查询处理器QP随后生成包含第二按变化触发条件Ct=H/q的第二触发TR(步骤230c),第二触发TR被保存在触发数据库TR-DB。随后,查询处理器QP最好执行步骤231c(从而确定第一更新规则R′的存在)和步骤233c(从而确定第一更新规则R′包含按变化更新条件Cr′)。因此,查询处理器QP最好用包含按变化更新条件Cr=H/(q或z)的第二更新规则R来替换第一更新规则R′(步骤234c)。第二更新规则R被传送给场境客户端CCtx,从而替换第一更新规则R′。场境客户端CCtx随后指令传感器模块SM每次在q或z改变数值时,检测并把场境信息S传送给场境服务器SCtx。当收到场境信息S的每个更新时,触发处理器TRP最好检查按变化触发条件Ct′和Ct是否被满足。如果第一按变化触发条件Ct′被满足,那么从场境数据库C-DB中读取场境信息S,并将其发给第一服务应用。如果第二按变化触发条件Ct被满足,那么从场境数据库C-DB中读取场境信息S,并将其发给第二服务应用。
[0161] 重新参见图6c,如果在步骤233c中,查询处理器QP确定已存在的更新规则R′包*含按数值更新条件Cr′=V/(r-r ),那么查询处理器QP最好用包含按变化更新条件Cr=H/的更新规则来替换已存在的更新规则R′(步骤235c)。
[0162] 另外在这种情况下,有利的是,在步骤235c中生成的更新规则能够服务基本查询Qb和与更新规则R相关的在先查询Q′,如上当已存在的更新规则R′包含按变化更新条件(步骤236b)时,参考图6b公开的一样。
[0163] 重新参见图6c,如果在步骤233c中,查询处理器QP确定已存在的更新规则R′包含按时钟更新条件Cr′=C/y,那么查询处理器QP最好用包含按变化更新条件Cr=H/的更新规则来替换已存在的更新规则R′(步骤236c)。
[0164] 另外在这种情况下,有利的是,在步骤236c中生成的更新规则能够服务基本查询Qb和与更新规则R′相关的在先查询Q′,如上当已存在的更新规则R′包含按变化更新条件(步骤236a)时,参考图6a公开的一样。
[0165] 因此,按照本发明的第二实施例,以进一步改进的方式来使用终端T的资源。事实上,由于触发的缘故,可在能够服务两个查询的单个更新规则中“合并”由不同的服务应用生成并与相同的场境信息相关的两个以上的不同查询。事实上,根据上面的流程图,可注意到当在场境服务器SCtx收到与相同的场境信息相关的两个查询时,场境服务器SCtx确定适合于同时履行所有查询的单个更新条件,同时场境服务器SCtx将包括与查询条件相等的触发条件的独立触发与每个基本查询相关联。因此,在通过“公共”更新规则来管理从终端T到场境服务器SCtx的更新的传输的同时,通过触发条件来管理从场境服务器SCtx到服务应用的更新的转发。
[0166] 有利的是,在单个更新规则中“合并”不同查询的上述机制允许优化终端T的资源。事实上,代替分别服务两个查询,按照如上所述确定的更新规则工作的终端T检测并传送足以同时服务两个查询的场境信息S的最少量更新。
[0167] 此外,如上所述,还可以以非常有效的方式来管理复合查询。特别地,上面提及的包括用OR布尔运算符关联的两个查询条件Cq1和Cq2的复合查询Qc被查询预处理器QPP用第一和第二基本查询Qb1和Qb2来替换,第一和第二基本查询Qb1和Qb2随后被发给查询处理器QP。最好,查询处理器QP通过首先如图6a、6b和6c的流程图中所示那样处理第一基本查询Qb1,随后通过如图6a、6b和6c的流程图中所示那样单独处理第二基本查询Qb2,并且只有在第二基本查询Qb2的处理完成之后,才把所得到的更新规则传送给场境客户端CCtx,来处理这两个基本查询Qb1和Qb2。这样,所得到的更新规则考虑了这两个基本查询Qb1和Qb2。
[0168] 此外,按照本发明的优选实施例,每个查询Q与一个到期时间相关联。特别地,查询处理器QP最好与保存在场境服务器SCtx处接收的每个查询的查询到期时间的有效查询表(图中未示出)协作。查询处理器QP通过比较触发时钟CK与保存在所述表中的到期时间,定期地关于可能到期的查询来检查有效查询表。当查询的到期时间到期时,查询处理器QP最好重新计算与到期查询所涉及的场境信息S相关的更新规则。特别地,在到期查询到期之后,查询处理器重新计算更新规则,就好像与场境信息S相关的仍然有效查询到达场境服务器SCtx。此外,查询处理器QP还从触发数据库TR-DB中删除与到期查询相关的可能触发。
[0169] 此外,按照本发明的优选实施例,触发处理器TRP最好与有效触发表(图中未示出)协作。有效触发表最好包含有效触发的列表。对于每个有效触发,有效触发表最好指示按照其生成该触发的查询、要被满足的触发条件、触发条件所涉及的服务应用和终端所请求的场境信息、以及当触发条件被满足时必须向其转发场境信息的服务应用的标识符(最好是URL)。为了检查按时钟触发条件,触发处理器TRP最好与触发时钟CK协作。
[0170] 此外,按照优选实施例,保存在场境数据库C-DB的场境信息S与到期时间相关联。当场境信息的到期时间到期时,保存的该场境信息S的数值将不再被认为有效。场境信息S的到期时间最好由场境客户端CCtx根据按照其检测场境信息S并把场境信息S传送给场境服务器SCtx的更新规则来确定。例如:
[0171] -如果更新规则R[S,Cr]包含按时钟更新条件Cr=C/x,那么场境客户端CCtx最好把场境信息S的到期时间设成等于(5/4)x。这有利地保证了在下一个更新到达场境数据库C-DB之前,场境信息S的数值被认为是有效的;
[0172] -如果更新规则R[S,Cr]包含按数值更新条件Cr=V/(p=p*)或者按变化更新条件Cr=H/q,那么场境客户端CCtx最好把场境信息S的到期时间设成等于无穷大,因为在下一个更新到达场境数据库C-DB(这是不可预知的事件)之前,场境信息S的数值必须是有效的。