JP4711656B2 - MetaSpace、部分的に接続された移動アドホックネットワーク用通信ミドルウェア - Google Patents

MetaSpace、部分的に接続された移動アドホックネットワーク用通信ミドルウェア Download PDF

Info

Publication number
JP4711656B2
JP4711656B2 JP2004272463A JP2004272463A JP4711656B2 JP 4711656 B2 JP4711656 B2 JP 4711656B2 JP 2004272463 A JP2004272463 A JP 2004272463A JP 2004272463 A JP2004272463 A JP 2004272463A JP 4711656 B2 JP4711656 B2 JP 4711656B2
Authority
JP
Japan
Prior art keywords
message
data
communication space
computer
metaspace
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2004272463A
Other languages
English (en)
Other versions
JP2005094776A (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 JP2005094776A publication Critical patent/JP2005094776A/ja
Application granted granted Critical
Publication of JP4711656B2 publication Critical patent/JP4711656B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/56Provisioning of proxy services
    • 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/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は一般にネットワークコンピュータシステムに関し、より詳細には、部分的に接続された移動アドホックコンピュータネットワーク用通信ミドルウェアに関する。
分散アプリケーションは効率を高めるため、コンピュータネットワークの将来に重要なものである。現在の分散システムは、高可用性(highly available)サーバ、または高可用性ネットワーク接続とみなされている。アドホック無線システムでの分散アプリケーションの調整は、アドホックネットワーク全体の容量が制約されているために厄介である。分散アプリケーションは、センサ、コントローラ、および他の環境オブジェクトと対話することができるセルラー電話、パーソナルデジタルアシスタント(PDAs)、並びにラップトップなど、比較的小型であるが、いわゆる「スマートデバイス」と呼ばれるものについては特に厄介である。こうしたデバイスおよびオブジェクトの接続は、たとえばBlueToothまたはIEEE802.11でもよい。電力の制限、無線有効範囲、および協働するノードの接続の地理的分散によって、アドホックノードの終端間の経路はしばしば妨げられる。通常、アドホックルーティング方法では、通信ノードを接続し、協働するデバイスを接続する一連の中間ノードなど既存の経路の配置を重要視した終端間の経路が取られる。実時間の通信を必要とするものなど、多くのアプリケーションは、順次のパケットを適時に転送するための完全に接続された経路を必要とする。他のアプリケーションは、完全に接続された経路を必要とせず、最終的にメッセージを転送する高度に分割されたネットワークに存在することができる。こうしたアプリケーションには、パーソナルデータ/情報の管理、ニュース情報伝播および個人的なメッセージングが含まれる。
A.Vahdat,D.Becker,「Epidemic Routing for Partially Connected Ad Hoc Networks」2000、Technical Report CS-200006、Duke University、2000年4月
こうしたアプリケーションは、非同期式メッセージングサービスしか必要としない。経路が存在しない場合は、周知の方法では通信ができない。
アドホックネットワークで分散アプリケーションを調整するための現在の方法論は、通信ノードの終端間経路の必要性を回避することで利益が得られるであろう。
したがって、名称Metadata Space(MetaSpace)の通信ミドルウェアを提供するシステムは、部分的に接続された移動アドホックネットワークのための非同期式メッセージ転送サービスを提供するように設計されたものである。本発明の実施形態では、移動デバイスを使用して、ネットワークの分離した島(island)に橋渡しをする。こうした移動デバイスは、メッセージを格納し伝播する搬送波として働く。
一実施形態は、キャッシングのメッセージング、転送、およびルーティングの方法をサポートするシステムおよびソフトウェアアーキテクチャを対象とする。より詳細には、実施形態は、通信空間の概念を分散環境にまで拡大し、それを標準ウェブサービス技法、すなわちSOAP、およびWeb Service(WS)シリーズプロトコルと組み合わせる方法およびシステムを提供する。「MetaSpace」と呼ばれる通信空間は、ウェブサービスの拡張を移動アドホックネットワークに提供する。他の実施形態は、非同期式メッセージキャッシング、転送、およびルーティングを提供する方法を対象とする。
本発明の追加の特徴および利点は、添付の図を参照しながら進める例示の実施形態の以下の詳細な説明から明らかになるであろう。
本発明の特徴を、添付の特許請求の範囲で詳細に述べているが、本発明、並びにその目的および利点は、添付の図面と併せて以下の詳細な説明から最も良く理解することができるであろう。
図面に移ると、同様の参照番号は同様の要素を示しており、本発明が、適切なコンピューティング環境で実装されているところが示されている。必ずしも必要ではないが、本発明を、パーソナルコンピュータで実行されるプログラムモジュールなどコンピュータで実行可能な命令の通常のコンテキストで説明する。プログラムモジュールには通常、特定のタスクを実行し、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらに、当業者には理解されるように、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、ネットワークPCs、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で実施することもできる。本発明は、分散コンピューティング環境で実施することもでき、その場合、タスクは、通信ネットワークでリンクされた遠隔処理デバイスで実施される。分散コンピューティング環境では、プログラムモジュールを局地と遠隔の両方のメモリ記憶装置に位置付けることができる。
図1は、本発明を実装することができる適切なコンピューティングシステム環境100の一例を示す。コンピューティングシステム環境100は、適したコンピューティング環境の一例にすぎず、本発明の使用または機能性の範囲へのいかなる限定も示唆するものではない。コンピューティング環境100は、例示のオペレーティング環境(100)で示した構成要素の1つまたはその組合せに関連するいかなる依存または要件も持つものではないと解釈されるべきである。
本発明は、多数の他の汎用または専用コンピューティングシステム環境または構成で操作可能である。本発明と共に使用するのに適した周知のコンピューティングシステム、環境、および/または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPCs、ミニコンピュータ、メインフレームコンピュータ、任意の上記のシステムまたはデバイスを含む分散コンピューティング環境などが含まれるが、それだけに限定されない。
本発明を、コンピュータで実行されるプログラムモジュールなど、コンピュータで実行可能な命令の通常のコンテキストで説明する。通常、プログラムモジュールには、特定のタスクを実行し、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、通信ネットワークでリンクされた遠隔処理デバイスによってタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールを、メモリ記憶装置を含む局所および/または遠隔のコンピュータ記憶媒体に位置付けることができる。
図1を参照すると、本発明を実装するための例示のシステムには、コンピュータ110の形態の汎用コンピューティングデバイスが含まれる。コンピュータ110の構成要素には、処理装置120、システムメモリ130、およびシステムメモリを含む様々なシステム構成要素を処理装置120に結合するシステムバス121が含まれる。システムバス121は、メモリバスまたはメモリコントローラ、周辺バス、および任意の多様なバスアーキテクチャを使用するローカルバスを含むいくつかのタイプのバス構造のいずれでもよい。一例として、こうしたアーキテクチャには、Industry Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびMezzanineバスとしても知られているPeripheral Component Interconnects(PCI)バスが含まれるが、それだけに限定されない。
コンピュータ110は通常、多様なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110でアクセスすることができる任意の使用可能な媒体でもよく、揮発性および不揮発性媒体、並びに取外し可能および取外し不可能な媒体の両方が含まれる。一例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができるが、それだけに限定されない。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなど、情報を記憶するための任意の方法および技法で実装される、揮発性および不揮発性、取外し可能および取外し不可能な媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技法、CD−ROM、デジタル多用途ディスク(DVD)または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望の情報を記憶し、コンピュータ110によってアクセスすることができる任意の他の媒体が含まれるが、それだけに限定されない。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを搬送波または他の輸送機構など変調されたデータ信号で表し、任意の情報転送媒体を含む。用語「変調されたデータ信号」は、情報を信号に復号化する方法で設定または変更された1つまたは複数の特性を持つ信号を指す。一例として、通信媒体には、有線ネットワークまたは直接有線接続など有線媒体、および音波、RF、赤外線、および他の無線媒体など無線媒体が含まれるが、それだけに限定されない。上記の任意の組合せもコンピュータ可読媒体の範囲に含まれる。
システムメモリ130には、読取り専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132など、揮発性および/または不揮発性メモリの形態のコンピュータ記憶媒体が含まれる。起動中などにコンピュータ110内の要素の間で情報を転送する助けをする基本ルーチンを含む、基本入出力システム133(BIOS)は、通常、ROM131に格納される。RAM132は通常、処理ユニット120に直接アクセス可能であり、かつ/または処理ユニット120によってその時点で作動しているデータおよび/またはプログラムモジュールを含む。一例として、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136およびプログラムデータ137を示しているが、それだけに限定されない。
コンピュータ110は、他の取外し可能/取外し不可能、揮発性/不揮発性のコンピュータ記憶媒体を含むことができる。単に一例として、図1は、取外し不可能で不揮発性の磁気媒体から読取り、それに書込むためのハードディスクドライブ141、取外し可能で不揮発性の磁気ディスク152から読取り、それに書込むための磁気ディスクドライブ151、およびCD−ROM、または他の光媒体など取外し可能で不揮発性の光ディスク156から読取り、かつ/またはそれに書込むための光ディスクドライブ155を示す。例示の操作環境で使用することができる他の取外し可能/取外し不可能な、揮発性/不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、固体ROMなどが含まれるが、それだけに限定されない。ハードディスドライブ141は通常、インターフェース140など取外し不可能なメモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は通常、インターフェース150など取外し可能なメモリインターフェースによってシステムバス121に接続される。
上記で論じ、図1で示したドライブおよびそれに関連したコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータをコンピュータ110に提供する。たとえば、図1では、ハードディスドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納しているところが示してある。こうしたコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じもの、または異なるものでもよいことを留意されたい。本明細書では、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147に、少なくとも異なるコピーを示すように異なる番号が与えられていることに留意されたい。ユーザは、タブレット、または電子ディジタイザ164、マイクロフォン163、キーボード162、および通常、マウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイス161などの入力デバイスを介して、コマンドおよび情報をコンピュータ110に入力することができる。他の入力デバイス(図示せず)は、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含むことができる。上記その他の入力デバイスは、システムバスに結合されたユーザ入力インターフェース160を介して処理装置120に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など他のインターフェースおよびバス構造によって接続することもできる。モニタ191または他のタイプの表示デバイスを、ビデオインターフェース190などインターフェースを介してシステムバス121に接続することもできる。モニタ191は、タッチスクリーンパネルなどと一体型にすることもできる。モニタおよび/またはタッチスクリーンパネルを、コンピューティングデバイス110がタブレットタイプのパーソナルコンピュータなどに組み込まれているハウジングに物理的に結合することができることを留意されたい。さらに、コンピューティングデバイス110などコンピュータは、出力周辺インターフェース195などを介して接続することができる、スピーカ197およびプリンタ196など他の周辺出力デバイスを含むこともできる。
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通のネットワークノードでもよく、図1では1つだけのメモリ記憶装置181しか示していないが、通常はコンピュータ110に関して上記に記載した要素の多くまたは全てを含む。図1で示した論理接続には、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173が含まれているが、他のネットワークを含むこともできる。こうしたネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的である。たとえば本発明では、コンピュータシステム110は、それからデータが移送されるソースマシンを備え、リモートコンピュータ180は宛先マシンを備えることができる。しかし、ソースおよび宛先マシンは、ネットワークまたは他のいずれかの手段で接続される必要はなく、その代わりにデータは、ソースプラットフォームによって書込み、1つまたは複数の宛先プラットフォームによって読取ることができる任意の媒体を介して移送することができることを留意されたい。
LANネットワーク環境で使用する場合、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境で使用される場合、コンピュータ110は通常、モデム172または他のインターネットなどWAN173を介した通信を確立する手段を含む。内蔵または外付けでもよいモデム172は、ユーザ入力インターフェース170または他の適した機構を介してシステムバス121に接続することができる。ネットワーク環境では、コンピュータ110に関して示したプログラムモジュール、またはその一部をリモート記憶装置に格納することができる。一例として図1は、メモリ記憶装置181に常駐するリモートアプリケーションプログラム185を示しているが、これは限定的なものではない。理解されるように、図で示したネットワーク接続は例示のものであり、コンピュータの間の通信リンクを確立する他の手段を使用することもできる。
以下の説明では、別に指示がなければ、本発明を、1つまたは複数のコンピュータによって実行される動作および操作の記号表示を参照して記載する。そういうものとして、理解されるように、ときにコンピュータで実行可能であると呼ばれるこうした動作および操作には、データを構造化した形で表わす電気的信号のコンピュータの処理装置による操作が含まれる。この操作でデータを変換し、またはデータをコンピュータのメモリシステムのロケーションに維持し、それによって当業者にはよく理解される方法でコンピュータの動作を構成または変更する。データが保持されるデータ構造は、データの形式によって規定された特定のプロパティを有するメモリの物理的位置である。しかし、本発明を上記のコンテキストで述べたが、それは本発明を限定するものではなく、当業者には理解されるように、以下に述べる様々な動作および操作をハードウェアで実装することもできる。
本発明の実施形態は、複数のプラットフォームおよび異機種デバイスにまたがる移動アドホック環境での分散アプリケーションの調整を対象とする。図2を参照すると、ブロック図は、以下で「MetaSpace」と呼ぶ、アドホック環境のためのミドルウェア環境を示す。MetaSpaceは、アプリケーション204および206など分散アプリケーションを調整することができる仮想データバッファ202を含むことができる。アプリケーション204がメタデータ208を仮想データバッファ202に送信し、アプリケーション206がメタデータ(獲得メタデータ)210を受信しているところが示してある。MetaSpace200は集合的に、多様なデバイスまたはノードに常駐するアプリケーション204および206用の仮想共用通信バッファ(virtual shared communication buffer)に抽象化を提供する。MetaSpace200のノードは、ノード212、214、および216として示してある。
一実施形態では、MetaSpace200はソフトウェアサービスを提供する。先ず1つのサービスでは、様々なノードの間のネットワーク接続の存在を事前想定せず、様々なデバイスまたはノードに位置付けられたアプリケーションの間の非同期化メッセージ通信サービスを提供することができる。他のサービスは、多くのノードに散在するアプリケーションの間でデータを共用できるようにするサービスを含むことができる。
周知の空間ベースのシステムと違い、MetaSpace200は、空間全体を含む高可用性サービス、または様々なノードを接続する高可用性インフラストラクチャネットワークに依存しない。MetaSpace200は、仮想データバッファ202を分散方法で共有されたバッファとして維持する。したがって、MetaSpace200は、データ記憶装置、ルーティング、および転送にフレームワークを提供する。MetaSpace200は、ポケットPCおよびスマートフォンなどリソースが限られたデバイスで稼動するように設計された軽量ミドルウェアコンポーネントとして実装することができる。
一実施形態では、MetaSpace200は、SOAPなど標準XML(eXtended Markup Lunguage)ウェブサービス技法に基づく。有利には、標準XMLウェブサービス技法はMetaSpace200の相互運用性および拡張性を助長する。たとえば、アプリケーションは同じメッセージ形式を用いて、MetaSpace200を介してインターネット上でウェブサービスを呼び出すことができる。
次に図3を参照すると、MetaSpace200のソフトウェアアーキテクチャが示してある。より詳細には、図3は、Bluetoothなどペアワイズ通信チャネルが確立されたときの、様々なデバイスでの2つのMetaSpace環境306(1〜2)の間の対話を示す。こうしたペアワイズ通信チャネルの確立は、MetaSpace306(1、2)を保持するデバイスが同じ近辺に存在する場合に行うことができる。一実施形態では、MetaSpaceソフトウェアを保持するデバイスは、単一のデバイスに、メタデータ記憶装置312(1〜2)、MetaSpaceエージェント310(1〜2)、およびDLLプロキシ308(1〜2)を含む3つのコンポーネントを保有する。メタデータ記憶装置312は、階層に構成されたXMLメッセージ(SOAP)のコンテナとして構成することができる。MetaSpaceエージェント310は、MetaSpace200の活動状態の部分として実装することができる。MetaSpaceエージェント310は、MetaSpaceプロトコル314を介した他のデバイスとの対話を確かに行うことができる。MetaSpaceプロトコル314は、最終的なメッセージ転送を保証することができる。MetaSpaceエージェント310は、MetaSpace200を使用して通信し、データを共用するアプリケーションからの操作要求を処理するように構成することもできる。要求の詳細は、DLLプロキシ308(1〜2)を介してアプリケーション302(1〜2)などのアプリケーションからマスクすることができる。DLLプロキシ308は、リンク可能なライブラリであり、簡明なアプリケーションプログラミングインターフェース(APIs)をユーザアプリケーションに提供するように構成することができる。
メタデータ記憶装置312は、メタデータをメッセージとして保留し、それをSimple Object Access Protocol (SOAP)メッセージとしてラップされたXMLメッセージとして構成することができる。メタデータは、ルーティング情報を定義付けるWeb Service Routing Protocol(WS−Routing)データ、およびMetaSpaceエージェント310がメッセージを訂正して処理するのに必要な重大な情報を記述するように定義付けられた拡張プロトコルに適したデータを含むことができる。一実施形態では、拡張プロトコルデータは、XML入力として構成することができる。
MetaSpace200に格納されるXMLメッセージの一例を以下の表1で示す。
Figure 0004711656
一実施形態では、MetaSpace200は、MetaSpace名前空間の下でmspropのタグを付けた新規のヘッダ入力を追加することによってSOAP形式を拡張する。そのデータフィールドのためのデータ構造は、以下を含むことができる。
Exprirate Time:絶対時間でのメッセージの満了時。データはその時点以降は無効になる。
HopLimitation:メッセージを転送することができるホップの上限。この上限値は、転送が1つ成功した後に1つ減少する。
Timestamp:メッセージの生成時をマークする壁時計の時刻。
Namespace:メッセージが位置付けられる部分空間を識別する。
AdminDomain:メッセージを限定する領域。このフィールドは、AdminDomainが同じ管理特権を共用するデバイスの物理的境界を規定する点でNamespaceフィールドとは異なり、Namespaceは論理的概念である。その値は、マルチキャストおよびエニーキャストメッセージに特に有用である。この場合、メッセージの伝播は、一定の組のデバイスに限定され、こうした限定により、望まれないメッセージの漏洩が防止される。
RelateTo:メッセージが関連するトピックを指定する。関連属性を提供して、2つのメッセージが、たとえば「置換」は最新のメッセージを以前のメッセージと差し替えることを指すという1つの特定のトピックに関連する場合の動作方法を規定する。
Priority:メッセージの優先順位、たとえば低い、正常な、高いことを定義付ける。
Property:このフィールドはアプリケーションがメッセージに関連付けられたアプリケーション指定のプロパティ(名前値の対)を規定する拡張可能な方法である。MetaSpace200は、プロパティを介したメッセージの内容ベースの探索をサポートするように構成することができる。
次に図4を参照すると、MetaSpace200は、大量の2値データを含むメタデータを処理するように構成することができる。図4は、2値データを処理するように構成された複合オブジェクト400を示す。この2値データは、XML内でもよく、ASCII形式、たとえばBase64で複合化されたデータを有する。しかし、この方法はコストが高くつく。オブジェクト400は、MetaSpace200がXMLメッセージに参照だけを格納し、記憶2値データを生形式で任意の場所に格納する代替実施形態を示す。図4は、SOAPメッセージ部分406および2値オブジェクト1 408を示す。メッセージ部分406および2値オブジェクト1 408は、分離文字(separator)412によって分離され、2値オブジェクト1 408は追加の2値オブジェクトから分離文字414(n)によって分離される。SOAPメッセージ406は、参照1 402を介して2値オブジェクト408を指し、参照n 404を介して他の2値オブジェクトn 410を指す。
図4は、内部参照を使用しデータ(XMLメッセージおよび2値データ)を全て、ファイルにマップすることができる複合オブジェクトに格納することによって、複数のオブジェクトを処理する負担を軽減できることを示している。
次に図5を参照すると、流れ図は、MetaSpace200がデバイスの発見および近隣の保守を実行する方法を示す。一実施形態では、MetaSpace200は、URIsを使用してデバイスを識別するが、URIの特定の方式のいずれかを使用するようには制限されていない。さらに、この実施形態では、受信側を識別するために、MetaSpace200はmetaspace://domain/device方式を使用する。それ以外の方式は、インターネットホストと呼ぶことができる。流れ図500は、デバイスがリスン/アナウンスプロトコル(listen/announce protocol)にもとづいてその近隣のデバイスを発見する手法を示す。ブロック510で、デバイス全てが周知のポートにビーコン情報をブロードキャストする。ブロック520で、こうしたビーコンが聴取されると、デバイスはライブの近隣の装置が存在することを学習する。各ビーコンは、可用時間の予想値を示す専用フィールドを含む。ブロック530で、近隣情報がソフト状態であるとみなされたため、デバイスはその状態が満了する前にその状態をリフレッシュする。ビーコンの通常の構造を表2で示す。
Figure 0004711656
内部データ構造(ハッシュマップ)を構築して、デバイス名とそのデバイス上で稼動するMetaSpaceエージェント310の通信アドレスの間の関連付けを維持する。
次に図6を参照すると、流れ図は、2つのデバイスがMetaSpace200環境で互いに関連付けられた場合に、メッセージを伝播する方法を指定する転送プロトコルを示す。図3で示したデバイス306など、MetaSpace200内の各デバイスは、メタデータ312用記憶装置を維持する。メッセージをピアに転送する場合は、未知のメッセージだけが転送される。図6は、そのための2相転送プロトコルを示す。ブロック610は相1を示し、ピアどうしがインタレストおよびハンドシェークを交換することを示す。ブロック620は、この交換中にメッセージが転送されることを示す。
次に図7を参照すると、転送プロトコルのプッシュモードが示してある。より詳細には、デバイスA702は、先ずエクスポートした名前空間Ns(A.exp)706をデバイスB704に通知する。デバイスB704は、デバイスA702のエクスポートした名前空間とそれ自体のインタレストの交点、Ns(A.exp)n Ns(B.Int)708を計算し、次いでデバイスA702にその交点、並びにデバイスBが交差した名前空間の下で知ったというメッセージの要約を返答する。一実施形態では、要約は周知のようにブルームフィルタを使用して構成され、その実施形態を以下に記載する。デバイスA702は、応答を受信すると、メッセージ転送セッションを開始する。メッセージを要約710に照らして検査することによって、デバイスB704に未知のものだけが転送される。
MetaSpace200は、プッシュモードと同様に、対応するプルモードをサポートする。プルモード転送プロトコル(図示せず)はプッシュモードと同様に、図7で示したモードの逆を提供し、従って、データを受信するデバイスは、そのインタレストを送信することによってセッションを開始する。
ブルームフィルタは、効率的な通信量測定に使用される周知のフィルタである。一実施形態では、MetaSpace200に適したブルームフィルタは、要約ベクトル長がmであるように構成することができる。ただし、H=(H1、H2、H3、H4)=MD5_Hash(msg_id)とする。各Hi(i=1、2、3、4)は倍長語である。要約ベクトルでビットKi=Hi mod m (i=1、2、3、4)を設定する。ブルームフィルタは、一定の偽陽性確率(false positive probability)(FPP)を有する。しかし、FPPはPfpp(1−e−(4n/m))4であるため、正常な場合はやや小さい。MetaSpace200環境では、この偽陽性確率は、誤って転送されなかったメッセージを次のデータ転送セッションで転送することができるため、メタデータ転送に少しも害にならない。
次に図8を参照すると、一実施形態は、MetaSpace200環境でのメッセージのルーティングを対象とする。より詳細には、MetaSpace200環境は、動的に変更される接続トポロジを含むため、図8は、動的に変更されるトポロジのためのメッセージルーティング方法を示す。ルーティング方法については、たとえば、VahdatおよびBeckerは、各ノードがキャッシュを割り当ててメッセージを他のノードに格納することを提供する移動デバイスの間のルーティング方法を提案している(非特許文献1参照。)2つの分離されたノードが一致する場合、伝染性(epidemic)のプロセスが実行され、その場合、2つのノードがそれぞれ保持するメッセージを交換し、次いで同じ組のメッセージを搬送する。この方法は、フラッディングアルゴリズムを使用し、最終的なメッセージ転送を保証する無制限のバッファサイズおよび時間が想定されている。VahdatおよびBeckerの方法、並びに同様の方法は、フラッディングベースのアルゴリズムに従うものであり、それによってキャッシュメモリを占領する不必要なメッセージが生成され、そのため転送速度が遅くなる。
MetaSpace200環境でメッセージを伝送するデバイスは、宛先の正確な位置を知らない可能性がある。さらに、メッセージを伝送するデバイスは、宛先までの経路を知らないこともある。図8で示した実施形態の方法によれば、部分的に接続されたネットワークでのルーティングプロトコルは、少なくとも2つの決定を行うことができる。第1に、2つのデバイスが関連付けられた場合、1つのデバイスから他方のデバイスにどのメッセージを転送するかについての決定がなされる。第2に、1つのデバイスのメタデータ記憶装置312が一杯である場合、新しい入力メッセージ用の空間を生成するには、どのメッセージを消去すべきかについての決定がなされる。一実施形態では、こうした決定はローカルで行われる。さらに、一実施形態によるルーティング方法では、移動アドホックネットワークのいくつかの構造情報が利用される。
ネットワークの構造情報を決定するため、図8は、ブロック810で、高度に分割されたネットワークの確率的模型が導出されることを示す。ブロック820で、この模型に基づいて、以下で予想経路長(expected path length)と呼ぶ距離を使用して、メッセージを転送するルートを評価する。ブロック830で、この距離に基づいて、最短予想経路のルーティングを決定する方法が導出される。
次に図9を参照すると、一実施形態による確率的ネットワークモデルが示してある。このモデルでは、それぞれノード0〜6、900〜912が示してある。このモデルによれば、接続確率ゼロのエッジは消去されている。ノード5 910とノード6 912を接続する実線は、永久的なネットワーク接続を表す。ネットワーク900は、近接型無線ラジオを装備したノードのネットワークによって表示することができる。通信は、2つのノードが同じ近隣に存在する場合は、2つのノードの間で双方向になされる。各ノードが有限のメモリを有すると仮定すると、各ノードはM個までのメッセージを搬送するように構成することができる。メッセージは、任意の2つのノードの間で交換される情報ユニットである。
完全なグラフG(V、E)をアドホックネットワーク900の確率的模型と想定する。各頂点Vは、1つの同一のノードNを表す。Eにおける各エッジe i,jに、確率的重み(probabilistic weight)Pi、j、0=Pi=1を割り当てる。これは、この2つのノードの間に接続が存在する確率を表す。Pi、jがゼロの場合、ノードiがノードjと直接通信できる可能性はない。Pi、jが1の場合、2つのノードの間に永続的な接続が存在する。
次に図10を参照すると、流れ図は、最短予想経路を決定する方法を示す。より詳細には、1対のノード<s、d>を考える。ただしsはソース、dは宛先である。ブロック1010で、ノードsは時刻0でメッセージを送信し、dがそのメッセージを受信する確率の分布をПで示す。Пは、上記の確率的ネットワークモデルのトポロジによって決定することができる。ブロック1020で、数1で示したように、dがメッセージを受信する予想時間として、sからdまでの予想経路長を規定する。
Figure 0004711656
MetaSpace200では、メッセージの複数のコピーを複数の経路に従って送信することができる。最短予想経路長を持つ経路を以下で主経路と呼び、ブロック1030で、主経路の予想経路長をEpathの上限として設定する。主経路の予想経路長は、数2から導出することができる。
Figure 0004711656
ただし、pは主経路のリンクiの接続確率である。ブロック1040で、EprimaryをEpathの推定値として使用する。推定値を決定するには、先ず、任意のノード対<s、d>の予想経路長を、この2つのノードの間の主経路を決定することによって計算する。次に、重みpを確率的ネットワークモデルのリンク上で1/pと置き換え、次いで、周知のダイスクトラ法を実施してEprimary(s、d)path(s、d)を得る。一実施形態では、各ノードは確率的ネットワークモデルの完全なトポロジを有する必要がある。一実施形態では、トポロジの構築および維持は、1つのノードから他の全てのノードまでのコストが最低の経路を見つけるときに、ゴールを有する単一のネットワークに属するルータの間でルーティング情報を分配するOSPF(open shortest path first)プロトコルなど周知のプロトコルのような、リンク状態のルーティングと同様のいくつかの方法でもよい。
次に図11を参照すると、最短予想経路のルーティングを決定する方法の実施形態が流れ図で示してある。この方法は、上記の予想経路長の距離に基づいたものである。ブロック1110で、デバイスのメタデータ記憶装置312内の各メッセージに、有効経路長EPLが割り当てられる。ブロック1120で、デバイスが新しいメッセージを受信した場合に、有効経路長が無限にリセットされる。ブロック1130で、メッセージが他のデバイスに伝播された場合は、EPLを目標デバイスからメッセージの宛先までの予想経路長に更新する。擬似コードで、ルーティング方法を以下のように記載することができる。
Figure 0004711656
この方法は、メッセージを1つのデバイスに伝播することは、そのデバイスがメッセージを宛先に転送する可能性がほとんどない場合は無用であり、新しいメッセージのためにキャッシュをパージする場合、高い確率で転送されたものが優先されることを示す。
MetaSpace200にはproxy_dll308のアプリケーションプログラミングが含まれており、これはアプリケーションとMetaSpace200ミドルウェアの間の橋渡しをするものである。一実施形態では、表4で示したように、4つの主なクラスの機能がある。
Figure 0004711656
アプリケーションプログラムインターフェース(APIs)でカバーされたMetaSpace基本操作には、書込み、読取り、列挙、および探索が含まれる。
書込み機能は、アプリケーション全てが(空間ID、メタデータ)の書込みを呼び出して、メタデータをMetaSpace環境に挿入することを提供する。メタデータをSOAPメッセージまたは同様のタイプのメッセージにラップすることができる。それぞれメッセージをグローバルで固有のメッセージ識別子に割り当てる。
読取り機能は、機能の2つの形態が、アプリケーションにMetaSpaceのメタデータを読取ることを要求することを提供する。第1の形態の機能呼出しは、(msgid、MetaData*メタデータ)の獲得であり、メタデータを読取り、そのデータをMetaSpaceから消去する。第2の形態の機能は、(msgid、MetaData*メタデータ)の読取りであり、そのデータを消去し、メタデータを変更せずそのままにする。
列挙および探索機能は、enum_metadata(空間ID、テンプレート)を呼び出すことによって、MetaSpaceに格納されたメタデータを列挙することができ、それによって、アプリケーションが使用して列挙されたメタデータを全て読取ることができるenum_info構造が戻されることを提供する。テンプレートは、どのメタデータを列挙すべきかを規定する選択的基準を提供する。NULLが提供された場合は、機能は現時点で格納されているメタデータを全て戻す。
MetaSpaceイベント登録もAPIsでカバーされる。すなわち、登録および登録抹消のためのAPIsが提供される。
登録機能は、アプリケーションが、一定のタイプのメッセージの到着または一定のデバイスを接続するなど一定のイベントを処理するハンドラを登録することができることを提供する。登録システム呼出しは、(空間ID、イベントのタイプ、テンプレート、ハンドラを)登録することである。テンプレートは、一定のタイプのイベントが生じた場合に選択に適用されるフィルタを指定する。たとえば、イベント「メッセージを受信する」が生じた場合、テンプレートは、一定の人物からメッセージが送信された場合にだけハンドラが呼び出されることを指定することができる。この機能は、reg_idを戻し、それをさらに使用してそのイベントの登録を抹消することができる。
登録抹消機能は、アプリケーションが、登録抹消(reg_id)システム呼出しを呼び出すことによって、事前に登録されたイベントハンドラの登録を消去できるようにする。
MetaSpaceは、少なくとも3つの名前空間操作APIsも提供する。部分空間は、アプリケーションが任意の部分空間をMetaSpace内に生成できるようにする機能を生成かつ消去する。システムの呼出し、(空間名の)生成は、現在のメタスペース内に部分空間を生成することである。空間名は、部分空間に固有の識別子である。(空間名)消去システムの呼出しは、部分空間を消去するために呼び出される。2つのシステムの呼出しは、特権アプリケーションだけに提供されることを留意されたい。
空間エクスポートおよびインポート機能は、アプリケーションが他のデバイスと共用することを求めている1つまたは複数の部分空間を設定できるようにする。アプリケーション呼出しは、インタレスト(空間ID)が、部分空間内の他のものからメッセージを受信するように設定する。アプリケーション呼出しは、アプリケーションが部分空間で他のデバイスにアプリケーションを転送する場合に、エクスポート(空間ID)の設定をする。
列挙部分空間機能は、enum_space(テンプレート)機能を呼び出すことによって、MetaSpace内の部分空間を列挙できるようにする。テンプレートは、アプリケーションに関連付けられた部分空間が、たとえば「my_family」と名付けられた部分空間の部分空間全て、エクスポートされた部分空間全て、またはキーワード「ニュース」を含む部分空間全てなどの列挙を望む選択的基準を指定する。
本発明の原理を適用することができる可能な多くの実施形態を考慮すると、図面の図を参照して本明細書に記載した実施形態は単に例示のものであり、本発明の範囲を限定するものではないことが理解されるであろう。たとえば、当業者には理解されるように、ソフトウェアで示した例示の実施形態の要素は、ハードウェアで実施することもでき、またその逆も可能であり、本発明の精神から逸脱することなく、例示の実施形態の構成および詳細を変更することができる。したがって、本明細書で記載した本発明は、こうした実施形態が全て本発明の添付の特許請求の範囲およびその等価のものに包含されることが企図されている。
本発明が常駐する例示のコンピュータシステムを全般的に示すブロック図である。 本発明の一実施形態による通信空間にある仮想データバッファを示すブロック図である。 本発明の一実施形態によるミドルウェア環境、MetaSpaceを示すブロック図である。 本発明の一実施形態による2値オブジェクトを参照したSOAPメッセージを示すブロック図である。 移動デバイスで発見を行うための方法を示す流れ図である。 本発明の一実施形態によるピア間の対話を識別する図である。 本発明の一実施形態によるピア間の対話を示すブロック図である。 本発明の一実施形態による方法を示す流れ図である。 本発明の一実施形態による、部分的に接続された接続形態で相互接続されたノードおよびメッセージのルーティングを示すブロック図である。 本発明の一実施形態による、部分的に接続されたネットワークのメッセージ用経路の推定値を決定する方法を示す流れ図である。 本発明の一実施形態による、デバイスで有効な経路長を決定する方法を示す流れ図である。
符号の説明
202 仮想データバッファ
204 アプリケーション1
206 アプリケーション2
208 書込みメタデータ
210 獲得メタデータ
302(1) アプリケーション
302(2) アプリケーション
304 ネットワークリンク
308(1) DLLプロキシ
308(2) DLLプロキシ
310(1) MetaSpaceエージェント
310(2) MetaSpaceエージェント
312(1) メタデータ記憶装置
312(2) メタデータ記憶装置
314 MetaSpaceプロトコル
402 参照1
404 参照n
406 SOAPメッセージ部分
408 2値オブジェクト1
410 2値オブジェクトn
412 分離文字
414(n) 分離文字
702 デバイスA
704 デバイスB
708 [Ns(A.exp)n交差Ns(B.Int)]+要約(B)
712 メタデータの組み合わせ、集約

Claims (8)

  1. 部分的に接続されたアドホック無線ネットワークにおいて1つまたは複数の分散アプリケーションの調整を可能にするミドルウェア通信空間を提供する装置であって、該装置は、コンピュータにより実施され、該装置が、
    コンピュータで実施されるプロキシコンポーネントであって、前記1つまたは複数の分散アプリケーションからデータを受信するように構成されたプロキシコンポーネントと、
    コンピュータで実施されるプロトコルエージェントであって、該プロトコルエージェントが、前記プロキシコンポーネントに結合され、該プロトコルエージェントが、移送のためにメタデータを監視し、前記部分的に接続されたアドホックネットワークでのメッセージの非同期移送を管理するように構成され、該プロトコルエージェントが1時に1つのネットワークに接続する、プロトコルエージェントと、
    コンピュータで実施されるメタデータ記憶コンポーネントであって、該メタデータ記憶コンポーネントが、前記プロキシコンポーネントおよび前記プロトコルエージェントに結合され、該メタデータ記憶コンポーネントが、前記1つまたは複数の分散アプリケーションに従ってメッセージとして移送することができるメタデータを格納するように構成され前記ミドルウェア通信空間が、2つ以上の部分的に接続されたネットワークの間の非同期ブリッジを提供し、前記ブリッジによって前記メッセージを一時的に格納できるようにして、2つ以上のデバイスの間の透過のメッセージングを可能にする、メタデータ記憶コンポーネント、
    コンピュータで実施される発見コンポーネントであって、リスンおよびアナウンスのプロトコルに従って1つまたは複数の近隣のデバイスを決定するため前記プロトコルエージェントに結合された、発見コンポーネントと、
    コンピュータで実施される選択コンポーネントであって、該選択コンポーネントが、1つまたは複数のメッセージの受信のための近隣のデバイスを選択するため前記発見コンポーネントに結合され、該選択が、
    動的に変更されるトポロジの確率的モデルを導出すること、
    前記確率的モデルを使用して、前記メッセージを送るためのルートを予想経路長に従って評価すること、
    前記評価したルート使用から最短予想経路ルートを決定すること、
    を含む、選択コンポーネントと、
    を含むミドルウェア通信空間を提供する装置
  2. 前記メッセージがSOAP形式およびWSシリーズプロトコル形式のうちの1つまたは複数の形式であることを特徴とする請求項1に記載のミドルウェア通信空間を提供する装置
  3. 前記メタデータ記憶コンポーネントが、XMLで複数のメッセージを保持し、前記メッセージが階層構造であることを特徴とする請求項1に記載のミドルウェア通信空間を提供する装置
  4. 前記メタデータが、ルーティングデータを定めるウェブサービスルーティングプロトコル(WS−Routing)データ、および処理情報をプロトコルエージェントに提供するための拡張プロトコルに適したデータを含むことを特徴とする請求項1に記載のミドルウェア通信空間を提供する装置
  5. 前記ミドルウェア通信空間がメッセージキャッシング、転送、およびルーティングのうちの1つまたは複数を提供することを特徴とする請求項1に記載のミドルウェア通信空間を提供する装置
  6. 前記メッセージが複数のデータフィールドに編成され、該複数のデータフィールドは、
    対時間でメッセージの満了を識別する満了時データフィールドであって、識別された時間の後にデータが無効になるようにする、満了時データフィールド
    前記メッセージを転送することができるホップの上限を提供するホップ制限データフィールドであって、前記上限は、転送が1つ成功した後に1つ減少する、ホップ制限データフィールド、
    前記メッセージの生成時をマークする絶対時間を提供する時刻表示データフィールド、
    前記メッセージが位置付けられた部分空間を識別する名前空間データフィールド、
    前記メッセージを限定する領域を識別し、同じ管理特権を共有するデバイスの物理的境界を定める管理領域データフィールド、
    前記メッセージが関連するトピックを指定する関連性データフィールドであって、その関連性が関連属性を提供して2つ以上のメッセージが前記トピックに関連する場合の動作を定める、関連性データフィールド、
    メッセージの優先順位を定める優先順位データフィールド、および
    分散アプリケーションが前記メッセージに関連したアプリケーション指定のプロパティを定めるための拡張可能なコンポーネントを提供するプロパティデータフィールド
    のうちの少なくとも1つを含むこと、を特徴とする請求項1に記載のミドルウェア通信空間を提供する装置
  7. 前記メッセージが前記データフィールドのうちの少なくとも3つに編成されることを特徴とする請求項6に記載のミドルウェア通信空間を提供する装置
  8. 前記メッセージが前記データフィールドのうちの少なくとも6つに編成されることを特徴とする請求項6に記載のミドルウェア通信空間を提供する装置
JP2004272463A 2003-09-17 2004-09-17 MetaSpace、部分的に接続された移動アドホックネットワーク用通信ミドルウェア Active JP4711656B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/664,354 US7523220B2 (en) 2003-09-17 2003-09-17 Metaspace: communication middleware for partially connected mobile ad hoc networks
US10/664,354 2003-09-17

Publications (2)

Publication Number Publication Date
JP2005094776A JP2005094776A (ja) 2005-04-07
JP4711656B2 true JP4711656B2 (ja) 2011-06-29

Family

ID=34194747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004272463A Active JP4711656B2 (ja) 2003-09-17 2004-09-17 MetaSpace、部分的に接続された移動アドホックネットワーク用通信ミドルウェア

Country Status (10)

Country Link
US (3) US7523220B2 (ja)
EP (1) EP1517486B1 (ja)
JP (1) JP4711656B2 (ja)
KR (1) KR101150131B1 (ja)
CN (1) CN1599362B (ja)
AU (1) AU2004205328A1 (ja)
BR (1) BRPI0403818A (ja)
CA (1) CA2480933C (ja)
MX (1) MXPA04008848A (ja)
RU (1) RU2366108C2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286844B1 (en) * 2003-01-31 2007-10-23 Bbn Technologies Corp. Systems and methods for three dimensional antenna selection and power control in an Ad-Hoc wireless network
US7523220B2 (en) * 2003-09-17 2009-04-21 Microsoft Corporation Metaspace: communication middleware for partially connected mobile ad hoc networks
US8639819B2 (en) 2004-02-05 2014-01-28 Nokia Corporation Ad-hoc connection between electronic devices
US7707498B2 (en) * 2004-09-30 2010-04-27 Microsoft Corporation Specific type content manager in an electronic document
US8145201B2 (en) * 2004-12-17 2012-03-27 Raytheon Bbn Technologies Corp. Methods and apparatus for reduced energy communication in an ad hoc network
US7617234B2 (en) * 2005-01-06 2009-11-10 Microsoft Corporation XML schema for binding data
US7730394B2 (en) * 2005-01-06 2010-06-01 Microsoft Corporation Data binding in a word-processing application
US7945590B2 (en) * 2005-01-06 2011-05-17 Microsoft Corporation Programmability for binding data
US7668873B2 (en) * 2005-02-25 2010-02-23 Microsoft Corporation Data store for software application documents
US7752224B2 (en) * 2005-02-25 2010-07-06 Microsoft Corporation Programmability for XML data store for documents
US9178721B2 (en) * 2005-06-09 2015-11-03 Hewlett-Packard Development Company, L.P. Inferring causal paths in a distributed computing environment
US7551618B2 (en) * 2005-06-09 2009-06-23 Digi International Stack bypass application programming interface
US7681234B2 (en) * 2005-06-30 2010-03-16 Microsoft Corporation Preventing phishing attacks
US8364148B2 (en) * 2005-07-07 2013-01-29 Qualcomm Incorporated Methods and devices for interworking of wireless wide area networks and wireless local area networks or wireless personal area networks
US8311543B2 (en) 2005-07-07 2012-11-13 Qualcomm Incorporated Methods and devices for interworking of wireless wide area networks and wireless local area networks or wireless personal area networks
US20070015553A1 (en) * 2005-07-12 2007-01-18 Microsoft Corporation Compact and durable clamshell smartphone
US20070015533A1 (en) * 2005-07-12 2007-01-18 Microsoft Corporation Mono hinge for communication device
US7676242B2 (en) * 2005-07-12 2010-03-09 Microsoft Corporation Compact and durable thin smartphone
US7630741B2 (en) * 2005-07-12 2009-12-08 Microsoft Corporation Compact and durable messenger device
WO2007011167A1 (en) * 2005-07-21 2007-01-25 Kyungpook National University Industry-Academic Cooperation Foundation Virtual storage system and method for searching file based on ad-hoc network
US7953696B2 (en) * 2005-09-09 2011-05-31 Microsoft Corporation Real-time synchronization of XML data between applications
GB0518416D0 (en) * 2005-09-09 2005-10-19 Standard Life Assurance Compan Improvements in and relating to service orientated architecture
US20070070983A1 (en) * 2005-09-28 2007-03-29 Bbn Technologies Corp. Methods and apparatus for improved efficiency communication
KR100735669B1 (ko) 2005-12-01 2007-07-06 성균관대학교산학협력단 Corba 기반 적응적 브리지 폴 시스템 및 그 방법
KR100734886B1 (ko) * 2005-12-07 2007-07-03 한국전자통신연구원 이종의 soap 전송 프로토콜을 사용하는 노드 간웹서비스 연동 방법
US8640231B2 (en) * 2006-02-23 2014-01-28 Microsoft Corporation Client side attack resistant phishing detection
JP2007235355A (ja) * 2006-02-28 2007-09-13 Ntt Docomo Inc 移動通信端末及び経路選択方法
US7599861B2 (en) 2006-03-02 2009-10-06 Convergys Customer Management Group, Inc. System and method for closed loop decisionmaking in an automated care system
US7861229B2 (en) * 2006-03-16 2010-12-28 Microsoft Corporation Complexity metrics for data schemas
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
US7924728B2 (en) * 2006-08-25 2011-04-12 Raytheon Bbn Technologies Corp Systems and methods for energy-conscious communication in wireless ad-hoc networks
US8149716B2 (en) * 2007-08-20 2012-04-03 Raytheon Bbn Technologies Corp. Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks
US8751626B2 (en) * 2007-10-23 2014-06-10 Microsoft Corporation Model-based composite application platform
CN101304410A (zh) * 2008-06-05 2008-11-12 郭丰亮 分布式web的智能信息平台
US8108540B2 (en) 2008-12-12 2012-01-31 Microsoft Corporation Envelope attachment for message context
US8102883B2 (en) 2009-03-04 2012-01-24 Telefonaktiebolaget L M Ericsson (Publ) LDP IGP synchronization for broadcast networks
US20120078724A1 (en) * 2010-09-23 2012-03-29 Sony Corporation System and method for utilizing a morphing procedure in an information distribution network
US8578049B2 (en) * 2010-10-04 2013-11-05 Futurewei Technologies, Inc. Content router forwarding plane architecture
US8838830B2 (en) 2010-10-12 2014-09-16 Sap Portals Israel Ltd Optimizing distributed computer networks
JPWO2012120929A1 (ja) 2011-03-09 2014-07-17 日本電気株式会社 電極用活物質、及び二次電池
JP5780296B2 (ja) 2011-04-18 2015-09-16 富士通株式会社 スレッド処理方法、およびスレッド処理システム
US20130117218A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Cross-store electronic discovery
US9817898B2 (en) 2011-11-14 2017-11-14 Microsoft Technology Licensing, Llc Locating relevant content items across multiple disparate content sources
US9313103B2 (en) * 2013-03-08 2016-04-12 Qualcomm Incorporated Systems and methods for discovering devices in a neighborhood aware network
US8819127B1 (en) 2013-04-12 2014-08-26 Fmr Llc Ensemble computing
US10438183B2 (en) * 2013-07-02 2019-10-08 Boku, Inc. Merchant hosted checkout at a billing server
JP2016063479A (ja) * 2014-09-19 2016-04-25 株式会社東芝 管理装置、通信装置、管理システム、管理方法、およびプログラム
US11829811B2 (en) * 2021-09-17 2023-11-28 International Business Machines Corporation Systems and methods for exchanging electronic data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150432A (ja) * 2001-11-09 2003-05-23 Japan Telecom Co Ltd 情報交換方法、情報交換プログラムおよび情報処理装置
WO2003058917A1 (en) * 2002-01-10 2003-07-17 International Business Machines Corporation Method and system for peer to peer communication in a network environment
US20030171113A1 (en) * 2002-03-08 2003-09-11 Samsung Electronics Co., Ltd. Apparatus and system for providing remote control service through communication network, and method thereof

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59702353D1 (de) 1996-06-25 2000-10-19 Mitsubishi Int Gmbh Verfahren zum herstellen einer funkverbindung
US5987011A (en) * 1996-08-30 1999-11-16 Chai-Keong Toh Routing method for Ad-Hoc mobile networks
US6160881A (en) * 1996-09-19 2000-12-12 Siemens Information And Communication Networks, Inc. System and method for integrating electronic entry systems with telecommunication systems
FI108327B (fi) 1996-12-23 2001-12-31 Nokia Corp Menetelmä yhteyden muodostamiseksi matkaviestinverkossa
US6098107A (en) * 1997-10-31 2000-08-01 Lucent Technologies Inc. Dynamic algorithms for shortest path tree computation
EP0935192A1 (en) * 1998-02-09 1999-08-11 Sony Europa B.V. Method and system for communication between application programs and a network
JPH11249898A (ja) * 1998-03-04 1999-09-17 Sony Corp データ処理方法、記録媒体及びデータ処理装置
US6130881A (en) * 1998-04-20 2000-10-10 Sarnoff Corporation Traffic routing in small wireless data networks
US7103360B2 (en) 1998-12-30 2006-09-05 Telcordia Technologies, Inc. Switching telephone calls between wireline and cellular telephones
DE69930918T2 (de) * 1999-01-25 2006-11-30 International Business Machines Corp. Dienstankündigungen in drahtlosen lokalen Netzen
US6104712A (en) * 1999-02-22 2000-08-15 Robert; Bruno G. Wireless communication network including plural migratory access nodes
US6496702B1 (en) 1999-08-06 2002-12-17 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network (VPN)
EP1107512A1 (en) * 1999-12-03 2001-06-13 Sony International (Europe) GmbH Communication device and software for operating multimedia applications
ATE332529T1 (de) * 2000-05-09 2006-07-15 Sun Microsystems Inc Verbindung zwischen einer auf datendarstellungssprache und auf nachrichten basierter verteilter rechnerumgebung und anderen umgebungen
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6876643B1 (en) * 2000-08-08 2005-04-05 International Business Machines Corporation Clustering in wireless ad hoc networks
US7698463B2 (en) * 2000-09-12 2010-04-13 Sri International System and method for disseminating topology and link-state information to routing nodes in a mobile ad hoc network
ATE405110T1 (de) * 2000-11-17 2008-08-15 Sony Deutschland Gmbh Informationsübertragung via einem ad hoc netz
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7668958B2 (en) * 2001-10-18 2010-02-23 Intel Corporation Method for discovery and routing using a priori knowledge in the form of application programme within mobile AD-HOC networks
EP1379963A4 (en) * 2001-03-19 2009-03-11 Microsoft Corp SYSTEM AND METHOD FOR MANAGING COMMUNICATIONS AND DATA EXCHANGE
US6922725B2 (en) * 2001-09-07 2005-07-26 Xerox Corporation Method and apparatus for processing document service requests originating from a mobile computing device
US6937602B2 (en) * 2001-10-23 2005-08-30 Meshnetworks, Inc. System and method for providing a congestion optimized address resolution protocol for wireless ad-hoc networks
US7280545B1 (en) * 2001-12-20 2007-10-09 Nagle Darragh J Complex adaptive routing system and method for a nodal communication network
EP1467524A4 (en) * 2001-12-28 2005-03-30 Nokia Corp ROUTING PROCEDURE FOR A MOBILE AD HOC NETWORK
US7760645B2 (en) * 2002-02-25 2010-07-20 Olsonet Communications Method for routing ad-hoc signals
US7035207B2 (en) * 2002-06-05 2006-04-25 Eka Systems, Inc System and method for forming, maintaining and dynamic reconfigurable routing in an ad-hoc network
US7200674B2 (en) * 2002-07-19 2007-04-03 Open Invention Network, Llc Electronic commerce community networks and intra/inter community secure routing implementation
US7554988B2 (en) * 2002-09-10 2009-06-30 Hewlett-Packard Development Company, L.P. Creating expressway for overlay routing
US7613796B2 (en) * 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US8108455B2 (en) * 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks
US7774495B2 (en) * 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
US7808939B2 (en) * 2003-03-28 2010-10-05 Lenovo (Singapore) Pte Ltd. Routing in wireless ad-hoc networks
MXPA04004719A (es) * 2003-05-19 2004-09-06 Eaton Corp Red ad-hoc y metodo de enrutar comunicaciones en una red de comunicaciones.
US7406313B2 (en) * 2003-06-25 2008-07-29 International Business Machines Corporation Systems, methods and computer program products for connecting ad hoc piconets to wide area networks
US7523220B2 (en) 2003-09-17 2009-04-21 Microsoft Corporation Metaspace: communication middleware for partially connected mobile ad hoc networks
CN100484148C (zh) * 2003-09-29 2009-04-29 株式会社日立制作所 信息终端装置、信息共享方法、使用它们的p2p系统及指针系统
EP1542409B1 (en) * 2003-12-10 2009-04-15 Sony Deutschland GmbH Protocol for multi-hop ad-hoc networks
US7573866B2 (en) * 2006-08-30 2009-08-11 Mitsubishi Electric Research Laboratories, Inc. Method for finding optimal paths using a stochastic network model
US8135021B2 (en) * 2006-09-28 2012-03-13 Nokia Corporation Routing in wireless ad-hoc networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150432A (ja) * 2001-11-09 2003-05-23 Japan Telecom Co Ltd 情報交換方法、情報交換プログラムおよび情報処理装置
WO2003058917A1 (en) * 2002-01-10 2003-07-17 International Business Machines Corporation Method and system for peer to peer communication in a network environment
US20030171113A1 (en) * 2002-03-08 2003-09-11 Samsung Electronics Co., Ltd. Apparatus and system for providing remote control service through communication network, and method thereof

Also Published As

Publication number Publication date
KR20050028211A (ko) 2005-03-22
US8228927B2 (en) 2012-07-24
JP2005094776A (ja) 2005-04-07
CN1599362A (zh) 2005-03-23
US8332538B2 (en) 2012-12-11
EP1517486A3 (en) 2011-04-06
US20090103461A1 (en) 2009-04-23
US20050068913A1 (en) 2005-03-31
KR101150131B1 (ko) 2012-06-08
CN1599362B (zh) 2010-04-28
AU2004205328A1 (en) 2005-04-07
RU2366108C2 (ru) 2009-08-27
MXPA04008848A (es) 2005-07-01
CA2480933C (en) 2014-02-04
RU2004127857A (ru) 2006-02-20
EP1517486B1 (en) 2018-04-25
EP1517486A2 (en) 2005-03-23
CA2480933A1 (en) 2005-03-17
BRPI0403818A (pt) 2005-05-24
US7523220B2 (en) 2009-04-21
US20090046603A1 (en) 2009-02-19

Similar Documents

Publication Publication Date Title
JP4711656B2 (ja) MetaSpace、部分的に接続された移動アドホックネットワーク用通信ミドルウェア
US9686194B2 (en) Adaptive multi-interface use for content networking
US7904078B2 (en) Mobile peer-to-peer networks
US7643458B1 (en) Communicating between wireless communities
US20110105024A1 (en) Transport independent service discovery
Zeidler et al. Mobility support with REBECA
KR101504045B1 (ko) 페이징된 업데이트 프로토콜 방법 및 장치
CN111600812A (zh) 一种报文的处理方法、处理装置、可读介质和系统
US11645255B2 (en) Method, electronic device, and computer program product for storing and searching for data
Benchi et al. A P2P tuple space implementation for disconnected MANETs
Chen Cafnet: A carry-and-forward delay-tolerant network
US20110151848A1 (en) System and method for simplification of data structure in wireless communications
EP2317726A1 (en) Transport independent service discovery
JP2005295036A (ja) ホームエージェントシステム
Gaddah A pro-active mobility management scheme for publish/subscribe middleware systems
JP4309924B2 (ja) サービス提供ノード発見装置、サービス提供ノード発見方法、サービス提供ノード発見プログラム
Kabadayi et al. DAIS: enabling declarative applications in immersive sensor networks
Ahson A simulation study of mobile computing protocols
Al-Jaroodi et al. A Collaborative Resource Discovery Approach for Mobile Systems
Baalaji Collaborative services in an ad hoc wireless network
Yan Study on ZigBee Wireless Sensor Networks Tree Routing and Distributed Addresses Assignment Mechanisms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070918

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090903

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100609

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100908

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110322

R150 Certificate of patent or registration of utility model

Ref document number: 4711656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250