JP3478200B2 - サーバ・クライアント間双方向通信システム - Google Patents
サーバ・クライアント間双方向通信システムInfo
- Publication number
- JP3478200B2 JP3478200B2 JP26307399A JP26307399A JP3478200B2 JP 3478200 B2 JP3478200 B2 JP 3478200B2 JP 26307399 A JP26307399 A JP 26307399A JP 26307399 A JP26307399 A JP 26307399A JP 3478200 B2 JP3478200 B2 JP 3478200B2
- Authority
- JP
- Japan
- Prior art keywords
- http
- server
- client
- data
- communication system
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2876—Pairs of inter-processing entities at each side of the network, e.g. split proxies
Description
HTTP通信手段によりHTTPトラフィックに限定された通信
経路を利用するための、HTTPトンネリング機能を備えた
リアルタイム情報共有グループウェアシステムの双方向
通信システムに関する。
有をするためには、サーバシステムと複数のクライアン
トシステムとの間を専用プロトコルで接続して、情報の
変更個所を即座に通信する。ただし、イントラネットか
らインターネットへ接続する場合には、多くの場合セキ
ュリティ確保のためにファイヤウォールが設けられてい
るためこのファイヤウォールを通過するための特別な設
定が必要となる。
る。ファイヤウォールを専用プロトコルを通過するよう
に設定する方法、及び、情報を既存のHTTPにプロトコル
変換する方法である。ほとんどのファイヤウォールには
HTTPプロキシを備えているので、システム変更を必要と
しない解決方法として一般的には後者が多く用いられ
る。
変換する方法の一例が、特開平10−285216号公
報に開示されている。同公報の開示技術によれば、中間
サーバまたはプロキシを使用して1つまたは複数のファ
イアウォールを通る通信を可能にする、「軽セキュリテ
ィ保護トンネリング・プロトコル」LSTP(Lightweight
Secure Tunneling Protocol )が提供される。このよう
なシステムは1つの中間プロキシと2つの終端プロキシ
から成る3つのプロキシを使用して、2つのファイアウ
ォールを通過してナビゲートする終端間接続を確立す
る。
背後にあるサーバと第2のファイアウォールの背後にあ
るクライアントが2つのファイアウォール間にある信頼
性のないネットワーク(たとえばインターネット)によ
って相互接続される。第1のファイアウォール内部SOCK
S 認識終端サーバ側プロキンが、第1のファイアウォー
ル内部サーバに接続する。第2のファイアウォール内部
のクライアントは、第2のファイアウォール内部SOCKS
認識クライアント側終端プロキシに接続する。サーバ側
とクライアント側の両方の終端プロキンは、この2つの
ファイアウォールの外部にある第3のプロキシ(中間プ
ロキシ)をアドレスすることができる。
トの終端プロキシ)が始動後しばらくしてから中間プロ
キシヘの接続を開始するため、通常は中間プロキシが先
に始動される。中間プロキシは、両方の内部終端プロキ
シによって相互にアドレス可能であるため、サーバとク
ライアントの間に完全な終端間接続が確立される。1つ
または複数の中間プロキシをLSTPのような適切なプロト
コルと共に使用することで、複数のファイアウォールを
通るセキュリティ保護された通信リンクまたはトンネル
が確立される。
グ・プロトコル(LSTP)1 によって、中間サーバまたは
プロキシを使用して1つまたは複数のファイアウォール
を通る通信を可能にしている。
信を完了する方式であり、クライアントの要求に対して
サーバが応答することしか許されていないプロトコルで
ある。したがって、上述の情報を既存のHTTPにプロトコ
ル変換する方法を用いた場合には、複数のクライアント
が同じ情報を常に共有するためには、クライアントがサ
ーバに対して定期的に情報更新を要求することで、リア
ルタイム情報共有を行うことになる。HTMLを解釈するブ
ラウザで利用可能な電子会議システム「チャット」はそ
の典型例である。
「チャット」は通信コストが大きいという問題点を有し
ている。その理由は、定期的または人為的に情報更新を
要求する必要があるので、情報更新がなく結果的には無
意味な要求トラフィックが多く含まれてしまう点にあ
る。
2の問題点は、即時性が大きく妨げられることである。
その理由は、情報更新の要求をクライアント側から出す
ことしかできないからである。
通過する方式として、「RealAudeo」が有り、HTTPトラ
ンザクションを長時間維持してストリームデータを流す
方式を用いている。然しながら、この方式は、リアルタ
イム情報共有には応用することができない。その理由
は、この方式は片方向通信だけを備えたもので双方向通
信の機能を備えていないからである。
うな事情に鑑みて創案されたものであり、その目的は、
プロキシが存在するイントラネットからインターネット
へのアクセスのときに、リアルタイム性を保ち、従来よ
りもトラヒック効率の良い通信方式を提供することであ
る。
インターネットへのアクセスのとき等のように、プロキ
シが存在する通信経路を介した通信網を利用した双方向
通信システムにおいて低オーバヘッドで情報を転送する
通信方式を提供することである。
在する通信経路を介した通信網において高速な手続きで
双方向通信経路を接続し、また安定した通信接続環境を
上位アプリケーションに提供する通信方法を提案するこ
とである。
に本発明では、サーバ装置とこのサーバ装置に接続され
た複数のクライアント装置を含み構成され、少なくとも
一つの前記クライアント装置がHTTPのトラフィックだけ
を伝送するHTTP通信手段を含み構成された通信経路を介
して前記サーバ装置に接続されており、前記サーバ装置
と各クライアント装置間でリアルタイムに双方向通信を
行うようにした、サーバおよび複数のクライアント間の
双方向通信システムにおいて、サーバ装置と各クライア
ント装置間で、データの送受信が行われる以前に、クラ
イアント装置からサーバ装置に対するデータ送信をリア
ルタイムに行うことを可能にするための、HTTPのPOSTメ
ソッドを用いた上り回線と、サーバ装置からクライアン
ト装置に対するデータ送信をリアルタイムに行うことを
可能にするための、HTTPのGET メソッドを用いた下り回
線との計2回線をあらかじめ作成するようにする。
コル装置によりアプリケーションのデータを、データセ
ルにカプセル化するので、HTTPのトラフィックから独立
することができ、アプリケーションの独自プロトコルの
トラフィックにしたがうことで第1の目的を達成するこ
とができる。
下りの2つの接続を双方向通信が行われている間は継続
することで、接続によるオーバヘッドを初回だけに押さ
え、データセルでリアルタイムに転送することで、第2
の目的を達成することができる。
ーバ装置へデータを送信するPOSTメソッドのHTTP通信過
程において、クライアント装置側でHTTPのデータ領域を
システムが許容する最大値にHTTPヘッダで設定し、アプ
リケーションがデータ送信を要求するタイミングでデー
タセルを作成して送信して前記HTTP通信手段をリアルタ
イムに通過するようにしても良い。
からデータを受信するGET メソッドのHTTP通信過程にお
いて、サーバ装置側でHTTPのデータ領域をシステムが許
容する最大値にHTTPヘッダで設定し、サーバがデータ送
信を要求するタイミングでデータセルを作成して送信し
て前記HTTP通信手段をリアルタイムに通過するようにし
ても良い。
付きのHTTPプロキシの場合には、上記各構成において前
記クライアント装置側ではデータ送信時にコンテンツ指
定識別子に一時的な唯一の文字列を付加し、前記サーバ
装置側ではその文字列を削除して解釈することによりプ
ロキシキャッシュ動作の対象となるのを回避するように
すると良い。
置へデータ送信するための前記下り経路の作成を先に行
い、前記サーバ装置から前記クライアント装置ヘデータ
送信するための前記上り経路の作成を後で行うようにし
ても良い。
双方向通信システムにおいて、ネットワークの遅延によ
り経路作成の順序が入れ替わった場合において、クライ
アントではなく前記サーバ装置にて上り方向のデータ受
信を、下り方向の経路作成が終了するまで一時保留する
ことにより、前記クライアント装置側では下り方向の経
路作成の確認を待たずに併行して上り方向の経路作成を
することを可能にしても良い。
ることで、接続時間の遅延をなくし高速な手続きで接続
することができる。
記クライアント装置側では生成される唯一のキーをHTTP
ヘッダに追加するようにし、前記サーバ装置側では接続
の両端のホスト情報ではなく、前記唯一のキーを利用し
て双方向経路の接続状況を管理するようにしても良い。
れた場合に、当該クライアント装置側から再接続する際
に、前回に作成したと同一の唯一のキーを用いて再接続
するようにしても良い。
一の唯一のキー(一時URL )を作成して再接続すること
で安定したプロキシ通過を保証する方式によって、安定
した接続環境を提供するという目的を達成することがで
きる。
本発明について詳細に説明する。図1は本発明を適用し
たネットワーク(双方向通信システム)の一例を示す概
略構成図であり、図2は本発明のデータ伝送装置の構成
例を示すブロック図である。また、図3は本発明に係る
データ構造を示す説明図である。
介した双方向通信システムは、イントラネット内にある
クライアント装置610 と同じくクライアント装置640 、
プロキシ装置620 (HTTP通信手段)、およびインターネ
ット上にあるサーバ装置630からなる。
ント装置が接続されていても良く、クライアント装置64
0 は直接サーバ装置630 とネットワーク接続されたクラ
イアント装置が含まれていることもある。各クライアン
ト装置は同一機能を有する装置である。
HTTPトラフィックを受け渡しする機能を有する。具体的
にはクライアントから見るとサーバとして動作し、サー
バから見るとクライアントとして動作するいわゆる代理
人である。
装置611 とクライアント通信装置612 からなる。同様に
クライアント装置640 もアプリケーション装置641 とク
ライアント通信装置642 からなる。アプリケーション装
置611 、641 はグループウェアツールでありサーバ経由
で情報共有するシステムになっている。クライアント通
信装置612 、642 の詳細構成については後に詳述する。
プロキシサーバ装置621 と、プロキシクライアント装置
622 からなる。プロキシサーバ装置621 はHTTPサーバと
同じ働きをし、受け取ったHTTPトランザクションをプロ
キシクライアント装置622 に渡す。プロキシクライアン
ト装置622 はプロキシサーバ装置621 が受け取ったHTTP
トランザクションと同じHTTPトランザクションをサーバ
通信装置631 へと送出する。プロキシ装置620 はHTTPト
ランザクションしか通過しないので、イントラネット内
のクライアント装置610 、640 からインターネット上の
サーバ装置630への唯一の出入り口として機能する。
信装置631 とサーバアプリケーション装置632 からな
る。サーバアプリケーション装置632 はアプリケーショ
ン装置611 、641 へのサーバ機能が備わっている。な
お、アプリケーション装置611 、641 とサーバアプリケ
ーション装置632 は、本来、独自のプロトコルを利用し
てイントラネット内で運用されていたものである。
642 およびサーバ通信装置631 をモジュールに組み込む
ことで、必要情報がプロキシ装置620 を通過可能で、つ
まりイントラネット内からインターネット上のサーバへ
アクセスできる通信手段が得られることになる。
ついて更に詳細に説明する。図2のブロック図に示すよ
うにクライアント装置610 およびクライアント装置640
は、クライアント通信装置612(642)の他に、接続依頼手
段101 と、クライアント側データ送信手段102 と、クラ
イアント側データ受信手段103 を有している。
段101 に接続された接続装置104 と、順に後続するトン
ネリングヘッダ作成装置105 及びクライアント側送信装
置107 、そして前記クライアント側データ送信手段102
に接続され前記クライアント側送信装置107 に出力する
クライアント側プロトコル変換装置106 と、外部のHTTP
通信手段620 に接続されたクライアント側受信装置110
と、順に後続する異常検出装置109 及びクライアント側
プロトコル還元装置108 とを含み構成されている。この
クライアント側プロトコル還元装置108 の出力は前記ク
ライアント側データ受信手段103 に接続されている。な
お、異常検出装置109 は前記接続装置104 にも出力して
おり、クライアント側プロトコル変換装置106 の出力は
前記クライアント側送信装置107 にも接続されている。
通信装置631 の他に、サーバ側データ受信手段310 と、
サーバ側データ送信手段311 と、トンネリング情報記憶
部312 とを有している。
手段620 に接続されたサーバ側受信装置301 と、これに
順に後続する流入抑制装置302 、プロトコル分岐装置30
3 、基本プロトコル処理装置305 とを具備し、更に前記
プロトコル分岐装置303 の出力が接続され前記サーバ側
データ受信手段310 に出力するサーバ側プロトコル還元
装置304 、また、前記サーバ側データ送信手段311 の出
力に順に接続されたサーバ側プロトコル変換装置308
と、通信経路管理装置309 と、前記HTTP通信手段620 に
出力するサーバ側送信装置307 、加えて、前記トンネリ
ング情報記憶部312 に接続されると共に前記プロトコル
分岐装置303 の出力が接続され前記通信経路管理装置30
9 及び前記サーバ側送信装置307 並びに前記流入抑制装
置302 の夫々へと出力するトンネリングヘッダ分析装置
306 の各部を含み構成されている。前記基本プロトコル
処理装置305 の出力は前記サーバ側送信装置307 へと接
続されている。
ーバ側受信装置301 はHTTP通信手段620 から渡される情
報を受け取り、流入抑制装置302 に渡す。流入抑制装置
302は、上り下りの双方向の回線接続が完了していない
うちはデータを受信しないように上り経路のデータ流入
を停止(保留)し、回線接続が完了していればプロトコ
ル分岐装置303 へとデータを転送する。
応じて適切な送出先へデータを送出する(分岐する)。
即ち、データがトンネリングヘッダ410 の場合はトンネ
リングヘッダ分析装置306 へ、通常のHTTPトランザクシ
ョンの場合は基本プロトコル処理装置305 へ、データセ
ル430 の場合はサーバ側プロトコル還元装置304 へと当
該データを渡す。
アント側プロトコル還元装置108 と同様にデータセル43
0 からFREE_CONTENT435のデータを取り出し、サーバ側
データ受信手段310 へと渡す。基本プロトコル処理装置
305 は、通常のHTTPサーバの機能を有しており、応答ト
ランザクションをサーバ側送信装置307 へ渡す。
イアント装置側でトンネリングヘッダ作成装置105 が作
成したヘッダ情報を分析してトンネリング情報440 を抽
出してトンネリングヘッダ情報記憶部312 に保存する。
もし、POSTメソッドのトンネリング情報であり、かつGE
T メソッドのトンネリング情報が受信されていなかった
ら、流入抑制装置302 に通知し、以降のその経路からの
情報の受信を停止させる。一方、GET メソッドのトンネ
リング情報であったならば、流入抑制装置302の流入抑
制を解除する。
の経路が先に確立しても、データセルの送受信のタイミ
ングがずれることがない。GET メソッドのトンネリング
情報の場合には、更に下りHTTPヘッダ420 を作成して、
サーバ側送信装置307 に渡す。また、トンネリングヘッ
ダ分析装置306 は通信経路管理装置309 に対して出力し
送信の経路を通知する。
処理装置305 とトンネリングヘッダ分析装置306 と通信
経路管理装置309 のいずれかから渡される情報をHTTP通
信手段620 へと送信する。サーバ側プロトコル変換装置
308 は、サーバ側データ送信手段311 から渡されるデー
タをデータセル430 に含有させて通信経路管理装置309
へと渡す。通信経路管理装置309 は、あらかじめ決めら
れた送信経路を検索し、サーバ側送信装置307 へとデー
タセル430 を送信する。
サーバ側データ受信手段310 とサーバ側データ送信手段
311 とをそのとき接続しているすべてのクライアント通
信装置100 と結合することで、マルチキャスト通信が可
能となり、クライアント装置610 、クライアント装置64
0 、その他のクライアント装置において、HTTP通信手段
620を挟んでの双方向通信が可能になる。
る。HTTP通信手段620 はHTTPトランザクションしか伝達
しない通信媒体である。HTTP通信手段620 にはプロキシ
と呼ばれる装置が含まれている可能性がある。この場合
に考慮しなければならないことは、サーバとクライアン
トに別々に接続してHTTPトランザクションにしたがって
情報を受け渡す、キャッシュサービスが行われる点であ
る。
4に示す様に上りHTTPヘッダ(トンネリングヘッダ);
410 でURL に一時的な文字列を追加することと、キャッ
シュオフの指令をつけることで、キャッシュされること
を回避する。特にURL を変更するようになっており、こ
れによりほかのクライアント装置および以前に同一クラ
イアント装置から接続された違う経路であることが保証
されるので、HTTPプロキシがサーバ通信装置631 に接続
すること無しにキャッシュ内容を返送することを防ぐこ
とができる。
関するデータ形式について詳細に説明する。データセル
430 は、METHOD_URL ;431 と、CONTENT _TYPE;432
と、CONTENT _LENGTH;433 と、CELL_NUMBER;434
と、FREE_CONTENT ;435 から構成されている。METHOD
_URL は、上りHTTPヘッダ;410 、または下りHTTPヘッ
ダ;420 と同じMETHOD_URL ;411 が格納される。
クに使うための対応と、データセル430 の送信間隔に制
限がないためにプロキシなどでデータが変化してしまう
可能性があるのでそのチェックに利用する。経験上、も
っとも発生し得るデータ変化はデータセル430 の上位バ
イトが欠落することであり、その場合は読み飛ばす。CO
NTENT _TYPE;432 はアプリケーションデータであるこ
とを識別し、CONTENT _LENGTH;433 はデータセルの大
きさを示す。CELL_NUMBER;434 はデータセル430 の作
成順序を示す。FREE_CONTENT ;435 はアプリケーショ
ンのデータとまったく同じものが入る。
いては、接続装置104 は接続依頼手段101 を介して接続
先のサーバ装置から信号が入力され、HTTP通信手段620
との間で二つの通信経路を生成(接続)する。一つは上
り回線用であり、一つは下り回線用である。
クライアント装置と接続して、その後、サーバ装置630
と接続する構成を取る場合と、サーバ装置630 と直接接
続する構成の場合がある。なお、異常検出装置109 が切
断およびタイムアウトの異常を検知した場合には接続装
置104 が再接続を行う。
ンネリングヘッダ作成装置105 が上りHTTPヘッダ410 を
作成する。上りHTTPヘッダ410 は基本的にHTTPヘッダを
継承しているが、次のデータから構成されている。即
ち、METHOD_URL411と、CONTENT _TYPE412 、CONTENT
_LLENGTH413と、CACHE _CONTROL414と、TUNNELING _
METHOD415 と、CONNECTION_KEY416と、CONNECTION_CO
UNT417とを含む。
アドレスとコンテンツの位置情報が含まれている。METH
ODは上り回線用にはPOST、下り回線用にはGET が用いら
れる。本実施例に於いては、URL には通常のコンテンツ
識別子の後ろに一時的なキーワードを追加している。こ
のことにより、HTTP通信手段に存在し得るプロキシサー
バ装置621およびプロキシクライアント装置622 にキャ
ッシュされることを完全に防ぐことができる。
対象か通常のHTTP接続かを識別するデータである。CONN
ECTION_KEY416は、上り下りの二つの接続をサーバが同
一の双方向通信用と認識させるために用いられる。CONT
ENT _LENGTH413 はシステムで許される最大値を設定す
る。
グヘッダ作成装置105 が作成したヘッダと、クライアン
ト側プロトコル変換装置106 が作成したデータセル430
をHTTP通信手段620 に送信する。この際、クライアント
側プロトコル変換装置106 はクライアント側データ送信
手段102 のデータをデータセル430 に含めてクライアン
ト側送信装置に渡す。
らの情報を受け取り、異常検出装置109 へ渡す。異常検
出装置109 は、データの異常および接続の異常を検出
し、異常がある場合には接続装置104 へ通知する。情報
が正常ならば当該情報はクライアント側データ還元装置
108 へ送付される。
ータセル430 のヘッダ部分を除去し、クライアント側デ
ータ受信手段103 へFREE_CONTENT435を渡す。
ば、接続装置104 は上りと下りの2つの接続を双方向通
信が行われている間は継続することで、接続によるオー
バヘッドを初回だけに押さえ、データセル430 でリアル
タイムに転送することで、第1の目的を達成することが
できる。
サーバ側プロトコル還元装置304 、およびサーバ側プロ
トコル変換装置308 、クライアント側プロトコル還元装
置108 がアプリケーションのデータを、データセル430
にカプセル化するので、 HTTPのトラフィックから独立
することができ、アプリケーションの独自プロトコルの
トラフィックにしたがうことで第2の目的を達成するこ
とができる。
替えを可能にすることで、接続時間の遅延をなくし、ト
ンネリングヘッダ作成装置105 が一時URL を作成するこ
とで安定したプロキシ通過を保証する方式によって、第
3の目的を達成することができる。
説明する。図2の実施例ではクライアント装置610 にア
ドレスclient1.intranet、クライアント装置640 にアド
レス;client2.intranet、プロキシ装置620 のイントラ
ネット側にアドレス;proxy.intranet、プロキシ装置62
0 のインターネット側にアドレス;gate,internet 、サ
ーバ装置630 にアドレス;httpserver.internet が割り
当てられている。
バ装置621 を経由してサーバ通信装置631 に接続する。
プロキシサーバ装置621 に接続すると、即座にMETHOD_
URL411を解釈してサーバ通信装置630 に接続され、上り
HTTPヘッダ410 が転送される。
410 のMETHOD_URL411はGET http://httpserver.intern
et/document1/getmethod_temp11223344 HTTP/1.0とな
る。http://httpserver.internet/document1/ までは通
常のURL であり、それ以降に存在するgetmethod _temp
11223344は一時的に作成される唯一の文字列である。
する、結果として再接続およびクライアント装置640 か
らの要求がある場合に、プロキシ装置620 には毎回新し
いドキュメント要求であるように見えるので、プロキシ
装置620 のキャッシュの対象とはならなくなりキャッシ
ュは行われない。さらにTUNNELING _METHOD415 はGET
_VIA _TUNNERING の文字列となる。この情報によって
サーバ装置はトンネリング対象の接続依頼であることを
検出する。
410 のMETHOD_URL411は、POST http://httpserver.int
ernet/document1/postmethod_temp11223344 HTTP/1.0
となる。TUNNELING _METHOD415 はPOST_VIA _TUNNER
ING の文字列となる。この情報によってサーバ装置はト
ンネリング対象の接続依頼であることを検出する。
して同じキーワードで唯一の値としてclient1temp11223
344 を有している。このキーを手がかりとして、サーバ
通信装置631 は双方向経路を結び付ける。
9 つまり1 ギガバイトの大きさに設定する。1 ギガ以上
のデータの転送はないことを仮定しており、設定値以下
のデータ量ならばプロキシ装置620 が接続を途中で切断
しない。もし、切断されたら再接続すればよい。
初期接続動作過程について詳しく説明する。初期接続の
動作はステップ;510 と、ステップ;520 と、ステッ
プ;530 と、ステップ;540 と、ステップ;550 とから
成り立っている。最初のステップ;510 では、クライア
ント通信装置100(612,642)とサーバ通信装置631(300)の
間で下り経路を接続する。
装置100 とサーバ通信装置631 の間で上り経路を接続す
る。
データ受信経路にするために、ステップ;530 において
クライアント通信装置100 は下り経路にトンネリングGE
T ヘッダとして上りHTTPヘッダ;410 を送信し、リプラ
イヘッダとして下りHTTPヘッダ;420 を受信する。
めに、ステップ;540 においてクライアント通信装置10
0 は上り経路にトンネリングPOSTヘッダとして上りHTTP
ヘッダ;410 を送信する。以上の処理が終了すると、ク
ライアント通信装置100 は通信可能状態となり、続くス
テップ;550 からデータセル430 を送信することができ
る。
装置100 のエラーチェックに利用される。本双方向通信
システムとは異なり一般的な通信システムは接続完了時
点で通信可能状態となるが、HTTP通信手段620 が接続を
中継するプロキシとして働く場合には接続と通信経路の
確立が一致しない。このような場合に対応すべく、本発
明ではGET メソッドの返り値でエラーを判断する。な
お、返答を待ってから、初回のデータセル430 を送信す
るのでは接続時間がかかるので、このエラーチェックは
上り経路のデータセルの送信とは非同期で行っている。
0 からステップ;550 までの各過程の順序が重要であ
る。なぜならばネットワークに遅延が存在する環境で安
定して上位のアプリケーションを通信可能状態にするこ
とが可能とする順序であるからである。
は、それぞれの接続と経路作成とは非同期で行われるの
で、どちらが先に終了するのかは大きな問題となる。通
信は最終的には両方の経路の作成が完了してないと行え
ないが、ほとんどすべてのアプリケーションではトラン
ザクションはクライアント通信装置100 側からのサーバ
通信装置631 への送信から開始される。したがって下り
経路を先に作成した方が、後から送られる上り経路のデ
ータセル430 に対する応答パケットを返送することが可
能となる。
れるため、もっともタイミングの問題が発生し易いと考
えられる初期状態において安定性を保つことができる。
最大の特徴は、下り経路の成立以前に上り経路でデータ
セル430 を送信できることである。ステップ;534 のGE
T 経路のリプライを待たずにPOST経路で先行して送信す
ることが可能である。
在によって、極端に2つの経路の作成速度に差がでる場
合には、情報の追い越しが発生する点である。追い越し
が発生した場合は、サーバ通信装置631 から見ると、た
とえば図6に示す様にステップ構成が変化してしまう。
つまり上り経路の作成が下り経路の作成より前に終わっ
てしまい、上りのデータセル430 を下りの帰り道がない
うちにサーバ通信装置が処理するとの状況が起こり得る
のである。本発明の双方向通信システムでは、ステッ
プ;530 中のステップ;535 、およびステップ;540 の
中のステップ;543 で通信をバッファリングすることで
この問題を解決している。
プ;543 を先に処理した場合には、上り経路のデータ受
信を一時停止し、受信データをバッファリングする。ス
テップ;535 ではバッファリングしたデータを処理し、
以降の受信を可能にする。このようにサーバ通信装置63
1 で受信のタイミングの整合を行うことで、プロキシで
の情報遅延に対処した安定した通信が可能になってい
る。
装置100 からデータセル430 を作成したタイミングでリ
アルタイムにサーバ通信装置631 に送信し、一方、下り
経路では、サーバ通信装置631 からデータセル430 を作
成したタイミングでリアルタイムにクライアント通信装
置100 に送信する。
装置640 がプロキシ装置620 経由でサーバ装置630 に接
続する。このときのCONNECTION_KEY416はたとえばclie
nt2temp55667788 となる。以上の動作によって、クライ
アント装置610 とクライアント装置640 はサーバ装置63
0 を介して、リアルタイムに情報共有することが可能と
なる。
途中で切断することが起こり得る。この時には通信経路
を再接続する必要がある。その場合、METHOD_URL411は
新しく唯一のものを用いるが、CONNECTION_KEY416は前
回接続と同じものを利用することで、接続経路の統合を
可能にする。
下のような効果を得ることができる。すなわち、プロキ
シが存在するイントラネットからインターネットへのア
クセスのときに、低オーバヘッドで情報を転送する通信
方式を提供できる。また、プロキシが存在するイントラ
ネットからインターネットへのアクセスのときに、リア
ルタイム性を保ち通信することができる。更に、高速な
手続きで双方向通信経路を接続し、安定した通信接続環
境を上位アプリケーションに提供することができる。
図である。
る。
れをあらわした図である。
Claims (8)
- 【請求項1】 サーバ装置とこのサーバ装置に接続され
た複数のクライアント装置を含み構成され、少なくとも
一つの前記クライアント装置がHTTPのトラフィックだけ
を伝送するHTTP通信手段を含み構成された通信経路を介
して前記サーバ装置に接続されており、前記サーバ装置
と各クライアント装置間でリアルタイムに双方向通信を
行うようにした、サーバおよび複数のクライアント間の
双方向通信システムにおいて、 サーバ装置と各クライアント装置間で、データの送受信
が行われる以前に、 クライアント装置からサーバ装置に対するデータ送信を
リアルタイムに行うことを可能にするための、HTTPのPO
STメソッドを用いた上り回線と、 サーバ装置からクライアント装置に対するデータ送信を
リアルタイムに行うことを可能にするための、HTTPのGE
T メソッドを用いた下り回線との計2回線をあらかじめ
作成するようにしたことを特徴とする、サーバおよび複
数のクライアント間の双方向通信システム。 - 【請求項2】 請求項1に記載の双方向通信システムで
あって、 クライアント装置からサーバ装置へデータを送信するPO
STメソッドのHTTP通信過程において、 クライアント装置側でHTTPのデータ領域をシステムが許
容する最大値にHTTPヘッダで設定し、アプリケーション
がデータ送信を要求するタイミングでデータセルを作成
して送信して前記HTTP通信手段をリアルタイムに通過す
るようにしたことを特徴とする双方向通信システム。 - 【請求項3】 請求項1または2に記載の双方向通信シ
ステムであって、 クライアント装置がサーバ装置からデータを受信するGE
T メソッドのHTTP通信過程において、 サーバ装置側でHTTPのデータ領域をシステムが許容する
最大値にHTTPヘッダで設定し、サーバがデータ送信を要
求するタイミングでデータセルを作成して送信して前記
HTTP通信手段をリアルタイムに通過するようにしたこと
を特徴とする双方向通信システム。 - 【請求項4】 前記HTTP通信手段がキャッシュ機能付き
のHTTPプロキシであり、 前記クライアント装置側ではデータ送信時にコンテンツ
指定識別子に一時的な唯一の文字列を付加し、前記サー
バ装置側ではその文字列を削除して解釈することにより
プロキシキャッシュ動作の対象となるのを回避したこと
を特徴とする請求項1〜3のいずれか1項に記載の双方
向通信システム。 - 【請求項5】 イントラネット内のクライアントから前
記HTTP通信手段を介してインターネット上のサーバへ接
続するようにした請求項1〜4のいずれか1項に記載の
双方向通信システムにおいて、 前記クライアント装置からサーバ装置へデータ送信する
ための前記下り経路の作成を先に行い、前記サーバ装置
から前記クライアント装置ヘデータ送信するための前記
上り経路の作成を後で行うことを特徴とする双方向通信
システム。 - 【請求項6】 ネットワークの遅延により経路作成の順
序が入れ替わった場合において、 前記サーバ装置にて上り方向のデータ受信を、下り方向
の経路作成が終了するまで一時保留することにより、 前記クライアント装置側では下り方向の経路作成の確認
を待たずに併行して上り方向の経路作成をすることを可
能とした請求項5に記載の双方向通信システム。 - 【請求項7】 前記クライアント装置側では生成される
唯一のキーをHTTPヘッダに追加するようにし、前記サー
バ装置側では接続の両端のホスト情報ではなく、前記唯
一のキーを利用して双方向経路の接続状況を管理するこ
とを特徴とする請求項1〜6のいずれか1項に記載の双
方向通信システム。 - 【請求項8】 前記HTTP通信手段により接続経路が切断
された場合に、当該クライアント装置側から再接続する
際に、前回に作成したと同一の唯一のキーを用いて再接
続するようにしたことを特徴とする請求項7に記載の双
方向通信システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26307399A JP3478200B2 (ja) | 1999-09-17 | 1999-09-17 | サーバ・クライアント間双方向通信システム |
US09/663,396 US6892240B1 (en) | 1999-09-17 | 2000-09-15 | Bidirectional communication system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26307399A JP3478200B2 (ja) | 1999-09-17 | 1999-09-17 | サーバ・クライアント間双方向通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001086163A JP2001086163A (ja) | 2001-03-30 |
JP3478200B2 true JP3478200B2 (ja) | 2003-12-15 |
Family
ID=17384472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26307399A Expired - Fee Related JP3478200B2 (ja) | 1999-09-17 | 1999-09-17 | サーバ・クライアント間双方向通信システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6892240B1 (ja) |
JP (1) | JP3478200B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006001086A1 (ja) * | 2004-06-29 | 2006-01-05 | Mitsubishi Denki Kabushiki Kaisha | イベント通信システム、サーバ装置、およびクライアント装置 |
WO2008050585A1 (fr) * | 2006-10-26 | 2008-05-02 | Nec Corporation | Système de communication bidirectionnelle, appareil serveur, appareil de relais, procédé et programme de communication bidirectionnelle |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6877036B1 (en) * | 1999-09-24 | 2005-04-05 | Akamba Corporation | System and method for managing connections between a client and a server |
US7200666B1 (en) * | 2000-07-07 | 2007-04-03 | International Business Machines Corporation | Live connection enhancement for data source interface |
US6754621B1 (en) * | 2000-10-06 | 2004-06-22 | Andrew Cunningham | Asynchronous hypertext messaging system and method |
US8255791B2 (en) * | 2000-11-29 | 2012-08-28 | Dov Koren | Collaborative, flexible, interactive real-time displays |
US6697206B2 (en) * | 2000-12-19 | 2004-02-24 | Imation Corp. | Tape edge monitoring |
FI111587B (fi) * | 2001-03-20 | 2003-08-15 | Contastic Oy | Tiedonsiirtomenetelmä ja -järjestelmä |
US20020161904A1 (en) * | 2001-04-30 | 2002-10-31 | Xerox Corporation | External access to protected device on private network |
US6819960B1 (en) * | 2001-08-13 | 2004-11-16 | Rockwell Software Inc. | Industrial controller automation interface |
US7216172B2 (en) * | 2001-09-25 | 2007-05-08 | Webex Communications, Inc. | Systems and methods for establishing quasi-persistent HTTP connections |
US20030217149A1 (en) * | 2002-05-20 | 2003-11-20 | International Business Machines Corporation | Method and apparatus for tunneling TCP/IP over HTTP and HTTPS |
EP1508892B1 (en) | 2002-05-31 | 2017-07-12 | Onkyo Corporation | Network type content reproduction system |
US20040107244A1 (en) * | 2002-12-02 | 2004-06-03 | Hung-Chi Kuo | Scalable and intelligent network platform for distributed system |
US7392316B2 (en) * | 2003-06-30 | 2008-06-24 | Microsoft Corporation | Client to server streaming of multimedia content using HTTP |
IL161050A0 (en) * | 2004-03-24 | 2009-02-11 | Ipoint Media Ltd | Multimedia over firewall and nat/pat barriers in ip networks |
US7571236B2 (en) * | 2004-06-07 | 2009-08-04 | Sap Ag | System and method for managing connections |
US20080205304A1 (en) * | 2007-02-26 | 2008-08-28 | Michael Shivas | System and Method for Real-Time Communications Over HTTP |
US20080250149A1 (en) * | 2007-04-09 | 2008-10-09 | Morris Robert P | Methods And System For Providing Concurrent Access To A Resource In A Communication Session |
JP2009230269A (ja) | 2008-03-19 | 2009-10-08 | Sony Corp | 情報処理装置、情報処理方法、リモートサーバ、情報処理システム |
TWI393349B (zh) * | 2008-12-17 | 2013-04-11 | Ind Tech Res Inst | 信號傳收裝置及系統 |
US9473460B2 (en) * | 2009-06-22 | 2016-10-18 | Microsoft Technology Licensing, Llc | Using hypertext transfer protocol as a transport for bi-directional data streams |
WO2011022405A2 (en) | 2009-08-17 | 2011-02-24 | Akamai Technologies, Inc. | Method and system for http-based stream delivery |
US8880633B2 (en) | 2010-12-17 | 2014-11-04 | Akamai Technologies, Inc. | Proxy server with byte-based include interpreter |
WO2013086076A1 (en) * | 2011-12-06 | 2013-06-13 | Telecommunication Systems, Inc. | Unattended authentication in a secondary authentication service for wireless carriers |
US9130944B2 (en) * | 2013-03-13 | 2015-09-08 | Futurewei Technologies, Inc. | Mechanism and protocol to authorize bilateral sessions between websites based on open authorization |
GB2513344B (en) | 2013-04-23 | 2017-03-15 | Gurulogic Microsystems Oy | Communication system utilizing HTTP |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694546A (en) * | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US6047323A (en) * | 1995-10-19 | 2000-04-04 | Hewlett-Packard Company | Creation and migration of distributed streams in clusters of networked computers |
US5828840A (en) * | 1996-08-06 | 1998-10-27 | Verifone, Inc. | Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal |
US5991802A (en) * | 1996-11-27 | 1999-11-23 | Microsoft Corporation | Method and system for invoking methods of objects over the internet |
US5938737A (en) * | 1997-02-14 | 1999-08-17 | Stanford Telecommunications, Inc. | Internet upstream request compression |
US6104716A (en) | 1997-03-28 | 2000-08-15 | International Business Machines Corporation | Method and apparatus for lightweight secure communication tunneling over the internet |
US6098108A (en) * | 1997-07-02 | 2000-08-01 | Sitara Networks, Inc. | Distributed directory for enhanced network communication |
US6397259B1 (en) * | 1998-05-29 | 2002-05-28 | Palm, Inc. | Method, system and apparatus for packet minimized communications |
US6535920B1 (en) * | 1999-04-06 | 2003-03-18 | Microsoft Corporation | Analyzing, indexing and seeking of streaming information |
US6654796B1 (en) * | 1999-10-07 | 2003-11-25 | Cisco Technology, Inc. | System for managing cluster of network switches using IP address for commander switch and redirecting a managing request via forwarding an HTTP connection to an expansion switch |
US6665721B1 (en) * | 2000-04-06 | 2003-12-16 | International Business Machines Corporation | Enabling a home network reverse web server proxy |
-
1999
- 1999-09-17 JP JP26307399A patent/JP3478200B2/ja not_active Expired - Fee Related
-
2000
- 2000-09-15 US US09/663,396 patent/US6892240B1/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006001086A1 (ja) * | 2004-06-29 | 2006-01-05 | Mitsubishi Denki Kabushiki Kaisha | イベント通信システム、サーバ装置、およびクライアント装置 |
WO2008050585A1 (fr) * | 2006-10-26 | 2008-05-02 | Nec Corporation | Système de communication bidirectionnelle, appareil serveur, appareil de relais, procédé et programme de communication bidirectionnelle |
Also Published As
Publication number | Publication date |
---|---|
JP2001086163A (ja) | 2001-03-30 |
US6892240B1 (en) | 2005-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3478200B2 (ja) | サーバ・クライアント間双方向通信システム | |
US7386631B1 (en) | Apparatus and methods for providing translucent proxies in a communications network | |
JP3309336B2 (ja) | 移動式計算装置と固定式計算装置とコンピュータ・ネットワークとの間で3方向接続を提供するための方法および装置 | |
US6920501B2 (en) | Communication socket migration among different devices | |
US6529516B1 (en) | Gateway architecture for data communication over bandwidth-constrained and charge-by-use networks | |
US8553699B2 (en) | Wavefront detection and disambiguation of acknowledgements | |
US8250214B2 (en) | System, method and computer program product for communicating with a private network | |
US6947444B2 (en) | Method and apparatus for improving utilization efficiency of wireless links for web-based applications | |
US20040258053A1 (en) | Pre-fetch communication systems and methods | |
US20030154244A1 (en) | Method and system to provide flexible HTTP tunnelling | |
KR20030081450A (ko) | 무선 인터페이스를 통해 tcp 성능을 개선시키기 위한듀얼 프럭시 접근 방식 | |
US20050120140A1 (en) | Method of and system for multi-patch communication | |
US20020099851A1 (en) | Decoupling TCP/IP processing in system area networks | |
WO2017219813A1 (zh) | 一种流量处理方法及透明缓存系统 | |
JP2017118545A5 (ja) | ||
JP6444988B2 (ja) | Httpを利用する通信システム | |
US20030167338A1 (en) | System and method to provide PPPoE connectivity to non-PPPoE clients | |
US20020141442A1 (en) | Method and apparatus for providing network access for PDA devices | |
JP2005136684A (ja) | データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム | |
Arora et al. | Effective extensions of Internet in hybrid satellite‐terrestrial networks | |
US20100042677A1 (en) | Two-way communication system, server unit, repeater, two-way communication method and program | |
JP2003069615A (ja) | 通信制御装置および通信制御方法 | |
Cisco | Configuring STUN and BSTUN | |
Cisco | Configuring STUN and BSTUN | |
Cisco | Configuring STUN and SDLC Local Acknowledgment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030902 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081003 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091003 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091003 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101003 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131003 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |