用于提供基于位置的事件服务的方法和系统.pdf

上传人:000****221 文档编号:687535 上传时间:2018-03-05 格式:PDF 页数:27 大小:1.30MB
返回 下载 相关 举报
摘要
申请专利号:

CN02819381.4

申请日:

2002.11.26

公开号:

CN1561650A

公开日:

2005.01.05

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04Q7/38

主分类号:

H04Q7/38

申请人:

甲骨文国际公司;

发明人:

韩松; 普拉布达·比斯瓦斯; 吴京

地址:

美国加利福尼亚

优先权:

2001.11.27 US 09/993,670

专利代理机构:

中国国际贸易促进委员会专利商标事务所

代理人:

李玲

PDF下载: PDF下载
内容摘要

本发明涉及一种用于提供基于移动用户位置的事件服务的方法、系统和计算机程序产品,它们使用了一个位置缓存器来为移动用户保存近期位置信息,以便减少对于昂贵和费时的定位请求的需要,并且还对位置确定时间进行智能调度,由此提供了改善的效率。所述方法包括如下步骤:a)获取指示至少一个移动用户当前位置的信息,所述至少一个移动用户包括一个选定的移动用户,b)基于所指示的至少一个移动用户的当前位置,确定是否满足与至少一个移动用户位置相关联的至少一个条件,c)如果有至少一个条件得到满足,则执行至少一个事件,以及d)在重复步骤a)~c)之前确定一个等待时间间隔。

权利要求书

1: 一种用于提供基于位置的事件服务的方法,包括以下步骤: a)获取指示至少一个移动用户当前位置的信息,所述至少一个 移动用户包括一个选定的移动用户; b)基于所指示的至少一个移动用户的当前位置,确定是否满足 与至少一个移动用户位置相关联的至少一个条件; c)如果有至少一个条件得到满足,则执行至少一个事件;以及 d)在重复步骤a)~c)之前,确定一个等待时间间隔。
2: 权利要求1的方法,其中确定一个等待时间间隔的步骤包括 以下步骤: 选择一个最不可能使条件得到满足的移动用户作为选定移动用 户;以及 基于选定的移动用户来确定等待时间间隔。
3: 权利要求2的方法,其中基于选定移动用户来确定等待时间 间隔的步骤包括以下步骤: 基于以下至少一个因素来估算选定移动用户可能满足条件的时 间:从选定移动用户的当前位置到与所述条件有关的区域的距离、选 定移动用户的速度;以及 基于估算得到的选定移动用户可能满足条件时的时间以及时间 容差来确定等待时间间隔。
4: 权利要求3的方法,其中获取步骤包括以下步骤: 在一个可用于保存那些指示移动用户位置的信息的缓存器中搜 索指示至少一个移动用户位置的信息; 如果在缓存器中发现了指示至少一个移动用户位置的信息,则使 用指示至少一个移动用户位置的信息作为指示至少一个移动用户当前 位置的信息;以及 如果在缓存器中没有发现指示至少一个移动用户位置的信息,则 查询至少一个移动定位服务器,以便获取指示至少一个移动用户当前 位置的信息。
5: 权利要求4的方法,其中至少一个事件包括发送一个消息。
6: 权利要求5的方法,其中所述消息发送至一个移动用户。
7: 权利要求5的方法,其中所述消息发送至一个非移动用户。
8: 权利要求4的方法,其中至少一个条件涉及的是一个移动用 户的位置。
9: 权利要求4的方法,其中至少一个条件涉及的是多个移动用 户的位置。
10: 权利要求4的方法,其中至少一个条件涉及的是一个移动用 户位置和一个时间。
11: 一种用于提供基于位置的事件服务的系统,包括: 一个可用于执行计算机程序指令的处理器;以及 一个可用于存储处理器执行的计算机程序指令的存储器,用于执 行以下步骤: a)获取指示至少一个移动用户当前位置的信息,所述至少一个 移动用户包括一个选定的移动用户; b)基于所指示的至少一个移动用户的当前位置,确定是否满足 与至少一个移动用户位置相关联的至少一个条件; c)如果有至少一个条件得到满足,则执行至少一个事件;以及 d)在重复步骤a)~c)之前,确定一个等待时间间隔。
12: 权利要求11的系统,其中确定一个等待时间间隔的步骤包 括以下步骤: 选择一个最不可能使条件得到满足的移动用户作为选定移动用 户;以及 基于选定的移动用户来确定等待时间间隔。
13: 权利要求12的系统,其中基于选定移动用户来确定等待时 间间隔的步骤包括以下步骤: 基于以下至少一个因素来估算选定移动用户可能满足条件的时 间:从选定移动用户的当前位置到与所述条件有关的区域的距离、选 定移动用户的速度;以及 基于估算得到的选定移动用户可能满足条件时的时间以及时间 容差来确定等待时间间隔。
14: 权利要求13的系统,其中获取步骤包括以下步骤: 在一个可用于保存那些指示移动用户位置的信息的缓存器中搜 索指示至少一个移动用户位置的信息; 如果在缓存器中发现了指示至少一个移动用户位置的信息,则使 用指示至少一个移动用户位置的信息作为指示至少一个移动用户当前 位置的信息;以及 如果在缓存器中没有发现指示至少一个移动用户位置的信息,则 查询至少一个移动定位服务器,以便获取指示至少一个移动用户当前 位置的信息。
15: 权利要求14的系统,其中至少一个事件包括发送一个消息。
16: 权利要求15的系统,其中所述消息发送至一个移动用户。
17: 权利要求15的系统,其中所述消息发送至一个非移动用户。
18: 权利要求14的系统,其中至少一个条件涉及的是一个移动 用户的位置。
19: 权利要求14的系统,其中至少一个条件涉及的是多个移动 用户的位置。
20: 权利要求14的系统,其中至少一个条件涉及的是一个移动 用户位置和一个时间。
21: 一种用于提供基于位置的事件服务的计算机程序产品,包括: 一种计算机可读介质; 记录在计算机可读介质上、由处理器执行的计算机程序指令,用 于执行以下步骤: a)获取指示至少一个移动用户当前位置的信息,所述至少一个 移动用户包括一个选定的移动用户; b)基于所指示的至少一个移动用户的当前位置,确定是否满足 与至少一个移动用户位置相关联的至少一个条件; c)如果有至少一个条件得到满足,则执行至少一个事件;以及 d)在重复步骤a)~c)之前,确定一个等待时间间隔。
22: 权利要求21的计算机程序产品,其中确定一个等待时间间 隔的步骤包括以下步骤: 选择一个最不可能使条件得到满足的移动用户作为选定移动用 户;以及 基于选定的移动用户来确定等待时间间隔。
23: 权利要求22的计算机程序产品,其中基于选定移动用户来 确定等待时间间隔的步骤包括以下步骤: 基于以下至少一个因素来估算选定移动用户可能满足条件的时 间:从选定移动用户的当前位置到与所述条件有关的区域的距离、选 定移动用户的速度;以及 基于估算得到的选定移动用户可能满足条件时的时间以及时间 容差来确定等待时间间隔。
24: 权利要求23的计算机程序产品,其中获取步骤包括以下步 骤: 在一个可用于保存那些指示移动用户位置的信息的缓存器中搜 索指示至少一个移动用户位置的信息; 如果在缓存器中发现了指示至少一个移动用户位置的信息,则使 用指示至少一个移动用户位置的信息作为指示至少一个移动用户当前 位置的信息;以及 如果在缓存器中没有发现指示至少一个移动用户位置的信息,则 查询至少一个移动定位服务器,以便获取指示至少一个移动用户当前 位置的信息。
25: 权利要求24的计算机程序产品,其中至少一个事件包括发 送一个消息。
26: 权利要求25的计算机程序产品,其中所述消息发送至一个 移动用户。
27: 权利要求25的计算机程序产品,其中所述消息发送至一个 非移动用户。
28: 权利要求24的计算机程序产品,其中至少一个条件涉及的 是一个移动用户的位置。
29: 权利要求24的计算机程序产品,其中至少一个条件涉及的 是多个移动用户的位置。
30: 权利要求24的方法,其中至少一个条件涉及的是一个移动 用户位置和一个时间。

说明书


