JP4726610B2 - ピアツーピアネットワーク用分散サーバのシステムおよび方法 - Google Patents

ピアツーピアネットワーク用分散サーバのシステムおよび方法 Download PDF

Info

Publication number
JP4726610B2
JP4726610B2 JP2005332620A JP2005332620A JP4726610B2 JP 4726610 B2 JP4726610 B2 JP 4726610B2 JP 2005332620 A JP2005332620 A JP 2005332620A JP 2005332620 A JP2005332620 A JP 2005332620A JP 4726610 B2 JP4726610 B2 JP 4726610B2
Authority
JP
Japan
Prior art keywords
mesh
address
current
network
client
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.)
Expired - Fee Related
Application number
JP2005332620A
Other languages
English (en)
Other versions
JP2006148913A (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006148913A publication Critical patent/JP2006148913A/ja
Application granted granted Critical
Publication of JP4726610B2 publication Critical patent/JP4726610B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • 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 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/14Backbone network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

デバイス間のピアツーピア通信はますます盛んに行われており、ネットワーク通信を提供する方法として定着している。ピアツーピアネットワークは、コンピューティングデバイス群における接続によって緩くバインドされたネットワークであり、これによりコンピューティングデバイスがリソースを直接に共有することができる。多数のピアツーピアネットワークが、他のネットワークインフラストラクチャのバックボーン上に作成されている。通常これらのネットワークインフラストラクチャは、インフラストラクチャがインターネットであれ、または別のローカルネットワークであれ、ある水準の管理を行う。この管理はしばしば、ネットワーク上で宛先をアドレス指定し、これらの宛先に情報をルーティングすることに関与する1または複数のサーバの形態をとる。アドレス指定方式は、宛先をアドレス指定し情報をルーティングするために、1または複数の様々な異なるプロトコルを用いてもよい。例えば、ネットワークインフラストラクチャプロトコルの1つがDHCP(Dynamic Host Configuration Protocol)である。DHCPは、TCP/IPを使用するコンピュータの構成を自動化するためのインターネットプロトコルである。DHCPは、自動的にIPアドレスを割り当て、サブネットマスクやデフォルトルータのようなTCP/IPスタック構成パラメータを配信し、タイムサーバに対するアドレスのようなその他の構成情報を提供するのに用いることができる。もともと、DHCPを用いるネットワークは、DHCPサーバと呼ばれる専用のコンピューティングデバイスによって管理されている。
標準的なDHCPを用いるネットワークのような従来モデルは、インフラストラクチャがないところでは機能しない。事前にネットワークインフラストラクチャまたは管理を必要としない、アドホックな自己形成するピアツーピアネットワークの考えは比較的新しく、越えなければならない障害が多数存在する。その障害の1つが、アドレス指定を管理するための専用コンピューティングデバイスがピアツーピアネットワーク上に備わっていないとき、どのようにアドレス指定方式を提供するか、ということである。
本発明の実施形態は、自己形成するピアツーピアネットワーク用の分散サーバを提供するシステムおよび方法に関するものである。本発明の一態様によれば、多数のメッシュボックスまたはメッシュノードを組み合わせてメッシュネットワークを形成する(ここでメッシュネットワークとは、ネットワークの協調エージェントとして働くメッシュボックスを含んでいるピアツーピアネットワークの1タイプである)。このメッシュネットワークにより、既存のネットワーク構造要素(すなわち、専用サーバなど)の要求がなくても、メッシュノードおよびメッシュノードに接続したクライアントの間にデータを転送することができる。本発明は、選択したメッセージングスキームに従うようにメッシュノードを構成することにより、論理的な、データベース主導型の分散サーバを提供する。このメッセージングスキームは、ネットワークおよびクライアントサブネットのアドレス空間の管理に対する責任を、メッシュネットワーク上に含まれるいろいろなメッシュノードにまで拡張する。
本発明の一態様によれば、管理されたネットワークサービスが不在の場合に、ルーティングされたIPアドレス空間を協調的に管理するためのコンピュータ実施方法を提供する。本方法は、バックボーンネットワーク上の協調エージェントの識別、バックボーンネットワーク上の現在の協調エージェントに対するバックボーンアドレスの選択、現在の協調エージェントに対応するクライアントサブネットアドレスの選択、およびバックボーンネットワーク上の他の協調エージェントへのクライアントサブネットアドレス選択の通知を含む。
本発明の他の態様によれば、コンピュータ可読媒体が提供され、それはメッシュネットワーク上の隣接メッシュノードを識別し、またどのような隣接メッシュノードにも対応するルーティングテーブルを取得するためのコンピュータ実行可能命令を含む。ルーティングテーブルは隣接メッシュノードが行ったアドレス割り当てを含む。この命令にはさらに、メッシュネットワーク上の現在のメッシュノードに対するメッシュ面のアドレスの選択、現在のメッシュノードに対応するアドレスのクライアントサブネット範囲の選択、およびメッシュネットワーク上の他のメッシュノードへの現在のメッシュノードによるクライアントサブネット範囲選択の通知を含む。
また本発明のさらに他の態様によれば、管理されたネットワークサービスが不在の場合に、ルーティングされたIPアドレス空間を協調的に管理するためのシステムは、そこに含まれるメッシュノードを持つメッシュネットワーク、およびメッシュネットワーク内に分散する論理サーバを含み、このサーバは、各メッシュノード上で一連のコンピュータ実行可能命令を実行するように構成されている。各メッシュノードにおいて、サーバ構成は、他のメッシュノードが現在のメッシュノードの通信範囲内にあるかどうかを判定する発見メッセージをブロードキャストすることにより、メッシュネットワーク上の隣接メッシュノードを識別する。それから現在のメッシュノードは、どのような隣接メッシュノードにも対応するルーティングテーブルを取得し、そこではルーティングテーブルは、隣接メッシュノードが行ったアドレス割り当てを含む。それから現在のメッシュノードに対応するアドレスのクライアントサブネット範囲と同様に、メッシュネットワーク上の現在のメッシュノードに対して、メッシュ面のアドレスを選択する。割り当てメッセージを隣接メッシュノードにブロードキャストすることにより、メッシュネットワーク上のその他のメッシュノードにクライアントサブネット範囲選択を通知する。この割り当てメッセージは、現在のメッシュノードによりクライアントサブネット範囲が割り当てられたことを示すインジケータを含む。
本発明の実施形態を、添付図面を参照しながら以下でさらに十分に説明するが、これらの図面はその一部をなし、また図示により本発明を実施する特定の実施形態を示す。しかし、本発明は多数の異なる形態で実施してもよく、ここに示す実施形態に限定されると解釈してはならず、むしろこれらの実施形態は本開示が詳細で完全であるように、また当業者に本発明の範囲を完全に伝えられるように提供されるものである。特に、本発明は方法または装置として実施してもよい。したがって、本発明は完全にハードウエアの実施形態、完全にソフトウエアの実施形態、またはソフトウエアとハードウエアの態様を組み合わせた実施形態の形をとってもよい。したがって以下の詳細な説明を限定する意味で受け取ってはならない。
図1を参照すると、本発明を実施するための例示的システムは、コンピューティングデバイス100のようなコンピューティングデバイスを含む。基本的構成において、コンピューティングデバイス100は典型的に少なくとも1個の処理ユニット102とシステムメモリ104を含む。コンピューティングデバイスの正確な構成とタイプに応じて、システムメモリ104は揮発性(例えば、RAM)、不揮発性(例えば、ROM、フラッシュメモリなど)またはこの2つのある組合せであってもよい。システムメモリ104は典型的にオペレーティングシステム105、1または複数のアプリケーション106を含み、またプログラムデータ107を含んでもよい。この基本的構成を、点線108で囲んだそれらのコンポーネントによって図1に示す。
コンピューティングデバイス100は、また追加の特徴または機能を持ってもよい。例えば、コンピューティングデバイス100は、例えば、磁気ディスク、光学ディスク、テープのような追加のデータストレージデバイス(取り外し可能および/または固定)を備えてもよい。図1において、このような追加のストレージを取り外し可能ストレージ109と固定ストレージ110によって示す。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータのような情報のストレージのためにいろいろな方法や技術で実施した、揮発性および不揮発性、取り外し可能および固定の媒体を含む。システムメモリ104、取り外し可能ストレージ109および固定ストレージ110は、すべてコンピュータストレージ媒体の例である。コンピュータストレージ媒体は、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多様性ディスク(DVD)またはその他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、あるいは所望情報を格納するために用いることができ、またコンピューティングデバイス100がアクセスできるその他の媒体を含むが、これに限定されない。このようなコンピュータストレージ媒体は、どれもコンピューティングデバイス100の一部であってもよい。コンピューティングデバイス100はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置112を有してもよい。ディスプレイ、スピーカ、プリンタなどの出力装置114もまた含んでもよい。これらのデバイスはすべてすでに良く知られており、ここで長々と論じる必要はない。
コンピューティングデバイス100はまた、通信接続(群)116を含み、これにより、コンピューティングデバイスは、ネットワークまたは無線メッシュネットワーク上で、他のコンピューティングデバイス118と通信することができる。通信接続(群)116は通信媒体の一例である。通信媒体は典型的に、コンピュータ可読命令、データ構造、プログラムモジュールまたは、搬送波またはその他のトランスポート機構のような変調データ信号中のその他のデータを具現化する。「変調データ信号」という用語は、情報を信号で符号化するようなやり方で設定または変化された特性を1または複数有する信号を意味する。例えば、通信媒体は有線ネットワークまたは直接有線接続のような有線媒体および音声、RF、赤外線、その他の無線媒体のような無線媒体を含むが、これらに限定されない。ここで使っているコンピュータ可読媒体という用語には、ストレージ媒体と通信媒体の両方が含まれる。
一実施形態においては、アプリケーション106はさらに、本発明によるメッシュネットワーキング機能および/または分散サーバを実施するためのアプリケーション120含む。メッシュネットワークを設定し維持するために、アプリケーション120により表される機能を、追加の入力装置112、出力装置114、およびコンピューティングデバイス100に含まれる通信接続(群)116によってさらに支援してもよい。
図2は、本発明の一例示的実施形態で使用されるモバイルコンピューティングデバイスを示す。図2を参照すると、本発明を実施するため一例示的システムは、モバイルコンピューティングデバイス200のようなモバイルコンピューティングデバイスを含む。モバイルコンピューティングデバイス200は、プロセッサ260、メモリ262、ディスプレイ228、キーパッド232を有する。メモリ262は一般に揮発性メモリ(例えば、RAM)および不揮発性メモリ(例えば、ROM、フラッシュメモリなど)の両方を含む。モバイルコンピューティングデバイス200は、マイクロソフトコーポレーションのWindows(登録商標) CEオペレーティングシステムまたはその他のオペレーティングシステムのようなオペレーティングシステム264を含み、これはメモリ262に常駐してプロセッサ260上で実行する。キーパッド232は、押しボタン数値ダイヤルパッド(典型的な電話にあるような)、マルチキーキーボード(通常のキーボードのような)などである。ディスプレイ228は、液晶ディスプレイ、またはモバイルコンピューティングデバイスにおいて一般に使われるその他のタイプのディスプレイであってもよい。ディスプレイ228は、タッチセンシティブであってよく、その場合は入力装置としても働く。
1または複数のアプリケーション266は、メモリ262にロードされ、オペレーティングシステム264の上で動作する。アプリケーションプログラムの例としてフォーンダイヤラープログラム、電子メールプログラム、スケジューリングプログラム、PIM(personal information management個人情報管理)プログラム、ワードプロセッシングプログラム、表計算プログラム、インターネットブラウザプログラムなどを含む。モバイルコンピューティングデバイス200はまた、メモリ262の中に不揮発性ストレージ268を含む。この不揮発性ストレージ268は、モバイルコンピューティングデバイス200がパワーダウンしても失われてはならない永続的な情報を格納するのに用いてもよい。アプリケーション266は、ストレージ268において情報を使用し格納してもよく、この情報とは、例えば、電子メールアプリケーションが使用する電子メールまたはその他のメッセージ、PIMが使用するコンタクト情報、スケジューリングプログラムが使用する予約情報、ワードプロセッシングアプリケーションが使用する文書などである。
モバイルコンピューティングデバイス200は、電源装置270を有し、それは1または複数のバッテリとして実装することができる。電源装置270は、さらにACアダプタまたはバッテリを補充または充電する電源格納台(powered docking)のような外部電源を有することも可能である。
モバイルコンピューティングデバイス200は、2種類の外部通知機構、すなわちLED240とオーディオインターフェース274を有している。これらのデバイスは電源装置270に直接接続してもよく、これによって、アクティブ化しているときバッテリ電力節約のため、プロセッサ260やその他のコンポーネントが遮断されても、通知機構によって指定されている時間だけオン状態である。LED240は、デバイスのパワーオン状態を指示するためにユーザが行動を起こすまでずっとオン状態であるようにプログラムしてもよい。オーディオインターフェース274は、可聴信号を送り、またユーザから可聴信号を受け取るために使用する。例えば、オーディオインターフェース274は、電話による会話を容易にするために、可聴出力を供給するためスピーカに、また可聴入力を受信するためにマイクロフォンに接続することができる。
モバイルコンピューティングデバイス200は、無線周波数通信のような、送受信通信機能を果たす無線インターフェース層272を備えることもできる。無線インターフェース層272により、通信事業者またはサービスプロバイダを経由して、モバイルコンピューティングデバイス200および外界間の無線接続が容易になる。無線インターフェース層272との間の送信は、オペレーティングシステム264の制御のもとに行う。言い換えれば、無線インターフェース層272により受信した通信は、オペレーティングシステム264を経由してアプリケーションプログラム266へ配布され、その逆も同様である。
一実施形態において、アプリケーション266はさらに、本発明によるメッシュネットワーキング機能および/または分散サーバを実装するためのアプリケーション280を含む。メッシュネットワークを設定し維持するために、アプリケーション280により表される機能を、モバイルデバイス200に含まれる無線インターフェース層272における構造によってさらに支援してもよい。
図3は、本発明の1つの例示的実施形態に使用することができるメッシュネットワーク300を示す。メッシュネットワーク300は、メッシュノード、インターネットサービスプロバイダ、通信媒体のどのような接続形態を備えていてもよい。また、メッシュネットワーク300は、本発明の精神と範囲を逸脱することなく静的あるいは動的接続形態を有することができる。
このメッシュネットワーク300は、1つまたは複数のインターネットサービスプロバイダ310を含むが、これは1または複数のメッシュノードに対して複数のインターネットアクセスポイントを提供する。各メッシュノードは、メッシュネットワーク300に接続されるいかなる装置をも備えることができる。メッシュノードは、データパケットを送受信でき、またメッシュネットワーク300のルーティングプロトコルに従って他のメッシュノードにデータパケットを転送できる。このメッシュノードは、固定装置でもモバイル機器でも構わない。例えば、メッシュノードが図1に関連して記載されたコンピューティングデバイス100と類似のコンピューティングデバイス312を含んでもよい。メッシュノードはまた、図2に関連して記載されたモバイルコンピューティングデバイス200と類似のモバイルコンピューティングデバイス314を含んでもよい。他の実施形態においては、メッシュノードの他の構成を含んでもよい。例えば、メッシュノードが、メッシュボックス316のように1つのメッシュノードからもう1つのメッシュノードにデータパケットのルーティングするだけの専用コンピューティングデバイスを含んでもよい。
本発明の1つの例示的実施形態では、メッシュネットワーク300が複数のメッシュノードがそのメッシュノード間のいくつかの冗長接続部と接続されているようなネットワーク接続形態を有する。メッシュネットワーク300は、すべてのメッシュノードがメッシュネットワーク内で他のすべてのメッシュノードに接続されている全部のメッシュを含んでいてもよい。メッシュネットワーク300はまた、いくつかのメッシュノードが全部のメッシュ内で組織され、また他のノードが1個か2個のメッシュノードにだけ接続されている部分的メッシュ接続形態を含んでいてもよい。他のメッシュ接続形態では、メッシュネットワークに接続した1または複数のクライアントサブネットを含んでいてもよい。これらのクライアントサブネットには、複数のクライアントが接続することができる。例えば、クライアントサブネットは、メッシュネットワーク以外に、ネットワーク接続を通じて特定のメッシュボックスに接続された1組のコンピューティングデバイスを有することができる。サブネットにおけるこれらのクライアントは、メッシュボックスを通じてトラフィックデータをメッシュネットワークにルーティングすることにより、他のリソースにアクセスできる。メッシュボックスを通じてメッシュネットワークへアクセスすることにより、メッシュボックスがデータのルーティングを管理するので、クライアントの装置はインターネットおよびその他のリソースにアクセスできる。メッシュネットワーク300に対する多様な接続形態は無限にあるので、ここではこれ以上の説明を避ける。
参照番号318は、メッシュノード間の通信媒体を示す。一例として、通信媒体318には有線ネットワークあるいは直結有線接続のような有線媒体、さらに音声、RF、赤外線その他の無線媒体のような無線媒体が含まれるがこれに限定されない。参照番号320は、インターネットサービスプロバイダ310と1または複数のメッシュノードとの間の通信媒体を示す。通信媒体320には、有線ネットワークあるいは直結有線接続のような有線媒体、さらに音声、RF、赤外線その他の無線媒体のような無線媒体を含んでもよい。
メッシュネットワーク300において、メッシュノードはデータパケットを他のメッシュノードおよびインターネットあるいはそのいずれかかと送受信できる。ルーティングテーブルは、一般的にはデータパケットがメッシュネットワークを通じてどのパスを通るかを判定する。データパケットのルーティングは通常はソースノードで規定される。言い換えれば、データパケットがメッシュネットワークを通じて通るルートは、データパケットを送るノードが判定してもよい。あるメッシュノードから別のメッシュノードへ行くようにルーティングされたデータパケットを通常「ホップ」と呼ぶ。例えば、メッシュノード314がデータパケットをメッシュノード316に送ろうとしたとき、メッシュノード314がアクセスできるルーティングテーブルで、ルーティングがメッシュノード322を通るように指示することができる。従って、データパケットは2回「ホップ」することになる(メッシュノード314からメッシュノード322へ、さらにメッシュノード322からメッシュノード316へ)。一般に、メッシュノードに到達するまでにデータパケットが行わなければならない「ホップ」数に比例して、待機時間が増加する。またルーティングテーブルは、目的地に到達するのにデータパケットが通れるいくつかのパスを指示することも可能である。ルーティングテーブルはさらに、「ホップ」の数が大きすぎることを理由に、その目的地のメッシュノードをアクセス不能と指示することもできる。しかし、ルーティングテーブルの使用は、メッシュネットワーク300を通じたデータのルーティングのために、ネットワークノードがアドレスされていることを前提としている。
ピアツーピアネットワーク用分散サーバに関する例示的実施形態
本発明の実施形態は、アドホックネットワークのアドレス空間管理をネットワーク上に含まれる複数のコンピューティングデバイスに分散させることに関するものである。例えば、ネットワークは、1または複数のメッシュボックスあるいはメッシュノードを含んでもよい。これらのメッシュノードは、特定範囲内の他のメッシュボックスと無線ネットワークを自己形成するように構成されている。これらのメッシュノードの多くは、多数のクライアントコンピューティングデバイスをメッシュネットワークに接続させてもよい。他のメッシュノードは、メッシュネットワークに接続しているコンピューティングデバイスにインターネットの出口ポイント(egress points)を提供してもよい。本発明の提供するアドレッシングスキームにより、クライアントコンピューティングデバイスは、そのインターネットトラフィックを、メッシュネットワークを通して、また特定のインターネット出口ポイントに到達するように、ルーティングできる。このアドレッシングスキームは、ルートにおける多重ネットワークアドレス変換(NAT)点を防止する一方で、データのこのルーティングが成立するようにネットワークアドレスを割り当てる。
一実施形態において、メッセージングスキームがメッシュノードにアドレス空間の状態およびそれに加えられた変更を知らせるのに用いられる。このメッセージングスキームにより、管理者あるいは専用サーバを使用することなくアドレス空間を管理するように、メッシュノードを調整する。
各メッシュボックスは、参入するクライアント(メッシュではなく)の接続をリスンするDHCPサーバを実現する。各メッシュボックスは、DHCPデータベースの現在の状態を表すデータ構造を理解したときそれを維持する。メッシュボックスは、DHCPの要求を処理(field)し、前記のメッセージングスキームを他のメッシュボックスにその動きを知らせるのに用い、このようにしてすべてのメッシュボックスの間で一貫したアドレス空間が維持される。
図4は、本発明の一実施形態に関する例示的ピアツーピアトポロジを示す。システム400は、ピアツーピア(P2P)ネットワーク402、ピアツーピア(P2P)コンピューティングデバイス(例えば、メッシュボックス)404、406、408、クライアントサブネット410、420、およびクライアントコンピューティングデバイス412、414、416、420、422、426を含む。
P2Pコンピューティングデバイス(例えば、406)をP2Pネットワークに付加するとき、それらを、アドレス空間の提供された部分を利用するか、あるいはアドレス空間の一部を割り当てるように調整する(図5参照)。自己形成し、自身で管理するP2Pネットワークにおいては、単一DHCPサーバの概念はありえない。DHCPサーバは誰か個人が(例えば、管理者)それを設定し、管理することを必要とする。P2Pネットワーク402において、管理者も制御ポイントも存在せず、DHCPサービスについて依存できるネットワーク基盤も存在しない。本発明により、DHCPはP2Pネットワーク402上の複数の位置や複数のデバイスから(例えば、406)アドレスを指定することができる。P2Pネットワーク402を自己形成するデバイス(例えば、406)は、単一の分散DHCPデータベースにより動作する一方で、DHCPサービスをまたそのクライアントコンピューティングデバイス(例えば、412)に提供する。例えば、自己形成するメッシュネットワーク(例えば、ネットワーク402)では、メッシュボックス(例えば、406)がお互いを発見し、互いに認証しあい、P2Pネットワークを形成する。本発明に従ってP2Pネットワークを構成することにより、あるメッシュボックス(例えば、406)に接続されたクライアント(例えば、412)はそのメッシュのどこかにある他のメッシュボックス(例えば、408)に付加されたクライアント(例えば、422)と通信できる。各メッシュボックス(例えば、406)は、IP(インターネットプロトコル)アドレスをそのクライアント(例えば、412)に提供する。これにより、このクライアントは、他のメッシュボックスに付加された他のクライアントもそれぞれのメッシュボックスから提供された固有のIPアドレスを持っているゆえに、それらと通信することができる。
一実施形態において、複数のメッシュボックスがバックボーンルーティングプロトコルに似た、1つのプロトコルに基づき、自身の中に単一の論理的DHCPサーバを作り、そのプロトコルにより、それら複数のメッシュボックスが単一の論理的DHCPサーバ上で動作する。メッシュボックスは、自分自身とそれに接続しているクライアントとにアドレスを割り当てることができる。アドレスはプライベートネットワーク10.B.C.D空間から選択される。メッシュサブネットワークに対してデータベースが作成されると、第2の位置のために値をランダムに選択される。そのメッシュサブネットワーク内のすべてのノードが第2の位置にあるそのランダムに選択された値を用いる。例えば、値213を選択した場合、そのメッシュサブネットワークにあるすべてのノードのアドレスは10.213で始まる。この例に対するサブネットマスクは、255.255.0.0である。本発明の精神または範囲を逸脱することなく、他の値およびサブネットマスクの値を選択してもよい。
他の実施形態においては、各メッシュボックスおよびそのクライアント群がアドレスのクライアントサブネットを共有する。クライアントサブネットサイズ(つまりホストの数)に対して選択するビット数は、通常のホームについて充分なアドレスを持つこととアドレス空間を無駄にしないこととの間のトレードオフである。例えば、各クライアントサブネットに対して4ビット空間を使用すると、16台のホストを使用してもよい。しかしこのことは、メッシュボックスがそれに付加されているクライアントネットワークに対して、クライアントサブネットをいくつ割り当てられるかを制限するものではないことに留意が必要である。メッシュボックスがホストとなるクライアントコンピューティングデバイスに対して、クライアントサブネット上の空間を使い果たした場合、メッシュボックスは追加のクライアントサブネットを割り当てることができる。4ビット空間の例では、IPアドレスを構成する残りの12ビットはランダムに選択した値である。言い換えれば、メッシュボックスはサブネットを割り当てる際に、この範囲で自由にランダム値を選択できる。例えば、第2の位置として213がランダムに選択された値である前の例を用いると、このメッシュボックスに接続された装置に対するクライアントサブネットアドレスは10.218.1.16で、サブネットマスクは255.255.255.240となろう。
別の実施形態においては、本アドレッシングスキームを用いることにより、メッシュボックスが利用できるインターネット出口ポイントの中から選べるようなアルゴリズムを実施することができる。メッシュボックスが対応するクライアントコンピューティングデバイスにアドレスを渡すとき、メッシュボックスは自身のクライアント向きアドレスをデフォルトゲートウエイとして与える。このようにして、クライアントは出口ポイントの変更に基づいてその設定情報を変更する必要がない。
図5は、本発明によるパワーアッププロセスの例示的論理的フロー図を示す。プロセス500は、メッシュネットワーク(例えば、図4に示すP2Pネットワーク402)上でメッシュノードあるいはメッシュボックスがパワーアップされる、ブロック502で始まる。メッシュノードは、クライアントサブネット(例えば、クライアントサブネット410)によってネットワークされた1または複数のクライアントコンピューティングデバイスを有してもよい。メッシュノードがパワーアップされ、メッシュネットワークに接続されると、処理はブロック504に続く。
ブロック504では、メッシュノードに対するIPアドレス(例えば、10.X.C.D)の第2の位置あるいは第2のバイト用にランダムな値(X)を選択する。ランダム値を選択すると、処理はブロック506に移る。
ブロック506では、現在のメッシュノードの範囲内にある追加のメッシュノードに発見メッセージをブロードキャストする。一実施形態において、この範囲は現在のメッシュノードとその他のメッシュノードが隣接する、あるいは互いに直結していると見なされる範囲である。一実施形態においては、発見メッセージはIPアドレスの第2バイトに対応するX値を含む。発見メッセージがブロードキャストされると、処理はブロック508に続く。
ブロック508では、メッシュノードは規定した事象の間、初期化状態で待機する。一実施形態では、規定した事象というのは、タイムアウト特性に対応する規定秒数の経過である。メッシュノードが初期化状態で待機している間、処理は判定ブロック510に続く。
判定ブロック510では、待機状態の間に、現在のメッシュボックスが他のメッシュボックスから別の発見メッセージを受信しているかどうかを判定する。他のメッシュボックスから別の発見メッセージを受信している場合は、2つの割り当てられたアドレス空間のいずれかを選択するため、処理は判定ブロック512に移る。しかし他の発見メッセージを受信していない場合は、処理は判定ブロック516に進む。
判定ブロック512では、受信した発見メッセージに含まれるX値が、現在のメッシュボックスがランダムに発生したX値よりも大きいか判定する。受信したX値が現在のX値よりも大きい場合には、処理はブロック514に移る。しかし受信したX値が現在のX値よりも小さい場合には、処理はブロック508の初期化状態に戻る。
ブロック514では、Xの現在値を受信したX値に合わせて設定する。両方のメッシュボックスが初期化状態にあり、またメッシュネットワークがまだ存在しないとき、Xの現在値を変更することにより、隣接メッシュノードとの間のアドレス空間のコンフリクトを解決する。例えば、最初のメッシュノードがネットワーク上に現れて10.15.C.Dに対応するメッシュ面のアドレスの割り当てを示す発見メッセージを発信することができる。第2のメッシュノードは、同時にネットワーク上に現れて10.23.C.Dに対応するメッシュ面のアドレスの割り当てを示す発見メッセージを発信する可能性がある。2つのメッシュノードが同じアドレス空間に従って動作するためには、コンフリクトを解決するために最初のメッシュノードおよび第2のメッシュノードがもっと高いバイトレベルを選択するように設定される。したがって、最初のメッシュノードは、その2番目のバイトを23に変更し、これによってメッシュネットワークのアドレス割り当ては、コンフリクトを回避した状態で進行することができる。この型のコンフリクト回避は、どちらかのメッシュノードが初期化状態を過ぎるか、あるいはどちらかのメッシュノードが初期化状態を過ぎた他のメッシュノードに遭遇する場合には発生しない。より高いバイトレベルに対応するXの変化は、2つのメッシュノードが同時に発見メッセージをブロードキャストしている場合のために留保されている。したがって、Xの現在値がXの受信値に対応するように変更されると、処理はブロック508の初期化状態に戻る。
判定ブロック516では、初期化状態の間にタイムアウト特性が終了しているか判定する。タイムアウト特性が終了していない場合には、処理はブロック508に戻り、メッシュノードは初期化状態に留まる。しかしタイムアウト特性が終了している場合には、メッシュノードは初期化状態を抜け、処理は判定ブロック518に移る。
ブロック518では、ブロードキャストした発見メッセージに応答して、メッシュネットワークの存在が見つかったかどうか判定する。現在メッシュネットワークが存在しない場合には、処理は判定ブロック522へと進む。しかし存在するメッシュネットワークが見つかった場合には、処理はブロック520に進む。
ブロック520では、隣接メッシュノードに対応するルーティングテーブルを検索する。各メッシュノードのルーティングテーブルはメッシュネットワーク上のあるメッシュノードの現在のアドレス割り当ての記述を提供する。ルーティングテーブルを検索すると、処理は判定ブロック522に移る。
判定ブロック522では、検索したルーティングテーブルに従って、割り当てのために任意に決定できる値が残されているか判定する。他のメッシュノードに対するIPアドレスの割り当てが、第2の位置の現在値(X)に対応するアドレス空間を消費してしまっている可能性がある。一実施形態においては、任意に決定できる値は、前述のクライアントサブネットに対する4ビット空間の割り当てにより残された、ランダムに発生した12ビット値に相当する。現在割り当てられているアドレス空間に割り当て余地があると判定した場合には、処理はブロック526に進む。しかし、任意に決定できる値が残されていないと判定した場合には、処理はブロック524に進む。
ブロック524では第2の位置の新しい値(例えば、Y)が、メッシュノードに対してアドレス空間を提供するために割り当てられる。第2の位置の新しい値(Y)は、1つのアドレス空間のもとでメッシュネットワーク管理を継続するために、第2の位置の元の値(X)に合わせてもよい。第2の位置の新しい値が割り当てられると、処理はブロック526に続く。
ブロック526では、クライアントサブネットをメッシュノードおよびいずれかの付加されたクライアントコンピューティングデバイスに割り当てる。例えば、現在のメッシュノードのクライアントサブネットを区別するために、ルーティングテーブルが示しているように現在割り当てられていない12の任意に決定できるビットのうちの1つの値を使用することができる。クライアントサブネットが割り当てられると、処理はブロック528に移る。
ブロック528では、メッシュネットワークのバックボーン上のアドレスを割り当てる。一実施形態において、メッシュ面のアドレスを10.X.B.Cに対応する値を持つように選択する。ここでXは事前に定義された第2の位置の値である。バックボーンあるいはメッシュ面のアドレスをメッシュノードに割り当てられると、処理はブロック530に続く。
ブロック530では、メッシュノードによるアドレスの割り当てに対応するタイマ(T)を設定する。タイマ(T)は、メッシュノードに対するアドレス割り当て確認の為の時間を制限する。タイマ(T)を選択した制限値(例えば、5分間)に設定すると、処理はブロック532に進む。
ブロック532では、クライアントサブネットおよびバックボーンアドレスにより定義されているように、割り当てメッセージを、メッシュノードの隣接ノードのために、隣接ノードにブロードキャストする。割り当てメッセ−ジは、このアドレスが「割り当てられた」ことおよび割り当てを確認するためにタイマ(T)により設定された時間の経過を待っていることを示すインジケータを含む。一実施形態において、割り当てメッセージは、割り当てメッセージがメッシュネットワーク内を伝搬するホップカウントを制限するホップカウントを含む。ホップカウントは、データがネットワークを通して或るホップカウント以上ルーティングされることを防ぐ、同様のホップ制限値に相当するものである。管理アドレス空間の一貫性の必要性がデータのルーティング範囲に限定されるので、メッシュネットワークを通して充分に離れているメッシュノードはコンフリクトを起こすことなく同じアドレスを持つことができる。
他の実施形態においては、割り当てメッセージは、現在のメッシュノードのルーティングテーブルが最後に変更された時間を表すタイムスタンプも含む。このタイムスタンプにより他のメッシュノードは、このメッセージを以前に見ている場合(つまりそれが送られて来てから以降変更されていない)、割り当てメッセージを無視することができる。
さらに、割り当てメッセージは、割り当てメッセージを発信したメッシュノードを一意的に識別できる連続番号も含むことができる。この連続番号は、コンフリクトする可能性のある割り当てメッセージ間の問題を解決する、ソースのもう1つのインジケータを提供する。割り当てメッセージをブロードキャストすると、処理はブロック534に進む。
ブロック534では、アドレス割り当てに対する確認時間を提供するタイマ(T)が始動する。タイマ(T)の始動は、割り当てメッセージのブロードキャストと同時に起こる。タイマ(T)が始動すると処理はブロック536に移る。
ブロック536では、メッシュノードがリスン状態に入る。リスン状態の間、メッシュノードは、クライアントコンピューティングデバイスからDHCP要求を受け取ることができ(図6参照)、他のメッシュノードから他の割り当てメッセージを受け取ることができる(図7参照)、あるいはタイマ(T)時間が経過する。メッシュノードがリスン状態に入ったあと、処理は判定ブロック538に続く。
判定ブロック538では、タイマ(T)の時間が経過したか判定する。タイマ(T)時間が経過していない場合には、処理はメッシュノードがリスン状態であるブロック536に戻る。しかしタイマ(T)時間が経過した場合には、処理はブロック540に移る。
ブロック540では、クライアントサブネットおよびバックボーンアドレスによって定義されている隣接メッシュノードに更新した割り当てメッセージをブロードキャストする。この割り当てメッセージは、そのアドレスが「使用中」であり、さらなるコンフリクトを防ぐために、そのアドレスが現在のメッシュノードおよびそのクライアントサブネットに割り当てられていることを示すインジケータを含む。
図6は、本発明によるDHCP要求ハンドリングプロセスの例示的論理フロー図を示す。プロセス600は、図5の考察で説明したようにメッシュノードがリスン状態536にあり、接続しているクライアントコンピューティングデバイスからDHCP要求を受信したところから開始する。処理はブロック602に続く。
ブロック602では、割り当てられたクライアントサブネット範囲から未使用の値に対して選択がなされる。例えば、上記のように4ビットのクライアントサブネット割り当てを使用すると、クライアントコンピューティングデバイスに可能な16のクライアントアドレスの1つを割り当てることができる。未使用のクライアントサブネットアドレスを選択すると、処理は判定ブロック604に続く。
判定ブロック604では、図5の考察で説明したタイマ(T)の時間が経過したか判定する。タイマ(T)の時間が経過していない場合には、処理はブロック606に移る。しかしタイマ(T)の時間が経過している場合には、処理はブロック608に移る。
ブロック606では、メッシュノードは、DHCP要求が標準の更新制限時間よりも短い設定更新制限時間(例えば、5分間)に応答するように構成される。より短い更新制限時間を用いるのは、メッシュノードによるクライアントサブネット範囲割り当てがまだ有効になっていないからである。したがってコンフリクトの事例を減らすため、設定更新制限時間が切れたときメッシュノードがクライアントサブネットアドレス割り当てを有効とするようにDHCPの更新制限時間を設定する。処理は判定ブロック610に続く。
ブロック608では、タイマ(T)時間が経過しているので、メッシュノードはDHCP要求に応答して標準の更新制限時間を設定する。クライアントサブネット範囲に対応するアドレス割り当ては既に有効である。したがって、メッシュノードは定期的にメッシュネットワークについてアドレス割り当てを確認するため、「ハートビート」期間として動作する標準の更新制限時間が使われる。処理は判定ブロック610に続く。
判定ブロック610では、クライアントサブネット範囲に残っているアドレスの数が選択した閾値よりも大きいか判定する。例えば、クライアントサブネット範囲の60%がメッシュノードに接続したクライアントコンピューティングデバイスに割り当てられると、追加の範囲を割り当てる必要があると判定する。クライアントサブネットアドレスの数が閾値を越えてしまっている場合には、処理は図5に示すリスン状態536に戻る。しかし、クライアントサブネットアドレスの数が閾値を越えていない場合には、処理はブロック612に移る。
ブロック612では、アドレスの新しいクライアントサブネット範囲を割り当て、またメッシュネットワーク上にある他のメッシュノードに割り当てを通知するため通知プロセスを呼び出す。一実施形態においては、通知プロセスは図5のプロセスステップ526から540に相当する。他の実施形態では、追加のクライアントサブネットアドレスを割り当てるのに他のバックボーンアドレスを割り当てる必要がないため、プロセスステップ528を省略する。新しいクライアントサブネットアドレスを割り当てると、処理は図5に示すリスン状態536に戻る。
図7は、本発明による割り当てメッセージ受信ハンドリングプロセスの例示的論理フロー図を示す。プロセス700は、メッシュノードが図5の考察で説明したリスン状態536にあり、他のメッシュノードから割り当てメッセージを受信したところから開始する。処理は判定ブロック702に続く。
判定ブロック702では、割り当てメッセージの発信者に関するタイムスタンプが、現在のメッシュノードが発信メッシュノードであったときのタイムスタンプよりも新しいか判定する。タイムスタンプが新しい場合には、処理はブロック704に移る。しかしタイムスタンプが新しくない場合には、処理はブロック712に移る。
ブロック704では、現在のメッシュノードが割り当てメッセージの送信者から発信したメッシュノードのルーティングテーブルを取得する。最初のホップの後では、割り当てメッセージの送信者と割り当てメッセージの発信者とは異なる。ルーティングテーブルを取得した後、処理は判定ブロック706に移る。
判定ブロック706では、受信した割り当てメッセージに従って行った割り当てのいずれかが、ローカルに割り当てた現在のメッシュノードのサブネットのどれかとコンフリクトしているか判定する。コンフリクトしていない場合には処理はブロック710に進む。しかしコンフリクトしている場合には、処理はブロック708に移る。
ブロック708では、現在のメッシュノードは割り当てメッセージの送信者に対しエラー通知で応答する。エラー通知は割り当てメッセージの発信者まで戻って伝達される。その場合には、そのバックボーンおよびサブネットアドレスを再割り当てすることを選択して、割り当てメッセージの発信者はコンフリクトを解決することができる。現在のメッシュノードがエラー通知に応答したあと、処理は図5で説明したリスン状態536に戻る。
コンフリクトしていない場合には、ブロック710で、発信者のタイムスタンプのローカルバージョンを更新して、発信したメッシュノードによる現在のアドレス割り当てを反映する。タイムスタンプのローカルバージョンを更新することにより、将来同じ発信メッシュノードからの割り当てメッセージを受信したとき区別することができる。処理はブロック714に続く。
判定ブロック712では、発信者のタイムスタンプがローカルバージョンより新しくない場合、現在のメッシュノードが発信メッシュノードに対応するこのタイムスタンプおよび連続番号を以前に見たかどうかを判定する。現在のメッシュノードがこのタイムスタンプおよび連続番号を以前に見た場合には、処理はブロック718へと進む。しかし、現在のメッシュノードがこのタイムスタンプおよび連続番号を以前に見ていない場合には、処理はブロック714に移る。
ブロック714では、受信した割り当てメッセージに伴うホップカウントをインクリメントする。ホップカウントをインクリメントすることは、現在のメッシュノードがそれを隣接メッシュノードに転送する準備ができていることを示す。ホップカウントをインクリメントした後、処理は判定ブロック716に移る。
判定ブロック716では、ホップカウントがホップ制限値を越えているかどうかを判定する。ホップ制限値は割り当てメッセージをさらに転送するのを防ぐために設定できる。ホップカウントの制限値により、アドレッシングが過剰な水準でコンフリクトすることなくネットワーク上で複製したアドレスを使用できる水準を制御することができる。ホップカウントがホップ制限値を越えていない場合には、処理はブロック720に進む。しかし、ホップカウントがホップ制限値を越えている場合には、処理はブロック718に移る。
ブロック718では、現在のメッシュノードはその割り当てメッセージを破棄する。割り当てメッセージが破棄される理由は、その割り当てメッセージがそのルーティングテーブルの現在の状態にふさわしくない(つまりタイムスタンプが新しくない、ホップカウントが超過している、など)と現在のメッシュノードが判定したからである。割り当てメッセージを破棄した後、処理は図5で説明したリスン状態536に戻る。
これとは反対に、ブロック720で割り当てメッセージがふさわしいとき、現在のメッシュノードはその割り当てメッセージを隣接メッシュノードに転送する。割り当てメッセージを転送することにより、メッシュネットワーク上のメッシュノード間でのアドレス空間に関する同期が確保される。割り当てメッセージを転送した後と、処理は図5で説明したリスン状態536に戻る。
別の実施形態においては、図6および図7で説明したプロセスは、説明したようなリスン状態に戻らず、その代わりに最適ルート決定、インターネット出口決定と整合性のある状態のようなさらなる処理のための新たな状態あるいはその他の別の状態に移動する場合がある。
さらに別の実施形態において、既にある2つのメッシュネットワークの間に新しいノードがオンラインとなり、それによって2つのメッシュネットワークと新しいノードとの内容を含む新しい論理的メッシュネットワークを作ることができる。本発明による更新して転送するプロセスを用いることにより、2つのメッシュノードの1つからのアドレス空間割り当てを新しいノードを通して、他のメッシュネットワークに伝搬することができる。割り当てメッセージがそれに対応するホップ制限値まで転送された後、2つのメッシュノードは論理的メッシュネットワークに対する共通アドレス空間に従って同期される。
さらに別の実施形態において、図5から図7で説明した本発明のステップを必要に応じて、ピアツーピアネットワークに関連して使用するインターネットプロトコルの現在のバージョンに適合するように修正することができる。例えば、あるプロトコルは、論理的分散DHCPサーバを生成する必要性を回避できる。このプロトコルバージョンは、サブネットIDを発行する直接機能を提供することができ、したがってサブネットをDHCPサーバの支援なしに割り当て、管理することができる。P2Pネットワーク上の一貫性のあるアドレス空間を維持することに向けられた本発明の教示は、同様に本発明の精神と範囲を逸脱することなく他のプロトコルバージョンにも適用できる。
上記の仕様、実施例およびデータは本発明の構成の製作および使用法を完全に説明している。本発明の精神と範囲を逸脱することなく、本発明の多数の実施形態を作ることが可能であるから、本発明は添付の特許請求の範囲に準拠するものとする。
本発明の一例示的実施形態で使用される例示的コンピューティングデバイスの図である。 本発明の一例示的実施形態で使用される例示的モバイル機器の図である。 本発明の一例示的実施形態で使用される例示的メッシュネットワークの図である。 本発明の一実施形態のための例示的ピアツーピアトポロジの図である。 本発明によるパワーアッププロセスの例示的論理フロー図である。 本発明によるDHCP要求ハンドリングプロセスの例示的論理フロー図である。 本発明による割り当てメッセージ受信ハンドリングプロセスの例示的論理フロー図である。
符号の説明
100 コンピューティングデバイス
104 システムメモリ
105 オペレーティングシステム
106 アプリケーション
120 メッシュネットワーキング
107 プログラムデータ
102 処理ユニット
109 取り外し可能ストレージ
110 固定ストレージ
112 入力装置
114 出力装置
116 通信接続部
118 他のコンピューティングデバイス
260 プロセッサ
228 ディスプレイ
230 周辺装置ポート
232 キーパッド
262 メモリ
280 メッシュネットワーキング
268 ストレージ
270 電源装置
274 オーディオインターフェ―ス
272 無線インターフェース層
402 ピアツーピアネットワーク
410 クライアントサブネット
420 クライアントサブネット

Claims (24)

  1. 管理されたネットワークサービスが不在のときに、ルーティングされたIPアドレス空間を管理するためにコンピュータが実行する方法であって、前記方法は、
    バックボーンネットワーク上の協調エージェントを識別するステップと、
    バックボーンネットワーク上の現在の協調エージェント用のバックボーンアドレスを選択するステップと、
    現在の協調エージェントに対応するクライアントサブネットアドレスを選択するステップと、
    前記クライアントサブネットアドレス選択を、前記バックボーンネットワーク上の他の協調エージェントに通知するステップと、
    別の協調エージェントから、割り当てられたクライアントサブネットアドレスの通知を受信するステップと、
    前記受信した通知に含まれたタイムスタンプおよび前記受信した通知に関連するホップカウントのうちの少なくとも1つに応じて、前記受信した通知の妥当性を判断するステップと、
    前記受信した通知が妥当であると判断された場合、前記受信した通知を隣接する協調エージェントに転送するステップと
    前記受信した通知が妥当でないと判断された場合、前記受信した通知を破棄するステップと
    を備えることを特徴とする方法。
  2. 前記バックボーンネットワーク上の協調エージェントを識別するステップは、メッシュネットワーク上のメッシュボックスを識別するステップをさらに含むことを特徴とする請求項1に記載のコンピュータが実行する方法。
  3. 前記バックボーンネットワーク上の協調エージェントを識別するステップは、他の協調エージェントが現在の協調エージェントの通信範囲内にあるかどうかを判定する発見メッセージをブロードキャストするステップをさらに含むことを特徴とする請求項1に記載のコンピュータが実行する方法。
  4. 前記発見メッセージは、現在の協調エージェント用のバックボーンアドレスのランダムに選択した部分のインジケーションを、他の協調エージェントが選択したバックボーンアドレスの同一部分との比較のために含むことを特徴とする請求項3に記載のコンピュータが実行する方法。
  5. 現在の協調エージェント用の前記バックボーンアドレスのランダムに選択した部分と、他の協調エージェント用の前記同一部分との間のコンフリクトは、両方の部分を単一の共通値に設定することにより解消することを特徴とする請求項4に記載のコンピュータが実行する方法。
  6. 前記現在の協調エージェントは、前記発見メッセージをブロードキャストして他の協調エージェントからの応答を受信した後、指定された時間間隔の間は待機していることを特徴とする請求項3に記載のコンピュータが実行する方法。
  7. 前記バックボーンアドレスを選択する前に、現在の協調エージェントと近隣の協調エージェントに対応するルーティングテーブルを取得することをさらに備え、前記ルーティングテーブルは、近隣の協調エージェントにより行われたアドレス割り当てを含むことを特徴とする請求項1に記載のコンピュータが実行する方法。
  8. 他の協調エージェントを通知することは、近隣の協調エージェントへ割り当てメッセージをブロードキャストすることをさらに含み、前記割り当てメッセージは、前記クライアントサブネットアドレスが現在の協調エージェントにより割り当てられていることを示すインジケータを含むことを特徴とする請求項1に記載のコンピュータが実行する方法。
  9. 選択した時間間隔が経過した後、近隣の協調エージェントへ追加の割り当てメッセージをブロードキャストすることをさらに備え、前記追加の割り当てメッセージは、前記クライアントサブネットアドレスが現在の協調エージェントにより使用中であることを示すインジケータを含むことを特徴とする請求項8に記載のコンピュータが実行する方法。
  10. クライアントルーティング要求に応答して、前記クライアントサブネットアドレスから未使用のサブネット値を選択するステップをさらに備えることを特徴とする請求項1に記載のコンピュータが実行する方法。
  11. クライアントルーティング要求の後、残りの未使用のサブネット値の数を判定することをさらに備え、追加のクライアントサブネットアドレスは、残りの未使用のサブネット値の数が指定された閾値未満の場合、現在の協調エージェントにより割り当てられることを特徴とする請求項10に記載のコンピュータが実行する方法。
  12. 前記受信した通知は、前記タイムスタンプがローカルヴァージョンのタイムスタンプよりも遅れて発生するときに、妥当であることを特徴とする請求項1に記載のコンピュータが実行する方法。
  13. 前記受信した通知は、ホップカウントが選択されたホップリミットよりも大きいときに、妥当でないことを特徴とする請求項1に記載のコンピュータが実行する方法。
  14. 管理されたネットワークサービスが不在のときに、ルーティングされたIPアドレス空間を管理するためのコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記命令は、
    メッシュネットワーク上の隣接メッシュノードを識別するステップと、
    いずれかの隣接するメッシュノードに対応し、隣接メッシュノードにより行われたアドレス割り当てを含むルーティングテーブルを取得するステップと、
    前記メッシュネットワーク上の現在のメッシュノード用のメッシュ面のアドレスを選択するステップと、
    現在のメッシュノードに対応するアドレスのクライアントサブネットの範囲を選択するステップと、
    現在のメッシュノードによるクライアントサブネットの範囲の選択を、前記メッシュネットワーク上の他のメッシュノードに通知するステップと、
    別の協調エージェントから、割り当てられたクライアントサブネットアドレスの通知を受信するステップと、
    前記受信した通知に含まれたタイムスタンプおよび前記受信した通知に関連するホップカウントのうちの少なくとも1つに応じて、前記受信した通知の妥当性を判定するステップと、
    前記受信した通知が妥当であると判定されたときに、前記受信した通知を近隣の協調エージェントへ転送するステップと、
    前記受信した通知が妥当でないと判定されたときに、前記受信した通知を破棄するステップと
    を備えることを特徴とするコンピュータ可読媒体。
  15. 前記メッシュネットワーク上のメッシュノードを識別することは、他のメッシュノードが、現在のメッシュノードの通信範囲内にあるかどうかを判定する発見メッセージをブロードキャストすることをさらに含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
  16. 前記発見メッセージは、現在のメッシュノード用のメッシュ面のアドレスのランダムに選択した部分のインジケーションを、他のメッシュノードにより選択されたメッシュ面のアドレスの同一部分との比較のために含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
  17. 他のメッシュノードに通知するステップは、割り当てメッセージを隣接メッシュノードへブロードキャストするステップをさらに含み、前記割り当てメッセージは、前記クライアントサブネットの範囲が、現在のメッシュノードにより割り当てられていることを示すインジケータを含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
  18. 選択した時間間隔が経過した後、隣接メッシュノードへ追加の割り当てメッセージをブロードキャストするステップをさらに備え、前記追加の割り当てメッセージは、前記クライアントサブネットアドレスが現在のメッシュノードにより使用中であることを示すインジケータを含むことを特徴とする請求項17に記載のコンピュータ可読媒体。
  19. 管理されたネットワークサービスが不在のときに、ルーティングされたIPアドレス空間を管理するためのシステムであって、
    その中に含まれるメッシュノードを有するメッシュネットワークと、
    各々のメッシュノード上でコンピュータ実行可能命令を実行する構成のメッシュネットワーク全体にわたって分散された論理サーバとを備え、前記コンピュータ実行可能命令は、
    他のメッシュノードが、現在のメッシュノードの通信範囲内にあるかどうかを判定する発見メッセージをブロードキャストすることにより、前記メッシュネットワーク上の隣接メッシュノードを識別するステップと、
    いずれかの隣接メッシュノードに対応し、前記隣接メッシュノードによるアドレス割り当てを含むルーティングテーブルを取得するステップと、
    前記メッシュネットワーク上の現在のメッシュノード用のメッシュ面のアドレスを選択するステップと、
    現在のメッシュノードに対応するアドレスのクライアントサブネット範囲を選択するステップと、
    前記クライアントサブネット範囲が前記現在のメッシュノードにより割り当てられていることを示すインジケータを含む割り当てメッセージを、前記隣接メッシュノードへブロードキャストすることにより、前記クライアントサブネット範囲の選択を、前記メッシュネットワーク上の他のメッシュノードに通知するステップと、
    別の協調エージェントから、割り当てられたクライアントサブネットアドレスの通知を受信するステップと、
    前記受信した通知内に含むタイムスタンプと前記受信した通知に関連するホップカウントのうち、少なくとも1つに従って、前記受信した通知の妥当性を判定するステップと、
    前記受信した通知が妥当であると判定されたときに、前記受信した通知を近隣の協調エージェントへ転送するステップと、
    前記受信した通知が妥当でないと判定されたときに、前記受信した通知を破棄するステップと
    を備えることを特徴とするシステム。
  20. 前記発見メッセージは、現在のメッシュノード用のメッシュ面のアドレスのランダムに選択した部分のインジケーションを、他のメッシュノードにより選択されたメッシュ面のアドレスの同一部分との比較のために含むことを特徴とする請求項19に記載のシステム。
  21. 前記論理サーバは、選択した時間間隔が経過した後、隣接メッシュノードへ追加の割り当てメッセージをブロードキャストする構成になっており、前記追加の割り当てメッセージは、前記クライアントサブネットアドレスが現在のメッシュノードにより使用中であることを示すインジケータを含むことを特徴とする請求項19に記載のシステム。
  22. 前記発見メッセージは、現在の協調エージェント用のバックボーンアドレスのランダムに選択した部分のインジケーションを、他の協調エージェントにより選択されたバックボーンアドレスの同一部分との比較のために含むことを特徴とする請求項19に記載のシステム。
  23. 現在の協調エージェント用の前記バックボーンアドレスのランダムに選択した部分と、他方の協調エージェント用の前記同一部分との間のコンフリクトは、両方の部分を単一の共通値に設定することにより解消することを特徴とする請求項22に記載のシステム。
  24. 前記コンピュータ実行可能命令は、
    クライアントルーティング要求に応答して、クライアントサブネットの範囲から、未使用のサブネット値を選択するステップと、
    前記クライアント要求後、残りの未使用のサブネット値の数を判定するステップとをさらに備え、追加のクライアントサブネットの範囲は、残りの未使用のサブネット値の数が指定された閾値未満である場合に、現在のメッシュノードにより割り当てられることを特徴とする請求項19に記載のシステム。
JP2005332620A 2004-11-23 2005-11-17 ピアツーピアネットワーク用分散サーバのシステムおよび方法 Expired - Fee Related JP4726610B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/996,895 US7639681B2 (en) 2004-11-23 2004-11-23 System and method for a distributed server for peer-to-peer networks
US10/996,895 2004-11-23

Publications (2)

Publication Number Publication Date
JP2006148913A JP2006148913A (ja) 2006-06-08
JP4726610B2 true JP4726610B2 (ja) 2011-07-20

Family

ID=35453374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005332620A Expired - Fee Related JP4726610B2 (ja) 2004-11-23 2005-11-17 ピアツーピアネットワーク用分散サーバのシステムおよび方法

Country Status (5)

Country Link
US (1) US7639681B2 (ja)
EP (1) EP1659762B1 (ja)
JP (1) JP4726610B2 (ja)
KR (1) KR101098655B1 (ja)
CN (1) CN1780298B (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7626967B2 (en) * 2005-01-05 2009-12-01 Intel Corporation Methods and apparatus for providing a transparent bridge associated with a wireless mesh network
US8837528B2 (en) 2005-02-25 2014-09-16 Sony Computer Entertainment America Llc Data distribution by proxy
US20060230150A1 (en) * 2005-03-11 2006-10-12 Interdigital Technology Corporation Method and apparatus for assigning channels to mesh portals and mesh points of a mesh network
US7606175B1 (en) 2005-04-15 2009-10-20 Nvidia Corporation Extended service set mesh path selection
US7835301B1 (en) * 2005-04-15 2010-11-16 Nvidia Corporation Extended service set mesh topology representation
US7522540B1 (en) 2005-04-15 2009-04-21 Nvidia Corporation Extended service set mesh topology discovery
US7502354B1 (en) 2005-04-15 2009-03-10 Nvidia Corporation Mesh networking using point coordination function
KR100703780B1 (ko) * 2005-05-11 2007-04-06 삼성전자주식회사 무선 네트워크에서 라우팅 테이블의 정보를 일치시키는방법 및 장치
US8024477B2 (en) * 2005-06-30 2011-09-20 Intel Corporation System and method to establish a peer-to-peer IT backbone
US7706320B2 (en) * 2005-10-28 2010-04-27 Hunt Technologies, Llc Mesh based/tower based network
US7808987B2 (en) * 2005-12-21 2010-10-05 Sri International Distributed services for mesh networks
US8311048B2 (en) * 2008-05-09 2012-11-13 Roundbox, Inc. Datacasting system with intermittent listener capability
EP1821487B1 (en) * 2006-02-21 2010-04-07 Microsoft Corporation Topology management in peer-to-peer content distribution clouds
US20070214046A1 (en) * 2006-02-21 2007-09-13 Benjamin Falchuk Architecture for information dissemination in wireless mobile ad hoc networks
US20070276626A1 (en) * 2006-03-16 2007-11-29 Bruffey Timothy N System and apparatus for remote monitoring of conditions in locations undergoing water damage restoration
KR100793420B1 (ko) * 2006-07-12 2008-01-11 임승빈 네트워크상에서 데이터 전송 서비스를 제공하기 위한 서버및 클라이언트의 연결 시스템 및 이를 이용한 서버와클라이언트 또는 클라이언트와 클라이언트간의 연결 방법
KR101319491B1 (ko) * 2006-09-21 2013-10-17 삼성전자주식회사 도메인 정보를 설정하기 위한 장치 및 방법
US7848263B2 (en) 2006-11-28 2010-12-07 Marvell International, Ltd. Simplified auto-configuration and service discovery in ad-hoc networks
KR101210337B1 (ko) 2006-11-30 2012-12-10 삼성전자주식회사 이종 인터페이스 환경에서의 다중 경로 설정 장치 및 방법
US8693392B2 (en) * 2007-02-21 2014-04-08 Avaya Canada Corp. Peer-to-peer communication system and method
US8656017B2 (en) * 2007-05-16 2014-02-18 Microsoft Corporation Peer-to-peer collaboration system with edge routing
CN101355468B (zh) * 2007-07-23 2011-03-16 中国科学院声学研究所 一种p2p流媒体信息发布的方法
CN101360042B (zh) * 2007-08-01 2010-12-08 中国电信股份有限公司 可运营p2p网络应用路由系统及其路由实现方法
CN101369951B (zh) * 2007-08-17 2011-12-07 中兴通讯股份有限公司 一种可管理的对等网络系统
US8214475B1 (en) 2007-08-30 2012-07-03 Amazon Technologies, Inc. System and method for managing content interest data using peer-to-peer logical mesh networks
DE102007043652A1 (de) * 2007-09-13 2009-04-02 Siemens Ag Verfahren zum Betrieb eines dezentralen Kommunikationsnetzes
WO2009088151A1 (en) * 2008-01-05 2009-07-16 Persbro Corporation Private multimedia contents broadcasting equipment which uses ism radio frequency band or u-nii 5 radio frequency band, private multimedia contents broadcasting system and method thereof
CN101286944B (zh) * 2008-05-19 2012-05-30 中国科学院计算技术研究所 一种路由协作网络系统及其工作方法
CN101543017B (zh) * 2008-05-21 2013-04-24 香港应用科技研究院有限公司 加入对等网络的设备和方法
KR101224827B1 (ko) * 2008-06-13 2013-01-22 재단법인서울대학교산학협력재단 Dacon 을 이용한 네트워크 시스템 및 네트워크 연결방법
EP2139178A1 (en) * 2008-06-27 2009-12-30 Alcatel, Lucent Method of determining a routing path
WO2010006100A1 (en) * 2008-07-11 2010-01-14 Marvell World Trade, Ltd. Ip assignment scheme for dynamic peer-to-peer networks
WO2010037946A2 (fr) * 2008-09-30 2010-04-08 France Telecom Procede de diffusion locale d'informations, notamment de geo informations
US8363658B1 (en) * 2008-11-13 2013-01-29 Sprint Communications Company L.P. Dynamic firewall and dynamic host configuration protocol configuration
CN101442557B (zh) * 2008-12-24 2012-04-04 北京邮电大学 一种对等会话发起协议网络的区域感知优化方法
US9049045B2 (en) * 2009-04-24 2015-06-02 Aruba Networks, Inc. Peer-to-peer forwarding for packet-switched traffic
US8032652B2 (en) 2009-04-30 2011-10-04 Aruba Networks, Inc. Initiating peer-to-peer tunnels
CN102428690B (zh) * 2009-05-13 2015-04-15 皇家飞利浦电子股份有限公司 在分段网络中分配网络地址以用于通信的方法
CN101895482A (zh) * 2009-05-18 2010-11-24 华为技术有限公司 对点到点技术网络的逻辑拓扑信息进行抽象的方法和装置
US9483905B2 (en) * 2009-06-03 2016-11-01 Igt Ultra-thick gaming device
US8762518B2 (en) * 2009-07-10 2014-06-24 Telcordia Technologies, Inc. Program and method for adaptively maintaining a local peer group in a dynamic environment
EP2458788B1 (en) * 2009-07-24 2015-11-04 Huawei Technologies Co., Ltd. Method, device and system for processing network mapping identifiers and method for selecting peer nodes
KR101094033B1 (ko) * 2010-04-12 2011-12-19 중앙대학교 산학협력단 분산 네트워크를 이용한 노드 등록 및 유동 ip 검색 방법 및 장치
US8661544B2 (en) * 2010-08-31 2014-02-25 Cisco Technology, Inc. Detecting botnets
KR101544294B1 (ko) * 2011-02-21 2015-08-12 블랙베리 리미티드 셀룰러 네트워크에서의 피어 투 피어 공유 관리
US10284536B2 (en) 2011-12-16 2019-05-07 Futurewei Technologies, Inc. System and method for concurrent address allocation and authentication
KR102005771B1 (ko) 2012-02-24 2019-10-01 삼성전자주식회사 무선 통신 네트워크에서 ip 주소 할당 방법 및 장치
US9532224B2 (en) * 2012-11-05 2016-12-27 Electronics And Telecommunications Research Institute Method of device-to-device discovery and apparatus thereof
CN103020801B (zh) * 2012-12-20 2016-03-30 西南科技大学 一种提高物流配送效率的方法
TWI508495B (zh) * 2013-04-10 2015-11-11 D Link Corp Method of exchanging distributed network messages
TWI531197B (zh) * 2014-02-14 2016-04-21 天鉞電子股份有限公司 子母式點對點連線系統、子母式點對點連線方法及其電腦應用程式
US9742726B2 (en) 2015-02-26 2017-08-22 Red Hat Israel, Ltd. Distributed dynamic host configuration protocol
US9736019B2 (en) * 2015-05-14 2017-08-15 Eero Inc. Methods for dynamic router configuration in a mesh network
CN105306617B (zh) * 2015-09-22 2019-07-09 广州昂宝电子有限公司 用于分配网络地址的方法和网络设备
US10512039B2 (en) 2016-08-25 2019-12-17 Mediatek Singapore Pte. Ltd. Device-driven power scaling in advanced wireless modem architectures
KR102468686B1 (ko) 2017-01-17 2022-11-22 한국전자통신연구원 대규모 토러스 네트워크에서의 분산 스토리지 시스템을 위한 ip 자동 할당 방법 및 이를 위한 장치
US10630571B1 (en) * 2017-11-16 2020-04-21 Amazon Technologies, Inc. Fault-tolerant request routing
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
CN112789873A (zh) * 2019-09-11 2021-05-11 开利公司 具有子网的蓝牙网状路由
US11463312B2 (en) * 2021-01-21 2022-10-04 Cisco Technology, Inc. Secure onboarding of network devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133834A (ja) * 2002-10-15 2004-04-30 Soft Front:Kk ネットワークを介した情報共有システム及び方法
JP2006506877A (ja) * 2002-11-15 2006-02-23 インターナショナル・ビジネス・マシーンズ・コーポレーション ピアツーピア環境におけるネットワーク・トラフィック制御
JP2008512901A (ja) * 2004-09-07 2008-04-24 メッシュネットワークス インコーポレイテッド 無線ネットワークにおいて異なるタイプのノード間でデータのルーティングを行うためのシステム及び方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148271A (en) * 1998-01-14 2000-11-14 Silicon Pie, Inc. Speed, spin rate, and curve measuring device
US6441745B1 (en) * 1999-03-22 2002-08-27 Cassen L. Gates Golf club swing path, speed and grip pressure monitor
US6224493B1 (en) * 1999-05-12 2001-05-01 Callaway Golf Company Instrumented golf club system and method of use
ATE407503T1 (de) * 1999-07-02 2008-09-15 Nokia Corp Authentifizierungsverfahren und system
US20010037384A1 (en) * 2000-05-15 2001-11-01 Brian Jemes System and method for implementing a virtual backbone on a common network infrastructure
US6661799B1 (en) * 2000-09-13 2003-12-09 Alcatel Usa Sourcing, L.P. Method and apparatus for facilitating peer-to-peer application communication
CA2364919A1 (en) * 2000-12-14 2002-06-14 Kevin Tuer Proprioceptive golf club with analysis, correction and control capabilities
DE10107797A1 (de) 2001-02-15 2002-08-29 Hielscher Frank Spiel- und Sportgerät
JP4258698B2 (ja) * 2001-03-21 2009-04-30 日本電気株式会社 ブロードキャストシステムとそのブロードキャスト方法、及びブロードキャストプログラム
US7054867B2 (en) * 2001-09-18 2006-05-30 Skyris Networks, Inc. Systems, methods and programming for routing and indexing globally addressable objects and associated business models
US6917977B2 (en) * 2001-11-07 2005-07-12 Motorola, Inc. Method and system of automatic allocation of unique subnet identifier to a subnet in the network having multiple subnets and a plurality of associated routers and router interfaces
CN1643879B (zh) 2002-03-27 2010-09-29 诺基亚西门子通信有限责任两合公司 用于在aaa服务器系统中更新信息的方法
EP1401168A1 (en) * 2002-09-20 2004-03-24 Alcatel A method to transport an internet packet and related network elements
US7634230B2 (en) * 2002-11-25 2009-12-15 Fujitsu Limited Methods and apparatus for secure, portable, wireless and multi-hop data networking
EP1587588A2 (en) 2002-12-19 2005-10-26 Fortescue Corporation Method and apparatus for determining orientation and position of a moveable object
DE10338620B4 (de) 2003-08-22 2007-11-22 Cairos Technologies Ag Ballsensor
DE10350300A1 (de) 2003-10-28 2005-06-02 Helmut Staudt In Kompartimente unterteilter Ball mit integrierten elektronischen Übertragungsmitteln
US20050192710A1 (en) * 2004-02-27 2005-09-01 Rain Bird Corporation Method and apparatus for validation of a wireless system installation
US7736242B2 (en) 2004-03-23 2010-06-15 Nike, Inc. System for determining performance characteristics of a golf swing
EP1727602B1 (de) * 2004-03-26 2011-06-22 Science & Motion Gmbh Positionsgeber und bewegungsanalyseverfahren

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133834A (ja) * 2002-10-15 2004-04-30 Soft Front:Kk ネットワークを介した情報共有システム及び方法
JP2006506877A (ja) * 2002-11-15 2006-02-23 インターナショナル・ビジネス・マシーンズ・コーポレーション ピアツーピア環境におけるネットワーク・トラフィック制御
JP2008512901A (ja) * 2004-09-07 2008-04-24 メッシュネットワークス インコーポレイテッド 無線ネットワークにおいて異なるタイプのノード間でデータのルーティングを行うためのシステム及び方法

Also Published As

Publication number Publication date
US20060126611A1 (en) 2006-06-15
EP1659762A1 (en) 2006-05-24
US7639681B2 (en) 2009-12-29
JP2006148913A (ja) 2006-06-08
KR20060057503A (ko) 2006-05-26
CN1780298A (zh) 2006-05-31
EP1659762B1 (en) 2014-06-18
CN1780298B (zh) 2011-02-23
KR101098655B1 (ko) 2011-12-23

Similar Documents

Publication Publication Date Title
JP4726610B2 (ja) ピアツーピアネットワーク用分散サーバのシステムおよび方法
US10708856B2 (en) Gateway advertisement in a wireless mesh
JP4226553B2 (ja) データ通信ネットワークにおけるルーティング
US11303553B1 (en) Return path trace
JP4308027B2 (ja) パケットホッピング無線バックボーンを有する無線ローカルエリアネットワークを有するデータ網
US9577870B2 (en) Address allocation in a network
EP1362455B1 (en) Method and system for multiple hosts anycast routing
RU2441331C2 (ru) Соединение ячеистых сетей с множеством узлов-ретрансляторов с использованием сетевого моста подуровня управления доступом к среде передачи
US20070201427A1 (en) Apparatus and method for setting multi-path
CN106161272B (zh) 实现vrrp负载均衡的方法和路由设备
US8107417B2 (en) Method and mobile terminal for allocating IP address in wireless network
JP2003298635A (ja) ソースアドレス選択システム、ルータ装置、通信ノード及びソースアドレス選択方法
US20080313350A1 (en) Method and system of cache discovery in a peer-to-peer environment
Thaler Evolution of the IP Model
EP2457360B1 (en) Network address allocation method
WO2018006684A1 (zh) 报文处理方法、装置及路由器
US7649899B2 (en) System and method for dynamic egress routing through a single default gateway in a mesh network
KR101213159B1 (ko) 무선 네트워크에서 ip 어드레스를 할당하기 위한 휴대단말기 및 방법
Chae et al. Fast discovery scheme using DHT-like overlay network for a large-scale DDS
JP4242752B2 (ja) アドレス表管理方法、及び、端末
JP2006171917A (ja) 無線マルチホップアドホックネットワークのためのプロトコル
US8135859B1 (en) System and method for providing infrastructure services without a designated network manager
Zimmermann et al. IP address assignment in wireless mesh networks
US7643483B2 (en) System and method for using a hop limited cast for internet egress point selection
JP2004064379A (ja) ルータ装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110318

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4726610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees