首页> 中国专利> 使用社交网络接口的通用模拟系统

使用社交网络接口的通用模拟系统

摘要

一种模拟系统包括:接口组件,其连接到公共或共享网络,所述公共或共享网络比防火墙内部的网络具有更少的访问限制,产生模拟工作并且将模拟工作登记在数据库中;工作控制组件,其访问所述数据库以获取所述模拟工作并且调度所述模拟工作来执行;模拟执行组件,其从所述工作控制组件接收所述模拟工作,创建用于数字并行计算算法的可执行代码并且将计算进程分布于多个计算机以执行所述模拟工作。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-10

    未缴年费专利权终止 IPC(主分类):G06Q50/10 授权公告日:20160824 终止日期:20190711 申请日:20130711

    专利权的终止

  • 2016-08-24

    授权

    授权

  • 2015-04-15

    实质审查的生效 IPC(主分类):G06Q50/10 申请日:20130711

    实质审查的生效

  • 2015-03-18

    公开

    公开

说明书

技术领域

本发明涉及可用于大范围研究人员的计算机实现的模拟系统。

背景技术

各种科学或工程领域的研究人员常常会与同事在进行科学或工程项目时讨论新模拟模型的建模方案和结果。传统上,这些讨论是单独进行的。为了在共享模型和模拟数据的情况下进行讨论,研究人员需要遵循几个步骤。例如,这些步骤包括:用电子邮件与同事共享正在开发的模型;对模型进行评论并且修改模型;离线形成可执行模型并且在本地机中执行模拟;在模拟之后,为了进一步讨论,再用电子邮件或文件共享服务与同事分享模拟结果。如果同事的人数大,则该过程会是繁重且耗时的。

另外,即使研究人员想要以并行计算执行高性能模拟,研究人员也不是总是在高性能计算机(HPC)可用的环境中。例如,如果研究人员所属的研究所没有HPC,则研究人员不容易访问HPC。或者,即使研究所有HPC,如果研究人员在防火墙之外,则访问常常受到限制。模拟器必须能够直接访问计算资源。因此,用户需要直接将模拟器安装到计算资源上。由于HPC通常通过防火墙防止外部的访问,因此用户难以或不可能从防火墙之外访问模拟器。

另外,通常,通过将模型的可执行二进制代码保存在计算资源(诸如,台式机器或丛集机器)的本地存储区中并且通过在该机器上执行二进制代码来进行模型的模拟。模型开发人员需要编写用于数值计算的算法以及模型科学逻辑的程序代码。因此,对于研究人员而言,难以只专注于构建建模目标现象的科学基本逻辑。

由于模型尺寸近来越来越大,因此需要用于在诸如丛集机器上进行高性能计算的并行计算。在这种情况下,研究人员必须使用MPI(消息传递接口)或一些其它技术实现特定算法,以将处理并行化。以并行计算算法实现这种程序是耗时的任务,因为它需要高水平的编程技术。

此外,并行化效率取决于丛集机器的硬件构造。例如,如果在丛集A上调谐程序,则同一程序在丛集B上可能不是一直有效的。因此,研究人员需要花费更多时间根据硬件来优化程序,这在科学上也不是重要的。

在大模拟的情况下,模拟执行者想要知道模拟的进展。示出模拟进展的百分比或者示出模拟变量的时间序列数据的曲线图将是有益的。为了这样,模型开发人员将需要花费额外的时间来实现程序中的这种技巧。

另外,可能必要的是,根据模拟的输出,在模拟期间修改变量的值,或者在模拟的中途中断模拟。实现这些任务是耗时的并且将除了科学问题之外的额外负担强加于研究人员。

SBSI(http://www.sbsi.ed.ac.uk/index.html)使用它们的HPC提供模拟服务。然而,从防火墙的外部不能到达该系统,并且只支持SBML(系统生物标记语言)格式。

存在接收SBML和CellML格式文件作为输入的多个模拟器。它们之中没有将数据发送到社交网络服务或者从社交网络等服务接收模拟模型的功能。其中一些是独立式模拟器,使得用户需要将它们直接安装到计算资源,从而经受如以上讨论的类似问题。

发明内容

技术问题

因此,本发明涉及基本上消除了由于相关技术的限制和缺点导致的一个或多个以上讨论的问题和其它问题的模拟系统。

本发明的目的是提供使大范围的研究人员能更方便访问的模拟系统。

问题的解决方案

为了实现这些和其它优点并且根据本发明的目的,如实施的和广义描述的,在一个方面,本发明提供了一种模拟系统,该模拟系统包括:在一个或多个计算机中实现的接口组件,所述接口组件产生模拟工作并且将所述模拟工作登记在数据库中,所述接口组件的至少一部分被置于防火墙外部并且连接到比防火墙内部的网络具有更少的访问限制的公共或共享网络,以从防火墙外部接收用于模拟的模型;在一个或多个计算机中实现的工作控制组件,所述工作控制组件访问所述数据库以获取所述模拟工作并且调度所述模拟工作来执行;在一个或多个计算机中实现的模拟执行组件,所述模拟执行组件从所述工作控制组件接收所述模拟工作,创建用于数字并行计算算法的可执行代码并且将计算进程分布于多个计算机以执行所述模拟工作,其中,所述工作控制组件从所述模拟执行工作接收模拟进展信息,将所述模拟进展信息登记在所述数据库中,并将所述模拟进展信息发送到所述接口组件,其中,所述模拟执行组件将所述模拟进展信息发送到所述工作控制组件,暂时存储通过所述模拟工作创建的数据,并且将模拟结果发送到所述接口组件,其中,所述接口组件在所述接口组件托管的网站上显示所述模拟进展信息和所述模拟结果或者将向用户发送消息以将所述模拟进展信息和所述模拟结果通知用户。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,其中,所述接口组件被构造成从位于所述防火墙外部的用户接收模拟模型并且按照所述模拟模型产生所述模拟工作。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,其中,所述接口组件连接到包括社交网络主机的公共网络,并且接收通过所述社交网络主机托管的社交网络网站提交的所述模拟模型。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,其中,所述接口组件被构造成从Facebook群组、Google+圈子、Google drive、Dropbox或公布于互联网上的模型数据库中的任一个或多个接收模拟模型。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,其中,用SBML(系统生物标记语言)、CellML和PHML(生理分层标记语言)中的任一个或多个表达所述模拟模型。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,其中,所述接口组件在网站上显示所述模拟结果的图表,并且将所述模拟结果发送到社交网络服务,以在社交网络网站中显示所述模拟结果。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,其中,所述工作控制组件和所述模拟执行组件在所述防火墙内部的一个或多个计算机的同一集合中实现。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,所述模拟系统还包括一个或多个另外的模拟执行组件,其中,当处理多个模拟工作时,所述工作控制组件将所述多个模拟工作分别分派给多个模拟执行组件,其中,在所述多个模拟执行组件的至少一些中,多个计算机通过实时通信网络连接以执行将计算分布于所述网络上来执行所述模拟工作。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,其中,所述实时通信网络是互联网。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,其中,所述防火墙被置于所述接口组件和所述工作控制组件之间。

在另一个方面,本发明提供了具有以上引用特征的模拟系统,所述模拟系统还包括连接到所述接口组件的客户端计算机,所述客户端计算机在所述防火墙外部并且安装有模型构建软件,以产生用SBML(系统生物标记语言)、CellML和PHML(生理分层标记语言)中的任一个或组合编写的用于模拟的模型,所述客户端计算机将所述用于模拟的模型提交到所述接口组件。

本发明的有利效果

本发明的额外或单独的特征和优点将在随后的描述中阐述,将部分根据描述而显而易见,或者可通过本发明的实践而得知。可通过书面描述及其权利要求书以及附图中特别指出的结构来实现和获得本发明的目的和其它优点。

要理解,对本发明的以上总体描述和以下详细描述都是示例性的和说明性的,并且旨在对要求保护的本发明提供进一步说明。

附图说明

[图1]图1是示意性示出根据本发明的实施方式的模拟系统的功能方面的示图。

[图2]图2示意性示出根据本发明的实施方式的模拟系统的架构。

[图3]图3示意性示出根据本发明的实施方式的模拟系统的物理构造的示例。

[图4]图4是根据本发明的实施方式的网站界面屏幕的示例。

[图5]图5是根据本发明的实施方式的网站界面屏幕的示例。

[图6]图6是示出模拟结果的、根据本发明的实施方式的网站界面屏幕的示例。

[图7]图7示意性示出在本发明的实施方式中的构造模拟模型的过程中的模型构建程序。

[图8]图8示意性示出本发明的实施方式中的实现模型构建程序的软件程序的截图示例。

[图9]图9示意性示出根据本发明的实施方式的模拟系统中的网站界面示例。

[图10]图10示意性示出根据本发明的实施方式的模拟系统的物理构造示例。

[图11]图11示意性示出根据本发明的实施方式的模拟系统的架构示例。

具体实施方式

本发明在一些实施方式中提供了用于无缝链接社交群体内的活动(诸如,科学讨论、共享生理功能的模型、执行模拟、共享模拟结果)的程序。它还涉及普遍地运行高性能模拟的方法。

在本发明的一些实施方式中,该系统的主要方面如下。

1.互联网中提供的高性能模拟服务和诸如Facebook、Google+的现有社交网络服务(SNS)或私有社交网络型界面之间的无缝链接。

2.系统架构适于被接入任何类型的高性能计算机或者在其中实现。发明的系统接收用PHML(生理分层标记语言)、SBML和CellML语言编写的模型文件。在模型文件中描述了进行数值计算所需的信息(诸如,代表生理现象动态、物理单元的数学公式)。然而,不需要包括用于数值计算和并行计算等的算法,因为系统操纵包括自动并行化处理的所有这些算法。

图1是示意性示出根据本发明的实施方式的模拟系统的功能方面的示图。模拟系统可通过网络直接从Facebook群组、Google+圈子、Google drive、Dropbox或公布于网(诸如,physiome.jp)上的模型数据库或者从如同私有社交网络的接口接收模型101(框102)。另选地或另外地,应用可使用系统103提供的API(应用编程接口)将模型直接上传到系统。通过这个特征,用户可例如在任何时间尝试模拟他们在Facebook群组或Google+圈子上讨论的模型。

发明的系统基于为了进行模拟输入的模型文件来自动产生可执行代码。用于并行化处理的算法被自动并入可执行代码中,通过并行计算执行模拟(框104)。

还在系统中实现在模拟期间在任何时间改变参数值、中止模拟和中断模拟的功能和接口。用户不需要实现这些功能。

最初将模拟结果108存储在服务器上。还自动地产生进展报告105/106(诸如,完成的百分比)。发明的系统通过按用户定义的频率借助电子邮件、Facebook消息、Facebook群组贴、Twitter和Google+消息发送消息107,将进展消息通知给用户。

通过模拟产生的时间序列数据的大小可以较大。在这种情况下,时间序列数据109和曲线图图像110可被发送到存储介质111(诸如,用户的本地机、Dropbox和Google drive)。曲线图图像可也被发送到Facebook群组、Google+圈子或Evernote 112,使得用户可持续基于SNS(社交网络服务)或私有社交网络类型接口上的模拟结果进行讨论。

图2示意性示出根据本发明的实施方式的模拟系统的架构。在这个实施方式中,模拟系统包括接口组件201、模拟工作控制组件202和模拟执行组件203。下文中,模拟工作被简称为工作。

接口组件201产生工作并且将工作登记到数据库。接口组件没有将工作直接发送到工作控制组件(尽管图2中的箭头指示“工作”从接口组件201流向工作控制组件202,但通过数据库间接转发工作),使得接口组件201可位于围绕计算资源的防火墙外部。接口组件201还从工作控制组件202接收模拟进展信息,在能通过浏览器访问的其网站上显示信息或者借助电子邮件、Twitter、Facebook消息、或Facebook群组102a发送消息,以将进展信息通知用户。另外,它在网站上显示模拟结果的曲线图,将模拟结果发送到Facebook群组、Google drive、Dropbox、Evernote、Google+圈子102c。

工作控制组件202通过访问数据库取得来自接口组件201的工作。它还调节将工作发送到模拟执行组件203的时刻,并且在合适的时间将工作发送到模拟执行组件203。另外,它从模拟执行组件203接收模拟进展信息,并且将它登记到数据库中。此外,它将模拟进展和工作状态发送到接口组件201。

模拟执行组件203从工作控制组件202接收工作,创建包括并行计算算法的可执行代码,将过程分布于多个节点,自动地执行模拟(框204)。此外,它将模拟进展信息发送到工作控制组件202。通过模拟创建的数据被暂时存储在模拟执行组件203中。在完成模拟之后,结果文件经由接口组件201被发送到用户(102a至102c)(诸如,用户的本地机、Dropbox、Google drive)。

因为如上所述系统由三个组件组成,所以系统可解决关于从防火墙外部可用模拟器系统的问题。

模拟执行组件203直接访问诸如PC丛集的计算资源,因为HPC通常通过防火墙限制外部的访问。如以上说明的,传统上,模拟器被构建为一体化的单个组件应用,因此,用户需要将模拟器直接安装到计算资源上。另外,用户难以或不可能从防火墙外部访问模拟器。

然而,因为如以上说明的本实施方式的系统由三个组件组成,所以可以将接口组件定位在DMZ(非军事区:包含组织的外部服务并且将外部服务曝光于较大非置信网络(通常是互联网)的物理或逻辑子网络),使得用户可从防火墙外部(互联网)访问接口组件,并且可将模拟工作提交到系统。然后,可设置在防火墙内部的工作控制组件202可经由TCP连接从接口组件取得工作。

此外,可以通过模拟执行组件203执行一系列模拟。此外,因为工作控制组件202可被安装在除了计算资源外的其它位置,所以可以更灵活地操作系统。

图3示意性示出根据本发明的实施方式的模拟系统的物理构造的示例。防火墙FW上的计算机C1代表接口组件201、防火墙内部的计算机C2对应于工作控制组件202和模拟执行组件203。SP指示通过模拟执行组件203分布的模拟过程。如图3中所示,防火墙FW外部的用户302可使用他们的本地个人计算机C4通过互联网301来访问接口组件(以计算机C1为宿主)。如以上讨论的,在将模拟模型提交到计算机C1的过程中,可借助互联网使用社交网络服务(SNS)或其它类似的接口。用这种构造,不仅防火墙内部的用户303,而且防火墙FW外部的用户302有权访问计算资源。这里,图3中的D1指示如以上说明的存储模拟工作的数据库。

图4是根据本发明的实施方式的网站界面屏幕的示例。充当接口组件201的计算机C1可存在针对经授权用户的网站并且可接收并且示出关于模拟的信息。图4示出当进行模拟时界面屏幕的示例。如图4中所示,可一次性浏览关于被请求模拟工作的信息和状态。

图5示出当完成模拟工作时网站的网站界面屏幕的示例。模拟状态现在是“完成”并且进展条表示100%。

图6是示出模拟结果的网站界面屏幕的示例。如这个图中所示的,用户可将结果下载到本地计算机或者可将文件传递到Dropbox。

如上所述,在一些实施方式中,可使用PHML构建进行模拟的模型。由于传统模拟器不支持用于模拟模型的PHML,因此上述实施方式在支持PHML方面有突出的优点。

以下,描述特别适于生物等研究的本发明的其它实施方式。

在这个方面,本发明提供了用于支持建模并执行多级生理系统的模拟的模拟软件框架,在一些实施方式中,已经开发和扩展了该软件框架以支持云计算。

框架由两个块组成:本地模型设计者(实际开发版本被命名为“PhysioDesignerTM”)和实现上述的模拟系统实施方式的一些或全部特征的模拟系统。第二部分-模拟系统的实际开发版本被命名为“FlintTM”或“Flint系统”,如下所述的其支持云计算的扩展版本被命名为“Flint K3TM系统”。PhysioDesignerTM是提供图形用户接口和用于构建基于脚本的模型的终端接口的应用,该图形用户接口用于在生理功能的多级建模过程中辅助用户。用PHML(生理分层标记语言)编写构建在PhysioDesignerTM上的模型。FlintTM是独立式模拟器,支持用于在合适系统环境下并行计算的MPI。基于独立式应用,已经开发出支持云计算的Flint K3TM系统,该系统提供了用于便携式高性能模拟的解决方案。在Flint K3TM的网站,用户可上传用PHML描述的模型。另外,PhysioDesignerTM和其它应用可在线将模拟工作提交到Flint K3TM

以下,开发本发明的这些实施方式的背景和实际构建的应用/系统(PhysioDesignerTM、FlintTM、Flint K3TM)的一些特定特征将被描述为本发明的实施方式。然而,本发明不限于开发的应用/系统的这些特定特征中的任一个,除非在随附的权利要求书中详述了这些特征之外。

过去几十年来,基于简化论科学提供的大量数据,正在快速发展系统生物和整合生理中的基于建模的科学。在这些领域,模型的大小变得越来越大,结构更复杂和细化。几乎不可能在没有研究组间(不仅在所谓的“湿”和“干”研究组间,而且在“干”和“干”研究组间)协作的情况下构建这种模型。为了促进有效协作、构建大规模模型并且执行CPU密集模拟,非常重要的是开发用于支持这种活动的工具。

用PhysioDesignerTM实现的下述特征的目的是,为想要创建多级生理系统的模型的用户提供公共整合开发环境。用户可使用图形用户接口用分层结构化算术公式描述目标生理系统的状态动态。用PHML(生理分层标记语言)编写在PhysioDesignerTM上构建的模型,PHML是被设计成明确代表生理分层功能的基于XML的规范。PhysioDesignerTM是公共可用的(http://physiodesigner.org)。

除了构建模型之外,执行模拟是重要的配对物。用FlintTM实现的、以上被描述为本发明的实施方式的模拟系统可以是可与PhysioDesignerTM一起工作的翻译器型模拟器。如上所述,模拟系统可被构造成解析PHML,内部编译并且运行模拟。如果系统具有MPI环境,则FlintTM可利用MPI使用多个核进行计算密集模拟。因为模型的大小生长,所以这个特征可以是关键的。然而,遗憾的是,带有许多CPU的这种高性能PC丛集不是一直可用的。已经开发出Flint K3TM服务(即,可在计算机云上工作的FlintTM)来满足这些需要。Flint K3TM系统装配有用于进行工作管理的门户网站。用户可在网站上提交模拟工作。除此之外,PhysioDesignerTM可将模拟工作经由互联网直接发送到Flint K3TM

模型构建软件/系统

提供模型构建软件来辅助用户构建用于模拟的模型。PhysioDesignerTM是使用户能够编辑生命系统的分层多层模型的应用软件。该应用可得自http://physiodesigner.org。它之前被开发为insiliconIDE(http://physiome.jp),并且根据开发的最近进展,应用被重新命名为作为其下一代的PhysioDesignerTM

本发明的实施方式如果与模型构建软件结合并且当与模型构建软件结合时可被构造成实现PhysioDesignerTM的一些或全部特征,本文中将对此进行描述。

用PHML格式编写在PhysioDesignerTM上构建的模型,PHML格式是用于描述综合性生物模型中系统的分层的基于XML的规范。PHML是自2007起开发的ISML的后继语言(http://physiome.jp)。

在PHML中,模型中涉及的生物和生理元素中的每个被称为如图7中总结的模块,通过边缘定义模块之间的结构和函数关系。成组的模块可被定义为模块。通过模块的这种递归定义,用模型表达生理系统的分层结构。通过许多物理量(诸如,定义系统动态的状态)以及可变和静态参数来定量表征各模块。通过算术方程明确地描述动态(诸如,常微分/偏微分方程)的定义或物理量的函数。

通过将模块的出口链接到另一个模块的入口的边缘(函数边缘)表达模块之间的函数关系的定义,所述定义带有被定义为物理量的数值信息。模块接收信息,可在模块中定义的方程中利用信息(图7)。

还可通过边缘(被称为结构边缘)定义模块之间的逻辑结构。逻辑结构代表一种本体论,如同诸如“具有”关系的模块之间的关系。依据生理学,其对应于“构成”(例如,许多心肌细胞构成心脏)、“包括”(细胞膜包括细胞器)等。

图7示出用于代表模块、物理量和边缘的PHML的示例性概要。在模块1中,定义了两个物理量a和y。a是静态参数(即,常数)并且y是用于定义常微分方程的状态。y与用于输出其值的出口关联,通过函数边缘和入口由模块2中的物理量接收其值。通过模块1中的y和模块2中的y之间的这种关联,模块1中定义的y的值用在模块2中的x的方程中。模块3和模块4位于模块2的子层。

本申请提供了用于设置可通过PHML描述的所有构造的图形用户接口。图8是本申请的用户显示器中的一些画面的截图示例。如在图8中示意性示出的,本申请以两种方式用图表示出模型。一个是树状图,另一个是网状图。主窗口还包含物理量和所选择模块的端口的表格以及模块的组成列表。另外,存在XML查看器和PhysioTerminal,用户可基于Python和PhysioDesignerTM API在XML查看器和PhysioTerminal上执行命令。

另外,本申请提供了用Python编写的API(应用编程接口)。使用API,用户可在不使用GUI的情况下用Pytho shell完全处理终端(或控制台)上的模型。

在一些实施方式中,可通过SBML-PHML混合建模执行多级建模。SBML(系统生物标记语言)是生物处理(诸如,新陈代谢、细胞信号传导和更多)的计算机模型的XML格式。PHML被设计成使用其模表示来代表功能网络和分层结构。通过组合SBML和PHML,可以将能力扩展到构造包括多级生理现象的模型。在一些实施方式中,可提供用于在PHML的模块中引入整个SBML模型的功能。然后,模块可代表通过SBML模型建模的亚细胞现象。通过用函数和结构边缘将带有SBML模型的模块链接于其它模块,就结构和函数关系而言,SBML模型最终可被有效地嵌入PHML模块网络中。在PHML规范中的模块部分内存在用于描述整体SBML模型的引入部分。实际上,不仅SBML而且任何模型格式可嵌入模块中。

在SBML中,存在用于表达生物化学实体的量属性的“个体”和“参数”。在包括SBML模型的模块中,可以定义与个体或参数关联的物理量,以设置或获得数值。PHML部分中的物理量可通过充当从SBML部分到PHML部分的单向桥的“get”定义来利用SBML模型中定义的数字信息。类似地,但方向相反地,“set”定义可通过在不修改SBML模型本身的情况下覆写SBML模型中的个体或参数的原始定义来定量地从PHML部分影响到SBML部分。通过定义getter和setter,SBML模型有效地参与模型。

模拟系统

在本公开中,实现上述模拟系统的一些或全部特征的模拟系统可与上述的模型构建软件结合使用。本发明的一些实施方式可被构造成实现本文描述的FlintTM和/或FlintTM系统中的一些或全部特征。

在本发明中,用于模型构造的任务和用于模拟的任务是分开的。用户的重点可放在用于构建模型的结构和逻辑上,而没有实现用于数字计算的算法的麻烦,因为这些任务是由接收通过模型构建软件构建的模型的模拟系统操纵的。

图9示出经授权用户可访问的网页上的用户界面的示例性截图。在FlintTM的顶层窗口中,用户可选择数字整合算法(例如,Euler方法或四阶Runge-Kutta方法),设置模拟持续时间和具有时间单位和用于将值记录在数据文件中的取样间隔的时步(图9中的A)。在运行模拟之前,可以选择记录在数据文件中的物理量(图9中的B)。通过这些设置(取样间隔和物理量选择),可以使数据文件的大小较小。图9中的C示出图形输出。FlintTM可用图表示出模拟期间的中间结果(图9中的C和D)。可与模拟进展基本上实时地更新图表。这个特征方便用户在他们想要执行会花费长时间的模拟时检查模拟的当前状态。在FlintTM上实现的绘图仪可将图表输出到诸如PDF、PNG等图像文件。FlintTM还支持诸如gnuplot的外部绘图仪来创建供公开或展示的更合适的图。

模拟系统可被构造成执行使用SOSlib用SBML以及PHML编写的模型的模拟。该系统可被构造成解析并且执行SBML-PHML混合模型的模拟。这是建模和模拟如上提到的时空多级生理系统的模型的有效方式。首先,FlintTM提取所有方程并且定义方程之间的关系。接着,它在内部同时编译这些方程。FlintTM可处理具有可包括随机项的ODE(常微分方程)和DDE(时滞微分方程)的方程。

模拟系统可被构造成使用MPI支持并行计算(例如,已经用OpenMPI 1.4或后续版本在FlintTM中实现)。模拟系统将模拟自动划分到多个CPU(处理器)。这是用户使用这个平台的优点之一,因为如果用户想要采用在多核或PC丛集环境下的并行计算,则用户常常需要另外学习专门的技术来开发可执行并行计算的模拟器。这常常是非常耗时的任务。

为了开发本发明的实施方式的模拟系统的云支持特征,引入清楚的客户机-服务器架构来提高其便携性。

在FlintTM的情况下,服务器部分被实现为称为“isbus”的程序。客户端软件将消息发送到isbus,以请求执行子程序。子程序中的每个起到专门的作用,像是解析和检查模型等。FlintTM提供了用Java实现的GUI客户端。相同的功能可被实现为网络应用,如下所述。当客户端正在运行模型的模拟时,客户端首先将开始模拟模型的请求与参数打包在一起并且将它发送到isbus的专用TCP端口。接着,isbus读取消息,发起运行模型的模拟进程的程序“isrun”,将响应打包并且将它发送回客户端。注意的是,以中立方式用编程语言定义打包消息,因此,存在用于处理格式的C++/Java/Python的库。在进行模拟的过程中,模拟进程将进展信息异步发送到客户端。客户端可接收或忽略此信息。

带有云计算的模拟系统

由于模型的大小现在变得越来越大,因此需要在高性能计算机上工作的模拟系统。为了满足这个需要,已经开发出实现上述特征中的一些或全部并且可从事云计算的模拟系统。这样开发出的系统被命名为Flink K3TM(Knit Knowledge Knack)(下文中有时被称为K3)。用这个系统,PhysioDesigner TM的用户(或其它模型构建环境中的用户)可立即将模拟工作发送到高性能云计算环境,即便用户没有任何权利访问高性能计算机。已经用“edubaseCloud”(http://edubase.jp/cloud)开发出K3,“edubaseCloud”是用于国立情报学研究所(National Institute of Informatic,NII)开发的云工程教育的基于开放源的计算机云。为了开发并且初步测试运行Flink K3TM,分派云上的64个核。

K3由如图10中所示的两种类型的服务器构成。一个是接口服务器(IFS),它从用户接收工作请求并且管理工作,在计算机C5中实现。模拟工作被从IFS发送到分别在云1001、1102中的各个计算机C7和C8中实现的模拟服务器(SS)。SS在为模拟分派的每个节点处唤起计算程序(CP)。CP并行执行在之间进行通信的模型的数字计算。

在图10中示出的架构中,好像IFS可变成流量的瓶颈。为了避免这个问题,可通过多种方式确保IFS处的流量可扩展性。一种方式是在各云上设置一种网关,使得IFS的功能的部分可被网关接管。在网关和SS之间进行详细通信,在IFS和网关之间只互换必要的压缩信息。另选地或另外地,可针对与反向代理服务器的负载平衡提供IFS的多个复制。然后,系统可支持安全单点登录并且同时将负载分布于多个IFS。

在这个实施方式中,用户有三种方式将模拟工作提交到Flink K3TM。一种方式是在网络浏览器上访问K3IFS。用户可通过用它们各自的计算机C6访问IFS托管的网站来在站点上传模型并且构造模拟参数用于提交模拟工作(图10)。第二种方式是在开放域中利用K3和模型数据库之间的链接(图10)。目前,存在Physiome.jp(http://www.physiome.jp/modeldb/index1.php)处的PHML模型数据库和诸如Payao数据库(http://celldesigner.org/payao/index.html)和EMBL-EBI中的BioModels(http://www.ebi.ac.uk/biomodels-main/)的多个站点处的SBML模型数据库。用户可将各数据库中定义的模型ID提供给K3IFS。接着,K3IFS访问数据库并且从模型数据库直接下载模型。一旦构建了模拟服务器和数据库之间的这种链接,用户就可检查数据库中模型的动态。第三种方式是使用在IFS上实现的REST API(诸如,simulate(model,parameters)、getStatus(job-id)和getProgress(job-id)),使得诸如PhysioDesingerTM的应用可直接访问K3,例如,以提交模拟工作并且取得模拟的进展报告。

图11示出Flint K3TM系统的内部架构的概要。用户代理对接口服务器(IFS)上的网络应用进行访问,工作相关信息(诸如,模型文件和参数)被存储在存储器中。ISBUS从存储器取得工作信息,并且发送信号以向云中的模拟服务器(SS)中的ISRUN发起模拟。ISRUN唤起用于云中多个节点中的计算的多个进程。模拟的进展信息通过IFS上的网络应用被反馈回用户。

基本上,Flint K3TM与FlintTM的独立版本具有相同的架构,除了下面的三个主要差别之外。第一,K3的安全性增强,因为用户必须在会话中被认证和授权。IFS利用OAuth标准。用户可使用Facebook、Twitter、Google和Dropbox上的账户登录到IFS。第二,由于K3在具有均具有物理多核的大量机的云环境中工作,因此K3应该就核的使用找到所需的基于MPI虚拟机构造。也就是说,可以将大模拟进程映射到一个具有许多物理核的厚置备虚拟机,以及将许多小进程映射到具有几个核的几个精简置备虚拟机。第三,应该通过有效调度来控制可能长寿命的模拟工作。

如上所述,在本发明的一些实施方式中,开发出多级建模和模拟的软件框架。该软件框架由作为模型构建器的PhysioDesingerTM、作为模型描述语言的PHML、作为模拟器的FlintTM组成,目的在于加速整合生理和系统生物的进程。作为独立FlintTM应用的扩展形式,Flint K3TM系统被开发成具有云兼容性,以容易访问高性能计算环境。可通过如上所述的多个计算机实现软件框架。

由于图10中示出的组成,可以仅通过将模拟服务器(图10中的SS)调谐成用于最优化性能的新系统架构将K3延伸到其它云或计算机丛集。

存在另一种被称为Garuda平台的项目,目的是提供连贯地链接系统生物中的软件和知识的基本技术。可利用不仅来自PhysioDesignerTM而且诸如CellDesigner的Garuda联盟(http://www.garuda-alliance.org/)中的其它工具的FlintTM组和Flint K3TM服务。参见图10。这样扩展了FlintTM相关技术的范围和系统生物和整合生理之中的本发明的其它实施方式。

如以上参照图1至图6描述的实施方式中的,计算机C5(图10)托管的IFS可由三种不同组件构成:接口组件、工作控制组件和模拟执行组件,可由一个或多个计算机实现各组件。防火墙中的一个或多个可被设置在合适的位置(诸如,接口组件和工作控制组件之间),使得IFS可被构造成与一个或多个社交网络服务或在公共网络(诸如,互联网)中或者私有或半私有网络中可用或开发的类似服务相互作用,以通过这种服务接收模拟工作。

本领域的技术人员应该清楚,在不脱离本发明的精神和范围的情况下,可在本发明中进行各种修改和变形。因此,本发明旨在涵盖落入随附权利要求书及其等同物的范围内的修改形式和变形形式。特别地,明确料想到,上述实施方式及其修改形式中的任何两个或更多个的任何部分或全部可被组合并且被认为在本发明的范围内。

参考符号列表

103 模拟系统

201 接口组件

202 模拟工作控制组件

203 模拟执行组件

301 互联网

302、303 用户

1001、1002 云

C1、C2、C3、C5、C7、C8 计算机

C4、C6 本地个人计算机

D1 数据库

FW 防火墙

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号