CN101405572B - 用于移动设备的基于位置的高速缓存 - Google Patents

用于移动设备的基于位置的高速缓存 Download PDF

Info

Publication number
CN101405572B
CN101405572B CN200780009364.4A CN200780009364A CN101405572B CN 101405572 B CN101405572 B CN 101405572B CN 200780009364 A CN200780009364 A CN 200780009364A CN 101405572 B CN101405572 B CN 101405572B
Authority
CN
China
Prior art keywords
content
mobile communication
communication equipment
map
future
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.)
Active
Application number
CN200780009364.4A
Other languages
English (en)
Other versions
CN101405572A (zh
Inventor
G·P·布拉彻
R·费斯尔
W·马努瑟克
I·W·塞尔莫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN101405572A publication Critical patent/CN101405572A/zh
Application granted granted Critical
Publication of CN101405572B publication Critical patent/CN101405572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3889Transmission of selected map data, e.g. depending on route
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3896Transmission of map data from central databases
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

一种基于位置的高速缓存系统(100)为移动通信设备(102)提供了动态地提供与用户的位置有关的内容的能力。内容可包括预期移动设备的用户行进的路线的一系列地图段。也可提供其它相关内容,例如与所行进的路线相关的名胜信息。该系统跟踪移动设备(102)的当前位置,并预测移动设备(102)的将来位置。基于对将来位置的预测,高速缓存模块(108)确定与将来位置有关的内容当前是否被储存在移动设备(102)上。如果适当的内容不在移动设备(102)上,则高速缓存模块(108)经由网络连接(122)从内容服务器(124)检索该内容。内容信息可以基于例如用户偏好、移动信息以及设备状态信息来从上下文上选择。

Description

用于移动设备的基于位置的高速缓存
背景
一般而言,用于移动设备的导航应用程序通过将对应于预先计算的路线或移动设备的用户打算在其中旅行的估计的区域的地图下载到设备来操作。使用一般由基于web的供应商或在个人计算机或服务器上维护的数据提供的地图服务,用户指定起始点、目的地以及可能的中途停留目的地,然后计算基于这些位置的静态路线。路线的完整地图被下载到移动设备。
对于这些现有的导航应用程序存在重大的限制。首先,导航路线是静态的,并且被绑定到给定的起始点和目的地。万一用户决定更改行程,则无法动态地改变储存在移动设备中的路线。其次,在大多数情况下,地图数据是基于矢量的,并且仅支持一种地图类型,即,分辨率可被自适应,但是不可能将地图类型例如从街道地图改为鸟瞰图、地形图或其它可能的视图。此外,这一导航应用程序并未考虑到设备能力上的限制,例如用于地图存储的有限的存储器以及有限的处理器分配。另外,这些导航应用程序在大多数情况下仅支持地图数据而非移动设备的用户可能感兴趣的任何种类的基于位置的数据。
概述
一种基于位置的高速缓存系统为移动通信设备提供了动态地提供与用户的位置有关的内容的能力。在一示例性形式中,内容包括预期移动设备的用户行进的路线的一系列地图段。也可提供其它相关内容,例如与所行进的路线相关的名胜信息。内容信息可以基于例如用户偏好、移动信息以及设备状态信息来从上下文上选择。
移动设备可以由有助于基于位置的高速缓存系统的若干组件组成,包括位置确定模块、方向估计器模块、内容容器、内容容器、连接管理模块以及高速缓存模块。位置确定模块确定移动通信设备的当前位置。方向估计器模块估计移动通信设备的将来位置。内容容器储存与将来位置有关的内容。连接管理模块提供与移动通信设备的网络连通性。高速缓存模块经由连接管理模块从内容容器或移动通信设备外部的替换内容源中选择与将来位置有关的内容。该系统还可包括一内容服务器,其经由将移动通信设备与内容服务器相连接的网络向移动通信设备提供与将来位置有关的内容。该系统还可包括可由移动通信设备访问的、关于移动通信设备的当前位置信息的源,例如全球卫星定位信息。
该基于位置的高速缓存系统跟踪移动通信设备的当前位置,并预测移动通信设备的将来位置。基于对将来位置的预测,该高速缓存模块确定与将来位置有关的内容当前是否被储存在移动通信设备上。如果适当的内容不在移动设备上,则该高速缓存模块经由网络连接从内容服务器检索该内容。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。所要求保护主题的其他特征、细节、功能、以及优点将由如附图中进一步示出的以及在所附权利要求中所定义的以下更详细描写的各实施例和实现的详细描述而变得显而易见。
附图简述
图1是移动设备与内容服务器以及地理位置信息源的关系的示意图。
图2是移动设备上的示例性的基于位置的高速缓存操作的示意图。
图3是由基于位置的高速缓存系统执行以动态地向移动设备提供内容的一系列操作的流程图。
图4是在基于位置的高速缓存系统内提供内容的知晓位置的系统的示意图。
图5是在开发知晓位置的应用程序时的交互的示意性状态图。
图6是在基于位置的高速缓存系统内提供内容的路标树立和定向操作的流程图。
图7是提供图6的附加细节的路标树立和定向操作的流程图。
图8是可在基于位置的高速缓存系统的实现中使用的通用移动设备的示意图。
图9是可在基于位置的高速缓存系统的实现中使用的通用计算机系统的示意图。
详细描述
此处所公开的技术被设计成向移动通信设备提供特定于用户的位置和兴趣的、但独立于为该用户所计算的路线的地图数据和其它内容。地图数据的供应被按需智能且动态地下载到移动通信设备上。该技术此处一般被称为基于位置的高速缓存系统。
地图数据可根据多个参数而提供给移动设备,这些参数包括移动方向、速度(当前和平均)以及上下文。上下文还可以按照全局上下文,即用户的环境或地理位置,以及局部上下文,即包括偏好、兴趣、用户位置以及移动设备的硬件和软件能力及限制在内的用户简档来理解。
所选地图的分辨率可以取决于行进速度、上下文(例如,名胜的包括)、可用地图数据、以及移动通信设备上的限制或上限(例如,存储器、显示器大小和分辨率、以及处理器速度)。所选以在移动设备上呈现的地图因此被自适应以匹配相关准则。向移动设备下载的间隔也可取决于包括用户的行进速度、连接选项和速度以及存储器分配在内的上下文。
基于对位置和上下文信息的分析,可基于例如大小和分辨率来计算地图数据段并从内容服务器下载到移动设备。地图段也可基于类似的准则从移动设备上删除。地图数据也可通过具有位置信息的多媒体数据来丰富。基于位置的高速缓存系统的好处可以通过与智能连接管理和位置管理技术相结合而得到增强。
基于位置的高速缓存系统100在图1中示出。系统100一般是客户机—服务器模型,并且其基础是围绕移动设备102的。移动设备102可以是移动电话、个人数字助理、移动存储设备(例如,MP3播放器或便携式照片/视频库)、全球定位系统设备、汽车信息中心(例如,通用汽车公司的ONSTAR)、或能够接收地理位置数据并与网络122接口以接收附加内容的任何其它便携式设备。内容服务器124经由网络122与移动设备102连接。系统100还可包括与移动设备102接口的全球定位系统(GPS)服务116,或用于确定移动设备102的地理位置的其它方法。
移动设备102具有用于实现如图1所示的基于位置的高速缓存操作的若干模块或组件。这些模块可包括位置管理器模块104、移动方向估计器模块106、高速缓存模块108以及连接管理器模块114。位置管理器模块104、移动方向估计器模块106以及高速缓存模块108共同初步实现了对地图数据的智能和动态选择以便在移动设备102上呈现。另外,移动设备102可包括用于储存地图数据的内容容器110以及用于储存用户偏好或其它上下文信息的上下文容器112。内容容器110和上下文容器112可采用移动设备102的通用存储器内的数据结构的形式。
如图1的实施例中所示,移动设备102可以通过与一个或多个网络122的连接与内容服务器124通信。网络122可以是任何类型的网络,例如局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、因特网、电话网络、微波网络(例如,WiMAX)、无线电网络(例如,GPRS)或光学网络,或其组合。
移动设备102可具有与多个网络同时连接的能力。例如,如果移动设备102是无线电话,则它可使用全球移动通信系统(GSM)标准、码分多址(CDMA)标准、通用移动电信系统(UMTS)标准或任何其它网络电话标准来与语音电话网络连接。数据可以交替地或同时地使用电路交换数据(CSD)、通用分组无线电业务(GPRS)、高速下行链路分组接入(HSDPA)或任何其它数据传输协议来发送。
网络连接可以由连接管理器114来管理。连接管理器114负责基于可用硬件来选择用于将数据从内容服务器124下载到移动设备102的最佳网络连接。合适的连接管理器模块的一个示例性实现在MICROSOFTWINDOWSMOBILE平台中具体化。示例性连接类型可包括蓝牙、GPRS、WLAN和UMTS。如果移动设备102被装备为处理多种协议或具有多个通信接口,则还有可能选择一个以上连接类型。对大多数适当数据传输选项的选择可以取决于多个因素,包括要传输的数据的量、可用连接类型、移动设备当前正执行的操作、以及在上下文容器112中定义的任何用户偏好。例如,如果用户正使用移动设备102上的web浏览器应用程序,并且当前正在使用GPRS协议通过WLAN下载信息,则连接管理器114可以指示经由可用的蓝牙接口来下载地图数据。当WLAN连接免费时,由于更高的数据传输速率,连接管理器114可以重定向下载操作经由WLAN接口发生。
内容服务器124包括数据存储126和连接服务,以提供内容服务器124和移动设备102之间的接口。数据存储126储存要按需上传到移动设备102的地图数据。在一个示例性实施例中,连接服务可以是web服务。web服务的主要功能是响应于移动设备102的估计的移动方向提供必要的地图数据。由内容服务器124提供的web服务还可基于由移动设备102中的上下文容器112提供的上下文信息来从数据存储126中选择地图数据。
如图1所示,移动设备可以直接从GPS服务116或替换地从其它源接收地理位置数据。为了从GPS服务116接收地理定位数据,移动设备102一般配备有GPS接收机芯片,或者其经由电缆或蓝牙与外部GPS设备连接。这一GPS接收机被调谐以从全球定位卫星接收信号并对移动设备102的位置进行三角测量。在图1的实施例中,这一GPS设备可以被结合到以下进一步描述的位置管理器模块104中。
或者,移动设备102可以通过使用多个应答器与WLAN118、GPRS网络120或任何其它无线网络技术标准接口来确定地理位置。如果在移动设备102的范围内有至少三个提供网络的无线传输源,则移动设备102中的位置管理器104可以基于无线网络应答器的固定位置对地理位置进行三角测量。位置管理器104可以查询应答器以提供这一固定位置信息。
地理位置还可通过移动设备102的用户的直接数据输入或任何位置源来确定。位置管理器104可以被装备为使用任一或所有位置信息源,即GPS、其它三角测量方法、直接输入或任何其它方法来确定地理位置。移动设备102在进一步确定适当的地图数据来进行呈现时对于位置信息源是不可知的。
移动方向估计器106从位置管理器104接收移动设备102的实际地理位置,并估计移动设备102的用户将移动的方向。该估计可以基于这一实际位置信息、用户在先前一段时间内(例如,在上几分钟或几秒内,该时间段还可取决于用户的速度)行进的方向、环境上下文信息以及用户上下文信息来计算。例如,用户可以在以恒定速度沿着公路行进的小汽车中。这一环境上下文信息可以基于地图坐标和速度来外推。移动方向估计器106因此可以从该上下文中确定用户将继续沿公路行进。或者,如果用户的速度在几秒的时间段内减小并且区域的地图指示与另一条道路相交,则这一信息可能暗示用户方向的潜在改变,并且系统100可准备好适应这一改变。
移动方向估计器106可以使用若干不同算法中的任一种来计算将来的估计的用户位置。示例性算法包括跟踪路线的任何线性或非线性外推。外推指的是该算法应能够从所储存的跟踪路线点中估计出设备的用户在一段时间内有最高的可能性会所在的位置。可出于各种原因中的任一种,例如移动设备102中的处理器的速度、存储器分配要求、或期望考虑的变量数目,来选择一特定算法。移动方向估计器106对于实现应用专用算法也可以是开放的。
一旦由移动方向估计器106确定,所估计的位置然后被提供给高速缓存模块108以启动对所有相关地图和其它数据的预加载。高速缓存模块108取决于用户的位置和当前上下文来确定数据是否应从内容服务器124预加载以及本地内容容器110中的数据是否可被删除。在来自位置管理器104的数据(例如,地图)请求的情况下,高速缓存模块108一般从本地内容容器110中检索该数据。否则,如果数据不是被本地储存的,则数据必须立即从内容服务器124上传。此外,如果移动设备102在其存储器中只有极少的可用存储,则高速缓存模块108从内容容器110中清除被标识为离用户的实际位置或期望位置最远的数据。高速缓存模块108还从上下文容器112中清除最不适用于用户的实际或期望位置的数据。
内容容器110是用于基于位置的数据的数据存储。在一个实现中,内容容器110可以是简单的二进制文件,以最小化移动设备102的必要资源。在另一实现中,内容容器110可以是移动数据库。在一个实现中,使用面向对象的数据结构,可以将基于位置的数据封装在具有以下示例性接口的类内:
a)数据和用户的当前给定位置之间的距离的计算;
b)基于位置的数据的类型;
c)基于位置的数据的数量;
d)基于位置的数据的优先级;以及
e)用于基于位置的数据的Get(获取)函数。
这些数据类可以在保持所有这些对象的容器(container)类中结构化(在数据库的情况下,该容器类是唯一接口)。容器类可提供以下示例性接口:
a)获得具有到给定点的最小距离的对象的列表;
b)获得具有到给定线的最小距离的对象的列表;
c)获得具有到给定区域的最小距离的对象的列表;
d)获得给定区域内的对象的列表;
e)添加对象;以及
f)移除对象。
以此方式,储存在移动设备102上的内容容器110中的地图和其它内容(即,存储器中的“对象”)可以与用户的当前位置进行比较,从而允许高速缓存模块108做出适当的下一地图选择以及存储器分配决策。例如,如果高速缓存模块108确定用于储存地图和内容的可用存储器正在减少,则离用户的位置最远的地图可被丢弃以提供用于添加与用户的当前位置更相关的地图和内容的存储空间。
上下文容器112是用于移动设备102的用户的所有相关上下文数据和偏好的数据存储。示例性偏好可包括以下:
a)移动设备102上的可用存储;
b)用户的平均移动速度;
c)优选运输手段;
d)可用/优选的位置相关数据类型;
e)可用/优选的地图类型;
f)移动设备102上的可用存储器空间或处理器分配;
g)移动设备102上的显示器的大小和分辨率;
h)移动设备102上的可用连接类型;以及
i)取决于成本的优选连接类型。
这些数据可以由单个类/对象提供,并且可通过移动设备102上的用户界面来配置。许多参数在可能时可被自动计算以避免用户输入。
收集并使用这一类型的上下文数据的目的是向用户提供对环境最适当的地图。例如,高速缓存模块108可基于用户的移动来选择替换的地图。如果很明显用户正在以仅可由移动的车辆达到的速度移动,则高速缓存模块108将选择以非常低的细节水平覆盖大区域(例如,以英里或千米为比例)的道路地图。如果用户的个人偏好信息指示用户通常是以火车旅行的,则高速缓存模块108可选择标识了火车路线和火车站的地图。或者,如果用户的速度暗示用户正在步行,则高速缓存模块108可选择以高细节水平覆盖小区域(例如,以英尺或米为比例)的地图。
地图中的各种上下文细节水平可取决于高速缓存模块108在选择要从内容服务器124下载的特定地图时所考虑的已知的用户偏好来智能地提供给用户。如果用户的个人偏好信息指示用户喜欢经常光顾咖啡店或酒吧,则可将已知的咖啡店或酒吧位置呈现为地图上的路标。如果用户偏好信息指示用户正在假期旅行中,则可在地图上提供指示该地图的可查看区域内的历史或旅游景点(例如,沿着公路的战场或城市中的博物馆)的路标信息。其它路标信息可指示所显示的地图的可查看区域之外的某些吸引人的事物的方向。
注意,不需要有中央内容服务器,但是内容可改为从多个分布式或甚至不相关的内容服务器检索。此外,内容可以不仅限于地图。例如,如果用户正在访问旅游胜地,则高速缓存模块108可从服务器中寻找被标识为提供了与该特定位置或胜地有关的名胜内容的内容。例如,博物馆可提供可被呈现在移动设备102上以供用户参观该博物馆的多媒体内容。示例性内容可包括音频叙述引导参观或有关展品的描述性信息。如对于地图所描述的,这一上下文内容可以在按需的基础上被下载和高速缓存以适应存储器或其它限制。基于位置的高速缓存系统可以结合此处进一步描述的知晓位置的框架来支持任何数据类型的下载和演示以提供适当的上下文内容。数据还可以被提供给移动设备102上的任何其它应用程序以供呈现、位置计算或任何其它所支持的目的。
高速缓存模块108可以基于任何给定时刻的存储器分配、处理器需求、以及移动设备102的其它状态信息来做出内容存储和呈现确定。例如,如果移动设备102上可用的存储器不足以储存关于整个计划的路线的必需地图,则基于位置的高速缓存系统100能够通过从存储器中丢弃先前的地图段并在必要时下载其它地图段来向用户动态地提供关于整个旅行的适当地图。基于位置的高速缓存系统100因此提供了优于在旅行之前基于预定路线来下载并静态地储存地图的其它技术的显著优点。高速缓存模块108还可考虑移动设备102的特定显示器的大小和分辨率并向移动设备102呈现其所能支持的较高分辨率内容。
连接管理器114还可使用上下文容器112中的用户偏好信息以及移动设备102的状态信息来做出连接决策。例如,基于与用户的移动设备102相关联的数据计划,不同的定价结构可在一天的不同时间经由一种服务或协议应用于数据传输。或者,用户可订阅来自特定供应商的统一费率的WiFi服务。如果用户在多个WiFi供应商服务的特定位置,则连接管理器114可选择用户的订阅服务而非另一可用服务。在又一示例中,如果连接管理器114认识到移动设备102停放或以其它方式连接到有线网络,则连接管理器114因较高的数据传输速度而可选择使用这一有线网络而非无线选项来进行数据传输。
用于移动设备的基于位置的高速缓存系统的一个简单的示例性实现在图2中示出。在第一时间段中,移动设备显示器200描绘了第一地图202,该第一地图指示在该第一地图202所指示的地理上下文中用户的位置。第一地图202由高速缓存模块210提供给显示器200。用户被描绘为沿着第一公路206在小汽车204中向着与第二公路208的交叉路口行进。
基于现有的环境和其它上下文信息,例如小汽车204在第一公路206上的行进时间的长度、用户在第一公路206上先前的行程以及其它考虑事项,高速缓存模块210预期用户将继续沿着第一公路206行进并经过与第二公路208的交叉路口。由此,高速缓存模块210先前已经储存了第二地图202,如对于第二时间段在所提议的显示200a中所示的。第二地图202a估计用户的小汽车204a沿着第一公路206经过与第二公路208的交叉路口的位置。
然而,位置管理器和移动方向估计器向高速缓存模块210提供指示用户正在减速的经更新的信息。从第一地图202的位置和上下文信息中,高速缓存模块210可确定用户有可能会转到第二公路208上,如在第一地图202中由第二公路208上小汽车的替换位置204′、204"所指示的。因此,代替显示第二地图202a,高速缓存模块210联系内容服务器212以检索另外的地图来覆盖用户可能转到第二公路208上的可能性。
一旦位置管理器确定用户转到了一特定方向,高速缓存模块210就在显示200b中呈现适当的第三地图202b,示出小汽车204沿着第二公路204前进并示出在第二公路208的方向上的地理信息。如对于显示202b上的第三地图202b所指示的,第三地图202b由高速缓存模块210从内容服务器212动态地下载。
图3描绘了由图1的位置管理器模块104、移动方向估计器模块106和高速缓存模块108所执行来提供移动设备102上的基于位置的高速缓存功能的一系列示例性操作300。在寻找操作302中,位置管理器104确定移动设备102的地理位置。如上所述,这一寻找操作302可以通过GPS或其它三角测量方法来执行,或者可简单地基于用户输入。接着,在确定操作302中,移动方向估计器106确定移动设备102的移动的方向。然后,在推导操作306中,高速缓存模块108推导移动设备102的估计的将来位置。如上所述,这一推导操作306可以考虑到诸如储存在上下文容器112中的移动设备102的特定环境以及用户偏好等附加上下文因素。
基于位置、方向和上下文信息,高速缓存模块108进行查询操作308以确定适当的下一地图是否已经储存在移动设备102上。如果已经有了适当的地图,则在检索操作310中,高速缓存模块108从内容容器110中检索下一地图。或者,如果在查询操作308中高速缓存模块108确定下一适当地图尚未储存在移动设备102中,则在连接操作312中,高速缓存模块108经由网络122与内容服务器124连接。然后,在下载操作314中,高速缓存模块108从内容服务器124下载下一适当地图。一旦高速缓存模块108或者从内容容器110检索了下一地图,或者从内容服务器124下载了地图,则在呈现操作316中,经由移动设备上的显示器向用户呈现下一适当地图316。
图4示出了可被实现为基于位置的高速缓存系统的一部分以便为移动设备提供适当的地图的知晓位置的系统400。知晓位置的系统400包括位置管理器420、知晓位置的应用程序430、以及地图管理器440。位置管理器420与一个或多个位置源425(1-N)连接。地图管理器440与一个或多个地图存储442、地图生成器444和地图web服务器446连接。
位置管理器420被配置成从一个或多个移动设备位置源425(1-N)接收位置信息,并将位置信息抽象为提供给知晓位置的应用程序430的位置事件。移动设备位置源425(1-N)可以是提供关于一项目的位置信息的任何东西。例如,一个移动设备位置源可以是GPS接收机。另一移动设备位置源可以是指示用户的位置的用户输入。例如,用户可通过移动设备上的用户输入来指示用户在某一位置。用户可通过例如键区、触摸屏或语音识别等用户接口来将位置输入到移动设备中。另一移动设备位置源可以是RFID标签。每一移动设备位置源425(1-N)可以提供不同分辨率的位置数据。例如,某些位置源可能非常准确,而其它位置源可能仅准确到一定义的区域内,例如邻里或道路的延长。
移动设备位置源425(1-N)可对应于邻近的或遥远的位置源。邻近源对应于位置生成硬件,包括但不限于GPS接收机,或对应于移动设备本身,其从网络信息中确定其位置。遥远的位置源对应于从远程联网源推或拉的位置信息(例如,所到达的具有小汽车的位置的推送的短消息服务(SMS)消息,或经由web请求返回(拉取)的位置信息)。邻近和遥远的位置源都被看作是抽象逻辑实体。这使得编程模型对于许多不同种类的位置信息都是相似的。
一旦接收到位置数据,位置管理器420就确定是否触发了与知晓位置的应用程序430相关的任何位置事件。位置管理器420在出现与感兴趣的区域具有某一逻辑关系(诸如进入或离开感兴趣的区域)的项目时提供位置事件,而非仅仅将来自位置源的原始位置数据提供给知晓位置的应用程序430。感兴趣的区域可以与任何区域有关,并且可以是室内或室外。例如,室内位置可以用于显示固定资产(例如,会议室)和/或移动资产(例如,人、办公室设备、或存货)的位置。感兴趣的室外区域可以是城市街区、建筑物或某一其它陆标周围的区域、或某一其它预定区域。感兴趣的室外区域也可以是可移动的资产(例如,小汽车或人)。
知晓位置的应用程序430基于项目与感兴趣的区域的关系来注册位置事件而非解释原始位置数据。在发生预定位置事件时,位置管理器420通知知晓位置的应用程序430。在这一点上,知晓位置的应用程序430执行被开发为处理位置事件的事件驱动代码例程。知晓位置的应用程序430因此对所生成的位置事件做出响应。
在发生位置事件时,知晓位置的应用程序430向地图管理器440提供一组加权准则。例如,该加权准则可包括建议的地图分辨率以及知晓位置的应用程序430希望显示在由地图生成器444所绘制的地图上的一组对象。知晓位置的应用程序430还可提供知晓位置的应用程序430希望呈现在现有或生成的地图之上的对象。除了知晓位置的应用程序430响应于事件来驱动地图生成器440对地图的呈现之外,知晓位置的应用程序430还可以是自驱动的。例如,知晓位置的应用程序430可具有周期性地“拉取”信息并请求地图管理器440呈现新地图的定时器。因此,除了“推送”事件驱动响应之外,知晓位置的应用程序430还可“拉取”数据并采取行动。
地图管理器440从知晓位置的应用程序430中抽象出地图信息,使得它无需了解关于如何处理地图或位置信息的细节。知晓位置的应用程序430向地图管理器440提供它希望显示的地图的名称或类型,而不是知晓位置的应用程序430必需包括复杂的地图呈现代码。地图生成器444不被绑定到任何单个应用程序或呈现引擎。例如,一个呈现引擎可以是基于矢量的,而另一呈现引擎可以是基于位图的。地图管理器440因此向知晓位置的应用程序430提供与地图生成器444交互的接口。
地图管理器440向知晓位置的应用程序430提供一组丰富的特征,而无需知晓位置的应用程序430了解如何实现地图代码的细节。例如,假设应用程序430希望允许用户指向地图上的一个区域,然后将该数据转换成经度和纬度,或者在室内地图的情况下转换成室内坐标系。地图管理器440将该信息提供给知晓位置的应用程序430。地图管理器440担当知晓位置的应用程序430和地图生成器444以及地图web服务446之间的代理,并向知晓位置的应用程序430提供功能。
某些功能包括将移动设备上的X/Y屏幕坐标映射到地图上的纬度/经度/海拔高度地图坐标。例如,用户可在当前显示地图的屏幕上点击以输入其位置。响应于用户输入,地图管理器440将X/Y屏幕位置映射到纬度/经度/海拔高度地图位置。类似地,地图管理器440将纬度/经度/海拔高度地图数据映射到X/Y屏幕位置,从而允许知晓位置的应用程序430动态地呈现在当前显示的地图之上。诸如滑雪区域地图等某些地图呈现上的海拔高度可能会显著影响X/Y位置。
有许多方式来将X/Y坐标转换成纬度/经度/海拔高度坐标。一般而言,地图管理器440接收X/Y屏幕坐标,将该坐标匹配到地图,然后基于地图的比例和地图边界,使用投影技术来提供纬度/经度/海拔高度坐标。知晓位置的应用程序430无需了解地图本身是如何呈现的或使用了什么“投影技术”。许多不同的地图投影技术都是可能的,包括但不限于诸如墨卡托(Mercator)投影、圆柱投影、极投影、网格投影等经典地图投影技术,以及自定义投影技术(例如,滑雪区域地图或体育场座位地图)。知晓位置的应用程序430可以无缝地在不同投影技术之间移动。
地图管理器440还向知晓位置的应用程序430提供关于该组可用地图的高级事件。这些事件向知晓位置的应用程序430提供了诸如满足知晓位置的应用程序430所请求的准则的若干地图何时可用等重要信息。知晓位置的应用程序430不限于使用单个地图来显示。例如,一个应用程序可在一段时间内使用街道地图,然后在另一时间期间使用地铁地图(例如,显示公共汽车路线、地铁隧道等)。地图管理器440根据其适用性顺序来对地图排序。当没有满足知晓位置的应用程序430所提供的准则的地图可用,但地图管理器440可定位满足某些准则的地图时,则提供这些地图。
地图管理器440还允许将新地图动态地提供到移动设备上。地图可在任何时刻被下载到移动设备上。例如,当添加了新的运输路线时,可以下载用于公共交通运输应用程序的新地图。根据一个实施例,这些地图使用两个文件来表示,一个是二进制文件且对地图管理器440是不透明的,另一个是它所理解的文件。根据一个实施例,该地图使用XML文件来表示。地图管理器440能够读取该XML文件,并获得将该地图添加到移动设备上的本地地图数据存储所必需的信息。
以下是地图文件的示例性XML表示。
<MapDataVersion=“1.01”MapProjection=“SimpleGrid”
MetersPerPixel=“2.80253449893166”MapInfoClass=“none”
CustomMapRender=“none”>
<SimpleLatLongRectangleMapFileName=“device_map_1_0.PNG”>
<MapCoordinatePosition=“NorthWestCorner”Latitude=“50.7867”
Longitude=“6.07814549019608”/>
<MapCoordinatePosition=“NorthEastCorner”Latitude=“50.7867”
Longitude=“6.09407106666667”/>
<MapCoordinatePosition=“SouthWestCorner”
Latitude=“50.7766295454545”Longitude=“6.07814726827094”/>
<MapCoordinatePosition=“SouthEastCorner”
Latitude=“50.7766295454545”Longitude=“6.09406985757576”/>
</SimpleLatLonRectangle>
</MapData>
MAPPROJECTION指的是用于显示地图的技术。在此具体示例中,地图投影类型是简单网格。METERSPERPIXEL指的是地图的平均分辨率。MapInfoClass指的是是否有回答关于该地图的问题所需要的自定义类。该字段允许开发者在编程环境内包括当显示地图时可被调用的自定义类。类似地,CUSTOMMAPRENDERER指的是是否需要自定义呈现引擎来绘制地图。MAPFILENAME字段指的是包含地图呈现引擎将用于绘制地图的信息的二进制文件名。SIMPLELATLONGRECTANGLE字段将地图标识为由纬度和经度坐标定义的矩形。
以下示例示出了所利用的某些自定义字段。
<MapDataVersion=“1.01”MapProjection=“SimpleGrid”
MetersPerPixel=“2.80253449893166”MapInfoClass=“CustomMapInfol”
CustomMapRender=“CustomMapRenderl”>
<CustomMapInfolMapFileName=“device_map_1_0.PNG”
classid=“CustomMapEngine.MapInfoParser”/>
<CustomMapRenderlMapFileName=“device_map_1_0.PNG”
classid=“CustomMapEngine.MapRenderEngine”/>
</MapData>
地图管理器440可具有在设备的地图存储442中可用的多个地图,这些地图可被应用程序430使用。地图管理器440搜索设备的地图存储442中可用的该组地图,并查找将要使用的最佳地图。在选择之后,选中并呈现最适合的地图。
图5描绘了在开发知晓位置的应用程序时的交互的状态图500。在状态510处开始,定义感兴趣的地理区域。对感兴趣的区域的选择可在部署知晓位置的应用程序之前或之后发生。另外,该信息可在任何时刻被发送到移动设备。感兴趣的区域是与地图有关的预定义区域。感兴趣的区域可以是可定义的任何大小。例如,感兴趣的区域可以是一平方米的大小或整个国家。感兴趣的区域是基于知晓位置的应用程序的需求来定义的。
例如,假设所开发的知晓位置的应用程序确定孩子何时离开学校并回家。在该具体示例中,感兴趣的区域可以是包括学校的区域以及包括孩子的家的另一区域。某些感兴趣的区域可由开发者选择,而其它感兴趣的区域可由用户选择。例如,诸如上述示例等许多知晓位置的应用程序是在向用户提供了知晓位置的应用程序之后配置的。在以上示例中,家长可选择感兴趣的区域。
状态520示出对地图和地图服务器的选择。开发者可在系统中可用的地图之间选择,或者可创建其自己的地图。根据本发明的一个实施例,可用地图在知晓位置的应用程序之间共享,使得不同的知晓位置的应用程序可使用相同的地图。以此方式,每一知晓位置的应用程序不需要开发其自己的地图。在大多数情况下,地图呈现的细节对知晓位置的应用程序的开发者隐藏。万一开发者希望包括其自己的呈现软件,则开发者可如以下进一步描述地在状态540处将该呈现软件结合到该环境中。
在状态530处,开发者对响应于与知晓位置的应用程序内的感兴趣的区域相关联的事件而执行的基于事件的位置代码进行编程。该基于事件的代码取决于所开发的知晓位置的应用程序的类型,并且可包括许多不同类型的数据。例如,一程序可在用户到达预定位置时执行动作。在上述跟踪孩子的示例中,可对一示例路线编程以基于在该特定时刻孩子的位置突出显示家或学校。开发者还可响应于事件将项目放置到地图上。
在状态540处,开发者还可设置用于地图呈现的偏好。例如,开发者可能希望对应用程序的一部分使用基于矢量的呈现引擎,而对应用程序的另一部分使用基于位图的系统。地图引擎可由许多不同的源提供。希望构建引擎的任何开发者可提供符合编程接口的地图引擎。每一地图引擎被插入到开发系统中。
在状态550处,可使用真实和/或模拟的位置源来测试知晓位置的应用程序。该系统提供了位置源的模拟器,使得可在现场应用之前测试知晓位置的应用程序。使用模拟的数据源向开发者提供了当发生位置事件时要测试的基于事件的位置代码。对模拟的位置源数据的另一使用是“回放”先前记录的真实世界位置数据。这对于应用程序开发、测试和调试而言是有用的。
图6呈现了示出用于选择地图或其它基于位置的内容的知晓位置的框架600的示例性实现的流程图。最初,在获取操作602处,获取地图图像。操作604指示该地图图像可以是从任何源获取的任何任意图像。例如,该地图图像可以从显示图像的移动设备中预存储的源(例如,图1的高速缓存模块108)获得,或者从外部源获得,不论是外部存储器设备还是通过从地图源(例如,图1的内容服务器124)或甚至从另一用户下载地图图像。该地图图像还可以在下载到移动设备之前由呈现图像来动态地呈现。显示在移动设备上的地图可具有各种分辨率,并且以各种格式储存。只要路标树立和定向信息可被叠加在地图图像上,任何任意的地图就是可接受的。
在显示操作606处,在移动设备上显示所获取的或动态地呈现的地图图像的至少一部分。由于诸如蜂窝电话、寻呼机或个人数字助理等移动设备通常具有小显示屏,因此可能无法显示整个地图图像。在某些情况下,如果显示器足够大或地图足够小,则可显示整个地图图像或其很大一部分。在只能显示地图的一部分的情况下,可能期望在地图图像上叠加附加的导航项目,例如方向信息或陆标(以下称为“陆标”)。或者,这些陆标可结合任何地图显示而不管大小、分辨率或详尽性。
在第二显示操作608中,这些陆标实际上被显示在地图图像上。在一个实现中,陆标可被叠加在地图图像上,使得路标与周围地形的关系可被看见。可显示多个陆标,不论是静态的还是围绕地图图像移动的。在另一实现中,一个陆标可被认为是相对于地图图像上的其它陆标的锚或参考对象。
在建立操作610中,一旦显示了陆标,就可建立锚定该陆标的参考对象。或者,可以首先建立该锚对象,然后可显示陆标(即,操作608和610的时间顺序可交换)。锚对象可位于地图图像上的任何地方,不论是在显示屏上还是外。或者,如果锚对象从显示屏移开,例如在用户改变位置或改变显示器的分辨率的情况下,则可选择显示屏上的地图区域内的一新的锚对象。将陆标锚定到锚对象允许在陆标和锚对象之间维持某些关系。例如,可确定锚对象和陆标之间的距离关系和方向关系。
即使陆标和锚对象本身围绕显示屏移动、从显示屏中消失或重新出现在显示屏上,也可维持该锚定关系。例如,锚对象最初可被显示在地图图像的中央,而其它陆标围绕该锚对象。在地图图像上不适合显示维度的位置处的任何陆标可由该显示维度内指示该陆标在地图图像的未看见部分上的相对位置的路标来引用。该路标用于补救将地图维持在某一特定细节水平同时维持关于有关无法以该细节水平适合显示的项目的关系的信息的问题。
一旦锚对象在适当的位置,则在查询操作612中确定陆标或锚对象是否在移动设备的显示屏上。如果对查询操作612的回答是“是”,即锚对象或陆标实际上的确适合在显示屏区域内,则在显示操作614中将锚对象或陆标显示在屏幕上。只要锚对象或特定陆标的位置保持在显示屏上的地图图像的区域内,就显示锚对象和陆标。注意,移动设备的用户可通过缩小或放大地图图像或通过从一个物理位置移到另一个来改变所显示的地图图像区域。例如,假设用户正在查看一地图图像并决定在该地图的特定部分上远离显示陆标之处放大。如果用户放得足够大,则陆标不再适合在显示器上(即,陆标将仍位于地图图像本身上,但是可能不再能在移动设备屏幕上显示)。
注意,当移动设备的用户在地图图像上放大时所创建的地图图像的分辨率越大,附加路标就越有可能出现。并且,如果锚对象的位置离开了屏幕,则也可使用路标来指向锚对象。在这些情形中,维持操作616维持关于陆标或锚对象的路标,只要它在显示屏的可查看区域之外。路标树立取决于陆标或锚对象是否能被显示而被打开或关闭。由此,当地图图像的分辨率或用户的位置改变时,知晓位置的框架600的状态在操作614和616之间交替。
此外,当框架600在维持操作616时,可实现一可任选的创建操作618。在创建操作618中,创建一定向标记以向用户指示关于路标所表示的陆标的方向、距离或其它信息。定向标记可以自动、在用户请求时或在某一其它条件下创建。定向标记可包括相应的方向矢量以帮助用户相对于地图图像来定向其自身。
图7提供了关于以上图6的维持操作616的附加细节,该操作在图7中被重新标号为操作702。在查询操作704中,判定要显示几种可能类型的可用信息中的哪一种作为路标的一部分。
第一可能性在操作706处指示,其中显示屏幕外陆标的名字作为路标。名字仅是示例性的,并且可改为使用其它标识符号,例如数字或图形图标。在操作708处描绘的第二种可能性是指示陆标到锚对象的距离。也可显示其它关系,诸如锚对象和陆标之间的时间关系。在操作710中描绘的第三种可能性是开发一定向引用。该定向引用可用于指向用户必须移动以到达该陆标的相对于锚对象的方向。定向引用不必确切地指向陆标,即像矢量那样,而是可基本上指向适当的方向。
或者,对于更准确的描述,可提供具有到陆标的矢量的定向标记。锚对象和陆标之间的方向矢量的创建在创建操作712中指示。也可提供允许用户使用矢量来将其自身与不与地图图像相关联的定向标记,例如太阳的位置对齐的方向矢量。方向矢量也可用于帮助明确树立路标的陆标、定向标记和锚对象之间的特殊关系。
最后,在更新操作714中,可动态地更新可在路标中显示的任何关系。由此,陆标可在例如一个陆标对应于移动设备的用户,而该用户然后将该移动设备给予将经由该移动设备来跟踪的第二用户时改变名字。当然,定向引用、矢量或其他东西以及距离计算不必在移动设备的用户在地图图像所定义的区域中移动时更新。
图8描绘了用于在基于位置的高速缓存系统中使用的示例性移动设备800。移动设备800包括如在任何标准计算设备中的处理器802以及存储器804。下文中所描述的处理器802、存储器804、以及其他组件可以通过系统总线814来接口。系统总线814可以是若干类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、交换光纤、点对点连接、以及局部总线。存储器804一般包括易失性存储器(例如,RAM)和非易失性存储器(例如,ROM、PCMCIA卡)。操作系统806可以在存储器804中驻留并且在处理器802上执行。示例性操作系统可以是来自微软公司的WINDOWSCE操作系统。
一个或多个应用程序806可被加载到存储器804中以由处理器806结合操作系统606来执行。示例性应用程序可包括电子邮件程序、日程安排程序、个人信息管理程序、文字处理程序、电子数据表程序、因特网浏览器程序、音乐文件管理程序、以及照片和视频文件管理程序。存储器804还可包括在处理器802上执行的通知管理器810。如将在以下更详细描述的,通知管理器810处理从应用程序808到一个或多个用户通知设备的通知请求。
移动计算设备800还具有可以使用一个或多个电池来实现的电源812。通过使用代替电池或为电池重新充电的与移动设备800相连接的电源线或供电数据传输电缆,电源812也可以来自外部AC源。电源812被连接到移动设备600的大多数(如果不是全部)组件以供每个组件工作。
在一个实施例中,移动设备800可包括通信能力,例如,移动设备800作为无线电话来工作。具有电话能力的电话无线设备800一般包括用于与无线电话网接口的天线816、发射机818、以及接收机820。另外,移动设备800可包括话筒834以及扬声器836以供用户进行电话通信。扬声器836还可以是用于与有线或无线耳机或头戴式耳机相连接的有线或无线输出端口的形式。
移动设备800可以通过一个或多个通信接口822与众多其他网络相连接,例如,无线LAN(Wi-Fi)网络、有线LAN或WAN、GPRS、蓝牙、UMTS或任何其他网络。天线816或多根天线可用于不同的通信目的,例如,射频识别(RFID)、微波发射和接收、Wi-Fi发射和接收、以及蓝牙发射和接收。
移动设备800一般还包括某一类型的用户界面。如图8所示,移动设备800可具有键盘824和显示器826。键盘824可以是有限数字触摸垫、全“qwerty”键盘、或两者的组合。”键盘824也可包括专用按钮、滚轮、跟踪球、以及其他界面选项,例如,菜单选择或导航键或电话功能键。除了描绘信息,显示器826还可以是触摸屏显示器,该显示器允许通过用用户的手指或指示笔触摸显示屏以通过图形界面来做出输入选择或直接在在显示器826上写字母和数字来输入数据。
移动设备800还可具有一个或多个外部通知机制。在图8所描绘的实施例中,移动设备800包括音频生成器828、发光二极管(LED)830、以及振动设备832。这些设备可直接耦合到电源812,使得当被激活时,即使处理器802以及其它组件可能关闭以节省电池电量,它们也可保持一段由通知管理器810控制的保持通电时间。
可用作内容服务器的示例性硬件和操作环境在图9中示出。该硬件包括计算机900形式的通用计算设备,包括处理单元902、系统存储器904、以及操作上将包括系统存储器904在内的各种系统组件耦合至处理单元902的系统总线918。可以只存在一个或者存在一个以上处理单元902,使得计算机900的处理器包括单个中央处理单元(CPU),或者多个处理单元,通常称为并行处理环境。计算机900可以是常规计算机、分布式计算机、或者任何其他类型的计算机,本发明不限于此。
系统总线918可以是几种类型的总线体系结构中的任何一种,包括存储器总线或存储控制器、外围总线、交换光纤、点对点连接、以及使用各种总线体系结构中的任一种的局部总线。系统存储器904可被简单地称为存储器,并且包括只读存储器(ROM)906和随机存取存储器(RAM)905。基本输入/输出系统(BIOS)908被存储在ROM906中,它包含帮助在诸如启动期间在计算机900内各元件之间传递信息的基本例程。计算机900还可包括用于对硬盘(未示出)进行读写的硬盘驱动器930,用于对可移动磁盘936进行读写的磁盘驱动器932,以及用于对可移动光盘938,如CDROM或其它光介质进行读写的光盘驱动器934。
硬盘驱动器930、磁盘驱动器932和光盘驱动器934分别由硬盘驱动器接口920、磁盘驱动器接口922和光盘驱动器接口924连接到系统总线918。驱动器及其相关联的计算机可读介质为计算机900提供了计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。本领域的技术人员应当理解,在示例操作环境中可以使用可储存可由计算机访问的数据的任何类型的计算机可读介质,例如,磁带盒、闪存卡、数字视频盘、RAM、以及ROM。
多个程序模块可被储存在硬盘930、磁盘932、光盘934、ROM906、或RAM905上,包括操作系统910、一个或多个应用程序912、其它程序模块914、以及程序数据916。在一个示例性实现中,知晓位置的地图管理和操作可以作为操作系统910、应用程序912、或其他程序模块914的一部分而被包含在内。状态描述文件、对象数据值、以及其他数据可作为程序数据916来储存。
用户可通过诸如键盘940和如鼠标等定点设备942等的输入设备向个人计算机900中输入命令和信息。其他输入设备(未示出)可包括,例如,话筒、操纵杆、游戏手柄、图形输入板、触摸屏设备、圆盘式卫星天线、扫描仪、传真机、以及摄像机。这些和其它输入设备通常通过耦合到系统总线918的串行端口接口926连接到处理单元902,但也可通过其它接口连接,如并行端口、游戏端口、或通用串行总线(USB)。
监视器944或其它类型的显示设备也经由诸如视频适配器946等接口连接至系统总线918。除监视器944之外,计算机通常包括其它外围输出设备,如打印机958和扬声器(未示出)。这些和其它输入设备通常通过耦合到系统总线918的串行端口接口926连接到处理单元902,但也可通过其它接口连接,如并行端口、游戏端口、或通用串行总线(USB)。
计算机900可使用至一个或多个远程计算机,诸如远程计算机954的逻辑连接在网络化环境中操作。这些逻辑连接由耦合至计算机900或者与其整合的通信设备来实现,本发明不限于特定类型的通信设备。远程计算机954可以是另一计算机、服务器、路由器、网络个人计算机、客户机、对等设备或其它常见的网络节点,并且通常包括许多或所有以上相对于计算机900所描述的元件,尽管在图9中仅示出了存储器存储设备956。图9所描绘的逻辑连接包括局域网(LAN)950和广域网(WAN)952。这样的网络环境常见于办公室网络、企业范围计算机网络、内联网和因特网,这些网络可以是所有类型的网络。
当在LAN950环境中使用时,计算机900通过作为一种类型的通信设备的网络接口或适配器928连接到局域网950。当在WAN952环境中使用时,计算机900通常包括调制解调器948、网络适配器、或用于通过广域网952建立通信的任何其他类型的通信设备。或为内置或为外置的调制解调器948经由串行端口接口926连接到系统总线918。在网络化环境中,相对于个人计算机900所描绘的程序模块或其部分可以存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段和通信设备。
此处所描述的技术可在一个或多个系统中被实现为逻辑操作和/或模块。逻辑操作可被实现为在一个或多个计算机系统中执行的处理器实现的步骤的序列以及在一个或多个计算机系统中的互连机器或电路模块。同样地,各组件模块的描述可以按照由模块执行或实现的操作来提供。所得的实现是取决于实现所描述的技术的底层系统的性能要求的选择问题。从而,组成此处所述的技术的实施例的逻辑操作被不同地称为操作、步骤、对象或模块。此外,应该理解,除非以其他方式明确地要求保护或权利要求语言固有地需要一特定的次序,否则逻辑操作可以按任何次序来执行。
以上说明、示例和数据提供了对本发明的各示例性实施例的结构和使用的全面描述。尽管以上带着一定程度的特殊性或对一个或多个单独实施例的参考描述了本发明的各实施例,但是本领域的技术人员能够对所公开的实施例做出多种更改而不背离本发明的精神或范围。更具体地,应该理解,所描述的技术可以独立于个人计算机来采用。因此构想了其他实施例。其目的是以上描述中所包含以及在附图中所示出的所有一切应当解释为仅仅是说明了特定实施例而非限制。可以对细节或结构做出改变而不背离如所附权利要求书中定义的本发明的基本要素。

Claims (17)

1.一种用于向移动通信设备(102)动态地提供位置相关内容的方法,所述方法包括:
跟踪所述移动通信设备的当前位置;
确定所述移动通信设备的移动方向;
预测所述移动通信设备的将来位置;
确定与所述将来位置相关的内容当前是否储存在所述移动通信设备上,其中所述与所述将来位置相关的内容中的细节水平基于所述移动通信设备的移动速度来确定;
在确定所述内容当前未储存在所述移动通信设备上时,经由网络连接从内容存储检索所述内容;
确定在所述移动通信设备的内容容器中用于储存地图和其它内容的可用存储空间是否正在减少;
当确定在所述内容容器中用于储存地图和其它内容的可用存储空间正在减少时,将当前储存在所述内容容器中的地图与其它内容与当前位置作比较;删除当前储存在所述内容容器中的、与移动通信设备的当前位置相距最远的一部分内容;以及
将所检索到的内容储存在所述内容容器中。
2.如权利要求1所述的方法,其特征在于,还包括经由所述移动通信设备的界面向用户呈现所述内容(316)。
3.如权利要求2所述的方法,其特征在于,所述界面包括可视显示(826)。
4.如权利要求1所述的方法,其特征在于,所述内容包括包含所述移动通信设备(102)的将来位置(202b)的区域的地图。
5.如权利要求1所述的方法,其特征在于,还包括基于所述移动通信设备上储存的上下文信息选择所述内容。
6.如权利要求5所述的方法,其特征在于,所述上下文信息包括所述移动通信设备的用户的偏好信息。
7.如权利要求5所述的方法,其特征在于,所述上下文信息包括关于所述移动通信设备的状态信息。
8.一种基于位置的高速缓存系统(100),包括:
移动通信设备(102),所述移动通信设备还包括:
确定所述移动通信设备(102)的当前位置的位置确定模块(104);
确定所述移动通信设备的移动方向并估计所述移动通信设备(102)的将来位置的方向估计器模块(106);
储存与所述将来位置相关的内容的内容容器(110);
提供到所述移动通信设备(102)的网络连通性的连接管理模块(114);以及
高速缓存模块(108),其中:
当所述与所述将来位置相关的内容当前储存在所述内容容器中时,所述高速缓存模块从所述内容容器(110)检索与所述将来位置相关的内容,当所述与所述将来位置相关的内容当前未储存在所述内容容器中时,所述高速缓存模块经由所述连接管理模块从所述移动通信设备外部的替换内容源下载所述与所述将来位置相关的内容,其中所述与所述将来位置相关的内容中的细节水平是由所述高速缓存模块基于所述移动通信设备的移动速度来确定的;以及
确定在所述内容容器中用于储存地图和其它内容的可用存储空间是否正在减少;当确定在所述内容容器中用于储存地图和其它内容的可用存储空间正在减少时,将当前储存在所述内容容器中的地图和其它内容与当前位置作比较;删除当前储存在所述内容容器中的、与移动通信设备的当前位置相距最远的一部分内容;以及将所下载的内容储存在所述内容容器中;以及
通过网络向所述移动通信设备(102)提供与所述将来位置相关的内容的内容服务器(124);以及
可由所述移动通信设备(102)访问的、关于所述移动通信设备(102)的当前位置信息源(116)。
9.如权利要求8所述的基于位置的高速缓存系统(100),其特征在于:
所述移动通信设备(102)还包括用户界面(824、826);以及
所述当前位置信息源包括由用户经由所述用户界面(824、826)输入到所述移动通信设备(102)中的数据。
10.如权利要求8所述的基于位置的高速缓存系统,其特征在于:
所述移动通信设备(102)还包括用户界面(824、826);以及
与所述将来位置有关的所述内容经由所述用户界面(824、826)呈现给用户。
11.如权利要求10所述的基于位置的高速缓存系统,其特征在于,所述内容是地图(202),而所述用户界面是可视显示(826)。
12.如权利要求8所述的基于位置的高速缓存系统(100),其特征在于:
所述当前位置信息源包括全球定位系统服务(116);以及
所述移动通信设备(102)还包括全球定位系统接收机。
13.如权利要求8所述的基于位置的高速缓存系统(100),其特征在于:
所述当前位置信息源包括通信信号(118、120)的集合;以及
所述移动通信设备(102)中的位置确定模块(104)适用于基于所述通信信号(118、120)的集合对所述移动通信设备(102)的当前位置进行三角测量。
14.一种提供基于位置的高速缓存功能的移动通信设备(102),包括:
确定所述移动通信设备(102)的当前位置的位置确定模块(104);
确定所述移动通信设备的移动方向并估计所述移动通信设备(102)的将来位置的方向估计器模块(106);
储存与所述将来位置相关的内容的内容容器(110);
提供到所述移动通信设备(102)的网络连通性的连接管理模块(114);以及
高速缓存模块(108),其中
当所述与所述将来位置相关的内容当前储存在所述内容容器中时,所述高速缓存模块从所述内容容器(110)检索与所述将来位置相关的内容,当所述与所述将来位置相关的内容当前未储存在所述内容容器中时,所述高速缓存模块经由所述连接管理模块从所述移动通信设备外部的替换内容源下载所述与所述将来位置相关的内容,其中所述与所述将来位置相关的内容中的细节水平是由所述高速缓存模块基于所述移动通信设备的移动速度来确定的;以及
确定在所述内容容器中用于储存地图和其它内容的可用存储空间是否正在减少;当确定用于储存地图和其它内容的可用存储空间正在减少时,将当前储存在所述内容容器中的地图和其它内容与当前位置作比较;删除当前储存在所述内容容器中的、与移动通信设备的将来位置相距最远的一部分内容;以及将所下载的内容储存在所述内容容器中。
15.如权利要求14所述的移动通信设备(102),其特征在于,还包括向用户呈现与所述将来位置相关的所述内容的用户界面(824、826)。
16.如权利要求15所述的移动通信设备,其特征在于,所述用户界面包括可视显示(826)。
17.如权利要求14所述的移动通信设备(102),其特征在于,所述位置确定模块(104)适用于基于通信信号(118、120)的集合对所述移动通信设备(102)的当前位置进行三角测量。
CN200780009364.4A 2006-03-15 2007-02-13 用于移动设备的基于位置的高速缓存 Active CN101405572B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/375,995 US7519470B2 (en) 2006-03-15 2006-03-15 Location-based caching for mobile devices
US11/375,995 2006-03-15
PCT/US2007/003704 WO2007108869A1 (en) 2006-03-15 2007-02-13 Location-based caching for mobile devices

Publications (2)

Publication Number Publication Date
CN101405572A CN101405572A (zh) 2009-04-08
CN101405572B true CN101405572B (zh) 2015-11-25

Family

ID=38518965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780009364.4A Active CN101405572B (zh) 2006-03-15 2007-02-13 用于移动设备的基于位置的高速缓存

Country Status (6)

Country Link
US (1) US7519470B2 (zh)
EP (1) EP1999977B1 (zh)
KR (1) KR101429298B1 (zh)
CN (1) CN101405572B (zh)
ES (1) ES2628208T3 (zh)
WO (1) WO2007108869A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107450860A (zh) * 2017-08-15 2017-12-08 湖南安存科技有限公司 一种基于分布式存储的地图文件预读方法

Families Citing this family (260)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
WO2006068003A1 (ja) * 2004-12-24 2006-06-29 Masahiro Izutsu 携帯情報通信装置、携帯情報通信装置用接続ユニット及び携帯情報通信装置用外部入出力ユニット
US20060143080A1 (en) * 2004-12-29 2006-06-29 Ashutosh Garg Generating and/or serving dynamic promotional offers such as coupons and advertisements
US9041744B2 (en) * 2005-07-14 2015-05-26 Telecommunication Systems, Inc. Tiled map display on a wireless device
US7634354B2 (en) * 2005-08-31 2009-12-15 Microsoft Corporation Location signposting and orientation
US7649534B2 (en) * 2006-02-01 2010-01-19 Microsoft Corporation Design of arbitrary linear and non-linear maps
DE602006020016D1 (de) * 2006-03-31 2011-03-24 Research In Motion Ltd Verfahren und System zur Verteilung von kartographischen Inhalt an mobile Kommunikationsvorrichtungen
EP2013837A4 (en) * 2006-05-02 2011-04-13 1020 Inc INFORMATION MANAGEMENT RELATING TO LOCATION
US9507778B2 (en) 2006-05-19 2016-11-29 Yahoo! Inc. Summarization of media object collections
US20080045149A1 (en) * 2006-05-26 2008-02-21 Dinesh Dharmaraju Wireless architecture for a traditional wire-based protocol
US9198084B2 (en) * 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
WO2008006077A2 (en) 2006-07-07 2008-01-10 Skyhook Wireless Inc. Systems and methods of gathering information from wlan- enabled access points to estimate position of a wlan positioning device
US8577328B2 (en) 2006-08-21 2013-11-05 Telecommunication Systems, Inc. Associating metro street address guide (MSAG) validated addresses with geographic map data
US8612437B2 (en) * 2006-08-28 2013-12-17 Blackberry Limited System and method for location-based searches and advertising
US8280395B2 (en) * 2006-08-28 2012-10-02 Dash Navigation, Inc. System and method for updating information using limited bandwidth
US20080059424A1 (en) * 2006-08-28 2008-03-06 Assimakis Tzamaloukas System and method for locating-based searches and advertising
US8594702B2 (en) 2006-11-06 2013-11-26 Yahoo! Inc. Context server for associating information based on context
US7856234B2 (en) 2006-11-07 2010-12-21 Skyhook Wireless, Inc. System and method for estimating positioning error within a WLAN-based positioning system
US8402356B2 (en) 2006-11-22 2013-03-19 Yahoo! Inc. Methods, systems and apparatus for delivery of media
US9110903B2 (en) 2006-11-22 2015-08-18 Yahoo! Inc. Method, system and apparatus for using user profile electronic device data in media delivery
US11496598B2 (en) * 2006-12-11 2022-11-08 International Business Machines Corporation Caching data at network processing nodes based on device location
US8769099B2 (en) * 2006-12-28 2014-07-01 Yahoo! Inc. Methods and systems for pre-caching information on a mobile computing device
JP5305598B2 (ja) * 2007-02-13 2013-10-02 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置
US9222797B2 (en) * 2007-04-17 2015-12-29 Esther Abramovich Ettinger Device, system and method of contact-based routing and guidance
WO2008131448A1 (en) * 2007-04-23 2008-10-30 1020, Inc. Content allocation
US8645143B2 (en) * 2007-05-01 2014-02-04 Sensory, Inc. Systems and methods of performing speech recognition using global positioning (GPS) information
US8108144B2 (en) 2007-06-28 2012-01-31 Apple Inc. Location based tracking
US9109904B2 (en) 2007-06-28 2015-08-18 Apple Inc. Integration of map services and user applications in a mobile device
US9066199B2 (en) 2007-06-28 2015-06-23 Apple Inc. Location-aware mobile device
US8385946B2 (en) 2007-06-28 2013-02-26 Apple Inc. Disfavored route progressions or locations
KR101373008B1 (ko) * 2007-07-02 2014-03-14 삼성전자주식회사 콘텐츠를 공유하기 위한 무선 단말 장치, 서버 및 그 방법
US8667144B2 (en) * 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
US8555282B1 (en) * 2007-07-27 2013-10-08 Dp Technologies, Inc. Optimizing preemptive operating system with motion sensing
ITMI20071607A1 (it) * 2007-08-03 2009-02-04 Incard Sa Metodo per accedere a contenuti multimediali associati a un' area geografica.
KR20090020387A (ko) * 2007-08-23 2009-02-26 삼성전자주식회사 네비게이션 장치에서 이동체의 최적경로를 표시하는 방법및 장치
US8234677B2 (en) * 2007-09-04 2012-07-31 International Business Machines Corporation Method and system for selecting and broadcasting audio/video content based on location
US8862710B2 (en) 2007-09-11 2014-10-14 Telecommunication Systems, Inc. Dynamic configuration of mobile station location services
DE102007046284A1 (de) * 2007-09-27 2009-04-09 Siemens Ag Verfahren zur Darstellung eines Plans auf einem mobilen Endgerät zu Navigationszwecken
US9031939B2 (en) * 2007-10-03 2015-05-12 Peter Neal Nissen Media sequencing method to provide location-relevant entertainment
US8099238B2 (en) 2007-11-14 2012-01-17 Telecommunication Systems, Inc. Stateful, double-buffered dynamic navigation voice prompting
US20090149192A1 (en) * 2007-12-05 2009-06-11 Sandra Vargas Device Locate Service
US8069142B2 (en) 2007-12-06 2011-11-29 Yahoo! Inc. System and method for synchronizing data on a network
US8671154B2 (en) 2007-12-10 2014-03-11 Yahoo! Inc. System and method for contextual addressing of communications on a network
US8307029B2 (en) 2007-12-10 2012-11-06 Yahoo! Inc. System and method for conditional delivery of messages
US8166168B2 (en) 2007-12-17 2012-04-24 Yahoo! Inc. System and method for disambiguating non-unique identifiers using information obtained from disparate communication channels
WO2009080065A1 (en) * 2007-12-20 2009-07-02 Tom Tom International B.V. Improved navigation device and method
KR100907613B1 (ko) * 2007-12-26 2009-07-14 에스케이 텔레콤주식회사 부가콘텐츠를 제공하는 콘텐츠 제공 서버, 시스템 및 방법
US8521430B2 (en) 2007-12-28 2013-08-27 Navteq B.V. Managing differences between geographic database versions
US9706345B2 (en) 2008-01-04 2017-07-11 Excalibur Ip, Llc Interest mapping system
US9626685B2 (en) 2008-01-04 2017-04-18 Excalibur Ip, Llc Systems and methods of mapping attention
US8762285B2 (en) 2008-01-06 2014-06-24 Yahoo! Inc. System and method for message clustering
US20090177393A1 (en) * 2008-01-07 2009-07-09 Simone Francine Tertoolen Navigation device and method
US20090182618A1 (en) 2008-01-16 2009-07-16 Yahoo! Inc. System and Method for Word-of-Mouth Advertising
US8206222B2 (en) 2008-01-29 2012-06-26 Gary Stephen Shuster Entertainment system for performing human intelligence tasks
US8560390B2 (en) 2008-03-03 2013-10-15 Yahoo! Inc. Method and apparatus for social network marketing with brand referral
US8538811B2 (en) 2008-03-03 2013-09-17 Yahoo! Inc. Method and apparatus for social network marketing with advocate referral
US8554623B2 (en) 2008-03-03 2013-10-08 Yahoo! Inc. Method and apparatus for social network marketing with consumer referral
US8745133B2 (en) 2008-03-28 2014-06-03 Yahoo! Inc. System and method for optimizing the storage of data
US8589486B2 (en) 2008-03-28 2013-11-19 Yahoo! Inc. System and method for addressing communications
US8271506B2 (en) 2008-03-31 2012-09-18 Yahoo! Inc. System and method for modeling relationships between entities
US8811294B2 (en) * 2008-04-04 2014-08-19 Qualcomm Incorporated Apparatus and methods for establishing client-host associations within a wireless network
US8428869B2 (en) * 2008-04-07 2013-04-23 Telecommunication Systems, Inc. Context enabled address selection
EP2120014B1 (en) 2008-05-09 2012-04-18 Research In Motion Limited Predictive downloading of map data
US9250092B2 (en) * 2008-05-12 2016-02-02 Apple Inc. Map service with network-based query for search
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
US9200901B2 (en) 2008-06-19 2015-12-01 Microsoft Technology Licensing, Llc Predictive services for devices supporting dynamic direction information
US20100009662A1 (en) 2008-06-20 2010-01-14 Microsoft Corporation Delaying interaction with points of interest discovered based on directional device information
US8996332B2 (en) 2008-06-24 2015-03-31 Dp Technologies, Inc. Program setting adjustments based on activity identification
US8103441B2 (en) 2008-06-26 2012-01-24 Microsoft Corporation Caching navigation content for intermittently connected devices
US8706406B2 (en) 2008-06-27 2014-04-22 Yahoo! Inc. System and method for determination and display of personalized distance
US8813107B2 (en) 2008-06-27 2014-08-19 Yahoo! Inc. System and method for location based media delivery
US8452855B2 (en) 2008-06-27 2013-05-28 Yahoo! Inc. System and method for presentation of media related to a context
US8086700B2 (en) 2008-07-29 2011-12-27 Yahoo! Inc. Region and duration uniform resource identifiers (URI) for media objects
US10230803B2 (en) 2008-07-30 2019-03-12 Excalibur Ip, Llc System and method for improved mapping and routing
US8583668B2 (en) 2008-07-30 2013-11-12 Yahoo! Inc. System and method for context enhanced mapping
US8386506B2 (en) 2008-08-21 2013-02-26 Yahoo! Inc. System and method for context enhanced messaging
US8281027B2 (en) 2008-09-19 2012-10-02 Yahoo! Inc. System and method for distributing media related to a location
US20100076680A1 (en) * 2008-09-24 2010-03-25 Xanavi Informatics Corporation Vehicle navigation system with intersection database
US9600484B2 (en) 2008-09-30 2017-03-21 Excalibur Ip, Llc System and method for reporting and analysis of media consumption data
US8108778B2 (en) 2008-09-30 2012-01-31 Yahoo! Inc. System and method for context enhanced mapping within a user interface
US9159238B2 (en) * 2008-10-02 2015-10-13 Microsoft Technology Licensing, LLP Location-aware selection of public transportation
EP2338028A4 (en) 2008-10-06 2012-11-14 Telecomm Systems Inc PROBABILISTIC REVERSE GEOCODING
US8594627B2 (en) 2008-10-06 2013-11-26 Telecommunications Systems, Inc. Remotely provisioned wirelessly proxy
US9200913B2 (en) * 2008-10-07 2015-12-01 Telecommunication Systems, Inc. User interface for predictive traffic
US20100094550A1 (en) * 2008-10-07 2010-04-15 Kevin Tsurutome User interface for dynamic user-defined stopovers during guided naviation ('side trips")
US9285239B2 (en) * 2008-10-07 2016-03-15 Telecommunication Systems, Inc. User interface for content channel HUD (heads-up display) and channel sets for location-based maps
US20100088018A1 (en) * 2008-10-08 2010-04-08 Kevin Tsurutome Glance ahead navigation
CN101726304A (zh) * 2008-10-10 2010-06-09 深圳富泰宏精密工业有限公司 导航图资下载系统及方法
US20100121563A1 (en) * 2008-11-07 2010-05-13 International Business Machines Corporation Real-time personal device transit information presentment
US8156068B2 (en) * 2008-11-13 2012-04-10 Telecommunication Systems, Inc. Predictive ephemeral points-of-interest (PEPOI)
US9805123B2 (en) 2008-11-18 2017-10-31 Excalibur Ip, Llc System and method for data privacy in URL based context queries
US8032508B2 (en) 2008-11-18 2011-10-04 Yahoo! Inc. System and method for URL based query for retrieving data related to a context
US8024317B2 (en) 2008-11-18 2011-09-20 Yahoo! Inc. System and method for deriving income from URL based context queries
US8060492B2 (en) 2008-11-18 2011-11-15 Yahoo! Inc. System and method for generation of URL based context queries
US9224172B2 (en) 2008-12-02 2015-12-29 Yahoo! Inc. Customizable content for distribution in social networks
US8055675B2 (en) 2008-12-05 2011-11-08 Yahoo! Inc. System and method for context based query augmentation
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
GB2466225B (en) 2008-12-15 2013-10-02 King S College London Inter-access network handover
US8166016B2 (en) 2008-12-19 2012-04-24 Yahoo! Inc. System and method for automated service recommendations
TW201024675A (en) * 2008-12-23 2010-07-01 Mitac Int Corp Electronic map update system and method thereof
US8391895B2 (en) * 2008-12-23 2013-03-05 Motorola Mobility Llc Method and apparatus for providing location-based information
US20100185518A1 (en) * 2009-01-21 2010-07-22 Yahoo! Inc. Interest-based activity marketing
US20100205321A1 (en) * 2009-02-12 2010-08-12 Qualcomm Incorporated Negotiable and adaptable periodic link status monitoring
US8102849B2 (en) 2009-02-12 2012-01-24 Qualcomm, Incorporated Association procedure to enable multiple multicast streams
WO2010095264A1 (ja) * 2009-02-23 2010-08-26 パイオニア株式会社 コンテンツ送信装置、コンテンツ出力システム、送信制御方法、送信制御プログラムおよび記録媒体
US20100241987A1 (en) * 2009-03-19 2010-09-23 Microsoft Corporation Tear-Drop Way-Finding User Interfaces
US20100241999A1 (en) * 2009-03-19 2010-09-23 Microsoft Corporation Canvas Manipulation Using 3D Spatial Gestures
US8121640B2 (en) 2009-03-19 2012-02-21 Microsoft Corporation Dual module portable devices
US8849570B2 (en) * 2009-03-19 2014-09-30 Microsoft Corporation Projected way-finding
US8150967B2 (en) 2009-03-24 2012-04-03 Yahoo! Inc. System and method for verified presence tracking
US8433296B2 (en) 2009-05-01 2013-04-30 Ryan Hardin Exclusive delivery of content within geographic areas
US8903653B2 (en) * 2009-06-23 2014-12-02 Uniloc Luxembourg S.A. System and method for locating network nodes
US9264248B2 (en) * 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US8872767B2 (en) 2009-07-07 2014-10-28 Microsoft Corporation System and method for converting gestures into digital graffiti
US8022877B2 (en) 2009-07-16 2011-09-20 Skyhook Wireless, Inc. Systems and methods for using a satellite positioning system to detect moved WLAN access points
US8838080B2 (en) * 2009-07-23 2014-09-16 Qualcomm Incorporated Methods and apparatus for context-based communications through visualization
WO2011010642A1 (ja) * 2009-07-23 2011-01-27 日本電気株式会社 ソフトウェア出力先処理端末、システム、方法、及びそのプログラム
US9104695B1 (en) 2009-07-27 2015-08-11 Palantir Technologies, Inc. Geotagging structured data
US20110029670A1 (en) * 2009-07-31 2011-02-03 Microsoft Corporation Adapting pushed content delivery based on predictiveness
US10223701B2 (en) 2009-08-06 2019-03-05 Excalibur Ip, Llc System and method for verified monetization of commercial campaigns
US8914342B2 (en) 2009-08-12 2014-12-16 Yahoo! Inc. Personal data platform
US8364611B2 (en) 2009-08-13 2013-01-29 Yahoo! Inc. System and method for precaching information on a mobile device
US20110105084A1 (en) * 2009-10-30 2011-05-05 Openwave Systems, Inc. Back-channeled packeted data
KR101055665B1 (ko) * 2009-11-06 2011-08-09 국방과학연구소 네트워크 기반 훈련을 위한 함정전투체계의 훈련시스템 및 그 운용방법
US9582238B2 (en) * 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
US8564596B2 (en) * 2010-01-12 2013-10-22 Palantir Technologies, Inc. Techniques for density mapping
US9157745B2 (en) * 2010-01-14 2015-10-13 Qualcomm Incorporated Scalable routing for mobile station navigation with location context identifier
US8356049B2 (en) * 2010-02-26 2013-01-15 Panasonic Corporation Landmark search apparatus, electronic apparatus and imaging apparatus having the same, and landmark search method
CN102792330A (zh) * 2010-03-16 2012-11-21 日本电气株式会社 兴趣度测量系统,兴趣度测量装置,兴趣度测量方法和兴趣度测量程序
DE102010012153A1 (de) * 2010-03-20 2011-09-22 Audi Ag Fahrzeug mit zumindest zwei Einzelradantriebseinheit
US8606297B1 (en) 2010-03-24 2013-12-10 Grindr LLC Systems and methods for providing location-based cascading displays
EP2388746A1 (en) * 2010-05-20 2011-11-23 Research In Motion Limited Pre-caching location based advertising for repeated out of coverage scenarios based on commuter or regular travel patterns
US20110288936A1 (en) * 2010-05-20 2011-11-24 Research In Motion Limited Pre-Caching Location Based Advertising for Repeated Out Of Coverage Scenarios Based On Commuter or Regular Travel Patterns
US8694252B2 (en) * 2010-06-02 2014-04-08 Mitac International Corp. Personal navigation device which provides portable electronic map and related navigating method
CN101895574B (zh) * 2010-07-09 2012-12-19 苏州市数字城市工程研究中心有限公司 一种空间信息网络动态自主加载技术方案和系统
US9275542B2 (en) * 2010-07-30 2016-03-01 Hewlett Packard Enterprise Development Lp Location-indexed audio content
CN102346822B (zh) * 2010-08-06 2015-02-25 爱国者电子科技有限公司 可追踪的移动存储装置、系统和追踪方法
US8498817B1 (en) 2010-09-17 2013-07-30 Amazon Technologies, Inc. Predicting location of a mobile user
FR2965065A1 (fr) * 2010-09-21 2012-03-23 Third Millennium Marketing Systeme et procede de localisation geographique en zone d'ombre
US8788762B2 (en) * 2010-09-30 2014-07-22 Nokia Corporation Methods and apparatuses for data resource provision
US20130253831A1 (en) * 2010-11-30 2013-09-26 Niels L. Langendorff Navigation Methods and Systems
US8319679B2 (en) * 2010-12-16 2012-11-27 Honeywell International Inc. Systems and methods for predicting locations of weather relative to an aircraft
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
JP6032692B2 (ja) * 2011-01-26 2016-11-30 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理システムの制御方法、プログラム及び情報記憶媒体
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
ES2401228B1 (es) * 2011-03-01 2014-05-05 Telefónica, S.A. Método para localización móvil en una red inalámbrica que ofrece servicios basados en localización
KR20120105606A (ko) * 2011-03-11 2012-09-26 경희대학교 산학협력단 사용자 검색 포트폴리오와 현실공간 위치에 기반한 서비스/재화 모니터링 및 푸쉬 서비스 시스템과 그 방법
US8948794B2 (en) 2011-03-14 2015-02-03 Nokia Corporation Methods and apparatuses for facilitating provision of a map resource
JP5821239B2 (ja) * 2011-03-31 2015-11-24 日本電気株式会社 携帯装置、アプリケーション起動方法、およびプログラム
US20140032702A1 (en) * 2011-04-22 2014-01-30 Nec Corporation Content distribution system, control apparatus, and content distribution method
US20120295632A1 (en) * 2011-05-18 2012-11-22 Sony Ericsson Mobile Communications Ab Indoor map distribution
US8886743B2 (en) 2011-08-30 2014-11-11 Open Text S.A. System and method of browsing offline and queried content
US8280414B1 (en) * 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US10341693B2 (en) 2011-10-04 2019-07-02 International Business Machines Corporation Pre-emptive content caching in mobile networks
US8706413B2 (en) * 2011-10-17 2014-04-22 Qualcomm Incorporated Determining a likelihood of a directional transition at a junction in an encoded routability graph description
US10637820B2 (en) 2011-10-21 2020-04-28 Uniloc 2017 Llc Local area social networking
US9063951B1 (en) * 2011-11-16 2015-06-23 Google Inc. Pre-fetching map data based on a tile budget
KR101822622B1 (ko) * 2011-12-12 2018-01-26 현대엠엔소프트 주식회사 실내외 경로가 연계된 목적지 탐색 방법 및 사용자 단말
TWI426236B (zh) * 2011-12-16 2014-02-11 Univ Nat Chiao Tung 高複雜度運輸地圖在有限空間中之顯像方法
ITTO20111243A1 (it) * 2011-12-30 2013-07-01 Magneti Marelli Spa Sistema e procedimento per la stima del percorso stradale piu'probabile per un veicolo in marcia
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US9144008B2 (en) 2012-01-15 2015-09-22 Google Inc. Providing hotspots to user devices within server-controlled zones
JP2015509630A (ja) * 2012-02-24 2015-03-30 エルジー エレクトロニクス インコーポレイティド 位置ベースの無要求ダウンロード方法、装置及びシステム
WO2013126072A1 (en) 2012-02-24 2013-08-29 Empire Technology Development Llc Geolocation-based load balancing
US20130252636A1 (en) * 2012-03-21 2013-09-26 John Chang Hot Spot Detection
US9369845B2 (en) 2012-03-23 2016-06-14 Skyhook Wireless, Inc. Methods and systems of assigning estimated positions and attributes to wireless access points in a positioning system
US9081079B2 (en) 2012-05-02 2015-07-14 Qualcomm Incorporated Adaptive updating of indoor navigation assistance data for use by a mobile device
US20130318182A1 (en) * 2012-05-25 2013-11-28 Prasasth Reddy Palnati Targeted location-based messaging
US9769604B2 (en) * 2012-08-22 2017-09-19 Ebay Inc. Passive dynamic geofencing for mobile devices
US9691088B2 (en) 2012-08-24 2017-06-27 Google Inc. Ordering ahead with a mobile device
US9058324B2 (en) * 2012-09-28 2015-06-16 Intel Corporation Predictive precaching of data based on context
US9124795B2 (en) * 2012-10-26 2015-09-01 Nokia Technologies Oy Method and apparatus for obtaining an image associated with a location of a mobile terminal
US9104838B2 (en) 2012-11-14 2015-08-11 Google Inc. Client token storage for cross-site request forgery protection
JP5276746B1 (ja) * 2012-11-21 2013-08-28 オーシャンズ株式会社 地図を利用した情報共有システム
US20140172571A1 (en) * 2012-12-19 2014-06-19 Google Inc. Selecting content items based on geopositioning samples
US9501507B1 (en) 2012-12-27 2016-11-22 Palantir Technologies Inc. Geo-temporal indexing and searching
AU2013100243B4 (en) 2012-12-28 2013-09-26 Uniloc Usa, Inc. Pedestrian traffic monitoring and analysis
US9380431B1 (en) 2013-01-31 2016-06-28 Palantir Technologies, Inc. Use of teams in a mobile application
US9330471B2 (en) * 2013-02-14 2016-05-03 Qualcomm Incorporated Camera aided motion direction and speed estimation
US20140248908A1 (en) 2013-03-01 2014-09-04 Uniloc Luxembourg S.A. Pedestrian traffic monitoring and analysis
US9341479B2 (en) 2013-03-05 2016-05-17 Google Inc. Configurable point of interest alerts
US8930897B2 (en) 2013-03-15 2015-01-06 Palantir Technologies Inc. Data integration tool
US9121719B2 (en) * 2013-03-15 2015-09-01 Abalta Technologies, Inc. Vehicle range projection
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9906608B2 (en) 2013-04-30 2018-02-27 International Business Machines Corporation Intelligent adaptation of mobile applications based on constraints and contexts
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
US8755824B1 (en) 2013-06-28 2014-06-17 Google Inc. Clustering geofence-based alerts for mobile devices
US9417777B2 (en) * 2013-07-09 2016-08-16 Google Inc. Enabling quick display transitions between indoor and outdoor map data
EP2851833B1 (en) * 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
US10116697B2 (en) 2013-09-20 2018-10-30 Open Text Sa Ulc System and method for geofencing
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US8924872B1 (en) 2013-10-18 2014-12-30 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US9021384B1 (en) 2013-11-04 2015-04-28 Palantir Technologies Inc. Interactive vehicle information map
US8868537B1 (en) 2013-11-11 2014-10-21 Palantir Technologies, Inc. Simple web search
US9432478B2 (en) 2013-11-27 2016-08-30 At&T Intellectual Property I, L.P. Client-side location aware network selection
CN104811423B (zh) * 2014-01-24 2019-03-01 腾讯科技(深圳)有限公司 位置信息的共享方法和装置
US9986375B2 (en) 2014-02-12 2018-05-29 Google Llc Energy-efficient location determination
DE102015203261A1 (de) * 2014-03-03 2015-09-03 Apple Inc. Kartenanwendung mit verbesserten Navigationswerkzeugen
US10113879B2 (en) 2014-03-03 2018-10-30 Apple Inc. Hierarchy of tools for navigation
US9727376B1 (en) 2014-03-04 2017-08-08 Palantir Technologies, Inc. Mobile tasks
US9436584B2 (en) * 2014-03-13 2016-09-06 Ronnie Guha Guha SaaS platform for geo-location simulation
US9078098B1 (en) 2014-06-04 2015-07-07 Grandios Technologies, Llc Geo-fencing based functions
US9516467B1 (en) * 2014-06-04 2016-12-06 Grandios Technologies, Llc Mobile device applications associated with geo-locations
US20150370903A1 (en) * 2014-06-23 2015-12-24 Google Inc. Delivering Personalized Information
US9129219B1 (en) 2014-06-30 2015-09-08 Palantir Technologies, Inc. Crime risk forecasting
KR102428319B1 (ko) * 2014-12-24 2022-08-02 주식회사 케이티 고객 정보 제공 방법, 장치 및 컴퓨터 프로그램
US10372879B2 (en) 2014-12-31 2019-08-06 Palantir Technologies Inc. Medical claims lead summary report generation
EP3070622A1 (en) 2015-03-16 2016-09-21 Palantir Technologies, Inc. Interactive user interfaces for location-based data analysis
US9344114B1 (en) * 2015-05-11 2016-05-17 Qualcomm Incorporated Compressed caching in a virtual memory system
US9460175B1 (en) 2015-06-03 2016-10-04 Palantir Technologies Inc. Server implemented geographic information system with graphical interface
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9639580B1 (en) 2015-09-04 2017-05-02 Palantir Technologies, Inc. Computer-implemented systems and methods for data management and visualization
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US9930134B2 (en) 2015-11-25 2018-03-27 International Business Machines Corporation File replication on location-aware devices
US10109094B2 (en) 2015-12-21 2018-10-23 Palantir Technologies Inc. Interface to index and display geospatial data
WO2017134120A1 (en) * 2016-02-01 2017-08-10 Piksel, Inc Providing recommendations based on predicted context
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
US9992628B2 (en) * 2016-04-21 2018-06-05 Microsoft Technology Licensing, Llc Map downloading based on user's future location
US10299074B2 (en) 2016-05-09 2019-05-21 Microsoft Technology Licensing, Llc Offline map download
US10068199B1 (en) 2016-05-13 2018-09-04 Palantir Technologies Inc. System to catalogue tracking data
US10051426B2 (en) * 2016-07-27 2018-08-14 International Business Machines Corporation Proactive caching
US20180164109A1 (en) * 2016-07-29 2018-06-14 Faraday&Future Inc. Dynamic map pre-loading in vehicles
DE102016214156A1 (de) * 2016-08-01 2018-02-01 Continental Teves Ag & Co. Ohg Verfahren zum Senden von Daten von einem Fahrzeug an einen Server und Verfahren zum Aktualisieren einer Karte
US9686357B1 (en) 2016-08-02 2017-06-20 Palantir Technologies Inc. Mapping content delivery
US10437840B1 (en) 2016-08-19 2019-10-08 Palantir Technologies Inc. Focused probabilistic entity resolution from multiple data sources
JP6343316B2 (ja) * 2016-09-16 2018-06-13 パナソニック株式会社 端末装置、通信システム、および通信制御方法
US10515433B1 (en) 2016-12-13 2019-12-24 Palantir Technologies Inc. Zoom-adaptive data granularity to achieve a flexible high-performance interface for a geospatial mapping system
US10270727B2 (en) 2016-12-20 2019-04-23 Palantir Technologies, Inc. Short message communication within a mobile graphical map
US10460602B1 (en) 2016-12-28 2019-10-29 Palantir Technologies Inc. Interactive vehicle information mapping system
US10579239B1 (en) 2017-03-23 2020-03-03 Palantir Technologies Inc. Systems and methods for production and display of dynamically linked slide presentations
US10895946B2 (en) 2017-05-30 2021-01-19 Palantir Technologies Inc. Systems and methods for using tiled data
US11334216B2 (en) 2017-05-30 2022-05-17 Palantir Technologies Inc. Systems and methods for visually presenting geospatial information
US10403011B1 (en) 2017-07-18 2019-09-03 Palantir Technologies Inc. Passing system with an interactive user interface
CN110692075A (zh) * 2017-11-09 2020-01-14 谷歌有限责任公司 按需位置访问转换度量
CN107889053B (zh) * 2017-11-10 2019-10-11 南京大学 一种基于网络环境预测的视频预加载方法
US10371537B1 (en) 2017-11-29 2019-08-06 Palantir Technologies Inc. Systems and methods for flexible route planning
US11599706B1 (en) 2017-12-06 2023-03-07 Palantir Technologies Inc. Systems and methods for providing a view of geospatial information
US10698756B1 (en) 2017-12-15 2020-06-30 Palantir Technologies Inc. Linking related events for various devices and services in computer log files on a centralized server
US10896234B2 (en) 2018-03-29 2021-01-19 Palantir Technologies Inc. Interactive geographical map
US10830599B2 (en) 2018-04-03 2020-11-10 Palantir Technologies Inc. Systems and methods for alternative projections of geographical information
US11585672B1 (en) 2018-04-11 2023-02-21 Palantir Technologies Inc. Three-dimensional representations of routes
US10429197B1 (en) 2018-05-29 2019-10-01 Palantir Technologies Inc. Terrain analysis for automatic route determination
US11044078B2 (en) 2018-09-20 2021-06-22 International Business Machines Corporation Transient management of data encryption and authentication
US10467435B1 (en) 2018-10-24 2019-11-05 Palantir Technologies Inc. Approaches for managing restrictions for middleware applications
US11025672B2 (en) 2018-10-25 2021-06-01 Palantir Technologies Inc. Approaches for securing middleware data access
US11619511B2 (en) * 2019-07-30 2023-04-04 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for local storage based mapping
US11146656B2 (en) * 2019-12-20 2021-10-12 Tealium Inc. Feature activation control and data prefetching with network-connected mobile devices
CN115399000B (zh) * 2020-02-28 2024-01-02 麦奇集团有限责任公司 使用位置信息进行匹配的系统和方法
CN111835833A (zh) * 2020-06-23 2020-10-27 武汉菲奥达物联科技有限公司 一种基于lpwan的场景快速切换方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1366782A (zh) * 2000-02-04 2002-08-28 诺基亚移动电话有限公司 下载地图及定位专用配置信息到具有全球定位系统功能的移动通信终端

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999779B1 (en) * 1997-02-06 2006-02-14 Fujitsu Limited Position information management system
EP1102510A1 (en) 1999-10-12 2001-05-23 Taskin Sakarya Location system for mobile telephones
US6405123B1 (en) * 1999-12-21 2002-06-11 Televigation, Inc. Method and system for an efficient operating environment in a real-time navigation system
US6615131B1 (en) * 1999-12-21 2003-09-02 Televigation, Inc. Method and system for an efficient operating environment in a real-time navigation system
JP3695315B2 (ja) * 2000-11-14 2005-09-14 日産自動車株式会社 車両用表示装置
US7096007B2 (en) 2001-01-09 2006-08-22 Thomson Licensing Mobile communication system having a direct and broadcast link
US6704645B1 (en) * 2001-12-11 2004-03-09 Garmin Ltd. System and method for estimating impedance time through a road network
JP4030366B2 (ja) * 2002-07-01 2008-01-09 シャープ株式会社 携帯電話装置
US7668536B2 (en) * 2002-08-06 2010-02-23 Hewlett-Packard Development Company, L.P. Retrieving media items to a mobile device
JP3669702B2 (ja) * 2003-02-25 2005-07-13 松下電器産業株式会社 アプリケーションプログラムの予測方法及び移動体端末
JP3698716B2 (ja) * 2003-02-25 2005-09-21 松下電器産業株式会社 アプリケーションプログラムの予測方法及び移動体端末
US6943729B2 (en) 2003-10-01 2005-09-13 S5 Wireless, Inc. Method and system for time difference of arrival (TDOA) location services
KR100625217B1 (ko) 2004-07-23 2006-09-20 권용진 모바일 기반의 지리정보 검색 및 조회 시스템
US20060080032A1 (en) * 2004-09-07 2006-04-13 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US7480567B2 (en) * 2004-09-24 2009-01-20 Nokia Corporation Displaying a map having a close known location
US7627425B2 (en) * 2004-11-26 2009-12-01 Microsoft Corporation Location aware mobile-device software development
US20060271286A1 (en) * 2005-05-27 2006-11-30 Outland Research, Llc Image-enhanced vehicle navigation systems and methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1366782A (zh) * 2000-02-04 2002-08-28 诺基亚移动电话有限公司 下载地图及定位专用配置信息到具有全球定位系统功能的移动通信终端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107450860A (zh) * 2017-08-15 2017-12-08 湖南安存科技有限公司 一种基于分布式存储的地图文件预读方法
CN107450860B (zh) * 2017-08-15 2020-05-08 湖南安存科技有限公司 一种基于分布式存储的地图文件预读方法

Also Published As

Publication number Publication date
EP1999977B1 (en) 2017-03-22
KR101429298B1 (ko) 2014-08-11
US7519470B2 (en) 2009-04-14
WO2007108869A1 (en) 2007-09-27
EP1999977A1 (en) 2008-12-10
EP1999977A4 (en) 2013-08-07
US20070219708A1 (en) 2007-09-20
CN101405572A (zh) 2009-04-08
ES2628208T3 (es) 2017-08-02
KR20080110593A (ko) 2008-12-18

Similar Documents

Publication Publication Date Title
CN101405572B (zh) 用于移动设备的基于位置的高速缓存
CN1779682B (zh) 用于知晓位置的应用程序的系统和方法
Steiniger et al. Foundations of location based services
Arikawa et al. Navitime: Supporting pedestrian navigation in the real world
US20060293850A1 (en) Method for providing navigation service by using mobile station based global positioning system and mobile communication terminal and system using the same
CN102227611A (zh) 用于提供指示制图应用中上下文数据的光标的方法、装置和计算机程序产品
CN103456233A (zh) 一种基于电子地图查找兴趣点的方法和系统
Gartner et al. Location based services and telecartography
Jana et al. An event-driven university campus navigation system on android platform
Hawking et al. Emerging issues in location based tourism systems
Raper Design constraints on operational LBS
WO2021136378A1 (zh) 处理导航信息的方法及装置
US20090222587A1 (en) Providing location path
Deidda et al. A tourist location based service (lbs) for the Cagliari city
Chang et al. Location-aware mobile transportation information service
Li et al. Mobile geographic information systems
KR20180042617A (ko) 스마트 투어 서비스 방법 및 장치
Álvarez et al. Ontheway: a prediction system for spatial locations
Sahane et al. IoT based Vehicle Tracking using GPS
KR100379681B1 (ko) 인공위성을 이용한 위치추적 정보 제공시스템 및 그에따른 방법
KR100691949B1 (ko) 이동 단말기를 이용한 지도 서비스 제공 방법 및 그 시스템
KR20190019985A (ko) 스마트 투어 서비스 방법 및 장치
Álvarez et al. ¿ Where Do We go? OnTheWay: A Prediction System for Spatial Locations.
Sharma et al. Mobile technologies and Tourism
Elleithy et al. Implementations of location awareness technologies and their applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150722

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant