JP2008507928A - ネットワークノード間の通信を最適化するためのシステムおよび方法 - Google Patents

ネットワークノード間の通信を最適化するためのシステムおよび方法 Download PDF

Info

Publication number
JP2008507928A
JP2008507928A JP2007522841A JP2007522841A JP2008507928A JP 2008507928 A JP2008507928 A JP 2008507928A JP 2007522841 A JP2007522841 A JP 2007522841A JP 2007522841 A JP2007522841 A JP 2007522841A JP 2008507928 A JP2008507928 A JP 2008507928A
Authority
JP
Japan
Prior art keywords
computing device
network
protocol
client
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007522841A
Other languages
English (en)
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 JP2008507928A publication Critical patent/JP2008507928A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • 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/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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/0272Virtual private networks
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

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)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明は、概して、ピアツーピア通信およびリモートアクセス接続性を提供するためのリモートアクセスアーキテクチャに関する。一実施態様では、本発明のリモートアクセスアーキテクチャは、ゲートウェイのような第3のコンピューティングデバイスを介して、ピアコンピューティングデバイス間の直接接続を確立するための方法を提供する。加えて、本発明は、ピアツーピア通信を最適化するために、たとえば、以下の技術を提供する。1)不可逆プロトコルを介した送信のために構築されるパケットの可逆プロトコルを介した通信を可能にする、ネットワークパケットの受信の疑似確認応答。2)不可逆プロトコルを介した送信のために構築されるパケットの可逆プロトコルを介した通信を可能にする、ネットワークパケットのペイロードシフティング。

Description

(関連出願)
本出願は、米国仮特許出願番号第60/590,837号(発明の名称「Ad Hoc Distributed Networks And Remote Access Architecture」)(2004年7月23日出願)、および米国仮特許出願番号第60/601,431号(発明の名称「System And Method For Assuring Redundancy In Remote Access Solution」)(2004年8月13日)、および米国仮特許出願番号第60/607,420号(発明の名称「Virtual Network Bridging」)(2004年9月3日)、および米国仮特許出願番号第60/608,814号(発明の名称「System And Method For Assuring Redundancy In Remote Access Solution」)(2004年9月10日出願)(これらすべてが参考として本明細書に援用される)に対する優先権を主張する。
(技術分野)
本発明は、概してネットワーク上のノード間のネットワーク通信の最適化に関する。
(背景情報)
仮想プライベートネットワーク(VPN)は、トンネリングおよびセキュリティ機構を使用してプライバシーを守るために、インターネットのようなパブリック通信インフラを使用するプライベートデータネットワークである。このように、VPNは、パブリックネットワークをトラバースする企業データに、データ暗号化およびセキュリティを提供する。パブリックネットワークを介した企業データへの安全なアクセスへの取り組みに加えて、VPNはまた、2つの切断されたネットワーク、またはルーティング不可能なネットワークからネットワークトラフィックをルーティングすることも目的としている。例えば、10.0.0.0−10.255.255.255の範囲にあるプライベートインターネットのプロトコルアドレスを有する第1のプライベートネットワークは、VPNを介して、192.168.0.0−192.168.255.255の範囲にあるプライベートインターネットのプロトコルアドレスを有する第2のプライベートネットワークと通信することが可能である。VPNによって、第1のプライベートネットワーク上のリモートマシンは、リモートマシンからネットワークトラフィックをトンネリングして、第2のプライベートネットワーク上にそのネットワークトラフィックを出現させることによって、第2のプライベートネットワーク上の内部マシンと通信することが可能になる。これは、リモートコンピュータが、リモートネットワーク上にある企業サーバーで処理を行っている、クライアントサーバプロトコルに対して十分に機能することが可能である。
しかし、従来のVPNは、ピアツーピアプロトコルでのように、2つのリモートコンピュータが、VPNゲートウェイを介して互いに直接通信するためにトンネリングする場合には十分に機能することができない。VPNは、2つのリモートコンピュータが、VPNゲートウェイを介して、全てのピアツーピア通信をトンネリングする、互いに素なプライベートネットワークのアドレス空間を平坦化することによって、このピアツーピアコンピューティングを達成している。その結果、ピアのうちの1つからのネットワークトラフィックは、VPNゲートウェイを通って流れ、ピアコンピュータへインターネット上を逆に流れるように、インターネット上のトンネルを切り替える。ピアコンピュータは、ピアコンピュータ間に、より短い直接経路を有する場合があるが、ピアコンピュータ間のネットワークトラフィックは、より長く移動し、最適なルートイベントではない場合がある。リモートコンピュータが、より長いデータ経路ルーティングの欠点を負うことなく、VPNによって提供されるセキュリティから恩恵を受けられるようにすることは有用となりうる。
2つのコンピュータ間のネットワークを通じた直通通信によって、他の非効率性が存在する。例えば、ネットワーク接続は、ブレークダウンの影響を受けやすい。例えば、クライアントとサーバーとの間の無線接続は、信頼できないことが多い。他の場合では、ネットワーク接続は、断続的である。ある人がエレベータまたはトンネルに入った場合に接続が失われ、その接続は、エレベータまたはトンネルから出たときにしか復旧しない場合がある。別の例では、無線ネットワークトポロジでのように、モバイルコンピューティングデバイスがネットワークのアクセスポイント間を移動する場合に、接続が途絶することがある。
クライアントとサーバーコンピュータとの間に確立された通信セッションが異常終了した場合、クライアントは、一般に、新しい通信セッションを開始することによって、その接続を再確立しなければならない。新しい通信セッションを開始するために、ユーザーは、サーバーコンピュータが新しい通信セッションに対してそのユーザーを許可できるように、一般に、そのサーバーコンピュータに、ログインとパスワードを組み合わせたような、認証証明書を再送信しなければならない。複数の通信セッションにわたってユーザーが認証証明書を繰り返し再送信することは、潜在的な攻撃者にそのユーザーの認証証明書を公開することになるので、認証証明書のセキュリティレベルが低下する。加えて、これは、ユーザーのフラストレーションおよび非効率性をももたらす、しばしば時間のかかるプロセスである。さらに、新しい通信セッションの確立においては、ネットワークは、クライアントが、インターネットプロトコルアドレスのような新しいネットワーク識別子を取得することを必要とする場合がある。クライアント上のアプリケーションまたはプログラムは、クライアントのネットワーク識別子の変更によって、再起動を必要とする場合がある。したがって、ネットワークの混乱からコンピューティングデバイスを保護することが望ましい。
ピアコンピューティングデバイス間の直通通信に関連する別の非効率性は、通信に使用するプロトコルが、求められるほど効率的または安全ではない場合があることである。一例として、ネットワーク通信には、ボイスオーバーIP(VoIP)通信のようなリアルタイムデータ通信が挙げられる。リアルタイムデータ通信は、通話の際の待ち時間を減じるために、ユーザーデータグラムプロトコルのような信頼できないプロトコルを介して通信する場合がある。しかし、VoIP通信は、VoIP通信に信頼できるプロトコルを提供する、TCP/IPネットワークまたは安全なSSLゲートウェイをトラバースすることが可能である。これは、信頼できないプロトコルを減じることを目的とした、通話の際の待ち時間を増加させる場合がある。不可逆プロトコルを使用した通信を対象とした可逆プロトコルを介して、データを送信するための技術が必要である。
直通通話における別の非効率性は、暗号化の使用によって生じる。安全なネットワーク通信を提供するために、SSLのような暗号化を使用することが可能である。通信は安全であるが、ネットワークトラフィックの暗号化は、ネットワークパケットのサイズを増加させ、単一のパケットに対するパケットペイロードが大きくなりすぎる場合がある。これは、パケットのフラグメンテーションをもたらすことになり、通信処理のためにより多くのオーバーヘッドを生じさせる。暗号化オーバーヘッド補うために、パケットの最大サイズを調整するための技術は有用となりうる。
ユーザーのアクティビティおよびクライアントのアプリケーションによって通信が生成されるときに、クライアントが、一般にネットワーク通信を送信する、および通信を受信したときに、受信ネットワーク通信を処理する、という事実から、別の非効率性が生じる。例えば、ある場合では、アプリケーションが実行中で、ユーザーによって現在能動的に使用されているが、バックグラウンドで実行中のアプリケーションに対して生成または受信したネットワークパケットが、フォアグラウンドで実行中のアプリケーションに対して生成または受信したネットワークパケットの前に処理される場合がある。別の例では、クライアントは、リモートコンピューティングデバイスに通話を提供するために、VoIPアプリケーションを実行させる場合がある。クライアント上の1つ以上の別のアプリケーションは、VoIPのリアルタイムデータ通信に関係なく実行させることが可能である。これらのアプリケーションのためのネットワークパケットは、VoIP通話のリアルタイムのネットワークパケットより前に処理する場合があるので、待ち時間が増加し、音声通信の質を低下させる。アプリケーション認識で、クライアント固有のパケットトラフィックの優先順位付けを提供することが望ましい。
(発明の要旨)
本発明は、概してピアツーピア通信およびリモートアクセス接続性を提供するためのリモートアクセスアーキテクチャに関する。一実施態様では、本発明のリモートアクセスアーキテクチャは、ゲートウェイのような第3のコンピューティングデバイスを介して、ピアコンピューティングデバイス間の直接接続を確立するための方法を提供する。加えて、本発明は、ボイスオーバーIP(VoIP)シグナリングのようなリアルタイム通信、およびメディア、ビデオ、およびウェブコラボレーション、スクリーンまたはデスクトップシェアリング、およびインスタントメッセージングのような他のリアルタイムデータアプリケーションを含む、ピアツーピア通信を最適化するための様々な技術を提供する。本発明は、以下のピアツーピア最適化技術を提供する。1)不可逆プロトコルを介した送信のために構築されるパケットの可逆プロトコルを介した通信を可能にする、ネットワークパケットの受信の疑似確認応答。2)不可逆プロトコルを介した送信のために構築されるパケットの可逆プロトコルを介した通信を可能にする、ネットワークパケットのペイロードシフティング。3)最大送信単位(MTU)のパラメータを調整することによって、パケットフラグメンテーションを削減し、暗号化によるオーバーヘッドを補う。4)クライアント側ネットワーク通信のアプリケーション認識の優先順位付け。5)モバイルコンピューティングに対してなどの、信頼性が高く、永続的なネットワーク接続およびアクセスのためのネットワークの混乱の防止。
一側面では、本発明は、第1のネットワーク上の第1のコンピューティングデバイスと第2のネットワーク上の第2のコンピューティングデバイスとの間にピアツーピア通信セッションを確立するための方法に関する。前記第1のネットワークは前記第2のネットワークから切断され、前記第2のネットワークへのルーティングが不可能であってよい。前記方法は、前記第1のコンピューティングデバイスによって、第3のコンピューティングデバイスとの第1のトンネリングセッションを確立し、前記第2のコンピューティングデバイスによって、前記第3のコンピューティングデバイスとの第2のトンネリングセッションを確立するステップを含む。第3のコンピューティングデバイスは、SSL VPNゲートウェイのようなゲートウェイであってよい。前記第1のコンピューティングデバイスは、シグナリングプロトコルを介するなどの、前記第3のコンピューティングデバイスを介して、前記第2のコンピューティングデバイスへの通信セッションを開始する。サーバーは、前記開始された通信セッションを確立するために信号を受信し、前記サーバーは、前記第1のコンピューティングデバイスに、前記第2のトンネリングセッションに関連付けられた前記第2のコンピューティングデバイスのネットワークアドレスを含む、第1のネットワークアドレスを通信する。前記第1のコンピューティングデバイスは、前記第1のネットワークアドレスを使用して前記第2のコンピューティングデバイスとの接続を開始するために、リクエストを通信する。前記方法は、前記第3のコンピューティングデバイスによって、前記リクエストをインターセプトして、前記第1のコンピューティングデバイスに前記第2のコンピューティングデバイスの第2のネットワークアドレスを提供するステップをさらに含む。前記第2のネットワークアドレスは、前記第2のコンピューティングデバイスに関連付けられたパブリックネットワークアドレスを識別する。前記第3のコンピューティングデバイスは、ファイアウォールをトラバースするスイマーセッションを介するなどの、前記第2のネットワークアドレスを使用して、前記第1のコンピューティングデバイスからの接続を可能にするために、前記第2のコンピューティングデバイスにリクエストを通信する。
本発明の一実施態様では、前記第1のトンネリングセッションまたは前記第2のトンネリングセッションは、セキュアソケットレイヤーまたは仮想プライベートネットワークを使用して確立される。前記第3のコンピューティングデバイスは、リモートアクセスゲートウェイであってよい。別の実施態様では、前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する。
別の実施態様では、本発明の方法は、前記第3のコンピューティングデバイスによって、前記第1のトンネリングセッションを介して、前記第1のコンピューティングデバイスに帯域外の信号を通信することにより、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供するステップを含む。更なる一実施態様では、本発明の方法は、前記第2のコンピューティングデバイスによって、前記第2のネットワークアドレスを使用して前記第2のコンピューティングデバイスへ通信するために、前記第1のコンピューティングデバイスにファイアウォール内のフォワードホールを提供するステップを含む。
本発明の更なる一実施態様では、前記第3のコンピューティングデバイスは、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスに鍵を通信する。前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスは、鍵を交換することが可能である。加えて、前記第1および第2のコンピューティングデバイスは、他のコンピューティングデバイスにデータを送信する前に、前記他のコンピューティングデバイスから受信した鍵が一致することを確認することが可能である。
本発明のいくつかの実施態様では、前記方法は、第1の通信デバイスを前記第1のコンピューティングデバイスに関連付け、また第2の通信デバイスを前記第2のコンピューティングデバイスに関連付ける。前記第1の通信デバイスまたは前記第2の通信デバイスは、ハードまたはソフトVoIP電話のような、ソフトウェアコンポーネントまたはハードウェアコンポーネントを備えることが可能である。一実施態様では、本発明の方法は、前記第1および第2のコンピューティングデバイス間の前記接続を介して、前記第1の通信デバイスと前記第2の通信デバイスとの間の通信セッションを確立する。前記第1の通信デバイスおよび前記第2の通信デバイスは、前記第3のコンピューティングデバイスをトラバースせずに、前記通信セッションを通じて通信することが可能である。
本発明の別の実施様態では、前記方法は、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の前記接続を介して、リモートディスプレイプロトコルを通信する。前記リモートデスクトッププロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルを含むことが可能である。更なる一実施態様では、前記方法は、前記接続を介して、前記第1のコンピューティングデバイスのスクリーンビューまたはスクリーンデータを前記第2のコンピューティングデバイスと共有する。
一側面では、本発明は、ゲートウェイにおいて、第1のネットワーク上の第1のコンピューティングデバイスと第2のネットワーク上の第2のコンピューティングデバイスとの間にピアツーピア通信セッションを確立するための方法を提供する。前記第1のネットワークは前記第2のネットワークから切断され、前記第2のネットワークへのルーティングが不可能であってよい。前記方法は、第1のネットワーク上の前記第1のコンピューティングデバイスとの第1のトンネリングセッションを確立するステップと、前記第2のネットワーク上の前記第2のコンピューティングデバイスとの第2のトンネリングセッションを確立するステップと、を含む。前記ゲートウェイは、前記第2のコンピューティングデバイスとの通信セッションを開始するために、前記第1のコンピューティングデバイスによってリクエストを受信する。前記第1のコンピューティングデバイスは、前記第2のコンピューティングデバイスと交信するための第1のネットワークアドレスを提供する。前記第1のネットワークアドレスは、前記第2のトンネリングセッションに関連付けられた前記第2のコンピューティングデバイスのネットワークアドレスを識別する。前記ゲートウェイは、前記第1のネットワークアドレスを使用して、前記第2のコンピューティングデバイスとの接続を開始するために、前記第1のコンピューティングデバイスによってリクエストを受信し、前記接続を開始するために前記リクエストをインターセプトし、前記第1のコンピューティングデバイスに前記第2のコンピューティングデバイスの第2のネットワークアドレスを提供する。
前記第2のネットワークアドレスは、前記第2のコンピューティングデバイスに関連付けられたパブリックネットワークアドレスを識別する。前記ゲートウェイは、ファイアウォールをトラバースするスイマーセッションを介するなどの、前記第2のネットワークアドレスを使用して、前記第1のコンピューティングデバイスから前記第2のコンピューティングデバイスへの接続を可能にするために、前記第2のコンピューティングデバイスにリクエストを通信する。
一実施態様では、前記ゲートウェイを介した前記第1のトンネリングセッションまたは前記第2のトンネリングセッションは、セキュアソケットレイヤーまたは仮想プライベートネットワークを含む。別の実施態様では、前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する。更なる一実施態様では、本発明の方法は、前記第1のトンネリングセッションを介して、前記第1のコンピューティングデバイスに帯域外の信号を通信することにより、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供する。加えて、前記ゲートウェイは、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスに鍵を通信することが可能である。
別の側面では、本発明は、第3のコンピューティングデバイスを介して、第1のネットワーク上の第1のコンピューティングデバイスと第2のネットワーク上の第2のコンピューティングデバイスとの間にピアツーピア通信セッションを確立するためのシステムに関する。前記第1のネットワークは前記第2のネットワークから切断され、前記第2のネットワークへのルーティングが不可能であってよい。前記システムは、前記第1のネットワーク上の第1のコンピューティングデバイスと、前記第2のネットワーク上の第2のコンピューティングデバイスと、を備える。第3のコンピューティングデバイスは、前記第1のコンピューティングデバイスとの第1のトンネリングセッションおよび、前記第2のコンピューティングデバイスとの第2のトンネリングセッションを確立する。前記システムはまた、前記第3のコンピューティングデバイスを介してアクセス可能なサーバーも備える。オペレーションに際し、前記サーバーは、前記第3のコンピューティングデバイスを介して、前記第1のコンピューティングデバイスに、前記第2のトンネリングセッションに関連付けられた前記第2のコンピューティングデバイスのネットワークアドレスを識別する、第1のネットワークアドレスを通信する。前記第1のコンピューティングデバイスは、前記第1のネットワークアドレスを使用して前記第2のコンピューティングデバイスとの接続を開始するために、前記第3のコンピューティングデバイスを介して、第1のリクエストを通信する。前記第3のコンピューティングデバイスは、前記第1のリクエストをインターセプトし、前記第1のコンピューティングデバイスに前記第2のコンピューティングデバイスの第2のネットワークアドレスを提供する。前記第2のネットワークアドレスは、前記第2のコンピューティングデバイスに関連付けられたパブリックネットワークアドレスを識別する。前記第3のコンピューティングデバイスは、前記第2のネットワークアドレスを使用して、前記第1のコンピューティングデバイスからの接続を可能にするために、前記第2のコンピューティングデバイスに第2のリクエストを通信する。
本システムの一実施態様では、前記第1のトンネリングセッションまたは前記第2のトンネリングセッションは、セキュアソケットレイヤーまたは仮想プライベートネットワークを含む。さらに、前記第3のコンピューティングデバイスは、SSL VPNゲートウェイのようなリモートアクセスゲートウェイであってよい。前記システムの別の実施態様では、前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する。
本発明の更なる一実施態様では、前記第3のコンピューティングデバイスは、帯域外のTLSセッションを介するなどの、前記第1のトンネリングセッションを介して、帯域外の信号を通信することによって、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供する。一実施態様では、前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスを使用して、前記第2のコンピューティングデバイスへ通信するために、前記第1のコンピューティングデバイスにファイアウォール内のフォワードホールを提供する。
本発明のシステムの更なる一実施態様では、前記第3のコンピューティングデバイスは、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスに鍵を通信する。前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスは、鍵を交換することが可能である。加えて、前記第1および第2のコンピューティングデバイスは、データを送信する前に、前記他のコンピューティングデバイスから受信した前記鍵を照合することが可能である。
本発明のいくつかの実施態様では、前記システムは、前記第1のコンピューティングデバイスに関連付けられた第1の通信デバイスと、前記第2のコンピューティングデバイスに関連付けられた第2の通信デバイスと、を備える。前記第1の通信デバイスまたは前記第2の通信デバイスは、ハードまたはソフトVoIP電話のような、ソフトウェアコンポーネントまたはハードウェアコンポーネントを備えることが可能である。一実施態様では、本発明のシステムは、前記第1および第2のコンピューティングデバイス間の接続を介して、前記第1の通信デバイスと前記第2の通信デバイスとの間の通信セッションを確立するステップを含む。前記第1の通信デバイスおよび前記第2の通信デバイスは、前記第3のコンピューティングデバイスをトラバースせずに、前記通信セッションを通じて、通信することが可能である。
本発明の別の実施様態では、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスは、前記接続を介して、リモートディスプレイプロトコルを通信する。前記リモートデスクトッププロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルを含むことが可能である。更なる一実施態様では、前記第1のコンピューティングデバイスは、前記接続を介して、スクリーンビューまたはスクリーンデータを前記第2のコンピューティングデバイスと共有することが可能である。
別の側面では、本発明は、不可逆プロトコルを介して送信されるように構成されたパケットを、可逆プロトコルを介して通信するための方法に関する。前記方法は、システムのような1つ以上の電子デバイスにおいて行うこと、およびあらゆる好適な手段および機構によって行うことが可能である。前記方法は、可逆プロトコルを介して、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間の接続を確立するステップを含む。いくつかの実施態様では、前記第2のコンピューティングデバイスは、SSL VPNゲートウェイのようなゲートウェイであってよい。前記第1のコンピューティングデバイスは、前記第1のコンピューティングデバイスによって、不可逆プロトコルに従って構成される1つ以上のパケットを有するペイロードを含む可逆プロトコルパケットを検出する。前記第1のコンピューティングデバイスは、前記第1のコンピューティングデバイスおよび/または前記第2のコンピューティングデバイスに、前記可逆プロトコルパケットの受信の擬似確認応答を通信する。前記可逆プロトコルパケットの受信の疑似確認応答は、前記可逆プロトコルの信頼性アルゴリズムおよび機構を用いないようにする。前記第1のコンピューティングデバイスは、前記第2のコンピューティングデバイスに、前記可逆プロトコルパケットを通信する。いくつかの実施態様では、前記可逆プロトコルパケットの受信の疑似確認応答は、前記可逆プロトコルパケットを通信する前に通信される。
一実施態様では、本発明の方法は、前記第1のコンピューティングデバイスによって、鍵を使用して前記1つ以上のパケットを暗号化するステップを含む。いくつかの実施態様では、暗号鍵は、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の帯域外のトランスポートセキュリティレイヤーセッションを介して、前記第1のコンピューティングデバイスに提供することが可能である。更なる一実施態様では、前記方法は、パケット単位で前記1つ以上のパケットを暗号化する。
本発明の方法の別の実施態様では、前記第1のコンピューティングデバイスおよび/または前記第2のコンピューティングによる、前記可逆プロトコルパケットの受信の擬似確認応答の受信に応えて、前記第1のコンピューティングデバイスおよび/または前記第2のコンピューティングは、前記可逆プロトコルの可逆特性の提供に関連するオペレーションを実行しないようにする。一実施態様では、前記可逆プロトコルは、トランスポート制御プロトコルである。
更なる一実施態様では、本発明の方法は、前記第1のコンピューティングデバイスおよび/または前記前記第2のコンピューティングデバイスが、前記可逆プロトコルとともに、1)再送信、2)順序付け、3)フロー制御アルゴリズム、4)Napleのアルゴリズム、および5)スライディングウィンドウアルゴリズムのうちの1つ以上を実行しないようにする。
一実施態様では、前記不可逆プロトコルは、ユーザーデータグラムプロトコルを含む。別の実施態様では、前記方法は、前記第1のコンピューティングデバイスによって、セキュアソケットレイヤーまたはトランスポートセキュリティレイヤートンネルを介して、前記第2のコンピューティングデバイスに、前記可逆プロトコルを通信するステップを含む。
別の実施態様では、前記ペイロードの1つ以上のパケットは、リアルタイムプロトコルを含む。更なる一実施態様では、前記方法は、前記第1のコンピューティングデバイスによって、前記1つ以上のパケットを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するステップを含む。
一側面では、本発明は、TCP接続を通じて、信頼できないトランスポートプロトコルを使用して、アプリケーションからパケットを送信するための方法に関する。前記方法は、第1のデバイスにおいて、信頼できないトランスポートプロトコルを使用して送信される第1のパケットを受信するステップと、前記受信した第1のパケットの第1のペイロードを含む第1のTCPパケットと、前記第1のデバイスと第2のデバイスとの間に確立されたTCP接続に関連する情報の第1のTCPヘッダーと、を作成するステップと、を含む。前記第1のデバイスは、前記第2のデバイスに前記第1のTCPパケットを送信する。前記方法は、前記第1のデバイスにおいて、信頼できないトランスポートプロトコルを使用して送信される第2のパケットを受信するステップと、前記受信した第2のパケットの第2のペイロードを含む第2のTCPパケットと、前記第1のTCPヘッダー情報と、を作成するステップと、をさらに含む。前記第1のデバイスによって、前記第2のデバイスから前記第1のペイロードの受信の確認応答を受信する前に、前記第1のデバイスは、前記第2のデバイスに前記第2のTCPパケットを送信する。
一実施態様では、本発明の方法は、前記信頼できないトランスポートプロトコルに関連付けられたポート番号でTCP接続を確立するステップを含む。別の実施態様では、前記方法は、前記第1のデバイスによって、前記第1のTCPパケットおよび前記第2のTCPパケットが、信頼できないトランスポートプロトコルを含むことを動的に判断するステップを含む。いくつかの実施態様では、前記信頼できないトランスポートプロトコルは、UDPである。
更なる一実施態様では、前記方法は、パケット取得機構を使用して、前記第1のTCPパケットおよび前記第2のTCPパケットをインターセプトすることによって、前記第1のデバイス上の前記前記第1のTCPパケットおよび前記第2のTCPパケットを受信するステップを含む。いくつかの実施態様では、前記方法は、前記第1のデバイスによって、VPNゲートウェイデバイスとの前記TCP接続を確立する。他の実施態様では、前記方法は、前記TCP接続を介して、前記第1のデバイスと前記第2のデバイスとの間にピアツーピア通信を確立するステップを含む。本発明の別の実施様態では、前記方法は、前記第1のデバイスによって、前記第1および第2のTCPパケットを暗号化し、前記第2のデバイスによって、前記暗号化された第1および第2のTCPパケットを解読するステップを含む。
別の側面では、本発明は、TCP接続を通じて、信頼できないトランスポートプロトコルを使用して、アプリケーションからパケットを送信するための方法に関する。前記方法は、第2のデバイスにおいて、第1のデバイス上に作成され、前記第2のデバイス上で受信する第1のTCPパケットをインターセプトするステップを含む。前記第1のTCPパケットは、信頼できないプロトコルおよび前記第1のデバイスと前記第3のデバイスとの間に確立されたTCP接続に関連する情報の第1のTCPヘッダーを使用したアプリケーションによって生成される第1のパケットの第1のペイロードを含む。前記方法の前記インターセプトするステップは、前記第1のTCPパケットが前記第2のデバイス上のTCPスタックに提供される前に生じる。前記方法は、前記情報のTCPヘッダーに応答して、前記第1のペイロードが、信頼できないトランスポートプロトコルを使用したアプリケーションによって生成されたパケットであることを識別するステップと、前記第1のTCPパケットから前記情報のTCPヘッダーを取り除くステップと、前記信頼できないデータプロトコルを使用して、アプリケーションに前記第1のペイロードを転送するステップと、を含む。
一実施態様では、前記信頼できないプロトコルは、UDPである。別の実施態様では、前記識別するステップは、前記識別するステップは、前記TCPヘッダー情報が、前記信頼できないトランスポートプロトコルに関連付けられたポート番号を含むことを識別するステップを含む。いくつかの実施態様では、前記方法は、前記第2のデバイスによって、パケット取得ドライバを使用して、前記第1のTCPパケットをインターセプトするステップを含む。
いくつかの実施態様では、前記第1のデバイスは、クライアントデバイスであり、前記第2のデバイスはVPNゲートウェイである。加えて、本発明の方法は、前記アプリケーションに前記第1のペイロードを転送する前に、第2のデバイス上でネットワークアドレス変換(NAT)を行うステップを含む。
更なる側面では、本発明は、TCP接続を通じて、信頼できないトランスポートプロトコルを使用して、アプリケーションからパケットを送信するためのシステムに関する。前記システムは、第1のデバイスと、第2のデバイスと、を含む。前記第1のデバイスは、第1および第2のパケットを生成するアプリケーションを有する。前記第1および第2のパケットは、信頼できないトランスポートプロトコルを使用して送信される。第1のデバイスはまた、フィルタプロセスとトンネリングプロセスと、を有する。前記フィルタプロセスは、前記アプリケーションから前記第1および第2のパケットをインターセプトして、前記トンネルプロセスに前記インターセプトされたパケットを転送する。前記トンネルプロセスは、前記第1のデバイスと第2のデバイスとの間のTCP接続を開くことをリクエストする。前記TCP接続を開くための前記リクエストは、前記TCP接続が、信頼できないトランスポートプロトコルで送信されることを意図したパケットを送信することを前記第1および第2のデバイスに示す。前記トンネルプロセスは、前記第2のデバイスに、第1および第2のTCPパケット内のペイロードとして前記第1および第2のパケットを転送する。前記トンネルプロセスは、前記第1のTCPパケットを送信した後かつ前記第1のTCPパケットに対する確認応答を受信する前に、前記第2のTCPパケットを送信する。
本発明のシステムの前記第2のデバイスは、前記第1のデバイスと通信する。前記第2のデバイスは、第2のフィルタプロセスと、トンネリングプロセスと、を有する。前記第2のトンネルプロセスは、前記第1のデバイスによってリクエストされた前記TCP接続を開き、前記TCP接続のソースアドレスを識別して前記第2のフィルタプロセスに転送する。前記第2のフィルタプロセスは、ヘッダー内の前記TCP接続のソースアドレスとともに、前記第2のデバイスにおいて受信した前記アプリケーションからパケットをインターセプトする。前記第2のフィルタプロセスは、前記受信したパケットから前記TCPヘッダーを取り除いて、前記第2のデバイス上のTCP/IPスタックを迂回して、目的とする宛先に前記取り除いたパケットを転送する。
本発明のシステムの一実施態様では、前記第1のデバイス上の前記フィルタプロセスおよび/または前記第2のデバイス上の前記第2のフィルタプロセスは、パケット取得ドライバである。いくつかの実施態様では、前記第1のデバイスは、クライアントデバイスであり、前記第2のデバイスは、VPNゲートウェイデバイスである。一実施態様では、前記信頼できないデータプロトコルは、UDPである。
別の実施態様では、前記システムはまた、前記取り除かれたパケットが送信される、第3のデバイスも備える。加えて、前記第2のデバイスは、前記第3のデバイスに前記取り除いたパケットを送信する前に、ネットワークアドレス変換を行うために使用するネットワークアドレス変換(NAT)テーブルをさらに備えることが可能である。
更なる一側面では、本発明は、ネットワークのフラグメンテーションを低減するために、安全なネットワーク通信の最大送信単位を調整するための方法に関する。前記方法は、システムのような1つ以上の電子デバイスにおいて、およびあらゆる好適な手段および機構によって行うことが可能である。前記方法は、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間にセッションを確立するステップを含む。前記セッションは、前記第1のコンピューティングデバイスのエージェントによって確立することが可能である。前記第1のコンピューティングデバイスは、第1のネットワークスタックを有する。前記方法は、前記第1のコンピューティングデバイスによって、暗号化されたペイロードを有するネットワークパケットを検出し、前記第1のコンピューティングデバイスによって、少なくとも、前記ペイロードの暗号化された部分に関連するサイズだけ、前記最大送信単位サイズを減じるために、前記第1のネットワークスタックの最大送信単位パラメータの設定を決定する。前記方法は、前記決定された設定に、前記第1のネットワークスタックの前記最大送信単位(MTU)を変更する。このように、報告されたMTUパラメータは、暗号化を補うために減じられる。
一実施態様では、本発明の方法は、セキュアソケットレイヤーまたはトランスポートレイヤーセキュリティトンネルを介して、前記第2のコンピューティングデバイスに前記ネットワークパケットを通信する。前記第2のコンピューティングデバイスは、SSL VPNゲートウェイのようなゲートウェイであってよい。別の実施態様では、前記ペイロードは、リアルタイムプロトコルを含む。
加えて、一実施態様では、前記方法は、前記第1のネットワークスタックのネットワークドライバインターフェース規約(NDIS)のレベル機構を介して、前記最大送信単位のパラメータを変更することが可能である。別の実施態様では、前記方法は、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションごとに、前記最大送信単位の設定を動的に決定する。一実施態様では、前記第1のコンピューティングデバイスの前記エージェントは、前記決定された設定に対する前記最大送信単位を変更するために、IOCTLアプリケーションプログラミングインタフェースを介して、前記第1のネットワークスタックに通信する。
いくつかの実施態様では、本発明の方法は、ゲートウェイを介して、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションを確立する。他の実施態様では、前記方法は、前記第1のコンピューティングデバイスによって、前記ネットワークパケットの前記ペイロードを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータを通信する。さらに別の実施態様では、前記方法は、前記ネットワークパケットを通信する前に、前記第1のコンピューティングデバイスおよび/または前記第2のコンピューティングデバイスに、前記ネットワークパケットの受信の疑似確認応答を通信する。一実施態様では、前記ネットワークパケットは、トランスポート制御プロトコルのような可逆プロトコルパケットを含む。別の実施態様では、前記ペイロードは、ユーザーデータグラムプロトコルのような不可逆プロトコルパケットを含む。
更なる側面では、本発明は、クライアントが、クライアントのアプリケーションに関連付けられた前記クライアントのネットワーク通信に優先順位をつけるための方法に関する。前記方法は、前記クライアントによって、前記クライアントの1つ以上のアプリケーションに関連付けられた1つ以上のネットワークパケットをインターセプトするステップと、キューに前記1つ以上のネットワークパケットを格納するステップと、を含む。前記クライアントは、前記キューに入れた1つ以上のネットワークパケットが、前記クライアントの第1のアプリケーションに関連付けられていることを判断する。前記クライアントは、前記クライアントの第2のアプリケーションに関連付けられた前記キュー内の少なくとも1つのネットワークパケットの前に、前記判断された1つ以上のネットワークパケットを配置するために、前記判断された1つ以上のネットワークパケットの優先順位を示す。前記クライアントは、前記クライアントのネットワークスタックを介して、前記優先順位付けされた1つ以上のネットワークパケットを通信に提供する。
一実施態様では、本発明の方法は、前記クライアントによって、前記第1のアプリケーションの前記キューに入れた1つ以上のネットワークパケットが、リアルタイムデータを含むことを判断するステップを含む。前記リアルタイムデータは、1)リアルタイムプロトコル、2)ユーザーデータグラムプロトコル、および3)音声またはオーディオの表現、のうちの1つを含むことが可能である。
別の実施態様では、前記方法は、前記クライアントによって、少なくとも1つの前記第2のアプリケーションのネットワークパケットが、前記第1のアプリケーションの前記1つ以上のネットワークパケットの前に、前記ネットワークスタックを介して通信されないようにするステップを含む。更なる一実施態様では、前記方法は、前記クライアントによって、前記キュー内に前記第2のアプリケーションに関連付けられたネットワークパケットを保持して、前記保持されたネットワークパケットの前に順位付けされた、前記第1のアプリケーションに関連付けられた前記1つ以上のネットワークパケットの通信に応じて、前記保持されたネットワークパケットを解放するステップを含む。
本発明のさらに別の実施態様では、前記方法は、前記クライアントによって、前記クライアント上の前記1つ以上のアプリケーションに対して、前記1つ以上のネットワークパケットを透過的にインターセプトするステップを含む。いくつかの実施態様では、前記第1のアプリケーションはフォアグランドで動作し、前記第2のアプリケーションはバックグラウンドで実行する。
本発明の一実施態様では、前記方法は、前記第1のアプリケーションの優先順位を、前記第2のアプリケーションに関連付けられた優先順位よりも高く関連付けるステップを含む。別の実施態様では、ユーザーは、前記第1のアプリケーションまたは前記第2のアプリケーションの優先順位を特定することが可能である。更なる一実施態様では、前記クライアントは、コンピューティングデバイスから前記1つ以上のネットワークパケットを受信する。また、前記1つ以上のアプリケーションは、コンピューティングデバイスに、前記クライアントから通信するための前記1つ以上のネットワークパケットを提供する。
別の側面では、本発明は、前記クライアントのアプリケーションに関連付けられた前記クライアントのネットワーク通信に優先順位を付けるためのクライアントに関する。前記クライアントは、前記クライアントの1つ以上のアプリケーションに関連付けられた前記クライアントの1つ以上のネットワークパケットをインターセプトするための機構を備える。前記クライアントはまた、キューに前記1つ以上のネットワークパケットを格納して、前記クライアントのネットワークスタックを介して、前記1つ以上のネットワークパケットを通信するためのネットワークドライバも備える。前記クライアントは、前記1つ以上のネットワークパケットが、前記クライアントの第1のアプリケーションに関連付けられていることを判断し、前記クライアントの第2のアプリケーションに関連付けられた前記キュー内の少なくとも1つのネットワークパケットの前に、前記判断された1つ以上のネットワークパケットを配置するために、前記1つ以上のネットワークパケットの優先順位を前記ネットワークドライバに示すためのエージェントをさらに備える。
一実施態様では、前記第1のアプリケーションの前記1つ以上のネットワークパケットが、リアルタイムデータを含むことを判断する。前記リアルタイムデータは、1)リアルタイムプロトコル、2)ユーザーデータグラムプロトコル、および3)音声またはオーディオの表現、のうちの1つを含む。
更なる一実施態様では、本発明のエージェントまたはネットワークドライバは、少なくとも1つの前記第2のアプリケーションのネットワークパケットが、前記第1のアプリケーションの前記1つ以上のネットワークパケットの前に、前記ネットワークスタックを介して通信されないようにする。一実施態様では、前記ネットワークドライバは、前記キュー内に前記第2のアプリケーションに関連付けられたネットワークパケットを保持して、前記保持されたネットワークパケットの前に順位付けされた、前記第1のアプリケーションに関連付けられた前記1つ以上のネットワークパケットの通信に応じて、前記保持されたネットワークパケットを解放する。
他の一実施例において、本発明は、 前記機構を介して、前記クライアント上の前記1つ以上のアプリケーションに対して、前記1つ以上のネットワークパケットを透過的にインターセプトする。いくつかの実施態様では、前記第1のアプリケーションは、前記フォアグランドで実行し、前記第2のアプリケーションは、前記バックグラウンドで実行する。また、前記第1のアプリケーションは、前記第2のアプリケーションよりも高い優先順位を有することが可能である。さらに、前記クライアントは、ユーザーが、前記優先順位を特定するための構成機構を備えることが可能である。いくつかの実施態様では、前記クライアントは、コンピューティングデバイスから前記1つ以上のネットワークパケットを受信する。他の実施態様では、前記1つ以上のアプリケーションは、コンピューティングデバイスに、前記クライアントから通信するための前記1つ以上のネットワークパケットを提供する。
更なる一実施態様では、前記ネットワークドライバは、ネットワークドライバインターフェース仕様(NDIS)ドライバを備える。また、前記ネットワークドライバは、前記クライアントのオペレーティングシステムのカーネルモードで動作することが可能である。ある場合では、前記エージェントは、前記クライアントのオペレーティングシステムのユーザーモードで動作する。さらに、前記エージェントまたは前記ネットワークドライバは、前記クライアントの1つ以上のネットワークパケットをインターセプトするための機構を備える。
さらに別の側面では、本発明は、第1のプロトコルを介して確立されたセッションを、ネットワークの混乱から保護するための方法に関する。前記方法は、クライアントのエージェントを介して、前記クライアントとデバイスとの間のネットワーク接続を通じて第1のプロトコルを介したセッションを確立するステップを含む。前記ネットワーク接続は、ネットワークスタックに関連付けられる。前記ネットワークスタックの第1の部分は、前記第1のプロトコルのレイヤーの下位に前記ネットワークスタックの1つ以上のレイヤーを備え、前記ネットワークスタックの第2の部分は、前記第1のプロトコルのためのレイヤーおよび前記第1のプロトコルの上位に前記ネットワークスタックの1つ以上のレイヤーを備える。前記方法は、前記ネットワークスタックの前記第2の部分の廃止を生じさせる、前記ネットワーク接続内の混乱を検出するステップと、前記エージェントによって、前記混乱中に、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持するステップと、を含む。前記方法は、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持しながら、前記ネットワークスタックの前記第1の部分および前記ネットワーク接続を再確立するステップをさらに含む。
一実施態様では、前記方法は、前記ネットワークスタックの前記保持された第2の部分および前記ネットワークスタックの前記再確立された第1の部分との前記セッションを継続するステップを含む。いくつかの実施態様では、前記方法はまた、前記ネットワークスタックの前記第1の部分および/または前記第2部分によって、混乱中に受信したあらゆるネットワークパケットをドロップするステップを含む。
別の実施態様では、前記デバイスは、リモートアクセスゲートウェイまたは別のコンピューティングデバイスを備える。場合によっては、前記方法は、1)セキュアソケットレイヤー(SSL)プロトコル、2)トランスポートレイヤーセキュリティ(TLS)プロトコル、および3)トンネリングプロトコルのうちの1つの前記第1のプロトコルを介して、前記セッションを確立するステップを含む。加えて、本発明の方法は、前記エージェントによって、前記クライアントおよび前記デバイスとの間の前記セッションを介して、リアルタイムデータを通信するステップを含むことが可能である。前記リアルタイムデータは、リアルタイムプロトコルを含むか、または前記リアルタイムデータは、音声またはオーディオを表すことが可能である。
いくつかの実施態様では、前記エージェントは、前記クライアントのオペレーティングシステムのユーザーモードで動作する。一実施態様では、前記ネットワークの前記第1の部分は、トランスポート制御プロトコルまたはインターネットプロトコルのうちの1つを含む。別の実施態様では、前記ネットワークスタックの前記第2の部分は、1)インターネットプロトコル、2)ユーザーデータグラムプロトコル、または3)ボイスオーバーIPのうちの1つを備える。加えて、前記クライアントは、リモートディスプレイプロトコルを介して、前記デバイスと通信する前記クライアントを備える。
前記リモートディスプレイプロトコルは、独立コンピューティングアーキテクチャ(ICA)プロトコルまたはリモートデスクトッププロトコル(RDP)であってよい。
別の実施態様では、本発明の方法は、前記ネットワーク接続を介して通信する前記クライアントのアプリケーションに透過的に実行する。一実施態様では、前記方法は、前記エージェントによって、前記クライアントのアプリケーションに対して、前記アプリケーションに関連付けられた1つ以上のネットワークパケットを透過的にインターセプトするステップを含む。一実施態様では、前記方法は、前記スタックの前記第1の部分に関連付けられたネットワークドライバによって、前記クライアント上の前記アプリケーションに対して、前記アプリケーションに関連付けられた1つ以上のネットワークパケットを透過的にインターセプトするステップを含む。
更なる側面では、本発明は、第1のプロトコルを介して確立されたセッションを、ネットワークの混乱から保護するためのシステムに関する。前記システムは、第1のプロトコルを介して、ネットワーク接続を通じて、前記クライアントとデバイスとの間のセッションを確立するクライアントのエージェントを有する。前記システムは、前記クライアントの前記ネットワークスタックのような、第1の部分および第2の部分を有するネットワークスタックを備える。前記ネットワークスタックの第2の部分は、前記第1のプロトコルのためのレイヤーおよび前記第1のプロトコルの上位に前記ネットワークスタックの1つ以上のレイヤーを備え、前記ネットワークスタックの第1の部分は、前記第1のプロトコルのレイヤーの下位に前記ネットワークスタックの1つ以上のレイヤーを備える。前記システムは、前記ネットワークスタックの前記第1の部分の廃止を生じさせる、前記ネットワーク接続内の混乱を検出するための検出器を備える。前記システムのオペレーションに際し、また前記検出器による前記廃止の検出に応じて、前記エージェントは、前記混乱中に、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持する。前記エージェントが、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持しながら、前記クライアントは、前記ネットワークスタックの前記第1の部分および前記ネットワーク接続を再確立する。
本発明のシステムの一実施態様では、前記エージェントは、前記ネットワークスタックの前記保持された第2の部分および前記ネットワークスタックの前記再確立された第1の部分との前記セッションを継続する。いくつかの実施態様では、前記ネットワークの前記第1の部分および/または前記第2の部分は、混乱中に受信したあらゆるネットワークパケットをドロップする。
一実施態様では、前記システムの前記デバイスは、リモートアクセスゲートウェイまたは別のコンピューティングデバイスを備える。前記第1のプロトコルは、1)セキュアソケットレイヤー(SSL)プロトコル、2)トランスポートレイヤーセキュリティ(TLS)プロトコル、および3)トンネリングプロトコルのうちの1つを備えることが可能である。別の実施態様では、本発明のエージェントは、前記クライアントおよび前記デバイスとの間の前記セッションを介して、リアルタイムデータを通信する。前記リアルタイムデータは、リアルタイムプロトコルまたは、音声またはオーディオの表現を含むことが可能である。
前記システムのいくつかの実施態様では、前記エージェントは、前記クライアントのオペレーティングシステムのユーザーモードで動作する。前記システムの一実施態様では、前記ネットワークの前記第1の部分は、トランスポート制御プロトコルおよび/またはインターネットプロトコルを備える。別の実施態様では、前記ネットワークスタックの前記第2の部分は、1)インターネットプロトコル、2)ユーザーデータグラムプロトコル、または3)ボイスオーバーIPのうちの1つを備える。加えて、前記クライアントは、リモートディスプレイプロトコルを介してデバイスと通信することが可能であり、独立コンピューティングアーキテクチャ(ICA)プロトコルまたはリモートデスクトッププロトコル(RDP)であってよい。
別の実施態様では、本発明のシステムは、前記ネットワークスタックの前記第2の部分を保持し、前記ネットワーク接続を介して通信する前記クライアントのアプリケーションに、前記ネットワークスタックの前記第1の部分を透過的に再確立する。一実施態様では、前記エージェントは、前記クライアントのアプリケーションに対して、前記アプリケーションに関連付けられた1つ以上のネットワークパケットを透過的にインターセプトする。一実施態様では、前記システムはまた、前記スタックの前記第2の部分に関連付けられたネットワークドライバによって、前記クライアント上の前記アプリケーションに対して、前記アプリケーションに関連付けられた1つ以上のネットワークパケットを透過的にインターセプトするステップを含む。
本発明の様々な実施態様の詳細を、以下の添付図面および説明に記載する。
(説明)
上述の本発明の他の目的、側面、特徴、および利点は、添付図面とともに以下の説明を参照することによって、より明らかになり、より適切に理解されるであろう。
以下、本発明の実施態様について説明する。しかし、本発明は、これらの実施態様に限定されなるものではなく、むしろその趣旨は本願明細書に明白に開示した内容への追加および変更が本発明の範囲に明白に含まれるということに留意されたい。さらに、本願明細書に開示される種々の実施態様の特徴は排他的でなく、本願明細書に組み合わせまたは置き換えが表されていなくても、本発明の精神と範囲から逸脱することなく、当該の組み合わせおよび置き換えが存在しうると理解されたい。
本発明の例示的実施態様は、概してピアツーピア通信およびリモートアクセス接続性を提供するためのリモートアクセスアーキテクチャに関する。一例示的実施態様では、本発明のリモートアクセスアーキテクチャは、ゲートウェイのような第3のコンピューティングデバイスを介して、ピアコンピューティングデバイス間の直接接続を確立するための方法を提供する。本発明はまた、ゲートウェイによって、またはゲートウェイなしで確立されたピアツーピア通信を最適化するための様々な方法も提供する。ピアツーピア通信には、ボイスオーバーIP(VoIP)シグナリングのようなリアルタイム通信、およびメディア、ビデオ、およびウェブコラボレーション、スクリーンまたはデスクトップシェアリング、およびインスタントメッセージングのような他のリアルタイムデータアプリケーションが挙げられる。ゲートウェイを介したピアツーピア接続の確立に加えて、本発明はまた、ピアツーピア通信を最適化するために以下の技術を提供する。1)不可逆プロトコルを介した送信のために構築されるパケットの可逆プロトコルを介した通信を可能にする、ネットワークパケットの受信の疑似確認応答。2)不可逆プロトコルを介した送信のために構築されるパケットの可逆プロトコルを介した通信を可能にする、ネットワークパケットのペイロードシフティング。3)最大送信単位(MTU)のパラメータを調整することによって、パケットフラグメンテーションを削減し、暗号化によるオーバーヘッドを補う。4)クライアント側ネットワーク通信のアプリケーション認識の優先順位付け。5)モバイルクライアントに対してなどの、信頼性が高く、永続的なネットワーク接続およびアクセスのためのネットワークの混乱の防止。これらの技術は、いくつかの実施態様では、2つのクライアント間のピアツーピア通信において、または他の実施態様では、クライアントとのゲートウェイとの間の通信、または本発明の一例示的実施態様のSSL VPNゲートウェイを介するなどの、別のコンピューティングデバイスへのゲートウェイを介した1つのコンピューティングデバイス間の通信において、実施することが可能である。
本発明の例示的実施態様では、ピアツーピア経路最適化技術は、クライアントがゲートウェイを介してアクセスしようとするリソースへのより最適な経路を決定する。クライアントおよびサーバーまたはピアコンピュータのようなクライアントがアクセスするリソースは、ゲートウェイを介するよりも直接的な経路を有することが可能である。例えば、クライアントおよびサーバーは、ゲートウェイからは離して、互いに近くに配置することが可能であるので、ゲートウェイを介するよりも互いに近くなる。さらに、ゲートウェイを利用することによって、クライアントとサーバーとの間のエンドツーエンドのネットワーク通信において、少なくとも1つの追加ホップが生じる。インターネットプロトコル(IP)ネットワークアドレスを割り当てた、クライアントおよびサーバーの仮想プライベートネットワークを使用したゲートウェイを介して通信するクライアントおよびサーバーの代わりに、本発明のゲートウェイおよびリモートアクセスアーキテクチャは、ゲートウェイを使用せずに、ピアツーピア様式の直接経路を介した、互いの通信を容易にする。しかし、場合によっては、クライアントおよびサーバーは、クライアントおよび/またはサーバーのいずれかが、ネットワークアドレス変換(NAT)ファイアウォールのような、ファイアウォールの背後にある場合があるので、互いの間の直接経路を持たない場合がある。本発明のピアツーピア経路最適化技術およびリモートアクセスアーキテクチャはまた、クライアントおよびサーバーが、ファイアウォールのトラバースを介して直接通信するための技術も提供する。このように、本発明のピアツーピア経路最適化技術は、ゲートウェイを介するよりも、ピアコンピュータ間のより短くより最適な経路を提供する。
本発明の例示的実施態様では、本発明の実施態様の疑似確認応答技術によって、不可逆プロトコルを介して送信されるように構成したパケットを、可逆プロトコルを介して通信することが可能となる。例えば、リアルタイムプロトコル(RTP)は、ボイスオーバーIP(VoIP)通信に、ユーザーデータグラムプロトコル(UDP)を通じて実行することができる。いくつかのリアルタイムの音声アプリケーションでは、ネットワークパケットを順に獲得したり、ネットワークパケットの配信を保証したりするのではなく、ネットワークパケットを遅れずに受信者に獲得させることがより重要になりうるので、UDPのような不可逆または信頼できないプロトコルを、音声通信に使用することが可能である。しかし、セキュアソケットレイヤー(SSL)またはトランスポートレイヤーセキュリティ(TLS)のような、安全な通信および/またはトンネリングプロトコルを使用した仮想プライベートネットワークおよびリモートアクセスソリューションによって、UDPのような不可逆プロトコルを介して送信するように構成したリアルタイムアプリケーションのデータは、トランスポート制御プロトコル(TCP)のような可逆または信頼できるプロトコルを介して通信することが可能である。
本発明の技術によって、UDPを通じたRTPのような不可逆プロトコルは、TCPのような可逆プロトコルを介して通信することが可能となり、一方で、可逆プロトコルの可逆特性のうちの1つ以上が通信に適用されないようにする。本発明の例示的実施態様では、本技術は、可逆プロトコルが、プロトコルの信頼性を提供するアルゴリズムを実行しないようにするために、対応するネットワークスタックに、可逆プロトコルのネットワークパケットの受信の疑似確認応答を通信する。この技術を使用することによって、例えば、通信を安全にするために、および不可逆プロトコルのネットワークパケットを受信者に確実に獲得させるのではなく、受信者に遅れずに獲得させるために、TCP、SSLを介するか、またはゲートウェイのトンネリングプロトコルを介するなどして、可逆プロトコルを通じて不可逆プロトコルを通信することができる。一実施態様では、この技術は、ピア間のSSLまたはTLSを通じて、またはゲートウェイを介して、VoIPのようなリアルタイムデータ通信を安全に通信するために使用することができる。
本発明の例示的実施態様はまた、不可逆プロトコルを介して送信されるように構成されたパケットを、可逆プロトコルを介して通信できるようにする、ペイロードシフティングの別の技術を提供する。第1のコンピューティングデバイスは、信頼できないトランスポートプロトコルを使用して送信される第1のパケットを受信して、受信した第1のパケットの第1のペイロードを含む第1のTCPパケットを作成する。第1のTCPパケットは、第1と第2のコンピューティングデバイスとの間に確立されたTCP接続に関連する情報を有する、TCPヘッダーとともに作成される。第1のTCPパケットは、第2のコンピューティングデバイスに送信される。信頼できないトランスポートプロトコルを使用して送信される第2のパケットは、第1のコンピューティングデバイスによって受信され、次に、受信した第2のパケットのペイロードを含むが、第1のTCPパケットのTCPヘッダー情報を有する、第2のTCPパケットを作成する。第2のTCPパケットは、第2のデバイスから第1のTCPパケットの受信の確認応答を受信する前に、第2のコンピューティングデバイスに送信される。このように、ペイロードシフティング技術は、受信の確認応答を受信するまで、TCPヘッダーの下で複数の信頼できないトランスポートプロトコルのペイロードを通信する。
本発明の例示的実施態様では、最大送信単位の調整技術により、ペイロードの暗号化によるネットワークパケットのサイズの影響を考慮するために、クライアントのネットワークスタックの最大送信単位(MTU)のパラメータの報告サイズが減じられる。ネットワークパケットのペイロードの暗号化によって、クライアントに、またはクライアントによって通信されるネットワークパケットのサイズが増加し、ネットワークパケットが断片化される場合がある。例えば、サーバーは、クライアントへのSSLゲートウェイを介してクライアントにネットワークパケットを通信することが可能である。サーバーは、クライアントのネットワークスタックが処理できるMTUのサイズを満たさなければならない、ネットワークパケットを送信するが、ゲートウェイによって提供される暗号化は、ネットワークパケットがクライアントに到達する前に、ネットワークパケットのサイズを増加させる。これによって、暗号化によって増加したパケットサイズが、クライアントのMTUのサイズに対して大きくなりすぎるので、ゲートウェイを介してサーバーからクライアントに通信されるネットワークパケットが断片化される。本発明の技術は、暗号化のオーバーヘッドを補うことを考慮するために、クライアントの報告されたMTUのサイズを調整して、より小さなサイズを報告する。本技術では、ネットワークのフラグメンテーションを減じるか、あるいは最適でないフラグメンテーションを回避する。
本発明の例示的実施態様では、優先順位付け技術は、ネットワーク通信のクライアント側およびアプリケーション認識の優先順位付けを提供する。すなわち、本発明のリモートアクセスクライアントは、クライアント上のネットワーク通信の優先順位付けを管理および制御する。優先順位付けは、クライアント上のアプリケーションの優先順位に基づく。リモートアクセスクライアントは、クライアント上で実行しているアプリケーションに関連付けられたネットワーク通信を透過的にインターセプトし、そのネットワーク通信がアプリケーションに関連付けられていることを検出し、そのアプリケーションの優先順位に基づいて、ネットワーク通信の優先順位を決定する。例えば、クライアント上のアプリケーションは、ピアクライアントに、またはゲートウェイを介して、VoIPのようなリアルタイムデータ通信を通信している場合がある。リモートアクセスクライアントは、ネットワークパケットをインターセプトし、例えば、そのネットワークパケットがリアルタイムデータを含むこと、またはそれがVoIPアプリケーションからのものであること、を検出することが可能である。リモートアクセスクライアントは、ネットワークパケットを、非リアルタイムデータ通信の前に、または他のアプリケーションからのネットワーク通信の前に通信することが可能であるように、このネットワークパケットの優先順位を示すことが可能である。このように、本発明の優先順位付け技術は、クライアント上で実行されているアプリケーションに基づいて、クライアントの性能、動作特性、およびユーザーエクスペリエンスを改善または向上させることが可能である。
本発明の例示的実施態様では、ネットワークの混乱から保護する技術は、ピアツーピア通信セッションまたはゲートウェイへの接続のような、永続的かつ信頼できるネットワークへのクライアントの接続を提供する。例えば、ソフトウェアベースのIP電話を有するラップトップのようなモバイルクライアントは、VoIP通信のためのネットワークに接続することが可能である。モバイルクライアントが同じネットワーク内の異なるアクセスポイント間を移動するとき、またはクライアントが(例えば、有線ネットワークから無線ネットワークに)ネットワークを切り替えるとき、ネットワーク内に一時的な混乱が生じる場合がある。これは、クライアントへのネットワークサービスを混乱させ、VoIP通話をドロップする場合がある。加えて、モバイルクライアントはアクセスポイント間の移動するので、モバイルクライアントは、新しい動的ホスト構成プロトコル(DHCP)リースなどから、異なるIPネットワークアドレスを取得する場合がある。また、これによって、ネットワーク接続およびVoIP電話通信に混乱が生じる場合がる。本発明の技術は、ネットワーク内の混乱を検出し、ネットワークの混乱からネットワークスタックの一部を保護する。ネットワークスタックの他の部分を再確立してネットワークに再接続しながら、ネットワークスタックの保護された部分が保持される。ネットワークが利用可能になった時点で、本発明は、クライアントのネットワーク通信を継続する。いくつかの実施態様では、ネットワーク通信は、ネットワークの混乱中にキューに入れられて、ネットワークが利用可能になった時点で送信される。リアルタイムデータ通信のためなどの他の実施態様では、VoIP通話のようなリアルタイムの通信における待ち時間を生じさせる可能性のある、ネットワークパケットの待ち行列を回避するために、混乱中にネットワークパケットがドロップされる。
本発明の例示的実施態様は、概して、トランスポート制御プロトコル(TCP)またはユーザーデータグラムプロトコル(UDP)のようなインターネットプロトコル(IP)ベースのプロトコルに関して記述される場合があるが、本発明の技術は、逐次パケット交換(SPX)プロトコルを使用したあらゆるInternetwork Packet Exchange(IPX)プロトコルベースのネットワークのような、他のネットワークプロトコルを有する他のタイプのネットワーク環境において使用することが可能である。また、UDPのような不可逆または信頼できないプロトコル、およびTCPのような可逆または信頼できるプロトコルを、本発明の一実施態様を示すために使用する場合があるが、当業者に公知のあらゆる可逆/信頼できるプロトコル、および不可逆/信頼できないプロトコルを、本願明細書に記述される本発明のオペレーションの実施において使用することが可能である。さらに、本発明のいくつかの例示的実施態様を、VoIPのようなリアルタイムデータ通信に関して下記に記述するが、本発明の技術は、当業者が認識および理解されるであろう、非リアルタイムデータ通信に適用することが可能である。
加えて、本発明の例示的実施態様は、時にピアツーピア通信に関して記述する場合がある。一側面では、ピアツーピアモデルは、他のコンピュータにそのリソースへのアクセスを提供することによってサーバーとしての役割を果たすことができ、また他のコンピュータから共有リソースにアクセスすることによってクライアントとしての役割を果たすことができるタイプのネットワークを備える。別の側面では、ピアツーピアモデルは、クライアントおよびサーバーという概念を含まない場合があるが、クライアントおよびサーバーは、クライアントツークライアント、サーバーツーサーバー、またはクライアント/サーバー対ゲートウェイのようなコンピューティングデバイスと同様に、ピアツーピア通信を提供することが可能である。更なる側面では、ピアツーピア通信は、コンピュータ間で、第三者ネットワークまたはゲートウェイのようなデバイスの補助を受けずに、互いに情報を交換することができるプロセスを有する。ピアツーピア通信は、概してコンピュータ間の直接通信として記述される場合があるが、例えばネットワークハブのような、送信および/または通信を容易にするために、コンピューティングデバイス間に他のネットワーク要素が存在する場合がある。
さらに、本発明の例示的実施態様では、ピアツーピア、ポイントツーポイント、クライアントツーサーバー、その他を記述している場合があるが、当業者は、本発明が、あらゆるネットワーク技術を介して、あらゆる方法によってコンピューティングデバイス間で実施することが可能であり、ピアツーピア、クライアント/サーバー、その他のあらゆる記述は、本発明を制限しようとするものではないことを認識および理解されよう。
一側面では、本発明は、ゲートウェイを介してネットワークへ通信するためのリモートアクセスクライアント、または別のリモートアクセスクライアントまたは別のコンピューティングデバイスへのピアツーピアを有する、リモートアクセスアーキテクチャに関する。本発明のリモートアクセスアーキテクチャは、ゲートウェイの背後のプライベートネットワークと、パブリックネットワークのような外部ネットワーク上のクライアントとの間で送信される、ネットワークトラフィックを安全に通信するためのシステムおよび方法を提供する。本発明のリモートアクセスアーキテクチャでは、ゲートウェイにネットワークアドレス変換(NAT)機能を提供することによって、プライベートネットワークからクライアントを分離できるようにする。ネットワークアドレス変換(NAT)を使用するVPNゲートウェイは、プライベートネットワークをクライアントによる直接的なレイヤー2アクセスから保護するために、クライアントのIPアドレスのなりすましを提供する。
図1Aを参照する。環境180は、本発明の一例示的実施態様にリモートアクセスアーキテクチャを展開するためのシステムを示す。概略的に、環境180は、1つ以上のネットワーク接続341a−341nを介して、ネットワーク104に接続される複数のコンピューティングデバイス102a−102c(ここでは、クライアント105a−105cとも称する)を備える。1つ以上のクライアント105a−105nは、ゲートウェイ350を介して、サーバー102a、サーバーファーム102e、またはピアコンピューティングデバイス102dに接続することが可能である。
各クライアント105a−105nは、図1Cを参照して詳述するリモートアクセスクライアント120a−120cと、1つ以上のアプリケーション338a−338nと、を備える。クライアント105a−105nのそれぞれは、あらゆるタイプおよび/または形態の好適なトンネリングまたはゲートウェイプロトコルを使用して、トンネリングまたはゲートウェイ接続341a−341nを介して、ネットワーク104を通じてゲートウェイ340に通信する。いくつかの実施態様では、ゲートウェイ接続341a−341nは、カプセル化および暗号化などを介して安全に通信するために使用することが可能であり、あるいは、リアルタイム、可逆、または不可逆プロトコルのようなあらゆるプロトコルを使用することが可能である。他の実施態様では、ゲートウェイ340は、クライアント105a−105nのうちの1つ以上と、コンピューティングデバイス102d−102nのうちのいずれかとの間の仮想プライベートネットワーク接続を提供する。
クライアント105は、ネットワーク104のようなネットワークにアクセスする1つ以上のアプリケーション338を実行することができる、あらゆるタイプおよび/または形態のコンピューティングデバイス102とすることができる。アプリケーション338は、あらゆるタイプおよび/または形態のウェブブラウザ、ウェブベースのクライアント、クライアント−サーバーアプリケーション、シンクライアントコンピューティングクライアント、ActiveXコントロール、またはJava(登録商標)アプレットのような、あらゆるタイプおよび/または形態のアプリケーションとするか、またはクライアント105上で実行できるか、またはネットワーク104を介して通信することができる、あらゆるタイプおよび/または形態の実行可能な命令とすることができる。アプリケーション338は、あらゆるタイプのプロトコルを使用することができ、例えば、HTTPクライアント、FTPクライアント、Oscarクライアント、またはTelnetクライアントとすることができる。いくつかの実施態様では、アプリケーション338は、リモートディスプレイまたはプレゼンテーションレベルのプロトコルを使用する。一実施態様では、アプリケーション338は、Citrix Systems社(Fort Lauderdale、Florida)が開発した、ICAクライアントである。他の実施態様では、アプリケーション338は、Microsoft社(Redmond、Washington)が開発した、リモートデスクトッププロトコル(RDP)クライアントを含む。他の実施態様では、アプリケーション338は、ソフトIP電話のような、VoIP通信に関連するあらゆるタイプのソフトウェアを含む。更なる実施態様では、アプリケーション338は、ストリーミングビデオおよび/またはオーディオのためのアプリケーションのような、リアルタイムデータ通信に関連するあらゆるアプリケーションを含む。
クライアント105a−105nは、同じネットワーク104上に存在するか、またはプライベートネットワークのような独立したネットワーク上に存在することが可能な、コンピューティングデバイス102d−102nを介して提供されるリソースのうちのいずれかであってよい。いくつかの実施態様では、コンピューティングデバイス102a−102nは、クライアント105a−105nのネットワーク104から切断され、ルーティングが不可能であるネットワーク上に存在させることが可能である。一実施態様では、クライアント105a−105nのうちのいずれかは、リモートアクセスクライアント102nおよびアプリケーション338dを有するピアコンピューティングデバイス102dと通信することが可能である。例えば、アプリケーション338dは、クライアント/サーバーの一部、またはクライアント105a−105n上のアプリケーション338a−338cのうちのいずれかにタイプする分散アプリケーションであってよい。いくつかの実施態様では、リモートアクセスクライアント120a−120nのうちのいずれかは、ゲートウェイ340を介してリモートアクセスクライアント120nと通信することが可能である。
別の実施態様では、クライアント105aのうちのいずれかは、ゲートウェイ340を介して、アプリケーション338eを実行するサーバー102eに通信することが可能であり、例えば、Microsoft社(Redmond、Washington)が製作するMicrosoft Exchangeのような電子メールサービス、ウェブまたはインターネットサーバー、またはデスクトップシェアリングサーバー、あるいはコラボレーションサーバーを提供する、アプリケーションサーバーであってよい。いくつかの実施態様では、アプリケーション338eのうちのいずれかは、Citrix Systems社(Fort Lauderdale、Florida、Ft.)が提供するGotoMeeting.com、WebEx社(Santa Clara、California)が提供するWebEx.com、またはMicrosoft社(Redmond、Washington)が提供するLiveMeeting.comのような、あらゆるタイプのホストサービスを含むことが可能である。
別の実施態様では、クライアント105aのうちのいずれかは、ゲートウェイ340を介して、サーバーファーム102n、または単一のエンティティとして管理される1つ以上のサーバーの論理グループである、サーバーネットワークに通信することが可能である。サーバーファーム102nは、シンクライアントコンピューティングまたはリモートディスプレイのプレゼンテーションアプリケーションを提供するアプリケーション338fのような、1つ以上のアプリケーション338Nを実行することが可能である。一実施態様では、サーバー102eまたはサーバーファーム102nは、アプリケーション338e−338n、MetaFrameまたはCitrix Presentation ServerTMのような、Citrix Systems社のCitrix Access SuiteTMのいずれかの部分、および/またはMicrosoft社のMicrosoft Windows(登録商標) Terminal Servicesのうちのいずれかを実行する。
引き続き図1Aを参照する。ゲートウェイ340は、他のネットワークに、1つのネットワーク上の1つ以上のコンピューティングデバイスを接続するために使用することが可能なリモートアクセスサーバーのような、あらゆるタイプおよび/または形態のゲートウェイを含むことが可能である。別の側面では、ゲートウェイ340は、クライアント105a−105cにプライベートネットワークへのアクセスを提供するように、仮想プライベートネットワーク接続を提供するために使用することが可能である。更なる一側面では、ゲートウェイ340は、2つの異種のプロトコル、またはdisjointまたは切断されたネットワークまたはシステムを変換する、ハードウェアまたはソフトウェア設定とすることが可能である。ゲートウェイ340は、特殊なハードウェアまたはネットワークデバイスを備えるか、またはゲートウェイとしての機能を果たすように構成されたコンピューティングデバイスとすることが可能である。
このように、ゲートウェイ340は、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアを組み合わせたものを含むことができる。一実施態様では、クライアント105およびゲートウェイ340は、SSLまたはTLS、あるいはCitrix Systems社(Fort Lauderdale、Florida、Ft.)が製作するCitrix Gateway Protocolのような、あらゆるタイプおよび/または形態のゲートウェイまたはトンネリングプロトコル341a−341nを介して通信する。
いくつかの実施態様では、ゲートウェイ340は、クライアント105a−105cから受信した暗号化パケットを解読することが可能であり、クライアント105a−105nに通信されるパケットを暗号化することが可能である。ゲートウェイ340は、ネットワーク104のようなプライベートネットワークを保護するために使用することが可能である。いくつかの実施態様では、ゲートウェイ340は、クライアント105a−105cを、プライベートIPアドレスまたはプライベートネットワークのIPアドレスと関連付ける。これらの実施態様のうちの1つでは、ゲートウェイ340がクライアント105a−105cからパケットを受信したときに、ゲートウェイ340は、そのパケットのIPアドレスをプライベートネットワークのクライアント105a−105cに関連付けられたIPアドレスに変換する。いくつかの実施態様では、ゲートウェイ340は、クライアント105a−105cとのネットワークトラフィックに、アクセス制御ポリシーを適用することが可能である。例えば、アクセス制御ポリシーは、パケットを送付先にルーティングする前に、クライアントから受信したパケットに適用することが可能である。
ゲートウェイ340の一実施態様では、フレームがSSLトンネルを介してゲートウェイ340に入ると、パケットおよびそのペイロードを、コールバックを介して、SSL暗号解読に機能を提供する、ユーザーモードで実行するハンドラに送る。別の実施態様では、オープンSSLを使用することが可能である。他の実施態様では、ハードウェアアクセラレータを使用する。更なる一実施態様では、ゲートウェイ340は、リモートアクセスを提供するための1つ以上のブレードを備える。パケットが解読されると、そのパケットは、ヘッダーをアセンブルしてリモートアクセスブレードに伝える、HTTPネットワークスタックに注入される。リモートアクセスブレードでは、パケットは、パケット内に含まれるデータのタイプによって分類される。一実施態様では、パケットは、ログインおよび登録をリクエストするHTTPヘッダーを含む。別の実施態様では、パケットは、TCP/UDP/RAW/OTHER接続の確立を求める。さらに別の実施態様では、パケットは、接続固有のデータを含む。さらに別の実施態様では、パケットは、他のユーザーとのコラボレーションのような特殊機能のリクエストを含み、ユーザーディレクトリおよび存在を取り込むか、または会議やウェブキャストのような電話機能をリクエストする。リモートアクセスモジュールは、対応するサブハンドラに適切にパケットを送る。例えば、クライアント105は、ゲートウェイ340の背後のプライベートネットワーク上の特定の機械に接続を設定するようにリクエストすることが可能である。リモートアクセスモジュールは、アクセス制御モジュールを参照することが可能であり、肯定応答が返された場合は、リモートアクセスモジュールは、リクエストを許可することが可能である。いくつかの実施態様では、リモートアクセスモジュール120は、対応するクライアント105a−105cへのSSLトンネル341a−341nに、入力フレームを関連づけるためにNAT/PATを用いたフレーム転送モジュールを使用して、プライベートネットワークに順次フレームを注入することによって、そのリクエストを許可することが可能である。
図1Aに示されるように、ネットワーク104は、あらゆるタイプのネットワークとすることができる。ネットワーク104は、企業イントラネットのようなローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットやワールドワイドウェブのようなワイドエリアネットワーク(WAN)とすることができる。ネットワーク104のトポロジは、バス、スター、またはリングネットワークトポロジであってよい。ネットワーク104およびネットワークトポロジは、本願明細書に記述される本発明のオペレーションに対応できる、ネットワークまたはネットワークトポロジのいずれかであってよい。クライアント108およびゲートウェイ340は、様々な接続を介して1つ以上のネットワーク104に接続することができる。該接続には、標準電話線、LANまたはWANリンク(例、T1、T3、56 kb、X.25、SNA、DECNET)、ブロードバンド接続(例、ISDN、Frame Relay、ATM、Gigabit イーサネット(登録商標)、イーサネット(登録商標)オーバーSONET)、および無線通信、またはそれらを組み合わせたものが挙げられる。接続は、様々な通信プロトコル(例、TCP/IP、IPX、SPX、NetBIOS、イーサネット(登録商標)、ARCNET、ファイバ分散データインターフェース(FDDI)、RS232、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、および、直接的な非同期接続)を使用して確立することができる。
本発明の一実施態様では、図1Aに示されるゲートウェイ340は、コンピューティングデバイス102a−102n間の直接的なピアツーピア接続を容易にするために使用される。例えば、クライアント105aは、ピアコンピューティングデバイス102dにアクセスするために、ゲートウェイ340とのトンネリングセッションを確立することが可能である。ゲートウェイ340は、クライアント105aが、ゲートウェイ340をトラバースせずにコンピューティングデバイス102dに直接接続できるようにするために、クライアント105aのリモートアクセスクライアント120aおよびコンピューティングデバイス102dのリモートアクセスクライアント120nによってネゴシエートする。クライアント105aとコンピューティングデバイス102dとの間のネットワーク接続が確立されると、クライアント105aは、コンピューティングデバイス102dとピアツーピア様式で通信することができる。本発明のゲートウェイ340は、環境180内に示されるコンピューティングデバイス102a−102nのいずれかの間の直接的なピアツーピア接続を容易にすることができる。一実施態様では、ゲートウェイ340は、例えば、クライアント105aとクライアント105bとの間、またはクライアント105bとクライアント105cとの間などの、クライアント105a−105nのうちのいずれかの間のピアツーピア接続を容易にすることができる。別の実施態様では、ゲートウェイ340は、例えば、コンピューティングデバイス102dと102eまたはサーバーファーム102nとの間などの、コンピューティングデバイス102d−102n間のピアツーピア接続を容易にする。他の実施態様では、ゲートウェイ340は、クライアント105a−105nのうちの1つと、コンピューティングデバイス102d−102nのうちの1つとの間のピアツーピア接続を容易にする。ゲートウェイ340を介してピアツーピア接続を容易にする技術は、図2Aおよび2Bを参照して以下に詳述する。
図1Bを参照する。本発明のリモートアクセスクライアント120は、ゲートウェイ304のないピアツーピア接続の例示的実施態様において使用することが可能である。例えば、ゲートウェイ340は、図1に示されるコンピューティングデバイス102a−102nのうちののいずれかの間のピアツーピア接続を容易にすることが可能であり、その後、コンピューティングデバイス102a−102nは、ピアツーピア様式で互いに直接通信する。他の実施態様では、任意のコンピューティングデバイス102aは、接続を容易にするゲートウェイ340を用いずに、ネットワーク104を介して、別のコンピューティングデバイス102bまたは102cに直接通信することが可能である。
図1Bの概略では、リモートアクセスクライアント120aは、1つ以上のアプリケーション338aを実行するクライアント102a上に展開することが可能である。コンピューティングデバイス102aは、ネットワーク104を通じて、コンピューティングデバイス102bおよび/またはコンピューティングデバイス102cに接続することが可能である。コンピューティングデバイス102bはまた、リモートアクセスクライアント120bも備えるピアまたはクライアントコンピューティングデバイスであってよい。いくつかの実施態様では、リモートアクセスクライアント120aおよび120bは、ネットワーク104を介して互いに通信することが可能であり、アプリケーション338aが、ウェブベースまたはクライアント/サーバーアプリケーションのようなアプリケーション338bに通信するように、互いに連携して機能することが可能である。他の実施態様では、リモートアクセスクライアント120aは、リモートアクセスクライアント120を実行しないサーバーであってよいコンピューティングデバイス120cと通信することが可能である。
図1Cは、クライアント105からネットワーク104にネットワークパケットをルーティングするためのリモートアクセスクライアントを有するシステムを示す、ブロック図を示す。概略的に、システムは、アプリケーションまたはユーザースペースとも称される、ユーザーモード332を含むオペレーティングシステムを有するコンピューティングデバイス102(本願明細書では、クライアント105と称する)と、カーネルまたはシステムレベルスペースとも称される、カーネルモード334と、を含む。クライアント105は、一実施態様では、ユーザーモード332で動作することが可能な、エージェント326を実行する。クライアント105はまた、一実施態様では、カーネルモードまたはカーネル空間334で実行することが可能な、フィルタ322も実行する。一実施態様では、フィルタ322およびエージェント326は、ネットワークを介してパケットをルーティングするための、または本願明細書に記述される本発明のオペレーションに従ってリモートアクセス接続を提供するための、リモートアクセスクライアント120を形成する。リモートアクセスクライアント120、またはエージェント326またはフィルタ322のようなその任意の部分は、ユーザーモード332またはカーネルモード334で実行することが可能である。
クライアント105はまた、当業者が認識および理解するであろう、ネットワークスタック310も有することが可能であり、開放型システム間相互接続(OSI)の通信モデルのネットワークレイヤーのような、1つ以上のネットワークレイヤーを備えることが可能である。ネットワークスタック310は、当業者が認識および理解するであろう、イーサネット(登録商標)を通じたTCP/IPプロトコルまたはIEEE 802.11のような無線プロトコルなどの1つ以上のプロトコルを備えることが可能である。さらに、ネットワークスタック310は、TCPドライバまたはネットワークレイヤードライバのような、1つ以上のレイヤーに対応する1つ以上のネットワークドライバを含むことが可能である。ネットワークドライバは、コンピューティングデバイス102のオペレーティングシステムの一部として、またはネットワークインターフェースカードあるいはコンピューティングデバイス102の他のネットワークアクセスコンポーネントの一部として、含むことが可能である。加えて、ネットワークスタック310のネットワークドライバのうちのいずれかは、本願明細書に記述される本発明の技術のうちのいずれかに対応する、ネットワークスタック310のカスタムまたは改良部分を提供するようにカスタマイズ、改良、または構成することが可能である。加えて、ネットワークスタック310のいくつかの部分はカーネルモード334で動作することが可能であり、一方で他の部分は、ネットワークスタック310のアプリケーションレイヤーのような、ユーザーモード332で実行することが可能である。
フィルタ322は、パケット取得機構365を備えることが可能であり、フィルタ322および/またはパケット取得機構365は、クライアント105のネットワークスタック310の任意のレイヤーまたはその一部分で動作するネットワークドライバのような、ネットワークドライバを含むことが可能である。フィルタ322および/またはパケット取得機構365は、ネットワークドライバインターフェース規約(NDIS)に適合するドライバ、すなわちNDISドライバを備えることが可能である。別の実施態様では、フィルタ322および/またはパケット取得機構365は、ミニフィルタまたはミニポートドライバを備えることが可能である。パケット取得機構365はまた、いくつかの実施態様では、カーネルモード334で動作することが可能である。パケット取得機構365は、フィルタ322の一部として示されているが、パケット取得機構365は、フィルタ322から分離していてもよい。加えて、フィルタ322およびパケット取得機構365は、クライアント105のネットワークスタックの異なるレイヤーまたはその一部で動作することが可能である。
フィルタ322は、パケットをフィルタリングするためのフィルタテーブルを使用することが可能である。フィルタリングテーブルは、パケット取得機構365によってインターセプトされるパケットのようなパケットに対して、どのアクションを行うべきかを決定するために使用される。フィルタ322は、フィルタリングテーブルに基づいて行うアクションを決定するために、ルーティング情報のようなパケットのコンテンツを調査することができる。いくつかの実施態様では、フィルタ322は、それらのコンテンツに基づいて、ネットワークパケットをドロップまたは承認することが可能である。他の実施態様では、フィルタ322は、パケットコンテンツおよび/またはフィルタリングテーブルに基づいて、エージェント326にネットワークパケットをルーティングすることが可能である。フィルタテーブルはまた、不要なパケットが破棄されることを確認するために使用することも可能である。フィルタ322は、特定の宛先アドレスへのパケットを破棄することによって、特定のプロトコルへのアクセスを拒否するために、またはリモートコンピュータからの無許可のアクセスを回避するために使用することが可能である。
いくつかの実施態様では、フィルタリングテーブルは、プライベートネットワークに関する情報を含む。他の実施態様では、クライアントコンピューティングデバイス102上のフィルタ322は、フィルタリングテーブルを受信する。これらの実施態様のうちの1つでは、フィルタ322は、アプリケーション338から、またはコンピューティングデバイス102上のエージェント326から、フィルタリングテーブルを受信する。これらの実施態様のうちの別のものでは、フィルタ322は、エージェント326から構成設定を受信して、その構成設定をフィルタリングテーブルに格納する。
パケット取得機構365は、アプリケーション338に関連付けられたネットワークパケットのような、クライアント105のネットワークトラフィックのうちのいずれかをインターセプトすることが可能である。いくつかの実施態様では、パケット取得機構365は、アプリケーション338、エージェント326、ゲートウェイ340、またはパケット取得機構365が動作するレイヤーの上位または下位で動作する他のドライバまたはレイヤーのような、クライアント105のネットワークスタック310のいずれかの部分に、ネットワークトラフィックを透過的にインターセプトする。このように、本発明は、本願明細書に記述される技術のうちのいずれかとともに使用すること、およびそれらに対応することができ、アプリケーションおよびそのアプリケーションによって使用されるプロトコルに使用することができる。一実施態様では、パケット取得機構365は、ネットワーク104および/またはゲートウェイ340を介して通信される任意のネットワークトラフックのような、送信パケットトラフィックをインターセプトする。パケット取得機構365は、エージェント325またはエージェント326のフレームモニター機構360にパケットを転送することが可能である。いくつかの実施態様では、フィルタ322は、非同期のI/O制御メッセージを介してエージェント326と通信する。これらの実施態様のうちの1つでは、パケット取得機構365は、非同期のI/O制御メッセージを介して、ゲートウェイ340の背後のプライベートネットワークに宛てたパケットを転送することが可能である。他の実施態様では、フィルタ322は、UDPパケットを介してユーザースペース334で動作するエージェント326と通信する。一実施態様では、フィルタ322は、非同期のI/O制御メッセージを介して、エージェント326ドライバから構成設定を受信する。構成設定は、フィルタ処理するネットワーク、プロトコル、またはパケットのタイプに関する情報を含むことが可能である。一実施態様では、フィルタ322は、フィルタリングテーブルに構成設定を格納する。別の実施態様では、フィルタ322は、構成設定を含むフィルタリングテーブルを受信する。
一実施態様では、フィルタ322は、検査のためにクライアント105の全ての送信パケットをインターセプトする。例えば、いくつかの実施態様では、フィルタは、クライアント105による送信のために、ユーザーモード332実行するアプリケーション338によって生成されたパケットをインターセプトする。パケットがフィルタリングテーブル内にリストされた条件を満たした場合、フィルタ322は、パケットの元の宛先ではなく、エージェント326にパケットを送信することが可能である。フィルタ322は、エージェント326にパケットを転送するために、非同期のI/O制御メッセージを使用することが可能である。フィルタ322は、ルーティングテーブルに従って、またはこれに応答して、エージェント326にパケットを送信することが可能である。
いくつかの実施態様では、エージェント326およびフィルタ322は、IOCTLライブラリおよびオペレーティングシステムのMicrosoft Windows(登録商標)ファミリによって提供されるファンクションコールのような、IOCTLのアプリケーションプログラミングインタフェース(API)を介して通信する。他の実施態様では、エージェント326とフィルタ322との間のIOCTLベースのインターフェースは、クライアント105上で実行するオペレーティングシステムの任意の部分によって提供することが可能である。I/O制御メッセージおよびIOCTLインターフェースに関して述べられているが、エージェント326およびフィルタ322は、あらゆる好適な機構および/または手段を介して通信することが可能である。
クライアント105のカーネル334は、NDISインターフェースを備えることが可能である。いくつかの実施態様では、NDISインターフェースは、複数の中間フィルタを備える。一実施態様では、パケットは、NDISインターフェースを通り、複数の中間フィルタによって調査することが可能である。フィルタ322は、NDISドライバとして提供することが可能であるが、フィルタ322はまた、カーネル334で実行するプロセス、または他のセットまたはタイプの実行可能な命令であってもよい。
本発明のエージェント326は、クライアント105上のアプリケーションスペース332またはユーザーモードで実行することが可能である。他の実施態様では、エージェント326は、カーネルモード334で動作する。いくつかの実施態様では、エージェント326は、フィルタ322からパケットを受信するための機能を提供する。他の実施態様では、エージェント326は、受信したパケットにポリシーを提供するための機能を提供する。さらに別の実施態様では、エージェント326は、ゲートウェイ340へのSSLトンネルを管理するための機能を提供する。さらに他の実施態様では、エージェント326は、ゲートウェイ340へのパケットを暗号化して送信するための機能を提供する。エージェント326は、フレームモニター機構360を備えることが可能である。フレームモニター360は、受信したパケットにポリシーを適用するためのポリシーおよびロジックを含むことが可能である。エージェント326は、フレームモニター360が行うポリシーベースの決定に応答するゲートウェイ340に、パケットを送信することが可能である。
いくつかの実施態様では、フレームモニター360は、パケットの送信時に、クライアント105の状態またはエンドポイントを判断するために、ポリシーを適用することが可能である。他の実施態様では、フレームモニター360は、パケットを生成したアプリケーション338を識別することが可能である。これらの実施態様にいくつかでは、識別されたアプリケーション338に応答するゲートウェイ340にパケットを送信するために、ポリシーベースの決定を行うことが可能である。別の実施態様では、フレームモニター360は、識別されたアプリケーションが実際にパケットを生成したことを確認するために、パケットにチェックサムを行うことが可能である。
他の実施態様では、パケット取得機構365は、フィルタ322の代わりに、またはこれに加えてエージェント326内に含めることが可能である。このように、エージェント326は、ネットワークトラフィックをインターセプトすることが可能である。パケット取得機構365は、アプリケーション338に関連付けられたネットワークトラフィックのような、クライアント105の受信および/または送信パケットを、インターセプト、フック、または取得するために、任意のフッキングのアプリケーションプログラミングインタフェース(API)を使用することが可能である。
一実施態様では、TCP接続は、図1Bのコンピューティングデバイス102c、または図1Aのゲートウェイ340のような、ターゲットコンピューティングデバイスにIPパケットを送信するために、クライアント105上で実行するアプリケーション338によって開始される。リモートアクセスクライアント120は、アプリケーション338によって生成されるIPパケットをインターセプトまたは取得することが可能である。リモートアクセスクライアント120は、アプリケーション338にTCP確認応答パケットを送信して、アプリケーション338によって開始されたTCP接続を終了させることが可能である。次いで、リモートアクセスクライアント120は、第2のコンピューティングデバイス102cまたはゲートウェイ340への第2のTCP接続を作成して、この第2のTCP接続を介して、取得したIPパケットを送信する。いくつかの実施態様では、リモートアクセスクライアント120は、取得したIPパケットをバッファに格納することが可能である。これらの実施態様では、リモートアクセスクライアント120は、第2のコンピューティングデバイス102cへの第2のTCP接続を介して、バッファリングしたIPパケットを送信することが可能である。取得したIPパケットをバッファに格納することによって、ネットワーク接続の混乱時のパケットの保護が可能になる。
一実施態様では、取得したIPパケットを受信すると、ゲートウェイ340は、図1Aにあるような、ゲートウェイ340とターゲットコンピューティングデバイスとの間の第3のTCP接続を作成することが可能である。ゲートウェイ340は、ポートマップドネットワークアドレス変換(NAT)テーブルを保持することが可能であり、これによって、ゲートウェイ340は、ターゲットコンピューティングデバイス102dから、クライアント105上でIPパケットを生成したアプリケーション338によって監視されるポートに、応答パケットを送信することが可能となる。クライアント105は、ゲートウェイ3400のパブリックネットワークアドレスとだけ通信するので、クライアント105は、ターゲットコンピューティングデバイス102dのネットワークアドレスに気付かず、ターゲットコンピューティングデバイス102dが存在するネットワークに対するセキュリティを向上させる。同様に、ゲートウェイ340がターゲットコンピューティングデバイス102dへのTCP接続を生じさせるので、ターゲットコンピューティングデバイス102dは、クライアント105のアドレス情報を受信せず、クライアント105およびそれが存在するネットワークが保護される。加えて、ゲートウェイ340がIPパケットを受信するので、ゲートウェイ340は、IPパケットをターゲットコンピューティングデバイス102dへ送信するべきかどうかに関して、ポリシーまたはセキュリティチェックに応答する判断を行うことが可能であり、ターゲットコンピューティングデバイス102dが存在するネットワークに対する保護がさらに強化される。
一実施態様では、本発明は、ゲートウェイ340の背後のプライベートの保護されたネットワークから、外部ネットワーク104上のクライアント105に送信されるパケットを保護するための方法を提供する。本発明は、ゲートウェイ340にネットワークアドレス変換(NAT)機能を提供することによって、プライベートネットワークからクライアント105を分離できるようにする。NATを使用するVPNゲートウェイは、クライアント105による直接的なレイヤー2アクセスからプライベートネットワークを保護するために、クライアント105のIPアドレスのなりすましを提供する。
一側面では、エージェント326、フレームモニター360、フィルタ322、およびパケット取得機構365のようなリモートアクセスクライアント120の任意の部分、またはそれらの任意の部分は、ソフトウェア、ASICまたはFPGAのようなハードウェア、またはソフトウェアおよび/またはハードウェアを組み合わせたものを備えることが可能である。いくつかの実施態様では、リモートアクセスクライアント120の複数の部分を、クライアント105上の1つ以上のブレードを介して提供することが可能である。
リモートアクセスクライアント120は、エージェント326およびフィルタ322のような複数のコンポーネントで示されているが、当業者は、本願明細書に記述されたリモートアクセスクライアント120のオペレーションおよび機能は、単一の機構または単一のコンポーネントにおいて実行することが可能であることを認識および理解されよう。例えば、いくつかの実施態様では、リモートアクセスクライアント120のオペレーションおよび機能は、アプリケーション338内に含むことが可能である。一実施態様では、例えば、リモートアクセスクライアント120の機能およびオペレーションは、単にエージェント326として提供される場合があり、別の実施態様では、単にフィルタ322のようなネットワークドライバとして提供される場合がある。
いくつかの実施態様では、リモートアクセスクライアント120、またはエージェント326、フレームモニター360、フィルタ322、およびパケット取得機構365のような、その任意の部分は、アプリケーション、モジュール、サービス、コンピュータプログラム、ソフトウェアコンポーネント、ウェブサービス、ウェブコンポーネント、ライブラリ、機能、プロセス、タスク、スレッド、または本願明細書に記述されるような本発明の機能を実行するように構成されて、これを実行でき、ユーザーモード332および/またはカーネルモード334の任意の部分またはその組み合わせにおいて動作することが可能な、あらゆるタイプおよび/または形態の実行可能な命令を含むことが可能である。
図1A乃至1Cに示されるように本発明のリモートアクセスクライアント120を展開し、通信するための種々の方法で使用することが可能であり、またゲートウェイ340を介して、またはピアコンピューティングデバイス間を直接介するなどして、他のコンピューティングデバイスへのネットワークを通じて、リモートアクセスを提供することが可能である。これらの種々の環境では、リモートアクセスクライアント120は、以下に詳述するような、本発明の1つ以上の最適化技術を実施するために使用することが可能である。例えば、リモートアクセスクライアント120は、VoIP、デスクトップシェアリング、または図1A乃至1Cの例示的環境のいずれかにおけるウェブ会議のような、リアルタイムデータ通信を最適化するために使用することが可能である。
図1A乃至1Cの例示的実施態様では、クライアント105のうちのいずれか、サーバー、またはゲートウェイ340のような、コンピューティングデバイス102a−102nは、Hewlett−Packard社(Palo Alto、California)またはDell社(Round Rock、TX)が製造するその種のパーソナルコンピュータまたはコンピュータサーバーのような、あらゆるタイプおよび/または形態のコンピューティングデバイスとして提供することが可能である。図1Dおよび1Eは、本発明の実施態様を実施するのに有用なコンピューティングデバイス102のブロック図を示す。図1Dおよび1Eに示されるように、各コンピューティングデバイス102は、中央演算処理装置102と、メインメモリユニット104と、を含む。図1Dに示されるように、標準的なコンピューティングデバイス102は、視覚的表示装置124、キーボード126、および/またはマウスのようなポインティングデバイス127を備えることが可能である。各コンピューティングデバイス102はまた、1つ以上の入出力デバイス130aおよび130b(概して、参照番号130で示される)、および中央演算処理装置102と通信するキャッシュメモリ140のような、更なる任意の要素を含むことも可能である。
中央演算処理装置102は、プロセス命令がメインメモリユニット104から取り込まれる命令に応答して処理を行う任意のロジック回路である。多くの実施態様では、中央演算処理装置は、次のようなマイクロプロセッサユニットによって提供される:8088、80286、80386、80486、Pentium(登録商標)、Pentium(登録商標) Pro、Pentium(登録商標) II、Celeron、Xeonプロセッサ(これらは全て、Intel社(Mountain View、California)によって製造される);68000、68010、68020、68030、68040、PowerPC601、PowerPC604、PowerPC604e、MPC603e、MPC603ei、MPC603ev、MPC603r、MPC603r、MPC603p、MPC740、MPC745、MPC750、MPC755、MPC7400、MPC7410、MPC7441、MPC7445、MPC7447、―MPC7450、MPC7451、MPC7455、MPC7457プロセッサ(これらは全て、Motorola社(Schaumburg、Illinois)によって製造される);Crusoe TM5800、Crusoe TM5600、Crusoe TM5500、Crusoe TM5400、Efficeon TM8600、Efficeon TM8300、またはEfficeon TM8620プロセッサ(Transmeta社(Santa Clara、California)によって製造される);RS/6000プロセッサ、RS64、RS64II、P2SC、POWER3、RS64III、POWER3−II、RS64IV、POWER4、POWER4+、POWER5、またはPOWER6プロセッサ(これらは全て、International Business Machines社(White Plains、New York)によって製造される);または、AMD Opteron、AMD Athlon64FX、AMD Athlon、またはAMD Duronプロセッサ(Advanced Micro Devices社(Sunnyvale、California)によって製造される)。コンピューティングデバイス102は、上述のプロセッサのうちのいずれか、または本願明細書に記述される動作が可能な他のプロセッサに基づくことが可能である。
メインメモリユニット104は、データを格納することができ、あらゆる格納場所にマイクロプロセッサ100が直接アクセスできるようにする、1つ以上の次のようなメモリチップとすることが可能である:スタティックRAM(SRAM)、バーストSRAMまたはSynchBurst SRAM(BSRAM)、ダイナミックRAM(DRAM)、高速ページモードDRAM(FPM DRAM)、キャッシュ内蔵型高速DRAM(EDRAM)、拡張データ出力RAM(EDO RAM)、拡張データ出力DRAM(EDO DRAM)、バースト拡張データ出力DRAM(BEDO DRAM)、キャッシュ内蔵型高速DRAM(EDRAM)、同期型DRAM(SDRAM)、JEDEC SRAM、PC100 SDRAM、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、SyncLinc DRAM(SLDRAM)、ダイレクトラムバス DRAM(DRDRAM)、または強誘電性RAM(FRAM)。メインメモリ104は、上述のメモリチップのうちのいずれか、または本願明細書に記述される動作が可能な他の利用可能なメモリチップに基づくことが可能である。図1Eに示される実施態様では、プロセッサ100は、システムバス150(以下に詳述する)を介してメインメモリ104と通信する。図1Eは、プロセッサがメモリポート103を介してメインメモリ104と直接通信する、コンピューティングデバイス102の一実施態様を示す。例えば、図1Eでは、メインメモリ104は、DRDRAMであってよい。
図1Dおよび1Eは、メインプロセッサ100が第2のバス(バックサイドバスと称することもある)を介してキャッシュメモリ140と直接通信する、実施態様を示す。他の実施態様では、メインプロセッサ100は、システムバス150を使用してキャッシュメモリ140と通信する。キャッシュメモリ140は、一般にメインメモリ104よりも応答時間が速く、一般にSRAM、BSRAM、またはEDRAMによって提供される。
図1Dに示される実施態様では、プロセッサ100は、ローカルシステムバス150を介して種々の入出力デバイス130と通信する。種々のバスは、入出力デバイス130のうちのいずれかに中央演算処理装置102を接続するために使用することが可能であり、VESA VLバス、ISAバス、EISAバス、マイクロチャネルアーキテクチャ(MCA)バス、PCIバス、PCI−Xバス、PCI−Expressバス、またはNuBusが挙げられる。入出力デバイスがビデオディスプレイ124である実施態様に関して、プロセッサ100は、アドバンストグラフィックポート(AGP)を使用して、ディスプレイ124と通信することが可能である。図1Eは、メインプロセッサ100が、HyperTransport、RapidI/O、またはInfiniBandを介して、入出力デバイス130bと直接通信する、コンピュータ102の一実施態様を示す。図1Eはまた、プロセッサ100が、入出力デバイス130bと直接通信しながら、ローカルインタコネクトバスを使用して入出力デバイス130aと通信するような、ローカルバスおよび直接通信を混合した、一実施態様も示す。
コンピューティングデバイス102は、3.5インチ、5.25インチディスクのようなフロッピディスク、またはZIPディスクを受けるためのフロッピディスクドライブ、CD−ROMドライブ、CD−R/RWドライブ、DVD−ROMドライブ、様々なフォーマットのテープドライブ、USBデバイス、ハードドライブ、または本発明に関するリモートアクセスクライアントソフトウェア120のようなソフトウェアおよびプログラムをインストールするのに好適な他のデバイスのような、あらゆる好適なインストールデバイス116に対応することが可能である。
コンピューティングデバイス102は、オペレーティングシステムおよび他の関連するソフトウェアを格納するために、また本発明のリモートアクセスクライアント120に関連するあらゆるプログラムのような、アプリケーションソフトウェアプログラムを格納するために、1つ以上のハードディスクドライブまたは独立した複数のディスクからなる冗長配列のような、ストレージデバイス128をさらに備えることが可能である。状況に応じて、インストールデバイス118のうちのいずれかを、ストレージデバイス128として使用することも可能である。加えて、オペレーティングシステムおよびプロキシソフトウェア120は、例えば、knoppix.netからのGNU/Linuxディストリビューションとして利用可能な、GNU/Linux用の起動可能なCDであるKNOPPIX(登録商標)のような起動可能なCDなどの、起動可能なメディアから実行することができる。
さらに、コンピューティングデバイス102は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、または、これに限定されないが、標準電話線、LANまたはWANリンク(例、802.11、T1、T3、56kb、X.25)、ブロードバンド接続(例、ISDN、Frame Relay、ATM)、無線通信、または上述の全てまたはいずれかを組み合わせたものを含む、様々な接続を介したインターネットにインターフェースするためのネットワークインターフェース118を備えることが可能である。ネットワークインターフェース118は、内蔵ネットワークアダプタ、ネットワークインターフェースカード、PCMCIAネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、USBネットワークアダプタ、モデム、または本願明細書に記述された通信およびオペレーションが可能なあらゆるタイプのネットワークに、コンピューティングデバイス102をインターフェースするのに好適な他のデバイスを備えることが可能である。
様々な入出力デバイス130a−130nを、コンピューティングデバイス102内に存在させることが可能である。入力装置には、キーボード、マウス、トラックパッド、トラックボール、マイクロホン、および描画タブレットが挙げられる。出力装置には、ビデオディスプレイ、スピーカ、インクジェットプリンタ、レーザープリンタ、および昇華型プリンタが挙げられる。入出力デバイスは、図1Dに示されるように入出力コントローラ123によって制御することが可能である。入出力コントローラは、キーボード126、およびポインティングデバイス127(例、マウス、光ペン)のような、1つ以上の入出力デバイスを制御することが可能である。さらにまた、入出力デバイスはまた、コンピューティングデバイス102にストレージ128および/またはインストールメディア118を提供することも可能である。さらに別の実施態様では、コンピューティングデバイス102は、Twintech Industry社(Los Alamos、California)によって製造される一連のデバイスであるUSBフラッシュドライブのような、携帯型のUSBストレージデバイスを受けるために、USB接続を提供することが可能である。
更なる実施態様では、入出力デバイス130は、USBバス、Apple Desktop Bus、RS−232シリアル接続、SCSIバス、FireWireバス、FireWire 800バス、イーサネット(登録商標)バス、AppleTalkバス、Gigabitイーサネット(登録商標)バス、非同期転送モードバス、HIPPIバス、スーパーHIPPIバス、SCI/LAMPバス、FibreChannelバス、またはシリアルアタッチドSCSIバスのような、システムバス150と外部通信バスとの間のブリッジ170とすることが可能である。
図1Dおよび1Eに示される種類のコンピューティングデバイス102は、一般にオペレーティングシステムの制御下で動作し、タスクのスケジューリングおよびシステムリソースへのアクセスを制御する。コンピューティングデバイス102は、マイクロソフト(登録商標)ウィンドウズ(登録商標)オペレーティングシステムのバージョンのうちのいずれか、異なるリリースのUnix(登録商標)およびLinuxオペレーティングシステム、Machintoshコンピュータ用のMacOS(登録商標)のバージョンのうちのいずれか、あらゆる内蔵オペレーティングシステム、あらゆるリアルタイムオペレーティングシステム、あらゆるオープンソースオペレーティングシステム、あらゆる専用のオペレーティングシステム、モバイルコンピューティングデバイス用のオペレーティングシステム、または本願明細書に記述されたコンピューティングデバイス上で実行してオペレーションを行うことができる他のオペレーティングシステムのような、あらゆるオペレーティングシステムを実行することができる。標準的なオペレーティングシステムには、次のものが挙げられる:WINDOWS(登録商標)3.x、WINDOWS(登録商標)95、WINDOWS(登録商標)98、WINDOWS(登録商標)2000、WINDOWS(登録商標) NT3.51、WINDOWS(登録商標) NT4.0、WINDOWS(登録商標) CE、およびWINDOWS(登録商標) XP(これらは全て、Microsoft社(Redmond、Washington)によって製造される);MacOS(Apple Computer社(Cupertino、California)によって製造される);OS/2(Internatinal Business Machines社(Armonk、New York)によって製造される);および、特にLinux(Caldera社(Salt Lake City、Utah)によって配信される自由に利用できるオペレーティングシステム、Java(登録商標)、またはUnix(登録商標)。
他の実施態様では、コンピューティングデバイス102は、デバイスと一貫性のある異なるプロセッサ、オペレーティングシステム、および入力装置を備えることが可能である。例えば、一実施態様では、コンピュータ102は、Palm社によって製造されるZire71携帯情報端末である。本実施態様では、Zire71は、PalmOSオペレーティングシステムの制御下で動作し、5ウェイナビゲータデバイスとともに、スタイラス入力装置を備える。
さらに、コンピューティングデバイス102は、あらゆるワークステーション、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、サーバー、ハンドヘルドコンピュータ、携帯電話、他のコンピュータ、または通信することができ、本願明細書のオペレーションを行うに十分なプロセッサ能力およびメモリ容量を有する他の形態のコンピューティングまたは通信デバイスとすることができる。
一側面では、本発明は、図1A乃至1Cの例示的環境のうちのいずれかに示されるような、コンピューティングデバイス間の通信を最適化するための種々の技術の提供に関する。本発明は、スタンドアロンまたは任意の組み合わせにおいて、実施することが可能な以下の技術を提供する:1)ピアツーピア経路最適化、2)不可逆プロトコルを介した通信のために構成されたパケットの可逆プロトコルを介した通信、3)暗号化を補うために最大送信単位(MTU)を調整することによるネットワークのフラグメンテーションの低減、4)クライアント側のアプリケーション認識ネットワーク通信の優先順位付け、および5)デバイスのネットワークの混乱からの保護。ピアツーピア経路最適化技術は、図2Aおよび図2Bを参照して以下に説明する。不可逆プロトコルを介した通信のために構成されたパケットの可逆プロトコルを介した通信のための技術は、図3Aおよび3Bを参照して説明する。MTU調整技術は、図4を参照して説明する。クライアント側のアプリケーション認識ネットワーク通信の優先順位付けは、図5Aおよび5Bを参照して説明する。ネットワークの混乱からの保護は、図6Aおよび6Bを参照して説明する。
一側面では、本発明は、図1Aに示されるゲートウェイ340のような、ゲートウェイを介して第2のコンピューティングデバイスにアクセスする第1のコンピューティングデバイスの間のピアツーピア経路最適化技術の提供に関する。ピアツーピアルーティング技術は、ゲートウェイを介して通信セッションを確立する、または確立しようとする、コンピューティングデバイス間のより最適かつ直接的な通信を提供する。本発明の実施例の例示的方法260は、図2Aの例示的環境200を考慮して以下に説明する。概略的に、環境200は、10.10.10.XXXの範囲のIPアドレスを有するネットワークのような、プライベートネットワークへのリモートアクセス接続を提供する、ゲートウェイ340を備える。プライベートネットワークに関連したゲートウェイ340は、プライベートネットワーク上の通信のためのIPアドレス10.10.10.2を割り当てておくことが可能である。このプライベートネットワークは、サーバー102cを備えることが可能である。また、プライベートネットワークは、あらゆるタイプおよび/または形態のVoIP電話のような通信デバイス210cを備える。通信デバイス210cには、プライベートネットワークにIPアドレス10.10.10.100が割り当てられる。
一実施態様では、サーバー102は、シグナリングサーバーを備え、第1のコンピューティングデバイス102aと第2のコンピューティングデバイス102bとの間などの、コンピュータデバイス間の通信セッションを確立するための、あらゆるタイプおよび/または形態のシグナリングサービスを提供することが可能である。一実施態様では、サーバー102cは、セッション開始プロトコル(SIP)に対応する。SIPは、ビデオ、音声、チャット、ゲーム、および仮想現実のようなマルチメディア要素を伴う、双方向のユーザーセッションを開始するためのインターネット技術特別調査委員会(IETF)の標準プロトコルである。一実施態様では、SIPは、開放型システム間相互接続(OSI)の通信モデルのアプリケーションレイヤーにおいて機能する。いくつかの実施態様では、第1のコンピューティングデバイス102aは、シグナリング経路220を介して、シグナリングサーバー102cに対して、SIPプロトコルを介するなどの、シグナリングを介してセッションを開始する。一実施態様では、ゲートウェイ340とともにシグナリングサーバー102cは、電話210aと210bとの間のVoIP通信セッションのためのような、第1のコンピューティングデバイス102aと第2のコンピューティングデバイス102bとの間のメディア経路225を確立するために使用される。
環境200の第1のコンピューティングデバイス102aは、接続341aを通じてネットワーク104を介してゲートウェイ340にアクセスし、ファイアウォール205aをトラバースする、プライベートまたはパブリックのネットワークの一部であってよい。ファイアウォール205aは、パブリックネットワークへのアクセスおよびトラバースを提供し、IPアドレス24.24.24.100を割り当てている。第1のコンピューティングデバイス102aは、VoIP通信デバイスまたは他のリアルタイムデータ通信デバイスのような、通信デバイス210aと通信するか、これにインターフェースされるか、または接続することが可能である。第2のコンピューティングデバイス102bは、プライベートネットワークの一部とすることが可能であり、IPアドレス192.168.20.20を割り当てている。加えて、第2のコンピューティングデバイス102bは、ソフトウェアベースのVoIP通信デバイスまたはプログラムのような、ソフトウェアベースの通信デバイス210bを備えることが可能である。第2のコンピューティングデバイス102bは、接続341bを通じてネットワーク104を介して、パブリックネットワークのIPアドレス216.216.10.10を有するファイアウォール205bをトラバースして、ゲートウェイ340にアクセスすることが可能である。ファイアウォール205aおよび205bは、NATファイアウォールのような、当業者に公知のあらゆるタイプおよび/または形態のファイアウォールであってよい。
図2Aの第1のコンピューティングデバイス102aおよび第2のコンピューティングデバイス102bは、本発明のリモートアクセスクライアント120を備え、これを使用して環境200内にアドホックのピアツーピア仮想ネットワーク接続を提供する。ゲートウェイ340への、SSL VPN接続のような、トンネルおよび仮想プライベート接続の保持に加えて、本発明のリモートアクセスクライアント120はまた、到達を試みているピアへの、SSL VPN接続のような、直接的なアドホック接続を確立するために、ロジック、機能、およびオペレーションも有する。図2Aを考慮して、図2Bの例示的方法260は、本発明の一例示的実施態様において、ピアツーピアの安全な通信セッションが、メディア経路225に対してどのように確立されるのかを説明するために使用する。方法260で示すように、本発明のピアツーピアルーティング技術は、より良好な音声品質を提供し、他のリアルタイムデータ通信とともにVoIP通信に関連する待ち時間を減じる。
例示的方法260の概略では、ステップ262で、コンピューティングデバイス102aおよび102bは、ゲートウェイ340とのトンネリングセッションを確立する。ステップ264で、第1のコンピューティングデバイス102aは、シグナリングサーバー102bへのシグナリング経路220を介してシグナリングプロトコルを使用して、ゲートウェイ340を介して第2のコンピューティングデバイス102bへのセッションを開始する。セッションは、第1のコンピューティングデバイス102aと通信する通信デバイス102aによって開始することが可能である。ステップ266で、シグナリングサーバー102cは通信セッションを設定し、ステップ268で、第2のコンピューティングデバイス102bの第1のネットワーク識別子を有する第1のコンピューティングデバイス102aを提供する。第1のネットワーク識別子は、ゲートウェイ340によってトンネル341bを経て確立されたIPアドレスに基づいた、第2のコンピューティングデバイス102bの、ホスト名またはIPアドレスのような、ネットワークアドレスを含む。ステップ270で、第1のコンピューティングデバイス102aは、接続または通信セッションを確立するために、第1のネットワーク識別子を使用して、第2のコンピューティングデバイス102bへ通信する。
更なる概略では、ステップ272で、ゲートウェイ340は、第1のコンピューティングデバイス102aによって通信をインターセプトし、第1のコンピューティングデバイス102aに第2のコンピューティングデバイス102bの第2のネットワーク識別子を提供する。第2のネットワーク識別子は、第2のコンピューティングデバイス102bの最後の公知のパブリックIPアドレスのような、第1のコンピューティングデバイス102aが直接または公的にアクセス可能な、第2のコンピューティングデバイス102bのIPアドレスまたはホスト名を含む。ステップ274で、一実施態様では、ゲートウェイ340は、第2のコンピューティングデバイス102bが、ファイアウォール205bを介して第2のコンピューティングデバイス102bへ接続するように、第1のコンピューティングデバイス102aのスイマーセッションを確立することをリクエストするために、第2のコンピューティングデバイス102bへ通信する。いくつかの実施態様では、ゲートウェイ340は、ステップ276で、第1のコンピューティングデバイス102aおよび第2のコンピューティングデバイス102bの暗号鍵をネゴシエートまたは提供することが可能である。ステップ278で、第1のコンピューティングデバイス102aは、第2のコンピューティングデバイス102bへの直接接続、通信セッション、またはメディア経路225を確立する。他の実施態様では、ステップ280で、第1のコンピューティングデバイス102aおよび/または第2のコンピューティングデバイス102bは、通信を許可する前に、他のコンピューティングデバイスが受信した暗号鍵を照合する。
例示的ステップ262のいくつかの実施態様では、コンピューティングデバイス102aおよび102bは、あらゆるタイプおよび/または形態のトンネリングまたはゲートウェイプロトコルのような、あらゆる好適な手段および/または機構によって、ゲートウェイ340との接続を確立することが可能である。いくつかの実施態様では、ゲートウェイ340への接続341aおよび341bは、仮想プライベートネットワーク接続を形成することが可能であり、他の実施態様では、SSLまたはTLSを使用して、図2に示される10.10.10.XXXの範囲のIPアドレスで識別されるプライベートネットワークのような、プライベートネットワークへの安全な通信を提供する。一実施態様では、コンピューティングデバイス102aおよび102bは、パブリックネットワークを介してファイアウォール205aおよび205bをトラバースすることによってゲートウェイ340へ接続するが、別の実施態様では、コンピューティングデバイス102aおよび102bは、プライベートネットワークを介してゲートウェイ340に接続することが可能であり、ファイアウォール205aおよび205bをトラバースしなくてよい。当業者は、コンピューティングデバイス102aおよび102bは、ゲートウェイ340に接続して通信することが可能な、様々な方法を認識および理解されよう。
例示的ステップ264で、一実施態様では、ハードIP電話のような通信デバイス210aは、ソフトIP電話のような通信デバイス210bに、通話のような通信セッションを開始する。いくつかの実施態様では、通信デバイス210aは、通信デバイス210bの内線を指示することによって通話を開始する。通信デバイス210aが通信セッション開始するとき、通信セッションまたはメディアセッションを確立するためのこの開始、指示、またはリクエストを、SIPプロトコル、専用のシグナリングプロトコル、またはシグナリングに好適な他のタイプのプロトコルを介して、シグナリングサーバー102aに送信する。信号は、シグナリング経路220を介して、ゲートウェイ230へのトンネリングセッション341を介して通信され、ゲートウェイ340の背後のプライベートネットワークのイントラネット経路を介してシグナリングサーバー102cに到達する。
方法260の例示的実施態様は、VoIPまたは通信シグナリングおよびセッションを考慮して説明しているが、当業者は、本発明を、あらゆるタイプおよび/または形態の通信セッション、リアルタイムまたはビデオ、音声、チャット、ゲーム、および仮想現実のようなマルチメディア要素を伴う双方向のユーザーセッションのような、他のセッションを開始するために使用することが可能であることを認識および理解されよう。このように、通信デバイス210aおよび210b、シグナリング/信号経路220、およびシグナリングサーバー120aは、通信セッションのタイプおよび/または形態に対応するデバイス、シグナリング、プロトコル、および通信のタイプおよび/または形態を相応かつ適切に含むことが可能である。
例示的ステップ266のいくつかの実施態様では、シグナリングサーバー102cは、あらゆるタイプおよび/または形態の通信セッションを設定することが可能であり、一実施態様では、シグナリングサーバー102cは、通信デバイス210aによって開始されるVoIP通話のような、通信セッション設定する。通信または他のメディアセッションを設定するとき、シグナリングサーバー102cは、ステップ270で、開始通信デバイス210aおよび/または第1のコンピューティングデバイス102aに命令、リクエスト、または通信を行って、特定のネットワークアドレスを介してピア通信デバイス210bへの交信、シグナリング、接続、または通信を行う。いくつかの実施態様では、開始通信デバイス210aに対するシグナリングサーバー102cによって提供されるネットワークアドレスは、ゲートウェイ340の背後のプライベートネットワーク上のコンピューティングデバイス102bのネットワークアドレス(すなわち10.10.10.XXX)を含む。一実施態様では、ピア通信デバイス210bのネットワークアドレスは、企業プライベートネットワークアドレスを含むことが可能である。
この点で、そのVPNプライベートIPアドレスを介してピア通信デバイス210bと交信する代わりに、例示的方法260では、リモートアクセスクライアント120を介して、通信デバイス210aおよび/または第1のコンピューティングデバイス102aが、ピアまたはターゲット通信デバイス210b、または第2のコンピューティングデバイス102bと直接交信しやすくする。本発明の技術は、いずれかのVoIPプロトコルに固有のものではなく、コンピューティングデバイス間のあらゆるピアツーピア接続のような、他のプロトコルに適用することが可能である。本発明の技術は、クライアントが接続しようとしているリソースのIPアドレスを通じて判断を行う。
ステップ270で、通信デバイス210aが、ステップ268でシグナリングサーバー120cによって提供された、ソフトIP電話のVPNプライベートIPアドレスのような、第1のネットワークアドレスによって、通信デバイス210bへのデータ接続を開始するとき、ゲートウェイ340は、通信デバイス210および/または第1のコンピューティングデバイス102bに、通信デバイス210bと交信するための第2のネットワークアドレスを提供するために通信をインターセプトする。一実施態様では、ゲートウェイ340が介在して、ハードIP電話210aのトラフィックを容易にする第1のコンピューティングデバイスに、確立した同じVPNトンネル341aを通じて帯域外の信号を送信する。当業者は、ゲートウェイ340は、コンピューティングデバイス102bおよび/または通信デバイス210bと交信するためのネットワークアドレスが、任意の適切な手段および/または機構によって直接与えられた、通信デバイス210および/またはコンピューティングデバイス102aへ通信することが可能であることを認識および理解されよう。例えば、ゲートウェイ340は、第2のトンネリングセッションを介して、第1のコンピューティングデバイス102aに第2のネットワークアドレスを通信することが可能である。
いくつかの実施態様では、ゲートウェイは、ソフトIP電話210bを実行している第2のコンピューティングデバイス102bが、ゲートウェイ340と交信するために使用した、最後の公知のパブリックIPアドレスを第1のコンピューティングデバイス102aに示す。他の実施態様では、このパブリックIPは、第2のコンピューティングデバイスの実際のIPアドレスではなく、第2のコンピューティングデバイス102bが背後にあるファイアウォール205bのIPアドレスとすることが可能である。コンピューティングデバイス210aがファイアウォール205bのパブリックIPアドレスと直接交信する場合は、ファイアウォール205bによってパケットを拒否することが可能である。これらの実施態様では、ゲートウェイ340は、コンピューティングデバイス102bに、当業者に公知である、第1のコンピューティングデバイス102aに対するスイマーセッションを確立するように命令する。フォワードホールは、第1のコンピューティングデバイス102aがそれを介してトラバースまたは戻ることができる、ファイアウォール205bにパンチされる。他の実施態様では、第1のコンピューティングデバイス102aが、ファイアウォール205bをトラバースして、第2のコンピューティングデバイス102bに接続して通信できるようにするために、あらゆる適切な手段および/または機構を使用することが可能である。
例示的方法260は、ファイアウォール205aの背後に第2のコンピューティングデバイス102nを有する、図2Aの環境200に関して説明しているが、当業者は、例示的方法260は、第2のコンピューティングデバイス102bがファイアウォール205aをトラバースせずに直接アクセスできる環境において使用できることを認識および理解されよう。このように、例示的方法260は、第1のコンピューティングデバイス102aが、第2のコンピューティングデバイス102bに接続するためのスイマーセッションまたは他の機構を提供するように、ステップ274で命令する必要がない。
いくつかの実施態様では、ゲートウェイ340は、ステップ276で、安全な通信のためのコンピューティングデバイス102aと103bとの間の暗号鍵をネゴシエートすることが可能である。コンピューティングデバイス102aおよび102bは、安全で暗号化した通信のために、および/または他のコンピューティングデバイスを認証または許可するために、この鍵を使用することが可能である。他の実施態様では、悪意のあるコンピューティングデバイスがこのオープンホールを利用していないことを確認するために、ゲートウェイ340は、ステップ276で、2つのコンピューティングデバイス102aと102bとの間の秘密鍵をネゴシエートし、それぞれのリモートアクセスクライアントは、データ通信を許可する前に、それらの鍵が一致することを確認する。例えば、スイマーセッションを確立する実施態様では、この鍵は、オープンホールに入ってくるパケットが、スイマーセッションが意図したコンピューティングデバイスからのものであることを確認する。
他の実施態様では、ゲートウェイ340は、ステップ276を行わずに、コンピューティングデバイス102aと102bとの間のピアツーピア通信セッションの安全な機構を提供する。例えば、コンピューティングデバイス102aおよび102bは、同じ企業プライベートネットワーク内に存在させることが可能であり、したがって信頼することが可能である。更なる実施態様では、秘密鍵をネゴシエートするゲートウェイ340の代わりに、コンピューティングデバイス102aおよび102bは、ピアツーピア通信のために、他のコンピューティングデバイスを認証および/または許可するための任意の適切な手段および/または機構を使用する。いくつかの実施態様では、コンピューティングデバイス102aおよび102bは、経路341を介して、またはステップ280で、ステップ278で確立されたメディア経路225を介するなどの、ゲートウェイのトンネリングセッションを介して認証および/または許可することが可能である。例えば、各コンピューティングデバイス102aおよび102bのリモートアクセスクライアント120は、あらゆるデータの接続225を通じた通信が許可される前に、確立されたメディア経路225を通じて、鍵を照合するために確認することができる。
ステップ278で、ゲートウェイ340をトラバースせずに、コンピューティングデバイス102aと102bとの間に、あらゆるタイプおよび/または形態の通信のための直接メディア経路224を確立する。いくつかの実施態様では、コンピューティングデバイス102aおよび102bのそれぞれのVPNの割り当てられたIPアドレスを使用しない代わりに、パブリックIPアドレスまたはそれらが存在するネットワークによって割り当てられたIPアドレスを使用する。本発明の技術を使用することで、コンピューティングデバイス102aおよび102bのそれぞれのリモートアクセスクライアント120は、一時的なピアツーピアSSLゲートウェイとしての機能を果たし、ゲートウェイ340を介して通信せずに、互いのSSLセッションを直接解読する。経路225を介した直接ピアツーピア通信セッションは、ゲートウェイ340を介した追加ホップを無効にする。これによって、ゲートウェイ340を介してより長い経路を使用することによる待ち時間が減じられ、図2Aに示されるVoIP通信のような、リアルタイムデータ通信の品質、性能、およびエクスペリエンスを向上させることになる。
いくつかの実施態様では、ゲートウェイ340は、コンピューティングデバイス102が、ピアツーピア通信セッションを確立しようとしたり、ゲートウェイ340を介してリソースにアクセスしようとしたりするたびに、例示的方法260の技術を自動的に実行するように構成することが可能である。他の実施態様では、ゲートウェイ340は、ソースIPアドレス、宛先IPアドレス、またはそれらを組み合わせたものに対する特定のIPアドレスの範囲に対してだけ、例示的方法260の技術を自動的に実行するように構成することが可能である。更なる実施態様では、ゲートウェイ340は、アプリケーションおよび/またはゲートウェイ340を介してアクセスされるリソースのタイプに基づいて、この技術を実行することが可能である。例えば、一実施態様では、ゲートウェイ340は、あらゆるタイプのデスクトップまたはゲートウェイ340を介してスクリーンデータを共有するスクリーン共有アプリケーションに対して、この技術を自動的に実行することが可能である。他の実施態様では、ゲートウェイ340は、あらゆるタイプおよび/または形態のビジネスルール、アクセス制御ポリシー、または他の構成、アルゴリズム、および統計に基づいて、この技術の実行を決定することが可能である。例えば、ゲートウェイ340は、ピアコンピューティングデバイス間のpingベースのタイミング統計に基づいて、この技術を実行することが可能である。ピアコンピューティングデバイスが、ゲートウェイ340よりも互いに近接している場合、ゲートウェイは、ピアツーピアルーティング技術を実行する。当業者は、本発明のゲートウェイが、本発明のピアツーピアルーティング技術を実行するように適応させるか、または構成することが可能である様々な方法を認識および理解されよう。
一側面では、本発明は、不可逆プロトコルを介して構成された可逆プロトコルを介した通信を可能にすることに関する。図3Bに示される一技術では、本発明は、例えばTCPまたはSSL/TCP接続を介したUDPを通じてRTPを通信するような、可逆または信頼できるプロトコルを介して不可逆または信頼できないプロトコルを通信するときに、疑似確認応答技術を使用する。図3Cに示される別の技術では、本発明は、不可逆プロトコルを介して送信するように構成された可逆プロトコルを介して通信するためにペイロードシフティングを使用する。当業者は、いくつかの実施態様では、本発明のこれらの技術が、UDPレベルでのトランスポートレイヤーセキュリティ(TLS)の達成を助力することを、下記の説明を考慮して認識および理解するであろう。
疑似確認応答技術を実施するための本発明の実施態様の例示的方法360を、図3Aの例示的環境300を考慮して、またさらに図1A乃至1Eを考慮して以下に説明する。概略的に、環境300は、コンピューティングデバイス102bのピアクライアント105bと通信するか、または代わりにネットワーク104を介してゲートウェイ340と通信する、コンピューティングデバイス102aのクライアント105aを備える。いくつかの実施態様では、クライアント105aがIPルーター305aおよび305bをトラバースするか、またはネットワーク104がIPルーター305aおよび305bを有することが可能である。しかし、他の実施態様では、コンピューティングデバイス102aおよび102b、およびゲートウェイ340を、同じネットワーク104上に存在させることが可能である。加えて、通信デバイス210aをクライアント105aに関連付けることが可能であり、第2の通信デバイス210bをピアクライアント105bまたはゲートウェイ340に関連付けることが可能である。
クライアント105aは第1のネットワークスタック310aを含むことが可能であり、クライアント105またはゲートウェイ340は、第2のネットワークスタック310bを備えることが可能である。ネットワークスタック3201aおよび310bは、開放型システム間相互接続(OSI)の通信モデルのあらゆるネットワークレイヤーのような、1つ以上のネットワークレイヤーを備えることが可能である。例えば、図3Aに示されるように、ネットワークスタック310aおよび310bは、当業者が公知のTCP/IPベースのネットワーク104に好適なフレームレイヤーの上位に、TCP/IP343aおよび343bの通信レイヤーの通信を含む。TCPレイヤー343aおよび343bは、信頼できるかまたは可逆プロトコルの例示的実施態様を含む。例えば、当業者が公知のTCP343aおよび343bでは、ネットワークスタック310aおよび310b、またはTCPドライバのような任意のドライバまたはその機構は、アルゴリズムおよびオペレーションを行うことが可能であり、またプロトコルの1つ以上の可逆または信頼できる特性を提供するために、ロジックまたは機能を備えることが可能である。例えば、TCP343aおよび343bに対応するために、ネットワークスタック310aおよび310bは、パケットの順序付け、パケットの再送信、パケットの受信の確認応答、フロー制御アルゴリズム、スライディングウィンドウアルゴリズム、および/またはNapleのアルゴリズム、および、当業者がTCP343aおよび343bまたは他の可逆プロトコルを考慮して認識および理解するであろう、他の信頼性に関連するオペレーションおよびアルゴリズムを行うことが可能である。
加えて、ネットワークスタック310aおよび310bは、SSLまたはSSL VPN通信をサポートするための、SSLレイヤー341aおよび341bを備えることが可能である。例えば、SSLレイヤー341aおよび341bは、リモートアクセスクライアント120間、またはリモートアクセスクライアント120とゲートウェイ340との間のゲートウェイまたはトンネリングセッションに使用することが可能である。図3Aに示されるように、ネットワークスタック310aおよび310bはまた、TCPのような可逆プロトコル343aおよび343bを通じて通信される、UDPのような不可逆プロトコル342aおよび342bに、レイヤーを提供することも可能である。いくつかの実施態様では、不可逆または信頼できないプロトコル342aおよび342bは、UDPを通じたリアルタイムプロトコル(RTP)を含むことが可能であり、音声またはオーディオの表現のような任意のタイプおよび/または形態のリアルタイムデータを有するペイロードを含むことが可能である。他の実施態様では、不可逆プロトコル342aおよび342bは、図2Aおよび2Bを参照して上述した例示的方法260を介して確立したセッションのような、確立されたVoIPセッションにおけるクライアント105aとの通信を通じて、VoIPを担送することが可能である。可逆プロトコルなどを介して信頼できる様式でパケットを獲得するよりも、ピアクライアント105bのような受信者がパケットを遅れずに獲得することのほうが重要であるので、音声のようなリアルタイムアプリケーションに、UDP342aおよび342bのような可逆プロトコルを選択することが可能である。
ネットワークスタック310aおよび310bはまた、本発明のリモートアクセスクライアント120のシム322aおよび322bを含む。シム322aおよび322bは、リモートアクセスクライアント120の任意の部分を含むことが可能であり、いくつかの実施態様では、ネットワークドライバ、ネットワークドライバインターフェース、または本願明細書に記述される本発明の疑似確認応答技術を提供するための他のネットワークレイヤー関連の機構を備えることが可能である。シム322aおよび322bは、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアを組み合わせたものを含むことが可能である。一実施態様では、シム322aおよび322bは、ネットワークパケットがTCPレイヤー343aに到達する前に、ネットワークスタックのIPレイヤーで動作することが可能である。他の実施態様では、シム322aおよび322bは、TCPレイヤー343aおよび343bで動作することが可能である。当業者は、シム322aおよび322bが、可逆プロトコルのレイヤーに含まれるか、またはこれに隣接する、ネットワークスタック310aおよび310bにおける可逆プロトコルのオペレーションのレイヤーに関連するあらゆる様式で動作することが可能であることを認識および理解されよう。
図3Bの方法で示されるような本発明の疑似確認応答技術によって、UDP342aおよび343bのような不可逆プロトコルは、TCP343aおよび343bのような可逆プロトコルを介して通信することが可能となる。TCPパケットの受信の疑似確認応答を発行するシム322aおよび322bによって、本発明の技術は、TCP343aおよび343bの例における、パケットの順位付け、パケットの再送信、フロー制御アルゴリズム、スライディングウィンドウアルゴリズム、および/またはNapleのアルゴリズムのうちのいずれかのように、可逆プロトコルの信頼性の機構、オペレーション、およびアルゴリズムを回避するか、または無効にする。このように、不可逆プロトコル342aおよび342bは、可逆プロトコル343aおよび343bを通じて通信することができるが、リアルタイムデータ通信などにおいて必要となる場合がある不可逆または信頼できない特性を保持することができる。また、この技術によって、不可逆プロトコルを安全に通信すること、またはトンネリングプロトコルを介してトラバースすること、あるいは不可逆プロトコル通信に可逆プロトコルの可逆特性を適用せずに、単にTCP/IPを介して通信できるようになる。
例示的方法360の概略では、ステップ365で、コンピューティングデバイス102aおよび102bまたはゲートウェイ340は、可逆プロトコルパケットが通信されることによって、TCP接続のような可逆プロトコルベースの接続を確立する。ステップ370で、本発明のリモートアクセスクライアント120は、可逆プロトコルパケットのペイロードが、RTPまたはUDPのような不可逆プロトコルを含むか、またはリアルタイムデータを含むことを検出することが可能である。一実施態様では、ステップ375で、例示的方法360は、ステップ367の帯域外のTLSまたはSSLセッションを介して提供される鍵のような、鍵によってペイロードを暗号化することが可能である。ステップ380で、可逆プロトコルパケットの受信の疑似確認応答は、シム322aおよび322bなどによって、ネットワークスタック310aおよび310bに通信するか、または提供することが可能である。可逆プロトコルパケットの受信の疑似確認応答の受信に応えて、ステップ385で、それぞれのネットワークスタック310aおよび310bは、可逆プロトコルの信頼できるまたは可逆特性を提供するアルゴリズムおよびオペレーションのうちの1つ以上または全てを実行しない。ステップ390で、不可逆プロトコルペイロードを有する可逆プロトコルパケットは、ネットワークスタック310aと310bとの間で通信される。
例示的方法360のステップ365で、可逆プロトコル接続は、あらゆるタイプおよび/または形態の可逆プロトコルを使用して、あらゆる適切な手段および/または機構を介して確立することが可能である。一実施態様では、クライアント105aのネットワークスタック310aは、ネットワークスタック310bを有するピアクライアント105aへの、TCPのような可逆プロトコル接続を確立する。別の実施態様では、クライアント105aのネットワークスタック310aは、ネットワークスタック310bを有するゲートウェイ340への可逆プロトコル接続を確立する。加えて、ステップ365の可逆プロトコル接続は、SSLのような保護された様式で、または仮想プライベート接続として確立することが可能である。ネットワークスタック310aおよび310bは、同じネットワークレイヤーを有するように示されているが、当業者は、ネットワークスタックが、異なるバージョンの、または異なるオペレーティングシステムおよび/またはドライバに関連付けられた、対応するレイヤーを有することが可能であること、また各ネットワークスタック310aおよび310bが、より多くのレイヤー、より少ないレイヤー、または異なるレイヤーを有することが可能であることを認識および理解されよう。
例示的ステップ360で、一実施態様では、リモートアクセスクライアント120は、パケット取得機構365などを介して、ネットワークパケットをインターセプトし、任意の好適な手段および/または機構によってネットワークパケットを調査して、ネットワークパケットのペイロードに使用されるプロトコルのタイプを判断するか、またはネットワークパケットのペイロードのコンテンツのタイプを判断する。いくつかの実施態様では、リモートアクセスクライアント120のシム322aおよび322bは、ネットワークパケットをインターセプトして調査するために使用することが可能である。一実施態様では、リモートアクセスクライアント120は、ネットワークパケットをインターセプトして、そのネットワークパケットが、任意の可逆プロトコルまたはTCPのような特定の可逆プロトコルを含んでいるかどうかを判断することが可能である。ネットワークパケットが可逆プロトコルである場合、リモートアクセスクライアント120は、ペイロードを確認してプロトコルのタイプおよび/またはデータのタイプを判断する。
一実施態様では、リモートアクセスクライアント120は、ペイロードを表す不可逆プロトコルのヘッダーの任意の部分のような、ネットワークパケットのペイロードの好適なフィールドによって、そのペイロードがプロトコルのコンテンツを有することを判断することが可能である。別の実施態様では、リモートアクセスクライアント120は、ペイロードが不可逆プロトコルを含むか、またはリアルタイムデータを含むかどうかを、ペイロードの任意のデータによって判断することが可能である。一実施態様では、リモートアクセスクライアント120は、TCPパケットがRTPまたはUDPのペイロードを含んでいることを判断し、ペイロードの暗号化を適用する。リモートアクセスクライアント120は、任意の好適な様式で提供された鍵を有するあらゆるタイプおよび/または形態の暗号化を使用して、ネットワークパケットのペイロードを暗号化することが可能である。いくつかの実施態様では、図3Aに示されるように、鍵または暗号文は、クライアント105aおよび105bまたはクライアント105aとゲートウェイとの間の帯域外のTLSセッションを介してネゴシエートされるが、対照的に他の実施態様では、セッションが最初にネゴシエートされて、同じソケットである、従来のTLSセッションがデータ通信に使用される。いくつかの実施態様では、ステップ375の暗号化は、パケット単位で行われる。別の実施態様では、暗号化は、複数のパケットに一度に行われる。
本発明の例示的方法360のステップ380で、それぞれ送受信するコンピューティングデバイス102aおよび102b、またはゲートウェイ340を備えるネットワークスタック310aおよび310bに、ネットワークパケットの受信の疑似確認応答(例、可逆プロトコルパケット)を発行、通信、または提供する。シム322aおよび322b、リモートアクセスクライアント120の任意の部分、またはネットワークスタック310aおよび310bの任意の部分は、ネットワークパケットの受信の疑似確認応答を発行することが可能である。一側面では、ネットワークパケットの受信の疑似確認応答は、ネットワークパケットの実際の受信を承認しないように通信されるものではなく、ネットワークスタック310aおよび310bに関連付けられた可逆プロトコルの可逆および信頼できる機構を回避するためのものである、という意味において擬似的である。このように、ネットワークパケットの受信の疑似確認応答は、実際のネットワークパケットの受信の確認応答と同じ形態および/またはタイプである。
いくつかの実施態様では、受信の疑似確認応答は、単一または複数のネットワークパケットを通信する前に、ネットワークスタック310aおよび310bに発行される。他の実施態様では、受信の疑似確認応答は、ネットワークパケットを通信した後だが一度に発行されるか、または受信ネットワークスタック310aおよび310bの可逆プロトコル機構が送信されたネットワークパケットに適用されないようにするなどの方法で発行される。一実施態様では、ネットワークパケットの受信の疑似確認応答は、各ネットワークパケットに発行され、別の実施態様では、通信セッションまたは可逆プロトコル接続ごとに一度発行することが可能である。さらに、当業者は、受信の疑似確認応答は、異なるオペレーティングシステムに対して、ネットワークスタック310aおよび310b内の異なる場所において行うことが可能であることを認識および理解されよう。例えば、一実施態様では、受信の確認応答は、Windows(登録商標)オペレーティングシステムのMicrosoft Familyのネットワークドライバインターフェース規約(NDIS)のドライバレベルで発行することが可能である。
例示的方法360のステップ385で、ステップ380においてネットワークパケットの受信の疑似確認応答を受信しているネットワークスタック310aおよび310bは、当該の受信に応えて、可逆プロトコルの1つ以上の可逆特性を提供する任意の1つ以上のアルゴリズムおよびオペレーションを、実行しないか、実行を止めるか、または実行しないようにすることが可能である。例えば、可逆プロトコルとしてのTCPの実施態様内に、ネットワークスタック310aおよび310bは、ネットワークパケットに関する次のいずれか1つ以上、またはTCP接続を実行しないことが可能である:パケットの順序付け、パケットの再送信、フロー制御アルゴリズム、スライディングウィンドウアルゴリズム、および/またはNapleのアルゴリズム。いくつかの実施態様では、受信の疑似確認応答は、ネットワークスタック310aおよび310bの可逆レイヤーが信頼性のアルゴリズムを用いないようにするために、パケット単位で受信しなければならない。このように、送信ネットワークスタック310aおよび310bは、どのパケットに本発明の疑似確認応答技術を適用するかを、パケット単位で決定することができる。可逆プロトコルの信頼性アルゴリズムを適用しなければならない不可逆プロトコルを含む、いくつかの可逆プロトコルのネットワークパケットが存在する場合がある。他の実施態様では、ネットワークパケットの受信の疑似確認応答は、可逆プロトコルセッションまたは接続中に受信されるあらゆる後続のパケットに対して信頼性のアルゴリズムを用いないように、可逆プロトコル接続に対して一度受信することが可能である。
ステップ390で、例示的方法360は、ネットワークスタック310aおよび310bを介して、可逆プロトコルペイロードを有する可逆プロトコルパケットを通信する。一実施態様では、可逆プロトコルパケットはステップ385の後に通信され、他の実施態様では、ステップ385の前に通信される。したがって、可逆プロトコルパケットはネットワーク内で失われるが、不可逆プロトコルのパケット要求するときに、そのパケットの再要求は行われない。
方法360の例示的実施態様は、TCPのようなネットワークパケットの受信の疑似確認応答を使用して説明しているが、可逆プロトコルのあらゆる信頼性または可逆アルゴリズムを用いないようにするために、ネットワークスタック310aおよび310bに、あらゆるタイプおよび/または形態の命令、リクエスト、または命令を通信することが可能である。いくつかの実施態様では、ネットワークスタック310aおよび310bの可逆プロトコルレイヤーは、パケット単位、セッション、または接続単位のいずれかで信頼性のアルゴリズムを使用しないようにするために、設定、フラグ、または命令を有するように適応させるか、または構成することが可能である。例えば、可逆プロトコルは、可逆プロトコルパケットのヘッダーなどに、パケットに対して信頼性を破棄または無効にすべきかどうかを示すフィールドを有することが可能である。
以下、図3Cを参照する。可逆プロトコルを介して、不可逆プロトコルに基づいて構成されたパケットを送信するために行うステップの別の実施態様を、例示的方法345によって示し、ペイロードシフティング技術とも称する。例示的方法345の概略では、ステップ348で、信頼できないトランスポートプロトコルを使用して送信される第1のパケットは、クライアント105のような第1のデバイスで受信する。ステップ350で、第1のデバイス105は、受信した第1のパケットの第1のペイロード、および第1のデバイス105と第2のデバイスとの間に確立されたTCP接続に関連する情報の第1のTCPヘッダーを含む第1のTCPパケットを作成する。第1のデバイス105は、ステップ352で、第2のデバイスに第1のTCPパケットを送信する。ステップ354で、第1のデバイス105は、信頼できないトランスポートプロトコルを使用して送信された第2のパケットを受信し、ステップ356で、受信した第2のパケット、および第1のTCPヘッダー情報の第2のペイロードを含む第2のTCPパケットを作成する。ステップ358で、第1のデバイスは、第2のデバイスから第1のペイロードの受信の確認応答を受信する前に、第2のデバイスに第2のTCPパケットを送信する。
引き続き図3Cを参照して詳述する。ステップ348で、信頼できないトランスポートプロトコルを使用して送信される第1のパケットは、第1のデバイス105で受信する。いくつかの実施態様では、UDPの不可逆プロトコルを使用してパケットを送信することを目的とする。更なる実施態様では、パケットは、UDPを通じたRDPを含む。他の実施態様では、第1のパケットは、ユーザーモード332で実行するアプリケーションプログラム338で生成する。いくつかの実施態様では、パケットは、カーネルモード334で実行するアプリケーション338で生成する。他の実施態様では、第1のパケットは、再送信のために第1のデバイス105で受信する。さらに別の実施態様では、第1のパケットは、それがネットワークスタック310aおよび310bに到達する前に、フィルタプロセス322によってインターセプトされる。フィルタプロセス322は、ユーザーモード332、またはカーネルモード334で実行することが可能である。いくつかの実施態様では、フィルタ322は、ミニドライバである。他の実施態様では、フィルタ322は、NDISドライバである。他の実施態様では、フィルタ322プロセスは、第1のパケットをインターセプトするためにフックするアプリケーションを使用する。更なる実施態様では、フックするアプリケーションは、アプリケーションプログラミングインタフェース(API)を介して実行される。一実施態様では、ネットワークパケットのフックは、ネットワークスタック310a−310nのネットワークレイヤーで生じる。
ステップ350で、第1のデバイス105は、受信した第1のパケットの第1のペイロード、および第1のデバイス105と第2のデバイスとの間に確立されたTCP接続に関連する情報の第1のTCPヘッダーを含む第1のTCPパケットを作成する。例えば、TCP接続は、一実施態様では、クライアント105とピアコンピューティングデバイス102bとの間に確立することが可能であり、別の実施態様では、クライアント105とゲートウェイ340との間に確立することが可能である。いくつかの実施態様では、第1のデバイス105は、TCPパケットが、特定のTCPポートを開くことによって、不可逆プロトコルを介して送信されるように構成されたパケットのペイロードを含むことを示す。他の実施態様では、第1のデバイス105は、TCPパケットが、TCPヘッダーにフラグを設定することによって、不可逆プロトコルを介して送信されるように構成されたパケットのペイロードを含むことを示す。TCPヘッダーは、送信元ノードに関する情報、宛先ノードに関する情報、または特にTCPパケットを識別するシーケンス番号を含むことが可能である。
ステップ352で、第1のデバイス105は、第2のデバイスに第1のTCPパケットを送信する。いくつかの実施態様では、第2のデバイスは、ゲートウェイ340であってよい。他の実施態様では、第2のデバイスは、「ピア」コンピューティングデバイス102bである。第1のTCPパケットは、例えばSSLまたはTLSを使用して、第2のデバイスに送信する前に暗号化することが可能である。
ステップ354で、第1のデバイス105は、UDPのような信頼できないトランスポートプロトコルを使用して送信される、第2のパケットを受信する。第2のパケットは、第1のパケットを生成した同じアプリケーション338から受信することが可能である。ステップ356で、第1のデバイス105は、上述のように、受信した第2のパケットおよび第1のTCPヘッダーの第2のペイロードを含む第2のTCPパケットを作成する。ステップ358で、第1のデバイス105は、次いで、第2のデバイスから第1のペイロードの受信の確認応答を受信する前に、第2のデバイスに第2のTCPパケットを送信する。いくつかの実施態様では、確認応答を第2のデバイスから受信するときに、第1のデバイス105は、パケットを送信する前にTCPヘッダー情報を更新する。他の実施態様では、第1のデバイス105は、更新されたTCPヘッダー情報を有し、第2のペイロードを有する第3のTCPパケットを作成する。第1のデバイスは、次いで第3のTCPパケットを送信する。
TCPパケットを受信すると、第2のデバイスは、必要に応じてそれを解読し、パイロードが、不可逆プロトコルを使用して送信されるように構成された1つ以上のパケットであることを判断する。第2のデバイスは、パケットを受信したポートに基づくか、またはTCPヘッダー情報内のフラグによって、これを判断することができる。判断すると、第2のデバイスは、ペイロードからTCPヘッダーを取り除いて、ペイロードを配信する。
別の側面では、本発明は、暗号化したネットワークパケットに対するパケットフラグメンテーションを減じることによって、ネットワーク通信を最適化するための、報告された最大送信単位(MTU)パラメータの調整に関する。この技術は、図3Aの例示的環境300のネットワークスタック310aおよび310bの一方または両方に適用することが可能である。上述の例示的方法360に基づいて処理される任意のネットワークパケットのような、ネットワークパケットのペイロードを暗号化することで、ペイロードのサイズを増加させる場合がある。すなわち、ネットワークパケットのサイズは、暗号化したペイロードに対する暗号化していない元のペイロードのサイズの変化を補うために増加させる場合がある。
引き続き図3Aを参照する。ネットワークスタック310aおよび310bは、イーサネット(登録商標)ベースのネットワークのようなネットワークにおいて、1つのタイプの物理的メディアを通じて送信することができる、最大のユニットのサイズを示すために、最大送信単位402aおよび402b(MTU)のパラメータを含むことが可能である。TCP/IPの実施態様では、MTU402aおよび402bは、データグラムをより小さなユニットに分解または断片化する必要のあるインターフェースを用いずに、インターネットプロトコル(IP)レイヤーのインターフェースによって送信することができる、最大のデータグラムまたはパケットを示す。MTUパラメータ402aおよび402bは、ネットワークインターフェースカードのような通信インターフェースに関連付けることが可能である。イーサネット(登録商標)のデフォルトのMTUサイズは1,500バイトであり、IEEE 802.3では1,492バイトである。当業者は、デフォルトのMTUサイズが、トークンリング、FDDI、X.25などのようなネットワーク技術に基づくものであることを認識および理解されよう。
図4を参照する。フロー図は、本発明のMTU調整方法400の例示的実施態様を示す。概略的に、ステップ405で、第1のコンピューティングデバイス102aと第2のコンピューティングデバイス102bとの間のような、コンピューティングデバイス間のセッションを確立する。ステップ410で、第1のコンピューティングデバイス102aのようなコンピューティングデバイス102のうちの1つは、暗号化したペイロードを有するネットワークパケットを検出する。ステップ415で、コンピューティングデバイス102aおよび102bは、ペイロードの暗号化した部分のサイズを補うために、ネットワークスタック310aおよび310bのMTU402aおよび402bのパラメータの設定を決定する。ステップ420で、MTU402aおよび402bのパラメータは、暗号化した部分を補うために減じられる。MTU402aおよび402bがリクエストまたは報告される場合、MTU402aおよび402bは、イーサネット(登録商標)に対する1,500のような、物理レイヤーに関連するMTUのサイズよりも小さいサイズを示す。
この技術を使用することで、ネットワーク104上のあらゆるデバイスは、ネットワークスタック310aおよび310bに従って暗号化することができ、断片化できない、減じられたMTUのサイズに基づいて、ネットワークスタック310aおよび310bに、ネットワークパケットを通信することが可能である。ネットワークパケットを暗号化する場合、イーサネット(登録商標)のような、物理的なネットワークレイヤーの媒体の実際のMTUのサイズに合わせなければならない。例えば、MTU402aおよび402bのパラメータは、イーサネット(登録商標)に対する1,500のデフォルトのMTUのサイズに設定すること、および暗号化オーバーヘッドを補うために、例えば100バイトの決定されたバイト数を減じた例示的方法400に従って設定することが可能である。ネットワークパケットは、サーバーリソースから、報告されたMTU402aおよび402bのサイズ1,400と等しいサイズを有するクライアントに送信することが可能である。ネットワークパケットは、ゲートウェイ340をトラバースして、SSLトンネルを介して暗号化することが可能であり、今度はネットワークパケットのサイズが1,475に増加する。このサイズは、イーサネット(登録商標)の物理的なメディアのMTUのサイズに合っているので、ネットワークパケットは断片化されない。
例示的方法400のステップ405で、クライアント105bまたは図2Aのゲートウェイ340のような、第1のコンピューティングデバイス102aと第2のコンピューティングデバイス102bとの間のあらゆるタイプおよび/または形態の通信セッションを確立することが可能である。いくつかの実施態様では、セッションは、第1のコンピューティングデバイス上のリモートアクセスクライアント120を使用して確立する。一実施態様では、リモートアクセスクライアント120は、SSL VPNセッションのようなゲートウェイ340によるセッションを確立するか、またはピアコンピューティングデバイス102b上の別のリモートアクセスクライアント120へのセッションを確立することが可能である。
ステップ410のいくつかの実施態様では、リモートアクセスクライアント120は、暗号化したペイロードを有するネットワークパケットを検出する。一実施態様では、パケット取得機構365は、ネットワークパケットをインターセプトし、エージェント326は、パケットが暗号化されたかどうかを判断する。しかし、フィルタ322またはフレームモニター360のような、リモートアクセスクライアント120の他の部分は、パケットが暗号化されたかどうかを判断することが可能である。一実施態様では、ネットワークパケットのペイロード全体が暗号化されるが、他の実施態様では、ペイロードの一部が暗号化される。本発明は、パケットが暗号化されているかどうかを判断するための、あらゆるタイプおよび/または形態の手段または機構を使用することが可能である。例えば、場合によっては、リモートアクセスクライアント120は、ペイロードが暗号化されていることを示すネットワークパケットのフラグまたはフィールドを確認することが可能である。他の実施態様では、リモートアクセスクライアント120は、ペイロードがランダムなデータまたは暗号化によるノイズを含んでいるので、ペイロードの一部が不明瞭であるかどうかを確認することが可能である。加えて、暗号化したペイロードは、レイヤー2、3、6、または7の暗号化のような、ネットワークスタック310aおよび310bの任意のレイヤーに関連して暗号化することが可能である。
ステップ415のいくつかの実施態様では、本発明の例示的方法400は、パケット単位で報告されたMTU402aおよび402bのサイズに対する調整を判断するか、または他の実施態様では、接続またはセッション単位で、それに応じてステップ420でMTU402aおよび402bを調整する。一実施態様では、MTU402aおよび402bは、ネットワークパケットに対する暗号化オーバーヘッドの量だけ減じられる。場合によっては、例示的方法400は、セッションまたは接続全体に対してMTU402aおよび402bのサイズを一度決定し、セッション全体に対する暗号化オーバーヘッドを補う値だけ、MTU402aおよび402bのサイズを減じる。例えば、ネットワークパケットは、様々な暗号化オーバーヘッドを有する場合があるが、この調整は最大の暗号化オーバーヘッドを補う。更なる実施態様では、MTU402aおよび402bは、ネットワークパケットのエンドツーエンドのネットワークトラバースにおいて生じる場合のある、ゲートウェイ340による暗号化のような、ネットワークパケットがネットワークスタック310aおよび310bを残した場合に生じうる暗号化を考慮するように調整することが可能である。
加えて、MTU402aおよび402bのサイズは、暗号化オーバーヘッドに加えて、他のネットワーク性能因子に対して調整することが可能である。いくつかの実施態様では、MTU402aおよび402bのサイズは、暗号化オーバーヘッドによって減じられているが、ネットワーク通信に関連する他のオーバーヘッドおよび因子を補うようにさらに減じることが可能であり、また、他の場合では増加する。例えば、MTU402aおよび402bのサイズは、暗号化に関連していない因子に対して予め調整することが可能であり、本発明の技術を使用した後に、MTU402aおよび402bのサイズは、暗号化オーバーヘッドを考慮するように減じられる。当業者は、本発明の技術に従った暗号化オーバーヘッドの調整のほかに、またはこれに加えて、MTUの調整に対する他の因子および考慮すべきものが存在しうることを認識および理解するであろう。
図5Aおよび5Bを参照する。本発明は、更なる側面では、クライアント側のアプリケーション認識ネットワーク通信の優先順位付け技術に関する。本発明のリモートアクセスクライアント120は、アプリケーションのタイプおよび/または優先順位に基づいた、アプリケーションネットワーク通信の高機能かつクライアント中心の優先順位付けをクライアントに提供する。図5Aのシステム500に示されるように、コンピューティングデバイス102のリモートアクセスクライアント105は、ネットワーク104に接続される。クライアント105は、リモートアクセスクライアント120のエージェント326およびフィルタ322を介してネットワーク104にアクセスする、1つ以上のアプリケーション338a−338nを実行することが可能である。いくつかの実施態様では、アプリケーション338a−338nは、VoIPのような1つ以上のリアルタイムデータ通信を提供する。他の実施態様では、1つ以上のアプリケーション338a−338は、コラボレーション、オンラインミーティング、および/またはデスクトップシェアリング関連のサービスまたは機能を提供することが可能である。
図5Aに示されるように、パケット取得機構365、365’は、クライアント105のアプリケーション338a−338nのうちのいずれかのネットワークトラフィックをインターセプトするために、リモートアクセスクライアント120のフィルタ322またはエージェント326に含めることが可能である。リモートアクセスクライアント120は、クライアント105のネットワーク通信をキューに入れて優先順位付けするための、あらゆるキュー540a−540nを含むことが可能である。一実施態様では、キュー540a−540nは、フィルタ322のNDISドライバのようなネットワークドライバに含めることが可能であり、他の実施態様では、エージェント326とともに含めるか、またはエージェント326によるアクセスが可能である。キュー540a−540nは、パケット取得機構365によってインターセプトされたネットワークパケットのような、ネットワークパケットを格納および/または配列するためのあらゆるタイプおよび/または形態の好適な手段および/または機構を備えることが可能である。いくつかの実施態様では、キュー540a−540nは、クライアント105のアプリケーション338a−338nに関連するネットワークパケットに関連付けるか、または割り当てることが可能である。他の実施態様では、キュー540a−540nは、高、中、低のような優先順位のレベルによるか、または優先順位1・・・10のように数値によって編成することが可能である。当業者は、キュー540a−540nの数は、3、5、または10の優先順位レベルのような、あらゆる優先順位付けの細分性に基づくことが可能であることを認識および理解するであろう。加えて、キュー540a−540nのうちのいくつかは、ネットワークパケットが優先順位ベースのキュー540a−540nに分類され、および/または取り出される前に、ネットワークパケットを受信および/または送信するために使用することが可能である。
リモートアクセスクライアント120はまた、ゲートウェイ340を介してネットワーク104上にルーティングするような、クライアントのネットワークパケットをエージェント326を介してどのようにリーティングするのかを判断するための、ルーティングテーブル538を有するか、これにアクセスするか、またはこれを使用することも可能である。一実施態様では、エージェント326は、図1Aに例示されるように、ゲートウェイ340へのSSL VPN接続を確立および保持する。一実施態様では、ルーティングテーブル538は、ソースと宛先通信ポイントとの間の通信経路または接続を識別するために、ソースコンピューティングデバイスおよび宛先コンピューティングデバイスに関する情報を含む。ルーティングテーブル538は、ネットワーク104上の通信経路を識別するために、ソースIPアドレスおよびソースポート、および宛先IPアドレスおよび宛先ポイントを含むことが可能である。例えば、ソースIPアドレスおよびソースポートは、クライアント105のIPアドレスおよびクライアント105上のアプリケーション338a−338nがネットワーク105上を通信するポートを表すことが可能である。宛先IPアドレスは、アプリケーション338a−338nが、ピアデバイスによって使用される宛先ポートを介して通信する、ピアコンピューティングデバイスのIPアドレスを表すことが可能である。
加えて、リモートアクセスクライアント120は、アプリケーション上で実行するアプリケーション338a−338nに関連するネットワーク通信のクライアント側の優先順位付けを指定するための、1つ以上のポリシー520を有することが可能である。これらのポリシー520は、あらゆる適切な手段および/または機構によって指定することが可能である。いくつかの実施態様では、ポリシー520は、アプリケーション338a−338nの名前および/またはアプリケーション338a−338nのタイプによって指定することが可能である。他の実施態様では、ポリシー520は、アプリケーション338a−338nによって使用される1つ以上のプロトコルのタイプ、および/またはネットワークパケットのペイロードのサイズに従って指定することが可能である。別の実施態様では、ポリシー520は、アプリケーションの実行がクライアント105のフォアグランドなのか、バックグラウンドなのかに基づいて、優先順位付けを定義する。さらに別の実施態様では、ポリシー520は、ホスト名またはIPアドレス、および/または宛先ポート番号のような宛先ネットワークアドレスに基づいて、優先順位を示すことが可能である。加えて、ポリシー520は、複数のアプリケーション338a−338nおよび/またはいずれかのポイントにおいてクライアント上で実行することが可能な複数のプロトコルを補うために、階層的に指定することが可能である。さらに、ポリシー520は、1つのアプリケーション338aが実行している場合に、第2のアプリケーション338bが上位または下位の優先順位を有することが可能である、などの条件付きで指定することが可能である。当業者は、クライアント側のアプリケーション優先順位を定義するための多数の方法を認識および理解されよう。
ポリシー520は、エージェント326でアクセス可能とすること、エージェント326に構成すること、またはエージェント326でロードすることが可能である。例えば、ポリシー520は、ゲートウェイ340によって提供するか、またはそれを介してダウンロードすることが可能である。ポリシー520は、ポリシーを指定するためのあらゆるタイプおよびフォーマットのシンタックスおよび/または言語を含むことが可能であり、電子的に1つ以上のネットワークパケットまたはXMLファイルのようなファイルを介するなどの、あらゆるタイプおよび/または形態のメディアを介して提供することが可能である。ポリシー520は、あらゆる適切な手段および/または機構によってユーザーが設定できるようにすることが可能である。例えば、エージェント326は、ユーザーインターフェース、グラフィック、またはデザインのような構成機構、およびポリシー520を構成または指定するように構成した構成機構を提供することが可能である。
図5Aのシステム500および図1A乃至1Cを考慮して、図5Bの方法550に示される本発明の優先順位付け技術を以下に説明する。概略的に、例示的方法550のステップ555で、クライアント105は、クライアント105上のアプリケーション338a−338nに関連付けられた1つ以上のネットワークパケットをインターセプトし、ステップ560で、ネットワークパケットはキュー540a−540nに格納される。ステップ565で、インターセプトされた、およびキューに入れたネットワークパケットの優先順位は、アプリケーション338a−338nのタイプおよび/または優先順位に基づいて決定される。ステップ570で、決定された優先順位がネットワークパケットに示され、ステップ575で、ネットワークパケットは、この決定された優先順位に従って通信される。このように、アプリケーション338a−338nによってクライアント105上に生成される送信ネットワークパケットは、アプリケーション338a−338nのタイプおよび/または優先順位に基づいて、送信前にクライアント105によって優先順位が付けられる。例えば、アプリケーション338aは、ゲートウェイ340へのSSL接続のTCP/IPセッションを介してUDPを通じたRTPのような、VoIP通信のリアルタイムデータを生成することが可能である。クライアント105は、本発明の技術を使用して、非リアルタイムデータ通信アプリケーションのような、他のアプリケーションの上位にアプリケーション338aのリアルタイムデータ通信の優先順位を付けることが可能である。この技術は、ネットワークトラフィックの優先順位付けがスイッチおよびルーターのような媒介ネットワークデバイス内に生じる、サービスの質(QoS)ネットワークを補うことが可能である。
例示的方法500のステップ555で、クライアント105は、アプリケーション338a−338n、ゲートウェイ340、ピアコンピューティングデバイス、およびネットワークスタックのネットワークレイヤーのうちのいずれかに対して、1つ以上のアプリケーション338a−338nのネットワークパケットを透過的にインターセプトすることが可能である。このように、本発明の技術は、あらゆるタイプのクライアント105上のアプリケーション338a−338nに対応する。いくつかの実施態様では、ネットワークパケットは、エージェント326またはフィルタ322を介して、パケット取得機構360によって、インターセプトされる。アプリケーション338a−338nのあらゆる受信および/または送信ネットワークパケットは、本発明のリモートアクセスクライアント120によってインターセプトすることが可能である。
ステップ560で、ステップ555でインターセプトされたネットワークパケットは、キュー540a−540nに格納することが可能である。一実施態様では、ネットワークパケットは、ステップ565および570でネットワークパケットに優先順位を付ける前に、一時的なキュー540a−540nに格納される。他の実施態様では、ネットワークパケットは、ステップ565および/またはステップ570でネットワークパケットに優先順位を付けた後に、アプリケーション338a−338nに関連付けられた、決定された優先順位付きキュー540a−540nまたはキュー540a−540nに格納される。
ステップ565で、本発明のリモートアクセスクライアント120は、優先順位を判断して任意の優先順位ベースのポリシー520を適用するために、ネットワークパケットとアプリケーション338a−338nとの関連付けを判断する。クライアント105は、エージェント326を介するなどして、あらゆる適切な手段および/または機構によって、ネットワークトラフィックをアプリケーション338a−338nに関連付けることができる。いくつかの実施態様では、エージェント326は、ヘッダー、フィールド、またはネットワークパケットのペイロード内のデータのタイプおよびコンテンツのような、ネットワークパケットのコンテンツのうちのいずれかによって、ネットワークパケットをアプリケーション338a−338nから生成されたものとして識別する。他の実施態様では、ネットワークパケットは、ソース、宛先IPアドレス、IPアドレスを有するポート番号、およびネットワークパケットのポート番号のような、ルーティングテーブル538からの情報と照合することによって、アプリケーション338a−338nに関連付けられる。いくつかの実施態様では、エージェント326は、識別したアプリケーションが実際にパケットを生成したことを確認するために、フレームモニター360を介するなどして、そのパケットにチェックサムを行うことが可能である。
加えて、リモートアクセスクライアント120は、ネットワークパケットに関連付けられたアプリケーション338a−338nが、ネットワークパケットの実行がクライアント105のフォアグランドなのか、バックグラウンドなのかを判断することが可能である。さらに、リモートアクセスクライアント120は、クライアント105のオペレーティングシステムによってアプリケーション338a−338nに割り当てられた、プロセスタスクの優先順位のような、あらゆる優先順位を判断することが可能である。他の実施態様では、リモートアクセスクライアント120は、サイズ、メモリ使用量、総実行時間、および/または使用頻度のような、アプリケーション338a−338nの他の特性または統計を判断することが可能である。当業者は、クライアント側のアプリケーション認識ネットワーク通信の優先順位付けを提供するために、本発明の技術がアプリケーションの様々な特性を使用することが可能であることを認識および理解するであろう。
ステップ570で、本発明のリモートアクセスクライアント120は、ステップ565でパケットに関連付けられたアプリケーション338a−338nに基づいて、インターセプトしてキューに入れたネットワークパケットの優先順位を示す。一実施態様では、エージェント326は、ポリシー520によって指定または示される優先順位付けのルールに従って、アプリケーション338a−338nのネットワークパケットに優先順位を適用するために、ポリシー520を使用する。いくつかの実施態様では、エージェント326は、アプリケーション338a−338nのネットワークパケットの優先順位を示すために、実行がフォアグランドなのか、バックグラウンドなのか、のようなアプリケーション338a−338nの特性を使用することが可能である。他の実施態様では、エージェント326は、アプリケーション338a−338nのネットワークパケットの優先順位を示すために、ポリシー520とアプリケーション338a−338nの特性とを組み合わせたものを使用することが可能である。
いくつかの実施態様では、エージェント326は、ネットワークパケットキュー540a−540nの管理のために、フィルタ322に優先順位を示して、示された優先順位を適用する。エージェント326は、IOCTLインターフェースのようなアプリケーションプログラミングインタフェース(API)、または当業者が公知の他のタイプおよび/または形態のインターフェースを介するなどして、あらゆる適切な手段および/または機構によって、フィルタ322にネットワークパケットの優先順位を通信することが可能である。一実施態様では、フィルタ322は、名前によってアプリケーション338a−338nを認識しないが、ルーティングテーブル538を介して、アプリケーション338a−338nのネットワークパケットへの優先順位を関連付けることができる。ネットワークパケットに対応するアプリケーション338a−338nは、IPアドレスおよびポート番号のような、ソースと宛先識別子とを組み合わせたものによって識別することができる。このように、いくつかの実施態様では、エージェント326は、アプリケーション名の代わりにルーティング情報によって、フィルタ322に優先順位を示す。他の実施態様では、エージェント326は、フィルタ322に、ルーティングテーブル538内のルーティング情報に対する、アプリケーション名またはプロセスIDなどによる、アプリケーション338a−338n間のマッピングを提供する。
アプリケーション338a−338nの示された優先順位に基づいて、いくつかの実施態様では、フィルタ322は、優先順位に対応して、ネットワークパケットをキュー540a−540n内に配置、配列、またはコーディネートすることが可能である。一実施態様では、フィルタ322は、ネットワークパケットを、一時的なキュー540a−540n、メモリ、または他のストレージから、アプリケーション338a−338nに関連付けられたキュー540a−540n、優先順位に関連付けられたキュー540a−540n、またはアプリケーションと優先順位の両方に関連付けられたキュー540a−540nに移動させることが可能である。例えば、一実施態様では、全ての高優先順位のネットワークトラフィックを、高優先順位付きキュー540aに配列して、他のアプリケーション338a−338nの前のリアルタイムデータアプリケーション338a−338nのような、アプリケーション338a−338nの優先順位の順序に基づいた順番で構成することが可能である。いくつかの実施態様では、ネットワークパケットは、ネットワークパケットがFIFO様式などでパケット取得機構365によってインターセプトされた時間に基づいて、優先順位付きキュー540a−540nの順番で配列することが可能である。更なる一実施態様では、1つのキュー540a−540nは、優先順位付けのためにフィルタ322が使用することが可能である。各ネットワークパケットは、全てのアプリケーション338a−338nおよびインターセプトされたネットワークパケットにわたるパケットの優先順位付けによってパケットを提供するために、全ての他のインターセプトされたネットワークパケットのそれぞれの優先順位の順序で配置および配列することが可能である。当業者は、ネットワークパケットを、高、中、低または他の細分性などによって、種々の優先順位付きキュー540a−540nに配列すること、および本願明細書に記述される本発明のオペレーションの実施におけるあらゆる好適な様式でキューに配置または配列することが可能であることを認識および理解されよう。
一実施態様では、アプリケーション338a−338nの全てのネットワークパケットは、アプリケーション540a−540nに関連付けられたキュー540a−540n内に配置される。例えば、第1の宛先IPアドレスに通信するアプリケーションのインターセプトされたネットワークパケット、および第1の宛先ポートは、第1のキュー540aに配置することが可能である。別の実施態様では、電子メールまたは音声アプリケーションのような、あるタイプのアプリケーション338a−338nの全てのネットワークパケット、またはRTPまたはUDPのような、アプリケーション338a−338nが使用するあるタイプのプロトコルの全てのネットワークパケットは、1つ以上のアプリケーションのネットワークパケットに優先順位をつけるために、キュー540a−540n内に配置することが可能である。例えば、オンラインのコラボレーション関連のアプリケーション338a−338nは、コラボレーション関連のアプリケーションの第1のキュー540aに配置して優先順位をつけることが可能である。第2のキュー540bは、電子メール関連のアプリケーション338a−338nに使用することが可能である。別の例では、キュー540aは、リアルタイムデータを通信するか、またはRTPおよび/またはUDPプロトコルを使用して通信するアプリケーション338a−338nに使用することが可能である。更なる例では、キュー540aは、ICAまたはRDPのようなリモートディスプレイプロトコルを使用して通信するアプリケーション38a−338nに使用することが可能である。
特定のアプリケーション338a−338n、アプリケーション338a−338nのタイプまたはカテゴリ、またはプロトコルによって構成されるアプリケーション関連のキュー540a−540nのそれぞれにおいて、ネットワークパケットを、フォアグラウンドのアプリケーション、ネットワークパケットのサイズ、ネットワークパケットがインターセプトされた時間などの、それらを生成するアプリケーション338a−338nの特性によって、さらに順位付けすることが可能である。いくつかの実施態様では、ポリシー520が、存在しないか、またはネットワークパケットに適用していないので、またはポリシー520が、優先順位付けのためにネットワークパケットを無視するか、または処理しないことが示されているので、1つ以上のキュー540a−540nを、インターセプトされたが優先順位が付けられていないネットワークパケットに使用することが可能である。当業者は、アプリケーション338a−338n、アプリケーション338a−338nのタイプ、またはアプリケーション338a−338nが使用するプロトコルに関連付けられたキュー540a−540nにおける優先順位ベースの様式で、ネットワークパケットを配置および配列することが可能な様々な方法があること、および優先順位は、クライアント105に指定されたポリシー520に基づくことが可能であることを認識および理解するであろう。
例示的方法550のステップ575で、ネットワークパケットは、ネットワークパケットの決定された優先順位に基づいて、キュー540a−540nから通信される。いくつかの実施態様では、最も高い優先順位付きキュー540a−540nのネットワークパケットが最初に通信され、次いで次に高い優先順位付きキュー540a−540nのネットワークパケットが2番目に通信される、などのように、ネットワークパケットは、優先順位付きキュー540a−540bに構成される。他の実施態様では、キュー540a−540nがアプリケーション338a−338nによって構成されるので、ステップ575で、本発明は、アプリケーション338a−338nのそれぞれの優先順位に基づいて、キュー540a−540nからネットワークパケットを通信する。キュー540a−540nの組織および管理に関わらず、当業者は、本発明のリモートアクセスクライアントは、決定された優先順位による、またはこれに従った様式のキューであり、またクライアントのポリシー520に基づくか、またはこれから導出することが可能な様式のキューからネットワークパケットを通信することを認識および理解するであろう。
いくつかの実施態様では、本発明のリモートアクセスクライアント120は、どのネットワークパケットをどのキューから通信するかの判断において、他のネットワーク因子を考慮する。例えば、リモートアクセスクライアント120は、アプリケーション338a−338nに関連するTCP接続に対するゼロのウィンドウサイズを受信するなどの、ネットワークの混雑の示度を受信することが可能である。別の例では、リモートアクセスクライアント120は、特定の宛先への再送信の多さを認識することが可能である。このように、いくつかの実施態様では、リモートアクセスクライアント120は、ネットワークパケットがキュー540a−540nにおいて他のネットワークパケットよりも高い優先順位を有することが可能であっても、混雑のような他のネットワークの因子に関連するネットワークパケットの通信を抑制するか、または通信させないことが可能である。したがって、クライアント105は、クライアント105のあらゆるポリシー520に基づいてこれに従い、さらにネットワーク上で生じるネットワークの統計および他の因子を考慮して、アプリケーション338a−338n上のクライアント105のネットワーク通信の優先順位付けを制御および管理する。
図6Aおよび6Bを参照する。更なる側面では、本発明は、永続的かつ信頼性の高い接続性のためのネットワークの混乱から保護する技術の提供に関する。図6Aは、図3Aを参照して上述したように環境300を示す。環境300は、ネットワークスタック310aおよび310bを示し、図1A乃至1C、2A、または5Aに示されるコンピューティングデバイス102およびゲートウェイ340のうちのいずれかのような、コンピューティングデバイス102aおよび102b、またはゲートウェイ340のネットワークスタックを表すことが可能である。当業者は、ネットワークスタック310aおよび310bのそれぞれが、フレームネットワークレイヤーの上位のTCP/IPネットワークレイヤーのような、1つ以上のネットワークレイヤーを備えることが可能であることを認識および理解するであろう。図6Aの環境300には、ネットワークスタック310aおよび310bが特定の一組のネットワークレイヤーとともに示されるが、当業者は、ネットワークスタック310aおよび310bが、あらゆる好適な組み合わせにおいて、あらゆるタイプおよび形態のネットワークレイヤーを有することが可能であり、ネットワークスタック310aおよび310bのそれぞれが、他のネットワークスタックに関して異なる形態の各レイヤーを有することが可能であることを認識および理解するであろう。
ネットワークスタック310aおよび310bは、ネットワークスタックの第1の部分605aおよび605bと、ネットワークスタックの第2の部分610aおよび610bと、を有するとみなすことが可能である。図6Aのネットワークスタック310aおよび310bの例に示されるように、ネットワークスタックの第1の部分605aおよび605bは、TCPネットワークレイヤーより下位のネットワークレイヤーを備える。第2の部分610aおよび610bは、SSLプロトコルレイヤーを通じたUDPなどのような、TCPネットワークレイヤーの上位にそれらのネットワークレイヤーを備えることが可能である。第1の部分605aおよび605bと第2の部分610aおよび610bは、TCPレイヤーで分けて、セグメント化して、または分割して示されているが、当業者は、第1の部分および第2の部分を、本発明のネットワークの混乱から保護する技術を実施する上位または下位の分割レイヤーに形成することが可能であることを認識および理解するであろう。
図6Aに示されるネットワークスタック310aおよび310bは、図5Aに示されるクライアントのような、クライアント105上のアプリケーション338a−338nを表すことが可能であり、第2のコンピューティングデバイス102b、またはこの代わりにゲートウェイ340に、ピアツーピアのSSL VPN接続を確立する。クライアント105は、ノートブック、携帯情報端末(PDA)、スマートフォン、またはあらゆるタイプのモバイルコンピューティングまたは通信デバイスのような、モバイルクライアントであってよい。クライアント105は、ピアデバイス102bまたはゲートウェイ340に対して確立されたSSLセッションを介してUDPを通じた、UDPプロトコルまたはRTPを介して、VoIP通信のようなリアルタイムデータを通信することが可能である。一実施態様では、リモートアクセスクライアント120のエージェント326は、ゲートウェイ340またはピアコンピューティングデバイス102bへのSSLまたはSSL VPNセッションを確立および保持する。エージェント326は、ユーザーモード332で実行することが可能であり、アプリケーションレイヤーのプロトコルとともに、ネットワークスタック310aおよび310bの第2の部分610aおよび610bに関連する、あらゆるネットワークレイヤーおよびプロトコル処理をすることが可能である。TCP/IPベースのネットワーク104のように、ネットワークスタック310aおよび310bの第2の部分610aおよび610bのSSLセッションを通じたUDPを、ネットワークスタック310aおよび310bの第1の部分605aおよび605bを形成するTCP/IPスタックを通じて通信することが可能である。図1Aまたは図5Aに示されるように、本発明のリモートアクセスクライアント120を考慮して、フィルタ322は、ネットワークスタック310aおよび310bの第1の部分605aおよび605bにおいてカーネルモード332で動作するネットワークドライバであってよい。
本発明は、ネットワークスタック310aおよび310bの第1の部分605aおよび605bに対するあらゆるタイプおよび/または形態のネットワークの混乱のような、ネットワークレベルの接続の中断中のネットワークスタック310aおよび310bの第2の部分610aおよび610bを保持するために、図6Bの例示的方法650で示されるような、ネットワークの混乱から保護する技術を使用する。本発明のネットワークの混乱から保護する技術は、クライアント105のアプリケーション338a−338n、クライアント105のユーザー、第1の部分605aおよび605bの上位のいずれか1つ以上のネットワークレイヤー、およびゲートウェイ340またはピアコンピューティングデバイス102bおよびそれぞれのネットワークスタック310aおよび310bのいずれかの部分に対して、透過的に実行することが可能である。一実施態様では、クライアントのユーザーに、ネットワークが途絶したこと、またはセッションが中断したことを通知せずに、ネットワークの混乱から保護される。
例示的方法650の概略では、ステップ665で、クライアント105は、ピアコンピューティングデバイスまたはゲートウェイのような、クライアントと別のデバイスとの間のネットワーク接続を通じて、少なくとも第1のプロトコルを介してセッションを確立する。このように、ネットワークスタック310aおよび310bは、クライアント105上に確立されるか、または使用される。ネットワークスタック310aおよび310bは、第1の部分605aおよび605bおよび第2の部分610aおよび610bを有する。ステップ660で、ネットワークスタック310aおよび310bの第1の部分605aおよび605bを廃止させるたり、または使用を途絶させたり、使用を継続させなくする、ネットワーク接続の混乱を検出する。ステップ665で、本発明は、第2の部分610aおよび610bのネットワークレイヤーに関連付けられた、1つまたは複数のセッションの混乱または保持中に、ネットワークスタック310aおよび310bの第2の部分610aおよび610bを保持する。
混乱中に、ステップ670で、ネットワークスタック310aおよび310bの第2の部分610aおよび610bに関連するいずれかのネットワークパケットをキューに入れることが可能である。ステップ675で、ネットワークスタック310aおよび310bの第1の部分605aおよび605bを再確立するか、またはネットワークの混乱から受信する。ネットワークスタック310aおよび310bの第1の部分605aおよび605bを再確立しながら、本発明は、第2の部分610aおよび610b、およびそのセッションを保持し、ステップ680で、第2の部分610aおよび610bをネットワークスタック310aおよび310bの第1の部分605aおよび605bとリンクするか、または再び関連付けることによって、セッションを継続できるようにする。ネットワーク接続および/またはセッションは、ステップ680で、自動的に再認証することが可能である。ステップ685で、例示的方法は、任意のキューに入れたネットワークパケットを通信して、ネットワークの混乱が生じなかったかのようにセッションを透過的に継続することが可能である。
例示的ステップ655の一実施態様では、第1のコンピューティングデバイス102aは、あらゆる好適な手段および/または機構によって、およびあらゆるタイプおよび/または形態の接続ベースのプロトコルを使用することによって、ピアコンピューティングデバイス102bまたはゲートウェイ340のような、第2のデバイスとのネットワーク接続を確立することが可能である。例えば、TCP/IPネットワーク上のTCP接続を介して、またはIPX/SPXネットワーク上のSPX接続によって、ネットワーク接続を確立することが可能である。いくつかの実施態様では、ネットワーク接続は、図5Aに示されるいずれかのアプリケーションのような、アプリケーション338a−338nのうちのいずれかによって開始することが可能である。例えば、Citrix Systems社のICAクライアント、またはMicrosoft社のリモートディスプレイクライアントのようなリモートディスプレイクライアントは、ネットワーク接続を開始または確立することが可能である。他の実施態様では、エージェント326、フィルタ322、またはリモートアクセスクライアント120の他の部分を介して、例示的ステップ665のネットワーク接続を開始および/または確立することが可能である。一実施態様では、ネットワーク接続を確立することで、ネットワークスタック310aおよび310bの第1の部分605aおよび605bを形成する。他の実施態様では、ネットワークスタック310aおよび310bの第1の部分605aおよび605b、またはその一部分は、クライアント105の開始時に、ネットワーク104への接続を介して確立される。
いくつかの実施態様では、ネットワークスタック310aおよび310bの第2の部分610aおよび610bは、ICAまたはRDPのリモートディスプレイプロトコルのような、ネットワーク接続を通じたあらゆるタイプおよび/または形態のプロトコルを介して、SSLセッションのような1つ以上のセッションを確立することによって形成される。セッションは、任意のアプリケーション338a−338nか、またはクライアントのリモートアクセスクライアント120を介して確立することが可能である。一実施態様では、セッションは、ピアコンピューティングデバイス102bまたはゲートウェイ340によって、トンネリングまたはゲートウェイセッションに対応することができる。別の実施態様では、セッションは、例えばシグナリングプロトコル(SIP)を介して確立されるメディアセッションのような、あらゆるタイプの対話型セッションであってよい。例えば、ネットワークスタック310aおよび310bの第2の部分610aおよび610bは、図2Bの例示的方法260によって確立されたもののような、VoIP通信セッションを含むことが可能である。加えて、ネットワークスタック310aおよび310bの第2の部分610aおよび610bに関連付けた複数のセッションが存在してよい。例えば、SSLまたはSSL VPNセッションは、1つのセッションを形成することが可能であり、一方で、UDPを通じたRTPを介したメディアセッションなどが、第2のセッションを形成することが可能である。加えて、ネットワークスタック310aおよび310bの任意のアプリケーションレイヤーでは、クライアント105上の1つ以上のアプリケーション338a−338nは、ピアコンピューティングデバイス102bによってアプリケーションレベルのセッションを確立することが可能である。一実施態様では、リモートアクセスクライアント120のエージェント326は、ネットワークスタック310aおよび310bの第2の部分610aおよび610b、および1つ以上の関連するセッションの確立および保持に関与する。
本発明の例示的方法650のステップ660で、ネットワーク接続の混乱を検出する。一実施態様では、ネットワークの混乱は、ネットワークとネットワークのセグメントとの間を移動するクライアント105によって生じる場合があり、いくつかの実施態様では、クライアント105に、新しいネットワークIPアドレスおよび/またはホスト名を取得させる。いくつかの実施態様では、この混乱は、例えばTCPまたはSPX接続の切断を生じさせるような、ネットワークスタック310aおよび310bの第1の部分605aおよび605bを途絶させる。一側面では、この混乱によって、ネットワークスタック310aおよび310bの第1の部分605aおよび605b、またはその任意の一部分が廃止されるか、または再確立、再接続、再設定、または再構成が必要になる。例えば、いくつかの実施態様では、ネットワークスタックのIPレイヤーは、TCPレイヤーを再確立している間、そのままの状態を保持することが可能である。一実施態様では、任意のTCP関連のドライバは、再起動を必要とする場合がある。他の実施態様では、ネットワーク接続が途絶して、新しいTCP接続を確立するしかない場合であっても、TCP/IPレイヤーはそのままの状態である。他の実施態様では、TCP/IPレイヤーはそのままの状態であるが、クライアント105のIPアドレスを変更するような、新しいネットワークまたはネットワークセグメントに対して、TCP/IPレイヤー自体を再構成する必要がある。当業者は、ネットワーク接続が途絶されて、ネットワークスタックの第1の部分に影響または作用を及ぼしうる、様々な状況があることを認識および理解するであろう。
いくつかの実施態様では、エージェント326またはリモートアクセスクライアント120の他の部分は、あらゆる適切な手段および/または機構によってネットワークの混乱を検出することが可能である。一実施態様では、エージェント326は、エラーメッセージを受信することによって、またはネットワークスタック310aおよび310bの第1の部分605aおよび605bに対するAPIコールの呼び出し時または実行時の失敗によって、ネットワークの混乱を判断することが可能である。例えば、第2の部分610aおよび610bに対するエージェント326によって保持されるSSLセッションは、ネットワークスタック310aおよび310bの第1の部分605aおよび605bのTCP接続に依存または従属する。エージェント326がSSLセッションを介して処理を行うとき、エージェント326は、TCP接続の問題を示すエラーまたは失敗のメッセージを受信することが可能である。他の実施態様では、エージェント326は、ネットワークの混乱を示すイベントまたはメッセージを、ネットワークスタック310aおよび310bの第1の部分605aおよび605bの任意のネットワークレイヤーから受信することが可能である。当業者は、ネットワークの混乱を検出することが可能な様々な方法を認識および理解するであろう。
例示的ステップ665で、いくつかの実施態様では、ネットワークの混乱を検出すると、エージェント326または本発明のリモートアクセスクライアント120の他の部分は、混乱中に、ネットワークスタック310aおよび310bの第2の部分610aおよび610bを保持する。例えば、エージェント326によって保持されたSSLベースのセッションは、潜在的なTCP接続に依存するが、エージェント326は、TCP接続に対する混乱中に、SSLセッションを開けたままか、またはアクティブのままにする。ネットワークスタックの第2の部分610aおよび610bの1つ以上のレイヤーに関連付けられた複数のセッションが存在しうるので、エージェント326は、いくつかの実施態様では、ネットワークスタック310aおよび310bの第1の部分605aおよび605bが途絶していても、その複数のセッションのうちの1つ以上または全てを開けたままか、またはアクティブのままにする。
例示的方法650のステップ670で、本発明のリモートアクセスクライアント120は、いくつかの実施態様では、ネットワークの混乱中に、ネットワークスタック310aおよび310bの第2の部分610aおよび610bに関連するプロトコルのうちの、いずれかの1つ以上のネットワークパケットをキューに入れる。リモートアクセスクライアント120は、図5Aに示されるキュー540a−540nのうちのいずれかのような、あらゆるタイプおよび/または形態の待ち行列機構を使用することが可能である。他の実施態様では、リモートアクセスクライアント120は、混乱中に、音声通信のためのUDPを通じたRTPのような、不可逆プロトコルに関連するあらゆるパケットのような、ネットワークパケットを破棄することが可能である。場合によっては、音声通信などにおける待ち時間および品質の問題を軽減するために、UDPパケットのようなパケットを破棄することが望ましい場合がある。更なる実施態様では、リモートアクセスクライアント120は、いくつかのネットワークパケットをキューに入れて、他のネットワークパケットを破棄することが可能である。更なる一実施態様では、リモートアクセスクライアント120は、いくつかのネットワークパケットをキューに入れて、所定の時間の経過後にネットワークパケットのいくつか、または全てを破棄することが可能である。リモートアクセスクライアント120は、どのネットワークパケットをキューに入れる、および/または破棄するのかを判断するために、ポリシー520を使用することが可能である。例えば、第2のアプリケーション338nのネットワークパケットを破棄しながら、第1のアプリケーション338aのネットワークパケットをキューに入れることが可能である。他の実施態様では、リモートアクセスクライアント120は、混乱中にネットワークパケットをキューに入れる、および/または破棄するかどうかを判断するために、当業者に公知のあらゆるネットワーク統計またはあらゆるネットワークトラフィックの検査技術(例、ステートフル検査)を使用することが可能である。
例示的方法650のステップ675で、ネットワークスタック310aおよび310bの第1の部分605aおよび605bが再確立され、一方で、任意の所望のセッションまたはネットワークスタック310aおよび310bの第2の部分610aおよび610bのセッションの保持に加えて、ネットワークスタック310aおよび310bの第2の部分610aおよび610bが保持される。ネットワークスタック310aおよび310bの第1の部分605aおよび605bは、あらゆる適切な手段および/または機構によって再確立することが可能である。例えば、クライアント105は、移動しているモバイルクライアント105に対する新しいネットワークへのロギングなどによって、ネットワーク104へのTCP/IP接続を再確立することが可能である。他の実施態様では、リモートアクセスクライアント120は、エージェント326またはフィルタ322を介するなどして、ネットワークスタック310aおよび310bの第1の部分605aおよび605bを再確立する。例えば、エージェント326は、新しいTCP接続を開始および確立することが可能である。第1の部分605aおよび605bを再確立すると、ネットワークスタック310aおよび310bの第2の部分610aおよび610bは、ネットワークスタック310aおよび310bを再確立するために、第1の部分605aおよび605bとリンクされるか、再び関連付けられるか、または第1の部分605aおよび605bの使用を開始するか、または使用を継続する。いくつかの実施態様では、エージェント326は、第1の部分605aおよび605bが再確立されたことを、任意のネットワークレイヤーのイベントによって通知されるか、または他の実施態様では、第1の部分605aおよび605bが再確立されたことを判断するために、所定の頻度でポーリングを行うことが可能である。例えば、エージェント326は、TCP接続がアクティブであるか、または再接続することができるのかを確認することが可能である。
いくつかの実施態様では、ステップ680で、エージェント326のようなリモートアクセスクライアント120は、ネットワークスタック610aおよび610bの第1の部分605aおよび605bに対するTCP接続のようなネットワーク接続のために、クライアント105またはクライアント105のユーザーを自動的に再認証することが可能である。例えば、リモートアクセスクライアント120は、クライアント105のユーザーのあらゆるネットワーク関連の信用証明書を使用して、ネットワーク104に対して、クライアント105を自動的に再認証することが可能である。加えて、リモートアクセスクライアント120は、ネットワークスタック310aおよび310bの第2の部分610aおよび610bに関連付けられた任意のセッションのために、クライアント105またはクライアント105のユーザーを自動的に再認証することが可能である。例えば、エージェント326と、ゲートウェイ340またはピアコンピューティングデバイス102cとの間のSSLセッションを、再認証することが可能である。
別の例では、アプリケーション338aは、ホストサービス、ウェブサーバー、またはアクセスのために認証証明書を使用するアプリケーションサーバーにアクセスしていることが可能である。エージェント326は、認証証明書に関連するアプリケーションを使用して、対応するサービスまたはサーバーに対して、アプリケーション338aを自動的に再認証することが可能である。いくつかの実施態様では、リモートアクセスクライアント120は、ネットワークアクセスおよび/またはTCP接続、SSLまたはSSL VPNセッション、および/またはメディアインタラクティブのユーザーセッション(例、VoIP通話セッション)のようなあらゆるアプリケーションレベルのセッションなどに対して、複数のレベルでクライアントおよび/またはクライアント105のユーザーを再認証することが可能である。さらに、リモートアクセスクライアント120は、ステップ685の前、ステップ685の間(例えば、キューに入れたネットワークパケットの通信後だが他の通信を継続する前)、またはステップ865の後(サーバーまたはゲートウェイ340のようなピアコンピューティングデバイスからの認証のリクエストに応えて)、いつでも再認証することが可能である。
例示的方法650のステップ685で、本発明のリモートアクセスクライアント120は、ネットワークスタックの第2の部分610aおよび610bの1つまたは複数のセッションの使用を継続する。ステップ670で、任意のネットワークパケットがキューに入れられたか、またはキューに入れたままの場合、リモートアクセスクライアント120は、キューに入れたネットワークパケットを通信して、クライアント105の1つ以上のアプリケーション338a―338nによって生成されるか、またはこれに送信されるネットワークパケットのような、クライアント105のあらゆるネットワークパケットの通信を継続する。このように、本発明のネットワークの混乱から保護する技術は、ノマディックなモバイルコンピューティングのソリューションにシームレスかつ透明なソリューションを提供し、概して信頼性が高く、永続的なネットワーク接続およびアクセスを提供する。
VoIP通信の例では、本発明の例示的方法650は、ネットワークの混乱による通話のドロップ回数を減少させて、VoIPの使用およびエクスペリエンスを改善する。本発明のリモートアクセスクライアント120は、セッションおよびネットワークへの接続を自動的に保持するので、VoIPのユーザーは、ネットワークのアベイラビリティにおいて、一時的なネットワークの混乱による通話の再接続が不要になる。加えて、本発明のリモートアクセスクライアント120は、ネットワークの混乱の後にセキュリティを提供するために、接続およびセッションを自動的に再認証する。さらに、本発明のネットワークを保護する技術は、1)ネットワークの混乱中にトランザクション、コマンド、またはオペレーションを自動的に継続すること、2)ネットワークの混乱中にセッションに関連するコンテキストおよびキャッシュを保持すること、3)ネットワークの変更によるクライアントのネットワークアドレスの変更を自動的に処理すること、に対して有用である。
信頼性が高く、永続的な接続を提供することによって、本発明はまた、図1Cのクライアント105aおよび105bのような、第1のコンピューティングデバイス102aと第2のコンピューティングデバイス102bとの間で使用される機能の一部として、トランザクション、コマンド、またはオペレーションの中断も回避する。例えば、Windows(登録商標) Explorerを使用したファイルのコピーオペレーションは、ネットワーク接続に混乱が生じた後に動作を継続するようにデザインされていない。クライアント105上のユーザーは、クライアント105からサーバー102cにファイルをコピーするために、Windows(登録商標) Explorerのファイルコピー機能を使用することが可能である。1つまたは複数のファイルサイズにより、本オペレーションは、完了に比較的時間がかかる場合がある。サーバーへのファイルコピーのオペレーション中に、クライアント105とサーバーとの間のネットワーク接続に中断があれば、ファイルコピーは失敗することになる。ネットワーク接続が再確立されると、ユーザーは、クライアント105からサーバーにファイルをコピーするために、Windows(登録商標) Explorerから別のファイルコピー機能を起動しなければならなくなる。本発明下では、ユーザーは、別のファイルコピーオペレーションを起動する必要はない。ネットワーク接続は、図6Bに示されるように、本発明のネットワークの混乱から保護する技術によって再確立される。このように、Windows(登録商標) Explorerのファイルコピーには、ネットワーク接続における中断が知らされないので、失敗することはない。オペレーションを失敗せずに継続できるように、リモートアクセスクライアント120は、あらゆる接続を再確立してキューに入れたあらゆるデータを送信する。リモートアクセスクライアント120は、ネットワーク接続の中断によってサーバーに転送されなかった、ファイルコピーオペレーションに関連するデータのキューを保持する。ネットワーク接続が再確立されると、リモートアクセスクライアント120は、キューに入れたデータを送信することができ、次いで適当な時期にファイルコピーオペレーションに関連するデータの転送を継続する。
本発明の本側面は、ファイルコピーオペレーション例に関して説明しているが、当業者は、ネットワーク接続の混乱によって失敗せずに、さらにはクライアント105またはクライアント105のユーザーが、混乱の存在または混乱の通知があることを認識することなく、第1のコンピューティングデバイス102aと第2のコンピューティングデバイス102bとの間で行われる、あらゆるオペレーション、処理、コマンド、ファンクションコールなどを保持および継続できることを認識および理解するであろう。加えて、アプリケーション338、ゲートウェイ340、第2のコンピューティングデバイス102c、およびネットワークスタック310aおよび310bの第2の部分610aおよび610bのいずれかの部分に対して、トランザクションまたはオペレーションを透過的に保持および継続することができる。
ピアコンピューティングデバイス102bまたはゲートウェイ340への信頼性が高く、永続的な接続を有するクライアント105を提供することによって、本発明は、ネットワーク接続の中断中にユーザーセッションを保持することによって、サーバー上のホストサービスのような、ピア上のアプリケーション338によって新しいユーザーセッションが開かれるプロセスを回避する。ピアコンピューティングデバイス間の各ユーザーセッションに対して、各コンピューティングデバイスは、セッション固有のコンテキストおよびキャッシュ、およびユーザーセッションのそのインスタンスに関連する他のアプリケーション固有の機構を保持することが可能である。確立された新しいユーザーセッションのそれぞれに対して、新しいユーザーセッションを反映するために、これらのセッション固有のコンテキストおよびキャッシュを再ポピュレートまたは再確立する必要がある。例えば、クライアント105上のユーザーは、ウェブサーバーまたはウェブアプリケーションを有するサーバー102cによって、httpセッションを有することが可能である。サーバー102cは、クライアント105によるhttpセッションのこのインスタンスの提供に固有のコンテキストを保持することが可能である。コンテキストは、サーバーのメモリ内か、サーバーのファイル内か、またはサーバー102の機能の提供に関連する他のコンポーネント内に格納することが可能である。また、クライアント105は、ウェブサーバーへの発行済みのリクエストのトラックを保持するための機構のような、httpセッションのインスタンスに固有のローカルなコンテキストを有することが可能である。このコンテキストは、クライアント105のメモリ内か、クライアント105のファイル内か、またはクライアント105とインターフェースされた他のソフトウェアコンポーネント内に格納することが可能である。
クライアント105とサーバー102cとの間の接続が永続的でない場合は、サーバー102cおよびクライアント105上に、新しいユーザーセッションを、新しいセッション固有のコンテキストとともに確立する必要がある。本発明は、新しいセッション、およびそのセッションによる新しい特定のセッションコンテキストを再確立する必要がないように、セッションを保持する。
本発明は、ネットワークレベルの接続の中断中に、クライアントのユーザーにセッションが中断されたことを通知せずにユーザーセッションを保持する。本発明の本則面のオペレーションでは、クライアント105は、ピアコンピューティングデバイスへの接続を確立する。この接続を介して、クライアント105とサーバーとの間のセッションが確立される。リモートアクセスクライアント120は、認証証明書、および確立したセッションに対するクライアント105およびホストサーバー102cのコンテキストのような、セッションに関連するあらゆる情報を格納および保持することができる。ネットワーク接続の混乱を検出したとき、リモートアクセスクライアント120は、ネットワークスタックの第2の部分610aおよび610bを保持しながら、ネットワークスタック310aおよび310bの第1の部分605aおよび605bを再確立することができる。ネットワーク接続の混乱によって、クライアント105とサーバー102cとの間のセッションが使用する潜在的なTCP/IP接続に中断が生じる場合がある。しかし、ネットワークスタック310aおよび310bの第2の部分610aおよび610bが保持されるので、セッションが中断したことをクライアント105のユーザーに通知せずに、ネットワーク接続を再確立した後に、そのセッションを再確立および/または継続することができる。したがって、ネットワーク接続の混乱によって生じるセッションの中断は、本発明のネットワークの混乱から保護する技術を使用して、効果的にユーザーに知られないようになる。
さらに、信頼性の高い、永続的な接続を提供することによって、本発明はまた、クライアント105が、セッションまたはクライアント105上のアプリケーション338を再起動せずに、異なるネットワークトポロジを介してトラバースできるようにする。例えば、クライアント105は、無線ネットワーク接続を有するノートブックコンピュータであってよい。クライアント105が、第1の無線ネットワークから第2の無線ネットワークに移動するとき、クライアントのネットワーク接続は、第2の無線ネットワークとのネットワーク接続を確立するときに、第1の無線ネットワークから一時的に途絶させることが可能である。第2の無線ネットワークは、クライアント105に、ホスト名またはインターネットプロトコルアドレスのような、新しいネットワーク識別子を割り当てることが可能である。この新しいネットワーク識別子は、第1の無線ネットワークがクライアント105に割り当てたネットワーク識別子とは異なるものであってよい。別の例では、クライアント105は、イーサネット(登録商標)ケーブルを介して、ネットワーク上のポートに物理的に接続することが可能である。物理的接続は、切断して、別の場所に移動したクライアント105がネットワーク上の異なるポートに接続することが可能である。これによって、ネットワーク接続の混乱が生じたり、場合により割り当てられたネットワーク識別子の変更が生じたりする場合がある。本発明を用いなければ、ネットワークトポロジの変更、ネットワーク接続の混乱、および/または割り当てられたネットワーク識別子の変更によって、ピアコンピューティングデバイス間のあらゆるセッションを再起動しなければならない場合がある。本願明細書に記述される方法およびシステムによって、本発明のリモートアクセスクライアント120は、クライアントに対するネットワーク接続を保持して、ネットワークトポロジおよびネットワーク識別子の変更の処理を含む、クライアント105のネットワーク接続を自動的に再確立する。クライアント105およびクライアント105上のあらゆるアプリケーションまたはセッションは、あたかもネットワーク接続の混乱またはネットワーク識別子の変更がなかったかのように、動作を継続することができる。さらに、クライアント105上のユーザーは、中断または変更が生じたことを認識しなくてよく、クライアント105は、当該の中断の通知を受信しなくてよい。
更なる一側面では、図2B、3B、3C、4、5B、および6Bの例示的方法のような、本発明の技術のうちのいずれかを互いに1つ以上組み合わせて実施することができる。一実施態様では、ピアツーピアルーティング技術を、疑似確認応答および/またはMTU調整技術とともに実施することが可能である。これは、TCPの任意の信頼性機構による待ち時間を回避し、暗号化のオーバーヘッドによるフラグメンテーションを減じながら、より最適かつ直接的な経路を介してピアに接続するために、および安全なSSL/TCP/IP接続を通じてUDPを介してリアルタイムデータを通信するために、VoIPのようなリアルタイムデータを通信するクライアントを提供する。加えて、この実施態様は、さらにクライアント側のアプリケーション認識の優先順位付け技術および/またはネットワークの混乱から保護する技術と組み合わせることが可能である。このように、安全なリアルタイムデータ通信は、VoIPのようなリアルタイムエクスペリエンスの品質を向上させるために、クライアントの他のアプリケーションよりも高い優先順位でクライアントから送信することができる。ネットワークの混乱から保護する技術によって、ノートブックのソフト電話のようなVoIP電話は、ネットワークのアクセスポイント間を移動して、自動的にセッションを継続することができるようになる。
本発明の技術は、例えばSSL VPNゲートウェイを通じたVoIP通信でのような、ネットワーク通信の最適化に対して相互補完的である。このように、1)ピアツーピアルーティング技術、2)疑似確認応答技術、3)ペイロードシフティング技術、4)MTU調整技術、5)クライアント側のアプリケーション認識技術、および5)本発明のネットワークの混乱から保護する技術、のそれぞれは、次の本発明の技術および最適化のうちの1つ以上とともに実施することが可能である:1)ピアツーピアルーティング技術、2)疑似確認応答技術、3)ペイロードシフティング技術、4)MTU調整技術、5)クライアント側のアプリケーション認識技術、および/または5)ネットワークの混乱から保護する技術。
本発明の更なる例示的な一例では、GoToMeeting.com、WebEx.com、またはLiveMeeting.comのホストされたサービスのような、オンラインミーティングは、本発明の技術を1つ以上組み合わせて使用することが可能である。ホストサービスは、ミーティングプレゼンタの第1のコンピューティングデバイスと、ミーティング出席者の第2のコンピューティングデバイスとの間のピアツーピア通信を容易にするために、ゲートウェイ340、および例示的方法260の技術を使用することが可能である。ミーティングプレゼンタおよび出席者のコンピューティングデバイスは、ホストサービス、リモートアクセスクライアント120、またはそのいずれかの部分を介してダウンロードすることが可能である。ミーティングプレゼンタおよびミーティング出席者がピアツーピア接続を確立すると、ピアコンピューティングデバイスは、それらの通信を最適化するために、MTU調整技術、クライアント側のアプリケーション認識技術、またはネットワークの混乱から保護する技術のような、本発明の最適化技術のうちのいずれかを使用することが可能である。ピアツーピアルーティングとともに、本発明の最適化技術は、オンラインミーティング、コラボレーション、またはデスクトップシェアリングの性能、効率、およびユーザーエクスペリエンスを向上させる。
更なる側面および図2Aを考慮して、例えば、本発明のリモートアクセスクライアント120は、ハートウェアまたはソフトウェアベースのVoIP電話のような通信デバイス210aおよび210bに、動的ホスト構成プロトコル(DHCP)のIPアドレス、または公的に可視的なIPアドレスを配信することができる。本発明のゲートウェイ340は、図2Aに示されるクライアント105bのような、クライアントのパブリックIPアドレスの発見を容易にする。このように、本発明の技術によって、プロトコルは、機能を継続するために、プロトコルを通じてそれらのIPアドレスを通信できるようになる。
多くの変更および改良は、本発明の精神と範囲から逸脱することなく、当業者によって行うことが可能である。したがって、図示した実施態様は、例示目的のためだけに示されたものであり、本発明を制限するものと捉えるべきではなく、以下の請求項によって定義されるものである、と明白に理解されたい。これらの請求項は、上述の図に示して説明したものと他の点において同じではなくても、字義通りに記述されたもの、また非現実的に異なる同等の要素を含むものとして読み取られるべきである。
ネットワーク環境において、ゲートウェイを介して本発明のオペレーションを実施するための一実施態様を示すブロック図である。 ピアツーピアネットワーク環境において、本発明のオペレーションを実施するための別の実施態様を示すブロック図である。 ネットワーク通信のための本発明のリモートアクセスクライアントの一実施態様を示すブロック図である。 および 本発明の一実施態様の実施に有用な、コンピューティングデバイスの実施態様を示すブロック図である。 ピアツーピア通信経路を確立するために本発明の技術の一実施態様を実施するためのピアツーピアネットワーク環境の一実施態様を示すブロック図である。 本発明のピアツーピア経路最適化技術を最適化するために行われるステップの一実施態様を示すフロー図である。 図1A乃至1Cに示される例示的な環境のコンピューティングデバイスのうちのいずれかのネットワークスタックの一実施態様を示すブロック図である。 不可逆プロトコルを介した送信のために構成した可逆プロトコルを介して通信するために、ネットワークパケットの受信の擬似確認応答を使用するために行われるステップの一実施態様を示すフロー図である。 不可逆プロトコルを介した送信のために構成した可逆プロトコルを介して通信するために行われるステップの一実施態様を示すフロー図である。 最大送信単位パラメータを調整するために行われるステップの一実施態様を示すフロー図である。 クライアント側のアプリケーション認識の優先順位付け技術を提供するための、クライアントの環境を示すブロック図である。 クライアント側のアプリケーション認識の優先順位付けを提供するために行われるステップの一実施態様を示すフロー図である。 デバイスをネットワークの混乱から保護するための装置の環境を示すブロック図である。 デバイスをネットワークの混乱から保護するために行われるステップの一実施態様を示すフロー図である。

Claims (179)

  1. 第1のネットワーク上の第1のコンピューティングデバイスと第2のネットワーク上の第2のコンピューティングデバイスとの間にピアツーピア通信セッションを確立するための方法であって、前記第1のネットワークは前記第2のネットワークから切断され、前記第2のネットワークへのルーティングが不可能であり、前記方法は、
    (a)前記第1のコンピューティングデバイスによって、第3のコンピューティングデバイスとの第1のトンネリングセッションを確立し、前記第2のコンピューティングデバイスによって、前記第3のコンピューティングデバイスとの第2のトンネリングセッションを確立するステップと、
    (b)前記第1のコンピューティングデバイスによって、前記第3のコンピューティングデバイスを介して、前記第2のコンピューティングデバイスへの通信セッションを開始するステップと、
    (c)サーバーによって、前記通信セッションを確立するために信号を受信するステップと、
    (d)前記サーバーによって、前記第1のコンピューティングデバイスに、前記第2のトンネリングセッションに関連付けられた前記第2のコンピューティングデバイスのネットワークアドレスを含む、第1のネットワークアドレスを通信するステップと、
    (e)前記第1のコンピューティングデバイスによって、前記第1のネットワークアドレスを使用して前記第2のコンピューティングデバイスとの接続を開始するために、リクエストを通信するステップと、
    (f)前記第3のコンピューティングデバイスによって、前記リクエストをインターセプトして、前記第1のコンピューティングデバイスに前記第2のコンピューティングデバイスの第2のネットワークアドレスを提供するステップであって、前記第2のネットワークアドレスは、前記第2のコンピューティングデバイスに関連付けられたパブリックネットワークアドレスを含む、ステップと、
    (g)前記第3のコンピューティングデバイスによって、前記第2のネットワークアドレスを使用して、前記第1のコンピューティングデバイスからの接続を可能にするために、前記第2のコンピューティングデバイスにリクエストを通信するステップと、を含む方法。
  2. 前記第1のトンネリングセッションまたは前記第2のトンネリングセッションのうちの1つの少なくとも一部は、セキュアソケットレイヤーまたは仮想プライベートネットワークのうちの1つを含む、請求項1に記載の方法。
  3. 前記第3のコンピューティングデバイスは、リモートアクセスゲートウェイを含む、請求項1に記載の方法。
  4. 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する、請求項1に記載の方法。
  5. 前記第3のコンピューティングデバイスによって、前記第1のトンネリングセッションを介して、前記第1のコンピューティングデバイスに帯域外の信号を通信することにより、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供するステップを含む、請求項1に記載の方法。
  6. 前記第2のコンピューティングデバイスによって、前記第2のネットワークアドレスを使用して前記第2のコンピューティングデバイスへ通信するために、前記第1のコンピューティングデバイスにファイアウォール内のフォワードホールを提供するステップを含む、請求項1に記載の方法。
  7. 前記第3のコンピューティングデバイスによって、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスに鍵を通信するステップを含む、請求項1に記載の方法。
  8. 前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに前記鍵を通信するステップを含む、請求項7に記載の方法。
  9. 前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスにデータを送信する前に、前記第2のコンピューティングデバイスから受信した前記鍵が、前記第1のコンピューティングデバイスの鍵に一致することを確認するステップを含む、請求項8に記載の方法。
  10. 前記第2のコンピューティングデバイスによって、前記第1のコンピューティングデバイスに前記鍵を通信するステップを含む、請求項7に記載の方法。
  11. 前記第2のコンピューティングデバイスによって、前記第2のコンピューティングデバイスにデータを送信する前に、前記第1のコンピューティングデバイスから受信した前記鍵が、前記第2のコンピューティングデバイスの鍵に一致することを確認するステップを含む、請求項10に記載の方法。
  12. 第1の通信デバイスを前記第1のコンピューティングデバイスに関連付け、第2の通信デバイスを前記第2のコンピューティングデバイスに関連付けるステップを含む、請求項1に記載の方法。
  13. 前記第1の通信デバイスまたは前記第2の通信デバイスのうちの1つは、ソフトウェアコンポーネントまたはハードウェアコンポーネントのうちの1つを備える、請求項12に記載の方法。
  14. 前記接続を介して、前記第1の通信デバイスと前記第2の通信デバイスとの間の通信セッションを確立するステップを含む、請求項12に記載の方法。
  15. 前記第1のコンピューティングデバイスにトラバースせずに、前記通信セッションを通じて、前記第1の通信デバイスと前記第2の通信デバイスとの間を通信するステップを含む、請求項15に記載の方法。
  16. 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の前記接続を介して、リモートディスプレイプロトコルを通信するステップを含む、請求項1に記載の方法。
  17. リモートデスクトッププロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルのうちの1つを含む、請求項16に記載の方法。
  18. 前記接続を介して、前記第1のコンピューティングデバイスのスクリーンビューを前記第2のコンピューティングデバイスと共有するステップを含む、請求項1に記載の方法。
  19. ゲートウェイにおいて、第1のネットワーク上の第1のコンピューティングデバイスと第2のネットワーク上の第2のコンピューティングデバイスとの間にピアツーピア通信セッションを確立するための方法であって、前記第1のネットワークは前記第2のネットワークから切断され、前記第2のネットワークへのルーティングが不可能であり、前記方法は、
    (a)第1のネットワーク上の前記第1のコンピューティングデバイスとの第1のトンネリングセッションを確立するステップと、
    (b)前記第2のネットワーク上の前記第2のコンピューティングデバイスとの第2のトンネリングセッションを確立するステップと、
    (c)前記第2のコンピューティングデバイスとの通信セッションを開始するために、前記第1のコンピューティングデバイスによってリクエストを受信するステップと、
    (d)前記第1のコンピューティングデバイスに、前記第2のコンピューティングデバイスと交信するための第1のネットワークアドレスを提供するステップであって、前記第1のネットワークアドレスは、前記第2のトンネリングセッションに関連付けられた前記第2のコンピューティングデバイスのネットワークアドレスを含むステップと、
    (e)前記第1のネットワークアドレスを使用して、前記第2のコンピューティングデバイスとの接続を開始するために、前記第1のコンピューティングデバイスによってリクエストを受信するステップと、
    (f)前記接続を開始するために前記リクエストをインターセプトし、前記第1のコンピューティングデバイスに前記第2のコンピューティングデバイスの第2のネットワークアドレスを提供するステップであって、前記第2のネットワークアドレスは、前記第2のコンピューティングデバイスに関連付けられたパブリックネットワークアドレスを含むステップと、
    (g)前記第2のネットワークアドレスを使用して、前記第1のコンピューティングデバイスから前記第2のコンピューティングデバイスへの接続を可能にするために、前記第2のコンピューティングデバイスにリクエストを通信するステップと、を含む方法。
  20. 前記第1のトンネリングセッションまたは前記第2のトンネリングセッションのうちの1つの少なくとも一部は、セキュアソケットレイヤーまたは仮想プライベートネットワークのうちの1つを含む、請求項19に記載の方法。
  21. 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する、請求項19に記載の方法。
  22. 前記第1のトンネリングセッションを介して、前記第1のコンピューティングデバイスに帯域外の信号を通信することにより、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供するステップを含む、請求項19に記載の方法。
  23. 前記第1のコンピューティングデバイスに鍵を通信するステップを含む、請求項19に記載の方法。
  24. 前記第2のコンピューティングデバイスに鍵を通信するステップを含む、請求項19に記載の方法。
  25. 第3のコンピューティングデバイスを介して、第1のネットワーク上の第1のコンピューティングデバイスと第2のネットワーク上の第2のコンピューティングデバイスとの間にピアツーピア通信セッションを確立するためのシステムであって、前記第1のネットワークは前記第2のネットワークから切断され、前記第2のネットワークへのルーティングが不可能であり、前記システムは、
    前記第1のネットワーク上の第1のコンピューティングデバイスと、
    前記第2のネットワーク上の第2のコンピューティングデバイスと、
    前記第1のコンピューティングデバイスとの第1のトンネリングセッションおよび、前記第2のコンピューティングデバイスとの第2のトンネリングセッションを確立する第3のコンピューティングデバイスと、
    前記第3のコンピューティングデバイスを介してアクセス可能なサーバーと、を備え、
    前記サーバーは、前記第3のコンピューティングデバイスを介して、前記第1のコンピューティングデバイスに、前記第2のトンネリングセッションに関連付けられた前記第2のコンピューティングデバイスのネットワークアドレスを含む、第1のネットワークアドレスを通信し、
    前記第1のコンピューティングデバイスは、前記第1のネットワークアドレスを使用して前記第2のコンピューティングデバイスとの接続を開始するために、前記第3のコンピューティングデバイスを介して、第1のリクエストを通信し、
    前記第3のコンピューティングデバイスは、前記第1のリクエストをインターセプトし、前記第1のコンピューティングデバイスに前記第2のコンピューティングデバイスの第2のネットワークアドレスを提供し、前記第2のネットワークアドレスは、前記第2のコンピューティングデバイスに関連付けられたパブリックネットワークアドレスを含み、
    前記第3のコンピューティングデバイスは、前記第2のネットワークアドレスを使用して、前記第1のコンピューティングデバイスからの接続を可能にするために、前記第2のコンピューティングデバイスに第2のリクエストを通信する、システム。
  26. 前記第1のトンネリングセッションまたは前記第2のトンネリングセッションのうちの1つの少なくとも一部は、セキュアソケットレイヤーまたは仮想プライベートネットワークのうちの1つを含む、請求項25に記載のシステム。
  27. 前記第3のコンピューティングデバイスは、リモートアクセスゲートウェイを含む、請求項25に記載のシステム。
  28. 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する、請求項25に記載のシステム。
  29. 前記第3のコンピューティングデバイスは、前記第1のトンネリングセッションを介して、帯域外の信号を通信することによって、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供する、請求項25に記載のシステム。
  30. 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスを使用して、前記第2のコンピューティングデバイスへ通信するために、前記第1のコンピューティングデバイスにファイアウォール内のフォワードホールを提供する、請求項25に記載のシステム。
  31. 前記第3のコンピューティングデバイスは、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスに鍵を通信する、請求項25に記載のシステム。
  32. 前記第1のコンピューティングデバイスは、前記第2のコンピューティングデバイスに前記鍵を通信する、請求項31に記載のシステム。
  33. 前記第1のコンピューティングデバイスは、前記第2のコンピューティングデバイスにデータを送信する前に、前記第2のコンピューティングデバイスから受信した前記鍵が、前記第1のコンピューティングデバイスの鍵に一致することを確認する、請求項32に記載のシステム。
  34. 前記第2のコンピューティングデバイスは、前記第1のコンピューティングデバイスに前記鍵を通信する、請求項31に記載のシステム。
  35. 前記第2のコンピューティングデバイスは、前記第2のコンピューティングデバイスにデータを送信する前に、前記第1のコンピューティングデバイスから受信した前記鍵が、前記第2のコンピューティングデバイスの鍵に一致することを確認する、請求項34に記載のシステム。
  36. 前記第1のコンピューティングデバイスに関連付けられた第1の通信デバイスと、前記第2のコンピューティングデバイスに関連付けられた第2の通信デバイスと、を備える、請求項25に記載のシステム。
  37. 前記第1の通信デバイスまたは前記第2の通信デバイスのうちの1つは、ソフトウェアコンポーネントまたはハードウェアコンポーネントのうちの1つを備える、請求項36に記載のシステム。
  38. 前記第1の通信デバイスは、前記接続を介して、前記第2の通信デバイスとの通信セッションを確立する、請求項37に記載のシステム。
  39. 前記第1の通信デバイスは、前記第3のコンピューティングデバイスをトラバースせずに、前記通信セッションを通じて、前記第2の通信デバイスと通信する、請求項38に記載のシステム。
  40. 前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスは、前記接続を介して、リモートディスプレイプロトコルを通信する、請求項25に記載のシステム。
  41. リモートデスクトッププロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルのうちの1つを含む、請求項25に記載のシステム。
  42. 前記第1のコンピューティングデバイスは、前記接続を介して、スクリーンビューを前記第2のコンピューティングデバイスと共有する、請求項25に記載のシステム。
  43. 第1のネットワーク上の第1のコンピューティングデバイスと第2のネットワーク上の第2のコンピューティングデバイスとの間にピアツーピア通信セッションを確立するためのゲートウェイであって、前記第1のネットワークは前記第2のネットワークから切断され、前記第2のネットワークへのルーティングが不可能であり、前記ゲートウェイは、
    第1のネットワーク上の前記第1のコンピューティングデバイスとの第1のトンネリングセッションを確立するための手段と、
    前記第2のネットワーク上の前記第2のコンピューティングデバイスとの第2のトンネリングセッションを確立するための手段と、
    前記第2のコンピューティングデバイスとの通信セッションを開始するために、前記第1のコンピューティングデバイスによってリクエストを受信するための手段と、
    前記第1のコンピューティングデバイスに、前記第2のコンピューティングデバイスと交信するための第1のネットワークアドレスを提供するための手段であって、前記第1のネットワークアドレスは、前記第2のトンネリングセッションに関連付けられた前記第2のコンピューティングデバイスのネットワークアドレスを含む手段と、
    前記第1のネットワークアドレスを使用して、前記第2のコンピューティングデバイスとの接続を開始するために、前記第1のコンピューティングデバイスによってリクエストを受信するための手段と、
    前記接続を開始するために前記リクエストをインターセプトし、前記第1のコンピューティングデバイスに前記第2のコンピューティングデバイスの第2のネットワークアドレスを提供するための手段であって、前記第2のネットワークアドレスは、前記第2のコンピューティングデバイスに関連付けられたパブリックネットワークアドレスを含む手段と、
    前記第2のネットワークアドレスを使用して、前記第1のコンピューティングデバイスから前記第2のコンピューティングデバイスへの前記接続を可能にするために、前記第2のコンピューティングデバイスにリクエストを通信するための手段と、を備えるゲートウェイ。
  44. 前記第1のトンネリングセッションまたは前記第2のトンネリングセッションのうちの1つの少なくとも一部は、セキュアソケットレイヤーまたは仮想プライベートネットワークのうちの1つを含む、請求項43に記載のシステム。
  45. 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する、請求項43に記載のシステム。
  46. 前記第1のトンネリングセッションを介して、前記第1のコンピューティングデバイスに帯域外の信号を通信することにより、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供するための手段を備える、請求項43に記載のシステム。
  47. 前記第1のコンピューティングデバイスに鍵を通信するための手段を備える、請求項43に記載のシステム。
  48. 前記第2のコンピューティングデバイスに鍵を通信するための手段を備える、請求項43に記載のシステム。
  49. 不可逆プロトコルを介した送信のために構成されたパケットを可逆プロトコルを介して通信するための方法であって、
    (a)可逆プロトコルを介して、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間の接続を確立するステップと、
    (b)前記第1のコンピューティングデバイスによって、不可逆プロトコルに従って構成される1つ以上のパケットを有するペイロードを含む可逆プロトコルパケットを検出するステップと、
    (c)前記第1のコンピューティングデバイスによって、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つに、前記可逆プロトコルパケットの受信の擬似確認応答を通信するステップと、
    (d)前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに、前記可逆プロトコルパケットを通信するステップと、を含む方法。
  50. 前記第1のコンピューティングデバイスによって、鍵を使用して前記1つ以上のパケットを暗号化するステップを含む、請求項49に記載の方法。
  51. 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の帯域外のトランスポートセキュリティレイヤーセッションを介して、前記第1のコンピューティングデバイスに、暗号鍵を提供するステップを含む、請求項50に記載の方法。
  52. パケット単位で前記1つ以上のパケットを暗号化するステップを含む、請求項49に記載の方法。
  53. ステップ(d)の前に、ステップ(c)を行うステップをさらに含む、請求項49に記載の方法。
  54. 前記第2のコンピューティングデバイスは、ゲートウェイである、請求項49に記載の方法。
  55. 前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つによる、前記可逆プロトコルパケットの受信の擬似確認応答の受信に応えて、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つのネットワークスタックが、前記可逆プロトコルの可逆特性の提供に関連するオペレーションを実行しないようにするステップを含む、請求項49に記載の方法。
  56. 前記可逆プロトコルは、トランスポート制御プロトコルを含む、請求項49に記載の方法。
  57. 前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つの前記ネットワークスタックが、前記可逆プロトコルとともに、再送信、順序付け、フロー制御アルゴリズム、Napleのアルゴリズム、およびスライディングウィンドウアルゴリズムのうちの1つ以上を実行しないようにするステップを含む、請求項56に記載の方法。
  58. 前記不可逆プロトコルは、ユーザーデータグラムプロトコルを含む、請求項49に記載の方法。
  59. 前記第1のコンピューティングデバイスによって、セキュアソケットレイヤーまたはトランスポートセキュリティレイヤートンネルのうちの1つを介して、前記第2のコンピューティングデバイスに、前記可逆プロトコルを通信するステップを含む、請求項49に記載の方法。
  60. 前記1つ以上のパケットは、リアルタイムプロトコルを含む、請求項49に記載の方法。
  61. 前記第1のコンピューティングデバイスによって、前記1つ以上のパケットを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するステップを含む、請求項49に記載の方法。
  62. 不可逆プロトコルを介した送信のために構成されたパケットを可逆プロトコルを介して通信するためのシステムであって、
    可逆プロトコルを介して、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間の接続を確立するための手段と、
    前記第1のコンピューティングデバイスによって、不可逆プロトコルに従って構成される1つ以上のパケットを有するペイロードを含む可逆プロトコルパケットを検出するための手段と、
    前記第1のコンピューティングデバイスによって、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つに、前記可逆プロトコルパケットの受信の擬似確認応答を通信するための手段と、
    前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに、前記可逆プロトコルパケットを通信するための手段と、を備えるシステム。
  63. 前記第1のコンピューティングデバイスによって、鍵を使用して前記1つ以上のパケットを暗号化するための手段を備える、請求項62に記載のシステム。
  64. 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の帯域外のトランスポートセキュリティレイヤーセッションを介して、前記第1のコンピューティングデバイスに、暗号鍵を提供するための手段を備える、請求項63に記載のシステム。
  65. パケット単位で前記1つ以上のプロトコルパケットを暗号化するための手段を備える、請求項63に記載のシステム。
  66. 前記可逆プロトコルパケットを通信する前に、前記可逆プロトコルパケットの受信の疑似確認応答を通信するための手段をさらに備える、請求項62に記載のシステム。
  67. 前記第2のコンピューティングデバイスは、ゲートウェイである、請求項62に記載のシステム。
  68. 前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つによって、前記可逆プロトコルパケットの受信の疑似確認応答の受信に応えて、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つのネットワークスタックが、前記可逆プロトコルの可逆特性の提供に関連するオペレーションを実行しないようにするための手段を備える、請求項62に記載のシステム。
  69. 前記可逆プロトコルは、トランスポート制御プロトコルを含む、請求項62に記載のシステム。
  70. 前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つの前記ネットワークスタックが、前記可逆プロトコルとともに、再送信、順序付け、およびフロー制御アルゴリズムのうちの1つ以上を実行しないようにするための手段を備える、請求項69に記載のシステム。
  71. 前記不可逆プロトコルは、ユーザーデータグラムプロトコルを含む、請求項62に記載のシステム。
  72. 前記第1のコンピューティングデバイスによって、セキュアソケットレイヤーまたはトランスポートセキュリティレイヤートンネルのうちの1つを介して、前記第2のコンピューティングデバイスに、前記可逆プロトコルを通信するための手段を備える、請求項62に記載のシステム。
  73. 前記1つ以上のパケットは、リアルタイムプロトコルを含む、請求項62に記載のシステム。
  74. 前記第1のコンピューティングデバイスによって、前記1つ以上のパケットを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するための手段を備える、請求項62に記載のシステム。
  75. TCP接続を通じて、信頼できないトランスポートプロトコルを使用して、アプリケーションからパケットを送信するための方法であって、
    第1のデバイスにおいて、信頼できないトランスポートプロトコルを使用して送信される第1のパケットを受信するステップと、
    前記受信した第1のパケットの第1のペイロードを含む第1のTCPパケットと、前記第1のデバイスと第2のデバイスとの間に確立されたTCP接続に関連する情報の第1のTCPヘッダーと、を作成するステップと、
    前記第1のデバイスによって、前記第2のデバイスに前記第1のTCPパケットを送信するステップと、
    前記第1のデバイスにおいて、信頼できないトランスポートプロトコルを使用して送信される第2のパケットを受信するステップと、
    前記受信した第2のパケットの第2のペイロードを含む第2のTCPパケットと、前記第1のTCPヘッダー情報と、を作成するステップと、
    前記第1のデバイスによって、前記第2のデバイスから前記第1のペイロードの受信の確認応答を受信する前に、前記第2のデバイスに前記第2のTCPパケットを送信するステップと、を含む方法。
  76. 前記信頼できないトランスポートプロトコルに関連付けられたポート番号でTCP接続を確立するステップを含む、請求項75に記載の方法。
  77. 前記第1のデバイスによって、前記第1のTCPパケットおよび前記第2のTCPパケットが、信頼できないトランスポートプロトコルを含むことを動的に判断するステップを含む、請求項75に記載の方法。
  78. 前記信頼できないトランスポートプロトコルは、UDPである、請求項75に記載の方法。
  79. パケット取得機構を使用して、前記第1のTCPパケットおよび前記第2のTCPパケットをインターセプトすることによって、前記第1のデバイス上の前記前記第1のTCPパケットおよび前記第2のTCPパケットを受信するステップをさらに含む、請求項75に記載の方法。
  80. 前記第1のデバイスによって、VPNゲートウェイデバイスとの前記TCP接続を確立するステップを含む、請求項75に記載の方法。
  81. 前記TCP接続を介して、前記第1のデバイスと前記第2のデバイスとの間にピアツーピア通信を確立するステップを含む、請求項75に記載の方法。
  82. 前記第1のデバイスによって、前記第1および第2のTCPパケットを暗号化し、前記第2のデバイスによって、前記暗号化された第1および第2のTCPパケットを解読するステップを含む、請求項75に記載の方法。
  83. TCP接続を通じて、信頼できないトランスポートプロトコルを使用して、アプリケーションからパケットを送信するための方法であって、
    第2のデバイスにおいて、第1のデバイス上に作成され、前記第2のデバイス上で受信する第1のTCPパケットをインターセプトするステップであって、前記第1のTCPパケットは、信頼できないプロトコルおよび前記第1のデバイスと前記第3のデバイスとの間に確立されたTCP接続に関連する情報の第1のTCPヘッダーを使用したアプリケーションによって生成される第1のパケットの第1のペイロードを含み、前記インターセプトは、前記第1のTCPパケットが前記第2のデバイス上のTCPスタックに提供される前に生じる、ステップと、
    前記情報のTCPヘッダーに応答して、前記第1のペイロードが、信頼できないトランスポートプロトコルを使用したアプリケーションによって生成されたパケットであることを識別するステップと、
    前記第1のTCPパケットから前記情報のTCPヘッダーを取り除くステップと、
    前記信頼できないデータプロトコルを使用して、アプリケーションに前記第1のペイロードを転送するステップと、を含む方法。
  84. 前記信頼できないプロトコルは、UDPである、請求項83に記載の方法。
  85. 前記識別するステップは、前記TCPヘッダー情報が、前記信頼できないトランスポートプロトコルに関連付けられたポート番号を含むことを識別するステップを含む、請求項83に記載の方法。
  86. 前記第2のデバイスによって、パケット取得ドライバを使用して、前記第1のTCPパケットをインターセプトするステップをさらに含む、請求項83に記載の方法。
  87. 前記第1のデバイスは、クライアントデバイスであり、前記第2のデバイスはVPNゲートウェイである、請求項83に記載の方法。
  88. 前記アプリケーションに前記第1のペイロードを転送する前に、第2のデバイス上でネットワークアドレス変換(NAT)を行うステップをさらに含む、請求項87に記載の方法。
  89. TCP接続を通じて、信頼できないトランスポートプロトコルを使用して、アプリケーションからパケットを送信するためのシステムであって、
    第1のデバイスであって、
    第1および第2のパケットを生成するアプリケーションであって、前記第1および第2のパケットは、信頼できないトランスポートプロトコルを使用して送信される、アプリケーションと、
    フィルタプロセスであって、前記アプリケーションから前記第1および第2のパケットをインターセプトして、トンネルプロセスに前記インターセプトされたパケットを転送する、フィルタプロセスと、
    トンネルプロセスであって、前記第1のデバイスと第2のデバイスとの間のTCP接続を開くことをリクエストし、前記TCP接続を開くための前記リクエストは、前記TCP接続が、信頼できないトランスポートプロトコルで送信されることを意図したパケットを送信することを前記第1および第2のデバイスに示し、前記トンネルプロセスは、前記第2のデバイスに、第1および第2のTCPパケット内のペイロードとして前記第1および第2のパケットを転送し、前記トンネルプロセスは、前記第1のTCPパケットを送信した後かつ前記第1のTCPパケットに対する確認応答を受信する前に、前記第2のTCPパケットを送信する、トンネルプロセスと、
    を備える第1のデバイスと、
    第1のデバイスと通信する第2のデバイスであって、
    前記第1のデバイスによってリクエストされた前記TCP接続を開く第2のトンネルプロセスであって、前記TCP接続のソースアドレスを識別して第2のフィルタプロセスに転送する、第2のトンネルプロセスと、
    前記第2のフィルタプロセスであって、ヘッダー内の前記TCP接続のソースアドレスとともに、前記第2のデバイスにおいて受信した前記アプリケーションからのパケットをインターセプトし、前記第2のフィルタプロセスは、前記受信したパケットから前記TCPヘッダーを取り除いて、前記第2のデバイス上のTCP/IPスタックを迂回して、目的とする宛先に前記取り除いたパケットを転送する、第2のフィルタプロセスと、
    を備える第2のデバイスと、
    を備えるシステム。
  90. 前記第1のデバイス上の前記フィルタプロセスは、パケット取得ドライバを備える、請求項89に記載のシステム。
  91. 前記第2のデバイス上の前記第2のフィルタプロセスは、パケット取得ドライバを備える、請求項89に記載のシステム。
  92. 前記第1のデバイスは、クライアントデバイスであり、前記第2のデバイスはVPNゲートウェイデバイスである、請求項89に記載のシステム。
  93. 前記取り除かれたパケットが送信される、第3のデバイスをさらに備える、請求項89に記載のシステム。
  94. 前記第2のデバイスは、第3のデバイスに前記取り除いたパケットを送信する前に、ネットワークアドレス変換を行うために使用するネットワークアドレス変換(NAT)テーブルをさらに備える、請求項93に記載のシステム。
  95. 前記信頼できないデータプロトコルは、UDPである、請求項89に記載のシステム。
  96. ネットワークのフラグメンテーションを低減するために、安全なネットワーク通信の最大送信単位を調整するための方法であって、
    (a)第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間にセッションを確立するステップであって、前記第1のコンピューティングデバイスは、第1のネットワークスタックを有する、ステップと、
    (b)前記第1のコンピューティングデバイスによって、暗号化されたペイロードを有するネットワークパケットを検出するステップと、
    (c)前記第1のコンピューティングデバイスによって、少なくとも、前記ペイロードの暗号化された部分に関連するサイズだけ、前記最大送信単位サイズを減じるために、前記第1のネットワークスタックの最大送信単位パラメータの設定を決定するステップと、
    (d)前記決定された設定に、前記第1のネットワークスタックの前記最大送信単位を変更するステップと、を含む方法。
  97. セキュアソケットレイヤーまたはトランスポートレイヤーセキュリティトンネルのうちの1つを介して、前記第2のコンピューティングデバイスに前記ネットワークパケットを通信するステップを含む、請求項96に記載の方法。
  98. 前記ペイロードは、リアルタイムプロトコルを含む、請求項96に記載の方法。
  99. 前記第1のネットワークスタックのネットワークドライバインターフェース規約のレベル機構を介して、前記最大送信単位のパラメータを変更するステップをさらに含む、請求項96に記載の方法。
  100. 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションごとに、前記最大送信単位の設定を動的に決定するステップをさらに含む、請求項96に記載の方法。
  101. ゲートウェイを介して、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションを確立するステップを含む、請求項96に記載の方法。
  102. 前記第1のコンピューティングデバイスによって、前記ネットワークパケットの前記ペイロードを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するステップを含む、請求項96に記載の方法。
  103. 前記ネットワークパケットを通信する前に、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つに、前記ネットワークパケットの受信の疑似確認応答を通信するステップを含む、請求項96に記載の方法。
  104. 前記第1のコンピューティングデバイスのエージェントを介して、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の前記セッションを確立するステップをさらに含む、請求項96に記載の方法。
  105. 前記エージェントによって、前記決定された設定に対する前記最大送信単位を変更するために、IOCTLアプリケーションプログラミングインタフェースを介して、前記第1のネットワークスタックに通信するステップを含む、請求項104に記載の方法。
  106. ネットワークのフラグメンテーションを低減するために、安全なネットワーク通信の最大送信単位を調整するためのシステムであって、
    第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間にセッションを確立するための手段であて、前記第1のコンピューティングデバイスは、第1のネットワークスタックを有する、手段と、
    前記第1のコンピューティングデバイスによって、暗号化されたペイロードを有するネットワークパケットを検出するための手段と、
    前記第1のコンピューティングデバイスによって、少なくとも、前記ペイロードの暗号化された部分に関連するサイズだけ、前記最大送信単位サイズを減じるために、前記第1のネットワークスタックの最大送信単位パラメータの設定を決定するための手段と、
    前記決定された設定に、前記第1のネットワークスタックの前記最大送信単位を変更するための手段と、を備えるシステム。
  107. セキュアソケットレイヤーまたはトランスポートレイヤーセキュリティトンネルのうちの1つを介して、前記第2のコンピューティングデバイスに前記ネットワークパケットを通信するための手段を備える、請求項106に記載のシステム。
  108. 前記ペイロードは、リアルタイムプロトコルを含む、請求項106に記載のシステム。
  109. 前記ペイロードは、リアルタイムの音声、オーディオ、またはデータのうちの1つの表現を含む、請求項106に記載のシステム。
  110. 前記第1のネットワークスタックのネットワークドライバインターフェース規約のレベル機構を介して、前記第1のコンピューティングデバイスの前記最大送信単位パラメータを変更するための手段をさらに備える、請求項106に記載のシステム。
  111. 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションごとに、前記最大送信単位の設定を動的に決定するための手段をさらに備える、請求項106に記載のシステム。
  112. ゲートウェイを介して、前記前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションを確立するための手段を備える、請求項106に記載のシステム。
  113. 前記第1のコンピューティングデバイスによって、前記ネットワークパケットの前記ペイロードを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するための手段を備える、請求項106に記載のシステム。
  114. 前記ネットワークパケットを通信する前に、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つに、前記ネットワークパケットの受信の疑似確認応答を通信するための手段を備える、請求項106に記載のシステム。
  115. 前記ネットワークパケットは、可逆プロトコルパケットを含む、請求項106に記載のシステム。
  116. 前記可逆プロトコルパケットは、トランスポート制御プロトコルを含む、請求項115に記載のシステム。
  117. 前記ペイロードは、不可逆プロトコルパケットを含む、請求項106に記載のシステム。
  118. 前記不可逆プロトコルパケットは、ユーザーデータグラムプロトコルを含む、請求項117に記載のシステム。
  119. 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションを確立するための、前記第1のコンピューティングデバイスのエージェントを含む、請求項106に記載のシステム。
  120. 前記エージェントは、前記決定された設定に対する前記最大送信単位を変更するために、IOCTLアプリケーションプログラミングインタフェースを介して、前記第1のネットワークスタックに通信する、請求項119に記載のシステム。
  121. クライアントが、前記クライアントのアプリケーションに関連付けられた前記クライアントのネットワーク通信に優先順位をつけるための方法であって、
    (a)前記クライアントによって、前記クライアントの1つ以上のアプリケーションに関連付けられた1つ以上のネットワークパケットをインターセプトするステップと、
    (b)前記クライアントによって、キューに前記1つ以上のネットワークパケットを格納するステップと、
    (c)前記クライアントによって、前記キューに入れた1つ以上のネットワークパケットが、前記クライアントの第1のアプリケーションに関連付けられていることを判断するステップと、
    (d)前記クライアントによって、前記クライアントの第2のアプリケーションに関連付けられた前記キュー内の少なくとも1つのネットワークパケットの前に、前記判断された1つ以上のネットワークパケットを配置するために、前記判断された1つ以上のネットワークパケットの優先順位を示すステップと、
    (e)前記クライアントのネットワークスタックを介して、前記優先順位付けされた1つ以上のネットワークパケットを通信に提供するステップと、を含む方法。
  122. 前記判断するステップは、前記クライアントによって、前記第1のアプリケーションの前記キューに入れた1つ以上のネットワークパケットが、リアルタイムデータを含むことを判断するステップをさらに含む、請求項121に記載の方法。
  123. 前記リアルタイムデータは、リアルタイムプロトコル、ユーザーデータグラムプロトコル、および音声またはオーディオのうちの1つの表現、のうちの1つを含む、請求項122に記載の方法。
  124. 前記クライアントによって、少なくとも1つの前記第2のアプリケーションのネットワークパケットが、前記第1のアプリケーションの前記1つ以上のネットワークパケットの前に、前記ネットワークスタックを介して通信されないようにするステップを含む、請求項121に記載の方法。
  125. 前記クライアントによって、前記キュー内に前記第2のアプリケーションに関連付けられたネットワークパケットを保持して、前記保持されたネットワークパケットの前に順位付けされた、前記第1のアプリケーションに関連付けられた前記1つ以上のネットワークパケットの通信に応じて、前記保持されたネットワークパケットを解放するステップを含む、請求項121に記載の方法。
  126. 前記クライアントによって、前記クライアント上の前記1つ以上のアプリケーションに、前記1つ以上のネットワークパケットを透過的にインターセプトするステップを含む、請求項121に記載の方法。
  127. フォアグラウンドで前記第1のアプリケーションを実行し、バックグラウンドで前記第2のアプリケーションを実行するステップを含む、請求項121に記載の方法。
  128. 前記第1のアプリケーションの優先順位を、前記第2のアプリケーションに関連付けられた優先順位よりも高く関連付けるステップを含む、請求項121に記載の方法。
  129. ユーザーによって、前記第1のアプリケーションまたは前記第2のアプリケーションのうちの1つの優先順位を特定するステップを含む、請求項128に記載の方法。
  130. 前記クライアントによって、コンピューティングデバイスから前記1つ以上のネットワークパケットを受信するステップを含む、請求項121に記載の方法。
  131. 前記1つ以上のアプリケーションによって、コンピューティングデバイスに、前記クライアントから通信するための前記1つ以上のネットワークパケットを提供する、請求項121に記載の方法。
  132. クライアントであって、前記クライアントのアプリケーションに関連付けられた前記クライアントのネットワーク通信に優先順位を付け、
    前記クライアントの1つ以上のアプリケーションに関連付けられた前記クライアントの1つ以上のネットワークパケットをインターセプトするための機構、および
    キューに前記1つ以上のネットワークパケットを格納して、前記クライアントのネットワークスタックを介して、前記1つ以上のネットワークパケットを通信するためのネットワークドライバと、
    前記1つ以上のネットワークパケットが、前記クライアントの第1のアプリケーションに関連付けられていることを判断し、前記クライアントの第2のアプリケーションに関連付けられた前記キュー内の少なくとも1つのネットワークパケットの前に、前記判断された1つ以上のネットワークパケットを配置するために、前記1つ以上のネットワークパケットの優先順位を前記ネットワークドライバに示すためのエージェントと、を備えるクライアント。
  133. 前記エージェントは、前記第1のアプリケーションの前記1つ以上のネットワークパケットが、リアルタイムデータを含むことを判断する、請求項132に記載のクライアント。
  134. 前記リアルタイムデータは、リアルタイムプロトコル、ユーザーデータグラムプロトコル、および音声またはオーディオのうちの1つの表現、のうちの1つを含む、請求項132に記載のクライアント。
  135. 前記エージェントまたは前記ネットワークドライバのうちの1つは、少なくとも1つの前記第2のアプリケーションのネットワークパケットが、前記第1のアプリケーションの前記1つ以上のネットワークパケットの前に、前記ネットワークスタックを介して通信されないようにする、請求項132に記載のクライアント。
  136. 前記ネットワークドライバは、前記キュー内に前記第2のアプリケーションに関連付けられたネットワークパケットを保持して、前記保持されたネットワークパケットの前に順位付けされた、前記第1のアプリケーションに関連付けられた前記1つ以上のネットワークパケットの通信に応じて、前記保持されたネットワークパケットを解放する、請求項132に記載のクライアント。
  137. 前記機構は、前記クライアント上の前記1つ以上のアプリケーションに対して、前記1つ以上のネットワークパケットを透過的にインターセプトする、請求項132に記載のクライアント。
  138. 前記第1のアプリケーションは、前記フォアグランドで実行し、前記第2のアプリケーションは、前記バックグラウンドで実行する、請求項132に記載のクライアント。
  139. 前記第1のアプリケーションは、前記第2のアプリケーションよりも高い優先順位を有する、請求項132に記載のクライアント。
  140. ユーザーが、前記優先順位を特定するための構成機構を備える、請求項132に記載のクライアント。
  141. 前記クライアントは、コンピューティングデバイスから前記1つ以上のネットワークパケットを受信する、請求項132に記載のクライアント。
  142. 前記1つ以上のアプリケーションは、コンピューティングデバイスに、前記クライアントから通信するための前記1つ以上のネットワークパケットを提供する、請求項132に記載のクライアント。
  143. 前記ネットワークドライバは、ネットワークドライバインターフェース仕様(NDIS)ドライバを備える、請求項132に記載のクライアント。
  144. 前記ネットワークドライバは、前記クライアントのオペレーティングシステムのカーネルモードで動作する、請求項132に記載のクライアント。
  145. 前記エージェントは、前記クライアントのオペレーティングシステムのユーザーモードで動作する、請求項132に記載のクライアント。
  146. 前記エージェントまたは前記ネットワークドライバのうちの1つは、前記クライアントの1つ以上のネットワークパケットをインターセプトするための機構を備える、請求項132に記載のクライアント。
  147. 第1のプロトコルを介して確立されたセッションを、ネットワークの混乱から保護するための方法であって、
    (a)クライアントのエージェントを介して、前記クライアントとデバイスとの間のネットワーク接続を通じて第1のプロトコルを介したセッションを確立するステップであって、前記ネットワーク接続は、ネットワークスタックに関連付けられ、前記ネットワークスタックの第1の部分は、前記第1のプロトコルのレイヤーの下位に前記ネットワークスタックの1つ以上のレイヤーを備え、前記ネットワークスタックの第2の部分は、前記第1のプロトコルのためのレイヤーおよび前記第1のプロトコルの上位に前記ネットワークスタックの1つ以上のレイヤーを備える、ステップと、
    (b)前記ネットワークスタックの前記第1の部分の廃止を生じさせる、前記ネットワーク接続内の混乱を検出するステップと、
    (c)前記エージェントによって、前記混乱中に、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持するステップと、
    (d)前記セッションおよび前記ネットワークスタックの前記第2の部分を保持しながら、前記ネットワークスタックの前記第2の部分および前記ネットワーク接続を再確立するステップと、を含む方法。
  148. (e)前記ネットワークスタックの前記保持された第2の部分および前記ネットワークスタックの前記再確立された第1の部分との前記セッションを継続するステップを含む、請求項147に記載の方法。
  149. (e)前記ネットワークスタックの前記第2部分によって、混乱中に受信したあらゆるネットワークパケットをドロップするステップを含む、請求項147に記載の方法。
  150. 前記デバイスは、リモートアクセスゲートウェイまたはコンピューティングデバイスのうちの1つを備える、請求項147に記載の方法。
  151. セキュアソケットレイヤー(SSL)プロトコル、トランスポートレイヤーセキュリティ(TLS)プロトコル、およびトンネリングプロトコルのうちの1つの前記第1のプロトコルを介して、前記セッションを確立するステップをさらに含む、請求項147に記載の方法。
  152. 前記エージェントによって、前記クライアントおよび前記デバイスとの間の前記セッションを介して、リアルタイムデータを通信するステップを含む、請求項147に記載の方法。
  153. 前記リアルタイムデータは、リアルタイムプロトコルを含む、請求項152に記載の方法。
  154. 前記リアルタイムデータは、音声またはオーディオのうちの1つの表現を含む、請求項152に記載の方法。
  155. 前記エージェントを、前記クライアントのオペレーティングシステムのユーザーモードで動作させるステップを含む、請求項147に記載の方法。
  156. 前記ネットワークの前記第1の部分は、トランスポート制御プロトコルまたはインターネットプロトコルのうちの1つを備える、請求項147に記載の方法。
  157. 前記ネットワークスタックの前記第2の部分は、インターネットプロトコル、ユーザーデータグラムプロトコル、またはボイスオーバーインターネットプロトコルのうちの1つを備える、請求項147に記載の方法。
  158. リモートディスプレイプロトコルを介して、前記デバイスと通信する前記クライアントを備える、請求項147に記載の方法。
  159. 前記リモートディスプレイプロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルのうちの1つを備える、請求項158に記載の方法。
  160. 前記ネットワーク接続を介して通信する前記クライアントのアプリケーションに、ステップ(b)、(c)、および(d)のうちの1つを透過的に実行するステップを含む、請求項147に記載の方法。
  161. 前記エージェントによって、前記クライアントのアプリケーションに対して、前記アプリケーションに関連付けられた1つ以上のネットワークパケットを透過的にインターセプトするステップを含む、請求項147に記載の方法。
  162. 前記スタックの前記第2の部分に関連付けられたネットワークドライバによって、前記クライアント上の前記アプリケーションに対して、前記アプリケーションに関連付けられた1つ以上のネットワークパケットを透過的にインターセプトするステップを含む、請求項147に記載の方法。
  163. 第1のプロトコルを介して確立されたセッションを、ネットワークの混乱から保護するためのシステムであって、
    第1のプロトコルを介して、ネットワーク接続を通じて、前記クライアントとデバイスとの間のセッションを確立するクライアントのエージェントと、
    第1の部分および第2の部分を有するネットワークスタックであって、前記ネットワークスタックの前記第1の部分は、前記第1のプロトコルのレイヤーの下位に前記ネットワークスタックの1つ以上のレイヤーを備え、前記ネットワークスタックの第2の部分は、前記第1のプロトコルのためのレイヤーおよび前記第1のプロトコルの上位に前記ネットワークスタックの1つ以上のレイヤーを備える、ネットワークスタックと、
    前記ネットワークスタックの前記第2の部分の廃止を生じさせる、前記ネットワーク接続内の混乱を検出するための検出器と、を備え、
    前記検出器による前記廃止の検出に応じて、前記エージェントは、前記混乱中に、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持し、
    前記エージェントが、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持しながら、前記クライアントは、前記ネットワークスタックの前記第1の部分および前記ネットワーク接続を再確立する、システム。
  164. 前記エージェントは、前記ネットワークスタックの前記保持された第2の部分および前記ネットワークスタックの前記再確立された第1の部分との前記セッションを継続する、請求項163に記載のシステム。
  165. 前記ネットワークの前記第1の部分または前記第2の部分は、混乱中に受信したあらゆるネットワークパケットをドロップする、請求項163に記載のシステム。
  166. 前記デバイスは、リモートアクセスゲートウェイまたはコンピューティングデバイスのうちの1つを備える、請求項163に記載のシステム。
  167. 前記第1のプロトコルは、セキュアソケットレイヤー(SSL)プロトコル、トランスポートレイヤーセキュリティ(TLS)プロトコル、およびトンネリングプロトコルのうちの1つを備える、請求項163に記載のシステム。
  168. 前記エージェントは、前記クライアントおよび前記デバイスとの間の前記セッションを介して、リアルタイムデータを通信する、請求項163に記載のシステム。
  169. 前記リアルタイムデータは、リアルタイムプロトコルのうちの1つを含む、請求項168に記載のシステム。
  170. 前記リアルタイムデータは、音声またはオーディオのうちの1つの表現を含む、請求項168に記載のシステム。
  171. 前記エージェントは、前記クライアントのオペレーティングシステムのユーザーモードで動作する、請求項163に記載のシステム。
  172. 前記ネットワークスタックの前記第1の部分は、トランスポート制御プロトコルまたはインターネットプロトコルのうちの1つを備える、請求項163に記載のシステム。
  173. 前記ネットワークスタックの前記第2の部分は、インターネットプロトコル、ユーザーデータグラムプロトコル、またはボイスオーバーインターネットプロトコルのうちの1つを備える、請求項163に記載のシステム。
  174. 前記第1のプロトコルは、リモートディスプレイプロトコルを含む、請求項163に記載のシステム。
  175. 前記リモートディスプレイプロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルのうちの1つを備える、請求項174に記載のシステム。
  176. 前記エージェントは、アプリケーションに対して、前記クライアントの前記アプリケーションの1つ以上のネットワークパケットを透過的にインターセプトする、請求項163に記載のシステム。
  177. 前記ネットワークスタックの前記第2の部分に関連付けられたネットワークドライバを備え、前記ネットワークドライバは、アプリケーションに対して、前記クライアントの前記アプリケーションの1つ以上のネットワークパケットをインターセプトし、前記セッションを介して通信するために、前記エージェントに前記1つ以上のパケットを提供する、請求項163に記載のシステム。
  178. 前記ネットワークドライバは、ネットワークドライバインターフェース仕様(NDIS)ドライバを備える、請求項177に記載のシステム。
  179. 前記ネットワークドライバは、前記クライアントのオペレーティングシステムのカーネルモードで動作する、請求項177に記載のシステム。
JP2007522841A 2004-07-23 2005-07-22 ネットワークノード間の通信を最適化するためのシステムおよび方法 Pending JP2008507928A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US59083704P 2004-07-23 2004-07-23
US60143104P 2004-08-13 2004-08-13
US60742004P 2004-09-03 2004-09-03
US60881404P 2004-09-10 2004-09-10
PCT/US2005/026296 WO2006012610A2 (en) 2004-07-23 2005-07-22 Systems and methods for optimizing communications between network nodes

Publications (1)

Publication Number Publication Date
JP2008507928A true JP2008507928A (ja) 2008-03-13

Family

ID=35149192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007522841A Pending JP2008507928A (ja) 2004-07-23 2005-07-22 ネットワークノード間の通信を最適化するためのシステムおよび方法

Country Status (9)

Country Link
US (9) US9219579B2 (ja)
EP (2) EP2744175B1 (ja)
JP (1) JP2008507928A (ja)
KR (1) KR20070045282A (ja)
AU (2) AU2005266943C1 (ja)
CA (1) CA2574776A1 (ja)
HK (1) HK1108985A1 (ja)
IL (1) IL180891A0 (ja)
WO (1) WO2006012610A2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011151842A (ja) * 2006-03-17 2011-08-04 Macrovision Corp ピアツーピア・ゲートウェイ
JP2012512573A (ja) * 2008-12-17 2012-05-31 ノーテル・ネットワークス・リミテッド セキュアなリモートアクセスの公衆通信環境
JP2012532494A (ja) * 2009-06-29 2012-12-13 クゥアルコム・アセロス・インコーポレイテッド ネットワーク通信パラメータを設定するための技術
JP2013521718A (ja) * 2010-03-04 2013-06-10 マイクロソフト コーポレーション ネットワーク接続上の信頼性機構の選択的な無効化
JP2013534081A (ja) * 2010-05-25 2013-08-29 ヘッドウォーター パートナーズ I エルエルシー ネットワーク容量を保護するためのデバイス支援サービス
JP2014164369A (ja) * 2013-02-22 2014-09-08 Nec Corp リモートデスクトップシステム

Families Citing this family (692)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
US8380854B2 (en) 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7684786B2 (en) * 2003-08-26 2010-03-23 Nokia Corporation Method and system for establishing a connection between network elements
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US20040158622A1 (en) * 2002-05-16 2004-08-12 Pitts William M. Auto-sizing channel
US7957401B2 (en) 2002-07-05 2011-06-07 Geos Communications, Inc. System and method for using multiple communication protocols in memory limited processors
US7321623B2 (en) 2002-10-01 2008-01-22 Avocent Corporation Video compression system
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7606217B2 (en) * 2003-07-02 2009-10-20 I2 Telecom International, Inc. System and method for routing telephone calls over a voice and data network
US9560371B2 (en) * 2003-07-30 2017-01-31 Avocent Corporation Video compression system
JP3783142B2 (ja) 2003-08-08 2006-06-07 ティー・ティー・ティー株式会社 通信システム、通信装置、通信方法、及びそれを実現するための通信プログラム
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US8548170B2 (en) * 2003-12-10 2013-10-01 Mcafee, Inc. Document de-registration
US20050131876A1 (en) * 2003-12-10 2005-06-16 Ahuja Ratinder Paul S. Graphical user interface for capture system
US7899828B2 (en) * 2003-12-10 2011-03-01 Mcafee, Inc. Tag data structure for maintaining relational data over captured objects
US8656039B2 (en) * 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US7984175B2 (en) 2003-12-10 2011-07-19 Mcafee, Inc. Method and apparatus for data capture and analysis system
US7814327B2 (en) 2003-12-10 2010-10-12 Mcafee, Inc. Document registration
US7774604B2 (en) * 2003-12-10 2010-08-10 Mcafee, Inc. Verifying captured objects before presentation
US7930540B2 (en) * 2004-01-22 2011-04-19 Mcafee, Inc. Cryptographic policy enforcement
US7676599B2 (en) 2004-01-28 2010-03-09 I2 Telecom Ip Holdings, Inc. System and method of binding a client to a server
US8065418B1 (en) * 2004-02-02 2011-11-22 Apple Inc. NAT traversal for media conferencing
US8804758B2 (en) 2004-03-11 2014-08-12 Hipcricket, Inc. System and method of media over an internet protocol communication
CA2559891A1 (en) 2004-03-11 2005-09-22 Ali Awais Dynamically adapting the transmission rate of packets in real-time voip communications to the available bandwidth
US7962591B2 (en) * 2004-06-23 2011-06-14 Mcafee, Inc. Object classification in a capture system
US7457461B2 (en) * 2004-06-25 2008-11-25 Avocent Corporation Video compression noise immunity
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
EP2264956B1 (en) 2004-07-23 2017-06-14 Citrix Systems, Inc. Method for securing remote access to private networks
US9219579B2 (en) 2004-07-23 2015-12-22 Citrix Systems, Inc. Systems and methods for client-side application-aware prioritization of network communications
MY145725A (en) * 2004-07-30 2012-03-30 Ericsson Telefon Ab L M Method and system for retrieving network addresses in hybrid telecommunication networks
US7782878B2 (en) * 2004-08-16 2010-08-24 I2Telecom Ip Holdings, Inc. System and method for sharing an IP address
US8560534B2 (en) * 2004-08-23 2013-10-15 Mcafee, Inc. Database for a capture system
US7949849B2 (en) * 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
US7336654B2 (en) * 2004-10-20 2008-02-26 I2Telecom International, Inc. Portable VoIP service access module
US7734799B1 (en) * 2004-11-15 2010-06-08 LogMeln, Inc. Method and system for performing a server-assisted file transfer
US7558862B1 (en) * 2004-12-09 2009-07-07 LogMeln, Inc. Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer
JP4759574B2 (ja) 2004-12-23 2011-08-31 ソレラ ネットワークス インコーポレイテッド ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器
US20100195538A1 (en) * 2009-02-04 2010-08-05 Merkey Jeffrey V Method and apparatus for network packet capture distributed storage system
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
KR100666956B1 (ko) * 2005-03-08 2007-01-10 삼성전자주식회사 네트워크에서의 미디어 전송 장치 및 방법
JP4271160B2 (ja) * 2005-03-23 2009-06-03 ファナック株式会社 生産システムにおけるネットワーク開通方法
US20060277536A1 (en) * 2005-06-01 2006-12-07 Stein Michael V Non-visible remote control of console session
IES20050376A2 (en) 2005-06-03 2006-08-09 Asavie R & D Ltd Secure network communication system and method
US8788822B1 (en) * 2005-06-10 2014-07-22 Blue Coat Systems, Inc. Enhanced QoS solution for thin client or remote access sessions
US8364841B2 (en) * 2005-06-16 2013-01-29 Infinera Corporation XML over TCP management protocol with tunneled proxy support and connection management
US8171238B1 (en) 2007-07-05 2012-05-01 Silver Peak Systems, Inc. Identification of data stored in memory
US7907608B2 (en) * 2005-08-12 2011-03-15 Mcafee, Inc. High speed packet capture
US8392684B2 (en) 2005-08-12 2013-03-05 Silver Peak Systems, Inc. Data encryption in a network memory architecture for providing data based on local accessibility
US8370583B2 (en) * 2005-08-12 2013-02-05 Silver Peak Systems, Inc. Network memory architecture for providing data based on local accessibility
US8095774B1 (en) 2007-07-05 2012-01-10 Silver Peak Systems, Inc. Pre-fetching data into a memory
US7818326B2 (en) * 2005-08-31 2010-10-19 Mcafee, Inc. System and method for word indexing in a capture system and querying thereof
US7821930B2 (en) * 2005-09-12 2010-10-26 Microsoft Corporation Fault-tolerant communications in routed networks
US8811431B2 (en) * 2008-11-20 2014-08-19 Silver Peak Systems, Inc. Systems and methods for compressing packet data
US8929402B1 (en) 2005-09-29 2015-01-06 Silver Peak Systems, Inc. Systems and methods for compressing packet data by predicting subsequent data
US8489562B1 (en) 2007-11-30 2013-07-16 Silver Peak Systems, Inc. Deferred data storage
JP4909277B2 (ja) * 2005-10-04 2012-04-04 パナソニック株式会社 ネットワーク通信機器、ネットワーク通信方法、アドレス管理機器
US8130769B2 (en) * 2005-10-14 2012-03-06 Whaleback Systems Corporation Configuring a network device
US7730011B1 (en) 2005-10-19 2010-06-01 Mcafee, Inc. Attributes of captured objects in a capture system
US7630295B2 (en) * 2005-10-31 2009-12-08 Silver Peak Systems, Inc. Network device continuity
US8248965B2 (en) * 2005-11-03 2012-08-21 Motorola Solutions, Inc. Method and apparatus regarding use of a service convergence fabric
US7773630B2 (en) * 2005-11-12 2010-08-10 Liquid Computing Corportation High performance memory based communications interface
US7657104B2 (en) * 2005-11-21 2010-02-02 Mcafee, Inc. Identifying image type in a capture system
US7839870B2 (en) 2005-11-23 2010-11-23 Comcast Cable Holdings, Llc Device-to-device communication among customer premise equipment devices
US7873743B2 (en) * 2005-12-05 2011-01-18 Sony Ericsson Mobile Communications Ab Electronic apparatus with router device for managing connections
US8296437B2 (en) * 2005-12-29 2012-10-23 Logmein, Inc. Server-mediated setup and maintenance of peer-to-peer client computer communications
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US20070180088A1 (en) * 2006-01-27 2007-08-02 Array Networks, Inc. Seamless roaming across multiple data networks
WO2007090147A2 (en) * 2006-01-31 2007-08-09 The Board Of Trustees Of The University Of Illinois Method and apparatus for measurement of optical properties in tissue
US7555570B2 (en) 2006-02-17 2009-06-30 Avocent Huntsville Corporation Device and method for configuring a target device
US8718147B2 (en) * 2006-02-17 2014-05-06 Avocent Huntsville Corporation Video compression algorithm
JP4791850B2 (ja) * 2006-02-23 2011-10-12 株式会社日立製作所 情報処理システムおよび仮想オフィスシステム
JP4679393B2 (ja) * 2006-03-02 2011-04-27 Necインフロンティア株式会社 Sip通信システム、sipゲートウェイ装置及びそれらに用いるsip通信制御方法
US8533338B2 (en) * 2006-03-21 2013-09-10 Japan Communications, Inc. Systems and methods for providing secure communications for transactions
US20070226504A1 (en) * 2006-03-24 2007-09-27 Reconnex Corporation Signature match processing in a document registration system
US8504537B2 (en) 2006-03-24 2013-08-06 Mcafee, Inc. Signature distribution in a document registration system
EP1841161B1 (de) * 2006-03-30 2008-05-28 Siemens Aktiengesellschaft Verfahren zur gesicherten Nutzdatenübertragung
US7710978B2 (en) * 2006-04-13 2010-05-04 Directpacket Research, Inc. System and method for traversing a firewall with multimedia communication
US7773588B2 (en) * 2006-04-13 2010-08-10 Directpacket Research, Inc. System and method for cross protocol communication
US8605730B2 (en) * 2006-04-13 2013-12-10 Directpacket Research, Inc. System and method for multimedia communication across disparate networks
US8560828B2 (en) * 2006-04-13 2013-10-15 Directpacket Research, Inc. System and method for a communication system
US8555371B1 (en) 2009-07-17 2013-10-08 Directpacket Research, Inc. Systems and methods for management of nodes across disparate networks
TW200814780A (en) * 2006-04-28 2008-03-16 Avocent Corp DVC delta commands
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US7894509B2 (en) 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US20070268918A1 (en) * 2006-05-22 2007-11-22 Marvell International Ltd. Packet tunneling for wireless clients using maximum transmission unit reduction
US8010689B2 (en) * 2006-05-22 2011-08-30 Mcafee, Inc. Locational tagging in a capture system
US7958227B2 (en) 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
US7689614B2 (en) 2006-05-22 2010-03-30 Mcafee, Inc. Query generation for a capture system
US8064464B2 (en) * 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
KR20090025331A (ko) * 2006-06-20 2009-03-10 가부시키가이샤 엔티티 도코모 이동통신 시스템에서 사용되는 무선통신장치 및 방법
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
EP2034763A1 (en) * 2006-06-20 2009-03-11 NTT DoCoMo, Inc. Radio communication device and method used in mobile communication system
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
JP4886849B2 (ja) * 2006-06-22 2012-02-29 エルジー エレクトロニクス インコーポレイティド 移動通信システムにおけるデータ再転送方法
US8107886B2 (en) * 2006-07-25 2012-01-31 International Business Machines Corporation Method and apparatus for user quality management for wireless networks
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US20100241759A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Systems and methods for sar-capable quality of service
US8885632B2 (en) 2006-08-02 2014-11-11 Silver Peak Systems, Inc. Communications scheduler
US8755381B2 (en) 2006-08-02 2014-06-17 Silver Peak Systems, Inc. Data matching using flow based packet data storage
US8495181B2 (en) 2006-08-03 2013-07-23 Citrix Systems, Inc Systems and methods for application based interception SSI/VPN traffic
US8108525B2 (en) 2006-08-03 2012-01-31 Citrix Systems, Inc. Systems and methods for managing a plurality of user sessions in a virtual private network environment
US8869262B2 (en) 2006-08-03 2014-10-21 Citrix Systems, Inc. Systems and methods for application based interception of SSL/VPN traffic
US9025587B2 (en) * 2006-08-16 2015-05-05 Microsoft Technology Licensing Auto answer in voice over internet protocol
US7953070B1 (en) * 2006-08-17 2011-05-31 Avaya Inc. Client configuration download for VPN voice gateways
WO2008030494A2 (en) * 2006-09-05 2008-03-13 Donnelli Robert M Managing client-to-server or peer-to-peer relationships in a private or virtual network
US8560755B2 (en) * 2006-09-07 2013-10-15 Toshiba Global Commerce Solutions Holding Corporation PCI-E based POS terminal
US8543948B2 (en) * 2006-09-07 2013-09-24 Toshiba Global Commerce Solutions Holdings Corporation Structure for PCI-E based POS terminal
US20080075096A1 (en) * 2006-09-22 2008-03-27 Enthenergy, Llc Remote access to secure network devices
US10637724B2 (en) 2006-09-25 2020-04-28 Remot3.It, Inc. Managing network connected devices
US9712486B2 (en) 2006-09-25 2017-07-18 Weaved, Inc. Techniques for the deployment and management of network connected devices
US9231904B2 (en) 2006-09-25 2016-01-05 Weaved, Inc. Deploying and managing networked devices
US11184224B2 (en) 2006-09-25 2021-11-23 Remot3.It, Inc. System, method and compute program product for accessing a device on a network
US8447843B2 (en) 2006-09-25 2013-05-21 Yoics, Inc. System, method and computer program product for identifying, configuring and accessing a device on a network
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
JP4819644B2 (ja) * 2006-10-12 2011-11-24 株式会社日立製作所 情報処理システム、情報処理方法、情報処理装置
US9386056B1 (en) 2006-11-14 2016-07-05 Arris Enterprises, Inc. System, method and computer readable medium for providing media stream fragments
US8503453B2 (en) * 2006-11-20 2013-08-06 Cisco Technology, Inc. Adaptive quality of service in an easy virtual private network environment
EP2120404A1 (en) * 2006-12-20 2009-11-18 NEC Corporation Communication terminal, terminal, communication system, communication method, and program
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US20080159139A1 (en) * 2006-12-29 2008-07-03 Motorola, Inc. Method and system for a context manager for a converged services framework
CN101212393B (zh) * 2006-12-29 2010-10-13 华为技术有限公司 介质无关切换消息的传输方法、系统及设备
US8935473B2 (en) * 2007-01-05 2015-01-13 New Dane System and method for a portable memory device to access and acquire additional memory from a remote location
US9219670B2 (en) * 2007-02-05 2015-12-22 Microsoft Technology Licensing, Llc Link-aware throughput acceleration profiles
KR101356490B1 (ko) 2007-02-06 2014-01-29 엘지전자 주식회사 수신기 및 이 수신기에서 단말기와 데이터 통신을 수행하는방법
US8689334B2 (en) * 2007-02-28 2014-04-01 Alcatel Lucent Security protection for a customer programmable platform
JP4829350B2 (ja) 2007-03-05 2011-12-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ローカルネットワークの両端にわたってマルチメディア通信を遠隔制御する方法及び配置構成
US8850547B1 (en) 2007-03-14 2014-09-30 Volcano Corporation Remote access service inspector
US8020195B2 (en) * 2007-03-30 2011-09-13 Citrix Systems, Inc. Systems and methods for user login
US9438662B2 (en) * 2007-04-30 2016-09-06 Microsoft Technology Licensing, Llc Enabling secure remote assistance using a terminal services gateway
US8782414B2 (en) * 2007-05-07 2014-07-15 Microsoft Corporation Mutually authenticated secure channel
KR100891713B1 (ko) * 2007-05-14 2009-04-03 (주)이지서티 Ip 주소 투명화를 위한 게이트웨이 및 방법과 컴퓨터프로그램 기록매체
US8628522B2 (en) 2007-05-21 2014-01-14 Estech, Inc. (Endoscopic Technologies, Inc.) Cardiac ablation systems and methods
US8156332B2 (en) * 2007-05-29 2012-04-10 Apple Inc. Peer-to-peer security authentication protocol
US8266323B2 (en) * 2007-06-09 2012-09-11 Apple Inc. System connections and user interfaces
US20080307504A1 (en) * 2007-06-09 2008-12-11 Pavel Cisler System connections and user interfaces
US8296833B2 (en) 2007-06-09 2012-10-23 Apple Inc. System connections and user interfaces
US20080307314A1 (en) * 2007-06-09 2008-12-11 Pavel Cisler System connections and user interfaces
US8949369B2 (en) * 2007-06-12 2015-02-03 Ux Ltd. Two-tier architecture for remote access service
US9569330B2 (en) 2007-06-22 2017-02-14 Red Hat, Inc. Performing dependency analysis on nodes of a business application service group
US8539570B2 (en) 2007-06-22 2013-09-17 Red Hat, Inc. Method for managing a virtual machine
US8127290B2 (en) * 2007-06-22 2012-02-28 Red Hat, Inc. Method and system for direct insertion of a virtual machine driver
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
US9588821B2 (en) 2007-06-22 2017-03-07 Red Hat, Inc. Automatic determination of required resource allocation of virtual machines
US9678803B2 (en) 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US8949827B2 (en) * 2007-06-22 2015-02-03 Red Hat, Inc. Tracking a virtual machine
US8549282B2 (en) * 2007-06-22 2013-10-01 Trend Micro Incorporated Method and system for monitoring encrypted data transmissions
US8429748B2 (en) * 2007-06-22 2013-04-23 Red Hat, Inc. Network traffic analysis using a dynamically updating ontological network description
US8191141B2 (en) * 2007-06-22 2012-05-29 Red Hat, Inc. Method and system for cloaked observation and remediation of software attacks
US9727440B2 (en) 2007-06-22 2017-08-08 Red Hat, Inc. Automatic simulation of virtual machine performance
US8984504B2 (en) * 2007-06-22 2015-03-17 Red Hat, Inc. Method and system for determining a host machine by a virtual machine
US8336108B2 (en) * 2007-06-22 2012-12-18 Red Hat, Inc. Method and system for collaboration involving enterprise nodes
US8646039B2 (en) * 2007-08-01 2014-02-04 Avaya Inc. Automated peer authentication
US8950001B2 (en) * 2007-08-01 2015-02-03 Avaya Inc. Continual peer authentication
US8132247B2 (en) * 2007-08-03 2012-03-06 Citrix Systems, Inc. Systems and methods for authorizing a client in an SSL VPN session failover environment
US8094812B1 (en) 2007-09-28 2012-01-10 Juniper Networks, Inc. Updating stored passwords
US8108911B2 (en) 2007-11-01 2012-01-31 Comcast Cable Holdings, Llc Method and system for directing user between captive and open domains
US8307115B1 (en) * 2007-11-30 2012-11-06 Silver Peak Systems, Inc. Network memory mirroring
US8504048B2 (en) 2007-12-17 2013-08-06 Geos Communications IP Holdings, Inc., a wholly owned subsidiary of Augme Technologies, Inc. Systems and methods of making a call
US20090172172A1 (en) * 2007-12-21 2009-07-02 Erik Lambert Graham Systems and methods for enabling peer-to-peer communication among visitors to a common website
US8898321B2 (en) * 2008-01-09 2014-11-25 Microsoft Corporation Remote device communication platform user interface
US9304832B2 (en) * 2008-01-09 2016-04-05 Blue Coat Systems, Inc. Methods and systems for filtering encrypted traffic
US8789151B2 (en) * 2008-01-09 2014-07-22 Microsoft Corporation Remote device communication platform
US8078721B2 (en) * 2008-02-15 2011-12-13 Cisco Technology, Inc. Dynamic host configuration protocol (DHCP) initialization responsive to a loss of network layer connectivity
US9088430B2 (en) * 2008-02-19 2015-07-21 Qualcomm Incorporated Providing network originated push messages for remotely testing a mobile device
US8442052B1 (en) 2008-02-20 2013-05-14 Silver Peak Systems, Inc. Forward packet recovery
US8510466B2 (en) * 2008-03-03 2013-08-13 Verizon Patent And Licensing Inc. Bypassing an application layer gateway
US8682960B2 (en) * 2008-03-14 2014-03-25 Nokia Corporation Methods, apparatuses, and computer program products for providing filtered services and content based on user context
WO2009120030A2 (ko) * 2008-03-28 2009-10-01 삼성전자 주식회사 Iptv 통신 서비스를 제공하는 응용에 대한 정보 수신 방법 및 장치
WO2009132280A1 (en) * 2008-04-25 2009-10-29 Zte Corporation Carrier-grade peer-to-peer (p2p) network, system and method
US8806053B1 (en) 2008-04-29 2014-08-12 F5 Networks, Inc. Methods and systems for optimizing network traffic using preemptive acknowledgment signals
US8239550B2 (en) * 2008-05-14 2012-08-07 Nokia Corporation Methods, apparatuses, and computer program products for facilitating establishing a communications session
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8004998B2 (en) * 2008-05-23 2011-08-23 Solera Networks, Inc. Capture and regeneration of a network data using a virtual software switch
US20090292736A1 (en) * 2008-05-23 2009-11-26 Matthew Scott Wood On demand network activity reporting through a dynamic file system and method
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8223631B2 (en) 2008-05-30 2012-07-17 At&T Intellectual Property I, L.P. Systems and methods to monitor and analyze customer equipment downtime in a voice over internet protocol (VoIP) service network
US8125999B2 (en) * 2008-05-30 2012-02-28 At&T Intellectual Property I, L.P. Systems and methods to minimize customer equipment downtime in a voice over internet protocol (VOIP) service network
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8340634B2 (en) 2009-01-28 2012-12-25 Headwater Partners I, Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8583781B2 (en) 2009-01-28 2013-11-12 Headwater Partners I Llc Simplified service network architecture
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US8743683B1 (en) 2008-07-03 2014-06-03 Silver Peak Systems, Inc. Quality of service using multiple flows
US10805840B2 (en) 2008-07-03 2020-10-13 Silver Peak Systems, Inc. Data transmission via a virtual wide area network overlay
US8205242B2 (en) 2008-07-10 2012-06-19 Mcafee, Inc. System and method for data mining and security policy management
DE102008035601A1 (de) * 2008-07-31 2010-02-04 Walter, Thomas, Dr.-Ing. System zum Verwalten von Dateien
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US20100061276A1 (en) * 2008-09-08 2010-03-11 International Business Machines Corporation Dedicated Call User Interface (UI) for Organizing Collaborative Exchange During A Telephony or Softphone Call
US8549093B2 (en) 2008-09-23 2013-10-01 Strategic Technology Partners, LLC Updating a user session in a mach-derived system environment
US7924830B2 (en) * 2008-10-21 2011-04-12 At&T Intellectual Property I, Lp System and method to route data in an anycast environment
US7957374B2 (en) * 2008-10-22 2011-06-07 Fortinet, Inc. Mechanism for enabling layer two host addresses to be shielded from the switches in a network
US20100138650A1 (en) * 2008-12-01 2010-06-03 Shin Yuk Kang Secure communication system, gateway apparatus and its operating method
US20100138748A1 (en) * 2008-12-03 2010-06-03 Qualcomm Incorporated Wireless Network Access to Remote Computer
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8706709B2 (en) 2009-01-15 2014-04-22 Mcafee, Inc. System and method for intelligent term grouping
US20100198872A1 (en) * 2009-01-25 2010-08-05 Thomas Norwin Walter System for the Management of Files
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US11973804B2 (en) 2009-01-28 2024-04-30 Headwater Research Llc Network service plan design
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US9253663B2 (en) 2009-01-28 2016-02-02 Headwater Partners I Llc Controlling mobile device communications on a roaming network based on device state
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US11985155B2 (en) 2009-01-28 2024-05-14 Headwater Research Llc Communications device with secure data path processing agents
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US8473442B1 (en) 2009-02-25 2013-06-25 Mcafee, Inc. System and method for intelligent state management
US9473555B2 (en) 2012-12-31 2016-10-18 The Nielsen Company (Us), Llc Apparatus, system and methods for portable device tracking using temporary privileged access
US20100235523A1 (en) * 2009-03-16 2010-09-16 Robert Garcia Framework for supporting multi-device collaboration
US8285860B2 (en) 2009-03-16 2012-10-09 Apple Inc. Efficient service discovery for peer-to-peer networking devices
US20100233960A1 (en) * 2009-03-16 2010-09-16 Brian Tucker Service discovery functionality utilizing personal area network protocols
US10277683B2 (en) 2009-03-16 2019-04-30 Apple Inc. Multifunctional devices as virtual accessories
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
US8667121B2 (en) 2009-03-25 2014-03-04 Mcafee, Inc. System and method for managing data and policies
KR20100107801A (ko) * 2009-03-26 2010-10-06 삼성전자주식회사 무선 통신 시스템에서 안테나 선택을 위한 장치 및 방법
US9049045B2 (en) * 2009-04-24 2015-06-02 Aruba Networks, Inc. Peer-to-peer forwarding for packet-switched traffic
US8032652B2 (en) * 2009-04-30 2011-10-04 Aruba Networks, Inc. Initiating peer-to-peer tunnels
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
JP4802263B2 (ja) * 2009-07-17 2011-10-26 株式会社日立製作所 暗号化通信システム及びゲートウェイ装置
US20110029699A1 (en) * 2009-07-31 2011-02-03 Siegman Craig S Method and System for Routing Keystrokes in a Client Server Network
WO2011020088A1 (en) 2009-08-14 2011-02-17 Azuki Systems, Inc. Method and system for unified mobile content protection
US9438448B2 (en) * 2009-08-18 2016-09-06 Microsoft Technology Licensing, Llc Maintaining communication connections during temporary network disruptions
EP2467990A4 (en) 2009-08-20 2013-08-28 Koolspan Inc SYSTEM AND METHOD FOR ENCAPSULATION OF ENCAPSULATED MULTIMEDIA DATA
US9450804B2 (en) * 2009-09-03 2016-09-20 At&T Intellectual Property I, L.P. Anycast aware transport for content distribution networks
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8868961B1 (en) 2009-11-06 2014-10-21 F5 Networks, Inc. Methods for acquiring hyper transport timing and devices thereof
US20110125749A1 (en) * 2009-11-15 2011-05-26 Solera Networks, Inc. Method and Apparatus for Storing and Indexing High-Speed Network Traffic Data
WO2011060377A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for real time identification and recording of artifacts
US9054913B1 (en) 2009-11-30 2015-06-09 Dell Software Inc. Network protocol proxy
US8572369B2 (en) * 2009-12-11 2013-10-29 Sap Ag Security for collaboration services
US8811397B2 (en) * 2010-02-16 2014-08-19 Ncp Engineering Gmbh System and method for data communication between a user terminal and a gateway via a network node
US20110219113A1 (en) * 2010-03-02 2011-09-08 Grewal Avininder Pal Singh Method and system for client assisted stateful handling of packets in a communications network
AU2011222509C1 (en) * 2010-03-05 2015-05-28 Infrared5, Inc. System and method for two way communication and controlling content in a web browser
US8504694B2 (en) * 2010-03-08 2013-08-06 Microsoft Corporation Remote content classification and transmission using multiple transport channels
US8402515B2 (en) 2010-05-06 2013-03-19 Jonathan Weizman Apparatus and method for establishing a peer-to-peer communication session with a client device
US20110276703A1 (en) * 2010-05-06 2011-11-10 Jonathan Weizman System and Method for Establishing a Peer-to-Peer Communication Session
US8402516B2 (en) 2010-05-06 2013-03-19 Jonathan Weizman Apparatus and method for establishing a peer-to-peer communication session with a host device
US9497164B2 (en) * 2010-05-27 2016-11-15 At&T Intellectual Property I, L.P. System and method of redirecting internet protocol traffic for network based parental controls
KR101106308B1 (ko) * 2010-06-03 2012-01-18 에스비리모티브 주식회사 배터리 팩
US9407702B2 (en) 2010-06-21 2016-08-02 Nokia Technologies Oy Method and apparatus for bridging communication sessions
US9141625B1 (en) 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US10015286B1 (en) 2010-06-23 2018-07-03 F5 Networks, Inc. System and method for proxying HTTP single sign on across network domains
US8898324B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Data access management in a hybrid memory server
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
WO2013015835A1 (en) 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
KR101117215B1 (ko) * 2010-07-26 2012-02-24 (주)넷텐션 신뢰성 보장 통신의 채널 변경 시스템 및 방법
US9083760B1 (en) 2010-08-09 2015-07-14 F5 Networks, Inc. Dynamic cloning and reservation of detached idle connections
US8356087B1 (en) * 2010-08-24 2013-01-15 Amazon Technologies, Inc. Automatically configuring virtual private networks
US8886981B1 (en) 2010-09-15 2014-11-11 F5 Networks, Inc. Systems and methods for idle driven scheduling
US8433783B2 (en) 2010-09-29 2013-04-30 Citrix Systems, Inc. Systems and methods for providing quality of service via a flow controlled tunnel
DE102010038228A1 (de) * 2010-10-15 2012-04-19 Phoenix Contact Gmbh & Co. Kg Verfahren zum Aufbau einer VPN-Verbindung zwischen zwei Netzwerken
US9554276B2 (en) 2010-10-29 2017-01-24 F5 Networks, Inc. System and method for on the fly protocol conversion in obtaining policy enforcement information
KR101423743B1 (ko) * 2010-10-29 2014-08-01 한국전자통신연구원 가상 네트워크 환경에서 네트워크 단위의 통신 방법
US8806615B2 (en) 2010-11-04 2014-08-12 Mcafee, Inc. System and method for protecting specified data combinations
US8862769B2 (en) * 2010-11-23 2014-10-14 Qualcomm Incorporated Object-based transport protocol
KR20120058782A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 컨텐츠 중심 네트워킹 환경에서의 단말, 중간 노드 및 이들의 통신 방법
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
US8839357B2 (en) * 2010-12-22 2014-09-16 Canon U.S.A., Inc. Method, system, and computer-readable storage medium for authenticating a computing device
US20120173620A1 (en) * 2010-12-29 2012-07-05 Microsoft Corporation Creation and management of resilient wireless groups
US10135831B2 (en) 2011-01-28 2018-11-20 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
US8667183B1 (en) 2011-03-20 2014-03-04 Israel L'Heureux Server-side HTTP translator
JP5360114B2 (ja) * 2011-03-31 2013-12-04 ブラザー工業株式会社 通信装置
US9154826B2 (en) 2011-04-06 2015-10-06 Headwater Partners Ii Llc Distributing content and service launch objects to mobile devices
US8949464B2 (en) * 2011-05-10 2015-02-03 Israel L'Heureux Client-side HTTP translator
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US8595752B1 (en) * 2011-06-13 2013-11-26 Google Inc. Hybrid application message passing
US9246819B1 (en) 2011-06-20 2016-01-26 F5 Networks, Inc. System and method for performing message-based load balancing
US8677464B2 (en) 2011-06-22 2014-03-18 Schweitzer Engineering Laboratories Inc. Systems and methods for managing secure communication sessions with remote devices
US8800007B1 (en) * 2011-06-24 2014-08-05 Juniper Networks, Inc. VPN session migration across clients
US10855734B2 (en) * 2011-06-29 2020-12-01 Interdigital Ce Patent Holdings Remote management of devices
US8904484B2 (en) 2011-08-04 2014-12-02 Wyse Technology L.L.C. System and method for client-server communication facilitating utilization of authentication and network-based procedure call
US20130039367A1 (en) * 2011-08-12 2013-02-14 Telefonaktiebolaget L M Ericsson (Publ) Peer-to-Peer Packet Switching
US9900799B2 (en) * 2011-08-16 2018-02-20 Qualcomm Incorporated Reverse link control to reduce forward link latency
US9106511B1 (en) 2011-08-22 2015-08-11 Star2Star Communications, LLC Systems and methods for optimizing application data delivery over third party networks
US10116709B1 (en) 2011-08-22 2018-10-30 Star2Star Communications, LLC Systems and methods for optimizing application data delivery over third party networks
US10230679B1 (en) 2011-08-22 2019-03-12 Star2Star Communications, LLC Systems and methods for optimizing application data delivery over third party networks
US20130054734A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Migration of cloud applications between a local computing device and cloud
KR20130040090A (ko) * 2011-10-13 2013-04-23 삼성전자주식회사 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법
US9130991B2 (en) 2011-10-14 2015-09-08 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9100324B2 (en) 2011-10-18 2015-08-04 Secure Crossing Research & Development, Inc. Network protocol analyzer apparatus and method
US8930563B2 (en) * 2011-10-27 2015-01-06 Microsoft Corporation Scalable and extendable stream processing
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
JP5624973B2 (ja) * 2011-11-04 2014-11-12 株式会社日立製作所 フィルタリング装置
JP5887507B2 (ja) * 2011-11-28 2016-03-16 パナソニックIpマネジメント株式会社 通信機器間の接続確立方法、通信機器、及びサーバ装置
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
KR101333153B1 (ko) * 2011-12-13 2013-11-26 주식회사 나온웍스 TLS 복호화 기능을 포함하는 VoIP 보안장비
US8700561B2 (en) 2011-12-27 2014-04-15 Mcafee, Inc. System and method for providing data protection workflows in a network environment
US9270766B2 (en) 2011-12-30 2016-02-23 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof
US8839350B1 (en) * 2012-01-25 2014-09-16 Symantec Corporation Sending out-of-band notifications
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9231879B1 (en) 2012-02-20 2016-01-05 F5 Networks, Inc. Methods for policy-based network traffic queue management and devices thereof
US9172753B1 (en) 2012-02-20 2015-10-27 F5 Networks, Inc. Methods for optimizing HTTP header based authentication and devices thereof
US9014029B1 (en) * 2012-03-26 2015-04-21 Amazon Technologies, Inc. Measuring network transit time
EP2853074B1 (en) 2012-04-27 2021-03-24 F5 Networks, Inc Methods for optimizing service of content requests and devices thereof
US9325676B2 (en) 2012-05-24 2016-04-26 Ip Ghoster, Inc. Systems and methods for protecting communications between nodes
WO2015116768A2 (en) 2014-01-29 2015-08-06 Sipn, Llc Systems and methods for protecting communications
US10778659B2 (en) 2012-05-24 2020-09-15 Smart Security Systems Llc System and method for protecting communications
US9537716B1 (en) * 2012-06-18 2017-01-03 Crimson Corporation Establishing a direct connection between remote devices
US20150381387A1 (en) * 2012-06-27 2015-12-31 Ciphergraph Networks, Inc. System and Method for Facilitating Communication between Multiple Networks
US9003068B2 (en) * 2012-07-12 2015-04-07 International Business Machines Corporation Service channel for connecting a host computer to peripheral devices
TWI510025B (zh) * 2012-07-24 2015-11-21 Nec Corp Communication systems and methods and programs
US20140032787A1 (en) * 2012-07-25 2014-01-30 Nokia Corporation Methods, apparatuses and computer program products for enhancing performance and controlling quality of service of devices by using application awareness
US9197548B2 (en) * 2012-08-15 2015-11-24 Dell Products L.P. Network switching system using software defined networking applications
US9130945B2 (en) 2012-10-12 2015-09-08 Schweitzer Engineering Laboratories, Inc. Detection and response to unauthorized access to a communication device
US9374351B1 (en) 2012-11-02 2016-06-21 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9992185B1 (en) 2012-11-02 2018-06-05 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9485233B1 (en) * 2012-11-02 2016-11-01 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9723554B2 (en) 2012-11-07 2017-08-01 At&T Mobility Ii Llc Collaborative power conscious utilization of equipment in a network
RU2530663C2 (ru) * 2012-11-16 2014-10-10 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ передачи данных в цифровых сетях передачи данных по протоколу тср/ip через нттр
US10009065B2 (en) 2012-12-05 2018-06-26 At&T Intellectual Property I, L.P. Backhaul link for distributed antenna system
US9113347B2 (en) 2012-12-05 2015-08-18 At&T Intellectual Property I, Lp Backhaul link for distributed antenna system
US9992306B2 (en) 2012-12-21 2018-06-05 E*Trade Financial Corporation Dynamic execution
US10097989B2 (en) 2012-12-21 2018-10-09 E*Trade Financial Corporation Dynamic communication
US9264284B2 (en) * 2013-01-02 2016-02-16 Citrix Systems, Inc. Virtual desktop access using wireless devices
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US8994781B2 (en) 2013-03-01 2015-03-31 Citrix Systems, Inc. Controlling an electronic conference based on detection of intended versus unintended sound
WO2014159862A1 (en) 2013-03-14 2014-10-02 Headwater Partners I Llc Automated credential porting for mobile devices
US10027586B2 (en) * 2013-03-15 2018-07-17 Star2Star Communications, LLC Network address family translation method and system
US9055032B2 (en) * 2013-04-12 2015-06-09 Blackberry Limited Secure network tunnel between a computing device and an endpoint
US9525524B2 (en) 2013-05-31 2016-12-20 At&T Intellectual Property I, L.P. Remote distributed antenna system
US9999038B2 (en) 2013-05-31 2018-06-12 At&T Intellectual Property I, L.P. Remote distributed antenna system
US10187476B2 (en) * 2013-06-17 2019-01-22 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus for bridging communication sessions
US9680650B2 (en) * 2013-08-23 2017-06-13 Qualcomm Incorporated Secure content delivery using hashing of pre-coded packets
US8769610B1 (en) * 2013-10-31 2014-07-01 Eventure Interactive, Inc. Distance-modified security and content sharing
US8897697B1 (en) 2013-11-06 2014-11-25 At&T Intellectual Property I, Lp Millimeter-wave surface-wave communications
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
CN104683434B (zh) * 2013-11-27 2018-11-06 夏普株式会社 网络系统、保持连接方法、通信方法、电子设备、保持连接服务器、应用服务器、程序
US9209902B2 (en) 2013-12-10 2015-12-08 At&T Intellectual Property I, L.P. Quasi-optical coupler
US9325639B2 (en) 2013-12-17 2016-04-26 At&T Intellectual Property I, L.P. Hierarchical caching system for lossless network packet capture applications
WO2015099767A1 (en) * 2013-12-27 2015-07-02 Intel Corporation Scalable input/output system and techniques
US10164892B2 (en) * 2013-12-31 2018-12-25 Red Hat Israel, Ltd. Overhead management for virtual machines
US9942199B2 (en) * 2013-12-31 2018-04-10 Open Invention Network, Llc Optimizing connections over virtual private networks
TWI507874B (zh) * 2014-01-22 2015-11-11 Hon Hai Prec Ind Co Ltd 設備切換盒及共用周邊裝置的方法
US10379873B2 (en) 2014-02-28 2019-08-13 Tyco Fire & Security Gmbh Distributed processing system
US10050865B2 (en) 2014-02-28 2018-08-14 Tyco Fire & Security Gmbh Maintaining routing information
US10878323B2 (en) 2014-02-28 2020-12-29 Tyco Fire & Security Gmbh Rules engine combined with message routing
US20150288604A1 (en) * 2014-04-02 2015-10-08 Tyco Fire & Security Gmbh Sensor Network Gateway
CN105025471A (zh) * 2014-04-21 2015-11-04 中兴通讯股份有限公司 被叫终端、主叫终端、语音通信方法及系统
FR3021481B1 (fr) * 2014-05-23 2016-05-27 Oneaccess Procede de distribution pour une liaison a liens multiples et heterogenes
US9525848B2 (en) 2014-05-30 2016-12-20 Highfive Technologies, Inc. Domain trusted video network
US9716542B2 (en) * 2014-05-30 2017-07-25 Gogo Llc Systems and methods for facilitating communications destined for a non-terrestrial network
US10015143B1 (en) 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10326803B1 (en) 2014-07-30 2019-06-18 The University Of Tulsa System, method and apparatus for network security monitoring, information sharing, and collective intelligence
US9948496B1 (en) 2014-07-30 2018-04-17 Silver Peak Systems, Inc. Determining a transit appliance for data traffic to a software service
US10122630B1 (en) 2014-08-15 2018-11-06 F5 Networks, Inc. Methods for network traffic presteering and devices thereof
US9485596B2 (en) 2014-08-15 2016-11-01 Getgo, Inc. Utilizing a smartphone during a public address system session
US9692101B2 (en) 2014-08-26 2017-06-27 At&T Intellectual Property I, L.P. Guided wave couplers for coupling electromagnetic waves between a waveguide surface and a surface of a wire
US9985799B2 (en) * 2014-09-05 2018-05-29 Alcatel-Lucent Usa Inc. Collaborative software-defined networking (SDN) based virtual private network (VPN)
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US9768833B2 (en) 2014-09-15 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for sensing a condition in a transmission medium of electromagnetic waves
TW201728124A (zh) * 2014-09-16 2017-08-01 科勞簡尼克斯股份有限公司 以彈性地定義之通信網路控制器為基礎之網路控制、操作及管理
US10063280B2 (en) 2014-09-17 2018-08-28 At&T Intellectual Property I, L.P. Monitoring and mitigating conditions in a communication network
WO2016048664A1 (en) * 2014-09-22 2016-03-31 Sightcall, Inc. Remote sip stack and architecture and methods for video calls between mobile devices
US9628854B2 (en) 2014-09-29 2017-04-18 At&T Intellectual Property I, L.P. Method and apparatus for distributing content in a communication network
US9615269B2 (en) 2014-10-02 2017-04-04 At&T Intellectual Property I, L.P. Method and apparatus that provides fault tolerance in a communication network
US9685992B2 (en) 2014-10-03 2017-06-20 At&T Intellectual Property I, L.P. Circuit panel network and methods thereof
US9906497B2 (en) * 2014-10-06 2018-02-27 Cryptzone North America, Inc. Multi-tunneling virtual network adapter
US9148408B1 (en) 2014-10-06 2015-09-29 Cryptzone North America, Inc. Systems and methods for protecting network devices
CN104252136B (zh) * 2014-10-10 2017-02-15 中国联合网络通信集团有限公司 智能家居控制方法和系统
US9503189B2 (en) 2014-10-10 2016-11-22 At&T Intellectual Property I, L.P. Method and apparatus for arranging communication sessions in a communication system
US9973299B2 (en) 2014-10-14 2018-05-15 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a mode of communication in a communication network
US9762289B2 (en) 2014-10-14 2017-09-12 At&T Intellectual Property I, L.P. Method and apparatus for transmitting or receiving signals in a transportation system
US9312919B1 (en) 2014-10-21 2016-04-12 At&T Intellectual Property I, Lp Transmission device with impairment compensation and methods for use therewith
US9577306B2 (en) 2014-10-21 2017-02-21 At&T Intellectual Property I, L.P. Guided-wave transmission device and methods for use therewith
US9780834B2 (en) 2014-10-21 2017-10-03 At&T Intellectual Property I, L.P. Method and apparatus for transmitting electromagnetic waves
US9520945B2 (en) 2014-10-21 2016-12-13 At&T Intellectual Property I, L.P. Apparatus for providing communication services and methods thereof
US9564947B2 (en) 2014-10-21 2017-02-07 At&T Intellectual Property I, L.P. Guided-wave transmission device with diversity and methods for use therewith
US9769020B2 (en) 2014-10-21 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for responding to events affecting communications in a communication network
US9653770B2 (en) 2014-10-21 2017-05-16 At&T Intellectual Property I, L.P. Guided wave coupler, coupling module and methods for use therewith
US9627768B2 (en) 2014-10-21 2017-04-18 At&T Intellectual Property I, L.P. Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9646163B2 (en) 2014-11-14 2017-05-09 Getgo, Inc. Communicating data between client devices using a hybrid connection having a regular communications pathway and a highly confidential communications pathway
US9680670B2 (en) 2014-11-20 2017-06-13 At&T Intellectual Property I, L.P. Transmission device with channel equalization and control and methods for use therewith
US9544006B2 (en) 2014-11-20 2017-01-10 At&T Intellectual Property I, L.P. Transmission device with mode division multiplexing and methods for use therewith
US10243784B2 (en) 2014-11-20 2019-03-26 At&T Intellectual Property I, L.P. System for generating topology information and methods thereof
US10340573B2 (en) 2016-10-26 2019-07-02 At&T Intellectual Property I, L.P. Launcher with cylindrical coupling device and methods for use therewith
US9654173B2 (en) 2014-11-20 2017-05-16 At&T Intellectual Property I, L.P. Apparatus for powering a communication device and methods thereof
US9800327B2 (en) 2014-11-20 2017-10-24 At&T Intellectual Property I, L.P. Apparatus for controlling operations of a communication device and methods thereof
US10009067B2 (en) 2014-12-04 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for configuring a communication interface
US9461706B1 (en) 2015-07-31 2016-10-04 At&T Intellectual Property I, Lp Method and apparatus for exchanging communication signals
US9997819B2 (en) 2015-06-09 2018-06-12 At&T Intellectual Property I, L.P. Transmission medium and method for facilitating propagation of electromagnetic waves via a core
US9742462B2 (en) 2014-12-04 2017-08-22 At&T Intellectual Property I, L.P. Transmission medium and communication interfaces and methods for use therewith
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US9280389B1 (en) 2014-12-30 2016-03-08 Tyco Fire & Security Gmbh Preemptive operating system without context switching
US10144036B2 (en) 2015-01-30 2018-12-04 At&T Intellectual Property I, L.P. Method and apparatus for mitigating interference affecting a propagation of electromagnetic waves guided by a transmission medium
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
EP3254415B1 (en) * 2015-02-05 2020-01-29 Cryptzone North America, Inc. Multi-tunneling virtual network adapter
CN104660474A (zh) * 2015-02-13 2015-05-27 上海交通大学 基于智能家居控制系统的网络通讯方法
US9876570B2 (en) 2015-02-20 2018-01-23 At&T Intellectual Property I, Lp Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9749013B2 (en) 2015-03-17 2017-08-29 At&T Intellectual Property I, L.P. Method and apparatus for reducing attenuation of electromagnetic waves guided by a transmission medium
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US9705561B2 (en) 2015-04-24 2017-07-11 At&T Intellectual Property I, L.P. Directional coupling device and methods for use therewith
US10224981B2 (en) 2015-04-24 2019-03-05 At&T Intellectual Property I, Lp Passive electrical coupling device and methods for use therewith
US9948354B2 (en) 2015-04-28 2018-04-17 At&T Intellectual Property I, L.P. Magnetic coupling device with reflective plate and methods for use therewith
US9793954B2 (en) 2015-04-28 2017-10-17 At&T Intellectual Property I, L.P. Magnetic coupling device and methods for use therewith
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US9871282B2 (en) 2015-05-14 2018-01-16 At&T Intellectual Property I, L.P. At least one transmission medium having a dielectric surface that is covered at least in part by a second dielectric
US9490869B1 (en) 2015-05-14 2016-11-08 At&T Intellectual Property I, L.P. Transmission medium having multiple cores and methods for use therewith
US9748626B2 (en) 2015-05-14 2017-08-29 At&T Intellectual Property I, L.P. Plurality of cables having different cross-sectional shapes which are bundled together to form a transmission medium
US10650940B2 (en) 2015-05-15 2020-05-12 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US10679767B2 (en) 2015-05-15 2020-06-09 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9917341B2 (en) 2015-05-27 2018-03-13 At&T Intellectual Property I, L.P. Apparatus and method for launching electromagnetic waves and for modifying radial dimensions of the propagating electromagnetic waves
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US10103801B2 (en) 2015-06-03 2018-10-16 At&T Intellectual Property I, L.P. Host node device and methods for use therewith
US9912381B2 (en) 2015-06-03 2018-03-06 At&T Intellectual Property I, Lp Network termination and methods for use therewith
US10154493B2 (en) 2015-06-03 2018-12-11 At&T Intellectual Property I, L.P. Network termination and methods for use therewith
US10348391B2 (en) 2015-06-03 2019-07-09 At&T Intellectual Property I, L.P. Client node device with frequency conversion and methods for use therewith
US9866309B2 (en) 2015-06-03 2018-01-09 At&T Intellectual Property I, Lp Host node device and methods for use therewith
US10812174B2 (en) 2015-06-03 2020-10-20 At&T Intellectual Property I, L.P. Client node device and methods for use therewith
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US10033766B2 (en) * 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US9913139B2 (en) 2015-06-09 2018-03-06 At&T Intellectual Property I, L.P. Signal fingerprinting for authentication of communicating devices
US10142086B2 (en) 2015-06-11 2018-11-27 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US9608692B2 (en) 2015-06-11 2017-03-28 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US9820146B2 (en) 2015-06-12 2017-11-14 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US9667317B2 (en) 2015-06-15 2017-05-30 At&T Intellectual Property I, L.P. Method and apparatus for providing security using network traffic adjustments
US9971724B1 (en) * 2015-06-18 2018-05-15 Rockwell Collins, Inc. Optimal multi-core network architecture
US9640850B2 (en) 2015-06-25 2017-05-02 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a non-fundamental wave mode on a transmission medium
US9865911B2 (en) 2015-06-25 2018-01-09 At&T Intellectual Property I, L.P. Waveguide system for slot radiating first electromagnetic waves that are combined into a non-fundamental wave mode second electromagnetic wave on a transmission medium
US9509415B1 (en) 2015-06-25 2016-11-29 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a fundamental wave mode on a transmission medium
US10033107B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US9847566B2 (en) 2015-07-14 2017-12-19 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a field of a signal to mitigate interference
US10205655B2 (en) 2015-07-14 2019-02-12 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array and multiple communication paths
US10341142B2 (en) 2015-07-14 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an uninsulated conductor
US10170840B2 (en) 2015-07-14 2019-01-01 At&T Intellectual Property I, L.P. Apparatus and methods for sending or receiving electromagnetic signals
US10148016B2 (en) 2015-07-14 2018-12-04 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array
US9836957B2 (en) 2015-07-14 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for communicating with premises equipment
US10044409B2 (en) 2015-07-14 2018-08-07 At&T Intellectual Property I, L.P. Transmission medium and methods for use therewith
US9628116B2 (en) 2015-07-14 2017-04-18 At&T Intellectual Property I, L.P. Apparatus and methods for transmitting wireless signals
US9853342B2 (en) 2015-07-14 2017-12-26 At&T Intellectual Property I, L.P. Dielectric transmission medium connector and methods for use therewith
US10033108B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave having a wave mode that mitigates interference
US9722318B2 (en) 2015-07-14 2017-08-01 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US10320586B2 (en) 2015-07-14 2019-06-11 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an insulated transmission medium
US9793951B2 (en) 2015-07-15 2017-10-17 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9608740B2 (en) 2015-07-15 2017-03-28 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US10090606B2 (en) 2015-07-15 2018-10-02 At&T Intellectual Property I, L.P. Antenna system with dielectric array and methods for use therewith
US11870604B2 (en) * 2015-07-17 2024-01-09 Nec Corpoation Communication system, communication device, communication method, terminal, non-transitory medium for providing secure communication in a network
US9749053B2 (en) 2015-07-23 2017-08-29 At&T Intellectual Property I, L.P. Node device, repeater and methods for use therewith
US10784670B2 (en) 2015-07-23 2020-09-22 At&T Intellectual Property I, L.P. Antenna support for aligning an antenna
US9871283B2 (en) 2015-07-23 2018-01-16 At&T Intellectual Property I, Lp Transmission medium having a dielectric core comprised of plural members connected by a ball and socket configuration
US9948333B2 (en) 2015-07-23 2018-04-17 At&T Intellectual Property I, L.P. Method and apparatus for wireless communications to mitigate interference
US9912027B2 (en) 2015-07-23 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for exchanging communication signals
US9735833B2 (en) 2015-07-31 2017-08-15 At&T Intellectual Property I, L.P. Method and apparatus for communications management in a neighborhood network
US9967173B2 (en) 2015-07-31 2018-05-08 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US10020587B2 (en) 2015-07-31 2018-07-10 At&T Intellectual Property I, L.P. Radial antenna and methods for use therewith
US9904535B2 (en) 2015-09-14 2018-02-27 At&T Intellectual Property I, L.P. Method and apparatus for distributing software
US9705571B2 (en) 2015-09-16 2017-07-11 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system
US10009063B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an out-of-band reference signal
US10079661B2 (en) 2015-09-16 2018-09-18 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a clock reference
US10136434B2 (en) 2015-09-16 2018-11-20 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an ultra-wideband control channel
US10051629B2 (en) 2015-09-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an in-band reference signal
US10009901B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method, apparatus, and computer-readable storage medium for managing utilization of wireless resources between base stations
US9769128B2 (en) 2015-09-28 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for encryption of communications over a network
US9729197B2 (en) 2015-10-01 2017-08-08 At&T Intellectual Property I, L.P. Method and apparatus for communicating network management traffic over a network
US10074890B2 (en) 2015-10-02 2018-09-11 At&T Intellectual Property I, L.P. Communication device and antenna with integrated light assembly
US9882277B2 (en) 2015-10-02 2018-01-30 At&T Intellectual Property I, Lp Communication device and antenna assembly with actuated gimbal mount
US9876264B2 (en) 2015-10-02 2018-01-23 At&T Intellectual Property I, Lp Communication system, guided wave switch and methods for use therewith
US20170104796A1 (en) * 2015-10-08 2017-04-13 Armored Info, Llc System, method and apparatus for simultaneous media collaboration
US10051483B2 (en) 2015-10-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for directing wireless signals
US10355367B2 (en) 2015-10-16 2019-07-16 At&T Intellectual Property I, L.P. Antenna structure for exchanging wireless signals
US9866519B2 (en) 2015-10-16 2018-01-09 Cryptzone North America, Inc. Name resolving in segmented networks
US10665942B2 (en) 2015-10-16 2020-05-26 At&T Intellectual Property I, L.P. Method and apparatus for adjusting wireless communications
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US9450976B1 (en) * 2016-01-29 2016-09-20 International Business Machines Corporation Managing data traffic in the presence of a sensitive site
US10412048B2 (en) 2016-02-08 2019-09-10 Cryptzone North America, Inc. Protecting network devices by a firewall
WO2017138851A1 (en) * 2016-02-12 2017-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for providing a secure end-to-end communication
JP6672925B2 (ja) * 2016-03-22 2020-03-25 富士ゼロックス株式会社 通信プログラム及び通信装置
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10432484B2 (en) 2016-06-13 2019-10-01 Silver Peak Systems, Inc. Aggregating select network traffic statistics
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10791088B1 (en) 2016-06-17 2020-09-29 F5 Networks, Inc. Methods for disaggregating subscribers via DHCP address translation and devices thereof
US11412084B1 (en) 2016-06-23 2022-08-09 8X8, Inc. Customization of alerts using telecommunications services
US11044365B1 (en) 2016-06-23 2021-06-22 8X8, Inc. Multi-level programming/data sets with decoupling VoIP communications interface
US11606396B1 (en) * 2016-06-23 2023-03-14 8X8, Inc. Client-specific control of shared telecommunications services
US10348902B1 (en) 2016-06-23 2019-07-09 8X8, Inc. Template-based management of telecommunications services
US10298770B1 (en) * 2016-06-23 2019-05-21 8X8, Inc. Template-based configuration and management of telecommunications services
US10298751B1 (en) * 2016-06-23 2019-05-21 8X8, Inc. Customization of alerts using telecommunications services
US11671533B1 (en) 2016-06-23 2023-06-06 8X8, Inc. Programming/data sets via a data-communications server
US11425260B1 (en) * 2016-06-23 2022-08-23 8X8, Inc. Template-based configuration and management of data-communications services
US10404759B1 (en) * 2016-06-23 2019-09-03 8×8, Inc. Client-specific control of shared telecommunications services
WO2017220165A1 (en) * 2016-06-24 2017-12-28 Rwe International Se Augmented reality system
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10530579B2 (en) * 2016-08-12 2020-01-07 Venafi, Inc. Cryptographic key control based on debasing condition likelihood estimation
US9967056B1 (en) 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
US9912419B1 (en) 2016-08-24 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for managing a fault in a distributed antenna system
US10614229B2 (en) * 2016-08-24 2020-04-07 International Business Machines Corporation Security and privacy controls for remote-access support services
US9860075B1 (en) 2016-08-26 2018-01-02 At&T Intellectual Property I, L.P. Method and communication node for broadband distribution
US10291311B2 (en) 2016-09-09 2019-05-14 At&T Intellectual Property I, L.P. Method and apparatus for mitigating a fault in a distributed antenna system
US11064019B2 (en) * 2016-09-14 2021-07-13 Advanced Micro Devices, Inc. Dynamic configuration of inter-chip and on-chip networks in cloud computing system
US11032819B2 (en) 2016-09-15 2021-06-08 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a control channel reference signal
US10225237B2 (en) * 2016-10-17 2019-03-05 Zscaler, Inc. Systems and methods for improving HTTPS security
US10340600B2 (en) 2016-10-18 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via plural waveguide systems
US10135146B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via circuits
US10135147B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via an antenna
US10374316B2 (en) 2016-10-21 2019-08-06 At&T Intellectual Property I, L.P. System and dielectric antenna with non-uniform dielectric
US9876605B1 (en) 2016-10-21 2018-01-23 At&T Intellectual Property I, L.P. Launcher and coupling system to support desired guided wave mode
US10811767B2 (en) 2016-10-21 2020-10-20 At&T Intellectual Property I, L.P. System and dielectric antenna with convex dielectric radome
US9991580B2 (en) 2016-10-21 2018-06-05 At&T Intellectual Property I, L.P. Launcher and coupling system for guided wave mode cancellation
US10312567B2 (en) 2016-10-26 2019-06-04 At&T Intellectual Property I, L.P. Launcher with planar strip antenna and methods for use therewith
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10224634B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Methods and apparatus for adjusting an operational characteristic of an antenna
US10225025B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Method and apparatus for detecting a fault in a communication system
US10291334B2 (en) 2016-11-03 2019-05-14 At&T Intellectual Property I, L.P. System for detecting a fault in a communication system
US10498044B2 (en) 2016-11-03 2019-12-03 At&T Intellectual Property I, L.P. Apparatus for configuring a surface of an antenna
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10178445B2 (en) 2016-11-23 2019-01-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for load balancing between a plurality of waveguides
US10340603B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Antenna system having shielded structural configurations for assembly
US10535928B2 (en) 2016-11-23 2020-01-14 At&T Intellectual Property I, L.P. Antenna system and methods for use therewith
US10340601B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Multi-antenna system and methods for use therewith
US10090594B2 (en) 2016-11-23 2018-10-02 At&T Intellectual Property I, L.P. Antenna system having structural configurations for assembly
US10361489B2 (en) 2016-12-01 2019-07-23 At&T Intellectual Property I, L.P. Dielectric dish antenna system and methods for use therewith
US10305190B2 (en) 2016-12-01 2019-05-28 At&T Intellectual Property I, L.P. Reflecting dielectric antenna system and methods for use therewith
US9927517B1 (en) 2016-12-06 2018-03-27 At&T Intellectual Property I, L.P. Apparatus and methods for sensing rainfall
US10439675B2 (en) 2016-12-06 2019-10-08 At&T Intellectual Property I, L.P. Method and apparatus for repeating guided wave communication signals
US10020844B2 (en) 2016-12-06 2018-07-10 T&T Intellectual Property I, L.P. Method and apparatus for broadcast communication via guided waves
US10135145B2 (en) 2016-12-06 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave along a transmission medium
US10755542B2 (en) 2016-12-06 2020-08-25 At&T Intellectual Property I, L.P. Method and apparatus for surveillance via guided wave communication
US10694379B2 (en) 2016-12-06 2020-06-23 At&T Intellectual Property I, L.P. Waveguide system with device-based authentication and methods for use therewith
US10382976B2 (en) 2016-12-06 2019-08-13 At&T Intellectual Property I, L.P. Method and apparatus for managing wireless communications based on communication paths and network device positions
US10819035B2 (en) 2016-12-06 2020-10-27 At&T Intellectual Property I, L.P. Launcher with helical antenna and methods for use therewith
US10326494B2 (en) 2016-12-06 2019-06-18 At&T Intellectual Property I, L.P. Apparatus for measurement de-embedding and methods for use therewith
US10637149B2 (en) 2016-12-06 2020-04-28 At&T Intellectual Property I, L.P. Injection molded dielectric antenna and methods for use therewith
US10727599B2 (en) 2016-12-06 2020-07-28 At&T Intellectual Property I, L.P. Launcher with slot antenna and methods for use therewith
US10243270B2 (en) 2016-12-07 2019-03-26 At&T Intellectual Property I, L.P. Beam adaptive multi-feed dielectric antenna system and methods for use therewith
US10027397B2 (en) 2016-12-07 2018-07-17 At&T Intellectual Property I, L.P. Distributed antenna system and methods for use therewith
US10446936B2 (en) 2016-12-07 2019-10-15 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system and methods for use therewith
US10389029B2 (en) 2016-12-07 2019-08-20 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system with core selection and methods for use therewith
US10139820B2 (en) 2016-12-07 2018-11-27 At&T Intellectual Property I, L.P. Method and apparatus for deploying equipment of a communication system
US10168695B2 (en) 2016-12-07 2019-01-01 At&T Intellectual Property I, L.P. Method and apparatus for controlling an unmanned aircraft
US9893795B1 (en) 2016-12-07 2018-02-13 At&T Intellectual Property I, Lp Method and repeater for broadband distribution
US10359749B2 (en) 2016-12-07 2019-07-23 At&T Intellectual Property I, L.P. Method and apparatus for utilities management via guided wave communication
US10547348B2 (en) 2016-12-07 2020-01-28 At&T Intellectual Property I, L.P. Method and apparatus for switching transmission mediums in a communication system
US10777873B2 (en) 2016-12-08 2020-09-15 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10601494B2 (en) 2016-12-08 2020-03-24 At&T Intellectual Property I, L.P. Dual-band communication device and method for use therewith
US9911020B1 (en) 2016-12-08 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for tracking via a radio frequency identification device
US10389037B2 (en) 2016-12-08 2019-08-20 At&T Intellectual Property I, L.P. Apparatus and methods for selecting sections of an antenna array and use therewith
US10103422B2 (en) 2016-12-08 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10530505B2 (en) 2016-12-08 2020-01-07 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves along a transmission medium
US9998870B1 (en) 2016-12-08 2018-06-12 At&T Intellectual Property I, L.P. Method and apparatus for proximity sensing
US10411356B2 (en) 2016-12-08 2019-09-10 At&T Intellectual Property I, L.P. Apparatus and methods for selectively targeting communication devices with an antenna array
US10069535B2 (en) 2016-12-08 2018-09-04 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves having a certain electric field structure
US10326689B2 (en) 2016-12-08 2019-06-18 At&T Intellectual Property I, L.P. Method and system for providing alternative communication paths
US10916969B2 (en) 2016-12-08 2021-02-09 At&T Intellectual Property I, L.P. Method and apparatus for providing power using an inductive coupling
US10938108B2 (en) 2016-12-08 2021-03-02 At&T Intellectual Property I, L.P. Frequency selective multi-feed dielectric antenna system and methods for use therewith
US10340983B2 (en) 2016-12-09 2019-07-02 At&T Intellectual Property I, L.P. Method and apparatus for surveying remote sites via guided wave communications
US10264586B2 (en) 2016-12-09 2019-04-16 At&T Mobility Ii Llc Cloud-based packet controller and methods for use therewith
US9838896B1 (en) 2016-12-09 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for assessing network coverage
US10263951B2 (en) * 2017-01-09 2019-04-16 Star2Star Communications, LLC Network address family translation method and system
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US11044202B2 (en) 2017-02-06 2021-06-22 Silver Peak Systems, Inc. Multi-level learning for predicting and classifying traffic flows from first packet data
US10257082B2 (en) 2017-02-06 2019-04-09 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US9973940B1 (en) 2017-02-27 2018-05-15 At&T Intellectual Property I, L.P. Apparatus and methods for dynamic impedance matching of a guided wave launcher
US10298293B2 (en) 2017-03-13 2019-05-21 At&T Intellectual Property I, L.P. Apparatus of communication utilizing wireless network devices
US10594664B2 (en) 2017-03-13 2020-03-17 At&T Intellectual Property I, L.P. Extracting data from encrypted packet flows
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10554689B2 (en) * 2017-04-28 2020-02-04 Cisco Technology, Inc. Secure communication session resumption in a service function chain
US10972453B1 (en) 2017-05-03 2021-04-06 F5 Networks, Inc. Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US10657173B2 (en) 2017-06-09 2020-05-19 Google Llc Validate modification of audio-based computer program output
US10652170B2 (en) 2017-06-09 2020-05-12 Google Llc Modification of audio-based computer program output
US10600409B2 (en) 2017-06-09 2020-03-24 Google Llc Balance modifications of audio-based computer program output including a chatbot selected based on semantic processing of audio
US10614122B2 (en) 2017-06-09 2020-04-07 Google Llc Balance modifications of audio-based computer program output using a placeholder field based on content
US10447861B1 (en) 2017-06-23 2019-10-15 8X8, Inc. Intelligent call handling and routing based on numbering plan area code
US10425531B1 (en) 2017-06-23 2019-09-24 8X8, Inc. Customized communication lists for data communications systems using high-level programming
US10951484B1 (en) 2017-06-23 2021-03-16 8X8, Inc. Customized call model generation and analytics using a high-level programming interface
US10841235B2 (en) 2017-07-20 2020-11-17 Vmware, Inc Methods and apparatus to optimize memory allocation in response to a storage rebalancing event
US11102063B2 (en) 2017-07-20 2021-08-24 Vmware, Inc. Methods and apparatus to cross configure network resources of software defined data centers
US10756967B2 (en) * 2017-07-20 2020-08-25 Vmware Inc. Methods and apparatus to configure switches of a virtual rack
US10530678B2 (en) 2017-07-20 2020-01-07 Vmware, Inc Methods and apparatus to optimize packet flow among virtualized servers
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
CN110999225B (zh) * 2017-08-03 2021-10-22 日立安斯泰莫株式会社 控制装置
US11122083B1 (en) 2017-09-08 2021-09-14 F5 Networks, Inc. Methods for managing network connections based on DNS data and network policies and devices thereof
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
KR102466983B1 (ko) * 2017-09-27 2022-11-11 유비퀴티 인코포레이티드 로컬 네트워크에 대한 자동 보안 원격 액세스를 위한 시스템
US11469941B2 (en) * 2017-10-13 2022-10-11 BLX.io LLC Configuration for IoT device setup
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
WO2019156998A1 (en) 2018-02-06 2019-08-15 Dealer On Call LLC Systems and methods for providing customer support
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead
US10366017B2 (en) 2018-03-30 2019-07-30 Intel Corporation Methods and apparatus to offload media streams in host devices
US10841834B2 (en) 2018-04-04 2020-11-17 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
US10638363B2 (en) 2018-04-04 2020-04-28 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
US11194930B2 (en) 2018-04-27 2021-12-07 Datatrendz, Llc Unobtrusive systems and methods for collecting, processing and securing information transmitted over a network
US11044200B1 (en) 2018-07-06 2021-06-22 F5 Networks, Inc. Methods for service stitching using a packet header and devices thereof
US20200028713A1 (en) * 2018-07-16 2020-01-23 Dwight L. Stewart Computer system having controller configured to create data tunnel based on device information
US20200099738A1 (en) * 2018-09-24 2020-03-26 Citrix Systems, Inc. Systems and methods for bridge protocol between diverse applications
US10965676B2 (en) * 2018-10-02 2021-03-30 Ca, Inc. Peer authentication by source devices
US11115478B2 (en) 2018-11-19 2021-09-07 Citrix Systems, Inc. Computer system and methods providing virtual computing session connections and re-directs based upon ordered list of virtual delivery agents
US11190456B2 (en) 2018-11-30 2021-11-30 International Business Machines Corporation Real-time adjustment of packet size limit in virtual networks
US11171928B2 (en) * 2018-12-06 2021-11-09 ColorTokens, Inc. Local peer to peer direct connection in network address translator (NAT) and overlay networks
US10860361B2 (en) * 2019-01-07 2020-12-08 Citrix Systems, Inc. Computer system providing virtual computing sessions through virtual delivery agent leasing with enhanced power savings and connectivity and related methods
US11165707B2 (en) 2019-04-12 2021-11-02 Cisco Technology, Inc. Dynamic policy implementation for application-aware routing based on granular business insights
US11012374B2 (en) 2019-05-20 2021-05-18 Citrix Systems, Inc. Systems and methods for virtual session connection using component-based connection leases
US11362943B2 (en) 2019-05-20 2022-06-14 Citrix Systems, Inc. System and method for validating virtual session requests
US11212113B2 (en) 2019-05-20 2021-12-28 Citrix Systems, Inc. Systems and methods providing connection lease anti-theft features for virtual computing sessions
US10862975B1 (en) 2019-06-04 2020-12-08 Citrix Systems, Inc. Computing system providing direct routing for desktop as a service (DaaS) sessions to a private network and related methods
US20220345371A1 (en) * 2019-06-21 2022-10-27 Snapt, Inc Control configuration for a plurality of endpoint devices
KR102654182B1 (ko) * 2019-07-03 2024-04-02 텔레폰악티에볼라겟엘엠에릭슨(펍) 네트워크 트래픽 관리의 개선을 위한 패킷 확인 응답 기술
CN112448935A (zh) * 2019-09-03 2021-03-05 华为技术有限公司 建立网络连接的方法及电子设备
US20220376933A1 (en) * 2019-09-25 2022-11-24 Commonwealth Scientific And Industrial Research Organisation Cryptographic services for browser applications
US11064032B1 (en) * 2020-07-16 2021-07-13 Trend Micro Incorporated Application-aware routing in network address translation environments
WO2022031257A1 (en) 2020-08-01 2022-02-10 Citrix Systems, Inc. Desktop as a service system
US11271899B2 (en) * 2020-08-09 2022-03-08 Perimeter 81 Ltd Implementing a multi-regional cloud based network using network address translation
CN112039426A (zh) * 2020-08-25 2020-12-04 中国空间技术研究院 一种低损耗太阳电池分流调节模块
US20220173890A1 (en) 2020-11-30 2022-06-02 Citrix Systems, Inc. Smart card and associated methods for initiating virtual sessions at kiosk device
US20220029929A1 (en) * 2020-12-08 2022-01-27 Intel Corporation Technologies that provide policy enforcement for resource access
US11637852B2 (en) 2021-01-04 2023-04-25 Microsoft Technology Licensing, Llc Internet-facing device identification
US11803398B2 (en) 2021-02-16 2023-10-31 Citrix Systems, Inc. Computing device and associated methods providing browser launching of virtual sessions in an application
US11474840B1 (en) 2021-05-17 2022-10-18 Citrix Systems, Inc. Computing device and related methods providing virtual session launching from previously cached assets
US11743193B2 (en) 2021-11-01 2023-08-29 Seagate Technology Llc Sliding window protocol for communication among more than two participants

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112823A1 (en) * 2001-12-17 2003-06-19 Microsoft Corporation Methods and systems for establishing communications through firewalls and network address translators

Family Cites Families (762)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4479195A (en) 1982-09-07 1984-10-23 At&T Bell Laboratories Data conference system
US4701844A (en) 1984-03-30 1987-10-20 Motorola Computer Systems, Inc. Dual cache for independent prefetch and execution units
US4885680A (en) 1986-07-25 1989-12-05 International Business Machines Corporation Method and apparatus for efficiently handling temporarily cacheable data
US4935870A (en) 1986-12-15 1990-06-19 Keycom Electronic Publishing Apparatus for downloading macro programs and executing a downloaded macro program responding to activation of a single key
US5301270A (en) 1989-12-18 1994-04-05 Anderson Consulting Computer-assisted software engineering system for cooperative processing environments
AU640181B2 (en) 1989-12-26 1993-08-19 Digital Equipment Corporation Method for securing terminal and terminal apparatus for use with the method
US5625793A (en) 1991-04-15 1997-04-29 International Business Machines Corporation Automatic cache bypass for instructions exhibiting poor cache hit ratio
US5359712A (en) 1991-05-06 1994-10-25 Apple Computer, Inc. Method and apparatus for transitioning between sequences of digital information
US5307413A (en) 1991-07-19 1994-04-26 Process Software Corporation Method and apparatus for adding data compression and other services in a computer network
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
FR2687259B1 (fr) 1992-02-11 1994-05-06 Ouest Standard Telematique Sa Procede de compression de donnees pour systeme de transmission par unites de donnees de protocole, procede de decompression et dispositif correspondant.
US5329619A (en) 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US7134131B1 (en) 1992-12-09 2006-11-07 Sedna Patent Services, Llc Digital broadcast program billing
JP3266351B2 (ja) 1993-01-20 2002-03-18 株式会社日立製作所 データベース管理システムおよび問合せの処理方法
US5511208A (en) 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
US6681029B1 (en) 1993-11-18 2004-01-20 Digimarc Corporation Decoding steganographic messages embedded in media signals
US6122403A (en) 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
US5835726A (en) 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
JP2576780B2 (ja) * 1993-12-17 1997-01-29 日本電気株式会社 プロトコル終端方式
US6119151A (en) 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
US5577226A (en) 1994-05-06 1996-11-19 Eec Systems, Inc. Method and system for coherently caching I/O devices across a network
JP3003907B2 (ja) 1994-05-10 2000-01-31 三菱電機株式会社 サーバ・クライアント型システム
CA2145921A1 (en) 1994-05-10 1995-11-11 Vijay Pochampalli Kumar Method and apparatus for executing a distributed algorithm or service on a simple network management protocol based computer network
WO1995035535A1 (en) 1994-06-17 1995-12-28 Intel Corporation Apparatus and method for application sharing in a graphic user interface
JPH086910A (ja) 1994-06-23 1996-01-12 Hitachi Ltd クラスタ型計算機システム
US6427030B1 (en) 1994-08-03 2002-07-30 Xerox Corporation Method and system for image conversion utilizing dynamic error diffusion
TW252248B (en) 1994-08-23 1995-07-21 Ibm A semiconductor memory based server for providing multimedia information on demand over wide area networks
US5671226A (en) 1995-02-09 1997-09-23 Mitsubishi Denki Kabushiki Kaisha Multimedia information processing system
US5742829A (en) 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
US5623492A (en) * 1995-03-24 1997-04-22 U S West Technologies, Inc. Methods and systems for managing bandwidth resources in a fast packet switching network
US5805809A (en) 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5822524A (en) 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
US5781449A (en) 1995-08-10 1998-07-14 Advanced System Technologies, Inc. Response time measurement apparatus and method
US5657390A (en) 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US6061769A (en) 1995-09-27 2000-05-09 International Business Machines Corporation Data set backup in a shared environment
US5819020A (en) 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US6029175A (en) 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US6270795B1 (en) * 1995-11-09 2001-08-07 Microbiological Research Authority Method of making microencapsulated DNA for vaccination and gene therapy
JP3097525B2 (ja) 1995-11-10 2000-10-10 株式会社日立製作所 情報フィルタリング処理を行うデータ伝送方法
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6112085A (en) * 1995-11-30 2000-08-29 Amsc Subsidiary Corporation Virtual network configuration and management system for satellite communication system
US5925100A (en) 1996-03-21 1999-07-20 Sybase, Inc. Client/server system with methods for prefetching and managing semantic objects based on object-based prefetch primitive present in client's executing application
FI103005B1 (fi) 1996-03-25 1999-03-31 Nokia Telecommunications Oy Lähetettävän datan priorisointi reitittimessä
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5911051A (en) * 1996-03-29 1999-06-08 Intel Corporation High-throughput interconnect allowing bus transactions based on partial access requests
US5761431A (en) 1996-04-12 1998-06-02 Peak Audio, Inc. Order persistent timer for controlling events at multiple processing stations
US5859835A (en) * 1996-04-15 1999-01-12 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks
US5931961A (en) 1996-05-08 1999-08-03 Apple Computer, Inc. Discovery of acceptable packet size using ICMP echo
US5940074A (en) 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
US5864837A (en) * 1996-06-12 1999-01-26 Unisys Corporation Methods and apparatus for efficient caching in a distributed environment
US6119105A (en) 1996-06-17 2000-09-12 Verifone, Inc. System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture
US6373950B1 (en) * 1996-06-17 2002-04-16 Hewlett-Packard Company System, method and article of manufacture for transmitting messages within messages utilizing an extensible, flexible architecture
US5850446A (en) 1996-06-17 1998-12-15 Verifone, Inc. System, method and article of manufacture for virtual point of sale processing utilizing an extensible, flexible architecture
US6253027B1 (en) 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US5889863A (en) 1996-06-17 1999-03-30 Verifone, Inc. System, method and article of manufacture for remote virtual point of sale processing utilizing a multichannel, extensible, flexible architecture
US5987132A (en) 1996-06-17 1999-11-16 Verifone, Inc. System, method and article of manufacture for conditionally accepting a payment method utilizing an extensible, flexible architecture
US6026379A (en) * 1996-06-17 2000-02-15 Verifone, Inc. System, method and article of manufacture for managing transactions in a high availability system
US5983208A (en) 1996-06-17 1999-11-09 Verifone, Inc. System, method and article of manufacture for handling transaction results in a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US6072870A (en) 1996-06-17 2000-06-06 Verifone Inc. System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US5812668A (en) 1996-06-17 1998-09-22 Verifone, Inc. System, method and article of manufacture for verifying the operation of a remote transaction clearance system utilizing a multichannel, extensible, flexible architecture
US6324525B1 (en) 1996-06-17 2001-11-27 Hewlett-Packard Company Settlement of aggregated electronic transactions over a network
US6178409B1 (en) * 1996-06-17 2001-01-23 Verifone, Inc. System, method and article of manufacture for multiple-entry point virtual point of sale architecture
US6002767A (en) 1996-06-17 1999-12-14 Verifone, Inc. System, method and article of manufacture for a modular gateway server architecture
US5943424A (en) 1996-06-17 1999-08-24 Hewlett-Packard Company System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture
US6058250A (en) * 1996-06-19 2000-05-02 At&T Corp Bifurcated transaction system in which nonsensitive information is exchanged using a public network connection and sensitive information is exchanged after automatically configuring a private network connection
JPH1011966A (ja) 1996-06-27 1998-01-16 Mitsubishi Electric Corp 同期型半導体記憶装置および同期型メモリモジュール
US5956483A (en) 1996-06-28 1999-09-21 Microsoft Corporation System and method for making function calls from a web browser to a local application
US5893150A (en) 1996-07-01 1999-04-06 Sun Microsystems, Inc. Efficient allocation of cache memory space in a computer system
US6272556B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for migrating a client-server application (#5)
US6182139B1 (en) 1996-08-05 2001-01-30 Resonate Inc. Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm
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
US5708656A (en) * 1996-09-11 1998-01-13 Nokia Mobile Phones Limited Method and apparatus for packet data transmission
US6253188B1 (en) 1996-09-20 2001-06-26 Thomson Newspapers, Inc. Automated interactive classified ad system for the internet
US5931917A (en) 1996-09-26 1999-08-03 Verifone, Inc. System, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser
US5978840A (en) 1996-09-26 1999-11-02 Verifone, Inc. System, method and article of manufacture for a payment gateway system architecture for processing encrypted payment transactions utilizing a multichannel, extensible, flexible architecture
US5787470A (en) 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance
US6101543A (en) 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
US5999525A (en) 1996-11-18 1999-12-07 Mci Communications Corporation Method for video telephony over a hybrid network
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5987611A (en) 1996-12-31 1999-11-16 Zone Labs, Inc. System and methodology for managing internet access on a per application basis for client computers connected to the internet
US6026440A (en) 1997-01-27 2000-02-15 International Business Machines Corporation Web server account manager plug-in for monitoring resources
US5996076A (en) 1997-02-19 1999-11-30 Verifone, Inc. System, method and article of manufacture for secure digital certification of electronic commerce
US5995999A (en) 1997-03-12 1999-11-30 Fujitsu Limited Naming system for hierarchically named computer accessible objects
FR2761843B1 (fr) 1997-03-12 2002-05-03 Mannesmann Ag Procede d'exploitation de reseaux virtuels prives dans un reseau commun de commutation de paquets de donnees et dispositif pour la mise en oeuvre de ce procede
US6075796A (en) 1997-03-17 2000-06-13 At&T Methods and apparatus for providing improved quality of packet transmission in applications such as internet telephony
US6021470A (en) 1997-03-17 2000-02-01 Oracle Corporation Method and apparatus for selective data caching implemented with noncacheable and cacheable data for improved cache performance in a computer networking system
US6252851B1 (en) 1997-03-27 2001-06-26 Massachusetts Institute Of Technology Method for regulating TCP flow over heterogeneous networks
EP1021917A4 (en) 1997-03-31 2002-05-15 Broadband Associates METHOD AND SYSTEM FOR DELIVERING A DISPLAY ON A NETWORK
US6282172B1 (en) 1997-04-01 2001-08-28 Yipes Communications, Inc. Generating acknowledgement signals in a data communication system
GB2325122B (en) 1997-05-06 2002-03-27 Ibm Bus connectuon set up and tear down
US6161123A (en) 1997-05-06 2000-12-12 Intermec Ip Corporation Providing reliable communication over an unreliable transport layer in a hand-held device using a persistent session
US6170017B1 (en) 1997-05-08 2001-01-02 International Business Machines Corporation Method and system coordinating actions among a group of servers
US6098108A (en) 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US6092155A (en) 1997-07-10 2000-07-18 International Business Machines Corporation Cache coherent network adapter for scalable shared memory processing systems
US6067569A (en) 1997-07-10 2000-05-23 Microsoft Corporation Fast-forwarding and filtering of network packets in a computer system
US5958016A (en) * 1997-07-13 1999-09-28 Bell Atlantic Network Services, Inc. Internet-web link for access to intelligent network service control
AU8490898A (en) 1997-07-18 1999-02-10 Interprophet Corporation Tcp/ip network accelerator system and method
US6006268A (en) 1997-07-31 1999-12-21 Cisco Technology, Inc. Method and apparatus for reducing overhead on a proxied connection
US6026413A (en) 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6061796A (en) * 1997-08-26 2000-05-09 V-One Corporation Multi-access virtual private network
US5987482A (en) 1997-09-08 1999-11-16 International Business Machines Corporation Computer system and method of displaying hypertext documents with internal hypertext link definitions
US6199181B1 (en) 1997-09-09 2001-03-06 Perfecto Technologies Ltd. Method and system for maintaining restricted operating environments for application programs or operating systems
JPH11163947A (ja) 1997-09-22 1999-06-18 Toshiba Corp ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
AU761202B2 (en) 1997-09-22 2003-05-29 Sony Corporation Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format
US6192408B1 (en) * 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
US6023724A (en) 1997-09-26 2000-02-08 3Com Corporation Apparatus and methods for use therein for an ISDN LAN modem that displays fault information to local hosts through interception of host DNS request messages
US7174393B2 (en) 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US6131120A (en) * 1997-10-24 2000-10-10 Directory Logic, Inc. Enterprise network management directory containing network addresses of users and devices providing access lists to routers and servers
US7418731B2 (en) 1997-11-06 2008-08-26 Finjan Software, Ltd. Method and system for caching at secure gateways
EP1038368B1 (en) * 1997-11-13 2013-07-31 Intellectual Ventures I LLC File transfer system
US6664978B1 (en) 1997-11-17 2003-12-16 Fujitsu Limited Client-server computer network management architecture
US6788315B1 (en) 1997-11-17 2004-09-07 Fujitsu Limited Platform independent computer network manager
US5999179A (en) 1997-11-17 1999-12-07 Fujitsu Limited Platform independent computer network management client
WO1999027684A1 (en) 1997-11-25 1999-06-03 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US5974465A (en) * 1998-01-21 1999-10-26 3Com Corporation Method and apparatus for prioritizing the enqueueing of outbound data packets in a network device
US6415329B1 (en) 1998-03-06 2002-07-02 Massachusetts Institute Of Technology Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network
US6141686A (en) * 1998-03-13 2000-10-31 Deterministic Networks, Inc. Client-side application-classifier gathering network-traffic statistics and application and user names using extensible-service provider plugin for policy-based network control
US6327242B1 (en) 1998-03-17 2001-12-04 Infolibria, Inc. Message redirector with cut-through switch for highly reliable and efficient network traffic processor deployment
US6898700B2 (en) 1998-03-31 2005-05-24 Intel Corporation Efficient saving and restoring state in task switching
US6175869B1 (en) * 1998-04-08 2001-01-16 Lucent Technologies Inc. Client-side techniques for web server allocation
US6128627A (en) 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6061715A (en) 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US6578073B1 (en) 1998-05-13 2003-06-10 Hewlett-Packard Development Company, L.P. Accelerated content delivery over a network using reduced size objects
GB2337671B (en) 1998-05-16 2003-12-24 Ibm Security mechanisms in a web server
US6590588B2 (en) 1998-05-29 2003-07-08 Palm, Inc. Wireless, radio-frequency communications using a handheld computer
US6904519B2 (en) 1998-06-12 2005-06-07 Microsoft Corporation Method and computer program product for offloading processing tasks from software to hardware
US6141705A (en) 1998-06-12 2000-10-31 Microsoft Corporation System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6157955A (en) 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
EP1005780B1 (en) 1998-06-19 2012-05-02 Juniper Networks, Inc. Method and system for encapsulating/decapsulating data on a per channel basis in hardware
US6360265B1 (en) 1998-07-08 2002-03-19 Lucent Technologies Inc. Arrangement of delivering internet protocol datagrams for multimedia services to the same server
US6640248B1 (en) 1998-07-10 2003-10-28 Malibu Networks, Inc. Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer
US6452915B1 (en) 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US6496481B1 (en) 1998-07-16 2002-12-17 Industrial Technology Research Institute Data transfer method for wire real-time communications
US7197570B2 (en) 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US20020138640A1 (en) 1998-07-22 2002-09-26 Uri Raz Apparatus and method for improving the delivery of software applications and associated data in web-based systems
US6233619B1 (en) 1998-07-31 2001-05-15 Unisys Corporation Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems
US6173325B1 (en) * 1998-07-31 2001-01-09 Microsoft Corporation Method computer program product, and system for assessing the performance of a packet schedule
US6427187B2 (en) 1998-07-31 2002-07-30 Cache Flow, Inc. Multiple cache communication
US6301249B1 (en) 1998-08-04 2001-10-09 Opuswave Networks, Inc Efficient error control for wireless packet transmissions
US6425057B1 (en) 1998-08-27 2002-07-23 Hewlett-Packard Company Caching protocol method and system based on request frequency and relative storage duration
US6502192B1 (en) 1998-09-03 2002-12-31 Cisco Technology, Inc. Security between client and server in a computer network
GB2341523B (en) 1998-09-12 2003-10-29 Ibm Apparatus and method for establishing communication in a computer network
US6687732B1 (en) * 1998-09-28 2004-02-03 Inktomi Corporation Adaptive traffic bypassing in an intercepting network driver
US6606663B1 (en) 1998-09-29 2003-08-12 Openwave Systems Inc. Method and apparatus for caching credentials in proxy servers for wireless user agents
US20010051956A1 (en) 1998-09-29 2001-12-13 Paul Bird Global caching and sharing of sql statements in a heterogeneous application environment
US6618359B1 (en) 1998-10-07 2003-09-09 Nortel Networks Limited Error recovery in a mixed protocol networks
US6484206B2 (en) * 1998-10-07 2002-11-19 Nortel Networks Limited Efficient recovery of multiple connections in a communication network
US7136645B2 (en) 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6700902B1 (en) * 1998-10-19 2004-03-02 Elster Electricity, Llc Method and system for improving wireless data packet delivery
US6236652B1 (en) * 1998-11-02 2001-05-22 Airbiquity Inc. Geo-spacial Internet protocol addressing
US6385642B1 (en) 1998-11-03 2002-05-07 Youdecide.Com, Inc. Internet web server cache storage and session management system
US6411986B1 (en) 1998-11-10 2002-06-25 Netscaler, Inc. Internet client-server multiplexer
US6434618B1 (en) 1998-11-12 2002-08-13 Lucent Technologies Inc. Programmable network element for packet-switched computer network
US6389505B1 (en) 1998-11-19 2002-05-14 International Business Machines Corporation Restore tracking system for DRAM
US7043529B1 (en) 1999-04-23 2006-05-09 The United States Of America As Represented By The Secretary Of The Navy Collaborative development network for widely dispersed users and methods therefor
US6233606B1 (en) 1998-12-01 2001-05-15 Microsoft Corporation Automatic cache synchronization
US6253327B1 (en) 1998-12-02 2001-06-26 Cisco Technology, Inc. Single step network logon based on point to point protocol
AU2355500A (en) 1998-12-07 2000-06-26 Network Ice Corporation A method and apparatus for remote installation of network drivers and software
US7200804B1 (en) 1998-12-08 2007-04-03 Yodlee.Com, Inc. Method and apparatus for providing automation to an internet navigation application
US6697844B1 (en) 1998-12-08 2004-02-24 Lucent Technologies, Inc. Internet browsing using cache-based compaction
US6550012B1 (en) 1998-12-11 2003-04-15 Network Associates, Inc. Active firewall system and methodology
SG116487A1 (en) 1998-12-16 2005-11-28 Silverbrook Res Pty Ltd Duplex inkjet printing system.
US6389462B1 (en) 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6631986B2 (en) 1998-12-16 2003-10-14 Silverbrook Research Pty Ltd Printer transport roller with internal drive motor
AUPP773798A0 (en) 1998-12-16 1999-01-21 Silverbrook Research Pty Ltd An image creation method and apparatus(CEP02)
AUPP773898A0 (en) 1998-12-16 1999-01-21 Silverbrook Research Pty Ltd An image creation method and apparatus(CEP01)
US6333931B1 (en) 1998-12-28 2001-12-25 Cisco Technology, Inc. Method and apparatus for interconnecting a circuit-switched telephony network and a packet-switched data network, and applications thereof
US6888927B1 (en) 1998-12-28 2005-05-03 Nortel Networks Limited Graphical message notification
US6452923B1 (en) * 1998-12-31 2002-09-17 At&T Corp Cable connected wan interconnectivity services for corporate telecommuters
US6574688B1 (en) 1999-01-05 2003-06-03 Agere Systems Inc. Port manager controller for connecting various function modules
US6760748B1 (en) 1999-01-20 2004-07-06 Accenture Llp Instructional system grouping student terminals
US6748416B2 (en) * 1999-01-20 2004-06-08 International Business Machines Corporation Client-side method and apparatus for improving the availability and performance of network mediated services
US6615357B1 (en) * 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
US6442682B1 (en) 1999-02-18 2002-08-27 Auspex Systems, Inc. Characterization of data access using file system
US6594690B2 (en) 1999-02-24 2003-07-15 Hewlett-Packard Development Company, L.P. Network peripheral device driver installer
US6650640B1 (en) 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6980962B1 (en) 1999-03-02 2005-12-27 Quixtar Investments, Inc. Electronic commerce transactions within a marketing system that may contain a membership buying opportunity
US20030167403A1 (en) 1999-03-02 2003-09-04 Mccurley Kevin Snow Secure user-level tunnels on the internet
US6937574B1 (en) 1999-03-16 2005-08-30 Nortel Networks Limited Virtual private networks and methods for their operation
US6633574B1 (en) * 1999-03-17 2003-10-14 Loytec Electronics Gmbh Dynamic wait acknowledge for network protocol
US7505455B1 (en) 1999-03-19 2009-03-17 F5 Networks, Inc. Optimizations for tunneling between a bus and a network
US7062532B1 (en) 1999-03-25 2006-06-13 Autodesk, Inc. Method and apparatus for drawing collaboration on a network
US6662221B1 (en) 1999-04-12 2003-12-09 Lucent Technologies Inc. Integrated network and service management with automated flow through configuration and provisioning of virtual private networks
US6487641B1 (en) 1999-04-19 2002-11-26 Oracle Corporation Dynamic caches with miss tables
US7178106B2 (en) 1999-04-21 2007-02-13 Sonic Solutions, A California Corporation Presentation of media content from multiple media sources
WO2000064954A1 (en) 1999-04-22 2000-11-02 Vanderbilt University Polymeric encapsulation system promoting angiogenesis
US7103068B1 (en) 1999-05-04 2006-09-05 Sprint Communication Company L.P. System and method for configuring bandwidth transmission rates for call connections
US7152092B2 (en) 1999-05-05 2006-12-19 Indeliq, Inc. Creating chat rooms with multiple roles for multiple participants
US6611822B1 (en) 1999-05-05 2003-08-26 Ac Properties B.V. System method and article of manufacture for creating collaborative application sharing
US6505230B1 (en) 1999-05-14 2003-01-07 Pivia, Inc. Client-server independent intermediary mechanism
US6792615B1 (en) 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
AU5027200A (en) 1999-05-20 2000-12-12 Intensifi, Inc. Method and apparatus for access to, and delivery of, multimedia information
US7787907B2 (en) 1999-05-26 2010-08-31 Johnson Controls Technology Company System and method for using speech recognition with a vehicle control system
US6615166B1 (en) 1999-05-27 2003-09-02 Accenture Llp Prioritizing components of a network framework required for implementation of technology
US6473794B1 (en) 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US7165041B1 (en) 1999-05-27 2007-01-16 Accenture, Llp Web-based architecture sales tool
US6519571B1 (en) * 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6957186B1 (en) 1999-05-27 2005-10-18 Accenture Llp System method and article of manufacture for building, managing, and supporting various components of a system
US6536037B1 (en) 1999-05-27 2003-03-18 Accenture Llp Identification of redundancies and omissions among components of a web based architecture
US6449695B1 (en) 1999-05-27 2002-09-10 Microsoft Corporation Data cache using plural lists to indicate sequence of data storage
US6721713B1 (en) 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US6289450B1 (en) 1999-05-28 2001-09-11 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
US6988199B2 (en) * 2000-07-07 2006-01-17 Message Secure Secure and reliable document delivery
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US20010049741A1 (en) 1999-06-18 2001-12-06 Bryan D. Skene Method and system for balancing load distribution on a wide area network
US6405219B2 (en) 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US7444407B2 (en) * 2000-06-29 2008-10-28 Transnexus, Inc. Intelligent end user devices for clearinghouse services in an internet telephony system
US6553409B1 (en) 1999-07-09 2003-04-22 Microsoft Corporation Background cache synchronization
US6374300B2 (en) 1999-07-15 2002-04-16 F5 Networks, Inc. Method and system for storing load balancing information with an HTTP cookie
US6507891B1 (en) 1999-07-22 2003-01-14 International Business Machines Corporation Method and apparatus for managing internal caches and external caches in a data processing system
US6457103B1 (en) 1999-07-22 2002-09-24 International Business Machines Corporation Method and apparatus for caching content in a data processing system with fragment granularity
US6609128B1 (en) 1999-07-30 2003-08-19 Accenture Llp Codes table framework design in an E-commerce architecture
US6633878B1 (en) 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6601233B1 (en) 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6704873B1 (en) 1999-07-30 2004-03-09 Accenture Llp Secure gateway interconnection in an e-commerce based environment
US6718535B1 (en) * 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US7100195B1 (en) 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
US6523027B1 (en) * 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
JP2001054095A (ja) 1999-08-09 2001-02-23 Fujitsu Ltd 情報配信/再生制御装置、情報配信/再生制御方法および情報配信/再生制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US6697849B1 (en) 1999-08-13 2004-02-24 Sun Microsystems, Inc. System and method for caching JavaServer Pages™ responses
US6807607B1 (en) 1999-08-17 2004-10-19 International Business Machines Corporation Cache memory management system and method
US6442748B1 (en) 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US6502213B1 (en) 1999-08-31 2002-12-31 Accenture Llp System, method, and article of manufacture for a polymorphic exception handler in environment services patterns
US6477665B1 (en) 1999-08-31 2002-11-05 Accenture Llp System, method, and article of manufacture for environment services patterns in a netcentic environment
US6606660B1 (en) * 1999-08-31 2003-08-12 Accenture Llp Stream-based communication in a communication services patterns environment
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6601192B1 (en) 1999-08-31 2003-07-29 Accenture Llp Assertion component in environment services patterns
US6405364B1 (en) 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
US6842906B1 (en) * 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6529948B1 (en) 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
US6345239B1 (en) 1999-08-31 2002-02-05 Accenture Llp Remote demonstration of business capabilities in an e-commerce environment
US6529909B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
US6615199B1 (en) 1999-08-31 2003-09-02 Accenture, Llp Abstraction factory in a base services pattern environment
US6256773B1 (en) 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
US6697824B1 (en) 1999-08-31 2004-02-24 Accenture Llp Relationship management in an E-commerce application framework
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6571282B1 (en) 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6427132B1 (en) 1999-08-31 2002-07-30 Accenture Llp System, method and article of manufacture for demonstrating E-commerce capabilities via a simulation on a network
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6615253B1 (en) 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6477580B1 (en) 1999-08-31 2002-11-05 Accenture Llp Self-described stream in a communication services patterns environment
US6434628B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Common interface for handling exception interface name with additional prefix and suffix for handling exceptions in environment services patterns
US6742015B1 (en) 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US6339832B1 (en) 1999-08-31 2002-01-15 Accenture Llp Exception response table in environment services patterns
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6549949B1 (en) * 1999-08-31 2003-04-15 Accenture Llp Fixed format stream in a communication services patterns environment
US6601234B1 (en) 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US6438594B1 (en) 1999-08-31 2002-08-20 Accenture Llp Delivering service to a client via a locally addressable interface
US6496850B1 (en) 1999-08-31 2002-12-17 Accenture Llp Clean-up of orphaned server contexts
US6434568B1 (en) 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
US6640249B1 (en) 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
US6662357B1 (en) 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US6550057B1 (en) 1999-08-31 2003-04-15 Accenture Llp Piecemeal retrieval in an information services patterns environment
US6324647B1 (en) 1999-08-31 2001-11-27 Michel K. Bowman-Amuah System, method and article of manufacture for security management in a development architecture framework
US6611867B1 (en) 1999-08-31 2003-08-26 Accenture Llp System, method and article of manufacture for implementing a hybrid network
US7139999B2 (en) 1999-08-31 2006-11-21 Accenture Llp Development architecture framework
US6640244B1 (en) 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US6370573B1 (en) 1999-08-31 2002-04-09 Accenture Llp System, method and article of manufacture for managing an environment of a development architecture framework
US6539396B1 (en) 1999-08-31 2003-03-25 Accenture Llp Multi-object identifier system and method for information service pattern environment
US6289382B1 (en) 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US6614800B1 (en) 1999-09-02 2003-09-02 International Business Machines Corporation Method and system for virtual private network administration channels
US7128270B2 (en) 1999-09-17 2006-10-31 Silverbrook Research Pty Ltd Scanning device for coded data
US6801927B1 (en) 1999-09-24 2004-10-05 Akamba Corporation Network adaptor card with reverse proxy and cache and method implemented therewith
US7404003B1 (en) 1999-09-30 2008-07-22 Data Expedition, Inc. Method and apparatus for client side state management
US6732269B1 (en) 1999-10-01 2004-05-04 International Business Machines Corporation Methods, systems and computer program products for enhanced security identity utilizing an SSL proxy
US7152207B1 (en) 1999-11-05 2006-12-19 Decentrix Inc. Method and apparatus for providing conditional customization for generating a web site
US6697825B1 (en) 1999-11-05 2004-02-24 Decentrix Inc. Method and apparatus for generating and modifying multiple instances of element of a web site
US6609148B1 (en) 1999-11-10 2003-08-19 Randy Salo Clients remote access to enterprise networks employing enterprise gateway servers in a centralized data center converting plurality of data requests for messaging and collaboration into a single request
US6363065B1 (en) * 1999-11-10 2002-03-26 Quintum Technologies, Inc. okApparatus for a voice over IP (voIP) telephony gateway and methods for use therein
US7203732B2 (en) 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6870921B1 (en) 1999-11-12 2005-03-22 Metro One Telecommunications, Inc. Enhanced directory assistance service providing individual or group directories
US6678734B1 (en) 1999-11-13 2004-01-13 Ssh Communications Security Ltd. Method for intercepting network packets in a computing device
US6449658B1 (en) 1999-11-18 2002-09-10 Quikcat.Com, Inc. Method and apparatus for accelerating data through communication networks
US7016973B1 (en) 1999-11-19 2006-03-21 At&T Corp. Apparatus and methods for providing translucent proxies in a communications network
US6606744B1 (en) * 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US7523181B2 (en) 1999-11-22 2009-04-21 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US6754699B2 (en) 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US7124101B1 (en) 1999-11-22 2006-10-17 Accenture Llp Asset tracking in a network-based supply chain environment
US6671818B1 (en) 1999-11-22 2003-12-30 Accenture Llp Problem isolation through translating and filtering events into a standard object format in a network based supply chain
US6484143B1 (en) 1999-11-22 2002-11-19 Speedera Networks, Inc. User device and system for traffic management and content distribution over a world wide area network
US7130807B1 (en) 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
US7917628B2 (en) * 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7587467B2 (en) 1999-12-02 2009-09-08 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7117530B1 (en) 1999-12-07 2006-10-03 Watchguard Technologies, Inc. Tunnel designation system for virtual private networks
US7441045B2 (en) 1999-12-13 2008-10-21 F5 Networks, Inc. Method and system for balancing load distribution on a wide area network
US6324648B1 (en) 1999-12-14 2001-11-27 Gte Service Corporation Secure gateway having user identification and password authentication
US6990070B1 (en) 1999-12-17 2006-01-24 Nortel Networks Limited Method and apparatus for adjusting packet transmission volume from a source
US7149222B2 (en) 1999-12-21 2006-12-12 Converged Access, Inc. Integrated access point network device
US7167844B1 (en) * 1999-12-22 2007-01-23 Accenture Llp Electronic menu document creator in a virtual financial environment
US7069234B1 (en) 1999-12-22 2006-06-27 Accenture Llp Initiating an agreement in an e-commerce environment
US6629081B1 (en) 1999-12-22 2003-09-30 Accenture Llp Account settlement and financing in an e-commerce environment
US6904449B1 (en) 2000-01-14 2005-06-07 Accenture Llp System and method for an application provider framework
US7243136B2 (en) 2000-01-18 2007-07-10 Inktomi Corporation Approach for managing and providing content to users
US6574668B1 (en) 2000-01-25 2003-06-03 Cirrus Logic, Inc. Retransmission scheme in wireless computer networks
US6735691B1 (en) * 2000-01-27 2004-05-11 Microsoft Corporation System and method for the automated migration of configuration information
US7096418B1 (en) 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
US6820133B1 (en) 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US6947440B2 (en) 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US6496776B1 (en) 2000-02-29 2002-12-17 Brad W. Blumberg Position-based information access device and method
US7072665B1 (en) 2000-02-29 2006-07-04 Blumberg Brad W Position-based information access device and method of searching
US6496935B1 (en) 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US20020095400A1 (en) 2000-03-03 2002-07-18 Johnson Scott C Systems and methods for managing differentiated service in information management environments
US20020065864A1 (en) 2000-03-03 2002-05-30 Hartsell Neal D. Systems and method for resource tracking in information management environments
US20020133593A1 (en) 2000-03-03 2002-09-19 Johnson Scott C. Systems and methods for the deterministic management of information
US20020049608A1 (en) 2000-03-03 2002-04-25 Hartsell Neal D. Systems and methods for providing differentiated business services in information management environments
AU2001237696A1 (en) 2000-03-03 2001-09-12 Sanctum Ltd. System for determining web application vulnerabilities
US20020107990A1 (en) 2000-03-03 2002-08-08 Surgient Networks, Inc. Network connected computing system including network switch
US20020059274A1 (en) 2000-03-03 2002-05-16 Hartsell Neal D. Systems and methods for configuration of information management systems
US20020116452A1 (en) 2000-03-03 2002-08-22 Surgient Networks, Inc. Network connected computing system including storage system
US20020108059A1 (en) 2000-03-03 2002-08-08 Canion Rodney S. Network security accelerator
US20020174227A1 (en) 2000-03-03 2002-11-21 Hartsell Neal D. Systems and methods for prioritization in information management environments
US20020107903A1 (en) 2000-11-07 2002-08-08 Richter Roger K. Methods and systems for the order serialization of information in a network processing environment
US20030236919A1 (en) 2000-03-03 2003-12-25 Johnson Scott C. Network connected computing system
US20030236861A1 (en) 2000-03-03 2003-12-25 Johnson Scott C. Network content delivery system with peer to peer processing components
US20020049841A1 (en) 2000-03-03 2002-04-25 Johnson Scott C Systems and methods for providing differentiated service in information management environments
US20020107989A1 (en) 2000-03-03 2002-08-08 Johnson Scott C. Network endpoint system with accelerated data path
US7058973B1 (en) 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
US20020105972A1 (en) 2000-03-03 2002-08-08 Richter Roger K. Interprocess communications within a network node using switch fabric
US20030236837A1 (en) 2000-03-03 2003-12-25 Johnson Scott C. Content delivery system providing accelerate content delivery
US6993016B1 (en) * 2000-11-16 2006-01-31 Juniper Networks, Inc. Methods and apparatus for transmission of analog channels over digital packet networks
US6779035B1 (en) 2000-03-06 2004-08-17 Microsoft Corporation Application programming interface and generalized network address translator for translation of transport-layer sessions
US6609212B1 (en) 2000-03-09 2003-08-19 International Business Machines Corporation Apparatus and method for sharing predictive failure information on a computer network
US7111060B2 (en) 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
AU2001253857A1 (en) * 2000-03-14 2001-09-24 Buzzpad, Inc. Method and apparatus for forming linked multi-user groups of shared software applications
EP1134942A1 (en) 2000-03-15 2001-09-19 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for control of non real-time application flows
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
US8380854B2 (en) 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US7020719B1 (en) 2000-03-24 2006-03-28 Netli, Inc. System and method for high-performance delivery of Internet messages by selecting first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US6701514B1 (en) 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US6907546B1 (en) 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US6502102B1 (en) 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6754709B1 (en) * 2000-03-29 2004-06-22 Microsoft Corporation Application programming interface and generalized network address translator for intelligent transparent application gateway processes
US6553377B1 (en) 2000-03-31 2003-04-22 Network Associates, Inc. System and process for maintaining a plurality of remote security applications using a modular framework in a distributed computing environment
US6728787B1 (en) 2000-03-31 2004-04-27 Mitsubishi Electric Research Labs, Inc System and method for locating and installing device drivers for peripheral devices
US7096495B1 (en) 2000-03-31 2006-08-22 Intel Corporation Network session management
WO2001078489A2 (en) 2000-04-07 2001-10-25 Broadcom Homenetworking, Inc. Frame-based communication with variable rate payload
US7047424B2 (en) 2000-04-12 2006-05-16 Corente, Inc. Methods and systems for hairpins in virtual networks
US7085854B2 (en) 2000-04-12 2006-08-01 Corente, Inc. Methods and systems for enabling communication between a processor and a network operations center
US7028333B2 (en) * 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for partners in virtual networks
US6996628B2 (en) 2000-04-12 2006-02-07 Corente, Inc. Methods and systems for managing virtual addresses for virtual networks
US7028334B2 (en) 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for using names in virtual networks
US7181766B2 (en) 2000-04-12 2007-02-20 Corente, Inc. Methods and system for providing network services using at least one processor interfacing a base network
US7181542B2 (en) * 2000-04-12 2007-02-20 Corente, Inc. Method and system for managing and configuring virtual private networks
US6981041B2 (en) 2000-04-13 2005-12-27 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities
US6701345B1 (en) 2000-04-13 2004-03-02 Accenture Llp Providing a notification when a plurality of users are altering similar data in a health care solution environment
AU2001251644A1 (en) * 2000-04-17 2001-10-30 Circadence Corporation Conductor gateway buffer prioritization
US6976090B2 (en) 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
AU2001259107A1 (en) 2000-04-21 2001-11-07 Togethersoft Corporation Methods and systems for supporting and deploying distributed computing components
US7000012B2 (en) 2000-04-24 2006-02-14 Microsoft Corporation Systems and methods for uniquely identifying networks by correlating each network name with the application programming interfaces of transport protocols supported by the network
JP3557998B2 (ja) 2000-04-28 2004-08-25 日本電気株式会社 フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置
US7047279B1 (en) 2000-05-05 2006-05-16 Accenture, Llp Creating collaborative application sharing
US6950848B1 (en) 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US7162540B2 (en) 2000-05-15 2007-01-09 Catchfire Systems, Inc. Method and system for prioritizing network services
US7225244B2 (en) 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US7143153B1 (en) 2000-11-09 2006-11-28 Ciena Corporation Internal network device dynamic health monitoring
US7152047B1 (en) 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
US7028083B2 (en) 2000-05-26 2006-04-11 Akomai Technologies, Inc. Method for extending a network map
JP2001339431A (ja) 2000-05-26 2001-12-07 Fujitsu Ltd 通信方式、中継装置、エンドシステム及び通信方法
US6732314B1 (en) 2000-05-26 2004-05-04 3Com Corporation Method and apparatus for L2TP forward error correction
WO2001093525A2 (en) 2000-05-26 2001-12-06 Citrix Systems, Inc. Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism
US20040034794A1 (en) 2000-05-28 2004-02-19 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US6766373B1 (en) 2000-05-31 2004-07-20 International Business Machines Corporation Dynamic, seamless switching of a network session from one connection route to another
US20020095498A1 (en) 2000-06-05 2002-07-18 Accordion Networks Network architecture for multi-client units
US7010300B1 (en) 2000-06-15 2006-03-07 Sprint Spectrum L.P. Method and system for intersystem wireless communications session hand-off
US7366779B1 (en) * 2000-06-19 2008-04-29 Aol Llc, A Delaware Limited Liability Company Direct file transfer between subscribers of a communications system
FI20001578A (fi) 2000-06-30 2001-12-31 Nokia Networks Oy QoS-arkkitehtuuri
US6847892B2 (en) 2001-10-29 2005-01-25 Digital Angel Corporation System for localizing and sensing objects and providing alerts
US7139822B2 (en) * 2000-07-07 2006-11-21 International Business Machines Corporation Interception method and system for compensating disadvantageous characteristics of a communication protocol
US6925495B2 (en) 2000-07-13 2005-08-02 Vendaria Media, Inc. Method and system for delivering and monitoring an on-demand playlist over a network using a template
US6591266B1 (en) 2000-07-14 2003-07-08 Nec Corporation System and method for intelligent caching and refresh of dynamically generated and static web content
US7155723B2 (en) 2000-07-19 2006-12-26 Akamai Technologies, Inc. Load balancing service
US20020010765A1 (en) 2000-07-21 2002-01-24 John Border Method and system for prioritizing traffic in a network
US6826626B1 (en) 2000-07-21 2004-11-30 Clear Blue Technologies Management, Inc. Method of and apparatus for rapid retrieval of data in a content distribution network
US6910074B1 (en) 2000-07-24 2005-06-21 Nortel Networks Limited System and method for service session management in an IP centric distributed network
JP4564228B2 (ja) 2000-07-25 2010-10-20 ジュニパー ネットワークス, インコーポレイテッド ネットワーク通信データをオンラインで透過的にクロスセッションで符号化及び伝送するための構成及び方法
US20030014624A1 (en) * 2000-07-31 2003-01-16 Andes Networks, Inc. Non-proxy internet communication
US7221660B1 (en) 2000-08-08 2007-05-22 E.F. Johnson Company System and method for multicast communications using real time transport protocol (RTP)
US7047281B1 (en) 2000-08-08 2006-05-16 Fineground Networks Method and system for accelerating the delivery of content in a networked environment
US6831898B1 (en) 2000-08-16 2004-12-14 Cisco Systems, Inc. Multiple packet paths to improve reliability in an IP network
AU2001285023A1 (en) 2000-08-17 2002-02-25 Mobileum, Inc. Method and system for wireless voice channel/data channel integration
US6996631B1 (en) 2000-08-17 2006-02-07 International Business Machines Corporation System having a single IP address associated with communication protocol stacks in a cluster of processing systems
JP2002077243A (ja) 2000-08-24 2002-03-15 Fujitsu Ltd セル/パケット混在の伝送方法および伝送装置
US6732237B1 (en) 2000-08-29 2004-05-04 Oracle International Corporation Multi-tier caching system
JP4041646B2 (ja) 2000-09-07 2008-01-30 Kddi株式会社 Tcp通信方法
US20020038339A1 (en) 2000-09-08 2002-03-28 Wei Xu Systems and methods for packet distribution
US20020032798A1 (en) 2000-09-08 2002-03-14 Wei Xu Systems and methods for packet sequencing
US6691227B1 (en) 2000-09-08 2004-02-10 Reefedge, Inc. Location-independent packet routing and secure access in a short-range wireless networking environment
WO2002023463A1 (en) 2000-09-11 2002-03-21 David Edgar System, method, and computer program product for optimization and acceleration of data transport and processing
AU2001289010A1 (en) 2000-09-12 2002-03-26 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity ina computing environment
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7958185B2 (en) 2000-09-18 2011-06-07 Bentley Systems, Inc. Spatial data enabled engineering, construction, and operations computer-aided design (CAD) project system, method and computer program product
US6990480B1 (en) * 2000-09-18 2006-01-24 Trancept Limited Information manager method and system
US6514995B1 (en) * 2000-09-25 2003-02-04 Advanced Research And Technology Institute, Inc. Enediyne compounds and methods related thereto
US7007092B2 (en) 2000-10-05 2006-02-28 Juniper Networks, Inc. Connection management system and method
US7055028B2 (en) * 2000-10-10 2006-05-30 Juniper Networks, Inc. HTTP multiplexor/demultiplexor system for use in secure transactions
US20020042875A1 (en) * 2000-10-11 2002-04-11 Jayant Shukla Method and apparatus for end-to-end secure data communication
US7130792B2 (en) 2000-10-16 2006-10-31 Iis Inc. Method for offering multilingual information translated in many languages through a communication network
US7707305B2 (en) 2000-10-17 2010-04-27 Cisco Technology, Inc. Methods and apparatus for protecting against overload conditions on nodes of a distributed network
US6986040B1 (en) 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
US8996698B1 (en) 2000-11-03 2015-03-31 Truphone Limited Cooperative network for mobile internet access
US6959320B2 (en) 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US7043524B2 (en) 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US20020083183A1 (en) 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US20020107962A1 (en) 2000-11-07 2002-08-08 Richter Roger K. Single chassis network endpoint system with network processor for load balancing
US20020107971A1 (en) 2000-11-07 2002-08-08 Bailey Brian W. Network transport accelerator
US6795848B1 (en) 2000-11-08 2004-09-21 Hughes Electronics Corporation System and method of reading ahead of objects for delivery to an HTTP proxy server
US7191252B2 (en) 2000-11-13 2007-03-13 Digital Doors, Inc. Data security system and method adjunct to e-mail, browser or telecom program
US7146644B2 (en) 2000-11-13 2006-12-05 Digital Doors, Inc. Data security system and method responsive to electronic attacks
US7140044B2 (en) 2000-11-13 2006-11-21 Digital Doors, Inc. Data security system and method for separation of user communities
US7082409B1 (en) 2000-11-22 2006-07-25 Richard Sutton Cherry Fully integrated on-line interactive purchasing club incorporating extremely rapid fulfillment
JP4183379B2 (ja) 2000-11-27 2008-11-19 富士通株式会社 ネットワーク及びエッジルータ
US7047382B2 (en) 2000-11-29 2006-05-16 Quickshift, Inc. System and method for managing compression and decompression and decompression of system memory in a computer system
US20020065919A1 (en) 2000-11-30 2002-05-30 Taylor Ian Lance Peer-to-peer caching network for user data
US6954790B2 (en) 2000-12-05 2005-10-11 Interactive People Unplugged Ab Network-based mobile workgroup system
US20020101848A1 (en) 2000-12-05 2002-08-01 Ivan Lee Systems and methods for on-location, wireless access of web content
US7225040B2 (en) 2001-11-14 2007-05-29 Exxon Mobil Oil Corporation Method and system for reducing lead-time in the packaging industry
US6826581B2 (en) 2000-12-06 2004-11-30 Intel Corporation Upgrading a device over a network by downloading results of command execution from script file
US7418513B2 (en) 2000-12-15 2008-08-26 International Business Machines Corporation Method and system for network management with platform-independent protocol interface for discovery and monitoring processes
US20020116582A1 (en) 2000-12-18 2002-08-22 Copeland George P. Batching of invalidations and new values in a web cache with dynamic content
AU2002231289A1 (en) 2000-12-19 2002-07-01 Coolernet, Inc. System and method for multimedia authoring and playback
JP3777302B2 (ja) 2000-12-21 2006-05-24 富士通株式会社 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体
US7085834B2 (en) 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US8078730B2 (en) 2000-12-22 2011-12-13 Rockstar Bidco, LP System, device, and method for maintaining communication sessions in a communication system
US6735601B1 (en) 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US6587806B2 (en) 2000-12-29 2003-07-01 Pitney Bowes Inc. Method and system for determining time to sort mailpieces
US7155518B2 (en) 2001-01-08 2006-12-26 Interactive People Unplugged Ab Extranet workgroup formation across multiple mobile virtual private networks
US6578368B1 (en) * 2001-01-19 2003-06-17 Crane Plastics Company Llc Cryogenic cooling of extruded and compression molded materials
US6907530B2 (en) 2001-01-19 2005-06-14 V-One Corporation Secure internet applications with mobile code
US7146532B2 (en) * 2001-02-05 2006-12-05 Affiniti, Inc. Persistent session and data in transparently distributed objects
US20020120743A1 (en) 2001-02-26 2002-08-29 Lior Shabtay Splicing persistent connections
EP1388073B1 (en) 2001-03-01 2018-01-10 Akamai Technologies, Inc. Optimal route selection in a content delivery network
JP4187940B2 (ja) 2001-03-06 2008-11-26 株式会社エヌ・ティ・ティ・ドコモ パケット伝送方法及びシステム、並びにパケット送信装置、受信装置、及び送受信装置
US7096009B2 (en) 2001-03-09 2006-08-22 Research In Motion Limited Advanced voice and data operations in a mobile data communication device
CZ20032780A3 (cs) * 2001-03-13 2004-01-14 Paratek Pharmaceuticals, Inc. 7,9- Substituované tetracyklinové sloučeniny
FR2822317B1 (fr) 2001-03-16 2003-08-08 Nortel Networks Ltd Unite d'emission de blocs de donnees en mode acquitte sur un canal comportant un lien radio avec une station mobile
US6974928B2 (en) 2001-03-16 2005-12-13 Breakthrough Logistics Corporation Method and apparatus for efficient package delivery and storage
US7533409B2 (en) 2001-03-22 2009-05-12 Corente, Inc. Methods and systems for firewalling virtual private networks
US7120596B2 (en) 2001-03-23 2006-10-10 Restaurant Services, Inc. System, method and computer program product for landed cost reporting in a supply chain management framework
US7171379B2 (en) 2001-03-23 2007-01-30 Restaurant Services, Inc. System, method and computer program product for normalizing data in a supply chain management framework
US6954736B2 (en) 2001-03-23 2005-10-11 Restaurant Services, Inc. System, method and computer program product for order confirmation in a supply chain management framework
US7072843B2 (en) 2001-03-23 2006-07-04 Restaurant Services, Inc. System, method and computer program product for error checking in a supply chain management framework
US7039606B2 (en) 2001-03-23 2006-05-02 Restaurant Services, Inc. System, method and computer program product for contract consistency in a supply chain management framework
US20030074206A1 (en) 2001-03-23 2003-04-17 Restaurant Services, Inc. System, method and computer program product for utilizing market demand information for generating revenue
US7310687B2 (en) 2001-03-23 2007-12-18 Cisco Technology, Inc. Methods and systems for managing class-based condensation
CN100474245C (zh) 2001-03-30 2009-04-01 精工爱普生株式会社 用于不良对策的网络技术
US7506047B2 (en) 2001-03-30 2009-03-17 Bmc Software, Inc. Synthetic transaction monitor with replay capability
US6707879B2 (en) 2001-04-03 2004-03-16 L-3 Communications Security And Detection Systems Remote baggage screening system, software and method
JP4340400B2 (ja) 2001-04-27 2009-10-07 富士通株式会社 階層化パケット網におけるパケット転送方法並びに階層化パケット通信システム並びに同システムに使用されるエッジノード及び移動端末並びに階層化パケット網におけるパケット転送方法
AUPR464601A0 (en) 2001-04-30 2001-05-24 Commonwealth Of Australia, The Shapes vector
US7031314B2 (en) 2001-05-16 2006-04-18 Bytemobile, Inc. Systems and methods for providing differentiated services within a network communication system
US7287649B2 (en) 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
US7536715B2 (en) 2001-05-25 2009-05-19 Secure Computing Corporation Distributed firewall system and method
US7159014B2 (en) * 2001-06-04 2007-01-02 Fineground Networks Method and system for efficient and automated version management of embedded objects in web documents
US7164680B2 (en) * 2001-06-04 2007-01-16 Koninklijke Philips Electronics N.V. Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
US7216173B2 (en) 2001-06-12 2007-05-08 Varian Medical Systems Technologies, Inc. Virtual private network software system
US7562146B2 (en) 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
CN100472506C (zh) 2001-06-15 2009-03-25 先进网络科技私人有限公司 具有唯一标识的计算机网络以及为节点提供服务的nat相关方法
WO2002103521A1 (en) 2001-06-19 2002-12-27 Cable & Wireless Internet Services, Inc. Real-time streaming media measurement system and method
US7900042B2 (en) 2001-06-26 2011-03-01 Ncipher Corporation Limited Encrypted packet inspection
CN1150718C (zh) 2001-06-29 2004-05-19 华为技术有限公司 在虚拟私有网的隧道虚接口上保证互联网协议安全的方法
US7546629B2 (en) 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US7149892B2 (en) 2001-07-06 2006-12-12 Juniper Networks, Inc. Secure sockets layer proxy architecture
US8200818B2 (en) 2001-07-06 2012-06-12 Check Point Software Technologies, Inc. System providing internet access management with router-based policy enforcement
US7228412B2 (en) 2001-07-06 2007-06-05 Juniper Networks, Inc. Bufferless secure sockets layer architecture
US7853781B2 (en) * 2001-07-06 2010-12-14 Juniper Networks, Inc. Load balancing secure sockets layer accelerator
US6873988B2 (en) * 2001-07-06 2005-03-29 Check Point Software Technologies, Inc. System and methods providing anti-virus cooperative enforcement
US20040107360A1 (en) 2002-12-02 2004-06-03 Zone Labs, Inc. System and Methodology for Policy Enforcement
US7908472B2 (en) 2001-07-06 2011-03-15 Juniper Networks, Inc. Secure sockets layer cut through architecture
US7117504B2 (en) 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US7024452B1 (en) 2001-07-13 2006-04-04 Vignette Corporation Method and system for file-system based caching
US6918013B2 (en) 2001-07-16 2005-07-12 Bea Systems, Inc. System and method for flushing bean cache
US20040128346A1 (en) 2001-07-16 2004-07-01 Shmuel Melamed Bandwidth savings and qos improvement for www sites by catching static and dynamic content on a distributed network of caches
US6981029B1 (en) 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US7827292B2 (en) 2001-07-23 2010-11-02 At&T Intellectual Property Ii, L.P. Flexible automated connection to virtual private networks
US7124442B2 (en) 2001-07-25 2006-10-17 440 Pammel, Inc. System and method for insertion and retrieval of microthreads in transmitted data
US6832260B2 (en) * 2001-07-26 2004-12-14 International Business Machines Corporation Methods, systems and computer program products for kernel based transaction processing
WO2003014867A2 (en) 2001-08-03 2003-02-20 John Allen Ananian Personalized interactive digital catalog profiling
US6789170B1 (en) 2001-08-04 2004-09-07 Oracle International Corporation System and method for customizing cached data
US8346848B2 (en) 2001-08-16 2013-01-01 Juniper Networks, Inc. System and method for maintaining statefulness during client-server interactions
US7230949B2 (en) 2001-08-24 2007-06-12 Juniper Networks, Inc. Efficient method and system for automatic discovery and verification of optimal paths through a dynamic multi-point meshed overlay network
US20030039354A1 (en) * 2001-08-27 2003-02-27 Kimble David E. FIFO architecture with in-place cryptographic service
JP2005503699A (ja) 2001-08-31 2005-02-03 アダプテック・インコーポレイテッド コンピュータネットワークでホストベースのセキュリティを行うシステムおよび方法
WO2003019876A1 (en) 2001-08-31 2003-03-06 First Hop Oy Method for optimizing performance in wireless networks using snmp agents
US20030046587A1 (en) * 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access using enterprise peer networks
US20030046586A1 (en) 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access to data between peers
US6941512B2 (en) 2001-09-10 2005-09-06 Hewlett-Packard Development Company, L.P. Dynamic web content unfolding in wireless information gateways
US6775743B2 (en) 2001-09-12 2004-08-10 International Business Machines Corporation Content caching with special handling of multiple identical requests for content
WO2003023656A1 (en) 2001-09-13 2003-03-20 Jda Software Group, Inc Database interface architecture with time-based load balancing in a real-time environment
GB0122507D0 (en) 2001-09-18 2001-11-07 Marconi Comm Ltd Client server networks
US7120690B1 (en) 2001-09-27 2006-10-10 Emc Corporation Managing a distributed directory database
JP4237055B2 (ja) * 2001-09-28 2009-03-11 ファイバーリンク コミュニケーションズ コーポレーション クライアント側網アクセス・ポリシー及び管理アプリケーション
US7222152B1 (en) 2001-10-01 2007-05-22 Microsoft Corporation Generic communications framework
US7844683B2 (en) 2001-10-10 2010-11-30 Juniper Networks, Inc. String matching method and device
US20030067874A1 (en) 2001-10-10 2003-04-10 See Michael B. Central policy based traffic management
US20030084165A1 (en) * 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
JP3663627B2 (ja) 2001-10-18 2005-06-22 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
US20030084162A1 (en) 2001-10-31 2003-05-01 Johnson Bruce L. Managing peer-to-peer access to a device behind a firewall
US20060274828A1 (en) 2001-11-01 2006-12-07 A4S Security, Inc. High capacity surveillance system with fast search capability
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US7042879B2 (en) 2001-11-02 2006-05-09 General Instrument Corporation Method and apparatus for transferring a communication session
US7370353B2 (en) 2001-11-05 2008-05-06 Cisco Technology, Inc. System and method for managing dynamic network sessions
US7647422B2 (en) 2001-11-06 2010-01-12 Enterasys Networks, Inc. VPN failure recovery
US20030093566A1 (en) 2001-11-09 2003-05-15 Jardin Cary A. System and method for network and application transparent database acceleration
CA2473863A1 (en) 2001-11-13 2003-05-22 Ems Technologies, Inc. Enhancements for tcp perfomance enhancing proxies
US6823374B2 (en) 2001-11-16 2004-11-23 Fineground Networks Adjusting the cacheability of web documents according to the responsiveness of its content server
US20030154110A1 (en) 2001-11-20 2003-08-14 Ervin Walter Method and apparatus for wireless access to a health care information system
US6954877B2 (en) 2001-11-29 2005-10-11 Agami Systems, Inc. Fault tolerance using logical checkpointing in computing systems
US20030105977A1 (en) 2001-12-05 2003-06-05 International Business Machines Corporation Offload processing for secure data transfer
US7441119B2 (en) 2001-12-05 2008-10-21 International Business Machines Corporation Offload processing for secure data transfer
US7246233B2 (en) 2001-12-05 2007-07-17 International Business Machines Corporation Policy-driven kernel-based security implementation
US7370120B2 (en) 2001-12-07 2008-05-06 Propel Software Corporation Method and system for reducing network latency in data communication
US20030110379A1 (en) 2001-12-07 2003-06-12 Tatu Ylonen Application gateway system, and method for maintaining security in a packet-switched information network
US20030115421A1 (en) 2001-12-13 2003-06-19 Mchenry Stephen T. Centralized bounded domain caching control system for network edge servers
US6883068B2 (en) 2001-12-17 2005-04-19 Sun Microsystems, Inc. Methods and apparatus for implementing a chche replacement scheme
US7509393B2 (en) 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
US7054944B2 (en) 2001-12-19 2006-05-30 Intel Corporation Access control management system utilizing network and application layer access control lists
JP3873742B2 (ja) * 2001-12-28 2007-01-24 いすゞ自動車株式会社 可変容量ターボチャージャの制御装置
US20040215665A1 (en) 2002-01-09 2004-10-28 Edgar David A. System, method, and computer program product for providing accelerated and secure wireless data transmission over the internet
EP1463991A4 (en) 2002-01-11 2008-08-06 Akamai Tech Inc JAVA APPLICATION FRAMEWORK FOR USE IN A CONTENT NETWORK (CDN)
US7426515B2 (en) 2002-01-15 2008-09-16 International Business Machines Corporation Edge deployed database proxy driver
US8090866B1 (en) 2002-01-18 2012-01-03 Cisco Technology, Inc. TCP proxy connection management in a gigabit environment
US7194761B1 (en) 2002-01-22 2007-03-20 Cisco Technology, Inc. Methods and apparatus providing automatic client authentication
US7034691B1 (en) 2002-01-25 2006-04-25 Solvetech Corporation Adaptive communication methods and systems for facilitating the gathering, distribution and delivery of information related to medical care
US7398552B2 (en) 2002-01-28 2008-07-08 Hughes Network Systems, Llc Method and system for integrating performance enhancing functions in a virtual private network (VPN)
US7392348B2 (en) * 2003-08-06 2008-06-24 International Business Machines Corporation Method for validating remotely cached dynamic content web pages
US20030152096A1 (en) * 2002-02-13 2003-08-14 Korey Chapman Intelligent no packet loss networking
US7644188B2 (en) 2002-02-25 2010-01-05 Intel Corporation Distributing tasks in data communications
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
JP4126928B2 (ja) 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
US7016361B2 (en) 2002-03-02 2006-03-21 Toshiba America Information Systems, Inc. Virtual switch in a wide area network
US7260617B2 (en) 2002-03-04 2007-08-21 International Business Machines Corporation Method, system, and article of manufacture for implementing security features at a portal server
US7023979B1 (en) * 2002-03-07 2006-04-04 Wai Wu Telephony control system with intelligent call routing
US20030174718A1 (en) 2002-03-15 2003-09-18 Broadcom Corporation Scalable packet filter for a network device
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US7447755B1 (en) 2002-03-18 2008-11-04 Blue Coat Systems, Inc. Method and apparatus for policy management in a network device
US7512702B1 (en) 2002-03-19 2009-03-31 Cisco Technology, Inc. Method and apparatus providing highly scalable server load balancing
US7707287B2 (en) 2002-03-22 2010-04-27 F5 Networks, Inc. Virtual host acceleration system
US20040044731A1 (en) 2002-03-22 2004-03-04 Kailai Chen System and method for optimizing internet applications
AU2003230708A1 (en) 2002-03-25 2003-10-13 Netli, Inc. System for fast recovery from losses for reliable data communication protocols
US7979528B2 (en) 2002-03-27 2011-07-12 Radvision Ltd. System and method for traversing firewalls, NATs, and proxies with rich media communications and other application protocols
US7401116B1 (en) 2002-03-29 2008-07-15 Silicon Graphics, Inc. System and method for allowing remote users to specify graphics application parameters for generation of interactive images
KR20030080443A (ko) 2002-04-08 2003-10-17 (주) 위즈네트 하드웨어 프로토콜 프로세싱 로직으로 구현된 인터넷 통신프로토콜 장치 및 상기 장치를 통한 데이터 병렬 처리 방법
US20030208602A1 (en) 2002-04-08 2003-11-06 Cisco Technology, Inc. System and method for pushing data in an internet protocol network environment
US7133905B2 (en) 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
AU2003221884A1 (en) 2002-04-10 2003-10-27 Transtech Pharma, Inc. System and method for data analysis, manipulation, and visualization
US7804785B2 (en) 2002-04-19 2010-09-28 Avaya Inc. Network system having an instructional sequence for performing packet processing and optimizing the packet processing
US7197553B2 (en) 2002-04-19 2007-03-27 Nortel Networks Limited Network system having a virtual-service-module
US20030200353A1 (en) 2002-04-19 2003-10-23 Vikas Dogra Browser-implemented upload/download of a driver
EP1522191B1 (en) 2002-04-19 2013-07-17 Opentv, Inc. Supporting common interactive television functionality through presentation engine syntax
US7007103B2 (en) 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
US7246178B2 (en) 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US6993586B2 (en) 2002-05-09 2006-01-31 Microsoft Corporation User intention modeling for web navigation
US7987491B2 (en) * 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases
US20030217126A1 (en) 2002-05-14 2003-11-20 Polcha Andrew J. System and method for automatically configuring remote computer
US7139798B2 (en) 2002-05-17 2006-11-21 Groove Networks, Inc. Method and apparatus for connecting a secure peer-to-peer collaboration system to an external system
US20030217149A1 (en) 2002-05-20 2003-11-20 International Business Machines Corporation Method and apparatus for tunneling TCP/IP over HTTP and HTTPS
US7941662B2 (en) 2002-05-31 2011-05-10 Broadcom Corporation Data transfer efficiency in a cryptography accelerator system
US7161904B2 (en) 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7203192B2 (en) 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
WO2003105010A1 (en) 2002-06-06 2003-12-18 Neoteris, Inc. Method and system for providing secure access to private networks
US6857047B2 (en) 2002-06-10 2005-02-15 Hewlett-Packard Development Company, L.P. Memory compression for computer systems
US7415723B2 (en) 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7631107B2 (en) 2002-06-11 2009-12-08 Pandya Ashish A Runtime adaptable protocol processor
AU2003251521A1 (en) 2002-06-13 2003-12-31 Engedi Technologies, Inc. Secure remote management appliance
US8307046B2 (en) 2002-06-19 2012-11-06 Eastman Kodak Company Method and system for setting up a system for sharing images over a communication network between multiple users
US7024672B2 (en) * 2002-06-26 2006-04-04 Microsoft Corporation Process-mode independent driver model
US20040003101A1 (en) 2002-06-26 2004-01-01 Roth David J. Caching control for streaming media
US6744774B2 (en) 2002-06-27 2004-06-01 Nokia, Inc. Dynamic routing over secure networks
US7421736B2 (en) * 2002-07-02 2008-09-02 Lucent Technologies Inc. Method and apparatus for enabling peer-to-peer virtual private network (P2P-VPN) services in VPN-enabled network
US7260639B2 (en) 2002-07-09 2007-08-21 Akamai Technologies, Inc. Method and system for protecting web sites from public internet threats
US7395355B2 (en) 2002-07-11 2008-07-01 Akamai Technologies, Inc. Method for caching and delivery of compressed content in a content delivery network
US7162527B2 (en) 2002-07-15 2007-01-09 Cmic Co., Ltd. Information communicating system, information transmitting apparatus and information transmitting method
US7114180B1 (en) 2002-07-16 2006-09-26 F5 Networks, Inc. Method and system for authenticating and authorizing requestors interacting with content servers
US6785719B1 (en) 2002-08-06 2004-08-31 Digi International Inc. Distributed systems for providing secured HTTP communications over the network
US6767058B2 (en) * 2002-08-12 2004-07-27 Mcclellan-Derrickson Ruth Helene Safe hug child seat and infant cradle restraint device
US6836827B2 (en) * 2002-08-13 2004-12-28 Hewlett-Packard Development Company, L.P. Delay cache method and apparatus
US7480312B2 (en) * 2002-08-19 2009-01-20 Tehuti Networks Ltd. Network traffic accelerator system and method
JP2004078783A (ja) 2002-08-21 2004-03-11 Nec Corp Wwwブラウザのキャッシュ管理装置、そのキャッシュ管理方法及びプログラム
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US6826627B2 (en) 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
US7424434B2 (en) 2002-09-04 2008-09-09 Microsoft Corporation Unified lossy and lossless audio compression
US7401158B2 (en) * 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
DE10242919A1 (de) * 2002-09-16 2004-03-25 Siemens Ag System zur virtuellen Prozessanbindung über Remote Desktop Protocol (RDP)
US7051161B2 (en) 2002-09-17 2006-05-23 Nokia Corporation Memory admission control based on object size or request frequency
JP2004133576A (ja) 2002-10-09 2004-04-30 Sony Corp 情報処理装置、コンテンツ配信サーバ、ライセンスサーバ、および方法、並びにコンピュータ・プログラム
US20040073716A1 (en) 2002-10-14 2004-04-15 Boom Douglas D. System, device and method for media data offload processing
US7676516B2 (en) 2002-10-15 2010-03-09 Active-Base Ltd. System and method for the optimization of database access in data base networks
US20040078772A1 (en) 2002-10-16 2004-04-22 Cosine Communications, Inc. Dynamic route exchange
US7562393B2 (en) 2002-10-21 2009-07-14 Alcatel-Lucent Usa Inc. Mobility access gateway
US7499401B2 (en) 2002-10-21 2009-03-03 Alcatel-Lucent Usa Inc. Integrated web cache
US7120666B2 (en) 2002-10-30 2006-10-10 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
US7318100B2 (en) 2003-04-14 2008-01-08 Riverbed Technology, Inc. Cooperative proxy auto-discovery and connection interception
US8069225B2 (en) 2003-04-14 2011-11-29 Riverbed Technology, Inc. Transparent client-server transaction accelerator
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US8176186B2 (en) 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US7548982B2 (en) 2002-10-31 2009-06-16 Hewlett-Packard Development Company, L.P. Predictive branching and caching method and apparatus for applications
US7363347B2 (en) 2002-11-07 2008-04-22 Hewlett-Packard Development Company, L.P. Method and system for reestablishing connection information on a switch connected to plural servers in a computer network
CN1206600C (zh) 2002-11-14 2005-06-15 华中科技大学 一种全分布式的集群网络服务器系统
US20040203296A1 (en) 2002-11-15 2004-10-14 Globespan Virata Inc. Method and system for attaching a USB network adapter supporting both RNDIS and non-RNDIS capable operating systems
WO2004046844A2 (en) 2002-11-18 2004-06-03 Nokia Corporation Faster authentication with parallel message processing
TWI234969B (en) 2002-11-26 2005-06-21 Ind Tech Res Inst Dynamic network address translation system and method of transparent private network device
US7305493B2 (en) 2002-11-27 2007-12-04 Intel Corporation Embedded transport acceleration architecture
US20040103438A1 (en) * 2002-11-27 2004-05-27 Yong Yan Methods and systems for transferring events including multimedia data
WO2004051964A2 (en) 2002-12-03 2004-06-17 Funk Software, Inc. Tunneled authentication protocol for preventing man-in-the-middle attacks
US7743158B2 (en) 2002-12-04 2010-06-22 Ntt Docomo, Inc. Access network dynamic firewall
US7587587B2 (en) 2002-12-05 2009-09-08 Broadcom Corporation Data path security processing
US7353533B2 (en) * 2002-12-18 2008-04-01 Novell, Inc. Administration of protection of data accessible by a mobile device
US7308502B2 (en) 2002-12-20 2007-12-11 Hewlett-Packard Development Company, L.P. Method and architecture to provide client session failover
WO2004063928A1 (ja) 2003-01-14 2004-07-29 Accelia, Inc. データベース負荷軽減システムおよび負荷軽減プログラム
US7719991B2 (en) 2003-01-21 2010-05-18 Qualcomm Incorporated Reverse rate indicator detection
US20040225898A1 (en) 2003-01-28 2004-11-11 Frost D. Gabriel System and method for ubiquitous network access
US7126955B2 (en) 2003-01-29 2006-10-24 F5 Networks, Inc. Architecture for efficient utilization and optimum performance of a network
WO2004072772A2 (en) 2003-02-12 2004-08-26 Silverback Systems, Inc. An architecture and api for of transport and upper layer protocol processing acceleration
EP1593026A1 (en) 2003-02-14 2005-11-09 Whale Communications Ltd. System and method for providing conditional access to server-based applications from remote access devices
US7389462B1 (en) 2003-02-14 2008-06-17 Istor Networks, Inc. System and methods for high rate hardware-accelerated network protocol processing
US7673048B1 (en) 2003-02-24 2010-03-02 Cisco Technology, Inc. Methods and apparatus for establishing a computerized device tunnel connection
US7979694B2 (en) 2003-03-03 2011-07-12 Cisco Technology, Inc. Using TCP to authenticate IP source addresses
US6933016B1 (en) * 2003-03-04 2005-08-23 Marvin E. Sykes, Jr. Method of increasing latent heat storage of wood products
US7260599B2 (en) 2003-03-07 2007-08-21 Hyperspace Communications, Inc. Supporting the exchange of data by distributed applications
EP1602034A2 (en) 2003-03-11 2005-12-07 GTV Solutions Inc. Communications interchange system
US7197751B2 (en) 2003-03-12 2007-03-27 Oracle International Corp. Real-time collaboration client
US7206811B2 (en) 2003-03-13 2007-04-17 Oracle International Corp. System and method for facilitating real-time collaborating by collapsing a queue for a slow client
US7222305B2 (en) 2003-03-13 2007-05-22 Oracle International Corp. Method of sharing a desktop with attendees of a real-time collaboration
US7219127B2 (en) 2003-03-13 2007-05-15 Oracle International Corporation Control unit operations in a real-time collaboration server
JP4554598B2 (ja) 2003-03-27 2010-09-29 サンディスク アイエル リミテッド すべてのユーザによる完全なアクセスが可能なデータ記憶デバイス
WO2004088933A1 (en) 2003-03-29 2004-10-14 Telefonaktiebolaget Lm Ericsson (Publ) Device and method for rate adaptation between bit streams
US7949785B2 (en) 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US7097094B2 (en) 2003-04-07 2006-08-29 Silverbrook Research Pty Ltd Electronic token redemption
GB0308035D0 (en) 2003-04-08 2003-05-14 Ibm Liveness monitoring in a publish/subscribe messaging system
US7058052B2 (en) * 2003-04-11 2006-06-06 Nokia Corporation System and method for using a mobile router tunneling protocol to locate functionality in a distributed architecture
US8621031B2 (en) 2003-04-29 2013-12-31 Oracle International Corporation Method and apparatus using connection pools in communication networks
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7228459B2 (en) 2003-05-19 2007-06-05 Tellabs Petaluma, Inc. Apparatus and method that provides a primary server and a backup server that both support a RADIUS client and share an IP address
US7272853B2 (en) * 2003-06-04 2007-09-18 Microsoft Corporation Origination/destination features and lists for spam prevention
US7248589B2 (en) 2003-06-05 2007-07-24 International Business Machines Corporation Apparatus for enabling multi-tuple TCP sockets within a computer network
US7260840B2 (en) 2003-06-06 2007-08-21 Microsoft Corporation Multi-layer based method for implementing network firewalls
US7026954B2 (en) 2003-06-10 2006-04-11 Bellsouth Intellectual Property Corporation Automated parking director systems and related methods
US7251745B2 (en) 2003-06-11 2007-07-31 Availigent, Inc. Transparent TCP connection failover
WO2004114529A2 (en) 2003-06-16 2004-12-29 Mentat Inc. Pre-fetch communication systems and methods
WO2004114581A2 (en) 2003-06-17 2004-12-29 Bytemobile, Inc. Method and system for dynamic interleaving
US7746799B2 (en) 2003-06-20 2010-06-29 Juniper Networks, Inc. Controlling data link layer elements with network layer elements
KR100773131B1 (ko) 2003-06-27 2007-11-02 노키아 코포레이션 무선 통신 네트워크에서 패킷 결합을 위한 방법 및 장치
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7363378B2 (en) * 2003-07-01 2008-04-22 Microsoft Corporation Transport system for instant messaging
CN100553217C (zh) 2003-07-11 2009-10-21 日本电气株式会社 传送层中继方法和传送层中继设备
US7453852B2 (en) 2003-07-14 2008-11-18 Lucent Technologies Inc. Method and system for mobility across heterogeneous address spaces
ES2344455T3 (es) * 2003-07-14 2010-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Un metodo y un aparato para el control de ganancia automatico de un receptor inalambrico.
KR100549586B1 (ko) * 2003-07-21 2006-02-08 매그나칩 반도체 유한회사 비휘발성 메모리 트랜지스터 제조방법
US20050021511A1 (en) * 2003-07-24 2005-01-27 Etagon Israel Ltd. System and method for load balancing in database queries
US7149897B2 (en) * 2003-07-25 2006-12-12 The United States Of America As Represented By The Secretary Of The Navy Systems and methods for providing increased computer security
US7286476B2 (en) * 2003-08-01 2007-10-23 F5 Networks, Inc. Accelerating network performance by striping and parallelization of TCP connections
US7496659B1 (en) 2003-08-06 2009-02-24 Cisco Technology, Inc. Method and apparatus for monitoring the availability of network resources
WO2005024567A2 (en) 2003-08-18 2005-03-17 Spearman Anthony C Network communication security system, monitoring system and methods
US7624438B2 (en) * 2003-08-20 2009-11-24 Eric White System and method for providing a secure connection between networked computers
US8553572B2 (en) * 2003-09-10 2013-10-08 Hyperdata Technologies, Inc. Internet protocol optimizer
US20050055690A1 (en) 2003-09-10 2005-03-10 Microsoft Corporation System and method for communication between computers via an integrated hardware device
US20050058112A1 (en) * 2003-09-15 2005-03-17 Sony Corporation Method of and apparatus for adaptively managing connectivity for mobile devices through available interfaces
US7406533B2 (en) 2003-10-08 2008-07-29 Seiko Epson Corporation Method and apparatus for tunneling data through a single port
US20070067366A1 (en) 2003-10-08 2007-03-22 Landis John A Scalable partition memory mapping system
US7263071B2 (en) 2003-10-08 2007-08-28 Seiko Epson Corporation Connectionless TCP/IP data exchange
WO2005043360A1 (en) 2003-10-21 2005-05-12 Green Border Technologies Systems and methods for secure client applications
US8230366B2 (en) 2003-10-23 2012-07-24 Apple Inc. Dynamically changing cursor for user interface
US7436535B2 (en) 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US7774499B1 (en) 2003-10-30 2010-08-10 United Online, Inc. Accelerating network communications
DE60330350D1 (de) 2003-10-30 2010-01-14 Hewlett Packard Development Co Kommunikationsverfahren und Vorrichtung
US7058058B2 (en) 2003-11-05 2006-06-06 Juniper Networks, Inc. Transparent optimization for transmission control protocol initial session establishment
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
CA2545496C (en) 2003-11-11 2012-10-30 Citrix Gateways, Inc. Virtual private network with pseudo server
US7584500B2 (en) 2003-11-19 2009-09-01 Hughes Network Systems, Llc Pre-fetching secure content using proxy architecture
US7188273B2 (en) 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US8255973B2 (en) 2003-12-10 2012-08-28 Chris Hopen Provisioning remote computers for accessing resources
US8572249B2 (en) 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
US20050132060A1 (en) 2003-12-15 2005-06-16 Richard Mo Systems and methods for preventing spam and denial of service attacks in messaging, packet multimedia, and other networks
US7864806B2 (en) 2004-01-06 2011-01-04 Broadcom Corp. Method and system for transmission control packet (TCP) segmentation offload
US7113779B1 (en) 2004-01-08 2006-09-26 Iwao Fujisaki Carrier
US7555772B2 (en) 2004-01-26 2009-06-30 Juniper Networks, Inc. Wireless firewall with tear down messaging
US20050177866A1 (en) 2004-02-09 2005-08-11 Kirsch Steven T. Method and system for acceleration of secure socket layer transactions in a network
US7197502B2 (en) 2004-02-18 2007-03-27 Friendly Polynomials, Inc. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items
US9626655B2 (en) 2004-02-19 2017-04-18 Intellectual Ventures I Llc Method, apparatus and system for regulating electronic mail
US20050198532A1 (en) 2004-03-08 2005-09-08 Fatih Comlekoglu Thin client end system for virtual private network
EP1575238A1 (en) 2004-03-08 2005-09-14 Nokia Corporation IP mobility in mobile telecommunications system
US20050262357A1 (en) 2004-03-11 2005-11-24 Aep Networks Network access using reverse proxy
FI117813B (fi) 2004-03-11 2007-02-28 First Hop Oy Sovellukseen integroitu kiihdytysasiakas
US7991854B2 (en) 2004-03-19 2011-08-02 Microsoft Corporation Dynamic session maintenance for mobile computing devices
US7467399B2 (en) 2004-03-31 2008-12-16 International Business Machines Corporation Context-sensitive confidentiality within federated environments
US20050232298A1 (en) 2004-04-19 2005-10-20 Beverly Harlan T Early direct memory access in network communications
US7502925B2 (en) 2004-04-19 2009-03-10 Nvidia Corporation Method and apparatus for reducing TCP frame transmit latency
US20050246346A1 (en) 2004-04-30 2005-11-03 Gerdes Reiner J Secured authentication in a dynamic IP environment
US7225382B2 (en) 2004-05-04 2007-05-29 Telefonakiebolaget Lm Ericsson (Publ) Incremental redundancy operation in a wireless communication network
US7965674B2 (en) * 2004-05-05 2011-06-21 New Jersey Institute Of Technology Sub-segment based transport layer protocol for wireless medium
US8230095B2 (en) 2004-05-07 2012-07-24 Wyse Technology, Inc. System and method for integrated on-demand delivery of operating system and applications
US7676048B2 (en) 2004-05-14 2010-03-09 Texas Instruments Incorporated Graphic equalizers
US20050256923A1 (en) 2004-05-14 2005-11-17 Citrix Systems, Inc. Methods and apparatus for displaying application output on devices having constrained system resources
WO2005114960A1 (en) 2004-05-19 2005-12-01 Computer Associates Think, Inc. Method and apparatus for low-overhead service availability and performance moniroring
US7454479B2 (en) 2004-05-28 2008-11-18 Microsoft Corporation Flexible teleport architecture
US7433314B2 (en) 2004-06-01 2008-10-07 Samsung Electronics Co., Ltd. Method and system for acknowledging the receipt of a transmitted data stream in a wireless personal area network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US7929442B2 (en) 2004-06-30 2011-04-19 Intel Corporation Method, system, and program for managing congestion in a network controller
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) * 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US8223647B2 (en) * 2004-07-21 2012-07-17 Nokia Corporation System and method for increasing data throughout using a block acknowledgement
US7321906B2 (en) 2004-07-23 2008-01-22 Omx Technology Ab Method of improving replica server performance and a replica server system
EP2264956B1 (en) 2004-07-23 2017-06-14 Citrix Systems, Inc. Method for securing remote access to private networks
US9219579B2 (en) * 2004-07-23 2015-12-22 Citrix Systems, Inc. Systems and methods for client-side application-aware prioritization of network communications
JP2008510232A (ja) 2004-08-13 2008-04-03 サイトリックス システムズ, インコーポレイテッド 多数のリモートアクセスサーバにわたる処理整合性を維持する方法
US20060034283A1 (en) 2004-08-13 2006-02-16 Ko Michael A Method and system for providing direct data placement support
US7509330B2 (en) 2004-09-03 2009-03-24 Crossroads Systems, Inc. Application-layer monitoring of communication between one or more database clients and one or more database servers
US7647492B2 (en) 2004-09-15 2010-01-12 Check Point Software Technologies Inc. Architecture for routing and IPSec integration
US7403496B2 (en) * 2004-09-28 2008-07-22 Motorola, Inc. Method and apparatus for congestion relief within an ad-hoc communication system
US7539773B2 (en) * 2004-11-16 2009-05-26 Yokogawa Electric Corporation Network system using IPv4/IPv6 translator
US7711799B2 (en) 2004-11-22 2010-05-04 Alcatel-Lucent Usa Inc. Method and apparatus for pre-packetized caching for network servers
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7558862B1 (en) * 2004-12-09 2009-07-07 LogMeln, Inc. Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer
US7606267B2 (en) 2004-12-10 2009-10-20 Cisco Technology, Inc. Reducing the sizes of application layer messages in a network element
US8913625B2 (en) 2004-12-17 2014-12-16 Verizon Patent And Licensing Inc. System and method for providing service-agnostic network resources
US8250214B2 (en) 2004-12-20 2012-08-21 Vmware, Inc. System, method and computer program product for communicating with a private network
JP2008527507A (ja) 2004-12-30 2008-07-24 サイトリックス システムズ, インコーポレイテッド クライアント側の加速技術を提供するシステムおよび方法
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US7761502B2 (en) 2004-12-31 2010-07-20 Bea Systems, Inc. Callback interface for multipools
JP2006194281A (ja) 2005-01-11 2006-07-27 Nissan Motor Co Ltd 低摩擦摺動機構
US7788497B2 (en) 2005-01-13 2010-08-31 Bea Systems, Inc. Credential mapping of WebLogic and database user ids
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US7420992B1 (en) 2005-03-17 2008-09-02 Packeteer, Inc. Adaptive network traffic compression mechanism including dynamic selection of compression algorithms
US7661128B2 (en) 2005-03-31 2010-02-09 Google Inc. Secure login credentials for substantially anonymous users
US8856279B2 (en) 2005-05-26 2014-10-07 Citrix Systems Inc. Method and system for object prediction
US8239535B2 (en) 2005-06-06 2012-08-07 Adobe Systems Incorporated Network architecture with load balancing, fault tolerance and distributed querying
US7849199B2 (en) 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
US20070038703A1 (en) * 2005-07-14 2007-02-15 Yahoo! Inc. Content router gateway
US7945678B1 (en) 2005-08-05 2011-05-17 F5 Networks, Inc. Link load balancer that controls a path for a client to connect to a resource
US8412750B2 (en) 2005-09-26 2013-04-02 Research In Motion Limited LDAP to SQL database proxy system and method
US20070130324A1 (en) 2005-12-05 2007-06-07 Jieming Wang Method for detecting non-responsive applications in a TCP-based network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
CA2578666C (en) 2006-02-13 2016-01-26 Xkoto Inc. Method and system for load balancing a distributed database
JP2007226398A (ja) 2006-02-22 2007-09-06 Hitachi Ltd データベース接続管理方法及び計算機システム
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
US8555288B2 (en) 2006-05-17 2013-10-08 Teradata Us, Inc. Managing database utilities to improve throughput and concurrency
US7522581B2 (en) 2006-08-01 2009-04-21 International Business Machines Corporation Overload protection for SIP servers
US8572721B2 (en) 2006-08-03 2013-10-29 Citrix Systems, Inc. Methods and systems for routing packets in a VPN-client-to-VPN-client connection via an SSL/VPN network appliance
US8694684B2 (en) 2006-08-21 2014-04-08 Citrix Systems, Inc. Systems and methods of symmetric transport control protocol compression
US8312120B2 (en) 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
US8351327B1 (en) 2006-08-28 2013-01-08 Juniper Networks, Inc. Intermediate network device applying application-layer quality of service to channels within a communication session
US9747349B2 (en) 2006-10-30 2017-08-29 Execue, Inc. System and method for distributing queries to a group of databases and expediting data access
US8484656B2 (en) 2007-03-12 2013-07-09 Citrix Systems, Inc. Systems and methods for providing global server load balancing of heterogeneous devices
US7865589B2 (en) 2007-03-12 2011-01-04 Citrix Systems, Inc. Systems and methods for providing structured policy expressions to represent unstructured data in a network appliance
US7775074B1 (en) 2007-03-12 2010-08-17 Tobias Marc W System for obstructing movement of lock pins
US7853678B2 (en) 2007-03-12 2010-12-14 Citrix Systems, Inc. Systems and methods for configuring flow control of policy expressions
US7853679B2 (en) 2007-03-12 2010-12-14 Citrix Systems, Inc. Systems and methods for configuring handling of undefined policy events
US8490148B2 (en) 2007-03-12 2013-07-16 Citrix Systems, Inc Systems and methods for managing application security profiles
CN101334778B (zh) 2007-06-29 2011-08-03 国际商业机器公司 管理数据库连接的方法和系统
US8391295B2 (en) 2007-07-31 2013-03-05 Oracle International Corporation Temporal affinity-based routing of workloads
JP4936551B2 (ja) 2007-11-16 2012-05-23 キヤノン株式会社 管理装置、管理方法、及びコンピュータプログラム
US8386508B2 (en) 2008-04-28 2013-02-26 Infosys Technologies Limited System and method for parallel query evaluation
US9463755B2 (en) 2009-05-19 2016-10-11 Paul H. Kreft License plate mount

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112823A1 (en) * 2001-12-17 2003-06-19 Microsoft Corporation Methods and systems for establishing communications through firewalls and network address translators

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011151842A (ja) * 2006-03-17 2011-08-04 Macrovision Corp ピアツーピア・ゲートウェイ
JP4806462B2 (ja) * 2006-03-17 2011-11-02 マクロビジョン コーポレイション ピアツーピア・ゲートウェイ
US8412775B2 (en) 2006-03-17 2013-04-02 Rovi Solutions Corporation Peer to peer gateway
JP2012512573A (ja) * 2008-12-17 2012-05-31 ノーテル・ネットワークス・リミテッド セキュアなリモートアクセスの公衆通信環境
JP2012532494A (ja) * 2009-06-29 2012-12-13 クゥアルコム・アセロス・インコーポレイテッド ネットワーク通信パラメータを設定するための技術
US9602627B2 (en) 2009-06-29 2017-03-21 Qualcomm Incorporated Technique for setting network communication parameters
JP2013521718A (ja) * 2010-03-04 2013-06-10 マイクロソフト コーポレーション ネットワーク接続上の信頼性機構の選択的な無効化
JP2013534081A (ja) * 2010-05-25 2013-08-29 ヘッドウォーター パートナーズ I エルエルシー ネットワーク容量を保護するためのデバイス支援サービス
JP2014164369A (ja) * 2013-02-22 2014-09-08 Nec Corp リモートデスクトップシステム

Also Published As

Publication number Publication date
AU2005266943C1 (en) 2011-01-06
US8634420B2 (en) 2014-01-21
US8014421B2 (en) 2011-09-06
HK1108985A1 (en) 2008-05-23
US8914522B2 (en) 2014-12-16
EP1771998B1 (en) 2015-04-15
AU2005266943A1 (en) 2006-02-02
CA2574776A1 (en) 2006-02-02
WO2006012610A2 (en) 2006-02-02
AU2005266943B2 (en) 2010-06-10
US20060039356A1 (en) 2006-02-23
EP1771998A2 (en) 2007-04-11
US20100005288A1 (en) 2010-01-07
IL180891A0 (en) 2007-07-04
US20060039404A1 (en) 2006-02-23
US20060039355A1 (en) 2006-02-23
US20060037072A1 (en) 2006-02-16
US9219579B2 (en) 2015-12-22
KR20070045282A (ko) 2007-05-02
US20100325299A1 (en) 2010-12-23
AU2010214746A1 (en) 2010-09-23
US7609721B2 (en) 2009-10-27
US8351333B2 (en) 2013-01-08
US7808906B2 (en) 2010-10-05
US20060039354A1 (en) 2006-02-23
US20100232429A1 (en) 2010-09-16
US20060190719A1 (en) 2006-08-24
US8046830B2 (en) 2011-10-25
US7724657B2 (en) 2010-05-25
EP2744175A1 (en) 2014-06-18
WO2006012610A3 (en) 2006-03-16
EP2744175B1 (en) 2018-09-05
AU2010214746B2 (en) 2010-11-11

Similar Documents

Publication Publication Date Title
EP1771998B1 (en) Systems and methods for optimizing communications between network nodes
JP4708376B2 (ja) プライベートネットワークへのアクセスを安全にする方法およびシステム
EP1774438B1 (en) System and method for establishing a virtual private network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110222