具有动态重新组队点的导航的制作方法

文档序号:27014715发布日期:2021-10-22 23:28阅读:114来源:国知局
具有动态重新组队点的导航的制作方法

1.本公开总体上涉及基于计算机的导航。更具体地,本公开涉及一种导航应用,该导航应用实现用于跟踪多个用户和/或多个车辆的联合定位跟踪过程。


背景技术:

2.随着计算机技术的进步,可以向用户提供的服务数量和类型已经急剧地增长。经由计算机技术提供的服务包括导航服务。导航服务可以允许用户从当前定位导航到目的地定位。用户可以通过与导航服务相关联的应用提交目的地(例如,地址)。导航服务可以使用地理区域的地图数据以生成到目的地的规划路线。在一些示例中,规划路线包括一个或多个逐向(turn

by

turn)导航指导(direction)。导航服务还可以跟踪用户的当前定位,并基于用户的实际移动来更新规划路线。


技术实现要素:

3.本公开的实施例的各方面和优势将在下面的描述中部分地阐述,或者可以从说明书获知,或者可以通过实施例的实践获知。
4.本公开的一个示例方面指向用于为联合定位跟踪会话中的用户提供动态重新组队的计算机实现的方法。该方法包括由一个或多个计算设备从联合定位跟踪会话中的多个用户接收与联合定位跟踪会话中的多个用户中的第一用户和至少一个其他用户相关联的定位数据。该方法包括由一个或多个计算设备并基于所接收的与多个用户中的第一用户和至少一个其他用户相关联的定位数据,确定与第一用户相关联的分离参数已经超过了阈值分离值,与第一用户相关联的分离参数表示多个用户中的第一用户和一个其他用户之间的距离。该方法包括由一个或多个计算设备自动生成导航数据,所述导航数据用于将联合定位跟踪会话中的第一用户和一个其他用户之间的分离参数降低到阈值分离值以下。该方法包括由一个或多个计算设备向联合定位跟踪会话中的至少第一用户发送导航数据。
5.本公开的其他方面指向各种系统、装置、非暂时性计算机可读介质、用户界面以及电子设备。
6.参照下面的描述和所附权利要求,本公开的各种实施例的这些和其他特征、方面和优势将变得更好理解。包含在本说明书中并构成本说明书的一部分的附图示出本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
7.在参照附图的说明书中阐述了针对本领域的普通技术人员的实施例的详细讨论,在附图中:
8.图1描绘根据本公开的示例实施例的示例服务器

客户端系统;
9.图2描绘根据本公开的示例实施例的示例计算机系统;
10.图3描绘根据本公开的示例实施例的用于预测系统的执行的示例框图;
11.图4a

图4c描绘根据本公开的示例实施例的示例用户界面;以及
12.图5描绘根据本公开的示例实施例的用于组导航的方法的示例流程图。
具体实施方式
13.现在将详细参照本公开的实施例,其一个或多个示例在附图中示出。通过对本公开的解释而不是对本公开的限制的方式提供每个示例。事实上,对本领域的技术人员将显而易见的是,在不脱离本公开的范围或精神的情况下,可以对本公开进行各种修改和变化。例如,示出或描述为一个实施例的部分的特征可以与另一个实施例一起使用以产生更进一步的实施例。因此,本公开旨在涵盖落入所附权利要求及其等同物的范围内的这样的修改和变化。
14.一般而言,本公开指向在导航服务内启用联合定位跟踪过程。联合定位跟踪过程可以使多个用户能够在使用导航服务导航到共享目的地的同时与彼此共享定位数据。导航服务可以确定包括在联合定位跟踪会话中的用户中的一个或多个何时超过了距其他用户的阈值分离值,并自动生成导航数据以使用户回到阈值分离值内。
15.例如,可以在与导航服务相关联的服务器计算系统处发起包括两个或更多个用户的联合定位跟踪会话。一旦已经发起了联合定位跟踪会话,多个计算设备(每个计算设备与参与联合定位跟踪会话(又可以被称为联合定位跟踪过程组)的用户相关联)可以周期性地确定它们的当前定位,并将表示该定位的定位数据上传到服务器计算系统。
16.服务器计算系统可以将所接收的定位数据发送到每个计算设备以用于向一个或多个参与用户显示。这样,用户可以查看在联合定位跟踪会话中的其他用户的当前定位。使用所接收的定位数据,服务器计算系统可以(例如,经由与用户相关联的计算设备)确定与第一用户相关联的分离参数已经超过了预定距离阈值。作为响应,服务器计算系统可以生成更新的导航数据,并向包括在联合定位跟踪服务会话中的一个或多个用户发送更新的导航数据。更新的导航数据可以包括将一个或多个额外的路点添加到当前导航路线的数据。添加额外的路点(例如,停车点)可以允许用户在继续他们的旅行之前在共同停车点处重新组队。
17.更具体地,联合定位跟踪过程是由在一个或多个服务器计算系统和与个体用户相关联的一个或多个计算设备上实现的导航服务启用的。在一些示例中,与用户相关联的计算设备可以包括显示器。显示器可以由安装在计算设备上的导航应用使用以向用户显示导航信息。导航信息可以包括但不限于地理区域的地图、地理区域中的计算设备的定位、地图上指定的通过地理区域的路线、一个或多个导航指导(例如,通过地理区域的逐向指导)、和/或地理区域内的一个或多个兴趣点。
18.当用户接受加入联合定位跟踪会话的邀请时,导航应用可以开始在与计算设备相关联的显示器中显示包括在联合定位跟踪会话中的一个或多个其他用户的定位。这样,用户可以快速且容易地确定在地理区域内且相对于他们自己的联合定位跟踪会话的其他成员的当前定位。在一些示例中,可以从与导航服务相关联的服务器计算系统接收其他用户的定位信息。在一些示例中,可以经由对等通信协议或其他无线通信协议从与那些用户相关联的计算设备直接接收其他用户的定位信息。
19.在一些示例中,导航应用或导航服务可以响应于来自一个或多个用户的请求而发
起联合定位跟踪会话。例如,如果两个用户规划遵循相同的路线到达共同目的地,并且想要在组或旅行队中一起行驶,则用户中的一个可以通过他们相应的计算设备访问导航服务并请求为他们的旅行创建联合定位跟踪会话。作为响应,导航服务可以生成包括两个用户的新的联合定位跟踪会话。在一些示例中,第一用户可以请求创建联合定位跟踪会话,然后向一个或多个其他用户发送加入联合定位跟踪会话的邀请。
20.在一些示例中,加入联合定位跟踪会话的邀请可以在用户的计算设备上的导航应用中显示。因此,可以从与导航服务相关联的服务器计算系统向具体用户的计算设备发送邀请。邀请可以包括描述联合定位跟踪会话的规划的目的地的数据、已经包括在联合定位跟踪会话中的一个或多个用户的身份、具体联合定位跟踪会话的标识符、以及描述联合定位跟踪会话将在何时开始的日期和时间指示符。可以创建用户界面元素以向用户显示邀请和相关信息。用户然后可以通过与用户界面元素交互(例如,在“加入”按钮上点击或轻敲)加入联合定位跟踪会话。
21.一旦已经发起了联合导航跟踪过程会话,包括在联合导航跟踪过程会话中的每个用户可以具有相关联的计算设备,该计算设备周期性地确定他们的当前定位(例如,使用gps传感器或其它方法)并通过计算设备向与导航服务相关联的服务器计算系统发送所确定的当前定位的更新。当用户的当前定位被更新时,所更新的定位可以在与联合导航跟踪过程会话相关联的定位数据中被对应地更新。因此,参与给定的联合定位跟踪会话的每个用户也可以接收所更新的定位信息。这样,参与联合定位跟踪会话的用户可以查看一个或多个其他用户的当前位置。在一些示例中,与导航服务相关联的服务器计算系统可以在数据库中创建新的数据结构以表示新的联合定位跟踪过程会话。
22.在一些示例中,联合导航跟踪过程会话可以由与导航服务相关联的服务器计算系统自动生成。例如,导航服务可以有权访问访问导航服务的多个用户的用户数据。导航服务可以分析用户数据以生成一个或多个用户的预测行驶数据。例如,导航服务可以访问用户的当前定位和朝向(heading)数据。基于用户的当前定位和朝向,导航服务可以估计用户的可能目的地。基于当前定位和可能目的地,导航服务可以生成包括用户从当前定位到可能目的地的预测路线的预测行驶数据。
23.在另一个示例中,导航服务可以访问一个或多个用户的日历信息。用户的日历信息可以包括一个或多个安排的约会(appointment)。导航服务可以访问关于每个约会的位置的信息,并将其与用户的当前位置进行比较。然后可以基于约会的时间和位置以及用户将采用以在给定时间到达约会的可能路线,生成预测行驶数据。在一些示例中,可能路线可以基于用户的过去的行驶数据。
24.在一些示例中,导航服务可以分析过去的移动数据以识别用户已经进行的一个或多个过去的旅行。基于用户数据的这种分析,导航服务可以预测用户的行驶数据。例如,如果用户例行地进行特定旅行,导航服务可以生成针对未来类似旅行的预测行驶数据。例如,如果特定用户在大多数星期六在给定时间段期间从纽约市行驶到纽约州北部的城镇,则导航服务可以生成表示在下星期六到纽约州北部的旅行的预测行驶数据。
25.除了以上描述之外,用户可以被提供有控件,所述控件允许用户就本文中所述的系统、程序或特征是否以及何时启用对用户信息(例如,关于用户的社交网络、用户的日历数据、用户的过去的移动、用户的偏好或用户的当前位置的信息)的收集和分析,以及是否
向用户发送来自服务器的内容或通信做出选择。只有当用户选择允许这样的数据的分析时,才可以实现上述预测行驶数据的生成。此外,即使用户允许对一些数据进行分析,在其被存储或使用之前,可以以一种或多种方式对其进行处理,使得个人可识别信息被移除。例如,可以对用户的身份进行处理,使得不能确定用户的个人可识别信息,或者可以将获得位置信息的地方的用户的地理位置泛化(诸如到城市、邮政编码或州级),使得不能确定用户的特定位置。因此,用户可以控制收集关于用户的哪些信息、如何使用或分析该信息,以及向用户提供哪些信息。
26.在一些示例中,预测行驶数据可以包括初始定位(例如,起点和时间)、目的地定位(例如,终点和时间)、以及在初始定位和目的地定位之间的路线。路线可以是由导航服务基于常见行驶模式或用户的历史行驶偏好生成的预测行驶路线。在一些示例中,一旦导航服务已经生成了第一用户的预测行驶数据,该服务就可以将预测行驶数据与一个或多个其他用户的预测行驶数据进行比较。在一些示例中,导航服务可以将第一用户的预测行驶数据与由导航服务选择的一个或多个用户的预测行驶数据进行比较。一个或多个被选择的用户可以基于第一用户的社交网络数据来选择。例如,导航服务可以仅比较已知为通过社交连接而连接到彼此的用户之间的预测行驶数据。
27.在一些示例中,导航服务包括从一个或多个本地计算设备接收通信的服务器计算系统。在一些示例中,本地计算设备可以包括一个或多个移动计算机设备,包括但不限于:智能手机、膝上型计算机、平板计算设备和独立的gps系统。导航系统可以包括地图数据的数据库,地图数据包括与一个或多个地理区域相关联的信息,包括建筑物、道路和其他路点。当用户希望行驶到具体位置时,用户可以访问与导航服务相关联的导航应用。用户可以提交带有目的地地址的导航请求。作为响应,导航服务可以生成从当前位置到目的地地址的路线。
28.导航服务可以将第一用户的预测行驶数据与第二用户的预测行驶数据进行比较。作为比较的至少一部分,导航服务可以生成表示第一用户的预测行驶数据的时间和目的地与第二用户的预测行驶数据的时间和目的地匹配的程度的匹配分数。如果第一用户的预测行驶数据和第二用户的预测行驶数据之间的匹配分数超过阈值,则导航服务可以确定第一用户的预测行驶数据与第二用户的预测行驶数据具有关联。例如,如果两个用户的预测行驶时间具有高匹配分数,则导航服务可以预测这两个用户在大致相同的时间在到相同目的地的相同路径上行驶。
29.一旦导航服务已经确定了两个用户的行驶数据具有关联,则导航服务可以发起潜在联合定位跟踪会话。作为发起潜在联合定位跟踪会话的一部分,导航服务可以向至少第一用户和第二用户发送邀请。邀请包括用于潜在联合定位跟踪会话的标识符以及用于用户加入潜在联合定位跟踪会话的选项。作为响应,确定两个或更多个用户已经选择了选项以加入联合定位跟踪会话,导航服务可以完成联合定位跟踪会话的发起,并开始在第一用户和第二用户之间共享定位数据。在一些示例中,导航服务可以识别具有相关联的预测行驶数据的多个用户,并向他们中的所有发送邀请。
30.在一些示例中,在每个成员经由相关联的计算设备(例如,智能手机、平板计算机,等等)周期性地上传定位数据时,导航服务继续监视联合定位跟踪会话的用户。在一些示例中,导航服务可以计算每个用户的分离参数。计算的分离参数可以包括联合定位跟踪会话
中的相应用户和一个或多个其他用户之间的距离的测量。一个或多个其他用户可以是参与联合定位跟踪会话的最靠近的其他用户。例如,如果三个用户被包括在联合跟踪定位过程会话中,则导航服务可以通过确定每个相应用户距联合定位跟踪服务会话中的最靠近的其他用户的距离来计算他们的分离参数。
31.在一些示例中,可以通过确定第一用户的定位以及确定联合定位跟踪会话中所有其他用户的平均定位来测量分离参数。然后可以通过计算第一用户的定位和其他用户的平均定位之间的差生成分离参数。在一些示例中,分离参数可以表示到目的地的预测时间。
32.导航服务可以通过将相应用户到目的地的时间与包括在联合导航跟踪过程会话中的其他用户到目的地的平均时间进行比较,计算相应用户的分离参数。如果相应用户到目的地的时间超过其他用户到目的地的时间一确定的阈值,则导航服务可以确定该相应用户可能遇到了问题,该问题使该相应用户与组中的其余用户分离。在一些示例中,导航服务可以基于未来分离的预测计算分离参数。例如,联合定位跟踪会话中的两个用户正在使用火车。第一用户被估计为刚好在所规划的火车离开车站之前到达火车站。第二用户被估计为刚好在所规划的火车离开车站之后到达火车站。两个用户在物理距离上可能是靠近的,但是导航服务仍然可以基于第一用户将会登上火车而第二用户将不会登上火车的估计计算超过阈值的分离参数。
33.一旦导航服务已经计算了联合定位跟踪会话中的每个用户的分离参数,导航服务就可以确定用户中的任一用户是否具有超过阈值分离值的分离参数。阈值分离值表示用户被认为已经从联合定位跟踪会话分离处的阈值。当导航服务确定用户已经通过超过阈值分离值离开联合定位跟踪会话时,导航服务可以警告联合定位跟踪服务会话的其他成员。在一些示例中,导航服务可以自动生成导航数据,该导航数据被设计为减少先前已经超过了阈值分离值的用户的分离参数。
34.例如,如果导航服务确定用户已经超过了阈值分离值,则导航服务可以选择额外的路点,联合定位跟踪服务会话的用户可以在该路点处重新集合。在一些示例中,可以基于一个或多个因素(包括行驶距离、停车的便利性、用户兴趣、一天中的时间以及其他因素)来选择路点。例如,导航服务可以选择高速公路休息区域来重新集合联合定位导航会话的用户,这是因为进出的便利性及可用的停车位。在其它示例中,导航服务可以基于一天中的当前时间(例如,当时间是大约午餐或晚餐的时间时)而选择餐馆。在一些示例中,导航服务可以生成多个潜在选项,并通过安装在用户的计算设备上的导航应用向用户显示它们。用户然后可以选择多个选项中的一个或多个选项。
35.在一些示例中,导航数据包括用于联合定位跟踪服务会话中的用户中的一个或多个的替代路线(例如,绕行道路)。例如,导航服务可以确定替代路线将允许其分离参数已经超过了阈值分离值的用户重新加入其他用户,而不需要做特定停留。基于这种确定,导航服务可以将每个用户的路线更新为替代路线,从而允许已经与联合定位跟踪服务会话的一个或多个其他用户分离的用户拉近距离并重新加入会话。
36.在示例实施例中,当导航服务确定与一个或多个用户相关联的分离参数已经超过了阈值分离值时,导航服务可以向联合定位跟踪会话中的一个或多个用户发送通知。在一些示例中,通知可以包括允许会话中的每个用户陈述他们对于解决该问题的偏好的提示。例如,通知可以包括询问是否应当向行程中添加停车点,以及如果是的话,将偏好哪个停车
点的提示。导航服务可以收集对该问题的响应,并基于用户响应选择选项。
37.在一些示例中,导航服务可以确定未来可能需要做出对当前导航路线的一个或多个调整。例如,导航服务可以考虑一个或多个因素以确定何时以及是否应该对当前导航路线做出调整。因素可以包括但不限于:一个或多个车辆的燃料测量数据、检查发动机灯、轮胎压力损失;地标(例如,兴趣点)、过境处、潜在用餐需求、所估计的驾驶员疲劳和/或规定的休息时间。基于这些因素,导航服务可以更新当前导航路线。在一些示例中,导航服务可以向联合导航过程会话的用户提供警报或通知,并基于用户提交的反馈和偏好来更新当前导航路线。
38.在一些示例中,联合定位跟踪会话中的用户可以请求导航服务更改当前导航路线,以添加额外的路点或生成替代路线。在一些示例中,用户可以(通过相关联的计算设备上的导航应用)向联合定位跟踪会话的其他用户发送消息,以提议额外的路点或替代路线。用户可以通过导航应用进行通信,以选择具体停车位置或替代路线。一旦联合定位跟踪服务会话的用户选择了具体停车位置,导航服务就可以更新导航路线以包括所选择的停车位置(或替代路线)。这样,路线可以是在导航检测到问题时(例如,用户中的一个用户从组中分离)自动定制的或者是基于用户输入的(例如,当一个或多个用户请求对于当前路线的改变时)。
39.在一些示例中,联合定位跟踪会话可以在用户或导航服务确定不再需要该会话时结束。例如,联合定位跟踪会话中的一个或多个用户可以请求结束联合定位跟踪会话(例如,会话被终止且不再共享其他用户的定位信息)。如果联合定位跟踪会话的其他用户同意(例如,通过接受取消在导航应用的用户界面中显示的请求),导航服务可以结束联合定位跟踪会话。在一些示例中,每个用户可以在任何点从联合会话跟踪会话撤出。如果导航服务确定一个或更少的用户在联合定位跟踪会话中,导航服务可以自动结束联合定位跟踪会话。
40.在一些示例中,导航服务可以确定联合定位跟踪服务中的用户是否已经到达联合定位跟踪会话的目标目的地。响应于确定联合定位跟踪服务中的每个用户已经到达了目标目的地,导航服务可以确定不再需要联合定位跟踪服务,并自动结束联合定位跟踪会话。
41.在一些实施例中,导航服务包括向一个或多个用户计算设备提供导航数据的服务器计算系统。用户计算设备可以包括个人计算机、智能电话、平板计算机、全球定位服务设备、智能手表,等等。用户计算设备可以包括与导航服务相关联的专用应用。用户计算设备还可以包括可以(例如,通过网页)访问导航服务而非特别地专用于导航服务的多功能应用(例如,网络浏览器)。在一些示例中,用户计算设备提交导航请求(例如,包括目的地)并从与导航服务相关联的服务器计算系统接收导航数据(例如,包括逐向指令数据)。在一些示例中,用户计算设备可以存储从导航服务接收的地图数据。因此,用户计算设备可以在一些情况下基于本地存储的地图数据生成导航数据,而不需要特别地联系导航服务。
42.在一些示例中,用户计算设备可以经由从服务器计算系统接收的数据参与联合定位跟踪会话。服务器计算系统可以生成表示特定联合定位跟踪会话的数据结构、跟踪包括在联合定位跟踪服务会话中的每个用户的定位、向联合定位跟踪会话中的每个用户发送定位数据、以及在必要时更新导航数据(例如,基于检测到与其他用户分离的用户或来自用户的请求)。
43.在一些示例中,用户计算设备可以使用导航应用来管理与一个或多个其他用户的联合定位跟踪服务会话,而不需要联系服务器计算系统。例如,如果与服务器计算系统的联系是不可用或中断的,则一个或多个用户计算设备可以使用本地无线通信方法来创建和管理联合定位跟踪会话。在该示例中,可以自动地或基于用户选择将来自用户的组中的一个用户计算设备选择为管理设备,该管理设备可以收集用户定位数据并将其分发到其他用户计算设备中的每一个以用于显示。此外,所选择的管理设备可以生成导航数据和/或路线更新,并将该数据发送到与联合定位跟踪服务会话中的一个或多个其他用户相关联的计算设备。
44.在一些示例中,所选择的管理设备可以确定其他用户计算设备是否在通信距离内(例如,检测用户计算设备是否可以与管理设备通信)。根据检测用户计算设备不再在通信范围内,管理设备可以确定用户计算设备与联合定位跟踪会话分离(例如,用户已经超过了阈值分离值)。响应于该确定,管理设备可以通知仍在通信范围内的一个或多个其他用户计算设备。在一些示例中,管理设备可以生成一个或多个调整的规划的路线,以重新建立与分离的用户计算设备的连接。
45.本文中描述的系统和方法提供数个技术效果和益处。更特别地,本公开的系统和方法提供用于为多个用户和/或车辆提供组导航选项的改进的技术,以允许导航服务内高效的组导航。例如,当一个或多个用户变得与组分离时,导航服务可以自动地更改组的规划的路线。这样做,通过减少对于解决导航问题的单个导航设备的耗时和繁琐使用的需求,致使导航服务效率的提高。通过自动地更新导航数据以解决问题,导航服务能够减少通信系统、处理功率和存储器的使用。这样,由所公开的组导航过程创造的效率导致了现实世界的功率节省,并降低了提供导航系统所需的成本。
46.此外,基于一个或多个用户的预测行驶数据,自动建立用于未来联合定位跟踪会话的标识符的能力实现用于控制在联合定位跟踪会话中的用户之间的定位数据的共享的有效机制。在此基础上识别的特定会话的开始时间处,用户可以简单地需要确认或接受参与会话,而会话的参数已经被提前配置。如果已经基于与用户的可能的行驶规划相关联的信息建立了会话的标识符,用户接受参与会话的可能性增加,因此与导航服务相关联的服务器系统可以在建立更可能与用户相关的联合定位跟踪会话时更高效地利用其资源。此外,如果通过使识别的联合定位跟踪系统基于预测行驶信息来增加警告的相关性的,则例如向与可以加入的联合定位跟踪系统的标识符相关的用户的计算设备的警告的提供在与向用户设备的警告的传输、用户设备的界面上的警告的呈现以及用户的设备上的其它应用的中断相关联的资源方面可以变得更加高效。
47.现在参照附图,将进一步详细地讨论本公开的示例实施例。
48.示例设备和系统
49.图1描绘根据本公开的示例实施例的示例客户端

服务器环境100。客户端

服务器环境100包括由网络180连接并通过网络180进行通信的本地计算设备102和服务器计算系统130。尽管描绘了单个本地计算设备102,但是任何数量的本地计算设备102可以包括在客户端

服务器环境100中,并通过网络180连接到服务器计算系统130。
50.在一些示例实施例中,本地计算设备102可以是任何合适的设备,包括但不限于:智能电话、平板计算机、膝上型计算机、台式计算机、全球定位系统(gps)设备或者被配置使
得它可以允许个人访问服务器计算系统处的导航服务的任何其它计算机设备。本地计算设备102可以包括一个或多个处理器112、存储器114、导航应用120以及定位确定设备126。
51.一个或多个处理器112可以是任何合适的处理设备,诸如微处理器、微控制器、集成电路或其它合适的处理设备。存储器114可以包括任何合适的计算系统或介质,包括但不限于:非暂时性计算机可读介质、ram、rom、硬盘驱动器、闪存驱动器或其它存储器设备。存储器114可以存储由一个或多个处理器112可访问的信息,包括可以由一个或多个处理器112执行的指令。指令可以是任何指令集,当由一个或多个处理器112执行时,该指令致使一个或多个处理器112提供期望的功能。
52.特别地,在一些设备中,存储器114可以存储用于实现导航应用120和定位确定设备126的指令。本地计算设备102可以实现导航应用120以执行本公开的各方面,包括指导与服务器计算系统130的通信以及向用户提供导航服务(例如,逐向指导、联合定位跟踪过程、基于地理的搜索,等等)。
53.应注意的是,术语“系统”或“引擎”可以指专用硬件、在更通用的处理器上执行的计算机逻辑、或它们的一些组合。因此,系统或引擎可以在硬件、应用专用电路、控制通用处理器的固件和/或软件中实现。在一个实施例中,系统可以实现为程序代码文件,该程序代码文件存储在存储设备上、加载到存储器中并由处理器执行;或者可以从计算机程序产品中提供系统,该计算机程序产品例如为存储在有形的计算机可读存储介质(诸如ram、硬盘、或者光学介质或磁性介质)中的计算机可执行指令。
54.存储器114还可以包括数据116,诸如与导航应用120相关联的地图数据(例如,从服务系统130接收的表示包括一条或多条道路以及一个或多个兴趣位置的地理区域的数据),数据116可以由一个或多个处理器112检索、操纵、创建或存储。在一些示例实施例中,这样的数据可以被访问并向本地计算设备102的一个或多个用户显示(例如,在导航应用120的使用期间)或根据需要发送到服务器计算系统130。
55.在一些示例实施例中,本地计算设备102包括导航应用120。导航应用120可以向用户提供导航服务。在一些示例中,导航应用120可以促进用户对提供导航服务的服务器计算系统130的访问。在一些示例实施例中,导航服务包括提供到具体位置的指导。例如,用户可以输入目的地位置(例如,地址)。作为响应,导航应用120可以使用本地存储的用于具体地理区域的地图数据,提供允许用户导航到目的地位置的导航信息。导航信息可以包括从当前位置(或提供的位置)到目的地位置的逐向指导。
56.导航应用120可以在显示器中提供地理区域的视觉描绘。地理区域的视觉描绘可以包括一个或多个街道、一个或多个兴趣点(包括建筑物、地标,等等)以及规划的路线的高亮描绘。在一些示例中,导航应用120还可以提供基于位置的搜索选项以识别在给定地理区域内的一个或多个可搜索的兴趣点。在一些示例中,导航应用120可以包括相关地图数据的本地副本。在其它示例中,导航应用120访问在远程服务器计算系统130处的信息以提供所请求的导航服务。
57.在一些示例中,导航应用120可以是专门设计以提供导航服务的专用应用。在其它示例中,导航应用可以是通用应用(例如,网络浏览器),并且可以经由网络180提供对包括导航服务的各种不同的服务的访问。
58.导航应用120可以提供联合定位跟踪会话。在一些示例中,用户可以通过导航应用
120请求联合定位跟踪会话的创建。在一些示例中,导航应用120可以向服务器计算系统130发送创建联合定位跟踪过程的请求。作为响应,服务器计算系统130可以创建具体联合定位跟踪会话。在一些示例中,创建联合定位跟踪会话的请求可以包括用于导航服务的其他用户的一个或多个用户标识符。服务器计算系统130可以使用一个或多个用户标识符来将一个或多个其他用户邀请到联合定位跟踪会话。
59.在一些示例中,导航应用可以从服务器计算系统130接收至联合定位跟踪会话的邀请。例如,在与导航应用120相关联的用户界面中,可以向用户显示邀请。邀请可以包括识别已经包括在联合传统跟踪过程中的一个或多个其他用户的信息。在一些示例中,邀请可以包括提议的目的地定位和时间。邀请可以包括用于具体联合定位跟踪会话的标识符。邀请可以包括接受邀请的选项以及拒绝邀请的可选选项。
60.一旦用户已经加入联合定位跟踪会话,导航应用120就可以显示在联合定位跟踪会话中的一个或多个其他用户的定位数据。在一些示例中,导航应用的用户界面可以包括地理地图以及地理地图位置中的一个或多个用户的高亮定位。导航应用120可以继续接收在联合定位跟踪会话中的一个或多个其他用户的更新的定位信息,并且继续更新显示器以显示在联合定位跟踪会话中的其他用户的当前定位。
61.当用户正在参与联合定位跟踪会话时,导航应用120可以提供选项以与在联合定位跟踪会话中的一个或多个其他用户进行通信。例如,一个用户可以向在联合定位跟踪会话中的一个或多个其他用户发送消息。此外,用户可以在规划的导航路线中建议一个或多个额外的停车点。例如,如果用户希望在加油站或餐馆处停车,则用户可以向包括在联合定位跟踪会话中的其他用户建议额外的停车点。然后,每个其他用户可以通过接受建议、拒绝建议或提供替代方案来对建议进行响应。
62.在一些示例实施例中,用户可以接收在联合定位跟踪会话中的一个或多个用户已经离开联合定位跟踪会话的建立的周界的通知。例如,特定用户可能通过采用不正确的路线或被停车灯停止而与在联合定位跟踪会话中的用户的组分离。作为响应,与导航服务相关联的服务器计算系统130可以通知一个或多个其他用户,一个用户已经与在联合定位跟踪会话中的其他用户分离。此外,导航应用120可以接收旨在致使在联合定位跟踪过程中的用户重新集合的更新的路线信息。
63.定位确定设备126可以生成本地计算设备102的当前定位。在一些示例中,定位确定设备126可以使用全球定位系统(gps)技术以确定本地计算设备102的当前定位。在一些示例中,可以使用其它位置确定系统(例如,基于航位推算系统或类似系统)。由定位确定设备126生成的当前定位数据可以被发送到服务器计算系统130用于分析。
64.根据一些示例实施例,服务器计算系统130可以包括一个或多个处理器132、存储器134、导航服务提供器140、联合定位跟踪系统142、行驶预测系统144、导航数据存储170以及用户数据存储172。存储器134可以存储由一个或多个处理器132可访问的信息,包括可以由(一个或多个)处理器执行的指令138和数据136。
65.服务器计算系统130可以使用未图示的网络通信设备经由网络系统180与一个或多个本地计算设备102进行通信。在一些示例实施例中,导航服务提供器140可以通过网络系统180向一个或多个本地计算设备102提供导航服务。由导航服务提供器140提供的服务可以包括:基于位置的服务、到特定位置的路线生成、逐向导航指令、地理地图显示服务、卫
星影像叠加服务、和定位跟踪服务,以及其它导航服务。用户可以向服务器计算系统130提交导航请求,导航服务提供器140可以处理这些请求以提供所请求的导航服务。例如,用户可以发送对于到特定位置的指导的请求。作为响应,导航服务提供器140可以访问导航数据存储170、基于在导航数据存储170中的数据计算到所请求的位置的一条或多条路线、以及向本地计算设备102发送描述描述一条或多条路线的信息。
66.在一些示例实施例中,由服务器计算系统130提供的服务可以由联合定位跟踪系统142提供。在一些示例中,联合定位跟踪系统142可以响应于用户请求而发起联合定位跟踪会话(或组)。联合定位跟踪过程可以使多个用户能够在使用导航服务导航到共享目的地的同时与彼此共享定位数据。例如,多个用户各自具有相关联的本地计算设备102,每个本地计算设备102包括显示器和已安装的导航应用120。
67.当发起联合定位跟踪会话时,每个本地计算设备102可以向联合定位跟踪系统142发送位置。联合定位跟踪系统142可以与每个与联合定位跟踪会话中的用户相关联的本地计算设备102共享来自一些或所有本地计算设备102的所接收的定位数据。每个本地计算设备102可以在与导航应用相关联的用户界面中显示包括在联合定位跟踪会话中的一些或所有其他用户的位置。这样,用户可以查看在联合定位跟踪会话中的其他用户的当前定位。因此,想要一起(例如,在车辆旅行队或等同物中)行驶到共同目的地的用户可以了解组中每个其他用户的进度和当前位置。
68.在一些示例中,联合定位跟踪系统142可以响应于来自一个或多个用户的请求发起联合定位跟踪会话。例如,如果两个用户规划遵循相同的路线到共同目的地,并且想要在组或旅行队中一起行驶,则用户中的一个可以通过他们相应的本地计算设备102向联合定位跟踪系统142发送请求,并请求为他们的旅行创建联合定位跟踪会话。作为响应,联合定位跟踪系统142可以生成包括两个用户的新的联合定位跟踪会话。在一些示例中,第一用户可以请求创建联合定位跟踪会话,然后请求联合定位跟踪系统142向一个或多个其他用户发送加入联合定位跟踪会话的邀请。作为响应,联合定位跟踪系统142可以(例如,基于从邀请用户接收的用户标识符)向一个或多个本地计算设备102发送邀请。
69.在一些示例中,联合导航跟踪过程会话可以由服务器计算系统130处的联合定位跟踪系统142基于从行驶预测系统144接收的数据自动生成。在一些示例中,行驶预测系统144可以有权访问多个用户的用户数据存储172,该多个用户访问由服务器计算系统130提供的导航服务。行驶预测系统144可以分析用户数据存储172中的用户数据以生成针对一个或多个用户的预测行驶数据。例如,行驶预测系统144可以访问用户的当前定位和朝向数据。基于用户的当前定位和朝向,行驶预测系统144可以估计用户的可能目的地。基于当前定位和可能目的地,行驶预测系统144可以生成包括用户从当前定位到可能目的地的预测路线的预测行驶数据。
70.在另一示例中,行驶预测系统144可以访问来自用户数据存储172的一个或多个用户的日历信息。用户的日历信息可以包括一个或多个安排的约会。行驶预测系统144可以访问关于每个约会的位置的信息,并将其与用户的当前位置进行比较。行驶预测系统144可以访问导航数据存储170,基于约会的时间和位置以及用户将采用以在给定时间到达约会的可能路线,生成预测行驶数据。在一些示例中,可能路线可以基于用户的过去的行驶数据(存储在用户数据存储172中)。
71.在一些示例中,行驶预测系统144可以分析过去的移动数据以识别用户已经进行的一个或多个过去的旅行。基于用户数据的这种分析,行驶预测系统144可以预测用户的行驶数据。例如,如果用户例行地进行特定旅行,则行驶预测系统144可以生成针对未来类似旅行的预测行驶数据。例如,如果特定用户在大多数星期六在给定时间段期间从纽约市行驶到纽约州北部的城镇,则行驶预测系统144可以生成表示在下个星期六到纽约州北部的旅行的预测行驶数据。
72.在一些示例中,预测行驶数据可以包括初始定位(例如,起点和时间)、目的地定位(例如,终点和时间)、以及在初始定位和目的地定位之间的路线。路线可以是由行驶预测系统144基于常见行驶模式或用户的历史行驶偏好以及包括在导航数据存储170中的地图数据生成的预测行驶路线。在一些示例中,一旦行驶预测系统144已经生成了第一用户的预测行驶数据,行驶预测系统144就可以将预测行驶数据与一个或多个其他用户的预测行驶数据进行比较。在一些示例中,行驶预测系统144可以将第一用户的预测行驶数据与由导航服务选择的一个或多个用户的预测行驶数据进行比较。一个或多个被选择的用户可以基于在用户数据存储172中存储的第一用户的社交网络数据来选择。例如,行驶预测系统144可以仅比较已知为通过社交连接而连接到彼此的用户之间的预测行驶数据。
73.行驶预测系统144可以将第一用户的预测行驶数据与第二用户的预测行驶数据进行比较。作为比较的至少一部分,行驶预测系统144可以生成表示第一用户的预测行驶数据的时间和目的地匹配第二用户的预测行驶数据的时间和目的地的程度的匹配分数。如果第一用户的预测行驶数据和第二用户的预测行驶数据之间的匹配分数超过阈值,则行驶预测系统144可以确定第一用户的预测行驶数据与第二用户的预测行驶数据具有关联。例如,如果两个用户的预测行驶时间具有高匹配分数,则行驶预测系统144可以预测这两个用户在大致相同的时间在到相同目的地的相同路径上行驶。
74.一旦行驶预测系统144已经确定了两个用户的行驶数据具有关联,联合定位跟踪系统142就可以发起潜在联合定位跟踪会话。作为发起潜在联合定位跟踪会话的一部分,联合定位跟踪系统142可以向与至少第一用户和第二用户相关联的本地计算设备发送邀请。邀请包括用于潜在联合定位跟踪会话的标识符以及用于用户加入潜在联合定位跟踪会话的选项。作为响应,确定两个或更多个用户已经选择了选项以加入联合定位跟踪会话,联合定位跟踪系统142可以完成联合定位跟踪会话的发起,并开始在第一用户和第二用户之间共享定位数据。在一些示例中,联合定位跟踪系统142可以识别具有相关联的预测行驶数据的多个用户,并向他们中的所有发送邀请。
75.在一些示例中,在每个用户经由相关联的本地计算设备102(例如,智能手机、平板计算机,等等)周期性地上传定位数据时,联合定位跟踪系统142可以继续监视联合定位跟踪会话的用户。在一些示例中,联合定位跟踪系统142可以计算每个用户的分离参数。计算的分离参数可以包括联合定位跟踪会话中的相应用户和一个或多个其他用户之间的距离的测量。一个或多个其他用户可以是参与联合定位跟踪会话的最靠近的其他用户。例如,如果三个用户被包括在联合定位跟踪会话中,则联合定位跟踪系统142可以通过确定每个相应用户的距在联合定位跟踪会话中的最靠近的其他用户的距离来计算他们的分离参数。
76.在一些示例中,可以通过确定第一用户的定位以及确定联合定位跟踪会话中的所有其他用户的平均定位来测量分离参数。然后可以通过计算第一用户的定位和其他用户的
平均定位之间的差生成分离参数。在一些示例中,分离参数可以表示到目的地的预测时间。联合定位跟踪系统142可以通过将相应用户到目的地的时间与包括在联合导航跟踪过程会话中的其他用户到目的地的平均时间进行比较,计算相应用户的分离参数。如果相应用户到目的地的时间超过其他用户到目的地的时间一确定的阈值,则联合定位跟踪系统142可以确定该相应用户可能遇到了问题,该问题使该相应用户与组中的其余用户分离。
77.一旦联合定位跟踪系统142已经计算了在联合定位跟踪会话中的每个用户的分离参数,联合定位跟踪系统142就可以确定用户中的任一用户是否具有超过阈值分离值的分离参数。阈值分离值表示用户被认为已经从联合定位跟踪会话分离处的阈值。当联合定位跟踪系统142确定用户已经通过超过阈值分离值从联合定位跟踪会话分离时,联合定位跟踪系统142可以警告联合定位跟踪服务会话的其他成员。在一些示例中,联合定位跟踪系统142可以利用重新组队系统146以自动生成导航数据,该导航数据被设计为减少先前已经超过了阈值分离值的用户的分离参数。
78.例如,联合定位跟踪系统142可以警告在联合定位跟踪服务中的其他用户确定一用户已经超过了阈值分离值,重新组队系统146可以选择额外的路点,联合定位跟踪服务会话的用户可以在该路点处重新集合。重新组队系统可以访问导航数据存储170以生成或更新导航数据。在一些示例中,可以由重新组队系统146基于一个或多个因素(包括行驶距离、停车的便利性、用户兴趣、一天中的时间以及其他因素)来选择路点。例如,重新组队系统146可以选择高速公路休息区域来重新集合联合定位导航会话的用户,这是因为进出的便利性及可用的停车位。在其它示例中,重新组队系统146可以基于一天中的当前时间(例如,当时间是大约午餐或晚餐的时间时)而选择餐馆。在一些示例中,重新组队系统146可以生成多个潜在选项,并通过安装在用户的计算设备上的导航应用向用户显示它们。用户然后可以选择多个选项中的一个或多个选项。在一些示例中,重新组队系统146可以选择大于一个的路点,并在大于一个的步骤中使用户重新组队。例如,用户中的两个用户在b点处重新加入其它用户之前,可以首先在a点汇合。
79.在一些示例中,导航数据包括用于联合定位跟踪服务会话中的用户中的一个或多个的替代路线(例如,绕行道路)。例如,重新组队系统146可以确定替代路线将允许其分离参数已经超过了阈值分离值的用户重新加入其他用户,而不需要做特定停留。基于这种确定,重新组队系统146可以将每个用户的路线更新为替代路线,从而允许已经与联合定位跟踪服务会话的一个或多个其他用户分离的用户拉近距离并重新加入会话。
80.在示例实施例中,当联合定位跟踪系统142确定与一个或多个用户相关联的分离参数已经超过了阈值分离值时,联合定位跟踪系统142可以向联合定位跟踪会话中一个或多个用户发送通知。在一些示例中,通知可以包括允许会话中的每个用户陈述他们对于解决该问题的偏好的提示。例如,通知可以包括询问是否应当向行程添加停车点,以及如果是的话,将偏好哪个停车点的提示。联合定位跟踪系统142可以经由网络180从一个或多个本地计算设备102收集对该问题的响应,并基于用户响应选择选项。
81.在一些示例中,联合定位跟踪系统142可以确定未来可能需要做出对当前导航路线的一个或多个调整。例如,联合定位跟踪系统142可以考虑一个或多个因素以确定何时以及是否应该对当前导航路线做出调整。因素可以包括但不限于:一个或多个车辆的燃料测量数据、检查发动机灯、轮胎压力损失;地标(例如,兴趣点)、过境处、潜在用餐需求、所估计
的驾驶员疲劳和/或规定的休息时间。基于这些因素,联合定位跟踪系统142可以更新当前导航路线。在一些示例中,联合定位跟踪系统142可以向联合导航过程会话的用户提供警报或通知,并基于用户提交的反馈和偏好来更新当前导航路线。
82.在一些示例实施例中,导航数据存储170可存储各种导航数据。例如,导航数据存储170可以包括地图数据。在一些示例中,地图数据可以包括一系列子地图,每个子地图包括针对包含对象(例如,建筑物或其它静态特征)、行驶路径(例如,道路、高速公路、公共交通线路、步行路径,等等)以及其它兴趣特征的地理区域的数据。导航数据存储170还可以包括图像数据,该图像数据与一个或多个地理区域相关联。导航数据存储还可以包括与一个或多个地理区域相关联的卫星图像数据。
83.在一些示例实施例中,用户数据存储172可以表示单个数据库。在一些实施例中,用户数据存储172表示服务器计算系统130可访问的多个不同的数据库。在一些示例中,用户数据存储172可以包括当前用户定位和朝向数据。在一些示例中,用户数据存储172可以包括包含用户日历数据、用户社交网络数据、用户历史行驶数据以及用户偏好数据的各种用户数据。
84.网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或它们的一些组合。一般来说,可以使用各种通信协议(例如,tcp/ip、http)、编码或格式(例如,html、xml)和/或保护方案(例如,vpn、安全http、ssl),经由使用任何类型的有线和/或无线连接的网络接口,进行本地计算设备102和服务器计算系统130之间的通信。
85.图2描绘根据本公开的示例实施例的示例联合定位跟踪系统142。在该示例中,联合定位跟踪系统142包括与图1所显示的配置不同的配置中的一个或多个组件。例如,联合定位跟踪系统142可以包括行驶预测系统144、位置识别系统202、重新组队系统146、路线更新系统204、用户数据存储172和导航数据存储170。
86.在一些示例实施例中,联合定位跟踪系统142可以包括行驶预测系统144。如上所述,行驶预测系统144可以访问用户数据存储172中的用户数据以生成一个或多个预测行驶规划。使用预测行驶规划,行驶预测系统144可以确定具有匹配的预测行驶规划的两个或更多个用户。基于该确定,行驶预测系统144可以发起针对两个或更多个用户的联合定位跟踪会话。
87.在一些示例实施例中,一旦已经发起了联合定位跟踪会话,位置识别系统202就可以从与一个或多个用户相关联的一个或多个本地计算设备接收定位信息。位置识别系统202可以分析所接收的定位信息,以确定与特定用户相关联的分离参数是否已经超过了阈值分离值。分离参数可以至少部分地基于在导航数据存储170中存储的数据来生成。
88.一旦位置识别系统202确定至少一个用户已经超过了阈值分离值,重新组队系统146就可以生成更新的导航规划,以允许分离的用户与其他用户重新组队。例如,重新组队系统146可以向规划的路线添加一个或多个额外的停车点。用户然后可以前往停车点,并当所有用户已经重新加入时,在规划的路线上继续。
89.路线更新系统204可以向与在联合定位跟踪会话中的用户相关联的一个或多个本地计算设备发送更新的导航规划。
90.图3描绘根据本公开的示例实施例的用于预测系统的执行的示例框图。如在该示例中所见,行驶预测系统(例如,图1中的行驶预测系统144)可以访问与多个用户(例如,用
户a、用户b、用户c和用户d)相关联的用户数据。在一些示例中,可以基于用户的社交网络数据选择特定用户。例如,多个用户(例如,用户a、用户b、用户c和用户d)全部可以在行驶预测系统可访问的社交网络数据(例如,图1中的用户数据存储172)中连接。
91.在该示例中,行驶预测系统可以访问四个用户的日历数据。用户a的日历数据302、用户b的日历数据304、用户c的日历数据306和用户d的日历数据308分别可以包括一个或多个日历约会。行驶预测系统可以基于一个或多个日历约会生成每个用户的预测行驶数据。例如,行驶预测系统生成用户a的预测行驶规划a 312、用户b的预测行驶规划b 314、预测行驶规划c316以及预测行驶规划d 318。
92.每个预测行驶规划(例如,312

318)可以被发送到多用户比较系统310。在一些示例中,多用户比较系统310可以被包括在行驶预测系统中。
93.在该示例中,三个用户(用户a、用户b和用户d)的预测行驶规划可以包括行驶到勇士队的篮球比赛的规划。这样,多用户比较系统310可以确定预测行驶规划a 312、预测行驶规划b 314和预测行驶规划d 318与彼此相关联,并且用户可能有兴趣加入联合定位跟踪会话。在一些示例中,基于该确定,多用户比较系统310可以生成邀请以将用户a、用户b和用户d邀请到联合定位跟踪会话。
94.图4a

图4c描绘根据本公开的示例性实施例的示例用户界面。在该示例中,三个用户包括联合定位跟踪会话,并且他们的定位显示在地理地图上。此外,该示例地图还描绘了示例距离边界402。在图4a中,所有三个用户在相同路径上并且在示例距离边界内。所描绘的距离边界402可以基于距包括在联合定位跟踪会话中的所有用户的平均定位的距离来计算。
95.图4b描绘示例情况,其中包括在联合定位跟踪会话中的三个用户中的一个用户404已经与联合定位跟踪会话的其他用户分离,并因此越过了示例距离边界402。
96.图4c描绘其中重新组队系统146已经自动地生成重新组队点406的示例情况。所有三个车辆的规划行驶路线已经被更新为包括生成的重新组队点406。因此,每个用户可以朝重新组队点406行驶。一旦所有车辆已经到达重新组队点406,他们就可以在他们现有路线上继续。
97.示例方法
98.图5描绘根据本公开的示例实施例的用于组导航的方法的示例流程图。尽管将参照图1的服务器计算系统130讨论方法(500),但是方法(500)可以由任何合适的计算系统来执行。
99.此外,为了说明和讨论的目的,图5描绘以特定顺序执行的步骤。使用本文中提供的公开内容,本领域的普通技术人员将理解,在不脱离本公开的范围的情况下,方法(500)的各种步骤可以以各种方式被省略、调整和/或重新排列。
100.在一些示例实施例中,服务器计算系统(例如,图1中的服务器计算系统130)可以发起包括多个用户的联合定位跟踪会话。在一些示例中,响应于从与用户相关联的计算设备接收的生成联合定位跟踪会话的请求而发起联合定位跟踪会话。请求可以包括与要被邀请到联合定位跟踪会话的至少一个其他用户相关联的标识符。
101.在一些示例中,服务器计算系统可以获得多个用户的预测行驶数据。服务器计算系统可以比较多个用户中的个体用户的相应的预测行驶数据。服务器计算系统基于多个用
户中的子集的用户的预测行驶数据之间的对应关系来识别子集的用户之间的关联。
102.在一些示例实施例中,服务器计算系统向与子集的用户相关联的多个设备提供用于潜在联合定位跟踪会话的标识符。响应于从与子集的用户中的用户相关联的至少两个设备接收响应,服务器计算系统发起用于多个设备的联合定位跟踪会话。
103.在一些示例中,服务器计算系统可以从与服务器计算系统相关联的一个或多个数据库访问多个用户的用户数据。服务器计算机系统可以基于与相应用户相关联的用户数据来生成相应用户的预测行驶数据,包括相应用户的预测目的地定位和时间。相应用户的用户数据可以包括与相应用户即将到来的日程相关联的日历数据,并且基于包括在相应用户的日历数据中的约会数据来确定预测目的地定位和时间。在一些示例实施例中,日历数据可以不仅仅是指用户日历中当前安排的约会。例如,如果用户具有确认购买了在特定剧场和在特定时间的电影票的电子邮件,则服务器计算系统可以确定用户正规划在该特定时间行驶到该特定剧场。类似地,日历数据可以指基于社交媒体数据(例如,指示特定规划的帖子)、财务数据(例如,票务购买)、过去的导航搜索(例如,寻找对特定位置的指导)等收集的推断的日历数据。
104.相应用户的用户数据可以包括相应用户的当前定位数据和当前行驶方向,并且至少部分地基于相应用户的当前定位数据和当前行驶方向来确定预测目的地定位和时间。相应用户的用户数据可以包括与相应用户的行驶历史相关联的历史数据,并且基于与相应用户相关联的一个或多个记录的过去的目的地来确定预测目的地定位和时间。
105.在一些示例实施例中,服务器计算系统可以访问与多个用户中的相应用户相关联的社交数据。基于与相应用户相关联的社交数据,服务器计算系统可以识别与相应用户相关联的用户子集。服务器计算系统可以将与相应用户相关联的预测行驶数据和与用户子集中的每个用户相关联的预测行驶数据进行比较。标识符可以被包括在向与用户子集中的用户相关联的计算设备发送的加入联合定位跟踪会话的请求中。服务器计算系统可以周期性地接收与联合定位跟踪会话中的一个或多个用户相关联的定位数据。服务器计算系统可以向联合定位跟踪会话中的一个或多个用户发送所接收的定位数据。
106.在一些示例实施例中,服务器计算系统(例如,图1中的服务器计算系统130)在502处从联合定位跟踪会话中的多个用户接收与联合定位跟踪会话中的多个用户中的第一用户和至少一个其他用户相关联的定位数据。基于所接收的与多个用户中的第一用户和至少一个其他用户相关联的定位数据,服务器计算系统在504处确定与第一用户相关联的分离参数已经超过了阈值分离值,与第一用户相关联的分离参数表示多个用户中的第一用户和一个其他用户之间的距离。
107.在一些示例中,可以与第一用户相关联的分离参数表示所接收的与第一用户相关联的定位数据和所接收的与联合定位跟踪会话中的多个用户中的最靠近的其他用户相关联的定位数据之间的距离。
108.在一些示例中,可以与第一用户相关联的分离参数表示所接收的与第一用户相关联的定位数据和所接收的与联合定位跟踪会话中的多个用户中的一个或多个其它用户相关联的定位数据的平均值之间的距离。在一些示例中,分离参数可以表示第一用户的预期到达时间和联合定位跟踪会话中的多个用户中的至少一个其他用户的平均预期到达时间之间的差。
109.在一些示例实施例中,服务器计算系统在506处自动生成导航数据,该导航数据用于将联合定位跟踪会话中的第一用户和一个其他用户之间的分离参数降低到阈值分离值以下。在一些示例中,导航数据可以包括导航指令,该导航指令用于更改在与联合定位跟踪会话中的多个用户相关联的一个或多个计算设备处的当前路径数据,以包括额外的导航路点。
110.在一些示例实施例中,导航数据可以包括指令,所述指令用于更改在与联合定位跟踪会话中的多个用户相关联的一个或多个计算设备处的当前路径数据,以将与第一用户相关联的分离参数降低到阈值分离值以下的值。
111.在一些示例实施例中,服务器计算系统在508处向联合定位跟踪会话中的至少第一用户发送导航数据。服务器计算系统可以向联合定位跟踪会话中的一个或多个用户发送与第一用户相关联的分离参数已经超过了阈值分离值的通知。
112.额外的公开
113.本文中讨论的技术参照了服务器、数据库、软件应用和其它基于计算机的系统,以及所采取的行动、向这样的系统发送的信息和从这样的系统发送的信息。基于计算机的系统的固有灵活性允许在组件之间或之中的任务和功能的很多种可能的配置、组合以及划分。例如,本文中讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现或者跨多个系统分布。分布式组件可以顺序地或并行地操作。
114.虽然已经关于其各种具体示例实施例详细描述了本主题,但是通过对本公开的解释而不是限制的方式提供每个示例。本领域的技术人员在获得对前述内容的理解之后可以很容易地产生对这样的实施例的更改、变化和等同物。相应地,主题公开内容不排除对本主题的这样的修改、变化和/或添加的包括,如对于本领域的普通技术人员来说将是显而易见的。例如,示出或描述为一个实施例的部分的特征可以与另一个实施例一起使用以产生更进一步的实施例。因此,本公开旨在涵盖这样的更改、变化和等同物。
115.特别地,尽管为了说明和讨论的目的,图5分别描绘以特定顺序执行的步骤,但本公开的方法不限于特定示出的顺序或排列。在不脱离本公开的范围的情况下,方法5的各种步骤可以以各种方式被省略、重新排列、组合和/或调整。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1