KR20060120035A - 신뢰성 높고 지속적인 통신 세션들을 통한 클라이언트 자동재연결 - Google Patents

신뢰성 높고 지속적인 통신 세션들을 통한 클라이언트 자동재연결 Download PDF

Info

Publication number
KR20060120035A
KR20060120035A KR1020067006932A KR20067006932A KR20060120035A KR 20060120035 A KR20060120035 A KR 20060120035A KR 1020067006932 A KR1020067006932 A KR 1020067006932A KR 20067006932 A KR20067006932 A KR 20067006932A KR 20060120035 A KR20060120035 A KR 20060120035A
Authority
KR
South Korea
Prior art keywords
client
service
protocol
connection
ticket
Prior art date
Application number
KR1020067006932A
Other languages
English (en)
Inventor
아나톨리 파나슠
안드레 크레이머
브레들리 제이 페더슨
데이빗 신 스톤
테리 트레더
Original Assignee
사이트릭스 시스템스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/683,881 external-priority patent/US7562146B2/en
Application filed by 사이트릭스 시스템스, 인크. filed Critical 사이트릭스 시스템스, 인크.
Publication of KR20060120035A publication Critical patent/KR20060120035A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 신뢰성있고 지속적인 통신 세션에 걸쳐 사용자에게 인증을 제공하고 클라이언트를 재연결하기 위한 방법 및 시스템에 관한 것이다. 다수의 2차 프로토콜을 캡슐화하는 제 1 프로토콜이 사용되어 네트워크를 통해 통신한다. 제 1 프로토콜 서비스는 제 1 프로토콜을 사용하여 클라이언트와 호스트 서비스 간에 세션 영속성과 신뢰할 만한 연결을 제공한다. 클라이언트와 호스트 서비스 간의 네트워크 연결에서 단절이 있는 경우에, 사용자의 인증서를 재기입하거나, 호스트 서비스와의 사용자 세션을 재-설정하는 것 없이 호스트 서비스로 연결이 재-설정되고 사용자가 재인증된다.

Description

