仿真系统和方法技术方案

技术编号:20917575 阅读:34 留言:0更新日期:2019-04-20 09:54
本申请涉及仿真系统和方法。提出用于进行、提供、管理、执行和/或运行空间优化式仿真的方法、系统、计算机可读介质及装置。在一个或多个实施例中,空间优化式仿真可包括:执行仿真的多个工作器模块;被在多个工作器模块当中仿真的多个实体;多个桥接器模块,促进工作器与监管层之间的通信,监管层包括多个组块模块、至少一个接收方模块及至少一个oracle模块。空间优化式仿真可被配置为:提供分布式、持久性、容错性和空间优化式仿真环境。在一些实施例中,可使用在用于在工作器之间移送仿真实体的候选者中所确定的移送评分和/或拉伸能来执行负载平衡和容错。在一些实施例中,多个桥接器模块可显露应用编程接口(API)用于与所述多个工作器模块通信。

Simulation system and method

This application relates to a simulation system and method. The methods, systems, computer readable media and devices for optimizing simulation of space for carrying out, providing, managing, executing and/or operating are proposed. In one or more embodiments, spatial optimization simulation may include: multiple worker modules that perform simulation; multiple entities simulated among multiple worker modules; multiple bridge modules that facilitate communication between the worker and the supervisory layer, which includes multiple block modules, at least one receiver module and at least one Oracle module. Spatial optimization simulation can be configured to provide distributed, persistent, fault-tolerant and spatial optimization simulation environment. In some embodiments, load balancing and fault tolerance can be performed using transfer scores and/or stretching determined among candidates for transferring simulation entities between workers. In some embodiments, a plurality of bridge modules may expose an application programming interface (API) for communicating with the plurality of worker modules.

【技术实现步骤摘要】
仿真系统和方法本申请是申请日为2017年05月03日,申请号为201780003825.0,专利技术名称为“仿真系统和方法”的申请的分案申请。相关申请的交叉引用该申请要求2016年11月28日提交的题为“SimulationSystemsandMethods”的美国申请No.15/361,874的优先权。该申请要求2016年11月28日提交的题为“LoadBalancingSystemsandMethods”的美国申请No.15/361,889的优先权。该申请要求2016年11月28日提交的题为“CommunicationsInterfaceforSimulationSystemsandMethods”的美国申请No.15/361,921的优先权。前述申请中的每一个以及该申请要求2016年8月24日提交的题为“SimulationSystemsandMethods”的美国临时申请No.62/378,715的优先权。
本文所描述的方面总体上涉及计算机、连网、硬件以及软件。更具体地说,本文所描述的一些方面涉及用于控制分布式且持久性的、空间优化式基于计算机的仿真的连网系统架构(包括其上网络节点的负载平衡)以及一种促进基于计算机的仿真的实例化、开发、监管以及管理的通信接口。
技术介绍
传统仿真系统不能扩展为支持非常大量的对象以对这些对象进行实时仿真。这些系统已经典型地依赖于在单个物理或虚拟计算机系统上运行的仿真引擎的单个实例,以仿真整个仿真世界。在没有解决方案在大规模系统上提供用于正确性、图形保真性以及实时交互性所有这三者的能力的情况下,这些仿真系统的消费者已经必须在这三者之间进行选取。如果消费者期望仿真复杂真实世界问题(这可能需要比单个仿真引擎所可以提供的更多的计算能力),则该情况的重要性和复杂度进一步增加。例如,仿真城市可能需要仿真大量车辆、行人、骑车人、交通模式、交通灯、地铁系统、运输车辆、飞机以及影响并且有助于城市生活的众多其它实体。在一种已知的方法中,计算资源已经被静态地分配给仿真世界的部分。该方法的缺点可能是这样的:随着所仿真的对象、作用者等随着仿真进展而移动遍及仿真世界,所仿真的对象可能聚集在仿真世界的非常小的区域上。如果足够的对象移动到该非常小的区域,则计算资源可能过载(导致更慢的处理),仿真可能意外地终止,和/或仿真数据可能丢失。该方法的另一缺点可能是:关于区域的仿真的状态信息可能集中于单个计算资源上,并且可能并非遍及多个资源而得以共享或扩展,使得容错性或从意外终止的恢复是困难并且耗时的。此外,该方法不能使得自身容易地支持仿真对象穿过区域边界的状态迁移,因此,仿真通常将状态迁移限制给仅玩家。在本文中解决了这些和其它问题。
技术实现思路
以下提出在此所描述的各个方面的简化概述。该概述并非宽泛的综述,并且并非旨在标识权利要求的关键性或决定性要素或界定其范围。以下概述仅以简化的方式提出一些构思作为对以下所提供的更详细说明书的引言。为了克服上述现有技术中的限制,并且为了克服在阅读并且理解该说明书时将是显然的其它限制,在此所描述的各方面针对一种分布式持久性空间优化式仿真开发环境。在此所描述的其它方面可以允许将现有非分布式仿真程序整合到大规模分布式仿真中。在此所描述又一些其它方面可以用于自动地在空间上平衡并且分布仿真工作负载。一个或多个应用编程接口(API)可以用于在实施模块与仿真模块之间进行通信。根据一个或多个方面,提供一种空间优化式仿真系统,具有:至少一个处理器,其控制系统的一些操作;以及存储器,其可以包括被仿真的多个实体。被仿真的实体中的每一个可以例如包括一个或多个部件,并且所述部件中的每一个可以包括一个或多个性质。所述空间优化式仿真系统可以包括:多个工作器模块;以及与所述多个工作器模块对应的多个桥接器模块。所述工作器模块可以被配置为:执行所述空间优化式仿真。具体地说,所述多个工作器模块中的每个工作器模块可以各自对被仿真的所述多个实体的子集进行实例化。所述工作器模块可以进一步被配置为:更新正由特定工作器模块仿真的所述实体的部分的一个或多个性质。在一些实例中,所述多个桥接器模块可以被配置用于:与所述多个工作器模块进行通信。在其它实例中,所述空间优化式仿真系统可以包括多个组块模块。所述组块模块可以被配置为:监控分配给特定组块模块的实体的群组。具体地说,分配给所述组块模块的实体的群组可以位于分配给特定组块模块的组块区域内。所述空间优化式仿真系统可以包括:至少一个接收方模块,其被配置为:从多个客户机工作器模块接收对连接到所述空间优化式仿真系统的请求。具体地说,所述接收方模块可以被配置为:响应于接收到所述请求而分配所述多个桥接器模块中的对应桥接器模块,以用于与每个客户机工作器模块进行通信。在一些实例中,所述空间优化式仿真系统可以包括:至少一个oracle模块,被配置用于:响应于从组块模块以及从桥接器模块接收到的请求而分配工作器模块和桥接器模块。例如,通过将实体分配给不同组块模块,可以改变分配给组块模块的组块区域。可选地,所述空间优化式仿真系统可以包括:数据存储模块,被配置用于:创建并且维护包括所述多个实体中的每个实体的当前状态的快照。具体地说,每个实体的当前状态可以包括用于该实体所包括的所述一个或多个部件所包括的所述一个或多个性质中的每个性质的当前值。所述多个组块模块可以进一步被配置为:使用所述数据存储模块所维护的关于实体的状态信息来恢复所述实体。可选地,所述多个组块模块可以进一步被配置为:将实体从一个组块模块迁移到另一组块模块。具体地说,将实体从一个组块模块迁移到另一组块模块可以包括:通过所述实体的状态信息进行转发;使得宿组块模块从所述实体接收状态改变通知;以及使源组块模块停止从所述实体接收状态改变通知。可以响应于所述源组块模块基于负载平衡算法而进行的确定来执行所述实体的迁移。有利地,可以响应于正迁移的所述实体基于其当前空间位置进行的确定或所述实体的当前空间位置的确定而执行所述实体的迁移。可选地,所述接收方模块可以进一步被配置为:在分配所述至少一个桥接器模块以用于与所述客户机设备通信之前,对桥接器模块进行实例化。所述接收方模块可以进一步被配置为:发布用于与所述接收方模块进行通信的预定网络地址。可选地,所述oracle模块可以进一步被配置为:维护第一数据库,其包括指示所述多个工作器模块中的每个工作器模块的状态的数据;并且维护第二数据库,其包括指示所述多个桥接器模块中的每个桥接器模块的状态的数据。所述oracle模块可以进一步被配置为:响应于来自所述组块模块的对工作器模块的请求而将工作器模块分配给组块模块。可选地,连接到所述空间优化式仿真系统的所述客户机设备可以位于多个不同地理位置。可选地,所述桥接器模块可以被配置为:通过每个桥接器模块所显露的应用编程接口(API)与所述工作器模块进行通信。根据一个或多个方面,提供一种用于监管空间优化式基于计算机的仿真的方法,包括:通过在每个工作器模块上对多个实体中的不同子集进行实例化来仿真多个工作器模块上的所述多个实体,其中,所述多个实体中的每个实体包括一个或多个部件,其中,所述一个或多个部件中的每一个包括一个或多个性质;由每个工作器模块基于源自一个或多个其它工作器模本文档来自技高网
...

