JP2006319910A - 通信方法、ネットワーク、および情報処理装置 - Google Patents

通信方法、ネットワーク、および情報処理装置 Download PDF

Info

Publication number
JP2006319910A
JP2006319910A JP2005143061A JP2005143061A JP2006319910A JP 2006319910 A JP2006319910 A JP 2006319910A JP 2005143061 A JP2005143061 A JP 2005143061A JP 2005143061 A JP2005143061 A JP 2005143061A JP 2006319910 A JP2006319910 A JP 2006319910A
Authority
JP
Japan
Prior art keywords
command
terminal device
information
identification information
received
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.)
Granted
Application number
JP2005143061A
Other languages
English (en)
Other versions
JP4404007B2 (ja
Inventor
Satoshi Izushi
聡史 出石
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2005143061A priority Critical patent/JP4404007B2/ja
Priority to US11/429,135 priority patent/US20060256791A1/en
Publication of JP2006319910A publication Critical patent/JP2006319910A/ja
Application granted granted Critical
Publication of JP4404007B2 publication Critical patent/JP4404007B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】ネットワークを構成する各ノードの情報を取得する際に生じる特定の装置に掛かる負担を軽減する。
【解決手段】ネットワーク内のすべての端末装置2が互いに直接的にまたは間接的に関係するように、各端末装置2を1つ以上の他の端末装置2と直接的に関連付けておく。これらの端末装置2のうちの1台が他のすべての端末装置2に対して所定の処理を実行するように指令する際に、指令元の端末装置2は、所定の処理を実行すべき旨の指令データを、この指令データの識別情報と共に、自らに直接的に関連付けられている他の端末装置2に宛てて送信し、指令データを受信した端末装置2は、指令データと共に受信した識別情報と同じ内容を示す識別情報を以前に受信したことがない場合は、その指令データに従って所定の処理を実行し、かつその端末装置2自身に直接的に関連付けられている他の端末装置2に宛てて、受信した指令データ及び識別情報を転送する。
【選択図】図10

Description

本発明は、ネットワークの構成およびデータ通信の方法などに関する。
パーソナルコンピュータなどの情報処理装置(ノード)を複数台、通信回線で繋いでネットワークを形成し、これらの情報処理装置同士でデータのやり取りを行う技術が、広く普及している。P2P(Peer to Peer)型のネットワークは、クライアントサーバ型のネットワークよりも簡単に構築することができるので、特に小規模のオフィスなどにおいて広く採用されている。
しかし、P2P型のネットワークは、ネットワーク内の情報処理装置の台数が増えるほど、構成などに関する情報の管理が煩雑になってしまう。管理用の装置(例えば、DHCP(Dynamic Host Configuration Protocol)サーバなど)が存在しない、ピュアなP2P型のネットワークの場合は、特に煩雑になりやすい。
そこで、必要なノードの情報を入手するために、「フラッディング(Flooding)」と呼ばれる方法が一般的によく用いられる。係る方法によると、ネットワークのすべてのノードに対してデータを洪水のように流す。そして、各ノードは、自分にとって必要なデータであればデータを取得し、不要であればデータを破棄する。
または、すべてのノードの属性(IPアドレスまたはホスト名など)を調べるために、所定のコマンド(命令)を含むデータを、ブロードキャストアドレスを宛先として送信(フラッディング)する方法も、よく用いられている。コマンドのデータを受信したノードは、そのコマンドに従って自分の属性情報を命令元のノードに返信する。
そのほか、特許文献1、2に記載されるような、複数のノード間におけるデータ通信の方法が提案されている。特許文献1に記載される方法によると、ネットワーク上にデータが伝搬された場合は、少なくともデータの転送元、自ノード、およびデータの転送先の3世代にわたって伝搬履歴情報を共有し、各々のノードに格納する。これにより、伝搬履歴情報を用いてデータの伝搬経路を追跡することができる。
特許文献2に記載される方法によると、端末装置nは、端末装置nの駆動開始時および端末装置n−1から情報要求送信命令とアドレス情報とを受信したときにサーバ5へ情報要求を送信する。サーバ5は、端末装置nから情報要求受信したときに、この端末装置nを記憶管理するとともに、端末装置nに対して、一斉同報情報と端末装置n+1のアドレス情報とを送信する。端末装置nは、サーバ5から一斉同報情報と端末装置n+1のアドレス情報とを受信したときに、端末装置n+1に情報要求送信命令と自端末装置のアドレス情報とを送信した後に、情報要求送信命令を受けた端末装置n−1に対してサーバ5から受信した一斉同報情報を送信する。
特開2004−164625号公報 特開2004−266622号公報
上に述べたように、P2Pは、インターネットでのコンテンツ交換や小規模なオフィスの簡易的なネットワークの構成のために用いられている。よって、すべてのノードの情報を収集するというシーンはあまり存在しない。しかし、今後、企業や役所などのオフィスでネットワークを導入する際には、セキュリティなどの観点から、すべてのノードをしっかりと管理することが強く求められる。
ところが、従来のフラッディングの方法によると、ある事項(例えば、IPアドレスなど)に関する問合せをすべてのノードに対して行うと、一斉にトラフィックが発生するので、ネットワーク全体において通信の遅延が発生しやすい。また、問合せ元の装置の負担が大きい。特に、ネットワークが大規模になるほど、通信の遅延が大きくなる。また、問合せ元の装置またはハブなどの特定の装置の負担が大きくなる。
特許文献1に記載される方法では、上記の問題点を解決することはできない。特許文献2に記載される方法では、映像コンテンツなどのデータを複数の端末装置に一斉配信する場合には、サーバの負担を軽減することができる。しかし、IPアドレスなどに関する問合せを行う場合のトラフィックおよび問合せ元の負担を軽減することはできない。
本発明は、このような問題点に鑑み、ネットワークを構成する各ノードの情報を取得する際に生じる特定の装置に掛かる負担を従来よりも軽減することを目的とする。さらに、ネットワークを構成する各ノードの情報を取得する際に生じるトラフィックを従来よりも軽減することを目的とする。
本発明に係る通信方法は、複数のノードによって構成されるネットワークにおける通信方法であって、当該ネットワークを構成するすべてのノードが互いに直接的にまたは間接的に関係するように、各ノードを少なくとも1つの他のノードと直接的に関連付けておき、当該ネットワークを構成するノードのうちの指令元ノードが他のすべてのノードに対して所定の処理を実行させる際に、前記指令元ノードは、前記所定の処理を実行すべき旨の指令を、当該指令に対して発行したユニークな識別情報とともに、自らに直接的に関連付けられている他のノードに宛てて送信し、前記指令を受信したノードは、当該指令とともに受信した前記識別情報と同じ内容を示す識別情報を以前に受信したことがない場合は、当該指令に従って前記所定の処理を実行し、かつ、当該ノードに直接的に関連付けられている他のノードに宛てて、受信した当該指令および当該識別情報を送信する、ことを特徴とする。
本発明によると、ネットワークを構成する各ノードの情報を取得する際に特定の装置に掛かる負担を従来よりも軽減することができる。請求項4、5、8、9の発明によると、さらに、ネットワークを構成する各ノードの情報を取得する際に生じるトラフィックを従来よりも軽減することができる。
図1はネットワーク1の全体的な構成の例を示す図、図2は端末装置2のハードウェア構成の例を示す図、図3は端末装置2の機能的構成の例を示す図、図4は端末装置2の論理的なトポロジーの例を示す図である。
本発明に係るネットワーク1は、図1に示すように、複数台の端末装置2(21、22、…、2n)、スイッチングハブ3、およびルータ4などのノードによって構成されるLAN(Local Area Network)である。これらの端末装置2は、スイッチングハブ3にツイストペアケーブルによってスター型に繋がれている。スイッチングハブ3およびルータ4も、ツイストペアケーブルによって繋がれている。以下、これらのノードのうちの端末装置2同士がデータ通信を行う場合について説明する。
端末装置2は、パーソナルコンピュータ、ワークステーション、またはプリンタなどのような、他の装置との間でデータの入出力の処理を実行する装置である。以下、端末装置2としてパーソナルコンピュータが用いられる場合を例に説明する。
端末装置2は、図2に示すように、CPU20a、RAM20b、ROM20c、ハードディスク20d、通信インタフェース20e、画像インタフェース20f、入力インタフェース20g、その他の種々の回路または装置などによって構成される。
通信インタフェース20eは、NIC(Network Interface Card)であって、ツイストペアケーブルを介してスイッチングハブ3のいずれかのポートに繋がれている。画像インタフェース20fは、モニタと繋がれており、画面を表示するための映像信号をモニタに送出する。入力インタフェース20gは、キーボードまたはマウスなどの入力装置と繋がれており、これらの入力装置からユーザの操作内容を示す信号を入力する。
ハードディスク20dには、図3に示すようなコマンド受付部201、データ受信部202、データ解析部203、データ生成部204、データ更新部205、データ送信部206、データ操作部207、画面出力部208、データ保存部211、および接続テーブル保存部212などの機能を実現するためのプログラムおよびデータが格納されている。これらのプログラムおよびデータは必要に応じてRAM20bに読み出され、CPU20aによってプログラムが実行される。
各端末装置2には、それぞれ、他の端末装置と識別するために、ホスト名(マシン名)、IPアドレス、およびMACアドレスが与えられている。IPアドレスは、ネットワーク1の規則に従って与えられる。MACアドレスは、通信インタフェース20eのメーカによって予め設定されている。ホスト名は、ネットワーク1の管理者などが自由に付けることができる。本実施形態では、端末装置2ごとに「PC01」、「PC02」、…のようなホスト名が付されているものとする。
また、これらの端末装置2は、例えば図4(a)および図4(b)のいずれかに示すように、仮想空間に配置されているものと仮定されている。そして、点線で示すように、仮想空間内の近隣の少なくとも1台の他の端末装置2と関連付けられている。かつ、これらの関連付けによって、すべての端末装置2が互いに直接的にまたは間接的に関係するようになっている。なお、「直接的に関係する」とは、図4において1本の点線で繋がれていること(例えば、図4(a)のPC02とPC03とのような関係)を言い、「間接的に関係する」とは、2本以上の点線および1つ以上のノードで繋がれていること(例えば、図4(a)のPC01とPC03とのような関係)を言う。端末装置2は、自らに直接的に関連付けられている他の端末装置2に対してデータを送信する。以下、「関連付けられている」とは、特に断りのない限り、直接的に関連付けられていることを言う。
図5は図4(a)のように関連付けられたPC01〜PC04の各端末装置2の接続テーブルTLの例を示す図、図6は図4(b)のように関連付けられたPC11〜PC18の各端末装置2の接続テーブルTLの例を示す図である。
以下、図3に示す端末装置2の各部の処理内容について詳細に説明する。
データ保存部211は、OSまたはアプリケーションソフトなどが使用するデータ、ユーザがアプリケーションソフトによって作成したデータ、その他種々のデータを、ファイルとして保存している。そのほか、これまでに受信した指令データDT1の識別情報を記憶する。指令データDT1については、後に説明する。
接続テーブル保存部212は、その端末装置2に関連付けられている他の端末装置2のホスト名、IPアドレス、MACアドレスなどの属性の一覧を示す接続テーブルTLを保存している。例えば、図4(a)におけるPC01〜PC04の接続テーブル保存部212には、それぞれ、図5(a)〜(d)に示すような接続テーブルTL01〜TL04が保存されている。また、図4(b)におけるPC11〜PC18の接続テーブル保存部212には、それぞれ、図6(a)〜(h)に示すような接続テーブルTL11〜TL18が保存されている。これらの接続テーブルTLの内容は、各端末装置2の関連付けに基づいて管理者によって予め作成される、
コマンド受付部201は、ユーザがキーボードまたはマウスなどを操作して指定したコマンドを受け付け、そのコマンドに応じた処理を各部に実行させる。
データ受信部202は、ネットワーク1を流れるパケットのうち、その端末装置2に必要なものを受信する。
データ解析部203は、受信したパケットの中から必要なデータの部分を抽出してデータの内容を解析する。そして、その解析結果に応じた処理を実行するように各部に指令を与える。例えば、データをデータ保存部211に保存すべき旨の指令をデータ操作部207に与えたり、端末装置2自身の属性(IPアドレスなど)を回答するデータを生成して問合せ元に送信すべき旨の指令をデータ生成部204、データ更新部205、およびデータ送信部206に与えたりする。
データ生成部204は、コマンド受付部201またはデータ解析部203からの指令に基づいてデータを生成する。データ更新部205は、コマンド受付部201またはデータ解析部203からの指令に基づいて既存のデータを更新する。データ送信部206は、データ生成部204によって生成されまたはデータ更新部205によって更新されたデータをパケット化して、コマンド受付部201またはデータ解析部203からの指令に基づいて他の端末装置2に送信する。
データ操作部207は、コマンド受付部201またはデータ解析部203からの指令に基づいて、その端末装置2のデータ保存部211に保存されているファイルに関する処理を行う。
画面出力部208は、その端末装置2を操作するユーザに対してメッセージまたは指示を与えるための画面、ユーザが処理の指令を入力するための画面、および処理の結果を示す画面などをモニタに表示するための処理を行う。
図7は指令元端末装置2Mの処理の流れの例を説明するフローチャート、図8は指令データDT1のフォーマットの例を示す図、図9は指令元端末装置2M以外の端末装置2の処理の流れの例を説明するフローチャートである。
次に、ある端末装置2のユーザが、IPアドレスを回答すべき旨のコマンドを指定しかつそのコマンドの実行主体を示すパラメータとしてブロードキャストアドレスを指定した場合を例に、各端末装置2の各部の処理内容を、フローチャートなどを参照してさらに詳細に説明する。以下、ユーザからコマンドを指定され、このコマンドの処理を実行するように指令する端末装置2を、他の端末装置2と区別するために、「指令元端末装置2M」と記載することがある。
指令元端末装置2Mにおいて、コマンド受付部201がユーザが指定したコマンドおよびパラメータの内容を受け付けると(図7の#11)、データ生成部204は、次のようにして指令データDT1を生成する。
まず、図8に示すようなフォーマットの空データを用意する。その指令元端末装置2M自身の接続テーブル保存部212に保存されている接続テーブルTLに示される他の端末装置2をチェックする(#12)。
そして、チェックした当該他の端末装置2のMACアドレスまたはホスト名を宛先アドレス部FL1に書き込む。指令元端末装置2M自身のMACアドレスまたはホスト名を送信元アドレス部FL0および指令元アドレス部FL3の両方に書き込む。今回の指令データDT1を、以前に生成した指令データDT1と識別するための識別情報(例えば、ユーザの指定を受け付けた日付時刻と指令元端末装置2Mの識別情報とを組み合わせた値など)を発行し、これを識別データ部FL2に書き込む。ユーザによって指定されたコマンドをコマンドデータ部FL4に書き込む。指令元端末装置2M自身のIPアドレスおよびMACアドレスまたはホスト名を回答データ部FL5に書き込む。このようにして、指令データDT1が生成される(#13)。
データ送信部206は、生成された指令データDT1を、その宛先アドレス部FL1に示されるアドレスに宛ててパケット化して送信する(#14)。
指令元端末装置2Mから送信された指令データDT1のパケットは、一旦、スイッチングハブ3に到達する。スイッチングハブ3は、到達したこれらのパケットを、宛先アドレス部FL1に示される宛先に対応するポートに繋がれている端末装置2に送信する。このように、スイッチングハブ3は、指令データDT1などのデータを宛先の端末装置2のみに中継する役割を果たす。後に説明する2つの端末装置2の間でなされるデータの送受信も同様に、スイッチングハブ3を介して行われる。
指令元端末装置2M以外の端末装置2では、図9に示すような手順で処理が行われる。図3のデータ受信部202が指令データDT1を受信すると(図9の#21)、データ保存部211は、その指令データDT1の識別データ部FL2に示される識別情報を記憶し(#22)、データ解析部203は、その指令データDT1のコマンドデータ部FL4に示されるコマンドに対応した処理を実行するように、データ更新部205およびデータ送信部206に対して指令する。
後に図11で説明するように、同じ識別情報を有する指令データDT1(つまり、同じ指令元端末装置2Mから同じ時に発せられた同じコマンド)が端末装置2に複数個届く場合がある。データ更新部205は、このような指令データDT1の2つ目以降については(#23でYes)、ステップ#24、#25の処理を省略し、宛先アドレス部FL1の値を、指令元アドレス部FL3に示される値つまり指令元端末装置2Mを示す値に書き換える(#29)。そして、データ送信部206は、その指令データDT1を、書き換えられた宛先に向けて送信する(#30)。
受信した指令データDT1の識別情報が以前に受信したいずれの指令データDT1の識別情報とも重複しない場合は(#23でNo)、データ更新部205は、受信した指令データDT1の回答データ部FL5に自らのIPアドレスとMACアドレスまたはホスト名とを書き加える(#24)。
さらに、自らの接続テーブルTLに、その指令データDT1を送信してきた端末装置2(つまり、その指令データDT1の送信元アドレス部FL0に示される端末装置2)以外の端末装置2が示されているか否かをチェックする(#25)。その結果、端末装置2が見つかった場合は(#26でYes)、見つかった端末装置2に指令データDT1を転送するために、次のような処理を行う。
すなわち、見つかった端末装置2が1台だけの場合は、その指令データDT1の宛先アドレス部FL1の値を、その見つかった端末装置2のMACアドレスまたはホスト名に書き換える。複数台見つかった場合は、その指令データDT1をその台数分になるように複製し、それぞれの宛先アドレス部FL1の値を、見つかった各端末装置2のMACアドレスまたはホスト名に書き換える(#27)。そして、データ送信部206は、これらの指令データDT1を、書き換えられた宛先に向けて送信する(#28)。
一方、ステップ#25において端末装置2が見つからなかった場合は(#26でNo)、データ更新部205は、ステップ#21で受信した指令データDT1の宛先アドレス部FL1の値を、指令元アドレス部FL3に示される値つまり指令元端末装置2Mを示す値に書き換える(#29)。そして、データ送信部206は、その指令データDT1を、書き換えられた宛先に向けて送信する(#30)。
図7に戻って、指令元端末装置2Mにおいて、他の端末装置2から指令データDT1が戻って来ると(#15)、データ解析部203は、その指令データDT1の回答データ部FL5に示される各端末装置2のIPアドレスおよびホスト名などを抽出し(#16)、画面出力部208は、これをモニタに表示する(#17)。後に説明するように、複数の指令データDT1が戻って来ることがある。そこで、ステップ#14の処理後、所定の時間、指令データDT1が戻って来るのを待ち、これらに示されるIPアドレスなどを纏めて表示するようにしてもよい。
なお、指令データDT1が戻って来たものであるか否かは、ステップ#15で他の端末装置2から受信した指令データDT1の識別データ部FL2に示される識別情報とステップ#14で指令元端末装置2M自身が送信した指令データDT1の識別情報とを比較すれば分かる。つまり、両者が一致すれば、指令データDT1が戻って来たものであると判別できる。
図10は図4(a)のような論理的なトポロジーにおける指令データDT1の遷移の例を説明するための図である。
ここで、図4(a)に示すような論理的なトポロジーでネットワーク1に4台の端末装置2(PC01〜PC04)が設けられており、PC01が指令元端末装置2Mである場合を例に、これらの端末装置2の処理の手順および指令データDT1の遷移を、図10を参照しながら説明する。
図10において、PC01は、ユーザによってコマンドおよびパラメータ(ブロードキャストアドレス)が入力されると、それに基づいて指令データDT1を作成し、PC01自身の接続テーブルTL01(図5(a)参照)に示される、PC01自身に関連付けられている端末装置2すなわちPC02に宛てて、その指令データDT1を送信する。これらの処理は、図7のステップ#11〜#14の処理に相当する。
PC02は、指令データDT1を受信すると、コマンドデータ部FL4のコマンドに従って処理を実行することによって、その指令データDT1の内容を指令データDT1bのように更新する。すなわち、回答データ部FL5にPC02自身のIPアドレスなどを書き込む。PC02自身の接続テーブルTL02(図5(b)参照)に示される、PC02自身に関連付けられている端末装置2をチェックする。ただし、指令データDT1をPC02に送信した端末装置2すなわち送信元アドレス部FL0に示される端末装置2はチェック対象から除外する。その結果、本例ではPC03が見つかる。送信元アドレス部FL0をPC02自身のMACアドレスに書き換え、宛先アドレス部FL1を、見つかった端末装置2すなわちPC03のMACアドレスに書き換える。そして、指令データDT1bを宛先のアドレスすなわちPC03に送信する。これらの処理は、図9のステップ#21〜#28の処理に相当する。
PC03は、指令データDT1bを受信すると、PC02の場合と同様に、コマンドに従って処理を実行することによって、回答データ部FL5にPC03自身のIPアドレスなどを書き加え、送信元アドレス部FL0の値をPC03自身のMACアドレスに書き換え、接続テーブルTL03(図5(c)参照)に基づいて宛先アドレス部FL1をPC04のMACアドレスに書き換える。このようにして、指令データDT1bが指令データDT1cのように更新される。そして、指令データDT1cをPC04に送信する。これらの処理は、図9のステップ#21〜#28の処理に相当する。
PC04は、指令データDT1cを受信すると、コマンドに従って処理を実行することによって、回答データ部FL5にPC03自身のIPアドレスなどを書き加える。PC04の接続テーブルTL04(図5(d)参照)には、指令データDT1cの送信元であるPC03以外に端末装置2が示されていない。このような場合は、図9で説明したように、指令元端末装置2Mに指令データDT1を戻さなければならない(図9の#26でNo)。そこで、PC04は、宛先アドレス部FL1の値を指令元アドレス部FL3に示されるMACアドレスすなわち指令元端末装置2MであるPC01のMACアドレスに書き換える(図9の#29)。このようにして、指令データDT1cが指令データDT1dのように更新される。そして、指令データDT1dをPC01に送信する。
PC01は、戻ってきた指令データDT1(DT1d)の回答データ部FL5からネットワーク1内の各端末装置2のIPアドレスおよびホスト名を抽出し、これをモニタに表示する。これらの処理は、図7の#15〜#17の処理に相当する。
図11は図4(b)のような論理的なトポロジーにおける指令データDT1の遷移の例を説明するための図である。
次に、図4(b)に示すような論理的なトポロジーでネットワーク1に8台の端末装置2(PC11〜PC18)が設けられており、PC11が指令元端末装置2Mである場合を例に、これらの端末装置2の処理の手順および指令データDT1の遷移を、図11を参照しながら説明する。
図11において、PC11は、ユーザによってコマンドおよびパラメータ(ブロードキャストアドレス)が入力されると、それに基づいて指令データDT1を作成し、PC11自身の接続テーブルTL11(図6(a)参照)に示される、PC11自身に関連付けられている他の端末装置2すなわちPC12およびPC18に宛てて、その指令データDT1を送信する。つまり、図11の論理的なトポロジーでは、図10の場合と異なり、2つの指令データDT1が別々の端末装置2に宛てて送信される。これらの処理は、図7のステップ#11〜#14の処理に相当する。以下、PC12宛ての指令データDT1およびPC18宛てのDT1をそれぞれ「指令データDT1α」および「指令データDT1β」と区別して記載する。指令データDT1α、DT1βの識別データ部FL2には、同じ値の識別情報が書き込まれている。
指令データDT1αは、PC11、PC12、PC13、…と、時計回りで各端末装置2を中継して行く。このとき、指令データDT1αの回答データ部FL5には、端末装置2のIPアドレスおよびホスト名が中継順に次々に書き加えられる。送信元アドレス部FL0ないしコマンドデータ部FL4の値も、前に図9などで説明したように適宜更新される。一方、指令データDT1βは、PC11、PC18、PC17、…と、反時計回りで各端末装置2を中継して行く。このとき、回答データ部FL5には、指令データDT1αの場合と同様に、端末装置2のIPアドレスおよびホスト名が中継順に次々に書き加えられる。
指令データDT1α、DT1βは、各端末装置2を中継されているうちに、どこかですれ違う。図11の例では、PC15、PC16間ですれ違う。両者がすれ違った後、PC15は、指令データDT1βを受信するが、その前に指令データDT1αを受信しているので、指令データDT1を受信するのは2回目となる。また、PC15は、指令データDT1αを受信した際に、それに含まれるコマンドに従って処理を実行し、PC15自身のIPアドレスの回答を指令データDT1αに書き込んで次の端末装置2に転送している。よって、前に図9で説明したように、同じ指令データDT1を受信済であると判別し(図9の#23でYes)、指令データDT1βを、PC16に送信するのではなく、指令元端末装置2MすなわちPC11に送信する(#29、#30)。同様に、PC16は、指令データDT1αを受信したとき、既に指令データDT1βを受信しているので、指令データDT1を受信するのは2回目となる。よって、指令データDT1αを、PC15に送信するのではなく、PC11に送信する。
このようにして、2つの指令データDT1α、DT1βがPC11に戻って来る。そして、PC11は、これらの指令データDT1の回答データ部FL5からネットワーク1内の各端末装置2のIPアドレスおよびホスト名を抽出し、これをモニタに表示する。
本実施形態によると、ある端末装置2が他のすべての端末装置2のIPアドレスを示す情報を取得する際に、当該端末装置2およびハブ3に掛かる負担を従来よりも軽減することができる。さらに、当該端末装置2とハブ3との間のトラフィックを減らし、ネットワーク全体のトラフィックを従来よりも軽減することができる。
図12はネットワーク1の論理的なトポロジーの変形例を示す図である。本実施形態では、端末装置2の処理内容を、端末装置2が図4(a)または図4(b)のような論理的なトポロジーに配置された場合を例に説明したが、本発明は、これ以外の論理的なトポロジーに配置された場合にも適用可能である。例えば、図12(a)のように、各端末装置2がすべて同じ数の端末装置2と関連付けられている場合(いわゆるレギュラーグラフの場合)にも適用可能である。
図12(a)のようなレギュラーグラフの場合は、閉ループが多数存在する。そうすると、「命令を受け取ったノード(つまり、指令データDT1を送信して来た手前の端末装置2)には返さない」という条件を与えたとしても、これら閉ループによって情報を転送し続けるという不具合が発生する場合がある。そこで、念の為に、端末装置2は、送信されて来た指令データDT1をチェックし、この中に自分の情報が記載されていれば、直ちに指令元端末装置2Mにこれを返送するようにしてもよい。その結果、転送を繰り返す不具合をより確実になくすことができる。
または、図12(b)に示すような、閉ループの区間や行き止まりのある区間が混在するトポロジーの場合にも本発明を適用することができる。
本実施形態によると、指令元端末装置2Mは、他の端末装置2を中継して戻って来た指令データDT1に基づいて、端末装置2同士の関連付けすなわちネットワーク1の論理的なトポロジーを推測することができる。さらに、推測結果よりトポロジーを視覚化し、ネットワークから切断したいノードを見つけ出す、不具合が生じているノードを見つけ出す、通信効率の改善のためにトポロジーを再編成する、などといった用途のために利用することが可能になる。
本実施形態では、指令データDT1には、IPアドレスを回答すべき旨のコマンドを含めたが、他のコマンドであってもよい。例えば、MACアドレス、ホスト名、オペレーティングシステムのバージョンなどの属性を回答すべき旨のコマンドであってもよい。公開鍵、文書データ、画像データ、または音声データなどを指令元端末装置2Mに送信すべき旨のコマンドであってもよい。
または、ウィルスチェックの処理またはバックアップの処理などを実行すべき旨のコマンドであってもよい。または、指令データDT1にファイルを添付し、係るファイルを取得すべき旨のコマンドを含めてもよい。これらの場合は、指令データDT1の回答データ部FL5(図8参照)には、処理結果を書き込むようにすればよい。処理結果の報告が不要な場合は、指令データDT1を指令元端末装置2Mに返送する処理(図9の#29、#30)は省略すればよい。
本実施形態では、ネットワーク1としてLANが用いられる場合を例に説明したが、本発明は、複数のLANまたはインターネットなどのネットワークセグメントを、ルータなどを介して接続して構成したネットワーク(例えば、イントラネットまたは広域イーサネットなど)や、バーチャルLANなどにも適用可能である。または、無線LANにも適用可能である。
その他、ネットワーク1、端末装置2の全体または各部の構成、処理内容、処理順序、テーブルの内容、トポロジーなどは、本発明の趣旨に沿って適宜変更することができる。
本発明は、特に、管理用の装置がないピュアなP2P型のネットワークの管理のために好適に用いられる。
ネットワークの全体的な構成の例を示す図である。 端末装置のハードウェア構成の例を示す図である。 端末装置の機能的構成の例を示す図である。 端末装置の論理的なトポロジーの例を示す図である。 図4(a)のように関連付けられたPC01〜PC04の各端末装置の接続テーブルの例を示す図である。 図4(b)のように関連付けられたPC11〜PC18の各端末装置の接続テーブルの例を示す図である。 指令元端末装置の処理の流れの例を説明するフローチャートである。 指令データのフォーマットの例を示す図である。 指令元端末装置以外の端末装置の処理の流れの例を説明するフローチャートである。 図4(a)のような論理的なトポロジーにおける指令データの遷移の例を説明するための図である。 図4(b)のような論理的なトポロジーにおける指令データの遷移の例を説明するための図である。 ネットワークの論理的なトポロジーの変形例を示す図である。
符号の説明
1 ネットワーク
2 端末装置(ノード)
202 データ受信部(受信手段)
203 データ解析部(指令対処手段)
204 データ生成部(指令対処手段)
205 データ更新部(指令対処手段)
206 データ送信部(指令送信手段、指令対処手段)
FL2 識別データ部(識別情報)
FL4 コマンドデータ部(指令情報)
FL5 回答データ部(属性情報)
TL 接続テーブル(アドレス記憶手段)

Claims (10)

  1. 複数のノードによって構成されるネットワークにおける通信方法であって、
    当該ネットワークを構成するすべてのノードが互いに直接的にまたは間接的に関係するように、各ノードを少なくとも1つの他のノードと直接的に関連付けておき、
    当該ネットワークを構成するノードのうちの指令元ノードが他のすべてのノードに対して所定の処理を実行させる際に、
    前記指令元ノードは、前記所定の処理を実行すべき旨の指令を、当該指令に対して発行したユニークな識別情報とともに、自らに直接的に関連付けられている他のノードに宛てて送信し、
    前記指令を受信したノードは、当該指令とともに受信した前記識別情報と同じ内容を示す識別情報を以前に受信したことがない場合は、当該指令に従って前記所定の処理を実行し、かつ、当該ノードに直接的に関連付けられている他のノードに宛てて、受信した当該指令および当該識別情報を送信する、
    ことを特徴とする通信方法。
  2. 複数の端末装置によって構成されるネットワークにおける通信方法であって、
    当該ネットワークを構成するすべての端末装置が互いに直接的にまたは間接的に関係するように、各端末装置を少なくとも1つの他の端末装置と直接的に関連付けておき、
    当該ネットワークを構成する端末装置のうちの指令元端末装置が他のすべての端末装置に対して所定の処理を実行させる際に、
    前記指令元端末装置は、前記所定の処理を実行すべき旨の指令を示す指令情報を、当該指令情報を他の指令情報と識別するための識別情報とともに、自らに直接的に関連付けられている他の端末装置に宛てて送信し、
    前記指令情報とともに前記識別情報を受信した端末装置は、当該識別情報と同じ内容を示す識別情報を以前に受信したことがない場合は、当該指令情報に示される前記指令に従って前記所定の処理を実行しかつ受信した当該指令情報および当該識別情報を当該端末装置に直接的に関連付けられている他の端末装置に宛てて送信する送信処理を実行する、
    ことを特徴とする通信方法。
  3. 前記指令情報とともに前記識別情報を受信した端末装置は、当該端末装置に直接的に関連付けられている他の端末装置のうち、当該指令情報を当該端末装置に宛てて送信した他の端末装置に宛てては、当該指令情報および当該識別情報を送信しない、
    請求項2記載の通信方法。
  4. 前記指令が、前記所定の処理として端末装置の属性を回答すべき旨の指令である場合は、
    前記指令情報とともに前記識別情報を受信した端末装置は、当該識別情報と同じ内容を示す識別情報を以前に受信したことがない場合は、当該端末装置の属性を示す属性情報を、当該指令情報、当該識別情報、および両情報とともに受信した他の端末装置の属性を示す属性情報とともに、当該端末装置に直接的に関連付けられている他の端末装置に宛てて送信することによって前記所定の処理および前記送信処理を実行し、当該識別情報と同じ内容を示す識別情報を以前に受信したことがある場合は、当該指令情報、当該識別情報、および両情報とともに受信した他の端末装置の属性を示す属性情報を前記指令元端末装置に宛てて送信する、
    請求項2記載の通信方法。
  5. 前記指令情報とともに前記識別情報を受信した端末装置は、当該指令情報を当該端末装置に宛てて送信した他の端末装置のみが当該端末装置に直接的に関連付けられている場合は、当該端末装置の属性を示す属性情報、当該指令情報、当該識別情報、および両情報とともに受信した他の端末装置の属性を示す属性情報を、当該他の端末装置の代わりに前記指令元端末装置に宛てて送信することによって前記所定の処理および前記送信処理を実行する、
    請求項4記載の通信方法。
  6. 複数の端末装置によって構成されるネットワークであって、
    各端末装置は、
    すべての端末装置が互いに直接的にまたは間接的に関係するように、少なくとも1つの他の端末装置と直接的に関連付けてられており、
    自らと直接的に関連付けられている他の端末装置ごとのアドレスを記憶するアドレス記憶手段、を有し、
    少なくとも1台の端末装置は、
    他のすべての端末装置に対して所定の処理を実行させる際に、前記所定の処理を実行すべき旨の指令を示す指令情報を、当該指令情報を他の指令情報と識別するための識別情報とともに、自らに直接的に関連付けられている他の端末装置に宛てて送信する、指令送信手段、を有し、
    各端末装置は、
    当該端末装置に宛てて送信されて来た前記指令情報および前記識別情報を受信する受信手段と、
    受信した前記識別情報と同じ内容を示す識別情報を以前に受信したことがない場合に、当該識別情報とともに受信した前記指令情報に示される前記指令に従って前記所定の処理を実行しかつ当該端末装置に直接的に関連付けられている他の端末装置に宛てて当該指令情報および当該識別情報を送信することによって当該指令に対処する、指令対処手段と、を有する、
    ことを特徴とするネットワーク。
  7. 前記指令情報および前記識別情報の最初の送信元でない端末装置の前記指令対処手段は、当該端末装置に直接的に関連付けられている他の端末装置のうち、当該指令情報および当該識別情報を当該端末装置に宛てて送信した他の端末装置に宛てては、当該指令情報および当該識別情報を送信しない、
    請求項6記載のネットワーク。
  8. 前記指令が、前記所定の処理として端末装置の属性を回答すべき旨の指令である場合は、
    前記指令情報および前記識別情報の最初の送信元でない端末装置の前記指令対処手段は、受信した当該識別情報と同じ内容を示す識別情報を以前に受信したことがない場合は、当該端末装置の属性を示す属性情報を、当該指令情報、当該識別情報、および両情報とともに受信した他の端末装置の属性を示す属性情報とともに、当該端末装置に直接的に関連付けられている他の端末装置に宛てて送信することによって当該指令に対処し、当該識別情報と同じ内容を示す識別情報を以前に受信したことがある場合は、当該指令情報、当該識別情報、および両情報とともに受信した他の端末装置の属性を示す属性情報を当該最初の送信元である端末装置に宛てて送信することによって当該指令に対処する、
    請求項6記載のネットワーク。
  9. 前記指令情報および前記識別情報の最初の送信元でない端末装置の前記指令対処手段は、当該指令情報を当該端末装置に宛てて送信した他の端末装置のみが当該端末装置に直接的に関連付けられている場合は、当該端末装置の属性を示す属性情報、当該指令情報、当該識別情報、および両情報とともに受信した他の端末装置の属性を示す属性情報を、当該他の端末装置の代わりに当該最初の送信元である端末装置に宛てて送信することによって当該指令に対処する、
    請求項8記載のネットワーク
  10. ネットワークのノードとして用いられる情報処理装置であって、
    当該情報処理装置に関連付けられている当該ネットワークの1つまたは複数の他の情報処理装置のアドレスを記憶するアドレス記憶手段と、
    他のすべての情報処理装置に対して所定の処理を実行させる際に、前記所定の処理を実行すべき旨の指令を示す指令情報を、当該指令情報を他の指令情報と識別するための識別情報とともに、自らに関連付けられている他の情報処理装置に宛てて送信する、指令情報指令送信手段と、
    他の情報処理装置から前記指令情報および前記識別情報を受信した場合に、当該識別情報と同じ内容を示すものを以前に受信したことがない場合は、当該指令情報に示される前記指令に従って前記所定の処理を実行しかつ当該情報処理装置に関連付けられている他の端末装置に宛てて当該指令情報および当該識別情報を送信することによって、当該指令に対処する、指令対処手段と、
    を有することを特徴とする情報処理装置。

JP2005143061A 2005-05-16 2005-05-16 通信方法、ネットワーク、および情報処理装置 Expired - Fee Related JP4404007B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005143061A JP4404007B2 (ja) 2005-05-16 2005-05-16 通信方法、ネットワーク、および情報処理装置
US11/429,135 US20060256791A1 (en) 2005-05-16 2006-05-05 Communications method, network, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005143061A JP4404007B2 (ja) 2005-05-16 2005-05-16 通信方法、ネットワーク、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2006319910A true JP2006319910A (ja) 2006-11-24
JP4404007B2 JP4404007B2 (ja) 2010-01-27

Family

ID=37419047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005143061A Expired - Fee Related JP4404007B2 (ja) 2005-05-16 2005-05-16 通信方法、ネットワーク、および情報処理装置

Country Status (2)

Country Link
US (1) US20060256791A1 (ja)
JP (1) JP4404007B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013782A (ja) * 2009-06-30 2011-01-20 Toshiba Corp 中継装置
JP2013187664A (ja) * 2012-03-07 2013-09-19 Kddi Corp データ転送装置、転送方法、およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117227A1 (en) * 2010-11-10 2012-05-10 Sony Corporation Method and apparatus for obtaining feedback from a device
CN102394796A (zh) * 2011-11-04 2012-03-28 华为技术有限公司 链路时延检测方法、源端、宿端及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797375B2 (en) * 2001-05-07 2010-09-14 International Business Machines Corporat System and method for responding to resource requests in distributed computer networks
US7539771B2 (en) * 2003-06-06 2009-05-26 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays
US7664032B2 (en) * 2003-11-10 2010-02-16 Oki Electric Industry Co., Ltd. Communication terminal and communication network
US7376122B2 (en) * 2004-02-23 2008-05-20 Microsoft Corporation System and method for link quality source routing
US7382721B2 (en) * 2004-04-27 2008-06-03 Hewlett-Packard Development Company, L.P. Nodal computer network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013782A (ja) * 2009-06-30 2011-01-20 Toshiba Corp 中継装置
JP2013187664A (ja) * 2012-03-07 2013-09-19 Kddi Corp データ転送装置、転送方法、およびプログラム

Also Published As

Publication number Publication date
US20060256791A1 (en) 2006-11-16
JP4404007B2 (ja) 2010-01-27

Similar Documents

Publication Publication Date Title
JP4564697B2 (ja) 通信マネージャを備えたコンピュータ・システムによるアクティビティに基づいたコラボレーションのための方法及びその装置
US8732236B2 (en) Managing network communications between network nodes and stream transport protocol
US7912959B2 (en) Architecture for building a peer to peer messaging platform
EP1703701B1 (en) APIs to build peer to peer messaging applications
DellaFera et al. The Zephyr Notification Service.
JP4661774B2 (ja) 中継サーバ
US20100115415A1 (en) Graphic for network switches
US9253129B2 (en) Instant messaging with browser collaboration
JP4903979B2 (ja) リアルタイムなビジネス・コラボレーションの方法
JP2008129991A (ja) 中継サーバおよび中継通信システム
CN102483702A (zh) 用于网络设备中的虚拟机的网络话务处理流水线
JP2008148046A (ja) 中継サーバおよび中継通信システム
US20050135269A1 (en) Automatic configuration of a virtual private network
JP4404007B2 (ja) 通信方法、ネットワーク、および情報処理装置
SG190809A1 (en) Relay server and relay communication system
CN110177100A (zh) 一种协同网络防御的安全设备数据通信协议
JP2006203731A (ja) ネットワーク中継装置、ネットワーク接続情報閲覧システム、及びネットワーク接続情報通知方法
US20130315249A1 (en) Relay server and relay communication system
JPWO2011117959A1 (ja) 通信装置、通信装置の制御方法、プログラム
JP2005244985A (ja) 自己複製コードを利用した通信ネットワークのノード間データ転送
JP2006018430A (ja) 情報処理装置、ネットワークシステム、プログラム、データ構造及び記憶媒体
US20090254679A1 (en) Connection apparatus and method for limiting signal transfer
Ma et al. A P2P groupware system with decentralized topology for supporting synchronous collaborations
JP4642649B2 (ja) 中継装置
WO2022208854A1 (ja) 通信システム、構成管理装置、構成管理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090907

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090907

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: 20091013

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091026

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees