JP5867841B2 - アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するためのシステムおよび方法 - Google Patents

アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するためのシステムおよび方法 Download PDF

Info

Publication number
JP5867841B2
JP5867841B2 JP2015530285A JP2015530285A JP5867841B2 JP 5867841 B2 JP5867841 B2 JP 5867841B2 JP 2015530285 A JP2015530285 A JP 2015530285A JP 2015530285 A JP2015530285 A JP 2015530285A JP 5867841 B2 JP5867841 B2 JP 5867841B2
Authority
JP
Japan
Prior art keywords
application
server
login
login request
application platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015530285A
Other languages
English (en)
Other versions
JP2015532984A (ja
Inventor
リャン・マ
ジチャン・ヒ
チェン・グオ
リンボ・ザン
シャオジン・ツ
Original Assignee
テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド filed Critical テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Publication of JP2015532984A publication Critical patent/JP2015532984A/ja
Application granted granted Critical
Publication of JP5867841B2 publication Critical patent/JP5867841B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Description

本願は、2012年9月11日に出願された中国特許出願第201210334289.1号の「SYSTEM AND METHOD FOR SHARING LOGIN STATUS BETWEEN AN APPLICATION PLATFORM AND AN APPLICATION」の優先権を主張し、その全体が参照によって本明細書に組込まれる。
本発明は一般に、インターネット技術に関し、特に情報交換を介してアプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するためのシステムおよび方法に関する。
クライアント−サーバ環境では、クライアントデバイスでのユーザは、リモートサーバによって管理されるデータにアクセスするためにリモートサーバへリクエストを提出する。リモートサーバは、データ上で対応する動作を実行し、クライアントデバイスへ処理結果を戻す。典型的なリクエストは、ログインリクエスト、ログアウトリクエスト等を含む。オンラインゲームアプリケーションは、このタイプの環境で実装される例である。オンラインゲームアプリケーションのユーザは、ゲームをプレイするために自分のアカウントへログインする必要がある。しかし、オンラインゲームベンダーがエンドユーザへ複数のゲームを提供して、これらゲームが異なるネットワークドメインで異なるサーバによってホストされる場合、ユーザは、自分のログイン情報を繰り返し入力することによって別々に異なるサーバへログインする必要がありうる。いくつかの場合では、ベンダーは、クライアントデバイスへダウンロードされるべきオンラインゲームプラットフォームを提供することがあり、それによりエンドユーザは、自分がプレイできる全てのゲームを見ることができる。このオンラインゲームプラットフォームによりエンドユーザは、自分が登録したゲームアプリケーションを管理し易くなるが、例えばゲームアプリケーションのクライアントエンドがゲームプラットフォームによって管理される一方で、ゲームプラットフォームと通信するサーバが特定のゲームアプリケーションをサポートするゲームサーバと異なる場合、エンドユーザは、異なるゲームサーバへログインすることを要求しうる。この構成は、ドメイン間訪問(cross−domain visit)を要求しうる。
現在、ドメイン間訪問を達成するための技術は、(i)1つのネットワークドメイン内でサーバにエージェントを確立し、それによりクライアントデバイスがエージェントにリクエストを送信する時、エージェントは、異なるネットワークドメイン内で目標サーバへ新規リクエストを自動的に提出し、次いで更新して、または更新しないで、目標サーバからクライアントデバイスへ応答を戻し、(ii)オンデマンドJava(登録商標)scriptを使用して新規<スクリプト>オブジェクトを動的に生成し、目標サーバのアドレスをソース属性で特定し、それは次いで、例えばJSONメッセージを使用してJava(登録商標)scriptのフォーマットで応答を戻し、(iii)目標サーバを示すアイフレームをウェブページへ動的に埋め込み、それにより2つのサーバは、互いのアンカーハッシュフラグメントを変更することによってメッセージを交換できる。しかし、上記手法のどれも、異なるドメイン内のサーバ間でログインステータス情報を共有する問題を容易に解決できない。
異なるサーバ間で情報を共有する従来の手法に関連付けられる上記欠点および他の問題は、以下に説明される本発明によって少なくされるか除かれる。いくつかの実施形態では、本発明は、1つまたは複数のプロセッサ、メモリ、および1つまたは複数のモジュール、複数の機能を実行するためにメモリに格納されるプログラムまたは一組の命令を有するコンピュータシステムで実装される。これら機能を実行するための命令は、1つまたは複数のプロセッサによって実行するように構成されるコンピュータプログラム製品に含まれうる。
本発明の1つの局面は、1つまたは複数のプロセッサおよびメモリを有するコンピュータによって実行されるコンピュータ実装方法を含む。コンピュータ実装方法は、クライアントデバイスからログインリクエストを受信するステップと、ログインリクエストがクライアントデバイスでのアプリケーションプラットフォームまたはクライアントデバイスでのアプリケーションに関連付けられるかを決定するためにログインリクエストを分析するステップであって、アプリケーションがアプリケーションプラットフォームによって管理されるステップと、ログインリクエストがアプリケーションプラットフォームに関連付けられる場合、アプリケーションプラットフォームサーバとの第1の接続を確立するステップと、アプリケーションプラットフォームサーバへログインリクエストを転送するステップと、アプリケーションプラットフォームサーバからログインキーを受信するステップと、クライアントデバイスへログインキーを戻すステップであって、ログインキーがアプリケーションプラットフォームに関連付けられるステップと、ログインリクエストがアプリケーションに関連付けられる場合、アプリケーションサーバとの第2の接続を確立するステップであって、アプリケーションサーバがアプリケーションプラットフォームサーバと異なるステップと、アプリケーションサーバへログインリクエストを転送するステップと、アプリケーションサーバからログインキーを受信するステップと、クライアントデバイスへログインキーを戻すステップであって、ログインキーがアプリケーションに関連付けられるステップとを含む。
本発明のもう1つの局面は、コンピュータシステムを含む。コンピュータシステムは、メモリ、1つまたは複数のプロセッサ、およびメモリに格納されて1つまたは複数のプロセッサによって実行するように構成される1つまたは複数のプログラムを含む。1つまたは複数のプログラムは、クライアントデバイスからログインリクエストを受信するステップと、ログインリクエストがクライアントデバイスでのアプリケーションプラットフォームまたはクライアントデバイスでのアプリケーションに関連付けられるかを決定するためにログインリクエストを分析するステップであって、アプリケーションがアプリケーションプラットフォームによって管理されるステップと、ログインリクエストがアプリケーションプラットフォームに関連付けられる場合、アプリケーションプラットフォームサーバとの第1の接続を確立するステップと、アプリケーションプラットフォームサーバへログインリクエストを転送するステップと、アプリケーションプラットフォームサーバからログインキーを受信するステップと、クライアントデバイスへログインキーを戻すステップであって、ログインキーがアプリケーションプラットフォームに関連付けられるステップと、ログインリクエストがアプリケーションに関連付けられる場合、アプリケーションサーバとの第2の接続を確立するステップであって、アプリケーションサーバがアプリケーションプラットフォームサーバと異なるステップと、アプリケーションサーバへログインリクエストを転送するステップと、アプリケーションサーバからログインキーを受信するステップと、クライアントデバイスへログインキーを戻すステップであって、ログインキーがアプリケーションに関連付けられるステップとを含む。
本発明のもう1つの局面は、コンピュータシステムの1つまたは複数のプロセッサによって実行するための1つまたは複数のプログラムをその中に格納して有する非一時的コンピュータ読取可能な格納媒体を含み、1つまたは複数のプログラムは、クライアントデバイスからログインリクエストを受信するステップと、ログインリクエストがクライアントデバイスでのアプリケーションプラットフォームまたはクライアントデバイスでのアプリケーションに関連付けられるかを決定するためにログインリクエストを分析するステップであって、アプリケーションがアプリケーションプラットフォームによって管理されるステップと、ログインリクエストがアプリケーションプラットフォームに関連付けられる場合、アプリケーションプラットフォームサーバとの第1の接続を確立するステップと、アプリケーションプラットフォームサーバへログインリクエストを転送するステップと、アプリケーションプラットフォームサーバからログインキーを受信するステップと、クライアントデバイスへログインキーを戻すステップであって、ログインキーがアプリケーションプラットフォームに関連付けられるステップと、ログインリクエストがアプリケーションに関連付けられる場合、アプリケーションサーバとの第2の接続を確立するステップであって、アプリケーションサーバがアプリケーションプラットフォームサーバと異なるステップと、アプリケーションサーバへログインリクエストを転送するステップと、アプリケーションサーバからログインキーを受信するステップと、クライアントデバイスへログインキーを戻すステップであって、ログインキーがアプリケーションに関連付けられるステップのための命令を含む。
本発明の上記特徴および利点とそのさらなる特徴および利点は、図に関連付けて好ましい実施形態の詳細な説明の結果として以下より明確に理解されるだろう。
いくつかの実施形態によるアプリケーションプラットフォームおよびアプリケーション間でログインステータス情報を共有する方法を示すフローチャートである。 いくつかの実施形態によるログインリクエストのソースを決定する方法を示すフローチャートである。 いくつかの実施形態によるアプリケーションプラットフォームサーバまたはアプリケーションサーバとの接続を確立し、ログインリクエストのソースに基づきサーバでログイン動作を完了する方法を示すフローチャートである。 いくつかの実施形態によるアプリケーションプラットフォームサーバおよびアプリケーションサーバ間でログインステータスを共有する機構を実装するためのクライアント−サーバネットワーク環境を示すブロック図である。 いくつかの実施形態によるアプリケーションプラットフォームおよびアプリケーション間でログインステータス情報を共有する方法を示すもう1つのフローチャートである。 いくつかの実施形態による図3に示すプロキシサーバの構成要素を示すブロック図である。 いくつかの実施形態による図5に示すプロキシサーバのログインリクエスト分析モジュールの構成要素を示すブロック図である。 いくつかの実施形態による図5に示すプロキシサーバのログインステータス共有モジュールの構成要素を示すブロック図である。 いくつかの実施形態による図3に示すプロキシサーバの構成要素を示すもう1つのブロック図である。 いくつかの実施形態によるアプリケーションプラットフォームサーバおよびアプリケーションサーバ間でログインステータスを共有する機構を実装するためのクライアント−サーバネットワーク環境を示すもう1つのブロック図である。 いくつかの実施形態による図3に示すプロキシサーバの構成要素を示すさらにもう1つのブロック図である。
同一の参照番号は、いくつかの図にわたり対応する部分に言及する。
参照は、実施形態に対して詳細に行われ、その例は、添付図で示される。以下の詳細な説明では、多数の特定の詳細が説明され、本明細書に示される主題の完全な理解を提供する。しかし当業者にとって、これら特定の詳細なしで主題を実施しうることが明らかである。他の例では、周知の方法、手順、構成要素、および回路は、実施形態の局面を不必要に曖昧にしないため、詳細に説明されない。
上記の通り、異なるドメイン内で2つのサーバでそのログインステータス情報を安全に共有するためにクライアント側で動作する2つのプログラムに関する課題がある。説明の目的で、本願は一例として、QQのオンラインゲームアプリケーションプラットフォームおよびオンラインゲームアプリケーションプラットフォームによって管理される特定のゲームアプリケーションを使用する。この場合、オンラインゲームアプリケーションプラットフォームおよび特定のゲームアプリケーションの両方は、デスクトップ、ノートPC、タブレット、またはスマートフォン等のクライアントデバイス上にインストールされ、クライアントデバイスおよびリモートプロキシサーバ間にウェブソケット接続がある。オンラインゲームアプリケーションプラットフォームおよび特定のゲームアプリケーションの両方は、ウェブソケット接続を介してプロキシサーバとデータを交換する。プロキシサーバは、それがクライアントデバイスから受信するデータがオンラインゲームアプリケーションプラットフォームまたは特定のゲームアプリケーションからであるかを決定する。サーバ側で、プロキシサーバは、異なるドメイン内でサーバとの接続を維持する。データがオンラインゲームアプリケーションプラットフォームからである場合、プロキシサーバはその時、1つのドメイン内で対応するオンラインゲームアプリケーションプラットフォームサーバへデータを転送し、データが特定のゲームアプリケーションからである場合、プロキシサーバはその時、もう1つのドメイン内で対応するゲームアプリケーションサーバへデータを転送する。プロキシサーバはまた、各サーバでオンラインゲームアプリケーションプラットフォームおよび特定のゲームアプリケーションのログインステータス情報を追跡し、それにより2つのクライアント側のプログラムは、互いにその各々のログインステータス情報を共有できる。そうすることによって、1つのドメイン内でオンラインゲームアプリケーションプラットフォームを介して自分のアカウントへログインしたユーザは、特定のゲームアプリケーションサーバが対応するオンラインゲームアプリケーションプラットフォームサーバでユーザのログインステータスを有する限り、サーバへ自分のログイン情報を提供する必要なく、特定のゲームアプリケーションサーバへアクセスできる。
以下は、本発明によって使用される技術のリストである。
WebSocket
ウェブソケットは、単一のTCP接続を介して全二重通信チャネルを提供するウェブ技術である。ウェブソケットは、ウェブブラウザおよびウェブサーバで実装されるように設計されるが、それは、任意のクライアントまたはサーバアプリケーションによって使用されうる。ウェブソケットプロトコルは、独立のTCPベースプロトコルである。HTTPとのその唯一の関係は、そのハンドシェイクがUpgradeリクエストとしてHTTPサーバによって解釈されることである。ウェブソケットプロトコルは、ブラウザおよびウェブサイト間のさらなる相互作用を可能にし、生コンテンツおよびリアルタイムゲームの作成を容易にする。これは、クライアントによって求められることなくブラウザへコンテンツを送信するためにサーバへ標準的方法を提供することによって可能になり、接続をオープンに維持する一方で往復してメッセージを送ることができる。この方法では、2方向(双方向)の継続中の対話がブラウザおよびサーバ間で行われうる。
Ajax
アヤックスは、“asynchronous Java(登録商標)Script and XML”の頭字語であり、非同期ウェブアプリケーションを作成するためにクライアント側で使用される相互関係のあるウェブ開発技術のグループである。アヤックスを用いて、ウェブアプリケーションは、既存ページの表示および動作を妨げることなく(バックグラウンドで)非同期的にサーバに対してデータを送信し、データを検索することができる。データは、XMLHttpRequestオブジェクトを用いて検索されうる。アヤックスは、単一の技術ではなく、技術のグループであることに留意すべきである。HTMLおよびCSSは、情報をマークアップおよびスタイルするために組み合わせて使用されうる。DOMは、提示される情報を動的に表示するために、およびユーザがそれと相互作用できるようにするためにJava(登録商標)Scriptでアクセスされる。Java(登録商標)ScriptおよびXMLHttpRequestオブジェクトは、全ページリロードを回避するためにブラウザおよびサーバ間で非同期的にデータを交換するための方法を提供する。
JCE
JCEは、“Java(登録商標) Cryptography Extension”を表し、暗号化、キー生成およびキーの共有、およびメッセージ認証コード(MAC)アルゴリズムに関するフレームワークおよび実装を提供する。JCEは、Java(登録商標)プラットフォームを補足し、メッセージダイジェストおよびデジタル署名のインタフェースおよび実装を予め含む。
LocalStorage
ローカルストレージは、インターネット上のウェブデータストレージプロトコルの一部である。ローカルストレージに位置するデータは、オリジン毎(同一生成源ポリシーで定められるプロトコル、ホスト名、およびポート番号の組み合わせ)であり、データは、データを予め格納した同一生成源からのウェブページから読み込まれる全スクリプトに対し利用可能であり、それは、ウェブブラウザが閉じられた後で続く。
JSON
JSONは、“Java(登録商標)Script Object Notation”の頭字語であり、人間に解読可能なデータ交換のために設計された、ライトウェイトでテキストベースのオープンスタンダードである。それは、オブジェクトと呼ばれる単一のデータ構造および連想配列を表すためのJava(登録商標)Scriptスクリプト言語から導かれる。そのJava(登録商標)Scriptとの関係によらず、それは、言語非依存であって、パーサが多数の言語に利用可能である。
LoginKey
ログインキーは、クライアントデバイスからのログインリクエストがバックエンドサーバで成功した後、クライアントデバイスへバックエンドサーバによって公開される暗号化キーである。ログインキーは、寿命の制限期間を有し、その間、クライアントデバイスは、さらにログイン情報を提供する必要なく、バックエンドサーバにアクセスできる。
図1は、いくつかの実施形態に従うアプリケーションプラットフォームおよびアプリケーション間でログインステータス情報を共有する方法を示すフローチャートである。この例では、アプリケーションプラットフォームおよびアプリケーションの両方が、ワイヤードまたはワイヤレスでプロキシサーバへ接続されるクライアントデバイス上にインストールされると仮定する。アプリケーションプラットフォームは、多数のアプリケーションを管理する特定のアプリケーションである。しかし、(アプリケーションプラットフォームを含む)異なるアプリケーションは、異なるネットワークドメイン内で異なるバックエンドサーバに対応しうる。例えば、アプリケーションプラットフォームは、1つのドメイン内でアプリケーションプラットフォームサーバに対応することができ、クライアントデバイスでアプリケーションプラットフォームによって管理されるアプリケーションは、異なるネットワークドメイン内でアプリケーションサーバに対応することができる。通常、ユーザは、2つのサーバによって提供されるサービスにアクセスするために、別々に2つの異なるサーバで自分のアカウントにログインする必要がある。しかし、以下に説明する通り、方法は、他のサーバ(例えば、アプリケーションプラットフォームサーバ)によって提供されるログインステータス情報(例えば、ログインキー)を使用する1つのサーバ(例えば、アプリケーションサーバ)にユーザがアクセスできるようにするプロキシサーバで実装される。
ステップS101で、プロキシサーバは、クライアントデバイスからログインリクエストを受信する。上記の通り、クライアントデバイスおよびプロキシサーバ間にウェブソケット接続がある。ユーザは先ず、ユーザが以前にどのサーバにもログインしてなかった場合、ウェブソケット接続を使用してプロキシサーバへアプリケーションプラットフォームおよびアプリケーションの1つからログインリクエストを提出する。いくつかの実施形態では、ログインリクエストは、1つまたは複数の関連データパケットを含み、データパケットの少なくとも1つは、ログインリクエストがアプリケーションプラットフォームまたはアプリケーションによって開始されるかを決定するために、プロキシサーバのためのログインリクエストタイプビットを含む。
ステップS102で、プロキシサーバは、ログインリクエストのソースを決定するためにログインリクエストを分析する。例えば、プロキシサーバは、ログインリクエストを伝えるデータパケットからログインリクエストタイプビットを要求(exact)することができる。以下に説明の通り、ログインリクエストタイプビットに格納されたデータは、ログインリクエストがアプリケーションプラットフォームまたはアプリケーションからであるかを示す。そのような情報に基づき、プロキシサーバは、それがアプリケーションプラットフォームサーバまたはアプリケーションサーバへログインリクエストを通信すべきかを決定する。
ステップS103で、ログインリクエストのソースに基づき、プロキシサーバは、アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するために、アプリケーションプラットフォームサーバまたはアプリケーションサーバとの接続を確立する。例えば、ログインリクエストがアプリケーションプラットフォームからである時、プロキシサーバは、アプリケーションプラットフォームサーバとの接続を確立し、ログインリクエストがアプリケーションからである時、プロキシサーバは、アプリケーションサーバとの接続を確立する。そうすることで、プロキシサーバは、その各サーバとの通信のために、アプリケーションプラットフォームおよびアプリケーションによって共有される“コンジット(conduit)”になる。アプリケーションプラットフォームまたはアプリケーションが対応するサーバにログインした後、プロキシサーバは、サーバから対応するログインキーを受信し、アプリケーションプラットフォームまたはアプリケーションのログインステータスを記録する。また、プロキシサーバはさらに、2つの異なるネットワークドメイン内にありうる2つのサーバが互いにログインステータス情報を共有できるように、他のサーバへログインキーを転送する。
図2Aは、いくつかの実施形態によるログインリクエストのソースを決定する方法を示すフローチャートである。上記の通り、プロキシサーバは、どのプログラム、アプリケーションプラットフォームまたはアプリケーションがログインリクエストを開始することに関与するかを決定するために、ログインリクエストを分析する必要がある。そうするために、プロキシサーバは先ず、ログインリクエストを伝えるデータパケットを特定する。ステップS1021で、プロキシサーバは、ログインリクエストを伝えるデータパケットからヘッダを抽出する。以下に説明の通り、アプリケーションプラットフォームに関連付けられるデータパケットおよびアプリケーションに関連付けられるデータパケット間でフォーマットの違いがある。例えば、アプリケーションプラットフォームに関連付けられるデータパケットは通常、テキストフレームのフォーマットであり、アプリケーションに関連付けられるデータパケットは通常、バイナリフレームのフォーマットである。ステップS1022で、プロキシサーバは、データパケットのヘッダでログインリクエストタイプビットを特定する。このステップのさらなる詳細は、以下で提供される。ステップS1023で、プロキシサーバは、ログインリクエストがログインリクエストタイプビットに従いアプリケーションプラットフォームまたはアプリケーションに関連付けられるかを決定する。
図2Bは、いくつかの実施形態による、アプリケーションプラットフォームサーバまたはアプリケーションサーバとの接続を確立し、ログインリクエストのソースに基づきサーバでログイン動作を完了する方法を示すフローチャートである。ステップS1031で、プロキシサーバは、ログインリクエストのソースを決定する。ログインリクエストがアプリケーションプラットフォームからである場合、プロキシサーバはその時、ステップS1032へ移動し、ログインリクエストがアプリケーションからである場合、プロキシサーバはその時、ステップS1036に対応する動作を実行する。ステップS1032で、プロキシサーバは、例えばHTTPプロキシサービスを使用してアプリケーションプラットフォームサーバとの短期的な接続を確立する。ステップS1033で、プロキシサーバは、接続を介してアプリケーションプラットフォームサーバへログインリクエストを送信する。ステップS1034で、プロキシサーバは、ログインリクエストが成功した後、アプリケーションプラットフォームサーバからログインキーを受信する。ステップS1035で、プロキシサーバは、ログインリクエストを提出するクライアントデバイスへログインキーを戻す。いくつかの実施形態では、ログインキーは、クライアントデバイス(例えば、ローカルストレージ)でキャッシュされ、アプリケーションへ提供される。ユーザがアプリケーションを起動する時、アプリケーションは、クライアントデバイスのメモリからログインキーを検索し、まだ有効か否かをチェックする。ログインキーがまだ有効な(例えば、寿命期間がまだ満了してない)場合、アプリケーションは、ログイン情報(例えば、ユーザ名およびパスワード)を提供するようにユーザを促さない。代わりに、アプリケーションは、直接プロキシサーバへログインキーを含むアクセスリクエストを送信する。アクセスリクエストの受信時、プロキシサーバはまた、アクセスリクエストが有効なログインキーを含むかどうかをチェックし、そうである場合、対応するアプリケーションサーバへアクセスリクエストを転送する。最後に、アプリケーションサーバは、アクセスリクエストの受信時、そのログインキーと、それが以前にプロキシサーバから受信したログインキーとを比較することによって認証動作を実行する。一致が確認された場合、アプリケーションサーバは、プロキシサーバまたはクライアントデバイスからアクセスリクエストの有効性のさらなる証明をリクエストすることなく、アクセスリクエストの命令に従い動作を実行する。
同様に、ステップS1036で、プロキシサーバは、例えばウェブソケットプロキシサービスを使用してアプリケーションプラットフォームサーバとの長期的な接続を確立する。ステップS1037で、プロキシサーバは、接続を介してアプリケーションサーバへログインリクエストを送信する。ステップS1038で、プロキシサーバは、ログインリクエストが成功した後、アプリケーションサーバからログインキーを受信する。ステップS1039で、プロキシサーバは、ログインリクエストを提出するクライアントデバイスへログインキーを戻す。いくつかの実施形態では、ログインキーは、クライアントデバイス(例えば、ローカルストレージ)でキャッシュされ、アプリケーションプラットフォームへ提供される。ユーザがアプリケーションプラットフォームを起動する時、アプリケーションプラットフォームは、クライアントデバイスのメモリからログインキーを検索し、それがまだ有効か否かをチェックする。ログインキーがまだ有効(例えば、寿命期間がまだ満了してない)場合、アプリケーションプラットフォームは、ログイン情報(例えば、ユーザ名およびパスワード)を提供するようにユーザを促さない。代わりに、アプリケーションプラットフォームは、直接プロキシサーバへログインキーを含むアクセスリクエストを送信する。アクセスリクエストの受信時、プロキシサーバはまた、アクセスリクエストが有効なログインキーを含むかどうかをチェックし、そうである場合、対応するアプリケーションプラットフォームサーバへアクセスリクエストを転送する。最後に、アプリケーションプラットフォームサーバは、アクセスリクエストの受信時、そのログインキーと、それが以前にプロキシサーバから受信したログインキーとを比較することによって認証動作を実行する。一致が確認された場合、アプリケーションプラットフォームサーバは、プロキシサーバまたはクライアントデバイスからアクセスリクエストの有効性のさらなる証明をリクエストすることなく、アクセスリクエストの命令に従い動作を実行する。
いくつかの実施形態では、アプリケーションプラットフォームおよびアプリケーション間の関係は、非対称である。即ち、アプリケーションプラットフォームサーバによって提供されるログインキーは、アプリケーションサーバへアクセスするために使用されうるが、アプリケーションサーバによって提供されるログインキーは、アプリケーションプラットフォームサーバへアクセスするために使用されないか、またはアプリケーションプラットフォームサーバの情報へのアクセス制限を提供しうる。例えば、アプリケーションサーバでユーザアカウント情報と異なることがある、アプリケーションプラットフォームサーバで登録されたユーザ名およびパスワードをユーザが提供しない限り、ユーザに関連付けられてアプリケーションプラットフォームサーバに格納された金融情報(例えば、銀行アカウントまたはクレジットカード番号)へユーザがアクセスすることを許可しないことがある。
図3は、いくつかの実施形態によるアプリケーションプラットフォームサーバおよびアプリケーションサーバ間でログインステータスを共有する機構を実装するためのクライアント−サーバネットワーク環境を示すブロック図である。この例では、クライアントデバイス10は、オンラインゲームプラットフォーム13および特定のオンラインゲーム15等の多数のプログラムを有する。特に特定のオンラインゲーム15は、オンラインゲームプラットフォーム13によって管理される多数のゲームの1つである。オンラインゲームプラットフォーム13は、(ネットワークドメインBでの)アプリケーションプラットフォームサーバ40に対応し、ゲーム15は、(ネットワークドメインAでの)アプリケーションサーバ30に対応する。オンラインゲームプラットフォーム13およびゲーム15にログインステータス情報を共有させるために、プロキシサーバ20は、クライアントデバイス10とサーバ30および40との間に位置付けられる。クライアントデバイス10およびプロキシサーバ20間にウェブソケット接続がある。(ログインリクエストを含む)アクセスリクエストの分析に基づき、プロキシサーバ20は、リクエストがオンラインゲームプラットフォーム13またはゲーム15からであるかを決定し、アプリケーションサーバ30またはアプリケーションプラットフォームサーバ40との接続のために対応する動作モードを呼出す。
例えば、アクセスリクエストがオンラインゲームプラットフォーム13からのログインリクエストである場合、プロキシサーバ20は、HTTPプロキシサービス25を使用してアプリケーションプラットフォームサーバ40との短期的な接続を確立し、それは、AJAX技術を使用して実現されてもよく、アクセスリクエストがゲーム15からのログインリクエストである場合、プロキシサーバ20は、ウェブソケットプロキシサービス23を使用してアプリケーションサーバ30との長期的な接続を確立する。いくつかの実施形態では、オンラインゲームプラットフォーム13に関連付けられるウェブページは、埋め込まれた<アイフレーム>オブジェクトを含む<Window>オブジェクトを有する。両方のオブジェクトは、プロキシサーバ20とのウェブソケット接続を共有する。ログインリクエストがオンラインゲームプラットフォーム13からである場合、そうであることを示すデータパケットに対応するビットがあり、プロキシサーバ20は次いで、アプリケーションプラットフォームサーバ40と通信する。しかし、ユーザが同じウェブページを使用してアプリケーションサーバ30へアクセスする時、アクセスリクエストは、そのビットを異なるビットに置換する。相応して、プロキシサーバ20は、対応する接続を介してアプリケーションサーバ30と通信する。
上記の通り、アクセスリクエストがオンラインゲームプラットフォーム13またはゲーム15からであるかに依存して、データパケットは、各々表1および2で以下に示す通り、テキストフレームまたはバイナリフレームのフォーマットでもよい。
Figure 0005867841
Figure 0005867841
いくつかの実施形態では、テキストフレームは、1バイト0x00で開始し、1バイト0xFFで終了する。テキストフレームのメッセージボディは、UTF8フォーマットへ変換され、ラベル“j”は、メッセージがJSON標準を使用して符号化されることをメッセージが示すことを示す。これに対し、バイナリフレームは、1バイト0x80で開始し、ヌルで終了する。ラベル“b”は、メッセージがベース64標準を使用して符号化されることをメッセージが示すことを示す。
ログインリクエストの受信時、プロキシサーバ20は、オンラインゲームプラットフォーム13からのリクエストを示す“0x00”若しくは“j”、およびゲーム15からのリクエストを示す“0x80”若しくは“b”で、リクエストがオンラインゲームプラットフォーム13またはゲーム15からであるかを判断する。例えば、プロキシサーバは、データパケットを分析し、ログインリクエストがオンラインゲームプラットフォーム13からであることを示す、第2のバイトのラベルが“j”であることを決定する。次にプロキシサーバ20は、HTTPプロキシサービス25へリクエストを転送する。そうでなければ、または第2のバイトのラベルが“b”である場合、プロキシサーバ20は、ウェブソケットプロキシサービス23へリクエストを転送する。ログインリクエストのソースを決定した後、プロキシサーバ20は、対応するサーバとの接続を確立し、サーバへ後続のデータパケットを伝える。この場合、プロキシサーバ20は、データパケットの任意のさらなる分析を実行する必要はない。それがサーバから(ログインリクエストに対する応答でもよい)データパケットを受信する時、プロキシサーバ20は、データパケットが対応するラベル“j”または“b”を含むかどうかをチェックし、そうでない場合、データパケットへラベルを追加し、それによりクライアントデバイスは、応答がアプリケーションプラットフォームサーバ40(ラベル“j”)またはアプリケーションサーバ30(ラベル“b”)からであるかを決定しうる。
オンラインゲームプラットフォーム13がアプリケーションプラットフォームサーバ40へログインした後、プロキシサーバ20はまた、ローカルストレージを使用してサーバ40によって戻されるログインキーを格納する。次いで、ユーザが同じクライアントデバイス10からアプリケーションサーバ30へアクセスしようとする時、プロキシサーバ20は、アプリケーションサーバ30に関連付けられたURLへログインキーを追加し、それによりユーザは、アプリケーションプラットフォームサーバ40によって提供されるログインキーを使用してアプリケーションサーバ30へアクセスできる。いくつかの実施形態では、バックエンドサーバ30または40がログインリクエストを認証する時、それは、所定の状況(例えば、頻繁なログインリクエスト)が引起される場合、クライアントデバイス10へ証明コードを送出することによって、証明プロセスを呼出してもよい。ログインリクエストは、証明コードがテストにパスした後のみ認証される。ログインリクエストが認証された後、クライアントデバイス10は、対応するバックエンドサーバに対しさらにデータを通信することができる。
図4は、いくつかの実施形態によるアプリケーションプラットフォームおよびアプリケーション間でログインステータス情報を共有する方法を示すもう1つのフローチャートである。ステップS101の前、プロキシサーバは、ステップS100でクライアントデバイスとのウェブソケット接続を確立する。ステップS103の後、プロキシサーバは、ステップS104で各接続を介してクライアントデバイスとアプリケーションプラットフォームサーバまたはアプリケーションサーバとの間のデータ交換を容易にする。例えば、プロキシサーバ20は、クライアントデバイス10からデータ交換に対応するデータパケットを分析し、それらが上記ラベルに基づきゲームプラットフォーム13またはゲーム15からであるかを決定する。
図5は、いくつかの実施形態による図3に示すプロキシサーバ20の構成要素を示すブロック図である。この例では、プロキシサーバ20は、ログインリクエスト受信モジュール501と、ログインリクエスト分析モジュール502と、ログインステータス共有モジュール503とを含む。
ログインリクエスト受信モジュール501は、クライアントデバイスからログインリクエストを受信するように構成される。上記の通り、クライアントデバイスおよびプロキシサーバ間にウェブソケット接続がある。ユーザが以前にどのサーバへもログインしてない場合、ユーザは先ず、ウェブソケット接続を用いてプロキシサーバへアプリケーションプラットフォームおよびアプリケーションの1つからログインリクエストを提出する。いくつかの実施形態では、ログインリクエストは、1つまたは複数の関連データパケットを含み、データパケットの少なくとも1つは、プロキシサーバに関するログインリクエストタイプビットを含んで、ログインリクエストがアプリケーションプラットフォームまたはアプリケーションによって開始されるかを決定する。
ログインリクエスト分析モジュール502は、ログインリクエストを分析してログインリクエストのソースを決定するように構成される。例えば、ログインリクエスト分析モジュール502は、ログインリクエストを伝えるデータパケットからログインリクエストタイプビットを要求する。以下に説明の通り、ログインリクエストタイプビットに格納されるデータは、ログインリクエストがアプリケーションプラットフォームまたはアプリケーションからであるかを示す。そのような情報に基づき、ログインリクエスト分析モジュール502は、それがアプリケーションプラットフォームサーバまたはアプリケーションサーバへログインリクエストを通信すべきかを決定する。
ログインステータス共有モジュール503は、ログインリクエストのソースに基づきアプリケーションプラットフォームサーバまたはアプリケーションサーバとの接続を確立して、アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するように構成される。例えば、ログインリクエストがアプリケーションプラットフォームからである時、ログインステータス共有モジュール503は、アプリケーションプラットフォームサーバとの接続を確立し、ログインリクエストがアプリケーションからである時、ログインステータス共有モジュール503は、アプリケーションサーバとの接続を確立する。そうすることによって、プロキシサーバは、その各サーバと通信するためにアプリケーションプラットフォームおよびアプリケーションによって共有される“コンジット”になる。アプリケーションプラットフォームまたはアプリケーションが対応するサーバへログインした後、ログインステータス共有モジュール503は、サーバから対応するログインキーを受信し、アプリケーションプラットフォームまたはアプリケーションのログインステータスを記録する。また、ログインステータス共有モジュール503はさらに、他のサーバへログインキーを転送し、それにより2つの異なるネットワークドメイン内にありうる2つのサーバが互いにログインステータス情報を共有しうる。
図6は、いくつかの実施形態による図5に示すプロキシサーバのログインリクエスト分析モジュール502の構成要素を示すブロック図である。この例では、ログインリクエスト分析モジュール502は、データパケット抽出ユニット5021、ログインリクエストタイプ特定ユニット5022、およびログインリクエストタイプ決定ユニット5023を含む。データパケット抽出ユニット5021は、ログインリクエストを伝えるデータパケットからヘッダを抽出するように構成される。ログインリクエストタイプ特定ユニット5022は、データパケットのヘッダでログインリクエストタイプビットを特定するように構成される。ログインリクエストタイプ決定ユニット5023は、ログインリクエストがログインリクエストタイプビットに従ってアプリケーションプラットフォームまたはアプリケーションに関連付けられるかを決定するように構成される。
図7は、いくつかの実施形態による図5に示すプロキシサーバのログインステータス共有モジュール503の構成要素を示すブロック図である。この例では、ログインステータス共有モジュール503は、接続確立ユニット5031、ログインリクエスト提出ユニット5032、ログイン応答受信ユニット5033、およびログインステータス共有ユニット5034を含む。接続確立ユニット5031は、例えばHTTPプロキシサービスを使用してアプリケーションプラットフォームサーバとの短期的な接続を確立するか、または例えばウェブソケットプロキシサービスを使用してアプリケーションプラットフォームサーバとの長期的な接続を確立するように構成される。ログインリクエスト提出ユニット5032は、対応する接続を介してアプリケーションプラットフォームサーバへログインリクエストを送信するか、または対応する接続を介してアプリケーションサーバへログインリクエストを送信するように構成される。ログイン応答受信ユニット5033は、ログインリクエストが成功した後、アプリケーションプラットフォームサーバまたはアプリケーションサーバからログインキーを受信するように構成される。ログインステータス共有ユニット5034は、ログインリクエストを提出するクライアントデバイスへログインキーを戻すように構成される。
図8は、いくつかの実施形態による図3に示すプロキシサーバの構成要素を示すもう1つのブロック図である。図5に関連して上記説明したモジュールに加えて、プロキシサーバはまた、クライアントデバイスとのウェブソケット接続を確立するための接続確立モジュール500と、各接続を介してクライアントデバイスとアプリケーションプラットフォームサーバまたはアプリケーションサーバとの間のデータ交換を容易にするための通信プロキシモジュール504とを含む。
図9は、いくつかの実施形態によるアプリケーションプラットフォームサーバおよびアプリケーションサーバ間でログインステータスを共有する機構を実装するためのクライアント−サーバネットワーク環境を示すもう1つのブロック図である。クライアントデバイス10は、プロキシサーバ20へログインリクエストを送信する。ログインリクエストの受信時、プロキシサーバは、リクエストがアプリケーション15またはアプリケーションプラットフォーム13からであるかを決定し、次いで相応して対応するサーバ(アプリケーションサーバ30またはアプリケーションプラットフォームサーバ40)との接続を確立する。リクエストがアプリケーションプラットフォームサーバ40へ向けられる場合、アプリケーションプラットフォームサーバ40は、アプリケーションプラットフォームサーバ40へのユーザのアクセスを認証するためにログインリクエストを処理し、リクエストがアプリケーションサーバ30へ向けられる場合、アプリケーションサーバ30は、アプリケーションサーバ30へのユーザのアクセスを認証するためにログインリクエストを処理する。アプリケーションプラットフォームサーバ30またはアプリケーションサーバ40は次いで、プロキシサーバ20へログインキーを戻す。他方で、プロキシサーバ20は、クライアントデバイス10へログインキーを戻し、それにより将来のアクセスリクエストは、さらにユーザアカウント情報を提供する必要なく、ログインキーを使用しうる。これは、サーバに格納された秘密情報のセキュリティをかなり高めうる。他方で、プロキシサーバ20は、そのローカルストレージでログインキーを保存し、将来の認証目的のため他のサーバへログインキーを転送する。そうすることによって、さらにネットワーク帯域幅は、従来のドメイン間訪問によって要求される認証を実行することから免れる。
図10は、いくつかの実施形態による図3に示すプロキシサーバの構成要素を示すさらにもう1つのブロック図である。コンピューティングデバイス600は通常、1つまたは複数の処理ユニット(CPU)602、1つまたは複数のネットワークまたは他の通信インタフェース604、メモリ610、およびこれら構成要素を相互接続するために1つまたは複数の通信バス609を含む。通信バス609は、システム構成要素間の通信を相互接続および制御する(時々チップセットと呼ばれる)回路を含みうる。コンピューティングデバイス600は、ユーザ入力デバイス605、例えばディスプレイ606およびキーボード608を含みうる。メモリ610は、高速ランダムアクセスメモリでもよく、また1つまたは複数の磁気ディスク格納デバイス等の不揮発性メモリを含みうる。メモリ610は、CPU602から遠隔に位置する大容量ストレージを含みうる。いくつかの実施形態では、メモリ602、または代わりにメモリ602内の(複数の)不揮発性メモリデバイスは、非一時的コンピュータ読取可能な格納媒体を含む。メモリ602またはメモリ602のコンピュータ読取可能な格納媒体は、以下の要素、またはこれら要素のサブセットを格納し、また追加の要素を含みうる。
・各種基本システムサービスを扱うための、およびハードウェア依存タスクを実行するための手順を含むオペレーティングシステム612。
・インターネット、他の広域ネットワーク、ローカルエリアネットワーク、都市ネットワーク等のような1つまたは複数の通信ネットワーク(ワイヤードまたはワイヤレス)を介してリモートサーバ(例えば、オンラインゲームサーバ)または他のコンピュータへコンピューティングデバイス600を接続するために使用されるネットワーク接続モジュール614。
・ユーザインタフェース605を介してユーザ入力を受信するように構成されるユーザインタフェースモジュール616。
・クライアントデバイスでの異なるプログラムがそのログインステータス情報を共有できるようにするためのログインステータス共有アプリケーション618であって、いくつかの実施形態では、ログインステータス共有アプリケーション618はさらに以下を含む。
○図1および5に関連して上記説明したログインリクエスト受信モジュール501。
○図1および5に関連して上記説明したログインリクエスト分析モジュール502であって、図6に関連して上記説明した通り、ログインリクエスト分析モジュール502はまた、パケット抽出ユニット5021、情報特定ユニット5022、およびログインリクエストソース決定ユニット5023を含む。
○図1および5に関連して上記説明したログインステータス共有モジュール503であって、図7に関連して上記説明した通り、ログインステータス共有モジュール503はまた、提出ユニット5032、応答ユニット5033、および情報共有ユニット5034を含む。
上記方法およびシステムは、音声ファイルからイベントトリガ型(event−triggering)の時間および音声ファイルの再生時間を検索し、イベントトリガ型の時間および再生時間を比較することによってグラフィカルユーザインタフェース上のイベント位置の表示を制御する点に留意すべきである。再生時間は、異なるフレームに関連付けられた時間の蓄積の結果ではないが音声ファイルの現在の再生位置に対応するので、従来の手法に関連付けられた再生時間とイベントトリガ型の時間との間の時間間隔は、効率的に避けられうる。
特定の実施形態が上記説明されたが、これら特定の実施形態へ本発明を制限することを意図しないことが分かる。むしろ、本発明は、添付の特許請求の範囲および精神内にある代替、修正、および均等物を含む。多数の特定の詳細は、ここに提示される主題の完全な理解を提供するために説明される。しかし、当業者であれば、主題がこれら特定の詳細なく実施しうることが分かるだろう。他の例では、周知の方法、手順、構成要素、および回路は、実施形態の局面を不必要に曖昧にしないように詳細に説明されない。
本発明の説明で使用される用語は、特定の実施形態を説明する目的のためだけであり、本発明の制限を意図しない。本発明の説明および添付の特許請求の範囲で使用される通り、単一の形式“a”,“an”および“the”は、特に明確な指示がない限り、複数の形式も含むことを意図する。また、ここで使用される用語“and/or”は、1つまたは複数の関連付けられたリスト項目の任意のまたは全ての可能な組み合わせに言及し、包含することが分かる。また、用語“includes”,“including”,“comprises”および“comprising”は、本明細書で使用される時、述べた特徴、動作、要素、および/または構成要素の存在を特定するが、1つまたは複数の他の特徴、動作、要素、構成要素、および/またはそれらのグループを除外しないことが分かる。
ここで使用される通り、用語“場合”は、“時(when)”,“時(upon)”,または“決定に応じて”または“決定に従って”または“検出に応じて”を意味すると解釈され、述べた前提条件が内容に応じて真である。同様に、用語“[述べた前提条件が真である]と決定された場合”または“[述べた前提条件が真である]場合”または“[述べた前提条件が真である]時”は、“決定時”または“決定に応じて”または“決定に従って”または“検出時”または“検出に応じて”を意味すると解釈され、述べた前提条件が内容に応じて真である。
いくつかの各種図が特定の順序で複数の論理的段階を示すが、順序的に依存しない段階が並び替えられてよく、他の段階が結合または除外されてもよい。いくつかの並び替えまたは他のグループ化が特に言及される一方で、その他に関しては当業者にとって明らかなので、代替の排他的リストを提供しない。また、段階は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実装されうることが認められる。
上記説明は、説明目的のために、特定の実施形態を参照して説明された。しかし、上記例示的な検討は、本発明を開示された正確な形式へ排他的または制限することを意図しない。多数の修正および変形は、上記教示を鑑みて可能である。実施形態は、本発明の原則およびその実用的用途を最良に説明するために選択および記述され、それにより当業者が本発明を最良に利用できるようにし、各種修正を伴う各種実施形態は、考慮される特定の使用に適応される。
10 クライアントデバイス
20 プロキシサーバ
30 アプリケーションサーバ
40 アプリケーションプラットフォームサーバ

Claims (20)

  1. 1つまたは複数のプロセッサと前記1つまたは複数のプロセッサによって実行されるプログラムを格納するメモリとを有するコンピュータで、
    クライアントデバイスからログインリクエストを受信するステップと、
    前記ログインリクエストが前記クライアントデバイスでのアプリケーションプラットフォームまたは前記クライアントデバイスでのアプリケーションに関連付けられるかを決定するために前記ログインリクエストを分析するステップであって、前記アプリケーションは、前記アプリケーションプラットフォームによって管理されるステップと
    前記ログインリクエストが前記アプリケーションプラットフォームに関連付けられる場合、
    アプリケーションプラットフォームサーバとの第1の接続を確立するステップと、
    前記アプリケーションプラットフォームサーバへ前記ログインリクエストを転送するステップと、
    前記アプリケーションプラットフォームサーバからログインキーを受信するステップと、
    前記クライアントデバイスへ前記ログインキーを戻すステップであって、前記ログインキーは、前記アプリケーションプラットフォームに関連付けられるステップと
    前記ログインリクエストが前記アプリケーションに関連付けられる場合、
    アプリケーションサーバとの第2の接続を確立するステップであって、前記アプリケーションサーバは、前記アプリケーションプラットフォームサーバとは異なるステップと、
    前記アプリケーションサーバへ前記ログインリクエストを転送するステップと、
    前記アプリケーションサーバからログインキーを受信するステップと、
    前記クライアントデバイスへ前記ログインキーを戻すステップであって、前記ログインキーは、前記アプリケーションに関連付けられるステップと
    を含むことを特徴とするコンピュータ実装された方法。
  2. 前記ログインリクエストを分析するステップは、
    前記ログインリクエストを伝えるデータパケットからヘッダを抽出するステップと、
    前記ヘッダのログインリクエストタイプビットを特定するステップと、
    前記ログインリクエストが前記ログインリクエストタイプビットに従って前記アプリケーションプラットフォームまたは前記アプリケーションに関連付けられるかを決定するステップと
    をさらに含むことを特徴とする請求項1に記載のコンピュータ実装された方法。
  3. 前記アプリケーションプラットフォームに関連付けられる前記ログインリクエストを伝える前記データパケットは、1つまたは複数のテキストフレームの形式であり、前記アプリケーションに関連付けられる前記ログインリクエストを伝える前記データパケットは、1つまたは複数のバイナリフレームの形式であることを特徴とする請求項2に記載のコンピュータ実装された方法。
  4. 前記ログインリクエストが前記アプリケーションプラットフォームに関連付けられる場合、
    前記アプリケーションサーバへ前記ログインキーを転送するステップであって、前記ログインキーは、前記アプリケーションに関連付けられるアクセスリクエストを認証するために使用されるステップと、
    前記ログインリクエストが前記アプリケーションに関連付けられる場合、
    前記アプリケーションプラットフォームサーバへ前記ログインキーを転送するステップであって、前記ログインキーは、前記アプリケーションプラットフォームに関連付けられるアクセスリクエストを認証するために使用されるステップと
    をさらに含むことを特徴とする請求項1に記載のコンピュータ実装された方法。
  5. 前記アプリケーションプラットフォームサーバおよび前記アプリケーションサーバの1つから前記ログインリクエストへの応答を受信するステップと、
    前記応答へログインリクエストタイプビットを追加することによって前記応答を更新するステップであって、前記ログインリクエストタイプビットは、前記応答が前記アプリケーションプラットフォームサーバまたは前記アプリケーションサーバからであるかを示すステップと、
    前記クライアントデバイスへ前記更新された応答を転送するステップであって、前記ログインリクエストタイプビットは、前記応答が前記アプリケーションプラットフォームまたは前記アプリケーションによって処理されるべきかを示すステップと
    をさらに含むことを特徴とする請求項1に記載のコンピュータ実装された方法。
  6. 前記ログインリクエストは、ウェブソケットプロトコルベースの接続を介して前記クライアントデバイスから前記コンピュータへ送信されることを特徴とする請求項1に記載のコンピュータ実装された方法。
  7. 前記アプリケーションプラットフォームサーバとの前記第1の接続は、短期的な接続であり、前記アプリケーションサーバとの前記第2の接続は、長期的な接続であることを特徴とする請求項1に記載のコンピュータ実装された方法。
  8. 前記第1の接続は、AJAXプロトコルに従って実装され、前記第2の接続は、ウェブソケットプロトコルに従って実装されることを特徴とする請求項7に記載のコンピュータ実装された方法。
  9. 1つまたは複数のプロセッサと、
    メモリと、
    前記メモリに格納され、前記1つまたは複数のプロセッサによって実行するように構成される1つまたは複数のプログラムであって、
    クライアントデバイスからログインリクエストを受信するステップと、
    前記ログインリクエストが前記クライアントデバイスでのアプリケーションプラットフォームまたは前記クライアントデバイスでのアプリケーションに関連付けられるかを決定するために前記ログインリクエストを分析するステップであって、前記アプリケーションは、前記アプリケーションプラットフォームによって管理されるステップと
    前記ログインリクエストが前記アプリケーションプラットフォームに関連付けられる場合、
    アプリケーションプラットフォームサーバとの第1の接続を確立するステップと、
    前記アプリケーションプラットフォームサーバへ前記ログインリクエストを転送するステップと、
    前記アプリケーションプラットフォームサーバからログインキーを受信するステップと、
    前記クライアントデバイスへ前記ログインキーを戻すステップであって、前記ログインキーは、前記アプリケーションプラットフォームに関連付けられるステップと、
    前記ログインリクエストが前記アプリケーションに関連付けられる場合、
    アプリケーションサーバとの第2の接続を確立するステップであって、前記アプリケーションサーバは、前記アプリケーションプラットフォームサーバとは異なるステップと、
    前記アプリケーションサーバへ前記ログインリクエストを転送するステップと、
    前記アプリケーションサーバからログインキーを受信するステップと、
    前記クライアントデバイスへ前記ログインキーを戻すステップであって、前記ログインキーは、前記アプリケーションに関連付けられるステップと
    のための命令を含む前記1つまたは複数のプログラムと
    を含むことを特徴とするコンピュータシステム。
  10. 前記ログインリクエストを分析するための前記命令は、
    前記ログインリクエストを伝えるデータパケットからヘッダを抽出するステップと、
    前記ヘッダのログインリクエストタイプビットを特定するステップと、
    前記ログインリクエストが前記ログインリクエストタイプビットに従って前記アプリケーションプラットフォームまたは前記アプリケーションに関連付けられるかを決定するステップと
    のための命令をさらに含むことを特徴とする請求項9に記載のコンピュータシステム。
  11. 前記1つまたは複数のプログラムは、
    前記ログインリクエストが前記アプリケーションプラットフォームに関連付けられる場合、
    前記アプリケーションサーバへ前記ログインキーを転送するステップであって、前記ログインキーは、前記アプリケーションに関連付けられるアクセスリクエストを認証するために使用されるステップと、
    前記ログインリクエストが前記アプリケーションに関連付けられる場合、
    前記アプリケーションプラットフォームサーバへ前記ログインキーを転送するステップであって、前記ログインキーは、前記アプリケーションプラットフォームに関連付けられるアクセスリクエストを認証するために使用されるステップと
    のための命令をさらに含むことを特徴とする請求項9に記載のコンピュータシステム。
  12. 前記1つまたは複数のプログラムは、
    前記アプリケーションプラットフォームサーバおよび前記アプリケーションサーバの1つから前記ログインリクエストへの応答を受信するステップと、
    前記応答へログインリクエストタイプビットを追加することによって、前記応答を更新するステップであって、前記ログインリクエストタイプビットは、前記応答が前記アプリケーションプラットフォームサーバまたは前記アプリケーションサーバからであるかを示すステップと、
    前記クライアントデバイスへ前記更新された応答を転送するステップであって、前記ログインリクエストタイプビットは、前記応答が前記アプリケーションプラットフォームまたは前記アプリケーションによって処理されるべきかを示すステップと
    のための命令をさらに含むことを特徴とする請求項9に記載のコンピュータシステム。
  13. 前記ログインリクエストは、ウェブソケットプロトコルベースの接続を介して前記クライアントデバイスから前記コンピュータシステムへ送信されることを特徴とする請求項9に記載のコンピュータシステム。
  14. 前記アプリケーションプラットフォームサーバとの前記第1の接続は、短期的な接続であり、前記アプリケーションサーバとの前記第2の接続は、長期的な接続であることを特徴とする請求項9に記載のコンピュータシステム。
  15. 前記第1の接続は、AJAXプロトコルに従って実装され、前記第2の接続は、ウェブソケットプロトコルに従って実装されることを特徴とする請求項14に記載のコンピュータシステム。
  16. コンピュータシステムの1つまたは複数のプロセッサによって実行するための1つまたは複数のプログラムを格納する非一時的コンピュータ読取可能な格納媒体であって、前記1つまたは複数のプログラムは、
    ライアントデバイスからログインリクエストを受信するステップと、
    前記ログインリクエストが前記クライアントデバイスでのアプリケーションプラットフォームまたは前記クライアントデバイスでのアプリケーションに関連付けられるかを決定するために前記ログインリクエストを分析するステップであって、前記アプリケーションは、前記アプリケーションプラットフォームによって管理されるステップと、
    前記ログインリクエストが前記アプリケーションプラットフォームに関連付けられる場合、
    アプリケーションプラットフォームサーバとの第1の接続を確立するステップと、
    前記アプリケーションプラットフォームサーバへ前記ログインリクエストを転送するステップと、
    前記アプリケーションプラットフォームサーバからログインキーを受信するステップと、
    前記クライアントデバイスへ前記ログインキーを戻すステップであって、前記ログインキーが前記アプリケーションプラットフォームに関連付けられるステップと
    前記ログインリクエストが前記アプリケーションに関連付けられる場合、
    アプリケーションサーバとの第2の接続を確立するステップであって、前記アプリケーションサーバが前記アプリケーションプラットフォームサーバと異なるステップと、
    前記アプリケーションサーバへ前記ログインリクエストを転送するステップと、
    前記アプリケーションサーバからログインキーを受信するステップと、
    前記クライアントデバイスへ前記ログインキーを戻すステップであって、前記ログインキーが前記アプリケーションに関連付けられるステップと
    のための命令を含むことを特徴とする非一時的コンピュータ読取可能な格納媒体。
  17. 前記ログインリクエストを分析するための前記命令は、
    前記ログインリクエストを伝えるデータパケットからヘッダを抽出するステップと、
    前記ヘッダのログインリクエストタイプビットを特定するステップと、
    前記ログインリクエストが前記ログインリクエストタイプビットに従って前記アプリケーションプラットフォームまたは前記アプリケーションに関連付けられるかを決定するステップと
    のための命令をさらに含むことを特徴とする請求項16に記載の非一時的コンピュータ読取可能な格納媒体。
  18. 前記1つまたは複数のプログラムは、
    前記ログインリクエストが前記アプリケーションプラットフォームに関連付けられる場合、
    前記アプリケーションサーバへ前記ログインキーを転送するステップであって、前記ログインキーは、前記アプリケーションに関連付けられるアクセスリクエストを認証するために使用されるステップと、
    前記ログインリクエストが前記アプリケーションに関連付けられる場合、
    前記アプリケーションプラットフォームサーバへ前記ログインキーを転送するステップであって、前記ログインキーは、前記アプリケーションプラットフォームに関連付けられるアクセスリクエストを認証するために使用されるステップと
    のための命令をさらに含むことを特徴とする請求項16に記載の非一時的コンピュータ読取可能な格納媒体。
  19. 前記1つまたは複数のプログラムは、
    前記アプリケーションプラットフォームサーバおよび前記アプリケーションサーバの1つから前記ログインリクエストへの応答を受信するステップと、
    前記応答へログインリクエストタイプビットを追加することによって、前記応答を更新するステップであって、前記ログインリクエストタイプビットは、前記応答が前記アプリケーションプラットフォームサーバまたは前記アプリケーションサーバからであるかを示すステップと、
    前記クライアントデバイスへ前記更新された応答を転送するステップであって、前記ログインリクエストタイプビットは、前記応答が前記アプリケーションプラットフォームまたは前記アプリケーションによって処理されるべきかを示すステップと
    のための命令をさらに含むことを特徴とする請求項16に記載の非一時的コンピュータ読取可能な格納媒体。
  20. 前記アプリケーションプラットフォームサーバとの前記第1の接続は、短期的な接続であり、前記アプリケーションサーバとの前記第2の接続は、長期的な接続であることを特徴とする請求項16に記載の非一時的コンピュータ読取可能な格納媒体。
JP2015530285A 2012-09-11 2013-09-10 アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するためのシステムおよび方法 Expired - Fee Related JP5867841B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210334289.1A CN103685175B (zh) 2012-09-11 2012-09-11 应用平台与应用共享登录态的方法、代理服务器及系统
CN201210334289.1 2012-09-11
PCT/CN2013/083180 WO2014040522A1 (en) 2012-09-11 2013-09-10 System and method for sharing login status between an application platform and an application

Publications (2)

Publication Number Publication Date
JP2015532984A JP2015532984A (ja) 2015-11-16
JP5867841B2 true JP5867841B2 (ja) 2016-02-24

Family

ID=50277619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015530285A Expired - Fee Related JP5867841B2 (ja) 2012-09-11 2013-09-10 アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するためのシステムおよび方法

Country Status (6)

Country Link
EP (1) EP2895981B1 (ja)
JP (1) JP5867841B2 (ja)
KR (1) KR101556619B1 (ja)
CN (1) CN103685175B (ja)
TW (1) TWI510272B (ja)
WO (1) WO2014040522A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3127332B1 (en) * 2014-04-04 2019-11-27 Systems and Software Enterprises, LLC Mobile device in-flight entertainment connection
CN104601437A (zh) * 2014-04-30 2015-05-06 腾讯科技(深圳)有限公司 聊天信息传输方法及装置、聊天信息推送方法及服务器
US9824136B2 (en) * 2014-09-19 2017-11-21 Microsoft Technology Licensing, Llc Dynamic application containers
CN105704001A (zh) * 2014-11-25 2016-06-22 上海天脉聚源文化传媒有限公司 一种微信服务器消息分发方法及系统
US11196711B2 (en) * 2017-07-21 2021-12-07 Fisher-Rosemount Systems, Inc. Firewall for encrypted traffic in a process control system
CN108170537B (zh) * 2017-12-06 2021-02-02 北京像素软件科技股份有限公司 游戏api实现方法、装置、接口服务器及可读存储介质
CN109639740B (zh) * 2019-01-31 2022-02-22 平安科技(深圳)有限公司 一种基于设备id的登录态共享方法及装置
CN110659463B (zh) * 2019-08-23 2021-11-12 苏州浪潮智能科技有限公司 一种无状态系统的分布式运行的方法及装置
CN112619129B (zh) * 2020-12-18 2023-09-19 咪咕互动娱乐有限公司 云游戏运行方法、服务器及存储介质
CN114172958B (zh) * 2021-11-19 2023-10-20 云从科技集团股份有限公司 隐私计算节点、系统、方法、装置以及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8002617B1 (en) * 1999-09-27 2011-08-23 Nokia Corporation Sponsored network games
US7174383B1 (en) * 2001-08-31 2007-02-06 Oracle International Corp. Method and apparatus to facilitate single sign-on services in a hosting environment
GB0308991D0 (en) * 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
US7534169B2 (en) * 2005-07-08 2009-05-19 Cfph, Llc System and method for wireless gaming system with user profiles
JP2005332233A (ja) * 2004-05-20 2005-12-02 Nippon Telegr & Teleph Corp <Ntt> 複数サービス事業者アプリケーションへの共通機能を提供するサービス提供システム、その方法、サービス提供装置、その方法、ならびにそのプログラムおよび記録媒体
KR100906109B1 (ko) * 2007-06-20 2009-07-07 엔에이치엔(주) 3a 기반의 다양한 어플리케이션 상태를 제공하는유비쿼터스 프리젠스 서비스 방법 및 시스템
CN101355527A (zh) * 2008-08-15 2009-01-28 深圳市中兴移动通信有限公司 一种跨域名单点登录的实现方法
TWI364202B (en) * 2008-12-17 2012-05-11 Ind Tech Res Inst Single sign-on method and system for web browser
CN101783873A (zh) * 2009-01-19 2010-07-21 北京视典无限传媒技术有限公司 数字化多媒体信息传输平台
TWI421118B (zh) * 2010-10-01 2014-01-01 Xpec Entertainment Inc Online gaming system and method of resources to handle online games
JP5620781B2 (ja) * 2010-10-14 2014-11-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
CN102469080B (zh) * 2010-11-11 2015-07-15 中国电信股份有限公司 实现通行证用户安全登录应用客户端的方法和系统
US9854055B2 (en) * 2011-02-28 2017-12-26 Nokia Technologies Oy Method and apparatus for providing proxy-based content discovery and delivery

Also Published As

Publication number Publication date
EP2895981A4 (en) 2015-10-07
EP2895981B1 (en) 2017-03-01
KR20150052286A (ko) 2015-05-13
CN103685175B (zh) 2017-12-01
CN103685175A (zh) 2014-03-26
TWI510272B (zh) 2015-12-01
KR101556619B1 (ko) 2015-10-01
EP2895981A1 (en) 2015-07-22
TW201410304A (zh) 2014-03-16
JP2015532984A (ja) 2015-11-16
WO2014040522A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
JP5867841B2 (ja) アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するためのシステムおよび方法
US9088559B2 (en) System and method for sharing login status between an application platform and an application
CN105025041B (zh) 文件上传的方法、装置和系统
US9369286B2 (en) System and methods for facilitating authentication of an electronic device accessing plurality of mobile applications
US20100100950A1 (en) Context-based adaptive authentication for data and services access in a network
US9584615B2 (en) Redirecting access requests to an authorized server system for a cloud service
US20100043065A1 (en) Single sign-on for web applications
US20080120711A1 (en) Multi factor authentication
US10972453B1 (en) Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof
JP2020057363A (ja) セキュリティーアサーションマークアップランゲージ(saml)サービスプロバイダー起点のシングルサインオンのための方法及びプログラム
KR20220019834A (ko) 디바이스로의 보안 자격증명 전송을 인증하는 방법 및 시스템
CN105991518B (zh) 网络接入认证方法及装置
US10601809B2 (en) System and method for providing a certificate by way of a browser extension
US11531747B2 (en) Method for exchanging data between a web browser and an application
US11916905B2 (en) Secure identity provider authentication for native application to access web service
US20090129378A1 (en) Surreptitious web server bias towards desired browsers
CN112202813A (zh) 网络访问方法及装置
CN112565172A (zh) 控制方法、信息处理设备以及信息处理系统
CN114866247B (zh) 一种通信方法、装置、系统、终端及服务器
CN115037537A (zh) 异常流量拦截、异常域名识别方法、装置、设备及介质
US10659235B1 (en) Distributed endpoint authentication
US11997090B2 (en) Systems and methods for WebAuthn transport via a WebAuthn proxy
US11438375B2 (en) Method and system for preventing medium access control (MAC) spoofing attacks in a communication network
Guyang et al. Research on WebSocket-Based Authentication System
US20240152502A1 (en) Data authentication and validation across multiple sources, interfaces, and networks

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151224

R150 Certificate of patent or registration of utility model

Ref document number: 5867841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees