KR100320976B1 - 웹서버객체를tcp/ip포트에매핑하는방법및그장치 - Google Patents

웹서버객체를tcp/ip포트에매핑하는방법및그장치 Download PDF

Info

Publication number
KR100320976B1
KR100320976B1 KR1019980043069A KR19980043069A KR100320976B1 KR 100320976 B1 KR100320976 B1 KR 100320976B1 KR 1019980043069 A KR1019980043069 A KR 1019980043069A KR 19980043069 A KR19980043069 A KR 19980043069A KR 100320976 B1 KR100320976 B1 KR 100320976B1
Authority
KR
South Korea
Prior art keywords
server
request
servers
router
client request
Prior art date
Application number
KR1019980043069A
Other languages
English (en)
Other versions
KR19990044865A (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 KR19990044865A publication Critical patent/KR19990044865A/ko
Application granted granted Critical
Publication of KR100320976B1 publication Critical patent/KR100320976B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request

Abstract

본 발명은 일단의 서버 자원 객체로 액세스하기 위한 요구에 대하여 서비스할 수 있는 서버들의 풀(pool)을 구비한 컴퓨터 네트워크에서의 라우팅을 위한 방법이 제공된다. 일단의 상기 서버 자원 객체는 상기 서버 풀(server pool)에 걸쳐 비동질적인 방식(non-homogeneous manner)으로 분산된다. 본 발명에 따르면, 지정된 서버 자원 객체로의 액세스를 위하여 입력되는 각각의 클라이언트 요구는 다수의 포트를 식별하는 관련 포트 공간을 구비하는 라우터를 목적지로 한다. 상기 클라이언트 요구는 입력 클라이언트 요구가 수신된 포트에 기반하여 상기 서버 자원 객체 중의 어느 하나로 매핑된다. 그 다음에, 상기 라우터는 "최적의 서버"를 선택하고 상기 최적의 서버로 상기 요구를 방향 전환시키거나 전송한다. 라우팅 및 방향 전환은 상기 입력되는 요구에 대한 포트에 기반한다.

Description

웹 서버 객체를 TCP/IP 포트에 매핑하는 방법 및 그 장치{MAPPING WEB SERVER OBJECTS TO TCP/IP PORTS}
본 발명은 클라이언트-서버 컴퓨터 네트워크에서의 통신에 관한 것으로서, 특히 서버 자원 대 IP 포트 매핑 방식(server resource-to-IP port mapping scheme)에 의한 클라이언트의 요구를 특정의 서버 객체로 라우팅(routing)하는 방법에 관한 것이다.
월드 와이드 웹(World Wide Web)은 인터넷의 멀티미디어 정보 검색 시스템(multimedia information retrieval system)이다. 웹 환경에서는 클라이언트 머신들이 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol : HTTP)에 의하여 웹 서버들에 트랜잭션(transaction)을 야기시키며, 상기 HTTP는 하이퍼텍스트 마크업 언어(Hypertext Markup Language : HTML)로 알려진 표준 페이지 기술 언어(standard page description language)를 사용하여 사용자들에게 파일[예컨대, 텍스트(text), 그래픽(graphic), 화상(image), 소리(sound), 비디오(video) 등]으로의 액세스를 제공하는 응용 프로그램 프로토콜(application protocol)이다.
다수의 서버들을 하나의 "풀(pool)"로 집합시켜 다수의 서버들을 집합적으로 관리할 수 있도록 한다는 것이 해당 기술 분야에 잘 알려져 있다. 브라우저(browser)를 실행중인 클라이언트 머신의 관점에서 보면, 상기 모든 서버들은 공통의 URL(Uniform Resource Locator)을 갖는다. 이러한 서버들은 통상적으로 클라이언트 머신들이 액세스하고자 하는 다수의 서로 다른 타입(type)의 서버 객체[예컨대, 데이터베이스(database), CGI 스크립트(script), 액티브 서버 페이지(active server page : .asp) 스크립트 등]를 지원한다.
상기 풀내의 일단의 서버가 웹 브라우저 클라이언트로부터의 HTTP 요구를 받고, 이러한 HTTP 요구들은 서버 자원(예컨대, 상기 서버에서 또는 서버에 걸쳐 지원되는 하나 또는 그 이상의 데이터베이스)을 조회한다. 서버 풀(server pool) 내의 적절한 서버로 상기 HTTP 요구들을 라우팅하고, 상기 모든 서버들에 걸쳐 부하의 균형을 유지할 필요가 있다. 그러나, 클러스터(cluster) 차원에서 모든 서버들이 균등한 것은 아니다. (즉, 그 서버 자원 객체(server resource object)의 관점에서 볼 때, 그들이 동등한(homogeneous)에 것은 아니다.) 예를 들어, 요구 데이터베이스가 하나 이상의 서버에 존재할 수 있지만, 모든 서버에 존재할 필요는 없는 것이다.
상기 요구를 라우팅하기 위하여 HTTP 패킷(packet)의 일 부분인 요구 데이터베이스의 명칭을 알아야 한다. 일반적으로, 상기 명칭은 상기 HTTP 요구를 2 단계 프로세스로 분석함으로써 추출된다. 특히, (상기 HTTP 요구를 포함하는) 수신된TCP/IP 패킷이 먼저 TCP/IP 서비스에 의하여 분석 또는 "개방(open up)"됨으로써, 상기 요구를 처리하게 될 응용 프로그램(application)을 결정한다. 상기 HTTP 요구가 추가적으로 처리되도록 하기 위하여, 즉 요구 객체를 결정하기 위하여 상기 HTTP 요구가 상기 응용 프로그램으로 전송된다. 이러한 처리 요구는 상기 클라이언트의 요구를 서비스하는 전체 성능에 부정적인 영향을 미친다.
상기 TCP/IP 패킷을 분석하지 않고 서버 자원의 명칭을 결정하여 상기 HTTP 패킷을 분석(및 가능하다면 해독)하는 것이 바람직하다.
본 발명은 이러한 문제점을 해결하고자 하는 것이다.
따라서, 본 발명의 목적은 바람직하게는 일련의 TCP/IP 포트 번호를 사용하여 서버 자원 객체(server resource object)로의 액세스를 제공하는 서버로 서버 자원 객체를 매핑하는 수단 및 방법에 관한 것이다. 웹 페이지는 동적으로 생성된 HTML을 통하여 웹 클라이언트에 전송된다. 상기 웹 페이지는 이러한 서버 자원 객체에 사용되는 앵커(anchor)를 포함한다. 내재된 앵커는 다음의 형식을 갖는 것이 바람직하다. 즉,
http://<서버 명칭>:<포트>/<서버 자원>
여기서, <서버 명칭>은 자원 라우터(Resource Router)에 사용되는 IP 어드레스로 매핑되며, 포트는 요구된 서버 자원으로 매핑된다. 자원 라우터(Resource Router)는 포트 세트(port set) 상으로 입력되는 TCP/IP 요구를 대기하여 서버 객체를 매핑한다. 포트에 요구가 도달하면, 상기 자원 라우터는 요구들을 배치하고,"최적의 공급자(best provider)"를 선택하여 상기 요구를 상기 서버로 방향을 전환하거나 전송한다. 상기 라우팅과 방향 전환(redirection)은 입력되는 요구에 대 포트에 기반한다.
상기 자원 라우터는 동작 중에 IP 어드레스에 대한 포트 공간(port space) 내에서 서버 객체를 TCP/IP 포트로 계속적으로 매핑한다. 이 매핑은 각 서버 객체에 대한 로우(row)를 구비한 테이블(table)이다. 바람직하게는, 상기 로우의 내용은 포트 번호(port number), 서버 객체 및 요구된 객체를 서비스할 수 있는 서버의 목록(list) 등이다. 서버의 목록은 미리 지정된 기준에 기반하여 상기 지정된 기준에 가장 양호하게 정합되는 서버가 요구를 수신하도록 정렬되는 것이 바람직하다. 상기 자원 라우터는 상기 요구를 상기 서버로 전송하거나, 또는 서버를 지정하고 상기 응답을 상기 서버로 차례대로 방향 전환시키는 방향 전환 응답이 클라이언트에게 회신된다.
전술한 바와 같이, 본 발명의 몇몇 적절한 목적 및 특성의 개요를 기술하였다. 이러한 목적들은 본 발명의 두드러진 특성 및 응용례의 예시적인 일부분에 관한 예에 불과한 것으로 해석되어야 한다. 후술하는 바와 같이, 개시된 본 발명을 여러 가지 방식으로 적용하거나 본 발명을 변경함으로써 다양한 이점을 얻을 수 있다. 따라서, 본 발명의 바람직한 실시예에 관한 다음의 상세한 설명을 참조함으로써 본 발명 및 다른 목적에 대하여 보다 깊게 이해할 수 있다.
도 1은 종래의 대표적인 클라이언트-서버 컴퓨터 시스템을 도시한 도면.
도 2는 도 1의 웹 클라이언트로부터 웹 서버로의 HTTP 요구에 관련된 종래의 서버 처리를 도시한 흐름도.
도 3은 본 발명이 구현된 네트워크 환경의 일례를 도시한 도면.
도 4a 및 도 4b는 자원 라우터가 IP 레벨에서의 비방향 전환 프로토콜을 갖는 자원 라우팅을 제공하는데 사용되는 본 발명의 일 실시예에 의한 방법을 도시한 도면.
도 5는 IP 레벨에서의 비방향 전환 프로토콜을 갖고 자원 라우팅을 제공하는데 사용되는 자원 라우터 매핑 테이블을 도시한 도면.
도 6은 자원 라우터가 HTTP와 같은 방향 전환 프로토콜을 갖고 자원 라우팅을 제공하는데 사용되는 본 발명의 다른 실시예에 의한 방법을 도시한 도면.
도 7a 내지 도 7c는 본 발명에 의한 비방향 전환 및 방향 전환 프로토콜 모두를 갖고 라우팅을 관리하는 자원 라우터의 동작을 도시한 흐름도.
* 도면의 주요 부분의 부호의 설명
10 : 클라이언트 머신
12 : 서버 플랫폼
18 : 컴퓨터
20 : 운영 체계
22 : 서버 애플리케이션
23 : 애플리케이션 프로그래밍 인터페이스
24 : 그래픽 사용자 인터페이스
본 발명과 그 이점에 관한 보다 완전한 이해를 위하여 첨부된 도면을 참조하여 이하에서 상세히 설명한다.
도 1 내지 도 2는 배경 기술의 설명을 위한 도면이다. 도 1은 대표적인 클라이언트-서버 컴퓨터 시스템을 도시한 도면이다. 클라이언트 머신(10)은 네트워크(14)를 통해 웹 서버 플랫폼(Web server platform)(12)에 접속된다. 예컨대, 도시의 목적으로 네트워크(14)는 인터넷(Internet), 인트라넷(Intranet) 또는 기타의 이미 알려진 네트워크 접속되어 있을 수 있다. 웹 서버 플랫폼(12)은 클라이언트가 액세스할 수 있는 다수의 서버 중의 어느 하나이며, 상기 클라이언트 중의 어느 하나가 상기 머신(10)으로서 도시되어 있다. 대표적인 클라이언트 머신은 브라우저(16)를 포함하며, 브라우저는 네트워크의 서버에 액세스하기 위한 이미 알려진 소프트웨어 도구이다. 상기 웹 서버 플랫폼은 하이퍼텍스트(hypertext) 문서 및 객체의 형식으로 된 파일들[집합적으로 "웹(Web)" 사이트(site)라 불림]을 지원한다. 인터넷이라는 패러다임(paradigm)에서는, 서버로의 네트워크 경로는 소위 URL(Uniform Resource Locator)이라는 것에 의하여 식별된다.
대표적인 웹 서버 플랫폼(12)은, AIX(Advanced Interactive Executive Version 4.1 및 그 이상) 운영 체계(20) 및 인터페이스 확장부(interface extension)를 지원하는 넷스케이프 엔터프라이즈 서버 버전 2.0(Netscape Enterprise Server Version 2.0)과 같은 웹 서버 프로그램(Web server program)(22)을 실행하는 IBM RISC(소위 RISC 기반 워크스테이션의 축소 명령 집합) 시스템/6000 컴퓨터(18)를 포함한다. 또한, 상기 플랫폼(12)은 관리와 운영을 위하여 그래픽 유저 인터페이스(graphical user interface : GUI)를 포함한다. 또한, 상기 웹 서버(18)는 통상적으로 응용 프로그램 개발자들이 "플러그 인(plug-in)"이라 불리는 소프트웨어 프로그램을 통하여 그 핵심 기능을 확장 및/또는 개별화할 수 있도록 하는 확장부를 제공하는 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface : API)를 포함한다.
대표적인 웹 클라이언트는, IBMR OS/2R 또는 마이크로소프트 윈도우즈 95와 같은 운영 체계를 포함하고, 자바 버츄얼 머신(Java Virtual Machine : JVM)을 가지고 응용 프로그램 플러그인 및 도우미 응용 프로그램(helper application)을 지원하는 넷스케이프 네비게이터 3.0(또는 그 이상의 버전)과 같은 브라우저를 포함하는 x86-, 파워PC(PowerPC) 또는 RISC 기반의 개인용 컴퓨터이다.
주지하는 바와 같이, 상기 웹 서버는 클라이언트의 요구를 수신하여 응답을 회신한다. 상기 서버 프로그램(22)의 동작은 다수의 서버 애플리케이션 기능(server application function : SAF)에 의하여 지배되며, 그 각각은 소정 단계의 시퀀스(sequence)에 따라 수행되도록 구성된다. 도 2에 도시된 바와 같이, 상기 시퀀스는 인증 해석(authorization translation : AuthTrans)(30)과 함께 시작하며, 그 과정 동안 상기 서버가 상기 클라이언트에 의하여 사용자 또는 그룹(group)으로 송신된 임의의 인증 정보(authorization information)를 해석한다. 필요하다면, 상기 AuthTrans 단계는 실질적인 클라이언트 요구를 획득하기 위하여 메시지를 디코딩(decoding)할 수도 있다. 명칭 해석(name translation : NameTrans)이라 불리는 단계 32에서, 상기 요구와 연관된 URL은 그대로 보존되거나, 또는 시스템에 종속되는 파일 명칭, 방향 전환 URL(소위 "HTTP 301 응답") 또는 미러 사이트(mirror site) URL로 해석될 수 있다. 소위 경로 점검(path check : PathCheck)이라 불리는 단계 34에서, 상기 서버는 최종 경로 상에서 다양한 시험을 실시하여 소정의 클라이언트가 확실하게 문서를 검색할 수 있도록 한다. 때때로 객체 타입(object type : ObjectType)이라 불리는 단계 36에서, 소정의 문서에 사용된 MIME(Multipurpose Internet Mail Extension) 형태의 정보(예컨대, 텍스트/html, 이미지/gif 등)가 식별된다. 서비스(service : Service)라 불리는 단계 38에서, 상기 웹 서버 루틴은 결과를 상기 클라이언트로 회신하는 내부 서버 기능을 선택한다. 이 (파일을 회신하는) 기능은 (주문한 문서를 회신하기 위한 프로그램과 같은) 일반적인 서버 서비스 루틴, 기타 다른 서버 기능, 또는 CGI 프로그램을 실행시킬 수 있다. 로그 추가(Add Log : AddLog)라 불리는 단계 40에서, 트랜잭션(transaction)에 관한 정보가 기록된다.
도 3은 본 발명이 구현된 대표적인 컴퓨터 시스템의 블록도이다. 이 시스템에서는, 서버 풀 네트워크(server pool network)(44)를 통해 웹 클라이언트(46)로부터 수신된 서버 자원 객체(예컨대, OBJ1, OBJ2 등)로의 액세스에 대한 요구를 서비스할 수 있는 서버의 풀(pool)(42)(S1 내지 S4로 식별됨)이 존재한다. 이 시스템에서는, 상기 서버 풀에 걸쳐 비동질적인 방식으로 분산된 일단의 서버 자원 객체가 존재한다. 어떤 객체(예컨대, OBJ1)에 대하여는, 요구된 자원을 제공할 수 있는 다수의 서버들(즉, S1 및 S3)이 존재할 수 있다. 그리하여, 복사된 객체는 프라임 부호(prime : ')로 표시하였다(예를 들어, OBJ1 및 OBJ1'). 복사된 객체를 구비한 이러한 서버들에 대해서 다른 서버와 대항하는 하나의 서버 상의 객체를 액세스하는 것과 관련된 비용은 다른 서버의 객체에 액세스하는 비용과 동일하지 않아도 좋다. 요구된 서버 객체를 호출하는 것과 관련하여 최저 비용을 갖는 서버가 상기 요구에 대한 "최적의 공급자"인 것으로 간주된다. 상기 "최적의 서버"를 선택하기 위해서는 임의의 간편한 메카니즘이 사용될 수 있다.
본 발명에 의하면, 자원 라우터라 불리는 설비(46)가 제공되며, 이 설비는 지정된 서버 자원 객체를 새로이 액세스하기 위한 모든 입력 클라이언트 요구의 목표물을 생성한다. 상기 자원 라우터(46)는 상기 요구의 객체에 기반하여 클라이언트의 요구를 상기 "최적의 공급자" 또는 가장 적절한 서버로 라우팅하거나 지향하게 할 수 있다. 상기 요구된 객체를 상기 자원 라우터의 포트 공간(port space) 내의 TCP/IP 포트 번호에 매핑하는 데에 인코딩(encoding) 또는 매핑 구조가 사용된다. 이 매핑은 각 서버 객체에 대한 로우를 구비한 자원 테이블(48)이다. 상기 로우의 내용은 요구된 객체를 서비스할 수 있는 포트 번호, 서버 객체 및 서버의 목록이다. 상기 서버의 목록은 미리 지정된 기준을 기반으로 정렬되어 지정된 기준에 가장 양호하게 정합되는 서버가 상기 요구를 수신하도록 하는 것이 바람직하다. 자원 라우터는 서버 객체가 변경되도록 포트 공간을 관리하기 위한 메카니즘(50)을 포함하고 (특히, 만약 서버 객체가 삭제되었다면), 포트는 무효 요구를 나타내는 "비활성(inactive)"으로 표시되는 것이 바람직하다. 또는 상기 포트를 교정하여 다른 서버 객체로 매핑시킨다.
본 발명에 따르면, 상기 요구는 상기 자원 라우터에 의하여 상기 서버로 전송되거나, 또는 서버를 지정하는 방향 전환 응답이 상기 클라이언트에게 회신되어다시 그 응답을 상기 서버로 방향 전환시킨다. 따라서, 클라이언트 요구의 라우팅 및 방향 전환은 서버 객체(서버 풀의 자원 객체)를 상기 자원 라우터에서의 TCP/IP 포트로 계속적으로 매핑시켜 상기 클라이언트 요구가 수신된 포트에 기반하여 "최적의 서버"를 선택함으로써, 상기 자원 라우터(46)에 의하여 성취된다.
본 발명에 따르면, 라우팅 및 방향 전환을 위하여 서버 객체를 TCP/IP 포트로 매핑시키는 본 발명의 기술 사상은 두 가지 바람직한 실시예에 의하여 구현될 수 있다. 그 중의 하나는 기본적인 방법으로서, 프로토콜의 IP 레벨에서 달성된다. 두번째 방법은 보다 높은 레벨, 즉 제한 없이 HTTP를 포함하여 방향 전환할 수 있는 IP 기반 프로토콜에 대하여 사용된다. 각 방법에 관하여 이하에서 설명한다.
<IP 레벨에서의 방향 전환 불가능 프로토콜에 따른 라우팅>
첫번째 방법인 IP 레벨에서의 방향 전환을 도 4a 및 도 4b에 도시하였다. 이 방법에 의하면, 상기 자원 라우터(46)는 프록시/게이트웨이(proxy/gateway) 또는 "핸드 오프(hand-off)" 중의 어느 한 가지 방법으로 동작한다. 도 4a에 도시된 첫 번째 방법에서, 상기 자원 라우터(46)는 게이트웨이 또는 프록시 모드(mode)에서 실행된다. 특히, 이 모드에서는, 상기 자원 라우터는 상기 클라이언트에게는 상기 요구의 단점 목적지(endpoint target)로서 여겨지며, 상기 서버에게는 상기 요구의 단점 발원지(endpoint originator)로서 여겨진다. 도 4a에 도시된 바와 같이, 모든 요구는 상기 웹 클라이언트로부터 상기 자원 라우터로 입력된다. 상기 자원 라우터는 응답을 공식화하기 위하여 상기 클라이언트의 어드레스를 저장하고, 상기 클라이언트 대신에 상기 요구를 상기 서버로 전송한다. 이렇게 전송된 요구는 "발신"필드(field) 내에 상기 자원 라우터의 어드레스를 포함한다. 상기 서버는 상기 서버의 응답을 상기 "전송" 필드의 어드레스에 접근함으로써 상기 자원 라우터에 응답한다(요구와 응답은 통상적으로 요구자에게 응답하기 위하여 상기 "발신" 및 "수신" 필드를 서로 교체함으로써 상기 서버로 경로가 지정된다.). 상기 자원 라우터는 처음에 입력된 요구에 저장했던 어드레스를 사용하여 상기 서버의 응답을 상기 클라이언트로 전송한다. 모든 통신의 흐름은 상기 자원 라우터를 통하여 통신한다.
도 4b에 도시된 두번째 동작 방법에서, 상기 자원 라우터는 "핸드 오프(handoff)" 모드에서 동작한다. 클라이언트로부터의 최초의 요구는 자원 라우터를 목적지로 한다. 상기 자원 라우터는 가장 적절한 서버를 선택하여 상기 최초의 요구를 상기 서버로 전송하지만, 상기 자원 라우터는 "발신" 필드를 설정된 대로 유보하는 방식으로 상기 요구를 상기 요구한 클라이언트로 전송한다. 상기 서버는 상기 요구를 회신하고 상기 "발신" 필드에서 수신한 어드레스를 목적지로 정함으로써, 상기 응답을 상기 클라이언트에게 직접 회송한다. 상기 자원 라우터는 클라이언트가 서버 객체를 교체하여 새로운 또는 다른 서버 객체로의 최초의 액세스 요구를 송신할 때까지 상기 클라이언트/서버 대화에 다시 관여하지 않는다. 상기 새로운 객체로의 액세스를 위한 최초의 요구는 다시 상기 자원 라우터로 향한다. 상기 자원 라우터는 다시 최적의 서버로 상기 요구를 "핸드 오프"시킨다.
도 5에 도시된 바와 같은 비방향 전환 프로토콜에 대해서, 상기 자원 라우터(46)가 게이트웨이/프록시 모드에서 또는 핸드 오프 모드에서 동작할 때, 모든 최초의 요구는 상기 자원 라우터를 통하여 전송된다. 서버 선택은 입력되는 요구가 전달된 TCP/IP 포트에 기반한다. 특히, 입력되는 요구는 상기 자원 라우터를 목적지로 하며, 포트가 설정되기를 대기한다. 입력 요구가 수신된 포트에 기반하여 상기 요구된 자원에 대한 "최적의" 공급자를 선택한다. 이 목적을 위하여 자원 테이블 또는 "매핑" 테이블(48)이 사용된다. 이러한 포트에 대한 상세한 설명(port specification)은 IP 패킷(packet)의 외부 레이어(outer layer)의 일부이다. 따라서, 상기 입력되는 IP 패킷의 추가적인 분석은 불필요하다. 만약 상기 입력되는 IP 패킷이 암호화되었다면, 상기 자원 라우터가 상기 패킷을 해독할 필요는 없다. 상기 패킷은 상기 자원 라우터에 의하여 단순히 상기 "최적의" 서버로 전송된다. 따라서, 이러한 라우팅 및 방향 전환을 상기 프로토콜의 IP 레벨에서 처리함으로써 달성한다. 이 방법은 상기 자원 라우터에서 상당한 처리 오버헤드(overhead)를 감소시킬 수 있는 한편, 전송된 요구의 목적지가 될 가장 적절한 서버를 결정한다.
만약 상기 자원 라우터가 게이트웨이/프록시 또는 핸드 오프 모드에서 실행중이고, 또한 암호화된 요구가 상기 클라이언트에 의하여 전송되었다면, 상기 자원 라우터가 그 객체를 위한 서버를 선택하기 위하여 상기 입력 요구를 해독할 필요는 없다. 패킷의 암호화된 부분은 상기 서버로 전송된다. 유사하게, 만약 암호화된 응답이 상기 서버로부터 상기 자원 라우터를 통해 상기 클라이언트로 전송된다면, 상기 자원 라우터가 상기 응답 패킷을 해독할 필요는 없다. 상기 응답 패킷은 단순히 상기 클라이언트로 전송된다. 핸드 오프 모드에서의 암호화된 응답에 대해서, 상기 자원 라우터는 응답 경로 중에 존재하지 않는다. 이는 상기 자원 라우터에서 상기 요구를 처리하는 데에 상당한 처리 오버헤드를 감소시킬 수 있게 한다.
<방향 전환 가능한 상위 레벨 IP 프로토콜에 따른 라우팅>
도 6은 본 발명의 원리에 의해 방향 전환 가능한 프로토콜에 따라 자원 라우팅하는 것을 도시한 도면이다. 도 6에 도시된 실시예에 의하면, 상기 웹 클라이언트로 "프라임 부호가 부착된(primed)" 웹 페이지가 전달된 것으로 가정한다. 웹 페이지는 서버의 풀에 대한 서버 객체를 참조하는 앵커를 포함하며, 상기 서버 객체들 모두는 네트워크에서 상호 접속되어 있으며, (상기한 바와 같이) 상호간에 또한 자원 라우터와 통신할 수 있다. 상기 "프라임 부호가 부착된" 웹 페이지의 앵커는 다음의 형식을 갖는 것이 바람직하다. 즉,
<서버 명칭>:<포트 번호>
여기서 <서버 명칭>은 상기 자원 라우터(46)에 대한 IP 어드레스이며, <포트 번호>는 상기 자원 라우터에서 포트 공간의 TCP/IP 포트 번호이다. 그리하여, 상기 "프라임 부호가 부착된" 웹 페이지가 다음의 형식, 즉
http://<서버 명칭>:<포트>/<데이터베이스 또는 파일명>
을 가진 URL을 지정하기 때문에, 다음의 형식, 즉
<IP 어드레스:포트><헤더><HTTP 패킷><트레일러(trailer)>.
를 가진 표준 TCP/IP 프로토콜 취급자에 의하여 대응하는 IP 패킷 헤더가 자동적으로 생성된다. 즉,
웹 클라이언트에 있는 사용자가 상기 앵커중의 어느 하나를 선택하면, 도 6에 도시된 바와 같은 처리가 수행된다.
상기 서버 객체에 대한 최초의 요구는 상기 자원 라우터로 전송되며, 상기요구는 상기 "프라임 부호가 부착된" 웹 페이지에 의하여 조회되는 포트에 대하여 설정된 포트에서 대기하고 있다. 상기 자원 라우터에서 상기 입력 요구가 수신된 포트를 기반으로 하여 상기 요구된 객체를 제공할 수 있는 "최적의 서버"를 발견하도록 자원 테이블(48) 룩업(lookup)이 수행된다. HTTP 301 방향 전환 응답이 상기 요구한 웹 클라이언트로 회신되며, 상기 방향 전환 응답에 대한 HTTP 헤더의 위치 필드(location field)에는 상기 최적의 서버가 회신된다. 상기 301 방향 전환 응답에 응답하여 상기 웹 클라이언트 프로그램은 상기 요구를 상기 방향 전환 응답의 위치 기록에 지시된 서버로 자동적으로 전송한다. 그 다음에, 상기 서버가 응신하면, 상기 요구된 객체(예컨대, 웹 페이지, 데이터베이스 엔트리(entry) 및 서비스 등)를 공급한다.
따라서, 상기 자원 테이블 룩업은 HTTP 헤더를 조작할 필요가 있기 때문에, 기초적인 IP 라우팅보다 높은 레벨에서 달성되는 방향 전환 응답을 공식화하는데 사용된다. 방향 전환 응답에 사용되는 이러한 응신 헤더(reply header)는 입력되는 HTTP 헤더를 분석하지 않은 채로 구성된다. 특히, 상기 응신 헤더는 요구된 서버 객체(서버 객체는 상기 요구를 수신한 포트에 기반하여 자원 라우터에 알려져 있음) 및 클라이언트 어드레스(클라이언트 어드레스는 외부 레이어의 IP 요구로 이용 가능함)를 인지함에 의하여 구성된다. HTTP 프로토콜의 경우에 대하여는, 상기 방향 전환 응답이 도 6에 도시된 바와 같이 상기 응답 헤더의 위치 필드에서 "최적의 공급자"인 서버를 지정하고 HTTP 301 응답 코드에 따라 상기 응답 헤더를 회신함으로써 달성된다.
만약 상기 클라이언트로부터 입력되는 HTTP 요구가 암호화되었다면, 자원 라우터는 사용된 암호화 기술에 따라 상기 방향 전환 응답을 암호화할 필요가 있다. 예컨대, 이것은 상기 요구한 클라이언트가 암호화된 응답을 요구한 결과일 수 있다. 이 경우에, 여전히 상기 자원 라우터는 상기 입력 요구의 HTTP 패킷을 해독하지 않고도 상기 방향 전환 응답을 구성할 수 있다. 상기 자원 라우터에 알맞은 정보가 상기 포트 번호에 수반되기 때문에, 상기 요구 패킷의 내용을 인지할 필요는 없다. 응답을 암호화하기 위하여는 사용된 암호화 기술에 기반하여 상기 클라이언트 및 서버가 사용한 암호화 키(encryption key) 및 인증(certificate)에 액세스할 필요가 있을 수 있다. 그러나, 상기 자원 라우터에서는 여전히 상기 입력되는 HTTP 패킷을 해독하고 분석하는 것과 관련된 처리 오버헤드가 상당히 감소된다.
<방향 전환 라우팅 및 핸드 오프 모드>
방향 전환 가능 프로토콜의 경우와, 핸드 오프 모드에서 자원 라우터가 동작하는 경우에 있어서, 방향 전환의 이점은 일단 방향 전환이 달성되면, 상기 클라이언트-서버 통신 경로로부터 상기 자원 라우터를 제거한다는 점이다. 이렇게 함으로써, 클라이언트에서의 최종 사용자가 인지하는 서버의 응답 성능(responsiveness)이 향상된다. 모든 경우에, IP 포트 정보에 기반하여 최적의 서버를 선택함으로써, HTTP 패킷을 분석하여 요구의 객체를 결정하는 시스템에 비하여 상당한 처리 오버헤드를 감소시킬 수 있다.
도 7a 내지 도 7c는 자원 라우터의 동작을 보다 상세히 도시한 흐름도이다. 도 7a는 상기 자원 라우터가 입력 요구를 처리하는 방법을 도시한 흐름도이다. 단계 70에서 상기 루틴(routine)이 시작되어 상기 자원 라우터가 상기 입력 요구에 대하여 설정된 포트에서 "대기"한다. 포트마다 대기하는 프로세스가 존재하거나, 그 포트에 할당된 다수의 대기자 쓰레드(listener thread)를 구비하는 하나의 멀티 쓰레드 프로세스(multi-threaded process)가 존재할 수 있다. 단계 72에서, IP 요구가 수신되었는지를 판단한다. 만약 상기 단계 72의 판단의 결과, IP 요구가 수신되지 않았다면, 상기 루틴은 다시 상기 단계 70으로 복귀한다. 그러나, 만약 상기 단계 72의 판단의 결과 IP 요구가 수신되었다면, 상기 루틴은 IP 헤더를 분석하여 상기 포트 번호를 식별하는 상기 단계 74로 진행한다. 단계 76에서, 상기 루틴은 상기 포트 번호를 상기 서버 자원 객체로 매핑한다. 단계 78에서, 상기 자원 객체에 사용될 최적의 서버가 선택된다. 그 다음에, 단계 80에서는 방향 전환 가능 프로토콜이 사용되고 있는가를 판단하는 시험이 행해진다. 방향 전환 가능 프로토콜이 사용되고 있는 경우, 본 루틴은 단계 82로 분기되어 상기 방향 전환 가능 요구를 처리한다. 이 프로세스는 도 7b에 도시된 흐름도에 기술되었다. 만약 상기 단계 80의 판단 결과, 방향 전환 불가능 프로토콜이 사용되고 있는 것으로 나타난다면, 상기 루틴은 단계 84로 분기되며, 이에 관하여는 도 7c의 흐름도에서 기술하였다. (도 7b 또는 도 7c로부터) 복귀되면, 본 루틴은 바로 상기 단계 70으로 복귀하여 다음의 요구를 대기한다.
도 7b는 상기 방향 전환 가능 프로토콜 처리 루틴을 도시하며, 본 루틴은 "301" 방향 전환 요구를 구성하는 단계 86에서 시작된다. 단계 88에서, 상기 요구가 암호화되었는가에 관하여 판단하는 시험이 행해진다. 상기 요구가 암호화되지않은 것으로 판단되면, 상기 루틴은 단계 90에서 응답을 상기 클라이언트 머신으로 송신한다. 그 다음에, 처리 루틴이 복귀되어 다음 요구를 대기한다. 만약, 상기 단계 88의 판단의 결과가 상기 요구가 암호화되었다는 것을 나타낸다면, 상기 루틴은 단계 92로 분기하여 상기 단계 90 이전에 상기 방향 전환 응답을 먼저 암호화한다.
상기 방향 전환 불가능 프로토콜 처리 루틴은 도 7c에 도시되었으며, 본 루틴은 서버에 대한 전송 패킷(forwarding packet)을 구성하는 단계 94로부터 시작한다. 단계 96에서, 상기 자원 라우터가 프록시 모드에 있는지의 여부를 판단하는 시험이 수행된다. 상기 자원 라우터가 프록시 모드에 있지 않다면, 본 루틴은 상기 흐름도의 왼편으로 분기하며, 상기 응답 필드를 상기 클라이언트로 설정하는 단계 98로 진행한다. 단계 100에서, 상기 응답 필드는 상기 서버로 송신되며, 그후에 처리 루틴이 복귀되어 다음의 요구를 대기한다. 그러나, 만약 상기 단계 96의 판단의 결과가 상기 자원 라우터가 프록시 모드에 있는 것으로 나타난다면, 상기 루틴은 오른편 로직으로 분기한다. 단계 102에서, 상기 루틴은 상기 응답 필드를 상기 자원 라우터로 설정한다. 단계 104에서 상기 응답 필드가 상기 서버로 송신된다. 본 루틴은 단계 106으로 진행하여 서버 응답을 대기한다. 단계 108에서, 서버 응답이 수신되었는지를 판단하는 시험이 수행된다. 서버 응답이 수신되지 않았다면, 본 루틴은 단계 106으로 회귀한다. 만약 상기 단계 108의 판단의 결과, 서버 응답이 수신되었다면, 단계 110에서 상기 서버 응답은 상기 클라이언트로 송신되며, 그 다음에 제어는 다음의 클라이언트 요구를 기다리기 위하여 복귀한다. 이렇게 하여 루틴 처리를 완료한다.
본 발명에 의하여 몇 가지 중요한 이점이 제공된다. 서버 객체에 기반하여 HTTP 요구를 분석하고 방향 전환이 수행되며, 이러한 정보는 자원 매핑 테이블에서 클라이언트에게 제공된다. 상기 자원 라우터는 IP:포트를 서버의 자원에 매핑한다. 이와 같은 방법은 상기 TCP/IP 패킷을 개방 및/또는 해독하는 것을 미연에 방지하여 요구된 서버 객체를 결정한다.
실제로, 본 발명에 의하면, 라우팅 정보의 중요한 부분(즉, 요구된 서버 자원의 명칭)을 상기 TCP/IP 프로토콜의 상위 레벨로부터 하위 레벨로 이동시킨다. 방향 전환 가능 프로토콜이 사용됨에 의하여 이것은 상기 포트 번호를 소정의 TCP/IP 패킷의 HTTP 요구 이전에 미리 계류시키고 상기 자원 라우터로 하여금 서버 자원 위치 정보를 보유한 상기 라우팅 테이블을 룩업하는 데에 상기 포트 번호를 사용하도록 함으로써 달성된다.
상기 자원 라우터가 다양한 서버로 클라이언트 요구를 방향 전환시킬 수 있기 때문에, 상기 서버 객체를 포트 번호로 매핑시키는 것은 다수의 서버들 사이에 전파되어야 한다. 이러한 방식으로, 서버상의 모든 복사된 객체는 동일한 포트 번호 매핑을 갖는다. 상기 서버는 클라이언트의 대화를 제어하기 때문에(즉, 클라이언트로부터의 HTTP 요구는 상기 서버에 의하여 생성되기 때문에), 상기 서버 객체/포트 매핑 데이터가 상기 클라이언트에게 전파될 필요는 없다.
시간 경과에 따라 상기 객체 대 포트 매핑을 유지하는 경우에는 주의가 필요하다. 서버 자원 객체가 소실됨에 따라 포트를 확실하게 교정하기 위하여 포트를 관리하기 위한 수단이 제공되는 것이 바람직하다. 특히, 상기 자원 라우터는 포트공간을 관리하기 위한 매카니즘을 포함하며, 서버 객체가 변경됨에 따라(특히, 만약 서버 객체가 삭제되는 경우), 상기 포트를 무효의 요구임을 나타내는 비활성화로 표시하거나, 또는 상기 포트를 교정하여 다른 서버 객체로 매핑시킨다.
본 발명의 기술분야에서 통상의 지식을 가진 자라면, 전술한 실시예들은 단지 도시의 목적으로 나타내었음을 알 수 있을 것이다. 따라서, 본 발명은 데이터베이스를 IP 포트 번호에 매핑하는 것에 한정되는 것으로 해석되어서는 안된다. 본 발명은 임의의 서버 객체를 IP 포트 번호에 매핑하는 것과, 서버 객체를 TCP/IP 프로토콜의 하위 레벨에 노출시키는 것을 포괄하도록 하기 위한 것이다.
본 발명은 클라이언트 요구에 대한 활용 가능성, 응답성 및 부하 균형을 향상시킴으로써, 다수의 비동질적인 서버에 걸쳐 객체에 액세스한다. 본 발명은 표준 IP 프로토콜을 사용하지만, 요구된 서버 객체의 인식을 상기 프로토콜의 하위 레벨에 노출시킨다.
따라서, 본 발명은 높은 성능과 종단간 보안 특성을 유지하면서 서버 객체로 요구의 지능형 라우팅을 제공하고자 하는 모든 기업 또는 기타의 네트워크 컴퓨팅 환경에 큰 이점을 제공한다.
다수의 서버에 걸쳐 HTTP 요구를 분산시키고 요구된 서버 객체에 기반하여 서버를 선택하기 위한 선택 로직(decision logic)을 요구하는 임의의 TCP/IP 솔류션(solution)은 잠재적으로 전술한 솔류션을 사용할 수 있다.
전술한 바와 같이, 본 발명의 바람직한 실시예의 하나는 컴퓨터의 랜덤 액세스 메모리(random access memory)에 존재하는 코드 모듈(code module)의 명령집합(프로그램 코드)으로서 구현된다. 컴퓨터에 의하여 요구될 때까지, 상기 명령 집합은 예컨대 하드 디스크 드라이브와 같은 다른 컴퓨터 메모리, 또는 (궁극적으로 CD ROM에서 사용하기 위하여) 광디스크(optical disk)와 같은 제거 가능한 메모리나 (궁극적으로 플로피 디스크 드라이브에서 사용하기 위한) 플로피 디스크 등에 저장되거나 또는 인터넷이나 다른 컴퓨터 네트워크를 통하여 다운로드될 수 있다.
또한, 전술한 다수의 방법들은 통상적으로 소프트웨어에 의하여 선택적으로 활성화되거나 재구성되는 범용 컴퓨터에 구현되지만, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 전술한 방법들은 하드웨어, 펌웨어(firmware), 또는 상기에서 요구되는 방법들의 단계들을 수행할 수 있도록 보다 개별화된 장치에서 구현될 수도 있음을 이해할 것이다.
본 명세서에서 사용된 바와 같이, "웹 클라이언트"는 인터넷과 같은 컴퓨터 네트워크에 주지의 방법으로 또는 이후에 개발될 방법으로 직접 또는 간접적으로 접속되었거나 접속될 수 있는 임의의 컴퓨터 또는 그 구성 요소 등을 의미하는 것으로 널리 해석되어야 한다. "웹 서버"라는 용어도 컴퓨터, 컴퓨터 플랫폼, 컴퓨터나 플랫폼의 부속물(adjunct) 또는 그들의 임의의 구성요소 등을 의미하는 것으로 널리 해석되어야 한다. 물론, "클라이언트"는 파일을 요구하거나 취득하는 자를 의미하는 것으로, 또한 "서버"는 상기 파일을 다운로드시키는 임의의 형태(entity)를 의미하는 것으로 널리 해석되어야 한다. 나아가, 본 발명은, 웹 브라우저를 구비하고 HTTP를 사용하는 클라이언트에서만이 아니라, 임의의 형태의 인터넷 프로토콜에서 사용되거나 실시될 수 있다. 그리하여, 본 명세서에서 사용된 바와 같이, "브라우저"라는 언급은 IP 클라이언트를 포괄하는 것으로 널리 해석되어야 한다. 또한, 상기한 바와 같이, "방향 전환 가능" 프로토콜은 단지 HTTP만으로 한정되는 것은 아니며, 이는 본 발명이 그러한(방향 전환 가능한) 임의의 프로토콜에서 실시될 수 있기 때문이다.
도면과 상세한 설명에서 본 발명의 전형적인 바람직한 실시예를 개시하며 특정의 용어를 채용하였으나, 그것들은 일반적이고 기술적인 의미로만 사용되었을 뿐이며 한정의 목적을 가진 것은 아니며, 본 발명의 범위는 이하의 특허청구범위에 의하여 결정된다.
본 발명에 의하면, 다수의 비동질적인 서버에 걸쳐 객체에 액세스하기 위한 클라이언트 요구에 대한 활용 가능성, 응답성 및 부하 균형을 향상시킬 수 있다.

Claims (27)

  1. 일단의 서버 자원 객체(server resource object)로 액세스하기 위한 요구를 서비스할 수 있는 서버들의 풀(pool)을 구비한 컴퓨터 네트워크에서의 라우팅(routing) 방법에 있어서,
    복수의 포트(port)를 식별하는 관련 포트 공간(associated port space)을 구비하는 라우터(router)에서 지정된 서버 자원 객체로 액세스하기 위하여 입력 클라이언트 요구(client request)를 수신하는 단계와,
    상기 입력 클라이언트 요구가 수신된 포트에만 기반하여 상기 입력 클라이언트 요구를 상기 서버 자원 객체 중의 어느 하나로 매핑(mapping)하는 단계
    를 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  2. 제1항에 있어서, 소정의 기준에 의하여 상기 서버 자원 객체를 서비스할 수 있는 상기 서버들의 풀로부터 소정의 서버를 선택하는 단계를 더 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  3. 제2항에 있어서, 상기 요구를 상기 소정의 서버로 전송하는 단계를 더 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  4. 제2항에 있어서, 상기 입력 클라이언트 요구를 발원시킨 클라이언트 머신으로 상기 소정의 서버를 지정하는 방향 전환 응답(redirection response)을 회신하는 단계를 더 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  5. 제4항에 있어서, 상기 방향 전환 응답을 상기 소정의 서버로 방향 전환시키는 단계를 더 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  6. 제1항에 있어서, 상기 매핑 단계는 복수의 로우(row)를 포함하는 매핑 테이블(mapping table)-상기 각각의 로우는 포트 번호, 서버 자원 객체 및 상기 서버 자원 객체를 서비스할 수 있는 서버의 목록을 포함함-을 사용하는 컴퓨터 네트워크에서의 라우팅 방법.
  7. 제6항에 있어서, 연관된 서버 자원 객체가 이용 가능하지 않은 경우에 포트 번호를 비활성화된 것으로 표시하는 단계를 더 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  8. 제6항에 있어서, 상기 매핑 테이블에서 포트 번호를 교정하고 상기 교정된 포트 번호를 다른 서버 자원 객체와 연관시키는 단계를 더 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  9. 제1항에 있어서, 상기 각 입력 클라이언트 요구는 웹 브라우저를 구비한 클라이언트 머신으로부터 나오는 컴퓨터 네트워크에서의 라우팅 방법.
  10. 제9항에 있어서, 상기 입력 클라이언트 요구는 상기 라우터, 상기 포트 공간의 포트 번호 및 소정의 서버 자원 객체를 참조하는 최소한 하나의 앵커를 포함하는 웹 페이지가 상기 웹 브라우저에 디스플레이되도록 상기 웹 페이지에 프라임(prime) 표지를 부착함으로써 상기 라우터를 목적지로 정하는 컴퓨터 네트워크에서의 라우팅 방법.
  11. 일단의 서버 자원 객체(server resource object)로 액세스하기 위한 요구에 대하여 서비스할 수 있는 서버들의 풀(pool)을 구비한 컴퓨터 네트워크(computer network)에서의 라우팅(routing) 방법에 있어서-상기 일단의 서버 자원 객체는 상기 서버 풀에 걸쳐 비동질적인 방식(non-homogeneous manner)으로 분산되어 있음-,
    복수의 포트(port)를 식별하는 관련 포트 공간(associated port space)을 구비하는 라우터(router)에서 지정된 서버 자원 객체로 액세스하기 위하여 입력 클라이언트 요구(client request)를 수신하는 단계와,
    클라이언트 요구를 수신한 포트에만 기반하여 상기 클라이언트 요구를 상기 서버 자원 객체 중의 어느 하나로 매핑(mapping)하는 단계와,
    상기 서버들의 풀 내에 있는 서버들의 서브세트-상기 서버들의 서브세트 내의 상기 각각의 서버는 상기 서버 자원 객체를 서비스할 수 있음-에서 소정의 서버를 선택하는 단계와,
    상기 소정의 서버로 상기 클라이언트 요구를 전송하는 단계
    를 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  12. 일단의 서버 자원 객체(server resource object)로 액세스하기 위한 요구에 대하여 서비스할 수 있는 서버들의 풀(pool)을 구비한 컴퓨터 네트워크(computer network)에서의 라우팅(routing) 방법에 있어서-상기 일단의 서버 자원 객체는 상기 서버 풀에 걸쳐 비동질적인 방식(non-homogeneous manner)으로 분산되어 있음-,
    다수의 포트(port)를 식별하는 관련 포트 공간(associated port space)을 구비하는 라우터(router)에서 지정된 서버 자원 객체로 액세스하기 위하여 입력 클라이언트 요구(client request)를 수신하는 단계와,
    클라이언트 요구를 수신된 포트에만 기반하여 상기 클라이언트 요구를 상기 서버 자원 객체 중의 어느 하나로 매핑(mapping)하는 단계와,
    상기 서버들의 풀 내에 있는 서버들의 서브세트-상기 서버들의 서브세트 내의 상기 각각의 서버는 서버 자원 객체를 서비스할 수 있음-중에서 소정의 서버를 선택하는 단계와,
    상기 입력 클라이언트 요구를 발원시킨 클라이언트 머신으로 상기 소정의 서버를 지정하는 방향 전환 응답(redirection response)을 회신하는 단계
    를 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  13. 일단의 서버 자원 객체(server resource object)로 액세스하기 위한 요구에 대하여 서비스할 수 있는 서버들의 풀(pool)을 구비한 컴퓨터 네트워크(computer network)에서 클라이언트 요구의 라우팅(routing)을 제어하도록 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램 제품에 있어서,
    다수의 로우를 포함하는 매핑 테이블(mapping table)-상기 각각의 로우는 포트 번호, 서버 자원 객체 및 상기 서버 자원 객체를 서비스할 수 있는 서버의 목록을 포함함-을 운영하기 위한 수단과,
    지정된 서버 자원 객체에 액세스하기 위하여 입력 클라이언트 요구에 응답하고, 라우터 내의 상기 매핑 테이블을 이용하여 상기 서버 자원 객체들 중의 어느 하나로 상기 클라이언트 요구-상기 클라이언트 요구는 상기 입력 클라이언트 요구를 수신하는 포트에만 기반함-를 매핑하는 수단
    을 포함하는 컴퓨터 프로그램 제품.
  14. 제13항에 있어서, 상기 서버들의 풀로부터 소정의 기준에 의하여 상기 서버 자원 객체를 서비스할 수 있는 소정의 서버를 선택하는 수단을 더 포함하는 컴퓨터 프로그램 제품.
  15. 제14항에 있어서, 상기 요구를 상기 소정의 서버로 전송하기 위한 수단을 더 포함하는 컴퓨터 프로그램 제품.
  16. 제14항에 있어서, 상기 입력 클라이언트 요구를 발원시킨 클라이언트 머신으로 상기 소정의 서버를 지정하는 방향 전환 응답(redirection response)을 회신하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
  17. A) 프로세서와,
    B) 운영 체계(operating system)와,
    C) 일단의 서버 자원 객체(server resource object)로 액세스하기 위한 요구에 대하여 서비스할 수 있는 서버들의 풀(pool)을 구비한 컴퓨터 네트워크(computer network)에서 클라이언트 요구의 라우팅(routing)을 제어하는 라우터(router)를 포함하고,
    상기 라우터는,
    C-1) 다수의 로우를 포함하는 매핑 테이블(mapping table)-상기 각각의 로우는 포트 번호, 서버 자원 객체 및 상기 서버 자원 객체를 서비스할 수 있는 서버의 목록을 포함함-을 운영하기 위한 수단과,
    C-2) 지정된 서버 자원 객체로 액세스하여 입력 클라이언트 요구에 응답하고, 상기 매핑 테이블을 이용하여 상기 서버 자원 객체들 중의 어느 하나로 상기 요구-상기 클라이언트 요구는 상기 입력 클라이언트 요구를 수신하는 포트에만 기반함-를 매핑하는 수단
    을 포함하는 컴퓨터.
  18. 제17항에 있어서, 상기 라우터는,
    C-3) 상기 서버들의 풀로부터 소정의 기준에 의해 상기 서버 자원 객체를 서비스할 수 있는 소정의 서버를 선택하는 수단을 더 포함하는 컴퓨터.
  19. 제18항에 있어서, 상기 라우터는,
    C-4) 상기 요구를 상기 소정의 서버로 전송하기 위한 수단을 더 포함하는 컴퓨터.
  20. 제18항에 있어서, 상기 라우터는,
    C-5) 상기 입력 클라이언트 요구를 발원시킨 클라이언트 머신으로 상기 소정의 서버를 지정하는 방향 전환 응답(redirection response)을 회신하기 위한 수단을 더 포함하는 컴퓨터.
  21. 일단의 서버 자원 객체(server resource object)로 액세스하기 위한 요구에 대하여 서비스할 수 있는 서버들의 풀(pool)로 라우터(router)를 통하여 접속할 수 있는 요구 웹 클라이언트(Web client)를 구비한 컴퓨터 네트워크(computer network)에서의 라우팅 방법에 있어서,
    웹 페이지(Web page)에서 <서버 명칭>:<포트 번호>-상기 <서버 명칭>은 상기 라우터의 IP 어드레스이며, 상기 <포트 번호>는 상기 라우터에서의 포트 공간의TCP/IP 포트 번호임-의 형식의 앵커(anchor)를 활성화시키는 것에 응답하여 상기 라우터로부터 클라이언트 요구를 수신하는 단계와,
    상기 클라이언트 요구를 수신한 포트에만 기반해서 상기 포트 번호를 상기 서버 자원 객체 중의 어느 하나로 매핑하는 단계와,
    상기 서버들의 풀 내에 있는 서버들의 서브세트-상기 서버들의 서브세트 내의 각각의 서버는 상기 매핑 단계에서 인지된 서버 자원 객체를 제공할 수 있음-중에서 소정의 서버를 선택하는 단계와,
    상기 요구 웹 클라이언트에게 방향 전환 응답-상기 방향 전환 응답에 대한 HTTP 헤더의 위치 필드(location field)에는 최적의 서버가 회신됨-을 회신하는 단계
    를 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  22. 제1항, 제11항, 제12항 및 제21항 중 어느 한 항에 있어서, 상기 라우터는 프록시/게이트 웨이 모드, 핸드오프 모드, 방향 전환 모드를 이용하여 입력 클라이언트 요구를 처리하는 것인 컴퓨터 네트워크에서의 라우팅 방법.
  23. 제1항, 제11항, 제12항 및 제21항 중 어느 한 항에 있어서, 상기 입력 클라이언트 요구가 방향 전환 가능한 요구인지 또는 방향 전환 가능하지 않은 요구인 지의 여부를 판단하는 단계를 더 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  24. 제1항, 제11항, 제12항 및 제21항 중 어느 한 항에 있어서, 상기 입력 클라이언트 요구의 콘텐츠를 암호 해독하지 않은 채로 상기 입력 클라이언트 요구를 라우팅하는 단계를 더 포함하는 컴퓨터 네트워크에서의 라우팅 방법.
  25. 제17항에 있어서, 상기 라우터는 프록시/게이트 웨이 모드, 핸드오프 모드, 방향 전환 모드를 이용하여 입력 클라이언트 요구를 처리하는 수단을 더 포함하는 컴퓨터.
  26. 제17항에 있어서, 상기 클라이언트 요구가 방향 전환 가능한 요구인지 또는 방향 전환 가능하지 않은 요구인 지의 여부를 판단하는 수단을 더 포함하는 컴퓨터.
  27. 제17항에 있어서, 상기 클라이언트 요구의 콘텐츠를 암호 해독하지 않은 채로 상기 클라이언트 요구를 라우팅하는 수단을 더 포함하는 컴퓨터.
KR1019980043069A 1997-11-24 1998-10-14 웹서버객체를tcp/ip포트에매핑하는방법및그장치 KR100320976B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/977,636 1997-11-24
US08/977,636 1997-11-24
US08/977,636 US6360262B1 (en) 1997-11-24 1997-11-24 Mapping web server objects to TCP/IP ports

Publications (2)

Publication Number Publication Date
KR19990044865A KR19990044865A (ko) 1999-06-25
KR100320976B1 true KR100320976B1 (ko) 2002-03-08

Family

ID=25525351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980043069A KR100320976B1 (ko) 1997-11-24 1998-10-14 웹서버객체를tcp/ip포트에매핑하는방법및그장치

Country Status (3)

Country Link
US (1) US6360262B1 (ko)
KR (1) KR100320976B1 (ko)
GB (1) GB2333427B (ko)

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US8037158B2 (en) * 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US8271339B2 (en) 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
EP1018084B1 (en) * 1996-07-25 2011-12-07 Xcelera Inc. Web serving system with primary and secondary servers
JPH11184649A (ja) * 1997-07-25 1999-07-09 Seiko Epson Corp 印刷システム、方法及びプリンタ
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US8296396B2 (en) * 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
GB2338870A (en) * 1998-06-01 1999-12-29 Chen Yong Cong Network of distributed, non-permanent, and human interactive web servers
US6665702B1 (en) 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6611872B1 (en) 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
US6920475B1 (en) * 1999-04-23 2005-07-19 Oracle International Corporation Communication architecture for distributed computing environment
US6502130B1 (en) * 1999-05-27 2002-12-31 International Business Machines Corporation System and method for collecting connectivity data of an area network
JP3307894B2 (ja) * 1999-06-22 2002-07-24 三菱電機株式会社 通信方法
US7346695B1 (en) 2002-10-28 2008-03-18 F5 Networks, Inc. System and method for performing application level persistence
US7287084B1 (en) 1999-07-15 2007-10-23 F5 Networks, Inc. Enabling encryption of application level persistence between a server and a client
US6606704B1 (en) * 1999-08-31 2003-08-12 Intel Corporation Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6983350B1 (en) * 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6668317B1 (en) * 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6427196B1 (en) * 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
US6810411B1 (en) * 1999-09-13 2004-10-26 Intel Corporation Method and system for selecting a host in a communications network
US7272649B1 (en) * 1999-09-30 2007-09-18 Cisco Technology, Inc. Automatic hardware failure detection and recovery for distributed max sessions server
EP1228621A2 (de) * 1999-11-10 2002-08-07 Siemens Aktiengesellschaft Methode zur verteilung von protokollmaschinen
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6625654B1 (en) * 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6631430B1 (en) * 1999-12-28 2003-10-07 Intel Corporation Optimizations to receive packet status from fifo bus
US6307789B1 (en) * 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6584522B1 (en) * 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US6976095B1 (en) * 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US6631462B1 (en) * 2000-01-05 2003-10-07 Intel Corporation Memory shared between processing threads
US6735206B1 (en) * 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for performing a fast service lookup in cluster networking
US6735205B1 (en) * 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for fast packet forwarding in cluster networking
US7072933B1 (en) * 2000-01-24 2006-07-04 Microsoft Corporation Network access control using network address translation
US7925693B2 (en) * 2000-01-24 2011-04-12 Microsoft Corporation NAT access control with IPSec
US6725264B1 (en) * 2000-02-17 2004-04-20 Cisco Technology, Inc. Apparatus and method for redirection of network management messages in a cluster of network devices
US6799214B1 (en) * 2000-03-03 2004-09-28 Nec Corporation System and method for efficient content delivery using redirection pages received from the content provider original site and the mirror sites
US7177901B1 (en) * 2000-03-27 2007-02-13 International Business Machines Corporation Method, system, and computer program product to redirect requests from content servers to load distribution servers and to correct bookmarks
US7555542B1 (en) * 2000-05-22 2009-06-30 Internap Network Services Corporation Method and system for directing requests for content to a content server based on network performance
EP1290853A2 (en) * 2000-05-26 2003-03-12 Akamai Technologies, Inc. Global load balancing across mirrored data centers
US7251688B2 (en) * 2000-05-26 2007-07-31 Akamai Technologies, Inc. Method for generating a network map
US20080005275A1 (en) * 2000-06-02 2008-01-03 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US6981055B1 (en) 2000-08-22 2005-12-27 Internap Network Services Corporation Method and system for optimizing routing through multiple available internet route providers
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US6810430B1 (en) * 2000-09-29 2004-10-26 Abb Automation Inc. Network communications coupler
US7353277B1 (en) * 2000-11-14 2008-04-01 Hewlett-Packard Development Company, L.P. Dynamic load balancing of video requests
JPWO2002042920A1 (ja) * 2000-11-22 2004-04-02 株式会社エヌ・ティ・ティ・ドコモ ネットワークへのアクセスを管理する方法および装置
US20020133616A1 (en) * 2001-01-17 2002-09-19 Richard Yoza Method and apparatus for using a known address to gain access to a service provider having an unknown address
US7849190B2 (en) * 2001-02-23 2010-12-07 Nokia Siemens Networks Oy Internet protocol based service architecture
US6868476B2 (en) * 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7228337B1 (en) * 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
JP2003087297A (ja) * 2001-09-13 2003-03-20 Toshiba Corp パケット転送装置およびパケット転送方法
US20030055979A1 (en) * 2001-09-19 2003-03-20 Cooley William Ray Internet domain name resolver
US7260644B1 (en) * 2001-09-26 2007-08-21 Cisco Technology, Inc. Apparatus and method for re-directing a client session
US7126952B2 (en) * 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
JP3895146B2 (ja) * 2001-10-22 2007-03-22 富士通株式会社 サービス制御ネットワーク、サーバ装置、ネットワーク装置、サービス情報配布方法、及びサービス情報配布プログラム
US7895239B2 (en) 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US6934951B2 (en) * 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7334039B1 (en) 2002-02-01 2008-02-19 Oracle International Corporation Techniques for generating rules for a dynamic rule-based system that responds to requests for a resource on a network
US7243138B1 (en) * 2002-02-01 2007-07-10 Oracle International Corporation Techniques for dynamic rule-based response to a request for a resource on a network
US7490162B1 (en) 2002-05-15 2009-02-10 F5 Networks, Inc. Method and system for forwarding messages received at a traffic manager
US7471688B2 (en) * 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7180862B2 (en) 2002-07-18 2007-02-20 Intel Corporation Apparatus and method for virtual output queue feedback
US7571206B2 (en) * 2002-08-12 2009-08-04 Equallogic, Inc. Transparent request routing for a partitioned application service
US7430755B1 (en) 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
US20040059797A1 (en) * 2002-09-20 2004-03-25 G-Connect Ltd. System and method for enabling a web user to control network services
US7433307B2 (en) * 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US7774484B1 (en) 2002-12-19 2010-08-10 F5 Networks, Inc. Method and system for managing network traffic
US7461146B2 (en) * 2003-01-20 2008-12-02 Equallogic, Inc. Adaptive storage block data distribution
US7627650B2 (en) * 2003-01-20 2009-12-01 Equallogic, Inc. Short-cut response for distributed services
US8499086B2 (en) * 2003-01-21 2013-07-30 Dell Products L.P. Client load distribution
US7937551B2 (en) * 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
US8037264B2 (en) * 2003-01-21 2011-10-11 Dell Products, L.P. Distributed snapshot process
US7127577B2 (en) * 2003-01-21 2006-10-24 Equallogic Inc. Distributed snapshot process
US20040210724A1 (en) * 2003-01-21 2004-10-21 Equallogic Inc. Block data migration
US7426543B2 (en) * 2003-04-25 2008-09-16 Sap Ag Accessing data stored in multiple locations
US7349929B2 (en) 2003-04-25 2008-03-25 Sap Ag Accessing data based on user identity
US7506069B2 (en) * 2003-04-25 2009-03-17 Sap Ag Accessing data in a computer network
US20050055463A1 (en) * 2003-05-16 2005-03-10 Verilegal, Inc. Secure internet functionality
CA2530030C (en) * 2003-06-30 2011-02-08 Finisar Corporation Propagation of signals between devices for triggering capture of network data
US8190722B2 (en) * 2003-06-30 2012-05-29 Randy Oyadomari Synchronization of timestamps to compensate for communication latency between devices
US7484243B2 (en) * 2003-09-30 2009-01-27 International Business Machines Corporation Heterogenous domain-based routing mechanism for user authentication
US7296072B2 (en) * 2003-12-12 2007-11-13 International Business Machines Corporation Enhanced port type agnostic proxy support for web services intermediaries
US7464142B2 (en) * 2003-12-12 2008-12-09 International Business Machines Corporation Port type agnostic proxy support for web services intermediates
US7213099B2 (en) * 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
US7270263B2 (en) * 2004-03-10 2007-09-18 Capital One Financial Corporation Systems and methods for automatically distributing gifts to recipients on behalf of customers
US7502333B2 (en) 2004-03-23 2009-03-10 Hewlett-Packard Development Company, L.P. Pre-configured topology with connection management
US8078705B2 (en) * 2004-04-05 2011-12-13 Hewlett-Packard Development Company, L.P. Key-configured topology with connection management
CN1954576B (zh) * 2004-05-19 2011-10-05 艾利森电话股份有限公司 处理启动请求的方法、装置和系统
US7454479B2 (en) * 2004-05-28 2008-11-18 Microsoft Corporation Flexible teleport architecture
US20050278693A1 (en) * 2004-06-15 2005-12-15 Brunell Edward G Distribution adaptor for network management application development
US20060036721A1 (en) * 2004-06-15 2006-02-16 Dong Zhao Run-time tool for network management application
US7555743B2 (en) * 2004-06-15 2009-06-30 Alcatel-Lucent Usa Inc. SNMP agent code generation and SNMP agent framework for network management application development
US20050278709A1 (en) * 2004-06-15 2005-12-15 Manjula Sridhar Resource definition language for network management application development
US20050278708A1 (en) * 2004-06-15 2005-12-15 Dong Zhao Event management framework for network management application development
US20060004856A1 (en) * 2004-06-15 2006-01-05 Xiangyang Shen Data management and persistence frameworks for network management application development
US20060070082A1 (en) * 2004-06-15 2006-03-30 Manjula Sridhar Managed object framework for network management application development
US20050278361A1 (en) * 2004-06-15 2005-12-15 Brunell Edward G View definition language for network management application development
US7461173B2 (en) * 2004-06-30 2008-12-02 Intel Corporation Distributing timers across processors
US20060259866A1 (en) * 2004-07-20 2006-11-16 Balaji Prasad Virtual user interface for multiple user devices
US7509422B2 (en) * 2004-07-21 2009-03-24 Microsoft Corporation System and method for locating web services
US8037123B2 (en) * 2004-08-27 2011-10-11 Microsoft Corporation Securely and efficiently extending data processing pipeline functionality
US20060122955A1 (en) * 2004-12-02 2006-06-08 Alex Bethlehem System and method for launching a resource in a network
US8732182B2 (en) 2004-12-02 2014-05-20 Desktopsites Inc. System and method for launching a resource in a network
US7730038B1 (en) * 2005-02-10 2010-06-01 Oracle America, Inc. Efficient resource balancing through indirection
JP4672405B2 (ja) * 2005-03-17 2011-04-20 パナソニック株式会社 通信システム、情報処理システム、接続サーバ、処理サーバ、情報処理装置、及び情報処理方法
US8135835B2 (en) * 2005-05-12 2012-03-13 International Business Machines Corporation Hardware and processing request brokerage
US20070016824A1 (en) * 2005-07-14 2007-01-18 International Business Machines Corporation Methods and apparatus for global systems management
CN101005649A (zh) * 2006-01-19 2007-07-25 华为技术有限公司 一种多方通信业务的连接建立方法及系统
US8831011B1 (en) 2006-04-13 2014-09-09 Xceedium, Inc. Point to multi-point connections
US7933205B1 (en) 2006-05-01 2011-04-26 At&T Mobility Ii Llc Generalized interconnection apparatus for delivering services based on real time performance requirements
US8923853B1 (en) 2006-05-04 2014-12-30 At&T Mobility Ii Llc Dynamic provisioning system for policy-based traffic navigation for roaming traffic
US8819242B2 (en) * 2006-08-31 2014-08-26 Cisco Technology, Inc. Method and system to transfer data utilizing cut-through sockets
KR100855495B1 (ko) * 2007-03-13 2008-09-01 삼성전자주식회사 휴대용 단말기의 네트워크 파라미터 자동설정 장치 및 방법
US9413825B2 (en) * 2007-10-31 2016-08-09 Emc Corporation Managing file objects in a data storage system
US8412922B2 (en) * 2007-10-24 2013-04-02 Sercomm Corporation On-site configuration of a hardware device module of a security system
US9154379B2 (en) * 2007-10-25 2015-10-06 Sercomm Corporation Remote configuration of a hardware device module of a security system
US9313108B2 (en) * 2007-12-14 2016-04-12 Ericsson Ab Flexible and scalable method and apparatus for dynamic subscriber services configuration and management
US9473598B2 (en) * 2007-12-18 2016-10-18 International Business Machines Corporation Network connection failover during application service interruption
US20090161843A1 (en) * 2007-12-19 2009-06-25 Nortel Networks Limited Delayed multimedia session
US8756283B2 (en) * 2007-12-19 2014-06-17 Rockstar Consortium USLP Integrated web portal for facilitating communications with an intended party
US20090164645A1 (en) * 2007-12-19 2009-06-25 Nortel Networks Limited Real time communication between web and sip end points
US8613072B2 (en) * 2009-02-26 2013-12-17 Microsoft Corporation Redirection of secure data connection requests
WO2011134495A1 (en) * 2010-04-27 2011-11-03 Nokia Siemens Networks Oy Management of traffic in a communication network and traffic optimization
KR20120071700A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 이동 라우터와 이동 노드 및 그의 서비스 제공 방법
US9397932B2 (en) * 2012-01-17 2016-07-19 Reno Acquisitions, Llc Systems and methods for routing network information
KR102015806B1 (ko) * 2012-10-22 2019-08-29 삼성전자 주식회사 전자장치, 네트워크 시스템 및 프라이비트 네트워크를 구축하는 방법
US20140122567A1 (en) * 2012-10-30 2014-05-01 Qualcomm Incorporated Preemptive framework for accessing short urls
US9772876B2 (en) 2014-01-06 2017-09-26 International Business Machines Corporation Executing an all-to-allv operation on a parallel computer that includes a plurality of compute nodes
US9336040B2 (en) * 2014-09-15 2016-05-10 Intel Corporation Techniques for remapping sessions for a multi-threaded application

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371852A (en) * 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5615340A (en) * 1994-07-21 1997-03-25 Allied Telesyn Int'l Corp. Network interfacing apparatus and method using repeater and cascade interface with scrambling
US5802278A (en) * 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
US5636371A (en) * 1995-06-07 1997-06-03 Bull Hn Information Systems Inc. Virtual network mechanism to access well known port application programs running on a single host system
US5734865A (en) * 1995-06-07 1998-03-31 Bull Hn Information Systems Inc. Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
US5692129B1 (en) * 1995-07-07 1999-08-17 Novell Inc Managing application programs in a computer network by using a database of application objects
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5751961A (en) * 1996-01-31 1998-05-12 Bell Communications Research, Inc. Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point
US5862348A (en) * 1996-02-09 1999-01-19 Citrix Systems, Inc. Method and apparatus for connecting a client node to a server node based on load levels
US5856974A (en) * 1996-02-13 1999-01-05 Novell, Inc. Internetwork address mapping gateway
US5751956A (en) * 1996-02-21 1998-05-12 Infoseek Corporation Method and apparatus for redirection of server external hyper-link references
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
US5878219A (en) 1996-03-12 1999-03-02 America Online, Inc. System for integrating access to proprietary and internet resources
US6006266A (en) * 1996-06-03 1999-12-21 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
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
US6470389B1 (en) 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
CA2202572C (en) 1997-04-14 2004-02-10 Ka Lun Eddie Law A scaleable web server and method of efficiently managing multiple servers
US6070191A (en) * 1997-10-17 2000-05-30 Lucent Technologies Inc. Data distribution techniques for load-balanced fault-tolerant web access

Also Published As

Publication number Publication date
US6360262B1 (en) 2002-03-19
GB2333427B (en) 2003-02-26
GB2333427A (en) 1999-07-21
GB9824581D0 (en) 1999-01-06
KR19990044865A (ko) 1999-06-25

Similar Documents

Publication Publication Date Title
KR100320976B1 (ko) 웹서버객체를tcp/ip포트에매핑하는방법및그장치
US7093279B2 (en) Method and system for automatic invocation of secure sockets layer encryption on a parallel array of Web servers
US7016964B1 (en) Selectively passing network addresses through a server
JP3966487B2 (ja) オブジェクトのリダイレクト管理方法及びアプレットの通信を可能とする方法
US20020046262A1 (en) Data access system and method with proxy and remote processing
US10419398B2 (en) Method and apparatus for resource locator identifier rewrite
EP1604506B1 (en) Client web service access
US7188155B2 (en) Apparatus and method for selecting a web service in response to a request from a client device
US7272642B2 (en) Detecting a reverse proxy and establishing a tunneled connection therethrough
EP1057310B1 (en) System and method for controlling access to stored documents
US6212640B1 (en) Resources sharing on the internet via the HTTP
US7861174B2 (en) Method and system for assembling concurrently-generated content
US20140075531A1 (en) Using identity/resource profile and directory enablers to support identity management
US20060168221A1 (en) Multi-domain access proxy for handling security issues in browser-based applications
US20090327460A1 (en) Application Request Routing and Load Balancing
US20120005738A1 (en) Web application process
JP2005521177A (ja) アプリケーションへのアクセスを提供する方法およびシステム
US20070124477A1 (en) Load Balancing System
US20020138660A1 (en) Method and system for the redirection of client requests
US20030051042A1 (en) Load balancing method and system for allocation of service requests on a network
US20050278417A1 (en) Client access to web services
JP5039053B2 (ja) マクロ・サポートによりhttpセキュリティ・メッセージ処理を外部化するための方法およびシステム
US6799215B1 (en) Method and apparatus for providing logical unit definitions for telenet servers
JP4988307B2 (ja) コンテキスト・ベースのナビゲーション
KR20040101537A (ko) 기존의 시스템 관리 제품들 또는 소프트웨어 솔루션들과인터페이스하는 시스템 및 방법

Legal Events

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

Payment date: 20070104

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee