分布式系统的制作方法

文档序号:13518266阅读:112来源:国知局
分布式系统的制作方法

本发明涉及一种分布式系统,该分布式系统经由网络将多个传感器和多个计算机及多个计算机环境连接,进行数据以及程序的通信,并执行程序。



背景技术:

存在一种如专利文献1所示的分布式应用,该分布式应用在被网络连接的多个计算机中分别执行多个程序,并使各程序协作,从而能够像一个应用那样进行动作。专利文献1的分布式应用是如下的发明,即基于本地通信的优劣性静态配置程序,从而在多个该分布式应用进行动作的情况下,以适当的分布式应用的优先级来进行为目的,进行该程序的配置场所的选择辅助。如专利文献1的段落0022的例子所示,是对应于像工厂生产设备那样封闭的静态的计算机环境的发明。

另外,还有一种如专利文献2所示的分布式应用,该分布式应用通过一个主计算机执行一个应用,将内部程序分配给由网络连接的多个从计算机而进行动作。专利文献2的分布式应用是如下的发明,即在主计算机中执行分布式应用时,通过让负载较少的从计算机来负担内部程序,从而实现负载分散,并在主计算机中得到最终的计算结果。其是在服务器-客户端类型的计算机系统中的负载分散的一种安装方式。

另外,在被称为m2m(machinetomachine,机器对机器)、iot(internetofthings,物联网)的经由因特网对传感器以及计算机实施相互连接的环境中,通常,例如使用以mqtt(http://mqtt.org/)为一例的协议,将传感器和云端连接。

现有技术文献

专利文献

专利文献1:日本特开2009-282652号公报

专利文献2:日本特开平06-348666号公报



技术实现要素:

发明要解决的课题

在专利文献1的发明中,如段落0014所示,基于表示网络拓扑-以及构成网络的各线路的属性的网络规格信息、这样的事前确定的静态且固定的信息,来提示配置场所。因此,在网络设备或计算机变更、分布式应用中进行变更以及追加新的分布式应用的情况下,需要重新进行配置。另外,就作为网络规格信息之一的通信频带而言,与设计上的理想值相比,实际运行中的频带的定常度(稳定度)以及带宽不同,因而存在因网络的路径变更或负载变动而难以维持作为专利文献1的目的的优先级的问题。

专利文献2的发明是一种作为集中配置结构的主从服务器-客户端类型计算系统,如图1所示,以在同一通信介质直接连接有多个计算机的小规模的封闭的计算机环境为前提。因此,在如上述那样通过因特网将传感器和云端相互连接的非专利文献1的协议构成的如m2m、iot那样的大规模开放的环境中,存在难以构建以主计算机管理多数的客户端计算机或巨大数量的传感器、控制器的结构的问题。即,在m2m、iot的相互连接环境中,需要p2p(peertopeer,点对点)结构,而不是服务器-客户端类型。

本发明的目的在于提供一种分布式系统,在该具有由网络连接的多个节点的分布式系统中,通过动态决定要执行执行模块的节点,从而作为系统整体能够进行高效的处理。

用于解决课题的手段

本发明涉及具有由网络连接的多个节点的分布式系统,其中,将执行条件相关的特征赋予给在所述节点被执行的执行模块,根据所述特征和所述分布式系统的内部状态,决定要执行所述执行模块的节点。

发明的效果

根据本发明,在具有由网络连接的多个节点的分布式系统中,通过动态决定要执行执行模块的节点,从而作为系统整体能够进行高效的处理。

附图说明

图1是本发明的分布式系统的概略图。

图2是本发明的程序、模块以及特征的结构图。

图3是本发明的由多个节点构成的分布式系统的例子。

图4是在计算机资源充足但网络通信频带不足的环境中移动程序、模块的例子。

图5是移动图4中的程序、模块的流程图。

图6是在计算机资源以及网络通信频带不足的环境中移动程序、模块的的例子。

图7是移动图6中的程序、模块的流程图。

图8是根据本发明的数据生成的有无来移动程序、模块的例。

图9是本发明中的自动控制模块往来于车上、地面的图。

具体实施方式

以下,表示本发明的实施方式所涉及的分布式系统的实施例。

实施例1

在本实施例所涉及的分布式系统中,涉及一种动态分布方法,是在作为与网络连接的结构单位(节点)的多个传感器以及多个计算机连接于网络而得的计算机环境中,使构成程序的多个程序、模块动态地分布于节点的方法,该动态分布方法具有:将成为该模块的执行条件的特征(property:属性,特性)赋予到程序、模块中,计测网络的状态及计算机的状态的单元;通过该计测单元的结果和特征来确定要执行程序、模块的节点的判断单元;在节点间移动该程序、模块的单元。另外,还可以存储程序、模块的处理经过、数据的积蓄状况、配置状况,并根据该存储状况配置该程序、模块。另外,还可以根据该存储状况来提取限速步骤,提示最佳的特征。

<概略结构>

图1表示实施例1的分布式系统的概略图。传感器等设备11、控制器12、网关13、路由器14、具有以服务器为首的多个计算机的云端等的最终域15,这些与网络连接而得的构成物被总称为节点30。在该分布式系统中,从下位节点即设备11到上位节点即最终域15,有层级地配置各节点。另外,在图1中省略了为了连接多个节点而设置的像开关那样的多个节点。

具有连结传感器设备11和控制器12的通信路径径21、连接控制器12和网关13的通信路径22、负责局域网lan23与外部网络的连接的路由器14、以因特网为代表的广域网wan24。将这些总称为网络20。在连结传感器设备11和控制器12的通信路径21中,一般使用用于交换(存取)电压等物理性数据的配线、用于将物理数据作为数字数据进行交换的spi、i2c、更加高速的有线网络、或者低速低功耗的无线通信或高速大功耗的无线通信。在连接控制器12和网关13的通信路径22中,与通信路径21相同地,一般为高速有线网络、wi-fi。在连结网关13和路由器14的lan23、连结路由器14和最终域15的wan14中,一般也为高速有线网络。

本实施例的连接于分布式系统的节点的种类以及结构仅为一实施例,但并未限定于此。例如,最终域内也大多由以路由器或防火墙为代表的网关构成。另外,作为通信路径的通信媒介,大致分为有线和无线,采用哪一个都可以。另外,无线中具有可时常连接的手机的地面通信网络、因时区不同而变为不能连接的卫星通信网络,但是在本实施例中隐藏此种通信媒介的差异也是有效的。

<节点和特征>

图2表示本实施例的节点30的内部构造的一例。另外,节点30由于可相当于图1所示的各节点11、12、13、14、15中的任意一个,因此使用不同于能够确定具体的节点的符号11~15的符号30。

在本实施例的分布式系统中,将执行条件相关的特征赋予给在节点30被执行的执行模块,根据特征80和分布式系统的内部状态,来决定要执行该执行模块的节点。这里,作为分布式系统的内部状态,例如有构成分布式系统的节点30的处理状态、各节点30间的通信状态。另外,节点30的处理状态具体而言是指节点30的处理能力(或者处理负载)或存储能力(即,存储容量),通信状态是指通信能力或通信频带的大小。此种内部状态可时间性变化,因此,在该分布式系统中,要对执行模块进行执行的节点也可时间性变化。另外,如上述,分布式系统具有多个层级,然而构成分布式系统的层级有时也会时间性变化。若使用图1说明一例,层级的时间性变化是指,如“从最初下层到上层以设备11、控制器12、网关13、路由器14、最终域15的顺序而构成的状态,变为将控制器12与最终域15直接通信而不需经由被称为网关13、路由器14的中间节点”这样改变层级构造。

执行环境40是模块50进行动作的环境。模块50是基于一个以上的设备11来对数据60进行处理、生成的处理单位。另外,模块50由于是执行处理的模块,因而能够被称为执行模块。移动单元71是将模块50以及数据60移动到其他节点30的单元。计测单元72是计测节点30所涉及的状态的单元。判断单元73基于在计测单元72获得的状态和特征80中记录的数据,判断是否应该移动模块50的单元。具体而言,在特征80中记录有:模块50的执行所需的处理性能81、模块50的执行时间容许的延迟时间82、模块50的执行所涉及的数据60的通信所需的通信频带83、同样地模块50的执行所涉及的数据60的存储所需的存储区域的容量84等。

在执行环境40的一般环境中有操作系统(os)。但是在os中,由于存在硬件依赖性或os固有要素,因此也存在os间不具有互换性的情况。在构建分布式系统时,若将os确定为唯一则系统结构不再具有灵活性。因此,为了消除os依赖性,因此存在要在os上进行动作的解释器、虚拟机(vm)。根据前述的os,能够通过传送可执行文件、静态/动态库来实现在节点30之间移动模块50。在解释器的情况下,模块50的数据格式是确定的,通过传送该数据来实现。例如,在解释器中通过普及的编程语言环境的一种来确定中间格式。在vm的情况下,同样,模块的串行化数据格式是确定的,通过传送该数据来实现。例如在普及的vm型解释器中,通过串行化单元,能够在节点间进行数据传送。在vm执行环境中,将vm执行环境全套作为文件进行管理,可在保持该执行环境的状态下在别的节点进行执行。在本实施例中,在特征80中以处理性能81、延迟时间82、通信频带83、存储容量84为例子来提示,但并未限定于此,该特征是根据模块50所涉及的要求、运行状况而确定的。

另外,判断单元73的执行开始时间可以基于调度而定期执行、或者通过执行环境40中管理的事件进行执行。例如,可以是搭载于一般的os的中断处理。

<节点分布>

图3表示由多个节点构成的分布式系统的结构例。在该结构例中,进行了下述一系列的处理,即获取传感器的数据,对该数据实施前处理来生成中间数据,对该中间数据进行后处理得到成为结果的数据。在传感器节点31中,计测模块51计测传感器设备11的数据,生成传感器数据61。

在前处理节点32中,基于来自传感器节点31的传感器数据61,前处理模块52对传感器数据61进行前处理生成中间数据62。在结构例中,在后处理节点33中,基于来自前处理模块32的中间数据62,后处理模块53对中间数据62进行后处理来生成结果数据63。在该结构例中,传感器节点31对应图1的设备11,后处理模块33对应图1的最终域15内的任一个节点30,前处理模块根据特征80可在任一节点30被处理。在本实施例中,虽然将处理节点设为前处理节点和后处理节点2节点,但是并未限定于此。模块50的个数、处理内容可以根据对于系统整体的要求或运行状况而改变。

<传感器云端(程序在云端)>

在图4中表示直到实施例3所示的分布于多个节点的系统结构的概略。在该例中,是将计算机资源充足的最终域15和网络21、22、23、24的通信频带不足的环境下的传感器节点91连接时的程序、模块的移动状况的一例。

图4(a)相当于iot中的将末端的传感器的数据集合到终端的云端系统来实施大规模的处理的系统结构。该结构是仅将大多数传感器和云端系统连接的结构,构建容易。

传感器节点91具有一个以上的传感器设备11,计测模块51在执行环境40上进行动作,从传感器设备11获取大量的传感器数据61。应用节点92具有:处理该传感器数据61来生成集合的中间数据62的前处理模块52、处理该中间数据62来生成结果数据63的后处理模块。另外,传感器节点91、应用节点92还具有:移动单元61、计测单元72、判断单元73。

在该结构中,在连结该传感器组和云端系统的网络的通信频带不充足时,难以获取传感器的数据。此时,判断单元73根据各模块52、53中附带的特征80,判断为前处理模块52通过例如容量小于传感器数据61的中间数据62来减轻通信负载,如图4(b)所示,通过移动单元71,以能够在另一节点93进行执行的方式,将前处理模块52传送给该节点93,在该节点93的执行环境40中执行处理。

如上述说明,在经由通信频带不足的网络,来构成将计算机资源充足的云端或服务器和多个传感器连接的m2m或iot的分布式系统时,即使是在过去因通信达到瓶颈而无法得到充足的处理性能的情况下,若进行上述处理,则能够有效利用将云端或服务器与多个传感器连接的网络上的节点,并且根据将节点间连接的网络频带以及节点的性能,通过动态地将模块配置在适当的节点,从而作为系统整体能够获得充足的处理性能。

图5表示图4所示的程序、模块50的移动所涉及的流程图。应用节点92的计测单元72经由网络21、22、23、24搜索通信目标,且获取在该网络上所经由的节点30的一览(s10)。

应用节点92的计测单元72根据特征80中记录的项目,计测自节点30的状况(s20)。并且计测单元72获取节点一览的他节点状况(s30)。应用节点92的判断单元73基于赋予给各模块52、53的特征80,在自节点以及他节点中选择适当的节点30(s40)。

例如,假设判断为优选前处理模块52在选择节点93生成中间数据62。则在选择节点为自节点时,继续进行处理(s42)。当选择节点为他节点时,将前处理模块52的中间数据62的通信对象设为自节点,向选择出的节点93传送(s50)。

选择节点93接收该模块52(s52)。向传送目的地节点30请求启动传送的前处理模块52(s60)。选择节点93接收启动请求来启动前处理模块52(s62),应用节点92向当前正在通信的传感器节点91通知变更传送目的地节点93(s70)。

传感器节点91将通信目的地从应用节点92变更为传送目的地节点93(s72)。根据上述,传感器节点91、传送节点93、应用节点92的连接同步结束(s80)。由此,根据特征80,动态选择适合于执行模块30的节点30,从而即使在如m2m、iot这样的大规模且运行状态是流动(动态)的分布式系统中,系统也能高效运行。

<传感器云端(程序在传感器)>

在图4以及图5的例子中,表示了在云端存在程序的例子,在接下来的图6、7中,表示在传感器中存在程序的例子。

在图6中,表示计算机资源以及网络的通信频带不足的环境中的程序、模块的移动状况的一例。在该例中,表示将个数多的传感器节点94经由网络21、22、23、24与设置于最终域15的监控节点95连接时的程序、模块的移动状况的一例。图6(a)相当于iot的、构成对远程设置的多个传感器的信息进行远程监控的大规模监控中心的监控节点95。该结构是仅将大多数传感器和云端系统连接的结构,因而构建容易。

传感器节点94至少具有1个以上的传感器设备11,为了能够在该节点生成结果数据63而具有计测模块51、前处理模块52、后处理模块53,通过在执行环境40进行动作,计测模块51从传感器设备11获取大量的传感器数据61。前处理模块52处理该传感器数据61生成中间数据62。后处理模块53生成结果数据63。结果数据63经由网络21、22、23、24被传送给监控节点95。另外,传感器节点91、应用节点92还具有:移动单元61、计测单元72、判断单元73。

在该结构中,当为了实现传感器的低价格化而将节点30的计算处理能力以及通信能力缩小至最低限时,无法执行高度处理而可能产生延迟。此时,判断单元73根据各模块52、53中附带的特征80,例如判断为传感器节点仅适于计测模块51的执行,则如图6(b)所示,向其他的节点传送(转送)前处理模块52和后处理模块53,在执行环境40进行执行。在本实施例中,当即使传送节点93也不适于特征80时,进一步向监控模块95传送后处理模块53并进行执行。

如上述说明的那样,在将计算机资源不足的传感器节点设置为计测对象,且经由通信频带不足的网络而连接于接收处理结果的节点时,即使在过去因传感器节点的贫乏的处理性能以及通信不足成为瓶颈而不成立分布式系统的情况下,若进行上述处理,则通过仅将传感器节点连接于网络,根据连接节点间的网络频带以及节点的性能,动态地将模块配置于适当的节点,从而作为系统整体能够得到充足的处理性能。

在图7中,表示在实施例6中的程序、模块50的移动的流程图。传感器节点94的计测单元72经由网络21、22、23、24搜索通信目标,获取该网络上所经由的节点30的一览(s110)。传感器节点94的计测单元72根据特征80中记录的项目,计测自节点30的状况(s120)。

并且,计测单元72获取节点一览的他节点状况(s130)。传感器节点92的判断单元73基于赋予给各模块52、53的特征80,在自节点以及他节点中选择适当的节点30(s140)。

例如,设判断为,优选前处理模块52和后处理模块53在选择节点96生成中间数据62。则在选择节点为自节点的情况下,继续进行处理(s142)。在选择节点为他节点时,将前处理模块52的通信对象设定为自节点向选择出的节点93传送(s150)。选择节点93接收该模块52、53(s152)。向传送目的地节点30请求启动传送的前处理模块52以及后处理模块53(s160)。

选择节点96接收启动请求并启动前处理模块52以及后处理模块53(s162)。传感器节点94向当前正在通信的监控节点95通知向传送目的地节点96的变更(s170)。监控节点95将通信目的地从传感器节点94变更为传送目的地节点96(s172)。

根据上述,传感器节点94、选择节点96、监控节点节点95的连接同步完成(s180)。其中,设在选择节点96通过在执行环境40重新执行前处理模块52、后处理模块53,产生变化。

选择节点96的计测单元72经由网络21、22、23、24搜索通信目标,获取在该网络上所经由的节点30的一览(s190)。选择节点96的计测单元72根据特征80中记录的项目,计测自节点30的状况(s200)。并且,计测单元72获取节点一览的他节点状况(s210)。选择节点96的判断单元73基于赋予给各模块52、53的特征80,在自节点以及他节点中选择适当的节点30(s220)。在本实施例中,设判断为优选后处理模块53在监控节点95生成结果数据63。则在选择节点为自节点的情况下继续进行处理(s222)。在选择节点为他节点的情况下,将后处理模块53的通信对象设定为自节点向选择出的节点95传送(s230)。

监控节点95接收后处理模块53(s232)。向监控节点95请求启动传送的后处理模块53(s240)。监控节点95接收启动请求并启动后处理模块53(s242)。选择节点96向当前正在通信的监控节点95通知向监控节点95的变更(s250)。监控节点95将通信目的地从传感器节点94变更为传送目的地节点96(s252)。根据上述,传感器节点94、选择节点96、监控节点95的连接同步完成(s18)。

如上述说明,基于判断单元73经由网络21、22、23、24传送模块50,从而能够在节点30动态地对模块40进行配置、执行。即,根据本实施例,能够提供如下一种环境,即在将多个传感器以及多个计算机连接于网络的环境中,可根据网络的通信状况以及计算机的状况,在计算机间动态移动、执行构成程序的多个程序、模块。另外,通过使用动态分布方式,根据网络路径变更或负载变动以及计算机状况,动态执行程序、模块。由此,无需静态构成网络优先级或如主从那样的计算机结构,即使在如因特网那样的网络优先级确定困难且计算机资源逐次变化的环境中,也能够有效利用。

实施例2

实施例2作为系统的执行状态变化较大的例子,该例子中的系统具有大致两个阶段,即具有基于传感器的数据学习计测对象的状况的阶段、和始终基于该学习结果诊断计测对象的阶段。

在图8(a)所示的初期阶段中,设置于计测对象的控制器96与传感器设备11连接,通过计测模块51获取传感器数据111。特征提取模块101从该传感器数据111提取特征数据62。学习模块102基于特征数据62生成学习数据112。基于该学习数据112和传感器数据11,诊断模块103作出正常/异常的判断,异常时,生成异常数据113,向设置于最终域15的中心97通知异常数据113。

在初期阶段中,不存在学习数据112,且学习模块102的处理较大,难以通过控制器96对巨大数量的传感器数据111进行处理、存储。实际上,在控制器96的规格上,不得不将特征80设定为难以通过控制器96进行执行。

因此,如图8(b)所示,在与中心97之间设置的中继节点98中,执行特征提取模块101,且根据传感器数据111生成特征数据62。基于在中继节点98中生成的特征数据62,在中心97中学习模块102生成学习数据112。

如图9(c)所示,控制器96基于学习数据112在诊断模块103中对传感器数据111实施诊断处理,作出正常/异常的判断,在异常的情况下,生成异常数据113,经由网络21、22、23、24向中心97通知异常数据。

如上述说明,根据学习数据112的生成状况能够在适当的节点执行处理。

实施例3

实施例3表示根据特征的变更而易于变更系统整体结构的例子。本实施例是适用于汽车的自动运行或安全控制系统的控制器300的例子。

图9(a)表示例如搭载于汽车的传感器16、致动器17、以及控制器300。传感器16由一维距离传感器、二维相机、三维立体相机或激光距离测量仪器等与各维度对应的传感器而构成。在控制器300中,基于从这些传感器得到的多维度数据211,维度处理模块201生成特征数据212。在特征数据212具有距离数据或物体检测的结果等。识别模块202基于特征数据212生成识别数据213。基于识别数据213,控制模块203生成控制数据214,该控制数据214成为用于操作致动器17的目标值。根据控制的目标,致动器17具有用于制动的刹车致动器、用于操舵的转向致动器、用于加减速的加速致动器等。该结构是当前的自动巡航控制、或安全装备即adas的概略结构。在该结构中,在各个车体中搭载有传感器设备11和处理模块50,因而成本高昂,另外,在车与车之间可能难以取得协作。

在图9(b)的例子中,通过对识别模块202和控制模块203所涉及的特征进行操作,从而在车上可以实施生成特征数据201,识别数据213的生成、控制数据214的生成通过路上系统310、320进行实施。

并且,在图9(c)的例中,搭载于车上的仅有传感器16和致动器17,将来自传感器16的多维度数据221经由网络21、22、23、24向路上系统320发送,在路上系统320侧,能够实施维度处理模块201、识别模块202、控制模块203。

如上述说明,如图9(a)那样将控制系统300搭载于全部的汽车中,从而能够构建驱动者主体的自制系统。但是,由于控制系统300被要求高性能,致使造价高昂,并且难以让大量的控制系统300进行协作而进行管理。另一方面,若采用图9(b)所示的构成,则能够在外部的节点执行识别模块202或控制模块203,从而能够通过减少控制系统300的处理能力而降低成本。另外,通过在控制系统300中将硬件依赖较少的识别模块202或控制模块203设置于车的外部(例如地面),从而在确保识别模块202或控制模块203的可扩展性,并且还能易于灵活地进行各模块的协作。此时,地面系统310、320例如可以设置于可路车间通信的路旁,如果允许通信延迟则也可以是远距离设置的最终域15。通过在地面侧的设备中执行识别模块202或控制模块203,从而能够进行使精度提高的识别模块202的变更、能够变更为能够执行精度优异的控制的控制模块203。在图9(c)的结构中,搭载于车上的只有传感器17和致动器(actuator)16,能够将由传感器16计测的多维度数据211经由网络21、22、23、24在地面系统320中向集中管理识别、控制的自动运行系统转移。

另外,本发明并未限定于上述各实施方式的构成,在不脱离本发明的宗旨的范围中可以进行适当变更。

例如,在上述中,作为执行环境,例示了被称为os或vm环境的基于软件的执行环境,但也可以是基于硬件的执行环境,作为硬件的执行环境,pld或fpga可被认为是可重新配置(re-configurable)的设备。

符号说明

11…设备、12…控制器、13…网关、14…路由器、15…最终域、21…通信路径、22…通信路径、23…lan、24…wan、30…节点、40…执行环境、50…模块、60…数据、71…移动单元、72…计测单元、73…判断单元、80…特征。

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