JP5885257B2 - ネットワークシステム、ノード、ネットワーク管理方法、及びプログラム - Google Patents

ネットワークシステム、ノード、ネットワーク管理方法、及びプログラム Download PDF

Info

Publication number
JP5885257B2
JP5885257B2 JP2013043742A JP2013043742A JP5885257B2 JP 5885257 B2 JP5885257 B2 JP 5885257B2 JP 2013043742 A JP2013043742 A JP 2013043742A JP 2013043742 A JP2013043742 A JP 2013043742A JP 5885257 B2 JP5885257 B2 JP 5885257B2
Authority
JP
Japan
Prior art keywords
node
route table
event data
route
nodes
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.)
Active
Application number
JP2013043742A
Other languages
English (en)
Other versions
JP2014175685A (ja
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.)
NEC Solutions Innovators Ltd
Original Assignee
NEC Solutions Innovators 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 NEC Solutions Innovators Ltd filed Critical NEC Solutions Innovators Ltd
Priority to JP2013043742A priority Critical patent/JP5885257B2/ja
Priority to US14/772,584 priority patent/US9860125B2/en
Priority to CN201480012755.1A priority patent/CN105027514B/zh
Priority to PCT/JP2014/053022 priority patent/WO2014136531A1/ja
Publication of JP2014175685A publication Critical patent/JP2014175685A/ja
Priority to HK16102174.6A priority patent/HK1214435A1/zh
Application granted granted Critical
Publication of JP5885257B2 publication Critical patent/JP5885257B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/025Updating only a limited number of routers, e.g. fish-eye update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、多数のノードを備えるネットワークシステム、これに用いられるノード、ネットワーク管理方法、及びこれらを実現するためのプログラムに関する。
近年、多数のノード(コンピュータ)に並列処理を行なわせる分散コンピューティングが利用されている。分散コンピューティングによれば、各ノードの処理能力が高くなくても、分散して処理が行なわれるため、暗号解読、医療研究、気象解析といった複雑な処理を行なうことが可能となる。
ところで、このような分散コンピューティングでは、多数のノードによってネットワークが構築されるため、ネットワーク内においてノードの参加又は離脱が発生することがある。ノードの参加又は離脱が発生すると、ネットワークの構成が変わるため、このような場合は、ネットワークの分断をさけるため、新規の通信経路の構築等が必要となる。
このため、ネットワーク内でノードの参加又は離脱が発生した場合に、参加又は離脱対象となっていないノード自体が自律的に新たな通信経路を構築する技術が提案されている(例えば、特許文献1〜3参照)。
具体的には、特許文献1及び2は、各ノードに、隣接するノードの接続情報に基づいて、離脱した場合の通信経路を事前に作成させるシステムを開示している。特許文献1及び2に開示されたシステムでは、ノードは、離脱の際に、事前に作成した通信経路を隣接ノードに通知するため、離脱後は速やかに残りのノードによって新たな通信経路が構築される。このため、ネットワークの分断が抑制されている。
また、特許文献3は、ネットワーク内のノードに障害が発生した場合に、他のノードによって、障害ノードを検出させるシステムを開示している。特許文献3に開示されたシステムでは、障害ノードに接続されていたノードは、それに隣接するノードまでのメトリックス値を算出し、算出したメトリックス値が最小となるノードを新たな接続先とする。このため、障害が発生した場合であっても、ネットワークの分断が抑制される。
特許第3844215号公報 特許第4893533号公報 特許第4824914号公報
ところで、特許文献1及び2に開示したシステムでは、ノードに障害が発生した場合は、離脱後の通経路が通知されないため、新たな通信経路の構築は困難であるが、特許文献3に開示されたシステムによれば、ノードに障害が発生した場合であっても対応できる。従って、特許文献1及び2に開示されたシステムに、特許文献3に開示されたシステムを組み合せれば、ノードが離脱した場合と、ノードに障害が発生した場合とのいずれにおいても、新たな通信経路を構築できると考えられる。
しかしながら、特許文献1及び2に開示されたシステムでは、隣接するノードの数に制限がなく、隣接するノードの数の増加に従って各ノードが保有すべき接続情報の量が増大するため、新たな通信経路の構築に時間がかかりすぎる場合がある。また、特許文献3に開示されたシステムでは、隣接するノードの数が増加する程、メトリックス値の算出回数が増加してしまうため、このシステムにおいても、新たな通信経路の構築に時間がかかりすぎる場合がある。
また、特許文献1〜3に開示されたいずれのシステムも、ノードがネットワークに参加する場合には対応しておらず、ノードが参加した場合に新たな通信経路を構築することは困難である。
本発明の目的は、上記問題を解消し、ネットワークにおける処理負担の増加を抑制しつつ、ノードの参加及び離脱の両方において自律的に通信経路を新たに構築し得る、ネットワークシステム、ノード、ネットワーク管理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明におけるネットワークシステムは、複数のノードを備えたネットワークを有するシステムであって、
前記複数のノードそれぞれは、
当該ノードの接続先を特定し且つ接続先の数を制限する経路テーブル情報を格納する、経路テーブル格納部と、
前記経路テーブル情報の内容を書き換える、経路テーブル操作部と、を備え、
前記複数のノードそれぞれにおいて、前記経路テーブル操作部は、当該ノードが前記ネットワークに参加する場合、当該ノードに直接接続されるノードが前記ネットワークに参加した場合、及び当該ノードに直接接続されたノードが前記ネットワークから離脱した場合に、当該ノードにおける前記経路テーブル情報を更新し、前記ネットワークシステムにおける新たな経路を構築する、ことを特徴とする。
上記目的を達成するため、本発明におけるノードは、複数のノードを備えたネットワークを構築するノードであって、
当該ノードは、
自身の接続先を特定し且つ接続先の数を制限する経路テーブル情報を格納する、経路テーブル格納部と、
前記経路テーブル情報の内容を書き換える、経路テーブル操作部と、を備え、
前記経路テーブル操作部は、当該ノードが前記ネットワークに参加する場合、当該ノードに直接接続されるノードが前記ネットワークに参加した場合、及び当該ノードに直接接続されたノードが前記ネットワークから離脱した場合に、前記経路テーブル情報を更新し、前記ネットワークシステムにおける新たな経路を構築する、ことを特徴とする。
また、上記目的を達成するため、本発明におけるネットワーク管理方法は、複数のノードを備えるネットワークシステムにおける、ネットワーク管理方法であって、
(a)前記複数のノードそれぞれにおいて、当該ノードが前記ネットワークに参加する場合、当該ノードに直接接続されるノードが前記ネットワークに参加した場合、及び当該ノードに直接接続されたノードが前記ネットワークから離脱した場合に、
当該ノードの接続先を特定し且つ接続先の数を制限する、経路テーブル情報を更新し、前記ネットワークシステムにおける新たな経路を構築する、ステップを有する、ことを特徴とする。
更に、上記目的を達成するため、本発明におけるプログラムは、コンピュータを、複数のノードを備えたネットワークを構築するノードとして機能させるためのプログラムであって、
前記コンピュータに、
(a)当該ノードが前記ネットワークに参加する場合、当該ノードに直接接続されるノードが前記ネットワークに参加した場合、及び当該ノードに直接接続されたノードが前記ネットワークから離脱した場合に、
当該ノードの接続先を特定し且つ接続先の数を制限する、経路テーブル情報を更新し、前記ネットワークシステムにおける新たな経路を構築する、ことを特徴とする。
以上のように、本発明によれば、ネットワークにおける処理負担の増加を抑制しつつ、ノードの参加及び離脱の両方において自律的に通信経路を新たに構築することができる。
図1(a)は、本発明の実施の形態におけるネットワークシステムの一部分を概念的に示す図であり、図1(b)〜(g)それぞれは、タイプの異なるノードを説明するための図である。 図2(a)〜(f)それぞれは、ノードの経路数とネットワーク構成との関係を示す図である。 図3は、従来のネットワークシステムにおけるノードの参加ルールを説明するための図である。 図4は、本発明のネットワークシステムにおけるノードの参加ルールを説明するための図である。 図5(a)及び(b)は、それぞれ、本発明のネットワークシステムにおけるノードの参加ルールの具体的に示す図である。 図6は、本発明の実施の形態におけるネットワークシステム及びノードの構成を示す図である。 図7は、本実施の形態で用いられる経路テーブル情報の構造の一例を示す図である。 図8は、経路テーブルに格納される情報とノード間の構成との関係を示す図である。 図9(a)は、本発明の実施の形態で用いる経路テーブルの一般的な例を示す図であり、図9(b)は、図9(a)に示す経路テーブルが対応するノード間の構成を示す図である。 図10は、本実施の形態で用いられるイベントキーの種類の一例を示す図である。 図11は、ノードの参加の一例を示し、図11(a)は、ノードXが参加する前のノード間の構成と各ノードの経路テーブルを示し、図11(b)は、ノードXが参加した後のノード間の構成と各ノードの経路テーブルを示している。 図12は、ノードYの参加によるノード間の構成の変化を示す図である。 図13は、本発明の実施の形態におけるノードの具体的構成を示すブロック図である。 図14は、ノードの参加があった場合のネットワークシステムにおける情報の流れを示す図である。 図15は、ノードの参加があった場合のシーケンスと各経路テーブルの遷移とを示す図である。 図16は、ノードの参加の他の例を示し、図16(a)は、ノードXが参加する前のノード間の構成と各ノードの経路テーブルとを示し、図16(b)は、ノードXが参加した後のノード間の構成と各ノードの経路テーブルとを示している。 図17は、定期的な経路追加イベントによって経路が追加される例を示す図であり、図17(a)は、経路の追加前のノード間の構成を示し、図17(b)は、経路の追加後のノード間の構成を示している。 図18は、定期的な経路追加イベントによって経路が追加される場合のネットワークシステムにおける情報の流れを示す図である。 図19は、定期的な経路追加イベントによって経路が追加される場合のシーケンスと各経路テーブルの遷移とを示す図である。 図20は、ネットワークシステムにおけるノードの死活監視を説明するための図である。 図21は、死活監視実行時におけるノードの動作を示すフロー図である。 図22は、ネットワーク中のタイプ2のノードが離脱する例を示す図であり、図22(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図22(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。 図23は、ネットワーク中のタイプ2のノードが離脱した後に新経路が構築される例を示す図であり、図23(a)は、新経路の構築前のノード間の構成と各ノードの経路テーブルとを示し、図23(b)は、新経路の構築後のノード間の構成と各ノードの経路テーブルとを示している。 図24は、ネットワーク中のタイプ2のノードが離脱した後に新経路が構築される場合のネットワークシステムにおける情報の流れを示す図である。 図25は、ネットワーク中のタイプ2のノードが離脱した後に新経路が構築される場合のシーケンスと各経路テーブルの遷移とを示す図である。 図26は、ネットワーク中のタイプ3iのノードが離脱し、タイプ2のノードが最初に離脱を検知する例を示す図である。図26(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図26(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。 図27は、図26に示したノードの離脱の検知を説明する図である。図27(a)は、ノードの離脱を検知した状態を示し、図27(b)は、ノードの離脱を検知した後の状態を示している。 図28は、図26に示したノードの離脱の後に行われる通知を説明する図である。図28(a)は、ノードの離脱後に通知を行っている状態を示し、図28(b)は、通知後の状態を示している。 図29は、ネットワーク中のタイプ3iのノードが離脱した後に新経路が構築される場合のネットワークシステムにおける情報の流れを示す図である。 図30は、ネットワーク中のタイプ3iのノードが離脱した後に新経路が構築される場合のシーケンスと各経路テーブルの遷移とを示す図である。 図31は、ネットワーク中のタイプ3iのノードが離脱し、タイプ3のノードが最初に離脱を検知する例を示す図である。図31(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図31(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。 図32は、図31に示したノードの離脱の後に行われる通知の一例を説明する図である。図32(a)は、ノードの離脱後に通知を行っている状態を示し、図32(b)は、通知後の状態を示している。 図33は、図31に示したノードの離脱の後に行われる通知の他の例を説明する図である。図33(a)は、ノードの離脱後に通知を行っている状態を示し、図33(b)は、通知後の状態を示している。 図34は、ネットワーク中のタイプ3iのノードが離脱した後に新経路が構築される他の場合のネットワークシステムにおける情報の流れを示す図である。 図35は、ネットワーク中のタイプ3iのノードが離脱した後に新経路が構築される他の場合のシーケンスと各経路テーブルの遷移とを示す図である。 図36は、タイプ3cの2つのノードとタイプ3iの1つのノードとを接続先とする、タイプ3cのノードがネットワークから離脱する例を示す図であり、図36(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図36(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。 図37は、図36に示したノードの離脱によってネットワークから切り離されたノードのネットワークへの復帰を示す図であり、図37(a)は離脱の発生前の状態を示し、図37(b)は離脱発生後にノードがネットワークに復帰した状態を示している。 図38は、タイプ3cの3つのノードを接続先とする、タイプ3cのノードがネットワークから離脱する例を示す図であり、図38(a)は、ノードの離脱前のノード間の構成を示し、図38(b)は、ノードの離脱後のノード間の構成を示している。 図39は、図38に示したノードの分離が発生した場合の仮の経路の作成処理と確認処理との一例を説明する図であり、図39(a)は仮の経路の作成処理を示す図であり、図39(b)は確認処理を示す図である。 図40は、図38に示したノードの分離が発生した場合の仮の経路の作成処理と確認処理との他の例を説明する図である。図40(a)は仮の経路の作成処理を示す図であり、図40(b)は確認処理を示す図である。 図41は、ネットワーク中のノードが自ら離脱処理を開始する例を示す図であり、図41(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図41(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。 図42は、ネットワーク中のノードが自ら離脱処理を開始する場合のネットワークシステムにおける情報の流れを示す図である。 図43は、ネットワーク中のノードが自ら離脱処理を開始する場合のシーケンスと各経路テーブルの遷移とを示す図である。 図44は、本発明の実施の形態におけるノードを実現するコンピュータの一例を示すブロック図である。
(発明の概要)
まず、本明細書で用いる用語及び図表現の定義について図1(a)〜(g)を用いて説明する。図1(a)は、本発明の実施の形態におけるネットワークシステムの一部分を概念的に示す図であり、図1(b)〜(g)それぞれは、タイプの異なるノードを説明するための図である。
図1(a)に示すように、ノード1は、ネットワークに接続され、且つプログラムを実行することができる計算機(ハードウェア装置)、又はそれに順ずるものである。経路2は、ノード1とノード1との間を接続する通信路である。経路2は、その両端にノード1を有し、途中にノード1を含むことはなない。また、経路2が途中で分岐することもない。
また、図1(b)〜(g)に示すようには、ノードにはタイプがある。タイプは、接続される経路2の数によって区別されるノード1の種類である。本実施の形態では、以下のタイプがある。
図1(b)は「タイプ0」を示す。タイプ0は、経路数が0のノードである。図1(c)は「タイプ1」を示す。タイプ1は、経路数が1のノードである。図1(d)は「タイプ2」を示す。タイプ2は、経路数が2のノードである。図1(e)は「タイプ3」を示す。タイプ3は、経路数が3のノードである。
また、「タイプ3」のノードは、さらに「タイプ3i」と「タイプ3c」との2つのタイプに細分化される。図1(f)は「タイプ3i」を示す。タイプ3iは、各経路で接続された3つのノードの中に、タイプ2のノードが含まれるタイプである。図1(g)は「タイプ3c」を示す。タイプ3cは、各経路で接続された3つのノードの中に、タイプ2のノードが含まれないタイプである。
続いて、ノードの経路数について図2(a)〜(f)を用いて説明する。図2(a)〜(f)それぞれは、ノードの経路数とネットワーク構成との関係を示す図である。
一般に、1つのノード1に接続される経路2の数が増えると、その分、ネットワークの管理が複雑化し、また、管理用のデータの量も増大してしまう。そこで、ネットワークにおける経路2の数を少なくすることを考える。
図2(a)は経路数が0(ゼロ)本の場合を示している。図2(a)に示すように、経路数が0本の場合は、ノード1は、未だネットワークに属していない状態である。
図2(b)は、経路数が1本の場合を示している。図2(b)に示すように、経路数が1本の場合は、経路2の両端にノード1が存在しており、各ノード1はネットワークの端に位置している。そのため、経路2が切断されると、ノード1はネットワークから孤立した状態になる。なお、ネットワーク上の全てのノード1の経路数が1本という状態は、ネットワーク内のノード数が2個の場合を除いてあり得ない状態である。
図2(c)は、経路数が2本の場合を示している。図2(c)に示すように、ネットワーク内の全てのノード1の接続数が2本であれば、ノード1はリング状のネットワークの一部となる。また、ネットワーク内に接続数が1本のノード1が含まれていれば、図2(d)に示すように、ノード1は、ライン状のネットワークの一部となる。
また、図2(c)に示すリング状のネットワークにおいて、どこかの経路2が切断されると、図2(d)に示すライン状のネットワークになる。更に、図2(d)に示すライン状のネットワークで、どこかの経路が切断されると、ネットワーク網は2つに分断される。
図2(e)は、経路数が3本の場合を示している。図2(e)に示すように、この場合、ノード1は、メッシュ型ネットワークの一部となる。ネットワーク内の全てのノード1の接続数が3本であれば、いずれの経路2が切断されても、メッシュ型ネットワークが維持される。
図2(f)は、経路数が4本の場合を示している。図2(f)に示すように、この場合も、ノード1は、経路数が3本の場合と同様に、メッシュ型ネットワークの一部となる。また、経路数が4本の場合は、経路数が3本の場合よりも、更に、経路2の数が増加することになる。
以上の説明から分かるように、経路数が2本の場合では、ネットワークの分断の危険性がある。一方、経路数が4本以上となると、経路数の増加により管理が複雑化してしまう。このため、本発明では、全てのノードの経路数が3本になることが基本とされ、例外的に経路数が2本の場合が許可される。また、以下の説明では、特定のノードの3つの経路それぞれは、経路(1)、経路(2)、経路(3)と表現される場合がある。
続いて、ノードがネットワークに参加する際のルールについて図3〜図5を用いて説明する。図3は、従来のネットワークシステムにおけるノードの参加ルールを説明するための図である。図4は、本発明のネットワークシステムにおけるノードの参加ルールを説明するための図である。図5(a)及び(b)は、それぞれ、本発明のネットワークシステムにおけるノードの参加ルールの具体的に示す図である。なお、図3及び図4において、A〜K、Xはそれぞれノードを示している。
図3に示すように、通常のP2P(ピアツーピア)では、ノードをネットワークに参加させる場合、P2Pネットワーク中の特定のノードが一意に指定される。例えば、参加者は、一般に、特定のノードのIPアドレスを指定して、自己のノードをP2Pネットワークに参加させる。
これに対して、本発明では、上述したように、基本的に全てのノードの経路数は3本に設定されているので、ノードを特定のノードに対して参加させることはできないようになっている。このため、図9に示すように、本発明では、ノードを経路として参加させるという考え方が採用されている。本発明において、参加のルールは、図5(a)及び(b)に示すように、以下の2点である。
図5(a)に示すように、ルール1は、ノード1は1つの経路2の間に置かれていなければならない、ということを規定する。また、図5(b)に示すように、ルール2は、経路2の両端に位置するノード1は、タイプ3でなければならない、ということを規定する。
以上の概要を踏まえ、以下に、本発明の実施の形態について説明する。
(実施の形態)
以下、本発明の実施の形態における、ネットワークシステム、ノード、ネットワーク管理方法、及びプログラムについて、図6〜図43を参照しながら説明する。
[システム構成]
最初に、図6を用いて、本発明の実施の形態におけるネットワークシステム及びノードの構成について説明する。図6は、本発明の実施の形態におけるネットワークシステム及びノードの構成を示す図である。
図1に示すように、本実施の形態におけるネットワークシステム500は、複数のノード100〜400を備えたネットワークを有している。図1においては、図示されているノードの数は4つであるが、本実施の形態においてノードの数は限定されるものではない。
また、本実施の形態では、各ノードは同様の構成を備えており、ノード100を例に挙げて説明する。図1に示すように、ノード100は、経路テーブル情報を格納する経路テーブル格納部114と、経路テーブル情報の内容を書き換え可能な経路テーブル操作部113とを備えている。
経路テーブル情報は、ノード100の接続先を特定し、更に、その接続先の数を制限する情報である。具体的には、ノード100において、経路テーブル情報は、まず、当該ノード100に直接接続されているノード200〜400を特定する、自ノード経路テーブルを含む。また、経路テーブル情報は、当該ノード100に直接接続された他のノード200〜400それぞれに接続されているノードを特定する、他ノード経路テーブルも含む。
また、経路テーブル操作部113は、当該ノード100がネットワークに参加する場合、当該ノード100に直接接続されるノードがネットワークに参加した場合、及び当該ノード100に直接接続されたノードがネットワークから離脱した場合に、当該ノード100における自ノード経路テーブル及び他ノード経路テーブルを更新する。これにより、ネットワークシステム500における新たな経路が構築される。
このように、本実施の形態では、各ノードの接続先のノードの数は制限され、更に、ネットワーク内で参加又は離脱が発生した場合は、経路テーブル情報の更新だけで、新たな経路が構築される。このため、本実施の形態によれば、ネットワークにおける処理負担の増加を抑制しつつ、ノードの参加及び離脱の両方において自律的に通信経路を新たに構築することができる。
ここで、図7〜図10を用いて、本実施の形態で用いられる経路テーブル情報について具体的に説明する。
図7は、本実施の形態で用いられる経路テーブル情報の構造の一例を示す図である。図8は、経路テーブルに格納される情報とノード間の構成との関係を示す図である。図7に示すように、経路テーブル情報10は、自ノードAに直接接続されているノードを特定する自ノード経路テーブル11と、自ノードに直接接続された他のノードB〜Dそれぞれに接続されているノードを特定する他ノード経路テーブル12〜14とを含んでいる。
また、図7の中段及び図8に、自ノード経路テーブル11の詳細構造を示す。自ノード経路テーブル11には、自ノードA、及び経路(1)〜経路(3)に接続される各ノードB〜Cを、ネットワーク内で一意に識別可能な値(識別子)、例えばIPアドレス等が登録される。更に、図7及び図8の例では、経路(1)〜経路(3)に接続されるノードB〜Cについては、それぞれの経路(1)〜経路(3)に接続されるノードの識別子も登録されている。
即ち、図7及び図8において、経路(1)に接続されたノードBに関連して登録されている、a、b、Aは、このノードBの経路(1)〜経路(3)に接続された各ノードの識別子を示している。同様に、経路(2)に接続されたノードCに関連して登録されている、b、A、cは、このノードCの経路(1)〜経路(3)に接続された各ノードの識別子を示している。更に、経路(3)に接続されたノードDに関連して登録されている、A、e、fは、このノードDの経路(1)〜経路(3)に接続された各ノードの識別子を示している。
また、図7の下段には、ノード間のデータ送信で用いられる送信データが示されている。送信データは、自ノード経路テーブルの情報と、イベントキーと、障害情報とを含んでいる。送信データの詳細については後述する。
図7及び図8から分かるように、経路テーブル情報の特徴は2点である。1つは、各ノードの経路数を3本に限定しているため、テーブル長が固定であることである。2つ目は、自ノードの経路に関する情報(経路情報)だけでなく、自ノードに接続される3つの経路それぞれのノードの経路情報までをも管理できることである。
なお、図7及び図8において、経路の順番、つまり、経路(1)であるか、経路(2)であるか、経路(3)であるかは意味を持たない。本実施の形態では、空きデータが分散しないように、詰めてデータが格納されるのが好ましい。
図9(a)は、本発明の実施の形態で用いる経路テーブルの一般的な例を示す図であり、図9(b)は、図9(a)に示す経路テーブルが対応するノード間の構成を示す図である。
図9(b)に示すように、自ノードはノードAであり、図9(a)に示す経路テーブルにおいては、ノードAが管理する範囲でのノードの構成が示されている。また、図9(a)において、「アルファベット」はノードを識別する値(識別子)を示し、「?」は何かの値があることを示している。また、空欄は、値が存在しないことを示している。
また、図9(a)に示された経路テーブルに格納されている情報は、図7の下段に示したように、ノード間のデータ送信において、送信データに含められる。このため、経路テーブルに格納されている情報は、ノード間で共有される。なお、図7で示したように、送信データは、イベントキーと、障害情報とを含んでいる。
図10に示すように、イベントキーとしては、複数の種類が設定されている。図10は、本実施の形態で用いられるイベントキーの種類の一例を示す図である。
続いて、図11及び図12を用いて、ノードの参加が行なわれた場合の経路テーブル情報の更新について説明する。図11は、ノードの参加の一例を示している。また、図11(a)は、ノードXが参加する前のノード間の構成と各ノードの経路テーブルを示し、図11(b)は、ノードXが参加した後のノード間の構成と各ノードの経路テーブルを示している。
まず、図11(a)に示すように、タイプ3cのノードで構成されたネットワークが存在するとする。ここにノードXを参加させると、ネットワークの中の1つの経路にノードXが参加することになる。
その場合、その経路の両端のノードにおいては、3つの経路のうち、1つが、新しく参加したノードXに接続される経路となる。なお、ネットワーク中のその他のノードには、なんら経路の変更は発生しない。
具体的には、図11(b)に示すように、ノードAの経路テーブルでは、接続先のノードBがノードXに変わるだけであり、ノードBの経路テーブルでは、接続先のノードAがノードXに変わるだけである。また、参加したノードXは、必ず2つの経路に接続されるので、タイプ2のノードになる。そして、ノードXは、タイプ3cのノードで構成されたネットワークに参加しており、このとき、ノードX以外のノードに接続されている経路の数は全て3本である。従って、ノードXは、さらに経路を増やすことはできない状態となる。
この図11(b)の状態で、さらにノードYが参加する場合を、図12を用いて検討する。図12は、ノードYの参加によるノード間の構成の変化を示す図である。
図11(b)の状態でノードYが参加する場合、ノードYの参加に用いられる経路の両端は、タイプ3のノードでなければならないため、タイプ2のノードの経路にノードYを参加させることはできない。つまり、図12の例では、タイプ2のノードXの経路であるノードAとノードXとの間、およびノードBとノードXとの間には、ノードを参加させることはできない。よって、それ以外の経路にノードを参加させることになる。
ノードYを参加させると、上記と同じように、ノードYを参加させた経路の両端のノードにおいて、接続先の経路の1つが変更され、参加したノードYは、経路が2つであるタイプ2のノードになる(図12中央図参照)。
一方、先ほど参加したノードXもタイプ2であるため(図11(b)参照)、ノードXは新規に参加したノードYとの間で経路を確立して、ノードX及びYは共にタイプ3のノードになる。つまり、新規に参加したノードYと先に参加したノードXとの間に新経路が確立される(図12の下図参照)。
以上に説明した方式でノードの参加が行なわれた場合、ネットワーク内のノードは、全てのノードがタイプ3となるか、1つのノードだけがタイプ2で、その他のノードはタイプ3となるか、のいずれかになる。このため、ネットワークの構成を単純化することが可能となる。
続いて、図13を用いて、本実施の形態におけるノードの構成を更に具体的に説明する。図13は、本発明の実施の形態におけるノードの具体的構成を示すブロック図である。図13においては、ネットワークシステム500(図6参照)を構成する1つのノード100だけを例示する。ノード100と同じ構成のノードが、ネットワーク内に複数存在するものとする。
図13に示すように、ノード100は、図6で示した、経路テーブル操作部113と経路テーブル格納部114とに加えて、以下の構成を備えている。具体的には、ノード100は、各ノードの状態を監視するため、定期データ送信部101と、定期データ作成部102と、定期データ受信部103と、定期データ解析部104とを備えている。
また、ノード100は、特定ノードへの経路情報の更新を契機付けるため、特定ノード向けイベントデータ送信部105と、特定ノード向けイベントデータ作成部106と、特定ノード向けイベントデータ受信部107と、特定ノード向けイベントデータ解析部108とを備えている。
また、ノード100は、ノード参加時などに特定のノードを意識しない経路変更の更新を契機付けるため、不特定ノード向けイベントデータ送信部109と、不特定ノード向けイベントデータ作成部110と、不特定ノード向けイベントデータ受信部111と、不特定ノード向けイベントデータ解析部112とを備えている。
また、経路テーブル格納部114は、上述したように、ノード間の経路の構築が自律して行なわれるようにするために必要なデータ、即ち、経路テーブル情報(図2参照)を格納している。経路テーブル操作部113は、本実施の形態では、各イベント情報に基づいて、経路テーブル情報の操作を実行する。
また、ノード100は、通信処理などに伴って各構成部に障害が発生した際に、その障害に対応するため、障害処理部115も備えている。障害処理部115は、定期データ送信部101から不特定ノード向けイベントデータ解析部112までの各部での障害情報に基づいて、障害処理を行う。
続いて、上述した各部の機能について述べる。まず、定期データ作成部102は、定常時は、経路テーブル操作部113を介して、経路テーブル格納部114が保持する経路テーブル情報を取得する。そして、定期データ作成部102は、取得した自ノードの経路テーブルを、定期データ送信部101によって、各経路のノードに定期的に送信する。
また、定期データ受信部103は、他ノードから、その経路テーブルを受信する。定期データ解析部104は、受信した他ノードの経路テーブルの内容を解析する。
経路テーブル操作部113は、経路テーブル情報の更新が必要となると、経路テーブル格納部114が保持している経路テーブル情報を更新する。経路テーブル情報を更新する必要がある場合は、何らかのノード状態の変化が起きている場合である。
このため、定期データ解析部104は、データ解析の結果に基づき、送信イベントを決定し、特定ノード向けイベントデータ作成部106又は不特定ノード向けイベントデータ作成部110により、自ノードの経路テーブル情報を含んだイベントデータを作成する。そして、定期データ解析部104は、作成したイベントデータを、特定ノード向けイベントデータ送信部105又は不特定ノード向けイベントデータ送信部109によって送信する。
送信されたイベントデータは、特定ノード向けイベントデータ受信部107又は不特定ノード向けイベントデータ受信部111で受信される。そして、特定ノード向けイベントデータ解析部108又は不特定ノード向けイベントデータ解析部112は、この受信されたイベントデータを解析する。
解析した結果、さらにイベントデータの送信が必要であれば、同様にして、イベントデータ送信が実施される。また、経路テーブルの更新が必要であれば、経路テーブル操作部113が、経路テーブル格納部114に格納されている経路テーブル情報を更新する。
[システム動作]
次に、本発明の実施の形態におけるネットワークシステム及びノードの動作について説明する。また、本実施の形態1では、ネットワークシステムを動作させることによって、ネットワーク管理方法が実施される。よって、本実施の形態におけるネットワーク管理方法の説明は、以下のネットワークシステムの動作説明に代える。
[システム動作:ノード参加]
最初に、図14及び図15を用いて、ネットワークシステムにおいてノードの参加があった場合の動作について説明する。図14は、ノードの参加があった場合のネットワークシステムにおける情報の流れを示す図である。図15は、ノードの参加があった場合のシーケンスと各経路テーブルの遷移とを示す図である。
図14においては、図13に示したノード100の構成のうち、図15の説明に必要な構成のみが示されている。また、ノード200においても、図15の説明に必要な構成のみが示されている。また、ノード100とノード200との各機能ブロックにおいて、符号の下2桁が同一の機能ブロックは、同一であることを意味している。更に、図15においては、ノード100は、ノードXと表記し、ノード200は、ノードA、ノードB、ノードCと表記する。
まず、前提として、ネットワーク内に、ノード200と同様の構成を備える複数のノード(ノードA、B、C)が存在し、各ノードは、図7に示した経路テーブル情報と同構造の情報を経路テーブル格納部214に保持しているとする。一方、ネットワークに参加するノード100(ノードX)は、経路テーブル格納部114の経路テーブル情報において、自ノードの情報のみを格納し、他ノードの情報を格納していないとする。
図15に示すように、上記の状況下において、ノードXにおいて、不特定ノード向けイベントデータ作成部110は、経路テーブル操作部113を介して、経路テーブル格納部114にある自ノード経路テーブル(図7参照)を取得する。
次に、不特定ノード向けイベントデータ作成部110は、取得した経路テーブルを用い、イベントキーにノード参加イベントキーを格納して、ノード参加イベントデータ(送信データ:図7参照)を作成する。不特定ノード向けイベントデータ作成部110は、不特定ノード向けイベントデータ送信部109から、ノード参加イベントデータをネットワーク内に送信する(ステップA1)。
次に、既にネットワークを構成しているノードA〜Cにおいては、不特定ノード向けイベントデータ受信部211が、ノード参加イベントデータを受信する(ステップA2)。そして、不特定ノード向けイベントデータ解析部212は、不特定ノード向けイベントデータ受信部211から受け取ったイベントデータのイベントキーを解析する。不特定ノード向けイベントデータ解析部212は、データ内のイベントキーから、ノード参加イベントであると判断すると、経路テーブル操作部213を介して、経路テーブル格納部214から自ノードの経路テーブルを取得する。
続いて、不特定ノード向けイベントデータ解析部212は、自ノードのタイプを判断し、タイプ3でなければ、参加を認めないと判断して、何もしないで処理を終了する(ノードC)。
一方、不特定ノード向けイベントデータ解析部212は、自ノードのタイプがタイプ3であれば(ノードA、B)、参加を認めるため、特定ノード向けイベントデータ作成部206に、自ノードの経路テーブルを渡す。さらに、不特定ノード向けイベントデータ解析部212は、ステップA2で受信したノード参加イベントデータに含まれるノードXの経路テーブルも、特定ノード向けイベントデータ作成部206に渡す。
次に、特定ノード向けイベントデータ作成部206は、イベントキーに候補ノードイベントキーを格納するとともに、自ノード(ノードA、B)の経路テーブルに基づいて、候補ノードイベントデータ(送信データ)を作成する。そして、特定ノード向けイベントデータ作成部206は、ステップA2で受信したノード参加イベントデータの送信元のノードXを送信先ノードとして、候補ノードイベントデータを、特定ノード向けイベントデータ送信部205から送信する(ステップA3)。
次に、システムに参加するノードXにおいて、特定ノード向けイベントデータ受信部107は、候補ノードイベントデータを受信し(ステップA4)、受信データを、特定ノード向けイベントデータ解析部108に送る。
ノードXにおいて、特定ノード向けイベントデータ解析部108は、受信データ内のイベントキーより、候補ノードイベントであると判断する。また、特定ノード向けイベントデータ解析部108は、異なる2つのノードA、Bから候補ノードイベントを受信しているので、ノードA、Bそれぞれの経路テーブルから、同一の経路が存在するか確認する。確認の結果、同一経路の存在が確認できない場合は、ノードXでは、さらに候補ノードイベントを受信し、経路確認を行う。
図15の例では、ノードAの経路(1)とノードBの経路(1)とが同一の経路となっている。従って、特定ノード向けイベントデータ解析部108は、複数のノードからの経路テーブルに基づいて、同一の経路を見つける。そして、特定ノード向けイベントデータ解析部108は、ノードXの両端となるノードA、Bを接続先とした経路テーブルを作成し、経路テーブル操作部113を介して、経路テーブル格納部114にある自ノード経路テーブルを更新する(ステップA5)。
続いて、特定ノード向けイベントデータ解析部108は、特定ノード向けイベントデータ作成部106に更新した自ノード経路テーブルを渡す。これにより、特定ノード向けイベントデータ作成部106は、イベントキーに経路決定イベントを格納し、更新した経路テーブルを元に経路決定イベントデータを作成する。そして、特定ノード向けイベントデータ作成部106は、各接続先を経路決定イベントデータの送信先として、特定ノード向けイベントデータ送信部105から、経路決定イベントデータを送信する(ステップA6)。
ノードA、Bでは、特定ノード向けイベントデータ受信部207が、経路決定イベントデータを受信する(ステップA7)。そして、特定ノード向けイベントデータ解析部208は、受信データ内のイベントキーから、経路決定イベントであることを確認する。これにより、特定ノード向けイベントデータ解析部208は、受信データ内の経路テーブルを元に、経路テーブル操作部213を介して、経路テーブル格納部214の経路テーブルを更新する(ステップA8)。以上のステップにより、ノードA、Bの経路テーブルでは、ノード参加のルールに従い、図11(b)で示したように、太枠で囲まれた部分が、自動的に決定され、更新される。
ところで、上記で、ノードXが、複数の候補イベントデータの解析によって、経路を決定するに当たって、同一経路を有する2つのノードA、Bそれぞれの他の2つの接続先(計4つのノード)のいずれかがタイプ2のノードである場合がある。この場合は、タイプ2のノードを含めた3ノードを参加ノードXの接続先とするのが良い。なお、計4つのノードとあるのは、1ノードあたり3つの経路があり、その1つが同一であるため、それ以外の経路は2つであり、そして該当するノードが2つあることによる。
図16(a)及び(b)を用いて具体例を示す。図16は、ノードの参加の他の例を示している。また、図16(a)は、ノードXが参加する前のノード間の構成と各ノードの経路テーブルとを示し、図16(b)は、ノードXが参加した後のノード間の構成と各ノードの経路テーブルとを示している。
図16(a)の例では、ノードAとノードBとの間の経路3は、同一経路である。また、ノードAにおいて、経路3以外に、ノードCとの経路4、ノードDとの経路5がある。ノードBにおいては、ノードEとの経路6、ノードFとの経路7とがある。
そして、各ノードのうち、ノードCはタイプ2であるとすると、図16(b)に示すように、参加ノードXは、その両端に位置するノードA及びノードBに加えて、ノードCにも接続される。この場合、各ノードの経路テーブルでは、ノード参加のルールに従い、図16(b)に示すように、太枠で囲まれた部分が、自動的に決定され、更新される。
[システム動作:定期的イベント送信]
続いて、図17〜図19を用いて、ネットワークシステムにおいて定期的な経路追加イベントによって経路が追加された場合の動作について説明する。図17は、定期的な経路追加イベントによって経路が追加される例を示す図である。また、図17(a)は、経路の追加前のノード間の構成を示し、図17(b)は、経路の追加後のノード間の構成を示している。
図17(a)に示すように、ネットワーク内に、タイプ2のノードが複数存在しているとする。このような場合は、ノードの参加又は離脱によって、生じることがある。そして、タイプ2のノード数が2つ以上存在すれば、そのノード間に経路を作成することで、それぞれのノードがタイプ3のノードになる。
そこで、本実施の形態では、図17(a)に示すように、タイプ2のノードAは、他のノードに対して定期的に経路追加イベントを送信し、別のタイプ2のノードを探索する。そして、図17(b)に示すように、別のタイプのノードが見つかると、ノードAは、そのノードとの間に経路を作成する。
図17(a)及び(b)の例を、図18及び図19を用いて説明する。図18は、定期的な経路追加イベントによって経路が追加される場合のネットワークシステムにおける情報の流れを示す図である。図19は、定期的な経路追加イベントによって経路が追加される場合のシーケンスと各経路テーブルの遷移とを示す図である。
図18においては、図13に示したノード100の構成のうち、図19の説明に必要な構成のみが示されている。また、ノード200においても、図19の説明に必要な構成のみが示されている。また、ノード100とノード200との各機能ブロックにおいて、符号の下2桁が同一の機能ブロックは、同一であることを意味している。更に、図19においては、ノード100は、ノードAと表記し、ノード200は、ノードB、ノードCと表記する。
まず、図19に示すように、タイプ2のノードAの不特定ノード向けイベントデータ作成部110は、経路テーブル操作部113を介して、経路テーブル格納部114にある自ノードの経路テーブル(図7参照)を取得する。次に、不特定ノード向けイベントデータ作成部110は、取得した経路テーブルを用い、イベントキーに経路追加イベントキーを格納して、経路追加イベントデータを作成する。そして、不特定ノード向けイベントデータ作成部110は、作成した経路追加イベントデータを、不特定ノード向けイベントデータ送信部109から、ネットワーク内に定期的に送信する(ステップB1)。
次に、ネットワーク内のノードB及びCは、不特定ノード向けイベントデータ受信部211で経路追加イベントデータを受信する(ステップB2)。そして、不特定ノード向けイベントデータ解析部212は、不特定ノード向けイベントデータ受信部211からデータを受け取り、これを解析する。また、不特定ノード向けイベントデータ解析部212は、データ内のイベントキーに基づいて、経路追加イベントであると判断する。次に、不特定ノード向けイベントデータ解析部212は、経路テーブル操作部213を介して、経路テーブル格納部214から自ノードの経路テーブル(図7参照)を取得する。
続いて、不特定ノード向けイベントデータ解析部212は、自ノードのタイプを判断し、タイプ2でなければ、何もしないで処理を終了する(ノードC)。
一方、不特定ノード向けイベントデータ解析部212は、自ノードのタイプがタイプ2であれば(ノードB)、特定ノード向けイベントデータ作成部206に、自ノードの経路テーブルを渡す。さらに、不特定ノード向けイベントデータ解析部212は、ステップB2で受信した経路追加イベントデータに含まれるノードAの経路テーブルも、特定ノード向けイベントデータ作成部206に渡す。
次に、特定ノード向けイベントデータ作成部206は、イベントキーに候補ノードイベントキーを格納するとともに、自ノード(ノードB)の経路テーブルに基づいて、候補ノードイベントデータ(送信データ)を作成する。そして、特定ノード向けイベントデータ作成部206は、ステップB2で受信した経路追加イベントデータの送信元のノードAを送信先として、候補ノードイベントデータを、特定ノード向けイベントデータ送信部205から送信する(ステップB3)。
次に、タイプ2のノードAにおいて、特定ノード向けイベントデータ受信部107は、候補ノードイベントを受信し(ステップB4)、受信データを、特定ノード向けイベントデータ解析部108に送る。
ノードAにおいて、特定ノード向けイベントデータ解析部108は、受信データ内のイベントキーより、候補ノードイベントであると判断する。また、特定ノード向けイベントデータ解析部108は、候補ノードBの経路テーブルを受信しているので、これから、候補ノードBがタイプ2であることを確認する。
図19の例では、候補ノードBはタイプ2であるので、特定ノード向けイベントデータ解析部108は、候補ノードBを接続先とした経路テーブルを作成し、経路テーブル操作部113を介して、経路テーブル格納部114の経路テーブルを更新する(ステップB5)。
続いて、特定ノード向けイベントデータ解析部108は、特定ノード向けイベントデータ作成部106に更新した経路テーブルを渡す。これにより、特定ノード向けイベントデータ作成部106は、イベントキーに経路決定イベントを格納し、更新した経路テーブルを元に経路決定イベントデータを作成する。そして、特定ノード向けイベントデータ作成部106は、接続先を経路決定イベントデータの送信先として、特定ノード向けイベントデータ送信部105から、経路決定イベントデータを送信する(ステップB6)。
ノードBでは、特定ノード向けイベントデータ受信部207が、経路決定イベントデータを受信する(ステップB7)。そして、特定ノード向けイベントデータ解析部208は、受信データ内のイベントキーから、経路決定イベントであることを確認する。これにより、特定ノード向けイベントデータ解析部208は、受信データ内の経路テーブルを元に、経路テーブル操作部213を介して、経路テーブル格納部214の経路テーブルを更新する(ステップB8)。以上のステップにより、図17(b)に示したように、ノードAとノードBとの間に経路が新たに構築される。
[システム動作:ノードの死活監視]
続いて、図20及び図21を用いて、ネットワークシステムにおけるノードの死活監視について説明する。図20は、ネットワークシステムにおけるノードの死活監視を説明するための図である。図21は、死活監視実行時におけるノードの動作を示すフロー図である。
図20に示すように、ノードAは、ノードB、ノードC、及びノードDに接続されている。この場合、例えば、ノードAは、各経路を通じて、接続先のノードB〜Dそれぞれに定期的にデータ(定期データ)を送信することで、これら接続先のノードの死活を監視する。
また、ネットワークを構成する各ノードは、経路によって直接接続されているノードのみ、つまり、隣接しているノードのみを監視する。そのため、ネットワーク中のノードが増加しても、あるノードが監視するノードは、最大3ノードまでに限定されることになる。このため、ネットワークを流れるノード監視用の定期データのデータ量は抑えられることになる。また、各ノードによる定期データの送信は、それぞれ非連動で行われる。
そして、各ノードは、特定のノードへの定期データの送信に異常があった場合、及び特定のノードからの定期データの受信に遅れがあった場合は、特定のノードに異常が発生したと判断する。また、各ノードは、イベントデータを含むノード間での送信データにおいて、経路テーブルの値に異常があった場合も、該当するノードに異常があるものと判断する。
図21に示すように、ノード100(図13参照)において、障害処理部115は、まず、送信先のノードに障害が発生しているかどうかを判定する(ステップC1)。具体的には、障害処理部115は、定期データ送信部101で送信異常があった場合、及び特定ノード向けイベントデータ送信部105で送信異常があった場合は、送信先のノードに障害が発生したと判断する。
障害処理部115は、ステップC1の判定の結果、送信先のノードに障害が発生していない場合は、ステップC2を実行し、送信先のノードに障害が発生している場合は、ステップC3を実行する。
ステップC2では、障害処理部115は、受信先のノードに障害が発生しているかどうかを判定する。具体的には、障害処理部115は、定期データ解析部104に一定時間、定期データ受信部103から受信データが通知されない場合は、受信先のノードに障害が発生したと判断する。
障害処理部115は、ステップC2の判定の結果、受信先のノードに障害が発生していない場合は、再度ステップC1を実行し、受信先のノードに障害が発生している場合は、ステップC3を実行する。
障害が発生している各ノードにおいては、その障害処理部は、ノード離脱処理を実行する。よって、当該ノードはネットワークから離脱する。このため、ステップC3では、障害を検出したノード100によって、新たな経路の生成処理が実行される。なお、あるノードで障害が発生した場合、その障害が発生したノードに隣接するノードのうち、最も早く障害を検出したノードが、障害が発生したノードの離脱後に、ステップC3を実行すれば良い。
[システム動作:ノード離脱(1)]
続いて、図22〜図25を用いて、ネットワークシステムにおけるタイプ2のノードの離脱について説明する。
本実施の形態において、ノードがネットワークから離脱する場合としては2つの場合がある。一つは、障害が発生したノードが、その障害により自らの離脱を他ノードに通知できず、他ノードが通信障害などに基づいて異常を検出し、ノードの離脱と判断する場合である。もう一つは、離脱するノードが、離脱前に、ネットワークの他のノードに対して、離脱を通知して離脱を行う場合である。
また、本実施の形態におけるノード管理方式では、ノードのネットワークへの参加のルールが明確になっているため、ノードが離脱する場合のノード接続の組み合わせのパターンは固定化されている。そのため、ノード離脱に関する前者と後者との違いは、離脱せずにネットワーク上に残るノードが新経路を作成するか、離脱を予定しているノードが新経路を作成するかの違いしかない。以下では、前者について説明する。
本例では、タイプ2のノードのネットワークからの離脱について図22及び図23を用いて説明する。図22は、ネットワーク中のタイプ2のノードが離脱する例を示す図である。図22(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図22(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。
図23は、ネットワーク中のタイプ2のノードが離脱した後に新経路が構築される例を示す図である。図23(a)は、新経路の構築前のノード間の構成と各ノードの経路テーブルとを示し、図23(b)は、新経路の構築後のノード間の構成と各ノードの経路テーブルとを示している。
図22(a)及び(b)に示すように、タイプ2のノードXが離脱すると、それに接続されている2つのノードAとノードBとの間に新しい経路2が作成される。また、ノードXが離脱する際、その離脱を検知するのは、経路にあるノードAとノードBである。ここでは、ノードAがノードBより先に離脱を検出したとする。
ノードAは、ノードXの離脱を検知すると、その経路テーブルの経路情報21に基づいて、ノードXがタイプ2であることと、ノードA以外の接続先ノードがノードBであることを特定する。
また、ノードAは、その経路テーブルにあるノードXの経路情報21を、ノードXの経路テーブルにあるノードBの経路情報20に移し替える(図22(b)参照)。その際、ノードAの経路テーブルにおいて、移し替えた後のノードBの経路情報22には、未だ、離脱したノードXを識別する値(識別子)が残されている。従って、ノードAは、ノードXの情報を自ノードであるノードAを識別する値に更に移し替える(図22(b)参照)。これにより、ノードAの経路テーブルは、新しい経路の情報で確立される。
続いて、図23(a)に示すように、ノードAは、新しい接続先であるノードBに対して、接続要求イベントデータを送信する。ノードBは、接続要求イベントを受信すると、自ノードBの経路テーブル内の各ノードの経路情報と、接続要求イベントデータに含まれる経路テーブル内の自ノードの経路情報24とを比較する。この場合、ノードBは、接続先にノードXがなくなり、ノードAに変わっている、と判断する。
そこで、ノードBは、自ノードの経路テーブルにおいて、ノードXの経路情報23(図22(a)参照)を、ノードAの経路情報25に置き換える。また、このとき、ノードBは、経路情報25における空欄28には、接続要求イベントデータの欄26の値を書き込み、経路情報25における空欄29には、接続要求イベントデータの欄27の値を書き込、む。
図22〜図23の例を、図24及び図25を用いて説明する。図24は、ネットワーク中のタイプ2のノードが離脱した後に新経路が構築される場合のネットワークシステムにおける情報の流れを示す図である。図25は、ネットワーク中のタイプ2のノードが離脱した後に新経路が構築される場合のシーケンスと各経路テーブルの遷移とを示す図である。
図24においては、図13に示したノード100の構成のうち、図25の説明に必要な構成のみが示されている。また、ノード200及び300においても、図25の説明に必要な構成のみが示されている。また、ノード100〜300それぞれの各機能ブロックにおいて、符号の下2桁が同一の機能ブロックは、同一であることを意味している。更に、図25においては、ノード100はノードAと表記し、ノード200はノードXと表記し、ノード300はノードBと表記する。
まず、図24及び図25の例において、ノードAとノードXとの間に経路があり、そして、ノードXに異常が生じているとする。そして、図25に示すように、ノードAにおいて、定期データ作成部102が定期データを作成し、定期データ送信部101が定期データをノードXへと送信する(ステップD1)。
ノードXには異常が生じているため、定期データ送信部101は、送信エラーに基づいて障害を検出し(ステップD2)、検出した異常につての異常情報を、障害処理部115に通知する。障害処理部115は、経路テーブル操作部113を介して、経路テーブル格納部114にある経路テーブル情報(図7参照)からノードXの経路テーブルを取得する。また、障害処理部115は、取得した経路テーブルの内容より、新しい接続先としてノードBを特定する。
そして、障害処理部115は、経路テーブル操作部113を介して、ノードAの経路テーブルを更新し(ステップD3)、更新後のノードAの経路テーブルを、特定ノード向けイベントデータ作成部106に渡す。特定ノード向けイベントデータ作成部106は、受け取った更新後のノードAの経路テーブルを用いて、接続要求イベントデータを作成する。このとき、特定ノード向けイベントデータ作成部106は、イベントキー(図7参照)に接続要求イベントを格納し、更に、障害情報(図7参照)に検出した障害ノードの情報(障害ノードを識別する値)を格納する。
次に、特定ノード向けイベントデータ作成部106は、作成した接続要求イベントデータを、特定ノード向けイベントデータ送信部105から、ノードBへと送信する(ステップD4)。
次に、ネットワーク内のノードBにおいては、特定ノード向けイベントデータ受信部307が、接続要求イベントデータを受信する(ステップD5)。特定ノード向けイベントデータ解析部308は、特定ノード向けイベントデータ受信部307から接続要求イベントデータを受け取り、これを解析する。本例では、特定ノード向けイベントデータ解析部308は、データ内のイベントキーより、接続要求イベントであると判断する。よって、特定ノード向けイベントデータ解析部308は、経路テーブル操作部313を介して、経路テーブル格納部314に格納されている、ノードBの経路テーブルを更新する(ステップD6)。
また、本例では、ノードBは、接続要求イベントデータの受信前に、ノードXに対して定期データを送信し(ステップD7)、送信エラーに基づいて、ノードXにおける障害を検出することができる(ステップD8)。但し、ノードBは、ノードAからの接続要求イベントデータの障害情報によって、ノードXに障害が発生している旨の通知を受けている。従って、この場合、ノードBは、障害検出に対して、何ら処理を実行しない。
なお、図25の例と異なり、ノードBにおいて、接続要求イベントデータを受信する前(ステップD4の前)に、送信エラー(ステップD8)が発生していた場合は、ノードBにおいても、ノードAと同様に経路の更新処理が行われるが、更新結果は同じとなるので、特に問題となることはない。
[システム動作:ノード離脱(2)]
続いて、図26〜図30を用いて、ネットワークシステムにおけるタイプ3iのノードの離脱について説明する。
図1(f)及び(g)を用いて説明したように、タイプ3には、接続先ノードにタイプ2を含むタイプ3iとタイプ2を含まないタイプ3cがある。本例では、上述したようにタイプ3iのノードの離脱について説明する。
図26は、ネットワーク中のタイプ3iのノードが離脱し、タイプ2のノードが最初に離脱を検知する例を示す図である。図26(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図26(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。
図27は、図26に示したノードの離脱の検知を説明する図である。図27(a)は、ノードの離脱を検知した状態を示し、図27(b)は、ノードの離脱を検知した後の状態を示している。
図28は、図26に示したノードの離脱の後に行われる通知を説明する図である。図28(a)は、ノードの離脱後に通知を行っている状態を示し、図28(b)は、通知後の状態を示している。
図26(a)及び(b)に示すように、タイプ3iのノードXがネットワークから離脱すると、離脱するノードXに接続されている3つのノードのうち、タイプ2のノードAから、タイプ3のノードB及びCへと新しい経路が作成される。
また、ノードXが離脱する際、その離脱を検知するのは、経路にあるノードA、ノードB、及びノードCの3つのノードであるが、この3つのノードは等価ではない。即ち、離脱を検知したノードが、タイプ2の場合と、タイプ3の場合とがあるが、それぞれにおいて方式が異なる。本例では、離脱を最初に検知したノードが、タイプ2のノードAである場合について説明する。
図27(a)に示すように、まず、タイプ2のノードAは、ノードXの離脱を検知すると、自ノードA内にあるノードXの経路テーブルから、ノードXがタイプ3iであることと、自ノード以外の接続先ノードが、ノードB、ノードCであることを特定する。
次に、図27(b)に示すように、ノードAは、ノードXの経路テーブル内のノードBの経路情報30を、自ノードAの経路テーブルにおける、離脱するノードXの経路情報31の位置に移し替える。更に、ノードAは、ノードXの経路テーブル内のノードCの経路情報32を、自ノードAの経路テーブルの空き領域33に移し替える。
また、上記の移し替えを実行しても、図27(b)に示すように、ノードAの経路テーブルにおいては、ノードB及びノードCの経路情報の欄34及び35には、離脱したノードXの情報(ノードXを識別する値)が残っている。このため、ノードAは、欄34及び35にあるノードXの情報を、自ノードであるノードAの情報に差し替える。
以上により、ノードAの経路テーブルにおいて新経路の情報が確立される。よって、図28(a)及び(b)に示すように、ノードAは、新経路での接続先となるノードB及びノードCに対して、接続要求イベントデータを送信する。
続いて、ノードBおよびノードCは、ノードAから接続要求イベントデータを受信すると、自ノードの経路の接続先がノードXからノードAに変わっており、接続要求イベントデータがノードAから送られてきているため、経路の変更を行う。
例えば、図28(a)及び(b)に示すように、ノードBは、接続要求イベントデータを受信すると、自ノードBの経路テーブル内の各ノードの経路情報と、受信した接続要求イベントデータ中の経路テーブル内の自ノードの経路情報37とを比較する。そして、ノードBは、接続先にノードXがなくなり、ノードXがノードAに変わっていると判断する。
そこで、図28(b)に示すように、ノードBは、自ノードの経路テーブルのうち、ノードXの経路情報36をノードAの経路情報に置き換える。また、このとき、ノードBは、図28(b)のノードAの経路情報の空欄40には、接続要求イベントデータの欄38の値を書き込み、ノードAの経路情報の空欄41には、接続要求イベントデータの欄39の値を書き込む。
図26〜図28の例を、図29及び図30を用いて説明する。図29は、ネットワーク中のタイプ3iのノードが離脱した後に新経路が構築される場合のネットワークシステムにおける情報の流れを示す図である。図30は、ネットワーク中のタイプ3iのノードが離脱した後に新経路が構築される場合のシーケンスと各経路テーブルの遷移とを示す図である。
図29においては、図13に示したノード100の構成のうち、図30の説明に必要な構成のみが示されている。また、ノード200〜400においても、図30の説明に必要な構成のみが示されている。また、ノード100〜400それぞれの各機能ブロックにおいて、符号の下2桁が同一の機能ブロックは、同一であることを意味している。更に、図30においては、ノード100はノードAと表記し、ノード200はノードXと表記し、ノード300はノードBと表記し、ノード400はノードCと表記する。
まず、図29及び図30の例において、ノードAとノードXとの間に経路があり、ノードXに異常が生じているとする。ノードAは、タイプ2のノードである。そして、ノードAは、定期データ作成部102で作成した定期データを定期データ送信部101から、ノードXに送信する(ステップE1)。
ノードXには異常が生じているため、定期データ送信部101は、送信エラーに基づいて障害を検出し(ステップE2)、検出した異常についての異常情報を、障害処理部115に通知する。障害処理部115は、経路テーブル操作部113を介して、経路テーブル格納部114にある経路テーブル情報(図7参照)からノードXの経路テーブルを取得する。また、障害処理部115は、取得した経路テーブルの内容より、新しい接続先をノードB及びノードCと判断する。
そして、障害処理部115は、ノードAの経路テーブルを更新し(ステップE3)、更新後のノードAの経路テーブルを、特定ノード向けイベントデータ作成部106に渡す。特定ノード向けイベントデータ作成部106は、受け取った更新後のノードAの経路テーブルを用いて、接続要求イベントデータを作成する。このとき、特定ノード向けイベントデータ作成部106は、イベントキー(図7参照)に接続要求イベントを格納し、更に、障害情報(図7参照)に検出した障害ノードの情報(障害ノードを識別する値)を格納する。
次に、特定ノード向けイベントデータ作成部106は、作成した接続要求イベントデータを、特定ノード向けイベントデータ送信部105から、ノードBおよびノードCへと送信する(ステップE4)。
次に、ネットワーク内のノードBにおいては、特定ノード向けイベントデータ受信部307が、接続要求イベントデータを受信する(ステップE5)。特定ノード向けイベントデータ解析部308は、特定ノード向けイベントデータ受信部307から接続要求イベントデータを受け取り、これを解析する。本例では、特定ノード向けイベントデータ解析部308は、データ内のイベントキーより、接続要求イベントであると判断する。よって、特定ノード向けイベントデータ解析部308は、経路テーブル操作部313を介して、経路テーブル格納部314に格納されている、ノードBの経路テーブルを更新する(ステップE6)。
また、ノードCにおいても、ノードBと同様に、受信処理(ステップE7)及び更新処理(ステップE8)が実行され、ノードCの経路テーブルが更新される。結果、ノードXの離脱後、ノードAとノードBとの間、ノードAとノードCとの間に新たな経路が構築される。
[システム動作:ノード離脱処理(3)]
続いて、図31〜図35を用いて、ネットワークシステムにおけるタイプ3iのノードの離脱について説明する。本例では、ノード離脱処理(2)と異なり、ネットワークにあるノードA、ノードB、ノードCの3つのノードのうち、タイプ3のノードBが最初にノードXの離脱を検出した例について説明する。
図31は、ネットワーク中のタイプ3iのノードが離脱し、タイプ3のノードが最初に離脱を検知する例を示す図である。図31(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図31(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。
図32は、図31に示したノードの離脱の後に行われる通知の一例を説明する図である。図32(a)は、ノードの離脱後に通知を行っている状態を示し、図32(b)は、通知後の状態を示している。
図33は、図31に示したノードの離脱の後に行われる通知の他の例を説明する図である。図33(a)は、ノードの離脱後に通知を行っている状態を示し、図33(b)は、通知後の状態を示している。
図31(a)に示すように、まず、タイプ3のノードBは、ノードXの離脱を検知すると、自ノードB内にあるノードXの経路テーブルから、ノードXがタイプ3iであることと、自ノード以外の接続先ノードが、ノードA、ノードCであることを特定する。
次に、ノードBは、ノードXの経路テーブル内のノードA(タイプ2)の経路情報51を、自ノードの経路テーブルにおける、離脱するノードXの経路情報51の位置に移し替える。
また、上記の移し替えを実行しても、図31(b)に示すように、ノードBの経路テーブルにおいては、ノードAの経路情報の欄52には、離脱したノードXの情報(ノードXを識別する値)が残っている。このため、ノードBは、欄52にある離脱したノードXの情報を、自ノードであるノードBの情報に差し替える。
更に、ノードAはタイプ2であったため、経路に空きがあり、ノードAの経路情報の欄53は空欄となっている。このため、ノードBは、欄53に、ノードXに接続されていた残りのノードであるノードCの情報を格納する。以上により、ノードBの経路テーブルにおいて新経路の情報が確立される。
続いて、図32(a)及び図33(a)に示すように、ノードBは、新しい接続先であるノードAとノードCとに対して、接続要求イベントデータを送信する。
図32(a)及び(b)に示すように、ノードAは、ノードBから接続要求イベントデータを受信すると、自ノードAの経路テーブル内の各ノードの経路情報と、受信した接続要求イベントデータ中の経路テーブル内の自ノードの経路情報58とを比較する。そして、ノードAは、接続先にノードXがなくなり、ノードXが、接続要求イベントデータの送信元のノードBに変わっていると判断する。更に、このとき、ノードBは、接続先にノードCが追加されていることも判断する。
次に、図32(b)に示すように、ノードAは、自ノードAの経路テーブルのうち、ノードXの経路情報56をノードBの経路情報に置き換える。続いて、ノードAは、新たな接続先となるノードCの経路情報を、ノードXの経路テーブル内のノードCの経路情報55から取得し、これを空き経路情報57に置き換える(図31の4)。その際、ノードCの経路情報55の欄59には、離脱したノードXの情報(ノードXを識別する値)が残っている。このため、ノードAは、欄59にあるノードXの情報を、自ノードであるノードAの情報に差し替える。
以上により、ノードAの経路テーブルにおいて新経路の情報が確立される。
また、図33(a)及び(b)に示すように、ノードCは、ノードBから接続要求イベントデータを受信すると、自ノードCの経路テーブル内の各ノードの経路情報と、受信した接続要求イベントデータ中の経路テーブル内の自ノードの経路情報62とを比較する。そして、ノードCとノードBとの間には経路が存在しないため、ノードCは、受信した接続要求イベントデータ内にノードCの経路情報が存在しないと判断する。
更に、ノードCは、受信した接続要求イベントデータ内に自ノードCの情報が存在しているかどうかを確認し、ノードAがノードCとの間に経路を有していることを特定する(経路情報62の欄63)。
また、ノードBから送信されてきた接続要求イベントデータには、障害情報として、ノードXに障害が発生したことを示す情報が格納されている。従って、ノードCは、自ノードCの経路テーブル内のノードXの経路情報61と、ノードXの経路テーブル内のノードAの経路情報60とを比較する。そして、ノードCは、ノードAがタイプ2のノードであり、ノードAの経路内で、ノードXからノードBに変わり、更にノードCが追加されていると判断する。
そこで、ノードCは、自ノードの経路テーブル内の、ノードXの経路情報61を、受信した接続要求イベントデータ中のノードAの経路情報62に置き換える。
以上により、ノードCの経路テーブルにおいて新経路の情報が確立される。
図31〜図33の例を、図34及び図35を用いて説明する。図34は、ネットワーク中のタイプ3iのノードが離脱した後に新経路が構築される他の場合のネットワークシステムにおける情報の流れを示す図である。図35は、ネットワーク中のタイプ3iのノードが離脱した後に新経路が構築される他の場合のシーケンスと各経路テーブルの遷移とを示す図である。
図34においては、図13に示したノード100の構成のうち、図35の説明に必要な構成のみが示されている。また、ノード200〜400においても、図35の説明に必要な構成のみが示されている。また、ノード100〜400それぞれの各機能ブロックにおいて、符号の下2桁が同一の機能ブロックは、同一であることを意味している。更に、図35においては、ノード100はノードBと表記し、ノード200はノードXと表記し、ノード300はノードAと表記し、ノード400はノードCと表記する。
まず、図34及び図35の例において、ノードBとノードXとの間に経路があり、ノードXに異常が生じているとする。ノードBは、タイプ3のノードである。そして、ノードBは、定期データ作成部102で作成した定期データを定期データ送信部101から、ノードXに送信する(ステップF1)。
ノードXには異常が生じているため、定期データ送信部101は、送信エラーに基づいて障害を検出し(ステップF2)、検出した異常についての異常情報を、障害処理部115に通知する。障害処理部115は、経路テーブル操作部113を介して、経路テーブル格納部114にある経路テーブル情報(図7参照)からノードXの経路テーブルを取得する。また、障害処理部115は、取得した経路テーブルの内容より、新しい接続先をノードAと判断する。ここで、ノードAは、タイプ2のノードであり、ノードCは、タイプ3のノードとする。
そして、障害処理部115は、ノードBの経路テーブルを更新し(ステップF3)、更新後のノードBの経路テーブルを、特定ノード向けイベントデータ作成部106に渡す。特定ノード向けイベントデータ作成部106は、受け取った更新後のノードBの経路テーブルを用いて、接続要求イベントデータを作成する。このとき、特定ノード向けイベントデータ作成部106は、イベントキー(図7参照)に接続要求イベントを格納し、更に、障害情報(図7参照)に検出した障害ノードの情報(障害ノードを識別する値)を格納する。
次に、特定ノード向けデータ作成部106は、作成した接続要求イベントデータを、特定ノード向けイベントデータ送信部105から、ノードAおよびノードCへと送信する(ステップF4)。
次に、ネットワーク内のノードAにおいては、特定ノード向けイベントデータ受信部307が、接続要求イベントデータを受信する(ステップF5)。特定ノード向けイベントデータ解析部308は、特定ノード向けイベントデータ受信部307から接続要求イベントデータを受け取り、これを解析する。本例では、特定ノード向けイベントデータ解析部308は、データ内のイベントキーより、接続要求イベントであると判断する。よって、特定ノード向けイベントデータ解析部308は、経路テーブル操作部313を介して、経路テーブル格納部314に格納されている、ノードAの経路テーブルを更新する(ステップF6)。
また、ノードCにおいても、ノードAと同様に、受信処理(ステップF7)及び更新処理(ステップF8)が実行され、ノードCの経路テーブルが更新される。結果、ノードXの離脱後、ノードAとノードBとの間、ノードAとノードCとの間に新たな経路が構築される。
[システム動作:ノード離脱処理(4)]
続いて、図36及び図37を用いて、ネットワークシステムにおけるタイプ3cのノードの離脱について説明する。
具体的には、離脱するタイプ3cのノードの接続先の3つのノードのうち、1つがタイプ3iの場合について図36及び図37を用いて説明する。図36は、タイプ3cの2つのノードとタイプ3iの1つのノードとを接続先とする、タイプ3cのノードがネットワークから離脱する例を示す図である。図36(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図36(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。
図36(a)に示すように、離脱するタイプ3cのノードXにおいて、全ての接続先は、タイプ3のノードとなっている。具体的には、接続先となるノードA及びノードCはタイプ3cであり、ノードBはタイプ3iである。よって、このタイプ3cのノードXがネットワークから離脱すると、図36(b)に示すように、ノードAはネットワークから切り離され、残るノードB及びノードCは、両者の間に新しい経路を構築する。
このとき、ノードAに接続されているノードが、いくつかのノードを経由して、ノードBまたはノードCに接続される可能性はあるが、ノードAは、それを認識できなし、認識する必要もない。
そこで、本例では、このような状態において、ノードAは、ノードB及びノードCのネットワークに再度接続することができる。この点について図37を用いて以下に説明する。図37は、図36に示したノードの離脱によってネットワークから切り離されたノードのネットワークへの復帰を示す図である。図37(a)は離脱の発生前の状態を示し、図37(b)は離脱発生後にノードがネットワークに復帰した状態を示している。
まず、離脱するノードXの接続先であるノードA、ノードB、およびノードCについて、これらの更なる接続先ノードを検討する。例えば、図37(a)および(b)に示すように、ノードBが、接続先としてタイプ2のノードを含むタイプ3iだとする。
ノードXが離脱した際、それを知るのは、ノードXの接続先であるノードA、ノードB、およびノードCであるが、この3つのノードは、自ノード以外のノードタイプはわからない。そこで、ノードA、ノードB、およびノードCは、ノードXの離脱を検知すると、自ノードがタイプ3iでない場合(ノードA、ノードC)は、すぐに新経路作成の処理を行わず、待機状態となる。一方、ノードA、ノードB、およびノードCは、自ノードがタイプ3iである場合は、自ノードと残りの2つのノードのうち1つとの間に新たな経路を確立する。
具体的には、図37(b)に示すように、ノードBは、タイプ3iであるので、ノードCとの間に新たな経路15を確立する。また、ネットワークから分離されてしまったノードAは、ノードBに接続されているタイプ2のノードとの間に、新たな経路16を確立する。
[システム動作:ノード離脱処理(5)]
続いて、図38〜図40を用いて、ネットワークシステムにおけるタイプ3cのノードの離脱の別の例について説明する。
具体的には、離脱するタイプ3cのノードの接続先の3つのノード全てがタイプ3cの場合について図38〜図40を用いて説明する。図38は、タイプ3cの3つのノードを接続先とする、タイプ3cのノードがネットワークから離脱する例を示す図であり、図38(a)は、ノードの離脱前のノード間の構成を示し、図38(b)は、ノードの離脱後のノード間の構成を示している。
図38(a)に示すように、離脱するタイプ3cのノードXにおいて、全ての接続先はタイプ3cのノードとなっている。従って、図38(a)および(b)に示されるネットワークの範囲内にタイプ2のノードが存在していないので、図38(b)に示すように、ノードXが離脱すると、タイプ2のノードが3つ作成され、ネットワークが分断されることになる。
そこで、本例では、まず、ネットワークの分断を防ぐため、タイプ2となった3つのノードのうち、任意の2ノードによって仮の経路が作成される。その後、作成された仮の経路に代わる経路が存在しているかどうかが確認され、存在している場合は、仮の経路は取り除かれる。この確認処理について、図39および図40に基づいて以下に説明する。
図39は、図38に示したノードの分離が発生した場合の仮の経路の作成処理と確認処理との一例を説明する図である。図39(a)は仮の経路の作成処理および確認処理の実行中の状態を示す図であり、図39(b)は処理終了後を示す図である。
図39(a)に示すように、まず、ノードAとノードBとの間に仮の経路が作成される。次いで、ノードAおよびノードBは、それぞれの経路テーブルを用いて、共通の接続先となるノードが存在するかどうかを確認する。
本例では、図39(a)および(b)に示すように、ノードAおよびノードBの共通の接続先として、ノードDが存在している。従って、ノードAとノードDとの経路、ノードBとノードDとの経路が存在するため、ノードAとノードBとの間の仮の経路を取り除いても、ネットワークの分断は起きないので、仮の経路は取り除かれる。
図40は、図38に示したノードの分離が発生した場合の仮の経路の作成処理と確認処理との他の例を説明する図である。図40(a)は仮の経路の作成処理および確認処理の実行中の状態を示す図であり、図40(b)は処理終了後を示す図である。
図40(a)に示すように、まず、ノードAとノードBとの間に仮の経路が作成される。次いで、ノードAおよびノードBは、それぞれの経路テーブルを用いて、共通の接続先となるノードが存在するかどうかを確認するが、共通の接続先となるノードが存在しないとする。
この場合、ノードAおよびノードBは、それぞれ、接続先のノードの接続先によって、ノードAとノードBとを最終的に接続する経路が存在しているかどうかを確認する。具体的には、ノードAおよびノードBは、それぞれ、ノードCとノードEとの間、ノードCとノードFとの間、ノードDとノードEとの間、ノードDとノードFとの間のいずれか1つでも経路が存在するかどうかを確認する。そして、図40(b)に示すように、経路が存在する場合は、ノードAとノードBとの間の仮の経路を取り除いても、ネットワークの分断は起きないので、仮の経路は取り除かれる。
具体的には、図40(a)に示すように、ノードAは、ノードAの経路テーブルから、ノードA→ノードB→ノードE→ノードC→ノードAの巡回経路が存在することを確認する(図40(a)下段)。
また、図39および図40に示した作成処理および確認処理は、図38におけるノードAとノードBとの間、ノードBとノードCとの間、ノードCとノードAとの間のうち、いずれかについて行われる。そして、任意の2ノード間について上記の経路が確認できた場合は、確認対象となった任意の2ノードのうちの一方(タイプ2)と、残りの1ノード(タイプ2)との間には、新たな経路が作成される。
また、この場合の2つのタイプ2のノードによる経路の作成は、図17〜図19を用いて説明したように、一方のタイプ2のノードが、定期的に経路追加イベントデータを送信して、ネットワーク中の他のタイプ2のノードを探索することによって行われる。
[システム動作:ノード離脱処理(6)]
続いて、図41〜43を用いて、ネットワークシステムから離脱するノード自体が離脱処理を開始する場合について説明する。
図41は、ネットワーク中のノードが自ら離脱処理を開始する例を示す図である。図41(a)は、ノードの離脱前のノード間の構成と各ノードの経路テーブルとを示し、図41(b)は、ノードの離脱後のノード間の構成と各ノードの経路テーブルとを示している。
図41(a)および(b)に示すように、タイプ2のノードXが離脱を行う場合、ノードXと経路を持つノードAとノードBの間に新経路17が作成される。
図41の例を、図42及び図43を用いて説明する。図42は、ネットワーク中のノードが自ら離脱処理を開始する場合のネットワークシステムにおける情報の流れを示す図である。図43は、ネットワーク中のノードが自ら離脱処理を開始する場合のシーケンスと各経路テーブルの遷移とを示す図である。
図42においては、図13に示したノード100の構成のうち、図43の説明に必要な構成のみが示されている。また、ノード200および300においても、図43の説明に必要な構成のみが示されている。また、ノード100〜300それぞれの各機能ブロックにおいて、符号の下2桁が同一の機能ブロックは、同一であることを意味している。更に、図43においては、ノード100はノードXと表記し、ノード200はノードAと表記し、ノード300はノードBと表記する。
図42のように、まず、ノードXは、経路テーブル操作部113を介して、経路テーブル格納部114にある経路テーブル情報から、ノードXの経路テーブル、ノードAの経路テーブル、ノードBの経路テーブルを取得する。そして、経路テーブル操作部113は、取得した接続先ノードの経路テーブルを更新する(ステップG1)。
次に、特定ノード向けイベントデータ作成部106は、イベントキーに経路決定イベントを格納し、イベントデータの送信先に合わせて、更新した経路テーブルを元に経路決定イベントデータを作成する。そして、特定ノード向けイベントデータ作成部106は、特定ノード向けイベントデータ送信部105から、送信先となるノードに向けて、経路決定イベントデータを送信する(ステップG2)。
次に、経路決定イベントデータの受信先であるノードAは、特定ノード向けイベントデータ受信部207によって、この経路決定イベントデータを受信する(ステップG3)。そして、ノードAにおいて、特定ノード向けイベントデータ解析部208は、特定ノード向けイベントデータ受信部207から受け取ったデータを解析し、データ内のイベントキーより、経路決定イベントであると判断する。
次いで、特定ノード向けイベントデータ解析部208は、経路決定イベントデータに基づいて、経路テーブル操作部213を介して、経路テーブル格納部214の経路テーブル情報を更新する(ステップG5)。
同様に、経路決定イベントデータの受信先であるノードBも、受信処理(ステップG4)および経路テーブル情報の更新処理(ステップG6)を実行する。
以上により、ノードXが離脱した後は、ノードAとノードBとの間に経路が確立される。なお、離脱するノードがタイプ3である場合も、上記と同様に、ノードが離脱した後に、経路が決定され、離脱したノードから接続先の各ノードに離脱後の経路テーブルが送信される。
[実施の形態による効果]
以上のように、本実施の形態では、各ノードの経路の本数は2本または3本に制限され、ノードのネットワークへの参加について定義がなされている。これにより、各ノードで管理する隣接ノードの経路情報のデータ量が固定化され、ノードの参加時およびノードの離脱時における新経路の作成は、論理的に自動化される。
また、本実施の形態では、ノード間の通信に用いられる送信データ内に、接続先のノードの経路テーブルが含められるため、ノード間において、接続先のノードの情報が常に交換され、各ノードは互いに経路の接続状況を確認し合う。このため、自律したノードの参加および離脱の制御が実現される。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、上述した各ステップを実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるノードを実現することができる。
この場合、コンピュータのCPU(Central Processing Unit)は、特定ノード向けイベントデータ送信部105と、特定ノード向けイベントデータ作成部106と、特定ノード向けイベントデータ受信部107と、特定ノード向けイベントデータ解析部108として機能する。また、CPUは、不特定ノード向けイベントデータ送信部109と、不特定ノード向けイベントデータ作成部110と、不特定ノード向けイベントデータ受信部111と、不特定ノード向けイベントデータ解析部112としても機能する。更に、CPUは、経路テーブル操作部113および障害処理部115としても機能する。また、コンピュータに備えられたハードディスク等の記憶装置は、経路テーブル格納部114として機能する。
ここで、本実施の形態におけるプログラムを実行することによって、ノードを実現するコンピュータについて図44を用いて説明する。図44は、本発明の実施の形態におけるノードを実現するコンピュータの一例を示すブロック図である。
図44に示すように、コンピュータ510は、CPU511と、メインメモリ512と、記憶装置513と、入力インターフェイス514と、表示コントローラ515と、データリーダ/ライタ516と、通信インターフェイス517とを備える。これらの各部は、バス521を介して、互いにデータ通信可能に接続される。
CPU511は、記憶装置513に格納された、本実施の形態におけるプログラム(コード)をメインメモリ512に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ512は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体520に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス517を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置513の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス514は、CPU511と、キーボード及びマウスといった入力機器518との間のデータ伝送を仲介する。表示コントローラ515は、ディスプレイ装置519と接続され、ディスプレイ装置519での表示を制御する。
データリーダ/ライタ516は、CPU511と記録媒体520との間のデータ伝送を仲介し、記録媒体520からのプログラムの読み出し、及びコンピュータ510における処理結果の記録媒体520への書き込みを実行する。通信インターフェイス517は、CPU511と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体520の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記20)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
複数のノードを備えたネットワークを有するシステムであって、
前記複数のノードそれぞれは、
当該ノードの接続先を特定し且つ接続先の数を制限する経路テーブル情報を格納する、経路テーブル格納部と、
前記経路テーブル情報の内容を書き換える、経路テーブル操作部と、を備え、
前記複数のノードそれぞれにおいて、前記経路テーブル操作部は、当該ノードが前記ネットワークに参加する場合、当該ノードに直接接続されるノードが前記ネットワークに参加した場合、及び当該ノードに直接接続されたノードが前記ネットワークから離脱した場合に、当該ノードにおける前記経路テーブル情報を更新し、前記ネットワークシステムにおける新たな経路を構築する、ことを特徴とするネットワークシステム。
(付記2)
前記複数のノードそれぞれにおいて、前記経路テーブル情報は、当該ノードに直接接続されているノードを特定する自ノード経路テーブルと、当該ノードに直接接続された他のノードそれぞれに接続されているノードを特定する他ノード経路テーブルとを含む、
付記1に記載のネットワークシステム。
(付記3)
前記複数のノードそれぞれが、更に、
前記ネットワークへの参加のために、前記経路テーブル情報に含まれる前記自ノード経路テーブルを含むノード参加イベントデータを作成する、不特定ノード向けイベントデータ作成部と、
前記ノード参加イベントデータを、当該ノード以外のノードへと送信する、不特定ノード向けイベントデータ送信部と、を更に備え、
前記経路テーブル操作部は、前記ノード参加イベントデータの送信後に、当該ノードにおいて、当該ノード以外のノードから、その自ノード経路テーブルを含む候補ノードイベントデータを受信した場合に、受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと当該ノード以外のノードとの間に新たな経路を構築する、
付記1または2に記載のネットワークシステム。
(付記4)
前記複数のノードそれぞれが、更に、
当該ノードにおいて、当該ノード以外のノードから、前記ノード参加イベントデータを受信した場合に、受信元のノードの参加を認めるかどうかを判断する、イベントデータ解析部と、
受信元のノードの参加が認められる場合に、自ノード経路テーブルを含む前記候補ノードイベントデータを作成する、特定ノード向けイベントデータ作成部と、
前記候補ノードイベントデータを、前記受信元のノードに送信する、特定ノード向けイベントデータ送信部と、を備え、
前記複数のノードそれぞれにおいて、前記経路テーブル操作部は、前記候補ノードイベントデータの送信後に、前記受信元のノードから受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと受信元のノードとの間に新たな経路を構築する、
付記3に記載のネットワークシステム。
(付記5)
前記複数のノードそれぞれが、更に、
当該ノードに接続されているノードが障害によって前記ネットワークから離脱する場合に、前記経路テーブル情報に基づいて新しい接続先を特定する、障害処理部を備え、
前記複数のノードそれぞれにおいて、前記経路テーブル操作部は、前記障害処理部によって新しい接続先が特定された場合に、特定された前記新しい接続先に基づいて、前記経路テーブル情報を更新する、
付記1〜4のいずれかに記載のネットワークシステム。
(付記6)
複数のノードを備えたネットワークを構築するノードであって、
当該ノードは、
自身の接続先を特定し且つ接続先の数を制限する経路テーブル情報を格納する、経路テーブル格納部と、
前記経路テーブル情報の内容を書き換える、経路テーブル操作部と、を備え、
前記経路テーブル操作部は、当該ノードが前記ネットワークに参加する場合、当該ノードに直接接続されるノードが前記ネットワークに参加した場合、及び当該ノードに直接接続されたノードが前記ネットワークから離脱した場合に、前記経路テーブル情報を更新し、前記ネットワークにおける新たな経路を構築する、ことを特徴とするノード。
(付記7)
前記経路テーブル情報は、当該ノードに直接接続されているノードを特定する自ノード経路テーブルと、当該ノードに直接接続された他のノードそれぞれに接続されているノードを特定する他ノード経路テーブルとを含む、
付記6に記載のノード
(付記8)
前記ネットワークへの参加のために、前記経路テーブル情報に含まれる前記自ノード経路テーブルを含むノード参加イベントデータを作成する、不特定ノード向けイベントデータ作成部と、
前記ノード参加イベントデータを、当該ノード以外のノードへと送信する、不特定ノード向けイベントデータ送信部と、を更に備え、
前記経路テーブル操作部は、前記ノード参加イベントデータの送信後に、当該ノードにおいて、当該ノード以外のノードから、その自ノード経路テーブルを含む候補ノードイベントデータを受信した場合に、受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと当該ノード以外のノードとの間に新たな経路を構築する、
付記6または7に記載のノード。
(付記9)
当該ノードにおいて、当該ノード以外のノードから、前記ノード参加イベントデータを受信した場合に、受信元のノードの参加を認めるかどうかを判断する、イベントデータ解析部と、
受信元のノードの参加が認められる場合に、自ノード経路テーブルを含む前記候補ノードイベントデータを作成する、特定ノード向けイベントデータ作成部と、
前記候補ノードイベントデータを、前記受信元のノードに送信する、特定ノード向けイベントデータ送信部と、を備え、
前記経路テーブル操作部は、前記候補ノードイベントデータの送信後に、前記受信元のノードから受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと受信元のノードとの間に新たな経路を構築する、
付記8に記載のノード。
(付記10)
当該ノードに接続されているノードが障害によって前記ネットワークから離脱する場合に、前記経路テーブル情報に基づいて新しい接続先を特定する、障害処理部を更に備え、
前記経路テーブル操作部は、前記障害処理部によって新しい接続先が特定された場合に、特定された前記新しい接続先に基づいて、前記経路テーブル情報を更新する、
付記6〜9のいずれかに記載のノード。
(付記11)
複数のノードを備えるネットワークシステムにおける、ネットワーク管理方法であって、
(a)前記複数のノードそれぞれにおいて、当該ノードが前記ネットワークに参加する場合、当該ノードに直接接続されるノードが前記ネットワークに参加した場合、及び当該ノードに直接接続されたノードが前記ネットワークから離脱した場合に、
当該ノードの接続先を特定し且つ接続先の数を制限する、経路テーブル情報を更新し、前記ネットワークシステムにおける新たな経路を構築する、ステップを有する、ことを特徴とするネットワーク管理方法。
(付記12)
前記複数のノードそれぞれにおいて、前記経路テーブル情報は、当該ノードに直接接続されているノードを特定する自ノード経路テーブルと、当該ノードに直接接続された他のノードそれぞれに接続されているノードを特定する他ノード経路テーブルとを含む、
付記11に記載のネットワーク管理方法。
(付記13)
(b)前記複数のノードそれぞれにおいて、前記ネットワークへの参加のために、前記経路テーブル情報に含まれる前記自ノード経路テーブルを含むノード参加イベントデータを作成し、前記ノード参加イベントデータを、当該ノード以外のノードへと送信する、ステップを更に有し、
前記(a)のステップにおいて、前記ノード参加イベントデータの送信後に、当該ノードにおいて、当該ノード以外のノードから、その自ノード経路テーブルを含む候補ノードイベントデータを受信した場合に、受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと当該ノード以外のノードとの間に新たな経路を構築する、
付記11または12に記載のネットワーク管理方法。
(付記14)
(c)前記複数のノードそれぞれにおいて、当該ノード以外のノードから、前記ノード参加イベントデータを受信した場合に、受信元のノードの参加を認めるかどうかを判断する、ステップと、
(d)前記複数のノードそれぞれにおいて、前記(c)のステップで、受信元のノードの参加が認められる場合に、自ノード経路テーブルを含む前記候補ノードイベントデータを作成する、ステップと、
(e)前記複数のノードそれぞれにおいて、前記(d)のステップで作成された前記候補ノードイベントデータを、前記受信元のノードに送信する、ステップと、を有し、
前記(a)のステップにおいて、前記候補ノードイベントデータの送信後に、前記受信元のノードから受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと受信元のノードとの間に新たな経路を構築する、
付記13に記載のネットワーク管理方法。
(付記15)
(f)前記複数のノードそれぞれにおいて、当該ノードに接続されているノードが障害によって前記ネットワークから離脱する場合に、前記経路テーブル情報に基づいて新しい接続先を特定する、ステップを更に有し、
前記(f)のステップによって新しい接続先が特定された場合に、前記(a)のステップにおいて、特定された前記新しい接続先に基づいて、前記経路テーブル情報を更新する、
付記11〜14のいずれかに記載のネットワーク管理方法。
(付記16)
コンピュータを、複数のノードを備えたネットワークを構築するノードとして機能させるためのプログラムであって、
前記コンピュータに、
(a)当該ノードが前記ネットワークに参加する場合、当該ノードに直接接続されるノードが前記ネットワークに参加した場合、及び当該ノードに直接接続されたノードが前記ネットワークから離脱した場合に、
当該ノードの接続先を特定し且つ接続先の数を制限する、経路テーブル情報を更新し、前記ネットワークシステムにおける新たな経路を構築する、ことを特徴とするプログラム。
(付記17)
前記経路テーブル情報は、当該ノードに直接接続されているノードを特定する自ノード経路テーブルと、当該ノードに直接接続された他のノードそれぞれに接続されているノードを特定する他ノード経路テーブルとを含む、
付記16に記載のプログラム。
(付記18)
(b)前記ネットワークへの参加のために、前記経路テーブル情報に含まれる前記自ノード経路テーブルを含むノード参加イベントデータを作成、前記ノード参加イベントデータを、当該ノード以外のノードへと送信する、ステップを更に、前記コンピュータに実行させ、
前記(a)のステップにおいて、前記ノード参加イベントデータの送信後に、当該ノードにおいて、当該ノード以外のノードから、その自ノード経路テーブルを含む候補ノードイベントデータを受信した場合に、受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと当該ノード以外のノードとの間に新たな経路を構築する、
付記16または17に記載のプログラム。
(付記19)
(c)当該ノードにおいて、当該ノード以外のノードから、前記ノード参加イベントデータを受信した場合に、受信元のノードの参加を認めるかどうかを判断する、ステップと、
(d)前記(c)のステップで、受信元のノードの参加が認められる場合に、自ノード経路テーブルを含む前記候補ノードイベントデータを作成する、ステップと、
(e)前記候補ノードイベントデータを、前記受信元のノードに送信する、ステップと、を更に前記コンピュータに実行させ、
前記(a)のステップにおいて、前記候補ノードイベントデータの送信後に、前記受信元のノードから受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと受信元のノードとの間に新たな経路を構築する、
付記18に記載のプログラム。
(付記20)
(f)当該ノードに接続されているノードが障害によって前記ネットワークから離脱する場合に、前記経路テーブル情報に基づいて新しい接続先を特定する、ステップを更に前記コンピュータに実行させ、
前記(f)のステップによって新しい接続先が特定された場合に、前記(a)のステップにおいて、特定された前記新しい接続先に基づいて、前記経路テーブル情報を更新する、
付記13〜15のいずれかに記載のプログラム。
以上のように、本発明によれば、ネットワークにおける処理負担の増加を抑制しつつ、ノードの参加及び離脱の両方において自律的に通信経路を新たに構築することができる。本発明は、多数のノードを備えるネットワークに有効である。
1 ノード
2 経路
3 経路
4 経路
5 経路
6 経路
7 経路
8 経路
10 経路テーブル情報
11 自ノード経路テーブル
12〜14 他ノード経路テーブル
15 経路
16 経路
17 経路
20 経路情報
21 経路情報
22 経路情報
23 経路情報
24 経路情報
25 経路情報
26、27 接続要求イベントデータの欄
28、29 経路情報における空欄
30 経路情報
31 経路情報
32 経路情報
33 空き領域
34、35経路情報の欄
36 経路情報
37 経路情報
38 欄
39 欄
40 欄
41 欄
50 経路情報
51 経路情報
52 欄
53 欄
54 経路情報
55 経路情報
56 経路情報
59 欄
60 経路情報
61 経路情報
62 経路情報
63 欄
100 ノード
101 定期データ送信部
102 定期データ作成部
103 定期データ受信部
104 定期データ解析部
105 特定ノード向けイベントデータ送信部
106 特定ノード向けイベントデータ作成部
107 特定ノード向けイベントデータ受信部
108 特定ノード向けイベントデータ解析部
109 不特定ノード向けイベントデータ送信部
110 不特定ノード向けイベントデータ作成部
111 不特定ノード向けイベントデータ受信部
112 不特定ノード向けイベントデータ解析部
113 経路テーブル操作部
114 経路テーブル格納部
115 障害処理部
213 経路テーブル操作部
214 経路テーブル格納部
200 ノード
300 ノード
313 経路テーブル操作部
314 経路テーブル格納部
400 ノード
413 経路テーブル格納部
414 経路テーブル操作部
500 ネットワークシステム
510 コンピュータ
511 CPU
512 メインメモリ
513 記憶装置
514 入力インターフェイス
515 表示コントローラ
516 データリーダ/ライタ
517 通信インターフェイス
518 入力機器
519 ディスプレイ装置
520 記録媒体
521 バス

Claims (6)

  1. 複数のノードを備えたネットワークを有するシステムであって、
    前記複数のノードそれぞれは、
    当該ノードの接続先を特定し且つ接続先の数を制限し、更に、当該ノードに直接接続されているノードを特定する自ノード経路テーブルと、当該ノードに直接接続された他のノードそれぞれに接続されているノードを特定する他ノード経路テーブルとを含む、経路テーブル情報を格納する、経路テーブル格納部と、
    前記経路テーブル情報の内容を書き換える、経路テーブル操作部と、
    前記ネットワークへの参加のために、前記経路テーブル情報に含まれる前記自ノード経路テーブルを含むノード参加イベントデータを作成する、不特定ノード向けイベントデータ作成部と、
    前記ノード参加イベントデータを、当該ノード以外のノードへと送信する、不特定ノード向けイベントデータ送信部と、
    当該ノードにおいて、当該ノード以外のノードから、前記ノード参加イベントデータを受信した場合に、受信元のノードの参加を認めるかどうかを判断する、イベントデータ解析部と、
    受信元のノードの参加が認められる場合に、自ノード経路テーブルを含む候補ノードイベントデータを作成する、特定ノード向けイベントデータ作成部と、
    前記候補ノードイベントデータを、前記受信元のノードに送信する、特定ノード向けイベントデータ送信部と、を備え、
    前記複数のノードそれぞれにおいて、前記経路テーブル操作部は、
    前記ノード参加イベントデータの送信後に、当該ノードにおいて、当該ノード以外のノードから、その自ノード経路テーブルを含む候補ノードイベントデータを受信した場合に、受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと当該ノード以外のノードとの間に新たな経路を構築する、ことを特徴とするネットワークシステム。
  2. 前記複数のノードそれぞれにおいて、前記経路テーブル操作部は、前記候補ノードイベントデータの送信後に、前記受信元のノードから受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと受信元のノードとの間に新たな経路を構築する、
    請求項1に記載のネットワークシステム。
  3. 前記複数のノードそれぞれが、更に、
    当該ノードに接続されているノードが障害によって前記ネットワークから離脱する場合に、前記経路テーブル情報に基づいて新しい接続先を特定する、障害処理部を備え、
    前記複数のノードそれぞれにおいて、前記経路テーブル操作部は、前記障害処理部によって新しい接続先が特定された場合に、特定された前記新しい接続先に基づいて、前記経路テーブル情報を更新する、
    請求項1または2に記載のネットワークシステム。
  4. 複数のノードを備えたネットワークを構築するノードであって、
    当該ノードは、
    自身の接続先を特定し且つ接続先の数を制限し、更に、当該ノードに直接接続されているノードを特定する自ノード経路テーブルと、当該ノードに直接接続された他のノードそれぞれに接続されているノードを特定する他ノード経路テーブルとを含む、経路テーブル情報を格納する、経路テーブル格納部と、
    前記経路テーブル情報の内容を書き換える、経路テーブル操作部と、
    前記ネットワークへの参加のために、前記経路テーブル情報に含まれる前記自ノード経路テーブルを含むノード参加イベントデータを作成する、不特定ノード向けイベントデータ作成部と、
    前記ノード参加イベントデータを、当該ノード以外のノードへと送信する、不特定ノード向けイベントデータ送信部と、
    当該ノードにおいて、当該ノード以外のノードから、前記ノード参加イベントデータを受信した場合に、受信元のノードの参加を認めるかどうかを判断する、イベントデータ解析部と、
    受信元のノードの参加が認められる場合に、自ノード経路テーブルを含む候補ノードイベントデータを作成する、特定ノード向けイベントデータ作成部と、
    前記候補ノードイベントデータを、前記受信元のノードに送信する、特定ノード向けイベントデータ送信部と、を備え、
    前記経路テーブル操作部は、前記ノード参加イベントデータの送信後に、当該ノードにおいて、当該ノード以外のノードから、その自ノード経路テーブルを含む候補ノードイベントデータを受信した場合に、受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと当該ノード以外のノードとの間に新たな経路を構築する、ことを特徴とするノード。
  5. 複数のノードを備えたネットワークにおけるネットワーク管理方法であって
    前記複数のノードそれぞれは、
    自身の接続先を特定し且つ接続先の数を制限し、更に、当該ノードに直接接続されているノードを特定する自ノード経路テーブルと、当該ノードに直接接続された他のノードそれぞれに接続されているノードを特定する他ノード経路テーブルとを含む、経路テーブル情報を格納し、
    前記経路テーブル情報の内容を書き換え、
    前記ネットワークへの参加のために、前記経路テーブル情報に含まれる前記自ノード経路テーブルを含むノード参加イベントデータを作成し、
    前記ノード参加イベントデータを、当該ノード以外のノードへと送信し、
    当該ノードにおいて、当該ノード以外のノードから、前記ノード参加イベントデータを受信した場合に、受信元のノードの参加を認めるかどうかを判断し、
    受信元のノードの参加が認められる場合に、自ノード経路テーブルを含む候補ノードイベントデータを作成し、
    前記候補ノードイベントデータを、前記受信元のノードに送信する場合において
    (a)前記複数のノードそれぞれにおいて、前記ノード参加イベントデータの送信後に、当該ノード以外のノードから、その自ノード経路テーブルを含む候補ノードイベントデータを受信した場合に、受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと当該ノード以外のノードとの間に新たな経路を構築する、ステップを有する、ことを特徴とするネットワーク管理方法。
  6. 複数のノードを備えたネットワークを構築するノードとして、コンピュータを機能させるためのプログラムであって、
    前記複数のノードそれぞれは、
    自身の接続先を特定し且つ接続先の数を制限し、更に、当該ノードに直接接続されているノードを特定する自ノード経路テーブルと、当該ノードに直接接続された他のノードそれぞれに接続されているノードを特定する他ノード経路テーブルとを含む、経路テーブル情報を格納し、
    前記経路テーブル情報の内容を書き換え、
    前記ネットワークへの参加のために、前記経路テーブル情報に含まれる前記自ノード経路テーブルを含むノード参加イベントデータを作成し、
    前記ノード参加イベントデータを、当該ノード以外のノードへと送信し、
    当該ノードにおいて、当該ノード以外のノードから、前記ノード参加イベントデータを受信した場合に、受信元のノードの参加を認めるかどうかを判断し、
    受信元のノードの参加が認められる場合に、自ノード経路テーブルを含む候補ノードイベントデータを作成し、
    前記候補ノードイベントデータを、前記受信元のノードに送信する場合において
    前記コンピュータに、
    (a)前記ノード参加イベントデータの送信後に、当該ノードにおいて、当該ノード以外のノードから、その自ノード経路テーブルを含む候補ノードイベントデータを受信した場合に、受信した自ノード経路テーブルに基づいて、当該ノードにおける前記経路テーブル情報を更新し、当該ノードと当該ノード以外のノードとの間に新たな経路を構築する、ステップを実行させるプログラム。
JP2013043742A 2013-03-06 2013-03-06 ネットワークシステム、ノード、ネットワーク管理方法、及びプログラム Active JP5885257B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2013043742A JP5885257B2 (ja) 2013-03-06 2013-03-06 ネットワークシステム、ノード、ネットワーク管理方法、及びプログラム
US14/772,584 US9860125B2 (en) 2013-03-06 2014-02-10 Network system, node, network management method, and computer-readable recording medium
CN201480012755.1A CN105027514B (zh) 2013-03-06 2014-02-10 网络系统、节点、网络管理方法和计算机可读记录介质
PCT/JP2014/053022 WO2014136531A1 (ja) 2013-03-06 2014-02-10 ネットワークシステム、ノード、ネットワーク管理方法、及びコンピュータ読み取り可能な記録媒体
HK16102174.6A HK1214435A1 (zh) 2013-03-06 2016-02-25 網絡系統、節點、網絡管理方法和計算機可讀記錄介質

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013043742A JP5885257B2 (ja) 2013-03-06 2013-03-06 ネットワークシステム、ノード、ネットワーク管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014175685A JP2014175685A (ja) 2014-09-22
JP5885257B2 true JP5885257B2 (ja) 2016-03-15

Family

ID=51491056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013043742A Active JP5885257B2 (ja) 2013-03-06 2013-03-06 ネットワークシステム、ノード、ネットワーク管理方法、及びプログラム

Country Status (5)

Country Link
US (1) US9860125B2 (ja)
JP (1) JP5885257B2 (ja)
CN (1) CN105027514B (ja)
HK (1) HK1214435A1 (ja)
WO (1) WO2014136531A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437013B (zh) * 2020-11-12 2022-02-22 北京字跳网络技术有限公司 网络图中的路径获取方法及路由组网的维护方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3844215B2 (ja) 2002-03-28 2006-11-08 株式会社エヌ・ティ・ティ・ドコモ ネットワーク構成管理システム、ノード装置、ネットワーク構成管理方法、ノード装置制御方法、ノード装置制御プログラム
JP4824914B2 (ja) 2004-04-26 2011-11-30 株式会社エヌ・ティ・ティ・ドコモ ネットワークリカバリーシステム及びネットワークリカバリー方法並びにノード
US20070237097A1 (en) * 2006-03-29 2007-10-11 Maharana Rohit K Method and apparatus for generating a degree-constrained minimum spanning tree
JP4737035B2 (ja) * 2006-10-30 2011-07-27 日本電気株式会社 QoSルーティング方法およびQoSルーティング装置
CN100583831C (zh) 2007-03-29 2010-01-20 华为技术有限公司 路径计算单元组网及信息获取方法及通讯系统及相关设备
JP4893533B2 (ja) 2007-08-24 2012-03-07 コニカミノルタホールディングス株式会社 ネットワーク接続管理方法、および情報処理装置
CN101552936A (zh) 2009-05-05 2009-10-07 杭州华三通信技术有限公司 光纤最短路由优先协议的路由确定方法和装置

Also Published As

Publication number Publication date
US20160013981A1 (en) 2016-01-14
CN105027514B (zh) 2018-01-30
CN105027514A (zh) 2015-11-04
US9860125B2 (en) 2018-01-02
JP2014175685A (ja) 2014-09-22
WO2014136531A1 (ja) 2014-09-12
HK1214435A1 (zh) 2016-07-22

Similar Documents

Publication Publication Date Title
JP5033856B2 (ja) ネットワーク構成の想定のための装置、システム
US20170264529A1 (en) Multithreaded system and method for establishing network connections
US20160352578A1 (en) System and method for adaptive paths locator for virtual network function links
US20160087875A1 (en) Parallel top-k simple shortest paths discovery
US10404576B2 (en) Constrained shortest path determination in a network
EP3754908B1 (en) Migrating services in data communication networks
JP6204168B2 (ja) 転送装置、サーバ、および経路変更方法
WO2017215378A1 (zh) 软件定义网络、节点、路径计算方法、装置及存储介质
JP2016012896A (ja) 通信装置及びマルチホッピングネットワーク
CN1666474B (zh) 管理节点设备、节点设备、网络配置管理系统、网络配置管理方法、节点设备控制方法、和管理节点设备控制方法
CN104468831A (zh) 一种基于网络拓扑结构的消息服务网络集群
CN102932250A (zh) 一种基于容错计算机网络结构的无死锁自适应路由方法
JP5885257B2 (ja) ネットワークシステム、ノード、ネットワーク管理方法、及びプログラム
CN101552936A (zh) 光纤最短路由优先协议的路由确定方法和装置
JP2009223371A (ja) コンピュータリンク方法及びシステム
US20200210231A1 (en) High availability cluster management of computing nodes
WO2016068238A1 (ja) ネットワークの制御システム、制御装置、ネットワーク情報の管理方法及びプログラム
JP6697158B2 (ja) 情報管理プログラム、情報管理方法、及び情報管理装置
Jiang et al. A new fault information model for fault-tolerant adaptive and minimal routing in 3-D meshes
JP7121821B1 (ja) 通信システム、通信装置、プログラム、及び処理方法
JP2016071725A (ja) ワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置
JP5419740B2 (ja) パス収容設計方法
CN113254159B (zh) 有状态服务的迁移方法、装置、计算机设备及存储介质
JP5887462B2 (ja) 情報処理システム、および情報処理システムの運用管理方法
CN112134743B (zh) 一种参数配置方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140707

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20150123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160204

R150 Certificate of patent or registration of utility model

Ref document number: 5885257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150