신뢰성 높고 지속적인 통신 세션들을 통한 클라이언트 자동 재연결{AUTOMATICALLY RECONNECTING A CLIENT ACROSS RELIABLE AND PERSISTENT COMMUNICATION SESSIONS}
본 발명은 일반적으로 네트워크와 클라이언트-서버 통신에 관한 것이다. 특히, 본 발명은 세션(session)에 지속성과 신뢰도를 제공하기 위해 다른 프로토콜들을 캡슐화(encapsulate)하는 통신 프로토콜을 이용하여 클라이언트 통신을 재설정(re-establishing)하는 시스템 및 방법과, 캡슐화하는 프로토콜을 경유하여 서버 컴퓨터와 통신하기 위해 클라이언트 컴퓨터를 이용함으로써 사용자의 재인증을 간편화하는 시스템 및 방법에 관한 것이다.
2대의 컴퓨터, 일 예로 클라이언트와 서버 간의 네트워크 통신은 이미 알려진 다양한 통신 프로토콜을 이용하여 구현될 수 있다. 그러나, 간혹 상기 네트워크 연결은 쉽게 브레이크 다운(break down)될 수 있다. 예를 들면, 클라이언트와 서버 간의 무선 연결은 간혹 신뢰할 수 없으며, 이외의 경우에도 상기 네트워크 연결은 때때로 중단된다. 이와 같이 상기 연결은 사용자가 엘리베이터 또는 터널에 들어갈 때 차단되고, 이는 단지 다시 사용자가 엘리베이터 또는 터널에서 나올 때 복원될 수 있다.
클라이언트와 서버 컴퓨터 간의 확립된 통신 세션이 비정상적으로 종결되면, 상기 클라이언트는 일반적으로 새로운 통신 세션을 작동시킴으로써 연결을 재설정(re-establishing)하여야 한다. 이와 같은 새로운 통신 세션을 시작하기 위해서는 사용자가 로그인/패스워드와 같은 인증서(authentication credentials)를 서버 컴퓨터로 재전송 해야하며, 이에 상기 서버 컴퓨터는 사용자에게 상기 새로운 통신 세션에 대한 인증을 할 수 있다. 이와 같은 다중 통신 세션을 통한(across) 사용자 인증서의 재전송은 상기 인증서의 보안 레벨을 감소시키기 때문에 반복적으로 포텐셜 공격자들(potential attackers)에 그 사용자의 인증서를 노출시킨다. 게다가, 이와 같은 방식은 사용자의 좌절감과 비효율을 초래하는 느린 프로세스이다.
또한, 새로운 통신 세션을 확립함에 있어, 네트워크는 클라이언트가 인터넷 프로토콜 어드레스와 같은 새로운 네트워크 식별자(identifier)를 획득할 것을 요구할 수 있다. 이에 클라이언트 상의 애플리케이션(application) 또는 프로그램들은 상기 클라이언트 네트워크 식별자에 변화 때문에 재시작될 필요가 있을 수 있다. 그러므로, 클라이언트 컴퓨터와 서버 컴퓨터 간의 통신 세션이 클라이언트의 인증서의 반복된 전송을 요구하거나 프로그램의 재시작하는 것 없이 재설정(re-establishing)될 때, 자동적으로 클라이언트를 재인증하기 위한 기술을 제공하는 것은 바람직하다.
개선된 시스템과 방법은 반복적인 인증서 전송 없이 클라이언트 컴퓨터와 서버 컴퓨터 간에 통신 세션이 재설정(re-establishing)되는 것이 요구된다.
본 발명의 다른 목적, 양상, 특징 및 장점들은 이하 첨부된 도면과 발명의 상세한 설명을 통해 더욱 명확해지고 잘 이해될 것이다.
도 1A는 본 발명의 일 실시 예에 의한 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하는 시스템의 블록도이다.
도 1B는 본 발명의 다른 실시 예에 의한 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하는 시스템의 블록도이다.
도 2A는 본 발명의 일 실시 예에 의해 네트워크 상에서 발생되는 통신을 나타내는 도면.
도 2B는 본 발명의 다른 실시 예에 의해 네트워크 상에서 발생되는 통신을 나타내는 도면.
도 3은 본 발명의 일 실시 예에 의해 네트워크 상에서 통신을 위한 제 1 프로토콜 내의 다수의 2차 프로토콜을 캡슐화하는 프로세스를 나타내는 도면.
도 4는 본 발명에 의해 인증서를 유지하도록 하는 컴퓨터 시스템의 실시 예를 나타내는 블록도이다.
도 5A는 본 발명에 의해 제 1 통신 세션 동안 인증서를 유지하기 위해 도 4에 도시된 컴퓨터 시스템의 실시 예가 수행되는 단계를 나타내는 흐름도이다.
도 5B는 본 발명에 의해 도 5A의 제 1 통신 세션의 종료에 따른 제 2 통신 세션 동안 인증서를 유지하기 위해 도 4에 도시된 컴퓨터 시스템의 실시 예가 수행되는 단계를 나타내는 흐름도이다.
도 6은 본 발명의 다른 실시 예에 의한 인증서를 유지하도록 하는 컴퓨터 시스템의 실시 예의 블록도이다.
도 7A는 본 발명에 의해 제 1 통신 세션 동안 인증서를 유지하기 위해 도 6에 도시된 컴퓨터 시스템의 실시 예가 수행되는 단계를 나타내는 흐름도이다.
도 7B는 본 발명에 의해 도 6의 제 1 통신 세션의 종료에 따른 제 2 통신 세션 동안 인증서를 유지하기 위해 도 6에 도시된 컴퓨터 시스템의 실시 예가 수행되는 단계를 나타내는 흐름도이다.
도 7B는 본 발명에 의해 도 6의 제 1 통신 세션의 종료에 따른 제 2 통신 세션 동안 인증서를 유지하기 위해 도 6에 도시된 컴퓨터 시스템의 실시 예가 수행되는 단계를 나타내는 흐름도이다.
도 7C는 본 발명에 의해 도 6의 제 1 통신 세션의 제 2 통신 채널의 종료에 따른 제 2 통신 세션 동안 인증서를 유지하기 위해 도 6에 도시된 컴퓨터 시스템의 실시 예가 수행되는 단계를 나타내는 흐름도이다.
도 8A는 본 발명의 일 실시 예에 의해 인증서를 유지하고, 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하는 시스템의 블록도이다.
도 8B는 본 발명의 다른 실시 예에 의해 인증서를 유지하고, 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하는 시스템의 블록도이다.
도 9A는 본 발명의 다른 실시 예에 의해 인증서를 유지하고, 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하는 시스템의 블록도이다.
도 9B는 본 발명의 다른 실시 예에 의해 인증서를 유지하고, 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하는 시스템의 블록도이다.
도 10A는 본 발명의 실시 예에 의해 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하고, 상기 호스트 서비스에 상기 클라이언트를 재연결시키는 성분(components)을 더 포함하는 시스템의 블록도이다.
도 10B는 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하고, 상기 호스트 서비스에 상기 클라이언트를 재연결시키는 성분(components)을 더 포함하는 시스템의 실시 예에 대한 블록도이다.
도 11A는 도 10A의 실시 예로서, 호스트 서비스에 처음 클라이언트를 연결시키기 위한 구성요소(components)를 더 포함함을 나타내는 블록도이다.
도 11B는 본 발명의 실시 예에 의해 호스트 서비스에 처음 클라이언트를 연결시키기 위한 구성요소(components)를 더 포함하고, 인증서를 유지하는 도 10B의 시스템을 나타내는 블록도이다.
도 12A는 본 발명의 실시 예에 의한 네트워크 통신 방법의 흐름도이다.
도 12B는 호스트 서비스에 클라이언트를 재연결시키기 위한 방법의 흐름도이다.
도 13A 내지 13C는 본 발명의 실시 예에 의해 다수의 호스트 서비스에 클라이언트를 연결시키기 위한 방법의 흐름도이다.
도 14는 본 발명의 실시 예에 의해 호스트 서비스로의 신뢰성 높은 연결을 클라이언트에 제공하고, 상기 호스트 서비스에 상기 클라이언트를 재연결시키기 위한 방법의 흐름도이다.
도 15A 및 15B는 본 발명의 실시 예 의해 호스트 서비스에 클라이언트를 재연결시키기 위한 방법의 흐름도이다.
본 발명은 호스트 서비스에 대한 지속적이고 신뢰성 높은 연결을 클라이언트에 제공하는 시스템 및 방법과, 지속적이고 신뢰성 높은 연결로서 상기 클라이언트를 재연결하는 시스템 및 방법에 관한 것이다. 상기 클라이언트를 재연결하는 것은 호스트 서비스로 클라이언트의 통신 세션을 재설정하는 것과, 클라이언트의 사용자를 상기 호스트 서비스에 재인증하는 것을 포함한다. 호스트 서비스로의 지속적이고 신뢰성 높은 연결은 클라이언트를 대표하는 제 1 프로토콜 서비스에 의해 유지된다. 상기 제 1 프로토콜 서비스는 클라이언트와 호스트 서비스 간에서 통신된 데이터가 버퍼링되고, 상기 클라이언트와 상기 제 1 프로토콜 서비스의 네트워크 연결이 두절(disruption)된 기간에도 유지될 것을 보증한다. 일 예로 모바일 클라이언트와 같은 클라이언트가 동일한 네트워크 내에서 다른 액세스 포인트 간에 로밍할 때나, 또는 클라이언트가 네트워크 간에 전환(예를 들어, 유선 네트워크에서부터 무선 네트워크로)할 때 네트워크 연결에 일시적인 두절이 발생할 수 있다. 다른 액세스 포인트 간에 로밍할 때, 상기 클라이언트는 네트워크 토폴로지(topolgy) 의해 요구되는 인터넷 프로토콜 어드레스와 같은 다른 네트워크 식별 번호를 할당받을 필요가 있을 수 있다. 게다가 네트워크 두절 기간 동안 버퍼링된 데이터를 유지함에 있어, 제 1 프로토콜 서비스는 상기 제 1 프로토콜 서비스에 상기 클라이언트의 연결을 재설정할 때 상기 클라이언트를 호스트 서비스에 재인증한다. 상기 재 인증 후, 제 1 프로토콜 서비스는 상기 호스트 서비스에 클라이언트 연결을 다시 재 링크(re-link)한다. 이는 상기 클라이언트의 사용자가 상기 호스트 서비스에의 연결을 재설정하기 위해 인증서를 재 엔터링(re-entering)하는 것을 방지한다. 또한, 상기 제 1 프로토콜 서비스는 네트워크 두절 뒤에 발생할 필요가 있을 수 있는 클라이언트의 네트워크 식별자를 자동적으로 변경하는 것을 다룰 것이다. 이는 습관적으로 클라이언트의 지정된 네트워크 식별자가 변할 때 재시작될 필요가 있는 어떠한 애플리케이션 또는 프로그램에 대해 사용자가 이를 재시작하는 것을 방지한다. 이에 사용자의 네트워크 액세스 포인트 간 로밍에 있어 클라이언트의 지정된 네트워크 식별자에 의한 네트워크 변경을 해야하는 방해 없이 사용자는 상기 클라이언트의 이용을 계속할 수 있다. 요약하면, 본 발명은 사용자의 재 엔터링(reentering) 인증서 없이 재인증하는 것을 포함하여, 애플리케이션의 재 시작(restarting) 또는 세션의 재설정 없이 호스트 서비스에 대한 붕괴된 클라이언트 연결의 자동적인 재연결을 제공한다.
제 1 측면에서, 본 발명은 네트워크 연결 두절 뒤 호스트 서비스에 클라이언트를 재연결 시키기 위한 방법에 관한 것이다. 그 방법은 클라이언트와 호스트 서비스 간에 연결을 재설정하기 위해 제 1 프로토콜 서비스를 이용한다. 그 방법은 클라이언트와 제 1 프로토콜 서비스 간의 제 1 연결과 제 1 프로토콜 서비스와 호스트 서비스 간의 제 2 연결을 제공하는 것을 포함한다. 상기 제 1 연결에서 두절이 검출될 때, 상기 제 1 프로토콜 서비스와 호스트 서비스 간의 제 2 연결이 유지된다. 그리고나서, 상기 클라이언트와 제 1 프로토콜 서비스 간의 제 1연결은 재설정된다. 상기 제 1 프로토콜 서비스는 클라이언트를 관련된 티켓(ticket)을 수신하고 티켓을 확인한다(validate). 상기 티켓이 확인된 후, 재설정된 제 1 연결은 상기 유지된 제 1 연결과 링크된다.
본 발명의 일 실시 예에서, 상기 방법은 유지된 제 2 연결과 재설정된 제 1 연결을 링크하기 전에 상기 티켓을 더 확인하는 것을 포함한다. 상기 확인 방법은 제 1 프로토콜 서비스에 의해 수신된 티켓으로부터 세션 식별자와 키를 획득하는 것을 더 포함한다. 상기 티켓으로부터의 세션 식별자는 클라이언트의 저장되고 암호화된 인증서를 회수하기 위해 이용된다. 그리고나서, 상기 티켓으로부터의 키는 상기 회수된 인증서를 해독하기 위해 이용된다.
다른 실시 예에 있어서, 본 발명은 호스트 서비스에 클라이언트의 연결이 재설정될 때 호스트 서비스에 클라이언트의 재인증을 제공한다. 그 방법은 클라이언트와 제 1 프로토콜 서비스 간의 제 1 연결 및 상기 제 1 프로토콜 서비스와 호스트 서비스 간의 제 2 연결이 제공될 때, 상기 호스트 서비스에 클라이언트를 인증하는 것을 더 포함한다. 연결의 두절이 검출된 후 상기 제 1 연결을 재설정 할 때, 상기 방법은 호스트 서비스에 클라이언트를 재인증하는 것을 더 포함한다.
본 발명의 또 다른 실시 예에서, 상기 방법은 클라이언트를 관련된 티켓을 발생시키는 제 1 프로토콜 서비스를 더 포함한다. 이에 덧붙여, 상기 방법은 상기 티켓이 확인된 후 이를 삭제하는 것을 더 포함한다. 또 다른 실시 예에서 상기 티켓은 기 설정된 기간 뒤에 자동적으로 삭제될 수 있다. 더욱이, 상기 티켓이 삭제된 후, 교체(replacement) 티켓이 발생될 수 있다. 다른 실시 예에 있어서, 상기 티켓의 사본은 상기 제 1 프로토콜 서비스에 저장될 수 있다. 게다가, 상기 티켓은 제 1 프로토콜 서비스에서 클라이언트로 전송될 수 있다.
다른 측면에서, 본 발명은 네트워크 연결이 두절된 뒤에 호스트 서비스에 클라이언트를 재연결하는 시스템에 관한 것이다. 상기 시스템은 제 1 프로토콜 서비스를 이용하여 상기 클라이언트와 호스트 서비스 간의 연결을 재설정한다. 상기 클라이언트는 상기 제 1 프로토콜 서비스와의 제 1 연결을 유지하도록 형성된다. 상기 제 1 프로토콜 서비스는 상기 클라이언트와의 제 1 연결 및 상기 호스트 시스템과의 제 2 연결을 유지하도록 형성된다. 상기 시스템에 의해, 두절(disrution)은 상기 제 1 연결에서 검출되고, 상기 제 1 연결은 제 1 프로토콜 서비스와 호스트 서비스 간의 제 2 연결이 유지되는 동안 상기 클라이언트와 제 1 프로토콜 서비스 간에서 재설정된다. 상기 클라이언트는 상기 제 1 프로토콜 서비스에 클라이언트를 관련된 티켓을 전송한다. 상기 티켓이 확인되고, 상기 티켓이 확인된 후, 상기 제 1 프로토콜 서비스는 재설정된 제 1 연결을 유지되고 있는 제 2 연결에 링크한다.
본 발명의 일 실시 예에서, 상기 시스템은 상기 재설정된 제 1 연결을 유지되고 있는 제 2 연결에 링크하기 전에 상기 티켓을 확인하는 것을 더 포함한다. 상기 티켓의 확인는 상기 제 1 프로토콜 서비스에 의해 수신된 티켓으로부터 세션 식별자와 키를 획득하는 것을 더 포함한다. 상기 티켓으로부터의 세션 식별자는 클라이언트의 저장되고 암호화된 인증서를 회수하기 위해 이용된다. 그리고나서, 상기 시스템은 상기 티켓으로부터의 키를 이용하여 상기 회수된 인증서를 해독한다.
다른 실시 예에 있어서, 본 발명은 호스트 서비스에 클라이언트 연결을 재설정할 때, 호스트 서비스에 클라이언트를 재인증하기 위한 시스템을 제공한다. 상기 시스템은 클라이언트와 제 1 프로토콜 서비스 간의 제 1 연결 및 제 1 프로토콜 서비스와 호스트 서비스 간의 제 2 연결을 제공할 때, 상기 호스트 서비스에 클라이언트를 인증하는 것을 포함한다. 연결에서 두절을 검출한 후, 상기 연결을 재설정할 때, 상기 시스템은 상기 호스트 서비스에 클라이언트를 재인증하기 위해 상기 회수된 인증서를 이용한다.
본 발명의 또 다른 실시 예에서, 시스템은 클라이언트에 관련된 티켓을 생성하는 제 1 프로토콜 서비스를 더 포함한다. 또한, 상기 시스템은 상기 티켓이 확인된 후 이를 삭제하는 것을 포함한다. 일 실시 예에서, 상기 제 1 프로토콜 서비스는 상기 티켓을 기 설정된 기간 뒤에 자동적으로 삭제할 수 있다. 더욱이, 상기 티켓이 삭제된 후, 상기 시스템은 교체 티켓을 생성한다. 다른 실시 예에 있어서, 상기 제 1 프로토콜 서비스는 상기 티켓의 사본을 저장한다. 게다가, 제 1 프로토콜 서비스는 상기 티켓을 클라이언트로 전송할 수 있다.
본 발명의 실시 예들이 이하에 기술된다. 단, 상기 실시 예들에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 범위 내라면 이하에서 표현된 내용의 부가 및 변경도 또한 포함된다. 더욱이, 이하에 기술된 다양한 실시 예들의 형태는 상호배타적이지 않으며, 다양한 조합 및 치환이 가능하고, 본 발명의 사상 및 범위로부터 벗어나지 않는 범위 내에서 이하에 표현된 바에 의해 만들어 지지 않은 상기 조합 및 치환도 가능할 수 있음은 당업자에게 명확하다.
도 1A를 참조하면, 일반적으로 본 발명은 네트워크 통신에 속하고, 특히 호스트 서비스에 신뢰성 높은 연결을 클라이언트에 제공하기 위해 유용하게 사용될 수 있다. 개괄적으로, 네트워크 통신을 위한 시스템(100)은 네트워크(104) 상에서 제 1 프로토콜 서비스(112)(예를 들어, 제 2 컴퓨팅 장치)와 통신하는 클라이언트(108)(예를 들어, 제 1 컴퓨팅 장치)를 포함한다. 또한, 상기 시스템(100)은 네트워크(104') 상에서 제 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')는 일 예로 사내 인트라넷과 같은 랜(Local-Area Network, LAN) 또는 인터넷, 월드와이드웹(World Wide Web)과 같은 광역 네트워크(Wide-Area Network, WAN)일 수 있다. 상기 클라이언트(108), 제 1 프로토콜 서비스(112), 호스트 서비스(116a-116n) 및/또는 호스트 노드(118a-118n)들은 규격 전화선, 랜 또는 광역 네트워크 링크(예 : 802.11, T1, T3, 56kb, X.25), 광대역 연결(예 : ISDN, Frame Relay, ATM), 무선 연결 또는 상기 언급한 것의 적어도 하나 이상의 조합에 따른 다양한 연결 수단을 통하여 연결된다.
게다가, 상기 클라이언트(108)는 워크스테이션, 데스크탑 컴퓨터, 랩탑, 핸드헬드 컴퓨터, 모바일 전화기 또는 통신 가능하고 충분한 프로세서 파워와 상기 언급한 기능을 수행하기 위한 메모리 용량을 가지는 다른 형태의 컴퓨팅 또는 정보통신 기기가 될 수 있다. 덧붙여, 상기 클라이언트(108)는 로컬 네트워크(104)에 로컬 데스크탑 클라이언트이거나 개별 네트워크(104)의 원격 디스플레이 클라이언트일 수 있다. 상기 클라이언트(108)는 예를 들어, 비주얼 디스플레이 장치(예: 컴퓨터 모니터), 데이터 입력 장치(예: 키보드), 비휘발성 및/또는 휘발성 스토리지(예: 컴퓨터 메모리), 프로세서, 그리고 마우스를 포함할 수 있다. 사용자 인터페이스를 갖는 클라이언트 에이전트(Client Agent)(128)의 일 예는 웹 브라우저이다.( 예: 마이크로소프트. 인터넷 익스플로러 브라우저 및/또는 네스케이프 브라우저 ).
이와 마찬가지로, 도 1A에 도시된, 상기 제 1 프로토콜 서비스(112)와 호스트 서비스(116a-116n)는 각각 통신 가능하고, 명세서 상에 기재된 작동을 수행하기에 충분한 프로세서 파워와 메모리 용량을 가지는 어떠한 계산 장치로도 제공될 수 있다. 또는, 제 1 프로토콜 서비스(112)와 호스트 서비스(116a-116n)는 도 1B에 도시된 바와 같이 동일한 컴퓨팅 장치 즉, 일 예로 호스트 노트(118a-118n) 중 하나에 병합되는 것으로, 상기 제 1 프로토콜 서비스(112) 및/또는 호스트 서비스(116a-116n)은 일반적인 컴퓨터 및/또는 예를 들어 ASIC 또는 FPGA와 같은 특수 목적 하드웨어 장치를 동작시키는 소프트웨어 프로그램으로서 구현될 수 있다.
상기 클라이언트(108)와 유사하게, 각각의 호스트 노드들(118a-118n)은 각각 통신 가능하고, 명세서 상에 기재된 작동을 수행하기에 충분한 프로세서 파워와 메모리 용량을 가지는 앞서 설명한 바와 같은(예 : 퍼스널 컴퓨터) 어떠한 계산 장치도 제공될 수 있다. 각각의 호스트 노드들(118a-118n)은 다양한 통신 프로토콜들(예: ICA, HTTP, TCP/IP 그리고 IPX), SPX, 넷 바이오스, 이더넷, RS232, 직접적인 비동기 연결)을 사용하여 통신 채널들(124a-124n) 상에서 통신을 설정할 수 있다.
일 실시 예로서, 각각의 호스트 서비스(116a-116n)는 원격 조작으로 클라이언트(108)에 이용 가능한 하나 이상의 애플리케이션 프로그램을 호스팅한다. 동일한애플리케이션 프로그램은 하나 또는 임의 수의 호스트 서비스(116a-116n)에 의해 호스팅될 수 있다. 이와 같은 애플리케이션들은 마이크로소프트 워드와 같은 워드프로세싱 프로그램들, 마이크로소프트 엑셀과 같은 스프레드시트 프로그램들, Microsoft Corporation of Redmond, Washington.으로부터 이용가능한 프로세싱 프로그램들 및 스프레드 프로그램들을 포함한다. 애플리케이션 프로그림들의 다른 실시 예로서 어떠한 또는 모든 호스트 서비스(116a-116n)에 의해 호스팅받을 수 있는 재정 처리 프로그램, 고객 등록 프로그램, 프로그램이 기술 자원 정보, 고객 데이터베이스 애플리케이션 및 애플리케이션 세트 매니저를 포함한다. 더욱이 일 실시 예로서, 하나 이상의 호스트 서비스(116a-116n)는 상기 클라이언트(108)에 스트리밍 오디오 및/또는 스트리밍 비디오를 제공하는 오디오/비디오 스트리밍 서버이다. 다른 실시 예에 있어서, 상기 호스트 서비스(116a-116n)는 상기 클라이언트(108)에 어떠한/모든 파일 유형을 제공하는 파일 서버를 포함한다.
도 1A 및 도 1B를 참조하면, 상기 클라이언트(108)는 제 1 프로토콜을 이용하여 네트워크(104) 상에서 클라이언트(108)와 제 1 프로토콜 서비스(112) 간의 연결을 설정하도록 형성된다. 이에 대해 상기 제 1 프로토콜 서비스(112)는 연결(120)을 받아드리도록 형성된다. 따라서, 상기 클라이언트(108)와 제 1 프로토콜 서비스(112)는 이하 도 2A, 2B 및 도 3에 기술되는 바와 같은 제 1 프로토콜을 이용하여 서로 통신할 수 있게 된다.
도 1A 및 도 1B에 도시된 바와 같이, 몇몇의 실시 예에서, 클라이언트 에이전트(128)는 상기 클라이언트(108)에 포함된다. 상기 클라이언트 에이전트(128)은 일 예로 소프트웨어 프로그램 및/또는 ASIC 또는 FPGA와 같은 하드웨어 기기로 구현될 수 있다. 상기 클라이언트 에이전트(128)은 어떤 종류의 프로토콜도 이용할 수 있고, 이는 일 예로 HTTP 클라이언트 에이전트, FTP 클라이언트 에이전트, Oscar 클라이언트 에이전트, Telnet 클라이언트 에이전트, Citrix 시스템로부터의 ICA(Independent Computing Architecture) 클라이언트 에이전트, Microsoft Corporation of Redmond, Washington.으로부터의 RDP(Remote Desktop Procedure) 클라이언트 에이전트가 될 수 있다. 몇몇 실시 예로서, 상기 클라이언트 에이전트(128)은 제 1 프로토콜을 사용하여 통신할 수 있도록 자체적으로 구현된다. 몇몇 실시 예에서는(미도시), 상기 클라이언트(108)는 다수의 클라이언트 에이전트(128a-128n)을 포함하며, 이들은 각각 호스트 서비스(116a-116n)과 통신한다.
다른 실시 예에 있어서, 단독 수행 클라이언트 에이전트는 제 1 프로토콜을 이용함으로써 클라이언트(108)가 통신할 수 있도록 구현된다. 상기 단독 수행 클라이언트 에이전트는 상기 클라이언트(108) 내에 통합될 수 있거나, 또는, 단독 수행 클라이언트 에이전트가 상기 클라이언트(108)로부터 분리될 수 있다. 상기 단독 수행 클라이언트 에이전트는 예를 들어, 로컬 호스트 프록시(local host proxy)이다. 일반적으로, 상기 단독 수행 클라이언트 에이전트는 상기 클라이언트 에이전트(128)과 비교하여 본 명세서 상에 기술된 어떠한 기능도 구현시킬 수 있다.
이하 기술되는 바와 같이, 상기 제 1 프로토콜 서비스(112)는 일 실시 예로서 제 1 프로토콜을 이용하여 통신할 수 있도록 자체적으로 구현된다. 상기 제 1 프로토콜 서비스(112)는 각각 제 1 프로토콜 서비스(112)와 호스트 서비스(116a-116n) 간의 연결(124a-124n)을 설정하도록 형성된다. 예를 들어, 상기 제 1 프로토콜 서비스(112)는 제 1 프로토콜 서비스(112)와 하나의 호스트 서비스(116a) 간의 연결(124a) 및 제 1 프로토콜 서비스(112)와 또 다른 호스트 서비스(116b) 간의 연결(124b)를 설정할 수 있다. 일 실시 예로서, 상기 제 1 프로토콜 서비스(112)는 이와 같은 연결(124a-124n)을 개별적으로 설정한다.(즉, 제 1 프로토콜 서비스(112)가 한번에 하나의 연결을 설정한다.) 다른 실시 예로서, 상기 제 1 프로토콜 서비스(112)가 동시에 이와 같은 적어도 2개 이상의 연결(124a-124n)을 설정한다.
또 다른 실시 예로서, 상기 제 1 프로토콜 서비스(112)는 다중의 연결(124a-124n)을 동시에 설정하고, 이를 유지할 수 있다. 상기 제 1 프로토콜 서비스(112)는 상기 클라이언트(108)로의 연결에 대한 중단(interrupt)없이 적어도 2개 이상의 연결(124a-124n)을 제공할 수 있도록 구현된다. 예를 들어, 상기 제 1 프로토콜 서비스(112)는 상기 클라이언트(108)의 사용자가 상기 호스트 서비스(116a) 상에 속한 제 1 애플리케이션 프로그램의 실행 처리를 요구할 때, 상기 제 1 프로토콜 서비스(112)와 호스트 서비스(116a) 간의 연결(124a)을 설정하도록 구현될 수 있다. 사용자가 상기 제 1 애플리케이션 프로그램의 실행을 종료하고, 예를 들어 호스트 서비스(116b)에 속한 제 2 애플리케이션 프로그램의 실행을 시작할 때, 일 실시 예로서 상기 제 1 프로토콜 서비스(112)는 상기 제 1 프로토콜 서비스(112)와 클라이언트(108) 간의 연결(120)을 두절하지 아니하고, 상기 제 1 프로토콜 서비스(112)는 연결(124a)을 중단하고, 상기 제 1 프로토콜 서비스(112)와 호스트 서비스(116b)의 연결(124b)을 설정하도록 구현된다.
상기 제 1 프로토콜 서비스(112)와 호스트 서비스(116a-116n)는 HTTP, FTP, Oscar, Telnet, Citrix 시스템로부터의 ICA 원격 디스플레이 프로토콜, 및/또는 Microsoft Corporation of Redmond, Washington.으로부터의 RDP 원격 디스플레이 프로토콜을 포함하는 다양한 2차 프로토콜 중 어느 하나를 각각 이용하는 상기 연결(124a-124n)을 통해 통신할 수 있다.
예를 들어, 상기 제 1 프로토콜 서비스(112)와 호스트 서비스(116a)는 ICA 원격 디스플레이 프로토콜을 이용하여 연결(124a)을 통해 통신할 수 있고, 반면에 상기 제 1 프로토콜 서비스(112)와 호스트 서비스(116b)는 RDP 원격 디스플레이 프로토콜을 이용하여 연결(124b)을 통해 통신할 수 있다.
일 실시 예로서, 상기 제 1 프로토콜 서비스(112) 및 호스트 서비스(116) 간의 통신에 사용되는 ICA 원격 디스플레이 프로토콜과 같은 2차 프로토콜은 다수의 가상(virtual) 채널을 포함한다. 가상 채널은 데이터 교환의 커맨드(command)를 발행(issue)하기 위한 애플리케이션 층(layer) 코드에 의해 사용되는 세션-오리엔티드(session-oriented) 전송 연결이다. 예를 들어, 다수의 가상 채널 각각은 원격의 클라이언트(108)에서 기능을 구현할 수 있도록 하는 다수의 프로토콜 패킷들을 포함할 수 있다. 일 실시 예로서, 상기 다수의 가상 채널 중 하나는 클라이언트 (108)가 그래픽 사용자 인터페이스를 디스플레이하도록 하기 위한 제 1 프로토콜 서비스(112)를 통하여, 상기 호스트 서비스(116)로부터 상기 클라이언트(108)에 그래픽 스크린 커맨드를 전송하도록 하는 프로토콜 패킷을 포함한다. 다른 실시 예에 있어서, 상기 다수의 가상 채널 중 하나는 클라이언트(108)가 문서를 출력하도록 하기 위한 제 1 프로토콜 서비스(112)를 통하여, 상기 호스트 서비스(116)로부터 상기 클라이언트(108)에 프린터 커맨드를 전송하도록 하는 프로토콜 패킷을 포함한다.
또 다른 실시 예에 있어서, 상기 제 1 프로토콜은 터널링(tunneling) 프로토콜이다. 상기 제 1 프로토콜 서비스(112)는 제 1 프로토콜 내에, 호스트 서비스(116a-116n) 중 하나와 제 1 프로토콜 서비스(112) 간의 통신을 위해 각각 사용되는 다수의 2차 프로토콜을 캡슐화한다. 이와 같이 상기 호스트 서비스(116a-116n)와 제 1 프로토콜 서비스(112)는 다수의 2차 프로토콜을 경유하여 클라이언트 (108)와 통신한다. 일 실시 예로서, 상기 제 1 프로토콜은 예를 들어, TCP/IP 연결 상에서 다중 2차 프로토콜에 터널링시킬 수 있는 애플리케이션-레벨 이동 프로토콜이다.
도 2A를 참조하면, 연결(120)을 경유하는 클라이언트(108)와 제 1 프로토콜 서비스(112) 간의 통신은 제 1 프로토콜(204) 내에서 캡슐화된 다수의 2차 프로토콜(200a-200n)의 형태를 갖는다.(예 : HTTP, FTP, Oscar, Telnet, ICA 및/또는 RDP) 이는 상기 제 1 프로토콜(204) 내에서 상기 2차 프로토콜(200a-200n)의 위치에 의해 표시된다. 보안 통신이 요청되지 않는 경우 상기 제 1 프로토콜(204)은 도2A에 도시된 바와 같이, 비보안 TCP/IP 연결(208) 상에서 통신된다.
도 2B를 참조하면, 보안 통신이 사용되면, 상기 제 1 프로토콜(204)은 예를 들어 보안 소켓 층(Secure Socket Layer, SSL)과 같은 보안 프로토콜(216) 사용에 의해 보안되는 TCP/IP 연결(212)과 같은 암호화된 연결 상에서 통신된다. 상기 SSL은 Netscape Communication Corporation of Mauntain View, Califonia에 의해 최초로 개발된 보안 프로토콜이고, 현재는 전송계층 보안(Transport Layer Security, TLS) 프로토콜로서 IETF(Internet Engineering Task Force)에 의해 선포되고 IETF RFC-2246에 기술된 표준이다.
그러므로, 상기 다수의 2차 프로토콜들(200a-200n)은 연결(120) 상의 보안 프로토콜(216)이 있거나(도 2B) 또는 없는(도 2A) 제 1 프로토콜 내에서 통신된다.
상기 2차 프로토콜들은 HTTP, FTP, Oscar, Telnet, ICA를 포함하는 연결들(124a-124n) 상에서 통신하기 위해 사용될 수 있다. 게다가, 일 실시 예로서, 앞서 언급한 적어도 하나 이상의 2차 프로토콜들은 다수의 가상 채널들을 포함하고, 그들 각각은 원격의 클라이언트(108)의 기능을 구현하는 다수의 프로토콜 패킷을 포함한다. 일 실시 예로서, 예를 들면 하나의 호스트 서비스(106a)가 HTTP 프로토콜을 사용하는 연결(124a) 상에서 제 1 프로토콜 서비스(112)와 통신하는 웹 서버이고, 다른 하나의 호스트 서비스(116b)는 ICA 프로토콜을 사용하는 연결(124b) 상에서 제 1 프로토콜 서비스(112)와 통신하는 애플리케이션 서버이다. 상기 호스트 서비스(116b)는 상기 클라이언트(108)가 그래픽 사용자 인터페이스를 디스플레이하도록 하기 위해 상기 클라이언트(108)에 그래픽 스크린 커맨드을 전송하는 프로토콜 패킷과, 상기 클라이언트(108)가 문서를 출력하도록 하기 위해 상기 클라이언트(108)에 프린터 커맨드을 전송하는 프로토콜 패킷을 생성한다.
본 발명의 다른 측면은, 이하에서 기술되는 바와 같은 네트워크 연결들이 열리고 닫히는 횟수를 감축시키는 방법 및 시스템이다. 일 실시 예로서, 제 1 프로토콜(204)은 상기 2차 프로토콜 연결들(200a-200n)이 터널링되는 것을 허용한다. 즉, 일 예로 HTTP 연결(200n)은 열리거나 또는 닫히기 위해 반복적으로 상기 제 1 프로토콜(204) 상의 전송 연결의 요구 없이 통신되며(예 : TCP 연결(208) 및/또는 212), 보안 프로토콜 연결(216) 또는 제 1 프로토콜 연결(204)은 이와 유사하게 자체적으로 열림 및/또는 닫힘이 반복된다.
제 1 프로토콜(204)의 캡슐화가 없으면 상기 2차 프로토콜(200a-200n)은 TCP 연결들과 마찬가지로 자주 네트워크 연결들을 개폐하게 된다. 이는 시스템에 심각한 지연과 부하를 추가할 것이다. 이러한 지연과 부하는 네트워크 연결의 설정에 있어 심각한 부하를 가진 SSL과 같은 보안 캡슐화 프로토콜 214를 이용하여 더 증가된다. 제 1 프로토콜(204) 내에서 2차 프로토콜(200a-200n)을 캡슐화하고, 전송 연결(208, 212)의 연결을 유지함으로써, 제 1 프로토콜(204)의 페이로드(paylaod)이 일환으로 상기 2차 프로토콜(200a-200n)들은 네트워크 연결(120)의 빈번하고 손실이 큰 개폐 동작을 수행하지 않아도 된다. 게다가, 2차 프로토콜(200a-200n)이 보안 프로토콜(216)로 제 1 프로토콜(204) 내에서 통신될 수 있기 때문에, 상기 2차 프로토콜(200a-200n)은 또한 SSL과 같은 보안 연결을 개폐할 필요가 없다. 전송 연결(208, 212)은 보안 또는 비보안 네트워크 연결(120)의 반복적인 개폐없이 캡슐화된 제 2 프로토콜들(200a-200n)이 통신될 수 있도록 네트워크 연결(120)을 설정하고 유지한다. 이는 상기 2차 프로토콜(200a-200n)을 통신시킴에 있어 현저하게 작동의 속도를 증가시킨다.
상술한 바와 같이, 2차 프로토콜(200a-200n)은 HTTP, FTP, Oscar, Telnet, RDA 또는 ICA와 같은 프로토콜을 이용함으로써, 애플리케이션에 관련된 프로토콜 패킷을 운반한다. 상기 2차 프로토콜 패킷(304a-304n)은 상기 클라이언트(108)와 호스트 서비스(116a-116n) 간에 처리(transacted)된 애플리케이션 기능에 관련된 데이터를 운반한다. 일 예로, 클라이언트(108)의 사용자는 상기 호스트 서비스(116a-116n)에 의해 제공된 웹 페이지와 상호 작용을 할 수 있다. 상기 클라이언트(108)과 호스트 서비스(116a-116n) 간의 처리에 있어, 제 1 프로토콜(204) 내에서 캡슐화된 2차 프로토콜(200a-200n)은 웹 페이지를 디스플레이하고, 상기 호스트 서비스(116a-116n)에 통신하기 위한 어떠한 사용자의 상호작용을 접수하는 http 프로토콜 패킷들을 가질 수 있다. 상기 전송 연결(208, 212)이 2차 프로토콜(200a-200n)에 의해 유지되지 않기 때문에, 상기 2차 프로토콜(200a-200n)은 어떠한 네트워크-레벨 연결 방해를 다룰 필요가 없다. 즉, 상기 2차 프로토콜(200a-200n)은 그들의 페이로드(payload)에 어떠한 네트워크-레벨 연결 방해 정보를 제공하지 않을 수 있다. 상기 실시 예에서, 상기 클라이언트(108)에 전송된 2차 프로토콜(200a-200n)의 http 관련된 2차 프로토콜 패킷(304a-304n)은 네트워크 방해에 대한 통지(예 : 웹 페이지 상의 에러 메시지)를 제공하지 않을 것이다. 그러므로, 상기 클라이언트(108) 상의 사용자는 상기 2차 프로토콜(200a-200n)을 통한 어떠한 네트워크 레벨 연결 방해를 통보받지 않을 것이다. 이는 상기 2차 프로토콜(200a-200n)에 관련된 애플리케이션의 사용 동안 사용자로부터 네트워크 연결 방해를 효과적으로 숨길 수 있다.
도 3을 참조하면, 상기 제 1 프로토콜 서비스(112)와 클라이언트(108)의 클라이언트 에이전트(128)가 사용된 일 예의 프로세스(300)는 연결(120)을 경유하는 통신을 위한 제 1 프로토콜(204) 내에서 다수의 2차 프로토콜(200)(예 : HTTP, FTP, Oscar, Telnet, ICA 및/또는 RDP)을 캡슐화한다. 선택적으로, 이하에 기술된 바와 같이, 상기 제 1 프로토콜 서비스(112)와 클라이언트(108)의 클라이언트 에이전트(128)가 사용된 일 예의 프로세스(300)는 또한 연결(120)을 경유하는 통신에 앞서 제 1 프로토콜의 레벨에 있어서 통신을 압축 및/또는 암호화한다. 상기 제 1 프로토콜 서비스(112)의 관점에서 보면, 상기 2차 프로토콜 패킷(304a-304n)은 제 1 프로토콜 서비스(112)에서 연결(124a-124n)을 경유하여 수신된다. 예를 들어, 2개의 2차 프로토콜 패킷(304a, 304b)은 제 1 프로토콜 서비스 112에 의해 수신된다. 하나, 2 또는 임의 수의 2차 프로토콜 패킷들(304a-304n)은 제 1 프로토콜 서비스(112)에 의해 수신된다. 하나, 둘 또는 2차 프로토콜 패킷들(304a-304n) 중 몇개도 수신될 수 있다. 일 실시 예로서, 상기 2차 프로토콜 패킷들(304a-304n)은 연결(124) 상에서 제 1 프로토콜 서비스(112)로 호스트 서비스(116)에 의해 전송된다. 상기 2차 프로토콜 패킷들(304a-304n)은 또한 데이터 페이로드로도 불리는 데이터 패킷(312) 및 헤더(308)를 포함한다.
상기 2차 프로토콜 패킷들(304a-304n)의 수신에 따라 상기 제 1 프로토콜 서비스(112)가 제 1 프로토콜 패킷(316) 내의 적어도 하나 이상의 2차 프로토콜 패킷 (304)을 캡슐화한다. 일 실시 예로서, 상기 제 1 프로토콜 서비스(112)는 제 1 프로토콜 패킷 헤더(320)를 생성하고, 일 예로 2개의 2차 프로토콜 패킷(304a, 304b)과 같은 적어도 하나 이상의 2차 프로토콜 패킷(304a-304n)을 갖는 제 1 프로토콜 패킷(316)의 데이터 페이로드(316)을 캡슐화한다. 다른 실시 예로서, 단지 하나의 2차 프로토콜 패킷(304a)이 각각의 제 1 프로토콜 패킷(316) 내에 캡슐화된다.
일 실시 예로서, 제 1 프로토콜 패킷들(316)은 이후 일 예로 도 2A를 통해 기술된 바와 같이 연결(208) 과 같은 연결(120) 상에서 클라이언트(108)의 클라이언트 에이전트(128)로 전송된다. 또는, 다른 실시 예로서, 상기 제 1 프로토콜 서비스(112)는 어떠한 제 1 프로토콜 패킷들(316)의 전송에 앞서 상기 제 1 프로토콜(204) 레벨에 있어서의 통신을 암호화하도록 구현된다. 이와 같은 실시 예에 있어서, 상기 제 1 프로토콜 패킷들(316)은 일 예로 도 2B에 나타난 바와 같은 SSL 프로토콜을 사용하여 암호화된다. 그 결과, 데이터 페이로드(336)로서의 암호화된 제 1 프로토콜 패킷(316')와 헤더(332)를 포함하는 보안 패킷(328)이 생성된다. 상기 보안 패킷(328)은 그 후 일 예로 도 2B에 도시된 바와 같이 바와 같이 보안 TCP/IP 연결(212)과 같은 연결(120) 상에서 클라이언트(108)의 클라이언트 에이전트(128)로 전송될 수 있다.
다른 실시 예에 있어서, 상기 제 1 프로토콜 서비스(112)는 어떠한 제 1 프로토콜 패킷들(316)의 전송에 앞서 상기 제 1 프로토콜(204) 레벨에 있어서의 통신을 압축하도록 구현된다. 일 실시 예로, 상기 제 1 프로토콜 패킷(316)의 암호화에 앞서, 상기 제 1 프로토콜 서비스(112)는 기본 압축 기술을 사용하여 상기 제 1 프로토콜 패킷(316)을 압축한다. 즉, 상기 시스템(100)의 효율이 향상된다.
상기 도 1A 및 도 1B를 다시 참조하면, 일 실시 예로서, 본 발명에 의한 상기 시스템(100)은, 일 예로 호스트 서비스(116a)와 같은 호스트 서비스(116)에 대한 지속적인 연결을 원격의 클라이언트(108)에 제공한다. 예를 들어, 상기 클라이언트(108)가 상기 클라이언트(108)와 제 1 프로토콜 서비스(112) 간의 연결(120)을 설정하고, 상기 제 1 프로토콜 서비스(112)는 상기 제 1 프로토콜 서비스(112)와 호스트 서비스(116a) 간의 연결(124a)을 설정하면, 상기 클라이언트 에이전트(128) 및 제 1 프로토콜 서비스(112) 중 하나 또는 이들 모두가 상기 연결(120)을 경유하여 가장 최근에 전송된 제 1 프로토콜 데이터 패킷들의 큐(queue)를 유지하도록 구현된다. 일 예로 상기 큐(queue) 된 데이터 패킷들은 연결(120)의 장애 발생 전 및 발생 시에 클라이언트 에이전트(128) 및 /또는 제 1 프로토콜 서비스(112)에 의해 유지될 수 있다. 게다가, 상기 연결(120)의 발생 시에 상기 제 1 프로토콜 서비스(112), 또한 상기 호스트 서비스(116a)는 상기 연결(124a)을 유지하도록 형성된다.
상기 연결(120)의 장애를 따라, 상기 클라이언트(108)는 어떠한 데이터의 손실없이 상기 제 1 프로토콜 서비스(112)로 새로운 연결(120)을 설정한다. 보다 명확하게, 상기 연결(120)의 장에 발생 시에 상기 연결(124a)이 유지되기 때문에 새롭게 설정된 연결(120)은 상기 유지된 연결(124a)과 링크될 수 있다. 또한, 상기 가장 최근에 전송된 제 1 프로토콜 데이터 패킷들이 큐(queue) 되었기 때문에, 이들은 상기 클라이언트(108)에 의해 제 1 프로토콜 서비스(112)로 및/또는 상기 제 1 프로토콜 서비스(112)에 의해 상기 새롭게 설정된 연결(120) 상에서 클라이언트(108)로 다시 전송될 수 있다. 즉, 상기 제 1 프로토콜 서비스(112)를 통한 상기 호스트 서비스(116a)와 클라이언트(108) 간의 통신 세션은 지속적이고, 어떠한 데이터의 손실 없이 처리한다.
일 실시 예로서, 상기 클라이언트(108) 상의 클라이언트 에이전트(128) 및/또는 제 1 프로토콜 서비스(112)는 상기 연결(120) 상에서 그들이 전송한 데이터 패킷들을 넘버링한다. 예를 들어, 각각의 클라이언트 에이전트(128)와 제 1 프로토콜 서비스(112)는 다른 것이 그것의 데이터 패킷들이 어떻게 넘버링되는 지에 관계없이 자신의 전송 데이터 패킷들을 넘버링한다. 더욱이, 상기 데이터 패킷들의 넘버링은 상기 데이터 패킷들의 어떠한 재 넘버링도 없이 절대적이다. 일 예로, 상기 클라이언트 에이전트(128) 및/또는 제 1 프로토콜 서비스(112)에 의해 전송된 제 1 데이터 패킷은 No.1으로 넘버링 될 수 있으며, 상기 클라이언트 에이전트(128) 및/또는 제 1 프로토콜 서비스(112)에 의해 상기 연결(120)에서 전송되는 각각의 데이터 패킷은 그 후 개별적으로 연속적인 번호가 넘버링된다.
이와 같은 실시 예에서, 연결(120)의 두절 및 재설정 이후, 상기 클라이언트 에이전트(128) 및/또는 제 1 프로토콜 서비스(112)는 상대측에게 필요한 다음 데이터 패킷을 공지한다. 예를 들어, 클라이언트 에이전트(128)가 연결(120)의 두절 전에 Nos.1-10의 데이터 패킷을 수신받으면, 상기 클라이언트 에이전트(128)은 상기 연결(120)의 재설정 시에 현재 데이터 패킷 No.11이 필요하다는 것을 상기 제 1 데이터 프로토콜 서비스(112)에 공지한다. 이와 마찬가지로 제 1 프로토콜 서비스(112)도 상기와 같이 동작한다. 또는, 다른 그와 같은 실시 예에 있어서, 클라이언트 에이전트(128) 및/또는 제 1 프로토콜 서비스(112)는 상대측에게 수신받은 마지막 데이터 패킷을 공지한다. 예를 들어, 클라이언트 에이전트(128)가 연결(120)의 두절 전에 Nos.1-10의 데이터 패킷을 수신받으면, 상기 클라이언트 에이전트(128)는 상기 연결(120)의 재설정 시에 마지막으로 수신된 데이터 패킷이 No.1 이라는 것을 상기 제 1 데이터 프로토콜 서비스(112)에 공지한다. 이와 마찬가지로 제 1 프로토콜 서비스(112)도 상기와 같이 동작한다. 또 다른 실시 예로서, 상기 클라이언트 에이전트(128) 및/또는 제 1 프로토콜 서비스(112)는 상대측에게 연결(120)의 재설정 시에 상기 마지막으로 수신된 데이터 패킷 및 필요한 다음 데이터 패킷을 공지한다.
이와 같은 실시 예에서, 상기 연결(120)의 재설정 시, 상기 클라이언트 에이전트(128) 및/또는 제 1 프로토콜 서비스(112)는 상기 제 1 프로토콜 서비스(112)를 통하여, 호스트 서비스(116)와 상기 클라이언트(108) 간의 통신 세션이 데이터의 어떠한 손실량 없이 처리하도록 허용되는 상대측으로부터 수신받지 못한 버퍼 데이터 패킷을 재 송신할 수 있다. 더욱이, 상기 연결(120)의 재설정 시에, 상기 클라이언트 에이전트(128) 및 제 1 프로토콜 서비스(112)는 그들 각자의 버퍼 각각으로부터 지금 상대측에 의해 수신될 것으로 알려진 버퍼 데이터 패킷을 플러쉬(flush)시킬 수 있다.
신뢰할 수 있고 지속적인 연결을 갖는 클라이언트(108)를 호스 서비스(116a ~ 116n)에 제공함으로써, 본 발명은 네트워크 연결 차단을 통해 사용자 세션을 보유함으로써 호스트 서비스(116a~116n)로 새로운 사용자 세션을 개시하는 프로세스를 피한다. 호스트 서비스(116a ~ 116n)를 갖는 각 사용자 세션에 대해, 클라이언트(108) 및 호스트 서비스(116a ~ 116n)는 특정한 세션 컨텍스트 및 캐시 및 사용자 세션의 인스턴스와 연관된 다른 특정 애플리케이션 메커니즘을 보유할 수 있다. 각 새로운 사용자 세션이 설정되는 경우, 이 특정한 세션 컨텍스트 및 캐시는 새로운 사용자 세션을 반영하기 위해 재-상주(populate) 또는 재-설정 요구된다. 예를 들면, 클라이언트(108) 상의 사용자는 호스트 서비스(116a ~ 116n)와 http 세션을 가질 수 있다. 호스트 서비스(116a ~ 116n)는 특정한 컨텍스트를 유지하여 클라이언트(108)로 http 세션의 상기 인스턴스를 제공할 수 있다. 컨텍스트는 호스트 서비스(116a ~ 116n)의 기능을 제공하는 것과 연관된 데이터 베이스 또는 다른 구성요소를 서버의 메모리, 서버의 파일 내에 저장될 수 있다. 또한, 클라이언트(108)는 호스트 서비스(116a ~ 116n)에 두드러진 요청에 대한 트랙을 보유하기 위한 메커니즘으로, http 세션의 인스턴스에 특정한 로컬 컨텍스트를 가질 수 있다. 본 컨텍스트는 클라이언트(108)의 메모리, 클라이언트(108)의 파일 또는 클라이언트(108)와 인터페이스되는 다른 소프트웨어 컴포넌트에 저장될 수 있다. 만약, 클라이언트(108)와 호스트 서비스(116a ~ 116n) 간에 연결이 영구적이지 않으면, 새로운 사용자 세션은 호스트 서비스(116a ~ 116n)와 클라이언트(108) 상에 새로운 특정한 세션 컨텍스트로 설정될 것을 요구한다. 본 발명이 세션을 보유하므로, 새로운 세션과 새로운 특정 세션 컨텍스트가 재설정되는 것은 요구되지 않는다.
본 발명은 세션이 중단되는(interrupt) 것을 클라이언트의 사용자에게 알리지 않고 네트워크 레벨 연결 중단을 통해 사용자 세션을 보유한다. 본 발명의 본 측면에 대한 동작에서, 제 1 프로토콜 서비스(112)는 클라이언트(108)와의 제 1 연결과 호스트 서비스(116a ~ 116n)와의 제 2 연결을 설정하여 보유한다. 제 1 연결 및 제 2 연결을 경유하여, 클라이언트(108)와 호스트 서비스(116a ~ 116n) 간의 세션이 설정된다. 제 1 프로토콜 서비스(112)는 임의의 인증서와 같은 임의의 세션 관련 정보 및 설정된 세션에 대한 클라이언트(108) 및 호스트 서비스(116a ~ 116n) 컨텍스트를 저장하여 보유할 수 있다. 클라이언트(108) 상에서 사용자는 설정된 세션을 통해 호스트 서비스(116a ~ 116n)에 의해 제공된 기능을 실행할 수 있다(exercise). 이처럼, 연관된 이차 프로토콜 패킷(340a ~ 340n)은 이러한 기능의 거래(transaction)에 관한 데이터를 포함할 수 있다. 이차 프로토콜(200a~ 200n)의 일부로 이 이차 프로토콜 패킷(340a ~ 340n)은 제 1 프로토콜(204)에서 캡슐화되어 통신된다. 제 1 연결 또는 제 2 연결 중 하나에서의 단절을 삭제함에 따라, 제 1 프로토콜 서비스(112)가 단절된 연결을 재-설정할 수 있는 한편 단절되지 않는 다른 연결을 보유할 수 있다. 네트워크 연결의 단절은 클라이언트와 호스트 서비스(116a ~ 116n) 간의 세션에 대한 단절을 야기할 수 있다. 그러나, 전달 메커니즘은 이차 프로토콜(200a~ 200n)에 의해 보유되지 않으므로, 네트워크 연결이 세션을 차단하지 않는다를 통지를 갖는 클라이언트(108) 상에서 사용자 없이 재-설정된 후에, 세션이 재-설정될 수 있다. 그러므로, 제 1 프로토콜(204)의 캡슐화 때문에, 네트워크 연결 단절에 의해 야기된 세션의 중단은 사용자로부터 효과적으로 숨겨진다.
세션 관련 정보를 보유하는 제 1 프로토콜 서비스(112)는 클라이언트(108)와 호스트 서비스(116a ~ 116n) 간에 세션을 재설정할 수 있다. 예를 들면, 클라이언트(108)와 제 1 프로토콜 서비스(112) 간에 제 1 연결이 단절되면, 제 1 프로토콜 서비스(112)는 제 1 프로토콜 서비스(112) 및 호스트 서비스(116a ~ 116n) 간에 클라이언트(108)의 세션 활동 또는 개시를 유지할 수 있다. 제 1 연결이 재-설정된 다음, 제 1 프로토콜 서비스(112)는 제 1 프로토콜 서비스(112) 및 호스트 서비스(116) 간에 보유된 세션에 클라이언트(108)의 세션을 링크할 수 있다. 제 1 프로토콜 서비스는 제 1 연결 내의 단절 전에 큐된 임의 데이터를 클라이언트(108)에 전송할 수 있다. 이와 같이, 클라이언트(108)가 단절 전에 동일한 세션을 이용할 수 있으며, 호스트 서비스(116a ~ 116n)와 클라이언트(108)는 메모리 또는 그외에 저장 영역에 저장될 수 있는 임의의 특정 세션 컨텍스트를 지속적으로 이용할 수 있다. 더욱이, 제 1 프로토콜 서비스의 중개 때문에, 호스트 서비스(116a ~ 116n)는 제 1 프로토콜 서비스(112)와 클라이언트(108) 간에 네트워크 단절을 인식할 수 없다.
다른 예에서, 제 1 프로토콜 서비스 및 호스트 서비스(116a ~ 116n) 간에 제 2 연결이 단절되면, 제 1 프로토콜 서비스는 클라이언트(108)와 제 1 연결을 유지할 수 있는 한편, 호스트 서비스(116a ~ 116n)와 제 2 연결을 재-설정한다. 제 2 연결을 재설정한 다음, 제 1 프로토콜 서비스(112)는 클라이언트를 대신하여, 호스트 서비스(116a ~ 116n)와 클라이언트의 세션을 재-설정할 수 있다. 제 1 프로토콜 서비스(112)가 임의의 세션 관련 정보를 보유함으로, 클라이언트(108)가 제 1 프로토콜 서비스(112)와 호스트 서비스(116a ~ 116n) 간의 세션에 대한 제 2 네트워크 연결 및 단절 결과를 인식하지 않으므로, 제 1 프로토콜 서비스는 동일한 세션 또는 유사한 세션을 재-설정할 수 있다. 제 2 네트워크 연결 및 세션이 재설정되는 동안, 제 1 프로토콜 서비스(112)는 단절하는 동안 클라이언트(108)에 의해 전송된 임의의 세션 트랜잭션을 큐할 수 있다. 다음, 호스트 서비스(116a ~ 116n)를 가지고 세션을 재-설정한 다음, 제 1 프로토콜 서비스(112)는 큐된 트랜잭션을 호스트 서비스(116a ~ 116n)에 송신할 수 있으며, 세션은 정상적으로 지속할 수 있다. 이 방법으로, 클라이언트(108)는 세션에 대한 단절이 없는 것처럼 동작을 계속한다.
추가적으로, 신뢰할 수 있고 지속적인 연결을 제공함으로써, 본 발명은 또한 클라이언트(108)와 서버(415) 간 또는 호스트 서비스(116a ~ 116n)에서 실행된 기능의 일부로 트랜잭션, 커맨드 또는 동작에 대한 차단을 피한다. 예를 들면, 윈도우즈 익스플로러를 이용하는 파일 복사 동작은 네트워크 연결 내에 단절이 있은 후에 동작(working)을 진행하도록 설계되지 않는다. 클라이언트(108) 상에서 사용자가 클라이언트(108)에서 서버(415)로 파일을 복사하기 위해 윈도우즈 익스플로러의 파일 복사 특징을 이용할 수 있다. 파일(또는 파일들)의 크기 때문에, 본 동작은 완성하기 위해 상대적으로 연장된 시간을 소요할 수 있다. 만약 서버(415)에 파일 복사 동작을 진행하는 과정에서, 클라이언트(108)와 서버(415) 간에 네트워크 연결에 단절이 있다면, 파일 복사는 실패할 것이다. 네트워크 연결이 재-설정될 때, 사용자는 클라이언트(108)에서 서버(415)로 파일을 복사하기 위해 윈도우즈 익스플로러로부터 다른 파일 복사 동작을 시작해야할 것이다. 본 발명에 따르면, 사용자는 다른 파일 복사 동작을 시작할 필요가 없다. 네트워크 연결이 제 1 프로토콜(204) 연결의 일부로 재-설정될 수 있다. 파일 복사 동작은 이차 프로토콜(200a~ 200n)의 페이로드에서 캡슐화될 것이다. 이처럼, 윈도우즈 익스플로러의 파일 복사 동작이 네트워크 연결 내에 단절에 대해 표시하지 않으므로, 실패하지 않을 것이다. 제 1 프로토콜 서비스(112)는 임의의 연결을 재설정하고 임의의 큐잉된 데이터를 송신하므로 동작이 실패 없이 진행할 수 있다. 제 1 프로토콜 서비스(112)는 네트워크 연결에서의 단절 때문에 서버(415)에 전달되지 않는 파일 복사 동작에 관련한 큐 데이터를 보유할 것이다. 네트워크 연결이 재설정될 때, 제 1 프로토콜 서비스(112)가 규된 데이터를 송신할 수 있으며, 다음, 때가 되면 파일 복사 동작과 관련한 데이터를 전달하는 것을 계속할 수 있다.
본 발명의 일 측면은 파일 복사 동작을 관하여 설명하고 있지만, 당업자들은 클라이언트(108)와 서버(415) 또는 호스트 서비스(116a ~ 116n) 간에 처리된 임의의 동작, 트랜잭션(transaction), 커맨드, 함수 호출, 등이 네트워크 연결 단절로부터의 실패 없이, 더 나아가서 클라이언트(108)가 단절이 있다는 것을 인식하지 않거나 또는 단절을 알리지 않고 보유되어 지속될 수 있다.
또한, 신뢰할 수 있고 지속적인 연결을 제공함으로써, 본 발명 역시 클라이언트(108)가 클라이언트(108)에서 세션 또는 애플리케이션을 재시작하지 않고 다양한 네트워크 토폴로지를 통해 전달할 수 있다. 예를 들면, 클라이언트(108)는 무선 네트워크 연결을 갖는 컴퓨터 노트북일 수 있다. 클라이언트(108)가 제 1 무선 네트워크에서 제 2 무선 네트워크로 이동함에 따라, 클라이언트의 네트워크 연결(120)은 네트워크 연결이 제 2 무선 네트워크로 재설정되는 것과 같이, 제 1 무선 네트워크에서 임시적으로 단절될 수 있다. 제 2 무선 네트워크는 호스트 네임 또는 인터넷 프로토콜 주소와 같은 새로운 네트워크 식별자를 클라이언트(108)에 할당할 수 있다. 상기 새로운 네트워크 식별자는 제 1 무선 네트워크에 의해 클라이언트(108)에 할당된 네트워크 식별자와 상이할 수 있다. 다른 실시 예에서, 클라이언트(108)는 네트워크상에서 이더넷 케이블을 통해 포트에 물리적으로 연결될 수 있다. 물리적 연결이 언플러그될(unplug) 수 있으며, 클라이언트(108)는 네트워크에서 다른 포트에 플러그하기 위해 다른 위치로 이동된다. 이것은 네트워크 연결(102)로의 단절 및 할당된 네트워크 식별자에서의 가능한 변경을 야기할 수 있이다. 본 발명에는 없지만, 클라이언트(108)에서 호스트 서비스(116a ~ 116n)로의 임의의 세션 또는 네트워크를 액세싱하는 클라이언트(108) 상에서의 애플리케이션은 네트워크 토폴로지 내의 변경, 네트워크 연결(120)에 대한 단절, 및/또는 할당된 네트워크 식별자 내의 변경에 의해 재시작될 필요가 있다. 본 명세서에 개시된 방법 및 시스템에 의해, 본 발명은 클라이언트에 대한 네트워크 연결 및 네트워크 토폴로지 및 네트워크 식별자 내의 핸들링 변경을 포함하는 자동 재설정된 클라이언트(108) 네트워크 연결을 보유한다. 네트워크 연결 단절 또는 네트워크 식별자의 변경이 없는 것처럼, 클라이언트(108) 및 클라이언트(108) 상에서의 임의의 애플리케이션 또는 세션이 동작을 계속할 수 있다. 또한, 클라이언트(108) 상에서의 사용자는 임의 차단 또는 변경이 있다는 것을 인식할 수 없으며, 클라이언트(108)는 이러한 차단에 대한 임의 공지를 수신할 수 없다.
전술한 신뢰성 있고 지속적인 통신 세션을 가지더라도, 네트워크 접속은 아직도 교란받는다. 호스트 서비스로의 클라이언트 접속을 재확립할 때, 클라이언트(108)는 호스트 서비스(116)로 재인증받는 것이 또한 필요하다. 본 발명의 일 실시 예는 호스트 서비스(116)로 클라이언트를 인증받는 방법 및 시스템에 관한 것이며, 또한, 인증서를 다시 신청하지 않고 호스트 서비스(116)에 클라이언트(108)를 재인증받는 방법 및 시스템에 관한 것이다.
도 4는 자동 클라이언트 재연결 서비스 또는 ACR 서비스로 불려지는 자동으로 클라이언트에 재연결하는 서비스를 이용하여, 클라이언트(108)를 호스트 서비스(116)에 재연결시킬 수 있는 시스템의 일 실시 예를 도시하고 있다. 간략히 살펴보면, 클라이언트(108)는 통신채널(418)을 경유하여 서버 컴퓨터(415)(서버라 칭하겠다)와 통신한다. 상기 통신 채널(418)은 네트워크(104)를 포함할 수 있다. 예컨대, 통신채널은 사내 인터넷 같은 지역 네트워크(LAN), 인터넷 또는 월드와이드웹 같은 광대역 네트워크(WAN)를 포함하는 개념일 수 있다. 서버(415)는 ACR 서비스(405)를 통한 자동 클라이언트 재연결 서비스를 제공한다.클라이언트(108)는 통신 채널(418)을 통해 서버(415)에 액세스한다. 서버(415)의 ACR 서비스(405)는 인증 서비스를 제공한다. 네트워크 연결상 교란이 있으면, ACR 서비스(405)는 클라이언트(108)를 서버(415)로 재인증하기 위해 재인증 서비스를 더 제공할 수 있다. 단일 클라이언트(108) 및 하나의 통신 채널(418)로 표현되었지만, 복수개의 클라이언트(예: 108, 108)가 시스템(100)에 포함될 수 있다.
일 실시 예에 따르면, 서버(415)는 시스템 버스(432)를 통해 통신하는 프로세서(425) 및 메모리(430)를 포함한다. 메모리(430)는 랜덤 액세스 메모리(RAM) 및/또는 리드 온리 메모리(ROM)를 포함할 수 있다. 다른 실시 예에 따르면, 서버(415)는 원격 사이트에서 메모리(430)를 액세스한다(예 : 다른 컴퓨터, 외부 저장 장치).
서버(415)에서 실행되는 ACR 서비스(405)는 키 생성기(435), 세션 식별자(SID) 생성기(438), 암호화기(440), 키 파괴기(445) 및 복호화기(448)를 포함한다. 키 생성기(435)는 서버(415) 또는 ACR 서비스(405)가 클라이언트(108)로부터 인증서를 받을 때, 키를 생성한다. 일 실시 예에 따르면, 키 생성기(435)는 서버(415)의 특성으로부터 키를 추출한다. 특정한 예를 들면, 키 생성기(435)가 키를 프로세서(425)의 온도로부터 추출하거나, 서버(415)가 인증서를 접수한 시간으로부터 추출하거나, 메모리(430)에 저장된 키의 개수로부터 추출할 수 있다. 개선된 실시 예에 따르면, 상기 키 및 인증서는 동일한 크기(예: 8비트)를 가진다. 일 실시 예에 따르면, 상기 키 생성기는 소프트웨어 모듈이다. 다른 실시 예에 따르면, 키 생성기(435)는 난수 생성기이다.
SID 생성기(438)는 서버(415)가 특정 통신 세션을 식별하도록 하기 위해 유일한 SID를 생성한다. 일 실시 예에 따르면, SID 생성기(438)는 소프트웨어 모듈이다. 다른 실시 예에 따르면, SID 생성기(438)는 난수 생성기이다. 다른 실시 예에 따르면, SID 생성기(438)는 SID를 호스트 서비스(116)로 전달한다. 일 실시 예에 따르면, SID 생성기(438)는 서버상에서 실행 중인 호스트 서비스(116)로부터 SID를 획득한다. 다른 실시 예에 따르면, SID 생성기는 사용자 세션을 확립하는 호스트 서비스(116)로부터 세션 식별자를 접수함에 의해 SID를 생성한다.
암호화기(440)는 암호화된 인증서를 작성하기 위해 키와 인증서를 암호화한다. 일 실시 예에 따르면, 암호화기(440)는 키와 인증서에 대하여 배타적 논리합 연산(즉, XOR)을 수행하여, 키와 인증서를 암호화한다. 다른 실시 예에 따르면, 암호화기(440)는 인증서를 암호화하기 위하여 인증서를 키에 합산한다. 이것은 암호화기(440)가 시프트값으로 상기 키를 사용하여 인증서에 대하여 "caesar Cipher"를 수행하는 것이다. 다른 실시 예에 따르면, 암호화기(440)는 인증서에 대하여, MD4, MD5 또는 SHA-1같은 해쉬 함수를 수행한다. ACR 서비스(405)가 암호화된 인증서를 상기 키를 가지고 복호할 수 있도록, 암호화기(440)가 인증서에 대하여 다양한 방식의 조작을 수행할 수 있음은 자명하다.
일 실시 예에 따르면, 암호화기(440)는 암호화된 인증서를 작성하기 위해 키와 인증서에 대하여 수학적 알고리즘을 실행하는 소프트웨어 모듈이다. 다른 실시 예에 따르면, 암호화기(440)는 배타적 논리합(XOR) 게이트 같은 서버 컴퓨터(415)의 로직 게이트이다.
일 실시 예에 따르면, 암호화기(440)는 메모리(430)내 테이블(455)에 SID와 함께 암호화된 인증서를 저장한다. 다른 실시 예에 따르면, 암호화기(440)는 테이블(455)에 암호화된 인증서를 저장하고, SID 생성기(438)는 테이블(455)에 SID를 저장한다. 일 실시 예에 따르면, 테이블(455)은 암호화기(440)에 사용될 수 있도록 프로세서(455)에 의해 할당된 메모리(430)내 영역이다. 다른 실시 예에 따르면, 암호화기(440)는 암호화된 인증서와 SID를 메모리(430)와 구분되는 데이터베이스(도 4에는 미도시) 내에 저장한다.
일 실시 예에 따르면, ACR 서비스(405)는 테이블(455)내 암호화된 인증서의 위치 벡터로서 SID를 이용한다. 다른 실시 예에 따르면, ACR 서비스(405)는 데이터베이스(도 4에서는 미도시) 내 암호화된 인증서를 위치시키고 회수하기 위한 데이터 베이스 키로서 SID를 이용한다. 암호화기(440)에 의해 작성되는 각 암호화된 인증서는 하나의 유일한 SID와 연관된다. 따라서, ACR 서비스(405)는 특정 SID를 사용하여 암호화된 인증서를 위치시키고 회수할 수 있다.
키 파괴기(445)는 ACR 서비스(405)가 키가 더 이상 필요없다고 판단하면, 키를 삭제한다. 일 실시 예에 따르면, 키 파괴기(445)는 서버(415)의 운영체제 같은 소프트웨어 프로그램의 삭제 함수이다.
복호화기(448)는 ACR 서비스(405)가 키와 SID를 클라이언트(108)로부터 수령하면, 암호화된 인증서를 복호화한다. 일 실시 예에 따르면, 복호화기(448)는 암호화기(440)가 암호화된 인증서를 작성하기 위해 사용한 것에 대한 역함수나 역알고리즘을 수행하는 소프트웨어 모듈이다. 다른 실시 예에 따르면, 복호화기(448)는 암호화기(440)에 대한 역기능을 수행하는 하드웨어 소자(예 : 논리게이트)이다.
일 실시 예에 따르면, 하나 혹은 그 이상의 키 생성기(435), SID 생성기(438), 암호화기(440), 키 파괴기(445) 및 복호화기(448)들이 ACR 서비스(405)로 표현되는 하나의 소프트웨어 모듈로 통합될 수 있다. 다른 실시 예에 따르면, 이 구성요소들(436, 438, 440, 445 및 448)은 로직 게이트 같은 하드웨어 소자일 수 있다. 개선된 실시 예에 따르면, 이 구성요소들(436, 438, 440, 445 및 448)은 단일 집적회로내에 통합될 수 있다. 다른 실시 예에 따르면, 상기 구성요소들 중 일부, 예컨대 키 생성기(435)와 SID 생성기(438)는 하드웨어 소자이고, 다른 구성요소들, 예컨대 암호화기(440), 키 파괴기(445) 및 복호화기(448)는 소프트웨어 소자일 수 있다.
다른 실시 예에 따르면, 본 발명은 또한 네트워크로의 클라이언트의 연결이 교란되면 클라이언트(108)가 호스트 서비스(116)에 재연결하는 방법을 제공한다. 상기 방법은 호스트 서비스로 클라이언트를 재인증받을 수 있도록 ACR 서비스(405)를 사용하는 것 및 호스트 서비스(116)로의 클라이언트의 연결을 재확립하는 것을 포함한다.
도 5A에 도시한 바와 같이, 클라이언트(108)는 통신 채널(418)을 통해 서버(415)와의 제 1 통신 세션을 확립한다. 클라이언트(108)는 클라이언트(108)의 사용자로부터 인증서를 획득한다(단계 500). 클라이언트(108)과 서버(415)간의 통신을 위해 오픈 시스템 상호연결(OSI) 프로토콜을 사용하지 않는 시스템(100) 내에서는, 인증서는 제 1 통신 세션을 확립하기 위해 필요로 하는 로그인 패스워드일 수 있다. 본 실시 예에 따르면, 사용자로부터 인증서를 획득하는 것은 통신 세션의 확립을 진행시킨다. 다른 실시 예에 따르면, 인증서는 제 1 통신 세션이 확립된 후 클라이언트(180)가 획득하는 사용자의 개인 정보이다. 인증서의 일례로서 로그인 패스워드, 사회 보안 번호, 전화번호, 주소, 생체학적 정보, 시간에 따라 변하는 패스 코드 및 디지털 인증서가 될 수 있다. 서버(415)가 클라이언트(108)나 클라이언트(108)의 사용자를 인증할 수 있도록, 다음 클라이언트(108)는 인증서를 통신 채널(418)을 통해 서버(415)로 전달한다(단계 505)
서버(415)가 인증서를 수령한 후, ACR 서비스(405)는 자동 클라이언트 재연결 서비스를 제공한다. 키 생성기(435)는 인증서와 함께 사용되는 제 1 암호화 키를 생성한다(단계 510). 일 실시 예에 따르면, 암호화 키는 난수이다. 다른 실시 예에 따르면, 암호화 키는 어떤 표준 암호키이다. 다음, 암호화기(440)는 암호화된 인증서를 작성하기 위해 제 1 키로 인증서를 암호화한다(단계 515). 이는 키 없이 인증서를 액세스하여 서버(415)로의 접속을 획득하려는 공격자를 방지한다. 다음, SID 생성기(438)는 클라이언트(108)와 서버(415)간의 제 1 통신 세션을 식별하기 위한 제 1 SID를 생성한다(단계 520). 일 실시 예에 따르면, 제 1 통신 세션은 서버(415)에 의해 호스트 서비스(116)와 함께 호스트된다. 다음, 암호화기(440)는 상기 테이블(455) 내에 제 1 SID와 함께 암호화된 인증서를 저장한다.(단계 525)
일 실시 예에 따르면, 암호화기(440)는 추후에 보다 효율적인 회수를 위해 특정 위치내에 제 1 SID와 함께 인증서를 저장한다. 예컨대, 암호화기(440)는 램(30) 내의 예정된 시간량 내에 생성되는 SID들과 모든 암호화된 인증서를 저장한다. ACR 서비스(405)는 모든 암호화된 인증서 및 생성된 SID들을 예정된 시간전에 제 2, 외부 메모리(미도시)로 전달한다. 다른 실시 예에 따르면, 암호화기(440)는 SID와 함께 암호화된 인증서를 데이터베이스(미도시)에 저장한다.
메모리(430) 내 저장된 SID 및 암호화된 인증서는 어떤 특정 순서 및/또는 포맷에 따라 배열될 수 있다. 예컨대, SID 및 암호화된 인증서는 인증서의 생성 시간에 대한 연대순으로 저장될 수 있다.
다음, 서버(415)는 제 1 키 및 관련 제 1 SID를 네트워크(104)를 통해 클라이언트(108)로 전달한다(단계 535). 클라이언트(108)는 제 1 키 및 제 1 SID를 클라이언트(108)의 메모리(미도시)내에 저장한다(단계 540). 다음, ACR 서비스(405)의 키 파괴기(445)는 메모리(430)내 저장된 키를 삭제한다(단계 545).
다른 실시 예에 따르면, ACR 서비스(405)가 클라이언트(108)가 키를 수령하였다는 통지를 받을 때까지, ACR 서비스(405)는 메모리(430)에서 제 1 키를 삭제하지 않는다. 예컨대, 클라이언트(108)는 키를 성공적으로 받은 후, 확인(acknowledgement) 메시지를 전달한다. ACR 서비스(405)가 통지를 받으면, 키 파괴기(445)는 메모리(430)에서 키를 삭제한다(단계545). 이는 클라이언트(108)가 성공적으로 키를 수령하기 전에 ACR 서비스(405)가 키를 삭제하는 것을 방지한다. 확인 메시지를 받을 때 까지 키를 삭제하지 않는 것에 의해, ACR 서비스(405)는 전송 오류의 경우에 키 및 SID를 클라이언트(108)로 재전송할 수 있다.
단계 545에서 키를 삭제함에 의해, ACR 서비스(405)는 테이블내 저장된 암호화된 인증서를 복호화할 것이 필요한 매커니즘을 가지지 않게 된다. 따라서, 만약 공격자가 서버(415)의 메모리(430)로 액세스해도, 공격자는 암호화된 인증서를 얻게되나, 암호화된 인증서를 복호화하지 못하게 된다. 그러므로, 공격자는 인증서를 읽을 수 없게 된다. 요약하면, 서버(415)에 저장된 암호화된 인증서는 공격자가 번역하거나 이해할 수 있는 어떤 정보도 제공하지 않는다. 이에 따라, 서버(415)는 암호화된 인증서를 복호화하기 위한 어떤 정보도 보유하지 않는다.
게다가, 클라이언트(108)는 암호화된 인증서에 키를 제공할 수 있는 유일한 장치이다. 네트워크(104)의 부분으로서 많은 클라이언트들(108)의 가능성과 함께, 공격자는 각 클라이언트의 액세스를 획득하기 위한 시도를 하여야 하고, 올바른 키를 보유한 클라이언트를 찾아야 한다. 이것은 시간이 많이 소요되며 지루한 일이 되며, 결국 공격자가 암호화된 인증서를 복호화하려는 시도를 방지하게 된다.
다른 실시 예에 따르면, 서버(415)는 암호화된 인증서를 액세스하는데 대하여 타임아웃 특성을 가진다. 예컨대, 서버(415)는 제 1 통신이 비정상적으로 종료되면 타이머를 개시한다. 만약 타이머가 클라이언트(108)가 제 2 통신 세션을 재확립하고 복호를 위한 키를 서버(415)로 전송하기 전에 예정된 값의 시간에 도달하면, ACR 서비스(405)는 테이블(455)에서 암호화된 인증서를 삭제한다. 만약 타이머가 사용되지 않는다면, 키는 다음 번 세션을 위한 사실상의 패스워드로서 작용한다.
상기 도 5A에 기술한 바와 같이, 일단 클라이언트(108)가 제 1 키 및 제 1 SID를 서버(415)로부터 받으면, 도 5B에 도시한 바와 같이 사용자가 자신의 인증서를 재제출하는 것을 요구함없이 세션이 재확립될 수 있다. 클라이언트(108)와 서버(415)간에 제 1 통신 세션에 교란이나 단절이 있어면(단계 500), 제 1 통신 세션(418)이 재확립되고, 클라이언트(108)가 서버(415)로 재인증 받을 것이 요구된다. ACR 서비스(405)는 클라이언트(108)를 서버(415)로 재인증받고 재확립하기 위한 방법 및 시스템을 제공한다.
클라이언트(108) 및 서버(415)가 제 2 통신 세션을 재확립할 때, 클라이언트(108)는 제 1 키 및 제 1 SID를 서버(415)로 전달한다(단계 555). ACR 서비스(405)는 서버의 메모리(430)에 암호화된 인증서를 위치시키고 회수하기 위해 SID를 이용하고,(단계558) 회수한 인증서를 복호화하기 위해 키를 사용한다(단계 560). 다음, 서버(415)는 클라이언트(108)로부터의 인증서를 확인함에 의해 클라이언트(108)를 서버(415)로 재인증한다. 일 실시 예에 따르면, 인증 및 재인증은 서버(415)의 컴퓨팅 시스템의 운영체제에 의해 제공되는 보안 서비스들을 통해 구현된다. 예컨대, 인증서는 서버로의 로그인 및 패스워드이다. 다른 실시 예에 따르면, 인증 및 재인증은 서버(415)상의 애플리케이션이나 소프트웨어 프로그램의 애플리케이션 레벨의 보안 서비스들을 통해 구현된다. 예컨대, 인증서는 특정 호스트 서비스(116)로의 애플리케이션 로그인 및 패스워드이다.
설명하자면, 사용자의 로그인 패스워드가 인증서인 제 1 통신 세션의 비정상적인 종료에 대하여(단계 550), 클라이언트(108)는 서버(415)와 제 2 통신 세션을 확립하기 위한 시도를 한다. 서버(415)와 제 2 통신 세션을 확립하기 위한 서버(415)로의 요청의 일부분으로서, 클라이언트(108)는 제 1 통신 세션의 키와 SID를 서버(415)로 전달한다(단계 555). 사용자의 로그인 패스워드를 다시 제출하도록 프롬프트하는 대신에, ACR 서비스(415)를 통해, 사용자와 연관된 암호화된 인증서를 위치시키고 회수하기 위한 SID를 이용하고(단계 558), 회수된 인증서를 복호화하기 위해 키를 사용하고(단계 560), 복호화된 인증 정보를 사용하여 클라이언트를 재인증한다(단계 565).
일 실시 예에 따르면, 제 2 통신 세션 동안, ACR 서비스(405)는 인증서를 위한 제 2 키를 작성하고(단계 570), 이 제 2 키를 사용하여 인증서를 암호화한다(단계 575). 제 2 SID가 제 2 통신 세션을 식별하기 위해 작성되며(단계 580), 상기 세션을 클라이언트(108)에 연관시킨다. 제 2 암호화 인증서는 테이블(455) 내 제 2 SID와 함께 저장된다(단계 525).
본 실시 예에 따르면, 다음, 서버는 클라이언트(108)로 제 2 키 및 제 2 SID를 전달한다(단계 585). 다음, 클라이언트(108)는 추후의 회수를 위해 메모리(미도시) 내에 제 2 키와 제 2 SID를 저장한다(단계 590). 다음, ACR 서비스(405)는 메모리(430)에서 제 2 키를 삭제한다(단계 595). 따라서, ACR 서비스는 클라이언트(108)로부터 제 2 키와 제 2 SID를 획득해야만, 제 2 암호화된 인증서를 복호화할 수 있다. ACR 서비스(405)는 제 1 통신 세션 동안 사용자가 전달하였던 동일한 인증서를 사용하는 제 2 통신 세션을 위한 새로운 키 및 새로운 SID를 작성하였다. 그러므로, 사용자의 인증서는 제 1 통신 세션의 비정상적인 종료후의 제 2 통신 채널에 대하여 재전송되지 않는다.
비록 본 발명이 인증서를 중심으로 논의되지만, 통신 오류가 있을 때, 세션을 유지시킬 수 있는 어떤 보안 수단도 사용될 수 있다. 따라서, 신용카드 정보가 애플리케이션에 요구되고, 신용카드 정보를 서버로 전송하였다면, 그 직후 클라이언트와 서버간의 단절이 있어도, 본 발명이 발급했다면, 신용카드 정보를 다시 제출하도록 요구하지 않는다. 더욱이, 세션 식별자 또는 SID는 저장된 인증서들에 대한 포인터 또는 숫자나 값 등 포인터처럼 사용되는 것을 제공하는 것으로 논의될 수도 있다.
도 6은 중간 노드(650)상에서 실행되는 ACR 서비스(405)를 이용하여 클라이언트(108)를 서버(415)에 재연결시킬 수 있는 시스템(600)의 또 다른 실시 예를 도시한다. 중간 노드(650)는 서버(415)와는 다른 컴퓨팅 장치로서, 통신이 가능하고 여기에 기술하는 동작들을 수행하기에 충분한 메모리 용량 및 프로세서 능력을 가진다. 간략히 살펴보면, 클라이언트(108)는 통신 채널(108)에 대하여 중간 노드(650)와 통신을 형성한다. 통신 채널(418)은 네트워크(104)를 포함할 수 있다. 중간 노드(650)는 클라이언트(108)의 서버(415)로의 연결을 위해 클라이언트(108)에, ACR 서비스를 통한 자동 클라이언트 재연결 서비스들을 제공한다. 중간 노드(650)는 통신 채널(418)을 통해 서버(415)와 통신한다. 통신 채널(418)는 네트워크(104)를 포함할 수 있다. 클라이언트(108)는 중간 노드(650)를 통해 서버(415)의 서비스에 액세스한다. 중간 노드(650) 상의 ACR 서비스(405)는 클라이언트(108)의 서버(415)로의 연결을 위해 자동 클라이언트 재연결 서비스들을 제공한다. 비록 한 통신 채널(418)에 대하여 단일 클라이언트(108)가 있는 것을 도시하지만, 클라이언트들의 개수 및 통신 채널들의 개수가 어떤 것이라도 본 시스템(600)에 포함될 수 있다.
개선된 실시 예(미도시)에 따르면 시스템(600)은, 추가적인 통신 채널들(418, 418)에 대하여 네트워크(104)를 통해 하나 또는 그 이상의 클라이언트들(108)과 통신을 수행하는, 다중 중간노드들(650)을 포함할 수 있다. 비록 도 6에 하나의 통신 채널(418)에 대하여 단일 중간 노드(650)를 도시하였지만, 중간 노드들의 개수 및 통신 채널들의 개수가 어떤 것이라도 본 시스템(600)에 포함될 수 있다.
다른 실시 예에 따르면, 본 발명은 하나 혹은 그 이상의 중간 노드들(650)을 사용하여, 클라이언트(108)의 서버(415)로의 연결을 확립하고 인증하는 것을 구현하기 위한 방법에 관한 것이다. 도 7A에 도시한 바와 같이, 중간 노드(650)는 서버(415)와 세션을 확립한다(단계 520A).
클라이언트(108)는 통신 채널(418)을 통해 중간 노드(650)와 제 1 통신 세션을 확립한다. 클라이언트(108)는 클라이언트(108)의 사용자로부터 인증서를 획득한다(단계 500). 다음, 중간 노드(650)가 서버(415)와 함께 사용자를 인증할 수 있도록, 클라이언트(108)는 인증서를 통신 채널(418)을 통해 중간 노드(650)로 전달한다(단계 505)
중간 노드(650)가 인증서를 받은 후, ACR 서비스(405)는 그것의 자동 재접속 서비스를 제공한다. ACR 서비스(405)는 인증서와 함께 사용하기 위한 제 1 암호화 키를 생성하고(단계 510), 암호화된 인증서를 생성하기 위해 제 1 키를 인증서와 암호화한다(단계 515). 이는 서버(415)로의 액세스를 획득한 공격자가 키 없이 인증서를 액세스하는 것을 방지한다. 다음, 세션이 서버(415)와 확립되고(단계 520A), 클라이언트(108)가 인증서를 사용하여 서버(415)로부터 인증받는다. 이에 의하여, ACR 서비스(405)는 제 1 통신 세션을 식별하기 위해 제 1 SID를 생성한다. 암호화된 인증서는 제 1 SID와 함께 상술한 테이블(455) 내에 저장된다(단계 525). 다음, 중간 노드(650)는 네트워크(104)를 통해 클라이언트(108)로 제 1 키와 제 1 SID를 전달한다(단계 535). 클라이언트(108)는 클라이언트(108)의 메모리(미도시) 내에 제 1 키와 제 1 SID를 저장한다(단계 540). 다음, ACR 서비스(405)는 메모리(430) 내 저장된 키를 삭제한다(단계 545).
도 7A에 도시한 바와 같이 클라이언트(108)가 중간 노드(650)로부터 제 1 키와 제 1 SID를 수령하면, 도 7B에 도시한 바와 같이 사용자에게 그의 인증서를 요구함이 없이, 통신 세션이 재확립되고 재인증된다. 예컨대, 비정상적인 종료로부터 클라이언트(108)와 중간 노드(650)간의 제 1 통신 세션 내 교란이 있을 수 있다(단계 705).
클라이언트(108)와 중간 노드(650)가 제 2 통신 세션을 재확립할 때, 클라이언트(108)는 중간 노드(650)로 제 1 키와 제 1 SID를 전달한다. 중간 노드(650)의 ACR 서비스(405)가 서버의 메모리(430) 내에 암호화된 인증서를 위치시키고 회수하기 위해 SID를 이용하고(단계 558), 회수된 인증서를 복호화하기 위해 키를 이용한다(단계 560). 키 생성기는 인증서를 위해 제 2 키를 생성한(단계 570) 후, 제 2 키를 사용하여 인증서를 암호화한다(단계 575). SID 생성기(438)는 제 2 통신 세션을 식별하기 위한 제 2 SID를 또한 생성하고(단계 580), 중간 노드(650) 및 서버(415)간의 유지되는 세션에 연관시킨다. 암호화기(440)는 제 2 암호화된 인증서를 SID와 함께 테이블(455)내에 저장한다.
본 구현에 따르면, 다음, 서버(415)는 클라이언트(108)로 제 2 키와 제 2 SID를 전달한다(단계 585). 다음, 클라이언트(108)는 추후의 복구를 위해 제 2 키와 제 2 SID를 저장한다(단계 590). 다음, 키 파괴기(445)는 메모리(430)로부터 제 2 키를 삭제한다(단계 595). 따라서, ACR 서비스(405)는 클라이언트(108)로부터 제 2 키와 제 2 SID를 획득해야 제 2 암호화된 인증서를 복호화할 수 있다. ACR 서비스(405)는 제 1 통신 세션 동안 사용자가 전달하였던 동일한 인증서를 사용하는 제 2 통신 세션을 위한 새로운 키 및 새로운 SID를 작성하였다. 그러므로, 사용자의 인증서는 제 1 통신 세션의 비정상적인 종료후의 제 2 통신 채널에 대하여 재전송되지 않는다.
다른 실시 예에 따르면, 서버(415)와 중간 노드(650)간에 제 2 통신 세션에 교란이나 비정상적인 종료가 발생할 수 있다(단계 710). 도 7C에 도시한 바와 같이, 사용자에게 그의 인증서를 재제출하는 것을 요청하지 않고, 제 2 통신 세션이 재확립되고 재인증될 수 있다.
중간 노드(650)와 서버(415)가 제 2 통신 세션을 재확립할 때, 중간 노드(650)는 클라이언트의 행위상 서버(415)와 함께 세션을 재확립하기 위해, 클라이언트(108)로부터 제 1 키와 제 1 SID를 요청한다(단계 550). 이에 응답하여, 클라이언트(108)는 중간 노드(650)로 제 1 키와 제 1 SID를 전달한다(단계 555). 중간 노드(650)의 ACR 서비스(405)는 서버의 메모리(430) 내에 암호화된 인증서를 위치시키고 회수하기 위해 SID를 이용하고(단계 558), 회수된 인증서를 복호화하기 위해 키를 이용한다(단계 560). 다음, ACR 서비스(500)는 클라이언트(108)를 서버(415)로 재인증하기 위해 복호화된 인증서를 이용하여 서버로의 클라이언트의 세션을 재확립한다(단계 565).
다른 실시 예에 따르면, 제 2 통신 세션에 대하여 클라이언트의 재확립 및 재인증 후에, 중간 노드(650)의 ACR 서비스(405)는 도 7B에 도시한 바와 같이 제 2 키 및 대체용의 제 2 SID를 생성한다. 도 4에 도시한 ACR 서비스의 구현과 비교할 때, 키 생성기(440)가 인증서를 위한 제 2 키를 생성한 후(단계 570), 키 암호화기(440)가 제 2 키를 이용하여 인증서를 암호화한다(단계 575). SID 생성기(438)는 또한 제 2 통신 세션을 식별하기 위한 제 2 SID를 생성하고(단계 580), 중간 노드(650)와 서버(415)간에 재확립된 세션을 이것과 연관시킨다. 암호화기(440)는 테이블(455) 내에 제 2 SID와 함께 제 2 암호화된 인증서를 저장한다. 본 실시 예에 있어서, 그 후 제 2 키와 제 2 SID를 클라이언트(108)로 전달한다(단계 585). 다음, 클라이언트(108)는 추후의 복구를 위해 제 2 키와 제 2 SID를 저장한다(단계 590). 다음, 키 파괴기(445)는 메모리(430)에서 제 2 키를 삭제한다(단계 595).
다른 실시 예에 따르면, 하나 혹은 그 이상의 제 1 프로토콜 서비스(112) 및 ACR 서비스(405)가 호스트 서비스 노드들의 어떤 것을 통하여 배포될 수 있다. 이처럼, 호스트 서비스(116)에 연결되는 클라이언트(108)에 대한 재확립과 재인증, 또는 자동적으로 재연결하는 것의 기능성은, 호스트 서비스들(116) 및/또는 호스트 노드들(118)을 넘어 다른 시스템 및 배치 아키텍쳐들 내에 유연하게 배포될 수 있다.
본 발명의 상기 관점에 대한 일 실시 예에 따르면, 각각 ACR 서비스(405)는 각 호스트 서비스(116)에 전용의 자동 클라이언트 재연결 서비스들을 제공하기 위해, 각 시스템(116a-116n)에 연관될 수 있다. 단일 제 1 프로토콜 서비스(112)가 호스트 서비스들(116a-116n) 모두를 다루도록 구현될 수 있다. 도 8A에 도시한 바와 같이, 각 다중 ACR 서비스들(405a-405n)이 각 호스트 서비스들(116a-116n)에 각각 연관된다. 일례로서, 클라이언트(108)가 제 1 프로토콜 서비스(112)를 이용하여 호스트 서비스(116a)와 통신 세션을 확립한다. 클라이언트(108)의 호스트 서비스(116a)로의 연결을 위해 호스트 서비스(116a)와 연관된 ACR 서비스(405a)는 자동 클라이언트 재연결 서비스들을 제공한다. 네트워크 연결 내에 교란이 있으면, 제 1 프로토콜 서비스(112)는 클라이언트(108)와 연결이 재확립되며, ACR 서비스(405a)는 클라이언트(108)를 호스트 서비스(116a)로 재인증할 것이다. 제 2 클라이언트(108)는 제 1 프로토콜 서비스(112)를 이용하여 호스트 서비스(116b)와 통신 세션을, 제 1 클라이언트(108)와 동시에 확립한다. ACR 서비스(405b)는 호스트 서비스(116b)로의 클라이언트의 연결을 위해 자동 클라이언트 재연결 서비스들을 제공한다. 네트워크 교란이 발생하면, ACR 서비스(405a)와 관련된 제 1 프로토콜 서비스(112)는 클라이언트(108)를 호스트 서비스(116b)로 재연결할 것이다.
본 발명의 상기 관점에 대한 다른 실시 예에 따르면, ACR 서비스는 시스템(100)의 각 호스트 노드들(118a-118n) 상에서 실행되는 각 다중 호스트 서비스들(116a-116n)에 연관될 수 있다. 호스트 노드(118) 상에서 실행되는 각 다중 호스트 서비스들(116a-116n)을 서비스 하기 위해, 제 1 프로토콜 서비스(112)는 각 호스트 노드(118) 상에 구현될 수 있다. 도 8B에 도시한 바와 같이, 각 ACR 서비스(405a-405n)는 각 호스트 서비스(116a-116n)에 각각 연관된다. 각 호스트 노드(118)는 그것의 각 호스트 서비스들(116)과 각 ACR 서비스(405)를 서비스하는 전용의 제 1 프로토콜 서비스(112)를 가진다. 예컨대, 클라이언트(108)는 제 1 프로토콜 서비스(112a)를 이용함에 의해 호스트 노드(118a) 상에 호스트 서비스(116a)에 대한 통신 세션을 확립한다. 호스트 노드(118a) 상의 ACR 서비스(405a)는 호스트 노드(118a) 상에 호스트 서비스(116a)에 대한 클라이언트(108)의 연결을 위한 자동 클라이언트 재연결 서비스들을 제공할 수 있다.
네트워크 교란이 감지되면, 제 1 프로토콜 서비스(112a)는 호스트 노드(118a)상에 호스트 서비스(116a)로의 클라이언트의 연결을 재확립하고, 호스트 노드(118a) 상의 ACR 서비스(405a)는 호스트 노드(118a) 상의 호스트 서비스(116a)로 클라이언트(108)를 재인증한다. 제 1 클라이언트(108)와 동시에 제 2 클라이언트(108)는, 제 1 프로토콜 서비스(112a) 및 ACR 서비스(405a)를 이용하여, 호스트 노드(118a) 상에 호스트 서비스(116b)와 통신 세션을 재확립한다. 네트워크 교란이 있다면, ACR 서비스(405a)와 관련한 제 1 프로토콜 서비스(112a)는 클라이언트(108)를 호스트 노드(118a) 상의 호스트 서비스(116b)와 재연결한다. 제 1 클라이언트(108) 및 제 2 클라이언트(108)와 동시에 제 3 클라이언트(108)는, 제 1 프로토콜 서비스(112b) 및 호스트 노드(118b)상의 ACR 서비스(405n)를 이용하여, 호스트 노드(118b) 상의 호스트 서비스(116n)와 통신 세션을 재확립한다. 유사한 방법으로 제 1 프로토콜 서비스(112b) 및 ACR 서비스(405n)는 호스트 노드(118b)의 호스트 서비스(116n)로 클라이언트(108)를 재연결할 수 있다.
다른 실시 예에 따르면, 하나 혹은 그 이상의 ACR 서비스들(405)은 중간 노드 또는 제 1 프로토콜 서비스 노드들 중 어느 것을 통해 제 1 프로토콜 서비스들(112)로 배포될 수 있다. 이와 같이, 이처럼, 호스트 서비스(116)에 클라이언트(108)가 연결되는 기능성은, 제 1 프로토콜 서비스(112)와 연관된 구현 아키텍쳐들 및 다른 시스템에 유연하게 배포될 수 있다.
본 발명의 상기 관점에 대한 일 실시 예에 따르면, 제 1 프로토콜 서비스(112)에 전용인 자동 클라이언트 재연결 서비스들을 제공하기 위해, ACR 서비스(405)는 각 제 1 프로토콜 서비스(112)에 연관될 수 있다. 단일 제 1 프로토콜 서비스(112) 및 ACR 서비스(405)는 호스트 서비스들(116a-116n) 모두를 다루도록 구현될 수 있다. 도 9A에 도시한 바와 같이, 호스트 서비스들(116a-116n)로 자동 클라이언트 재연결 서비스들을 제공하기 위해, ACR 서비스(405)는 동일한 컴퓨팅 디바이스 상의 제 1 프로토콜 서비스(112)와 함께 존재한다. 예컨대, 클라이언트(108)는 제 1 프로토콜 서비스(112) 및 ACR 서비스(405)를 이용하여 호스트 서비스들(116a-116n)의 어느 것과 통신 세션을 확립한다. 제 1 프로토콜 서비스(112) 및 ACR 서비스(405)는 클라이언트(108)에서 호스트 서비스들(116a-116n) 중 어느 것과 재연결 기능성을 제공한다.
본 발명의 상기 관점에 대한 다른 실시 예에 따르면, 각 ACR 서비스들(405a-405n)은 각 다중 제 1 프로토콜 서비스들(116a-116n)과 연관될 수 있다. 도 9B에 도시한 경우를 예로 들면, 호스트 노드(118a) 상에 실행되는 각 다중 호스트 서비스들(116a-116n)을 서비스 하기 위해, 제 1 프로토콜 서비스(112a) 및 ACR 서비스(405a)는 호스트 노드(118a) 상에 구현될 수 있다. 도 9B에 도시한 바와 같이, 각 호스트 노드(118a-118n)의 다중 호스트 서비스들(112a-112n)에 전용의 자동 클라이언트 재연결 서비스들을 제공하기 위해, 각 ACR 서비스(405a-405n)는 각 제 1 프로토콜 서비스(112a-112n)와 연관된다. 일례로서, 클라이언트(108)는 호스트 노드(118a) 상의 호스트 서비스(116a)와, 동일한 호스트 노드(118a) 상의 ACR 서비스(405a)와 제 1 프로토콜 서비스(112a)를 이용함에 의해, 통신 세션을 확립한다. 네트워크 교란이 발생하면, ACR 서비스(405a)와 관련된 제 1 프로토콜 서비스(112)는 클라이언트(108)를 호스트 노드(118a) 상의 호스트 서비스(116a)로 재연결할 것이다.
비록 본 발명이 도 8A-8B 및 도 9A-9B의 다양한 시스템 및 구현 아키텍쳐에 대하여 논의되었지만, 호스트 노드들(118), 중간 노드들(650) 또는 다른 컴퓨팅 장치들 중 어느 것을 통한, 제 1 프로토콜 서비스(들), ACR 서비스(들)(405) 및 호스트 서비스(들)(116)의 하나 혹은 그 이상을 결합하고 및/또는 배포하는 다른 시스템 및/또는 구현 아키텍쳐가 사용될 수 있다.
더욱이, 인증 및 재인증 서비스들을 제공하는 ACR 서비스(405)를 사용하는 대신에, 티켓 권한부(1036) 서비스가 이용될 수도 있다. 티켓 권한부(1036)는 연결 및 인증 목적을 위해 티켓을 생성하고 확인한다. 티켓은 세션 식별자 및 키로 이루어질 수 있다. 그것은 또한, 이런 목적으로 사용될 수 있는 보안, 안전 또는 식별의 다른 타입이나 널 값 또는 상수, 넌스(nonce) 또는 애플리케이션 서버 인증서, 난수 등으로 이루어질 수 있다.
도 10A에 도시한 바와 같이 클라이언트(108)를 호스트 서비스(116)로 재연결하기 위한 네트워크 통신 시스템(1000)의 구현에 있어서, 티켓 권한부(1036)은 한 노드를 중간 노드(1032), 제 1 프로토콜 서비스(112) 또는 호스트 서비스들(116a-116n) 중 어느 것로부터 분리시킬 수 있다. 도 10A는 시스템(2000)의 일부로서, 단일 컴퓨팅 장치가 될 수 있는, 티켓 권한부(1036) 및 중간 노드(1032)를 도시한다. 네트워크들(104, 104)에 추가로, 시스템(1000)은 클라이언트(108), 제 1 프로토콜 서비스(112) 및 호스트 서비스들(116a-116n)을 포함한다. 이것들 모두는 상기에서 설명하였다. 일 실시 예에 따르면, 중간 노드(1032)는 보안 게이트웨이이며, 예컨대, 방화벽 및/또는 라우터이다. 이것에 통해, 클라이언트(108) 및 제 1 프로토콜 서비스(112)간의 메시지들은 네크워크(104)의 구성에 따라 통과될 수 있다. 티켓 권한부(1036)는, 통신이 가능하고 여기에 기술된 동작들을 수행하기에 충분한 메모리 용량 및 프로세서 능력을 가진, 예컨대 스탠트-얼론(stand-alone) 네트워크 구성요소일 수 있다. 티켓 권한부(1036)은 서버(415) 상의 티켓 관련 서비스들을 제공하는 전용의 특정 호스트 서비스(116)일 수 있다.
도 10A에 도시한 실시 예에 따르면, 중간 노드(1032)는 클라이언트(108)에 의해 초기화되는 연결(120a)고, 제 1 프로토콜 서비스(112)와 제 2 연결(120b)을 확립하도록 구성된다. 연결(120a) 및 제 2 연결(120b)은 함께 상기 연결(120)을 구성한다. 여기서, 클라이언트(108) 및 제 1 프로토콜 서비스(112)는 제 1 프로토콜을 사용하여 통신한다.
도시한 중간 노드(1032)는 티켓 권한부(1036)와 함께 통신하도록 또한 구성된다. 일 실시 예에 따르면, 티켓 권한부(1036)는 제 1 재연결 티켓을 위한 요청을 중간 노드(1032)로부터 수령하고, 제 1 재연결 티켓을 생성한다. 제 1 재연결 티켓은 예컨대, 큰 난수를 포함할 수 있다. 제 1 재연결 티켓은, 비정상적인 서비스의 교란 후에 클라이언트(108)에 다시 인증서를 제공하도록 요구하지 않고, 클라이언트(108)가 자동적으로 호스트 서비스와의 연결을 재확립하도록 한다.
제 1 재연결 티켓의 생성후, 중간 노드(1032) 또는 티켓 권한부(1036)으로의 액세스를 획득한 공격자가 제 1 재연결 티켓없이 인증서를 액세스할 수 없도록, 티켓 권한부(1036)는 제 1 재연결 티켓을 사용하는 클라이언트(108)에 의해 제공되는 인증서를 암호화한다. 티켓 권한부(1036)는 클라이언트(108)와 중간 노드(1032)간에 확립되는 통신 세션을 식별하는 SID를 또한 생성할 수 있다. 다음, 티켓 권한부(1036)는 메모리에 SID와 함께 암호화된 인증서를 저장하고, 네트워크(104)를 통해 클라이언트(108)로 제 1 재연결 티켓 및 SID를 전달한다. 클라이언트가 SID와 제 1 재연결 티켓을 수령하면, 티켓 권한부(1036)는 그 메모리(미도시)로부터 티켓을 파괴(즉, 삭제)한다.
다른 실시 예에 따르면, 티켓 권한부(1036)는 핸들을 생성하도록 구성된다. 핸들은 예컨대, 제 1 재연결 티켓과 연관되는(예: 맵핑되는) 난수일 수 있다. 일 실시 예에 따르면, 상기 핸들은 제 1 재연결 티켓을 형성하기 위한 난수보다 작은 난수이다. 예컨대, 상기 핸들은 32비트 난수일 수 있다. 티켓 권한부(1036)는, 제 1 재연결 티켓의 복사본 및 핸들의 복사본을 보유한 채, 제 1 재연결 티켓과 핸들을 중간 노드(1032)로 전달한다. 제 1 재연결 티켓의 복사본은 추후에, 클라이언트(108)를 재연결하는 과정 중 티켓 권한부에 제출된다면, 티켓 권한부(1036)가 클라이언트(108)로 전달하였던 제 1 재연결 티켓을 확인하는데 사용될 수 있다. 일 실시 예에 따르면, 티켓 권한부(1036)는 또한 제 1 프로토콜 서비스(112)를 위한 어드레스를 보유한다. 이것은 하기와 같이, 제 1 재연결 티켓에 연관되고, 제 1 재연결 티켓을 확인할 때, 중간 노드(1032)로 전달된다.
일 실시 예에 따르면, 중간 노드(1032)는, 티켓 권한부(1036)가 티켓 권한부(1036)에 보유되는 제 1 재연결 티켓의 복사본을 삭제하는 티켓 권한부(1036)에 의해, 핸들을 사용하고 그것을 전달하도록 개량 구성될 수 있다. 하기의 다른 실시 예에 따르면, 중간 노드(1032)는, 클라이언트(108)가 호스트 서비스(116)로 재연결되는 과정 중에, 제 1 재연결 티켓을 삭제하고, 제 1 재연결 티켓의 대체물을 생성하도록 개량 구성될 수 있다. 추가적인 다른 실시 예에 따르면, 제 1 재연결 티켓은 예정된 시간 후에 자동 삭제되도록 구성된다.
다른 실시 예에 따르면, 제 1 프로토콜 서비스(112)는 제 2 재연결 티켓을 생성하도록 구성된다. 제 2 재연결 티켓은 제 2 재연결 티켓의 경우처럼, 예컨대 큰 난수를 포함할 수 있다. 제 1 프로토콜 서비스(112)는 또한 제 2 재연결 티켓을 클라이언트(108)로 전달하도록 구성될 수 있으며, 세션 넘버 및 제 2 재연결 티켓의 복사본을 보유한다. 제 2 재연결 티켓의 복사본은 추후에 클라이언트(108)를 재연결하는 과정 중 제 1 프로토콜 서비스(112)에 제출된다면, 제 1 프로토콜 서비스(112)가 클라이언트(108)로 전달하였던 제 2 재연결 티켓을 확인하는데 사용될 수 있다. 일 실시 예에 따르면, 제 1 프로토콜 서비스(112)는 제 2 재연결 티켓을 중간 노드(1032)를 경유하여 클라이언트(108)로 전달한다. 다른 실시 예에 따르면, 제 1 프로토콜 서비스(112)는 제 2 재연결 티켓을 클라이언트(108)로 직접 전달한다. 더욱이, 하기에 상술할 바와 같이, 제 1 프로토콜 서비스(112)는 클라이언트(108)를 호스트 서비스(116)로 재연결하는 과정 중에, 제 2 재연결 티켓을 삭제하고, 제 2 재연결 티켓의 대체물을 생성하도록 개량 구성할 수 있다. 추가적인 다른 실시 예에 따르면, 제 2 재연결 티켓은 예정된 시간 후 자동적으로 삭제되도록 구성된다.
일 실시 예에 따르면, 중간 노드(1032)는 제 1 및 제 2 재연결 티켓들을 위한 매개물로서 역할을 한다. 중간 노드(1032)는 예컨대, 티켓 권한부(1036)에 의해 생성된 제 1 재연결 티켓 및 제 1 프로토콜 서비스(112)에 의해 생성된 제 2 재연결 티켓을 수령한다. 다음, 중간 노드(1032)는 제 1 재연결 티켓과 제 2 재연결 티켓을 클라이언트(108)로 전달한다. 더욱이, 클라이언트(108)가 호스트 서비스(116)로 재연결되는 도중에, 중간 노드(1032)는 제 1 재연결 티켓과 제 2 재연결 티켓을 클라이언트(108)로부터 받아서, 티켓 권한부(1036)으로 제 1 재연결 티켓을 전달할 수 있고, 적당하다면, 제 2 재연결 티켓을 제 1 프로토콜 서비스(112)로 전달할 수 있다.
만약 클라이언트(108)와 호스트 서비스(116) 간의 제 1 통신 세션이 종료되면, 사용자에게 그의 인증서를 요청함이 없이 새로운 세션이 재확립될 수 있다. 클라이언트(108) 및 호스트 서비스(116)가 제 2 통신 세션을 재확립할 때, 클라이언트(108)는 제 1 및 제 2 재연결 티켓과 SID를 중간 노드(1032)로 재전송한다. 중간 노드(1032)가 제 1 및 제 2 재연결 티켓 및 SID를 티켓 권한부(1036)으로 전송하고, 티켓 권한부은 제 1 연결을 위해 암호화된 인증서를 위치시키고 회수하는데 SID를 이용하고, 회수된 인증서를 복호화하는데 제 1 재연결 티켓을 이용한다. 다음, 티켓 권한부(1036)은 복호화된 인증서를 확인함에 의해 클라이언트를 인증한다. 재인증 후, 제 2 재연결 티켓은 호스트 서비스(116)와의 제 2 연결을 재확립하는 제 1 프로토콜 서비스(112)로 진행된다.
도 10B에 도시한 바와 같은 네트워크 통신 시스템(1000)의 다른 실시 예에 따르면, 클라이언트(108)를 호스트 서비스들(116a-116n) 중 어느 것과 재연결하기 위해 티켓 권한부(1036) 대신에 ACR 서비스(405)를 이용할 수 있다. 본 구현에 따르면, ACR 서비스(405)는 티켓 권한부(1036)에 대한 상술한 것들과 유사한 서비스들을 제공한다. 미리 기술하자면, ACR 서비스(405)는 클라이언트 통신 세션을 연결하고 재연결하기 위한 키 및 SID를 생성하고 확인하고 관리한다. 상술한 티켓 권한부(1036)에 의해 생성되고, 확인되고 관리되는 티켓의 타입에 따라, SID 및 키는 티켓을 생성한다. 이처럼, 다른 실시 예에 따르면, 티켓은 세션 식별자와 키의 결합을 위해 상호가변적으로 사용될 수 있다.
도 10B에 도시한 바와 같은 중간 노드(1032)는 ACR 서비스(405)와 함께 통신하도록 구성된다. 일 실시 예에 따르면, ACR 서비스(405)는 중간 노드(1032)로부터 제 1 SID 및 제 1 키를 위한 요청을 수령하고, 제 1 SID 및 제 1 키를 생성하도록 구성된다. ACR 서비스(405)는 클라이언트(108)와 호스트 서비스(116)간에 확립되는 통신 세션을 식별하기 위해 제 1 SID를 사용한다. 제 1 SID 및 제 1 키는, 서비스에 비정상적인 교란이 발생하면, 클라이언트(108)에 인증서를 다시 요청하지 않고 클라이언트(108)가 호스트 서비스(116)와 자동적으로 재연결되도록 한다.
제 1 SID 및 제 1 키를 생성한 후, 중간 노드(1032) 또는 ACR 서비스(405)로의 액세스를 획득한 공격자가 제 1 키 없이 인증서에 액세스할 수 없도록, ACR 서비스(405)는 클라이언트(108)로부터 받은 인증서를 제 1 키를 사용하여 암호화한다. 다음, ACR 서비스(405)는 암호화된 인증서를 SID와 함께 메모리(430)에 저장하고, 제 1 SID 및 제 1 키를 네트워크(104)를 통해 클라이언트(108)로 전달한다. 클라이언트의 제 1 SID 및 제 1 키의 수령에 맞추어, ACR 서비스(405)는 그의 메모리(430)에서 키를 파괴(삭제)한다.
다른 실시 예에 따르면, 제 1 프로토콜 서비스(112)는 제 2 SID 및 제 2 키를 생성하도록 구성된다. 제 1 프로토콜 서비스(112)는, 제 2 SID 및 제 2 키의 복사본을 보유한 체, 제 2 SID 및 제 2 키를 클라이언트(108)로 전달하도록 구성된다. 제 2 SID 및 제 2 키의 복사본은 추후에, 클라이언트(108)를 재연결하는 과정 중 제 1 프로토콜 서비스(112)에 제출된다면, 제 1 프로토콜 서비스(112)가 클라이언트(108)로 전달하였던 제 2 SID 및 제 2 키를 확인하는데 사용될 수 있다. 일 실시 예에 따르면, 제 1 프로토콜 서비스(112)는 제 2 SID 및 제 2 키를 중간 노드(1032)를 경유하여 클라이언트(108)로 전달한다. 다른 실시 예에 따르면, 제 1 프로토콜 서비스(112)는 제 2 SID 및 제 2 키를 클라이언트(108)로 직접 전달한다. 더욱이, 하기에 상술할 바와 같이, 제 1 프로토콜 서비스(112)는 클라이언트(108)를 호스트 서비스(116)로 재연결하는 과정 중에, 제 2 SID 및 제 2 키를 삭제하고, 제 2 SID 및 제 2 키의 대체물을 생성하도록 개량 구성할 수 있다. 추가적인 다른 실시 예에 따르면, 제 2 SID 및 제 2 키는 예정된 시간 후 자동적으로 삭제되도록 구성된다.
일 실시 예에서, 중간 노드(1032)는 제 1 및 제 2 SID 및 키를 위한 중개자로 작용한다. 중간 노드(1032)는, 예를 들면, ACR 서비스(405)에 의해 생성된 제 1 SID 및 제 1 키와 제 1 프로토콜 서비스(112)에 의해 생성된 제 2 SID 및 제 2 키를 수신한다. 다음, 중간 노드(1032)는 제 1 SID 및 제 1 키 및 제 2 SID 및 제 2 키를 클라이언트(108)에 송신한다. 게다가, 중간 노드(1032)는, 호스트 서비스(116)에 클라이언트(108)를 재연결하기 위한 프로세스 과정 동안, 제 1 SID 및 제 1 키 및 제 2 SID 및 제 2 키를 클라이언트(108)로부터 수용할(accept) 수 있으며, 그 후, 해당 될 경우, 제 1 SID 및 제 1 키를 ACR 서비스(405)에 송신할 수 있으며, 제 2 SID 및 제 2 키를 프로토콜 서비스(112)에 송신할 수 있다.
예를 들어, 클라이언트(108)와 호스트 서비스(116) 간의 제 1 통신 세션(communication session)이 비정상적으로 종결하면, 사용자에게 사용자의 인증서를 재입력할 것을 요구하지 않아도 새로운 세션이 재-설정될 수 있다. 클라이언트(108)와 호스트 서비스(116)가 제 2 통신 세션을 재-설정할 때, 클라이언트(108)는 제 1 및 제 2 SID 및 키를 중간 노드(1032)에 송신한다. 중간 노드(1032)는 제 1 SID 및 제 1 키를 ACR 서비스(405)에 송신하며, 여기서 제 1 연결을 위한 암호화된 인증서(authentication credential)를 찾아서 탐색하기 위해 SID를 이용하고, 탐색된 인증서를 복호화하기 위해 제 1 키를 이용한다. 다음, ACR 서비스(405)가 복호화된 인증서가 유효한 것으로 확인함으로써 클라이언트를 인증한다. 재-인증한 후, 제 2 SID 및 제 2 키는 호스트 서비스(116)와 제 2 연결(124)을 재-설정하기 위해 제 1 프로토콜 서비스(112)에 포워딩된다.
도 11A를 참조하면, 네트워크 통신을 위한 다른 실시 예 시스템(1100)은, 전술과 마찬가지로, 네트워크(104, 104'), 클라이언트(108), 제 1 프로토콜 서비스(112), 호스트 서비스(116), 중간 노드(1032), 및 티켓 권한부(ticket authority)(1036)를 포함하며, 제 1 컴퓨팅 노드(1140) 및 제 2 컴퓨팅 노드(1144)를 더 개시하며, 일 실시 예에서는 제 1 및 제 2 컴퓨팅 노드 둘 다 클라이언트(108)를 호스트 서비스(116)에 초기 연결하기 위해 이용된다. 더욱이, 도 11A의 실시 예에서, 클라이언트(108)는 월드 와이드 웹에 연결하기 위해, 웹 브라우저(148)(예를 들면, 워싱톤, 레드몬드 마이크로소프트 사의 INTERNET EXPLORER 프로그램과 같은)를 포함한다.
일 실시 예(미도시)에서, 시스템(1100)은 두 개 이상의 중간 노드(1032) 및/또는 두 개 이상의 제 1 프로토콜 서비스(112)를 포함한다. 후술되는 바와 같이, 클라이언트(108) 및 제 1 프로토콜 서비스(112) 간에 전달해야만 하는 메시지를 통해, 중간 노드(1032) 및/또는 제 1 프로토콜 서비스(112)는, 예를 들면, 로드 대응 등식(load balancing equation)에 따라 선택될 수 있다.
제 1 컴퓨팅 노드(1140) 및 제 2 컴퓨팅 노드(1144) 각각은 통신할 수 있으며 명세서에 설명될 운영체계(operation)를 실행하기에 프로세서 전력과 메모리 용량을 충분히 갖는 임의의 컴퓨팅 디바이스일 수 있다. 예를 들면, 일 실시 예에서, 제 1 컴퓨팅 노드(1140)는 하나 이상의 웹 사이트 또는 웹 기반형 애플리케이션을 제공하는 웹 서버이다. 다른 실시 예에서, 제 2 컴퓨팅 노드(1144)는 XML 서비스 또는 웹 서비스를 제공한다.
일 실시 예에서, 클라이언트(108)와 네트워크(104)는 외부 네트워크(external network: 1152)를 형성하고, 점선으로 표시된 제 1 방화벽(1156)에 의해 시스템(1100)의 나머지 부분과 분리된다. 중간 노드(1132) 및 제 1 컴퓨터 노드(1140)는 "비무장 지대(demilitarized zone)"(1160)(즉, 사내 통신망과 개인 통신망 간에 배치된 네트워크 영역)에서 찾을 수 있으며, 점선으로 표시된 제 1 방화벽(1156) 및 제 2 방화벽(1164)에 의해 시스템(1100)의 나머지 부분과 분리된다. 다음, 도시된 바와 같이, 네트워크(104'), 제 1 프로토콜 서비스(112), 호스트 서비스(116a ~ 116n), 티켓 권한부(1036), 및 제 2 컴퓨팅 노드(1144)는 내부 네트워크(1168)를 형성하며, 제 2 방화벽(1164)에 의해 시스템(1100)의 나머지 부분과 분리된다.
대안적으로, 도 11A에 도시되지 않는 다른 실시 예에서, 시스템(1100)은 비무장 지대(1160) 내의 네트워크(104) 및 중간 노드(1032) 간에 위치된 제 3 컴퓨팅 노드(1146)를 더 포함한다. 제 3 컴퓨팅 노드(1146)는 명세서에 설명된 동작(들)을 수행하기 위해, 네트워크 통신 가능하며 프로세서 전력과 메모리 용량을 충분히 갖는 임의의 컴퓨팅 디바이스일 수 있다. 후술에 따르면, 임의의 실시 예로, 제 3 컴퓨팅 노드(1146)는 클라이언트(108)를 호스트 서비스(116)에 초기에 연결하는 프로세스를 수행하는 동안 및/또는 클라이언트(108)를 호스트 서비스(116)에 재연결하는 프로세스를 수행하는 동안 이용된다. 더 구체적으로, 후술과 같이, 시스템(1100)이 두 개 이상의 중간 노드(1032)를 포함하는 경우, 제 3 컴퓨팅 노드(1164)는 클라이언트(108)의 클라이언트 에이전트(128) 및 제 1 프로토콜 서비스(112) 간에 전달해야 하는 통신을 통해, 예를 들면, 로드 대응 등식(load balancing equation)에 따라, 중간 노드(1032)를 선택할 수 있다.
더욱이, 도 11A를 참조하면, 대안적인 실시 예에서, 중간 노드(1032)는 두 개 이상의 중간 노드(1032) 레벨 "a" ~ "n"에 의해 교체될 수 있다. 도시된 바와 같이, 각 레벨 "a" ~ "n"은 두 개 이상의 중간 노드(1032a ~ 1032n)를 포함할 수 있다. 후술과 같이, 클라이언트(108)의 클라이언트 에이전트(1280)는, 예를 들면, 로드 대응 등식에 따라 중간 노드(1032)의 임의의 조합을 통해 라우트(route)될 수 있다. 예를 들면, 도시된 바와 같이, 클라이언트 에이전트(128)는 연결(120)을 경유하여 중간 노드(1032)를 통해 라우트될 수 있다. 당업자에게 쉽게 이해될 수 있는 시스템(1100)의 다른 구성 역시 가능하다.
다시 도 11A를 참조하면, 일 실시 예에서, 웹 브라우저(1148)는 네트워크(104)를 통해 제 1 컴퓨팅 노드(1140)와 통신하며, 제 1 컴퓨팅 노드는 제 2 컴퓨팅 노드(1144) 및 티켓 권한부(1036)와 인터페이스한다. 보다 구체적으로, 제 1 컴퓨팅 노드(1140)는 제 2 컴퓨팅 노드(1144) 및 티켓 권한부(1036)의 주소로 구성된다. 후술에 따르면, 일 실시 예에서, 제 1 컴퓨팅 노드(1140)는 클라이언트(108)의 웹 브라우저(1148), 제 2 컴퓨팅 노드(1144) 및 티켓 권한부(1036) 간의 정보를 중계하도록(relay) 구성됨으로써, 이들 간의 직접 통신을 차단한다. 이처럼 직접 통신을 차단함으로써, 제 1 통신 노드(1140)는 시스템(1100)에 추가 보안 레벨을 더한다. 또한, 제 1 통신 노드(1140)는 중간 노드(1032)의 주소 또는, 대안적으로, 두 개 이상의 중간 노드(1032)의 주소로 구성될 수 있다.
일부에서, 제 2 컴퓨팅 노드(1144)는 호스트 서비스(116)에서 동작하는 애플리케이션 프로그램이 클라이언트(108)의 사용자에게 이용할 수 있는지를 판단하도록 구성된다. 다시 말해, 제 2 컴퓨팅 노드(1144)는 사용자가 애플리케이션 프로그램에 액세스하도록 인증되는 지를 판단하도록 구성된다. 일 실시 예에서, 다른 후술에 따르면, 사용자가 원하는 애플리케이션 프로그램을 선택한 다음, 제 2 컴퓨팅노드(1144)는 호스트 서비스(116)가 로드 대응을 목적으로 사용자가 원하는 애플리케이션을 동작하는데 이용할 수 있는 지를 판단하도록 구성된다. 제 2 컴퓨팅 노드(1144)는 제 1 컴퓨팅 노드(1140)의 호스트 서비스(116)에 대한 주소를 리턴한다. 또한, 제 2 컴퓨팅 노드(1144)는 로드 대응 등식을 이용하여 다수의 제 1 프로토콜 서비스(112) 간에서 선택될 수 있는 제 1 프로토콜 서비스의 주소를 제 1 컴퓨팅 노드(1140)에 리턴한다. 제 1 통신 노드(1140)는 선택된 제 1 프로토콜 서비스(112) 및 선택된 호스트 서비스(116)의 주소를 번갈아 티겟 권한부(1036)에 송신한다.
일부에서, 티겟 권한부(1036)는 연결 티겟을 생성한다. 일 실시 예에서, 티겟 권한부(1036)는 클라이언트(108)로의 송신을 위해 초기 연결 티겟을 제 1 컴퓨팅 노드(1140)에 송신한다. 다른 실시 예에서, 티겟 권한부(1036)는 제 1 재연결 티겟을 중간 노드(1032)에 송신한다.
도 11B에 도시된 바와 같이, 네트워크 통신 시스템(1100)의 다른 실시 예에서, ACR서비스(405)는 클라이언트(108)를 호스트 서비스(116)에 재연결하기 위해 티켓 권한부(1036) 대신 이용될 수 있다. 티겟 권한부(1036)로 티켓을 이용하는 대신, ACR 서비스(405)는 클라이언트 통신 세션을 연결 및 재연결하기 위해 SID 및 키를 생성하고, 확인하여 관리한다. ACR 서비스(405)는 클라이언트(108)와 연관된 SID 및 키, 또는 티켓을 이용하여 호스트 서비스(116) 또는 서버(415)에 대해 클라이언트를 인증 및 재-인증한다. 전술한 바와 같이, 티켓은 SID 및 키의 조합을 참조하여 이용될 수 있거나 또는 티켓은 SID 및 키를 포함할 수 있다.
도 11B의 시스템(1100)은 전술한 바와 같이, 네트워크(104, 104'), 클라이언트(108), 제 1 프로토콜 서비스(112), 호스트 서비스(116), 중간 노드(1032) 및 ACR 서비스(405)를 포함하며, 제 1 컴퓨팅 노드(1140) 및 제 2 컴퓨팅 노드(1144)를 더 개시하며, 일 실시 예에서 상기 노드들 모두는 클라이언트(108)를 호스트 서비스(116)에 초기 연결하기 위해 이용된다. 더욱이, 클라이언트(108)는 웹 브라우저(148)를 포함하여 월드 와이드 웹에 연결한다.
일 실시 예에서(미도시), 시스템(1100)은 두 개 이상의 중간 노드(1032) 및/또는 두 개 이상의 제 1 프로토콜 서비스(112) 또는 두 개 이상의 ACR서비스(405)를 포함한다. 클라이언트(108) 및 제 1 프로토콜 서비스(112) 간에 전달해야하는 메시지를 통해, 중간 노드(1032) 및/또는 제 1 프로토콜 서비스(112) 및/또는 ACR서비스(405) 각각은, 예를 들면, 로드 대응 등식에 따라 선택될 수 있다.
다른 실시 예에서, 도 11B의 시스템(1100)은 제 1 방화벽(1156)에 의해 "비무장 지대(demilitarized zone)"(1160)로 분리된 외부 네트워크(1152)를 포함할 수 있으며, 교대로 제 2 방화벽(1156)에 의해 내부 네트워크(1168)로 분리된다. 본 발명이 도 11A의 다양한 네트워크 토폴로지(topology)에 대해서 전술되어 있지만, 예를 들면, 임의의 다른 네트워크 토포로지는 내부 네트워크, 외부 네트워크, 서브-네트워크, 인트라넷, 방화벽, 보안 영역(security zone), 단일 서버, 서버 네트워크 또는 서버 펌(server farm)의 조합을 포함하는 토폴로지를 이용할 수 있다.
대안적으로, 도 11B에 도시되지 않은 다른 실시 예에서, 시스템(1100)은 비무장 지대(1160) 내에서 네트워크(104) 및 중간 노드(1032) 간에 위치된 제 3 컴퓨팅 노드(1146)를 더 포함한다. 임의의 실시 예에서, 제 3 컴퓨팅 노드(1146)는,클라이언트(108)를 호스트 서비스(116)에 초기에 연결하는 프로세스를 수행하는 동안 및/또는 클라이언트(108)를 호스트 서비스(116)에 재연결하는 프로세스를 수행하는 동안 이용된다.
도 11B의 다른 실시 예 시스템(1100)에서, 중간 노드(1032)는 두 개 이상의 중간 노드(1032a ~ 1032n) 레벨 "a" ~ "n"에 의해 교체될 수 있다. 클라이언트(108)의 클라이언트 에이전트(1280)는, 예를 들면, 로드 대응 등식에 따라 중간 노드(1032)의 임의의 조합을 통해 라우트(route)될 수 있다.
일 실시 예에서, 웹 브라우저(1148)는 네트워크(104)를 통해 제 1 컴퓨팅 노드(1140)와 통신하며, 제 1 컴퓨팅 노드(1140)는 제 2 컴퓨팅 노드(1144) 및 ACR 서비스(405)와 인터페이스 한다. 보다 구체적으로, 제 1 컴퓨팅 노드(1140)는 제 2 컴퓨팅 노드(1144) 및 ACR 서비스(405)의 주소로 구성된다. 다른 실시 예에서, 시스템(1100)에서 추가 보안 레벨을 제공하기 위해, 제 1 컴퓨팅 노드(1140)는 클라이언트(108)의 웹 브라우저(1148), 제 2 컴퓨팅 노드(1144) 및 ACR 서비스(405) 간의 정보를 중계하도록 구성됨으로써, 이들 간의 직접 통신을 차단한다. 제 1 컴퓨팅 노드(1140)는 임의의 중간 노드(1032a ~ 1032n)의 주소로 구성될 수 있다.
일부에서, 제 2 컴퓨팅 노드(1144)는 호스트 서비스(116)에서 동작하는 애플리케이션 프로그램이 클라이언트(108)의 사용자에게 이용가능한 것인 지를 판단하도록, 그리고 사용자에 의해 선택된 호스트 서비스(116)의 주소를 제 1 컴퓨팅 노드(1140)에 제공하도록 구성된다. 또한, 제 2 컴퓨팅 노드(1144)는 로드 대응 등식을 이용하여 다수의 제 1 프로토콜 서비스(112)중 하나의 주소를 제 1 컴퓨팅 노드(1140)에 제공한다. 제 1 통신 노드(1140)는 선택된 제 1 프로토콜 서비스(112) 및 선택된 호스트 서비스(116)의 주소를 번갈아 ACR서비스(405)에 송신한다.
일부에 대해, 명세서에 개시된 바와 같이, ACR 서비스(405)는 연결 SID 및 키를 생성하고, 확인하여 관리하며, 호스트 서비스(116) 또는 서버(415)와 함께 클라이언트의 통신 세션을 재-설정하기 위해 인증 및 재-인증 서비스를 제공한다. 일 실시 예에서, ACR 서비스(405)는 클라이언트(108)로의 송신을 위해 제 1 SID 및 제 1 키를 제 1 컴퓨팅 노드(1140)에 송신한다. 다른 실시 예에서, ACR 서비스(405)는 제 1 SID 및 제 1 키를 중간 노드(1032) 중 하나에 송신한다.
다른 측면에서, 본 발명은 제 1 프로토콜 내에서 캡슐화된 다수의 이차 프로토콜을 이용하는 네트워크 통신 방법 및 클라이언트(108)를 호스트 서비스(116)에 재연결하기 위한 방법에 관한 것이다. 본 발명은 제 1 프로토콜을 이용하여 클라이언트(108) 및 제 1 프로토콜 서비스(112) 간의 제 1 연결을 설정하는 단계와, 제 1 프로토콜 내에서 캡슐화된 다수의 제 1 프로토콜을 통해 클라이언트(108) 및 제 1 프로토콜 서비스(112) 간에서 통신하는 단계를 포함한다. 더욱이, 제 2 프로토콜 중 적어도 하나는 다수의 가상 채널(virtual channel)을 포함한다.
본 발명의 일 측면에 대한 일 실시 예에서, 제 2 연결은 이차 프로토콜 중 하나를 이용하여 제 1 프로토콜 서비스(112) 및 호스트 서비스(116) 간에 설정된다. 제 1 프로토콜 서비스(112) 및 호스트 서비스(116) 간의 통신은 이차 프로토콜 중 하나를 경유하여 발생한다. 구체적으로, 다수의 제 2 연결 각각은 제 1 프로토콜 서비스(112) 및 다른 호스트 서비스(116) 간에서 설정되며, 다수의 제 2 연결 각각은 다수의 이차 프로토콜 중 하나를 이용하여 설정된다. 또 다른 실시 예에서, 클라이언트(108) 및 제 1 프로토콜 서비스(116) 간의 제 1 연결은 하나 이상의 중간 노드(1032)를 통해 설정된다.
도 12A를 참조하면, 네트워크 실패 후에 클라이언트를 호스트 서비스에 재연결하는 방법을 나타내는 실시 예가 개시된다. (단계 1204)에서, 예를 들면, 클라이언트(108)는 복수의 호스트 서비스 중 하나를 이용함으로써 초기에 연결한다. 일반적으로, 클라이언트(108)는 인증서를 호스트 서비스(116)에 송신하여 통신 세션을 초기화할 것을 요구한다. 클라이언트(108)가 호스트 서비스(116)에 연결된 다음, 도 2A ~ 도 2B 및 도 3을 참조하여 전술한 바와 같이, 클라이언트(108) 및 호스트 서비스(116)는 제 1 프로토콜 내에 캡슐화된 복수의 이차 프로토콜을 경유하여 제 1 프로토콜 서비스(112)를 통해 통신한다(단계 1208). 본 실시 예에서, 제 1 프로토콜 서비스(112)는 임의의 제 1 프로토콜 패킷의 송신 전에 제 1 프로토콜(204) 레벨에서 통신을 암호화함으로써, 통신을 보호한다(secure). 다른 실시 예에서, 제 1 프로토콜 서비스(112)는 임의의 제 1 프로토콜 패킷의 송신 전에, 제 1 프로토콜 레벨에서 통신을 압축함으로써(compress), 통신 효율을 개선한다.
(단계 1212)에서, 클라이언트 에이전트(128)는 클라이언트 에이전트(128) 및 제 1 프로토콜 서비스(112) 간의 연결(120)이 실패했는지를 판단한다. 예를 들면, 클라이언트 에이전트(128) 및 중간 노드(1032) 간의 연결(120a)이 실패할 수 있으며, 중간 노드(1032) 및 제 1 프로토콜 서비스(112) 간의 연결(120b)이 실패할 수 있으며, 또는 두 개의 연결(120a, 120b)이 실패할 수 있다. 클라이언트 에이전트(128)가 연결(120)이 실패가 아니라고 판단하면, 방법(1200)은 (단계 1220)으로 진행한다. 한편, 클라이언트 에이전트(128)가 연결(120)이 실패라고 판단하면, 클라이언트(108)는 호스트 서비스(116)에 재연결된다(단계 1216).
제 1 통신 세션이 비정상적으로 끝난 후에, 재연결 단계인 (단계 1216)는 티켓 권한부(1036)를 배치하는 시스템 내에 포함할 수 있으며, 클라이언트(108)는 SID 및 제 1 및 제 2 재연결 티겟을 중간 노드(1032)에 송신한다. 중간 노드(1032)는 클라이언트(108)를 인증하기 위해 제 1 연결 티겟을 이용하여 클라이언트(108)와 중간 노드(1032) 간의 연결(120)을 재설정한다. 다음, 중간 노드(1032)는 제 2 연결 티켓을 제 1 프로토콜 서비스에 송신하며, 제 1 프로토콜 서비스(112)는 제 2 연결 티켓을 이용하여 호스트 서비스(116)에 재설정 연결(124)을 인증한다. 그러므로 재연결 티켓은 클라이언트(108)가 두 번 인증서를 재송신하지 않고 호스트 서비스(116)에 제 2 통신 세션을 자동적으로 설정하도록 허용한다.
다른 실시 예에서, 또한, 재연결 단계(단계 1216)는 또한 ACR 서비스(405)를 배치하는 시스템(1100)을 포함한다. 이러한 실시 예에서, 클라이언트(108)는 클라이언트(108)를 인증하기 위해 제 1 SID 및 제 1 키를 중간 노드(1032)에 송신하여 클라이언트(108)의 연결을 호스트 서비스(116)에 재설정한다.
(단계 1220)에서, 클라이언트(108)가 제 1 프로토콜 서비스(112)와의 연결 및, 결과적으로, 호스트 서비스(116a ~ 116n)와의 연결(124a ~ 124n)을 명확하게 종료하길 원하는 지를 판단한다. 만약, 그렇지 않다면, 클라이언트(108)와 제 1 프로토콜 서비스(112) 간의 통신은 제 1 프로토콜 내에 캡슐화된 다수의 이차 프로토콜을 경유하여 (단계 1208)를 진행한다. 다음, 만약 그렇다면, (단계 1224)에서는 모든 연결(120a 120b, 및 124a ~ 124n)이 차단되고, 모든 재연결 티켓이 삭제된다. ACR 서비스(405)를 이용하는 다른 실시 예에서는, (단계 1224)에서 모든 연결(120a 120b, 및 124a ~ 124n)이 차단되고 모든 SID 및 키가 삭제된다. 일 실시 예에서, 중간 노드(1032)는 티켓 권한부(1036)로부터 수신한 핸들(handle)을 이용하여 티켓 권한부(1036)에서 얻은 제 1 재연결 티켓 사본을 삭제한다. 티켓 권한부(1036)를 배치하는 다른 실시 예에서, 제 1 프로토콜 서비스(112)는 제 1 프로토콜 서비스(112)에서 얻은 제 2 재연결 티켓사본을 삭제한다. ACR 서비스(405)를 배치하는 또 다른 실시 예에서, 제 1 프로토콜 서비스(112)는 제 1 프로토콜 서비스(112)에서 얻은 제 2 SID 및 제 2 키 사본을 삭제한다.
티켓 권한부(1036)를 이용하는 다른 실시 예에서, 이차 프로토콜 연결(124)이 실패하는 다른 이유가 있다면, 제 1 프로토콜 서비스(112)와 연관되고 제 프로토콜 서비스(112)에서 얻은 제 2 연결 티켓 사본이 제 1 프로토콜 서비스(112)에 의해 삭제된다. 또 다른 실시 예에서, 제 1 연결 티켓 및/또는 제 2 재연결 티켓은 (단계 1212)에서와 같이 연결(120) 실패에 따라 및/또는 단계(1220)에서와 같이 연결의 분명한 종결에 따라 기설정된 시간 후에 자동적으로 삭제된다.
다른 측면에서, 본 발명은 ACR서비스(405)를 이용하여 클라이언트(108)를 호스트 서비스(116)에 재연결하기 위한 방법에 관한 것이다. 도 12B를 참조하면, 클라이언트(108)를 호스트 서비스(116)에 재연결하기 위한 방법(1216)에 대한 일 실시 예가 개시된다. 클라이언트(108)는 제 1 SID 및 제 1 키를 ACR서비스에 송신하여 호스트 서비스에 재연결한다(단계 1225). ACR 서비스(405)는 SID를 이용하여 암호화된 인증서를 찾아서 탐색하고(단계 1258), 키를 이용하여 탐색된 인증서를 복호화한다(단계 1260). 일 실시 예(미도시)에서, ACR서비스(405)는 암호화된 인증서를 이용하여 제 1 프로토콜 서비스(113) 및 호스트 서비스(116) 간에 보유된 세션으로 클라이언트(108)를 재인증한다. 재-인증한 다음, 제 1 프로토콜 서비스(116)에 재설정된 클라이언트(108)의 연결이 제 1 프로토콜 서비스(112) 및 호스트 서비스(116) 간에 보유된 세션에 재-링크된다.
다른 실시 예에서, 제 2 통신 세션 동안, ACR 서비스(405)가 인증서에 대한 키를 생성한(단계 1270) 다음, 제 2 키를 이용하여 인증서를 암호화한다(단계 1275). ACR 서비스(405)는 제 2 SID를 생성한다(단계 1280). 다음, 복호화된 인증서는 호스트 서비스(116)로 재인증되며, 제 2 SID는 호스트 서비스(116)를 가지고 보유된 통신 세션과 연관된다(단계 1280a). 다음, ACR 서비스(405)는 제 2 SID 및 제 2 키를 클라이언트(108)에 송신한다(단계 1285). 일 실시 예에서, ACR 서비스(405)는 중간 노드(1032)를 통해 제 2 SID 및 제 2 키를 송신할 수 있다. 클라이언트(108)는 제 2 SID 및 제 2 키를 저장한다(단계 1290). 다음, ACR 서비스(405)는 제 2 키를 삭제한다(단계 1295).
도 13A ~ 도 13C를 참조하면, ACR 서비스(405)를 이용하여 클라이언트(108)를 호스트 서비스(116)에 초기에 연결하기 위한 방법(1300)이 개시되어 있다. (단계 1304)에서, 브라우저(148)를 이용하는 클라이언트(108)는, 예를 들면, HTTP 요청(request)과 같은 요청을 제 1 컴퓨팅 노드(1140)에 전송한다. 제 1 컴퓨팅 노드(1140)는, 예를 들면, 인증정보(예를 들면, 사용자 이름 및 패스워드)를 요청하는 HTML 폼과 같은 웹 페이지를 리턴한다. 클라이언트(108)의 사용자는 인증서를 인가하고 완성된 폼을 제 1 컴퓨팅 노드(1140)에 송신한다.
다음, (단계 1308)에서, 클라이언트(118)의 사용자에게 실행가능한 애플리케이션을 알린다. 일 실시 예에서, 제 1 컴퓨팅 노드(1140)는 사용자 인증서를 로그인 페이지에서 추출하고, 이용가능한 애플리케이션을 사용자에게 열거하기 위해 제 2 컴퓨팅 노드(1144)에 대한 요청과 함께 추출한 인증서를 제 2 컴퓨팅 노드(1144)에 송신한다. 사용자의 인증서에 따라, 제 2 컴퓨팅 노드(1140)는 이용가능한 특정한 애플리케이션 리스트, 예를 들면, 리스트를 웹 페이지 형태로 리턴한 다음 클라이언트(108)의 사용자에게 포워딩한다.
(단계 1312)에서, 사용자는 원하는 애플리케이션을 선택하고, 상기 애플리케이션에 대한 요청을 제 1 컴퓨팅 노드(1140)에 전송한다. 예를 들면, 일 실시 예에서, 사용자는 제 1 컴퓨팅 노드(1140)에 의해 사용자에게 표시된 웹 페이지 내에 리스트된 원하는 애플리케이션을 클릭하고, 상기 애플리케이션에 대한 HTTP요청은 제 1 컴퓨팅 노드(140)에 포워딩된다. 요청은 제 1 컴퓨팅 노드(1140)에 의해 진행되고 제 2 컴퓨팅 노드(1144)에 포워딩된다.
(단계 1316)에서, 제 2 컴퓨팅 노드(1144)는 원하는 애플리케이션이 호스트 서비스(116)에서 수행될 수 있는 지를 판단한다. 제 2 컴퓨팅 노드(1144)는, 예를 들면, 로드 대응 등식에 따라 판단할 수 있다. 또한, 일 실시 예에서, 제 2 컴퓨팅 노드(1144)는 연결(124)을 경유하여 호스트 서비스(116)와 통신에 이용될 수 있는 다수의 제 1 프로토콜 서비스(112) 간에서 제 1 프로토콜 서비스를 판단한다. 예를 들면, 제 2 컴퓨팅 노드(1144) 역시 로드 대응 등식에 따라 판단할 수 있다. 제 2 컴퓨팅 노드(1144)는 선택된 호스트 서비스(116) 및 선택된 제 1 프로토콜 서비스의 주소를 제 1 컴퓨팅 노드(1140)에 리턴한다.
다음, (단계 1320)에서, 클라이언트(108)는 초기 연결 세션 id 및 키, 제 1 SID 및 제 1 키, 및 중간 노드(1032)에 대한 주소(후술하는 바와 같이, 실제 주소 및 가상 주소 중 하나)로 제공된다. 일 실시 예에서, 제 1 컴퓨팅 노드(1140)는 선택된 호스트 서비스(116) 및 선택된 제 1 프로토콜 서비스(112)에 대한 주소를 초기 연결 세션 id 및 키와 함께 ACR 서비스(405)에 제공한다. ACR 서비스(405)는 초기 세션 id 및 키를 생성하고, 세션 id 및 키를 제 2 컴퓨팅 노드(1140)에 송신하는 한편, 사본을 저장한다.
일 실시 예에서, 제 1 컴퓨팅 노드(1140)가 중간 노드(1032)의 실제 주소로 구성된 다음, 중간 노드(1032)의 실제 주소 및 초기 연결 세션 id 및 키를 클라이언트(108)의 브라우저에 송신한다. 제 1 컴퓨팅 노드(1140)는, 예를 들면, 우선 중간 노드(1032) 의 실제 주소 및 초기 연결 티켓 둘 다를 포함하는 파일을 생성할 수 있으며, 다음 상기 파일을 상기 클라이언트(108)의 브라우저(1148)에 송신할 수 있다. 선택적으로, 다른 실시 예에서, 제 1 컴퓨팅 노드(1140)는 두 개 이상의 중간 노드(1032)의 실제 주소로 구성된다. 이러한 실시 예에서, 제 1 컴퓨팅 노드(1140)는 우선 클라이언트(108)와 제 1 프로토콜 서비스(112) 간에서 전달해야하는 메시지를 통해 중간 노드(1032)를 판단한다. 다음, 제 1 통신 노드(1140)는 예를 들면, 전술한 상기 파일을 이용하여, 선택된 중간 노드(1032)의 실제 주소 및 초기 연결 티켓을 클라이언트(108)의 브라우저(1148)에 송신한다. 일 실시 예에서, 제 1 컴퓨팅 노드(1140)는 로드 대응 등식을 이용하여 중간 노드(1032)를 선택한다. 다음, 클라이언트(108)의 클라이언트 에이전트(128)가 시작되며, 중간 노드(1032)의 주소를 이용하여, 클라이언트(108)의 클라이언트 에이전트(128) 및 중간 노드(1032) 간에 제 1 프로토콜 연결(120a)을 설정한다(단계 1324).
대안적으로, 다른 실시 예에서, 제 1 컴퓨팅 노드(1140)는 제 3 컴퓨팅 노드(1146)의 실제 주소로 구성되며, 이것은 중간 노드(1032)의 가상 주소로 작용한다. 이러한 실시 예에서, 제 1 컴퓨팅 노드(1140)는, 예를 들면, 전술한 파일을 이용하여 제 3 컴퓨팅 노드(1146)의 실제 주소와 초기 연결 세션 id 및 키를 클라이언트(108)의 브라우저(1148)에 송신한다(단계 1320). 클라이언트(108)의 클라이언트 에이전트(128)가 시작된 다음, 제 3 컴퓨팅 노드(1146)의 실제 주소를 이용하여 클라이언트(108)의 클라이언트 에이전트(128)와 제 3 컴퓨팅 노드(1146) 간에 제 1 프로토콜 연결을 설정한다(단계 1324). 다음, 제 3 컴퓨팅 노드(1146)는 클라이언트 와 제 1 프로토콜 서비스(112) 간에 전달해야하는 메시지를 통해 중간 노드(1032)를 판단한다. 일 실시 예에서, 제 3 컴퓨팅 노드(1146)는 로드 대응 등식을 이용하여 중간 노드(1032)를 설정한다. 선택된 중간 노드(1032)를 가지고, 제 3 컴퓨팅 노드(1046)는 제 1 프로토콜 연결을 중간 노드(1032)에 설정한다. 그러므로, 제 3 컴퓨팅 노드(1146)를 통해, 클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(1032) 간에 제 1 프로토콜 연결(120a)이 존재한다. 이에 의해, 제 3 컴퓨팅 노드(1046)의 실제 주소는 중간 노드(1032)의 실제 주소에 매핑된다. 이에 따라, 클라이언트(108)의 클라이언트 에이전트(128)에 대해, 제 3 컴퓨팅 노드의 실제 주소는 중간 노드(1032)의 가상 주소로 작용한다.
일 실시 예에서, 전술한 바와 같이, 중간 노드(1032a ~ 1032n)에 대해 하나 이상의 레벨이 존재하는 부분에서, 제 1 컴퓨팅 노드(1140) 또는 제 3 컴퓨팅 노드(1146)는 각각 클라이언트 에이전트(108)가 레벨 "a"에 연결할 수 있는 중간 노드(1032)만 선택한다. 이러한 실시 예에서, 각각의 레벨 "a" ~ "n-l" 에서, 상기 레벨에서 클라이언트 에이전트(128)가 라우트되는 동안 중간 노드(1032)는 로드 대응 등식, 예를 들면, 다음 레벨에 연결할 수 있는 중간 노드(1032)에 따라 판단한다. 대안적으로, 다른 실시 예에서, 제 1 컴퓨팅 노드(1032) 또는 제 3 컴퓨팅 노드(1046) 각각은 하나 또는 모든 레벨 "a" ~"n"이상에 대해 클라이언트 에이전트(128)가 라우트될 수 있는 동안 중간 노드(1032)를 판단한다.
클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(1032), 예를 들면, 레벨 "n"(이하, 방법(1300)에서 중간 노드(1032)라 칭함)에서 중간 노드(1032) 간에 제 1 프로토콜 연결(120a)이 설정되면, 클라이언트 에이전트(128)는 초기연결 티켓을 중간 노드(1032)에 송신한다.
다음, (단계 1328)에서는 초기 연결 SID 및 키를 확인했는지(validate)를 판단한다. 일 실시 예에서, 중간 노드(1032)가 확인하기 위해 초기 연결 SID 및 키를 ACR 서비스(405)에 송신한다. 일 실시 예에서, ACR 서비스(405)는 SID 사본과 (단계 1320)에서 얻은 암호화된 인증서를 비교함으로써 SID 및 키를 확인한다. ACR 서비스(405)가 SID 및 키를 확인했다면, ACR 서비스(405)는 제 1 프로토콜 서비스(112)의 주소 및 선택된 호스 서비스(116)의 주소를 중간 노드(1032)에 송신한다(단계 1332). 제 1 프로토콜 서비스(112)는 또한 SID 및 키 및 이들의 임의의 사본을 삭제할 수 있다. 한편, ACR 서비스(405)가 SID 및 키를 확인하지 않았다면, 클라이언트(108)는 제 1 프로토콜 서비스(112)에 대한 연결, 결과적으로, 호스트 서비스(116)에 대한 연결을 거부한다(단계 1330).
후속 (단계 1332)에서, 중간 노드(1032)는 선택된 제 1 프로토콜 서비스(112)의 주소를 이용하여, 중간 노드(1032)와 제 1 프로토콜 서비스(112) 간에 제 1 프로토콜 연결(102b)을 설정한다(단계 1336). 이에, 클라이언트(108)의 클라이언트 에이전트(128)와 제 1 프로토콜 서비스(112) 간에 중간 노드(1032)를 통해 제 1 프로토콜 연결(120)이 존재한다. 중간 노드(1032)는 또한 선택된 호스트 서비스(116)의 주소를 제 1 프로토콜 서비스(112)에 전달할 수 있다.
일 실시 예에서, 제 1 프로토콜 서비스(112)는 선택된 호스트 서비스(116)의 주소를 이용하여, 제 1 프로토콜 서비스(112) 및 선택된 호스트 서비스(116) 간에 2차 프로토콜 연결(124)을 설정한다(단계 1340). 예를 들면, 선택된 호스트 서비스(116)는 실제 호스트 서비스(116a)이고, 이차 프로토콜 연결(124a)은 제 1 프로토콜 서비스(112) 및 호스트 서비스(116a) 간에 설정된다.
일 실시 예에서, (단계 1340)에 후속하여, 사용자가 실행될 제 2 애플리케이션을 선택하고(단계 1344), 제 2 컴퓨팅 노드(1144)는 실행될 제 2 애플리케이션 상에서 호스트 서비스(116)를 결정한다(단계 1348). 예를 들면, 로드 대응 등식을 연산함으로써, 제 2 컴퓨팅 노드(1144)는 제 2 애플리케이션 프로그램을 실행할 호스트 서비스(116)를 선택할 수 있다. 다음, 제 2 컴퓨팅 노드(1144)는 선택된 호스트 서비스(116b)의 주소를 제 1 프로토콜 서비스(112)에 송신한다. 일 실시 예에서, 제 2 컴퓨팅 노드(1144)는 제 1 프로토콜 서비스(112)와 직접 통신하며, 주소를 제 1 프로토콜 서비스(112)에 직접 송신한다. 다른 실시 예에서, 선택된 호스트 서비스(116b)의 주소는 제 1 프로토콜 서비스(112)에 직접 송신된다. 예를 들면, 주소는 제 1 컴퓨팅 노드(1140), ACR 서비스(405), 중간 노드(1032), 및 제 1 프로토콜 서비스(112)의 임의 조합을 통해 제 1 프로토콜 서비스(112)에 송신될 수 있다. 선택된 호스트 서비스(116b)의 주소가 수신되면, 제 1 프로토콜 서비스(112)는 제 1 프로토콜 서비스(112) 및 선택된 호스트 서비스(116b) 간에 이차 프로토콜 연결을 설정한다(단계 1352).
(단계 1344, 1348, 및 1352)는 여러 번 반복될 수 있다. 이처럼, 애플리케이션 프로그램의 임의의 개수는 임의의 호스트 서비스(116a ~ 116n)의 개수에서 실행될 수 있으며, 이 출력은 임의의 이차 프로토콜 개수를 이용하여 연결(124a ~ 124n)을 제 1 프로토콜 서비스(112)와 통신할 수 있다.
다음, (단계 1356)으로 넘어가면, 제 1 프로토콜 서비스(112)는 전술과 같이, 다수의 이차 프로토콜을 제 1 프로토콜 내에 캡슐화한다. 이처럼, 클라이언트(108)은 다수의 호스트 서비스(116)에 연결되고 동시에 다수의 호스트 서비스(116)와 통신한다.
다른 실시 예에서, (단계 1344, 1348, 및 1352)를 실행하기 전에, 호스트 서비스(116)(예를 들면, 호스트 서비스(116a))상에서 새로운 애플리케이션 프로그램을 수행하기 위해, 클라이언트(108)의 사용자는 다른 애플리케이션 프로그램, 예를 들면, 호스트 서비스(116a) 상에서 실행하는 애플리케이션 프로그램의 실행을 끝낸다. 이 경우, 제 1 프로토콜 서비스(112)는 제 1 프로토콜 서비스(112) 및 호스트 서비스(116a) 간의 연결을 단절한다(disrupt). 다음, 제 1 프로토콜 서비스(112)는 (단계 1344, 1348, 1352)를 구현함으로써, 클라이언트(108) 및 제 1 프로토콜 서비스(112) 간의 연결(120)을 중단하지 않고 제 1 프로토콜 서비스(112) 및 호스트 서비스(116b) 간의 연결(124b)을 설정한다.
일 실시 예에서, 제 1 SID 및 키가 생성된다(단계 1360). 예를 들면, 중간 노드(1032)는 ACR 서비스(405)에서 제 1 SID 및 키를 요청한다. 요청을 수신함에 따라, ACR서비스(405)는 제 1 SID 및 키를 생성하고, 또한, 난수(random number)와 같은 핸들(handle)을 생성할 수 있다. 다음, ACR 서비스(405)는 제 1 SID 및 키의 사본 및 핸들 사본을 보유하는 반면, 제 1 SID 및 키 및 핸들을 중간 노드(1032)에 송신할 수 있다(단계 1364). ACR 서비스(405)는 (단계 1320)에서 제 1 컴퓨팅 노드(1140)에 의해 ACR 서비스(405)로 전송된 제 1 프로토콜 서비스(112)의 주소를 계속 보유한다. 다음, 중간 노드(1032)는 제 1 재연결 티켓을 클라이언트(108)에 송신한다(단계 1368).
다음 (단계 1372)에서, 제 2 SID 및 키가 생성된다. 일 실시 예에서, 제 1 프로토콜 서비스(112)는 제 2 SID 및 키를 생성한다. 다음, 제 1 프로토콜 서비스(112)는 중간 노드(1032)를 통해, 제 2 SID 및 키를 클라이언트(108)에 송신한다(단계 1376). 수행한 다음, 제 1 프로토콜 서비스(112)는 연결(120)의 단절에 이어 재연결될 세션을 확인하기 위해 키 사본과 세션 번호를 갖는다. 일 실시 예에서, 예를 들면, 제 1 프로토콜 서비스(112)는 특정 세션 번호에 대해, 상기 세션 번호와 연관된 이차 프로토콜 연결(124a ~ 124n)을 리스트하는 테이블을 보유한다. 따라서, 제 1 프로토콜 서비스(112)에서의 제 1 프로토콜 연결(120) 및 제 2 SID 및 키의 확인의 재-설정에 이어, 전술한 바와 같이, 제 1 프로토콜 서비스(112)는 클라이언트(108)에 통신을 위해 재-설정된 제 1 프로토콜 연결(120) 내에 캡슐화될 이차 프로토콜 연결(124)을 확인할 수 있다.
도 13A ~ 도 13C 내에 도시되지 않은 실시 예에서, 티켓 권한부(1136)는 호스트 서비스(116)에 클라이언트(108)를 재연결하기 위해 제공할 ACR 서비스(405) 대신 이용될 수 있다. (방법 1300)에서, 티켓 권한부(1326)는 ACR 서비스(405)로 SID 및 키 대신 재연결 티켓을 생성하여 송신할 수 있다. 예를 들면, (단계 1320)에서, 티켓 권한부(1036)는 초기 연결 티겟과 중개 노드(1032)에 대한 주소를 클라이언트(108)에 제공할 수 있다. 또한, (단계 1328)에서, 티켓 권한부(1036)는 호스트 서비스(116)에 클라이언트(108)의 재연결을 촉진할 수 있다. 또한 (단계 1328)에서, 티켓 권한부(1036)는 초기 연결 티켓이 유효한지를 판단할 수 있으며, (단계 1360)에서 티켓 권한부(1036)는 제 1 재연결 티켓을 생성할 수 있다. 추가적으로, (단계 1364, 1368, 1372, 및 1378)에서 티켓 권한부는 (방법 1300)에 따른 제 1 및 제 2 재연결 티켓을 생성하여 송신할 수 있다. 이와 같이, 티켓 권한부(1036)는 호스트 서비스(116)에 클라이언트(108)의 재연결을 촉진했다.
도 14를 참조하면, 영구적으로 신뢰할 수 있는 하나 이상의 호스트 서비스(116)를 클라이언트(108)에 제공하고 클라이언트(108)를 호스트 서비스(116)에 재연결(예를 들면, 도 12A의 단계 1216)하기 위한 방법(1400)에 대한 실시 예가 개시되어 있다. 특히, (단계 1404)에서, 제 1 프로토콜 서비스(112) 및 각각의 하나 이상의 호스트 서비스(116) 간에 이차 프로토콜 연결(124)이 보유된다. 더욱이, (단계 1408)에서, 차단이 결정된 연결(120)(예를 들면, 도 12의 단계 1216)을 경유하여, 클라이언트(108)의 클라이언트 에이전트(128) 및 제 1 프로토콜 서비스(112) 간에 가장 최근에 송신된 데이터 패킷의 큐(queue)가 보유된다. 일 실시 예에서, 데이터 패킷은 연결(120)이 실패하기 전 또는 실패할 때 모두 큐되어 보유된다. 큐된 데이터 패킷은, 예를 들면, 클라이언트 에이전트(128)에 의해 버퍼 내에 보유된다. 대안적으로, 제 1 프로토콜 서비스(112)는 규된 데이터 패킷 내에 보유될 수 있다. 또 다른 실시 예에서, 클라이언트 에이전트(128) 및 제 1 프로토콜 서비스(112)는 모두 버퍼 내에 큐 데이터 패킷을 보유한다.
(단계 1412)에서, 새로운 제 2 프로토콜 연결(120)은 클라이언트(108)의 클라이언트 에이전트(128) 및 제 1 프로토콜 서비스(112) 간에 설정되고, 제 1 프로토콜 서비스(112) 및 각각의 하나 이상의 호스트 서비스(116) 간에 보유된 이차 프로토콜 연결(124)에 링크됨으로써, 클라이언트(108)를 호스트 서비스(166)에 재연결한다. 클라이언트(108)가 재연결된 다음, 보유된 큐된 데이터 패킷은 새롭게 설정된 제 1 프로토콜 연결(120)을 경유하여 송신될 수 있다(단계 1416). 이처럼, 제 1 프로토콜 서비스(112)를 통해, 호스트 서비스(116) 및 클라이언트(108) 간의 통신 세션은 임의의 데이터 손실 없이 영구적으로 진행한다. 일 실시 예에서, ACR 서비스(405)는 클라이언트(108)를 호스트 서비스(116)에 재연결하기 전에 클라이언트(108)를 호스트 서비스(116)에 인증한다. 다른 실시 예에서, 제 1 프로토콜 서비스(112)는 클라이언트(108)를 호스트 서비스(116)에 재연결하기 전에 티켓 권한부(1036)를 이용하여 재연결 티켓을 확인한다.
도 15A ~ 도 15B는 도 11B에 개시된 시스템(1100) 실시 예와 마찬가지로 ACR서비스(405)를 이용하여 하나 이상의 호스트 서비스(116)에 클라이언트(108)를 재연결하기 위한 방법(1500)에 대한 실시 예를 나타낸다.
(단계 1504)에서, 클라이언트(108)와 제 1 프로토콜 서비스(112) 간의 임의의 남아있는 연결이 차단된다. 예를 들면, 연결(120a)이 실패하는 경우, 그러나 연결(120b)이 없는 경우, 연결(120b)이 차단된다. 대안적으로, 연결(120b)이 실패하지만, 연결(120a)이 없는 경우, 연결(120a)이 차단된다.
일 실시 예에서, 클라이언트(108)에 제공된 중간 노드(1032)의 실제 주소를 이용한 다음, 클라이언트(108)의 클라이언트 에이전트(128)는 클라이언트 에이전트(128)와 중간 노드(1032) 간에 제 1 프로토콜 연결(120a)을 재설정한다(단계 1508). 대안적으로, 다른 실시 예에서, 클라이언트(108)에 제공된 제 3 컴퓨팅 노드(1146)의 실제 주소를 이용한 다음, 클라이언트(108)의 클라이언트 에이전트(128)는 클라이언트 에이전트(128)와 제 3 컴퓨팅 노드(1146) 간에 제 1 프로토콜 연결을 재-설정한다(단계 1508). 제 3 컴퓨팅 노드(1146)는 클라이언트(108) 및 제 1 프로토콜 서비스(112) 간에 전달해야하는 메시지를 통해 중간 노드(1032)를 판단한다. 일 실시 예에서, 제 3 컴퓨팅 노드(1146)는 대응 등식을 이용하여 중간 노드(1032)를 선택한다. 클라이언트(108)를 하나 이상의 호스트 서비스(116)에 재연결하는 단계에서 제 3 컴퓨팅 노드(1146)에 의해 선택된 중간 노드(1032)는 클라이언트(108)를 하나 이상의 호스트 서비스(116)에 초기에 연결하기 위해 선택된 중간 노드와 다를 수 있다. 중간 노드(1032)를 선택하면, 제 3 컴퓨팅 노드(1146)는 제 1 프로토콜 연결을 중간 노드(1032)에 재설정한다. 그러므로, 제 3 컴퓨팅 노드(1146)를 통해, 제 1 프로토콜 연결(120a)은 클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(1032) 간에 재-설정된다.
일 실시 예에서, 중간 노드(1032)에 대해 하나 이상의 레벨이 존재하는 부분에서, 각각의 레벨 "a" ~ "n-l"에서 클라이언트 에이전트(128)가 라우트되는 동안 중간 노드(1032)는 로드 대응 등식, 예를 들면, 다음 레벨에 연결할 수 있는 중간 노드(1032)에 따라 결정한다. 대안적으로, 다른 실시 예에서, 제 3 컴퓨팅 노드(1146)는 하나 또는 모든 레벨이상의 "a" ~"n"에 대해 클라이언트 에이전트(128)가 라우트될 수 있는 동안 중간 노드(1032)를 결정한다.
클라이언트(108)의 클라이언트 에이전트(128)와 중간 노드(1032), 예를 들면, 레벨 "n"에서 중간 노드(1032)(이하, 방법 1500에서 중간 노드(1032)로 칭함) 간에 제 1 프로토콜 연결(120a)이 설정되면, 클라이언트 에이전트(128)는 제 1 SID 및 키 및 제 2 SID 및 키를 중간 노드(1032)에 송신한다.
다음, (단계 1516)에서는 제 1 SID 및 키가 확인됐는지를 판단한다. 일 실시 예에서, ACR 서비스(405)를 이용하여 제 1 SID 및 키의 확인이 판단된다. 예를 들면, 중간 노드(1032)는 제 1 SID 및 키를 ACR 서비스(405)에 송신한다. 일 실시 예에서, ACR서비스(405)는 메모리(43)에 저장된 제 1 SID 사본과 제 1 SID 및 키를 비교함으로써 제 SID 및 키를 확인를 판단한다. ACR 서비스(405)가 제 1 SID 및 키가 확인되었다면, ACR 서비스(405)는 클라이언트(108)를 호스트 서비스(116)에 재-인증하고 제 1 프로토콜 서비스(112)의 주소를 중간 노드(1032)에 송신한다(단계 1520). 한편, ACR 서비스(405)가 SID 및 키가 확인되지 않았다면, 클라이언트(108)는 제 1 프로토콜 서비스(112)에 대한 재연결, 결과적으로, 호스트 서비스(116)에 대한 재연결을 거부한다(단계 1524).
(단계 1528)에서, 예를 들면, 제 1 SID 및 키는 ACR 서비스(405)에 의해 삭제되며, 재배치 제 2 SID 및 키는 ACR 서비스(405)에 의해 생성된다. 임의의 실시 예에서, ACR 서비스(405)는 제 2 SID 및 키를 중간 노드(1032)에 송신한다. 임의실시 예에서, ACR 서비스(405)는 제 1 SID 및 키를 삭제하는 것을 진행하기 전에 제 2 SID 및 키가 수신되는 것을 확인하기 위해 클라이언트를 기다린다(wait).
제 SID 및 키가 확인된 후에, 중간 노드(1032)는 제 1 프로토콜 서비스(112)의 주소를 이용하여 중간 노드(1032)와 제 1 프로토콜 서비스(112) 간에 제 1 프로토콜 연결(120b)을 재-설정한다(단계 1532). 중간 노드(1032) 및 제 1 프로토콜 서비스(112) 간에 제 1 프로토콜 연결(120b)이 재-설정된 다음, 제 2 SID 및 키가 확인되는지를 판단한다(단계 1536). 일 실시 예에서, 제 2 SID 및 키의 유효성은 제 1 프로토콜 서비스(112)를 이용함으로써 결정된다. 예를 들면, 중간 노드(1032)는 제 2 SID 및 키를 제 1 프로토콜 서비스(112)에 송신한다. 일 실시 예에서, 제 1 프로토콜 서비스(112)는 기존에 갖고 있는 제 2 SID 및 암호화된 인증서와 제 2 SID 및 키를 비교함으로써 제 2 SID 및 키의 유효성을 판단한다. 제 1 프로토콜 서비스(112)가 제 2 SID 및 키를 확인하면, 중간 노드(1032) 및 제 1 프로토콜 서비스(112) 간에 재-설정된 제 1 프로토콜 연결(120b)은 제 1 프로토콜 서비스(112) 및 하나 이상의 호스트 서비스(116) 각각 간에 보유된 이차 프로토콜 연결(124)에 링크된다. 한편, 제 1 프로토콜 서비스(112)가 제 2 SID 및 키가 확인되지 않은 것으로 판단하면, 재-설정된 제 1 프로토콜 연결(120b)은 하나 이상 보유된 이차 프로토콜 연결에 링크되지 않으며, 클라이언트(108)는 하나 이상의 호스트 서비스(116)에 재연결을 거부한다(단계 1544).
(단계 1548)에서, 제 2 SID 및 키는, 예를 들면, 제 1 프로토콜 서비스(112)에 의해 삭제되며, 재배치 제 2 SID 및 키는, 예를 들면, 클라이언트(108)로의 송신을 위한 제 1 프로토콜 서비스(112)에 의해 생성된다. 이러한 실시 예에서, 제 1 프로토콜 서비스(112)는 재배치 제 2 SID 및 키의 사본을 갖는다. 임의 실시 예에서, 제 1 프로토콜 서비스(112)는 제 2 세션 id 및 키를 삭제하는 것을 진행하기 전에 재배치 제 2 SID 및 키가 수신되는 것을 확인하기 위해 클라이언트(108)를 기다린다(wait for).
(단계 1552)에서, 재배치 제 2 SID 및 키는 클라이언트에 송신된다. 예를 들면, ACR 서비스(405)는 중간 노드(1032)를 통해, 재배치 제 2 SID 및 키를 클라이언트(108)에 송신할 수 있다. 더욱이, 일 실시 예에서, 제 1 프로토콜 서비스(112)는 중간 노드(1032)를 통해 재배치 제 2 SID 및 키를 클라이언트(108)에 송신한다.
도 15A ~ 도 15C에 도시되지 않은 실시 예에서, 또한, 티켓 권한부(1136)는 호스트 서비스(116)에 클라이언트(108)를 재연결하기 위해 ACR 서비스(405) 대신 이용될 수 있다. (방법 1500)에서, 티켓 권한부(1326)는 ACR 서비스(405)에 SID 및 키 대신 재연결 티켓을 생성하여 송신할 수 있다. 예를 들면, (단계 1512)에서, 티켓 권한부(1036)는 (단계 1512)내의 중간 노드(1032)에서 수신된 제 1 재연결 티켓이 확인되는 지를 판단할 수 있다(단계 1516). (단계 1528)에서 티켓 권한부(1036)는 제 1 재연결 티켓을 삭제하고 핸들을 이용하여 제 2 재연결 티켓을 생성할 수 있다. 이와 같이, 티켓 권한부(1036)는 호스트 서비스(116)에 클라이언트(108)의 통신 세션의 재-설정 및 재-인증을 촉진한다.
본 발명의 범주 및 정신을 벗어나지 않는 범위에서 당업자에 의해 다양한 다른 변경 및 수정이 가능하다. 본 명세서에서 본 발명의 예시적 실시 예는 본 발명을 이해하기 위한 목적으로 사용되었을 뿐, 청구항에 정의된 본 발명을 제한하지 않는다. 본 청구항들은 그들이 문헌적으로 내포하고 있는 것 또한, 본 명세서에 도시되고 설명된 다른 것과 동일하지 않지만 약간 다른 등가물을 포함하여 판단한다.

Claims (24)

  1. 호스트 서비스를 클라이언트에 재연결하는 방법에 있어서,
    (a) 클라이언트와 제 1 프로토콜 서비스 간에 제 1 연결을 제공하고, 제 1 프로토콜 서비스와 호스트 서비스 간에 제 2 연결을 제공하는 단계와,
    (b) 상기 제 1 연결에서 단절(disruption)을 검출하는 단계와,
    (c) 상기 제 1 프로토콜 서비스와 상기 호스트 서비스 간에 제 2 연결을 보유하면서 상기 클라이언트와 상기 제 1 프로토콜 서비스 간의 제 1 연결을 재설정하는 단계와,
    (d) 상기 제 1 프로토콜 서비스에서 상기 클라이언트와 연관된 티켓을 수신하는 단계와,
    (e) 상기 티켓을 확인하는(validate) 단계와,
    (f) 상기 티켓이 확인된 후에 상기 재-설정된 제 1 연결을 상기 보유된 제 2 연결에 링크하는 단계
    를 포함하는 방법.
  2. 제 1항에 있어서, (a)단계는, 상기 클라이언트와 상기 호스트 서비스 간의 제 1 통신 세션 동안 상기 호스트 서비스로 상기 클라이언트를 인증하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  3. 제 1항에 있어서, (e)단계는, 티켓으로부터 키와 세션 id를 획득하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  4. 제3항에 있어서, (e)단계는 티켓으로부터의 세션id를 이용하여 암호화된 인증서를 복구하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  5. 제4항에 있어서, (e)단계는, 티켓으로부터의 키를 사용하여 상기 복구된 인증서를 복호화하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  6. 제5항에 있어서, (e)단계는, 상기 복호화된 인증서를 사용하여 호스트 서비스로 클라이언트를 재인증하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  7. 제 1항에 있어서, (f)단계는, 티켓이 확인된 후에 티켓을 삭제하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  8. 제 2항에 있어서, (f)단계는, 티켓이 삭제된 후에 대체 티켓을 생성하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  9. 제 1항에 있어서, (a)단계는, 제 1 프로토콜 서비스에서 티켓을 생성하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  10. 제9항에 있어서, (a)단계는, 제 1 프로토콜 서비스에서 티켓의 사본을 저장하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  11. 제4항에 있어서, (a)단계는, 제 1 프로토콜 서비스로부터 클라이언트로 티켓을 송신하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  12. 제 1항에 있어서, (a)단계는, 소정의 시간 후에 자동적으로 티켓을 삭제하는 단계를 더 포함하는, 호스트 서비스를 클라이언트에 재연결하는 방법.
  13. 호스트 서비스를 클라이언트에 재연결하는 시스템에 있어서,
    상기 시스템은
    제 1 프로토콜 서비스와 제 1 연결을 보유하도록 구성된 클라이언트와,
    클라이언트와 제 1 연결을 보유하고 호스트 서비스와 제 2 연결을 보유하도록 구성된 제 1 프로토콜 서비스를 포함하고,
    상기 제 1 연결에서 단절이 검출되며,
    상기 제 1 프로토콜 서비스와 상기 호스트 서비스 간의 상기 제 2 연결을 보유하면서, 상기 제 1 연결은 상기 클라이언트와 상기 제 1 프로토콜 서비스 간에 재-설정되고,
    클라이언트로부터 상기 제 1 프로토콜 서비스로 상기 클라이언트와 연관된 티켓이 송신되며,
    상기 티켓은 확인되고,
    티켓이 확인된 후에 상기 재-설정된 제 1 연결은 상기 보유된 제 2 연결에 링크되는, 호스트 서비스를 클라이언트에 재연결하는 시스템.
  14. 제 13항에 있어서, 상기 클라이언트와 상기 호스트 서비스 간의 제 1 통신 세션 동안 상기 클라이언트가 상기 호스트 서비스로 인증되는, 호스트 서비스를 클라이언트에 재연결하는 시스템.
  15. 제 13항에 있어서, 상기 티켓은 키와 세션 id를 포함하는, 호스트 서비스를 클라이언트에 재연결하는 시스템.
  16. 제 15항에 있어서, 상기 티켓은 세션 id를 사용하여 상기 제 1 프로토콜 서비스에 의해서 확인되어 암호화된 인증서를 복구하는, 호스트 서비스를 클라이언트에 재연결하는 시스템.
  17. 제 16항에 있어서, 티켓으로부터의 키로 상기 복구된 인증서를 복호화함으로써 상기 티켓을 더 확인하는, 호스트 서비스를 클라이언트에 재연결하는 시스템.
  18. 제 17항에 있어서, 상기 복호화된 인증서를 사용하여 상기 호스트 서비스로 상기 클라이언트가 재-인증되는 시스템.
  19. 제 13항에 있어서, 상기 티켓이 확인된 후에, 상기 제 1 프로토콜 서비스가 상기 티켓을 삭제하도록 더 구성되는 시스템.
  20. 제 19항에 있어서, 상기 티켓이 삭제된 후에, 상기 제 1 프로토콜 서비스가 대체 티켓을 생성하도록 더 구성되는 시스템.
  21. 제 13항에 있어서, 상기 제 1 프로토콜 서비스는 상기 티켓을 생성하도록 더 구성되는 시스템.
  22. 제 13항에 있어서, 상기 제 1 프로토콜 서비스는 상기 티켓의 사본을 저장하도록 더 구성되는 시스템.
  23. 제 13항에 있어서, 상기 제 1 프로토콜 서비스는 클라이언트로 티켓을 송신하도록 더 구성되는 시스템.
  24. 제 13항에 있어서, 상기 제 1 프로토콜 서비스는 소정시간 후에 상기 티켓을 자동적으로 삭제하도록 더 구성되는 시스템.
KR1020067006932A 2003-10-10 2004-10-08 신뢰성 높고 지속적인 통신 세션들을 통한 클라이언트 자동재연결 KR20060120035A (ko)

Applications Claiming Priority (4)

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
US10/711,646 US20050198379A1 (en) 2001-06-13 2004-09-29 Automatically reconnecting a client across reliable and persistent communication sessions
US10/711,646 2004-09-29

Publications (1)

Publication Number Publication Date
KR20060120035A true KR20060120035A (ko) 2006-11-24

Family

ID=34437417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067006932A KR20060120035A (ko) 2003-10-10 2004-10-08 신뢰성 높고 지속적인 통신 세션들을 통한 클라이언트 자동재연결

Country Status (7)

Country Link
US (5) US20050198379A1 (ko)
EP (1) EP1678917B1 (ko)
JP (1) JP2007514337A (ko)
KR (1) KR20060120035A (ko)
AU (1) AU2004306771A1 (ko)
CA (1) CA2542139C (ko)
WO (1) WO2005036857A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150026894A (ko) * 2013-08-28 2015-03-11 주식회사 케이티 컨트롤러와 네트워크 장치 간 재연결 방법
KR101506223B1 (ko) * 2014-12-10 2015-03-27 (주)한위드정보기술 가상화 서비스 제공을 위한 비정상적인 접속 차단시 자동 재접속 시스템
KR101627256B1 (ko) * 2015-01-08 2016-06-03 (주)넷텐션 다수 분산서버를 구비한 네트워크 통신의 세션 이양 방법
KR20180050952A (ko) * 2016-11-07 2018-05-16 한국전자통신연구원 다중 채널 기반 데이터 송수신 방법 및 장치
KR102339028B1 (ko) * 2021-06-17 2021-12-15 농업협동조합중앙회 로봇 프로세스 자동화 장치 및 그 동작 방법

Families Citing this family (240)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290288B2 (en) 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US6928469B1 (en) 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
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
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7363376B2 (en) * 2001-07-31 2008-04-22 Arraycomm Llc Method and apparatus for generating an identifier to facilitate delivery of enhanced data services in a mobile computing environment
US7783901B2 (en) * 2001-12-05 2010-08-24 At&T Intellectual Property Ii, L.P. Network security device and method
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US8135843B2 (en) * 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
US7080404B2 (en) * 2002-04-01 2006-07-18 Microsoft Corporation Automatic re-authentication
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7246178B2 (en) * 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20040187029A1 (en) * 2003-03-21 2004-09-23 Ting David M. T. System and method for data and request filtering
JP3882917B2 (ja) * 2003-04-03 2007-02-21 日本アイ・ビー・エム株式会社 情報処理システム、情報処理装置及びプログラム
US8473620B2 (en) * 2003-04-14 2013-06-25 Riverbed Technology, Inc. Interception of a cloud-based communication connection
US7409451B1 (en) 2003-05-30 2008-08-05 Aol Llc, A Delaware Limited Liability Company Switching between connectivity types to maintain connectivity
US9081620B1 (en) * 2003-09-11 2015-07-14 Oracle America, Inc. Multi-grid mechanism using peer-to-peer protocols
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8954590B2 (en) * 2004-04-27 2015-02-10 Sap Ag Tunneling apparatus and method for client-server communication
US7580867B2 (en) * 2004-05-04 2009-08-25 Paul Nykamp Methods for interactively displaying product information and for collaborative product design
US8023985B1 (en) * 2004-06-07 2011-09-20 Nortel Networks Limited Transitioning a state of a connection in response to an indication that a wireless link to a wireless device has been lost
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
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
CA2572401A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US8046830B2 (en) * 2004-07-23 2011-10-25 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
US7657657B2 (en) 2004-08-13 2010-02-02 Citrix Systems, Inc. Method for maintaining transaction integrity across multiple remote access servers
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US20060067244A1 (en) * 2004-09-30 2006-03-30 Microsoft Corporation Registration identifier reuse
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
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
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
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
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
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
KR20070104566A (ko) 2005-01-24 2007-10-26 사이트릭스 시스템스, 인크. 네트워크에서 동적으로 발생된 객체들의 캐싱을 수행하는시스템 및 방법
US8726023B2 (en) * 2005-02-03 2014-05-13 Nokia Corporation Authentication using GAA functionality for unidirectional network connections
EP1866797A4 (en) * 2005-03-16 2010-08-04 Guidance Software Inc SYSTEM AND METHOD FOR SEARCHING FOR STATIC DATA IN A COMPUTER INVESTIGATION SYSTEM
US7831833B2 (en) * 2005-04-22 2010-11-09 Citrix Systems, Inc. System and method for key recovery
US7594020B2 (en) * 2005-05-31 2009-09-22 Microsoft Corporation Re-establishing a connection for an application layer via a service layer
US7986947B2 (en) * 2005-06-28 2011-07-26 Hewlett-Packard Development Company, L.P. Device management network with support for roaming
US8438628B2 (en) * 2005-08-10 2013-05-07 Riverbed Technology, Inc. Method and apparatus for split-terminating a secure network connection, with client authentication
US8478986B2 (en) * 2005-08-10 2013-07-02 Riverbed Technology, Inc. Reducing latency of split-terminated secure communication protocol sessions
US8220042B2 (en) * 2005-09-12 2012-07-10 Microsoft Corporation Creating secure interactive connections with remote resources
US7725737B2 (en) * 2005-10-14 2010-05-25 Check Point Software Technologies, Inc. System and methodology providing secure workspace environment
JP4670598B2 (ja) * 2005-11-04 2011-04-13 日本電気株式会社 ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム
JP4232778B2 (ja) * 2005-12-28 2009-03-04 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置及び画像処理システム
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
US8788807B2 (en) 2006-01-13 2014-07-22 Qualcomm Incorporated Privacy protection in communication systems
EP1987627B1 (en) 2006-02-03 2016-11-16 Mideye AB A system, an arrangement and a method for end user authentication
US8782393B1 (en) 2006-03-23 2014-07-15 F5 Networks, Inc. Accessing SSL connection data by a third-party
US7904563B2 (en) * 2006-03-31 2011-03-08 Microsoft Corporation Establishing and utilizing terminal server dynamic virtual channels
US8356171B2 (en) * 2006-04-26 2013-01-15 Cisco Technology, Inc. System and method for implementing fast reauthentication
JP2007318650A (ja) * 2006-05-29 2007-12-06 Funai Electric Co Ltd クライアント・サーバシステム
US20070288645A1 (en) * 2006-06-08 2007-12-13 International Business Machines Corporation Method and System for Persistent and Reliable Data Transmission
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
JP4787684B2 (ja) * 2006-06-15 2011-10-05 日本電気株式会社 セッション管理システム、セッション管理方法、及びプログラム
US20090005122A1 (en) * 2006-07-10 2009-01-01 David Elliot Goldfarb Advertisement-based dialing
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
US20080075096A1 (en) * 2006-09-22 2008-03-27 Enthenergy, Llc Remote access to secure network devices
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 株式会社日立製作所 情報処理システム、情報処理方法、情報処理装置
US20080091814A1 (en) * 2006-10-16 2008-04-17 Tao Xie Network Connection Fast Recovery
WO2008074366A1 (en) * 2006-12-19 2008-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Managing user access in a communications network
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8902449B1 (en) * 2007-01-03 2014-12-02 Crimson Corporation Systems and methods for determining when results from a criteria scan are deleted from a computing device
US8923827B2 (en) 2007-01-09 2014-12-30 Visa U.S.A. Inc. Mobile payment management
US8201218B2 (en) * 2007-02-28 2012-06-12 Microsoft Corporation Strategies for securely applying connection policies via a gateway
US8650297B2 (en) * 2007-03-14 2014-02-11 Cisco Technology, Inc. Unified user interface for network management systems
US8020195B2 (en) * 2007-03-30 2011-09-13 Citrix Systems, Inc. Systems and methods for user login
US8224919B2 (en) 2007-04-04 2012-07-17 Research In Motion Limited Mobile communications system including intermediate service provider and related methods
US7770214B2 (en) * 2007-04-17 2010-08-03 International Business Machines Corporation Apparatus, system, and method for establishing a reusable and reconfigurable model for fast and persistent connections in database drivers
US8291483B2 (en) * 2007-04-30 2012-10-16 Hewlett-Packard Development Company, L.P. Remote network device with security policy failsafe
US20090003387A1 (en) * 2007-06-27 2009-01-01 Microsoft Corporation Synchronization Between Connection Manager and Extension Components
US20090006537A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Virtual Desktop Integration with Terminal Services
KR101092675B1 (ko) * 2007-07-06 2011-12-09 엘지전자 주식회사 무선 네트워크 관리 방법 및 그 방법을 지원하는 스테이션
JP5002830B2 (ja) * 2007-07-31 2012-08-15 ソフトバンクモバイル株式会社 通信モジュール、通信方法、通信プログラム、通信端末、および通信制御装置
US8291481B2 (en) * 2007-09-18 2012-10-16 Microsoft Corporation Sessionless redirection in terminal services
US8782251B2 (en) * 2008-02-27 2014-07-15 Microsoft Corporation Automated configuration of network mode
US8683062B2 (en) 2008-02-28 2014-03-25 Microsoft Corporation Centralized publishing of network resources
US8281377B1 (en) 2008-04-15 2012-10-02 Desktone, Inc. Remote access manager for virtual computing services
US20090259757A1 (en) * 2008-04-15 2009-10-15 Microsoft Corporation Securely Pushing Connection Settings to a Terminal Server Using Tickets
ES2575006T3 (es) * 2008-05-20 2016-06-23 Raytheon Company Sistema y método para filtrar mensajes
US8200751B2 (en) * 2008-05-20 2012-06-12 Raytheon Company System and method for maintaining stateful information
EP2281387A4 (en) * 2008-05-20 2013-03-20 Raytheon Co SYSTEM AND METHOD FOR COLLABORATIVE MESSAGE TRANSMISSION AND DATA DISTRIBUTION
EP2304567A2 (en) * 2008-05-20 2011-04-06 Raytheon Company Method and apparatus for providing a synchronous interface for an asynchronous service
EP2301208A1 (en) * 2008-05-20 2011-03-30 Raytheon Company System and method for dynamic contact lists
WO2009147215A2 (en) * 2008-06-04 2009-12-10 Nokia Siemens Networks Oy Device management in visited network
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8626115B2 (en) * 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
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
US8355337B2 (en) 2009-01-28 2013-01-15 Headwater Partners I Llc Network based service profile management with user preference, adaptive policy, network neutrality, and user privacy
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
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
US8612862B2 (en) * 2008-06-27 2013-12-17 Microsoft Corporation Integrated client for access to remote resources
US8018940B2 (en) * 2008-08-13 2011-09-13 Alcatel Lucent Network address lookup based on bloom filters
US7694130B1 (en) * 2008-09-12 2010-04-06 Michael Anthony Martinez System and method to authenticate a user utilizing a time-varying auxiliary code
US8149431B2 (en) * 2008-11-07 2012-04-03 Citrix Systems, Inc. Systems and methods for managing printer settings in a networked computing environment
JP5161736B2 (ja) * 2008-11-18 2013-03-13 株式会社東芝 障害診断プログラム、方法、および通信装置
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
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
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
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
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US11985155B2 (en) 2009-01-28 2024-05-14 Headwater Research Llc Communications device with secure data path processing agents
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US11973804B2 (en) 2009-01-28 2024-04-30 Headwater Research Llc Network service plan design
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
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
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
US8707043B2 (en) * 2009-03-03 2014-04-22 Riverbed Technology, Inc. Split termination of secure communication sessions with mutual certificate-based authentication
US8555069B2 (en) * 2009-03-06 2013-10-08 Microsoft Corporation Fast-reconnection of negotiable authentication network clients
US8676926B2 (en) 2009-04-15 2014-03-18 Wyse Technology L.L.C. System and method for handling remote drawing commands
US8869239B2 (en) 2009-04-15 2014-10-21 Wyse Technology L.L.C. Method and system for rendering composite view of an application
US9578113B2 (en) 2009-04-15 2017-02-21 Wyse Technology L.L.C. Method and apparatus for transferring remote session data
US9553953B2 (en) 2009-04-15 2017-01-24 Dell Products L.P. Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US8930527B2 (en) * 2009-05-26 2015-01-06 Oracle International Corporation High availability enabler
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
CN101605108B (zh) 2009-07-15 2013-06-12 阿里巴巴集团控股有限公司 一种即时通信的方法、系统及装置
CN101997673B (zh) * 2009-08-17 2012-11-21 成都市华为赛门铁克科技有限公司 网络代理实现方法及装置
US9438448B2 (en) * 2009-08-18 2016-09-06 Microsoft Technology Licensing, Llc Maintaining communication connections during temporary network disruptions
US20110047610A1 (en) * 2009-08-19 2011-02-24 Keypair Technologies, Inc. Modular Framework for Virtualization of Identity and Authentication Processing for Multi-Factor Authentication
US8599834B2 (en) * 2009-09-29 2013-12-03 Ipc Systems, Inc. Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US8688816B2 (en) * 2009-11-19 2014-04-01 Oracle International Corporation High availability by letting application session processing occur independent of protocol servers
US9054913B1 (en) 2009-11-30 2015-06-09 Dell Software Inc. Network protocol proxy
US8479268B2 (en) 2009-12-15 2013-07-02 International Business Machines Corporation Securing asynchronous client server transactions
US8265591B1 (en) * 2010-02-02 2012-09-11 Sprint Communications Company L.P. Blocking subscribers defaulting payment from network access
JPWO2011096307A1 (ja) 2010-02-03 2013-06-10 日本電気株式会社 プロキシ装置とその動作方法
TWI502375B (zh) * 2010-03-09 2015-10-01 Alibaba Group Holding Ltd Instant messaging method, system and device
US8700892B2 (en) 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
US9443078B2 (en) 2010-04-20 2016-09-13 International Business Machines Corporation Secure access to a virtual machine
US8452877B2 (en) * 2010-04-28 2013-05-28 Lenovo (Singapore) Pte. Ltd. Establishing a remote desktop
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
WO2012040837A1 (en) 2010-09-01 2012-04-05 Jigsee Inc. Systems and methods for resilient media streaming
US8819424B2 (en) 2010-09-30 2014-08-26 Microsoft Corporation Token-based authentication using middle tier
US20120084369A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Unified Reconnection To Multiple Remote Servers
US8607306B1 (en) 2010-11-10 2013-12-10 Google Inc. Background auto-submit of login credentials
CN106131081A (zh) * 2010-12-30 2016-11-16 交互数字专利控股公司 从应用服务器接入服务的方法及移动装置
US8542810B2 (en) * 2011-03-21 2013-09-24 Microsoft Corporation Automatic rejoining of conferences
JP2012227704A (ja) * 2011-04-19 2012-11-15 Fujitsu Ltd 伝送装置、伝送制御方法及び伝送制御プログラム
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
JP5677899B2 (ja) * 2011-06-16 2015-02-25 株式会社三菱東京Ufj銀行 情報処理装置及び情報処理方法
US10855734B2 (en) * 2011-06-29 2020-12-01 Interdigital Ce Patent Holdings Remote management of devices
US20130054734A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Migration of cloud applications between a local computing device and cloud
US9043480B2 (en) 2011-10-11 2015-05-26 Citrix Systems, Inc. Policy-based application management
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US20140040979A1 (en) 2011-10-11 2014-02-06 Citrix Systems, Inc. Policy-Based Application Management
US9143530B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Secure container for protecting enterprise data on a mobile device
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9537899B2 (en) 2012-02-29 2017-01-03 Microsoft Technology Licensing, Llc Dynamic selection of security protocol
US9467305B2 (en) 2012-03-07 2016-10-11 Vmware, Inc. Multitenant access to multiple desktops on host machine partitions in a service provider network
US10148438B2 (en) * 2012-04-03 2018-12-04 Rally Health, Inc. Methods and apparatus for protecting sensitive data in distributed applications
US10936591B2 (en) 2012-05-15 2021-03-02 Microsoft Technology Licensing, Llc Idempotent command execution
US9239868B2 (en) 2012-06-19 2016-01-19 Microsoft Technology Licensing, Llc Virtual session management and reestablishment
US9251194B2 (en) 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US8898109B2 (en) 2012-07-27 2014-11-25 Microsoft Corporation Automatic transaction retry after session failure
US9553935B2 (en) * 2012-09-29 2017-01-24 Oracle International Corporation Mechanism for configuring service endpoints in native client applications at runtime
US9053340B2 (en) 2012-10-12 2015-06-09 Citrix Systems, Inc. Enterprise application store for an orchestration framework for connected devices
US9516022B2 (en) 2012-10-14 2016-12-06 Getgo, Inc. Automated meeting room
US20140109171A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
WO2014062804A1 (en) 2012-10-16 2014-04-24 Citrix Systems, Inc. Application wrapping for application management framework
US9606774B2 (en) 2012-10-16 2017-03-28 Citrix Systems, Inc. Wrapping an application with field-programmable business logic
US9235464B2 (en) 2012-10-16 2016-01-12 Microsoft Technology Licensing, Llc Smart error recovery for database applications
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
US9560069B1 (en) 2012-12-02 2017-01-31 Symantec Corporation Method and system for protection of messages in an electronic messaging system
CN103870346B (zh) 2012-12-11 2015-12-23 腾讯科技(深圳)有限公司 解锁用户数据方法和通信系统
WO2014159862A1 (en) 2013-03-14 2014-10-02 Headwater Partners I Llc Automated credential porting for mobile devices
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US8850049B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing mobile device management functionalities for a managed browser
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US9398111B1 (en) 2013-08-30 2016-07-19 hopTo Inc. File caching upon disconnection
US20180082050A1 (en) * 2013-09-08 2018-03-22 Yona Flink Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US20150082390A1 (en) * 2013-09-08 2015-03-19 Yona Flink Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US9961027B2 (en) 2013-09-17 2018-05-01 Amazon Technolgies, Inc. Email webclient automatic failover
US9900366B2 (en) 2013-09-17 2018-02-20 Amazon Technologies, Inc. Email webclient notification queuing
US9118650B1 (en) 2013-09-23 2015-08-25 Amazon Technologies, Inc. Persistent connections for email web applications
US20150149536A1 (en) * 2013-11-27 2015-05-28 Sharp Kabushiki Kaisha Network system, constant connection method, communication method, electronic device, constant connection server, application server, and program
JP6248641B2 (ja) * 2014-01-15 2017-12-20 株式会社リコー 情報処理システム及び認証方法
US9553925B2 (en) 2014-02-21 2017-01-24 Dell Products L.P. Front-end high availability proxy
US20150244835A1 (en) * 2014-02-21 2015-08-27 Andrew T. Fausak Transcoding instance with multiple channels
US9936002B2 (en) 2014-02-21 2018-04-03 Dell Products L.P. Video compose function
EP3123686B1 (en) * 2014-03-24 2022-04-06 Nokia Technologies Oy Content management
CN106537885A (zh) * 2014-07-18 2017-03-22 诺基亚技术有限公司 接入节点
US9930013B2 (en) * 2014-11-14 2018-03-27 Cisco Technology, Inc. Control of out-of-band multipath connections
US10044726B2 (en) * 2015-05-07 2018-08-07 Cyberark Software Ltd. Systems and methods for detecting and reacting to malicious activity in computer networks
US10432592B2 (en) * 2015-05-10 2019-10-01 Citrix Systems, Inc. Password encryption for hybrid cloud services
US10122767B2 (en) 2015-05-29 2018-11-06 Nagravision S.A. Systems and methods for conducting secure VOIP multi-party calls
US9900769B2 (en) 2015-05-29 2018-02-20 Nagravision S.A. Methods and systems for establishing an encrypted-audio session
US9891882B2 (en) 2015-06-01 2018-02-13 Nagravision S.A. Methods and systems for conveying encrypted data to a communication device
US10356059B2 (en) 2015-06-04 2019-07-16 Nagravision S.A. Methods and systems for communication-session arrangement on behalf of cryptographic endpoints
US10582022B2 (en) * 2016-05-20 2020-03-03 Citrix Systems, Inc. Adaptive session reliability over multiple transports
FR3057373A1 (fr) * 2016-10-12 2018-04-13 Orange Securisation d'une base de donnees d'authentification par un reseau
US10791103B2 (en) * 2016-10-28 2020-09-29 Vmware, Inc. Adapting remote display protocols to remote applications
US10447672B2 (en) 2016-11-01 2019-10-15 Salesforce.Com, Inc. Facilitating encrypted persistent storage in browsers
US11348685B2 (en) * 2017-02-28 2022-05-31 19Labs, Inc. System and method for a telemedicine device to securely relay personal data to a remote terminal
US10613994B2 (en) * 2017-03-29 2020-04-07 Intel Corporation Methods and apparatus to establish a connection between a supplicant and a secured network
JP7033978B2 (ja) * 2018-03-28 2022-03-11 株式会社トプコン 測量機の遠隔操作システム
US11082217B1 (en) * 2019-01-31 2021-08-03 Amazon Technologies, Inc. Session resumption
WO2020255072A1 (en) * 2019-06-21 2020-12-24 Snapt, Inc Control configuration for a plurality of endpoint devices
JP7318423B2 (ja) * 2019-08-30 2023-08-01 富士通株式会社 通信制御装置、通信制御方法及び通信制御プログラム
CN113206790B (zh) * 2021-04-30 2022-10-18 网络通信与安全紫金山实验室 基于时间周期的SRv6传输路径认证方法、系统及存储介质
US20220377061A1 (en) * 2021-05-20 2022-11-24 Zebra Technonolgies Corporation Accelerated Reconnection in Authenticated Networks

Family Cites Families (440)

* Cited by examiner, † Cited by third party
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
US4435511A (en) 1982-09-13 1984-03-06 Owens-Illinois, Inc. Glasses suitable for sealing ferrites
GB2168831B (en) 1984-11-13 1988-04-27 Dowty Information Services Lim Password-protected data link
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
ATE151183T1 (de) 1989-02-24 1997-04-15 Digital Equipment Corp Makler für die auswahl von rechnernetzwerkservern
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
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
US5181200A (en) 1990-10-29 1993-01-19 International Business Machines Corporation Handoff method and apparatus for mobile wireless workstation
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
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
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
US5224098A (en) * 1991-07-17 1993-06-29 International Business Machines Corporation Compensation for mismatched transport protocols in a data communications network
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
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
WO1993020511A1 (en) 1992-03-31 1993-10-14 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
US5265159A (en) 1992-06-23 1993-11-23 Hughes Aircraft Company Secure file erasure
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
CA2103297A1 (en) 1992-12-07 1994-06-08 Donald J. Kennedy Interception system and method including user interface
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
FR2703362B1 (fr) * 1993-03-31 1997-08-29 Aerospatiale Procede et machine de collage d'une bordure de protection adhesive sur le bord d'un panneau multicouche tel qu'un panneau de protection thermique d'engin spatial.
US6006090A (en) 1993-04-28 1999-12-21 Proxim, Inc. Providing roaming capability for mobile computers in a standard network
US5796727A (en) 1993-04-30 1998-08-18 International Business Machines Corporation Wide-area wireless lan access
US5446915A (en) 1993-05-25 1995-08-29 Intel Corporation Parallel processing system virtual connection method and apparatus with protection and flow control
FI107102B (fi) 1993-05-31 2001-05-31 Nokia Networks Oy Menetelmä puhelukustannusten ilmoittamiseksi sekä tilaajalaite
EP0631455A1 (de) 1993-06-25 1994-12-28 Siemens Aktiengesellschaft Verfahren zum Aufrechterhalten von virtuellen Verbindungen bei einem zumindest teilweisen Ausfall von Verbindungswegen
US5794207A (en) 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
US6249818B1 (en) 1993-06-30 2001-06-19 Compaq Computer Corporation Network transport driver interfacing
US5564070A (en) 1993-07-30 1996-10-08 Xerox Corporation Method and system for maintaining processing continuity to mobile computers in a wireless network
US5359593A (en) 1993-08-26 1994-10-25 International Business Machines Corporation Dynamic bandwidth estimation and adaptation for packet communications networks
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
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
US5515508A (en) * 1993-12-17 1996-05-07 Taligent, Inc. Client server system and method of operation including 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
US5548723A (en) 1993-12-17 1996-08-20 Taligent, Inc. Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack
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
US5757907A (en) 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification
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
US5659544A (en) 1994-10-17 1997-08-19 Lucent Technologies Inc. Method and system for distributed control in wireless cellular and personal communication systems
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システム
US5682478A (en) 1995-01-19 1997-10-28 Microsoft Corporation Method and apparatus for supporting multiple, simultaneous services over multiple, simultaneous connections between a client and network server
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
EP0734144A3 (de) 1995-03-20 1999-08-18 Siemens Aktiengesellschaft Verfahren und Anordnung zum Ermitteln der Benutzergebühr in einer Teilnehmereinrichtung
US5572528A (en) 1995-03-20 1996-11-05 Novell, Inc. Mobile networking method and apparatus
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
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
PL326670A1 (en) 1995-11-14 1998-10-12 Ibm Information processing system enabling a versatile worldwide www network scanning program to get access to servers of many different protocols
US6112085A (en) 1995-11-30 2000-08-29 Amsc Subsidiary Corporation Virtual network configuration and management system for satellite communication 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
JP3510042B2 (ja) * 1996-04-26 2004-03-22 株式会社日立製作所 データベース管理方法及びシステム
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
EP0851628A1 (en) 1996-12-23 1998-07-01 ICO Services Ltd. Key distribution for mobile network
US5740361A (en) * 1996-06-03 1998-04-14 Compuserve Incorporated System for remote pass-phrase authentication
US6026379A (en) 1996-06-17 2000-02-15 Verifone, Inc. System, method and article of manufacture for managing transactions in a high availability system
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
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
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
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
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
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
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
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
US6324525B1 (en) 1996-06-17 2001-11-27 Hewlett-Packard Company Settlement of aggregated electronic transactions over a network
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
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
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
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
US5909431A (en) * 1996-06-28 1999-06-01 At&T Corp. Packet mode multimedia conferencing services over an ISDN wide area network
US6088451A (en) 1996-06-28 2000-07-11 Mci Communications Corporation Security system and method for network element access
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)
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
US5812671A (en) 1996-07-17 1998-09-22 Xante Corporation Cryptographic communication system
US5848064A (en) 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
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
US5944791A (en) 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
JP3492865B2 (ja) * 1996-10-16 2004-02-03 株式会社東芝 移動計算機装置及びパケット暗号化認証方法
JPH10178421A (ja) 1996-10-18 1998-06-30 Toshiba Corp パケット処理装置、移動計算機装置、パケット転送方法及びパケット処理方法
US6101543A (en) 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
JP3651721B2 (ja) 1996-11-01 2005-05-25 株式会社東芝 移動計算機装置、パケット処理装置及び通信制御方法
US5974151A (en) 1996-11-01 1999-10-26 Slavin; Keith R. Public key cryptographic system having differential security levels
US6131116A (en) * 1996-12-13 2000-10-10 Visto Corporation System and method for globally accessing computer services
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
US6055575A (en) * 1997-01-28 2000-04-25 Ascend Communications, Inc. Virtual private network system and method
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network
US5996076A (en) 1997-02-19 1999-11-30 Verifone, Inc. System, method and article of manufacture for secure digital certification of electronic commerce
WO1998038762A2 (en) 1997-02-26 1998-09-03 Siebel Systems, Inc. Determining visibility to a remote database client
US6304637B1 (en) * 1997-03-14 2001-10-16 Itxc, Inc. Method and apparatus for establishing and facilitating a direct quality voice call to a telephone extension on behalf of a client computer
US6282172B1 (en) 1997-04-01 2001-08-28 Yipes Communications, Inc. Generating acknowledgement signals in a data communication system
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
US6166729A (en) 1997-05-07 2000-12-26 Broadcloud Communications, Inc. Remote digital image viewing system and method
US6408174B1 (en) 1997-05-13 2002-06-18 Telefonaktiebolaget Lm Ericsson (Publ) Communication method, system, and device for reducing processor load at tariff switch
US6201962B1 (en) 1997-05-14 2001-03-13 Telxon Corporation Seamless roaming among multiple networks including seamless transitioning between multiple devices
US6091951A (en) 1997-05-14 2000-07-18 Telxon Corporation Seamless roaming among multiple networks
US6154461A (en) 1997-05-14 2000-11-28 Telxon Corporation Seamless roaming among multiple networks
US5968176A (en) 1997-05-29 1999-10-19 3Com Corporation Multilayer firewall system
US5958016A (en) 1997-07-13 1999-09-28 Bell Atlantic Network Services, Inc. Internet-web link for access to intelligent network service control
US6006268A (en) 1997-07-31 1999-12-21 Cisco Technology, Inc. Method and apparatus for reducing overhead on a proxied connection
US5935212A (en) 1997-08-07 1999-08-10 I-Planet, Inc. Connection-oriented session emulation
US6061796A (en) 1997-08-26 2000-05-09 V-One Corporation Multi-access virtual private network
US6681017B1 (en) * 1997-09-03 2004-01-20 Lucent Technologies Inc. Simplified secure shared key establishment and data delivery protocols for electronic commerce
IL126149A (en) 1997-09-09 2003-07-31 Sanctum Ltd Method and system for protecting operations of trusted internal networks
US6490620B1 (en) 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
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
US6256739B1 (en) 1997-10-30 2001-07-03 Juno Online Services, Inc. Method and apparatus to determine user identity and limit access to a communications network
US6725376B1 (en) * 1997-11-13 2004-04-20 Ncr Corporation Method of using an electronic ticket and distributed server computer architecture for the same
EA002886B1 (ru) 1997-11-13 2002-10-31 Хайперспейс Коммьюникейшнз, Инк. Система пересылки файлов
EP1705563B1 (en) * 1997-11-14 2009-03-11 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions
US6085247A (en) * 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
AU1421799A (en) 1997-11-25 1999-06-15 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US6230004B1 (en) * 1997-12-01 2001-05-08 Telefonaktiebolaget Lm Ericsson Remote procedure calls using short message service
US6065120A (en) * 1997-12-09 2000-05-16 Phone.Com, Inc. Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices
EP1040611B1 (en) 1997-12-12 2002-06-05 3Com Corporation A forward error correction system for packet based real-time media
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6145109A (en) 1997-12-12 2000-11-07 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
FR2773935A1 (fr) * 1998-01-19 1999-07-23 Canon Kk Procedes de communication entre systemes informatiques et dispositifs les mettant en oeuvre
US6226750B1 (en) * 1998-01-20 2001-05-01 Proact Technologies Corp. Secure session tracking method and system for client-server environment
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
US6147986A (en) 1998-03-06 2000-11-14 Lucent Technologies Inc. Address updating of wireless mobile terminal hosts affiliated with a wired network
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
US6199113B1 (en) * 1998-04-15 2001-03-06 Sun Microsystems, Inc. Apparatus and method for providing trusted network security
US6590588B2 (en) 1998-05-29 2003-07-08 Palm, Inc. Wireless, radio-frequency communications using a handheld computer
US6289461B1 (en) 1998-06-09 2001-09-11 Placeware, Inc. Bi-directional process-to-process byte stream protocol
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6243753B1 (en) 1998-06-12 2001-06-05 Microsoft Corporation Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters
AU760640B2 (en) 1998-06-19 2003-05-22 Juniper Networks, Inc. An interconnect network for operation within a communication node
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
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
US6269402B1 (en) 1998-07-20 2001-07-31 Motorola, Inc. Method for providing seamless communication across bearers in a wireless communication system
US7277424B1 (en) * 1998-07-21 2007-10-02 Dowling Eric M Method and apparatus for co-socket telephony
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
US6094423A (en) * 1998-08-03 2000-07-25 Motorola, Inc. Wireless protocol method and apparatus supporting transaction requests with variable length responses
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6308281B1 (en) 1998-09-02 2001-10-23 International Business Machines Corporation Virtual client to gateway connection over multiple physical connections
GB2341523B (en) 1998-09-12 2003-10-29 Ibm Apparatus and method for establishing communication in a computer network
JP3929186B2 (ja) * 1998-09-18 2007-06-13 三菱電機株式会社 クライアント/サーバシステム
US6574239B1 (en) * 1998-10-07 2003-06-03 Eric Morgan Dowling Virtual connection of a remote unit to a server
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
WO2002023362A1 (en) * 2000-09-12 2002-03-21 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
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
JP2000125029A (ja) 1998-10-12 2000-04-28 Matsushita Electric Ind Co Ltd 網制御装置
US6700902B1 (en) 1998-10-19 2004-03-02 Elster Electricity, Llc Method and system for improving wireless data packet delivery
FI108195B (fi) * 1998-10-19 2001-11-30 Nokia Networks Oy Mekanismi verkon aloittamaa informaation siirtoa varten
WO2000025467A1 (en) 1998-10-28 2000-05-04 L-3 Communications Corporation Encryption and authentication methods and apparatus for securing telephone communications
ATE316730T1 (de) 1998-11-02 2006-02-15 Airbiquity Inc Geo-räumliche adressierung zum internet-protokoll
US6449651B1 (en) * 1998-11-19 2002-09-10 Toshiba America Information Systems, Inc. System and method for providing temporary remote access to a computer
US6253327B1 (en) 1998-12-02 2001-06-26 Cisco Technology, Inc. Single step network logon based on point to point protocol
US6697844B1 (en) 1998-12-08 2004-02-24 Lucent Technologies, Inc. Internet browsing using cache-based compaction
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
US6452923B1 (en) 1998-12-31 2002-09-17 At&T Corp Cable connected wan interconnectivity services for corporate telecommuters
US6760748B1 (en) 1999-01-20 2004-07-06 Accenture Llp Instructional system grouping student terminals
EP1022875B1 (en) * 1999-01-25 2005-06-01 Nippon Telegraph and Telephone Corporation Push network
US6615357B1 (en) 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
JP2000242589A (ja) 1999-02-25 2000-09-08 Mitsubishi Electric Corp データ転送制御コンピュータシステム
AU769742B2 (en) 1999-03-02 2004-02-05 Amway Corp. Electronic commerce transactions within a marketing system that may contain a membership buying opportunity
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
US6421768B1 (en) * 1999-05-04 2002-07-16 First Data Corporation Method and system for authentication and single sign on using cryptographically assured cookies in a distributed computer environment
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
CZ20014168A3 (cs) 1999-05-21 2002-05-15 International Business Machines Corporation Způsob a zařízení pro inicializaci zabezpečné komunikace a pro vytvoření výhradních dvojic bezdrátových přístrojů
US6615166B1 (en) 1999-05-27 2003-09-02 Accenture Llp Prioritizing components of a network framework required for implementation of technology
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
US6721713B1 (en) 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
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
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
US6289450B1 (en) * 1999-05-28 2001-09-11 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
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
US7100195B1 (en) 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
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
US6633878B1 (en) 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6704873B1 (en) 1999-07-30 2004-03-09 Accenture Llp Secure gateway interconnection in an e-commerce based environment
US6609128B1 (en) 1999-07-30 2003-08-19 Accenture Llp Codes table framework design in an E-commerce architecture
US6523027B1 (en) 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US6601233B1 (en) 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6609198B1 (en) 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
US6691232B1 (en) * 1999-08-05 2004-02-10 Sun Microsystems, Inc. Security architecture with environment sensitive credential sufficiency evaluation
US6477665B1 (en) 1999-08-31 2002-11-05 Accenture Llp System, method, and article of manufacture for environment services patterns in a netcentic 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
US6571282B1 (en) 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6550057B1 (en) 1999-08-31 2003-04-15 Accenture Llp Piecemeal retrieval 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
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6438594B1 (en) 1999-08-31 2002-08-20 Accenture Llp Delivering service to a client via a locally addressable interface
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
US6529948B1 (en) 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
US6477580B1 (en) 1999-08-31 2002-11-05 Accenture Llp Self-described stream in a communication services patterns environment
US6611867B1 (en) 1999-08-31 2003-08-26 Accenture Llp System, method and article of manufacture for implementing a hybrid network
US6615253B1 (en) 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
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
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6539396B1 (en) 1999-08-31 2003-03-25 Accenture Llp Multi-object identifier system and method for information service pattern environment
US6549949B1 (en) 1999-08-31 2003-04-15 Accenture Llp Fixed format stream in a communication services patterns environment
US6697824B1 (en) 1999-08-31 2004-02-24 Accenture Llp Relationship management in an E-commerce application framework
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
US6615199B1 (en) 1999-08-31 2003-09-02 Accenture, Llp Abstraction factory in a base services pattern environment
US6842906B1 (en) 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6606660B1 (en) 1999-08-31 2003-08-12 Accenture Llp Stream-based communication in a communication services patterns environment
US6496850B1 (en) 1999-08-31 2002-12-17 Accenture Llp Clean-up of orphaned server contexts
US6640244B1 (en) 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US6529909B1 (en) 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
US6601192B1 (en) 1999-08-31 2003-07-29 Accenture Llp Assertion component in environment services patterns
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
US6601234B1 (en) 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US6345239B1 (en) 1999-08-31 2002-02-05 Accenture Llp Remote demonstration of business capabilities in an e-commerce environment
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6339832B1 (en) 1999-08-31 2002-01-15 Accenture Llp Exception response table in environment services patterns
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
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
US6826696B1 (en) * 1999-10-12 2004-11-30 Webmd, Inc. System and method for enabling single sign-on for networked applications
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
US6870921B1 (en) 1999-11-12 2005-03-22 Metro One Telecommunications, Inc. Enhanced directory assistance service providing individual or group directories
US6606744B1 (en) 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
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
US7130807B1 (en) 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
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
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
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
US6904449B1 (en) 2000-01-14 2005-06-07 Accenture Llp System and method for an application provider framework
US6496520B1 (en) 2000-01-21 2002-12-17 Broadcloud Communications, Inc. Wireless network system and method
US7072665B1 (en) 2000-02-29 2006-07-04 Blumberg Brad W Position-based information access device and method of searching
US6496776B1 (en) 2000-02-29 2002-12-17 Brad W. Blumberg Position-based information access device and method
JP3630065B2 (ja) 2000-03-03 2005-03-16 株式会社村田製作所 セラミックグリーンシートの製造方法及びセラミックグリーンシート製造装置
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
US7065547B2 (en) 2000-03-09 2006-06-20 Persels Conrad G Integrated on-line system with enchanced data transfer protocol
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
US6845091B2 (en) * 2000-03-16 2005-01-18 Sri International Mobile ad hoc extensions for the internet
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
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
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
US6845387B1 (en) * 2000-04-07 2005-01-18 Advanced Digital Information Corporation Creating virtual private connections between end points across a SAN
IL135555A0 (en) * 2000-04-09 2001-05-20 Vidius Inc Preventing unauthorized access to data sent via computer networks
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
US7085854B2 (en) 2000-04-12 2006-08-01 Corente, Inc. Methods and systems for enabling communication between a processor and a network operations center
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
US7047424B2 (en) 2000-04-12 2006-05-16 Corente, Inc. Methods and systems for hairpins in virtual networks
US6671729B1 (en) * 2000-04-13 2003-12-30 Lockheed Martin Corporation Autonomously established secure and persistent internet connection and autonomously reestablished without user intervention that connection if it lost
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
GB0010238D0 (en) * 2000-04-28 2000-06-14 Northeastern Components Intern Locking mechanism for chair and pushbutton control therefor
US7047279B1 (en) 2000-05-05 2006-05-16 Accenture, Llp Creating collaborative application sharing
US7152047B1 (en) 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
US6732314B1 (en) 2000-05-26 2004-05-04 3Com Corporation Method and apparatus for L2TP forward error correction
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
US7010300B1 (en) * 2000-06-15 2006-03-07 Sprint Spectrum L.P. Method and system for intersystem wireless communications session hand-off
US9038170B2 (en) * 2000-07-10 2015-05-19 Oracle International Corporation Logging access system events
US7260638B2 (en) * 2000-07-24 2007-08-21 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
US7336682B2 (en) 2000-07-25 2008-02-26 Juniper Networks, Inc. Network architecture and methods for transparent on-line cross-sessional encoding and transport of network communications data
US7221660B1 (en) 2000-08-08 2007-05-22 E.F. Johnson Company System and method for multicast communications using real time transport protocol (RTP)
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
US20020038339A1 (en) 2000-09-08 2002-03-28 Wei Xu Systems and methods for packet distribution
US6691227B1 (en) 2000-09-08 2004-02-10 Reefedge, Inc. Location-independent packet routing and secure access in a short-range wireless networking environment
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US6990480B1 (en) 2000-09-18 2006-01-24 Trancept Limited Information manager method and system
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
WO2002033607A1 (en) 2000-10-16 2002-04-25 Iis Inc. Method for offering multilingual information translated in many languages through a communication network
WO2002033515A2 (en) 2000-10-17 2002-04-25 Broadcloud Communications, Inc. Wireless asp systems and methods
US6697377B1 (en) * 2000-10-21 2004-02-24 Innomedia Pte Ltd. Method for communicating audio data in a packet switched network
US7620719B2 (en) 2002-06-06 2009-11-17 Juniper Networks, Inc. Method and system for providing secure access to private networks
US8996698B1 (en) * 2000-11-03 2015-03-31 Truphone Limited Cooperative network for mobile internet access
US7140044B2 (en) 2000-11-13 2006-11-21 Digital Doors, Inc. Data security system and method for separation of user communities
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
JP4183379B2 (ja) 2000-11-27 2008-11-19 富士通株式会社 ネットワーク及びエッジルータ
US6735601B1 (en) 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US7096009B2 (en) 2001-03-09 2006-08-22 Research In Motion Limited Advanced voice and data operations in a mobile data communication device
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
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
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
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
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
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
US7136364B2 (en) 2001-03-29 2006-11-14 Intel Corporation Maintaining a reliable link
IL158189A0 (en) 2001-04-03 2004-03-28 L 3 Comm Security & Detection A remote baggage screening system, software and method
US20030041175A2 (en) 2001-05-03 2003-02-27 Singhal Sandeep K Method and System for Adapting Short-Range Wireless Access Points for Participation in a Coordinated Networked Environment
US7224979B2 (en) 2001-05-03 2007-05-29 Symantec Corporation Location-aware service proxies in a short-range wireless environment
US6925481B2 (en) 2001-05-03 2005-08-02 Symantec Corp. Technique for enabling remote data access and manipulation from a pervasive device
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
US7216173B2 (en) 2001-06-12 2007-05-08 Varian Medical Systems Technologies, Inc. Virtual private network software system
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7100200B2 (en) * 2001-06-13 2006-08-29 Citrix Systems, Inc. Method and apparatus for transmitting authentication credentials of a user across communication sessions
US7698381B2 (en) * 2001-06-20 2010-04-13 Microsoft Corporation Methods and systems for controlling the scope of delegation of authentication credentials
US20040107360A1 (en) 2002-12-02 2004-06-03 Zone Labs, Inc. System and Methodology for Policy Enforcement
US7546629B2 (en) 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US6873988B2 (en) 2001-07-06 2005-03-29 Check Point Software Technologies, Inc. System and methods providing anti-virus cooperative enforcement
US8200818B2 (en) 2001-07-06 2012-06-12 Check Point Software Technologies, Inc. System providing internet access management with router-based policy enforcement
US7908472B2 (en) 2001-07-06 2011-03-15 Juniper Networks, Inc. Secure sockets layer cut through architecture
US6832260B2 (en) 2001-07-26 2004-12-14 International Business Machines Corporation Methods, systems and computer program products for kernel based transaction processing
AU2002355530A1 (en) 2001-08-03 2003-02-24 John Allen Ananian Personalized interactive digital catalog profiling
WO2003019870A2 (en) 2001-08-24 2003-03-06 Peribit Networks, Inc. Dynamic multi-point meshed overlay network
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
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
US20030084165A1 (en) * 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
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
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
US7028183B2 (en) 2001-11-13 2006-04-11 Symantec Corporation Enabling secure communication in a clustered or distributed architecture
US6975647B2 (en) 2001-11-13 2005-12-13 Ems Technologies Canada, Ltd Enhancements for TCP performance enhancing proxies
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
KR100436435B1 (ko) 2001-12-26 2004-06-16 한국전자통신연구원 유무선 통합망에서 간접 승인을 이용한 패킷 전송 장치 및그 방법
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7661129B2 (en) * 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US7023979B1 (en) 2002-03-07 2006-04-04 Wai Wu Telephony control system with intelligent call routing
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US7707287B2 (en) 2002-03-22 2010-04-27 F5 Networks, Inc. Virtual host acceleration system
AU2003226128A1 (en) 2002-03-27 2003-10-13 First Virtual Communications System and method for traversing firewalls with protocol communications
JP4315696B2 (ja) 2002-03-29 2009-08-19 富士通株式会社 ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法
US7080404B2 (en) * 2002-04-01 2006-07-18 Microsoft Corporation Automatic re-authentication
US20030208602A1 (en) 2002-04-08 2003-11-06 Cisco Technology, Inc. System and method for pushing data in an internet protocol network environment
US7197553B2 (en) 2002-04-19 2007-03-27 Nortel Networks Limited Network system having a virtual-service-module
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
US7246178B2 (en) 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US20030217126A1 (en) 2002-05-14 2003-11-20 Polcha Andrew J. System and method for automatically configuring remote computer
US7203192B2 (en) 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
US7171467B2 (en) 2002-06-13 2007-01-30 Engedi Technologies, Inc. Out-of-band remote management station
US6744774B2 (en) 2002-06-27 2004-06-01 Nokia, Inc. Dynamic routing over secure networks
US7114180B1 (en) 2002-07-16 2006-09-26 F5 Networks, Inc. Method and system for authenticating and authorizing requestors interacting with content servers
US6826627B2 (en) 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
US20040078772A1 (en) 2002-10-16 2004-04-22 Cosine Communications, Inc. Dynamic route exchange
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
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
TWI234969B (en) 2002-11-26 2005-06-21 Ind Tech Res Inst Dynamic network address translation system and method of transparent private network device
CA2508526A1 (en) 2002-12-03 2004-06-17 Funk Software, Inc. Tunneled authentication protocol for preventing man-in-the-middle attacks
US7587587B2 (en) 2002-12-05 2009-09-08 Broadcom Corporation Data path security processing
WO2004086363A2 (en) 2003-03-27 2004-10-07 M-Systems Flash Disk Pioneers Ltd. Data storage device with full access by all users
US7026954B2 (en) 2003-06-10 2006-04-11 Bellsouth Intellectual Property Corporation Automated parking director systems and related methods
US7746799B2 (en) 2003-06-20 2010-06-29 Juniper Networks, Inc. Controlling data link layer elements with network layer elements
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
US7453852B2 (en) 2003-07-14 2008-11-18 Lucent Technologies Inc. Method and system for mobility across heterogeneous address spaces
WO2005043360A1 (en) 2003-10-21 2005-05-12 Green Border Technologies Systems and methods for secure client applications
US7584500B2 (en) 2003-11-19 2009-09-01 Hughes Network Systems, Llc Pre-fetching secure content using proxy architecture
US8572249B2 (en) 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
US8255973B2 (en) 2003-12-10 2012-08-28 Chris Hopen Provisioning remote computers for accessing resources
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
US9626655B2 (en) 2004-02-19 2017-04-18 Intellectual Ventures I Llc Method, apparatus and system for regulating electronic mail
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
US7502925B2 (en) 2004-04-19 2009-03-10 Nvidia Corporation Method and apparatus for reducing TCP frame transmit latency

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150026894A (ko) * 2013-08-28 2015-03-11 주식회사 케이티 컨트롤러와 네트워크 장치 간 재연결 방법
KR101506223B1 (ko) * 2014-12-10 2015-03-27 (주)한위드정보기술 가상화 서비스 제공을 위한 비정상적인 접속 차단시 자동 재접속 시스템
KR101627256B1 (ko) * 2015-01-08 2016-06-03 (주)넷텐션 다수 분산서버를 구비한 네트워크 통신의 세션 이양 방법
WO2016111407A1 (ko) * 2015-01-08 2016-07-14 (주)넷텐션 단말 세션의 복원 기능을 구비한 네트워크 통신 방법
US10630479B2 (en) 2015-01-08 2020-04-21 Nettention Co., Ltd. Network communication method having function of recovering terminal session
KR20180050952A (ko) * 2016-11-07 2018-05-16 한국전자통신연구원 다중 채널 기반 데이터 송수신 방법 및 장치
KR102339028B1 (ko) * 2021-06-17 2021-12-15 농업협동조합중앙회 로봇 프로세스 자동화 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US8090874B2 (en) 2012-01-03
WO2005036857A1 (en) 2005-04-21
EP1678917A1 (en) 2006-07-12
JP2007514337A (ja) 2007-05-31
US7340772B2 (en) 2008-03-04
US20050246445A1 (en) 2005-11-03
CA2542139A1 (en) 2005-04-21
AU2004306771A1 (en) 2005-04-21
US20050273513A1 (en) 2005-12-08
US8874791B2 (en) 2014-10-28
CA2542139C (en) 2014-11-25
US20050198379A1 (en) 2005-09-08
EP1678917B1 (en) 2008-08-27
US20050267974A1 (en) 2005-12-01
US7502726B2 (en) 2009-03-10
US20110113247A1 (en) 2011-05-12

Similar Documents

Publication Publication Date Title
US7340772B2 (en) Systems and methods for continuing an operation interrupted from a reconnection between a client and server
CA2541151C (en) A persistent and reliable session securely traversing network components using an encapsulating protocol
CA2541137C (en) Encapsulating protocol for session persistence and reliability
US9667601B2 (en) Proxy SSL handoff via mid-stream renegotiation

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