JP6164747B2 - 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法 - Google Patents

協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法 Download PDF

Info

Publication number
JP6164747B2
JP6164747B2 JP2014525508A JP2014525508A JP6164747B2 JP 6164747 B2 JP6164747 B2 JP 6164747B2 JP 2014525508 A JP2014525508 A JP 2014525508A JP 2014525508 A JP2014525508 A JP 2014525508A JP 6164747 B2 JP6164747 B2 JP 6164747B2
Authority
JP
Japan
Prior art keywords
client
message
service
transmission
layer
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
JP2014525508A
Other languages
English (en)
Other versions
JP2014531786A (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 JP2014531786A publication Critical patent/JP2014531786A/ja
Application granted granted Critical
Publication of JP6164747B2 publication Critical patent/JP6164747B2/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

サービス、アプリケーションプログラム、およびデータに対する遍在する遠隔アクセスは、ブロードバンドならびにワイヤレスネットワークアクセスの成長および可用性によって、当たり前のものとなった。そのように、ユーザは、増え続けている種々のクライアントデバイス(例えば、モバイルデバイス、テーブルコンピューティングデバイス、ラップトップ/ノートブック/デスクトップコンピュータなど)を使用してアプリケーションプログラムおよびデータにアクセスする。データは、3Gおよび4Gモバイルデータネットワーク、例えばWiFiおよびWiMaxのようなワイヤレスネットワーク、有線ネットワークなどを含む種々のネットワーク上で、遠隔サーバからデバイスに通信され得る。クライアントは、多くの異種のネットワーク帯域幅や待ち時間で、サービス、アプリケーションプログラムおよびデータを提供するサーバに接続し得る。しかしながら、サービスは、通常、高帯域幅で短い待ち時間の専用接続によって、サーバに接続されていた。
多くのクライアントを、例えばサーバを通して1つのサービスに、接続するための全二重通信を効果的に使用するために、フロー制御機構が必要とされる。サービスとサーバとの間およびクライアントとサーバとの間の帯域幅の大きな差異は、サービスの実装への難題をもたらすものであり、それは、各クライアントの接続の限度および能力に従って、適時の情報を各クライアントに提供することができなければならない。
本明細書において開示されるものは、遠隔アクセスシステムにおけるフロー制御を提供するためのシステムおよび方法である。方法は、クライアントデバイスにおいてクライアントレイヤを提供することと、サービスと関連付けられたサービスレイヤであって、クライアントデバイスから受信されるメッセージのためのサービス受信キューと、クライアントデバイス行きのメッセージのサービス送信キューとを有するサービスレイヤを提供することと、クライアントデバイスとサービスとの間に送信されるメッセージのための通信プロキシとして、クライアントデバイス行きのメッセージのアウトバウンドクライアントキューを含むサーバレイヤを提供することと、サービス送信キューにおけるメッセージをクライアントデバイスへの伝送のためにサーバレイヤに送信するように制御信号をサービスレイヤに通信することとを含み得る。
いくつかの実施態様によれば、回復可能な(信頼性のある)通信を提供する方法であって、ネットワーク接続でアプリケーションに遠隔的にアクセスするクライアントレイヤを提供することと、クライアントレイヤとアプリケーションとの間の通信を代理するサーバレイヤを提供することと、クライアントレイヤとサーバレイヤとの間の通信のために第1のチャネルにサービスプロトコルを実装することによって、およびサーバレイヤとクライアントレイヤとの間の通信のために第2のチャネルにサービスプロトコルを実装することによって、クライアントレイヤとサーバレイヤとの間の全二重通信を容易にすることと、第1のチャネルまたは第2のチャネル上の通信の失敗を検出することと、第1のチャネルまたは第2のチャネル上の失敗を検出すると、サービスプロトコルを使用して通信を再確立することと、を含む、方法が提供される。
更に他の実施態様によれば、コンピュータで読み取り可能な媒体の上にコンピュータで実行可能な命令を有する当該コンピュータで読み取り可能な媒体であって、コンピュータで実行可能な命令がコンピューティングデバイスのプロセッサによって実行されると、サービスと関連付けられたサービスレイヤであって、クライアントデバイスから受信されるメッセージのためのサービス受信キューと、クライアントデバイス行きのメッセージのサービス送信キューとを有するサービスレイヤを提供することと、クライアントデバイスとサービスとの間に送信されるメッセージのための通信プロキシとして、クライアントデバイス行きのメッセージのアウトバウンドクライアントキューを含むサーバレイヤを提供することと、サービス送信キューにおけるメッセージをクライアントデバイスへの伝送のためにサーバレイヤに送信するように制御信号をサービスレイヤに通信することと、を含む方法を機能させる、コンピュータで読み取り可能媒体が、提供される。
以下の図面および詳細な説明を検討することによって、当業者には他のシステム、方法、特徴および/または利点が明らかとなる、あるいは明らかになり得る。すべてのそのような追加のシステム、方法、特徴および/または利点は、この説明に含まれ、添付のクレームによって保護されることが意図される。
図面における構成要素は、必ずしも互いに対して一定の縮尺であるとは限らない。同様の参照番号は、いくつかの図面を通して対応する部分を示している。
コンピュータネットワークを介して、遠隔デバイスにおけるアプリケーションに対する遠隔アクセスを提供するためのシステムを例示する、簡略化されたブロック図である。 遠隔アクセスプログラムの動作を例示する、簡略化されたブロック図である。 本開示に従う層状アーキテクチャを例示する。 1つのサービスに通信する複数クライアントの多対一関係を例示する、本開示に従う別の層状アーキテクチャを例示する。 図1〜図2、図3Aおよび図3Bのシステム内で機能される動作例のフロー図を例示する。 図1〜図2、図3Aおよび図3Bのシステム内で機能される動作例のフロー図を例示する。 例示的なコンピューティングデバイスを例示する。
特に定義されない限り、本明細書において使用されるすべての技術的および科学的な用語は、本開示が属する技術の当業者によって一般的に理解されるものと同一の意味を有する。本明細書において説明されるものと類似または同等とみなされる方法および用具は、本開示の実施または実験において使用され得る。実施態様は、アプリケーションに遠隔的にアクセスすることについて説明されることになるが、実施態様はそれに限定されるものではなくて、遠隔デバイスを介して任意の種類のデータまたはサービスに遠隔的にアクセスすることに適用可能であることが、当業者に明らかになるであろう。
図1を参照すると、コンピュータネットワークを介してアプリケーション、データまたは他のサービスに対する遠隔アクセスを提供するためのシステム100。システムは、例えば、インターネット等のようなコンピュータネットワーク110を介してサーバ102Bに接続された、例えば、IPHONE112AまたはBLACKBERRY112B等のようなワイヤレス手持ち型デバイス等の、クライアントコンピュータ112Aまたは112Bを備える。同様に、クライアントコンピューティングデバイスはまた、通信ネットワーク110によってサーバ102Bに接続されるデスクトップ/ノートブックパーソナルコンピュータ112Cまたはタブレットデバイス112Nを含み得る。通信ネットワーク110への接続は、任意の種類の接続、例えば、Wi‐Fi(IEEE802.11x)、WiMax(IEEE802.16)、イーサネット(登録商標)、3G、4Gなどとすることができることに留意する。
サーバ102Bは、例えば、コンピュータネットワーク110を介してローカルエリアネットワーク(LAN)109に接続されるか、あるいは、コンピュータネットワーク110に直接的に接続されてもよい。例えば、LAN109は、病院、銀行、大企業、または政府機関等のような施設の内部コンピュータネットワークである。典型的には、そのような施設は依然として、LAN109に接続されたメインフレームコンピュータ102Aおよびデータベース108を使用する。多くのアプリケーションプログラム107Aは、メインフレームコンピュータ102Aのメモリ106A内に格納され得、プロセッサ104A上で実行され得る。同様に、多くのアプリケーションプログラム107Bは、サーバ102Bのメモリ106B内に格納され得、プロセッサ104B上で実行され得る。本明細書において使用される際、アプリケーションプログラム107Aおよび107Bは、遠隔アクセスのために提供される「サービス」であり得る。メインフレームコンピュータ102A、サーバ102Bおよびクライアントコンピュータ112A、112B、112Cまたは112Nは、図6の汎用コンピューティングデバイスに示されるものなどのハードウェアを使用して実装され得る。
クライアント遠隔アクセスプログラム121A、121B、121C、121Nは、それぞれ、例えば、クライアントコンピュータ112A、112B、112C、112Nのタッチスクリーン114Aまたはグラフィックディスプレイ114B/114Nおよびキーボード116B/116Cを用いたグラフィックディスプレイを使用してアプリケーションプログラムと相互に作用するための、受信したユーザ命令に従って、人が理解できる様式でデータおよび/または画像を表示するため、また、ユーザ入力データを決定するために、ユーザとの相互作用を提供するために設計されてもよい。例えば、クライアント遠隔アクセスプログラムは、実行可能なコマンドをプロセッサ118A、118B、118C、118N上で実行することによって機能し、これらのコマンドは、クライアントコンピュータ112A、112B、112C、112Nのメモリ120A、120B、120C、120Nにそれぞれ格納される。あるいは、ユーザインターフェースプログラムは、(アプリケーションプログラム107Bの1つとして)サーバ102B上で実行され、そのサーバは、さらにまた、例えば、クライアントコンピュータ112A、112B上で実行されるウェブブラウザ等のような一般的なクライアントアプリケーションによって、URLを介してアクセスされる。ユーザインターフェースは、例えば、ハイパーテキストマークアップ言語HTML5を使用して実装される。
クライアント遠隔アクセスプログラム121A、121B、121C、121Nと共にサーバ遠隔アクセスプログラム111Bの動作は、図2に例示されるように、状態モデルと協働して機能し得る。実行されると、クライアント遠隔アクセスプログラム121A、121B、121C、121Nは、ユーザインターフェースプログラムから受信したユーザ入力データに従って状態モデルを更新する。遠隔アクセスプログラム121A、121B、121C、121Nは、更新された状態モデルに従って制御データを生成し得、サーバ102B上で動いているサーバ遠隔アクセスプログラム111Bに同一のものを提供する。
アプリケーションプログラム107Aまたは1097Bからアプリケーションデータを受信すると、サーバ遠隔アクセスプログラム111Bは、スクリーンまたはアプリケーションデータに従って状態モデルを更新し、更新された状態モデルに従って表現データを生成し、同一のものをクライアントコンピューティングデバイス上のクライアント遠隔アクセスプログラム121A、121B、121C、121Nに提供する。状態モデルには、アプリケーションプログラムの論理要素の、アプリケーションプログラムの対応する状態との関連付けが含まれ、論理要素は、階層的順序にある。例えば、論理要素は、アプリケーションプログラムユーザインターフェースを構成する、スクリーン、メニュー、サブメニュー、ボタンなどであり得る。これは、クライアントデバイスが、例えば、論理要素をネイティブに表示することを可能にする。そのように、移動電話上に提示されるアプリケーションプログラムのメニューは、移動電話のネイティブメニューのように見えることになる。同様に、デスクトップコンピュータ上に提示されるアプリケーションプログラムのメニューは、デスクトップコンピュータオペレーティングシステムのネイティブメニューのように見えることになる。
状態モデルは、それぞれの論理要素がアプリケーションプログラム107Aまたは107Bの対応する状態に関連付けられるように決定される。状態モデルは、論理要素がユーザとの相互作用に関連付けられるように決定されてもよい。例えば、アプリケーションプログラムの論理要素は、論理要素が遷移要素を含むように決定され、それぞれの遷移要素は、状態モデルの変更を、制御データおよびそれに関連付けられたアプリケーション表現データのうちの1つに関連付ける。
いくつかの実施態様では、クライアントコンピューティングデバイス112A、112B、112C…112Nの2つ以上は、アプリケーションプログラム107Aまたは107Bと協働的に相互作用し得る。そのように、協働セッションに関与するクライアントコンピューティングデバイス112A、112B、112C…112Nのそれぞれと、メインフレームコンピュータ102Aまたはサーバ102Bとの間で状態情報を通信することによって、関与するクライアントコンピューティングデバイス112A、112B、112C…112Nのそれぞれは、アプリケーションプログラム107Aまたは107Bの表示の同期されたビューを提示し得る。
図3Aは、本開示に従う層状アーキテクチャを例示する。層状アーキテクチャは、フロー制御処理を実装し、その処理は、例えば、サーバ102Bが、1つ以上のクライアント(112A、112B、112C、112Nなど)をサーバ102Bを通して1つのサービス107Aまたは107Bに接続するために全二重通信を効果的に使用することを可能にする。例えば、全二重通信は、クライアント112A、112B、112C、112Nとサーバ遠隔アクセスプログラム111Bとの間の2つの半二重通信接続305を使用することによって実現され得る。そのように、他のクライアントのあるネットワーク接続特性と独立して、クライアントのネットワーク接続特性と合致するように情報の生成を調整するためのサービスについての機構が提供される。
図3Aに例示されるように、システムには3つのレイヤ、すなわち、クライアントレイヤ302、サーバレイヤ304およびサービスレイヤ306がある。本開示によれば、層状アーキテクチャは、サービスとサーバとの間、サーバと(複数の)クライアントとの間の帯域幅の差異を考慮する。特に、その差異の理由で、サービス306は、1つ以上のクライアントについてサーバ102B上に保持されたアウトバウンドメッセージキュー(下記)が、それらが空にされるよりもかなり速く増大するように、各クライアント112A、112B、112C、112Nに対してある速度で非同期的に情報を生成し得る。このことは、キュー内のより古い情報は、より新しい情報の前に伝送される必要があるので、望ましくない実行特性をもたらす可能性がある。クライアントビューはサービスの現在の状態のますます後になるので、このことは、時間が経過し、キュー長が大きくなるにつれ、より問題となる。
クライアントレイヤ302は、各クライアント112A、112B、112C、112N内に属し、サーバレイヤ304に接続するために使用される。典型的には、これは、クライアントアプリケーション121A、121B、121C、121N、例えば、ウェブブラウザ、専用アプリケーションなどを含む。サーバレイヤ304は、下記のように、各クライアント112A、112B、112C、112Nからサービスレイヤ306への通信を代理する。本開示によれば、各クライアント112A、112B、112C、112Nは固有識別子(例えば、セッションID)を有する。各クライアントレイヤ302は、サーバ102Bから受信されるメッセージのクライアント受信キュー310を含み、それは、サービス(アプリケーション107Aまたは107B)に代わって送信され、クライアントはそのサービスに論理的に接続される。各クライアントレイヤ302はまた、それがサーバ102Bに送信するメッセージのクライアント送信キュー312も含み、それは、1つの特定のサービス(例えば、107B)行きのものである。
(例えば、アプリケーション107Aまたは107Bと関連付けられる)サービスレイヤ306のインスタンスはサーバレイヤ304に接続し、そのサーバレイヤは、サービスからそのサービスと論理的に関連付けられた各クライアントへの通信を代理する。サービスレイヤ306は、サービスが論理的に接続されるすべてのクライアントに代わって、それが、サーバから受信するメッセージのサービス受信キュー318を含む。各メッセージは、サーバがクライアントからメッセージを受信したそのクライアントの固有識別子でラベル付けされる。サービスレイヤ306はまた、それがサーバ102Bに送信するメッセージのサービス送信キュー320を含む。各メッセージは、サーバ102Bに論理的に接続されるクライアントの1つだけ行きのものである。サーバ102Bが一定のコンテンツを各クライアントに送信する必要がある場合、それは、それぞれ論理的に接続されるクライアントのためにそのコンテンツを含むメッセージを作成する。各メッセージは、サーバがメッセージを送信するべきであるクライアントの固有識別子でラベル付けされる。
図3Bは、1つのサービスに対する複数クライアントの多対一関係を例示する、本開示に従う別の層状アーキテクチャを例示する。図3Aのアーキテクチャに類似の要素は、下記では再度説明されない。図3Bは、1つのサービス(107Aまたは107B)に通信する2つのクライアント(112Aおよび112N)を例示する。サーバレイヤ304は、下記のように、クライアントから、また、サービスから、それぞれ通信を受信するように働くサービスマルチプレクサ322およびクライアントデマルチプレクサ326を提供することによって、クライアントをサービスレイヤ306に多対一関係で論理的に接続する。
図3Bにおいて、サーバレイヤ304は、クライアントとサービスとの間に送信されるすべてのメッセージのための通信プロキシとして働く。それぞれ接続されたクライアントからのメッセージは、サーバレイヤ304におけるサービスマルチプレクサ322で受信され、そのサービスマルチプレクサは、メッセージをサーバレイヤ304に送信した特定のクライアント121Aまたは121Nと関連付けられた固有識別子を使用してインバウンドメッセージをラベル付けする。固有識別子は、例えば、セッションIDとすることができる。次いで、サービスマルチプレクサ322は、メッセージをサービスレイヤ306行きのメッセージの単一ストリームに組み合わせる(多重化する)。メッセージの単一ストリームは、まず、受信キュー313におけるキューに入れられ得る。
サービスレイヤ306がクライアントに通信すると、アウトバウンドメッセージは、サービス送信キュー320におけるキューに入れられ、サーバレイヤ304におけるクライアントデマルチプレクサ326に通信される。クライアントデマルチプレクサ326は、メッセージの固有識別子を調べ、メッセージの固有識別子および宛先クライアントデバイスに従って、メッセージを適切なクライアントキュー314または316に構文解析する。メッセージは、それの各々の半二重通信接続305で、クライアントキュー314または316からクライアント121Aまたは121Nに通信される。
図3Bのアーキテクチャは、複数のクライアントをサービスに対して多対一様式で接続するように記載されるが、アーキテクチャはまた、単一クライアントをサービスに接続することもでき、ここで、サービスマルチプレクサ322およびクライアントデマルチプレクサ326は、メッセージストリームをクライアントとサービスとの間で、それらの変更無しに、単に渡すことになる。
図4は、図3A、3Bのアーキテクチャ内のそれぞれ論理的に接続されるクライアントのためのサービスと関連付けられたメッセージフローを制御する制御信号を提供する動作上のフロー図400を例示する。最初に、サービスレイヤ306は、それぞれ論理的に接続されたクライアントに対して「伝送オフ」状態にある(S402、図4)。すなわち、サービスレイヤ306は、論理的に接続されるいかなるクライアントのためのいかなるメッセージも生成しないことになる。サービスレイヤ306は、1つのクライアントの固有識別子を含むサーバ102Bからの「伝送オン」メッセージを受信すると、それは、そのクライアントに対して「伝送オン」状態に入る(S404、図4)。いくつかの実施態様(図4における経路「A」)によれば、所与のクライアントに対して「伝送オン」状態にあると、サービスレイヤ306は、そのクライアントのためのすべての未処理メッセージを短い待ち時間、高い帯域幅リンク308で、サーバレイヤ304に送信することになり、その高い帯域幅リンク308はまた、2つの半二重リンクを使用する全二重通信を提供し(S406、図4)、さらにまた、そのクライアントに対して「伝送オフ」状態に入る(S408、図4)。
いくつかの実施態様では、サービスレイヤ306はまた、それのサブ構成要素が、任意のクライアントのためにメッセージ遂行要求を非同期的に生成することを可能にする。この実施態様(図4における経路「B」)において、サービスレイヤ306が所与のクライアントに対して「伝送オン」状態に入ると、それは、クライアントのための保留メッセージ遂行要求と関連付けられた新たなメッセージを生成し(S407、図4)、任意の未処理のおよび新たに生成されたメッセージをサーバに送信し(S409、図4)、次いで、そのクライアントに対して「伝送オフ」状態に再度入る(S411、図4)ことになる。
サーバレイヤ304が、論理的に接続されたクライアントからメッセージを受信すると、サーバレイヤ304は、クライアントの固有識別子でメッセージをラベル付けし、それをサービスレイヤ306に送信する。いくつかの実施態様では、メッセージは、ラベル付けられ、サービスマルチプレクサ322によってメッセージの単一ストリームに組み合わされる。インバウンドメッセージは、受信キュー313におけるキューに入れられ得る。
サーバレイヤ304が、サービスレイヤ306からメッセージを受信すると、サーバレイヤ304は、クライアントに送信されることになるアウトバウンドメッセージのクライアントキュー314または316にメッセージを配置し、メッセージは、そのクライアントのためにラベル付けされる。いくつかの実施態様では、未処理メッセージは、クライアントキュー314または316の中に配置される前に、クライアントデマルチプレクサ326によって処理され得る。クライアントのためのアウトバウンドメッセージクライアントキュー314または316が空であるとき、サーバレイヤ304は、クライアントの固有識別子を含む「伝送オン」メッセージを関連付けられたサービスレイヤに送信する(S403、図4)。一実施態様では、サーバ上のアウトバウンドメッセージクライアントキュー314および316のサイズは無限に増大せず、アウトバウンドキュー内に配置されるその任意の情報は、常に比較的「新しい」ものであることになる。
それ故、上記のように、メッセージキューは、待ち時間および帯域幅差異を考慮するように管理され得る。上記の結果は、サーバ上のアウトバウンドメッセージキューが、2つの条件下、(1)クライアントに送信されることになる情報がない、(2)サーバがメッセージのすべてを送信する十分な時間および帯域幅が許可されている場合、あるいは(1)および(2)のある組み合わせでのみ、空であるというものである。
図3Aおよび3Bを参照にして、いくつかの実施態様によれば、HTTP/HTTPSプロトコルは、通信接続305で、2つの同時HTTP/HTTPS接続を使用することによってクライアントとサーバとの間の全二重接続をシミュレートするためのサービスプロトコルとして使用され得る。HTTP/HTTPSを用いると、クライアントからサーバに「無限の要求」を送信することが可能である。この場合において、サーバは、要求ペイロードの長さは不定であることを命令され、この様式において、情報は、クライアントからサーバに継続的に流れ得る。また、HTTP/HTTPSを通じて「無限の応答」を受信することも可能である。この場合において、クライアントは、応答ペイロードの長さは不定であることを命令され、この様式において、情報は、サーバからクライアントに継続的に流れ得る。それ故、全二重通信回路は、2つの半二重HTTP/HTTPSチャネルから形作られ得る。説明されることになるように、クライアントは、両方の接続を始め、「無限の応答」接続上で待ち受ける一方で、「無限の要求」接続上で伝送する。
上記のように、各クライアントレイヤ302は、サーバ102Bから受信したメッセージのクライアント受信キュー310を含み、それは、クライアントが論理的に接続されるサービス(アプリケーションプログラム107A、107B)に代わって送信される。クライアントレイヤ302は、1つのHTTP/HTTPS接続を通じて(任意の他の半二重接続は十分であることになるが)「無限の応答」を使用してこれらのメッセージを受信する。各クライアントレイヤ302はまた、それがサーバ102Bに送信するメッセージのクライアント送信キュー312を含み、それは、1つの特定のサービス(例えば、アプリケーションプログラム107A、107B)行きのものである。クライアントレイヤ302は、第2のHTTP/HTTPS接続を通じて(任意の他の半二重接続は十分であることになるが)「無限の要求」を使用してこれらのメッセージを送信する。
サーバレイヤ304が、クライアントからメッセージを受信すると、サーバレイヤ304は、クライアントの固有識別子でメッセージをラベル付け、それをサービスレイヤ306に送信する。メッセージは、典型的には、1つのHTTP/HTTPS接続を通じて作成された「無限の要求」を通してサーバレイヤ304によって受信される。サーバレイヤ304が、サービスレイヤ306からメッセージを受信すると、サーバレイヤ304は、クライアントに送信されることになるアウトバウンドメッセージのクライアントキュー314または316内にメッセージを配置し、メッセージは、そのクライアントのためにラベル付けされる。次いで、メッセージは、第2のHTTP/HTTPS接続を通じて作成された「無限の応答」を通してクライアントキュー314または316から送信される。
層状アーキテクチャにおいて利用されるHTTP/HTTPS通信チャネル(または任意の半二重通信チャネル)の失敗は、望ましくない実行特性を結果としてもたらし得る。半二重チャネルの待ち受け側上の無音と、そのチャネルの失敗とを区別することは、困難であることがあるのに対し、伝送側から半二重チャネルの失敗を検出することは、一般的に問題ではない。また、1つ以上のメッセージは、半二重通信チャネルが失敗するときにクライアントとサーバとの間を「飛行中(in flight)」であり得る。この状況において、半二重チャネルの伝送側が、どのメッセージが成功裏に受信されたかを知る手法は無い。
それ故、本開示の実施態様によれば、接続の待ち受け側から通信の失敗を検出するための、および失敗の時に1つまたは両方の接続を通じて「飛行中」であった可能性がある情報の回復のための方法が提供される。更に、情報がHTTP/HTTPSプロトコルを使用して通信されているように説明されたが、接続ベースの通信を提供する他のプロトコル、例えばFTP、UDP、RTSP、RTPなどが、利用されてもよい。
図5は、以下のように、それぞれ論理的に接続されたクライアントのためのサービスと関連付けられた信頼性のあるメッセージングを提供する動作上のフロー図500を例示する。例えば、いくつかの実施態様では、頻繁な「キープアライブ」メッセージが、サービスからクライアントにおよびクライアントからサービスに送信され得る(S502、図5)。これは、通信チャネルの待ち受け側が無音を失敗と区別することを可能にする。半二重チャネルの待ち受け側が予測された期間内に「キープアライブ」メッセージを受信しない場合、それは、接続が失敗したことを推定し得、新たな接続を始めるステップを取る(クライアント側)、または新たな接続を待つ(サーバ側)(S504、図5)。
いくつかの実施態様では、独立したメッセージ連続番号が、クライアントおよびサーバ上で使用され得る。クライアント送信キュー312からサーバに送信されるすべてのメッセージは、順序を示す連続番号で注釈を付けられ得、各メッセージは、その順序でサーバに送信されるすべての他のメッセージに関して送信される(S506、図5)。メッセージは、クライアントから送信されると、クライアントのアウトバウンドキューから即時には取り除かれない。クライアントのアウトバウンドメッセージキュー内の次のメッセージは、通常動作下で、送信されることになる次のメッセージになる。同様に、サーバアウトバウンドメッセージクライアントキュー314または316からクライアントに送信されるすべてのメッセージは、順序を示す連続番号で注釈を付けられ、各メッセージは、その順序でクライアントに送信されるすべての他のメッセージに関して送信される(S506、図5)。メッセージは、サーバから送信されると、サーバのアウトバウンドキューから即時には取り除かれない。サーバのアウトバウンドメッセージキュー内の次のメッセージは、通常動作下で、送信されることになる次のメッセージになる。
いくつかの実施態様では、前の実施態様を踏まえて、「連続確認」メッセージ注釈が、クライアントとサーバとの間で、それぞれの側がどのメッセージが他方によって成功裏に受信されたかを知るように、使用され得る。毎回クライアントがメッセージをサーバに送信する度に、クライアントは、それが、「待ち受け」接続上でサーバから成功裏に受信した最後のメッセージの連続番号でメッセージに注釈を付ける(S508、図5)。サーバがこのメッセージを受信する場合、サーバは、連続番号と、その連続番号に先行する全てと関連付けられたメッセージをそのサーバのアウトバウンドキューから安全に取り除くことができる(S510、図5)。同様に、毎回サーバがメッセージをクライアントに送信する度に、サーバは、それが「待ち受け」接続上のクライアントから成功裏に受信した最後のメッセージの連続番号でメッセージに注釈を付ける(S508、図5)。クライアントがこのメッセージを受信する場合、クライアントは、連続番号と、その連続番号に先行する全てと関連付けられたメッセージをそのクライアントのアウトバウンドキューから安全に取り除くことができる(S510、図5)。
いくつかの実施態様では、失敗が原因で新たな接続が始められると、関連付けられたアウトバウンドキュー内に残る、前に送信されたいずれのメッセージも、他側によって受信されていない可能性があり、再送信される。クライアントが「無限の応答」チャネル(すなわち、そのクライアントがチャネル上で待ち受けている当該チャネル)上の失敗を検出すると、それは、その接続を放棄し、新たなHTTP/HTTPS「無限の応答」接続を始める(S512、図5)。これが成功する場合、サーバは、新たな接続を承認し、それが前に送信した最後のメッセージの後からに代わって、それのアウトバウンドメッセージキューの始めからの送信を開始する(S514、図5)。この様式において、クライアントが受信していない可能性がある任意の移動中のメッセージが再送信されることになる。クライアントは、それがサーバに対して成功裏に確認することができていなかったといういくつかの重複メッセージを検出し得、それは、そのような重複メッセージを安全に捨て得る(S516、図5)。そのようなメッセージは、失敗検出の前に受信した最後の成功した連続番号より小さいまたはその番号に等しい連続番号を有することになる。同様に、クライアントが「無限の要求」チャネル(すなわち、そのクライアントがチャネル上で伝送している当該チャネル)上の失敗を検出すると、それはその接続を放棄し、新たなHTTP/HTTPS「無限の要求」接続を始める(S512、図5)。これが成功する場合、それは、それが前に送信した最後のメッセージの後からに代わって、それのアウトバウンドキューの始めからのメッセージの送信を開始する(S514、図5)。サーバは、新たな接続を承認し、成功裏に確認する見込みがあった可能性がないという、それが受信する任意の重複メッセージを安全に無視する(S516、図5)。そのようなメッセージは、新たな接続が始められた前に受信された最後の成功した連続番号より小さいまたはその番号に等しい連続番号を有することになる。それ故、クライアントが新たなHTTP/HTTPS接続を成功裏に始めることができる限り、すべての通信失敗は、成功裏に回復されることができる。新たな接続が、許容できる期間内になされ得ない場合には、その新たな接続は、サーバとクライアント側の両方上でタイムアウトし、クライアント側は、セッションを終わらせ、リソースを回復し、および他の適切な行動を取るために、使用され得る。セッションがサーバ上で終わらされた後に、接続がクライアントによって試みられる場合には、サーバは、接続試みを拒否することになり、クライアントは、ユーザに知らせ得るおよび/または他の適切な行動を取り得る。
上記技法の組み合わせが、信頼性のある(回復可能な)通信を提供するために使用され得ることを留意する。それ故、上記技法は、クライアントとサーバとの間で信頼性のある通信を提供する一方で、全二重通信機能を提供する。
図6は、実施形態および態様例が実装され得る例示的なコンピューティング環境を示す。コンピューティングシステム環境は、適切なコンピューティング環境の単なる一例であり、使用または機能の範囲についての何の限定も提案することを意図されない。
多くの他の汎用または特別目的のコンピューティングシステム環境または構成が、使用され得る。使用に適するであろう周知のコンピューティングシステム、環境、および/または構成の例は、限定されるものではないが、パーソナルコンピュータ、サーバ、手持ち型またはラップトップ型デバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、ネットワークパーソナルコンピュータ(PC)、ミニコンピュータ、メインフレームコンピュータ、埋め込み型システム、上記システムまたはデバイスのいずれかを含む分散型コンピューティング環境、および同様のものを含む。
コンピュータによって実行される、例えばプログラムモジュールなどのコンピュータで実行可能な命令が、使用され得る。一般的に、プログラムモジュールは、特定のタスクを機能させるまたは特定の抽象データ種類を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。分散型コンピューティング環境が、使用され得、そこでは、タスクは、通信ネットワークまたは他のデータ伝送媒体を通してつなげられる遠隔処理デバイスによって機能される。分散型コンピューティング環境では、プログラムモジュールおよび他のデータは、メモリ記憶デバイスを含むローカルおよび遠隔の両方のコンピュータ記憶媒体内に位置し得る。
図6を参照にして、本明細書において説明される態様を実装するための例示的なシステムは、コンピューティングデバイス600などのコンピューティングデバイスを含む。それの最も基本的な構成において、コンピューティングデバイス600は、典型的には少なくとも1つの処理部602およびメモリ604を含む。正確な構成およびコンピューティングデバイスの種類次第で、メモリ604は、揮発性(例えば、ランダムアクセスメモリ(RAM)など)、不揮発性(例えば、読み取り専用メモリ(ROM)、フラッシュメモリなど)、またはその2つのいくつかの組み合わせとすることができる。これの最も基本的な構成は、破線606によって図6に例示される。
コンピューティングデバイス600は、付加的な特徴/機能を有し得る。例えば、コンピューティングデバイス600は、限定されるものではないが、磁気もしくは光学ディスクまたはテープを含む付加的な(取り外し可能および/または取り外し不可能な)記憶装置を含み得る。そのような付加的な記憶装置は、取り外し可能な記憶装置608および取り外し不可能な記憶装置610によって、図6に例示される。
コンピューティングデバイス600は、典型的には、種々の具体的な、コンピュータで読み取り可能な媒体を含む。コンピュータで読み取り可能な媒体は、デバイス600によってアクセスされ得る任意の可用な具体的な媒体とすることができ、揮発性と不揮発性の媒体、取り外し可能および取り外し不可能な媒体の両方を含む。
具体的なコンピュータ記憶媒体は、例えばコンピュータで読み取り可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性の、ならびに取り外し可能および取り外し不可能な媒体を含む。メモリ604、取り外し可能な記憶装置608、および取り外し不可能な記憶装置610は、すべて、コンピュータ記憶媒体の例である。具体的なコンピュータ記憶媒体は、限定されるものではないが、RAM、ROM、電気的に消去可能なプログラム読み取り専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、CD‐ROM、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を格納するために使用され得るおよびコンピューティングデバイス600によってアクセスされ得る任意の他の媒体を含む。任意のそのようなコンピュータ記憶媒体は、コンピューティングデバイス600の一部とすることができる。
コンピューティングデバイス600は、デバイスが他のデバイスと通信することを可能にする(複数の)通信接続612を含み得る。コンピューティングデバイス600はまた、例えばキーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの(複数の)入力デバイス614を含み得る。ディスプレイ、スピーカ、プリンタなどの(複数の)出力デバイス616もまた、含まれ得る。すべてのこれらのデバイスは、当技術分野において周知であり、ここで長々と記述される必要はない。
本明細書において説明される様々な技法は、ハードウェアまたはソフトウェアに関して、あるいは適切な場合には両者の組み合わせに関して実装され得ることが理解されるべきである。それ故、現在開示された主題の方法および装置、あるいはそれらの一定の態様または部分は、例えばフロッピー(登録商標)ディスケット、CD‐ROM、ハードドライブ、または任意の他の機械で読み取り可能な記憶媒体などの具体的な媒体に具現化されたプログラムコード(すなわち、命令)の形態を取り得、プログラムコードがコンピュータなどの機械にロードされ、その機械によって実行されると、機械は、現在開示された主題を実践するための装置になる。プログラム化できるコンピュータ上のプログラムコードの実行の場合には、コンピューティングデバイスは、一般的に、プロセッサ、プロセッサによって読み取り可能な(揮発性および不揮発性メモリならびに/あるいは記憶要素を含む)記憶媒体、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含む。1つ以上のプログラムは、例えば、アプリケーションプログラミングインターフェース(API)、再使用可能な制御、または同様のものの使用を通して、現在開示された主題に関して説明される処理を実装し得るまたは利用し得る。そのようなプログラムは、コンピュータシステムと通信するための高レベル手順またはオブジェクト指向プログラミング言語で実装され得る。しかしながら、(複数の)プログラムは、必要に応じて、アセンブリまたは機械言語で実装され得る。いずれの場合においても、言語は、コンパイルされたまたは解釈された言語であり得、それは、ハードウェア実装と組み合わされ得る。
主題は、構造的特徴および/または方法の動作に特有の言語で説明されたが、特許請求の範囲において定義された主題は、必ずしも上記特有の特徴または動作に限定されないことが理解されることになる。むしろ、上記特有の特徴または動作は、特許請求の範囲を実施する形態例として開示される。

Claims (13)

  1. 遠隔アクセスシステムにおいてフロー制御を提供する方法であって、
    クライアントデバイスにクライアントレイヤを提供することと、
    サービスと関連付けられたサービスレイヤであって、前記クライアントデバイスから受信されるメッセージのためのサービス受信キューと、前記クライアントデバイス行きのメッセージのサービス送信キューとを有するサービスレイヤを提供することと、
    前記クライアントデバイスと前記サービスとの間に送信されるメッセージのための通信プロキシとして、前記クライアントデバイス行きのメッセージのアウトバウンドクライアントキューを含むサーバレイヤを提供することと、
    前記クライアントデバイスの特有の識別子を含む伝送オンメッセージを、前記サーバレイヤから前記サービスレイヤに通信することと、
    前記サービスレイヤにおいて前記伝送オンメッセージを受信すると、前記クライアントデバイスへの伝送のために前記サービス送信キューにおける前記メッセージを前記サーバレイヤへ送信することと、を含む、方法。
  2. メッセージが前記サービス送信キューにおけるキューに入れられるように、前記サービスレイヤを伝送オフ状態に設定することと、
    前記制御信号を使用して前記サービスレイヤを伝送オン状態に設定することと、
    前記クライアントデバイスのためのメッセージを前記サーバレイヤ内の前記アウトバウンドクライアントキューに送信することと、
    前記サービスレイヤで前記伝送オフ状態に再度入ることとを更に含む、請求項1に記載の方法。
  3. 前記サービスレイヤを伝送オフ状態に最初に設定することと、
    前記サービスレイヤで前記クライアントデバイスのためのメッセージを生成することと、
    前記クライアントデバイスのための前記メッセージを前記サービス送信キューにおけるキューに入れることとを更に含む、請求項1〜2のいずれかに記載の方法。
  4. 前記制御信号を使用して前記サービスレイヤを伝送オン状態に設定することと、
    前記クライアントデバイスのためのメッセージを前記サーバレイヤ内の前記アウトバウンドクライアントキューに送信することと、
    前記サービスレイヤで前記伝送オフ状態に再度入ることとを更に含む、請求項1〜3のいずれかに記載の方法。
  5. 複数のクライアントデバイスから通信を受信することと、各クライアントデバイスと関連付けられた固有識別子で、前記複数のクライアントデバイスのそれぞれからのメッセージをラベル付けすることと、
    複数のクライアントデバイスからのメッセージをメッセージの単一ストリームに組み合わせることとを更に含む、請求項1〜4のいずれかに記載の方法。
  6. 複数のメッセージストリームであって、それぞれが、前記固有識別子によって前記複数のクライアントデバイスの1つと関連付けられる、複数のメッセージストリームに、前記サービスレイヤからのストリームメッセージを構文解析することと、
    複数のメッセージストリームのそれぞれを前記複数のクライアントデバイスに通信することとを更に含む、請求項5に記載の方法。
  7. 前記クライアントデバイスへのメッセージを非同期的に生成することを更に含む、請求項1〜6のいずれかに記載の方法。
  8. コンピュータで読み取り可能な記憶媒体の上にコンピュータで実行可能な命令を有する当該コンピュータで読み取り可能な記憶媒体であって、当該コンピュータで実行可能な命令がコンピューティングデバイスのプロセッサによって実行されると、
    サービスと関連付けられたサービスレイヤであって、クライアントデバイスから受信されるメッセージのためのサービス受信キューと、前記クライアントデバイス行きのメッセージのサービス送信キューとを有するサービスレイヤを提供することと、
    前記クライアントデバイスと前記サービスとの間に送信されるメッセージのための通信プロキシとして、前記クライアントデバイス行きのメッセージのアウトバウンドクライアントキューを含むサーバレイヤを提供することと、
    前記クライアントデバイスの特有の識別子を含む伝送オンメッセージを、前記サーバレイヤから前記サービスレイヤに通信することと、
    前記サービスレイヤにおいて前記伝送オンメッセージを受信すると、前記クライアントデバイスへの伝送のために前記サービス送信キューにおける前記メッセージを前記サーバレイヤへ送信することと、
    を含む方法を機能させる、コンピュータで読み取り可能な記憶媒体。
  9. メッセージが前記送信キューにおけるキューに入れられるように、前記サービスレイヤを伝送オフ状態に設定することと、
    前記制御信号を使用して前記サービスレイヤを伝送オン状態に設定することと、
    前記クライアントデバイスのためのメッセージを前記サーバレイヤ内のアウトバウンドクライアントキューに送信することと、
    前記サービスレイヤで前記伝送オフ状態に再度入ることとのための命令を更に含む、請求項に記載のコンピュータで読み取り可能な記憶媒体。
  10. 前記サービスレイヤを伝送オフ状態に最初に設定することと、
    前記サービスレイヤで前記クライアントデバイスのためのメッセージを生成することと、
    前記クライアントデバイスのための前記メッセージを前記サービス送信キューにおけるキューに入れることと、
    前記制御信号を使用して前記サービスレイヤを伝送オン状態に設定することと、
    前記クライアントデバイスのためのメッセージを前記サーバレイヤ内の前記アウトバウンドクライアントキューに送信することと、
    前記サービスレイヤで前記伝送オフ状態に再度入ることとのための命令を更に含む、請求項のいずれかに記載のコンピュータで読み取り可能な記憶媒体。
  11. 前記クライアントデバイスの固有識別子で各メッセージをラベル付けするための命令を更に含む、請求項10のいずれかに記載のコンピュータで読み取り可能な記憶媒体。
  12. 前記クライアントデバイスへのメッセージを非同期的に生成するための命令を更に含む、請求項11のいずれかに記載のコンピュータで読み取り可能な記憶媒体。
  13. 多対一様式で、複数のクライアントデバイスと前記サービスレイヤとの間の関係を確立するための命令を更に含む、請求項12のいずれかに記載のコンピュータで読み取り可能な記憶媒体。
JP2014525508A 2011-08-15 2012-08-15 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法 Expired - Fee Related JP6164747B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161523670P 2011-08-15 2011-08-15
US201161523662P 2011-08-15 2011-08-15
US61/523,662 2011-08-15
US61/523,670 2011-08-15
PCT/IB2012/001589 WO2013024342A1 (en) 2011-08-15 2012-08-15 Method for flow control and for reliable communication in a collaborative environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017099692A Division JP2017184259A (ja) 2011-08-15 2017-05-19 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法

Publications (2)

Publication Number Publication Date
JP2014531786A JP2014531786A (ja) 2014-11-27
JP6164747B2 true JP6164747B2 (ja) 2017-07-19

Family

ID=47713423

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014525508A Expired - Fee Related JP6164747B2 (ja) 2011-08-15 2012-08-15 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
JP2017099692A Pending JP2017184259A (ja) 2011-08-15 2017-05-19 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017099692A Pending JP2017184259A (ja) 2011-08-15 2017-05-19 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法

Country Status (6)

Country Link
US (2) US9720747B2 (ja)
EP (1) EP2745467A4 (ja)
JP (2) JP6164747B2 (ja)
CA (1) CA2844851A1 (ja)
HK (1) HK1199340A1 (ja)
WO (1) WO2013024342A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2742779C (en) 2008-11-26 2017-07-18 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
RU2625525C2 (ru) 2011-08-15 2017-07-14 Калгари Сайентифик Инк. Бесконтактный удаленный доступ к программному приложению
JP6164747B2 (ja) * 2011-08-15 2017-07-19 カルガリー サイエンティフィック インコーポレイテッド 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
EP2761808A4 (en) 2011-09-30 2015-05-20 Calgary Scient Inc DECOUPLED APPLICATION WITH EXTENSIONS INTERACTIVE DIGITAL SURFACE LAYER FOR COLLABORATIVE REMOTE COMMON USE OF APPLICATIONS AND ANNOTATION
SG11201402546WA (en) 2011-11-23 2014-06-27 Calgary Scient Inc Methods ans systems for collaborative remote application sharing and conferencing
WO2013128284A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
WO2014140116A1 (en) * 2013-03-12 2014-09-18 Acellera Ltd. System and method for managing computational task sets
JP2017505473A (ja) 2013-11-29 2017-02-16 カルガリー サイエンティフィック インコーポレイテッド クライアントサーバリモートアクセスシステムにおけるクライアントの非管理サービスへの接続の提供方法
US9843518B2 (en) * 2014-03-14 2017-12-12 International Business Machines Corporation Remotely controlled message queue
US9542243B2 (en) 2014-03-14 2017-01-10 International Business Machines Corporation Coalescing stages in a multiple stage completion sequence
CN107431630B (zh) 2015-01-30 2021-06-25 卡尔加里科学公司 高度可扩展、容错的远程访问架构和与之连接的方法
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
US11087080B1 (en) * 2017-12-06 2021-08-10 Palantir Technologies Inc. Systems and methods for collaborative data entry and integration
FR3094559B1 (fr) * 2019-03-29 2024-06-21 Soitec Silicon On Insulator Procédé de transfert de paves d’un substrat donneur sur un substrat receveur

Family Cites Families (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1310133C (en) 1988-06-30 1992-11-10 Thomas R. Edel Method of simultaneously entering data into overlapped windows
US4975690A (en) 1988-11-07 1990-12-04 Ibm Corporation Method for concurrent data entry and manipulation in multiple applications
US6076733A (en) 1993-11-24 2000-06-20 Metrologic Instruments, Inc. Web-based system and method for enabling a viewer to access and display HTML-encoded documents located on the world wide web (WWW) by reading URL-encoded bar code symbols printed on a web-based information resource guide
GB2273797A (en) 1992-12-22 1994-06-29 Ibm Distributed data processing system
US5345550A (en) 1992-12-23 1994-09-06 International Business Machines Corporation User-modifiable popup menus for object oriented behavior
JP3481296B2 (ja) 1993-04-12 2003-12-22 ヒューレット・パッカード・カンパニー グラフィックスクリーン上の項目の選択方法
DE4417588A1 (de) 1993-08-30 1995-03-02 Hewlett Packard Co Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung
US5844553A (en) 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
CA2180899A1 (en) 1995-07-12 1997-01-13 Yasuaki Honda Synchronous updating of sub objects in a three dimensional virtual reality space sharing system and method therefore
US5956486A (en) 1995-12-20 1999-09-21 Hickman; Paul Lawrence Method and apparatus for monitoring multiple electronic mail systems
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5870759A (en) 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US5870559A (en) 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
US5978842A (en) 1997-01-14 1999-11-02 Netmind Technologies, Inc. Distributed-client change-detection tool with change-detection augmented by multiple clients
US6141698A (en) 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6253228B1 (en) 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US6061689A (en) 1997-05-06 2000-05-09 International Business Machines Corporation Object aggregation representation of relational database rows having nontraditional datatypes
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
CA2207746A1 (en) 1997-06-13 1998-12-13 Ironside Technologies Inc Method of manipulating software components through a network with enhanced performance and reduced network traffic
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6075531A (en) 1997-12-15 2000-06-13 International Business Machines Corporation Computer system and method of manipulating multiple graphical user interface components on a computer display with a proximity pointer
US6453356B1 (en) 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
US6988271B2 (en) 1998-10-02 2006-01-17 Microsoft Corporation Heavyweight and lightweight instrumentation
US7069227B1 (en) 1999-02-05 2006-06-27 Zansor Systems, Llc Healthcare information network
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US6970459B1 (en) 1999-05-13 2005-11-29 Intermec Ip Corp. Mobile virtual network system and method
US6976077B1 (en) 1999-07-06 2005-12-13 Microsoft Corporation Automatic and transparent synchronization of server-side state information with a client application
US6601233B1 (en) 1999-07-30 2003-07-29 Accenture Llp Business components framework
WO2001016724A2 (en) 1999-08-31 2001-03-08 Accenture Llp A system, method and article of manufacture for a legacy wrapper in a communication services patterns environment
US7181686B1 (en) 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
US20020007284A1 (en) 1999-12-01 2002-01-17 Schurenberg Kurt B. System and method for implementing a global master patient index
WO2001067245A2 (en) 2000-03-08 2001-09-13 Marbles, Inc. Remote operation of real-time graphical applications
US20030208472A1 (en) 2000-04-11 2003-11-06 Pham Peter Manh Method and apparatus for transparent keyword-based hyperlink
US7343310B1 (en) 2000-04-28 2008-03-11 Travelers Property Casualty Corp. System and method for providing web-based user interface to legacy, personal-lines insurance applications
US6633688B1 (en) * 2000-04-28 2003-10-14 Earth Resource Mapping, Inc. Method system and apparatus for providing image data in client/server systems
US6792607B1 (en) 2000-05-18 2004-09-14 Microsoft Corporation Databinding using server-side control objects
DE10025260B4 (de) * 2000-05-22 2004-11-25 Conti Temic Microelectronic Gmbh Verfahren zur Detektion von Überrollvorgängen bei Kraftfahrzeugen mit Sicherheitseinrichtungen
US8463912B2 (en) 2000-05-23 2013-06-11 Media Farm, Inc. Remote displays in mobile communication networks
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7337217B2 (en) 2000-07-21 2008-02-26 Samsung Electronics Co., Ltd. Architecture for home network on world wide web
JP2002055870A (ja) 2000-08-15 2002-02-20 Fuji Xerox Co Ltd データ提供装置、データ取得装置及びデータ処理システム
US7350151B1 (en) 2000-09-14 2008-03-25 Ui Evolution, Inc. Display state and/or cell based user interface provision method and apparatus
US6931661B2 (en) 2000-10-19 2005-08-16 Motorola, Inc. Dynamic image provisioning
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US6947761B2 (en) 2000-11-22 2005-09-20 Leap Wireless International Inc. Method and system for improving the efficiency of state information transfer over a wireless communications network
US7574493B2 (en) 2000-11-22 2009-08-11 Cricket Communications, Inc. Method and system for improving the efficiency of state information transfer over a wireless communications network
US7065568B2 (en) 2000-11-30 2006-06-20 Microsoft Corporation System and method for managing states and user context over stateless protocols
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
EP1451679A2 (en) 2001-03-30 2004-09-01 BRITISH TELECOMMUNICATIONS public limited company Multi-modal interface
US7890517B2 (en) 2001-05-15 2011-02-15 Metatomix, Inc. Appliance for enterprise information integration and enterprise resource interoperability platform and methods
US7802183B1 (en) 2001-05-17 2010-09-21 Essin Daniel J Electronic record management system
US7882497B2 (en) 2001-05-17 2011-02-01 Attachmate Corporation Symbiotic computer application and system and method for generation and presentation of same
US7320131B1 (en) * 2001-06-06 2008-01-15 Cisco Technology, Inc. Methods and apparatus for selecting a server to process a request
US7073059B2 (en) 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US7193985B1 (en) 2001-06-14 2007-03-20 Utstarcom, Inc. System and method for managing foreign agent selections in a mobile internet protocol network
US6996805B2 (en) 2001-06-28 2006-02-07 Microsoft Corporation Methods and systems of testing software, and methods and systems of modeling user behavior
GB0117077D0 (en) 2001-07-13 2001-09-05 Univ Strathclyde A generic object-based resource-sharing interface for distance co-working
US7379977B2 (en) 2001-07-24 2008-05-27 Steve Walrath System and method for display of multiple electronic pages
DE60222782D1 (de) * 2001-08-24 2007-11-15 Intel Corp Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zur unterstützung von bestehenden unterbrechungen
US20030120762A1 (en) 2001-08-28 2003-06-26 Clickmarks, Inc. System, method and computer program product for pattern replay using state recognition
JP4446368B2 (ja) 2001-09-14 2010-04-07 富士通株式会社 コラボレーション方法、システム、プログラム及び記録媒体
US20030065738A1 (en) 2001-10-01 2003-04-03 Thumb Logic, Inc. Wireless information systems and methods
US7167893B1 (en) 2001-10-03 2007-01-23 Bellsouth Intellectual Property Corp. Methods and systems for processing a plurality of errors
US7155521B2 (en) 2001-10-09 2006-12-26 Nokia Corporation Starting a session in a synchronization system
EP1444276A1 (en) * 2001-11-06 2004-08-11 Dow Global Technologies, Inc. Isotactic propylene copolymers, their preparation and use
CN1591412A (zh) 2001-11-09 2005-03-09 无锡永中科技有限公司 集成数据处理系统
US7149761B2 (en) 2001-11-13 2006-12-12 Tadpole Technology Plc System and method for managing the synchronization of replicated version-managed databases
US20030120324A1 (en) 2001-12-26 2003-06-26 Osborn Brett A. System and method for remote programming of a medical device
US7246063B2 (en) 2002-02-15 2007-07-17 Sap Aktiengesellschaft Adapting a user interface for voice control
US20030163514A1 (en) 2002-02-22 2003-08-28 Brandfact, Inc. Methods and systems for integrating dynamic polling mechanisms into software applications
US7831292B2 (en) 2002-03-06 2010-11-09 Mako Surgical Corp. Guidance system and method for surgical procedures with improved feedback
US20030184584A1 (en) 2002-03-29 2003-10-02 Thomas Vachuska User interface framework for integrating user interface elements of independent software components
US6721871B2 (en) 2002-04-02 2004-04-13 Nokia Corporation Method and apparatus for synchronizing data stores with respect to changes in folders
US6721907B2 (en) * 2002-06-12 2004-04-13 Zambeel, Inc. System and method for monitoring the state and operability of components in distributed computing systems
US7720910B2 (en) 2002-07-26 2010-05-18 International Business Machines Corporation Interactive filtering electronic messages received from a publication/subscription service
US7085758B2 (en) * 2002-08-22 2006-08-01 International Business Machines Corporation Database enabled messaging facility
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
CA2406569C (en) 2002-10-04 2011-03-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display
TWI220713B (en) 2002-10-04 2004-09-01 Hon Hai Prec Ind Co Ltd System and method for synchronizing documents between multi-nodes
US7542471B2 (en) * 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
EP1422901A1 (en) 2002-11-22 2004-05-26 Sun Microsystems, Inc. Client driven synchronization of file and folder content in web publishing
GB0228279D0 (en) 2002-12-04 2003-01-08 Ibm A synchronization method
US7484208B1 (en) 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7774831B2 (en) 2002-12-24 2010-08-10 International Business Machines Corporation Methods and apparatus for processing markup language messages in a network
US7346684B2 (en) 2003-01-31 2008-03-18 Utstarcom, Inc. System and method for control of packet data serving node selection in a mobile internet protocol network
WO2004072834A1 (en) 2003-02-14 2004-08-26 Whale Communications Ltd. System and method for providing conditional access to server-based applications from remote access devices
US7213228B2 (en) 2003-03-17 2007-05-01 Macrovision Corporation Methods and apparatus for implementing a remote application over a network
JP2004287758A (ja) 2003-03-20 2004-10-14 Nec Corp Webアプリケーション統合方法/プログラム/記録媒体、ポータルサーバ
DE10315418B3 (de) 2003-04-04 2004-07-22 Thyssenkrupp Automotive Ag Verfahren zur thermomechanischen Behandlung von Stahl
US20040243919A1 (en) 2003-04-04 2004-12-02 David Darian Muresan Synchronized processing of views and drawing tools in a multiple document interface application
US7418711B1 (en) * 2003-04-28 2008-08-26 Sprint Communications Company L.P. Messaging bridge that facilitates communication with a mainframe environment
US7930214B2 (en) 2003-05-05 2011-04-19 Intel Corporation Management and arbitration of mobile service discovery
US20040225960A1 (en) 2003-05-09 2004-11-11 Microsoft Corporation System for hosting graphical layout/presentation objects
US7526410B2 (en) 2003-07-03 2009-04-28 Microsoft Corporation Remote computer graphics performance testing
JP2005031807A (ja) 2003-07-08 2005-02-03 Toshiba Corp データ処理システムにおけるデータ更新方法及びデータ処理システム
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
CA2438362C (en) 2003-08-26 2011-05-31 John William Comeau A method and system for synchronizing a client user interface with server backend
US7647370B1 (en) 2003-10-24 2010-01-12 Verizon Data Services Llc Screen scraping interface
US7975239B2 (en) 2003-12-17 2011-07-05 Palo Alto Research Center Incorporated System and method for providing metadata interaction and visualization with task-related objects
US7706399B2 (en) 2003-12-19 2010-04-27 Intel Corporation Polling in wireless networks
US7458029B2 (en) 2004-01-15 2008-11-25 Microsoft Corporation System and process for controlling a shared display given inputs from multiple users using multiple input modalities
US7966572B2 (en) 2004-02-20 2011-06-21 Microsoft Corporation User interface transition
US7653900B2 (en) 2004-04-22 2010-01-26 Blue Coat Systems, Inc. System and method for remote application process control
WO2005109886A2 (en) 2004-04-30 2005-11-17 Vulcan Inc. Controlling one or more media devices
US20060036770A1 (en) 2004-07-30 2006-02-16 International Business Machines Corporation System for factoring synchronization strategies from multimodal programming model runtimes
GB2417391B (en) * 2004-08-18 2007-04-18 Wecomm Ltd Transmitting data over a network
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
US20060101397A1 (en) 2004-10-29 2006-05-11 Microsoft Corporation Pseudo-random test case generator for XML APIs
US8359591B2 (en) 2004-11-13 2013-01-22 Streamtheory, Inc. Streaming from a media device
US20060236328A1 (en) 2004-12-10 2006-10-19 Siemens Medical Solutions Usa, Inc. Integrated graphical user interface server for use with multiple client applications
US7613830B2 (en) * 2004-12-10 2009-11-03 Microsoft Corporation Reliably transferring queued application messages
US7627138B2 (en) 2005-01-03 2009-12-01 Orb Networks, Inc. System and method for remotely monitoring and/or viewing images from a camera or video device
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
CN100492382C (zh) 2005-04-12 2009-05-27 国际商业机器公司 基于服务器/客户机的无缝游戏世界系统及其方法
US7921078B2 (en) 2005-04-20 2011-04-05 Sony Online Entertainment Llc System for negotiated differential compression
US7406568B2 (en) * 2005-06-20 2008-07-29 Intel Corporation Buffer allocation for split data messages
US7552187B2 (en) 2005-06-22 2009-06-23 Tele Atlas North America, Inc. System and method for automatically executing corresponding operations on multiple maps, windows, documents, and/or databases
US7636899B2 (en) 2005-07-12 2009-12-22 Siemens Medical Solutions Health Services Corporation Multiple application and multiple monitor user interface image format selection system for medical and other applications
GB0514492D0 (en) 2005-07-14 2005-08-17 Ntnu Technology Transfer As Secure media streaming
US20110157196A1 (en) 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
US7719982B2 (en) * 2005-08-31 2010-05-18 Intel Corporation Switching device utilizing flow-control management
US8527563B2 (en) 2005-09-12 2013-09-03 Microsoft Corporation Remoting redirection layer for graphics device interface
US7698691B2 (en) 2005-09-20 2010-04-13 Microsoft Corporation Server application state
JP2007084744A (ja) 2005-09-26 2007-04-05 Sekisui Plastics Co Ltd スチレン系樹脂発泡性粒子とその製造方法及びスチレン系樹脂発泡成形体
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US20070120763A1 (en) 2005-11-23 2007-05-31 Lode De Paepe Display system for viewing multiple video signals
US7596540B2 (en) 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically enhancing an application executing on a computing device
US7703039B2 (en) 2005-12-08 2010-04-20 Adobe Systems Incorporated Methods and apparatus for displaying information
US8769127B2 (en) 2006-02-10 2014-07-01 Northrop Grumman Systems Corporation Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
US7685131B2 (en) 2006-02-28 2010-03-23 International Business Machines Corporation Web services database cluster architecture
US20070208718A1 (en) 2006-03-03 2007-09-06 Sasha Javid Method for providing web-based program guide for multimedia content
US8719816B2 (en) 2006-03-14 2014-05-06 University Of Utah Research Foundation Extendable framework for distributed applications and data
RU2295752C1 (ru) 2006-03-20 2007-03-20 Закрытое акционерное общество "1С Акционерное общество" Способ управления синхронизацией обновлений программного обеспечения
US7620901B2 (en) 2006-03-21 2009-11-17 Microsoft Corporation Simultaneous input across multiple applications
US20070244990A1 (en) 2006-04-03 2007-10-18 National Instruments Corporation Web browser graph user interface element with rich interactive capabilities
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US7933955B2 (en) 2006-07-11 2011-04-26 Igor Khalatian One-click universal screen sharing
US7650444B2 (en) 2006-09-28 2010-01-19 Digi International, Inc. Systems and methods for remotely managing an application-specific display device
JP4822343B2 (ja) 2006-10-13 2011-11-24 株式会社国際電気通信基礎技術研究所 負荷を制御可能な通信装置およびそれを備えた通信ネットワーク
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US7774356B2 (en) 2006-12-04 2010-08-10 Sap Ag Method and apparatus for application state synchronization
US20080146194A1 (en) 2006-12-15 2008-06-19 Yahoo! Inc. Automatic data back up and account creation
US7831919B1 (en) 2006-12-18 2010-11-09 Symantec Corporation Generic web service frontend
US8374673B2 (en) 2007-01-25 2013-02-12 Warsaw Orthopedic, Inc. Integrated surgical navigational and neuromonitoring system having automated surgical assistance and control
US8924512B2 (en) 2007-06-15 2014-12-30 Microsoft Corporation Extensible remote display infrastructure with dynamic virtual channels
EP2028813A1 (en) 2007-07-02 2009-02-25 British Telecmmunications public limited campany Method of synchronizing intermittently connected mobile terminals
US8387000B2 (en) 2007-07-12 2013-02-26 The Mathworks, Inc. Continuous time mode-driven simulations in a graphical modeling environment
US8127233B2 (en) 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US8484626B2 (en) 2007-09-28 2013-07-09 Verizon Patent And Licensing Inc. Generic XML screen scraping
US7886050B2 (en) 2007-10-05 2011-02-08 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US8606952B2 (en) 2008-01-15 2013-12-10 International Business Machines Corporation Method and system for optimizing bandwidth usage in remote visualization
US20090209239A1 (en) 2008-02-18 2009-08-20 Movidilo S.L. Self-service application platform for wireless devices
US8473851B2 (en) 2008-02-27 2013-06-25 Cisco Technology, Inc. Multi-party virtual desktop
US8218442B2 (en) * 2008-09-11 2012-07-10 Juniper Networks, Inc. Methods and apparatus for flow-controllable multi-staged queues
US20100070588A1 (en) * 2008-09-15 2010-03-18 Yahoo! Inc. Reliability for instant messaging based on end point acknowledgements
US8595371B2 (en) 2008-09-19 2013-11-26 Samsung Electronics Co., Ltd. Sending a remote user interface
CA2742779C (en) 2008-11-26 2017-07-18 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US7835309B2 (en) * 2008-12-16 2010-11-16 Microsoft Corporation Multiplexed communication for duplex applications
US8473571B2 (en) 2009-01-08 2013-06-25 Microsoft Corporation Synchronizing presentation states between multiple applications
CN101539932A (zh) 2009-01-21 2009-09-23 北京跳网无限科技发展有限公司 转化页面的同期访问技术
BRPI1008854A2 (pt) 2009-02-03 2019-09-24 Calgary Scient Inc "interação simultânea com uma pluralidade de programas aplicativos"
US8676926B2 (en) 2009-04-15 2014-03-18 Wyse Technology L.L.C. System and method for handling remote drawing commands
JP4723010B2 (ja) 2009-04-21 2011-07-13 株式会社デジタル サーバ装置、サーバ・クライアントシステム、サーバプログラムおよびそれを記録した記録媒体
US9459936B2 (en) 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US8356252B2 (en) 2009-09-02 2013-01-15 Synchronoss Technologies, Inc. System and method for providing a computer display form layout
US20120154633A1 (en) 2009-12-04 2012-06-21 Rodriguez Tony F Linked Data Methods and Systems
US8577904B2 (en) 2009-12-07 2013-11-05 International Business Machines Corporation Composite copy and paste for composite user interfaces
US9055064B2 (en) 2009-12-28 2015-06-09 Citrix Systems, Inc. Systems and methods for a VPN ICA proxy on a multi-core system
CN102129632A (zh) 2010-01-13 2011-07-20 阿里巴巴集团控股有限公司 一种抓取网页信息的方法、装置及系统
US9274821B2 (en) 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US20110213830A1 (en) 2010-02-26 2011-09-01 Lopez Kermit D Cloud-based intellectual property and legal docketing system and method with data management modules
US8514749B2 (en) * 2010-03-10 2013-08-20 Microsoft Corporation Routing requests for duplex applications
US20110252152A1 (en) * 2010-04-09 2011-10-13 Marcus Sherry Reliable messaging system and method
CN101883097A (zh) 2010-06-03 2010-11-10 青岛海信宽带多媒体技术有限公司 服务器设备共享客户端设备屏幕的实现方法及装置
US8667054B2 (en) 2010-07-12 2014-03-04 Opus Medicus, Inc. Systems and methods for networked, in-context, composed, high resolution image viewing
US8577960B2 (en) 2010-07-29 2013-11-05 Sap Ag Providing status information for components in a distributed landscape
US8713474B2 (en) 2010-10-05 2014-04-29 Citrix Systems, Inc. Providing user interfaces and window previews for hosted applications
KR101763595B1 (ko) 2010-11-16 2017-08-01 엘지전자 주식회사 모니터링 서비스를 위한 데이터를 처리하는 네트워크 tv의 제어 방법 및 상기 네트워크 tv
US8473577B2 (en) 2010-10-13 2013-06-25 Google Inc. Continuous application execution between multiple devices
US8607158B2 (en) 2010-12-09 2013-12-10 International Business Machines Corporation Content presentation in remote monitoring sessions for information technology systems
US8615579B1 (en) 2010-12-28 2013-12-24 Amazon Technologies, Inc. Managing virtual machine migration
US8866701B2 (en) 2011-03-03 2014-10-21 Citrix Systems, Inc. Transparent user interface integration between local and remote computing environments
US9210213B2 (en) 2011-03-03 2015-12-08 Citrix Systems, Inc. Reverse seamless integration between local and remote computing environments
US9424052B2 (en) 2011-03-21 2016-08-23 Amazon Technologies, Inc. Remotely emulating computing devices
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
US9600350B2 (en) 2011-06-16 2017-03-21 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
US8676938B2 (en) 2011-06-28 2014-03-18 Numecent Holdings, Inc. Local streaming proxy server
US8572178B1 (en) 2011-07-01 2013-10-29 Amazon Technologies, Inc. Executing applications in remotely emulated computing devices
RU2625525C2 (ru) 2011-08-15 2017-07-14 Калгари Сайентифик Инк. Бесконтактный удаленный доступ к программному приложению
JP6164747B2 (ja) * 2011-08-15 2017-07-19 カルガリー サイエンティフィック インコーポレイテッド 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
US9549045B2 (en) 2011-08-29 2017-01-17 Vmware, Inc. Sharing remote sessions of a user interface and/or graphics of a computer
US9565156B2 (en) 2011-09-19 2017-02-07 Microsoft Technology Licensing, Llc Remote access to a mobile communication device over a wireless local area network (WLAN)
CN104054301B (zh) 2011-11-11 2018-05-08 卡尔加里科学公司 远程访问应用框架中的会话传递和挂起
US8854397B2 (en) 2011-12-13 2014-10-07 Facebook, Inc. Photo selection for mobile devices
US20130159062A1 (en) 2011-12-14 2013-06-20 Sap Ag Process-driven composite application architecture
WO2013109984A1 (en) 2012-01-18 2013-07-25 Numecent Holdings, Inc. Application streaming and execution for localized clients
WO2013128284A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US20130290408A1 (en) 2012-04-11 2013-10-31 Calgary Scientific Inc. Remoting graphical components through a tiered remote access architecture
CN102821413A (zh) 2012-07-31 2012-12-12 华为技术有限公司 传输数据的方法和网络侧设备
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
EP2770760A1 (en) 2013-02-25 2014-08-27 Sequans Communications S.A. eMBMS over LAN
US9270674B2 (en) 2013-03-29 2016-02-23 Citrix Systems, Inc. Validating the identity of a mobile application for mobile application management
JP2017505473A (ja) 2013-11-29 2017-02-16 カルガリー サイエンティフィック インコーポレイテッド クライアントサーバリモートアクセスシステムにおけるクライアントの非管理サービスへの接続の提供方法
US10924554B2 (en) 2014-05-05 2021-02-16 Citrix Systems, Inc. Application customization

Also Published As

Publication number Publication date
JP2014531786A (ja) 2014-11-27
JP2017184259A (ja) 2017-10-05
HK1199340A1 (en) 2015-06-26
US20170357541A1 (en) 2017-12-14
EP2745467A4 (en) 2015-10-14
US10474514B2 (en) 2019-11-12
CA2844851A1 (en) 2013-02-21
US20130046816A1 (en) 2013-02-21
EP2745467A1 (en) 2014-06-25
WO2013024342A1 (en) 2013-02-21
US9720747B2 (en) 2017-08-01

Similar Documents

Publication Publication Date Title
JP6164747B2 (ja) 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
EP3251286B1 (en) Highly scalable, fault tolerant remote access architecture and method of connecting thereto
EP3103023B1 (en) Private cloud connected device cluster architecture
US11025724B2 (en) Transport of control data in proxy-based network communications
EP2574006A1 (en) Cloud service consuming method, cloud service packet, cloud service broker and cloud system
EP3117590A1 (en) Computer system to support failover in an event stream processing system
JP2014531626A (ja) アプリケーションプログラムへの非侵襲的遠隔アクセス
US8352617B2 (en) Method and system for data processing
US9152441B2 (en) Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster
US9935846B2 (en) Synchronized distributed networks with frictionless application installation
US9985913B2 (en) Apparatus and method for client-side flow control in a remote access environment
US11985027B2 (en) Systems and methods for seamless failover in branch deployments by superimposing clustering solution on VRRP
US10579577B2 (en) Bridge and asynchronous channel based bus to provide UI-to-UI asynchronous communication
CN113556387A (zh) 边缘网关控制方法及系统、装置、电子设备、存储介质
JP2010086137A (ja) メッセージキューイング方法及びプログラム
US9860112B2 (en) Techniques for synchronizing operations between regions when a network connection fails
US11764993B2 (en) Apparatus, system, and method for providing simultaneous delivery of output communications
US20240202427A1 (en) Managing links for tracking user interactions with banner messages
JP2024534289A (ja) Ran情報を検索するためのシステム及び方法
CN117354205A (zh) 握手复用方法、设备以及计算机可读介质
WO2022250642A1 (ru) Способ и система для совместного просмотра веб-страницы
CN118646684A (zh) 数据传输方法和装置、存储介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170519

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170529

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: 20170614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170616

R150 Certificate of patent or registration of utility model

Ref document number: 6164747

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees