IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許7370372ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合
<>
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図1
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図2
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図3
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図4
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図5
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図6A
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図6B
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図6C
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図7A
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図7B
  • 特許-ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-19
(45)【発行日】2023-10-27
(54)【発明の名称】ペンの近さに基づくペンデバイスとコンパニオンデバイスとの結合
(51)【国際特許分類】
   G06F 21/44 20130101AFI20231020BHJP
【FI】
G06F21/44
【請求項の数】 15
(21)【出願番号】P 2021500570
(86)(22)【出願日】2019-06-19
(65)【公表番号】
(43)【公表日】2021-11-11
(86)【国際出願番号】 US2019037841
(87)【国際公開番号】W WO2020013964
(87)【国際公開日】2020-01-16
【審査請求日】2022-05-11
(31)【優先権主張番号】62/696,331
(32)【優先日】2018-07-10
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/181,308
(32)【優先日】2018-11-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ギルバート,ジェイ
(72)【発明者】
【氏名】ゴルゲニー,フランク
(72)【発明者】
【氏名】グール,アリエ イェフダ
(72)【発明者】
【氏名】クドリャフツェフ,マキシム
(72)【発明者】
【氏名】ミショー,アラン エル.
(72)【発明者】
【氏名】ラマダ,ラフル
(72)【発明者】
【氏名】ロン,ウリ
(72)【発明者】
【氏名】ウィルソン,ダリル エム.
【審査官】岸野 徹
(56)【参考文献】
【文献】国際公開第2018/074098(WO,A1)
【文献】特開2008-158756(JP,A)
【文献】特開2014-199525(JP,A)
【文献】特表2017-504878(JP,A)
【文献】特表2008-523497(JP,A)
【文献】米国特許出願公開第2015/0341801(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
(57)【特許請求の範囲】
【請求項1】
スタイラスをコンピューティングデバイスに結合するためのシステムであって、
第1の無線プロトコルに従って、第2の無線プロトコルに関連する少なくとも1つの通信チャネルを介して、前記スタイラスと通信するように構成され、且つ、ディスプレイを有するコンピューティングデバイスを含み、
前記コンピューティングデバイスは、
前記少なくとも1つの通信チャネルを介して前記スタイラスからの第1の信号でスタイラス無線プロトコル識別子を受信し、
前記スタイラス無線プロトコル識別子を受信したことに基づいて、前記第2の無線プロトコルに関連する前記少なくとも1つの通信チャネルを介して前記コンピューティングデバイスの無線プロトコル識別子及び署名鍵を含む第2の信号を前記スタイラスに送信し、それにより、前記コンピューティングデバイスが前記スタイラスからの信号を求めてリッスンするように前記スタイラスに結合され、
前記第1の無線プロトコルを介して、前記結合されたスタイラスから前記コンピューティングデバイスへの第3の信号を受信したことに基づいて、前記受信した第3の信号に基づいて、前記コンピューティングデバイス上で動作を実行し、前記第3の信号が前記スタイラスへのユーザ入力を示す
ためのコンピュータ実行可能命令を実行し、
前記コンピューティングデバイスにより、前記第3の信号に基づいて前記動作を実行することは、前記スタイラス無線プロトコル識別子及び前記コンピューティングデバイスの前記無線プロトコル識別子に基づいて、前記結合されたスタイラスを前記コンピューティングデバイスにペアリングすることを含む、システム。
【請求項2】
前記コンピューティングデバイスは、
前記署名鍵を生成し、
前記結合されたスタイラスからの前記第3の信号で、前記結合されたスタイラスからの署名を受信し、
前記動作を実行する前に、前記受信した署名を前記署名鍵に基づく想定の署名と比較し、関連する署名カウンタを検証することにより、前記第3の信号を認証するように更に構成される、請求項1に記載のシステム。
【請求項3】
前記ユーザ入力は、前記スタイラスへのボタンイベント入力を含み、前記第3の信号は、前記コンピューティングデバイスの前記受信した無線プロトコル識別子を使用する前記コンピューティングデバイスへの指向性のアドバタイズ信号であり、前記指向性のアドバタイズ信号は、前記ボタンイベント入力に関連するボタンイベントを識別し、前記コンピューティングデバイスにより、前記第3の信号に基づいて動作を実行することは、前記コンピューティングデバイスにより、前記ボタンイベントに関連する動作を実行することを含む、請求項1に記載のシステム。
【請求項4】
前記コンピューティングデバイスにより、前記第3の信号に基づいて前記動作を実行することは、
前記スタイラスとコンピューティングデバイスとの間に前記第1の無線プロトコルに関連する接続を確立し、
セッション鍵を生成し
前記第1の無線プロトコルを介して、前記生成されたセッション鍵を前記スタイラスと共有することを含み、
前記コンピューティングデバイスは、前記確立された接続を使用して前記スタイラスと通信中に前記共有されたセッション鍵を交換するように構成される、請求項3に記載のシステム。
【請求項5】
前記少なくとも1つの通信チャネルは、静電(ES)通信チャネル及び近距離通信(NFC)チャネルのうちの1つ以上を含む、請求項1に記載のシステム。
【請求項6】
前記コンピューティングデバイスは、第2のスタイラスから第2のスタイラス無線プロトコル識別子を受信し、前記コンピューティングデバイスの前記無線プロトコル識別子を含む信号を前記第2のスタイラスに送信するように更に構成され、それにより、前記コンピューティングデバイスは、前記スタイラスと同時に前記第2のスタイラスに結合される、請求項1に記載のシステム。
【請求項7】
前記コンピューティングデバイスにより、前記第3の信号に基づいて動作を実行することは、前記結合されたスタイラスを前記コンピューティングデバイスにペアリングする前に、前記コンピューティングデバイス上でアプリケーションを起動することを含む、請求項1に記載のシステム。
【請求項8】
スタイラスをコンピューティングデバイスに結合するためのコンピュータ化された方法であって、
前記コンピューティングデバイスにより、前記スタイラスの先端が前記コンピューティングデバイスのディスプレイの近くに運ばれると、少なくとも1つの通信チャネルを介して前記スタイラスからスタイラス無線プロトコル識別子を受信するステップであり、前記コンピューティングデバイスは第1の無線プロトコルに従って前記スタイラスと通信するように構成され、前記少なくとも1つの通信チャネルは第2の無線プロトコルに関連する、ステップと、
前記コンピューティングデバイスにより、前記スタイラス無線プロトコル識別子を受信したことに基づいて、前記少なくとも1つの通信チャネルを介して前記コンピューティングデバイスの無線プロトコル識別子及び署名鍵を前記スタイラスに送信し、それにより、前記スタイラス及びコンピューティングデバイスが結合されるステップと、
前記無線プロトコルを介して、前記結合されたスタイラスからユーザ入力に関連する信号を受信したことに基づいて、前記受信した信号に基づいて、前記コンピューティングデバイス上で動作を実行するステップであり、前記信号が前記スタイラスへのユーザ入力を示す、ステップと
を含むコンピュータ化された方法。
【請求項9】
前記コンピューティングデバイスにより、前記信号に基づいて動作を実行することは、前記スタイラス無線プロトコル識別子及び前記コンピューティングデバイスの前記無線プロトコル識別子に基づいて、前記結合されたスタイラスを前記コンピューティングデバイスにペアリングすることを含む、請求項8に記載のコンピュータ化された方法。
【請求項10】
前記署名鍵を生成するステップと、
前記結合されたスタイラスからの前記信号で、前記結合されたスタイラスからの署名を受信するステップと、
前記動作を実行する前に、前記受信した署名を前記署名鍵に基づく想定の署名と比較し、関連する署名カウンタを検証することにより、前記信号を認証するステップと
を更に含む、請求項8に記載のコンピュータ化された方法。
【請求項11】
前記ユーザ入力は、ボタンイベント入力を含み、前記受信した信号は、前記コンピューティングデバイスの前記受信した無線プロトコル識別子を使用する前記コンピューティングデバイスへの指向性のアドバタイズ信号であり、前記指向性のアドバタイズ信号は、前記ボタンイベント入力に関連するボタンイベントを含み、前記コンピューティングデバイスにより、前記信号に基づいて動作を実行することは、前記コンピューティングデバイスにより、前記ボタンイベントに関連する動作を実行することを含む、請求項8に記載のコンピュータ化された方法。
【請求項12】
前記コンピューティングデバイスにより、前記信号に基づいて前記動作を実行することは、
前記スタイラスとコンピューティングデバイスとの間に前記第1の無線プロトコルに関連する接続を確立し、
セッション鍵を生成し
前記第1の無線プロトコルを介して、前記セッション鍵を前記スタイラスと共有することを含み、
前記コンピューティングデバイスは、前記確立された接続を使用して前記スタイラスと通信中に前記共有されたセッション鍵を交換するように構成される、請求項11に記載のコンピュータ化された方法。
【請求項13】
前記少なくとも1つの通信チャネルは、静電(ES)通信チャネル及び近距離通信(NFC)チャネルのうちの1つ以上を含む、請求項8に記載のコンピュータ化された方法。
【請求項14】
第2のスタイラスから第2のスタイラス無線プロトコル識別子を受信し、前記コンピューティングデバイスの前記無線プロトコル識別子を前記第2のスタイラスに送信し、それにより、前記コンピューティングデバイスは、前記スタイラスと同時に前記第2のスタイラスに結合されるステップを更に含む、請求項8に記載のコンピュータ化された方法。
【請求項15】
スタイラスをコンピューティングデバイスに結合するためのコンピュータ実行可能命令を有する1つ以上のコンピュータ記憶媒体であって、少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに対して少なくとも、
前記コンピューティングデバイスにより、前記スタイラスの先端が前記コンピューティングデバイスのディスプレイの近くに運ばれると、少なくとも1つの通信チャネルを介して前記スタイラスからスタイラス無線プロトコル識別子を受信するステップであり、前記コンピューティングデバイスは第1の無線プロトコルに従って前記スタイラスと通信するように構成され、前記少なくとも1つの通信チャネルは第2の無線プロトコルに関連する、ステップと、
前記コンピューティングデバイスにより、前記スタイラス無線プロトコル識別子を受信したことに基づいて、前記少なくとも1つの通信チャネルを介して前記コンピューティングデバイスの無線プロトコル識別子及び署名鍵を前記スタイラスに送信し、それにより、前記スタイラス及びコンピューティングデバイスが結合されるステップと、
前記第1の無線プロトコルを介して、前記結合されたスタイラスからユーザ入力に関連する信号を受信したことに基づいて、前記受信した信号に基づいて、前記コンピューティングデバイス上で動作を実行するステップであり、前記信号が前記スタイラスへのユーザ入力を示す、ステップと
を実行させる1つ以上のコンピュータ記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
多くの最新のコンピューティングデバイスは、ペン又はスタイラスデバイスとペアリングし、ペン又はスタイラスデバイスと相互作用するように構成される。ペンデバイスは、インク付けするために使用される無線通信機能と、テールボタンクリックに基づくオフスクリーン制御、バッテリ状態レポート、ペンファームウェア更新及び/又はテレメトリとを含むことがある。いくつかの既存のシステムは、ペンの先端(チップ)に「ダウンリンク」能力の実装を含み、ペンの識別がコンピューティングデバイスにより確立できるようにしている。これは、コンピューティングデバイスがペアリング手順を開始することを可能にする。しかし、これらの構成は欠点を有する。例えば、ペンは、テールボタンを長く押下することにより、明示的に「ペアリングモード」にされる必要がある(例えば、ペン/デバイスが発見不可能な場合)。さらに、いくつかのシステムでは、明示的に単一のペアリングされたデバイスを有する必要があるので、ペンは、ペアリングプロセスが完了した最後のデバイスのみを対象とすることができ、必ずしもユーザがインク付けした最後のデバイス(例えば、ユーザが直近に書き込むか或いはペンデバイスの先端で描画したデバイス)を対象とするとは限らない。
【0002】
インク付けすることだけでなく、ペンの全機能を利用するために、ユーザは、既存のシステムにおいてペンをコンパニオンデバイスと(例えば、ブルートゥースを介して)ペアリングしなければならない。ブルートゥースペアリングが可能ないくつかの方法が存在するが、現在のペアリングプロセスに伴う困難性を考慮すると、何人かのユーザはペンをペアリングせず、したがって、ペンの全機能の利益を得ることができない。
【発明の概要】
【0003】
この要約は、以下の詳細な説明において更に記載される概念の選択を簡略化した形式で紹介するために提供される。この概要は、特許請求の範囲の対象物の主要な特徴又は本質的な特徴を特定することを意図するものではなく、また、特許請求の範囲の対象物の範囲を決定する際の助けとして使用されることを意図するものでもない。
【0004】
スタイラスとコンピューティングデバイスとを結合するためのコンピュータ化された方法及びシステムについて説明する。第1の無線プロトコルに従って通信するように構成されたコンピューティングデバイスのディスプレイの近くにスタイラスの先端が運ばれたことに基づいて、コンピューティングデバイスは、第2の無線プロトコルの通信チャネルを介してスタイラスからスタイラス無線プロトコル識別子を受信し、通信チャネルを介してコンピューティングデバイスの無線プロトコル識別子をスタイラスに応答して送信するように構成され、それにより、スタイラス及びコンピューティングデバイスが結合される。無線プロトコルを介して、結合されたスタイラスからのユーザ入力に関連する信号を受信することに基づいて、コンピューティングデバイスは、信号に基づいて動作を実行する。
【0005】
付随する特徴の多くは、添付の図面に関連して考慮される以下の詳細な説明を参照することによって良く理解されるにつれて、より容易に理解される。
【図面の簡単な説明】
【0006】
この説明は、添付の図面に鑑みて読まれる以下の詳細な説明からよりよく理解される。
図1】実施形態に従ってシステムに関して説明されるユースケースシナリオを示す。
図2】実施形態に従ってシステムに関して説明されるユースケースシナリオを示す。
図3】実施形態によるシステムを示し、スタイラス及びコンパニオンデバイスに関する詳細を提供する。
図4】実施形態によるスタイラスの「システムオンチップ」(system on a chip, SOC)実装の一例に関する更なる詳細を示す。
図5】実施形態によるペンデバイス及び関連するコンパニオンデバイスを含むシステムの例示的な動作を説明するフローチャートを示す。
図6A】実施形態によるシステム100の例示的な動作を示すシーケンス図である。
図6B】実施形態によるシステム100の例示的な動作を示すシーケンス図である。
図6C】実施形態によるシステム100の例示的な動作を示すシーケンス図である。
図7A】実施形態によるコンピューティングデバイスの例示的な動作を説明するフローチャートを示す。
図7B】実施形態による関連するスタイラスの例示的な動作を説明するフローチャートを示す。
図8】実施形態によるコンピューティング装置を機能ブロック図として示す。 対応する参照符号は、図面を通じて対応する部分を示す。図1図8において、システムが概略図として示されている。図面は縮尺通りでない可能性がある。
【発明を実施するための形態】
【0007】
本開示の態様は、「疎結合(loose coupling)」関係でスタイラスとコンピューティングデバイスとを結合するためのシステム及び方法を提供する。コンピューティングデバイスのディスプレイの近くにスタイラスの先端が運ばれたことに基づいて、スタイラス及びコンピューティングデバイスは、それぞれの無線プロトコル識別子及びセキュリティ鍵を交換するように構成される。各デバイスは、交換された識別子及びセキュリティ鍵を記憶し、記述された結合を可能にするが、正式又は従来のペアリングは行わない。スタイラスへのユーザ入力はスタイラスにより受信され、識別子及びセキュリティ鍵を交換するために使用されたもの以外の無線プロトコルを使用して、信号が結合されたコンピューティングデバイスに送信されることを示す。スタイラスは、コンピューティングデバイスの無線プロトコル識別子を使用して、指示された信号をコンピューティングデバイスに送信する。結合されたスタイラスからの信号を受信したことに基づいて、コンピューティングデバイスは、信号に基づいて動作を実行する。実行される動作は、スタイラスとコンピューティングデバイスとの間の関係(例えば、完全な正式のペアリングの開始等)に関してもよく、及び/又は、コンピューティングデバイスの他の機能(例えば、アプリケーションの実行及び/又は相互作用等)と関連してもよい。このように、デバイスは、ペアリングなしで、無線プロトコル(例えば、短距離無線プロトコル)を介した識別子及びセキュリティ鍵の交換を通じて結合され、一方で、他の通信は、後で他の無線プロトコル(例えば、短距離無線プロトコルよりも長い範囲を有する無線プロトコル)を介して行われてもよい。
【0008】
記載のシステム及び/又は方法は、とりわけ、ユーザにとっての初期ペアリング及び/又は接続体験を改善し、工場での事前ペアリングの必要性を除去し、ここに記載のようにペンデバイスと、タブレット又は電話機のようなコンパニオンデバイスとの間の疎結合された接続の最初の形成を通じて、新規又は交換ペンデバイス(例えば、スタイル、ペン等)に関するシームレスな結合及び/又は接続体験を創出するように設計される。記載のシステム及び/又は方法は、必要に応じて、以前のペンデバイス/コンパニオンデバイスとの互換性を維持するように構成される。
【0009】
記載のシステムは、ユーザのペンデバイスと共にローミングする全ペンデバイス機能を提供することにより、従来とは異なる方法で動作し、それにより、複数のコンピューティングデバイスの間で有効になる。デバイスの間でシームレスにローミングすることを可能にするために、本開示は、形式的なペアリングとは異なる疎結合された接続モデルを提供する。特に、「結合(coupling)」及び「ペアリング(pairing)」は、異なるプロセス及び/又は状態を示すことが理解されるべきである。ペンデバイスとコンパニオンデバイスとの結合及び疎結合された接続の使用は、ここに記載のように、ペアリングの前の識別及びセキュリティ情報の交換に基づいてデバイスの間で形成される関係を示す。さらに、ペンデバイスとコンパニオンデバイスとのペアリングとは、一般的に、当該技術分野で理解されるように、標準的なブルートゥースペアリングプロセスを使用してデバイスを接続することを示す。ペンデバイスのコンパニオンデバイスへの結合は、デバイスのペアリング、ボンディング又は他の接続若しくは又はリンク接続の前に及び/又はこれとは独立して行われてもよい。
【0010】
スタイラスをコンパニオンデバイスと共に購入するユーザは、スタイラスがコンパニオンデバイスと共に動作することを期待する。スタイラス及びコンパニオンデバイスを協調して動作させるために、ユーザが指示書を読んで様々な手動の直感的でないアクションをとらなければならない場合、ユーザの満足度は急速に低下する可能性がある。本開示は、ユーザの観点から、ユーザ介入/関与をほとんど又は全く必要とせずに、スタイラス及びコンパニオンデバイスが期待通り動作するように、いくつかのシームレスな解決策を提供する。
【0011】
このように、ペアリングなしでペンとコンピューティングデバイスとを疎結合することは、従来のペアリングよりも少ない手作業のステップを要求することにより、或いは手作業のステップを必要としないことにより、人間と機械との相互作用を簡略化する。さらに、疎結合された構成は、従来のペアリングの後にのみ以前に利用可能であった機能を有効にすることにより、コンピューティングデバイスの基礎の機能を改善する。
【0012】
図1図2は併せて、システム100に関して説明されるユースケースシナリオを示す。この場合、システム100は、スタイラス102と、ディスプレイ106を有するコンパニオンデバイス(例えば、コンピューティングデバイス)104とを含む。スタイラス102は、本体108と、感知端(感知チップ)110と、バッテリ112のような電源とを含む。
【0013】
説明の目的で、このシナリオは、ユーザ114がスタイラスにバッテリ112を挿入すること等により、最初にスタイラス102の電源を入れたとき、場面1に関して開始する。例えば、ユーザは、スタイラス102及びコンパニオンデバイス104を一緒にセットとして購入し、パッケージを開き、バッテリを取り付けてもよい。他の場合、バッテリが既に取り付けられていてもよく、ユーザは最初に使用するために単にスタイラスを持ち上げてもよい。
【0014】
場面2に示すように、スタイラス102のラッピングを開いて電源を入れると、ユーザ114は、直感的に、スタイラスでコンパニオンデバイス104のディスプレイ106に書き込む(例えば、インク付けする)(或いは、他の方法でディスプレイと相互作用する)ことを試みてもよい。スタイラスの感知端110がディスプレイ106と相互作用すると(例えば、接近及び/又は接触すると)、感知情報は、概して116で示されるように、スタイラス102とコンパニオンデバイス104との間で通信できる。感知情報は、様々な無線フォーマットで(例えば、静電信号を介して)通信できる。一般的に、これらのフォーマットは、数インチ以内のように、関与するデバイスの近さに依存する。例えば、スタイラス102は、感知情報を伝達する信号を生成でき、信号は、コンパニオンデバイス104により、近接感知コンポーネント、例えば、切り抜き120により示すようにディスプレイ106の下にあるデジタイザ118を介して取得される。
【0015】
通常では、この感知情報116は、ディスプレイ106上の感知端110の圧力情報、感知端に関する加速情報等に関係付けることができる。しかし、本実装は、感知情報116と共に更なる情報を含んでもよい。この更なる情報は、スタイラス102の他の無線能力に関する無線フォーマット(例えば、プロトコル)識別情報とすることができる。例えば、スタイラスはブルートゥース能力を有していてもよく、無線フォーマット識別情報はこれらのブルートゥース能力に関係付けることができる。例えば、無線フォーマット識別情報は、ブルートゥース固有の識別情報(例えば、製造識別番号又はブルートゥースアドレス)を含むことができ、或いは、ブルートゥース固有の識別情報は、利用可能な無線フォーマット識別情報から導出できる。
【0016】
場面3では、コンパニオンデバイス104は、ここに記載のようにスタイラス102と結合するために、感知情報と共に受信した(或いはこれから導出された)ブルートゥース固有の識別情報を使用でき、後続のブルートゥースペアリングの前に、或いは、完全に後続のブルートゥースペアリングなしに、相互作用及び/又は通信のためにコンパニオンデバイス104及びスタイラス102を準備する。スタイラス102がコンパニオンデバイス104に疎結合された場合、ユーザは、依然としてスタイラス102をコンパニオンデバイス104にペアリング及び/又はボンディングしてもよいことが理解されるべきである。スタイラス102は、これを達成するために2つの識別アドレス(例えば、ブルートゥースアドレス等)(疎結合のための1つのアドレスと、ペアリング及びボンディングのための2つ目のアドレス)で構成されてもよい。結合は、コンパニオンデバイス104がスタイラス102のブルートゥース固有の識別情報を記憶し、コンパニオンデバイス104のブルートゥース固有の識別情報を提供することによりスタイラス102に応答することを含んでもよい。スタイラス102は、後続のブルートゥースペアリング中の将来の使用のために、或いは、結合されたデバイスの間のブルートゥース通信の他の使用のために、コンパニオンデバイス104のブルートゥース固有の識別情報を記憶するように構成されてもよい。スタイラス102は、概して124で示すように初期通信に応答でき、ここに記載のように結合又は準備が達成できる。この無線プロトコル識別情報は、コンパニオンデバイス上の設定メニューに進み、ブルートゥースを選択し、個々のデバイスを選択し、個々のデバイスがペアリングされることを選択することのような、ユーザ114が何らかの肯定的なステップを行うことなく、後続のペアリング又は関係する通信が達成されることを可能にし、それにより、ペアリングに必要なユーザ相互作用の量を低減することによりユーザ体験を改善する。
【0017】
コンパニオンデバイス104は、疎結合された接続を完全に遮断することを可能にするように構成されてもよいことが理解されるべきである。このような構成は、組織が義務付けるポリシー等に基づいてもよく、初期設定では、疎結合機能が有効にされてもよい。
【0018】
いくつかの例では、スタイラス102とのペアリングが開始されたことを示すグラフィカルユーザインタフェース(graphical user interface, GUI)がコンパニオンデバイス104上に提示されてもよい。この例は、最初にコンパニオンデバイス104及びスタイラス102を結合し、次いで、ペアリングのような関連するブルートゥース通信を実行する。ユーザ入力なしに、代わりに、ユーザが続行することを望んでいるという証拠として、ユーザがコンパニオンデバイスと相互作用するためにスタイラスを使用しているという事実に依存する。さらに、コンパニオンデバイス104のGUIは、ユーザとの相互作用のために疎結合されたスタイラス(例えば、スタイラス102等)を表示する「ブルートゥース及び他のデバイス」設定ページを含んでもよい。同じスタイラスがコンパニオンデバイス104に疎結合され、次いでコンパニオンデバイス104にペアリングされた場合(或いはその逆の場合)、デバイスのリストはスタイラスの統一のインスタンスを表示してもよい。
【0019】
本実装のいくつかは、相互作用デバイス/装置(例えば、スタイラス102)の他の無線フォーマットに関する情報をディスプレイデバイス(例えば、コンパニオンデバイス104)に転送するために、ディスプレイ相互作用に関する帯域外通信を利用する。コンパニオンデバイスは、結合及び/又は通信を確立するためにユーザからの手動のアクションに依存するのではなく、他の無線フォーマットで結合及び/又は通信を確立するために相互作用デバイスに関する情報を使用できる。
【0020】
図2は、第2の無線フォーマット(例えば、この例ではブルートゥース)を介して、スタイラス102とコンパニオンデバイス104との間で結合に続いて通信が達成できることを示す。例示的な場面4に示すように、その後にユーザ114が第2の無線フォーマットに関連するスタイラス102のセンサ又は他のインタフェースをアクティブにした場合、スタイラスは、結合に基づいてペアリングを開始するか、或いは、他の方法でコンパニオンデバイス104と通信し、コンパニオンデバイスに対して描画アプリケーションを起動させる(或いは他のアクションを行わせる)。例示的な場面5に示すように、描画アプリケーション(例えば、描画アプリケーションGUI)202が起動され、スタイラス102がコンパニオンデバイスのディスプレイ106に近づく前であっても、ユーザがコンパニオンデバイス104上で使用する準備ができる。
【0021】
アプリケーションを起動する代わりに、ユーザ114は、スタイラス102上の「消しゴム」機能を選択してもよく、この情報は、スタイラスの感知端110がディスプレイ106に近づいたとき、新たなコンテンツを描画/インク付けするのではなく、視覚コンテンツが消去されるように、結合中に共有された記憶済みの識別情報に基づいてコンパニオンデバイス104に通信される。
【0022】
図3は、システム100を示し、スタイラス102及び/又はコンパニオンデバイス104に関する詳細を提供する。スタイラス102及びコンパニオンデバイス104は、それ自体、一種のコンピューティングデバイスである。この場合、システム100は、いくつかの例示的なコンパニオンデバイス104(1)~104(4)を含む。コンパニオンデバイス104(1)は、図1図2のデバイス104と同様のタブレット型デバイスとして示され、コンパニオンデバイス104(2)は、スマートフォン型デバイスとして示される。コンパニオンデバイス104(3)は、ノートブックコンピュータ型デバイスとして示され、デバイス104(4)は、デジタルホワイトボード型デバイスとして示される。
【0023】
スタイラス102及び/又はコンパニオンデバイス104を実装するために使用できる2つの例示的なデバイス構成304(1)及び304(2)が示されている。簡潔には、構成304(1)は、オペレーティングシステム中心の構成を表し、構成304(2)は、システムオンチップ構成(system on a chip configuration, SOC)を表す。構成304(1)は、1つ以上のアプリケーション310、オペレーティングシステム312及びハードウェア314に編成される。構成304(2)は、共有リソース316、専用リソース318及びこれらの間のインタフェース320に編成される。
【0024】
構成304(1)又は304(2)のいずれかにおいて、スタイラス102及び/又はコンパニオンデバイス104は、ストレージ/メモリ(例えば、コンピュータ読み取り可能記憶媒体)322と、プロセッサ324と、バッテリ112(又は他の電源)と、入力アセンブリ326とを含むことができる。この場合、入力アセンブリは、クリックスイッチ328として示される。双方の構成はまた、センサ330を含むことができる。センサの例は、とりわけ、圧力センサ、近接センサ、加速度計、ジャイロスコープ、慣性センサ、キャパシタ、磁力計及び/又はマイクロホンを含むことができる。詳細に説明される特定のセンサは、圧力センサである。いずれの構成も、無線通信コンポーネント332及び/又は促進コンポーネント334を含むことができる。通信コンポーネント332は、ブルートゥースの場合、2.4~2.485GHzのような、様々なフォーマット(例えば、プロトコル)に従って様々な電磁波で通信するための送信機及び/又は受信機を含むことができる。
【0025】
感知端110がディスプレイ106に接触したときを感知するために、感知端の圧力センサが配置されてもよい。同様に、静電受信機は、先端が表面に近づくが、物理的に接触する前に、キャパシタンス又は他の機構を介して感知端の表面への近接を検出する。いくつかの構成では、スタイラス102が近接情報及び無線フォーマット識別情報をコンパニオンデバイス104に送信するように、静電受信機は、コンパニオンデバイス104への近接検出器として機能する。
【0026】
コンパニオンデバイス104は、スタイラス102から近接情報及び無線フォーマット識別情報を受信するように構成された「ペンセンサ」(例えば、センサ330)として示される近接感知コンポーネントを含むことができる。ペンセンサは、ペンデバイスのディスプレイ106(図2に示す)に関連付けられることができ、或いは、ペンセンサは、ディスプレイとは独立していてもよい。例えば、ペンセンサは、ディスプレイコンポーネントとしてディスプレイに統合される。他の場合、ペンセンサは、別個のコンポーネントとしてディスプレイに関連付けられる。例えば、ディスプレイは、ディスプレイモジュールとして製造され、次いで、ペンセンサは、後続のプロセスにおいてディスプレイモジュールに接合される。更に他の構成では、ペンセンサは、ディスプレイと物理的に関連しないコンパニオンデバイスのコンポーネントである。
【0027】
スタイラス102の図示の構成では、感知端110は、本体108の一端から突出する。他の実装は、本体の両端からの感知端及び/又は本体内の感知チップを使用してもよい。さらに、感知端は、図示の「ペン状」構成以外の他の形状要素において使用できる。
【0028】
通信コンポーネント332は、スタイラス102が、図示のコンパニオンデバイス104(1)~104(4)のような様々なコンパニオンデバイスと通信することを可能にできる。通信コンポーネントは、セルラ、Wi-Fi (IEEE802.xx)、ブルートゥース等のような様々なフォーマットを介して通信するための、受信機及び送信機及び/又は他の無線周波数回路(及び/又はアナログデジタル変換器、整流器等のような他のコンポーネント)を含むことができる。例示的な通信コンポーネントについては、図4に関して以下に説明する。
【0029】
促進コンポーネント334のインスタンスは、スタイラス102及び/又はコンパニオンデバイス104上で発生できる。いくつかの実装では、促進コンポーネント334は、とりわけ、オペレーティングシステム312、アプリケーション310、アプリケーション部及び/又はアプリケーションプログラムインタフェースの一部として示される。様々なデバイス上の促進コンポーネントにより実行される機能は同様のものでもよく或いは異なってもよい。例えば、1つの場合、スタイラス102上の促進コンポーネントはスタイラス102の無線フォーマット識別情報を記憶し、この情報をコンパニオンデバイス104に通信させ、コンパニオンデバイス104から無線フォーマット識別情報を受信し、コンパニオンデバイス104からの受信した識別情報を記憶する。対照的に、コンパニオンデバイス上の促進コンポーネント334は、スタイラス102の無線フォーマット識別情報からセンサ情報を識別し(或いは区別し)、無線フォーマット識別情報を処理し、通信コンポーネントに無線フォーマット識別情報を記憶させ、コンパニオンデバイス104の無線フォーマット識別情報をスタイラス102に通信し、ここに記載のスタイラス102との結合に基づいて、その後にスタイラスの通信コンポーネントに連絡し、ブルートゥースプロトコル(又は他のプロトコル)により規定されるペアリングプロセスを開始し、及び/又は、ブルートゥースプロトコル(又は他のプロトコル)を介して通信してもよい。ペアリングが完了すると、或いは、結合に基づいて他の通信方法が確立されると、促進コンポーネント334は、スタイラス102からブルートゥース通信を受信したとき、コンパニオンデバイス104上でアクションを促進できる。例えば、ユーザ114は、スタイラス上の「消去」機能を選択してもよい。これは、スタイラス102に対して、スタイラス102が結合されているコンパニオンデバイス104と通信させてもよく、「消去」機能情報は、ブルートゥース通信を介してコンパニオンデバイスに通信できる。次いで、促進コンポーネントは、ユーザがディスプレイをスタイラスと係合するときに、スタイラスの機能をコンパニオンデバイスの「描画」から「消去」に切り替えさせることができる。当然に、促進コンポーネントは、ブルートゥース通信を介して受信したスタイラスからの情報を受信すると、他のアクション(予め定義されているかユーザ定義であるかを問わない)を引き起こすことができる。
【0030】
スタイラス102及びコンパニオンデバイス104(1)~104(4)は、コンピューティングデバイスであると考えられる。ここで使用される用語「デバイス」、「コンピュータ」又は「コンピューティングデバイス」は、何らかの量の処理能力及び/又は記憶能力を有するいずれかのタイプのデバイスを意味することができる。処理能力は、機能を提供するために、コンピュータ読み取り可能命令の形式のデータを実行できる1つ以上のプロセッサ324により提供できる。コンピュータ読み取り可能命令及び/又はユーザ関連データのようなデータは、コンピュータの内部又は外部とすることができるストレージのようなストレージ322上に記憶できる。
【0031】
上記のように、構成304(2)は、SOCタイプの設計であると考えられる。このような場合、デバイスにより提供される機能は、単一のSOC又は複数の結合されたSOC上に統合できる。1つ以上のプロセッサ324は、メモリ/ストレージ322等のような共有リソース316、及び/又は特定の具体的な機能を実行するように構成されたハードウェアブロックのような1つ以上の専用リソース318と協調するように構成できる。したがって、ここで使用される用語「プロセッサ」はまた、中央処理装置(central processing unit, CPU)、グラフィカル処理装置(graphical processing unit, GPU)、コントローラ、マイクロコントローラ、プロセッサコア又は他のタイプの処理デバイスを示すこともできる。
【0032】
一般的に、ここに記載の機能のいずれかは、ソフトウェア、ファームウェア、ハードウェア(例えば、固定論理回路)又はこれらの実装の組み合わせを使用して実装できる。ここで使用される用語「コンポーネント」は、一般的に、ソフトウェア、ファームウェア、ハードウェア、全体のデバイス若しくはネットワーク又はこれらの組み合わせを表す。例えば、ソフトウェア実装の場合、これらは、プロセッサ(例えば、1つ又は複数のCPU)上で実行されたとき、指定のタスクを実行するプログラムコードを表してもよい。プログラムコードは、コンピュータ読み取り可能記憶媒体のような1つ以上のコンピュータ読み取り可能メモリデバイスに記憶できる。コンポーネントの特徴及び技術はプラットフォームに依存せず、これらが様々な処理構成を有する様々な商用コンピューティングプラットフォーム上に実装されてもよいことを意味する。
【0033】
図4は、スタイラス102の一例のSOC実装に関する更なる詳細を示す。スタイラスの感知端110は、コンパニオンデバイス104(1)のディスプレイ106に接触している。コンパニオンデバイスの図示の要素は、促進コンポーネント334と、ストレージ322と、ブルートゥースアドレス生成アルゴリズム400と、ペンセンサ330(N)と、通信コンポーネント332とを含む。
【0034】
スタイラス102のこの特定の実装は、2つの別々のバッテリ112(1)及び112(2)により給電される2つの別々のプリント回路基板、PCB402(1)及びPCB402(2)を含むが、機能は、単一のバッテリにより給電される単一の集積PCB上で達成されてもよい。この場合、バッテリ112(1)は、1.5ボルトを生成するAAAAバッテリとして示され、バッテリ112(2)は、3ボルトを生成するように直列に接続された2つの319ボタン電池として示される。
【0035】
PCB402(1)は、ASIC404と、特定の周波数の信号を生成する信号生成器406(1)とを含む。センサ端110は、ASIC404に接続された圧力センサ330(1)を含む。ASIC 404はまた、バッテリ112(1)に接続され、グラウンド408に選択的に接続される。この場合、信号生成器406(1)は、発振器409(1)及びASIC404として示される。ASIC404はまた、デバイスシリアル番号412として示される無線プロトコル識別情報410を有するストレージ322Aを含む。
【0036】
PCB402(2)は、他のASIC 414と、発振器409(2)の形式の信号生成器406(2)とを含む。この場合、ASIC414は、ブルートゥース無線機として機能することができる。ASIC414は、記憶されたブルートゥースランダムスタティックアドレス(ブルートゥース(BT)アドレス)416を有するストレージ322Bを含むことができる。ASIC414は、2つの319ボタン電池112(2)A及び112(2)Bにより駆動される。バッテリはまた、電力オンインジケータアセンブリ418を駆動する。クリックスイッチ328の形式のユーザアクティベーション可能な入力アセンブリ420は、ASIC414に接続される。ASIC404及び信号生成器406(1)は、通信コンポーネント(332、図3)として機能できる。同様に、ASIC414及び信号生成器406(2)は、通信コンポーネントとして機能でき、或いは代替として、ASIC404、信号生成器406(1)、ASIC414及び信号生成器406(2)は、単一の通信コンポーネントとして見なされることができる。
【0037】
従来では、スタイラス102とコンパニオンデバイス104(1)との間のブルートゥースペアリングは、設定メニューに進み、ブルートゥース選択肢を見つけ、ペアリングされるデバイスを識別すること等のような、ユーザにより実行される複数の手動のステップを必要とする。さらに、ユーザは、スタイラスがブルートゥース能力を有していることすら知らない可能性があり、したがって、ペアリングプロセスを完了することさえ知らない可能性がある。本開示は、標準的なブルートゥースペアリングプロセス又は他の同様のペアリングプロセスの代わりに、或いはこれらと組み合わせて使用され得るスタイラス及びコンパニオンデバイスを疎結合するプロセスを記載する。
【0038】
この例では、デバイスシリアル番号412は、PCB402(2)のようなスタイラス又はそのコンポーネントを製造するエンティティ等により、製造中にスタイラス102に割り当てられる。デバイスシリアル番号412は、ブルートゥースアドレス416を生成するためのブルートゥースアドレス生成アルゴリズム400により処理できる。このような例示的なアルゴリズムは、SHA1又はSHA256アルゴリズムである。SHA1ブルートゥースアドレス生成アルゴリズムの例示的な適用が以下に提供される。ブルートゥースアドレス416は、無線(over the air)アドレス又はGAPアドレス(例えば、ASIC414により提供されるブルートゥース無線機と通信するために使用されるアドレス)と考えられることができる。
【0039】
例示的なブルートゥースアドレス生成アルゴリズム400は、以下を含む。
・P:=ペン(例えば、スタイラス102)の固有識別子(例えば、デバイスシリアル番号412)。
・S:=固有のハッシュシード(128ビット)
・sha1():=Sha1標準アルゴリズムプロバイダ
・ハッシュ=sha1(sha1(S),P)
・Bt_address|=0xc00000000000
・Bt_Address&=0xffffffffffff
本シナリオでは、ASIC414は、ここに記載のように、ブルートゥース疎結合動作を実行するように構成される。他の無線プロトコルを使用する他の実装は、個々の無線プロトコルに準拠する疎結合を実装する動作を実行できる。ディスプレイ106との相互作用の際に、圧力センサ330(1)は、感知端110上の機械的圧力を出力信号(例えば、TIP_OUT)圧力値424に変換できる。ASIC404は、出力信号圧力値424を受信し、信号生成器406(1)により生成された信号を変調することにより出力信号圧力値を表すことができる。この場合、信号生成器は発振器409(1)として示される。ASIC404は、デバイスシリアル番号412を伝達するように、信号生成器406(1)により生成された信号を更に変調できる。
【0040】
通信コンポーネント332と協働して動作するコンパニオンデバイスのペンセンサ330(N)は、スタイラス102の信号生成器406(1)から変調信号を受信できる。コンパニオンデバイスの促進コンポーネント334は、先端感知情報を伝達する信号の部分と、スタイラス102のシリアル番号412及び/又は関連するブルートゥース低エネルギー(Bluetooth low energy, BLE)アドレスを伝達する信号の部分とを識別できる。促進コンポーネントは、ブルートゥースアドレス生成アルゴリズム400(例えば、スタイラス102のブルートゥースアドレス416を生成するために使用されたアルゴリズムと同じアルゴリズム)でシリアル番号412を処理できる。促進コンポーネントは、ブルートゥースアドレス416を、コンパニオンデバイスが既に疎結合されているか及び/又は既にペアリングされているブルートゥースデバイスのリスト(ストレージ322に記憶される)と比較できる。スタイラスが既に結合又はペアリングされたデバイスのリストにある場合、促進コンポーネントは処理を停止できる。これがコンパニオンデバイス104(1)とのスタイラス102の最初の使用である場合(例えば、スタイラスが結合又はペアリングされたデバイスのリストにない場合)、促進コンポーネントは、通信コンポーネントにブルートゥースアドレス416を使用させてスタイラス102に連絡させることができる。次いで、通信コンポーネントは、ここに記載の結合プロセスに従ってスタイラスと通信できる。結合が完了すると、コンパニオンデバイス104(1)を制御するため、ユーザは、スタイラス102をコンパニオンデバイス104(1)とペアリングさせるか、或いは他の方法でコンパニオンデバイス104(1)と通信させるために、クリックスイッチ328を使用できる。例えば、ユーザは、とりわけ、アプリケーションを起動するために、スタイラスのコンタクトを「描画」から「消去」に切り替えるために、或いは「メモを追加」するために、クリックスイッチを使用してもよい。
【0041】
1つの観点から、シリアル番号412(例えば、ペンID)から生成されたブルートゥースアドレス416(例えば、GAPアドレス)は、帯域外又は疎結合及び/又はペアリングを有効にするために使用できる。この理由は、シリアル番号は、スタイラスの感知端110がコンパニオンデバイス104(1)のディスプレイ106と相互作用しているとき、スタイラスヒューマンインタフェースデバイス(human interface device, HID)を介してコンパニオンデバイスのオペレーティングシステム(312、図3)に通信できるからである。オペレーティングシステムのドライバ又はアプリケーションは、同じブルートゥースアドレス生成アルゴリズムを使用して、シリアル番号をブルートゥースアドレスにデコードし、ブルートゥースアドレスを適切なオペレーティングシステムのアプリケーションプログラムインタフェース(application program interface, API)に渡すことにより、ここに記載の結合プロセスを開始できる。シリアル番号からデコードされたブルートゥースアドレスが既に結合又はペアリングされている場合、プロセスを停止できる。同様の実装は、他の無線フォーマット/プロトコルについても達成できる。
【0042】
この実装では、シリアル番号412は、ブルートゥースアドレス416よりも小さくすることができる(例えば、バイト数が少ない)。したがって、ブルートゥースアドレス416ではなくシリアル番号412をコンパニオンデバイス104(1)に通信することは、スタイラス102にとってリソース集約的ではない。したがって、コンパニオンデバイス104(1)は、上記のSHA1又はSHA256のようなブルートゥースアドレス生成アルゴリズム400で受信したシリアル番号412を処理することにより、ブルートゥースアドレスを間接的に取得する。他の実装は、代わりに、信号生成器406(1)を介してブルートゥースアドレスをコンパニオンデバイスに直接伝達できる。
【0043】
さらに、スタイラス102は、疎結合プロセスの間に、コンパニオンデバイス104(1)のBLEアドレス又は他の同様のアドレス、及び/又はセキュリティ鍵を取得するように構成されてもよい。BLEアドレスは、インク付けする間にディスプレイ106のデジタイザからペンチップ110を介して取得されることが意図される。このアドレスは、異なるアドレスが取得されるまで、不揮発性メモリ(例えば、ストレージ322A、322B等)に記憶されてもよく、その時点で、旧アドレスが置き換えられてもよい。代替として、スタイラス102は、ここに記載のように、使用のために複数のホストBLEアドレスを保持するように構成されてもよい。さらに、複数のスタイラスは、1つのコンパニオンデバイス104(1)に同時にペアリング及びボンディングされてもよく、及び/又は疎結合されてもよく、クリック機能は、そのコンパニオンデバイス104(1)上で各スタイラスについて機能してもよい。コンパニオンデバイス104(1)及び/又はスタイラス102は、ユーザがいずれかのスタイラスとコンパニオンデバイスとの関連付けを除去することを可能にするように構成されてもよい。
【0044】
スタイラス102及び関連するコンパニオンデバイス104(1)は、結合又はペアリングされてブルートゥース無線通信を使用することに基づいて機能を提供するように構成される。例えば、スタイラス102のアセンブリ420を通じたユーザ入力は、信号がコンパニオンデバイス104(1)に通信されるようにさせてもよく、さらに、コンパニオンデバイス104(1)に対してここに記載のように関連動作を実行させてもよい。スタイラス102及びコンパニオンデバイス104(1)により有効にされる機能は、コンパニオンデバイス104(1)により解釈され得るスタイラスベースの通信サービスの使用に基づいてもよい。
【0045】
例示的な実施形態では、これらのスタイラスベースの通信サービスは、ベンダ固有のベースUUID E766xxxx-3F85-40F5-8745-284E9095A1E2を使用してもよい。例示的なサービスの詳細が以下に提供されるが、本開示は、他の構成でも動作可能である。いくつかの例では、サービスは、ボタン動作及びバッテリ状態を報告するように構成されたペンサービス(例えば、サービスUUID 0x1000等)、「クリック」サービス特性(例えば、サービスUUID 0x2000等)、「ペンID」サービス特性(例えば、サービスUUID 0x2001等)、「ペンシリアル番号」サービス特性(例えば、サービスUUID 0x2002等)、「ペン記述」サービス特性(例えば、サービスUUID 0x2003等)、「サービスセッション鍵」サービス特性(例えば、サービスUUID 0x0010等)及び/又は「暗示署名カウンタ(implied sign counter)」サービス特性を含んでもよい。
【0046】
いくつかの例では、「クリック」サービス特性は、公に通知可能であるが読み取り不可能又は書きこみ不可能である16バイトのデータフィールドを含んでもよい。このフィールドは、クリックされているスタイラスのボタンを示すボタン識別子を含んでもよい(「ボタンなし」の場合は0x00、「クリックボタン」の場合は0x01、「バレルボタン1」の場合は0x10等)。「クリックタイプ」データフィールド(例えば、クリックサービスデータフィールドの1バイト等)は、実行されたクリックのタイプを示してもよい。例示的なクリックタイプ及び関連するデータコードは、以下に提供される。
【0047】
【表1】
所与のボタンは、ボタン処理が周辺機器で行われるかホストで行われるかに依存して、押下/解除メッセージ又はシングル/ダブル/プレス・ホールドメッセージを使用する。一例では、スタイラスのテールクリックボタンは、シングル/ダブル/プレス・ホールドクリックのタイプを使用してもよい。
【0048】
クリックサービスデータフィールドの更なるデータフィールドは、「バッテリレベル」データフィールド(例えば、パーセントデータ値での残りのバッテリ寿命を提供するデータフィールドのバイト2等)を含んでもよい。バッテリレベルデータフィールドは、読み取り値が利用できないことを更に報告してもよく(例えば、0xFFの値等)、及び/又は、(例えば、ボタン識別子を「ボタンなし」の値に設定することにより)関連するクリックなしでバッテリレベルを報告してもよい。クリックサービスデータフィールドはまた、予備バイト(例えば、データフィールドのバイト3等)を含んでもよい。このような予備バイトは0又は他の値に設定されてもよい。
【0049】
いくつかの例では、クリックサービスデータフィールドの一部(例えば、バイト4~15等)は、暗号化署名(例えば、カウント値及びBluetooth Core 5.0, section 3, Part f, 3.4.5.4等によるAdvanced Encryption Standard cipher-based message authentication code (AES-CMAC))に関連付けられてもよい。
【0050】
ここに記載のペンサービスのペンIDサービス特性は、ペンデバイスのペンIDを含む4バイトのデータフィールドでもよい。これは、公に読み取り可能であるが書き込み不可能であるように構成されてもよい。さらに、ペンサービスのペンシリアル番号サービス特性は、ASCIIフォーマットでのスタイラスのシリアル番号を含む16バイトのデータフィールドでもよい。未使用バイトは0に設定されてもよい。これは、公に読み取り可能であるが書き込み不可能であるように構成されてもよい。
【0051】
ここに記載のペンサービスのペン記述サービス特性は、関連するスタイラスが再充電可能であるか否かを示すデータを含む1バイトのデータフィールドでもよい(例えば、「0」はデバイスが再充電不能であることを示し、「1」はデバイスが再充電可能であることを示し、他の値2~255は予備である等)。データフィールドは、公に読み取り可能であるが書き込み不可能であるように構成されてもよい。
【0052】
ここに記載のペンサービスのサービスセッション鍵特性は、サービスセッション鍵を記憶するための4バイトの書き込み可能フィールドでもよい。ペンとホストとの間の接続が確立されると、ホストは新たなランダムに生成されたサービスセッション鍵をペンに送信する。ペンは、署名付きのデータ交換を有する各サービス毎に1つのサービスセッション鍵を記憶する。この鍵は、1つの接続の持続時間の間のみ記憶される。関連する接続が中断されると、将来の接続のために新たな鍵がスタイラスにより受信されなければならない。
【0053】
ここに記載のペンサービスの暗示署名カウンタ特性は、署名カウンタに関連付けられたデータを記憶するための4バイトの変数でもよい。スタイラスとホストとの間の接続が確立されると、ホスト及びスタイラスは、それぞれ初期値0の32ビットの署名カウンタを割り当てる。アクティブな署名付きデータ交換を有する全てのサービスに対して、別々の署名カウンタが維持される。スタイラスからの最初のメッセージは、署名カウンタ値1を有するように定義される。各署名カウンタは、それぞれの新たなメッセージがスタイラスにより送信される前にインクリメントされる。ホストは、署名カウンタ値をスタイラスに送信しない。ホストは、スタイラスからの全てのメッセージが、同じ接続及び同じサービスで以前に受け入れられたメッセージよりも大きい署名カウンタ値を有することを検証する。接続に関連する署名カウンタは、接続の持続時間の間のみ保持される。
【0054】
いくつかの例では、ボタンクリック通知及び/又はスタイラスからの他の関連する通知のためのデータサイズ及び内容は、ボタンクリックデータのための4バイトと、署名カウンタのための4バイトと、サービスセッション鍵のための8バイトとを含んでもよい。スタイラスとホストの間の初期署名手順は、以下のパターンのメッセージ、すなわち、サービスセッション鍵(4バイト)||ボタンクリックデータ(4バイト)||署名カウンタ(4バイト)を含んでもよい。
【0055】
署名カウンタは、同じサービス及び接続内でのリプレイ攻撃を防ぐために、サービス毎に一意になるように構成される。ランダムなサービスセッション鍵は、或る接続又はサービスからのデータが別の接続又はサービスで再生されるリプレイ攻撃を防止する。上記の署名手順及び通知手順を実装することは、サービス拒否をもたらす可能性がある悪意のあるリプレイ、スニフィング(sniffing)及びスプーフィング(spoofing)攻撃(例えば、ペンボタンのクリックがホストにより受信されない場合等)、又は悪意のあるインジェクション攻撃(例えば、不正なペンボタンのクリックがシステムに注入される場合等)を防止してもよい。
【0056】
図5は、ペンデバイス及び関連するコンパニオンデバイスを含むシステムの例示的な動作を記述するフローチャートを示す。502において、ペンは「出荷モード」(例えば、不活性モード等)で始まり、コンパニオンデバイスにドッキングすると、504において、「動作モード」(例えば、アクティブモード等)に進む。ペンは、ユーザにより使用されるときに、ドッキング(506)からドッキング解除(508)に移行してもよい。
【0057】
510においてペンがドッキングされたときにユーザがログインしている場合、ここに記載のように、ペンとコンパニオンデバイスとの間に疎結合の関連付けが形成されてもよい。この場合、関連付けは、514において近距離通信(near field communication, NFC)又は他の短距離無線通信(例えば、無線ローカルエリアネットワーク(local area network, LAN)コントローラ(wireless LAN controller, WLC)等)を介して形成されてもよい。いくつかの例では、ペンがコンパニオンデバイスにドッキングされた後に、ドッキングベースの関連付けが500ミリ秒未満で生じてもよい。
【0058】
代替として或いはさらに、512においてペンがドッキング解除されてコンパニオンデバイスのスクリーン上でインク付けするために使用されるときにユーザがログインしている場合、516において、ここに記載のようにデータの静電(electrostatic, ES)伝送に基づいて、ペンとコンパニオンデバイスとの間に疎結合の関連付けが形成されてもよい。この「アップリンク」通信(例えば、デジタイザからペンへのES通信チャネル等)は、ここに記載のように識別情報及び/又はセキュア鍵情報を共有することによりペンがインク付けしているコンパニオンデバイスへの接続及び/又は再接続を促進するために使用される。いくつかの例では、ESベースの関連付けは、ホストからペンに対して150ミリ秒未満で、また、連続するインク入力に基づいて100ミリ秒未満で生じてもよい。
【0059】
一例では、ユーザが充電のためにペンを第1のデバイスにドッキングしたが、第2のデバイス上でインク付けするためにも最近使用した場合、結合の関連付けは、ユーザが第1のデバイス上でインク付けするか或いは第1のデバイスに明示的にペアリング又は再接続されるまで、第2のデバイスと行われる。代替として、ペンは、直近にインク付けしたデバイスではなく、それがドッキングされたデバイスに初期設定されてもよい。さらに、ユーザがペンを第1のデバイスから第2のデバイスに移動して戻すと、BLE機能は、第1のデバイスのアドレスを受信した直後に利用可能になる。BLE機能が第1のデバイスで有効になる前に、1つ又は複数の認証鍵を再び受信する必要はない。いくつかの例では、これは少なくとも4つのコンパニオンデバイスに対して有効でもよい(ペンは少なくとも4つのコンパニオンデバイスの鍵を記憶する)。
【0060】
関連付けられると、ペンのボタン及び/又は他のインタフェースは、コンパニオンデバイスにここに記載の動作を実行させるために使用されてもよい。518においてペンがドッキングされて関連付けられ、ボタンが押下された場合、コンパニオンデバイスは、522において何もしないように構成されてもよい。しかし、520においてペンがドッキング解除されて関連付けられ、ボタンが押下された場合、ペンは、524において、コンパニオンデバイスの直近に取得されたBLEアドレスに基づいて、関連付けられたコンパニオンデバイスに直接アドバタイズし、528において押下されたボタンに関連するメッセージを送信してもよい。いくつかの例では、ペンボタンを押下したことに続いて、ペンはボタンイベントを関連するホストデバイスに送信し、ボタンイベントは変換されて入力スタックに注入される。代替として或いはさらに、ボタンの押下が5秒を超えた場合、或いは、他の例では異なる閾値を超えた場合、ペンは、既知のブルートゥースプロセス(例えば、532におけるユーザの同意を含む530における最初のペアリングプロセス、534における再ペアリングプロセス等)に従ってブルートゥースペアリング動作を実行するために、526における無指向性のアドバタイズに移行してもよく、その結果、536においてペンがペアリングされる。代替として或いはさらに、接続が望まれるときにBLEアドレスが利用できない例(例えば、ペンがコンパニオンデバイスに関連付けられていない場合等)では、ペンは、LEDを点滅させることによりエラー状態を示してもよい。
【0061】
ここに記載のように構成されたペンは、既知のブルートゥースペアリングプロセスを使用することにより、アップリンクが有効でない(例えば、疎結合のために構成された)1つ又は複数のレガシーのコンパニオンデバイスと共に使用されてもよいことが理解されるべきである。さらに、ここに記載のように構成されたコンパニオンデバイスはまた、既知のブルートゥースペアリングプロセスを使用してアップリンクが有効でない1つ又は複数のレガシーのペンとペアリングされてもよい。
【0062】
526においてペンがボタンのプレス及びホールドを介して無指向性のアドバタイズモードに入ったとき、ペンは2分間又は他の定義された期間の間に高電力モードでアドバタイズしてもよいことが理解されるべきである。その期間内にペアリングが行われない場合、ペンはアドバタイズを停止してもよい。さらに、ペンがアドバタイズモードに入ったとき、指定の持続時間の間にアドバタイズし、いずれかのスリープタイマ等を無効にする。
【0063】
いくつかの例では、5秒のテールボタン押下に続いて、ペンは、範囲内のコンパニオンデバイスに関連付けられていても(すなわち、疎結合された接続を介して)、アドバタイズモードに入る。ペンがデバイスに疎結合されている場合、アドバタイズモードに入る前に、長時間押下イベントがコンパニオンデバイスに送信されてもよい。ペンが範囲内のコンパニオンデバイスにペアリング/接続され、ボタンが5秒間押された場合、ペンはそのボンディング情報を失わず、他のペンデバイスと同様にアドバタイズモードにもならない。
【0064】
図6A図6Cは、実施形態によるシステム100の例示的な動作を示すシーケンス図である。システムは、ペンサービス、デジタイザドライバ(例えば、アダプテーションドライバを有するデジタイザHID TLC等)及び関連するデジタイザファームウェアを有するホストデバイス(例えば、コンパニオンデバイス104等)を含み、これは以下ではコンパニオンデバイスとしても記載する。さらに、システムは、ペン先端及びペンブルートゥースコンポーネントを有するペンデバイス(例えば、スタイラス102等)を含む。
【0065】
図6A図6Cは、ここに記載のシステムのいくつかのプロセスを示す。図6Aに示す第1のプロセスは、デジタイザに電源を入れたとき、デジタイザ起動リセット通知を受信したとき、或いは、デジタイザに関連するスクリーンがロック解除したときに生じる。602において、ペンサービスは、ホストBLEアドレスをデジタイザドライバに送信する。デジタイザドライバは、受信したホストBLEアドレスをデジタイザファームウェア604に送信する。最後に、606において、デジタイザファームウェアは、ホストBLEアドレスをキャッシュする。
【0066】
図6Aに示す他のプロセスは、ペン先端コンポーネントがデジタイザパネルの範囲内にあるときに生じる。608において、ペン先端コンポーネントは、ペンIDをデジタイザファームウェアに送信する。ホストBLEアドレスがデジタイザファームウェアにキャッシュされた場合、610において、デジタイザファームウェアは、キャッシュされたホストBLEアドレスをペン先端に送信する。ホストが新たなホストであり、認証鍵が既にキャッシュされている場合、612において、ペン先端コンポーネントはホストを現在のホストとして設定する。
【0067】
次いで、614において、デジタイザファームウェアは、受信したペンIDをデジタイザドライバに送信する。616において、デジタイザドライバはペンIDをペンBLEアドレスにマッピングし、618において、ペンBLEアドレスをペンサービスに送信する。ホストデバイスのスクリーンがロック解除されている場合、620において、ペンサービスはキャッシュされた秘密鍵を取得するか或いは新たな秘密鍵を生成する。次いで、622において、ペンサービスは、ペンBLEアドレス及び鍵をデジタイザドライバに送信する。624において、デジタイザドライバは、ペンBLEアドレスをペンIDにマッピングし、626において、ペンID及び鍵をデジタイザファームウェアに送信する。628において、ペンIDを使用して、デジタイザファームウェアは、鍵をペン先端コンポーネントに送信する。鍵がペンデバイスにより記憶された鍵と異なる場合、630において、ペン先端コンポーネントはホストBLEアドレス及び鍵630を継続する。このプロセスは、ペン及びホストデバイスが疎結合されることを生じてもよい。ホストデバイスへのペンのこの関連付けに続いて、全てのブルートゥース機能がこの関連付けられたホストに送信される。ホストデバイスへのペンの関連付けは、ペンが異なるホストデバイスに関連付けられるか或いは接続されるまで残る。処理中の現在のBLEトランザクションが存在する場合、これは終了する。これがキーを押下するイベント中に発生した場合、終了はキーを押し上げるイベントの後に発生する。
【0068】
他のプロセスは、疎結合されたペンデバイス及びホストデバイスに関してペンボタンがクリックされたとき或いは他のウェイクアップイベントが開始されたときに生じる図6Bに記載されている。632において、固定ループ持続時間の間に、ペンブルートゥースコンポーネントは、指向性のアドバタイズをペンサービスに送信する。指向性のアドバタイズを受信すると、634において、ペンサービスはペンブルートゥースに接続する。次いで、636において、ペンサービスはランダムな32ビットのセッション鍵を生成し、638において、セッション鍵をペンのブルートゥースに書き込む。いくつかの例では、639において、ペンサービスは、ここに記載のペンデバイスとの通信において使用するために、署名カウンタをゼロに初期化する。640において、ペンサービスはペンブルートゥースの通知を有効にし、642において、ペンブルートゥースはペンレポートで応答する。ペンレポートは、ボタンイベントデータ又は他のユーザ入力データ、バッテリレベルデータ及び/又はテレメトリデータのような様々なデータを含んでもよい。644において、ペンサービスは、ペンデバイスとの通信を検証するために、ペンレポートと共に受信した署名及び署名カウンタを検証する。署名は、ここに記載のように以前に生成された署名鍵に基づいてもよい。ペンレポートがホストデバイス及び/又は具体的にはペンサービスにより動作が実行されることを示す場合、646において、ペンサービスは、レポートに基づいて動作を実行する。代替として、ペンサービスは、ホストデバイスの他のコンポーネントに指示された動作を実行させてもよい。例えば、動作は、ボタンクリックデータがレポートに存在するときにボタンクリックデータを注入すること、及び/又は、バッテリデータがレポートに存在するときにペンデバイスのバッテリ状態を報告することを含む。648において、ペンサービスは、ペンレポートに基づいてローカルに記憶されたペン情報も同様に更新する(例えば、最後に表示されたタイムスタンプ、ペンフレンドリ名等を更新する)。ホストデバイスは、関連付けられた認証済みのペンから疎結合されたブルートゥース接続のみを受信するように構成されてもよい(例えば、ホスト上でインクが付けられていない新たなペン又はドッキングされていない新たなペンからの接続等は拒否される)。ユーザは、ホストデバイスから疎結合されたペンを除去してもよい。除去すると、新たな関連付け又はペアリングが行われるまで、ペンからのブルートゥース機能は、もはやホストデバイスにより作用されない。
【0069】
ホストデバイスのスクリーンがロックされたときに生じる図6Cの更に他のプロセスが記載される。650において、ペンサービスは、「ホストBLEアドレスのクリア」コマンドをデジタイザドライバに送信し、652において、デジタイザドライバは、「ホストBLEアドレスのクリア」コマンドをデジタイザファームウェアに転送する。654において、デジタイザファームウェアは、キャッシュされたホストBLEアドレスをクリアする。
【0070】
図7A図7Bは、実施形態による、それぞれコンピューティングデバイス及び関連するスタイラスの例示的な動作を説明するフローチャートを示す。図7Aでは、フローチャート700は、実施形態によるコンピューティングデバイスの動作を示す。702において、コンピューティングデバイスはスタイラスからの第1の信号でスタイラス無線プロトコル識別子を受信する。信号は、受信したスタイラス無線プロトコル識別子が関連付けられている無線プロトコルに関連付けられていない通信チャネルを使用して通信される。例えば、コンピューティングデバイスは、ES通信チャネルを介してスタイラスのBLEアドレスを受信してもよい。
【0071】
704において、スタイラス無線プロトコル識別子を受信したことに基づいて、コンピューティングデバイスは、通信チャネルを介して、コンピューティングデバイスの無線プロトコル識別子及びセキュリティ鍵を含む第2の信号をスタイラスに送信する。コンピューティングデバイス及びスタイラスは、コンピューティングデバイス及びスタイラスがここに記載のように疎結合されるように、それぞれのデバイスの無線プロトコル識別子及びセキュリティ鍵をそれぞれ記憶してもよい。704は、単一のセキュリティ鍵の共有を記載しているが、いくつかの例では、複数のセキュリティ鍵が共有されてもよいことが理解されるべきである。
【0072】
706において、無線プロトコルを介して結合されたスタイラスからのユーザ入力に関連する第3の信号を受信したことに基づいて、コンピューティングデバイスは、第3の信号に基づいて動作を実行するように構成される。いくつかの例では、実行される動作は、スタイラスとコンピューティングデバイスとをペアリングすること(例えば、ブルートゥースペアリング等)を含んでもよい。他の動作は、スタイラス上のボタン押下又は他のセンサ入力イベントに基づく動作を含んでもよい。第3の信号は、第3の信号でコンピューティングデバイスを直接目的とするために、コンピューティングデバイスの無線プロトコル識別子を使用するスタイラスからの指向性のアドバタイズ信号でもよく、スタイラスからのユーザ入力が、ここに記載のようにコンピューティングデバイス及びスタイラスがペアリングされていないか或いは他の方法で結合されていない場合には不可能な動作をコンピューティングデバイスに実行させることを可能にする。
【0073】
図7Bでは、フローチャート701は、実施形態によるスタイラスの動作を示す。708において、スタイラスの先端がコンピューティングデバイスのディスプレイの近くに運ばれると、スタイラスは、上記の無線プロトコルに関連付けられていない通信チャネル(例えば、ES通信チャネル、NFCチャネル等)を介して、スタイラスのスタイラス無線プロトコル識別子を含む信号をコンピューティングデバイスに送信する。
【0074】
710において、スタイラスは、通信チャネルを介してコンピューティングデバイスの無線プロトコル識別子を含む信号を受信する。スタイラスは、スタイラス及びコンピューティングデバイスがここに記載のように結合されるように、コンピューティングデバイスの無線プロトコル識別子を記憶するように構成されてもよい。
【0075】
712において、受信したユーザ入力に関連する信号が無線プロトコルを使用して結合されたコンピューティングデバイスに送信されることを示すユーザ入力を受信したことに基づいて、スタイラスは、コンピューティングデバイスの無線プロトコル識別子を使用して、無線プロトコルを介して、示された信号をコンピューティングデバイスに送信する。上記のように、送信される信号は、コンピューティングデバイスに関連する動作を実行させてもよい。
【0076】
ここに記載のシステムは、いずれかの組み合わせで以下の動作のいずれかを実行するように更に構成されてもよい。
・コンパニオンデバイスのBLEアドレスをコンパニオンデバイスのデジタイザに記憶すること。
・デジタイザ又はコンパニオンデバイスのディスプレイの近くにある及び/又は接触しているペンデバイスからペン識別子(BLEアドレス又は他の識別子)を受信すること。
・デジタイザに記憶されたコンパニオンデバイスのBLEアドレスをペンデバイスに送信すること。
・記述された動作で使用するためにペン識別子をペンのBLEアドレスにマッピングすること。
・コンパニオンデバイスがロック解除されたときに鍵(例えば、署名鍵)を識別すること(新たな鍵を生成してもよく、或いは、既に存在する鍵及び/又はペンデバイスに関連付けられた鍵を再利用してもよい)。
・識別されたキーをペンデバイスに送信し、ペンデバイスとの「信頼」を確立すること。
・BLE上で鍵を含む信号を送信させるペンデバイス入力を受信すること。
・確立された結合の関連付けのため、コンパニオンデバイスにより、ペンデバイスを求めてリッスン(listen)すること。
・コンパニオンデバイスにより、「ペンレポート」(以前に交換した鍵を使用して署名されたイベント)でもよい信号を受信すること。
・各メッセージで「署名カウンタ」を使用すること(合意された固定数(例えば、32ビットの乱数等)から始めてもよい)。
・セキュリティのためにセッション鍵を使用してデータ署名を検証すること
・もはや信号が送信される必要がなくなったとき(例えば、ユーザがペンデバイスのボタンを使用して停止したとき等)、或る期間の間に接続の間の結合状態を維持しつつ、接続を切断すること。
・BLEアドレス、セキュリティ鍵及び/又は他の識別子を交換するためにNFCを使用すること。
・BLEの代わりに、説明から逸脱することなく、他の無線チャネル及び/又は技術を使用すること(例えば、Wi-Fi等)。
・インクベースのアドレス交換に基づいてコンパニオンデバイスの間でペンを切り替えること。
・コンパニオンデバイスを複数のペンデバイスに一度に関連付けること。
・コンパニオンデバイスにより、所定の期間の後に、その期間中通信されていないときにペンを「忘れる」こと。
【0077】
[更なる例]
次に、様々なシナリオの例について説明する。
【0078】
Milesは、新たなアップリンクが有効なコンパニオンデバイス及びアップリンクが有効なペンデバイスを手に入れる。Milesはペンをアップリンクが有効なコンパニオンデバイスにドッキングする。Milesは現在、インク付けとBLEの双方のペンの全機能を享受でき、テールボタンの押下は、アップリンクが有効なコンパニオンデバイスでアクションを呼び出す。
【0079】
Milesは、新たなアップリンクが有効なコンパニオンデバイス及びアップリンクが有効なペンデバイスを手に入れる。Milesはペンをアップリンクが有効なコンパニオンデバイスにドッキングする。Milesは現在、インク付けとBLEの双方のペンの全機能を享受でき、テールボタンの押下は、アップリンクが有効なコンパニオンデバイスでアクションを呼び出す。
【0080】
Milesはまた、他のアップリンクが有効なデバイスも所有する。アップリンクが可能なコンパニオンデバイスに新たなペンでインク付けした後に、Milesは、第2のデバイス上で書き込みを開始し、ペンと第2のデバイスの間に疎結合された接続を形成させ、ペアリング又はいずれかのアクションを実行する必要なく、この時点で、新たなペンは第2のデバイスで完全に機能する。Milesは、アップリンクが有効なデバイスの間を行き来することができ、Milesが新たなペンで書き込んでいるデバイスに新たなペンが疎結合される毎に、行き来することができる。
【0081】
Meganは、レガシーデバイスで新たなペンを使用し始める。彼女はレガシーデバイスのブルートゥース機能を使用したいので、Meganはボタンを5秒間押下する。彼女はペアリングのフローを行うように促される。彼女は、クリック及びダブルクリックし、レガシーペン及びデバイスで経験したクリックと同じ反応を見つける。システムが接続スタンバイ中である間、システムが(ロックスクリーン上で)ロックされているとき、且つ、彼女がログインしているとき、これは非常に良く機能する。Meganが新たなアップリンクが有効なコンパニオンデバイス上で新たなペンをドッキングすると及び/又はインク付けを開始すると、新たなペンは、この時点でアップリンクが有効なコンパニオンデバイスに関連付けられる。MeganがレガシーデバイスでBT機能を再び使用したい場合、彼女は、ペアリングを開始するためにテールボタンを5秒間押下しなければならない。
【0082】
Georgeはチームの会議室で新たなハブ(Hub)デバイスを使用している。新たなペンでインク付けした後に、彼はブルートゥース機能を使用するためにテールボタンを使用できる。DarylはGeorgeに参加しており、両者は共同作業しており、デバイス上でインク付けしている。現在、Darylのペンはまた、ブルートゥースメッセージを送信可能である。Mattは、個人のアップリンクが有効なコンパニオンデバイス及びアップリンクが有効なペンデバイスを持って来る。Mattは、アップリンクが有効なコンパニオンデバイス及びハブデバイスで交互にインク付けする。Mattのペンは双方のデバイスでインク付けし、テールボタンは最後にインク付けしたデバイスに作用する。
【0083】
他の例では、ロック状態、スリープ状態等からアクティブになると、ホストデバイスは、ホストBLEアドレスをホストデバイスのデジタイザにキャッシュする。後に、ホストデバイスをロックすると、ホストBLEアドレスはデジタイザからクリアされる。ホストデバイスがアクティブである間、デジタイザは、ペンデバイスがデジタイザの近くに運ばれたときに、ペンデバイスからペンID (例えば、32ビットID)を受信してもよい。これに応じて、デジタイザはキャッシュされたホストBLEアドレスをペンデバイスに送信してもよい。
【0084】
ホストデバイスは、ペンデバイスからペンデバイスのBLEアドレスを更に受信してもよい。ホストデバイスは、後で使用するために受信したペンIDをペンBLEアドレスにマッピングしてもよい。安全な通信を容易にするために、ロック解除されたとき、ホストデバイスは認証鍵を識別してもよい(例えば、新たな鍵を生成するか或いはペンデバイスで以前に使用された鍵を識別する)。
【0085】
ペンデバイスがホストBLEアドレスを受信した後に、認証鍵はペンデバイスに送信される。ペンデバイス及びホストデバイスは疎結合される。
【0086】
ボタン押下を検出すると、ペンデバイスは、ホストデバイスに関連するBLEアドバタイズを開始する。ホストデバイスは、疎結合により、ペンアドバタイズを既にリッスンしている。ペンデバイスは、ペンイベントを記述するペンレポート(例えば、ボタン押下等)を送信する。ペンレポートは、以前に交換された署名鍵を使用して署名され、鍵はペンレポートと共に送信される。
【0087】
いくつかの例では、ペンレポートのなりすましを防止するために、署名カウンタ(例えば、新たなメッセージが送信される毎に増加する各メッセージで厳密に増える数等)がペンデバイス及びホストデバイスにより使用される。双方のデバイスは、次の有効な数を予測するためにカウンタをトラッキングする。これは、リプレイ攻撃を回避する。ユーザがペンのボタンを使用するのを停止すると、ホストデバイスとペンデバイスとの間の接続が切断されてもよい。疎結合状態は、所定の期間の間に維持されてもよい。
【0088】
[例示的な動作環境]
本開示は、図8における機能ブロック図800として、実施形態によるコンピューティング装置によって動作可能である。実施形態では、コンピューティング装置818のコンポーネントは、この明細書に記載の1つ以上の実施形態に従って、電子デバイスの一部として実装されてもよい。コンピューティング装置818は、マイクロプロセッサ、コントローラ、又は電子デバイスの動作を制御するようにコンピュータ実行可能命令を処理するためのいずれかの他の適切なタイプのプロセッサでもよい1つ以上のプロセッサ819を含む。代替として或いはさらに、プロセッサ819は、ハードコードされた機械のような、ロジック又は命令を実行可能ないずれかの技術である。オペレーティングシステム820又はいずれかの他の適切なプラットフォームソフトウェアを含むプラットフォームソフトウェアは、アプリケーションソフトウェア821がデバイス上で実行されるのを可能にするように、装置818に提供されてもよい。
【0089】
コンピュータ実行可能命令は、コンピューティング装置818によりアクセス可能ないずれかのコンピュータ読み取り可能媒体を使用して提供されてもよい。コンピュータ読み取り可能媒体は、例えば、メモリ822のようなコンピュータ記憶媒体と、通信媒体とを含んでもよい。メモリ822のようなコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール等のような情報の記憶のためにいずれかの方法又は技術で実装された揮発性及び不揮発性、取り外し可能及び取り外し不可能媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージ、又はコンピューティング装置によるアクセスのための情報を記憶するために使用できるいずれかの他の非伝送媒体を含むが、これらに限定されない。対照的に、通信媒体は、搬送波のような変調データ信号又は他の搬送機構において、コンピュータ読み取り可能命令、データ構造、プログラムモジュール等を具現してもよい。ここで定義するコンピュータ記憶媒体は通信媒体を含まない。したがって、コンピュータ記憶媒体は、それ自体が伝搬信号であると解釈されるべきではない。伝搬信号自体は、コンピュータ記憶媒体の例ではない。コンピュータ記憶媒体(メモリ822)は、コンピューティング装置818内に示されているが、ストレージは分散するか或いは遠隔に位置し、ネットワーク又は他の通信リンクを介して(例えば、通信インタフェース823を使用して)アクセスされてもよいことが、当業者により認識される。
【0090】
コンピューティング装置818は、情報を1つ以上の出力デバイス825、例えば、ディスプレイ又はスピーカに出力するように構成された入出力コントローラ824を含んでもよく、1つ以上の出力デバイス825は、電子デバイスから分離されていてもよく、或いは、電子デバイスに一体化されてもよい。入力/出力コントローラ824はまた、1つ以上の入力デバイス826、例えば、キーボード、マイクロホン又はタッチパッドからの入力を受信して処理するように構成されてもよい。一実施形態では、出力デバイス825はまた、入力デバイスとして作用してもよい。このようなデバイスの例は、接触式ディスプレイでもよい。入出力コントローラ824はまた、データを出力デバイス以外のデバイス、例えば、ローカルに接続された印刷デバイスに出力してもよい。いくつかの実施形態では、ユーザは、入力を入力デバイス826に提供し、及び/又は、出力デバイス825から出力を受信してもよい。
【0091】
ここに記載の機能は、1つ以上のハードウェア論理コンポーネントにより少なくとも部分的に実行できる。実施形態によれば、コンピューティング装置818は、プロセッサ819により実行されたとき、ここに説明の動作及び機能の実施形態を実行するようにプログラムコードにより構成される。代替として或いはさらに、ここに記載の機能は、1つ以上のハードウェア論理コンポーネントにより少なくとも部分的に実行できる。例えば、限定されるものではないが、使用できる例示的なタイプのハードウェア論理コンポーネントは、フィールドプログラマブルゲートアレイ(Field-programmable Gate Array, FPGA)、特定用途向け集積回路(Application-specific Integrated Circuit, ASIC)、プログラム用途向け標準製品(Program-specific Standard Product, ASSP)、SOCシステム、複合プログラマブルロジックデバイス(Complex Programmable Logic Device, CPLD)、GPUを含む。
【0092】
図面における様々な要素の機能の少なくとも一部は、図面における他の要素、又は図面には示されていないエンティティ(例えば、プロセッサ、ウェブサービス、サーバ、アプリケーションプログラム、コンピューティングデバイス等)により実行されてもよい。
【0093】
例示的なコンピューティングシステム環境に関連して説明したが、開示の例は、多数の他の汎用又は特殊目的のコンピューティングシステム環境、構成又はデバイスで実装可能である。
【0094】
本開示の態様での使用に適合し得る周知のコンピューティングシステム、環境及び/又は構成の例は、モバイル又はポータブルコンピューティングデバイス(例えば、スマートフォン)、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド(タブレット)又はラップトップデバイス、マルチプロセッサシステム、ゲームコンソール又はコントローラ、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能消費者用家電、携帯電話、ウェアラブル又はアクセサリ形状(例えば、時計、メガネ、ヘッドセット又はイヤホン)のモバイルコンピューティング及び/又は通信デバイス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのいずれかを含む分散コンピューティング環境等を含むが、これらに限定されない。一般的に、当該開示は、ここに記載のような命令を実行できるように、処理能力を有するいずれかのデバイスで動作可能である。このようなシステム又はデバイスは、キーボード又はポインティングデバイスのような入力デバイスから、ジェスチャ入力、近接入力(例えばホバリングによるもの等)を介して、及び/又は音声入力を介して、いずれかの方法でユーザからの入力を受け付けてもよい。
【0095】
開示の例は、ソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせで1つ以上のコンピュータ又は他のデバイスにより実行されるプログラムモジュールのような、コンピュータ実行可能命令の一般的な文脈で記載されることがある。コンピュータ実行可能命令は、1つ以上のコンピュータ実行可能コンポーネント又はモジュールに編成されてもよい。一般的に、プログラムモジュールは、特定のタスクを実行するか或いは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント及びデータ構造を含むが、これらに限定されない。開示の態様は、いずれかの数及び編成のこのようなコンポーネント又はモジュールで実装されてもよい。例えば、開示の態様は、図面に示されてここに記載される特定のコンピュータ実行可能命令又は特定のコンポーネント若しくはモジュールに限定されない。開示の他の例は、ここ図示されて記載されるものよりも多くの機能又は少ない機能を有する異なるコンピュータ実行可能命令又はコンポーネントを含んでもよい。
【0096】
汎用コンピュータを含む例において、開示の態様は、ここに記載の命令を実行するように構成されたとき、汎用コンピュータを専用コンピューティングデバイスに変換する。
【0097】
代替として或いはここに記載の他の例に加えて、例は以下のいずれかの組み合わせを含む。
【0098】
スタイラスをコンピューティングデバイスに結合するためのシステムであって、
第1の無線プロトコルに従って、第2の無線プロトコルに関連する少なくとも1つの通信チャネルを介して、スタイラスと通信するように構成され、且つ、ディスプレイを有するコンピューティングデバイスを含み、コンピューティングデバイスは、
少なくとも1つの通信チャネルを介してスタイラスからの第1の信号でスタイラス無線プロトコル識別子を受信し、
スタイラス無線プロトコル識別子を受信したことに基づいて、少なくとも1つの通信チャネルを介してコンピューティングデバイスの無線プロトコル識別子及び署名鍵を含む第2の信号をスタイラスに送信し、それにより、コンピューティングデバイスがスタイラスに結合され、
第1の無線プロトコルを介して、結合されたスタイラスから第3の信号を受信したことに基づいて、受信した第3の信号に基づいて、コンピューティングデバイス上で動作を実行し、第3の信号がスタイラスへのユーザ入力を示す
ためのコンピュータ実行可能命令を実行するシステム。
【0099】
スタイラスをコンピューティングデバイスに結合するためのコンピュータ化された方法であって、
コンピューティングデバイスにより、スタイラスの先端がコンピューティングデバイスのディスプレイの近くに運ばれると、少なくとも1つの通信チャネルを介してスタイラスからスタイラス無線プロトコル識別子を受信するステップであり、コンピューティングデバイスは第1の無線プロトコルに従ってスタイラスと通信するように構成され、少なくとも1つの通信チャネルは第2の無線プロトコルに関連する、ステップと、
コンピューティングデバイスにより、スタイラス無線プロトコル識別子を受信したことに基づいて、少なくとも1つの通信チャネルを介してコンピューティングデバイスの無線プロトコル識別子及び署名鍵をスタイラスに送信し、それにより、スタイラス及びコンピューティングデバイスが結合されるステップと、
無線プロトコルを介して、結合されたスタイラスからユーザ入力に関連する信号を受信したことに基づいて、受信した信号に基づいて、コンピューティングデバイス上で動作を実行するステップであり、信号がスタイラスへのユーザ入力を示す、ステップと
を含むコンピュータ化された方法。
【0100】
スタイラスをコンピューティングデバイスに結合するためのコンピュータ実行可能命令を有する1つ以上のコンピュータ記憶媒体であって、少なくとも1つのプロセッサにより実行されると、少なくとも1つのプロセッサに対して少なくとも、
コンピューティングデバイスにより、スタイラスの先端がコンピューティングデバイスのディスプレイの近くに運ばれると、少なくとも1つの通信チャネルを介してスタイラスからスタイラス無線プロトコル識別子を受信するステップであり、コンピューティングデバイスは第1の無線プロトコルに従ってスタイラスと通信するように構成され、少なくとも1つの通信チャネルは第2の無線プロトコルに関連する、ステップと、
コンピューティングデバイスにより、スタイラス無線プロトコル識別子を受信したことに基づいて、少なくとも1つの通信チャネルを介してコンピューティングデバイスの無線プロトコル識別子及び署名鍵をスタイラスに送信し、それにより、スタイラス及びコンピューティングデバイスが結合されるステップと、
無線プロトコルを介して、結合されたスタイラスからユーザ入力に関連する信号を受信したことに基づいて、受信した信号に基づいて、コンピューティングデバイス上で動作を実行するステップであり、信号がスタイラスへのユーザ入力を示す、ステップと
を実行させる1つ以上のコンピュータ記憶媒体。
【0101】
コンピューティングデバイスにより、信号に基づいて動作を実行することは、スタイラス無線プロトコル識別子及びコンピューティングデバイスの無線プロトコル識別子に基づいて、結合されたスタイラスをコンピューティングデバイスにペアリングすることを含む。
【0102】
コンピューティングデバイスは、
署名鍵を生成し、
結合されたスタイラスからの第3の信号で、結合されたスタイラスからの署名を受信し、
動作を実行する前に、受信した署名を署名鍵に基づく想定の署名と比較し、署名カウンタを検証することにより、第3の信号を認証するように更に構成される。
【0103】
ユーザ入力は、スタイラスへのボタンイベント入力を含み、第3の信号は、コンピューティングデバイスの受信した無線プロトコル識別子を使用するコンピューティングデバイスへの指向性のアドバタイズ信号であり、指向性のアドバタイズ信号は、ボタンイベント入力に関連するボタンイベントを識別し、コンピューティングデバイスにより、第3の信号に基づいて動作を実行することは、コンピューティングデバイスにより、ボタンイベントに関連する動作を実行することを含む。
【0104】
コンピューティングデバイスにより、第3の信号に基づいて動作を実行することは、
スタイラスとコンピューティングデバイスとの間に第1の無線プロトコルに関連する接続を確立し、
セッション鍵を生成し
第1の無線プロトコルを介して、生成されたセッション鍵をスタイラスと共有することを含み、
コンピューティングデバイスは、確立された接続を使用してスタイラスと通信中に共有されたセッション鍵を交換するように構成される。
【0105】
少なくとも1つの通信チャネルは、ES通信チャネル及びNFCチャネルのうちの1つ以上を含む。
【0106】
コンピューティングデバイスは、第2のスタイラスから第2のスタイラス無線プロトコル識別子を受信し、コンピューティングデバイスの無線プロトコル識別子を含む信号を第2のスタイラスに送信するように更に構成され、それにより、コンピューティングデバイスは、第1のスタイラスと同時に第2のスタイラスに結合される。
【0107】
ここに与えられるいずれかの範囲又はデバイスの値は、当業者に明らかなように、求められる効果を失うことなく拡張又は変更されてもよい。
【0108】
開示の態様により個人識別可能な情報がトラッキングされることはないが、例は、ユーザから監視及び/又は収集されたデータに関連して記載されている。いくつかの例では、通知がデータの収集のユーザに(例えば、ダイアログボックス又はプリファレンス設定を介して)提供されてもよく、ユーザは、監視及び/又は収集に対する同意を与えるか拒否するかの機会が与えられる。同意は、オプトイン同意又はオプトアウト同意の形式になってもよい。
【0109】
対象物について、構造的特徴及び/又は方法論的動作に特有の言語で記載されているが、添付の請求項において定義された対象物は、必ずしも上記の特定の特徴又は動作に限定されるとは限らないことが理解されるべきである。むしろ、上記の特定の特徴及び動作は、特許請求の範囲を実装する例示的な形式として開示されている。
【0110】
上記の利益及び利点は、1つの実施形態に関連してもよく、或いは、いくつかの実施形態に関連してもよいことが理解される。実施形態は、記載された問題のいずれか若しくは全てを解決するもの、又は記載された利益及び利点のいずれか若しくは全てを有するものに限定されない。1つの項目への言及は、これらの項目の1つ以上を示すことが更に理解される。
【0111】
用語「含む」は、この明細書において、1つ以上の更なる特徴又は動作の存在を除外することなく、その後に続く特徴又は動作を含むことを意味するために使用される。
【0112】
いくつかの例において、図面に示す動作は、コンピュータ読み取り可能媒体上にエンコードされたソフトウェア命令として、動作を実行するようにプログラム又は設計されたハードウェアで、或いはこれらの双方として実装されてもよい。例えば、開示の態様は、複数の相互接続された導電性の要素を含むシステムオンチップ又は他の回路として実装されてもよい。
【0113】
ここに図示及び記載される開示の例における動作の実行又は実施の順序は、別段の定めがない限り必須ではない。すなわち、動作は、別段の定めがない限り、如何なる順序で実行されてもよく、開示の例は、ここに開示のものよりも更なる動作又は少ない動作を含んでもよい。例えば、特定の動作を、他の動作の前、同時又は後に実行又は実施することは、開示の態様の範囲内であると考えられる。
【0114】
開示の態様の要素又はその例を照会するとき、冠詞(「a」、「an」、「the」及び「said」)は、1つ以上の要素が存在することを意味することを意図する。用語「含む(comprising)」、「含む(include)」及び「有する(having)」は、包含することを意図しており、記載された要素以外の更なる要素が存在してもよいことを意味する。用語「例示的」は、「1つの例」を意味することを意図する。語句「A、B及びCのうち1つ以上」は、「Aのうち少なくとも1つ及び/又はBのうち少なくとも1つ及び/又はCのうち少なくとも1つ」を意味する。
【0115】
開示の態様について詳細に説明したが、添付の特許請求の範囲において定義される開示の態様の範囲から逸脱することなく、修正及び変形が可能であることは明らかである。開示の態様の範囲から逸脱することなく、上記の構成、製品及び方法に様々な変更が加えられてもよいので、上記の説明に含まれており添付の図面に示されている全ての事項は、例示的なものとして解釈されるものとし、限定的な意味で解釈されないものとする。
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7A
図7B
図8