(57)【要約】【課題】外部機器への制御冗長性を担保する。【解決手段】それぞれがオペレーティングシステムに基づいて動作する複数のノードデバイス１を接続して構成されたネットワークシステム１００であって、複数のノードデバイス１がそれぞれに接続された外部機器を制御するものであり、複数のノードデバイス１の何れか１つのノードデバイス１で実行されるアプリケーションプログラムが、それ以外の１つ以上のノードデバイス１においても多重実行される。【選択図】図３
2015172906.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがオペレーティングシステムに基づいて動作する複数のノードデバイスを接続して構成されたネットワークシステムであって、
前記複数のノードデバイスがそれぞれに接続された外部機器を制御するものであり、
前記複数のノードデバイスの何れか１つで実行されるアプリケーションプログラムが、それ以外の１つ以上のノードデバイスにおいても多重実行される特徴とするネットワークシステム。
【請求項２】
前記複数のノードデバイスの何れか１つで実行されるアプリケーションプログラムが、それ以外の２つ以上のノードデバイスにおいても多重実行される請求項１記載のネットワークシステム。
【請求項３】
同一のアプリケーションプログラムが実行されているノードデバイスにおいて、各ノードデバイスのオペレーティングシステムが、それらの上で実行される前記同一のアプリケーションプログラムに対して、共通の実行環境を提供するものである請求項１又は２記載のネットワークシステム。
【請求項４】
前記複数のノードデバイスの何れか１つで実行されるアプリケーションプログラムを、別のノードデバイスに移送して複製可能に構成されている請求項１乃至３の何れか一項に記載のネットワークシステム。
【請求項５】
前記各ノードデバイスが、１又は複数のＣＰＵと、１又は複数のメモリと、互いに異なる機能を有する複数の周辺回路と、それらを接続するメモリインターフェイスと、外部との入出力を可能にする複数の接続ピンとを備えており、前記複数の周辺回路の機能を選択して前記複数の接続ピンに割り当て可能に構成されたＬＳＩチップである請求項１乃至４の何れか一項に記載のネットワークシステム。
【請求項６】
前記複数の周辺回路が、複数のイーサネット送受信部を含んでいる請求項５記載のネットワークシステム。
【請求項７】
前記イーサネット送受信部が４つ以上設けられている請求項６記載のネットワークシステム。
【請求項８】
前記複数のノードデバイスにおけるイーサネット送受信部を互いに接続して構成される請求項６又は７記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれがオペレーティングシステムに基づいて動作する複数のノードデバイスを接続して構成されたネットワークシステムに関するものである。
【背景技術】
【０００２】
従来、特許文献１に示すように、ネットワークにより接続された複数のコンピュータや、複数のプロセッサを搭載したコンピュータを用いて分散オペレーティングシステムを構築して、各コンピュータ又は各プロセッサにおける計算負荷を分散させるものがある。また、特許文献２に示すように、ネットワークにより複数のファイルサーバに分散してファイルを保存するシステムにおいて、ファイルの保全性や冗長性を確保する手段として１つのファイルを複製して複数のファイルサーバに保存するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１５６７６５号公報
【特許文献２】特開２０１０−２１８３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方で、本願発明者は、分散オペレーティングシステムにおいて、コンピュータ等のノードデバイスに接続される外部機器への制御冗長性を担保することを考えており、その鋭意検討の結果、本発明はなされたものである。つまり、本発明は、外部機器への制御冗長性を担保することをその主たる課題とするものである。
【課題を解決するための手段】
【０００５】
すなわち本発明に係るネットワークシステムは、それぞれがオペレーティングシステム（ＯＳ）に基づいて動作する複数のノードデバイスを接続して構成されたネットワークシステムであって、前記複数のノードデバイスがそれぞれに接続された外部機器を制御するものであり、前記複数のノードデバイスの何れか１つのノードデバイスで実行されるアプリケーションプログラムが、それ以外の１つ以上のノードデバイスにおいても多重実行されることを特徴とする。
【０００６】
このようなものであれば、１つのノードデバイスで実行されるアプリケーションプログラムが、それ以外の１つ以上のノードデバイスにおいても多重実行されているので、同一のアプリケーションプログラムが実行されている２つ以上のノードデバイスの１つが故障等の異常によって外部機器に対して正常に動作しなくなった場合であっても、その他のノードデバイスによって実行されているアプリケーションプログラムによって前記外部機器の制御を続けて行うことができる。
【０００７】
前記１つのノードデバイスで実行されるアプリケーションプログラムが、それ以外の２つ以上のノードデバイスにおいても多重実行されることが望ましい。つまり、同一のアプリケーションプログラムを実行するノードデバイスが３つ以上であることが望ましい。
３つ以上のノードデバイスによる計算結果が完全一致であれば、所定の１つのノードデバイスによって外部機器の制御を続ける。一方、タイムアウト又は不一致であれば、異常のノードデバイスを特定し、それ以外のノードデバイスに切り替えて外部機器の制御を続ける。ここで、計算結果が不一致の場合には、３つ以上のノードデバイスの計算結果で多数決を取り、小数のノードデバイスを異常のノードデバイスとする。
【０００８】
本発明のネットワークシステムを実現するための具体的な実施の態様としては、同一のアプリケーションプログラムが実行されているノードデバイス（以下、多重実行ノードデバイスともいう。）において、各多重実行ノードデバイスのオペレーティングシステムが、それらの上で実行される前記同一のアプリケーションプログラムに対して、共通の実行環境を提供するものであることが望ましい。
【０００９】
各多重実行ノードデバイスのオペレーティングシステムが、共通の実行環境を提供することの具体例としては、例えば、以下が考えられる。
（ア）各多重実行ノードデバイスのオペレーティングシステムが、ノード名、ノード番号、プロセスＩＤ、ＩＰアドレス等のノードデバイスの識別情報を完全に一致させた値をアプリケーションプログラムに出力する。ここで、完全に一致させた値とは、各ノードデバイスに関係のない虚偽の情報であっても良いし、何れか１つのノードデバイスの情報であっても良い。
（イ）各多重実行ノードデバイスのオペレーティングシステムが、乱数をネゴシエート（多重実行環境を提供するＯＳがノード間で事前に協議）して同じ値をアプリケーションプログラムに出力する。
（ウ）各多重実行ノードデバイスのオペレーティングシステムにおけるファイルシステムの読み出し結果は、データの存在しない部分も一致させている。
（エ）各多重実行ノードデバイスにおいて、スタックやＢＳＳは、初期化等によって実行開始時に同じ状態としている。
（オ）各多重実行ノードデバイスにおけるクロックカウンタ等の値も可能であれば、ユーザからの読み出しを禁止して、例外処理で、各多重実行ノードデバイスのオペレーティングシステムが同じ値を出力する。
（カ）多重実行中のアプリケーションプログラムからは、入出力インターフェイス（Ｉ／Ｏ）の情報を直接読めないようにしている。
【００１０】
性能を向上させるためには、各多重実行ノードデバイスのオペレーティングシステム上におけるアプリケーションプログラムの同期をとらずに、先行するノードデバイスは先に実行させておき、その他の遅れたノードデバイスのデータを待って、計算結果の比較を行う。また、複数の多重実行ノードデバイス同士で実行の進捗が著しく離れた場合には、進捗が進み過ぎたノードデバイスの実行を待機させて、実行の進捗のずれを緩和する。この措置を取らなければ、オペレーティングシステムが保持すべき先行するノードデバイスのデータが多くなり過ぎてしまい、オペレーティングシステムが破綻してしまう。
【００１１】
前記複数のノードデバイスの何れか１つで実行されるアプリケーションプログラムを、別のノードデバイスに移送して複製可能に構成されていることが望ましい。
これならば、１つのノードデバイスに故障等の異常が発生して多重度が低下しても、当該異常が発生したノードデバイスのアプリケーションプログラムの代わりに、正常ノードのアプリケーションプログラムの複製（その時点でのすべてのデータを含む）を別のノードデバイスに複製することにより、低下した多重度を復元することができるので、安定してシステムを使用し続けることができる。
【００１２】
具体的なノードデバイスとしては、前記各ノードデバイスが、１又は複数のＣＰＵと、１又は複数のメモリと、互いに異なる機能を有する複数の周辺回路と、それらを接続するメモリインターフェイスと、外部との入出力を可能にする複数の接続ピンとを備えており、前記複数の周辺回路の機能を選択して前記複数の接続ピンに割り当て可能に構成されたＬＳＩチップであることが望ましい。
【００１３】
前記複数の周辺回路が、複数のイーサネット送受信部を含んでいることが望ましい。
これならば、複数のイーサネット送受信部を有しているので、複雑なネットワークシステムに用いる場合であっても、自分自身でイーサネットパケットを中継できるため、ネットワークの中継用の機器を使用する必要がなく、システムの構成を簡略化することができる。また、複数のイーサネット送受信部と同一ＬＳＩ上にＣＰＵを有しているので、そのＬＳＩチップが行う通信中継機能に拡張性を持たせることができ、生活環境の向上のための情報処理及び通信を統合するＬＳＩ（ＬＣＣＰ）に利用することが容易となる。
【００１４】
ＬＳＩチップの具体的な実施の態様としては、前記イーサネット送受信部が４つ以上設けられていることが望ましい。これならば、ＬＳＩチップを格子状に互いに接続することができ、これにより、スケーラブルにシステムの拡張が可能となる。
【００１５】
前記複数のノードデバイスにおけるイーサネット送受信部を互いに接続して構成されることが望ましい。
これならば、ネットワークシステムをスケーラブルに拡張可能にすることができる。また、１つのイーサネット送受信部が故障等により送受信不可となっても、その他のイーサネット送受信部を介して迂回する通信路を確立することができる。これにより、複雑なネットワークシステム、特に、生活環境の向上のための情報処理と通信とを統合したネットワークシステム（ＬＣＣＡ）に適用することが容易となる。
【発明の効果】
【００１６】
このように構成した本発明によれば、外部機器への制御冗長性を担保することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態におけるネットワークシステム（ＬＣＣＡ）を示す模式図。
【図２】同実施形態のＬＳＩチップ（ＬＣＣＰ）の構成を示す模式図。
【図３】同実施形態のアプリケーションプログラムの多重実行を示す模式図。
【発明を実施するための形態】
【００１８】
以下に本発明に係るネットワークシステムの一実施形態について図面を参照して説明する。
【００１９】
本実施形態のネットワークシステム１００は、図１に示すように、複数のノードデバイス１を接続して構成されたものであり、具体的には生活環境の向上のための情報処理と通信を統合するネットワークシステム（ＬＣＣＡ）である。
【００２０】
各ノードデバイス１には、外部機器が接続されており、各ノードデバイス１は、オペレーティングシステム（ＯＳ）に基づいて動作して、それぞれの外部機器を制御する。
【００２１】
本実施形態のノードデバイス１は、生活環境の向上のための情報処理及び通信（Life Computing and Communication）を結合するＬＳＩチップ（以下、Life Computing and Communication Processor(ＬＣＣＰ)という。）である。
【００２２】
このＬＣＣＰ１は、１又は複数のＣＰＵと、１又は複数のメモリと、互いに異なる機能を有する複数の周辺回路と、それらを接続するメモリインターフェイスと、外部との入出力を可能にする複数の接続ピンとを備えており、製造後においてユーザにより複数の周辺回路の機能を選択して、複数の接続ピンに割り当て可能に構成されたＬＳＩチップである。つまり、このＬＣＣＰ１は、チップに設けられた接続ピンの数よりも、チップに内蔵された機能の方が多く、必要な機能だけを前記接続ピンに割り当てて、外部とのデータの送受信を行うことができるように構成されたものである。
【００２３】
具体的なＬＣＣＰ１の構成は、図２に示すように、１又は複数のＣＰＵ２と、１又は複数のメモリ３ａ、３ｂ、３ｃ（２つのＳＲＡＭと１つのＦＬＡＳＨ  ＲＯＭ）と、複数のイーサネット送受信部４ａ〜４ｄと、それらを接続するメモリインターフェイス５とを備えたシステムＬＳＩである。なお、イーサネット（登録商標）の伝送速度としては、１０Ｍｂｐｓ、１００Ｍｂｐｓ、１Ｇｂｐｓ、１０Ｇｂｐｓ等が考えられる。
【００２４】
その他、本実施形態のＬＣＣＰ１は、ＦＰＵアクセラレータ６、暗号処理装置（ＣｒｙｐｔｏＥｎｇｉｎｅ）７、ＣＡＮ／ＬＩＮ通信用インターフェイス８、ＵＳＢ  ＯＴＧコントローラ９、汎用入出力ピン（ＧＰＩＯ）１０、非同期シリアル通信（ＵＡＲＴ）用インターフェイス１１、Ｉ２Ｃ通信用インターフェイス１２、ＡＤコンバータ１３、ＤＡコンバータ１４、ＥＥＰＲＯＭ１５、タイマ回路１６等の、周辺回路、メモリ及び接続ピンを備えている。
【００２５】
本実施形態では、ＦＰＵアクセレータ６、汎用入出力ピン（ＧＰＩＯ）１０、非同期シリアル通信（ＵＡＲＴ）用インターフェイス１１、Ｉ２Ｃ通信用インターフェイス１２、ＡＤコンバータ１３、ＤＡコンバータ１４、ＥＥＰＲＯＭ１５、タイマ回路１６及び複数のイーサネット送受信部４ａ〜４ｄは、ローカルバス（ｌｏｃａｌ  ｂｕｓ）によって接続されている。
【００２６】
また、ＣＰＵ２、複数のメモリ３ａ、３ｂ、３ｃ、複数のイーサネット送受信部４ａ〜４ｄ、暗号処理装置（ＣｒｙｐｔｏＥｎｇｉｎｅ）７、ＣＡＮ／ＬＩＮ通信用インターフェイス８、ＵＳＢ  ＯＴＧコントローラ９等は、メモリインターフェイス５に接続されている。さらに、ＣＰＵ２には、ＦＰＵアクセラレータ６が接続されている。なお、ＦＰＵをＣＰＵに一体化したものであっても良い。
【００２７】
各イーサネット送受信部４ａ〜４ｄは、物理層（ＰＨＹ）及び論理層（ＭＡＣ）を有するものである。また、複数のイーサネット送受信部４ａ〜４ｄは、積層されて描画されているが、これは表示上の便法であり、半導体基板上に積層して設けられていることを意味するものではない。
【００２８】
本実施形態では、複数のイーサネット送受信部４ａ〜４ｄ及びメモリインターフェイス５の間に送受信部間のデータ転送をバイバスするためのスイッチ機構ＳＷが設けられている。
【００２９】
このスイッチ機構ＳＷは、単一の半導体スイッチ素子から構成されており、複数のイーサネット送受信部４ａ〜４ｄの各イーサネット送受信部からの出力を、メモリインターフェイス５又は他のイーサネット送受信部の入力に接続するものである。また、このスイッチ機構ＳＷは、通常はメモリインターフェイスからの出力をイーサネット送受信部の入力に、イーサネット送受信部からの出力をメモリインターフェイスの入力に接続するように機能する。これにより、イーサネット送受信部が、ダイレクトメモリアクセス機能により、データパケットをメモリとの間で入出力することを妨げない。
【００３０】
このスイッチ機構ＳＷは、受信パケットのデータ内容により制御される。具体的に複数のイーサネット送受信部４ａ〜４ｄのうちの任意のイーサネット送受信部において受信されたパケットの内容が、他のイーサネット送受信部からの送信による転送を必要とし、転送に使用する送受信部が他に転送すべきデータパケットを有していない場合に限り、スイッチ機構ＳＷを制御して、メモリにパケットを転送することなく、中継すべきイーサネット送受信部に転送する。転送に使用するイーサネット送受信部の決定は、パケットを受信したイーサネット送受信部に内蔵されるテーブル表を宛先イーサネットアドレスで引くことによって得られる。スイッチ機構が存在する場合には、そのためのテーブル表を含むハードウェアがイーサネット送受信部に含まれる。テーブル表の内容は前もってＣＰＵによって設定されている。
【００３１】
スイッチ機構ＳＷを介して転送に使用しようとしたイーサネット送受信部が運悪くパケット送出中等であり、すぐに使用可能でない場合は、ダイレクトメモリアクセス機能によってメモリ上の領域に転送して、ＣＰＵに対して受信完了の割り込みを発生させる。この転送において、転送時間短縮のため、転送が必要なパケットと他のパケットで転送領域を別に用意する。また、優先度ごとにパケットを処理するために、転送領域をパケットの優先度ごとに用意する。ＣＰＵは受信割込みで起動したプログラムにより、転送用領域に格納されたパケットの内、最も優先度の高いパケットから中継すべきイーサネット送受信部の送信用メモリ領域に優先度別に転送する。便宜上、転送という言葉を使用しているが、実装によってはポインタをセットし直すことで済むケースが多い。
【００３２】
スイッチ機構ＳＷを介して転送した場合は、ＣＰＵが予め設定したテーブル表によって中継すべきイーサネット送受信部が決定し、スイッチ機構ＳＷを介さない場合にはＣＰＵがプログラムにより中継すべきイーサネット送受信部を決定している。よって、故障等によって使用できないイーサネット送受信部が発生したとしても、テーブル表の書換えやプログラムの振る舞い変更によって対応可能である。つまり、本構成を持つＬＳＩを結合して作られるシステムは運用時に動的にイーサネットパケットの中継経路を変更することが可能である。
【００３３】
複数のイーサネット送受信部４ａ〜４ｄは、メモリインターフェイス５のデータ転送バンド幅が十分に広いため、最大４つの送信と４つの受信を同時に行うことが可能である。もちろん、メモリへの読み書きは一度に一つしか行えないが、そのための軽微な待ち合わせは随所に挿入されたＦＩＦＯメモリ回路で行われる。
【００３４】
このように構成したＬＣＣＰ１を用いたネットワークシステム１００は、図１に示すように、複数のＬＣＣＰ１を互いに接続することにより構成されている。なお、接続トポロジーとしては、１箇所の送受信部の故障又は１つのＬＣＣＰ１の故障などで使えなくなった経路が発生しても任意の迂回通信経路が確保可能な接続形態であれば良い。
【００３５】
具体的には、複数のＬＣＣＰ１のイーサネット送受信部４ａ〜４ｄを互いに接続して構成されている。本実施形態のＬＣＣＰ１は、４つのイーサネット送受信部（ポート）４ａ〜４ｄを有しており、複数のＬＣＣＰ１が格子状に接続されている。このように接続することで、各ノード（ＬＣＣＰ１）が各種入出力インターフェイスを持ったＬＳＩチップであるため、様々な周辺機器、センサ、制御機器を、各ノードのイーサネット送受信部（ポート）以外の接続ポートに接続したシステムが構築可能である。そして、各ノード（ＬＣＣＰ１）は、当該ノードに接続された周辺機器、センサ、制御機器を制御する機能を有している。これにより、各ノードに接続される外部周辺機器の制御機能をＬＣＣＰ１のみに持たせることができ、外部周辺機器に制御部を設けなくても良い。
【００３６】
図１では、ＬＣＣＡをホームネットワークに適用した場合を示しており、１つのＬＣＣＰ１は、例えば寝室に設けられた機器に対応して設けられ、エアコン及びリモコン等が接続されて、当該エアコン及びリモコン等を制御する。また、１つのＬＣＣＰ１は、例えば台所に設けられた機器に対応して設けられ、冷蔵庫及び電子レンジ等が接続されて、当該冷蔵庫及び電子レンジ等を制御する。１つのＬＣＣＰ１は、例えば書斎に設けられた機器に対応して設けられ、ディスプレイ、キーボード等のパソコン機器及び無線ラン親機等が接続されて、当該パソコン機器及び無線ラン親機等を制御する。１つのＬＣＣＰ１は、例えばリビングに設けられた機器に対応して設けられ、テレビ及びＤＶＤレコーダ等が接続されて、当該テレビ及びＤＶＤレコーダ等を制御する。
【００３７】
しかして、本実施形態のネットワークシステム１００は、複数のノードデバイスの何れか１つで実行されるアプリケーションプログラムが、それ以外の２つ以上のノードデバイスにおいても多重実行されるように構成されている。以下に、図３を参照して、多重実行の実施の態様について説明する。なお、図３には、４つのノードデバイス（ノードＡ、ノードＢ、ノードＣ、ノードＤ）における多重実行を示している。また、これらの４つのノードデバイスは、例えば１つの部屋に対応して設けられて、１つの共通の外部機器（例えばエアコン）がＬＩＮ接続されてエアコンをＬＩＮ通信を介して制御するものであることを想定する。このとき、各ノードデバイスは、ハードウェア的に故障する場合には、ＬＩＮ通信の信号を出さないように死ぬ（部品が壊れた場合に信号が出力されない）可能性が高いように回路設計されている。
【００３８】
４つのノードデバイスにおいて、ノードＡのオペレーティングシステム上で実行されるアプリケーションプログラム（プログラムａ）が、それ以外の２つのノードデバイス（ノードＢ及びノードＣ）のオペレーティングシステム上においても多重実行される。ここで、プログラムａは、ノードＡに接続された外部機器を制御する（ここでは、エアコンをＬＩＮ通信により制御する）ためのプログラムである。また、図３において、ノードＢのオペレーティングシステム上で実行されるアプリケーションプログラム（プログラムｂ）は、ノードＢに接続された外部機器を制御するためのプログラムであり、ノードＣのオペレーティングシステム上で実行されるアプリケーションプログラム（プログラムｃ）は、ノードＣに接続された外部機器を制御するためのプログラムであり、ノードＤのオペレーティングシステム上で実行されるアプリケーションプログラム（プログラムｄ）は、ノードＤに接続された外部機器を制御するためのプログラムである。なお、プログラムｂ〜プログラムｄも、その他の２つのノードのオペレーティングシステム上において多重実行するように構成しても良い。
【００３９】
そして、同一のアプリケーションプログラム（プログラムａ）が実行されている多重実行ノードデバイス（ノードＡ、ノードＢ及びノードＣ）において、各ノードＡ〜Ｃのオペレーティングシステムが、それらの上で実行される同一のアプリケーションプログラム（プログラムａ）に対して、共通の実行環境を提供する。
【００４０】
具体的には、以下のように共通の実行環境を提供する。
（ア）各ノードＡ〜Ｃのオペレーティングシステムが、ノード名、ノード番号、プロセスＩＤ、ＩＰアドレス等のノードデバイスの識別情報を完全に一致させた値をプログラムａに出力する。ここで、完全に一致させた値とは、各ノードＡ〜Ｃに関係のない虚偽の情報であっても良いし、何れか１つのノードデバイス（例えばノードＡ）の情報であっても良い。
（イ）各ノードＡ〜Ｃのオペレーティングシステムが、乱数をネゴシエート（多重実行環境を提供するＯＳがノード間で事前に協議）して同じ値をアプリケーションプログラムに出力する。
（ウ）各ノードＡ〜Ｃのオペレーティングシステムにおけるファイルシステムの読み出し結果は、データの存在しない部分も一致させている。
（エ）各ノードＡ〜Ｃにおいて、スタックやＢＳＳは、初期化等によって実行開始時に同じ状態としている。
（オ）各ノードＡ〜Ｃにおけるクロックカウンタ等の値も可能であれば、ユーザからの読み出しを禁止して、例外処理で、各ノードＡ〜Ｃのオペレーティングシステムが同じ値を出力する。
（カ）多重実行中のプログラムａからは、入出力インターフェイス（Ｉ／Ｏ）の情報を直接読めないようにしている。
【００４１】
そして、冗長多重実行を行っているノード（ノードＡ〜Ｃ）の１つ（例えばノードＡ）をＬＩＮ通信のマスタとしてエアコンを制御する。他のノード（ノードＢ、Ｃ）は、外部機器（エアコン）と物理的に接続されているが、ＬＩＮ通信のラインは待機状態である。
この環境において、何か故障が検出された場合に、その故障がＬＩＮのマスタとして機能するノード（ノードＡ）でなければ、マスタは同じノード（ノードＡ）のままである。一方、故障がＬＩＮのマスタとして機能するノード（ノードＡ）の場合には、故障ノード上のオペレーティングシステムがまだ生きていれば、明示的に自分がＬＩＮ通信のマスタであることを中止し、ハードウェア的に故障して反応が無い場合であっても、ＬＩＮ通信に迷惑をかけない（継続的にａｃｔｉｖｅ状態になることがない）ように回路設計がなされている。このときには、正常なノード（ノードＢ、Ｃ）の中から、新たにＬＩＮ通信のマスタを選んで、この新しいマスタがエアコンへの制御信号を送出し続ければ、空調を途切れることなく継続することができる。
【００４２】
ここで、複数のノードデバイスから異常のノードデバイスの異常判定の一例を説明する。
複数のノードデバイス（ノードＡ〜Ｄ）の何れか１つに設けられた管理システムにより、３つのノードＡ〜Ｃによる計算結果を比較する。この管理システムは、オペレーティングシステムにより構成されていても良いし、オペレーティングシステム上で管理プログラムを実行させることにより構成しても良い。そして、管理システムが、それら３つの計算結果が完全一致であると判断した場合には、所定の１つのノードデバイス（ノードＡ）の計算結果を外部機器に出力して当該外部機器を制御する。一方、管理システムは、何れかの計算がタイムアウト又はそれらの計算結果が不一致であれば、異常のノードデバイスを特定する。ここで、計算結果が不一致の場合には、３つのノードＡ〜Ｃの計算結果で多数決を取り、小数のノードデバイスを異常のノードデバイスとする。ここで異常のノードデバイスが、直近に外部機器の制御を行っていたノードデバイス（ノードＡ）であれば、それ以外のノードデバイス（ノードＢ又はノードＣ）に切り替えて、外部機器の制御を続ける。
【００４３】
さらに、管理システムは、異常のノードデバイスを特定した後に、プログラムａの多重度の低下を復元するために、異常のノードデバイス（ノードＡ）のプログラムａの代わりとして、正常のノードデバイス（ノードＣ）のプログラムａ（その時点のすべてのデータのスナップショットを含む）を多重実行していない別のノードデバイス（ノードＤ）に移送して複製する。そして、当該ノードＤのオペレーティングシステム上で、プログラムａを多重実行させる。
【００４４】
＜本実施形態の効果＞
このように構成した本実施形態に係るネットワークシステム１００によれば、１つのノードデバイス１で実行されるアプリケーションプログラムが、それ以外の１つ以上のノードデバイス１においても多重実行されているので、同一のアプリケーションプログラムが実行されている３つ以上のノードデバイス１の１つが故障等の異常によって外部機器に対して正常に動作しなくなった場合であっても、その他のノードデバイス１によって実行されているアプリケーションプログラムによって外部機器の制御を続けて行うことができる。
【００４５】
また、複数のノードデバイス１の何れか１つで実行されるアプリケーションプログラムを、別のノードデバイス１に移送して複製可能に構成されているので、１つのノードデバイス１に故障等の異常が発生して多重度が低下しても、当該異常が発生したノードデバイス１のアプリケーションプログラムの代わりに別のノードデバイス１に正常ノードデバイスよりアプリケーションプログラムを移送複製することにより多重度の低下を防止でき、安定してシステムを使用し続けることができる。
【００４６】
なお、本発明は前記実施形態に限られるものではない。
例えば、各ノードデバイスのアプリケーションプログラムにおいて、他のノードデバイスで多重実行するプログラムは、各ノードデバイスにおいて重要度の高いプログラムとすることが考えられる。
【００４７】
また、前記実施形態では、３つのノードデバイスにおいて同一のアプリケーションプログラムを多重実行する構成であったが、２つ又は４つ以上のノードデバイスによって多重実行する構成であっても良い。
【００４８】
前記実施形態では、複数のイーサネット送受信部４ａ〜４ｄが多層構造状に図示されているが、これは図面表記上の便法であり、物理的には、少なくとも１つのイーサネット送受信部がその他のイーサネット送受信部に対して平面的に隣接して配置されていても、平面的に離れて配置されていても良い。
【００４９】
また、前記実施形態では、４つのイーサネット送受信部を有するものであったが、５つ以上のイーサネット送受信部を有するものであっても良い。例えば、複数のＬＣＣＰを格子状に接続した場合において、ＬＣＣＰと外部装置とをイーサネット接続する場合には、５つ目のイーサネット送受信部が必要となる。また、例えば複数のＬＣＣＰを格子状に接続した場合において、ＬＣＣＰを情報コンセントとして用いて、２ポート用意するのであれば、計６つのイーサネット送受信部が必要となる。さらにそれ以上のイーサネット送受信部を持たせて、巨大なネットワークを構築できるようにしても良い。
【００５０】
また、前記実施形態では、ＬＳＩチップ１がスイッチ機構ＳＷを有するものであったが、スイッチ機構ＳＷを有さずに、ＣＰＵ２がプログラムによりスイッチ機構としての機能を代替するように構成したものであっても良い。これならば、物理的な構成としてスイッチ機構を設ける必要が無いため、ＬＳＩチップ１の設計を簡略化することができる。
【００５１】
複数のＬＳＩチップを用いたネットワークシステムとしては、ホームネットワークの他に、公共施設等のインフラ、自治体又は街等の広域に及ぶネットワークに適用することもできるし、ファクトリーオートメーション（工場自動化）のネットワークシステムに適用することもできるし、自動車やロボット等のネットワークシステムに適用することもできる。
【００５２】
その他、本発明は前記実施形態に限られず、その趣旨を逸脱しない範囲で種々の変形が可能である。
【符号の説明】
【００５３】
１・・・ＬＳＩチップ
２・・・ＣＰＵ
３ａ〜３ｃ・・・メモリ
４ａ〜４ｄ・・・イーサネット送受信部
５・・・メモリインターフェイス
ＳＷ・・・スイッチ機構
１００・・・ネットワークシステム
【図１】
2015172906.tif 000003
【図２】
2015172906.tif 000004
【図３】
2015172906.tif 000005