【技术保护点】
1.一种用于对空间优化式仿真进行负载平衡的方法,包括:由第一计算模块确定用于从所述第一计算模块接收待移送的处理的多个候选计算模块;对于每个候选计算模块:确定该候选计算模块的负载密度中心;确定所述第一计算模块的负载密度中心与该候选计算模块的负载密度中心之间的距离;以及确定该候选计算模块的移送评分;基于对所述多个候选计算模块的移送评分的比较而确定选自所述多个候选计算模块的第二计算模块;以及将所述处理从所述第一计算模块移送到所述第二计算模块。

【技术特征摘要】
2016.08.24 US 62/378,715;2016.11.28 US 15/361,874;1.一种用于对空间优化式仿真进行负载平衡的方法,包括:由第一计算模块确定用于从所述第一计算模块接收待移送的处理的多个候选计算模块;对于每个候选计算模块:确定该候选计算模块的负载密度中心;确定所述第一计算模块的负载密度中心与该候选计算模块的负载密度中心之间的距离;以及确定该候选计算模块的移送评分;基于对所述多个候选计算模块的移送评分的比较而确定选自所述多个候选计算模块的第二计算模块;以及将所述处理从所述第一计算模块移送到所述第二计算模块。2.根据权利要求1所述的方法,其中,确定所述多个候选计算模块包括:选择对所述待移送的处理所发送的通知进行订阅的多个其它计算模块。3.根据权利要求1或权利要求2所述的方法,其中,所述确定所述一个或多个候选计算模块包括:对于每个候选计算模块确定指示该候选计算模块上的瞬时处理负载的负载度量;以及基于确定所述负载度量而排除至少一个候选计算模块。4.根据权利要求1至3中任一项所述的方法,其中,所述确定所述第一计算模块的所述负载密度中心包括:基于分配给所述第一计算模块的多个处理的空间位置和处理负载而确定所述第一计算模块的空间质心。5.根据权利要求1至4中任一项所述的方法,其中,所述确定每个候选计算模块的所述移送评分包括:基于所述第一计算模块的负载密度中心与所述候选计算模块的负载密度中心之间的距离以及预定弹簧因子而确定所述候选计算模块的拉伸能。6.根据权利要求5所述的方法,其中,所述预定弹簧因子的值基于时间因子而改变。7.根据权利要求5所述的方法,其中,所述预定弹簧因子的值基于所述第一计算模块的负载密度中心与所述候选计算模块的负载密度中心之间的所述距离而改变。8.根据权利要求5所述的方法,其中,所述确定接收计算模块包括:选择候选计算模块以使得所述第一计算模块与第二计算模块之间的拉伸能小化。9.根据权利要求1至8中任一项所述的方法,其中,将所述处理从所述第一计算模块转移到所述第二计算模块包括:所述第一计算模块向所述第二计算模块发送所述处理的状态信息;所述第一计算模块使得所述第二计算模块从所述处理接收状态改变通知;以及由所述第一计算模块停止从所述处理接收状态改变通知。10.一种或多种非瞬时计算机可读介质,包括计算机可读指令,所述计算机可读指令当被执行时将系统配置为:通过如下对空间优化式仿真进行负载平衡:由第一计算模块确定用于从所述第一计算模块接收待移送的处理的多个候选计算模块;对于每个候选计算模块:确定该候选计算模块的负载密度中心;确定所述第一计算模块的负载密度中心与...

【专利技术属性】
技术研发人员:罗伯特·詹姆斯·弗雷德里克·怀特海德唐汉英马修·约翰·瑞福里·路易斯彼得·理查德·利普卡
申请(专利权)人:奇异世界有限公司
类型:发明
国别省市:英国,GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1