JP2006510124A - Device detection and service discovery system and method for mobile ad hoc communication networks - Google Patents

Device detection and service discovery system and method for mobile ad hoc communication networks Download PDF

Info

Publication number
JP2006510124A
JP2006510124A JP2005501839A JP2005501839A JP2006510124A JP 2006510124 A JP2006510124 A JP 2006510124A JP 2005501839 A JP2005501839 A JP 2005501839A JP 2005501839 A JP2005501839 A JP 2005501839A JP 2006510124 A JP2006510124 A JP 2006510124A
Authority
JP
Japan
Prior art keywords
application
terminal
middleware layer
neighboring device
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005501839A
Other languages
Japanese (ja)
Other versions
JP4050297B2 (en
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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
Priority claimed from US10/284,135 external-priority patent/US6909721B2/en
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of JP2006510124A publication Critical patent/JP2006510124A/en
Application granted granted Critical
Publication of JP4050297B2 publication Critical patent/JP4050297B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Abstract

移動アドホック通信ネットワーク内で装置検出及びサービス発見を遂行するためのコンピュータシステム、方法及びコンピュータプログラム製品。この方法は、移動アドホック通信ネットワークの問合せを行って、近傍の装置を発見するステップを含む。問合せが、近傍の装置がミドルウェア層を含むかもしれないことを指示する場合には、この方法は、更に、各近傍の装置への接続を形成し、そして各近傍の装置がミドルウェア層を含むかどうか確認するステップを含む。各近傍の装置がミドルウェア層を含む場合には、この方法は、更に、ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行すると共に、アプリケーション及びサービスに着手するステップを含む。A computer system, method and computer program product for performing device discovery and service discovery in a mobile ad hoc communication network. The method includes interrogating a mobile ad hoc communication network to discover nearby devices. If the query indicates that neighboring devices may include a middleware layer, this method further creates a connection to each neighboring device, and whether each neighboring device includes a middleware layer. Including the step of confirming whether or not. If each neighboring device includes a middleware layer, the method further includes executing the middleware layer to perform application and service discovery and initiating applications and services.

Description

本発明は、一般に、ワイヤレス通信ネットワークに接続された装置間の通信に係る。より詳細には、本発明は、移動アドホック通信ネットワークにおいて装置検出及びサービス発見を実行するためのシステム及び方法に係る。
本出願は、2002年10月31日に米国特許商標庁に出願された「DEVICEDETECTION AND SERVICE DISCOVERY SYSTEM AND METHOD FOR A MOBILE AD HOC COMMUNICATIONS NETWORK」と題する米国特許出願第10/284,135号を参考として援用し、その優先権を請求する。又、本出願は、2003年9月16日に米国特許商標庁に出願された「DEVICEDETECTION AND SERVICE DISCOVERY SYSTEM AND METHOD FOR A MOBILE AD HOC COMMUNICATIONS NETWORK」と題する米国一部継続特許出願第SS/XXX,YYY号も参考として援用し、その優先権を請求する。更に、本出願は、2003年9月16日に米国特許商標庁に出願された「MECHANISM FOR IMPROVING CONNECTION CONTROL IN PEER-TO-PEER AD-HOC NETWORKS」と題する米国特許出願第SS/XXX,YYY号にも関連し、参考として援用する。又、本出願は、2003年9月16日に米国特許商標庁に出願された「APPLICATION CONTROL IN PEER-TO-PEER AD-HOC COMMUNICATION NETWORKS」と題する米国特許出願第SS/XXX,YYY号にも関連し、参考として援用する。譲受人は、前記特許出願、一部継続特許出願、及び関連特許出願において同一である。
The present invention generally relates to communication between devices connected to a wireless communication network. More particularly, the present invention relates to a system and method for performing device discovery and service discovery in a mobile ad hoc communication network.
This application refers to US patent application Ser. No. 10 / 284,135, filed Oct. 31, 2002, entitled “DEVICEDETECTION AND SERVICE DISCOVERY SYSTEM AND METHOD FOR A MOBILE AD HOC COMMUNICATIONS NETWORK”. Incorporate and claim its priority. In addition, this application is a US partial continuation patent application SS / XXX, entitled “DEVICEDETECTION AND SERVICE DISCOVERY SYSTEM AND METHOD FOR A MOBILE AD HOC COMMUNICATIONS NETWORK” filed with the US Patent and Trademark Office on September 16, 2003. YYY is also used as a reference and claims its priority. Further, this application is a US patent application No. SS / XXX, YYY entitled “MECHANISM FOR IMPROVING CONNECTION CONTROL IN PEER-TO-PEER AD-HOC NETWORKS” filed with the United States Patent and Trademark Office on September 16, 2003. It is related to and is used as a reference. This application is also filed in US Patent Application No. SS / XXX, YYY entitled "APPLICATION CONTROL IN PEER-TO-PEER AD-HOC COMMUNICATION NETWORKS" filed with the US Patent and Trademark Office on September 16, 2003. Related and incorporated by reference. The assignee is the same in the patent application, partially continuation patent application, and related patent application.

ショートレンジワイヤレスシステムは、その範囲が100メーター未満であるが、インターネットに接続して長距離通信を行うことができる。ショートレンジワイヤレスシステムは、ワイヤレスパーソナルエリアネットワーク(PAN)及びワイヤレスローカルエリアネットワーク(LAN)を含むが、これらに限定されない。ワイヤレスPANは、典型的な範囲が10メーターの低コスト、低電力のワイヤレス装置を使用する。ワイヤレスPAN技術の一例は、ブルーツース(Bluetooth)規格である。ブルーツース規格は、2.4GHzの工業、科学及び医療(ISM)帯域で動作し、1Mbpsのピークエアリンク速度と、パーソナルデジタルアシスタンスや移動電話のようなパーソナル、ポータブル電子装置に使用するのに充分な低い消費電力とを与える。ブルーツース通信プロトコル及び装置動作原理の説明が、「Bluetooth Special Interest Group, Specification of the Bluetooth Standard」、バージョン1.0B、第1及び2巻、1999年12月、に掲載されている。ワイヤレスLANは、ワイヤレスPANよりコストがかかるが、長距離である。ワイヤレスLAN技術の一例は、IEEE802.11ワイヤレスLAN規格及びHIPERLAN規格である。HIPERLAN規格は、5GHzの非認可国内情報インフラストラクチャー(U−NII)帯域で動作し、10から100Mbpsのピークエアリンク速度を与える。   The short range wireless system has a range of less than 100 meters, but can be connected to the Internet for long distance communication. Short range wireless systems include, but are not limited to, wireless personal area networks (PAN) and wireless local area networks (LAN). Wireless PANs use low cost, low power wireless devices with a typical range of 10 meters. An example of a wireless PAN technology is the Bluetooth standard. The Bluetooth standard operates in the 2.4 GHz Industrial, Scientific and Medical (ISM) band and is sufficient for use with 1 Mbps peak air link speeds and personal and portable electronic devices such as personal digital assistance and mobile phones. Gives low power consumption. A description of the Bluetooth communication protocol and device operation principle is published in “Bluetooth Special Interest Group, Specification of the Bluetooth Standard”, Version 1.0B, Volumes 1 and 2, December 1999. A wireless LAN costs more than a wireless PAN, but is long distance. An example of a wireless LAN technology is the IEEE 802.11 wireless LAN standard and the HIPERLAN standard. The HIPERLAN standard operates in the unlicensed National Information Infrastructure (U-NII) band of 5 GHz and provides peak air link speeds of 10 to 100 Mbps.

アドホックネットワークは、情報を交換するに充分なほど物理的に接近したワイヤレス装置の任意の集合で構成されるショートレンジワイヤレスシステムである。アドホックネットワークは、ワイヤレス装置が他のワイヤレス装置の至近域に入ったり出たりするときにそれらがネットワークに加わったり出たりすることで迅速に構成される。又、アドホックネットワークは、1つ以上のアクセスポイントを含んでもよく、即ちスタンドアローンサーバーとして動作するか他のネットワークへのゲートウェイ接続として動作する固定のワイヤレス装置を含んでもよい。   An ad hoc network is a short range wireless system comprised of an arbitrary collection of wireless devices that are physically close enough to exchange information. Ad hoc networks are quickly configured by wireless devices entering and leaving the network as they enter and exit other wireless devices. An ad hoc network may also include one or more access points, i.e., a fixed wireless device that operates as a standalone server or as a gateway connection to another network.

将来、ブルーツース規格は、マルチホップのアドホックネットワーク又はスキャッターネットを形成するために多数のピコネットの相互接続をおそらくサポートするであろう。スキャッターネットでは、接続装置が異なるピコネット間にトラフィックを転送する。接続装置は、1つのピコネットではマスター装置として働くが、別のピコネットではスレーブ装置又はマスター装置として働く。従って、接続装置は、タイミング及びホップシーケンスを各ピコネットに適応させ、そしておそらくはサービスの役割をマスター装置からスレーブ装置へ切り換えることにより、スキャッターネットを含むピコネットに加わる。   In the future, the Bluetooth standard will probably support multiple piconet interconnections to form multi-hop ad hoc networks or scatter nets. In the scatter net, the connection device transfers traffic between different piconets. The connection device acts as a master device in one piconet, but acts as a slave device or master device in another piconet. Thus, the connecting device joins the piconet, including the scatternet, by adapting the timing and hop sequence to each piconet and possibly switching the service role from the master device to the slave device.

ブルーツース装置は、移動電話、パーソナル又はラップトップコンピュータ、高周波識別タグ、及びパーソナル電子装置、例えば、パーソナルデジタルアシスタント(PDA)、ページャー又はポータブルコンピュータ装置を含むが、これらに限定されない。各ブルーツース装置は、ネットワークの通信範囲に出入りするときに他のブルーツース装置を発見するように設計されたアプリケーション及びオペレーティングプログラムを備えている。クライアントの役割における要求側ブルーツース装置と、サーバーの役割における応答側ブルーツース装置は、2つの装置間にリンクを確立する。要求側及び応答側のブルーツース装置は、そのリンクと、サービス発見プロトコルとを使用して、他のブルーツース装置によりオファーされるサービス及びそれらサービスへいかに接続するかを発見する。   Bluetooth devices include, but are not limited to, mobile phones, personal or laptop computers, radio frequency identification tags, and personal electronic devices such as personal digital assistants (PDAs), pagers or portable computer devices. Each Bluetooth device has an application and operating program designed to discover other Bluetooth devices when entering or leaving the network coverage. The requesting Bluetooth device in the client role and the responding Bluetooth device in the server role establish a link between the two devices. The requesting and responding Bluetooth devices use their links and service discovery protocols to discover services offered by other Bluetooth devices and how to connect to those services.

従来のシステムは、サービス発見プロトコルに対して同様の振舞いパターンをたどる。記述言語及び適当な語彙を使用して生成されたサービス記述が広告されるか、又は問合せの一致に対して使用される。ある従来システムは、記述をディレクトリーに押し込み、そしてディレクトリーを発見するように広告主に要求することにより、サービス記述を広告する。他の従来システムは、記述をピア対ピア発見に使用できるようにすることによりサービス記述を広告する。サービス記述を発見することが必要なクライアント装置は、問合せ言語及び一致する語彙を使用して問合せを構成し、そして問合せプロトコル又は分散型問合せ処理サーバーのいずれかを使用して問合せを配送する。   Conventional systems follow a similar behavior pattern for service discovery protocols. A service description generated using the description language and the appropriate vocabulary is advertised or used for query matching. One conventional system advertises a service description by pushing the description into the directory and requesting the advertiser to find the directory. Other conventional systems advertise service descriptions by making the descriptions available for peer-to-peer discovery. A client device that needs to find a service description constructs a query using the query language and the matching vocabulary, and delivers the query using either a query protocol or a distributed query processing server.

従来システムにおけるサービス発見プロトコルは、問合せメッセージを送信しそしてそれに応答することを必要とする。他の装置が存在しない場合には、問合せメッセージが無益に送信される。過剰な電力消費を回避するため、従来のシステムは、通常、別の当該装置が存在するときに人間のユーザが装置の検出を手動で開始することを要求する。例えば、人間のユーザは、データ通信を取り扱うためにセルラー電話をラップトップコンピュータへ接続するとき、又はデジタルオーディオを配送するためにワイヤレスハンドセットをラップトップコンピュータに接続するときに、装置の検出を手動で開始する。これらの従来システムは、3つの仮定に依存する。第1に、アプリケーションは、そのサービスの存在が保証されるので自由にスタートすることができる。第2に、アプリケーションは、最初にサービスを必要とするときにサービス発見を実行する。第3に、ネットワークの組成は、アプリケーションの寿命中に変化しない。   The service discovery protocol in conventional systems requires sending and responding to inquiry messages. If no other device exists, an inquiry message is sent unnecessarily. In order to avoid excessive power consumption, conventional systems typically require a human user to manually initiate device detection when another such device is present. For example, a human user manually detects the device when connecting a cellular phone to a laptop computer to handle data communication or when connecting a wireless handset to a laptop computer to deliver digital audio. Start. These conventional systems rely on three assumptions. First, the application can start freely as its existence is guaranteed. Second, the application performs service discovery when it first needs service. Third, the composition of the network does not change during the lifetime of the application.

従って、過剰な電力消費を回避すると共に、1つの装置に常駐するアプリケーションが、アドホック通信ネットワーク内のいずれかの他の装置に常駐する対応アプリケーション又は他のリソースを自動的に見出すのを許す装置検出及びサービス発見プロトコルが要望される。このプロトコルは、人間のユーザが対応アプリケーション又は他のリソースを見出すために装置検出を手動で開始することを要求しない。更に、このプロトコルは、特定装置の存在が保証されないと共に、装置がネットワークに頻繁に出入りするためにネットワークの組成が動的であるようなネットワーク環境を受け容れる。本発明は、このような要望に向けられる。   Thus, device detection that avoids excessive power consumption and allows an application residing on one device to automatically find a corresponding application or other resource residing on any other device in the ad hoc communication network. And a service discovery protocol is desired. This protocol does not require a human user to manually initiate device discovery to find a compatible application or other resource. Furthermore, this protocol accepts network environments where the presence of a particular device is not guaranteed and the composition of the network is dynamic due to the frequent entry and exit of the device. The present invention is directed to such a need.

移動アドホック通信ネットワークにおいて装置検出及びサービス発見を実行するためのコンピュータシステム、方法及びコンピュータプログラム製品が提供される。この方法は、移動アドホック通信ネットワークの問合せを行って近傍の装置を発見するステップを含む。問合せが、近傍の装置がミドルウェア層を含むかもしれないことを指示する場合には、この方法は、更に、各々の近傍の装置への接続を形成するステップと、各々の近傍の装置がミドルウェア層を含むかどうか確認するステップとを含む。ミドルウェア層を含む近傍の装置の各々に対して、この方法は、更に、ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行すると共に、アプリケーション及びサービスに着手するステップも含む。   A computer system, method, and computer program product for performing device discovery and service discovery in a mobile ad hoc communication network are provided. The method includes interrogating a mobile ad hoc communication network to discover nearby devices. If the query indicates that neighboring devices may include a middleware layer, the method further includes forming a connection to each neighboring device, and each neighboring device has a middleware layer. And a step of confirming whether or not For each neighboring device that includes a middleware layer, the method further includes executing the middleware layer to perform application and service discovery and initiating the application and service.

一実施形態において、移動アドホック通信ネットワークは、ブルーツースネットワークである。問合せを行うステップは、ブルーツース問合せコマンドを送信し、そして装置がミドルウェア層を含むという指示を含むブルーツース問合せ結果コマンドを受信することを含む。ミドルウェア層を含む装置への接続を形成するステップは、ブルーツースページング要求メッセージをその装置に送信しそしてブルーツースページング受け容れメッセージを受信することを含む。装置がミドルウェア層を含むことを確認するステップは、確認要求メッセージをその装置に送信しそして確認応答メッセージを受信することを含む。ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行するステップは、装置からの通知メッセージをローカルアプリケーションディレクトリーのコピーと共に受信し、ローカル及び結合アプリケーションディレクトリーの比較に基づく結合アプリケーションディレクトリーに対する更新を記憶し、そして結合アプリケーションディレクトリーに対する更新をブルーツースネットワークにおける各装置へ送信することを含む。更に、ミドルウェア層を実行するステップは、結合アプリケーションディレクトリーにおける参照に基づいてローカルアプリケーションに着手し、そしてそのローカルアプリケーションを、装置において実行される対応アプリケーションに接続することを含む。   In one embodiment, the mobile ad hoc communication network is a Bluetooth network. The step of querying includes transmitting a Bluetooth query command and receiving a Bluetooth query result command including an indication that the device includes a middleware layer. Forming a connection to a device that includes the middleware layer includes sending a blue-to-spacing request message to the device and receiving a blue-to-spacing acceptance message. Confirming that the device includes the middleware layer includes sending a confirmation request message to the device and receiving an acknowledgment message. The step of executing the middleware layer to perform application and service discovery receives notification messages from the device along with a copy of the local application directory, stores updates to the combined application directory based on a comparison of the local and combined application directories, And sending updates to the combined application directory to each device in the Bluetooth network. Further, the step of executing the middleware layer includes initiating a local application based on the reference in the combined application directory and connecting the local application to a corresponding application executed on the device.

添付図面は、移動アドホック通信ネットワークのための装置検出及びサービス発見システム及び方法の詳細をその構造及び動作の両方について最も良く示している。これら図面において同様の要素が同じ参照番号で示されている。   The accompanying drawings best illustrate the details of the device detection and service discovery system and method for both mobile ad hoc communication networks, both in its structure and operation. In these drawings, similar elements are indicated with the same reference numerals.

図1は、本発明の一実施形態により移動アドホック通信ネットワークを構成する装置の相互作用を示すネットワーク図である。一実施形態において、移動アドホック通信ネットワークは、1つのマスター装置と、7つまでのアクティブなスレーブ装置とを備えたブルーツースピコネットである。図1に示すように、ピコネット100は、サーバー110と、ターミナル120の5つのインスタンスとを備えている。サーバー110は、ネットワーククロックを維持し、ターミナル120の各インスタンスに対する通信マネージャーである。サーバー110は、通常、ターミナル120のインスタンスとのデータの交換を開始する。ターミナル120の2つのインスタンスが、通常、サーバー110を経て通信するが、ターミナル120の2つのインスタンスが直接通信する場合には、一方のインスタンスがサーバー即ちマスターの役割を果たし、そして他方のインスタンスがクライアント即ちスレーブの役割を果たす。   FIG. 1 is a network diagram showing the interaction of devices constituting a mobile ad hoc communication network according to an embodiment of the present invention. In one embodiment, the mobile ad hoc communication network is a blue-to-piconet with one master device and up to seven active slave devices. As shown in FIG. 1, the piconet 100 includes a server 110 and five instances of a terminal 120. Server 110 maintains a network clock and is a communication manager for each instance of terminal 120. Server 110 typically initiates data exchange with an instance of terminal 120. Two instances of terminal 120 typically communicate via server 110, but if two instances of terminal 120 communicate directly, one instance acts as a server or master and the other instance is a client. That is, it plays the role of a slave.

移動アドホック通信ネットワークにおける各装置は、ターミナル装置又はサーバー装置のいずれかの役割を果たす。ターミナル装置は、単一のユーザが操作するサービスの消費者である。ターミナル装置は、移動電話又はPDAのような装置を含む。サーバーは、通常、固定装置で、サービスを発生するだけである。サーバー装置は、それらのサービスを利用するためのホットスポットをそれらの周りに形成する。「ホットスポット」とは、装置を検出し、そしてサーバーにホストされたアプリケーションによりオファーされるサービスを発見するために、サーバー装置により提供される無線カバレージエリアを指す。サーバー装置が固定でない場合には、ネットワークにおけるターミナル装置の1つが、アプリケーションディレクトリーサーバーの役割を果たし、そしてネットワークにおける残りのターミナル装置に対して装置検出及びサービス発見機能を遂行する。本発明は、このようなターミナル装置間に2つの役割、即ちアプリケーションディレクトリーサーバーとターミナルとを導入し、アプリケーションディレクトリーサーバーは、装置検出及びサービス発見においてターミナルにサービスする。ホットスポットを伴う固定サーバーが存在する場合には、サーバーは、通常、アプリケーションディレクトリーサーバーとして働くが、ターミナルの1つがアプリケーションディレクトリーサーバーの義務を果たすので、装置検出及びサービス発見は、このような固定サーバーがなくても可能である。   Each device in the mobile ad hoc communication network serves as either a terminal device or a server device. A terminal device is a consumer of services operated by a single user. Terminal devices include devices such as mobile phones or PDAs. A server is usually a fixed device that only generates services. Server devices form hot spots around them to use their services. A “hot spot” refers to a wireless coverage area provided by a server device to detect the device and discover services offered by an application hosted on the server. If the server device is not fixed, one of the terminal devices in the network acts as an application directory server and performs device discovery and service discovery functions for the remaining terminal devices in the network. The present invention introduces two roles between such terminal devices, an application directory server and a terminal, which serves the terminal in device discovery and service discovery. Where there is a fixed server with a hotspot, the server usually acts as an application directory server, but since one of the terminals fulfills the obligation of the application directory server, device discovery and service discovery is such a fixed server. It is possible even without.

本発明は、アプリケーションを、サーバーベースのアプリケーション、ターミナル対ターミナルアプリケーション、フォアグランドアプリケーション、バックグランドアプリケーション、又は一般的アプリケーションコンポーネントとして分類する。サーバーベースのアプリケーションは、サーバーがサービスを発生することを要求する。ターミナル対ターミナルアプリケーションは、少なくとも2つのターミナル装置が、サーバー装置が存在しない状態でサービスを実施することを要求する。フォアグランドアプリケーションは、ターミナル装置に常駐するアプリケーションで、ユーザがターミナル装置のユーザインターフェイスを経てアクセスするアプリケーションである。バックグランドアプリケーションは、ターミナル装置に常駐するアプリケーションで、ユーザの介在なしにスタートできるアプリケーションである。一般的アプリケーションコンポーネントは、スタンドアローンアプリケーションとして使用することもできるし、又は別のアプリケーションのコンポーネントとして使用することもできる。   The present invention classifies applications as server-based applications, terminal-to-terminal applications, foreground applications, background applications, or general application components. Server-based applications require a server to generate a service. A terminal-to-terminal application requires that at least two terminal devices perform a service in the absence of a server device. The foreground application is an application that is resident in the terminal device, and is an application that the user accesses through the user interface of the terminal device. The background application is an application that is resident in the terminal device and can be started without user intervention. A general application component can be used as a stand-alone application or as a component of another application.

アプリケーションは、更に、能動的、受動的、新規又は拒絶として分類されてもよい。能動的アプリケーションは、ターミナルに常駐する(即ち、メモリに記憶された)フォアグランド又はバックグランドアプリケーションである。受動的アプリケーションは、ターミナルに常駐するが、まだスタートされていない。別の実施形態では、受動的アプリケーションがスタートされるが、同じアプリケーションの他のインスタンスを能動的に探さない。新規アプリケーションは、ターミナルにまだ常駐しないが、将来常駐するかもしれない。拒絶アプリケーションは、ターミナルに常駐せず、ユーザにより、ターミナルに決して常駐すべきでないアプリケーションとしてマークされている。別の実施形態では、拒絶アプリケーションは、ターミナルにかつて常駐したが、その後、削除され、拒絶とマークされたものである。更に別の実施形態では、拒絶アプリケーションは、ターミナルに決して常駐せず、ユーザが拒絶とマークしたアプリケーションの一形式である。   Applications may be further classified as active, passive, new or rejected. An active application is a foreground or background application that resides in a terminal (ie, stored in memory). Passive applications reside in the terminal but have not yet been started. In another embodiment, a passive application is started but does not actively look for other instances of the same application. New applications do not yet reside in the terminal, but may reside in the future. The reject application is not resident in the terminal and is marked by the user as an application that should never reside in the terminal. In another embodiment, the rejection application was once resident at the terminal but has since been deleted and marked as rejected. In yet another embodiment, the rejection application is a form of application that never resides in the terminal and that the user has marked as rejection.

移動アドホック通信ネットワークにおけるサービス発見は、常駐アプリケーションと、アンロードアプリケーションとの間を区別する。常駐アプリケーションは、ターミナルのメモリに記憶され、そしてフォアグランドアプリケーション又はバックグランドアプリケーションのいずれかとしてロードされる。アンロードアプリケーションは、ターミナルに記憶もロードもされないが、ユーザにより受け容れられている。通常、アプリケーションが以前に使用されたが、スペースを利用するためにオーバーライトされているときには、アプリケーションがアンロードであるとみなされる。従って、アンロードアプリケーションをスタートするには、最初にそのアプリケーションをダウンロードすること必要である。   Service discovery in mobile ad hoc communication networks distinguishes between resident and unloaded applications. The resident application is stored in the terminal's memory and loaded as either a foreground application or a background application. The unload application is not stored or loaded into the terminal, but is accepted by the user. Typically, an application is considered unloaded when it has been used before but has been overwritten to take advantage of space. Therefore, to start an unload application, it is necessary to download the application first.

ターミナル装置のパースペクティブからサービス発見を行なうには、アプリケーションの状態を、能動的常駐アプリケーション、能動的アンロードアプリケーション、受動的常駐アプリケーション、受動的アンロードアプリケーション、拒絶アプリケーション、又は新規アプリケーションのいずれかとして分類することが必要である。能動的常駐アプリケーションは、ターミナルにロードされて、ピア、サーバー又はクライアントを探索する。能動的アンロードアプリケーションは、ターミナルにロードされないが、関心があると分かった場合に自動的にダウンロードできる対応アプリケーションを探索する。受動的常駐アプリケーションは、ターミナルにロードされるが、対応アプリケーションを探索しない。受動的アンロードアプリケーションは、ターミナルにロードされないが、ユーザにより受け容れられている。拒絶アプリケーションは、ユーザがターミナル装置から除外するよう要求したアプリケーションである。新規アプリケーションは、ターミナル装置にロードされないが、ユーザは、例えば、初期のサービスにおいてアプリケーションを見ているかもしれない。   To discover services from the terminal device perspective, classify the application state as either an active resident application, an active unload application, a passive resident application, a passive unload application, a rejection application, or a new application It is necessary to. The active resident application is loaded into the terminal and searches for peers, servers or clients. An active unload application searches for a corresponding application that is not loaded into the terminal but can be automatically downloaded if it is found to be of interest. Passive resident applications are loaded into the terminal but do not search for compatible applications. Passive unload applications are not loaded into the terminal but are accepted by the user. The rejection application is an application requested by the user to be excluded from the terminal device. The new application is not loaded on the terminal device, but the user may be watching the application at an initial service, for example.

図2Aは、本発明の一実施形態により図1に示すサーバー110を構成するハードウェア及びソフトウェアコンポーネントを示すブロック図である。サーバー110は、汎用ワイヤレス装置である。バス200は、キーパッド201、ディスプレイ202、中央処理ユニット(CPU)203、及び高周波(RF)アダプタ204をメモリ210に接続する通信媒体である。RFアダプタ204は、ワイヤレスリンクを経てターミナル120に接続され、サーバー110とターミナル120との間のネットワークトラフィックを容易にするメカニズムである。   2A is a block diagram illustrating hardware and software components that make up the server 110 shown in FIG. 1 according to an embodiment of the present invention. Server 110 is a general purpose wireless device. The bus 200 is a communication medium that connects the keypad 201, the display 202, the central processing unit (CPU) 203, and the radio frequency (RF) adapter 204 to the memory 210. The RF adapter 204 is connected to the terminal 120 via a wireless link and is a mechanism that facilitates network traffic between the server 110 and the terminal 120.

CPU203は、メモリ210に常駐するか又はそこで働く各コンピュータプログラムを構成する一連の動作命令を実行することにより本発明の方法を遂行する。メモリ210は、オペレーティングシステムソフトウェア211と、アプリケーションプログラム212と、ミドルウェアソフトウェア220とを備えている。オペレーティングシステムソフトウェア211は、キーパッド201、ディスプレイ202、RFアダプタ204、及びメモリ210の管理を制御する。アプリケーションプログラム212は、ユーザとサーバー110との間の相互作用を制御する。ミドルウェアソフトウェア220は、サーバー110で動作されるアプリケーションプログラムが、ターミナル120で動作される対応アプリケーションを見出して通信するのを助けるアプリケーションプログラムインターフェイス(API)221を備えている。各アプリケーションを迅速に探索するために、ミドルウェアソフトウェア220は、ピコネット100の各装置に常駐する各アプリケーションがとる役割を追跡するためのアプリケーションディレクトリー230も備えている。   The CPU 203 performs the method of the present invention by executing a series of operating instructions that make up each computer program that resides in or operates in the memory 210. The memory 210 includes operating system software 211, application programs 212, and middleware software 220. The operating system software 211 controls management of the keypad 201, display 202, RF adapter 204, and memory 210. Application program 212 controls the interaction between the user and server 110. The middleware software 220 includes an application program interface (API) 221 that helps an application program running on the server 110 to find and communicate with a corresponding application running on the terminal 120. In order to quickly search for each application, the middleware software 220 also includes an application directory 230 for tracking the role played by each application residing on each device of the piconet 100.

図2Bは、本発明の一実施形態により図1に示すターミナル120を構成するハードウェア及びソフトウェアコンポーネントを示すブロック図である。ターミナル120は、汎用ワイヤレス装置である。バス250は、キーパッド251、ディスプレイ252、CPU253、及びRFアダプタ254をメモリ260に接続する通信媒体である。RFアダプタ254は、ワイヤレスリンクを経てサーバー110又は別のターミナル120に接続され、サーバー110とターミナル120との間のネットワークトラフィックを容易にするメカニズムである。   2B is a block diagram illustrating the hardware and software components that make up the terminal 120 shown in FIG. 1 according to one embodiment of the invention. Terminal 120 is a general purpose wireless device. The bus 250 is a communication medium that connects the keypad 251, the display 252, the CPU 253, and the RF adapter 254 to the memory 260. The RF adapter 254 is a mechanism that is connected to the server 110 or another terminal 120 via a wireless link to facilitate network traffic between the server 110 and the terminal 120.

CPU253は、メモリ260に常駐するか又はそこで働く各コンピュータプログラムを構成する一連の動作命令を実行することにより本発明の方法を遂行する。メモリ260は、オペレーティングシステムソフトウェア261と、アプリケーションプログラム262と、ミドルウェアソフトウェア270とを備えている。オペレーティングシステムソフトウェア261は、キーパッド251、ディスプレイ252、RFアダプタ254、及びメモリ260の管理を制御する。アプリケーションプログラム262は、ユーザとターミナル120との間の相互作用を制御する。ミドルウェアソフトウェア270は、ターミナル120で動作されるアプリケーションプログラムが、サーバー110又は別のターミナル120で動作される対応アプリケーションを見出して通信するのを助けるAPI271を備えている。各アプリケーションを迅速に探索するために、ミドルウェアソフトウェア270は、ピコネット100の各装置に常駐する各アプリケーションがとる役割を追跡するためのアプリケーションディレクトリー280も備えている。   The CPU 253 performs the method of the present invention by executing a series of operating instructions that make up each computer program that resides in or works in the memory 260. The memory 260 includes operating system software 261, application programs 262, and middleware software 270. The operating system software 261 controls the management of the keypad 251, the display 252, the RF adapter 254, and the memory 260. Application program 262 controls the interaction between the user and terminal 120. The middleware software 270 includes an API 271 that helps an application program running on the terminal 120 find and communicate with a corresponding application running on the server 110 or another terminal 120. To quickly search for each application, the middleware software 270 also includes an application directory 280 for tracking the role played by each application residing on each device of the piconet 100.

一実施形態では、メモリ210及びメモリ260の構成が、同一である。別の実施形態では、メモリ210及びメモリ260の構成が、各々、サーバー110及びターミナル120の本質的なタスクを遂行するのに必要なソフトウェアしか含まない。例えば、ターミナル120が、一般的問合せアクセスコードを受信することは必要であるが、一般的問合せアクセスコードメッセージを送信する必要がない場合には、このメッセージを受信するソフトウェアだけがメモリ260に常駐する。   In one embodiment, the configurations of the memory 210 and the memory 260 are the same. In another embodiment, the configuration of memory 210 and memory 260 includes only the software necessary to perform the essential tasks of server 110 and terminal 120, respectively. For example, if terminal 120 needs to receive a general query access code but does not need to send a general query access code message, only the software that receives this message resides in memory 260. .

ターミナルで実行されるアプリケーションは、その対応アプリケーション、即ちそのアプリケーションと通信できる同じアプリケーションの別のインスタンスを常にサーチする。アプリケーションの各インスタンスは、特定の役割を果たす。アプリケーションとその対応アプリケーションとの間の通信は、それらの役割が相補的である場合しか意味がない。例えば、「クライアント」の役割を果たすアプリケーションは、「サーバー」の役割を果たす対応アプリケーションと通信することができる。ミドルウェアソフトウェアとは、アプリケーションが正しい役割をもつ対応アプリケーションを見出す上で助けとなるように2つのアプリケーション間の通信をネゴシエーションするAPIを伴うソフトウェア層である。従って、ターミナルにインストールされてアクチベートされるアプリケーションは、関心のある新規の対応アプリケーションの連続ストリームについてAPIに問合せる。   An application running on the terminal always searches for its corresponding application, ie another instance of the same application that can communicate with the application. Each instance of the application plays a specific role. Communication between an application and its corresponding application is only meaningful if their roles are complementary. For example, an application acting as a “client” can communicate with a corresponding application acting as a “server”. Middleware software is a software layer with an API that negotiates communication between two applications to help find a corresponding application with the correct role. Thus, an application installed and activated in the terminal queries the API for a continuous stream of new corresponding applications of interest.

新規なアプリケーションは、ミドルウェアを使用してその対応部を見出しそしてターミナルのローカル記憶装置に新規なアプリケーションをインストールする「インストーラー」アプリケーションによりインストールされる。新規なアプリケーションを実際に見出して選択することは、アプリケーションレベルで行われる。最初に、インストーラーアプリケーションは、サーバー内の対応アプリケーションにアクセスし、それらの使用可能なアプリケーションデータベースをブラウズし、ユーザがインストールすべきアプリケーションをピックアップするのを許し、そして新規なアプリケーションをダウンロードしてインストールする専用の「ブラウザ−サプライヤー」(即ち、クライアント−サーバー)アプリケーションである。後で、ワイヤレスアクセスプロトコル(WAP)及びハイパーテキストマークアップ言語(HTML)ブラウザに対応機能が追加されてもよい。   The new application is installed by an “installer” application that uses middleware to find its counterpart and install the new application in the terminal's local storage. Actually finding and selecting a new application is done at the application level. Initially, the installer application accesses the corresponding application in the server, browses their available application database, allows the user to pick up the application to be installed, and downloads and installs the new application A dedicated “browser-supplier” (ie, client-server) application. Later, corresponding functions may be added to Wireless Access Protocol (WAP) and Hypertext Markup Language (HTML) browsers.

サービス発見は、3ステップのプロセスであると考えられる。第1に、新規な潜在的アプリケーションが見出され、インストールについて考慮される。第2に、インストールされた能動的なアプリケーションが、その対応アプリケーションのサーチを開始する。第3に、インストールされたアクティブなアプリケーションは、プリンタのような共通のリソースのサーチを開始する(即ち、リソース発見)。本発明は、リソース発見を遂行するためのアプリケーションに依存する。通常、ターミナルアプリケーションは、その対応アプリケーションと通信し、そしてローカル(即ちサーバー)リソースを使用する。アプリケーションがプライベートリソースを使用する場合には、それに関連したサービス発見が、ターミナルのミドルウェアソフトウェアではサポートされない標準的な方法(例えば、ブルーツース又はブルーツース/ジャバ(Java(登録商標))でアプリケーションにより実施される。   Service discovery is considered a three step process. First, new potential applications are found and considered for installation. Secondly, the installed active application initiates a search for its corresponding application. Third, the installed active application initiates a search for common resources such as printers (ie resource discovery). The present invention relies on an application to perform resource discovery. Typically, a terminal application communicates with its corresponding application and uses local (ie server) resources. If the application uses private resources, the associated service discovery is performed by the application in a standard way that is not supported by the terminal middleware software (eg, Bluetooth or Bluetooth / Java). .

図3Aは、移動アドホック通信ネットワークのための装置検出及びサービス発見を実行するサーバー110の実施形態を示すフローチャートである。このプロセスは、サーバー110が一般的な問合せアクセスコードメッセージをターミナル120へ送信した(ステップ300)ときに開始する。ターミナル120は、そのメッセージを受信し、そして確認応答メッセージをサーバー110へ送信する(ステップ302)。サーバー110は、ミドルウェアソフトウェア220にアクセスし、ターミナル120とのソケット接続を要求する(ステップ304)。ソケット接続の確立に応答して、サーバー110は、ターミナル110にローカルに常駐する全てのアプリケーションをリストするローカルアプリケーションディレクトリーを含むメッセージをターミナル120から受信する(ステップ306)。サーバー110は、ターミナル120に常駐するアプリケーションのリストを、サーバー110に常駐する結合アプリケーションディレクトリーと比較する。サーバー110は、結合アプリケーションディレクトリーに現われないローカルアプリケーションディレクトリーの各エントリーを結合アプリケーションディレクトリーに追加することにより、結合アプリケーションディレクトリーを更新する(ステップ308)。サーバー110は、更新された結合アプリケーションディレクトリーの一部分をピコネット100の各ターミナル120に送信する(ステップ310)。この一部分は、各ターミナル120に対して異なってもよく、そしてターミナル120に常駐するアプリケーションに対する対応アプリケーションである結合アプリケーションディレクトリーの各エントリーを含む。別の実施形態では、サーバー110は、全結合アプリケーションディレクトリーをピコネット100の各ターミナル120に送信し、そしてターミナル120に基づいて当該エントリーを保持する。ターミナル120及びサーバー110におけるミドルウェアソフトウェアのインスタンスは、新たに見つかった対応アプリケーション対の実行スケジュールを立て始める(ステップ312)。一実施形態では、スケジュールされたアプリケーションは、他のブルーツースプロフィール及びプロトコルを使用する。別の実施形態では、インストーラーアプリケーションであるアプリケーションは、ユーザがダウンロードしなければならない他のアプリケーションをユーザに示唆することができる。サーバー110が新規なアプリケーションをダウンロードしそしてスタートすると、その対応部の一致が繰り返され、その新規なアプリケーションがミドルウェアスケジュールの一部分となる。   FIG. 3A is a flowchart illustrating an embodiment of a server 110 that performs device discovery and service discovery for a mobile ad hoc communication network. This process begins when server 110 sends a general query access code message to terminal 120 (step 300). Terminal 120 receives the message and sends an acknowledgment message to server 110 (step 302). The server 110 accesses the middleware software 220 and requests a socket connection with the terminal 120 (step 304). In response to establishing the socket connection, server 110 receives a message from terminal 120 that includes a local application directory that lists all applications that reside locally at terminal 110 (step 306). Server 110 compares the list of applications residing on terminal 120 with the combined application directory residing on server 110. Server 110 updates the combined application directory by adding each entry of the local application directory that does not appear in the combined application directory to the combined application directory (step 308). Server 110 sends a portion of the updated combined application directory to each terminal 120 of piconet 100 (step 310). This portion may be different for each terminal 120 and includes each entry in the combined application directory that is a corresponding application for an application resident at terminal 120. In another embodiment, the server 110 sends the full combined application directory to each terminal 120 of the piconet 100 and maintains the entry based on the terminal 120. The middleware software instances at the terminal 120 and the server 110 begin to schedule execution of newly found corresponding application pairs (step 312). In one embodiment, the scheduled application uses other Bluetooth profiles and protocols. In another embodiment, an application that is an installer application may suggest to the user other applications that the user must download. When server 110 downloads and starts a new application, the matching of its counterparts is repeated, and the new application becomes part of the middleware schedule.

図3Bは、移動アドホック通信ネットワークのための装置検出及びサービス発見を遂行するターミナル120の実施形態を示すフローチャートである。このプロセスは、ターミナル120がサーバー110から一般的問合せアクセスコードメッセージを受信したときに始まる(ステップ320)。ターミナル120は、確認応答メッセージを発生してサーバー110へ送信する(ステップ322)。ターミナル120は、このターミナルにローカルに常駐する全てのアプリケーションを含むローカルアプリケーションディレクトリーを含むメッセージをサーバー110へ送信する(ステップ324)。サーバー110は、ターミナル120に常駐するアプリケーションのリストを、サーバー110に常駐する結合アプリケーションディレクトリーと比較する。サーバー110は、結合アプリケーションディレクトリーに現われないローカルアプリケーションディレクトリーの各エントリーを結合アプリケーションディレクトリーに追加することにより、結合アプリケーションディレクトリーを更新する。ターミナル120は、更新された結合アプリケーションディレクトリーの一部分をサーバー110から受信する(ステップ326)。サーバー110は、ターミナル120に常駐するアプリケーションに対する対応アプリケーションである結合アプリケーションディレクトリーの各エントリーを含むようにターミナル120の一部分をカスタマイズする。別の実施形態では、サーバー110は、全結合アプリケーションディレクトリーをターミナル120に送信し、そしてターミナル120に基づいて当該エントリーを保持する。ターミナル120及びサーバー110におけるミドルウェアソフトウェアのインスタンスは、新たに見つかった対応アプリケーション対の実行スケジュールを立て始める(ステップ328)。   FIG. 3B is a flowchart illustrating an embodiment of a terminal 120 that performs device discovery and service discovery for a mobile ad hoc communication network. This process begins when terminal 120 receives a general query access code message from server 110 (step 320). The terminal 120 generates an acknowledgment message and sends it to the server 110 (step 322). Terminal 120 sends a message to server 110 that includes a local application directory that includes all applications that reside locally at this terminal (step 324). Server 110 compares the list of applications residing on terminal 120 with the combined application directory residing on server 110. Server 110 updates the combined application directory by adding each entry in the local application directory that does not appear in the combined application directory to the combined application directory. Terminal 120 receives a portion of the updated combined application directory from server 110 (step 326). Server 110 customizes a portion of terminal 120 to include each entry in the combined application directory that is a corresponding application for an application that resides at terminal 120. In another embodiment, server 110 sends the entire combined application directory to terminal 120 and maintains the entry based on terminal 120. The middleware software instances at the terminal 120 and the server 110 begin to schedule execution of newly found corresponding application pairs (step 328).

図4A及び4Bは、ターミナルX及びターミナルYが、サーバーSによりサービスされる移動アドホック通信ネットワークに入る前後のアプリケーションディレクトリーのコンテンツを例示するブロック図である。図4Aは、ターミナルX及びターミナルYが、マスター装置であるサーバーSにより管理される通信ネットワークに入る前の、アプリケーションディレクトリー404、アプリケーションディレクトリー415及びアプリケーションディレクトリー425のコンフィギュレーションを示す。アプリケーションC401は、サーバーSのメモリ400に常駐し、そしてAPI402を経てミドルウェアソフトウェア403にアクセスする。ミドルウェアソフトウェア403は、アプリケーションCがローカル装置(即ち、サーバーS)に常駐しそしてサーバーの役目を果たすことを指示するためのテーブルエントリーを追加することにより、アプリケーションC401をアプリケーションディレクトリー404に登録する。アプリケーションA411及びアプリケーションB412は、ターミナルXのメモリ410に常駐し、そしてAPI413を経てミドルウェアソフトウェア414にアクセスする。ミドルウェアソフトウェア414は、アプリケーションAがローカル装置(即ち、ターミナルX)に常駐してクライアントの役目を果たし、且つアプリケーションBがローカル装置(即ち、ターミナルX)に常駐してピアの役目を果たすことを指示するためのテーブルエントリーを追加することにより、アプリケーションA411及びアプリケーションB412をアプリケーションディレクトリー415に登録する。アプリケーションB421及びアプリケーションC422は、ターミナルYのメモリ420に常駐し、そしてAPI423を経てミドルウェアソフトウェア424にアクセスする。ミドルウェアソフトウェア424は、アプリケーションBがローカル装置(即ち、ターミナルY)に常駐してピアの役目を果たし、且つアプリケーションCがローカル装置(即ち、ターミナルY)に常駐してクライアントの役目を果たすことを指示するためのテーブルエントリーを追加することにより、アプリケーションB421及びアプリケーションC422をアプリケーションディレクトリー425に登録する。   4A and 4B are block diagrams illustrating the contents of the application directory before and after terminal X and terminal Y enter the mobile ad hoc communication network served by server S. FIG. FIG. 4A shows the configuration of the application directory 404, the application directory 415, and the application directory 425 before the terminal X and the terminal Y enter the communication network managed by the server S as the master device. Application C 401 resides in memory 400 of server S and accesses middleware software 403 via API 402. Middleware software 403 registers application C 401 in application directory 404 by adding a table entry to indicate that application C resides on the local device (ie, server S) and acts as a server. Application A 411 and application B 412 are resident in the memory 410 of the terminal X and access the middleware software 414 via the API 413. Middleware software 414 indicates that application A resides on the local device (ie, terminal X) and acts as a client, and application B resides on the local device (ie, terminal X) and acts as a peer. The application A411 and the application B412 are registered in the application directory 415 by adding a table entry. Application B 421 and application C 422 reside in terminal Y memory 420 and access middleware software 424 via API 423. Middleware software 424 indicates that application B resides on the local device (ie, terminal Y) and acts as a peer, and application C resides on the local device (ie, terminal Y) and acts as a client. The application B421 and the application C422 are registered in the application directory 425 by adding a table entry.

図4Bは、ターミナルX及びターミナルYが、マスター装置であるサーバーSにより管理される通信ネットワークに入った後の、アプリケーションディレクトリー404、アプリケーションディレクトリー415及びアプリケーションディレクトリー425のコンフィギュレーションを示す。サーバーSは、アプリケーションディレクトリサーバー(ADS)の役割を果たし、そしてピコネット100における各装置に常駐するアプリケーションの登録を仲介する。サーバーSは、ピコネット100の装置に常駐する各アプリケーションに対してアプリケーションディレクトリー404にテーブルエントリーを追加する。従って、サーバーSは、クライアントの役割のターミナルXに常駐するアプリケーションA、ピアの役割のターミナルXに常駐するアプリケーションB、ピアの役割のターミナルYに常駐するアプリケーションB、及びクライアントの役割のターミナルYに常駐するアプリケーションCに対するエントリーを追加する。又、サーバーSは、ターミナルXにおけるアプリケーションディレクトリー415及びターミナルYにおけるアプリケーションディレクトリー425を、これらターミナル装置に関心のあるアプリケーション登録で更新する。図4Bに示すように、ターミナルX及びターミナルYの両方は、ピアの役割においてアプリケーションBをホスティングする。ターミナルXのアプリケーションBとターミナルYのアプリケーションBとの間にはおそらくピア対ピアの通信セッションがあるから、サーバーSは、ピアの役割のターミナルYに常駐するアプリケーションBに対するアプリケーションディレクトリー415にエントリーを追加すると共に、ピアの役割のターミナルXに常駐するアプリケーションBに対するアプリケーションディレクトリー425にエントリーを追加する。又、ターミナルYのアプリケーションCとサーバーSのアプリケーションCとの間にはおそらくクライアント対サーバーの通信セッションがあるから、サーバーSは、サーバーの役割のサーバーSに常駐するアプリケーションCに対するアプリケーションディレクトリー425にエントリーを追加する。最終的に、ターミナルXのアプリケーションAに対してピコネット100に対応部分は存在しない。   FIG. 4B shows a configuration of the application directory 404, the application directory 415, and the application directory 425 after the terminal X and the terminal Y have entered the communication network managed by the server S that is the master device. Server S acts as an application directory server (ADS) and mediates registration of applications that reside on each device in piconet 100. The server S adds a table entry to the application directory 404 for each application that resides on the piconet 100 device. Accordingly, the server S is connected to application A residing in terminal X in the client role, application B residing in terminal X in the peer role, application B residing in terminal Y in the peer role, and terminal Y in the client role. Add an entry for resident application C. The server S also updates the application directory 415 at terminal X and the application directory 425 at terminal Y with application registrations that are of interest to these terminal devices. As shown in FIG. 4B, both terminal X and terminal Y host application B in the role of peer. Since there is probably a peer-to-peer communication session between application B at terminal X and application B at terminal Y, server S adds an entry to application directory 415 for application B residing at terminal Y in the peer role. At the same time, an entry is added to the application directory 425 for the application B residing in the terminal X of the peer role. Also, since there is likely a client-to-server communication session between application C at terminal Y and application C at server S, server S enters an application directory 425 for application C that resides on server S in the server role. Add Finally, there is no corresponding part in the piconet 100 for the application A of the terminal X.

図4A及び4Bに示すように、ミドルウェアソフトウェアのアプリケーションディレクトリーサーバーの各エントリーとしてここに開示するデータアイテムは、装置識別子(例えば、「ローカル」、アドレス、又は他の独特の識別子)と、アプリケーション識別子(例えば、アプリケーション名、又は他の独特の識別子)と、アプリケーションの役割(例えば、「クライアント」、「サーバー」、「ピア」等)とを含む。別の実施形態では、データアイテムは、ローカルアプリケーションに対するフィールド(即ち、装置=「ローカル」)、及び他のターミナル又はサーバーのリモートアプリケーションに対するフィールドを含むように拡張することができる。ローカルアプリケーションに対するフィールドは、次のものを含む。   As shown in FIGS. 4A and 4B, the data items disclosed herein as each entry in the middleware software application directory server include a device identifier (eg, “local”, address, or other unique identifier) and an application identifier ( Application name or other unique identifier) and the role of the application (eg, “client”, “server”, “peer”, etc.). In another embodiment, the data item can be expanded to include fields for local applications (ie, device = “local”), and fields for other terminal or server remote applications. The fields for the local application include:

−Name(名前):アプリケーションに対する識別子(例えば、供給者の名前、及び異なるバージョンやハードウェア変形を比較するデータ);
−My_role(自分の役割):アプリケーションがローカル装置において担う役割;
−Partner_role(パートナーの役割):アプリケーションが関心のある対応部から果たす役割(例えば、ピア、クライアント及びサーバーは、最も一般的な役割である);
−Residency(常駐性):RESIDENT(インストールされて現在メモリにある)、UNLOADED(かつてインストールされたが、現在メモリになく、自動的に再ダウンロードすることができる)、REJECTED(アプリケーションを無視すべきであることを新たなアプリケーションインストーラーに指示する)、又はNEW(アプリケーションがインストールも拒絶もされない);
−State(状態):RUNNING(通信を有し、現在そのリモート対応部と共に働いているが、一度に通信を使用できるアプリケーションは1つだけ又はそれ以上ある)、WAITING(実行中であるが、何ら通信をもたない)、STARTABLE(能動的であって、正しいPartner_roleと一致するピアが見つかった場合に、ミドルウェアソフトウェアがこのアプリケーションをスタートし、必要に応じて最初にソフトウェアをダウンロードする)、COMPLETE(全ての対応アプリケーションが分かっている)、又はPASSIVE(ユーザはアプリケーションをスタートするために何かをしなければならない);
-Name: identifier for the application (eg, the name of the supplier, and data comparing different versions and hardware variants);
-My_role (your role): the role that the application plays on the local device;
-Partner_role (partner role): the role that the application plays from the counterpart of interest (eg, peer, client and server are the most common roles);
Residency: RESIDENT (installed and currently in memory), UNLOADED (once installed but not currently in memory and can be automatically re-downloaded), REJECTED (application should be ignored) Instruct the new application installer to be), or NEW (the application will not be installed or rejected);
-State: RUNNING (has communication and is currently working with its remote counterpart, but there is only one or more applications that can use communication at a time), WAITING (running, but what No communication), STARTABLE (middleware software starts this application if it finds a peer that is active and matches the correct Partner_role, downloads the software first if necessary), COMPLETE ( All known applications are known) or PASSIVE (the user has to do something to start the application);

−Type(形式):FOREGROUND(アプリケーションが終了したときに、状態がPASSIVEとなる)、又はBACKGROUND(アプリケーションが終了したときに、状態がSTARTABLEとなる);
−Unload(アンロード):AUTOMATIC(ミドルウェアは、アプリケーションが終了したときにコードを除去することができる)、又はUNINSTALL(ユーザは、除去を確認しなければならない);
−Icon(アイコン):ユーザに対するアプリケーションの視覚映像を生成する;及び
−Timeout(時間切れ):例えば、アプリケーションが非生産的ソフトウェアループにあるときを検出するためにミドルウェアソフトウェアが使用する時間限界をセットする。
-Type (form): FOREGROUND (the state is PASSIVE when the application is terminated), or BACKGROUND (the state is STARTABLE when the application is terminated);
-Unload: AUTOMATIC (middleware can remove code when application exits), or UNINSTALL (user must confirm removal);
-Icon: generates a visual image of the application for the user; and-Timeout: sets the time limit used by the middleware software to detect when the application is in a non-productive software loop, for example. To do.

リモートアプリケーションに対するフィールドは、次のものを含む。
−Device(装置):アプリケーションインスタンスを記憶するターミナル又はサーバーとの通信を確立するためのアドレス;
−Name(名前):アプリケーションに対する識別子;及び
−My_role(自分の役割):アプリケーションがリモート装置において担う役割。
The fields for the remote application include:
Device: an address for establishing communication with a terminal or server storing application instances;
-Name (name): identifier for the application; and-My_role (your role): the role that the application plays in the remote device.

アプリケーションのクライアント−サーバー役割は、ターミナル装置及びアプリケーションディレクトリーサーバーとしての装置の役割とは独立している。通常、アプリケーションディレクトリーサーバーとして働く装置は、サーバーの役割で働くアプリケーションをホストし、そしてターミナル装置は、同じアプリケーションに対してクライアントの役割で働く。別の実施形態では、2つのターミナル装置の各々が一般的問合せアクセスコードメッセージを送信し、そして応答を聴取する。応答を受信するターミナル装置は、最初に、サーバーの役割を果たし、そして図3Aの手順に基づいて進む。問合せメッセージを受信する別のターミナル装置は、ターミナルの役割を果たし、そして図3Bに基づいて進む。従って、本発明は、ターミナル対ターミナルの筋書きをサポートし(例えば、同一のハンドヘルド装置の1つが自動的にADSとなり)、そして所定のアプリケーションディレクトリーサーバーを必要としない。   The client-server role of the application is independent of the role of the device as a terminal device and application directory server. Typically, a device that acts as an application directory server hosts an application that works in a server role, and a terminal device works in a client role for the same application. In another embodiment, each of the two terminal devices sends a general inquiry access code message and listens for a response. The terminal device that receives the response initially acts as a server and proceeds based on the procedure of FIG. 3A. Another terminal device that receives the inquiry message acts as a terminal and proceeds according to FIG. 3B. Thus, the present invention supports terminal-to-terminal scenarios (eg, one of the same handheld devices automatically becomes ADS) and does not require a given application directory server.

図5は、移動アドホック通信ネットワークにおいてターミナルXとターミナルYとの間に通信セッションを確立する間のメッセージフローを示す、プロセスの実施形態のフローチャートである。一実施形態において、ターミナルX及びターミナルYは、図1及び図2Bに示すターミナル120のような移動装置である。別の実施形態では、ターミナルXが図1及び図2Bに示すターミナル120のような移動装置であり、そしてターミナルYが図1及び図2Aに示すサーバー110のような移動装置である。   FIG. 5 is a flowchart of an embodiment of a process illustrating message flow during establishing a communication session between terminal X and terminal Y in a mobile ad hoc communication network. In one embodiment, terminal X and terminal Y are mobile devices such as terminal 120 shown in FIGS. 1 and 2B. In another embodiment, terminal X is a mobile device such as terminal 120 shown in FIGS. 1 and 2B, and terminal Y is a mobile device such as server 110 shown in FIGS. 1 and 2A.

図5に示すように、ターミナルXは、移動アドホック通信ネットワークに問合せ要求メッセージを送信することにより通信を開始する。ターミナルYは近傍の装置であるから、ターミナルYは、その問合せ要求メッセージを受信し、そして問合せ応答メッセージをターミナルXへ送信する。一実施形態では、問合せ要求メッセージがブルーツース問合せコマンドであり、そして問合せ応答メッセージがブルーツース問合せ結果コマンドである。別の実施形態では、問合せ要求メッセージがブルーツース問合せコマンドであり、そして問合せ応答メッセージが、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含むことを指示するように変更されたブルーツース問合せ結果コマンドである。一実施形態では、ミドルウェア層は、進歩型アプリケーション及びサービス発見及び実行を提供する専用のミドルウェアソフトウェアを含む。一実施形態では、ブルーツース問合せ結果コマンドに対する変更が、装置クラス(CoD)パラメータに対するものである。例えば、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含む場合に、そのターミナルは、少なくとも「アドホックネットワークが気付く(ad hoc networking aware)」ビット(ビット16)をオン(1)にセットする。或いは又、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含む場合に、そのターミナルは、「アドホックネットワークが気付く」ビット(ビット16)をオン(1)にそして「位置情報」ビット(ビット17)をオフ(0)にセットする。或いは又、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含む場合に、そのターミナルは、「アドホックネットワークが気付く」ビット(ビット16)をオン(1)にそして「電話可能(telephony)」ビット(ビット22)をオン(1)にセットする。或いは又、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含む場合に、そのターミナルは、「アドホックネットワークが気付く」ビット(ビット16)をオン(1)に、「位置情報」ビット(ビット17)をオフ(0)に、そして「電話可能」ビット(ビット22)をオン(1)にセットする。更に別の実施形態では、ミドルウェアソフトウェアの存在を指示するための専用指示パラメータがブルーツース問合せ結果コマンド仕様に導入された場合には、ブルーツース問合せ結果コマンドへの変更は必要でない。   As shown in FIG. 5, the terminal X starts communication by transmitting an inquiry request message to the mobile ad hoc communication network. Since terminal Y is a nearby device, terminal Y receives the inquiry request message and sends an inquiry response message to terminal X. In one embodiment, the query request message is a Bluetooth query command and the query response message is a Bluetooth query result command. In another embodiment, the query request message is a Bluetooth query command, and the query response message is a Bluetooth query result command modified to indicate that the terminal sending the Bluetooth query result command includes a middleware layer. . In one embodiment, the middleware layer includes dedicated middleware software that provides advanced application and service discovery and execution. In one embodiment, the change to the Bluetooth query result command is to a device class (CoD) parameter. For example, if the terminal sending the Bluetooth query result command includes a middleware layer, the terminal sets at least the “ad hoc networking aware” bit (bit 16) to on (1). Alternatively, if the terminal sending the Bluetooth query result command includes a middleware layer, the terminal turns on the “ad hoc network notice” bit (bit 16) and the “location information” bit (bit 17). Is set to off (0). Alternatively, if the terminal sending the Bluetooth query result command includes a middleware layer, the terminal turns on the “ad hoc network notice” bit (bit 16) and sets the “telephony” bit ( Bit 22) is set on (1). Alternatively, if the terminal sending the Bluetooth query result command includes a middleware layer, the terminal turns on the “ad hoc network notice” bit (bit 16) and turns on the “location information” bit (bit 17). Is set to off (0) and the “telephone ready” bit (bit 22) is set to on (1). In yet another embodiment, if a dedicated instruction parameter for indicating the presence of middleware software is introduced in the Bluetooth query result command specification, no change to the Bluetooth query result command is required.

問合せに続いて、図5に示すように、ターミナルXは、ページング要求メッセージを送信することにより、問合せ応答メッセージでミドルウェア層の考えられる所有を指示する各近傍の装置、例えば、ターミナルYへの接続を形成することができる。ターミナルYが、ミドルウェア層の考えられる所有を指示しない場合には(例えば、「アドホックネットワークが気付く」ビット(ビット16)をオフ(0)にセットすることにより)、ページング要求メッセージが送信されず、通信セッションが切断される。ターミナルYがおそらくミドルウェア層を含むという指示を含む問合せを行なった後に、ターミナルXは、上述したように、ページングメッセージ要求を送信する。ターミナルYは、ページング要求メッセージを受信し、そして任意であるが、接続要求を受け容れるためのページング受け容れメッセージを送信する。一実施形態では、ページング要求メッセージは、ブルーツース接続形成コマンドであり、そしてページング受け容れメッセージは、ブルーツース接続受け容れ要求コマンドである。   Following the query, as shown in FIG. 5, terminal X connects to each neighboring device, eg, terminal Y, by sending a paging request message to indicate the possible ownership of the middleware layer in the query response message. Can be formed. If terminal Y does not indicate a possible ownership of the middleware layer (eg, by setting the “ad hoc network aware” bit (bit 16) to off (0)), the paging request message is not sent, The communication session is disconnected. After making a query that includes an indication that terminal Y probably includes a middleware layer, terminal X sends a paging message request as described above. Terminal Y receives the paging request message and optionally sends a paging acceptance message to accept the connection request. In one embodiment, the paging request message is a Bluetooth connection establishment command and the paging acceptance message is a Bluetooth connection acceptance request command.

各近傍装置への接続に続いて、図5に示すように、ターミナルXは、ターミナルYのような近傍の装置がミドルウェア層を明確に含むかどうか確認するための確認要求メッセージを送信する。ターミナルYは、その確認要求メッセージを受信し、そして確認応答メッセージをターミナルXに送信する。一実施形態では、確認応答メッセージの受信は、ターミナルYがミドルウェア層を含むという確認である。別の実施形態では、確認応答メッセージのコンテンツが、ターミナルYがミドルウェア層を含むことを指示する。一実施形態において、確認要求メッセージ及び確認応答メッセージは、ブルーツースサービス発見プロトコル(SDP)を使用する。ターミナルYがミドルウェア層を含まない場合には、通信セッションを切断することができる。   Subsequent to the connection to each neighboring device, as shown in FIG. 5, terminal X transmits a confirmation request message for confirming whether the neighboring device such as terminal Y clearly includes the middleware layer. Terminal Y receives the confirmation request message and sends an acknowledgment message to terminal X. In one embodiment, receipt of the acknowledgment message is an acknowledgment that terminal Y includes a middleware layer. In another embodiment, the content of the acknowledgment message indicates that terminal Y includes a middleware layer. In one embodiment, the confirmation request message and the acknowledgment message use Bluetooth Service Discovery Protocol (SDP). If terminal Y does not include the middleware layer, the communication session can be disconnected.

ターミナルYのような近傍の装置がミドルウェア層を含むという確認に続いて、図5に示すように、ターミナルX及びターミナルYは、ミドルウェア層を使用して、アプリケーション及びサービスを発見しそして着手する。一実施形態では、ターミナルX及びターミナルYは、図3A及び図3Bに示すフローチャートに開示された方法を使用して、アプリケーション及びサービスを発見しそして着手する。   Following confirmation that a nearby device, such as terminal Y, includes a middleware layer, terminal X and terminal Y use the middleware layer to discover and launch applications and services, as shown in FIG. In one embodiment, Terminal X and Terminal Y discover and launch applications and services using the method disclosed in the flowcharts shown in FIGS. 3A and 3B.

前記実施形態では、移動アドホック通信ネットワークのための完全に機能する装置検出及びサービス発見システム及び方法について述べたが、他の同等の実施形態も存在することが理解されよう。前記開示を読んだ者であれば多数の変更や修正が明らかであろうから、移動アドホック通信ネットワークのための装置検出及びサービス発見システム及び方法は、ここに図示して開示した厳密な構造及び動作に限定されない。従って、この開示は、特許請求の範囲内に包含される全ての適当な変更や等効物も意図している。   Although the above embodiments have described a fully functional device detection and service discovery system and method for mobile ad hoc communication networks, it will be appreciated that other equivalent embodiments exist. Since many changes and modifications will be apparent to those skilled in the art, the device detection and service discovery system and method for mobile ad hoc communication networks is illustrated in the exact structure and operation disclosed and disclosed herein. It is not limited to. Accordingly, this disclosure also contemplates all suitable modifications and equivalents included within the scope of the claims.

本発明の一実施形態により移動アドホック通信ネットワークを構成する装置の相互作用を示すネットワーク図である。FIG. 2 is a network diagram showing the interaction of devices constituting a mobile ad hoc communication network according to an embodiment of the present invention. 本発明の一実施形態により図1に示すサーバー110を構成するハードウェア及びソフトウェアコンポーネントを示すブロック図である。FIG. 2 is a block diagram showing hardware and software components constituting the server 110 shown in FIG. 1 according to an embodiment of the present invention. 本発明の一実施形態により図1に示すターミナル120を構成するハードウェア及びソフトウェアコンポーネントを示すブロック図である。FIG. 2 is a block diagram illustrating hardware and software components constituting the terminal 120 shown in FIG. 1 according to an embodiment of the present invention. 移動アドホック通信ネットワークのための装置検出及びサービス発見を実行するサーバー110の実施形態を示すフローチャートである。FIG. 6 is a flowchart illustrating an embodiment of a server 110 that performs device discovery and service discovery for a mobile ad hoc communication network. 移動アドホック通信ネットワークのための装置検出及びサービス発見を実行するターミナル120の実施形態を示すフローチャートである。FIG. 4 is a flow chart illustrating an embodiment of a terminal 120 that performs device discovery and service discovery for a mobile ad hoc communication network. ターミナルが移動アドホック通信ネットワークに入る前のデータフローを例示するブロック図である。FIG. 2 is a block diagram illustrating a data flow before a terminal enters a mobile ad hoc communication network. ターミナルが移動アドホック通信ネットワークに入った後の図4Aのブロック図である。FIG. 4B is a block diagram of FIG. 4A after the terminal has entered the mobile ad hoc communication network. 移動アドホック通信ネットワークにおいてターミナルXとターミナルYとの間に通信セッションを確立する間のメッセージフローを示す、プロセスの実施形態のフローチャートである。FIG. 3 is a flowchart of an embodiment of a process showing message flow during establishing a communication session between terminal X and terminal Y in a mobile ad hoc communication network.

Claims (13)

移動アドホック通信ネットワーク内で装置検出及びサービス発見を遂行するシステムにおいて、
メモリ装置と、
前記メモリ装置と通信するように配置されたプロセッサと、
を備え、前記プロセッサは、
前記移動アドホック通信ネットワークの問合せを行って、少なくとも1つの近傍の装置を発見し、前記問合せは、前記少なくとも1つの近傍の装置がミドルウェア層を含むかもしれないという指示を含み、
前記問合せが、前記少なくとも1つの近傍の装置がミドルウェア層を含むかもしれないという指示を含むときには、前記少なくとも1つの近傍の装置への接続を形成し、前記少なくとも1つの近傍の装置がミドルウェア層を含むかどうか確認し、そして
前記少なくとも1つの近傍の装置がミドルウェア層を含むときには、前記ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行する、
というように構成されたシステム。
In a system for performing device detection and service discovery in a mobile ad hoc communication network,
A memory device;
A processor arranged to communicate with the memory device;
The processor comprises:
Querying the mobile ad hoc communication network to discover at least one neighboring device, the query comprising an indication that the at least one neighboring device may include a middleware layer;
When the query includes an indication that the at least one neighboring device may include a middleware layer, the connection forms a connection to the at least one neighboring device, and the at least one neighboring device includes a middleware layer. And if the at least one neighboring device includes a middleware layer, execute the middleware layer to perform application and service discovery;
A system configured like this.
前記ミドルウェア層は、サービス発見プロトコル及び少なくとも1つのコンピュータプログラムを含み、各コンピュータプログラムは、少なくとも1つの一連の動作命令を含む請求項1に記載のシステム。   The system of claim 1, wherein the middleware layer includes a service discovery protocol and at least one computer program, each computer program including at least one sequence of operating instructions. 前記少なくとも1つの近傍の装置がミドルウェア層を含むときには、前記プロセッサは、更に、前記ミドルウェア層を実行して、アプリケーション及びサービスに着手するように構成された請求項1に記載のシステム。   The system of claim 1, wherein when the at least one neighboring device includes a middleware layer, the processor is further configured to execute the middleware layer to initiate applications and services. 前記問合せを行うために、前記プロセッサは、更に、
前記移動アドホック通信ネットワーク内のカバレージエリアに問合せ要求メッセージを送信し、そして
前記少なくとも1つの近傍の装置から、前記指示を含む問合せ応答メッセージを受信する、
というように構成された請求項1に記載のシステム。
In order to make the query, the processor further comprises:
Sending an inquiry request message to a coverage area in the mobile ad hoc communication network, and receiving an inquiry response message including the indication from the at least one neighboring device;
The system according to claim 1 configured as described above.
前記問合せ要求メッセージは、ブルーツース問合せコマンドであり、そして前記問合せ応答メッセージは、ブルーツース問合せ結果コマンドである請求項4に記載のシステム。   The system according to claim 4, wherein the inquiry request message is a Bluetooth inquiry command, and the inquiry response message is a Bluetooth inquiry result command. 前記ミドルウェア層を実行してアプリケーション及びサービス発見を遂行するために、前記プロセッサは、更に、
前記少なくとも1つの近傍の装置から通知メッセージを受信し、該通知メッセージは、前記少なくとも1つの近傍の装置に記憶されたローカルアプリケーションディレクトリーを含むものであり、
結合アプリケーションディレクトリーに対する更新を記憶し、この更新は、ローカルアプリケーションディレクトリーと結合アプリケーションディレクトリーとの比較に基づくものであり、そして
前記少なくとも1つの近傍の装置に更新メッセージを送信し、この更新メッセージは、前記少なくとも1つの近傍の装置に記憶されたローカルアプリケーションディレクトリーを更新するために前記結合アプリケーションディレクトリーの更新部分を含む、請求項1に記載のシステム。
In order to execute the middleware layer and perform application and service discovery, the processor further comprises:
Receiving a notification message from the at least one neighboring device, the notification message comprising a local application directory stored in the at least one neighboring device;
Storing an update to the combined application directory, the update being based on a comparison of the local application directory and the combined application directory, and sending an update message to the at least one neighboring device, the update message being The system of claim 1, comprising an update portion of the combined application directory to update a local application directory stored on at least one nearby device.
前記プロセッサは、更に、
前記結合アプリケーションディレクトリーにおける参照に基づいてローカルアプリケーションに着手し、そして
前記ローカルアプリケーションを、前記少なくとも1つの近傍の装置で実行される対応アプリケーションに接続する、
というように構成された請求項6に記載のシステム。
The processor further includes:
Initiating a local application based on a reference in the combined application directory, and connecting the local application to a corresponding application running on the at least one nearby device;
The system according to claim 6 configured as described above.
移動アドホック通信ネットワーク内で装置検出及びサービス発見を遂行する方法において、
前記移動アドホック通信ネットワークの問合せを行って、少なくとも1つの近傍の装置を発見するためのステップであって、前記問合せは、前記少なくとも1つの近傍の装置がミドルウェア層を含むかもしれないという指示を含むステップと、
前記問合せが、前記少なくとも1つの近傍の装置がミドルウェア層を含むかもしれないという指示を含むときには、前記少なくとも1つの近傍の装置への接続を形成し、前記少なくとも1つの近傍の装置がミドルウェア層を含むかどうか確認するためのステップと、
前記少なくとも1つの近傍の装置がミドルウェア層を含むときには、前記ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行するためのステップと、
を備えた方法。
In a method for performing device discovery and service discovery in a mobile ad hoc communication network,
Querying the mobile ad hoc communication network to discover at least one neighboring device, the query including an indication that the at least one neighboring device may include a middleware layer Steps,
When the query includes an indication that the at least one neighboring device may include a middleware layer, the connection forms a connection to the at least one neighboring device, and the at least one neighboring device includes a middleware layer. Steps to check if it contains,
When the at least one neighboring device includes a middleware layer, executing the middleware layer to perform application and service discovery;
With a method.
前記ミドルウェア層は、サービス発見プロトコル及び少なくとも1つのコンピュータプログラムを含み、各コンピュータプログラムは、少なくとも1つの一連の動作命令を含む請求項8に記載の方法。   9. The method of claim 8, wherein the middleware layer includes a service discovery protocol and at least one computer program, each computer program including at least one series of operational instructions. 前記少なくとも1つの近傍の装置がミドルウェア層を含むときには、前記ミドルウェア層を実行して、アプリケーション及びサービスに着手するステップを更に備えた請求項8に記載の方法。   9. The method of claim 8, further comprising executing the middleware layer to initiate applications and services when the at least one neighboring device includes a middleware layer. 前記問合せを行うステップは、更に、
前記移動アドホック通信ネットワーク内のカバレージエリアに問合せ要求メッセージを送信する段階と、
前記少なくとも1つの近傍の装置から、前記指示を含む問合せ応答メッセージを受信する段階と、
を備えた請求項8に記載の方法。
The step of making the inquiry further comprises:
Sending an inquiry request message to a coverage area in the mobile ad hoc communication network;
Receiving an inquiry response message including the indication from the at least one neighboring device;
The method of claim 8 comprising:
前記問合せ要求メッセージは、ブルーツース問合せコマンドであり、そして前記問合せ応答メッセージは、ブルーツース問合せ結果コマンドである請求項11に記載の方法。   The method of claim 11, wherein the query request message is a Bluetooth query command and the query response message is a Bluetooth query result command. 前記ブルーツース問合せ結果コマンドにおける少なくとも1つのビットを、前記指示における少なくとも1つの所定の値にセットするステップを更に備えた請求項12に記載の方法。   The method of claim 12, further comprising setting at least one bit in the Bluetooth query result command to at least one predetermined value in the indication.
JP2005501839A 2002-10-31 2003-10-30 Device detection and service discovery system and method for mobile ad hoc communication networks Expired - Fee Related JP4050297B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/284,135 US6909721B2 (en) 2002-10-31 2002-10-31 Device detection and service discovery system and method for a mobile ad hoc communications network
US10/662,407 US7590097B2 (en) 2002-10-31 2003-09-16 Device detection and service discovery system and method for a mobile ad hoc communications network
PCT/IB2003/004843 WO2004040918A2 (en) 2002-10-31 2003-10-30 Device detection and service discovery for mobile networks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007181700A Division JP4563425B2 (en) 2002-10-31 2007-07-11 Device detection and service discovery system and method for mobile ad hoc communication networks

Publications (2)

Publication Number Publication Date
JP2006510124A true JP2006510124A (en) 2006-03-23
JP4050297B2 JP4050297B2 (en) 2008-02-20

Family

ID=32233093

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2005501839A Expired - Fee Related JP4050297B2 (en) 2002-10-31 2003-10-30 Device detection and service discovery system and method for mobile ad hoc communication networks
JP2007181700A Expired - Fee Related JP4563425B2 (en) 2002-10-31 2007-07-11 Device detection and service discovery system and method for mobile ad hoc communication networks

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007181700A Expired - Fee Related JP4563425B2 (en) 2002-10-31 2007-07-11 Device detection and service discovery system and method for mobile ad hoc communication networks

Country Status (7)

Country Link
EP (1) EP1556966A4 (en)
JP (2) JP4050297B2 (en)
KR (1) KR100712047B1 (en)
AU (1) AU2003278417B2 (en)
BR (1) BR0315766A (en)
CA (1) CA2501566C (en)
WO (1) WO2004040918A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514001A (en) * 2009-12-15 2013-04-22 クアルコム,インコーポレイテッド Method and apparatus for using a distributed message bus for ad hoc peer-to-peer connections
JP2015517282A (en) * 2012-04-17 2015-06-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for multiplexed application identifiers for a peer-to-peer discovery system
JP2016511976A (en) * 2013-01-31 2016-04-21 ソニー株式会社 Network device that matches ability to task

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493373B2 (en) 2004-12-27 2009-02-17 Nokia Corporation Providing service distribution between distributed applications
US8559350B2 (en) * 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
KR100829248B1 (en) * 2006-07-14 2008-05-14 엘지전자 주식회사 Method of updating a software package in a mobile communication terminal using an ad-hoc communication, the mobile communication terminal thereof, method of setting up a serving terminal in an ad-hoc network, and method of updating a software package of a client terminal using a serving terminal in the ad-hoc network
US8616976B2 (en) 2006-11-07 2013-12-31 Core Wireless Licensing S.A.R.L. Gaming via peer-to-peer networks
US7734717B2 (en) 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US7970350B2 (en) * 2007-10-31 2011-06-28 Motorola Mobility, Inc. Devices and methods for content sharing
US10003659B2 (en) * 2014-10-31 2018-06-19 Qualcomm Incorporated Efficient group communications leveraging LTE-D discovery for application layer contextual communication
CN114553730B (en) * 2022-04-27 2022-07-15 远江盛邦(北京)网络安全科技股份有限公司 Application identification method and device, electronic equipment and storage medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4398042B2 (en) * 2000-01-28 2010-01-13 パナソニック株式会社 Transmission device, reception device, transmission / reception device, transmission method, and reception method
JP2001344163A (en) * 2000-05-31 2001-12-14 Matsushita Electric Ind Co Ltd Signal processing device, medium, and information assembly
JP2002099473A (en) * 2000-09-25 2002-04-05 Casio Comput Co Ltd Method and device for collecting service information of network, and record medium storing service information collection program of network
US8126982B2 (en) * 2001-02-16 2012-02-28 International Business Machines Corporation Method, network device and computer program product for performing service discovery in a pervasive network
DE10112409B4 (en) 2001-03-13 2005-06-16 M-Creations Gmbh Method and system for data management, and appropriate use of the method and / or the system
US20020178216A1 (en) * 2001-03-13 2002-11-28 Stefan Walther Method and system for data management
JP2002281546A (en) * 2001-03-15 2002-09-27 Sharp Corp Radio communication system
US7089298B2 (en) * 2001-08-20 2006-08-08 Nokia Corporation Naming distribution method for ad hoc networks
KR100400823B1 (en) * 2001-11-01 2003-10-08 주식회사 유한정밀 Dart feeding manipulator

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514001A (en) * 2009-12-15 2013-04-22 クアルコム,インコーポレイテッド Method and apparatus for using a distributed message bus for ad hoc peer-to-peer connections
US9043478B2 (en) 2009-12-15 2015-05-26 Qualcomm Innovation Center, Inc. Methods and apparatus for using a distributed message bus for ad hoc peer-to-peer connectivity
JP2015517282A (en) * 2012-04-17 2015-06-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for multiplexed application identifiers for a peer-to-peer discovery system
US10123187B2 (en) 2012-04-17 2018-11-06 Qualcomm Incorporated Methods and apparatus for multiplexing application identifiers for peer-to-peer discovery systems
JP2016511976A (en) * 2013-01-31 2016-04-21 ソニー株式会社 Network device that matches ability to task

Also Published As

Publication number Publication date
CA2501566C (en) 2012-07-10
AU2003278417A1 (en) 2004-05-25
BR0315766A (en) 2005-09-06
EP1556966A2 (en) 2005-07-27
JP4050297B2 (en) 2008-02-20
WO2004040918A2 (en) 2004-05-13
JP4563425B2 (en) 2010-10-13
JP2008017495A (en) 2008-01-24
KR20050063798A (en) 2005-06-28
CA2501566A1 (en) 2004-05-13
EP1556966A4 (en) 2009-01-21
AU2003278417B2 (en) 2007-05-31
KR100712047B1 (en) 2007-04-27
WO2004040918A3 (en) 2005-05-26

Similar Documents

Publication Publication Date Title
US7590097B2 (en) Device detection and service discovery system and method for a mobile ad hoc communications network
JP4563425B2 (en) Device detection and service discovery system and method for mobile ad hoc communication networks
US7313120B2 (en) Application control in peer-to-peer ad-hoc communication networks
EP1517488A2 (en) Mechanism for improving connection control in peer-to-peer ad-hoc networks
EP1440588B1 (en) Customized messaging between wireless access point and services
US8126982B2 (en) Method, network device and computer program product for performing service discovery in a pervasive network
JP4727730B2 (en) Discovery of proximity services in wireless networks
EP1435721B1 (en) Automatic and dynamic service information delivery to data terminals in an access network
US8060590B2 (en) Distance-aware service discovery mechanism for determining the availability of remote services in wireless personal area networks
EP1518360B1 (en) Distribution of user or terminal specific information in a local network
US9301078B2 (en) Network-intelligent scanner
JP3771850B2 (en) Method for performing service discovery, network device, and computer program element
WO2008024099A2 (en) Peer-to-peer network and user information discovery and sharing for mobile users and devices
KR101016786B1 (en) Method, device and system for managing cache of network caches in a mobile

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070514

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071023

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131207

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees