[go: up one dir, main page]

JP2016537884A - リモートアクセス環境におけるクライアントサイドのフロー制御装置及び方法 - Google Patents

リモートアクセス環境におけるクライアントサイドのフロー制御装置及び方法 Download PDF

Info

Publication number
JP2016537884A
JP2016537884A JP2016528875A JP2016528875A JP2016537884A JP 2016537884 A JP2016537884 A JP 2016537884A JP 2016528875 A JP2016528875 A JP 2016528875A JP 2016528875 A JP2016528875 A JP 2016528875A JP 2016537884 A JP2016537884 A JP 2016537884A
Authority
JP
Japan
Prior art keywords
client
service
message
ssi
server
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.)
Pending
Application number
JP2016528875A
Other languages
English (en)
Other versions
JP2016537884A5 (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 JP2016537884A publication Critical patent/JP2016537884A/ja
Publication of JP2016537884A5 publication Critical patent/JP2016537884A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

リモートアクセスシステムにおいて、サービスからクライアントへ送られるメッセージのフローを制御するクライアントサイドフロー制御メカニズム。メッセージがサービスシーケンスIDを含んでいる場合、クライアントにメッセージを送ることができる。クライアントが、サービスからのメッセージを処理すると、クライアントはクライアントシーケンスIDによって応答する。SSI値とCSI値は、送信キューのメッセージ数を決定する。サービスは、現行のSSIとCSIの間の差とストップウインドウ値を比較する。その差がストップウインドウ値を超えていれば、サービスからクライアントへのメッセージの送信はオフにされる。クライアントは、メッセージを処理する間は、CSI承認を送り続ける。その差がストップウインドウ値を下回ると、サービスからクライアントへのメッセージの送信はオンにされる。

Description

関連出願の相互参照
本特許出願は、2013年11月6日に出願された「リモートアクセス環境におけるクライアントサイドのフロー制御方法」と題する米国仮特許出願第61/900,940号及び2013年11月29日に出願された「クライアントサーバリモートアクセス環境におけるエンドツエンドフロー制御を用いたサーバサービス分離方法」と題する米国仮特許出願第61/910,189号に対する優先権を主張するものであり、当該特許出願の開示は、それらの全体が参照により本明細書に組み込まれる。
サービスに対するユビキタスリモートアクセスは、広帯域無線ネットワークアクセスが発展し、利用が可能になった結果として、ありふれたものとなった。そのため、ユーザは増え続けている様々なクライアントデバイス(例えば、モバイルデバイス、タブレットコンピューティングデバイス、ラップトップ/ノートブック/デスクトップコンピュータなど)を使用してサービスにアクセスしている。リモートサーバは、3Gや4Gのモバイルデータネットワーク、WiFi及びWiMaxのような無線ネットワーク、有線ネットワークなどを含む多様なネットワーク上でサービスとクライアントとの間のデータやその他の情報を含んでいるメッセージを伝送することができる。
サービスから接続されたクライアントにメッセージを送るネットワーク帯域幅は十分であっても、クライアントが十分迅速にメッセージを処理できない場合には、問題が生じる。例えば、アプリケーションプログラミングインターフェース(API)によっては、ネットワーキングがプッシュ型に基づいていることもある。そのため、クライアントが何もしていないか、あるいはバックグラウンドタスクを実行している間、クライアントでは追加のメッセージが送られ、キューに追加されてもよい。多すぎるメッセージが送られ、クライアントが迅速に処理できないと、エラーが生じることもある。
リモートアクセスシステムにおけるフロー制御を提供するためのシステムと方法が以下に開示される。本開示の態様に従って、本方法は、サービスからクライアントへメッセージを送ることであって、サービスはクライアントによって遠隔からアクセスされ、メッセージはサービスシーケンスID(SSI)を含む、送ること、サービスにおいて、関連付けられた特定のSSIを有するメッセージのクライアントによる処理の完了に応じてクライアントからクライアントシーケンスID(CSI)を受信すること、クライアントに送られる現行のSSIとクライアントから受信される現行のCSIの差をサービスにおいて決定すること、その差が所定の停止ウインドウ値を超える場合にサービスからクライアントへの通信をオフにすることを含んでもよい。
本開示の他の態様に従って、記述されるクライアントサイドフロー制御の提供方法は、サービスからクライアントへメッセージを送ることであって、メッセージはサービスからクライアントへ送られた複数のメッセージ中の当該メッセージの相対位置を表すためにサービスによって増分される第1シーケンス番号を含む、送ること、サービスにおいて、第1シーケンスより小さい番号の第2シーケンス番号を有するメッセージの処理の完了を示すクライアントからの応答を受信すること、クライアントにおけるメッセージの処理が第1所定値より遅れているかどうかをサービスにおいて応答から決定すること、クライアントが所定値を超えて遅れている場合にサービスからクライアントへの通信をオフにすることを含んでもよい。
本開示の更に他の態様に従って、サービスからクライアントへメッセージを送るクライアントサイドのフロー制御を提供する装置が記述されている。本装置は、クライアントとサービスの間で送られたメッセージの通信プロキシとしてサーバレイヤを備えたリモートアクセスサーバであって、サーバレイヤはクライアントに向けられたメッセージのアウトバウンドクライアントキューを含む、リモートアクセスサーバと、サービスに関連付けられたサービスレイヤを実行する第2サーバであって、サーバレイヤはクライアントから受信されたメッセージのサービス受信キューとクライアントに向けられたメッセージのサービス送信キューを有する、第2サーバとを含んでもよい。クライアントに向けられたメッセージはサービスシーケンスID(SSI)を含んでもよく、クライアントから受信されたメッセージは、関連付けられた特定のSSIを有するメッセージの処理がクライアントにより完了したことを示すクライアントシーケンスID(CSI)を含んでもよい。サービスは、現行のSSIとクライアントから受信したCSI間の差が、サービスからクライアントへの通信をオフにする所定のストップウインドウ値を超えているかどうかを決定してもよい。
本開示の更に他の態様に従って、リモートアクセスシステムにけるクライアントサイドのフロー制御を提供する方法が記述されている。本方法は、サービスからクライアントへメッセージを送ることであって、サービスはクライアントによって遠隔からアクセスされ、メッセージはサービスシーケンスID(SSI)を含む、送ること、クライアントシーケンスID(CSI)に関連付けられたSSIを有するメッセージの処理がクライアントにより完了したことに応答してクライアントからCSIを受信すること、クライアントに送られた現行のSSIとクライアントから受信されたCSIの差をサービスにおいて決定すること、その差が所定のストップウインドウ値を超えている場合にサービスからクライアントへの通信をオフにすることを含んでもよい。
その他のシステム、方法、特徴及び/または利益は、次の図面と発明の詳細な説明を精査すると、この分野の通常の知識を有する者にとって明らかとなるであろう、または明らかとなり得る。そのようなシステム、方法、特徴及び/または利益の全ては、この記述のうちに含まれ、添付の請求項によって保護されることを意図している。
図面のコンポーネントは、必ずしもお互いに相対的なスケールになっていない。同様な参照数字は、幾つかの表示を通して対応する部分を表わしている。
本開示による例示の階層化アーキテクチャを示す図である。 図1のアーキテクチャ内で実行される例示のオペレーションのフローダイアグラムである。 図1のアーキテクチャ内で実行される例示のオペレーションのフローダイアグラムである。 図1で示されているような階層化アーキテクチャでのサービスに対するクライアントリモートアクセスについて例示のサーバーサービスモデルを示すものである。 図1で示されているような階層化アーキテクチャでのサービスに対するクライアントリモートアクセスについて例示のサーバーサービスモデルを示すものである。 例示のコンピューティングデバイスを示すものである。
特に定義をしない限り、本明細書で使用される全ての技術用語及び科学用語は、この分野の通常の知識を有する者が共通に理解しているものと同じ意味を有している。本明細書に記述されている方法及び材料と同様または均等なものは、本開示の実施や試験で使用することができる。実装については遠隔でアクセスするサービスについて記述されるが、この分野の通常の知識を有する者にとって、実装は当該実装に限定されず、リモートデバイスを介してのアプリケーション及びデータを含め、任意のタイプのサービスに遠隔でアクセスすることに適用できることは明らかであろう。
上述の概要を前置きとして、ここで、本開示による階層化アーキテクチャを例示している図1を参照する。階層化アーキテクチャは、アプリケーションサーバ106上で実行するサービスからの情報のフローについて、クライアント102がリモートアクセスサーバ104を介して制御を可能にするクライアントフロー制御メカニズムを実装する。図1に示されているように、システムにはクライアントレイヤ112、サーバレイヤ114及びサービスレイヤ116の3層がある。本開示によると、階層化アーキテクチャは、データやアプリケーションサーバ106からのその他の情報を含んでいるメッセージを処理するクライアントの能力の特殊性を説明するメッセ―ジのキューを含んでいる。クライアントレイヤ112は、クライアント102にあり、サーバレイヤ114と接続するために使用される。典型的には、クライアントレイヤ112は、クライアント102でユーザインターフェースを提供するために使用される、例えば、ウエブブラウザ、専用アプリケーションなどのクライアントアプリケーションを含んでいる。クライアント102は、リモートアクセスサーバ104に通信ネットワーク125によって接続される、例えば、IPHONE(登録商標)、ANDROID(登録商標)ベースデバイス、タブレットデバイスまたはデスクトップ/ノートブックパーソナルコンピュータなどの無線携帯デバイスであってもよい。
リモートアクセスサーバ104は、クライアント102を、例えば、医療アプリケーソンとすることができる、アプリケーションサーバ106に接続するために使用されるサーバリモートアクセスプログラムを含むことができる。サーバリモートアクセスプログラムの実施例は、PUREWEBであり、カナダ国アルバータ州カルガリー市のカルガリーサイエンティフィック社から上市されている。サーバリモートアクセスプログラムは、図1のアーキテクチャにわたる接続の集約とアプリケーションプロセス管理をオプションとして提供されてもよい。リモートアクセスサーバ104は、通信接続126によってアプリケーションサーバ106に接続することができる。アプリケーションサーバ106がリモートアクセスサーバ104以外のコンピューティングデバイス上で稼働する場合、通信接続126は通信ネットワークでよい。例えば、通信接続126はTCP/IP通信ネットワーク、VPN接続、専用接続などでよい。アプリケーションサーバ106が、リモートアクセスサーバとして、同じノードまたはコンピュータ上で稼働する場合、通信接続126は、TCP/IPソケット接続、共有メモリスペース、共有ファイルロケーションなどでよい。
サーバレイヤ114は、以下に記述されるように、クライアント102からサービスレイヤ116にプロキシ通信をする働きをする。クライアントレイヤ112は、リモートアクセスサーバ104から受信されるメッセージのクライアント受信キュー120を含んでおり、そのメッセージは、クライアント102が論理的に接続されるアプリケーションサーバ106に代わって送信される。クライアントレイヤ112は、また、リモートアクセスサーバ104のサーバレイヤ114における受信キュー123に送るメッセージのクライアント送信キュー122を含んでいる。メッセージは、最終的には、例えば、アプリケーションサーバ106に向けられてもよい。
サービスレイヤ116の例(例えば、サービスに関連付けられる)は、サーバレイヤ114に接続し、アプリケーションサーバ106からそのサービスに論理的に関連付けられたクライアント102への通信を代行する。サービスレイヤ116は、クライアント102の代わりにリモートアクセスサーバ104から受信するメッセージのサービス受信キュー128を含んでいる。各メッセージはクライアント102の独特の識別子によってラベルが付けられてもよい。サービスレイヤ116は、また、リモートアクセスサーバ104のサーバレイヤ114におけるクライアントキュー124に送るメッセージのサービス送信キュー130を含んでいる。サービス送信キュー130の各メッセージは、また、クライアント102の独特の識別子によってラベルが付けられてもよい。更にサービスのタイプに関する詳細については、図4A及び4Bを参照して提示する。
本開示のクライアントフロー制御メカニズムは、サーバ104とクライアント102の間のネットワーク接続がメッセージ追跡システムによって決定されるように飽和したとき、サービスにメッセージの送信を停止させるサービスレイヤ116に実装されるサービスソフトウエア開発キット〈SDK〉の一部として含まれてもよい。図2を参照して以下に記述するように、クライアントに送られる現行のサービスシーケンスID(SSI)と各接続セッションのためにクライアントから受信される現行のクライアントシーケンスID(CSI)を追跡するためにシーケンスカウンタを加えてもよい。クライアントレイヤ112は、サービスシーケンスID(SSI)を有するアプリケーションサーバ106について、サービスの実行に伴うメッセージを待つ。クライアントがSSIを有するメッセージを受信し処理するときはいつでも、サービスに承認としてクライアントシーケンスID(CSI)を送る。サービスシーケンスID(SSI)とクライアントシーケンスID(CSI)の差が、所定のOffWindowSize値より大きいとき、クライアント102への送信はオフにすることができる。換言すれば、SSIとCSIの組み合わせは、キュー120、124及び130におけるメッセージの数がOffWindowSize値より大きいことを示している。サービスシーケンスID(SSI)とクライアントシーケンスID(SSI)の差が、OnWindowSize値を下回るとき、クライアント102への送信はオンにすることができる。そのため、サービスは、そのメッセージ処理において、クライアントにどのくらい遅れているかを決定することができる。OnWindowSize値は、サービスがより多くのデータを送る前に、クライアントが「追いつく」ことができるようにする。
サービスシーケンスID:SSI
クライアントシーケンスID:CSI
フロー制御メッセージ
CSI SSI
クライアント送信オン(初期) 0 0
サービスがシーケンスIDを送信する
クライアントが受信/処理する 0 1
承認
クライアントが更新シーケンスIDを送信する
サービスが受信/処理する 1 1
SSI−CSI>ストップウインドウサイズであれば
クライアント送信オフ
SSI−CSI<スタートウインドウサイズであれば
クライアント送信オン
ストップウインドウサイズ≧スタートウインドウサイズ
図2はクライアントサイドのフロー制御を提供するオペレーションフローダイアグラム200である。202では、セッションがその送信状態を「オン」にして始まる。そのため、クライアント102とアプリケーションサーバ106上のサービス実行との間の通信が確立し、メッセージが流れている。204では、サービスがサービスシーケンスID(SSI)を有するメッセージをクライアントに送る。SSIは、アプリケーションサーバ106によって送られ、その数が増分する識別子である。上述の通り、アプリケーションサーバ106のサービスがクライアント102へパケットのメッセージを送るたびに、クライアント102にシーケンスIDを送信する。206では、SSIを有するインバウンドのメッセージがクライアントによって処理され、クライアントシーケンスID(CSI)が生成される。上述で指摘したように、CSIは、クライアント102によって処理されるメッセージに含まれるSSIを反映したものであり得る。208では、クライアントは、サービスにCSIを有する承認メッセージを送る。本開示の態様に従って、クライアント102によって送信されるCSIは、クライアント102がアプリケーションサーバ106からのメッセージを処理した後に送信される。例えば、SSIが「1」であれば、クライアント102は、アプリケーションサーバ106への承認メッセージにCSIとして「1」を反映することができる。
210では、サービスは、現行のSSIと現行のCSIの差を決定する。アプリケーションサーバ106は、その現行のSSIとCSI値を維持する。これらの値の差は、クライアント102が圧倒されるか、またはアプリケーションサーバ106の後で遅れているのかを決定するために、アプリケーションサーバ106によって使用することができる。212では、SSIとCSIの差がストップウインドウサイズ(例えば、OffWindowSize値)より大きく、現行の送信状態が「オン」であれば、セッションは、203で「オフ」の送信状態に設定される。この送信状態変化は、アプリケーションサーバ106が、クライアント102に追加のメッセージを送るのを停止させる。クライアント102はメッセージを処理し続ける間に、クライアント102は、CSIを更新するメッセージを送ることができるので、アプリケーションサーバ106は、SSIとCSI値の追跡を継続する。送信状態がオフであるが、メッセージは、サービスレイヤ116においてサービス送信キュー130のキューに加えられる。クライアント102が、クライアント受信キュー120のキューに加えられたメッセージの処理を継続する206で処理は継続する。
212では、SSIとCSIの差がストップウインドウサイズより大きくないならば、処理は、サービスが数の増分されたSSIを有するクライアントへ次のメッセージを送る204に戻る。アプリケーションサーバ106は、クライアント102へサービス送信キュー130の次のメッセージを送る。処理は、上述の通り、継続する。
212で、現行の送信状態が「オフ」であれば、214でSSIとCSIの差がスタートウインドウサイズ(例えば、OnWindowSize値)より小さいかどうかが決定される。そうでないならば、処理は206に戻り、そこでクライアント102は、クライアント受信キュー120の次のメッセージを処理する。214で、SSIとCSIの差がスタートウインドウサイズより小さければ、クライアントは、サービスからのメッセージを処理する準備が整い、202で送信状態は「オン」に設定される。
上述のオペレーションフローにおいて、例示のストップウインドウ(OffWindowSize)値は、5である。注目されるのは、この値は、クライアント102とアプリケーションサーバ106の間の通信セッションに割り当てられる重みに基づいて調整されてもよいということである。例示のスタートウインドウ(OnWindowSize)値は2である。実装によっては、送信がオンとオフの間で急速に変転する状況を防ぐために、ストップウインドウ値とスタートウインドウ値が異なることがある。
更に、他の実装によれば、スタートとストップウインドウ値は、例えば、クライアント102の実行履歴、使用される通信ネットワークのタイプ(例えば、イーサーネット対セルラーデータ)などに基づいて動的に調整することができる。スタートウインドウ値とストップウインドウ値の差は、アプリケーションサーバ106とクライアント102の間の送信が首尾よく行われる場合に、もっと大きくすることができ、送信に支障がある場合に、より小さくすることができる。
このため、上述の通り、アプリケーションサーバ106は、クライアント102からの情報に基づき、全てのフロー制御の決定を行う。更に、プロセス200は、クライアント102に遅延が存在することをアプリケーションサーバ106において知らせる際の遅延を防ぐ。こうすることによって、メッセージをクライアント102の品質/実行に順応させる。例えば、クライアント102が遅れ、メッセージを十分迅速に処理できなくなった場合であっても、図2のフロー制御メカニズムは、ネットワークがメッセージを完全に送信できるとしても、メッセージの送信を中止する。
上述によると、図2のオペレーションフローは、通信接続126の送信特性を説明するためにも使用することができる。例えば、通信接続126は、コンピューティングデバイスの高い帯域の内部システムバスを提供できない。従って、オペレーションフロー200は、アプリケーションサーバ106とリモートアクセスサーバ104の間の通信期間に生じ得る呼出し時間に対応する。
他の実装によると、オペレーションフロー200は、SSI及び/またはCSIを認識しないまたは送らないサービス及び/またはクライアント間の相互運用性を提供することができる。例えば、アプリケーションサーバ106がSSIを送らない場合、クライアント102はCSIを送らないように順応することになろう。また、サービスがSSIを送るが、クライアント102がCSIで応えない場合、サービスはクライアントが使用可能となっていないと想定することになろう。
実装によっては、2以上のクライアントデバイスがリモートアクセスサーバ104を使用してサービスと共同セッションで共同して相互に対話することができるものもある。リモートアクセスサーバ104は、アプリケーションサーバ106に関連付けられたディスプレイデータの同期表示を提供する状態モデルを利用することができる。フロー制御は、クライアント毎に実装されてもよい。特定のクライアントに対して送信がオフの場合、送信がオン状態に戻ったとき、そのクライアントは、共同セッションの他のクライアントとの表示を再同期するために、メッセージをスキップしてもよい。
図3はサービスとSSIとCSIを利用する論理的に接続されたクライアントの間で関連付けられた信頼できるメッセージ送信を提供するオペレーションのフローダイアグラム300を示している。例えば、実装によっては、クライアントからのCSI応答が使用されて、クライアント102によってどのメッセージが成功裏に受信されたかをアプリケーションサーバ106が知るものもある。302では、サービスがSSIを有するメッセージをクライアントに送る。次いで、302で、クライアントは、CSI値を有するメッセージをサービスに送る。アプリケーションサーバ106がこのメッセージを受信した場合、306で、アプリケーションサーバ106は、関連するSSI値に関連付けられたメッセージをサービス送信キュー130から安全に取り除くことができる。しかし、CSIが受信されていなければ、サービスは、対応するSSIを有するメッセージを再送することができる(308)。同様に、プロセス302〜308は、クライアントでも使用できる。例えば、アプリケーションサーバ106が、クライアント102にメッセージを送るたびに、以前のSSI値に関連付けられたメッセージをクライアント送信キュー122から安全に取り除くために受信SSI値を使用することができる。そのため、SSIとCSI値は、アプリケーションサーバ106とクライアント102の間の信頼できる通信を提供するために使用できる。
図4Aと図4Bを参照すると、これらの図は、上述したクライアントサイドフロー制御メカニズムを実装することができる図1に示されているような階層化アーキテクチャにおいて、サービスに対するクライアントリモートアクセスの代替モデルの実施例を示している。図4Aは、クライアントデバイスが通信をするリモートアクセス及びアプリケーションサーバと同じシステムまたはコンピューティングデバイス上にサービスが配置される「管理されたサービス」115を示している。この事例では、サーバが、クライアントが接続及び切断するたびにサービスを開始し停止することによって、アプリケーション/プロセスのライフサイクルを制御するように、サービスの管理がなされる。図4Bは、統合されたリモートアクセス及びアプリケーションサーバとは異なったシステムノードにあるサーバ上にサービスが配置され、アプリケーション/プロセスのライフサイクルが最早リモートアクセスサーバによって管理されていない、「管理されていないサービス」117を示している。
図4Aと図4Bにおいて、サーバリモートアクセスプログラムは、接続配列やアプリケーションマネジメントを提供する。更に、両方の管理されたサービス115と管理されていないサービス117は、図2のクライアントサイドフロー制御及び/または図3の信頼できるメッセージングを実装することができる。例えば、図4Bの環境が実装され、通信接続126が、管理されていないサービス117とリモートアクセスサーバ104との間で通信障害を起こす状況を経験すると、図2のフロー制御メカニズムによるSSI及びCSI値の追跡は、状況がもっと好転するまで、通信をオフにするために管理されていないサービス117によって使用されてもよい。
図4Aに示されているように、クライアント102は、リモートアクセス及びサーバレイヤ114とサービスレイヤ116を含むアプリケーションサーバ103と通信することができるクライアントレイヤ112を有する。クライアント102は、通信ネットワーク125によってリモートアクセス及びアプリケーションサーバ103に接続されてもよい。リモートアクセス及びアプリケーションサーバ103は、サーバレイヤ114において実行するサーバリモートアクセスプログラムを含むことができる。サーバリモートアクセスプログラムは、サービスレイヤ116において実行する管理されたサービス115(例えば、アプリケーション)にクライアント102を接続するために使用される。リモートアクセス及びアプリケーションサーバ103内で、サーバレイヤ114のサーバリモートアクセスプログラムは、TCPソケット接続を使用し、例えば、リモートアクセス及びアプリケーションサーバ103のシステムバスによって、サービスレイヤ116のサービスに接続することができる。このため、サーバリモートアクセスプログラムとサービスの間の帯域幅は極めて高い。クライアント102とリモートアクセス及びアプリケーションサーバ103の実施例は、図5に示されている。
図4Bを参照すると、管理されていないサービス配置の実施例が図示されている。このような環境で、リモートアクセスサーバ104は、サーバリモートアクセスプログラムが実行されるサーバレイヤ114を含んでいる。アプリケーションサーバ106は、サービスまたはアプリケーションが実行されるサービスレイヤ116を含んでいる。図4Bの環境では、サービス(管理されていないサービス117として示されている)が、サーバリモートアクセスプログラムを実行し、通信接続126によってリモートアクセスサーバ104と通信するコンピューティングデバイス以外のコンピューティングデバイス上に提供される。このため、サービスはサーバとは分離したノード上にある。リモートアクセスサーバ104とアプリケーションサーバ106の実施例が図5に示されている。
図4Bでは、クライアント102は、通信接続125によって、リモートアクセスサーバ104に接続している。アプリケーションサーバ106は、所定のインターネットプロトコル(IP)アドレス及び/またはソケットで、またはリモートアクセスサーバ104に関連付けられたユニフォームリソースロケータ(URL)を使用して、リモートアクセスサーバ104に接続することができ、リモートアクセスサーバ104上で実行するサーバリモートアクセスプログラムにサービスあるいはアプリケーションを登録する。外部のエンティティ(エンドユーザまたは他のプロセスもしくはアプリケーション)がリモートアクセスサーバ104の外で管理されていないサービス117を開始する。管理されていないサービス117は、スタートアップすると、サーバサービスソケット接続を使用してリモートアクセスサーバ104に接続し、クライアントが接続できるキューに加えられた管理されていないアプリケーションとしてセッションを確立する。
図5は、例示的実施形態と態様が実装される例示のコンピューティング環境を示している。コンピューティングシステム環境は、適切なコンピューティング環境の一実施例であり、使用や機能性の範囲についてなんらの限定をも示唆することを意図していない。
多くの他の汎用または特定用途のコンピューティングシステム環境あるいは構成が使用できる。周知のコンピューティングシステム、環境及び/または使用に適切な構成の実施例は、パーソナルコンピュータ、サーバ、ハンドヘルドあるいはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、ネットワークパーソナルコンピュータ(PC)、マイクロコンピュータ、メインフレームコンピュータ、組み込みシステム、それらのシステムまたはデバイスのいずれかを備える分散コンピューティング環境などを含むが、それらに限定されない。
コンピュータによって実行されるプログラムモジュールなどのコンピュータが実行可能な命令を使用することができる。一般に、プログラムモジュールは、特定のタスクを実行するまたは特定のアブストラクトデータタイプを実装するルーティン、プログラム、オブジェクト、コンポーネント、データストラクチャなどを含む。分散コンピューティング環境は、タスクが通信ネットワークまたは他のデータ送信媒体を通して結合されるリモート処理デバイスによって実行される場合に、使用することができる。分散コンピューティング環境において、プログラムモジュールや他のデータは、メモリストレージデバイスを含むローカル及びリモートコンピュータストレージ媒体の両方にあってもよい。
図5について、以下に記述する態様を実装する例示のシステムは、コンピューティングデバイス500などのコンピューティングデバイスを備えている。その最も基本的な構成においては、コンピューティングデバイス500は、典型的には、少なくとも1つの処理ユニット502とメモリ504を含んでいる。正確な構成及びコンピューティングデバイスのタイプによるが、メモリ504は揮発性(ランダムアクセスメモリ(RAM)など)、不揮発性(読み出し専用メモリ(ROM)、フラッシュメモリなど)またはその2つのなんらかの組み合わせであってもよい。この最も基本的な構成が点線506によって図5に例示されている。
コンピューティングデバイス500は、追加の特徴/機能性を持つことができる。例えば、コンピューティングデバイス500は、磁気または光学ディスクあるいはテープを含むが、これらに限定されない追加のストレージ(取り外し可能及び/または取り外し不能)を含んでもよい。そのような追加のストレージが、図5において、取り外し可能ストレージ508及び取り外し不能ストレージ510によって例示されている。
コンピューティングデバイス500は、典型的には、様々な有体的なコンピュータ可読媒体を含む。コンピュータ可読媒体は、デバイス500によってアクセスできる任意の利用可能な有体的媒体であってよく、揮発性及び不揮発性、取り外し可能及び/または取り外し不能媒体の両方を含んでいる。
有体的コンピュータストレージ媒体は、コンピュータ可読命令、データストラクチャ、プログラムモジュールまたは他のデータなどの情報の保存の任意の方法または技術で実装される揮発性及び不揮発性、取り外し可能及び/または取り外し不能媒体を含むものである。メモリ504、取り外し可能ストレージ508及び取り外し不能ストレージ510は、全てコンピュータストレージ媒体の実施例である。有体的コンピュータストレージ媒体は、RAM、ROM、電気的に消去可能なプログラム読み出し専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多様性ディスク(DVD)または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージあるいは他の磁気ストレージデバイス、もしくは所望の情報を保存するために使用でき、かつ、コンピューティングデバイス500によってアクセスできる任意の他の媒体を含むが、これらに限定されない。任意のその種のコンピュータストレージ媒体は、コンピューティングデバイス500の一部であり得る。
コンピューティングデバイス500は、デバイスが他のデバイスと通信可能になる通信接続512を含んでいる。コンピューティングデバイス500は、また、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス514を有する。ディスプレイ、スピーカ、プリンタなどの出力デバイス516も含むことができる。全てのこれらのデバイスはこの分野で周知であって、ここで長々と考察する必要はない。
ここで記述されているいろいろな手法は、ハードウエアまたはソフトウエア、適切であればそれらの両方の組み合わせに関連付けて、実装することができる。従って、ここで開示されている主題の方法と装置、あるいはそれらのある特定の態様または部分は、フロッピーディスケット、CD−ROM、ハードドライブ、あるいは任意の他のマシーン可読ストレージ媒体などの有体的媒体に実施されたプログラムコード(すなわち、命令)の形態を取ることができ、プログラムコードがコンピュータなどのマシーンに読み込まれ、実行されるとき、当該マシーンは現在開示している主題を実施する装置となる。プログラマブルコンピュータ上でプログラムコードを実行する場合、コンピューティングデバイスは、一般的には、プロセッサ、プロセッサによって可読のストレージ媒体(揮発性及び不揮発性メモリ及び/またはストレージエレメントを含む)、少なくとも1つの入力デバイスと少なくとも1つの出力デバイスを含んでいる。1つまたは複数のプログラムは、例えば、アプリケーションプログラミングインターフェース(API)、再使用可能なコントロールなどの使用を介して、現在開示されている主題に関連して記述されているプロセスを実装し、または使用することができる。そのようなプログラムは、コンピュータシステムと通信するために、高いレベルの手続型またはオブジェクト指向プログラミング言語で実装できる。しかし、プログラムは、所望により、アッセンブリまたはマシーン言語で実装することができる。いずれにしても、その言語は、コンパイルされるか解釈される言語でよく、ハードウエア実装と組み合わせることができる。
主題は構造的特徴及び/または方法論的行動に特化している言葉で記述されているが、添付の特許請求範囲で定義されている主題は、上述の特定の特徴や行動に必ずしも限定される訳ではない。むしろ、上述の特定の特徴と行動は、特許請求の範囲を実施する例示の形態として開示されている。
102 クライアント
103 アプリケーションサーバ
104 リモートアクセスサーバ
106 アプリケーションサーバ
112 クライアントレイヤ
114 サーバレイヤ
116 サービスレイヤ
117 サービス
120 クライアント受信キュー
122 クライアント送信キュー
124 クライアントキュー
128 サービス受信キュー
130 サービス送信キュー

Claims (22)

  1. リモートアクセスシステムにおけるクライアントサイドのフロー制御の提供方法であって、
    サービスからクライアントにメッセージを送ることであって、前記サービスは前記クライアントによって遠隔からアクセスされ、前記メッセージはサービスシーケンスID(SSI)を含む、送ること、
    関連付けられた特定のSSIを有するメッセージの前記クライアントによる処理が完了したことに応答して前記サービスにおいてクライアントシーケンスID(CSI)を前記クライアントから受信すること、
    前記クライアントに対して送信された現行のSSIと前記クライアントから受信された前記現行CSIとの差を前記サービスで決定すること、及び
    前記差が所定のストップウインドウ値より大きい場合に前記サービスから前記クライアントへの通信をオフにすること、を含む、方法。
  2. 請求項1に記載の方法であって、
    続いて、前記現行のSSIと前記クライアントから受信された後続のCSIの差を前記サービスで決定すること、及び
    前記差が所定のスタートウインドウ値より小さい場合に前記サービスから前記クライアントへの通信をオンにすること、を更に含む、前記方法。
  3. 請求項2に記載の方法であって、前記所定のスタートウインドウ値は、前記所定のストップウインドウ値より小さい、前記方法。
  4. 請求項2〜3のいずれかに記載の方法であって、ネットワーク条件の1つと前記クライアントの処理能力に応じて、前記所定のスタートウインドウ値または前記所定のストップウインドウ値を動的に調整すること、を更に含む、前記方法。
  5. 請求項1〜4のいずれかに記載の方法であって、前記現行SSIとCSI値を前記決定することを実行するために、前記サービスで維持すること、を更に含む、前記方法。
  6. 請求項1〜5のいずれかに記載の方法であって、
    前記クライアントでクライアントレイヤを提供すること、
    前記サービスに関連付けられたサービスレイヤを提供することであって、前記サービスレイヤは、前記クライアントから受信したメッセージのためにサービス受信キューと前記クライアントに向けられたメッセージのサービス送信キューを有する、提供すること、及び
    前記クライアントと前記サービスの間で送られるメッセージの通信プロキシとしてサーバレイヤを提供することであって、前記サーバレイヤは、前記クライアントに向けられたメッセージのアウトバウンドクライアントキューを含む、提供すること、を更に含む、前記方法。
  7. 請求項6に記載の方法であって、前記サービスから前記クライアントへの前記通信がオフのとき、前記サービス送信キューのキューメッセージを更に含む、前記方法。
  8. 請求項6〜7のいずれかに記載の方法であって、前記サービスレイヤに提供されたサービスレイヤSDKにおける前記決定を実行すること、を更に含む、前記方法。
  9. 請求項6〜8のいずれかに記載の方法であって、
    特定のSSIを有するメッセージが前記クライアントによって承認されなかったことを決定することによって前記クライアントと前記サービスの間の通信の障害を検出すること、及び
    前記障害の検出により、前記特定のSSIを有する前記メッセージを再送すること、を更に含む、前記方法。
  10. 請求項6〜9のいずれかに記載の方法であって、前記サービス送信キューから前記メッセージを再送すること、を更に含む、前記方法。
  11. 請求項1〜10のいずれかに記載の方法であって、
    前記クライアントと前記SSIを使用する前記サービスの間における通信の障害を検出すること、及び
    前記障害を検出することによって、前記クライアントによって承認されなかったことが決定された特定のSSIを有するメッセージを再送すること、を更に含む、前記方法。
  12. 請求項1〜11のいずれかに記載の方法であって、
    アプリケーションサーバ上で実行する管理されていないサービスとして前記サービスを提供すること、
    第1通信接続によって前記サービスと及び第2通信接続によって前記クライアントと通信するリモートアクセスサーバ上で実行するサーバリモートアクセスプログラムを提供すること、
    前記第2通信接続によって前記リモートアクセスサーバで前記クライアントからの接続を受信すること、及び
    前記決定することに従い、前記サービスから前記クライアントへメッセージを送信すること、を更に含む、前記方法。
  13. 請求項12に記載の方法であって、異なるノードとして、前記アプリケーションサーバと前記リモートアクセスサーバを提供すること、を更に含む、前記方法。
  14. クライアントサイドフロー制御の提供方法であって、
    サービスからクライアントにメッセージを送ることであって、前記メッセージは、前記サービスから前記クライアントに送られる複数のメッセージ内の前記メッセージの相対位置を表わすために前記サービスによって増分される追跡メカニズムを含む、送ること、
    前記追跡メカニズムによりメッセージの処理が完了したことを示す前記クライアントからの応答を前記サービスで受信すること、
    前記クライアントでのメッセージの前記処理が第1の所定値を超えて遅延しているかどうかを前記応答から前記サービスで決定すること、及び
    前記クライアントが前記所定値を超えて遅延している場合に前記サービスから前記クライアントへの通信をオフにすること、を含む、方法。
  15. 請求項14に記載の方法であって、
    後続の応答を前記サービスで受信すること、及び
    前記サービスにおいて前記後続の応答から前記クライアントでのメッセージの前記処理が最早第2の所定値を超えて遅れていないかどうかを決定すること、及び
    前記サービスから前記クライアントへの通信をオンにすること、を更に含む、前記方法。
  16. 請求項15に記載の方法であって、前記第2の所定値は前記第1の所定値より小さい、前記方法。
  17. 請求項15〜16のいずれかに記載の方法であって、ネットワーク条件の1つ及び前記クライアントの処理能力に従って前記第1の所定値または前記第2の所定値を動的に調整すること、を更に含む、前記方法。
  18. サービスからクライアントへのメッセージ送信のクライアントサイドのフロー制御の提供装置であって、
    前記クライアントと前記サービスの間で送信されるメッセージの通信プロキシとしてサーバレイヤを有するリモートアクセスサーバであって、前記サーバレイヤは前記クライアントに向けられたメッセージのアウトバウンドクライアントキューを含む、リモートアクセスサーバと、
    前記サービスに関連付けられたサービスレイヤを実行する第2サーバであって、前記サービスレイヤは前記クライアントから受信されたメッセージのサービス受信キューと前記クライアントに向けられたメッセージのサービス送信キューを有する、第2サーバと、を含み、
    前記クライアントに向けられた前記メッセージは、サービスシーケンスID(SSI)を含み、前記クライアントから受信した前記メッセージは、前記メッセージに関連付けられた特定のSSIを有するメッセージの前記クライアントの処理完了を示すクライアントシーケンスID(CSI)を含み、及び
    前記サービスは、現行のSSIと前記クライアントから受信された前記CSIの差が前記サービスから前記クライアントへの通信をオフにする所定のストップウインドウ値より大きいかどうかを決定する、装置。
  19. 請求項18に記載の装置であって、前記サービスが、前記現行のSSIと前記CSIとの差が前記サービスから前記クライアントへの通信をオンにする所定のスタートウインドウ値より小さいかどうかを更に決定する、前記装置。
  20. 請求項18〜19のいずれかに記載の装置であって、前記所定のスタートウインドウ値は前記所定のストップウインドウ値より小さい、前記装置。
  21. 請求項19〜20のいずれかに記載の装置であって、前記スタートウインドウ値または前記ストップウインドウ値はネットワーク条件の1つと前記クライアントの処理能力に従って動的に調整される、前記装置。
  22. 請求項18に記載の装置であって、前記メッセージは、前記サービスから前記クライアントへの前記通信がオフのときにサービス送信キューにおいて追加される、前記装置。
JP2016528875A 2013-11-06 2014-11-06 リモートアクセス環境におけるクライアントサイドのフロー制御装置及び方法 Pending JP2016537884A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361900940P 2013-11-06 2013-11-06
US61/900,940 2013-11-06
US201361910189P 2013-11-29 2013-11-29
US61/910,189 2013-11-29
PCT/US2014/064242 WO2015069837A1 (en) 2013-11-06 2014-11-06 Apparatus and method for client-side flow control in a remote access environment

Publications (2)

Publication Number Publication Date
JP2016537884A true JP2016537884A (ja) 2016-12-01
JP2016537884A5 JP2016537884A5 (ja) 2018-02-01

Family

ID=51987473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016528875A Pending JP2016537884A (ja) 2013-11-06 2014-11-06 リモートアクセス環境におけるクライアントサイドのフロー制御装置及び方法

Country Status (7)

Country Link
US (2) US9584447B2 (ja)
EP (1) EP3066801A1 (ja)
JP (1) JP2016537884A (ja)
CN (1) CN106063205B (ja)
CA (1) CA2929648A1 (ja)
HK (1) HK1223209A1 (ja)
WO (1) WO2015069837A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3066801A1 (en) * 2013-11-06 2016-09-14 Calgary Scientific Inc. Apparatus and method for client-side flow control in a remote access environment
EP2988466B1 (en) * 2014-08-18 2017-05-24 Alcatel Lucent Methods and devices for transmission of media content
CN106302090B (zh) * 2015-05-25 2019-10-22 阿里巴巴集团控股有限公司 一种消息处理方法、装置及系统
US10234305B2 (en) * 2015-08-27 2019-03-19 Here Global B.V. Method and apparatus for providing a targeted map display from a plurality of data sources
CN108737243A (zh) * 2018-04-20 2018-11-02 平安科技(深圳)有限公司 会话消息质检方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1155314A (ja) * 1997-07-30 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> データ転送制御方法
JP2001203697A (ja) * 2000-01-19 2001-07-27 Matsushita Electric Ind Co Ltd フロー制御方法およびそれを実行する通信要素
JP2006166439A (ja) * 2004-12-03 2006-06-22 Microsoft Corp ウェブサービスのための信頼性のあるメッセージングプロトコルを使用したメッセージの効率的な転送
US20090077233A1 (en) * 2006-04-26 2009-03-19 Ryosuke Kurebayashi Load Control Device and Method Thereof

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205498B1 (en) * 1998-04-01 2001-03-20 Microsoft Corporation Method and system for message transfer session management
US6314452B1 (en) 1999-08-31 2001-11-06 Rtimage, Ltd. System and method for transmitting a digital image over a communication network
US6384821B1 (en) 1999-10-04 2002-05-07 International Business Machines Corporation Method and apparatus for delivering 3D graphics in a networked environment using transparent video
US6377257B1 (en) 1999-10-04 2002-04-23 International Business Machines Corporation Methods and apparatus for delivering 3D graphics in a networked environment
US6757248B1 (en) * 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
US20050203673A1 (en) * 2000-08-18 2005-09-15 Hassanayn Machlab El-Hajj Wireless communication framework
US7519048B2 (en) * 2000-12-28 2009-04-14 Nec Corporation Communication system and packet switching method thereof
US7502860B1 (en) * 2001-07-09 2009-03-10 Cisco Technology, Inc. Method and apparatus for client-side flow control in a transport protocol
US7237007B2 (en) * 2001-12-05 2007-06-26 Qualcomm Incorporated Method and system for flow control between a base station controller and a base transceiver station
US7425307B2 (en) 2002-09-23 2008-09-16 Columbia Technologies, Llc Enhanced subsurface scanning system, method and computer program product
US7385615B2 (en) 2002-10-21 2008-06-10 Microsoft Corporation System and method for scaling images to fit a screen on a mobile device according to a non-linear scale factor
US7173635B2 (en) 2003-03-25 2007-02-06 Nvidia Corporation Remote graphical user interface support using a graphics processing unit
US8572249B2 (en) * 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
WO2006058343A1 (en) 2004-11-29 2006-06-01 The Board Of Trustees Of The Leland Stanford Junior University Handheld portable volumetric workstation
US7483939B2 (en) 2005-08-25 2009-01-27 General Electric Company Medical processing system allocating resources for processing 3D to form 2D image data based on report of monitor data
US7890573B2 (en) 2005-11-18 2011-02-15 Toshiba Medical Visualization Systems Europe, Limited Server-client architecture in medical imaging
US7502501B2 (en) 2005-12-22 2009-03-10 Carestream Health, Inc. System and method for rendering an oblique slice through volumetric data accessed via a client-server architecture
US7224642B1 (en) 2006-01-26 2007-05-29 Tran Bao Q Wireless sensor data processing systems
US20070277115A1 (en) 2006-05-23 2007-11-29 Bhp Billiton Innovation Pty Ltd. Method and system for providing a graphical workbench environment with intelligent plug-ins for processing and/or analyzing sub-surface data
JP4829347B2 (ja) * 2006-08-01 2011-12-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信システムにおいてユーザ活動を収集する方法及び装置
WO2008061903A1 (en) 2006-11-22 2008-05-29 Agfa Healthcate Inc. Method and system for client / server distributed image processing
US7925100B2 (en) 2007-07-31 2011-04-12 Microsoft Corporation Tiled packaging of vector image data
US9019287B2 (en) 2007-11-23 2015-04-28 Pme Ip Australia Pty Ltd Client-server visualization system with hybrid data processing
US8253732B2 (en) 2008-01-03 2012-08-28 International Business Machines Corporation Method and system for remote visualization client acceleration
US7912975B2 (en) 2008-03-03 2011-03-22 Alcatel Lucent System and method for application layer resource traffic control
CN101651510B (zh) * 2008-08-14 2013-01-16 中兴通讯股份有限公司 业务数据同步发送的恢复处理方法和装置
US8386560B2 (en) 2008-09-08 2013-02-26 Microsoft Corporation Pipeline for network based server-side 3D image rendering
WO2010121398A1 (en) * 2009-04-24 2010-10-28 Telefonaktiebolaget L M Ericsson (Publ) A method and a system for providing mbms counting
EP2438570B1 (en) 2009-05-28 2017-03-15 Kjaya, LLC Method and system for fast access to advanced visualization of medical scans using a dedicated web portal
TWI493500B (zh) 2009-06-18 2015-07-21 Mstar Semiconductor Inc 使二維影像呈現出三維效果之影像處理方法及相關影像處理裝置
US20110010629A1 (en) 2009-07-09 2011-01-13 Ibm Corporation Selectively distributing updates of changing images to client devices
US8296359B2 (en) 2010-07-12 2012-10-23 Opus Medicus, Inc. Systems and methods for networked, in-context, high resolution image viewing
WO2012037504A1 (en) 2010-09-18 2012-03-22 Ciinow, Inc. A method and mechanism for delivering applications over a wan
US20120084350A1 (en) 2010-10-05 2012-04-05 Liang Xie Adaptive distributed medical image viewing and manipulating systems
US20120212405A1 (en) 2010-10-07 2012-08-23 Benjamin Zeis Newhouse System and method for presenting virtual and augmented reality scenes to a user
DE102010043783A1 (de) 2010-11-11 2011-11-24 Siemens Aktiengesellschaft Verfahren und Anordnung zur Lastverteilung einer 3D-Verarbeitung von Bilddaten zwischen mindestens einem Client-Rechner und mindestens einem Server-Rechner eines Netzwerkes
CN102014055B (zh) * 2010-11-23 2015-09-16 中兴通讯股份有限公司 Mtp2协议中流量控制的方法及系统
WO2012085158A1 (en) * 2010-12-21 2012-06-28 Koninklijke Kpn N.V. Method and system for handling service requests in a telecommunications network
CN102045362B (zh) * 2010-12-21 2014-01-15 北京高森明晨信息科技有限公司 一种基于udp协议的数据传输方法和系统
EP2663925B1 (en) 2011-01-14 2016-09-14 Google, Inc. A method and mechanism for performing both server-side and client-side rendering of visual data
EP2492832B1 (de) 2011-02-22 2021-08-18 Siemens Healthcare GmbH Optimierung einer auf einem client-server-system implementierten softwareapplikation
US10157236B2 (en) 2011-05-23 2018-12-18 Radware, Ltd. Optimized rendering of dynamic content
US9420259B2 (en) 2011-05-24 2016-08-16 Comcast Cable Communications, Llc Dynamic distribution of three-dimensional content
WO2012170797A1 (en) 2011-06-09 2012-12-13 Ciinow, Inc. A method and mechanism for performing both server-side and client-side rendering of visual data
US8538920B2 (en) * 2011-08-08 2013-09-17 Hewlett-Packard Development Company, L.P. System and method for storage service
CN102355462B (zh) * 2011-10-09 2015-05-20 大唐移动通信设备有限公司 一种实现tcp传输的方法及装置
US9870429B2 (en) 2011-11-30 2018-01-16 Nokia Technologies Oy Method and apparatus for web-based augmented reality application viewer
US9665981B2 (en) 2013-01-07 2017-05-30 R.B. Iii Associates Inc System and method for generating 3-D models from 2-D views
EP2893727A4 (en) 2012-09-10 2016-04-20 Calgary Scient Inc CLIENT SERIES PICTURE PLAYBACK IN A CLIENT SERVER PICTURE DISPLAY ARCHITECTURE
US9191782B2 (en) 2013-03-12 2015-11-17 Qualcomm Incorporated 2D to 3D map conversion for improved navigation
HK1222064A1 (zh) 2013-09-10 2017-06-16 卡尔加里科学股份有限公司 用於分布式服務器側和客戶機側圖像數據繪製的架構
EP3066801A1 (en) * 2013-11-06 2016-09-14 Calgary Scientific Inc. Apparatus and method for client-side flow control in a remote access environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1155314A (ja) * 1997-07-30 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> データ転送制御方法
JP2001203697A (ja) * 2000-01-19 2001-07-27 Matsushita Electric Ind Co Ltd フロー制御方法およびそれを実行する通信要素
JP2006166439A (ja) * 2004-12-03 2006-06-22 Microsoft Corp ウェブサービスのための信頼性のあるメッセージングプロトコルを使用したメッセージの効率的な転送
US20090077233A1 (en) * 2006-04-26 2009-03-19 Ryosuke Kurebayashi Load Control Device and Method Thereof

Also Published As

Publication number Publication date
CN106063205A (zh) 2016-10-26
EP3066801A1 (en) 2016-09-14
US9985913B2 (en) 2018-05-29
CA2929648A1 (en) 2015-05-14
US20170264574A1 (en) 2017-09-14
WO2015069837A1 (en) 2015-05-14
US20150127761A1 (en) 2015-05-07
HK1223209A1 (zh) 2017-07-21
US9584447B2 (en) 2017-02-28
CN106063205B (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
US10728168B2 (en) Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US11729129B2 (en) Message quests for rapid re-hosting of client devices
US9319476B2 (en) Resilient TCP splicing for proxy services
US9985913B2 (en) Apparatus and method for client-side flow control in a remote access environment
JP2018512084A (ja) 高度にスケーラブルでフォールトトレラントなリモートアクセスアーキテクチャと、当該リモートアクセスアーキテクチャに接続する方法
JP6745821B2 (ja) ハイパーテキスト・トランスファ・プロトコル要求の再送方法及びデバイス並びにクライアント端末
WO2013024342A1 (en) Method for flow control and for reliable communication in a collaborative environment
US20160248836A1 (en) Scalable self-healing architecture for client-server operations in transient connectivity conditions
US10700977B2 (en) Preventing TCP from becoming too conservative too quickly
US20200336395A1 (en) Identification of candidate problem network entities
US10594584B2 (en) Network analysis and monitoring tool
CN111835812B (zh) 全球的数据获取方法、装置、电子设备及计算机存储介质
HK1223464B (en) Method for providing a connection of a client to an unmanaged service in a client-server remote access system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181029

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190527