JP2017134827A - ロングポーリング処理方法およびシステム、並びに記録媒体 - Google Patents

ロングポーリング処理方法およびシステム、並びに記録媒体 Download PDF

Info

Publication number
JP2017134827A
JP2017134827A JP2017001691A JP2017001691A JP2017134827A JP 2017134827 A JP2017134827 A JP 2017134827A JP 2017001691 A JP2017001691 A JP 2017001691A JP 2017001691 A JP2017001691 A JP 2017001691A JP 2017134827 A JP2017134827 A JP 2017134827A
Authority
JP
Japan
Prior art keywords
client
poll
server
service
request
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.)
Granted
Application number
JP2017001691A
Other languages
English (en)
Other versions
JP6285579B2 (ja
Inventor
チョルジェ イム
Chul-Jae Lim
チョルジェ イム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NHN Corp
NHN Studio 629 Corp
Original Assignee
NHN Entertainment Corp
NHN Studio 629 Corp
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 NHN Entertainment Corp, NHN Studio 629 Corp filed Critical NHN Entertainment Corp
Publication of JP2017134827A publication Critical patent/JP2017134827A/ja
Application granted granted Critical
Publication of JP6285579B2 publication Critical patent/JP6285579B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • 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/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ロングポーリング処理方法およびシステムを提供する。
【解決手段】ウェブサーバで、クライアントからポールリクエストを受信してサービスサーバに伝達し、ウェブサーバで、サービスサーバからクライアントに反映するためのデータをポールリクエストに対するポールリプライとして受信し、ウェブサーバで、受信したデータを基盤としてウェブページデータを生成し、ウェブページデータをポールリプライとしてクライアントに伝達する、クライアントとクライアントにネットワークを介してサービスを提供するサービスサーバとの間で、ウェブサーバがロングポーリングを処理する方法が提供される。
【選択図】図1

Description

下記の説明は、ロングポーリング処理方法およびシステムに関する。
従来技術に係るサーバ−クライアント環境において、サーバとクライアント間の通信の大部分はソケット構造を活用している。例えば、特許文献1では、「ソケットコネクションを使用したクライアント/サーバシステムおよびソケットコネクション設定方法」について開示している。
ソケット構造を利用した通信に関するより具体的な例として、オンラインゲームを挙げることができる。オンラインゲームにおいてクライアントは、ゲームロジックが含まれたクライアントプログラムを通じてゲームサーバと通信してゲームを行う。しかし、クライアントプログラムに含まれたゲームロジックは、ハッキングの可能性を増加させる上に、ゲーム上の小さな画面の変化にもクライアントプログラムのパッチや、クライアントプログラムの再配布が求められるという問題がある。さらに、ゲームサーバの観点では、クライアントプログラムの変造による問題が常在しており、クライアントと直接接続するため、クライアントとの接続管理に多くの費用が求められる。
このように、既存のソケット構造を利用した通信は、ハッキングイシューにおいて自由がなく、パッチ時やプロトコルの交換時にかかる費用が極めて大きい上に、ランタイム中にサービスを修正することが困難であるという問題を抱えている。
韓国公開特許第10−2000−0042217号
クライアントと、クライアントにネットワークを介してサービスを提供するサービスサーバとの間で、ウェブサーバがロングポーリング(long polling)を処理してサービスを処理することができる、ロングポーリング処理方法およびシステムを提供する。
本発明の一実施形態によれば、クライアントとクライアントでネットワークを介してサービスを提供するサービスサーバとの間で、ウェブサーバがロングポーリング(long polling)を処理する方法であって、ウェブサーバで、クライアントからポールリクエスト(poll request)を受信してサービスサーバに伝達する段階、ウェブサーバで、サービスサーバからクライアントに反映するためのデータをポールリクエストに対するポールリプライ(poll reply)として受信する段階、ウェブサーバで、受信したデータを基盤としてウェブページデータを生成する段階、およびウェブページデータをポールリプライとしてクライアントに伝達する段階を含むことを特徴とする、ロングポーリング処理方法が提供される。
一実施形態によると、サービスはゲームサービスを含み、ウェブページデータは、クライアントで表示されるゲームサービス画面を構成するためのデータを含むことを特徴としてもよい。
他の実施形態によると、サービスサーバは、ウェブサーバから伝達されたポールリクエストに対するポールリプライの送信を延期して待機し、クライアントからの一般リクエスト(normal request)に対する処理結果をクライアントに反映するためのデータまたはサービスサーバがサービスのためにクライアントを制御するためのデータをクライアントに送信しようとする場合に、送信しようとするデータをポールリプライとしてウェブサーバに送信する。
また他の実施形態によると、データをポールリクエストに対するポールリプライとして受信する段階は、クライアントから一般リクエスト(normal request)を受信してサービスサーバに伝達する段階、サービスサーバから一般リクエストの処理による一般リプライ(normal reply)を受信してクライアントに伝達する段階、およびサービスサーバから一般リクエストに対するサービスサーバの処理結果をクライアントに反映するためのデータをポールリプライとして受信する段階を含んでいてもよい。
また他の実施形態によると、データをポールリクエストに対するポールリプライとして受信する段階は、サービスサーバからサービスサーバがクライアントを制御するためのデータをポールリプライとして受信してもよい。
さらに他の実施形態によると、クライアントでポールリプライとして伝達されたウェブページデータを処理してサービス画面が表示され、ポールリプライの伝達にしたがって再びポールリクエストがウェブサーバに送信され、ロングポーリング処理方法は、ウェブサーバでクライアントから再び送信されたポールリクエストを受信してサービスサーバに伝達する段階をさらに含んでいてもよい。
クライアントとクライアントでネットワークを介してサービスを提供するサービスサーバとの間で、ロングポーリングを処理するウェブサーバのロングポーリング処理システムであって、コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、少なくとも1つのプロセッサは、クライアントからポールリクエスト(poll request)を受信してサービスサーバに伝達し、サービスサーバからクライアントに反映するためのデータをポールリクエストに対するポールリプライ(poll reply)として受信するようにウェブサーバを制御するポール管理部、およびウェブサーバで受信したデータを基盤としてウェブページデータを生成するウェブページデータ生成部を備え、ポール管理部は、ウェブページデータをポールリプライとしてクライアントに伝達することを特徴とする、ロングポーリング処理システムが提供される。
クライアントとクライアントでネットワークを介してサービスを提供するサービスサーバとの間で、ウェブサーバがロングポーリング(long polling)を処理してサービス画面の構成のためのウェブページデータを生成してクライアントに提供することにより、クライアント自体に対するハッキングイシューを取り除くことができる上に、リアルタイムパッチとサーバの増設が容易になり、サービスサーバでのプロトコルを自由に変更することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。 本発明の一実施形態における、ウェブサーバが含まれたサーバ−クライアント環境の例を示した図である。 本発明の一実施形態における、複数のウェブサーバが含まれたサーバ−クライアント環境の例を示した図である。 本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示した図である。 本発明の一実施形態における、サーバが実行することのできるロングポーリング処理方法の例を示したフローチャートである。 本発明の一実施形態における、ロングポーリング処理過程の例を示した図である。 本発明の一実施形態における、ロングポーリング処理過程の他の例を示した図である。
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定型端末や移動型端末であってもよい。複数の電子機器110、120、130、140の例としては、スマートフォン(smart phone)、携帯電話、ナビゲーション、コンピュータ、ノート型パンコン、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットPCなどがある。一例として、電子機器1(110)は、無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信してもよい。
通信方式が制限されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これに制限されることはない。
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてもよい。
一例として、サーバ160は、ネットワーク170を介して接続した電子機器1(110)にアプリケーションのインストールのためのファイルを提供してもよい。この場合、電子機器1(110)は、サーバ160から提供されたファイルを利用してアプリケーションをインストールしてもよい。また、電子機器1(110)が含むオペレーティングシステム(Operating System:OS)および少なくとも1つのプログラム(一例として、ブラウザや前記インストールされたアプリケーション)の制御にしたがってサーバ150に接続し、サーバ150が提供するサービスやコンテンツの提供を受けてもよい。例えば、電子機器1(110)がアプリケーションの制御にしたがって、ネットワーク170を介してサービス要請メッセージをサーバ150に送信すると、サーバ150はサービス要請メッセージに対応するコードを電子機器1(110)に送信してもよく、電子機器1(110)はアプリケーションの制御にしたがってコードに基づく画面を構成して表示することによってユーザにコンテンツを提供してもよい。他の例として、サーバ150は、メッセージングサービスのための通信セッションを設定し、設定された通信セッションを通じて複数の電子機器110、120、130、140間のメッセージ送受信をルーティングしてもよい。
特に、本発明の実施形態において、サーバ160は、クライアントである複数の電子機器110、120、130、140にサービスを提供するサービスサーバであってもよく、サーバ150は、サーバ160とクライアントとの間でロングポーリング(long polling)を処理するウェブサーバであってもよい。
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2は、1つの電子機器に対する例として電子機器1(110)を、1つのサーバに対する例としてサーバ150の内部構成を説明する。他の電子機器120、130、140やサーバ160も、同一または類似の内部構成を備えてもよい。
電子機器1(110)とサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでもよい。メモリ211、221は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記憶装置(permanent mass storage device)を含んでよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電子機器1(110)にインストールされ、駆動するブラウザや上述したアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、ドライブメカニズム(drive mechanism)を利用して、メモリ211、221とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピードライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール213、223を利用してメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)が、ネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてもよい。
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録媒体に格納されたプログラムコードを実行するように構成されてもよい。
通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録媒体に格納されたプログラムコードにしたがって生成した要請(一例として、コンテンツに対するストリーミングサービス要請)が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてもよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信されたサーバ150の制御信号や命令などは、プロセッサ212やメモリ211に伝達されてもよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことのできる格納媒体に格納されてもよい。
入力/出力インタフェース214、224は、入力/出力装置215とのインタフェースのための手段であってもよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、また出力装置は、アプリケーションの通信セッションを表示するためのディスプレイやスピーカのような装置を含んでもよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を通じてディスプレイに表示されてもよい。
また、他の実施形態において、電子機器1(110)とサーバ150は、図2の構成要素よりもさらに多くの構成要素を含んでもよい。しかし、大部分の従来技術構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ(transceiver)、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合は、一般的にスマートフォンが備えている加速度センサやジャイロセンサ、カメラ、各種物理的なボタンやタッチパネルを利用したボタン、入力/出力ポートなどの多様な構成要素が電子機器1(110)にさらに含まれるように実現されてもよい。
上述したように、本発明の実施形態において、サーバ160は、クライアントである複数の電子機器110、120、130、140にサービスを提供するサービスサーバであってもよく、サーバ150は、サーバ160とクライアントとの間でロングポーリング(long polling)を処理するウェブサーバであってもよい。
ここで、ポーリング(polling)方式とは、データの受信のためにサーバがクライアントにデータを送信するプッシュ(push)方式ではなく、クライアントがサーバにデータを要請する方式であって、ロングポーリングとは、一定の時間以後には接続を終了して、再び接続をするポーリング方式を意味する。
図3は、本発明の一実施形態における、ウェブサーバが含まれたサーバ−クライアント環境の例を示した図である。図3は、クライアント1(310)、クライアント2(320)にサービスを提供するサービスサーバであるバックエンドサーバ330、そしてクライアント1(310)、クライアント2(320)とバックエンドサーバ330との間でロングポーリングを処理するウェブサーバ340を示している。一例として、ゲームサービスを提供しようとするバックエンドサーバ330は、ゲームサーバ、DBサーバ、ランキングサーバなどのようにゲームサービスを提供するために構築される実際のサービスサーバまたはサービスサーバの組み合わせを意味してもよい。
このような実施形態において、クライアント310、320は、ウェブサーバ340を通じてバックエンドサーバ330のサービスの提供を受けてもよい。このために、クライアント310、320は、ウェブプロトコルを通じてウェブサーバ340にポールリクエスト(poll request)を送信してもよい。ウェブサーバ340は、ポールハンドラ342を通じて受信したポールリクエストを管理してもよく、バックエンドサーバ330にポールリクエストを伝達してもよい。
一般的なウェブサーバは、要請がある場合にだけ応答する受動的な(passive)特徴をもっている。したがって、ウェブサーバ340も、要請に対する応答のみを提供する受動的な特徴をもつようになる。しかし、オンラインゲームなどのようにデータの伝達が頻繁に行われるサービスでは、要請と応答だけでサービスを提供するのが難しい。
したがって、本発明の実施形態では、クライアント310、320がサービスに関してバックエンドサーバ330に要請するための一般リクエスト(normal request)とは区分されるポールリクエスト(poll request)を利用する。ポールリクエストとは、クライアント310、320がバックエンドサーバ330との接続を維持するための目的として利用される要請であって、クライアント310、320のポールリクエストは、ウェブサーバ340を通じてバックエンドサーバ330に伝達されてもよく、バックエンドサーバ330は、伝達されたポールリクエストに対して直ぐに応答せずに一定の時間を待機してもよい。バックエンドサーバ330がクライアント310、320にデータを送信しようとする場合には、該当のデータをポールリクエストに対するポールリプライ(poll reply)として、ウェブサーバ340を通じてクライアント310、320に送信してもよい。例えば、クライアント310、320の一般リクエストを処理することによる処理結果を、クライアント310、320に反映するために、またはバックエンドサーバ330がクライアント310、320を制御するために、ポールリクエストに対するポールリプライとして必要なデータをウェブサーバ340に送信してもよい。このとき、ウェブサーバ340は、該当のデータを通じてクライアント310、320で表示されるサービス画面を構成するためのウェブページデータを生成し、ポールリプライとしてクライアント310、320に送信してもよい。
クライアント310、320は、ウェブサーバ340を通じて伝達されたフォールリプライを処理し、ウェブサーバ340にポールリクエストを再び送信することによってバックエンドサーバ330との接続を維持してもよい。
例えば、クライアント1(310)が、第1ポールリクエストをウェブサーバ340に送信すると、ウェブサーバ340のポールハンドラ342は、第1ポールリクエストをクライアント1(310)と関連して管理してもよく、第1ポールリクエストをバックエンドサーバ330に送信してもよい。バックエンドサーバ330は、第1ポールリクエストに応答せずに待機してもよい。バックエンドサーバ330からクライアント1(310)にデータを送信しなければならない場合が発生すると、バックエンドサーバ330は、第1ポールリクエストに対する第1ポールリプライを通じて該当のデータをウェブサーバ340に送信してもよい。ウェブサーバは、受信したデータを基盤としてサービス画面を構成するためのウェブページデータを生成し、生成されたウェブページデータを、第1ポールリプライを通じてクライアント1(310)に送信してもよい。クライアント1(310)は、ウェブページデータを利用してサービス画面を構成して画面に表示してもよく、再び第2ポールリクエストをウェブサーバ340に送信してもよい。ウェブサーバ340のポールハンドラ342は、第2ポールリクエストをクライアント1(310)と関連して管理してもよく、第2ポールリクエストをバックエンドサーバ330に送信することによってクライアント1(310)とバックエンドサーバ330との間の連結が維持されてもよい。
ウェブサーバ340のリクエストハンドラ341は、クライアント310、320の一般リクエストを処理してもよい。例えば、リクエストハンドラ341は、クライアント310、320から受信した一般リクエストをバックエンドサーバ330に伝達してもよく、バックエンドサーバ330から一般リクエストに対する一般リプライを受信してクライアント310、320に送信してもよい。このとき、一般リクエストに対するバックエンドサーバ330の処理結果をクライアント310、320に反映するためのデータは、上述したポールリプライを通じてバックエンドサーバ330からウェブサーバ340に送信されてもよい。
図4は、本発明の一実施形態における、複数のウェブサーバが含まれたサーバ−クライアント環境の例を示した図である。図4は、クライアント3(410)およびクライアント4(420)が、ウェブサーバ430を通じてバックエンドサーバ330と通信する例を示している。このように、本発明の実施形態では、新たなクライアント410、420を、新たなウェブサーバ430を通じて接続することが可能であるため、リアルタイムでウェブサーバ430を増設することが容易となる。ここで、ウェブサーバ430のリクエストハンドラ431およびポールハンドラ442は、ウェブサーバ340のリクエストハンドラ341およびポールハンドラ342と同じように動作してもよい。
また、上述したように、ウェブサーバ340、430がバックエンドサーバ330のデータを基盤としてサービス画面の構成のためのウェブページデータを生成してクライアントに送信するため、サーバパッチをクライアント310、320、410、420のクライアントプログラムにそれぞれ適用したり、ウェブサーバ340、430を終了したりする必要がなくなり、必要な修正事項をウェブサーバ340、430にそれぞれ適用することが可能となる。
これだけでなく、バックエンドサーバ330がクライアント310、320、410、420とソケット構造のような実際のチャンネルを形成しているのではないため、バックエンドサーバ330とウェブサーバ340、430との間のプロトコルも自由に変更することができる。
図5は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示した図であり、図6は、本発明の一実施形態における、サーバが実行することのできるロングポーリング処理方法の例を示したフローチャートである。
図1および図2を参照しながら説明したサーバ150は、図3を参照しながら説明したウェブサーバ340に対応してもよい。サーバ150は、クライアント(一例として、電子機器1(110))とクライアントにネットワークを介してサービスを提供するサービスサーバ(一例として、サーバ160)との間で、ロングポーリング(long polling)を処理してもよい。このとき、図5に示すように、サーバ150のプロセッサ222は、構成要素として、ポール管理部510およびウェブページデータ生成部520を備えてもよい。このようなプロセッサ222およびプロセッサ222の構成要素は、図6のロングポーリング処理方法が含む段階610〜650を実行するようにサーバ150を制御してもよい。このとき、プロセッサ222およびプロセッサ222の構成要素は、メモリ221が含むオペレーティングシステムのコードと少なくとも1つのプログラムコードによる命令(instruction)を実行するように実現されてもよい。ここで、プロセッサ222の構成要素は、プロセッサ222によって実行される互いに異なる機能(different functions)の表現であってもよい。例えば、プロセッサ222が上述した命令にしたがってポールリクエストを受信するようにサーバ150を制御するために動作するなどの機能的表現としてポール管理部510が使用されてもよい。
段階610で、プロセッサ222は、ロングポーリング処理方法のためのプログラムのファイルに格納されたプログラムコードを、メモリ221にロードしてもよい。例えば、プログラムは、サービスの提供のために必要なファイルを管理し、該当のファイルに含まれたプログラムコードも、メモリ221にロードするためにサーバ150に予めインストールされたプログラムであってもよい。サーバ150に予めインストールされたプログラムが実行される場合、プロセッサ222は、プログラムのファイルからプログラムコードをメモリ221にロードしてもよい。
このとき、プロセッサ222およびプロセッサ222が備えるポール管理部510およびウェブページデータ生成部520それぞれは、メモリ221にロードされたプログラムコードのうちの対応する部分(対応する命令)を実行して、以後の段階620および段階640を実行してもよい。段階620および段階650の実行のために、プロセッサ222およびプロセッサ222の構成要素は、サーバ150を制御してもよい。例えば、プロセッサ222は、サーバ150が含む通信モジュール223を制御してサーバ150がクライアント(一例として、複数の電子機器110、120、130、140やサービスサーバ(一例として、サーバ160)と通信するようにサーバ150を制御してもよい。
段階620で、ポール管理部510は、クライアントからポールリクエスト(poll request)を受信して、サービスサーバに伝達するようにサーバ150を制御してもよい。上述したように、クライアントは、クライアントプログラムが駆動されたり、以前のポールリクエストに対するポールリプライを受信したりする場合に、ポールリクエストをウェブサーバであるサーバ150にウェブプロトコルを利用して送信してもよい。このとき、サーバ150のポール管理部510は、ポールリクエストを受信してサービスサーバに伝達してもよく、ポールリクエストを該当のクライアントと関連付けて管理してもよい。より具体的な例として、ポール管理部510は、ポールリクエストの識別子とクライアントの識別子とを互いに関連付けて格納してもよい。
段階630で、ポール管理部510は、サービスサーバからクライアントに反映するためのデータを、ポールリクエストに対するポールリプライ(poll reply)として受信するようにサーバ150を制御してもよい。上述したように、サービスサーバは、段階620で、サーバ150が伝達したポールリクエストに対して応答せずに待機してもよい。サービスサーバからクライアントに伝達するデータが存在する場合、サービスサーバは、ポールリクエストに対するポールリプライとして該当のデータをサーバ150に送信してもよく、サーバ150は、ポール管理部510の制御にしたがって、該当のデータをポールリプライとして受信してもよい。
より具体的な例として、サービスサーバは、サーバ150から伝達されたポールリクエストに対するポールリプライの送信を延期して待機し、クライアントからの一般リクエスト(normal request)に対する処理結果を、クライアントに反映するためのデータまたはサービスサーバが、サービスのためにクライアントを制御するためのデータを、クライアントに送信しようとする場合に、送信しようとするデータをポールリプライとしてウェブサーバに送信してもよい。
段階640で、ウェブページデータ生成部520は、受信したデータを基盤としてウェブページデータを生成してもよい。既存には、クライアントがサービスサーバから受信したデータを基盤としてサービスを実行させてサービス画面を表示していた反面、本発明の実施形態では、サーバ150がサービス画面を構成するためのウェブページデータを生成してもよい。
例えば、ポール管理部510は、クライアントから一般リクエスト(normal request)を受信してサービスサーバに伝達し、サービスサーバから一般リクエストの処理による一般リプライ(normal reply)を受信してクライアントに伝達し、サービスサーバから一般リクエストに対するサービスサーバの処理結果をクライアントに反映するためのデータを、ポールリプライとして受信するようにサーバ150を制御してもよい。この場合、サーバ150は、クライアントの一般リクエストに対する処理結果をクライアントに反映するためのデータを得てもよく、ウェブページデータ生成部520は、該当のデータを基盤として一般リクエストに対するサービスサーバの処理結果が反映されたサービス画面を構成するためのウェブページデータを生成してもよい。
他の例として、ポール管理部510は、サービスサーバからサービスサーバがクライアントを制御するためのデータをポールリプライとして受信するようにサーバ150を制御してもよい。この場合、サーバ150は、サービスサーバがクライアントをどのように制御しようとするかに関するデータを得てもよく、ウェブページデータ生成部520は、該当のデータを基盤としてサービスサーバの制御によるサービス画面を構成するためのウェブページデータを生成してもよい。
このようなサービスは、ゲームサービスを含んでもよい。この場合、ウェブページデータは、クライアントで表示されるゲームサービス画面を構成するためのデータを含んでもよい。
段階650で、ポール管理部510は、ウェブページデータをポールリプライとしてクライアントに伝達するようにサーバ150を制御してもよい。例えば、サービスサーバが送信するポールリプライは、対応するポールリクエストの識別子を含んでもよい。この場合、ポール管理部510は、ポールリクエストの識別子に対応して格納されたクライアントの識別子を検索してもよく、該当の識別子のクライアントにウェブページデータを送信するようにサーバ150を制御してもよい。
ポールリプライが伝達されたクライアントは、ポールリプライとして伝達されたウェブページデータを通じてサービス画面を構成して表示することによって、サービスが実行されてもよい。このようなウェブページデータは、ウェブページを構成するためのソースの形態で生成されてもよく、クライアントは、ウェブブラウザを通じてウェブページデータからサービス画面を構成して表示してもよい。他の例として、クライアントは、別の専用アプリケーションを利用してウェブページデータからサービス画面を構成して表示することも可能である。
このように、クライアントは、サービスを実行するために別のロジックを含んだり処理したりする必要がなく、提供されるウェブページデータを通じてサービス画面のみを構成して表示するため、サービスを提供するにあたり、クライアント自体に対するハッキングイシューを取り除くことができる。これだけでなく、クライアントでウェブブラウザや専用のアプリケーションなどのように多様な方式によってサービスの提供を受けることが可能になる。さらに、クライアントがウェブサーバであるサーバ150にポールリクエストを送信することによってサービスに接続または再接続することができるため、接続または再接続の整合性に優れ、復旧も容易であるという長所がある。
ウェブサーバであるサーバ150の観点では、リアルタイムでサーバパッチを適用するのが容易になるため、アップデート費用を抑えることができ、リアルタイムでサーバを増設することが簡単になる。これだけでなく、ウェブ表現方式を利用するため、クライアントの開発を並列的に行うことが容易となり、相対的に多くのウェブ開発者によってサービスを提供することができるという長所がある。
図7は、本発明の一実施形態における、ロングポーリング処理過程の例を示した図である。図7は、クライアント710、ウェブサーバ720、およびサービスサーバ730間のデータ処理および送信過程の例を示している。
1.ポールリクエスト送信過程は、クライアント710がウェブサーバ720にウェブプロトコルを通じてポールリクエストを送信する過程であってもよい。クライアント710は、クライアントプログラムが駆動されたり、以前のポールリクエストに対するポールリプライを受信したりする場合に、ポールリクエストをウェブサーバ720に送信してもよい。
2.ポールリクエスト伝達過程は、ウェブサーバ720がサービスサーバ730の間に設定された通信プロトコルを利用してポールリクエストを伝達する過程であってもよい。このような通信プロトコルはクライアント710の接続とは関係ないため、自由に変更が可能である。
3.待機過程は、サービスサーバ730が伝達を受けたポールリクエストに対して応答せずに待機する過程であってもよい。これは、サービスサーバ730がクライアント710にデータを伝達しなければならない必要が生じてポールリクエストに対するポールリプライを送信するまで待機することを意味してもよく、ポールリクエストによってクライアント710とサービスサーバ730間の仮想のチャンネルが生成されたことを意味してもよい。
4.一般リクエスト送信過程は、クライアント710がサービスサーバ730への要請のための一般リクエストをウェブサーバ720に送信する過程であってもよい。一般リクエストは、サービスの進行と関連する多様な要請のためのメッセージであってもよく、ポールリクエストの送信に利用されたウェブプロトコルとは異なるウェブプロトコルを利用してウェブサーバ720に送信されてもよい。
5.一般リクエスト伝達過程は、ウェブサーバ720がサービスサーバ730に一般リクエストを伝達する過程であってもよい。サービスサーバ730の観点では、一般リクエストの伝達を特定のイベント発生として感知してもよい。
6.一般リクエスト処理過程は、サービスサーバ730が一般リクエストを処理する過程であってもよい。
7.一般リプライ送信過程は、サービスサーバ730が一般リクエストに対する応答として一般リプライをクライアント710に送信するために、先ずウェブサーバ720に一般リプライを送信する過程であってもよい。
8.一般リプライ伝達過程は、ウェブサーバ720がサービスサーバ730から受信した一般リプライをクライアント710に伝達する過程であってもよい。
9.ポールリプライ送信過程は、サービスサーバ730が伝達を受けたポールリクエストに対するポールリプライをウェブサーバ720に送信する過程であってもよい。このとき、ポールリプライは、一般リクエストの処理結果をクライアント710に反映するためのデータを含んでもよい。
10.ウェブページデータ生成過程は、ウェブサーバ720がポールリプライとして送信されたデータを基盤として一般リクエストの処理結果が反映されたサービス画面を構成するためのウェブページデータを生成する過程であってもよい。
11.ポールリプライ伝達過程は、ウェブサーバ720が生成されたウェブページデータをポールリプライとしてクライアント710に伝達する過程であってもよい。
12.ウェブページデータ処理過程は、クライアントがウェブページデータを利用してサービス画面を構成および表示する過程であってもよい。
13.ポールリクエスト送信過程は、1.ポールリクエスト送信過程と同じ過程であってもよい。
図8は、本発明の一実施形態における、ロングポーリング処理過程の他の例を示した図である。
1.ポールリクエスト送信過程は、クライアント710がウェブサーバ720にウェブプロトコルを利用してポールリクエストを送信する過程であってもよい。クライアント710は、クライアントプログラムが駆動されたり、以前のポールリクエストに対するポールリプライを受信したりする場合に、ポールリクエストをウェブサーバ720に送信してもよい。
2.ポールリクエスト伝達過程は、ウェブサーバ720がサービスサーバ730の間に設定された通信プロトコルを利用してポールリクエストを伝達する過程であってもよい。このような通信プロトコルはクライアント710の接続とは関係ないため、自由に変更が可能である。
3.待機過程は、サービスサーバ730が伝達を受けたポールリクエストに対して応答せずに待機する過程であってもよい。これは、サービスサーバ730がクライアント710にデータを伝達しなければならない必要が生じてポールリクエストに対するポールリプライを送信するまで待機することを意味してもよく、ポールリクエストによってクライアント710とサービスサーバ730間の仮想のチャンネルが生成されたことを意味してもよい。
4.イベント発生過程は、サービスサーバ730がクライアント710を制御するためのデータを送信するためのイベントが発生する過程であってもよく、5.ポールリプライ送信過程は、サービスサーバ730がイベントによるデータをポールリプライとしてウェブサーバ720に送信する過程であってもよい。言い換えれば、サービスサーバ730は、クライアント710の要請になくても、ポールリクエストに対するポールリプライを通じてクライアント710を制御するためのデータをいつでも送信することができる。
以後の過程6〜9は、図7の過程10〜13と同じように処理されてもよい。
このように、本発明の実施形態によると、クライアントと前記クライアントにネットワークを介してサービスを提供するサービスサーバとの間で、ウェブサーバがロングポーリング(long polling)を処理してサービス画面の構成のためのウェブページデータを生成してクライアントに提供することにより、クライアント自体に対するハッキングイシューを取り除くことができる上に、リアルタイムパッチとサーバ増設が容易となり、サービスサーバでのプロトコルを自由に変更することができる。
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてもよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてもよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素(processing element)および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成(processing configuration)も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に(collectively)処理装置を命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供するために、いかなる種類の機械、コンポーネント、物理装置、仮想装置(virtual equipment)、コンピュータ格納媒体または装置、または送信される信号波(signal wave)に永久的または一時的に具現化(embody)されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された方法で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
以上のように、実施形態を限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、および/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
110、120、130、140:電子機器
150、160:サーバ
170:ネットワーク

Claims (13)

  1. クライアントと前記クライアントにネットワークを介してサービスを提供するサービスサーバとの間で、ウェブサーバがロングポーリング(long polling)を処理する方法であって、
    前記ウェブサーバで、前記クライアントからポールリクエスト(poll request)を受信して前記サービスサーバに伝達し、
    前記ウェブサーバで、前記サービスサーバから前記クライアントに反映するためのデータを前記ポールリクエストに対するポールリプライ(poll reply)として受信し、
    前記ウェブサーバで、前記受信したデータを基盤としてウェブページデータを生成し、
    前記ウェブページデータを前記ポールリプライとして前記クライアントに伝達する、ロングポーリング処理方法。
  2. 前記サービスはゲームサービスを含み、
    前記ウェブページデータは、前記クライアントで表示されるゲームサービス画面を構成するためのデータを含む、請求項1に記載のロングポーリング処理方法。
  3. 前記サービスサーバは、前記ウェブサーバから伝達された前記ポールリクエストに対するポールリプライの送信を延期して待機し、前記クライアントからの一般リクエスト(normal request)に対する処理結果を前記クライアントに反映するためのデータまたは前記サービスサーバが前記サービスのために前記クライアントを制御するためのデータを前記クライアントに送信しようとする場合に、前記送信しようとするデータを前記ポールリプライとして前記ウェブサーバに送信する、請求項1に記載のロングポーリング処理方法。
  4. 前記データを前記ポールリクエストに対するポールリプライとして受信するとき、
    前記クライアントから一般リクエスト(normal request)を受信して前記サービスサーバに伝達し、
    前記サービスサーバから前記一般リクエストの処理による一般リプライ(normal reply)を受信して前記クライアントに伝達し、
    前記サービスサーバから前記一般リクエストに対する前記サービスサーバの処理結果を前記クライアントに反映するためのデータを前記ポールリプライとして受信する、請求項1に記載のロングポーリング処理方法。
  5. 前記データを前記ポールリクエストに対するポールリプライとして受信する段階は、
    前記サービスサーバから前記サービスサーバが前記クライアントを制御するためのデータを前記ポールリプライとして受信することを特徴とする、請求項1に記載のロングポーリング処理方法。
  6. 前記クライアントで、前記ポールリプライとして伝達されたウェブページデータを処理してサービス画面が表示され、前記ポールリプライの伝達にしたがって再びポールリクエストが前記ウェブサーバに送信され、
    前記ロングポーリング処理方法は、
    前記ウェブサーバで、前記クライアントから再び送信されたポールリクエストを受信して前記サービスサーバに伝達する
    ことをさらに含む、請求項1に記載のロングポーリング処理方法。
  7. 請求項1〜6のうちのいずれか一項に記載の方法を実行するためのプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体。
  8. クライアントと前記クライアントでネットワークを介してサービスを提供するサービスサーバとの間で、ロングポーリングを処理するウェブサーバのロングポーリング処理システムであって、
    コンピュータで読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
    を含み、
    前記少なくとも1つのプロセッサは、
    前記クライアントからポールリクエスト(poll request)を受信して前記サービスサーバに伝達し、前記サービスサーバから前記クライアントに反映するためのデータを前記ポールリクエストに対するポールリプライ(poll reply)として受信するように前記ウェブサーバを制御するポール管理部、および
    前記ウェブサーバで前記受信したデータを基盤としてウェブページデータを生成するウェブページデータ生成部
    を備え、
    前記ポール管理部は、
    前記ウェブページデータを前記ポールリプライとして前記クライアントに伝達することを特徴とする、ロングポーリング処理システム。
  9. 前記サービスはゲームサービスを含み、
    前記ウェブページデータは、前記クライアントで表示されるゲームサービス画面を構成するためのデータを含むことを特徴とする、請求項8に記載のロングポーリング処理システム。
  10. 前記サービスサーバは、前記ウェブサーバから伝達された前記ポールリクエストに対するポールリプライの送信を延期して待機し、前記クライアントからの一般リクエスト(normal request)に対する処理結果を前記クライアントに反映するためのデータまたは前記サービスサーバが前記サービスのために前記クライアントを制御するためのデータを前記クライアントに送信しようとする場合に、前記送信しようとするデータを前記ポールリプライとして前記ウェブサーバに送信することを特徴とする、請求項8に記載のロングポーリング処理システム。
  11. 前記ポール管理部は、
    前記クライアントから一般リクエスト(normal request)を受信して前記サービスサーバに伝達し、前記サービスサーバから前記一般リクエストの処理による一般リプライ(normal reply)を受信して前記クライアントに伝達し、前記サービスサーバから前記一般リクエストに対する前記サービスサーバの処理結果を前記クライアントに反映するためのデータを前記ポールリプライとして受信するように前記ウェブサーバを制御することを特徴とする、請求項8に記載のロングポーリング処理システム。
  12. 前記ポール管理部は、
    前記サービスサーバから前記サービスサーバが前記クライアントを制御するためのデータを前記ポールリプライとして受信するように前記ウェブサーバを制御することを特徴とする、請求項8に記載のロングポーリング処理システム。
  13. 前記クライアントで、前記ポールリプライとして伝達されたウェブページデータを処理してサービス画面が表示され、前記ポールリプライの伝達にしたがって再びポールリクエストが前記ウェブサーバに送信され、
    前記ポール管理部は、
    前記ウェブサーバで、前記クライアントから再び送信されたポールリクエストを受信して前記サービスサーバに伝達することを特徴とする、請求項8に記載のロングポーリング処理システム。
JP2017001691A 2016-01-25 2017-01-10 ロングポーリング処理方法およびシステム、並びに記録媒体 Active JP6285579B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0008974 2016-01-25
KR1020160008974A KR101729887B1 (ko) 2016-01-25 2016-01-25 롱폴링 처리 방법 및 시스템

Publications (2)

Publication Number Publication Date
JP2017134827A true JP2017134827A (ja) 2017-08-03
JP6285579B2 JP6285579B2 (ja) 2018-02-28

Family

ID=58703341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017001691A Active JP6285579B2 (ja) 2016-01-25 2017-01-10 ロングポーリング処理方法およびシステム、並びに記録媒体

Country Status (3)

Country Link
US (1) US10284687B2 (ja)
JP (1) JP6285579B2 (ja)
KR (1) KR101729887B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109801425B (zh) * 2018-12-27 2022-06-21 平安科技(深圳)有限公司 面签业务中队列轮询提示方法、装置、设备及存储介质
CN112463251A (zh) * 2020-12-03 2021-03-09 中国建设银行股份有限公司 一种uliweb框架配置热发布的方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009005189A (ja) * 2007-06-22 2009-01-08 Nippon Telegraph & Telephone West Corp 接続先移行方法及び接続先移行システム
JP2010055560A (ja) * 2008-08-29 2010-03-11 Toshiba Corp 中間システムおよびイベント駆動型サーバ拡張プログラム
JP2012194809A (ja) * 2011-03-16 2012-10-11 Fujitsu Ltd プログラム、制御装置および方法
JP2013537754A (ja) * 2010-07-26 2013-10-03 セブン ネットワークス インコーポレイテッド モバイルアプリケーショントラフィック最適化
WO2013179419A1 (ja) * 2012-05-30 2013-12-05 株式会社ゼロストラクト アクセス管理装置
JP2015088156A (ja) * 2014-03-17 2015-05-07 株式会社 ディー・エヌ・エー 動画をクライアント端末に表示させるサーバ及び方法
JP2015525085A (ja) * 2012-05-02 2015-09-03 アキーモ, リミテッド ライアビリティー カンパニーAquimo, LLC モバイルデバイス動作センサ入力を用いたwebベースのゲームプラットフォーム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665702B1 (en) * 1998-07-15 2003-12-16 Radware Ltd. Load balancing
KR20000042217A (ko) 1998-12-24 2000-07-15 윤종용 소켓 커넥션을 사용한 클라이언트/서버 시스템및 소켓커넥션 설정 방법
US20030046587A1 (en) * 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access using enterprise peer networks
US7448080B2 (en) * 2003-06-30 2008-11-04 Nokia, Inc. Method for implementing secure corporate communication
US7444508B2 (en) * 2003-06-30 2008-10-28 Nokia Corporation Method of implementing secure access
US9430036B1 (en) * 2010-12-10 2016-08-30 Wyse Technology L.L.C. Methods and systems for facilitating accessing and controlling a remote desktop of a remote machine in real time by a windows web browser utilizing HTTP
WO2013090834A1 (en) * 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US9058392B1 (en) * 2012-03-22 2015-06-16 Google Inc. Client state result de-duping
US9088622B2 (en) 2012-07-05 2015-07-21 Sap Se Dynamic client registration for server push events in long polling scenarios
US20140047413A1 (en) * 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US9576070B2 (en) * 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
US9380076B1 (en) * 2014-09-17 2016-06-28 Emc Corporation Access management system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009005189A (ja) * 2007-06-22 2009-01-08 Nippon Telegraph & Telephone West Corp 接続先移行方法及び接続先移行システム
JP2010055560A (ja) * 2008-08-29 2010-03-11 Toshiba Corp 中間システムおよびイベント駆動型サーバ拡張プログラム
JP2013537754A (ja) * 2010-07-26 2013-10-03 セブン ネットワークス インコーポレイテッド モバイルアプリケーショントラフィック最適化
JP2012194809A (ja) * 2011-03-16 2012-10-11 Fujitsu Ltd プログラム、制御装置および方法
JP2015525085A (ja) * 2012-05-02 2015-09-03 アキーモ, リミテッド ライアビリティー カンパニーAquimo, LLC モバイルデバイス動作センサ入力を用いたwebベースのゲームプラットフォーム
WO2013179419A1 (ja) * 2012-05-30 2013-12-05 株式会社ゼロストラクト アクセス管理装置
JP2015088156A (ja) * 2014-03-17 2015-05-07 株式会社 ディー・エヌ・エー 動画をクライアント端末に表示させるサーバ及び方法

Also Published As

Publication number Publication date
US20170214770A1 (en) 2017-07-27
JP6285579B2 (ja) 2018-02-28
KR101729887B1 (ko) 2017-04-25
US10284687B2 (en) 2019-05-07

Similar Documents

Publication Publication Date Title
JP6997253B2 (ja) ウェブページレンダリング方法、装置、電子設備、記憶媒体及びプログラム
CN108205442B (zh) 边缘计算平台
EP3764220B1 (en) Automatic application updates
US20200110625A1 (en) Placement of container workloads triggered by network traffic for efficient computing at network edge devices
US10579442B2 (en) Inversion-of-control component service models for virtual environments
KR20140096981A (ko) 앱을 다운로드하는 방법 및 앱을 실행시키는 방법
KR102286989B1 (ko) 원격 세션에 대한 사용자 특정 애플리케이션 활성화 기법
WO2013148665A1 (en) Global computing interface
CN107430514B (zh) 使用多服务器的低延迟应用
US10659556B2 (en) Progressive hybrid web application
JP6275860B2 (ja) チャット情報伝送方法および装置、ならびにチャット情報プッシュ方法およびサーバ
JP2021184284A (ja) メッセージ基盤の通知を提供するための方法およびシステム
EP3508262A1 (en) Method and system for sharing user activity information
US9253228B2 (en) Cloud computing method, computing apparatus and server using the same
KR20200090435A (ko) 메신저 내 플랫폼에 추가된 애플리케이션을 이용하여 대화방에서 정보를 공유하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
US20230046042A1 (en) Picture display method and apparatus, terminal device, and storage medium
WO2017193926A1 (zh) 数据传输方法及装置
KR20200120288A (ko) 하나의 대화방에서 다수의 그룹통화를 제공하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
CN107800779B (zh) 优化负载均衡的方法及系统
JP6285579B2 (ja) ロングポーリング処理方法およびシステム、並びに記録媒体
JP6587997B2 (ja) タイムマシン機能のためのスライディングウィンドウ管理方法およびシステム
US11233853B1 (en) System and method for controlling remote sessions executing on other devices
EP4210303A1 (en) Preemptive tcp connections to reduce latency for proxies
CN112075064B (zh) 可扩展的实时双工通信服务
JP2019003632A (ja) メッセンジャーでのファイル送信時に機器間の通信技術を活用する方法及びシステム

Legal Events

Date Code Title Description
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: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180201

R150 Certificate of patent or registration of utility model

Ref document number: 6285579

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250