移动设备的基于位置的软件控制的制作方法

文档序号:7678170阅读:98来源:国知局
专利名称:移动设备的基于位置的软件控制的制作方法
移动设备的基于位置的软件控制
些旦冃尔
计算设备已经小型化并移动化到许多人一直随身携带一个或多个膝上
型计算机、个人数字助理(PDA)和/或智能手机的程度。移动计算设备无所不在的性质引起了关于在哪里和如何使用这些设备的若干规则和限制。例如,移动设备的无线电传输和无线联网能力可能被限制在某些特定频率上或为遵守本地法律而在某些区域被完全禁止。作为另一示例,某些位置要求对设备音量进行静音、禁用设备的图像捕捉能力和/或完全关闭设备。因此,有必要或者需要配置移动计算设备的硬件来遵守该移动计算设备所处的地理位置可能适用的任何限制。
此外,开发了各种无线网络,其允许个人使用其移动设备在其可以发现自己的几乎任何位置保持与网络相连接。这种无线网络包括例如,无线个人区域网(WPAN)、无线局域网(WLAN)、无线城域网(WiMax或WMAN)、以及无线广域网(WWAN)。这些网络的每一个都可以根据不同的协议来操作,并可以使用计算设备中用于连接的不同的硬件。在个人在不同的地理区域之间行进时,该用户可能希望或需要连接到不同的网络。例如,用户在行进时可以连接到WWAN,但在家中或在工作时则可以连接到更快且更安全的WLAN。移动设备复杂度增长以便包括能够在不同的地理区域接入不同的网络的硬件。然而,需要硬件配置来在不同的网络之间改变。
众所周知,设备可以是知晓位置的。软件和硬件全球定位系统等公知用于向移动计算设备提供位置信息。基于移动计算设备的可标识位置自动地配置运行在移动计算设备上的某些软件应用程序也是公知的。例如,转让给本申请的所有者的、标题为"Context-Aware Systems and Methods,Location-Aware Systems and Methods, Context-Aware Vehicles and Methodsof Operating the Same, and Location-Aware Vehicles and Methods ofOperating the Same (上下文知晓的系统和方法,位置知晓的系统和方法,
5上下文知晓的交通工具及其操作方法,位置知晓的交通工具及其操作方
法)"的美国专利6,944,679号公开了能够确定移动计算设备的位置并随后基于该位置信息修改运行在该设备上的一个或多个软件应用程序的行为的系统。
概述
本系统的各实施例一般涉及用于基于其位置来控制诸如膝上型计算机、PDA和蜂窝电话等移动设备的方法。移动计算设备可以包括定义的地理区域的软件呈现的地图、用于定义移动设备在给定地理区域中的行为的位置处理程序、以及用于确定何时进入和退出新的地理地区并相应地执行和终止位置处理程序的位置处理引擎。
地理地图包括在其中要控制移动计算设备的行为的一个或多个地理区域或地区。在一实施例中,地理地区可以是由2维平面中的坐标顶点所定义的多边形,其中坐标顶点之间的线定义该地区的形状。可以选择给定地理地区的任何数量的顶点并将其存储在存储器中来定义各种不同的多边形形状中的任一形状的地区。在地理地图上还可以定义任何数量的这种地理地区。两个或多个定义的地理地区可能具有重叠的部分,包括部分重叠或完全重叠,其中第一地理地区可能被完全包含在第二地理地区中。
可以为地理地图上的每一地理地区创建和存储用于控制给定移动计算设备的行为的一个或多个软件指令。该软件指令在此被称为位置处理程序,其可在存储器中与地图上定义的每一地理地区相关联,以便在移动计算设备穿过地理地区时,可以执行关于该特定地理地区的位置处理程序。给定移动计算设备的位置处理程序与该设备的操作系统进行交互以启动、终止
和/或更改该设备上各种系统设置的任一种。
例如,在一实施例中,可以提供用于基于移动计算设备的位置来控制该设备的无线网络连接的位置处理程序。可以提供与诸如例如WWAN、WLAN、 WiMax和WPAN等各种无线网络的任一种建立连接的位置处理程序。移动计算设备可以包括使得该设备在处于第一地理地区中时连接到第一网络、在处于第二地理地区中时连接到第二网络、在处于第三地理地区中时连接到第三网络等的位置处理程序。
位置处理程序还可被用来更改其它系统设置。可能存在特定频率上的无线电传输在给定地理区域中被禁止的情况。因而,在地图上可以定义存在这种限制的地理地区,并定义关闭指定频率上的无线电传输或完全关闭无线电传输的位置处理程序。在本系统的另一方面,可以定义地理地区和相关联的位置处理程序来控制移动计算设备的多媒体特性,诸如例如音量、照片和视频捕捉和设备显示。还可以在设备上提供在进入定义的地理地区时关闭整个设备的位置处理程序。
地理地图和位置处理程序可被存储在移动计算设备上的存储器中。另选地,可以集中地在移动设备可以网络连接到的服务器上存储地理地图和/或位置处理程序。在这一实施例中,在进入地理地区时,设备可以访问该服务器并随后下载并执行关于该地区的位置处理程序。例如,在Windows
操作系统设备中,位置处理程序可以与组策略相关联。这一实施例具有集中式设备管理的优点,其中网络管理员可以快速且容易地添加、删除和/或修改关于多个移动计算设备的一个或多个位置处理程序。可以基于任何数量的准则来设置策略以便给定设备的不同用户接收到不同的位置处理程序。
可以提供确定何时进入和退出新的地理地区并相应地执行和终止位置处理程序的位置处理引擎。位置处理引擎可被存储在移动计算设备的存储器中。在位置处理引擎确定移动计算设备已经穿过边界进入一地理地区时,可以执行关于该地区的位置处理程序。类似地,在位置处理引擎确定移动计算设备已经穿过边界退出一地理地区时,可以停止或反转关于该地区的位置处理程序。


图1是包括用于基于位置控制设备的系统的移动计算设备的框图。
图2是根据本系统的地理地图的示意性表示。
图3是根据本系统的替换地理地图的示意性表示。
图4是根据本系统的替换地理地图的示意性表示。
7图5是用于确定何时进入和退出地理地区并相应地执行和终止位置处理程序的流程图。
详细描述
现将参考附图1-5来描述本系统的各实施例,其一般涉及用于基于其位置来控制移动设备的方法。如下所述,本发明可以与各种移动计算设备一起操作。图1是被配置为膝上型计算机、手持式计算机或可被合并入诸如汽车、自行车、火车、飞机、轮船或其它移动结构等移动的交通工具中的计算机的计算环境的图示。图1所示的移动计算设备只是合适操作环境的一个示例,而非意在暗示对本发明使用范围或功能有任何限制。适于与本系统一起使用的其它公知的移动计算系统、环境、和/或配置包括但不限
于,PDA、蜂窝电话、多处理器系统、基于微处理器的系统、可编程消费电子产品、小型机、包括上述系统或设备的任一种的分布式计算环境等。
参考图1,用于实现本发明的示例性系统包括移动计算设备,如移动计算设备100。在基本配置中,移动计算设备100可包括至少一个处理单元102和存储器104。取决于计算设备的确切配置和类型,存储器104可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。另外,设备100还可具有附加的特征/功能。例如,设备100还可包含附加存储(可移动和/或不可移动),其中包括但不限于磁盘、光盘或磁带。这样的附加存储在图1中由可移动存储108和不可移动存储110示出。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器104、可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、 ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存储所需信息并且可由设备100访问的任何其它介质。任何这样的计算机存储介质都可以是设备100的一部分。
操作系统120可以驻留在存储器104中并且在处理器102上执行。操作系统例如可以是来自微软公司的Windows⑧操作系统或其它操作系统。 一个或多个应用程序122可被加载到存储器104中并在操作系统120上运 行。应用程序的示例包括电子邮件程序、时间安排程序、PIM(个人信息管 理)程序、文字处理程序、电子表格程序、因特网浏览器程序等等。
此外,存储器104还可以包括用于如以下所述基于其位置控制移动计 算设备的系统。本系统可以包括定义的地理区域的软件呈现的地图124、用 于定义移动设备在给定地理区域中的行为的位置处理程序126、以及用于确 定何时进入和退出新的地理区域并相应地执行和终止位置处理程序的位置 处理引擎128。尽管地图124、位置处理程序126和位置处理引擎128被示 为独立的模块,但可以理解,这些模块中的两个或更多可以组合在一起。 例如,位置处理程序126可被组合为位置处理引擎128的一部分。以下更 详细地描述根据本系统的地图124、位置处理程序126和位置处理引擎128 的每一个。
移动计算设备100还可包含允许该设备与其它设备进行通信的通信连 接112。通信连接112是通信介质的一个示例。通信介质通常以诸如载波或 其它传输机制等己调制数据信号来体现计算机可读指令、数据结构、程序 模块或其它数据,并包括任意信息传送介质。术语"已调制数据信号"指 的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。 作为示例而非限制,通信介质包括无线介质,如声学、RF、红外和其它无 线介质。如此处所使用的术语计算机可读介质包括存储介质和通信介质两 者。
设备100也可以具有诸如键盘、鼠标、笔、语音输入设备、触摸输入 设备等输入设备114。也可以包括诸如显示器、扬声器、打印机等输出设备 116。所有这些设备在本领域是公知的,因此不必在此详细讨论。如下所述, 移动计算设备100还可以包括位置标识系统,如全球定位系统芯片组118。
本领域技术人员将认识到,可以对图1示出的移动计算设备100进行 多种修改、置换和/或添加。
本系统结合用于标识移动设备的位置的已知结构的位置标识系统来工 作。例如,诸如膝上型计算机、PDA、蜂窝电话和交通工具中的计算机等移动计算设备可以包括如图1所示的全球定位系统(GPS)芯片组118。该
芯片组包括用于从环地球轨道运行的GPS卫星的网络接收定时信号的接收 机,该定时信号允许该芯片组准确地确定其位置(经度、维度和海拔高度)。
可以理解,可以结合本系统使用其它公知的位置标识系统。另一类广 域定位技术由无线电话服务公司提供并使用蜂窝电话的蜂窝塔观测数据和 其它移动设备来估计设备的位置。还有适合在较小区域采用的若干其它位 置标识系统,诸如例如微软研究的RADAR系统。微软的RADAR使用802.11 LAN无线联网技术,其允许启用无线(LAN)的移动设备基于已知的基础 结构接入点(AP)的信号强度来计算位置。也构想了其它位置标识技术。 可以理解,在本系统的各实施例中,位置标识系统不必具有精确标识移动 设备的位置的能力。例如,在各实施例中,定位到最近100英尺就可以是 足够的。在替换实施例中,位置标识设备的精度可以比这更高或更低。
本系统的一个方面涉及地理地图124的创建和存储器中的存储。地图 124包括在其中要控制移动计算设备的行为的一个或多个地理区域或地区。 在一实施例中,地理地区可以是由2维平面中的坐标顶点所定义的多边形, 其中坐标顶点之间的线定义该地区的形状。例如,图2示出包括一对地理 地区132和134的地理地图124。如图2所示,每一地区可由多个顶点(^少,)
来定义,每一顶点都表示地图124上的一特定地理点。第一组顶点,例如 (A,兀)到(x4,y4)可在存储器中被指定为定义第一地理地区132,而第 二组顶点,例如(x5,y5)到(^,"。)可在存储器中被指定为定义第二地理 地区134。在根据本系统的各实施例的地理地图上可以定义任何数量的此类 地理地区。
每一多边形地区的顶点可作为笛卡尔平面上的符号值来存储在存储器 中。例如,坐标()到(W4)分别可被存储为(O,O)、 (0,1)、 (l,l)和(l,O)。
随后可使用与顶点相关联地存储的査找表来将每一符号顶点映射到地球上 的实际的真实世界地理点。另选地,顶点可以具有实际的经度和纬度值。
坐标被存储的次序可以定义每一给定地理地区的形状。例如,顶点组 (0,0)、 (1,0)、 (1,1)、 (0,1)、 (O,O)可以表示具有以下各线的区域 (O,O)到(l,O)
10 (i,o卿,i)
(U卿,i)
(O,l)到(O,O)
这样一个地理地区是如图2所示的正方形。另一方面,顶点组(O,O)、
(l,O)、 (0,1)、 (1,1)、 (O,O)可以表示具有以下各线的区域
(O,O)到(l,O)
(l,O)到(O,l)
(O,l)到(l,l)
(l,l)到(O,O)
这样一个地理地区是在其相应顶点接合的一对三角形。 可以理解,可以选择和存储给定地理地区的任何数量的顶点来定义各 种不同的多边形形状中的任一形状的地区。此外,构想了两个或多个定义
的地理地区可以具有重叠的部分。重叠可以如图3所示是部分的,或重叠 可以是完全的,如图4所示。
可以为每一移动计算设备唯一地创建地理地图124。另选地,两个或 多个移动计算设备可以共享同一地理地图。可以例如由用户或IT管理员生 成包括一个或多个地理地区的地理地图124,并随后将其存储在移动计算设 备的存储器中。另选地,地理地图124可以存储在移动计算设备的远程, 并经由便携式存储器或经由诸如例如因特网等网络连接下载到该移动计算 设备。
地图124可以经由移动计算设备上的用户界面或由使用不同的计算设 备的管理员来设置。在设置地图124的一实施例中,可以向用户/管理员呈 现一个或多个真实世界地理地图,且该用户/管理员可以使用鼠标来选择真 实世界地图上的点。那些点随后可被转换为符号坐标并如上所述地与真实 世界坐标相关联地来存储,或其可如上所述作为真实世界坐标(经度和维 度)来存储。
可以理解,上述描述涉及用于生成地理地图124的一个实施例。可以 理解,在本系统的替换实施例中,为其控制移动计算设备的行为的一个或 多个地理地区可以通过各种其它公知方法来生成。根据本系统的另一方面,可以为地图124上的每一地理地区创建和存 储用于控制给定的移动计算设备100的行为的一个或多个软件指令。 一个
或多个软件指令在此被称为位置处理程序126,其可在存储器中与地图124 上定义的每一地理地区相关联。在移动计算设备跨入一地理地区时,可以 执行关于该特定地理地区的位置处理程序。每一移动计算设备100都可以 具有为该特定计算设备定制的位置处理程序126。然而,在本系统的各实施 例中,两个或更多移动计算设备可以具有同一位置处理程序。在两个移动 计算设备共享同一地理地图的情况下,该两个设备的位置处理程序可以彼
此相同或彼此不同。
给定移动计算设备100的位置处理程序126指定该移动设备在进入地 图124上指定的给定地理地区时的行为。以下将更详细地解释根据本系统 的用于确定移动计算设备何时进入或退出特定地理地区的方法。操作系统 应用程序编程接口 (API)允许位置处理程序126与设备的操作系统进行交 互以启动、终止和/或更改该设备上的各种系统设置的任一种。
例如,在一实施例中,可以提供用于基于移动计算设备100的位置来 控制该设备的无线网络连接的位置处理程序126。如在背景一节所述,移动 计算设备当前具有连接到包括例如WWAN、 WLAN、 WiMax和WPAN等 若干不同的无线网络的复杂度。移动计算设备100可以包括在使该设备处 于第一地理地区中时连接到例如WWAN等第一网络,和在处于第二地理地 区中时连接到例如WLAN等第二网络的位置处理程序126。可以为不同的 地理地区定义任何数量的不同的网络连接。
在进入特定地理地区时,位置处理程序126的用于连接到特定无线网 络的实际句法将取决于执行该位置处理程序的移动计算设备的类型而变 化。例如,在膝上型计算机(或交通工具中的计算机)中,可以存在一个 或多个无线网络选项。用户可以用公知方式,例如指定SSID和安全选项, 来设置到WLAN的连接。用户还可以经由无线服务提供者来设置到WWAN 的连接。用户还可以使用例如Bluetooth (蓝牙)规范来设置到WPAN的 连接。在膝上型计算机上设置了这些无线联网选项中的一个或多个时,可 以提供位置处理程序,其在被执行时使得该膝上型计算机搜索到指定网络
12的连接并且一旦找到该网络连接则连接到该网络。网络连接可以要求登录 认证。可以经由设备用户界面来提示用户输入登录信息。另选地,登录信 息可以作为位置处理程序的一部分来包括,以在执行位置处理程序时自动 地完成到指定网络的登录。
在膝上型计算机(或交通工具中的计算机)的示例中,位置处理程序
126的用于连接到每一类型的无线网络(例如,WWAN、 WiMax、 WLAN、 WPAN等)的句法是已知的。如果用户使用设备用户界面手动地连接到指 定的网络位置,则位置处理程序126与Windows⑧操作系统(或在该膝上 型计算机上运行的任何操作系统)进行交互来实现相同的效果。
其它类型的移动计算设备,如PDA和蜂窝电话,可以类似地包括位置 处理程序126,其在进入指定的地理地区时执行以使得那些设备基于该设备 的位置来连接到无线网络。位置处理程序的用于将这种设备连接到每一类 型的无线网络的实际句法是已知的,且如果用户使用设备用户界面手动地 连接到该特定网络则将实现相同的效果。
在上述每一实施例中,在进入新的地理地区时,位置处理程序126可 以自动地连接到指定的网络。另选地,位置处理程序可以经由该移动设备 提供警告,从而向用户提供连接到指定网络的选项。可能发生位置处理程 序指定的所需网络在一次连接尝试时可能不可用的情况。在这种情况下, 位置处理程序可以指定在主网络不可用的情况下要连接到的其它无线网 络。
使用位置处理程序126如上所述地基于位置来连接到特定无线网络可 以具有若干用处和好处。例如,地图124上定义的一个地理地区可以是用 户的办公室。在这一实施例中,可以提供在膝上型设备从用户的办公室网 络区域外面移动到用户的办公室网络区域内时自动地从使用WWAN切换 到使用WLAN的位置处理程序(且反之亦然)。可以为用户的家庭(或其 它)WLAN网络定义类似的地理地区和位置处理程序。
在另一实施例中,取代在两个不同类型的无线网络之间切换(例如, WWAN到WLAN、 WLAN到WPAN等),本系统可被用来自动地在同一 类型的两个不同无线网络之间切换(例如,第一 WWAN到第二 WWAN、第一 WLAN到第二 WLAN等)。例如,可能存在一对无线服务提供者运 营商X和Y,其每一个都提供WWAN服务。运营商X可以在第一地理地 区中提供高带宽连接,如HSDPA,而在该第一地理地区外则提供低带宽, 如GPRS。相反,运营商Y可以在第二地理地区中提供高带宽而在该第二 地理地区外提供低带宽。在这种情况下,可以在地图124上定义第一和第 二地理地区,且可以提供位置处理程序以便用户的移动计算设备100能检 测到用户何时从第一地区进入第二地区,并随后自动地从运营商X切换到 运营商Y,或向用户提供切换运营商并使用较高的带宽连接的选项。
可能存在特定频率上的无线电传输在给定地理地区中被禁止的情况。 因而,在本系统的另外的实施例中,可以在地图124上定义存在这种限制 的地理地区,并定义位置处理程序126并将其与那些地理区域相关联。在 进入这些区域中时,关于那些区域的位置处理程序可以执行并以公知的方 式与该计算设备的操作系统进行交互来关闭指定频率上的无线电传输或完 全关闭无线电传输。在离开该地理地区时,位置处理程序可以指定或不指 定恢复无线电传输。
在本系统的另一方面,可以定义地理地区及相关联的位置处理程序126 来控制移动计算设备100的多媒体特性。例如,可以在移动计算设备上提 供在进入定义的地理地区时增大、降低、关闭或打开设备的音量的位置处 理程序。可以在设备上提供为定义的地理地区禁用或启用设备的照片或视 频捕捉能力的位置处理程序。可以在设备上提供为定义的地理地区禁用或 启用设备显示的位置处理程序126。在退出地理地区时,上述位置处理程序 可以指定或不指定反向动作。还可以在设备100上提供在进入定义的地理 地区时关闭整个设备的位置处理程序126。
在本系统的又一实施例中,可以定义地理地区和相关联的位置处理程 序126以在移动到新的区域中时改变移动计算设备上的区域性设置。例如, 可以在设备上提供为各不同的定义的地理地区设置设备上的时间、日期、 夏令时等的位置处理程序。
如上所述,每一设备可以用其自己的定义的地理地区和其自己的与该 地理地区相关联的位置处理程序来定制。在各实施例中,多个移动设备可
14以共享一个或多个或完全相同的地理地区和位置处理程序。在各实施例中, 多个移动设备可以具有同一地理地区,但第一移动设备(例如,第一膝上 型计算机)上关于该地区的位置处理程序可以不同于第二移动设备(例如, 第二膝上型计算机)上关于该地区的位置处理程序。类似地,多个移动设 备可以具有同一地理地区,但第一类型的移动设备(例如,膝上型计算机) 上关于该地区的位置处理程序可以不同于第二类型的移动设备(例如,蜂 窝电话)上关于该地区的位置处理程序。
如图3所示,地图124上的不同的定义的地理地区可以部分重叠,且
如图4所示,第一地区可以完全重叠以便第一地区被完全包括在或包含在 第二地区中。可能发生关于重叠的或被包含的地区的位置处理程序126不 相冲突的情况。在这种情况下,可能已经执行关于两个地区的位置处理程 序且其在重叠的/被包含的区域中时有效。然而,可能发生在关于重叠的或 被包含的地区的位置处理程序之间出现冲突的情况。例如,参考图3,设备 可以包括与地区132相关联的在处于地区132中时将该设备连接到第一网 络的位置处理程序,且该设备可以包括与地区134相关联的在处于地区134 中时将该设备连接到第二网络的位置处理程序。在地区132和134的重叠 的区域中因此可能存在冲突。
本系统可以用多种方式处理冲突。在一实施例中,可以在重叠的地区 的位置处理程序中表示优先级,其指示哪一位置处理程序在冲突区域中优 先。优先级可以是用户定义的,或其可以基于各种无线网络的分层加权。 在另一实施例中,在冲突的情况下,本系统可以通过设备界面提示用户并 请求用户选择一个位置处理程序来执行。在又一实施例中,在存在冲突的 位置处理程序时,优先级可以由管理员使用组策略来设置。在又一实施例 中,在两个或多个地区重叠的情况下,重叠的区域可作为具有其自己的位 置处理程序的另一独立地区来对待。例如,在图3中,重叠区域可以从地 区132和134中分离,从而存在三个独立且不重叠的地理地区地区132、 地区134和由地区132和134之间的交集所定义的第三地区。在这些实施 例中,这三个地区的每一个都可以包括其自己的位置处理程序集,其中的 每一个都与其它不相冲突,因为不存在重叠的区域。如地理地图124 —样,位置处理程序126可被存储在移动计算设备上 的存储器中。另选地,可以集中地在移动设备可以网络连接到的服务器上 存储地理地图和/或位置处理程序。在这一实施例中,在进入地理地区时, 设备可以访问该服务器并随后下载并执行关于该地区的位置处理程序。例
如,在Windows⑧操作系统设备中,位置处理程序可以与组策略相关联。 这一实施例具有集中式设备管理的优点,其中网络管理员可以快速且容易 地添加、删除和/或修改关于多个移动计算设备的一个或多个位置处理程序。 可以基于任何数量的准则(资历、安全许可、公司内的团体组等)来设置 策略以便给定设备(例如,膝上型计算机)的不同用户接收到不同的位置 处理程序。还可以设置策略以便不同类型的设备(例如,膝上型计算机和 PDA)接收到不同的位置处理程序。
位置处理程序126可以经由移动计算设备上的用户界面或由使用不同 的计算设备的管理员来设置。在用于定义位置处理程序的一实施例中,可 以向用户/管理员呈现图形用户界面,其允许该用户/管理员手动地运行位置 处理程序要执行的步骤并随后将用于实现那些手动步骤的指令编码到位置 处理程序中。
本系统的另一方面涉及用于确定何时进入和退出新的地理地区并用于 相应地执行和终止位置处理程序的位置处理引擎128。位置处理引擎128 可被存储在移动计算设备的存储器中。现将参考图5解释移动计算设备中 的本系统的位置处理引擎128的一实施例的操作的流程图。
通常,在穿过边界进入或退出一地理地区时,位置处理引擎启动一个 或多个位置处理程序的执行。然而,可能发生用户对他或她的移动计算设 备首次加电的情况。因此,在步骤190,位置处理引擎128首先检査设备是 否是最初被加电。如果是,则在步骤192,引擎128査询GPS单元来确定 设备100的当前位置。在步骤194,引擎128随后将该位置与地理地图进行 比较以确定设备100当前是否位于定义的地理地区内。如果否,则如以下 参考步骤200所述,引擎继续至步骤200以获取设备的新位置。另一方面, 如果在步骤194确定设备当前位于定义的地理地区内,则如以下参考步骤 208所述,引擎循环至步骤208以执行关于该地区的位置处理程序。如果在步骤190该移动设备不是刚加电,则引擎128执行周期性地接 收该移动计算设备的新位置(例如,每秒一次,虽然在替换实施例中时间
段可以长于或短于该时间)的步骤200。可以提供API以供在位置处理引 擎128和GPS芯片组或包括在该移动计算设备上或与其相关联的其它位置 标识系统之间进行通信。
在步骤202,引擎128将该设备的新位置丄_映射到地图124上的地理
地区。在步骤204,使用该设备的当前位置和该设备在最后测量位置时的前 一时间点处的位置i^来确定设备行进的矢量路径。例如,在位置丄。,,被表 示为二维坐标(a,b)且A^-(c, d)的情况下,则旧的和新的位置之间的线L可
由以下等式来确定
L = (x-a)*(b —d) + (y — b)*(c — a) = 0. (1)
使用2维坐标系来说明。然而,本领域技术人员可以理解,以上可以 扩展以包含更高维的坐标系。从U到丄,的距离可使用以上使用的4,,和 4,的值通过等式sqrt((a-c广2 + (b-d广2)来获得。可以使用其它方法来确定 设备100从/^到丄_的矢量行进。
在步骤206,引擎128确定设备从/^到丄_的行进路径是否穿过地理 地区的边界。具体地,上述地理地区的各顶点定义每一地理地区的多条边。 例如,在两个邻接的坐标(x,,")和(X2,;0定义地理地区的边E的情况下,
边E能以类似于前一段的等式(1)的形式来表示
E = (x - x^(y, — y2) + (y - y!)"X2 _ x)=0. 引擎128随后可以确定设备的行进路径是否穿过地理地区的边的任一 条(与其相交)。具体地,表示设备的行进路径的线L可以在交点P:(px, py)处穿过地理地区的边E或与其相交,由下式给出
(px-a)*(b —d) + (py_b)*(c_a) = 0;以及
(px 一 xi"(y, — y2) + (py — yi)*(x2 一 x,) = 0。 如果以下条件为真,则线L和边E的这种交点P存在(在P与E相互 并行的情况下其将不存在)。
距离(4 ,4w )=距离(4W , ^ )+距离(尸,4w);以及
距离(El, E2^距离(E1, P)+距离(P, E2),
17其中El和E2是边E的端点(x,^,)和(X2,")。可以理解,存在用于确 定移动计算设备100是否穿过地理地区的边的其它方法。
如果在步骤206确定未穿过边界,则引擎128返回到步骤200以检索 设备的新位置。另一方面,如果在步骤206确定穿过了边界,则在步骤208 引擎128标识该设备所跨入的地区,且引擎128标识关于该地区的位置处 理程序集5_。在步骤210,引擎128执行5_中的位置处理程序。如上所
述,位置处理程序可以与设备的操作系统进行交互以启动、终止和/或更改
该设备上的各种系统设置的任一种。
在步骤212,引擎128可以标识可能需要从丄^终止的位置处理程序集
&w。如上所述,地理地区可以重叠,且在各实施例中,进入新的地区不一
定暗示已离开旧的地区。因此,在各实施例中,除如上所述检查是否穿过 新地区的边界之外,引擎128还可以用类似的方式检査是否穿过了旧地区 的边界。在所有重叠的地区如上所述被重新定义为一组不重叠的地区的各 实施例中,穿过边界实际上意味着己退出旧的地区。在确定已离开旧的地 区的情况下,在步骤214,可以停止或反转关于该旧的地区的位置处理程序。 如上所述,位置处理引擎128可以位于移动计算设备100的存储器中。 在替换实施例中,位置处理引擎可以存储在设备100的远程,诸如例如在 中央服务器上。该中央服务器还可以存储位置处理程序126。在这一实施例 中,移动计算设备100可以如上所述周期性地确定其位置,并随后将该位 置信息发送到中央服务器。中央服务器随后将查找地图(在中央服务器上 或其它地方)并确定是否需要调用关于查询的移动计算设备的任何位置处 理程序。如果需要调用任何处理程序,则中央服务器可以向该移动计算设 备发送那些位置处理程序以供执行。
本发明系统的前述详细描述是出于说明和描述的目的而提供的。这并 不旨在穷举本发明系统或将本发明系统限于所公开的精确形式。鉴于上述
教导,许多修改和变型都是可能的。选择所述实施例以最好地解释本发明 系统的原理及其实践应用,从而允许本领域技术人员能够在各种实施例中 并采用各种适于所构想的特定用途的修改来最好地利用本发明系统。本发 明系统的范围旨在由所附权利要求书来定义。
权利要求
1. 一种基于移动计算设备的位置来控制所述设备的行为的计算机实现的方法,包括以下步骤a)接收一个或多个定义的地理地区;b)确定所述移动计算设备何时穿过在所述步骤(a)所接收到的地理地区的边界;以及c)在穿过所述步骤(b)中的地理地区的边界时,更改所述移动计算设备的系统设置。
2. 如权利要求1所述的方法,其特征在于,所述接收一个或多个定义 的地理地区的步骤(a)包括接收多个坐标的步骤,所述坐标定义所述一个或 多个地理地区的形状。
3. 如权利要求1所述的方法,其特征在于,所述更改所述移动计算设 备的系统设置的步骤(c)包括连接到无线网络的步骤。
4. 如权利要求3所述的方法,其特征在于,所述连接到无线网络的步 骤包括连接到WWAN、 WiMax网络、WLAN和WPAN中的一个的步骤。
5. 如权利要求1所述的方法,其特征在于,所述更改所述移动计算设 备的系统设置的步骤(c)包括更改所述移动计算设备的无线电传输的步骤。
6. 如权利要求1所述的方法,其特征在于,所述更改所述移动计算设 备的系统设置的步骤(c)包括更改所述设备的多媒体特性的步骤。
7. 如权利要求1所述的方法,其特征在于,所述更改所述移动计算设 备的系统设置的步骤(c)包括对所述设备断电的步骤。
8. 如权利要求1所述的方法,其特征在于,还包括在所述确定所述移 动计算设备何时穿过地理地区的边界的步骤(b)之前,在所述移动计算设备 的存储器中存储指令的步骤。
9. 如权利要求1所述的方法,其特征在于,还包括在所述确定所述移 动计算设备何时穿过地理地区的边界的步骤(b)之后,接收所述移动计算设 备的存储器中的所述指令的步骤。
10. —种基于移动计算设备的位置来控制多个所述设备的行为的计 算机实现的方法,包括以下步骤a) 定义与地理地区相关联的、用于更改所述多个移动计算设备的一 个或多个系统设置的一个或多个位置处理程序;b) 在可由所述多个移动计算设备访问的存储器位置中存储在所述步骤(a)中定义的所述一个或多个位置处理程序;c) 接收在所述移动计算设备穿过所述一个或多个位置处理程序与其相关联的所述地理地区的边界时从所述多个移动计算设备的一个移动计算设备接收所述一个或多个位置处理程序的请求;以及d) 转发在所述步骤(c)中所请求的一个或多个位置处理程序以更改 所述请求的移动计算设备的所述一个或多个系统设置。
11. 如权利要求IO所述的方法,其特征在于,还包括对所述一个或 多个位置处理程序进行分类的步骤,以便在所述步骤(c)的请求时第一组移 动计算设备接收到第一组位置处理程序而在所述步骤(c)的请求时第二组移 动计算设备接收到第二组位置处理程序。
12. 如权利要求11所述的方法,其特征在于,所述对所述一个或多 个位置处理程序进行分类的步骤包括根据为所述多个移动计算设备设置的 组策略来对所述一个或多个处理程序进行分类的步骤。
13. 如权利要求11所述的方法,其特征在于,所述第一组移动计算 设备是膝上型计算机而所述第二组移动计算设备是膝上型计算机。
14. 如权利要求11所述的方法,其特征在于,所述第一或第二组移 动计算设备是来自包括膝上型计算机、个人数字助理、蜂窝电话和交通工 具中合并的计算设备的一组移动计算设备的两种不同类型的移动计算设 备。
15. 如权利要求IO所述的方法,其特征在于,所述定义用于更改所 述多个移动计算设备的一个或多个系统设置的一个或多个位置处理程序的 步骤(a)包括定义用于与移动计算设备的操作系统进行交互以使得所述移 动计算设备从第一无线网络断开连接并连接到第二无线网络的软件指令的 步骤。
16. 如权利要求IO所述的方法,其特征在于,所述定义用于更改所 述多个移动计算设备的一个或多个系统设置的一个或多个位置处理程序的步骤(a)包括定义用于与移动计算设备的操作系统进行交互以引起所述移动计算设备的多媒体设置的改变的软件指令的步骤。
17. —种具有用于对处理器编程以执行一种基于移动计算设备的位 置控制所述设备的行为的方法的计算机可执行指令的计算机可读介质,所 述方法包括以下步骤a) 接收一个或多个定义的地理地区;b) 确定所述移动计算设备何时穿过在所述步骤(a)所接收到的地理 地区的边界;以及c) 在所述步骤(b)中穿过所述地理地区的边界时,执行与所述一个 或多个地理地区相关联的、用于与移动计算设备的操作系统进行交互来更 改所述多个移动计算设备的一个或多个系统设置的一个或多个指令。
18. 如权利要求17所述的计算机可读介质,其特征在于,所述执行 更改所述移动计算设备的一个或多个系统设置的一个或多个指令的步骤(c) 包括更改所述移动计算设备所连接到的无线网络的步骤。
19. 如权利要求17所述的计算机可读介质,其特征在于,所述执行 更改所述移动计算设备的一个或多个系统设置的一个或多个指令的步骤(c) 包括更改所述移动计算设备的多媒体特性的步骤。
20. 如权利要求17所述的计算机可读介质,其特征在于,所述接收 一个或多个定义的地理地区的步骤(a)包括接收一对重叠的地理地区的步 骤,并且其中所述执行一个或多个指令的步骤(c)包括执行与所述第一地理 地区相关联的第一指令和与所述第二地理地区相关联的第二指令的步骤, 所述方法还包括解决所述第一和第二指令之间的任何冲突的步骤。
全文摘要
公开了用于基于其位置来控制诸如膝上型计算机、PDA和蜂窝电话等移动计算设备的方法。移动计算设备可以包括定义的地理区域的软件呈现的地图、用于定义移动设备在给定地理区域中的行为的位置处理程序、以及用于确定何时进入和退出新的地理地区并相应地执行和终止位置处理程序的位置处理引擎。
文档编号H04W8/24GK101491126SQ200780027422
公开日2009年7月22日 申请日期2007年7月23日 优先权日2006年7月21日
发明者D·德万, V·维尔兰基 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1