JP2014509156A - グループオーナの再交渉を有するピアツーピアグループ - Google Patents

グループオーナの再交渉を有するピアツーピアグループ Download PDF

Info

Publication number
JP2014509156A
JP2014509156A JP2013557778A JP2013557778A JP2014509156A JP 2014509156 A JP2014509156 A JP 2014509156A JP 2013557778 A JP2013557778 A JP 2013557778A JP 2013557778 A JP2013557778 A JP 2013557778A JP 2014509156 A JP2014509156 A JP 2014509156A
Authority
JP
Japan
Prior art keywords
group
peer
message
computing device
devices
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.)
Pending
Application number
JP2013557778A
Other languages
English (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014509156A publication Critical patent/JP2014509156A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • 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
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

コンピューティング装置は、既存のピアツーピアグループ内の装置の役割を選択的に再交渉する。グループが形成されるとき、該グループを制御する装置を選択するために、装置は他の装置と交渉しても良い。グループの動作中、該グループ内の装置は再交渉を開始しても良い。この再交渉の結果、該グループを制御する別の装置が選択されても良い。再交渉は、再交渉の要求を示す情報要素を含むメッセージによりトリガされても良い。このようなメッセージは、装置又はグループ内の他の装置を制御することにより送信されても良く、装置の状態に基づき送信されても良い。状態は、装置の電源に関連しても良い。したがって、電源に接続されるクライアント又は低バッテリ電力で動作している制御装置は、再交渉を要求しても良い。

Description

今日、多くのコンピュータは、無線通信に対応するために無線通信機を有する。無線通信は、例えばネットワークのアクセスポイントに接続するために用いられる。アクセスポイントに繋がることにより、無線コンピュータは、ネットワークに存在する装置に又は該ネットワークを通じて到達可能なインターネットのような他のネットワークにアクセスできる。その結果、無線コンピュータは、多くの他の装置とデータを交換でき、多くの有用な機能を有効にできる。
コンピュータをアクセスポイントと関連付けるよう構成するために、通常、アクセスポイントは標準規格に従って動作する。アクセスポイントに接続する装置のための一般的な標準規格は、WiFiと呼ばれる。この標準規格は、Wi-Fi Allianceにより発布され、ポータブルコンピュータで広く用いられている。この標準規格には複数のバージョンがあるが、いずれもアクセスポイントを通じた接続に対応するために用いることができる。
無線通信は、アクセスポイントを用いずに、他の装置に直接接続を形成するためにも用いられ得る。これらの接続は、屡々「ピアツーピア」接続と呼ばれ、例えばコンピュータにマウス又はキーボードと無線で接続させるために用いられ得る。これらの直接接続のための無線通信も標準化されている。このような無線通信のための一般的な標準規格は、Bluetooth(登録商標)と呼ばれる。
幾つかの例では、無線コンピュータは、アクセスポイントを通じて及びピアツーピア通信を行っているグループの一部として複数の他の装置に同時に接続できる。このような同時通信に対応するために、幾つかのコンピュータは複数の無線通信機を有する。さらに最近では、WiFi Directと呼ばれる標準規格が提案されている。これは、単一の無線通信機で処理できる同様の無線通信を有するピアツーピアグループの一部としてインフラストラクチャ接続及び通信の両方を可能にする。この標準規格は、Wi-Fi Allianceにより公布され、インフラストラクチャに基づく通信のための良く知られているWi-Fi通信を、直接接続に対応するよう拡張する。
このような直接接続は、装置グループ間で形成されても良い。Wi-Fi Direct標準規格によると、通信を望む装置は、動作フレームとしてフォーマット化されたメッセージを交換してグループを形成しても良い。この動作フレームの交換の一部として、装置は、グループを制御するために、複数の装置のうちの1つを特定する。例えば、グループを制御する装置は、どの装置が該グループに認められているかを決定しても良い。さらに、制御装置は、グループ内の他の各装置と通信でき、任意的にグループ内のある装置からのメッセージを別の装置へ転送しても良い。
Wi-Fi Direct標準規格によると、制御装置はグループオーナ(Group Owner)と呼ばれる。グループオーナは、グループが形成されるときに交渉基準に基づき選択される。各装置は、動作フレームの一部として、グループオ―ナになりたいという自身の要望を示す値を送信しても良い。最高値を伝達している装置は、グループ内の全ての装置により、グループオーナとして認識され得る。他の装置は、グループオーナのクライアントの役割に就く。
ピアツーピアグループを確立するために無線装置により用いられるピアツーピア通信プロトコルは、既に確立したグループの装置が該グループ内の装置の役割の再交渉を要求するメカニズムを組み込み得る。このような能力は、装置が、グループの形成のときに動的に決定され得る異なる役割を担い得るプロトコルで有用であり得る。グループの動作中、装置が前に割り当てられた自身の役割に対する自身の適合性が低下したことを示す状態を検出すると、装置は、割り当てられた役割を再交渉する要求を送信しても良い。同様に、装置が別の装置に前に割り当てられた役割に対する自身の適合性が増大したことを示す状態を検出すると、装置は、割り当てられた役割を再交渉する要求を送信しても良い。留意すべきことに、本願明細書におけるピアツーピアは、第3の装置又はインフラストラクチャを通らない直接接続を意味する。
このような能力は、装置に割り当てられる異なる役割が異なる電力量を必要とするプロトコルと関連して用いられても良い。このようなシナリオでは、役割を再交渉する要求を送信するよう装置をトリガし得る装置の検出した状態は、装置の電力状態を含んでも良い。Wi-Fi Directプロトコルに従って動作するシステムでは、装置は、グループオーナ又はクライアントとして役割を割り当てられても良い。グループオーナは、グループオーナがクライアントにより消費されるより多くの電力を消費し得るというようなグループの特徴を制御する動作を実行しても良い。例えば、グループオーナは、グループ内の他の装置の動作を調整するので、より長い時間期間、自身の受信機の電源を入れることができ、又はより多くのメッセージを送信できる。したがって、グループオーナは、自身の電力状態が変化し、少ない電力しか利用可能ではないことを検出すると、再交渉を要求して、より多くの電力を有する装置がグループオーナになるようにしても良い。逆に、クライアントは、自身の電力状態が変化し、より多くの電力が利用可能であることを検出すると、再交渉を要求しても良い。
以上は、本発明の非限定的な要約であり、添付の請求の範囲により定められている。
添付の図面は、縮尺通りであることを目的としていない。図中、種々の図に示される各々の同一又はほぼ同一の構成要素は、同様の参照符号により表現される。明確化のため、全ての構成要素が全ての図中でラベル付けされない。以下の図面がある。
本発明の実施形態が実施され得る例示的な環境の図である。 無線通信に適応される例示的なコンピューティング装置の上位ブロック図である。 無線通信に適応される例示的なコンピューティング装置の更に詳細なブロック図である。 幾つかの実施形態によるピアツーピアグループを形成する装置の例示的な動作方法のフローチャートである。 幾つかの実施形態による、グループを形成する装置間で交換され得る例示的なメッセージである。 幾つかの実施形態による最初にグループオーナとして選択された装置の例示的な動作方法のフローチャートである。 幾つかの実施形態による最初にクライアントとして選択されたコンピューティング装置の例示的な動作方法のフローチャートである。 本発明の幾つかの実施形態が実施され得る説明的なコンピューティング装置の図である。
発明者等は、グループを制御する装置の選択が再交渉されるプロトコルにより、無線装置間の通信が該無線装置のユーザとって一層有用になり得ることを認識及び理解している。このような能力は、例えば、バッテリ式装置が通信可能な時間を延長できる。
Wi-Fi Directのようなプロトコルでは、グループ制御部として動作する装置は、クライアントとしての役割に就く装置よりも多くの電力を消費し得る。グループオーナの交渉は、少なくとも部分的に、グループ内の装置の状態に基づいても良い。これらの状態は、装置の電源に関連し得る。例えば、グループ制御部の交渉は、低い電力能力を有する装置よりも、高い電力能力を有する装置を支持しても良い。装置は、AC電源から給電されているため、又は自身のバッテリが多くの充電残量を有するために、高い電力能力を有しても良い。
グループ内の装置の状態が変化するとき、該装置は、再交渉をトリガしても良い。再交渉の結果、異なる装置がグループ制御部として選択されても良い。例えば、グループの制御装置が選択されたときにバッテリ電源で動作していたクライアント装置は、AC電源に接続されると再交渉をトリガしても良い。或いは、バッテリ電源で動作していた制御装置は、バッテリ残量が、該装置のバッテリが枯渇していることを示す閾より下に降下すると、再交渉をトリガしても良い。しかしながら、理解されるべきことに、任意の適切な状態の検出が、再交渉のトリガとして用いられても良い。
幾つかの実施形態によると、再交渉は、任意の適切な方法でトリガされても良い。再交渉をトリガする装置は、任意の適切な方法で伝達される任意の適切なフォーマットのメッセージにより、グループ内の他の装置に再交渉を通知しても良い。例えば、メッセージは、Wi-Fi Directのような標準プロトコルに従ったフォーマットであり、再交渉のリクエスト又は再交渉のコマンドを表す追加情報要素を有しても良い。特定の例として、Wi-Fi Directプロトコルに従った動作フレームは、このような情報要素を有しても良い。しかしながら、他の実施形態では、別個のメッセージフォーマットが定められても良い。
再交渉の要求又はコマンドは、再交渉をトリガする装置からグループ内の他の装置へ直接送信されても良い。このような送信は、ビーコンのようなブロードキャストメッセージの一部として生じても良く、再交渉すべきグループ内の全ての装置に対するコマンドを有しても良い。このようなシナリオは、例えば、現在グループを制御している装置からコマンドが送信される場合に生じ得る。
しかしながら、コマンドがグループを制御している装置により送信されることは必要条件ではない。幾つかの実施形態では、このようなメッセージは、グループ内の任意の装置から送信されても良い。例えば、グループ内のクライアントは、グループの制御装置の選択を再交渉するために、グループ内の他の装置に対するコマンドをブロードキャストしても良い。更なる代替として、再交渉は、クライアント装置によりトリガされても良く、再交渉のコマンドは、グループを制御している装置により後に送信されても良い。例えば、幾つかの実施形態では、グループ内のクライアントは、グループを制御している装置へ、再交渉の要求としてフォーマット化されたメッセージを送信しても良い。次に、制御装置は、再交渉のコマンドをグループ内の他の装置へ送信しても良い。この代替では、制御装置は、グループの状態、実行中の動作又は他の情報のような条件に基づき、このようなコマンドを条件付きで送信しても良い。
どのように再交渉がトリガされるかに拘わらず、一旦トリガされれば、再交渉は、制御装置の最初の交渉と同じフォーマットであるメッセージの交換を通じて実行され得る。Wi-Fi Directプロトコルに従って形成されたピアツーピアグループでは、このようなメッセージは、グループオーナ交渉動作フレームとしてフォーマット化されても良い。このようなメッセージは、例えば、各装置からのグループオーナになりたいという選択(preference、プレファレンス)を示す値を有しても良い。各装置は、自身の値を自身のポリシに基づき選択しても良い。この値は、例えば、装置のユーザ若しくは管理者により、又は装置で実行されているアプリケーション若しくはユーティリティにより設定されても良い。これらのポリシは、装置の電力状態、又は一部若しくは全部が動的に決定され得る他の適切な要因に基づき適用されても良い。最高値を送信している装置は、グループの新しい制御装置として選択されても良い。しかしながら、理解されるべきことに、制御装置は、任意の適切な方法で選択されても良い。
前述の技術は、任意の適切な環境で、単独で又は任意の適切な組合せで一緒に用いられても良い。図1は、幾つかの実施形態によるコンピューティング装置が通信する環境を示す。
図1の例では、コンピューティング装置110は、ラップトップコンピュータとして示される。しかしながら、理解されるべきことに、コンピューティング装置110の形状因子は、本発明を限定しない。タブレット、スマートフォンとして構成されたコンピューティング装置、又は任意の他の適切な形状因子を有するコンピューティング装置は、本発明の実施形態に従って構成され動作されても良い。さらに、理解されるべきことに、任意の無線装置は、ピアツーピアグループで任意の役割を果たしても良い。したがって、グループ内の装置がコンピューティング装置であることは必要条件ではない。
図1は、コンピューティング装置110がユーザ112により制御されていることを示す。ユーザ112は、従来知られている技術を用いてコンピューティング装置110と相互作用し、コンピューティング装置110を他の装置に無線接続するよう制御しても良い。本例では、コンピューティング装置110は、アクセスポイント120を通じてネットワーク124に無線接続している。ネットワーク124は、ホームネットワーク、企業ネットワーク、インターネット、又は任意の他の適切なネットワークであっても良い。アクセスポイント120を通じた無線接続122は、インフラストラクチャ型接続の一例である。知られているインフラストラクチャ型プロトコルを用いる技術を含む任意の適切な技術が、無線接続122を形成するために用いられても良い。一例として、無線接続122は、「Wi-Fi」と呼ばれるプロトコルを用いて形成されても良い。しかしながら、使用される特定のプロトコルは、本発明にとって重要ではない。
図示の例では、コンピューティング装置110は、AC電源114への接続により定められる電力状態を有するとして示される。図1に図示しないが、他の装置は同様の電力状態を有しても良い。例えば、プリンタ134は、同様にAC電源に接続されても良い。他の装置は、他の電力状態を有しても良い。例えば、カメラ132はバッテリ式装置であり、カメラ132のバッテリ(図示しない)の残量は該装置の電力状態を定めても良い。しかしながら、理解されるべきことに、一部又は全部の装置は、複数の電源で動作しても良い。例えば、コンピューティング装置110は、AC電源114に接続される状態であると示されるが、バッテリを有しても良い。コンピューティング装置110がAC電源114に接続されないとき、コンピューティング装置110は、バッテリから給電されても良く、これがコンピューティング装置110の電力状態を定めても良い。したがって、理解されるべきことに、ピアツーピアグループ内の装置の電力状態は時間と共に変化しても良い。
図示の例では、コンピューティング装置110は、無線接続122において局の役割を有する。コンピューティング装置110の役割は、アクセスポイント120と情報を交換するためにコンピューティング装置110により実行される無線プロトコルの特定のステップを示す。
図1は、他の無線接続も示す。コンピューティング装置110は、それぞれカメラ130及びプリンタ134との接続132及び136を有すると示される。この場合、カメラ132及びプリンタ134は、コンピューティング装置110がこれらの装置とデータを交換するために接続し得る無線装置の例である。
この例では、カメラ132、プリンタ134及びコンピューティング装置110は、ピアツーピアプロトコルを用いて無線接続132及び136を介して通信しても良い。この例では、カメラ132、プリンタ134及びコンピューティング装置110は、ピアツーピアプロトコルに従ってグループを形成しても良い。しかしながら、代替の実施形態では、コンピューティング装置110は、カメラ130を有する第1のグループ及びプリンタ134を有する第2のグループを形成しても良い。したがって、理解されるべきことに、グループは、2つの装置のみを含む、任意の適切な数の装置を有しても良い。
無線接続132及び136は、任意の適切なピアツーピアプロトコルに従って形成されても良い。本例では、接続132及び136は、Wi-Fi Directとして参照されるWi-Fiプロトコルの拡張を用いて形成される。
図2は、無線接続122(図1)のようなインフラストラクチャモード無線接続並びに接続132及び136(図1)のようなピアツーピア無線接続を形成するよう動作し得るコンピューティング装置210のアーキテクチャを高レベルで示す。図1の例では、コンピューティング装置210は、2つの無線通信機、無線通信機250及び無線通信機254を有する。各無線通信機は、無線通信を送信及び受信するよう適応されても良い。無線通信機250は、例えば、無線接続122を形成するために用いられても良い。無線通信機254は、例えば、ピアツーピア接続132を形成するために用いられても良い。
本例では、無線通信機250は、メディアアクセス制御(MAC)アドレス252を有する。MACアドレスは、無線通信機250に関連するユニークな識別子であっても良い。したがって、MACアドレスは、無線通信機250を無線通信機254と、及びコンピューティング装置210が通信し得る任意の他の装置内の無線通信機とも区別するために用いることができる。したがって、MACアドレス252は、無線通信機250により送信されるパケットに含まれて、フレームが無線通信機250により送信されたことを示しても良く、又は無線通信機250へ向けられるパケットに含まれて、フレームが無線通信機250宛てであることを示しても良い。
MACアドレス252は、任意の適切な方法で無線通信機250に割り当てられても良い。例えば、MACアドレスは、無線通信機250の製造者により割り当てられても良い。しかしながら、幾つかの実施形態では、MACアドレス252は、オペレーティングシステム23―又はコンピューティング装置210の別のコンポーネントにより、又はコンピューティング装置210が動作しているシステム内の特定の他のコンポーネントにより割り当てられても良い。
無線通信機250は、図2のドライバ240として表されるソフトウェアを通じて制御されても良い。ここで、ドライバ240は、オペレーティングシステム230がドライバ240へコマンドを発行し得る及びドライバ240が状態を報告しオペレーティングシステム230に受信したデータを通知し得るインタフェース242を含む。インタフェース242は、知られている標準規格に従うことを含む任意の適切な方法で実装されても良い。このような知られている標準規格の一例は、NDISと呼ばれるが、該標準規格は本発明にとって重要ではない。
インタフェース242は、無線通信機250の構成に依存しないフォーマットの多数のコマンドをサポートしても良い。むしろ、ドライバ240は、インタフェース242の標準化フォーマットのコマンドを、無線通信機250に適用される特有の制御信号に翻訳しても良い。さらに、ドライバ240は、無線接続に関連する特定の低レベル機能を実行するようプログラミングされても良い。例えば、パケットを受信すると、ドライバ240は、パケットが適正にフォーマットされているかを調べても良い。パケットが適正にフォーマット化されている場合、ドライバ240は、肯定応答を生成するよう無線通信機250を制御しても良い。逆に、パケットが適正にフォーマット化されていない場合、ドライバ240は、否定応答を送信するよう無線通信機250を制御しても良い。
ドライバ240、及び幾つかの例では無線通信機250は、無線接続の確立及び維持に関連する低レベル機能を自動的に実行しても良い。高レベル機能は、オペレーティングシステム230又はアプリケーション220の制御下で実行されても良い。幾つかの実施形態では、アプリケーション220又はオペレーティングシステム230は、ユーザインタフェースを提供しても良い。したがって、無線通信の最終的な制御は、コンピューティング装置210のユーザにより提供される。
図2に示した実施形態では、コンピューティング装置210は無線通信機254も有する。無線通信機250が例えばインフラストラクチャネットワークへの接続のために用いられている間、無線通信機254は、接続132及び136のような1又は複数のピアツーピア接続を形成するために用いられても良い。
無線通信機254は、無線通信機250と概して同じアーキテクチャでコンピューティング装置210に組み込まれる。無線通信機254は、オペレーティングシステム230に無線通信機254を制御するメカニズムを提供するドライバ244に関連付けられる。ドライバ244は、オペレーティングシステム230がドライバ244へコマンドを送信し及びドライバ244がオペレーティングシステム230に状態を提供し得るインタフェース246を有する。インタフェース246は、インタフェース242と同様に、標準化インタフェースであっても良い。したがって、オペレーティングシステム230は、ドライバ240を制御するために用いられるのと同様のコマンドセットを用いてドライバ244と通信できる。しかしながら、無線通信機254は、ピアツーピア接続を実施するために用いられるので、ドライバ244は、インフラストラクチャに基づく通信では存在しないピアツーピア通信と関連する機能を実施するために、ドライバ240と異なる又は追加コマンドに応答しても良い。
無線通信機250及び254の間の更なる相違点として、無線通信機254は、複数のMACアドレスを有するとして示される。対照的に、無線通信機250は単一のMACアドレス252を有する。ここで、MACアドレス256A、256B、256Cが示される。複数のMACアドレスは、例えば無線通信機254の製造者により割り当てられても良く、又はMACアドレスは、MACアドレス252と関連して上述したものを含む任意の適切な方法で割り当てられても良い。
複数のMACアドレスを有するので、無線通信機250は、コンピューティング装置210の外部の装置から、それぞれ別個のMACアドレスを有する複数のエンティティとして見える。一例として、コンピューティング装置210が、第1のピアツーピアグループ内でグループオーナとして、及び第2のピアツーピアグループ内でクライアントとして、別個に通信する場合、グループオーナ及びクライアントのために別個のエンティティが確立されても良い。コンピューティング装置210の外部の装置は、コンピューティング装置210により処理されるパケットのアドレスを、第1のグループ内のグループオーナとして第1のMACアドレスで指定しても良い。第2のグループ内のクライアントとして処理されるパケットは、第2のMACアドレスでアドレス指定されても良い。同様に、コンピューティング装置210は、グループオーナから来るパケットに第1のMACアドレスを挿入しても良い。クライアントからのパケットは、第2のMACアドレスを有しても良い。
オペレーティングシステム230に自身のドライバ244との相互作用をこれらのエンティティのうちの特定の1つに関連付けさせるために、コンピューティング装置210内部で、各エンティティはポートとして表すことができる。したがって、オペレーティングシステム230は、このようなエンティティに関連するポートを通じて、該エンティティの各々へコマンドを送信し又はそれらから状態情報を受信しても良い。
各ポートは、ポートが表すエンティティ種類に適切な機能を実行するよう構成されても良い。コンピューティング装置210がWi-Fi Directに従って動作する実施形態は、ここではピアツーピアプロトコルの一例として用いられ、ピアツーピアグループの一部である装置は、グループオーナ又はクライアントの役割を演じても良い。グループオーナは、無線プロトコルに従って、特定の方法で、特定種類の動作フレームを送信し及び他の種類の動作フレームに応答するよう要求されても良い。クライアントとして構成された装置は、異なる状況では、異なる動作フレーム及び応答を送信しても良く又は同じ動作フレーム及び応答を送信しても良い。
しかしながら、理解されるべきことに、グループオーナ及びクライアントは、無線通信機254及びドライバ244が実行するよう構成され得る役割のうちの単なる2つの例である。別の例として、エンティティは、グループオーナ又はクライアントとして構成されなくても良い。代わりに、エンティティは、制御部としての役割を割り当てられても良く、他のドライバとの相互作用を管理してグループを形成し及び該グループ内のコンピューティング装置210の役割を決定しても良い。
図2は別個の無線通信機、無線通信機250及び無線通信機254を示したが、インフラストラクチャ接続及びピアツーピア通信が同一周波数チャネルを用いて動作する実施形態では、単一の無線通信機が用いられても良い。このような実施形態では、インフラストラクチャ通信に関連する役割を実行するエンティティ及びピアツーピア通信に関連する役割を実行するエンティティは、同一の無線通信機で実施されても良い。
図2は、コンピューティング装置210が電力管理234を有すると示す。電力管理234は、コンピューティング装置210内の回路であっても良く、オペレーティングシステム230又は他のコンポーネントに利用可能な電力状態情報をコンピューティング装置210から出力する。オペレーティングシステム230は、このような電力状態情報を用いて、コンピューティング装置210のポリシ又は制御動作を適用する。特定の例として、オペレーティングシステム230は、電力管理234により提供される電力状態情報を用いて、ピアツーピアグループにおいてコンピューティング装置210に割り当てられた役割を決定する。
電力管理234は、任意の適切な電力状態情報を提供しても良い。この例では、コンピューティング装置210は、バッテリ232により給電されるように示される。したがって、電力管理234により提供されるある種類の電力状態情報は、バッテリ232内に残っている電荷量を示しても良い。電力管理234は、従来知られている技術を用いて、バッテリ232内の充電残量を決定し及び提示しても良い。
コンピューティング装置210が選択的にAC電源に接続される実施形態では、電力管理234は、AC電力がコンピューティング装置210に現在供給されているか否かを決定しても良い。供給されている場合、電力管理234は、コンピューティング装置210をAC電力で動作するよう構成しても良く、ピアツーピアグループにおけるコンピューティング装置210により想定される役割に影響を与えるポリシを含むポリシを適用するときにオペレーティングシステム230又は他のコンポーネントにより用いられる電力状態を報告しても良い。
図3は、コンピューティング装置310が、単一の無線通信機を用いて、それぞれインフラストラクチャネットワークにおける役割を有するエンティティ、及びそれぞれピアツーピア通信のための役割を有するエンティティの両者のエンティティに対応するよう構成される。図3は、無線通信機354を有するコンピューティング装置310を示す。無線通信機254は、MACアドレス256A、3356B、356C、356D及び356Eとして示される複数のMACアドレスを有するとして示される。5個のMACアドレスが、無線通信機354と関連するドライバ344に5個のポートを同時に提供し得るように示されるが、理解されるべきことに、サポートされる特定数のMACアドレスは本発明にとって重要ではなく、幾つかの実施形態では5個より多い又は少ないMACアドレスが用いられても良い。
本例では、5個のMACアドレスは、それぞれ異なる役割を実行するよう構成される5個のポート382、384、386、388、390を提供するために用いられても良い。図示のシナリオでは、これらのポートのグループ380Aは、インフラストラクチャに基づく通信のために用いられるエンティティを実施するよう構成される。グループ380Bは、ピアツーピア通信のために構成されるポートを有する。
図3に示した例では、グループ380Aは、2個のポート、ポート382及び384を有する。グループ380Bは、3個のポート、ポート386、388、390を有すると示される。理解されるべきことに、それぞれの使用の種類に割り当てられるポートの数は本発明にとって重要ではなく、任意の適切な数が用いられても良い。さらに、各グループ内のポート数が固定的である必要はない。むしろ、オペレーティングシステム230は、必要に応じてポートを動的に生成又は機能停止するために、ドライバ344へコマンドを発行しても良い。
ポートを生成するコマンドとともに、オペレーティングシステム230は該ポートに割り当てられた役割を指定しても良い。ドライバ344は、インフラストラクチャに基づく通信又はピアツーピア通信に関連し得る指定された役割のために構成されたポートを生成することにより、このようなコマンドに応答しても良い。オペレーティングシステム230は役割を指定しても良いが、指定される役割は任意の適切な方法で決定されても良い。例えば、ピアツーピアグループを形成するとき、オペレーティングシステム320は、各装置の役割を共同で交渉するためにグループ内の他の装置とメッセージを無線で交換するようにコンピューティング装置310を制御することにより役割を決定しても良い。
任意の適切なメカニズムがコンピューティング装置310に役割を割り当てる機能を実施するために用いられても良いが、図3は、オペレーティングシステム320とドライバ344との間のインタフェース346を示す。インタフェース346は、標準化形式のドライバとのインタフェースであっても良い。一例として、幾つかのドライバは、NDISインタフェース標準規格に従って記述される。この標準規格によると、コマンド及び状態情報は、ドライバ344とオペレーティングシステム320との間で、OIDと呼ばれるプログラミングオブジェクトを用いて交換されても良い。NDIS標準規格は、ドライバが応答すべき又は応答しても良い多数のOIDを定める。しかしながら、標準規格は、特定の環境でOIDが追加機能をサポートするよう定められるよう拡張されても良い。拡張性は、OID又は他の適切な表現を用いて、オペレーティングシステム320がドライバ344に、ポートを生成若しくは機能停止するよう又は特定の役割のためのポートを構成するよう命じることができるコマンドを定めるために用いられても良い。
無線通信機354は複数ポートのパケットを処理できるが、複数のMACアドレスをサポートする以外に、幾つかの実施形態では、無線通信機354はポートをサポートするよう特別に構成される必要はない。無線通信機354は、従来知られている技術を用いて実装されても良い。本例では、送信/受信部358は、従来知られているハードウェアコンポーネントであり無線通信のために用いられても良い。本例では、無線通信機354がWi-Fiインフラストラクチャモードプロトコル及びピアツーピア通信のためのWi-Fi directプロトコルに従う通信をサポートするために用いられており、送信/受信部358は、Wi-Fi仕様により定められた周波数範囲に渡り複数のサブチャネルでの通信をサポートしても良い。しかしながら、送信/受信部358の特定の動作特性は、通信のために実装される特定のプロトコルに依存して変化しても良く、本発明にとって重要ではない。同様に、制御部360は、無線通信機設計の分野で知られているハードウェアコンポーネントであっても良い。同様に、構成登録部370は、無線通信機設計の分野で知られているハードウェアコンポーネントであっても良い。MACアドレス356A、...、356Eとして示すコンポーネントは、従来知られている技術を用いて実装されても良い。幾つかの実施形態では、無線通信機354によりサポートされるMACアドレスは、読み出し専用メモリ又は無線通信機354の一部である他のコンポーネントに符号化されても良い。しかしながら、理解されるべきことに、MACアドレスが無線通信機354にドライバ344を通じて割り当てられる実施形態では、MACアドレス356A、...、356Eは、揮発性又は不揮発性書き換え可能メモリに物理的に実装されても良い。したがって、無線通信機354が応答できるMACアドレスのプールは、動的に生成され得る。
無線通信機354のコンポーネントが実装される方法に拘わらず、無線通信機354はハードウェアインタフェースを有しても良い。この、ハードウェアインタフェースを通じて、ドライバ344が無線通信機354を制御し得る。幾つかの実施形態では、ドライバ344は、コンピューティング装置310内のプロセッサで実行するコンピュータ実行可能ソフトウェア命令であっても良い。したがって、ハードウェアインタフェース346は、バス接続、又はドライバ344を実行するプロセッサと無線通信機354を保持する別個のカードとの間の他の適切な相互接続として実装されても良い。このようなハードウェアインタフェースは従来知られているが、任意の適切なインタフェースが用いられても良い。
ポートをサポートするように無線通信機354を構成するために、ドライバ344は、無線通信機354を、該ポートを通じる通信に関連付けられた特定のMACアドレス宛のパケットを処理するよう構成しても良い。ドライバ344は、設定登録部370に、MACアドレスが有効にされるべきであることを示す値を書き込んでも良い。これにより、無線通信機354は該MACアドレスで識別される受信パケットを処理する。動作中、制御部360は、設定登録部370内の情報により有効であると識別されたMACアドレスで識別されたパケットに応答するよう、送信/受信部358を制御しても良い。したがって、複数のポートが有効な場合、設定登録部370は、有効なMACアドレスの各々の指標を有する。
ポートのMACアドレスに応答するよう無線通信機354を設定することに加えて、ドライバ344は、該MACアドレスと共に用いられるべき通信パラメータを指定しても良い。これらのパラメータは、例えば、異なる数のサブチャネルが異なるMACアドレスを有する通信のために用いられ得ることを指定しても良い。このように、異なるポートの通信特性は、ポートに関連付けられた役割に基づき制御されても良い。特定の例として、制御ポートとして構成されたポートは、データ通信のためのポートよりも小さい帯域幅しか必要としない。したがって、無線通信機354は、制御ポートに関連付けられたMACアドレスのためにより少ないサブチャネル又は異なる符号化方式を用いるよう構成されても良い。
送信されるべき情報に対して、ドライバ344及び/又は無線通信機354は、このような情報を含む送信されたフレームが、情報の送信先ポートに関連付けられたMACアドレスにより識別されるように、動作し得る。MACアドレスを特定ポートから送信された又は特定ポートのために受信された特定フレームに関連付けるために、任意の適切なメカニズムが用いられても良い。さらに、固有の実装はポートの機能に影響を与えないので、この処理は、ドライバ344内で部分的に又は全体的に及び無線通信機354内で部分的に又は全体的に実行されても良い。
複数ポートを実装するために、ドライバ344が構成されても良い。本例では、ドライバ344は、マルチプレクサ/デマルチプレクサ392を実装するコンピュータ実行可能命令を有するよう示される。マルチプレクサ/デマルチプレクサ392は、ポートに関連付けられた受信パケットを、個々のポートの機能を実装するドライバ344の一部へルーティングするよう動作する。逆に、マルチプレクサ/デマルチプレクサ392は、任意のポートから送信するためにパケットを受信し、それらのパケットを無線通信機354へルーティングする。
複数ポートが同時に送信のための情報を有するシナリオでは、マルチプレクサ/デマルチプレクサ392は、無線通信機354がポートからの情報を受信する順序を確立するよう調停しても良い。この目的のために、マルチプレクサ/デマルチプレクサ392は、任意の適切なポリシを用いても良い。例えば、動作フレームを運ぶパケットは、データフレームを有するパケットよりも高い優先度が与えられても良い。ポリシの別の例として、インフラストラクチャモードで動作するポートに関連付けられた送信は、ピアツーピアモードで動作するポートよりも高い優先度が与えられても良い。更に別の例として、グループオーナの役割のために構成されたポートは、ピアツーピアグループにおけるクライアントの役割のために構成されたポートよりも高い優先度が与えられても良い。しかしながら、マルチプレクサ/デマルチプレクサ392により適用される特定のポリシは、本発明にとって重要ではなく、任意の適切なポリシが用いられても良い。
マルチプレクサ/デマルチプレクサ392をパケットをルーティングするよう構成することに加え、ドライバ344は、特定機能モジュールをポートの各々に関連付けることにより構成されても良い。ポートに関連付けられた特定機能モジュールは、該ポートに関連付けられた役割に基づいても良い。例えば、図3は、5個の機能モジュールを示す。機能モジュール394Aは、ポートに関連付けられると、インフラストラクチャネットワークにおける局の役割で動作するよう該ポートを構成してもよい。同様に、機能モジュール394Bは、ポートに関連付けられると、インフラストラクチャネットワークにおけるアクセスポイントの役割のために該ポートを構成してもよい。機能モジュール394Cは、ポートに関連付けられると、ピアツーピアモードの制御部の役割で動作するよう該ポートを構成してもよい。制御部は、例えば、装置がピアツーピアグループにおける役割を交渉又は再交渉するとき、通信を制御しても良い。機能モジュール394Dは、ポートに関連付けられると、ピアツーピアグループにおけるグループオーナの役割のために該ポートを構成してもよい。機能モジュール394Eは、ポートに関連付けられると、ピアツーピアグループにおけるクライアントの役割のために該ポートを構成してもよい。図3に示されないが、他の機能モジュールが代替で又は追加で含まれても良い。
機能モジュール394、...、394Eは、任意の適切な方法で実装されても良い。例えば、各機能モジュールは、機能モジュールに関連付けられた役割のために機能を実行するために符号化されたコンピュータ実行可能命令の集合として実装されても良い。例えば、機能モジュール394Aは、必要に応じてインフラストラクチャネットワークにおける局に向けてパケットを送信するよう無線通信機354を制御する命令を有し符号化されても良い。追加で、機能モジュール394Aは、インフラストラクチャネットワークにおける局の動作を実装するように、ドライバ344にオペレーティングシステム320と相互作用させる命令を有しても良い。特定の例として、機能モジュール394Aは、特定の受信フレームに対する応答を自動的に生成するよう符号化されても良い。追加で、機能モジュール394Aは、フレーム内の受信したデータを、コンピューティング装置310のメモリ内の位置に転送し、次にオペレーティングシステム320にデータが受信されたことを通知するよう符号化されても良い。さらに、機能モジュール394Aは、該機能モジュールの役割のために無線通信機354を構成しても良い。このような構成は、多数のサブチャネル又は特定の役割で用いられる無線通信の他のパラメータを設定することを含み得る。機能モジュール394により実行される動作は、Wi-Fiネットワークにおける局としてのみ構成される無線ネットワークインタフェースカードのために従来のドライバで実行される動作と同様であっても良い。また、機能モジュール394は、従来知られている技術を用いて符号化されても良い。
他の機能モジュールの各々は、オペレーティングシステム320及び無線通信機354と相互作用して無線通信機354を構成し及び必要に応じてそれら個々の役割のために内部で処理し通信を生成するよう、同様に符号化されても良い。機能モジュール394Bは、例えば、インフラストラクチャネットワークにおけるアクセスポイントのために従来知られている動作で受信フレームに対して動作を実行し又はそれに応答するコンピュータ実行可能命令を有し符号化されても良い。また、機能モジュール394Bは、従来知られている技術を用いてオペレーティングシステム320と相互作用するよう符号化されても良い。
機能モジュール394Cは、ピアツーピアグループの確立に関連する機能を実行するよう符号化されても良い。機能モジュール394Cを実装する命令は、従来知られている技術を用いて同様に記述されても良い。これらの命令は、無線通信機354に、特定プロトコルに従うピアツーピア通信のためのグループを確立し及び該グループの装置の役割を交渉又は再交渉するのに用いられる種類の動作フレーム又は動作フレームに対する応答を含むパケットを送信させても良い。オペレーティングシステム320内のコンポーネントは、これらの動作フレームの送信をトリガしても良い。しかしながら、幾つかの動作フレームでは、機能モジュール394Cは、オペレーティングシステム320による特別動作を有しない動作フレームに対する応答を生成するよう構成されても良い。表1は、機能モジュール394Cがオペレーティングシステム320により送信するよう命令され得る動作フレームの例を記載する。これらの動作フレームは、Wi-Fi Directプロトコルに適した動作フレームを示す。このプロトコルで用いられる追加動作フレームは、受信した動作フレーム又は他の適切なトリガに応答して特別コマンドを有しないで送信されても良い。しかしながら、理解されるべきことに、異なるプロトコルでは異なる又は追加の動作フレームが用いられても良く、特定の動作フレームは本発明を限定しない。
Figure 2014509156
オペレーティングシステム320が制御ポートに表1の動作フレームの中の1つを送信するよう要求を提出すると、ドライバ344内の機能モジュール394Cは、以下の動作を行っても良い。
a)送信のためにダイアログトークンを選択する。要求に応答して送信された場合、オペレーティングシステムは、使用されるべきダイアログトークン(後述する)を提供しても良く、次に、ドライバ344は、指定されたダイアログトークンを用いても良い。
b)要求を完了する。ドライバ344は、ダイアログトークンを選択した場合、要求が完了すると、オペレーティングシステム320にダイアログトークンを報告しても良い。
c)フレームの送信先であるWi-Fi Direct装置と同期する。実装に依存して、受信された要求に応答して送信された場合(例えば、招待要求が受信されると送信された招待応答)、このステップは省略されても良い。
d)フレームを送信し、ACKを待つ。
e)フレームに対するACKが受信されると、又はいずれの再試行もACKを得なかった場合、NDIS_STATUS指示をオペレーティングシステム320へ送信し、動作フレームの送信状態について通知する。この指示は、動作フレームを含むパケットからの情報要素を有しても良い。
ピア装置からの応答を受信し得るフレームに対して送信され、送信が成功した場合、ポートは、ミニポートへ応答動作フレームを送信するために、ピア装置に利用可能なままであっても良い。タイムアウト及び利用可能なメカニズムは、Wi-Fi Peer-To-Peer Technical Specificationに準拠しても良い。
機能モジュール394Cがポートに関連付けられるとき、機能モジュール394Cが動作フレームを送信するようトリガするオペレーティングシステム320内の特定のコンポーネントは、本発明にとって重要ではない。しかしながら、図3は、オペレーティングシステム320内のデバイスマネジャ330を示す。デバイスマネジャ330は、例えば、従来知られているデバイスマネジャであっても良く、ユーザ又はプログラマチックインタフェースを提示しても良い。プログラマチックインタフェースを通じて、ユーザ又は他の実行コンポーネントは、装置との通信セッションがピアツーピア通信を用いて確立されるよう要求しても良い。
ポート386のようなポートが、該ポートを機能モジュール394Cに関連付けることによりピアツーピア通信のための制御部として動作するよう構成されるとき、デバイスマネジャ330は、ポート386と相互作用して、1又は複数の装置とピアツーピア通信を確立する種々の態様を制御しても良い。例えば、デバイスマネジャ330は、コンピューティング装置310がプリンタ134(図1)のような装置と無線接続されることを要求するユーザ入力を受信しても良い。このような入力に応答して、デバイスマネジャ330は、スタック322を通じてポート386と相互作用し、機能モジュール394Cに動作フレームを送信させるよう無線通信機354を制御させる。
送信された動作フレームは、装置又はサービス発見に関連する動作フレームであっても良い。デバイスマネジャ330は、機能モジュール394Cがコンピューティング装置310近傍の装置を又はプリンタサービスのような特定サービスを提供する装置のみを発見すべきかのような、これらの要求の特性を指定しても良い。しかしながら、デバイスマネジャ330は、グループ内の1又は複数の装置と通信を確立するために、ポート386を通じて他のフォーマットでコマンドを送信するよう構成されても良い。
一例として、図3は、オペレーティングシステム320が永続性装置記憶328を維持することを示す。永続的装置記憶328は、コンピューティング装置310が前に無線通信を確立した装置を識別する情報を有しても良い。デバイスマネジャ330は、永続的装置記憶328内の情報にアクセスし、特定の装置を識別し、機能モジュール394Cのためのポート386を通じてコマンドを送信して永続的装置記憶328内で識別された装置との無線接続を確立しても良い。これらの動作は、ユーザ入力に応答して、又は任意の他の適切なトリガに応答して自動的に生じても良い。
デバイスマネジャ330が、外部装置との通信を確立するためにパスワード又は識別子のような情報を要求するシナリオでは、代替で又は追加で、デバイスマネジャ330は、ユーザインタフェース(図3に明示しない)を通じてユーザと相互作用し、ユーザ又は特定の他の情報源から情報を得ても良い。取得した情報が送信される必要があるとき、デバイスマネジャ330は、制御部として構成されたポートと相互作用して、該情報を送信させても良い。
ポート386のような制御ポートとして構成されたポートをトリガするメカニズムに関わらず、装置のグループを識別するために、制御ポートは、動作フレームを送信及び受信して、コンピューティング装置310を含むグループを形成する1又は複数の装置を識別しても良い。グループの識別に加えて、ポート386を通じて開始される動作は、該グループ内のコンピューティング装置310の役割を交渉しても良い。Wi-Fi Directピアツーピアプロトコルの図示の例では、装置は、グループオーナ又はクライアントとしてグループ内の役割を有しても良い。識別されたグループ内の1又は複数の別の装置との通信は、異なるポートを通じて実行されても良い。このポートは、コンピューティング装置310の識別された役割での動作をサポートするよう構成されても良い。
図3に示した例では、追加ポート388及び390が示される。これらのポートの各々は、異なる役割と関連し得る。例えば、ポート388は、グループオーナの役割と関連付けられても良い。ポート390は、クライアントの役割と関連付けられても良い。異なる役割のポートの構成は、該ポートを該役割に関連する動作を実行する機能モジュールに関連付けることにより実行されても良い。例えば、機能モジュール394Dは、グループオーナとして動作する装置に関連する機能を実行し、ポート388に関連付けられても良い。同様に、機能モジュール394Eは、クライアントとして動作する装置に関連する機能を実行し、ポート390に関連付けられても良い。
動作中、パケットがポート388又は390に関連するMACアドレスを有する無線通信機354を通じて受信されると、マルチプレクサ/デマルチプレクサ392は、これらのパケットを関連するポート内で処理するためにルーティングする。ポート388へルーティングされたパケットは、グループオーナの役割に関連する動作を実行し得る機能モジュール394Dにより処理されても良い。データフレームを含むパケットは、データをメモリ内に配置し、スタック322にデータが受信されたことを通知することにより、処理されても良い。このようなオペレーティングシステム320との相互作用は、従来知られているスタックシグナリング技術を用いても良い。しかしながら、各ポートとオペレーティングシステム320との間の通信を生じる特定のメカニズムは、本発明にとって重要ではない。
動作フレームが、コンピューティング装置310がグループオーナであるグループと確立されたセッションの一部として送信されるとき、これらの動作フレームは、同様に、マルチプレクサ/デマルチプレクサ392によりポート388へルーティングされても良い。機能モジュール394Cは、機能モジュール394Cが動作フレームに応答するようプログラミングされているか否かに依存して、これらの動作フレームに応答するよう構成されても良く、又は動作フレームをオペレーティングシステム320に報告するよう構成されても良い。
同様に、コンピューティング装置310がグループ内のクライアントの役割のために構成される場合、該グループ内の装置との通信に関連するパケットは、MACアドレスで識別される。該MACアドレスは、マルチプレクサ/デマルチプレクサ392に、これらのパケットをポート390のようなクライアントとして構成されたポートへルーティングさせる。ポート390は、機能モジュール394Eに関連付けられ、ピアツーピアプロトコルに従ってクライアントの機能を実装する。機能モジュール394Eは、従来知られている技術を用いて、これらのパケット内のデータフレームからのデータをメモリへ転送し、オペレーティングシステム320にデータを通知するよう構成されても良い。機能モジュール394Eは、動作フレームを含むパケットに応答しても良く、又はオペレーティングシステム320にこれらの管理フレームを通知しても良い。
図3は、通信機能の特定の階層構造を示す。外部装置との通信に関連する特定の機能は、無線通信機354内で実行される。他の機能は、ドライバ344内で実行される。更に別の機能は、オペレーティングシステム320内で実行される。詳細に示されないが、更なる機能は、アプリケーション(図2)により、又はユーザ若しくはコンピューティング装置310外部の情報源からの入力により、実行されても良い。このようなアーキテクチャでは、どの装置がピアツーピアグループの一部として接続すべきかを決定するような上位機能は、アーキテクチャ内の上位で実行されても良い。逆に、受信パケットに対する肯定応答の生成のような下位機能は、アーキテクチャ内の下位で実行されても良い。例えば、ドライバ344は、このような肯定応答を生成するよう構成されても良い。
異なる方法で機能を区分して通信の異なる特徴が異なるコンポーネントにより制御されるようにする他のアーキテクチャが可能だが、図示の例では、無線通信機354及びドライバ344は、コマンド又は受信パケットのようなイベントに処理状態を把握せずに(statelessly)応答するよう構成される。状態情報の拡張は、通信セッションに含まれる。この状態情報は、オペレーティングシステム320内に保持されても良い。例えば、スタック322は、ポート382、384、386、388、390のいずれかを通じて実行される通信セッションの状態情報を保持しても良い。保持される特定の状態情報は、各ポートによりサポートされるプロトコルにおける状態の数及び種類に依存しても良い。
図3の例では、セッション状態情報324Aが、ポート388に関連付けられて示される。明示しないが、セッション状態情報は他のポートについて保持されても良い。ポート388により実装されるプロトコルに依存して、このようなセッション状態情報は、コンピューティング装置310がグループオーナであるグループに参加する装置の数のような、セッションのパラメータを示しても良い。これらの装置が低電力モードに入るまでの時間のような他の状態情報も、セッション状態情報324の一部として格納されても良い。
図3は、ポート388に関連付けられたセッション状態情報324B及び324Cを更に示す。状態情報324B及び324Cは、異なるセッションを表しても良い。このようなセッションは、コンピューティング装置310が自身がグループオーナである3個のグループに参加している場合に生じ得る。このような複数のセッションをサポートするために、送信又は受信された特定フレームを対応するセッションに関連付けるメカニズムが提供されても良い。任意の適切な1又は複数の識別子が用いられても良い。例えば、一群の装置との通信はセッションと考えられるので、関連する通信をセッションの一部として集約するためにグループ識別子が用いられても良い。スタック322は、デバイスマネジャ330又は他のコンポーネントとのインタフェースを提供する。このインタフェースは、各セッションを該セッションのエンドポイントである適切なコンポーネントに関連付ける。このようなインタフェースによる接続は、従来知られている技術を用いて実行されても良い。
別個のセッションからの通信を適切に表す状態情報を保持するのに加えて、スタック322は、各セッションについて保持される状態情報の一部として、機能を実行するためにスタック322に交信の一部である通信を伝えさせる情報を保持しても良い。例えば、要求を表すフレームが送信されるとき、後に受信されるフレームが該要求に対する応答であると認識することは、要求及び応答の処理を実現し得る。交信の一部である通信を伝えるメカニズムの提供は、特に複数セッションが同一ポートでサポートされる場合に、処理を実現し得る。交信の一部である通信の認識を可能にするために、「ダイアログトークン」が用いられても良い。交信を開始する通信は、このダイアログトークンでタグ付けされても良い。このような通信に応答するとき、要求からのダイアログトークンは、応答にコピーされても良い。したがって、要求を送信する装置は、応答、又は同一交信の一部である他の通信を、要求に関連付けても良い。したがって、状態情報324Aは、セッションの一部として通信している装置を含む実行中の通信に関連付けられたダイアログトークンを含んでも良い。
ダイアログトークンは、任意の適切な方法で生成されても良い。例えば、ダイアログトークンは、オペレーティングシステム320内で生成されても良い。代替として、ダイアログを開始するパケットがポート内で起きた場合、ポート又はドライバ344内の他のコンポーネントは、トークンを生成しても良い。同様に、パケットに対する応答がポート386、388又は390のようなポート内で生成される場合、トークンは、そのポートにより応答に挿入されても良い。逆に、パケットに対する応答がオペレーティングシステム320内で生成された個マントに対する応答内で起きた場合、スタック322のようなオペレーティングシステム320内のコンポーネントは、応答に含むためトークンを指定しても良い。表1は、列挙した動作フレームについて、動作フレームに関連するダイアログトークンがオペレーティングシステム内で又はドライバ内で生成されるかを示す。しかしながら、理解されるべきことに、表1は、フレームに対してダイアログトークンを生成する機能がどのように区分され得るかの単なる一例であり、該機能の任意の適切な区分が用いられても良い。
同様のセッション状態情報326A、326B、326Cは、ポート390との接続で示される。セッション状態情報326A、326B、326Cは、3個のセッションの各々について保持される状態を要求しても良い。ここで、各セッションは、コンピューティング装置310がクライアントの役割を有するメンバであるグループに関連付けられているセッション状態情報324A、324B、324Cと同様に、ユニークなダイアログトークンが各セッションに関連付けられ、スタック322が各セッションに関連付けられた受信パケットを分けられるようにしても良い。同様に、コンピューティング装置310は、ダイアログトークンがコンピューティング装置310から送信されたパケットに関連付けられるようにしても良い。ダイアログトークンは、スタック322、又はコンピューティング装置310からパケットを受信するリモート装置の同様の処理コンポーネントに、複数パケットの情報交換の一部であるパケットを関連させるために用いられても良い。例えば、第1のパケットに対する応答で送信される第2のパケットは、第1のパケットからのトークンを有しても良い。この結果、第1のパケットの送信側は、第2のパケットを受信すると、第1のパケットと第2のパケットを同一ダイアログに関連付けることができる。
図3に示したアーキテクチャでは、各接続に関する状態情報は、オペレーティングシステム320内に保持されても良い。その結果、ポート386、388、390は、状態情報を保持する必要がない。幾つかの実施形態では、機能モジュール394C、394D、394Eのような、ポートの機能を実装する機能モジュールは、状態情報を保持しない。代わりに、各機能モジュールは、オペレーティングシステム320からのコマンド又は無線通信機354により渡された受信パケットのようなイベントに応答するよう符号化されても良い。しかしながら、この機能がどのように区分されるかに拘わらず、コンピューティング装置310は、各エンティティの機能を実行するためにポートを確立し構成することにより、複数エンティティに関連する機能を提供するよう制御されても良い。その結果、コンピューティング装置310は、ドライバ344及び無線通信機354が複数ポートをサポートするよう構成され得るので、異なるエンティティとして同時に動作しても良い。これらのエンティティは、ピアツーピア通信に関連するエンティティと同様に、インフラストラクチャモードの通信に関連するエンティティを有しても良い。
しかしながら、コンピューティング装置がどのように設計されるかに拘わらず、装置は、インフラストラクチャモードプロトコル及び/又はピアツーピアプロトコルで定められた機能を実装しても良い。ピアツーピアプロトコルに従って動作する装置により実行される機能は、ピアツーピア通信のために2以上の装置のグループを形成することを含んでも良い。グループの形成の1つの特徴は、グループの制御に関連する機能を実行するために、グループの装置を選択することを含んでも良い。このような機能は、例えば、どの装置がグループに参加できるかを決定すること、グループに識別子を提供すること、及びグループ内の装置にアドレスを提供することを含んでも良い。ここに記載した例示的な実施形態では、このような装置は、グループオーナであっても良い。グループの一部である他の装置は、グループオーナのクライアントであっても良い。
図4は、グループ内の装置が動作し得る方法を示す。図4の例は、グループ内の動作が該グループ内の装置の役割を交渉することを含み得ることを示す。この交渉は、従来通り、グループの形成中に生じても良い。さらに、従来のピアツーピアグループとは対照的に、図4は、装置の役割がグループの動作中に生じるイベントに応答して再交渉され得ることを示す。
したがって、図4の処理は、サブプロセス410で開始する。サブプロセス410を実行した結果、グループに参加するメンバが特定される。サブプロセス410は、任意の適切な方法で実行されても良い。例えば、サービスにアクセスするために別の装置との無線接続を形成しようとしている装置は、プローブ要求のような動作フレームを送信しても良い。このプローブ要求を受信した装置は、Wi-Fi Directプロトコルに従うプローブ応答のような、グループへの参加の可用性を示す更なる動作フレームで応答しても良い。このようなメッセージを交換した結果、グループに参加すべき装置が特定される。
装置が特定されると、処理は、サブプロセス420へ進んでも良い。サブプロセス420で、装置は、グループ内の役割を交渉しても良い。このような役割の1つは、グループを制御する装置であっても良い。装置がWi-Fi Directプロトコルに従って動作する図示の例では、制御装置はグループオーナと称され、他の装置はクライアントと称される。しかしながら、装置がWi-Fi Directプロトコルに従って動作することは必要条件ではない。役割を交渉するために、任意の適切なメカニズムが用いられても良い。したがって、グループ内の装置は、共同で、該グループの制御装置として動作すべき装置を選択する。
一例として、各装置は、グループを制御する選択を表すプレファレンスパラメータの値を他の装置へ伝達しても良い。グループ内の装置は、最も高い値を送信している装置をグループの制御部として認識しても良い。複数の装置が同一の最高値を送信する状況では、プレファレンスパラメータの最高値を報告する装置の中から選択するために、競合メカニズムが用いられても良い。競合メカニズムは、例えば、ランダム選択、又はグループを制御すべき装置を選択する任意の他の適切なメカニズムの要素を有しても良い。
各装置は、任意の適切な方法で自身のプレファレンスパラメータの値を決定しても良い。幾つかの実施形態では、各装置は、1又は複数のポリシでプログラミングされても良い。1又は複数のポリシは、サブプロセス420で交渉の一部としてその装置が報告したプレファレンス値を決定するよう適用されても良い。例えば、装置は、装置の機能に基づき、より高い値を報告するほど該装置が制御部になる可能性が高いというポリシを有しても良い。装置が、頻繁に繰り返される機能又は他の装置からの通信の頻繁な受信を伴う機能を実行する場合、装置は、比較的高い数値をプレファレンス値に割り当てるポリシでプログラミングされても良い。逆に、装置が頻繁に活動していないかグループ内の他の装置と希にしか通信しない場合、装置は、比較的低い数値をプレファレンス値に割り当てるポリシでプログラミングされても良い。
通信の頻度に関連する基準に代えて又はそれに加えて、装置のプレファレンスパラメータの値を選択するための基準が用いられても良い。幾つかの実施形態では、グループ内の1又は複数の装置は、装置の電力状態に基づき、グループを制御するための装置が選択される可能性に影響を与えるポリシでプログラミングされても良い。特定の例として、AC電源又は使用により枯渇しない他の電源に接続される装置は、装置がグループを制御するために選択される可能性を増大させるポリシでプログラミングされても良い。逆に、バッテリ又は他の消耗電源により動作する装置は、装置がグループを制御するために選択される可能性を減少させるポリシでプログラミングされても良い。さらに、このようなポリシは、バッテリ又は他の消耗電源の充電に依存しても良く、交渉のとき、電源が少ない充電しか有しないときに、装置がグループを制御するために選択される可能性が減少する。
装置がグループを制御する選択を反映する値を決定する方法に拘わらず、各装置は、サブプロセス420中に送信されるメッセージで自身の値を他の装置に伝達しても良い。このようにメッセージを交換することにより、特定された装置は、グループの制御部として動作すべき装置の共通の選択に到達できる。次に、処理はブロック430に進んでも良い。
ブロック430で、各装置は、グループの制御についての自身のプレファレンスに到達するときに用いられる状態情報を格納しても良い。プレファレンスが、装置がAC電源又はバッテリに接続されるかのような、装置の電力状態に基づく実施形態では、ブロック430で、この電力状態情報が格納されても良い。この状態情報は、任意の適切な方法で格納されても良い。幾つかの実施形態では、状態情報は、永続的装置記憶328のような、不揮発性記憶媒体に格納されても良い。その結果、情報は、後に、1又は複数の装置が電源を切られるか又は一時的にグループから切断された場合でも、グループの動作中にアクセスできる。しかしながら、理解されるべきことに、状態情報は、装置によりアクセス可能な任意の適切なコンピュータ記憶媒体に格納されても良い。
次に、処理は決定ブロック432に進んでも良い。決定ブロック432で、処理は、サブプロセス420における交渉の結果に依存して分岐しても良い。サブプロセス420における交渉の結果として、装置がグループを制御するために選択された場合、該装置により実行される処理は、決定ブロック432からサブプロセス440へ分岐しても良い。逆に、図4の処理を実行する装置がグループを制御するために選択されない場合、処理は、決定ブロック432からサブプロセス450へ分岐しても良い。
処理がサブプロセス440に到達する場合、図4の処理を実行する装置は、グループを制御するために動作を実行しても良い。サブプロセス440内で実行される特定の動作は、グループ内の装置により用いられるプロトコルに依存しても良い。一例として、サブプロセス440内で行われる動作は、グループに参加する追加装置からの応答を受信し及びそれに対して応答すること、グループ内の装置にグループアドレスを割り当てること、グループ内の装置に装置が該装置の無線通信機の電源を切る期間を通知すること、又はグループ内の装置間のメッセージを中継することを含み得る。しかしながら、特定の制御動作は、本発明の必要条件ではない。代替で又は追加で、グループを制御するために選択された装置により、任意の適切な動作が行われても良い。
処理はサブプロセス442に進んでも良い。サブプロセス442で、図4に示した例示的な処理を実行する装置は、グループ内の他の装置とピアツーピアに基づき通信しても良い。特定の通信は、制御装置の機能及びグループ内の他の装置の機能に依存しても良い。例えば、図1の例では、コンピューティング装置110は、グループを制御するために選択された場合、該装置により印刷するためにプリンタ134のような他の装置へデータを送信しても良い。特定の機能に拘わらず、装置がグループを制御するために選択されるとき、このような通信は、該グループにより用いられるプロトコルに従ってフォーマット化されたメッセージの送信及び受信を伴っても良い。この場合、メッセージは、グループの制御部としての装置の役割に基づきフォーマット化される。特定の例では、ピアツーピアグループがWi-Fi Directプロトコルに従って動作しているとき、装置により送信される通信は、グループオーナにより送信されるメッセージのプロトコルの要件に従ってフォーマット化される。装置により受信されるメッセージは、グループオーナへ送信されるメッセージに従ってフォーマット化される。しかしながら、理解されるべきことに、任意の適切なフォーマット化及び任意の適切な処理が、サブプロセス442の一部として実行されても良い。
次に、処理は決定ブロック444に進んでも良い。決定ブロック444で、処理は、状態変化が検出されたか否かに依存して分岐しても良い。決定ブロック444における処理は、現在の状態情報の、ブロック430で格納された状態情報との比較を伴っても良い。例えば、格納された状態情報が電力状態情報を含む実施形態では、決定ブロック444における処理は、現在の電力状態情報へのアクセスを伴っても良い。
この状態情報は、任意の適切な方法で得られても良い。幾つかの実施形態では、状態情報は、コンピューティング装置のハードウェアコンポーネントと相互作用する図4の処理を実行する装置のオペレーティングシステムにより得られても良い。図2の特定の例では、このような相互作用は、オペレーティングシステム230が電力マネジャ234と相互作用することを含んでも良い。このような相互作用の一部として、オペレーティングシステム230は、装置の電力状態に関連する状態情報を得ても良い。例えば、オペレーティングシステム230は、装置がAC電源に接続されるか否かを示す情報を得ても良い。代替で、オペレーティングシステム230は、装置がバッテリのような消耗電源から給電されていることを決定しても良い。幾つかの実施形態では、電力マネジャ234により提供される情報は、バッテリの充電残量を示しても良い。したがって、決定ブロック444で、現在の状態情報と、ピアツーピアグループ内の装置について役割が交渉されたときに格納された状態情報との比較が行われ得る。
状態変化が生じていない場合、処理は、サブプロセス440へループバックし、グループ内の装置は通信を継続しても良い。このように、グループが動作し続ける限り、サブプロセス440及び442は繰り返されても良く、決定ブロック444で状態変化を繰り返し調べる。
理解されるべきことに、決定ブロック444で行われる比較は、任意の適切な数のパラメータに基づいても良い。幾つかの実施形態では、決定は、装置の現在の電力状態を表す単一のパラメータに基づいても良い。しかしながら、他の実施形態では、比較は複数のパラメータを伴っても良い。例えば、決定ブロック444の比較は、電力状態を表すパラメータ及びグループの一部である装置により実行される又はアクセスされる機能を表すパラメータの比較を伴っても良い。複数のパラメータが比較で用いられる場合、各パラメータは、比較において任意の適切な方法で重み付けされても良い。
さらに、理解されるべきことに、比較は、任意の適切なレベルの粒度を用いて任意の適切な方法で実行されても良い。一例として、装置の電力状態は、値の順序付きセットから選択された値により表されても良い。特定の例として、値の順序付きセットは、AC電力、バッテリ電力及び閾より低い充電レベルを有するバッテリ電力を表す値を有しても良い。本例では、装置の状態が、例えばAC電力での動作からバッテリ電力での動作に変わると、ブロック444で状態変化が検出される。状態変化は、装置はバッテリ電力での動作のままであるが、バッテリの充電残量が閾値より下に降下した場合にも検出されても良い。
決定ブロック444で状態変化が決定される方法に拘わらず、このような状態変化が検出された場合、処理は、決定ブロック444からブロック446へ分岐しても良い。ブロック446で、装置は、再交渉メッセージを送信しても良い。このようなメッセージは、グループ内の装置に、それらの役割の再交渉を開始するようトリガしても良い。
したがって、図4に示した処理はサブプロセス420へループバックしても良く、サブプロセス420では役割を交渉する処理が繰り返されても良い。このように、装置は、検出された状態変化に基づき、グループ内の役割の再交渉をトリガしても良い。再交渉の結果、同一又は異なる装置がグループを制御するために選択されても良い。
処理がブロック446を通るとき、現在グループオーナとして動作している装置により再交渉がトリガされる。図4は、再交渉がグループ内の任意の装置によりトリガされても良いことを示す。図示のように、処理は、処理を実行している装置がグループオーナとして動作しているか否かに依存して、決定ブロック432で分岐する。グループオーナとして動作していない場合、処理はサブプロセス450に進む。サブプロセス450で、図4の処理を実行している装置は、自身に割り当てられたクライアントとして役割で通信しても良い。サブプロセス450でクライアントとして通信している装置により行われる特定の動作は、本発明にとって重要ではない。しかしながら、これらの動作は、グループ内で通信した装置により用いられるピアツーピアプロトコルに依存しても良い。このような通信は、例えば、グループを制御するために選択された装置とのメッセージ交換を含んでも良い。
クライアント通信の一部として行われる動作に拘わらず、処理は決定ブロック452へ進んでも良い。決定ブロック452では、状態変化が検出された場合、処理は分岐しても良い。決定ブロック452での処理は、上述の決定ブロック444で実行される処理と同様であっても良い。しかしながら、決定ブロック452での処理は、装置がグループオーナではなくクライアントとして選択されたときに実行される。しかしながら、状態変化が生じていない場合、処理は、決定ブロック452からサブプロセス450へループバックしても良い。このように、装置は、グループのクライアントとしての自身の役割で通信を継続しても良い。
逆に、決定ブロック452での処理が状態変化が生じたと決定した場合、処理は、決定ブロック452からブロック454へ分岐しても良い。ブロック454で、装置は、再交渉メッセージを送信しても良い。ブロック454で送信されたメッセージは、ブロック446で送信されたメッセージと同じフォーマットであっても良い。しかしながら、理解されるべきことに、ブロック446での処理はグループオーナとして動作する装置により実行され、ブロック454での処理はクライアントとして動作する装置により実行される。幾つかのピアツーピアプロトコルによると、クライアントにより送信されるメッセージのフォーマット化は、グループオーナにより送信されるメッセージのフォーマットと異なっても良い。しかしながら、メッセージの特定のフォーマット化は、ブロック446又は454で送信されるかに拘わらず、本発明にとって重要ではない。メッセージのフォーマット化に拘わらず、メッセージは、グループ内の装置の役割を再交渉するようグループ内の他の装置をトリガしても良い。したがって、図4は、処理がブロック454からサブプロセス420へループバックし、サブプロセス420で役割が交渉されることを示す。
グループ内の一部又は全部の装置で図4の処理が実行されると、グループは、装置の相対的状態に基づき時間と共に変化するグループを制御するために選択された装置を有し動作し得る。例えば、ブロック444及び452で検討される状態が電力状態である実施形態では、グループは、常にグループ内の装置の相対的電力状態に基づき変化するグループを制御するために選択された装置を有し、動作し続けても良い。特定の例として、非消耗電源を有する装置がグループオーナとして選択されても良い。この選択は、相対的電力状態が変化した場合に変化しても良い。非消耗電源を有する装置が存在しない実施形態では、最も高い充電残量を有する装置がグループを制御するために選択されても良い。しかしながら、グループオーナを選択するために他の基準が用いられる実施形態では、選択されたグループオーナは、他の基準に基づき時間と共に変化しても良い。
グループ内の装置は、任意の適切なフォーマットのメッセージを用いて何時でも交渉しても良い。しかしながら、図5(A)、(B)、(C)は、例示的な実施形態に従って用いられ得るメッセージフォーマットを示す。図5(A)は、グループを制御する装置の選択に至る交渉で用いられ得るメッセージ510を示す。本例では、メッセージ510は、グループの制御装置を交渉するためのピアツーピアプロトコルに従って定められる動作フレームとしてフォーマット化される。メッセージ510は、例えば、メッセージの種類を示す部分512を有しても良い。本例では、部分512は、メッセージ510がグループを制御する装置の選択に至る交渉のためのものであることを示す値を有する。したがって、メッセージ510は、交渉のために用いられる情報を伝達する部分514を有する。部分514は、本例では、グループを制御するために選択される、メッセージ510を送信する装置のプレファレンスを示すパラメータの値を有する。
図5Bは、グループが形成され及びグループを制御する装置が選択された後に、再交渉をトリガするために送信され得るメッセージ520を示す。メッセージ520は、任意の適切な方法でフォーマット化されても良い。本例では、メッセージ520は、グループにより用いられるピアツーピアプロトコルの動作フレームに従ってフォーマット化される。したがって、メッセージ520は、メッセージ520が動作フレームであると示す値を含む部分522を有する。部分522の特定の値は、動作フレームの種類を識別しても良い。本例では、動作フレームの種類は、本発明にとって重要ではないが、ピアツーピアプロトコルに依存してクライアント装置により送信される種類であっても良い。しかしながら、任意の動作フレームは、再交渉に関連する情報要素の合併により変更されても良い。本例では、メッセージ520は、情報要素を表す値を有する部分524を含むとして示される。情報要素は、メッセージ520を送信する装置がグループを制御する装置の再交渉を要求していることを示す値を有しても良い。このようなメッセージは、例えば、クライアントにより送信される場合にブロック454で、又はグループを制御する装置により送信される場合にブロック446で、送信されても良い。
図5(C)は、メッセージ530を示す。メッセージ530は、メッセージ520と同様に、ピアツーピアグループを制御するよう動作する装置の再交渉をトリガする一部として送信されても良い。メッセージ530のフォーマットは本発明にとって重要ではないが、本例では、メッセージ530は部分532を有する。部分532は、メッセージ530が、グループにより用いられるピアツーピアプロトコルに従ってフォーマット化された動作フレームであることを示す。動作フレームの特定の種類は、部分532内の値により示されても良い。しかしながら、図5(C)に示した例示的な実施形態では、任意の動作フレームは、情報要素の合併により再交渉に関連するよう変更されても良い。
図5(C)の例では、メッセージ530は、このような情報要素を有する部分534を含むとして示される。したがって、メッセージ530は、メッセージ520と類似したフォーマットを有する。しかしながら、メッセージ530及び520は、メッセージ530が、グループを制御する装置を再交渉するためのグループ内の装置に対するコマンドとして動作する部分534内の値を有する点で異なる。したがって、メッセージ530は、ブロック446及び/又はブロック454(図4)で送信されても良い。
図5(C)のようにフォーマット化されたメッセージは、再交渉をトリガするために、図5(B)のようにフォーマット化されたメッセージの代わりに又はそれに追加して用いられても良い。幾つかの実施形態では、グループ内の装置は、メッセージ530のようにフォーマット化されたメッセージを送信することにより、再交渉を直接トリガしても良い。メッセージ530は、グループ内の全ての装置により、グループを制御するために選択された装置の再交渉を開始するためのコマンドとして解釈されても良い。他の実施形態では、グループ内の一部の装置のみが、再交渉を直接トリガするためのコマンドを送信しても良い。例えば、他の装置は、メッセージ520のようにフォーマット化された要求を送信しても良い。このような実施形態では、このような要求を受信する装置は、再交渉が実行されるべきか否かを決定しても良い。再交渉が実行されるべきであると決定された場合、メッセージ530のようにフォーマット化された再交渉のためのコマンドは、該装置により送信されても良い。このようなメッセージの交換は、例えば、現在グループを制御している装置のみが再交渉を生じるためのコマンドを送信する実施形態で生じ得る。クライアントとして動作する装置は、メッセージ520のようにフォーマット化された再交渉要求を送信しても良い。
このように別個の要求とコマンドを用いることにより、グループ内の装置の状態が変化したときに再交渉を選択的に実行できる。しかしながら、再交渉は、グループの動作を妨げないよう制限されても良い。特定の例では、クライアントは、再交渉の要求を送信しても良いが、それに応じて、制御装置は、グループ内の1又は複数の装置が動作を実行中である場合、又は再交渉が最近実行された場合は、再交渉を実行する命令を送信しなくても良い。
理解されるべきことに、図5(A)、(B)、(C)は、ピアツーピアグループで用いられ得るメッセージフォーマットの例を提供する。これらの又は他の適切なメッセージは、グループを制御する装置又は該グループ内のクライアントにより送信されても良い。幾つかの実施形態では、グループ内の装置の役割に依存して、該装置により異なるメッセージが送信されても良い。図6は、グループを制御する役割を割り当てられている装置の例示的な動作方法を示す。本例では、装置は、Wi-Fi Directプロトコルに従って動作しても良く、装置はグループオーナとして指名されても良い。
図示のように、図6の処理はサブプロセス610で開始しても良い。サブプロセス610では、グループを形成する装置が特定される。サブプロセス610における処理は、任意の適切な方法で実行されても良い。一例として、サブプロセス610は、上述のサブプロセス410(図4)と同じ方法で実行されても良い。
サブプロセス610が実行される方法に拘わらず、処理は、決定ブロック620に進んでも良い。決定ブロック620で、処理は、図6の処理を実行する装置の状態に依存して分岐しても良い。本例では、処理は、装置の電力状態に基づき分岐する。決定ブロック620で、処理は、装置がAC電源に接続されるか否かに依存して分岐しても良い。装置がAC電源に接続されている場合、処理は、決定ブロック620からブロック622へ分岐する。逆に、装置がAC電源に接続されていない場合、処理は、決定ブロック620から決定ブロック630へ分岐する。
処理がブロック622に到達した場合、装置は、自身の電力状態に基づきプレファレンスパラメータの値を選択する。本例は、処理がブロック622に到達すると、AC電力への接続に基づき、装置のグループオーナであるためのプレファレンス値が選択される。幾つかの実施形態では、処理がブロック622に到達した場合、比較的高い値が選択されても良い。しかしながら、選択される特定値は、装置内のプログラミングされたポリシ、又は電力状態のような検出した状態に基づき値を生成する他の基準に依存しても良い。
逆に、処理が決定ブロック630へ分岐した場合、再び装置の電力状態に基づき更なる分岐が行われても良い。本例では、3個の電力状態が示される。AC電力に対応する1つの電力状態、及びバッテリ電力による動作に対応する2つの電力状態である。バッテリ給電状態は、バッテリの充電残量に基づき区別される。処理が決定ブロック630に到達すると、装置は、バッテリ電力により動作していると決定されている。したがって、処理は、バッテリの充電状態に依存して分岐する。バッテリ充電が閾より高い場合、処理は、決定ブロック630からブロック632へ分岐しても良い。逆に、バッテリ充電が閾より低い場合、処理は、決定ブロック630からブロック634へ分岐しても良い。
ブロック632及び634の両方で、グループオーナであるためのプレファレンスを示す値が選択される。それぞれの場合に、選択される特定値は、装置の検出された電力状態、及びポリシ又は装置により適用される他の基準に基づく。したがって、処理がブロック632に到達した場合、バッテリ電力による動作に対応し及び閾より高いバッテリ充電レベルを有する電力状態に相応しい値が選択される。逆に、処理がブロック634に到達した場合、閾より低い充電残量を有するバッテリ電力による動作を示す電力状態に相応しい値が選択される。
ブロック622、632、634で選択される特定値に拘わらず、処理は、サブプロセス640に進んでも良い。サブプロセス640で、図6の処理を実行する装置は、選択されたプレファレンスパラメータ値を含む1又は複数のメッセージを送信しても良い。サブプロセス640の処理は、サブプロセス420(図4)と関連して上述した方法と同じ方法で又は任意の他の適切な方法で実行されても良い。このような処理の結果として、装置は、グループを制御するために選択されるか又はグループオーナのクライアントになるよう選択されても良い。しかしながら、本例では、図6に示した残りの処理は、サブプロセス640の結果、装置がグループオーナとして選択されているときに実行される処理を表す。
処理は、ブロック650に進む。ブロック650で、装置の状態は格納されても良い。ブロック650の処理は、ブロック430(図4)と関連して上述した処理と同様であっても良い。このような処理の結果として、装置は、任意の適切なコンピュータ記憶媒体に、サブプロセス640により表される交渉のときの自身の状態を格納しても良い。ブロック650で格納される状態情報は、決定された装置の電力状態を有しても良い。しかしながら、理解されるべきことに、代替で又は追加で、ブロック650で、任意の適切な情報が格納されても良い。一例として、代替で又は追加で、状態情報は、交渉が実行されたときを示す時間情報を有しても良い。例えば、時間経過を含む要因に基づき再交渉が実行され又は阻止される実施形態では、このような時間情報が格納されても良い。特定の例として、幾つかの実施形態では、再交渉は、所定時間量の経過後に実行されても良い。代替で又は追加で、幾つかの実施形態では、1又は複数の装置の状態の変化に拘わらず、前の再交渉から閾を超える時間量が経過しない限り、再交渉は抑制されても良い。
ブロック650で格納される特定情報に拘わらず、図6は、処理が、再交渉が実行されるべきか否かの決定に進むことを示す。本例では、再交渉が実行されるべきか否かを決定するために、3つの基準が適用される。しかしながら、理解されるべきことに、任意の適切な数及び種類の基準が、再交渉が実行されるべきか否かを決定するために用いられても良い。この特定の例では、処理は決定ブロック662に進む。決定ブロック662で、処理は、装置の電力状態の変化に基づき分岐する。図示の実施形態では、装置はグループオーナとして動作し、装置のポリシは、最も高い利用可能電力段階を有する装置にグループオーナであるというプレファレンスを課す。したがって、グループオーナとして動作している装置の電力状態が低下した場合、該装置は再交渉をトリガしても良く、その結果、より高い電力状態を有する別の装置が存在する場合には、別の装置がグループオーナとして選択されても良い。
したがって、電源状態が低下した場合、処理は、決定ブロック662からブロック670へ分岐する。ブロック670で、装置は、再交渉コマンドを送信しても良い。ブロック670で送信されたメッセージは、例えばメッセージ530(図5(C))のようにフォーマット化されても良い。しかしながら、理解されるべきことに、ブロック670で送信されるメッセージの特定のフォーマットは、本発明にとって重要ではない。図示の実施形態では、グループ内の他の装置は、ブロック670で送信されたメッセージを、グループオーナを選択するサブプロセスを繰り返すコマンドとして認識しても良い。したがって、ブロック670から、図6の処理は、決定ブロック620へループバックする。決定ブロック620で、交渉が再び開始される。
逆に、電力状態の低下が検出されない場合、図6の処理は、決定ブロック662から決定ブロック664へ進んでも良い。決定ブロック664で、処理は、グループオーナとして動作している装置がグループ内の他の装置から再交渉要求を受信したか否かに依存して、ブロック670へ分岐しても良い。決定ブロック664での処理は、グループオーナがメッセージ520(図5(B))のようにフォーマット化されたメッセージを受信したか否かの決定を伴っても良い。しかしながら、理解されるべきことに、クライアントがグループオーナにグループオーナの再交渉を要求していることを伝える特定のフォーマットは、本発明にとって重要ではない。
図示のように、受信メッセージのフォーマットに拘わらず、このような要求が受信された場合には、処理は、決定ブロック664からブロック670へ分岐し、ブロック670で再交渉が命じられる。
再交渉要求が受信されないとき、処理は、決定ブロック666へ進んでも良い。決定ブロック666で、処理は、図6の処理を実行しているグループオ―ナとして動作している装置が、新しい装置がクライアントとしてグループに参加することを許可したか否かに従って、再び分岐しても良い。新しいクライアントがグループに参加した場合、処理は、決定ブロック662からブロック670へ分岐しても良い。ブロック670で、再交渉がトリガされても良い。その結果、グループオーナとして動作することがより適している新しい装置がグループオーナになっても良い。
図6は、新しいクライアントがグループに参加しなかった場合、処理が決定ブロック666の次に終了することを示す。理解されるべきことに、図6に示した処理の後に、任意の適切な処理が実行されても良い。例えば、再交渉をトリガし得る1又は複数の基準が更にテストされても良い。さらに、図6に明示しないが、グループオーナを再交渉するか否かを決定するためのテストは、周期的に再適用されても良い。さらに、図6の処理を実行している装置は、その後に、通信又はグループの制御を含む他の動作を実行しても良い。
図6の非限定的な例から理解されるように、再交渉は、多数の基準のうちのいずれかに全体的に又は部分的に基づいても良い。これらの基準は、グループを制御する装置の電力状態、グループのクライアントにより検出された条件、又はグループメンバの変化に基づいても良い。代替又は追加で、グループオーナの再交渉が実行されるべきか否か及び実行されるべきときを決定するために、任意の他の適切な基準が適用されても良い。
クライアント装置は、グループオーナの再交渉に対して応答し又は再交渉をトリガする処理を実行しても良い。図7は、ピアツーピアグループのクライアントである装置の動作の処理を示す。図7の処理はサブプロセス710で開始しても良い。サブプロセス710では、グループのメンバが特定される。サブプロセス710における処理は、サブプロセス410(図4)又はサブプロセス610(図6)で実行された処理と同様であっても良い。このような処理は、任意の適切な方法で実行されても良い。
グループを形成する装置が特定される方法に拘わらず、処理は、決定ブロック720に進んでも良い。本例では、決定ブロック720は、図7の処理を実行する装置のプレファレンス値を選択する処理の開始を表す。このようなプレファレンスは、装置でプログラミングされたポリシに基づき選択されても良く、装置がグループオーナになるというプレファレンスを示しても良い。本例では、プレファレンス値は、装置の電力状態に基づき選択される。したがって、決定ブロック720で、処理は、装置がAC電源に接続されるか否かに依存して分岐する。装置がAC電源に接続されない場合、処理は決定ブロック730へ分岐する。決定ブロック730で、処理は、装置に給電するバッテリの充電残量に依存して更に分岐する。したがって、電力状態に基づき、装置は、ブロック722、732、734のうちの1つで処理を実行する。本例では、ブロック722の処理は、ブロック622の処理と同様に実行されても良い。ブロック732の処理は、ブロック632の処理と同様に実行されても良い。ブロック734の処理は、ブロック634の処理と同様に実行されても良い。しかしながら、ブロック722、732、734では、これらのブロックの各々で選択されたプレファレンスパラメータの特定値は、ポリシ又は図7の処理を実行する装置に固有であっても良い他の基準に依存しても良い。その結果、グループオーナであるという装置のプレファレンスを表す値は、装置の電力状態に基づき選択される。
プレファレンス値が選択される方法に拘わらず、処理は、サブプロセス740に進んでも良い。サブプロセス740で、装置は、装置をグループオーナとして選択するために、グループ内の1又は複数の他の装置とメッセージを交換しても良い。サブプロセス740の処理は、サブプロセス640の処理と同じであっても良い。しかしながら、本例では、処理を実行している装置をグループオーナとして選択する代わりに、サブプロセス740でのメッセージ交換の結果、他の装置をグループオーナとして選択する。したがって、図7の処理を実行している装置は、グループのクライアントとしての役割を割り当てられる。
次に、処理はブロック750へ進み、交渉のときの装置の状態が格納される。ブロック750の処理は、ブロック650(図6)の処理と同様に実行されても良い。任意の適切なパラメータが、この状態を定めるために格納されても良い。また、クライアントとして選択された装置及びグループオーナとして選択された装置は、グループオーナの再交渉をトリガすべきか否かを決定するために異なる基準を適用しても良い。したがって、幾つかの実施形態では、ブロック750で、ブロック650(図6)とは異なるパラメータの値が格納されても良い。
図7の処理を実行している装置は、電力状態の変化に基づき再交渉をトリガしても良い。本例では、装置は、クライアントとして動作しており、自身の電力状態が増大したときに再交渉をトリガする。したがって、図7は、決定ブロック760で、装置の電力状態が増大したか否かに基づき、処理が分岐することを示す。電源状態が増大した場合、処理は、決定ブロック760からブロック762へ分岐する。
ブロック762で、装置は、再交渉要求を送信しても良い。ブロック762で送信されたメッセージは、メッセージ520(図5(B))のようにフォーマット化されても良い。しかしながら、理解されるべきことに、ブロック762で送信されるグループオーナを再交渉するための要求の特定のフォーマットは、本発明にとって重要ではない。このようなメッセージは、任意の適切なフォーマットを有しても良い。例えば、図5(B)に明示しないが、再交渉要求メッセージ520は、要求を受け付けるか否か及び再交渉を命じるか否かを決定するためにグループオーナにより用いられ得る追加情報を有しても良い。一例として、再交渉要求メッセージ520は、装置の新しい電力状態、又は電力状態に基づき計算され得る新しいプレファレンス値を示す追加フィールドを有しても良い。グループオーナは、このような情報を、例えば、再交渉の結果として異なる装置がグループオーナとして選択されるか否かを決定するために用いても良い。クライアントの電力状態が増大したが依然として現在のグループオーナの電力状態以下である状況では、グループオーナは、再交渉をトリガするコマンドを発行しなくても良い。
ブロック762で送信されるメッセージのフォーマットに拘わらず、処理は、決定ブロック764に進んでも良い。決定ブロック764で、処理は、再交渉コマンドが受信されたか否かに依存して分岐しても良い。決定ブロック764での処理は、グループオーナがクライアント装置から受信した要求に応答して再交渉のコマンドを条件付きで発行する実施形態で用いられても良い。したがって、処理は、決定ブロック764から決定ブロック720へループバックし、このようなコマンドが受信された場合のみ、再交渉の処理を開始する。このようなコマンドが受信されない場合、図7の処理は終了しても良い。
しかしながら、理解されるべきことに、図7の処理を実行している装置は、決定ブロック764の実行に続いて他の動作を実行しても良い。例えば、該装置は、後で再交渉コマンドに応答するか、又は周期的に電力状態の変化を調べるか若しくは電力状態の変化を示すイベントに応答しても良い。代替又は追加で、装置は、ピアツーピアグループのクライアント装置に関連する機能のような他の機能を実行しても良い。図4〜7の処理は、グループの一部として通信するよう構成される任意の装置で実行されても良い。
図8は、本発明が実施され得る適切なコンピューティングシステム環境800の一例を示す。コンピューティングシステム環境800は、適切なコンピューティング環境の単なる一例であり、本発明の使用又は機能の範囲に関する限定を示唆するものではない。また、コンピューティング環境800は、例示的な動作環境800内に示した1コンポーネントまたはコンポーネントの組合せへの依存性又はそれらに対する要件を有すると解釈されるべきではない。
本発明は、多数の他の汎用目的の又は特定目的のコンピューティングシステム環境又は構成で動作可能である。本発明と共に使用するのに適するコンピューティングシステム、環境及び/又は構成の良く知られた例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド若しくはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットトップボックス、プログラマブル消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上述のシステム若しくは装置のうちの任意のものを含む分散型コンピューティング環境、等を含むが、これらに限定されない。
コンピューティング環境は、プログラムモジュールのようなコンピュータ実行可能命令を実行しても良い。概して、プログラムモジュールは、特定のタスクを実行し又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含む。本発明は、タスクが通信ネットワークを通じて接続されるリモート処理装置により実行される分散型コンピューティング環境で実施されても良い。分散型コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカル及びリモートの両方のコンピュータ記憶媒体に置かれても良い。
図8を参照すると、本発明を実施する例示的なシステムは、コンピュータ810の形式の汎用コンピューティング装置を有する。コンピュータ810のコンポーネントは、処理ユニット820、システムメモリ830、及びシステムメモリを含む種々のシステムコンポーネントを処理ユニット820に結合するシステムバス821を有し得るが、これらに限定されない。システムバス821は、メモリバス又はメモリ制御部、周辺バス、及び種々のバスアーキテクチャのうちの任意のものを用いるローカルバスを含む複数種類のバス構造のうちの任意のものであっても良い。例として、限定ではなく、このようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、Mezzanineバスとしても知られているPCI(Peripheral Component Interconnect)バスを含む。
コンピュータ810は、通常、種々のコンピュータ可読媒体を有する。コンピュータ可読媒体は、コンピュータ810によりアクセス可能な任意の利用可能な媒体であり、揮発性及び不揮発性媒体並びに取り外し可能及び非取り外し可能媒体の両方を含む。例として、限定ではなく、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を有しても良い。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータのような情報を記憶する方法又は技術で実装される揮発性及び不揮発性、取り外し可能及び非取り外し可能媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD−ROM、DVD(digital versatile disk)又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、又は所望の情報を格納するために用いることができコンピュータ810によりアクセスできる任意の他の媒体を含むがこれらに限定されない。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール又は搬送波又は他のトランスポート機構のような変調されたデータ信号内の他のデータを具現化しても良く、任意の情報配信媒体を有しても良い。用語「変調データ信号」は、1又は複数の特性セットを有する信号を意味し、又は信号内の情報をエンコードするために変更されても良い。例として限定ではなく、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体、並びに音響、RF、赤外線(IR)のような無線媒体及び他の無線媒体を含む。上述のうちの任意の組合せも、コンピュータ可読媒体の範囲に包含されるべきである。
システムメモリ830は、ROM(read only memory)831及びRAM(random access memory)832のような、揮発性メモリ及び/又は不揮発性メモリの形式のコンピュータ記憶媒体を含む。BIOS(basic input/output system)833は、起動中のような、コンピュータ810内の要素間の情報転送を助ける基本ルーチンを含み、通常、ROM831に格納される。RAM832は、通常、処理ユニット820により直ちにアクセス可能な及び/又はそれにより現在動作中のデータ及び/又はプログラムモジュールを有する。例として、限定ではなく、図8は、オペレーティングシステム834、アプリケーションプログラム835、他のプログラムモジュール836、及びプログラムデータ837を示す。
コンピュータ810は、他の取り外し可能/非取り外し可能な、揮発性/不揮発性コンピュータ記憶媒体を有しても良い。単なる例として、図8は、非取り外し可能不揮発性磁気媒体からリードし及びそれにライトするハードディスクドライブ841、取り外し可能不揮発性磁気ディスク852からリードし又はそれにライトする磁気ディスクドライブ851、及びCD ROM若しくは他の光学媒体のような取り外し可能不揮発性光ディスク856からリードし又はそれにライトする光ディスクドライブ855を示す。例示的な動作環境で使用可能な、他の取り外し可能/非取り外し可能な揮発性/不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、DVD(digital versatile disk)、デジタルビデオテープ、固体RAM、固体ROM、等を有するが、これらに限定されない。ハードディスクドライブ841は、通常、インタフェース840のような非取り外し可能メモリインタフェースを通じてシステムバス821に接続される。磁気ディスクドライブ851及び光ディスクドライブ855は、通常、インタフェース850のような取り外し可能メモリインタフェースによりシステムバス821に接続される。
上述の及び図8に示したドライブ及びそれらの関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピュータ810のための他のデータの記憶を提供する。例えば、図8では、ハードディスクドライブ841は、オペレーティングシステム844、アプリケーションプログラム845、他のプログラムモジュール846、及びプログラムデータ847を格納するとして示される。留意すべきことに、これらのコンポーネントは、オペレーティングシステム834、アプリケーションプログラム835、他のプログラムモジュール836、及びプログラムデータ837と同じか又は異なり得る。オペレーティングシステム844、アプリケーションプログラム845、他のプログラムモジュール846、及びプログラムデータ847は、少なくともそれらが異なるコピーであることを示すために、ここで異なる番号が与えられる。ユーザは、キーボード862及び通常マウス、トラックボール又はタッチパッドと称されるポインティング装置861のような入力装置を通じて、コンピュータ810にコマンド及び情報を入力しても良い。他の入力装置(図示しない)は、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、等を有しても良い。上述の及び他の入力装置は、システムバス820に結合されるユーザ入力インタフェース860を通じて、処理ユニット820に接続される場合が多いが、パラレルポート、ゲームポート又はUSB(universal serial bus)ポートのような他のインタフェース及びバス構造により接続することもできる。モニタ891又は他の種類のディスプレイ装置は、ビデオインタフェース890のようなインタフェースを介してシステムバス821にも接続される。モニタに加えて、コンピュータは、スピーカ897及びプリンタ896のような、出力周辺機器インタフェース895を通じて接続され得る他の周辺出力装置を有しても良い。
コンピュータ810は、遠隔コンピュータ880のような1又は複数のリモートコンピュータへの論理コネクションを用いてネットワーク環境で動作しても良い。リモートコンピュータ880は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置又は他の一般的なネットワークノードであって良く、通常、コンピュータ810に関して上述した要素の多く又は全てを有する。しかしながら、メモリ記憶装置881のみを図8に示す。図8に示した論理コネクションは、LAN(local area network)871及びWAN(wide area network)873を有するが、他のネットワークも有しても良い。このようなネットワーク環境は、職場、企業規模のコンピュータネットワーク、イントラネット及びインターネットで一般的である。
LANネットワーク環境で用いられるとき、コンピュータ810は、ネットワークインタフェース又はアダプタ870を通じて、LAN871に接続される。WANネットワーク環境で用いられるとき、コンピュータ810は、通常、モデム872又はインターネットのようなWAN873を介して通信を確立する他の手段を有する。内蔵又は外付けであって良いモデム872は、ユーザ入力インタフェース860又は他の適切なメカニズムを介してシステムバス821に接続されても良い。ネットワーク環境では、コンピュータ810に関連して示されたプログラムモジュール又はその部分は、遠隔メモリ記憶装置に格納されても良い。例として、限定ではなく、図8は、リモートアプリケーションプログラム885がメモリ装置881に存在するとして示す。理解されるべきことに、図示のネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を用いることが出来る。
したがって、本発明の少なくとも1つの実施形態の幾つかの態様を記載したが、理解されるべきことに、当業者には種々の変形、修正及び改良が直ちに生じるだろう。
例えば、グループオーナの最初の交渉及び再交渉が同一処理に従って実行されると記載したが、同一処理の使用は本発明の必要条件ではない。例えば、グループオーナが選択されると、装置は次のグループオーナを選択しても良い。
このような代替、変更及び改良は、本開示の一部であると考えられ、本発明の精神及び範囲内に包含される。したがって、前述の説明及び図面は、単なる例である。
本発明の上述の実施形態は、種々の方法のうちの任意の方法で実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組み合わせで実施されても良い。ソフトウェアで実施されるとき、単一のコンピュータで又は複数のコンピュータ間で分散して提供されるかに関わらず、ソフトウェアコードは、任意の適切なプロセッサ又はプロセッサの集合で実行できる。このようなプロセッサは、集積回路として実装され、集積回路コンポーネント内に1又は複数のプロセッサを有しても良い。しかしながら、プロセッサは、任意の適切な形態の回路を用いて実装されても良い。
さらに、理解されるべきことに、コンピュータは、ラック搭載コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又はタブレットコンピュータのような多数の形態のうちの任意の形態で実施されても良い。さらに、コンピュータは、一般的にコンピュータとして考えられないが適切な処理能力を有する、PDA(Personal Digital Assistant)、スマートフォン又は任意の他の適切なポータブル若しくは固定電子機器を含む装置内に実装されても良い。
また、コンピュータは、1又は複数の入力及び出力装置を有しても良い。これらの相対は、特にユーザインタフェースを提示するために用いることができる。ユーザインタフェースを提供するために用いることができる出力装置の例は、出力の視覚的提示のためのプリンタ又はディスプレイスクリーン、及び出力の聴覚的提示のためのスピーカ又は他の音響生成装置を含む。ユーザインタフェースのために用いることができる入力装置の例は、キーボード、並びにマウス、タッチパッド及び離散化タブレットのようなポインティング装置を含む。別の例として、コンピュータは、音声認識を通じて又は他の可聴形式で入力情報を受信しても良い。
このようなコンピュータは、ローカルエリアネットワーク又は企業ネットワーク若しくはインターネットのようなワイドエリアネットワークを含む1又は複数のネットワークにより任意の適切な形式で相互接続されても良い。このようなネットワークは、任意の適切な技術基づき、任意の適切なプロトコルに従って動作し、無線ネットワーク、有線ネットワーク又は光ファイバネットワークを有しても良い。
また、本願明細書で概説した種々の方法又は処理は、種々のオペレーティングシステム若しくはプラットフォームのうちの任意の1つを用いる1又は複数のプロセッサで実行可能なソフトウェアとして符号化されても良い。さらに、このようなソフトウェアは、多数の適切なプログラミング言語及び/又はプログラミング若しくはスクリプティングツールのうちの任意のものを用いて書かれても良く、フレームワーク若しくは仮想マシンで実行される実行可能機械言語コード若しくは中間コードとしてコンパイルされても良い。
これに関して、本発明は、1又は複数のプログラムをエンコードされたコンピュータ可読記憶媒体(又は複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1又は複数のフロッピディスク、CD(compact disc)、光ディスク、DVD(digital video disk)、磁気テープ、フラッシュメモリ、FPGA(Field Programmable Gate Array)若しくは他の半導体素子内の回路構成、又は他の非一時的有形コンピュータ記憶媒体)として実施されても良く、該プログラムは、1又は複数のコンピュータ又は他のプロセッサで実行されると、上述の本発明の種々の実施形態を実施する方法を実行する。1又は複数のコンピュータ可読記憶媒体は持ち運び可能であり、上述の本発明の種々の態様を実施するために、該コンピュータ可読記憶媒体に格納された1又は複数のプログラムが1又は複数の異なるコンピュータ若しくは他のプロセッサにロードできる。本願明細書で用いられるように、用語「非一時的コンピュータか独記憶媒体」は、製造物(つまり、製品)又は機械として考えられるコンピュータ可読媒体のみを含む。代替又は追加で、本発明は、コンピュータ可読記憶媒体以外の、伝搬する信号のようなコンピュータ可読媒体として実施されても良い。
用語「プログラム」又は「ソフトウェア」は、本願明細書では、上述の本発明の種々の態様を実施するためにコンピュータ又は他のプロセッサをプログラミングするために用いることができる任意の種類のコンピュータコード又はコンピュータ実行可能命令セットを表すために総称的に用いられる。さらに、理解されるべきことに、この実施形態の一態様によると、実行されると本発明の方法を実行する1又は複数のコンピュータプログラムは、単一のコンピュータ又はプロセッサに存在する必要はなく、本発明の種々の態様を実施するために多数の異なるコンピュータ又はプロセッサの間でモジュラ形式で分散されても良い。
コンピュータ実行可能命令は、プログラムモジュールのような、1又は複数のコンピュータ又は他の装置により実行される多くの形式であっても良い。概して、プログラムモジュールは、特定のタスクを実行し又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含む。通常、プログラムモジュールの機能は、種々の実施形態で必要に応じて結合され又は分散されても良い。
また、データ構造は、任意の適切な形式でコンピュータ可読媒体に格納されても良い。説明を簡単にするために、データ構造は、該データ構造内の位置を通じて関連するフィールドを有するとして示された。このような関係は、フィールド間の関係を伝達するコンピュータ可読媒体内の位置を有するフィールドに記憶を割り当てることにより達成されても良い。しかしながら、データ構造内の情報間の関係を確立するために、ポインタ、タグ又はデータ要素間の関係を確立する他のメカニズムの使用を含む任意の適切なメカニズムが用いられても良い。
本発明の種々の態様は、単独で、組合せで、又は上述の実施形態で詳細に議論されていない種々の構成で用いられることができるので、それらの用途は以上に説明された又は図面に記載されたコンポーネントの詳細事項及び構成に限定されない。例えば、一実施形態で説明した態様は、任意の方法で他の実施形態で説明した態様と組合せることができる。
また、本発明は、一例を提供した方法として実施されても良い。この方法の一部として実行される動作は、任意の適切な方法で順序付けられても良い。したがって、実施形態は、図示した順序と異なる順序で動作が実行されることも想定しており、説明のための実施形態では順次的動作として示していても、幾つかの動作を同時に実行することも含む。
請求項の要素を修飾するための請求項における「第1」、「第2」、「第3」等のような序数の使用は、それ自体がある請求項の要素の他者に対する優先度、先行若しくは順序、又は方法が実行される時間的順序を示すものではなく、請求項の要素を区別するために特定の名称を有する1つの請求項の要素を(序数の使用以外は)同じ名称を有する別の要素から区別するために単にラベルとして用いられる。
また、本願明細書で用いられる表現及び用語は、説明を目的としており、限定として見なされるべきではない。「含む、有する(including、comprising、having、containing、involving)」及びそれらの変形は、以降に列挙される項目及びそれらの等価物、並びに追加の項目を包含することを意味する。

Claims (10)

  1. 無線コンピューティング装置の動作方法であって、前記方法は、
    第1の時間に、複数の第1のメッセージを少なくとも1つのリモート装置と無線で交換するステップであって、前記第1の複数のメッセージは、ピアツーピアプロトコルに従ってフォーマット化され、前記無線コンピューティング装置を含むピアツーピアグループのグループオーナを選択する第1の交渉を有する、ステップと、
    前記第1の時間の後、第2の時間に、
    前記ピアツーピアグループの前記グループオーナの再交渉を示すメッセージを送信又は受信するステップと、
    第2の複数のメッセージを無線で交換するステップであって、前記第2の複数のメッセージは、前記ピアツーピアプロトコルに従ってフォーマット化され、前記ピアツーピアグループの新しいグループオーナを選択する第2の交渉を有する、ステップと、
    を有する方法。
  2. 前記無線コンピューティング装置は、前記第1の交渉の間に前記グループオーナとして選択され、
    前記グループオーナの再交渉を示す前記メッセージを送信又は受信するステップは、前記メッセージを送信するステップを有し、前記メッセージは再交渉のコマンドを有する、
    請求項1に記載の方法。
  3. 前記無線コンピューティング装置は、バッテリと、外部電源への接続とを有し、
    前記メッセージは、前記外部電源への接続が解除されたという決定に応答して送信される、
    請求項2に記載の方法。
  4. 前記無線コンピューティング装置は、バッテリを有し、
    前記メッセージは、前記バッテリが閾より低い電力を有するという決定に応答して送信される、
    請求項2に記載の方法。
  5. 前記メッセージは、前記ピアツーピアグループに参加する更なる装置からの要求に応答して送信される、
    請求項2に記載の方法。
  6. コンピューティング装置であって、
    送信機と、
    受信機と、
    前記送信器及び受信機に結合される制御部と、
    を有し、
    前記制御部は、前記送信機及び前記受信機を通じて通信して、少なくとも1つのリモート無線装置と第1のメッセージを交換し、ピアツーピアグループを形成し、前記グループ内の第1の装置を、少なくとも1つのグループ機能を制御する制御部として選択し、
    前記コンピューティング装置の検出された状態に応答して、前記送信機を通じて要求としてフォーマット化されたメッセージを通信して、前記ピアツーピアグループ内の少なくとも1つのリモート無線装置と第2のメッセージを交換し、前記グループ内の第2の装置を前記制御部として選択する、よう構成される、
    コンピューティング装置。
  7. 前記制御部は、
    前記受信機を通じて受信したメッセージに応答して、前記送信機及び前記受信機を通じて通信して、前記ピアツーピアグループ内の少なくとも1つのリモート無線装置と第3のメッセージを交換し、前記グループ内の第3の装置を前記制御部として選択する、よう構成される、
    請求項6に記載のコンピューティング装置。
  8. 前記状態は、前記コンピューティング装置の電源に関する状態である、
    請求項6に記載のコンピューティング装置。
  9. 前記コンピューティング装置は、前記制御部として選択された前記第1の装置であり、
    前記状態は、バッテリ電力による動作を有する、
    請求項8に記載のコンピューティング装置。
  10. 前記コンピューティング装置は、前記制御部として選択された前記第1の装置ではなく、
    前記状態は、AC電力による動作を有する、
    請求項8に記載のコンピューティング装置。
JP2013557778A 2011-03-11 2012-03-04 グループオーナの再交渉を有するピアツーピアグループ Pending JP2014509156A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/046,635 2011-03-11
US13/046,635 US20120233266A1 (en) 2011-03-11 2011-03-11 Peer-to-peer group with renegotiation of group owner
PCT/US2012/027646 WO2012125316A1 (en) 2011-03-11 2012-03-04 Peer-to-peer group with renegotiation of group owner

Publications (1)

Publication Number Publication Date
JP2014509156A true JP2014509156A (ja) 2014-04-10

Family

ID=46797067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013557778A Pending JP2014509156A (ja) 2011-03-11 2012-03-04 グループオーナの再交渉を有するピアツーピアグループ

Country Status (6)

Country Link
US (1) US20120233266A1 (ja)
EP (1) EP2684417A4 (ja)
JP (1) JP2014509156A (ja)
KR (1) KR20140012988A (ja)
CN (1) CN102711049A (ja)
WO (1) WO2012125316A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018051947A1 (ja) * 2016-09-15 2018-03-22 キヤノン株式会社 通信装置、通信方法、及びプログラム

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
JP4334534B2 (ja) * 2005-11-29 2009-09-30 株式会社東芝 ブリッジ装置及びブリッジシステム
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9019878B2 (en) * 2011-06-14 2015-04-28 Microsoft Technology Licensing, Llc Phone supporting mode conversion
KR101814810B1 (ko) 2011-08-08 2018-01-04 삼성전자주식회사 와이파이 다이렉트를 이용한 와이파이 피투피 그룹을 형성하는 방법 및 장치
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
CN104471962B (zh) 2012-04-10 2019-03-22 索尼公司 通信装置、通信控制方法
KR101920245B1 (ko) * 2012-04-13 2018-11-20 삼성전자주식회사 와이 파이 다이렉트 통신 시스템에서 연결 취소 시 대기 시간 단축을 위한 방법 및 그 전자 장치
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9026604B2 (en) * 2012-06-18 2015-05-05 Blackberry Limited System and method for identifying a replacement administrator for a communication network
US10554476B2 (en) * 2012-07-18 2020-02-04 Avagao Technologies International Sales Pte. Limited System and method for managing roles in a peer-to-peer connection
US9386616B2 (en) * 2012-08-14 2016-07-05 Lg Electronics Inc. Device and method for performing inter-device communication
CN103702291B (zh) * 2012-09-27 2017-06-09 中兴通讯股份有限公司 一种基于Wi‑Fi建立群组的方法和WiFi直连设备
US9147340B2 (en) 2012-10-19 2015-09-29 Intel Corporation Apparatus and methods for hybrid service discovery
RU2648580C2 (ru) * 2012-11-05 2018-03-26 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ поиска услуги или объявления ее в системе прямой связи и устройство для него
WO2014088308A1 (en) * 2012-12-04 2014-06-12 Samsung Electronics Co., Ltd. Apparatus and method for setting up communication link in wireless communication system
JP6141006B2 (ja) * 2012-12-27 2017-06-07 キヤノン株式会社 通信装置、制御方法、及びプログラム
CN103906171B (zh) * 2012-12-28 2017-12-26 腾讯科技(深圳)有限公司 游戏数据通信方法及终端
BR112015018905B1 (pt) 2013-02-07 2022-02-22 Apple Inc Método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico
US9370023B2 (en) 2013-03-11 2016-06-14 Motorola Solutions, Inc. Method and apparatus for resolving call collisions in a digital conventional direct mode
US9215689B2 (en) 2013-03-11 2015-12-15 Motorola Solutions, Inc. Method and apparatus for resolving call collisions in a digital conventional direct mode
US9538568B2 (en) * 2013-03-12 2017-01-03 Lg Electronics Inc. Method for peer to peer group formation in direct communication system and device therefor
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
DE112014001404T5 (de) * 2013-03-15 2016-05-19 Server Technology, Inc. Zu drahtlosen Kommunikationen fähige Stromverteilungseinheit und Techniken zur Kommunikation damit
US20140334338A1 (en) * 2013-05-13 2014-11-13 Electronics And Telecommunications Research Institute Method of generating peer service group and accessing link resources in peer service group
CN105264524B (zh) 2013-06-09 2019-08-02 苹果公司 用于实现跨数字助理的两个或更多个实例的会话持续性的设备、方法、和图形用户界面
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
JP6347633B2 (ja) * 2013-06-14 2018-06-27 キヤノン株式会社 通信装置、通信方法およびプログラム
EP3028484B1 (en) * 2013-08-04 2020-09-30 LG Electronics Inc. Method and apparatus for relocating group owner of proximity services group in wireless communication system
KR20150017848A (ko) * 2013-08-08 2015-02-23 삼성전자주식회사 와이파이 다이렉트 연결 방법 및 장치
KR20150031686A (ko) * 2013-09-16 2015-03-25 삼성전자주식회사 이동 통신 방법 및 그에 따른 단말, 그에 따른 시스템
CN104468070A (zh) * 2013-09-17 2015-03-25 鸿富锦精密工业(深圳)有限公司 网络群组建立系统及网络群组建立方法
US9357357B2 (en) * 2013-10-22 2016-05-31 Qualcomm Incorporated Group owner selection for a peer-to-peer group
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9439232B2 (en) * 2014-01-17 2016-09-06 GM Global Technology Operations LLC Managing traditional Wi-Fi and Wi-Fi direct connections using a wireless device
TWI533741B (zh) * 2014-01-23 2016-05-11 瑞昱半導體股份有限公司 支援點對點連線之無線通訊裝置與方法
US20150215808A1 (en) * 2014-01-30 2015-07-30 Sony Corporation Sharing power consumption for mobile gateway functionality in a wlan mesh network
JP6102799B2 (ja) * 2014-02-28 2017-03-29 ブラザー工業株式会社 無線通信機器
US20150293876A1 (en) * 2014-04-15 2015-10-15 Qualcomm Incorporated Wireless docking with multiple wireless docking centers
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
JP6709015B2 (ja) * 2014-06-24 2020-06-10 ブラザー工業株式会社 通信装置
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US20160095061A1 (en) * 2014-09-30 2016-03-31 Apple Inc. Reduced power consumption using coordinated beacon skipping
US9585180B2 (en) 2014-10-30 2017-02-28 Blackberry Limited Communication device, method and system for establishing wireless peer-to-peer connections
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US11587559B2 (en) * 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10867508B2 (en) * 2015-12-17 2020-12-15 Tive, Inc. Multi-sensor electronic device with wireless connectivity and sensing as a service platform and web application
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
JP6746427B2 (ja) * 2016-08-10 2020-08-26 キヤノン株式会社 通信装置、通信方法、及びプログラム
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
JP6475207B2 (ja) * 2016-09-13 2019-02-27 Necプラットフォームズ株式会社 無線通信装置、方法およびプログラム
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
CN108696842A (zh) * 2017-03-02 2018-10-23 北京小鸟听听科技有限公司 一种设备及其组网方法、输出方法
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
CN107483300A (zh) * 2017-07-24 2017-12-15 广东美的环境电器制造有限公司 多个智能设备的联动控制方法、系统和智能设备
KR102366312B1 (ko) * 2017-09-20 2022-02-25 삼성전자주식회사 근거리 통신의 재연결을 수행하는 전자 장치 및 그 동작 방법
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273883A (ja) * 2002-03-15 2003-09-26 Toshiba Corp 無線通信装置、無線通信方法、およびこれらを用いた無線通信システム
JP2005523666A (ja) * 2002-04-16 2005-08-04 トムソン ライセンシング ソシエテ アノニム 無線装置がその電力貯蓄に基づいてネットワークマスターとしてのステイタスを放棄するメカニズム
JP2007336398A (ja) * 2006-06-16 2007-12-27 Canon Inc 通信装置及びその制御方法
US20110026504A1 (en) * 2009-07-31 2011-02-03 Sony Corporation Continuous group ownership in an ieee 802.11 wireless local area network

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1075112B1 (en) * 1999-08-06 2006-03-08 International Business Machines Corporation Address management in PNNI hierarchical networks
JP2001103570A (ja) * 1999-09-30 2001-04-13 Toshiba Corp 通信システム、この通信システムに用いられる通信装置及び通信方法
US7702352B2 (en) * 2005-05-13 2010-04-20 Intel Corporation Network node power management methods and apparatus
CN104768191B (zh) * 2005-11-02 2020-03-17 美商内数位科技公司 用于建立接入点的协调群组的方法和接入点
US8866698B2 (en) * 2008-10-01 2014-10-21 Pleiades Publishing Ltd. Multi-display handheld device and supporting system
US8458504B2 (en) * 2009-06-19 2013-06-04 Texas Instruments Incorporated Peer-to-peer group owner enhanced power management
US8965283B2 (en) * 2009-08-10 2015-02-24 Qualcomm Incorporated Setting up a direct link in a peer to peer wireless network
US9949305B2 (en) * 2009-10-02 2018-04-17 Blackberry Limited Methods and apparatus for peer-to-peer communications in a wireless local area network
US9420631B2 (en) * 2009-10-02 2016-08-16 Qualcomm Incorporated WLAN peer-to-peer group owner negotiation
US20110225305A1 (en) * 2010-03-10 2011-09-15 Texas Instruments Incorporated System and method for determining group owner intent

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273883A (ja) * 2002-03-15 2003-09-26 Toshiba Corp 無線通信装置、無線通信方法、およびこれらを用いた無線通信システム
JP2005523666A (ja) * 2002-04-16 2005-08-04 トムソン ライセンシング ソシエテ アノニム 無線装置がその電力貯蓄に基づいてネットワークマスターとしてのステイタスを放棄するメカニズム
JP2007336398A (ja) * 2006-06-16 2007-12-27 Canon Inc 通信装置及びその制御方法
US20110026504A1 (en) * 2009-07-31 2011-02-03 Sony Corporation Continuous group ownership in an ieee 802.11 wireless local area network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018051947A1 (ja) * 2016-09-15 2018-03-22 キヤノン株式会社 通信装置、通信方法、及びプログラム
US11622023B2 (en) 2016-09-15 2023-04-04 Canon Kabushiki Kaisha Communication apparatus, communication method, and storage medium

Also Published As

Publication number Publication date
WO2012125316A1 (en) 2012-09-20
EP2684417A1 (en) 2014-01-15
EP2684417A4 (en) 2014-08-13
US20120233266A1 (en) 2012-09-13
KR20140012988A (ko) 2014-02-04
CN102711049A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
JP2014509156A (ja) グループオーナの再交渉を有するピアツーピアグループ
JP5980805B2 (ja) インフラストラクチャおよびダイレクト・モードを用いるワイヤレス・ネットワーク・インターフェース
US10959287B2 (en) Roaming groups in a Peer-to-Peer Network
US9762662B2 (en) Mass re-formation of groups in a peer-to-peer network
US9565708B2 (en) Auto-connect in a peer-to-peer network
US8806023B2 (en) Auto-connect in a peer-to-peer network
US8775533B2 (en) Auto connect in peer-to-peer network
US8634771B2 (en) Simple peer-to-peer network formation
US9693252B1 (en) Detecting device presence for a layer 3 connection using layer 2 discovery information
US9019878B2 (en) Phone supporting mode conversion
JP5301533B2 (ja) ニアフィールド・リンクを最適化する方法
EP2605552A2 (en) Method and apparatus for managing device discovery in wireless system
US8799459B2 (en) Event-driven detection of device presence for layer 3 services using layer 2 discovery information
JP5387368B2 (ja) 通信装置、通信システム、通信方法およびプログラム
CN105557036A (zh) 装置之间的网络接入的高效自动共享
EP2806614A2 (en) Apparatus and method for performing wireless docking operation in communication system supporting universal plug and play protocol
JP2015516715A (ja) ピアツーピア接続を実行するためのシステム及び方法
JP6515804B2 (ja) 通信端末
JP2010035065A (ja) 通信機器、通信制御プログラムおよび通信制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150204

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160816

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170112

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170120

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170303