(57)【要約】方法（６００）は、ユーザデバイス（１１０）上でアプリケーション（５１２）を起動する要求（２２０）を受信することを含む。要求は、ユーザデバイスに関連付けられ、ユーザデバイスをアプリケーションに登録するために必要とされる一意フィーチャ（２２２）を含む。方法は、ユーザデバイス上でアプリケーションを起動するための選択可能リンク（２３１）を生成することと、選択可能リンクを含む第１のメッセージ（２３０）を、一意フィーチャを使用してユーザデバイスに送信することと、をさらに含む。方法は、ユーザデバイスからの前記検証コード（２３６）を受信することに応じてユーザデバイス（１１０）をアプリケーションに登録することをさらに含む。
2022501757.tif 000002
【特許請求の範囲】
【請求項１】
データ処理ハードウェア（８１０）において、ユーザデバイス（１１０）上でアプリケーション（５１２）を起動する要求（２２０）を受信することであって、前記要求（２２０）は、前記ユーザデバイス（１１０）に関連付けられ、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録するために必要とされる一意フィーチャ（２２２）を含む、受信することと、
前記データ処理ハードウェア（８１０）によって、前記ユーザデバイス（１１０）上で前記アプリケーション（５１２）を起動するための選択可能リンク（２３１）を生成することであって、前記選択可能リンク（２３１）は、
前記アプリケーション（５１２）を識別するアプリケーション識別子（２３２）と、
前記一意フィーチャ（２２２）が前記ユーザデバイス（１１０）に関連付けられていることを検証するために使用される検証コード（２３６）と、を含む、生成することと、
前記データ処理ハードウェア（８１０）によって、前記選択可能リンク（２３１）を含む第１のメッセージ（２３０）を、前記一意フィーチャ（２２２）を使用して前記ユーザデバイス（１１０）に送信することと、を含み、前記第１のメッセージ（２３０）は、前記ユーザデバイス（１１０）によって受信されるとき、前記ユーザデバイス（１１０）に、
前記ユーザデバイス（１１０）上で実行するグラフィカルユーザインターフェース（１１１）上に前記選択可能リンク（２３１）を表示することと、
前記グラフィカルユーザインターフェース（１１１）上に表示された前記選択可能リンク（２３１）の選択を示す選択指示を受信した後、前記アプリケーション識別子（２３２）を使用して前記アプリケーション（５１２）を起動することと、
前記ユーザデバイス（１１０）が、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録する確認を受信することに応じて、前記検証コード（２３６）を前記データ処理ハードウェア（８１０）に送信することと、を行わせるように構成されており、
前記データ処理ハードウェア（８１０）によって、前記ユーザデバイス（１１０）からの前記検証コード（２３６）を受信することに応じて前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することをさらに含む、
方法（６００）。
【請求項２】
前記第１のメッセージ（２３０）は、前記ユーザデバイス（１１０）によって受信されるとき、前記ユーザデバイス（１１０）に、前記アプリケーション（５１２）を起動した後、前記グラフィカルユーザインターフェース（１１１）に確認ボタン（５１４）を表示することを行わせるようにさらに構成されており、前記確認ボタン（５１４）が前記ユーザデバイス（１１０）のユーザによって選択されることにより、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録するための前記ユーザによる確認が示され、前記ユーザデバイス（１１０）に、前記検証コード（２３６）のユーザ入力を必要とせずに、前記検証コード（２３６）を前記データ処理ハードウェア（８１０）へと送信させる、
請求項１に記載の方法（６００）。
【請求項３】
前記ユーザデバイス（１１０）からの前記検証コード（２３６）が受信されたときに前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することは、
前記第１のメッセージ（２３０）が前記ユーザデバイス（１１０）に送信されてから、前記検証コード（２３６）が前記ユーザデバイス（１１０）から受信されるまでの期間が有効期間閾値（２３８）を満たすかどうかを判定することと、
前記期間が前記有効期間閾値（２３８）を満たす場合、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することと、を含む、
請求項１または２に記載の方法（６００）。
【請求項４】
前記ユーザデバイス（１１０）からの前記検証コード（２３６）が受信されたときに前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することは、
前記第１のメッセージ（２３０）が前記ユーザデバイス（１１０）に送信されてから、前記検証コード（２３６）が前記ユーザデバイス（１１０）から受信されるまでの期間が有効期間閾値（２３８）を満たすかどうかを判定することと、
前記期間が前記有効期間閾値（２３８）を満たさない場合、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することを妨げることと、を含む、
請求項１から３のいずれか一項に記載の方法（６００）。
【請求項５】
前記期間が前記有効期間閾値（２３８）を満たさない場合、前記一意フィーチャ（２２２）を使用して第２のメッセージ（４３０）を前記ユーザデバイス（１１０）に送信することをさらに含み、前記第２のメッセージ（４３０）は、前記一意フィーチャ（２２２）が前記ユーザデバイス（１１０）に関連付けられていることを検証するために使用される新たな検証コード（２３６）を含む、
請求項４に記載の方法（６００）。
【請求項６】
前記選択可能リンク（２３１）はディープリンクを含み、該ディープリンクは、選択されたとき、前記アプリケーション（５１２）がまだ前記ユーザデバイス（１１０）にインストールされていない場合には、前記ユーザデバイス（１１０）に前記アプリケーション（５１２）をインストールさせる、あるいは、前記アプリケーション（５１２）が前記ユーザデバイス（１１０）に既にインストールされている場合は、前記ユーザデバイス（１１０）に前記アプリケーション（５１２）を開かせる、
請求項１から５のいずれか一項に記載の方法（６００）。
【請求項７】
前記第１のメッセージ（２３０）は、前記ユーザデバイス（１１０）によって受信されたとき、前記アプリケーション（５１２）を起動した後、前記アプリケーション（５１２）に前記ユーザデバイス（１１０）に関連付けられた前記一意フィーチャ（２２２）を投入するようにさらに構成されている、
請求項１から６のいずれか一項に記載の方法（６００）。
【請求項８】
前記一意フィーチャ（２２２）は電話番号（３４２）を含む、
請求項１から７のいずれか一項に記載の方法（６００）。
【請求項９】
前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録した後、第２のメッセージ（４３０）を前記ユーザデバイス（１１０）に送信することをさらに含み、前記第２のメッセージ（４３０）は、前記ユーザデバイス（１１０）によって受信されるとき、前記ユーザデバイス（１１０）に、前記ユーザデバイス（１１０）の前記アプリケーション（５１２）への登録が成功したことを前記ユーザデバイス（１１０）のユーザに対して通知させる、
請求項１から８のいずれか一項に記載の方法（６００）。
【請求項１０】
ユーザデバイス（１１０）のデータ処理ハードウェア（９１０）において、前記ユーザデバイス（１１０）に関連付けられた電話番号（３４２）を検証するための選択可能リンク（２３１）を含む第１のメッセージ（２３０）を受信することであって、前記選択可能リンク（２３１）は、
前記電話番号（３４２）に対応するメタデータ（２３４）と、
前記電話番号（３４２）が前記ユーザデバイス（１１０）に関連付けられていることを検証するために使用される検証コード（２３６）と、を含む、受信することと、
前記データ処理ハードウェア（９１０）によって、前記ユーザデバイス（１１０）上で実行するグラフィカルユーザインターフェース（１１１）に前記選択可能リンク（２３１）を表示することと、
前記データ処理ハードウェア（９１０）において、前記グラフィカルユーザインターフェース（１１１）上に表示された前記選択可能リンク（２３１）の選択を示す選択指示を受信することと、
前記選択指示を受信した後、前記データ処理ハードウェア（９１０）によって、ネットワークを介して、前記データ処理ハードウェア（９１０）と通信するサービス（１２５）に、前記検証コード（２３６）を送信することであって、前記検証コード（２３６）は、前記サービス（１２５）が前記検証コード（２３６）を受信したことに応じて、前記サービス（１２５）に前記電話番号（３４２）が前記ユーザデバイス（１１０）に関連付けられていることを検証させる、送信することと、
を含む方法（７００）。
【請求項１１】
前記選択可能リンク（２３１）は、アプリケーション（５１２）を識別するアプリケーション識別子（２３２）をさらに含み、前記アプリケーション（５１２）は、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録するために、前記ユーザデバイス（１１０）に関連付けられた前記電話番号（３４２）を必要とし、前記方法は、前記選択指示を受信することに応じて、
前記データ処理ハードウェア（９１０）によって、前記アプリケーション識別子（２３２）を使用して、前記ユーザデバイス（１１０）上で前記アプリケーション（５１２）を起動することと、
前記データ処理ハードウェア（９１０）によって、前記アプリケーション（５１２）に、前記ユーザデバイス（１１０）に関連付けられた前記電話番号（３４２）を投入することと、をさらに含む、
請求項１０に記載の方法（７００）。
【請求項１２】
前記選択可能リンク（２３１）の選択を示す前記選択指示を受信した後、
前記データ処理ハードウェア（９１０）によって、前記グラフィカルユーザインターフェース（１１１）上に確認ボタン（５１４）を表示することと、
前記データ処理ハードウェア（９１０）において、前記電話番号（３４２）が前記ユーザデバイス（１１０）に関連付けられていることを検証するべく、前記確認ボタン（５１４）の選択を示す第２の選択指示を受信することと、
前記第２の選択指示を受信することに応じて、前記データ処理ハードウェア（９１０）によって、前記検証コード（２３６）のユーザ入力を必要とせずに、前記検証コード（２３６）を前記サービス（１２５）に自動的に送信することと、をさらに含む、
請求項１０または１１に記載の方法（７００）。
【請求項１３】
前記第１のメッセージ（２３０）を受信する前に、
前記データ処理ハードウェア（９１０）によって、前記ユーザデバイス（１１０）上でのアプリケーション（５１２）の起動、またはリソースへのアクセスを要求する要求（２２０）を前記サービス（１２５）に送信することであって、前記要求（２２０）は、前記ユーザデバイス（１１０）に関連付けられた前記電話番号（３４２）を含む、送信することをさらに含み、
前記サービス（１２５）は、前記要求（２２０）によって受信された前記電話番号（３４２）を使用して、前記第１のメッセージ（２３０）を前記ユーザデバイス（１１０）に送信する、
請求項１０から１２のいずれか一項に記載の方法（７００）。
【請求項１４】
データ処理ハードウェア（８１０）と、
前記データ処理ハードウェア（８１０）と通信するメモリハードウェア（８２０）と、を備え、前記メモリハードウェアは命令（８２０）を記憶し、前記命令は、前記データ処理ハードウェア（８１０）によって実行されるとき、前記データ処理ハードウェア（８１０）に、
ユーザデバイス（１１０）上でアプリケーション（５１２）を起動する要求（２２０）を受信することであって、前記要求（２２０）は、前記ユーザデバイス（１１０）に関連付けられ、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録するために必要とされる一意フィーチャ（２２２）を含む、受信することと、
前記ユーザデバイス（１１０）上で前記アプリケーション（５１２）を起動するための選択可能リンク（２３１）を生成することであって、前記選択可能リンク（２３１）は、
前記アプリケーション（５１２）を識別するアプリケーション識別子（２３２）と、
前記一意フィーチャ（２２２）が前記ユーザデバイス（１１０）に関連付けられていることを検証するために使用される検証コード（２３６）と、を含む、生成することと、
前記選択可能リンク（２３１）を含む第１のメッセージ（２３０）を、前記一意フィーチャ（２２２）を使用して前記ユーザデバイス（１１０）に送信することと、を含む動作を実行させ、前記第１のメッセージ（２３０）は、前記ユーザデバイス（１１０）によって受信されるとき、前記ユーザデバイス（１１０）に、
前記ユーザデバイス（１１０）上で実行するグラフィカルユーザインターフェース（１１１）上に前記選択可能リンク（２３１）を表示することと、
前記グラフィカルユーザインターフェース（１１１）上に表示された前記選択可能リンク（２３１）の選択を示す選択指示を受信した後、前記アプリケーション識別子（２３２）を使用して前記アプリケーション（５１２）を起動することと、
前記ユーザデバイス（１１０）が、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録する確認を受信することに応じて、前記検証コード（２３６）を前記データ処理ハードウェア（８１０）に送信することと、を行わせるように構成されており、
前記動作は、前記ユーザデバイス（１１０）からの前記検証コード（２３６）を受信することに応じて前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することをさらに含む、
システム（１００）。
【請求項１５】
前記第１のメッセージ（２３０）は、前記ユーザデバイス（１１０）によって受信されるとき、前記ユーザデバイス（１１０）に、前記アプリケーション（５１２）を起動した後、前記グラフィカルユーザインターフェース（１１１）に確認ボタン（５１４）を表示することを行わせるようにさらに構成されており、前記確認ボタン（５１４）が前記ユーザデバイス（１１０）のユーザによって選択されることにより、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録するための前記ユーザによる確認が示され、前記ユーザデバイス（１１０）に、前記検証コード（２３６）のユーザ入力を必要とせずに、前記検証コード（２３６）を前記データ処理ハードウェア（８１０）へと送信させる、
請求項１４に記載のシステム（１００）。
【請求項１６】
前記ユーザデバイス（１１０）からの前記検証コード（２３６）が受信されたときに前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することは、
前記第１のメッセージ（２３０）が前記ユーザデバイス（１１０）に送信されてから、前記検証コード（２３６）が前記ユーザデバイス（１１０）から受信されるまでの期間が有効期間閾値（２３８）を満たすかどうかを判定することと、
前記期間が前記有効期間閾値（２３８）を満たす場合、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することと、を含む、
請求項１４または１５に記載のシステム（１００）。
【請求項１７】
前記ユーザデバイス（１１０）からの前記検証コード（２３６）が受信されたときに前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することは、
前記第１のメッセージ（２３０）が前記ユーザデバイス（１１０）に送信されてから、前記検証コード（２３６）が前記ユーザデバイス（１１０）から受信されるまでの期間が有効期間閾値（２３８）を満たすかどうかを判定することと、
前記期間が前記有効期間閾値（２３８）を満たさない場合、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録することを妨げることと、を含む、
請求項１４から１６のいずれか一項に記載のシステム（１００）。
【請求項１８】
前記動作は、前記期間が前記有効期間閾値（２３８）を満たさない場合、前記一意フィーチャ（２２２）を使用して第２のメッセージ（４３０）を前記ユーザデバイス（１１０）に送信することをさらに含み、前記第２のメッセージ（４３０）は、前記一意フィーチャ（２２２）が前記ユーザデバイス（１１０）に関連付けられていることを検証するために使用される新たな検証コード（２３６）を含む、
請求項１７に記載のシステム（１００）。
【請求項１９】
前記選択可能リンク（２３１）はディープリンクを含み、該ディープリンクは、選択されたとき、前記アプリケーション（５１２）がまだ前記ユーザデバイス（１１０）にインストールされていない場合には、前記ユーザデバイス（１１０）に前記アプリケーション（５１２）をインストールさせる、あるいは、前記アプリケーション（５１２）が前記ユーザデバイス（１１０）に既にインストールされている場合は、前記ユーザデバイス（１１０）に前記アプリケーション（５１２）を開かせる、
請求項１４から１８のいずれか一項に記載のシステム（１００）。
【請求項２０】
前記第１のメッセージ（２３０）は、前記ユーザデバイス（１１０）によって受信されたとき、前記アプリケーション（５１２）を起動した後、前記アプリケーション（５１２）に前記ユーザデバイス（１１０）に関連付けられた前記一意フィーチャ（２２２）を投入するようにさらに構成されている、
請求項１４から１９のいずれか一項に記載のシステム（１００）。
【請求項２１】
前記一意フィーチャ（２２２）は電話番号（３４２）を含む、
請求項１４から２０のいずれか一項に記載のシステム（１００）。
【請求項２２】
前記動作は、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録した後、第２のメッセージ（４３０）を前記ユーザデバイス（１１０）に送信することをさらに含み、前記第２のメッセージ（４３０）は、前記ユーザデバイス（１１０）によって受信されるとき、前記ユーザデバイス（１１０）に、前記ユーザデバイス（１１０）の前記アプリケーション（５１２）への登録が成功したことを前記ユーザデバイス（１１０）のユーザに対して通知させる、
請求項１４から２１のいずれか一項に記載のシステム（１００）。
【請求項２３】
ユーザデバイス（１１０）のデータ処理ハードウェア（９１０）と、
前記データ処理ハードウェア（９１０）と通信するメモリハードウェア（９２０）と、を備え、前記メモリハードウェア（９２０）は命令を記憶し、前記命令は、前記データ処理ハードウェア（９１０）によって実行されるとき、前記データ処理ハードウェア（９１０）に、
前記ユーザデバイス（１１０）に関連付けられた電話番号（３４２）を検証するための選択可能リンク（２３１）を含む第１のメッセージ（２３０）を受信することであって、前記選択可能リンク（２３１）は、
前記電話番号（３４２）に対応するメタデータ（２３４）と、
前記電話番号（３４２）が前記ユーザデバイス（１１０）に関連付けられていることを検証するために使用される検証コード（２３６）と、を含む、受信することと、
前記ユーザデバイス（１１０）上で実行するグラフィカルユーザインターフェース（１１１）に前記選択可能リンク（２３１）を表示することと、
前記グラフィカルユーザインターフェース（１１１）に表示された前記選択可能リンク（２３１）の選択を示す選択指示を受信することと、
前記選択指示を受信した後、ネットワークを介して、前記データ処理ハードウェア（９１０）と通信するサービス（１２５）に、前記検証コード（２３６）を送信することであって、前記検証コード（２３６）は、前記サービス（１２５）が前記検証コード（２３６）を受信したことに応じて、前記サービス（１２５）に前記電話番号（３４２）が前記ユーザデバイス（１１０）に関連付けられていることを検証させる、送信することと、を含む動作を実行させる、
システム（１００）。
【請求項２４】
前記選択可能リンク（２３１）は、アプリケーション（５１２）を識別するアプリケーション識別子（２３２）をさらに含み、前記アプリケーション（５１２）は、前記ユーザデバイス（１１０）を前記アプリケーション（５１２）に登録するために、前記ユーザデバイス（１１０）に関連付けられた前記電話番号（３４２）を必要とし、前記動作は、前記選択指示を受信することに応じて、
前記アプリケーション識別子（２３２）を使用して、前記ユーザデバイス（１１０）上で前記アプリケーション（５１２）を起動することと、
前記アプリケーション（５１２）に、前記ユーザデバイス（１１０）に関連付けられた前記電話番号（３４２）を投入することと、をさらに含む、
請求項２３に記載のシステム（１００）。
【請求項２５】
前記動作は、前記選択可能リンク（２３１）の選択を示す前記選択指示を受信した後、
前記グラフィカルユーザインターフェース（１１１）上に確認ボタン（５１４）を表示することと、
前記電話番号（３４２）が前記ユーザデバイス（１１０）に関連付けられていることを検証するべく、前記確認ボタン（５１４）の選択を示す第２の選択指示を受信することと、
前記第２の選択指示を受信することに応じて、前記検証コード（２３６）のユーザ入力を必要とせずに、前記検証コード（２３６）を前記サービス（１２５）に自動的に送信することと、をさらに含む、
請求項２３または２４に記載のシステム（１００）。
【請求項２６】
前記動作は、前記第１のメッセージ（２３０）を受信する前に、
前記ユーザデバイス（１１０）上でのアプリケーション（５１２）の起動、またはリソースへのアクセスを要求する要求（２２０）を前記サービス（１２５）に送信することであって、前記要求（２２０）は、前記ユーザデバイス（１１０）に関連付けられた前記電話番号（３４２）を含む、送信することをさらに含み、
前記サービス（１２５）は、前記要求（２２０）によって受信された前記電話番号（３４２）を使用して、前記第１のメッセージ（２３０）を前記ユーザデバイス（１１０）に送信する、
請求項２３から２５のいずれか一項に記載のシステム（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自動的なリンクベースのメッセージ検証に関する。
【背景技術】
【０００２】
電話ベースの通信アプリケーション（アプリ）では、多くの場合、あるユーザが別のユーザをアプリケーションの使用に招待できるが、参加するにはユーザによる手動登録が必要である。通常、ユーザ（招待者）は、潜在的なユーザの既知のＩＤ（電子メールアドレスなど）に基づいて、または、潜在的なユーザのユーザデバイスに関連付けられた既知のフィーチャ（携帯電話番号など）に基づいて、潜在的なユーザに招待状を送信する。潜在的なユーザは、電子メールやテキストメッセージなどの一般的な通信方法で招待状を受信する場合がある。招待状に応じるためには、潜在的なユーザは、最初に通信アプリをダウンロード、インストール、および初期設定する必要があり得る。招待状には、検証コードが含まれている場合もある。通信アプリを初期設定した後、潜在的なユーザは、招待状を受理するために、検証コードを通信アプリに移す必要がある場合がある。例えば、これは、テキストメッセージから検証コードをコピーし、初期設定された通信アプリによって提供される入力フィールドにペーストすることによって行われることもあれば、検証コードを通信アプリに手動で転記することによって行われることもある。潜在的なユーザが招待状の受理に成功した後、招待者と潜在的なユーザは通信アプリを介して通信できるようになり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本開示は、自動的なリンクベースのメッセージ検証に関する。
【課題を解決するための手段】
【０００４】
本開示の一態様は、ユーザデバイスのフィーチャの自動検証を可能にするメッセージを生成するための方法を提供する。方法は、データ処理ハードウェアにおいて、ユーザデバイス上でアプリケーションを起動する要求を受信することを含む。要求は、ユーザデバイスに関連付けられた一意フィーチャを含み、一意フィーチャは、ユーザデバイスをアプリケーションに登録するために必要とされる。方法は、前記データ処理ハードウェアによって、前記ユーザデバイス上で前記アプリケーションを起動するための選択可能リンクを生成することを含む。前記選択可能リンクは、前記アプリケーションを識別するアプリケーション識別子と、前記一意フィーチャが前記ユーザデバイスに関連付けられていることを検証するために使用される検証コードと、を含む。方法は、前記データ処理ハードウェアにおいて、前記選択可能リンクを含む第１のメッセージを、前記一意フィーチャを使用して前記ユーザデバイスに送信することをさらに含む。前記第１のメッセージは、前記ユーザデバイスによって受信されるとき、前記ユーザデバイスに、前記ユーザデバイス上で実行するグラフィカルユーザインターフェース上に前記選択可能リンクを表示することを行わせる。前記第１のメッセージは、前記グラフィカルユーザインターフェースに表示された前記選択可能リンクの選択を示す選択指示を受信した後、前記アプリケーション識別子を使用して前記アプリケーションを起動することと、検証コードを送信することとを行うようにさらに構成されている。前記ユーザデバイスが、前記ユーザデバイスを前記アプリケーションに登録する確認を受信することに応じて、前記検証コードは、前記データ処理ハードウェアに送信される。方法は、データ処理ハードウェアによって、ユーザデバイスからの前記検証コードを受信することに応じてユーザデバイスをアプリケーションに登録することをさらに含む。
【０００５】
本開示の実装形態は、以下の任意の特徴のうちの１つまたは複数を含み得る。一部の実装形態では、前記第１のメッセージは、前記ユーザデバイスによって受信されるとき、前記ユーザデバイスに、前記アプリケーションを起動した後、前記グラフィカルユーザインターフェースに確認ボタンを表示することを行わせるようにさらに構成されている。前記確認ボタンが前記ユーザデバイスのユーザによって選択されることにより、前記ユーザデバイスを前記アプリケーションに登録するための前記ユーザによる確認が示され、前記ユーザデバイスに、前記検証コードのユーザ入力を必要とせずに、前記検証コードを前記データ処理ハードウェアへと送信させる。一部の例では、前記ユーザデバイスからの前記検証コードが受信されたときに前記ユーザデバイスを前記アプリケーションに登録することは、前記第１のメッセージが前記ユーザデバイスに送信されてから、前記検証コードが前記ユーザデバイスから受信されるまでの期間が有効期間閾値を満たすかどうかを判定することを含む。前記期間が前記有効期間閾値を満たす場合、方法は、前記ユーザデバイスを前記アプリケーションに登録することを含む。あるいは、前記期間が前記有効期間閾値を満たさない場合、方法は、前記ユーザデバイスを前記アプリケーションに登録することを妨げることを含む。
【０００６】
方法は、前記期間が前記有効期間閾値を満たさない場合、前記一意フィーチャを使用して第２のメッセージを前記ユーザデバイスに送信することをさらに含んでいてもよい。前記第２のメッセージは、前記一意フィーチャが前記ユーザデバイスに関連付けられていることを検証するために使用される新たな検証コードを含む。任意選択により、前記選択可能リンクはディープリンクを含み、該ディープリンクは、選択されたとき、前記アプリケーションがまだ前記ユーザデバイスにインストールされていない場合には、前記ユーザデバイスに前記アプリケーションをインストールさせる、および／または、前記アプリケーションが前記ユーザデバイスに既にインストールされている場合は、前記ユーザデバイスに前記アプリケーションを開かせる。一部の実施形態では、前記第１のメッセージは、前記ユーザデバイスによって受信されたとき、前記アプリケーションを起動した後、前記アプリケーションに前記ユーザデバイスに関連付けられた前記一意フィーチャを投入するようにさらに構成されている。前記一意フィーチャは電話番号を含み得る。一部の例では、方法は、前記ユーザデバイスを前記アプリケーションに登録した後、第２のメッセージを前記ユーザデバイスに送信することをさらに含む。前記第２のメッセージは、前記ユーザデバイスによって受信されるとき、前記ユーザデバイスに、前記ユーザデバイスの前記アプリケーションへの登録が成功したことを前記ユーザデバイスのユーザに対して通知させる。
【０００７】
本開示の別態様によれば、ユーザデバイスのデータ処理ハードウェアにおいて、前記ユーザデバイスに関連付けられた電話番号を検証するための選択可能リンクを含む第１のメッセージを受信することを含む方法が提供される。前記選択可能リンクは、前記電話番号に対応するメタデータと、前記電話番号が前記ユーザデバイスに関連付けられていることを検証するために使用される検証コードと、を含む。方法は、前記データ処理ハードウェアによって、前記ユーザデバイス上で実行するグラフィカルユーザインターフェース上に前記選択可能リンクを表示することと、前記データ処理ハードウェアにおいて、前記グラフィカルユーザインターフェースに表示された前記選択可能リンクの選択を示す選択指示を受信することと、をさらに含む。前記選択指示を受信した後、方法は、前記データ処理ハードウェアによって、ネットワークを介して、前記データ処理ハードウェアと通信するサービスに、前記検証コードを送信することを含む。前記検証コードは、前記サービスが前記検証コードを受信したことに応じて、前記サービスに前記電話番号が前記ユーザデバイスに関連付けられていることを検証させる。
【０００８】
本開示の実装形態は、以下の任意の特徴のうちの１つまたは複数を含み得る。一部の実装形態では、前記選択可能リンクは、アプリケーションを識別するアプリケーション識別子をさらに含み、前記アプリケーションは、前記ユーザデバイスを前記アプリケーションに登録するために、前記ユーザデバイスに関連付けられた前記電話番号を必要とする。方法は、前記選択指示を受信することに応じて、前記データ処理ハードウェアによって、前記アプリケーション識別子を使用して、前記ユーザデバイス上で前記アプリケーションを起動することと、前記データ処理ハードウェアによって、アプリケーションに、前記ユーザデバイスに関連付けられた前記電話番号を投入することと、をさらに含む。前記選択可能リンクの選択を示す前記選択指示を受信した後、方法は、前記データ処理ハードウェアによって、前記グラフィカルユーザインターフェース上に確認ボタンを表示することと、前記データ処理ハードウェアにおいて、前記電話番号が前記ユーザデバイスに関連付けられていることを検証するべく、前記確認ボタンの選択を示す第２の選択指示を受信することと、を含み得る。前記第２の選択指示を受信することに応じて、方法は次いで、前記データ処理ハードウェアによって、前記検証コードのユーザ入力を必要とせずに、前記検証コードを前記サービスに自動的に送信することをさらに含む。
【０００９】
一部の例では、方法は、前記第１のメッセージを受信する前に、前記データ処理ハードウェアによって、前記ユーザデバイス上でのアプリケーションの起動、および／またはリソースへのアクセスを要求する要求を前記サービスに送信することを含む。前記要求は、前記ユーザデバイスに関連付けられた前記電話番号を含み、前記サービスは、前記要求によって受信された前記電話番号を使用して、前記第１のメッセージを前記ユーザデバイスに送信する。
【００１０】
本開示の別態様によれば、データ処理ハードウェアと、前記データ処理ハードウェアと通信するメモリハードウェアと、を備えるシステムが提供される。前記メモリハードウェアは命令を記憶し、前記命令は、前記データ処理ハードウェアによって実行されるとき、前記データ処理ハードウェアに動作を実行させる。前記動作は、ユーザデバイス上でアプリケーションを起動する要求を受信することを含む。要求は、ユーザデバイスに関連付けられた一意フィーチャを含み、一意フィーチャは、ユーザデバイスをアプリケーションに登録するために必要とされる。動作は、前記ユーザデバイス上で前記アプリケーションを起動するための選択可能リンクを生成することを含む。前記選択可能リンクは、前記アプリケーションを識別するアプリケーション識別子と、前記一意フィーチャが前記ユーザデバイスに関連付けられていることを検証するために使用される検証コードと、を含む。動作は、前記選択可能リンクを含む第１のメッセージを、前記一意フィーチャを使用して前記ユーザデバイスに送信することをさらに含む。前記第１のメッセージは、前記ユーザデバイスによって受信されるとき、前記ユーザデバイスに、前記ユーザデバイス上で実行するグラフィカルユーザインターフェース上に前記選択可能リンクを表示することを行わせる。前記第１のメッセージは、前記グラフィカルユーザインターフェースに表示された前記選択可能リンクの選択を示す選択指示を受信した後、前記アプリケーション識別子を使用して前記アプリケーションを起動することと、検証コードを送信することとを行うようにさらに構成されている。前記検証コードは前記検証コードに関連付けられており、前記ユーザデバイスが、前記ユーザデバイスを前記アプリケーションに登録する確認を受信することに応じて、前記検証コードは、前記データ処理ハードウェアに送信される。動作は、ユーザデバイスからの前記検証コードを受信することに応じてユーザデバイスをアプリケーションに登録することをさらに含む。
【００１１】
本開示の実装形態は、以下の任意の特徴のうちの１つまたは複数を含み得る。一部の実装形態では、前記第１のメッセージは、前記ユーザデバイスによって受信されるとき、前記ユーザデバイスに、前記アプリケーションを起動した後、前記グラフィカルユーザインターフェースに確認ボタンを表示することを行わせるようにさらに構成されている。前記確認ボタンが前記ユーザデバイスのユーザによって選択されることにより、前記ユーザデバイスを前記アプリケーションに登録するための前記ユーザによる確認が示され、前記ユーザデバイスに、前記検証コードのユーザ入力を必要とせずに、前記検証コードを前記データ処理ハードウェアへと送信させる。一部の例では、前記ユーザデバイスからの前記検証コードが受信されたときに前記ユーザデバイスを前記アプリケーションに登録することは、前記第１のメッセージが前記ユーザデバイスに送信されてから、前記検証コードが前記ユーザデバイスから受信されるまでの期間が有効期間閾値を満たすかどうかを判定することを含む。前記期間が前記有効期間閾値を満たす場合、動作は、前記ユーザデバイスを前記アプリケーションに登録することを含む。あるいは、前記期間が前記有効期間閾値を満たさない場合、動作は、前記ユーザデバイスを前記アプリケーションに登録することを妨げることを含む。
【００１２】
動作は、前記期間が前記有効期間閾値を満たさない場合、前記一意フィーチャを使用して第２のメッセージを前記ユーザデバイスに送信することをさらに含んでいてもよい。前記第２のメッセージは、前記一意フィーチャが前記ユーザデバイスに関連付けられていることを検証するために使用される新たな検証コードを含む。任意選択により、前記選択可能リンクはディープリンクを含み、該ディープリンクは、選択されたとき、前記アプリケーションがまだ前記ユーザデバイスにインストールされていない場合には、前記ユーザデバイスに前記アプリケーションをインストールさせる、および／または、前記アプリケーションが前記ユーザデバイスに既にインストールされている場合は、前記ユーザデバイスに前記アプリケーションを開かせる。一部の実施形態では、前記第１のメッセージは、前記ユーザデバイスによって受信されたとき、前記アプリケーションを起動した後、前記アプリケーションに前記ユーザデバイスに関連付けられた前記一意フィーチャを投入するようにさらに構成されている。前記一意フィーチャは電話番号を含み得る。一部の例では、動作は、前記ユーザデバイスを前記アプリケーションに登録した後、第２のメッセージを前記ユーザデバイスに送信することをさらに含む。前記第２のメッセージは、前記ユーザデバイスによって受信されるとき、前記ユーザデバイスに、前記ユーザデバイスの前記アプリケーションへの登録が成功したことを前記ユーザデバイスのユーザに対して通知させる。
【００１３】
本開示の別態様によれば、ユーザデバイスのデータ処理ハードウェアと、前記データ処理ハードウェアと通信するメモリハードウェアと、を備えるシステムが提供される。前記メモリハードウェアは命令を記憶し、前記命令は、前記データ処理ハードウェアによって実行されるとき、前記データ処理ハードウェアに動作を実行させる。動作は、前記ユーザデバイスに関連付けられた電話番号を検証するための選択可能リンクを含む第１のメッセージを受信することを含む。前記選択可能リンクは、前記電話番号に対応するメタデータと、前記電話番号が前記ユーザデバイスに関連付けられていることを検証するために使用される検証コードと、を含む。動作は、前記ユーザデバイス上で実行するグラフィカルユーザインターフェース上に前記選択可能リンクを表示することと、前記グラフィカルユーザインターフェースに表示された前記選択可能リンクの選択を示す選択指示を受信することと、をさらに含む。前記選択指示を受信した後、動作は、ネットワークを介して、前記データ処理ハードウェアと通信するサービスに、前記検証コードを送信することを含む。前記検証コードは、前記サービスが前記検証コードを受信したことに応じて、前記サービスに前記電話番号が前記ユーザデバイスに関連付けられていることを検証させる。
【００１４】
本開示の実装形態は、以下の任意の特徴のうちの１つまたは複数を含み得る。一部の実装形態では、前記選択可能リンクは、アプリケーションを識別するアプリケーション識別子をさらに含み、前記アプリケーションは、前記ユーザデバイスを前記アプリケーションに登録するために、前記ユーザデバイスに関連付けられた前記電話番号を必要とする。動作は、前記選択指示を受信することに応じて、前記アプリケーション識別子を使用して、前記ユーザデバイス上で前記アプリケーションを起動することと、アプリケーションに、前記ユーザデバイスに関連付けられた前記電話番号を投入することと、をさらに含む。前記選択可能リンクの選択を示す前記選択指示を受信した後、動作は、前記グラフィカルユーザインターフェース上に確認ボタンを表示することと、前記電話番号が前記ユーザデバイスに関連付けられていることを検証するべく、前記確認ボタンの選択を示す第２の選択指示を受信することと、を含み得る。前記第２の選択指示を受信することに応じて、動作は次いで、前記検証コードのユーザ入力を必要とせずに、前記検証コードを前記サービスに自動的に送信することをさらに含む。
【００１５】
一部の例では、動作は、前記第１のメッセージを受信する前に、前記ユーザデバイス上でのアプリケーションの起動、および／またはリソースへのアクセスを要求する要求を前記サービスに送信することを含む。前記要求は、前記ユーザデバイスに関連付けられた前記電話番号を含み、前記サービスは、前記要求によって受信された前記電話番号を使用して、前記第１のメッセージを前記ユーザデバイスに送信する。
【００１６】
本開示の１つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点は、説明、図面、および特許請求の範囲から明らかとなる。
【図面の簡単な説明】
【００１７】
【図１】リンクベースのフィーチャの検証の例示的なシステムの概略図。
【図２】図１のシステムのメッセージジェネレータの例示的な構成要素の概略図。
【図３】リンクベースのフィーチャの検証のシステムに関連付けられた例示的なメッセージの概略図。
【図４】図１のシステムのメッセージ有効化部の例示的な構成要素の概略図。
【図５】リンクベースのフィーチャの検証に係る、図１におけるシステムのフィーチャ検証部とユーザデバイスとの間の相互作用の概略図。
【図６】自動的なリンクベースのフィーチャの検証の例示的な方法のフローチャート。
【図７】自動的なリンクベースのメッセージの検証の別の例示的な方法のフローチャート。
【図８】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図。
【図９】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なユーザデバイスの概略図。
【発明を実施するための形態】
【００１８】
さまざまな図面での同様の参照番号は、同様の要素を示す。
電話ベースの通信アプリケーション（アプリ）では、通常、現ユーザが潜在的ユーザを参加するよう招待する必要がある。通常、招待者（例えば、アプリケーションの現ユーザ）は、潜在的なユーザの既知のＩＤに基づいて、または、潜在的なユーザに関連付けられた既知のフィーチャ（携帯電話番号、メールアドレス、ユーザ名など）に基づいて、潜在的なユーザに招待状を送信する。潜在的ユーザがユーザデバイスで招待状を受信し、招待状を受理した後、アプリケーションは、ユーザデバイスのフィーチャ（例えば、ユーザデバイスの電話番号）の所有権または制御を検証する。一般に、アプリケーション（またはアプリケーションに関連付けられたサービス）は、例えばショートメッセージサービス（ＳＭＳ）を介して、検証コードを含むメッセージをユーザデバイスに送信する。既知のアイデンティティまたは既知のフィーチャを検証するには、潜在的ユーザは、メッセージを開き、検証コードを取得し、アプリケーションをインストールし（以前にインストールされていない場合）、アプリケーションを実行し、検証コードを提供する（例えば、手動入力またはコピーアンドペースト）といった、非効率的なプロセスを行わなければならない。本開示の実装形態によれば、ユーザデバイスが前述のステップのいくつかを自動化することを可能にするのに十分な情報を含むメッセージを生成することによって、これらの技術的非効率性が解決される。
【００１９】
本明細書の実装形態は、ユーザデバイスのフィーチャ（例えば、電話番号）の自動検証を可能にするメッセージを生成するように構成されたフィーチャ検証部に関する。図１を参照して、一部の実装形態では、例示的なシステム１００は、招待者９およびユーザ１０に関連付けられ、ネットワーク１２２を介してリモートシステム１２０と通信する１つまたは複数のユーザデバイス１０９、１１０を含む。ユーザデバイス１０９、１１０には、スマートフォン、タブレット、スマートウォッチなどのモバイルデバイスが含まれる。リモートシステム１２０は、スケーラブル／エラスティックコンピューティングリソース１２４（例えば、データ処理ハードウェア）および／または記憶リソース１２６（例えば、メモリハードウェア）を有する単一のコンピュータ、複数のコンピュータ、または分散システム（例えば、クラウド環境）であり得る。ネットワーク１２２は、インターネットなどのグローバル通信ネットワークであり得る。図１は、同じネットワーク１２２を介して通信するユーザデバイス１０９、１１０を示しているが、ユーザデバイス１０９、１１０は、互いに異なるネットワークを介してリモートシステム１２０と通信してもよい。一部の例では、ネットワークは、ＳＭＳ、マルチメディアメッセージングサービス（ＭＭＳ）、リッチコミュニケーションサービス（ＲＣＳまたは「チャット」）のユニバーサルプロファイル、またはその他の適切な通信プロトコルをサポートする電話ネットワークである。一部の例では、招待者９は、電話ベースの通信アプリケーション（アプリ）を介してユーザ１０と通信することを望んでいる。通信アプリは、音声、テキスト、写真ファイル共有、またはその他の形式の通信によって通信するために使用され得る。示される例では、招待者９は、ユーザデバイス１１０上で実行するモバイルアプリケーション５１２を使用して通信するようにユーザ１０を招待する。例えば、招待者９のユーザデバイス１０９は、招待者９との通信を容易にするようにユーザ１０に関連付けられたユーザデバイス１１０上でのモバイルアプリケーション５１２の登録および起動の少なくとも一方を行うようユーザ１０を招待する登録要求２２０をリモートシステム１２０に送信することによって、モバイルアプリケーション５１２を使用して通信するべくユーザ１０を招待し得る。一部の例では、アプリケーション５１２に関連付けられたサービス１２５は、招待者９に関連付けられたユーザデバイス１０９から登録要求２２０を受信し、リモートシステム１２０上で実行するフィーチャ検証部１３０に登録要求２２０を送信する。一部の例では、アプリケーション５１２に関連付けられたサービス１２５は、リモートシステム１２０上で実行し、フィーチャ検証部１３０を実装する。
【００２０】
示されている例では、リモートシステム１２０は、招待者９から登録要求２２０を受信するフィーチャ検証部１３０を実行する。フィーチャ検証部１３０は、メッセージジェネレータ２１０および有効化部４１０を実装することができる。メッセージジェネレータ２１０は、ユーザデバイス１０９、または、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、または他のコンピューティングデバイスなど、招待者９に関連付けられた別のデバイスから受信した登録要求２２０を処理するように構成される。
【００２１】
以下でより詳細に説明するように、メッセージジェネレータ２１０は、登録要求２２０に基づいて検証メッセージ２３０を生成する。リモートシステム１２０は、検証メッセージ２３０をユーザ１０のユーザデバイス１１０に送信する。検証メッセージ２３０は、選択可能リンク２３１を含む。示されている例では、ユーザデバイス１１０は、検証メッセージ２３０の受信に応じて、ユーザデバイス１１０の画面１１３上に選択可能リンク２３１を表示するグラフィカルユーザインターフェース１１１を実行する。ユーザデバイス１１０は、アプリケーション５１２をインストール、起動、および／または登録するために（例えば、ユーザ１０による入力を介して）選択可能リンク２３１の選択を示す選択指示を受信することができる（以下でより詳細に説明する）。一部の例では、フィーチャ検証部１３０は、ユーザデバイス１１０が検証メッセージ２３０を受信した後、ユーザデバイス１１０から確認メッセージ４２０を受信する。ここで、フィーチャ検証部１３０の有効化部４１０は、確認メッセージ４２０を処理し、確認メッセージ４２０に基づいて登録通知４３０を生成するように構成される。一部の例では、有効化部４１０は、モバイルアプリケーション５１２に関連付けられたオンラインサービス１２５にユーザ１０を登録する。次に、リモートシステム１２０は、検証通知４３０をユーザ１０のユーザデバイス１１０に送信して、ユーザデバイス１１０および／または関連付けられた一意フィーチャ２２２（図２）がモバイルアプリケーション５１２および／または関連付けられたサービス１２５への登録に成功したことをユーザ１０に通知する。例えば、サービス１２５は、モバイルアプリケーション５１２が、対応するユーザデバイス１０９、１１０にインストールされ、登録されている場合において、２つ以上のユーザデバイス１０９、１１０がモバイルアプリケーション５１２を使用して、電話またはメッセージング（例えば、ボイスまたはテキスト）を介して互いに通信することを可能にする通信サービスであり得る。リモートシステム１２０はまた、招待者９（または他の任意のユーザ）に登録が成功したことを通知することができる。
【００２２】
登録要求２２０はまた、例えば二段階認証のために、ユーザ１０を含む他のユーザから送られてくる場合がある。例えば、ユーザ１０は、例えばユーザ名とパスワードに加えて検証として、ユーザ１０がユーザデバイス１１０を所有していることの検証を必要とする、ユーザデバイス１１０上のリソースまたはアプリケーション５１２（例えば、銀行アプリケーション）へのアクセスを要求することができる。この例では、ユーザ１０は、リソースまたはアプリケーション５１２へのアクセスを要求することができ、次に、リモートシステム１２０は、ユーザデバイス１１０または関連サービス１２５から要求（この場合は認証要求）を受信することができる。次に、リモートシステム１２０は、選択可能リンク２３１を含めてユーザデバイス１１０に送信する検証メッセージ２３０を生成できる。次に、ユーザ１０は、ユーザデバイス１１０の所有を検証するために、選択可能リンク２３１の選択を示すことができる。メッセージ２３０は、ユーザ１０が情報を入力することを必要とせず、他の潜在的に関連する情報（例えば、ユーザ名）と共に、要求するアプリケーション５１２（すなわち、銀行アプリケーション）に検証コード２３６（図２）を供給するように構成され得る。
【００２３】
図２は、メッセージジェネレータ２１０の概略図２００を示している。メッセージジェネレータ２１０は、例えば、ユーザデバイス１０９上で実行するアプリケーション５１２を介して、招待者９のユーザデバイス１０９から登録要求２２０を受信する。登録要求２２０は、ユーザ１０のユーザデバイス１１０に関連付けられた一意フィーチャ２２２を含む。一意フィーチャ２２２は、ユーザデバイス１１０をアプリケーション５１２に登録したり、アプリケーション５１２を使用したりするために必要とされる（例えば、一意フィーチャ２２２は、ユーザデバイス１１０の所有または制御を検証することができる）。一部の例では、一意フィーチャ２２２は、ユーザデバイス１１０に関連付けられた電話番号３４２（図３）である。これに代えて、一意フィーチャ２２２は、電子メールアドレス、ユーザ名、メディアアクセス制御（ＭＡＣ）アドレス、またはユーザデバイス１１０に関連付けられたその他のフィーチャ／識別子である。登録要求２２０の受信に応じて、メッセージジェネレータ２１０は、検証メッセージ２３０を生成する。検証メッセージ２３０は、ユーザデバイス１１０の登録を要求しているモバイルアプリケーション５１２を識別するアプリケーション識別情報（ＩＤ）２３２を含む。一部の例では、アプリケーションＩＤ２３２は、アプリ５１２に関連付けられた一意の名前または数字であり、オンラインアプリケーションリポジトリ５４０（図５）を介してメッセージジェネレータ２１０によって取得される。ただし、他の形式のアプリケーションＩＤ２３２も可能である。検証メッセージ２３０は、ユーザデバイス１１０の一意フィーチャ２２２に関連付けられたメタデータ２３４と、検証コード２３６とを含む。フィーチャ２２２に関連付けられたメタデータ２３４は、例えば、ユーザデバイス１１０上で実行するためにアプリケーション５１２を起動および／または初期設定するために使用され得る。検証コード２３６は、以下でより詳細に説明されるように、検証メッセージ２３０に一意に関連付けられた字、記号、および／または数字の組み合わせであり得る。任意選択により、検証メッセージ２３０は、メッセージ２３０の有効期限を確立するために使用される有効期間２３８をさらに含んでいてもよく、これによって、検証コード２３６は、有効期間２３８の満了時に無効となる。一部の例では、検証メッセージ２３０には、検証コード２３６の有効期間２３８を示すトークンが含まれている。
【００２４】
一部の実装形態では、メッセージジェネレータ２１０は、検証メッセージ２３０を構成して、ユーザデバイス１１０に、画面１１３（図１）に表示するためにユーザデバイス１１０上で実行するグラフィカルユーザインターフェース（ＧＵＩ）１１１（図１）上で選択可能リンク２３１（図１および図５）として検証メッセージ２３０を表示させる。ＧＵＩ１１１が、そこに表示された選択可能リンク２３１の選択を示す選択指示を受信すると、次に、検証メッセージ２３０は、アプリケーションＩＤ２３２を使用してユーザデバイス１１０上で、アプリケーション５１２をインストールするように構成され（以前にユーザデバイス１１０にインストールされていない場合）、アプリケーション５１２を起動するように構成されている。アプリケーション５１２がユーザデバイス１１０によって起動されると、ユーザデバイス１１０上で実行するＧＵＩ１１１は、ユーザデバイス１１０をアプリケーション５１２に登録することに同意することをユーザ１０に要求するか促す確認通知（５１４）を表示することができる。例えば、ＧＵＩ１１１は、ユーザ１０がユーザデバイス１１０および／または関連付けられた一意フィーチャ２２２をアプリケーション５１２に登録することに同意することを示すものとして、ボタンを選択するか、音声入力を提供するか、他のユーザ入力を提供するようにユーザ１０に促すことができる。その後、ユーザデバイス１１０は、確認メッセージ４２０（図１および図４）をフィーチャ検証部１３０に送信することができ、これにより、ユーザデバイス１１０および／または関連付けられた一意フィーチャ２２２をアプリケーション５１２に登録することにユーザ１０が同意することが示される。一部の実施形態では、登録は、選択可能リンク２３１の選択を示す以外に、ユーザの同意を必要とせずに行うことができる（すなわち、ＧＵＩ１１１は、追加の確認を提供するようにユーザ１０に促さない）。
【００２５】
図３を参照して、一部の実装形態では、概略図３００は、一意フィーチャ２２２および／または関連付けられたユーザデバイス１１０をアプリケーション５１２に登録するために、ユーザデバイス１１０がアプリケーション５１２を自動的にインストールおよび／または起動して必要な登録情報を投入することを可能にするのに十分な情報（例えば、アプリＩＤ２３２、メタデータ２３４、および検証コード２３６）を提供する、ディープリンク（例えば、ファイヤーベースディープリンク（Ｆｉｒｅｂａｓｅ  Ｄｙｎａｍｉｃ  Ｌｉｎｋ））を含む検証メッセージ２３０を示している。例えば、メタデータ２３４は、ユーザデバイス１１０に関連付けられた国コード３４０および電話番号３４２を含み得る。
【００２６】
図４は、ユーザデバイス１１０から確認メッセージ４２０を受信することと、受信した確認メッセージ４２０に基づいて、一意フィーチャ２２２および／またはユーザデバイス１１０をアプリケーション５１２に登録するかどうかを決定することと、を行うフィーチャ検証部１３０の有効化部４１０の概略図４００を示している。ユーザデバイス１１０のユーザ１０が、一意フィーチャ２２２および／またはユーザデバイス１１０をアプリケーション５１２に登録することに同意した後、確認メッセージ４２０は、ユーザデバイス１１０によって生成され、ユーザデバイス１１０から送信され得る。確認メッセージ４２０は、ユーザ１０による受理を確認し、および／または、アプリケーション５１２について、ユーザデバイス１１０に関連付けられたフィーチャ２２２が検証され、ユーザ１０が一意フィーチャ２２２をアプリケーション５１２に登録することに同意することを確認する。例えば、確認メッセージ４２０は、メッセージジェネレータ２１０によって生成されて以前にユーザデバイス１１０に送信された検証メッセージ２３０に含められた、検証コード２３６（または検証コード２３６に関連付けられたコード）を含む。したがって、確認メッセージ４２０の受信に応じて、有効化部４１０は、一意フィーチャ２２２の検証に関し、最初に検証コード２３６が有効であるかどうか（例えば、検証メッセージ２３０で提供される検証コード２３６と一致するか）を判定するように構成される。検証コード２３６の有効性は、使用に関し、検証コード２３６が以前に確認されていないことをさらに必要とする場合がある（つまり同じ検証コード２３６の再利用を防ぐ）。任意選択により、有効化部４１０は、検証コード２３６に関連付けられた有効期間２３８が満たされている（例えば、期限が切れていない）かどうかを判定することができる。例えば、有効化部４１０は、メッセージ２３０がユーザデバイス１１０に送信されてから、確認メッセージ４２０がユーザデバイス１１０から受信されるまでの期間が有効期間２３８を満たすかどうかを判定してもよい。例えば、有効期間２３８は、期間が有効期間２３８未満の場合に満たされ得る。期間は、検証コード２３６が期限切れであると判定する前に、検証コード２３６が有効化部４１０によって受信されなければならない指定された時間を単に含むことができる。確認メッセージ４２０は、検証コード２３６と、検証コード２３６に関連付けられた有効期間２３８とを示す単一のトークンを含み得る。一部の例では、有効期間２３８は確認メッセージ４２０に含まれておらず、有効化部４１０は、検証コード２３６（またはメッセージ２３０のフィーチャを一意に識別する他のもの）を関連付けられた有効期間２３８にマッピングするログにアクセスすることによって、有効期間２３８を取得する。確認メッセージ４２０で受信した検証コード２３６が有効であり、検証コード２３６に関連付けられた有効期間２３８（該当する場合）が満たされていると判定すると、有効化部４１０は、一意フィーチャ２２２および／またはユーザデバイス１１０をアプリケーション５１２および／またはアプリケーション５１２に関連付けられたオンラインサービス１２５に登録することができる（または、別のサービスがフィーチャ２２２および／またはユーザデバイス１１０を登録するために必要な情報を提供する）。示されている例では、フィーチャ検証部１３０の有効化部４１０は、登録通知４３０を生成し、ユーザデバイス１１０に送信して、一意フィーチャ２２２および／またはユーザデバイス１１０のアプリケーション５１２への登録が成功したことをユーザ１０に通知する。一方、有効化部４１０が、検証コード２３６の有効期間２３８が満了した（例えば、満たされていない）、または検証コード２３６が以前に使用されていると判定した場合、有効化部４１０は、ユーザデバイス１１０によるアプリケーション５１２への登録を妨げる。一部の例では、メッセージ２３０が送信されてからの期間が有効期間２３８を満たさない場合、第２のメッセージが、一意フィーチャ２２２を使用してユーザデバイス１１０に送信される。第２のメッセージは、一意フィーチャ２２２がユーザデバイス１１０に関連付けられていることを検証するために使用される新たな検証コード２３６を含む。有効期間２３８は、有効期間閾値２３８と呼ばれることもある。登録に１回以上失敗した後（例えば、有効期間２３８が満たされていない場合）、ユーザ１０は、第２の（または後続の）メッセージからの新たな検証コード２３６を手動で入力することを必要とされ得る。
【００２７】
図５の概略図５００を参照して、一部の実装形態では、システム１００は、フィーチャ検証部１３０およびアプリケーションリポジトリ５４０と通信するユーザデバイス１１０を含む。フィーチャ検証部１３０は、リモートシステム１２０上で実行し、ネットワーク１２２を介してユーザデバイス１１０と通信することができる。示されている例では、ユーザデバイス１１０は、図１のユーザ１０に関連付けられたユーザデバイス１１０を含み得る。この例は、ユーザデバイス１１０に関連付けられた一意フィーチャ２２２をアプリケーション５１２に登録するのに検証を要求しているフィーチャ検証部１３０から検証メッセージ２３０を受信するユーザデバイス１１０を示している。フィーチャ検証部１２０は、ユーザデバイス１１０に関連付けられた一意フィーチャ（例えば、電話番号）を使用して、（例えば、電話番号２２２に送信されるテキストメッセージを介して）検証メッセージ２３０をユーザデバイス１１０に送信する。
【００２８】
検証メッセージ２３０の受信に応じて、ユーザデバイス１１０は、ＧＵＩ１１１上に検証メッセージ２３０を選択可能リンク２３１として表示し、選択可能リンク２３１は、ユーザ１０によって選択されると、ユーザデバイス１１０に、検証メッセージ２３０に含まれるアプリケーション識別子２３２によって識別されるアプリケーション５１２を起動させる。一部の例では、ユーザデバイス１１０は、検証メッセージ２３０の受信に応じて、ユーザ１０が検証メッセージ２３０に対応する選択可能リンク２３１を選択することを必要とせずに、単にアプリケーション５１２を起動する。ユーザデバイス１１０は、受信時に検証メッセージ２３０を処理するためのメッセージハンドラ５２０を実行することができる。アプリケーション５１２がユーザデバイス１１０にまだインストールされていないシナリオでは、メッセージハンドラ５２０は（自動的にまたはユーザプロンプトを介して）、例えばユーザデバイス１１０にインストールするためのアプリケーションリポジトリ５４０から、アプリケーション５１２を（例えば、ダウンロードを介して）取得することができる。アプリケーション５１２が起動した後、すなわち、ユーザデバイス１１０上で実行を開始した後、アプリケーション５１２は、一意フィーチャ２２２（例えば、国コード３４０および電話番号３４２）および／またはユーザデバイス１１０をアプリケーション５１２に登録するため、検証メッセージ２３０から登録情報を取得する。一部の実装形態では、ユーザデバイス１１０がアプリケーション５１２を起動すると、アプリケーション５１２は、ユーザデバイス１１０の画面１１３に表示されるＧＵＩ１１１上に確認通知５１４を表示し、これにより、ユーザ１０は、一意フィーチャ２２２および／またはユーザデバイス１１０のアプリケーション５１２へ登録することを確認できる。確認通知５１４は、ユーザ１０が登録することを確認するために選択することができるグラフィック要素（例えば、ボタン）を含み得る。追加的にまたはこれに代えて、確認通知５１４は、手動入力を提供することによって登録することを確認するようにユーザ１０に促すプロンプト（視覚的および／またはオーディオ）を含み得る（例えば、ＧＵＩ１１１上のグラフィック要素をタップすること、ユーザデバイス１１０上の物理的ボタンを押すこと、ＧＵＩ１１１上で、またはユーザデバイス１１０の近くでジェスチャを実行すること、音声入力を提供すること、所定の方法でユーザデバイス１１０を動かすことなど）。メッセージハンドラ５２０は、ユーザデバイス１１０および／または関連付けられた一意フィーチャ２２２をアプリケーション５１２に登録することのユーザ１０による確認を示す選択指示をユーザデバイス１１０が受信したことに応じて、確認メッセージ４２０を生成してリモートシステム１２０に送信するように構成された確認ジェネレータ５２２を実装することができる。本明細書で使用されるように、ユーザデバイス１１０によって受信された選択指示により、ユーザデバイス１１０は、一意フィーチャ２２２をアプリケーション５１２に関し検証および登録するために使用する検証コード２３６が含む、確認メッセージ４２０を生成し、有効化部４１０に送信する（図４）。
【００２９】
図６は、ユーザデバイス１１０のフィーチャ２２２の自動検証を可能にするメッセージ２３０を生成するための例示的な方法６００のフローチャートである。フローチャートは、ユーザデバイス１１０上でアプリケーション５１２を起動する要求２２０をデータ処理ハードウェア８１０（図９）で受信することにより、動作６０２で開始する。要求２２０は、ユーザデバイス１１０に関連付けられた一意フィーチャ２２２を含み、一意フィーチャ２２２は、ユーザデバイス１１０上でアプリケーション５１２を使用するために、アプリケーション５１２に登録するために必要とされる。一意フィーチャ２２２は、電話番号３４２および関連付けられた国コード３４０を含み得る。一意フィーチャ２２２は、任意選択により、ユーザ名、電子メールアドレス、ＭＡＣアドレス、またはユーザデバイス１１０を一意に識別する他のフィーチャを含むことができる。方法６００は、動作６０４において、データ処理ハードウェア８１０によって、ユーザデバイス１１０上でアプリケーション５１２を起動するように構成された選択可能リンク２３１を生成することをさらに含む。選択可能リンク２３１は、アプリケーション５１２を識別するアプリケーション識別子２３２を含む。選択可能リンク２３１は、一意フィーチャ２２２がユーザデバイス１１０に関連付けられていることを検証するために使用される検証コード２３６をさらに含む。選択可能リンク２３１はディープリンクを含んでいてもよく、該ディープリンクは、選択されたとき、アプリケーション５１２がまだユーザデバイス１１０にインストールされていない場合には、ユーザデバイス１１０にアプリケーション５１２をインストールさせる、および／または、アプリケーション５１２がユーザデバイス１１０に既にインストールされている場合は、ユーザデバイス１１０にアプリケーション５１２を開かせる。検証メッセージ２３０は、選択可能リンク２３１を含み得る。
【００３０】
動作６０６において、方法６００は、選択可能リンク２３１を含む第１のメッセージ（例えば、検証メッセージ）２３０を、一意フィーチャ２２２を使用してユーザデバイス１１０に送信することと、を含む。例えば、一意フィーチャ２２２は、データ処理ハードウェア８１０が第１のメッセージ２３０を送信するために使用する、ユーザデバイス１１０に関連付けられた電話番号３４２であってもよい。第１のメッセージは、ユーザデバイス１１０に、ユーザデバイス１１０の画面１１３に表示されるＧＵＩ１１１上に選択可能リンク２３１を表示させるように構成されるとともに、ＧＵＩ１１１に表示された選択可能リンク２３１の選択を示す選択指示を受信した後、アプリケーション識別子２３２を使用してアプリケーション５１２を起動させるように構成されている。一部の例では、第１のメッセージ２３０は、ユーザデバイス１１０によって受信されたとき、アプリケーション５１２を起動した後、アプリケーション５１２にユーザデバイス１１０に関連付けられた一意フィーチャ２２２を投入するようにさらに構成されている。ユーザデバイス１１０が、ユーザデバイス１１０をアプリケーション５１２に登録する確認を受信することに応じて、検証コード２３６はデータ処理ハードウェア８１０に送信される。一部の実装形態では、第１のメッセージ２３０は、ユーザデバイス１１０によって受信されるとき、ユーザデバイス１１０に、アプリケーション５１２が起動すると、ＧＵＩ１１１に確認通知５１４を表示することを行わせるようにさらに構成されている。確認通知５１４はボタンを含んでいてもよく、ボタンがユーザデバイス１１０のユーザ１０によって選択されることにより、ユーザデバイス１１０をアプリケーション５１２に登録するためのユーザ１０による確認が示され、ユーザデバイス１１０に、検証コード２３６のユーザ入力を必要とせずに、検証コード２３６をデータ処理ハードウェア８１０へと送信させる。
【００３１】
方法６００は、動作６０８において、データ処理ハードウェア８１０によって、ユーザデバイス１１０からの検証コード２３６を受信することに応じてユーザデバイス１１０をアプリケーション５１２に登録することを含む。一部の例では、ユーザデバイス１１０からの検証コード２３６が受信されたときにユーザデバイス１１０をアプリケーション５１２に登録することは、第１のメッセージ２３０がユーザデバイス１１０に送信されてから、検証コード２３６がユーザデバイス１１０から受信されるまでの期間が、検証コード２３６に関連付けられた有効期間閾値２３８を満たすかどうかを判定することを含む。期間が有効期間閾値２３６を満たす場合、ユーザデバイス１１０はアプリケーション５１２に登録される。あるいは、期間が有効期間閾値２３６を満たさない場合、データ処理ハードウェア８１０は、ユーザデバイス１１０に係るアプリケーション５１２への登録することを妨げる。期間が有効期間閾値を満たさない場合、方法６００は、一意フィーチャ２２２を使用して第２のメッセージをユーザデバイス１１０に送信することを含んでいてもよい。第２のメッセージは、一意フィーチャ２２２がユーザデバイス１１０に関連付けられていることを検証するために使用される新たな検証コード２３６を含んでいてもよい。
【００３２】
一部の実装形態では、方法６００は、ユーザデバイス１１０をアプリケーション５１２に登録した後、第２のメッセージ４３０をユーザデバイス１１０に送信することを含む。第２のメッセージ４３０は、ユーザデバイス１１０によって受信されるとき、ユーザデバイス１１０に、ユーザデバイス１１０のアプリケーション５１２への登録が成功したことをユーザデバイス１１０のユーザ１０に対して通知させる。
【００３３】
図７は、ユーザデバイス１１０のフィーチャ２２２を検証するための例示的な方法７００のフローチャートである。フローチャートは、ユーザデバイス１１０のデータ処理ハードウェア９１０において、ユーザデバイス１１０に関連付けられた電話番号３４２を検証するための選択可能リンク２３１を含む第１のメッセージ２３０を受信することにより、動作７０２から開始する。選択可能リンク２３１は、電話番号３４２および国コード３４０に対応するメタデータ２３４と、国コード３４０および電話番号３４２の各々がユーザデバイス１１０に関連付けられていることを検証するために使用される検証コード２３６と、を含む。一部の例では、選択可能リンク２３１は、アプリケーション５１２を識別するアプリケーション識別子２３２をさらに含み、アプリケーション５１２は、ユーザデバイス１１０をアプリケーション５１２に登録するために、ユーザデバイス１１０に関連付けられた国コード３４０および電話番号３４２を必要とする。この場合、方法７００は、選択指示を受信することに応じて、データ処理ハードウェア９１０によって、アプリケーション識別子２３２を使用して、ユーザデバイス上でアプリケーション５１２を起動することと、データ処理ハードウェア９１０によって、アプリケーション５１２に、ユーザデバイス１１０に関連付けられた国コード３４０および電話番号３４２を投入することと、をさらに含む。
【００３４】
方法７００は、動作７０４において、データ処理ハードウェア９１０によって、ユーザデバイス１１０上で実行するグラフィカルユーザインターフェース上に選択可能リンク２３１を表示することを含む。動作７０６において、方法７００は、データ処理ハードウェア９１０において、グラフィカルユーザインターフェースに表示された選択可能リンク２３１の選択を示す選択指示を受信することを含む。選択指示を受信した後、方法７００は、動作７０８において、データ処理ハードウェア９１０によって、ネットワーク１２２を介して、データ処理ハードウェア９１０と通信するサービス１２５に、検証コード２３６を送信することを含む。検証コード２３６は、サービス１２５が検証コード２３６を受信したことに応じて、サービス１２５に電話番号３４２がユーザデバイス１１０に関連付けられていることを検証させる。
【００３５】
一部の実装形態では、選択可能リンク２３１の選択を示す選択指示を受信した後、方法７００は、データ処理ハードウェア９１０によって、グラフィカルユーザインターフェース上に確認通知（例えば、ボタン）５１４を表示することと、データ処理ハードウェア９１０において、電話番号３４２がユーザデバイス１１０に関連付けられていることを検証するべく、確認ボタン５１４の選択を示す第２の選択指示を受信することと、を含む。方法７００は、第２の選択指示を受信することに応じて、データ処理ハードウェア９１０によって、検証コード２３６のユーザ入力を必要とせずに、検証コード２３６をサービス１２５に自動的に送信することと、をさらに含む。
【００３６】
任意選択により、方法７００は、第１のメッセージ２３０を受信する前に、データ処理ハードウェア９１０によって、ユーザデバイス１１０上でのアプリケーション５１２の起動、またはリソースへのアクセスを要求する要求をサービス１２５に送信することを含む。要求は、ユーザデバイス１１０に関連付けられた電話番号３４２を含み、サービス１２５は、要求によって受信された電話番号３４２を使用して、第１のメッセージ２３０をユーザデバイス１１０に送信する。
【００３７】
ソフトウェアアプリケーション（すなわち、ソフトウェアリソース）は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」を指す場合がある。アプリケーションの例には、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワード処理アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが含まれるが、これらに限定されない。
【００３８】
非一時的メモリは、コンピューティングデバイスによって使用するために一時的または永続的にプログラム（例えば、命令のシーケンス）またはデータ（例えば、プログラム状態情報）を格納するために使用される物理デバイスであり得る。非一時的メモリは、揮発性および／または不揮発性のアドレス可能な半導体メモリであり得る。不揮発性メモリの例には、フラッシュメモリおよび読み取り専用メモリ（ＲＯＭ）／プログラム可能な読み取り専用メモリ（ＰＲＯＭ）／消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）／電子的に消去可能なプログラム可能な読み取り専用が含まれるが、これらに限定されない。メモリ（ＥＥＰＲＯＭ）（例えば、通常、ブートプログラムなどのファームウェアに使用される）。揮発性メモリの例には、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、相変化メモリ（ＰＣＭ）、およびディスクまたはテープが含まれるが、これらに限定されない。
【００３９】
図８は、この文書で説明されているシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス８００の概略図である。コンピューティングデバイス８００は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的としている。ここに示されているコンポーネント、それらの接続と関係、およびそれらの機能は、例示のみを目的としており、本書で説明および／または主張されている発明の実装を制限することを意味するものではない。
【００４０】
コンピューティングデバイス８００は、プロセッサ８１０、メモリ８２０、記憶デバイス８３０、メモリ８２０に接続する高速インターフェース／コントローラ８４０、高速拡張ポート８５０、および低速バス８７０、および記憶装置８３０に接続する低速インターフェース／コントローラ８６０を含む。コンポーネント８１０、８２０、８３０、８４０、８５０、および８６０のそれぞれは、様々なバスを使用して相互接続されており、共通のマザーボードに、または必要に応じて他の方法で取り付けることができる。プロセッサ８１０は、メモリ８２０または記憶装置８３０に格納された命令を含む、コンピューティングデバイス８００内で実行するための命令を処理することができる。ハードウェア２０６、１４６は、高速インターフェース８４０に結合されたディスプレイ８８０などの外部入力／出力デバイス上のグラフィカルユーザインターフェース（ＧＵＩ）のグラフィカル情報を表示する。他の実装形態では、複数のメモリおよび／またはメモリのタイプとともに、必要に応じて、複数のプロセッサおよび／または複数のバスを使用することができる。また、複数のコンピューティングデバイス８００を接続することができ、各デバイスは、必要な操作の一部を提供する（例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）。
【００４１】
メモリ８２０は、コンピューティングデバイス８００内に非一時的に情報を格納する。メモリ８２０は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ８２０は、コンピューティングデバイス８００によって使用するために一時的または永続的にプログラム（例えば、命令のシーケンス）またはデータ（例えば、プログラム状態情報）を格納するために使用される物理デバイスであり得る。不揮発性メモリの例には、フラッシュメモリおよび読み取り専用メモリ（ＲＯＭ）／プログラム可能な読み取り専用メモリ（ＰＲＯＭ）／消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）／電子的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）が含まれるが、これらに限定されない（例えば、通常、ブートプログラムなどのファームウェアに使用される）。揮発性メモリの例には、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、相変化メモリ（ＰＣＭ）、およびディスクまたはテープが含まれるが、これらに限定されない。
【００４２】
記憶装置８３０は、コンピューティングデバイス８００に大容量記憶装置を提供することができる。いくつかの実装形態では、記憶装置８３０は、コンピュータ可読媒体である。様々な異なる実施形態では、記憶装置８３０は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリまたは他の同様のソリッドステートメモリ装置、またはストレージエリアネットワークまたはその他の構成における装置を含む装置のアレイであり得る。追加の実装では、コンピュータプログラム製品は、情報キャリアに具体的に具体化される。コンピュータプログラム製品は、実行されると、上記のような１つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ８２０、記憶装置８３０、またはプロセッサ８１０上のメモリなどの、コンピュータまたは機械で読み取り可能な媒体である。
【００４３】
高速コントローラ８４０は、コンピューティングデバイス８００の帯域幅集約型の動作を管理し、低速コントローラ８６０は、帯域幅集約型のより低い動作を管理する。このような職務の割り当ては例示に過ぎない。いくつかの実装形態では、高速コントローラ８４０は、メモリ８２０、ディスプレイ８８０（例えば、グラフィックプロセッサまたはアクセラレータを介して）、および様々な拡張カード（図示せず）を受け入れることができる高速拡張ポート８５０に結合される。いくつかの実装形態では、低速コントローラ８６０は、記憶装置８３０および低速拡張ポート８９０に結合されている。低速拡張ポート８９０は、様々な通信ポート（例えば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、イーサネットワイヤレス）を含んでいてもよく、例えばネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナなどの１つまたは複数の入力／出力デバイス、またはスイッチまたはルータなどのネットワークデバイスに結合することができる。
【００４４】
コンピューティングデバイス８００は、図に示されるように、いくつかの異なる形態で実装され得る。例えば、それは、標準サーバ８００ａとして、またはそのようなサーバ８００ａのグループ内での複数回のものとして、ラップトップコンピュータ８００ｂとして、またはラックサーバシステム８００ｃの一部として実装され得る。
【００４５】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子および／または光回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組み合わせで実現することができる。これらの様々な実装は、記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、データおよび命令を送信するために結合された、特別または汎用であり得る少なくとも１つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能および／または解釈可能な１つまたは複数のコンピュータプログラムでの実装を含むことができる。
【００４６】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる）は、プログラム可能なプロセッサのマシン命令を含み、高レベルの手続き型および／またはオブジェクト指向プログラミング言語、および／またはアセンブリ／機械語で実装され得る。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令および／またはデータをプログラム可能なプロセッサに提供するために使用される、任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、装置および／またはデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を指す場合があり、機械命令を機械可読信号として受信する機械可読媒体が含まれる。「機械可読信号」という用語は、プログラム可能なプロセッサに機械命令および／またはデータを提供するために使用される任意の信号を指す。
【００４７】
本明細書に記載のプロセスおよび論理フローは、１つまたは複数のプログラム可能なプロセッサによって実行でき、１つまたは複数のコンピュータプログラムを実行して、入力データを操作し、出力を生成することによって機能を実行する。プロセスとロジックフローは、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）やＡＳＩＣ（特定用途向け集積回路）などの特殊用途のロジック回路によっても実行できる。コンピュータプログラムの実行に適したプロセッサには、例として、汎用および特殊目的の両方のマイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の１つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令とデータを受信する。コンピュータの重要な要素は、命令を実行するためのプロセッサと、命令とデータを格納するための１つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを格納するための１つまたは複数の大容量記憶装置、例えば、磁気、光磁気ディスク、または光ディスクを含むか、またはデータを受信するか、データを転送するか、またはその両方に動作可能に結合される。ただし、コンピュータにそのようなデバイスが必要としない。コンピュータプログラムの命令およびデータを格納するのに適したコンピュータ可読媒体には、不揮発性メモリ、メディア、およびメモリデバイスの全ての形態が含まれ、例として、半導体メモリデバイス（例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス）、磁気ディスク（例えば、内蔵ハードディスクまたはリムーバブルディスク）光磁気ディスク、ＣＤＲＯＭおよびＤＶＤ−ＲＯＭディスクが含まれる。プロセッサとメモリは、特別な目的の論理回路によって補完または組み込むことができる。
【００４８】
ユーザとの対話を提供するために、本開示の１つまたは複数の態様は、ユーザに情報を表示するためのＣＲＴ（ブラウン管）、ＬＣＤ（液晶ディスプレイ）モニター、またはタッチスクリーン等のディスプレイデバイス、任意選択でユーザがコンピュータに入力を提供可能とするキーボードとポインティングデバイス（マウスやトラックボールなど）を有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど、任意の形態の感覚的フィードバックであり得る。また、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信できる。さらに、コンピュータは、ユーザが使用するデバイスとの間でドキュメントを送受信することにより、ユーザと対話できる。例えば、Ｗｅｂブラウザから受信した要求に応答して、ユーザのクライアントデバイス上のＷｅｂブラウザにＷｅｂページを送信する。
【００４９】
図９は、この文書に記載されたシステムおよび方法を実施するために使用され得る、例示的なユーザデバイス９００（例えば、図１のユーザデバイス１１０）のデータ処理ハードウェアの概略図である。示されている例で、ユーザデバイス９００は、処理デバイス９１０、記憶デバイス９２０、ネットワークインターフェース９３０、およびユーザインターフェース９４０を含む。
【００５０】
処理デバイス９１０（例えば、データ処理ハードウェア）は、コンピュータ可読命令を格納するメモリ（例えば、ＲＡＭおよび／またはＲＯＭ）と、コンピュータ可読命令を実行する１つまたは複数のプロセッサとを含む。処理デバイス９１０が２つ以上のプロセッサを含む実装では、プロセッサは、分散された方法または個別の方法で実行することができる。処理デバイス９１０は、検索アプリケーション９１２、ウェブブラウザ９１８、オペレーティングシステム９１６、および１つまたは複数のネイティブアプリケーション９１４を実行することができ、これらはすべて、コンピュータ可読命令として具体化することができる。記憶デバイス９２０は、１つまたは複数のコンピュータ可読媒体（例えば、ハードディスクドライブおよび／またはフラッシュメモリ）を含む。記憶デバイス９２０は、検索アプリケーション９１２、ウェブブラウザ９１８、オペレーティングシステム９１６、および１つまたは複数のネイティブアプリケーション９１４を構成するコンピュータ可読命令を格納することができる。ネットワークインターフェース９３０は、ネットワークで通信するように構成された１つまたは複数のデバイスを含む。ネットワークインターフェース９３０は、有線または無線通信を実行するための１つまたは複数のトランシーバを含むことができる。ネットワークインターフェース９３０の例には、ＩＥＥＥ  ８０２．１１無線規格を使用して通信を実行するように構成されたトランシーバ、イーサネットポート、無線送信機、およびユニバーサルシリアルバス（ＵＳＢ）ポートが含まれ得るが、これらに限定されない。ユーザインターフェース９４０は、ユーザから入力を受信し、および／またはユーザに出力を提供する１つまたは複数のデバイスを含む。ユーザインターフェース９４０は、タッチスクリーン、ディスプレイ、ＱＷＥＲＴＹキーボード、テンキー、タッチパッド、マイクロフォン、および／またはスピーカーを含むことができるが、これらに限定されない。
【００５１】
いくつかの実装形態が説明されている。しかしながら、本開示の趣旨および範囲から逸脱することなく、様々な変更を行うことができることが理解されるであろう。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【図１】
2022501757.tif 000003
【図２】
2022501757.tif 000004
【図３】
2022501757.tif 000005
【図４】
2022501757.tif 000006
【図５】
2022501757.tif 000007
【図６】
2022501757.tif 000008
【図７】
2022501757.tif 000009
【図８】
2022501757.tif 000010
【図９】
2022501757.tif 000011
【国際調査報告】
2022501757.tif 000012
2022501757.tif 000013
2022501757.tif 000014