JP2008507928A - ネットワークノード間の通信を最適化するためのシステムおよび方法 - Google Patents
ネットワークノード間の通信を最適化するためのシステムおよび方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1854—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing 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日出願)(これらすべてが参考として本明細書に援用される)に対する優先権を主張する。
本出願は、米国仮特許出願番号第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)は、トンネリングおよびセキュリティ機構を使用してプライバシーを守るために、インターネットのようなパブリック通信インフラを使用するプライベートデータネットワークである。このように、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)モバイルコンピューティングに対してなどの、信頼性が高く、永続的なネットワーク接続およびアクセスのためのネットワークの混乱の防止。
本発明は、概してピアツーピア通信およびリモートアクセス接続性を提供するためのリモートアクセスアーキテクチャに関する。一実施態様では、本発明のリモートアクセスアーキテクチャは、ゲートウェイのような第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のコンピューティングデバイスにリクエストを通信する。
前記第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)であってよい。
前記リモートディスプレイプロトコルは、独立コンピューティングアーキテクチャ(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のようなリアルタイムデータ通信を安全に通信するために使用することができる。
本発明の技術によって、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は、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアを組み合わせたものを含むことができる。一実施態様では、クライアント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とサーバー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アドレスを通信できるようになる。
多くの変更および改良は、本発明の精神と範囲から逸脱することなく、当業者によって行うことが可能である。したがって、図示した実施態様は、例示目的のためだけに示されたものであり、本発明を制限するものと捉えるべきではなく、以下の請求項によって定義されるものである、と明白に理解されたい。これらの請求項は、上述の図に示して説明したものと他の点において同じではなくても、字義通りに記述されたもの、また非現実的に異なる同等の要素を含むものとして読み取られるべきである。
Claims (179)
- 第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のコンピューティングデバイスにリクエストを通信するステップと、を含む方法。 - 前記第1のトンネリングセッションまたは前記第2のトンネリングセッションのうちの1つの少なくとも一部は、セキュアソケットレイヤーまたは仮想プライベートネットワークのうちの1つを含む、請求項1に記載の方法。
- 前記第3のコンピューティングデバイスは、リモートアクセスゲートウェイを含む、請求項1に記載の方法。
- 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する、請求項1に記載の方法。
- 前記第3のコンピューティングデバイスによって、前記第1のトンネリングセッションを介して、前記第1のコンピューティングデバイスに帯域外の信号を通信することにより、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供するステップを含む、請求項1に記載の方法。
- 前記第2のコンピューティングデバイスによって、前記第2のネットワークアドレスを使用して前記第2のコンピューティングデバイスへ通信するために、前記第1のコンピューティングデバイスにファイアウォール内のフォワードホールを提供するステップを含む、請求項1に記載の方法。
- 前記第3のコンピューティングデバイスによって、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスに鍵を通信するステップを含む、請求項1に記載の方法。
- 前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに前記鍵を通信するステップを含む、請求項7に記載の方法。
- 前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスにデータを送信する前に、前記第2のコンピューティングデバイスから受信した前記鍵が、前記第1のコンピューティングデバイスの鍵に一致することを確認するステップを含む、請求項8に記載の方法。
- 前記第2のコンピューティングデバイスによって、前記第1のコンピューティングデバイスに前記鍵を通信するステップを含む、請求項7に記載の方法。
- 前記第2のコンピューティングデバイスによって、前記第2のコンピューティングデバイスにデータを送信する前に、前記第1のコンピューティングデバイスから受信した前記鍵が、前記第2のコンピューティングデバイスの鍵に一致することを確認するステップを含む、請求項10に記載の方法。
- 第1の通信デバイスを前記第1のコンピューティングデバイスに関連付け、第2の通信デバイスを前記第2のコンピューティングデバイスに関連付けるステップを含む、請求項1に記載の方法。
- 前記第1の通信デバイスまたは前記第2の通信デバイスのうちの1つは、ソフトウェアコンポーネントまたはハードウェアコンポーネントのうちの1つを備える、請求項12に記載の方法。
- 前記接続を介して、前記第1の通信デバイスと前記第2の通信デバイスとの間の通信セッションを確立するステップを含む、請求項12に記載の方法。
- 前記第1のコンピューティングデバイスにトラバースせずに、前記通信セッションを通じて、前記第1の通信デバイスと前記第2の通信デバイスとの間を通信するステップを含む、請求項15に記載の方法。
- 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の前記接続を介して、リモートディスプレイプロトコルを通信するステップを含む、請求項1に記載の方法。
- リモートデスクトッププロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルのうちの1つを含む、請求項16に記載の方法。
- 前記接続を介して、前記第1のコンピューティングデバイスのスクリーンビューを前記第2のコンピューティングデバイスと共有するステップを含む、請求項1に記載の方法。
- ゲートウェイにおいて、第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のコンピューティングデバイスにリクエストを通信するステップと、を含む方法。 - 前記第1のトンネリングセッションまたは前記第2のトンネリングセッションのうちの1つの少なくとも一部は、セキュアソケットレイヤーまたは仮想プライベートネットワークのうちの1つを含む、請求項19に記載の方法。
- 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する、請求項19に記載の方法。
- 前記第1のトンネリングセッションを介して、前記第1のコンピューティングデバイスに帯域外の信号を通信することにより、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供するステップを含む、請求項19に記載の方法。
- 前記第1のコンピューティングデバイスに鍵を通信するステップを含む、請求項19に記載の方法。
- 前記第2のコンピューティングデバイスに鍵を通信するステップを含む、請求項19に記載の方法。
- 第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のリクエストを通信する、システム。 - 前記第1のトンネリングセッションまたは前記第2のトンネリングセッションのうちの1つの少なくとも一部は、セキュアソケットレイヤーまたは仮想プライベートネットワークのうちの1つを含む、請求項25に記載のシステム。
- 前記第3のコンピューティングデバイスは、リモートアクセスゲートウェイを含む、請求項25に記載のシステム。
- 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する、請求項25に記載のシステム。
- 前記第3のコンピューティングデバイスは、前記第1のトンネリングセッションを介して、帯域外の信号を通信することによって、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供する、請求項25に記載のシステム。
- 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスを使用して、前記第2のコンピューティングデバイスへ通信するために、前記第1のコンピューティングデバイスにファイアウォール内のフォワードホールを提供する、請求項25に記載のシステム。
- 前記第3のコンピューティングデバイスは、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスに鍵を通信する、請求項25に記載のシステム。
- 前記第1のコンピューティングデバイスは、前記第2のコンピューティングデバイスに前記鍵を通信する、請求項31に記載のシステム。
- 前記第1のコンピューティングデバイスは、前記第2のコンピューティングデバイスにデータを送信する前に、前記第2のコンピューティングデバイスから受信した前記鍵が、前記第1のコンピューティングデバイスの鍵に一致することを確認する、請求項32に記載のシステム。
- 前記第2のコンピューティングデバイスは、前記第1のコンピューティングデバイスに前記鍵を通信する、請求項31に記載のシステム。
- 前記第2のコンピューティングデバイスは、前記第2のコンピューティングデバイスにデータを送信する前に、前記第1のコンピューティングデバイスから受信した前記鍵が、前記第2のコンピューティングデバイスの鍵に一致することを確認する、請求項34に記載のシステム。
- 前記第1のコンピューティングデバイスに関連付けられた第1の通信デバイスと、前記第2のコンピューティングデバイスに関連付けられた第2の通信デバイスと、を備える、請求項25に記載のシステム。
- 前記第1の通信デバイスまたは前記第2の通信デバイスのうちの1つは、ソフトウェアコンポーネントまたはハードウェアコンポーネントのうちの1つを備える、請求項36に記載のシステム。
- 前記第1の通信デバイスは、前記接続を介して、前記第2の通信デバイスとの通信セッションを確立する、請求項37に記載のシステム。
- 前記第1の通信デバイスは、前記第3のコンピューティングデバイスをトラバースせずに、前記通信セッションを通じて、前記第2の通信デバイスと通信する、請求項38に記載のシステム。
- 前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスは、前記接続を介して、リモートディスプレイプロトコルを通信する、請求項25に記載のシステム。
- リモートデスクトッププロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルのうちの1つを含む、請求項25に記載のシステム。
- 前記第1のコンピューティングデバイスは、前記接続を介して、スクリーンビューを前記第2のコンピューティングデバイスと共有する、請求項25に記載のシステム。
- 第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のトンネリングセッションのうちの1つの少なくとも一部は、セキュアソケットレイヤーまたは仮想プライベートネットワークのうちの1つを含む、請求項43に記載のシステム。
- 前記第2のコンピューティングデバイスは、前記第2のネットワークアドレスに関連付けられたファイアウォールの背後に位置する、請求項43に記載のシステム。
- 前記第1のトンネリングセッションを介して、前記第1のコンピューティングデバイスに帯域外の信号を通信することにより、前記第1のコンピューティングデバイスに前記第2のネットワークアドレスを提供するための手段を備える、請求項43に記載のシステム。
- 前記第1のコンピューティングデバイスに鍵を通信するための手段を備える、請求項43に記載のシステム。
- 前記第2のコンピューティングデバイスに鍵を通信するための手段を備える、請求項43に記載のシステム。
- 不可逆プロトコルを介した送信のために構成されたパケットを可逆プロトコルを介して通信するための方法であって、
(a)可逆プロトコルを介して、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間の接続を確立するステップと、
(b)前記第1のコンピューティングデバイスによって、不可逆プロトコルに従って構成される1つ以上のパケットを有するペイロードを含む可逆プロトコルパケットを検出するステップと、
(c)前記第1のコンピューティングデバイスによって、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つに、前記可逆プロトコルパケットの受信の擬似確認応答を通信するステップと、
(d)前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに、前記可逆プロトコルパケットを通信するステップと、を含む方法。 - 前記第1のコンピューティングデバイスによって、鍵を使用して前記1つ以上のパケットを暗号化するステップを含む、請求項49に記載の方法。
- 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の帯域外のトランスポートセキュリティレイヤーセッションを介して、前記第1のコンピューティングデバイスに、暗号鍵を提供するステップを含む、請求項50に記載の方法。
- パケット単位で前記1つ以上のパケットを暗号化するステップを含む、請求項49に記載の方法。
- ステップ(d)の前に、ステップ(c)を行うステップをさらに含む、請求項49に記載の方法。
- 前記第2のコンピューティングデバイスは、ゲートウェイである、請求項49に記載の方法。
- 前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つによる、前記可逆プロトコルパケットの受信の擬似確認応答の受信に応えて、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つのネットワークスタックが、前記可逆プロトコルの可逆特性の提供に関連するオペレーションを実行しないようにするステップを含む、請求項49に記載の方法。
- 前記可逆プロトコルは、トランスポート制御プロトコルを含む、請求項49に記載の方法。
- 前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つの前記ネットワークスタックが、前記可逆プロトコルとともに、再送信、順序付け、フロー制御アルゴリズム、Napleのアルゴリズム、およびスライディングウィンドウアルゴリズムのうちの1つ以上を実行しないようにするステップを含む、請求項56に記載の方法。
- 前記不可逆プロトコルは、ユーザーデータグラムプロトコルを含む、請求項49に記載の方法。
- 前記第1のコンピューティングデバイスによって、セキュアソケットレイヤーまたはトランスポートセキュリティレイヤートンネルのうちの1つを介して、前記第2のコンピューティングデバイスに、前記可逆プロトコルを通信するステップを含む、請求項49に記載の方法。
- 前記1つ以上のパケットは、リアルタイムプロトコルを含む、請求項49に記載の方法。
- 前記第1のコンピューティングデバイスによって、前記1つ以上のパケットを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するステップを含む、請求項49に記載の方法。
- 不可逆プロトコルを介した送信のために構成されたパケットを可逆プロトコルを介して通信するためのシステムであって、
可逆プロトコルを介して、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間の接続を確立するための手段と、
前記第1のコンピューティングデバイスによって、不可逆プロトコルに従って構成される1つ以上のパケットを有するペイロードを含む可逆プロトコルパケットを検出するための手段と、
前記第1のコンピューティングデバイスによって、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つに、前記可逆プロトコルパケットの受信の擬似確認応答を通信するための手段と、
前記第1のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに、前記可逆プロトコルパケットを通信するための手段と、を備えるシステム。 - 前記第1のコンピューティングデバイスによって、鍵を使用して前記1つ以上のパケットを暗号化するための手段を備える、請求項62に記載のシステム。
- 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の帯域外のトランスポートセキュリティレイヤーセッションを介して、前記第1のコンピューティングデバイスに、暗号鍵を提供するための手段を備える、請求項63に記載のシステム。
- パケット単位で前記1つ以上のプロトコルパケットを暗号化するための手段を備える、請求項63に記載のシステム。
- 前記可逆プロトコルパケットを通信する前に、前記可逆プロトコルパケットの受信の疑似確認応答を通信するための手段をさらに備える、請求項62に記載のシステム。
- 前記第2のコンピューティングデバイスは、ゲートウェイである、請求項62に記載のシステム。
- 前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つによって、前記可逆プロトコルパケットの受信の疑似確認応答の受信に応えて、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つのネットワークスタックが、前記可逆プロトコルの可逆特性の提供に関連するオペレーションを実行しないようにするための手段を備える、請求項62に記載のシステム。
- 前記可逆プロトコルは、トランスポート制御プロトコルを含む、請求項62に記載のシステム。
- 前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つの前記ネットワークスタックが、前記可逆プロトコルとともに、再送信、順序付け、およびフロー制御アルゴリズムのうちの1つ以上を実行しないようにするための手段を備える、請求項69に記載のシステム。
- 前記不可逆プロトコルは、ユーザーデータグラムプロトコルを含む、請求項62に記載のシステム。
- 前記第1のコンピューティングデバイスによって、セキュアソケットレイヤーまたはトランスポートセキュリティレイヤートンネルのうちの1つを介して、前記第2のコンピューティングデバイスに、前記可逆プロトコルを通信するための手段を備える、請求項62に記載のシステム。
- 前記1つ以上のパケットは、リアルタイムプロトコルを含む、請求項62に記載のシステム。
- 前記第1のコンピューティングデバイスによって、前記1つ以上のパケットを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するための手段を備える、請求項62に記載のシステム。
- 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パケットを送信するステップと、を含む方法。 - 前記信頼できないトランスポートプロトコルに関連付けられたポート番号でTCP接続を確立するステップを含む、請求項75に記載の方法。
- 前記第1のデバイスによって、前記第1のTCPパケットおよび前記第2のTCPパケットが、信頼できないトランスポートプロトコルを含むことを動的に判断するステップを含む、請求項75に記載の方法。
- 前記信頼できないトランスポートプロトコルは、UDPである、請求項75に記載の方法。
- パケット取得機構を使用して、前記第1のTCPパケットおよび前記第2のTCPパケットをインターセプトすることによって、前記第1のデバイス上の前記前記第1のTCPパケットおよび前記第2のTCPパケットを受信するステップをさらに含む、請求項75に記載の方法。
- 前記第1のデバイスによって、VPNゲートウェイデバイスとの前記TCP接続を確立するステップを含む、請求項75に記載の方法。
- 前記TCP接続を介して、前記第1のデバイスと前記第2のデバイスとの間にピアツーピア通信を確立するステップを含む、請求項75に記載の方法。
- 前記第1のデバイスによって、前記第1および第2のTCPパケットを暗号化し、前記第2のデバイスによって、前記暗号化された第1および第2のTCPパケットを解読するステップを含む、請求項75に記載の方法。
- 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である、請求項83に記載の方法。
- 前記識別するステップは、前記TCPヘッダー情報が、前記信頼できないトランスポートプロトコルに関連付けられたポート番号を含むことを識別するステップを含む、請求項83に記載の方法。
- 前記第2のデバイスによって、パケット取得ドライバを使用して、前記第1のTCPパケットをインターセプトするステップをさらに含む、請求項83に記載の方法。
- 前記第1のデバイスは、クライアントデバイスであり、前記第2のデバイスはVPNゲートウェイである、請求項83に記載の方法。
- 前記アプリケーションに前記第1のペイロードを転送する前に、第2のデバイス上でネットワークアドレス変換(NAT)を行うステップをさらに含む、請求項87に記載の方法。
- 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のデバイスと、
を備えるシステム。 - 前記第1のデバイス上の前記フィルタプロセスは、パケット取得ドライバを備える、請求項89に記載のシステム。
- 前記第2のデバイス上の前記第2のフィルタプロセスは、パケット取得ドライバを備える、請求項89に記載のシステム。
- 前記第1のデバイスは、クライアントデバイスであり、前記第2のデバイスはVPNゲートウェイデバイスである、請求項89に記載のシステム。
- 前記取り除かれたパケットが送信される、第3のデバイスをさらに備える、請求項89に記載のシステム。
- 前記第2のデバイスは、第3のデバイスに前記取り除いたパケットを送信する前に、ネットワークアドレス変換を行うために使用するネットワークアドレス変換(NAT)テーブルをさらに備える、請求項93に記載のシステム。
- 前記信頼できないデータプロトコルは、UDPである、請求項89に記載のシステム。
- ネットワークのフラグメンテーションを低減するために、安全なネットワーク通信の最大送信単位を調整するための方法であって、
(a)第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間にセッションを確立するステップであって、前記第1のコンピューティングデバイスは、第1のネットワークスタックを有する、ステップと、
(b)前記第1のコンピューティングデバイスによって、暗号化されたペイロードを有するネットワークパケットを検出するステップと、
(c)前記第1のコンピューティングデバイスによって、少なくとも、前記ペイロードの暗号化された部分に関連するサイズだけ、前記最大送信単位サイズを減じるために、前記第1のネットワークスタックの最大送信単位パラメータの設定を決定するステップと、
(d)前記決定された設定に、前記第1のネットワークスタックの前記最大送信単位を変更するステップと、を含む方法。 - セキュアソケットレイヤーまたはトランスポートレイヤーセキュリティトンネルのうちの1つを介して、前記第2のコンピューティングデバイスに前記ネットワークパケットを通信するステップを含む、請求項96に記載の方法。
- 前記ペイロードは、リアルタイムプロトコルを含む、請求項96に記載の方法。
- 前記第1のネットワークスタックのネットワークドライバインターフェース規約のレベル機構を介して、前記最大送信単位のパラメータを変更するステップをさらに含む、請求項96に記載の方法。
- 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションごとに、前記最大送信単位の設定を動的に決定するステップをさらに含む、請求項96に記載の方法。
- ゲートウェイを介して、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションを確立するステップを含む、請求項96に記載の方法。
- 前記第1のコンピューティングデバイスによって、前記ネットワークパケットの前記ペイロードを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するステップを含む、請求項96に記載の方法。
- 前記ネットワークパケットを通信する前に、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つに、前記ネットワークパケットの受信の疑似確認応答を通信するステップを含む、請求項96に記載の方法。
- 前記第1のコンピューティングデバイスのエージェントを介して、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間の前記セッションを確立するステップをさらに含む、請求項96に記載の方法。
- 前記エージェントによって、前記決定された設定に対する前記最大送信単位を変更するために、IOCTLアプリケーションプログラミングインタフェースを介して、前記第1のネットワークスタックに通信するステップを含む、請求項104に記載の方法。
- ネットワークのフラグメンテーションを低減するために、安全なネットワーク通信の最大送信単位を調整するためのシステムであって、
第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間にセッションを確立するための手段であて、前記第1のコンピューティングデバイスは、第1のネットワークスタックを有する、手段と、
前記第1のコンピューティングデバイスによって、暗号化されたペイロードを有するネットワークパケットを検出するための手段と、
前記第1のコンピューティングデバイスによって、少なくとも、前記ペイロードの暗号化された部分に関連するサイズだけ、前記最大送信単位サイズを減じるために、前記第1のネットワークスタックの最大送信単位パラメータの設定を決定するための手段と、
前記決定された設定に、前記第1のネットワークスタックの前記最大送信単位を変更するための手段と、を備えるシステム。 - セキュアソケットレイヤーまたはトランスポートレイヤーセキュリティトンネルのうちの1つを介して、前記第2のコンピューティングデバイスに前記ネットワークパケットを通信するための手段を備える、請求項106に記載のシステム。
- 前記ペイロードは、リアルタイムプロトコルを含む、請求項106に記載のシステム。
- 前記ペイロードは、リアルタイムの音声、オーディオ、またはデータのうちの1つの表現を含む、請求項106に記載のシステム。
- 前記第1のネットワークスタックのネットワークドライバインターフェース規約のレベル機構を介して、前記第1のコンピューティングデバイスの前記最大送信単位パラメータを変更するための手段をさらに備える、請求項106に記載のシステム。
- 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションごとに、前記最大送信単位の設定を動的に決定するための手段をさらに備える、請求項106に記載のシステム。
- ゲートウェイを介して、前記前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションを確立するための手段を備える、請求項106に記載のシステム。
- 前記第1のコンピューティングデバイスによって、前記ネットワークパケットの前記ペイロードを介して、前記第2のコンピューティングデバイスに、リアルタイムの音声、オーディオ、またはデータのうちの1つを通信するための手段を備える、請求項106に記載のシステム。
- 前記ネットワークパケットを通信する前に、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスのうちの1つに、前記ネットワークパケットの受信の疑似確認応答を通信するための手段を備える、請求項106に記載のシステム。
- 前記ネットワークパケットは、可逆プロトコルパケットを含む、請求項106に記載のシステム。
- 前記可逆プロトコルパケットは、トランスポート制御プロトコルを含む、請求項115に記載のシステム。
- 前記ペイロードは、不可逆プロトコルパケットを含む、請求項106に記載のシステム。
- 前記不可逆プロトコルパケットは、ユーザーデータグラムプロトコルを含む、請求項117に記載のシステム。
- 前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間のセッションを確立するための、前記第1のコンピューティングデバイスのエージェントを含む、請求項106に記載のシステム。
- 前記エージェントは、前記決定された設定に対する前記最大送信単位を変更するために、IOCTLアプリケーションプログラミングインタフェースを介して、前記第1のネットワークスタックに通信する、請求項119に記載のシステム。
- クライアントが、前記クライアントのアプリケーションに関連付けられた前記クライアントのネットワーク通信に優先順位をつけるための方法であって、
(a)前記クライアントによって、前記クライアントの1つ以上のアプリケーションに関連付けられた1つ以上のネットワークパケットをインターセプトするステップと、
(b)前記クライアントによって、キューに前記1つ以上のネットワークパケットを格納するステップと、
(c)前記クライアントによって、前記キューに入れた1つ以上のネットワークパケットが、前記クライアントの第1のアプリケーションに関連付けられていることを判断するステップと、
(d)前記クライアントによって、前記クライアントの第2のアプリケーションに関連付けられた前記キュー内の少なくとも1つのネットワークパケットの前に、前記判断された1つ以上のネットワークパケットを配置するために、前記判断された1つ以上のネットワークパケットの優先順位を示すステップと、
(e)前記クライアントのネットワークスタックを介して、前記優先順位付けされた1つ以上のネットワークパケットを通信に提供するステップと、を含む方法。 - 前記判断するステップは、前記クライアントによって、前記第1のアプリケーションの前記キューに入れた1つ以上のネットワークパケットが、リアルタイムデータを含むことを判断するステップをさらに含む、請求項121に記載の方法。
- 前記リアルタイムデータは、リアルタイムプロトコル、ユーザーデータグラムプロトコル、および音声またはオーディオのうちの1つの表現、のうちの1つを含む、請求項122に記載の方法。
- 前記クライアントによって、少なくとも1つの前記第2のアプリケーションのネットワークパケットが、前記第1のアプリケーションの前記1つ以上のネットワークパケットの前に、前記ネットワークスタックを介して通信されないようにするステップを含む、請求項121に記載の方法。
- 前記クライアントによって、前記キュー内に前記第2のアプリケーションに関連付けられたネットワークパケットを保持して、前記保持されたネットワークパケットの前に順位付けされた、前記第1のアプリケーションに関連付けられた前記1つ以上のネットワークパケットの通信に応じて、前記保持されたネットワークパケットを解放するステップを含む、請求項121に記載の方法。
- 前記クライアントによって、前記クライアント上の前記1つ以上のアプリケーションに、前記1つ以上のネットワークパケットを透過的にインターセプトするステップを含む、請求項121に記載の方法。
- フォアグラウンドで前記第1のアプリケーションを実行し、バックグラウンドで前記第2のアプリケーションを実行するステップを含む、請求項121に記載の方法。
- 前記第1のアプリケーションの優先順位を、前記第2のアプリケーションに関連付けられた優先順位よりも高く関連付けるステップを含む、請求項121に記載の方法。
- ユーザーによって、前記第1のアプリケーションまたは前記第2のアプリケーションのうちの1つの優先順位を特定するステップを含む、請求項128に記載の方法。
- 前記クライアントによって、コンピューティングデバイスから前記1つ以上のネットワークパケットを受信するステップを含む、請求項121に記載の方法。
- 前記1つ以上のアプリケーションによって、コンピューティングデバイスに、前記クライアントから通信するための前記1つ以上のネットワークパケットを提供する、請求項121に記載の方法。
- クライアントであって、前記クライアントのアプリケーションに関連付けられた前記クライアントのネットワーク通信に優先順位を付け、
前記クライアントの1つ以上のアプリケーションに関連付けられた前記クライアントの1つ以上のネットワークパケットをインターセプトするための機構、および
キューに前記1つ以上のネットワークパケットを格納して、前記クライアントのネットワークスタックを介して、前記1つ以上のネットワークパケットを通信するためのネットワークドライバと、
前記1つ以上のネットワークパケットが、前記クライアントの第1のアプリケーションに関連付けられていることを判断し、前記クライアントの第2のアプリケーションに関連付けられた前記キュー内の少なくとも1つのネットワークパケットの前に、前記判断された1つ以上のネットワークパケットを配置するために、前記1つ以上のネットワークパケットの優先順位を前記ネットワークドライバに示すためのエージェントと、を備えるクライアント。 - 前記エージェントは、前記第1のアプリケーションの前記1つ以上のネットワークパケットが、リアルタイムデータを含むことを判断する、請求項132に記載のクライアント。
- 前記リアルタイムデータは、リアルタイムプロトコル、ユーザーデータグラムプロトコル、および音声またはオーディオのうちの1つの表現、のうちの1つを含む、請求項132に記載のクライアント。
- 前記エージェントまたは前記ネットワークドライバのうちの1つは、少なくとも1つの前記第2のアプリケーションのネットワークパケットが、前記第1のアプリケーションの前記1つ以上のネットワークパケットの前に、前記ネットワークスタックを介して通信されないようにする、請求項132に記載のクライアント。
- 前記ネットワークドライバは、前記キュー内に前記第2のアプリケーションに関連付けられたネットワークパケットを保持して、前記保持されたネットワークパケットの前に順位付けされた、前記第1のアプリケーションに関連付けられた前記1つ以上のネットワークパケットの通信に応じて、前記保持されたネットワークパケットを解放する、請求項132に記載のクライアント。
- 前記機構は、前記クライアント上の前記1つ以上のアプリケーションに対して、前記1つ以上のネットワークパケットを透過的にインターセプトする、請求項132に記載のクライアント。
- 前記第1のアプリケーションは、前記フォアグランドで実行し、前記第2のアプリケーションは、前記バックグラウンドで実行する、請求項132に記載のクライアント。
- 前記第1のアプリケーションは、前記第2のアプリケーションよりも高い優先順位を有する、請求項132に記載のクライアント。
- ユーザーが、前記優先順位を特定するための構成機構を備える、請求項132に記載のクライアント。
- 前記クライアントは、コンピューティングデバイスから前記1つ以上のネットワークパケットを受信する、請求項132に記載のクライアント。
- 前記1つ以上のアプリケーションは、コンピューティングデバイスに、前記クライアントから通信するための前記1つ以上のネットワークパケットを提供する、請求項132に記載のクライアント。
- 前記ネットワークドライバは、ネットワークドライバインターフェース仕様(NDIS)ドライバを備える、請求項132に記載のクライアント。
- 前記ネットワークドライバは、前記クライアントのオペレーティングシステムのカーネルモードで動作する、請求項132に記載のクライアント。
- 前記エージェントは、前記クライアントのオペレーティングシステムのユーザーモードで動作する、請求項132に記載のクライアント。
- 前記エージェントまたは前記ネットワークドライバのうちの1つは、前記クライアントの1つ以上のネットワークパケットをインターセプトするための機構を備える、請求項132に記載のクライアント。
- 第1のプロトコルを介して確立されたセッションを、ネットワークの混乱から保護するための方法であって、
(a)クライアントのエージェントを介して、前記クライアントとデバイスとの間のネットワーク接続を通じて第1のプロトコルを介したセッションを確立するステップであって、前記ネットワーク接続は、ネットワークスタックに関連付けられ、前記ネットワークスタックの第1の部分は、前記第1のプロトコルのレイヤーの下位に前記ネットワークスタックの1つ以上のレイヤーを備え、前記ネットワークスタックの第2の部分は、前記第1のプロトコルのためのレイヤーおよび前記第1のプロトコルの上位に前記ネットワークスタックの1つ以上のレイヤーを備える、ステップと、
(b)前記ネットワークスタックの前記第1の部分の廃止を生じさせる、前記ネットワーク接続内の混乱を検出するステップと、
(c)前記エージェントによって、前記混乱中に、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持するステップと、
(d)前記セッションおよび前記ネットワークスタックの前記第2の部分を保持しながら、前記ネットワークスタックの前記第2の部分および前記ネットワーク接続を再確立するステップと、を含む方法。 - (e)前記ネットワークスタックの前記保持された第2の部分および前記ネットワークスタックの前記再確立された第1の部分との前記セッションを継続するステップを含む、請求項147に記載の方法。
- (e)前記ネットワークスタックの前記第2部分によって、混乱中に受信したあらゆるネットワークパケットをドロップするステップを含む、請求項147に記載の方法。
- 前記デバイスは、リモートアクセスゲートウェイまたはコンピューティングデバイスのうちの1つを備える、請求項147に記載の方法。
- セキュアソケットレイヤー(SSL)プロトコル、トランスポートレイヤーセキュリティ(TLS)プロトコル、およびトンネリングプロトコルのうちの1つの前記第1のプロトコルを介して、前記セッションを確立するステップをさらに含む、請求項147に記載の方法。
- 前記エージェントによって、前記クライアントおよび前記デバイスとの間の前記セッションを介して、リアルタイムデータを通信するステップを含む、請求項147に記載の方法。
- 前記リアルタイムデータは、リアルタイムプロトコルを含む、請求項152に記載の方法。
- 前記リアルタイムデータは、音声またはオーディオのうちの1つの表現を含む、請求項152に記載の方法。
- 前記エージェントを、前記クライアントのオペレーティングシステムのユーザーモードで動作させるステップを含む、請求項147に記載の方法。
- 前記ネットワークの前記第1の部分は、トランスポート制御プロトコルまたはインターネットプロトコルのうちの1つを備える、請求項147に記載の方法。
- 前記ネットワークスタックの前記第2の部分は、インターネットプロトコル、ユーザーデータグラムプロトコル、またはボイスオーバーインターネットプロトコルのうちの1つを備える、請求項147に記載の方法。
- リモートディスプレイプロトコルを介して、前記デバイスと通信する前記クライアントを備える、請求項147に記載の方法。
- 前記リモートディスプレイプロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルのうちの1つを備える、請求項158に記載の方法。
- 前記ネットワーク接続を介して通信する前記クライアントのアプリケーションに、ステップ(b)、(c)、および(d)のうちの1つを透過的に実行するステップを含む、請求項147に記載の方法。
- 前記エージェントによって、前記クライアントのアプリケーションに対して、前記アプリケーションに関連付けられた1つ以上のネットワークパケットを透過的にインターセプトするステップを含む、請求項147に記載の方法。
- 前記スタックの前記第2の部分に関連付けられたネットワークドライバによって、前記クライアント上の前記アプリケーションに対して、前記アプリケーションに関連付けられた1つ以上のネットワークパケットを透過的にインターセプトするステップを含む、請求項147に記載の方法。
- 第1のプロトコルを介して確立されたセッションを、ネットワークの混乱から保護するためのシステムであって、
第1のプロトコルを介して、ネットワーク接続を通じて、前記クライアントとデバイスとの間のセッションを確立するクライアントのエージェントと、
第1の部分および第2の部分を有するネットワークスタックであって、前記ネットワークスタックの前記第1の部分は、前記第1のプロトコルのレイヤーの下位に前記ネットワークスタックの1つ以上のレイヤーを備え、前記ネットワークスタックの第2の部分は、前記第1のプロトコルのためのレイヤーおよび前記第1のプロトコルの上位に前記ネットワークスタックの1つ以上のレイヤーを備える、ネットワークスタックと、
前記ネットワークスタックの前記第2の部分の廃止を生じさせる、前記ネットワーク接続内の混乱を検出するための検出器と、を備え、
前記検出器による前記廃止の検出に応じて、前記エージェントは、前記混乱中に、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持し、
前記エージェントが、前記セッションおよび前記ネットワークスタックの前記第2の部分を保持しながら、前記クライアントは、前記ネットワークスタックの前記第1の部分および前記ネットワーク接続を再確立する、システム。 - 前記エージェントは、前記ネットワークスタックの前記保持された第2の部分および前記ネットワークスタックの前記再確立された第1の部分との前記セッションを継続する、請求項163に記載のシステム。
- 前記ネットワークの前記第1の部分または前記第2の部分は、混乱中に受信したあらゆるネットワークパケットをドロップする、請求項163に記載のシステム。
- 前記デバイスは、リモートアクセスゲートウェイまたはコンピューティングデバイスのうちの1つを備える、請求項163に記載のシステム。
- 前記第1のプロトコルは、セキュアソケットレイヤー(SSL)プロトコル、トランスポートレイヤーセキュリティ(TLS)プロトコル、およびトンネリングプロトコルのうちの1つを備える、請求項163に記載のシステム。
- 前記エージェントは、前記クライアントおよび前記デバイスとの間の前記セッションを介して、リアルタイムデータを通信する、請求項163に記載のシステム。
- 前記リアルタイムデータは、リアルタイムプロトコルのうちの1つを含む、請求項168に記載のシステム。
- 前記リアルタイムデータは、音声またはオーディオのうちの1つの表現を含む、請求項168に記載のシステム。
- 前記エージェントは、前記クライアントのオペレーティングシステムのユーザーモードで動作する、請求項163に記載のシステム。
- 前記ネットワークスタックの前記第1の部分は、トランスポート制御プロトコルまたはインターネットプロトコルのうちの1つを備える、請求項163に記載のシステム。
- 前記ネットワークスタックの前記第2の部分は、インターネットプロトコル、ユーザーデータグラムプロトコル、またはボイスオーバーインターネットプロトコルのうちの1つを備える、請求項163に記載のシステム。
- 前記第1のプロトコルは、リモートディスプレイプロトコルを含む、請求項163に記載のシステム。
- 前記リモートディスプレイプロトコルは、独立コンピューティングアーキテクチャプロトコルまたはリモートデスクトッププロトコルのうちの1つを備える、請求項174に記載のシステム。
- 前記エージェントは、アプリケーションに対して、前記クライアントの前記アプリケーションの1つ以上のネットワークパケットを透過的にインターセプトする、請求項163に記載のシステム。
- 前記ネットワークスタックの前記第2の部分に関連付けられたネットワークドライバを備え、前記ネットワークドライバは、アプリケーションに対して、前記クライアントの前記アプリケーションの1つ以上のネットワークパケットをインターセプトし、前記セッションを介して通信するために、前記エージェントに前記1つ以上のパケットを提供する、請求項163に記載のシステム。
- 前記ネットワークドライバは、ネットワークドライバインターフェース仕様(NDIS)ドライバを備える、請求項177に記載のシステム。
- 前記ネットワークドライバは、前記クライアントのオペレーティングシステムのカーネルモードで動作する、請求項177に記載のシステム。
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)
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)
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)
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)
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 |
-
2005
- 2005-07-22 US US11/187,508 patent/US9219579B2/en active Active
- 2005-07-22 EP EP13195627.8A patent/EP2744175B1/en active Active
- 2005-07-22 AU AU2005266943A patent/AU2005266943C1/en not_active Ceased
- 2005-07-22 EP EP05774886.5A patent/EP1771998B1/en active Active
- 2005-07-22 JP JP2007522841A patent/JP2008507928A/ja active Pending
- 2005-07-22 CA CA002574776A patent/CA2574776A1/en not_active Abandoned
- 2005-07-22 KR KR1020077004289A patent/KR20070045282A/ko not_active Application Discontinuation
- 2005-07-22 US US11/188,274 patent/US8914522B2/en active Active
- 2005-07-22 US US11/187,562 patent/US7808906B2/en active Active
- 2005-07-22 WO PCT/US2005/026296 patent/WO2006012610A2/en active Application Filing
- 2005-07-22 US US11/187,512 patent/US8046830B2/en active Active
- 2005-07-22 US US11/188,279 patent/US7609721B2/en active Active
- 2005-07-22 US US11/187,513 patent/US7724657B2/en active Active
-
2007
- 2007-01-23 IL IL180891A patent/IL180891A0/en unknown
- 2007-10-11 HK HK07111032.0A patent/HK1108985A1/xx not_active IP Right Cessation
-
2009
- 2009-09-15 US US12/560,154 patent/US8014421B2/en active Active
-
2010
- 2010-05-25 US US12/787,231 patent/US8634420B2/en active Active
- 2010-08-30 US US12/871,246 patent/US8351333B2/en active Active
- 2010-08-31 AU AU2010214746A patent/AU2010214746B2/en not_active Ceased
Patent Citations (1)
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)
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
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 |