JP2012530999A - 双方向データストリーム用トランスポートとしてのハイパーテキスト転送プロトコルの使用 - Google Patents

双方向データストリーム用トランスポートとしてのハイパーテキスト転送プロトコルの使用 Download PDF

Info

Publication number
JP2012530999A
JP2012530999A JP2012517667A JP2012517667A JP2012530999A JP 2012530999 A JP2012530999 A JP 2012530999A JP 2012517667 A JP2012517667 A JP 2012517667A JP 2012517667 A JP2012517667 A JP 2012517667A JP 2012530999 A JP2012530999 A JP 2012530999A
Authority
JP
Japan
Prior art keywords
computer system
data
http
http request
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012517667A
Other languages
English (en)
Other versions
JP5754572B2 (ja
Inventor
エフ.バスターズ クレメンス
エー.ワーテンダイク デイビッド
ワン チエン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012530999A publication Critical patent/JP2012530999A/ja
Application granted granted Critical
Publication of JP5754572B2 publication Critical patent/JP5754572B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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/19Flow control; Congestion control at layers above the network layer
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

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

Abstract

本発明は、双方向データストリーム用トランスポートプロトコルとしてHTTP(ハイパーテキスト転送プロトコル)を使用する方法、システムおよびコンピュータプログラム製品にまで及ぶ。本発明の実施形態は、ファイアウォールを介して、別の方法で遮断されたTCP通信をファイアウォールに通過させることを容易にする。ファイアウォールが正当なTCP通信を遮断するように構成されていても、本発明の実施形態を使用すれば、正当なTCP通信はファイアウォールを通過することができる。

Description

本発明は、双方向データストリーム用トランスポートとしてのハイパーテキスト転送プロトコルの使用に関する。
コンピュータシステムとその関連技術は、社会の多くの側面に影響を与える。実際に、コンピュータシステムの情報処理能力は、生活や仕事の様式を変えた。現在では、コンピュータシステムは、一般に、コンピュータシステムが出現する前には手動で行っていた多くのタスク(例えば、文書処理、スケジュール管理、会計など)を実行する。最近になって、コンピュータシステムは、互いに結合され、また他の電子装置に結合されて、有線および無線ネットワークを形成し、そのネットワーク経由で、コンピュータシステムおよび他の電子装置は、電子データを転送することができる。したがって、多くのコンピューティングタスクの実行は、多数の異なるコンピュータシステムおよび/または多数の異なるコンピューティング環境に分散される。
ファイアウォールは、保護されたネットワーク(例えば、企業内LAN)と保護されていないネットワーク(例えば、インターネット)との間の通信を制御するために、多くのコンピューティング環境で使用されている。さまざまなレベルの複雑さを踏まえて、ファイアウォールを、保護されたネットワークおよび/または保護されていないネットワーク内で発生する種々のプロトコル、サービスなどを遮断するように構成することができる。プロトコールおよびサービスは、通常は遮断されていて、保護されたネットワーク上で悪意のある活動が生じる可能性を軽減する。
しかし、IT(情報技術)担当者は、ファイアウォールの設定時に、慎重過ぎるくらい慎重になる傾向にある。したがって、多くのファイアウォールは、保護されたネットワークと保護されていないネットワークとの間でファイアウォールを通過することができる通信のタイプをかなり制限するように構成される。例えば、IT担当者は、単にセキュリティを最大限に強化するためにネットワークに可能な限りの最も厳しい制限を設定する場合がある。しかし、IT担当者は、必要とされる正当な通信のタイプを適切なレベルの粒度で考慮することができない場合が多い。したがって、1つまたは複数のタイプの正当な通信がファイアウォールによって遮断されてしまうのは珍しくない。
本発明は、双方向データストリーム用トランスポートプロトコルとしてHTTP(ハイパーテキスト転送プロトコル)を使用する方法、システム、コンピュータプログラム製品にまで及ぶ。一部の実施形態では、双方向データストリームの特性は、TCP(伝送制御プロトコル)を使用して確立された双方向データストリームの特性に近い。コンピュータシステムは、TCP通信を使用して別のコンピュータシステムとの通信を試みる。コンピュータシステムは、ファイアウォールがTCP通信を遮断したとの指示を受信する。コンピュータシステムは、ファイアウォールがTCP通信を遮断したことに応答して、ファイアウォールを介して他のコンピュータシステムにHTTP通信を送信する。
他のコンピュータシステムは、ファイアウォールを介してコンピュータシステムからHTTP通信を受信する。他のコンピュータシステムは、HTTP通信に応答して、アップストリームURIとダウンストリームURIとをコンピュータシステムに送信する。コンピュータシステムは、他のコンピュータシステムからアップストリームURIとダウンストリームURIとを受信する。
双方向データソケット(例えば、TCPソケットに近い)は、HTTP通信を介してシミュレートされる。コンピュータシステムは、他のコンピュータシステムに対して、アップストリームURIへのデータ送信のHTTP要求を送信し、ダウンストリームURIからのデータ受信のHTTP要求を送信する。他のコンピュータシステムは、コンピュータシステムから、アップストリームURIへのデータ送信のHTTP要求を受信し、ダウンストリームURIからのデータ受信のHTTP要求を受信する。アップストリームURIへのデータ送信のHTTP要求とダウンストリームURIからのデータ受信のHTTP要求とは、コンピュータシステムと他のコンピュータシステムとの間で(例えば、TCP双方向データストリームと同様の特性を有する)双方向データストリームにまとめられてバインドされる。
本概要は、以下で説明する「発明を実施するための形態」の概念の抜粋を簡略化して紹介するためのものである。この概要は、特許請求の範囲に記載された主題の重要な特徴または基本的な特徴を特定するものでなく、また特許請求の範囲に記載された主題の範囲の決定を助けるために使用されるものでもない。
本発明のさらなる特徴および利点は、以下の説明の中で述べるが、ある程度その説明から明らかになり、または本発明を実施することで理解されるであろう。本発明の特徴および利点は、添付の特許請求の範囲で特に指摘されている機器および組み合わせを使用して実現され、得られるものである。本発明のこれらおよび他の特徴は、以下の説明と添付の請求項からより十分に明らかになるであろう、または以下で説明するように本発明を実施することで理解されるであろう。
上述した本発明の他の利点および特徴を理解できるように、添付図面に示されている本発明の特定の実施形態を参照しながら、簡潔に上述の本発明についてより詳細に説明する。これらの図面は本発明の典型的な実施形態のみを示したものであり、したがって、本発明の範囲を制限するものでないという条件の下に、添付図面を使用して本発明をさらに具体的に詳細に説明する。
双方向データストリーム用トランスポートとしてHTTP(ハイパーテキスト転送プロトコル)を使用することを容易にするコンピュータアーキテクチャ例を示す図である。 HTTP通信が双方向データストリームによる通信用のトランスポートとして使用される際にデータフローの制限およびHTTP要求の維持を容易にするコンピュータアーキテクチャ例を示す図である。 双方向データストリーム用トランスポートとしてHTTP通信を使用する方法の一例のフロー図である。
本発明は、双方向データストリーム用トランスポートとしてHTTP(ハイパーテキスト転送プロトコル)を使用する方法、システムおよびコンピュータプログラム製品にまで及ぶ。一部の実施形態では、双方向データストリームの特性は、TCP(伝送制御プロトコル)を使用して確立された双方向データストリームの特性に近い。コンピュータシステムは、TCP通信を使用して別のコンピュータシステムとの通信を試みる。コンピュータシステムは、ファイアウォールがTCP通信を遮断したとの指示を受信する。コンピュータシステムは、ファイアウォールがTCP通信を遮断したことに応答して、ファイアウォールを介して他のコンピュータシステムにHTTP通信を送信する。
他のコンピュータシステムは、ファイアウォールを介してコンピュータシステムからHTTP通信を受信する。他のコンピュータシステムは、HTTP通信に応答して、アップストリームURIとダウンストリームURIとをコンピュータシステムに送信する。コンピュータシステムは、他のコンピュータシステムからアップストリームURIとダウンストリームURIとを受信する。
双方向データソケット(例えば、TCPソケットに近い)を、HTTP通信を介してシミュレートする。コンピュータシステムは、他のコンピュータシステムに対して、アップストリームURIへのデータ送信のHTTP要求を送信し、ダウンストリームURIからのデータ受信のHTTP要求を送信する。他のコンピュータシステムは、コンピュータシステムから、アップストリームURIへのデータ送信のHTTP要求を受信し、ダウンストリームURIからのデータ受信のHTTP要求を受信する。アップストリームURIへのデータ送信のHTTP要求とダウンストリームURIからのデータ受信のHTTP要求とは、コンピュータシステムと他のコンピュータシステムとの間で(例えば、TCP双方向データストリームと同様の特性を有する)双方向データストリームにまとめられてバインドされる。
したがって、コンピュータシステムは、アップストリームURIを使用して、ファイアウォールを介して他のコンピュータシステムに通信を送信する。同様に、他のコンピュータシステムは、アップストリームURIを使用して、ファイアウォールを介してコンピュータシステムから通信を受信する。コンピュータシステムは、ダウンストリームURIを使用して、ファイアウォールを介して他のコンピュータシステムから通信を受信する。同様に、他のコンピュータシステムは、ダウンストリームURIを使用して、ファイアウォールを介してコンピュータシステムに通信を送信する。各コンピュータシステムでのモジュールを使用して、HTTP要求のデータ転送速度を制御して、HTTP要求を連続的に維持することができる。
本発明の実施形態は、以下でより詳細に説明するように、コンピュータハードウェアを含む専用コンピュータまたは汎用コンピュータを備えるまたは使用することができる。本発明の範囲内の実施形態はまた、コンピュータ実行可能命令および/またはデータ構造を伝送または記憶するための物理的および他のコンピュータ可読媒体を含む。このようなコンピュータ可読媒体は、汎用または専用コンピュータシステムによってアクセス可能な任意の利用可能な媒体とすることができる。コンピュータ実行可能命令を記憶するコンピュータ可読媒体は、物理的記憶媒体である。コンピュータ実行可能命令を伝送するコンピュータ可読媒体は、伝送媒体である。したがって、例として、本発明の実施形態は、少なくとも2つの異なる種類のコンピュータ可読媒体、つまり、コンピュータ記憶媒体と伝送媒体とを備えることができるが、これらに限定されない。
コンピュータ記憶媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、またはコンピュータ実行可能命令またはデータ構造の形の所望のプログラムコード手段を記憶するのに使用でき、汎用または専用のコンピュータによってアクセス可能な任意の他の媒体を含む。
「ネットワーク」を、コンピュータシステムおよび/またはモジュールおよび/または他の電子装置間の電子データのトランスポートを可能にする1つまたは複数のデータリンクとして定義する。情報をネットワークまたは別の通信接続(有線、無線、または有線もしくは無線の組み合わせのいずれか)経由でコンピュータに転送または提供する場合、コンピュータは適切にその接続を伝送媒体と見なす。伝送媒体は、コンピュータ実行可能命令またはデータ構造の形の所望のプログラムコード手段を伝送するのに使用できかつ汎用または専用のコンピュータによってアクセス可能なネットワークおよび/またはデータリンクを含むことができる。また、上述の媒体の組み合わせもコンピュータ可読媒体の範囲内に含まれるべきである。
さらに、コンピュータ実行可能命令またはデータ構造の形のプログラムコード手段は、種々のコンピュータシステムコンポーネントに達すると、伝送媒体からコンピュータ記憶媒体に自動的に転送可能である(逆もまた同様である)。例えば、ネットワークまたはデータリンク経由で受信されたコンピュータ実行可能命令またはデータ構造を、ネットワークインタフェースモジュール(例えば、「NIC」)内のRAM内にバッファし、最終的には、コンピュータシステムのRAMおよび/またはコンピュータシステムでのより揮発性が低いコンピュータ記憶媒体に転送する。したがって、コンピュータ記憶媒体は、伝送媒体をさらに(または主として)利用するコンピュータシステムコンポーネント内に含まれる場合もあることを理解されたい。
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理装置に特定の機能または特定のグループの機能を実行させる命令およびデータを含む。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語のような中間フォーマット命令、またはソースコードとすることができる。本主題は、構造的特徴および/または方法動作に固有の言葉で示されているが、添付の請求項で定義される主題は必ずしも上述の特徴または動作に限定されないことは理解されたい。むしろ、示されている特徴および動作は、特許請求の範囲を実施する形態の例として開示されている。
本明細書および後述の特許請求の範囲内では、「HTTP通信」は、1つまたは複数のHTTP(ハイパーテキスト転送プロトコル)およびHTTPS(ハイパーテキスト転送プロトコルセキュア)を使用する通信として定義される。
本明細書および後述の特許請求の範囲内では、「HTTP要求」は、1つまたは複数のHTTPおよびHTTPSを使用する要求として定義される。
本明細書および後述の特許請求の範囲内では、「TCPライク」は、実際にTCP(伝送制御プロトコル)ではなくTCPに非常に似た特性を有するものとして定義される。
本明細書および後述の特許請求の範囲内では、「TCP等価」は、実際にTCP(伝送制御プロトコル)ではなくTCPと同等の特性を示すものとして定義される。
当業者は、本発明が多くのタイプのコンピュータシステム構成、例えば、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム制御可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、ページャ、ルータ、切換装置などを有するネットワークコンピューティング環境で実施されてもよいことは理解されよう。本発明をさらに、ネットワークを介して(有線データリンク、無線データリンク、または有線データリンクおよび無線データリンクの組み合わせのいずれかによって)接続されたローカルおよびリモートコンピュータシステムが共にタスクを実行する分散システム環境で実施することができる。分散システム環境では、プログラムモジュールを、ローカルメモリ記憶装置およびリモートメモリ記憶装置の両方に設置することができる。
図1は、双方向データストリーム用トランスポートとしてのHTTP通信またはHTTPS通信の使用を容易にするコンピュータアーキテクチャ100の一例を示す図である。一部の実施形態では、双方向データストリームの特性は、TCP(伝送制御プロトコル)を使用して確立された双方向データストリームの特性に近い。
図1を参照すると、コンピュータアーキテクチャ100は、コンピュータシステム102、ネットワーク103、ファイアウォール101、ネットワーク104、およびコンピュータシステム106を含む。したがって、図示されているコンピュータシステムの各々は、例えば、LAN(ローカルエリアネットワーク)、WAN(広域ネットワーク)、さらにインターネットなどのネットワーク経由で互いに接続される(またはネットワークの一部である)。したがって、図示されているコンピュータシステムの各々、ならびに任意の他の接続されているコンピュータシステムならびにそれらのコンポーネントは、メッセージ関連データを作成して、メッセージ関連データ(例えば、IP(インターネットプロトコル)のデータグラムおよびIPのデータグラムを使用する他の上位層のプロトコル、例えば、UDP(ユーザ・データグラム・プロトコル)、TCP、HTTP、HTTPS、SMTP(簡易メール転送プロトコル)など)を、ネットワーク経由で交換することができる。
一般に、ファイアウォール101は、ネットワーク103(例えば、企業内LAN)とネットワーク104(例えば、インターネット)との間のエッジデバイスとすることができる。ファイアウォール101を、規則に従って特定のタイプの通信がネットワーク103に出入りすることを遮断するように構成することができる。例えば、ファイアウォール101を、TCP通信がネットワーク103からネットワーク104に渡ることを防ぐように構成することができる。ファイアウォール101を、全てのTCP通信を遮断するように、またはTCP用に構成された特定のポート(例えば、IANA(インターネット・アサインド・ナンバー・オーソリティ)によって管理されるポート番号公式リストに示されている)を通過するTCP通信を遮断するに、構成することができる。
したがって、ファイアウォール101は、ネットワーク103で発生する少なくとも一部のTCP通信がネットワーク104を通過することを防ぐ。例えば、ファイアウォール101を、コンピュータシステム102からコンピュータシステム106に送信された少なくとも一部のTCP通信を遮断するように構成する。ファイアウォール101は、ネットワーク103が望ましくないネットワーク104上の(特定のポート番号に対応する)特定のサービスと対話することから保護するためにTCP通信を遮断することができる。例えば、ファイアウォール101は、企業内LANのコンピュータシステムがインターネット上のピアツーピアファイル共有ネットワークに参加することを防ぐことができる。
一方、ファイアウォール101を、一般に、ネットワーク103で生じるHTTP通信が(例えば、トランスポートとしてTCPを使用して)ネットワーク104を通過することを許可するように構成することができる。HTTP通信がファイアウォール101を通過することを許可することで、ネットワーク103上のコンピュータシステムがネットワーク104上のコンピュータシステムと共にさまざまな(潜在的に、より制御された)コンピューティング活動に参加することが可能になる。例えば、コンピュータシステム102は、HTTP通信を使用して、WWW(ワールドワイドウェブ)を閲覧することができる。HTTP通信を許可するということは、ポート80(HTTP)および/またはポート443(HTTPS)を介する通信を許可することを含むことができる。
コンピュータシステム102および106は共に、HTTP要求を連続的に維持し、HTTP要求におけるデータフローを制限し、HTTP要求の組み合わせを双方向データストリームにバインドするためのモジュールを含むことができる。双方向データストリームは、TCPを使用して確立された双方向データストリームの特性に近いTCPライクの双方向データストリームとすることができる。さらに、双方向データストリームを、TCPを用いて確立された双方向データストリームと同等の特性を有するTCP等価双方向データストリームとすることができる。
図3は、双方向データストリーム用トランスポートとしてHTTP通信を使用するための例示の方法300のフローチャートである。コンピュータアーキテクチャ100のコンポーネントおよびデータに関して、方法300を説明する。
方法300は、TCP通信を使用して別のコンピュータシステムとの通信を試みる動作(動作301)を含む。例えば、コンピュータシステム102は、TCP通信107をコンピュータシステム106に送信することを試みることができる。TCP通信107は、TCPを使用しかつ特定のポートに送信される電子通信を表す。特定のポートは、より上位層のプロトコル、例えば、トランスポートプロトコルとしてTCPを使用する、FTP(ファイル転送プロトコル)、SMTP、テルネット、RTP(リアルタイム転送プロトコル)を表すことができる。HTTPも、潜在的に、トランスポートとしてTCPを使用することができる。したがって、TCP通信107は、TCP経由のHTTPである場合もある。その場合、HTTPもTCP通信と見なされる可能性がある。
ファイアウォール101は、TCP通信107を受信することができる。上述したように、ファイアウォール101を、汎用または専用のポートでTCP通信を遮断するように構成することができる。いずれにしても、ファイアウォール101は、TCP通信107を遮断する。例えば、ファイアウォール101は、ピアツーピアファイル共有ネットワークへのファイル転送要求を遮断することができる。ファイアウォール101を、TCP経由のHTTP通信を遮断するがUDP経由のHTTP通信が通過することを許可するように構成することができる。したがって、TCP通信107がTCP経由のHTTP通信である場合、このHTTP通信を遮断することが可能である。しかし、TCP通信を他のポートで遮断しても、TCP経由のHTTP通信が通過することを許可するように、ファイアウォール101を構成することができる。したがって、TCP経由のHTTP通信またはUDP経由のHTTP通信は共にファイアウォール101を通過することができる。
TCP通信107の遮断に応答して、ファイアウォール101は、遮断指示108をコンピュータシステム102に送り返すことができる。方法300は、ファイアウォールがTCP通信を遮断したとの指示にアクセスする動作(動作302)を含む。例えば、コンピュータシステム101は、遮断指示108を受信することができる。
方法300は、ファイアウォールがTCP通信を遮断したことに応答して、ファイアウォールを介してHTTP通信を他のコンピュータシステムに送信する動作(動作303)を含む。例えば、コンピュータシステム102は、HTTP通信109をコンピュータシステム106に送信することができる。ファイアウォール101は、HTTP通信109を受信することができる。ファイアウォール101は、(UDP経由またはTCP経由の)HTTP通信109がネットワーク104を通過することを許可することができる。
方法300は、ファイアウォールを介して、発信元のコンピュータシステムからHTTP通信を受信する動作(動作304)を含む。例えば、コンピュータシステム106は、コンピュータシステム102からHTTP通信109を受信することができる。
方法300は、HTTP通信に応答して、アップストリームURIおよびダウンストリームURIを発信元のコンピュータシステムに送信する動作(動作305)を含む。例えば、コンピュータシステム106は、HTTP通信109に応答して、アップストリームURI111およびダウンストリームURI112をコンピュータシステム102に送信することができる。URI111およびURI112は、HTTP要求を連続して維持しかつHTTP要求の組み合わせを双方向データストリームにバインドするように構成されたコンピュータシステム106におけるモジュールを識別することができる。一部の実施形態では、双方向データストリームは、TCPライクまたはTCP等価な双方向データストリームである。
ファイアウォール101は、URI111およびURI112を受信することができる。URI111、112は、HTTP通信109への応答を表すので、ファイアウォール101は、URI111、112がネットワーク103を通過することを許可する。
方法300は、HTTP通信に応答して、受信側のコンピュータシステムからアップストリームURIおよびダウンストリームURIを受信する動作(動作306)を含む。例えば、コンピュータ102は、コンピュータシステム106から、アップストリームURI111およびダウンストリームURI112を受信することができる。HTTP要求を連続的に維持し、かつHTTP要求の組み合わせを双方向データストリームにバインドするように構成されたコンピュータシステム102におけるモジュールは、URI111、112を使用してコンピュータ106における対応モジュールと通信することができる。
方法300は、HTTP通信を介して双方向データソケットをシミュレートする動作(動作307)を含む。例えば、コンピュータシステム102および106は、HTTP要求116およびHTTP要求117の通信を介して、双方向データソケットをシミュレートすることができる。一部の実施形態では、双方向データソケットは、TCPライクの双方向データソケットまたはTCP等価の双方向データソケットである。
HTTPを介して双方向データソケットをシミュレートすることは、アップストリームURIへのデータ送信のHTTP要求を送信する動作(動作308)を含む。例えば、コンピュータシステム102は、HTTP要求116、例えば、HTTP POST、PUTまたは他の同等の要求をURI111に送信することができる。HTTPを介して双方向データソケットをシミュレートすることは、アップストリームURIへのデータ送信のHTTP要求を受信する動作(動作309)を含む。例えば、コンピュータシステム106は、アップストリームURI111に送信されたHTTP要求116を受信することができる。コンピュータシステム102は、HTTP要求116を介して少量のデータを断続的に送信することで、HTTP要求116を連続的に維持することができる。
HTTPを介して双方向データソケットをシミュレートすることは、ダウンストリームURIからのデータ受信のHTTP要求を送信する動作(動作310)を含む。例えば、コンピュータシステム102は、HTTP要求117、例えば、HTTP GETまたは他の同等の要求をダウンストリームURI112に送信することができる。HTTPを介して双方向データソケットをシミュレートすることは、ダウンストリームURIからのデータ受信のHTTP要求を受信する動作(動作311)を含む。例えば、コンピュータシステム106は、ダウンストリームURI112に送信されたHTTP要求117を受信することができる。コンピュータシステム102は、HTTP要求117を介して少量のデータを断続的に受信することで、HTTP要求117を連続的に維持することができる。
HTTP通信を介して双方向データソケットをシミュレートすることは、データ送信のHTTP要求とデータ受信のHTTP要求とをコンピュータシステムと他のコンピュータシステムとの間の双方向データストリームにまとめてバインドする動作(動作312)を含む。例えば、コンピュータシステム102および106は、HTTP要求116とHTTP要求117とを双方向データストリーム118にまとめてバインドすることができる。双方向データストリーム118の特性は、TCPを用いて確立された双方向データストリームの特性に近づけることができる。例えば、双方向データストリーム118は、TCPライクの双方向データストリームまたはTCP等価の双方向データストリームとすることができる。
その後、双方向データストリーム118を使用して、TCP通信107をファイアウォール101を介して送信することができる。TCP通信107は、HTTPの上層で進んでいるので、ファイアウォール101はTCP通信107をHTTP通信と見なし、TCP通信を遮断しない。コンピュータシステム102におけるモジュールとコンピュータシステム106におけるモジュールとを同時に使用して、双方向データストリーム118経由の適切なTCPプロトコル特性を提供することができる。一部のプロトコル特性を、HTTP要求を維持してHTTP要求を介するデータフローを制限することで得ることができる。
上述したように、コンピュータシステム102および106は共に、HTTP要求を連続的に維持し、データフローを制限し、およびHTTP要求の組み合わせを双方向TCPストリームにバインドするためのモジュールを含むことができる。図2は、HTTP通信をTCP通信用トランスポートとして使用する際に、データフローの制限およびHTTP要求の維持を容易にする例示のコンピュータアーキテクチャ200を示す図である。
図示されているように、HTTP POST231およびHTTP GET232を使用して、コンピュータシステム201とコンピュータシステム202との間の二重複合ストリーム221を確立する。HTTP POST231を使用して、コンピュータシステム202での読み出しのためにコンピュータシステム201からのデータを書き込む。一方、HTTP GET232を使用して、コンピュータシステム201での読み出しのためにコンピュータシステム202からのデータを書き込む。
HTTP POST231を介して、HTTPデータを、コンピュータシステム201からコンピュータシステム202に書き込む際、コンピュータシステム201は、送信メッセージ211(例えば、フレーム)にバイトのブロックを書き込む。次に、送信メッセージ211を、フレーミング出力ポンプ(framing output pump)203に転送する。HTTPは下層のTCPフロー制御を隠しているので、HTTPの抽象化層経由でフロー制御を行う必要がある。フレーミング出力ポンプ203は、HTTPデータのデータ転送速度を制御して、送信メッセージ211を制限パイプストリーム(throttled pipe stream)212に変換する。
一部の実施形態では、フレーミング出力ポンプ203を、アップストリームからフレームへの複数の書き込み動作が所定時間内、例えば、数ミリ秒内で生じる場合にその書き込み動作をマップするように構成する。したがって、フレーミング出力ポンプ203は、複数の送信メッセージを受け入れて、その後、制限パイプストリーム212に渡されるフレームを形成することができる。制限パイプストリーム212により、アップストリーム書き込みから分離される送信HTTPストリームに、予め組み立てられたこれらのフレームを、ある転送速度で配信することができる。しかし、HTTPの下層のTCPフロー制御が、ネットワークにデータを押し出すポンプへのバックプレッシャを開始すると、制限パイプストリーム212は、それ以上のフレームの受け入れを遮断することができる。混雑が緩和されると、データをより速い転送速度で制限パイプストリーム212から押し出し、制限パイプストリーム212はそれ以上のフレーミングポンプを解除する。
バッファポンプを、フレーミング出力ポンプ203とフレーミング入力ポンプ204との間に配置することができる。バッファポンプを、バイトのブロックを1つのストリームから次のストリームに移すように構成する。例えば、バッファポンプは、制限パイプストリーム212から(例えば、ネットワーク経由)のデータをウェブ要求ストリーム213にフラッシュすることができる。ウェブ要求ストリーム213を、フレーミング入力ポンプ204に転送する。フレーミング入力ポンプ204は、コンピュータシステム202に配信するために着信ウェブ要求ストリーム213をパイプストリーム214に変換する。
同様に、HTTP GET232を介して、HTTPデータをコンピュータシステム202からコンピュータシステム201に書き込む際、コンピュータシステム202は送信メッセージ219(例えば、フレーム)にバイトのブロックを書き込む。次に、送信メッセージ219を、フレーミング出力ポンプ206に転送する。HTTPは下層のTCPフロー制御を隠しているので、HTTPの抽象化層経由でフロー制御を行う必要がある。フレーミング出力ポンプ206は、HTTPデータのデータ転送速度を制御して、送信メッセージ219を制限パイプストリーム218に変換する。
バッファポンプを、フレーミング出力ポンプ206とフレーミング入力ポンプ207との間に配置することができる。バッファポンプを、バイトのブロックを1つのストリームから次のストリームに移すように構成する。例えば、バッファポンプは、制限パイプストリーム218から(例えば、ネットワーク経由)のデータをウェブ応答ストリーム217にフラッシュすることができる。ウェブ応答ストリーム217を、フレーミング入力ポンプ207に転送する。フレーミング入力ポンプ207は、コンピュータシステム201に配信するために着信ウェブ応答ストリーム217をパイプストリーム216に変換する。
フレーミング出力ポンプ203およびフレーミング入力ポンプ204の1つまたは複数は、所定時間の間に他のデータを検出しない場合、HTTP POST231を介して、少量のデータを送信するように構成することができる。所定時間は、HTTP要求のタイムアウト未満に設定することができる。そのため、少量のデータの送信を使用して、コンピュータシステム201からコンピュータシステム202へのデータ転送をシミュレートすることができる。したがって、コンピュータシステム201が実際にHTTP POST231にデータの書き込みをしていない場合でさえ、HTTP POST231は仲介者に対してアクティブに見える。したがって、仲介者は、リソースの割り当てを継続し、HTTP POST231を維持する可能性がある。
同様に、フレーミング出力ポンプ206およびフレーミング入力ポンプ207の1つまたは複数は、所定時間の間に他のデータを検出しない場合、HTTP GET232を介して、少量のデータを送信するように構成することができる。所定時間は、HTTP要求のタイムアウト未満に設定することができる。そのため、少量のデータの送信を使用して、コンピュータシステム201からコンピュータシステム202へのデータ転送をシミュレートすることができる。したがって、コンピュータシステム202が実際にHTTP GET232にデータの書き込みをしていない場合でさえ、HTTP GET232は仲介者に対してはアクティブに見える。したがって、仲介者は、リソースの割り当てを継続し、HTTP GET232を維持する可能性がある。
本発明の実施形態は、別の方法で遮断されたTCP通信をファイアウォールに通過させることを容易にする。ファイアウォールを正当なTCP通信を遮断するように構成しても、本発明の実施形態を使用すれば正当なTCP通信がファイアウォールを通過することができる。例えば、サービスコールの技術者は、別の方法で企業内ファイアウォールによって遮断されるサービスを使用して、リモートウェブサイトのドキュメンテーションにアクセスすることができる。
本発明を、本発明の意図または本質的特徴から逸脱せずに、他の特定の形態で具現化することができる。説明されている実施形態は、全ての点で、単なる一例であって、これに制限されないと考えるべきである。したがって、本発明の範囲は、前述の説明でなく添付の特許請求の範囲によって示される。特許請求の範囲の等価な意味および範囲に含まれる全ての変更は、特許請求の範囲の範囲に含まれるものとする。

Claims (15)

  1. 1つまたは複数のプロセッサとシステムメモリとを含むコンピュータシステム(102)において、双方向データストリーム(118)用のトランスポートとしてHTTP通信を使用する方法であって、前記方法は、
    TCP通信(107)を使用して他のコンピュータシステム(106)との通信を試みる動作と、
    ファイアウォール(101)が前記TCP通信を遮断したとの指示(108)にアクセスする動作と、
    前記ファイアウォール(101)が前記TCP通信(107)を遮断したことに応答して、前記ファイアウォール(101)を介して前記他のコンピュータ(106)にHTTP通信(109)を送信する動作と、
    前記HTTP通信(109)に応答して、前記他のコンピュータシステム(106)からアップストリームURI(111)とダウンストリームURI(112)とを受信する動作と、
    前記アップストリームURI(111)へのデータ送信のためのHTTP要求(116)を送信する動作と、
    前記ダウンストリームURI(112)からのデータ受信のためのHTTP要求(117)を送信する動作と、
    前記データ送信のためのHTTP要求(116)と前記データ受信のためのHTTP要求(117)とを前記コンピュータシステム(102)と前記他のコンピュータシステム(106)との間の双方向データストリーム(118)にバインドする動作と
    を含む、前記HTTP通信を介して双方向データソケットをシミュレートする動作と
    を備えたことを特徴とする方法。
  2. 前記HTTP通信を介して双方向データソケットをシミュレートする動作は、TCPソケットに近い特性を有する双方向データソケットをシミュレートする動作を含むことを特徴とする請求項1に記載の方法。
  3. 前記アップストリームURIへのデータ送信のためのHTTP要求を送信する動作は、HTTP PUTおよびHTTP POSTのうちの1つを送信する動作を含むことを特徴とする請求項1に記載の方法。
  4. 前記ダウンストリームURIからのデータ受信のためのHTTP要求を送信する動作は、HTTP GETを送信する動作を含むことを特徴とする請求項1に記載の方法。
  5. 前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを双方向データストリームにバインドする動作は、仲介者に対しては前記コンピュータシステムから送信されるHTTPデータに見える少量のデータを所定時間送信することにより、前記データ送信のためのHTTP要求を連続的に維持する動作を含むことを特徴とする請求項1に記載の方法。
  6. 前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを双方向データストリームにバインドする動作は、仲介者に対しては前記コンピュータシステムにおいて受信されるHTTPデータに見える少量のデータを所定時間受信することにより、前記データ受信のHTTP要求を連続的に維持する動作を含むことを特徴とする請求項1に記載の方法。
  7. 前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを双方向データストリームにバインドする動作は、前記コンピュータシステムから前記他のコンピュータシステムに送信するデータのデータ転送速度を調整する動作と、前記他のコンピュータシステムから前記コンピュータシステムに送信するデータのデータ転送速度を調整する動作とを含むことを特徴とする請求項1に記載の方法。
  8. 前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを双方向データストリームにバインドする動作は、前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを、TCP(伝送制御プロトコル)を用いて確立された双方向データストリームの特性に近い特性を有する双方向データストリームにバインドする動作を含むことを特徴とする請求項1に記載の方法。
  9. 1つまたは複数のプロセッサとシステムメモリとを含むコンピュータシステム(106)において、双方向データストリーム(118)用のトランスポートとしてHTTP通信を使用する方法であって、
    ファイアウォール(101)を介して他のコンピュータシステム(102)からTCP通信(109)を受信する動作と、
    前記HTTP通信(109)に応答して、前記他のコンピュータシステム(102)にアップストリームURI(111)とダウンストリームURI(112)とを送信する動作と、
    前記他のコンピュータシステム(102)に対する前記アップストリームURI(111)へのデータ送信のためのHTTP要求(116)を前記他のコンピュータシステム(102)から受信する動作と、
    前記他のコンピュータシステム(102)に対する前記ダウンストリームURI(112)からのデータ受信のためのHTTP要求(117)を前記他のコンピュータシステム(102)から受信する動作と、
    前記データ送信のためのHTTP要求(116)と前記データ受信のためのHTTP要求(117)とを、前記コンピュータシステム(106)と前記他のコンピュータシステム(102)との間の双方向データストリーム(118)にバインドする動作と
    を含む、前記HTTP通信を介して双方向データソケットをシミュレートする動作と
    を備えたことを特徴とする方法。
  10. 前記アップストリームURIへのデータ送信のためのHTTP要求を受信する動作は、HTTP PUTおよびHTTP POSTのうちの1つを受信する動作を含むことを特徴とする請求項9に記載の方法。
  11. 前記ダウンストリームURIからのデータ受信のためのHTTP要求を受信する動作は、HTTP GETを受信する動作を含むことを特徴とする請求項9に記載の方法。
  12. 前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを双方向データストリームにバインドする動作は、仲介者には前記他のコンピュータシステムから送信されるHTTPデータに見える少量のデータを所定時間送信することにより前記データ送信のためのHTTP要求を連続的に維持する動作を含むことを特徴とする請求項9に記載の方法。
  13. 前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを双方向データストリームにバインドする動作は、仲介者には前記他のコンピュータシステムにおいて受信されるHTTPデータに見える少量のデータを所定時間受信することで前記データ受信のためのHTTP要求を連続的に維持する動作を含むことを特徴とする請求項9に記載の方法。
  14. 前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを双方向データストリームにバインドする動作は、前記データ送信のためのHTTP要求と前記データ受信のためのHTTP要求とを、TCP(伝送制御プロトコル)を使用して確立された双方向データストリームの特性に近い特性を有する双方向データストリームにバインドする動作を含むことを特徴とする請求項9に記載の方法。
  15. 発信元のコンピュータシステム(102)と、受信側のコンピュータシステム(106)と、ファイヤウォール(101)とを備えたコンピュータネットワークシステムであって、前記ファイアウォール(101)は、TCP通信に関連付けられた複数の特定のポートにおいてTCP通信を遮断するように構成され、前記特定のポートの各々は、前記特定のポートにおいてTCP通信を受信するように構成されたサービスに対応し、
    前記発信元のコンピュータシステム(102)は、
    システムメモリと、
    1つまたは複数のプロセッサと、
    双方向データストリーム(118)用のトランスポートとしてのHTTP通信の使用に参加するためのコンピュータ実行可能命令であって、
    前記ファイアウォール(101)がTCP通信を遮断する複数の特定のポートに含まれるポートにおいて、TCP通信を受信するサービスに向けられたTCP通信(107)を使用して前記受信側のコンピュータシステムとの通信を試みる命令と、
    前記ファイアウォールが前記TCP通信(107)を遮断したとの指示(108)にアクセスする命令と、
    前記ファイアウォール(101)が前記TCP通信(107)を遮断したことに応答して、前記ファイアウォール(101)を介して前記受信側のコンピュータシステム(106)にHTTP通信(109)を送信する命令と、
    前記HTTP通信(109)に応答して、前記受信側のコンピュータシステム(106)からアップストリームURI(111)とダウンストリームURI(112)とを受信する命令と、
    前記アップストリームURI(111)へのデータ送信のためのHTTP要求を送信する命令と、
    前記ダウンストリームURI(112)からのデータ受信のためのHTTP要求を送信する命令と
    を含むコンピュータ実行可能命令が記憶された1つまたは複数のコンピュータ可読媒体とを備え、
    前記受信側のコンピュータシステム(106)は、
    システムメモリと、
    1つまたは複数のプロセッサと、
    双方向データストリーム(118)用のトランスポートとしてのHTTP通信の使用に参加するためのコンピュータ実行可能命令であって、
    ファイアウォール(101)を介して、他のコンピュータシステム(102)からHTTP通信(109)を受信する命令と、
    前記HTTP通信(109)に応答して、前記他のコンピュータシステム(102)にアップストリームURI(111)とダウンストリームURI(112)とを送信する命令と、
    前記他のコンピュータシステムの前記アップストリームURI(111)に対するデータ送信のためのHTTP要求(116)を前記他のコンピュータシステムから受信する命令と、
    前記他のコンピュータシステムの前記ダウンストリームURI(112)からのデータ受信のためのHTTP要求(117)を前記他のコンピュータシステムから受信する命令と
    を含むコンピュータ実行可能命令が記憶された1つまたは複数のコンピュータ可読媒体とを備え、
    さらに、前記発信元のコンピュータシステム(102)のコンピュータ可読命令と前記受信側のコンピュータシステム(106)のコンピュータ可読命令とが同時に使用されて前記データ送信のためのHTTP要求(116)と前記データ受信のためのHTTP要求(117)とを前記発信元のコンピュータシステム(102)と前記受信側のコンピュータシステム(106)との間の双方向データストリーム(118)にバインドし、前記双方向データストリーム(118)は、TCPを使用して確立された双方向データストリームに近い特性を有し、
    その後、前記発信元のコンピュータシステム(102)は、前記ファイアウォール(101)を介して、前記双方向データストリーム(118)経由で前記受信側のコンピュータシステム(106)に前記TCP通信(107)を送信すること
    を特徴とするコンピュータネットワークシステム。
JP2012517667A 2009-06-22 2010-06-22 双方向データストリーム用トランスポートとしてのハイパーテキスト転送プロトコルの使用 Expired - Fee Related JP5754572B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/489,327 US9473460B2 (en) 2009-06-22 2009-06-22 Using hypertext transfer protocol as a transport for bi-directional data streams
US12/489,327 2009-06-22
PCT/US2010/039555 WO2011005547A2 (en) 2009-06-22 2010-06-22 Using hypertext transfer protocol as a transport for bi-directional data streams

Publications (2)

Publication Number Publication Date
JP2012530999A true JP2012530999A (ja) 2012-12-06
JP5754572B2 JP5754572B2 (ja) 2015-07-29

Family

ID=43355265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012517667A Expired - Fee Related JP5754572B2 (ja) 2009-06-22 2010-06-22 双方向データストリーム用トランスポートとしてのハイパーテキスト転送プロトコルの使用

Country Status (5)

Country Link
US (1) US9473460B2 (ja)
EP (1) EP2446582A4 (ja)
JP (1) JP5754572B2 (ja)
CN (1) CN102804687B (ja)
WO (1) WO2011005547A2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2957439B1 (fr) 2010-03-09 2012-03-30 Proton World Int Nv Protection d'un canal de communication entre un module de securite et un circuit nfc
FR2957438B1 (fr) 2010-03-09 2012-03-30 Proton World Int Nv Detection d'un deroutement d'un canal de communication d'un dispositif de telecommunication couple a un circuit nfc
FR2957440B1 (fr) 2010-03-09 2012-08-17 Proton World Int Nv Protection d'un module de securite dans un dispositif de telecommunication couple a un circuit nfc
FR2969341B1 (fr) 2010-12-20 2013-01-18 Proton World Int Nv Gestion de canaux de communication dans un dispositif de telecommunication couple a un circuit nfc
US9600350B2 (en) * 2011-06-16 2017-03-21 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
US9549045B2 (en) 2011-08-29 2017-01-17 Vmware, Inc. Sharing remote sessions of a user interface and/or graphics of a computer
US9514242B2 (en) 2011-08-29 2016-12-06 Vmware, Inc. Presenting dynamically changing images in a limited rendering environment
CN103297384A (zh) * 2012-02-22 2013-09-11 航天信息股份有限公司 协议转换的通信方法及系统
US8800004B2 (en) * 2012-03-21 2014-08-05 Gary Martin SHANNON Computerized authorization system and method
DE102012206383A1 (de) * 2012-04-18 2013-10-24 Bayerische Motoren Werke Aktiengesellschaft Datenübertragung im Rahmen einer Fahrzeugkommunikation
US9215131B2 (en) * 2012-06-29 2015-12-15 Cisco Technology, Inc. Methods for exchanging network management messages using UDP over HTTP protocol
CN104348850B (zh) * 2013-07-25 2017-10-20 凌群电脑股份有限公司 利用透通技术存取云端数据库数据的系统
CN106034157A (zh) * 2015-03-18 2016-10-19 国家计算机网络与信息安全管理中心 数据交换中传输http协议的方法、服务器及存储设备
CN107980147B (zh) * 2015-03-23 2022-12-06 摩根士丹利服务集团有限公司 跟踪分布式计算系统中的数据流
US11290425B2 (en) * 2016-02-01 2022-03-29 Airwatch Llc Configuring network security based on device management characteristics
US11388203B2 (en) * 2016-08-16 2022-07-12 Avaya Inc. Systems and methods for media tunneling through edge server
US20190068684A1 (en) * 2017-08-31 2019-02-28 Microsoft Technology Licensing, Llc Bidirectional data exchange
US10778726B2 (en) 2017-08-31 2020-09-15 Microsoft Technology Licensing, Llc Bidirectional data exchange between computing devices
US10880120B2 (en) 2018-07-19 2020-12-29 Avaya Inc. System and methods for tunneling media through secure channel
CN109327511B (zh) * 2018-09-18 2021-05-28 网宿科技股份有限公司 一种基于http协议的数据请求方法和服务器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222124A (ja) * 2001-01-29 2002-08-09 Mitsubishi Electric Corp 全二重通信システム
US20020120760A1 (en) * 2000-05-26 2002-08-29 Gur Kimchi Communications protocol
US6871213B1 (en) * 2000-10-11 2005-03-22 Kana Software, Inc. System and method for web co-navigation with dynamic content including incorporation of business rule into web document
JP2006506748A (ja) * 2002-11-19 2006-02-23 ネクサウェブ テクノロジーズ インコーポレイテッド 処理状態を把握するウェブ・ベースのコンピュータ・システムと方法
JP2006168134A (ja) * 2004-12-15 2006-06-29 Canon Inc 印刷方法、印刷デバイス及び印刷システム
US20060251101A1 (en) * 2005-04-25 2006-11-09 Zhang Li J Tunnel establishment
US20070130149A1 (en) * 2005-10-12 2007-06-07 Lenovo (Singapore) Pte. Ltd. Method, system, and computer program product for troubleshooting/configuring communications settings of a computer system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289461B1 (en) * 1998-06-09 2001-09-11 Placeware, Inc. Bi-directional process-to-process byte stream protocol
JP3478200B2 (ja) * 1999-09-17 2003-12-15 日本電気株式会社 サーバ・クライアント間双方向通信システム
US20050125532A1 (en) 2000-05-26 2005-06-09 Gur Kimchi Traversing firewalls and nats
US6907533B2 (en) * 2000-07-14 2005-06-14 Symantec Corporation System and method for computer security using multiple cages
US6754621B1 (en) * 2000-10-06 2004-06-22 Andrew Cunningham Asynchronous hypertext messaging system and method
US6934756B2 (en) * 2000-11-01 2005-08-23 International Business Machines Corporation Conversational networking via transport, coding and control conversational protocols
US7117267B2 (en) * 2001-06-28 2006-10-03 Sun Microsystems, Inc. System and method for providing tunnel connections between entities in a messaging system
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US20030172164A1 (en) * 2002-03-11 2003-09-11 Coughlin Chesley B. server persistence using a session identifier
US20030217149A1 (en) * 2002-05-20 2003-11-20 International Business Machines Corporation Method and apparatus for tunneling TCP/IP over HTTP and HTTPS
US7403995B2 (en) * 2003-01-08 2008-07-22 Outhink, Inc. Symmetrical bi-directional communication
US7328451B2 (en) * 2003-06-30 2008-02-05 At&T Delaware Intellectual Property, Inc. Network firewall policy configuration facilitation
US7523186B1 (en) * 2004-01-22 2009-04-21 Ubicom, Inc. Active management for small office/home office networking
JP2006148661A (ja) 2004-11-22 2006-06-08 Toshiba Corp 情報端末遠隔操作システム、そのリモートアクセス端末、そのゲートウェイサーバ、その情報端末制御装置、情報端末装置、およびその遠隔操作方法
US7526801B2 (en) * 2005-01-07 2009-04-28 Microsoft Corporation Bulk transmission of messages using a single HTTP request
EP1696633B1 (en) * 2005-02-28 2008-01-09 Alcatel Lucent Bidirectional SOAP communication by means of a single HTTP session
US8161164B2 (en) * 2006-04-28 2012-04-17 Microsoft Corporation Authorizing service requests in multi-tiered applications
US7493383B1 (en) * 2006-12-29 2009-02-17 F5 Networks, Inc. TCP-over-TCP using multiple TCP streams
TW200920030A (en) * 2007-10-18 2009-05-01 D Link Corp The method to puncture the firewall for building the linking channel between the network terminal devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120760A1 (en) * 2000-05-26 2002-08-29 Gur Kimchi Communications protocol
US6871213B1 (en) * 2000-10-11 2005-03-22 Kana Software, Inc. System and method for web co-navigation with dynamic content including incorporation of business rule into web document
JP2002222124A (ja) * 2001-01-29 2002-08-09 Mitsubishi Electric Corp 全二重通信システム
JP2006506748A (ja) * 2002-11-19 2006-02-23 ネクサウェブ テクノロジーズ インコーポレイテッド 処理状態を把握するウェブ・ベースのコンピュータ・システムと方法
JP2006168134A (ja) * 2004-12-15 2006-06-29 Canon Inc 印刷方法、印刷デバイス及び印刷システム
US20060251101A1 (en) * 2005-04-25 2006-11-09 Zhang Li J Tunnel establishment
US20070130149A1 (en) * 2005-10-12 2007-06-07 Lenovo (Singapore) Pte. Ltd. Method, system, and computer program product for troubleshooting/configuring communications settings of a computer system

Also Published As

Publication number Publication date
WO2011005547A2 (en) 2011-01-13
EP2446582A2 (en) 2012-05-02
US9473460B2 (en) 2016-10-18
JP5754572B2 (ja) 2015-07-29
WO2011005547A3 (en) 2011-03-31
CN102804687A (zh) 2012-11-28
US20100325300A1 (en) 2010-12-23
CN102804687B (zh) 2015-07-08
EP2446582A4 (en) 2017-01-11

Similar Documents

Publication Publication Date Title
JP5754572B2 (ja) 双方向データストリーム用トランスポートとしてのハイパーテキスト転送プロトコルの使用
Hernández Ramos et al. Mqtt security: A novel fuzzing approach
Grigorik High Performance Browser Networking: What every web developer should know about networking and web performance
JP5277259B2 (ja) 仮想ネットワークインターフェースを有するメッセージ処理エンジン
US7975024B2 (en) Virtual personal computer access over multiple network sites
CN101124801B (zh) 客户机协助的防火墙配置
BR112017016047A2 (pt) métodos de transmissão de um pacote e de pacotes contendo dados digitais através de uma nuvem e de transmissão de dados digitais através de uma nuvem.
Yoo Protocol layering and Internet policy
Kalita Socket programming
WO2009132047A2 (en) Collaborative and proactive defense of networks and information systems
CN102197400A (zh) 用于直接访问网络的网络位置确定
US9762539B2 (en) System and method for limiting data leakage in an application firewall
Jansen et al. KISt: Kernel-informed socket transport for ToR
CN109309684A (zh) 一种业务访问方法、装置、终端、服务器及存储介质
Sysel et al. An educational http proxy server
Thanh et al. Toward a security IoT platform with high rate transmission and low energy consumption
US10057390B2 (en) Method and system for modifying HTTP request headers without terminating the connection
Akshatha et al. MQTT and blockchain sharding: An approach to user-controlled data access with improved security and efficiency
JP2006190263A (ja) 構造化データプロトコルをバイトストリームを供するプロトコルにバインドするための機構
Miller et al. Detection of anonymising proxies using machine learning
Shokeen et al. Vulnerabilities analysis and security assessment framework for the internet of things
Dover A switch table vulnerability in the open floodlight SDN controller
Caviglione et al. A deep analysis on future web technologies and protocols over broadband GEO satellite networks
JP2009508213A (ja) 一貫したアプリケーション対応ファイヤウォールトラバーサルの提供
Daneshgar et al. Overcoming data security challenges of cloud of things: an architectural perspective

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130617

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141107

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

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150512

R150 Certificate of patent or registration of utility model

Ref document number: 5754572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees