在移动设备之间迁移代理的系统和方法

文档序号:7914948阅读:196来源:国知局
专利名称:在移动设备之间迁移代理的系统和方法
技术领域
本公开涉及向移动设备部署和运行代理(agent)。
背景技术
在移动通信中,移动设备可被配置为接收并支持移动代理以执行各种任务。然而,普遍存在的移动传感(sensory)输入网络的价值已经在市场中占据优势。当前,低成本、低功率微电子器件、传感器和无线技术不断发展。例如,位置感知(location-ware)移动设备的用户可迎战或识别真实世界事件。用户可选择向移动设备下载并运行基于智能代理的软 件应用以实现带有或针对用户的特定目标。用户需要最终离开该事件或具有要求终止设备上的代理的某种其他需求。这可能在代理目标被完成之前发生。在现有技术应用中,这通常将意味着代理软件不能继续实现其目标。需要一种使得移动代理能够持续的经改进的系统和方法。

发明内容
在本公开的一方面中,提供了一种向移动设备部署代理的方法,包括定义感兴趣区域(ROI),向第一移动设备部署代理,运行在感兴趣区域内的第一移动设备上的代理,并且将所述代理从第一移动设备传播(propagate)到感兴趣区域内的至少一个第二移动设备。在本公开的一方面中,提供了一种服务器,该服务器被配置为向至少一个移动设备部署代理应用。所述代理应用可被配置为当至少一个移动设备处于感兴趣区域内时,在至少一个移动设备上运行,执行关于感兴趣区域的至少一个代理功能,定位感兴趣区域内的至少一个其他移动设备,并且将所述代理复制到感兴趣区域内的至少一个其他移动设备上。在本公开的一方面中,提供一种计算机可读介质,包括供第一设备的第一处理器运行的计算机可运行指令,这些计算机可运行指令在被运行时使得所述第一处理器运行代理应用,接收来自第二设备的第二处理器的代理参与(participation)请求,所述代理参与请求指示第二设备的位置,将第二设备的位置与感兴趣区域的定义进行比较,并且如果第二设备处于感兴趣区域内,则将所述代理应用提供给所述第二处理器。


将仅借助于示例来参考具体实施例和附图,其中图I图示服务于感兴趣区域的网络;图2图示向感兴趣区域部署移动代理的处理;图3图示设备正运行代理应用时图I的网络的状态;图4图示当设备向第二设备拷贝代理时的消息流;
图5图示从第一设备向第二设备拷贝代理的处理;图6图示终止设备上的代理的处理;图7图示第一和第二设备的处理器和存储器;以及图8图示可在图7的第一设备的处理器上运行的指令集。
具体实施例方式在图I中,示出网络10,网络10包括服务器20和任意数目的移动设备12。移动设备可通过任何合适的通信协议与服务器20通信。网络10支持点对点通信,但是其他方面,网络的类型或状态与本公开的本质无关。移动设备12可通过一个或多个基站18与服务器20通信以及彼此通信。通常,设备12可以是许多类型,包括蜂窝电话、个人数字助理(PDA)、笔记本电脑、膝上型电脑等。 移动设备12—般被配置为支持动态的、可通过网络运行的内容,并且可接收来自服务器20的内容。具体地,服务器20例如可例如响应于来自设备12的请求向移动设备12部署代理应用16。如上所述,代理16可被使得能应用于感兴趣区域内的特定事件。服务器20因此能够定义感兴趣区域的边界以便表征(characterize)事件在哪发生。在一个实施例中,感兴趣区域可通过一系列的纬度/经度点或者某种类似的坐标阵列来定义。替代地,感兴趣区域可被定义为在特定基站18或基站集合的通信范围内。在本实施例中,代理16可要求其主机设备能感知位置。位置的感知可通过诸如GPS等的内置系统来确定,这样的内置系统能够向设备提供所需准确度的其当前位置。替代地,或者另外,设备可通过接收来自服务器的信息或经由与基站18的通信来感知位置。移动设备12处的用户能从服务器20下载代理16并在设备12上运行代理16以实现特定目标。目标可以关于在网络10覆盖的感兴趣区域15内发生的特定事件。代理的应用和目标的示例在下面更详细提供。如上所述,当在代理的目标被实现之前用户需要离开ROI或者具有要求终止设备上的代理的某种其他需求时,可能存在争端。为了达到用户的需求和设备上的代理的需求之间的平衡,应当部署代理软件以使得其能够持续存在于感兴趣区域内以服务进入感兴趣区域的其他设备。在图2的流程图100中图示出了向感兴趣区域部署代理的方法。在步骤101,针对特定代理应用16定义感兴趣区域。该代理应用16然后被部署到至少一个移动设备12 (步骤102),例如,响应于来自移动设备12的请求。该代理然后运行(步骤103)并且作为代理的运行的一部分,该代理可将自身传播到感兴趣区域内的一个或多个其他代理(步骤104),从而确保该代理可持续直到代理功能完成为止。最初,移动设备不必在其接收到代理时处于感兴趣区域,但是当设备12移动到感兴趣区域时,代理将检测到设备处于事件边界内并开始运行。类似地,当设备12离开由感兴趣区域定义的事件边界时,代理可终止或将其自身置于待机模式。代理传播可通过在感兴趣区域内的参与设备之间移动或拷贝代理来发生。在任一种情形中,代理的动机是保持在感兴趣区域内活动地运行。这用于向感兴趣区域洪泛(flood)如下代理,所述代理彼此独立地动作但是功能朝向相同目标。现在将参考图3到图5描述代理的拷贝。图3图示了网络10的状态,图4图示了在拷贝期间两个设备之间的通信,并且在图5的流程图200中示出了处理。在图3中,感兴趣区域40用如所示的标称边界被定义。设备_1 31,设备_2 32和设备_3 33在感兴趣区域40的地理限制内操作,而设备_4 34在感兴趣区域40之外操作。认为设备31-34中的每个设备能够支持代理应用并且因此每个设备运行代理引导程序代码(bootstrap code) 0另外,设备31-34中的每个设备被认为能够通过设备31-34的各自的位置提供器感知位置。网络连接性可经由互联网协议或可与互联网隔离,连接性的类型和状态与本公开的目的没有很大关系。在开始处,认为设 备_1已经从服务器20(图I)或感兴趣区域内的其他现有设备被部署了代理30。代理30包括感兴趣区域定义36以及代理的设备和位置历史37。运行代理引导程序代码的设备32-34发送参与请求(步骤201),例如通过广播、多播或通过与接收设备的直接通信,并且然后等待代理激活请求(步骤203)。代理参与请求41提供设备身份(identity)和设备的当前位置。在步骤202,当前容宿了代理30的设备_1 31接收来自各个其他设备32-34的代理参与请求41。在步骤204,设备_1 31从代理参与请求判断作出请求的设备是否处于感兴趣区域40内。例如,设备_1上的代理将对在代理参与请求中指示的设备_4 34的位置与在代理36内定义的感兴趣区域进行比较并且确定设备_4 34在感兴趣区域40之外。在此情况中,代理将返回到步骤202并等待下一代理参与请求。然而,对来自设备_2 32的代理参与请求的处理将表明设备_2位于感兴趣区域内,并且因此代理30将进行到步骤206并且向设备_2 32发送代理激活请求42。代理激活请求将返回设备_2的设备ID以及代理ID以及序列化的代理版本(包括感兴趣区域的定义和代理的设备位置历史)。设备_1然后将进行到步骤208并且等待代理激活响应。在设备_2 32处,如果在等待代理激活请求的同时发生超时(timeout)(步骤205),则失败被记录(步骤207)并且设备_2 32返回到步骤201以发送另一代理参与请求。否则,如果未发生超时,则代理激活请求被处理(步骤209)。也就是,在启动代理之前,代理被反序列化并被激活并且感兴趣区域和代理历史被存储(步骤211)。如果在步骤213中确定代理不能成功被启动,则失败被记录207并且设备_2 32返回步骤201。否则,代理的拷贝被记录(步骤215),例如通过将设备_2 32添加到位置和设备历史中。设备_2 32然后向设备_131发送指示设备_2 32的设备ID、代理ID以及成功或失败指示符的代理激活响应43。如果设备_1 31在超时之前接收到代理激活响应43 (步骤210)并且代理激活响应43指示代理已经成功在设备_2上被启动(步骤212),则设备_1上的代理记录新代理(步骤214)。否则,设备_1上的代理记录失败(步骤216)。在处理200的结尾,代理在设备_1 31和设备_2 32上活动地运行。设备_1或设备_2然后可遵循如上所述的处理来继续将此代理复制到感兴趣区域内的其他设备,诸如设备_3 33。代理ID标识代理,并且可被设备_2用来判断该代理是否已经在该设备上可用。如果设备2没有具有匹配代理ID的代理,则设备_2必须从外部源,例如设备_1,检索正确代理。作为对拷贝代理的替代,代理30可被配置为从一个设备被移到另一个设备。用于移动的处理可类似于图5中所示的处理200。然而,记录新代理的步骤(步骤214)可由如下步骤代替一旦对设备2上的成功激活的指示被接收到则终止主机设备(S卩,设备_1)上的代理。拷贝或移动代理可通过接收来自感兴趣区域内的另一设备的代理激活请求来触发。替代地,或者另外,主机设备可以只在某些条件下接受代理的移动或拷贝,这些条件例如是该设备关停时、低电池电力情形、退出感兴趣区域、降低的信号强度、来自用户的特定命令时,等等。示例真实世界事件可以是计划外的紧急事件(诸如火灾、暴发的洪水、交通意外、爆炸等)或者所计划的非紧急事件(诸如,音乐会、市集、道路修复、体育赛事等)或其结合(诸如交通拥堵、道路修复和交通意外)。代理和感兴趣区域的起源(origination)与本公开没有关系,而是可基于各种情形而不同。在下面的段落中将详述个别示例。
在被预先编程有特定感兴趣区域以及便于传播到处于或进入感兴趣区域的其他移动设备的代理的移动基站收发机(BTS)中,灾难搜索和救援任务可能减弱。当设备进入搜索和救援努力的感兴趣区域时,代理将其自身拷贝到这些设备。代理可向响应领导者提供命令和控制,使得命令通告能识别每个参与者、观察每个参与者的位置、向所选择的参与者分配搜索任务以及向参与者通知状态改变。代理可在参与者进入休息区域、离开感兴趣区域或以其他方式停止参与到搜索和救援任务中时改变状态或停止操作。
911调度者可响应于交通意外向呼叫者的移动设备提交代理和感兴趣区域。参与者可使用移动设备的相机或各种其他传感器输入来指示所涉及的(一处或多处)受伤的类型。警察和医生响应者可利用此信息(由代理携带,就好像当他们进入该区域时,代理将其自身拷贝到另外的设备一样)来快速地辅助他们的动作(例如,是否因为交通拥塞而需要直升机救援(Care-Filght) 等等)。当代理例如通过比较设备的当前位置与感兴趣区域边界确定参与者已退出感兴趣区域时,代理移动到正进入感兴趣区域的另一设备,停止与交通意外有关的感兴趣区域中的参与并等待下一事件,或者停止操作。向进入感兴趣区域的设备拷贝或移动的动作是代理实现持续处于感兴趣区域中的目标的示例。 移动用户可在体育赛事时在拥挤的货摊(concession stand)处创建代理和感兴趣区域,以便基于人群的需求迅速了解对热狗饮料等的需求。当消费者离开服务台时,代理检测到此移动并且要么移动到接近货摊的设备(尚未运行代理的设备),或者如果没有设备可获得,则停止操作。根据前述实施例和示例,其他情形对于本领域技术人员来说将是很明显的。在上述示例中,感兴趣区域中的点对点通信可帮助促进信息在代理之间的直接有利的交换。当代理检测到其主机设备已经离开感兴趣区域时,其可终止代理。代理停留在指定感兴趣区域中的动机(例如,通过将其自身移动或拷贝到其他代理)是允许设备在一个电力周期(power cycle)之后或者在该设备离开感兴趣区域边界时释放该设备所需的资源。在一个实施例中,可以定义使得代理提供在设备上的适当终止的一个或多个阈值条件。在一个实施例中,感兴趣区域的阈值可被定义为第二坐标系列,该第二坐标系列定义紧在感兴趣区域边界外的阈值边界。处于该阈值边界和感兴趣区域边界之间的位置的设备可被认为处于阈值内。在一个实施例中,感兴趣区域的阈值可通过信号强度来定义。例如,在感兴趣区域被定义为接近基站的情况下,感兴趣区域内的相对于基站具有小于20%的信号强度的设备可被认为在阈值区域内操作。信号强度可用作阈值条件,不论感兴趣区域如何被定义(例如,通过坐标,基站或者通过其他手段)。例如20%之类的阈值信号强度的选择,在此作为示例被提出,还可依赖于应用和实施方式来选择任何合适的阈值。在又一实施例中,如果设备的电池寿命低于所需水平,例如20%,则设备可被认为在阈值区域中操作。图6的流程图300中示出了用于终止设备上的代理的处理。在步骤301,代理周期性地更新设备位置。如果代理确定设备仍舒适地位于感兴趣区域内(步骤302),则常规代理操作继续(步骤303)。否则,代理可判断设备是否处于地理阈值区域中(步骤304)并 且,如果处于,则代理进入待机模式(步骤305),在待机模式中,代理活跃地监视设备位置(步骤301),但是诸如数据收集和处理之类的其他代理功能被暂停。在待机模式中,代理可继续将其自身传播给感兴趣区域内的其他设备。如果步骤304表明设备在阈值之外,则代理进入终止模式(步骤306)并且可选终止计时器被启动(步骤307)。终止计时器提供设备重新进入感兴趣区域的最后机会。一旦终止计时器期满(步骤308),或者如果终止计时器被禁用,则做出对设备位置的最终检查(步骤309)。如果在步骤310确定设备重新进入感兴趣区域,则代理操作被恢复(步骤311)。如果步骤312中确定代理还没有重新进入感兴趣区域但是处于感兴趣区域阈值内,则代理进入待机模式(步骤313)。否则,代理被终止(步骤314),此时终止通知消息可被广播、多播/单播到感兴趣区域内的已知代理。当非地理阈值条件被采用时,例如基于信号强度和/或设备电池电力,如果设备处于感兴趣区域内,则代理可进入待机模式。此外,可应用更严厉的阈值条件,诸如电池电力少于5%,来使代理进入终止模式。系统网络10的组件可用硬件、软件、固件或硬件、软件和/或固件的组合来实施。在硬件实施例中,如图7中所示,诸如设备_1 31之类的移动设备可包括处理器61,该处理器61可操作地与存储器62相关联。存储器62可存储由处理器61执行的指令集400,指令集400可包括上面描述的引导程序代码。引导程序代码允许处理器61接收来自于服务器20的或者来自于另一移动设备的代理应用。图8中所示的指令集400可包括指令,这些指令在被运行时使得处理器61运行代理应用(步骤401),这可包括将感兴趣区域的定义存储在存储器62中。当运行时,代理应用可接收来自第二设备,例如设备_2 32(图3)的第二处理器71的代理参与请求(步骤402)。代理参与请求可通过合适的通信链路65 (诸如对等网络链路)或经由一个或多个基站和/或服务器接收。根据代理参与请求,处理器61可确定第二设备的位置并且将第二设备的位置与感兴趣区域的定义进行比较(步骤403)。如果第二设备被示为处于感兴趣区域内,则处理器61可将序列化的代理应用版本提供给第二处理器71 (步骤404)。第二处理器71 —旦接收到该序列化的代理应用就可对代理应用进行反序列化,将感兴趣区域定义存储在其各自的存储器72中并且激活代理应用。虽然已经在附图和前述描述中图示并描述了本发明的实施例,但是应理解,本发明不限于所公开的实施例,而是能够在不脱离所附权利要求提出并定义的本发明的精神的情况下有多种重新布置、修改和替代。例如,本发明的能力可全部和/或部分地由一个或多个块、模块、处理器或存储器来执行。此外,这些能力可按照当前方式或按照分布式方式等等,通过或者经由能够提供和/或接收信息的任何设备来执行。此外,虽然是按照特定方式描述的,但是在不脱离本发明的范围的情况下,各个模块或块可被重新定位。另外,虽然是按照特定方式描述的,但是本发明可利用更多或更少数目的模块和连接来实现本发明、向本发明提供另外的已知特征和/或使得本发明更高效。此外,在各个模块之间发送的信息可经由数据网络、因特网、互联网协议网络、无线源和有线源中的至少一者并经由多种协议 而在模块之间发送。
权利要求
1.一种向移动设备部署代理的方法,包括 定乂感兴趣区域; 向第一移动设备部署代理; 运行在所述感兴趣区域内的所述第一移动设备上的代理; 将所述代理从所述第一移动设备传播到所述感兴趣区域内的至少一个第二移动设备。
2.根据权利要求I所述的方法,包括 识别能支持所述代理的多个移动设备; 识别所述多个移动设备中的哪些位于所述感兴趣区域内; 选择所述多个移动设备中的位于所述感兴趣区域内的一个或多个移动设备; 将所述代理从所述第一移动设备传播到所述多个移动设备中的被选择的一个或多个移动设备。
3.根据权利要求I所述的方法,其中,传播所述代理包括将所述代理移动到第二移动设备。
4.根据权利要求I所述的方法,其中,传播所述代理包括将所述代理的拷贝提供到一个或多个所述第二移动设备。
5.根据权利要求I所述的方法,包括在所述第一移动设备处接收来自至少一个第二移动设备的代理参与请求。
6.根据权利要求5所述的方法,包括根据所述代理参与请求确定所述至少一个第二移动设备的位置。
7.根据权利要求I所述的方法,包括 识别所述第一移动设备正离开所述感兴趣区域;以及 响应于识别出所述第一移动设备正离开所述感兴趣区域,将所述代理传播到至少一个第二移动设备。
8.根据权利要求I所述的方法,包括定义所述感兴趣区域的阈值。
9.根据权利要求8所述的方法,其中,所述阈值至少部分地通过多个坐标被定义。
10.根据权利要求8所述的方法,其中,所述阈值至少部分地通过所述第一移动设备和服务所述感兴趣区域的基站之间的信号强度被定义。
11.根据权利要求8所述的方法,其中,所述阈值至少部分地通过所述第一移动设备的电池电力被定义。
12.根据权利要求8所述的方法,包括 确定所述第一移动设备正在阈值感兴趣区域中操作;并且 将所述代理置于待机模式。
13.根据权利要求12所述的方法,其中,将所述代理置于待机模式包括 暂停所述代理的至少一个代理功能;以及 尝试将所述代理传播到所述感兴趣区域内的至少一个第二移动设备。
14.根据权利要求I所述的方法,包括 确定所述第一移动设备已经离开所述感兴趣区域;以及 终止所述第一移动设备上的代理。
15.一种服务器,该服务器被配置为向至少一个移动设备部署代理应用,所述代理应用被配置为 当所述至少一个移动设备处于感兴趣区域内时,在所述至少一个移动设备上运行; 执行关于所述感兴趣区域的至少一个代理功能; 定位所述感兴趣区域内的至少一个其他移动设备;并且 将所述代理复制到所述感兴趣区域内的至少一个其他移动设备。
16.根据权利要求15所述的服务器,其中,所述代理应用包括所述感兴趣区域的定义。
17.根据权利要求16所述的服务器,其中,所述代理应用包括所述感兴趣区域的阈值的定义,并且其中,所述代理应用被配置为当容宿所述代理的设备进入所述感兴趣区域的阈值内时进入待机模式。
18.根据权利要求15所述的服务器,其中,所述代理应用被配置为当容宿所述代理的设备退出所述感兴趣区域时在该容宿设备上终止。
19.一种计算机可读介质,包括供第一设备的第一处理器运行的计算机可运行指令,这些计算机可运行指令在被运行时使得所述第一处理器 运行代理应用; 接收来自第二设备的第二处理器的代理参与请求,所述代理参与请求指示所述第二设备的位置; 将所述第二设备的位置与感兴趣区域的定义进行比较;并且 如果所述第二设备处于所述感兴趣区域内,则将所述代理应用提供给所述第二处理器。
20.根据权利要求19所述的计算机可读介质,包括如下计算机可运行指令,上述计算机可运行指令在被运行时使得所述第一处理器 确定所述第一设备已经退出所述感兴趣区域;并且 终止所述第一设备上的所述代理应用。
全文摘要
可以向特定感兴趣区域内的位置感知移动设备部署移动代理,以实现关于感兴趣区域中正发生的事件的特定目标。为了确保代理可持续处于感兴趣区域内直到代理目标被实现,代理被配置为定位感兴趣区域内的其他设备,并且通过移动或拷贝自身来使自身传播到那些其他设备。当容宿代理的设备退出感兴趣区域内时,该代理被终止,从而释放设备资源。
文档编号H04L29/08GK102656864SQ201080055119
公开日2012年9月5日 申请日期2010年11月5日 优先权日2009年12月3日
发明者罗伯特·W·彼得森, 马克·杰勒德 申请人:欧搜卡德远程有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1