KR100249799B1 - 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및정보 공유 시스템 및 그 방법 - Google Patents

세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및정보 공유 시스템 및 그 방법 Download PDF

Info

Publication number
KR100249799B1
KR100249799B1 KR1019970065701A KR19970065701A KR100249799B1 KR 100249799 B1 KR100249799 B1 KR 100249799B1 KR 1019970065701 A KR1019970065701 A KR 1019970065701A KR 19970065701 A KR19970065701 A KR 19970065701A KR 100249799 B1 KR100249799 B1 KR 100249799B1
Authority
KR
South Korea
Prior art keywords
session
cache
information
server
global
Prior art date
Application number
KR1019970065701A
Other languages
English (en)
Other versions
KR19990047340A (ko
Inventor
유장희
오시영
Original Assignee
정선종
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 정선종, 한국전자통신연구원 filed Critical 정선종
Priority to KR1019970065701A priority Critical patent/KR100249799B1/ko
Publication of KR19990047340A publication Critical patent/KR19990047340A/ko
Application granted granted Critical
Publication of KR100249799B1 publication Critical patent/KR100249799B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

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

Abstract

본 발명은 세션 정보의 공유 및 조회의 효율성과 신뢰성을 높임으로서 SSL 통신의 성능을 향상시키기 위하여 고안 되었으며, 세션 정보의 효율적인 공유 방법 및 세션의 재개 요청에 대한 빠른 세션 정보의 조회 방법에 관한 것이다. SSL 규약에서는 클라이언트와 서버간의 연결에서 세션 캐시를 통한 세션 재개 기법을 제공함으로서, 복잡하고 시간이 많이 소요되는 초기 핸드쉐이크 과정을 간략화 할 수 있게 한다. 그러나, 여러 서버가 동작하는 환경하에서 서버 프로세스내의 메모리에 관리되는 세션 캐시는 많은 양의 캐시 정보에 대한 효율적인 조회 및 공유 방법의 제공이 이루어지지 못하고 있다. 본 발명은 이를 해결하기 위해 세션 캐시에 고유의 식별자를 부여하고 웹서버 구성에 있어 전역 캐시 서버를 둠으로서 세션 캐시의 조회 및 세션 정보 공유의 효을성을 높이는 방법이다.

Description

세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및 정보 공유 시스템 및 그 방법
본 발명은 클라이언트-서버 구조를 갖는 통신 환경에서 동일한 클라이언트의 연결 요청을 빠르게 수행하고 세션 정보를 효과적으로 공유하기 위한 세션 캐시의 검색 조회 방법 및 전역 캐시 서버에 관한 것으로, 특히 세션 캐시의 효율적 공유 및 조회 방법은 세션 재개의 속도를 향상 시킴으로서 통신의 성능을 높이도록 하기 위한 것이다.
일반적으로 WWW(World Wide Web)을 이용하는 인터네트 환경에서 클라이언트와 서버가 SSL(Secure Session Layer) 규약을 이용하여 연결을 설정하고 재개하는데 있어서 그 SSL 핸드쉐이크에 많은 시간이 소요되고 복잡한 문제점이 있다.
종래에 SSL을 이용하여 통신하기 위해서는 먼저 SSL 핸드쉐이크 프로토콜에 따라 서로 인증하고 세션을 연결함으로서, 향후 통신에 사용할 비밀을 공유하는 과정을 거치게 된다. 이 때 많은 시간을 공개키를 이용한 암호화/복호화에 소요하게 되어 전체 통신의 응답 속도를 급격히 떨어지게 된다.
따라서 SSL 프로토콜에서는 이전에 연결을 맺었던 상대에 대해 서로 신뢰할 수 있으면 이런 과정을 처음부터 새로 거치지 않고 이전에 합의된 정보를 이용할 수 있도록 세션 캐시를 이용한 세션 재개 방법을 제공한다.
그리고, 여러 클라이언트로 부터의 요청을 빠르게 동시에 처리하기 위해 대부분의 경우 서버를 여러개 동시에 실행시켜 놓고 돌아가면서 클라이언트의 요청을 처리하게 된다.
또한, 이전에 연결되었던 클라이언트의 세션 재개 요청이 받아들여지기 위해서는 세션에 대한 정보가 저장되어 있는 서버에 연결된 후 지역 세션캐시 테이블에서 세션 정보를 조회하여 검색된 정보에 의해 세션을 재개하는 방법들이 사용되고 있다.
그러나, 지역 세션캐시 테이블에서 각각의 요소들에 의한 조회 방법은 세션정보와 관련된 자료의 크기 때문에 빠르고 효과적인 조회 작업을 수행하기 어려우며, 세션 정보의 손실, 유효기간 만료 등에 대한 정보의 효율적인 공유 또한 어렵다.
따라서 SSL 프로토콜을 이용한 클라이언트와 서버간의 통신에 있어 성능을 향상시키기 위한 방법 중에 하나는 세션 캐시에 저장되어 있는 세션 정보를 재 활용한 세션 재개 기법을 이용하는 것이다. 세션 재개가 이루어지기 위해서는 이전에 연결되었던 세션정보를 효과적으로 조회할 수 있어야 하며, 세션 정보들에 대한 효과적인 공유 방법이 필요하다.
본 발명에서는 클라이언트로 부터의 세션 재개 요청에 대해 서버가 보다 빠르게 동작할 수 있도록 세션캐시의 식별자 및 전역 캐시 서버를 이용한 빠른 세션 조회 방법 및 세션 캐시 공유 방법의 개발을 과제로 한다.
도 1은 본 발명에 의한 클라이언트의 요청 처리를 위한 웹서버 시스템 구성도.
도 2는 본 발명을 설명하기 위한 전역 캐시 서버의 구조 및 흐름도
도 3은 본 발명에 의한 웹서버에서 세션정보 조회 및 연결을 위한 통신 흐름도.
도 4는 본 발명에 의한 SSL 세션 재개요청을 위한 캐시 조회 흐름도.
<도면의 주요부분에 대한 부호의 설명>
101 : 연결 요청을 기다리는 대기 포트
102 : 웹서버의 상태를 관리하는 프로세스 테이블
103 : 식별자 및 세션정보를 갖고 있는 지역(local) 세션캐시 테이블
104 : 식별자 및 세션정보를 갖고 있는 전역(global) 세션캐시 테이블
105 : 연결이 설립되어 송수신에 사용할 새로운 포트
201 : 전역 세션캐시 테이블의 식별자
202 : 전역 세션캐시 테이블의 세션정보
203 : 유효기간이 만료된 세션 정보의 삭제
204 : 유효기간 정보의 검색
이하, 본 발명과 관련된 서버 시스템의 세션 캐시 조회 방법과 흐름을 첨부된 도면을 이용하여 자세히 설명한다.
도 1은 클라이언트의 연결 요청을 받아 처리하는 웹서버 시스템의 구조도이다.
클라이언트(10)와, 클라이언트(10)와의 접속에 의해 클라이언트(10)의 요청사항을 처리하여 제공하고 자신의 세션정보를 각각의 지역 센션정보 테이블(103)에 저장하여 그 세션정보를 SSL핸드쉐이크에 이용하는 다수의 웹서버(30)와, 상기 클라이언트(10)의 연결요청을 연결대기포트(101)를 통해 받아들여 새로운 통신용 송수신 포트(105)를 생성하고 상기 다수의 웹서버(30)에서 해당 클라이언트와의 이전에 접속되어 캐시에 세션정보를 저장하고 있는 서버를 우선순위로 웹서버를 선정하여 연결정보를 제공하는 디스트리뷰터(20)와, 상기 웹서버(30)로부터 세션등록 요청에 의해 세션정보를 전역캐시 테이블(104)에 저장하고 정보 조회 요청에 의해 그 저장된세션정보를 조회하여 제공하는 전역캐시서버(40)를 포함하여 구성된다.
도 2는 본 발명에 의한 전역캐시서버의 계통도로서, 이에 도시된 바와같이, 웹서버(30)로부터 세션등록 요청을 받아 세션정보를 저장하기 위한 식별자(201)와 센션정보(202) 필드를 갖는 전역캐시 테이블(104)이 구비되고, 그 테이블의 관리를 위해서 유효기간이 만료된 세션정보의 삭제부(203)와, 유효기간정보의 검색부(204)가 구비되어 웹서버(30)의 요청에 의해 세션정보의 등록 및 조회를 하고 그 조회정보를 제공하도록 이루어진다.
도 2는 독립된 전역 캐시 서버를 나타낸 것이다. 전역 캐시 서버(40)는 모든 웹서버(httpd) 프로세스에 대한 세션 정보를 캐싱해주는 별도의 독립된 서버로서, 세션정보의 효율적인 공유를 위해 새로운 세션의 등록과, 등록된 세션의 조회를 위한 인터페이스를 제공한다. 이 인터페이스를 이용하여 각 웹서버(httpd)는 새로운 세션이 생성될 때 마다 비 블락킹 I/O를 통해 전역 캐시 서버에 등록하고 유효기간이 만료되면 자동적으로 삭제(203)시킴으로서 전역 캐시 서버의 부하를 관리한다. 웹서버(httpd)는 클라이언트(10)가 재개 요청한 세션을 자신의 지역 캐시에서 찾지 못할때 전역 캐시 서버(40)에서 세션을 조회하게 된다.
이와같이 구성된 본 발명은, 디스트리뷰터(20)가 클라이언트(10)의 연결 요청을 연결 대기 포트(101)을 통해 받아들이고, 통신용 송수신 포트(105)를 생성한 후, 연결정보를 웹서버(30)에게 전달시켜 클라이언트(10)와 웹서버(30)간에 데이터를 주고 받으며 클라이언트(10)의 요청을 처리해 주게 된다.
이때 클라이언트(10)와 서버(30)간에 SSL을 통한 보안 통신을 하기 위해서는 복잡한 SSL 핸드쉐이크를 거쳐 통신에 사용할 비밀키 등의 내용에 대해 서로 합의하는 절차를 밟게 된다. 핸드쉐이크가 끝나면 합의한 SSL 세션 정보를 향후에 다시 이용할 수 있게 웹서버(30)내의 지역 세션캐시 테이블(103)과 전역 캐시 서버(40)내의 전역 캐시 테이블(104)에 저장한다.
이때 세션 연결의 연결요청(ServerHello) 단계에서 생성하는 세션 ID의 일정 비트에 그 세션 ID를 생성한 서버의 식별자를 담아두어, 지역 캐시를 찾아보기 전에 이를 참조하여 불 필요한 지역 캐시 검색을 방지하는데 이용할 수 있게한다. 이렇게 하여 동일한 클라이언트가 향후 다시 이 서버에 연결할 때는 세션 캐시 식별자에 의해 세션정보를 지역 캐시 테이블에서 빠르게 조회하고 여기서 찾지 못하면 전역 캐시 서버에서 세션 정보를 조회하게 된다.
그리고, 전역 캐시에서도 찾지 못하면 모든 SSL 핸드쉐이크를 새로하여 세션을 이루게 된다. 이는, 빠른 세션 정보의 조회를 통하여 복잡한 SSL 핸드쉐이크를 줄이고 세션캐시 테이블에 있는 정보를 이용하여 응답 시간을 단축함으로서 성능 향상을 이룰 수 있게 된다. 이와 같은 웹서버의 처리 과정은 도 3의 웹서버에서 세션정보 조회 및 연결을 위한 통신 흐름도에 제시되어 있다.
디스트리뷰터(20)로부터 연결정보를 접수 받으면(S1), 데이터를 읽어들이고(S2), SSL 세션 재개 요청인지를 판단한다(S3).
SSL세션 재개요청인 경우 자신이 생성한 세션 ID인지를 체크하며(S4), 자신이 생성한 세션 ID인 경우 지역 캐시에 이전 세션정보가 있는지를 체크한다(S5).
만약, 상기 지역캐시에 이전 세션정보가 없거나, 자신이 생성한 세션 ID가 아닌 경우에는 전역 캐시에 이전 세션정보가 있는지를 조회한다(S6).
상기 SSL세션 재개요청이 아니거나, 전역캐시에도 이전 세션정보가 없는 경우에는 모든 핸드 쉐이크를 시행하고(S8), 그 세션정보를 지역 및 전역 캐시 테이블에 세션등록을 한다(S9).
상기 지역캐시 또는 전역캐시에 이전 캐시정보가 있는 경우에는 그 캐시정보를 활용하여 간이 SSL 핸드 쉐이크를 실행한다(S7).
SSL핸드 쉐이크가 완료되면, 데이타를 송수신하고(S10), 연결을 종료한다(S11).
이와같이 본 발명은, 클라이언트가 이전에 연결된 웹서버와의 통신 응답을 빠르게 하기 위해서 세션 정보를 웹서버의 지역 캐시 테이블(103)과 전역 캐시테이블(104)에 저장하고, 그 클라이언트가 다시 웹서버와 연결하는 경우에 SSL핸드쉐이크를 상기 이전에 저장된 세션정보를 이용하여 간이 SSL핸드 쉐이크를 수행함으로써, SSL 핸드쉐이크에 소요되는 시간을 월등히 단축시키게 된다.
세션 조회 순서는 먼저 자기 자신이 생성한 세션 ID 인지 검사하는 것이다. 그리고, 자기 자신이 생성한 것이면 지역 캐시에서 찾아보게 된다. 지역 캐시에서 찾을 수 없거나 자신이 생성하지 않은 세션에 대해서는 전역 캐시 서버에 조회하게 된다.
세션캐시 식별자를 이용한 세션캐시 조회방법은 세션의 재개를 보다 빠르게 수행할 수 있어 SSL을 이용한 통신의 성능을 향상시켜준다. 그리고, 독립된 전역 캐시 서버는 세션 캐시정보를 여러 웹(httpd) 서버들이 효율적으로 공유할 수 있도록 하며, 세션 정보의 효율성 및 신뢰도를 향상시킴으로서 궁극적으로 통신의 성능 및 신뢰도 향상에 기여하게 된다.

Claims (5)

  1. 디스트리뷰터에 의해 클라이언트와 웹서버들의 연결이 제어되어 클라이언트의 요청을 서버들이 처리하기 위한 클라이언트-서버 시스템에 있어서,
    상기 다수의 웹서버(30)에는 이전에 연결되었던 클라이언트가 다시 연결을 요청한 경우에 이전의 세션 정보를 이용하여 절차가 단축된 간이 SSL 핸드쉐이크를 수행하도록 세션 정보를 저장하기 위한 지역 세션 캐시 테이블(103)을 더 포함시켜 구성하고,
    연결을 요청한 클라이언트와의 세션정보가 선택된 웹서버내의 지역 세션 캐시 테이블(103)에 없는 경우에 조회할 수 있도록 각 웹 서버(30)들의 세션정보를 전역 세션 캐시 테이블(105)에 저장하여 공유하게 하는 전역 캐시 서버(40)를 구비하여 구성된 것을 특징으로 하는 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및 정보 공유 시스템.
  2. 제 1 항에 있어서, 상기 지역 세션 캐시 테이블(103)과, 상기 전역 세션 캐시 테이블(105)은, 각기 식별자와 세션정보 필드로 이루어져 그 식별자에 의거하여 이전에 연결된 클라이언트와의 세션정보인지를 구별하는 것을 특징으로 하는 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및 정보 공유 시스템.
  3. 제 1 항에 있어서, 상기 전역 캐시 서버(30)는,
    유효기간이 만료된 세션 정보를 삭제하기 위한 유효기간 만료 세션정보 삭제부(203)와, 세션정보의 유효기간을 검색하기 위한 유효기간 정보 검색부(204)를 더 포함하여 구성된 것을 특징으로 하는 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및 정보 공유 시스템.
  4. 디스트리뷰터에 의해 클라이언트와 웹서버들의 연결이 제어되어 클라이언트의 요청을 서버들이 처리하기 위한 클라이언트-서버 시스템의 세션정보 처리방법에 있어서,
    상기 웹서버에는 지역 세션 캐시 테이블(103)을 포함하고, 각 웹 서버(30)들의 세션정보를 전역 세션 캐시 테이블(105)에 저장하여 각 웹서버(30)들이 세션정보를 공유하여 관리하기 위한 전역 캐시 서버(30)를 구비하고
    디스트리뷰터(20)로부터 연결정보를 접수 받으면(S1), 데이터를 읽어들이고(S2), SSL 세션 재개 요청인지를 판단하는 단계(S3)와
    SSL세션 재개요청인 경우 자신이 생성한 세션 ID인지를 체크하며(S4), 자신이 생성한 세션 ID인 경우 지역 캐시에 이전 세션정보가 있는지를 체크하는 단계(S5)와,
    상기 지역캐시에 이전 세션정보가 없거나, 자신이 생성한 세션 ID가 아닌 경우에는 전역 캐시에 이전 세션정보가 있는지를 조회하는 단계(S6)와,
    상기 SSL세션 재개요청이 아니거나, 전역캐시에도 이전 세션정보가 없는 경우에는 모든 핸드 쉐이크를 시행하고(S8), 그 세션정보를 지역 및 전역 캐시 테이블에 세션등록을 하는 단계(S9)와,
    상기 지역캐시 또는 전역캐시에 이전 캐시정보가 있는 경우에는 그 캐시정보를 활용하여 간이 SSL 핸드 쉐이크를 실행하는 단계(S7)를 수행하도록 이루어진 것을 특징으로 하는 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및 정보 공유 방법.
  5. 제 4 항에 있어서, 상기 세션정보들은
    각 세션정보마다 식별자를 구비하여 세션정보를 구별하고,
    상기 전역 캐시 서버에는 유효기간을 검색하고, 유효기간이 만료된 세션정보를 삭제하는 것을 특징으로 하는 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및 정보 공유방법.
KR1019970065701A 1997-12-03 1997-12-03 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및정보 공유 시스템 및 그 방법 KR100249799B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970065701A KR100249799B1 (ko) 1997-12-03 1997-12-03 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및정보 공유 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970065701A KR100249799B1 (ko) 1997-12-03 1997-12-03 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및정보 공유 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR19990047340A KR19990047340A (ko) 1999-07-05
KR100249799B1 true KR100249799B1 (ko) 2000-03-15

Family

ID=19526387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970065701A KR100249799B1 (ko) 1997-12-03 1997-12-03 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및정보 공유 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100249799B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100386346B1 (ko) * 2001-08-20 2003-06-09 전자부품연구원 데이터 전송방법 및 전송장치
KR100911805B1 (ko) * 2002-09-27 2009-08-12 주식회사 케이티 웹 사용자와 서버간 루팅 정보 갱신방법 및 기록매체
KR100953965B1 (ko) * 2003-02-25 2010-04-21 엘지엔시스(주) 브랜치 프로세서의 회선 접속방법
KR100695470B1 (ko) * 2005-07-22 2007-03-16 텔코웨어 주식회사 채널 관리 장치, 이를 구비한 시스템 및 상기 시스템에서채널을 관리하는 방법
KR101138937B1 (ko) * 2008-12-16 2012-04-25 한국전자통신연구원 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법

Also Published As

Publication number Publication date
KR19990047340A (ko) 1999-07-05

Similar Documents

Publication Publication Date Title
US5511208A (en) Locating resources in computer networks having cache server nodes
US6226684B1 (en) Method and apparatus for reestablishing network connections in a multi-router network
JP4592184B2 (ja) 静的な識別子が付され、かつネットワークに断続的に接続される装置へのアクセス方法および装置
US6973485B2 (en) Proxy server selecting server and proxy server
US7415536B2 (en) Address query response method, program, and apparatus, and address notification method, program, and apparatus
US6907463B1 (en) System and method for enabling file transfers executed in a network environment by a software program
US8732815B2 (en) System, method of authenticating information management, and computer-readable medium storing program
JP5357246B2 (ja) 統合認証のためのシステム、方法およびプログラム製品
US7461262B1 (en) Methods and apparatus for providing security in a caching device
US20030028616A1 (en) Congestion control and avoidance method
JPH1051449A (ja) 移動計算機サポートシステム、その管理サーバ、その端末及びアドレス変換方法
JPH08263417A (ja) コンピュータネットワークの独立リソースにアクセスする方法及びネットワークサブシステム
KR100249799B1 (ko) 세션 캐시의 식별자와 전역 캐시 서버를 이용한 세션 조회 및정보 공유 시스템 및 그 방법
JP2003288261A (ja) データ転送装置、データ転送方法及びプログラム
JPH05143435A (ja) データベースシステム
JP2002358229A (ja) キャッシュ装置及びコンピュータプログラム
KR20020031224A (ko) 컨텐츠 분산 서비스방법 및 그 시스템
JP3265242B2 (ja) 連続データアクセス方法
JPH1155327A (ja) 代理サーバの接続制御サーバ,代理サーバ,及びネットワーク制御方法
JP2002032468A (ja) 情報処理システム及び装置及びそれらの方法並びに記憶媒体
JPH08307451A (ja) データ伝送システム及び方法
KR100348742B1 (ko) 인터넷으로 연결된 컴퓨터를 이용한 저장공간의 공유 및접근 시스템
JP2002197002A (ja) 自律分散型コンテンツ配信システム及び方法
JPH07182264A (ja) 蓄積交換システム
KR100430561B1 (ko) 엑티브 네트워크 환경에서 웹 서버와 웹 캐쉬 서버간데이터 일치성 유지 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071115

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee