KR20060120032A - 세션의 지속성과 신뢰성을 위한 프로토콜 캡슐화 - Google Patents
세션의 지속성과 신뢰성을 위한 프로토콜 캡슐화 Download PDFInfo
- Publication number
- KR20060120032A KR20060120032A KR1020067006888A KR20067006888A KR20060120032A KR 20060120032 A KR20060120032 A KR 20060120032A KR 1020067006888 A KR1020067006888 A KR 1020067006888A KR 20067006888 A KR20067006888 A KR 20067006888A KR 20060120032 A KR20060120032 A KR 20060120032A
- Authority
- KR
- South Korea
- Prior art keywords
- connection
- protocol
- service
- client
- ticket
- Prior art date
Links
Classifications
-
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- 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
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Manufacturing Of Micro-Capsules (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Mobile Radio Communication Systems (AREA)
- Seal Device For Vehicle (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
본 발명은 네트워크 통신에 관한 것이다. 복수의 이차 프로토콜을 캡슐화한 제1 프로토콜이 네트워크를 통해 통신하는 데에 이용된다. 제1 프로토콜의 이용으로 세션 지속성과 클라이언트와 호스트 서비스 간의 신뢰성 연결을 제공한다. 본 발명의 일 실시예에서, 제1 프로토콜 서비스와 호스트 서비스 간에 이차 프로토콜 중 하나를 이용하여 제2 연결이 설정된다. 제1 프로토콜 서비스와 호스트 서비스 간에는 이차 프로토콜 중 하나를 거쳐 통신이 이루어진다. 다른 실시예에서는 복수의 이차 프로토콜을 이용하여 제1 프로토콜 서비스와 복수의 호스트 서비스 간에 복수의 제2 연결이 설정된다. 구체적으로, 복수의 제2 연결 각각이 제1 프로토콜 서빗와 여러 호스트 서비스 간에 설정되고 복수의 제2 연결 각각은 복수의 이차 프로토콜 중 하나를 이용하여 설정된다. 제1 프로토콜 서비스와 복수의 호스트 서비스 간의 통신은 복수의 이차 프로토콜 중 하나를 거쳐 복수의 제2 연결 각각을 통해 이루어진다. 또 다른 실시예에서, 클라이언트와 제1 프로토콜 서비스 간의 제1 연결은 중간 노드를 통해 설정된다. 부가하여, 각 가상 채널은 원격 액세스 기능을 가능하게 하는 복수의 프로토콜 패킷을 포함할 수 있다.
Description
본 발명은 일반적으로 네트워크 통신에 관한 것으로, 더욱 특히는 다른 프로토콜을 캡슐화하여, 세션 지속성과 신뢰성을 제공하는 통신 프로토콜에 관한 것이다.
두 컴퓨터, 예를 들어, 클라이언트와 서버 간의 네트워크를 통한 통신은 공지의 각종 통신 프로토콜을 이용하여 구현될 수 있다. 그러나, 때로 네트워크 연결은 차단에 취약하다. 예를 들어, 클라이언트와 서버 간의 무선 연결은 보통 신뢰적이지 못하다. 다른 경우에, 네트워크 연결은 단속적일 수 있다. 예를 들어, 엘리베이터나 터널에 들어갈 때 끊길 수 있으며 엘리베이터나 터널에서 나올 때에만 복구 가능할 때가 있다.
많은 현재 프로토콜을 이용한 네트워크 연결을 통한 통신시, 데이터 패킷은 네트워크 연결이 끊어질 때 손실되게 된다. 예를 들어, 많은 현재 프로토콜은 표준 TCP 네트워크 연결을 통해 통신될 때, 데이터 버퍼는 통상 연결 끊김시 플러시된다. 이와 같이, 네트워크 연결이 복구되면, 네트워크 어플리케이션은 예를 들어, 끊김 이전의 상태부터 다시 시작할 수는 없다. 통상 에러 메시지가 표시되어, 유저에게 불편한 감을 주게 된다.
더구나, 많은 현재 프로토콜에 의한 네트워크를 통한 통신에서는 빈번한 전송 연결의 분리 및 재설정이 필요하게 된다. 예를 들어, HTTP를 이용하면, 고유의 프록시 프로토콜 상에서 또는 이와 관련해서, 표준 TCP 연결을 통한 웹사이트를 브라우즈한다는 것은, 각 리소스에 대한 새로운 HTTP 연결에 부가하여, 각 리소스에 대해 이전의 TCP/프록시 프로토콜 연결의 폐쇄와 새로운 TCP/프록시 연결의 개방을 요하게 된다.
더욱, 네트워크 연결이 실패하면, 보통 재기동하고 서버에 다시 로그온해야 만 통신을 재개할 수 있다. 예를 들어, 로그온을 재기입해야 한다. 이는 처리를 느리게 하고 또한 유저에게 비효율적이 된다.
따라서, 개선된 네트워크 통신의 시스템과 방법이 필요하다.
본 발명의 상기 및 그 외 목적, 형태, 특성 및 장점들은 첨부한 도면을 참조한 다음의 상세 설명을 참조하면 더욱 명백하게 되며 잘 이해될 것이다.
도 1A는 본 발명의 일 실시예에 따라 클라이언트에게 호스트 서비스와의 신뢰성 연결을 제공하기 위한 시스템의 블럭도이다.
도 1B는 본 발명의 다른 실시예에 따라 클라이언트에게 호스트 서비스와의 신뢰성 연결을 제공하기 위한 시스템의 블럭도이다.
도 2는 본 발명의 일 실시예에 따라 네트워크를 통해 발생하는 통신을 도시한다.
도 3은 본 발명의 다른 실시예에 따라 네트워크를 통해 발생하는 통신을 도시한다.
도 4는 본 발명의 일 실시예에 따라 네트워크를 통한 통신을 위해 제1 프로토콜 내의 복수의 이차 프로토콜을 캡슐화하기 위한 프로세스를 도시한다.
도 5는 본 발명의 일 실시예에 따라 클라이언트를 호스트 서비스와 재연결하기 위한 구성 요소를 더 포함하는 도 1A의 시스템의 블럭도이다.
도 6A는 본 발명의 일 실시예에 따라 클라이언트를 호스트 서비스에 초기 연결하기 위한 구성 요소를 더 포함하는 도 5의 시스템의 블럭도이다.
도 6B는 본 발명의 일 실시예에 따라 클라이언트를 호스트 서비스에 초기 연결하고 클라이언트를 호스트 서비스에 재연결하기 위한 구성요소를 더 포함하는 도 6 A의 시스템의 블럭도이다.
도 6C는 도 6B의 시스템의 다른 실시예의 블럭도이다.
도 7은 본 발명의 일 실시예에 따른 네트워크 통신 방법의 흐름도이다.
도 8A-8B는 본 발명의 일 실시예에 따라 클라이언트를 복수의 호스트 서비스에 연결하기 위한 방법의 흐름도이다.
도 9는 본 발명의 일 실시예에 따라 클라이언트에게 호스트 서비스와의 신뢰성 연결을 제공하고 클라이언트를 호스트 서비스에 재연결하기 위한 방법의 흐름도이다.
도 10A-10B는 본 발명의 일 실시예에 따라 클라이언트를 호스트 서비스에 재연결하기 위한 방법의 흐름도이다.
본 발명은 클라이언트에게 호스트 서비스와의 신뢰성 연결을 제공하기 위한 시스템 및 방법을 제공한다. 클라이언트와 호스트 서비스 간의 통신시 이용되는 이차 프로토콜을 캡슐화할 수 있는 제1 통신 프로토콜은 끊겨진 네트워크 연결 동안에 데이터가 보유되는 것을 확실히 한다. 더욱 특히, 클라이언트와 호스트 서비스 간에 통신되는 데이터는 버퍼링된다. 예를 들어, 모바일 클라이언트 등의 클라이언트가 동일한 네트워크에서 다른 액세스 지점 간에 로밍될 때, 이 버퍼링된 데이터가 임시 끊겨진 네트워크 연결 동안 보유되게 된다. 유사하게, 다른 예에서, 클라이언트는 네트워크 간에서 (예를 들어, 유선 네트워크에서 무선 네트워크로) 전환될 때, 이 버퍼링된 데이터가 일시적으로 끊어진 호스트 서비스와의 연결 동안 보유된다. 클라이언트가 네트워크 액세스 지점간이나 네트워크 자체 간에서 로밍할 때 버퍼링 데이터를 보유하는 데에 부가하여, 예를 들어, 네트워크 연결이 서버측 구성 요소의 이상 (예를 들어, 서버측 프록시의 이상) 또는 시스템의 타임아웃이나 그 외 이유로 인해 끊어질 때에, 이 버퍼링 데이터가 또한 보유될 수 있다. 따라서, 세션 지속성을 이루며 신뢰성이 보장된다.
본 발명의 제1 통신 프로토콜을 이용하게 되면 또한 제1 프로토콜이 통신되게 되는 전송 연결을 필요로 하지 않고 내부에 터널링되어 있는 이차 프로토콜 연결이 반복적으로 개방 및/또는 폐쇄되거나, 제1 프로토콜 연결 자체가 유사하게 반복하여 개방 및/또는 폐쇄되게 된다. 이와 같이, 시스템의 효율성을 개선한다.
더욱, 본 발명은 네티워크 연결의 끊어짐 이후에 클라이언트를 호스트 서비스에 재연결하기 위한 시스템 및 방법에 관한 것이다. 더욱 특히 클라이언트를 호스트 서비스에 재연결하기 위한 시스템 방법은 재연결 티켓을 이용하므로 유저 로그온의 재기입을 요하지 않는다. 이와 같이, 클라이언트를 호스트 서비스에 재연결하는 데에 필요한 시간을 단축할 수 있다.
일 형태에서, 본 발명은 일반적으로 네트워크 통신 방법에 관한 것이다. 이 방법은 제1 프로토콜을 이용하여 클라이언트와 제1 프로토콜 서비스 간의 제1 연결을 설정하고 제1 프로토콜 내에 캡슐화된 복수의 이차 프로토콜을 통해 클라이언트와 제1 프로토콜 서비스 사이에서 통신하는 단계를 포함한다. 더욱, 이차 프로토콜 중 적어도 하나는 복수의 가상 채널을 포함한다.
본 발명의 이 형태의 일 실시예에서, 이차 프로토콜 중 하나를 이용하여 제1 프로토콜 서비스와 호스트 서비스 간에 제2 연결이 설정된다. 이차 프로토콜 중 하나를 거쳐 제1 프로토콜 서비스와 호스트 서비스 간에 통신이 발생한다. 다른 실시예에서, 복수의 이차 프로토콜을 이용하여 제1 프로토콜 서비스와 복수의 호스트 서비스 간에 복수의 제2 연결이 설정된다. 특히, 복수의 제2 연결 각각은 제1 프로토콜 서비스와 여러 호스트 서비스 간에 설정되고, 복수의 제2 연결 각각은 복수의 이차 프로토콜 중 하나를 이용하여 설정된다. 복수의 이차 프로토콜 중 하나를 거쳐 복수의 제2 연결 각각을 통해 제1 프로토콜 서비스와 복수의 호스트 서비스 간에 통신이 발행한다. 또 다른 실시예에서는, 클라이언트와 제1 프로토콜 서비스 간의 제1 연결이 중간 노드를 통해 설정된다.
제1 프로토콜은 TCP/IP를 통해 통신되고 제2 프로토콜은 예를 들어, HTTP, RDP, ICA, FTP, Oscar, 또는 Telnet일 수 있다. 부가하여, 각 가상 채널은 원격 액세스 기능을 가능하게 하는 복수의 프로토콜 패킷을 포함한다.
일 실시예에서, 통신은 제1 프로토콜의 레벨에서 압축된다. 다른 실시예에서, 통신은 제1 프로토콜의 레벨에서 암호화된다. 또 다른 실시예에서, 제1 연결은 보안적이고 제1 프로토콜 서비스와 제1 호스트 서비스 간의 제2 연결이 설정되고, 제1 연결과 제2 연결을 통해 클라이언트와 제1 호스트 서비스 가 통신하고, 제2 연결이 차단되고, 제1 연결을 차단하지 않고 제1 프로토콜 서비스와 제2 호스트 서비스 간의 제3 연결이 설정되고, 제1 연결과 제3 연결을 거쳐 클라이언트와 제2 호스트 서비스가 통신한다.
다른 형태에서, 본 발명은 클라이언트에 호스트 서비스와의 신뢰성 연결을 제공하는 방법에 관한 것이다. 이 방법은 클라이언트와 제1 프로토콜 서비스 간의 제1 연결을 제1 프로토콜을 이용하여 설정하는 단계와 제1 프로토콜 서비스와 호스트 서비스 간의 제2 연결을 복수의 이차 프로토콜 중 하나를 이용하여 설정하는 단계를 포함한다. 제1 프로토콜은 복수의 이차 프로토콜을 캡슐화한다. 이 방법은 또한 클라이언트와 제1 프로토콜 서비스 중 적어도 하나에 제1 연결을 거쳐 가장 최근에 전송되는 데이터 패킷의 큐를 보유하는 단계를 더 포함하다. 제1 연결의 이상시에: 제2 연결이 보유되고, 제1 연결을 거쳐 가장 최근에 전송된 데이터 패킷의 큐가 계속하여 보유되고, 제1 프로토콜을 이용하여 클라이언트와 제1 프로토콜 서비스 간에 제3 연결이 설정된다.
본 발명의 이 형태의 일 실시예에서, 큐된 데이터 패킷 중 적어도 하나가 제3 연결을 통해 전송된다.
다른 형태에서, 본 발명은 클라이언트를 호스트 서비스에 재연결하는 방법을 제공한다. 이 방법은 클라이언트와 중간 노드 간에 제1 연결, 중간 노드와 제1 프로토콜 서비스 간의 제2 연결 및 제1 프로토콜 서비스와 호스트 서비스 간의 제3 연결을 제공한다. 제1 연결과 제2 연결 중 적어도 하나에 끊어짐이 검출된다. 클라이언트와 중간 노드 간의 제1 연결은 재설정되는 반면 제1 프로토콜 서비스와 호스트 서비스 간의 제3 연결은 유지된다. 제1 티켓과 제2 티켓이 또한 중간 노드에 수신된다. 제1 티켓이 확인된다. 제1 티켓이 확인된 후에, 중간 노드와 제1 프로토콜 서비스 간의 제2 연결이 재설정된다. 제2 티켓이 확인되고, 제2 티켓이 확인된 후에, 재설정된 제2 연결이 유지된 제3 연결에 링크된다.
본 발명의 이 형태의 일 실시예에서, 이 방법은, 제1 연결과 제2 연결 중 적어도 하나의 끊어짐이 검출된 후에, 제1 연결과 제2 연결 중 나머지 연결을 차단한다.
다른 형태에서, 제1 티켓은 중간 노드로부터 티켓 기관에 전송되고 제1 티켓이 티켓 기관을 이용하여 확인된다. 제1 티켓이 확인된 후에, 제1 프로토콜 서비스의 주소가 중간 노드에 수신된다. 또한, 제1 티켓은 확인된 후에 삭제될 수 있다. 제1 티켓이 삭제된 후에, 교체 제1 티켓이 형성될 수 있다.
또 다른 실시예에서, 제2 티켓은 중간 노드로부터 제1 프로토콜 서비스로 전송되고 제2 티켓은 제1 프로토콜 서비스를 이용하여 확인된다. 제2 티켓은 확인된 후에 삭제될 수 있다. 제2 티켓이 삭제된 후에, 교체 제2 티켓이 형성될 수 있다.
또 다른 실시예에서, 중간 노드는 제1 티켓에 대한 요청을 티켓 기관에 전송할 수 있다. 예를 들어, 난수일 수 있는 제1 티켓이 티켓 기관에서 형성될 수 있다. 티켓 기관은 또한 핸들을 형성하고 티켓 기관에서 제1 티켓의 카피, 핸들의 카피, 및 제1 프로토콜 서비스의 주소를 저장한다. 제1 티켓과 핸들은 티켓 기관으로부터 중간 노드로 전송될 수 있고, 이 노드는 다음에 제1 티켓을 클라이언트에 전송할 수 있다. 핸들은 티켓 기관에 저장된 제1 티켓의 카피를 삭제하는 데에 이용된다.
다른 실시예에서, 예를 들어, 난수인 제2 티켓은 제1 프로토콜 서비스에서 형성된다. 제2 티켓의 카피와 세션 번호는 제1 프로토콜 서비스에 저장된다. 제2 티켓은 제1 프로토콜 서비스에서 클라이언트에 전송된다. 부가하여, 제1 티켓과 제2 티켓 중 적어도 하나는 소정의 기간 후에 자동으로 삭제된다.
다른 형태에서, 본 발명은 클라이언트를 호스트 서비스에 재연결하는 방법을 제공한다. 이 방법은 클라이언트와 제1 중간 노드 간의 제1 연결, 제1 중간 노드와 제1 프로토콜 서비스 간의 제2 연결, 및 제1 프로토콜 서비스와 호스트 서비스 간의 제3 연결을 제공한다. 제1 연결과 제2 연결 중 적어도 하나에 끊어짐이 검출된다. 클라이언트와 제1 중간 노드와는 다른 제2 중간 노드 간의 제4 연결이 설정되는 반면 제1 프로토콜 서비스와 호스트 서비스 간의 제3 연결은 보유된다. 제1 티켓과 제2 티켓이 또한 중간 노드에 수신된다. 제1 티켓이 확인된다. 제1 티켓이 확인된 후에, 중간 노드와 제1 프로토콜 서비스 간의 제5 연결이 설정된다. 제2 티켓이 확인되고, 제2 티켓이 확인된 후에, 재설정된 제5 연결이 유지된 제3 연결에 링크된다.
다른 형태에서, 본 발명은 클라이언트를 호스트 서비스에 재연결하는 방법을 제공한다. 이 방법은 클라이언트와 제1 프로토콜 서비스 간에 제1 연결, 제1 프로토콜 서비스와 호스트 서비스 간의 제2 연결을 제공한다. 제1 연결에서 끊어짐이 검출된다. 클라이언트와 제1 프로토콜 서비스 간의 제1 연결은 재설정되는 반면 제1 프로토콜 서비스와 호스트 서비스 간의 제2 연결은 유지된다. 제1 티켓이 또한 제1 프로토콜 서비스에 수신된다. 티켓이 확인된다. 티켓이 확인된 후에, 재설정된 제1 연결은 유지된 제2 연결에 링크된다.
본 발명의 이 형태의 일 실시예에서, 티켓은 확인된 후에 삭제된다. 또한, 티켓이 삭제된 후에, 교체 티켓이 형성된다. 다른 실시예에서, 난수인 티켓이 제1 프로토콜 서비스에서 형성된다. 티켓의 카피와 세션 번호가 제1 프로토콜 서비스에 저장된다. 티켓은 또한 제1 프로토콜 서비스에서 클라이언트에 전송된다. 부가하여, 티켓은 미리 정해진 주기 이후에 자동 삭제된다.
다른 형태에서, 본 발명은 일반적으로 네트워크 통신을 위한 시스템에 관한 것이다. 이 시스템은 클라이언트와의 제1 연결을 수용하고 제1 프로토콜 내에 캡슐화된 복수의 이차 프로토콜을 거쳐 클라이언트와 통신하도록 구성된 제1 프로토콜 서비스를 포함한다. 더욱, 이차 프로토콜 중 적어도 하나는 복수의 가상 채널을 포함한다.
본 발명의 이 형태의 일 실시에서, 제1 프로토콜 서비스는 호스트 서비스와의 제2 연결을 설정하고 이차 프로토콜 중 하나를 거쳐 호스트 서비스와 통신하도록 더욱 구성된다. 다른 실시예에서, 제1 프로토콜 서비스는 복수의 이차 프로토콜을 이용하여 복수의 호스트 서비스와의 복수의 제2 연결을 설정하도록 더 구성된다. 구체적으로 복수의 제2 연결 각각은 여러 호스트 서비스로 설정되고 복수의 제2 연결 각각은 복수의 이차 프로토콜 중 하나를 이용하여 설정되고, 제1 프로토콜 서비스는 복수의 이차 프로토콜 중 하나를 거쳐 복수의 제2 연결 각각을 통해 복수의 호스트 서비스와 통신하도록 더욱 구성된다. 이 실시예에서, 클라이언트와의 제1 연결은 중간 노드를 통해 라우트된다.
제1 프로토콜은 TCP/IP를 통해 통신되고, 이차 프로토콜은 예를 들어, HTTP, RDP, ICA, FTP, Oscar 또는 Telnet일 수 있다. 부가하여, 각 가상 채널은 원격 액세스 기능을 가능하게 하는 복수의 프로토콜 패킷을 포함한다.
일 실시예에서, 제1 프로토콜 서비스는 제1 프로토콜의 레벨에서의 통신을 압축하도록 더 구성된다. 다른 실시예에서, 제1 프로토콜 서비스는 제1 프로토콜의 레벨에서의 통신을 암호화하도록 더 구성된다. 또 다른 실시예에서, 제1 연결은 보안적이며, 제1 프로토콜 서비스는 제1 호스트 서비스와의 제2 연결을 설정하고, 제1 연결을 차단하고, 제1 연결을 차단하지 않고 제2 호스트 서비스와의 제3 연결을 설정하도록 더 구성된다.
다른 형태에서, 본 발명은 클라이언트에 호스트 서비스와의 신뢰성 연결을 제공하기 위한 시스템에 관한 것이다. 이 시스템은 제1 프로토콜 서비스와 호스트 서비스를 포함한다. 제1 프로토콜 서비스는 클라이언트와의 제1 연결을 허용하고, 호스트 서비스와의 제2 연결을 설정하고, 제1 연결의 실패시, 제2 연결을 보유하게 클라이언트로부터 제3 연결을 허용하도록 구성된다. 호스트 서비스는 제1 프로토콜 서비스와의 제2 연결을 허용하고, 제1 연결의 실패시 제2 연결을 보유하도록 구성된다. 제1 연결과 제3 연결은 각각 제1 프로토콜을 이용하여 설정되고, 제1 프로토콜은 복수의 이차 프로토콜을 캡슐화하기 위한 것이다. 또한 클라이언트와 제1 프로토콜 서비스 중 적어도 하나는 제1 연결의 실패 이전과 실패시, 제1 연결을 통해 가장 최근에 전송되는 데이터 패킷의 큐를 보유하도록 더욱 구성된다.
본 발명의 이 형태의 일 실시예에서, 클라이언트는 제3 연결을 통해 큐된 데이터 패킷 중 적어도 하나를 전송하도록 더욱 구성된다. 다르게, 제1 프로토콜 서비스는 제3 연결을 통해 큐된 데이터 패킷 중 적어도 하나를 전송하도록 더욱 구성될 수 있다.
다른 형태에서, 본 발명은 클라이언트를 호스트 서비스에 재연결하는 시스템을 제공한다. 시스템은 클라이언트, 중간 노드, 제1 프로토콜 서비스를 포함한다. 클라이언트는 중간 노드와의 제1 연결을 유지하도록 구성된다. 중간 노드는 클라이언트와의 제1 연결 및 제1 프로토콜 서비스와의 제2 연결을 유지하도록 구성된다. 제1 프로토콜 서비스는 중간 노드와의 제2 연결 및 호스트 서비스와의 제3 연결을 유지하도록 구성된다. 이 시스템에 따르면, 제1 연결과 제2 연결 중 적어도 하나에 끊어짐이 검출되고, 제1 연결이 클라이언트와 중간 노드 사이에 재설정되는 반면 제1 프로토콜 서비스와 호스트 서비스 간의 제3 연결은 유지되고, 제1 티켓과 제2 티켓이 클라이언트로부터 중간 노드에 전송되고, 제1 티켓이 확인되고, 중간 노드와 제1 프로토콜 서비스 간의 제2 연결은 제1 티켓이 확인된 후에 재설정되고, 제2 티켓이 확인되고, 제2 티켓이 확인된 후에 재설정된 제2 연결이 유지된 제3 연결에 링크된다.
본 발명의 이 형태의 일 실시예에서, 제1 연결과 제2 연결 중 적어도 하나에 끊어짐이 검출된 후에, 제1 연결과 제2 연결 중 나머지 연결도 차단된다.
다른 실시예에서, 제1 티켓은 티켓 기관을 이용하여 확인된다. 티켓 기관은 예를 들어, 제1 티켓을 중간 노드로부터 수신하고 제1 티켓을 확인하도록 구성된다. 일 실시예에서, 중간 노드는 제1 티켓이 확인된 후에, 제1 프로토콜 서비스의 주소를 수신하도록 더 구성된다. 티켓 기관은 제1 티켓을 확인된 후에 삭제하도록 구성된다. 또한, 티켓 기관은 제1 티켓이 삭제된 후에 교체 제1 티켓을 형성하도록 구성된다.
다른 실시예에서, 제2 티켓은 제1 프로토콜 서비스를 이용하여 확인된다. 제1 프로토콜 서비스는 중간 노드로부터 제2 티켓을 수신하고 제2 티켓을 확인하도록 구성된다. 제1 프로토콜 서비스는 제2 티켓을 확인된 후에 삭제하도록 구성된다. 또한 제1 프로토콜 서비스는 제2 티켓이 삭제된 후에 교체 제2 티켓을 형성하도록 구성된다.
또 다른 실시예에서, 중간 노드는 제1 티켓에 대한 요청을 티켓 기관에 전송하도록 구성된다. 티켓 기관은 예를 들어 난수인 제1 티켓을 형성하도록 구성된다. 티켓 기관은 핸들을 형성하고 제1 티켓의 카피, 핸들의 카피, 및 제1 프로토콜 서비스의 주소를 저장하도록 구성된다. 티켓 기관은 제1 티켓과 핸들을 중간 노드에 전송하도록 구성되고, 다음에 제1 티켓을 클라이언트에 전송하도록 구성된다. 중간 노드는 또한 티켓 기관에 저장된 제1 티켓의 카피를 삭제하도록 핸들을 이용하도록 구성된다.
다른 실시예에서, 제1 프로토콜 서비스는 예를 들어, 난수인 제2 티켓을 형성하도록 구성된다. 제1 프로토콜 서비스는 제2 티켓의 카피, 핸들의 카피와 세션 번호를 저장하도록 구성된다. 다른 실시예에서, 제1 프로토콜 서비스는 제2 티켓을 클라이언트에 전송하도록 구성된다. 부가하여, 제1 티켓과 제2 티켓 중 적어도 하나는 미리 정해진 기간 이후 자동 삭제되게 구성된다.
다른 형태에서, 본 발명은 클라이언트를 호스트 서비스에 재연결하기 위한 시스템을 제공한다. 시스템은 클라이언트, 제1 중간 노드, 제1 프로토콜 서비스, 및 제2 중간 노드를 포함한다. 클라이언트는 제1 중간 노드와의 제1 연결을 유지하도록 구성된다. 제1 중간 노드는 클라이언트와의 제1 연결 및 제1 프로토콜 서비스와의 제2 연결을 유지하도록 구성된다. 제1 프로토콜 서비스는 제1 중간 노드와의 제2 연결 및 호스트 서비스와의 제3 연결을 유지하도록 구성된다. 이 시스템에 따르면, 제1 연결과 제2 연결 중 적어도 하나에 끊어짐이 검출되고, 제4 연결이 클라이언트와 제2 중간 노드 사이에 재설정되는 반면 제1 프로토콜 서비스와 호스트 서비스 간의 제3 연결은 유지되고, 제1 티켓과 제2 티켓이 클라이언트로부터 제2 중간 노드에 전송되고, 제1 티켓이 확인되고, 제2 중간 노드와 제1 프로토콜 서비스 간의 제5 연결은 제1 티켓이 확인된 후에 재설정되고, 제2 티켓이 확인되고, 제2 티켓이 확인된 후에 재설정된 제5 연결이 유지된 제3 연결에 링크된다.
다른 형태에서, 본 발명은 클라이언트를 호스트 서비스에 재연결하기 위한 시스템을 제공한다. 이 시스템은 클라이언트와 제1 프로토콜 서비스를 포함한다. 클라이언트는 제1 프로토콜 서비스와의 제1 연결을 유지하도록 구성된다. 중간 노드는 클라이언트와의 제1 연결 및 제1 프로토콜 서비스와의 제2 연결을 유지하도록 구성된다. 제1 프로토콜 서비스는 클라이언트와의 제1 연결 및 호스트 서비스와의 제2 연결을 유지하도록 구성된다. 이 시스템에 따르면, 제1 연결에 끊어짐이 검출되고, 제1 연결이 클라이언트와 제1 프로토콜 서비스 사이에 재설정되는 반면 제1 프로토콜 서비스와 호스트 서비스 간의 제2 연결은 유지되고, 티켓이 클라이언트로부터 제1 프로토콜 서비스에 전송되고, 티켓이 확인되고, 티켓이 확인된 후에 재설정된 제1 연결이 유지된 제2 연결에 링크된다.
본 발명의 이 형태의 일 실시예에서, 제1 프로토콜 서비스는 티켓이 확인된 후에 티켓을 삭제하도록 더 구성된다. 더욱, 제1 프로토콜 서비스는 티켓이 삭제된 후에 교체 티켓을 형성하도록 구성될 수 있다. 다른 실시예에서, 제1 프로토콜 서비스는 예를 들어 난수인 티켓을 형성하도록 더 구성된다. 제1 프로토콜 서비스는 티켓의 카피 및 세션 번호를 저장하도록 구성된다. 제1 프로토콜 서비스는 티켓을 클라이언트에게 전송하도록 구성된다. 부가하여, 미리 정해진 기간 이후 자동 삭제되게 구성될 수 있다.
본 발명의 특정 실시예를 이하 설명한다. 그러나, 본 발명은 이들 실시예에만 국한되지 않고 여기 기재되어 있는 것에 부가하거나 수정한 것이 또한 본 발명의 영역 내에 포함되는 것이다. 더욱, 여기 기재된 여러 실시예의 특성들은 본 발명의 정신 및 영역에서 벗어나지 않는 한, 상호 배타적이지 않으며 여러 조합 및 치환이 여기에 기재되어 있지는 않더라도, 이런 조합 및 치환이 존재할 수 있다는 것이 이해될 것이다.
도 1A를 참조하면, 일반적으로 본 발명은 네트워크 통신에 속하며 클라이언트에게 호스트 서비스와의 신뢰성 연결을 제공하는 데에 특히 유용하다. 광범위하게, 네트워크 통신용 시스템(100)은 네트워크(104)를 통해 제1 프로토콜 서비스(112) (예를 들어, 제2 컴퓨팅 장치)와 통신하는 원격 클라이언트(108) (예를 들어, 제1 컴퓨팅 장치)를 포함한다. 또한 시스템(100)에는 네트워크(104')를 통해 제1 프로토콜 서비스(112)와, 제1 프로토콜 서비스(112)를 거치고 네트워크(104)를 통해 클라이언트(108)와 통신하는 복수의 호스트 서비스(116a-116n) (예를 들어, 제3 컴퓨팅 장치)가 포함된다. 다르게, 본 발명의 다른 실시예에서는, 도 1B를 이하 참조하여, 제1 프로토콜 서비스(112) 및 호스트 서비스(116a-116n)가 도 1A에서와 같이, 개별의 컴퓨팅 장치로 구현되어 있지 않다. 그보다, 이들은 예를 들어, 호스트 노드(118a)와 같은 동일한 컴퓨팅 장치 내에 결합되어 있다. 시스템(100)은 하나, 둘 또는 임의 수의 호스트 노드(118a-118n)를 포함할 수 있다.
일 실시예에서, 네트워크(104 및 104')는 도 1A에서와 같이, 개별의 네트워크이다. 네트워크(104 및 104')는 도 1B에서와 같이, 동일한 네트워크(104)일 수 있다. 일 실시예에서, 네트워크(104) 및/또는 네트워크(104')는 예를 들어, 회사 인트라넷와 같은 근거리 통신망(LAN)이거나, 인터넷 또는 월드 와이드 웹과 같은 원거리 통신망 (WAN)이다. 원격 클라이언트(108), 제1 프로토콜 서비스(112), 호스트 서비스(116) 및/또는 호스트 노드(118)는 표준 전화망, LAN 또는 WAN 링크 (예를 들어, 802.11, T1, T3, 56kb, X.25), 광대역 연결 (예를 들어, ISDN, 프레임 릴레이, ATM), 무선 연결, 또는 상기한 것들의 임의의 조합을 포함하는 각종 연결을 거쳐 네트워크(104 및/또는 104')에 연결될 수 있다.
더욱, 클라이언트(108)는 어느 워크스테이션, 데스크톱 컴퓨터, 랩톱, 핸드헬드 컴퓨터, 모바일 전화기, 또는 그 외 통신가능하며 여기 기재된 동작을 실행하는 데에 충분한 프로세서 파워와 메모리 용량을 갖는 컴퓨팅이나 텔레커뮤니케이션 장치 형태일 수 있다. 클라이언트(108)는 예를 들어, 시각적 디스플레이 장치 (예를 들어, 컴퓨터 모니터), 데이터 기입 장치 (예를 들어, 키보드), 영구성 및/또는 휘발성 저장소 (예를 들어, 컴퓨터 메모리), 프로세서 및 마우스를 포함할 수 있다.
유사하게, 도 1A를 참조하면, 제1 프로토콜 서비스(112) 및 호스트 서비스(116) 각각은 통신이 가능하며 여기 기재된 동작을 실행하는 데에 충분한 프로세서 파워와 메모리 용량을 갖는 어느 컴퓨팅 장치 상에나 제공될 수 있다. 다르게, 제1 프로토콜 서비스(112) 및 호스트 서비스(116)의 기능은 도 1B에서와 같이 예를 들어, 호스트 노드(118)와 같은 동일한 컴퓨팅 장치에 결합되는 경우, 제1 프로토콜 서비스(112) 및/또는 호스트 서비스(116)는 일반 목적의 컴퓨터 및/또는 예를 들어, ASIC 또는 FPGA와 같은 특수 목적의 하드웨어 장치에서 실행되는 소프트웨어 프로그램으로 구현될 수 있으며, 호스트 노드(118)는 여기 기재된 동작을 실행하는 데에 충분한 프로세서 파워와 메모리 용량을 갖는 어느 컴퓨팅 장치나 가능하다.
일 실시예에서, 호스트 서비스(116) 각각은 클라이언트(108)가 원격 이용 가능한 하나 이상의 어플리케이션 프로그램을 호스트한다. 동일한 어플리케이션 프로그램은 하나나 임의수의 호스트 서비스(116)에 의해 호스트될 수 있다. 이런 어플리케이션의 예로는 MICROSOFT WORD와 같은 워드 처리 프로그램 및 MICROSOFT EXCEL와 같은 스프레드시트 프로그램을 포함하며, 이들 둘 다는 워싱톤 레드몬드 소재의 마이크로소프트사 제품이다. 임의의 또는 모든 호스트 서비스(116)로 호스트될 수 있는 어플리케이션 프로그램의 다른 예로는 재무 보고 프로그램, 소비자 등록 프로그램, 프로그램 제공 기술 지원 정보, 고객 데이터베이스 프로그램, 및 어플리케이션 세트 메시지를 포함한다. 더욱, 일 실시예에서, 호스트 서비스(116)는 클라이언트(108)에게 스트리밍 오디오 및/또는 스트리밍 비디오를 제공하는 오디오/비디오 스트리밍 서버이다. 다른 실시예에서, 호스트 서비스(116)는 클라이언트(108)에게 임의의/모든 파일 유형을 제공하는 파일 서버를 포함한다.
도 1A 및 도 1B의 실시예를 참조하면, 클라이언트(108)는 제1 프로토콜을 이용하여 네트워크(104)를 통해 클라이언트(108)와 제1 프로토콜 서비스(112) 간의 연결(120)를 설정하도록 구성된다. 그 일부에 대해, 제1 프로토콜 서비스(112)는 연결(120)를 수용하도록 구성된다. 따라서, 클라이언트(108) 및 제1 프로토콜 서비스(112)는 제1 프로토콜을 이용하여 서로 통신할 수 있다.
몇 실시예에서, 도 1A 및 도 1B에서 나타낸 바와 같이, 클라이언트 에이전트(128)는 클라이언트(108) 내에 포함된다. 클라이언트 에이전트(128)는 소프트웨어 프로그램 및/또는 예를 들어, ASIC 또는 FPGA와 같은 하드웨어 장치로 구현될 수 있다. 클라이언트 에이전트(128)는 어느 유형의 프로토콜이나 이용할 수 있으며, 예를 들어, 플로리다, 포트 라우더데일 소재의 Citrix Systems사의 HTTP 클라이언트 에이전트, FTP 클라이언트 에이전트, Oscar 클라이언트 에이전트, Telnet 클라이언트 에이전트, 인디팬던트 컴퓨팅 아키텍처 (ICA) 클라이언트 에이전트, 또는 워싱톤 레드몬드 소재의 마이크로소프트사의 원격 데스크톱 프로시져 (RDP) 클라이언트 에이전트일 수 있다. 몇 실시예에서, 클라이언트 에이전트(128) 자체는 제1 프로토콜을 이용하여 통신하도록 구성된다. (도시하지 않은) 몇 실시예에서, 클라이언트(108)는 복수의 클라이언트 에이전트(128a-128n)를 포함하고, 이들 각각은 각각 호스트 서비스(116a-116n)와 통신한다.
다른 실시예에서, 자립형 클라이언트 에이전트는 제1 프로토콜을 이용하여 클라이언트(108)가 통신할 수 있게 구성된다. 자립형 클라이언트 에이전트는 클라이언트(108) 내에 결합되거나, 이와 달리 자립형 클라이언트 에이전트는 클라이언트(108)와 별개일 수 있다. 자립형 클라이언트 에이전트는 예를 들어, 로컬 호스트 프록시이다. 일반적으로, 자립형 클라이언트 에이전트는 클라이언트 에이전트(128)과 관련하여 여기 기재된 기능을 구현할 수 있다.
또한 후술되는 바와 같이, 제1 프로토코로 서비스(112)는 일 실시예에서 제1 프로토콜을 이용하여 통신하도록 구성된다.
제1 프로토콜 서비스(112)는 각각 제1 프로토콜 서비스(112)와 호스트 서비스(116a-116n) 사이의 연결(124a-124n)을 설정하도록 구성된다. 예를 들어, 제1 프로토콜 서비스(112)는 제1 프로토콜 서비스(112)와 하나의 호스트 서비스(116a) 간의 연결(124a)과 제1 프로토콜 서비스(112)와 다른 호스트 서비스(116b) 간의 연결(124b)을 설정할 수 있다. 일 실시예에서, 제1 프로토콜 서비스(108)는 이런 연결(124a-124n)을 별개로 설정한다 (즉, 제1 프로토콜 서비스(112)는 한번에 하나의 연결을 설정한다). 다른 실시예에서, 제1 프로토콜 서비스(112)는 이런 연결(124a-124n) 중 둘 이상을 동시에 설정한다.
또 다른 실시예에서, 제1 프로토콜 서비스(112)는 클라이언트(108)와의 연결(120)을 차단하지 않고 둘 이상의 연결(124)를 제공하도록 구성된다. 예를 들어, 제1 프로토콜 서비스(112)는 클라이언트(108)의 유저가 호스트 서비스(116a) 상에 존재하는 제1 어플리케이션 프로그램의 실행을 요청할 때 제1 프로토콜 서비스(112)와 호스트 서비스(116a) 간의 연결(124a)을 설정하도록 구성될 수 있다. 유저가 제1 어플리케이션 프로그램의 실행을 종료하고 예를 들어, 호스트 서비스(116b)에 존재하는 제2 어플리케이션 프로그램의 실행을 개시하면, 제1 프로토콜 서비스(112)는 일 실시예에서, 제1 프로토콜 서비스(112)와 클라이언트(108) 간의 연결(120)을 끊지 않고도 연결(124a)를 차단하고 제1 프로토콜 서비스(112)와 호스트 서비스(116b) 간의 연결(124b)를 설정하도록 구성된다.
제1 프로토콜 서비스(112) 및 호스트 서비스(116a-116n)는 각각 이에만 한정되는 것은 아니지만, 플로리다, 포트 라우더데일 소재의 Citrix systems사의 HTTP, FTP, Oscar, Telnet, ICA 프리젠테이션 프로토콜 및/또는 워싱톤 레드몬드 소재의 마이크로소프트사의 RDP 프리젠테이션 프로토콜을 포함하는 각종 이차 프로토콜 중 어느 하나를 이용하여 연결(124a-124n)을 통해 통신할 수 있다. 예를 들어, 제1 프로토콜 서비스(112) 및 호스트 서비스(116a)는 ICA 프리젠테이션 프로토콜을 이용하여 연결(124a)을 통해 통신하는 반면, 제1 프로토콜 서비스(112)와 호스트 서비스(116b)는 RDP 프리젠테이션 프로토콜을 이용하여 연결(124b)을 통해 통신할 수 있다.
일 실시예에서, 제1 프로토콜 서비스(112)와 예를 들어, ICA 프리젠테이션 프로토콜과 같은 호스트 서비스(116) 사이에서 통신하는 데에 이용되는 이차 프로토콜은 복수의 가상 채널을 포함한다. 가상 채널은 데이터를 교체하기 위한 명령을 발하기 위해 어플리케이션 계층 코드에 의해 이용되는 세션 지향 전송 연결이다. 예를 들어, 복수의 가상 채널 각각은 원격 클라이언트(108)에서의 기능을 가능하게 하는 복수의 프로토콜 패킷을 포함할 수 있다. 일 실시예에서, 복수의 가상 채널 중 하나는 클라이언트(108)가 그래픽 유저 인터페이스를 표시하도록 하기 위해 제1 호스트 서비스(116)로부터 프로토콜 서비스(112)를 통해 클라이언트(108)에 그래픽 스크린 명령을 전송하기 위한 프로토콜 패킷을 포함한다. 다른 실시예에서, 복수의 가상 채널 중 하나는 문서가 클라이언트(108)에서 인쇄될 수 있도록 하기 위해, 호스트 서비스(116)로부터 제1 프로토콜 서비스(112)를 통해 클라이언트(108)에 프린터 명령을 전송하기 위한 프로토콜 패킷을 포함한다.
일 실시예에서, 제1 프로토콜은 터널링 프로토콜이다. 제1 프로토콜 서비스(112)는 제1 프로토콜 내에서, 호스트 서비스(116) 중 하나와 제1 프로토콜 서비스(112) 사이의 통신에 각각 이용되는 복수의 이차 프로토콜을 캡슐화한다. 이와 같이, 호스트 서비스(116)와 제1 프로토콜 서비스(112)는 복수의 이차 프로토콜을 통해 클라이언트(108)와 통신한다. 일 실시예에서, 제1 프로토콜은 예를 들어, TCP/IP 연결을 통해 다수의 이차 프로토콜을 터널링할 수 있는 어플리케이션 레벨 전송 프로토콜이다.
도 2를 참조하면, 개념적으로는 연결(120)을 통한 클라이언트(108)와 제1 프로토콜 서비스(112) 간의 통신은 제1 프로토콜(204) 내에 캡슐화된 복수의 이차 프로토콜(200a-200n) (예를 들어, HTTP, FTP, Oscar, Telnet, ICA 및/또는 RDP)의 형태를 취한다. 이것은 제1 프로토콜(204) 내측의 이차 프로토콜(200a-200n)의 위치로 나타낸다. 보안 통신이 요청되지 않는 곳에서, 제1 프로토콜(204)은 도 2에 나타낸 바와 같이, TCP 연결(208)을 통해 통신될 수 있다.
이하 도 3을 참조하여, 보안 통신이 이용되는 경우, 제1 프로토콜(204)은 예를 들어, 보안 소켓 계층(SSL; 216) 프로토콜을 이용하여 보안된 TCP 연결(212)과 같은 암호화된 연결을 통해 통신된다. SSL은 캘리포니아, 마운틴 뷰 소재의 네츠케이프 커뮤니케이션사에 의해 먼저 개발된 보안 프로토콜이며, 현재 전송 계층 보안 (TLS) 프로토콜로서 인터넷 엔지니어링 태스크 포스 (IETF)에 의해 발표되어 IETF RFC-2246에 기재된 표준이다.
따라서, 복수의 이차 프로토콜(200a-200n)은 연결(120)을 통해 보안 있이 (도 3) 또는 없이 (도 2) 제1 프로토콜(204) 내에서 통신된다.
일 실시예에서, 제1 프로토콜(204)은 예를 들어, HTTP 연결(200)과 같이 내부에 터널링된 이차 프로토콜 연결(200)이 제1 프로토콜(204)이 통신되는 전송 연결 (예를 들어, TCP 연결(208 및/또는 212))을 필요로 하지 않고 반복적으로 개방 및/또는 폐쇄되도록 하며, SSL 프로토콜 연결(216)이나 제1 프로토콜 연결(204) 자체도 반복적으로 개방 및/또는 폐쇄되게 한다.
도 4를 참조하면, 제1 프로토콜 서비스(112) 및 클라이언트(108)의 클라이언트 에이전트(128)에 의해 이용되는 예시의 프로세스(300)는 연결(120)을 통한 통신을 위해 제1 프로토콜(204) 내에 복수의 이차 프로토콜(200) (예를 들어, HTTP, FTP, Oscar, Telnet, ICA 및/또는 RDP)을 캡슐화한다. 선택적으로, 후술되는 바와 같이, 제1 프로토콜 서비스(112)와 클라이언트(108)의 클라이언트 에이전트(128)에 의해 이용되는 예시의 프로세스(300)는 연결(120)을 통한 통신 이전에 제1 프로토콜의 레벨에서의 통신을 압축 및/또는 암호화한다. 제1 프로토콜 서비스(112)의 관점에서, 이차 프로토콜 패킷(304)은 제1 프로토콜 서비스(112)에서의 연결(124)을 통해 수신된다. 예를 들어, 두 개의 이차 프로토콜 패킷(304a 및 304b)은 제1 프로토콜 서비스(112)에 의해 수신된다. 하나, 둘, 또는 임의수의 이차 프로토콜 패킷(304)이 수신될 수 있다. 일 실시예에서, 이차 프로토콜 패킷(304)은 호스트 서비스(116)에 의해 연결(124)을 통해 제1 프로토콜 서비스(112)에 전송된다. 이차 프로토콜 패킷(304)은 헤더(308)와 데이터 페이로드(312)를 포함한다.
이차 프로토콜 패킷(304)의 수신에 이어, 제1 프로토콜 서비스(112)는 제1 프로토콜 패킷(316) 내의 이차 프로토콜 패킷(304) 중 하나나 둘을 캡슐화한다. 일 실시예에서, 제1 프로토콜 서비스(112)는 제1 프로토콜 패킷 헤더(320)를 형성하며 제1 프로토콜 패킷(316)의 데이터 페이로드(324) 내에 예를 들어, 두 개의 이차 프로토콜 패킷(304a 및 304b)와 같은 하나나 두개의 이차 프로토콜 패킷(304)를 캡슐화한다. 다른 실시예에서는, 하나의 이차 프로토콜 패킷(304a)만이 각 제1 프로토콜 패킷(316)에 캡슐화된다.
일 실시예에서, 제1 프로토콜 패킷(316)은 연결(120)을 통해, 예를 들어, 도 2와 관련하여 기재된 연결(208)을 통해 클라이언트(108)의 클라이언트 에이전트(128)에 전송된다. 다르게, 다른 실시예에서는, 제1 프로토콜 서비스(112)가 또한 제1 프로토콜 패킷(316)의 전송 이전에 제1 프로토콜(204)의 레벨에서의 통신을 암화화도록 구성되게 된다. 이런 일 실시예로, 제1 프로토콜 패킷(316)은 예를 들어, 도 3을 참조하여 기재된 SSL 프로토콜을 이용하여 암호화된다. 결과적으로, 데이터 페이로드(336)로 헤더(332) 및 암호화된 제1 프로토콜 패킷(316')을 포함하는 보안 패킷(328)이 형성된다. 보안 패킷(328)은 예를 들어, 도 3에 나타낸 보안 TCP 연결(212)를 통해 연결(120)을 통해 클라이언트(108)의 클라이언트 에이전트(128)에 전송될 수 있다.
다른 실시예에서, 제1 프로토콜 서비스(112)는 또한 제1 프로토콜 패킷(316)의 전송 이전에, 제1 프로토콜(204)의 레벨에서의 통신을 압축하도록 구성된다. 일 실시예에서, 제1 프로토콜 패킷(316)을 암호화하기 전에, 제1 프로토콜 서비스(112)는 표준 압착 기술을 이용하여, 제1 프로토콜 패킷(316)을 압축한다. 이와 같이, 시스템(100)의 효율성이 개선된다.
도 1A-1B를 다시 참조하면, 본 발명의 시스템(100)은 일 실시예에서, 원격 클라이언트(108)에게 예를 들어, 호스트 서비스(116a)와 같은 호스트 서비스(116)와의 신뢰성 연결을 제공한다. 예를 들어, 클라이언트(108)가 클라이언트(108)와 제1 프로토콜 서비스(112) 사이의 연결(120)을 설정하고, 제1 프로토콜 서비스(112)가 제1 프로토콜 서비스(112)와 호스트 서비스(116a) 간의 연결(124a)를 설정하면, 클라이언트 에이전트(128), 제1 프로토콜 서비스, 또는 둘 다는 연결(120)을 통해 가장 최근에 전송된 제1 프로토콜 데이터 패킷의 큐를 유지하도록 구성된다. 예를 들어, 큐된 데이터 패킷은 연결(120)의 실패 이전이나 실패시에 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)에 의해 보유될 수 있다. 더구나, 연결(120)의 실패시, 제1 프로토콜 서비스(112) 및 유사하게 호스트 서비스(116a)는 연결(124a)을 보유하도록 구성된다.
연결(120)의 실패에 이어서, 클라이언트(108)는 어느 데이터나 손실하지 않고도 제1 프로토콜 서비스(112)와의 새로운 연결(120)을 설정한다. 더욱 상세하게 설명하면, 연결(124a)이 연결(120)의 실패시 보유되기 때문에, 새로 설정된 연결(120)은 이 보유된 연결(124a)에 링크될 수 있다. 또한, 가장 최근에 전송된 제1 프로토콜 데이터 패킷이 큐되기 때문에, 이들은 새로 설정된 연결(120)을 통해 클라이언트(108)에 의해 제1 프로토콜 서비스(112)에 및/또는 제1 프로토콜 서비스(112)에 의해 클라이언트(108)에 전송될 수 있다. 이와 같이, 제1 프로토콜 서비스(112)를 통한 호스트 서비스(116a)와 클라이언트(108) 사이의 통신 세션은 데이터 손실 없이 지속 진행된다.
일 실시예에서, 클라이언트(108)의 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)는 이들이 연결을 통해 전송하는 데이터 패킷를 넘버링한다. 예를 들어, 클라이언트 에이전트(128)와 제1 프로토콜 서비스(112) 각각은 개별적으로 그 자신의 전송된 데이터를 패킷을, 다른 것이 그 데이터 패킷을 어떻게 넘버링하는지에 상관하지 않고 넘버링한다. 더욱, 데이터 패킷의 넘버링은 데이터 패킷의 재넘버링 없이 절대적일 수 있는데, 즉 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)에 의해 전송된 제1 데이터 패킷은 번호 1로 넘버링될 수 있으며, 각 데이터 패킷은 그 후에 연속하여 넘버링된 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)에 의해 각각 연결(120)을 통해 전송된다.
이런 일 실시예에서는, 끊겨져 재설정된 연결(120)에 이어서, 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)는 다른 것에게 필요로 하는 다음 데이터 패킷을 다른 것에게 알린다. 예를 들어, 클라이언트 에이전트(128)가 연결(120)의 끊김 이전에 데이터 패킷 번호 1-10을 수신하는 경우, 클라이언트 에이전트(128)는 연결(102)의 재설정시, 제1 프로토콜 서비스(112)에게 데이터 패킷 번호 11를 현재 필요로 한다고 알려준다. 유사하게, 제1 프로토콜 서비스(112)는 또한 이와 같이 동작할 수 있다. 다르게, 이런 다른 실시예에서는, 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)는 다른 것에게 수신된 마지막 데이터 패킷을 알려준다. 예를 들어, 클라이언트 에이전트(128)가 연결(120)의 끊김 이전에 데이터 패킷 번호 1-10을 수신하는 경우, 클라이언트 에이전트(128)는 연결(120)의 재설정시 제1 프로토콜 서비스(112)에게 데이터 패킷 번호 10를 마지막에 수신했다고 알려준다. 다시, 제1 프로토콜 서비스(112)는 또한 이와 같이 동작할 수 있다. 또 다른 실시예에서, 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)는 다른 것에게 연결(120)의 재설정시 수신된 마지막 데이터 패킷과 필요로 하는 다음 데이터 패킷을 알려준다.
이런 실시예에서는, 연결(120)의 재설정시, 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)는 다른 것에 의해 수신되지 않은 버퍼링 데이터 패킷을 재전송할 수 있어, 호스트 서비스(116)와 클라이언트(108) 사이의 통신 세션이 제1 프로토콜 서비스(112)를 통해 데이터 손실 없이 진행될 수 있게 한다. 더욱, 연결(120)의 재설정시, 클라이언트 에이전트(128) 및/또는 제1 프로토콜 서비스(112)는 이들의 각 버퍼로부터 다른 것에 의해 수신된 것으로 현재 알려진 버퍼링 데이터 패킷을 플러시할 수 있다.
도 5는 상술된 바와 같이, 클라이언트(108)를 호스트 서비스(116)에 재연결할 수 있는 시스템(400)의 다른 실시예를 도시한다. 상술되어 있는 네트워크(104 및 104'), 클라이언트(108), 제1 프로토콜 서비스(112) 및 호스트 서비스(116)에 부가하여, 시스템(400)은 중간 노드(132), 및 티켓 기관(136)을 더 포함한다. 일 실시예에서, 중간 노드(132)는 예를 들어, 클라이언트(108)와 제1 프로토콜 서비스(112) 간의 메시지가 네트워크(104)의 구성으로 인해 통과해야 하는 방화벽 및/또는 라우터와 같은 보안 게이트웨이이다. 티켓 기관(136)은 나타낸 바와 같이, 통신이 가능하며 여기 기재된 동작을 실행하는 데에 충분한 프로세서 파워와 메모리 용량을 갖는 자립형 네트워크 구성 요소일 수 있다.
도 5의 실시예에서 나타낸 바와 같이, 중간 노드(132)는 클라이언트(108)에 의해 초기화된 연결(120a)을 수용하며 제1 프로토콜 서비스(112)와의 제2 연결(120b)을 설정하도록 구성된다. 이와 함께, 연결(120a) 및 제2 연결(120b)은 상술된 바와 같이, 제1 프로토콜을 이용하여 클라이언트(108)와 제1 프로토콜 서비스(112)가 통신하는 연결(120)을 구성한다.
나타낸 바와 같이, 중간 노드(132)는 티켓 기관(136)과 통신하도록 구성된다. 일 실시예에서, 티켓 기관(136)은 중간 노드(132)로부터의 제1 재연결 티켓의 요청을 수신하고 그 후에 제1 재연결 티켓을 형성하도록 구성된다. 제1 재연결 티켓은 예를 들어, 큰 난수를 포함할 수 있다.
다른 실시예에서, 티켓 기관(136)은 핸들을 형성하도록 구성된다. 핸들은 예를 들어, 제1 재연결 티켓과 관련 (예를 들어, 매핑)되는 난수일 수 있다. 일 실시예에서, 핸들은 제1 재연결 티켓을 형성하는 난수 보다 더 작은 나수이다. 예를 들어, 핸들은 32비트 난수일 수 있다. 티켓 기관(136)은 제1 재연결 티켓의 카피와 핸들의 카피를 유지하면서, 제1 재연결 티켓과 핸들을 중간 노드(132)에 전송한다. 제1 재연결 티켓의 카피는 클라이언트(108)을 재연결하는 프로세스 동안 티켓 기관(136)에 나중에 제시될 때 클라이언트(108)에게 원래 전송된 제1 재연결 티켓을 확인하기 위해서 티켓 기관(136)에 의해 나중에 이용된다. 일 실시예에서, 티켓 기관(136)은 제1 프로토콜 서비스(112)의 주소를 유지하고, 이는 후술되는 바와 같이, 제1 재연결 티켓과 관련되며, 제1 재연결 티켓의 확인시 중간 노드(132)에 전송된다.
일 실시예에서, 중간 노드(132)는 또한 티켓 기관(136)에 유지된 제1 재연결 티켓의 카피를 삭제하기 위해 티켓 기관(136)에 의해 전송된 핸들을 이용하도록 구성된다. 다른 실시예에서는 후술되는 바와 같이, 티켓 기관(136)은 클라이언트(108)를 호스트 서비스(116)에 연결하는 프로세스 동안, 제1 재연결 티켓을 삭제한 후에 교체 제1 재연결 티켓을 형성하도록 구성된다. 부가하여, 다른 실시예에서, 제1 재연결 티켓은 미리 결정된 기간 이후 자동 삭제되게 구성된다.
다른 실시예에서, 제1 프로세스 서비스(112)는 제2 재연결 티켓을 형성하도록 구성되고, 이는 제1 재연결 티켓의 경우와 같이, 예를 들어, 큰 난수를 포함할 수 있다. 제1 프로토콜 서비스(112)는 또한 제2 재연결 티켓과 세션 번호의 카피를 유지하면서, 제2 재연결 티켓을 클라이언트(108)에 전송하도록 구성될 수 있다. 제2 재연결 티켓의 카피는 나중에 클라이언트(108)를 재연결하는 프로세스 동안 나중에 제1 프로토콜 서비스(112)에 제시될 때 클라이언트(108)에게 원래 전송되었던 제2 재연결 티켓을 확인하기 위해서 제1 프로토콜 서비스(112)에 의해 이용된다. 일 실시예에서, 제1 프로토콜 서비스(112)는 중간 노드(132)를 거쳐 제2 재연결 티켓을 클라이언트(108)를 전송한다. 다른 실시예에서, 제1 프로토콜 서비스(112)는 제2 재연결 티켓을 클라이언트(108)에 직접 전송한다. 더구나, 이하 더욱 상세히 설명되는 바와 같이, 제1 프로토콜 서비스(112)는 클라이언트(108)를 호스트 서비스(116)에 재연결하는 프로세스 동안, 제2 재연결 티켓을 삭제하고, 그 후에 교체 제2 재연결 티켓을 형성하도록 구성될 수 있다. 부가하여, 다른 실시예에서, 제2 재연결 티켓은 미리 결정된 기간 이후 자동 삭제되게 구성된다.
일 실시예에서, 중간 노드(132)는 제1 및 제2 재연결 티켓을 위한 중간자로 작용한다. 중간 노드(132)는 예를 들어, 티켓 기관(136)에 의해 형성된 제1 재연결 티켓과 제1 프로토콜 서비스(112)에 의해 형성된 제2 재연결 티켓을 수신한다. 중간 노드(132)는 다음에 제1 재연결 티켓과 제2 재연결 티켓을 클라이언트(108)에 전송할 수 있다. 더욱, 클라이언트(108)를 호스트 서비스(116)에 재연결하는 프로세스 중에, 중간 노드(132)는 제1 재연결 티켓 및 제2 재연결 티켓을 클라이언트(108)로부터 수용한 후에 티켓 기관(136)에 제1 재연결 티켓을, 적당하다면 제2 재연결 티켓을 제1 프로토콜 서비스(112)에 전송할 수 있다.
클라이언트(108)를 호스트 서비스(116)에 재연결하는 프로세스 및 제1 및 제2 재연결 티켓의 이용을, 도 7-10을 참조하여 후술되는 방법을 참조하여 이하 설명한다.
도 6A를 참조하면, 네트워크 통신을 위한 시스템(500)의 다른 실시예는 상술된 바와 같이, 네트워크(104 및 104'), 클라이언트(108), 제1 프로토콜 서비스(112), 호스트 서비스(116), 중간 노드(132) 및 티켓 기관(136)을 포함하고, 또한 제1 컴퓨팅 노드(140)와 제2 컴퓨팅 노드(144)를 도시하고 있으며, 이들 둘다는 일 실시예에서, 클라이언트(108)를 호스트 서비스(116)에 초기 연결하기 위해 이용된다. 더욱, 도 6A의 실시예에서, 클라이언트(108)는 예를 들어, 월드 와이드 웹에 연결하기 위해 워싱톤 레드몬드 소재의 마이크로소프트사의 INTERNET EXPLORER 프로그램과 같은 웹 브라우저(148)를 더 포함한다.
일 실시예 (도시 생략)에서, 시스템(500)은 둘 이상의 중간 노드(132) 및/또는 둘 이상의 제1 프로토콜 서비스(112)를 포함한다. 클라이언트(108)와 제1 프로토콜 서비스(112) 간에 메시지가 통과해야 하는 중간 노드(132) 및/또는 제1 프로토콜 서비스(112)는 후술되는 바와 같이, 예를 들어 부하 균형 방정식에 기초하여 선택될 수 있다.
제1 컴퓨팅 노드(140)와 제2 컴퓨팅 노드(144) 각각은 통신이 가능하며 여기 기재된 동작을 실행하는 데에 충분한 프로세서 파워와 메모리 용량을 갖는 어느 컴퓨팅 장치나 가능하다. 예를 들어, 일 실시예에서, 제1 컴퓨팅 노드(140)는 하나 이상의 웹 사이트를 제공하는 웹 서버이다. 다른 실시예에서, 제2 컴퓨팅 노드(144)는 XML 서비스를 제공한다.
일 실시예에서, 클라이언트(108) 및 네트워크(104)는 파선으로 나타낸 제1 방화벽(156)에 의해 시스템(500)의 나머지와는 별개인, 외부 네트워크(152)를 형성한다. 중간 노드(132) 및 제1 컴퓨팅 노드(140)는 점선으로 또한 나타낸 제1 방화벽(156) 및 제2 방화벽(164)으로 시스템(500)의 나머지와 분리된 "비무장 지대"(160) (즉, 회사의 개인망과 공중망 간에 위치된 네트워크 영역)에 위치될 수 있다. 다음에, 나타낸 바와 같이, 네트워크(104'), 제1 프로토콜 서비스(112), 호스트 서비스(116a-116n), 티켓 기관(136), 및 제2 컴퓨팅 노드(144)는 제2 방화벽(164)에 의해 시스템(100)의 나머지와 분리된 내부 네트워크(168)를 형성한다.
다르게, 도 6B를 참조한 다른 실시예에서, 시스템(500)은 네트워크(104)와 중간 노드(132) 사이에, 비무장 지대에 위치된 제3 컴퓨팅 노드(146)를 더 포함한다. 제3 컴퓨팅 노드(146)는 네트워크화 통신이 가능하며 여기 기재된 동작을 실행하는 데에 충분한 프로세서 파워와 메모리 용량을 갖는 어느 컴퓨팅 장치가 가능하다. 후술되는 바와 같이, 제3 컴퓨팅 노드(146)는 몇 실시예에서는 클라이언트(108)를 호스트 서비스(116)에 초기 연결하는 프로세스 및/또는 클라이언트(108)를 호스트 서비스(116)에 재연결하는 프로세스 동안 이용된다. 더욱 구체적으로, 후술되는 바와 같이, 시스템이 둘 이상의 중간 노드(132)를 포함하는 경우, 제3 컴퓨팅 노드(146)는 부하 균형 방정식에 기초하여, 클라이언트의(108)의 클라이언트 에이전트(128)와 제1 프로토콜 서비스(112) 간의 통신이 통과해야 하는 중간 노드(132)를 선택할 수 있다.
더욱, 도 6C를 참조하면, 도 6B의 중간 노드(132)는 다른 실시예에서, 중간 노드(132)의 둘 이상의 레벨 "a"-"n"로 대체될 수 있다. 나타낸 바와 같이, 각 레벨 "a"-"n"은 둘 이상의 중간 노드(132a-132n)를 포함할 수 있다. 후술되는 바와 같이, 클라이언트(108)의 클라이언트 에이전트(128)는 예를 들어, 부하 균형 방정식에 기초하여 중간 노드(132)의 조합을 통해 라우트될 수 있다. 예를 들어, 나타낸 바와 같이, 클라이언트 에이전트(128)는 연결(122)을 통해 중간 노드(132)를 거쳐 라우트된다. 시스템(500)의 다른 구성이 당업자에게는 명백하게 되는 바와 같이, 또한 가능하다.
도 6A를 다시 참조하면, 일 실시예에서, 웹 브라우저(148)는 제1 컴퓨팅 노드(140)과 네트워크(104)를 통해 통신하고, 이 노드 자체는 제2 컴퓨팅 노드(144)와 티켓 기관(136)과 인터페이스한다. 더욱 구체적으로, 제1 컴퓨팅 노드(140)는 제2 컴퓨팅 노드와 티켓 기관(136)의 주소로 구성된다. 일 실시예에서, 후술되는 바와 같이, 제1 컴퓨팅 노드(140)는 클라이언트(108)의 웹 브라우저(148), 제2 컴퓨팅 노드(144) 및 티켓 기관(136) 사이의 정보를 릴레이하고, 이로 인해 직접적인 통신을 방지하도록 구성된다. 이렇게 직접적 통신을 방지함으로써, 제1 컴퓨팅 노드(140)는 부가의 보안 레벨을 시스템(500)에 부가한다. 제1 컴퓨팅 노드(140)는 또한 중간 노드(132)의 주소, 또는 둘 이상의 중간 노드(132)의 주소로 구성될 수 있다.
제2 컴퓨팅 노드(144)는 호스트 서비스(116)에서 실행되는 어플리케이션 프로그램 중 어느 것이 클라이언트(108)의 유저에게 가능한지를 결정하도록 구성된다. 다시 말해, 제2 컴퓨팅 노드(144)는 어플리케이션 프로그램 중 어느 것을 유저가 액세스하도록 인가되었는지를 판정하도록 구성된다. 일 실시예에서, 유저가 그의 원하는 어플리케이션 프로그램을 선택한 후에, 제2 컴퓨팅 노드(144)는 호스트 서비스 중 어느 것이 부하 균형의 목적을 위해 유저가 원하는 어플리케이션을 실행하는 데에 이용되게 되는지를 결정하도록 구성된다. 제2 컴퓨팅 노드(144)는 그 호스트 서비스(116)의 주소를 제1 컴퓨팅 노드(140)로 보낸다. 제2 컴퓨팅 노드(144)는 또한 부하 균형 방정식을 이용하여 복수의 제1 프로토콜 서비스(112) 중에서 선택될 수 있는 제1 프로토콜 서비스(112)의 주소를, 제1 컴퓨팅 노드(140)로 보낸다. 다음에, 제1 컴퓨팅 노드(140)는 선택된 제1 프로토콜 서비스(112)와 선택된 호스트 서비스(116)의 주소를 티켓 기관(136)에 전송한다.
티켓 기관(136)은 연결 티켓을 형성한다. 일 실시예에서, 티켓 기관(136)은 클라이언트(108)에의 전송을 위해 초기 연결 티켓을 제1 컴퓨팅 노드(140)에 전송한다. 다른 실시예에서, 티켓 기관은 제1 재연결 티켓을 중간 노드(132)에 전송한다.
클라이언트(108)를 호스트 서비스(116)에 초기 연결하는 프로세스 및 티켓 기관(136), 제1 컴퓨팅 노드(140), 제2 컴퓨팅 노드(144) 및 제3 컴퓨팅 노드(146)의 역활을 후술한다.
이하 도 7을 참조하여, 도 6A-6C의 실시예를 이용하여 네트워크 통신을 위한 방법(600)의 일 실시예를 나타낸다. 단계 604에서, 클라이언트(108)는 예를 들어, 후술되는 방법(700)을 이용하여 복수의 호스트 서비스(116)를 초기 연결한다. 클라이언트(108)가 복수의 호스트 서비스(116)에 연결된 후에, 클라이언트(108)와 호스트 서비스(116)는 제1 프로토콜 서비스(112)를 통해 그리고 단계 608에서 제1 프로토콜 내에 캡슐화된 복수의 이차 프로토콜을 통해 통신하다. 일 실시예에서, 제1 프로토콜 서비스(112)는 제1 프로토콜 패킷의 전송 이전에 제1 프로토콜(204)의 레벨에서의 통신을 암호화하고, 이로 인해 통신을 보안하게 된다. 다른 실시예에서, 제1 프로토콜 서비스(112)는 제1 프로토콜 패킷의 전송 이전에, 제1 프로토콜의 레벨에서의 통신을 압축하고, 이로 인해 통신 효율을 개선할 수 있다.
단계 612에서, 클라이언트 에이전트(128)는 클라이언트 에이전트(128)와 제1 프로토콜 에이전트(112) 간의 연결(120)이 실패했는지를 판정한다. 예를 들어, 클라이언트 에이전트(128)와 중간 노드(132) 사이의 연결(120a)이 실패할 수 있고, 중간 노드(132)와 제1 프로토콜 서비스(112) 간의 연결(120b)이 실패할 수 있고, 또는 연결(120a)과 연결(120b) 둘 다가 실패할 수 있다. 클라이언트 에이전트(128)가 연결(120)이 실패하지 않았다고 결정하게 되면, 이 방법(600)은 단계(620)으로 진행한다. 한편, 클라이언트 에이전트(128)가 연결(120)이 실패했다고 결정하면, 단계 616에서 클라이언트(108)에 호스트 서비스(116)와의 신뢰성 연결이 제공되어 호스트 서비스(116)에 재연결된다.
단계 620에서, 클라이언트(108)가 제1 프로토콜 서비스(112)와의 연결(120)을, 이에 이어서 호스트 서비스(116)와의 연결(124a-124n)을 종료하길 원하는지가 결정된다. 그렇지 않다면, 제1 프로토콜 내에 캡슐화된 복수의 이차 프로토콜을 거친 클라이언트(108)와 제1 프로토콜 서비스(112) 간의 통신이 단계 608에서 계속된다. 그렇다면, 단계 624에서, 모든 연결(120a, 120b 및 124a-124n)이 파손되고 모든 연결 티켓이 삭제된다. 일 실시예에서, 중간 노드(132)는 티켓 기관(136)으로부터 수신한 핸들을 이용하여 티켓 기관(136)에서 유지된 제1 재연결 티켓의 카피를 삭제한다. 다른 실시예에서, 제1 프로토콜 서비스(112)는 제1 프로토콜 서비스(112)에 유지된 제2 재연결 티켓의 카피를 삭제한다.
다른 실시예에서는, 동일한 이유로 이차 프로토콜 연결(124)이 실패하면, 이와 관련되어 제1 프로토콜 서비스(112)에 유지되는 이차 재연결 티켓의 카피가 제1 프로토콜 서비스(112)에 의해 삭제된다. 또 다른 실시예에서, 제1 재연결 티켓 및/또는 제2 재연결 티켓은 단계 612에서와 같이 연결(12)의 실패 및/또는 단계 620에서와 같이 완전한 연결 종료 이후 미리 정해진 주기 경과 후에 자동으로 삭제된다.
도 8A-8C을 참조하면, 도 6A-6C의 예시의 실시예를 이용하여 클라이언트(108)를 호스트 서비스(116)에 초기 연결하기 위한 방법(700)의 일 실시예가 도시된다 (예를 들어, 도 7의 단계 604에서).
단계 704에서, 클라이언트(108)는 브라우저(148)를 이용하여 예를 들어, HTTP 요청과 같은 요청을 제1 컴퓨팅 노드(140)에 보낸다. 제1 컴퓨팅 노드(140)는 예를 들어, HTML과 같은 웹페이지를 인증 정보 (예를 들어, 유저이름과 패스워드)를 요청하는 HTML 폼을 보낸다. 클라이언트(108)의 유저는 그의 자격 증명을 기입하고 완성된 폼을 제1 컴퓨팅 노드(140)에 전송한다.
제1 컴퓨팅 노드(140)는 단계 708에서, 유저에게 실행이 가능한 어플리케이션의 클라이언트(108)를 알려준다. 일 실시예에서, 제1 컴퓨팅 노드(140)는 유저의 자격 증명을 로그인 페이지로부터 추출하여 이를 유저에게 가능한 어플리케이션을 표시하기 위한 제2 컴퓨팅 노드(144)의 요청과 함께 제2 컴퓨팅 노드(144)에 전송한다. 유저의 자격 증명에 기초하여, 제2 컴퓨팅 노드(144)는 유저에게 가능한 특정 어플리케이션의 리스트를 제1 컴퓨팅 노드(140)에 보내고, 다음에 이 리스트를 예를 들어, 웹 페이지의 형태로 클라이언트(108)의 유저에게 보낸다.
단계 712에서, 유저는 원하는 어플리케이션을 선택하고, 이 어플리케이션의 요청을 제1 컴퓨팅 노드(140)에 보낸다. 예를 들어, 일 실시예에서, 유저는 제1 컴퓨팅 노드(140)에 의해 그에게 제시된 웹 페이지에 목록된 원하는 어플리케이션을 클릭하고 그 어플리케이션의 HTTP 요청을 제1 컴퓨팅 노드(140)에 보낸다. 요청은 제1 컴퓨팅 노드(140)에 의해 처리되며 제2 컴퓨팅 노드(144)에 보내진다.
단계 716에서, 제2 컴퓨팅 노드(144)는 원하는 어플리케이션이 실행되게 될 호스트 서비스(116)를 결정한다. 제2 컴퓨팅 노드(144)는 이 결정이 예를 들어, 부하 균형 방정식에 기초하도록 할 수 있다. 일 실시예에서, 제2 컴퓨팅 노드(144)는 또한 연결(124)를 거쳐 호스트 서비스(116)와 통신하는 데에 이용되게 되는 복수의 제1 프로토콜 서비스(112) 중에서 제1 프로토콜 서비스(112)를 결정한다. 다시, 제2 컴퓨팅 노드(144)는 그 결정을 예를 들어, 부하 균형 방정식에 기초하도록 할 수 있다. 제2 컴퓨팅 노드(144)는 선택된 호스트 서비스(116)와 선택된 제1 프로토콜 서비스(112)의 주소를 제1 컴퓨팅 노드(140)에 보낸다.
단계 720에서, 클라이언트(108)는 초기 연결 티켓과 중간 노드(132)의 주소 (후술되는 바와 같이, 실제 주소나 가상 주소임)가 제공된다. 일 실시예에서, 제1 컴퓨팅 노드(140)는 선택된 호스트 서비스(116)와 선택된 제1 프로토콜 서비스(112)의 주소를, 초기 연결 티켓의 요청과 함께 티켓 기관(136)에 보낸다. 티켓 기관(136)은 선택된 호스트 서비스(116)와 선택된 제1 프로토콜 서비스(112)의 주소를 유지하고, 초기 연결 티켓을 형성하고, 이 초기 연결 티켓을 그 자체의 카피를 유지하면서 제1 컴퓨팅 노드(140)에 전송한다.
일 실시예에서, 중간 노드(132)의 실제 주소로 구성된 제1 컴퓨팅 노드(140)는 중간 노드(132)의 실제 주소와 초기 연결 티켓를 클라이언트(108)의 브라우저(148)에 전송한다. 제1 컴퓨팅 노드(140)는 예를 들어, 중간 노드(132)의 실제 주소와 초기 연결 티켓 둘 다를 함유하는 파일을 먼저 형성한 다음에 클라이언트(108)의 브라우저(148)에 파일을 전송할 수 있다. 선택적으로, 다른 실시예에서, 제1 컴퓨팅 노드(140)는 둘 이상의 중간 노드(132)의 실제 주소로 구성된다. 이 실시예에서, 제1 컴퓨팅 노드(140)는 먼저 클라이언트(108)와 제1 프로토콜 서비스(112) 간의 메시지가 통과해야 하는 중간 노드(132)를 먼저 결정한다. 제1 컴퓨팅 노드(140)는 다음에 이 선택된 중간 노드(132)의 실제 주소와 초기 연결 티켓을 예를 들어, 상술된 파일을 이용하여 클라이언트(108)의 브라우저(148)에 전송한다. 일 실시예에서, 제1 컴퓨팅 노드(140)는 부하 균형 방정식을 이용하여 중간 노드(132)를 선택한다. 클라이언트(108)의 클라이언트 에이전트(128)가 다음에 론치되고 중간 노드(132)의 주소를 이용하여 단계 724에서 클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(132) 간의 제1 프로토콜 연결(120a)을 설정한다.
다른 실시예에서는, 제1 컴퓨팅 노드(140)가 중간 노드(132)의 실제 주소로 작용하는 제3 컴퓨팅 노드(146)의 실제 주소로 구성된다. 이런 실시예에서, 제1 컴퓨팅 노드(140)는 단계 720에서, 제3 컴퓨팅 노드(146)의 실제 주소와 초기 연결 티켓을 예를 들어, 상술된 파일을 이용하여 클라이언트(108)의 브라우저(148)에 전송한다. 클라이언트(108)의 클라이언트 에이전트(128)가 다음에 론치되고 제3 컴퓨팅 노드(146)의 실제 주소를 이용하여 단계 724에서, 클라이언트(108)의 클라이언트 에이전트(128)와 제3 컴퓨팅 노드(146) 간의 제1 프로토콜 연결을 설정하게 된다. 제3 컴퓨팅 노드(146)는 다음에 클라이언트(108)와 제1 프로토콜 서비스(112) 간의 메시지가 통과해야만 하는 중간 노드(112)를 결정한다. 일 실시예에서, 제3 컴퓨팅 노드(146)는 부하 균형 방정식을 이용하여 중간 노드(132)를 선택한다. 중간 노드(132)를 선택하면, 제3 컴퓨팅 노드(146)는 중간 노드(132)와의 제1 프로토콜 연결을 설정한다. 따라서 제1 프로토콜 연결(120a)은 클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(132) 사이에 제3 컴퓨팅 노드(146)을 통해 존재한다. 따라서 제3 컴퓨팅 노드(146)의 실제 주소는 중간 노드(132)의 실제 주소에 매핑된다. 따라서 클라이언트(108)의 클라이언트 에이전트(128)에는 제3 컴퓨팅 노드(146)의 실제 주소가 중간 노드(132)의 가상 주소로 작용하게 된다.
일 실시예에서, 중간 노드(132)의 하나 이상의 레벨이 존재하는 경우, 제1 컴퓨팅 노드(140) 또는 제3 컴퓨팅 노드(146)는 각각 클라이언트 에이전트(128)이 레벨 "a"에서 연결되게 되는 중간 노드(132)를 선택한다. 이 실시예에서, 레벨 "a"-"n-1" 각각에서, 클라이언트 에이전트(128)가 그 레벨에서 라우트되는 중간 노드(132)는 부하 균형 방정식에 기초하여, 다음 레벨에서 연결되게 되는 중간 노드(132)를 결정하게 된다. 다른 실시예에서는, 제1 컴퓨팅 노드(140) 또는 제3 컴퓨팅 노드(146)가 각각 하나 이상 또는 모든 레벨 "a"-"n"에 대해, 클라이언트 에이전트(128)가 라우트되게 되는 중간 노드(132)를 결정한다.
클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(132), 예를 들어, 레벨 "n"에서의 중간 노드(132) 간에 제1 프로토콜 연결(120a)을 설정하게 되면, 클라이언트 에이전트(128)는 중간 노드(132)에 초기 연결 티켓을 전송한다.
단계 728에서, 초기 연결 티켓이 유효한지가 판정된다. 일 실시예에서, 중간 노드(132)는 초기 연결 티켓의 확인을 위해 티켓 기관(136)에 전송한다. 일 실시예에서, 티켓 기관(136)은 초기 연결 티켓의 유효성을, 단계 720에서 보유된 초기 연결 티켓의 카피와 비교하여 판정한다. 티켓 기관(136)이 초기 연결 티켓이 유효하다고 판정한 경우, 티켓 기관(136)은 단계 732에서, 제1 프로토콜 서비스(112)의 주소와 선택된 호스트 서비스(116)의 주소를 중간 노드(132)에 전송한다. 제1 프로토콜 서비스(112)는 또한 초기 연결 티켓과 그 카피를 삭제할 수 있다. 한편, 티켓 기관(136)이 초기 연결 티켓이 무효라고 판정하면, 클라이언트(108)는 단계 730에서, 제1 프로토콜 서비스(112)와의 연결이, 이에 따라 호스트 서비스(116)와의 연결이 거절된다.
단계 732에 이어, 중간 노드(132)는 선택된 제1 프로토콜 서비스(112)의 주소를 이용하여, 단계 736에서 중간 노드(132)와 제1 프로토콜 서비스(112) 간의 제1 프로토콜 연결(120b)을 설정한다. 따라서 제1 프로토콜 연결(120)은 클라이언트(108)의 클라이언트 에이전트(128)와 제1 프로토콜 서비스(112) 사이에 중간 노드(132)를 통해 존재한다. 중간 노드(132)는 또한 선택된 호스트 서비스(116)의 주소를 제1 프로토콜 서비스(112)에 보낼 수 있다.
일 실시예에서, 단계 740에서, 제1 프로토콜 서비스(112)는 선택된 호스트 서비스(116)의 주소를 이용하여 제1 프로토콜 서비스(112)와 선택된 호스트 서비스(116) 간의 이차 프로토콜 연결(124)을 설정한다. 예를 들어, 선택된 호스트 서비스(116)는 사실상 호스트 서비스(116a)이고 이차 프로토콜 연결(124a)은 제1 프로토콜 서비스(112)와 호스트 서비스(116a) 간에 설정된다.
일 실시예에서, 단계 740에 이어, 유저는 단계 744에서 실행될 제2 어플리케이션을 선택하고 제2 컴퓨팅 노드(144)는 단계 748에서 제2 어플리케이션이 실행되게 되는 호스트 서비스(116)를 결정한다. 예를 들어, 부하 균형 방정식을 연산하여, 제2 컴퓨팅 노드(144)는 제2 어플리케이션 프로그램을 호스트 서비스(116b)를 선택하여 실행할 수 있다. 제2 컴퓨팅 노드(144)는 다음에 선택된 호스트 서비스(116b)의 주소를 제1 프로토콜 서비스(112)에 전송한다. 일 실시예에서, 제2 컴퓨팅 노드(144)는 제1 프로토콜 서비스(112)와 직접적으로 통신하며 여기에 바로 주소를 전송한다. 다른 실시예에서, 선택된 호스트 서비스(116b)의 주소는 제1 프로토콜 서비스(112)에 간접적으로 전송된다. 예를 들어, 주소는 제1 컴퓨팅 노드(140), 티켓 기관(136), 중간 노드(132) 및 제1 프로토콜 서비스(112)의 조합을 통해 제1 프로토콜 서비스(112)에 전송될 수 있다. 선택된 호스트 서비스(116b)의 주소를 수신한 후에, 제1 프로토콜 서비스(112)는 단계 752에서, 제1 프로토콜 서비스(112)와 선택된 호스트 서비스(116b) 간의 이차 프로토콜 연결(124b)을 설정한다.
연결(124a 및 124b)을 통해 통신하는 데에 이용될 수 있는 이차 프로토콜은 이에만 제한되는 것은 아니지만, HTTP, FTP, Oscar, Telnet, ICA 및 RDP를 포함한다. 더구나, 일 실시예에서, 상술된 바와 같이, 이차 프로토콜 중 적어도 하나는 복수의 가상 채널을 포함하고, 이들 각각은 원격 클라이언트(108)에서의 기능을 가능하게 하는 복수의 프로토콜 패킷을 포함할 수 있다. 예를 들어, 일 실시예에서, 하나의 호스트 서비스(116a)는 HTTP 프로토콜을 이용하여 연결(124a)을 통해 제1 프로토콜 서비스(112)와 통신하는 웹 서버이고, 다른 호스트 서비스(116b)는 ICA 프로토콜을 이용하여 연결(124b)를 통해 제1 프로토콜 서비스와 통신하는 어플리케이션 서버이다. 호스트 서비스(116b)는 클라이언트가 그래픽 유저 인터페이스를 표시하도록 하기 위해, 클라이언트(108)에 그래픽 스크린 명령을 전송하기 위한 프로토콜 패킷과, 문서가 클라이언트(108)에서 인쇄되게 하기 위해 클라이언트(108)에 프린터 명령을 전송하기 위한 프로토콜 패킷 둘 다를 형성한다.
단계(744, 748, 및 752)는 임의의 회수 반복될 수 있다. 이와 같이, 몇개의 어플리케이션 프로그램은 몇 개의 호스트 서비스(116a-116n) 상에서 실행될 수 있으며, 이들의 출력은 몇 개의 이차 프로토콜을 이용하여 연결(124a-124n)을 통해 제1 프로토콜 서비스(112)에 통신될 수 있다. 이하 단계 756을 참조하면, 제1 프로토콜 서비스(112)는 상술된 바와 같이, 제1 프로토콜 내에 복수의 이차 프로토콜을 캡슐화할 수 있다. 이와 같이, 클라이언트(108)는 복수의 호스트 서비스(116)에 연결되고 동시에 이와 통신한다.
다른 실시예에서, 예를 들어, 호스트 서비스(116b)와 같은 호스트 서비스(116) 상에서 새로운 어플리케이션 프로그램을 행하는 단계(744, 748 및 752)를 실행하기 이전에, 클라이언트(108)의 유저는 예를 들어, 호스트 서비스(116a) 상에서 실행하는 어플리케이션 프로그램과 같은 다른 어플리케이션 프로그램의 실행을 끝낸다. 이런 경우, 제1 프로토콜 서비스(112)는 제1 프로토콜 서비스(112)와 호스트 서비스(116a) 사이의 연결(124a)을 끊는다. 제1 프로토콜 서비스(112)는 다음에 클라이언트(108)와 제1 프로토콜 서비스(112) 간의 연결(120)을 차단하지 않고도, 단계(744, 748 및 752)를 실행함으로써, 제1 프로토콜 서비스(112)와 호스트 서비스(116b) 간의 연결(124b)을 설정한다.
일 실시예에서, 제1 재연결 티켓이 단계 760에서 형성된다. 예를 들어, 중간 노드(132)는 티켓 기관(136)으로부터 제1 재연결 티켓을 요청한다. 요청의 수신시, 티켓 기관(136)은 예를 들어, 큰 난수인 제1 재연결 티켓을 형성하고, 또한 예를 들어, 작은 난수인 핸들을 또한 형성할 수 있다. 티켓 기관(136)은 단계 764에서, 제1 재연결 티켓의 카피와 핸들의 카피를 유지하면서, 중간 노드(132)에 제1 재연결 티켓과 핸들을 전송할 수 있다. 티켓 기관(136)은 단계 720에서 제1 컴퓨팅 노드(140)에 의해 전송된 제1 프로토콜 서비스(112)의 주소를 계속 보유한다. 다음에 중간 노드(132)는 단계 768에서 클라이언트(108)에게 제1 재연결 티켓을 전송한다.
단계 772에서, 제2 재연결 티켓이 다음에 형성된다. 일 실시예에서, 제1 프로토콜 서비스(112)는 예를 들어, 큰 난수일 수 있는 제2 재연결 티켓을 형성한다. 제1 프로토콜 서비스(112)는 단계 776에서, 중간 노드(132)를 통해 제2 재연결 티켓을 클라이언트(108)에 전송한다. 이렇게 행할 때, 제1 프로토콜 서비스(112)는 연결(120)의 끊김 이후 재연결되는 세션을 구별하기 위해 제2 재연결 티켓의 카피와 이와 관련되는 세션 번호를 보유한다. 일 실시예에서, 예를 들어, 제1 프로토콜 서비스(112)는 특정 세션 번호에 대해, 그 세션 번호와 관련되는 이차 프로토콜 연결(124a-124n)을 목록화한 표를 보유한다. 따라서, 후술하는 바와 같이, 제1 프로토콜 서비스(112)에서 제1 프로토콜 연결(120)의 재설정과 제2 재연결 티켓의 확인에 이어, 제1 프로토콜 서비스(112)는 클라이언트(108)와의 통신을 위해 재설정된 제1 프로토콜 연결(120) 내에 캡슐화되는 이차 프로토콜 연결(124)을 식별할 수 있다.
다른 실시예로, 도 1A를 다시 참조하면, 본 발명의 시스템(100)은 중간 노드(132), 티켓 기관(136), 또는 제3 컴퓨팅 노드(146)를 포함하지 않는다. 이 실시예에서는, 단계 760 내지 776에서 제1 및 제2 재연결 티켓 둘 다를 형성 및 전송하는 것이 아니고, 시스템(100) 및 방법(700)은 하나의 재연결 티켓만을 제공한다. 이런 일 실시예에서, 제1 프로토콜 서비스(112)는 예를 들어, 큰 난수일 수 있는 하나의 재연결 티켓을 형성한다. 제1 프로토콜 서비스(112)는 연결(120)을 통해 클라이언트(108)에게 직접 단일의 재연결 티켓을 전송한다. 이렇게 행할 때, 제1 프로토콜 서비스(112)는 연결(120)의 끊김에 이어 재연결되는 세션을 구별하기 위해 단일의 재연결 티켓의 카피와 이와 관련되는 세션 번호를 유지한다.
이하 도 9를 참조하여, 도 6A-6C의 실시예를 이용하여, 클라이언트(108)에게 하나 이상의 호스트 서비스(116)와의 신뢰성 연결을 제공하고 클라이언트(108)를 호스트 서비스(116)에 재연결하기 위한 방법(800)의 일 실시예 (예를 들어 도 7의 단계 616)를 설명한다. 특히, 단계 804에서, 제1 프로토콜 서비스(112)와 하나 이상의 호스트 서비스(116) 각각 사이에 이차 프로토콜 연결(124)이 보유된다. 더욱, 단계 808에서, 예를 들어 도 7의 단계 616에서 파손된 것으로 결정된 연결(120)을 통해 클라이언트(108)의 클라이언트 에이전트(128)와 제1 프로토콜 서비스(112) 사이에 가장 최근에 전송된 데이터 패킷의 큐가 보유된다. 일 실시예에서 데이터 패킷이 연결(120)의 이상 이전과 이후 둘 다에서 큐되어 보유된다. 큐된 데이터 패킷은 예를 들어, 클라이언트 에이전트(128)에 의해 버퍼에 보유될 수 있다. 다르게, 제1 프로토콜 서비스(112)는 큐된 데이터 패킷을 버퍼에 보유할 수 있다. 또 다른 실시예에서, 클라이언트 에이전트(128)와 제1 프로토콜 서비스(112)는 버퍼에 큐된 데이터 패킷을 보유한다.
단계 812에서, 새로운 제1 프로토콜 연결(120)은 클라이언트(108)의 클라이언트 에이전트(128)와 제1 프로토콜 서비스(112) 사이에 설정되어 제1 프로토콜 서비스(112)와 하나 이상의 호스트 서비스(116) 각각 사이에 보유된 이차 프로토콜 연결(124)에 링크되고, 이로 인해 클라이언트(108)를 호스트 서비스(116)에 재연결할 수 있다. 클라이언트(108)가 재연결되면, 단계 808에서 보유된 큐된 데이터 패킷이 단계 816에서 새로 설정된 제1 프로토콜 연결(120)을 거쳐 전송될 수 있다. 이와 같이, 제1 프로토콜 서비스(112)를 통한 호스트 서비스(116)와 클라이언트(108) 사이의 통신 세션은 데이터 손실 없이 지속되어 진행된다.
이하 도 10A-10B를 참조하면, 클라이언트(108)를 하나 이상의 호스트 서비스(116)에 재연결하기 위한 방법(900)의 일 실시예 (예를 들어 도 9의 단계 812)를 설명한다.
단계 904에서, 클라이언트(108)와 제1 프로토콜 서비스(112) 간의 나머지 연결도 파손된다. 예를 들어, 연결(120a)은 실패했지만, 연결(120b)은 아닌 경우, 연결(120b)은 파손되게 된다. 다르게, 연결(120b)이 실패했지만, 연결(120a)은 아닌 경우에도, 연결(120a)은 파손된다.
일 실시예에서, 예를 들어, 도 8의 단계 720에서, 클라이언트(108)에 제공된 중간 노드(132)의 실제 주소를 이용하여, 클라이언트(108)의 클라이언트 에이전트(128)는 단계 908에서, 클라이언트 에이전트(128)와 중간 노드(132) 사이에 제1 프로토콜 연결(120a)을 재설정한다. 다른 실시예에서는, 예를 들어, 도 8의 단계 720에서, 클라이언트(108)에게 제공된 제3 컴퓨팅 노드(146)의 실제 주소를 이용하여, 클라이언트(108)의 클라이언트 에이전트(128)는 단계 908에서, 클라이언트 에이전트(128)과 제3 컴퓨팅 노드(146) 간의 제1 프로토콜 연결을 재설정한다. 제3 컴퓨팅 노드(146)는 다음에 클라이언트(108)와 제1 프로토콜 서비스(112)가 통과해야 하는 중간 노드(132)를 결정한다. 일 실시예에서, 제3 컴퓨팅 노드(146)는 부하 균형 방정식을 이용하여 중간 노드(132)를 선택한다. 클라이언트(108)를 하나 이상의 호스트 서비스(116)에 재연결할 때 제3 컴퓨팅 노드(146)에 의해 선택된 중간 노드(132)는 예를 들어 도 8의 단계 720에서 클라이언트(108)를 하나 이상의 호스트 서비스(116)에 초기 연결하기 위해 선택된 것과 다를 수 있다. 중간 노드(132)를 선택하면, 제3 컴퓨팅 노드(146)는 중간 노드(132)와의 제1 프로토콜 연결을 재설정한다. 따라서, 제1 프로토콜 연결(120a)은 클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(132) 사이에서, 제3 컴퓨팅 노드(146)를 통해 재설정된다.
일 실시예에서, 하나 이상의 레벨의 중간 노드(132)가 존재하면, 클라이언트 에이전트(128)가 레벨 "a"-"n-1" 각각에서 라우트되게 되는 중간 노드(132)는 부하 균형 방정식에 기초하여 예를 들어, 다음 레벨에서 연결되게 되는 중간 노드(132)를 결정한다. 다른 실시예에서는, 제3 컴퓨팅 노드(146)가 하나 이상이거나 모든 레벨 "a"-"n"에 대해, 클라이언트 에이전트(128)가 라우트되게 되는 중간 노드(132)를 결정한다.
클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(132), 예를 들어, 레벨 "n"에서의 중간 노드(132) (이하 방법(900)에서 중간 노드(132)로 언급) 간의 제1 프로토콜 연결(120a)을 재설정하게 되면, 클라이언트 에이전트(128)는 단계 912에서, 제1 재연결 티켓과 제2 재연결 티켓을 중간 노드(132)에 전송한다.
단계 916에서, 제1 재연결 티켓이 유효한지가 결정된다. 일 실시예에서, 제1 재연결 티켓의 유효성은 티켓 기관(136)을 이용하여 결정된다. 예를 들어, 중간 노드(132)는 제1 재연결 티켓을 티켓 기관(136)에 전송한다. 일 실시예에서, 티켓 기관(136)은 이를 이전에 유지된 제1 재연결 티켓의 카피와 비교하여 제1 재연결 티켓의 유효성을 결정한다. 티켓 기관(136)이 제1 재연결 티켓이 유효하다고 판정하면, 티켓 기관(136)은 단계 920에서, 제1 프로토콜 서비스(112)의 주소를 중간 노드(132)에 전송한다. 그렇지 않고, 티켓 기관(136)이 제1 재연결 티켓이 무효라고 판정하면, 클라이언트(108)는 단계 924에서, 제1 프로토콜 서비스(112)와의 재연결이, 이에 따라 호스트 서비스(116)와의 재연결이 거부된다.
단계 928에서, 제1 재연결 티켓은 예를 들어, 티켓 기관(136)에 의해 삭제되고 교체 제1 재연결 티켓은 예를 들어, 티켓 기관(136)에 의해 형성된다. 더욱, 교체 핸들은 예를 들어, 티켓 기관(136)에 의해 형성될 수 있다. 이런 실시예에서, 티켓 기관(136)은 교체 제1 재연결 티켓과 교체 핸들을 중간 노드(132)에 전송한다. 더욱, 이 실시예에서, 티켓 기관(136)은 교체 제1 재연결 티켓의 카피를 유지한다. 몇 실시예에서, 티켓 기관(136)은 제1 재연결 티켓의 삭제를 진행하기 전에 교체 제1 재연결 티켓을 수신했다는 것을 확인하기 위해 클라이언트(108)를 대기한다.
제1 재연결 티켓이 확인된 후에, 제1 프로토콜 서비스(112)의 주소를 이용하여 중간 노드(132)는 단계 932에서, 중간 노드(132)와 제1 프로토콜 서비스(112) 사이의 제1 프로토콜 연결(120b)를 재설정한다. 중간 노드(132)와 제1 프로토콜 서비스(112) 사이의 제1 프로토콜 연결(120b)을 재설정하면, 단계 936에서, 제2 재연결 티켓이 유효한지가 판정된다. 일 실시예에서, 제2 재연결 티켓의 유효성이 제1 프로토콜 서비스(112)를 이용하여 결정된다. 예를 들어, 중간 노드(132)는 제1 프로토콜 서비스(112)에 제2 재연결 티켓을 전송한다. 일 실시예에서, 제1 프로토콜 서비스(112)는 이전에 유지된 제2 재연결 티켓의 카피와 비교하여 제2 재연결 티켓의 유효성을 판정한다. 제1 프로토콜 서비스가 제2 재연결 티켓이 유효하다고 판정하면, 제1 중간 노드(132)와 제1 프로토콜 서비스(112) 간에 재설정된 제1 프로토콜 연결(120b)이 단계 940에서, 제1 프로토콜 서비스(112)와 하나 이상의 호스트 서비스(116) 각각 간에 보유된 이차 프로토콜 연결(124)에 링크된다. 그렇지 않고 제1 프로토콜 서비스(112)가 제2 재연결 티켓이 무효라고 판정하면, 재설정된 제1 프로토콜 연결(120b)은 하나 이상의 보유된 이차 프로토콜 연결(124)에 링크되지 않고 클라이언트(108)는 단계 944에서 하나 이상의 호스트 서비스(116)와의 재연결이 거부된다.
단계 948에서, 제2 재연결 티켓은 예를 들어, 제1 프로토콜 서비스(112)에 의해 삭제되고 교체 제2 재연결 티켓은 예를 들어, 클라이언트(108)에의 전송을 위해 제1 프로토콜 서비스(112)에 의해 형성된다. 이 실시예에서, 제1 프로토콜 서비스(112)는 교체 제2 재연결 티켓의 카피를 유지한다. 몇 실시예에서, 제1 프로토콜 서비스(112)는 제2 재연결 티켓을 삭제 처리하기 전에 교체 제2 재연결 티켓을 수신한 것을 확인하기 위해 클라이언트(108)를 대기한다.
단계 952에서, 교체 제1 재연결 티켓과 교체 제2 재연결 티켓이 클라이언트에게 전송된다. 예를 들어, 티켓 기관(136)은 중간 노드(132)를 통해 교체 제1 재연결 티켓을 클라이언트(108)에게 전송할 수 있다. 더욱, 일 실시예에서, 제1 프로토콜 서비스(112)는 중간 노드(132)를 통해 교체 제2 재연결 티켓을 클라이언트(108)에게 전송한다.
다른 실시예에서는, 상술된 바와 같이, 본 발명의 시스템(100) 및 방법이 오직 하나의 재연결 티켓만을 제공한다. 이와 같이, 본 발명의 방법(900)은 제1 및 제2 재연결 티켓 둘 다를 이용하기 보다 상술한 하나의 재연결 티켓만을 이용한다. 이런 일 실시예에서, 클라이언트(108)의 클라이언트 에이전트(128)에는 제1 프로토콜 서비스(112)의 주소가 제공된다. 호스트 서비스(116)를 재연결하기 위해서, 클라이언트 에이전트(128)는 하나의 재연결 티켓을 제1 프로토콜 서비스(112)에 바로 전송한다. 제1 프로토콜 서비스(112)는 하나의 재연결 티켓이 유효한지를 판정한다. 일 실시예에서, 제1 프로토콜 서비스(112)는 이를 이전에 유지된 하나의 재연결 티켓의 카피와 비교하여 하나의 재연결 티켓의 유효성을 판정한다. 제1 프로토콜 서비스(112)가 하나의 재연결 티켓이 유효하다고 판정하면, 클라이언트(108)와 제1 프로토콜 서비스(112) 사이에 재설정된 제1 프로토콜 연결(120)이 제1 프로토콜 서비스(112)와 하나 이상의 호스트 서비스(116) 각각 사이에 보유된 이차 프로토콜 연결(124)에 링크된다. 그렇지 않고, 제1 프로토콜 서비스가 하나의 재연결 티켓이 무효라고 판정하면, 재설정된 제1 프로토콜 연결(120)이 하나 이상의 유지된 이차 프로토콜 연결(124)에 링크되지 않으며 클라이언트(108)는 하나 이상의 호스트 서비스(116)와의 재연결이 거부된다.
하나의 재연결 티켓이 유효화된 후에, 하나의 재연결 티켓은 예를 들어, 제1 프로토콜 서비스(112)에 의해 삭제되고 교체 단일의 재연결 티켓은 예를 들어, 클라이언트(108)에의 전송을 위해 제1 프로토콜 서비스(112)에 의해 형성된다. 교체 단일의 재연결 티켓을 클라이언트(108)에 전송할 때, 제1 프로토콜 서비스(112)는 교체 단일의 재연결 티켓의 카피를 유지한다. 어떤 실시예에서는, 제1 프로토콜 서비스(112)는 단일의 재연결 티켓을 삭제 처리하기 전에 교체 단일 재연결 티켓을 수신한 것을 확인하기 위해 클라이언트(108)를 대기한다.
또 다른 실시예에서는, 제1 및 제2 재연결 티켓과 같이, 단일의 재연결 티켓은 단계 612에서와 같이, 연결(120)의 실패 이후 및/또는 단계 620에서와 같이 연결(120)의 종료 이후 미리 정해진 기간 지난 후에 자동 삭제되게 구성된다.
여기 기재된 것의 변형, 수정 및 그 외 구현들은 본 발명의 정신 및 영역에서 벗어나지 않고 당업자에게는 명백하게 될 것이다. 본 발명은 상기한 설명에 의해서 한정되는 것이 아니다.
Claims (25)
- 네트워크 통신 방법에 있어서:제1 프로토콜을 이용하여 클라이언트와 제1 프로토콜 서비스 간에 제1 연결을 설정하는 단계; 및상기 제1 프로토콜 내에 캡슐화된 복수의 이차 프로토콜을 거쳐 상기 클라이언트와 상기 제1 프로토콜 서비스 간에 통신하는 단계를 포함하고,상기 이차 프로토콜 중 적어도 하나는 복수의 가상 채널을 포함하는 네트워크 통신 방법.
- 제1항에 있어서, 상기 이차 프로토콜 중 하나를 이용하여 상기 제1 프로토콜 서비스와 호스트 서비스 간의 제2 연결을 설정하는 단계; 및상기 이차 프로토콜 중 하나를 거쳐 상기 제1 프로토콜 서비스와 상기 호스트 서비스 간에 통신하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 복수의 이차 프로토콜을 이용하여 상기 제1 프로토콜 서비스와 복수의 호스트 서비스 간에 복수의 제2 연결을 설정하는 단계 - 상기 복수의 제2 연결 각각은 상기 제1 프로토콜 서비스와 여러 호스트 서비스 간에 설정되고, 상기 복수의 제2 연결 각각은 상기 복수의 이차 프로토콜 중 하나를 이용하여 설정됨 - ; 및상기 복수의 이차 프로토콜 중 하나를 거쳐 상기 복수의 제2 연결 각각을 통해 상기 제1 프로토콜 서비스와 상기 복수의 호스트 서비스 간에 통신하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 클라이언트와 상기 제1 프로토콜 서비스 간에 상기 제1 연결을 설정하는 단계는 중간 노드를 통해 상기 제1 연결을 설정하는 단계를 포함하는 방법.
- 제1항에 있어서, 상기 제1 프로토콜은 TCP/IP를 통해 통신되는 방법.
- 제1항에 있어서, 각 가상 채널은 원격 액세스 기능을 가능하게 하는 복수의 프로토콜 패킷을 포함하는 방법.
- 제1항에 있어서, 상기 제1 프로토콜의 레벨에서의 통신을 압축하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 제1 프로토콜의 레벨에서의 통신을 암호화하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 제1 연결은 보안적이고:상기 제1 프로토콜 서비스와 제1 호스트 서비스 간의 제2 연결을 설정하는 단계;상기 제1 연결과 상기 제2 연결을 통해 상기 클라이언트와 상기 제1 호스트 서비스 간에 통신하는 단계;상기 제2 연결을 차단하는 단계;상기 제1 연결을 차단하지 않고 상기 제1 프로토콜 서비스와 제2 호스트 서비스 간의 제3 연결을 설정하는 단계; 및상기 제1 연결과 상기 제3 연결을 거쳐 상기 클라이언트와 상기 제2 호스트 서비스 간에 통신하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 이차 프로토콜 중 하나는 HTTP, RDP, ICA, FTP, Oscar 및 Telnet으로 이루어지는 프로토콜의 세트 중에서 선택되는 방법.
- 클라이언트에 호스트 서비스와의 신뢰성 연결을 제공하는 방법에 있어서:상기 클라이언트와 제1 프로토콜 서비스 간의 제1 연결을 제1 프로토콜을 이용하여 설정하는 단계 - 상기 제1 프로토콜은 복수의 이차 프로토콜을 캡슐화함 -;상기 제1 프로토콜 서비스와 상기 호스트 서비스 간의 제2 연결을 상기 복수의 이차 프로토콜 중 하나를 이용하여 설정하는 단계;상기 클라이언트와 상기 제1 프로토콜 서비스 중 적어도 하나에 상기 제1 연결을 거쳐 가장 최근에 전송되는 데이터 패킷의 큐를 보유하는 단계; 및상기 제1 연결의 이상시:상기 제2 연결을 보유하는 단계;상기 제1 연결을 거쳐 가장 최근에 전송된 상기 데이터 패킷의 큐를 계속하여 보유하는 단계; 및상기 제1 프로토콜을 이용하여 상기 클라이언트와 상기 제1 프로토콜 서비스 간에 제3 연결을 설정하는 단계를 포함하는 방법.
- 제11항에 있어서, 상기 제3 연결을 통해 상기 큐된 데이터 패킷 중 적어도 하나를 전송하는 단계를 더 포함하는 방법.
- 네트워크 통신용 시스템에 있어서:클라이언트와의 제1 연결을 수용하고 제1 프로토콜 내에 캡슐화된 복수의 이차 프로토콜을 거쳐 상기 클라이언트와 통신하도록 구성된 제1 프로토콜 서비스를 포함하고, 상기 이차 프로토콜 중 적어도 하나는 복수의 가상 채널을 포함하는 시스템.
- 제13항에 있어서, 상기 제1 프로토콜 서비스는 호스트 서비스와의 제2 연결을 설정하고 상기 이차 프로토콜 중 하나를 거쳐 상기 호스트 서비스와 통신하도록 더욱 구성되는 시스템.
- 제13항에 있어서, 상기 제1 프로토콜 서비스는 상기 복수의 이차 프로토콜을 이용하여 복수의 호스트 서비스와의 복수의 제2 연결을 설정하도록 더 구성되고, 상기 복수의 제2 연결 각각은 여러 호스트 서비스로 설정되고 상기 복수의 제2 연결 각각은 상기 복수의 이차 프로토콜 중 하나를 이용하여 설정되고, 상기 제1 프로토콜 서비스는 상기 복수의 이차 프로토콜 중 하나를 거쳐 상기 복수의 제2 연결 각각을 통해 상기 복수의 호스트 서비스와 통신하도록 더욱 구성되는 시스템.
- 제13항에 있어서, 상기 클라이언트와의 상기 제1 연결은 중간 노드를 통해 라우트되는 방법.
- 제13항에 있어서, 상기 제1 프로토콜은 TCP/IP를 통해 통신되는 시스템.
- 제13항에 있어서, 각 가상 채널은 원격 액세스 기능을 가능하게 하는 복수의 프로토콜 패킷을 포함하는 시스템.
- 제13항에 있어서, 상기 제1 프로토콜 서비스는 상기 제1 프로토콜의 레벨에서의 통신을 압축하도록 더 구성되는 시스템.
- 제13항에 있어서, 상기 제1 프로토콜 서비스는 상기 제1 프로토콜의 레벨에서의 통신을 암호화하도록 더 구성되는 시스템.
- 제13항에 있어서, 상기 제1 연결은 보안적이며 상기 제1 프로토콜 서비스는 제1 호스트 서비스와의 제2 연결을 설정하고, 상기 제1 연결을 차단하고, 상기 제1 연결을 차단하지 않고 제2 호스트 서비스와의 제3 연결을 설정하도록 더 구성되는 시스템.
- 제13항에 있어서, 상기 이차 프로토콜 중 하나는 HTTP, RDP, ICA, FTP, Oscar 및 Telnet으로 이루어지는 프로토콜의 세트 중에서 선택되는 시스템.
- 클라이언트에 호스트 서비스와의 신뢰성 연결을 제공하기 위한 시스템에 있어서:상기 클라이언트와의 제1 연결을 허용하고, 상기 호스트 서비스와의 제2 연결을 설정하고, 상기 제1 연결의 실패시, 상기 제2 연결을 보유하게 상기 클라이언트로부터 제3 연결을 허용하도록 구성되는 제1 프로토콜 서비스; 및상기 제1 프로토콜 서비스와의 상기 제2 연결을 허용하고, 상기 제1 연결의 실패시 상기 제2 연결을 보유하도록 구성되는 호스트 서비스를 포함하고,상기 제1 연결과 상기 제3 연결은 각각 제1 프로토콜을 이용하여 설정되고, 상기 제1 프로토콜은 복수의 이차 프로토콜을 캡슐화하기 위한 것이고, 상기 클라이언트와 상기 제1 프로토콜 서비스 중 적어도 하나는 상기 제1 연결의 실패 이전과 실패시, 상기 제1 연결을 통해 가장 최근에 전송되는 데이터 패킷의 큐를 보유하도록 더욱 구성되는 시스템.
- 제23항에 있어서, 상기 클라이언트는 상기 제3 연결을 통해 상기 큐된 데이터 패킷 중 적어도 하나를 전송하도록 더욱 구성되는 시스템.
- 제23항에 있어서, 상기 제1 프로토콜 서비스는 상기 제3 연결을 통해 상기 큐된 데이터 패킷 중 적어도 하나를 전송하도록 더욱 구성되는 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/683,881 | 2003-10-10 | ||
US10/683,881 US7562146B2 (en) | 2003-10-10 | 2003-10-10 | Encapsulating protocol for session persistence and reliability |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060120032A true KR20060120032A (ko) | 2006-11-24 |
Family
ID=34422852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067006888A KR20060120032A (ko) | 2003-10-10 | 2004-10-12 | 세션의 지속성과 신뢰성을 위한 프로토콜 캡슐화 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7562146B2 (ko) |
EP (1) | EP1678885B1 (ko) |
JP (1) | JP2007509521A (ko) |
KR (1) | KR20060120032A (ko) |
AT (2) | ATE406751T1 (ko) |
AU (1) | AU2004306787A1 (ko) |
CA (1) | CA2541137C (ko) |
DE (2) | DE602004016200D1 (ko) |
HK (3) | HK1096211A1 (ko) |
IL (3) | IL174814A0 (ko) |
WO (1) | WO2005036832A1 (ko) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
US7966418B2 (en) | 2003-02-21 | 2011-06-21 | Axeda Corporation | Establishing a virtual tunnel between two computer programs |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
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 |
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 |
EP1771998B1 (en) | 2004-07-23 | 2015-04-15 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
KR20070037649A (ko) | 2004-07-23 | 2007-04-05 | 사이트릭스 시스템스, 인크. | 게이트웨이에서 종단으로 패킷을 라우팅하기 위한 방법 및시스템 |
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 |
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 |
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 |
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 |
US20060253605A1 (en) * | 2004-12-30 | 2006-11-09 | Prabakar Sundarrajan | Systems and methods for providing integrated client-side acceleration techniques to access remote applications |
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 |
EP2739014B1 (en) * | 2005-01-24 | 2018-08-01 | Citrix Systems, Inc. | Systems and methods for performing caching of dynamically generated objects in a network |
JP4616035B2 (ja) * | 2005-02-25 | 2011-01-19 | 富士通株式会社 | サーバ負荷分散プログラム,装置および方法 |
US7738887B2 (en) * | 2005-10-31 | 2010-06-15 | Microsoft Corporation | Voice instant messaging between mobile and computing devices |
US20070115917A1 (en) * | 2005-10-31 | 2007-05-24 | Microsoft Corporation | MTOM data transfer via TCP |
CN1980232A (zh) * | 2005-12-02 | 2007-06-13 | 国际商业机器公司 | 远程登录会话维护方法、远程登录代理和计算机网络系统 |
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 |
US7904563B2 (en) * | 2006-03-31 | 2011-03-08 | Microsoft Corporation | Establishing and utilizing terminal server dynamic virtual channels |
US8370479B2 (en) | 2006-10-03 | 2013-02-05 | Axeda Acquisition Corporation | System and method for dynamically grouping devices based on present device conditions |
US8065397B2 (en) | 2006-12-26 | 2011-11-22 | Axeda Acquisition Corporation | Managing configurations of distributed devices |
US20100031337A1 (en) * | 2007-04-09 | 2010-02-04 | Certeon, Inc. | Methods and systems for distributed security processing |
WO2009086845A1 (de) * | 2008-01-07 | 2009-07-16 | Siemens Enterprise Communications Gmbh & Co. Kg | Verfahren zum authentisieren einer schlüsselinformation zwischen endpunkten einer kommunikationsbeziehung |
US8219676B2 (en) | 2009-06-22 | 2012-07-10 | Citrix Systems, Inc. | Systems and methods for web logging of trace data in a multi-core system |
US9054913B1 (en) | 2009-11-30 | 2015-06-09 | Dell Software Inc. | Network protocol proxy |
WO2011096307A1 (ja) | 2010-02-03 | 2011-08-11 | 日本電気株式会社 | プロキシ装置とその動作方法 |
JP5604927B2 (ja) * | 2010-03-24 | 2014-10-15 | 富士通株式会社 | 経路制御プログラム、中継プログラム、及びデータ中継方法 |
US8504818B2 (en) | 2010-04-15 | 2013-08-06 | Microsoft Corporation | Method and system for reliable protocol tunneling over HTTP |
EP2566135B1 (en) | 2011-09-01 | 2018-04-04 | Software AG | Cloud-based mainframe integration system and method |
US8931016B2 (en) * | 2011-09-15 | 2015-01-06 | Verizon Patent And Licensing Inc. | Program handoff between devices and program network offloading |
US9537899B2 (en) | 2012-02-29 | 2017-01-03 | Microsoft Technology Licensing, Llc | Dynamic selection of security protocol |
US10582022B2 (en) * | 2016-05-20 | 2020-03-03 | Citrix Systems, Inc. | Adaptive session reliability over multiple transports |
RU2633186C1 (ru) * | 2016-12-28 | 2017-10-11 | Закрытое акционерное общество "Аладдин Р.Д." | Персональное устройство аутентификации и защиты данных |
CN112165480B (zh) * | 2020-09-22 | 2022-11-11 | 北京字跳网络技术有限公司 | 信息获取方法、装置和电子设备 |
Family Cites Families (157)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4438511A (en) | 1980-11-10 | 1984-03-20 | Telebit Corporation | Packetized ensemble modem |
US4649510A (en) | 1982-04-30 | 1987-03-10 | Schmidt Walter E | Methods and apparatus for the protection and control of computer programs |
US4768190A (en) | 1986-04-30 | 1988-08-30 | Og Corporation | Packet switching network |
US4736369A (en) | 1986-06-13 | 1988-04-05 | International Business Machines Corp. | Adaptive session-level pacing |
US4750171A (en) | 1986-07-11 | 1988-06-07 | Tadiran Electronics Industries Ltd. | Data switching system and method |
US4941089A (en) | 1986-12-12 | 1990-07-10 | Datapoint Corporation | Input/output network for computer system |
US5390297A (en) | 1987-11-10 | 1995-02-14 | Auto-Trol Technology Corporation | System for controlling the number of concurrent copies of a program in a network based on the number of available licenses |
US5021949A (en) | 1988-02-29 | 1991-06-04 | International Business Machines Corporation | Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network |
US4893307A (en) | 1988-02-29 | 1990-01-09 | International Business Machines Corporation | Method and apparatus for linking SNA terminals to an SNA host over a packet switched communications network |
US4837800A (en) | 1988-03-18 | 1989-06-06 | Motorola, Inc. | Cellular data telephone system and cellular data telephone therefor |
JP2643978B2 (ja) | 1988-04-23 | 1997-08-25 | 株式会社ケンウッド | パケットデータ生成装置 |
US4924378A (en) | 1988-06-13 | 1990-05-08 | Prime Computer, Inc. | License mangagement system and license storage key |
US4953159A (en) | 1989-01-03 | 1990-08-28 | American Telephone And Telegraph Company | Audiographics conferencing arrangement |
US5349678A (en) | 1991-08-21 | 1994-09-20 | Norand Corporation | Versatile RF data capture system |
US4912756A (en) | 1989-04-07 | 1990-03-27 | Unilink Corporation | Method and apparatus for error-free digital data transmission during cellular telephone handoff, etc. |
US5220501A (en) | 1989-12-08 | 1993-06-15 | Online Resources, Ltd. | Method and system for remote delivery of retail banking services |
CA2048306A1 (en) | 1990-10-02 | 1992-04-03 | Steven P. Miller | Distributed configuration profile for computing system |
US5159592A (en) | 1990-10-29 | 1992-10-27 | International Business Machines Corporation | Network address management for a wired network supporting wireless communication to a plurality of mobile users |
US5181200A (en) | 1990-10-29 | 1993-01-19 | International Business Machines Corporation | Handoff method and apparatus for mobile wireless workstation |
US5212806A (en) | 1990-10-29 | 1993-05-18 | International Business Machines Corporation | Distributed control methods for management of migrating data stations in a wireless communications network |
CA2040234C (en) | 1991-04-11 | 2000-01-04 | Steven Messenger | Wireless coupling of devices to wired network |
US5204897A (en) | 1991-06-28 | 1993-04-20 | Digital Equipment Corporation | Management interface for license management system |
US5504814A (en) | 1991-07-10 | 1996-04-02 | Hughes Aircraft Company | Efficient security kernel for the 80960 extended architecture |
US5224098A (en) | 1991-07-17 | 1993-06-29 | International Business Machines Corporation | Compensation for mismatched transport protocols in a data communications network |
US5481721A (en) | 1991-07-17 | 1996-01-02 | Next Computer, Inc. | Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects |
US5241542A (en) | 1991-08-23 | 1993-08-31 | International Business Machines Corporation | Battery efficient operation of scheduled access protocol |
DE4131133B4 (de) | 1991-09-19 | 2005-09-08 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Austausch von Daten in Datenverarbeitungsanlagen |
US5210753A (en) | 1991-10-31 | 1993-05-11 | International Business Machines Corporation | Robust scheduling mechanm for efficient band-width usage in muliticell wireless local networks |
US5610595A (en) | 1991-12-09 | 1997-03-11 | Intermec Corporation | Packet radio communication system protocol |
US5359721A (en) | 1991-12-18 | 1994-10-25 | Sun Microsystems, Inc. | Non-supervisor mode cross address space dynamic linking |
AU3944793A (en) | 1992-03-31 | 1993-11-08 | Aggregate Computing, Inc. | An integrated remote execution system for a heterogenous computer network environment |
US5412717A (en) | 1992-05-15 | 1995-05-02 | Fischer; Addison M. | Computer system security method and apparatus having program authorization information data structures |
US6026452A (en) * | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
US5442633A (en) | 1992-07-08 | 1995-08-15 | International Business Machines Corporation | Shortcut network layer routing for mobile hosts |
US5307490A (en) | 1992-08-28 | 1994-04-26 | Tandem Computers, Inc. | Method and system for implementing remote procedure calls in a distributed computer system |
US5325361A (en) | 1992-12-01 | 1994-06-28 | Legent Corporation | System and method for multiplexing data transmissions |
US5550976A (en) | 1992-12-08 | 1996-08-27 | Sun Hydraulics Corporation | Decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication |
US5426637A (en) | 1992-12-14 | 1995-06-20 | International Business Machines Corporation | Methods and apparatus for interconnecting local area networks with wide area backbone networks |
US5509070A (en) | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
US5410543A (en) | 1993-01-04 | 1995-04-25 | Apple Computer, Inc. | Method for connecting a mobile computer to a computer network by using an address server |
US5446915A (en) | 1993-05-25 | 1995-08-29 | Intel Corporation | Parallel processing system virtual connection method and apparatus with protection and flow control |
EP0631455A1 (de) | 1993-06-25 | 1994-12-28 | Siemens Aktiengesellschaft | Verfahren zum Aufrechterhalten von virtuellen Verbindungen bei einem zumindest teilweisen Ausfall von Verbindungswegen |
US5564070A (en) | 1993-07-30 | 1996-10-08 | Xerox Corporation | Method and system for maintaining processing continuity to mobile computers in a wireless network |
US5544246A (en) | 1993-09-17 | 1996-08-06 | At&T Corp. | Smartcard adapted for a plurality of service providers and for remote installation of same |
US5446736A (en) | 1993-10-07 | 1995-08-29 | Ast Research, Inc. | Method and apparatus for connecting a node to a wireless network using a standard protocol |
US5455953A (en) | 1993-11-03 | 1995-10-03 | Wang Laboratories, Inc. | Authorization system for obtaining in single step both identification and access rights of client to server directly from encrypted authorization ticket |
US5515508A (en) | 1993-12-17 | 1996-05-07 | Taligent, Inc. | Client server system and method of operation including a dynamically configurable protocol stack |
US5548723A (en) | 1993-12-17 | 1996-08-20 | Taligent, Inc. | Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack |
US5564016A (en) | 1993-12-17 | 1996-10-08 | International Business Machines Corporation | Method for controlling access to a computer resource based on a timing policy |
US5499343A (en) | 1993-12-17 | 1996-03-12 | Taligent, Inc. | Object-oriented networking system with dynamically configurable communication links |
US5491800A (en) | 1993-12-20 | 1996-02-13 | Taligent, Inc. | Object-oriented remote procedure call networking system |
US5495411A (en) | 1993-12-22 | 1996-02-27 | Ananda; Mohan | Secure software rental system using continuous asynchronous password verification |
US5491750A (en) | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for three-party entity authentication and key distribution using message authentication codes |
US5412654A (en) | 1994-01-10 | 1995-05-02 | International Business Machines Corporation | Highly dynamic destination-sequenced destination vector routing for mobile computers |
US5559800A (en) | 1994-01-19 | 1996-09-24 | Research In Motion Limited | Remote control of gateway functions in a wireless data communication network |
US5627821A (en) | 1994-03-15 | 1997-05-06 | Hitachi, Ltd. | Defect notification method in a multipoint ATM network |
US5524238A (en) | 1994-03-23 | 1996-06-04 | Breakout I/O Corporation | User specific intelligent interface which intercepts and either replaces or passes commands to a data identity and the field accessed |
US5553139A (en) | 1994-04-04 | 1996-09-03 | Novell, Inc. | Method and apparatus for electronic license distribution |
CA2143874C (en) | 1994-04-25 | 2000-06-20 | Thomas Edward Cooper | Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing a decryption stub |
JP2826468B2 (ja) | 1994-04-27 | 1998-11-18 | 日本電気 株式会社 | 回線切替え装置 |
US5574774A (en) | 1994-05-04 | 1996-11-12 | Ericsson Inc. | Method and apparatus of maintaining an open communications channel between a cellular terminal and an associated cellular radio network |
US5586257A (en) | 1994-05-05 | 1996-12-17 | Perlman; Stephen G. | Network architecture to support multiple site real-time video games |
US5594490A (en) | 1994-05-23 | 1997-01-14 | Cable Services Technologies, Inc. | System for distributing video/audio files from central location to a plurality of cable headends |
US5416842A (en) | 1994-06-10 | 1995-05-16 | Sun Microsystems, Inc. | Method and apparatus for key-management scheme for use with internet protocols at site firewalls |
US5771459A (en) | 1994-06-21 | 1998-06-23 | U.S. Philips Corporation | Communication system for use with stationary and second entities, via a wireless intermediate network with gateway devices, a gateway device for use with such system, and a mobile entity provided with such gateway device |
US5550981A (en) | 1994-06-21 | 1996-08-27 | At&T Global Information Solutions Company | Dynamic binding of network identities to locally-meaningful identities in computer networks |
US5481535A (en) | 1994-06-29 | 1996-01-02 | General Electric Company | Datagram message communication service employing a hybrid network |
US5557732A (en) | 1994-08-11 | 1996-09-17 | International Business Machines Corporation | Method and apparatus for protecting software executing on a demonstration computer |
US5604490A (en) | 1994-09-09 | 1997-02-18 | International Business Machines Corporation | Method and system for providing a user access to multiple secured subsystems |
US5490139A (en) | 1994-09-28 | 1996-02-06 | International Business Machines Corporation | Mobility enabling access point architecture for wireless attachment to source routing networks |
US5652789A (en) | 1994-09-30 | 1997-07-29 | Wildfire Communications, Inc. | Network based knowledgeable assistant |
US5602916A (en) | 1994-10-05 | 1997-02-11 | Motorola, Inc. | Method and apparatus for preventing unauthorized monitoring of wireless data transmissions |
US5633868A (en) | 1994-10-17 | 1997-05-27 | Lucent Technologies Inc. | Virtual circuit management in cellular telecommunications |
US5623601A (en) | 1994-11-18 | 1997-04-22 | Milkway Networks Corporation | Apparatus and method for providing a secure gateway for communication and data exchanges between networks |
US5566225A (en) | 1994-11-21 | 1996-10-15 | Lucent Technologies Inc. | Wireless data communications system for detecting a disabled condition and simulating a functioning mode in response to detection |
US5752185A (en) | 1994-11-21 | 1998-05-12 | Lucent Technologies Inc. | Disconnection management system for wireless voice communications |
US5668999A (en) | 1994-12-20 | 1997-09-16 | Sun Microsystems, Inc. | System and method for pre-verification of stack usage in bytecode program loops |
JP3251797B2 (ja) | 1995-01-11 | 2002-01-28 | 富士通株式会社 | ワイヤレスlanシステム |
JPH08235114A (ja) | 1995-02-28 | 1996-09-13 | Hitachi Ltd | サーバアクセス方法と課金情報管理方法 |
US5664007A (en) | 1995-03-06 | 1997-09-02 | Samadi; Behrokh | Method and apparatus for providing continuation of a communication call across multiple networks |
US5572528A (en) | 1995-03-20 | 1996-11-05 | Novell, Inc. | Mobile networking method and apparatus |
US5666501A (en) | 1995-03-30 | 1997-09-09 | International Business Machines Corporation | Method and apparatus for installing software |
US5689708A (en) | 1995-03-31 | 1997-11-18 | Showcase Corporation | Client/server computer systems having control of client-based application programs, and application-program control means therefor |
US5627892A (en) | 1995-04-19 | 1997-05-06 | General Instrument Corporation Of Delaware | Data security scheme for point-to-point communication sessions |
US5717737A (en) | 1995-06-01 | 1998-02-10 | Padcom, Inc. | Apparatus and method for transparent wireless communication between a remote device and a host system |
US6418324B1 (en) * | 1995-06-01 | 2002-07-09 | Padcom, Incorporated | Apparatus and method for transparent wireless communication between a remote device and host system |
US5592549A (en) | 1995-06-15 | 1997-01-07 | Infosafe Systems, Inc. | Method and apparatus for retrieving selected information from a secure information source |
US5657390A (en) | 1995-08-25 | 1997-08-12 | Netscape Communications Corporation | Secure socket layer application program apparatus and method |
US5657452A (en) | 1995-09-08 | 1997-08-12 | U.S. Robotics Corp. | Transparent support of protocol and data compression features for data communication |
US5682534A (en) | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
US5623600A (en) | 1995-09-26 | 1997-04-22 | Trend Micro, Incorporated | Virus detection and removal apparatus for computer networks |
US5758186A (en) | 1995-10-06 | 1998-05-26 | Sun Microsystems, Inc. | Method and apparatus for generically handling diverse protocol method calls in a client/server computer system |
US5729734A (en) | 1995-11-03 | 1998-03-17 | Apple Computer, Inc. | File privilege administration apparatus and methods |
WO1997019415A2 (en) * | 1995-11-07 | 1997-05-29 | Cadis, Inc. | Search engine for remote object oriented database management system |
US5732074A (en) | 1996-01-16 | 1998-03-24 | Cellport Labs, Inc. | Mobile portable wireless communication system |
US5721818A (en) | 1996-01-25 | 1998-02-24 | Apple Computer, Inc. | Method and system for enabling a file server to service multiple networks of the same network protocol family by invoking multiple instances of a network session protocol |
US5889816A (en) * | 1996-02-02 | 1999-03-30 | Lucent Technologies, Inc. | Wireless adapter architecture for mobile computing |
US5856974A (en) * | 1996-02-13 | 1999-01-05 | Novell, Inc. | Internetwork address mapping gateway |
US5754774A (en) | 1996-02-15 | 1998-05-19 | International Business Machine Corp. | Client/server communication system |
US5673322A (en) | 1996-03-22 | 1997-09-30 | Bell Communications Research, Inc. | System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks |
US5784643A (en) | 1996-03-28 | 1998-07-21 | International Business Machines Corporation | System incorporating program for intercepting and interpreting or altering commands for generating I/O activity for enabling real-time user feedback by sending substitute characters to modem |
GB2313524A (en) * | 1996-05-24 | 1997-11-26 | Ibm | Providing communications links in a computer network |
US5742757A (en) | 1996-05-30 | 1998-04-21 | Mitsubishi Semiconductor America, Inc. | Automatic software license manager |
US5740361A (en) * | 1996-06-03 | 1998-04-14 | Compuserve Incorporated | System for remote pass-phrase authentication |
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 |
US5748897A (en) | 1996-07-02 | 1998-05-05 | Sun Microsystems, Inc. | Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer |
JP3492865B2 (ja) * | 1996-10-16 | 2004-02-03 | 株式会社東芝 | 移動計算機装置及びパケット暗号化認証方法 |
JPH10178421A (ja) * | 1996-10-18 | 1998-06-30 | Toshiba Corp | パケット処理装置、移動計算機装置、パケット転送方法及びパケット処理方法 |
US6055575A (en) * | 1997-01-28 | 2000-04-25 | Ascend Communications, Inc. | Virtual private network system and method |
AU6654798A (en) * | 1997-02-26 | 1998-09-18 | Siebel Systems, Inc. | Method of determining visibility to a remote database client of a plurality of database transactions using a networked proxy server |
US6201962B1 (en) * | 1997-05-14 | 2001-03-13 | Telxon Corporation | Seamless roaming among multiple networks including seamless transitioning between multiple devices |
US6681017B1 (en) * | 1997-09-03 | 2004-01-20 | Lucent Technologies Inc. | Simplified secure shared key establishment and data delivery protocols for electronic commerce |
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 |
US6725376B1 (en) * | 1997-11-13 | 2004-04-20 | Ncr Corporation | Method of using an electronic ticket and distributed server computer architecture for the same |
EP1032886B1 (en) * | 1997-11-14 | 2009-03-18 | Microsoft Corporation | Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions |
US6230004B1 (en) * | 1997-12-01 | 2001-05-08 | Telefonaktiebolaget Lm Ericsson | Remote procedure calls using short message service |
US5870412A (en) * | 1997-12-12 | 1999-02-09 | 3Com Corporation | Forward error correction system for packet based real time media |
US6170075B1 (en) * | 1997-12-18 | 2001-01-02 | 3Com Corporation | Data and real-time media communication over a lossy network |
JPH11191788A (ja) * | 1997-12-25 | 1999-07-13 | Toyota Motor Corp | ネットワーク接続システムおよびネットワーク接続方法 |
US6226750B1 (en) * | 1998-01-20 | 2001-05-01 | Proact Technologies Corp. | Secure session tracking method and system for client-server environment |
JPH11275110A (ja) * | 1998-03-26 | 1999-10-08 | Nec Corp | 無線データ通信方法および装置 |
US6199113B1 (en) * | 1998-04-15 | 2001-03-06 | Sun Microsystems, Inc. | Apparatus and method for providing trusted network security |
US6564320B1 (en) * | 1998-06-30 | 2003-05-13 | Verisign, Inc. | Local hosting of digital certificate services |
US6360265B1 (en) * | 1998-07-08 | 2002-03-19 | Lucent Technologies Inc. | Arrangement of delivering internet protocol datagrams for multimedia services to the same server |
US6714536B1 (en) * | 1998-07-21 | 2004-03-30 | Eric M. Dowling | Method and apparatus for cosocket telephony |
JP3216607B2 (ja) * | 1998-07-29 | 2001-10-09 | 日本電気株式会社 | デジタル著作物流通システム及び方法、デジタル著作物再生装置及び方法、並びに記録媒体 |
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 |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6484206B2 (en) * | 1998-10-07 | 2002-11-19 | Nortel Networks Limited | Efficient recovery of multiple connections in a communication network |
US6546425B1 (en) * | 1998-10-09 | 2003-04-08 | Netmotion Wireless, Inc. | Method and apparatus for providing mobile and other intermittent connectivity in a computing environment |
DE69929627T2 (de) * | 1998-11-02 | 2006-09-14 | Airbiquity Inc., Bainbridge Island | Geo-räumliche adressierung zum internet-protokoll |
JP4004669B2 (ja) * | 1998-11-26 | 2007-11-07 | 株式会社日立コミュニケーションテクノロジー | 音声パケット多重化方法及び装置 |
JP2000242589A (ja) * | 1999-02-25 | 2000-09-08 | Mitsubishi Electric Corp | データ転送制御コンピュータシステム |
US6289450B1 (en) * | 1999-05-28 | 2001-09-11 | Authentica, Inc. | Information security architecture for encrypting documents for remote access while maintaining access control |
JP2000341300A (ja) * | 1999-05-31 | 2000-12-08 | Fujitsu Ltd | Atmネットワークに於けるセル多重化システム |
US6691232B1 (en) * | 1999-08-05 | 2004-02-10 | Sun Microsystems, Inc. | Security architecture with environment sensitive credential sufficiency evaluation |
US20020010866A1 (en) * | 1999-12-16 | 2002-01-24 | Mccullough David J. | Method and apparatus for improving peer-to-peer bandwidth between remote networks by combining multiple connections which use arbitrary data paths |
US6845387B1 (en) * | 2000-04-07 | 2005-01-18 | Advanced Digital Information Corporation | Creating virtual private connections between end points across a SAN |
US7010300B1 (en) * | 2000-06-15 | 2006-03-07 | Sprint Spectrum L.P. | Method and system for intersystem wireless communications session hand-off |
WO2002009458A2 (en) * | 2000-07-24 | 2002-01-31 | Bluesocket, Inc. | Method and system for enabling seamless roaming in a wireless network |
US6874086B1 (en) * | 2000-08-10 | 2005-03-29 | Oridus, Inc. | Method and apparatus implemented in a firewall for communicating information between programs employing different protocols |
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 |
CA2421609A1 (en) * | 2000-09-12 | 2002-03-21 | Netmotion Wireless, Inc. | Method and apparatus for providing mobile and other intermittent connectivity in a computing environment |
US6697377B1 (en) * | 2000-10-21 | 2004-02-24 | Innomedia Pte Ltd. | Method for communicating audio data in a packet switched network |
JP2002185609A (ja) * | 2000-12-12 | 2002-06-28 | Fujitsu Ltd | 固定無線電話網を用いた移動体通信システム |
JP3777302B2 (ja) * | 2000-12-21 | 2006-05-24 | 富士通株式会社 | 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体 |
US6947444B2 (en) * | 2001-06-06 | 2005-09-20 | Ipr Licensing, Inc. | Method and apparatus for improving utilization efficiency of wireless links for web-based applications |
US7698381B2 (en) * | 2001-06-20 | 2010-04-13 | Microsoft Corporation | Methods and systems for controlling the scope of delegation of authentication credentials |
AUPR797501A0 (en) * | 2001-09-28 | 2001-10-25 | BlastMedia Pty Limited | A method of displaying content |
US6993652B2 (en) * | 2001-10-05 | 2006-01-31 | General Instrument Corporation | Method and system for providing client privacy when requesting content from a public server |
US20030078983A1 (en) * | 2001-10-23 | 2003-04-24 | Sullivan Terence Sean | Message prioritization and buffering in a limited network |
US20030078985A1 (en) * | 2001-10-23 | 2003-04-24 | David Holbrook | Proactive message buffering across intermittent network connections |
US7028183B2 (en) * | 2001-11-13 | 2006-04-11 | Symantec Corporation | Enabling secure communication in a clustered or distributed architecture |
JP3910862B2 (ja) * | 2002-02-20 | 2007-04-25 | 独立行政法人情報通信研究機構 | 通信システム、移動通信装置、管理通信装置、通信方法、移動通信方法、ならびに、プログラム |
JP4315696B2 (ja) * | 2002-03-29 | 2009-08-19 | 富士通株式会社 | ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法 |
US7467214B2 (en) * | 2003-06-20 | 2008-12-16 | Motorola, Inc. | Invoking protocol translation in a multicast network |
US7532640B2 (en) * | 2003-07-02 | 2009-05-12 | Caterpillar Inc. | Systems and methods for performing protocol conversions in a machine |
-
2003
- 2003-10-10 US US10/683,881 patent/US7562146B2/en active Active
-
2004
- 2004-10-08 AT AT04794632T patent/ATE406751T1/de not_active IP Right Cessation
- 2004-10-08 DE DE602004016200T patent/DE602004016200D1/de active Active
- 2004-10-12 KR KR1020067006888A patent/KR20060120032A/ko not_active Application Discontinuation
- 2004-10-12 AT AT04795015T patent/ATE417437T1/de not_active IP Right Cessation
- 2004-10-12 EP EP04795015A patent/EP1678885B1/en active Active
- 2004-10-12 JP JP2006534471A patent/JP2007509521A/ja active Pending
- 2004-10-12 WO PCT/US2004/033794 patent/WO2005036832A1/en active Application Filing
- 2004-10-12 CA CA2541137A patent/CA2541137C/en active Active
- 2004-10-12 DE DE602004018365T patent/DE602004018365D1/de active Active
- 2004-10-12 AU AU2004306787A patent/AU2004306787A1/en not_active Abandoned
-
2006
- 2006-04-05 IL IL174814A patent/IL174814A0/en unknown
- 2006-04-05 IL IL174816A patent/IL174816A0/en unknown
- 2006-04-05 IL IL174815A patent/IL174815A0/en unknown
-
2007
- 2007-01-04 HK HK07100141.1A patent/HK1096211A1/xx unknown
- 2007-01-04 HK HK07100143A patent/HK1096213A1/xx unknown
- 2007-01-04 HK HK07100142.0A patent/HK1096212A1/xx unknown
Also Published As
Publication number | Publication date |
---|---|
EP1678885A1 (en) | 2006-07-12 |
WO2005036832A1 (en) | 2005-04-21 |
IL174815A0 (en) | 2006-08-20 |
US7562146B2 (en) | 2009-07-14 |
CA2541137C (en) | 2016-06-14 |
IL174814A0 (en) | 2006-08-20 |
HK1096212A1 (en) | 2007-05-25 |
JP2007509521A (ja) | 2007-04-12 |
EP1678885B1 (en) | 2008-12-10 |
ATE406751T1 (de) | 2008-09-15 |
CA2541137A1 (en) | 2005-04-21 |
AU2004306787A1 (en) | 2005-04-21 |
HK1096213A1 (en) | 2007-05-25 |
HK1096211A1 (en) | 2007-05-25 |
DE602004018365D1 (de) | 2009-01-22 |
ATE417437T1 (de) | 2008-12-15 |
US20050080907A1 (en) | 2005-04-14 |
IL174816A0 (en) | 2006-08-20 |
DE602004016200D1 (de) | 2008-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20060120032A (ko) | 세션의 지속성과 신뢰성을 위한 프로토콜 캡슐화 | |
US7984157B2 (en) | Persistent and reliable session securely traversing network components using an encapsulating protocol | |
US7502726B2 (en) | Systems and methods for maintaining a session between a client and host service | |
US8407350B2 (en) | System and method for projecting content beyond firewalls | |
US9705852B2 (en) | Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion | |
US7343398B1 (en) | Methods, apparatuses and systems for transparently intermediating network traffic over connection-based authentication protocols | |
US8261057B2 (en) | System and method for establishing a virtual private network | |
US20110289311A1 (en) | Method of performance-aware security of unicast communication in hybrid satellite networks | |
KR20060096986A (ko) | 개인 원격 방화벽 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |