(57)【特許請求の範囲】
【請求項１】
デバイスにより、文字シーケンスを含む第１ウェブページに対するＨＴＴＰリクエストを送信することと、
前記デバイスにより、ウェブサイトコンテンツを含む、第２のウェブページを受信することであって、前記第２のウェブページは前記文字シーケンスを含まないことと、
イベントリスナを使用して、前記第２のウェブページが認証クレデンシャルを要求するキャプティブポータルページであることを示すイベント通知を検出することと、
前記デバイスにより、実行可能スクリプトを前記キャプティブポータルページの少なくとも一部に関連付けすること、または、前記デバイスにより、前記第２のウェブページ中に前記実行可能スクリプトを埋め込むことと、
電子ディスプレイにより、前記ウェブサイトコンテンツを表示することであって、前記ウェブサイトコンテンツを表示することは、前記電子ディスプレイの第１の数のピクセルを使用して、第１ユーザインターフェース（ＵＩ）オブジェクトを表示することを備える、前記ウェブサイトコンテンツを表示することと、
前記デバイスにより、前記実行可能スクリプトを実行し、前記第１ＵＩオブジェクトが現在選択されていることを示すように前記第１ＵＩオブジェクトを目立たせるために、境界線を前記第１ＵＩオブジェクトと関連して表示することと、
前記デバイスにより、前記第１ＵＩオブジェクトとの相互作用を検出することと、
前記デバイスにより、コンテンツ源からのデータを受信することと、
を備え、
前記第１ＵＩオブジェクトおよび前記境界線は、第２の数のピクセルを使用して一緒に表示され、前記第２の数のピクセルは前記第１の数のピクセルより多い、方法。
【請求項２】
前記イベント通知の検出に基づいて、ウェブページを表示するための構成要素に前記キャプティブポータルページを表示するように構成されるキャプティブポータルアプリケーションを起動すること
をさらに備える、請求項１に記載の方法。
【請求項３】
前記ＨＴＴＰリクエストは第１ＨＴＴＰリクエストであり、前記キャプティブポータルページは、無線ルータから受信され、前記キャプティブポータルページの第１インスタンスであり、前記方法はさらに、
第３ウェブページに対する第２ＨＴＴＰリクエストを生成し、
前記第２ＨＴＴＰリクエストを前記無線ルータに送信し、
前記キャプティブポータルページの第２インスタンスを前記無線ルータから受信し、前記実行可能スクリプトは前記キャプティブポータルページの前記第２インスタンスに関連付けられ、前記キャプティブポータルページの前記第２インスタンスは前記構成要素を使用して表示される、前記第２インスタンスを受信することと、
を備える、請求項１に記載の方法。
【請求項４】
前記構成要素を使用して、前記電子ディスプレイ上に前記ウェブページを表示することはさらに、第２ＵＩオブジェクトを表示することを備え、前記方法はさらに
キャプティブポータルアプリケーションにより、前記第２ＵＩオブジェクトが選択されたことを判定することと、
前記実行可能スクリプトの実行により、前記第１ＵＩオブジェクトより目立つように前記第２ＵＩオブジェクトを表示するため及び前記第２ＵＩオブジェクトが選択され前記第１ＵＩオブジェクトが選択されなかったことを示すために、印を表示することと
を備える、請求項１に記載の方法。
【請求項５】
前記電子ディスプレイにより前記ウェブサイトコンテンツを表示することは、第２のＵＩオブジェクトを表示することをさらに備え、
前記方法は、
リモートコントロールデバイスから信号を受信することであって、前記信号は前記リモートコントロールデバイスのボタンの選択を示す、前記信号を受信することと、
前記ボタンの選択に関連付けられる第１デバイス動作に対応するイベントを生成することと、
前記イベントを検出することと、
キャプティブポータルアプリケーションにより、アプリケーションプログラムインターフェースを生成し、前記第１デバイス動作の代わりに第２デバイス動作を行わせ、前記第２デバイス動作は前記第１ＵＩオブジェクトから前記第２ＵＩオブジェクトにナビゲートすることを備える、前記アプリケーションプログラムインターフェースを生成することと、
をさらに備える、請求項１に記載の方法。
【請求項６】
前記第２ウェブページの第１位置にグラフィカルインジケータを表示することであって、前記グラフィカルインジケータは前記電子ディスプレイ上に表示された前記第２ウェブページの任意の位置へのナビゲーションを可能にする、前記グラフィカルインジケータを表示することと、
リモートコントロールデバイスから信号を受信することであって、前記信号は前記リモートコントロールデバイスのボタンの選択を示す、前記信号を受信することと、
前記ボタンの選択に関連付けられる第１デバイス動作に対応する第１イベントを生成することと、
前記第１デバイス動作が行われることを防ぐために、前記第１イベントを受信することと、
第２デバイス動作に対応する第２イベントを生成することと、
前記リモートコントロールデバイスからの前記信号の受信中に前記第２デバイス動作を行うことであって、前記第２デバイス動作を行うことは、前記第２ウェブページの複数の追加位置にある前記グラフィカルインジケータを連続的に前記ボタンに対応する方向に表示することを備える、前記第２デバイス動作を行うことと、
をさらに備える、請求項１に記載の方法。
【請求項７】
前記キャプティブポータルページを介して、ユーザ認証クレデンシャルを受信することと、
認証リクエストを生成することと、
前記認証リクエストを無線ルータに送信することと、
認証レスポンスを前記無線ルータから受信することであり、前記認証レスポンスは前記無線ルータが前記デバイスを認証したことを示すランディングページを備える、前記認証レスポンスを受信することと、
前記無線ルータから第３ウェブページを受信することと、
前記デバイスにより、前記第３ウェブページが前記文字シーケンスを含むと判定することと、
前記デバイスにより、キャプティブポータルアプリケーションを終了することと
をさらに備える、請求項１に記載の方法。
【請求項８】
コンピュータ実行可能命令を記憶する少なくとも１つのメモリと、
前記少なくとも１つのメモリに動作可能に連結され、前記少なくとも１つのメモリにアクセスし、前記コンピュータ実行可能命令を実行するように構成される少なくとも１つのプロセッサと
を備え、
前記コンピュータ実行可能命令は、
文字シーケンスを含む第１ウェブページに対するＨＴＴＰリクエストを送信し、
ウェブサイトコンテンツを含む、第２のウェブページを受信し、前記第２のウェブページは前記文字シーケンスを含まない、
イベントリスナを使用して、前記第２のウェブページが認証クレデンシャルを要求するキャプティブポータルページであることを示すイベント通知を検出し、
実行可能スクリプトを前記キャプティブポータルページの少なくとも一部に関連付けし、または、前記第２のウェブページ中に前記実行可能スクリプトを埋め込み、
電子ディスプレイにより前記ウェブサイトコンテンツを表示し、前記ウェブサイトコンテンツを表示することは、前記電子ディスプレイの第１の数のピクセルを使用して、第１ユーザインターフェース（ＵＩ）オブジェクトを表示し、
前記第１ＵＩオブジェクトが現在選択されていることを示すように前記第１ＵＩオブジェクトを目立たせるために、前記実行可能スクリプトを実行し、境界線を前記第１ＵＩオブジェクトに関連して表示し、
前記第１ＵＩオブジェクトとの相互作用を検出し、
前記デバイスにより、コンテンツ源からのデータを受信し、
前記第１ＵＩオブジェクトおよび前記境界線は、第２の数のピクセルを使用して一緒に表示され、前記第２の数のピクセルは前記第１の数のピクセルより多い、デバイス。
【請求項９】
前記少なくとも１つのプロセッサは、
前記イベント通知の検出に基づいて、キャプティブポータルアプリケーションを起動し、前記キャプティブポータルアプリケーションは、ウェブページを表示するための構成要素に前記キャプティブポータルページを表示するように構成される、
前記コンピュータ実行可能命令を実行するようにさらに構成される、請求項８に記載のデバイス。
【請求項１０】
前記ＨＴＴＰリクエストは第１ＨＴＴＰリクエストであり、前記キャプティブポータルページは、無線ルータから受信され、前記キャプティブポータルページの第１インスタンスであり、前記少なくとも１つのプロセッサは、
第３ウェブページに対する第２ＨＴＴＰリクエストを生成し、
前記第２ＨＴＴＰリクエストを前記無線ルータに送信し、
前記キャプティブポータルページの第２インスタンスを前記無線ルータから受信し、前記実行可能スクリプトは前記キャプティブポータルページの前記第２インスタンスに関連付けられ、前記キャプティブポータルページの前記第２インスタンスは、ウェブページを表示するための構成要素を使用して表示される、
前記コンピュータ実行可能命令を実行するようにさらに構成される、請求項８に記載のデバイス。
【請求項１１】
前記構成要素を使用して、前記電子ディスプレイ上に前記ウェブページを表示することは、第２ＵＩオブジェクトを表示することをさらに備え、前記少なくとも１つのプロセッサは、
前記第２ＵＩオブジェクトが選択されたと判定し、
前記第１ＵＩオブジェクトよりも目立つように前記第２ＵＩオブジェクトを表示するため及び前記第２ＵＩオブジェクトが選択され、前記第１ＵＩオブジェクトが選択されなかったことを示すために、前記実行可能スクリプトの実行により、印を表示する、
前記コンピュータ実行可能命令を実行するようにさらに構成される、請求項８に記載のデバイス。
【請求項１２】
前記電子ディスプレイにより前記ウェブサイトコンテンツを表示することは、第２のＵＩオブジェクトを表示することをさらに備え、
前記少なくとも１つのプロセッサは、
リモートコントロールデバイスから信号を受信することであり、前記信号は前記リモートコントロールデバイスのボタンの選択を示し、
前記ボタンの選択に関連付けられる第１デバイス動作に対応する第１イベントを生成することと、
前記第１デバイス動作が実行されることを防ぐための前記第１イベントを受信することと、
第２デバイス動作を行わせるアプリケーションプログラムインターフェースを生成し、前記第２デバイス動作は前記第１ＵＩオブジェクトから前記第２ＵＩオブジェクトにナビゲートすることを備える、請求項８に記載のデバイス。
【請求項１３】
前記少なくとも１つのプロセッサは、
リモートコントロールデバイスから信号を受信し、前記信号は前記リモートコントロールデバイスのボタンの選択を示し、
前記ボタンの選択に関連付けられる第１デバイス動作に対応する第１イベントを生成し、
前記第２ウェブページの第１位置にグラフィカルインジケータを表示し、前記グラフィカルインジケータは前記電子ディスプレイ上に表示された前記第２ウェブページの任意の位置へのナビゲーションを可能にし、
前記第１デバイス動作が行われることを防ぐために、前記第１イベントを受信し、
第２デバイス動作に対応する第２イベントを生成し、
前記リモートコントロールデバイスからの前記信号の受信中に前記第２デバイス動作を行い、前記第２デバイス動作を行うことは、前記キャプティブポータルページの複数の追加位置にある前記グラフィカルインジケータを連続的に前記ボタンに対応する方向に表示することを備える、
前記コンピュータ実行可能命令を実行するようにさらに構成される、請求項８に記載のデバイス。
【請求項１４】
前記少なくとも１つのプロセッサは、
前記キャプティブポータルページを介して、ユーザ認証クレデンシャルを受信し、
認証リクエストを生成し、
前記認証リクエストを前記無線ルータに送信し、
前記ユーザ認証クレデンシャルが認証されたことを示す認証レスポンスを前記無線ルータから受信し、
前記ＨＴＴＰリクエストを前記無線ルータに送信し、
前記無線ルータから第３ウェブページを受信し、
前記第３ウェブページが前記文字シーケンスを含むと判定し、
キャプティブポータルアプリケーションを終了する、
前記コンピュータ実行可能命令を実行するようにさらに構成される、請求項８に記載のデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
モバイルデバイスの使用が増加し、公共の場所における無線ローカルエリアネットワーク（ＬＡＮ）の利用可能性が高まった結果、ユーザは、レストラン、ホテルなどの様々な公共の場所からインターネットへのアクセスしようとしている。特定の事例では、パブリックＬＡＮ（例えば、Ｗｉ‐Ｆｉホットスポット）は、ユーザデバイスがＬＡＮを通じてインターネットにアクセスすることを許可する前に、ユーザデバイスを認証することを要求するセキュアネットワークとなり得る。セキュアなパブリックネットワークは、ユーザデバイスを認証するために、ネットワークに対する認証クレデンシャルを受信するためのランディングページにブラウザアプリケーションをリダイレクトし得る。
【０００２】
添付図面を参照して詳細な説明を記載する。図面は、説明のみを目的として提供され、本開示の実施形態例を図示するに過ぎない。図面は本開示の理解を促すために提供され、本開示の広さ、範囲または利用可能性を限定するとみなされないものとする。図面において、参照番号の左端の桁（複数可）は、参照番号が最初に現れる図面と一致する。同じ参照番号の使用は、類似の構成要素を示すが、必ずしも同一または等しい構成要素を示すわけではない。しかしながら、類似の構成要素をも識別するために異なる参照番号を使用してよい。種々の実施形態は図面に例示される以外の要素または構成要素を利用してよく、一部の要素及び／または構成要素は種々の実施形態に存在しない場合がある。単一の構成要素または要素を記載するための単数形の用語の使用は、文脈に応じて、複数の係る構成要素または要素を包含することがあり、逆も同様である。
【図面の簡単な説明】
【０００３】
【図１Ａ】本開示の１つ以上の実施形態例に従う、キャプティブポータルページへのハイパーテキストトランスファプロトコル（ＨＴＴＰ）リダイレクト及びキャプティブポータルページの受信に基づく、コンテンツストリーミングデバイス上でのキャプティブポータルアプリケーションの起動を例示する模式図である。
【図１Ｂ】本開示の１つ以上の実施形態例に従う、カスタマイズされたユーザインターフェースを使用して、キャプティブポータルアプリケーションにより、キャプティブポータルページを電子ディスプレイ上に表示することを例示する模式図である。
【図２Ａ】本開示の１つ以上の実施形態例に従う、表示されたキャプティブポータルページの種々の選択可能要素間でのナビゲーションを例示するユーザインターフェース例を図示する。
【図２Ｂ】本開示の１つ以上の実施形態例に従う、表示されたキャプティブポータルページの種々の選択可能要素間でのナビゲーションを例示するユーザインターフェース例を図示する。
【図３】本開示の１つ以上の実施形態例に従う、キャプティブポータルページを介して受信したユーザ認証クレデンシャルを基にコンテンツストリーミングデバイスを認証するリクエスト及びレスポンスメカニズムを例示する模式図である。
【図４】本開示の１つ以上の実施形態例に従う、ネットワーク接続の構築が成功したことを確認し、キャプティブポータルアプリケーションを終了するリクエスト及びレスポンスメカニズムを例示する模式図である。
【図５】本開示の１つ以上の実施形態例に従う、ＨＴＴＰリダイレクト及びキャプティブポータルページの受信に基づく、コンテンツストリーミングデバイス上でのキャプティブポータルアプリケーションの起動を介して、キャプティブポータルページを受信するための例示的な方法のプロセスフロー図である。
【図６】本開示の１つ以上の実施形態例に従う、表示されたキャプティブポータルページの選択可能要素間でナビゲートするための例示的な方法のプロセスフロー図である。
【図７】本開示の１つ以上の実施形態例に従う、キャプティブポータルページを介して受信したユーザ認証クレデンシャルを基にコンテンツストリーミングデバイスを認証し、ネットワーク接続の構築が成功したことを確認し、キャプティブポータルアプリケーションを終了する例示的な方法のプロセスフロー図である。
【図８】本開示の１つ以上の実施形態例に従う、例示的なデバイスアーキテクチャの模式図である。
【発明を実施するための形態】
【０００４】
本開示は、とりわけ、コンテンツストリーミングデバイス上で実行可能なキャプティブポータルアプリケーションのカスタマイズされたユーザインターフェース（ＵＩ）を使用して、キャプティブポータルウェブページなどのウェブページを、コンテンツストリーミングデバイスに動作可能に連結される電子ディスプレイ上に表示するデバイス、システム、方法、コンピュータ可読媒体、技法及び方法論に関する。キャプティブポータルアプリケーションのＵＩは、ユーザとハンドヘルド型モバイルデバイスとの通常の距離よりも長い距離で見るためにカスタマイズされ得る。例えば、キャプティブポータルアプリケーションのＵＩは、大型テレビジョン上で見るために設計されたグラフィカルユーザインターフェース（ＧＵＩ）であってよく、距離約１０フィートなどの比較的遠い距離から容易に読めるディスプレイ要素（例えば、メニュー、ボタン、テキストフォント）を含み得る。これは、「１０フットＵＩ」または「１０フット体験」とも称され得る。
【０００５】
セキュアな無線ＬＡＮ（例えば、セキュアなＷｉ‐Ｆｉネットワーク）は様々な種類の公共の場所のいずれかでアクセス可能であり得る。パブリックＷｉ‐Ｆｉネットワークがセキュアな場合、ユーザデバイスはセキュアなＷｉ‐Ｆｉネットワークを介してインターネットにアクセスすることを許可される前に、認証される必要があり得る。通常、ユーザデバイス、またはより詳細には、ユーザデバイス上で実行するブラウザアプリケーションは、ブラウザの起動に応答して、または特定のウェブページにアクセスするユーザリクエストに応答して、キャプティブポータルページにリダイレクトされ得る。セキュアなネットワークにアクセスするための認証クレデンシャルがキャプティブポータルページを介して提供され得る。ユーザデバイスが認証クレデンシャルを基に認証に成功する場合、ユーザデバイスはセキュアなＷｉ‐Ｆｉネットワークへのアクセスを許可され、したがってインターネットへのアクセスを許可され得る。
【０００６】
本開示の特定の実施形態例に従い、コンテンツストリーミングデバイスはテレビジョンなどのディスプレイデバイスに取り外し可能に連結され得る。テレビジョンは、ホテルの部屋などの公共の場所に提供され得る。セキュアな無線ＬＡＮ（例えば、セキュアなＷｉ‐Ｆｉネットワーク）はホテルの部屋での接続に利用可能であり得る。セキュアな無線ＬＡＮは、例えば、電気電子技術者協会（ＩＥＥＥ）８０２．１１、無線通信プロトコル（「Ｗｉ‐Ｆｉ」）、Ｗｉ‐Ｆｉダイレクト、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線通信プロトコル、近距離無線通信（ＮＦＣ）プロトコルなどのいずれかを利用し得る。無線ＬＡＮは、有線同等機密（ＷＥＰ）、Ｗｉ‐Ｆｉ保護アクセス（ＷＰＡ）、ＷＰＡ２などを含むが、これらに限定されない任意の適切な暗号化アルゴリズムを使用してセキュアにされ得る。ＷＥＰを使用する場合、６４ビット、１２８ビット、１５２ビットまたは２５６ビットのＷＥＰキーが使用され得る。ＷＰＡまたはＷＰＡ２は、これにより新規１２８ビットキーが各パケットに生成され得るテンポラルキーインテグリティプロトコル（ＴＫＩＰ）を利用し得る。セキュアなネットワーク（セキュアな無線ＬＡＮなど）はさらに、暗号化されていない通信がユーザデバイスとアクセスポイント間で送信されるネットワークを含み得る。アクセスポイントはパスワードを要求しないが、認証デバイスのみがセキュアなネットワークを通じて別のネットワーク（例えば、インターネット）にアクセス可能になるゲートウェイセキュリティを実装する。デバイスは、クッキー、インターネットプロトコル（ＩＰ）アドレス、メディアアクセス制御（ＭＡＣ）アドレスまたはデバイスに関連付けられる他の識別子を基に、認証デバイスと判定され得る。さらに、デバイスは、アクセスポイントを他のネットワーク（複数可）へのゲートウェイとして使用する条件が受け入れられたことを示すデータを基に、認証デバイスと判定され得る。
【０００７】
コンテンツストリーミングデバイスは、まず無線ネットワークとの接続を構築してよく、説明の目的上、これをＷｉ‐Ｆｉネットワークとみなす。例えば、ユーザは接続に利用可能な無線ネットワークのリストからネットワークを選択してよく、またはコンテンツストリーミングデバイスは自動的に接続を構築し得る。コンテンツストリーミングデバイスはその後、既知の文字シーケンスを含む特定のウェブページに対してＨＴＴＰ  ＧＥＴリクエストを生成し得る。ＨＴＴＰ  ＧＥＴリクエストはＷｉ‐Ｆｉネットワークに連結する無線ルータにより受信され得る。無線ルータは、コンテンツストリーミングデバイスがネットワーク上で認証されなかったと判定してよく、キャプティブポータルページをホストするホストサーバにＨＴＴＰリクエストをリダイレクトしてよい。無線ルータはホストサーバからキャプティブポータルページを受信し、コンテンツストリーミングデバイスにキャプティブポータルページを送信し得る。無線ルータは、コンテンツストリーミングデバイスが、例えば、デバイスのネットワークインターフェースのメディアアクセス制御（ＭＡＣ）アドレスなど、デバイスに関連付けられる識別子を基には認証されないことを判定し得る。例えば、無線ルータはコンテンツストリーミングデバイスに対するＭＡＣアドレスと認証デバイスに関連付けられるＭＡＣアドレスのセットとを比較し、コンテンツストリーミングデバイスに対するＭＡＣアドレスが当該セット内に存在しないと判定し得る。特定の実施形態例では、有効期限（ＴＴＬ）値が各ＭＡＣアドレスにセットで関連付けられてよく、これは対応するデバイスが認証される継続時間を示す。
【０００８】
コンテンツストリーミングデバイスは、受信されたリソースが要求されたウェブページに既知の文字シーケンスを含まないと判定することにより、キャプティブポータルページが受信されたと判定し得る。キャプティブポータルページが受信されたと判定すると、コンテンツストリーミングデバイスはキャプティブポータルページが受信されたことを示すイベント通知を生成し得る。イベントリスナは、恐らくはデバイス上で実行可能なキャプティブポータルアプリケーションの一部として、コンテンツストリーミングデバイス上に提供され得る。イベントリスナは、イベント通知をリッスンするように構成されてよく、リスナによりイベント通知を検出すると、コンテンツストリーミングデバイス上でキャプティブポータルアプリケーションが起動し得る。
【０００９】
キャプティブポータルアプリケーションはウェブページを表示するためのウェブビューオブジェクトまたは構成要素を含み得るか、活用し得る。例えば、キャプティブポータルアプリケーションは、ウェブページをウェブビューオブジェクト内に表示するよう、表示エンジンに命令し得る。キャプティブポータルアプリケーションは、長距離で見るためにカスタマイズされた（例えば、テレビジョンディスプレイ、コンピュータモニタなどのためにカスタマイズされた）ＵＩを含み得る。
【００１０】
特定の実施形態例では、起動時に、キャプティブポータルアプリケーションは特定のウェブページに対して第２ＨＴＴＰリクエストを生成してよく、第２ＨＴＴＰリクエストはデフォルトホームページにリダイレクトし得る。この第２ＨＴＴＰ  ＧＥＴリクエストは無線ルータに送信されてよく、コンテンツストリーミングデバイスがキャプティブポータルネットワーク上でまだ認証されていないため、無線ルータはコンテンツストリーミングデバイスをキャプティブポータルページにリダイレクトし得る。詳細には、無線ルータは、キャプティブポータルページをホストするホストサーバに第２ＨＴＴＰ  ＧＥＴリクエストをリダイレクトし、ホストサーバからキャプティブポータルページを受信し、コンテンツストリーミングデバイス上で実行するキャプティブポータルアプリケーションにキャプティブポータルページを送信し得る。この第２ＨＴＴＰ  ＧＥＴリクエストは、無線ルータがデフォルトホームページを「ホワイトリスト」に入れたという可能性を考慮し、これにより、デフォルトホームページではなくキャプティブポータルページがキャプティブポータルアプリケーションにより無線ルータから確実に受信されるよう、自動的に生成され得る。
【００１１】
キャプティブポータルページを受信すると、キャプティブポータルアプリケーションは、ウェブビューオブジェクトを使用してキャプティブポータルページを表示させ得る。より詳細には、キャプティブポータルアプリケーションは、キャプティブポータルページをウェブビューオブジェクトに表示するよう、表示エンジンに命令し得る。キャプティブポータルページはボタン、アイコン、メニューなどの種々の選択可能ＵＩ要素を含み得る。表示されたウェブページ上に表示され、ユーザと相互作用し得る（選択またはナビゲートする）あらゆるＵＩ要素が選択可能要素となり得る。各選択可能ＵＩ要素はフォーカスアウトラインに関連付けられてもよく、フォーカスアウトラインは選択可能要素の周りに表示される境界線、または選択可能ＵＩ要素が現在選択されているＵＩ要素であることを示すいくつかの他の印であり得る。選択可能ＵＩは、本明細書ではさらに選択可能要素、選択可能オブジェクト、選択可能ＵＩオブジェクトなどと称され得る。
【００１２】
選択可能ＵＩ要素に対するフォーカスアウトラインは、選択可能ＵＩ要素がナビゲートされる際に表示され得る。特定の実施形態例では、特定の選択可能ＵＩ要素に対するフォーカスアウトラインはウェブページとの任意のユーザ相互作用の前である、ウェブページの表示時に表示され得る。この特定の選択可能ＵＩ要素は、ユーザがウェブページ上の他の選択可能ＵＩ要素にナビゲートし得るデフォルトの選択可能要素であり得る。ウェブページ用のオリジナルソースコードは、電子ディスプレイ、特に、テレビジョン画面などの大型ディスプレイ上で表示される際に実質的に知覚できない選択可能ＵＩ要素に対するフォーカスアウトラインを規定し得る。これにより、特定の実施形態例では、キャプティブポータルアプリケーションは、ウェブページのオリジナルソースコードに規定されるフォーカスアウトラインをオーバーライドするために、コンピュータ実行可能スクリプト（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）などの動的プログラミング言語で記述されたコンピュータ実行可能コード）をウェブページに埋め込み、ウェブページの各選択可能ＵＩ要素が選択された際に、より目立つフォーカスアウトラインを表示させ得る。コンピュータ実行可能スクリプトは任意の適切なコンピュータ実行可能命令、コードなどを含み得る。
【００１３】
本開示の特定の実施形態例では、スクリプトはウェブビューオブジェクトを使用して、キャプティブポータルページ用のソースコードに埋め込まれ得る。特に、ウェブビューオブジェクトは、スクリプトをパラメータとして受信するそれ自体のインターフェース上に規定される機能を含み得る。より詳細には、スクリプトは、キャプティブポータルページ用のソースコードにスクリプトを埋め込ませる機能を呼び出す一環として、引数として機能に渡され得る。機能は、プログラム命令のシーケンスまたはセットを実行させ、スクリプトを埋め込むか、別様にはウェブページのソースコードに関連付けさせる任意のルーチン、サブルーチン、プロシージャなどを含み得る。本明細書で使用する場合、機能という用語は、ルーチン、サブルーチン、プロシージャまたは実行されると１つ以上の動作を行わせるプログラム命令の任意の他のシーケンスまたはセットを含む。スクリプトはウェブページのソースコードに埋め込まれるものとして本明細書に記載されるが、スクリプトは、ウェブページのソースコードに関連付けられる外部スクリプトであってよいことを理解すべきである。
【００１４】
スクリプトはキャプティブポータルページをウェブビューオブジェクトに表示した後に、または少なくとも部分的に同時に、実行され得る。スクリプトの実行により、特定の選択可能ＵＩ要素が選択されると、選択可能ＵＩ要素に対するデフォルトフォーカスアウトラインの代わりに、選択されたＵＩ要素に対してより目立つフォーカスアウトラインが表示され得る。より目立つフォーカスアウトラインは選択可能ＵＩ要素の周りにより厚い境界線を含み得る、かつ／またはデフォルトフォーカスアウトラインとは異なる色もしくは色調となり得る。しかしながら、フォーカスアウトラインをより目立たせるために任意の適切な印が表示され得ることを理解すべきである。
【００１５】
ユーザがウェブビューオブジェクトで表示されるウェブページ（例えば、キャプティブポータルページ）の選択可能ＵＩ要素間でナビゲートするため、表示されるフォーカスアウトラインは現在選択されているＵＩ要素に応じて変化し得る。例えば、ユーザが第１選択可能ＵＩ要素から第２選択可能ＵＩ要素にナビゲートする場合、第１ＵＩ要素に対する、より目立つフォーカスアウトラインはもはや表示されなくてよく、第２ＵＩ要素に対するフォーカスアウトラインがより目立つように表示されてよい。このように、現在選択されている選択可能ＵＩ要素に対してより目立つフォーカスアウトラインを表示することにより、カスタマー体験が向上し得る。
【００１６】
ユーザは、コンテンツストリーミングデバイスと相互作用するためにリモートコントロールデバイスを利用し得る。例えば、ユーザは、表示されたウェブページ上の選択可能要素間をナビゲートするために、リモートコントロールデバイスを利用し得る。リモートコントロールデバイスは物理ボタンまたはタッチインターフェースを有する物理的なスタンドアロン型リモートコントロールであり得る。代替的には、リモートコントロールデバイスはスマートフォン、タブレットまたはリモートコントロールアプリケーションを内部で実行する類似デバイスであり得る。リモートコントロールデバイスは、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ、Ｗｉ‐Ｆｉダイレクト、赤外線（ＩＲ）などを含むがこれらに限定されない、任意の適切な通信技術またはプロトコルを使用してコンテンツストリーミングデバイスと通信し得る。リモートコントロールデバイスは直角４方向のナビゲーション及びタッチインターフェースまたはクリックインターフェースのタップまたはクリックにそれぞれ相当するアクションの選択を可能にする５方向カーソルコントロールを含み得る。５方向カーソルコントロールは直角４方向のボタンを含む物理的な方向パッド及び中央ボタンであってよく、あるいはタッチインターフェースの一部として提供されてよい。
【００１７】
特定の実施形態例では、ユーザがリモートコントロールデバイスの特定のボタンを選択すると、信号が生成され、コンテンツストリーミングデバイスに伝達され得る。信号の受信時に、コンテンツストリーミングデバイスは選択されたボタンに関連付けられる第１デバイス動作を示す第１イベントを生成し得る。例えば、右方向ボタンの選択では、第１デバイス動作は、カルーセルにあるコンテンツアイテムを表すＵＩ表示間の右方向へのナビゲーションに相当し得る。キャプティブポータルアプリケーションは第１イベントを傍受し、第１デバイス動作とは異なる第２デバイス動作に相当する第２イベントを生成し得る。例えば、右方向ボタンの選択では、第２デバイス動作はウェブページ上の第１選択可能ＵＩ要素から第１ＵＩ要素の右に横方向に配置される第２選択可能ＵＩ要素へのナビゲーションに相当し得る。同様に、キャプティブポータルアプリケーションはリモートコントロールデバイスの特定のボタンが選択される際に生成される各イベントを傍受し、表示されたウェブページ上で行われる動作に対応する新規イベントを生成し得る。例えば、キャプティブポータルアプリケーションはリモートコントロールデバイス上の巻き戻しボタンを、ロードされた、前のウェブページに戻るための機能に関連付けてよく、早送りボタンを、ロードされた、次のウェブページに進むための機能に関連付けてよく、再生／一時停止ボタンを、ウェブページを再更新または再ロードするための機能に関連付けてよく、５方向カーソルコントロールの中央ボタンを、ウェブページ上のボタンまたはアイコンの選択（タッチインターフェースまたはクリックインターフェースのタップまたはクリックにそれぞれ相当する）に関連付けるなどであってよい。イベントの傍受は、イベントをパラメータとして機能に渡すこと及びイベントに関連付けられるデフォルトデバイス動作を行わせないように機能を呼び出すことを含み得る。
【００１８】
特定の実施形態例では、選択可能ＵＩ要素間のナビゲーションが機能しなくなり得る。例えば、特定のＵＩ要素は選択可能であるが、フォーカスアウトラインに関連付けることができないことがある。別の例として、タッチスクリーンデバイス上の表示用に設計されたウェブページは、ウェブページのルックアンドフィールまたは機能性を損なう可能性があるため、特定のＵＩ要素に対してフォーカスアウトラインを表示できないことがある。更に別の例では、フォーカスアウトラインがウェブページ上の選択可能ＵＩ要素に関連付けられていてもよいが、ユーザがＵＩ要素を選択しようと試みると、ウェブページがイベントを傍受し、予期せぬ機能性を発生し得る。
【００１９】
これにより、特定の実施形態例では、グラフィカルインジケータ（例えば、カーソル）がウェブページに関連して電子ディスプレイ上に表示され得るバックアップナビゲーションメカニズムが提供され得る。カーソルはリモートコントロールデバイスの５方向カーソルコントロールの４方向ボタンを介して制御され得る。特に、ユーザが特定の方向ボタンを選択すると（例えば、右ボタン）、リモートコントロールデバイスにより信号が生成され、コンテンツストリーミングデバイスに送信され得る。コンテンツストリーミングデバイスは、右方向ボタンの選択に関連付けられる標準的なデバイス動作に対応する第１イベントを生成し得る。キャプティブポータルアプリケーションは第１イベントを傍受し、ディスプレイ上のカーソルの右方向の動きに対応する第２イベントを生成し得る。特定の実施形態例では、ユーザが方向ボタンを押下し続けると、カーソルの動きは高速化し得る。より詳細には、キャプティブポータルアプリケーションは、信号を受信している間は特定の速さで連続的にカーソルを表示するよう、表示エンジンに命令し得る。カーソルは、選択された方向ボタンに関連付けられる方向に対応する方向に、画面上の複数の追加位置で表示され得る。キャプティブポータルアプリケーションは、表示されているウェブページを基に、フォーカスアウトラインベースのナビゲーションモードとバックアップカーソルのナビゲーションモードとの間を自動的に切り換え得る。追加的または代替的には、ユーザはリモートコントロールデバイス上の特定のボタン（例えば、メニューボタン）を選択することにより、これらのモード間を切り替え得る。カーソルナビゲーションモードでは、表示されたウェブページの端部にカーソルを移動させることにより、スクロールも可能である。
【００２０】
特定の実施形態例では、ユーザ認証クレデンシャルがキャプティブポータルページを介して受信され得る。ユーザ認証クレデンシャルの入力及び特定のＵＩ要素（例えば、ログインボタン）のユーザ選択時に、キャプティブポータルアプリケーションは認証クレデンシャルを含む認証リクエストを生成し、無線ルータに送信し得る。無線ルータは認証リクエストをホストサーバに伝送してよい。ホストサーバは認証レスポンスを無線ルータに送信してよく、無線ルータはレスポンスをコンテンツストリーミングデバイスに伝送してよい。 特定の実施形態例では、認証レスポンスは、認証クレデンシャルを基にコンテンツストリーミングデバイスの認証が成功したことを示すランディングページを含み得る。別の実施形態例では、認証レスポンスは、コンテンツストリーミングデバイスの認証が成功できなかったことを示すメッセージを含み得る。さらに他の実施形態例では、無線ルータ自体が、コンテンツストリーミングデバイスが認証クレデンシャルを基に認証できるかどうかを判定してよく、認証の成功または失敗を示すメッセージを生成し、コンテンツストリーミングデバイスに送信し得る。
【００２１】
特定の実施形態例では、コンテンツストリーミングデバイス（例えば、キャプティブポータルアプリケーション）は、デバイスの認証が成功したことを確認するために、既知の文字シーケンスを含むウェブページに対してＨＴＴＰ  ＧＥＴリクエストを生成し得る。コンテンツストリーミングデバイスは、ＨＴＴＰ  ＧＥＴリクエストを無線ルータに送信してよく、無線ルータはウェブリソースをコンテンツストリーミングデバイスに返送してよい。コンテンツストリーミングデバイスはその後、無線ルータから受信したウェブリソースが既知の文字シーケンスを含むかどうか判定し得る。文字シーケンスを含む場合、コンテンツストリーミングデバイスは要求されたウェブページが受信されたこと及びコンテンツストリーミングデバイスの認証が成功したと判定し得る。コンテンツストリーミングデバイスはその後、キャプティブポータルアプリケーションを終了してよく、コンテンツストリーミングデバイスのデフォルトホームページ画面が電子ディスプレイ上に表示されてよい。返送されたリソースが既知の文字シーケンスを含まない場合、キャプティブポータルアプリケーションは後続の認証試行を可能にするために維持され得る。
【００２２】
本開示の実施形態例は、多数の技術的特徴及び技術的効果を提供する。例えば、本開示の実施形態例に従い、キャプティブポータルページなどのウェブページは、通常ハンドヘルド型モバイルデバイスに連結されるディスプレイより大きいディスプレイ上での提示用にカスタマイズされたキャプティブポータルアプリケーションＵＩを使用して、ウェブビューオブジェクトに表示され得る。加えて、実行可能スクリプトは埋め込まれるか、別様にはウェブページのソースコードに関連付けられてよく、ウェブページのロード後またはロードと少なくとも部分的に同時に実行され、選択可能ＵＩ要素に関連付けられるデフォルトフォーカスアウトラインをオーバーライドさせ、ＵＩ要素が選択される際に、より目立つフォーカスアウトラインを表示させてよい。このように、選択可能ＵＩ要素間のナビゲーションがカスタマイズされたＵＩに対して最適化され得る。加えて、リモートコントロールデバイス上のコントロールまたはボタンを選択した結果として生成されたイベントが傍受されてよく、タッチベースまたはクリックベースのインターフェースを有さないディスプレイ上で、ナビゲーションに関連付けられる異なるデバイス機能に対応する新規イベントが生成されてよい。本開示の実施形態例の技術的特徴及び／または技術的効果の上記例は例示にすぎず、網羅的ではないことを理解すべきである。
【００２３】
１つ以上の本開示の例示的な実施形態を上述した。上記の実施形態は本開示の範囲の単なる例示に過ぎず、いかなる意味においても制限することを意図しない。これにより、本明細書に開示される実施形態の変形、修正及び等価物はさらに本開示の範囲内である。上述した実施形態及び本開示の追加の及び／または代替の実施形態は、添付の図面を参照して以降に詳述する。
例示的なデータフロー及びプロセス
【００２４】
図１Ａは、本開示の１つ以上の実施形態例に従う、キャプティブポータルページへのハイパーテキストトランスファプロトコル（ＨＴＴＰ）リダイレクト及びキャプティブポータルページの受信に基づく、コンテンツストリーミングデバイス上でのキャプティブポータルアプリケーションの起動を例示する模式図である。図１Ｂは、本開示の１つ以上の実施形態例に従う、カスタマイズされたユーザインターフェースを使用して、キャプティブポータルアプリケーションにより、キャプティブポータルページを電子ディスプレイ上に表示することを例示する模式図である。図５は、本開示の１つ以上の実施形態例に従う、ＨＴＴＰリダイレクト及びキャプティブポータルページの受信に基づく、コンテンツストリーミングデバイス上でのキャプティブポータルアプリケーションの起動を介して、キャプティブポータルページを受信するための例示的な方法５００のプロセスフロー図である。図１Ａ〜１Ｂ及び図５は以降、互いに関連して記載されるだろう。
【００２５】
図１Ａに示す通り、コンテンツストリーミングデバイス１０４はディスプレイデバイス１０２に通信可能に連結され得る。例えば、コンテンツストリーミングデバイス１０４はディスプレイデバイス１０２に取り外し可能に連結され得る。ディスプレイデバイスはテレビジョン、コンピュータモニタまたは任意の他の適切なディスプレイデバイスであってよい。特定の実施形態例では、ディスプレイデバイスのディスプレイはスマートフォンまたはタブレットなどのハンドヘルド型モバイルデバイスの典型的なディスプレイサイズより著しく大きくてよい。コンテンツストリーミングデバイス１０４は、例えば、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、高精細度マルチメディアインターフェース（ＨＤＭＩ）などの任意の適切なインターフェースを介してディスプレイデバイス１０２に接続され得る。
【００２６】
ディスプレイデバイス１０２及びコンテンツストリーミングデバイス１０４はセキュアな無線ＬＡＮ（例えば、セキュアなＷｉ‐Ｆｉネットワーク）にアクセス可能な公共の場所に位置し得る。セキュアなＷｉ‐Ｆｉネットワークは、コンテンツストリーミングデバイス１０４がセキュアなＷｉ‐Ｆｉネットワークを介してインターネットにアクセスすることを許可する前に、コンテンツストリーミングデバイス１０４を認証するよう要求し得る。無線ルータ１０８はセキュアなＷｉ‐Ｆｉネットワークをサポートし得る。無線ルータ１０８は１つ以上のネットワーク（複数可）１１０を介してホストサーバ１１２と通信し得る。無線ルータ１０８はさらにネットワーク（複数可）１１０を介して任意の数のウェブサーバと通信し得る。セキュアなＷｉ‐Ｆｉネットワークの認証に成功すると、コンテンツストリーミングデバイス１０４は無線ルータ１０８を介してネットワーク（複数可）１１０にアクセスし得る。
【００２７】
ネットワーク（複数可）１１０は、例えば、ケーブルネットワーク、パブリックネットワーク（例えば、インターネット）、プライベートネットワーク（例えば、フレームリレーネットワーク）、無線ネットワーク、セルラネットワーク、電話網（例えば、公衆交換電話網）、または任意の他の適切なプライベートもしくはパブリックパケット交換もしくは回線交換ネットワークなどの任意の１つ以上の異なる種類の通信ネットワークを含み得るが、これらに限定されない。さらに、ネットワーク（複数可）１１０は、ネットワークに関連する任意の適切な通信範囲を有してよく、例えば、グローバルネットワーク（例えば、インターネット）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）またはパーソナルエリアネットワーク（ＰＡＮ）を含み得る。加えて、ネットワーク（複数可）１１０は、同軸ケーブル、ツイストペア線（例えば、ツイストペア銅線）、光学ファイバ、ハイブリッドファイバ同軸（ＨＦＣ）媒体、マイクロ波媒体、無線周波数通信媒体、衛星通信媒体または任意のこれらの組み合わせを含むが、これらに限定されない任意の適切な種類の媒体上でネットワークトラフィックを送信するための通信リンク及び関連するネットワーキングデバイス（例えば、リンク層スイッチ、ルータ等）を含み得る。
【００２８】
ここで図１Ａ及び図５を互いに関連して参照すると、ブロック５０２では、コンテンツストリーミングデバイス１０４は無線ルータ１０８との接続を構築し得る。例えば、ユーザは、利用可能な無線ネットワークに対応するＳＳＩＤのリストから、無線ルータ１０８がサポートする無線ＬＡＮに対応するサービスセット識別子（ＳＳＩＤ）を選択し得る。代替的には、コンテンツストリーミングデバイス１０４は無線ルータ１０８との接続を自動的に構築し得る。ブロック５０４では、コンテンツストリーミングデバイス１０４は既知の文字シーケンスを含む第１ウェブリソースに対してＨＴＴＰリクエスト１０６を生成し得る。ブロック５０６では、コンテンツストリーミングデバイス１０４は、セキュアなＷｉ‐Ｆｉネットワークに連結する無線ルータ１０８にＨＴＴＰリクエスト１０６を送信し得る。無線ルータ１０８はコンテンツストリーミングデバイス１０４がネットワーク上で認証されなかったことを判定し得る。無線ルータ１０８は、例えば、デバイス１０４のネットワークインターフェースのＭＡＣアドレスなど、デバイス１０４に関連付けられる識別子を基に、コンテンツストリーミングデバイス１０４が認証されることを判定し得る。例えば、無線ルータ１０８はコンテンツストリーミングデバイス１０４に対するＭＡＣアドレスと認証デバイスに関連付けられるＭＡＣアドレスのセットとを比較し、コンテンツストリーミングデバイス１０４に対するＭＡＣアドレスが当該セット内に存在しないと判定し得る。コンテンツストリーミングデバイス１０４が認証されなかったと判定すると、無線ルータ１０８は、キャプティブポータルページ１１４をホストするホストサーバ１１２に、ＨＴＴＰリクエスト１０６をリダイレクトし得る。無線ルータ１０８はホストサーバ１１２からキャプティブポータルページ１１４を受信し、コンテンツストリーミングデバイス１０４にキャプティブポータルページ１１４を送信し得る。コンテンツストリーミングデバイス１０４は、ブロック５０８でキャプティブポータルページ１１４を受信し得る。
【００２９】
特に、コンテンツストリーミングデバイス１０４は、ブロック５０８で、無線ルータ１０８から第２ウェブリソースを受信し得る。ブロック５１０では、コンテンツストリーミングデバイス１０４は第２ウェブリソースが既知の文字シーケンスを含まないと判定してよく、これにより、ブロック５１２では、第２ウェブリソースは要求された第１ウェブリソースでなく、代わりにキャプティブポータルページ１１４であると判定し得る。
【００３０】
キャプティブポータルページ１１４が受信されたことを判定すると、コンテンツストリーミングデバイス１０４はキャプティブポータルページ１１４が受信されたことを示すイベント通知１１６をブロック５１４で生成し得る。イベントリスナ１１８は、恐らくはデバイス１０４上で実行可能なキャプティブポータルアプリケーション１２２の一部として、コンテンツストリーミングデバイス１０４上に提供され得る。イベントリスナ１１８はイベント通知１１６をリッスンするように構成されてよく、ブロック５１６でイベント通知を検出し得る。リスナ１１８がイベント通知１１６を検出すると、ブロック５１８では、コンテンツストリーミングデバイス１０４上でキャプティブポータルアプリケーション１２２が起動し得る。より詳細には、イベントリスナ１１８は、イベント通知１１６が検出される際に呼び出され得る機能を含むインターフェースを規定し得る。この機能の呼び出しは、キャプティブポータルアプリケーション１２２の起動をもたらし得る。
【００３１】
ここで図１Ｂ及び図５を互いに関連して参照すると、キャプティブポータルアプリケーション１２２はウェブページを表示するためのウェブビューオブジェクトまたは構成要素１３０を含み得るか、活用し得る。例えば、キャプティブポータルアプリケーション１２２は、ウェブページをウェブビューオブジェクト１３０内に表示するよう、表示エンジン１３２に命令し得る。キャプティブポータルアプリケーション１２２は、長距離で見るためにＵＩがカスタマイズされた（例えば、ディスプレイデバイス１０２上のディスプレイ用にカスタマイズされた）ＵＩを含み得る。
【００３２】
特定の実施形態例では、起動時に、キャプティブポータルアプリケーション１２２は、デフォルトホームページにリダイレクトし得る特定のウェブページに対して第２ＨＴＴＰリクエスト１２６を生成してよい。この第２ＨＴＴＰ  ＧＥＴリクエスト１２６は無線ルータ１０８に送信されてよく、コンテンツストリーミングデバイス１０４がキャプティブポータルネットワーク上でまだ認証されていないため、無線ルータ１０８は第２ＨＴＴＰ  ＧＥＴリクエスト１０６をキャプティブポータルページ１２８にリダイレクトし得る。詳細には、図１Ｂには図示しないが、無線ルータ１０８は、キャプティブポータルページ１２８をホストするホストサーバ１１２に、第２ＨＴＴＰ  ＧＥＴリクエスト１２６をリダイレクトし、ホストサーバ１１２からキャプティブポータルページ１２８を受信し、コンテンツストリーミングデバイス１０４上で実行するキャプティブポータルアプリケーション１２２にキャプティブポータルページ１２８を送信し得る。この第２ＨＴＴＰ  ＧＥＴリクエスト１２６は、無線ルータ１０８がデフォルトホームページを「ホワイトリスト」に入れたという可能性を考慮し、これにより、キャプティブポータルアプリケーション１２２により、デフォルトホームページではなくキャプティブポータルページ１２８が無線ルータ１０８から確実に受信されるよう、生成され得る。特定の実施形態例では、キャプティブポータルページ１２８はキャプティブポータルページを無線ルータ１０８から受信する第２インスタンスに相当し得る。
【００３３】
キャプティブポータルページ１２８の受信時に、キャプティブポータルアプリケーション１２２は、ブロック５２０で、コンピュータ実行可能スクリプト（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）などの動的プログラミング言語で記述されたコンピュータ実行可能コード）を埋め込むか、別様にはキャプティブポータルページ１２８に関連付け得る。特に、キャプティブポータルページ１２８のソースコードは、実行可能スクリプトを内部に埋め込むかインジェクトしてよく、または実行可能スクリプトは別様にはキャプティブポータルページ１２８のソースコードに関連付けられてよい。例えば、フラグ、インデックス、タグまたは他の識別子は選択可能ＵＩ要素をキャプティブポータルページ１２８のソースコードに配置するために使用され得る。実行可能スクリプトはその後、ソースコードに埋め込まれ、キャプティブポータルページ１２８のソースコードで表現されるキャプティブポータルページコンテンツの表示と共に実行され得る。より詳細には、実行可能スクリプトはキャプティブポータルページ１２８の表示後または表示中に実行されてよく、キャプティブポータルページ１２８のオリジナルソースコードに規定されるフォーカスアウトラインをオーバーライドさせ、ＵＩ要素が選択されるか、別様には別の選択可能ＵＩ要素からナビゲートされる際に、キャプティブポータルページ１２８の各選択可能ＵＩ要素１２４に対してより目立つフォーカスアウトラインを表示させてよい。コンピュータ実行可能スクリプトは任意の適切なコンピュータ実行可能命令、コードなどを含み得る。特定の実施形態例では、コンピュータ実行可能スクリプトは、文書コンテンツを文書プレゼンテーションと分けることが可能なスタイルシート言語（例えば、カスケードスタイルシート（ＣＳＳ））で記述されるコンピュータ実行可能コードを含み得る。特に、コンピュータ実行可能スクリプトの実行は、キャプティブポータルページ１２８の各選択可能ＵＩ要素に対してスタイルオブジェクトを生成するために、ＣＳＳコードを実行することを含み得る。スタイルオブジェクトは、選択可能ＵＩ要素が現在選択されているＵＩ要素の場合に、表示される、より目立つフォーカスアウトラインを表現し得る。
【００３４】
ブロック５２２では、表示エンジン１３２はディスプレイデバイス１０２のディスプレイ上のウェブビューオブジェクト１３０にキャプティブポータルページ１２８を表示し得る。より詳細には、キャプティブポータルアプリケーション１２２は、キャプティブポータルページ１２８をウェブビューオブジェクト１３０に表示１３４するよう、表示エンジン１３２に命令し得る。表示されたキャプティブポータルページ１２８は第１選択可能ＵＩ要素１２４Ａ及び第２選択可能ＵＩ要素１２４Ｂを含み得る。１２４Ａ、１２４Ｂに分類される選択可能ＵＩ要素は例示に過ぎない。任意の数の選択可能ＵＩ要素が、表示されたキャプティブポータルページ１２８の一部として表示され得ることを理解すべきである。
【００３５】
特に、キャプティブポータルページ１２８はボタン、アイコン、メニューなどの種々の選択可能ＵＩ要素を含み得る。キャプティブポータルページ１２８の一部として表示され、ユーザが相互作用し得る（選択またはナビゲートする）あらゆるＵＩ要素が選択可能要素となり得る。キャプティブポータルページ１２８上の各選択可能ＵＩ要素はフォーカスアウトラインと関連付けられてよく、フォーカスアウトラインは選択可能要素の周りに表示される境界線、または選択可能ＵＩ要素が現在選択されているＵＩ要素であることを示すか、現在のナビゲーション静止ポイントを表すいくつかの他の印であり得る。選択可能ＵＩ要素に対するフォーカスアウトラインは、選択可能ＵＩ要素がナビゲートされる際に表示され得る。特定の実施形態例では、特定の選択可能ＵＩ要素に対するフォーカスアウトラインはウェブページとの任意のユーザ相互作用の前である、ウェブページの表示時に表示され得る。この特定の選択可能ＵＩ要素は、ユーザをウェブページ上の他の選択可能ＵＩ要素にナビゲートし得るデフォルトの選択可能要素であり得る。
【００３６】
ウェブページ用のオリジナルソースコードは、電子ディスプレイ、特に、テレビジョン画面などの大型ディスプレイ上で表示される際に実質的に知覚できない選択可能ＵＩ要素に対するフォーカスアウトラインを規定し得る。したがって、キャプティブポータルページ１２８のソースコードに埋め込まれるか、別様には関連付けられるスクリプトの実行は、ＵＩ要素が選択されるか、別様にはナビゲートされる際に、選択可能ＵＩ要素に対してより目立つフォーカスアウトラインを表示させ得る。一例として、特定の選択可能ＵＩ要素が選択されると、キャプティブポータルページ１２８用のソースコードにある選択されたＵＩ要素に対して規定されたデフォルトフォーカスアウトラインの代わりに、選択されたＵＩ要素に対してより目立つフォーカスアウトラインが表示され得る。より目立つフォーカスアウトラインは選択可能ＵＩ要素の周りのより厚い境界線を含み得る、かつ／またはデフォルトフォーカスアウトラインとは異なる色もしくは色調となり得る。より目立つフォーカスアウトラインに関連付けられる、より厚い境界線を表示するために、ディスプレイデバイス１０２のディスプレイのより多数のピクセルが使用され得る。しかしながら、フォーカスアウトラインをより目立たせるためには任意の適切な印が表示され得ることを理解すべきである。
【００３７】
前記の通り、キャプティブポータルページ１２８のソースコードは、ディスプレイデバイス１０２のディスプレイ上のウェブビューオブジェクト１３０に、キャプティブポータルページ１２８のウェブサイトコンテンツ１３６を表示するために使用され得る。ウェブビューオブジェクト１３０に表示されるコンテンツはウェブビューオブジェクト１３０に表示されるウェブページに応じて変更され得る。コンテンツストリーミングデバイス１０４が異なるキャプティブポータルネットワークとの接続を構築する場合、例えば、異なるキャプティブポータルページ（例えば、異なるコンテンツ、ＵＩオブジェクト及び／またはコンテンツ及びＵＩオブジェクトの配置）がウェブオブジェクト１３０に表示され得る。さらに、一旦コンテンツストリーミングデバイス１０４が無線ルータ１０８に認証されると、任意の数のウェブページからのウェブサイトコンテンツがウェブビューオブジェクト１３０に表示され得る。加えて、静的コンテンツ１３８はディスプレイデバイス１０２のディスプレイ上に表示され得る。静的コンテンツ１３８は、例えば、ウェブページがウェブビューオブジェクト１３０に表示される際に、種々のリモートコントロールボタンに関連付けられるデバイス機能を表示するネイティブＯ／Ｓのテキスト要素であり得る。例えば、静的コンテンツ１３８は前のウェブページをロードするために左方向ボタンが使用され得ること、次のウェブページをロードするために右方向ボタンが使用され得ること、ウェブページを更新または再ロードするために再生／一時停止ボタンが使用され得ること、キャプティブポータルアプリケーション１２２を閉じるために戻るボタンが使用され得ること、異なるナビゲーションモードを切り替えるためにメニューボタンが使用され得ることなどを示し得る。コンテンツ１３８は、キャプティブポータルアプリケーションが実行中の間は表示されてよく、異なるウェブページがアクセスされウェブビューオブジェクト１３０に表示されるときは静的な状態を維持し得る。コンテンツ１３８はディスプレイデバイス１０２のディスプレイ上に表示され得るが、ウェブビューオブジェクト１３０の外部に表示され得る。加えて、他の動的コンテンツ１４０はウェブビューオブジェクト１３０の外部に表示され得る。コンテンツ１４０はアクセス中の無線ネットワークに応じて変化し得るという意味において、動的であり得る。例えば、キャプティブポータルページのＳＳＩＤ及びユニフォームリソースロケータ（ＵＲＬ）はアクセス中の無線ネットワークに応じて変化し得る。
【００３８】
図２Ａ〜２Ｂは、本開示の１つ以上の実施形態例に従う、表示されたキャプティブポータルページの種々の選択可能要素間でのナビゲーションを例示するユーザインターフェース例を図示する。図６は、本開示の１つ以上の実施形態例に従う、表示されたキャプティブポータルページの選択可能要素間でナビゲートするための例示的な方法６００のプロセスフロー図である。図２Ａ〜２Ｂ及び図６は以降、互いに関連して記載されるだろう。
【００３９】
ブロック６０２では、キャプティブポータルアプリケーション１２２はキャプティブポータルページ２００を表示した後に、または少なくとも部分的に同時に、コンピュータ実行可能スクリプトを実行し得る。スクリプトはインジェクトされ得るか、埋め込まれ得るか、別様にはキャプティブポータルページ２００のソースコードに関連付けられ得る。スクリプトの実行は、ＵＩ要素が選択される際に、キャプティブポータルページ２００の任意の選択可能ＵＩ要素をより目立つように表示させ得る。特に、ブロック６０４では、スクリプトの実行により、第１ＵＩ要素２０２が選択されるか、別様には第１ＵＩ要素２０２が現在のＵＩ要素を表し、そこから他のＵＩ要素がナビゲートされ得る場合、第１選択可能ＵＩ要素２０２は第２選択可能ＵＩ要素２０４より目立つように、表示されたキャプティブポータルページ２００上で表示され得る。より詳細には、スクリプトの実行により、第１ＵＩ要素２０２が選択されるか、別様には第１ＵＩ要素２０２にナビゲートされる場合、より目立つフォーカスアウトラインが第１選択可能ＵＩ要素２０２に関して表示され得る。キャプティブポータルページ２００はキャプティブポータルページ１１４及び／または１２８に対応し得る。
【００４０】
第１選択可能ＵＩ要素２０２は、例えば、ユーザ名、ホテルの部屋番号または任意の他の適切なユーザ識別子などの認証クレデンシャルの一部を入力するための文字入力フィールドに対応し得る。特定の実施形態例では、第１選択可能ＵＩ要素２０２に対するフォーカスアウトラインはページ２００との任意のユーザ相互作用の前である、キャプティブポータルページ２００の表示時に表示され得る。
【００４１】
前記の通り、特定の実施形態例では、ユーザは、コンテンツストリーミングデバイス１０４と相互作用するためのリモートコントロールデバイス２０８を利用し得る。例えば、ユーザは、ページ２００上で種々の選択可能要素間をナビゲートするために、リモートコントロールデバイス２０８を利用し得る。リモートコントロールデバイス２０８は物理ボタンまたはタッチインターフェースを有する物理的なスタンドアロン型リモートコントロールであり得る。代替的には、リモートコントロールデバイス２０８はスマートフォン、タブレットまたはリモートコントロールアプリケーションを内部で実行する類似デバイスであり得る。リモートコントロールデバイス２０８は前述の任意の適切な通信技術またはプロトコルを使用してコンテンツストリーミングデバイス１０４と通信し得る。
【００４２】
リモートコントロールデバイス２０８は直角４方向及び選択に応答してタッチインターフェースまたはクリックインターフェースのタップまたはクリックにそれぞれ相当するアクションをもたらす選択ボタンのナビゲーションが可能な５方向カーソルコントロール２１０を含み得る。５方向カーソルコントロール２１０は物理的な方向パッド及びボタンであってよく、あるいはタッチインターフェースの一部として設けられてよい。リモートコントロールデバイス２０８はさらに種々の他のデバイス機能または動作に関連付けられる種々のボタン２１２を含み得る。カーソルコントロール２１０またはボタン２１２の選択に応答して行われる動作または機能は、異なるＵＩが表示される場合（例えば、コンテンツストリーミングデバイス１０４のデフォルトホーム画面））と比べて、表示されるキャプティブポータルページ２００により異なり得る。
【００４３】
第１選択可能ＵＩ要素２０２の文字入力フィールドにユーザ識別子を入力すると、ユーザはリモートコントロールデバイス２０８の特定のボタンを選択２１４し得る。例えば、ユーザは５方向カーソルコントロール２１０の下方向ボタンを選択２１４し得る。リモートコントロールデバイス２０８はユーザ選択２１４に応答して信号を生成し、信号をコンテンツストリーミングデバイス１０４に伝達し得る。コンテンツストリーミングデバイス１０４はブロック６０６で信号を受信し得る。
【００４４】
信号の受信時に、コンテンツストリーミングデバイス１０４は選択されたボタンに関連付けられる第１デバイス動作を示す第１イベントを生成し得る。例えば、下方向ボタンの選択では、第１デバイス動作は通常、コンテンツカルーセルにあるコンテンツアイテムのＵＩ表示間の下方向のナビゲーションに対応し得る。ブロック６０８では、キャプティブポータルアプリケーション１２２は第１イベントを傍受し得る。ブロック６１０では、キャプティブポータルアプリケーション１２２は第１デバイス動作とは異なる第２デバイス動作に対応する第２イベントを生成し得る。例えば、下方向ボタンの選択では、第２デバイス動作は第１選択可能ＵＩ要素２０２から、第１ＵＩ要素２０２の下に表示される第２選択可能ＵＩ要素２０４へのナビゲーションに相当し得る。
【００４５】
同様に、キャプティブポータルアプリケーション１２２はリモートコントロールデバイス２０８の特定のボタンまたはコントロールが選択される際に生成される各イベントを傍受し、キャプティブポータルページ２００上で行われる動作に対応する新規イベントを生成し得る。例えば、キャプティブポータルアプリケーション１２２はリモートコントロールデバイス２０８上の巻き戻しボタン２１２を、ロードされた、前のウェブページに戻るための機能に関連付けてよく、早送りボタン２１２を、ロードされた、次のウェブページに進むための機能に関連付けてよく、再生／一時停止ボタン２１２を、ウェブページを再更新または再ロードするための機能に関連付けてよく、５方向カーソルコントロール２１０の中央ボタンを、ウェブページ（例えば、キャプティブポータルページ２００）の一部として表示されるボタンまたはアイコンの選択に関連付けるなどであってよい。このように、５方向カーソルコントロール２１０の中央ボタンの選択はタッチインターフェースまたはクリックインターフェースのタップまたはクリックにそれぞれ相当するように扱われ得る。
【００４６】
ブロック６１２では、キャプティブポータルアプリケーション１２２は第２イベントに対応する第２デバイス動作を行い得る。第２デバイス動作は第１ＵＩ要素２０２から第２ＵＩ要素２０４へのナビゲーションを含み得る。前記の通り、ユーザはウェブビューオブジェクト１３０で表示されるウェブページ（例えば、キャプティブポータルページ２００）の選択可能ＵＩ要素間でナビゲートするため、表示されるフォーカスアウトラインは現在選択されているＵＩ要素に応じて変化し得る。例えば、ユーザが第１選択可能ＵＩ要素２０２から第２選択可能ＵＩ要素２０４にナビゲートする場合、第１ＵＩ要素２０２に対する、より目立つフォーカスアウトラインはもはや表示されなくてよく、第２ＵＩ要素２０４に対する、より目立つフォーカスアウトラインが代わりに表示されてよい。
【００４７】
第２選択可能ＵＩ要素２０４はユーザ認証クレデンシャルの追加部分を入力するための文字入力フィールドを含み得る。例えば、ユーザはパスワードに対応する文字を第２選択可能ＵＩ要素２０４の文字入力フィールドに入力し得る。リモートコントロールデバイス２０８は文字入力のために使用され得る。例えば、適切なボタン２１２の選択時に、文字入力を可能にするために、表示されたキャプティブポータルページ２００を覆うオーバーレイとして仮想キーボードＵＩが出現し得る。特定の実施形態例では、ウェブビューオブジェクト１３０は、コンテンツストリーミングデバイス１０４用にカスタマイズされた仮想キーボードが現れるように構成され得る。
【００４８】
ここで図２Ｂを参照すると、パスワードの入力時に、ユーザは再度リモートコントロールデバイス２０８上の下方向ボタンを選択２１６し得る。上記と同様のプロセスはその後、第２ＵＩ要素２０４から第３ＵＩ要素２０６にナビゲートするために行われ得る。第２選択可能ＵＩ要素２０４から第３選択可能ＵＩ要素２０６へのナビゲーションに関連して、第２ＵＩ要素２０４に対する、より目立つフォーカスアウトラインはもはや表示されず、第３ＵＩ要素２０６に対するフォーカスアウトラインがより目立つように表示され得る。ユーザはその後、リモートコントロールデバイス２０８上で追加選択２１８（例えば、５方向カーソルコントロール２１０の中央ボタンの選択）を行い、選択可能ＵＩ要素２０６に対するタップまたはクリックイベントに相当するものを生成し得る。これはその後、図３及び図７を参照して以降にさらに詳述する認証プロセスを開始し得る。
【００４９】
図３は、本開示の１つ以上の実施形態例に従う、キャプティブポータルページを介して受信したユーザ認証クレデンシャルを基にコンテンツストリーミングデバイスを認証するリクエスト及びレスポンスメカニズムを例示する模式図である。図４は、本開示の１つ以上の実施形態例に従う、ネットワーク接続の構築が成功したことを確認し、キャプティブポータルアプリケーションを終了するリクエスト及びレスポンスメカニズムを例示する模式図である。図７は本開示の１つ以上の実施形態例に従う、キャプティブポータルページを介して受信したユーザ認証クレデンシャルを基にコンテンツストリーミングデバイスを認証するネットワーク接続の構築が成功したことを確認し、キャプティブポータルアプリケーションを終了する例示的な方法７００のプロセスフロー図である。図３、図４及び図７は以降、互いに関連して記載されるだろう。図７の動作例はコンテンツストリーミングデバイス１０４により行われるものとして以降記載され得るが、一般的に、キャプティブポータルアプリケーション１２２及び／または１つ以上の他のデバイス構成要素が動作のいずれかを行い得ることを理解すべきである。
【００５０】
ブロック７０２では、ユーザ認証クレデンシャルは、例えば、図２Ａ〜２Ｂ及び図６を参照して記載される例示的なプロセスを介して受信され得る。ここで図３及び図７を共に参照すると、ブロック７０４では、コンテンツストリーミングデバイス１０４は受信した認証クレデンシャルを含む認証リクエスト３０２を生成してよく、認証リクエスト３０２を無線ルータ１０８に送信してよい。無線ルータ１０８は認証リクエスト３０２をホストサーバ１１２に伝送してよい。ホストサーバ１１２は認証レスポンス３０４を無線ルータ１０８に送信してよく、無線ルータ１０８はレスポンス３０４をコンテンツストリーミングデバイス１０４に伝送してよい。コンテンツストリーミングデバイス１０４はブロック７０６で認証レスポンス３０４を受信し得る。特定の実施形態例では、認証レスポンス３０４は、認証クレデンシャルに基づいてコンテンツストリーミングデバイス１０４の認証が成功したことを示すランディングページを含み得る。別の実施形態例では、認証レスポンス３０４はコンテンツストリーミングデバイスの認証が成功できなかったことを示すメッセージを含み得る。さらに他の実施形態例では、無線ルータ１０８自体が、コンテンツストリーミングデバイス１０４が認証クレデンシャルを基に認証できるかどうかを判定してよく、認証の成功または失敗を示すメッセージを生成し、コンテンツストリーミングデバイス１０４に送信し得る。
【００５１】
ここで図４及び図７を共に参照すると、認証が成功すると、コンテンツストリーミングデバイス１０４は、デバイス１０４の認証が成功したことを確認するために、ブロック７０８で、既知の文字シーケンスを含むウェブページに対してＨＴＴＰ  ＧＥＴリクエスト４０２を生成し得る。ブロック７１０では、コンテンツストリーミングデバイス１０４は無線ルータ１０８にＨＴＴＰ  ＧＥＴリクエスト４０２を送信し得る。ブロック７１２では、コンテンツストリーミングデバイス１０４は無線ルータ１０８からウェブリソース４０４を受信し得る。ブロック７１４では、コンテンツストリーミングデバイス１０４は、無線ルータ１０８から受信したウェブリソース４０４が既知の文字シーケンスを含むかどうかを判定し得る。コンテンツストリーミングデバイス１０４が、文字シーケンスを含む受信リソース４０４を基に、受信リソース４０４がリクエストされたウェブページ４０４であると判定する場合、コンテンツストリーミングデバイス１０４は無線ネットワーク上で認証が成功したことを確認してよく、ブロック７１８では、キャプティブポータルアプリケーション１２２を終了してよい。キャプティブポータルアプリケーションの終了時に、コンテンツストリーミングデバイス１０４のデフォルトホーム画面がディスプレイデバイス１０２のディスプレイ上に表示され得る。一方、コンテンツストリーミングデバイス１０４が、受信リソース４０４が既知の文字シーケンスを含まないと判定する場合、コンテンツストリーミングデバイス１０４は認証が成功しなかったと判定してよく、ブロック７１６では、後続の認証試行を可能にするために、キャプティブポータルアプリケーション１２２の実行を継続してよい。
例示的なデバイスアーキテクチャ
【００５２】
図８は本開示の１つ以上の実施形態例に従う、例示的なデバイスアーキテクチャの模式図である。コンテンツストリーミングデバイス８００はリモートサーバからデジタルコンテンツをストリーミングするための任意の適切なデバイスであり得る。コンテンツストリーミングデバイスはさらにデジタルコンテンツをデバイス上のローカルデータストレージに記憶し得る。デバイス上にローカルに記憶されたデータは一時的に記憶されるストリーミングコンテンツであってよく、またはデバイス８００上に非一時的に記憶されるコンテンツを含んでよい。
【００５３】
例示的な構成では、デバイス８００は、１つ以上のプロセッサ（プロセッサ（複数可））８０２、１つ以上のメモリデバイス８０４（本明細書では概してメモリ８０４と称する）、１つ以上の入出力（「Ｉ／Ｏ」）インターフェース（複数可）８０６、１つ以上のネットワークインターフェース８０８、１つ以上のセンサまたはセンサインターフェース８１０、１つ以上の送受信機８１２及びデータストレージ８１６を含み得る。デバイス８００はさらに、デバイス８００の種々の構成要素を機能的に連結する１つ以上のバス８１４を含み得る。デバイス８００はさらに、セルラネットワークインフラストラクチャと信号を送信または受信するためのセルラアンテナ、アクセスポイント（ＡＰ）とＷｉ‐Ｆｉ信号を送信または受信するためのアンテナ、全地球航法衛星システム（ＧＮＳＳ）衛星からＧＮＳＳ信号を受信するためのＧＮＳＳアンテナ、Ｂｌｕｅｔｏｏｔｈ（登録商標）信号を送信または受信するためのＢｌｕｅｔｏｏｔｈ（登録商標）アンテナ、ＮＦＣ信号を送信または受信するための近距離無線通信（ＮＦＣ）アンテナなどを含み得るが、これらに限定されない、１つ以上のアンテナ８３２をさらに含み得る。これらの種々の構成要素は以下にさらに詳述される。
【００５４】
バス（複数可）８１４は、システムバス、メモリバス、アドレスバスまたはメッセージバスのうち少なくとも１つを含んでよく、デバイス８００の種々の構成要素間の情報交換（例えば、（コンピュータ実行可能コードを含む）データ、信号伝達等）を可能にし得る。バス（複数可）８１４は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポートなどを含み得るが、これらに限定されない。バス（複数可）８１４は、インダストリスタンダードアーキテクチャ（ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＣＡ）、拡張ＩＳＡ（ＥＩＳＡ）、ビデオエレクトロニクススタンダードアソシエーション（ＶＥＳＡ）アーキテクチャ、アクセラレーテッドグラフィックスポート（ＡＧＰ）アーキテクチャ、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）アーキテクチャ、ＰＣＩ‐Ｅｘｐｒｅｓｓアーキテクチャ、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）アーキテクチャ、ユニバーサルシリアルバス（ＵＳＢ）アーキテクチャなどを含むが、これらに限定されない、任意の適切なバスアーキテクチャに連結され得る。
【００５５】
デバイス８００のメモリ８０４は、ランダムアクセスメモリ（ＲＡＭ）などの揮発性メモリ（電源が供給されている場合にその状態を維持するメモリ）及び／または読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、強誘電体ＲＡＭ（ＦＲＡＭ）などの不揮発性メモリ（電源が供給されない場合でもその状態を維持するメモリ）などを含み得る。本明細書で使用される永続データストレージは、不揮発性メモリを含み得る。特定の実施形態例では、揮発性メモリは不揮発性メモリより高速な読み出し／書き込みアクセスを可能にし得る。しかしながら、特定の他の実施形態例では、不揮発性メモリの特定の種類（例えば、ＦＲＡＭ）は特定の種類の揮発性メモリより高速な読み出し／書き込みアクセスを可能にし得る。
【００５６】
種々の実装では、メモリ８０４は、種々の種類の静的ランダムアクセスメモリ（ＳＲＡＭ）、種々の種類の動的ランダムアクセスメモリ（ＤＲＡＭ）、種々の種類の改変不能ＲＯＭ及び／または電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリなどのＲＯＭの書き込み可能な変形など、複数の異なる種類のメモリを含み得る。メモリ８０４は命令キャッシュ（複数可）、データキャッシュ（複数可）、トランスレーションルックアサイドバッファ（複数可）（ＴＬＢ）などの種々の形態キャッシュメモリ及びメインメモリを含み得る。さらに、データキャッシュなどのキャッシュメモリは、１つ以上のキャッシュレベル（Ｌ１、Ｌ２等）の階層として組織される複数レベルのキャッシュであってよい。
【００５７】
データストレージ８１６は、磁気ストレージ、光学ディスクストレージ及び／またはテープストレージを含むが、これらに限定されない、取り外し可能なストレージ及び／または取り外し不可能なストレージを含み得る。データストレージ８１６はコンピュータ実行可能命令及び他のデータの不揮発性ストレージを提供し得る。メモリ８０４及び取り外し可能及び／または取り外し不可能なデータストレージ８１６は本明細書で使用されるコンピュータ可読ストレージ媒体（「ＣＲＳＭ」）の例である。
【００５８】
データストレージ８１６は、メモリ８０４にロード可能であり、プロセッサ（複数可）８０２に種々の動作を行わせるか開始させるためにプロセッサ（複数可）８０２により実行可能なコンピュータ実行可能コード、命令などを記憶し得る。データストレージ８１６はコンピュータ実行可能命令の実行中にプロセッサ（複数可）８０２が使用するためにメモリ８０４にコピーされ得るデータを追加的に記憶し得る。さらに、プロセッサ（複数可）８０２によるコンピュータ実行可能命令の実行により生成される出力データはまずメモリ８０４に記憶されてよく、最終的には不揮発性ストレージ用のデータストレージ８１６にコピーされてよい。
【００５９】
より詳細には、データストレージ８１６は、１つ以上のオペレーティングシステム（Ｏ／Ｓ）８１８、１つ以上のデータベース管理システム（ＤＢＭＳ）８２０ならびに例えば、キャプティブポータルアプリケーション８２２、イベントリスナ８２４、ウェブビューオブジェクト８２６、実行可能スクリプト８２８及び１つ以上のイベント傍受／生成モジュール８３０などの１つ以上のプログラムモジュール、アプリケーション、エンジン、コンピュータ実行可能コード、スクリプトなどを記憶し得る。イベントリスナ８２４、ウェブビューオブジェクト８２６、実行可能スクリプト８２８及びイベント傍受／生成モジュール（複数可）８３０はキャプティブポータルアプリケーション８２２の一部を形成するとして図示されるが、データストレージ８１６に記憶されるよう図示される構成要素のいずれも互いに相互作用するように構成される独立モジュールであり得ることを理解すべきである。データストレージ８１６に記憶されるよう図示される構成要素のいずれも、ソフトウェア、ファームウェア及び／またはハードウェアの任意の組み合わせを含み得る。ソフトウェア及び／またはファームウェアは、１つ以上のプロセッサ（複数可）８０２による実行のために、メモリ８０４にロードされ得るコンピュータ実行可能コード、命令などを含み得る。データストレージ８１６に記憶されるよう図示される構成要素のいずれも、本開示で先に相応に名称を付けた構成要素を参照して記載する機能性をサポートし得る。イベント傍受／生成モジュール（複数可）８３０は１つ以上のプロセッサ（複数可）８０２による実行に応答して、方法６００の動作のいずれかを行わせ得るコンピュータ実行可能命令、コードなどを含み得る。
【００６０】
データストレージ８１６はさらに、デバイス８００の構成要素により利用される種々の種類のデータを記憶し得る。データストレージ８１６に記憶される任意のデータは、プロセッサ（複数可）８０２がコンピュータ実行可能コードを実行する際に使用するために、メモリ８０４にロードされ得る。加えて、データストレージ８１６に記憶されるよう図示されるデータのいずれも、１つ以上のデータストアに潜在的に記憶されてよく（図８には図示せず）、ＤＢＭＳ８２０を介してアクセスされてよく、プロセッサ（複数可）８０２がコンピュータ実行可能命令を実行する際に使用するために、メモリ８０４にロードされ得る。係るデータストア（複数可）は、データベース（例えば、関係、オブジェクト指向等）、ファイルシステム、フラットファイル、データがコンピュータネットワークの２つ以上のノード上に記憶される分散データストア、ピアツーピアネットワークデータストアなどを含み得るが、これらに限定されない。
【００６１】
プロセッサ（複数可）８０２は、メモリ８０４にアクセスし、内部にロードされたコンピュータ実行可能命令を実行するように構成され得る。例えば、プロセッサ（複数可）８０２は、ユーザデバイス８００の種々のプログラムモジュール、アプリケーション、エンジンなどのコンピュータ実行可能命令を実行し、本開示の１つ以上の実施形態に従って行われる種々の動作を発生または促進するように構成され得る。プロセッサ（複数可）８０２は、データを入力として受け取り、記憶されたコンピュータ実行可能命令に従って入力データを処理し、出力データを生成することのできる任意の適切な処理装置を含み得る。プロセッサ（複数可）８０２は、中央処理装置、マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、複合命令セットコンピュータ（ＣＩＳＣ）マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、システムオンチップ（ＳｏＣ）、デジタル信号プロセッサ（ＤＳＰ）などを含むが、これらに限定されない任意の適切な種類の処理装置を含み得る。さらに、プロセッサ（複数可）８０２は、例えば、レジスタ、マルチプレクサ、演算論理装置、キャッシュメモリへの読み出し／書き込み動作を制御するためのキャッシュコントローラ、分岐予想などの任意の数の構成部品を含む任意の適切なマイクロアーキテクチャ設計を有し得る。プロセッサ（複数可）８０２のマイクロアーキテクチャ設計は様々な命令セットのいずれかをサポートすることができる。
【００６２】
ここでデータストレージ８１６に記憶されるよう図示される他の例示的な構成要素を参照すると、Ｏ／Ｓ８１８はデータストレージ８１６からメモリ８０４にロードされてよく、デバイス８００上で実行する他のアプリケーションソフトウェアとデバイス８００のハードウェアリソースとの間のインターフェースを提供してよい。より詳細には、Ｏ／Ｓ８１８はデバイス８００のハードウェアリソースを管理し、共通サービスを他のアプリケーションプログラムに提供する（例えば、種々のアプリケーションプログラム間のメモリ割り当てを管理する）ためのコンピュータ実行可能命令のセットを含み得る。特定の実施形態例では、Ｏ／Ｓ８１８はデータストレージ８１６に記憶されるように図示される１つ以上のプログラムモジュールの実行を制御し得る。Ｏ／Ｓ８１８は、任意のサーバオペレーティングシステム、任意のメインフレームオペレーティングシステムまたは任意の他のプロプライエタリもしくは非プロプライエタリなオペレーティングシステムを含むが、これらに限定されない、現在既知のまたは将来開発され得る任意のオペレーティングシステムを含み得る。
【００６３】
ＤＢＭＳ８２０はメモリ８０４にロードされてよく、メモリ８０４に記憶されるデータ及び／またはデータストレージ８１６に記憶されるデータへのアクセス、検索、記憶及び／または操作のための機能性をサポートし得る。ＤＢＭＳ８２０は様々なデータベースモデル（例えば、関係モデル、オブジェクトモデル等）のいずれかを使用してよく、様々なクエリ言語のいずれかをサポートしてよい。ＤＢＭＳ８２０は１つ以上のデータスキーマで表現され、任意の適切なデータレポジトリに記憶されるデータにアクセスし得る。特定の実施形態例では、ＤＢＭＳ８２０はモバイルデバイス上の動作に最適な任意の適切な軽量ＤＢＭＳであり得る。
【００６４】
ここでデバイス８００の他の例示的な構成要素を参照すると、入出力（Ｉ／Ｏ）インターフェース（複数可）８０６はデバイス８００による１つ以上のＩ／Ｏデバイスからの入力情報の受信及びデバイス８００から１つ以上のＩ／Ｏデバイスへの情報の出力を促進し得る。Ｉ／Ｏデバイスは、ディスプレイまたはタッチサーフェスもしくはタッチスクリーンを有するディスプレイ画面、スピーカなどの音を生成する音声出力デバイス、マイクロフォンなどの音声補足デバイス、カメラなどの画像及び／または映像補足デバイス、ハプティック装置などの様々な構成要素のいずれかを含み得る。これらの構成要素のいずれかもデバイス８００に統合されてよく、あるいは分離されてよい。Ｉ／Ｏデバイスはさらに、例えば、データストレージデバイス、印刷デバイスなどの任意の数の周辺デバイスを含み得る。
【００６５】
Ｉ／Ｏインターフェース（複数可）８０６はさらに、ユニバーサルシリアルバス（ＵＳＢ）、ファイアウォール、サンダーボルト、イーサネットポートまたは１つ以上のネットワークに接続し得る他の接続プロトコルなどの外部周辺デバイス接続用のインターフェースを含み得る。Ｉ／Ｏインターフェース（複数可）８０６はまた、無線ローカルエリアネットワーク（ＷＬＡＮ）（Ｗｉ‐Ｆｉなど）無線通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）及び／またはロングタームエボリューション（ＬＴＥ）ネットワーク、ＷｉＭＡＸネットワーク、３Ｇネットワーク等などの無線通信ネットワークで通信可能な無線通信などの無線ネットワーク無線通信を介して１つ以上のネットワークと接続するための１つ以上のアンテナ（複数可）８３２との接続を含み得る。
【００６６】
デバイス８００はさらに、デバイス８００が様々な他のシステム、プラットフォーム、ネットワーク、デバイスなどのいずれかと通信し得る１つ以上のネットワークインターフェース８０８を含み得る。ネットワークインターフェース（複数可）８０８はさらに、例えば、１つ以上のネットワーク（複数可）１１０を介して、無線ルータ１０８、ホストサーバ１１２及び／または１つ以上のウェブサーバ（例えば、ウェブサーバ４０６）との通信を可能にし得る。
【００６７】
アンテナ（複数可）８３２は、例えば、アンテナ（複数可）８３２を介して信号を送信または受信するために使用される通信プロトコルに応じて、任意の適切な種類のアンテナを含み得る。適切なアンテナの非限定的な例は、指向性アンテナ、非指向性アンテナ、ダイポールアンテナ、折り返しダイポールアンテナ、パッチアンテナ、マルチ入力マルチ出力（ＭＩＭＯ）アンテナなどを含み得る。アンテナ（複数可）８３２は、信号が送信または受信され得る１つ以上の送受信機８１２または無線通信構成要素に通信可能に連結され得る。
【００６８】
前述の通り、アンテナ（複数可）８３２は、グローバルシステムフォーモバイルコミュニケーションズ（ＧＳＭ）、３Ｇ規格（例えば、ユニバーサルモバイル通信システム（ＵＭＴＳ）、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）、ＣＤＭＡ２０００等）、４Ｇ規格（例えば、ロングタームエボリューション（ＬＴＥ）、ＷｉＭＡＸ等）、直接衛星通信など、既定された規格及びプロトコルに従って、信号を送信または受信するよう構成されるセルラアンテナを含んでよい。
【００６９】
アンテナ（複数可）８３２は、追加的に、または代替的に、２．４Ｇｈｚチャネル（例えば、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ）、５ＧＨｚチャネル（例えば、８０２．１１ｎ、８０２．１１ａｃ）または６０ＧＨＺチャネル（例えば、８０２．１１ａｄ）を介するものを含む、ＩＥＥＥ８０２．１１の規格群など、既定された規格及びプロトコルに従って、信号を送信または受信するように構成されるＷｉ‐Ｆｉアンテナを含んでよい。代替的な実施形態例では、アンテナ（複数可）８３２は、無線スペクトラムの無認可部分の一部を形成する任意の適切な周波数範囲内で無線周波数を送信または受信するように構成され得る。
【００７０】
アンテナ（複数可）８３２は、追加的に、または代替的に、そこから位置を三角測量するための時間位置情報を保持する３つ以上のＧＮＳＳ衛星からＧＮＳＳ信号を受信するように構成されるＧＮＳＳアンテナを含み得る。係るＧＮＳＳアンテナは、例えば、全地球測位システム（ＧＰＳ）、ＧＬＯＮＡＳＳシステム、コンパスナビゲーションシステム、ガリレオシステムまたはインド地域航法システムなどの、任意の現在のＧＮＳＳまたは計画中のＧＮＳＳからＧＮＳＳ信号を受信するように構成され得る。
【００７１】
送受信機（複数可）８１２は、アンテナ（複数可）８３２と連携して、デバイス８００が他のデバイスと通信するために利用する通信プロトコルに対応する帯域幅及び／またはチャネルの無線周波数（ＲＦ）信号を送信または受信するための任意の適切な無線構成要素（複数可）を含み得る。送受信機（複数可）８１２は、アンテナ（複数可）８３２のいずれかと潜在的に連動し、上述の通信プロトコルのいずれかに従って、通信信号を変調、送信または受信するためのハードウェア、ソフトウェア及び／またはファームウェアを含み得る。通信プロトコルは、ＩＥＥＥ８０２．１１規格により規格化される１つ以上のＷｉ‐Ｆｉ及び／またはＷｉ‐Ｆｉダイレクトプロトコル、１つ以上の非Ｗｉ‐Ｆｉプロトコルまたは１つ以上のセルラ通信プロトコルもしくは規格を含むが、これらに限定されない。送受信機（複数可）８１２はさらに、ＧＮＳＳ信号を受信するためのハードウェア、ファームウェアまたはソフトウェアを含み得る。送受信機（複数可）８１２は、デバイス８００が利用する通信プロトコルを介して通信するのに適切な、任意の既知の受信機及び基底帯域を含み得る。送受信機（複数可）８１２はさらに、低雑音増幅器（ＬＮＡ）、追加の信号増幅器、アナログ／デジタル（Ａ／Ｄ）変換器、１つ以上のバッファ、デジタル基底帯域などを含み得る。
【００７２】
センサ（複数可）／センサインターフェース（複数可）８１０は、例えば、慣性センサ、力覚センサ、熱センサなどの任意の適切な種類の感知デバイスを含み得るか、これらとインターフェースを取ることが可能であり得る。慣性センサの種類の例は、加速度計（例えば、ＭＥＭＳベース加速度計）、ジャイロスコープなどを含み得る。
【００７３】
データストレージ８１６に記憶されるよう図８に図示されるプログラムモジュール、アプリケーション、コンピュータ実行可能命令、コードなどは、網羅的ではなく例示に過ぎないこと、及び任意の特定のモジュールによりサポートされるよう記載される処理は代替的には複数のモジュールにわたり分散され得るか、異なるモジュールにより行われ得ることを理解すべきである。加えて、図８に図示したプログラムモジュール、アプリケーション、またはコンピュータ実行可能コード及び／または追加または代替の機能性によって提供される機能性をサポートするために、種々のプログラムモジュール（複数可）、スクリプト（複数可）、プラグイン（複数可）、アプリケーションプログラミングインターフェース（複数可）（ＡＰＩ（複数可））またはデバイス８００上でローカルにホストされる及び／または１つ以上のネットワークを介してアクセス可能な他のコンピューティングデバイス（複数可）上でホストされる任意の他の適切なコンピュータ実行可能コードが提供され得る。さらに、機能性を別々にモジュール化してよく、これにより、図８に図示した一群のプログラムモジュールにより集合的にサポートされるよう記載される処理を、より少数または多数のモジュールにより行うことができるか、または任意の特定のモジュールによりサポートされるよう記載される機能性を、少なくとも部分的に別のモジュールによりサポートできる。加えて、本明細書に記載の機能性をサポートするプログラムモジュールは、例えば、クライアントサーバモデル、ピアツーピアモデルなどの、任意の適切なコンピューティングモデルに従って、任意の数のシステムまたはデバイスにわたり実行可能な１つ以上のアプリケーションの一部を形成してよい。加えて、図７に図示するプログラムモジュールのいずれかによりサポートされるよう記載される任意の機能性は、任意の数のデバイスにわたり、少なくとも部分的にハードウェア及び／またはファームウェアに実装されてよい。
【００７４】
デバイス８００は、本開示の範囲から逸脱せず、記載または図示された以外の代替的及び／または追加のハードウェア、ソフトウェアまたはファームウェア構成要素を含み得ることをさらに理解すべきである。より詳しくは、デバイス８００の一部を形成するとして図示されたソフトウェア、ファームウェアまたはハードウェア構成要素は例示に過ぎず、一部の構成要素は存在しない場合があり、または追加の構成要素を種々の実施形態に提供してよいことを理解すべきである。種々の例示的なプログラムモジュールを、データストレージ８１６に記憶されるソフトウェアモジュールとして図示及び記載したが、プログラムモジュールによりサポートされるように記載される機能は、ハードウェア、ソフトウェア及び／またはファームウェアの任意の組み合わせにより可能となり得ることを理解すべきである。前述のモジュールのそれぞれが、種々の実施形態では、サポートされる機能性の論理的な区分化を表し得ることをさらに理解すべきである。論理的な区分化は機能性の説明を容易にするために図示され、機能性の実装のためのソフトウェア、ハードウェア及び／またはファームウェアの構造を表すことはできない。したがって、特定のモジュールにより提供されるとして記載される機能性は、種々の実施形態では、１つ以上の他のモジュールにより少なくとも部分的に提供され得ることを理解すべきである。さらに、１つ以上の図示されたモジュールは特定の実施形態に存在しない場合があり、一方で他の実施形態では、図示されない追加のモジュールが存在してよく、記載される機能性及び／または追加の機能性の少なくとも一部をサポートしてよい。さらに、特定のモジュールを別のモジュールのサブモジュールとして図示及び記載したが、特定の実施形態では、係るモジュールは独立モジュールとして、または別のモジュールのサブモジュールとして提供され得る。
【００７５】
方法５００〜７００の１つ以上の動作は図８に図示する例示的な構成を有するデバイスにより行われ得るか、より詳細には、係るデバイス上で実行可能な１つ以上のエンジン、プログラムモジュール、アプリケーションなどにより行われ得る。しかしながら、係る動作は多数の他のデバイス構成に関連して実装され得ることを理解すべきである。
【００７６】
図５〜図７の例示的な方法に記載及び図示した動作は本開示の種々の実施形態例で所望される任意の適切な順序で実行され得るか行われ得る。追加的に、特定の実施形態例では、動作の少なくとも一部は並列的に実行され得る。さらに、特定の実施形態例では、図５〜図７に図示したものより少ない、多いまたは異なる動作が行われ得る。
【００７７】
本開示の特定の実施形態を記載したが、当業者であれば多数の他の修正及び代替的な実施形態が本開示の範囲内であることを認識するだろう。例えば、特定のデバイスまたは構成要素に関して記載された機能性及び／または処理能力のいずれかは、任意の他のデバイスまたは構成要素により行われ得る。さらに、本開示の実施形態に従って種々の例示的な実装及びアーキテクチャを記載したが、当業者は例示的な実装及びアーキテクチャに対する多数の他の修正もさらに本開示の範囲内であることを理解するだろう。
【００７８】
本開示の特定の態様は、実施形態例に従って、システム、方法、装置及び／またはコンピュータプログラム製品のブロック図及びフロー図を参照して上述される。ブロック図及びフロー図の１つ以上のブロック、ならびにブロック図及びフロー図のブロックの組み合わせがそれぞれ、コンピュータ実行可能プログラム命令によって実装され得ることが理解されるだろう。同様に、ブロック図及びフロー図のいくつかのブロックは、いくつかの実施形態に従って、必ずしも提示される順序で実施される必要はなくてよく、または必ずしも全てを実施する必要はなくてよい。さらに、これらのブロック図及び／またはフロー図のブロックに図示された以外の追加の構成要素及び／または動作が特定の実施形態に存在してよい。
【００７９】
したがって、ブロック図及びフロー図のブロックは、指定された機能を行うための手段の組み合わせ、指定された機能を行うための要素または工程の組み合わせ、及び指定された機能を行うためのプログラム命令手段をサポートする。また、ブロック図及びフロー図の各ブロック、ならびにブロック図及びフロー図のブロックの組み合わせが、専用ハードウェア及びコンピュータ命令の指定された機能、要素もしくは工程、または組み合わせを行う、専用のハードウェアベースのコンピュータシステムによって実装され得ることが理解されるだろう。
【００８０】
本明細書に開示されるプログラムモジュール、アプリケーションなどは、例えば、ソフトウェアオブジェクト、方法、データ構造などを含む、１つ以上のソフトウェア構成要素を含み得る。それぞれの係るソフトウェア構成要素は、実行に応答して、本明細書に記載する少なくとも一部の機能性（例えば、本明細書に記載の例示的な方法の１つ以上の動作）を行わせるコンピュータ実行可能命令を含み得る。
【００８１】
ソフトウェア構成要素は様々なプログラミング言語のいずれかでコード化され得る。例示的なプログラミング言語は、特定のハードウェアアーキテクチャ及び／またはオペレーティングシステムプラットフォームに関連するアセンブリ言語などの低水準プログラミング言語であってよい。アセンブリ言語命令を備えるソフトウェア構成要素は、ハードウェアアーキテクチャ及び／またはプラットフォームによる実行の前に、アセンブラによる実行可能なマシンコードに変換する必要があり得る。
【００８２】
別のプログラミング言語例は、複数のアーキテクチャにわたり可搬性があり得る高水準プログラミング言語であってよい。高水準プログラミング言語命令を備えるソフトウェア構成要素は実行前に、インタープリタまたはコンパイラにより中間表現に変換する必要があり得る。
【００８３】
他のプログラミング言語例は、マクロ言語、シェルもしくはコマンド言語、ジョブ制御言語、スクリプト言語、データベースクエリもしくは検索言語またはレポート記述言語を含むが、これらに限定されない。１つ以上の実施形態例では、前述のプログラミング言語例のうちの１つでの命令を備えるソフトウェア構成要素は、最初に別の形態に変換する必要なく、オペレーティングシステムまたは他のソフトウェア構成要素により直接実行され得る。
【００８４】
ソフトウェア構成要素はファイルまたは他のデータストレージ構成物として記憶され得る。類似の種類または機能的に関係するソフトウェア構成要素は、例えば、特定のディレクトリ、フォルダまたはライブラリなどに共に記憶され得る。ソフトウェア構成要素は静的（例えば、事前に構築されるか固定される）または動的（例えば、実行時に作成または変更される）であり得る。
【００８５】
ソフトウェア構成要素は幅広い種類のメカニズムのいずれかを通じて他のソフトウェア構成要素を呼び出すか、他のソフトウェア構成要素により呼び出され得る。呼び出されたソフトウェア構成要素または呼び出すソフトウェア構成要素は、他のカスタム開発アプリケーションソフトウェア、オペレーティングシステム機能性（例えば、デバイスドライバ、データストレージ（例えば、ファイル管理）ルーチン、他の共通ルーチン及びサービス等）あるいはサードパーティソフトウェア構成要素（例えば、ミドルウェア、暗号化または他のセキュリティソフトウェア、データベース管理ソフトウェア、ファイル転送もしくは他のネットワーク通信ソフトウェア、数学的もしくは統計的ソフトウェア、画像処理ソフトウェア及びフォーマット変換ソフトウェア）を備え得る。
【００８６】
特定の解決策またはシステムに関連するソフトウェア構成要素は単一のプラットフォーム上に常駐し実行されてよく、または複数のプラットフォームにわたり分散されてよい。複数のプラットフォームは２つ以上のハードウェアベンダ、下層チップ技術またはオペレーティングシステムに関連し得る。さらに、特定の解決策またはシステムに関連するソフトウェア構成要素は最初に１つ以上のプログラミング言語で記述されてよいが、別のプログラミング言語で記述されるソフトウェア構成要素を呼び出してよい。
【００８７】
コンピュータ実行可能プログラム命令は、専用コンピュータもしくは他の特定の機械、プロセッサまたは特定の機械を生成するための他のプログラム可能データ処理装置上にロードされてよく、これによりコンピュータ、プロセッサまたは他のプログラム可能データ処理装置上で実行する命令は、フロー図で指定される１つ以上の機能または動作を行わせる。これらのコンピュータプログラム命令はまた、実行時にコンピュータまたは他のプログラム可能データ処理装置を特定の方法で機能するように指示し得る、コンピュータ可読ストレージ媒体（ＣＲＳＭ）に記憶されてよく、これによりコンピュータ可読ストレージ媒体に記憶された命令が、フロー図で指定される１つ以上の機能または動作を実装する命令手段を含む、製造品を生成するようにする。コンピュータプログラム命令は、コンピュータまたは他のプログラム可能データ処理装置上にロードされてよく、コンピュータ実装プロセスを生成するために、一連の動作要素または工程をコンピュータまたは他のプログラム可能装置上で行わせる。
【００８８】
本明細書に記載されるデバイスのいずれかに存在し得るＣＲＳＭの追加的な種類は、プログラム可能ランダムアクセスメモリ（ＰＲＡＭ）、ＳＲＡＭ、ＤＲＡＭ、ＲＡＭ、ＲＯＭ、電気的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または情報を記憶するために使用できアクセス可能な任意の他の媒体を含み得るが、それらに限定されない。上記のうちのいずれかの組み合わせも、ＣＲＳＭの範囲に含まれる。代替的に、コンピュータ可読通信媒体（ＣＲＣＭ）はコンピュータ可読命令、プログラムモジュールまたは搬送波もしくは他の送信などのデータ信号内で送信される他のデータを含み得る。しかしながら、本明細書に記載する場合、ＣＲＳＭはＣＲＣＭを含まない。
【００８９】
実施形態は構造的な特徴及び／または方法的な行為に固有の用語で記載されているが、本開示は記載された具体的な特徴または行為に必ずしも限定されないことが理解されるべきである。むしろ、特定の機能及び行為は実施形態を実施する例示的な形態として開示される。上述の事項は以下の条項を考慮してさらに理解され得る。
【００９０】
１．テレビジョンに取り外し可能に連結されるコンテンツストリーミングデバイスにより、文字シーケンスを含む第１ウェブページに対するハイパーテキストトランスファプロトコル（ＨＴＴＰ）リクエストを生成することと、
前記コンテンツストリーミングデバイスにより、ネットワーク接続を介して、前記ＨＴＴＰリクエストを無線ルータに送信することと、
前記コンテンツストリーミングデバイスにより、前記ネットワーク接続を介して、第２ウェブページを前記無線ルータから受信することと、
前記コンテンツストリーミングデバイスにより、前記第２ウェブページが前記文字シーケンスを含まないと判定することと、
前記コンテンツストリーミングデバイスにより、前記第２ウェブページがキャプティブポータルページと判定することであって、前記コンテンツストリーミングデバイスを前記無線ルータで認証するために、前記キャプティブポータルページを介して、認証クレデンシャルが受信され得る、前記判定することと、
前記コンテンツストリーミングデバイスにより、前記キャプティブポータルページが受信されたことを示すイベント通知を生成することと、
前記コンテンツストリーミングデバイスのイベントリスナにより、前記イベント通知を検出することと、
前記コンテンツストリーミングデバイスにより、前記コンテンツストリーミングデバイス上で実行可能なキャプティブポータルアプリケーションを起動することであって、前記キャプティブポータルアプリケーションは前記テレビジョン上でウェブページを表示するためのウェブビュー構成要素を含む、前記キャプティブポータルアプリケーションを起動することと、
前記キャプティブポータルアプリケーションにより、前記キャプティブポータルページに実行可能スクリプトを埋め込むことであって、前記実行可能スクリプトの埋め込みは、第１選択可能ユーザインターフェース（ＵＩ）オブジェクトの識別子を前記キャプティブポータルページのソースコード内に配置することと、前記実行可能スクリプトを前記第１ＵＩオブジェクトに関連付けることを備える、前記実行可能スクリプトを埋め込むことと、
前記キャプティブポータルアプリケーションにより、前記ウェブビュー構成要素を使用して前記電子ディスプレイ上に前記キャプティブポータルページを表示することであって、前記キャプティブポータルページの表示は、前記キャプティブポータルページの前記第１選択可能ＵＩオブジェクト及び前記キャプティブポータルページの第２選択可能ＵＩオブジェクトを表示することを備える、前記キャプティブポータルページを表示することと、
前記キャプティブポータルアプリケーションにより、前記実行可能スクリプトを実行し、前記第１ＵＩオブジェクトが選択される際に、前記第１ＵＩオブジェクトの周りに境界線を表示させることと、
前記キャプティブポータルアプリケーションにより、前記第１ＵＩオブジェクトが選択されたと判定することと、
前記第１ＵＩオブジェクトを前記第２ＵＩオブジェクトより目立つように表示するため及び前記第１ＵＩオブジェクトが選択されたことを示すために、前記第１ＵＩオブジェクトの周りに前記境界線を表示させることと、
を備える方法。
【００９１】
２．前記ＨＴＴＰリクエストは第１ＨＴＴＰリクエストであり、前記無線ルータから受信された前記キャプティブポータルページは前記キャプティブポータルページの第１インスタンスであり、前記方法はさらに、
前記キャプティブポータルアプリケーションにより、第３ウェブページに対する第２ＨＴＴＰリクエストを生成することと、
前記キャプティブポータルアプリケーションにより、前記ネットワーク接続を介して、前記第２ＨＴＴＰリクエストを前記無線ルータに送信することと、
前記キャプティブポータルアプリケーションにより、前記ネットワーク接続を介して、前記キャプティブポータルページの第２インスタンスを前記無線ルータから受信することであって、前記実行可能スクリプトは前記キャプティブポータルページの前記第２インスタンスに埋め込まれ、前記キャプティブポータルページの前記第２インスタンスは前記ウェブビュー構成要素を使用して表示される、前記第２インスタンスを受信することと、
を備える、条項１に記載の方法。
【００９２】
３．前記実行可能スクリプトを前記キャプティブポータルページに埋め込むことは、前記ウェブビュー構成要素のインターフェースに規定される機能を呼び出すことをさらに備え、前記機能の呼び出しは、前記実行可能スクリプトを前記機能にパラメータとして渡すことを備え、前記実行可能スクリプトの実行は、前記第１ＵＩオブジェクトの前記識別子を前記キャプティブポータルページの前記ソースコードに配置することと、スタイルオブジェクトを前記識別子に関連付けることとを備え、前記スタイルオブジェクトは、前記第１ＵＩオブジェクトが選択される際に、前記第１ＵＩオブジェクトの周りに表示される前記境界線を表す、
条項１に記載の方法。
【００９３】
４．前記コンテンツストリーミングデバイスにより、リモートコントロールデバイスから信号を受信することであって、前記信号は前記リモートコントロールデバイスのボタンの選択を示す、前記信号を受信することと、
前記コンテンツストリーミングデバイスにより、前記ボタンの選択に関連付けられる第１デバイス動作に対応するイベントを生成することと、
前記キャプティブポータルアプリケーションにより、前記イベントを傍受することであって、前記イベントの傍受は、前記イベントを機能に入力パラメータとして渡すことと、前記第１デバイス動作が行われることを防ぐために前記機能を呼び出すこととを備える、前記イベントを傍受することと、
前記キャプティブポータルアプリケーションにより、第２デバイス動作を行わせるアプリケーションプログラムインターフェースを生成することであって、前記第２デバイス動作は前記第１ＵＩオブジェクトから前記第２ＵＩオブジェクトにナビゲートすることを備える、前記アプリケーションプログラムインターフェースを生成することと、
をさらに備える、条項１に記載の方法。
【００９４】
５．デバイスにより、前記デバイスに動作可能に連結される電子ディスプレイ上にウェブページを表示するための構成要素を実行することと、
無線ルータからウェブページを受信することであって、前記ウェブページはウェブサイトコンテンツを含む、前記ウェブページを受信することと、
実行可能スクリプトを前記ウェブサイトコンテンツの少なくとも一部に関連付けることと、
前記構成要素を使用して、前記電子ディスプレイ上に前記ウェブページを表示することであって、前記ウェブページを表示することは第１選択可能ユーザインターフェース（ＵＩ）オブジェクトを表示することを備える、前記ウェブページを表示することと、
前記実行可能スクリプトを実行し、前記第１ＵＩオブジェクトが現在選択されていることを示すために、第１印を前記第１ＵＩオブジェクトと関連して表示させることと、
を備える方法。
【００９５】
６．前記ウェブページはキャプティブポータルページであり、前記方法はさらに、
文字シーケンスを含む第１ウェブページに対するハイパーテキストトランスファプロトコル（ＨＴＴＰ）リクエストを生成することと、
前記ＨＴＴＰリクエストを前記無線ルータに送信することと、
前記無線ルータから第２ウェブページを受信することと、
前記第２ウェブページが前記文字シーケンスを含まないと判定することと、
前記第２ウェブページが前記キャプティブポータルページであると判定することと、
前記キャプティブポータルページが受信されたことを示すイベント通知を生成することと、
イベントリスナを使用して前記イベント通知を検出することと、
前記イベント通知の検出を基に、前記キャプティブポータルページを前記構成要素に表示するように構成されるキャプティブポータルアプリケーションを起動することと
を備える、条項５に記載の方法。
【００９６】
７．前記ＨＴＴＰリクエストは第１ＨＴＴＰリクエストであり、前記無線ルータから受信された前記キャプティブポータルページは前記キャプティブポータルページの第１インスタンスであり、前記方法はさらに、
第３ウェブページに対する第２ＨＴＴＰリクエストを生成し、
前記第２ＨＴＴＰリクエストを前記無線ルータに送信し、
前記キャプティブポータルページの第２インスタンスを前記無線ルータから受信し、前記実行可能スクリプトは前記キャプティブポータルページの前記第２インスタンスに関連付けられ、前記キャプティブポータルページの前記第２インスタンスは前記構成要素を使用して表示される、前記第２インスタンスを受信することと、
を備える、条項６に記載の方法。
【００９７】
８．前記ウェブページを表示することはさらに、第２選択可能ＵＩオブジェクトを表示することを備え、前記方法はさらに
前記キャプティブポータルアプリケーションにより、前記第２ＵＩオブジェクトが選択されたことを判定することと、
前記実行可能スクリプトの実行により、前記第１ＵＩオブジェクトより目立つように前記第２ＵＩオブジェクトを表示するため及び前記第２ＵＩオブジェクトが選択され前記第１ＵＩオブジェクトが選択されなかったことを示すために、第２印を表示させることと
を備える、条項５に記載の方法。
【００９８】
９．前記ウェブページは第１コンピュータ実行可能コードを備え、実行されると、前記電子ディスプレイの第１ピクセル数を使用して、第１境界線を前記第１ＵＩオブジェクトの周りに表示させ、前記第１印は第２境界線を備え、前記実行可能スクリプトの実行は、前記第１コンピュータ実行可能コードの代わりに第２コンピュータ実行可能コードを実行し、前記電子ディスプレイの第２ピクセル数を使用して、前記第２境界線を前記第１ＵＩオブジェクトの周りに表示させることを備え、前記第２ピクセル数は前記第１ピクセル数より大きい、条項５に記載の方法。
【００９９】
１０．リモートコントロールデバイスから信号を受信することであって、前記信号は前記リモートコントロールデバイスのボタンの選択を示す、前記信号を受信することと、
前記ボタンの選択に関連付けられる第１デバイス動作に対応するイベントを生成することと、
前記イベントを検出することと、
前記キャプティブポータルアプリケーションにより、アプリケーションプログラムインターフェースを生成し、前記第１デバイス動作の代わりに第２デバイス動作を行わせ、前記第２デバイス動作は前記第１ＵＩオブジェクトから前記第２ＵＩオブジェクトにナビゲートすることを備える、前記アプリケーションプログラムインターフェースを生成することと、
をさらに備える、条項５に記載の方法。
【０１００】
１１．前記ウェブページの第１位置にグラフィカルインジケータを表示することであって、前記グラフィカルインジケータは前記電子ディスプレイ上に表示された前記ウェブページの任意の位置へのナビゲーションを可能にする、前記グラフィカルインジケータを表示することと、
リモートコントロールデバイスから信号を受信することであって、前記信号は前記リモートコントロールデバイスのボタンの選択を示す、前記信号を受信することと、
前記ボタンの選択に関連付けられる第１デバイス動作に対応する第１イベントを生成することと、
前記第１デバイス動作が行われることを防ぐために、前記第１イベントを受信することと、
第２デバイス動作に対応する第２イベントを生成することと、
前記リモートコントロールデバイスからの前記信号の受信中に前記第２デバイス動作を行うことであって、前記第２デバイス動作を行うことは、前記ウェブページの複数の追加位置にある前記グラフィカルインジケータを連続的に前記ボタンに対応する方向に表示することを備える、前記第２デバイス動作を行うことと、
をさらに備える、条項５に記載の方法。
【０１０１】
１２．前記ウェブページはキャプティブポータルページであり、前記方法は、
前記キャプティブポータルページを介して、ユーザ認証クレデンシャルを受信することと、
認証リクエストを生成することと、
前記認証リクエストを前記無線ルータに送信することと、
認証レスポンスを前記無線ルータから受信することであり、前記認証レスポンスは前記無線ルータが前記デバイスを認証したことを示すランディングページを備える、前記認証レスポンスを受信することと、
文字シーケンスを含む第１ウェブページに対してＨＴＴＰリクエストを生成することと、
前記ＨＴＴＰリクエストを前記無線ルータに送信することと、
前記無線ルータから第２ウェブページを受信することと、
前記コンテンツストリーミングデバイスにより、前記第２ウェブページが前記文字シーケンスを含むと判定することと、
前記コンテンツストリーミングデバイスにより、前記キャプティブポータルアプリケーションを終了することと
をさらに備える、条項５に記載の方法。
【０１０２】
１３．コンピュータ実行可能命令を記憶する少なくとも１つのメモリと、
前記少なくとも１つのメモリに動作可能に連結され、前記少なくとも１つのメモリにアクセスし、
前記デバイスに動作可能に連結される電子ディスプレイ上にウェブページを表示するための構成要素を実行し、
無線ルータからウェブページを受信し、
実行可能スクリプトを前記ウェブページに関連付け、
前記構成要素を使用して前記電子ディスプレイ上に前記ウェブページを表示し、前記ウェブページを表示することは第１選択可能ユーザインターフェース（ＵＩ）オブジェクトを表示し、
前記第１ＵＩオブジェクトが現在選択されていることを示すために、前記実行可能スクリプトを実行し、第１印を前記第１ＵＩオブジェクトに関連して表示させる、
前記コンピュータ実行可能命令を実行するように構成される少なくとも１つのプロセッサと
を備える、デバイス。
【０１０３】
１４．前記ウェブページはキャプティブポータルページであり、前記少なくとも１つのプロセッサは、
文字シーケンスを含む第１ウェブページに対してハイパーテキストトランスファプロトコル（ＨＴＴＰ）リクエストを生成し、
前記ＨＴＴＰリクエストを前記無線ルータに送信し、
前記無線ルータから第２ウェブページを受信し、
前記第２ウェブページが前記文字シーケンスを含まないと判定し、
前記第２ウェブページが前記キャプティブポータルページであると判定し、
前記キャプティブポータルページが受信されたことを示すイベント通知を生成し、
イベントリスナを使用して前記イベント通知を検出し、
前記イベント通知の検出を基に、キャプティブポータルアプリケーションを起動し、前記キャプティブポータルアプリケーションは前記キャプティブポータルページを前記構成要素に表示するように構成される、
前記コンピュータ実行可能命令を実行するようにさらに構成される、条項１３に記載のデバイス。
【０１０４】
１５．前記ＨＴＴＰリクエストは第１ＨＴＴＰリクエストであり、前記無線ルータから受信された前記キャプティブポータルページは前記キャプティブポータルページの第１インスタンスであり、前記少なくとも１つのプロセッサは、
第３ウェブページに対する第２ＨＴＴＰリクエストを生成し、
前記第２ＨＴＴＰリクエストを前記無線ルータに送信し、
前記キャプティブポータルページの第２インスタンスを前記無線ルータから受信し、前記実行可能スクリプトは前記キャプティブポータルページの前記第２インスタンスに関連付けられ、前記キャプティブポータルページの前記第２インスタンスは前記構成要素を使用して表示される、
前記コンピュータ実行可能命令を実行するようにさらに構成される、条項１４に記載のデバイス。
【０１０５】
１６．前記ウェブページを表示することは、第２選択可能ＵＩオブジェクトを表示することをさらに備え、前記少なくとも１つのプロセッサは、
前記第２ＵＩオブジェクトが選択されたと判定し、
前記第１ＵＩオブジェクトよりも目立つように前記第２ＵＩオブジェクトを表示するため及び前記第２ＵＩオブジェクトが選択され、前記第１ＵＩオブジェクトが選択されなかったことを示すために、前記実行可能スクリプトの実行により、第２印を表示させる、
前記コンピュータ実行可能命令を実行するようにさらに構成される、条項１３に記載のデバイス。
【０１０６】
１７．前記ウェブページは第１コンピュータ実行可能コードを備え、実行されると、前記電子ディスプレイの第１ピクセル数を使用して、第１境界線を前記第１ＵＩオブジェクトの周りに表示させ、前記第１印は第２境界線を備え、前記実行可能スクリプトを実行することは、前記第１コンピュータ実行可能コードの代わりに第２コンピュータ実行可能コードを実行し、前記電子ディスプレイの第２ピクセル数を使用して前記第２境界線を前記第１ＵＩオブジェクトの周りに表示させることを備え、前記第２ピクセル数は前記第１ピクセル数より大きい、条項１３に記載のデバイス。
【０１０７】
１８．前記少なくとも１つのプロセッサは、
リモートコントロールデバイスから信号を受信することであり、前記信号は前記リモートコントロールデバイスのボタンの選択を示し、
前記ボタンの選択に関連付けられる第１デバイス動作に対応する第１イベントを生成し、
前記第１デバイス動作が行われることを防ぐために、前記イベントを受信し、
第２デバイス動作を行わせるアプリケーションプログラムインターフェースを生成し、前記第２デバイス動作は前記第１ＵＩオブジェクトから前記第２ＵＩオブジェクトにナビゲートすることを備える、
前記コンピュータ実行可能命令を実行するようにさらに構成される、条項１３に記載のデバイス。
【０１０８】
１９．前記少なくとも１つのプロセッサは、
リモートコントロールデバイスから信号を受信することであり、前記信号は前記リモートコントロールデバイスのボタンの選択を示し、
前記ボタンの選択に関連付けられる第１デバイス動作に対応する第１イベントを生成し、
前記ウェブページの第１位置にグラフィカルインジケータを表示し、前記グラフィカルインジケータは前記電子ディスプレイ上に表示された前記ウェブページの任意の位置へのナビゲーションを可能にし、
前記第１デバイス動作が行われることを防ぐために、前記第１イベントを受信し、
第２デバイス動作に対応する第２イベントを生成し、
前記リモートコントロールデバイスからの前記信号の受信中に前記第２デバイス動作を行い、前記第２デバイス動作を行うことは、前記キャプティブポータルページの複数の追加位置にある前記グラフィカルインジケータを連続的に前記ボタンに対応する方向に表示することを備える、
前記コンピュータ実行可能命令を実行するようにさらに構成される、条項１３に記載のデバイス。
【０１０９】
２０．前記ウェブページはキャプティブポータルページであり、前記少なくとも１つのプロセッサは、
前記キャプティブポータルページを介して、ユーザ認証クレデンシャルを受信し、
認証リクエストを生成し、
前記認証リクエストを前記無線ルータに送信し、
前記ユーザ認証クレデンシャルが認証されたことを示す認証レスポンスを前記無線ルータから受信し、
文字シーケンスを含む第１ウェブページに対してＨＴＴＰリクエストを生成し、
前記ＨＴＴＰリクエストを前記無線ルータに送信し、
前記無線ルータから第２ウェブページを受信し、
前記第２ウェブページが前記文字シーケンスを含むと判定し、
前記キャプティブポータルアプリケーションを終了する、
前記コンピュータ実行可能命令を実行するようにさらに構成される、条項１３に記載のデバイス。
【０１１０】
条件語句、例えば、特に、「ｃａｎ（できる）」、「ｃｏｕｌｄ（できるだろう）」、「ｍｉｇｈｔ（の可能性がある）」、または「ｍａｙ（してよい）」は、特に別段の記載がない限り、または使用される文脈内で別の意味で理解されない限り、一般に、特定の実施形態が、特定の特徴、要素、及び／または工程を含むが、他の実施形態は含まないことを伝えることを意図する。したがって、係る条件語句は、一般に、その特徴、要素及び／または工程が、１つ以上の実施形態にいかなる意味においても必要とされること、または１つ以上の実施形態が、ユーザ入力もしくはプロンプト表示の有無に関わらず、これらの特徴、要素及び／または工程を含むか、あるいは任意の特定の実施形態において行われるかを決定するための論理を必ず含むことを含意する意図はない。
【図１Ａ】
0006531182.tif 000002
【図１Ｂ】
0006531182.tif 000003
【図１Ｃ】
0006531182.tif 000004
【図２Ａ】
0006531182.tif 000005
【図２Ｂ】
0006531182.tif 000006
【図３】
0006531182.tif 000007
【図４Ａ】
0006531182.tif 000008
【図４Ｂ】
0006531182.tif 000009
【図５】
0006531182.tif 000010
【図６】
0006531182.tif 000011
【図７】
0006531182.tif 000012
【図８】
0006531182.tif 000013