JP2017033571A - プロキシミティサービスのための方法及びコンピューティングシステム - Google Patents

プロキシミティサービスのための方法及びコンピューティングシステム Download PDF

Info

Publication number
JP2017033571A
JP2017033571A JP2016160091A JP2016160091A JP2017033571A JP 2017033571 A JP2017033571 A JP 2017033571A JP 2016160091 A JP2016160091 A JP 2016160091A JP 2016160091 A JP2016160091 A JP 2016160091A JP 2017033571 A JP2017033571 A JP 2017033571A
Authority
JP
Japan
Prior art keywords
proximity
application
connection
peer
service
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
JP2016160091A
Other languages
English (en)
Inventor
クリストファー ポティエ,マーク
Christopher Pottier Marc
クリストファー ポティエ,マーク
グレン モリス,マックス
Glenn Morris Max
グレン モリス,マックス
ジェイ マーティン,トラヴィス
J Martin Travis
ジェイ マーティン,トラヴィス
エヌ ロホルト,マイケル
N Loholt Michael
エヌ ロホルト,マイケル
アール デイヴィス,ダレン
R Davis Darren
アール デイヴィス,ダレン
ブーシャン ダンダワテ,プリヤ
Bhushan Dandawate Priya
ブーシャン ダンダワテ,プリヤ
エー シップレイ,ケントン
A Shipley Kenton
エー シップレイ,ケントン
エム ジア,フラム
M Zia Khurram
エム ジア,フラム
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 Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of JP2017033571A publication Critical patent/JP2017033571A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/40Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
    • H04B5/48Transceivers
    • 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/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • 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/53Network services using third party service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Telephone Function (AREA)

Abstract

【課題】アプリケーションが、プロキシミティ技術に直接的に相互作用する必要なしに、様々なユーザ体験を提供する。
【解決手段】プロキシミティサービスは、プロキシミティプロバイダからプロキシミティ接続が確立されているという指示を受信し、プロキシミティ接続のコンテキストを決定する。プロキシミティサービスは、コンテキストによって指示されたプロキシミティ機能を実現し易くするためにプロキシミティアクションを開始する。コンテキストは、アプリケーションがプロキシミティ装置と共有するコンテンツをキューに入れた、アプリケーションが名前空間上でメッセージを公開した、アプリケーションが名前空間上のメッセージに参加した、アプリケーションをプロキシミティ装置上でピアアプリケーションを見つけるために登録した、および、装置が他の装置とペアを組もうとする、という指示を含む。
【選択図】図3

Description

開示される実施の形態はプロキシミティサービスのための方法及びコンピューティングシステム等に関連する。
プロキシミティ技術は、互いに極めて接近して置かれている装置間で通信を可能にする。プロキシミティ技術の一例である近距離通信(NFC)は、無線周波数(RFID)技術から改良された短距離無線技術である。NFCは、これの接続を形成するために互いに接近して位置している2つのループアンテナの間で磁気誘導を利用する。NFCは、4インチ(約10cm)程度離れた装置間で無線接続を可能にする。NFC装置は、能動型または受動型のいずれにもなる可能性がある。能動モードでは、2台の装置は、それぞれの無線機に個別に給電する。受動モードでは、1台の装置は、他の装置から電力を引き込む。NFC装置の実施は、内蔵NFCチップと、NFC有効加入者識別モジュール(SIM)カードと、(マイクロSDカードのような)不揮発性メモリカードと、受動型NFC有効タグまたはステッカーを含む。別のプロキシミティ技術は、TransferJet(商標)である。TransferJet(商標)は、NFCがサポートするより高い速度をサポートする。従って、TransferJet(商標)は、高速無線転送のようなNFCに比べて異なる使用状況で対象とされる。さらに別のプロキシミティ技術は、2つの端点(エンドポイント)が近接していることを決定するために2つの端点からサーバに報告された位置、装置運動、および時間を使用する。
コンテンツ共有および決済システムのような従来のプロキシミティ機能は、アプリケーションレベルで有効化される。アプリケーション開発者は、様々なプロキシミティ機能を有効化するためにプロキシミティ技術と直接通信するアプリケーションを書くことを要求される。基礎となるプロキシミティ技術についての開発者による深い理解が典型的に必要とされる。
一観点による課題は、アプリケーションがプロキシミティ技術に直接的に相互作用する必要なしに、アプリケーションが様々なユーザ体験を提供できるようにするプラットフォームベースのプロキシミティサービスを可能にすることである。
この発明の概要の欄は、発明を実施するための形態の欄においてさらに後述するプラットフォーム有効プロキシミティサービスの簡略化された概念を紹介するために設けられている。この発明の概要の欄は、請求項に記載された主題の本質的な特徴を特定することを目的とすることなく、請求項に記載された主題の範囲を決定するのに使用されることも目的としていない。
プラットフォームベースのプロキシミティサービスは、アプリケーションが他の装置とのプロキシミティ接続の確立時に開始されるべきプロキシミティ機能をプレステージすることを可能にする。プラットフォームベースのプロキシミティサービスは、アプリケーションがプロキシミティ技術に直接的に相互作用する必要なしにアプリケーションが様々なユーザ体験を提供することを可能にする。プラットフォームベースのプロキシミティサービスは、複数のプロキシミティアクションがプロキシミティ機能を実現し易くするために、または、プレステージされたプロキシミティ機能間の潜在的な衝突を解消するために開始されることも可能にする。ユーザ視点から、プラットフォームベースのプロキシミティサービスによって有効化された様々なユーザ体験は、ユーザが機能をプレステージし、その後、プレステージされた機能を開始させるために自分の装置を他の装置に近接させることを可能にする。なお、混乱のおそれがなければ、「プレステージされた(pre-staged)」は、予め設定された、事前に登録された等と表現されてもよい。プロキシミティをもたらす1つの共通の様式は、タッピングという物理的ジェスチャーを介する。このような一実施例では、ユーザは、2台の装置間で自動持続ペアリングを起動するために自分の装置(たとえば、スマートフォンまたはキーボードなど)を他のプロキシミティ装置にタップする。別の実施例では、ユーザは、プロキシミティ装置と共有されるべきコンテンツをキューに入れ、その後、キューに入れられたコンテンツを転送するため他の装置と(Bluetooth(登録商標)のような)帯域外接続を確立するように自分の装置をタップする。さらに別の実施例では、ユーザは、アプリケーションをマルチユーザ・モードに置き、その後、アプリケーションが他の装置上で動く互換性のあるアプリケーションとピアになることを可能にするために他の装置との帯域外接続を確立するように自分の装置を他の装置にタップする。
実施形態に係るプラットフォームベースのプロキシミティサービスは、プロキシミティ事象および接続のジョイント・プロキシミティ・コンテキストを決定し、ジョイント・プロキシミティ・コンテキストに基づいて様々なプロキシミティアクションを開始する。これらのプロキシミティアクションは、プレステージされたプロキシミティ機能を承諾するために選択可能な選択肢付きのユーザインターフェースを表示することと、帯域外接続をネゴシエートし、確立することと、コンテンツを装置間で転送させることなどを含む。別の装置とのプロキシミティ接続の確立時に、プラットフォームベースのプロキシミティサービスは、プレステージされたプロキシミティ機能を実現し易くするためにプロキシミティ接続の確立、および/または、プロキシミティアクションの開始にユーザの注意を喚起するように、ユーザインターフェース要素の表示、オーディオサウンドの再生、および/または、装置振動をさらに引き起こす。プラットフォームレベルのプロキシミティサービスを提供することは、プロキシミティ事象および接続を作り出すためにプラットフォームによって使用される1つ以上の基礎となるプロキシミティ技術についての知識を必要とすることなくアプリケーション開発者が人間の相互作用をモデル化するユーザ体験を容易に作成することを可能にする。
発明を実施するための形態の欄は、添付図面に関連して記載されている。図面中、符号の最も左の数字(群)は、この符号が最初に現れる図を特定する。異なる図における同じ符号の使用は、類似する、または、同一の項目を指示する。
プロキシミティアクションがアプリケーションまたは他のオペレーティングシステム要素の代わりにプロキシミティサービスを通じて開始されることを可能にするために使用できる環境例の概略図である。 実施形態に係るプロキシミティサービスを提供するために使用できる装置例のブロック図である。 プレステージされたプロキシミティ機能がプロキシミティ接続の確立に応答してアプリケーションおよび様々なオペレーティングシステム要素に代わって起動されることを可能にするプロセス例を示すフローチャートである。 プロキシミティ接続を使用してプレステージされたピア接続を開始し確立するプロセス例を示すフローチャートである。 プロキシミティ装置からのピア接続案内の受信時にプレステージされたピア接続を開始するプロセス例を示すフローチャートである。 プロキシミティ接続を通じてプレステージされたメッセージ転送を開始するプロセス例を示すフローチャートである。 プレステージされた装置ペアリング機能を開始するプロセス例を示すフローチャートである。 プロキシミティ装置とのプレステージされたコンテンツの共有を可能にするために帯域外接続を開始し確立するプロセス例を示すフローチャートである。 プロキシミティ装置からのコンテンツ共有案内の受信時に帯域外接続を開始し確立するプロセス例を示すフローチャートである。 アプリケーション状態からプレステージされたコンテキストを推論するプロセス例1000を示すフローチャートである。
概要
前述のとおり、プロキシミティ技術は、互いに極めて接近して置かれている装置間の通信を可能にする。(金融取引またはコンテンツ共有のような)従来のプロキシミティ機能は、アプリケーションレベルで有効化され、アプリケーション開発者がこれらのアプリケーションがサポートすることになるプロキシミティ装置のタイプを識別し、サポートされたプロキシミティ技術に直接的にインターフェースを取るようにこれらのアプリケーションをプログラムすることを要求する。本開示の実施形態は、アプリケーション開発者がプロキシミティ技術に直接的にプログラムすることを要することなくプロキシミティサービスを通じて様々なユーザ体験をもたらすことを可能にするプラットフォームレベルのプロキシミティサービスおよびプロキシミティ・アプリケーション・プログラミング・インターフェース(API)を含む。
実施形態に係るプロキシミティサービスは、アプリケーションと基礎となるプロキシミティプロバイダとの間の抽象化層を表現する。プロキシミティプロバイダは、いくつもの手段を介してプロキシミティの決定を可能にする技術である。たとえば、1つの共通プロキシミティプロバイダは、対応する電磁場がプロキシミティ情報を交換するように互いに相互作用するときにプロキシミティを有効化するために無線信号の使用を伴う。プロキシミティプロバイダの第2の実施形態は、中間ユーティリティサービスを通じてプロキシミティを決定するために時間および運動と共にGPSのような高精度位置サービスを使用することがある。本書に記載されたプロキシミティサービスは、プロキシミティを決定する共通または完全に異なる方法論を使用して1つ以上のこのようなプロキシミティプロバイダを通じてプロキシミティを決定するためブローカーとしての役割を果たす。
実施形態に係るプロキシミティサービスは、ある種のプロキシミティ機能が要求されていることを指示するために−たとえば、様々なAPIの使用を通して−アプリケーションからの登録を受信するように構成されている。別の装置とのプロキシミティ接続を確立するプロキシミティ事象時に、プロキシミティサービスは、プレステージされたコンテキスト情報を他の装置のプロキシミティサービスと交換する。この交換は、他の装置からのプレステージされたコンテキスト情報の受信と共に、他の装置へのプレステージされたコンテキスト情報の転送とを含む。プレステージされたコンテキスト情報は、(オペレーティングシステム要素を含む)アプリケーションによっていずれかの装置に登録された(もしあるとすれば)プロキシミティ機能の指示を含む。プロキシミティ接続中に、交換された、プレステージされたコンテキスト情報に基づくさらなる計算がどちらか一方または両方の装置上でプロキシミティサービスによってリアルタイムで実行されることがある。
プロキシミティサービスは、接続のジョイント・プロキシミティ・コンテキストを決定する。ジョイント・プロキシミティ・コンテキストは、一方または両方の装置のプレステージされたコンテキスト情報を含む。ジョイント・プロキシミティ・コンテキストに基づいて、プロキシミティサービスは、登録されたプロキシミティ機能を実現し易くするためにプレステージされたプロキシミティアクションを開始する。ジョイント・プロキシミティ・コンテキストが(両方の装置からのプロキシミティ機能のような)複数の登録されたプロキシミティ機能の指示を含む場合、プロキシミティサービスは、登録されたプロキシミティ機能の一部または全部を実現し易くするためにプレステージされたプロキシミティアクションを開始することがある。
プレステージされたプロキシミティアクションは、登録されたプロキシミティ機能を実現し易くする。プロキシミティ機能は、装置ペアリングと、ピアアプリケーション接続と、メッセージ公開および参加と、コンテンツ共有とを含む。
一実施例では、ジョイント・プロキシミティ・コンテキストは、装置ペアリング要求の指示を含む。ユーザ装置(たとえば、パーソナルコンピュータ、ラップトップ、またはタブレットコンピュータなど)とペアリング装置(たとえば、キーボード、マウス、カメラ、またはスマートフォン)との間のプロキシミティ接続の確立時に、プロキシミティサービスは、ペアリングを承諾するために選択可能な選択肢を提供するユーザインターフェース要素を表示させる。ユーザがペアリングを承諾することを指示するユーザ入力装置からの入力の受信時に、プロキシミティサービスは、帯域外接続タイプをネゴシエートし、帯域外接続を確立し、装置のペアリングサービスに帯域外接続に関する情報を提供する。ペアリングサービスは、その後、さらなるユーザ相互作用の有無とは無関係に装置とペアを組む。ペアリングサービスは、その後、(デバイスドライバまたはアプリケーションのような)ペアリングされた装置を使用するため必要である、または、有用であるソフトウェアのインストレーションまたはソフトウェアへのバインディングを開始することがある。
別の実施例では、ジョイント・プロキシミティ・コンテキストは、プロキシミティ装置上のピアアプリケーションの位置を見つけるためにアプリケーションによる登録の指示を含む。この場合、(プロキシミティ接続を確立するプロキシミティ事象時に)開始装置は、複数の帯域外接続タイプの確立を同時に開始し、装置のうち帯域外通信のため用いる1台を決定するために両方の装置に知られているアルゴリズムを使用する。開始装置は、通信ソケットをアプリケーションに送る。受信装置のプロキシミティサービスは、ピア要求に関連する1つ以上のアクションを承諾するために選択可能な選択肢を提供するユーザインターフェース要素の表示を引き起こす。ユーザ承諾を指示するユーザ入力装置からの入力の受信時に、プロキシミティサービスは、限定されることなく、初期装置との帯域外接続を確立すること、ピアアプリケーションを立ち上げること、ピアアプリケーションをフォアグラウンドにすること、コンテキスト情報を(フォアグラウンドアプリケーションのような)実行中のアプリケーションに提供すること、および、装置がピアアプリケーションを取得し、インストールすることを可能にするためにアプリケーション獲得サービスを立ち上げることのような1つ以上の対策を講じることがある。
別の実施例では、ジョイント・プロキシミティ・コンテキストは、アプリケーションが公開されるべきメッセージを1つ以上の名前空間に登録している、および/または、同じまたは異なる名前空間に参加するために登録しているという指示を含む。プロキシミティ接続の確立時に、プロキシミティサービスは、プロキシミティ接続を介して公開されたメッセージを送受信する。
別の実施例では、ジョイント・プロキシミティ・コンテキストは、共有サービスが、キューに入れられ、プロキシミティ装置と共有されるべきコンテンツ(メッセージ、ファイルなど)を登録しているという指示を含む。プロキシミティ接続を確立するプロキシミティ事象時に、開始装置は、帯域外接続をネゴシエートし、セットアップするか、または、代替的に、同時の複数の帯域外接続を開始し、用いるための1つを選択するかのいずれかである。開始装置は、共有サービスに共有コンテンツを転送するソケットを提供する。受信装置は、共有コンテンツの受信を承諾するために選択可能な選択肢付きのユーザインターフェース要素を表示させる。ユーザ承諾を指示するユーザ入力装置からの入力の受信時に、プロキシミティサービスは、帯域外接続の接続を完了し、それ自体の共有サービスに共有コンテンツを受信するソケットを提供する。
別の実施例では、ジョイント・プロキシミティ・コンテキストは、装置のユーザインターフェースのフォアグラウンドで動いているアプリケーションの状態から推論されるプロキシミティ機能の指示を含む。1つの限定されない実施例では、ユーザは、アプリケーションを使用してコンテンツを選択していることがある。プロキシミティ接続が開始されると、プロキシミティサービスは、ユーザがコンテンツを選択したという事実から、ユーザがプロキシミティ装置とコンテンツを共有することを望むことを推論する。このようにして、ジョイント・プロキシミティ・コンテキストは、コンテンツ共有が要求されているという指示を含む。プロキシミティサービスは、共有サービスを立ち上げ、選択されたコンテンツを転送するために帯域外通信チャネルを確立することにより共有を実現し易くする。別の限定されない実施例では、装置は、マルチユーザ機能を有しているアプリケーションを動かすことがあり、プロキシミティサービスは、ユーザがアプリケーション上でマルチユーザ協調を有効化するためにピア接続を形成することを望むことを推論することがある。このように、ジョイント・プロキシミティ・コンテキストは、ピアが要求されているという指示を含む。プロキシミティサービスは、ピア接続を開始するために選択可能な選択肢を含むユーザインターフェース要素を表示することによりピア接続要求を実現し易くする。
実施形態は、プロキシミティ事象時に開始された無許可のアクションから装置を保護する特徴を含む。これらの特徴は、装置のセキュリティおよびプライバシーを保護すると共にユーザ体験を改善するのに役立つ。たとえば、様々な実施形態は、ユーザが、たとえば、コンテンツを受信する、アプリケーションを獲得または立ち上げる、マルチユーザ・モードを有効化するためにピア接続を作成する、または別の装置とペアを組むといったある種のアクションを承諾することを要求する。さらに、プロキシミティサービスは、アプリケーションを獲得するためにユーザを無許可のオンラインまたはオフライン・アプリケーション・ストアに案内し、それによって、獲得されているアプリケーションが悪質ではないという保証の手段をユーザに提供することがある。同様に、ユーザは、ユーザの装置がプロキシミティ接続を確立していることをユーザに知らせる視覚、触覚、および/または聴覚フィードバックを与えられる。そして、実施形態は、ユーザが、プロキシミティプロバイダ自体、プロキシミティ共有機能、プロキシミティペアリング機能、メッセージ参加/公開機能、ピア接続確立機能などのような一部または全部のプロキシミティサービス機能を無効にできるようにすることがある。
本書で使用されるような用語「プロキシミティ」は、いくつかの意味のうちの1つを有することがある。いくつかの実施形態では、プロキシミティは、装置を使ったジェスチャーを通じて決定されるような2台のコンピューティング装置の物理的な近さを意味することがある。1つの限定されない実施形態では、装置は、装置の物理的なタップのような物理的なジェスチャーが実行されたとき、別の装置に近接していると言われる。このようなプロキシミティ接続は、NFC、TransferJet(商標)、または何か他の短距離通信技術によって確立されることがある。代替的な実施形態では、プロキシミティは、物理的なジェスチャー以外の環境情報に基づいて確立されることがある。1つの限定されない実施例は、2台の装置が会議室のような近接物理環境の内部にあるか否かを決定するために共通無線アクセスポイントからの計算距離を使用する。プロキシミティは、ある実施形態では、装置の物理的な近さ以外の何か別のものを意味することもある。実施形態では、第1のユーザのためのユーザエージェントとしての役割を果たす装置は、2人のユーザの間に何らかの関係が存在するとき、別のユーザのためのユーザエージェントとしての役割を果たす別の装置に近接している。1つの限定されない実施例では、第1のユーザの装置は、ユーザ同士が家族関係を有しているとき、第2のユーザの装置に近接している。これらは、単なる実施例であり、実施例は、上記実施例に限定されない。
本書に記載されたプロセス、システム、および装置は、ある程度の数の手法で実施されることがある。実施例は、添付図面を参照して後述する。
プロキシミティサービスのための環境例
図1は、プロキシミティアクションがアプリケーションまたは他のオペレーティングシステム要素の代わりにプロキシミティサービスを通じて開始されることを可能にするために使用できる環境例の概略図である。環境100は、第1のプロキシミティ装置102および第2のプロキシミティ装置104を含むことがある。第1のプロキシミティ装置102および第2のプロキシミティ装置104は、プロキシミティサービスを実施する能力がある様々な適当なコンピューティング装置タイプで実施されることがある。なお「サービス」は、混乱のおそれのない限り、サービスを実行するための処理モジュールとして言及されてもよい。適当なコンピューティング装置または装置群は、1台以上のパーソナルコンピュータ、サーバ、サーバファーム、データセンター、専用コンピュータ、タブレットコンピュータ、ゲーム機、スマートフォン、これらの組み合わせ、または、プロキシミティサービスの全部もしくは一部を記憶し実行する能力がある何らかの他のコンピューティング装置(群)を含むか、または、これらの一部であることがある。
図1の例示的な実施例では、第1のプロキシミティ装置102は、プロキシミティサービス106と、プロキシミティ有効アプリケーション108と、共有有効アプリケーション110とを含む。プロキシミティ有効アプリケーション108は、プロキシミティサービスを可能にする機能を発揮するアプリケーションであり、プロキシミティイネーブルアプリケーション108等と言及されてもよい。プロキシミティ有効アプリケーション108は、様々なプロキシミティ機能をプロキシミティサービス106に登録するように構成されている。このような登録は、1つ以上のアプリケーション・プログラミング・インターフェース(API)の使用を介することがある。たとえば、プロキシミティ有効アプリケーション108は、ピア検出API 112を呼び出し、プロキシミティ有効アプリケーション108が共有ユーザ体験を提供するのに用いるピアアプリケーションを探索することを指示するように構成されることがある。プロキシミティ有効アプリケーション108は、マルチ・プレーヤー・ゲーム、コンテンツ交換アプリケーション、または、何らかの他の協調的アプリケーションでもよい。
別の実施例では、プロキシミティ有効アプリケーション108は、アプリケーションを公開する1つ以上の名前空間、および/または、参加する1つ以上の名前空間を登録するためにプロキシミティメッセージングAPI 114を呼び出すように構成されている。たとえば、プロキシミティ有効アプリケーション108は、Vcard名前空間に参加し、そして、Vcardを同じまたは異なる名前空間にさらに公開する名刺共有アプリケーションでもよい。
共有有効アプリケーション110のような共有有効アプリケーションは、共有されるべきコンテンツをキューに入れ、キューに入れられたコンテンツを共有するために共有サービス116を呼び出すように構成されている。共有有効アプリケーション110は、共有を可能にするアプリケーションであり、共有イネーブルアプリケーション110等と言及されてもよい。共有サービス116は、ユーザがキューに入れられたコンテンツを共有するために用いるアプリケーションを選択することを可能にする共有ユーザインターフェース要素118を提示するように構成されている。共有ユーザインターフェース要素118は、ユーザがキューに入れられたコンテンツを他のアプリケーションと共有する代わりに、プロキシミティ有効装置とコンテンツを共有することを可能にようにさらに構成されている。
プロキシミティプロバイダ120は、ソフトウェア要素およびプロキシミティ決定機能性を両方共に含む機能モジュールである。プロキシミティプロバイダ120は、プロキシミティプロバイダとしてプロキシミティサービス106に登録するデバイスドライバを含むことがある。プロキシミティプロバイダ120は、近距離通信(NFC)プロバイダ、TransferJet(商標)プロバイダ、または他のプロキシミティプロバイダタイプでもよい。プロキシミティ無線機を使用する実施形態では、プロキシミティプロバイダ120は、プロキシミティ帯域124を通じて第2のプロキシミティ装置104のプロキシミティプロバイダ122とのプロキシミティ接続を確立するように構成されている。プロキシミティ接続は、たとえば、プロキシミティプロバイダ122のアンテナがプロキシミティプロバイダ120のアンテナに極めて近接して置かれたときに確立されることがある。このことは、たとえば、ユーザが第1のプロキシミティ装置102を第2のプロキシミティ装置104の近くに置くことに起因して、または逆も同様に起こることがある。装置は、プロキシミティアンテナが存在する場所を示すためにラベル付けされることがあり、その結果、ユーザは、プロキシミティ接続を簡単に起動させることができる。プロキシミティを決定するために無線機に基づくモデルを利用しないプロキシミティプロバイダの代替的な実施形態が存在する。1つのこのような実施例では、2台の装置は、全地球測位システム(GPS)装置と連動するプロキシミティプロバイダによる2台の装置が互いに非常に近接しているという決定時に、相互に近接していることがある。別の実施例では、2台の装置は、プロキシミティプロバイダによる2台の装置のユーザが、同僚、兄弟姉妹、親戚、または何らかの他の人間関係のような予め確立された関係を有しているという決定時に相互に近接していると考えられることがある。
プロキシミティサービス106は、プロキシミティプロバイダ120からプロキシミティ接続が第2のプロキシミティ装置104と確立されているという指示を受信するように構成されている。「指示」は、何らかの内容を示すものであり、通知、表示、印、指標、インジケータ等と言及されてもよい。プロキシミティサービス106は、プレステージされたコンテキスト情報を、プロキシミティ接続を介して、第2のプロキシミティ装置104と交換するように構成されている。プレステージされたコンテキスト情報の交換は、第2のプロキシミティ装置104からのプレステージされたコンテキスト情報の受信と共にプレステージされたコンテキスト情報126の送信を含む。プレステージされたコンテキスト情報126は、プロキシミティ有効アプリケーション108および/または共有サービス116によって登録された何らかのプロキシミティ機能を含む。たとえば、プレステージされたコンテキスト情報126は、プロキシミティ有効アプリケーション108がプロキシミティピア検出用API 112を介してピアを見つけるために登録されているという指示、プロキシミティ有効アプリケーション108がプロキシミティメッセージング用API 114を介して名前空間においてメッセージを公開するために、および/または、メッセージに参加するために登録しているという指示、または、共有サービス116がプロキシミティ装置と共有されるべきキューに入れられたコンテンツを登録しているという指示を含むことがある。代替的に、プレステージされたコンテキスト情報126は、これらのプロキシミティ機能のうちの2つ以上を指示すること、または、これらのプロキシミティ機能を全く指示しないことがある。プロキシミティサービス106は、たとえば、装置のユーザインターフェースのフォアグラウンドにおいて現在動いているアプリケーションに関連するプレステージされたコンテキスト情報だけといった、プレステージされたコンテキスト情報126の一部だけを送信することがある。
プロキシミティサービス106は、受信されたコンテキスト情報をプレステージされたコンテキスト情報126と組み合わせることによりプロキシミティ接続のジョイント・プロキシミティ・コンテキストを決定する。プロキシミティ接続のジョイント・プロキシミティ・コンテキストに基づいて、プロキシミティサービス106は、ジョイント・プロキシミティ・コンテキストによって指示されたプロキシミティ機能を実現し易くするために1つ以上のプロキシミティアクションを開始するように構成されている。
たとえば、ジョイント・プロキシミティ・コンテキストに、プロキシミティ有効アプリケーション108がピア検出API 112を介してピアアプリケーションを見つけるために登録されていることが含まれる場合、プロキシミティサービス106は、プロキシミティ接続を介して第2のプロキシミティ装置104との帯域外接続タイプをネゴシエートし、その後、接続を開始するように構成されている。第1のプロキシミティ装置102および第2のプロキシミティ装置104は、それぞれの帯域外接続能力を、プロキシミティ接続を介して、相互に送信するように構成されている。実施形態では、プロキシミティサービス106は、他の装置への同時の帯域外接続を開始し、接続に成功したこれらの他の装置の中から用いられる1台を選択するように構成されている。
実施形態では、プロキシミティサービス106および第2のプロキシミティ装置104上のプロキシミティサービス(図示せず)は、それぞれのプロキシミティ装置上で利用できる帯域外通信タイプを見つけるように構成されている。2つ以上のタイプがネゴシエーション前に確立された場合、プロキシミティサービス106は、これらのタイプから選択するように構成されている。第2のプロキシミティ装置104上のプロキシミティサービス(図示せず)は、2台の装置上で選択された帯域外通信タイプの不一致が存在しないように、プロキシミティサービス106と同じ選択アルゴリズムを動かすように構成されている。別の限定ではない実施形態では、1台の装置は、接続することができたものの中から帯域外通信タイプを選択し、選択されたものを他の装置に通信する。実施形態では、プロキシミティサービス106は、最速伝送速度に基づいて帯域外接続を決定し、予め確立された性能目標に基づいて最も迅速に接続するように構成されている。
プロキシミティサービス106は、通信プロバイダ128を通じて帯域外通信の確立を開始する。通信プロバイダ128は、様々な実施形態では、Bluetoot(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他の無線プロバイダタイプでもよい。代替的な実施形態は、帯域外通信を行うために有線通信プロバイダを利用することがある。実施形態は、帯域外通信プロバイダのいずれか1つのタイプまたはタイプ群に限定されない。通信プロバイダ128は、ソフトウェア要素および無線機ハードウェアを共に含む機能的要素である。通信プロバイダ128は、通信媒体132を介して第2のプロキシミティ装置104の通信プロバイダ130と帯域外接続を確立するように構成されている。
帯域外通信接続が確立され、選択されると、プロキシミティサービス106は、通信媒体132を介する情報の交換を実現し易くする通信情報をプロキシミティ有効アプリケーション108に送るように構成されている。一実施形態では、通信情報は、ネットワーキングソケット型インターフェースである。プロキシミティ有効アプリケーション108は、第2のプロキシミティ装置104上のピアアプリケーションからの通信のためのソケット上で情報を交換するように構成されている。
ジョイント・プロキシミティ・コンテキストに、プロキシミティ有効アプリケーション108が1つ以上の名前空間上で公開されるべきメッセージを登録している、および/または、同じまたは異なる名前空間への参加を登録しているという指示が含まれる場合、プロキシミティサービス106は、プロキシミティ接続を介して第2のプロキシミティ装置104から名前空間情報を受信し、−メッセージが一方の装置上で公開されている名前空間ともう一方の装置上の参加名前空間との間に一致が存在するという決定時に−プロキシミティ接続を介して一致する名前空間上のメッセージを転送および/または受信するように構成されている。
ジョイント・プロキシミティ・コンテキストが、共有サービス116はプロキシ接続と共有されるべき、キューに入れられたコンテンツを登録しているという指示を含む場合、プロキシミティサービス106は、前述されているように様々な手法のうちの1つで(たとえば、通信プロバイダ128および通信媒体132を介して)、帯域外接続を確立し、ネゴシエートし、選択するように構成されている。プロキシミティサービス106は、共有サービス116がキューに入れられたコンテンツを送信するために、通信媒体132を介する情報の交換を実現し易くするソケット、または何らかの他の通信情報を共有サービス116に送るようにさらに構成されている。
第1のプロキシミティ装置102のプレステージされたコンテキスト情報126が登録されたプロキシミティ機能の指示を含むだけでなく、第2のプロキシミティ装置104からのプレステージされたコンテキスト情報が登録されたプロキシミティ機能の指示を含むことも可能である。たとえば、ジョイント・プロキシミティ・コンテキストは、第2のプロキシミティ装置104のアプリケーションがプロキシミティ有効アプリケーション108へのピア接続を要求するという指示を含むことがある。この状況では、プロキシミティサービス106は、プロキシミティピア用のユーザインターフェース要素134を第1のプロキシミティ装置102のディスプレイに表示させることがある。プロキシミティピア用のユーザインターフェース要素134は、第1のプロキシミティ装置102の状態に依存する様々なアクションを含めて、ピアリング要求を承諾するために選択可能な選択肢を含む。
たとえば、プロキシミティ有効アプリケーション108は、プロキシミティ接続が確立されるときにその時点で実行されていないことがある。この場合、プロキシミティピア用のユーザインターフェース要素134は、ピア接続を確立することに加えて、プロキシミティ有効アプリケーション108を立ち上げ、動かし、実行することを承諾するために選択可能な選択肢を提示するように構成されている。別の実施例では、プロキシミティ有効アプリケーション108は、この時点で実行されていることがあるが、ユーザインターフェースのフォアグラウンドで動いていないことがある。本実施例では、プロキシミティピア用のユーザインターフェース要素134は、プロキシミティ有効アプリケーション108をフォアグラウンドにすることを承諾するために選択可能な選択肢を提示するように構成されている。別の実施例では、プロキシミティ有効アプリケーション108は、ユーザインターフェースのフォアグラウンドで実行していることがあるが、プロキシミティピア検出API 112を介するピアアプリケーションを見つけるために登録していないことがある。本実施例では、プロキシミティピア用のユーザインターフェース要素134は、ピアリング要求を承諾するために選択可能な選択肢を提示するために構成されている。様々な選択可能な承諾選択肢のうちの1つが選択されていることを指示するユーザ装置からの入力の受信時に、プロキシミティサービス106は、前述されている手法と同様な手法で、帯域外接続の確立をネゴシエートし、開始し、そして、通信媒体132を介する情報の交換を実現し易くするソケット、または何らかの他の通信情報をプロキシミティ有効アプリケーション108に送る。
プロキシミティ有効アプリケーション108は、第1のプロキシミティ装置102にインストールされないことがある。この場合、プロキシミティピア用のユーザインターフェース134は、プロキシミティ有効アプリケーション108を取得するためアプリケーション獲得サービス136を立ち上げるために選択可能な選択肢を提示するように構成されている。アプリケーション獲得サービス136は、ユーザがプロキシミティ有効アプリケーション108を購入する、または、そうでなければ、取得することを可能にするようにオンラインまたはオフライン・アプリケーション・ストアと相互作用するためにインターフェースを提供することがある。
ジョイント・プロキシミティ・コンテキストは、第2のプロキシミティ装置104の共有サービスがコンテンツを第1のプロキシミティ装置102に送信するように要求するという指示を含むことがある。この場合、プロキシミティサービス106は、プロキシミティ共有用のユーザインターフェース要素138を表示させるように構成されている。プロキシミティ共有用のユーザインターフェース要素138は、キューに入れられたコンテンツに関する情報と、キューに入れられたコンテンツの受信を承諾するために選択可能な選択肢とを表示するように構成されている。キューに入れられたコンテンツを受信するユーザ承諾を指示するユーザ入力装置からの入力の受信時に、プロキシミティサービス106は、第2のプロキシミティ装置104への帯域外接続の確立をネゴシエートし、開始するように構成されている。プロキシミティサービス106は、キューに入れられたコンテンツの受信を実現し易くするために、通信媒体132を介する情報の交換を実現し易くするソケット、または何らかの他の通信情報を共有サービス116に送るように構成されている。プロキシミティ共有用のユーザインターフェース要素138は、受信されたコンテンツを閲覧するためにアプリケーションを開く選択可能な選択肢を提示するようにさらに構成されている。
プロキシミティサービス106は、要求されたプロキシミティ機能を推論することがある。一実施例では、ジョイント・プロキシミティ・コンテキストは、たとえば、装置のユーザインターフェースのフォアグラウンドで動いているアプリケーションとして決定された、プロキシミティフォーカスを有しているとして指示されたアプリケーション(アプリケーション群)の現在状態から推論されたプロキシミティ機能の指示を含むことがある。1つの限定されない実施例では、ユーザは、プロキシミティ接続の確立前にフォアグラウンドアプリケーション上でコンテンツを選択する。しかし、フォアグラウンドアプリケーションは、プロキシミティ装置とコンテンツを共有するために、共有サービスを呼び出していないか、または、選択されていない。プロキシミティサービス106は、その代わり−プロキシミティ接続の確立時に−ユーザがプロキシミティ装置とコンテンツを共有することを望んでいることを推論する。このようにして、プロキシミティサービス106は、プレステージされたコンテキスト情報126がコンテンツを共有する要求を含むことを決定する。プロキシミティサービス106は、その結果、プロキシミティ共有用のユーザインターフェース要素138を表示させ、選択されたコンテンツをプロキシミティ装置と共有するために選択可能な選択肢を提供する。ユーザ承諾を指示する入力が受信された場合、共有サービス116が立ち上げられ、プロキシミティサービス106は、発明を実施するための形態の欄に記載されているような様々な手法のうちの1つで、コンテンツを送信するために帯域外通信チャネルを確立し、ネゴシエートし、選択する。
推論されたプロキシミティ機能要求の別の実施例では、フォアグラウンドアプリケーションは、マルチユーザ機能を含むことがあるが、フォアグラウンドアプリケーションは、プロキシミティ装置の中でピアアプリケーションを見つけるためにプロキシミティサービス106に登録していない。その代わり、プロキシミティサービス106は、(たとえば、マルチユーザ・モードに置かれているフォアグラウンドアプリケーションのような)アプリケーションの状態からピアアプリケーションを見つけるために要求を推論する。プロキシミティサービス106は、プロキシミティピア用のユーザインターフェース134を第2のプロキシミティ装置104とのピア接続の確立を承諾するために選択可能な選択肢と共に表示させる。承諾が取得されると、プロキシミティサービス106は、発明を実施するための形態に記載されているようにピア接続を確立するためにアクションを取る。
別の実施例では、ジョイント・プロキシミティ・コンテキストは、第2のプロキシミティ装置104が第1のプロキシミティ装置102とペアを組むことを要求するという指示を含むことがある。この場合、第2のプロキシミティ装置104は、マウス、キーボード、ビデオプロジェクタ、または他の装置のような受動型プロキシミティ装置でもよい。このような場合、プロキシミティプロバイダ122は、プロキシミティプロバイダ120のアンテナに近接して置かれたときに電力供給される受動型ステッカーまたはタグでもよい。代替的には、第2のプロキシミティ装置104は、カメラ、スマートフォン、または他の装置のような能動型プロキシミティ装置でもよい。代替的な実施形態は、プロキシミティを決定し、タグ情報を提供する種々の方法を使用する。たとえば、サービスは、物理的な会議室内にある全ての装置を表現し、プロキシミティプロバイダ層で直接的にタグの概念を導入するためにプロキシミティを決定することがある。いずれの事象でも、プロキシミティ接続を介するペアリング要求の受信時に、プロキシミティサービス106は、ペアリング要求を承諾するために選択可能な選択肢を含むプロキシミティペアリング用のユーザインターフェース要素140を表示させるように構成されている。第2のプロキシミティ装置104によって送信されたペアリング要求は、装置タイプ、モデル番号、製造元などのような装置情報を含むことがある。このようにして、プロキシミティペアリング用のユーザインターフェース要素140は、ペアリング要求を承諾するために選択可能な選択肢と共にこの情報を表示するようにさらに構成されている。
プロキシミティサービス106は、前述されているように同じまたは類似する手法で、第2のプロキシミティ装置104への帯域外通信接続の確立をネゴシエートし、開始する。プロキシミティサービス106は、ペアリングサービス142が、ペアリング動作を完了すると共にペアを組む装置のコンテンツ転送またはリモート動作、ペアリング装置に関連する付加的なソフトウェアのインストールなどのようなペアリングアクションを可能にするために、第2のプロキシミティ装置104と直接通信するため帯域外ペアリング情報をペアリングサービス142に送るように構成されている。
最後に、プロキシミティ接続の確立時に、ユーザ・フィードバック・モジュール144は、ユーザにプロキシミティ事象および/またはプロキシミティ接続の確立成功を注意喚起するために1つ以上のユーザインターフェース要素を表示させ、オーディオサウンドを再生させ、そして、装置振動を引き起こすように構成されている。
これらの実施例では、2台のプロキシミティ装置のうちの一方のユーザは、いくつかのプロキシミティ機能をプレステージしている(受動型ペアリング装置の場合に、プロキシミティアクションは、受動型ペアリング装置の製造中に、または、プロキシミティプロバイダ122の製造中に、または、代替的にプロキシミティプロバイダによって決定された何らかの方法を通じてプレステージされている)。−たとえば、装置を一緒に振ること、装置をタップすること、装置を互いにぴったり接触させて置くこと、共通の物理空間に入れること、または何らかの他のジェスチャーなどによって−装置を物理的に一体として置くとき、または、装置を−インターネット・チャット・ルームのような−仮想空間に置くとき、プロキシミティサービス106は、プレステージされたプロキシミティ機能を実現し易くするためにプレステージされたプロキシミティアクションを開始し、それによって、装置が相互に極めて近くに移動したという事実から、ユーザがプレステージされた機能を起動することを意図していたことを推論する。ユーザ・フィードバック・モジュール144は、様々な承諾用のユーザインターフェースと共に、プロキシミティ機能を開始するユーザ体験を改善し、ユーザのため付加的なレベルのセキュリティおよびプライバシー保護を提供する。プラットフォームレベルのプロキシミティサービス106は、アプリケーションがプロキシミティプロバイダ120と直接的に相互作用することなくこれらのユーザ体験をもたらすことを可能にする。このようにして、−プロキシミティ有効アプリケーション108および共有有効アプリケーション110のような−アプリケーションは、基礎となるプロキシミティ技術にとらわれない可能性がある。
プロキシミティ装置例
図2は、実施形態に係るプロキシミティサービスを提供するために使用できる装置例のブロック図である。プロキシミティ装置200は、プロキシミティサービスを実施する能力がある適当なコンピューティング装置として構成されることがある。様々な限定されない実施例によれば、適当なコンピューティング装置は、パーソナルコンピュータ(PC)、サーバと、サーバファーム、データセンター、専用コンピュータ、タブレットコンピュータ、ゲーム機、スマートフォンと、これらの組み合わせ、または、プロキシミティサービスの全部もしくは一部を記憶し実行する能力がある何らかの他のコンピューティング装置(群)を含むことがある。
1つの構成例では、プロキシミティ装置200は、1台以上のプロセッサ202とメモリ204とを備える。プロキシミティ装置200は、様々な装置との通信を可能にする通信接続(群)206をさらに収容することがある。プロキシミティ装置200は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などのような1台以上の入力装置208と、プロセッサ(群)202およびメモリ204に通信結合されているディスプレイ、スピーカー、プリンタなどのような1台以上の出力装置210とをさらに含むことがある。
メモリ204は、プロセッサ(群)202上でロード可能かつ実行可能であるプログラム命令と共に、これらのプログラムの実行中に生成された、および/または、これらのプログラムと併せて使用可能であるデータとを記憶することがある。例示された実施例では、メモリ204は、プロキシミティ装置200の基本システム機能性を提供し、何よりもプロキシミティ装置200の他のプログラムおよびモジュールの動作をもたらすオペレーティングシステム212を記憶する。
メモリ204は、図1のプロキシミティサービス106と同じまたは類似することがあるプロキシミティサービス214をさらに含む。メモリ204は、プロキシミティプロバイダモジュール216を含み、このプロキシミティプロバイダモジュールは、プロキシミティハードウェア218と共に、図1のプロキシミティプロバイダ120と同じまたは類似することがあるプロキシミティプロバイダを形成する。他の実施形態では、プロキシミティプロバイダモジュール216は、別の装置とのプロキシミティ情報を決定するために数多くのハードウェアコンポーネントの機能性を整理統合するソフトウェアを含む。このような実施形態では、プロキシミティハードウェア218は、全地球測位システムハードウェアと、オーディオセンサと、ビデオカメラと、他のセンサタイプと、無線機ハードウェアと、加速度計ハードウェアなどとのうちの1つ以上を含むことがある。さらに他の実施形態では、プロキシミティプロバイダは、ソフトウェアのみのプロキシミティプロバイダでもよく、このような実施形態では、プロキシミティプロバイダモジュール216は、プロキシミティハードウェア218と相互作用しない。プロキシミティプロバイダモジュール216によって整理統合されたハードウェアコンポーネントは、通信接続206によって表現された1つ以上のネットワーキングコンポーネントを含むことがある。
メモリ204は、図1のプロキシミティ有効アプリケーション108および共有有効アプリケーション110とそれぞれに同一または類似するプロキシミティ有効アプリケーション(群)220および共有有効アプリケーション(群)222を含む。
メモリ204は、図1のペアリングサービス142と同一または類似することがあるペアリングサービス224を含む。メモリ204はまた、図1の共有サービス116と同一または類似することがある共有サービス226を含む。そして、メモリ204は、図1のアプリケーション獲得サービス136と同一または類似することがあるアプリケーション獲得サービス228を含む。プロキシミティ装置200は、Bluetooth(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他のワイヤレス無線機タイプのようなワイヤレス無線機230を含むことがある。
プレステージされたプロキシミティアクションを実行するための動作例
図3は、プレステージされたプロキシミティ機能がプロキシミティ接続の確立に応答してアプリケーションおよび様々なオペレーティングシステム要素に代わって起動されることを可能にするプロセス例300を示すフローチャートである。2台のプロキシミティ装置が相互に近接して置かれていることに応答して、プロキシミティ接続がブロック302で装置間に確立される。装置は、装置を相互に近くで振ること、装置を互いにぴったり合わせて置くこと、共通の物理的位置に入れること、インターネット・チャット・ルームのような共通の仮想空間に置かれること、または、ユーザ側の何らかの他のジェスチャーによって相互に近接して置かれることがある。
プロキシミティ装置のプロキシミティサービスは、ブロック304で、プロキシミティプロバイダからのプロキシミティ接続が確立されているという指示を受信する。プロキシミティプロバイダは、接続確立指示を提供するためにメッセージをプロキシミティサービスに送るように構成されることがある。
装置のプロキシミティサービスは、ブロック306で、プレステージされたプロキシミティコンテキスト情報を、プロキシミティ接続を介して、他の装置に送信する。プレステージされたプロキシミティコンテキスト情報は、要求されている、および/または、プロキシミティサービスに登録されているプロキシミティ機能を含むことがある。プレステージされたプロキシミティコンテキストの限定されない実施例は、装置のアプリケーションが別の装置上でピアアプリケーションを見つけるために登録されている、装置のアプリケーションがペアリング関係を作成することを求めて1つ以上の名前空間にメッセージを公開している、および/または、同じまたは異なる名前空間に参加している、および、装置の共有サービスがプロキシミティ装置に送信されるべきコンテンツをキューに入れている、という指示を含む。
プロキシミティサービスは、プロキシミティ接続が確立されていることを指示するために、ブロック308で、ユーザフィードバックがユーザに提供されるようにすることがある。ユーザフィードバックは、ユーザインターフェース表示もしくは「トースト」、オーディオクリップもしくはサウンドの再生、装置振動、または何らかの他のユーザフィードバックを含むことがある。フィードバックは、プロキシミティ接続が確立されていることをユーザに注意喚起する。代替的なフィードバックの仕組みが実施形態の範囲から逸脱することなく使用されることがある。
プロキシミティサービスは、ブロック310で、他の装置からプロキシミティ接続を介してプレステージされたプロキシミティコンテキスト情報を受信する。受信されたプレステージされたプロキシミティコンテキスト情報は、他の装置のアプリケーションがプロキシミティ装置上でピアアプリケーションを見つけるために登録されている、他の装置のアプリケーションがメッセージを1つ以上の名前空間に公開している、および/または、同じまたは異なる名前空間に加入している、他の装置の共有サービスがプロキシミティ装置に送信されるべきコンテンツをキューに入れている、および、他の装置が装置とのペアリング接続を形成するように要求している、という指示を含むことがある。
プロキシミティ接続のジョイント・プロキシミティ・コンテキストは、ブロック312で決定される。ジョイント・プロキシミティ・コンテキストは、送信され、受信された、プレステージされたプロキシミティコンテキスト情報だけでなく、要求されたピアアプリケーションが装置上で動いている、および/または、インストールされているか否か、2台の装置の通信能力、アプリケーションがユーザインターフェースのフォアグラウンドで動いているか否かのようなアプリケーション状態などのような装置状態情報も含む。
プロキシミティ接続の決定されたジョイント・プロキシミティ・コンテキストに基づいて、プロキシミティサービスは、ブロック314で、プレステージされたプロキシミティ機能を実現し易くするために1つ以上のプロキシミティアクションを開始する。このようなプレステージされたプロキシミティアクションは、通信プロバイダを通じて他の装置への帯域外接続を確立すること、様々なアクションを承諾するためにユーザインターフェースを表示させること、アプリケーションを立ち上げること、アプリケーションをユーザインターフェースのフォアグラウンドにすること、共有のためキューに入れられたコンテンツを転送すること、他の装置からコンテンツを受信すること、装置のアプリケーションと他の装置上で動いている別のアプリケーションとの間にピア接続を確立すること、ピアアプリケーションを取得するためにアプリケーション獲得サービスを立ち上げることなどを含むことがある。これら、および、他のプレステージされたプロキシミティアクションは、発明を実施するための形態の欄の他の場所により詳しく記載されている。
プレステージされたピア接続を実行するための動作例
図4は、プロキシミティ接続を使用してプレステージされたピア接続を開始し確立するプロセス例400を示すフローチャートである。プロキシミティ有効アプリケーションは、ブロック402で、プロキシミティ装置上のピアアプリケーションを見つけるために登録する。ブロック404で、他の装置とのプロキシミティ接続が確立されると、プロキシミティサービスは、ブロック406で、プレステージされたコンテキスト情報を他の装置に送信する。プレステージされたコンテキスト情報は、プロキシミティ有効アプリケーションが、ピアを特定してピアアプリケーションとのピア接続を確立するように登録している、という指示を含む。
プロキシミティ接続のジョイント・プロキシミティ・コンテキストがブロック408で決定される。図4に記載された実施形態では、ジョイント・プロキシミティ・コンテキストは、プロキシミティ有効アプリケーションがピアを見つけるために登録されているという指示を含む。実施形態では、プロキシミティサービスは、ブロック410で、プロキシミティプロバイダを介して、帯域外通信チャネルを安全にするため使用できるプロキシミティ接続の共有秘密鍵を交換するものである。
装置のプロキシミティサービスは、ブロック412で、他の装置への1つ以上の帯域外通信チャネルの確立を開始する。他の装置は、たとえば、他の装置のユーザがピア接続を承諾することを拒む場合、または、他の装置にピアアプリケーションがインストールされていない場合のように、帯域外通信チャネルをセットアップすることに同意しないということが起こりうる。このような場合、帯域外通信チャネルは、確立されないことになる。
装置のプロキシミティサービスは、ブロック414で、帯域外チャネルタイプをネゴシエートする。2つ以上の帯域外通信チャネルがブロック412でセットアップに成功することがある。この場合、選択アルゴリズムがピア接続を実現し易くするのに用いられる帯域外通信チャネルのうちの1つを選択するために一方または両方の装置上で動かされる。実施形態では、選択アルゴリズムは、最高速度および最も迅速な接続時間に基づいて帯域外通信接続タイプを選択する。Bluetooth(商標)、WiFi、およびWiFi directが両方の装置によってサポートされる1つの限定されない実施例では。開始装置は、3つ全てを使用して通信接続の確立を開始する。一例では、Bluetooth(商標)が非常に迅速に接続することがあり、そして、これは、適切な帯域幅を提供するので、開始装置は、これを選択し、開始途中の他の接続を放棄する。
代替的な実施形態では、プロキシミティサービスは、帯域外通信の確立前に帯域外通信タイプをネゴシエートすることがある。このような実施形態では、プロキシミティサービスは、装置の通信能力に関するデータを送信し、プロキシミティサービスは、他の装置の通信能力に関するデータを受信する。プロキシミティサービスは、適合する通信能力を探索し、両方の装置の能力に適合する通信タイプを選択する。2つ以上の通信タイプが適合する場合、プロキシミティサービスは、所定のプロセスを使用して能力のうちの1つを選択する。他の装置は、選択された通信タイプの間に不適合がないことを保証するために同じプロセスを使用することがあり;代替的に、一方の装置が通信タイプを選択し、どの通信タイプが選択されたかをもう一方の装置に知らせることがある。
プロキシミティサービスは、ブロック416で、通信ソケット、または通信インターフェースを介する情報の交換を実現し易くする何らかの他の通信情報をプロキシミティ有効アプリケーションに送る。通信ソケット(または他の通信情報)は、プロキシミティ有効アプリケーションが帯域外チャネルを介してピアアプリケーションと送受信することを可能にする。
図5は、プロキシミティ装置からのピア接続案内の受信時にプレステージされたピア接続を開始するプロセス例500を示すフローチャートである。装置のプロキシミティサービスは、ブロック502で、プロキシミティ装置とのプロキシミティ接続が確立されたという指示を受信する。発明を実施するための形態の欄に記載されているように、ブロック504で、プレステージされたコンテキスト情報が装置間で交換され、プロキシミティ接続のジョイントコンテキストが確立される。図5に示された実施形態では、ジョイントコンテキストは、他の装置のアプリケーションがプロキシミティ装置のピアアプリケーションとのピア接続を形成するために登録しているという指示を含む。
プロキシミティサービスは、ブロック506で、ピア接続に対応するピアアプリケーションが装置にインストールされているか否かを決定する。ピアアプリケーションがインストールされていないという決定時に、プロキシミティサービスは、ブロック508で、アプリケーションの獲得を承諾するために選択可能な選択肢を提供するアプリケーション獲得用のユーザインターフェース要素を表示させる。ユーザに承諾選択肢を与えることは、アプリケーション獲得のプロセスを簡素化することによりユーザ体験を改善し、さらに、無許可のアプリケーションがユーザの装置にダウンロードされる、または、インストールされることを防止するのに役立つ。
ブロック510で、アプリケーションを獲得する承諾の受信時に、装置は、ブロック512で、アプリケーション獲得サービスを立ち上げる。アプリケーション獲得サービスは、ユーザがピアアプリケーションを購入するか、または、そうでなければ、取得するためにオンラインまたはオフライン・アプリケーション・ストアへのインターフェースを提供することがある。ピアアプリケーションが装置にインストールされると、プロセスは、新しいプロキシミティ接続の確立から再び始まることがある。代替的な実施形態では、プロキシミティサービスは、後述されるように、新たに獲得されたアプリケーションとのピア接続を開始する対策を講じる。
ピアアプリケーションにインストールされたという決定時に、プロキシミティサービスは、ブロック514で、プロキシミティプロバイダを介して、帯域外通信チャネルを安全にするために使用できるプロキシミティ接続の共有秘密鍵を交換する。
プロキシミティサービスは、ブロック516で、他の装置との1つ以上の帯域外通信チャネルの確立を開始する。−たとえば、Bluetooth(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他のプロバイダタイプのような−通信プロバイダは、ピア接続のための通信チャネルを確立するために使用されることがある。
プロキシミティサービスは、ブロック518で、帯域外通信チャネルタイプをネゴシエートする。帯域外通信チャネルタイプは、Bluetooth(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他のプロバイダタイプでもよい。プロキシミティサービスは、両方の装置で利用できる帯域外通信チャネルタイプを選択し、2つ以上の帯域外通信チャネルタイプが両方の装置で利用できる場合、所定の方法論に従って1つを選択する。
たとえば、2つ以上の帯域外通信チャネルがブロック516で確立されることがある。この場合、一方または両方の装置は、それらの中から使用する1つを選択するために選択アルゴリズムを採用する。代替的な実施形態では、帯域外通信チャネルタイプは、何らかの帯域外通信チャネルの確立前にネゴシエートされる。実施形態では、選択アルゴリズムは、最高速度および最も迅速な接続時間に基づいて帯域外接続タイプを選択する。Bluetooth(商標)、WiFi、およびWiFi directが両方の装置によってサポートされる1つの限定されない実施例では、これらの装置のうちの一方が3つ全てを使用して通信接続の確立を開始する。一例では、Bluetooth(商標)が非常に迅速に接続し、そして、これは、適切な帯域幅を提供するので、開始装置は、これを選択し、開始途中の他の接続を放棄する。他の例では、何らかの他の接続タイプが選択されることがある。
プロキシミティサービスは、ブロック520で、ピアアプリケーションが装置上で実行中であるか否かを決定する。アプリケーションが動いていないという決定時に、プロキシミティサービスは、ブロック522で、アプリケーションの実行を承諾するために選択可能な選択肢を提供し、ピア接続を確立するユーザインターフェース要素を表示させる。
ピアアプリケーションが動いているという決定時に、プロキシミティサービスは、ブロック524で、アプリケーションがプロキシミティフォーカスを有しているか否かを決定する(一実施例では、ユーザインターフェースのフォアグラウンドで動いているアプリケーションとして決定される)。アプリケーションがプロキシミティフォーカスを有していない場合(対象として特定されない場合)、プロキシミティサービスは、ブロック526で、アプリケーションにプロキシミティフォーカスを当てることを承諾し、そして、ピア接続を承諾するために選択可能な選択肢を提供するユーザインターフェース要素を表示させる。代替的な実施形態は、特有のアプリケーションがプロキシミティ通信を取り扱うことを必要としていることをユーザに指示する種々の様式を使用するように構成されている。そして、代替的な実施形態は、どのアプリケーションにプロキシミティフォーカスが当たっているかを決定するためにユーザインターフェースフォーカス以外の何か他のものを使用することがある。
ピアアプリケーションがプロキシミティフォーカスを有しているという決定時に、プロキシミティサービスは、ブロック528で、ピアアプリケーションがプロキシミティ装置上でピアアプリケーションを見つけるために予め登録しているか否かを決定する。図5に示された実施形態では、他の装置上のアプリケーションは、ピアを見つけるために登録している。ブロック528は、両方の装置上のアプリケーションがプロキシミティ装置上でピアアプリケーションを見つけるために登録していることを本質的に決定する。
フォアグラウンドで動いているピアアプリケーションがピアアプリケーションを見つけるために登録されていないという決定時に、プロキシミティサービスは、ブロック530で、ピア要求を承諾するために選択可能な選択肢をユーザに提供するユーザインターフェース要素を表示させる。ユーザに承諾選択肢を提供することは、ユーザがこれらの装置に対する制御を維持し、それによって、セキュリティおよびユーザのプライバシーを改善することを可能にする。
ブロック532で、ユーザがピア接続を形成することを承諾することを指示するユーザ入力装置からの入力の受信時に(または、アプリケーションがピアを見つけるために予め登録している場合)、プロキシミティサービスは、ブロック534で、通信ソケット、または通信媒体を介する情報の交換を実現し易くする何らかの他の通信情報をピアアプリケーションに戻し、ピアアプリケーションが他の装置上でこのピアと通信することを可能にする。
プロセス500は、ユーザがプロキシミティ接続を確立し、他の装置とのピア接続の形成を承諾し、他の装置とのマルチユーザ協調に直接的に参加するために、自分の装置を別の装置と近接させることを可能にする。プラットフォームレベルのプロキシミティサービスは、プロキシミティプロバイダに直接的にプログラムするという要件なしに、かつ、プロキシミティ接続が確立されているときにアプリケーションが動いているという要求なしに、アプリケーションがこの体験をユーザに提供することを可能にする。
プレステージされたメッセージ転送を実行するための動作例
図6は、プロキシミティ接続を通じてプレステージされたメッセージ転送を開始するプロセス例600を示すフローチャートである。プロキシミティ有効アプリケーションは、ブロック602で、メッセージを1つ以上の名前空間に公開することがある。名前空間は、標準ベースの名前空間でもよく、または、名前空間は、独自の、および/または、任意の名前空間でもよい。プロキシミティ有効アプリケーションは、プロキシミティメッセージングAPIを呼び出すことにより公開されるべきメッセージを登録することがある。
同じまたは異なるプロキシミティ有効アプリケーションは、ブロック604で、1つ以上の名前空間に参加することもある。プロキシミティ有効アプリケーションは、プロキシミティ有効アプリケーションが公開する先の同じまたは異なる名前空間に参加することがある。プロキシミティ有効アプリケーションは、プロキシミティメッセージングAPIを呼び出すことにより名前空間参加を登録することがある。
ブロック606で、別の装置とのプロキシミティ接続が確立されたと決定されたとき、プロキシミティサービスは、ブロック608で、他の装置と名前空間情報を交換する。プロキシミティサービスは、プロキシミティ有効アプリケーションが参加する、および/または、公開先とする名前空間を送信し、他の装置が参加する、および/または、公開先とする名前空間を受信する。プロキシミティサービスは、プロキシミティ有効アプリケーションがメッセージを公開した名前空間を送信し、他の装置が公開した名前空間を受信する。
ジョイント・プロキシミティ・コンテキストは、ブロック610で、公開すべきメッセージ、および/または、他の装置から受信すべきメッセージが存在するという指示を組み込むことが決定される。プロキシミティサービスは、たとえば、装置が公開先とする名前空間と他の装置が参加する名前空間とが適合していること、または、装置が参加する名前空間と他の装置が参加先とする名前空間とが適合していることを決定する。
プロキシミティサービスは、ブロック612で、プロキシミティ接続を介して、適合する参加先の名前空間についてのメッセージを受信する。受信されると、プロキシミティサービスは、ブロック614で、受信されたメッセージを名前空間への参加を登録したプロキシミティ有効アプリケーションに提供する。プロキシミティサービスは、プロキシミティ有効アプリケーションが未だ動いていない場合に、プロキシミティ有効アプリケーションを立ち上げさせる。プロキシミティサービスは、ブロック616で、適合する名前空間について公開されたメッセージを、プロキシミティ接続を介して、他の装置に送信する。代替的な実施形態では、メッセージは、最初に適合する名前空間を決定することなく交換される。
1つの限定されない実施例では、プロキシミティ有効アプリケーションは、名刺名前空間に参加するように構成されている名刺アプリケーションでもよい。名刺アプリケーションは、Vcardを同じ名前空間で公開するように構成されることもある。たとえば、2台の装置を一緒にタップすることにより、別の装置とのプロキシミティ接続が確立されたとき、他の装置によって公開されたVcardが名刺アプリケーションによって受信され、名刺アプリケーションによって公開されたVcardが他の装置に転送される。このようにして、ユーザは、単に自分たちの装置を一体として触れることにより連絡先情報を交換できる。さらに、プラットフォームベースのプロキシミティサービスは、アプリケーション開発者が装置の独自のプロキシミティ技術に直接的にプログラムする必要なしに、このユーザ体験をもたらすことを可能にする。
実施形態では、プロキシミティサービスは、特定の名前空間の受信者として構成されることがある。このような実施形態では、プロキシミティサービスは、プロキシミティサービスを介して交換されたプロキシミティ名前空間メッセージに含まれているアプリケーションを特定するために、プロキシミティサービスの動作環境内で利用可能である他のサービスを活用することがある。一実施形態では、プロキシミティサービスは、データをコンピュータ読み取り可能な記憶媒体に存続させ、その後、データをユーザに提示する目的のため、または、何らかの他の目的のため、存続させられたデータと関係しているアプリケーションを起動させるために既存のプラットフォームサービスを使用する。プロキシミティサービスは、直接的または間接的に、ユーザインターフェースを提示させ、ユーザがアプリケーションの起動を承諾することを可能にする。これは、全体的な体験のセキュリティを保つことがある。1つの限定されない実施例では、プロキシミティサービスは、Vcardデータを格納しているプロキシミティ名前空間を認識するように構成されている。プロキシミティサービスは、Vcardデータをコンピュータ読み取り可能な記憶媒体に存続させ、その後、存続されたVcardデータを提示する、または、そうではない場合に処理するように立ち上げられるべきアプリケーションを決定するために既存のシステム設備を利用する。
さらに別の限定されない実施例では、プロキシミティ有効アプリケーションは、基礎となるプロキシミティ技術を認識し、プロキシミティ技術と直接的に通信するために抽象化APIを使用できる。1つの限定されない実施例では、プロキシミティ有効アプリケーションは、NFCデータ交換フォーマット(NDEF)ペイロードを構築し、これらをNFCプロキシミティプロバイダにそのまま公開する。
プレステージされた装置ペアリングを実行するための動作例
図7は、プレステージされた装置ペアリング機能を開始するプロセス例700を示すフローチャートである。プロキシミティサービスは、ブロック702で、別の装置とのプロキシミティ接続が確立されているという指示を受信する。プロキシミティサービスは、ブロック704で、プロキシミティ接続のジョイント・プロキシミティ・コンテキストが他の装置がペアリング接続の確立を要求するという指示を含んでいると決定する。他の装置は、マウス、キーボード、スピーカー、ビデオプロジェクタ、または他の受動型装置のような受動型プロキシミティ装置でもよい。代替的に、他の装置は、カメラ、スマートフォン、パーソナル音楽プレーヤーなどのような能動型プロキシミティ装置でもよい。装置対アプリケーションのペアリングを利用する実施形態のような実施形態では、プロキシミティサービスは、ブロック706で、ペアリング装置との通信のための1つ以上の永続的な帯域外通信チャネルの確立を開始する。Bluetooth(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他のプロバイダタイプのような選択された通信プロバイダは、ペアリング装置との接続を確立する。
プロキシミティサービスは、ブロック708で、2台の装置のペアリングのため使用されるべき帯域外通信チャネルタイプをネゴシエートする。帯域外通信チャネルタイプは、Bluetooth(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他の通信プロバイダタイプでもよい。プロキシミティサービスは、両方の装置で利用できる帯域外通信チャネルタイプを選択し、2つ以上の帯域外通信チャネルタイプが両方の装置で利用できる場合、所定の方法論に従って1つを選択する。
たとえば、2つ以上の帯域外通信チャネルがブロック706で確立されることがある。この場合、一方または両方の装置は、それらの中から使用する1つを選択するために選択アルゴリズムを採用する。代替的な実施形態では、帯域外通信チャネルタイプは、何らかの帯域外通信チャネルの確立前にネゴシエートされる。実施形態では、選択アルゴリズムは、最高速度および最も迅速な接続時間に基づいて帯域外接続タイプを選択する。Bluetooth(商標)、WiFi、およびWiFi directが両方の装置によってサポートされる1つの限定されない実施例では、これらの装置のうちの一方が3つ全てを使用して通信接続の確立を開始する。一例では、Bluetooth(商標)が非常に迅速に接続することがあり、そして、これは、適切な帯域幅を提供するので、開始装置は、これを選択し、開始途中の他の接続を放棄する。他の例では、何らかの他の接続タイプが選択されることがある。
(装置対アプリケーションのペアリングではなく)装置対オペレーティングシステムのペアリングを利用する実施形態のような代替的な実施形態では、ブロック706および708によって表されたプロセスは、省かれることがある。これらの例では、オペレーティングシステムのペアリングサービスは、帯域外通信チャネルがプロキシミティサービスによって開始されるのではなく、帯域外通信チャネルを後の時点で開始および/またはネゴシエートすることがある。このようなペアリングサービス機能は、この発明を実施するための形態の欄の範囲を越えている。
プロキシミティサービスは、ブロック710で、ペアリング要求を承諾するために選択可能な選択肢を提供するユーザインターフェース要素を表示させる。ユーザインターフェース要素は、装置タイプ、製造元、モデル番号などのような他の装置に関する情報を含むことがある。この情報は、プロキシミティ接続を介して受信されたペアリング要求に含まれるか、ペアリング要求と共に含まれることがある。
ブロック712で、ユーザがペアリング要求を承諾することを指示するユーザ装置からの入力の受信時に、プロキシミティサービスは、ブロック714で、ペアリングプロセスを完了し、コンテンツ転送およびペアリング装置のリモート制御のようなペアリング体験を提供するために、帯域外ペアリング情報を装置のペアリングサービスまたは装置のアプリケーションのいずれかに送る。装置対アプリケーションペアリングを利用する実施形態のような実施形態では、通信ソケット、または通信媒体を介する情報の交換を実現し易くする何らかの他の通信情報は、ペアリング装置との帯域外通信接続を確立するためにペアリングアプリケーションに送られる。
実施形態は、ユーザが装置をパーソナルコンピュータにタップすることにより装置を自分のパーソナルコンピュータとペアに組むことを許可する。たとえば、ユーザは、マウスをパーソナルコンピュータにタップし、前述のペアリングアクションを自動的に開始することがある。ユーザがマウスとのペアリングを承諾すると、マウスおよびパーソナルコンピュータは、通信するために、たとえば、Bluetooth(登録商標)接続を使用し、マウスがパーソナルコンピュータのユーザインターフェースの内部でポインタを制御することを可能にすることがある。
プレステージされたコンテンツ共有を実行するための動作例
図8は、プロキシミティ装置とのプレステージされたコンテンツの共有を可能にするために帯域外接続を開始し確立するプロセス例800を示すフローチャートである。共有有効アプリケーションは、ブロック802で、共有サービス呼び出す。共有サービスは、アプリケーションがコンテンツを互いに共有することを可能にするオペレーティングシステム要素である。共有サービスは、ユーザインターフェース要素を提示することがあり、ユーザは、このユーザインターフェース要素からデータを共有する他のアプリケーションを選択することができる。共有サービスは、データをプロキシミティ装置と共有するために選択肢をユーザにさらに提示することがある。代替的な実施形態は、承諾選択肢をユーザに提示しないことがある。
共有サービスは、ブロック804で、プロキシミティ装置とコンテンツを共有するために要求を受信する。共有サービスは、ブロック806で、コンテンツをプロキシミティ装置に送信するために要求をプロキシミティサービスに登録する。
プロキシミティサービスは、ブロック808で、プロキシミティプロバイダから、プロキシミティ接続が確立されたという指示を受信する。プロキシミティサービスは、ブロック810で、キューに入れられたコンテンツがプロキシミティ装置との共有のため登録されているという指示を含むプレステージされたプロキシミティコンテキスト情報を他の装置と交換することになる。
プロキシミティサービスは、ブロック812でジョイント・プロキシミティ・コンテキストを決定する。図8に示された実施形態では、ジョイント・プロキシミティ・コンテキストは、共有サービスがプロキシミティ装置に送信するためにコンテンツをキューに入れているという指示を含む。プロキシミティサービスは、ブロック814で、プロキシミティプロバイダを介して、帯域外通信チャネルを安全にするために使用できるプロキシミティ接続の共有秘密鍵を交換する。
プロキシミティサービスは、ブロック816で、プロキシミティ装置との通信のための帯域外通信チャネルの確立を開始する。Bluetooth(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他の通信プロバイダタイプのような選択された通信プロバイダは、共有装置との接続を確立する。
プロキシミティサービスは、ブロック818で、帯域外通信チャネルタイプをネゴシエートする。発明を実施するための形態の欄に記載されているように、ネゴシエーションは、2台の装置の通信能力に関する情報の交換と、帯域外通信チャネルのため使用されるべき通信タイプの選択とを含むことがある。通信タイプを選択するプロセスは、予め定められ、両方の装置で同じであり、両方の装置が同じ通信タイプを選択することを確実にする。実施形態では、複数の帯域外チャネルは、ブロック816で、確立に成功していることがあり、一方または両方の装置は、選択アルゴリズムを使用して、これらの帯域外チャネルの中で使用すべきものを決定する。実施形態では、選択アルゴリズムは、最高速度および最も迅速な接続時間に基づいて帯域外接続タイプを選択する。Bluetooth(商標)、WiFi、およびWiFi directが両方の装置によってサポートされる1つの限定されない実施例では。開始装置は、3つ全てを使用して通信接続の確立を開始する。一例では、Bluetooth(商標)が非常に迅速に接続することがあり、そして、これは、適切な帯域幅を提供するので、開始装置は、これを選択し、開始途中の他の接続を放棄する。
プロキシミティサービスは、ブロック820で、コンテンツの送信を承諾するために選択可能な選択肢付きのユーザインターフェース要素を表示することにより、転送を実現し易くする。ユーザがコンテンツの共有を承諾することを指示するデータの受信時に(たとえば、ブロック822などにおいて)、プロキシミティサービスは、ブロック824で、帯域外通信チャネルを介してプロキシミティ装置にコンテンツを送信するために使用できる、通信ソケット、または通信媒体を介する情報の交換を実現し易くするために何らかの他の通信情報を共有サービスに提供する。共有サービスは、その後、ブロック826で、帯域外通信チャネルを介して共有コンテンツをプロキシミティサービスに送信する。
共有サービスは、ブロック828で、コンテンツ送信の進行を指示するためにユーザインターフェース要素を表示させる。このようにして、プロキシミティ装置とコンテンツを共有するために、ユーザは、選択されたコンテンツをキューに入れるためにアプリケーションを動かし、ユーザインターフェース要素を介して共有サービスを呼び出し、キューに入れられたコンテンツをプロキシミティ装置に送信するために選択する。ユーザは、プロキシミティ接続を開始するために、2台の装置をタップし、2台の装置を一緒に振り、2台の装置を互いにぴったり合わせて置き、または何らかの他のジェスチャーを実行する。その後、転送が開始され、ユーザは、進行用のユーザインターフェースから転送が完了したときを見分けることができる。プロキシミティサービスは、共有サービスと併せて、アプリケーション開発者がプロキシミティプロバイダまたは帯域外通信プロバイダのいずれかに直接的にプログラムする必要なしにこれらのユーザ体験をもたらすことを可能にする。
図9は、プロキシミティ装置からのコンテンツ共有案内の受信時に帯域外接続を開始し確立するプロセス例900を示すフローチャートである。プロキシミティサービスは、ブロック902で、プロキシミティプロバイダからプロキシミティ接続が確立されているという指示を受信する。プロキシミティ接続は、ユーザが2台の装置を一緒にタップすること、これらを一緒に振ること、これらを互いにぴったり合わせて置くこと、共通の物理的または仮想的な位置に入れること、または何らかの他のジェスチャーを実行することによって開始されることがある。
プロキシミティサービスは、ブロック904で、プロキシミティ接続を介してプレステージされたコンテキスト情報を他の装置と交換する。図9に示された実施形態では、プロキシミティサービスが動いている方の装置は、送信すべきプレステージされたコンテキスト情報がない。
プロキシミティサービスは、ブロック906で、プロキシミティ接続のジョイント・プロキシミティ・コンテキストに、他の装置が装置と共有されるべきコンテンツをキューに入れているという指示が含まれていると決定する。他の装置は、図8に関連して前述した手法と同じまたは類似する手法で共有するためこのコンテンツを選択していることがある。
プロキシミティサービスは、ブロック908で、プロキシミティプロバイダを介して、帯域外通信チャネルを安全にするために使用できるプロキシミティ接続の共有秘密鍵を交換する。
プロキシミティサービスは、ブロック910で、プロキシミティ装置との通信のための1つ以上の帯域外通信チャネルの確立を開始する。Bluetooth(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他の通信プロバイダタイプのような選択された通信プロバイダは、ペアリング装置との接続を確立する。
プロキシミティサービスは、ブロック912で、帯域外通信チャネルタイプをネゴシエートする。帯域外通信チャネルタイプは、Bluetooth(登録商標)、Wi−Fi(登録商標)、Wi−Fi Direct(商標)、または他の通信プロバイダタイプでもよい。プロキシミティサービスは、両方の装置で利用できる帯域外通信チャネルタイプを選択し、2つ以上の帯域外通信チャネルタイプが両方の装置で利用できる場合、所定の方法論に従って1つを選択する。たとえば、2つ以上の帯域外通信チャネルは、ブロック910で確立されることがある。この場合、一方または両方の装置は、これらの帯域が通信チャネルのうち使用すべき1つを選択するために選択アルゴリズムを採用する。
実施形態では、選択アルゴリズムは、最高速度および最も迅速な接続時間に基づいて帯域外通信接続タイプを選択する。Bluetooth(商標)、WiFi、およびWiFi directが両方の装置によってサポートされる1つの限定されない実施例では。開始装置は、3つ全てを使用して通信接続の確立を開始する。一例では、Bluetooth(商標)が非常に迅速に接続することがあり、そして、これは、適切な帯域幅を提供するので、開始装置は、これを選択し、開始途中の他の接続を放棄する。代替的な実施形態では、帯域外通信チャネルタイプは、何らかの帯域外通信チャネルの確立前にネゴシエートされる。
プロキシミティサービスは、ブロック914で、他の装置からの共有コンテンツの受信を承諾するために選択可能な選択肢付きのユーザインターフェース要素を表示させることにより共有を実現し易くする。共有コンテンツの受信を承諾するために選択可能な選択肢をユーザに提供することは、ユーザ体験を装置プライバシーおよびセキュリティと共に改善する。ユーザインターフェースは、ファイル名、ファイルタイプ、ファイルサイズなどのような共有コンテンツに関する情報をさらに含むことがある。
ブロック916で、ユーザ承諾を指示するユーザ入力の受信時に、プロキシミティサービスは、ブロック918で、装置の共有サービスを立ち上げさせる。共有サービスは、共有コンテンツの受信を取り扱う。
プロキシミティサービスは、ブロック920で、帯域外通信チャネルを介してプロキシミティ装置にコンテンツを送信するために使用できる、通信ソケット、または通信媒体を介する情報の交換を実現し易くするために何らかの他の通信情報を共有サービスに提供する。共有サービスは、ブロック922で、帯域外通信チャネルを介してプロキシミティ装置から共有コンテンツを受信する。
共有サービスは、ブロック924で、コンテンツ送信の進行を指示するためにユーザインターフェース要素を表示させる。これは、ユーザが、コンテンツが転送中であることを見ることを可能にさせ、コンテンツ転送が完了したときにユーザに警告する。
共有サービスは、ブロック926で、受信されたコンテンツを閲覧するアプリケーションを立ち上げるために選択可能な選択肢付きのユーザインターフェース要素を表示させる。1つの限定されない実施例では、受信されたコンテンツがビデオファイルである場合、ユーザインターフェース要素は、ビデオファイルを閲覧するのにメディア・プレーヤー・アプリケーションを立ち上げるために選択可能な選択肢を提示することがある。ブロック928で、ユーザがアプリケーションを立ち上げることを承諾したことを指示するユーザ装置からの入力の受信時に、共有サービスは、ブロック930で、アプリケーションを立ち上げさせる。
このようにして、プロキシミティ装置から共有コンテンツを受信するために、ユーザは、プロキシミティ接続を開始するために、装置をタップし、装置を一緒に振り、装置をぴったり合わせて置き、装置をインターネット・チャット・ルームのような仮想空間に入れ、または何らかの他のジェスチャーを実行する。ユーザは、コンテンツの受信を承諾し、ユーザは、進行用のユーザインターフェースから転送が完了したときを見分けることができる。ユーザは、その後、コンテンツを閲覧するためにアプリケーションを立ち上げるように促される。プロキシミティサービスは、共有サービスと併せて、アプリケーション開発者がプロキシミティ無線機または帯域外通信無線機に直接的にプログラムする必要なしにこれらのユーザ体験をもたらすことを可能にする。
プレステージされたコンテキストをアプリケーション状態から推論すること
図10は、アプリケーション状態からプレステージされたコンテキストを推論するプロセス例1000を示すフローチャートである。プロキシミティサービスは、ステップ1002で、プロキシミティプロバイダからプロキシミティ接続が確立されているという指示を受信する。
プロキシミティサービスは、ブロック1004で、アプリケーション状態からプレステージされたプロキシミティ機能を推論する。図10に示された実施形態では、アプリケーションは、何らかのプロキシミティ機能を実行するために登録されていない。その代わり、アプリケーションは、ある種の状態を設定しているだけであり、プロキシミティサービスがこの状態から所望のプロキシミティ機能を推論する。1つの限定されない実施例では、コンテンツは、プロキシミティ接続が確立されている時点にアプリケーションの内部で選択される。プロキシミティサービスは、アプリケーション状態から、所望のプロキシミティ機能が共有サービスを介してコンテンツを転送することであると推論する。
別の限定されない実施例では、フォアグラウンドアプリケーションは、プロキシミティ接続が確立される時点に有効化される(コンピュータゲームにおけるマルチプレーヤー特徴のような)マルチユーザ協調特徴を有するアプリケーションでもよい。プロキシミティサービスは、所望のプロキシミティ機能は、ユーザがマルチユーザ協調特徴を適切に活用するためにプロキシミティ接続を介して接続されている装置上のピアアプリケーションとのピア接続を立ち上げることを望むことである、と推論することがある。プロキシミティサービスは、ブロック1006で、ジョイント・プロキシミティ・コンテキストが推論された、プレステージされた機能を含む、と決定する。
プロキシミティサービスは、ブロック1008で、推論されたプロキシミティ特徴を指示するプレステージされたコンテキスト情報を他の装置と交換するので、他の装置は、ジョイント・プロキシミティ・コンテキストを決定し、他の装置の端部でプレステージされた機能を実現し易くするために措置を講じることができる。プロキシミティサービスは、ブロック1010で、推論された、プレステージされた機能を実現し易くするためにプロキシミティアクションを承諾するために選択可能な選択肢を含むユーザインターフェース要素を表示させる。
ブロック1012で、ユーザ承諾を指示する入力の受信時に、プロキシミティサービスは、ブロック1014で、推論されたプロキシミティ機能を実現し易くするためにプロキシミティアクションを開始する。推論された、プレステージされた機能が、たとえば、選択されたコンテンツの共有である場合、プロキシミティサービスは、発明を実施するための形態の欄に記載されているようにコンテンツを共有するために、共有サービスを立ち上げ、帯域外接続をネゴシエートし、確立することがある。推論された、プレステージされた機能が他の装置とのピア接続を確立することである場合、プロキシミティサービスは、他の装置への帯域外接続をネゴシエートし、確立し、そして、発明を実施するための形態の欄に記載されているように、他の装置上のピアアプリケーションと通信するために使用できる、ソケット、または通信媒体を介する情報の交換を実現し易くするために何らかの他の通信情報をフォアグラウンドアプリケーションに提供することがある。
図3〜10は、様々な実施形態に従ってプロセス例を示すフローグラフを表す。これらのプロセスの動作は、個別のブロックに例示され、これらのブロックを参照して要約される。プロセスは、論理フローグラフとして例示され、プロセスの各動作は、ハードウェア、ソフトウェア、またはこれらの組み合わせで実施される可能性がある動作の組を表現することがある。ソフトウェアとの関連で、動作は、1つ以上のコンピュータ記憶媒体に記憶されたコンピュータ実行可能な命令を表現し、これらの命令は、1台以上のプロセッサによって実行されるとき、1台以上のプロセッサが列挙された動作を実行することを可能にする。概して、コンピュータ実行可能な命令は、特定の機能を実行する、または、特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、モジュール、コンポーネント、データ構造体などを含む。動作が記載される順序は、限定として解釈されることが意図されず、何らかの個数の記載された動作は、プロセスを実施するために、何らかの順序で組み合わされ、副動作に分離され、および/または、並列に実行される可能性がある。本開示の様々な実施形態に係るプロセスは、論理フローグラフに表された動作の一部だけ、または、全部を含むことがある。
コンピュータ読み取り可能な媒体
使用されるコンピューティング装置の構成およびタイプに依存して、図2におけるプロキシミティ装置200のメモリ204は、(ランダム・アクセス・メモリ(RAM))のような揮発性メモリ、および/または、(リード・オンリー・メモリ(ROM)、フラッシュメモリなどのような)不揮発性メモリを含むことがある。メモリ204は、限定されることなく、コンピュータ読み取り可能な命令、データ構造体、プログラムモジュール、およびプロキシミティ装置200のための他のデータの不揮発性記憶装置を提供することがあるフラッシュメモリ、磁気記憶装置、光学記憶装置、および/または、テープ記憶装置を含めて、付加的な着脱可能な記憶装置、および/または、着脱不可能な記憶装置をさらに含むことがある。
メモリ204は、コンピュータ読み取り可能な媒体の実施例である。コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な媒体の少なくとも2つのタイプ、すなわち、コンピュータ記憶媒体および通信媒体を含む。
コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造体、プログラムモジュール、または他のデータのような情報の記憶のための何らかのプロセスまたは技術において実施される揮発性および不揮発性、着脱可能および着脱不可能な媒体を含む。コンピュータ記憶媒体は、限定されることなく、相変化メモリ(PRAM)と、静的ランダム・アクセス・メモリ(SRAM)と、動的ランダム・アクセス・メモリ(DRAM)と、他のタイプのランダム・アクセス・メモリ(RAM)と、リード・オンリー・メモリ(ROM)と、電気的消去可能プログラマブル・リード・オンリー・メモリ(EEPROM)と、フラッシュメモリもしくは他のメモリ技術と、コンパクト・ディスク・リード・オンリー・メモリ(CD−ROM)と、デジタル多用途ディスク(DVD)もしくは他の光学記憶装置と、磁気カセットと、磁気テープと、磁気ディスク記憶装置もしくは他の磁気記憶装置と、または、コンピューティング装置によるアクセスのため情報を記憶するために使用される可能性がある何らかの他の非伝送媒体とを含む。
その一方、通信媒体は、コンピュータ読み取り可能な命令、データ構造体、プログラムモジュール、または他のデータを搬送波、または他の伝送の仕組みのような変調されたデータ信号の中で具現化することがある。本明細書に定義されているように、コンピュータ記憶媒体は、通信媒体を含まない。
結論
開示は、構造的な特徴および/または方法論的な行為に固有である言い回しを使用するが、発明は、記載された具体的な特徴または行為に限定されない。それどころか、具体的な特徴および行為は、発明を実施する例示的な形式として開示されている。
実施形態に対する付記を以下に例示的に列挙する。
(付記1)
装置のプロキシミティサービスによって、プロキシミティ接続が他の装置との間で確立されているという指示をプロキシミティプロバイダから受信するステップと、
前記指示に応じて、前記プロキシミティ接続のジョイント・プロキシミティ・コンテキストを決定するために、前記プロキシミティ接続を介して、プレステージされたコンテキスト情報を、前記他の装置の他のプロキシミティサービスと交換するステップであって、前記プレステージされたコンテキスト情報は、前記装置のアプリケーションによる前記プロキシミティサービス、または、前記他の装置の他のアプリケーションによる他のプロキシミティサービスのいずれかに登録されたプロキシミティ機能の指示を含む、ステップと、
前記プロキシミティ接続の前記ジョイント・プロキシミティ・コンテキストに基づいて、プレステージされたプロキシミティアクションを開始し、前記プロキシミティ機能を促すステップと
を有する方法。
(付記2)
当該方法は、前記装置の前記アプリケーションから登録を受信し、プロキシミティ装置におけるピアアプリケーションを発見するステップをさらに有し、前記プレステージされたプロキシミティアクションは、前記ピアアプリケーションとのピア接続を確立するために、前記プロキシミティサービスにより、前記アプリケーションと前記他の装置との間に帯域外接続を確立することを含む、付記1に記載の方法。
(付記3)
前記ジョイント・プロキシミティ・コンテキストは、前記他の装置の前記アプリケーションがプロキシミティ装置におけるピアアプリケーションを発見するために登録しているという指示を含み、前記プレステージされたプロキシミティアクションは、前記プロキシミティサービスによって、前記ピアアプリケーションを立ち上げることと、前記他の装置とのピア接続を確立することとを承諾するために選択可能な選択肢を提供するユーザインターフェース要素を提示することを含む、付記1に記載の方法。
(付記4)
前記装置の共有サービスから前記共有サービスがプロキシミティ装置との共有のため前記アプリケーションによってキューに入れられたコンテンツを有しているという登録を受信するステップをさらに有し、前記ジョイント・プロキシミティ・コンテキストは、前記登録の指示を含み、前記プレステージされたプロキシミティアクションは、前記プロキシミティサービスによって、前記共有サービスと前記他の装置との間に帯域外接続を確立することを含む、付記1に記載の方法。
(付記5)
前記ジョイント・プロキシミティ・コンテキストは、前記他の装置の共有サービスがプロキシミティサービスに送信するために前記他のアプリケーションからのコンテンツをキューに入れているという指示を含み、前記プレステージされたプロキシミティアクションは、前記キューに入れられたコンテンツの受信を承諾するために選択可能な選択肢を提供するユーザインターフェース要素を提示することを含む、付記1に記載の方法。
(付記6)
前記アプリケーションの状態からプロキシミティ機能を推論することをさらに備え、前記ジョイント・プロキシミティ・コンテキストは、前記推論されたプロキシミティ機能の指示を含む、付記1に記載の方法。
(付記7)
プロキシミティプロバイダと、
ワイヤレス通信無線機と、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行可能であり、前記プロキシミティプロバイダを介してプロキシミティ接続を確立するように構成されているプロキシミティプロバイダモジュールと、
前記1つ以上のプロセッサによって実行可能なプロキシミティサービスモジュールであって、
前記プロキシミティプロバイダモジュールから、プロキシミティ接続がプロキシミティ装置と確立されているという指示を受信する処理と、
前記プロキシミティ接続の確立時に、前記プロキシミティ装置の他のプロキシミティサービスとプロキシミティ情報を交換する処理であって、前記プロキシミティ情報は、プロキシミティサービスまたは前記他のプロキシミティサービスのいずれかへの登録を介して、コンピューティングシステムのアプリケ−ションまたは前記プロキシミティ装置の他のアプリケーションのいずれかから発生する要求されたプロキシミティ機能を含む、処理と、
前記プロキシミティ接続のジョイント・プロキシミティ・コンテキストがピアアプリケーション間にピア接続を確立する要求を示していると判断された場合に、前記ピア接続を可能にするために前記ワイヤレス通信無線機を介して前記アプリケーションと前記他のアプリケーションとの間で通信を確立する処理と
を有する実行するように形成されているプロキシミティサービスモジュールと、
を備えるコンピューティングシステム。
(付記8)
前記プロキシミティサービスは、前記アプリケーションが前記コンピューティングシステムのユーザインターフェースのフォアグラウンドで動いていないという決定時に、前記アプリケーションを前記フォアグラウンドにすることを承諾するために選択可能な選択肢を提供するユーザインターフェース要素を表示させるようにさらに構成されている、付記7に記載のコンピューティングシステム。
(付記9)
前記プロキシミティサービスは、前記アプリケーションが前記コンピューティングシステム上で動いていないという決定時に、前記アプリケーションの実行を承諾するために選択可能な選択肢を提供するユーザインターフェース要素を表示させるようにさらに構成されている、付記7に記載のコンピューティングシステム。
(付記10)
コンピューティング装置の1つ以上のプロセッサにより実行される場合に、前記コンピューティング装置に方法を実行させる複数のプログラミング命令を有するコンピュータ読み取り可能な記憶媒体であって、前記方法は、
前記コンピューティング装置のプロキシミティプロバイダを介する前記コンピューティング装置と接続装置との間のプロキシミティ接続の確立に応じて、前記接続装置とのペアリング接続を確立するためのインバウンド要求を、プロキシミティサービスにより、前記接続装置から受信するステップと、
前記プロキシミティサービスによって、前記ペアリング接続を承諾するために選択可能な選択肢を含むユーザインターフェース要素を表示させるステップと、
前記ペアリング接続を承諾することを指示する入力を受信した場合に、前記プロキシミティプロバイダとは異なる前記装置の通信プロバイダを介して、前記コンピューティング装置のペアリングサービスと他の装置との間で接続を設定するステップと、
を有する、コンピュータ読み取り可能な記憶媒体。
特開2011−2962号公報 国際公開第2010/002497号

Claims (10)

  1. デバイスのプロキシミティサービスが、前記デバイスと他のデバイスとの間にプロキシミティコネクションが設定されている旨の通知を、プロキシミティプロバイダから受信するステップ;
    前記通知に応じて、前記プロキシミティコネクションにより、プレステージされたコンテキスト情報を、前記他のデバイスの他のプロキシミティサービスと交換するステップ;
    プレステージされたコンテキスト情報の交換に基づいて、前記デバイスと前記他のデバイスとの間の前記プロキシミティコネクションのジョイントプロキシミティコンテキストを決定するステップであって、前記プレステージされたコンテキスト情報は、前記デバイスの1つ又はそれ以上の異なるアプリケーションにより前記プロキシミティサービスに、或いは、前記他のデバイスの複数のアプリケーションにより前記他のプロキシミティサービスに登録されている1つ以上のプロキシミティ機能についての指示を含み、前記1つ以上のプロキシミティ機能は、前記デバイス上のピアアプリケーションと前記他のデバイス上の他のピアアプリケーションとの間のピアコネクションを識別及び設定し、前記ピアアプリケーション及び前記他のピアアプリケーションのマルチユーザ機能を可能にすることを含む、ステップ;
    前記デバイスと前記他のデバイスとの間の前記プロキシミティコネクションの前記ジョイントプロキシミティコンテキストを決定したことに基づいて、1つ以上のプロキシミティ機能を支援するために、プレステージされたプロキシミティアクションを開始するステップであって、前記プレステージされたプロキシミティアクションは、前記ピアアプリケーションと前記他のピアアプリケーションとの間で、前記プロキシミティコネクションとは別の追加的なコネクションの設定を開始することを含み、前記1つ以上のプロキシミティ機能は、前記追加的なコネクションの設定とは異なる少なくとも1つの機能を含む、ステップ;
    を有することを特徴とする方法。
  2. 前記ピアアプリケーション及び前記他のピアアプリケーションは、同じアプリケーションのインスタンスである
    ことを特徴とする請求項1に記載の方法。
  3. 前記ジョイントプロキシミティコンテキストは、前記他のデバイスの前記他のピアアプリケーションが、プロキシミティデバイス上の前記ピアアプリケーションを発見するように登録されていることの指示を含み、前記プレステージされたプロキシミティアクションは、前記デバイスの前記プロキシミティサービスによりユーザインターフェース要素を提示することを含み、前記ユーザインターフェース要素は、前記デバイスの前記ピアアプリケーションを開始すること、及び、前記ピアアプリケーションと前記他のピアアプリケーションとの間にピアコネクションを設定することに同意するための選択可能なオプションを提供する
    ことを特徴とする請求項1又は2に記載の方法。
  4. 前記プロキシミティサービスが、前記デバイスの前記ピアアプリケーションの開始、及び、前記ピアコネクションの設定に対するユーザの同意を示す入力を、ユーザ入力デバイスから受信するステップ;
    前記入力を受信したことに応じて、前記デバイスの前記ピアアプリケーションを開始するステップ;及び
    前記デバイスのユーザインターフェースの前面側に、前記デバイスの前記ピアアプリケーションを持ってくるステップ;
    を更に有することを特徴とする請求項3に記載の方法。
  5. 前記ジョイントプロキシミティコンテキストは、前記他のデバイスの前記他のピアアプリケーションが、前記ピアアプリケーションを発見するように登録されていることの指示を含み、前記方法は、前記他のデバイスの前記ピアアプリケーションに対応するアプリケーションが前記デバイスにインストールされていない旨の判断がなされた場合、前記プロキシミティサービスは、前記ピアアプリケーションを入手することに同意するための選択可能なオプションを提供するユーザインターフェース要素を提示するステップを更に含む
    ことを特徴とする請求項1ないし4のうちの何れか1項に記載の方法。
  6. 前記方法は、前記プロキシミティプロバイダから通知を受信する前に、前記デバイスのピアアプリケーションの状態からプロキシミティ機能を推測するステップを更に有し、前記ジョイントプロキシミティコンテキストは、推測されたプロキシミティ機能の指示を含む
    ことを特徴とする請求項1ないし5のうちの何れか1項に記載の方法。
  7. プロキシミティプロバイダ;
    無線通信部;
    1つ以上のプロセッサ;
    前記1つ以上のプロセッサにより実行可能であり且つ前記プロキシミティプロバイダによりプロキシミティコネクションを設定するように構成されるプロキシミティプロバイダモジュール;
    前記1つ以上のプロセッサにより実行可能なプロキシミティサービス;
    を有し、前記プロキシミティサービスは:
    コンピューティングシステムとプロキシミティデバイスとの間に
    プロキシミティコネクションが設定されている旨の通知を、前記プロキシミティプロバイダから受信すること;
    前記コンピューティングシステムと前記プロキシミティデバイスとの間で前記プロキシミティコネクションを設定する際に、前記プロキシミティデバイスの他のプロキシミティサービスとプロキシミティ情報を交換することであって、前記プロキシミティ情報の一部は、前記プロキシミティサービス又は前記他のプロキシミティサービスへの登録により、前記コンピューティングシステムの複数のアプリケーション又は前記プロキシミティデバイスの複数のアプリケーションに由来する1つ以上のプロキシミティ機能の要求を含み、前記1つ以上のプロキシミティ機能は、前記コンピューティングシステムのピアアプリケーションと前記プロキシミティデバイス上のピアアプリケーションとの間のピアコネクションを識別及び設定し、前記コンピューティングシステムの前記ピアアプリケーションのマルチユーザ機能を可能にすることを含む、こと;
    交換されたプロキシミティ情報が、前記コンピューティングシステムの前記ピアアプリケーションと前記プロキシミティデバイスの前記ピアアプリケーションとの間に追加的なコネクションを設定するリクエストを示す旨の判断に応じて、前記コンピューティングシステムの前記ピアアプリケーションと前記プロキシミティデバイスの前記ピアアプリケーションとの間で無線通信部により通信を設定することを開始し、前記ピアコネクションを可能にすること;及び
    1つ以上のプロキシミティ機能を促すためにプレステージされたプロキシミティアクションを開始することであって、前記1つ以上のプロキシミティ機能は、前記の通信の設定とは異なる少なくとも1つの機能を含む、こと;
    を行うように構成されることを特徴とするコンピューティングシステム。
  8. 前記コンピューティングシステムのピアアプリケーション及び前記プロキシミティデバイスの前記ピアアプリケーションは、同じアプリケーションのインスタンスであることを特徴とする請求項7に記載のコンピューティングシステム。
  9. 前記プロキシミティサービスは、前記コンピューティングシステムの前記ピアアプリケーションが前記コンピューティングシステムのユーザインターフェースの前面側では実行されてない旨の判断に応じて、前記コンピューティングシステムのピアアプリケーションを前面側に持ってくることに同意するための選択可能なオプションを提供するユーザインターフェース要素を表示するように構成される
    ことを特徴とする請求項7又は8に記載のコンピューティングシステム。
  10. 前記プロキシミティサービスは、
    交換されたプロキシミティ情報が、第2のピアプリケーション同士の間で第2のピアコネクションを設定するためのリクエストを示していることを判定すること;及び
    前記第2ピアアプリケーションに対応する第2アプリケーションが前記コンピューティングシステムにインストールされてない旨の判断に応じて、アプリケーション取得サービスを開始するオプションを提供するユーザインターフェース要素を表示すること;
    を行うように構成されることを特徴とする請求項7ないし9のうち何れか1項に記載のコンピューティングシステム。
JP2016160091A 2011-09-12 2016-08-17 プロキシミティサービスのための方法及びコンピューティングシステム Pending JP2017033571A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/230,640 US9800688B2 (en) 2011-09-12 2011-09-12 Platform-enabled proximity service
US13/230,640 2011-09-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014529686A Division JP2014532208A (ja) 2011-09-12 2011-10-11 プロキシミティサービスのための方法及びコンピューティングシステム

Publications (1)

Publication Number Publication Date
JP2017033571A true JP2017033571A (ja) 2017-02-09

Family

ID=47697784

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014529686A Pending JP2014532208A (ja) 2011-09-12 2011-10-11 プロキシミティサービスのための方法及びコンピューティングシステム
JP2016160091A Pending JP2017033571A (ja) 2011-09-12 2016-08-17 プロキシミティサービスのための方法及びコンピューティングシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014529686A Pending JP2014532208A (ja) 2011-09-12 2011-10-11 プロキシミティサービスのための方法及びコンピューティングシステム

Country Status (6)

Country Link
US (2) US9800688B2 (ja)
EP (1) EP2756387B1 (ja)
JP (2) JP2014532208A (ja)
KR (1) KR101951504B1 (ja)
CN (2) CN102938939B (ja)
WO (1) WO2013039528A1 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2556880C2 (ru) * 2011-05-09 2015-07-20 Кумбари Аб Система и способ для установления связи для подключенных к сети устройств
US9118686B2 (en) 2011-09-06 2015-08-25 Microsoft Technology Licensing, Llc Per process networking capabilities
US9773102B2 (en) * 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US11089134B1 (en) 2011-12-19 2021-08-10 Majen Tech, LLC System, method, and computer program product for coordination among multiple devices
US8886782B2 (en) * 2012-05-03 2014-11-11 Nokia Corporation Method and apparatus for binding devices into one or more groups
US10057400B1 (en) 2012-11-02 2018-08-21 Majen Tech, LLC Lock screen interface for a mobile device apparatus
US10033773B2 (en) * 2012-12-10 2018-07-24 Samsung Electronics Co., Ltd. Application execution method and apparatus
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US11431834B1 (en) 2013-01-10 2022-08-30 Majen Tech, LLC Screen interface for a mobile device apparatus
WO2014179942A1 (en) * 2013-05-08 2014-11-13 Nokia Corporation Method and apparatus for determining collaboration role
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
EP2865206B1 (en) 2013-05-23 2017-12-20 Nokia Technologies OY Method and apparatus for apparatus coupling
US10120541B2 (en) 2013-06-09 2018-11-06 Apple Inc. Device, method, and graphical user interface for sharing content from a respective application
CN110377194B (zh) * 2013-06-09 2022-09-30 苹果公司 用于从相应应用程序分享内容的设备、方法和图形用户界面
US20160149876A1 (en) * 2013-06-28 2016-05-26 Nec Corporation Security for prose group communication
US9716991B2 (en) * 2013-09-09 2017-07-25 Samsung Electronics Co., Ltd. Computing system with detection mechanism and method of operation thereof
US9838536B2 (en) 2013-09-30 2017-12-05 Elwha, Llc Mobile device sharing facilitation methods and systems
US9826439B2 (en) 2013-09-30 2017-11-21 Elwha Llc Mobile device sharing facilitation methods and systems operable in network equipment
US9805208B2 (en) 2013-09-30 2017-10-31 Elwha Llc Mobile device sharing facilitation methods and systems with recipient-dependent inclusion of a data selection
US9740875B2 (en) 2013-09-30 2017-08-22 Elwha Llc Mobile device sharing facilitation methods and systems featuring exclusive data presentation
US9813891B2 (en) 2013-09-30 2017-11-07 Elwha Llc Mobile device sharing facilitation methods and systems featuring a subset-specific source identification
US9774728B2 (en) 2013-09-30 2017-09-26 Elwha Llc Mobile device sharing facilitation methods and systems in a context of plural communication records
US11694256B1 (en) 2013-10-10 2023-07-04 Wells Fargo Bank, N.A. Mobile enabled activation of a bank account
CN105765552B (zh) * 2013-10-14 2020-01-21 诺基亚技术有限公司 用于基于情境关系来标识媒体文件的方法和装置
CN104618891B (zh) * 2013-11-04 2018-10-19 华为终端(东莞)有限公司 一种通信方法、终端及核心网实体
KR102094216B1 (ko) * 2013-11-04 2020-03-27 삼성전자 주식회사 이동 통신 시스템 환경에서 프락시미티 기반 서비스 단말 간 발견 및 통신을 지원하기 위한 보안 방안 및 시스템
KR102123469B1 (ko) * 2013-11-29 2020-06-16 삼성전자 주식회사 무선통신 시스템에서 어플리케이션 인지 QoS 차별화된 단말 대 단말 간 디스커버리 방법 및 장치
KR102100159B1 (ko) * 2014-01-13 2020-04-13 삼성전자 주식회사 이동 통신 시스템에서 서비스 발견 및 그룹 통신을 위한 보안 지원 방법 및 시스템
US9882996B2 (en) * 2014-01-23 2018-01-30 Google Llc Determining data associated with proximate computing devices
US9483997B2 (en) 2014-03-10 2016-11-01 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using infrared signaling
US9696414B2 (en) 2014-05-15 2017-07-04 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using sonic signaling
US10666735B2 (en) 2014-05-19 2020-05-26 Auerbach Michael Harrison Tretter Dynamic computer systems and uses thereof
US9742853B2 (en) 2014-05-19 2017-08-22 The Michael Harrison Tretter Auerbach Trust Dynamic computer systems and uses thereof
US10070291B2 (en) 2014-05-19 2018-09-04 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using low energy bluetooth
US10305748B2 (en) 2014-05-19 2019-05-28 The Michael Harrison Tretter Auerbach Trust Dynamic computer systems and uses thereof
KR102208433B1 (ko) * 2014-08-21 2021-01-27 삼성전자주식회사 적어도 하나 이상의 통신 방식을 선택하기 위한 방법 및 장치
JP6433265B2 (ja) * 2014-11-27 2018-12-05 キヤノン株式会社 情報処理装置、電子機器およびそれらの制御方法、プログラム並びに記憶媒体
JP6533085B2 (ja) 2015-03-31 2019-06-19 Line株式会社 端末、情報処理方法、及びプログラム
US10437576B2 (en) * 2015-06-30 2019-10-08 Verizon Patent And Licensing Inc. Automatic application download and launch during presentation of content
US9888340B2 (en) * 2015-10-10 2018-02-06 International Business Machines Corporation Non-intrusive proximity based advertising and message delivery
CN105392109B (zh) * 2015-10-20 2020-03-03 北京小鸟听听科技有限公司 一种无线连接方法和装置
US11740782B2 (en) * 2016-01-06 2023-08-29 Disruptive Technologies Research As Out-of-band commissioning of a wireless device through proximity input
US10529015B1 (en) 2016-04-01 2020-01-07 Wells Fargo Bank, N.A. Systems and methods for onboarding customers through a short-range communication channel
CN106303931A (zh) * 2016-09-26 2017-01-04 深圳市金立通信设备有限公司 一种基于nfc的数据传输方法及终端
US11310294B2 (en) 2016-10-31 2022-04-19 Microsoft Technology Licensing, Llc Companion devices for real-time collaboration in communication sessions
US11019162B2 (en) * 2016-11-16 2021-05-25 Dell Products L.P. System and method for provisioning a user interface for sharing
JP6639430B2 (ja) * 2017-01-31 2020-02-05 キヤノン株式会社 情報処理装置、制御方法およびプログラム
US10820167B2 (en) * 2017-04-27 2020-10-27 Facebook, Inc. Systems and methods for automated content sharing with a peer
US11082512B2 (en) 2017-08-15 2021-08-03 Microsoft Technology Licensing, Llc Routing and filtering event notifications
US10623471B2 (en) 2017-11-08 2020-04-14 International Business Machines Corporation Data sharing among processing systems in a collaboration group
WO2019155259A1 (en) * 2018-02-09 2019-08-15 Leung Ka Wai Wayne Battery-less active and passive hybrid device for secure wireless payment and method thereof
CN110463055B (zh) * 2018-02-09 2021-12-28 梁嘉威 用于安全无线支付的无电池式有源和无源混合器件及其方法
WO2019232345A1 (en) 2018-06-01 2019-12-05 Capital One Services, Llc System and method for varying a function triggered by near field communication
US11304246B2 (en) 2019-11-01 2022-04-12 Microsoft Technology Licensing, Llc Proximity-based pairing and operation of user-specific companion devices
US11546391B2 (en) 2019-11-01 2023-01-03 Microsoft Technology Licensing, Llc Teleconferencing interfaces and controls for paired user computing devices
US11256392B2 (en) * 2019-11-01 2022-02-22 Microsoft Technology Licensing, Llc Unified interfaces for paired user computing devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276439A1 (en) * 2008-06-08 2009-11-05 Apple Inc. System and method for simplified data transfer
US20100278345A1 (en) * 2009-05-04 2010-11-04 Thomas Matthieu Alsina Method and apparatus for proximity based pairing of mobile devices
US20100323758A1 (en) * 2009-06-17 2010-12-23 Canon Kabushiki Kaisha Communication device and control method thereof

Family Cites Families (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956715A (en) 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
EP0880840A4 (en) 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US5721824A (en) 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6052120A (en) 1996-10-01 2000-04-18 Diamond Multimedia Systems, Inc. Method of operating a portable interactive graphics display tablet and communications systems
US6367012B1 (en) 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
EP0862124A3 (en) 1997-02-28 2003-03-26 Fujitsu Limited File access system for efficiently accessing a file having encrypted data within a storage device
US5974549A (en) 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6117187A (en) 1997-09-30 2000-09-12 Hewlett-Packard Company Automatic generation of a software installation package
US6173316B1 (en) 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6101607A (en) 1998-04-24 2000-08-08 International Business Machines Corporation Limit access to program function
US6505300B2 (en) 1998-06-12 2003-01-07 Microsoft Corporation Method and system for secure running of untrusted content
US6279111B1 (en) 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6381742B2 (en) 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6697569B1 (en) 1998-09-11 2004-02-24 Telefonaktiebolaget Lm Ericsson (Publ) Automated conversion of a visual presentation into digital data format
US6412070B1 (en) 1998-09-21 2002-06-25 Microsoft Corporation Extensible security system and method for controlling access to objects in a computing environment
US6522694B1 (en) 1998-10-09 2003-02-18 Matsushita Electric Industrial Co., Ltd. Programmable filter for removing stuffing bits from an MPEG-2 bit-stream
US6366617B1 (en) 1998-10-09 2002-04-02 Matsushita Electric Industrial Co., Ltd. Programmable filter for removing selected user data from an MPEG-2 bit stream
AUPP752398A0 (en) 1998-12-04 1999-01-07 Collins, Lyal Sidney Secure multi-point data transfer system
US6694434B1 (en) 1998-12-23 2004-02-17 Entrust Technologies Limited Method and apparatus for controlling program execution and program distribution
US6286104B1 (en) 1999-08-04 2001-09-04 Oracle Corporation Authentication and authorization in a multi-tier relational database management system
US7151832B1 (en) 1999-11-18 2006-12-19 International Business Machines Corporation Dynamic encryption and decryption of a stream of data
US7398532B1 (en) 2000-03-02 2008-07-08 Hewlett-Packard Development Company, L.P. System and method for establishing a secure execution environment for a software process
US6725452B1 (en) 2000-06-01 2004-04-20 Aduoa, Inc. Method for resolving dependency conflicts among multiple operative entities within a computing environment
US7213266B1 (en) 2000-06-09 2007-05-01 Intertrust Technologies Corp. Systems and methods for managing and protecting electronic content and applications
US20040030926A1 (en) 2000-06-20 2004-02-12 Clark James R. Multi-session secured digital transmission process
US7669238B2 (en) 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
AU2001280490A1 (en) 2000-07-10 2002-01-21 Critical Devices, Inc. Method and system for software inventory management using a global central repository
US20030084134A1 (en) 2000-09-01 2003-05-01 Pace Charles P. System and method for bridging assets to network nodes on multi-tiered networks
JP3776705B2 (ja) 2000-09-28 2006-05-17 株式会社東芝 通信システム、移動端末装置、ゲートウェイ装置及び通信制御方法
US6604209B1 (en) 2000-09-29 2003-08-05 Sun Microsystems, Inc. Distributed component testing in an enterprise computer system
JP2003044297A (ja) 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
US20020071565A1 (en) 2000-12-11 2002-06-13 Kurn David Michael Software process pre-authorization scheme for applications on a computer system
US20030037237A1 (en) 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US6748380B2 (en) 2001-05-14 2004-06-08 International Business Machines Corporation Method, system, and program product for permission to access software
JP2003015993A (ja) 2001-06-28 2003-01-17 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びにプログラム
US7069330B1 (en) 2001-07-05 2006-06-27 Mcafee, Inc. Control of interaction between client computer applications and network resources
US6917951B2 (en) 2001-07-26 2005-07-12 Microsoft Corporation System and method for replicating data in resource sets
AU2003252901A1 (en) 2002-04-18 2003-12-11 Walker Digital, Llc Method and Apparatus for Authenticating Data Relating to Usage of a Gaming Device
US20150135206A1 (en) 2002-05-10 2015-05-14 Convergent Media Solutions Llc Method and apparatus for browsing using alternative linkbases
US20150135214A1 (en) 2002-05-10 2015-05-14 Convergent Media Solutions Llc Method and apparatus for browsing using alternative linkbases
US7401235B2 (en) 2002-05-10 2008-07-15 Microsoft Corporation Persistent authorization context based on external authentication
WO2003096669A2 (en) 2002-05-10 2003-11-20 Reisman Richard R Method and apparatus for browsing using multiple coordinated device
GB0212314D0 (en) 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US6865659B2 (en) 2002-06-07 2005-03-08 Sun Microsystems, Inc. Using short references to access program elements in a large address space
US7542988B1 (en) 2006-01-03 2009-06-02 Symantec Corporation File type associative application layered system
US7152243B2 (en) 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
US7401352B2 (en) 2002-08-30 2008-07-15 International Business Machines Corporation Secure system and method for enforcement of privacy policy and protection of confidentiality
US7512810B1 (en) 2002-09-11 2009-03-31 Guardian Data Storage Llc Method and system for protecting encrypted files transmitted over a network
JP4400059B2 (ja) 2002-10-17 2010-01-20 株式会社日立製作所 ポリシー設定支援ツール
EP1420323A1 (en) 2002-11-18 2004-05-19 Koninklijke KPN N.V. Method and system for distribution of software components
US7337442B2 (en) 2002-12-03 2008-02-26 Microsoft Corporation Methods and systems for cooperative scheduling of hardware resource elements
US20040199787A1 (en) 2003-04-02 2004-10-07 Sun Microsystems, Inc., A Delaware Corporation Card device resource access control
US7478094B2 (en) 2003-06-11 2009-01-13 International Business Machines Corporation High run-time performance method for setting ACL rule for content management security
US7882251B2 (en) 2003-08-13 2011-02-01 Microsoft Corporation Routing hints
US7814551B2 (en) 2003-09-09 2010-10-12 Microsoft Corporation System and method for manifest generation
US7392383B2 (en) 2003-09-25 2008-06-24 International Business Machines Corporation Method and apparatus for providing process-based access controls on computer resources
US20050091535A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US20050091658A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
US8590032B2 (en) 2003-12-10 2013-11-19 Aventail Llc Rule-based routing to resources through a network
US7568195B2 (en) 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
US7480655B2 (en) 2004-01-09 2009-01-20 Webroor Software, Inc. System and method for protecting files on a computer from access by unauthorized applications
US7698393B2 (en) 2004-03-23 2010-04-13 Microsoft Corporation Method and system for shadowing information between computing devices
US20050246762A1 (en) 2004-04-29 2005-11-03 International Business Machines Corporation Changing access permission based on usage of a computer resource
EP1596538A1 (en) * 2004-05-10 2005-11-16 Sony Ericsson Mobile Communications AB Method and device for bluetooth pairing
US20050256859A1 (en) 2004-05-13 2005-11-17 Internation Business Machines Corporation System, application and method of providing application programs continued access to frozen file systems
US7650627B1 (en) 2004-05-28 2010-01-19 Sap Ag Abstract configuration files for efficient implementation of security services
US7540013B2 (en) 2004-06-07 2009-05-26 Check Point Software Technologies, Inc. System and methodology for protecting new computers by applying a preconfigured security update policy
US7509497B2 (en) 2004-06-23 2009-03-24 Microsoft Corporation System and method for providing security to an application
US7818456B2 (en) 2004-06-24 2010-10-19 International Business Machines Corporation Method and system for processing a file attached to an electronic document
JP4682139B2 (ja) 2004-06-30 2011-05-11 パナソニック株式会社 プログラム実行機器およびそのプログラム実行方法
US20100081375A1 (en) 2008-09-30 2010-04-01 Apple Inc. System and method for simplified control of electronic devices
US7703090B2 (en) 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US7676835B2 (en) 2004-08-31 2010-03-09 International Business Machines Corporation System and method for regulating access to objects in a content repository
EP1635508A1 (en) * 2004-09-08 2006-03-15 Koninklijke Philips Electronics N.V. Secure pairing for wireless communications devices
US8499337B1 (en) 2004-10-06 2013-07-30 Mcafee, Inc. Systems and methods for delegation and notification of administration of internet access
US7516477B2 (en) 2004-10-21 2009-04-07 Microsoft Corporation Method and system for ensuring that computer programs are trustworthy
WO2006055838A2 (en) 2004-11-18 2006-05-26 America Online, Inc. Runtime environment
US7774753B1 (en) 2004-11-18 2010-08-10 Adobe Systems Incorporated System and method for communicating data among two or more programs
US7475396B2 (en) 2004-12-03 2009-01-06 International Business Machines Corporation Method and apparatus for defining, building and deploying pluggable and independently configurable install components
CN100490387C (zh) 2004-12-28 2009-05-20 北京邮电大学 用于应用服务器的基于令牌的细粒度访问控制系统及方法
US7472377B2 (en) 2005-01-18 2008-12-30 International Business Machines Corporation Systems and methods for determining software package identity during a system build
US7802294B2 (en) 2005-01-28 2010-09-21 Microsoft Corporation Controlling computer applications' access to data
US7650501B1 (en) 2005-02-15 2010-01-19 Sun Microsystems, Inc. System and methods for construction, fusion, prosecution, and maintenance of minimized operating environments
US20060193467A1 (en) 2005-02-16 2006-08-31 Joseph Levin Access control in a computer system
US7693050B2 (en) 2005-04-14 2010-04-06 Microsoft Corporation Stateless, affinity-preserving load balancing
US7877091B2 (en) 2005-04-18 2011-01-25 Research In Motion Limited Method and system for executing a container managed application on a processing device
US7707620B2 (en) 2005-05-06 2010-04-27 Cisco Technology, Inc. Method to control and secure setuid/gid executables and processes
US20060259980A1 (en) 2005-05-16 2006-11-16 Microsoft Corporation Method and system for limiting rights of services
US7716734B2 (en) 2005-05-19 2010-05-11 Microsoft Corporation Systems and methods for pattern matching on principal names to control access to computing resources
US20070005734A1 (en) 2005-06-30 2007-01-04 Microsoft Corporation Generically extensible client application
US7580933B2 (en) 2005-07-28 2009-08-25 Microsoft Corporation Resource handling for taking permissions
US8073442B2 (en) 2005-10-05 2011-12-06 Microsoft Corporation Binding a device to a provider
US20070083620A1 (en) 2005-10-07 2007-04-12 Pedersen Bradley J Methods for selecting between a predetermined number of execution methods for an application program
CN1959631B (zh) 2005-11-04 2016-09-21 上海启明软件股份有限公司 一种基于itron的应用软件自主装配系统及方法
US7664924B2 (en) 2005-12-01 2010-02-16 Drive Sentry, Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US20100153671A1 (en) 2005-12-01 2010-06-17 Drive Sentry Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US7779265B2 (en) 2005-12-13 2010-08-17 Microsoft Corporation Access control list inheritance thru object(s)
AU2006201479B2 (en) 2005-12-14 2006-07-06 Epip Pty Ltd Improved delivery of electronic documents into a postal network using 'ignore page'
US8621549B2 (en) 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US8972449B2 (en) 2005-12-29 2015-03-03 Nextlabs, Inc. Preventing conflicts of interests between two or more groups
US8209747B2 (en) 2006-01-03 2012-06-26 Cisco Technology, Inc. Methods and systems for correlating rules with corresponding event log entries
US20070192500A1 (en) 2006-02-16 2007-08-16 Infoexpress, Inc. Network access control including dynamic policy enforcement point
US20070208857A1 (en) 2006-02-21 2007-09-06 Netiq Corporation System, method, and computer-readable medium for granting time-based permissions
WO2007097439A1 (ja) 2006-02-21 2007-08-30 Nec Corporation プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
EP1833222A1 (en) 2006-03-10 2007-09-12 Abb Research Ltd. Access control protocol for embedded devices
US20070240194A1 (en) 2006-03-28 2007-10-11 Hargrave Bentley J Scoped permissions for software application deployment
US20070234412A1 (en) 2006-03-29 2007-10-04 Smith Ned M Using a proxy for endpoint access control
US8001528B2 (en) 2006-03-30 2011-08-16 Microsoft Corporation Organization of application state and configuration settings
US9489109B2 (en) * 2006-03-30 2016-11-08 Sony Ericsson Mobile Communication Ab Data communication in an electronic device
US7870387B1 (en) 2006-04-07 2011-01-11 Mcafee, Inc. Program-based authorization
AU2006222686B8 (en) 2006-09-26 2006-11-30 Epip Pty Ltd Matching physical media to electronically submitted documents
US8166472B2 (en) 2006-10-12 2012-04-24 Apple Inc. Installation utility system and method
US20080120707A1 (en) 2006-11-22 2008-05-22 Alexander Ramia Systems and methods for authenticating a device by a centralized data server
US7934087B2 (en) 2006-11-29 2011-04-26 Novell, Inc. Techniques for secure event recording and processing
US7925875B2 (en) 2006-12-31 2011-04-12 Sandisk Corporation Systems and methods for identifying and booting a computer architecture
CN100483352C (zh) 2007-02-13 2009-04-29 华为技术有限公司 Idl调用装置及调用方法
US20080201705A1 (en) 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
CN101616719A (zh) 2007-02-23 2009-12-30 高通股份有限公司 用以基于接近度创建或加入游戏会话的方法和设备
US20080220878A1 (en) 2007-02-23 2008-09-11 Oliver Michaelis Method and Apparatus to Create or Join Gaming Sessions Based on Proximity
US7797743B2 (en) 2007-02-26 2010-09-14 Microsoft Corporation File conversion in restricted process
US8472874B2 (en) * 2007-03-14 2013-06-25 Apple Inc. Method and system for pairing of wireless devices using physical presence
US20080244723A1 (en) 2007-03-27 2008-10-02 Microsoft Corporation Firewall Restriction Using Manifest
US8239954B2 (en) 2007-05-07 2012-08-07 Microsoft Corporation Access control based on program properties
CN101131725A (zh) 2007-05-16 2008-02-27 何鸿君 一种文件访问控制方法
CN102006333B (zh) 2007-06-11 2012-12-26 华为技术有限公司 安装软件组件的方法、系统及装置
US8185889B2 (en) 2007-06-19 2012-05-22 Red Hat, Inc. Methods and systems for porting software packages from one format to another
KR101299639B1 (ko) 2007-08-17 2013-08-23 피닉스 미르 테크놀로지 피티와이 엘티디 콘텐츠 전달 방법 및 시스템
US8191012B2 (en) 2007-08-30 2012-05-29 Daylife, Inc. Method and system for creating theme, topic, and story-based cover pages
US8924731B2 (en) 2007-09-11 2014-12-30 Lg Electronics Inc. Secure signing method, secure authentication method and IPTV system
GB2455059A (en) 2007-10-09 2009-06-03 Symbian Software Ltd Transmitting device pairing information over multiple available out of band channels/interfaces
US8978028B2 (en) 2007-10-10 2015-03-10 Microsoft Technology Licensing, Llc Transactional multi-package installation
US8356335B2 (en) 2007-10-30 2013-01-15 Apple Inc. Techniques for authentication via network connections
KR101474561B1 (ko) 2007-11-27 2014-12-19 삼성전자주식회사 이동통신 단말기에서의 어플리케이션 실행방법 및 장치
US8107879B2 (en) * 2007-12-31 2012-01-31 Intel Corporation Device, system, and method of establishing multiple wireless connections
US9262594B2 (en) 2008-01-18 2016-02-16 Microsoft Technology Licensing, Llc Tamper evidence per device protected identity
US20090193507A1 (en) 2008-01-28 2009-07-30 Wael Ibrahim Authentication messaging service
EP2086206A1 (en) 2008-01-31 2009-08-05 Alcatel Lucent System for operating a peer-to-peer network taking into account access network subscriber information
KR20100114066A (ko) 2008-01-31 2010-10-22 인터내셔널 비지네스 머신즈 코포레이션 암호화된 파일 엑세스를 위한 방법 및 시스템
JP4613969B2 (ja) 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
EP2107458A1 (en) 2008-03-31 2009-10-07 Jatho Investments Modelling software appliance
US7930760B2 (en) 2008-04-01 2011-04-19 Microsoft Corporation Centralized enforcement of name-based computer system security rules
US20090319673A1 (en) 2008-04-24 2009-12-24 International Business Machines Corporation Automated Wireless Device Pairing
US8090852B2 (en) 2008-06-04 2012-01-03 Sophos Plc Managing use of proxies to access restricted network locations
US8407693B2 (en) 2008-06-09 2013-03-26 International Business Machines Corporation Managing package dependencies
US20090327900A1 (en) 2008-06-26 2009-12-31 Microsoft Corporation Indicating resources to which there are access rights
US8397290B2 (en) 2008-06-27 2013-03-12 Microsoft Corporation Granting least privilege access for computing processes
CN101640581B (zh) * 2008-07-31 2012-11-21 鸿富锦精密工业(深圳)有限公司 无线装置及其配对方法及解除配对方法
US8204969B2 (en) 2008-08-05 2012-06-19 Canon Kabushiki Kaisha Method for retrieving updates via the internet
US20100058320A1 (en) 2008-09-04 2010-03-04 Microsoft Corporation Managing Distributed System Software On A Gaming System
KR100997802B1 (ko) 2008-10-20 2010-12-01 한국전자통신연구원 정보 단말기의 보안 관리 장치 및 방법
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US8146134B2 (en) 2008-10-28 2012-03-27 Yahoo! Inc. Scalable firewall policy management platform
US20100174599A1 (en) 2009-01-05 2010-07-08 Apple Inc. System and method for providing content associated with a product or service
US9288210B2 (en) 2009-01-26 2016-03-15 Microsoft Technology Licensing, Llc Revocable object access
JP4803263B2 (ja) 2009-01-28 2011-10-26 ブラザー工業株式会社 ソフトウェアのインストール方法及びプログラム及び情報処理装置
US8752153B2 (en) 2009-02-05 2014-06-10 Wwpass Corporation Accessing data based on authenticated user, provider and system
US8242892B2 (en) 2009-02-12 2012-08-14 International Business Machines Corporation System, method and program product for communicating a privacy policy associated with a radio frequency identification tag and associated object
US8131214B2 (en) 2009-03-02 2012-03-06 Motorola Mobility, Inc. Method for selecting content for transfer or synchronization between devices
US8375377B2 (en) 2009-03-06 2013-02-12 International Business Machines Corporation Controlling java virtual machine component behavior on a per-classloader basis
US8468608B1 (en) 2009-03-30 2013-06-18 Symantec Corporation Enforcing digital rights management in a heterogeneous environment
US20100287513A1 (en) 2009-05-05 2010-11-11 Microsoft Corporation Multi-device gesture interactivity
KR101590188B1 (ko) 2009-05-08 2016-01-29 삼성전자주식회사 휴대단말기에서 소프트웨어 패키지의 무결성을 검증하는 방법
US9270683B2 (en) 2009-05-15 2016-02-23 Amazon Technologies, Inc. Storage device authentication
GB0909373D0 (en) 2009-05-30 2009-07-15 Park Signalling Ltd Apparatus and method for implementing safe visual information provision
US8826269B2 (en) 2009-06-15 2014-09-02 Microsoft Corporation Annotating virtual application processes
US20110066851A1 (en) 2009-09-14 2011-03-17 International Business Machines Corporation Secure Route Discovery Node and Policing Mechanism
US20110070827A1 (en) 2009-09-24 2011-03-24 Research In Motion Limited Communications device and method for initiating communications at a communications device
US8340577B2 (en) * 2009-09-24 2012-12-25 Research In Motion Limited Communications device using electromagnet and activated communications circuit
US8645936B2 (en) 2009-09-30 2014-02-04 Zynga Inc. Apparatuses, methods and systems for an a API call abstractor
US20110098030A1 (en) 2009-10-27 2011-04-28 Nokia Corporation Method and apparatus for activating services
US8838644B2 (en) 2009-11-25 2014-09-16 International Business Machines Corporation Extensible access control list framework
CN102129364B (zh) 2010-01-14 2013-09-25 中国电信股份有限公司 应用程序中嵌入微件工具栏的方法和快速访问微件的方法
US8502836B2 (en) 2010-02-26 2013-08-06 Research In Motion Limited Unified visual presenter
US8745239B2 (en) 2010-04-07 2014-06-03 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US8782106B2 (en) 2010-07-02 2014-07-15 Code Systems Corporation Method and system for managing execution of virtual applications
US8713365B2 (en) 2011-01-28 2014-04-29 Microsoft Corporation Re-establishing push notification channels via user identifiers
US20120194534A1 (en) 2011-02-02 2012-08-02 Alcatel-Lucent Usa Inc. System and Method for Managing Cache Storage in Adaptive Video Streaming System
KR20140043068A (ko) 2011-02-17 2014-04-08 타세라, 아이엔씨. 애플리케이션 증명을 위한 시스템 및 방법
US20120297288A1 (en) 2011-05-16 2012-11-22 Edward Mansouri Method and System for Enhancing Web Content
US8315620B1 (en) 2011-05-27 2012-11-20 The Nielsen Company (Us), Llc Methods and apparatus to associate a mobile device with a panelist profile
US9319406B2 (en) 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US8973158B2 (en) 2011-07-20 2015-03-03 Microsoft Technology Licensing Llc Trust level activation
JP5701715B2 (ja) 2011-08-12 2015-04-15 株式会社東芝 エネルギー管理装置、電力管理システムおよびプログラム
US20130054734A1 (en) 2011-08-23 2013-02-28 Microsoft Corporation Migration of cloud applications between a local computing device and cloud
US8649768B1 (en) 2011-08-24 2014-02-11 Cellco Partnership Method of device authentication and application registration in a push communication framework
US20130061316A1 (en) 2011-09-06 2013-03-07 Microsoft Corporation Capability Access Management for Processes
US9118686B2 (en) 2011-09-06 2015-08-25 Microsoft Technology Licensing, Llc Per process networking capabilities
CN103765427B (zh) 2011-09-07 2017-02-15 英特尔公司 检验设备的固件完整性
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US20130067459A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Order-Independent Deployment Collections with Dependency Package Identifiers
US9773102B2 (en) 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US8838982B2 (en) 2011-09-21 2014-09-16 Visa International Service Association Systems and methods to secure user identification
US8554179B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications
US8554175B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications on a mobile device
US9152784B2 (en) 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276439A1 (en) * 2008-06-08 2009-11-05 Apple Inc. System and method for simplified data transfer
WO2010002497A1 (en) * 2008-06-08 2010-01-07 Apple Inc. System and method for simplified data transfer
KR20110015055A (ko) * 2008-06-08 2011-02-14 애플 인크. 간이 데이터 전송을 위한 시스템 및 방법
CN102057374A (zh) * 2008-06-08 2011-05-11 苹果公司 用于简化数据传输的系统和方法
JP2011525649A (ja) * 2008-06-08 2011-09-22 アップル インコーポレイテッド データ転送を簡略化するシステム及び方法
US20100278345A1 (en) * 2009-05-04 2010-11-04 Thomas Matthieu Alsina Method and apparatus for proximity based pairing of mobile devices
US20100323758A1 (en) * 2009-06-17 2010-12-23 Canon Kabushiki Kaisha Communication device and control method thereof
JP2011002962A (ja) * 2009-06-17 2011-01-06 Canon Inc 通信装置及びその制御方法、プログラム

Also Published As

Publication number Publication date
US9800688B2 (en) 2017-10-24
WO2013039528A1 (en) 2013-03-21
KR101951504B1 (ko) 2019-02-22
KR20140067043A (ko) 2014-06-03
EP2756387B1 (en) 2021-02-24
EP2756387A1 (en) 2014-07-23
US20130065526A1 (en) 2013-03-14
CN102938939A (zh) 2013-02-20
CN106850811A (zh) 2017-06-13
US20180063287A1 (en) 2018-03-01
JP2014532208A (ja) 2014-12-04
CN102938939B (zh) 2017-04-12
US10469622B2 (en) 2019-11-05
EP2756387A4 (en) 2015-05-27

Similar Documents

Publication Publication Date Title
JP2017033571A (ja) プロキシミティサービスのための方法及びコンピューティングシステム
US10069899B2 (en) System and method of secure file sharing using P2P
EP3135022B1 (en) Answering a call with client through a host
EP3195634B1 (en) Transferring application data between devices
US8634771B2 (en) Simple peer-to-peer network formation
US8998076B2 (en) Establishing connections among electronic devices
US20150349934A1 (en) Application-level acknowledgements
US20130219288A1 (en) Transferring of Communication Event
JP6376638B2 (ja) ゲームに関わるサーバコンピュータ及びゲームプログラム
WO2011109824A1 (en) System and method for two way communication and controlling content on a display screen
US20140351478A1 (en) Apparatus and method for performing wireless docking operation in communication system supporting universal plug and play protocol
EP2712444A1 (en) Method of distributing a multi-user software application
JP2013161284A (ja) アプリケーションシステム、アプリケーションインストール方法、アプリケーションサーバ、プログラム
Dodson et al. Micro-interactions with nfc-enabled mobile phones
EP3114821B1 (en) Method and devices for establishing a connection between a seeker device and a target device
US20140201378A1 (en) Generic companion-messaging between media platforms
CN108270867B (zh) 游戏中虚拟资源的共享方法、存储介质
WO2020221160A1 (zh) 用于呈现背景的方法和装置
US20160354696A1 (en) Systems and methods for providing anonymous guest players in a multiplayer environment
US9606619B2 (en) Method and apparatus for accepting third-party use of services based on touch selection
KR102185853B1 (ko) 멀티미디어 통신을 위한 단말 연결 방법 및 시스템
JP2016149673A (ja) サーバおよび通信接続管理方法ならびに通信接続管理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180619