提供路线推荐的制作方法

文档序号:17383161发布日期:2019-04-12 23:59阅读:177来源:国知局
提供路线推荐的制作方法

本申请属于申请日为2013年6月18日的中国发明专利申请no.201380043965.2的分案申请。

相关申请的交叉引用

本申请要求于2012年6月25日提交的题为providingrouterecommendations的美国申请序列号13/532259的优先权,其公开通过引用结合于此。

本公开总体上描述了在移动计算设备上提供路线推荐。



背景技术:

移动计算设备(例如,智能电话、平板电脑、个人数字助理(pda))已经被配置为向用户提供导航信息。例如,移动计算设备已经被配置为提供从第一地理地址到第二地理地址的驾驶方向。这样的设备可以包括全球定位系统(gps)功能,其提供诸如纬度和经度信息之类的全球定位信息,该信息能够指示移动计算设备的当前地理位置。移动计算设备的全球定位信息能够被该移动计算设备和/或后端计算机系统(例如,云计算系统)用来提供从移动计算设备的当前地理位置到所期望的目的地位置的驾驶方向。



技术实现要素:

本公开描述了一种在移动计算设备(例如,蜂窝电话、智能电话、pda、便携式媒体播放器等)上提供路线推荐。路线推荐可以包括用于从起始地理位置前往一个或多个目的地地理位置的指示。路线推荐可以基于各种因素来提供,诸如移动计算设备的当前情境(例如,当前地理位置、一天中的时间、一周中的某天)和/或移动计算设备外部的事件(例如,交通拥堵)之类的各种因素来提供。

例如,如果移动计算设备被识别为在工作日(周一至周五)的早上位于用户家中,则能够确定用户可能马上要前往其工作地点。该工作位置能够用作用户和移动计算设备会马上要行进前往的可能目的地。能够识别出用于从用户的家前往用户的工作地点的各条候选路线并且能够基于各种因素而向用户推荐一条或多条候选路线,上述因素诸如关于沿候选路线中的一条或多条是否在未来时间会发生一个或多个外部事件所进行的预测。例如,能够进行指示将沿着候选路线中的一条或多条发生一个或多个外部事件(例如,高峰期交通、可能将导致大量的人离开特定区域的事件结论(例如,体育赛事、音乐会结束),和/或极端天气(例如,雷雨、暴风雪))的可能性的预测的。有关对于用户而言可能不知道或不确定的事件的这种洞悉能够由计算机系统来提供,该计算机系统能够检测和/或估计这样的事件(例如,基于云层覆盖、一天中的时间、一年中的时间和/或道路景观而预测落日刺眼的光芒何时会影响到交通速度)。

在一种实施方式中,一种计算机实施的方法包括在计算机系统获得指示与用户相关联的移动计算设备的行进模式的行进信息;识别该移动计算设备和用户的当前情境,其中该当前情境至少包括该移动计算设备当前所处的当前地理位置;由该计算机系统基于该当前情境和所获得的行进信息识别一个或多个目的地位置,用户至少具有用移动计算设备行进至该一个或多个目的地位置的阈值似然度;生成一个或多个事件至少具有沿着用于从当前地理位置前往所识别的一个或多个目的地位置的多条路线中的一条或多条而发生的阈值概率的预测;由该计算机系统基于该当前情境以及一个或多个事件的预测从该多条路线中选择要向用户进行推荐的特定路线;并且由该计算机系统提供识别所选择的特定路线的路线信息。

这样的计算机实施的方法可以包括以下特征中的一个或多个特征。该当前情境可以包括一天中的当前时间、当前日期以及用户的一个或多个日历事件。该当前情境可以包括关于安装在该移动计算设备上的一个或多个应用的近期用户活动。该一个或多个应用可以从以下所组成的群组中进行选择:电子邮件应用、日历应用、文本应用、语音邮件应用、电话应用和社交网络应用。当前情境可以包括与用户相关联并且被安排在当前时间的阈值时间段内发生的一个或多个事件。该一个或多个事件可以使用该移动计算设备上的通信模式的一个或多个通信模式从与用户相关联的电子日历或者从该用户与其它用户之间的对应性进行识别。指示用户的行进模式的行进信息可以从与用户相关联的用户模型获得。该特定路线可以基于被预测至少在阈值时间量内对沿一条或多条路线的行进有所影响的一个或多个事件而从多条路线中进行选择。识别该特定路线的信息可以在用户不进行提示的情况下被提供。该路线信息能够响应于指示对路线推荐的请求的用户输入而被提供给用户。该计算机系统可以是移动计算设备;并且提供该路线信息可以包括在该移动计算设备上输出该路线信息。在该移动计算设备上输出该路线信息可以包括在该移动计算设备的显示器上显示描绘该特定路线的地图或者显示针对沿该特定路线的行进的文本指示。输出该路线信息可以包括使用该移动计算设备的一个或多个扬声器以可听的方式输出针对沿该特定路线的行进的指示。该计算机系统可以与移动计算设备分离;并且该方法可以进一步包括:在该计算机系统处并且从该移动计算设备接收为该移动计算设备的用户提供路线推荐的请求,其中该请求包括识别该移动计算设备以及该移动计算设备或用户的当前情景的至少一部分的信息;并且其中该路线信息由该计算系统提供至该移动计算设备并且使得该移动计算设备输出描述该特定路线的信息。

在另一种实施方式中,一种移动计算设备包括输入子系统,其被编程为检测该移动计算设备和移动计算设备的用户的当前情境,其中该当前情境至少包括该移动计算设备当前所处的当前地理位置;行程监视单元,其被编程为指示该移动计算设备的行进模式的行进信息;目的地单元,其被编程为基于该当前情境和行进信息识别一个或多个目的地位置,用户至少具有带着移动计算设备行进至该一个或多个目的地位置的阈值似然度;事件预测单元,其被编程为生成一个或多个事件至少具有沿着用于从当前地理位置前往所识别的一个或多个目的地位置的多条路线中的一条或多条而发生的阈值概率的预测;推荐单元,其被编程为基于当前情境以及一个或多个事件的预测从该多条路线中选择要向用户进行推荐的特定路线;和该移动计算设备的输出子系统,其被编程为向移动计算设备的用户输出识别所选择的特定路线的路线信息。

这样的移动计算设备可以包括以下特征中的一个或多个特征。该移动计算设备还可以包括路线单元,其被编程为至少部分基于该目的地单元所识别的一个或多个目的地位置来识别该多条路线。该输出子系统可以包括该移动计算设备的显示器,其被配置为视觉输出该路线信息。该输出子系统可以包括该移动计算设备的扬声器系统,其被配置为以可听的方式输出该路线信息。指示用户的行进模式的行进信息能够从与该用户相关联的用户模型所获得。

在另一种实施方式中,一种实施在存储指令的计算机可读存储设备中的计算机程序产品,当指令被执行时,使得具有一个或多个处理器的计算系统执行以下操作,该操作包括:获得指示与用户相关联的移动计算设备的行进模式的行进信息;识别该移动计算设备和用户的当前情境,其中该当前情境至少包括该移动计算设备当前所处的当前地理位置;基于该当前情境和所获得的行进信息识别一个或多个目的地位置,用户至少具有用移动计算设备行进至该一个或多个目的地位置的阈值似然度;生成一个或多个事件至少具有沿着用于从当前地理位置前往所识别的一个或多个目的地位置的多条路线中的一条或多条而发生的阈值概率的预测;基于该当前情境以及一个或多个事件的预测从该多条路线中选择要向用户进行推荐的特定路线;并且提供识别所选择的特定路线的路线信息。

在附图和以下描述中阐述一个或多个实施例的细节。能够利用某些实施方式实现各种优势。例如,能够主动地向用户提供有帮助的信息而用户并不必请求这样的信息。这能够节省用户必须请求这样的信息的时间并且能够帮助用户在采取行动之前作出更具信息性的决策。例如,与可能影响到用户行进的外部事件的似然度相关的信息能够在适当的时间(例如,在用户已经关于行进路线作出了决策并且已经采取步骤以沿这样的路线行进之前)被提供给用户。能够基于从多个来源所汇总的信息提供洞察和指示,这减少了用户和设备之间的交互,并且减少了用户在作出决策时所要考虑的信息量。该信息还能够在确定用户很可能对这样的信息感兴趣时被提供,这减少了用户干扰以及用户以公式表达针对这样的信息的请求(例如,开启应用并且向应用中输入用于搜索的参数)的需要。用户还能够被提供以他们可能更为喜欢的路线的信息,即使用户并不知道这样的路线,诸如用户可能在度假时所喜欢的景观路线。

在另一个示例中,通过为用户提供非提示的行进推荐,专注于另外的任务(例如,操控机动车、烹饪)的用户能够接收到推荐而并不必提供输入(例如,语音输入),后者会使得用户分心并且可能造成危险。例如,驾驶汽车的用户能够接收到行进推荐而并不必要求这样的推荐,这能够允许用户保持专注驾驶。

在另一个示例中,可能足够提前地确定一些推荐从而为用户提供充足的时间来基于推荐信息作出替换规划。这能够为用户提供各种好处,包括允许用户更为有效地规划他们的活动和时间。例如,如果基于来自数据馈送的得分确定了体育赛事可能结束,则能够对结束的比赛对于交通所产生的影响作出预测。基于该预测,能够向可能受到该交通问题影响的用户提供推荐以进行替换任务,诸如去健身和/或办事从而他们能够延后/等待该交通问题直至一段时间之后。

其它的特征、目标和优势将由于描述、附图以及权利要求而是显而易见的。

附图说明

图1是用于向用户提供路线推荐的示例移动计算设备的概念图。

图2a-b是用于在移动计算设备上提供路线推荐的示例系统的示图。

图3a-b是用于在移动计算设备上提供路线推荐的示例技术的流程图。

图4是可以被用来实施本文中所公开的技术、系统、机制和方法的系统的概念图。

图5是可以作为客户端或者作为一个或多个服务器而被用来实施本文中所描述的系统和方法的计算设备的框图。

同样的附图标记在各图中指示同样的要素。

具体实施方式

本文描述了关于用户行进而向用户提供基于情境的推荐。行进推荐能够基于用户的移动设备(例如,移动电话、智能电话、个人数字助理(pda)、便携式媒体播放器、平板电脑或另外适当类型的移动设备)的当前情境(例如,一天中的时间、地理位置、日历预约)和/或用户行为模式(例如,常规通勤时间和路线、常规用餐时间、历史会面参与等)而在适当的时间被提供给用户。与手动开始应用、搜索所需信息以及熟悉搜索结果相反,用户可以接收到包括被确定为在用户可能对信息加以运用的时候可能与用户相关的信息的自动通知。

与仅向用户提供情境信息相反,来自多个来源的情境信息可以被汇总,并且可以被用来提供洞察力和所推荐的动作。例如,如果特定用户规律地经由汽车前去工作并且规律地在每天早晨8点到达,则用户的移动设备能够基于用户完成其早晨的日常活动一般所需的时间并且基于被确定为可能影响到用户通勤的外部条件(例如,交通、天气、道路封闭)而在最佳时间唤醒用户。在另一个示例中,例如如果正在下雨或者将要下雨,不同于单纯地向用户提供天气报告,移动设备能够确定天气对交通的潜在影响,能够比平时的时间更早地唤醒用户,能够向用户推荐出发前去工作的时间,并且能够向用户推荐带伞。因此,可能影响到用户正常的日常活动的外部事件能够被识别并且能够在数据指示用户应当与正常的日常活动相比有所变动以便避免这样的外部时间所导致的不良后果(诸如时间延误)的时候向用户提供警告。

可以在最佳时间提供被确定为用户可能感兴趣的信息。例如,如果用户当前正在驾驶其车辆并且沿路线发生了事故,则用户的移动设备可以预测出该事故将会影响到用户的行进时间。在当前示例中,用户的移动设备可以确定用户在当前时刻可能对这样的信息很感兴趣,并且因此该设备能够向用户提供变换车道的推荐,并且能够在用户到达事故地点之前向用户呈现替换路线。有关用户在驾车时可能并不感兴趣的外部事件(诸如并非沿用户的路线的道路上的事故)的信息在用户正在驾车的同时能够被抑制,并且能够在后续时间可能变得与用户相关的情况下(诸如如果用户的驾车路线发生变化而包括发生事故的道路的情况下)得以被呈现。

信息可以以适用于用户的当前情境的方式被提供给用户。例如,在用户正在驾车时,用户的移动设备能够提供可听(例如,语音)推荐,诸如路线规划指示。例如,当用户处于静止时,用户的移动设备能够以视觉方式(例如,经由文本、图形、地图等)提供推荐。因此,信息能够以适宜且使得必要的用户交互最少化的形式进行呈现。

这里所讨论的系统可以使用用户所定义的隐私参数内与用户相关的信息。例如,用户可以被提供以选择加入/退出可能使用诸如用户位置信息之类的个人信息的程序的机会。此外,某些数据在其被存储和/或使用之前可以以一种或多种方式被匿名化从而去除个人的识别的数据。

图1是用于向用户提供路线推荐的示例移动计算设备102的概念图100。概念图100提供了移动计算设备102的说明性示例,其确定用户模型,确定用户的当前情境,识别用户可能行进前往的位置,预测可能影响到用户行进的事件,并且向用户提供推荐。

移动计算设备102能够确定与设备用户(110)相关联的用户模型。该用户模型例如能够使用各种数据源(例如,位置历史、搜索历史、日历事项、电子邮件、文本消息、社交网络信息等)生成,并且可以包括用户活动和行进模式。在一些实施方式中,当生成用户模型时,来自一个来源的数据可以被用来对来自另一个来源的噪声进行过滤。例如,用户位置数据可以被用来检查日历数据以识别用户很少和/或频繁参加的常规安排的会面。作为另一个示例,用户位置数据可以结合搜索历史数据使用以识别导致用户对这样的地方进行访问的用户所感兴趣的场所(例如,用户频繁搜索餐厅导致用户前往所浏览的餐厅)。例如,用户模型可以以批量模式和/或实时地生成并维护,并且可以在移动计算设备102、与设备102进行通信的一个或多个服务器或者它们的任意组合上进行维护。

移动计算设备能够确定设备102和/或设备102的用户的当前情境(112)。当前情境可以包括描述移动计算设备102和/或移动计算设备的用户的当前状态和/或周边的信息。例如,当前情境可以包括与移动计算设备102和用户相关的各种信息,诸如有关周边物理环境(例如,地理位置、天气条件、附近商业、周边噪声量、周边光照水平、由移动设备的相机所捕捉的图像等)、移动计算设备102的目前状态(例如,速率、所激活的触摸屏输入、所激活的音频输入、响铃开启/关闭等)、时间和日期信息(例如,一天中的时间、日期、日历预约、一周中的某天等)、用户活动(例如,近期用户活动、习惯性用户活动),等等。当前情境能够由移动计算设备102使用移动计算设备102的本地或和/或远程的数据和传感器来确定。当前情境的至少一部分可以从远离计算设备102的一个或多个其它计算设备获得,上述计算设备诸如提供天气信息的远程计算机系统和/或提供交通信息的远程计算机系统。

如移动设备的示例情境120所指示的,移动计算设备102的当前情境包括时间/日期信息122a、地理位置信息122b、日历信息122c、速率信息122d和行进模式信息122e。在所描绘的示例中,时间/日期信息122a列出了如星期一7:30am的时间,且地理信息122b则指示移动计算设备102当前位于用户家中。日历信息122c指示用户这一天没有所安排的预约而速率信息122d则指示移动计算设备102当前静止(每小时行进0英里)。该行进模式信息122e指示该设备的用户通常在星期一的8:00am到达工作地。

基于该示例情境120,移动计算设备102能够识别出一个或多个位置(130),用户至少具有行进至该一个或多个位置的阈值似然度。在当前示例中,基于时间/日期信息122a(即,当前时间7:30am),地理位置信息122b(即,设备102当前位于用户家中),以及行进模式信息122e(即,设备用户通常在星期一的8:00am到达工作地),移动计算设备102可以确定存在用户意图即将(例如,在接下来5、10、30、60分钟内)前往至其工作地点的高度可能性(至少阈值似然度)。基于日历信息122c(即,没有安排的预约),移动计算设备102可以提高用户即将前往工作的可能性。作为另一种可能,如果日历信息122c已经包括了星期一8:00am的牙科预约,并且移动计算设备102确定用户很少错过这样的预约(例如,基于用户的日历上包括牙科预约时的历史行进模式),设备102可以确定用户有高的似然度(至少阈值似然度)要前往牙科预约的位置。在当前示例中,移动计算设备102确定存在用户即将前往其工作地点的高度可能性(例如,50%、75%、90%、95%、99%或者另一个适当阈值)。

如用于前往至一个或多个目的地位置的示例路线140所指示的,其中移动计算设备102被确定具有至少前往至该一个或多个目的地位置的阈值似然度,移动计算设备102能够识别出用户可以从其当前位置(例如,家中)去往所识别的一个或多个候选目的地(例如,工作地、牙科诊所)的各条路线142a、142b等(131)。在一些实施方式中,所识别的路线可以包括用户在过去已经用来在当前位置和该目的地之间行进的路线。例如,路线142a可以是常规行进路线,而路线142b则可以是偶然使用的替代路线。在一些实施方式中,所识别的路线可以包括由路线规划算法所确定的一条或多条路线。例如,如果用户处于不熟悉的区域,或者如果用户的当前和/或目的地位置并不熟悉,则计算设备102和/或后端系统可以为用户生成可能的路线。

移动计算设备102能够预测出可能对用户前往所识别的目的地位置有所影响的一个或多个外部事件(132),并且能够预测这样的事件可能对于用户的行程所造成的影响(例如,时间损失、不便、行进时间增加的百分比)。例如,路线142a和142b可以是用户已经利用其汽车所采取过的路线。在当前示例中,移动计算设备102可以确定沿路线142a目前正在进行或即将发生的建设,并且该建设将可能导致将对于用户的行进时间具有不利影响(例如,增加5到15分钟的通勤)的交通延误。然而,移动计算设备102可以确定路线142b相对而言没有将在用户前往其目的地时造成延误的情况。

移动计算设备102能够基于用户至少具有前往一个或多个目的地的阈值似然度的一个或多个目的地、用于前往该一个或多个目的地的路线和/或被预测对沿一条或多条路线的行进有所影响的外部事件而向设备用户提供一个或多个路线推荐(150)。例如,当用户离家前往工作时,移动计算设备102能够计算出沿每条路线142a、142b等行进的估计行进时间,并且能够为用户提供采用与最短时间估计相关联的那条路线的推荐。作为另一种可能,移动计算设备102能够连同每条路线的计划目的地到达时间一起提供可能行进路线的列表,这使得用户能够选择其优选路线。作为另一种可能,如果用户习惯于每天采取相同的路线前去工作,则移动计算设备102能够估计沿该路线行进的时间,并且为用户提供在某个时间出发以在优选时间到达其目的地的推荐(例如,“在7:35am出发并且走主街道(mainstreet)以在8:00到达工作地”)。

如示图100中所描绘的,示例路线推荐152在移动计算设备102的显示器上被示出。示例路线推荐152包括有关候选路线142a-b以及可能影响沿路线a142a行进的外部事件(交通)文本和图形信息。如以上所讨论的,移动计算设备102能够以任意的各种适当方式来提供路线推荐,诸如以视觉方式在移动计算设备102的显示器(例如,触摸屏显示器)上提供,以可听方式使用移动计算设备102的一个或多个扬声器提供,和/或通过与移动计算设备102进行通信的另一个计算设备的输出机制提供(例如,在车辆的gps单元和/或音频系统上输出,在电视上输出)。

图2a-b是用于在移动计算设备202上提供路线推荐的示例系统200的示图。类似于以上参考图1所描述的移动计算设备102,移动计算设备202能够被配置为基于与移动计算设备202和/或移动计算设备的用户相关联的当前情境来提供路线推荐。

移动计算设备202可以是任意的各种适当计算设备,诸如智能电话、蜂窝电话、平板计算设备、个人数字助理(pda)、膝上计算机、笔记本和/或gps计算设备。移动计算设备202被描绘为包括输入子系统204,移动计算设备202的用户能够通过输入子系统204向各种应用提供输入,诸如针对web浏览器、搜索引擎、地图应用、日历应用、电子邮件系统等的输入。参考图2b,输入子系统204被描绘为包括扬声器206a(其被配置为接收基于音频的输入)、键盘206b(其被配置为接收基于按键的输入)、触摸屏206c(其被配置为接收基于触摸的输入)、加速计206d(其被配置为接收基于运动的输入)、轨迹球206e(其被配置为接收基于gui指针的输入)、相机206f(其被配置为接收视觉输入)和照明传感器206g(其被配置为接收基于照明强度的输入)。输入子系统204还包括网络接口(例如,无线网络接口、通用串行总线(usb)接口、蓝牙接口、公众交换电话网(pstn)接口、以太网接口、蜂窝网络接口、3g和/或4g网络接口等),其被配置为接收基于网络的输入和输出。并未被提及的其它类型的输入设备也可以是输入子系统204的一部分。

移动设备情境确定单元214能够使用移动计算设备202的各种情境的监视单元来确定移动设备202的当前情境。例如,全球定位系统(gps)单元216能够向移动设备情境确定单元214提供地理位置信息,并且行程监视器单元218(结合行程数据库集220)能够提供与移动计算设备202当前行进的路线以及习惯行进的路线相关的信息。活动监视单元222(结合活动数据库集224)能够提供与在移动设备202上近期或习惯的用户活动(例如,所使用的应用、在各个时间所访问的具体信息等)相关的信息。位置监视器单元226能够提供有关在地理上位于移动设备202的当前地理位置附近的实体(例如,商业、停车场、庆祝活动、公共运输等)的信息。时间和日期单元228能够提供当前的时间和日期信息,并且日历单元230(结合日历数据库集232)能够提供与用户的预约相关的信息。电子邮件单元234(结合电子邮件数据库集236)能够提供电子邮件相关信息(例如,近期所发送/接收的电子邮件)。移动设备情境确定单元214能够接收来自并未被提及或描绘的其它情境监视单元的信息。

在一些实施方式中,移动设备情境确定单元214和/或情境监视单元(例如gps单元216、行程监视器单元218和位置监视器单元226)能够部分或整体地远离移动计算设备202来实施。例如,电子邮件单元234可以是显示由远程服务器系统所维护并提供的电子邮件相关数据的瘦客户端。在这样的示例中,电子邮件单元234能够与远程服务器系统进行交互以获得电子邮件相关信息而提供给移动设备情境确定单元214。

预测单元238能够使用如移动设备情境确定单元214所确定的移动设备202的当前情境以基于各种因素来识别用于向移动计算设备202的用户推荐的路线,上述因素诸如用户行进模式以及可能对用户行程有所影响的可能外部事件。该预测单元包括目的地单元239、路线单元241和外部事件预测单元243。目的地单元239被编程为识别候选目的地位置,用户至少具有在一段时间(例如,在接下来15、30、60分钟内)前往至该候选目的地位置的阈值似然度。路线单元241被编程为识别用于从移动计算设备202的当前地理位置前往候选目的地位置的可能路线。外部事件预测单元243被编程为识别一个或多个外部事件,该一个或多个外部事件至少具有沿路线单元241所识别的一条或多条路线发生的阈值似然度。共同地,目的地单元239和路线单元241能够预测用户的可能行程,并且外部事件预测单元243能够预测移动计算设备202之外可能沿着可能的行进路线而影响到用户的事件。预测单元238能够使用移动设备情境确定单元214所提供的情境信息以外的各种信息来提供这样的用户行程和外部事件的预测,上述信息诸如环境信息(例如,天气信息)、行程信息(例如,交通信息、驾驶指示、运输调度信息、地图信息)、地理邻近信息(例如,附近商业信息)、近期更新信息(例如,实时新闻更新、博客更新、电子邮件/文本对话更新)和个人信息(例如,用户的日历预约、用户的熟人的联系信息、有关用户社交网络的信息)。预测单元238可以使用并识别并未被提及的其它类型的信息。

目的地单元239能够使用来自移动设备情境确定单元214的情境信息以及存储在模式数据库集240中的移动计算设备202的用户的行进模式来识别候选目的地位置,上述模式数据库集240能够定义信息并提供对于过往的用户行程有所影响或作用的各种情境因素(例如,经由规则、计分技术等)。该模式数据库集240可以包括预定义数据和/或用户所定义的数据。存储在模式数据库集240中的数据能够随时间发生变化(例如,移动计算设备202能够“学习”用户在各种情境中的行进模式,并且能够随时间调节存储在模式数据库集240中的数据)。

目的地单元239还能够使用存储在用户行为数据库集242中的数据来识别用户在计算设备202(或其它计算设备)上的活动与行进模式之间的关联。这样的信息能够被用来生成并维护将用户行为关联至行进模式的用户模型。能够使用各种数据来源来生成并维护用户模型,诸如用户位置历史、用户搜索历史、用户日历事项以及其它适当来源。例如,为了生成并维护用户模型,用户行为数据库集242能够关于移动设备202所提供的信息而将用户之前的行进情形(例如,通勤路线、办事行程等)、移动设备202在行进期间的情境以及用户在行程之前和之后的行为(例如,行程之前的活动、移动计算设备202遵循之前推荐的物理行程)记入日志。

存储在用户行为数据库集241中的用户行为数据指示用户是否认为在给定移动设备202的情境的情况下所提供的推荐是相关的。例如,如果用户在被识别出其位于远离家的城市并且现在是其通常的晚餐时间时,用户被提供以附近实体(例如,在地理上位于设备的当前地理位置附近的餐厅)的列表,并且移动设备202前往餐厅中的一个餐厅时,则相关联的用户行为数据能够指示用户认为该推荐与给定的设备情境相关。在另一个示例中,如果用户被提供以附近餐厅的列表并且用户立即打开日历应用以定位即将开始的会面的信息,则相关联的用户行为能够指示用户认为该推荐并不相关(例如,用户想要与会面相关的信息而不是餐厅信息)。

目的地单元239能够使用来自用户行为数据库集242的用户行为数据来识别与潜在用户行为和目的地相关的信息,以及可能与用户沿去往目的地的各条路线的行进相关的信息。例如,目的地单元239能够考虑与移动计算设备202的当前情境相类似的之前情境来识别候选目的地,该候选目的地至少具有在一段时间内(例如,在接下来的10分钟内,在接下来的1小时内)与移动计算设备202的用户相关的阈值似然度。

路线单元241能够识别用于前往已经由目的地单元239所识别的候选目的地的一条或多条路线。路线单元241能够使用模式数据240、用户行为数据242和/或来自外部来源(例如,路线规划计算机系统)的信息来识别一条或多条路线。

外部事件预测单元243能够确定是否存在可能即将对沿路线单元241所识别的一条或多条路线的行进有影响的任何外部事件。可能出现的各种外部事件能够由外部事件预测单元243进行分析,诸如交通、天气相关的减速(例如,风暴、降雪、降雨)、道路建设和/或娱乐活动(例如,体育赛事、音乐会)。外部事件预测单元243能够预测在当前时间的时间段内(例如,在接下来15分钟内,在接下来1小时内,在接下来6小时内)发生的外部事件。被确定为至少以阈值时间量(例如,增加至少5、10、15分钟的行进时间,增加至少20%、25%、50%的行进时间)对沿由路线单元241所识别的路线的行程有所影响的外部事件能够被外部事件识别单元234所识别。

使用预测单元238所识别的信息和/或用户行为数据242,推荐单元244能够提供一个或多个路线推荐。例如,预测单元238能够提供识别出前往用户已经被确定可能在阈值时间段内前往的一个或多个目的地的一条或多条路线的信息,以及识别可能在未来时间沿路线发生的一个或多个可能事件的信息,并且推荐单元244能够使用该信息结合来自用户行为数据242的数据来向计算设备202的用户提供推荐。推荐单元244能够使用用户行为数据242来确定计算设备202的用户是否可能认为特定推荐与其它推荐相比更为相关(例如,基于过去响应于其它推荐的用户行为)并且能够使用这样的确定来识别一个或多个路线推荐以进行提供。此外,推荐单元244能够使用来自用户行为数据242的数据来识别用户已经采取前往目的地位置的各条路线。例如,用户可以为了反复(例如,每周、每月等)的会面而前往特定目的地位置,但是偶尔会选用公众运输。如果预测单元238确定沿用户的常规路线的交通可能发生拥堵(例如,基于计划中的高峰时段交通、天气条件、建设或者其它这样的情形),则推荐单元244可以替换地向用户提供其选择公众运输前往会面的推荐。

处理能够在移动计算设备202的本地和/或远程执行。例如,在日历应用在移动计算设备202的本地实施的实施方式中,预测和推荐处理能够在移动计算设备202的本地执行。在另一个示例中,在日历应用的日历数据在远程服务器系统上提供的实施方式中,移动计算设备202能够与该远程服务器系统进行交互以访问相关日历信息。在另一个示例中,在预测和推荐单元244由远程服务器系统所实施的实施方式中,预测和推荐单元244能够与日历应用(例如,本地或远程)进行交互以访问相关日历信息并且至少部分基于这样的信息作出预测和推荐。各个单元241-244能够以任意的各种适当方式来实施,诸如以硬件(例如,应用特定集成电路)、软件、固件或者它们的任意组合来实施。

移动计算设备202的输出子系统246能够将推荐单元244所获得的结果提供给设备202的用户。输出子系统246可以包括各种输出设备,诸如显示器248a(例如,液晶显示器(lcd)、触摸屏)、投影仪248b(例如,处于设备202外部的能够投影图像的图像投影仪)、扬声器248c、头戴式耳机插口248d等。网络接口208也可以是输出子系统246的一部分并且可以被配置为将推荐单元244所获得的结果提供给另一个计算或输出设备(例如,将结果传送至蓝牙耳机,将结果传送至另一个计算设备)。

参考图2a,移动计算设备202能够与无线发射器250(例如,蜂窝网络收发器、无线网络路由器等)进行无线通信,并且获得对网络252(例如,互联网、pstn、蜂窝网络、局域网(lan)、虚拟私人网络(vpn)等)的访问。通过网络252,移动计算设备202能够与移动设备服务器系统254(一个或多个联网服务器计算机)进行通信,后者能够被配置为将移动设备相关的服务和数据提供给移动设备202(例如,提供日历数据、电子邮件数据、将电话呼叫连接至其它电话,等等)。

移动设备202还能够通过网络252与一个或多个信息服务器系统256进行通信。信息服务器系统256可以是提供可能与用户行程相关的信息的服务器系统。例如,信息服务器系统256能够提供交通状况、天气预报以及有关位于移动设备202的当前地理位置附近的商业的信息。

图3a-b是用于在移动计算设备上提供路线推荐的示例技术300和350的流程图。参考图3a,示例技术300能够由任意各种适当计算设备来执行,诸如以上关于图1所描述的移动计算设备102和/或以上关于图2a-b所描述的移动计算设备202。示例技术300的各部分可以由不同计算设备来执行。例如,示例技术300的一部分可以由移动计算设备202执行并且技术300的一部分可以由移动设备服务器系统254来执行。

技术300以访问识别用户的行进模式的行进模式信息作为开始(304)。在一些实施方式中,该行进模式信息可以从与用户相关联的用户模型获得。例如,以上关于图2a-b所描述的移动计算设备202能够在用户行为数据库集242中存储、维护并获取与用户活动和行程相关的数据。这样的用户活动和行程数据可以包括有关通勤路线、办事行程、度假以及其它多种用户活动和行程的数据,并且可以被用来生成并维护移动计算设备202的用户的模型。此外,诸如搜索历史数据、日历数据、通信数据(例如,电子邮件、消息、电话呼叫等)、社交网络数据以及其它适当数据之类的数据也可以被用来生成并维护用户模型。在当前示例中,移动计算设备202能够从用户模型中所包括的数据识别用户行进模式,并且能够在模式数据库集240中存储、维护并获取这样的模式数据以供未来参考。

移动计算设备和/或移动计算设备的用户的当前情境能够被确定(306)。该当前情境可以至少包括移动计算设备和/或相关联用户当前所处的当前地理位置。例如,用户可以选择加入使得移动计算设备202能够使用全球定位系统(gps)技术或其它一些适当位置识别技术来识别其当前地理位置的服务。在当前示例中,全球定位系统(gps)单元216能够向移动设备情境确定单元214提供有关用户的当前位置的用户位置信息。用户例如可以被识别为当前位于其工作场所。

用户的当前情境可以包括一天中的当前时间、当前日期以及用户的一个或多个日历事件。例如,作为确定用户的当前情境的一部分,移动设备情境确定单元214可以访问时间和日期单元228和日历单元230。在当前示例中,移动计算设备202可以确定当前时间为星期五的5:00pm,并且用户的日历上在这一天余下时间内没有日历事件。

用户的当前情境可以从日历应用、电子邮件应用和社交网络应用中的一个或多个中得出。例如,在访问用户的日历的同时,移动计算设备202能够访问用户的电子邮件和社交网络账户。在当前示例中,用户的社交网络账户可以包括用户及其好友之间包括所提到的距用户位于城镇另一侧的特定餐厅(例如,“joe's”)以及所提到的特定时间(例如,6:00pm)的一系列通信。

能够至少部分基于行进模式信息和当前情境来识别一个或多个候选目的地位置(308)。所识别的候选目的地位置能够基于用户被确定为至少具有即将(例如,在接下来15分钟内)从当前地理位置前往候选目的地位置的阈值似然度而被识别。例如,预测单元238和/或推荐单元244能够基于用户获取的活动和行进模式并且基于当前情境而确定用户将前往各个位置的概率,并且能够确定用户可能想要到达这样的位置的时间。识别用户可能前往的位置的阈值水平可以包括预定数值。例如,该阈值水平的预定数值可以被表达为百分比概率,诸如50%、70%、90%、95%、99%和/或其它适当数值。在一些实施方式中,阈值水平可以由用户来计算。例如,通过调节概率水平,用户可以控制自动提供的推荐的频率并且可以控制这样的推荐能够应用于其当前情境的似然度。

基于各种情境因素,可以使用排名或计分技术来提高或降低用户将前往各个位置的概率。例如,预测单元238能够参考用户模型和模式数据240而确定在总体上用户通常(例如,90%的概率)在工作之后直接回家,但是有时(例如,10%的概率)前往各种其它位置。然而,今天恰好是星期五,并且用户在星期五不太可能(例如,70%的概率)在工作之后直接回家,有一定可能(例如,20%的概率)前往商场或者其它一些位置(例如,10%的概率)。此外,今天用户恰好搭乘公众运输前去工作,并且在这样的用户搭乘公众运输前去工作的星期五,用户更加不太可能直接回家(例如,50%的概率)并且很有可能前往餐厅或酒吧(例如,50%的概率)。此外,在用户搭乘公众运输前去工作的星期五,并且当用户与其好友关于“前往joe's”进行通信时,用户非常不可能先回家(例如,5%的概率)并且非常可能搭乘巴士穿城前往“joe's”(例如,95%的概率)。因此,可以将各种当前情境因素共同地且关于用户过往的活动和行为加以考虑以确定用户意图前往一个或多个位置的概率。

例如,针对一个或多个所识别的目的地位置,移动计算设备202能够识别用户可能想要到达该位置的时间。在当前示例中,移动计算设备202可以确定用户可能要去“joe's”。基于包括用户与其好友之间提到在“joe's”会面的特定时间(例如,6:00pm)社交网络对话,并且基于显示出用户通常偏向于准时参加这样的会面的历史用户行为数据,预测单元238能够确定用户将优选地及时从工作地出发以在6:00pm到达“joe's”。在当前示例中,移动计算设备202可以访问信息服务器系统256(例如,存放公共运输信息的服务器)以识别可能与用户在其工作地和“joe's”之间的行程相关的公共运输时间表。

能够识别用于前往所识别的候选目的地位置的路线(309)。例如,如以上关于图1所描述的,路线142a-b被识别为前往特定目的地位置的可能路线。该路线能够从诸如用户所采取的历史行进模式/路线(例如,用户经常使用高速公路前去工作)和/或移动计算设备的本地和/或远程的路线生成系统所建议的路线之类的各种来源进行识别。

能够生成有关可能沿所识别路线发生(例如,至少具有发生的阈值概率)的一个或多个外部事件的预测(310)。在当前示例中,移动计算设备202可以访问另外的信息服务器系统256,信息服务器系统256可以提供当前交通状况、天气预报、有关事件(例如,体育比赛、音乐会、剧院等)时间表的信息以及其它可能相关的信息。例如,基于这样的信息,预测单元238可以确定特定事件(例如,篮球赛)即将结束并且有80%的概率在5:10和5:20pm之间结束。此外,预测单元238可以确定当类似事件在星期五这样的时间结束时,过去曾经对于用户工作地和“joe's”之间的主要巴士路线的巴士调度具有不利影响。

能够使用事件预测来选择一条或多条特定路线(311)。能够基于各种因素来选择一条或多条特定路线,诸如用户将前往候选目的地位置的可能性,用户将发现推荐有所帮助的可能性(例如,查看用户之前如何应对这样的推荐),和/或一个或多个预测事件所导致的延误。

在一些实施方式中,当存在一个或多个事件将以至少阈值时间量(例如,5分钟、10分钟、15分钟或另一个适当预定和/或用户可配置的阈值)对沿一条或多条路线的行程造成影响的至少阈值水平的确信度时,可以选择特定路线以作为推荐提供给用户。在当前示例中,预测单元238和/或推荐单元244可以确定在篮球赛结束时以及结束后的一个小时内,沿用户工作地和“joe's”之间的巴士路线的行进时间可能延迟15分钟。因此,推荐单元244能够向移动计算设备202提供用户在适当时间从其当前位置出发以对所预测的延误进行补偿的建议(例如,基于用户的历史行进模式),从而用户将在首选时间到达目的地。例如,如果推荐单元244确定用户应当在5:15pm在其常规车站搭乘巴士以在6:00pm到达“joe's”,用户一般步行五分钟到达车站,并且用户一般用五分钟准备下班,则移动计算设备202可以提供用户在5:05pm下班以搭乘巴士前往“joe's”的推荐。

能够关于所选择的特定路线向用户提供推荐(312)。该推荐能够以各种方式来提供,诸如以视觉方式提供在显示器上和/或使用扬声器系统以可听方式提供。在一些实施方式中,该推荐可以在用户不进行提示的情况下被提供。例如,如果预测单元238确定存在用户意图前往“joe's”的大于阈值似然度的似然度,以及存在一个或多个事件可能影响到用户沿去往“joe's”的路线的行程的大于阈值似然度的似然度,并且这样的事件可能以大于阈值的时间量对沿该路线的行程造成影响,则移动计算设备202可以自动警告用户在适当的时间采取行动。例如,移动计算设备202可以连同包括针对动作的调用的推荐(例如,“在5:15搭乘123路巴士以在6:00前到达joe's,或者叫出租车!”)一起提供触觉(例如,振动)、听觉(例如,闹钟报时)和/或视觉(例如,闪光灯)警报。因此,用户可以在发生可能影响到用户的常规行程或安排的事件时,在用户能够对这样的信息采取措施的时候被提供以信息。

在一些实施方式中,在存在小于阈值水平的用户行程将受到影响的确信度时,可以响应于请求推荐的用户输入而向用户提供推荐。例如,如果预测单元238确定用户可能决定前往“joe's”,但是并不存在具有大于影响到沿用户的常规巴士路线的正常或预期行进模式的阈值似然度的外部事件,则移动计算设备202可以在用户进行请求时提供一个或多个推荐。例如,用户可以与移动计算设备202的输入控制进行交互以请求推荐,并且移动设备202能够经由视觉和/或音频输出设备提供推荐。例如,移动计算设备202可以连同出发、到达和行程总时间一起提供与用户的常规巴士路线以及一条或多条替换路线相关联的信息。

在一些实施方式中,如果用户意图是模糊的,则可以向用户提供有关用户可能感兴趣的一个或多个目的地的信息。例如,如果预测单元238无法以一定确定程度(即,没有达到阈值)来确定用户是否想要前往任何特定目的地,则能够在请求时向用户提供有关多个可能的用户目的地的信息。例如,如果预测单元238无法确定用户想要回家、去商场还是餐厅,则计算设备202可以将有关所有这三种可能性的概况信息提供给用户(例如,按照兴趣可能性进行排序的排名列表),并且用户可以选择优选目的地以接收有关该目的地的附加行程信息(例如,路线、地图、预期出发/到达时间、联系信息、营业时间等)。

在概率阈值有所交叉时,通过在用户不进行提示的情况下提供某些信息,以及在用户进行请求时提供其它信息,例如能够在其及时的时候以及在其可能对用户有用的时候自动提供信息。可以减少误报(例如,无关信息),因此减少对用户造成不必要的干扰。此外,可能稍与用户相关的信息可以在用户选择对其进行访问时被轻易获得。

参考图3b,技术350可以部分由移动计算设备352、推荐计算机系统354以及信息计算机系统356所执行。移动计算设备352可以是任意各种适当的移动计算设备,诸如移动计算设备102和/或移动计算设备202。推荐计算机系统354可以是任意各种适当计算机系统,诸如移动设备服务器系统254。信息计算机系统356可以是任意各种适当计算机系统,诸如信息服务器系统256。

示例技术350能够以推荐计算机系统354向移动计算设备352提供用户模型作为开始(358)。如以上关于图2a-b所讨论的,该用户模型可以包括可以指示移动计算设备352的用户的行为的各种信息,诸如用户的历史行进模式以及活动与行程之间的关联(例如,基于地图的搜索查询和后续行程之间的关联)。该用户模型可以由推荐计算机系统354在用户通过选择加入机制所允许的情况下进行维护。

移动计算设备352能够访问用户模型(360)并且能够使用该用户模型来监视用户可能在其中前往另一个地理位置的情境。作为这样的监视的一部分,移动计算设备352能够定期(例如,每10秒钟、每分钟、每5分钟、每半小时、每小时、每天)识别移动计算设备的当前情境(362)并且能够将当前情境与用户模型进行比较以确定用户将在近期前往另一个位置的可能性(364)。如果确定了阈值似然度(例如,用户至少有25%、50%、75%、90%的机会将前往另一个位置),则移动计算设备352能够通过向推荐计算机系统354提供用户可能行进的指示以及至少一部分当前情境而请求路线推荐(366)。

响应于从移动计算设备352接收到行进指示,推荐计算机系统354能够对当前情境进行分析(368)并且能够从一个或多个第三方信息来源(诸如信息计算机系统356)获得可能与当前情境相关的附加信息(370)。例如,推荐计算机系统354能够从信息计算机系统356请求如与移动计算设备352的当前地理位置周围的区域相关的交通或天气信息之类的相关信息,并且信息计算机系统356能够向推荐计算机系统354提供所请求的信息(372)。类似于以上所描述的技术,使用当前情境和附加信息,推荐计算机系统354能够识别候选目的地以及用于行进至该候选目的地的路线(374)。

推荐计算机系统354能够基于各种信息来确定计算设备的用户将沿所识别的路线行进的可能性(376),上述信息诸如用户之前关于当前情境的行为和/或用户之前关于路线推荐的行为。推荐计算机系统354能够进一步确定用户是否至少具有沿一条或多条所识别的路线行进(378)阈值似然度。如果用户不可能发现任何可能的路线有所帮助或者与给定的当前情境相关,则推荐计算机系统354能够确定不应当提供推荐并且能够向移动计算设备352提供不提供推荐的指示。作为响应,移动计算设备352将不会输出路线推荐(380)。

然而,如果确定至少存在用户将沿一条或多条所识别的路线行进的阈值似然度,则推荐计算机系统354能够针对可能在未来时间沿该一条或多条路线发生的一个或多个可能时间生成预测(382)。能够基于各种因素来选择特定路线(384),包括之前的用户行为、当前情境和/或被预测沿一条或多条路线发生的外部事件。使用所选择的特定路线,推荐计算机系统354能够向移动计算设备352提供路线推荐(386),该移动计算设备352进而能够向用户输出识别所推荐路线的信息(388)。如以上所讨论的,移动计算设备352能够以诸如视觉和/或听觉之类的各种方式输出这样的信息。

在输出路线推荐之后,移动计算设备352能够在至少阈值时间段内对行程进行监视(390)。该监视能够以用户通过用户选择加入同意而表示的许可来进行。指示用户是否认为特定路线推荐有所帮助和/或与给定当前情境相关的信息在未来提供更为相关且有帮助的推荐方面会是有所帮助的。移动计算设备352能够在输出路线推荐之后向推荐服务器系统354提供有关行进的信息(392),该推荐服务器系统354能够存储该行进信息并且在后续时间点及时使用该信息以向用户提供路线推荐(394)。该行进信息还能够被用来更新用户模型以反映用户在给定当前情境情况下如何关于行进进行表现(394)。

虽然以特定布置,对技术350跨移动计算设备352、推荐计算机系统354和信息计算机系统356的分布进行了描绘,但是技术350的各部分可以由与技术350中所描绘的有所不同的设备或系统来执行。例如,移动计算设备可以定期向推荐计算机系统354提供当前情境信息,并且推荐计算机系统354可以使用来自移动计算设备352的当前情境信息来确定行进的可能性(364)。

图4是可以被用来实施本文中所公开的技术、系统、机制和方法的系统的概念图。移动计算设备410能够与基站440进行无线通信,后者能够通过网络450为该移动计算设备提供对多种服务460的无线访问。

在该图示中,移动计算设备410被描绘为手持移动电话(例如,智能电话和或应用电话),其包括用于向移动计算设备410的用户呈现内容的触摸屏显示设备412。移动计算设备410包括用于接收影响移动计算设备410的操作的用户输入的各种输入设备(例如,键盘414和触摸屏显示设备412)。在另外的实施方式中,移动计算设备410可以是膝上计算机、平板计算机、个人数字助理、嵌入式系统(例如,汽车导航系统)、台式计算机或计算机化的工作站。

移动计算设备410可以包括各种视觉、听觉和触觉的用户输出机制。示例的视觉输出机制是显示设备412,其能够以视觉方式显示视频、图形、图像和文本,它们进行组合以提供可视用户界面。例如,显示设备412可以是3.7英寸的amoled屏幕。其它视觉输出机制可以包括led状态灯(例如,在接收到语音邮件时进行闪烁的灯)。

示例的触觉输出机制是连接至非平衡配重以提供振动警告的小型电机(例如,进行振动向用户警告来电呼叫或者确认用户与触摸屏412的接触)。另外,移动计算设备410可以包括一个或多个扬声器420,其将电信号转换为例如音乐、可听警报或者电话呼叫中的个人语音的声音。

用于接收用户输入的示例机制包括键盘414,其可以是完整的qwerty键盘或者是包括数字“0-4”、“*”和“#”的传统键盘。键盘414在用户物理接触或按压键盘按键时接收输入。用户对轨迹球416的操控或者与触摸板的交互使得用户能够向移动计算设备410提供方向和旋转速率信息(例如,操控显示设备412上的光标的位置)。

移动计算设备410能够确定与触摸屏显示设备412的物理接触的位置(例如,通过手指或笔所进行的接触的位置)。使用触摸屏412,可以产生各种“虚拟”输入机制,其中用户通过接触在触摸屏412上所描绘的图形用户界面要素而与该图形用户界面要素进行交互。“虚拟”输入机制的示例是“软件键盘”,其中键盘被显示在触摸屏上并且用户通过按压触摸屏412上对应于每个按键的区域来选择按键。

移动计算设备410可以包括机械的或触摸敏感按钮418a-d。此外,移动计算设备可以包括用于调节一个或多个扬声器420的音量输出的按钮以及用于开启或关闭移动计算设备的按钮。扬声器422允许移动计算设备410将可听到的声音转换为电信号,该电信号可以被数字编码并存储在计算机可读存储器中、或者被传送至另一个计算设备。该移动计算设备410还可以包括数字罗盘、加速计、接近传感器和外界照明传感器。

操作系统可以提供在移动计算设备的硬件(例如,输入/输出机制和执行从计算机可读介质所获取的指令的处理器)和软件之间的接口。示例的操作系统包括安卓(android)移动计算设备平台、苹果(apple)iphone/macosx操作系统、微软(microsoft)windows7/微软移动(windowsmobile)操作系统、塞班(symbian)操作系统、rimblackberry操作系统、palmweb操作系统、各种unix特定的操作系统,或者用于计算机化的设备的专用操作系统。操作系统可以提供用于应用程序的执行的平台,该应用程序促成计算设备与用户之间的交互。

移动计算设备410可以利用触摸屏412呈现图形用户界面。图形用户界面是一个或多个图形界面要素的集合,并且可以是静态的(例如,显示在一段时间内表现为保持相同)或者可以是动态的(例如,图形用户界面在没有用户输入的情况下包括动画的图形界面要素)。

图形界面要素可以是文本、线条、形状、图像或它们的组合。例如,图形界面要素可以是在桌面上显示的图标以及图标相关联的文本。在一些示例中,图形界面要素能够利用用户输入进行选择。例如,用户可以通过按压触摸屏上对应于图形界面要素的显示的区域来选择该图形界面要素。在一些示例中,用户可以操控轨迹球以将单个图形界面要素高亮显示为具有焦点。用户对图形界面要素的选择可以调用移动计算设备的预定义动作。在一些示例中,可选择的图形界面要素进一步或可替换地对应于键盘414上的按钮。用户对该按钮的选择可以调用预定义动作。

在一些示例中,操作系统提供“桌面”用户界面,其启动在移动计算设备410时、将移动计算设备410从休眠状态激活时、在“解锁”移动计算设备410时,或者在接收到用户对“home”按钮418c的选择时进行显示。桌面图形界面可以显示若干图标,当用户输入被选择时,该图标调用相对应的应用程序。所调用的应用程序可以呈现图形界面,该图形界面替代桌面图形界面直至该应用程序终止或从视图中被隐藏。

用户输入可以对移动计算设备410的操作的顺序进行操控。例如,单一动作的用户输入(例如,触摸屏的单次敲击、划过触摸屏、与按钮接触或者这些动作的同时组合)可以调用改变用户界面的显示的操作。在没有用户输入的情况下,用户界面可以不在特定时间发生变化。例如,利用触摸屏412进行的多触摸用户输入可以调用地图应用在位置上进行“放大”,即使该地图应用会在几秒钟之后缺省地进行放大。

桌面图形界面还可以显示“插件”。插件是与已经执行的应用程序相关联并且在执行的应用程序所控制的桌面内容上进行显示的一个或多个图形界面要素。不同于在用户选择相对应图标之前都不会被调用的应用程序,插件的应用程序可以随移动电话一起开启。另外,插件可以不占用全屏显示的焦点。相反,插件可以仅有其“自己的”小部分桌面,其在这部分桌面内显示内容并接收触摸屏用户输入。

移动计算设备410可以包括一个或多个位置识别机制。位置识别机制可以包括为操作系统和应用程序提供移动电话的地理位置的估计的硬件和软件的组合。位置识别机制可以采用基于卫星的定位技术、基站发射天线识别、多基站三角化、互联网接入点ip位置确定、基于搜索引擎查询的用户位置推导性识别以及用户所提供的位置识别(例如,通过针对一个位置进行“签到”)。

移动计算设备410可以包括其它应用模块和硬件。呼叫处理单元可以接收来电呼叫的指示并且向用户提供对该来电呼叫进行应答的功能(例如,提供图形用户界面、提供音频用户接口)。媒体播放器可以允许用户收听存储在移动计算设备410的本地存储器中的音乐或播放电影。移动电话410可以包括数码相机传感器以及相对应的图像和视频捕捉及编辑软件。互联网浏览器可以使得用户能够通过键入对应于网页的地址或者选择指向网页的链接而观看来自网页的内容。

移动计算设备410可以包括天线以与基站440进行无线通信。基站440可以是基站集合(例如,移动电话蜂窝网络)中的许多基站中的一个基站,上述基站集合使得移动计算设备410在移动计算设备在地理上进行移动的同时保持与网络450的通信。可替换地或除此之外,计算设备410可以通过wifi路由器或有线连接(例如,以太网、uwb或火线)与网络450进行通信。计算设备410还可以使用蓝牙协议与其它计算设备进行无线通信,或者可以采用专设无线网络。

运营基站网络的服务提供商可以将移动计算设备410连接至网络450而使得能够在移动计算设备410和提供服务460的其它计算机化设备之间进行通信。虽然服务460可以通过不同网络(例如,服务提供商的内部网络、公众交换电话网和互联网)提供,但是网络450被图示为单个网络。服务提供商可以操作服务器系统452,服务器系统452在移动计算设备410和与服务460相关联的计算设备之间路由数据分组和语音数据。

网络450可以将移动计算设备410连接至公众交换电话网(pstn)462以便在移动计算设备410和另一个计算设备之间建立语音或传真通信。例如,服务提供商的服务器系统452可以从pstn462接收针对移动计算设备410的来电呼叫的指示。相反,移动计算设备410可以向服务提供商服务器系统452发送通信,该通信发起具有关联于可通过pstn462进行访问的设备的电话号码的电话呼叫。

网络450可以将移动计算设备410与互联网协议语音传输(voip)服务器464进行连接,与pstn相反,互联网协议语音传输(voip)服务器464通过ip网络来路由语音通信。例如,移动计算设备410的用户可以调用voip应用并且使用该程序发起呼叫。服务提供商的服务器系统452可以将来自该呼叫的语音数据转发至voip服务,后者可以通过互联网将该呼叫路由至相对应的计算设备,可能针对该连接的最终分支使用pstn。

应用商店466可以为移动计算设备410的用户提供浏览远程存储的应用程序的列表,用户可以通过网络450下载该应用程序并且将其安装在移动计算设备410上。应用商店466可以作为第三方应用开发商所开发的应用库集进行服务。安装在移动计算设备410上的应用程序能够通过网络450与针对该应用程序所设计的服务器系统进行通信。例如,voip应用程序可以从应用商店466进行下载,这使得用户能够与voip服务464进行通信。

移动计算设备410可以通过网络450访问互联网468上的内容。例如,移动计算设备410的用户可以调用web浏览器应用,web浏览器应用从能够在所指定的通用资源位置进行访问的远程计算设备请求数据。在各个示例中,服务460中的一些能够通过互联网进行访问。

移动计算设备可以与个人计算机470进行通信。例如,个人计算机470可以是移动计算设备410的用户的家庭计算机。因此,用户能够从其个人计算机470传输流媒体。用户还能够观看其个人计算机470的文件结构,并且在计算机化的设备之间传送所选择的文档。

语音识别服务472可以接收利用移动计算设备的扬声器422所记录的语音通信数据,并且将该语音通信转换为相对应的文本数据。在一些示例中,所转换的文本被提供至搜索引擎作为web查询,并且作为响应的搜索引擎搜索结果被传送至移动计算设备410。

移动计算设备410可以与社交网络474进行通信。该社交网络可以包括多个成员,其中的一些已经同意作为熟人进行关联。移动计算设备410上的应用程序可以访问社交网络474以获取基于移动计算设备的用户的熟人的信息。例如,“地址簿”应用程序可以获取用户的熟人的电话号码。在各种示例中,内容可以基于从用户到其它成员的社交网络距离而被传递至移动计算设备410。例如,可以基于“接近于”用户的成员(例如,作为“好友”或“好友的好友”的成员)与广告和新闻文章的交互水平来为用户选择这样的内容。

移动计算设备410可以通过网络450访问个人的联系人集合476。每个联系人可以识别一个个人并且包括与该个人相关的信息(例如,电话号码、电子邮件地址和生日)。由于联系人集合在移动计算设备410的远程存放,所以用户可以跨若干设备来访问并维护作为共用联系人集合的联系人476。

移动计算设备410可以访问基于云的应用程序478。云计算提供了在移动计算设备410远程存放的应用程序(例如,文字处理器或电子邮件程序),并且可以由设备410使用web浏览器或专用程序访问。示例的基于云的应用程序包括googledocs文字处理器和电子表格服务、googlegmail网络邮件服务以及picasa图片管理器。

地图服务480能够为移动计算设备410提供街道地图、路线规划信息和卫星图像。示例的地图服务是googlemaps。地图服务480还可以接收查询并且返回特定位置结果。例如,移动计算设备410可以发送移动计算设备的估计位置以及用户向地图服务480所输入的针对“pizzaplaces”的查询。地图服务480可以返回具有叠加在地图上的识别附近“pizzaplaces”的地理位置的“标记”的街道地图。

路线规划服务482可以为移动计算设备410提供去往用户所提供的目的地的路线规划指示。例如,路线规划服务482可以将设备的估计位置的街景级别的示图连同用于提供音频命令并且叠加指示设备410的用户前往该目的地的箭头的数据一起流传输至设备410。

移动计算设备410可以请求各种形式的流媒体484。例如,计算设备410可以请求预先录制的视频文件、直播电视节目或直播广播节目的流。提供流媒体的示例服务包括youtube和pandora。

微博服务486可以从移动计算设备410接收用户输入发布,用户输入发布并未识别发布的接收方。微博服务486可以将该发布传播至微博服务486中同意订阅该用户的其它成员。

搜索引擎488可以从移动计算设备410接收用户所输入的文本或口头查询,确定响应于该查询的可在互联网上访问的文档集合,并且向设备410提供显示该响应文档的搜索结果列表的信息。在接收口头查询的示例中,语音识别服务472可以将所接收到的音频转换为文本查询,后者被发送至搜索引擎。

这些和其它服务可以在服务器系统490中实施。服务器系统可以是提供服务或服务集合的硬件和软件的组合。例如,在物理上分离的联网计算机化设备可以作为逻辑服务器系统单元一起进行操作以处理向成百上千的个体计算设备提供服务所必须的操作。

在各种实施方式中,“响应于”另一操作(例如,确定或识别)而执行的操作在先前操作并未成功(例如,如果没有执行该确定)的情况下并不被执行。本文中以条件性语言所描述的特征可以描述可选的实施方式。在一些示例中,从第一设备向第二设备进行“传送”包括第一设备将数据放入网络,但是可以不包括第二设备接收该数据。相反,从第一设备“接收”则可以包括从网络接收该数据,但是可以不包括第一设备传送该数据。

图5是可以作为客户端或者作为一个或多个服务器而被用来实施本文中所描述的系统和方法的计算设备500、550的框图。计算设备500意在表示各种形式的数字计算机,诸如膝上计算机、台式机、工作站、个人数字助理、服务器、刀锋服务器、主机和其它适当计算机。计算设备550意在表示各种形式的移动设备,诸如个人数字助理、移动电话、智能电话和其它类似的计算设备。此外,计算设备500或550可以包括通用串行总线(usb)闪存。该usb闪存可以存储操作系统和其它应用。该usb闪存可以包括输入/输出组件,诸如可以被插入到另一个计算设备的usb端口中的无线发射器或usb连接器。这里所示出的组件、其连接和关系以及其功能仅意在进行示例,而并非意在对本文中所描述和/或要求保护的发明的实施方式进行限制。

计算设备500包括处理器502、存储器504、存储设备506、连接到存储器504和高速扩展端口510的高速接口508,以及连接到低速总线514和存储设备506的低速接口512。组件502、504、506、508、510和512中的每一个使用各种总线进行互连,并且可以安装在共用主板上,或者以其它适宜方式进行安装。处理器502能够处理指令以便在计算设备500内执行以在外部输入/输出设备上显示用于gui的图形信息,所述指令包括存储在存储器504中或者存储设备506上的指令,外部输入/输出设备诸如耦合到高速接口508的显示器516。在其它实施方式中,如果适宜,可使用多个处理器和/或多个总线,以及多个存储器和存储器类型。而且,多个计算设备500可以与提供各部分必要操作的每个设备进行连接(例如,作为服务器组、刀刃服务器分组或多处理器系统)。

存储器504存储计算设备500内的信息。在一种实施方式中,存储器504是一个或多个易失性存储单元。在另一实施方式中,存储器504是一个或多个非易失性存储单元。存储器504还可以是其它形式的计算机可读介质,诸如磁盘或光盘。

存储设备506能够为计算设备500提供大型存储。在一种实施方式中,存储设备506可以是或者可包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其它类似固态存储设备,或者设备阵列,包括存储域网络或其它配置中的设备。计算机程序产品可有形地实现在信息载体中。所述计算机程序产品还可以包含指令,当指令被执行时,所述指令执行诸如以上所描述的一个或多个方法。所述信息载体是计算机或机器可读介质,诸如存储器504、存储设备506、或处理器502上的存储器。

高速控制器508管理计算设备500的带宽密集操作,而低速控制器512管理较低带宽密集的操作。这样的功能分配仅是示例性的。在一种实施方式中,高速控制器508耦合到存储器504、显示器516(例如,通过图形处理器或加速器),并且耦合到可接受各种扩展卡(未示出)的高速扩展端口510。在所述实施方式中,低速控制器512耦合到存储设备506和低速扩展端口514。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口514可耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪,或者例如通过网络适配器耦合到诸如交换机和路由器之类的联网设备。

如图所示,计算设备500能够以各种不同形式来实现。例如,其可以实现为标准服务器520,或者这种服务器的群组中的多个服务器。其还可以被实现为机架式服务器系统524的一部分。此外,其还可以以诸如膝上计算机522的个人计算机来实施。可替换地,来自计算设备500的组件可以与诸如设备550的移动设备(未示出)中的其它组件相结合。这样的设备中的每一个可包含计算设备500、550中的一个或多个,并且整个系统可由多个互相通信的计算设备500、550所构成。

除其它组件之外,计算设备550包括处理器552、存储器564、诸如显示器554的输入/输出设备、通信接口566和收发器568。设备550还可以具有诸如微驱动器或其它设备的存储设备以提供附加存储。组件550、552、564、554、566和568中的每一个使用各种总线进行互连,并且组件中的若干组件可安装在共用主板上或者以其它适宜方式进行安装。

处理器552能够执行计算设备550内的指令,包括存储在存储器564中的指令。所述处理器可以被实现为包括单独且多个的模拟和数字处理器的芯片的芯片组。此外,该处理器可以使用多个架构中的任意架构来实施。例如,处理器552可以是cisc(复杂指令集计算机)处理器、risc(精简指令集计算机)处理器或misc(最小指令集计算机)处理器。例如,所述处理器可提供设备550的其它组件的协同,诸如用户接口的控制、设备550所运行的应用程序以及设备550所进行的无线通信。

处理器552可以通过耦合到显示器554的控制接口558和显示接口556与用户进行通信。显示器554例如可以是tft(薄膜晶体管液晶显示器)显示器或oled(有机发光二极管)显示器,或者其它适当的显示技术。显示接口556可以包括用于驱动显示器554以向用户显示图形和其它信息的适当电路。控制接口558可以接收来自用户的命令并且对其进行转以便提交至处理器552。此外,可提供与处理器552进行通信的外部接口562,从而使得设备550能够与其它设备进行近域通信。例如,外部接口562在一些实施方式中可提供有线通信,或者在其它实施方式中提供无线通信,并且也可使用多个接口。

存储器564存储计算设备550内的信息。存储器564可以实施为计算机可读介质或媒体、一个或多个易失性存储器单元或者一个或多个非易失性存储器单元中的一个或多个。也可以提供扩展存储器574并通过扩展接口572连接到设备550,例如,所述扩展接口572可以包括simm(单列存储器模块)卡接口。这样的扩展存储器574可为设备550提供额外的存储空间,或者还可以为设备550存储应用程序或其它信息。特别地,扩展存储器574可以包括指令以执行或补充以上所描述的处理,并且还可以包括安全信息。因此,例如,扩展存储器574由此可被提供作为设备550的安全模块,并且可利用允许对设备550进行安全使用的指令进行编程。此外,可经由simm卡提供安全应用程序以及附加信息,诸如以不可破坏的方式在simm卡上设置识别信息。

例如,如以下所描述的,所述存储器可以包括闪存和/或nvram存储器。在一种实施方式中,计算机程序产品有形地实现在信息载体中。所述计算机程序产品还可包含指令,当指令被执行时,执行诸如以上所描述的一种或多种方法。所述信息载体是计算机可读介质或机器可读介质,诸如存储器564、扩展存储器574、或可例如在收发器568或外部接口562上接收的处理器552上的存储器。

设备550可通过通信接口566进行无线通信,在必要情况下,所述通信接口566包括数字信号处理电路。通信接口566可在各种模式或协议下提供通信,除其它之外,所述模式或协议诸如gsm语音呼叫、sms、ems或mms消息、cdma、tdma、pdc、wcdma、cdma2000或gprs。例如,这样通信可通过射频收发器568进行。此外,诸如可使用蓝牙、wifi或其它这样的收发器(未示出)进行短距离通信。此外,gps(全球定位系统)接收器模块570可为设备550提供附加的导航和位置相关的无线数据,其可由设备550上运行的应用程序适当使用。

设备550还使用音频编解码器560进行可听通信,所述音频编解码器560可以接收来自用户的话音信息并且将其转换为可用的数字信息。音频编解码器560同样可以诸如通过扬声器为用户生成可听声音,例如在设备550的听筒中。这样的声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括设备550上运行的应用程序所生成的声音。

如图所示,计算设备550可以以多种不同方式来实现。例如,其可以实现为移动电话580。其还可以实现为智能电话582、个人数字助理或其它类似移动设备的一部分。

这里所描述的系统和技术的各种实施方式可以以数字电子电路、集成电路、专门设计的asic(应用特定集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实施方式可以包括一个或多个计算机程序中的实施方式,所述计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,所述可编程系统可以为专用或通用,其耦合以从存储设备、至少一个输入设备以及至少一个输出设备接收数据和指令并且向其传送数据和指令。

这些计算机程序(也称作程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象编程语言来实施,和/或以汇编/机器语言来实施。如这里所使用的,术语“机器可读介质”、“计算机可读介质”是指用来向可编程处理器提供机器指令和/或数据的任意计算机程序产品、装置和/或设备(例如,磁碟、光盘、存储器、可编程逻辑设备(pld)),其包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指被用来为可编程处理器提供机器指令和/或数据的任意信号。

为了提供与用户的交互,这里所描述的系统和技术可在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)和用户能够通过其为计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实施。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以为任意形式的传感器反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且来自用户的输入可以以任意形式接收,包括声音、话音或触觉输入。

这里所描述的系统和技术可在计算系统中实现,所述计算系统包括后端组件(例如,数据服务器),或者其包括中间件组件(例如,应用服务器),或者其包括前端组件(例如,具有用户能够通过其与这里所描述的系统和技术的实施方式进行交互的图形用户接口或网络浏览器的客户端计算机),或者这些后端、中间件或前端组件的任意组合。所述系统的组件可通过任意形式的介质或数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(lan)、广域网(wan)、对等网络(具有专用或静态构件)、网络计算基础设施和互联网。

该计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器的关系源自于在相应计算机上运行的计算机程序并且具有相对彼此的客户端-服务器关系。

虽然以上已经描述了若干实施方式,但是其它修改也是可能的。此外,可以使用用于在移动计算设备上提供针对路线推荐的结果的其它机制。此外,图中所描绘的逻辑流程并不要求所示出的特定顺序或连续顺序来实现所期望的结果。可以提供其它步骤,或者可以从所描述的流程中消除步骤,并且可以向所描述的系统增加其它组件或者从中去除组件。因此,其它实施例处于以下权利要求的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1