JP2006025355A - ネットワークのリソース,サービス発見方法及び中継ノード装置 - Google Patents

ネットワークのリソース,サービス発見方法及び中継ノード装置 Download PDF

Info

Publication number
JP2006025355A
JP2006025355A JP2004203676A JP2004203676A JP2006025355A JP 2006025355 A JP2006025355 A JP 2006025355A JP 2004203676 A JP2004203676 A JP 2004203676A JP 2004203676 A JP2004203676 A JP 2004203676A JP 2006025355 A JP2006025355 A JP 2006025355A
Authority
JP
Japan
Prior art keywords
node
address
relay node
relay
resource
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
JP2004203676A
Other languages
English (en)
Other versions
JP4334424B2 (ja
Inventor
Atsushi Ogawa
淳 小川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004203676A priority Critical patent/JP4334424B2/ja
Priority to US11/024,174 priority patent/US7680130B2/en
Publication of JP2006025355A publication Critical patent/JP2006025355A/ja
Application granted granted Critical
Publication of JP4334424B2 publication Critical patent/JP4334424B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1085Resource delivery mechanisms involving dynamic management of active down- or uploading connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 本発明は、リソース,サービスの提供が停止したクローズドノードへのアクセス要求を同一リソース,サービスを提供している他ノードに転送でき、クローズドノードとなったことを各中継ノードに通知できるネットワークのリソース,サービス発見方法及び中継ノード装置を提供することを目的とする。
【解決手段】 任意ノードでリソース,サービスの提供が停止した場合、提供が停止したリソース,サービスの識別子に対し任意ノードのアドレスの他に別ノードのアドレスが登録された検索テーブルを持つ中継ノードにて、提供が停止したリソース,サービスに対するアクセス要求を、任意のノードから前記別ノード宛に振り替える。
【選択図】 図8

Description

本発明は、ネットワークのリソース,サービス発見方法及び中継ノード装置に関し、複数のノードが自ノードの有するリソース,サービスを提供するネットワークのリソース,サービス発見方法及び中継ノード装置ブリッジ装置に関する。
従来、インターネットはパーソナルコンピュータ(PC)やワークステーションを中心としたネットワークであったが、携帯電話を始めとした小型情報端末の進化や、今後のICチップの普及に伴い、「どこでも、いつでも端末の形態を問わず、任意の端末と通信できる」、いわゆるユビキタス通信が次世代の通信形態として着目されている。
このように多様なノードが相互接続されているネットワークにおいては、それに接続されているノードが提供するリソースやサービスの種類も量も膨大となり、これを効率良く発見できる仕組みが重要となる。なお、本明細書及び特許請求の範囲では、リソースとは、 任意のノードがそのハードディスクやメモリ内に有する資源(例えば、ファイル)を意味し、サービスとは、ユーザの利益になるようにリソースを組み合わせた無形の提供物を意味する。
ユビキタス通信において、各ノードが有するリソースやサービスを発見する際の要件を以下に記す。
要件1は、任意のノードが有するリソースやサービスを発見できることである。従来はリソースやサービスを提供するノードと、それを享受するノードと役割分担が明確なサーバ/クライアントモデルが主流であった。従って、サービスやリソースを、サーバを対象に探す技術が普及した。例えば、従来のホームページ検索エンジンはwebサーバを対象としている。しかしユビキタス網においてはサーバ・クライアントモデルのように単純にノード間での役割分担を定義できない。このため、任意のノードが提供するリソースやサービスを発見できることが要件となる。
要件2は、ノード数に対してスケーラビリティがあることである。ユビキタス通信においては網に接続されているノードはPCに限らず、ICチップなどを有するノードまでも対象となる。よってノード数に対してスケーラビリティのある手法が必要である。
要件3は、リソース,サービス発見処理時のネットワークの負荷が低いことである。ユビキタス通信でのノード数の膨大な増加と比例した網の帯域を提供することは困難である。よってリソース,サービス発見処理を行うときにネットワークへの負荷を抑えることが必要である。
要件4は、耐障害性があることである。ユビキタス通信においては、従来のサーバのように十分な信頼性を保証されたノードのみがリソースやサービスを提供しているとは限らない。従って、ネットワークへの接続やノードのOSなどが不安定なために長期的(何日も渡って)安定的にリソースやサービスを提供できないノードが存在することを前提とした手法であることが要件となる。
要件5は、同一リソース,サービスを提供するノードが複数あることに対応できることである。ユビキタス通信においては、複数のノードが同じサービスやリソースを提供することが想定できる。このため、同一リソース,サービスを提供するノード郡の中から任意のノードを選択してユーザに発見結果として提示できることが要件となる。
既存のリソース,サービスの発見技術を次のように分類する。
集中型は、任意のサーバが提供するサービスやリソースを、予め任意のノードが収集しデータベース化しておくことで網内のサービスやリソースの発見を提供する。一般に「検索サイト」や「サーチエンジン」と称されるノードが収集を行う。当該検索サイトは、ユーザが入力したキーワードからデータベースを検索し、当該キーワードに関連したサービスやリソースを公開しているノードを、ユーザに回答する。なお「集中型」はサービスやリソースを提供しているノードの登録の仕方で、「ロボット型」と「手動型」に分類が可能である。
ロボット型は、「ロボット」と呼ばれるプログラムを使って、サーバが自律的にインターネット上のリソース,サービス情報を収集する。
手動型は、ユーザや検索用サーバ管理者が当該サーバにリソース,サービスのロケーション識別子とそれに関連するキーワードを登録する。
分散型は、サービスやリソースをどのノードが有しているかの問い合わせ毎に網上のノードに問い合わせる。集中型のようにデータベースを有する必要がないことが特長である。 GnutellaやWinMX等の、いわゆるファイル共有アプリケーションで用いられることが多い手法である。任意のノードが提供するリソースやサービスを任意のノードから発見できるシステムであるため、Peer−to−Peer型(PtoP型)とも称される。
ハイブリッド型は、集中型と分散型の中間解であり、各ノード自身が公開するサービスやリソースについてノード間で定期的に交換する。ユビキタス網においてはリソースやサービスの提供対象はサーバだけに限らない。従って、集中型では先の要件1を満たすことが困難なため、以降は分散型とハイブリッド型に絞って議論を進めることとする。
標準化された分散型でのリソース,サービスの発見手順は今のところ存在しない。しかし多くの分散型のアプリケーションはGnutellaの手法に基づくため、以降ではGnutellaの動作例を示す。
Gnutellaはインターネットを通じて個人間でファイルの交換を行うアプリケーションソフトである。よってGnutellaではリソース,サービスとはファイルを指すことになる。Gnutellaのユーザはインターネットを通じて相互に接続され、互いに所有するファイルの中から、他のユーザと共有してもよいファイルのリストを公開する。Gnutella上でファイル検索を行うと自ノード以外のノードが公開しているファイルから条件に合致するものが抽出され、ファイル検索を行ったノードは当該リソースを有するノードから直接、当該リソースをダウンロードすることができる。
分散型のリソース,サービスの発見手順について図1を用いて説明する。ファイルの発見要求であるクエリ(Query)を接続しているホストに送ると、当該要求が隣ノード間で順次中継される。要求対象のファイルを有するホストがヒット応答を返すことで、ファイルの発見を実現する。
図1において、
(1)隣接ノードに対して、ファイルのクエリコマンドを送信する。
(2)このコマンドは順次中継される。
(3)ファイルを有するノードは、ヒット応答を返す。
(4)ヒット応答はクエリとは逆の経路を順にたどって、クエリの送信元のノードへ応答する。
(5)ヒット応答を返したノードのうちのいずれかとTCPで接続する。
(6)ファイルの取得要求を送信する。
(7)ファイルの内容が送り返されてくる。
なお(2)において、無限にクエリが中継されてしまうことを防ぐために、IP(Internet Protocol)と同様にTTL(Time To Live)の概念があり、一定ノード数以上を転送されたクエリは廃棄される。
Gnutellaでのリソース,サービス発見はクエリをバケツリレー的に同報することで実現する。このため以下の問題点がある。
問題1.検索を行うノード数が多い。リソース,サービスの検索を行うノードはクエリの経由毎にねずみ算式に増える。これはノード間で各々が提供するリソースやサービスについての情報を交換していないことに起因する。このためクエリを受信したノードが検索対象のリソース,サービスを有さない場合、当該クエリをどの隣接ノードへ転送すればよいかの情報がない。よって全隣接ノードへの同報が必要となり、要件2を満たさない。
問題2.網の帯域を不要に利用する。クエリが隣接ノード間で同報され、かつそれはノードを経由毎にねずみ算式に増える。しかし、クエリの送信元ノードが取得コマンドを送信するノード数は高々1つであり、それ以外のクエリ(例えば図1の右4つのノード中、下3つのノードに向かうクエリ)はネットワークの帯域を不要に消費している。このため、要件3を満たさない。
問題3.耐障害性についての仕組みを有していない。このため、要件4を満たさない。
ハイブリッド型はノード間で各々が提供するリソースやサービスについての情報を定期的に交換する点が特徴である。現状、標準化された手段がないため、米国)UCLA大が提唱するFlapps(Forwarding Layer for Application−level Peer−to−Peer Services)を例にハイブリッド型の動作例を示す。
ハイブリッド型では、ノードが公開するリソースやサービスに付けられた”名前”(ファイル名やURL:Uniform Resource Locator など)と当該ノードへの経路情報をノード間で交換する。この経路交換の結果に基づいて、各ノードは、クエリが要求する当該リソース,サービスを提供するノードへ当該クエリを転送する。
ハイブリッド型におけるリソース,サービス発見は、2つのフェーズから構成される。 第1は、リソースやサービスの識別子(以降、名前経路情報)を配布し交換するフェーズである。第2は、ノードからの要求に基づいて、リソース,サービスを発見するフェーズである。
図2は、名前経路情報の配布フェーズのフローチャートを示す。まず、前提とする環境について説明すると、ノードBとノードCがともに”resouce/music/rock.mp3”というファイル(リソース)を公開している。ノードA,B,C及び中継ノードはIPによりそれぞれ通信可能である。中継ノードはPCのような端末でも、ルータのようなネットワーク機器に付加機能を加えたものでもよい。ノード間の名前経路情報の交換は定期的に行うものとする。なお、図2以降のフローチャートでは、ノードAのIPアドレスはIP−Aのように表記する。また、ノード間でやり取りされる名前経路情報は、宛先IP,発信IP,コマンド名,リソース名,次ポップIPの順に表記する。
図2において、
(1)ノードCは、“resouce/music/rock.mp3”を公開していることを隣接ノード(中継ノード5)にフレームを送信して通知する(図中(1))。
(2)中継ノード5は受信したフレームのコマンド名から、”名前経路情報”であることを識別し、リソース名の文字列を予め設定された区切り文字(この場合”/”)毎に分解し、検索ツリーを作成する。その後、中継ノード5は自身を経由して、“resouce/music/rock.mp3”に到達できること、即ち、任意のノードからのクエリを中継ノード5に転送すれば“resouce/music/rock.mp3”を公開しているノード(ノードC)に到達できることを隣接ノード(中継ノード4)に通知する(図中(2))。
(3)中継ノード4の処理は(2)と同様である(図中(3))。
(4)ノードBも(1)同様に、“resouce/music/rock.mp3”を公開していることを隣接ノードである中継ノード6に通知する(図中(a))。また、中継ノード6は(2)と同様に検索用ツリーを作成後、中継ノード3に名前経路情報の通知を行う(図中(b))。
(5)中継ノード3は、中継ノード4,6の双方から“resouce/music/rock.mp3”に関する名前経路情報を受信する。この結果、図 3 2中に示すようなIP−6とIP−4を検索結果とする検索ツリーが中継ノード3内に作成される。検索結果としてIP−6とIP−4のいずれを選ぶかを、ここでは記載しない中継ノード3が有するアルゴリズム(例えば交互に選ばれるなど)で中継ノード3は決定する。
(6)以降、項2の処理の繰り返しにより、中継ノード2,1に名前経路情報が伝播される(図中(4),(5))。
以上により、ノードB,Cが公開するリソースの名前と経路情報が中継ノード間で交換できる。
次にリソース,サービスの発見フェーズのフローチャートを図3に示す。
図3において、
(1)ノードAは、“resouce/music/rock.mp3”を有するノードの発見を依頼するクエリフレームをネットワークに送信する(図中(1))。
(2)中継ノード1は受信したフレームのコマンド名から、”クエリ”であることを識別し、リソース名の文字列を予め設定された区切り文字(この場合”/”)毎に分解し、検索用のツリーを分解したキー毎に順に検索する。
(3)検索結果の次ホップが中継ノード2であることから、中継ノード1は中継ノード2にクエリを転送する(図中(2))。
(4)中継ノード2は(2),(3)と同様の処理を行い、中継ノード3にクエリを転送する(図中(3))。
(5)中継ノード3は(2)と同様の処理を行う。この際、次ポップの中継ノードとして中継ノード4,6があるが、ここでは記載しない何らかのアルゴリズム(例えば、交互に選択するなど)により、中継ノード3はいずれかを選択する。ここでは中継ノード6を選択したと仮定し、(3)と同様の処理により、中継ノード6にクエリを転送する(図中(4))。
(6)中継ノード6は(2),(3)と同様の処理を行い、ノードBにクエリを転送する(図中(5))。
(7)ノードBは自身が発見対象のリソース“resouce/music/rock.mp3”を有していることから、”送信元ノードのIP”のフィールドを識別し、IP−A(ノードA)に向けてTCPコネクションを張り、ファイル転送を開始する(図中(6))。
なお、特許文献1には、情報パケットを生成したノードに対して、自己の閉域アドレスと自己の広域アドレスとを対応付けた返信パケットを返信し、情報パケットを生成したノードが、受信した返信パケットの内容を自己のルーチングテーブルに含めることにより、広域アドレスによるルーチングテーブルを生成することが記載されている。
また、特許文献2には、受信フレームが宛先不明である場合、その宛先アドレス及び自中継装置のアドレスを用いて経路検索用フレームを生成し、経路検索用フレームに対して宛先が見つかった中継装置から返送される応答フレームが受信された場合、受信フレームを応答フレームの送信元に向けて送信することが記載されている。
特開平10−70552号公報 特開2001−203739号公報
ハイブリッド型はノードが有するリソース,サービス情報(名前経路情報)を交換することで、分散化したリソース,サービスの発見手順を図る。このため、ノードのリソース,サービス提供に変化が生じた場合(例えば、リソース,サービスが提供不可能になった場合)、変化を通知する名前経路情報がネットワーク上の中継ノード郡に伝播されるまでの時間は安定したリソース,サービス発見手順を網が提供できない。
即ち、一部の中継ノードはリソース,サービスが提供されていないことを通知されており、他の中継ノードは通知されていないために、名前経路情報が網内で一貫していない状態が発生する。このようにネットワーク的に不安定な状態を以下、”アンステーブル状態”と称する。前述したようにノードの安定性が保証されないユビキタス通信においてはアンステーブル状態がしばしば発生するものと考えられる。
アンステーブル状態下のネットワークでは、既にリソース,サービスを提供していないノード(以下、”クローズドノード”と称する)向けにクエリフレームが配送され、リソース,サービスを提供するノードにクエリフレームが到達しない問題が生じる。以下、このようにリソース,サービスを提供しているノードに配送されないフレームを”不到フレーム”と称する。この問題を解決するためには以下のような課題である。
課題1.不到フレームをなくすことを目的として、網が自律的にクローズドノードへの経路を検地し、当該クローズドノードへのクエリフレームを他ノードに転送できることが必要となる。
課題2.アンステーブル状態を収束させることを目的として、任意のノードがクローズドノードとなったことを、定期的な名前経路交換を待たずに、各中継ノードに通知できることが必要となる。
本発明は、上記の点に鑑みなされたものであり、リソース,サービスの提供が停止したクローズドノードへのアクセス要求を同一リソース,サービスを提供している他ノードに転送でき、クローズドノードとなったことを各中継ノードに通知できるネットワークのリソース,サービス発見方法及び中継ノード装置を提供することを目的とする。
請求項1に記載の発明は、ネットワークを構成する複数のノードが自ノードの有するリソース,サービスを公開しており、前記リソース,サービスを識別する識別子と前記リソース,サービスを公開したノードのネットワーク上でのアドレスを前記ネットワークで中継を行う中継ノード間で交換して各中継ノードに検索テーブルを構築し、あるノードから前記識別子を用いて所望のリソース,サービスのアクセス要求を行うと、前記アクセス要求の識別子で各中継ノードの検索テーブルを検索して前記所望のリソース,サービスを公開しているノードにアクセスするネットワークのリソース,サービス発見方法において、
任意ノードでリソース,サービスの提供が停止した場合、前記提供が停止したリソース,サービスの識別子に対し前記任意ノードのアドレスの他に別ノードのアドレスが登録された検索テーブルを持つ中継ノードにて、前記提供が停止したリソース,サービスに対するアクセス要求を、前記任意のノードから前記別ノード宛に振り替えることにより、
リソース,サービスの提供が停止したクローズドノードへのアクセス要求を同一リソース,サービスを提供している他ノードに転送することができる。
請求項2に記載の発明は、請求項1記載のネットワークのリソース,サービス発見方法において、
前記任意ノードで提供が停止したリソース,サービスについての各中継ノードの検索テーブルの変更を、前記提供が停止したリソース,サービスに対するアクセス要求に付加して前記各中継ノードに通知することにより、定期的な識別子の交換を待たずに、クローズドノードとなったことを各中継ノードに通知することができる。
請求項3に記載の発明は、ネットワークを構成する複数のノードが自ノードの有するリソース,サービスを公開しており、前記リソース,サービスを識別する識別子と前記リソース,サービスを公開したノードのネットワーク上でのアドレスを前記ネットワークで中継を行う中継ノード間で交換して各中継ノードに検索テーブルを構築し、あるノードから前記識別子を用いて所望のリソース,サービスのアクセス要求を行うと、前記アクセス要求の識別子で各中継ノードの検索テーブルを検索して前記所望のリソース,サービスを公開しているノードにアクセスするネットワークの中継ノード装置において、
任意ノードでリソース,サービスの提供が停止したために前記アクセス要求で検索テーブルを検索して検索結果が得られなかったとき、前記アクセス要求を前記任意のノードから別ノード宛に振り替えるための差し戻し指示を転送するアクセス要求に書き込む差し戻しチェックフィールド更新手段と、
前記差し戻し指示のないアクセス要求の転送時に自中継ノードのアドレスを前記アクセス要求内にスタックするアドレススタック手段と、
受信した前記差し戻し指示のアクセス要求を転送元の中継ノードに差し戻すため前記アクセス要求内にスタックされている自中継ノードへの転送元の中継ノードのアドレスを抽出するスタックアドレス抽出手段を有することにより、
リソース,サービスの提供が停止したクローズドノードへのアクセス要求を同一リソース,サービスを提供している他ノードに転送することができる。
請求項4に記載の発明は、請求項3記載の中継ノード装置において、
前記差し戻し指示のアクセス要求の転送時に自ノードのアドレスを差し戻し元アドレスとして書き込む差し戻し元アドレス更新部を有し、
請求項5に記載の発明は、請求項4記載の中継ノード装置において、
前記検索テーブルから、受信した前記差し戻し指示のアクセス要求の前記差し戻し元アドレスを削除するテーブル制御手段を有することにより、定期的な識別子の交換を待たずに、クローズドノードとなったことを各中継ノードに通知することができる。
本発明によれば、リソース,サービスの提供が停止したクローズドノードへのアクセス要求を同一リソース,サービスを提供している他ノードに転送することができ、定期的な識別子の交換を待たずに、クローズドノードとなったことを各中継ノードに通知することができる。
以下、図面に基づいて本発明の実施形態について説明する。
図4は、本発明の実現イメージを示す。ここでは下記を前提とする。
前提1.ノード1がクローズドノードとなり、その結果、公開していた”resouce/music/rock.mp3”が非公開となる。
前提2.図4に示す時点では、ノードCがクローズドノードになったことを通知する名前経路情報は中継ノードBまで伝播されており、他のノードには、まだ伝播されていないため、アンステーブル状態にある。
実現案1では、図4において、不到フレームを受信した中継ノード4が、同一リソースを有する他のノード2への経路を有する中継装置Aまで当該フレームを再転送する(以下、”差し戻し” と称する)ことで、不到フレームをクローズドノードであるノード1が提供していたリソース,サービスと同一のリソース,サービスを提供しているノード2を宛先として転送する。これにより、クローズドノードへのクエリフレームを他ノードに転送でき課題1を解決する。
また、実現案2では、この差し戻しフレームに名前経路変更の制御情報を付与することで、定期的な名前経路情報の交換に先立って中継ノードは、クローズドノードについての名前経路情報を自身の検索テーブルに反映する。これにより、任意のノードがクローズドノードとなったことを各中継ノードに通知でき課題2を解決する。
上記実現案1,2を実現するための要件を記す。
要件1.差し戻しフレームであることを中継ノードが識別できること(実現案1のため)。
要件2.差し戻しのための経路を、差し戻しフレームを受信した中継ノードに通知できること(実現案2のため)。例えば図4にて、差し戻しフレームを受信した中継ノード3では、中継ノード4から差し戻されたことがわかることである。
要件3.任意の中継ノードにおいて、当該ノードまでクエリが経由した中継ノードがわかること(実現案1のため)。これは、差し戻し時には中継ノードを逆順にたどるためである。
要件4.差し戻しフレームに対してクローズドノードへの経路を除いて検索ができること。(実現案1,2のため)これは、差し戻しフレームを差し戻してきた中継ノード以外の中継ノードに転送する必要があるためである。例えば、図4にて、差し戻されたフレームを中継ノード3は中継ノード4に転送しても再び差し戻しが発生し、ループが発生する。このため中継ノード3は差し戻してきた中継ノード4を選択肢から除いて経路を再検索する。その結果、中継ノード6が選択される。
上記の要件1を解決するため、ノード間で送受信するクエリフレーム(TCP/IP)に、図5に示すように、差し戻しフレームであるか否かを示す差し戻しチェックフィールドF1を設ける。また、要件2を解決するため、前ホップの差し戻し中継ノードのIPアドレスを格納する差し戻し元IPアドレスフィールドF2を設ける(本フィールドは差し戻しチェックフィールドが”1”で、差し戻しフレームを示している場合のみ有効)。中継ノードは本アドレスを検索ツリーから除外して検索を行う。
また、要件3を解決するため、フレームに経由ノードのIPアドレスを記録する領域として、経由ノードフィールドを付与する。経由ノードフィールドは、スタックしている中継ノード数を示す中継ノード数F3と、経由した中継ノード数分の経由ノードのIPアドレスがスタックされているアドレススタックF4である。
なお、ノード間で送受信するフレームには、図5に示すように、IPヘッダ、コマンド識別(クエリまたは名前経路情報)、検索リソース文字列長、検索リソース文字列、送信元IPアドレスが設けられている。これらの情報は従来のハイブリッド型のフレームにおいても設けられているフィールドである。
次に、各ノードの処理の詳細について説明する。
差し戻し前にクエリフレームを中継する中継ノードで行う処理について説明する。
(1).任意の中継ノードは受信したフレームのコマンド名から、それが”クエリ”であることを識別する。
(2).当該ノードはリソース名を予め決められた区切り文字(この場合”/”)毎に分解し、検索用のツリーを分解したキー毎に順に検索して、検索結果にヒットする。
(3).当該ノードはクエリフレームを転送する際に図5に示す中継ノード数F3を”1”だけインクリメントする。
(4).当該ノードは自ノードのIPアドレスを図5に示す中継ノード数F3が示す段数のアドレススタックF4にスタックする。
(5).当該ノードは自ノードのIPアドレスを発信元IPアドレスとして、(2)の検索結果を宛先IPアドレスとしてフレーム送信する。
差し戻しをする中継ノードで行う処理について説明する。
(1).任意の中継ノードは受信したフレームのコマンド名から、それが”クエリ”であることを識別する。
(2).当該ノードはリソース名を予め決められた区切り文字(この場合”/”)毎に分解し、検索用のツリーを分解したキー毎に順に検索し、検索結果に未ヒット。これが差し戻し処理のトリガとなる。
(3).当該ノードは差し戻し元IPアドレスフィールドF2に自ノードのIPアドレスを書き込む。
(4).当該ノードはクエリフレームの差し戻しチェックフィールドF1を「差し戻し」を示す値”1”に更新する。
(5).当該ノードは中継ノード数F3を”1”だけデクリメントする。
(6).当該ノードは中継ノード数F3が示す段数のアドレススタックF4にスタックされているIPアドレスを宛先のIPアドレスとする。
(7).当該ノードは自ノードのIPアドレスを発信元IPアドレスとして、フレームを送信する。
差し戻しフレームを受信した中継ノードで行う処理について説明する。
(1).任意の中継ノードは受信したフレームのコマンド名から、それが”クエリ”であることを識別する。
(2).当該ノードは差し戻しフレームを受信した中継ノードは図5に示すフレーム内の検索リソース文字列が示す検索リソース名から、差し戻し元IPアドレスフィールドF2が示すIPアドレスを除外して検索ツリーを再作成する。
(3).当該ノードは再構成したツリーから、検索リソース文字列が示すリソース名を予め決められた区切り文字(この場合”/”)毎に分解し、検索用のツリーを分解したキー毎に順に検索する。
(4).当該ノードは検索結果が得られた場合(例えば、図4の中継ノード3)、
(4A)当該ノードは、差し戻しチェックフィールドF1の「差し戻し」の指示を解除する。
(4B)当該ノードは検索結果として得られたIPアドレスを宛先のIPアドレス、自ノードのIPアドレスを発信元のIPアドレスとして、フレームを送信する。
(5).検索結果が得られなかった場合、中継ノード数F3が”1”以上かを確認する。そして、中継ノード数F3が0の場合は、自ノードがクエリフレームの送信ノードである。即ち、クエリフレームで要求したリソース,サービスをクローズドノード以外は公開していないため、クエリフレームの送信を要求したアプリケーション経由でユーザにリソース,サービスの発見に失敗したことを通知する。
中継ノード数F3が1以上の場合(例えば、図4の中継ノード4)、
(5A)当該ノードは、差し戻し元IPアドレスフィールドF2に自ノードのIPアドレスを書き込む。
(5B)当該ノードは、中継ノード数F3を”1”だけデクリメントする。
(5C)当該ノードは、中継ノード数F3が示す段数のアドレススタックF4にスタックされているIPアドレスを宛先のIPアドレスとする。
(5D)当該ノードは、自ノードのIPアドレスを発信元IPアドレスとして、フレームを送信する。
図6,図7,図8は、差し戻し発生時のフレームのフローチャートを示す。なお、各図に、図4に示したフレームの各フィールドも併記する。ただし、コマンド種別は全て”クエリ”であり、検索リソース文字列は全て”resouce/music/rock.mp3”であるため、記載を省略する。
前提として、ノードCがクローズドノードとなり、その結果、公開していた”resouce/music/rock.mp3”が非公開となる。図6に示す時点においては、ノードCがクローズドノードになったことを示す名前経路情報は中継ノード5まで伝播されているが、他のノードにまでは伝播されておらず、アンステーブル状態にある。また、”resouce/music/rock.mp3”はノードBとノードCの双方が有する。クエリフレームはノードAが送信する(ノードAがリソース,サービスの発見を行う)。
(1).ノードAは、“resouce/music/rock.mp3”を有するノードの発見を依頼するクエリフレームをネットワークに送信する(図6中(1))。
(2).中継ノード1は、受信したフレームのコマンド名から、それが”クエリ”であることを識別する。かつ、差し戻しチェックフィールドF1から差し戻しフレームではないことを識別する。
(3).中継ノード1は、リソース名を予め決められた区切り文字(この場合”/”)毎に分解し、検索用のツリーを分解したキー毎に順に検索する。
(4).検索結果の次ホップが中継ノード2であることから、中継ノード1は中継ノード数F3を”1”だけインクリメントし、中継ノード1を表わす「IP−1」を中継ノード数F3が示す段数のアドレススタックF4にスタックして、中継ノード2にクエリフレームを転送する(図6中(2))。
(5).中継ノード2は(2),(3),(4)と同様の処理を行い、中継ノード3にクエリフレームを転送する(図6中(3))。
(6).中継ノード3は(2),(3),(4)と同様の処理を行う。この際、次ポップの中継ノードとして中継ノード4,6があるが、ここでは記載しない何らかのアルゴリズムによりそのうちのいずれか一つを検索結果とする。ここでは、中継ノード4が検索結果であると仮定し、中継ノード4にクエリフレームを転送する(図6中(4))。
(7).中継ノード4は(2),(3),(4)と同様の処理を行い、中継ノード5にクエリフレームを転送する(図6中(5))。
(8).中継ノード5は(2),(3)と同様の処理を行うが、ノードCはリソース,サービスを提供しておらず、クローズドノードになっている。このため中継ノード5は検索結果を得られず、差し戻し処理が開始される。
(9).中継ノード5は、クエリフレームの差し戻しチェックフィールドF1を「差し戻し」を示すように”1”に更新し、差し戻し元IPアドレスフィールドF2に自ノードのIPアドレス「IP−5」を書き込み、かつ、中継ノード数F3が示す段数のアドレススタックF4のIPアドレスである「IP−4」を宛先のIPアドレス、自ノードのIPアドレスを発信元のIPアドレスとして、クエリフレームを転送する(図7中(6))。
(10).中継ノード4は、差し戻しチェックフィールドF1」が”1”であることから差し戻しフレームであることを識別する。受信したフレーム内の「検索リソース文字列」が示す検索リソース名から「差し戻し元IPアドレスフィールドF2」が示すIPアドレス(IP−3)を除外して検索ツリーを再作成する。再構成したツリーに対して、項2項3の処理を行うが、検索結果が得られないため、差し戻し処理を継続する。
(11).中継ノード4は、中継ノード数F3が”1”以上であることを識別する。中継ノード数F3を”1”デクリメントする。中継ノード数F3が示す段数のアドレススタックF4にスタックされているIPアドレス「IP−3」を取得する。差し戻し元IPアドレスフィールドF2に自ノードのIPアドレスである「IP−4」を書き込み、取得したIPアドレス「IP−3」にクエリフレームを転送する(図7中(7))。
(12).中継ノード3は、差し戻しチェックフィールドF1が”1”であることから差し戻しフレームであることを識別する。受信したフレーム内の検索リソース文字列が示す検索リソース名から差し戻し元IPアドレスフィールドF2が示すIPアドレス「IP−3」を除外して検索ツリーを再作成する。再構成したツリーに対して、(2),(3)の処理を行い、検索結果として”IP−6”を得る。検索結果を得たことで差し戻し処理の終了の終了を決定する。
(13).中継ノード3は、差し戻しチェックフィールドF1の「差し戻し」指示を解除するために”0”に変更する。検索結果として得られたIPアドレス「IP−6」を宛先のIPアドレス、自ノードのIPアドレス「IP−3」を発信元のIPアドレスとして、クエリフレームを送信する(図8中(8))。
(14).中継ノード6は(2),(3),(4)と同様の処理を行い、ノードBにクエリフレームを転送する(図8(9))。
(15).ノードBは、(2),(3)の処理を行い、検索結果が自局のIPである(自身が発見対象のリソース“resouce/music/rock.mp3”を有している)ことから、”送信元ノードのIP”フィールドのIP−A、つまりノードAに向けてTCPコネクションを張り、ファイル転送を開始する(図8中(10))。
図9は、中継ノードの一実施形態のブロック図を示す。同図中、検索テーブルDB10は、リソース,サービス名から次の転送先ノードを検索するために使われるツリー情報を有するデータベースである。
検索テーブルDB10は、図10の構成図に示すように、エントリ毎に独立の番号を示すフィールドであるエントリ番号(No.)と、本エントリの前に検索したエントリ番号である前エントリ番号を有する。これによって、ツリー構造を示すことが可能となる。また、エントリ番号毎に、検索時に使う文字列であってリソース,サービス名の一部を示す名前と、引き続き検索が必要(途中の枝)か、不要(末枝)かを示すツリー終了フラグ(”1”で終了、”0”で未終了を示す)、ツリー終了フラグが”1”のときに得られる次の転送先ノードとなり得るIPアドレスの数を示すIPアドレス数、IPアドレス数で示された数分のIPアドレスが格納されるフィールドを有する。
また、区切り文字保持部12には、リソース,サービス名の区切り文字が格納され、自局IPアドレス保持部14には、自局のIPアドレス(自ノードのIPアドレス)が格納される。上記の区切り文字,自局IPアドレスは予めコンソールから入力されるものとする。
図9において、通信終端部16は、ネットワークからの通信を電気的に終端する。ネットワークから受信したフレームはフィールド判定部18に渡される。また、IPフレーム作成部20から渡されたフレームを電気的にネットワークへ送信する。
フレーム判定部18は、通信終端部16から渡されたフレームの図5に示すコマンド種別と、差し戻しチェックフィールドF1を識別し、次に処理を行う機能ブロックを決定して当該フレームを渡す。ここでは、コマンド種別=クエリ、差し戻しチェックフィールドF1=0(差し戻しフレームではない)の場合は当該フレームをテーブル検索部22に渡す。コマンド種別=クエリ、差し戻しチェックフィールドF1=1(差し戻しフレーム)の場合は当該フレームを差し戻し元IPアドレス抽出部24に渡す。また、コマンド種別=名前経路情報の場合(名前経路情報のフレーム)、差し戻しチェックフィールドF1の値に拘わらず名前経路設定部28に当該フレームを渡す。
差し戻し元IPアドレス抽出部24は、フレーム判定部18から渡されたフレームの差し戻し元IPアドレスフィールドF2のIPアドレスを識別して、テーブル制御部26にフレーム内の検索リソース文字列と、その検索結果となる差し戻し元IPアドレスフィールドF2のIPアドレスを引数として、削除指示を出す。
これにより、テーブル制御部26は検索テーブルDB10を検索し、当該文字列を検索した結果のツリー終了フラグ=1のエントリのIPアドレスから、差し戻し元IPアドレス抽出部24より指示されたIPアドレスを削除し、IPアドレス数のエントリを”1”だけデクリメントする。そして、テーブル更新の終了を差し戻し元IPアドレス抽出部24に通知する。差し戻し元IPアドレス抽出部24は、この通知を受けてテーブル検索部22にフレームを渡す。
名前経路設定部28は、フレーム判定部18から供給される名前経路設定フレームに応じてテーブル制御部26に対し検索テーブルDB10の構築時の追加/削除指示を行う。
テーブル制御部26は、検索テーブルDB10の構築/再構築を行う。まず、区切り文字保持部12にアクセスし、予め決められた区切り文字を取得し、フレーム内の検索リソース文字列を当該区切り文字毎に分解し、エントリ番号と前エントリ番号をキーにエントリをたどりながら検索テーブルDB10を検索する。その結果、以下のいずれかとなる。
差し戻し元IPアドレス抽出部24からの削除指示の場合、検索結果が得られたときは、検索テーブルDB10のツリー終了フラグ=1のエントリのIPアドレスから、差し戻し元IPアドレス抽出部24より指示されたIPアドレスを削除し、IPアドレス数のフィールドを”1”だけデクリメントする。そして、テーブル更新の終了を差し戻し元IPアドレス抽出部24に通知する。一方、検索結果が得られなかったときは、フィールドに対する処理は行わず、テーブル更新の終了を差し戻し元IPアドレス抽出部24に通知する。
名前経路設定部28からの追加指示(テーブル構築時の処理)の場合、検索結果が得られたときは、ツリー終了フラグ=1のエントリの”IPアドレス”から、名前経路設定部28から指示されたIPアドレスを追加し、IPアドレス数のフィールドを”1”だけインクリメントし、名前経路設定部28に通知する。一方、検索結果が得られないときは、エントリの追加処理を行う。検索テーブルDB10のエントリ番号を空き番号から新規に追加し、前エントリ番号に前にヒットしたエントリ番号フィールド値を書き込み、名前フィールドに検索文字列を書き込む。検索文字列が区切り文字で区切られた最後の文字列(例えばrock.mp3)の場合、ツリー終了フラグに”1”を、IPアドレス数に”1”を、IPアドレス1にフレーム内の送信元IPアドレスの値を書き込む。
テーブル検索部22はフレーム判定部18または差し戻し元IPアドレス抽出部24から渡されたクエリフレームから次に転送するノードのIPアドレスを抽出する。まず、区切り文字保持部12にアクセスし、予め決められた区切り文字を取得する。次に、フレーム内の検索リソース文字列を当該区切り文字毎に分解し、検索テーブルDB10のエントリ番号と前エントリ番号をキーにエントリをたどりながら検索する。その結果、以下のいずれかとなる。
テーブルヒットの場合、つまり、検索テーブルDB10のツリー終了フラグ=1のエントリからIPアドレスを得た場合、それを検索結果とする。なお、複数の検索結果が得られた場合、ここでは記載しない何らかのアルゴリズムによりそのうちのいずれか一つを検索結果とする。
そして、自局IPアドレス保持部14から自局のIPアドレスを得て、検索テーブルDB10から得られたIPアドレスと自局のIPアドレスを比較し、両IPアドレスが異なる場合(他局の場合)、検索結果のIPアドレスをIPフレーム作成部20がフレームを作成するときの宛先IPアドレスとする。差し戻しチェックフィールド判定部B30にフレームを渡す。両IPアドレスが同じ場合(自局の場合)、クエリフレームが要求するリソース,サービスを自ノードが有しているTCPセッションを発信元と張るためのアプリケーション32に転送する。
テーブル未ヒットの場合、つまり、名前フィールドに合致するエントリがない場合、差し戻しチェックフィールド判定部A34にクエリフレームを渡す。
差し戻しチェックフィールド判定部A34は、テーブル検索部22から渡されたフレームの差し戻しチェックフィールドF1の値を識別し、次に処理を行う機能ブロックを決定する。差し戻しチェックフィールドF1=0のときは、差し戻し元IPアドレスフィールド更新部36にフレームを渡す。差し戻しチェックフィールドF1=1のときは、中継ノード数@経由ノードフィールド確認部38にフレームを渡す。
差し戻しチェックフィールド判定部B30は、テーブル検索部22から渡されたフレームの差し戻しチェックフィールドF1の値を識別し、次に処理を行う機能ブロックを決定する。なお、決定のルールは差し戻しチェックフィールド判定部A34とは異なっている。差し戻しチェックフィールドF1=0のときは、アドレススタック@経由ノードフィールド制御部40にフレームを渡す。差し戻しチェックフィールドF1=1のときは、差し戻しチェックフィールド更新部42にフレームを渡す。
中継ノード数@経由ノードフィールド確認部38は、経由ノードフィールド内の中継ノード数F3を識別する。識別結果によって動作は以下のようになる。中継ノード数F3=0の場合、自ノードがクエリフレームの送信ノードである。これ以上の差し戻し先がないため、クエリフレームの送信要求を出したアプリケーション44に通知する。中継ノード数F3=1以上の場合、差し戻し元IPアドレスフィールド更新部36にフレームを渡す。
差し戻しチェックフィールド更新部42は、差し戻しチェックフィールドF1の値を変更する。差し戻しチェックフィールドF1の値を0から1に変更してアドレススタック@経由ノードフィールド制御部40にフレームを渡す。また、差し戻しチェックフィールドF1の値を1から0に変更してIPフレーム作成部20にフレームを渡す。
差し戻し元IPアドレスフィールド更新部36は、自局IPアドレス保持部14から自局のIPアドレスを獲得し、フレームの差し戻し元IPアドレスフィールドF2を自局IPアドレスに更新し、アドレススタック@経由ノードフィールド制御部40にフレームを渡す。
アドレススタック@経由ノードフィールド制御部40は、フレームの経由ノードフィールドに対して下記の処理を行う。差し戻しチェックフィールド判定部B30からフレームが渡された場合、中継ノード数F3を”1”だけインクリメントし、自局IPアドレス保持部14から得た自ノードのIPアドレスを、中継ノード数F3が示す段数のアドレススタックF4にスタックする。また、テーブル検索部22で取得したIPアドレスを送信先IPアドレスとしてIPフレーム作成部20に通知し、IPフレーム作成部20にフレームを渡す。なお、経由アドレスフィールドから次転送先のIPアドレスは取得しない。
また、アドレススタック@経由ノードフィールド制御部40は、差し戻し元IPアドレスフィールド更新部36からフレームが渡された場合、中継ノード数F3を”1”だけデクリメントし、中継ノード数F3が示す段数のアドレススタックF4にスタックされているIPアドレスを取得する。そして、取得したIPアドレスを送信先IPアドレスとしてIPフレーム作成部20に通知し、IPフレーム作成部20にフレームを渡す。
また、アドレススタック@経由ノードフィールド制御部40は、差し戻しチェックフィールド更新部42からフレームが渡された場合、中継ノード数F3が示す段数のアドレススタックF4にスタックされているIPアドレスを取得する。そして、取得したIPアドレスを送信先IPアドレスとして、IPフレーム作成部20に通知し、IPフレーム作成部20にフレームを渡す。
IPフレーム作成部20は、送信元IPアドレス及び送信先IPアドレスを得てIPフレームの作成を行う。送信元IPアドレスは自局IPアドレス保持部14から得る。送信先アドレスのパターンは以下の通りである。テーブル検索部22で未ヒット時には、アドレススタック@経由ノードフィールド制御部40で獲得し経由ノードフィールドにスタックされていたIPアドレスを用いる。テーブル検索部22でヒット時には、検索テーブルDB10で得たIPアドレスを用いる。
コンソール部46は、区切り文字保持部12と自局IPアドレス保持部14の設定を予め行うユーザの入出力を扱うインタフェースである。
図11は、差し戻し前のクエリフレームを中継する中継ノードにおいてフレームが経由するブロックのフローチャートを示す。同図中、ステップS11で通信終端部16はネットワークからフレームを受信する。ステップS12でフレーム判定部18は受信フレームをクエリフレームと判定する。ステップS13でテーブル検索部22はテーブルヒット、かつ、他局と判定する。
次に、ステップS14で差し戻しチェックフィールド判定部B30は差し戻しチェックフィールドF1=0と判定する。ステップS15でアドレススタック@経由ノードフィールド制御部40は、フレームの中継ノード数F3を”1”だけインクリメントし、自ノードのIPアドレスを中継ノード数F3が示す段数のアドレススタックF4にスタックし、テーブル検索部22で取得したIPアドレスを送信先IPアドレスとする。ステップS16でIPフレーム作成部20はIPフレームを作成して通信終端部16からネットワークに送出する。
図12は、差し戻しをする中継ノードにおいてフレームが経由するブロックのフローチャートを示す。同図中、ステップS21で通信終端部16はネットワークからフレームを受信する。ステップS22でフレーム判定部18は受信フレームをクエリフレームと判定する。ステップS23でテーブル検索部22はテーブル未ヒットと判定する。
次に、ステップS24で差し戻しチェックフィールド判定部A34はフレームの差し戻しチェックフィールドF2=0と判定する。ステップS25で差し戻し元IPアドレスフィールド更新部36はフレームの差し戻し元IPアドレスフィールドF2を自局IPアドレスに更新する。ステップS26で差し戻しチェックフィールド更新部42は差し戻しチェックフィールドF1=1に更新する。ステップS27でアドレススタック@経由ノードフィールド制御部40は、中継ノード数F3が示す段数のアドレススタックF4にスタックされているIPアドレスを送信先IPアドレスとする。ステップS28でIPフレーム作成部20はIPフレームを作成して通信終端部16からネットワークに送出する。
図13は、差し戻しフレームを受信した中継ノード(転送先が見つかった場合)においてフレームが経由するブロックのフローチャートを示す。同図中、ステップS31で通信終端部16はネットワークからフレームを受信する。ステップS32でフレーム判定部18は受信フレームを差し戻しクエリフレームと判定する。ステップS33で差し戻しIPアドレス抽出部24はフレームの差し戻し元IPアドレスフィールドF2のIPアドレスを識別して削除指示を出す。ステップS34でテーブル検索部22はテーブルヒットかつ、他局と判定する。
次に、ステップS35で差し戻しチェックフィールド判定部B30は差し戻しチェックフィールドF1=1と判定する。ステップS36で差し戻しチェックフィールド更新部42はフレームの差し戻しチェックフィールドF1=0に更新する。ステップS37でIPフレーム作成部20はIPフレームを作成して通信終端部16からネットワークに送出する。
図14は、差し戻しフレームを受信した中継ノード(転送先が見つからない場合)においてフレームが経由するブロックのフローチャートを示す。同図中、ステップS41で通信終端部16はネットワークからフレームを受信する。ステップS42でフレーム判定部18は受信フレームを差し戻しクエリフレームと判定する。ステップS43で差し戻しIPアドレス抽出部24はフレームの差し戻し元IPアドレスフィールドF2のIPアドレスを識別して削除指示を出す。ステップS44でテーブル検索部22はテーブル未ヒットと判定する。
次に、ステップS45で差し戻しチェックフィールド判定部A34はフレームの差し戻しチェックフィールドF1=1と判定する。ステップS46で中継ノード数@経由ノードフィールド確認部38は中継ノード数F3=1以上と判定する。ステップS47で差し戻し元IPアドレスフィールド更新部36はフレームの差し戻し元IPアドレスフィールドF2を自局IPアドレスに更新する。ステップS48でアドレススタック@経由ノードフィールド制御部40は中継ノード数F3を”1”だけデクリメントし、中継ノード数F3が示す段数のアドレススタックF4にスタックされているIPアドレスを取得してフレームの送信先IPアドレスとする。ステップS49でIPフレーム作成部20はIPフレームを作成して通信終端部16からネットワークに送出する。
図15は、差し戻しフレームを受信した中継ノード(転送先が見つからず、クエリフレームの送信元まで差し戻された場合)においてフレームが経由するブロックのフローチャートを示す。同図中、ステップS51で通信終端部16はネットワークからフレームを受信する。ステップS52でフレーム判定部18は受信フレームを差し戻しクエリフレームと判定する。ステップS53で差し戻しIPアドレス抽出部24はフレームの差し戻し元IPアドレスフィールドF2のIPアドレスを識別して削除指示を出す。ステップS54でテーブル検索部22はテーブルテーブル未ヒットと判定する。
次に、ステップS55で差し戻しチェックフィールド判定部A34はフレームの差し戻しチェックフィールドF1=1と判定する。ステップS56で中継ノード数@経由ノードフィールド確認部38は中継ノード数F3=0と判定する。ステップS57で中継ノード数@経由ノードフィールド確認部38はクエリフレームの送信元アプリケーション44に要求リソースが網上になく、クエリフレームが戻ってきた旨を通知する。
図16は、クエリフレームを終端する中継ノードにおいてフレームが経由するブロックのフローチャートを示す。同図中、ステップS61で通信終端部16はネットワークからフレームを受信する。ステップS62でフレーム判定部18は受信フレームをクエリフレームと判定する。ステップS63でテーブル検索部22はテーブルヒットかつ、自局と判定する。ステップS64でテーブル検索部22はクエリフレームの受信先アプリケーションにクエリフレームを転送する。
なお、差し戻しチェックフィールド更新部42が請求項または付記に記載の差し戻しチェックフィールド更新手段に対応し、アドレススタック@経由ノードフィールド制御部40がアドレススタック手段に対応し、差し戻し元IPアドレス抽出部24がスタックアドレス抽出手段に対応し、差し戻し元IPアドレスフィールド更新部36が差し戻し元アドレス更新部に対応し、テーブル制御部26がテーブル制御手段に対応する。
ところで、広域アドレスと閉域アドレスの登録のみに着目している特許文献1のものでは、中継ノードによるデータフレームの差し戻しという概念及びそれに関連する技術がそもそも存在しない。また、特許文献2のものでは、宛先となるノードは一つであることを前提としており、中継ノードによる差し戻しという概念及びそれに関連する技術がそもそも存在しない。
(付記1)
ネットワークを構成する複数のノードが自ノードの有するリソース,サービスを公開しており、前記リソース,サービスを識別する識別子と前記リソース,サービスを公開したノードのネットワーク上でのアドレスを前記ネットワークで中継を行う中継ノード間で交換して各中継ノードに検索テーブルを構築し、あるノードから前記識別子を用いて所望のリソース,サービスのアクセス要求を行うと、前記アクセス要求の識別子で各中継ノードの検索テーブルを検索して前記所望のリソース,サービスを公開しているノードにアクセスするネットワークのリソース,サービス発見方法において、
任意ノードでリソース,サービスの提供が停止した場合、前記提供が停止したリソース,サービスの識別子に対し前記任意ノードのアドレスの他に別ノードのアドレスが登録された検索テーブルを持つ中継ノードにて、前記提供が停止したリソース,サービスに対するアクセス要求を、前記任意のノードから前記別ノード宛に振り替えることを特徴とするネットワークのリソース,サービス発見方法。
(付記2)
付記1記載のネットワークのリソース,サービス発見方法において、
前記任意ノードで提供が停止したリソース,サービスについての各中継ノードの検索テーブルの変更を、前記提供が停止したリソース,サービスに対するアクセス要求に付加して前記各中継ノードに通知することを特徴とするネットワークのリソース,サービス発見方法。
(付記3)
ネットワークを構成する複数のノードが自ノードの有するリソース,サービスを公開しており、前記リソース,サービスを識別する識別子と前記リソース,サービスを公開したノードのネットワーク上でのアドレスを前記ネットワークで中継を行う中継ノード間で交換して各中継ノードに検索テーブルを構築し、あるノードから前記識別子を用いて所望のリソース,サービスのアクセス要求を行うと、前記アクセス要求の識別子で各中継ノードの検索テーブルを検索して前記所望のリソース,サービスを公開しているノードにアクセスするネットワークの中継ノード装置において、
任意ノードでリソース,サービスの提供が停止したために前記アクセス要求で検索テーブルを検索して検索結果が得られなかったとき、前記アクセス要求を前記任意のノードから別ノード宛に振り替えるための差し戻し指示を転送するアクセス要求に書き込む差し戻しチェックフィールド更新手段と、
前記差し戻し指示のないアクセス要求の転送時に自中継ノードのアドレスを前記アクセス要求内にスタックするアドレススタック手段と、
受信した前記差し戻し指示のアクセス要求を転送元の中継ノードに差し戻すため前記アクセス要求内にスタックされている自中継ノードへの転送元の中継ノードのアドレスを抽出するスタックアドレス抽出手段を
有することを特徴とする中継ノード装置。
(付記4)
付記3記載の中継ノード装置において、
前記差し戻し指示のアクセス要求の転送時に自ノードのアドレスを差し戻し元アドレスとして書き込む差し戻し元アドレス更新部を
有することを特徴とする中継ノード装置。
(付記5)
付記4記載の中継ノード装置において、
前記検索テーブルから、受信した前記差し戻し指示のアクセス要求の前記差し戻し元アドレスを削除するテーブル制御手段を
有することを特徴とする中継ノード装置。
(付記6)
付記5記載の中継ノード装置において、
前記アクセス要求の識別子で各中継ノードの検索テーブルを検索するテーブル検索手段は、前記テーブル制御手段で前記差し戻し元アドレスが削除された後の検索テーブルを検索することを特徴とする中継ノード装置。
(付記7)
付記3乃至6のいずれか記載の中継ノード装置において、
前記スタックアドレス抽出手段は、前記アクセス要求内にスタックされている自中継ノードへの転送元の中継ノードのアドレスを抽出したのち、前記アクセス要求から抽出した中継ノードのアドレスを削除することを特徴とする中継ノード装置。
分散型のリソース,サービスの発見手順の一例を説明するための図である。 名前経路情報の配布フェーズのフローチャートを示す図である。 リソース,サービスの発見フェーズのフローチャートを示す図である。 本発明の実現イメージを示す図である。 本発明で用いるクエリフレームのフォーマットを示す図である。 本発明の差し戻し発生時のフレームのフローチャートである。 本発明の差し戻し発生時のフレームのフローチャートである。 本発明の差し戻し発生時のフレームのフローチャートである。 中継ノードの一実施形態のブロック図である。 検索テーブルDBの構成図である。 差し戻し前のクエリフレームを中継する中継ノードにおいてフレームが経由するブロックのフローチャートである。 差し戻しをする中継ノードにおいてフレームが経由するブロックのフローチャートである。 差し戻しフレームを受信した中継ノード(転送先が見つかった場合)においてフレームが経由するブロックのフローチャートである。 差し戻しフレームを受信した中継ノード(転送先が見つからない場合)においてフレームが経由するブロックのフローチャートである。 差し戻しフレームを受信した中継ノード(転送先が見つからず、クエリフレームの送信元まで差し戻された場合)においてフレームが経由するブロックのフローチャートである。 クエリフレームを終端する中継ノードにおいてフレームが経由するブロックのフローチャートである。
符号の説明
10 検索テーブルDB
12 区切り文字保持部
14 自局IPアドレス保持部
16 通信終端部
18 フィールド判定部
20 IPフレーム作成部
22 テーブル検索部
24 差し戻し元IPアドレス抽出部
26 テーブル制御部
28 名前経路設定部
30 差し戻しチェックフィールド判定部B
32,44 アプリケーション
34 差し戻しチェックフィールド判定部A
36 差し戻し元IPアドレスフィールド更新部
38 中継ノード数@経由ノードフィールド確認部
40 アドレススタック@経由ノードフィールド制御部
42 差し戻しチェックフィールド更新部
46 コンソール部

Claims (5)

  1. ネットワークを構成する複数のノードが自ノードの有するリソース,サービスを公開しており、前記リソース,サービスを識別する識別子と前記リソース,サービスを公開したノードのネットワーク上でのアドレスを前記ネットワークで中継を行う中継ノード間で交換して各中継ノードに検索テーブルを構築し、あるノードから前記識別子を用いて所望のリソース,サービスのアクセス要求を行うと、前記アクセス要求の識別子で各中継ノードの検索テーブルを検索して前記所望のリソース,サービスを公開しているノードにアクセスするネットワークのリソース,サービス発見方法において、
    任意ノードでリソース,サービスの提供が停止した場合、前記提供が停止したリソース,サービスの識別子に対し前記任意ノードのアドレスの他に別ノードのアドレスが登録された検索テーブルを持つ中継ノードにて、前記提供が停止したリソース,サービスに対するアクセス要求を、前記任意のノードから前記別ノード宛に振り替えることを特徴とするネットワークのリソース,サービス発見方法。
  2. 請求項1記載のネットワークのリソース,サービス発見方法において、
    前記任意ノードで提供が停止したリソース,サービスについての各中継ノードの検索テーブルの変更を、前記提供が停止したリソース,サービスに対するアクセス要求に付加して前記各中継ノードに通知することを特徴とするネットワークのリソース,サービス発見方法。
  3. ネットワークを構成する複数のノードが自ノードの有するリソース,サービスを公開しており、前記リソース,サービスを識別する識別子と前記リソース,サービスを公開したノードのネットワーク上でのアドレスを前記ネットワークで中継を行う中継ノード間で交換して各中継ノードに検索テーブルを構築し、あるノードから前記識別子を用いて所望のリソース,サービスのアクセス要求を行うと、前記アクセス要求の識別子で各中継ノードの検索テーブルを検索して前記所望のリソース,サービスを公開しているノードにアクセスするネットワークの中継ノード装置において、
    任意ノードでリソース,サービスの提供が停止したために前記アクセス要求で検索テーブルを検索して検索結果が得られなかったとき、前記アクセス要求を前記任意のノードから別ノード宛に振り替えるための差し戻し指示を転送するアクセス要求に書き込む差し戻しチェックフィールド更新手段と、
    前記差し戻し指示のないアクセス要求の転送時に自中継ノードのアドレスを前記アクセス要求内にスタックするアドレススタック手段と、
    受信した前記差し戻し指示のアクセス要求を自中継ノードへの転送元の中継ノードに差し戻すため前記アクセス要求内にスタックされている転送元の中継ノードのアドレスを抽出するスタックアドレス抽出手段を
    有することを特徴とする中継ノード装置。
  4. 請求項3記載の中継ノード装置において、
    前記差し戻し指示のアクセス要求の転送時に自ノードのアドレスを差し戻し元アドレスとして書き込む差し戻し元アドレス更新部を
    有することを特徴とする中継ノード装置。
  5. 請求項4記載の中継ノード装置において、
    前記検索テーブルから、受信した前記差し戻し指示のアクセス要求の前記差し戻し元アドレスを削除するテーブル制御手段を
    有することを特徴とする中継ノード装置。
JP2004203676A 2004-07-09 2004-07-09 ネットワークのリソース,サービス発見方法及び中継ノード装置 Expired - Fee Related JP4334424B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004203676A JP4334424B2 (ja) 2004-07-09 2004-07-09 ネットワークのリソース,サービス発見方法及び中継ノード装置
US11/024,174 US7680130B2 (en) 2004-07-09 2004-12-28 Method for finding resource and service in network and relay node apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004203676A JP4334424B2 (ja) 2004-07-09 2004-07-09 ネットワークのリソース,サービス発見方法及び中継ノード装置

Publications (2)

Publication Number Publication Date
JP2006025355A true JP2006025355A (ja) 2006-01-26
JP4334424B2 JP4334424B2 (ja) 2009-09-30

Family

ID=35541304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004203676A Expired - Fee Related JP4334424B2 (ja) 2004-07-09 2004-07-09 ネットワークのリソース,サービス発見方法及び中継ノード装置

Country Status (2)

Country Link
US (1) US7680130B2 (ja)
JP (1) JP4334424B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007086250A1 (ja) * 2006-01-30 2007-08-02 Brother Kogyo Kabushiki Kaisha 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体
JP2007235818A (ja) * 2006-03-03 2007-09-13 Nec Corp 広告・検索エージェント
JP2007233652A (ja) * 2006-02-28 2007-09-13 Brother Ind Ltd コンテンツ配信システム、コンテンツ配信システムの情報処理方法および端末装置
KR101099993B1 (ko) 2006-12-07 2011-12-28 미쓰비시덴키 가부시키가이샤 무선 통신 시스템, 무선 단말국, 무선 기지국 및 무선 통신 방법
JP2013034240A (ja) * 2012-10-25 2013-02-14 Toshiba Corp 送信装置
JP2013514733A (ja) * 2009-12-17 2013-04-25 アルカテル−ルーセント ピアツーピア・ネットワーク内でサービスを突き止める方法および装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686183B2 (en) 2005-12-06 2017-06-20 Zarbaña Digital Fund Llc Digital object routing based on a service request
US7889691B2 (en) * 2007-11-13 2011-02-15 Telcordia Technologies, Inc. Method of broadcasting packets in ad-hoc network
US8069023B1 (en) * 2008-09-02 2011-11-29 Juniper Networks, Inc. Hardware support for instruction set emulation
US20110153737A1 (en) * 2009-12-17 2011-06-23 Chu Thomas P Method and apparatus for decomposing a peer-to-peer network and using a decomposed peer-to-peer network
WO2011116060A1 (en) 2010-03-19 2011-09-22 Telcordia Technologies, Inc. Multimedia service network and method for providing the same
US8711844B2 (en) * 2011-01-10 2014-04-29 Vtech Telecommunications Limited Peer-to-peer, internet protocol telephone system with proxy interface for configuration data
US9667530B2 (en) * 2013-05-06 2017-05-30 International Business Machines Corporation Privacy preserving query method and system for use in federated coalition networks
GB2519119A (en) 2013-10-10 2015-04-15 Ibm Linear network coding in a dynamic distributed federated database
US9667528B2 (en) * 2014-03-31 2017-05-30 Vmware, Inc. Fast lookup and update of current hop limit
JP2022187285A (ja) * 2021-06-07 2022-12-19 富士通株式会社 管理装置,ストレージシステム及び情報処理方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2909165B2 (ja) * 1990-07-27 1999-06-23 株式会社東芝 広帯域通信網、エンドユーザ端末、通信網、広帯域通信ノード、通信ノード、インターフェースアダプタ、マルチポイント接続インターフェース、マルチポイント接続制御装置及びアクセスユニット
US5727157A (en) * 1990-09-17 1998-03-10 Cabletron Systems, Inc. Apparatus and method for determining a computer network topology
FI92361C (fi) * 1992-12-14 1994-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon solmu
FI94814C (fi) * 1993-11-30 1995-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon tilaajasolmu
FI94815C (fi) * 1993-11-30 1995-10-25 Nokia Telecommunciations Oy Menetelmä sekä järjestelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi
US5521909A (en) * 1994-07-22 1996-05-28 Newbridge Networks Corporation Frame relay management system
JPH1070552A (ja) 1996-08-28 1998-03-10 Oki Electric Ind Co Ltd ルーチングテーブル生成方法
US5953312A (en) * 1996-09-13 1999-09-14 Bay Networks Method and apparatus for determining alternate routes in a network using a connection-oriented protocol
US6647008B1 (en) * 1997-12-19 2003-11-11 Ibm Corporation Method and system for sharing reserved bandwidth between several dependent connections in high speed packet switching networks
JP2001203739A (ja) 2000-01-18 2001-07-27 Fujitsu Ltd 通信経路制御方法及びその装置
US7327683B2 (en) * 2000-03-16 2008-02-05 Sri International Method and apparatus for disseminating topology information and for discovering new neighboring nodes
JP3814185B2 (ja) * 2000-11-13 2006-08-23 松下電器産業株式会社 基地局装置、移動通信端末装置、及びそれらを用いた無線アクセスシステム
US7333482B2 (en) * 2000-12-22 2008-02-19 Interactive People Unplugged Ab Route optimization technique for mobile IP
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
WO2002087175A1 (fr) * 2001-04-19 2002-10-31 Fujitsu Limited Procede et appareil de restauration/protection
AU2002355000A1 (en) * 2001-07-20 2003-03-03 British Telecommunications Public Limited Company Method and apparatus for creating connections in networks
US7215640B2 (en) * 2002-07-11 2007-05-08 Hitachi, Ltd. Method and apparatus for path configuration in networks
US7464166B2 (en) * 2003-04-11 2008-12-09 Telefonaktiebolaget Lm Ericsson (Publ) Contention-based forwarding with integrated multi-user detection capability
US20040233849A1 (en) * 2003-05-23 2004-11-25 Cole Eric B. Methodologies, systems and computer readable media for identifying candidate relay nodes on a network architecture
JP2005050286A (ja) * 2003-07-31 2005-02-24 Fujitsu Ltd ネットワークノードマシンおよび情報ネットワークシステム
JP4766976B2 (ja) * 2005-09-29 2011-09-07 富士通株式会社 ノード間接続方法及び装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007086250A1 (ja) * 2006-01-30 2007-08-02 Brother Kogyo Kabushiki Kaisha 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体
US7853718B2 (en) 2006-01-30 2010-12-14 Brother Kogyo Kabushiki Kaisha Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program
JP2007233652A (ja) * 2006-02-28 2007-09-13 Brother Ind Ltd コンテンツ配信システム、コンテンツ配信システムの情報処理方法および端末装置
JP4696972B2 (ja) * 2006-02-28 2011-06-08 ブラザー工業株式会社 コンテンツ配信システム、コンテンツ配信システムの情報処理方法および端末装置
JP2007235818A (ja) * 2006-03-03 2007-09-13 Nec Corp 広告・検索エージェント
JP4683223B2 (ja) * 2006-03-03 2011-05-18 日本電気株式会社 広告・検索エージェント
KR101099993B1 (ko) 2006-12-07 2011-12-28 미쓰비시덴키 가부시키가이샤 무선 통신 시스템, 무선 단말국, 무선 기지국 및 무선 통신 방법
JP2013514733A (ja) * 2009-12-17 2013-04-25 アルカテル−ルーセント ピアツーピア・ネットワーク内でサービスを突き止める方法および装置
JP2013034240A (ja) * 2012-10-25 2013-02-14 Toshiba Corp 送信装置

Also Published As

Publication number Publication date
US7680130B2 (en) 2010-03-16
JP4334424B2 (ja) 2009-09-30
US20060007942A1 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
JP4334424B2 (ja) ネットワークのリソース,サービス発見方法及び中継ノード装置
KR101607879B1 (ko) 콘텐트 네트워킹을 위한 적응적 다중-인터페이스 사용
Jafari Navimipour et al. A comprehensive study of the resource discovery techniques in Peer-to-Peer networks
KR101153014B1 (ko) 보다 효율적이고 신뢰성 있는 자원 액세스를 용이하게 하기 위한 자원의 컬렉션으로의 조직화
JP4938074B2 (ja) リソースの位置情報の要求方法、当該方法のためのユーザノードおよびサーバ
JP2007519375A (ja) ピアツーピア・ネットワーク通信の改善方法
TWI584194B (zh) 在一服務導向架構(soa)網路中尋求服務之技術
JP6601784B2 (ja) 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム
US20040246911A1 (en) Network location management system
JP2013542681A (ja) コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置
JP4815547B2 (ja) データ同期システム、データ同期方法、及び同期管理サーバ
EP1565839B1 (en) Index server support to file sharing applications
JP5716745B2 (ja) データ転送システム
EP2802108A9 (en) Data-oriented communication system, node, and data transfer method
CN101584192A (zh) 节点注册方法
JP2008304981A (ja) ディレクトリ情報の管理方法、及びディレクトリ情報の管理システム
JP3307894B2 (ja) 通信方法
JP2007207013A (ja) 情報処理装置、情報共有プログラム
JP2007317107A (ja) 情報処理システム、及び情報処理装置、並びに制御プログラム
JP5803924B2 (ja) データ転送システム
JP2003273937A (ja) サービスゲートウェイ装置
JP2009157575A (ja) ネットワーク端末及びコンピュータプログラム
Jiang et al. Lowest-cost network node identification for data caching for information centric networks
KR200349700Y1 (ko) 웹서비스를 기반으로 하는 가상 라우팅 장치
Lee Q+ R tree: An efficient overlay structure for pub/sub based mobile alerting

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090609

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

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

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

Free format text: PAYMENT UNTIL: 20120703

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees