KR100854137B1 - 웹 서버 히트 멀티플라이어 및 리다이렉터 - Google Patents

웹 서버 히트 멀티플라이어 및 리다이렉터 Download PDF

Info

Publication number
KR100854137B1
KR100854137B1 KR1020057009596A KR20057009596A KR100854137B1 KR 100854137 B1 KR100854137 B1 KR 100854137B1 KR 1020057009596 A KR1020057009596 A KR 1020057009596A KR 20057009596 A KR20057009596 A KR 20057009596A KR 100854137 B1 KR100854137 B1 KR 100854137B1
Authority
KR
South Korea
Prior art keywords
web server
http
http request
request message
information component
Prior art date
Application number
KR1020057009596A
Other languages
English (en)
Other versions
KR20050097915A (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 비이에이 시스템즈 인코포레이티드
Publication of KR20050097915A publication Critical patent/KR20050097915A/ko
Application granted granted Critical
Publication of KR100854137B1 publication Critical patent/KR100854137B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 수신하고, 이때 상기 HTTP 요청 메시지는 웹 서버(104)에 저장된 인포메이션 컴포넌트의 식별자를 포함하고, 상기 인포메이션 컴포넌트에 대한 하나이상의 제 2 HTTP 요청 메시지를 생성하며, 이때 상기 제 2 HTTP 요청 메시지 각각은 상기 인포메이션 컴포넌트의 식별자를 포함하고, 그리고 상기 제 2 HTTP 요청 메시지를 제 2 웹 서버(110)로 전송하는 단계들을 포함하는 방법, 장치, 및 컴퓨터-판독형 매체에 관한 것이다.

Description

웹 서버 히트 멀티플라이어 및 리다이렉터{WEB SERVER HIT MULTIPLIER AND REDIRECTOR}
본 발명은 웹 서버에 관한 것으로, 특히 웹 서버에서의 리소스 리크(resource leaks)를 해결하는 것과 관련된다.
네트워크 서비스에 대한 수요가 최근에 빠르게 증가함으로써 웹 서버의 숫자도 유사하게 증가하고 복잡하게 되었다. 이러한 복잡성으로 인해, 웹 서버는 생산(production)을 고려하기 전에 개발 단계에서 철저하게 테스트된다. 그러나, 일단 생산이 되면, 웹 서버는 테스트하기가 어렵고, 드러난 문제는 해결하기가 어려울 수 있다. 하나의 공통된 문제는 리소스 리크이고, 메모리와 같은 일부 리소스는 웹 서버의 성능이나 안전성에 좋지 못한 방식으로 서서히 소비된다. 하나의 공통된 리소스 리크는 메모리 리크이다.
웹 서버는 웹 페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 영화 등의 인포메이션 컴포넌트(information components)를 제공한다. 이러한 인포메이션 컴포넌트의 일부는 정적이고, 따라서 추가 프로세싱 없이 제공될 수 있다. 다른 인포메이션 컴포넌트는 동적이고, 고객에게 전달되기 전에 인포메이션 컴포넌트 생성 프로세스에 의해 생성되어야 한다. 리소스 리크는 상기 리소스가 "사용중(in use)" 으로 표시될 때 반면 인포메이션 컴포넌트 생성 프로세스가 작동하고 있을 때 야기 되지만 상기 프로세스가 상기 리소스를 더 이상 필요로 하지 않을 때 릴리스(release) 되지 않는다. 상기 리소스는 메모리, 싱크로나이제이션 객체, 통신 포트, 또는 다른 유한한 컴퓨터 리소스가 될 수 있다. 상기 리소스가 결코 릴리스되지 않기 때문에, 상기 리소스는 동일한 또는 다른 프로세스에 의해 사용가능하지 않다. 시간이 경과함에 따라, 이러한 리소스 리크는 상기 프로세스 또는 전체 동작 시스템의 오작동을 야기할 수 있다.
프로덕션 웹 서버에서의 리소스 리크는 일반적으로 시간이 소비되고 진단 및 교정하기가 어렵다.
첫째, 리소스 리크는 종종 매우 느리게 발생하고, 따라서 각각의 제시된 해결책의 효율성을 평가하도록 데이터를 수집하는데 수 일 또는 수 주가 소비된다. 만일 많은 해결책이 시도되어야 한다면, 이러한 프로세스는 수 개월 이상이 소비될 수 있다.
둘째, 리소스 리크는 종종 프로덕션 웹 서버 상에서 발생할 수 있다. 이러한 웹 서버가 매우 신뢰할 수 있어야 하기 때문에, 상기 시스템을 크게 변경하도록 직원이 상기 리소스 리크를 진단하는 것은 허용될 수 없을 것이다. 리소스 리크를 진단하는 하나의 공통된 방법은 상기 리크 프로세스의 한 부분을 디스에이블(disable)시킨다. 부분들은 개별적으로 디스에이블 및 이네이블(enable)된다. 상기 리소스 리크가 사라진 것으로 보일 때, 디스에이블된 부분들은 흔히 상기 리크에 원인이 되지 않는다. 컴포넌트의 디스에이블과 연계된 기능의 손실이 허용되지 않 기 때문에 이러한 전략은 프로덕션 웹 서버 상에서 허용되지 않는다. 다른 진단 소프트웨어 컴포넌트는 리소스 리크를 검출하고 진단하는데 흔히 사용된다. 리크 검출기와 같은 툴(tool)은 작은 리크를 발견할 때 매우 중요할 수 있지만, 프로덕서 서버 상에서 이러한 툴의 사용은 흔히 금지된다. 프로덕션 웹 서버의 안정성을 책임지고 있는 당국은 추가 진단(diagnostic)을 실행하고 상기 웹 서버 상에서 소프트웨어를 디버깅함으로써 상기 안정성을 위험에 빠뜨리기를 원치 않는다.
셋째, 리소스 리크는 종종 예상되지 않거나 특이한 환경과 관련된다. 프로덕션 웹 서버에서 사용되는 대부분의 소프트웨어 시스템은 배치되기 전에 상당한 테스트를 거친다. 따라서, 상기 웹 서버의 특징과 관련된 리크는 특이하다. 상기 리크는 일반적으로 소프트웨어를 전개하기 전에 발견되고 교정된다. 리크가 프로덕션 웹 서버 상에서 발견될 때, 아마도 상기 리크는 중요하게 보이지 않았기 때문에 또는 사용자 액션의 특정 시퀀스가 예상되지 않았기 때문에, 상기 리크는 흔히 테스트되지 않았던 특징부와 관련된다. 프로덕션 웹 서버 상에서 리소스 리크를 식별하는 것은 대개 매우 쉽다. 상기 리소스는 고갈되는 것으로 관찰된다. 상기 리소스 리크의 원인을 식별하는 것은 훨씬 어려운데, 그 이유는 상기 리크가 일반적인 기능과 관련되지 않기 때문이다. 일반적으로, 버그 또는 결함(flaw)이 소프트웨어에서 발견될 때, 상기 결함을 표시하게 되는 환경은 실험실에서 재생산된다. 픽스(fix)가 제시되면, 상기 픽스는 실험실에서 구현되고 테스트된다. 이러한 모델은 프로덕션 시스템에서 검출된 리크에 대하여 효과가 없는데, 그 이유는 실험실에서 프로덕션 시스템의 환경의 재생산이 어렵기 때문이다. 프로덕션 시스템의 사용 특 징은 복잡하고 특성화하기가 어렵다.
본 발명은 웹 히트 멀티플라이어(Web Hit Multiplier) 및 웹 히트 리다이렉터(Web Hit Redirector)로 알려지며, 방법, 장치, 및 컴퓨터 판독형 매체를 특징으로 한다. 본 발명은 웹 서버에 대하여 의도된 HTTP 요청을 차단하고, 상기 요청을 처리하며, 이후 상기 요청을 관련된 웹 서버에 전송한다. 이는 웹 클라이언트(가령, 브라우저)와 웹 서버 사이의 층이라는 점에서 프록시 서버와 개념상 유사하지만, 테스트될 웹 서버로의 플러그-인으로서 쉽게 구현된다. 웹 클라이언트가 웹 서버인 것처럼 상기 웹 히트 멀티플라이어 및 웹 히트 리다이렉터에 첨부되는 반면, 웹 서버는 브라우저인 것처럼 상기 웹 히트 멀티플라이어 및 웹 히트 리다이렉터로부터 요청을 수신한다. 두 개의 태양과 관련된다.
웹 히트 멀티플라이어 (Web Hit Multiplier)
제 1 태양은 웹 히트 멀티플라이어로서, 상기 웹 서버에 의해 처리된 HTTP 요청의 수를 증가시켜서, 현존하는 리소스 리크의 사이즈를 증가시킨다. 이는 상기 리크를 검출 및 진단하기가 쉽게 만든다. 요청에서의 증가는 현존하는 입력 요청을 곱함으로써 이루어진다. 각각의 입력 요청은 웹 서버로 수차례 기록되고 전송된다. 상기 요청의 제 1 카피는 주요 요청으로 생각될 수 있고, 추가 카피는 제 2 요청으로서 생각될 수 있다.
웹 히트 멀티플라이어의 부분은 조회시 상기 웹 서버에 플러그-인으로 쉽게 구현된다. 웹 히트 멀티플라이어가 브라우저(또는 다른 HTTP 클라이언트)로부터 HTTP 요청을 수신할 때, 상기 플러그-인은 상기 요청을 기록하고, 그리고 변경되지 않은 웹 서버로 진행하게 한다. 상기 플러그-인은 상기 요청을 제 2 컴포넌트로 전송하고, 각각의 요청을 테스트될 웹 서버로 전송하는데, 이때 상기 제 2 컴포넌트는 상기 요청을 수차례 카피한다. 상기 웹 히트 멀티플라이어는 제 2 요청에 대한 응답을 브라우저로 되돌려서는 안 되는데, 그 이유는 상기 브라우저가 상기 요청을 만들지 않았기 때문이다(웹 히트 멀티플라이어에 의해 만들어졌음).
상기 웹 히트 멀티플라이어는 상기 웹 히트 멀티플라이어 자체에 의해 생성되었던 요청을 곱하지 않는다. 상기 웹 히트 멀티플라이어는 클라이언트 IP 어드레스, 커스텀 헤더(custom header) 등 많은 방법을 통해 자신의 요청을 인식할 수 있다.
웹 히트 멀티플라이어는 진단을 돕기 위하여 추가적인 특징부를 포함한다. 한 실시예에서, 필터는 지정된 기준을 바탕으로 어떠한 요청이 곱해져야 하는가에 대하여 리소스를 선택한다.
첫째, 상기 웹 히트 멀티플라이어는 어떠한 요청이 곱해져야 하는가에 대하여 상기 리소스를 식별하는 필터를 포함한다. 리크가 상기 웹 서버의 한 컴포넌트에서 의심될 때, 그에 대한 요청은 곱해질 수 있고, 반면 요청을 곱해지지 않은 다른 컴포넌트에 남겨둔다. 의심되는 컴포넌트를 곱하는(또는 곱하지 않는) 것을 선택하는 것은 상기 리크를 야기하고 있는 컴포넌트들을 좁히는 것을 도울 수 있다. 웹 서버가 일반적으로 URL을 통해 컴포넌트와 리소스를 식별하기 때문에, 상기 웹 히트 멀티플라이어는 URL에 의하여 요청을 필터링하고, 그리고 0 이상의 구체화된 정규식과 부합하는 상기 URL을 곱한다. 부가적으로, 사용자는 곱해져서는 안 되는 URL을 나타내는 0 이상의 정규식을 구체화할 수 있다(즉, 사용자는 멀티플리케이션을 트리거링하는 양의 조건 또는 멀티플리케이션을 억제하는 음의 조건을 구체화할 수 있다.)
둘째, 상기 웹 히트 멀티플라이어는 상기 웹 서버의 상태를 변화시키도록 의도되는 요청을 식별하는 필터를 포함하지만, 상기 요청을 곱하지는 않는다. 예를 들어, 웹 서버가 뱅킹 시스템으로 동작하고 있다고 가정한다. 클라이언트가 하나의 계좌로부터 또 다른 계좌로 은행의 웹 사이트를 통해 자금의 전송을 요청할 때, 상기 웹 히트 멀티플라이어는 이러한 요청을 곱하지 않을 것이다. 사용자는 상기 전송이 여러 번 일어나기를 원치는 않을 것이다.
상태를 변화시키기 위한 대부분의 요청은 HTTP 규격에 설명된 바와 같이 HTTP POST 요청을 통해 다루어진다. 상기 웹 히트 멀티플라이어는 사용자가 어떤 HTTP 메소드(가령, "POST" 또는 "GET")이 곱해져야 하는지 및 어떤 HTTP 메소드(method)가 곱해져서는 안 되는지를 구체화하도록 할 것이다. URL 기반 필터링은 원치않는 동작을 필터링하는데 또한 사용될 수 있다.
웹 히트 리다이렉터(Web Hit Redirector )
제 2 태양은 웹 히트 리다이렉터로서, 이 웹 히트 리다이렉터는 제 2의 테스트 웹 서버가 동일한 HTTP 요청을 제 1의 프로덕션 웹 서버로서 수신하도록 한다. 상기 웹 히트 리다이렉터는 상기 웹 히트 멀티플라이어와 매우 유사하지만, 예외적으로 상기 요청의 카피를 상기 제 1 웹 서버로 전송하는 대신, 카피된 요청은 처리되고 상기 테스트 웹 서버로 보내진다. 이는 진단자(diagnosticians)가 상기 테스트 웹 서버를 변경하도록 하고, 그리고 상기 변경의 효과를 "실 생활(real world)" 사용 패턴과의 환경에서 분석하도록 한다. 이는 입력되는 요청을 카피함으로써 실시된다. 각각의 입력되는 요청은 한 번 이상 카피된다. 본래의 카피는 상기 프로덕션 웹 서버로 전송된다. 이는 제 1 요청으로 알려져 있다. 다른 카피는 상기 테스트 웹 서버로 전송된다. 이는 테스트 또는 제 2 요청으로 알려져 있다. 상기 웹 히트 리다이렉터에서, 제 1 요청 및 테스트 요청은 일반적으로 동일하지 않다. 이러한 테스트 요청은 상기 테스트 웹 서버에 수용될 수 있도록 "교정(corrected)"되어야 한다.
요청은 웹 서버가 클라이언트를 식별하는 방식에 따라, 상기 요청을 상기 테스트 웹 서버로 전송하기 전에 수정되어야 한다. HTTP는 스테이트레스(stateless) 프로토콜이기 때문에, 상기 웹 서버는 어떤 클라이언트가 어떤 요청을 만들었는지를 알지 못한다. 예를 들어, 만일 브라우저가 긴 문서의 "다음(next)" 페이지를 요청하였다면, 상기 웹 서버는 어떤 클라이언트가 상기 요청을 만들었는지 알 필요가 있고, 클라이언트는 페이지 2를 보고 있거나(어떤 경우에는 페이지 3으로 되돌아가야 함), 또는 상기 클라이언트는 페이지 27을 보고 있다(어떤 경우에는 페이지 28로 되돌아가야 함). HTTP 프로토콜은 이러한 문제를 해결하지 못하지만, 이러한 한계를 극복하는 표준 수단이 있다.
표준 산업 수단은 상기 웹 서버 상의 상태를 유지하도록 "쿠키(cookie)"를 사용하는 것이다. 상기 쿠키는 웹 서버에 의해 생성된 작은 식별자이고, 특정 클라이언트와 연계되어 있다. 상기 서버가 요청에 응답할 때, 서버는 쿠키를 생성하고, 상기 응답과 함께 되돌린다. 브라우저(또는 다른 클라이언트)는 쿠키를 저장하고, 이를 후속 요청에 따라 상기 웹 서버로 되돌린다. 상기 웹 서버는 후속 요청을 상기 요청을 만들고 있는 클라이언트에 상관시키도록 상기 쿠키를 사용할 수 있다. 이 쿠키는 상기 웹 서버 상의 현재 사용자의 세션을 설정하는데 사용되기 때문에 세션 쿠키라 불린다. 예를 들어, 사용자 A는 "다음 페이지(next page)"(페이지 2를 의미)를 요청할 수 있다. 상기 웹 페이지는 세션 쿠키 "사용자 1"에 따라서 페이지 1로 되돌아갈 것이다. 이후 사용자 B는 다음 페이지를 요청할 수 있고, 상기 웹 서버는 세션 쿠키 "사용자 2"에 따라 페이지 1로 다시 되돌아갈 것이다. 다음으로, 사용자 A는 "다음 페이지"(페이지 2를 의미함)를 요청할 수 있다. 상기 요청에 따라, 사용자 A는 세션 쿠키 "사용자 1"을 상기 웹 서버로 되돌린다. 상기 웹 서버는 상기 쿠키 "사용자 1"이 이미 페이지 1을 보았던 사용자와 연계되고, 따라서 페이지 2로 되돌아간다. 상기 웹 서버는 사용자 A가 페이지 3을 보아야 하는 것을 알고, 비록 웹 서버가 상기 사용자에 대하여 그 밖에 아무것도 모른다 할지라도, 사용자 B는 페이지 3을 다음으로 보아야 한다. 모든 주요 브라우저 및 웹 서버는 비록 쿠키가 HTTP 1.0 규격의 일부가 아니더라도 이러한 방식으로 세션 쿠키를 지원한다.
이는 웹 히트 리다이렉터에 대한 문제를 만든다. 웹 서버가 쿠키의 포맷 및 의미를 정의하기 때문에, 하나의 웹 서버로부터의 쿠키는 일반적으로 제 2 웹 서버로 성공적으로 전송될 수 없다. 제 2 웹 서버는 상기 쿠키의 의미를 이해하지 못할 것이다. (가령, 쿠키 "사용자 2"를 일부 다른 웹 서버로 전송하는 것은 에러를 발생시킬 수 있는데, 그 이유는 상기 제 2 시스템 상에 단지 하나의 사용자만이 있을 수 있기 때문이다. 비록 두 사용자가 있더라도, 상기 제 2 웹 서버의 제 2 사용자는 상기 제 1 웹 서버의 제 2 사용자로서 동일한 사용자가 아니다.) 따라서, 상기 웹 히트 리다이렉터가 상기 프로덕션 웹 서버에 대하여 본래 의도되었던 요청을 상기 테스트 웹 서버로 전송할 때, 상기 테스트 웹 서버는 상기 요청과 연계된 쿠키를 해석하는 방법을 알지 못할 것이다.
상기 웹 히트 리다이렉터는 프로덕션 웹 서버 상의 쿠키를 상기 테스트 웹 서버 상의 쿠키로 매핑(mapping)한다. 웹 히트 리다이렉터가 프로덕션 웹 서버 상의 리소스에 대한 요청을 때, 상기 웹 히트 리다이렉터는 상기 요청을 카피하고, 상기 프로덕션 웹 서버 상의 상태를 식별하는 어떤 쿠키를 상기 테스트 웹 서버에 대한 상응하는 쿠키로 대체한다. 그렇게 하기 위해서, 상기 웹 히트 리다이렉터는 쿠키를 테스트하도록 프로덕션 쿠키의 맵(map)을 유지한다.
요청을 상기 테스트 웹 서버로 전송하기 전에, 상기 웹 히트 리다이렉터는 상기 요청을 변경하고, 상기 프로덕션 웹 서버에 대하여 의도되었던 세션 쿠키를 상기 테스트 웹 서버와 함께 사용하기에 적합한 매핑된 쿠키로 대체하게 된다. 상기 웹 히트 리다이렉터는 진단을 돕기 위하여 추가적인 특징을 포함한다.
상기 웹 히트 리다이렉터는 상기 웹 히트 멀티플라이어와 동일한 필터링 특징을 포함한다. 특히, 상기 웹 히트 리다이렉터는 URL에 의하여 요청을 필터하는 능력을 가지며, 구체화된 정규식을 매핑하는 상기 URL을 선택적으로 허용하거나 허용하지 않는다. 상기 웹 히트 리다이렉터는 또한 HTTP 메소드에 의하여 필터하는 능력을 갖고 있다(가령, HTTP GET 요청을 리다이렉트하고, 반면 HTTP POST 요청을 무시한다).
도 1은 한 실시예에 따른 데이터 통신 시스템을 보여준다.
도 2는 한 실시예에 따른 도 1의 통신 시스템에서 실행된 프로세스를 보여준다.
도 3은 한 실시예에 따른 데이터 통신 시스템을 보여준다.
도 4는 한 실시예에 따른 도 3의 통신 시스템에서 실행된 프로세스를 보여준다.
도 5는 한 실시예에 따른 도 1의 멀티플라이어에서 실행된 프로세스를 보여준다.
본원에서 사용된 각각의 참조 숫자의 선도 디지트(leading digit)는 상기 참조 숫자가 먼저 나타나는 도면의 수를 표시한다.
본원에서 사용된 바와 같이, 상기 용어 "클라이언트" 및 "서버"는 일반적으로 전자 디바이스 또는 메카니즘을 의미하고, 상기 용어 "메시지"는 일반적으로 디지털 메시지를 나타내는 전자 신호를 의미한다. 이러한 용어들은 다음의 설명을 간단히 하는데 사용된다. 상기 클라이언트 및 서버는 표준의 범용 목적의 컴퓨터 및 특정 디바이스에서 구현될 수 있다.
웹 서버에의 액세스의 양은 상기 서버 상의 "히트 비율(hit rate)"로 설명되고, 이는 주어진 시간의 양에서 상기 웹 서버에 의해 수신되고 응답된 요청의 수를 반영한다. 앞서 설명된 바와 같이, 프로덕션 웹 서버에 대한 사용자 히트 비율은 느린 리소스 리크의 신속한 식별 또는 진단을 허용하는데 종종 불충분하다. 발명자는 만일 리크를 야기하는 상기 인포메이션 컴포넌트 상의 히트 비율이 높았을 경우, 훨씬 빠르게 분명해 질 것이라는 것을 인식하였다. 다시 말해서, 만일 리소스가 히트 당 일정한 비율로 리크될 경우, 상기 히트 비율은 상기 리크를 보다 분명하게 함으로써 고정하기가 쉽게 된다.
하나의 가능한 접근은 상기 사용자 요청을 시뮬레이션하도록 하고, 그리고 상기 시뮬레이션의 히트 속도를 단순히 증가시킨다. 예를 들어, 상기 서버 상의 인포메이션 컴포넌트로부터 리소스를 반복적으로 요청하도록 툴(tool)이 사용될 수 있는데, 서버가 요청을 종료하자마자 새로운 요청이 만들어진다. 이러한 접근의 결점은 상기 요청 컴포넌트에 대한 요청을 시뮬레이션하도록 어떤 인포메이션 컴포넌트가 상기 리크를 야기하는지를 알아야 할 필요가 있다는 것이다. 이는 중요한 한계 사항인데, 그 이유는 테스트의 주요 목적이 어떤 인포메이션 컴포넌트가 리크하는지를 발견하는 것이기 때문이다. 다시 말해서, 어떤 방식의 로드(load)가 상기 시뮬레이션에 적절한 지를 알 필요없이 프로덕션 웹 서버 상의 로드를 정확하게 시뮬레이션하는 것이 어렵다.
도 1은 한 실시예에 따른 데이터 통신 시스템(100)을 보여준다. 데이터 통신 시스템(100)은 웹 브라우저, 웹 서버(104), 플러그-인(106), 선택적인 URL(uniform resource locator) 필터(108), 및 멀티플라이어(110)와 같은 클라이언트(102)를 포함한다. 웹 서버(104), URL 필터(108), 및 멀티플라이어(110)는 하나이상의 컴퓨터 상에서 실행되는 독립된 프로세스로서 구현되는 것이 선호된다. 플러그-인(106)은 비록 다른 구현예가 고려될 수 있지만, ISAPI(internet server application program interface) 필터로서 구현되는 것이 선호된다. 웹 서버(104)는 HTTP 요청을 전송함으로써 클라이언트(102)에 의해 접근될 수 있는 하나이상의 인포메이션 컴포넌트(가령, 웹 페이지 등)를 호스팅한다.
도 2는 한 실시예에 따라 통신 시스템(100)에 의해 실행된 프로세스(200)를 도시한다. 클라이언트(102)는 HTTP 요청 메시지를 웹 서버(104)로 전송한다. 상기 HTTP 요청 메시지는 자동적으로 생성되거나 또는 사용자 액션에 응답하여 생성될 수 있다. 상기 HTTP 요청 메시지는 웹 서버(104)에 저장된 인포메이션 컴포넌트의 식별자를 포함한다. 웹 서버(104)는 HTTP 요청 메시지를 수신한다. HTTP 요청 메시지에 응답으로, 웹 서버(104)는 종래의 방법에 따른 HTTP 응답 메시지를 생성하고, 상기 HTTP 응답 메시지를 클라이언트(102)(단계 204)로 전송한다.
선택적인 URL 및 메소드 필터(108)를 이용하는 실시예에서, 플러그-인(106)은 HTTP 요청 메시지의 카피를 필터(108)로 전송한다(단계 206). 다른 실시예에서, 플러그-인(106)은 상기 HTTP 요청 메시지의 카피를 멀티플라이어(110)로 직접 전송한다. 필터(108)는 사용자-선택가능한 필터 기준에 따라 상기 HTTP 요청 메시지를 멀티플라이어(110)로 전송할지를 결정한다. 한 실시예에서, 필터(108)는 정규식을 각각의 HTTP 요청으로 인가하고, 그리고 상기 정규식과 매칭하는 상기 HTTP 요청만을 전송한다. 또 다른 실시예에서, 필터(108)는 상기 정규식과 매칭하지 않는 HTTP 요청만을 전송할 수 있다. 제 3 실시예에서, 필터(108)는 구체화된 HTTP 메소드와 매칭하는 HTTP 요청만을 전송할 수 있다. 다른 실시예는 이러한 기준 및 다른 기준의 다양한 조합을 포함한다.
이러한 특징에 따라, 웹 사이트의 특정 부분은 확대될 수 있지만, 다른 부분들은 확대될 수 없다. 이러한 특징은 리소스 리크를 분리하는데 특히 유용하다. 예를 들어, 만일 리소스 리크가 보여진다면, 그것은 웹 사이트의 특정 부분과 연계된 것으로 추측되고, URL 필터(108)는 상기 웹 사이트의 상기 부분만을 확대할 수 있다. 만일 리소스 리크가 가속된다면, 상기 리크는 상기 웹 사이트의 상기 부분과 연계될 수 있다. 이후 상기 웹 사이트의 상기 부분을 제외한 모든 것을 확대하도록 반대(reverse) 테스트가 실행될 수 있다. 만일 상기 리크가 확대되지 않으면, 상기 리크는 상기 웹 사이트의 상기 부분과 연계되는 것이 분명하다.
멀티플라이어(110)는 전송된 HTTP 요청 메시지를 수신하고(단계 208), 그리고 상기 HTTP 요청 메시지의 카피의 지정된 수 n을 생성하며, 이때 n은 1이상이다. 멀티플라이어(110)는 웹 서버(110)에 상기 HTTP 요청 메시지의 카피를 전송한다(단계 210). 이러한 방식으로, 프로세스(200)는 특정 인포메이션 컴포넌트에 대한 모든 사용자 요청을 "확대(amplify)"하고, 따라서 상기 인포메이션 컴포넌트와 연계된 리소스 리크의 비율을 증가시키고, 상기 리크를 식별 및 진단하기에 보다 쉽고 빠르게 한다. 일부 실시예에서, 멀티플라이어(110)는 응답 분석 툴을 포함하고, 이때 상기 응답 분석 툴은 상기 멀티플라이어에서 생성된 곱해진 요청에 대한 응답으 로 상기 웹 서버(104)에 의해 되돌아온 응답을 분석하며(단계 212), 따라서 부가적인 테스트 데이터를 제공한다.
본 발명의 실시예는 수동 클릭 테스팅 동안 웹 서버를 테스트하는데 사용될 수 있다. 생산 환경에서 소비자로부터의 요청을 곱하기보다, 상기 실시예는 개발(devlopment)환경에서 테스터(testers)로부터의 요청을 곱한다. 상기 테스터의 각각의 클릭은 몇몇 큰 수에 의해 확대되어서, 많은 사용자들이 동시에 클릭하는 것을 시뮬레이션한다.
도 3은 한 실시예에 따른 데이터 통신 시스템(300)을 보여준다. 데이터 통신 시스템(300)은 웹 브라우저, 프로덕션 웹 서버(304), 테스트 웹 서버(312), 플러그-인(306), 선택적 URL 필터(308), 및 멀티플라이어(310)와 같은 클라이언트(302)를 포함한다. 웹 서버(304 및 312), URL 필터(308), 및 멀티플라이어(310)는 하나이상의 컴퓨터에서 실행되는 독립적인 프로세스로서 구현되는 것이 선호된다. 플러그-인(306)은 ISAPI 필터로서 구현되는 것이 선호된다. 웹 서버(304)는 클라이언트(302)에 의해 액세스될 수 있는 하나이상의 컴포넌트(가령, 웹 페이지 등)를 호스트한다. 테스트 웹 서버(312)는 프로덕션 웹 서버(304)에 의해 호스트된 하나이상의 인포메이션 컴포넌트를 호스트한다.
도 4는 한 실시예에 따른 통신 시스템(300)에서 실행되는 프로세스(400)를 보여준다. 클라이언트(302)는 프로덕션 웹 서버(304)로 HTTP 요청 메시지를 전송한다(단계 402). 상기 HTTP 요청 메시지는 자동적으로 또는 사용자 액션에 응답하여 생성될 수 있다. 상기 HTTP 요청 메시지는 프로덕션 웹 서버(304)에 저장된 인포메 이션 컴포넌트의 식별자를 포함한다. 프로덕션 웹 서버(304)는 HTTP 요청 메시지를 수신한다. 상기 HTTP 요청 메시지에 대한 응답으로, 프로덕션 웹 서버(304)는 종래의 방법에 따라 HTTP 응답 메시지를 생성하고, 상기 HTTP 응답 메시지를 클라이언트(302)에 전송한다(단계 404).
선택적인 URL 필터(308)를 이용하는 실시예에 있어서, 플러그-인(306)은 상기 HTTP 요청 메시지의 카피를 URL 필터(308)에 전송한다(단계 406). 다른 실시예에서, 플러그-인(306)은 상기 HTTP 요청 메시지의 카피를 멀티플라이어(310)로 전송한다. URL 필터(308)는 사용자-선택가능한 필터 기준에 따라 상기 HTTP 요청 메시지를 멀티플라이어(310)로 전송해야할지를 결정한다(단계 412). 한 실시예에서, URL 필터(308)는 정규식을 각각의 HTTP 요청으로 인가하고, 상기 정규식과 매칭하는 상기 HTTP 요청만을 전달한다. 또 다른 실시예에서, URL 필터(308)는 상기 정규식과 매칭하지 않는 HTTP 요청만을 전달할 수 있다. 다른 실시예는 이러한 기준 및 다른 기준의 다양한 조합을 포함한다.
멀티플라이어(310)는 전송된 HTTP 요청 메시지를 수신하고(단계 408), 상기 HTTP 요청 메시지의 카피의 지정된 수 n을 생성하며, 이때 n은 1 이상이다. 멀티플라이어(310)는 상기 HTTP 요청 메시지의 카피를 테스트 웹 서버(312)로 전송한다(단계 410). 일부 실시예에서, 멀티플라이어(310)는 응답 분석 툴을 포함하고, 이때 상기 응답 분석 툴은 상기 멀티플라이어에서 생성된 곱해진 요청에 대한 응답으로 테스트 웹 서버(302)에 의해 되돌려진 응답을 분석하고(단계 412), 따라서 추가적인 테스트 데이터를 제공한다.
이러한 방식으로, 프로세스(400)는 테스트 웹 서버로의 특정 프로덕션 웹 서버 인포메이션 컴포넌트에 대하여 모든 사용자 요청을 확대하며, 따라서 상기 인포메이션 컴포넌트와 연계된 리키지(leakage)의 비율을 증가시키고, 생산 환경을 방해하지 않으면서 검출 및 진단하도록 상기 리크의 비율을 쉽고 빠르게 만든다. 게다가, 고객용 또는 오프-더-셸프 디버깅(off-the-shelf debugging) 툴은 생산 환경을 방해하지 않고서 상기 테스트 웹 서버에서 사용될 수 있다.
일부 실시예들은 웹 세션 매핑 특성을 포함한다. 클라이언트가 웹 서버에 연결될 때, 세션 쿠키를 이용하여 상기 클라이언트에 대한 세션의 상태를 추적하는 것이 일반적이다. 상기 세션 쿠키의 콘텐츠는 웹 서버에 의해 결정되며 상기 클라이언트에 전송되고, 이때 상기 클라이언트는 상기 웹 서버에 대한 후속 요청에 상기 세션 쿠키를 포함한다. 그러나, 요청이 프로덕션 웹 서버로부터 테스트 웹 서버로 전송될 때, 상기 세션 쿠키는 전송되지 않는데 그 이유는 상기 테스트 웹 서버가 상기 세션 쿠키를 이해하지 못할 것이기 때문이다. 대신, 상기 멀티플라이어는 개발 및 프로덕션 웹 서버에 의해 생성된 상응하는 세션 쿠키들 사이의 매핑을 유지하고, 적절한 세션 쿠키 대체(substitutions)를 실시한다. 세션이 먼저 설립될 때, 세션 쿠키는 없다. 이 경우, 멀티플라이어는 어떠한 세션 쿠키 매핑도 상기 세션에 대하여 설립되지 않았고, 따라서 세션 쿠키를 설정하기 위해 프로덕션 웹 서버를 기다린다. 세션 쿠키가 설립되면, 상기 멀티플라이어는 상기 요청을 상기 테스트 웹 서버로 전송하고, 상기 개발 서버에서 제공된 세션 쿠키를 상기 프로덕션 웹 서버에서 제공된 세션 쿠키에 매핑한다. 상기 멀티플라이어가 상기 세션 내에서 계속적인 요청을 수신할 때, 상기 멀티플라이어는 상기 요청을 상기 테스트 웹 서버로 전송하기 전에 상기 매핑에 따라서 상기 세션 쿠키를 대체한다.
도 5는 한 실시예에 따라서 멀티플라이어(310)에 의해 실행된 프로세스(500)를 보여준다. 멀티플라이어(310)는 상기 프로덕션 웹 서버(PWS)로 향하는 요청을 수신하고(단계 502), 상기 요청이 세션 쿠키를 포함하는지를 결정한다(단계 504).
만일 상기 요청이 세션 쿠키를 포함하지 않으면, 멀티플라이어(310)는 상기 요청의 하나이상의 카피(단계 506)를 생성하고 상기 카피를 상기 테스트 웹 서버(TWS)로 전송한다(단계 520). 멀티플라이어(310)가 상기 테스트 웹 서버로부터 상기 요청에 대한 응답을 수신할 때(단계 522), 상기 멀티플라이어(310)는 상기 응답을 분석함으로써 상기 테스트 웹 서버에서 제공되는 세션 쿠키를 획득하게 된다(단계 524). 멀티플라이어(310)는 또한 본래의 요청을 상기 프로덕션 웹 서버로 통과시킨다(단계 508). 멀티플라이어(310)가 프로덕션 웹 서버로부터 본래의 요청에 대한 응답을 수신할 때(단계 510), 상기 멀티플라이어는 상기 프로덕션 웹 서버에서 제공되는 세션 쿠키를 획득하도록 상기 응답을 분석한다(단계 512). 멀티플라이어(310)는 이후, 단계(512)에서 상기 프로덕션 웹 서버로부터 획득된 세션 쿠키와 단계(524)에서 상기 테스트 웹 서버로부터 획득된 세션 쿠키 사이의 쿠키 매핑을 기록한다(단계 514). 이후 프로세스(500)는 종료된다(단계 516).
그러나 만일 단계(504)에서 상기 요청이 세션 쿠키를 포함한다면, 멀티플라이어(310)는 상기 세션 쿠키가 매핑되었는지를 결정한다(단계 526).
만일 상기 요청이 세션 쿠키를 포함한다면, 그리고 상기 쿠키가 매핑되었다 면, 멀티플라이어(310)는 상기 요청의 카피를 생성하고(단계 544), 상기 카피 내의 프로덕션 웹 서버 세션 쿠키를 상기 맵으로부터의 상응하는 테스트 웹 서버 쿠키로 대체하며(단계 546), 그리고 변경된 카피를 상기 테스트 웹 서버로 전송한다(단계 548). 이후 프로세스(500)는 종료된다(단계 550).
그러나, 만일 단계(526)에서 상기 세션 쿠키가 상기 요청 내에 존재하지만 매핑되지 않았다면, 멀티플라이어(310)는 상기 프로덕션 웹 서버로부터 상기 요청의 카피를 생성하고(단계 528), 상기 카피를 상기 테스트 웹 서버로 전송한다(단계 538). 멀티플라이어(310)가 상기 테스트 웹 서버로부터 상기 요청에 대한 응답을 수신할 때(단계 540), 멀티플라이어(310)는 상기 테스트 웹 서버에 의해 제공된 세션 쿠키를 획득하도록 상기 응답을 분석한다(단계 542). 멀티플라이어(310)는 또한 상기 요청 내의 세션 쿠키를 획득하도록 본래의 요청을 분석하고(단계 530) 그리고 상기 본래의 요청을 상기 프로덕션 웹 서버(단계 532)로 통과시킨다. 멀티플라이어(310)는 이후, 단계(532)에서 상기 프로덕션 웹 서버로부터 획득된 세션 쿠키와 단계(542)에서 상기 테스트 웹 서버로부터 획득된 세션 쿠키 사이의 쿠키 매핑을 기록한다(단계 534). 이후 프로세스(500)는 종료된다(단계 536). 한 실시예에서, 멀티플라이어(310)는 단일 요청의 모든 카피 내에서 단일 테스트 웹 서버 세션 쿠키를 이용한다. 또 다른 실시예에서, 상기 멀티플라이어(310)는 단일 요청의 각 카피에서 서로 다른 테스트 웹 서버 세션 쿠키를 이용한다.
본 발명은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합에서 구현될 수 있다. 본 발명의 장치는 프로그래머블 프로세서에 의해 실행하도록 기계-판독형 저장 디바이스에서 구현된 컴퓨터 프로그램 프로덕트에서 구현될 수 있고, 본 발명의 방법은 입력 데이터 상에서 동작하고 출력을 생성함으로써 본 발명의 기능을 실행하도록 명령어들의 프로그램을 실행하는 프로그래머블 프로세서에 의해 실시될 수 있다. 본 발명은 데이터 및 명령어를 데이터 저장 시스템으로부터 수신하고 또한 데이터 및 명령어를 데이터 저장 시스템으로 전송하도록 결합된 적어도 하나의 프로그램머블 프로세서를 포함하는 프로그래머블 시스템에서 실행가능한 하나이상의 컴퓨터 프로그램에서 구현되는 것이 선호될 수 있다. 각각의 컴퓨터 프로그램은 하이-레벨 또는 객체 지향 프로그래밍 언어에서 구현될 수 있거나 원할 경우 어셈블리어 또는 기계어에서 구현될 수 있으며, 어떤 경우, 상기 언어는 컴파일 언어 또는 해석된 언어가 될 수 있다. 적절한 프로세서에는 실시예에서 범용 및 특정 마이크로프로세서가 포함된다. 일반적으로, 프로세서는 ROM 및/또는 RAM으로부터 명령어 및 데이터를 수신할 것이다. 일반적으로, 컴퓨터에는 데이터 파일을 저장하기 위한 하나이상의 매스(mass) 저장 디바이스가 포함될 것이며, 이러한 디바이스에는 내부 하드 디스크 및 제거가능한 디스크와 같은 마그네틱 디스크, 마그네토-광학 디스크, 및 광학 디스크가 포함된다. 컴퓨터 프로그램 명령어 및 데이터를 구현하는데 적합한 저장 디바이스에는 모든 형태의 비휘발성 메모리가 포함되면, 또한 실시예에서는 EPROM, EEPROM, 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스, 내부 하드 디스크 및 제거가능한 디스크와 같은 마그네틱 디스크, 마그네토-광학 디스크, 및 CD-ROM 디스크를 포함한다. 상기는 ASIC에 추가되거나 통합될 수 있다.

Claims (56)

  1. 한 방법에 있어서, 상기 방법은
    - 클라이언트로부터 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 제 1 웹 서버에서 수신하는 단계로서, 이때, 상기 제 1 HTTP 요청 메시지는 제 1 웹 서버에 저장된 인포메이션 컴포넌트(information component)의 식별자를 포함하며, 상기 인포메이션 컴포넌트는 웹페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 동영상, 또는 그외 다른 전자 문서나 콘텐트를 포함하며, 상기 제 1 웹 서버는 이 요청에 대해 상기 인포메이션 컴포넌트를 포함하는 응답을 발생시키고 이 응답을 클라이언트에게 전달하는 것을 특징으로 하는 단계,
    - 상기 인포메이션 컴포넌트에 대하여 하나이상의 제 2 HTTP 요청 메시지를 생성하는 단계로서, 이때 각각의 제 2 HTTP 요청 메시지는 상기 인포메이션 컴포넌트의 식별자를 포함하는 것을 특징으로 하는 단계, 그리고
    - 상기 제 2 HTTP 요청 메시지를 제 2 웹 서버로 전송하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 이때 상기 인포메이션 컴포넌트의 식별자는 URL(Universal Resource Locator)을 포함하고, 상기 방법은
    - 매칭되는 0이나 그 이상의 구체화된 정규식에 기초하여 요청들을 곱할 리소스로 상기 URL이 식별되는 경우에만 상기 생성하는 단계 및 전송하는 단계를 수행하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 이때 상기 제 1 HTTP 요청 메시지는 HTTP 메소드(method)를 포함하고, 상기 방법은
    - 상기 HTTP 메소드가 상기 제 1 웹 서버의 상태를 변화시키는 것을 의도할 때만 상기 생성하는 단계 및 전송하는 단계를 수행하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 상기 방법은
    - 상기 제 2 웹 서버에 대한 상기 제 2 HTTP 요청 메시지들의 환경 변화의 결과를 분석하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서, 상기 방법은
    - 상기 각각의 제 2 HTTP 요청 메시지에 따라 상기 제 2 웹 서버로부터 HTTP 응답 메시지를 수신하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 이때 상기 제 1 HTTP 요청 메시지는 상기 제 1 웹 서버에서 제공되는 제 1 세션 쿠키를 포함하고, 상기 방법은
    - 상기 제 2 HTTP 요청 메시지를 상기 제 2 웹 서버로 전송하기 전에, 상기 제 1 세션 쿠키를 상기 각각의 제 2 HTTP 요청 메시지 내의 제 2 세션 쿠키로 대체하는 단계로서, 이때 상기 제 2 세션 쿠키는 상기 제 2 웹 서버에 의해 제공되고 상기 제 1 세션 쿠키와 연계되는 것을 특징으로 하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서, 상기 방법은
    - 상기 제 1 HTTP 요청 메시지에 따라 상기 제 1 웹 서버로부터 제 1 HTTP 응답 메시지를 수신하는 단계,
    - 상기 제 1 웹 서버에 의해 제공된 제 1 HTTP 응답 메시지로부터 제 1 세션 쿠키를 분석하는 단계,
    - 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 제 2 웹 서버로부터 제 2 HTTP 응답 메시지를 수신하는 단계,
    - 상기 제 2 웹 서버에 의해 제공된 제 2 HTTP 응답 메시지로부터 제 2 세션 쿠키를 분석하는 단계, 그리고
    - 상기 제 1 및 제 2 세션 쿠키를 연계시키는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서, 상기 방법은
    - 상기 클라이언트로부터 제 3 HTTP 요청 메시지를 수신하는 단계로서, 이때 상기 제 3 HTTP 요청 메시지는 상기 제 1 세션 쿠키와, 상기 제 1 웹 서버에 저장된 동일한 또는 다른 인포메이션 컴포넌트의 식별자를 포함하며,
    - 하나이상의 제 4 HTTP 요청 메시지를 생성하는 단계로서, 이때 상기 제 4 HTTP 요청 메시지 각각은 추가적인 인포메이션 컴포넌트의 식별자 및 제 2 세션 쿠키를 포함하는 것을 특징으로 하는 단계, 그리고
    - 상기 제 4 HTTP 요청 메시지를 상기 제 2 웹 서버에 전송하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서, 상기 방법은
    - 상기 제 1 웹 서버에 의해 제공된 제 1 HTTP 요청 메시지로부터 제 1 세션 쿠키를 분석하는 단계,
    - 상기 제 2 HTTP 요청 메시지의 각각에 따라 상기 제 2 웹 서버로부터 HTTP 응답 메시지를 수신하는 단계,
    - 상기 제 2 웹 서버에 의해 제공된 HTTP 응답 메시지로부터 제 2 세션 쿠키를 분석하는 단계, 그리고
    - 상기 제 1 및 제 2 세션 쿠키를 연계시키는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  10. 한 방법에 있어서, 상기 방법은
    - 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 웹 서버에서 수신하는 단계로서, 이때 상기 제 1 HTTP 요청 메시지는 상기 웹 서버에 저장된 인포메이션 컴포넌트의 식별자를 포함하고, 상기 인포메이션 컴포넌트는 웹페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 동영상, 또는 그외 다른 전자 문서나 콘텐트를 포함하는 것을 특징으로 하는 단계,
    - 상기 인포메이션 컴포넌트에 대하여 하나이상의 제 2 HTTP 요청 메시지를 생성하는 단계로서, 이때 상기 제 2 HTTP 요청 메시지 각각은 상기 인포메이션 컴포넌트의 식별자를 포함하는 것을 특징으로 하는 단계, 그리고
    - 상기 제 2 HTTP 요청 메시지를 상기 웹 서버로 전송하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서, 이때 상기 인포메이션 컴포넌트의 식별자는 URL을 포함하고, 상기 방법은
    - 매칭되는 0이나 그 이상의 구체화된 정규식에 기초하여 요청들을 곱할 리소스로 상기 URL이 식별되는 경우에만 상기 생성하는 단계 및 전송하는 단계를 수행하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  12. 제 10 항에 있어서, 이때 상기 제 1 HTTP 요청 메시지는 HTTP 메소드(method)를 포함하고, 상기 방법은
    - 상기 HTTP 메소드가 상기 웹 서버의 상태 변화를 의도하는 경우에만 상기 생성하는 단계 및 전송하는 단계를 실시하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  13. 제 10 항에 있어서, 상기 방법은
    - 상기 웹 서버에 대한 상기 제 2 HTTP 요청 메시지의 환경 변화의 결과를 분석하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  14. 제 13 항에 있어서, 상기 방법은
    - 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 웹 서버로부터 HTTP 응답 메시지를 수신하는 단계
    를 추가로 포함하는 것을 특징으로 하는 방법.
  15. 컴퓨터로 하여금 수행하게될 방법을 실행가능한 명령어로 저장한 컴퓨터 판독형 기록 매체에 있어서, 상기 방법은,
    - 클라이언트로부터 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 제 1 웹 서버에서 수신하는 단계로서, 이때, 상기 제 1 HTTP 요청 메시지는 제 1 웹 서버에 저장된 인포메이션 컴포넌트(information component)의 식별자를 포함하며, 상기 인포메이션 컴포넌트는 웹페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 동영상, 또는 그외 다른 전자 문서나 콘텐트를 포함하며, 상기 제 1 웹 서버는 이 요청에 대해 상기 인포메이션 컴포넌트를 포함하는 응답을 발생시키고 이 응답을 클라이언트에게 전달하는 것을 특징으로 하는 단계,
    - 상기 인포메이션 컴포넌트에 대하여 하나이상의 제 2 HTTP 요청 메시지를 생성하는 단계로서, 이때 각각의 제 2 HTTP 요청 메시지는 상기 인포메이션 컴포넌트의 식별자를 포함하는 것을 특징으로 하는 단계, 그리고
    - 상기 제 2 HTTP 요청 메시지를 제 2 웹 서버로 전송하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  16. 제 15 항에 있어서, 이때 상기 인포메이션 컴포넌트의 식별자는 URL(Universal Resource Locator)을 포함하고, 상기 방법은
    - 매칭되는 0이나 그 이상의 구체화된 정규식에 기초하여 요청들을 곱할 리소스로 상기 URL이 식별되는 경우에만 상기 생성하는 단계 및 전송하는 단계를 수행하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  17. 제 15 항에 있어서, 이때 상기 제 1 HTTP 요청 메시지는 HTTP 메소드(method)를 포함하고, 상기 방법은
    - 상기 HTTP 메소드가 상기 제 1 웹 서버의 상태를 변화시키는 것을 의도할 때만 상기 생성하는 단계 및 전송하는 단계를 수행하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  18. 제 15 항에 있어서, 상기 방법은
    - 상기 제 2 웹 서버에 대한 상기 제 2 HTTP 요청 메시지들의 환경 변화의 결과를 분석하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  19. 제 18 항에 있어서, 상기 방법은
    - 상기 각각의 제 2 HTTP 요청 메시지에 따라 상기 제 2 웹 서버로부터 HTTP 응답 메시지를 수신하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  20. 제 15 항에 있어서, 이때 상기 제 1 HTTP 요청 메시지는 상기 제 1 웹 서버에서 제공되는 제 1 세션 쿠키를 포함하고, 상기 방법은
    - 상기 제 2 HTTP 요청 메시지를 상기 제 2 웹 서버로 전송하기 전에, 상기 제 1 세션 쿠키를 상기 각각의 제 2 HTTP 요청 메시지 내의 제 2 세션 쿠키로 대체하는 단계로서, 이때 상기 제 2 세션 쿠키는 상기 제 2 웹 서버에 의해 제공되고 상기 제 1 세션 쿠키와 연계되는 것을 특징으로 하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  21. 제 15 항에 있어서, 상기 방법은
    - 상기 제 1 HTTP 요청 메시지에 따라 상기 제 1 웹 서버로부터 제 1 HTTP 응답 메시지를 수신하는 단계,
    - 상기 제 1 웹 서버에 의해 제공된 제 1 HTTP 응답 메시지로부터 제 1 세션 쿠키를 분석하는 단계,
    - 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 제 2 웹 서버로부터 제 2 HTTP 응답 메시지를 수신하는 단계,
    - 상기 제 2 웹 서버에 의해 제공된 제 2 HTTP 응답 메시지로부터 제 2 세션 쿠키를 분석하는 단계, 그리고
    - 상기 제 1 및 제 2 세션 쿠키를 연계시키는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  22. 제 21 항에 있어서, 상기 방법은
    - 상기 클라이언트로부터 제 3 HTTP 요청 메시지를 수신하는 단계로서, 이때 상기 제 3 HTTP 요청 메시지는 상기 제 1 세션 쿠키와, 상기 제 1 웹 서버에 저장된 동일한 또는 다른 인포메이션 컴포넌트의 식별자를 포함하며,
    - 하나이상의 제 4 HTTP 요청 메시지를 생성하는 단계로서, 이때 상기 제 4 HTTP 요청 메시지 각각은 추가적인 인포메이션 컴포넌트의 식별자 및 제 2 세션 쿠키를 포함하는 것을 특징으로 하는 단계, 그리고
    - 상기 제 4 HTTP 요청 메시지를 상기 제 2 웹 서버에 전송하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  23. 제 15 항에 있어서, 상기 방법은
    - 상기 제 1 웹 서버에 의해 제공된 제 1 HTTP 요청 메시지로부터 제 1 세션 쿠키를 분석하는 단계,
    - 상기 제 2 HTTP 요청 메시지의 각각에 따라 상기 제 2 웹 서버로부터 HTTP 응답 메시지를 수신하는 단계,
    - 상기 제 2 웹 서버에 의해 제공된 HTTP 응답 메시지로부터 제 2 세션 쿠키를 분석하는 단계, 그리고
    - 상기 제 1 및 제 2 세션 쿠키를 연계시키는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  24. 컴퓨터로 하여금 수행하게될 방법을 실행가능한 명령어로 저장한 컴퓨터 판독형 기록 매체에 있어서, 상기 방법은,
    - 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 웹 서버에서 수신하는 단계로서, 이때 상기 제 1 HTTP 요청 메시지는 상기 웹 서버에 저장된 인포메이션 컴포넌트의 식별자를 포함하고, 상기 인포메이션 컴포넌트는 웹페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 동영상, 또는 그외 다른 전자 문서나 콘텐트를 포함하는 것을 특징으로 하는 단계,
    - 상기 인포메이션 컴포넌트에 대하여 하나이상의 제 2 HTTP 요청 메시지를 생성하는 단계로서, 이때 상기 제 2 HTTP 요청 메시지 각각은 상기 인포메이션 컴포넌트의 식별자를 포함하는 것을 특징으로 하는 단계, 그리고
    - 상기 제 2 HTTP 요청 메시지를 상기 웹 서버로 전송하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  25. 제 24 항에 있어서, 이때 상기 인포메이션 컴포넌트의 식별자는 URL을 포함하고, 상기 방법은
    - 매칭되는 0이나 그 이상의 구체화된 정규식에 기초하여 요청들을 곱할 리소스로 상기 URL이 식별되는 경우에만 상기 생성하는 단계 및 전송하는 단계를 수행하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  26. 제 24 항에 있어서, 이때 상기 제 1 HTTP 요청 메시지는 HTTP 메소드(method)를 포함하고, 상기 방법은
    - 상기 HTTP 메소드가 상기 웹 서버의 상태 변화를 의도하는 경우에만 상기 생성하는 단계 및 전송하는 단계를 실시하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  27. 제 24 항에 있어서, 상기 방법은
    - 상기 웹 서버에 대한 상기 제 2 HTTP 요청 메시지의 환경 변화의 결과를 분석하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  28. 제 27 항에 있어서, 상기 방법은
    - 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 웹 서버로부터 HTTP 응답 메시지를 수신하는 단계
    를 추가로 포함하는 것을 특징으로 하는 컴퓨터 판독형 기록 매체.
  29. 한 장치에 있어서, 상기 장치는
    - 클라이언트로부터 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 수신하는 제 1 웹 서버로서, 이때 상기 제 1 HTTP 요청 메시지는 상기 제 1 웹 서버에 저장된 인포메이션 컴포넌트의 식별자를 포함하고, 상기 인포메이션 컴포넌트는 웹페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 동영상, 또는 그외 다른 전자 문서나 콘텐트를 포함하며, 상기 제 1 웹 서버는 이 요청에 대해 상기 인포메이션 컴포넌트를 포함하는 응답을 발생시키고 이 응답을 클라이언트에게 전달하는 것을 특징으로 하는 상기 제 1 웹 서버,
    - 상기 인포메이션 컴포넌트에 대하여 하나이상의 제 2 HTTP 요청 메시지를 생성하는 멀티플라이어로서, 이때 상기 제 2 HTTP 요청 메시지 각각은 상기 인포메이션 컴포넌트의 식별자를 포함하고, 그리고 상기 제 2 HTTP 요청 메시지를 제 2 웹 서버로 전송하는 것을 특징으로 하는 상기 멀티플라이어
    를 포함하는 것을 특징으로 하는 장치.
  30. 제 29 항에 있어서, 이때 상기 인포메이션 컴포넌트의 식별자는 URL을 포함하고, 이때 상기 멀티플라이어는 매칭되는 0이나 그 이상의 구체화된 정규식에 기초하여 요청들을 곱할 리소스로 상기 URL이 식별되는 경우에만 제 2 HTTP 요청 메시지들을 생성 및 전송하는 것을 특징으로 하는 장치.
  31. 제 29 항에 있어서, 이때 제 1 HTTP 요청 메시지는 HTTP 메소드를 포함하고, 이때 상기 멀티플라이어는 상기 HTTP 메소드가 제 1 웹 서버의 상태 변화를 의도하는 경우에만 제 2 HTTP 요청 메시지들을 생성 및 전송하는 것을 특징으로 하는 장치.
  32. 제 29 항에 있어서, 이때 상기 멀티플라이어는 상기 제 2 웹 서버에 대한 제 2 HTTP 요청 메시지들의 환경 변화의 결과를 분석하는 것을 특징으로 하는 장치.
  33. 제 32 항에 있어서, 이때 상기 멀티플라이어는 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 제 2 웹 서버로부터 HTTP 응답 메시지를 수신하는 것을 특징으로 하는 장치.
  34. 제 29 항에 있어서, 이때 상기 제 1 HTTP 요청 메시지는 상기 제 1 웹 서버에 의해 제공된 제 1 세션 쿠키를 포함하고, 그리고 상기 멀티플라이어는 상기 제 2 HTTP 요청 메시지를 상기 제 2 웹 서버로 전송하기 전에 상기 제 1 세션 쿠키를 상기 각각의 제 2 HTTP 요청 메시지 내의 제 2 세션 쿠키로 대체하고, 상기 제 2 세션 쿠키는 상기 제 2 웹 서버에 의해 제공되며 상기 제 1 세션 쿠키와 연계되는 것을 특징으로 하는 장치.
  35. 제 29 항에 있어서, 이때 상기 멀티플라이어는
    - 상기 제 1 HTTP 요청 메시지에 따라 상기 제 1 웹 서버로부터 제 1 HTTP 응답 메시지를 수신하고,
    - 상기 제 1 웹 서버에 의해 제공된 제 1 HTTP 응답 메시지로부터 제 1 세션 쿠키를 분석하며,
    - 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 제 2 웹 서버로부터 제 2 HTTP 응답 메시지를 수신하고,
    - 상기 제 2 웹 서버에 의해 제공된 제 2 HTTP 응답 메시지로부터 제 2 세션 쿠키를 분석하며, 그리고
    - 상기 제 1 및 제 2 세션 쿠키를 연계시키는
    것을 특징으로 하는 장치.
  36. 제 35 항에 있어서, 이때 상기 멀티플라이어는
    - 상기 클라이언트로부터 제 3 HTTP 요청 메시지를 수신하고, 이때 상기 제 3 HTTP 요청 메시지는 제 1 세션 쿠키와, 상기 제 1 웹 서버에 저장된 동일한 또는 다른 인포메이션 컴포넌트의 식별자를 포함하며,
    - 하나이상의 제 4 HTTP 요청 메시지를 생성하고, 이때 상기 제 4 HTTP 요청 메시지 각각은 추가적인 인포메이션 컴포넌트의 식별자 및 제 2 세션 쿠키를 포함하며, 그리고
    - 상기 제 4 HTTP 요청 메시지를 상기 제 2 웹 서버에 전송하는
    기능들을 구현하는 것을 특징으로 하는 장치.
  37. 제 29 항에 있어서, 이때 상기 멀티플라이어는
    - 상기 제 1 웹 서버에 의해 제공된 제 1 HTTP 요청 메시지로부터 제 1 세션 쿠키를 분석하고,
    - 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 제 2 웹 서버로부터 HTTP 응답 메시지를 수신하며,
    - 상기 제 2 웹 서버에 의해 제공된 HTTP 응답 메시지로부터 제 2 세션 쿠키를 분석하고, 그리고
    - 상기 제 1 및 제 2 세션 쿠키를 연계시키는
    기능들을 구현하는 것을 특징으로 하는 장치.
  38. 한 장치에 있어서, 상기 장치는
    - 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 수신하기 위한 웹 서버로서, 이때 상기 제 1 HTTP 요청 메시지는 상기 웹 서버에 저장된 인포메이션 컴포넌트의 식별자를 포함하고, 상기 인포메이션 컴포넌트는 웹페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 동영상, 또는 그외 다른 전자 문서나 콘텐트를 포함하는 것을 특징으로 하는 상기 웹 서버,
    - 상기 인포메이션 컴포넌트에 대하여 하나이상의 제 2 HTTP 요청 메시지를 생성하기 위한 멀티플라이어로서, 이때 상기 제 2 HTTP 요청 메시지 각각은 상기 인포메이션 컴포넌트의 식별자를 포함하며, 그리고 상기 제 2 HTTP 요청 메시지를 상기 웹 서버로 전송하는 상기 멀티플라이어
    를 포함하는 것을 특징으로 하는 장치.
  39. 제 38 항에 있어서, 이때 상기 인포메이션 컴포넌트의 식별자는 URL을 포함하고, 이때 상기 멀티플라이어는 매칭되는 0이나 그 이상의 구체화된 정규식에 기초하여 요청들을 곱할 리소스로 상기 URL이 식별되는 경우에만 제 2 HTTP 요청 메시지들을 생성 및 전송하는 것을 특징으로 하는 장치.
  40. 제 38 항에 있어서, 이때 제 1 HTTP 요청 메시지는 HTTP 메소드를 포함하고, 이때 상기 멀티플라이어는 상기 HTTP 메소드가 상기 웹 서버의 상태 변화를 의도하는 경우에만 제 2 HTTP 요청 메시지들을 생성 및 전송하는 것을 특징으로 하는 장치.
  41. 제 38 항에 있어서, 이때 상기 멀티플라이어는 상기 웹 서버에 대한 제 2 HTTP 요청 메시지들의 환경 변화의 결과를 분석하는 것을 특징으로 하는 장치.
  42. 제 41 항에 있어서, 이때 상기 멀티플라이어는 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 웹 서버로부터 HTTP 응답 메시지를 수신하는 것을 특징으로 하는 장치.
  43. 한 장치에 있어서, 상기 장치는
    - 클라이언트로부터 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 수신하는 제 1 웹 서버 수단으로서, 이때 상기 제 1 HTTP 요청 메시지는 상기 제 1 웹 서버 수단에 저장된 인포메이션 컴포넌트의 식별자를 포함하고, 상기 인포메이션 컴포넌트는 웹페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 동영상, 또는 그외 다른 전자 문서나 콘텐트를 포함하며, 상기 제 1 웹 서버 수단은 이 요청에 대해 상기 인포메이션 컴포넌트를 포함하는 응답을 발생시키고 이 응답을 클라이언트에게 전달하는 것을 특징으로 하는 상기 제 1 웹 서버 수단,
    - 상기 인포메이션 컴포넌트에 대하여 하나이상의 제 2 HTTP 요청 메시지를 생성하는 멀티플라이어 수단으로서, 이때 상기 제 2 HTTP 요청 메시지 각각은 상기 인포메이션 컴포넌트의 식별자를 포함하고, 그리고 상기 제 2 HTTP 요청 메시지를 제 2 웹 서버로 전송하는 것을 특징으로 하는 상기 멀티플라이어 수단
    을 포함하는 것을 특징으로 하는 장치.
  44. 제 43 항에 있어서, 이때 상기 인포메이션 컴포넌트의 식별자는 URL을 포함하고, 이때 상기 멀티플라이어 수단은 매칭되는 0이나 그 이상의 구체화된 정규식에 기초하여 요청들을 곱할 리소스로 상기 URL이 식별되는 경우에만 제 2 HTTP 요청 메시지들을 생성 및 전송하는 것을 특징으로 하는 장치.
  45. 제 43 항에 있어서, 이때 제 1 HTTP 요청 메시지는 HTTP 메소드를 포함하고, 이때 상기 멀티플라이어 수단은 상기 HTTP 메소드가 제 1 웹 서버 수단의 상태 변화를 의도하는 경우에만 제 2 HTTP 요청 메시지들을 생성 및 전송하는 것을 특징으로 하는 장치.
  46. 제 43 항에 있어서, 이때 상기 멀티플라이어 수단은 상기 제 2 웹 서버에 대한 제 2 HTTP 요청 메시지들의 환경 변화의 결과를 분석하는 것을 특징으로 하는 장치.
  47. 제 46 항에 있어서, 이때 상기 멀티플라이어 수단은 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 제 2 웹 서버로부터 HTTP 응답 메시지를 수신하는 것을 특징으로 하는 장치.
  48. 제 43 항에 있어서, 이때 상기 제 1 HTTP 요청 메시지는 상기 제 1 웹 서버 수단에 의해 제공된 제 1 세션 쿠키를 포함하고, 그리고 상기 멀티플라이어 수단은 상기 제 2 HTTP 요청 메시지를 상기 제 2 웹 서버로 전송하기 전에 상기 제 1 세션 쿠키를 상기 각각의 제 2 HTTP 요청 메시지 내의 제 2 세션 쿠키로 대체하고, 상기 제 2 세션 쿠키는 상기 제 2 웹 서버에 의해 제공되며 상기 제 1 세션 쿠키와 연계되는 것을 특징으로 하는 장치.
  49. 제 43 항에 있어서, 이때 상기 멀티플라이어 수단은
    - 상기 제 1 HTTP 요청 메시지에 따라 상기 제 1 웹 서버 수단으로부터 제 1 HTTP 응답 메시지를 수신하고,
    - 상기 제 1 웹 서버 수단에 의해 제공된 제 1 HTTP 응답 메시지로부터 제 1 세션 쿠키를 분석하며,
    - 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 제 2 웹 서버로부터 제 2 HTTP 응답 메시지를 수신하고,
    - 상기 제 2 웹 서버에 의해 제공된 제 2 HTTP 응답 메시지로부터 제 2 세션 쿠키를 분석하며, 그리고
    - 상기 제 1 및 제 2 세션 쿠키를 연계시키는
    것을 특징으로 하는 장치.
  50. 제 49 항에 있어서, 이때 상기 멀티플라이어 수단은
    - 상기 클라이언트로부터 제 3 HTTP 요청 메시지를 수신하고, 이때 상기 제 3 HTTP 요청 메시지는 제 1 세션 쿠키와, 상기 제 1 웹 서버 수단에 저장된 동일한 또는 다른 인포메이션 컴포넌트의 식별자를 포함하며,
    - 하나이상의 제 4 HTTP 요청 메시지를 생성하고, 이때 상기 제 4 HTTP 요청 메시지 각각은 추가적인 인포메이션 컴포넌트의 식별자 및 제 2 세션 쿠키를 포함하며, 그리고
    - 상기 제 4 HTTP 요청 메시지를 상기 제 2 웹 서버에 전송하는
    기능들을 구현하는 것을 특징으로 하는 장치.
  51. 제 43 항에 있어서, 이때 상기 멀티플라이어 수단은
    - 상기 제 1 웹 서버 수단에 의해 제공된 제 1 HTTP 요청 메시지로부터 제 1 세션 쿠키를 분석하고,
    - 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 제 2 웹 서버로부터 HTTP 응답 메시지를 수신하며,
    - 상기 제 2 웹 서버에 의해 제공된 HTTP 응답 메시지로부터 제 2 세션 쿠키를 분석하고, 그리고
    - 상기 제 1 및 제 2 세션 쿠키를 연계시키는
    기능들을 구현하는 것을 특징으로 하는 장치.
  52. 한 장치에 있어서, 상기 장치는
    - 제 1 하이퍼-텍스트 전송 프로토콜(HTTP) 요청 메시지를 수신하기 위한 웹 서버 수단으로서, 이때 상기 제 1 HTTP 요청 메시지는 상기 웹 서버 수단에 저장된 인포메이션 컴포넌트의 식별자를 포함하고, 상기 인포메이션 컴포넌트는 웹페이지, 워드 프로세싱 문서, 스프레드시트, 이미지, 동영상, 또는 그외 다른 전자 문서나 콘텐트를 포함하는 것을 특징으로 하는 상기 웹 서버 수단,
    - 상기 인포메이션 컴포넌트에 대하여 하나이상의 제 2 HTTP 요청 메시지를 생성하기 위한 멀티플라이어 수단으로서, 이때 상기 제 2 HTTP 요청 메시지 각각은 상기 인포메이션 컴포넌트의 식별자를 포함하며, 그리고 상기 제 2 HTTP 요청 메시지를 상기 웹 서버 수단으로 전송하는 상기 멀티플라이어 수단
    을 포함하는 것을 특징으로 하는 장치.
  53. 제 52 항에 있어서, 이때 상기 인포메이션 컴포넌트의 식별자는 URL을 포함하고, 이때 상기 멀티플라이어 수단은 매칭되는 0이나 그 이상의 구체화된 정규식에 기초하여 요청들을 곱할 리소스로 상기 URL이 식별되는 경우에만 제 2 HTTP 요청 메시지들을 생성 및 전송하는 것을 특징으로 하는 장치.
  54. 제 52 항에 있어서, 이때 제 1 HTTP 요청 메시지는 HTTP 메소드를 포함하고, 이때 상기 멀티플라이어 수단은 상기 HTTP 메소드가 상기 웹 서버 수단의 상태 변화를 의도하는 경우에만 제 2 HTTP 요청 메시지들을 생성 및 전송하는 것을 특징으로 하는 장치.
  55. 제 52 항에 있어서, 이때 상기 멀티플라이어 수단은 상기 웹 서버 수단에 대한 제 2 HTTP 요청 메시지들의 환경 변화의 결과를 분석하는 것을 특징으로 하는 장치.
  56. 제 55 항에 있어서, 이때 상기 멀티플라이어 수단은 상기 제 2 HTTP 요청 메시지 각각에 따라 상기 웹 서버 수단으로부터 HTTP 응답 메시지를 수신하는 것을 특징으로 하는 장치.
KR1020057009596A 2002-11-27 2003-11-25 웹 서버 히트 멀티플라이어 및 리다이렉터 KR100854137B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42982602P 2002-11-27 2002-11-27
US60/429,826 2002-11-27
US10/414,813 2003-04-16
US10/414,813 US7203720B2 (en) 2002-11-27 2003-04-16 Web server hit multiplier and redirector

Publications (2)

Publication Number Publication Date
KR20050097915A KR20050097915A (ko) 2005-10-10
KR100854137B1 true KR100854137B1 (ko) 2008-08-26

Family

ID=32329043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057009596A KR100854137B1 (ko) 2002-11-27 2003-11-25 웹 서버 히트 멀티플라이어 및 리다이렉터

Country Status (7)

Country Link
US (2) US7203720B2 (ko)
EP (1) EP1576487B1 (ko)
JP (1) JP2006508478A (ko)
KR (1) KR100854137B1 (ko)
AU (1) AU2003295991A1 (ko)
CA (1) CA2540916A1 (ko)
WO (1) WO2004051496A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015102446A1 (ko) * 2014-01-06 2015-07-09 고려대학교 산학협력단 왕복 시간 변화를 이용하여 익명 네트워크를 통한 우회 접속을 탐지하는 방법

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484348B2 (en) * 2004-03-05 2013-07-09 Rockstar Consortium Us Lp Method and apparatus for facilitating fulfillment of web-service requests on a communication network
EP2341431A1 (en) 2004-03-13 2011-07-06 Adaptive Computing Enterprises, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
EP2362310B1 (en) 2005-03-16 2017-10-04 III Holdings 12, LLC Automatic workload transfer to an on-demand center
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US9015324B2 (en) 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
EP1872249B1 (en) 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US8782120B2 (en) * 2005-04-07 2014-07-15 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
US8745485B2 (en) * 2005-08-18 2014-06-03 Oracle International Corporation Extensible remote tag markup system and method
US20070150568A1 (en) * 2005-12-28 2007-06-28 Jon Ruiz Non-destructive synthetic transaction configuration
WO2007088785A1 (ja) * 2006-01-31 2007-08-09 Hewlett-Packard Development Company, L.P. 個人情報の漏洩阻止装置・方法
US7880139B2 (en) * 2007-05-31 2011-02-01 Georgia Tech Research Corporation Method and apparatus of uniform gas-phase molecular matrix deposition for imaging mass spectrometry
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8055767B1 (en) * 2008-07-15 2011-11-08 Zscaler, Inc. Proxy communication string data
TW201006175A (en) * 2008-07-31 2010-02-01 Ibm Method, apparatus, and computer program product for testing a network system
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8402119B2 (en) * 2010-09-30 2013-03-19 Microsoft Corporation Real-load tuning of database applications
US8711844B2 (en) * 2011-01-10 2014-04-29 Vtech Telecommunications Limited Peer-to-peer, internet protocol telephone system with proxy interface for configuration data
JP2014115898A (ja) * 2012-12-11 2014-06-26 Exa Corp Webデータ検証支援装置及びwebデータ検証支援プログラム
JP5411381B1 (ja) * 2013-06-03 2014-02-12 株式会社 ディー・エヌ・エー サーバ検査システム、サーバ検査装置およびサーバ検査プログラム
US9565271B1 (en) * 2014-10-10 2017-02-07 Go Daddy Operating Company, LLC Methods for website version control using bucket cookies
US20190340653A1 (en) * 2018-05-02 2019-11-07 Capital One Services, Llc Method and System for Personalization of Advertisement Content
CN110427393B (zh) * 2019-07-24 2021-09-17 武汉天喻软件股份有限公司 一种对客户端访问请求进行调度的方法和系统
US11354217B2 (en) * 2020-01-28 2022-06-07 Ebay Inc. Modified database traffic mirroring through a distributed data service

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157940A (en) * 1997-11-21 2000-12-05 International Business Machines Corporation Automated client-based web server stress tool simulating simultaneous multiple user server accesses
US20020002602A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for serving a web site from multiple servers

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278647A (en) * 1992-08-05 1994-01-11 At&T Bell Laboratories Video decoder using adaptive macroblock leak signals
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5689707A (en) * 1995-12-04 1997-11-18 Ncr Corporation Method and apparatus for detecting memory leaks using expiration events and dependent pointers to indicate when a memory allocation should be de-allocated
US6081829A (en) * 1996-01-31 2000-06-27 Silicon Graphics, Inc. General purpose web annotations without modifying browser
US5764883A (en) * 1996-03-28 1998-06-09 Hewlett-Packard Co. System and method for checking for dynamic resource misuse in a computer program
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5842019A (en) * 1996-09-13 1998-11-24 Parasoft Corporation Method and system for dynamically detecting leaked memory space in a computer program
US6237009B1 (en) * 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
AU9176698A (en) * 1997-09-25 1999-04-12 British Telecommunications Public Limited Company Memory allocation
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
JP3493309B2 (ja) * 1997-10-31 2004-02-03 富士通株式会社 マルチキャスト送信方法
US6205491B1 (en) * 1997-12-18 2001-03-20 Sun Microsystems, Inc. Method and apparatus for deferred throwing of exceptions in C++
US6324492B1 (en) * 1998-01-20 2001-11-27 Microsoft Corporation Server stress testing using multiple concurrent client simulation
US6237114B1 (en) * 1998-05-13 2001-05-22 Sun Microsystems, Inc. System and method for evaluating monitored computer systems
US6389460B1 (en) * 1998-05-13 2002-05-14 Compaq Computer Corporation Method and apparatus for efficient storage and retrieval of objects in and from an object storage device
GB9818872D0 (en) * 1998-08-28 1998-10-21 Green Cathedral Limited Computer network information use monitoring
US6718390B1 (en) * 1999-01-05 2004-04-06 Cisco Technology, Inc. Selectively forced redirection of network traffic
US6502133B1 (en) * 1999-03-25 2002-12-31 Lucent Technologies Inc. Real-time event processing system with analysis engine using recovery information
US6499052B1 (en) 1999-08-11 2002-12-24 Yahoo! Inc. Electronic commerce system for referencing remote commerce sites at a local commerce site
US6934934B1 (en) * 1999-08-30 2005-08-23 Empirix Inc. Method and system for software object testing
US6564174B1 (en) * 1999-09-29 2003-05-13 Bmc Software, Inc. Enterprise management system and method which indicates chaotic behavior in system resource usage for more accurate modeling and prediction
US6606643B1 (en) * 2000-01-04 2003-08-12 International Business Machines Corporation Method of automatically selecting a mirror server for web-based client-host interaction
US6775824B1 (en) * 2000-01-12 2004-08-10 Empirix Inc. Method and system for software object testing
US6754701B1 (en) * 2000-05-05 2004-06-22 Mercury Interactive Corporation Use of a single thread to support multiple network connections for server load testing
US6658653B1 (en) * 2000-06-08 2003-12-02 International Business Machines Corporation Debugging methods for heap misuse
JP2002007232A (ja) * 2000-06-21 2002-01-11 Cybird Co Ltd Wwwサーバーの性能試験方法およびサーバー試験装置
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
US7370015B2 (en) * 2000-10-12 2008-05-06 Sap Portals Israel Ltd. User impersonation by a proxy server
US20020078191A1 (en) * 2000-12-20 2002-06-20 Todd Lorenz User tracking in a Web session spanning multiple Web resources without need to modify user-side hardware or software or to store cookies at user-side hardware
US6983328B2 (en) * 2001-05-18 2006-01-03 Hewlett-Packard Development Company, L.P. Trusted internet clipboard
US6961759B2 (en) * 2001-09-24 2005-11-01 International Business Machines Corporation Method and system for remotely managing persistent state data
US20030061378A1 (en) 2001-09-26 2003-03-27 Mazzitelli John Joseph Automatic request forwarding method and system
US6792393B1 (en) * 2001-12-03 2004-09-14 At&T Corp. System and method for diagnosing computer system operational behavior
US20030158816A1 (en) 2002-01-09 2003-08-21 Emediapartners, Inc. Internet-based content billing and protection system
US20040088349A1 (en) * 2002-10-30 2004-05-06 Andre Beck Method and apparatus for providing anonymity to end-users in web transactions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157940A (en) * 1997-11-21 2000-12-05 International Business Machines Corporation Automated client-based web server stress tool simulating simultaneous multiple user server accesses
US20020002602A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for serving a web site from multiple servers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015102446A1 (ko) * 2014-01-06 2015-07-09 고려대학교 산학협력단 왕복 시간 변화를 이용하여 익명 네트워크를 통한 우회 접속을 탐지하는 방법

Also Published As

Publication number Publication date
EP1576487A1 (en) 2005-09-21
CA2540916A1 (en) 2004-06-17
JP2006508478A (ja) 2006-03-09
US20070198688A1 (en) 2007-08-23
EP1576487B1 (en) 2016-01-06
AU2003295991A1 (en) 2004-06-23
US7203720B2 (en) 2007-04-10
US7844692B2 (en) 2010-11-30
WO2004051496A1 (en) 2004-06-17
US20040103078A1 (en) 2004-05-27
KR20050097915A (ko) 2005-10-10
EP1576487A4 (en) 2008-04-09

Similar Documents

Publication Publication Date Title
KR100854137B1 (ko) 웹 서버 히트 멀티플라이어 및 리다이렉터
CN109688202B (zh) 一种接口数据的处理方法、装置、计算设备及存储介质
US10204035B1 (en) Systems, methods and devices for AI-driven automatic test generation
US10489283B2 (en) Software defect reporting
US10146663B2 (en) Modeling and testing interactions between components of a software system
US9129058B2 (en) Application monitoring through continuous record and replay
US9075914B2 (en) Analytics driven development
US8886944B2 (en) Watermark to identify leak source
US7877681B2 (en) Automatic context management for web applications with client side code execution
CN111221743A (zh) 自动化测试方法及系统
US8214903B2 (en) Analysis of scripts
US7945849B2 (en) Identifying appropriate client-side script references
JP2010128877A (ja) ウェブシステムおよび処理記録収集方法
GB2511329A (en) Web service black box testing
JP6015849B2 (ja) ログ出力制御装置、方法及びプログラム
Schlepphorst et al. Digital forensic approaches for cloud service models: A survey
US9304891B1 (en) Load-test generator
CN113114794A (zh) 一种基于二次代理处理域名的方法及设备
CN112181845A (zh) 一种接口测试方法及装置
CN100507893C (zh) 用第二Web服务器分析第一Web服务器资源泄漏的方法和设备
JP7488976B1 (ja) セキュリティテストシステム
CN115037794B (zh) 一种数据采集方法、装置、计算机设备及可读存储介质
CN111679980A (zh) 后台数据模拟方法及装置
CN116501617A (zh) 安全测试方法、装置、计算机可读存储介质及电子设备
CN113765735A (zh) 应用测试方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120802

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130801

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150717

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 12