运动对象的管理的制作方法

文档序号:13518754阅读:180来源:国知局
运动对象的管理的制作方法

本发明涉及用于管理地理空间和在其上运动对象的系统



背景技术:

诸如美国专利公开2012/0291049中的系统的驾驶员辅助系统,其基于位置信息在处理节点之间分割事件,使得每个处理节点负责针对表示预定义的空间地区的关系执行查询。诸如美国专利8,850,013中的系统的其他系统,其通过在多个服务器上分发描述地理对象的数据并且基于用户的地理位置将对数据的请求引导到多个服务器中的一个,来执行服务器负载均衡。诸如美国专利8,862,146中的系统的其他系统,其增强用于移动设备的位置信息,所述移动设备包括位置信息模块,该位置信息模块被配置为获得指示所述移动设备的位置的位置数据,获得包括用于所述移动设备的上下文信息的附加数据,所述位置信息模块还被配置为处理所述附加数据以获得所述上下文信息,并且至少部分地基于与所述上下文信息相关联地处理所述位置数据,来确定用于所述移动设备的增强位置信息。

由于期望由系统管理地理地图上的大量汽车和事件,系统必须处理大量的信息。由于汽车通常高速运动并且需要最新信息,希望在一个服务器内完成驾驶系统的所有过程以便将针对个体汽车的处理时间最小化。

然而,随着由这样的系统处理的地理空间扩大,由于汽车数量和道路数量的增加,传输和接收的信息量也增加,并且相应的需求可能超过单一服务器的处理能力。即使将地理空间进行划分并且将多个服务器用于处理划分所产生的空间,汽车也在多个划分的地理空间之间高速运动,并且因此需要服务器之间的进一步通信,导致服务器之间的通信负载增加。服务器之间通信负载的增加阻止了系统在短时间内处理每辆汽车。因此,为了有效地管理大规模的地理空间,还需要一种实现服务器之间的较少通信负载和较高可扩展性的系统。



技术实现要素:

本文的创新的第一方面提供了一种系统,该系统包括:分别被分配给地理空间中的多个地区的多个移动对象服务器,所述多个移动对象服务器包括至少一个移动对象服务器,所述至少一个移动对象服务器包括被分配给所分配的地区中的运动对象的移动对象代理;以及可操作以管理在所述地理空间中发生的事件的多个事件服务器;其中每个移动对象服务器可操作以:响应于所述运动对象运动到相邻地区,将所述移动对象代理传送到被分配给所述相邻地区的所述多个移动对象服务器中的一个移动对象服务器,并且执行所述移动对象代理以:从至少一个事件服务器收集事件的信息,以及向所述运动对象提供帮助所述运动对象在地理空间中行进的信息。第一方面可以在减少服务器之间的通信负载并实现更大可扩展性的同时帮助运动对象在地理空间中行进。

根据一个实施例,系统可以可选地包括多个对象服务器,所述多个对象服务器包括至少一个对象服务器,所述至少一个对象服务器包括包含所述运动对象的信息对象代理,其中每个移动对象服务器还可操作以:从被分配给所述移动对象服务器的所述地区中的所述运动对象接收信息;从被分配给所述移动对象服务器的所述地区中的所述运动对象生成,以及如果在所述多个移动对象服务器之中不存在正在执行所述移动对象代理的移动对象服务器,则通过从包括包含所述运动对象的信息的所述对象代理的所述对象服务器获得所述运动对象的信息,来生成针对所述运动对象的所述移动对象代理。从而,如果运动对象跨各地区运动,则该实施例可以以高效的方式管理运动对象。

根据一个实施例,包含在所述对象代理中的所述信息可以可选地包括:移动对象服务器标识符,所述移动对象服务器标识符标识执行与所述对象代理对应的所述移动对象代理的所述多个运动对象中的一个运动对象;以及其中所述移动对象服务器可操作以:从被分配给所述移动对象服务器的所述地区中的运动对象接收信息,如果所述移动对象服务器没有在执行针对所述运动对象的所述移动对象代理,则从管理针对所述运动对象的所述对象代理的所述对象服务器获得所述移动对象服务器标识符,以及请求由所述移动对象服务器标识符标识的移动对象服务器以传送针对所述运动对象的所述移动对象代理。从而,该实施例可以提高跨各地区管理运动对象的效率。

根据一个实施例,一种系统还可以包括多个乘客服务器,所述多个乘客服务器包括至少一个乘客服务器,所述至少一个乘客服务器包括包含至少一个乘客的信息的乘客代理。所述至少一个移动对象服务器还可以可操作以针对所述运动对象的所述移动对象代理,以基于所述运动对象的所述至少一个乘客的信息向所述运动对象提供帮助所述运动对象在所述地理空间中行进的信息。从而,该实施例可以鉴于乘客的存在而改善辅助信息。

根据一个实施例,每个移动对象服务器还可操作以从在被分配给所述移动对象服务器的所述地区中的所述运动对象接收信息,确定所述运动对象所在的所述目标路线,请求分配给所述目标路线所在的区域的所述事件代理发送第一事件列表,所述第一事件列表包含所述目标路线上的事件和所述目标路线的所述影响事件的信息,并且执行针对所述运动对象的所述移动对象代理,以基于另一路线上的事件和所述目标路线的影响事件的信息,来向所述运动对象提供帮助所述运动对象在所述地理空间中行进的信息。由此,该实施例可以在保持服务器之间的通信负载减少的同时改善帮助信息。

根据一个实施例,至少一个移动对象服务器还可操作以从被分配给所述移动对象服务器的所述地区中的所述运动对象接收信息,并将所述信息发送到被分配给所述运动对象所在的地区的所述多个事件服务器中的一个。被分配给所述区域的所述事件代理可执行来基于来自所述运动对象的信息生成事件。从而,该实施例可以通过快速识别事件来改善辅助信息。

根据一个实施例,被分配给该区域的事件代理可执行以基于来自所述运动对象的信息生成候选事件,并基于来自另一运动对象的信息将所述候选事件升级为事件。从而,该实施例可以改善事件识别过程。

本发明的实施例可以包括一种计算机实现的方法,该方法包括:将多个移动对象服务器分别被分配给地理空间中的多个地区,所述多个移动对象服务器包括至少一个移动对象服务器,所述至少一个移动对象服务器包括被分配给所分配的地区中的运动对象的移动对象代理,并且由多个事件服务器管理在所述地理空间中发生的事件。每个移动对象服务器可操作以响应于所述运动对象运动到相邻地区,将所述移动对象代理传送到被分配给所述相邻地区的所述多个移动对象服务器中的一个移动对象服务器,以及执行所述移动对象代理以:从至少一个事件服务器收集事件的信息,以及向所述运动对象提供帮助所述运动对象在地理空间中行进的信息。第八方面可以在减少服务器之间的通信负载并实现更大可扩展性的同时帮助运动对象在地理空间中行进。

根据本发明的一个方面,提供了一种计算机程序产品,包括具有随其体现的程序指令的非暂时性计算机可读存储介质,所述程序指令可由计算机执行以使所述计算机执行包括以下的操作:将多个移动对象服务器分别被分配给地理空间中的多个地区,所述多个移动对象服务器包括至少一个移动对象服务器,所述至少一个移动对象服务器包括被分配给所分配的地区中的运动对象的移动对象代理;以及由多个事件服务器管理在所述地理空间中发生的事件。每个移动对象服务器可操作以响应于所述运动对象运动到相邻地区,将所述移动对象代理传送到被分配给所述相邻地区的所述多个移动对象服务器中的一个移动对象服务器,并且执行所述移动对象代理以从至少一个事件服务器收集事件的信息,并向所述运动对象提供帮助所述运动对象在地理空间中行进的信息。这个方面可以在减少服务器之间的通信负载并实现更大可扩展性的同时帮助运动对象在地理空间中行进。

一个实施例提供了一种系统,包括:分别被分配给地理空间中的多个地区的多个移动对象服务器,所述多个移动对象服务器包括至少一个移动对象服务器,所述至少一个移动对象服务器包括被分配给所分配的地区中的运动对象的移动对象代理;以及包括至少一个对象服务器的多个对象服务器,所述至少一个对象服务器包括包含所述运动对象的信息的对象代理,其中每个移动对象服务器还可操作以:从被分配给所述移动对象服务器的所述地区中的所述运动对象接收信息;如果在所述多个移动对象服务器之中不存在正在执行所述移动对象代理的移动对象服务器,则通过从包括包含所述运动对象的信息的所述对象代理的所述对象服务器获得所述运动对象的信息,来生成针对所述运动对象的所述移动对象代理。该实施例可以在减少服务器之间的通信负载并实现更大可扩展性的同时帮助运动对象在地理空间中行进。

根据本发明的一个方面,提供了一种由包括多个移动对象服务器和多个对象服务器的系统执行的计算机实现的方法,所述多个对象服务器包括至少一个对象服务器,所述至少一个对象服务器包括包含所述运动对象的信息的对象代理,所述方法包括:将所述多个移动对象服务器分别分配给地理空间中的多个地区,所述多个移动对象服务器包括至少一个移动对象服务器,所述至少一个移动对象服务器包括被分配给所分配的地区中的运动对象的移动对象代理;由每个移动对象服务器从被分配给所述移动对象服务器的所述地区中的运动对象接收信息;如果在所述多个移动对象服务器之中不存正在执行所述移动对象代理的移动对象服务器,则通过从包括包含所述运动对象的信息的所述对象代理的所述对象服务器获得所述运动对象的信息,来由每个移动对象服务器生成针对所述运动对象的所述移动对象代理。本发明的这个方面可以在减少服务器之间的通信负载并实现更大可扩展性的同时帮助运动对象在地理空间中行进。

根据一个方面,提供了一种方法,包括:将多个移动对象服务器分别分配给地理空间中的多个地区,所述多个移动对象服务器包括至少一个移动对象服务器,所述至少一个移动对象服务器包括被分配给所分配的地区中的运动对象的移动对象代理;以及由多个事件服务器管理在所述地理空间中发生的事件;其中,每个移动对象服务器可操作以:响应于所述运动对象运动到相邻地区,将所述移动对象代理传送到被分配给所述相邻地区的所述多个移动对象服务器中的一个移动对象服务器,并且执行所述移动对象代理以:从至少一个事件服务器收集事件的信息,以及向所述运动对象提供帮助所述运动对象在地理空间中行进的信息。

发明内容的条款不必描述本发明实施例的所有必要特征。本发明也可以是上述特征的子组合。本发明的上述和其他特征将通过结合附图从下面的详细描述中而变得更加明显。

附图说明

现在将仅以举例的方式并参考以下附图来描述本发明的优选实施例:

图1示出了根据本发明实施例的系统100和与由系统100管理的地理空间对应的地图区域。

图2示出了根据本发明实施例的子系统200和与由子系统200管理的地区a对应的地图区域。

图3示出了根据本实施例的系统100的第一示例性配置。

图4示出了根据一个实施例的事件服务器210和移动对象服务器220对事件的管理。

图5示出根据一个实施例的移动对象服务器220和对象服务器230对运动对象的管理。

图6示出了根据本实施例的系统100的示例性配置的操作流程。

图7示出了根据本实施例的s620的操作流程。

图8示出了根据本实施例的s650的操作流程。

图9示出了事件列表的说明性示例。

图10示出候选事件列表的说明性示例。

图11示出了通知事件列表的说明性示例。

图12示出了根据一个实施例的运动对象10和事件。

图13示出了根据本实施例的s660的操作流程。

图14示出了根据本实施例的系统100的第二示例性配置。

图15示出了根据本发明实施例的计算机。

具体实施方式

在下文中,将描述本发明的示例实施例。示例性实施例不应当限制根据权利要求书的本发明,并且实施例中描述的特征的组合对于本发明而言不是必需的。

图1示出了根据本发明实施例的、由系统100和与由系统100管理的地理空间对应的地图区域。系统100管理包括运动对象10在其上运动的路线的地理空间。系统100可操作来将地理空间划分成多个地区并管理这些地区。例如,运动对象10可以在包括陆路、海路和/或航路的路线上运动。地理空间可以是包括运动对象在其上行进的路线的陆地、海洋或空中空间。运动对象10可以是有人/无人驾驶汽车、摩托车、自行车、带有数字设备的人、飞机、船只、无人机等。

图1示出了作为沿着作为陆路示例的道路运动的运动对象10的示例的汽车。系统100包括分别管理多个地区的多个子系统200。图1示出了其中将地图区域划分为从地区a到地区f的六个地区的示例,并且六个子系统200分别管理这六个地区。

系统100包括多个事件服务器210、多个移动对象服务器220、多个对象服务器230以及多个乘客服务器240。根据图1的实施例,每个子系统200可以至少包括多个事件服务器210中的一个和多个移动对象服务器220中的一个。

事件服务器210管理在地理空间的每个地区中发生的事件。在一个实施例中,分配给地区a的子系统200的事件服务器210可以管理地区a中的事件。分别分配给地理空间中的多个地区的多个移动对象服务器220管理多个地区中的每一个地区中的运动对象10。在一个实施例中,分配给地区a的移动对象服务器220可以管理位于地区a中的运动对象10。对象服务器230管理运动对象10的信息,而不管运动对象10的位置如何。乘客服务器240管理乘坐在运动对象10上的至少一个乘客的信息。

每个子系统200可以在一个或多个服务器上实现。在一个实施例中,每个事件服务器210和移动对象服务器220可以在一个服务器上实现。在一个实施例中,可以由一个服务器来实现子系统200中的一组事件服务器210和移动对象服务器220。除子系统200之外,系统100的各部分也可以在一个或多个服务器上实现。在一个实施例中,每个对象服务器230和乘客服务器240可以在一个服务器上实现。在另一个实施例中,一组对象服务器230和一组乘客服务器240可以各自由一个服务器来实现。在又一个实施例中,所有对象服务器230和乘客服务器240可以在一个服务器上实现。这些服务器可以存在于包括因特网、订户网络、蜂窝网络或期望的网络组合在内的网络上的任何点处。服务器可以是计算机或其他类型的数据处理器,并且可以是专用服务器,或者可以是执行其他操作的共享服务器。

