KR19980063407A - 고-가용성 컴퓨터 서버 시스템 - Google Patents
고-가용성 컴퓨터 서버 시스템 Download PDFInfo
- Publication number
- KR19980063407A KR19980063407A KR1019970038517A KR19970038517A KR19980063407A KR 19980063407 A KR19980063407 A KR 19980063407A KR 1019970038517 A KR1019970038517 A KR 1019970038517A KR 19970038517 A KR19970038517 A KR 19970038517A KR 19980063407 A KR19980063407 A KR 19980063407A
- Authority
- KR
- South Korea
- Prior art keywords
- server
- messaging
- request
- server system
- queuing unit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
본 발명은 네트워크를 통해 서버 시스템에 접속된 다수의 컴퓨터 클라이언트 장치로부터 수신되는, 상기 서버 시스템을 특별히 식별하는 그런 다수의 요구에 서브할 수 있는 있는 고-가용성 컴퓨터 서버 시스템에 관한 것으로서, 상기 서버 시스템은, 상기 서버 시스템을 식별하는 상기 요구가 수신되는, 상기 네트워크에 접속된 한 입력과, 한 출력을 가진 메시징-큐잉 유니트 및 상기 메시징-큐잉 유니트의 상기 출력에 병렬로 접속된 다수의 서버 유니트를 포함한다.
Description
본 발명은 컴퓨터 네트워킹 분야에 관한 것으로서, 특히 다수의 클라이언트 컴퓨터 장치에 동일한 정보를 제공할 수 있는 고-가용성(high-availability) 서버 컴퓨터 장치 분야에 관한 것이다.
컴퓨터가 일상 생활에 점점 널리 보급되면서, 컴퓨터 사용자 사이에 정보를 분배하는데 있어, 연결된 컴퓨터의 네트워크가 중요하게 되었다. 이와 같은 네트워크를 통해, 컴퓨터 사용자는 프린트 매체에 대한 생존력있는 대안이 되는 가상 출판 매체(virtual publishing medium)를 생성하는 정보를 공유할 수 있다.
컴퓨터의 네트워크는 서로 정보를 교환할 수 있는 소정 수의 컴퓨터로 구성된다. 컴퓨터는 그들 컴퓨터가 정보를 교환할 수 있도록 (예를 들어, 전화 라인이나 다른 통신 시스템에 의해) 함께 접속하기 위한 소정의 방법이 존재하는 한 어떠한 구성으로도 배열될 수 있으며, 동일한 장소나 또는 다른 나라에 위치될 수도 있다. 컴퓨터가 네트워크를 형성하도록 함께 접속될 수도 있기 때문에, 네트워크도 또한 브릿지(bridges) 및 게이트웨이로서 알려진 툴(tools)을 이용하여 함께 접속될 수도 있다. 이들 툴은 한 네트워크내의 컴퓨터가 다른 네트워크내의 컴퓨터와 정보를 교환할 수 있도록 한다. 인터넷은 단일의 소유자 또는 관리인을 갖지 않고 대형 및 소형, 공중 및 사설 네트워크를 포함하는 네트워크들의 네트워크이며, 인터넷 프로토콜 소프트웨어를 실행하는 어떠한 접속된 컴퓨터도 보안 제어를 받아, 역시 인터넷에 접속되어 있는 어떤 다른 컴퓨터와 정보를 교환할 수 있도록 되어 있다. 이와 같은 서로 접속하도록 승인된 네트워크들의 복합적인 집합은 단일의 전송 매체에 의존하지 않는다(예를 들어, 위성링크, 광섬유 트렁크 라인, 전화 라인, 케이블 TV 회선 및 로컬 무선 링크를 통해 양방향 통신이 이루어질 수 있다).
월드 와이드 웹(World Wide Web)(WWW)은 막대한 양의 네트워크-억세스가능 정보에 대한 억세스를 제공하고 인터넷에 의해 접속된 컴퓨터 사이에 저비용의 통신을 제공할 수 있는 광역 정보 검색 설비이다. 월드 와이드 웹에 관한 정보는 앤드류 포드의 Spinning the Web(International Thomson Publishing, 영국 런던, 1995), 및 죤 디셈버와 네일 랜달의 The World Wide Web Unleashed(SAMS Publishing, 미국 인디애나폴리스, 1994)에서 찾아볼 수 있다. WWW의 이용은 대화식 멀티미디어 프리젠테이션 능력과 결합하여 그 적응성(flexibility), 휴대성(portability) 및 사용의 편의성(ease-of-use)의 결합으로 인해 폭발적인 비율로 증가하고 있다. WWW는 적절한 소프트웨어 및 하드웨어 구성을 갖고 있는, 인터넷에 접속된 컴퓨터가 인터넷상의 어느 곳에서도 이용가능하도록 되어 있는 어떠한 문서(document)도 검색할 수 있도록 한다. WWW상의 검색가능한 문서는 하이퍼미디어(Hyperemia) 문서, 즉 텍스트 문서나 또는 음향이나 영상과 같은 다른 형태의 미디어가 될 수도 있으며 다른 문서에 대한 링크(하이퍼링크)를 갖고 있는 문서를 포함한다. WWW상의 텍스트 문서의 포맷은 한 운영체제 및 하드웨어 플랫폼 상에서 작성된 문서가 웹 브라우저(후술됨)를 가진 다른 플랫폼상의 사용자에 의해 판독될 수 있도록 하는 HTML(HyperText Markup Language)의 표준 포맷이다. 영상(Images)은 사용자로 하여금 HTML 텍스트 뿐만 아니라 특정 영상 파일도 검색하게 하도록, 예를 들어 표준 GIF나 또는 JPEG 포맷으로 별도의 그래픽 파일에 저장되어 HTML 텍스트에서 참조될 수도 있다.
사용자는 인터넷을 통해 웹 서버로부터 문서를 서브하거나 검색하기 위한 기능을 갖고 있는, 사용자의 컴퓨터상에 설치된 소프트웨어인 웹 브라우저 또는 웹 클라이언트를 이용하여 이 정보를 억세스한다. 현재 이용가능한 웹 브라우저로는 IBM사의 웹엑스플로어러(WebExplorer) 및 NCSA의 모자이크(Mosaic)가 있다. WebExplorer와 Mosaic는 모두 각 회사의 상표이다. 이와 같은 브라우저는 디렉토리 및 검색 툴(search tools)을 포함하고 있으며, HTML 및 다른 WWW 표준 포맷을 인식하고, 이들 포맷으로 파일을 정확하게 디스플레이 또는 출력할 수 있다. 이들 웹 브라우저의 사용자 인터페이스는 그래픽 포인트-클릭(point-and-click) 인터페이스이다(즉, 그래픽 디스플레이를 통해 커서를 이동하고 마우스 버튼을 누름으로써 항목(items)이 선택될 수 있다). WWW는 특정 URL(Universal Resource Locator)을 각각 갖고 있는 페이지 또는 파일로서 구성된다. URL은 서버 머신 및 그 머신상의 특정 파일 또는 페이지를 나타낸다. 사용자는 특정 URL을 지정하거나 또는 하이퍼링크를 이용하여 한 URL로부터 관련된 URL로 점프할 수 있다. 즉, 한 페이지상의 워드 또는 심볼은 예를들어, 브라우저로 하여금 연관된 페이지를 검색하고 디스플레이 하도록 하기 위해 관련 위치에서 마우스를 클릭하므로써 선택될 수 있는 다른 URL과 연관될 수 있다. 단일 서버상에는 많은 페이지가 내재하고 있으며, 연관된 하이퍼링크된 페이지가 서로 다른 서버에 위치될 수도 있다. 만일 URL이 http:를 개시하면, 이것은 파일이 하이퍼링크를 포함한다는 것을 나타낸다. http:는 하이퍼텍스트 트랜스포트 프로토콜(hypertext transport protocol)을 나타내며, 메시지가 월드 와이드 웹을 통해 전송되어 함께 하이퍼링크되도록 하는 기본 통신 프로토콜이다.
사용자가 그 웹 브라우저를 이용하여 웹 서버 시스템상의 페이지에 대한 URL을 선택하면, 원-샷(one-shot) 요구가 그 페이지에 특정한 동작을 수행하는 관련 서버로 전송된다. 많은 경우에 서버는 저장된 페이지의 데이터베이스로부터 요구된 페이지를 검색하고, HTML 페이지를 사용자에게 디스플레이하기 위해 인터넷을 통해 WWW 클라이언트로 전송하므로써 그 요구에 응답한다. 이것은 단일 엔드-투-엔드(end-to-end) 동기 통신 세션의 범위내에서 수행된다. 즉, 브라우저는 그 요구를 전송한 다음, 어떤 다른 처리나 또는 다른 요구의 개시를 속행하기 전에 응답을 대기한다. 브라우저는 그것이 요구된 응답을 대기하는 동안 정지(blocked) 되거나 중단(suspended) 된 것으로 말한다. 몇몇 경우에, 브라우저의 요구는 서버로 하여금 HTML을 발생하기 위해 애플리케이션을 개시하도록 하지만, 브라우저로부터의 원-샷 요구는 현재의 동기 통신 세션의 범위내에서 응답을 필요로하게 되는데, 그 이유는 브라우저가 동시 통신 세션을 제공하지 않으며, 요구사이에 유지되는 애플리케이션 상태 정보가 없기 때문이다. 브라우저에 의해 요구된 페이지에 대한 억세스 실패는 사용자 단말상에 디스플레이 되는 에러 메시지를 이용하여 사용자에게 신호될 수 있지만, 만일 서버가 단지 응답을 늦게하는 경우에는 브라우저는 무한정한 기간동안 중단 상태로 남아있게 된다. 실제적으로, 사용자는 그 지연이 수용 불가능한 경우에 통신 시도를 포기할 수도 있다. 웹 브라우저내에는 요구를 자동적으로 재시도하는 기능이 없다.
현대의 기업들은 그 기업내의 다른 부서와의 통신이나, 고객이나 공급자와 같은 관련 기업과의 통신을 위한 설비를 필요로 한다. WWW 인터넷 서비스는 회사간 통신을 위한 효과적인 비용의 통신 매체를 제공하는 이와 같은 요구조건에 부분적인 답변를 제공할 수 있지만, WWW 서비스의 원-샷 요구-응답 통신 모델 및 브라우저로부터의 병렬 요구를 위한 설비의 부족으로 인해 요구된 정보가 수용가능한 시간 주기내에서 이용가능하지 않은 경우에 심각한 한계상황이 나타날 수 있다. 종종 송신측 시스템이 무한정하게 중단되는 것은 수용불가능하며, 비즈니스에 매우 중요한 애플리케이션(applications)의 성공이 서버 애플리케이션이 적시에 요구에 응답하는지의 여부에 의존한다는 것은 수용 불가능하다. WWW 인터넷 서비스는 비즈니스에 매우 중요한 많은 애플리케이션의 요구조건인, 메시지의 확실한 배달을 위한 기능을 제공하지 않는다(즉, 애플리케이션은 그것이 전송한 메시지가 목적지로 가는 도중에 손실되지 않는지 또는 메시지가 오직 한번에 전송되는지 알 필요가 있다). 또한, 비즈니스 애플리케이션은 많은 쌍의 요구-응답을 처리하는 대화(conversation)을 수반할 수도 있으며, 웹 브라우저 요구 사이에서 이월되는 콘텍스트 정보의 부족은 동일한 비즈니스 애플리케이션의 일부가 되는 요구를 함께 관련시키기 위한 기능이 없다는 것을 의미한다.
종종, 다수의 WWW 브라우저에 동일한 정보를 거의 동시에 제공할 수 있는 단일 WWW 서버를 제공하는 것이 요구된다. 예를들어, IBM은 미국의 조지아주, 애틀랜타의 올림픽 게임을 위한 설비를 최근에 제공했다. 이러한 노력의 일부로서, 고-가용성 서버가 요구되었는데, 그 이유는 전세계의 많은 사람들이 동시에 각각의 올림픽 경기의 결과와 같은 정보를 얻기 위해 웹 서버에 대한 억세스를 시도하였기 때문이다. 전세계로부터의 각각의 웹 브라우저가 IBM 올림픽 웹 서버의 URL을 원하는 요구를 발생했다. 따라서, 이 서버는 웹 브라우저 요구에 관한 매우 많은 수요를 충족시킬수 있어야 했다.
이들 경우에, 다수의 서버 컴퓨팅 장치 앞에 로드 밸런서(load balancer)가 배치되어 있는, 한가지 가능한 고-가용성 서버 아키텍춰가 알려져 있다.(IBM이 소유한 일본국 특허 제2505116호 참조). 각각의 서버 컴퓨팅 장치는 다수의 다른 서버 컴퓨팅 장치와 동일한 정보를 공급할 수 있다. 이러한 방식으로 많은 양의 클라이언트 브라우저 요구에 서브할 수 있는 능력을 제공하기 위해 많은 서버 장치가 사용된다. 로드 밸런서는 그 서버 장치가 얼마나 비지(busy)한 상태에 있는지 판단하기 위해 각각의 서버 장치의 상태를 주기적으로 검사하고, 데이터 레코드를 적절하게 갱신한다. 다음에, 로드 밸런서는 데이터 레코드에 기록된 바와 같은 각각의 서버 장치의 상태에 근거하여, 어느 서버 장치가 그 다음에 인입되는 브라우저 요구에 서브해야 하는지에 관한 판단을 한다. 각각의 브라우저는 URL에서 지정된 서버로 총칭(generic) 요구를 전송하며, 그 서버가 그 요구를 어떻게 처리하고 있는지에 대해서는 알지 못한다. 많은 수의 브라우저에는 단순히 빠르고 효율적인 방식으로 요구된 정보가 제공된다.
그러나, 이와 같은 형태의 공지된 고-가용성 서버에 있어서는, 로드 밸런서가 단지 주기적인 방식으로 각 서버장치의 상태를 검사한다. 따라서 종종 로드 밸런서가 검사를 행한 시점에서는 특정 서버가 비지상태가 아닌 것으로 판단되었을지라도, 상태 검사시점 사이의 나중에는 매우 비지한 상태가 될 수도 있다는 결점이 있다. 이와 같은 경우에, 특정 서버 장치에 너무 많은 작업이 할당될 수 있으며, 그러므로 각각의 브라우저는 요구된 정보를 수신하기까지 장시간 동안 대기해야 한다.
또한, 전술한 공지된 아키텍취에 있어서, 브라우저 요구는 로드 밸런서에 의해 한 번에 하나씩 수신되며, 그 요구가 수신되는 순서대로 서버 장치로 할당된다. 그러나, 이것은 텍스트만을 요구하는 브라우저가 이전에 수신된 그래픽스 요구가 서브되고 있는 동안 장시간 대기해야 하기 때문에 불리하다(그래픽스가 텍스트보다 훨씬 많은 정보를 포함하기 때문에 그래픽스 요구가 텍스트 보다 훨씬 많은 데이터 전송을 수반한다). 또한, 만일 한 브라우저 사용자가 다른 사용자에 앞서 억세스를 획득하는 것이 특히 중요한 것인 경우에, 종래의 아키텍춰에서는 이것을 제공하는 메카니즘이 없었다. 각각의 요구는 그 차례를 대기해야 한다.
또한, 모든 이용가능한 서버 장치가 극히 비지한 상태인 수요가 극히 많은 특정 주기가 있다면, 브라우저는 그 요구가 서브되기 까지 장시간을 대기 해야 한다.
다른 브라우저 요구에 대한 초기 접속이 이루어지기 전에 각각의 수신된 브라우저 요구가 서브되고 응답이 그 브라우저로 전송되어야 하기 때문에, 이러한 아키텍춰의 성능은 더욱 손상을 받는다.
본 발명은 종래의 아키텍춰에서의 이러한 한계를 고려하여 개발되었다.
본 발명의 한 관점에 따르면, 본 발명은, 네트워크를 통해 서버 시스템에 접속된 다수의 컴퓨터 클라이언트 장치로부터 수신되는, 상기 서버 시스템을 특별히 식별하는 그런 다수의 요구에 서브할 수 있는 있는 고-가용성 컴퓨터 서버 시스템을 제공하는데, 상기 서버 시스템은, 상기 서버 시스템을 식별하는 상기 요구가 수신되는, 상기 네트워크에 접속된 하나의 입력과, 하나의 출력을 가진 메시징-큐잉 유니트 및 상기 메시징-큐잉 유니트의 상기 출력에 병렬로 접속된 다수의 서버 유니트를 포함한다.
메시징-큐잉 유니트를 이용하므로써, 본 발명은, 유니트로부터 요구를 수신하는 서버가 오버로드되는 것을 방지하는데, 그 이유는 서버가 이와 같은 요구를 요청하지 않고, 로드 밸런서가 요구를 서버로 푸시(push)하는데 반하여 서버가 (유니트내의) 큐로부터 요구를 풀(pull) 하기 때문이다. 그러므로, 서버 시스템, 즉 전체 클라이언트/서버 시스템은, 특히 서버 시스템이 대량의 요구를 거의 동시에 수신하는 상황에서 클라이언트 요구에 서브하기 위해 훨씬 효과적으로 작업을 수행한다.
본 발명의 양호한 실시예에 따르면, 상기 메시징-큐잉 유니트는 수신된 요구에 우선순위를 할당하기 위한 수단을 포함한다. 상기 우선순위를 할당하기 위한 수단은 그래픽스 요구에 비해 텍스트 요구에 보다 높은 우선순위를 할당한다.
또한 바람직하게도, 상기 메시징-큐잉 유니트는, 상기 메시징-큐잉 유니트에 의해 수신된 서브되지 않은 요구의 수효가 임계치를 초과할 때, 추가적인 서버 유니트를 트리거하기 위한 수단을 포함한다.
또한, 상기 메시징-큐잉 유니트는, 상기 웹 서버 유니트가 요구에 서브할 준비가 되어 있다는 것을 상기 웹 서버 유니트가 상기 메시징-큐잉 유니트에 통지하는 것에 응답하여 상기 다수의 서버 유니트중 한 서버 유니트에 요구를 전송하기 위한 수단을 포함한다.
또한, 본 발명은 바람직하게도, 상기 네트워크가 월드 와이드 웹이고, 상기 서버 시스템은 웹 서버 시스템이고, 상기 클라이언트 장치는 웹 브라우저인 그런 시스템을 제공한다.
본 발명의 다른 관점에 따르면, 본 발명은, 컴퓨터 네트워크를 통해 다수의 클라이언트 컴퓨터 장치로부터 수신되는, 특정 서버 시스템을 각각 특별히 식별하는 그런 요구에 서브하는 방법을 제공하는데, 상기 방법은, 상기 특정 서버 시스템에서, 상기 수신된 요구를 메시징-큐잉 유니트에 저장하는 단계; 및 상기 메시징-큐잉 유니트로부터의 요구를 다수의 병렬-접속된 서버 유니트로 전송하는 단계를 포함한다.
바람직하게도, 상기 방법은 상기 메시징-큐잉 유니트가 수신된 요구에 우선순위를 할당하는 단계를 포함한다. 또한, 상기 메시징-큐잉 유니트는 그래픽스 요구에 비해 텍스트 요구에 보다 높은 우선순위를 할당한다.
또한 바람직하게도, 상기 방법은 상기 메시징-큐잉 유니트가, 상기 메시징-큐잉 유니트에 의해 수신된 서브되지 않은 요구의 수효가 임계치를 초과할 때, 추가적인 서버를 트리거하는 단계를 포함한다.
또한, 상기 방법은, 상기 메시징-큐잉 유니트가, 상기 서버가 요구에 서브할 준비가 되어 있다는 것을 상기 서버가 상기 메시징-큐잉 유니트에 통지하는 것에 응답하여 상기 다수의 서버중 한 서버에 요구를 전송하는 단계를 포함한다.
또한, 본 발명은 바람직하게도, 상기 네트워크가 월드 와이드 웹이고, 상기 서버 시스템은 웹 서버 시스템이고, 상기 클라이언트 장치는 웹 브라우저인 그런 방법을 제공한다.
본 발명의 다른 관점에 따르면, 본 발명은, 네트워크를 통해 서버 시스템에 접속된 다수의 컴퓨터 클라이언트 장치로부터 수신되는, 상기 서버 시스템을 특별히 식별하는 그런 다수의 요구에 서브할 수 있는 있는 고-가용성 컴퓨터 서버 시스템을 구비한 클라이언트/서버 컴퓨터 시스템을 제공하는데, 상기 서버 시스템은, 상기 서버 시스템을 식별하는 상기 요구가 수신되는, 상기 네트워크에 접속된 한 입력과, 한 출력을 가진 메시징-큐잉 유니트; 및 상기 메시징-큐잉 유니트의 상기 출력에 병렬로 접속된 다수의 서버 유니트를 포함한다.
도1은 본 발명의 양호한 실시예에 따른 서버 시스템을 포함하는 네트워크 시스템 아키텍춰를 도시하는 블록도.
*도면의 주요 부분에 대한 부호의 설명
1a - 1n: 클라이언트 웹 브라우저 2:인터넷
3a - 3c: 웹 서버 31:메시징-큐잉 유니트
32a - 32n:웹 서버
도1에 도시된 바와 같이, 본 발명의 양호한 실시예에 적합한 시스템 아키텍춰는 인터넷(2)에 접속된 다수의 클라이언트 웹 브라우저(1a-1n)을 포함한다. 인터넷(2)에는 다수의 웹 서버(3a,3b,3c)도 접속되어 있다. 각각의 클라이언트 웹 브라우저(1a-1n)는 전술한 바와 같이, 인터넷(2)을 통해, 요구되는 웹 서버를 특별히 식별하는 요구를 전송하므로써 웹 서버(3a-3c)에 저장된 정보를 억세스할 수 있다.
도1에는 웹 서버(3b)가 보다 상세하게 도시되어 있으며, 이 서버는 본 발명의 양호한 실시예에 따른 서버 아키텍춰를 예시하는 것이다. 이 서버는(3b)는 다른 2개의 통상적인 가용성의 서버(3a,3c) 보다 더 많은 요구를 서브할 수 있는 고-가용성 서버이다. 예를들어, 서버(3b)는 인기있는 국제 스포츠 경기에 대한 스포츠 득점기록을 제공하며, 따라서 거의 동시에 전세계의 브라우저에 의해 억세스된다. 그러므로, 서버(3b)는 많은 양의 거의 동시적인 요구를 처리할 수 있어야 한다.
도시된 바와 같이, 서버(3b)는 메시징-큐잉 유니트(messaging and queuing unit)(31)와 다수의 통상적인 가용성의 웹 서버(32a-32n)로 분할되어 있다. 이들 웹 서버(32a-32n)는 예를들어 다른 서버(3a,3c)와 동일한 것일 수 있다. 메시징-큐잉 유니트(31)는 서버(32a-32n)중 한 서버나 또는 서버 아키텍춰(3b)내에 포함된 별도의 서버 머신상에서 실행될 수 있는 소프트웨어 제품이다. 메시징-큐잉 유니트(31)의 상세내용은 이 기술분야에서 잘 알려져 있지만, 이제부터 본 발명의 개시된 실시예에 관한 그 기능을 설명하기 위해 이와 같은 유니트의 간단한 배경 설명이 이루어지게 된다.
(WWW 환경에서 통상적으로 사용되는 바와같은) 동기방식(synchronous)의 시간에 의존적인 요구 및 대기 응답 모델에 대한 대안의 통신 모델에는 이 기술분야에서 메시징-큐잉으로서 알려진 비동기 메시징이 있다. 수신측 프로그램으로 메시지를 전송하는 프로그램은 수신측으로부터 응답을 대기하기 위해 정지상태로 될 필요가 없으며, 따라서 계속해서 실행되고, 송신측과 수신측은 서로에 대해 동기화(순차화)되지 않는다. 비동기 방식의 프로그램간 메시징은 통상적으로 중간 기억 설비로서 메세지 큐를 이용하는데, 이 메시지 큐에는 메시지가 제1 프로그램으로부터 전송될 때 그 메시지가 배치되며, 이 메시지 큐로부터 준비가 되어 있을 때 수신측 프로그램에 의해 그 메시지가 검색될 수 있다. 프로그램 사이의 전용 논리 접속은 없다. 메시지를 큐에 배치한 후에, 송신측 프로그램은 네트워크내의 다른 프로그램으로 메시지를 전송하는 것을 포함하는 다른 태스크를 계속해서 실행할 수 있다. 이 기술에는, 이종(heterogeneous) 네트워크를 통한 프로그램간(inter-program) 통신을 지원하고 (특정 운영체제 환경을 위해 각각 기록되는) 애플리케이션 프로그램이 네트워크를 복잡하게 하거나 메시지 큐를 유지하고 배치하는 작업을 수행하는 것을 방지하는 비동기 메시징 시스템을 제공하는 것이 알려져 있다. 이와 같은 메시징 시스템은 그 다양한 비지니스 애플리케이션 프로그램 사이의 효과적인 인터오퍼레이션(interoperation)을 실현할 필요가 있으며, 그 데이터 처리 자원이 이질성(disparete)의 운영체제 및 하드웨어 환경의 범위를 포함하고 있는 많은 상업적인 기업에게 중요한 시스템이다.
메시지 큐잉 및 상업적으로 이용가능한 메시지 큐잉 제품은 McGraw-Hill에 의해 1994년에 발간된 비. 블레이클리, 에이치. 해리스 및 알. 루이스의 Messaging and Queuing Using the MQI와, IBM사로 부터 이용가능한 다음의 공보, 즉 An Introduction to Messaging and Queuing (IBM 문서번호 GC33-0805-00) 및 MQSeries - Message Queue Interface Technical Reference (IBM 문서번호 SC33-0850-01)에 기재되어 있다. IBM사의 MQSeries 메시징 소프트웨어 제품은, 시스템 또는 통신 장애의 경우 조차도 확실한 단 한번의 메시지 배달을 제공하는 메시징 프로토콜에 따라 논리적인 작업 단위내에서 메시지를 동기화시키는 트랜잭션 메시징 지원을 제공한다. MQSeries 제품은 정교한 복원 설비(sophisticated recovery facilities)를 이용하여, 메시지가 수신측 시스템에 의해 안전하게 저장된 것으로 확인될 때까지 송신측 시스템상의 기억장치로부터 메시지를 최종적으로 삭제하지 않으므로써 확실한 배달을 제공한다. 성공적인 저장의 확인시 메시지 전송의 완료 이전에는, 송신측 시스템에서 기억장치로부터 메시지를 삭제하는 것과 수신측 시스템에서 기억장치로 삽입하는 것 모두가 유지되는 것이 의심스러우며, 장애가 있는 경우에 자동적으로 철회(back out)될 수 있다. 이러한 메시지 전송 프로토콜과 관련 트랜잭션 개념 및 복원 설비에 대해서는 국제 특허원 WO 95/10805 및 미합중국 특허 제5,465,328호에 기재되어 있으며, 이들 특허는 본 명세서에 참조로써 병합되어있다.
서버(3b)를 지정하는 URL을 가진 요구(메시지)가 인터넷을 통해 클라이언트 웹 브라이우저(1a-1n)로부터 수신되면, 서버(3b)의 메시징-큐잉 유니트(31)는 그 요구를 수신하여 큐에 저장한다. 웹 서버(32a-32n)는 큐로부터 요구를 수신할 준비가 되어 있을 때 메시징-큐잉 유니트(31)에 통지한다. 즉 서버(32a)가 이전의 요구에 대한 서빙을 완료하고, 현재 유휴(idle) 상태로 되어 있으면, 그 서버(32a)는 서브할 다른 요구를 요청하는 메시지를 메시징-큐잉 유니트(31)로 전송한다. 이것은 서버(32a-32n)에도 동일하게 적용된다. 이것은 서버(32a-32n)가 준비가 되어 있을 때 큐로부터 요구를 풀(pull)하기 때문에 풀(pull) 모델로서 알려져 있다. 이것은 소정의 작업을 요청할 때 까지는 수행해야할 어떠한 작업도 주어지지 않기 때문에 서버를 오버로드하지 않는다는 장점을 갖고 있다. 그러므로, 서버(32a-32n)가 훨씬 더 효과적이고 효율적으로 작동할 수 있다.
메시징-큐잉 유니트(31)에 의해 수신될 때 각각의 HTTP 요구에는 고유의 상관 식별자(correlation identifier)가 할당된다. 다음에, 수신된 요구는 유니트(31)상의 요구 큐에 배치된다. 다음에, 유니트(31)는 요구를 수신할 준비가 되었다는 것을 표시한 서버(32a-32n)가 할당된 상관 식별자를 가진 응답을 유니트(31)로 반송할 때까지 (블로킹 MQGET 호출을 중단하므로써) 대기한다. 이 응답은 유니트(31)내의 HTTP 응답 큐에 저장되며, 요구를 개시한 브라우저(1a-1n)로 반송된다.
웹 서버(32a-32n)는 (다른 서버(32a,32c)가 수행하는 바와 같이) HTTP 요구에 대해 그 통상적인 포트(대부분의 서버에서 포트80)를 모니터하는 대신에, 유니트(31)의 요구 큐를 모니터하기에 적합하게 되어 있다. 이와 달리, 유니트(31)의 요구 큐를 모니터하고 서버의 포트(80)에 요구를 제공하기 위해 각각의 서버(32a-32n)를 따라 브릿지 프로그램이 실행될 수도 있다. 이러한 후자의 구성에 있어서, 서버의 응답은 브릿지 프로그램에 의해 수신되어, 유니트(31)의 HTTP 응답 큐로 부가될 메시지로 변환되게 된다.
인터넷과 다수의 병렬-접속된 서버 사이에 메시징-큐잉 유니트를 이용하므로써, 메시징-큐잉 유니트(31)에 저장된 메시지는 잘 알려진 메시징-큐잉 기술을 이용하여 우선순위가 정해질 수 있다. 예를들어, 만일 한 클라이언트 웹 브라우저(1a)가 텍스트 정보(예, 스포츠 득점기록)를 요구하고, 다른 클라이언트 웹 브라우저(1b)가 그래픽 데이터(스포츠 경기장의 칼라 화상)를 요구하는 경우에, 텍스트 정보를 먼저 서브할 수 있는 것이 유용한데, 그 이유는 그래픽 정보가 훨씬 데이터-집중적이기 때문에 서브하는데 더 많은 시간이 걸리기 때문이다. 그러므로 브라우저(1a)는 간단한 텍스트 요구를 신속하게 서브받게 된다. 브라우저(1b)는 그래픽 요구를 위해서는 보다 오랫동안 대기한다는 것을 예상하게 되며, 그러므로 텍스트 요구를 먼저 서브하는 것이 매우 유익하다. 유니트(31)의 큐에 저장된 2개의 HTTP 요구는 그 URL의 확장부(extensions)를 조사하므로써 검사된다. 만일 확장부가 텍스트(HTML)와 관련되어 있으면, 이 HTTP 요구는 (그래픽 영상 데이터를 의미하는) 확장부 GIF를 가진 요구에 앞서 이동된다.
또한 큐잉된 메시지가 임계치를 초과하는 경우에 추가적인 서버(32a-32n)를 활성상태로 만들기 위해(wake up) 메시징-큐잉 유니트(31)의 잘 알려진 트리거링 특성이 이용될 수 있다. 즉, 모든 서버(32a-32n)를 활성상태로 만드는 것이 바람직하지 않은 이용이 적은 시기가 존재할 수도 있다. 또한 서버 셋트(32a-32n)중 보다 많은 서버가 활성상태로 되어야 하는 이용이 많은 시기가 있다. 그러므로, 메시징-큐잉 유니트(31)는 큐잉된 요구의 수를 주기적으로 검사하고, 만일 그것이 임계치보다 큰 경우에, 그 이용이 많은 시기 동안에 추가적인 서버가 턴온 되도록 트리거될 수 있다.
또한, 메시징-큐잉 유니트(31)는 각각의 요구에 대한 인터넷 접속을 수용하고, 수신된 HTTP 요구를 큐에 배치하기 때문에, 다른 접속을 즉시 수용하므로써 그 다음 요구에 신속하게 서비스할 수 있다. 종래의 아키텍춰에서는, 인터넷으로부터 그 다음 요구를 수신하도록 다른 접속이 수용될 수 있게 되기 전에, 한 수신된 요구가 서버에 의해 서버되고 응답이 개방된 접속을 통해 반송 될 때까지 대기할 필요가 있었다.
따라서, 본 발명의 양호한 실시예에 따르면, 웹서버의 성능 및 가용성이 크게 향상될 수 있다. 비록 본 발명의 실시예가 네트워크로서 월드 와이드 웹에 관해 설명되었지만, 본 발명의 범위내에서 접속된 컴퓨터 장치의 많은 다른 네트워크가 존재한다.
전술한 바와 같은 본 발명에 따른 서버 시스템에 있어서는, 웹 서버의 성능 및 가용성이 크게 향상될 수 있는 효과가 있다.
Claims (13)
- 네트워크(2)를 통해 서버 시스템에 접속된 다수의 컴퓨터 클라이언트 장치(1a, 1b,..., 1n)로부터 수신되는, 상기 서버 시스템을 각각 특별히 식별하는 그런 다수의 요구에 서브할 수 있는 있는 고-가용성 컴퓨터 서버 시스템(3b)에 있어서,상기 서버 시스템을 식별하는 상기 요구가 수신되는, 상기 네트워크(2)에 접속된 하나의 입력과, 하나의 출력을 가진 메시징-큐잉 유니트(31); 및상기 메시징-큐잉 유니트(31)의 상기 출력에 병렬로 접속된 다수의 서버 유니트(32a, 32b,..., 32n)를 포함해서 이루어진 고-가용성 컴퓨터 서버 시스템.
- 제1항에 있어서,상기 메시징-큐잉 유니트는 수신된 요구에 우선순위를 할당하기 위한 수단을 포함하는 고-가용성 컴퓨터 서버 시스템.
- 제2항에 있어서,상기 우선순위를 할당하기 위한 수단은 그래픽스 요구에 비해 텍스트 요구에 보다 높은 우선순위를 할당하도록 되어 있는 고-가용성 컴퓨터 서버 시스템.
- 제1항 내지 제3항중 어느 한 항에 있어서,상기 메시징-큐잉 유니트는, 상기 메시징-큐잉 유니트에 의해 수신된 서브되지 않은 요구의 수효가 임계치를 초과할 때, 추가적인 서버 유니트를 트리거하기 위한 수단을 포함하는 고-가용성 컴퓨터 서버 시스템.
- 제1항 내지 제4항중 어느 한 항에 있어서,상기 메시징-큐잉 유니트는, 상기 서버 유니트가 요구에 서브할 준비가 되어 있다는 것을 상기 서버 유니트가 상기 메시징-큐잉 유니트에 통지하는 것에 응답하여 상기 다수의 서버 유니트중 한 서버 유니트에 요구를 전송하기 위한 수단을 포함하는 고-가용성 컴퓨터 서버 시스템.
- 제1항 내지 제5항중 어느 한 항에 있어서,상기 네트워크는 월드 와이드 웹이고, 상기 서버 시스템은 웹 서버 시스템이고, 상기 클라이언트 장치는 웹 브라우저인 고-가용성 컴퓨터 서버 시스템.
- 컴퓨터 네트워크(2)를 통해 다수의 클라이언트 컴퓨터 장치(1a, 1b,..., 1n)로부터 수신되는, 특정 서버 시스템을 각각 특별히 식별하는 그런 요구에 서브하는 방법에 있어서,상기 특정 서버 시스템에서, 상기 수신된 요구를 메시징-큐잉 유니트(31)에 저장하는 단계; 및상기 메시징-큐잉 유니트로부터의 요구를 다수의 병렬-접속된 서버 유니트(32a, 32b,..., 32n)로 전송하는 단계를 포함해서 이루어진 방법.
- 제7항에 있어서,상기 메시징-큐잉 유니트는 수신된 요구에 우선순위를 할당하도록 되어 있는 방법.
- 제8항에 있어서,상기 메시징-큐잉 유니트는 그래픽스 요구에 비해 텍스트 요구에 보다 높은 우선순위를 할당하도록 되어 있는 방법.
- 제7항 내지 제9항중 어느 한 항에 있어서,상기 메시징-큐잉 유니트는, 상기 메시징-큐잉 유니트에 의해 수신된 서브되지 않은 요구의 수효가 임계치를 초과할 때, 추가적인 서버 유니트를 트리거하도록 되어 있는 방법.
- 제7항 내지 제10항중 어느 한 항에 있어서,상기 메시징-큐잉 유니트는, 상기 서버가 요구에 서브할 준비가 되어 있다는 것을 상기 서버 유니트가 상기 메시징-큐잉 유니트에 통지하는 것에 응답하여 상기 다수의 서버중 한 서버에 요구를 전송하도록 되어 있는 방법.
- 제7항 내지 제11항중 어느 한 항에 있어서,상기 네트워크는 월드 와이드 웹이고, 상기 서버 시스템은 웹 서버 시스템이고, 상기 클라이언트 장치는 웹 브라우저인 방법.
- 네트워크(2)를 통해 서버 시스템에 접속된 다수의 컴퓨터 클라이언트 장치(1a, 1b,..., 1n)로부터 수신되는, 상기 서버 시스템을 각각 특별히 식별하는 그런 다수의 요구에 서브할 수 있는 있는 고-가용성 컴퓨터 서버 시스템(3b)을 구비한 클라이언트/서버 컴퓨터 시스템에 있어서,상기 서버 시스템은,상기 서버 시스템을 식별하는 상기 요구가 수신되는, 상기 네트워크(2)에 접속된 하나의 입력과, 하나의 출력을 가진 메시징-큐잉 유니트(31); 및상기 메시징-큐잉 유니트(31)의 상기 출력에 병렬로 접속된 다수의 서버 유니트(32a, 32b,..., 32n)를 포함하는 클라이언트/서버 컴퓨터 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9625454A GB2320112B (en) | 1996-12-07 | 1996-12-07 | High-availability computer server system |
GB9625454.5 | 1996-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980063407A true KR19980063407A (ko) | 1998-10-07 |
KR100243637B1 KR100243637B1 (ko) | 2000-02-01 |
Family
ID=10804095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970038517A KR100243637B1 (ko) | 1996-12-07 | 1997-08-13 | 고-가용성 컴퓨터 서버 시스템 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6023722A (ko) |
JP (1) | JPH10187639A (ko) |
KR (1) | KR100243637B1 (ko) |
CN (1) | CN1095264C (ko) |
GB (1) | GB2320112B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100360538B1 (ko) * | 2000-05-30 | 2002-11-13 | 노수영 | 멀티미디어 기술을 이용한 실시간/비실시간 상호 웹 발표방법 및 시스템 |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507872B1 (en) * | 1992-09-25 | 2003-01-14 | David Michael Geshwind | Class of methods for improving perceived efficiency of end-user interactive access of a large database such as the world-wide web via a communication network such as “The Internet” |
US6209048B1 (en) | 1996-02-09 | 2001-03-27 | Ricoh Company, Ltd. | Peripheral with integrated HTTP server for remote access using URL's |
GB2313524A (en) * | 1996-05-24 | 1997-11-26 | Ibm | Providing communications links in a computer network |
JPH1157215A (ja) * | 1997-08-20 | 1999-03-02 | Fuji Xerox Co Ltd | ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲームクライアント装置、対局者選定プログラムを記録した媒体及び対局者情報取得プログラムを記録した媒体 |
US6055538A (en) * | 1997-12-22 | 2000-04-25 | Hewlett Packard Company | Methods and system for using web browser to search large collections of documents |
GB2334116A (en) * | 1998-02-04 | 1999-08-11 | Ibm | Scheduling and dispatching queued client requests within a server computer |
GB2336449A (en) * | 1998-04-14 | 1999-10-20 | Ibm | A server selection method in an asynchronous client-server computer system |
US6211874B1 (en) | 1998-05-15 | 2001-04-03 | International Business Machines Corporation | Method for parallel selection of URL's |
US7581006B1 (en) | 1998-05-29 | 2009-08-25 | Yahoo! Inc. | Web service |
US6976093B2 (en) | 1998-05-29 | 2005-12-13 | Yahoo! Inc. | Web server content replication |
US7035943B2 (en) | 1998-05-29 | 2006-04-25 | Yahoo! Inc. | Web server content replication |
US7143193B1 (en) | 1998-05-29 | 2006-11-28 | Yahoo! Inc. | Content collection |
US6317786B1 (en) | 1998-05-29 | 2001-11-13 | Webspective Software, Inc. | Web service |
US6314463B1 (en) * | 1998-05-29 | 2001-11-06 | Webspective Software, Inc. | Method and system for measuring queue length and delay |
US6279001B1 (en) | 1998-05-29 | 2001-08-21 | Webspective Software, Inc. | Web service |
US6427161B1 (en) * | 1998-06-12 | 2002-07-30 | International Business Machines Corporation | Thread scheduling techniques for multithreaded servers |
US6237030B1 (en) * | 1998-06-30 | 2001-05-22 | International Business Machines Corporation | Method for extracting hyperlinks from a display document and automatically retrieving and displaying multiple subordinate documents of the display document |
US6449646B1 (en) * | 1998-10-13 | 2002-09-10 | Aspect Communications Corporation | Method and apparatus for allocating mixed transaction type messages to resources via an integrated queuing mechanism |
US6138160A (en) * | 1998-10-23 | 2000-10-24 | International Business Machines Corporation | System with wake up server and wake up monitor for facilitating dial up connection between two application partners via internet |
US7355608B1 (en) * | 1998-10-28 | 2008-04-08 | International Business Machines Corporation | Method for priority transmission and display of key areas of image data |
US6430598B1 (en) * | 1999-01-29 | 2002-08-06 | International Business Machines Corporation | Method and system for deleting messages from a server |
US7552166B2 (en) * | 1999-02-22 | 2009-06-23 | Chack Michael A | Method of queuing requests to access a communications network |
US7370005B1 (en) * | 1999-05-11 | 2008-05-06 | Peter Ham | Inventory replication based upon order fulfillment rates |
US7177825B1 (en) | 1999-05-11 | 2007-02-13 | Borders Louis H | Integrated system for ordering, fulfillment, and delivery of consumer products using a data network |
WO2000068856A2 (en) * | 1999-05-11 | 2000-11-16 | Webvan Group, Inc. | Electronic commerce enabled delivery system and method |
US6374297B1 (en) * | 1999-08-16 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for load balancing of web cluster farms |
US6601192B1 (en) | 1999-08-31 | 2003-07-29 | Accenture Llp | Assertion component in environment services patterns |
US6601234B1 (en) | 1999-08-31 | 2003-07-29 | Accenture Llp | Attribute dictionary in a business logic services environment |
US7289964B1 (en) | 1999-08-31 | 2007-10-30 | Accenture Llp | System and method for transaction services patterns in a netcentric 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 |
US6636242B2 (en) | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns 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 |
US6954220B1 (en) | 1999-08-31 | 2005-10-11 | Accenture Llp | User context component in environment services patterns |
US6742015B1 (en) | 1999-08-31 | 2004-05-25 | Accenture Llp | Base services patterns in a netcentric environment |
US6571282B1 (en) | 1999-08-31 | 2003-05-27 | Accenture Llp | Block-based communication in a communication services patterns environment |
US6640249B1 (en) | 1999-08-31 | 2003-10-28 | Accenture Llp | Presentation services patterns in a netcentric environment |
US6640244B1 (en) | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
US6549949B1 (en) | 1999-08-31 | 2003-04-15 | Accenture Llp | Fixed format stream in a communication services patterns environment |
US6615253B1 (en) | 1999-08-31 | 2003-09-02 | Accenture Llp | Efficient server side data retrieval for execution of client side applications |
US6715145B1 (en) | 1999-08-31 | 2004-03-30 | Accenture Llp | Processing pipeline in a base services pattern environment |
US6772333B1 (en) * | 1999-09-01 | 2004-08-03 | Dickens Coal Llc | Atomic session-start operation combining clear-text and encrypted sessions to provide id visibility to middleware such as load-balancers |
US6970945B1 (en) * | 1999-11-01 | 2005-11-29 | Seebeyond Technology Corporation | Systems and methods of message queuing |
GB2356947A (en) * | 1999-11-30 | 2001-06-06 | Hugh Symons Group Plc | Load balancing client requests amongst a plurality of servers |
JP4375869B2 (ja) * | 2000-02-03 | 2009-12-02 | 富士通株式会社 | サーバ |
US8756342B1 (en) | 2000-02-07 | 2014-06-17 | Parallel Networks, Llc | Method and apparatus for content synchronization |
US7454457B1 (en) * | 2000-02-07 | 2008-11-18 | Parallel Networks, Llc | Method and apparatus for dynamic data flow control using prioritization of data requests |
US6725272B1 (en) * | 2000-02-18 | 2004-04-20 | Netscaler, Inc. | Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time |
US6377975B1 (en) * | 2000-03-01 | 2002-04-23 | Interactive Intelligence, Inc. | Methods and systems to distribute client software tasks among a number of servers |
US6615215B1 (en) * | 2000-03-17 | 2003-09-02 | Commercequest Inc. | Method for graduated load sensitive task dispatching in computing system |
DE10016531A1 (de) * | 2000-04-03 | 2001-10-11 | Hubert Bauer | Verfahren zum Betrieb eines Datenverarbeitungssystems |
US6789112B1 (en) | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US6785726B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for delivering local and remote server events in a similar fashion |
US6785713B1 (en) * | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US7240283B1 (en) | 2000-11-10 | 2007-07-03 | Narasimha Rao Paila | Data transmission and rendering techniques implemented over a client-server system |
WO2001090903A1 (en) * | 2000-05-24 | 2001-11-29 | Cohere Networks, Inc. | Apparatus, system, and method for balancing loads to network servers |
US7162450B2 (en) * | 2000-06-30 | 2007-01-09 | Ponzio Jr Frank J | Business method for determining quality and integrity of data content |
US7133922B1 (en) * | 2000-08-07 | 2006-11-07 | The Hong Kong University Of Science And Technology | Method and apparatus for streaming of data |
TWI244617B (en) * | 2000-09-16 | 2005-12-01 | Ibm | A client/server-based data processing system for performing transactions between clients and a server and a method of performing the transactions |
JP3777302B2 (ja) * | 2000-12-21 | 2006-05-24 | 富士通株式会社 | 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体 |
US7233914B1 (en) | 2000-12-27 | 2007-06-19 | Joyo Wijaya | Technique for implementing item substitution for unavailable items relating to a customer order |
US20020138437A1 (en) * | 2001-01-08 | 2002-09-26 | Lewin Daniel M. | Extending an internet content delivery network into an enterprise environment by locating ICDN content servers topologically near an enterprise firewall |
WO2002063803A2 (en) | 2001-02-02 | 2002-08-15 | Intellocity Usa, Inc. | Dynamic server side filter creation |
US7006512B2 (en) * | 2001-02-08 | 2006-02-28 | Innopath Software, Inc, | Apparatus and methods for managing queues on a mobile device system |
US20020120746A1 (en) * | 2001-02-23 | 2002-08-29 | Basavaraj Patil | Method and system for providing a service |
US7734715B2 (en) * | 2001-03-01 | 2010-06-08 | Ricoh Company, Ltd. | System, computer program product and method for managing documents |
US7308423B1 (en) | 2001-03-19 | 2007-12-11 | Franklin Goodhue Woodward | Technique for handling sales of regulated items implemented over a data network |
US7734725B2 (en) * | 2001-03-30 | 2010-06-08 | International Business Machines Corporation | Method and apparatus for server side queuing to control page presentation on web enabled device |
US7480705B2 (en) | 2001-07-24 | 2009-01-20 | International Business Machines Corporation | Dynamic HTTP load balancing method and apparatus |
US7774492B2 (en) * | 2001-07-26 | 2010-08-10 | Citrix Systems, Inc. | System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections |
US7290059B2 (en) * | 2001-08-13 | 2007-10-30 | Intel Corporation | Apparatus and method for scalable server load balancing |
DE60114186T2 (de) * | 2001-08-14 | 2006-06-22 | Hewlett-Packard Development Co., L.P., Houston | Nachrichten-Vermittler |
US20030037102A1 (en) * | 2001-08-14 | 2003-02-20 | Philippe Eckert | Message broker |
US6952731B2 (en) * | 2001-08-14 | 2005-10-04 | Hewlett-Packard Development Company, L.P. | Remote control of a device over the internet |
US20030046408A1 (en) * | 2001-08-30 | 2003-03-06 | Weaver Jeffrey Scott | Method and system for handling computer resource requests on a monetary priority basis |
US7127507B1 (en) * | 2001-09-27 | 2006-10-24 | Sprint Communications Company L.P. | Method and apparatus for network-level monitoring of queue-based messaging systems |
US20030074467A1 (en) * | 2001-10-11 | 2003-04-17 | Oblak Sasha Peter | Load balancing system and method for data communication network |
WO2003034183A2 (en) * | 2001-10-18 | 2003-04-24 | Bea Systems, Inc. | System and method using a connector architecture for application integration |
US7552222B2 (en) * | 2001-10-18 | 2009-06-23 | Bea Systems, Inc. | Single system user identity |
US20030093471A1 (en) * | 2001-10-18 | 2003-05-15 | Mitch Upton | System and method using asynchronous messaging for application integration |
US7000016B1 (en) | 2001-10-19 | 2006-02-14 | Data Return Llc | System and method for multi-site clustering in a network |
US6938031B1 (en) | 2001-10-19 | 2005-08-30 | Data Return Llc | System and method for accessing information in a replicated database |
US6915341B2 (en) * | 2002-01-08 | 2005-07-05 | International Business Machines Corporation | System for sending messages to all users in a web hosting environment |
US7181489B2 (en) * | 2002-01-10 | 2007-02-20 | International Business Machines Corporation | Method, apparatus, and program for distributing a document object model in a web server cluster |
US20030135502A1 (en) * | 2002-01-11 | 2003-07-17 | Taiwan Semiconductor Manufacturing Co., Ltd. | Multi-server computer system with self-initiating database replication utility |
CA2372092C (en) * | 2002-02-15 | 2010-04-06 | Cognos Incorporated | A queuing model for a plurality of servers |
US7516447B2 (en) | 2002-02-22 | 2009-04-07 | Bea Systems, Inc. | Methods and apparatus for building, customizing and using software abstractions of external entities |
US20030233437A1 (en) * | 2002-04-24 | 2003-12-18 | Hiroshi Kitada | Browser, method, and computer program product for managing documents |
US7711847B2 (en) * | 2002-04-26 | 2010-05-04 | Sony Computer Entertainment America Inc. | Managing users in a multi-user network game environment |
US8135772B2 (en) * | 2002-05-01 | 2012-03-13 | Oracle International Corporation | Single servlets for B2B message routing |
US7526519B2 (en) * | 2002-05-01 | 2009-04-28 | Bea Systems, Inc. | High availability application view deployment |
US7257645B2 (en) | 2002-05-01 | 2007-08-14 | Bea Systems, Inc. | System and method for storing large messages |
US7155438B2 (en) * | 2002-05-01 | 2006-12-26 | Bea Systems, Inc. | High availability for event forwarding |
US7424717B2 (en) * | 2002-05-01 | 2008-09-09 | Bea Systems, Inc. | Systems and methods for business process plug-in development |
US7350184B2 (en) * | 2002-05-02 | 2008-03-25 | Bea Systems, Inc. | System and method for enterprise application interactions |
US7493628B2 (en) * | 2002-05-02 | 2009-02-17 | Bea Systems, Inc. | Shared common connection factory |
US7222148B2 (en) * | 2002-05-02 | 2007-05-22 | Bea Systems, Inc. | System and method for providing highly available processing of asynchronous service requests |
US7627631B2 (en) * | 2002-05-02 | 2009-12-01 | Bea Systems, Inc. | Systems and methods for collaborative business plug-ins |
US7484224B2 (en) * | 2002-05-02 | 2009-01-27 | Bae Systems, Inc. | Adapter deployment without recycle |
US7676538B2 (en) * | 2002-05-02 | 2010-03-09 | Bea Systems, Inc. | Systems and methods for application view transactions |
US7165249B2 (en) * | 2002-05-02 | 2007-01-16 | Bea Systems, Inc. | Systems and methods for modular component deployment |
US7305429B2 (en) * | 2002-06-10 | 2007-12-04 | Utstarcom, Inc. | Method and apparatus for global server load balancing |
US20030236813A1 (en) * | 2002-06-24 | 2003-12-25 | Abjanic John B. | Method and apparatus for off-load processing of a message stream |
US6988099B2 (en) * | 2002-06-27 | 2006-01-17 | Bea Systems, Inc. | Systems and methods for maintaining transactional persistence |
US7747730B1 (en) | 2002-06-28 | 2010-06-29 | Netfuel, Inc. | Managing computer network resources |
ATE357115T1 (de) * | 2002-06-28 | 2007-04-15 | Compaq Information Technologie | Proxylastabgleicher |
US7698434B2 (en) | 2002-08-29 | 2010-04-13 | Bea Systems, Inc. | J2EE connector architecture |
US7401141B2 (en) * | 2003-01-07 | 2008-07-15 | International Business Machines Corporation | Method and system for monitoring performance of distributed applications |
US20040158637A1 (en) * | 2003-02-12 | 2004-08-12 | Lee Timothy Charles | Gated-pull load balancer |
US20040215703A1 (en) * | 2003-02-18 | 2004-10-28 | Xiping Song | System supporting concurrent operation of multiple executable application operation sessions |
US7966418B2 (en) * | 2003-02-21 | 2011-06-21 | Axeda Corporation | Establishing a virtual tunnel between two computer programs |
US7774697B2 (en) | 2003-02-25 | 2010-08-10 | Bea Systems, Inc. | System and method for structuring distributed applications |
US7076772B2 (en) * | 2003-02-26 | 2006-07-11 | Bea Systems, Inc. | System and method for multi-language extensible compiler framework |
US7650276B2 (en) * | 2003-02-26 | 2010-01-19 | Bea Systems, Inc. | System and method for dynamic data binding in distributed applications |
US20050044173A1 (en) * | 2003-02-28 | 2005-02-24 | Olander Daryl B. | System and method for implementing business processes in a portal |
US20040226030A1 (en) * | 2003-02-28 | 2004-11-11 | Kyle Marvin | Systems and methods for an extensible software proxy |
US7444620B2 (en) * | 2003-02-28 | 2008-10-28 | Bea Systems, Inc. | Systems and methods for a common runtime container framework |
US7636722B2 (en) * | 2003-02-28 | 2009-12-22 | Bea Systems, Inc. | System and method for describing application extensions in XML |
US7650592B2 (en) * | 2003-03-01 | 2010-01-19 | Bea Systems, Inc. | Systems and methods for multi-view debugging environment |
US7660894B1 (en) * | 2003-04-10 | 2010-02-09 | Extreme Networks | Connection pacer and method for performing connection pacing in a network of servers and clients using FIFO buffers |
US7478122B2 (en) * | 2003-08-18 | 2009-01-13 | Hostopia.Com Inc. | Web server system and method |
US9614772B1 (en) | 2003-10-20 | 2017-04-04 | F5 Networks, Inc. | System and method for directing network traffic in tunneling applications |
US7451209B1 (en) | 2003-10-22 | 2008-11-11 | Cisco Technology, Inc. | Improving reliability and availability of a load balanced server |
US7421695B2 (en) * | 2003-11-12 | 2008-09-02 | Cisco Tech Inc | System and methodology for adaptive load balancing with behavior modification hints |
US7769802B2 (en) * | 2003-12-04 | 2010-08-03 | Microsoft Corporation | Systems and methods that employ correlated synchronous-on-asynchronous processing |
CN1728698B (zh) * | 2004-07-30 | 2010-08-25 | 国家数字交换系统工程技术研究中心 | 并行结构保序流量平衡系统及基于流分类的报文调度方法 |
US7571464B2 (en) * | 2004-08-27 | 2009-08-04 | International Business Machines Corporation | Secure bidirectional cross-system communications framework |
JP4357391B2 (ja) * | 2004-09-02 | 2009-11-04 | 富士通株式会社 | 待ち行列管理装置 |
US9552599B1 (en) | 2004-09-10 | 2017-01-24 | Deem, Inc. | Platform for multi-service procurement |
US7657618B1 (en) * | 2004-10-15 | 2010-02-02 | F5 Networks, Inc. | Management of multiple client requests |
JP4392343B2 (ja) * | 2004-12-28 | 2009-12-24 | 株式会社日立製作所 | メッセージ配布方法、待機系ノード装置およびプログラム |
US7502843B2 (en) * | 2004-12-30 | 2009-03-10 | Microsoft Corporation | Server queuing system and method |
US7533155B2 (en) * | 2005-03-30 | 2009-05-12 | Ricoh Company, Ltd. | System and method for managing documents with multiple network applications |
US7821660B2 (en) * | 2005-03-30 | 2010-10-26 | Ricoh Company, Ltd. | System and method for compensating for resource unavailability in an image processing system |
US20060230286A1 (en) * | 2005-03-30 | 2006-10-12 | Hiroshi Kitada | System and method for authenticating a user of an image processing system |
US8418233B1 (en) | 2005-07-29 | 2013-04-09 | F5 Networks, Inc. | Rule based extensible authentication |
US8533308B1 (en) | 2005-08-12 | 2013-09-10 | F5 Networks, Inc. | Network traffic management through protocol-configurable transaction processing |
US9117223B1 (en) | 2005-12-28 | 2015-08-25 | Deem, Inc. | Method and system for resource planning for service provider |
CN101004743B (zh) * | 2006-01-21 | 2010-05-26 | 鸿富锦精密工业(深圳)有限公司 | 分布式文档转换系统及方法 |
US8565088B1 (en) | 2006-02-01 | 2013-10-22 | F5 Networks, Inc. | Selectively enabling packet concatenation based on a transaction boundary |
US8751579B1 (en) * | 2006-03-02 | 2014-06-10 | Salesforce.Com, Inc. | Method and system of maintaining a browser in a design application workflow |
US7685630B2 (en) * | 2006-05-04 | 2010-03-23 | Citrix Online, Llc | Methods and systems for providing scalable authentication |
US8219920B2 (en) * | 2006-08-04 | 2012-07-10 | Apple Inc. | Methods and systems for managing to do items or notes or electronic messages |
US8261197B2 (en) * | 2006-08-04 | 2012-09-04 | Apple Inc. | Methods and systems for managing to do items or notes or electronic messages |
US9106606B1 (en) | 2007-02-05 | 2015-08-11 | F5 Networks, Inc. | Method, intermediate device and computer program code for maintaining persistency |
US8037021B2 (en) * | 2007-06-10 | 2011-10-11 | Apple Inc. | Calendaring techniques and interfaces |
US9832069B1 (en) | 2008-05-30 | 2017-11-28 | F5 Networks, Inc. | Persistence based on server response in an IP multimedia subsystem (IMS) |
US9130846B1 (en) | 2008-08-27 | 2015-09-08 | F5 Networks, Inc. | Exposed control components for customizable load balancing and persistence |
JP4988685B2 (ja) * | 2008-11-13 | 2012-08-01 | 日本電信電話株式会社 | 分散データ処理システム及び方法及びデータ蓄積装置及びプログラム |
US8312100B2 (en) * | 2009-03-31 | 2012-11-13 | International Business Machines Corporation | Managing orphaned requests in a multi-server environment |
US10552849B2 (en) | 2009-04-30 | 2020-02-04 | Deem, Inc. | System and method for offering, tracking and promoting loyalty rewards |
US9449288B2 (en) | 2011-05-20 | 2016-09-20 | Deem, Inc. | Travel services search |
US10048990B2 (en) | 2011-11-19 | 2018-08-14 | International Business Machines Corporation | Parallel access of partially locked content of input file |
EP2891987A4 (en) * | 2013-03-28 | 2015-12-02 | Rakuten Inc | REQUEST PROCESSING SYSTEM, INQUIRY PROCESSING, PROGRAM AND INFORMATION STORAGE MEDIUM |
US10028309B2 (en) | 2013-10-02 | 2018-07-17 | Apple Inc. | Cloud phone notifications |
US10743255B2 (en) * | 2014-07-25 | 2020-08-11 | Apple Inc. | Power optimization modes for communication between device and server |
JP5885818B2 (ja) * | 2014-12-16 | 2016-03-16 | キヤノン株式会社 | 情報処理システム、情報処理システム制御方法、およびそのプログラム |
US11163452B2 (en) | 2018-09-24 | 2021-11-02 | Elastic Flash Inc. | Workload based device access |
CN111565219A (zh) * | 2020-04-16 | 2020-08-21 | 浙江工业大学 | 一种模拟真实排队的网络连接池协议的实现方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4050095A (en) * | 1973-06-07 | 1977-09-20 | International Standard Electric Corporation | Call load sharing system between a plurality of data processing units |
US4257099A (en) * | 1975-10-14 | 1981-03-17 | Texas Instruments Incorporated | Communication bus coupler |
JPS57768A (en) * | 1980-06-04 | 1982-01-05 | Hitachi Ltd | Message transmission and reception system between processor |
GB2276737A (en) * | 1993-03-30 | 1994-10-05 | Ibm | Fault-tolerant transaction-oriented data processing |
GB2281793A (en) * | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
US6336143B1 (en) * | 1993-09-27 | 2002-01-01 | International Business Machines Corporation | Method and apparatus for multimedia data interchange with pacing capability in a distributed data processing system |
EP0694837A1 (en) * | 1994-07-25 | 1996-01-31 | International Business Machines Corporation | Dynamic workload balancing |
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 |
US5793964A (en) * | 1995-06-07 | 1998-08-11 | International Business Machines Corporation | Web browser system |
US5710918A (en) * | 1995-06-07 | 1998-01-20 | International Business Machines Corporation | Method for distributed task fulfillment of web browser requests |
US5790800A (en) * | 1995-10-13 | 1998-08-04 | Digital Equipment Corporation | Client application program mobilizer |
GB2309558A (en) * | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
US5754774A (en) * | 1996-02-15 | 1998-05-19 | International Business Machine Corp. | Client/server communication system |
US5761507A (en) * | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
US5790789A (en) * | 1996-08-02 | 1998-08-04 | Suarez; Larry | Method and architecture for the creation, control and deployment of services within a distributed computer environment |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5764916A (en) * | 1996-09-27 | 1998-06-09 | Ichat, Inc. | Method and apparatus for real time communication over a computer network |
-
1996
- 1996-12-07 GB GB9625454A patent/GB2320112B/en not_active Expired - Fee Related
-
1997
- 1997-07-23 US US08/899,372 patent/US6023722A/en not_active Expired - Fee Related
- 1997-08-13 KR KR1019970038517A patent/KR100243637B1/ko not_active IP Right Cessation
- 1997-10-22 JP JP9288984A patent/JPH10187639A/ja active Pending
- 1997-11-06 CN CN97122421A patent/CN1095264C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100360538B1 (ko) * | 2000-05-30 | 2002-11-13 | 노수영 | 멀티미디어 기술을 이용한 실시간/비실시간 상호 웹 발표방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
JPH10187639A (ja) | 1998-07-21 |
US6023722A (en) | 2000-02-08 |
CN1095264C (zh) | 2002-11-27 |
KR100243637B1 (ko) | 2000-02-01 |
GB2320112B (en) | 2001-07-25 |
CN1184977A (zh) | 1998-06-17 |
GB2320112A (en) | 1998-06-10 |
GB9625454D0 (en) | 1997-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100243637B1 (ko) | 고-가용성 컴퓨터 서버 시스템 | |
US6336135B1 (en) | Gateway for converting synchronous client/server protocols into asynchronous messaging protocols and storing session state information at the client | |
US6366947B1 (en) | System and method for accelerating network interaction | |
US6895425B1 (en) | Using an expert proxy server as an agent for wireless devices | |
CA2231810C (en) | Load balancing across the processors of a server computer | |
US7426546B2 (en) | Method for selecting an edge server computer | |
US6623527B1 (en) | Method for providing a document with a button for a network service | |
CN1143228C (zh) | 对服务器进行负荷管理的数据处理设备和方法 | |
US8548976B2 (en) | Balancing load requests and failovers using a UDDI proxy | |
US10091121B2 (en) | Method and system for reduction of delay and bandwidth requirements in internet data transfer | |
US20080183838A1 (en) | Method, system and computer program product for delivering data to a storage buffer assigned to an application | |
US20020073206A1 (en) | Methods and apparatus for enabling dynamic resource collaboration | |
EP0898754B1 (en) | Information retrieval in cache database | |
AU7197500A (en) | Method for acquiring content information, and software product, collaboration system and collaboration server for acquiring content information | |
US7454501B2 (en) | Most eligible server in a common work queue environment | |
EP1672536A2 (en) | Enhanced internet session management protocol | |
CN1182477C (zh) | 零漏失信息网服务系统及方法 | |
JPH10105451A (ja) | マルチメディアデータ通信システム | |
FR2731533A1 (fr) | Synchronisation et communication conjointes et concomitantes performantes de processus independants et banalises par semaphore sur tout systeme de type unix ou equivalent | |
Goto et al. | World-wide web server with application layer queue: system and object-oriented software architecture | |
KR20000037695A (ko) | 웹과 응용을 위한 멀티프로토콜 게이트웨이의 구조 및 처리방법 | |
JPH11353248A (ja) | ファイル送信方法及びシステム及びファイル送信プログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |