JP4856084B2 - 無線機器、ネットワーク機器、無線ゲーム機器、中継メッセージ送信方法 - Google Patents

無線機器、ネットワーク機器、無線ゲーム機器、中継メッセージ送信方法 Download PDF

Info

Publication number
JP4856084B2
JP4856084B2 JP2007537868A JP2007537868A JP4856084B2 JP 4856084 B2 JP4856084 B2 JP 4856084B2 JP 2007537868 A JP2007537868 A JP 2007537868A JP 2007537868 A JP2007537868 A JP 2007537868A JP 4856084 B2 JP4856084 B2 JP 4856084B2
Authority
JP
Japan
Prior art keywords
relay
local
receiving device
wireless
relay message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007537868A
Other languages
English (en)
Other versions
JP2008517554A (ja
Inventor
ダッタ、グレン ヴァン
Original Assignee
ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー
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 ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー filed Critical ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー
Publication of JP2008517554A publication Critical patent/JP2008517554A/ja
Application granted granted Critical
Publication of JP4856084B2 publication Critical patent/JP4856084B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • H04L67/1055Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers involving connection limits
    • 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/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/408Peer to peer connection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • A63F2300/572Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Description

関連出願
本出願は、引用によって本願に援用される、2003年10月20日に出願された米国仮特許出願番号第60/513,098号の優先権を主張する。また、本出願は、引用によって本願に援用される、2003年11月3日に出願された米国特許出願番号第10/700,798号の一部継続出願である。
典型的なピアツーピアネットワーク(又は「P2Pネットワーク」)において、ピアツーピアネットワーク内の各メンバ(又はピア)は、他のメンバのそれぞれと接続を確立する。メンバは、(例えば、メンバがサーバを介してインタラクトする典型的なクライアント−サーバネットワークのように)集中型サーバを用いるのではなく、ピアツーピア接続を用いて、他のメンバにデータを直接送信し、他のメンバからデータを直接要求、データは、他のネットワーク機器、例えばルータ又はアクセスポイントを通過することができる。この場合の接続は、有線接続(例えば、ピア又はネットワーク接続するためのネットワークケーブルを用いた接続)であっても、無線接続(例えばIEEE802.11又は「Wi−Fi」プロトコルをサポートするインタフェースを用いた接続)であってもよい。通常、ネットワークの各メンバは、ネットワークにおいて、互いに類似する責任を有し、各メンバは、多くの場合、(ネットワークメンバとして)同等であるとみなされる。例えば、N個のピアを含むピアツーピアネットワークでは、各ピアは、他のピアまでのN−1個の接続を有する。
また、幾つかのピアツーピアネットワークでは、サーバは、幾つかの集中型サービスのメンバによって、例えばアドレス発見するために(例えば、ピアツーピアネットワークを構成する接続を確立するため用いられる
本発明は、ピアツーピアネットワークにおいて、データを中継する中継データ送信方法及び中継データ送信装置を提供する。一実施の形態においては、無線機器は、アンテナと、アンテナに接続され、アンテナによって提供される無線接続に亘る無線通信をサポートする無線通信インタフェースと、データの保存をサポートする記憶装置と、無線通信インタフェース及び記憶装置に接続され、アプリケーションサービスと、メッセージサービスと、中継メッセージ用の中継サービスとをサポートするコントローラとを備え、アプリケーションサービスは、記憶装置に保存されたアプリケーションデータを用いて、コントローラによってアクセス可能な1つ以上のアプリケーションプログラムを実行及び管理し、メッセージサービスは、メッセージを作成するとともに、受信されたメッセージを処理し、中継サービスは、無線機器が直接無線接続を有さない選択された受信側機器を示す新たな中継メッセージを作成し、作成された新たな中継メッセージを送信し、無線機器以外の受信側機器を示す受信された中継メッセージを送信する。
他の実施の形態として、中継メッセージを送信する中継メッセージ送信方法は、送信側機器において、中継メッセージの受信側機器を選択するステップと、選択された受信側機器を示す受信側機器識別子を含む中継メッセージを作成するステップと、無線インタフェースを介して少なくとも1つのローカル機器に中継メッセージを送信するステップとを有し、送信側機器は、少なくとも1つのローカル機器のそれぞれに直接接続を有し、送信側機器は、受信側機器に直接接続を有さない。
他の実施の形態においては、中継メッセージを送信する中継メッセージ送信方法は、送信側機器から無線インタフェースを介して中継機器において、受信側機器を示す受信側機器識別子を含むとともに、アプリケーションプログラムアプリケーションデータを含む中継メッセージを受信するステップと、中継メッセージを調べて、中継機器が受信側機器であるかを判定するステップと、少なくとも1つのローカル機器を示すローカル機器リストを調べて、受信側機器がローカル機器であるかを判定するステップと、受信側機器がローカル機器であるとき、中継機器からの受信側機器宛の中継メッセージを、無線インタフェースを介して送信するステップと、受信側機器がローカル機器でないとき中継機器からのローカル機器リストに含まれている少なくとも1つのローカル機器宛の中継メッセージを無線インタフェースを介して送信するステップとを有し、送信側機器は、中継機器に対する直接接続を有し、中継機器は、ローカル機器リストに示された各ローカル機器に対する直接接続を有し、送信側機器は、受信側機器に対する直接接続を有さない。
本発明は、ピアツーピアネットワークにおいて、データを中継する方法及び装置を提供する。一実施の形態においては、第1の無線機器及び第2の無線機器は、拡張ピアツーピアネットワークに属し、各機器上で実行されるアプリケーションプログラムをサポートするデータを交換する。なお、第1の無線機器及び第2の無線機器は、ピアツーピアネットワークにおいて、直接接続を有さない。第1及び第2の無線機器は、他の1つ以上の無線機器(ローカル機器)に対する直接接続を有し、中間機器を介して互いに到達するまでの経路を検索する。第1の無線機器は、通信のために、中継メッセージの予定受信側機器として第2の無線機器を示す中継メッセージを作成する。第1の無線機器は、そのローカル機器のそれぞれに中継メッセージを送信する。ローカル機器は、中継メッセージを受信し、一組の中継規則に従って、それのローカル機器のそれぞれに中継メッセージを渡す。中継メッセージは、ピアツーピアネットワークを介して伝播され、第2の無線機器に到達する。同様に第2の無線機器は、中継メッセージを用いて、第1の無線機器にデータを送信する。
以下では、一実施の形態を説明する。この実施の形態は、限定的なものではなく、更なる実施の形態及び変形例については、後に説明する。
実施の形態においては、無線ゲーム機器のユーザが、無線ゲーム機器を、他の無線ゲーム機器を含む拡張無線ピアツーピアネットワークが有効なエリア(例えば店)に持ち込む。拡張ピアツーピアネットワークでは、幾つかの無線ゲーム機器は、互いに直接接続を確立することができない。無線ゲーム機器は、例えばWi−Fiプロトコルをサポートするインタフェースを用いて、限られた範囲の無線接続をサポートする。範囲にある2つの無線ゲーム機器は、直接接続を確立することができない。なお、このような2つの無線ゲーム機器は、中継メッセージを双方向に送信する経路として、他の中間機器(又は一連の機器)を用いることができる。
ユーザは、自らの無線ゲーム機器を起動し、マルチプレーヤゲームを行うために利用可能な機器のリストを要求する。ユーザの無線ゲーム機器は、ユーザ名又は識別子、若しくは機器識別子によって、各受信側機器を示す利用可能な受信側機器のリストを作成する。ユーザの無線ゲーム機器は、範囲内にある他の無線ゲーム機器と接続することによって、受信側機器リストを作成する。範囲内にるこれらの機器は、ユーザの無線ゲーム機器にとって、ローカル機器である。ローカル機器は、ピアツーピアネットワークを介してリスト要求を伝播し、利用可能な機器を示す情報を蓄積し、この情報をリスト要求の発信元、すなわち、ユーザの無線ゲーム機器に返す(リストの作成の実施の形態については、後に説明する)。
ユーザは、受信側機器リストから受信側機器を選択し、無線ゲーム機器が選択された受信側機器と通信し、ゲームに招待することを要求する。ユーザの無線ゲーム機器は、選択された受信側機器がローカル機器であるかを調べる。選択された受信側機器がローカル機器である場合、ユーザの無線ゲーム機器と、受信側機器との間で直接接続が利用できるので、ユーザの無線ゲーム機器は、選択された受信側機器との直接通信を使用する。この場合、ユーザの無線ゲーム機器は、(他のローカル機器を介することなく)受信側機器に招待メッセージを送信し、直接接続を介して直接通信。選択された受信側機器がローカル機器でない場合、直接接続が利用できないので、ユーザの無線ゲーム機器は、選択された受信側機器との中継通信のために、中継メッセージを用いる。
中継通信においては、無線ゲーム機器は、選択された受信側機器を示し、選択された受信側機器によって使用されるデータを含む中継メッセージを作成する。また、中継メッセージは、受信側機器によって使用されるデータと、中継メッセージを識別する中継メッセージ識別子を含む。選択された受信側機器に招待を送信するために、無線ゲーム機器は、中継メッセージに、ゲーム送信側機器及びユーザ等を示す適切な情報を含める。ゲームのために用いられる中継メッセージでは、無線ゲーム機器は、適切なアプリケーション情報を、中継メッセージに入れる。ユーザの無線ゲーム機器は、招待のための中継メッセージを作成し、直接無線接続を介して、無線ゲーム機器のローカル機器のそれぞれに中継メッセージを送信する。ローカル機器のいずれも、中継メッセージの予定受信側機器でないので、これらのローカル機器は、この中継通信における中間機器又は中継機器である。中間機器は、中継メッセージを受信すると、ローカル機器のリストを用いて、指示された受信側機器が中間機器のローカル機器であるか否かを調べる。受信側機器がローカル機器である場合、中間機器は、この受信側機器に中継メッセージを送信する。受信側機器がローカル機器でない場合、中間機器は、一組の中継規則に基づいて、全てのローカル機器に中継メッセージを送信する。この実施の形態では、1つの中継規則として、中間機器は、中継メッセージを受信したローカル機器には、中継メッセージを送信しない。他の規則として、中間機器は、同じ中継メッセージ(同じ中継メッセージ識別子によって示される)を再び送信しない。中間機器は、中継メッセージを送信した後は、中継メッセージを持しないが、同じ中継メッセージの再送信を避けるために、中継メッセージ識別子を記録する。
中継メッセージは、ピアツーピアネットワークを伝播し、受信側機器として示されている無線ゲーム機器は、最終的に、中継メッセージを受信する。受信側機器は、それが受信側機器であることを認識し、中継メッセージに含まれているデータを適切に使用する。受信側機器がユーザの無線ゲーム機器から招待を受信したとき、受信側機器は、受信側機器のユーザに招待を表示し、適切な指示を受ける。受信側機器は、この中継メッセージの受信側機器として、ユーザの無線ゲーム機器を示し、招待に対する応答を示す情報を含む中継メッセージを作成する。受信側機器は、ピアツーピアネットワークを介して、ユーザの無線ゲーム機器に中継メッセージを返信する。そして、2つの機器は、このような中継通信を用いて、通信を継続することができる。
この実施の形態では、2つの無線機器は、直接無線接続を有さず、他の無線機器を中間機器として用いて、間接接続又は中継接続を確立する。無線機器は、中継通信を用いることによって、通信範囲の限界を解決し、エリアを拡張し、通信に利用できる機器を増やすことができる。更に、2つの無線機器は、中間にサーバシステムを介在させることなく、一連のピアツーピア接続を介して通信することができる。2つの無線機器は、データを交換でき、中間機器を連携動作に参加させることなく、アプリケーションプログラム(例えばマルチプレーヤゲームアプリケーション)の連携動作を実現することができる。例えば、2つの無線機器が、第3の無線機器を中継機器として用いて、1つのゲームを共同でプレーでき、この第3の機器は、更に他の機器と他のゲームをプレーしていてもよい。異なる実例及びアプリケーションによって、更に他の効果を得ることができる。
図1Aは、それぞれ無線アンテナ107、112、117を有し、ピアツーピアネットワークにおいて通信を行う3つの無線機器105、110、115を示している。無線機器105、110、115は、サーバを介さず、ピアとして通信する。一実施の形態では、無線機器105、110、115は、無線対応ゲーム機機器又は汎用コンピュー(例えば、ゲーム機器、PDA、Wi−Fiインタフェースをサポートするラップトップコンピュータ、携帯電話機等)である。無線機器105は、無線アンテナ107を用いて無線機器110と直接無線接続を確立する。無線機器110、115も、同様に、直接無線接続を確立する。図1Aに示す構成では、無線機器105及び無線機器115は、例えば互いにそれぞれの無線インタフェースの通信範囲内にないので、直接接続を有さない。
無線機器105、110、115は、無線接続を介して、データ(例えばメッセージ)を交換する。無線機器105は、無線機器110と直接通信する。無線機器110は、無線機器105、115の両方と直接通信する。無線機器115は、無線機器110と直接通信する。後述するように、無線機器105は、中間機器又は中継機器としての無線機器110を介する中継通信を用いて、無線機器115と間接的に通信することができる。このように、無線機器110は、拡張ネットワークピアとして機能しながら、中継機器として通信を補助することができる。
図1Bは、2つの無線機器120、125、ネットワーク機器130、サーバシステム135直接通信及び中継通信を用いて通信する他のネットワーク環境を示している。無線機器120、125は、それぞれの無線アンテナ122、127を用いて、直接無線接続を確立する。また、無線機器125は、無線接続を介してネットワーク140と通信する。ネットワーク機器130及びサーバシステム135は、それぞれのネットワークインタフェース132、137を用いて、有線接続を介してネットワーク140と通信する。一実施の形態では、ネットワーク機器130は、ネットワーク対応コンピュータ、例えばネットワークインタフェースを有するラップトップコンピュータ又はゲームである。一実施の形態では、サーバシステム135は、クライアント(例えば無線機器120、125ネットワーク機器130)接続するデータ及び/又はアプリケーションを提供するコンピュータシステムである。一実施の形態では、ネットワーク140は、ローカルエリアネットワーク(local area network:LAN)である。他の実施の形態では、ネットワーク140は、広域ネットワーク、例えばインターネット又は個人的なイントラネットである。
無線機器125は、ネットワーク機器130及びサーバシステム135に対する直接接続を、ネットワーク140(データは、他のネットワーク設備、例えば基地局及びルータを通過することができる)を介して、確立することができる。この構成では、直接接続は、ピアツーピア接続であるので、第1の機器は、第2の機器宛のメッセージを、(例えばTCP/IPを用いて)第2の機器に対する直接接続を介して送信するという意味で、「直接」接続は、「間接」接続と区別される。間接接続は、一連の2つ以上の直接接続を含む接続である。例えば、無線機器125は、無線機器120に対する直接接続を有するとともに、ネットワーク機器130に対する直接接続を有する。したがって、無線機器125がネットワーク機器130にメッセージを送信するとき、これらのメッセージは、ピアとしてのネットワーク機器130宛である。また、無線機器120は、無線機器120と無線機器125の第1の直接接続と、無線機器125とネットワーク機器130の第2の直接接続とを介するネットワーク機器130に対する間接接続を有する。無線機器120がネットワーク機器130にメッセージを送信するとき、これらのメッセージは、無線機器125宛の中継メッセージであり、ネットワーク機器130を予定受信側機器として示している次に、無線機器125は、受信中継メッセージと同じペイロードデータ(例えば、アドレスがないデータ)を含むネットワーク機器130宛の新たな中継メッセージを、直接接続を用いてネットワーク機器130に送信することによって、無線機器120からのこれらの中継メッセージをネットワーク機器130に中継する。これに代えて、無線機器125は、アドレス指定情報を変更して、同じ中継メッセージを送信する。
実施の形態では、サーバシステム135は、情報の集中型記憶装置として機能するので、各機器は、(例えば、定期的に又は要求に応じて)サーバシステム135に/から情報を供給及び要求する。一実施の形態において、例えば、サーバシステム135は、ピアツーピアネットワークに参加する機器のリストを保存している。他の実施の形態では、サーバシステム135は、ピアツーピアネットワークの各参加者に対するローカル機器のリストを保存している。これに代えて、サーバシステム135は、機器間の通信を補足する異なる情報を供給する。例えば、サーバシステム135は、機器識別子によってインデクスが付された機器のユーザのユーザプロファイルを保存している
無線機器120、125、ネットワーク機器130、サーバシステム135は、役割を柔軟に変更することができる。これらの機器は、必要に応じて、ピア、クライアント又はサーバとして機能することができる。例えば、サーバシステム135は、無線機器120対して集中型記憶装置として機能し、そして、無線機器125に対してはピアとしてインタラクトする。
図1A及び図1Bに2つのネットワーク構成を示したが、他の実施の形態として、(例えば図5に示すような)他のネットワーク構成を用いてもよい。例えば、一実施の形態においては、複数の有線ネットワーク機器、無線接続を用いることなく、LAN又は広域ネットワークを介して、情報を交換する。有線接続された機器を用いる一実施の形態では、参加者制限を用いて、ピアツーピアネットワークに参加している機器の数を制御し、ローカル機器制限を用いて、(直接接続された機器に対して利用可能な)ローカル機器とみなされる機器の数を制御する。他の実施の形態では、様々な種類の無線機器、例えば携帯電話機及びPDA用いられる。
図2は、ピアツーピア中継通信をサポートする例示的な無線機器205の内部のブロック図を示している。無線機器205は、無線アンテナ215に接続された無線インタフェース210を備える。無線インタフェース210は、無線アンテナ215を用いて、他の無線機器までの無線接続の確立をサポートし、確立された接続を介して、データを交換する。一実施の形態では、無線インタフェース210は、エアーインタフェース、例えばWi−Fi又はブルートゥースのようなローカル無線プロトコルをサポートする一般的な無線インタフェースである。無線インタフェース210のコンポーネントは、図2には示していないが、これらのコンポーネント(例えば適切なフィルタ、増幅器等)及びその動作は、当業者にとって明らかである。他の実施の形態においては、異なるエアーインタフェース、例えば符号分割多元接続(CDMA)あるいは非無線インタフェース、例えば赤外線をサポートすることができる。他の実施の形態として、複数の無線インタフェース及び/又は1つ以上の有線インタフェース(例えばIEEE−1394又はイーサネット(登録商標))をサポートする
無線インタフェース210には、コントローラ220が接続されている。コントローラ220は、無線機器205及びそのコンポーネントの動作を制御する。一実施の形態では、コントローラ220は、マイクロプロセッサ及び関連するサブシステムである。コントローラ220は、アプリケーションサービス225、メッセージサービス230、中継サービス235と、受信側機器選択サービス240を提供する。コントローラ220のサービスは、記憶装置255記憶されたソフトウェアプログラムとして実装されており、コントローラ220によって実行されるこれに代えて、サービスの1つ以上、部分的又は完全に、ハードウェア又は無線機器205の別のサブシステムとして実装することができる。他の実施の形態では、コントローラ220は、これらのサービスのいずれも提供せず、これに代えて、無線機器205の動作は、無線機器205のユーザインタフェースを介して、ユーザによって手動で制御される(例えば、コントローラ220は、メッセージ送信する自動動作のサービスを提供するのではなく、制御プロセッサとして、ユーザコマンドに基づいてコンポーネントの動作を制御する)。アプリケーションサービス225は、無線機器205がアクセス可能なアプリケーションプログラムの実行及び対応するアプリケーションデータの管理をサポートする。一実施の形態では、アプリケーションサービス225は、ゲームアプリケーションプログラムの実行をサポートする。
メッセージサービス230は、メッセージ作成、無線インタフェース210を介するメッセージ送信、無線インタフェース210を介して受信されたメッセージ処理とをサポートする。メッセージサービス230は、主に、直接通信で用いられるメッセージのためのサービスである。
中継サービス235は、(例えば図3及び図6を用いて)後述するように、中継メッセージの作成、中継メッセージ送信、受信された中継メッセージ処理とをサポートする。中継サービス235は、主に、中継通信で用いられるメッセージのためのものであり、メッセージサービス230(例えば、サブサービス、例えばアドレス挿入又は下位プロトコル層機能の共用)と連携して動作する。一実施の形態では、中継サービス235は、無線機器205が直接接続を確立することができる機器を示すローカル機器リストを作成及び保守する。
受信側機器選択サービス240は、(例えば図4及び図5を用いて)後述するように、通信に利用可能な受信側機器のリスト又はマップ作成と、通信する受信側機器選択とをサポートする。一実施の形態では、受信側機器リストは、(ローカル機器リストによって示されている)ローカル機器のための対応するアドレス指定情報を含む機器のリストである。また、受信側機器リストは、受信側機器に関する追加情報(例えばユーザ名)を指示(又は参照)することができる。他の実施の形態では、受信側機器選択サービス240は、利用可能な受信側機器と、ローカル機器ではない各受信側機器に対して、その受信側機器に到達するために用いられる1つ以上の中間機器(又は接続)との両方を示す利用可能な受信側機器のマップを作成する。受信側機器選択サービス240は、ローカル機器に問い合わせることによって、受信側機器リスト又はマップを作成する。受信側機器リスト又はマップの作成については、後に更に詳細に説明する。他の実施の形態では、受信側機器選択サービス240は、サーバから受信した情報を用いて、リスト又はマップを作成し、又はサーバからリスト又はマップを取得する。
また、無線機器205は、ユーザインタフェース245、メディアインタフェース250、記憶装置255と、電源260を備える。ユーザインタフェース245は、ユーザコマンドを受信する入力操作子(例えばキーパッド、ボタン、方向指示パッド又はジョイスティック等)と、ユーザにデータを提示する出力装置(例えばディスプレイ及びオーディオスピーカ)とを備える。メディアインタフェース250は、メディアの種類に基づいて、メディアに接続し、又はメディアが挿入されて、メディアとデータを交換するコンポーネントを備える。一実施の形態では、メディアインタフェース250は、光ディスクが着脱可能に挿入され、光ディスクからデータを読み出すインタフェース(例えばCD−ROMドライブ)と、リムーバブルメモリコンポーネントに接続し、このリムーバブルメモリコンポーネントに/からデータを書き込み/読み出す他のインタフェース(例えば、USBメモリカードが挿入されるUSBポート、リムーバブルハードディスクドライブインタフェース、又はメモリスティック(商標)インタフェース)とを備える。記憶装置255は、無線機器205の動作及びアプリケーション実行に用いられるデータを保存する。例えば、一実施の形態では、中継メッセージ及び受信側機器リストは、記憶装置255に保存される。一実施の形態では、記憶装置255は、RAM及びフラッシュメモリの組合せである。また、他の実施の形態では、記憶装置255は、データ、例えばユーザデータ、アプリケーションデータファイルをより長い期間記憶する適切な永続的な記憶装置、例えばフラッシュメモリ及び/又はハードディスクドライブを備える。電源260は、無線機器205のコンポーネントに電力を供給する。一実施の形態では、電源260は、着脱可能なバッテリ、及び対応する外部電源接続を有する充電式の内部の電源から電力供給されるインタフェースを備える。図2では、ユーザインタフェース245、メディアインタフェース250、記憶装置255と、電源260の間の内部接続、及び無線機器205の他のコンポーネントとの内部接続を明示的に示していないが、これらの接続は、当業者にとって明らかである。
他の実施の形態では、無線通信に対応しておらず、他の機器と通信するためのインタフェースをサポートするネットワーク機器、図2に示す無線機器205と同様のコンポーネントを備える。ネットワーク機器は、アプリケーション、メッセージ、中継、受信側機器選択サービスを提供し、また、後述する中継通信をサポートするコントローラを備え。図1Bを用いて上述したように、無線機器ネットワーク機器の組合せを用いて中継通信を行うことができる。
図3は、中継メッセージを送信する処理の一例のフローチャート300を示している。まず、中継通信をサポートする無線機器、ピアツーピアネットワークに参加している。無線機器は、(例えばビーコンを用いて)ローカル機器のリストを作成しているとともに、これらのローカル機器に対して直接接続を開始している。無線機器は、ユーザから受信側機器を選択する要求を受信する。
ブロック305において、無線機器は、通信する受信側機器を選択する。無線機器は、例えば、図4を参照して後述する手法を用いて、利用可能な受信側機器と、対応する接続パスを示す受信側機器マップを作成する。他の実施の形態では、無線機器は、マップではなく、接続を示さないリストを作成する。一実施の形態では、無線機器が受信側機器マップを既に有しており、この受信側機器マップが現在有効である(例えば、有効期限閾値及びマップの作成又は更新のタイムスタンプによって判定され、又はローカル機器に問い合わせることによって判定される)場合、無線機器は、新たな受信側機器マップ(又はリスト)を作成しない。他の実施の形態では、無線機器は、サーバから供給されるリスト又はマップから受信側機器を選択し、又はサーバによって受信側機器を選択する(オプションとして、受信側機器までのパスサーバから受信する)。
無線機器は、ユーザに受信側機器マップを表示し、受信側機器を示す選択を受信する。無線機器は、ローカル機器リストを調べることによって、選択された受信側機器がローカル機器であるかを判定する。他の実施の形態では、受信側機器リストは、また、特定の受信側機器リストを保存する無線機器に対して)各受信側機器がローカル機器であるか否かを示している。選択された受信側機器がローカル機器である場合、無線機器は、直接通信を用いて、選択された受信側機器とデータを交換する。選択された機器がローカル機器でない場合、無線機器は、中継通信を用いる。
ローカル機器でない受信側機器を選択した、ブロック310において、無線機器は、中継メッセージを作成する。中継メッセージは、選択された受信側機器、例えば受信側機器リストからの受信側機器識別子を示す情報を含んでいる。受信側機器リストが受信側機器までの完全な又は部分的なパスを示す一実施の形態では、無線機器は、パス情報を、中継メッセージに入れる。他の実施の形態では、受信側機器リストから受信側機器を選択した後、無線機器は、選択された機器までのパスを発見し、このパス情報を、中継メッセージに入れる。他の実施の形態では、中継メッセージは、複数の受信側機器を示す情報(例えばリスト)を含んでいる。中継メッセージは、中継メッセージを中継メッセージとして識別する中継メッセージコードを含んでいる。無線機器は、(他の中継メッセージに対して特定の中継メッセージを識別するために)中継メッセージをピアツーピアネットワークを介して送信するメッセージとして識別する中継メッセージ識別子を中継メッセージに割り当てる。無線機器は、中継メッセージ識別子を、中継メッセージに入れる。また、一実施の形態では、無線機器は、中継メッセージがネットワークを介して伝播される距離を制限するホップカウント制限を入れる(ホップカウントについては、後述する)。無線機器は、受信側機器に送信する適切な追加データを生成し、追加データを、中継メッセージのペイロードデータとして入れる。例えば、無線機器受信側機器とゲームをプレーするとき、無線機器は、適切なゲームデータを、中継メッセージに入れる
ブロック315において、無線機器は、作成した中継メッセージを送信する。一実施の形態では、無線機器は、中継メッセージを、無線機器の無線インタフェースを介してブロードキャストし、中継メッセージを無線機器のローカル機器リスト内の全ての機器に送信する。他の実施の形態では、無線機器は、中継メッセージのパス情報に基づいて、中継メッセージを1つのローカル機器又は選択されたローカル機器に送信する。
無線機器が受信側機器と中継通信を開始した後、無線機器は、ブロック310、315上述したように、中継メッセージの作成及び受信側機器への送信を継続する。
有線機器又は有線インタフェースを有する無線機器は、同様の技術を用いて、中継メッセージを送信し、すなわち、適切なインタフェースを選択し対応するローカル機器中継メッセージを送信する。
実施の形態では、無線機器は、受信側機器として選択するのに利用できることを表す、又は中間機器として用いるローカル機器の数を制限する最大ピアカウント値を有する。無線機器は、利用可能な全てのローカル機器(例えば、ビーコンに対する応答によって判定される)を示す第1のローカル機器リストを作成する。無線機器は、利用可能なローカル機器から、最大ピアカウント値以下の数の機器を選択することによって、第2のローカル機器リストを作成する。無線機器は、様々な基準条件、例えば応答時間又は信号強度を用いて、第2のローカル機器リストの機器を選択する。一実施の形態では、最大ピアカウント値は、動的である。無線機器は、最大ピアカウント値を、無線機器の現在の性能負荷に基づいて(例えば、機器がアイドル状態にあるときは、最大ピアカウント値を大きくして)、又はネットワークトラヒックに基づいて(例えば、トラヒックが非常に混んでいるときは、最大ピアカウント値を小さくして)調整する。他の実施の形態では、無線機器は、最大ピアカウント値を、ユーザ又はサーバからの情報に基づいて設定する。
図4は、例えば、図3のブロック305において、受信側機器マップを用いて受信側機器を選択する処理の実施の形態のフローチャート400を示している。まず、中継通信をサポートする無線機器、ピアツーピアネットワークに参加している。無線機器は、(例えばビーコンを用いて)ローカル機器のリストを作成しているとともに、これらのローカル機器との間に直接接続を開始している。無線機器は、ユーザから受信側機器を選択する要求を受け取っている。
ブロック405において、無線機器は、各ローカル機器に受信側機器マップを要求する。受信側機器マップは、1つ以上の機器と、受信側機器マップのオーナに対してローカルではない各機器までの完全なパス又は部分的パスを示している受信側機器マップのオーナは、パスに基づいて、受信側機器マップを作成した機器であしたがって、パスは、受信側機器マップのオーナと、そのパスにおける特定の受信側機器との間の1つ以上の対応する接続又は中間機器を示している。完全なパスは、全ての中間接続、すなわち全ての中間機器を示し、部分的パスは、1つ以上の中間接続、すなわち1つ以上の中間機器、例えば最後の1つの機器を示す実施の形態では、受信側機器マップは、機器を示すノードと、接続を示すリンク有するグラフである。グラフを用いる一実施の形態では、受信側機器マップは、オーナしていない。他の実施の形態では、受信側機器マップは、各受信側機器毎1つのエントリ、オーナから対応する受信側機器までのパスを示すフィールド有するテーブルである。ローカル機器は、それらの受信側機器マップを無線機器に返す。一実施の形態では、ローカル機器は、それらの受信側機器マップを返す前に、受信側機器マップを更新する。一実施の形態では、マップ要求は、受信側機器マップの要求、あるいは現在の受信側機器マップが古い場合における新たな受信側機器マップを作成する要求であ。他の実施の形態では、マップ要求を、特定のローカル機器宛ではなく、ブロードキャストとして送信する。受信側機器マップの作成の実施の形態については、後に詳細に説明する。
ブロック410において、無線機器は、マップ要求により受信した応答に基づいて、受信側機器マップを作成する。無線機器は、受信した受信側機器マップをそれのローカル機器リストに結合して、無線機器をオーナとして有する受信側機器マップを作成する(これにより、無線機器に対するパスが定義される)。他の実施の形態では、無線機器が受信側機器マップを既に有しており、この受信側機器マップが現在有効である(例えば、有効期限閾値及び受信側機器マップの作成又は更新のタイムスタンプを用いて判定され)場合、無線機器は、マップ要求を送信せず、又は新たな受信側機器マップを作成しない。
ブロック415において、無線機器は、受信側機器マップから受信側機器を選択する。無線機器は、無線機器のユーザインタフェースを介してユーザに受信側機器マップを表示する。ユーザは、受信側機器を選択し、無線機器は、ユーザ選択に対応する受信側機器を選択する。
受信側機器マップ又はリストの作成には、様々な手法を用いることができる(これらの手法は、適宜、受信側機器リストと受信側機器マップのいずれか一方又は両方に適用することができる)。これらの手法には、後述する伝播、ホップカウント、ネットワーク識別子、定期的更新等に基づく手法が含まれる。また、これらの手法又は他の手法を組み合わせて用いてもよい。
実施の形態では、無線機器は、1つ以上の更新規則を用いて、受信側機器マップを更新する。1つの規則は、環境を結合することによって受信側機器マップを更新することである。他の規則は、受信側機器マップを定期的に更新することである無線機器は、受信側機器マップの最後の更新からの経過時間の比較に基づいて、受信側機器マップの期限が切れたときに、マップ要求を送信する。他の規則は、ローカル機器が利用できななったとき、受信側機器マップを更新することである。無線機器が、(例えば、定期的なポーリング又は要求に対する応答がなかったことに基づいて)ローカル機器が利用可能なでなくなったことを検出したとき、無線機器は、マップ要求を送信する。他の規則は、新たなローカル機器が利用可能になったとき、受信側機器マップを更新することである。他の規則は、無線機器、ローカル機器がその受信側機器マップを更新したことを示す更新メッセージをローカル機器から受信したとき受信側機器マップを更新することである。機器がその受信側機器マップを変更したとき、機器は、更新メッセージを各ローカル機器に送信する。そして、更新メッセージを受信した各機器は、それらの受信側機器マップを更新するためにマップ要求を送信する。これらの又は様々な他の規則の1つ以上を用いて、受信側機器マップを作成し、更新し、維持管理することができる。
図5は、1つのネットワーク構成500の実施の形態、ノード及びリンクのグラフとして示している。マップの作成の実施の形態については、この図5を参照して、後に説明する。各ノードは、機器を表しており、ノードの各リンクは、2つの機器の直接接続を表している。ノードのそれぞれには、対応する機器を表す文字のラベルを付している。例えば、機器Xは、Xのラベルが付されたノードに対応している。図5において、機器Xは、3つの機器A、B、Cに対する直接接続を有している。機器Xは、無線機器であり、機器Xの通信範囲は、ノードXを中心とする破線の円510によって示されている。機器Xは、通信範囲にある機器とは、直接無線接続を確立することができない。例えば、機器Xの通信範囲には、機器Dがある(破線の円510の外にあるノードDによって示されている)。同様にまた、他の機器は、通信範囲内にある機器と直接接続を確立している。他の構成では、機器の幾つか又は全ては、有線機器であ、他の基準(例えば人為的制限、例えばユーザによって設定されるローカル機器制限)に基づいて、直接接続が制されてい
伝播
マップの作成の一実施の形態では、ピアツーピアネットワーク内の機器は、伝播(propagation)を用いて、マップを作成及び更新する。まず、機器は、マップ要求を成し、マップ要求を各ローカル機器に送信する。マップ要求は、利用可能な機器のマップを要求するものであり、要求を識別する識別子を含んでいる次に、マップ要求を受信した各ローカル機器は、同じマップ要求識別子を用いマップ要求を、それら自体のローカル機器に送信し、一方、マップ要求の送信側機器には、このマップ要求を返すことはなくまた、同じマップ要求識別子を有するマップ要求を既に送信しているとき、このマップ要求を送信しない。こマップ要求を受信した機器は、同様の処理を繰り返し、マップ要求を送信する。マップ要求の送信側機器にマップを返すために、機器は、機器がマップ要求を送信したローカル機器のそれぞれからの応答を待。機器が以前に受信したマップ要求と同じマップ要求識別子を有するマップ要求を受信した場合、機器は、失敗メッセージを返信する。機器がマップ要求を送信できる利用可能なローカル機器を有していない場合(例えば、唯一のローカル機器がマップ要求の送信側である場合)、機器は、その機器のローカル機器リストを、マップ要求の送信側機器に返し、又はローカル機器リストに基づいマップ返す。マップ要求を送信したローカル機器のそれぞれから応答を受信した後(失敗メッセージを返した機器を除く)、機器は、そのマップを作成(又は更新)するために、(存在する場合)受信したマップの情報を、その機器のローカル機器リストに結合する。そして、機器は、マップ要求の送信側機器に新たなマップを返す。この処理は、マップ要求の最初の送信側機器、そのローカル機器からマップを受信し、それのマップを作成するまで繰り返される。
図5を用いて、上述した伝播法を用いてマップを作成する実施の形態を説明する。機器Xは、マップ要求を、そのローカル機器である機器A、B、Cのそれぞれに送信する。機器Aは、マップ要求を、マップ要求の送信側機器である機器Xを除く、そのローカル機器である機器D、Eに送信する。機器Aによって送信されマップ要求は、機器Xによって送信されたマップ要求と同じマップ要求識別子を有するので全てのマップ要求は、機器Xによって送信された最初のマップ要求から伝播されている。機器Dは、機器Aからマップ要求を受信し、マップ要求を機器Eに送信する(機器Dは、機器Aからマップ要求を受信しているので、機器Aにはマップ要求を送信しない)。同様に、機器Eは、マップ要求を機器Dに送信する。機器Dが機器Eからマップ要求を受信したとき、機器Dは、(マップ要求識別子を突き合わせることによって)このマップ要求は、機器Aから受信し、機器Eに送信したマップ要求と同じであることを認識する。したがって、機器Dは、失敗メッセージ(又はマップ要求が既に送信されていることを示す他のメッセージ)を、機器Eに送信する。同様に、機器Eは、機器Dに失敗メッセージを送信する。機器Dは、機器Eから失敗メッセージを受信したとき、(機器Dは、機器Eだけにマップ要求を送信しているので)これ以上未解決の応答pending responses)がない認識する。機器Dは、応答として如何なるマップも受信していないので、そのローカル機器リスト(機器A、Eを示す)を、機器Aからのマップ要求に対する応答として、機器Aに返信する。同様に、機器Eは、そのローカル機器リスト(機器D、Aを示す)を機器Aに返信する。機器Aは、その未解決の全ての応答を受信したことを認識し、受信した応答及びそのローカル機器リストからマップを作成する。機器Aが作成するマップは、機器Dが、機器Aから機器Dまでの接続を介する受信側機器として、利用可能であり、機器Eが、機器Aから機器Eまでの接続を介する受信側機器として、利用可能であり、機器Aが、受信側機器として(例えばD−A、E−A、Aとして)、利用可能であることを示す。2つのマップが同じ機器までの代替パスを提供するとき、より短いパスが使用さる(中間機器の数が多い方が距離が長いとみなされる)。2つのパスが同じ長さのときいずれかのパス選択され、又は両方のパスがマップに入れられるしたがって、機器Aから機器Eまでには直接パスがあるので、機器Aは、機器Dから機器Eまでのパスが利用可能であることを、機器Xに返すそのマップには入れない
機器Bは、機器Xからマップ要求を受信し、マップ要求を機器Cに送信する。しかしながら、機器Cは、既に機器Xからマップ要求を受信しているので失敗メッセージを機器Bに信する。機器Bは、これ以上未解決の応答がなく、如何なるマップも受信していないので、機器X、Cを含むローカル機器リストを機器Xに返す。これに代えて、機器Bは、ローカル機器リストを返信するのではなく、機器Cが、機器Bから機器Cまでの接続を介する受信側機器として、利用可能であり、機器Bが、受信側機器として(例えばC−B、Bとして)、利用可能であることを示すマップを返信する
機器Cは、機器Xからマップ要求を受信し、マップ要求を機器X以外のそのローカル機器である機器B、F、Gに送信する。機器Bは、失敗メッセージを返す。次に、機器Fは、マップ要求を、そのローカル機機器である機器H、I、Gに送信する。機器Gは、マップ要求を、そのローカル機器である機器F、I、J、Kに送信する。このように、機器は、マップ要求伝播することを続け、マップを作成し、返信する。機器Cが、送信したマップ要求に対するその未解決の応答を受信したとき、機器Cは、(上述した記号を用いて表現すると)L−H−F−C、M−H−F−C、H−F−C、I−F−C、J−G−C、K−G−C、F−C、G−C、Cを示すマップを作成する。
機器Xが、機器A、B、Cから未解決の応答を受信したとき、機器Xは、応答と、そのローカル機器リストとを結合しこれらの受信側機器と、パスA、B、C、D−A、E−A、F−C、G−C、H−F−C、I−F−C、J−G−C、K−G−C、L−H−F−C、M−H−F−Cを示すマップを作成する。このマップを用いて、機器は、利用可能な受信側機器を様々な方法、グラフィカルなマップ(例えば接続を示す)として、リスト又は受信側機器として、距離指標有するリスト(例えば、到達するまでの接続数又はカラーコード)として表示することができる。ユーザが受信側機器として機器Hを選択した場合、例えば、機器Xは、機器HまでのパスX−C−F−Hを、機器Hに対する中継メッセージに入れることができる。機器Xが中継メッセージを送信するとき、機器Xは、パス情報を用いて、中継メッセージを機器Cに送信し、他のローカル機器A、Bには送信しない。同様に、機器Cは、(機器B、Gではなく)機器Fに中継メッセージを渡す。
他の実施の形態では、無線機器は、マップの代わりに受信側機器リストを用いる。受信側機器リストは、利用可能な受信側機器を示し、パス情報を(明示的には)示さない。ある種類の受信側機器リストは、受信側機器が、受信側機器リストのオーナに対してローカル機器であるか否かを示す。機器は、上述した伝播法を用いて、マップではなく、受信側機器リストを返信し、機器Xは、機器A、B、C、D、E、F、G、H、I、J、K、L、Mを示す受信側機器リストを作成する。
他の実施の形態では、機器は、冗長パス情報を維持している。機器は、利用可能なパスを示す受信側機器マップを保存し、選択のために受信側機器マップを表示するとき受信側機器マップにフィルタをかけて、冗長なパスを取り除く。受信側機器マップ内の他の機器が利用できなくなった場合、機器は、冗長パス情報を用いて、利用できなくなった機器を介して接続されると示されていた機器までの他のパスを識別する。例えば、図5に示す実施の形態では、機器Iから機器Xまでには、パスI−F−C−XとパスI−G−C−Xの2つのパスがある。受信側機器を選択するために表示する際に、機器Xのフィルタが機器Fを介する第1のパスを選択し場合、機器Gを介する第2のパスは冗長であるので、表示されない。機器Xは、冗長パス情報を保守しているので、機器Fが利用できなくなった場合、機器Xは、利用可能な機器Gを介する第2のパスを表示することができる。
ホップカウント
他の実施の形態では、機器は、マップ要求又はリスト要求をどこまで(幾つの接続を経由して)伝播するかを制限するために、ホップカウントを用い。「ホップ」は、様々定義を用いることができる。1つの定義では、ホップは、2つの機器の接続又はリンクである。図5に示す構成では、機器Xと機器Cの接続は、1ホップである。機器Xと機器Hのパスは、3ホップである。他の定義では、ホップは、パスに沿った2つの中間機器の接続であ。図5に示す構成では、機器Xと機器Hのパスには、1ホップが存在する。機器Xと機器C間には、機器X中間機器ではないので、ホップは存在しない。機器Cと機器F間の接続は、機器C及び機器F中間機器であるのでホップである。機器Fと機器H間の接続は、機器Hが受信側機器であり、中間機器でないので、ホップではない。したがって、機器Xと機器Hのパスのホップカウントは、1である。他の実施の形態ではホップカウントの異なる定義、例えばホップとして最初にカウントした後の全ての接続を用いることができる(この場合、機器Xと機器Hのホップカウントは、2となる)。
ホップカウントが閾値に達したとき、機器は、マップ又はリスト要求を更に送信しない。ホップカウントが3に制限されたリスト要求を用いる実施の形態では、機器は、ホップカウント3に達したとき、リスト要求を送信しない。この3の制限によって、3ホップ以下全ての受信側機器のリストが作成される。ホップカウントは、リスト要求に入れられる。各リンクがホップであるホップの定義を用いる場合、ホップカウントの初期値はであり、ホップカウントは、機器が他の機器にリスト要求を送信したとき、1インクリメントされる(例えば、送信側機器によってインクリメントされる)。図5に示す実施の形態では、機器Xが機器Cにリスト要求を送信したとき、ホップカウントは、1から2にインクリメントされる。また、機器Cが機器Fにリスト要求を送信したとき、ホップカウントは、3にインクリメントされる。ここで、ホップカウントは、制限値である3に達する。したがって、機器Fは、そのローカル機器(機器G、H、I)にリスト要求を送信せず、代わりに、機器Cにローカル機器リストを返す。このパターンに従えば、機器Xが機器A、B、Cに送信したリスト要求N対する未解決の応答を受信したとき、機器Xは、機器A、B、C、D、E、F、G、H、I、J、Kを示すリストを作成する。このリストは、機器Hリスト要求を受信しないので、機器L、Mを含んでいない。
ネットワーク識別子
受信側機器マップ又はリストの作成を制御する他の実施の形態では、ネットワーク識別子を、マップ又はリスト要求に入れる。ネットワークに参加するそれぞれの機器は、同じネットワーク識別子を保存する。機器がマップ又はリスト要求を送信するとき、機器は、ネットワーク識別子を、マップ又はリスト要求に入れる。機器が、それのネットワーク識別子とは異なるネットワーク識別子を示すマップ又はリスト要求を受信した場合、機器は、機器がそのネットワークに参加していないことを示す辞退メッセージ(decline message)を、送信側機器に返す。機器が辞退メッセージを受信したとき、機器は、辞退メッセージを送信した機器を、利用可能な受信側機器のリスト又はマップに入れない。ネットワークへの参加は、サーバによって、又は参加機器の自己調整(例えば、招待又は要求と、受によって管理される。
定期的更新
受信側機器マップ又はリストを作成する他の実施の形態では、機器は、定期的更新を用いて、各ローカル機器に定期的に(又は必要に応じて)それぞれのリストを要求することによって、受信側機器マップ又はリストを作成する。機器は、リスト要求を伝播しない。機器は、その現在の受信側機器リストを、要求側機器に返す。機器は、応答を受信したとき、応答をローカル機器リストに結合することによって、それの受信側機器リストを更新する。この後に機器がローカル機器からリスト要求を受信したとき、機器は、更新した受信側機器リストを返す。このように、各機器の受信側機器リストは、徐々に発達し、利用可能な機器の全てようになる。受信側機器マップについても、同様の手法を用いることができる。受信側機器マップのパス情報を用いて、利用可能な機器の変化を、受信側機器マップに適用することができる。図5に示す実施の形態では、機器Xが完全な受信側機器リスト(機器A〜Mを含む)を有し、機器Cが利用可能ではなくなったことを示す更新を受信した場合、機器Xは、パス情報を用いて機器Cが機器F〜Mまでのリンク提供しているので、機器F〜Mも利用できなくなったと判することができる。一実施の形態では、接続された機器を取り外すことにより、機器新たなマップ要求を送信するようにすることができる(例えば伝播法を用いて)。
他の様々な技術を用いて、受信側機器マップ及びリスト作成及び更新することができる。例えば、他の手法では、無線機器は、定期的に、それのローカル機器リスト又は受信側機器リスト(又はマップ)をブロードキャストし、これに応じて、他の機器が、それぞれの受信側機器リスト及びマップを更新する。他の実施の形態では、サーバは、リスト、マップ及び/又はパスを、ピアツーピア(直接又は中継)である機器間の通信を介して提供する
図6は、中間機器又は中継機器から中継メッセージを送信する処理の実施の形態のフローチャート600を示している。まず、中継通信をサポートする無線機器、ピアツーピアネットワークに参加している。無線機器は、アプリケーションプログラムを実行していてもよく、実行していなくてもよい。無線機器は、(例えばビーコンを用いて)ローカル機器のリストを作成しているとともに、これらのローカル機器に対して直接接続を開始している
ブロック605において、無線機器は、無線機器のローカル機器の1つから中継メッセージを受信する。無線機器は、中継メッセージを、無線機器の無線インタフェースを介して受信する。中継メッセージは、中継メッセージコードを含んでいるので、無線機器は、受信した中継メッセージが中継メッセージであることを認識する。アプリケーションデータを含む中継メッセージの場合、無線機器は、中継メッセージのアプリケーションデータに対応するアプリケーションプログラムのローカルコピー又はローカルバージョンを必ずしも実行せず、中継メッセージに含まれているアプリケーションデータに対応するアプリケーションプログラムとは異なるアプリケーションプログラムを実行してもよい。なお、適切なときに(例えば、無線機器がそのアプリケーションプログラム又は関連するアプリケーションプログラムを実行している場合)、無線機器は、中継メッセージのアプリケーションデータを保存又は使用することができる
ブロック610において、無線機器は、既に中継メッセージを受信しているか調べる。無線機器は、中継メッセージから中継メッセージ識別子を読み出して読み出した中継メッセージ識別子、(に受信された中継メッセージから保存されていた保存されていた中継メッセージ識別子からなる受信中継メッセージリスト比較する。読み出した中継メッセージ識別子が、受信中継メッセージリストに保存されている中継メッセージ識別子と一致する場合、無線機器は、中継メッセージを前に受信していると判定し、中継メッセージを破棄する。一方、受信された中継メッセージ識別子が、受信中継メッセージリスト内のいずれの中継メッセージ識別子とも一致しない場合、無線機器は、この中継メッセージが新たな中継メッセージであると判定し、中継メッセージ識別子を受信中継メッセージリストに追加する。
中継メッセージが新たな中継メッセージである場合、ブロック615において、無線機器は、無線機器が中継メッセージにおいて指示されている受信側機器であるかを調べる。この場合、無線機器は、中継メッセージから受信側機器情報を読み出して、受信側機器情報、無線機器を識別する情報と比較する。無線機器が指示されている受信側機器である場合、無線機器は、中継メッセージを中継せず、中継メッセージのペイロードデータを呼び出して、処理する(例えば、ペイロードデータをアプリケーションデータとして用いて、ゲームアプリケーションプログラムを実行する)。中継メッセージが複数の受信側機器(例えば、無線機器と、少なくとも1つの更なる機器)を示している場合、無線機器は、ペイロードデータを処理し、中継メッセージを送信し、ブロック620に進む。
無線機器が、中継メッセージにおいて指示されている受信側機器ではない場合、ブロック620において、無線機器は、指示されている受信側機器が無線機器のローカル機器であるか否かを調べる。無線機器は、受信側機器情報、無線機器のローカル機器リストと比較する。
受信側機器がローカル機器の1つである場合、ブロック625において、無線機器は、中継メッセージを、無線インタフェースを介して受信側機器に送信する。受信側機器が無線機器のローカル機器の1つでない場合、ブロック630において、無線機器は、中継メッセージを、中継メッセージを無線機器に送信してきたローカル機器を除いて、ローカル機器のそれぞれに送信する。パスを用いる実施の形態では、中継メッセージが、次の中間機器を示すパス情報、したがって、無線機器がどのローカル機器に中継メッセージを送信するかを含む場合、無線機器は、これによって示されている中間機器に中継メッセージを送信する。
図6に示す処理は、一組の中継規則(例えば、同じ中継メッセージを回送信しない)に従って実行される。他の規則の組を用いる(又は1つの規則だけを用いる、又は規則を用いない)実施の形態では、中継メッセージをどのように扱うかを決定する処理は、異なっていてもよい。例えば、一実施の形態においては、中間機器は、中継メッセージを送信する前に、更新された受信側機器マップ又はリストを調べ、示されている受信側機器が現在も利用可能であるかを確認する。他の実施の形態では、中間機器が同じ中継メッセージをまだ送信していない場合、中継メッセージは、常に、(例えば、特定の機器ではなく、通信範囲内の全ての機器に)ブロードキャストされる
本発明は、電気的なハードウェア、コンピュータソフトウェア、又はこれらの組合せによって、様々実現することができる。多くの実施の形態は、プログラミング可能なプロセッサ又はコンピュータによって実行される1以上のコンピュータプログラムを含む。例えば、図1Aに示すように、一実施の形態において、無線機器105は、1つ以上のプログラミング可能なプロセッサ(例えば図2に示すコントローラ220)を備える。通常、各コンピュータは以上のプロセッサと、1以上のデータ記憶装置(例えば、揮発性又は不揮発性メモリモジュール、永続的な光及び磁気記録装置、例えばハードディスクドライブ、フロッピディスクドライブ、CD−ROMドライブ、磁気テープドライブ)と、1以上の入力装置(例えばマウスキーボード)と、1以上の出力装置(例えばディスプレイプリンタ)とを備える。
コンピュータプログラムは、通常、続的な記録媒体(persistent storage medium)に記録されており、実行時にメモリにコピーされる実行可能なコードを含む。プロセッサは、所定の順序でメモリからプログラム命令を読み出すことにより、プログラムコードを実行する。プログラムコードを実行するとき、コンピュータは、入力装置及び/又は記憶装置からデータを受け取り、データを処理し、処理されたデータを出力装置及び/又は記憶装置に供給する。
本発明の様々な実施の形態について説明したが、当業者は、本発明の範囲を逸脱することなく、上述した以外の実施の形態を想到することができる。例えば、無線機器を用いた実施の形態を中心に本発明を説明したが、無線機器又はマルチインタフェース(例えば有線及び無線)機器を用いることができる
更に、ゲームアプリケーションプログラムではなく、他のアプリケーションプログラム、例えば科学的プログラム、通信プログラム等をサポートする中継メッセージを交換することができる。この場合、中継メッセージのペイロードデータは、目的のアプリケーションプログラムの性質(例えば、ネットワーク解析アプリケーションプログラムの最新のネットワーク試験結果)を反映している
したがって、本発明は、上述した実施の形態のみに限定されるわけではない。
ピアツーピアネットワークにおいて通信を行う3つの無線機器を示す図である。 2つの無線機器、ネットワーク機器及びサーバシステムが直接通信及び中継通信を用いて通信を行う他のネットワーク環境を示す図である。 ピアツーピア中継通信をサポートする無線機器の実施の形態のブロック図である。 中継メッセージを送信する処理の一例のフローチャートである。 受信側機器マップを用いて受信側機器を選択する処理の実施の形態のフローチャートである。 ノード及びリンクのグラフとして、1つのネットワーク構成の実施の形態を示す図である。 中間機器又は中継機器から中継メッセージを送信する処理の実施の形態のフローチャートである。

Claims (42)

  1. アンテナと、
    上記アンテナに接続され、該アンテナによって提供される無線接続を介した無線通信をサポートする無線通信インタフェースと、
    データの保存をサポートする記憶装置と、
    上記無線通信インタフェース及び上記記憶装置に接続され、アプリケーションサービスと、メッセージサービスと、中継メッセージ用の中継サービスとをサポートするコントローラとを備え、
    上記無線通信インタフェースは、該無線通信インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求し、
    上記コントローラは、
    (1)上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させ、
    (2)上記利用可能な機器の識別子を、上記送信側機器に受信させ、
    (3)ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成し、
    上記アプリケーションサービスは、上記記憶装置に保存されたアプリケーションデータを用いて、上記コントローラによってアクセス可能な1つ以上のアプリケーションプログラムを実行及び管理し、
    上記メッセージサービスは、メッセージを作成するとともに、受信されたメッセージを処理し、
    上記中継サービスは、当該無線機器が直接無線接続を有さない選択された受信側機器を示す新たな中継メッセージを作成し、該作成された新たな中継メッセージを送信するとともに、当該無線機器以外の受信側機器を示す受信された中継メッセージを送信し、
    上記選択された受信側機器がローカル機器であるとき、当該無線機器からの該選択された受信側機器宛の受信された中継メッセージだけを、上記無線通信インタフェースを介して送信し、他のローカル機器宛の受信された中継メッセージは送信しないことを特徴とする無線機器。
  2. 上記コントローラは、受信側機器選択サービスをサポートし、
    上記受信側機器選択サービスは、
    少なくとも1つの受信側機器のリストを作成し、
    上記リストから受信側機器を選択し、
    上記中継サービスが新たな中継メッセージを作成する際に用いる上記選択された受信側機器は、上記受信側機器選択サービスによって選択された受信側機器であることを特徴とする請求項1記載の無線機器。
  3. 上記受信側機器選択サービスは、上記リストを、要求側機器に送信することを特徴とする請求項2記載の無線機器。
  4. 上記受信側機器選択サービスは、伝播を用いて、上記リストの作成をサポートすることを特徴とする請求項2記載の無線機器。
  5. 上記受信側機器選択サービスは、他の機器からのマップ要求に、少なくとも1つの他の機器に要求を送信することによって、応じることを特徴とする請求項2記載の無線機器。
  6. 上記マップ要求は、ホップカウントを示し、上記受信側機器選択サービスは、該ホップカウントが閾値に達した場合、該マップ要求を送信しないことを特徴とする請求項5記載の無線機器。
  7. 上記マップ要求は、ネットワーク識別子を示し、上記受信側機器選択サービスは、当該無線機器によって保存されている識別子に一致しない該ネットワーク識別子を送信しないことを特徴とする請求項5記載の無線機器。
  8. 上記受信側機器選択サービスは、上記リストを定期的に更新することを特徴とする請求項2記載の無線機器。
  9. 上記受信側機器選択サービスは、上記リストを、1つ以上の更新規則を用いて更新することを特徴とする請求項2記載の無線機器。
  10. 上記コントローラは、受信側機器選択サービスをサポートし、
    上記受信側機器選択サービスは、
    少なくとも1つの受信側機器と、該少なくとも1つの受信側機器と当該無線機器間の接続とのマップを作成し、
    上記マップから受信側機器を選択し、
    上記中継サービスが新たな中継メッセージを作成する際に用いる上記選択された受信側機器は、上記受信側機器選択サービスによって選択された受信側機器であることを特徴とする請求項1記載の無線機器。
  11. 上記作成された新たな中継メッセージは、上記選択された受信側機器と当該無線機器間の間接接続を提供する少なくとも1つの中間機器を示すことを特徴とする請求項10記載の無線機器。
  12. 上記アプリケーションサービスによって実行及び管理される上記1つ以上のアプリケーションプログラムの少なくとも1つは、ゲームアプリケーションプログラムであることを特徴とする請求項1記載の無線機器。
  13. 上記無線通信インタフェースは、Wi−Fiインタフェースであることを特徴とする請求項1記載の無線機器。
  14. ネットワーク接続を介したネットワーク通信をサポートするネットワーク通信インタフェースと、
    データの保存をサポートする記憶装置と、
    上記ネットワーク通信インタフェース及び上記記憶装置に接続され、アプリケーションサービスと、メッセージサービスと、中継メッセージ用の中継サービスとをサポートするコントローラとを備え、
    上記ネットワーク通信インタフェースは、該ネットワーク通信インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求し、
    上記コントローラは、
    (1)上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させ、
    (2)上記利用可能な機器の識別子を、上記送信側機器に受信させ、
    (3)ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成し、
    上記アプリケーションサービスは、上記記憶装置に保存されたアプリケーションデータを用いて、上記コントローラによってアクセス可能な1つ以上のアプリケーションプログラムを実行及び管理し、
    上記メッセージサービスは、メッセージを作成するとともに、受信されたメッセージを処理し、
    上記中継サービスは、当該ネットワーク機器が直接無線接続を有さない選択された受信側機器を示す新たな中継メッセージを作成し、該作成された新たな中継メッセージを送信するとともに、当該ネットワーク機器以外の受信側機器を示す受信された中継メッセージを送信し、
    上記選択された受信側機器がローカル機器であるとき、当該無線機器からの該選択された受信側機器宛の受信された中継メッセージだけを、上記ネットワーク通信インタフェースを介して送信し、他のローカル機器宛の受信された中継メッセージは送信しないことを特徴とするネットワーク機器。
  15. 上記コントローラは、受信側機器選択サービスをサポートし、
    上記受信側機器選択サービスは、
    少なくとも1つの受信側機器のリストを作成し、
    上記リストから受信側機器を選択し、
    上記中継サービスが新たな中継メッセージを作成する際に用いる上記選択された受信側機器は、上記受信側機器選択サービスによって選択された受信側機器であることを特徴とする請求項14記載のネットワーク機器。
  16. 上記コントローラは、受信側機器選択サービスをサポートし、
    上記受信側機器選択サービスは、
    少なくとも1つの受信側機器と、該少なくとも1つの受信側機器と当該ネットワーク機器間の接続とのマップを作成し、
    上記マップから受信側機器を選択し、
    上記中継サービスが新たな中継メッセージを作成する際に用いる上記選択された受信側機器は、上記受信側機器選択サービスによって選択された受信側機器であることを特徴とする請求項14記載のネットワーク機器。
  17. 上記作成された新たな中継メッセージは、上記選択された受信側機器と当該ネットワーク機器間の間接接続を提供する少なくとも1つの中間機器を示すことを特徴とする請求項16記載のネットワーク機器。
  18. 上記アプリケーションサービスによって実行及び管理される上記1つ以上のアプリケーションプログラムの少なくとも1つは、ゲームアプリケーションプログラムであることを特徴とする請求項14記載のネットワーク機器。
  19. アンテナと、
    上記アンテナに接続され、該アンテナによって提供される無線接続を介した無線通信をサポートする無線通信インタフェースと、
    データの保存をサポートする記憶装置と、
    上記記憶装置に接続され、リムーバブル媒体からのゲームアプリケーションプログラムの読出をサポートするメディアインタフェースと、
    上記無線通信インタフェースと、上記記憶装置と、上記メディアインタフェースとに接続され、アプリケーションサービスと、メッセージサービスと、中継メッセージ用の中継サービスと、受信側機器選択サービスとをサポートするコントローラとを備え、
    上記無線通信インタフェースは、該無線通信インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求し、
    上記コントローラは、
    (1)上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させ、
    (2)上記利用可能な機器の識別子を、上記送信側機器に受信させ、
    (3)ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成し、
    上記アプリケーションサービスは、上記記憶装置に保存されたアプリケーションデータを用いて、上記コントローラによってアクセス可能な1つ以上のアプリケーションプログラムを実行及び管理し、
    上記メッセージサービスは、メッセージを作成するとともに、受信されたメッセージを処理し、
    上記中継サービスは、当該無線ゲーム機器が直接無線接続を有さない選択された受信側機器を示す新たな中継メッセージを作成し、該作成された新たな中継メッセージを送信するとともに、当該無線ゲーム機器以外の受信側機器を示す受信された中継メッセージを送信し、
    上記受信側機器選択サービスは、少なくとも1つの受信側機器と、該少なくとも1つの受信側機器と当該無線ゲーム機器間の接続とのマップを作成し、該マップから受信側機器を選択し、
    上記中継サービスが新たな中継メッセージを作成する際に用いる上記選択された受信側機器は、上記受信側機器選択サービスによって選択された受信側機器であり、
    上記無線通信インタフェースは、Wi−Fiインタフェースであり、
    上記選択された受信側機器がローカル機器であるとき、当該無線ゲーム機器からの該選択された受信側機器宛の受信された中継メッセージだけを、上記無線通信インタフェースを介して送信し、他のローカル機器宛の受信された中継メッセージは送信しないことを特徴とする無線ゲーム機器。
  20. 中継メッセージを送信する中継メッセージ送信方法において、
    無線インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求するステップと、
    上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させるステップと、
    上記利用可能な機器の識別子を、上記送信側機器に返すステップと、
    ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成するステップと、
    上記送信側機器において、上記中継メッセージの受信側機器を選択するステップと、
    上記選択された受信側機器を示す受信側機器識別子を含む上記中継メッセージを作成するステップと、
    上記中継メッセージを、上記無線インタフェースを介して少なくとも1つのローカル機器に送信するステップとを有し、
    上記送信側機器は、上記少なくとも1つのローカル機器のそれぞれに対する直接接続を有し、
    上記送信側機器は、上記受信側機器に対する直接接続を有さず、
    上記受信側機器は、サーバによって提供されるリストから選択されることを特徴とする中継メッセージ送信方法。
  21. 少なくとも1つの受信側機器のリストを作成するステップを更に有し、
    上記受信側機器を選択するステップは、
    上記リストから上記受信側機器を選択するステップを含むことを特徴とする請求項20記載の中継メッセージ送信方法。
  22. 上記少なくとも1つの受信側機器のリストを作成するステップは、
    サーバから少なくとも1つの機器のリストを受信するステップを含むことを特徴とする請求項21記載の中継メッセージ送信方法。
  23. 上記少なくとも1つの受信側機器のリストを作成するステップは、
    リスト要求を、少なくとも1つのローカル機器に送信するステップを含むことを特徴とする請求項21記載の中継メッセージ送信方法。
  24. 少なくとも1つの受信側機器と、該少なくとも1つの受信側機器と上記送信側機器間の接続とのマップを作成するステップを更に有し、
    上記受信側機器を選択するステップは、
    上記マップから受信側機器を選択するステップを含むことを特徴とする請求項20記載の中継メッセージ送信方法。
  25. 上記少なくとも1つの受信側機器のマップを作成するステップは、
    サーバからマップを受信するステップを含むことを特徴とする請求項24記載の中継メッセージ送信方法。
  26. 上記少なくとも1つの受信側機器のマップを作成するステップは、
    マップ要求を、少なくとも1つのローカル機器に送信するステップを含むことを特徴とする請求項24記載の中継メッセージ送信方法。
  27. 上記中継メッセージを送信するステップは、
    上記中継メッセージを、上記無線インタフェースを介してブロードキャストするステップを含むことを特徴とする請求項20記載の中継メッセージ送信方法。
  28. 上記中継メッセージは、上記送信側機器と上記選択された受信側機器間の少なくとも1つの中間機器を示すパス情報を含むことを特徴とする請求項20記載の中継メッセージ送信方法。
  29. 上記中継メッセージは、複数の受信側機器を示すことを特徴とする請求項20記載の中継メッセージ送信方法。
  30. 少なくとも1つのローカル機器を示すローカル機器リストを調べて、上記選択された受信側機器がローカル機器であるかを判定するステップを更に有する請求項20記載の中継メッセージ送信方法。
  31. 上記中継メッセージは、ゲームアプリケーションデータを含むことを特徴とする請求項20記載の中継メッセージ送信方法。
  32. 中継メッセージを送信する中継メッセージ送信方法において、
    無線インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求するステップと、
    上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させるステップと、
    上記利用可能な機器の識別子を、上記送信側機器に返すステップと、
    ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成するステップと、
    上記送信側機器から上記無線インタフェースを介して中継機器において、受信側機器を示す受信側機器識別子を含むとともに、アプリケーションプログラムのアプリケーションデータを含む中継メッセージを受信するステップと、
    上記中継メッセージを調べて、上記中継機器が上記受信側機器であるかを判定し、該中継機器が該受信側機器であるとき、該中継機器は、該中継メッセージを送信しないステップと、
    上記中継機器が上記受信側機器でないとき、少なくとも1つのローカル機器を示す上記ローカル機器リストを調べて、上記受信側機器がローカル機器であるかを判定するステップと、
    上記受信側機器がローカル機器であるとき、上記中継機器からの該受信側機器宛の中継メッセージだけを、上記無線インタフェースを介して該受信側機器に送信するステップと、
    上記受信側機器がローカル機器でないとき、上記中継機器からの上記ローカル機器リストに含まれている少なくとも1つのローカル機器宛の中継メッセージを、上記無線インタフェースを介して送信するステップとを有し、
    上記送信側機器は、上記中継機器に対する直接接続を有し、
    上記中継機器は、上記ローカル機器リストに示された各ローカル機器に対する直接接続を有し、
    上記送信側機器は、上記受信側機器に対する直接接続を有さないことを特徴とする中継メッセージ送信方法。
  33. 上記中継機器からの受信側機器宛の中継メッセージを送信するステップは、
    上記中継メッセージを、上記無線インタフェースを介してブロードキャストするステップを含むことを特徴とする請求項32記載の中継メッセージ送信方法。
  34. 上記中継機器からの少なくとも1つのローカル機器宛の中継メッセージを送信するステップは、
    上記中継メッセージを、上記送信側機器を除く、上記ローカル機器リスト内の各ローカル機器に送信するステップを含むことを特徴とする請求項32記載の中継メッセージ送信方法。
  35. 上記中継メッセージは、少なくとも1つの中間機器を含むパスを示し、
    上記中継機器からの少なくとも1つのローカル機器宛の中継メッセージを送信するステップは、
    上記中継メッセージを、上記パスによって示される中間機器に送信するステップを含むことを特徴とする請求項32記載の中継メッセージ送信方法。
  36. 上記アプリケーションデータは、ゲームアプリケーションデータであることを特徴とする請求項32記載の中継メッセージ送信方法。
  37. 上記中継機器は、上記中継メッセージに含まれる上記アプリケーションデータに対応する上記アプリケーションプログラムのローカルコピーを実行しないことを特徴とする請求項32記載の中継メッセージ送信方法。
  38. 上記中継機器は、上記中継メッセージに含まれる上記アプリケーションデータに対応する上記アプリケーションプログラムとは異なるアプリケーションのローカルコピーを実行することを特徴とする請求項32記載の中継メッセージ送信方法。
  39. 中継メッセージを送信する中継メッセージ送信システムにおいて、
    無線インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求する手段と、
    上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させる手段と、
    上記利用可能な機器の識別子を、上記送信側機器に返す手段と、
    ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成する手段と、
    上記送信側機器において、上記中継メッセージの受信側機器を選択する手段と、
    上記選択された受信側機器を示す受信側機器識別子を含む上記中継メッセージを作成する手段と、
    上記中継メッセージを、上記無線インタフェースを介して少なくとも1つのローカル機器に送信する手段とを備え、
    上記送信側機器は、上記少なくとも1つのローカル機器のそれぞれに対する直接接続を有し、
    上記選択された受信側機器がローカル機器であるとき、上記送信側機器からの該選択された受信側機器宛の中継メッセージだけを、上記無線インタフェースを介して送信し、他のローカル機器宛の中継メッセージを送信しないことを特徴とする中継メッセージ送信システム。
  40. コンピュータで実行可能なインストラクションからなるプログラムを記録したコンピュータで読取り可能な媒体において、
    上記プログラムは、上記コンピュータに、
    無線インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求するステップと、
    上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させるステップと、
    上記利用可能な機器の識別子を、上記送信側機器に返すステップと、
    ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成するステップと、
    上記送信側機器において、上記中継メッセージの受信側機器を選択するステップと、
    上記選択された受信側機器を示す受信側機器識別子を含む上記中継メッセージを作成するステップと、
    上記中継メッセージを、上記無線インタフェースを介して少なくとも1つのローカル機器に送信するステップとを実行させ、
    上記送信側機器は、上記少なくとも1つのローカル機器のそれぞれに対する直接接続を有し、
    上記受信側機器がローカル機器であるとき、上記送信側機器からの該受信側機器宛の中継メッセージだけを、上記無線インタフェースを介して送信し、他のローカル機器宛の中継メッセージを送信しないことを特徴とする媒体。
  41. 中継メッセージを送信する中継メッセージ送信システムにおいて、
    無線インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求する手段と、
    上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させる手段と、
    上記利用可能な機器の識別子を、上記送信側機器に返す手段と、
    ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成する手段と、
    上記送信側機器から上記無線インタフェースを介して中継機器において、受信側機器を示す受信側機器識別子を含むとともに、アプリケーションプログラムのアプリケーションデータを含む中継メッセージを受信する手段と、
    上記中継メッセージを調べて、上記中継機器が上記受信側機器であるかを判定し、該中継機器が該受信側機器であるとき、該中継機器は、該中継メッセージを送信しない手段と、
    上記受信側機器がローカル機器でないとき、少なくとも1つのローカル機器を示す上記ローカル機器リストを調べて、上記受信側機器がローカル機器であるかを判定する手段と、
    上記受信側機器がローカル機器であるとき、上記中継機器からの該受信側機器宛の中継メッセージだけを、上記無線インタフェースを介して送信し、他のローカル機器宛の中継メッセージは送信しない手段と、
    上記受信側機器がローカル機器でないとき、上記中継機器からの上記ローカル機器リストに含まれている少なくとも1つのローカル機器宛の中継メッセージを、上記無線インタフェースを介して送信する手段とを備え、
    上記送信側機器は、上記中継機器に対する直接接続を有し、
    上記中継機器は、上記ローカル機器リストに示された各ローカル機器に対する直接接続を有し、
    上記送信側機器は、上記受信側機器に対する直接接続を有さないことを特徴とする中継メッセージ送信システム。
  42. コンピュータで実行可能なインストラクションからなるプログラムを記録したコンピュータで読取り可能な媒体において
    上記プログラムは、上記コンピュータに、
    無線インタフェースを介して送信側機器の範囲内にあるローカル機器に接続して、利用可能な機器の識別子を要求するステップと、
    上記ローカル機器によって、上記利用可能な機器の識別子の要求をピアツーピアネットワークを介して伝播させるステップと、
    上記利用可能な機器の識別子を、上記送信側機器に返すステップと、
    ローカル機器リスト内の上記ローカル機器の識別子を含む利用可能な機器のリストを作成するステップと、
    上記送信側機器から上記無線インタフェースを介して受信された、受信側機器を示す受信側機器識別子を含むとともに、アプリケーションプログラムのアプリケーションデータを含む中継メッセージを、中継機器で処理するステップと、
    上記中継メッセージを調べて、上記中継機器が上記受信側機器であるかを判定し、該中継機器が該受信側機器であるとき、該中継機器は、該中継メッセージを送信しないステップと、
    上記受信側機器がローカル機器でないとき、少なくとも1つのローカル機器を示す上記ローカル機器リストを調べて、上記受信側機器がローカル機器であるかを判定するステップと、
    上記受信側機器がローカル機器であるとき、上記中継機器からの該受信側機器宛の中継メッセージを、上記無線インタフェースを介して送信し、他のローカル機器宛の中継メッセージは送信しないステップと、
    上記受信側機器がローカル機器でないとき、上記中継機器からの上記ローカル機器リストに含まれている少なくとも1つのローカル機器宛の中継メッセージを、上記無線インタフェースを介して送信するステップとを実行させ、
    上記送信側機器は、上記中継機器に対する直接接続を有し、
    上記中継機器は、上記ローカル機器リストに示された各ローカル機器に対する直接接続を有し、
    上記送信側機器は、上記受信側機器に対する直接接続を有さないことを特徴とする媒体。
JP2007537868A 2004-10-20 2005-03-02 無線機器、ネットワーク機器、無線ゲーム機器、中継メッセージ送信方法 Expired - Fee Related JP4856084B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/970,120 US7792988B2 (en) 2003-10-20 2004-10-20 Peer-to-peer data relay
US10/970,120 2004-10-20
PCT/US2005/006896 WO2006043963A1 (en) 2004-10-20 2005-03-02 Peer-to-peer data relay

Publications (2)

Publication Number Publication Date
JP2008517554A JP2008517554A (ja) 2008-05-22
JP4856084B2 true JP4856084B2 (ja) 2012-01-18

Family

ID=34964376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007537868A Expired - Fee Related JP4856084B2 (ja) 2004-10-20 2005-03-02 無線機器、ネットワーク機器、無線ゲーム機器、中継メッセージ送信方法

Country Status (5)

Country Link
US (4) US7792988B2 (ja)
EP (1) EP1803272B1 (ja)
JP (1) JP4856084B2 (ja)
TW (3) TWI514816B (ja)
WO (1) WO2006043963A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015098666A1 (ja) 2013-12-27 2015-07-02 ソニー株式会社 端末装置、データ送信方法およびデータ転送方法
US10243645B2 (en) 2013-12-26 2019-03-26 Sony Corporation Terminal device, method for allowing terminal device to participate in relay transfer, and method for inviting terminal device to relay transfer

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3570178B1 (en) 2002-01-08 2020-05-27 Seven Networks, LLC Secure transport for mobile communication network
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7917468B2 (en) * 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
TW200420025A (en) * 2003-03-25 2004-10-01 Gemtek Technology Co Ltd Wireless network architecture
KR100677108B1 (ko) * 2003-06-12 2007-02-01 삼성전자주식회사 정보 저장매체
US8639819B2 (en) 2004-02-05 2014-01-28 Nokia Corporation Ad-hoc connection between electronic devices
US7983670B1 (en) * 2004-03-18 2011-07-19 Verizon Corporate Services Group Inc. Wireless fallback for subscribers of wirelined networks
JP2006109296A (ja) * 2004-10-08 2006-04-20 Canon Inc デジタルカメラ及びデジタルカメラの制御方法
WO2006045102A2 (en) 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US7796742B1 (en) 2005-04-21 2010-09-14 Seven Networks, Inc. Systems and methods for simplified provisioning
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8069166B2 (en) 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
JP2007048150A (ja) * 2005-08-11 2007-02-22 Ricoh Co Ltd 無線通信装置、無線通信方法、無線通信プログラム、および該プログラムを記録した記録媒体
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US20080130630A1 (en) * 2006-07-07 2008-06-05 Matsushita Electric Industrial Co. Ltd. Secure peer to peer messaging service
JP4924211B2 (ja) * 2007-01-23 2012-04-25 横河電機株式会社 無線ネットワーク構築方法及び無線ノード設置支援端末
US8806027B2 (en) * 2007-02-14 2014-08-12 Microsoft Corporation Nearby media device tracking
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8601156B2 (en) * 2007-07-06 2013-12-03 Qualcomm Incorporated Methods and apparatus related to peer discovery and/or paging in peer to peer wireless communications
US8385317B2 (en) 2007-07-06 2013-02-26 Qualcomm Incorporated Methods and apparatus supporting multiple timing synchronizations corresponding to different communications peers
US8599823B2 (en) * 2007-07-06 2013-12-03 Qualcomm Incorporated Communications methods and apparatus related to synchronization with respect to a peer to peer timing structure
US8385316B2 (en) * 2007-07-06 2013-02-26 Qualcomm Incorporated Methods and apparatus related to peer to peer communications timing structure
US8706145B2 (en) * 2007-07-10 2014-04-22 Qualcomm Incorporated Multihop paging of a peer in a peer-to-peer communication network
US8320398B2 (en) * 2007-07-10 2012-11-27 Qualcomm Incorporated Paging a peer in a peer-to-peer communication network
US9770655B2 (en) * 2007-10-01 2017-09-26 Disney Enterprises, Inc. Mesh synchronization
US20100293227A1 (en) * 2007-10-02 2010-11-18 Phonak Ag Hearing system, method for operating a hearing system, and hearing system network
KR100943174B1 (ko) * 2007-11-30 2010-02-19 한국전자통신연구원 중계확률 기반의 무선 네트워크에서 메시지 전달 방법
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
JP4475329B2 (ja) * 2007-12-27 2010-06-09 沖電気工業株式会社 無線通信装置、方法及びプログラム、並びに無線ネットワーク
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US20090298419A1 (en) * 2008-05-28 2009-12-03 Motorola, Inc. User exchange of content via wireless transmission
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
JP5475678B2 (ja) 2008-11-17 2014-04-16 株式会社ソニー・コンピュータエンタテインメント 無線通信端末、その制御方法、及び情報記憶媒体
US9609513B2 (en) 2009-03-03 2017-03-28 Mobilitie, Llc System and method for device authentication in a dynamic network using wireless communication devices
US8995923B2 (en) * 2009-03-03 2015-03-31 Mobilitie, Llc System and method for management of a dynamic network using wireless communication devices
US8320954B2 (en) * 2009-07-31 2012-11-27 Research In Motion Limited System and method for enabling messages to be sent while a mobile device is out-of-coverage
EP2282604B1 (en) * 2009-07-31 2012-03-07 Research In Motion Limited System and method for enabling messages to be sent while a mobile device is out-of-coverage
US9949305B2 (en) * 2009-10-02 2018-04-17 Blackberry Limited Methods and apparatus for peer-to-peer communications in a wireless local area network
US8639242B2 (en) * 2009-10-07 2014-01-28 Qualcomm Incorporated Methods and systems for registrations and service announcements in peer-to-peer networks via cellular overlays
JP4894076B2 (ja) * 2009-11-10 2012-03-07 横河電機株式会社 中継装置及びこれを用いた無線制御ネットワーク管理システム
US8560633B2 (en) * 2010-01-11 2013-10-15 Tangome, Inc. Communicating in a peer-to-peer computer environment
US20110223953A1 (en) * 2010-03-15 2011-09-15 Lg Electronics Inc. Apparatus for direct communication in a wireless system and method thereof
US9043731B2 (en) 2010-03-30 2015-05-26 Seven Networks, Inc. 3D mobile user interface with configurable workspace management
JP5865358B2 (ja) 2010-06-04 2016-02-17 ボード・オブ・リージエンツ,ザ・ユニバーシテイ・オブ・テキサス・システム 無線通信方式、システムおよびコンピュータプログラム製品
GB2497012B (en) 2010-07-26 2013-10-30 Seven Networks Inc Mobile network traffic coordination across multiple applications
EP2599345B1 (en) 2010-07-26 2017-09-06 Seven Networks, LLC Distributed implementation of dynamic wireless traffic policy
EP2599280A2 (en) 2010-07-26 2013-06-05 Seven Networks, Inc. Mobile application traffic optimization
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
WO2012016187A2 (en) 2010-07-30 2012-02-02 Board Of Regents Distributed rate allocation and collision detection in wireless networks
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
EP2635973A4 (en) 2010-11-01 2014-01-15 Seven Networks Inc TO THE BEHAVIOR OF A MOBILE APPLICATION AND INTERMEDIATE STORAGE TAILORED TO NETWORK CONDITIONS
US8190701B2 (en) 2010-11-01 2012-05-29 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
WO2012060997A2 (en) 2010-11-01 2012-05-10 Michael Luna Application and network-based long poll request detection and cacheability assessment therefor
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US9198203B2 (en) * 2010-11-09 2015-11-24 Cisco Technology, Inc. System and method for routing critical communications
WO2012071384A2 (en) 2010-11-22 2012-05-31 Michael Luna Optimization of resource polling intervals to satisfy mobile device requests
US20120158991A1 (en) * 2010-12-21 2012-06-21 Sandhya Rani Ajjaguttu Mobile Device as a Relay Server in a Mobility Service Platform
US9325662B2 (en) 2011-01-07 2016-04-26 Seven Networks, Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
WO2012122508A2 (en) * 2011-03-09 2012-09-13 Board Of Regents Network routing system, method, and computer program product
US20120271903A1 (en) 2011-04-19 2012-10-25 Michael Luna Shared resource and virtual resource management in a networked environment
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8326260B1 (en) * 2011-05-18 2012-12-04 Radius Networks, Inc. System and method for managing communications over a wireless network during an emergency
US9239800B2 (en) 2011-07-27 2016-01-19 Seven Networks, Llc Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
JP5861025B2 (ja) * 2011-09-16 2016-02-16 富士通株式会社 基地局装置、通信システム及びデータ配信方法
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US8977755B2 (en) 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
WO2013103988A1 (en) 2012-01-05 2013-07-11 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
GB201201915D0 (en) * 2012-02-03 2012-03-21 Nec Corp Mobile communications device and system
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US20130268656A1 (en) 2012-04-10 2013-10-10 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
KR101995802B1 (ko) * 2012-05-15 2019-07-03 삼성전자주식회사 무선통신 네트워크에서 인접 노드들을 디스커버리하기 위한 방법 및 장치
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US20140025738A1 (en) * 2012-07-23 2014-01-23 Tarun Anand System and method for communicating data to multiple communication devices
US9167615B2 (en) 2012-08-08 2015-10-20 Samsung Electronics Co., Ltd Apparatus and method of connecting service, according to user intention
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
CN102938731B (zh) * 2012-11-22 2015-01-21 北京锐易特软件技术有限公司 一种基于代理缓存适配模型的交换集成装置及方法
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US20150138991A1 (en) * 2013-11-19 2015-05-21 Qualcomm Incorporated Relay capable wireless apparatuses
US9451531B2 (en) 2013-11-20 2016-09-20 At&T Mobility Ii Llc Method and system for managing wireless access to a communication system
US8743758B1 (en) 2013-11-27 2014-06-03 M87, Inc. Concurrent uses of non-cellular interfaces for participating in hybrid cellular and non-cellular networks
SG11201604773SA (en) 2013-12-13 2016-07-28 M87 Inc Methods and systems of secure connections for joining hybrid cellular and non-cellular networks
TWI548243B (zh) * 2014-06-13 2016-09-01 物聯智慧科技(深圳)有限公司 點對點傳輸方法與網路連線裝置
KR102274950B1 (ko) * 2014-09-11 2021-07-08 삼성전자주식회사 무선 통신 시스템에서 다중 망 접속을 위한 장치 및 방법
CN104577542A (zh) * 2014-12-20 2015-04-29 江门市江海区金龙辉电器有限公司 一种无线中继多功能插座
CN105786727A (zh) * 2014-12-22 2016-07-20 中兴通讯股份有限公司 一种应用与外设的兼容方法及装置
US10339382B2 (en) * 2015-05-31 2019-07-02 Fieldbit Ltd. Feedback based remote maintenance operations
CN106453446A (zh) * 2015-08-06 2017-02-22 阿里巴巴集团控股有限公司 一种物联网设备连接方法、装置、及***
JP6544184B2 (ja) * 2015-09-30 2019-07-17 富士通株式会社 データ通信制御方法、情報処理装置、プログラム及びデータ通信制御システム
AU2017274088A1 (en) * 2016-06-02 2019-01-24 BQ Media Lab Pty Ltd A system and method of providing a game
US11445303B2 (en) 2020-10-16 2022-09-13 Harman International Industries, Incorporated Omnidirectional loudspeaker and compression driver therefor
US11792147B2 (en) * 2021-11-29 2023-10-17 Aidan Lok Communications networks

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4787051A (en) * 1986-05-16 1988-11-22 Tektronix, Inc. Inertial mouse system
US5128671A (en) * 1990-04-12 1992-07-07 Ltv Aerospace And Defense Company Control device having multiple degrees of freedom
US5528265A (en) * 1994-07-18 1996-06-18 Harrison; Simon J. Orientation-operated cursor control device
CA2129199C (en) * 1994-07-29 1999-07-20 Roger Y.M. Cheung Method and apparatus for bridging wireless lan to a wired lan
CA2129197C (en) * 1994-07-29 1999-11-09 Roger Y.M. Cheung Method and apparatus for connecting a wireless lan to a wired lan
SE504846C2 (sv) * 1994-09-28 1997-05-12 Jan G Faeger Styrutrustning med ett rörligt styrorgan
US5768531A (en) * 1995-03-27 1998-06-16 Toshiba America Information Systems Apparatus and method for using multiple communication paths in a wireless LAN
US5898679A (en) * 1996-12-30 1999-04-27 Lucent Technologies Inc. Wireless relay with selective message repeat and method of operation thereof
EP0913965A1 (en) 1997-11-03 1999-05-06 Canon Kabushiki Kaisha Reduction of the message traffic in a distributed network
JP3859369B2 (ja) * 1998-09-18 2006-12-20 株式会社東芝 メッセージ中継装置及び方法
US6667972B1 (en) * 1999-01-08 2003-12-23 Cisco Technology, Inc. Method and apparatus providing multi-service connections within a data communications device
US6640241B1 (en) * 1999-07-19 2003-10-28 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager
US6375572B1 (en) * 1999-10-04 2002-04-23 Nintendo Co., Ltd. Portable game apparatus with acceleration sensor and information storage medium storing a game progam
EP1107508A1 (en) 1999-12-06 2001-06-13 Telefonaktiebolaget Lm Ericsson System, method and computer program product for sending broadcast messages
FI109950B (fi) * 2000-01-20 2002-10-31 Nokia Corp Osoitteen saanti
US20010044339A1 (en) 2000-02-17 2001-11-22 Angel Cordero Multi-player computer game, system and method
US20020119821A1 (en) 2000-05-12 2002-08-29 Sanjoy Sen System and method for joining a broadband multi-user communication session
AU2001277241A1 (en) 2000-07-31 2002-02-13 The Boeing Company Broadcasting network
US7403980B2 (en) 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
US20020085097A1 (en) * 2000-12-22 2002-07-04 Colmenarez Antonio J. Computer vision-based wireless pointing system
US7197565B2 (en) * 2001-01-22 2007-03-27 Sun Microsystems, Inc. System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection
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
US20030115251A1 (en) 2001-02-23 2003-06-19 Fredrickson Jason A. Peer data protocol
GB0108056D0 (en) * 2001-03-30 2001-05-23 British Telecomm A communications system
US7346015B2 (en) * 2001-06-29 2008-03-18 British Telecommunications Public Limited Company Method and apparatus for routing data with support for changing mobility requirements
US20030027634A1 (en) * 2001-08-03 2003-02-06 Matthews William F. Portable wireless game device and method for influencing an application executable from a fixed-location platform
US7120429B2 (en) * 2001-08-13 2006-10-10 Qualcomm Inc. System and method for licensing applications on wireless devices over a wireless network
US6915305B2 (en) * 2001-08-15 2005-07-05 International Business Machines Corporation Restructuring view maintenance system and method
US7493363B2 (en) 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
US6724195B2 (en) * 2002-03-29 2004-04-20 Jerome R. Lurtz Contact sensor
JP4080785B2 (ja) * 2002-04-30 2008-04-23 パイオニア株式会社 情報提供装置及び情報提供方法
JP2003333079A (ja) * 2002-05-16 2003-11-21 Skyley Networks:Kk ワイヤレスネットワークにおいてマルチホップピア・ツー・ピア通信を行うための方法及び配信サーバ
US20030227939A1 (en) * 2002-06-05 2003-12-11 Satoru Yukie Establishing a connection using a hybrid receiver
GB2395091A (en) * 2002-11-06 2004-05-12 Nokia Corp Connection set-up to facilitate global mobile communications roaming over a packet switching network
US6914700B2 (en) * 2003-04-17 2005-07-05 Lexmark International, Inc. Method for reducing migrating residual error in error diffusion halftoning
US20040212589A1 (en) * 2003-04-24 2004-10-28 Hall Deirdre M. System and method for fusing and displaying multiple degree of freedom positional input data from multiple input sources
US7451490B2 (en) * 2003-08-01 2008-11-11 Microsoft Corporation Media data protection with secure installer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10243645B2 (en) 2013-12-26 2019-03-26 Sony Corporation Terminal device, method for allowing terminal device to participate in relay transfer, and method for inviting terminal device to relay transfer
WO2015098666A1 (ja) 2013-12-27 2015-07-02 ソニー株式会社 端末装置、データ送信方法およびデータ転送方法
US10212575B2 (en) 2013-12-27 2019-02-19 Sony Corporation Terminal device, data transmission method, and data transfer method

Also Published As

Publication number Publication date
US7949784B2 (en) 2011-05-24
US20100223347A1 (en) 2010-09-02
EP1803272B1 (en) 2012-09-26
TWI321413B (en) 2010-03-01
EP1803272A1 (en) 2007-07-04
US7792988B2 (en) 2010-09-07
WO2006043963A1 (en) 2006-04-27
TWI404376B (zh) 2013-08-01
TWI514816B (zh) 2015-12-21
JP2008517554A (ja) 2008-05-22
US20080222250A1 (en) 2008-09-11
US7747775B2 (en) 2010-06-29
TW200614733A (en) 2006-05-01
TW201347464A (zh) 2013-11-16
US20080228877A1 (en) 2008-09-18
US20050108427A1 (en) 2005-05-19
US7725599B2 (en) 2010-05-25
TW201001988A (en) 2010-01-01

Similar Documents

Publication Publication Date Title
JP4856084B2 (ja) 無線機器、ネットワーク機器、無線ゲーム機器、中継メッセージ送信方法
JP4374022B2 (ja) ピアツーピアリレーネットワーク
EP1759500B1 (en) Network participant status evaluation
US8010488B2 (en) Information distribution system, information processing device and memory medium
JP6336732B2 (ja) 通信システム、通信機器、プログラム及び通信方法
JP2010503277A (ja) 複数のアクティブな通信グループ間における階層的ポイント・ツー・マルチポイントのグループ通信
JP6451642B2 (ja) 中継装置、音声通信システム、プログラムおよび音声信号の中継方法
JP2004215064A (ja) 端末装置および方法、記録媒体、並びにプログラム
US8010633B2 (en) Multiple peer-to-peer relay networks
JP6477489B2 (ja) 中継装置、音声通信システム、プログラムおよび中継方法
JP6836085B2 (ja) 無線アクセスポイント
JP3872051B2 (ja) コンテンツの検索と配信を行うシステムと方法、及びプログラム
JP7423162B2 (ja) カラオケシステムのサーバ装置
Bottazzi et al. Context-Aware group communication in mobile ad-hoc networks
KR20050024896A (ko) 모바일 애드 혹 네트워크를 이용한 정보 수집 시스템 및방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110425

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110506

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110721

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111027

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

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4856084

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

LAPS Cancellation because of no payment of annual fees