系统100从运动对象10获取运动对象10的位置,并且移动对象服务器220(管理包括所获取的运动对象10的位置的地区)可以管理该运动对象10的运动。系统100获取在外面道路上和/或对运动对象10已经发生的事件的信息,并且事件服务器210(其管理包括已经发生此类事件的位置的地区)可以管理事件的状态。

该事件可以包括关于道路上的事故、障碍物、关闭、限制、状态或者施工的信息、或者关于道路附近的天气、温度、建筑物、商店或者停车场的信息。响应于来自运动对象10的设置或请求,子系统200可以向发出请求的运动对象10提供关于事件信息的通知。例如,如果运动对象10正在与地区a对应的地理区域中的路线上运动,则管理地区a的移动对象服务器220向该运动对象10提供关于与路线有关的事件的通知。

由于将地图区域划分成多个地区,所以尽管运动对象10只是在路线上运动,但与运动对象10的位置对应的地区可能会改变。图1示出了运动对象10正在道路上行驶以使运动对象10的位置在地区上从地区a运动到地区b的示例。在这种情况下,根据运动对象10的运动,系统100可以将涉及运动对象10的信息从管理地区a的移动对象服务器220传送到管理地区b的移动对象服务器220,并且也可以将运动对象10的管理传送到管理地区b的移动对象服务器220。

图2示出了根据本发明实施例的子系统200和与由子系统200管理的地区a对应的地图区域。事件服务器210管理至少一个事件代理,并且执行每个事件代理以管理在被分配给事件服务器210的地区中的路线上的事件。“代理”可以是具有特定数据的软件实体,并且可以可操作来接收消息(例如命令),并返回消息的结果。地理空间的多个地区中的每个地区包括多个区域中的一个区域的至少一部分。在该实施例中,分配给事件服务器210的地区与分配给移动对象服务器220的地区相同。但是,在其他实施例中,这些地区可以不同。

在图2的实施例中,作为被分配给事件服务器210的地区的地区a被划分成16个区域,并且16个区域被分配给每个事件代理ea1-ea16。事件服务器210执行每个事件代理ea1-ea16,以管理在地区a的每个区域的路线上发生的事件。例如,事件代理ea2可以管理地图上与ea2对应的区域上的“关闭”事件,并且事件代理ea4可以管理在与ea4对应的区域上的“速度限制”事件,如图2中所示。

多个移动对象服务器220可以包括至少一个移动对象服务器220,所述移动对象服务器220包括一个或多个移动对象代理,每个移动对象代理被分配给每个运动对象10。在图2的实施例中,移动对象服务器220包括被分配给已分配地区a中的三个运动对象10的三个移动对象代理moa1-3。移动对象服务器220执行移动对象代理moa1-moa3中的每一个以管理在地区a上行进的运动对象10。

图3示出了根据本发明实施例的系统100的示例性配置。系统100可操作来与多个运动对象10中的每一个通信,以发送和接收用于管理运动对象10的信息。系统100可操作来通过互联网、订户网络、蜂窝网络或任何期望的网络组合,获取与运动对象10交换的地图数据和/或信息。系统100包括获取部分(即,模块)110、划分部分130、地区管理器140、接收部分150、传输部分152、网关装置160、多个子系统200、多个对象服务器230和多个乘客服务器240。

例如,获取部分110可以可操作来从外部数据库30获取与运动对象10所在的地理区域对应的地图数据。响应于地图被更新,获取部分110可以获取已更新的地图数据中的一些或全部。获取部分110可以可操作来从因特网、订户网络、蜂窝网络或任何期望的网络组合获取地图数据。系统100可以可操作来预先存储地图数据。

获取部分110还可以获取在要被系统100管理的地理空间内已经发生的事件。在这种情况下,获取部分110可以获取事故信息、交通信息、天气信息、时间信息等等。

划分部分130可以可操作来与获取部分110通信并,将地图区域划分为多个地区。在该实施例中,划分部分130通过将原始地图区域划分成多个地区来生成两组地区。

地区管理器140可以可操作来存储涉及包括从划分所产生的地区在内的多个地区的信息。地区管理器140可以可操作来响应于接收到运动对象10的位置而指定管理包括运动对象10的位置的地区的子系统200。地区管理器140可以在一个或多个服务器上实现。

存储部分142可以可操作来与划分部分130通信,并存储涉及由划分部分130划分的多个第一地区和多个第二地区的信息。存储部分142可以存储系统100的设置值或类似物。

存储部分142可以存储由系统100的操作生成或在系统100的操作中使用的中间数据、计算结果、阈值、参数等。响应于来自系统100内的任何组件的请求,存储部分142可以将存储在其中的数据供应给做出请求的组件。存储部分142可以是诸如电存储设备、磁存储设备、光存储设备、电磁存储设备或半导体存储设备之类的计算机可读存储介质。

确定部分146可以可操作来与存储部分142通信,并且基于运动对象10的位置信息和多个地区的地理信息,来从运动对象10中的每个运动对象10所位于的多个地区(例如,图1的地区a-f)中确定一个地区。确定部分146可以识别由系统100管理的地图区域中的与运动对象10的位置信息对应的路线或位置。

确定部分146可以与该运动对象10相关联地将该运动对象10的位置信息和/或所确定的地区的信息存储在存储部分142中。确定部分146可以将该运动对象10的信息位置的历史和/或所确定的移动对象服务器220的历史存储在存储部分142中。确定部分146可以是存储计算机可读程序指令的共享或专用计算机可读介质、电路等等,所述计算机可读程序指令可由共享或专用处理器执行。

接收部分150可以可操作来接收从多个运动对象10中的每一个传输的信息。每个运动对象10可以以指定的时间间隔传输信息,并且接收部分150可以顺序地接收该传输信息。在该实施例中,接收部分150可以接收来自每个运动对象10的作为信息的汽车探测数据。汽车探测数据可以包括由运动对象10检测到的信息,诸如运动对象10的位置信息。

在一个实施例中,位置信息可以包括运动对象10在绝对坐标系中的经度和纬度(以及可选的高度信息)。在另一个实施例中,运动对象10可以通过使用gps确定其在绝对坐标系中的位置,并且接收位置信息的确定部分146可以基于位置信息确定运动对象10存在于其上的路线以及运动对象10存在于其处的路线的特定位置。可替代地,运动对象10可以在汽车探测数据中包括此类详细位置信息。

接收部分150可以与多个运动对象10通信,并经由因特网40接收每个运动对象10的汽车探测数据。接收部分150可以通过无线通信、订户网络、蜂窝网络或任何期望的网络组合接收多个运动对象10的汽车探测数据。

例如,传输部分152可以可操作来根据设置将事件信息传输到每个运动对象10。传输部分152可以传输涉及运动对象10预期在其上行进的路线的信息。传输部分152可以与运动对象10通信,并且经由因特网40将各种类型的信息传输给运动对象10。传输部分152可以通过无线通信、订户网络、蜂窝网络或任何期望的网络组合将各种类型的信息传输给运动对象10。

网关装置160可以可操作来在多个子系统200和多个运动对象10之间传送通信。网关设备160可以与接收部分150通信,并且接收由每个运动对象10传输的信息。

网关装置160可以与地区管理器140通信,并且向地区管理器140要求针对接收自运动对象10的地区管理器140的每条信息的传送目的地。响应于该请求,网关装置160可以从地区管理器140接收管理运动对象10所存在于其上的地区的子系统200的信息。网关装置160可以将从运动对象10接收到的信息传送到要管理运动对象10的子系统200。换句话说,网关装置160可以将从每个运动对象10接收到的信息传送到由地区管理器140所确定的子系统200。

网关装置160可以与每个子系统200通信,并且接收由每个子系统200传输的信息。网关装置160可以与传输部分152通信,并且向传输部分152供应从每个子系统接收到的信息200,使得该信息被传送给针对每个子系统200所指定的运动对象10。

网关装置160可以包括多个网关设备,并且可以在多个子系统200和多个运动对象10之间快速地执行传送。在这种情况下,接收部分150可以用作负载均衡器,其供应来自运动对象10的信息,使得将负载散布在多个网关之中。负载均衡器可以顺序地将来自运动对象10的信息供应给具有较轻负载的网关。网关装置160可以是使用相同或不同类型的协议在多个网络之间提供连接的网络。

多个子系统200可以可操作来与地区管理器140和网关装置160通信,并分别管理地理空间中的多个地区。每个子系统200可操作来管理行进在其管理地区中的路线的运动对象10,并管理在其管理地区上的事件。

如所描述的,每个子系统200可以包括事件服务器210和移动对象服务器220。事件服务器210用多个事件代理管理在事件服务器210的管理地区上发生的事件。在一个实施例中,事件服务器210可以通过事件代理执行:(i)事件的登记、更新和/或删除,(ii)候选事件的登记、更新和/或删除,以及(iii)事件信息的提供。

移动对象服务器220用多个移动对象代理管理在移动对象服务器220的管理地区上行进的多个运动对象10。在一个实施例中,移动对象服务器220可以通过移动对象代理执行:(i)汽车探测数据的处理,(ii)运动对象的信息的更新,以及(iii)向运动对象的信息的提供。例如,移动对象服务器220可以执行移动对象代理以从至少一个事件服务器210收集事件的信息,并向运动对象10提供帮助运动对象10在地理空间中行进的信息。

包括至少一个对象服务器230的多个对象服务器230可以与网关160通信,并且包括包含运动对象10的信息的对象代理(oa)。对象代理可以对应于每个运动对象10并且包含其信息。在一个实施例中,对象代理可以包含:(i)子系统当前管理运动对象10的移动对象代理的地区的信息,(ii)运动对象10的标识(id),(iii)运动对象10的乘客的id,以及(iv)运动对象10的特性(例如,运动对象10的型号/版本信息、宽度、长度和/或高度)。

对象服务器230可以通过对象代理来执行:(i)运动对象10的信息的提供和/或更新,(ii)运动对象10的乘客的id的登记、更新和/或删除,(iii)运动对象10的地区的信息的提供和/或更新,以及(iv)移动对象服务器220生成新的移动对象代理所需的信息的提供。

多个乘客服务器中的至少一个乘客服务器240可以与网关160通信,并且包括包含至少一个乘客的信息的乘客代理。乘客代理可以对应于运动对象10的每个乘客或候选乘客,并且包含其信息。在一个实施例中,对象代理可以包含乘客的id和乘客的特性(例如乘客的年龄、性别、类型等的信息)。乘客服务器240可以通过乘客代理执行乘客信息的提供和/或更新。

如上所述,本实施例的系统100可以通过利用每个移动对象服务器220中的移动对象代理来管理运动对象,并且通过利用每个事件服务器210中的事件代理来管理事件。根据实施例的系统100,系统100可以用多种服务器来分开地管理关于地理地图上的运动对象10和事件的信息。此外,多个移动对象服务器220可以经由移动对象代理,平滑地传送跨越各地区行进的运动对象10的管理,由此提高了整个系统100的效率。另外,根据本实施例的系统100,每个事件服务器210在多个事件代理之中将一个地区中的事件管理进行划分,并向移动对象代理提供事件信息,由此改进该地区中事件管理的效率(例如,提高了事件搜索的响应时间),并因此提高了去往运动对象10的事件通知的效率。另外,系统100可以通过对象服务器230的对象代理,来向移动对象代理提供运动对象10的信息。系统100还可以通过乘客服务器240的乘客代理来向移动对象代理提供运动对象10的乘客的信息。

图4示出了根据本发明实施例的事件服务器210和移动对象服务器220的事件的管理。在本实施例中,运动对象10正在地区a上的目标路线上行驶,并且正在经由诸如网关装置160之类的网关装置,将包括位置信息的汽车探测数据传输给利用汽车探测数据来管理地区a的事件服务器210。事件服务器210基于来自地区a上的运动对象的汽车探测数据,来通过每个事件代理管理事件信息。例如,每个事件代理可以管理事件列表(包含针对由事件代理管理的区域上的路线的影响事件和事件的信息)和候选事件列表(包含针对由事件代理管理的地区上的路线的事件的候选者的信息)。

在图4的实施例中,基于来自区域da2上的运动对象10的车辆探测数据,事件代理ea2通过事件代理ea2的事件列表和事件代理ea2的候选事件列表来管理区域(在图4的地区a上被指示为“da2”)的事件。例如,分配给区域da2的事件代理ea2可执行来基于来自运动对象10的信息生成事件。

在一个实施例中,每个移动对象服务器220可操作来从被分配给移动对象服务器220的地区a中的运动对象10接收信息。移动对象服务器220确定运动对象10所位于的目标路线。移动对象服务器220将该信息发送到被分配给运动对象10所在的地区a的一个事件服务器210,并由此请求分配给目标路线所位于的区域da2的事件代理ea2来发送事件列表,该事件列表包含目标路线的影响事件以及目标路线上的事件的信息。

移动对象服务器220执行用于运动对象10的移动对象代理moa1,以基于目标路线的影响事件以及另一路线上的事件的信息,向运动对象10提供帮助运动对象10在区域da2中行进的信息。在图4的实施例中,移动对象代理moa1从事件代理ea2接收运动对象10存在于其上的路线的事件信息,并向运动对象10提供事件信息(例如,关闭信息)。

图5示出了根据本发明实施例的由移动对象服务器220和对象服务器230对运动对象10的管理。响应于运动对象10运动到相邻地区,移动对象服务器220-1可以将移动对象代理传送到分配给该相邻地区的移动对象服务器220-2。在本实施例中,响应于运动对象10从地区a行进到地区b,管理地区a的移动对象服务器220-1删除用于运动对象10的移动对象代理moa,并且管理地区b的移动对象服务器220-2生成用于运动对象10的移动对象代理moa。

在该实施例中,对象代理230可以存储包括移动对象服务器标识符mos-id的信息,该移动对象服务器标识符mos-id识别执行与对象代理10对应的移动对象代理的多个移动对象服务器220中的一个。就在运动对象10到达地区b之后,移动对象服务器220-2没有执行针对运动对象10的移动对象代理。移动对象服务器220-2可操作来接收来自分配给移动对象服务器220-2的地区b中的运动对象10的信息。

使用来自运动对象10的信息,移动对象服务器220-2从管理针对运动对象10的对象代理的对象服务器230获得移动对象服务器标识符mos-id,因为移动对象服务器220-2没有在执行针对运动对象10的移动对象代理。移动对象服务器220-2请求由移动对象服务器标识符mos-id识别的移动对象服务器220-1来传送针对运动对象10的移动对象代理。然后,响应于该请求,管理地区a的移动对象服务器220-1将移动对象代理传送到分配给相邻地区b的移动对象服务器220-2。

图6示出了根据本发明实施例的系统的操作流程。本实施例描述了系统100执行图6中所示的从s610到s680的操作的示例,用于管理地图区域上的事件和诸如运动对象10之类的运动对象。图6示出了图1-图5中所示的系统100的操作流程的一个示例,但是,图1-图5中所示的系统100不限于使用下文解释的这种操作流程。另外,图6中的操作流程可以由其他系统执行。

首先,诸如获取部分110之类的获取部分可以获取要由系统管理的地理空间的地图数据(s610)。获取部分可以获取包括一个或多个城市、一个或多个城镇等等的地理空间的地图数据。获取部分可以包括地理空间的地图数据,所述地理空间包括一个或多个州、国家、大陆等。诸如划分部分130之类的划分部分可以划分地图区域以生成多个地区。

接下来,系统可以执行针对运动对象的初始化过程(s620)。如果用户(乘客)在开始驱动运动对象之前对运动对象的设置和运动对象的任何乘客进行初始化,则系统可以执行s620的过程。

在s620之后,系统的诸如网关装置160之类的网关装置可以从运动对象获取汽车探测数据(s630)。虽然系统可以从多个运动对象取得汽车探测数据,但是在以下的说明中解释了从一个运动对象(可以称为“运动对象”)获取汽车探测数据的系统。汽车探测数据可以包括由目标运动对象检测到的信息,诸如目标运动对象的当前位置信息、目标运动对象的速度和/或方向以及由目标运动对象观测到的事件信息(例如,abs的发生、障碍物的检测等)。在一个实施例中,所述位置信息可以包括所述目标运动对象存在于其上的边缘的边缘id以及所述目标运动对象的当前位置与所述边缘的一端之间的距离。

接下来,基于目标运动对象的汽车探测数据的位置信息,网关装置可以确定目标运动对象正在其上行进的地区(s640)。在一个实施例中,网关设备可以向地区管理器诸如地区管理器140询问运动存在于其上的地区。地区管理器的确定部分诸如确定部分146可以确定目标运动对象的地区,并向网关装置提供目标运动对象的地区的信息。网关装置可以提供向管理所确定的地区的事件服务器(诸如事件服务器210和管理所确定的地区的移动对象服务器诸如移动对象服务器220)提供汽车探测数据。

接下来,被提供有目标运动对象的汽车探测数据的事件服务器可以处理针对运动对象的事件(s650)。事件服务器可以基于用于向目标运动对象通知事件的汽车探测数据来管理事件信息。

在s650之后,提供有目标运动对象的汽车探测数据的移动对象服务器可以管理针对目标运动对象的移动对象代理(s660)。

在s660之后,系统确定是否结束针对目标运动对象的过程。在一个实施例中,网关装置可以确定汽车探测数据是否指示目标运动对象的发动机停止。如果系统确定不结束过程,则系统继续针对目标运动对象的s630的过程。如果系统确定结束该过程,则系统结束针对目标运动对象的过程,并可以继续针对其他运动对象的过程。

如上所述,该系统通过利用由多个移动对象服务器实现的移动对象代理来管理运动对象。由于系统可以在移动对象服务器之间传送移动对象代理,所以它可以有效地管理在多个地区周围行进的运动对象。此外,该系统从运动对象收集汽车探测数据,并通过利用事件代理来管理从汽车探测数据所生成的事件。由于每个事件服务器通过利用事件代理来将发生在事件服务器的管理地区上的多个事件划分到多个区域,所以它可以有效地处理事件信息。

在开始过程s620-s680之前,可以执行s610的过程一次。可以针对每个运动对象执行s620至s680的过程。

图7示出了根据本发明实施例的针对运动对象的初始化过程的操作流程。本实施例描述了系统通过图7中所示的过程s621至s623执行初始化过程(诸如图6的s620的初始化过程)的示例。

首先,网关装置从运动对象接收设置数据(包括运动对象的id、乘客的id和运动对象的位置信息)(s621)。网关装置基于运动对象的位置信息来确定管理该运动对象的一个移动对象服务器。网关装置向确定的移动对象服务器提供设置数据。然后,所确定的移动对象服务器从运动对象的设置数据中获得运动对象的至少一个乘客的信息(例如,(一个或多个)乘客的(一个或多个)id)。

然后,移动对象服务器可以请求针对运动对象的对象服务器的对象代理存储运动对象的至少一个乘客的信息(s622)。例如,可以基于运动对象的id的值将每个运动对象映射到对象服务器的每个对象代理,并且移动对象服务器可以基于使用该id的计算来识别与运动对象的id对应的一个对象代理。然后,移动对象服务器可以经由网关装置向管理所识别的对象代理的对象服务器提供包括位置信息、运动对象的id和运动对象的(一个或多个)乘客的(一个或多个)id的设置数据。

接下来,对象服务器将乘客的信息存储在对象代理上。在一个实施例中,可以基于乘客的id的值将每个乘客预先映射到每个乘客服务器,并且乘客服务器可以具有乘客的信息。对象服务器可以基于使用该id的计算来识别与乘客的id对应的一个乘客服务器。对象服务器可以经由网关装置从对应于该id的乘客服务器接收乘客的信息。然后,对象服务器可以在针对运动对象的对象代理中存储或更新运动对象的信息和运动对象的乘客。对象服务器可以在对象代理中包括运动对象当前所存在于其上的地区的信息。

接下来,管理运动对象10存在于其上的地区的移动对象服务器220生成针对运动对象10的新移动对象代理(s623)。在一个实施例中,移动对象服务器220可以将针对运动对象10的对象代理的信息复制到新生成的移动对象代理。例如,移动对象服务器220可以将运动对象10的信息和运动对象10的至少一个乘客的信息存储在针对运动对象10的新生成的移动对象代理中。

图8示出了根据本发明实施例的事件处理的操作流程。本实施例描述了系统通过图8中所示的过程s651至s659执行事件处理(诸如图6的s650的事件处理)的示例。

首先,事件服务器可以识别事件代理(s651)。在一个实施例中,事件服务器基于目标运动对象的位置信息从多个事件代理中确定一个事件代理。所确定的事件代理可以被称为“目标事件代理”。例如,事件服务器基于位置信息和地图数据确定目标运动对象的目标路线(或地图数据的边缘),并且选择管理包括由所述汽车探测数据指示的所述目标运动对象的目标路线在内的区域的事件代理作为目标事件代理。在另一个实施例中,目标运动对象的汽车探测数据可以包括目标运动对象的目标路线的信息。

接下来,事件服务器可以基于汽车探测数据来由目标事件代理编辑事件列表(s652)。在一个实施例中,目标事件代理可以基于汽车探测数据的信息来生成或者更新事件列表上的目标路线的事件的信息(例如事件发生的边缘、事件id、事件的位置和事件的内容)。目标路线的事件可以被称为“目标事件”。

接下来,事件服务器可以基于汽车探测数据由目标事件代理搜索在目标事件代理的区域上的目标路线上的影响事件(s653)。目标路线的影响事件涉及在阈值距离(例如,目标路线的阈值行进距离、远离目标路线的边缘的阈值数量、和/或距离目标路线的阈值行进时间)内的另一路线上的事件。

在一个实施例中,目标事件代理自身可以基于该地区中的路线的拓扑信息,来搜索在阈值距离内与目标路线分离的路线(或边缘id),或者可以请求其他实体(例如,服务器)搜索路线(或边缘id)。

接下来,事件服务器可以确定目标事件代理的事件列表是否包括与在s653处搜索到的目标路线的所有影响事件对应的事件条目(s654)。在一个实施例中,目标事件代理确定该影响事件的边缘是否被列为事件列表中的事件的边缘id。

如果由目标事件代理管理的区域包括与事件相关的所有影响事件的路线(边缘),则目标事件代理的事件列表包括所有影响事件的对应事件条目。但是,如果任何影响事件的路线(边缘)由其他事件代理管理,则事件列表可以不包括所有影响事件的对应事件条目。如果判断是肯定的,则事件服务器继续过程s655,如果判断是否定的,则事件服务器继续过程s656。

在s655处,事件服务器可以由目标事件代理编辑通知事件id列表。通知事件id列表包括在s654处被确定为不包括在目标事件代理的事件列表中的影响事件的id和影响事件的边缘id。换句话说,通知事件id列表是未被目标事件代理管理的影响事件的事件id的列表。然后,事件服务器可以继续s656的过程。

在s656处,事件服务器可以由目标事件代理编辑针对目标运动对象的通知事件列表。通知事件列表是可能对在目标路线上行进的目标运动对象有帮助的事件的列表。通知事件列表可以包括目标事件和目标事件的影响事件。目标事件代理可以将目标事件和影响事件的条目添加到其管理事件列表中以进行通知。

接下来,事件服务器通过目标事件代理确定通知事件id列表是否具有至少一个条目。如果判断是肯定的,则事件服务器继续s658的过程,如果判断是否定的,则事件服务器结束s650的过程。

在s658处,事件服务器可以由目标事件代理识别管理包括通知事件id列表中的事件的事件列表的事件代理。可以将所确定的事件代理称为“远程事件代理”。

接下来,事件服务器可以获取通知事件id列表中的事件的信息(s659),并结束过程s650。在一个实施例中,目标事件代理可以从远程事件代理接收通知事件id列表中的事件的信息,并且基于所获取的信息来编辑通知事件列表。在另一个实施例中,目标事件代理可以基于所获取的信息在通知事件id列表中添加影响事件的条目。

图9示出了根据本发明实施例的事件列表的说明性示例。如图9中所描述,事件列表可以包括事件的边缘id、事件的事件id、事件的位置、事件的具体内容以及与事件有关的影响事件。在该实施例中,每个路线被表示为“边缘”。例如,该事件列表指示:沿着该区域上的边缘0001的全长发生了事件(被标识为“eve0214”),该事件限制速度为30km/h,并且边缘0001包括被标识为“eve0114”的影响事件。事件列表还指示:在与该区域上的边缘0002上的第一节点相距32m远处已经发生了事件(在边缘0002上被标识为“eve0114”),该事件是路线关闭,并且边缘0001包括在边缘0001上被标识为“eve0214”、在边缘0003上被标识为“eve0421”的影响事件等等。在一个实施例中,目标事件代理可以在事件列表中添加与由汽车探测数据检测到的事件对应的新条目。

根据图9的事件列表中的第一条目,边缘0001具有影响事件0114。这可能意味着在边缘0001上行进的运动对象受到与边缘0001相距在阈值距离内的已经发生的事件0114的影响。响应于接收到包括指示目标运动对象正在边缘0001上行进的位置信息的汽车探测数据,目标事件代理搜索并获得与目标路线(边缘0001)相距在阈值距离内的路线(边缘id),然后结果找到相邻边缘0002。响应于接收到包括边缘0001的位置信息的汽车探测数据,目标事件代理确定与目标路线对应的影响事件的边缘(边缘0002)是否被列为事件列表中的边缘id。

被分配给该区域的目标事件代理可以基于来自目标运动对象的信息来生成或更新候选事件。在一个实施例中,目标事件代理可以基于汽车探测数据的信息生成或更新包括事件代理的区域上的多个边缘的信息的在候选事件列表上的候选事件。

尽管图9的事件列表包括影响事件的信息,但是影响事件的信息可以由另一个列表管理。在一个实施例中,事件代理可以管理包含目标路线上的事件的信息的第一事件列表和包含影响事件的信息的第二事件列表两者。

图10示出了根据本发明实施例的候选事件列表的说明性示例。如图10中所描述的,事件列表可以包括候选事件的边缘id、检测候选事件的计数、候选事件的位置以及针对每个候选事件的候选事件的具体内容。例如,该候选事件列表指示沿着该区域上的边缘0009的全长已经观察到事件(拥堵)的证据两次,并且在距离该区域上的边缘0013上的第二个节点15m的点处已经观察到事件(打滑)的证据一次。

目标事件代理可以确定是否将候选事件列表中的候选事件改变为事件列表中的事件。在一个实施例中,目标事件代理可以基于来自其他运动对象的信息将候选事件升级为事件。在这种情况下,目标事件代理对由多个运动对象(包括目标运动对象和其他运动对象)观察到的候选事件的发生进行计数。如果候选事件的计数超过阈值,则目标事件代理确定将候选事件升级为事件。在一个实施例中,响应于升级,目标事件代理从候选事件列表中删除候选事件的条目,并生成与被删除候选事件对应的事件的新条目。事件服务器可以设置用于在多个事件代理之间升级候选事件的相同或不同准则。

图11示出了根据本发明实施例的通知事件列表的说明性示例。如图11中所描述的,通知事件列表可以包括目标/影响事件的边缘id、目标/影响事件的事件id、目标/影响事件的位置以及目标/影响事件的具体内容。例如,该通知事件列表指示:沿着该区域上的边缘0001的全长已经发生了事件(速度限制),在距离该区域上的边缘0002上的第一节点32m的点处已经发生了事件(关闭)。

图12示出了根据本发明实施例的运动对象和事件。在图12的实施例中,目标运动对象10正在作为目标路线的边缘0001上向东行进。目标事件代理ea1管理包括边缘0001、边缘0002、边缘0101和边缘0102的区域,并且相邻事件代理ea2管理包括边缘0003、边缘0103和边缘0104的区域。

在图2中描述了方向相关的边缘。然而,根据其他实施例,边缘可以不是方向相关的,并且在这样的实施例中,事件代理可以利用方向信息管理事件、候选事件和影响事件。目标事件代理ea1将边缘0001上的事件(eve0214)作为事件列表中的目标事件进行管理。由于边缘0002与阈值距离内的边缘0001分开,所以目标事件代理ea1还将边缘0002上的事件(eve0114)作为事件列表中的影响事件进行管理。目标事件代理ea1管理包括针对目标运动对象10的目标事件(eve0214)和影响事件(eve0114)的通知事件列表。

在图12的实施例中,管理目标运动对象的移动对象代理请求管理目标事件(例如,eve0214)和影响事件(例如,eve0114)的事件代理ea1发送包括目标事件和影响事件的通知事件列表。在另一个实施例中,移动对象代理可以请求管理影响事件(例如,eve0421)的信息的远程事件代理ea2发送包含影响事件的信息的通知事件列表——如果影响事件位于包括目标路线(边缘0001)的区域之外。

图13示出了根据本发明实施例的运动对象处理的操作流程。本实施例描述了系统通过图13中所示的处理s661至s669管理目标运动对象的示例,诸如在图6的s660中。

在s661处,移动对象服务器可以确定针对目标运动对象的移动对象代理是否存在于被确定为是运动对象的地区的地区中,诸如在s640处确定的地区。换句话说,移动对象服务器确定移动对象服务器是否管理目标运动对象的移动对象代理。如果判断是肯定的,则移动对象服务器继续过程s667,如果判断是否定的,则移动对象服务器继续过程s662。

在s662处,移动对象服务器可以识别包括对象代理的对象服务器,所述对象代理包含目标运动对象的信息。在一个实施例中,移动对象服务器可以以s622中所描述的相同的方式识别对象服务器。

接下来,在s663处,移动对象服务器可以向在s662处识别的对象服务器230询问目标运动对象的移动对象代理的位置。对象服务器可以指向目标运动对象的对象代理,获取当前管理目标运动对象的移动对象代理moa的移动对象服务器的信息,如果存在的话,向移动对象服务器提供信息。

接下来,移动对象服务器可以确定针对目标运动对象的移动对象代理是否存在于任何其他地区中。换句话说,在s663处,移动对象服务器可以从管理其他地区的多个移动对象服务器确定哪个移动对象服务器管理针对目标运动对象的移动对象代理。如果判断是肯定的,则移动对象服务器继续过程s666,如果判断是否定的,则移动对象服务器继续过程s665。

在s665处,移动对象服务器生成针对目标运动对象的新的移动对象代理moa。移动对象服务器可以通过从包括包含目标运动对象的信息的对象代理的对象服务器获得目标运动对象的信息,来生成针对目标运动对象的移动对象代理moa。在一个实施例中,移动对象服务器可以以与在s623中描述的相同的方式生成新的移动对象代理。移动对象服务器也可以经由网关装置来与对象服务器通信,并将目标运动对象的当前地区登记到与目标运动对象对应的对象代理中。通过生成新的移动对象代理,系统可以处理尚未被移动对象服务器管理的新的运动对象10。

在s666处,移动对象服务器可以从被确定为管理针对目标运动对象的移动对象代理的另一个移动对象服务器传送移动对象代理。在一个实施例中,移动对象服务器可以从另一移动对象服务器接收针对目标运动对象的移动对象代理的信息,并且生成包括接收到的信息的新的移动对象代理。移动对象服务器也可以经由网关装置来与对象服务器通信,并将目标运动对象的当前地区登记到目标运动对象的对象代理中。

接下来,在s667处,移动对象服务器可以接收针对目标运动对象的通知事件列表。在一个实施例中,移动对象服务器首先确定目标运动对象所在的目标路线。然后,移动对象服务器可以请求管理与目标路线对应的目标事件和影响事件的信息的事件代理,来发送包含目标路线的目标事件和影响事件的信息的通知事件列表。

在s668处,移动对象服务器可以由移动对象代理更新目标运动对象的当前位置。在一个实施例中,针对目标运动对象的移动对象代理基于汽车探测数据的位置信息来更新目标运动对象的当前位置。

在s669处,移动对象服务器可以基于包括在事件列表中的信息来执行针对目标运动对象的移动对象代理,以向目标运动对象提供帮助目标运动对象在地理空间中行进的信息。在一个实施例中,移动对象代理可以向目标运动对象提供通知事件列表上的事件的信息。

在一个实施例中,所述至少一个移动对象服务器可以执行针对目标运动对象的移动对象代理,以基于目标运动对象的至少一个乘客的信息向目标运动对象提供帮助目标运动对象在地理空间中行进的信息。例如,依赖于乘客的数量(例如,用于引导拼车车道)、年龄、性别、驾照、实时信息(例如驾驶历史或睡眠历史)以及乘客的特性,移动对象代理可以向目标运动对象提供关于通知事件列表上相关事件的警报、通知和/或动作列表。

动作列表是响应于事件(例如,目标运动对象的制动、加速和/或转向)而向乘客推荐的动作的列表。

动作列表可以包括对用于自动驾驶和/或驾驶辅助的目标运动对象的命令。在一个实施例中,移动对象代理可以包括乘客对激烈驾驶敏感的信息,然后移动对象代理可以提供命令来温柔地驾驶目标运动对象。在一个实施例中,移动对象代理可以包括驾驶员乘客的驾驶技术的信息,然后依赖于驾驶员的技术提供不同的命令。移动对象服务器可以经由网关装置向目标运动对象提供信息。

如上所述,移动对象服务器从分配给移动对象服务器的地区中的目标运动对象接收信息,并且生成针对目标运动对象的移动对象代理——如果多个移动对象服务器之中不存在正在执行该移动对象代理的移动对象服务器的话。

图14示出了根据本发明实施例的系统100的示例性配置。在该实施例中,每个子系统200包括事件服务器210、移动对象服务器220、对象服务器230和乘客服务器240。然而,其他实施例也是可能的,其中每个子系统200包括单个或多个的每个服务器的任何组合。在其他实施例中,系统100可以管理子系统200中的对象服务器230的对象代理和乘客服务器240的乘客代理的分派。例如,网关装置160可以改变对象/乘客代理向子系统200的分派,以纠正子系统200之间的数据处理负载的不均衡。

在上述实施例中,事件服务器210可以管理分派的事件代理。在其他实施例中,系统100可以管理事件代理向事件服务器210的分派。例如,网关装置160可以改变事件代理向事件服务器210的分派,以纠正事件服务器之间的处理事件的负载的不均衡。在上述实施例中,事件服务器210使每个事件代理管理从地区导出的已分派已划分区域。在其他实施例中,事件服务器210使至少一个事件代理管理关于事件的特定信息(例如道路的横截面或地图的其他特定功能、或飓风或其他灾难/事故)。

图15示出了根据本发明实施例的计算机1900的示例性配置。根据本实施例的计算机1900包括通过主机控制器2082相互连接的cpu2000、ram2020、图形控制器2075和显示装置2080。计算机1900还包括诸如通信接口2030、硬盘驱动器2040以及dvd-rom驱动器2060的输入/输出单元,它们经由输入/输出控制器2084连接到主机控制器2082。计算机还包括诸如rom2010和键盘2050的传统输入/输出单元,它们通过输入/输出芯片2070连接到输入/输出控制器2084。

主机控制器2082将ram2020与以高传输速率访问ram2020的cpu2000和图形控制器2075连接。cpu2000根据存储在rom2010和ram2020中的程序进行操作,从而控制每个单元。图形控制器2075获得在ram2020中提供的帧缓冲器或类似物上由cpu2000生成的图像数据,并且使图像数据被显示在显示装置2080上。可替换地,图形控制器2075可以在其中包含帧缓冲器或类似物以用于存储由cpu2000生成的图像数据。

输入/输出控制器2084将主控制器2082与作为相对高速的输入/输出单元的通信接口2030、硬盘驱动器2040和dvd-rom驱动器2060连接。通信接口2030经由网络来与其他电子设备通信。硬盘驱动器2040将由cpu2000使用的程序和数据存储在计算机1900内。dvd-rom驱动器2060从dvd-rom2095读取程序或数据,并经由ram2020向硬盘驱动器2040提供程序或数据。

作为相对低速的输入/输出单元的rom2010和键盘2050以及输入/输出芯片2070连接到输入/输出控制器2084。rom2010在其中存储在激活时由计算机1900执行的引导程序等,取决于计算机1900的硬件的程序。键盘2050输入来自用户的文本数据或命令,并且可以经由ram2020向硬盘驱动器2040提供文本数据或命令。输入/输出芯片2070将键盘2050连接到输入/输出控制器2084,并且可以经由并行端口、串行端口、键盘端口、鼠标端口等将各种输入/输出单元连接到输入/输出控制器2084。

由作为dvd-rom2095和ic卡的记录介质提供要经由ram2020存储在硬盘驱动器2040上的程序。从记录介质读取程序,经由ram2020将程序安装到计算机1900内的硬盘驱动器2040中,并在cpu2000中执行程序。

安装在计算机1900中并使得计算机1900用作图3和图14的系统100中的诸如地区管理器、子系统200和其他元件之类的装置的程序包括确定模块。该程序或模块在cpu2000上进行动作,以使计算机1900用作诸如确定部分146之类的部分、组件、元件。

将这些程序中描述的信息处理读入到计算机1900中,用作确定部分,其是程序或模块与上面提及的各种类型的硬件资源之间的协作的结果。而且,该装置是通过根据计算机1900的使用来实现信息的操作或处理而构成的。

例如,当在计算机1900和外部设备之间执行通信时,cpu2000可以执行加载到ram2020上的通信程序,以基于通信程序中描述的处理向通信接口2030指示通信处理。通信接口2030在cpu2000的控制下,读取存储在诸如ram2020、硬盘驱动器2040、dvd-rom2095的记录介质中提供的传输缓冲区中的传输数据,将读取的传输数据传输到网络,或将从网络接收到的接收数据写入对在记录介质上提供的接收缓冲区等。这样,通信接口2030可以通过dma(直接存储器访问)方法、或者通过cpu2000从传送目的地的通信接口2030或记录介质读取数据,或将数据写入到传送目的地的记录介质或通信接口2030的配置,来与记录介质交换传输/接收数据,以便传送传输/接收数据。

另外,cpu2000可以使得诸如通过dma转发将数据库的文件的全部或必要部分被读入到ram2020中,所述文件或数据库已经被存储在诸如硬盘驱动器2040、dvd-rom驱动器2060(dvd-rom2095)的外部记录介质中,以对ram2020上的数据执行各种类型的处理。然后,cpu2000可以借助于dma转发方法等,将处理后的数据写回到外部存储介质。在这样的处理中,可以认为ram2020是临时存储外部记录介质的内容,并且因此将ram2020、外部记录装置等统称为存储器、存储部分、记录介质、计算机可读介质等。诸如各种类型的程序、数据、表格和数据库之类的各种类型的信息可以被存储在记录装置中,以进行信息处理。注意,cpu2000也可以使用ram2020的一部分,来在高速缓冲存储器上执行到那儿的读/写。在这样的实施例中,除非另有说明,否则认为高速缓存被包含在ram2020、存储器和/或记录介质中,因为高速缓存存储器执行ram2020的部分功能。

cpu2000可以对从ram2020读取的数据执行各种类型的处理,其包括如本实施例中所描述并由程序指令序列所指定的各种类型的操作、信息的处理、条件判断、信息的搜索/替换等,并将结果写回ram2020。例如,当执行条件判断时,cpu2000可以判断本实施例中所示的每个类型的变量是大于、小于、不小于、不大于或等于另一个变量或常量,并且当条件判断结果为肯定(或否定)时,该过程分支到不同的指令序列或者调用子例程。

另外,cpu2000可以搜索记录介质中的文件、数据库等中的信息。例如,当将每一个都具有与第二属性的属性值相关联的第一属性的属性值的多个条目存储在记录装置中时,cpu2000可以从存储在记录介质中的多个条目中搜索其第一属性的属性值被指定的与条件匹配的条目,并且读取存储在该条目中的第二属性的属性值,由此获得与满足预定条件的第一属性相关联的第二属性的属性值。

上述程序或模块可以被存储在外部记录介质中。示例性记录介质包括dvd-rom2095以及诸如蓝光盘或cd的光学记录介质、诸如mo的磁光记录介质、磁带介质以及诸如ic卡的半导体存储器。另外,可以将连接到专用通信网络或因特网的服务器系统中提供的诸如硬盘或ram之类的记录介质用作记录介质,由此经由网络将程序提供给计算机1900。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而执行本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

尽管已经描述了本发明的实施例,但是本发明的技术范围不限于上述实施例。对于本领域技术人员显而易见的是,可以对上述实施例添加各种改变和改进。从权利要求的范围中显而易见的是,添加有这种改变或改进的实施例可以被包括在本发明的技术范围内。

由权利要求、实施例或附图中所示的装置、系统、程序和方法执行的每个过程的操作、程序、步骤和阶段可以以任何顺序执行,只要该顺序不由“在……之前”,“在……前”等等所指示,并且只要在之后的过程中不使用先前过程的输出即可。即使在权利要求、实施例或附图中使用诸如“第一”或“下一个”之类的短语来描述过程流程,但也不意味着该过程必须按照该顺序来执行。

正如从上面清楚表达的那样,本发明实施例可以用于实现一种管理地理空间和在其上的运动对象的系统。

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