JPWO2016207989A1 - 分散システム - Google Patents

分散システム Download PDF

Info

Publication number
JPWO2016207989A1
JPWO2016207989A1 JP2017524327A JP2017524327A JPWO2016207989A1 JP WO2016207989 A1 JPWO2016207989 A1 JP WO2016207989A1 JP 2017524327 A JP2017524327 A JP 2017524327A JP 2017524327 A JP2017524327 A JP 2017524327A JP WO2016207989 A1 JPWO2016207989 A1 JP WO2016207989A1
Authority
JP
Japan
Prior art keywords
node
distributed system
module
data
sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017524327A
Other languages
English (en)
Inventor
納谷 英光
英光 納谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2016207989A1 publication Critical patent/JPWO2016207989A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明の目的は、ネットワークで接続された複数のノードを有する分散システムにおいて、実行モジュールを実行するノードを動的に決定することでシステム全体として効率的な処理が可能な分散システムを提供することである。本発明は、ネットワークで接続された複数のノードを有する分散システムにおいて、前記ノードで実行される実行モジュールに実行条件に関するプロパティが付与され、前記プロパティと、前記分散システムの内部状態に応じて前記実行モジュールを実行するノードが決定されることを特徴とする。

Description

この発明は、複数のセンサと複数の計算機及び複数の計算機環境とをネットワークを介して接続し、データ及びプログラムの通信を行い、プログラムを実行する分散システムに関する。
複数のプログラムを、ネットワークで接続された複数の計算機で別々に実行し、各プログラムを連携させることで一つのアプリケーションのように動作する特許文献1のような分散アプリケーションがある。特許文献1の分散アプリケーションでは、ローカルな通信の優劣度を基にプログラムを静的に配置することで、該分散アプリケーションが複数動作する場合に、分散アプリケーションの優先度が適正に行われることを目的に、該プログラムの配置場所の選択支援を行う発明である。特許文献1の段落0022の例で示しているように、工場生産設備のように閉じた静的な計算機環境に対応した発明である。
また、一つのアプリケーションを一つのマスター計算機で実行し、内部プログラムをネットワークで接続された複数のスレーブ計算機に割り当てて動作するような特許文献2の分散アプリケーションがある。特許文献2の分散アプリケーションでは、マスター計算機において分散アプリケーションを実行するときに、内部プログラムを負荷の少ないスレーブ計算機に担当させることで負荷分散を図り、マスター計算機で最終的な計算結果を得るための発明である。サーバ・クライアント型の計算機システムでの、負荷分散の一実装方式である。
なお、M2M(Machine to Machine)、IoT(Internet of Things)と呼ばれるセンサ及び計算機をインターネット経由で相互接続を実施する環境では、MQTT(http://mqtt.org/)を一例とするプロトコルが使用されており、センサとクラウドとを接続する形態が一般的となっている。
特開2009−282652号公報 特開平06−348666号公報
特許文献1の発明では、段落0014に示されているように、ネットワークのトポロジ-およびネットワークを構成する各回線の属性が示されたネットワーク仕様情報、という事前に決定された静的で且つ固定の情報を基に配置場所を提示するものである。よって、ネットワーク機器や計算機の変更、分散アプリケーションに変更および新たな分散アプリケーションが追加になった場合には、配置をやり直す必要が生じる。また、ネットワーク仕様情報の一つである通信帯域は設計上の理想値と実運用での帯域は定常度および帯域幅が異なるため、ネットワークの経路変更や負荷変動によって、特許文献1が目的とする優先度の維持が困難になる問題点がある。
特許文献2の発明では、中央集権構成となるマスター、スレーブのサーバ・クライアント型計算システムであり、図1に示すように、同一の通信媒体に複数の計算機が直接接続できる小規模の閉じた計算機環境を前提としている。そのために、上述のようなセンサとクラウドをインターネットで相互接続する非特許文献1のようなプロトコルで構成されるM2M、IoTのような大規模な開かれた環境では、多数のクライアント計算機や膨大な量のセンサ・コントローラをマスター計算機で管理する構成を構築することは困難であるという問題がある。つまり、M2M、IoTの相互接続環境では、サーバ・クライアント型ではなくP2P(Peer to Peer)構成が必要となる。
本発明の目的は、ネットワークで接続された複数のノードを有する分散システムにおいて、実行モジュールを実行するノードを動的に決定することでシステム全体として効率的な処理が可能な分散システムを提供することである。
本発明は、ネットワークで接続された複数のノードを有する分散システムにおいて、前記ノードで実行される実行モジュールに実行条件に関するプロパティが付与され、前記プロパティと、前記分散システムの内部状態に応じて前記実行モジュールを実行するノードが決定されることを特徴とする。
本発明によれば、ネットワークで接続された複数のノードを有する分散システムにおいて、実行モジュールを実行するノードを動的に決定することでシステム全体として効率的な処理が可能なとなる。
本発明の分散システムの概略図 本発明におけるプログラム・モジュール及びプロパティの構成図 本発明における複数ノードで構成される分散システムの例 計算機リソースは十分であるが、ネットワーク通信帯域が不十分な環境における、プログラム・モジュールの移動の例 図4におけるプログラム・モジュール移動のフローチャート 計算機リソース及びネットワーク通信帯域が不十分な環境における、プログラム・モジュールの移動の例 図6におけるプログラム・モジュール移動のフローチャート 本発明におけるデータ生成の有無によって、プログラム・モジュールの移動の例 本発明における自動制御モジュールが車上、地上を行き来する図
以下、本発明の実施形態に係る分散システムの実施例を示す。
本実施例に係る分散システムは、ネットワークに接続される構成単位(ノード)である複数のセンサ及び複数の計算機がネットワークに接続された計算機環境において、プログラムを構成する複数のプログラム・モジュールをノードに動的に分散させる方法であって、プログラム・モジュールに該モジュールの実行条件となるプロパティを付与し、ネットワークの状態及び計算機の状態を計測する手段と、該計測手段の結果とプロパティによりプログラム・モジュールを実行するノードを決定する判断手段と、該プログラム・モジュールがノード間で移動する手段と、を有する動的分散方法に関するものである。なお、プログラム・モジュールの処理経過、データの蓄積状況、配置状況を記憶し、該記憶状況に応じて、該プログラム・モジュールを配置してもよい。また、該記憶状況に応じて律速段階を抽出して、最適なプロパティを提示してもよい。
<概略構成>
実施例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で構成されていた状態から、ゲートウェイ13やルータ14といった中間のノードを経由しないでコントローラ12と最終ドメイン15とが直接通信する」といったように、階層構造が変化することである。
実行環境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)がある。ノード30の間でのモジュール50の移動は、前述のOSであれば、実行形式のファイル、静的・動的ライブラリを転送することで実現できる。インタープリタの場合には、モジュール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)に示すように、別のノード93で実行できるように移動手段71により、前処理モジュール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)。選択ノードが他ノードの場合には、選択したノード93に前処理モジュール52の中間データ62の通信相手を自ノードと設定して転送する(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は、少なくとも一つ以上のセンサデバイス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に適さない場合に、更に後処理モジュール53を監視モジュール95に転送して実行する構成となっている。
上記で説明したように、計算機リソースが不十分なセンサノードを計測対象に設置し、且つ通信帯域が不十分なネットワークを経由して処理結果を受信するノードに接続する場合において、従来であればセンサノードの貧弱な処理性能及び不十分な通信がボトルネックとなって、分散システムとして成立しない場合であっても、上述した処理を行えば、センサノードをネットワークに接続するだけで、ノード間を結ぶネットワーク帯域及びノードの性能に応じて、動的に適切なノードにモジュールが配置されることによってシステム全体として十分な処理性能が得られる。
図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)。選択ノードが他ノードの場合には、選択したノード93に前処理モジュール52の通信相手を自ノードと設定して転送する(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において、新たに前処理モジュール52、後処理モジュール53を実行環境40で実行することにより変化が生じたものとする。
選択ノード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)。選択ノードが他ノードの場合には、選択したノード95に後処理モジュール53の通信相手を自ノードと設定して転送する(S230)。
監視ノード95は、後処理モジュール53を受信する(S232)。監視ノード95に、転送した後処理モジュール53の起動を依頼する(S240)。監視ノード95は、起動の依頼を受領して後処理モジュール53を起動する(S242)。選択ノード96は、現在通信している監視ノード95に、監視ノード95への変更を通知する(S250)。監視ノード95は通信先をセンサノード94から転送先ノード96に変更する(S252)。以上により、センサノード94、選択ノード96、監視ノード95の接続同期が完了する(S18)。
上記で説明したように、モジュール50を、ネットワーク21、22、23、24を経由して、判断手段73に従ってモジュール40を転送することによって、適切なノード30に動的にモジュール40を配置・実行することができる。即ち、本実施例によれば、複数のセンサ及び複数の計算機がネットワークに接続された環境で、ネットワークの通信状況及び計算機の状況に応じて、プログラムを構成する複数プログラム・モジュールが動的に計算機間を移動、実行できる環境を提供することができる。また、動的分散方式を用いることで、ネットワーク経路変更や負荷変動および計算機状況に応じて動的にプログラム・モジュールが実行される。よって、ネットワーク優先度やマスター・スレーブのような計算機の構成を静的に構成する必要がなく、インターネットのようにネットワーク優先度の決定が困難で且つ計算機資源が逐次変化する環境でも有効に活用することが可能となる。
実施例2は、システムの実行状態が大きく変化する例として、センサのデータを基に計測対象の状況を学習する段階と、該学習結果を基に計測対象を常時診断する段階の大きく二つの段階を有するシステムの例である。
図8(a)に示す初期段階では、計測対象に設置するコントローラ96は、センサデバイス11と接続し、計測モジュール51により、センサデータ111を取得する。特徴抽出モジュール101は、該センサデータ111から、特徴データ62を抽出する。学習モジュール102は、特徴データ62を基に、学習データ112を生成する。該学習データ112とセンサデータ11を基に、診断モジュール103は正常/異常の判断を下し、異常の場合には異常データ113を生成して、最終ドメイン15に設置されているセンター97に異常データ113を通知する。
初期段階では、学習データ112は存在せず、且つ学習モジュール102の処理は大きく、膨大な量のセンサデータ111を処理・記憶することは、コントローラ96で実行することは困難である。実際、コントローラ96の仕様上、コントローラ96で実行することが困難となるようにプロパティ80を設定せざるを得ない。
そこで図8(b)に示すように、センター97との間に設置された中継ノード98で、特徴抽出モジュール101を実行し、センサデータ111から特徴データ62を生成する。中継ノード98で生成された特徴データ62を基に、センター97では、学習モジュール102が、学習データ112を生成する。
図9(c)に示すように、コントローラ96は、学習データ112を基にセンサデータ111を診断モジュール103で診断処理を実施し、正常/異常の判断を下し、異常の場合には異常データ113を生成して、ネットワーク21、22、23、24を経由してセンター97に異常データを通知する。
上記で説明したように、学習データ112の生成状況により適切なノードで処理を実行させることが可能となる。
実施例3は、プロパティの変更により、システム全体の構成を容易に変更する例を示す。本実施例は、自動車の自動運転や安全制御システムのコントローラ300に適用した例である。
図9(a)は、例えば自動車に搭載されるセンサ16と、アクチュエータ17と、コントローラ300を示す。センサ16は、一次元の距離センサや二次元のカメラ、三次元のステレオカメラやレーザー・レンジ・ファインダ等の様々な次元に対応したセンサによって構成されている。コントローラ300では、これらのセンサから得られる多次元データ211を基に、次元処理モジュール201は、特徴データ212を生成する。特徴データ212には、距離データや物体検知の結果等がある。認識モジュール202は、特徴データ212を基に、認識データ213を生成する。認識データ213を基に制御モジュール203はアクチュエータ17を操作するための目標値となる制御データ214を生成する。制御の目標にもよるが、アクチュエータ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とアクチュエータ16だけとなり、センサ16で計測された多次元データ211を、ネットワーク21,22,23,24を経由して地上システム320で、集中的に認識、制御を管理する自動運転システムへの移行が可能となる。
なお、本発明は、上記各実施形態の構成に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
例えば、上記では、実行環境として、OSやVM環境といったソフトウェアによるものを例示したが、ハードウェアによるものであってもよく、ハードウェアの実行環境としては、再構成可能(re-configurable)なデバイスとして、PLDやFPGAが考えられる。
11…デバイス、12…コントローラ、13…ゲートウェイ、14…ルータ、15…最終ドメイン、21…通信路、22…通信路、23…LAN、24…WAN、30…ノード、40…実行環境、50…モジュール、60…データ、71…移動手段、72…計測手段、73…判別手段、80…プロパティ

Claims (10)

  1. ネットワークで接続された複数のノードを有する分散システムにおいて、
    前記ノードで実行される実行モジュールに実行条件に関するプロパティが付与され、
    前記プロパティと、前記分散システムの内部状態に応じて前記実行モジュールを実行するノードが決定されることを特徴とする分散システム。
  2. 請求項1の分散システムにおいて、
    前記内部状態は、前記ノードの処理状態であることを特徴とする分散システム。
  3. 請求項1の分散システムにおいて、
    前記内部状態は、前記各ノード間の通信状態であることを特徴とする分散システム。
  4. 請求項1の分散システムにおいて、
    前記内部状態の時間的変化に応じて、前記実行モジュールが実行されるノードが決定されることを特徴とする分散システム。
  5. 請求項1の分散システムにおいて、
    前記分散システムは、複数の階層を有し、
    前記分散システムを構成する階層の時間的変化に応じて、前記実行モジュールが実行されるノードが決定されることを特徴とする分散システム。
  6. 請求項1の分散システムにおいて、
    前記プロパティは、前記ノードの処理能力、記憶能力、処理の遅延状態、通信帯域の少なくとも一つであることを特徴とする分散システム。
  7. 請求項1の分散システムにおいて、
    前記各ノードによる前記実行モジュールの処理経過、及び、データの蓄積状態の少なくとも一方に応じて、前記実行モジュールが実行されるノードを決定することを特徴とする分散システム。
  8. 請求項1の分散システムにおいて、
    前記プロパティが変更可能に構成され、
    前記プロパティが変更されることにより、実行モジュールを実行するノードが変更されることを特徴とする分散システム。
  9. 請求項1の分散システムにおいて、
    前記実行モジュールの実行主体に決定されたノードが、前記実行モジュールと互換性のある実行モジュールを備える場合に、前記プロパティを基にどちらの実行モジュールを実行するかが決定されることを特徴とする分散システム。
  10. 請求項1の分散システムにおいて、
    前記実行モジュールの移動とともに、該モジュールの入れ替えを行うことを特徴とする分散システム。
JP2017524327A 2015-06-24 2015-06-24 分散システム Pending JPWO2016207989A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/068119 WO2016207989A1 (ja) 2015-06-24 2015-06-24 分散システム

Publications (1)

Publication Number Publication Date
JPWO2016207989A1 true JPWO2016207989A1 (ja) 2018-02-22

Family

ID=57584908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017524327A Pending JPWO2016207989A1 (ja) 2015-06-24 2015-06-24 分散システム

Country Status (3)

Country Link
JP (1) JPWO2016207989A1 (ja)
CN (1) CN107615247A (ja)
WO (1) WO2016207989A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7077181B2 (ja) * 2018-08-24 2022-05-30 株式会社日立製作所 設備分析支援装置、設備分析支援方法、及び設備分析システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334057A (ja) * 1997-06-04 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 分散システム環境におけるバッチジョブの動的負荷分散処理方法およびそのシステム
JP2002175405A (ja) * 2000-12-07 2002-06-21 Nippon Telegr & Teleph Corp <Ntt> 適応型ネットワークサービス提供方法及びその記録媒体
JP2008077281A (ja) * 2006-09-20 2008-04-03 Nec Corp スーパースケジューラ、処理依頼方法、およびスーパースケジューラプログラム
WO2012023190A1 (ja) * 2010-08-18 2012-02-23 富士通株式会社 通信端末装置、着信処理プログラム、および着信処理方法
JP2013047950A (ja) * 2011-08-19 2013-03-07 Canon Inc アプリケーションが決定したスケジューリングによる効率的なキャッシュの再利用
WO2014208661A1 (ja) * 2013-06-27 2014-12-31 日本電気株式会社 仮想マシン配置設計装置及び方法とシステム並びにプログラム
JP2015503146A (ja) * 2011-11-11 2015-01-29 アルカテル−ルーセント 大規模メディア・クラウドのための分散型マッピング機能

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580456B (zh) * 2014-12-31 2017-12-29 深圳市兰丁科技有限公司 一种用于分布式系统的动态消息分发方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334057A (ja) * 1997-06-04 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 分散システム環境におけるバッチジョブの動的負荷分散処理方法およびそのシステム
JP2002175405A (ja) * 2000-12-07 2002-06-21 Nippon Telegr & Teleph Corp <Ntt> 適応型ネットワークサービス提供方法及びその記録媒体
JP2008077281A (ja) * 2006-09-20 2008-04-03 Nec Corp スーパースケジューラ、処理依頼方法、およびスーパースケジューラプログラム
WO2012023190A1 (ja) * 2010-08-18 2012-02-23 富士通株式会社 通信端末装置、着信処理プログラム、および着信処理方法
JP2013047950A (ja) * 2011-08-19 2013-03-07 Canon Inc アプリケーションが決定したスケジューリングによる効率的なキャッシュの再利用
JP2015503146A (ja) * 2011-11-11 2015-01-29 アルカテル−ルーセント 大規模メディア・クラウドのための分散型マッピング機能
WO2014208661A1 (ja) * 2013-06-27 2014-12-31 日本電気株式会社 仮想マシン配置設計装置及び方法とシステム並びにプログラム

Also Published As

Publication number Publication date
WO2016207989A1 (ja) 2016-12-29
CN107615247A (zh) 2018-01-19

Similar Documents

Publication Publication Date Title
Chaâri et al. Cyber-physical systems clouds: A survey
Cheng et al. FogFlow: Easy programming of IoT services over cloud and edges for smart cities
Redelinghuys et al. A six-layer digital twin architecture for a manufacturing cell
US11460861B2 (en) Cloud based robotic control systems and methods
JP7031642B2 (ja) 車両コンテキストにおける計算タスクの管理
Kristiani et al. The implementation of a cloud-edge computing architecture using OpenStack and Kubernetes for air quality monitoring application
Cheng et al. Geelytics: Enabling on-demand edge analytics over scoped data sources
MX2015000882A (es) Sistema de administracion de computacion especifica de vehiculos para computacion en la nube.
US11381463B2 (en) System and method for a generic key performance indicator platform
US11314694B2 (en) Facilitating access to data in distributed storage system
US20190347374A1 (en) Distributable and Customizable Load-Balancing of Data-Associated Computation Via Partitions and Virtual Processes
US20230132992A1 (en) Infrastructure-delegated orchestration backup using networked processing units
Popentiu-Vladicescu et al. Software reliability in the fog computing
US20180275978A1 (en) Heterogeneous distributed runtime code that shares iot resources
CN114282682A (zh) 使用协同过滤的预测性分析模型管理
da Silva Barbosa et al. A platform for cloudification of network and applications in the Internet of Vehicles
Yamaoka et al. Dracena: A real-time iot service platform based on flexible composition of data streams
Al-Jaroodi et al. CoTWare: a cloud of things middleware
Mohamed et al. Towards service-oriented middleware for fog and cloud integrated cyber physical systems
US10120715B2 (en) Distributed network management system and method for a vehicle
JP2024510746A (ja) 車両のためのサービス指向データアーキテクチャ
WO2016207989A1 (ja) 分散システム
Budakoti et al. IoT gateway middleware for SDN managed IoT
US11782699B1 (en) Systems and methods for non-interruptive update
JP5809743B2 (ja) 分散システムにおける異種システムデータ提供方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190327

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190910