(57)【特許請求の範囲】
【請求項１】
方法であって、
ウェブサイトにアクセスするためのログイン要求を端末上のブラウザから受信することと、
前記端末上の前記ブラウザからの前記ログイン要求の受信を受けて、第１のトークンを生成することと、
リダイレクトスクリプトを含む情報を前記端末上の前記ブラウザに送信することであって、前記リダイレクトスクリプトは、前記端末に、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせ、その結果、前記端末上のクライアントアプリケーションを起動するように構成される、情報の送信と、
前記端末上の前記クライアントアプリケーションから検証要求を受信することであって、前記検証要求は、前記端末上の前記クライアントアプリケーションが前記起動リンクを使用することによって取得されたヴァージョンの前記第１のトークンを含む、検証要求の受信と、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるかどうかを、前記生成された第１のトークンに照らして決定することと、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるとの決定を受けて、前記第１のトークンが有効であるとの表示を前記端末上の前記クライアントアプリケーションに送信することと、
前記ウェブサイトにアクセスするためのアクセス要求を受信することであって、前記アクセス要求は、第２のトークンを含む、アクセス要求の受信と、
前記第２のトークンが有効であるかどうかを決定することと、
前記第２のトークンが有効であるとの決定を受けて、前記端末がモバイル端末であると検証することと、
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記第２のトークンは、前記端末上の前記クライアントアプリケーションが前記第１のトークンを暗号化することによって生成される、方法。
【請求項３】
請求項１に記載の方法であって、
前記第２のトークンが有効であるかどうかを決定することは、
前記第２のトークンを復号化して前記第１のトークンを得て、前記第２のトークンを復号化することによって得られた前記第１のトークンが有効であるかどうかを検証することと、
もし、前記第２のトークンを復号化することによって得られた前記第１のトークンが有効である場合に、前記第２のトークンが有効であると決定することと、
を含む、方法。
【請求項４】
請求項１に記載の方法であって、さらに、
前記第２のトークンが有効であると決定される場合に、前記第２のトークンをクッキーに書き込み、前記クッキーを前記端末上の前記ブラウザに送信することを備える方法。
【請求項５】
請求項４に記載の方法であって、さらに、
前記端末上の前記ブラウザを通じて前記ウェブサイトにログインするための要求を前記端末から受信することを受けて、前記ブラウザのクッキーが前記第２のトークンを含むかどうかを決定することと、
前記ブラウザの前記クッキーが前記第２のトークンを含むとの決定を受けて、前記ブラウザの前記クッキーに含まれる前記第２のトークンが有効であるかどうかを決定することと、
を備える方法。
【請求項６】
請求項５に記載の方法であって、さらに、
前記ブラウザの前記クッキーに含まれる前記第２のトークンが有効であるとの決定を受けて、前記端末がモバイル端末であると決定することを備える方法。
【請求項７】
請求項１に記載の方法であって、さらに、
前記端末上の前記ブラウザからメッセージを受信することであって、前記端末は、前記端末上の前記ブラウザを通して前記ウェブサイトにログインし、前記ブラウザからの前記メッセージは、前記端末のための画面解像度の画面解像度情報を含む、メッセージの受信と、
前記ブラウザのユーザエージェント情報を受信することと、
前記ブラウザの前記ユーザエージェント情報にしたがって、前記端末の機器タイプを決定することと、
前記端末の前記機器タイプに対応する画面解像度を決定することと、
前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記端末の前記画面解像度と同じであるかどうかを決定することと、
前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記画面解像度と同じであるとの決定を受けて、前記第１のトークンを生成することと、
を備える方法。
【請求項８】
請求項１に記載の方法であって、さらに、
前記ウェブサイトにアクセスするための前記ログイン要求に関連してサーバによって受信されたログイン情報が正しいかどうかを決定することと、
前記ログイン情報が正しいと決定された場合に、前記第１のトークンが生成されるべきであると決定することと、
を備える方法。
【請求項９】
請求項１に記載の方法であって、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるかどうかを決定することは、さらに、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンと同じ第１のトークンをサーバが有するかどうかを決定することと、
もし、前記検証要求に含まれる前記ヴァージョンの前記第１のトークンと同じ第１のトークンを前記サーバが有すると決定される場合に、前記第１のトークンが有効であると決定することと、
を含む、方法。
【請求項１０】
請求項１に記載の方法であって、さらに、
前記端末がモバイル端末であるとの決定を受けて、前記端末に前記ウェブサイトへのアクセスを許可することを備える方法。
【請求項１１】
サーバであって、
端末がウェブサイトにログインすることに関連して第１のトークンを生成し、および前記第１のトークンを保存するように構成された生成モジュールと、
リダイレクトスクリプトを含む情報を前記端末上のブラウザに送信するように構成された第１の返信モジュールであって、前記リダイレクトスクリプトは、前記端末上の前記ブラウザに、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせ、その結果、前記端末上のクライアントアプリケーションを起動するように構成される、第１の返信モジュールと、
前記端末上の前記クライアントアプリケーションからの検証要求を受信するように構成された第１の受信モジュールであって、前記検証要求は、前記端末上の前記クライアントアプリケーションが前記起動リンクを使用することによって取得されたヴァージョンの前記第１のトークンを含む、第１の受信モジュールと、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるかどうかを、前記生成された第１のトークンに照らして決定するように構成された第１の検証モジュールと、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であると前記第１の検証モジュールが決定することを受けて、前記第１のトークンが有効であるとの表示を前記端末上の前記クライアントアプリケーションに送信するように構成された第２の返信モジュールと、
前記ウェブサイトにアクセスするためのアクセス要求を受信するように構成された第２の受信モジュールであって、前記アクセス要求は、第２のトークンを含む、第２の受信モジュールと、
前記第２のトークンが有効であるかどうかを決定するように構成された第２の検証モジュールと、
前記第２のトークンが有効との決定を受けて、前記端末がモバイル端末であると検証するように構成された第１の決定モジュールと、
を備えるサーバ。
【請求項１２】
請求項１１に記載のサーバであって、
前記第２のトークンは、前記端末上の前記クライアントアプリケーションが前記第１のトークンを暗号化することによって生成される、サーバ。
【請求項１３】
請求項１１に記載のサーバであって、
前記第２の検証モジュールは、さらに、前記第２のトークンを復号化して前記第１のトークンを得、前記第２のトークンを復号化することによって得られた前記第１のトークンが有効であるかどうかを検証し、および前記第２のトークンを復号化することによって得られた前記第１のトークンが有効である場合に、前記第２のトークンが有効であると決定するように構成される、サーバ。
【請求項１４】
請求項１１に記載のサーバであって、さらに、
前記第２のトークンをクッキーに書き込むように構成された書き込みモジュールと、
前記クッキーを前記端末上の前記ブラウザに送信するように構成された通信モジュールと、
を備えるサーバ。
【請求項１５】
請求項１４に記載のサーバであって、さらに、
前記端末上の前記ブラウザを通じて前記ウェブサイトにログインするための要求を前記端末から受信することを受けて、前記ブラウザのクッキーが前記第２のトークンを含むかどうかを決定するように構成されたチェックモジュールと、
前記ブラウザの前記クッキーが前記第２のトークンを含むと前記チェックモジュールが決定することを受けて、前記ブラウザの前記クッキーに含まれる前記第２のトークンが有効であるかどうかを決定するように構成された第３の検証モジュールと、
を備えるサーバ。
【請求項１６】
請求項１５に記載のサーバであって、さらに、
前記ブラウザの前記クッキーに含まれる前記第２のトークンが有効であると前記第３の検証モジュールが決定することを受けて、前記端末がモバイル端末であると決定するように構成された第２の決定モジュールを備えるサーバ。
【請求項１７】
請求項１１に記載のサーバであって、さらに、
前記端末上の前記ブラウザからメッセージを受信するように構成された第３の受信モジュールであって、前記端末は、前記端末上の前記ブラウザを通じて前記ウェブサイトにログインし、前記ブラウザからの前記メッセージは、前記端末のための画面解像度の画面解像度情報を含む、第３の受信モジュールと、
前記ブラウザのユーザエージェント情報を受信し、および前記ブラウザの前記ユーザエージェント情報にしたがって前記端末の機器タイプを決定するように構成された第３の決定モジュールと、
前記端末の前記機器タイプに対応する画面解像度を決定するように構成された第４の決定モジュールと、
前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記端末の前記画面解像度と同じであるかどうかを決定するように構成された比較モジュールと、
を備え、
前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記画面解像度と同じであると前記比較モジュールが決定することを受けて、前記生成モジュールは、前記第１のトークンを生成する、サーバ。
【請求項１８】
請求項１１に記載のサーバであって、さらに、
前記ウェブサイトにアクセスするためのログイン要求に関連して前記サーバによって受信されたログイン情報が正しいかどうかを決定するように構成された第４の検証モジュールを備え、
前記ウェブサイトにアクセスするための前記ログイン要求に関連して前記サーバによって受信されたログイン情報が正しいと前記第４の検証モジュールが決定することを受けて、前記生成モジュールは、前記第１のトークンを生成する、サーバ。
【請求項１９】
請求項１１に記載のサーバであって、
前記第１の検証モジュールは、照会サブモジュールと、決定サブモジュールと含み、
前記照会サブモジュールは、前記検証要求に含まれる前記ヴァージョンの前記第１のトークンと同じ第１のトークンを前記サーバが有するかどうかを決定するように構成され、
前記決定サブモジュールは、もし、前記検証要求に含まれる前記ヴァージョンの前記第１のトークンと同じ第１のトークンを前記サーバが有すると決定される場合に、前記第１のトークンが有効であると決定するように構成される、サーバ。
【請求項２０】
請求項１１に記載のサーバであって、
前記第１の決定モジュールは、さらに、前記端末がモバイル端末であるとの決定を受けて、前記端末に前記ウェブサイトへのアクセスを許可するように構成される、サーバ。
【請求項２１】
コンピュータプログラムであって、
ウェブサイトにアクセスするためのログイン要求を端末上のブラウザから受信する機能と、
前記端末上の前記ブラウザからの前記ログイン要求の受信を受けて、第１のトークンを生成する機能と、
リダイレクトスクリプトを含む情報を前記端末上の前記ブラウザに送信する機能であって、前記リダイレクトスクリプトは、前記端末に、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせ、その結果、前記端末上のクライアントアプリケーションを起動するように構成される、機能と、
前記端末上の前記クライアントアプリケーションから検証要求を受信する機能であって、前記検証要求は、前記端末上の前記クライアントアプリケーションが前記起動リンクを使用することによって取得されたヴァージョンの前記第１のトークンを含む、コンピュータ命令と、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるかどうかを、前記生成された第１のトークンに照らして決定する機能と、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるとの決定を受けて、前記第１のトークンが有効であるとの表示を前記端末上の前記クライアントアプリケーションに送信する機能と、
前記ウェブサイトにアクセスするためのアクセス要求を受信する機能であって、前記アクセス要求は、第２のトークンを含む、コンピュータ命令と、
前記第２のトークンが有効であるかどうかを決定する機能と、
前記第２のトークンが有効であるとの決定を受けて、前記端末がモバイル端末であると検証する機能と、
をコンピュータに実現させるための、コンピュータプログラム。
【請求項２２】
請求項１に記載の方法であって、
前記ログイン要求の前記受信に関連して、前記端末に関連付けられた１以上の特性を含む情報が、受信され、
前記ログイン要求の前記受信に関連して受信された、前記端末に関連付けられた１以上の前記特性が、モバイル端末に対応するとの決定を受けて、前記第１のトークンが生成される、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連技術の相互参照］
本出願は、２０１４年１月７日に出願され発明の名称を「Ａ  ＭＥＴＨＯＤ  ＡＮＤ  Ａ  ＳＥＲＶＥＲ  ＦＯＲ  ＤＥＴＥＲＭＩＮＩＮＧ  ＷＨＥＴＨＥＲ  Ａ  ＴＥＲＭＩＮＡＬ  ＬＯＧＧＩＮＧ  ＩＮＴＯ  Ａ  ＷＥＢＳＩＴＥ  ＩＳ  Ａ  ＭＯＢＩＬＥ  ＴＥＲＭＩＮＡＬ（ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびサーバ）」とする中国特許出願第２０１４１０００７１４３．５号の優先権を主張する。該出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
【０００２】
本出願は、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法、装置、およびシステムに関する。
【背景技術】
【０００３】
ワイヤレス・ウェブサイトは、モバイル端末（例えば、携帯電話、タブレット型コンピュータなどといったもの）のために開発されたウェブサイト、およびモバイル端末を通じてアクセスされるＩｎｔｅｒｎｅｔウェブサイトである。ユーザは、パソコン（ＰＣ）、モバイル端末などといったものなどの、様々なタイプのデバイスを使用してワイヤレス・ウェブサイトにアクセスしてよいが、モバイル端末を使用してワイヤレス・ウェブサイトにアクセスすることで、より優れたユーザ体験がユーザに与えられるだろう。ワイヤレス・ウェブサイトは、通常のウェブサイトと同じ機能を数多く提供しえる。例えば、ワイヤレス・ウェブサイトは、対応する通常のウェブサイトの機能の大半を実現することができる。しかしながら、ワイヤレス・ウェブサイトは、主に、モバイル端末を使用するユーザの消費のために開発されたものである。ワイヤレス・ウェブサイトは、通常のウェブサイトに関係付けられた制約の多くを解決し、そうして、ユーザが自身の都合に合わせて多様な場所からワイヤレス・ウェブサイトにアクセスして情報を取得することを可能にしている。したがって、ワイヤレス・ウェブサイトは、ユーザの作業効率を向上させて、情報の価値を高める。
【０００４】
関連技術にしたがうと、ワイヤレス・ウェブサイトには、（例えば、ユーザとの安全なインタラクションをユーザに提供するために、）セキュリティ要件が高いものがある。例えば、セキュリティ要件が高いワイヤレス・ウェブサイトには、ユーザがモバイル端末を使用してログインすることのみを許可し、ユーザがモバイル端末ではない端末（例えば、デスクトップ型コンピュータ、ノートブック型コンピュータなどといったもの）を使用してログインすることを許可しないものがある。別の言い方をすると、セキュリティ要件が高いワイヤレス・ウェブサイトには、モバイル端末を使用しているユーザにのみアクセスを提供するものがある。ワイヤレス・ウェブサイトへの安全なアクセスをモバイル端末に提供するためのメカニズムは、モバイル端末ではない端末には対応していないだろうゆえに、ワイヤレス・ウェブサイトへのアクセス（例えば、ワイヤレス・ウェブサイトへのログイン）は、モバイル端末のみに制限され、モバイル端末ではない端末からのアクセスは、阻止されるだろう。例えば、あるユーザが、モバイル端末ではない端末（例えば、ＰＣなどといったもの）を使用して、セキュリティ要件が高いウェブサイトにログインするときは、そのウェブサイトは、通常は、セキュリティ・コントロールを先ずインストールするようにユーザに要求し、ユーザがウェブサイトにログインするときに、そのインストールされたセキュリティ・コントロールを通じてユーザのアカウント番号およびパスワードが暗号化可能であるようにする。セキュリティ・コントロール、ならびにユーザのアカウント番号およびパスワードの暗号化の使用は、アカウント番号およびパスワードが悪意あるモジュール（例えば、トロイの木馬プログラム、ウィルスなどといったもの）によって損なわれる（例えば、盗まれる）ことを防ぐ。しかしながら、このようなセキュリティ・コントロールは、モバイル端末にはインストールすることができない。したがって、ワイヤレス・ウェブサイトと通常のウェブサイトとでは、関係付けられているセキュリティ・メカニズムが異なり、一般に、このようなセキュリティ・メカニズムが、ワイヤレス・ウェブサイト用にセットアップされることはない。したがって、もし、モバイル端末ではない端末（例えば、ＰＣなどといったもの）が、ワイヤレス・ウェブサイトにログインしようとすると、悪意あるモジュール（例えば、トロイの木馬プログラム、ウィルス、悪意あるソフトウェアなどといったもの）が、セキュリティ情報（例えば、ユーザ名、パスワードなどといったもの）を損なう恐れがある。したがって、悪意あるモジュールによってセキュリティ情報が損なわれることがないように、セキュリティ要件が高いワイヤレス・ウェブサイトは、モバイル端末ではない端末によるアクセスを阻止する（そして、例えば、ユーザがＰＣなどといったものを使用してワイヤレス・ウェブサイトにログインすることを防ぐ）ように構成される。
【０００５】
関連技術にしたがうと、特定のワイヤレス・ウェブサイトにアクセスしている端末のタイプが決定される。例えば、ワイヤレス・ウェブサイト・サーバ（例えば、ワイヤレス・ウェブサイトを運営しているサーバなど）が、ワイヤレス・ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定してよい。ワイヤレス・ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するために、ワイヤレス・ウェブサイト・サーバは、ワイヤレス・ウェブサイトへのアクセスに関連して通信されるユーザエージェント情報（例えば、ＨＴＴＰ要求のユーザ−エージェント文字列に含まれるユーザエージェント情報）を使用してよい。例えば、ワイヤレス・ウェブサイト・サーバは、ｈｔｔｐプロトコルに含まれるユーザエージェント情報を識別（例えば、決定）してよい。ユーザエージェント情報は、ｈｔｔｐプロトコルの一部である。ユーザエージェント情報は、ワイヤレス・ウェブサイトにアクセスするために使用される端末の機器タイプおよびオペレーティングシステムを取得（例えば、決定）するために、ならびに、それによって、ユーザがモバイル端末を使用してウェブサイトにアクセスしているかどうかを決定するために、使用されてよい。しかしながら、モバイル端末ではない端末が、偽造されたユーザエージェント情報を使用してモバイル端末になりすます恐れがある。別の言い方をすると、ワイヤレス・ウェブサイトにアクセスするときに使用されるユーザエージェント情報が、偽造されている（例えば、ねつ造されている）可能性がある。例えば、ブラウザを通じて偽のユーザエージェント情報がセットアップされ、次いで、モバイル端末であるふりをしている端末（例えば、ＰＣなど）がワイヤレス・ウェブサイトにログインする可能性がある。
【図面の簡単な説明】
【０００６】
本発明の様々な実施形態が、以下の詳細な説明および添付の図面で開示される。
【０００７】
ここで説明される図面は、本出願の理解を深めることおよび本出願の一部を構成することを意図している。本出願の例示の実施形態およびその説明は、本出願を説明することを意図しており、本出願に対する不適切な制限を構成するものではない。
【０００８】
【図１】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
【０００９】
【図２】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのフローチャートである。
【００１０】
【図３】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
【００１１】
【図４】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
【００１２】
【図５】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムを示した図である。
【００１３】
【図６Ａ】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのサーバの構造ブロック図である。
【００１４】
【図６Ｂ】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのサーバの構造ブロック図である。
【００１５】
【図７】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムにおける端末の構造ブロック図である。
【００１６】
【図８】本開示の様々な実施形態にしたがった、ウェブサイトにアクセスするためのおよびウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのコンピュータシステムの機能図である。
【発明を実施するための形態】
【００１７】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、ならびに／または接続先のメモリに格納された命令および／もしくは接続先のメモリによって提供される命令を実行するように構成されたプロセッサ等のプロセッサなどの、数々の形態で実現することができる。本明細書では、これらの実現形態、または本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスのステップの順番は、本発明の範囲内で変更されえる。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサまたはメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネントとして、またはタスクを実施するように製造された特殊コンポーネントとして実装されえる。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ以上のデバイス、回路、および／または処理コアを言う。
【００１８】
本発明の原理を例示した添付の図面とともに、以下で、本発明の１つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態に関連して説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、および均等物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部または全部を伴わずとも、特許請求の範囲にしたがって実施されえる。明瞭を期するために、本発明に関係する技術分野で知られる技工物は、本発明が不必要に不明瞭にされないように、詳細には説明されていない。
【００１９】
本開示の様々な実施形態は、ウェブサイトにログインするために使用される端末がモバイル端末であるかどうかを検証する（またはそれ以外のやり方で保証する）ための方法、装置、およびシステムを含む。
【００２０】
本開示の様々な実施形態にしたがうと、１つ以上のトークンが、端末とウェブサイト・サーバ（例えば、ワイヤレス・ウェブサイト・サーバ）との間で通信され、この１つ以上のトークンのうちの少なくとも１つが、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定する（またはそれ以外のやり方で保証する）ために有効性を立証される。端末が（例えば、ブラウザを使用して）ウェブサイトにログインすることを受けて、第１のトークンが（例えば、ウェブサイト・サーバなどによって）生成されて、端末に通信されてよい。端末は、端末上でクライアントアプリケーションを起動させるために第１のトークンを使用してよく、サーバ（例えば、ウェブサイト・サーバ）が、第１のトークンの有効性を立証してよい。例えば、ユーザが端末上のブラウザを通じてウェブサイトにログインするときに、第１のトークンが生成される。第１のトークンは、端末上のブラウザに、端末上のクライアントアプリケーションを起動させるための起動リンクにリダイレクトメカニズムを通してアクセスさせてよく、そうして、クライアントアプリケーションが起動され、この起動されたクライアントアプリケーションは、第１のトークンが有効であるかどうかを検証するためにサーバを使用させられる。一部の実施形態では、サーバがトークンを生成するときに、そのトークンは、バッファに格納される。したがって、もし、端末が、サーバのバッファに格納されているトークンと同一のもの、すなわちコピーを通信するならば、その端末は、有効なトークンを送信したと決定される。例えば、トークンが有効であるかどうかの検証は、受信されたトークンが、サーバに格納されているトークン（例えば、サーバによって生成されたトークン）と同じ（例えば、同一のもの、すなわちコピー）であるかどうかを決定することを含む。一部の実施形態では、リダイレクトメカニズムは、広告のためのＧｏｏｇｌｅリンクに類似している。さらに、端末がウェブサイトに再びアクセスする（例えば、ウェブサイトが端末上のブラウザを通じてアクセスされる）と、その端末によるウェブサイトへの再アクセスを受けて、サーバは、ブラウザによって送信された、ウェブサイトにアクセスするためのアクセス要求に関係して取得された第２のトークン（例えば、第２のトークンは、端末がアクセス要求をサーバに通信することを受けてウェブサイト・サーバによって生成されて、端末に通信されてよい）が有効であるかどうかを検証することによって、端末がモバイル端末であるかどうかを決定する。一部の実施形態では、サーバは、端末によるウェブサイトへの再ログインの試みを受けて、ウェブサイトにアクセスするためのアクセス要求に関係して取得された第２のトークンが有効であるかどうかを検証することによって、端末がモバイル端末であるかどうかを決定する。一部の実施形態では、トークンは、端末がウェブサイトにログインするたびに検証される。
【００２１】
本出願の様々な実施形態にしたがって、ウェブサイトにアクセスしている（例えば、ログインしている）端末がモバイル端末であるかどうかを決定するための方法、装置、および／またはシステムが提供される。
【００２２】
総じて、端末は、ネットワークシステム内で（例えば、ユーザによって）使用されるデバイスを言い、１つ以上のサーバと通信するために使用される。本開示の様々な実施形態にしたがうと、端末は、通信機能を含んでいてよい。例えば、端末は、スマートフォン、タブレット型パソコン（ＰＣ）、携帯電話、ビデオ電話、電子書籍リーダ、デスクトップ型ＰＣ、ラップトップ型ＰＣ、ネットブック型ＰＣ、携帯情報端末（ＰＤＡ）、携帯マルチメディアプレーヤ（ＰＭＰ）、ｍｐ３プレーヤ、携帯医療機器、カメラ、装着型機器（例えば、頭部装着型機器（ＨＭＤ）、電子服、電子ブレース、電子ネックレス、電子アクセサリ、電子タトゥ、またはスマートウォッチ）などといったものであってよい。
【００２３】
本開示の様々な実施形態にしたがうと、端末は、通信機能を持つスマート家電であってよい。スマート家電は、例えば、テレビ、デジタルビデオディスク（ＤＶＤ）プレーヤ、オーディオ、冷蔵庫、エアコン、掃除機、オーブン、電子レンジ、洗濯機、乾燥機、空気清浄機、セットトップボックス、ＴＶボックス（例えば、Ｓａｍｓｕｎｇ  ＨｏｍｅＳｙｎｃ（商標）、Ａｐｐｌｅ  ＴＶ（商標）、またはＧｏｏｇｌｅ  ＴＶ（商標））、ゲーム機、電子辞書、電子キー、カムコーダ、電子フォトフレームなどといったものであってよい。
【００２４】
本開示の様々な実施形態にしたがうと、端末は、通信機能を含む、医療機器（例えば、磁気共鳴血管造影（ＭＲＡ）機器、磁気共鳴撮像（ＭＲＩ）機器、コンピュータ断層撮影（ＣＴ）機器、撮像機器、または超音波機器）、ナビゲーション機器、全地球測位システム（ＧＰＳ）レシーバ、イベントデータレコーダ（ＥＤＲ）、フライトデータレコーダ（ＦＤＲ）、自動車インフォテインメント機器、海軍電子機器（例えば、海軍航海機器、ジャイロスコープ、またはコンパス）、航空電子機器、セキュリティ機器、産業用または消費者用ロボット、家具、建物／構造物の一部、電子掲示板、電子署名受信機器、プロジェクタ、様々な計測機器（例えば、水、電気、ガス、または電磁波を計測する機器）などといったものであってよい。
【００２５】
本開示の様々な実施形態にしたがうと、端末は、上記の機器の任意の組み合わせであってよい。また、当業者にならば、本開示の様々な実施形態にしたがった端末が上記の機器に限定されないことが、明らかである。
【００２６】
本開示の様々な実施形態にしたがうと、モバイル端末は、移動中に使用することができる端末機器を言う。例えば、モバイル端末は、携帯電話、タブレット型コンピュータなどといったものであってよい。
【００２７】
図１は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
【００２８】
図１を参照すると、個別でまたは協同して動作している１つ以上のサーバが、ウェブサイトにアクセスしている（例えば、ログインしている）端末がモバイル端末であるかどうかを検証する（例えば、決定する）ための、方法１００が提供される。一部の実施形態では、方法１００は、図５に例示されたサーバ５２０などのサーバによって実行されてよい。
【００２９】
１１０では、アクセス要求が受信される。一部の実施形態では、サーバ（例えば、ウェブサイトに関係付けられたウェブサイト・サーバ）が、アクセス要求を受信する。サーバは、ウェブサイトにアクセスしようと試みているまたはそれ以外の形でウェブサイトにログインしようと試みている端末からのアクセス要求を受信してよい。例えば、ユーザが端末にウェブサイトにログインすることを要求することを受けて、端末は、ウェブサイトに関係付けられたサーバにアクセス要求を送信してよい。
【００３０】
１２０では、第１のトークンなどといったものが生成される。一部の実施形態では、サーバは、第１のトークンなどといったものを生成する。サーバは、サーバに関係付けられたストレージデバイスに第１のトークンを保存してよい。サーバは、（例えば、端末からの）アクセス要求の受信を受けて、第１のトークンを生成してよい。例えば、ユーザが端末上のブラウザを通じてウェブサイトにログインすることを受けて、第１のトークンが生成されて、サーバ上に保存される。一例として、ユーザが、ウェブサイトにログインするためにユーザのアカウント番号、パスワード、およびその他のログイン情報を（例えば、端末上にインストールされたブラウザを通じて）入力することを受けて、端末（例えば、ブラウザ）は、ウェブサイト・サーバにログイン要求を送信する。ウェブサイト・サーバは、端末からの（例えば、端末上のブラウザを通じて送信された）ログイン要求の受信を受けて、第１のトークンを生成する。
【００３１】
本開示の様々な実施形態にしたがうと、第１のトークンは、端末およびアクセス要求を識別する情報を含む。例えば、一部の実施形態では、第１のトークンは、端末のＩＰアドレス、サーバの物理アドレス（例えば、ＭＡＣアドレス）、タイムスタンプ（例えば、第１のトークンの生成についてのタイムスタンプ）、シリアル番号などといったものを含む。一部の実施形態では、第１のトークンは、一意のトークンである。例えば、サーバは、新しいシリアル番号を、対応する第１のトークンに関係付けてよい。サーバは、第１のトークンを生成するたびに、シリアル番号を１だけ増加させてよく（例えば、シリアル番号生成器は、シリアル番号の生成ごとに、生成されたシリアル番号のカウント数を１だけ増加させてよく）、シリアル番号は、第１のトークンの一意性を保証するために、現時点で生成された第１のトークンに関係付けられてよい。一部の実施形態では、第１のトークンは、一意の識別子を生成するために、端末時間、端末ＩＰアドレス、端末ＭＡＣアドレス、自動的に増分するシーケンスなど、またはそれらの組み合わせなどの、情報を含んでいてよい。例えば、一意の識別子は、端末時間と、端末ＩＰアドレスと、端末ＭＡＣアドレスと、自動的に増分するシーケンスとの和によって生成されてよい。本開示の様々な実施形態にしたがうと、第１のトークンは、失効日または失効時間、第１のトークンが有効にとどまる期間などといったものを有していてよい。第１のトークンは、一定の期間にわたって（例えば、失効日または失効時間が過ぎるまで、第１のトークンが有効にとどまる期間が終わるまでなどといった時点まで）サーバ上に保存されてよい。例えば、サーバは、第１のトークンを、その第１のトークンが失効するまで格納していてよい。本開示の様々な実施形態にしたがうと、第１のトークンの失効を受けて、サーバは、そこから第１のトークンを削除してよい。
【００３２】
１３０では、アクセス要求に関係付けられた情報が、端末に通信される。一部の実施形態では、サーバは、アクセス要求に関係付けられた情報を端末に通信する。例えば、サーバは、第１のトークンを端末に送信してよい。別の一例として、サーバは、リダイレクトスクリプトを含むページ（またはそのページへのリンク）を端末に（例えば、端末上のブラウザに）送信してよい。端末に通信される、アクセス要求に関係付けられた情報は、端末にリダイレクトスクリプトを実行させてよい（例えば、サーバは、ブラウザにリダイレクトスクリプトを実行させる情報を端末に通信してよい）。
【００３３】
一部の実施形態では、端末は、端末による起動リンクへのアクセスを受けて、検証要求をサーバに送信する。端末による起動リンクへのアクセスを受けて、端末上でクライアントアプリケーションが起動されてよい。
【００３４】
本開示の様々な実施形態にしたがうと、リダイレクトスクリプトは、クライアントアプリケーションを起動させるために、端末上のクライアントアプリケーションを起動させる起動リンクに端末（例えば、端末上のブラウザ）をアクセスさせるように構成される。一部の実施形態では、リダイレクトスクリプトは、起動リンクを含む。クライアントアプリケーションは、端末にインストールされた１つ以上のクライアントアプリケーションのうちの任意の１つであってよい。一部の実施形態では、クライアントアプリケーションは、（例えば、端末がモバイル端末であるかどうかを認証するために使用される）認証アプリケーションである。具体的には、サーバは、端末に（例えば、端末のブラウザに）ページを送信してよい。端末に送信されるページは、リダイレクトスクリプト（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標、以下同様）スクリプトなどといったもの）を含んでいてよい。リダイレクトスクリプトを実行することによって、ブラウザは、ページリダイレクトを行う。例えば、スクリプトは、リダイレクトスクリプトに含まれるクライアントアプリケーションの起動リンクにアクセスするために、ページリダイレクトを行い、それを受けて、クライアントアプリケーションを起動させることができる。
【００３５】
１４０では、検証要求が受信される。一部の実施形態では、サーバは、検証要求を受信する。例えば、サーバは、端末から検証要求を受信してよい。検証要求は、端末上のクライアントアプリケーションによって送信されてよい。一部の実施形態では、検証要求は、端末によってサーバから受信された第１のトークンを含む。例えば、検証要求は、クライアントアプリケーションによって起動リンクから取得された第１のトークンを含んでいてよい。
【００３６】
一部の実施形態では、クライアントアプリケーションは、端末（例えば、端末上のブラウザ）がリダイレクトスクリプトを実行してその後に起動リンクにアクセスすることによって起動される。本開示の様々な実施形態にしたがうと、起動リンクは、ウェブサイトのアクセスアドレス、第１のトークンなどといったものを含む。クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第１のトークンなどといったものを、起動リンクからおよび／または起動リンクにアクセスすることによって取得してよい。
【００３７】
本開示の様々な実施形態にしたがうと、端末（例えば、端末上のブラウザ）がリダイレクトスクリプトを実行し、起動リンクにアクセスすることを受けて、クライアントアプリケーションは、起動される（例えば、呼び起こされるなどといったことを行われる）。一部の実施形態では、クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第１のトークンなどといったものを、起動リンクからおよび／または起動リンクにアクセスすることによって取得する。クライアントアプリケーションは、第１のトークンが有効であるかに関する検証を要求する検証要求をサーバに送信するための基準として、アクセスアドレスを使用する。一部の実施形態では、端末（例えば、クライアントアプリケーション）は、クライアントアプリケーションの起動を受けて、検証要求を生成する。検証要求は、第１のトークンなどといったものを含んでいてよい。
【００３８】
１５０では、検証要求が有効であるかどうかの決定がなされる。一部の実施形態では、サーバは、検証要求が有効であるかどうかを決定する。例えば、サーバは、第１のトークンの有効性を立証してよい。本開示の様々な実施形態にしたがうと、サーバは、検証要求に含まれる第１のトークンが有効であるかどうかを決定する。その後、検証結果（例えば、検証要求に含まれる第１のトークンが有効であるかどうかの決定の結果）が、端末（例えば、クライアントアプリケーション）に送信される。
【００３９】
本開示の様々な実施形態にしたがうと、サーバは、第１のトークンを一定期間にわたって（例えば、第１のトークンの失効まで）格納しておく。一部の実施形態では、第１のトークンが失効したときに（例えば、第１のトークンの失効を受けて）、サーバは、第１のトークンを削除する。
【００４０】
一部の実施形態では、サーバは、検証要求に含まれる第１のトークンが有効であるかどうかを、検証要求に含まれる第１のトークンをアクセス要求を受けて生成された第１のトークンと比較することによって決定する。例えば、サーバは、検証要求に含まれる第１のトークンと同一の第１のトークンをサーバが有する（例えば、格納している）かどうかの照会を受けることができる。もし、サーバが、検証要求に含まれる第１のトークンと同一の第１のトークンを有するならば、その第１のトークンは、有効であると決定される。
【００４１】
もし、１５０において、検証要求が有効ではないと決定されたならば（例えば、もし、検証要求に含まれる第１のトークンが有効ではないと決定されたならば）、端末がモバイル端末であるかどうかを決定するための方法は、終了してよい。例えば、サーバは、ウェブサイトへのログインを試みている端末はモバイル端末ではないと決定してよい。
【００４２】
反対に、もし、１５０において、検証要求が有効であると決定されたならば（例えば、もし、検証要求に含まれる第１のトークンが有効であると決定されたならば）、１６０において、サーバは、検証要求が有効であるとの表示を通信してよい。例えば、サーバによる、検証要求に含まれる第１のトークンが有効である（例えば、アクセス要求を受けて生成された第１のトークンと一致する）との決定を受けて、サーバは、検証要求が有効であるとの表示を端末に送信してよい。
【００４３】
本開示の様々な実施形態にしたがうと、検証要求が有効であるとの（例えば、検証要求に含まれる第１のトークンが有効であるとの）表示の受信を受けて、端末は、第２のトークンを生成する。一部の実施形態では、端末（例えば、クライアントアプリケーション）は、第１のトークンを暗号化することによって第２のトークンを生成する。一部の実施形態では、第２のトークンは、第１のトークンの暗号化ヴァージョンである。一部の実施形態では、第１のトークンは、平文である。本開示の様々な実施形態にしたがうと、端末は、第１のトークンが有効であると決定された場合にのみ第２のトークンを生成する。一部の実施形態では、第２のトークンは、ベーシック暗号化方法、ハッシュ暗号化方法、対称暗号化方法、非対称暗号化方法などを使用して第１のトークンを暗号化することによって生成される。例えば、もし、検証要求に含まれる第１のトークンが有効であるならば、クライアントアプリケーションは、ウェブサイトにアクセスするために、第２のトークンを生成して端末上のブラウザを起動する。端末（例えば、端末上のブラウザ）は、ウェブサイトにアクセスするためのアクセス要求を送信する。
【００４４】
１７０では、第２のトークンを含むアクセス要求が受信される。一部の実施形態では、サーバは、第２のトークンを含むアクセス要求を受信する。例えば、サーバは、第２のトークンを含むアクセス要求を端末から受信する。
【００４５】
１８０では、第２のトークンに基づいて、端末のタイプが決定される。一部の実施形態では、サーバは、第２のトークンに基づいて、端末のタイプを決定する。本開示の様々な実施形態にしたがうと、もし、第２のトークンが有効であるならば、端末は、モバイル端末であると決定される。
【００４６】
本開示の様々な実施形態にしたがうと、第２のトークンを含むアクセス要求の受信を受けて、サーバは、第２のトークンが有効であるかどうかを決定する。例えば、サーバは、アクセス要求に含まれる第２のトークンが有効であるかどうかを、その第２のトークンが第１のトークンの暗号化ヴァージョンに相当するかどうかにしたがって検証する。一部の実施形態では、サーバは、第２のトークンを復号化し、その復号化された第２のトークンを第１のトークンと比較することによって、第２のトークンが有効であるかどうかを決定する。もし、復号化された第２のトークンが、（例えば、サーバに格納されている）第１のトークンに一致するならば、サーバは、第２のトークンが有効であると決定する。
【００４７】
本開示の様々な実施形態にしたがうと、第１のトークンが有効であることを示す結果を端末（例えば、クライアントアプリケーション）がサーバから受信することを受けて、端末は、第１のトークンを暗号化して第２のトークンを生成する。端末上のブラウザは、ウェブサイトにアクセスするためのアクセス要求をサーバへ送信させるために起動されてよい。一部の実施形態では、アクセス要求は、第２のトークンを含む。サーバは、ブラウザから送信された、ウェブサイトにアクセスするためのアクセス要求を受信し、アクセス要求に含まれる第２のトークンが有効であるかどうかを検証する。一部の実施形態では、第２のトークンは、第１のトークンが有効であるときにクライアントアプリケーションが第１のトークンを暗号化することによって生成されるので、第２のトークンは、第１のトークンを得るためにおよび第１のトークンが有効であるかどうかを検証するために、復号化される。もし、第１のトークンが有効であるならば、第２のトークンは、有効であると決定することができる。
【００４８】
もし、第２のトークンが有効であると決定されるならば、端末は、モバイル端末である。例えば、もし、第２のトークンが有効であると決定されるならば、サーバは、ユーザがウェブサイトにログインするために使用した端末がモバイル端末であると決定する。
【００４９】
本出願の様々な実施形態にしたがうと、サーバは、ウェブサイトにログインするために使用されたログイン情報の認証を受けて、第１のトークンを生成する。例えば、一部の実施形態では、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、端末がウェブサイトにログインするときに端末によってサーバに送信された（例えば、ユーザによって入力した）ログイン情報が正しいかどうかを検証することと、ログイン情報が正しいと決定された場合にサーバが第１のトークンを生成することとを含む。サーバは、端末（例えば、ユーザ）が（例えば、端末上のブラウザを通じて）ウェブサイトにログインするときに、ログイン情報を検証してよい。もし、ログイン情報が立証されたならば（例えば、もし、ログイン情報が正しいならば）、第１のトークンが生成される。一部の実施形態では、ログイン情報は、ユーザアカウント識別子（例えば、ログイン名、アカウント番号などといったもの）、パスワードなどといったものを含む。もし、ログイン情報が立証されなかったならば（例えば、もし、ログイン情報が正しくないならば）、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、終了してよい。
【００５０】
図２は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのフローチャートである。
【００５１】
図２を参照すると、ウェブサイトにアクセスしている端末のための方法２００が例示されている。一部の実施形態では、方法２００は、図５に例示された端末５１０によって実行される。
【００５２】
２１０では、アクセス要求が通信される。一部の実施形態では、端末は、ウェブサイトに関係付けられたサーバ（例えば、ウェブサイト・サーバ）に、アクセス要求を通信する。一部の実施形態では、アクセス要求は、端末のＩＰアドレスなどといったものを含む。例えば、アクセス要求は、端末が識別されえるもとになる情報を含んでいてよい。一部の実施形態では、アクセス要求は、ウェブサイトにアクセスするためのまたはそれ以外の形でウェブサイトにログインしようと試みるための要求に関係付けられる。
【００５３】
２２０では、アクセス要求に関係付けられた情報が受信される。一部の実施形態では、端末は、アクセス要求に関係付けられた情報を受信する。端末は、アクセス要求に関係付けられた情報をサーバ（例えば、端末がアクセス要求を通信した先であるサーバ）から受信する。一部の実施形態では、アクセス要求に関係付けられた情報は、リダイレクトスクリプトを含むページ（またはそのページへのリンク）を含む。端末によって受信される、アクセス要求に関係付けられた情報は、端末にリダイレクトスクリプトを実行させる。一部の実施形態では、リダイレクトスクリプトは、クライアントアプリケーションを起動させるために、端末上のクライアントアプリケーションを起動させる起動リンクに端末（例えば、端末上のブラウザ）をアクセスさせるように構成される。リダイレクトスクリプトは、起動リンクを含んでいてよい。
【００５４】
２３０では、クライアントアプリケーションが起動される。一部の実施形態では、端末は、クライアントアプリケーションを起動させる。アクセス要求に関係付けられた情報の受信を受けて、端末は、クライアントアプリケーションを起動させる。例えば、リダイレクトスクリプトの受信を受けて、端末（例えば、端末上のブラウザ）は、リダイレクトスクリプトにしたがってページリダイレクトを行う。ページリダイレクトは、リダイレクトスクリプトに含まれるクライアントアプリケーションの起動リンクに端末（例えば、端末上のブラウザ）をアクセスさせる。一部の実施形態では、クライアントアプリケーションの起動リンクへのアクセスを受けて、端末は、クライアントアプリケーションを起動させる（例えば、呼び起こす）。
【００５５】
本開示の様々な実施形態にしたがうと、端末は、クライアントアプリケーションの起動に関連して第１のトークンを取得する（例えば、受信する、取り出すなどといったことを行う）。例えば、クライアントアプリケーションは、起動リンクから第１のトークンを取得する。クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第１のトークンなどといったものを、起動リンクからおよび／または起動リンクにアクセスすることによって取得する。
【００５６】
２４０では、検証要求が通信される。一部の実施形態では、端末は、検証要求をサーバに通信する。一部の実施形態では、検証要求は、第１のトークンを含む。例えば、検証要求は、クライアントアプリケーションが起動リンクから取得した第１のトークンを含む。端末は、クライアントアプリケーションの起動を受けて、検証要求を生成および／または通信してよい。
【００５７】
２５０では、検証要求に対する応答が受信される。一部の実施形態では、端末は、検証要求に対する応答を受信する。例えば、端末は、検証要求に対する応答をサーバから受信する。サーバは、検証要求に含まれる第１のトークンが有効であるかどうかを決定し、検証要求に含まれる第１のトークンが有効であるとの決定を受けて、サーバは、検証要求に対する応答を通信する。一部の実施形態では、検証要求に対する応答は、検証要求に含まれる第１のトークンが有効であるかどうかの表示を含む。
【００５８】
２６０では、第２のトークンが生成される。一部の実施形態では、端末は、第２のトークンを生成する。例えば、端末は、検証要求に含まれる第１のトークンが有効であるとの表示の受信を受けて、第２のトークンを生成する。一部の実施形態では、もし、検証要求に含まれる第１のトークンが有効であるならば、クライアントアプリケーションは、ウェブサイトにアクスするために、第２のトークンを生成して端末上のブラウザを起動する。一部の実施形態では、端末（例えば、クライアントアプリケーション）は、ＭＤ５などの既知の暗号化技術を使用して第１のトークンを暗号化することによって、第２のトークンを生成する。
【００５９】
２７０では、第２のトークンを含むアクセス要求が通信される。一部の実施形態では、端末は、第２のトークンを含むアクセス要求を通信する。例えば、ウェブサイトにアクセスするためにクライアントアプリケーションが端末上のブラウザを起動することを受けて、端末は、第２のトークンを含むアクセス要求を通信する。
【００６０】
図３は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
【００６１】
図３を参照すると、方法３００は、個別でまたは協同して動作している１つ以上のサーバが、ウェブサイトにアクセスしている（例えば、ログインしている）端末がモバイル端末であるかどうかを検証する（例えば、決定する）ためのものである。一部の実施形態では、方法３００は、図５に例示されたサーバ５２０などのサーバによって実行されてよい。
【００６２】
３０５では、ディスプレイ情報が受信される。一部の実施形態では、サーバ（例えば、ウェブサイトに関係付けられたウェブサイト・サーバ）が、端末からディスプレイ情報を受信する。一部の実施形態では、ディスプレイ情報は、端末に関する画面解像度情報を含む。一例として、ディスプレイ情報は、ウェブサイトにアクセスしようと試みているもしくはウェブサイトにログインしようと試みている端末からのアクセス要求に含まれる、またはそれ以外の形でそのようなアクセス要求に関連して受信される。例えば、端末（例えば、ユーザ）が、端末上のブラウザを通じてウェブサイトにログインするときに、その端末（例えば、ブラウザ）は、サーバにメッセージを通信する。一部の実施形態では、サーバに通信されるメッセージは、端末に関する画面解像度情報を含む。ブラウザは、端末のための画面解像度をそこから取得することができる。例えば、一部の実施形態では、ブラウザは、ページ上における解像度を取得するための実行プログラムを実行する。一例として、実行プログラムは、ページ上における解像度を取得するために、および画面解像度を含むメッセージをサーバに送信するために、スクリプト言語で（例えば、ＪａｖａＳｃｒｉｐｔ言語で）事前に記述される。本開示の様々な実施形態にしたがうと、画面解像度は、端末（例えば、ブラウザ）によってサーバに送信されるＨＴＴＰ要求に含まれる。
【００６３】
３１０では、端末のユーザエージェント情報が取得される。一部の実施形態では、サーバは、端末のユーザエージェント情報（例えば、ブラウザのユーザエージェント情報）を取得してよい。本開示の様々な実施形態にしたがうと、サーバは、ＨＴＴＰ要求のＵｓｅｒ−Ａｇｅｎｔヘッダに含まれるユーザエージェント情報を使用して、端末の機器タイプを決定する。例えば、サーバは、機器タイプをユーザエージェント情報に含まれるデータと関係付けるマッピングテーブルを格納し、ユーザエージェント情報を使用して、マッピングテーブルのなかで機器タイプを検索する。別の一例として、ユーザエージェント情報は、対応する端末（例えば、ブラウザが実行される端末）の具体的な機器タイプを示したデータを含む。
【００６４】
本開示の様々な実施形態にしたがうと、ブラウザは、ウェブページへのアクセスに関係付けられたＨＴＴＰ要求のなかに、ユーザエージェント情報を含める。一部の実施形態では、ユーザエージェント情報は、（例えば、アクセスされるウェブサイトに提供された）識別子を含む。例えば、ユーザエージェント情報に含まれる識別子は、端末が使用するブラウザタイプ、オペレーティングシステム、およびブラウザコアなどといったものを含む。したがって、ブラウザのユーザエージェント情報は、端末によってサーバに通信されるＨＴＴＰ要求から取得することができる。一部の実施形態では、サーバは、ユーザエージェント情報および／またはＨＴＴＰ要求を解析し、そこから端末の機器タイプを決定する。
【００６５】
本開示の様々な実施形態にしたがうと、サーバは、ディスプレイ情報およびユーザエージェント情報を同時に受信する。例えば、ディスプレイ情報およびユーザエージェント情報は、アクセス要求（例えば、ＨＴＴＰ要求などといったもの）に含まれる。一部の実施形態では、３０５および３１０は、組み合わされる、またはそれ以外の形で並行して実施される。
【００６６】
３１５では、端末の画面解像度が決定される。一部の実施形態では、サーバは、端末の画面解像度を決定する。本開示の様々な実施形態にしたがうと、機器タイプが、その機器タイプに対応する画面解像度を決定するための基準として使用される。例えば、一部の実施形態では、端末の画面解像度が使用中に設定されるゆえに、サーバは、端末の機器タイプの解析を通じて（例えば、端末の機器タイプの決定を通じて）端末の画面解像度を決定する。一部の実施形態では、サーバは、機器タイプと画面解像度との間の関係を格納する。本開示の様々な実施形態にしたがうと、ブラウザのユーザエージェント情報を解析することによって端末の機器タイプを取得した後、サーバは、機器タイプと画面解像度との間の関係に基づいて、機器タイプに対応する画面解像度を決定する。
【００６７】
３２０では、決定された画面解像度が、受信されたディスプレイ情報と同じであるかどうかの決定がなされる。一部の実施形態では、サーバは、決定された画面解像度（例えば、エージェント情報を使用して決定された画面解像度）が、受信されたディスプレイ情報と同じである（例えば、一致する）かどうかを決定する。例えば、サーバは、エージェント情報を使用して決定された画面解像度が、ウェブサイトにアクセスしようと試みているまたはウェブサイトにログインしようと試みている端末からのアクセス要求に含まれるまたはそれ以外の形でそのようなアクセス要求に関連して受信されるＨＴＴＰ要求に含まれるディスプレイ情報に含まれる画面解像度と同一であるかどうかを決定する。サーバは、機器タイプに対応する画面解像度を、ブラウザから受信された端末画面解像度と比較する。したがって、サーバは、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるかどうかを決定する。例えば、ブラウザユーザエージェント情報を解析することによって取得された端末の機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるかどうかを決定するために、ブラウザユーザエージェント情報を解析することによって取得された端末の機器タイプに対応する画面解像度が、ブラウザから受信された端末画面解像度と比較される。
【００６８】
もし、３２０において、サーバが、決定された画面解像度（例えば、エージェント情報を使用して決定された画面解像度）が、受信されたディスプレイ情報と同じではないと決定したならば（別の言い方をすると、これら２つの解像度が一致しないならば）、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、終了してよい。例えば、もし、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが異なるならば、ウェブサイトにログインするためにまたはそれ以外の形でアクセスするためにユーザによって使用されている端末は、モバイル端末ではないと決定される。なぜならば、制限されたモバイル機器専用ウェブページへのアクセスを得るために、ハッカーらは、ＨＴＴＰ要求に含まれるユーザエージェント情報を変更し、その要求がパソコンなどの非モバイル端末ではなくモバイル端末から送信されているように装うことがあるからである。画面解像度、およびＨＴＴＰ要求と端末との間の食い違いをチェックすることによって、何らかの偽要求を検出することができる。
【００６９】
反対に、もし、サーバが、決定された画面解像度（例えば、エージェント情報を使用して決定された画面解像度）が、受信されたディスプレイ情報と同じである（例えば、一致する）と決定したならば、サーバは、３２５に進み、そこで、第１のトークンを生成する。例えば、もし、機器タイプに対応する画面解像度が、ブラウザから受信された端末画面解像度と同じであるならば、サーバは、第１のトークンを生成し、その第１のトークンをサーバに（またはサーバに接続されたストレージデバイスに）保存する。別の言い方をすると、もし、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度との比較の結果が、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるというものであるならば、第１のトークンが生成される。一部の実施形態では、第１のトークンは、サーバによって生成される。本開示の様々な実施形態にしたがうと、第１のトークンは、端末のＩＰアドレス、サーバの物理アドレス（例えば、ＭＡＣアドレス）、タイムスタンプ（例えば、第１のトークンの生成についてのタイムスタンプ）、シリアル番号などといったものを含む。一部の実施形態では、第１のトークンは、一意のトークンである。例えば、サーバは、新しいシリアル番号を、対応する第１のトークンに関係付ける。サーバは、第１のトークンを生成するたびに、シリアル番号を１だけ増加させ（例えば、シリアル番号生成器は、シリアル番号の生成ごとに、生成されたシリアル番号のカウント数を１だけ増加させてよく）、シリアル番号は、第１のトークンの一意性を保証するために、現時点で生成された第１のトークンに関係付けられる。本開示の様々な実施形態にしたがうと、第１のトークンは、失効日または失効時間、第１のトークンが有効にとどまる期間などといったものを有する。一部の実施形態では、第１のトークンは、一定の期間にわたって（例えば、失効日または失効時間が過ぎるまで、第１のトークンが有効にとどまる期間が終わるまでなどといった時点まで）サーバ上に保存される。例えば、サーバは、第１のトークンを、その第１のトークンが失効するまで格納しており、したがって、第１のトークンは、それがまだ失効していない間に（例えば、残期内に）、ウェブサイトにログインしている端末がモバイル端末であるかどうかを検証する（例えば、決定する）ために使用されてよい。本開示の様々な実施形態にしたがうと、第１のトークンの失効を受けて、サーバは、第１のトークンを削除する。
【００７０】
３３０では、アクセス要求に関係付けられた情報が通信される。一部の実施形態では、サーバは、アクセス要求に関係付けられた情報を端末に通信する。例えば、サーバは、第１のトークンを端末に送信する。別の一例として、サーバは、リダイレクトスクリプトを含むページを端末に（例えば、端末上のブラウザ）に送信する。一部の実施形態では、端末に通信される、アクセス要求に関係付けられた情報は、端末にリダイレクトスクリプトを実行させる（例えば、サーバは、ブラウザにリダイレクトスクリプトを実行させる情報を端末に通信する）。
【００７１】
一部の実施形態では、端末は、端末による起動リンクのアクセスを受けて、検証要求をサーバに送信する。一部の実施形態では、端末による起動リンクのアクセスを受けて、端末上でクライアントアプリケーションが起動される。
【００７２】
本開示の様々な実施形態にしたがうと、リダイレクトスクリプトは、クライアントアプリケーションを起動させるために、端末上のクライアントアプリケーションを起動させる起動リンクに端末（例えば、端末上のブラウザ）をアクセスさせるように構成される。一部の実施形態では、リダイレクトスクリプトは、端末にインストールされたクライアントアプリケーションを起動させるための起動リンクを含む。クライアントアプリケーションは、端末にインストールされた１つ以上のクライアントアプリケーションのうちの任意の１つであってよい。一部の実施形態では、起動リンク（例えば、Ｏｐｅｎユニフォームリソースロケータ（ＵＲＬ）など）は、端末にインストールされた１つのクライアントアプリケーションのために定められたものであり、これは、そのクライアントアプリケーションがその他のクライアントアプリケーションによって起動されることを可能にするリンクに相当する。各クライアントアプリケーションが、起動リンクを定めることができる。端末上の別のアプリケーション（例えば、別のクライアントアプリケーション）による起動リンクの実行を受けて、端末（例えば、その別のアプリケーション）は、クライアントアプリケーションを起動させることができる。例えば、あるクライアントアプリケーションのための起動リンクが端末上のブラウザに入力されると、その起動リンクへのアクセスによって、そのクライアントアプリケーションが起動される（例えば、呼び起こされる）。本開示の様々な実施形態にしたがうと、リダイレクトスクリプトを含むページが、端末のブラウザに送信される（例えば、サーバは、リダイレクトスクリプトを含むページを端末のブラウザに送信する）。一部の実施形態では、リダイレクトスクリプトは、ＪａｖａＳｃｒｉｐｔスクリプト（例えば、ＪａｖａＳｃｒｉｐｔスクリプト言語で記述された実行コード）などといったものである。もし、端末（例えば、端末上のブラウザまたはその他のアプリケーション）が、リダイレクトスクリプトを実行するならば（例えば、ＪａｖａＳｃｒｉｐｔエンジンを通じてリダイレクトスクリプトを読み込んで解析した後に、リダイレクトスクリプトを実行するならば）、ブラウザは、リダイレクトスクリプトに含まれるクライアントアプリケーション起動リンクにアクセスするために、ページリダイレクトを行い、そうして、クライアントアプリケーションを起動させることができる。
【００７３】
３３５では、検証要求が受信される。一部の実施形態では、サーバは、検証要求を受信する。例えば、サーバは、端末から検証要求を受信する。一部の実施形態では、検証要求は、端末上のクライアントアプリケーションによって送信される。本開示の様々な実施形態にしたがうと、検証要求は、端末によってサーバから受信された第１のトークンを含む。例えば、検証要求は、クライアントアプリケーションによって起動リンクから取得された第１のトークンを含む。
【００７４】
一部の実施形態では、クライアントアプリケーションは、端末（例えば、端末上のブラウザ）がリダイレクトスクリプトを実行してその後に起動リンクを実行することによって起動される。本開示の様々な実施形態にしたがうと、起動リンクは、ウェブサイトのアクセスアドレス、第１のトークンなどといったものを含む。一部の実施形態では、クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第１のトークンなどといったものを、起動リンクからおよび／または起動リンクにアクセスすることによって取得する。
【００７５】
本開示の様々な実施形態にしたがうと、端末（例えば、端末上のブラウザ）がリダイレクトスクリプトを実行し、次いで起動リンクにアクセスすることを受けて、クライアントアプリケーションは、起動される（例えば、呼び起こされるなどといったことを行われる）。一部の実施形態では、クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第１のトークンなどといったものを、起動リンクからおよび／または起動リンクにアクセスすることによって取得する。クライアントアプリケーションは、第１のトークンが有効であるかに関する検証を要求する検証要求をサーバに送信するための基準として、アクセスアドレスを使用する。一部の実施形態では、端末（例えば、クライアントアプリケーション）は、クライアントアプリケーションの起動を受けて、検証要求を生成する。検証要求は、第１のトークンなどといったものを含む。
【００７６】
３４０では、検証要求が有効であるかどうかの決定がなされる。一部の実施形態では、サーバは、検証要求が有効であるかどうかを決定する。例えば、サーバは、第１のトークンの有効性を立証する。本開示の様々な実施形態にしたがうと、サーバは、検証要求に含まれる第１のトークンが有効であるかどうかを決定する。その後、検証結果（例えば、検証要求に含まれる第１のトークンが有効であるかどうかの決定の結果）が、端末（例えば、クライアントアプリケーション）に送信される。
【００７７】
本開示の様々な実施形態にしたがうと、サーバは、第１のトークンを一定期間にわたって（例えば、第１のトークンが失効するまで）格納する。一例として、この一定の期間は、１０秒であってよい。一部の実施形態では、サーバは、第１のトークンを、その失効期限が過ぎたら削除する。
【００７８】
サーバは、検証要求に含まれる第１のトークンが有効であるかどうかを、検証要求に含まれる第１のトークンをアクセス要求を受けて生成された第１のトークンと比較することによって決定する。例えば、端末（例えば、クライアントアプリケーション）からの検証要求の受信を受けて、サーバは、検証要求に含まれる第１のトークンと同一の第１のトークンをサーバが有する（例えば、格納している）かどうかを決定するために、照会を受けることができる。もし、サーバが、検証要求に含まれる第１のトークンと同一の第１のトークンを有するならば、その第１のトークンは、有効であると決定される。
【００７９】
もし、３４０において、検証要求が有効ではないと決定されたならば（例えば、もし、検証要求に含まれる第１のトークンが有効ではないと決定されたならば）、端末がモバイル端末であるかどうかを決定するための方法は、終了してよい。例えば、一部の実施形態では、サーバは、ウェブサイトへのログインを試みている端末はモバイル端末ではないと決定する。
【００８０】
反対に、もし、３４０において、検証要求が有効であると決定されたならば（例えば、もし、検証要求に含まれる第１のトークンが有効であると決定されたならば）、３４５において、検証要求が有効であるという表示を通信される。一部の実施形態では、サーバは、検証要求が有効であるとの表示を通信する。例えば、サーバによる、検証要求に含まれる第１のトークンが有効である（例えば、アクセス要求を受けて生成された第１のトークンと一致する）との決定を受けて、サーバは、検証要求が有効であるとの表示を端末に送信する。
【００８１】
本開示の様々な実施形態にしたがうと、検証要求が有効であるとの（例えば、検証要求に含まれる第１のトークンが有効であるとの）表示の受信を受けて、端末は、第２のトークンを生成する。一部の実施形態では、端末（例えば、クライアントアプリケーション）は、第１のトークンを暗号化することによって第２のトークンを生成する。本開示の様々な実施形態にしたがうと、端末は、第１のトークンが有効であると決定された場合にのみ第２のトークンを生成する。例えば、もし、検証要求に含まれる第１のトークンが有効であるならば、クライアントアプリケーションは、ウェブサイトにアクセスするために、第２のトークンを生成して端末上のブラウザを起動する。端末（例えば、端末上のブラウザ）は、ウェブサイトにアクセスするためのアクセス要求を送信する。
【００８２】
３５０では、第２のトークンを含むアクセス要求が受信される。一部の実施形態では、サーバは、第２のトークンを含むアクセス要求を受信する。例えば、サーバは、第２のトークンを含むアクセス要求を端末から受信する。
【００８３】
３５５では、第２のトークンに基づいて、端末のタイプが決定される。一部の実施形態では、サーバは、第２のトークンに基づいて、端末のタイプを決定する。本開示の様々な実施形態にしたがうと、もし、第２のトークンが有効であるならば、端末は、モバイル端末であると決定される。
【００８４】
本開示の様々な実施形態にしたがうと、第２のトークンを含むアクセス要求の受信を受けて、サーバは、第２のトークンが有効であるかどうかを決定する。例えば、サーバは、端末がモバイル端末であるかどうかを決定するために、アクセス要求に含まれる第２のトークンを、その第２のトークンが第１のトークンの暗号化ヴァージョンに相当するかどうかにしたがって検証する。一部の実施形態では、サーバは、第２のトークンを復号化し、その復号化された第２のトークンを第１のトークンと比較することによって、第２のトークンが有効であるかどうかを決定する。もし、復号化された第２のトークンが、（例えば、サーバに格納されている）第１のトークンに一致するならば、サーバは、第２のトークンが有効であると決定する。
【００８５】
本開示の様々な実施形態にしたがうと、第１のトークンが有効であることを示す結果を端末（例えば、クライアントアプリケーション）がサーバから受信することを受けて、端末（例えば、クライアントアプリケーション）は、第１のトークンを暗号化して第２のトークンを生成する。もし、検証要求に含まれる第１のトークンが有効ではないならば、サーバは、ユーザがウェブサイトにログインするために使用した端末がモバイル端末ではないと決定する。
【００８６】
本開示の様々な実施形態にしたがうと、第１のトークンが有効であるかどうかを示す結果をクライアントアプリケーションがサーバから受信することを受けて、もし、第１のトークンが有効であるならば、クライアントは、第１のトークンを暗号化して第２のトークンを生成することができる。一部の実施形態では、端末上のブラウザは、ウェブサイトにアクセスするためのアクセス要求をサーバへ送信させるために起動される。一部の実施形態では、アクセス要求は、第２のトークンを含む。第２のトークンは、第１のトークンが有効であると決定されたときにクライアントアプリケーションが第１のトークンを暗号化する結果として生成される。
【００８７】
サーバは、ブラウザから送信された、ウェブサイトにアクセスするためのアクセス要求を受信し、そのアクセス要求に含まれる第２のトークンが有効であるかどうかを検証する。例えば、サーバは、第２のトークンを復号化して第１のトークンを得て、第１のトークンは、第２のトークンを復号化することによって得られた第１のトークンが有効であるかどうかを検証される。例えば、サーバは、第２のトークンの復号化から得られた第１のトークンと同じ第１のトークンを有するかどうかの照会を受ける。もし、サーバが、第２のトークンの復号化から得られた第１のトークンと同じ第１のトークンを有しているならば、その第１のトークンは、有効であると確定される。もし、第２のトークンの復号化から得られた第１のトークンが有効であるならば、第２のトークンは、有効であると確定することができる。
【００８８】
本開示の様々な実施形態にしたがうと、もし、第２のトークンが有効であると決定されるならば、端末は、モバイル端末であると見なされる。例えば、もし、第２のトークンが有効であるならば、ユーザがウェブサイトにログインするために使用した端末は、モバイル端末であると決定される。反対に、もし、第２のトークンが有効ではないと決定されるならば、ユーザがウェブサイトにログインするために使用した端末は、モバイル端末ではないと決定される。
【００８９】
本出願の様々な実施形態にしたがうと、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、端末（例えば、端末上のブラウザ）に送信されるクッキーに第２のトークンを書き込むことを含む。例えば、もし、第２のトークンが有効であると決定されるならば、その第２のトークンは、ブラウザに送信されるクッキーに書き込まれる。
【００９０】
本開示の様々な実施形態にしたがうと、クッキーは、サーバによって生成されて、ブラウザに送信される。ブラウザは、通常は、クッキーを、端末上のディレクトリ下のテキストファイルに保存する。その後に続く、ウェブサイトにアクセスするための要求（例えば、同じウェブサイトが次に要求されるときの要求）に関連して、ブラウザは、そのクッキーをサーバに送信する。したがって、サーバは、ブラウザに送信されるクッキーに第２のトークンを入れて、第２のトークンを含むそのクッキーをブラウザに送信することができる。
【００９１】
一部の実施形態では、サーバは、第２のトークンのための失効日（例えば、１か月以内）を設定する。端末（例えば、ユーザ）が、同じブラウザを使用してウェブサイトに再びログインするときに、ブラウザのクッキーは、それが第２のトークンを含むかどうかを決定するためにチェックされる。もし、ブラウザのクッキーが、第２のトークンを含むと決定されるならば、クッキーに含まれる第２のトークンは、それが有効であることを確定するために検証される。例えば、サーバは、それが第２のトークンを有する（例えば、格納している）かどうかを照会される。もし、サーバが、第２のトークンを有しているならば、ブラウザのクッキーに含まれる第２のトークンは、有効であると確定される。もし、ブラウザのクッキーに含まれる第２のトークンが有効であると確定されるならば、ブラウザを走らせている端末は、モバイル端末であると確定される。
【００９２】
本開示の様々な実施形態にしたがうと、もし、ブラウザのクッキーに含まれる第２のトークンがまだ失効していない（例えば、第２のトークンの失効日前である）ならば、３０５〜３４５が実行される必要はない。例えば、ウェブサイトにログインしている端末は、モバイル端末としてまたは非モバイル端末として立証することができる。別の一例として、ウェブサイトにログインしている端末は、それがクッキーを取得した端末であるかどうかを検証される。例えば、サーバは、ウェブサイトにログインしている端末によってサーバに送信されたＨＴＴＰ要求に含まれるその端末の識別情報（例えば、ユーザエージェント情報、ＩＰアドレス情報などといったもの）を取得することによって、ウェブサイトにログインしている端末が、クッキーを以前取得した端末に相当するかどうかを決定してよい。一部の実施形態では、サーバは、クッキーと、そのクッキーを取得した端末のＩＤ（例えば、端末のユーザエージェント情報、ＩＰアドレス情報などといったものを使用する）との間の関係を保存する。一部の実施形態では、サーバは、クッキーと、そのクッキーを取得した端末のＩＤとの間の関係を、ウェブサイトにログインするために使用された端末がクッキーを以前取得した端末であるかどうかを決定するための基準として使用する。もし、ウェブサイトにログインするために使用された端末が、クッキーを以前取得した端末ではないならば、ウェブサイトにログインするために使用された端末（例えば、ユーザ）は、この端末を通じてウェブサイトにログインすることを許可されない。
【００９３】
本出願の様々な実施形態にしたがうと、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、端末（例えば、ユーザ）によってそれがウェブサイトにログインするときに入力されたログイン情報が正しいかどうかを検証することを含む。一部の実施形態では、もし、ログイン情報が正しいならば、第１のトークンが生成される。別の言い方をすると、もし、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるならば、ユーザによって入力されたログイン情報は、それが正しいことを確定するために検証される。一部の実施形態では、ログイン情報は、アカウント識別子（例えば、ログイン名、アカウント番号などといったもの）、パスワード、およびユーザによって入力されたその他の情報を含む。もし、ログイン情報が正しいと確定されるならば、第１のトークンが生成されてよい。
【００９４】
図４は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末のフローチャートである。
【００９５】
図４を参照すると、ウェブサイトにアクセスしている端末のための方法４００が例示されている。一部の実施形態では、方法４００は、図５に例示された端末５１０によって実行されてよい。
【００９６】
４１０では、ディスプレイ情報が通信される。一部の実施形態では、端末は、ウェブサイトに関係付けられたサーバ（例えば、ウェブサイト・サーバ）にディスプレイ情報を通信する。一部の実施形態では、ディスプレイ情報は、端末に関する画面解像度情報を含む。一部の実施形態では、ディスプレイ情報は、ウェブサイトにアクセスしようと試みているもしくはウェブサイトにログインしようと試みている端末からのアクセス要求に含まれる、またはそれ以外の形でそのようなアクセス要求に関連して受信される。例えば、端末（例えば、ユーザ）が、端末上のブラウザを通じてウェブサイトにログインするときに、その端末（例えば、ブラウザ）は、サーバにメッセージを通信する。一部の実施形態では、サーバに通信されるメッセージは、端末に関する画面解像度情報を含む。ブラウザは、端末のための画面解像度をそこから取得する。例えば、一部の実施形態では、ブラウザは、ページ上における解像度を取得するための実行プログラムを実行してよい。一部の実施形態では、実行プログラムは、ページ上における解像度を取得するためにおよび画面解像度を含むメッセージをサーバに送信するために、スクリプト言語で（例えば、ＪａｖａＳｃｒｉｐｔ言語で）事前に記述される。本開示の様々な実施形態にしたがうと、画面解像度は、端末（例えば、ブラウザ）によってサーバに送信されるＨＴＴＰ要求に含まれる。
【００９７】
４２０では、端末のユーザエージェント情報が通信される。一部の実施形態では、端末は、端末のユーザエージェント情報（例えば、ブラウザのユーザエージェント情報）を、ウェブサイトに関係付けられたサーバに通信する。一部の実施形態では、ユーザエージェント情報は、端末の機器タイプが決定されえるもとになるデータを含む。例えば、ユーザエージェント情報は、対応する端末（例えば、ブラウザが実行される端末）の具体的な機器タイプを示したデータを含む。
【００９８】
本開示の様々な実施形態にしたがうと、ブラウザは、ウェブページへのアクセスに関係付けられたＨＴＴＰ要求のなかに、ユーザエージェント情報を含める。一部の実施形態では、ユーザエージェント情報は、（例えば、アクセスされるウェブサイトに提供された）識別子を含む。例えば、ユーザエージェント情報に含まれる識別子は、端末が使用するブラウザタイプ、オペレーティングシステム、およびブラウザコアなどといったものを含む。
【００９９】
本開示の様々な実施形態にしたがうと、端末は、ディスプレイ情報およびユーザエージェント情報を同時にサーバに送信する。例えば、ディスプレイ情報およびユーザエージェント情報は、アクセス要求（例えば、ＨＴＴＰ要求などといったもの）に含まれる。一部の実施形態では、４１０および４２０は、組み合わされてよい、またはそれ以外の形で並行して実施されてよい。
【０１００】
端末は、ウェブサイトに関係付けられたサーバに（例えば、ウェブサイト・サーバ）に、アクセス要求を通信する。一部の実施形態では、アクセス要求は、端末のＩＰアドレスなどといったものを含む。例えば、アクセス要求は、端末が識別されえるもとになる情報を含む。一部の実施形態では、アクセス要求は、ウェブサイトにアクセスするためのまたはそれ以外の形でウェブサイトにログインしようと試みるための要求に関係付けられる。アクセス要求は、ディスプレイ情報およびユーザエージェント情報の１つ以上を含んでいてよい。
【０１０１】
４３０では、アクセス要求に関係付けられた情報が受信される。一部の実施形態では、端末は、アクセス要求に関係付けられた情報を受信する。例えば、端末は、端末は、アクセス要求に関係付けられた情報をサーバ（例えば、端末がアクセス要求を通信した先であるサーバ）から受信する。一部の実施形態では、アクセス要求に関係付けられた情報は、リダイレクトスクリプトを含むページ（またはそのページへのリンク）を含む。端末によって受信される、アクセス要求に関係付けられた情報は、端末にリダイレクトスクリプトを実行させる。例えば、リダイレクトスクリプトは、クライアントアプリケーションを起動させるために、端末上のクライアントアプリケーションを起動させる起動リンクに端末（例えば、端末上のブラウザ）をアクセスさせるように構成される。一部の実施形態では、リダイレクトスクリプトは、起動リンクを含む。
【０１０２】
４４０では、クライアントアプリケーションが起動される。一部の実施形態では、端末は、クライアントアプリケーションを起動させる。アクセス要求に関係付けられた情報の受信を受けて、端末は、クライアントアプリケーションを起動させる。例えば、リダイレクトスクリプトの受信を受けて、端末（例えば、端末上のブラウザ）は、リダイレクトスクリプトにしたがってページリダイレクトを行う。ページリダイレクトは、リダイレクトスクリプトに含まれるクライアントアプリケーションの起動リンクに端末（例えば、端末上のブラウザ）をアクセスさせる。一部の実施形態では、クライアントアプリケーションの起動リンクへのアクセスを受けて、端末は、クライアントアプリケーションを起動させる（例えば、呼び起こす）。
【０１０３】
本開示の様々な実施形態にしたがうと、端末は、クライアントアプリケーションの起動に関連して第１のトークンを取得する（例えば、受信する、取り出す、などといったことを行う）。例えば、クライアントアプリケーションは、起動リンクから第１のトークンを取得する。クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第１のトークンなどといったものを、起動リンクからおよび／または起動リンクにアクセスすることによって取得する。
【０１０４】
４５０では、検証要求が通信される。一部の実施形態では、端末は、検証要求をサーバに通信する。一部の実施形態では、検証要求は、第１のトークンを含む。例えば、検証要求は、クライアントアプリケーションが起動リンクから取得した第１のトークンを含む。端末は、クライアントアプリケーションの起動を受けて、検証要求を生成および／または通信してよい。
【０１０５】
４６０では、検証要求に対する応答が受信される。一部の実施形態では、端末は、検証要求に対する応答を受信する。例えば、端末は、検証要求に対する応答をサーバから受信する。一部の実施形態では、サーバは、検証要求に含まれる第１のトークンが有効であるかどうかを決定し、検証要求に含まれる第１のトークンが有効であるとの決定を受けて、サーバは、検証要求に対する応答を通信する。一部の実施形態では、検証要求に対する応答は、検証要求に含まれる第１のトークンが有効であるかどうかの表示を含む。
【０１０６】
４７０では、第２のトークンが生成される。一部の実施形態では、端末は、第２のトークンを生成する。一例として、端末は、検証要求に含まれる第１のトークンが有効であるとの表示の受信を受けて、第２のトークンを生成する。一部の実施形態では、もし、検証要求に含まれる第１のトークンが有効であるならば、クライアントアプリケーションは、ウェブサイトにアクセスするために、第２のトークンを生成して端末上のブラウザを起動する。一部の実施形態では、端末（例えば、クライアントアプリケーション）は、第１のトークンを暗号化することによって、第２のトークンを生成する。
【０１０７】
４８０では、第２のトークンを含むアクセス要求が通信される。一部の実施形態では、端末は、第２のトークンを含むアクセス要求を通信する。一例として、ウェブサイトにアクセスするためにクライアントアプリケーションが端末上のブラウザを起動することを受けて、端末は、第２のトークンを含むアクセス要求を通信する。
【０１０８】
本開示の様々な実施形態にしたがうと、ウェブサイトにアクセスするための方法は、サーバからクッキーを受信することを含む。一部の実施形態では、クッキーは、第２のトークンを含む。一部の実施形態では、端末は、クッキーを（例えば、ブラウザに関連して）格納する。一例として、その後に続く、ウェブサイトにアクセスしようとするまたはそれ以外の形でログインしようとする試みにおいて、端末は、クッキーをサーバに送信する。一部の実施形態では、もし、サーバが、その後に続く、ウェブサイトにアクセスしようとするまたはそれ以外の形でログインしようとする試みの時点において、クッキーに含まれる第２のトークンが有効であると決定するならば、端末は、４３０〜４８０の実施を求められることなくウェブサイトにログインする。
【０１０９】
本出願は、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバも提供する。
【０１１０】
図５は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムを示した図である。
【０１１１】
図５を参照すると、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステム５００は、端末５１０と、サーバ５２０と、ネットワーク５３０とを含んでいてよい。図５に例示されるように、端末５１０は、ネットワーク５３０を通じてサーバ５２０と通信してよい。
【０１１２】
一部の実施形態では、端末５１０は、サーバ５２０に関係付けられたウェブサイトにアクセスするまたはそれ以外の形でログインしようと試みる。例えば、端末５１０は、ウェブサイトにアクセスするためのアクセス要求をサーバ５２０に通信する。一部の実施形態では、端末５１０は、アクセス要求に関係付けられた情報をサーバ５２０から受信する。一部の実施形態では、端末５１０は、検証要求を生成しえるクライアントアプリケーションを起動させる。その後、端末５１０は、検証要求をサーバ５２０に通信する。一部の実施形態では、端末５１０は、検証要求に対する応答をサーバ５２０から受信する。一部の実施形態では、検証要求に対する応答の受信を受けて、端末５１０は、第２のトークンを生成する。その後、端末５１０は、第２のトークンを含むアクセス要求をサーバ５２０に通信する。
【０１１３】
一部の実施形態では、サーバ５２０は、端末５１０からアクセス要求を受信する。一部の実施形態では、サーバ５２０は、端末５１０を認証し、アクセス要求に関係付けられた情報を端末５１０に通信する。一部の実施形態では、サーバ５２０は、端末５１０から検証要求を受信する。一例として、端末５１０からの検証要求の受信を受けて、サーバ５２０は、検証要求が有効であるかどうかを決定する。一部の実施形態では、サーバ５２０は、検証要求が有効であるかどうかの表示を通信する。一部の実施形態では、サーバ５２０は、第２のトークンを含むアクセス要求を受信する。一例として、第２のトークンを含むアクセス要求の受信を受けて、サーバ５２０は、第２のトークンが有効であるかどうかにしたがって、端末がモバイル端末であるかどうかを決定する。
【０１１４】
図６Ａは、本開示の様々な実施形態にしたがった、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバの構造ブロック図である。
【０１１５】
図６Ａを参照すると、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバ６００が提供される。一部の実施形態では、サーバ６００は、図１に例示された方法１００を実行する。
【０１１６】
本出願の様々な実施形態にしたがうと、サーバ６００は、生成モジュール６０１と、第１の返信モジュール６０２と、第１の受信モジュール６０３と、第１の検証モジュール６０４と、第２の返信モジュール６０５と、第２の受信モジュール６０６と、第２の検証モジュール６０７と、第１の決定モジュール６０８とを含む。
【０１１７】
一部の実施形態では、生成モジュール６０１は、ユーザが端末上のブラウザを通じてウェブサイトにログインするときに第１のトークンを生成するようにおよびその第１のトークンをサーバ６００に保存するように構成される。一例として、生成モジュール６０１は、サーバ６００が端末からアクセス要求を受信することを受けて、第１のトークンを生成する。
【０１１８】
一部の実施形態では、第１の返信モジュール６０２は、リダイレクトスクリプトを含むページを端末に（例えば、端末上のブラウザに）通信し、それによって、端末（例えば、端末上のブラウザ）にリダイレクトスクリプトを実行させておよびその結果として起動リンクにアクセスさせて、端末上のクライアントアプリケーションを起動させるように構成される。一部の実施形態では、起動リンクは、ウェブサイトのアクセスアドレスと、第１のトークンとを含む。
【０１１９】
一部の実施形態では、第１の受信モジュール６０３は、端末によって（例えば、クライアントアプリケーションによって）送信された検証要求を受信するように構成される。検証要求は、クライアントアプリケーションによって起動リンクから取得された第１のトークンを含む。
【０１２０】
一部の実施形態では、第１の検証モジュール６０４は、検証要求に含まれる第１のトークンが有効であるかどうかを決定するように構成される。
【０１２１】
一部の実施形態では、第２の返信モジュール６０５は、検証結果をクライアントアプリケーションに通信するように構成される。
【０１２２】
一部の実施形態では、第２の受信モジュール６０６は、もし、検証要求で運ばれた第１のトークンが有効であり、尚且つ端末（例えば、クライアントアプリケーション）がウェブサイトにアクセスするために第２のトークンを生成して端末上のブラウザを起動させた場合に、ウェブサイトへのアクセスのために端末上のブラウザから送信されたアクセス要求を受信するように構成される。
【０１２３】
一部の実施形態では、第２の検証モジュール６０７は、アクセス要求に含まれる第２のトークンが有効であるかどうかを決定するように構成される。
【０１２４】
一部の実施形態では、第１の決定モジュール６０８は、端末がモバイル端末であるかどうかを決定するように構成される。例えば、第１の決定モジュール６０８は、もし、第２の検証モジュール６０７が第２のトークンが有効であると決定した場合に、端末がモバイル端末であると決定するように構成される。
【０１２５】
本開示の様々な実施形態にしたがうと、第２のトークンは、クライアントアプリケーションが第１のトークンを暗号化することによって生成される。
【０１２６】
本出願の様々な実施形態にしたがうと、第２の検証モジュール６０７は、検証サブモジュールと、決定サブモジュールとを含む。
【０１２７】
一部の実施形態では、第２の検証モジュール６０７に含まれる検証サブモジュールは、第２のトークンを復号化して第１のトークンを得るようにおよび第２のトークンを復号化して得られた第１のトークンが有効であるかどうかを決定するように構成される。
【０１２８】
一部の実施形態では、第２の検証モジュール６０７に含まれる決定サブモジュールは、第２のトークンが有効であるかどうかを決定するように構成される。例えば、決定サブモジュールは、もし、第１のトークンが有効である場合に、第２のトークンが有効であるとおよび端末がモバイル端末であると決定する。
【０１２９】
本出願の様々な実施形態にしたがうと、サーバ６００は、書き込みモジュールも含んでいてよい。一例として、書き込みモジュールは、もし、第２のトークンが有効であると決定された場合に、端末（例えば、ブラウザ）に送信されるクッキーに第２のトークンを書き込むように構成される。
【０１３０】
本出願の様々な実施形態にしたがうと、サーバ６００は、チェックモジュールと、第３の検証モジュールと、第２の決定モジュールとを含む。
【０１３１】
一部の実施形態では、チェックモジュールは、ユーザが端末上のブラウザを通じてウェブサイトにログインすることを受けて、ブラウザのクッキーが第２のトークンを含むかどうかを決定するように構成される。
【０１３２】
一部の実施形態では、第３の検証モジュールは、ユーザが端末上のブラウザを通じてウェブサイトにログインするときに、ブラウザのクッキーに含まれる第２のトークンが有効であるかどうかを決定するように構成される。
【０１３３】
一部の実施形態では、第２の決定モジュールは、第２のトークン（例えば、クッキーに含まれる第２のトークン）の有効性にしたがって、端末がモバイル端末であるかどうかを決定するように構成される。例えば、第２の決定モジュールは、もし、第２のトークン（例えば、クッキーに含まれる第２のトークン）が有効である場合に、端末がモバイル端末であると決定するように構成される。
【０１３４】
図６Ｂは、本開示の様々な実施形態にしたがった、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバの構造ブロック図である。
【０１３５】
図６Ｂを参照すると、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバ６００が提供される。一部の実施形態では、サーバ６００は、図３に例示された方法３００を実行する。
【０１３６】
本出願の様々な実施形態にしたがうと、サーバ６００は、生成モジュール６０１と、第１の返信モジュール６０２と、第１の受信モジュール６０３と、第１の検証モジュール６０４と、第２の返信モジュール６０５と、第２の受信モジュール６０６と、第２の検証モジュール６０７と、第１の決定モジュール６０８とを含む。
【０１３７】
本出願の様々な実施形態にしたがうと、サーバ６００は、また、第３の受信モジュール６１２と、第３の決定モジュール６１４と、第４の決定モジュール６１６と、比較モジュール６１８とを含む。
【０１３８】
一部の実施形態では、第３の受信モジュール６１２は、端末（例えば、ユーザ）が端末上のブラウザを通じてウェブサイトにログインするときに、ブラウザによって送信された、端末に関する画面解像度情報を含むメッセージを受信するように構成される。
【０１３９】
一部の実施形態では、第３の決定モジュール６１４は、ブラウザのユーザエージェント情報を取得するように、およびそのユーザエージェント情報を解析することによって端末の機器タイプを決定するように構成される。
【０１４０】
一部の実施形態では、第４の決定モジュール６１６は、端末の機器タイプにしたがって、その機器タイプに対応する画面解像度を決定するように構成される。
【０１４１】
一部の実施形態では、比較モジュール６１８は、機器タイプに対応する画面解像度を、端末（例えば、端末上のブラウザ）から受信された端末画面解像度と比較するように、および機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるかどうかを決定するように構成される。
【０１４２】
生成モジュール６０１は、さらに、もし、機器タイプに対応する画面解像度が、端末（例えば、端末上のブラウザ）から受信された端末画面解像度と同じである場合に、第１のトークンを生成するように構成される。
【０１４３】
本出願の様々な実施形態にしたがうと、サーバ６００は、また、第４の検証モジュールと、第５の決定モジュールとを含む。
【０１４４】
一部の実施形態では、第４の検証モジュールは、端末（例えば、ユーザ）がウェブサイトにログインするときに入力したログイン情報が正しいかどうかを決定するように構成される。例えば、第４の検証モジュールは、ログイン情報を認証するように構成される。
【０１４５】
一部の実施形態では、第５の決定モジュールは、ログイン情報が正しいかどうかにしたがって、第１のトークンが生成されるべきであるかどうかを決定するように構成される。例えば、第５の決定モジュールは、もし、ログイン情報が正しいと決定される場合に、第１のトークンが生成されるべきであると決定するように構成される。
【０１４６】
本出願の様々な実施形態にしたがうと、第１の検証モジュールは、さらに、照会サブモジュールおよび／または決定サブモジュールを含む。
【０１４７】
一部の実施形態では、照会サブモジュールは、検証要求で運ばれた第１のトークンと同じ第１のトークンをサーバが有する（例えば、格納している）かどうかをサーバに照会するように構成される。
【０１４８】
一部の実施形態では、決定サブモジュールは、第１のトークンが有効であるかどうかを決定するように構成される。一例として、決定サブモジュールは、もし、サーバが第１のトークンを有することを照会サブモジュールが決定した場合に、第１のトークンが有効であるかどうかを決定するように構成される。一例として、決定サブモジュールは、端末から受信された第１のトークンが有効であるかどうかを決定するために、サーバに格納されている第１のトークンを使用するように構成される。
【０１４９】
本実施形態のサーバ６００によって実現される機能は、上記の図１〜２に示された方法の実施形態に対応しているので、本実施形態のなかで十分に詳しく説明されていない部分に関しては、上述された実施形態における適切な説明を参照してよい。このことは、これ以上ここでは論じられない。
【０１５０】
図７は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムにおける端末の構造ブロック図である。
【０１５１】
図７を参照すると、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムにおける端末７００が提供される。一部の実施形態では、端末７００は、図２および図４の方法２００および方法４００を実行する。
【０１５２】
一部の実施形態では、端末７００は、ブラウザモジュール７０２、クライアントアプリケーションモジュール７０４、トークン生成モジュール７０６、通信モジュール７０８、ストレージモジュール７１０などといったものを含む。
【０１５３】
一部の実施形態では、ブラウザモジュール７０２は、ウェブサイトにアクセスする。例えば、ブラウザモジュール７０２は、ウェブサイトを運営しているサーバと、端末７００を操作しているユーザとの間のインターフェースとして動作する。一例として、ブラウザモジュール７０２は、作動式に、ウェブサイトにアクセスするまたはそれ以外の形でログインする。一部の実施形態では、ブラウザモジュール７０２は、端末７００のディスプレイ解像度を決定する。本開示の様々な実施形態にしたがうと、ブラウザモジュール７０２は、ウェブサイトにアクセスするためのアクセス要求を、作動式にサーバに通信する。
【０１５４】
一部の実施形態では、クライアントアプリケーションモジュール７０４は、端末７００がモバイル端末であるかを検証するために、操作可能な方式でサーバと通信する。一例として、クライアントアプリケーション７０４は、起動リンクが端末７００（例えば、ブラウザモジュール７０２）によってアクセスされたときまたはそれ以外の形で処理されたときに起動される。一部の実施形態では、クライアントアプリケーションモジュール７０４は、第１のトークンを、起動リンクから取得するまたはそれ以外の形で起動リンクを使用して取得する。一部の実施形態では、クライアントアプリケーションモジュール７０４は、検証要求を生成し、操作可能な方式でその検証要求をサーバに通信する。本開示の様々な実施形態にしたがうと、クライアントアプリケーションモジュール７０４は、第２のトークンを生成する。一部の実施形態では、クライアントアプリケーションモジュール７０４は、第２のトークンを含むアクセス要求を、操作可能な方式でサーバに通信する。
【０１５５】
一部の実施形態では、トークン生成モジュール７０６は、第２のトークンを生成する。一例として、トークン生成モジュール７０６は、第１のトークン（例えば、クライアントアプリケーションモジュール７０４が起動シンクから取得したまたはそれ以外の形で起動リンクを使用して取得した第１のトークン）を暗号化することによって、第２のトークンを生成する。
【０１５６】
一部の実施形態では、通信モジュール７０８は、ウェブサイト（例えば、ウェブサイトに関係付けられたサーバ）と通信する。一例として、通信モジュール７０８は、ウェブサイトと、端末７００のその他のモジュールとの間のインターフェースとして動作するように構成される。例えば、端末７００のその他のモジュールは、通信モジュール７０８を通じて別の端末（例えば、サーバ）との間でデータの送信を行ってよい。
【０１５７】
一部の実施形態では、ストレージモジュール７１０は、端末７００がその他の端末（例えば、サーバ）から受信するデータ（例えば、第１のトークン、クッキーなどといったもの）または端末７００が生成するデータ（例えば、第２のトークン）を格納する。
【０１５８】
上述されたモジュールは、１つ以上のプロセッサ上で実行されるソフトウェアコンポーネントとして、または特定の機能を実施するように設計されたプログラマブルロジックデバイスおよび／もしくは特殊用途向け集積回路などのハードウェアとして、またはそれらの組み合わせとして実装することができる。一部の実施形態では、これらのモジュールは、本発明の実施形態で説明される方法を（パソコン、サーバ、ネットワーク機器などの）コンピュータデバイスに実行させるための幾つかの命令を含み尚且つ（光ディスク、フラッシュストレージデバイス、モバイルハードディスクなどの）不揮発性のストレージ媒体に格納することができるソフトウェア製品の形態で具現化することができる。これらのモジュールは、１つのデバイス上に実装されてよい、または複数のデバイスに分散されてよい。これらのモジュールの機能は、互いに合体されてよい、または複数のサブモジュールにさらに分割されてよい。
【０１５９】
図８は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスするための、またはウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための、コンピュータシステムの機能図である。
【０１６０】
図８を参照すると、ウェブサイトにアクセスするための、またはウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための、コンピュータシステム８００が提供される。ビデオコールの実現には、その他のコンピュータシステムアーキテクチャおよび構成を使用することもできることが明らかである。後述されるような様々なサブシステムを含むコンピュータシステム８００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサまたは中央演算処理装置（ＣＰＵ）とも呼ばれる）８０２を含む。例えば、プロセッサ８０２は、シングルチッププロセッサによってまたは複数のプロセッサによって実現することができる。一部の実施形態では、プロセッサ８０２は、コンピュータシステム８００の動作を制御する汎用デジタルプロセッサである。メモリ８１０から取り出された命令を使用して、プロセッサ８０２は、入力データの受信および操作、ならびに出力デバイス（例えば、ディスプレイ８１８）へのデータの出力および表示を制御する。
【０１６１】
プロセッサ８０２は、メモリ８１０に双方向に接続され、メモリ８１０は、通常はランダムアクセスメモリ（ＲＡＭ）である第１の一次ストレージと、通常は読み出し専用メモリ（ＲＯＭ）である第２の一次ストレージとを含むことができる。当該分野で周知のように、一次ストレージは、汎用ストレージエリアとしておよびスクラッチパッドメモリとして使用することができ、入力データおよび処理済みデータを格納するために使用することもできる。一次ストレージは、プログラミング命令およびデータを、プロセッサ８０２上で起きるプロセスのためのその他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で格納することもできる。やはり当該分野で周知のように、一次ストレージは、通常は、プロセッサ８０２がその機能（例えば、プログラムされた命令）を実施するために使用する基本的な動作命令、プログラムコード、データ、およびオブジェクトを含む。例えば、メモリ８１０は、例えば、データアクセスが双方向または単方向のいずれである必要があるかに応じ、後述の任意の適切なコンピュータ読み取り可能ストレージ媒体を含むことができる。例えば、プロセッサ８０２は、頻繁に必要とされるデータを、直接的に且つ非常に迅速に取り出してキャッシュメモリ（不図示）に格納することもできる。
【０１６２】
着脱式大容量ストレージデバイス８１２は、コンピュータシステム８００のための追加のデータストレージ容量を提供し、双方向（読み出し／書き込み）にまたは単方向（読み出しのみ）のいずれかでプロセッサ８０２に接続される。例えば、ストレージ８１２は、磁気テープ、フラッシュメモリ、ＰＣカード、ポータブル大容量ストレージデバイス、ホログラフィックストレージデバイス、およびその他のストレージデバイスなどの、コンピュータ読み取り可能媒体を含むこともできる。例えば、固定大容量ストレージ８２０が、追加のデータストレージ容量を提供することもできる。固定大容量ストレージ８２０として最も一般的な例は、ハードディスクドライブである。大容量ストレージデバイス８１２および固定大容量ストレージ８２０は、一般に、プロセッサ８０２によって通常は能動的に使用されていない追加のプログラミング命令やデータといったものを格納する。大容量ストレージデバイス８１２および固定大容量ストレージ８２０に保持される情報は、もし必要であれば、仮想メモリとしてメモリ８１０（例えば、ＲＡＭ）の一部に標準的に組み込み可能であることがわかる。
【０１６３】
バス８１４は、ストレージサブシステムへのアクセスをプロセッサ８０２に提供することに加えて、その他のサブシステムおよびデバイスへのアクセスを提供するためにも使用することができる。図に示されるように、これらとしては、ディスプレイ８１８、ネットワークインターフェース８１６、キーボード８０４、およびポインティングデバイス８０６はもちろん、必要に応じて、補助入出力デバイスインターフェース、サウンドカード、スピーカ、およびその他のサブシステムが挙げられる。例えば、ポインティングデバイス８０６は、マウス、スタイラス、トラックボール、またはタブレットであってよく、グラフィカルユーザインターフェースとのやり取りに有用である。
【０１６４】
ネットワークインターフェース８１６は、図に示されるようなネットワーク接続を使用してプロセッサ８０２が別のコンピュータ、コンピュータネットワーク、または電気通信ネットワークに接続されることを可能にする。例えば、ネットワークインターフェース８１６を通じて、プロセッサ８０２は、方法／プロセスのステップを実施する過程において、別のネットワークから情報（例えば、データオブジェクトもしくはプログラム命令）を受信するまたは別のネットワークに情報を出力することができる。情報は、多くの場合、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信するまたは別のネットワークに出力することができる。コンピュータシステム８００を外部ネットワークに接続するためにおよびデータを標準プロトコルにしたがって転送するために、インターフェースカードまたは類似のデバイス、およびプロセッサ８０２によって実現される（例えば、プロセッサ８０２上で実行される／実施される）適切なソフトウェアを使用することができる。例えば、本明細書で開示される様々なプロセスの実施形態は、プロセッサ８０２上で実行することができる、または処理の一部を共有するリモートプロセッサと協働でインターネット、イントラネットネットワーク、もしくはローカルエリアネットワークなどのネットワークで実施することができる。プロセッサ８０２には、ネットワークインターフェース８１６を通じて追加の大容量ストレージデバイス（不図示）も接続することができる。
【０１６５】
コンピュータシステム８００と協働して、補助入出力デバイスインターフェース（不図示）を使用することができる。補助入出力デバイスインターフェースは、プロセッサ８０２がマイク、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き文字認識装置、生体認証リーダ、カメラ、ポータブル大容量ストレージデバイス、およびその他のコンピュータなどの他のデバイスにデータを送信することを、およびさらに一般的にはこれらの他のデバイスからデータを受信することを可能にする、汎用ならびに専用のインターフェースを含むことができる。
【０１６６】
図８に示されたコンピュータシステムは、本明細書で開示される様々な実施形態で使用するのに適したコンピュータシステムの一例に過ぎない。このような使用に適したその他のコンピュータシステムは、さらに多くのまたは少ないサブシステムを含むことができる。また、バス８１４は、サブシステムをつなぐ働きをするあらゆる相互接続方式を例示したものである。異なる構成のサブシステムを有するその他のコンピュータアーキテクチャを用いることもできる。
【０１６７】
本明細書で開示される実施形態に照らして説明された方法またはステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、または両者の組み合わせを使用して実現することができる。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）メモリ、読み出し専用メモリ（ＲＯＭ），電気的にプログラム可能なＲＯＭ，電気的に消去可能なＲＯＭ、レジスタ、ハードドライブ、着脱式ディスク、ＣＤ−ＲＯＭ，または当該技術分野で知られるその他の任意の形態のストレージ媒体にインストールすることができる。
【０１６８】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するには、数々の代替的手法がある。開示された実施形態は、例示的なものであり、限定的なものではない。
本発明は、たとえば、以下のような態様で実現することもできる。
適用例１：
方法であって、
ウェブサイトにアクセスするためのログイン要求を端末から受信することと、
前記端末からの前記ログイン要求の受信を受けて、第１のトークンを生成することと、
リダイレクトスクリプトを含む情報を前記端末に送信することであって、前記リダイレクトスクリプトは、前記端末に、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせるように構成される、情報の送信と、
前記端末から検証要求を受信することであって、前記検証要求は、前記端末が前記起動リンクを使用することによって取得されたヴァージョンの前記第１のトークンを含む、検証要求の受信と、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるかどうかを、前記生成された第１のトークンに照らして決定することと、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるとの決定を受けて、前記第１のトークンが有効であるとの表示を前記端末に送信することと、
前記ウェブサイトにアクセスするためのアクセス要求を受信することであって、前記アクセス要求は、第２のトークンを含む、アクセス要求の受信と、
前記第２のトークンが有効であるかどうかを決定することと、
前記第２のトークンが有効であるかどうかにしたがって、前記端末がモバイル端末であるかどうかを決定することと、
を備える方法。
適用例２：
適用例１の方法であって、
前記第２のトークンは、前記端末上のクライアントアプリケーションが前記第１のトークンを暗号化することによって生成される、方法。
適用例３：
適用例１の方法であって、
前記第２のトークンが有効であるかどうかを決定することは、
前記第２のトークンを復号化して前記第１のトークンを得て、前記第２のトークンを復号化することによって得られた前記第１のトークンが有効であるかどうかを検証することと、
もし、前記第２のトークンを復号化することによって得られた前記第１のトークンが有効である場合に、前記第２のトークンが有効であると決定することと、
を含む、方法。
適用例４：
適用例１の方法であって、さらに、
前記第２のトークンが有効であると決定される場合に、前記第２のトークンをクッキーに書き込み、前記クッキーを前記端末に送信することを備える方法。
適用例５：
適用例４の方法であって、さらに、
前記端末上のブラウザを通じて前記ウェブサイトにログインするための要求を前記端末から受信することを受けて、前記ブラウザのクッキーが前記第２のトークンを含むかどうかを決定することと、
前記ブラウザの前記クッキーが前記第２のトークンを含むとの決定を受けて、前記ブラウザの前記クッキーに含まれる前記第２のトークンが有効であるかどうかを決定することと、
を備える方法。
適用例６：
適用例５の方法であって、さらに、
前記ブラウザの前記クッキーに含まれる前記第２のトークンが有効であるとの決定を受けて、前記端末がモバイル端末であると決定することを備える方法。
適用例７：
適用例１の方法であって、さらに、
前記端末上のブラウザからメッセージを受信することであって、前記端末は、前記端末上の前記ブラウザを通して前記ウェブサイトにログインし、前記ブラウザからの前記メッセージは、前記端末のための画面解像度の画面解像度情報を含む、メッセージの受信と、
前記ブラウザのユーザエージェント情報を受信することと、
前記ブラウザの前記ユーザエージェント情報にしたがって、前記端末の機器タイプを決定することと、
前記端末の前記機器タイプに対応する画面解像度を決定することと、
前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記端末の前記画面解像度と同じであるかどうかを決定することと、
前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記画面解像度と同じであるとの決定を受けて、第１のトークンを生成することと、
を備える方法。
適用例８：
適用例１の方法であって、さらに、
前記ウェブサイトにアクセスするための前記ログイン要求に関連してサーバによって受信されたログイン情報が正しいかどうかを決定することと、
前記ログイン情報が正しいと決定された場合に、前記第１のトークンが生成されるべきであると決定することと、
を備える方法。
適用例９：
適用例１の方法であって、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるかどうかを決定することは、さらに、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンと同じ第１のトークンをサーバが有するかどうかを決定することと、
もし、前記検証要求に含まれる前記ヴァージョンの前記第１のトークンと同じ第１のトークンを前記サーバが有すると決定される場合に、前記第１のトークンが有効であると決定することと、
を含む、方法。
適用例１０：
適用例１の方法であって、さらに、
前記端末がモバイル端末であるとの決定を受けて、前記端末に前記ウェブサイトへのアクセスを許可することを備える方法。
適用例１１：
サーバであって、
端末がウェブサイトにログインすることに関連して第１のトークンを生成し、および前記第１のトークンを保存するように構成された生成モジュールと、
リダイレクトスクリプトを含む情報を前記端末に送信するように構成された第１の返信モジュールであって、前記リダイレクトスクリプトは、前記端末に、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせるように構成される、第１の返信モジュールと、
前記端末からの検証要求を受信するように構成された第１の受信モジュールであって、前記検証要求は、前記端末が前記起動リンクを使用することによって取得されたヴァージョンの前記第１のトークンを含む、第１の受信モジュールと、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるかどうかを、前記生成された第１のトークンに照らして決定するように構成された第１の検証モジュールと、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であると前記第１の検証モジュールが決定することを受けて、前記第１のトークンが有効であるとの表示を前記端末に送信するように構成された第２の返信モジュールと、
前記ウェブサイトにアクセスするためのアクセス要求を受信するように構成された第２の受信モジュールであって、前記アクセスは、第２のトークンを含む、第２の受信モジュールと、
前記第２のトークンが有効であるかどうかを決定するように構成された第２の検証モジュールと、
前記第２のトークンが有効であるかどうかにしたがって、前記端末がモバイル端末であるかどうかを決定するように構成された第１の決定モジュールと、
を備えるサーバ。
適用例１２：
適用例１１のサーバであって、
前記第２のトークンは、前記端末上のクライアントアプリケーションが前記第１のトークンを暗号化することによって生成される、サーバ。
適用例１３：
適用例１１のサーバであって、
前記第２の検証モジュールは、さらに、前記第２のトークンを復号化して前記第１のトークンを得、前記第２のトークンを復号化することによって得られた前記第１のトークンが有効であるかどうかを検証し、および前記第２のトークンを復号化することによって得られた前記第１のトークンが有効である場合に、前記第２のトークンが有効であると決定するように構成される、サーバ。
適用例１４：
適用例１１のサーバであって、さらに、
前記第２のトークンをクッキーに書き込むように構成された書き込みモジュールと、
前記クッキーを前記端末に送信するように構成された通信モジュールと、
を備えるサーバ。
適用例１５：
適用例１４のサーバであって、さらに、
前記端末上のブラウザを通じて前記ウェブサイトにログインするための要求を前記端末から受信することを受けて、前記ブラウザのクッキーが前記第２のトークンを含むかどうかを決定するように構成されたチェックモジュールと、
前記ブラウザの前記クッキーが前記第２のトークンを含むと前記チェックモジュールが決定することを受けて、前記ブラウザの前記クッキーに含まれる前記第２のトークンが有効であるかどうかを決定するように構成された第３の検証モジュールと、
を備えるサーバ。
適用例１６：
適用例１５のサーバであって、さらに、
前記ブラウザの前記クッキーに含まれる前記第２のトークンが有効であると前記第３の検証モジュールが決定することを受けて、前記端末がモバイル端末であると決定するように構成された第２の決定モジュールを備えるサーバ。
適用例１７：
適用例１１のサーバであって、さらに、
前記端末上のブラウザからメッセージを受信するように構成された第３の受信モジュールであって、前記端末は、前記端末上の前記ブラウザを通じて前記ウェブサイトにログインし、前記ブラウザからの前記メッセージは、前記端末のための画面解像度の画面解像度情報を含む、第３の受信モジュールと、
前記ブラウザのユーザエージェント情報を受信し、および前記ブラウザの前記ユーザエージェント情報にしたがって前記端末の機器タイプを決定するように構成された第３の決定モジュールと、
前記端末の前記機器タイプに対応する画面解像度を決定するように構成された第４の決定モジュールと、
前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記端末の前記画面解像度と同じであるかどうかを決定するように構成された比較モジュールと、
を備え、
前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記画面解像度と同じであると前記比較モジュールが決定することを受けて、前記生成モジュールは、前記第１のトークンを生成する、サーバ。
適用例１８：
適用例１１のサーバであって、さらに、
前記ウェブサイトにアクセスするためのログイン要求に関連して前記サーバによって受信されたログイン情報が正しいかどうかを決定するように構成された第４の検証モジュールを備え、
前記ウェブサイトにアクセスするための前記ログイン要求に関連して前記サーバによって受信されたログイン情報が正しいと前記第４の検証モジュールが決定することを受けて、前記生成モジュールは、前記第１のトークンを生成する、サーバ。
適用例１９：
適用例１１のサーバであって、
前記第１の検証モジュールは、照会サブモジュールと、決定サブモジュールと含み、
前記照会サブモジュールは、前記検証要求に含まれる前記ヴァージョンの前記第１のトークンと同じ第１のトークンを前記サーバが有するかどうかを決定するように構成され、
前記決定サブモジュールは、もし、前記検証要求に含まれる前記ヴァージョンの前記第１のトークンと同じ第１のトークンを前記サーバが有すると決定される場合に、前記第１のトークンが有効であるかどうかを決定するように構成される、サーバ。
適用例２０：
適用例１１のサーバであって、
前記第１の決定モジュールは、さらに、前記端末がモバイル端末であるとの決定を受けて、前記端末に前記ウェブサイトへのアクセスを許可するように構成される、サーバ。
適用例２１：
有体の非一過性のコンピュータ読み取り可能ストレージ媒体に盛り込まれたコンピュータプログラム製品であって、
ウェブサイトにアクセスするためのログイン要求を端末から受信するためのコンピュータ命令と、
前記端末からの前記ログイン要求の受信を受けて、第１のトークンを生成するためのコンピュータ命令と、
リダイレクトスクリプトを含む情報を前記端末に送信するためのコンピュータ命令であって、前記リダイレクトスクリプトは、前記端末に、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせるように構成される、コンピュータ命令と、
前記端末から検証要求を受信するためのコンピュータ命令であって、前記検証要求は、前記端末が前記起動リンクを使用することによって取得されたヴァージョンの前記第１のトークンを含む、コンピュータ命令と、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるかどうかを、前記生成された第１のトークンに照らして決定するためのコンピュータ命令と、
前記検証要求に含まれる前記ヴァージョンの前記第１のトークンが有効であるとの決定を受けて、前記第１のトークンが有効であるとの表示を前記端末に送信するためのコンピュータ命令と、
前記ウェブサイトにアクセスするためのアクセス要求を受信するためのコンピュータ命令であって、前記アクセス要求は、第２のトークンを含む、コンピュータ命令と、
前記第２のトークンが有効であるかどうかを決定するためのコンピュータ命令と、
前記第２のトークンが有効であるかどうかにしたがって、前記端末がモバイル端末であるかどうかを決定するためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
【図１】
0006282349.tif 000002
【図２】
0006282349.tif 000003
【図３】
0006282349.tif 000004
【図４】
0006282349.tif 000005
【図５】
0006282349.tif 000006
【図６Ａ】
0006282349.tif 000007
【図６Ｂ】
0006282349.tif 000008
【図７】
0006282349.tif 000009
【図８】
0006282349.tif 000010