コンピューティングデバイスを保護するための技法が提供される。技法は、コンピューティングデバイスのタッチスクリーンとの接触を検出するステップと、タッチスクリーンとの接触を、接触が所定の動きパターンと一致するかどうかを判断するために監視するステップと、タッチスクリーンとの接触が所定の動きパターンと一致することに応答して、1つまたは複数の所定のアクションを実行するステップとを含む。所定の動きパターンは、枢動点によって分けられる複数の動きタイプを含む。枢動点は、第1の動きタイプから第2の動きタイプへの所定の動きパターンにおける遷移点を表す。所定の動きパターンは、複数の枢動点を有することができ、2つ以上の異なる動きタイプを含むことができる。タッチスクリーンとの接触は、多くのモバイルデバイスを保護するために使用される従来のパターンロック技法によって必要とされるように、複数の所定の動きの間で維持される必要がない。タッチスクリーンとの接触は、少なくとも1つの枢動点、第1の動きタイプの第1のインスタンスと第1の動きタイプの第2のインスタンスとの間、または第2の動きタイプの第1のインスタンスと第2の動きタイプの第2のインスタンスとの間のうちの1つまたは複数において切断され得る。図および以下の説明は、これらの技法を実装するための例示的なプロセスを提供する。本明細書で論じる技法は、スマートウォッチなどのスモールフォームファクタデバイス、ならびにタブレットコンピュータなどのデバイスとともに使用され得る。
図1は、本明細書で論じる技法を実装するのに適する可能性がある例示的なネットワークアーキテクチャのブロック図である。本明細書で示す特定の構成は、単に、本明細書で開示する技法が使用され得る1つのネットワーク構成の一例である。さらに、そのようなネットワークアーキテクチャの実装形態は、本明細書で示さず、明瞭さのために省略された追加の要素を含むことができる。例示的なネットワークアーキテクチャは、本明細書で開示する技法が実装され得るコンピューティングデバイスが動作することができるネットワーク環境の一例を提供する。
コンピューティングデバイス120は、ユーザ機器(UE)、移動局、端末、アクセス端末、加入者ユニット、局などと呼ばれるモバイル通信デバイスであってもよい。コンピューティングデバイス120は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ゲームコンソール、着用可能なデバイス(スマートウォッチなど)、または、ロングタームエボリューション(LTE)、WLAN、およびWiMAXワイヤレス通信プロトコルを含むがこれに限定はされない1つもしくは複数のワイヤレス通信プロトコルを使用して通信するように構成されたワイヤレス送信機を含む他のデバイスであってよい。コンピューティングデバイス120は、他のタイプのワイヤレス通信プロトコルをサポートするようにも構成され得、複数の異なるワイヤレス通信プロトコルをサポートするように構成され得る。コンピューティングデバイス120のワイヤレス送信機は、他のデバイス、ワイヤレス送信機115、および/またはワイヤレス基地局140などの1つもしくは複数のワイヤレス基地局にデータを送り、かつ/あるいはこれらからデータを受信するように構成され得る。
コンピューティングデバイス120は、ワイヤレス送信機115およびワイヤレス基地局140などの1つまたは複数のワイヤレス基地局またはワイヤレスアクセスポイントからの信号を測定し、ワイヤレス基地局の(たとえば、到着時刻(TOA:time of arrival)もしくは観測到達時間差(OTDOA:observed time difference of arrival)の)タイミング測定値、信号強度測定値(たとえば、受信信号強度インジケーション(RSSI:Receive Signal Strength Indication))、RTT(ラウンドトリップ時間)、および/または信号品質測定値を入手するようにも構成され得る。擬似乱数測定値、タイミング測定値、信号強度測定値、および/または信号品質測定値は、コンピューティングデバイス120のロケーション推定値を導出するために使用され得る。ロケーション推定値は、位置推定値、位置フィックスなどとも呼ばれ得る。2つの地上ワイヤレス送信機115aおよび115bが、この例に示されている。しかし、他の実装形態では、より多数またはより少数のワイヤレス送信機115が含まれる場合がある。コンピューティングデバイス120は、衛星170、ワイヤレス基地局140、および/またはワイヤレス送信機115のうちの1つまたは複数からの信号の組合せを使用してコンピューティングデバイス120の位置を決定するようにも構成され得る。
ワイヤレス送信機115の各々は、IEEE 802.11ワイヤレス通信標準規格を使用して動作するように構成されたWLANワイヤレスアクセスポイントを含むことができる。しかし、いくつかの実装形態では、ワイヤレス送信機115の一部またはすべてが、他のワイヤレス通信プロトコルを利用するように構成され得、いくつかのネットワーク環境が、複数のタイプのワイヤレス送信機を含む場合がある。さらに、ワイヤレス送信機115が、送信機として識別されるが、ワイヤレス送信機115は、データをワイヤレスに送り、かつ/または受信するように構成されたトランシーバであってよい。ワイヤレス送信機115は、ネットワーク110へのブロードバンド接続を提供するバックホール接続を介してネットワーク110に接続され得る。ネットワーク110は、インターネットおよび/または1つもしくは複数のネットワークの組合せであってよい。たとえば、ワイヤレス送信機(ワイヤレス送信機115のうちの1つなど)は、特定の実装形態において使用されるブロードバンドサービスのタイプに応じて、DSLモデムまたはケーブルモデムに接続され得る。ワイヤレス送信機(ワイヤレス送信機115のうちの1つなど)は、モバイル通信ネットワークプロバイダに関連付けられ得、ネットワーク110を介してモバイル通信ネットワークプロバイダのネットワーク(図示せず)と通信するように構成され得る。ワイヤレス送信機(ワイヤレス送信機115のうちの1つなど)のカバレージエリアは、ワイヤレス基地局140などの1つもしくは複数のマクロセル基地局のカバレージエリア、または1つもしくは複数の他の地上トランシーバのカバレージエリアと重複してよい。
ワイヤレス基地局140は、コンピューティングデバイス120などの複数のモバイルデバイスにワイヤレスネットワーク接続性を提供するように構成され得る。ワイヤレス基地局140は、マクロセル基地局、フェムトセル基地局、ピコセル基地局、または他のタイプの基地局を含むことができる。ワイヤレス基地局140は、ワイヤレス送信機(ワイヤレス送信機115のうちの1つなど)よりもはるかに広いカバレージエリアを有することができ、または、ワイヤレス送信機115によって提供されるカバレージエリアと同様のサイズもしくはそれよりも小さいサイズを有するカバレージエリアを提供する地上トランシーバであってよい。ワイヤレス基地局140は、1つまたは複数のワイヤレス通信プロトコルを使用して通信するように構成され得る。図1に示す例は、単一のワイヤレス基地局を含むが、他の実装形態では、ネットワーク環境は、少なくとも部分的に重複し得るカバレージエリアを有する複数のワイヤレス基地局140を含む可能性が高い。
コンピューティングデバイス120は、衛星170aおよび衛星170bなどの1つまたは複数の衛星170からの信号を受信し、測定し、衛星170の擬似乱数測定値を入手するように構成された全地球航法衛星システム(GNSS)受信機を含むように構成され得る。衛星170は、米国の全地球測位システム(GPS)、欧州のガリレオシステム、ロシアのGLONASSシステム、または何らかの他のGNSSとすることのできる全地球航法衛星システム(GNSS)の一部とすることができる。GNSS受信機は、複数のGNSSシステムに属する衛星170からの信号を検出し、受信するようにも構成され得る。たとえば、衛星170aは、GPSシステムに属すことができ、衛星170bは、ガリレオシステムに属すことができる。本明細書で示す例示的なネットワークアーキテクチャは、2つの衛星だけを示すが、他の実装形態は、使用可能なより多数またはより少数の衛星を有することができ、1つまたは複数のGNSSシステムに関連する衛星を有することができ、コンピューティングデバイス120に可視の衛星の個数は、コンピューティングデバイス120の現在の地理的ロケーションおよび衛星170の軌道に依存する可能性がある。一般に、コンピューティングデバイス120は、コンピューティングデバイス120のロケーションを決定するために三辺測量を実行するために、少なくとも4つのSVから信号を取得しようと試みる。
ロケーションサーバ160は、コンピューティングデバイス120にロケーションサービスを提供するように構成され得る。たとえば、ロケーションサーバ160は、暦情報および/またはコンピューティングデバイス120がコンピューティングデバイス120の位置を決定するために使用できる他の情報を提供するように構成され得る。ロケーションサーバ160は、コンピューティングデバイス120の位置を決定する際にコンピューティングデバイス120を支援するようにも構成され得る。たとえば、ロケーションサーバ160は、コンピューティングデバイス120においてワイヤレス送信機115および/またはワイヤレス基地局(ワイヤレス基地局140など)から受信された信号の信号測定値を受信し、これらの信号に基づいてコンピューティングデバイス120の位置を決定するように構成され得る。ロケーションサーバ160は、図1に示す例示的な実装形態において単一のエンティティとして表されているが、本明細書で論じるロケーションサーバ160によって実行される論理機能は、複数のネットワークエンティティによって実装され得る。コンピューティングデバイス120は、所定の動きパターンに応答して、どのアクションを行うかを決定するときに、コンピューティングデバイス120のロケーションを考慮するように構成され得る。所定の動きパターンに関連するアクションは、コンピューティングデバイス120のロケーションに応じて有効化および/または無効化され得る。さらに、実行されるアクションのタイプは、コンピューティングデバイス120のロケーションに基づいて変わり得る。所定の動きパターンは、コンピューティングデバイス120が第1のロケーションに位置する場合には第1のアクションセットに関連付けられ得、コンピューティングデバイス120が第2のロケーションに位置する場合には第2のアクションセットに関連付けられ得る。この概念を説明すると、所定の動きパターンは、コンピューティングデバイスのユーザの自宅である第1のロケーション、およびコンピューティングデバイスのユーザの仕事場である第2のロケーションに関連付けられ得る。所定の動きパターンは、ユーザが所定の動きパターンを入力し、コンピューティングデバイス120がユーザの自宅に位置するときに、コンピューティングデバイス120をロック解除し、個人電子メールアプリケーションおよびソーシャルメディアアプリケーションを開くことに関連付けられ得、所定の動きパターンは、コンピューティングデバイス120がユーザの仕事場に位置するときに、コンピューティングデバイス120をロック解除し、仕事関連の電子メールアプリケーションおよびカレンダーアプリケーションを開くことに関連付けられ得る。
構成コンピューティングデバイス180は、コンピューティングデバイス120と同様のコンピューティングデバイスであってよく、コンピューティングデバイス120に関して本明細書で論じるプロセスのいずれかを実装するために使用され得る。構成コンピューティングデバイス180は、コンピューティングデバイス120、構成コンピューティングデバイス180、および/または他のコンピューティングデバイスに関する1つまたは複数の所定の動きパターンをセットアップするために使用され得、これらのコンピューティングデバイスのいずれかで使用する所定の動きパターンをセットアップすることを含め、1つまたは複数のコンピューティングデバイス上で使用する所定の動きパターンをセットアップするように構成され得る。構成コンピューティングデバイス180は、1つまたは複数のコンピューティングデバイスによって使用され得る1つまたは複数の所定の動きパターンを捕捉し、維持し、修正するための集中型手段を提供することができる。コンピューティングデバイス120は、スマートウォッチなどのスモールフォームファクタを有することができ、コンピューティングデバイス120のタッチスクリーンの制限されたサイズは、所定の動きパターンを記録および維持するユーザの能力を限定し得る。コンピューティングデバイス120は、多くのスマートフォンまたはタブレットコンピュータと同様に、物理キーボードを含まないことがあり、コンピューティングデバイス120に関する所定の動きパターンをセットアップするために構成コンピューティングデバイス180を使用することが、より便利であることがある。さらに、ユーザは、複数のコンピューティングデバイスを有することがあり、個々に各デバイスを構成する必要なく、これらのデバイスに関する所定の動きパターンおよびそれらの関連するアクションをセットアップおよび管理することを望むことがある。ユーザは、代わりに、所定の動きパターンを記録し、複数のコンピューティングデバイスの1つ、サブセット、またはすべてによって使用され得るそれらの所定の動きパターンにアクションを関連付けることができる。
構成コンピューティングデバイス180は、コンピューティングデバイス120、構成コンピューティングデバイス180、および/またはユーザに関連する任意の他のコンピューティングデバイス上で使用され得る1つまたは複数の所定の動きパターンをユーザが捕捉することを可能にする1つまたは複数のユーザインターフェースにユーザがアクセスすることを可能にするワイヤードまたはワイヤレス接続を使用して直接または間接的にコンピューティングデバイス120に接続され得る。ユーザインターフェースはまた、コンピューティングデバイス120上で各所定の動きパターンが入力されたことに応答して行われるべき1つまたは複数のアクションをユーザが定義することを可能にし得る。構成コンピューティングデバイス180はまた、ロケーションサーバ160またはコンピューティングデバイス120に関連するネットワークサービスプロバイダなどの別のネットワークエンティティ上に位置し得るコンピューティングデバイス120に関連するセキュリティアカウントにログインするように構成され得る。構成コンピューティングデバイス180は、1つまたは複数の所定の動きパターンを捕捉するために、またセキュリティアカウントに関連付けられるコンピューティングデバイス120上で各所定の動きパターンが入力されたことに応答して行われるべき1つまたは複数のアクションを定義するために使用され得る。セキュリティアカウントは、コンピューティングデバイス120、構成コンピューティングデバイス180、および/または他のコンピューティングデバイスにリンクされ得、1つまたは複数の所定の動きパターンは、セキュリティアカウントに関連するコンピューティングデバイスの各々と共有され得る。セキュリティアカウントはまた、セキュリティアカウントに関連するコンピューティングデバイスの選択されたサブセットにいくつかの所定の動きパターンが関連付けられることを可能にするインターフェースを含むことができる。
図1に示す例示的なネットワーク構成は、単に、本明細書で開示する技法が実装され得るネットワークの1つの可能な構成の一例である。他のネットワーク構成は、図1に示さない追加の要素を含むことができ、様々な構成要素が、図1に示すものとは異なる構成において相互接続され得る。さらに、上記で論じたように、コンピューティングデバイス120は、コンピューティングデバイス120が図1に示すワイヤレス接続の代わりに、またはそれに加えて、ネットワーク110に対するワイヤード接続を有するように実装され得る。さらに、コンピューティングデバイス120は、図1に示すモバイルデバイスなど、コンピューティングデバイス120の実装形態と対照的に、移動可能であるが一般に同じロケーションに留まる、セットトップボックス、サーバコンピュータシステム、またはデスクトップコンピュータシステムなど、比較的固定されたロケーション内に留まるように構成され得る。
図2は、図1に示したコンピューティングデバイス120および/または構成コンピューティングデバイス180を実装するために使用され得るコンピューティングデバイスのブロック図である。コンピューティングデバイス120および/または構成コンピューティングデバイス180は、図4〜図12に示すプロセスを少なくとも部分的に実装するために使用され得る。コンピューティングデバイス120および/または構成コンピューティングデバイス180は、ラップトップコンピュータシステムまたは他のパーソナルコンピュータシステム、タブレットコンピュータ、モバイルフォン、スマートフォン、ゲームコンソール、着用可能なデバイス(たとえば、スマートウォッチ、ヘッドマウントデバイスなど)および/または他のタイプのコンピューティングデバイスを含むがこれらに限定されない様々なタイプのコンピューティングデバイスであり得る。
コンピューティングデバイス120は、バス200によって互いに接続された、プロセッサ210、ワイヤレスインターフェース225、少なくとも1つのセンサー235、GNSSインターフェース265、入出力インターフェース270、およびメモリ260を含むコンピュータシステムを含む。メモリ260は、非一時的メモリを含む。プロセッサ210は、少なくとも1つの汎用プロセッサであってよく、コンピューティングデバイス120または構成コンピューティングデバイス180は、複数のプロセッサを含んでよい。コンピューティングデバイス120または構成コンピューティングデバイス180の他の実装形態は、図2の例示的な実装形態には示されていない追加の要素を含むことができ、かつ/または図2に示す例示的な実施形態に示された要素のすべてを含んでいるとは限らない場合がある。たとえば、コンピューティングデバイス120または構成コンピューティングデバイス180のいくつかの実装形態は、GNSSインターフェース265および/またはワイヤレスインターフェース225を含まなくてよい。さらに、コンピューティングデバイス120または構成コンピューティングデバイス180は、ワイヤレスインターフェース225の代わりに、またはそれに加えて、ワイヤードネットワークインターフェースを含み得る。コンピューティングデバイス120または構成コンピューティングデバイス180は、セットトップボックス、デスクトップコンピューティングデバイス、またはモバイルフォン、タブレットコンピュータ、着用可能なデバイス、もしくはモバイルデバイスと呼ばれる場合もある他のそのようなデバイスなど、移動可能であるが一般に携帯用であることが意図されない他のデバイスとして実装され得る。
ワイヤレスインターフェース225は、ワイヤレス受信機、送信機、トランシーバ、ならびに/またはコンピューティングデバイス120が、WWAN、WLAN、および/もしくは他のワイヤレス通信プロトコルを使用して、データを送り、かつ/もしくは受信することを可能にする他の要素を含むことができる。ワイヤレスインターフェース225は、複数のワイヤレス通信標準規格を使用して、ワイヤレス信号を送信および受信することが可能な1つまたは複数のマルチモードモデムを含むことができる。ワイヤレスインターフェース225は、ワイヤレス信号250としてワイヤレス送信機115、ワイヤレス基地局140、および/またはワイヤレス通信プロトコルを使用して通信するように構成された他のワイヤレスデバイスとの間で通信を送受信するためのアンテナ245に接続される。図2に示す例示的な実装形態は、単一のワイヤレスインターフェースおよび単一のアンテナを含むが、コンピューティングデバイス120または構成コンピューティングデバイス180の他の実装形態は、複数のワイヤレスインターフェースおよび/または複数のアンテナを含むことができる。
入出力インターフェース270は、コンピューティングデバイス120に対するデータ入力および/またはデータ出力を提供することができる1つまたは複数のポートおよび/または他のインターフェースを提供することができる。たとえば、入出力インターフェース270は、ユニバーサルシリアルバス(USB)ポートおよび/または外部デバイスをコンピューティングデバイス120もしくは構成コンピューティングデバイス180に接続するために使用され得る他のタイプのポートなど、1つまたは複数のポートを含むことができる。入出力インターフェース270はまた、ボタン、スイッチ、キーパッド、タッチスクリーン、および/またはユーザから入力を受信するための他の手段など、1つまたは複数の入力デバイスを含むことができる。入出力インターフェース270はまた、オーディオおよび/または視覚コンテンツを出力するための1つまたは複数の手段、たとえば、スクリーン、スピーカー、ヘッドフォンポート、および/またはそのようなコンテンツを出力するための他の手段を含むことができる。入出力インターフェース270はまた、コンピューティングデバイス120または構成コンピューティングデバイス180において振動または運動を引き起こすために使用され得る1つまたは複数のハプティックフィードバックユニットを含むことができる。1つまたは複数のハプティックフィードバックユニットは、何らかのイベントに対してユーザにアラートするように構成され得、複数のハプティックフィードバックパターンを提供するように構成され得る。
GNSSインターフェース265は、コンピューティングデバイス120または構成コンピューティングデバイス180が1つまたは複数のGNSSシステムに関連する送信機から信号を受信することを可能にするGNSS受信機および/または他の要素を含むことができる。GNSSインターフェース265は、図1に示した衛星170などのGNSS送信機から信号280を受信するためのアンテナ275に接続される。コンピューティングデバイス120または構成コンピューティングデバイス180は、GNSSインターフェースが含まれるコンピューティングデバイス120または構成コンピューティングデバイス180の位置を決定するために、GNSSシステムに関連する衛星および他の送信機に関連する衛星から受信された信号を使用するように構成され得る。コンピューティングデバイス120または構成コンピューティングデバイス180は、コンピューティングデバイス120または構成コンピューティングデバイス180の位置を決定するために、ワイヤレス送信機115および/またはワイヤレス基地局(ワイヤレス基地局140など)から受信された信号と併用して、GNSSシステムに関連する衛星および他の送信機から受信された信号を使用するようにも構成され得る。
少なくとも1つのセンサー235は、データを収集するために使用され得る1つまたは複数のセンサーを含むことができる。少なくとも1つのセンサー235は、コンピューティングデバイス120または構成コンピューティングデバイス180の3次元(3D)方位を決定するために使用され得るジャイロスコープを含むことができる。少なくとも1つのセンサー235はまた、地球の磁場に対するデバイスの方位を決定することができるコンパスとして機能することができる磁力計を含むことができる。少なくとも1つのセンサー235はまた、指紋センサーまたはデバイスのユーザからバイオメトリック読取値を入手するために使用され得、デバイス上のコンテンツをロックおよび/もしくはロック解除するためのパスワードとして使用され得る他のタイプのセンサーなど、他のタイプのセンサーを含むことができる。コンピューティングデバイス120または構成コンピューティングデバイス180は、デバイスおよびそれのコンテンツを保護するために、本明細書で論じる所定の動きパターンに加えて、バイオメトリック読取値を使用するように構成され得る。
少なくとも1つのセンサー235はまた、デバイスが位置する高度を決定するために使用され得る、デバイスの周りの大気圧を測定するために使用され得る圧力センサーを含むことができる。少なくとも1つのセンサー235はまた、軸方向寸法で速度の変動を測定するために使用され得る1つまたは複数の加速度計を含むことができる。少なくとも1つのセンサー235はまた、コンピューティングデバイス120の回転を検出するための回転ベクトルセンサーを含むことができる。少なくとも1つのセンサー235はまた、ユーザ入力および/またはユーザの体もしくは他のオブジェクトの一部分との接触など、触覚入力を測定するためのタッチスクリーンを含むことができる。
プロセッサ210は、インテリジェントデバイス、たとえば、パーソナルコンピュータ中央処理装置(CPU)、マイクロコントローラ、特定用途向け集積回路(ASIC)などであり得る。メモリ260は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、またはそれらの組合せを含み得る、非一時的記憶デバイスである。メモリ260は、本明細書で説明する機能を実行するようにプロセッサ210を制御するための命令を含むプロセッサ可読、プロセッサ実行可能ソフトウェアコードを記憶することができる(ただし、説明ではソフトウェアが機能を実行すると述べる場合がある)。ソフトウェアは、ネットワーク接続を介してダウンロードされること、ディスクからアップロードされることなどによってメモリ260にロードされ得る。さらに、ソフトウェアは、たとえば、実行前にコンパイルが必要など、直接的に実行可能ではない場合がある。
メモリ260内のソフトウェアは、ワイヤレス送信機115、ワイヤレス基地局140、他のモバイルデバイスへのデータの送出および/またはそれらからのデータの受信を実施することを含む様々なアクションをプロセッサ210が実行することを可能にするように構成される。メモリ260内のソフトウェアはまた、プロセッサ210が図4〜図12に示すプロセスのすべて、またはそれらのうちの1つもしくは複数の一部分を実行することを可能にするように構成され得る。本明細書で論じる機能ユニットは、ソフトウェアにおいて、ハードウェアにおいて、または限定はしないが、アナログおよび/もしくはデジタル回路を含む、ソフトウェアおよびハードウェアの組合せにおいて実装され得る。
図3は、図2に示したメモリ260の機能ユニットを示す、図2に示したコンピューティングデバイス120または構成コンピューティングデバイス180の機能ブロック図である。たとえば、コンピューティングデバイス120または構成コンピューティングデバイス180は、認証ユニット362およびデータアクセスユニット366を含むことができる。コンピューティングデバイス120または構成コンピューティングデバイス180はまた、デバイスに他の機能を提供する1つまたは複数の追加の機能ユニットを含むことができる。図3に示す機能ユニットは、プロセッサ210によって実行され得るメモリ260またはデバイスの別のメモリに記憶されたプロセッサ実行可能命令を含むソフトウェアとして実装され得る。図3に示す機能ユニットはまた、プロセッサ210の構成要素またはプロセッサ210とは別個の構成要素であり得る、デバイスのハードウェア構成要素として実装され得る。図3に示す機能ユニットはまた、ハードウェア構成要素およびソフトウェア構成要素の組合せとして実装され得る。図2および図3に示す例示的なデバイスは、図4〜図12に示すプロセスに関連してコンピューティングデバイス120または構成コンピューティングデバイス180を実装するために使用され得る。
認証ユニット362は、図4〜図12に示すものを含む、本明細書で開示する様々な技法を実行するための手段を提供するように構成され得る。認証ユニットは、デバイスのタッチスクリーンから信号を受信するように、またタッチスクリーンから受信された信号に基づいてデバイスとの接触を検出するように構成され得る。認証ユニットはまた、タッチスクリーンとの接触を、接触が所定の動きパターンと一致するかどうかを判断するために監視するように、またタッチスクリーンとの接触が所定の動きパターンと一致することに応答して、1つまたは複数の所定のアクションを実行するように構成され得る。所定の動きパターンは、枢動点によって分けられる複数の所定の動きを含むことができる。枢動点は、第1の動きタイプから第2の動きタイプへの所定の動きパターンにおける遷移点を表す。タッチスクリーンとの接触は、複数の所定の動きの間で維持される必要がない。タッチスクリーンとの接触は、少なくとも1つの枢動点、第1の動きタイプの第1のインスタンスと第1の動きタイプの第2のインスタンスとの間、または第2の動きタイプの第1のインスタンスと第2の動きタイプの第2のインスタンスとの間のうちの1つまたは複数において切断され得る。所定の動きパターンのタイプおよび関連する1つまたは複数の所定のアクションのいくつかの例については、図4〜図12に示すプロセスに関して詳細に論じる。
認証ユニット362は、コンピューティングデバイス120のタッチスクリーンおよび/もしくはコンピューティングデバイス120の別のディスプレイ上に印を表示するように、かつ/またはコンピューティングデバイス120のユーザにオーディオおよび/もしくはハプティックフィードバックを提示するように構成され得る。コンピューティングデバイス120のユーザに表示および/または提示された印は、所定の動きパターンにおける枢動点を識別するために使用され得る。これらの概念については、図9〜図11に示す例の論述においてさらに詳しく述べる。
コンピューティングデバイス120の認証ユニット362は、コンピューティングデバイス120およびそれのコンテンツを保護するために、本明細書で論じる所定の動きパターンに加えて、少なくとも1つのセンサー235によって入手されたバイオメトリック読取値を使用するように構成され得る。
認証ユニット362は、構成コンピューティングデバイス180に含まれるとき、複数のコンピューティングデバイスにわたって使用され得る1つまたは複数の所定の動きパターンを構成コンピューティングデバイス180が捕捉することができる、図12に示すプロセスを実装するための手段を提供することができる。認証ユニット362は、コンピューティングデバイス120、構成コンピューティングデバイス180、および/またはユーザに関連する任意の他のコンピューティングデバイス上で使用され得る1つまたは複数の所定の動きパターンを捕捉するために使用され得るユーザインターフェースを提供することができる。ユーザインターフェースはまた、コンピューティングデバイス120上で各所定の動きパターンが入力されたことに応答して行われるべき1つまたは複数のアクションをユーザが定義することを可能にし得る。認証ユニット362はまた、ロケーションサーバ160またはコンピューティングデバイス120に関連するネットワークサービスプロバイダなどの別のネットワークエンティティ上に位置し得るコンピューティングデバイス120および/またはコンピューティングデバイス120のユーザに関連するセキュリティアカウントにユーザがログインすることを可能にするインターフェースを提供するように構成され得る。所定の動きパターンおよび所定の動きパターンに応答して実行されるべき関連アクションに関連する情報は、セキュリティアカウントに関連付けられ得、セキュリティアカウントは、セキュリティアカウントに関連する1つまたは複数のコンピューティングデバイスに情報を広めるために使用され得る。認証ユニット362は、ワイヤードまたはワイヤレス接続を通じて直接または間接的に1つまたは複数のコンピューティングデバイス120に、所定の動きパターンに関連する情報を送るように構成され得る。認証ユニット362によって提供されるユーザインターフェースは、情報が送られるべきコンピューティングデバイス120など、1つまたは複数のコンピューティングデバイスの識別子をユーザが入力することを可能にするように構成され得る。セキュリティアカウントはまた、セキュリティアカウントに関連するコンピューティングデバイスの選択されたサブセットにいくつかの所定の動きパターンが関連付けられることを可能にするインターフェースを含むことができる。
認証ユニット362はまた、1つまたは複数の所定の動きパターンおよび所定の動きパターンの各々に応答して行うべき1つまたは複数のアクションをユーザが記録することを可能にするユーザインターフェースを提供するように構成され得る。認証ユニット362はまた、ユーザが1つまたは複数のロケーションを所定の動きパターンに関連付けることを可能にするように構成され得、各ロケーションは、コンピューティングデバイス120がそのロケーションにあることに応答して実行されるべき1つまたは複数の所定のアクションを有し得る。認証ユニット362は、デバイスのロケーションに基づいて、所定の動きパターンに関連するアクションを有効化および/または無効化するように構成され得る。
1つまたは複数の所定のアクションは、コンピューティングデバイス120または構成コンピューティングデバイス180が実行することが可能である多種多様なアクションを含む。1つまたは複数のアクションは、コンピューティングデバイスまたは1つもしくは複数のアプリケーションのコンテンツ、アプリケーションおよび/または一定の機能を解読すること、ならびに/あるいはそれらへのアクセスをロック解除することを含むことができる。1つまたは複数のアクションはまた、デバイス上の1つまたは複数のアプリケーションを開始することを含むことができる。以下の例は、所定の動きパターンに関連付けられ得るアクションのタイプのいくつかを示す。ただし、1つまたは複数の所定のアクションは、これらの特定の例に限定されない。
所定の動きパターンは、ロック解除コードであってよく、認証ユニット362は、タッチスクリーンとの接触がロック解除コードと一致することに応答して、1つまたは複数の所定のロック解除アクションを実行するように構成され得る。1つまたは複数の所定のアクションは、コンピューティングデバイス上の1つまたは複数のアプリケーションへのアクセスをユーザに提供することを含むことができる。1つまたは複数のアプリケーションは、財務アプリケーションなどの機密データに関連付けられ得、またはデジタル著作権管理(DRM)保護コンテンツなどの保護コンテンツに関連付けられ得る。認証ユニット362はまた、ロック解除コードが入力されたことに応答して、1つまたは複数のアプリケーションを開始するように構成され得る。
認証ユニット362は、アプリケーション、ファイル、または他のコンテンツもしくは機能へのアクセスを、アプリケーション、ファイル、または他のコンテンツに関連するロック解除コードが入力されると永続的にロック解除するように構成され得る。認証ユニット362は、アプリケーション、ファイル、または他のコンテンツもしくは機能へのアクセスを、ロック解除コードが入力されると所定の時間期間にわたりロック解除するように構成され得る。認証ユニット362はまた、アプリケーション、ファイル、または他のコンテンツへのアクセスを、コンピューティングデバイス120がロック状態に置かれるまで、ユーザがコンピューティングデバイス120からログアウトするまで、かつ/またはコンピューティングデバイス120がシャットダウンもしくは再起動されるまでロック解除するように構成され得る。
ロック解除コードは、コンピューティングデバイス120、コンピューティングデバイス120上に記憶されたコンテンツもしくはアプリケーション、コンピューティングデバイス120および/もしくはコンピューティングデバイス120上に記憶されたアプリケーションに関連する構成パラメータ、ならびに/またはコンピューティングデバイス120および/もしくはコンピューティングデバイス120上に記憶された1つもしくは複数のアプリケーションを動作させることに関連する1つもしくは複数の所定の特権レベルのうちの所定の特権レベルへのアクセス、あるいはネットワーク接続を介したアクセスを制御するように構成され得る。認証ユニット362は、コンピューティングデバイス120がユーザ入力を受け入れないロック状態からコンピューティングデバイス120がユーザ入力を受け入れるロック解除状態にコンピューティングデバイス120を移行させるように構成され得る。
認証ユニット362は、認証ユニット362上に記憶されたアプリケーション、ファイル、または他のコンテンツへのアクセスをロック解除するように構成され得る。認証ユニット362はまた、ファイルに関連する正しい所定の動きパターンがコンピューティングデバイス120のユーザによって実行されていることに応答して、暗号化ファイルを解読するように構成され得る。認証ユニット362はまた、アプリケーションへのアクセスを制御するために、所定の動きパターンが関連付けられるアプリケーションの実行を可能にするように構成され得る。認証ユニット362はまた、所定の動きパターンが入力されたことに応答して、所定の動きパターンが関連付けられる構成ファイルまたはデータへのアクセスを可能にするように構成され得る。
認証ユニット362はまた、所定の動きパターンが入力されたことに応答して、デバイスにコンテンツをダウンロードするように、またはデバイスにコンテンツをダウンロードするユーザの能力をロック解除するように構成され得る。たとえば、認証ユニット362はまた、デバイスにアプリケーションまたは他のコンテンツをダウンロードするためにアプリケーションストアまたは他のコンテンツプロバイダにアクセスするユーザの能力をロック解除するように構成され得る。認証ユニット362はまた、所定の動きパターンが入力されたこと、または費用がかかり得るサービスに応答して、有料ダウンロードまたはアプリ内購入などの有料コンテンツへのアクセスをロック解除するように構成され得る。たとえば、認証ユニット362は、デバイス上でモバイルデータサービスを利用するために、または有料もしくはセンシティブなウェブサイト、たとえば、出会い系サイトもしくは他のサービスにアクセスするために、アクセスをロック解除するように構成され得る。
認証ユニット362はまた、ユーザがデバイスから支払いまたは購入を行う能力にアクセスする能力をロック解除するように構成され得る。たとえば、認証ユニット362は、モバイル決済および/またはデジタルウォレットサービスを使用して購入の支払いをするためにデバイスを使用する能力をロック解除するように構成され得る。認証ユニット362はまた、デバイスが再びロックされるまで、または所定のタイムアウト期間が経過するまで、ユーザが支払いサービスにアクセスすることを可能にするように構成され得る。
認証ユニット362は、ロック解除コードが入力されたことに応答して、特定のモードでコンピューティングデバイス120を動作させるように構成され得る。たとえば、認証ユニット362は、ユーザが、通常のユーザにとって本来利用可能ではないデバイスの部分にアクセスすること、およびかかる部分を構成することができるスーパーユーザまたは管理者モードで動作するように構成され得る。コンピューティングデバイス120は、コンピューティングデバイス120のいくつかの機能にアクセスする許可をそれぞれ有する複数のモードのうちの1つを動作させるように構成され得、各モードは、所定の動きパターンに関連付けられ得る。認証ユニット362は、第2の動作モードに関連する所定の動きパターンが入力されたことに応答して、第1の動作モードから第2の動作モードに切り替えるように構成され得る。一部のユーザがデバイス上でいくつかのアクションを実行することを制限され得る親の制御または他の同様の動作モードを有効化するために、異なる動作モードが使用されてもよい。認証ユニット362は、適切な所定の動きパターンを入力することによって、またはデバイスの動作モードを変更できるようにするユーザインターフェースをロック解除する所定の動きパターンを入力することによって、デバイスのモードが変更され得るように構成され得る。
所定の動きパターンは、強要コードであってよく、認証ユニット362は、タッチスクリーンとの接触が強要コードと一致することに応答して、1つまたは複数のアクションを実行するように構成され得る。コンピューティングデバイス120のコンテンツのすべてもしくは一部を暗号化すること、コンピューティングデバイス120のコンテンツのすべてもしくは一部を削除すること、コンピューティングデバイス120のコンテンツのすべてもしくは一部をクラウドにバックアップすること、および/またはコンピューティングデバイス120のロケーションをブロードキャストするビーコンを送ることなど、何らかのアクションが行われるべき緊急事態にコンピューティングデバイス120のユーザが直面していることを示すために、強要コードは使用され得る。強要コードは、1つまたは複数のアクションが実行されていることを示す指示が一切なく進む1つまたは複数のアクションに関連付けられ得る。たとえば、強要コードに関連する1つまたは複数の所定のアクションは、コンピューティングデバイス120のロケーションをブロードキャストするビーコンを送ること、緊急サービスに連絡すること、ならびに/またはコンピューティングデバイス120によって捕捉されたオーディオおよび/もしくはビデオコンテンツを送信することをデバイスに行わせるように構成され得る。認証ユニット362は、これらおよび/または他のアクションを、強要コードが入力されたことに応答して、コンピューティングデバイス120がそのようなアクションを行っていることを示す指示を提供することなく実行し、それにより、コンピューティングデバイス120のユーザとともにいることがある他者に支援要求および/または他のアクションが実行されていることをアラートするのを回避するように構成され得る。強要コードはまた、入力された場合に、強要コードに関連する進行中のアクションを停止するキャンセルコードに関連付けられ得、かつ/または、削除されたコンテンツを復元すること、および/もしくは暗号化コンテンツを解読することなど、強要コードに応答して実行されたアクションのうちの1つもしくは複数を反転させることができる。
認証ユニット362によって実行され得る1つまたは複数の所定のアクションのタイプの前述の例は、例示的であるものとし、認証ユニット362が実行するように構成され得るアクションのタイプの網羅的な列挙ではない。認証ユニット362は、提供された例に加えて、または提供された例の代わりに、他のタイプのアクションを実行するように構成されてよい。
データアクセスユニット366は、メモリ260および/またはデバイスに関連する他のデータス記憶デバイスにデータを記憶するように構成され得る。データアクセスユニット366は、メモリ260および/またはデバイスに関連する他のデータ記憶デバイス内のデータにアクセスするようにも構成され得る。データアクセスユニット366は、デバイスの他のユニットおよび/または構成要素から要求を受信するように、またメモリ260および/またはデバイスに関連する他のデータ記憶デバイスにデータを記憶し、かつ/あるいはそこに記憶されたデータにアクセスするように構成され得る。
図9、図10、および図11は、本明細書で開示する技法の概念を示す例を提供する。図9は第1の例示的な所定の動きパターンを示し、図10は第2の例示的な所定の動きパターンを示し、図11は第3の例示的な所定の動きパターンを示す。図9〜図11に示す例は、本明細書で論じる概念を示すものであり、本明細書で開示する技法を使用して実施され得る所定の動きパターンをこれらの特定の所定の動きパターンに限定するものではない。本明細書で使用する技法は、異なる動きタイプ、動きタイプの異なる順序を含むことができ、動きタイプは、異なる回数だけ繰り返され得る。認証ユニット362によって表示および/または提示される印のタイプも異なり得る。図9〜図11に示す所定の動きパターンは、コンピューティングデバイス120またはコンピューティングデバイス120上に記憶されたコンテンツをロック解除するためのロック解除コードとして使用され得る。図9〜図11に示す所定の動きパターンは、強要コードが入力されたことに応答して、コンピューティングデバイス120に1つまたは複数のアクションを行わせるための強要コードとして使用され得る。図9〜図11に示す例は、1つまたは複数の他のタイプの所定のアクションを実行するために使用されてもよく、本明細書で論じるロック解除コードおよび強要コードの例に限定されない。認証ユニット362はまた、図9〜図11に示すもののような、所定の動きパターンを捕捉および記録するためのインターフェースを提供することができる。ユーザは、所定の動きパターンを入力するプロセス全体を通じてタッチスクリーンとの接触を維持する必要がない。ユーザは、デバイスのスクリーンとの接触を維持している間に単一の動きにおいてパターン全体が入力される必要がある従来のパターンロックコードとは異なり、動きと動きとの間にスクリーンとの接触を切断することができる。さらに、ユーザは、所定の動きパターンの入力中にスクリーンを見る必要がない。たとえば、所定の動きパターンが固定であり、可変成分を有しない場合がある。ユーザは、所定の動きパターンを入力している間にコンピューティングデバイス120のタッチスクリーンを見る必要がない。たとえば、コンピューティングデバイス120は、スマートフォンまたはスマートウォッチであってよく、ユーザは、所定の動きパターンが入力されているのを他者が観測できないように、デバイスのタッチスクリーンを隠すことができる。たとえば、ユーザは、スマートフォンをポケットに入れ、タッチによって所定の動きパターンを入力することができる。
認証ユニット362は、複数のタイプのパターン入力技法が同時に使用され得るように構成され得る。たとえば、認証ユニットは、図9〜図11に示す技法の各々またはそれらの組合せがコンピューティングデバイス120上で認証ユニット362によって実施され得るように構成され得る。動きが入力されるごとに、認証ユニット362が入力パターンを、コンピューティングデバイス120および/またはコンピューティングデバイス120に関連するセキュリティアカウントに登録されているすべてのパターンと比較するように、認証ユニット362は構成され得る。パターン一致が検出された場合、認証ユニット362は、その所定の動きパターンに関連する1つまたは複数の所定のアクションを実行するように構成され得る。さらに、認証ユニット362は、コンピューティングデバイス120のユーザが所定のパターンを入力するための好ましい手法を選択することを可能にするように構成され得る。そのような手法を実装するために、認証ユニット362は、複数の所定の動きパターンを1つまたは複数の所定のアクションに関連付けるように構成され得る。ユーザは、これらの所定の動きパターンのいずれかを、所定の動きパターンが認証ユニット362によって実行されるように、入力することができる。たとえば、コンピューティングデバイスのユーザは、ロック解除コード、強要コード、もしくは図9〜図11に示す3つのタイプの技法のいずれかを使用し得る他のタイプのコード、またはそれらの組合せを作成することができる。認証ユニット362のユーザインターフェースは、ユーザが複数の所定の動きパターンを記録することと、指定された所定の動きパターンのいずれかが成功裏に入力されたことに応答して、これらの所定の動きパターンを同じ1つまたは複数の所定のアクションに関連付けることとを可能にするように構成され得る。
図9に示す例示的な所定の動きパターンは、特定の動きタイプが繰り返されるべき回数が固定である所定の動きパターンを含む。特定のパターンは、ユーザがスクリーンの少なくとも一部分にわたって特定の方向にスワイプすべき動きを含む。所定の動きパターンは、(1)左から右に3回スワイプすること、(2)下から上に3回スワイプすること、(3)上から下に1回スワイプすること、を含む。所定の動きパターンを成功裏に入力するためには、これらの動きの各々は、示された順序で、かつ示された正しい回数だけ実行されなければならない。誤った動きが入力された場合、または動きがあまりにも多くの回数繰り返された場合、認証ユニット362は、パターンが正しく入力されていないと判断するように構成され得、最初から所定の動きパターンの入力、または複数の所定の動きパターンがコンピューティングデバイス120上で使用されている場合に別の所定の動きパターンの入力がないか監視し始めるように構成され得る。
図9に示す例示的な所定の動きパターンは、905、910、915、920、925、930、935、および940の8段階を含む。段階905において、コンピューティングデバイス120の認証ユニット362は、コンピューティングデバイス120のタッチスクリーンで行われるべき接触が行われ、所定の動きタイプが入力されるのを待っている。この例では、認証ユニット362は、コンピューティングデバイス120のタッチスクリーン上に、特定の動きタイプが入力されている回数を示すインジケータを表示するように構成され得る。段階905において、何も入力されていない。デバイスは、ロック状態から目覚めていることがあり、ユーザは、ロックされたコードを使用してロックされているコンテンツにアクセスしようと試みていることがあり、ユーザは、コンピューティングデバイス120にコード入力インターフェースを表示させるインターフェースを開始していることがあり、ユーザは、誤ったロック解除コードもしくは強要コードを入力したことに伴って、コード入力をリセットするためにリセットオプションを選択していることがあり、または認証ユニット362にコード入力の開始状態に進ませるために何らかの他のアクションが行われていることがある。その場合、ロック解除コードを知っている許可されたユーザは、タッチスクリーン上で左から右に1回スワイプして段階910に達し得る。認証ユニット362は、動きが1回入力されたことを示すために表示または提示されている印を更新するように構成され得る。次いで、ユーザは進んで、再び左から右にスワイプして段階915に達し、再び左から右にスワイプして段階920に達し得る。認証ユニット362は、コンピューティングデバイス120のユーザに表示および/または提示されている印を更新するように構成され得る。図9に示す例では、印は、動きが特定の方向に連続して入力されるたびに表示されるカウンタを含む。ユーザが所定の動きパターンから逸脱していて、たとえば、下から上に、左から右に、または上から下に段階915の後にスワイプしていた場合、認証ユニット362は、動きが1回実行されたことを示すために表示および/または提示される印を更新していた可能性がある。
段階920において、ユーザは、左から右に3回スワイプすることによって、所定の動きパターンの第1の部分を正しく入力している。ユーザは今や、所定の動きパターンにおける枢動点に達していて、ユーザは今や、この例では左から右にスワイプする第1の動きタイプから、この例では下から上にスワイプすることである第2の動きタイプに切り替えなければならない。認証ユニット362は、所定の動きパターンを推測するために許可されていないユーザによって使用される可能性がある、ユーザが所定の動きパターンにおける枢動点に達したことを示すオーディオ、視覚、またはハプティックフィードバックを一切提供しないように構成され得る。この例において認証ユニット362によって提供されたオーディオ、視覚、および/またはハプティック印は、入力された動きが正しいかどうかではなく、特定の動きがユーザによって入力されている回数を追跡するために使用され得る。段階920において、ユーザは、下から上にスワイプし始めることができる。所定の動きパターンは、この動きタイプが3回実行されることを含む。ユーザは、下から上にもう1回スワイプして段階925から段階930に移り、再びスワイプして段階930から段階935に移る。その場合、所定の動きパターンにおける第2の枢動点に達して、ユーザは、下から上にスワイプすることである第2の動きタイプから、上から下にスワイプすることである第3の動きタイプに切り替えなければならない。ユーザは、上から下にスワイプして段階935から段階940に移る。段階940において、所定の動きパターンは成功裏に完全に入力されており、認証ユニット362は、所定の動きパターンがユーザによって成功裏に入力されていることに応答して、ロック解除アクションまたは1つもしくは複数の他の所定のアクションを実行するように構成され得る。認証ユニット362は、ロック解除アクションまたは1つもしくは複数の他の所定のアクションを実行する前に、所定の動きパターンがユーザによって成功裏に入力されていることを示すためにオーディオ、視覚、および/またはハプティックフィードバックを提供するように構成され得る。
図10に示す例示的な所定の動きパターンは、特定の動きタイプが繰り返されるべき回数が可変である所定の動きパターンを含む。したがって、認証ユニット362は、所定の動きパターンにおける枢動点に達していることをユーザにアラートするオーディオ、視覚、および/またはハプティック印であり得る1つまたは複数の印を提供する。認証ユニット362によって表示または提供される印は、枢動点を示さない他の「誤りの」印が点在している。許可されたユーザは、所定の動きパターンに含まれる動きタイプ、および枢動点に達し、シーケンスにおける次の動きタイプに達したときに示す印の事前知識を有する。図10に示す例示的な所定の動きパターンは、表示された印のシーケンスに基づく1005、1010、1015、1020、1025、1030、1035、1040、1045、および1050の10段階を含む。可変である所定の動きパターンを完了させるために必要な段階の数は、所定の動きパターンが入力されるべき今回において動きの各々が実行されるべき回数に依存する。したがって、同じシーケンスを入力するために必要な段階の数は、同じ所定の動きパターンが将来入力されるときに、図10の例における10段階よりも多いことも少ないこともある。
段階1005において、コンピューティングデバイス120の認証ユニット362は、図9に示す例と同様に、コンピューティングデバイス120のタッチスクリーンで行われるべき接触が行われ、所定の動きタイプが入力されるのを待っている。認証ユニット362は、ユーザが動きの誤ったシーケンスを入力した場合に、段階1005においてさらに繰り返してシーケンスを開始するように構成されてもよく、図10の例において表示される数字0の代わりに新しい誤りの印が表示されてよい。認証ユニット362は、シーケンスを推測するために使用され得る手がかりを許可されていないユーザに提供するのを回避するために、シーケンスが入力されるたびに誤りの印を変更することができる。図10における例示的な所定の動きパターンは、(1)第2の文字「A」が表示されるまで左から右にスワイプすること、(2)第1の数字「3」が表示されるまで下から上にスワイプすること、(3)第2の文字「C」が表示されるまで上から下にスワイプすること、を含む。所定の動きパターンを成功裏に入力するためには、これらの動きの各々は、枢動点に達していることを示す適正な印が表示されるまで、示された順序で、かつ正しい回数だけ実行されなければならない。図10に示す例では、ユーザは、第2の文字「A」が現れるまで左から右にスワイプし続けなければならない。したがって、ユーザは、所定の動きパターンにおける第1の枢動点に達するために左から右に3回、すなわち、段階1005から1010に移るために1回、段階1010から段階1015に移るために1回、そして最後に段階1015から段階1020に移るためにもう1回スワイプする。ユーザは、第1の文字「A」が左から右にスワイプすることである第1の動きタイプから下から上にスワイプすることである第2の動きタイプにユーザが切り替えるべきであることを示す枢動点として機能するという事前知識を有する。次いで、ユーザは、第1の数字「3」に達するまで下から上にスワイプする。この例では、ユーザは、枢動点に達するために下から上に3回、すなわち、段階1020から1025に移るために1回、段階1025から段階1030に移るために1回、そして段階1030から第2の枢動点に達する段階1035に移るためにもう1回スワイプする。ユーザは、第1の数字「3」が下から上にスワイプすることである第2の動きタイプから上から下にスワイプすることである第3の動きタイプにユーザが切り替えるべきであることを示す枢動点として機能するという事前知識を有する。次いで、ユーザは、第2の文字「C」に達するまで上から下にスワイプする。この例では、ユーザは、第2の枢動点から所定の動きパターンの終了に達するために上から下に3回、すなわち、段階1035から1040に移るために1回、段階1040から段階1045に移るために1回、そして段階1045から所定の動きパターンの終了に達する段階1050に移るためにもう1回スワイプする。段階1050において、所定の動きパターンは成功裏に完全に入力されており、認証ユニット362は、所定の動きパターンがユーザによって成功裏に入力されていることに応答して、ロック解除アクションまたは1つもしくは複数の他の所定のアクションを実行するように構成され得る。認証ユニット362は、ロック解除アクションまたは1つもしくは複数の他の所定のアクションを実行する前に、所定の動きパターンがユーザによって成功裏に入力されていることを示すためにオーディオ、視覚、および/またはハプティックフィードバックを提供するように構成され得る。
図11に示す例示的な所定の動きパターンは、特定の動きタイプが繰り返されるべき回数が可変である所定の動きパターンを含み、所定の動きパターンに含まれる動きタイプは固定ではない。図10に示す技法と同様に、図11に示す技法では、認証ユニット362は、所定の動きパターンにおける枢動点に達していることをユーザにアラートするオーディオ、視覚、および/またはハプティック印であり得る1つまたは複数の印を提供する。認証ユニット362によって表示または提供される印は、枢動点を示さない他の「誤りの」印が点在している。図11に示す技法と図10に示す技法との間で異なるのは、所定の動きパターンが随意に、枢動点の前、枢動点の後、または枢動点と枢動点との間に特定の動きタイプを必要としなくてよいことである。認証ユニット362は、枢動点においてセグメントに分割される所定の動きのシーケンスおよび各枢動点に関連する1つまたは複数の印を示すインターフェースを提供するように構成され得る。インターフェースは、ユーザがセグメントを選択すること、および特定の動きタイプがそのセグメントにおいて必要とされるかどうかを示すことを可能にすることができ、その動きを指定することができ、またはセグメントがいかなる特定の動きタイプも必要としないことを示すことができる。いかなる特定の動きタイプも必要としないセグメントの場合、ユーザは、任意の動きタイプを入力することができ、認証ユニット362は、各動きに応答して、1つまたは複数の動的に更新される印を更新するように構成され得る。枢動点に関連する1つまたは複数の印に達したとき、認証ユニット362は、特定の動きタイプが識別されているかどうかを判断するために、タッチスクリーンとの接触を監視するように構成され得る。図11に示す例では、認証ユニット362は、枢動点に達していることをユーザが認識していることを示すユーザからのタップまたはタップのシーケンスを探すように構成され得る。認証ユニット362は、タップのシーケンスを使用することに加えて、または使用する代わりに、他の動きタイプを利用するように構成され得る。
図11に示す例は、セグメントのいずれもそれらに関連する固定の動きタイプを有しない、所定の動きパターンを示す。したがって、ユーザは、認証ユニット362に次の動的に更新される印に進ませるために、任意のタイプの認識された動きを行うことができるが、ユーザは、この例では、コンピューティングデバイス120のタッチスクリーン上での1本指または2本指のタップにより、枢動点に関連する1つまたは複数の印の出現を確認しなければならない。図11に示す例示的な所定の動きパターンは、表示された印のシーケンスに基づく1105、1110、1115、1120、1125、1130、1135、1140、1145、および1150の10段階を含む。可変である所定の動きパターンを完了させるために必要な段階の数は、所定の動きパターンに枢動点がいくつ含まれるか、任意のシーケンスが固定の動きタイプおよび/またはその動きの固定の繰り返し数を有するかどうか、および設定された動きタイプがないか、または特定の動きタイプに関して設定された繰り返し数がない枢動点と枢動点との間に認証ユニット362が誤りの印をいくつ表示するか、に依存する。したがって、同じシーケンスを入力するために必要な段階の数は、同じ所定の動きパターンが将来入力されるときに、図11の例における10段階よりも多いことも少ないこともある。
図11における例示的な所定の動きパターンは、(1)第2の文字「A」が表示されるまで任意の方向にスワイプすること、または他の入力ジェスチャー、(2)枢動点に達していることに確認応答するために2本指でタップする、(3)第1の数字「3」が表示されるまで任意の方向にスワイプすること、または他の入力ジェスチャー、(4)枢動点に達していることに確認応答するために1本指でタップする、(5)第2の文字「C」が表示されるまで任意の方向にスワイプすること、または他の入力ジェスチャー、および(6)枢動点に達していることに確認応答するために2本指でタップする、を含む。例示的なシーケンスは段階1105で始まる。ユーザは、任意の方向にスワイプするか、または枢動点に達していることを示すために予約されていない任意の他の入力ジェスチャーを使用して、段階1110、1115、および1120を進んで、第1の枢動点に達することができる。次いでユーザは、2本指のタップジェスチャーを使用して、第1の枢動点に達していることを示すことができる。認証ユニット362は、ユーザが枢動点を正しく識別していることを認識し、引き続き段階1125に進む。ユーザはもう一度、任意の方向にスワイプするか、または枢動点に達していることを示すために予約されていない任意の他の入力ジェスチャーを使用することによって、段階1130および1135を進むことができる。次いでユーザは、1本指のタップジェスチャーを使用して、第2の枢動点に達していることを示すことができる。認証ユニット362は、ユーザが第2の枢動点を正しく識別していることを認識し、引き続き段階1140に進む。ユーザは、任意の方向にスワイプするか、または枢動点に達していることを示すために予約されていない任意の他の入力ジェスチャーを使用して、段階1145および1150を進んで、この例では第3の最終枢動点に達することができる。次いでユーザは、2本指のタップジェスチャーを使用して、第3の枢動点に達していることを示すことができる。認証ユニット362は、ユーザが所定の動きパターンを正しく入力していることを認識し、その所定の動きパターンに関連する1つまたは複数の所定のアクションを実行する。枢動点が正しく識別されなかった場合、認証ユニット362は、パターンが正しく入力されていないと判断するように構成され得、最初から所定の動きパターンの入力、または複数の所定の動きパターンがコンピューティングデバイス120上で使用されている場合に別の所定の動きパターンの入力がないか監視し始めるように構成され得る。
図9〜図11に示す例示的な所定の動きパターンは、固定および可変の所定の動きパターンがどのように使用され得るかを示すために提供されている。所定のパターンに含まれ得る動きタイプ、そのような動きタイプの順序、およびそのような動きが実行されるべき回数は、本明細書で開示する例とは異なってよい。モバイルデバイス上に表示された形状の回転など、他の動きタイプが使用されてよく、円の動きおよび/または対角方向の動きが所定の動きパターンに含まれてもよい。
さらに、所定の動きパターンに含まれる枢動点の数は、本明細書で論じる例に含まれる枢動点の数よりも多くても少なくてもよい。認証ユニット362は、色、パターン、文字、形状、数字、音、ハプティックフィードバック、またはコンピューティングデバイス120の許可されたユーザに知られている他のインジケータのうちの1つまたは複数を含む少なくとも1つの動的に更新されるインジケータを表示または提示するように構成され得る。さらに、認証ユニット362によって表示および/または提示される印は、図9〜図11において提供した例に限定されない。さらに、いくつかの実装形態では、固定の所定の動きパターンを使用して、認証ユニット362は、コンピューティングデバイス120のユーザに印を一切表示または提示しないように構成され得る。そのような実装形態では、ユーザは、所定の動きパターンを入力することができ、コンピューティングデバイス120は、パターンの入力が成功すると、所定の動きパターンに関連する1つまたは複数の所定のアクションを実行することができる。そのような手法は、許可されていないユーザにフィードバックを一切提供せず、コンピューティングデバイス120の許可されていないユーザの肩越しに見ている人は、所定の動きパターンにおける枢動点がどこに位置するかの明示的な指示を有しない。
図4は、本明細書で論じる技法による、コンピューティングデバイスを保護するための例示的なプロセスの流れ図である。図4に示すプロセスは、別段示されない限り、図1〜図3に示したコンピューティングデバイス120を使用して実装され得る。コンピューティングデバイス120の認証ユニット362は、別段示されない限り、図4に示すプロセスの様々な段階を実行するための手段を提供することができる。
コンピューティングデバイス120のタッチスクリーンとの接触が検出され得る(段階405)。認証ユニット362は、コンピューティングデバイス120のタッチスクリーンから信号を受信するように、またタッチスクリーンから受信された信号に基づいてコンピューティングデバイス120との接触を検出するように構成され得る。タッチスクリーンは、指先、スタイラス、または他の入力デバイスを使用してタッチスクリーンの表面上の位置にタッチすることによって、コンピューティングデバイス120のユーザに応答して信号を生成するように構成され得る。信号情報は、タッチが発生したタッチスクリーン上の位置を識別することができる。タッチスクリーンは、複数の接触点を検出するように、またタッチスクリーンで複数の接触点が作られていることを示す信号を出力するように構成され得る。複数の同時接触点をサポートするタッチスクリーンは、認証ユニット362および/またはコンピューティングデバイス120の他の構成要素によって要求されたアクションに変換され得る入力を生成するために複数の接触点が使用される「マルチタッチ」ジェスチャーの使用を容易にすることができる。
タッチスクリーンとの接触は、接触が所定の動きパターンと一致するかどうかを判断するために監視され得る(段階410)。所定の動きパターンは、枢動点によって分けられる複数の所定の動きを含むことができ、枢動点は、第1の動きタイプから第2の動きタイプへの所定の動きパターンにおける遷移点を表す。タッチスクリーンとの接触は、所定の動きの各々の間で維持される必要がない。タッチスクリーンとの接触は、少なくとも1つの枢動点、第1の動きタイプの第1のインスタンスと第1の動きタイプの第2のインスタンスとの間、または第2の動きタイプの第1のインスタンスと第2の動きタイプの第2のインスタンスとの間のうちの1つまたは複数において切断され得る。タッチスクリーンとの接触は、前述の例に加えて、または前述の例の代わりに、所定の動きパターンにおける別の点において切断され得る。所定の動きパターンは、コンピューティングデバイス120のいくつかの機能へのアクセスを制限するために使用され得る。所定の動きパターンは、コンピューティングデバイス120がロック状態にある場合にコンピューティングデバイス120をロック解除するために使用され得るロック解除コードとして使用され得る。所定の動きパターンはまた、コンピューティングデバイス120上のコンテンツにアクセスするためのロック解除コードとして使用され得る。たとえば、認証ユニット362は、コンピューティングデバイス120上のファイルのコンテンツを暗号化するように構成され得、所定の動きパターンは、ファイルのコンテンツを解読するために使用され得る鍵として機能し得る。所定の動きパターンはまた、コンピューティングデバイス120上のアプリケーションまたは他の実行可能コンテンツにアクセスするための鍵として使用され得る。たとえば、親はアプリケーションを、子供がコンピューティングデバイス120上のそのアプリケーションにアクセスするのを防ぐために鍵として所定の動きパターンを使用して、ロックすることができる。コンピュータ管理者も、コンピューティングデバイス120上の構成ツールまたは構成ファイルへのアクセスを、ツールまたは構成ファイルをロック解除するために使用され得る鍵として所定の動きパターンを使用して、ロックすることができる。本明細書で提供する例は、コンピューティングデバイス120および/またはそこに記憶されたコンテンツをロックするために所定の動きパターンがどのように使用され得るかのいくつかの例にすぎず、本明細書で開示する技法をこれらの特定の例に限定するものではない。認証ユニット362は、ユーザにロック解除コードを入力するよう指示するユーザインターフェースを提供するように構成され得る。たとえば、認証ユニット362は、コンピューティングデバイス120がロック状態にある間にユーザ入力に応答して、ユーザにロック解除コードを入力するよう指示するユーザインターフェースを提示するように構成され得る。認証ユニット362は、ユーザがロック解除コードによりロックされたアプリケーションを実行しようと試みていること、またはロック解除コードによりロックされたファイルもしくは他のコンテンツにアクセスしようと試みていることに応答して、ユーザにロック解除コードを入力するよう指示するユーザインターフェースを表示するように構成され得る。
図9〜図11に関して上記で論じたように、所定の動きパターンは、コンピューティングデバイス120のユーザによって、コンピューティングデバイス120のタッチスクリーン上に表示された形状を操作することによって入力され得、またはコンピューティングデバイス120のユーザによって提供されるいかなる視覚フィードバックもなく入力され得る。所定の動きパターンは少なくとも、少なくとも1つの枢動点によって分けられる第1の動きタイプおよび第2の動きタイプを含み、各動きタイプは、所定の動きパターンにおいて複数回繰り返され得る。特定の動きが繰り返されるべき回数は、固定または可変であり得る。特定の動きが繰り返されるべき回数が固定である場合、動きパターンは、完全に所定のものであり、パターンを入力するユーザに事前に知られていてよい。特定の動きが繰り返されるべき回数が可変である場合、所定の動きパターンに含まれるべき動きタイプは、パターンを入力するユーザに事前に知られていてよいが、動きタイプの各々が実行されるべき回数は事前に知られていない。代わりに、認証ユニット362は、枢動点に達していることをユーザに示す少なくとも1つの動的に更新されるインジケータを提供するように構成され得る。少なくとも1つの動的に更新されるインジケータは、色、文字、形状、数字、音、ハプティックフィードバック、または所定の動きパターンを入力する前にユーザに知られている他のインジケータのうちの1つまたは複数であり得る。所定の動きパターンのセキュリティは、鍵として所定の動きパターンを使用して保護されるデバイス、ファイル、アプリケーション、または他のコンテンツへの不正アクセスを得て作るために、所定の動きパターンに含まれる動きタイプのうちの1つまたは複数の可変数の繰り返しを追加することによって高められ得る。
以下の例は、所定の動きパターンに含まれる動きタイプのうちの1つまたは複数に関する各動きの固定数の繰り返しを有する場合と可変数の繰り返しを有する場合の所定の動きパターンの概念を示す。
第1の例示的な所定の動きパターンは、ユーザが形状を時計回りに3回回転させ(第1の動きタイプ)、その後、形状を上から下に2回回転させる(第2の動きタイプ)ことを必要とする。動きタイプの各々が実行されるべき回数は、パターンが認証ユニット362によって作成されたか、またはユーザによって記録された時点で所定のものとなっている。枢動点は、第1の動きタイプから第2の動きタイプへの変更が発生する点を表す。この例では、枢動点は、形状が時計回りに3回回転した後に発生する。次いでユーザは、認証ユニット362によって検出される次の接触タイプとして、形状を下から上に回転させなければならない。そうでない場合、認証ユニット362は、監視されている接触が所定の動きパターンと一致していないと判断する。
第2の例示的な所定の動きパターンは、ユーザが形状を時計回りに第1の可変回数だけ回転させ(第1の動きタイプ)、その後、形状を上から下に第2の可変回数だけ回転させる(第2の動きタイプ)ことを必要とする。動きタイプの各々が実行されるべき回数は、認証ユニット362によって、ランダムまたは擬似ランダムアルゴリズムを使用して決定され得る。認証ユニット362は、あまりにも短くて攻撃されやすい可能性があるコードを回避しながらも、許可されたユーザに極度に長い所定の動きパターンで過度に負担をかけるのを回避するために、各動きタイプの繰り返し数を、限定はしないが1回から10回など、値の所定の範囲内に留めるように構成され得る。所定の動きパターンと一致するために動きタイプの各々が実行されなければならない回数は、ユーザに事前に知られていない。代わりに、認証ユニット362は、入力が予想される動きタイプであるか、誤った動きタイプであるかを問わず、入力運動が検出されるたびに更新される動的に更新される印をタッチスクリーン上に表示するように構成され得る。認証ユニット362は、ユーザが第2の動きタイプに進むべきであることをユーザにシグナリングするために必要な回数だけユーザが第1の動きタイプを実行したときに、第1の既知の印を表示するように、または既知の可聴もしくはハプティックフィードバックを提供するように構成され得る。認証ユニット362は、第2の動きタイプが必要な回数だけ実行されたときに、第2の既知の印を表示するように構成され得、または追加のフィードバックを提供せずに段階415に進むことができる。
以下では、動的に更新される印の概念を示すために、ユーザが形状を時計回りに第1の可変回数だけ回転させ(第1の動きタイプ)、その後、形状を上から下に第2の可変回数だけ回転させる(第2の動きタイプ)ことを必要とする所定の動きパターンを有する例についてさらに詳しく述べる。認証ユニット362は、ユーザが形状を時計回りに必要な回数だけ回転させると、枢動点に達したことを示すインジケータとして青の文字「A」を表示するように構成され得る。認証ユニットは、ユーザが形状を上から下に必要な回数だけ回転させたことを示すインジケータとしてオレンジの数字「6」を表示するように構成され得る。許可されたユーザは、ユーザが所定の動きパターンを、パターンにおける各動きタイプが実行されるべき回数の事前知識を有することなく入力できるように、事前にこれらの印を提供される。認証ユニット362は、枢動点ではないユーザによって入力された動きごとに表示または提示されるべきインジケータまたは印を選択するために、ランダム関数または擬似ランダム関数を使用するように構成され得る。認証ユニット362は、非枢動点において表示または提示されるべきインジケータまたは印が、所定のパターンを入力するユーザを混乱させるのを回避するために、枢動点において表示されるべきものと異なるが、非枢動点において表示またはさもなければ提示される印が、所定の動きパターンにおける枢動点と非枢動点とを区別することによって、許可されていないユーザが所定の動きパターンを発見するのを支援し得る手がかりを提供しないように選択されるべきであるように構成され得る。認証ユニット362は、視覚フィードバックに加えてハプティックフィードバックおよび/またはオーディオフィードバックを提示するように構成され得る。たとえば、認証ユニット362は、枢動点に達したときにシグナリングする視覚、ハプティック、および/またはオーディオ印の組合せを許可されたユーザが理解するように、所定の動きパターンの一部として含まれ得、許可されたユーザに事前に知られることになるハプティックフィードバックおよび/またはオーディオ信号のパターンを生成するように構成され得る。
タッチスクリーンとの接触が所定の動きパターンと一致することに応答して、1つまたは複数の所定のアクションが実行され得る(段階415)。ユーザが所定の動きパターンを正しく入力したことに応答して、1つまたは複数の所定のアクションが実行され得る。上記で論じたように、認証ユニット362は、複数の所定の動きパターンを認識するように構成され得、入力されている特定の所定の動きパターンに関連する1つまたは複数の所定のアクションを実行するように構成され得る。認証ユニット362によって実行され得る所定のアクションのタイプの何らかの例を示す例については、認証ユニット362および図3に関して上記で論じている。
認証ユニット362は、動きの所定のシーケンスに含まれる動きのシーケンスが正しく入力されていない場合に、認証ユニット362が、検出されたタッチスクリーンとの接触を所定の動きパターンとマッチングするプロセスを再び始めるように構成され得るように、構成され得る。認証ユニット362は、コンピューティングデバイス120の許可されていないユーザに、パターンを解明するために使用され得るフィードバックを提供するのを回避するために、ユーザが所定の動きパターンを入力している間に間違えた場合に認証ユニット362がいかなるフィードバックも提供しないように構成される。
図5は、本明細書で論じる技法による、所定の動きパターンが検出されているかどうかを判断するための例示的なプロセスの流れ図である。図5に示すプロセスは、別段示されない限り、図1〜図3に示したコンピューティングデバイス120を使用して実装され得る。コンピューティングデバイス120の認証ユニット362は、別段示されない限り、図5に示すプロセスの様々な段階を実行するための手段を提供することができる。図5に示すプロセスは、図4に示したプロセスの段階410の一部分を実装するために使用され得る。図5に示すプロセスは、第1の動きタイプを指すが、所定の動きパターンにおいて枢動点に達しているように、所定の動きパターン内の固定数の他の動きタイプ(たとえば、第2の動きタイプ、第3の動きタイプなど)が実行されているかどうかを判断するために、認証ユニット362によって使用され得る。
所定の動きパターンにおける枢動点の前に、第1の動きタイプが所定の回数だけ実行されているかどうかの判断が行われ得る(段階505)。上記で論じたように、所定の動きパターンに含まれる特定の動きタイプが実行されるべき回数は固定であり得、許可されたユーザは、各動きタイプが所定の動きパターンの一部として実行される回数を定めているか、または認証ユニット362によって決定された、動きタイプの各々が実行される回数を提供されている。認証ユニット362は、ユーザが第1の動きタイプなどの特定の動きを完了させた回数の累積カウントを行うように、また所定の動きパターンに含まれる第1の動きタイプと第2の動きタイプとの間で枢動点に達しているかどうかを判断するように構成され得る。ユーザが第1の動きタイプを所定の回数だけ実行していると認証ユニット362が判断した場合、認証ユニット362は、枢動点に達していると判断することができ、所定の動きパターンに含まれる第2の動きタイプがないか判断するために、タッチスクリーンとの接触を監視することができる。ユーザがまだ第1の動きタイプを所定の回数だけ実行していないと認証ユニット362が判断した場合、認証ユニット362は、ユーザが第1の動きタイプを入力し続けることを可能にするために、所定のタイムアウト期間にわたって待機するように構成され得る。ユーザは、所定の動きパターンを入力している間に一時的に中断させられていることがあり、ユーザは、所定の動きパターンを入力している間にタッチスクリーンとの継続的接触を維持する必要がある。したがって、ユーザが所定の動きパターンを入力している間に接触のわずかな中断が存在する可能性がある。さらに、認証ユニット362は、さらなる入力なしにタイムアウト期間が経過した場合、所定の動きパターンに関連する所定の回数を上回る回数だけユーザが第1の動きタイプを実行した場合、またはユーザが枢動点に達する前に異なる動きタイプを入力することに進んだ場合、ユーザが第1の動きタイプを所定の回数だけ実行していないと判断するように構成され得る。認証ユニット362は、タッチスクリーンとの接触がないか監視し続け、所定の動きパターンの最初からもう一度、所定の動きパターンから接触が一致するかどうかを判断し続けるように構成され得る。
少なくとも1つの動的に更新されるインジケータが随意に提示され得る(段階510)。いくつかの実装形態では、認証ユニット362は、少なくとも1つの動的に更新されるインジケータを提示するように構成され得る。少なくとも1つの動的に更新されるインジケータは、枢動点に達したときにシグナリングし、第1の動きタイプに応答して更新される。上記で論じたように、認証ユニット362は、所定の動きパターンにおける枢動点に達していることを示す1つまたは複数の印を表示または提示するように構成され得る。認証ユニット362は、ユーザが第2の動きタイプに進むべきであることをユーザにシグナリングするために必要な回数だけユーザが第1の動きタイプを実行したときに、第1の既知の印を表示するように、または既知の可聴もしくはハプティックフィードバックを提供するように構成され得る。認証ユニット362は、第2の動きタイプが必要な回数だけ実行されたときに、第2の既知の印を表示するように構成され得、または追加のフィードバックを提供せずに段階415に進むことができる。所定の動きパターンにおける各枢動点は、1つまたは複数の印からなる異なるセットに関連付けられ得るか、あるいは同じ1つまたは複数の印に関連付けられ得る。ただし、異なる枢動点に関連する1つまたは複数の印からなる異なるセットを有することで、パターンの複雑性が増大し、所定の動きパターンを推測するために、かつ/またはそこに含まれる枢動点を識別するために許可されていないユーザが使用するかもしれない情報を提供することを回避することができる。いくつかの実装形態では、枢動点は、枢動点を識別するために使用され得る複数の印からなるセットまたはそれらの組合せにより識別され得る。認証ユニット362は、枢動点に達したときに印のこのセットまたはそれらの組合せからランダムに選択するように構成され得る。認証ユニット362によって使用される印またはそれらの組合せを変えることで、所定の動きパターンの入力を観測している許可されていないユーザが、所定の動きパターンを推測すること、および/またはそこに含まれる枢動点を識別することを防ぐのを助けることができる。
図6は、本明細書で論じる技法による、所定の動きパターンを捕捉するための例示的なプロセスの流れ図である。図6に示すプロセスは、別段示されない限り、図1〜図3に示したコンピューティングデバイス120を使用して実装され得る。コンピューティングデバイス120の認証ユニット362は、別段示されない限り、図6に示すプロセスの様々な段階を実行するための手段を提供することができる。図6に示すプロセスは、本明細書で論じる技法とともに使用され得る所定の動きパターンを記録するために使用され得る。図6に示すプロセスは、図4に示したプロセスに対する追加の段階として実行され得る。
所定の動きパターンを生成するために、パターン記録モードで動作している間に、コンピューティングデバイス120の許可されたユーザの動きが記録され得る(段階605)。認証ユニット362は、ユーザが所定の動きパターンを記録し得る記録モードに入るために使用され得るユーザインターフェースを提供するように構成され得る。ユーザインターフェースは、ユーザが所定の動きパターンとなることを意図したものと記録された動きパターンが一致することを検証するために、ユーザが所定の動きパターンを再生することを可能にする再生機構を含むことができる。認証ユニット362のユーザインターフェースは、ユーザがアプリケーションコンテンツと所定の動きパターンを含むロック解除コードを関連付けることを可能にする、コンピューティングデバイス120上で動作しているアプリケーションから表示されるように構成され得る。認証ユニット362のユーザインターフェースは、コンピューティングデバイス120がロック状態にあるときにコンピューティングデバイス120をロック解除するために、アプリケーションコンテンツと所定の動きパターンを含むロック解除コードが定義されることを可能にする、デバイス構成メニューから表示されるように構成され得る。
許可されたユーザの動きに基づいて、各動きタイプが実行されるべき所定の回数が決定され得る(段階610)。認証ユニット362によって提供されるユーザインターフェースは、所定の動きパターンに含まれる特定の動きタイプが実行されるべき回数が固定であるべきか、それとも可変であるべきかをユーザが選択することを可能にするように構成され得る。
認証ユニット362は、パターンが「固定」タイプのものであることをユーザが示す場合に、ユーザによって入力される所定の動きパターンを記録するように構成され得る。認証ユニット362は、ユーザによって入力されるパターンを記録し、各動きタイプがユーザによって実行される回数を追跡する。認証ユニット362は、所定の動きパターンが正しく入力されているかどうかを判断するために、この情報を後に使用することができる。
認証ユニット362は、パターンが「可変」タイプのものであることをユーザが示す場合に、ユーザによって入力される所定の動きパターンに含まれる動きタイプのシーケンスを記録するが、これらの動きの各々が実行された回数を記録しないように構成され得る。認証ユニット362によって提供されるユーザインターフェースは、所定の動きパターンにおける各枢動点に達したときに表示または提示されるべきインジケータをユーザに指示するように構成され得る。認証ユニット362は、所定の動きパターンにおける各枢動点において表示もしくは提示されるべき1つもしくは複数の印をユーザが選択することを可能にするように構成されてよく、または認証ユニット362は、各枢動点において表示もしくは提示されるべき1つもしくは複数の印を選択し、それらの選択をユーザに提示するように構成され得る。認証ユニット362は、枢動点に達したこと、および入力されるべき動きタイプの変更がこの点において行われるべきであることをユーザに指示するために、各枢動点に関連する1つまたは複数の印を使用するように構成され得る。
所定の動きパターンは、所定の動きパターンが検出されたことに応答して実行されるべき1つまたは複数のアクションに関連付けられ得る(段階615)。認証ユニット362は、認証ユニット362によって所定の動きパターンが検出されたことに応答して1つまたは複数のアクションが実行されることを可能にするユーザインターフェースを提供するように構成され得る。所定の動きパターンに応答して実行され得るアクションのタイプの例については、本明細書を通じて論じている。ただし、認証ユニット362は、実行され得るアクションのタイプのこれらの特定の例に限定されない。1つまたは複数のアクションは、1つまたは複数の所定のアクションが実行されるべきコンピューティングデバイス120の能力に依存し得る。たとえば、コンピューティングデバイス120でのハードウェア、ソフトウェア、および/またはフォームファクタの制約は、いくつかのコンピューティングデバイス上でいくつかのアクションが行われることを阻み得る。さらに、実行されるべき1つまたは複数のアクションは、コンピューティングデバイス120のロケーションに基づいて、どの1つまたは複数のアクションが実行され得るかを判断するために認証ユニット362が使用し得る1つまたは複数のロケーション制約に関連付けられ得る。たとえば、再び上述の例を参照すると、所定の動きパターンは、コンピューティングデバイスのユーザの自宅である第1のロケーション、およびコンピューティングデバイスのユーザの仕事場である第2のロケーションに関連付けられ得る。所定の動きパターンは、ユーザが所定の動きパターンを入力し、コンピューティングデバイス120がユーザの自宅に位置するときに、コンピューティングデバイス120をロック解除し、個人電子メールアプリケーションおよびソーシャルメディアアプリケーションを開くことに関連付けられ得、所定の動きパターンは、コンピューティングデバイス120がユーザの仕事場に位置するときに、コンピューティングデバイス120をロック解除し、仕事関連の電子メールアプリケーションおよびカレンダーアプリケーションを開くことに関連付けられ得る。コンピューティングデバイス120の認証ユニット362は、上記で論じたように、コンピューティングデバイス120の1つもしくは複数の構成要素から、かつ/またはロケーションサーバ160からコンピューティングデバイスに関するロケーション情報を入手することができる。
図7は、本明細書で論じる技法による、所定の動きパターンが検出されているかどうかを判断するための例示的なプロセスの流れ図である。図7に示すプロセスは、別段示されない限り、図1〜図3に示したコンピューティングデバイス120を使用して実装され得る。コンピューティングデバイス120の認証ユニット362は、別段示されない限り、図7に示すプロセスの様々な段階を実行するための手段を提供することができる。図7に示すプロセスは、コンピューティングデバイス120のタッチスクリーン上に少なくとも1つの動的に更新されるインジケータを表示するために、少なくとも1つの可聴インジケータを出力するために、少なくとも1つのハプティックインジケータを出力するために、またはそれらの組合せのために使用され得る。図7に示すプロセスは、図4に示したプロセスの段階410の少なくとも一部分を実装するために使用され得る。図5に示した技法とは対照的に、所定の動きパターンに含まれる各動きタイプが実行されるべき回数は所定のものではなく、所定の動きパターンがユーザによって入力されるたびに変わり得る。認証ユニット362は、所定の動きパターンにおいて枢動点に達したときに示すために、少なくとも1つの動的に更新されるインジケータを使用する。所定の動きパターンに含まれる各動きタイプは、枢動点に関連する少なくとも1つのインジケータが認証ユニット362によって表示または提示されるまで繰り返されるべきであり、所定の動きパターンに含まれる各動きタイプが繰り返されるべき回数は、所定の動きパターンが入力されるたびに変わり得る。
所定の動きパターンにおける枢動点の前に、第1の動きタイプが可変回数だけ実行されているかどうかの判断が行われ得る(段階705)。可変回数は、認証ユニット362においてタッチスクリーンから受信された信号に基づいて、タッチスクリーンとの接触を検出したことに応答して、認証ユニット362によって決定され得る。上記で論じたように、所定の動きパターンに含まれる特定の動きタイプが実行されるべき回数は、可変であり得る。少なくとも1つの動的に更新されるインジケータが提示され得る(段階710)。少なくとも1つの動的に更新されるインジケータは、枢動点に達したときにシグナリングし、第1の動きタイプに応答して更新される。上記で論じたように、認証ユニット362は、所定の動きパターンにおける枢動点に達していることを示す1つまたは複数の印を表示または提示するように構成され得る。図7に示すプロセスは、引き続き段階705および所定の動きパターンに含まれる動きタイプのシーケンスにおける次の動きタイプに進む。
図8は、本明細書で論じる技法による、所定の動きパターンを捕捉するための例示的なプロセスの流れ図である。図8に示すプロセスは、別段示されない限り、図1〜図3に示したコンピューティングデバイス120を使用して実装され得る。コンピューティングデバイス120の認証ユニット362は、別段示されない限り、図8に示すプロセスの様々な段階を実行するための手段を提供することができる。図8に示すプロセスは、複数の所定の動きパターンのうちの1つが検出されているかどうかを判断するように認証ユニット362が構成されることを除いて、図4に示したものと同様である。
コンピューティングデバイス120のタッチスクリーンとの接触が検出され得る(段階805)。段階805は、図4に示したプロセスの段階405と同様である。認証ユニット362は、コンピューティングデバイス120のタッチスクリーンから信号を受信するように、またタッチスクリーンから受信された信号に基づいてコンピューティングデバイス120との接触を検出するように構成され得る。タッチスクリーンは、指先、スタイラス、または他の入力デバイスを使用してタッチスクリーンの表面上の位置にタッチすることによって、コンピューティングデバイス120のユーザに応答して信号を生成するように構成され得る。信号情報は、タッチが発生したタッチスクリーン上の位置を識別することができる。タッチスクリーンは、複数の接触点を検出するように、またタッチスクリーンで複数の接触点が作られていることを示す信号を出力するように構成され得る。複数の同時接触点をサポートするタッチスクリーンは、認証ユニット362および/またはコンピューティングデバイス120の他の構成要素によって要求されたアクションに変換され得る入力を生成するために複数の接触点が使用される「マルチタッチ」ジェスチャーの使用を容易にすることができる。
タッチスクリーンとの接触は、接触が複数の所定の動きパターンのうちの1つと一致するかどうかを判断するために監視され得る(段階810)。段階810は、図4に示したプロセスの段階410と同様である。認証ユニット362は、複数の所定の動きパターンを認識するように構成され得、所定の動きパターンの各々は、1つまたは複数の特定のロック解除アクションに関連付けられ得る。この概念を説明すると、第1の所定の動きパターンがコンピューティングデバイス120のためのロック解除コードに関連付けられ得、第2の所定の動きパターンがコンピューティングデバイス120のための強要コードに関連付けられ得、第3の所定の動きパターンがコンピューティングデバイス上の特定のアプリケーションに関連付けられ得、第4の所定の動きパターンがコンピューティングデバイス120の構成ファイルにアクセスするために使用され得る。これらの例は単に、コンピューティングデバイス120またはそこに記憶されたコンテンツをロック解除することなど、何らかの関連機能を実行するために、入力されたときに使用され得る複数の異なる所定の動きパターンを認識するように認証ユニット362が構成され得る概念を示す。異なる実装形態が、所定の動きパターンの異なる組合せを認識するように構成され得る。上記で論じたように、所定の動きパターンは、枢動点によって分けられる複数の所定の動きを含むことができ、枢動点は、第1の動きタイプから第2の動きタイプへの所定の動きパターンにおける遷移点を表す。タッチスクリーンとの接触は、所定の動きの各々の間で維持される必要がない。タッチスクリーンとの接触は、少なくとも1つの枢動点、第1の動きタイプの第1のインスタンスと第1の動きタイプの第2のインスタンスとの間、または第2の動きタイプの第1のインスタンスと第2の動きタイプの第2のインスタンスとの間のうちの1つまたは複数において切断され得る。タッチスクリーンとの接触は、前述の例に加えて、または前述の例の代わりに、所定の動きパターンにおける別の点において切断され得る。所定の動きパターンは、コンピューティングデバイス120のいくつかの機能へのアクセスを制限するために使用され得る。認証ユニット362は、ユーザに所定の動きパターンを入力するよう指示するユーザインターフェースを提供するように構成され得る。
タッチスクリーンとの接触が複数の所定の動きパターンのうちの1つと一致することに応答して、ロック解除アクションを実行する(段階815)。段階815は、図4に示したプロセスの段階415と同様である。認証ユニット362は、複数の所定の動きパターンのうちの1つと一致することに関連するロック解除アクションを実行するように構成され得る。図4に示した例と同様に、認証ユニット362は、様々なタイプのロック解除アクションを実行するように構成され得る。実行されるべき特定のロック解除アクションは、検出されている所定の動きパターンおよび関数に基づき得る。
以下の例は、図5に示したプロセスにおいて論じた複数の所定の動きパターンを示す。第1の所定の動きパターンがコンピューティングデバイス120のためのロック解除コードに関連付けられ、第2の所定の動きパターンがコンピューティングデバイス120のための強要コードに関連付けられる。認証ユニット362は、第1の所定の動きパターンを検出したことに応答して、コンピューティングデバイス120がユーザ入力を受け入れないロック状態からコンピューティングデバイス120がユーザ入力を受け入れるロック解除状態にコンピューティングデバイス120を移行させるように構成され得る。認証ユニット362は、第2の所定の動きパターンを検出したことに応答して、強要コード関連アクションを実行するように構成され得る。たとえば、認証ユニット362は、コンピューティングデバイス120のコンテンツを暗号化するように、コンピューティングデバイス120のコンテンツをリモートサーバにバックアップするように、モバイルデバイスのコンテンツを消去するように、緊急支援を求めて電話をかけるか、もしくはメッセージを送るように、かつ/またはコンピューティングデバイス120に関するロケーション情報を含むビーコンを送信するように構成され得る。
図12は、本明細書で論じる技法による、第2のコンピューティングデバイスを使用して第1のコンピューティングデバイスに関する所定の動きパターンを捕捉するための例示的なプロセスの流れ図である。図12に示すプロセスは、別段示されない限り、図1〜図3に示した構成コンピューティングデバイス180を使用して実装され得る。構成コンピューティングデバイス180の認証ユニット362は、別段示されない限り、図12に示すプロセスの様々な段階を実行するための手段を提供することができる。図12に示すプロセスは、コンピューティングデバイス120などの1つまたは複数の他のコンピューティングデバイス上で使用するために構成コンピューティングデバイス180によって所定の動きパターンがキャプチャされることを除いて、図6に示したものと同様である。
所定の動きパターンを生成するために、パターン記録モードで動作している間に、構成コンピューティングデバイス180のユーザの動きが記録され得る(段階1205)。構成コンピューティングデバイス180の認証ユニット362は、図6に示したプロセスの段階605に関して上記で論じたものと同様の所定の動きパターンをユーザが記録することができる記録モードに入るために使用され得るユーザインターフェースを提供するように構成され得る。ユーザインターフェースは、ユーザが所定の動きパターンとなることを意図したものと記録された動きパターンが一致することを検証するために、ユーザが所定の動きパターンを再生することを可能にする再生機構を含むことができる。認証ユニット362のユーザインターフェースは、ユーザがアプリケーションコンテンツと所定の動きパターンを含むロック解除コードを関連付けることを可能にする、構成コンピューティングデバイス180上で動作しているアプリケーションから表示されるように構成され得る。認証ユニット362のユーザインターフェースは、コンピューティングデバイス120がロック状態にあるときにコンピューティングデバイスをロック解除するために、アプリケーションコンテンツと所定の動きパターンを含むロック解除コードが定義されることを可能にする、デバイス構成メニューから表示されるように構成され得る。
許可されたユーザの動きに基づいて、各動きタイプが実行されるべき回数が決定され得る(段階1210)。構成コンピューティングデバイス180の認証ユニット362によって提供されるユーザインターフェースは、所定の動きパターンに含まれる特定の動きタイプが実行されるべき回数が固定であるべきか、それとも可変であるべきかをユーザが選択することを可能にするように構成され得る。構成コンピューティングデバイス180の認証ユニット362は、図6の段階610に関して上記で論じたのと同様の様式で固定および/または可変の動きパターンを記録するように構成され得る。
所定の動きパターンは、所定の動きパターンが検出されたことに応答して実行されるべき1つまたは複数のアクションに関連付けられ得る(段階1215)。構成コンピューティングデバイス180の認証ユニット362は、図6の段階610に関して上記で論じたのと同様の様式で実行されるべき1つまたは複数のアクションを関連付けるように構成され得る。構成コンピューティングデバイス180の認証ユニット362は、所定の動きパターンが関連付けられるべきコンピューティングデバイス120の認証ユニット362によって所定の動きパターンが検出されたことに応答して1つまたは複数のアクションが実行されることを可能にするユーザインターフェースを提供するように構成され得る。所定の動きパターンに応答して実行され得るアクションのタイプの例については、本明細書を通じて論じている。ただし、認証ユニット362は、実行され得るアクションのタイプのこれらの特定の例に限定されない。1つまたは複数のアクションは、1つまたは複数の所定のアクションが実行されるべきコンピューティングデバイス120の能力に依存し得る。上記で論じたように、コンピューティングデバイス120でのハードウェア、ソフトウェア、および/またはフォームファクタの制約は、いくつかのコンピューティングデバイス上でいくつかのアクションが行われることを阻み得る。さらに、実行されるべき1つまたは複数のアクションは、コンピューティングデバイス120のロケーションに基づいて、どの1つまたは複数のアクションが実行され得るかを判断するために認証ユニット362が使用し得る1つまたは複数のロケーション制約に関連付けられ得る。
所定の動きパターンは、1つまたは複数のコンピューティングデバイスに関連付けられ得る(段階1220)。構成コンピューティングデバイス180は、コンピューティングデバイス120など、どのコンピューティングデバイスに所定の動きパターンが関連付けられるべきかを構成コンピューティングデバイス180のユーザが指定することを可能にするユーザインターフェースを提供するように構成され得る。ユーザインターフェースはまた、ユーザが、実行されるべき1つまたは複数のアクションの一部またはすべてを特定のコンピューティングデバイスに関連付けることを可能にするように構成され得る。コンピューティングデバイスのうちの一部は、コンピューティングデバイスのソフトウェア、ハードウェア、および/またはフォームファクタに関連する異なる能力を有し得る。したがって、異なるアクションが、デバイスのタイプに基づいて異なるデバイスに関する所定の動きパターンに関連付けられ得る。さらに、異なるコンピューティングデバイスは異なる役割に関連付けられ得る。たとえば、ユーザは、仕事用に1つまたは複数のコンピューティングデバイスを有し、個人用に1つまたは複数のコンピューティングデバイスを有し得る。ユーザは、家族によって使用され得る1つまたは複数のコンピューティングデバイスを有することもある。ユーザは、オフィス、学校、または他の環境のために複数のコンピューティングデバイスを管理する責任を負うこともあり、コンピューティングデバイス120の予定されたユーザに基づいて、各コンピューティングデバイス120に適した1つまたは複数のアクションを選択することができる。
所定の動きパターン、所定の動きパターンに関連する1つまたは複数のアクション、および所定の動きパターンに関連するコンピューティングデバイスに関連する情報は、構成コンピューティングデバイス180のメモリ260に記憶され得る。この情報は、構成コンピューティングデバイス180および/または所定の動きパターンが関連付けられているコンピューティングデバイス120などのコンピューティングデバイスに関連するセキュリティアカウントにアップロードされることもある。構成コンピューティングデバイス180の認証ユニット362は、この情報を、所定の動きパターンが関連付けられているコンピューティングデバイスの認証ユニット362に、ワイヤードまたはワイヤレス接続を介して直接または間接的に送るように構成され得る。
構成コンピューティングデバイス180の認証ユニット362はまた、コンピューティングデバイス120に関連する所定の動きパターンをテストするためのインターフェースを提供するように構成され得る。構成コンピューティングデバイス180の認証ユニット362は、所定の動きパターンおよび所定の動きパターンに関連する1つまたは複数のアクションに関連する情報を、所定の動きパターンがテストされるべきコンピューティングデバイス120に送るように構成され得る。構成コンピューティングデバイス180の認証ユニット362は、この情報を、パターンがテストされるべきコンピューティングデバイス120の認証ユニット362に、2つのデバイスの間の直接または間接的な、ワイヤードまたはワイヤレス接続を介して送るように構成され得る。構成コンピューティングデバイス180の認証ユニット362は、この情報を、所定の動きパターンをテストするためのテストモードに入るようコンピューティングデバイス120の認証ユニット362に命令するメッセージとともに送るように構成され得る。コンピューティングデバイス120の認証ユニット362は、テストモードに入るように、また図4に示したものと同様のプロセスを実行するように構成され得る。ただし、テストモードにある間、コンピューティングデバイス120の認証ユニット362は、段階410を、所定の動きパターンが成功裏に入力されているかどうかを示すための他のステップに置き換えるように構成され得る。たとえば、コンピューティングデバイス120の認証ユニット362は、コンピューティングデバイス120上で所定の動きパターンが成功裏に入力されたかどうかを示すメッセージまたは他のインジケータをコンピューティングデバイス120のスクリーン上に表示するように構成され得る。コンピューティングデバイス120の認証ユニット362は、コンピューティングデバイス120上で所定の動きパターンが成功裏に入力されたかどうかを示すメッセージを構成コンピューティングデバイス180に送るように構成され得る。構成コンピューティングデバイス180の認証ユニット362はまた、テストが成功したことに応答して、所定の動きパターンがコンピューティングデバイス120に展開されること、またはテストが不成功だったことに応答して、コンピューティングデバイス120に展開されるべき所定の動きパターンの展開をキャンセルすることを可能にするインターフェースを提供するように構成され得る。
本明細書で説明した方法は、用途に応じて様々な手段によって実装され得る。たとえば、これらの方法は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組合せにおいて実装されてよい。ハードウェア実装形態の場合、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明した機能を実行するように設計された他の電子ユニット、またはそれらの組合せ内で実装され得る。
ファームウェアおよび/またはソフトウェアの実装形態の場合、方法は、本明細書で説明した機能を実行するモジュール(たとえば、手順、関数など)を用いて実装され得る。命令を有形に具現化するいずれの機械可読媒体も、本明細書で説明した方法を実装する際に使用され得る。たとえば、ソフトウェアコードは、メモリに記憶され、プロセッサユニットによって実行され得る。メモリは、プロセッサユニット内でまたはプロセッサユニットの外部に実装され得る。本明細書で使用する場合、「メモリ」という用語は、任意のタイプの長期、短期、揮発性、不揮発性、または他のメモリを指し、特定のメモリのタイプもしくはメモリの数、または媒体のタイプに限定されるものではない。有形の媒体は、ランダムアクセスメモリ、磁気ストレージ、光学記憶媒体などのような、機械可読媒体の1つまたは複数の物理的な物品を含む。
機能は、ファームウェアおよび/またはソフトウェアにおいて実装される場合、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして記憶されてもよい。例には、データ構造を用いて符号化されたコンピュータ可読媒体、およびコンピュータプログラムを用いて符号化されたコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは所望のプログラムコードを命令またはデータ構造の形式で記憶するために使用され得る、コンピュータによってアクセス可能な任意の他の媒体を含むことができ、本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)はデータをレーザーで光学的に再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。そのような媒体はまた、機械可読であり得る非一時的媒体の例を提供し、コンピュータは、そのような非一時的媒体から読み取ることができる機械の一例である。
本明細書で論じた一般的な原理は、本開示または特許請求の範囲の趣旨または範囲から逸脱することなく、他の実装形態に適用され得る。