用于向行进时的用户提供信息的技术的制作方法_3

文档序号:9932965阅读:来源:国知局
移动计算设备102和/或众包服务器104以任何组合执行。方法400在块402中开始,其中移动计算设备102和/或众包服务器104确定是否找到新路线。找到新路线可以响应于来自移动计算设备102的用户的命令而发起,例如移动计算设备102上的应用的发起或向众包服务器104的网络请求的发起。如果没有新路线被确定,方法400循环回到块402以继续等待找到新路线的命令。如果新路线被确定,方法400前进到块404。
[0036]在块404中,移动计算设备102和/或众包服务器104接收或以其它方式确定针对所请求的路线的起始位置和目的地位置。起始位置和目的地位置可以以诸如例如街道地址、地理坐标、感兴趣的点、地方名称或其它位置标识符之类的任何适当格式指定。在一些实施例中,在块406中,移动计算设备102可以从用户输入(例如,从到导航应用中的触摸屏输入)接收起始位置和/或目的地位置。此外或可替换地,在一些实施例中,在块408中,众包服务器104可以从移动计算设备102接收作为通过网络116接收的请求的一部分的起始位置和目的地位置。在一些实施例中,在块410中,移动计算设备102和/或众包服务器104可以推断起始位置或目的地位置。例如,起始位置可以被推断为如使用位置电路130确定的移动计算设备102的当前位置。
[0037]在块412中,移动计算设备102和/或众包服务器104确定道路代价信息。道路代价信息可以体现为在两个地理位置之间行进的相对代价的任何度量。道路代价信息可以从地图数据110加载,地图数据110可以本地存储在网络116上或通过网络116可访问。在一些实施例中,道路代价信息可以体现为图表数据结构,其中节点表示地理位置并且边表示与地理位置之间的路线段相关联的道路代价。例如,参照图5,图500图示这样的图表结构。节点502至508表示地理位置,并且节点之间的边表示将节点相连接的路线段。边被标记有道路代价信息,该道路代价信息被图示为无量纲整数。参照回到图4,在一些实施例中,在块414中,移动计算设备102和/或众包服务器104可以基于位置之间的距离信息确定道路代价。在一些实施例中,在块416中,移动计算设备102和/或众包服务器104可以基于位置之间的行进时间确定道路代价。此外或可替换地,在一些实施例中,在块418中,移动计算设备102和/或众包服务器104可以基于交通信息确定道路代价。当然,在其它实施例中,道路代价信息可以基于可与沿两点之间的路线段的地理路由相关的任何其它数据或数据组合。例如,在一些实施例中,道路代价数据可以是距离、时间和/或交通信息的聚合且可以按照用户的期望或目标(例如最短路线、最快路线等)加以调节或者以其它方式取决于用户的期望或目标。
[0038]在块420中,移动计算设备102和/或众包服务器104确定在生成路线时是否考虑网络条件。网络条件可以例如基于用户请求或设备偏好而考虑。在一些实施例中,如果针对相关路线而存在充足的网络条件数据108,可以考虑网络条件。如果不考虑网络条件,方法400向前跳到以下描述的块424 ο如果考虑网络条件,方法400前进到块422。
[0039]在块422中,移动计算设备102和/或众包服务器104基于网络条件数据108调节道路代价信息。道路代价信息可以以使路由过程考虑网络条件的任何方式调节。例如,在一些实施例中,道路代价可以针对具有较差网络条件(例如劣质网络类型、弱信号强度、不稳定覆盖等)的地理位置之间的路线段而增加。如以上描述的,道路代价信息可以基于由任何移动计算设备102生成的网络条件数据108而调节;换言之,众包服务器104可以使用源自若干移动计算设备102的网络条件数据108来调节道路代价信息。另外,尽管被图示为在方法400的执行期间发生,但是可以在任何时间处调节道路代价信息。例如,当由移动计算设备102生成和/或由众包服务器104接收时,道路代价信息可以被调节和高速缓存以用于稍后使用。再次参照图5,考虑道路代价信息体现为图500中所示的图表数据结构的边。在该示例中,可以增加针对与具有较差网络条件的路线段相对应的边的道路代价值。例如,针对节点502、506之间的边的道路代价值可以基于较差网络条件而从10增加至16。相反,针对节点502、504之间的边的道路代价值可以基于可接受的网络条件而保持不变。作为基本道路代价的百分数或函数或者其它准则,对道路代价的增加或调节的具体量可以基于例如低质量网络条件的程度。此外,在一些实施例中,针对特定段的道路代价可以基于高质量网络条件而减小。
[0040]参照回到图4,在块424中,移动计算设备102和/或众包服务器104基于道路代价信息确定从起始位置到目的地位置的最优路线。因此,当过程考虑网络条件时,最优路线可以基于已被调节成反映网络条件的道路代价信息而确定。可以使用用于找到最优路线的任何合适算法。例如,在一些实施例中,可以使用最短路径图表搜索算法,诸如迪杰斯特拉(Dijkstra)算法。此外或可替换地,在一些实施例中,移动计算设备102和/或众包服务器104可以生成最优路线而不考虑网络条件(例如考虑距离、行进时间、交通堵塞等),并且该路线可以基于网络条件而调节(例如通过重路由以避开具有较差网络条件的路线段)。
[0041 ]再次参照图5,考虑迪杰斯特拉算法的说明性应用以找到节点502与508之间的最优路线。作为背景,为了施行迪杰斯特拉算法,最初将所有节点标记为未受访并且最初选择当前节点。对于当前节点,基于每一个对应边的道路代价值计算到所有相邻节点的试探性距离。对于每一个相邻节点,试探性距离如果小于先前计算的试探性距离则被记录。在计算针对所有相邻节点的试探性距离之后,将当前节点标记为受访。将具有最低试探性距离的未受访节点选择为下一当前节点,并且重复该算法直到当前节点是目的地节点。在完成之后,可以通过遵循具有最小计算距离的节点从目的地节点向起始节点原路折返通过图表来找到最优路线。
[0042]说明该算法的应用,首先考虑找到从节点502到节点508的路线而不考虑沿每一个路线段的网络条件。当前节点在节点502处开始,将节点504试探性地标记为具有距离7,并且将节点506试探性地标记为具有距离10。将节点502标记为受访,并且当前节点变为节点504。从节点504到节点506的试探性距离为7+9=16,其大于先前计算的距离10且因而被无视。将到节点508的试探性距离标记为21。将节点504标记为受访,并且当前节点变为节点506。将到节点508的试探性距离标记为12,替代先前计算的试探性距离。将节点506标记为受访,并且当前节点变为节点508。由于当前节点是目的地节点,因此该算法完成。在该说明性示例中,在不考虑网络条件的情况下的最短路径是从节点502通过节点506到节点508,并具有距离12。
[0043]现在考虑找到从节点502到节点508的路线而同时考虑网络条件。在说明性示例中,从节点502到节点506和从节点506到节点508的路线段具有较差网络条件。因此,针对那些路线段的道路代价已经分别从10增加至16和从2增加至6。应用该算法,当前节点在节点502处开始,将节点504试探性地标记为具有距离7,并且将节点506试探性地标记为具有距离16。将节点502标记为受访,并且当前节点变为节点504。从节点504到节点506的试探性距离是7+9=16,其与先前计算的距离16相同且因此可以被无视。将到节点508的试探性距离标记为21。将节点504标记为受访,并且当前节点变为节点506。到节点508的试探性距离是16+6=22,其大于先前计算的距离21且因此被无视。将节点506标记为受访,并且当前节点变为节点508。由于当前节点是目的地节点,因此该算法完成。在该说明性示例中,在考虑网络条件的同时的最短路径是从节点502通过节点504到节点508,并具有距离21。因此,在该示例中,避开具有较差网络条件的路线段——从节点502到节点506和从节点506到节点508的段。
[0044]参照回到图4,在确定最优路线之后,在块426中,移动计算设备102和/或众包服务器104向用户呈现路线。在一些实施例中,在块428中,移动计算设备102可以向用户接口输出路线。移动计算设备102可以使用任何用户接口模式,例如使用显示器132显示图形地图或者使用音频设备134输出可听方向。此外或可替换地,在一些实施例中,在块430中,众包服务器104可以向移动计算设备102传输最优路线。众包服务器104可以以移动计算设备102可使用的任何格式传输路线。例如,在一些实施例中,众包服务器104可以传输描述最优路线的格式化超文本和/或图像。此外或可替换地,众包服务器104可以传输描述由移动计算设备102解析、呈递和/或以其它方式处理的最优路线的数据以用于向用户呈现。在向用户呈现最优路线之后,方法400循环回到块402以服务针对路线的另一请求。
[0045]现在参照图6,在一些实施例中,此外或可替换地,移动计算设备102可以在操作期间建立环境600。说明性的环境600包括情境确定模块602、位置预测模块604、安全性确定模块606和用户通知模块608。环境600的各种模块可以体现为硬件、固件、软件或其组合。
[0046]情境确定模块602配置成确定移动计算设备102的情境。设备情境可以包括涉及移动计算设备102的当前位置、当前条件或当前使用的信息的任何组合。例如,设备情境可以包括移动计算设备102的当前位置、方向和速度、当前日时(time of day)、用户的计划路线、用户的当前运输模式、用户的当前车辆的性质或者该数据的任何组合。
[0047]位置预测模块604配置成基于当前设备情境预测移动计算设备102的将来位置。位置可以基于移动计算设备102的当前位置和移动、基于移动计算设备102的计划路线或者基于涉及移动计算设备102的将来位置的任何其它情境数据而预测。经预测的位置由安全性确定模块606针对安全性而评估。
[0048]安全性确定模块606配置成基于设备情境确定针对经预测的位置的安全水平。安全性确定模块606还配置成比较所确定的安全水平与阈值安全水平以确定经预测的位置的相对安全性。可以基于预定义的安全数据610(例如犯罪数据112和/或事件调度数据114)来确定安全水平。如以下进一步描述的,犯罪数据112和事
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1