用于提供基于位置的 事件服务的方法和系统

    【技术领域】

    本发明涉及用于提供基于移动用户位置的事件服务的方法、系统和计算机程序产品。

    背景技术

    近来,移动通信和计算设备得到了广泛使用。这些设备在小型和便携组件中提供通信、计算和连接能力。这种设备的实例包括移动电话和个人数字助理(PDA)。其中一种可用于这些设备的能力是方位探测能力,它允许与所述设备相连的设备和/或通信网络确定所述设备的方位。这种方位探测能力可以支持基于位置的事件处理能力。基于位置的事件则是在由用户移动设备位置确定的一个或一组移动用户的位置相关信息满足一个预定规则的时候触发的。位置相关特性地实例包括位置、速度或其它位置相关活动。例如,用户可以定义这样一个规则,即在人员A进入某个区域以及人员B在离某个地址2英里以内的时候,将一个消息发送到第三方C。

    支持基于位置的事件的系统需要更新系统中移动用户的位置。通常,移动用户位置是基于一个固定的周期性调度来更新的。而使用周期性更新则是因为移动设备位置确定的成本和复杂性造成实时追踪移动用户位置的成本很高并且非常困难。典型的移动网络可以包括数千或数百万的移动用户。对基于固定的周期性调度的移动用户位置更新而言,由于与之相关的网络业务量开销很高,因此将会导致出现问题。由此产生了对于某种技术的需要,所述技术能够提供移动用户位置更新,但与常规技术相比则减少了网络业务量开销。

    【发明内容】

    本发明是一种用于提供基于移动用户位置的事件服务的方法、系统和计算机程序产品。本发明使用了一个“位置缓存器”来为移动用户保存近期位置信息,以便减少对于昂贵和费时的定位请求的需要,并且本发明还对确定位置的时间进行智能调度,由此本发明提供了改善的效率。本发明保持了关于事件条件和事件所涉及用户的过去位置、速度的信息,并且还保持了其他信息。关于事件的记录是在登记基于位置的事件的时候创建的,所述记录会在触发事件之后终止。对与事件相关的每一个用户而言,所述系统保持了用户位置满足事件条件时的预测事件时间。该预测事件时间确定何时执行下一次定位。在这个预测时间将会通过发送一个定位请求来获取移动用户的实际位置。根据定位结果,事件管理模块触发所述事件或者更新预测时间以及用户过去的位置。而预测时间则是作为用户过去的位置和速度信息、目的地位置信息以及事件特征的函数来计算的。

    根据本发明,一种用于提供基于事件的服务的方法,,包括如下步骤:a)获取用于指示至少一个移动用户当前位置的信息,所述至少一个移动用户包括一个选定的移动用户,b)基于所指示的至少一个移动用户的当前位置来确定是否满足了与至少一个移动用户位置相关联的至少一个条件,c)如果有至少一个条件得到满足,则执行至少一个事件,以及d)在重复步骤a)~c)之前,确定一个等待时间间隔。

    确定等待时间间隔的步骤可以包括如下步骤:选择一个最不可能使条件得到满足的移动用户,以及根据选定移动用户来确定等待时间间隔。根据选定移动用户来确定一个等待时间间隔的步骤可以包括如下步骤:基于以下至少一个因素来确定选定移动用户可能满足条件的时间:即选定移动用户的当前位置到涉及所述条件的区域的距离,以及选定移动用户的速度,并且基于估算得到的选定用户可能满足条件的时间和时间容差来确定等待时间间隔。所述获取步骤可以包括如下步骤:在一个可用于保存那些指示移动用户位置的信息的缓存器中搜索指示至少一个移动用户位置的信息,以及如果在缓存器中发现了指示至少一个移动用户位置的信息,则使用指示至少一个移动用户位置的信息作为指示至少一个移动用户当前位置的信息,如果在缓存器中没有发现指示至少一个移动用户位置的信息,则查询至少一个移动定位服务器,以便获取指示至少一个移动用户当前位置的信息。

    所述至少一个事件可以包括发送一个消息。所述消息可以发送到一个移动用户,也可以发送到一个非移动用户。所述至少一个条件可以涉及一个移动用户的位置,也可以涉及多个移动用户的位置,还可以涉及一个移动用户的位置和一个时间。

    【附图说明】

    通过参考附图,可以在结构和操作方面得到关于本发明细节的最佳理解,其中相同的附图标记和标志指的是相同的元件。

    图1是可以实施本发明的网络系统100的示范性框图。

    图2是图1所示的位置管理系统的示范性框图。

    图3是图2所示的位置管理系统中包含的处理模块的交互作用的示范性框图。

    图4是图3所示的位置获取模块的操作处理的示范性流程图。

    图5是图3所示的位置获取模块的操作的示范性数据流程图。

    图6是图4所示的处理步骤的子过程的示范性流程图。

    图7是依照本发明的确定时间间隔的应用的实例。

    【具体实施方式】

    在图1中显示了可以执行本发明的网络系统100的示范性框图。网络系统100包括网络102。网络102提供了多个设备的通信互连,例如移动用户设备104A~104F和网络设备106A~106F。如果恰当的话,网络102还可以包括互连的无线和有线网络。无线网络中的传输介质通常是电磁辐射,例如无线电波或光。有线网络中的传输介质则通常是铜缆或光缆。

    网络102可以包括一个或多个局域网(LAN),一个或多个广域网(WAN),或者同时包括LAN和WAN。在网络102中可以包括一个或多个网络,这些网络可以既包括因特网这样的公共网络又包括私有网络,并且可以使用任何一种联网技术和协议,例如以太网、令牌环网、传输控制协议/网际协议(TCP/IP)等等。尽管图1并未显示,但是网络102可以连接、互连或对接到一个或多个无线网络或是一个或多个有线网络。

    移动用户设备104A-104F可以包括由无线网络移动用户操作或拥有的任何类型的移动电子数据处理系统或通信设备。这种电子数据处理系统的实例包括桌面或膝上型计算机这样的个人计算机系统,个人数字助理(PDA)以及诸如蜂窝电话这样的无线通信设备等等。在一个移动用户设备即为计算机系统的实施例中,所述计算机系统可以直接与网络102相连,也可以通过一个或多个其他网络、网关、防火墙等设备间接连接到网络102。在一个移动用户设备是PDA或无线通信设备等其他类型设备的实施例中,根据情况,与网络102之间的连接可以是直接或间接的,有线的,无线的,或者是有线与无线相结合。通常,移动用户设备104A~104F的用户界面是一个图形用户界面,但是也可以采用其他界面。例如,客户系统可以包括那些以通信方式连接到一个按键式响应单元或语音响应单元的蜂窝电话,其中蜂窝电话接受按键音或语音命令并且将其在网络102上传送,此外所述蜂窝电话还经由网络102来接收响应,并且将接收到的响应转换成音频,以及将接收到的响应发送到客户机系统。

    网络设备106A~106C可以包括由无线网络中的非移动用户操作或拥有的任何类型的电子数据处理系统或通信设备。这种电子数据处理系统的实例包括服务器、路由器、交换机、网桥、语音或音调应答单元等等。网络设备106A~106C可以直接连接到网络102,但是也可以经由一个或多个其他网络、网关、防火墙等设备间接连接到网络102。

    位置管理系统108也以通信方式连接到网络102。位置管理系统108与连接到网络102的移动用户设备104A~104F以及网络设备106A~106C相对接,并且提供基于移动用户操作或占有的移动用户设备所确定的移动用户位置的服务。

    在图2中显示了图1所示的位置管理系统108的示范性框图。位置管理系统108通常是一个经过编程的通用计算机系统,例如个人计算机,工作站,服务器系统以及小型机或大型机。位置管理系统108包括一个或多个处理器(CPU)202A~202N、输入/输出电路204、网络适配器206以及存储器208。CPU 202A~202N通过执行程序指令来实现本发明的功能。举例来说,CPU 202A~202N通常是一个或多个例如Intel公司的PENTIUM处理器的微处理器。图2描述了一个将系统108作为单独的多处理器计算机系统来加以实施的实施例。其中多个处理器202A~202N共享系统资源,例如存储器208、输入/输出电路204以及网络适配器206。然而,本发明也设想了那些将系统108作为多个网状计算机系统来加以实施的实施例,其中所述系统可以是单处理器的计算机系统,多处理器的计算机系统或是它们的混合。

    输入/输出电路204提供了将数据输入位置管理系统108或是从中输出数据的能力。例如,输入/输出电路可以包括诸如键盘、鼠标、触摸板、轨迹球、扫描仪等输入设备以及诸如视频适配器、监视器、打印机等输出设备,此外还可以包括调制解调器等输入/输出设备。网络适配器206则将位置管理系统对接到网络102。

    存储器208保存的是那些由CPU 202执行的程序指令以及由CPU202使用和处理的数据,以便实现位置管理系统108的功能。存储器208可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器等电子存储器设备,也可以包括磁盘驱动器、磁带驱动器、光盘驱动器等电机存储器,其中所述电机存储器可以使用集成设备电路(IDE)接口或是该接口的改变或增强版本,例如增强型IDE(EIDE)或极端直接存储器存取(UDMA),但也可以使用以小型计算机系统接口(SCSI)为基础的接口或是所述接口的变化或增强版本,例如快速SCSI、宽带SCSI、快速宽带SCSI等等,此外还可以使用光纤信道仲裁环路(FC-AL)接口。

    存储器208包括事件管理模块210、位置获取模块212、移动应用214A和214B以及操作系统216。事件管理模块210管理的是移动用户位置和基于移动用户位置所定义的事件条件,以便执行本发明中基于位置的事件处理。位置获取模块212与确定移动用户所操作或拥有的移动设备的位置的系统进行通信,以便得到指示移动用户位置的信息。移动应用214A和214B执行的是其他基于位置的处理。操作系统216则提供总的系统功能。位置获取模块212包括位置缓存器218,所述缓存器为改进的系统性能提供了针对位置信息的缓存。

    如图2所示,本发明设想了在一个或多个提供多处理器、多任务、多进程和/或多线程计算的系统上的实施方式,以及在只提供单处理器、单线程计算的系统上的实施方式。多处理器的计算包括使用一个以上的处理器来执行计算。多任务的计算则包括使用一个以上的操作系统任务来执行计算。所述任务是一个操作系统的概念,它指的是操作系统执行的程序与操作系统所使用的附加记录(bookkeeping)信息的组合。每当执行程序,操作系统都会为其创建一个新的任务。所述任务像是一个用于程序的信封,因为它使用了一个任务编号来识别程序并且将其它附加记录信息附于其上。包括UNIX、OS/2以及WINDOWS在内的众多操作系统都能够同时运行多个任务,这些系统称为多任务操作系统。多任务是操作系统同时执行一个以上的可执行程序的能力。每一个可执行程序都在自己的地址空间运行,这意味着可执行程序无法共享它们的任何存储器。这种处理具有很多优点,因为任何程序都不能损害系统上运行的其他程序的执行。然而,除非是通过操作系统(或是通过读取文件系统上保存的文件),否则这些程序是无法交换任何信息的。多进程的计算与多任务的计算相似,因为任务和进程这两个术语经常可以互换使用,但是某些操作系统会对其加以区分。

    在图3中显示的是图2所示位置管理系统108所包含的处理模块的相互作用的示范性框图。位置管理系统108获取涉及移动用户的位置信息,保存并管理所述信息,以及使用位置信息来确定是否满足了那些基于位置的已定义条件。位置管理系统108包括位置获取模块212、事件管理模块210,也可以包括其它移动应用,例如移动应用214A和214B。位置获取模块212包括位置缓存器218并且在网络102上与移动定位服务器310进行通信。事件管理模块210从位置获取模块212那里请求关于那些位置受到追踪的移动用户的位置信息。当一个位置请求进入位置获取模块212时,首先会在位置缓存器218中搜索那些满足该请求的信息。缓存信息可以包括诸如移动用户所操作或具有的移动设备ID这样的信息,诸如移动设备的过去n个方位这种涉及移动用户过去位置的信息,以及其他位置相关信息。

    当响应于所述请求而在缓存器中发现一个项目时,则确定所述项目是否过于陈旧而不能加以使用。每一个缓存项目都会在一定时间量之后终止,其中所述时间量是用户速度、用户过去的方位以及特定于应用的位置参数质量的试探函数。如果在位置缓存器218中发现满足请求的信息,则返回缓存信息并且不执行实际方位探测。如果在位置缓存器218中没有发现满足请求的信息,则执行实际方位探测并用所获取的信息来更新位置缓存器218。

    移动定位服务器310通常在无线网络上与移动设备进行通信,并且获取指示移动设备方位的信息。如果在位置缓存器218中没有发现用以满足请求的信息,那么位置获取模块212从移动定位服务器310请求得到关于那些位置正被追踪的移动用户的位置信息。

    一旦得到了满足请求所需要的信息,则位置缓存器212会将信息发送到事件管理模块210,此外也可以将信息发送到其他移动应用,例如移动应用214A和214B。事件管理模块210使用接收到的信息来确定是否满足了为某个移动用户定义的基于位置的条件。如果满足的话,那么事件管理模块210将会引发事件的执行。

    除了位置获取模块212之外,在这里还构成了事件管理模块210。该模块保持的是关于事件条件和涉及事件的用户的过去位置、速度的信息,以及其他信息。用于事件的记录是在登记了基于位置的事件的时候创建的,并且会在触发事件之后终止。对与事件相关联的每一个用户来说,所述系统保持了用户位置满足事件条件时的预测事件时间。所述预测事件时间确定的是何时以一个保证在实际事件时间之前的初始值来执行下一次定位。在这个预测时间将会把一个定位请求发送到系统的定位模块。根据定位结果,事件管理模块210将会触发所述事件或是更新所述预测时间和用户过去的方位。预测时间是作为关于用户过去方位和速度的信息、目的地位置信息、先前预测时间的间隔以及事件特征的一个函数来计算的。

    在图4中显示了图3所示位置获取模块212的操作处理400的示范性流程图。所述流程图最好结合图5来加以观察,其中图5是关于位置获取模块300的操作的示范性数据流程图。处理400始于获取移动用户当前位置的步骤402。事件管理模块210从位置获取模块212请求关于那些位置正被追踪的移动用户的位置信息。当一个方位请求进入位置获取模块212时,首先搜索位置缓存器218来寻找用以满足该请求的信息。缓存信息可以包括:诸如移动用户所操作或拥有的移动设备ID这样的信息,诸如移动设备过去n个方位这种涉及移动用户过去位置的信息,以及其他位置相关信息。

    每一个缓存器项目都会在一定时间量之后终止,其中所述时间量是用户速度与用户过去方位的试探函数。如果在位置缓存器218中发现了满足所述请求的信息,则不执行实际方位探测。取而代之的是,所述缓存信息将被返回,其中举例来说,所述缓存信息可以是移动用户先前方位或是基于缓存信息的那些信息,例如作为先前方位和速度的一个函数而被计算的外推(extrapolated)方位。如果在位置缓存器218中没有发现用以满足请求的信息,那么位置缓存器将把一个方位请求发送到移动定位服务器310。方位请求502包含了识别一个或多个移动用户和/或移动用户所操作或拥有的移动设备的信息。如果方位请求502包含了识别移动用户的信息,那么所述信息将会转换成识别移动设备的信息。移动定位服务器310通常在无线网络上与所识别的移动设备进行通信,并且获取指示移动设备方位的信息。移动定位服务器310将包含了指示移动设备方位的信息的方位结果504发送到位置缓存器218。所述方位结果504通常包含了以经纬度为形式的移动设备方位信息。

    位置缓存器212对方位结果504中包含的位置信息进行缓存,并且将位置信息发送到事件管理模块210。

    在步骤404,事件管理模块210使用位置信息来确定是否满足了为那些位置信息已被获取的移动用户所定义的任何事件条件。事件管理模块210保持的是关于事件条件的信息以及涉及与事件相关的移动用户的信息,例如移动用户过去的位置、移动用户速度以及其他信息。在记录一个基于位置的事件的时候,在事件数据库中将会创建一个用于事件的条目或记录。所述记录会在满足事件条件和触发事件的时候终止。方位结果504中的信息则与所定义的基于位置的事件条件进行比较。例如,在这里可以将一个条件定义为:离特定地址2英里以内。为了执行所述比较,地址的经度和纬度是从通常可用的地理编码服务或数据库中获取的,并且很容易对所述地址的经纬度与方位结果504包含的经纬度之间的距离进行计算。如果所述距离小于2英里,则满足所述条件。本发明可以定义和估计任何必需的复杂性条件。例如,除了那些仅仅基于位置的条件之外,也可以定义基于时间或是时间与位置的结合的条件。这种条件的一个实例可以如下定义:在当天下午2:00之后离某个地址2英里以内。

    在步骤406,如果确定满足事件条件,则处理400继续进行到执行所定义的事件处理的步骤408。所述事件处理可以像所要求的那样复杂,但是通常包括将一个或多个消息发送到一方或多方。例如,如果确定移动用户是在离某个地址2英里以内的位置,则可以将一个带有这个意思的消息发送到该地址。举例来说,这个信息可用于指示某一方几乎已经到达目的地,并且处于目的地的各方可以预期所述方会在不久之后到达。同样,也可以将一个消息发送到其他的一方或多方,以便通知各方满足了所述条件。

    事件的后续处理则是在步骤410中执行的。

    在步骤406,如果确定没有满足事件条件,则处理400继续进行到步骤412,在此步骤中将会确定一个用于下一次位置更新的预测时间。事件管理模块210保持的是关于事件条件的信息以及涉及与事件相关的移动用户的信息,例如移动用户的过去位置,移动用户的速度以及其他信息。在对一个基于位置的事件进行登记的时候,在事件数据库中将会创建用于事件的条目或记录。所述记录会在满足事件条件并触发事件之后终止。对于与事件相关联的每一个移动用户来说,事件管理模块210确定并保持一个预测事件时间,所述时间是一个预期移动用户位置将会满足事件条件的时间。预测事件时间被用于确定何时发送关于移动用户位置的下一个请求。并且会对预测时间进行调整,以确保位置请求会在实际满足事件条件之前出现,以免错过或延迟所述事件条件的满足。

    举例来说,如下所述,移动用户的位置和速度可用于确定一个预测时间。在这里将会确定移动用户位置与关联于移动用户的事件条件中包含的最近位置之间的距离。然后将这个距离与移动用户的速度相除,以便确定移动用户位置可以满足事件条件之前的最小时间。所述最小时间可以减少,以确保位置请求是在实际满足事件条件之前出现。然后则将这个最小事件添加到当前时间之中,以便确定预测时间。

    在步骤414,处理将会等待到所述预测时间,然后则返回到执行位置更新的步骤402。

    在图6中显示的是用于确定预测时间的步骤412的子过程的示范性流程图。步骤412的子过程始于确定是否正在追踪恰当移动用户的步骤602。针对一个给定事件条件而被追踪的恰当移动用户是最不可能使与移动用户相关联的事件条件得到满足的移动用户。例如,所述用户可以是离相关区域最远的移动用户、移动速度最慢的移动用户等等。如果没有选择最不可能满足事件条件的移动用户来追踪,则在步骤604中首先选择最不可能满足事件条件的移动用户来进行追踪。然后,所述处理继续到步骤606。如果在步骤602中确定首先选择了最不可能满足事件条件的移动用户来追踪,那么所述处理将会直接继续到步骤606。

    在步骤606中,将对选定移动用户进行追踪并且基于选定用户来设定用于位置更新的预测时间。所述预测时间是使用一个试探函数来确定的。例如,试探函数可以基于选定移动用户的当前方位到相关区域的距离,包括选定移动用户移动速度和方向在内的选定移动用户的速度,选定移动用户的过去方位以及时间容差。在某些情况下,例如当移动用户接近目的地的时候,试探函数可以是一个非常简单的计算,而在其他情况下,例如当移动用户远离目的地的时候,则有必要增强这个试探函数,以便包括那些可能在移动用户行进中发生的变化。例如,对一个离目的地1000英里并以50英里/小时的速度行进的移动用户来说,简单的计算只会产生一个大小为20小时的预测时间。然而,这个结果是不会用作预测时间的,因为移动用户的行进可能会发生变化——移动用户可以乘坐飞机并且更快地到达目的地。因此,较为有利的是在移动用户远离目的地的时候使用一个速度下限,以使预测时间不会太迟。

    时间容差规定了在检测是否满足条件的过程中可以容忍的错误量。换句话说,对给定的时间容差t来说,关于是否满足事件条件的检测必须在满足事件条件之后的时间t以内发生。举例来说,如果将时间容差设定为10分钟并且条件是移动用户进入一个区域,那么系统必须在移动用户实际进入区域之后10分钟内检测到移动用户已经进入所述区域。时间容差可以是一个全系统的缺省值,也可以由移动用户针对具体事件来加以规定。

    当选定移动用户远离区域或慢速移动的时候,或者是同时出现这两种情况的时候,为选定移动用户估计的进入区域的时间是非常大的,在预测时间之前,计算得到的时间间隔也相对很大。当选定移动用户接近区域或快速移动的时候,或者在同时发生这两种情况的时候,为选定移动用户估计的进入区域的时间是非常小的,在预测时间之前,计算得到的时间间隔也相对较小。然而,当计算得到的时间间隔小于时间容差的时候,所述时间间隔将被设定为时间容差,而不是更小的计算值。这种处理减少了定位请求数目,由此提高了系统性能,但却仍然确保了对于是否在时间容差以内满足所述条件所进行的检测。

    一种非常简单的情况是单个用户进入或离开一个区域。实际上,基于位置的事件可能具有非常复杂的条件。例如,一个移动用户进入一个区域,一个移动用户离开一个区域,多个移动用户在一个区域中,多个移动用户在一个区域之外,当其他移动用户在区域以内时,一个移动用户进入/离开这个区域等等。通过布尔运算,还可以进一步将不同的条件组合在一起。然而,通过估计单个移动用户位置,在任何给定时间都可以对一个复杂的条件进行估计。

    作为实例,可以对下列事件条件加以考虑:

    当三个移动用户A、B、C全都在加利福尼亚以内的时候,向D发送一个消息。

    假设事件是在下午一点登记的。如果这时满足条件,那么事件将被触发并且我们是如此进行的。否则必然有至少一个移动用户是在加利福尼亚之外。假设A和B已经处于内部而C在外部。那么仅仅有必要追踪C而不是始终追踪所有这三个移动用户的方位。在这种情况下,首先确定C为最不可能满足条件的移动用户,并且选择C作为所要追踪的移动用户。

    假设C在下午四点进入加利福尼亚。在三个小时以内将C的位置确定了10次,其中由于C不太可能快速到达,因此在前五次方位请求相互之间具有很大的时间间隔。最后五次定位请求则具有与时间容差相等的固定间隔,因为C正在接近目的地。但在这三个小时以内,A和B的位置从来都不是由事件系统确定的。当选定移动用户C通过进入加利福尼亚而满足条件时,所述系统获取所有这三个移动用户位置,以便确定是否满足了全部条件。如果满足了条件(所有这三个都处于加利福尼亚),则触发所述事件。如果没有满足条件,那么A或B或是二者必然是在加利福尼亚之外。同样,首先选择最不可能满足条件的移动用户来进行追踪。即使被选定进行追踪的移动用户在其他移动用户之前进入了区域,但是事件仍旧会正确地被发现。系统可以产生比选择“恰当”移动用户进行追踪所需要的请求更多的定位请求,但是仍旧会正确检测到事件。

    在触发事件或是管理员或用户从系统中删除事件之前,图4所示的处理将会重复进行。在以上实例中,完整的事件条件可以作为三种条件要素的结合来描述:A在加利福尼亚,B在加利福尼亚以及C在加利福尼亚。对这种将条件要素“与”在一起的条件类型来说,只需要追踪一个移动用户并且所述条件是移动用户进入或离开一个区域。如果复杂条件中的条件要素是“或”在一起,那么可以将条件要素视为具有相同作用的多个事件。举例来说,如果一个条件是:

    当A或B进入加利福尼亚时,向D发送一个消息,

    那么可以将事件视为两个独立事件:(1)当A进入加利福尼亚的时候向D发送消息以及(2)当B进入加利福尼亚的时候向D发送消息。由于这个条件是两个独立事件,因此必须对这两个移动用户都进行追踪。这些条件中的每一个依赖于单个用户进入/离开一个区域。一旦触发了其中一个事件,则满足了整个条件并且不再需要追踪应被删除的其他一个或多个事件。

    图7显示了一个朝着区域R移动的移动用户。移动用户与区域的当前距离是D并且速度是v。在这里,D是移动用户与区域之间的最短距离并且它并未设想到移动方向。所述事件具有一个时间容差t。在这里使用了矢量p来表示用户的过去n个方位。试探函数输出一个用于确定预测时间的时间间隔,所述时间间隔它可以描述为:T=f(D,v,p,t)。应该注意的是,在这里也可以将D作为一个包括用户位置和速度以及目标区域在内的试探函数。因此,所述D可以定义为:D=h(R,I,v),其中R是目标区域,I是用户位置,v是用户速度。

    应该指出,虽然已经在完整功能的数据处理系统中描述了本发明,但是本领域技术人员将会预见到本发明的处理能以计算机可读指令介质的形式以及多种形式来进行分发,无论使用何种类型的信号承载介质来执行分发,本发明都是适用的,这一点是非常重要的。所述计算机可读介质的实例包括可记录类型的介质,例如软盘、硬盘驱动器、RAM和CD-ROM,此外还包括传输类型的介质,例如数字和模拟通信链路。

    尽管已经对本发明的具体实施例进行了描述,但是本领域技术人员应该理解,还存在着存在与所描述实施例等价的其他实施例。因此,应该理解的是,本发明并未受限于具体的所描述实施例,而是仅仅受到权利要求范围的限制。

用于提供基于位置的事件服务的方法和系统.pdf_第1页
第1页 / 共27页
用于提供基于位置的事件服务的方法和系统.pdf_第2页
第2页 / 共27页
用于提供基于位置的事件服务的方法和系统.pdf_第3页
第3页 / 共27页
点击查看更多>>
资源描述

《用于提供基于位置的事件服务的方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于提供基于位置的事件服务的方法和系统.pdf(27页珍藏版)》请在专利查询网上搜索。

本发明涉及一种用于提供基于移动用户位置的事件服务的方法、系统和计算机程序产品,它们使用了一个位置缓存器来为移动用户保存近期位置信息,以便减少对于昂贵和费时的定位请求的需要,并且还对位置确定时间进行智能调度,由此提供了改善的效率。所述方法包括如下步骤:a)获取指示至少一个移动用户当前位置的信息,所述至少一个移动用户包括一个选定的移动用户,b)基于所指示的至少一个移动用户的当前位置,确定是否满足与至少。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1