KR20040097220A - 데이터 처리 시스템, 네트워크 접속 관리 방법 및 컴퓨터 판독 가능 기록 매체 - Google Patents

데이터 처리 시스템, 네트워크 접속 관리 방법 및 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR20040097220A
KR20040097220A KR10-2004-7015218A KR20047015218A KR20040097220A KR 20040097220 A KR20040097220 A KR 20040097220A KR 20047015218 A KR20047015218 A KR 20047015218A KR 20040097220 A KR20040097220 A KR 20040097220A
Authority
KR
South Korea
Prior art keywords
connection
client
data processing
network
server
Prior art date
Application number
KR10-2004-7015218A
Other languages
English (en)
Other versions
KR100592652B1 (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 KR20040097220A publication Critical patent/KR20040097220A/ko
Application granted granted Critical
Publication of KR100592652B1 publication Critical patent/KR100592652B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

본 발명은, 다수의 가용 서버 및/또는 클라이언트들 사이에서 네트워크 접속을 이동할 수 있어서 가장 유효한 활용 자원을 이용하는 접속을 제공하는 데이터 처리 네트워크 및 시스템을 개시한다. 통상, 서버 및 클라이언트는 접속이 설정되었을 때 접속 이동 기능에 대한 각각의 지원을 나타낸다. 운영 체계 또는 응용 프로그램은 기본 기능성 및 성능을 포함한 특성에 대한 현재의 접속을 감시한다. 현재의 접속이 고장이거나 성능이 나빠서 이 접속과 결부된 클라이언트와 서버의 접속 이동이 지원되야 하는 경우, 위 소프트웨어는 대안이나 보다 유효한 접속이 있는지를 판단한다. 그러한 접속을 찾은 경우, 접속을 설정하는 파라미터가 변경되어 양호한 하드웨어로 접속을 이동시킨다. 전송 제어 프로토콜(TCP)과 네트워크 접속들을 설정한 실시예에 있어서, 각 접속은, 완전하게 접속을 형성하는 4-투플(tuple) 즉, 소스 IP 어드레스, 소스 포트 넘버, 수신지 IP 어드레스 및 수신지 포트 넘버를 포함한다. 4-투플을 형성하는 하나 또는 그 이상의 접속을 변경함으로써, 본 발명은 보다 효과적으로 기능하는 NIC 또는 시스템으로 접속을 이동하도록 구성된다.

Description

데이터 처리 시스템, 네트워크 접속 관리 방법 및 컴퓨터 프로그램{SYSTEM AND METHOD FOR DYNAMICALLY ALTERING CONNECTIONS IN A DATA PROCESSING NETWORK}
종래의 데이터 처리 네트워크에 있어서, 클라이언트와 서버 시스템은 통상 네트워크 인터페이스 카드(NIC)라 하는 전용 어댑터를 통해서 네트워크에 접속하고 있다. 종래로부터 이러한 네트워크의 임의의 클라이언트-서버 간의 네트워크 접속은 각 장치의 NIC들에 통합적으로 묶여진다. 접속의 하드웨어 요소가 오작동하거나 대역폭이 제한된 경우, 접속을 보다 쉽게 조정할 수 있는 다른 부분의 하드웨어로 접속을 "이동(move)"하도록 접속 특성을 바꿀 기회가 없다. 그 대신, 현재의 접속을 종료하고 잠재적으로 중요한 네트워크 오버헤드를 감수하고 새로운 접속을 설정해야 한다. 이러한 오버헤드 페널티는 잠재적 다수의 클라이언트들에게 최상급의 응답성을 제공하는데 일차 목적이 있는 이용률이 높은 서버 환경과 밀접하게 관련된다. 따라서 네트워크 부하 또는 하드웨어 고장 등의 요인에 따라 네트워크 접속의 구성을 동적으로 설정 변경할 수 있는 네트워크 방식 및 시스템을 이용하는 것이 바람직하다.
본 발명은, 데이터 처리 네트워크(data processing network)에 관한 것으로, 보다 구체적으로는 부하 변경, 오작동 또는 다른 네트워크 특성에 응답하여 설정된 네트워크 접속의 그 소스 또는 수신지를 동적으로 이동시키는 데이터 처리 네트워크 및 방법에 관한 것이다.
도 1은 본 발명의 일 실시예를 구현하기 위한 데이터 처리 네트워크의 선택 요소의 블럭도,
도 2는 도1의 데이터 처리 네트워크에 사용을 위한 데이터 처리 시스템의 선택 하드웨어 요소의 블럭도,
도 3은 도2의 데이터 처리 시스템의 선택 요소의 블럭도,
도 4는 네트워크 접속의 개념도,
도 5는 본 발명의 접속 이동 기능을 강조하는 도 4의 네트워크 접속 선택 요소의 블럭도,
도 6은 본 발명에서 의도한 각종 접속 이동예의 개념도.
전술한 문제는 다수의 가용 서버 및/또는 클라이언트들 사이에서 네트워크 접속을 이동할 수 있어서 가장 유효한 활용 자원을 이용하는 접속을 제공하는 데이터 처리 네트워크 및 시스템에 의해 대부분 처리된다. 통상, 서버 및 클라이언트는 접속이 설정되었을 때 접속 이동 기능(function)에 대한 각각의 지원을 나타낸다. 운영 체계 또는 응용 프로그램은 기본 기능성(basic functionality) 및 성능을 포함한 특성에 대한 현재의 접속을 감시한다. 현재의 접속이 고장이거나 성능이 나빠서 이 접속과 결부된 클라이언트와 서버의 접속 이동이 지원되야 하는 경우, 위 소프트웨어는 대안이나 보다 유효한 접속이 있는지를 판단한다. 그러한 접속을 찾은 경우, 접속을 설정하는 파라미터가 변경되어 양호한 하드웨어로 접속을 이동시킨다. 전송 제어 프로토콜(TCP)과 네트워크 접속들을 설정한 실시예에 있어서, 각 접속은, 완전하게 접속을 형성하는 4-투플(tuple) 즉, 소스 IP 어드레스, 소스 포트 넘버, 수신지 IP 어드레스 및 수신지 포트 넘버를 포함한다. 4-투플을 형성하는 하나 또는 그 이상의 접속을 변경함으로써, 본 발명은 보다 효과적으로 기능하는 NIC 또는 시스템으로 접속을 이동하도록 구성된다.
본 발명의 목적, 장점은, 이하의 첨부도면을 참조로 한 상세한 설명으로부터 명확해 질 것이다.
도 1을 참조하면, 본 발명의 일 실시예를 구현하기 위한 데이터 처리 네트워크(100)의 선택 요소의 블럭도가 도시되는데, 네트워크 구조 분야의 당업자라면, 이러한 특정 구현이 단지 다수의 가능한 구성 중 하나임을 인식할 수 있을 것이다. 상기 특정 실시예는 최소한 부분적으로 예시되는데, 이는 그 일반성과 점점 증가하는 다수의 네트워크 구현을 대표하기 때문이다. 도시된 실시예에 있어서, 네트워크(100)는 광역 통신망(104)에 접속된 클라이언트 시스템(클라이언트)을 포함하며,클라이언트(102)는 통상 클라이언트 장치에서 실행하는 통상의 웹 브라우저 등의 클라이언트 응용 프로그램을 포함한다.
클라이언트 장치는 데스크 탑이나 랩탑 퍼스널 컴퓨터, 네트워크 컴퓨터나 워크스테이션, 또는 개인 휴대 단말기(PDA)나 인터넷 전화 등의 기타 네트워크 인식(aware) 장치를 포함한다. 도 2를 보면, 예시의 클라이언트(102)의 선택 하드웨어 요소의 블럭도가 도시된다. 클라이언트(102)는 통상 시스템 버스(202)를 통해 시스템 메모리(204)에 상호접속된 하나 또는 그 이상의 범용 마이크로프로세서(CPU들)[(201a-201n)(일반적으로 또는 집합적으로 CPU(들)(201)]를 포함한다. 브리지 장치(206)는 시스템 버스(202)와 I/O 버스(208)를 상호접속한다. I/O 버스는 통상적으로, PCI 특정 관심 그룹(Special Interset Group)(www.pcisig.org)으로부터 예를 들어 Peripheral Components Interconnect(PCI) 로컬 버스 스펙(specification) 등의 산업 표준 버스 스펙을 확인한다. 하나 또는 그 이상의 주변 또는 I/O 장치가 통상 I/O 버스(208)를 통해 접속된다. 도시된 실시예는 I/O 버스(208)에 접속된 네트워크 인터페이스 카드(NIC 105) 및 범용 I/O 어댑터(210)를 예시한다. NIC(105)는 네트워크 매체에 클라이언트의 자원을 접속한다. 종래의 구현에 있어서, NIC(105)는 클라이언트(105)를 이더넷 망 등의 구내 정보 네트워크에 접속한다. 도 1을 다시 보면, 클라이언트(102)는 사이에 있는 광역 통신망(WAN)(104)를 통해서 서버 네트워크(101)에 원격 접속된다. 다른 클라이언트(도 1에 미도시)는 서버 네트워크에 국부적으로 접속된다.
광역 통신망(104)은 통상적으로, 동선, 동축 케이블, 광섬유 케이블 및 무선매체를 포함하는 각종의 매체와 상호접속된 게이트웨이, 라우터 그리고 하나 또는 그 이상의 구내 정보 네트워크(LANs) 등의 각종의 네트워크 장치를 포함한다. 광역 통신망(104)은 인터넷의 일부들을 나타내거나 포함할 수 있다.
도시된 실시예에 있어서, 서버 네트워크 또는 서버 클러스터(101)는 WAN(104)에 접속된 게이트웨이(106)를 통해서 클라이언트(102)에 접속된다. 서버 클러스터(101)는 통상 하나 또는 그 이상의 서버(이중 4개를 도시)(110)를 포함하는 LAN 으로 구현되며, 각각의 서버(110)는 사실상 도 2에 도시한 클라이언트 시스템과 같은 설계 특성을 통합할 수 있다(즉, 하나 또는 그 이상의 마이크로프로세서가 공유 시스템 메모리에 접속되고, 서버를 지역 네트워크에 접속하는 NIC를 구비한 I/O 어댑터를 갖는다). 서버(110)는 통상의 이더넷 또는 토큰 링(token ring) 구성에서와 같이 공유 매체를 통해 함께 네트워크화될 수 있다. 서버 클러스터(101)의 서버(110)는 통상적으로 자기 하드 디스크 등의 영구(비-휘발성) 저장 매체를 액세스한다. 또한 어떤 서버(110)는 그 자체의 내부 디스크 또는 디스크 구동 장치를 가질 수 있다. 보편적인 구성에 있어서, 영구 저장장치는 네트워크형 장치 또는 장치 세트로 제공된다. 네트워크형 저장장치를 도 1에 참조번호 114로서 나타내는데, 하나 또는 그 이상의 NAS(network attached storage) 장치, SAN(storage area network) 또는 이들의 조합으로 구현될 수 있다.
소프트웨어의 측면에서, 클라이언트(102)와 서버(110)는 통상 하나 또는 그 이상의 응용 프로그램(304), 운영 체계(302) 및 네트워크 프로토콜(301)을 포함하는 도 3에 도시한 소프트웨어 컴포넌트를 사용한다. 응용 프로그램(304)은 데이터베이스 애플리케이션, 웹 브라우저, 그래픽 디자인 애플리케이션, 스프레드시트, 워드 프로세서 등을 포함한다. 운영 체계(302)는 시스템 자원을 관리하는 소프트웨어 컴포넌트용의 일반 용어이다. 네트워크 프로토콜(301)은 장치상에서 실행하는 애플리케이션에 의해 네트워크를 통해 정보를 소통하도록 구성된 한벌의 소프트웨어 컴포넌트이다. 네트워크 프로토콜(301)이 도 3의 운영 체계(302)와는 다른 것으로 도시하였지만, 이 프로토콜 컴포넌트는 운영 체계의 컴포넌트를 가질 수 있다.
응용 프로그램 및 운영 체계 루틴은, 그들이 실행되는 프로세스를 론치시킨다(launch). 서버 장치(110) 등의 서버 장치에서 실행하는 프로세스는 통상 하나 또는 그 이상의 네트워크 패킷 시퀀스로서 클라이언트 상에서 실행하고 있는 요구 프로세스에 데이터를 전송한다. 각각의 패킷은 요구 데이터의 일부를 포함하는 페이로드뿐만 아니라 사용시의 네트워크 프로토콜에 따른 하나 또는 그 이상의 헤더 필드를 포함하고 있다. WAN(104)이 인터넷을 나타내는 실시예에 있어서, 예를 들어 서버(110)와 클라이언트(102)간에 전송된 패킷은 통상, 인터넷 엔지니어링 태스크 포스(www.ietf.org)의 RFC 793 및 791에서 지정된 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP)을 따른다.
TCP 이네이블 장치 또는 시스템이 다루는 각각의 프로세스를 식별하기 위해, TCP는 각각의 클라이언트-서버 접속에 맞는 고유 어드레스를 제공한다. 이러한 고유 어드레스는 IP 어드레스 및 포트 식별 기호를 포함한다. IP 어드레스는 특정 NIC 등의 네트워크 상의 물리적 위치 또는 수신지를 식별한다. 다수의 프로세스가같은 하드웨어 자원(즉, 같은 물리적 자원)을 공유할 수 있으므로, 포트 식별자가 필요하다. IP 어드레스 및 포트의 조합을 네트워크 전체에 고유한 "소켓(socket)"이라 한다. 접속은 한 쌍의 소켓으로 완전하게 지정되는데, 하나의 소켓은 클라이언트측 소켓을 나타내고, 다른 소켓은 서버측 소켓을 나타낸다.
도 4를 보면, 클라이언트-서버 접속의 개념적 예시가 도시되는데, 이 예시의 접속은 서버(110) 상에서 실행하는 프로세스(109a)와 클라이언트(102) 상에서 동작하는 프로세스(109b) 사이의 TCP 종속 접속을 나타낸다. 이 접속은 한 쌍의 소켓으로 형성된다. 서버(110)의 입장에서 소스 소켓은 NIC(105)의 IP 어드레스와 프로세스(109a)와 연관된 포트 넘버의 조합으로 결정되며, 수신지 소켓은 NIC(107)의 IP 어드레스와 클라이언트(102) 상의 프로세스(109b)와 연관된 포트 넘버의 조합으로 결정된다. 클라이언트(102)의 입장에서, 소스와 수신지 소켓은, 위와 반대로 되어 NIC(107)와 프로세스(109b)가 소스 소켓을 형성하고, NIC(105)와 프로세스(109a)가 수신지 소켓을 형성한다. 종래의 데이터 처리 네트워크에 있어서, 접속 정의는 고정적이고, 양쪽의 접속에 있어서, 소스와 수신지 소켓은 불변이다. 본 발명은 클라이언트와 서버의 현재의 접속 정의를 협조적으로 변경하는 것이 바람직한 경우, 이들 정의를 변경함으로써 상기의 한계를 해소한다. 접속 이동 기능성은 네트워크 프로토콜의 특성을 확장함으로써 바람직하게 달성된다. 본 실시예에 있어서, 접속의 양쪽은 이들이 접속 이동을 지원할 것을 사전에 동의해야 한다. 어느 한쪽이 상기 확장을 지원하지 않으면, 다른 쪽에서 상기 특성은 무효로 된다.
본 발명의 부분은 컴퓨터 판독 매체에 저장된 컴퓨터 실행가능 명령 시퀀스로 된 소프트웨어에서 구현된다. 명령이 실행될 때, 이들은 클라이언트나 서버 시스템의 시스템 메모리(통상 DRAM을 포함) 또는 내부나 외부 캐시 메모리(통상 SRAM을 포함) 등의 휘발성 저장 매체에 저장되고, 이전에 상기 소프트웨어는 하드 디스크, 플로피 디스켓, CD ROM, DVD, 플래시 메모리 카드나 다른 전기적 소거가능 매체, 자기 테이프 등의 비 휘발성 매체에 저장되었었다. 또한 상기 소프트웨어 부분은, 네트워크의 각종의 장치를 통해 분배될 수 있다. 예를 들어, 소프트웨어의 일부분은 클라이언트 시스템에 상주할 수 있으며, 다른 부분은 서버 시스템에 상주할 수 있다.
도 5를 보면, 본 발명의 일 실시예에 따른 선택 소프트웨어 요소들이 도시되어 있다. 도시한 실시예에 있어서, 서버(110)는 이동 모듈(501), 자원 모니터(503), 접속 모니터(505)를 포함한다. 이들 요소들은 서버 운영 체계와 네트워크 프로토콜 모듈에 동시에 존재한다. 접속 모니터(505)는 서버(110)가 참여하고 있는 하나 또는 그 이상의 네트워크 접속의 성능을 모니터링하는 데, 이 접속 모니터(505)는 독립형 응용 프로그램으로 구현될 수 있으며, 운영 체계나 네트워크 프로토콜 유틸리티로서 제공된다. 일반적으로, 접속 모니터(505)는 서버의 가동 네트워크 접속의 하나 또는 그 이상의 성능 특성을 측정하도록 구성된다. 모니터링된 성능 특성은, 기본 접속 기능성 및 접속 처리율을 포함할 수 있다. 기본 기능성은 시간 종료 이벤트(the time out events)의 수 또는 주파수를 모니터링함으로써 결정되는데, 이때 시간 종료 이벤트는 작용을 하지만 소정 시주기내에 확인되지 않은 패킷을 나타낸다. 접속 처리율은 예를 들어, 패킷의 전달과 패킷에 대한 확인의수신 사이에서 경과하는 시간을 모니터링함으로써 모니터링된다. 상기 정보 및 각 패킷의 사이즈에 대한 정보에 의해 접속 모니터(505)는 접속의 "속도"를 평가하도록 구성된다.
이동 모듈(501)은 특정 접속이 이동의 위한 후보인지를 판단하기 위해 접속 모니터(505)와 상호 작용하도록 구성된다. 일 실시예에 있어서, 접속 모니터(505)는 접속의 모니터링된 성능 특성이 표준 또는 임계값을 따르지 않을 때 마다 이동 모듈에 알린다. 예를 들어, 모니터링된 접속 기본 기능성이 고장으로 판단된 경우, 접속 모니터(505)는 이러한 접속을 이동 모듈(501)에 보고하도록 구성된다. 모니터링된 접속이 이동을 위한 후보로서 보고될 때를 정의하는 성능 표준은 한 세트의 소정의 표준을 포함한다. 다른 방안으로, 위의 성능 표준은 접속의 최근 이력을 기반으로 동적으로 결정된다.
일부의 성능 표준을 하회하는 접속을 모니터링된 접속 모니터(505)의 보고에 응답하여 이동 모듈(501)은 첫째로, 접속의 다른 쪽이 접속 이동을 지원하는 지를 판단한다. 접속 이동을 지원하는 클라이언트 또는 서버와 접속이 설정된 경우, 이 클라이언트 또는 서버는 다른 쪽에게 그가 이동을 지원하는 지를 질의한다. 접속의 양쪽이 이동을 지원하는 경우, 이들 양쪽은 접속을 적절하게 태그(tag)한다. 접속의 한쪽은 접속이 설정되면 특수 목적 패킷을 전송하거나 특수 목적 헤더 필드를 포함함으로써 다른 쪽이 이동을 지원하는 지를 판단한다. 어느 한쪽이 이동 기능을 지원하지 않는 경우, 이동 기능은 다른 쪽에서 무효로 된다.
접속의 양쪽의 이동 기능 지원을 가정할 경우, 이동 모듈(501)은 접속 모니터(505)로부터의 프롬프트(promft)에 응답하여 현재의 접속을 모니터링된다. 도 5에 도시한 실시예에 있어서, 이동 모듈(501)은 접속을 제공하는데 다른 자원을 활용할 수 있는 지를 판단하도록 자원 모니터(503)에게 상담한다. 자원 모니터(503)는 일반적으로, 네트워크 접속을 하기 위한 가용 자원 목록을 유지하도록 구성된다. 잠시 도 6을 보자. 각각의 서버(503) 및 클라이언트(102)는 다수의 네트워크 인터페이스 카드를 구비함을 알 수 있다. 서버(110)는 예를 들어, 160 핫 플러그가능(hot-plygable) PCI 슬롯의 많은 슬롯을 갖는 IBM 사의 pSeries 690 서버로 구현할 수 있는데, 각각의 슬롯은 네트워크 인터페이스 카드를 지원할 수 있다. 유사하게 이용도가 높은 클라이언트 시스템 또한 다수의 네트워크 어댑터를 포함한다. 서버 또는 클라이언트가 다수의 네트워크 어댑터를 포함하는 경우, 특정 네트워크 접속을 위한 다른 자원으로서 추가의 어댑터를 이용할 수 있다. 이동 모듈(501)이 접속을 이동하려고 하는 경우, 자원 모니터(503)에게 가용 자원에 대한 리스트의 제공에 대해 질의한다.
일 실시예에 있어서, 자원 모니터(503)는 이동 모듈(501)이 요구를 발할 때마다 모든 가용 자원의 리스트를 제공한다. 다른 실시예에 있어서, 자원 모니터(503)는 예를 들어, 클라이언트의 식별을 포함한 여러 요인에 따라 선택적으로 또는 우선 순위 선정 방식으로 가용 자원을 나타낸다. 이 실시예는 다른 클라이언트에게 다른 레벨의 서비스를 제공하도록 가용 자원에 대한 우선 순위 선정을 대상으로 한다. 서비스 제공자는 다른 클래스의 클라이언트에게 다른 클래스의 서비스를 제공할 것을 제안한다. 자원 모니터(503)는 하위 클래스의 서비스에 가입한 클라이언트가 이용할 수 없는, 상위 클래스의 서비스에 가입한 클라이언트가 이용할 수 있는 자원을 생성할 수 있다. 다른 우선 순위 선정 기준 또한 어느 자원을 클라이언트에게 쓸 수 있을 지를 판단하는데 이용된다.
도 5에 도시한 클라이언트(102)는 서버(110) 용으로 나타낸 컴포넌트와 실질적으로 유사한 소프트웨어 컴포넌트를 포함하는 것으로 도시된다. 따라서 각각의 클라이언트(102)는 그 이동 모듈, 접속 모니터 및 자원 모니터를 포함한다. 이런식으로, 접속 성능은 접속의 양쪽에서 모니터링될 수 있으며, 접속의 양쪽은 다른 자원으로의 접속의 이동을 개시한다.
접속의 한쪽에서 접속 이동이 개시되면, 이동 모듈(501)은 임의의 새로운 패킷의 전송을 일시 정지함으로써 이동을 개시한다. 모든 미해결 패킷(즉, 전달되었지만, 확인되지 않은)이 확인되거나 시간 종료되면, 이동 모듈(501)은 접속의 한쪽 또는 양쪽에 대한 소켓 정의를 변경할 수 있다. 소켓 정의가 변경된 후, 이에 따라 접속을 정의하는 4-투플이 클라이언트와 서버 쪽에서 변경된다. 따라서 특정의 접속이 서버에 대한 접속은 같게 유지하면서 소켓 정의를 변경하는 클라이언트(102)를 포함하는 경우, 클라이언트 쪽 4-투플은 변경된 클라이언트 쪽 소켓 정의를 반영하도록 IP 어드레스/포트 넘버 조합을 변경함으로써 실질적으로 변경된다. 그러면 서버(110)는 그 수신지 IP 어드레스/포트 넘버 조합을 변경함으로써 접속 4-투플을 또한 변경할 수 있다.
도 6을 다시 보자. 도 6은 본 발명이 의도하는 접속 이동의 개념적인 예시를 보여주는데, 이 도시에 있어서, 한 세트의 네트워크 접속(601a-601c)이 한 세트의 클라이언트(102a-102m)와 한 세트의 서버(110a-110n)사이에 접속되어 있다. 각각의 클라이언트(102)는 하나 또는 그 이상의 네트워크 접속을 제공하는데 이용하는 적어도 하나의 NIC(107)를 갖고, 각각의 서버(110)는 적어도 하나의 NIC(105)를 갖는다. 도 6에서는 3개의 타입의 접속 이동이 도시되어 있다. 서버 내부(intra-server)이동을 나타내는 접속(601a)은 서버(110a)의 제1 NIC(105) 사이에 접속된 실선으로 도시되는데, 여기서 실선은 최초 네트워크 접속을 나타낸다. 접속 이동 이후에, 클라이언트(102a)와 서버(110a)의 제2 NIC 사이에는 접속(601a)이 파선으로 도시된다. 접속(601b)은 클라이언트(102b)와 제1 서버(110a)사이의 최초 접속이 서버(102b)와 제2 서버(110n)사이의 제2 접속(파선으로 도시)으로 이동되는 서버 간(inter-server) 이동을 나타낸다. 이러한 서버 간 이동은 예를 들어, 서버 클러스터(101)가 공통 스위치(108)에 모두 접속된 다수의 서버(110)를 포함하는 도 1에 도시한 서버 클러스터 환경에서 구현될 수 있다. 이 실시예에 있어서, 이동 모듈(501) 및 접속 모니터(505)는 각 서버(110)에 분산되고, 자원 모니터(503)는 스위치(108) 상에 설치될 수 있는데, 이때 클러스터 전체에 이용가능한 자원은 중심적으로 모니터링될 수 있다. 접속(601c)은 클라이언트(102m) 상의 제1 NIC(107)에 의해 최초로 형성된 접속이 클라이언트 상의 제2 NIC로 이동되는 클라이언트 내부 접속 이동을 나타낸다. 서버 내부, 서버 간 및 클라이언트 내부 이동을 실행함으로써 본 발명은, 시스템 유연성을 최대화한다.
본 발명은 데이터 처리 네트워크 접속을 동적으로 변경하는데 사용할 수 있다.

Claims (14)

  1. 메모리(204)에 접속된 적어도 하나의 프로세서(201)를 구비한 데이터 처리 시스템(100)으로서,
    적어도 하나의 접속 성능 특성을 모니터링하는 컴퓨터 수단(505)과,
    네트워크 접속을 제공하는 가용 자원 목록을 유지하는 컴퓨터 수단(503)과,
    모니터링된 성능 특성이 상기 네트워크 접속에 문제가 있음을 나타낸다고 판정되는 경우, 상기 접속을 정의하는 적어도 하나의 자원을 상기 가용 자원 목록으로부터 선택된 자원으로 변경함으로써 상기 접속을 변경하는 컴퓨터 수단(501)
    을 포함하는 데이터 처리 시스템.
  2. 제 1 항에 있어서,
    상기 모니터링된 성능 특성은 상기 접속의 기본 기능성(basic functionality)을 포함하는
    데이터 처리 시스템.
  3. 제 2 항에 있어서,
    상기 기본 기능성은 패킷 시간 종료 이벤트(the packet time out events)의수를 검출함으로써 모니터링되는
    데이터 처리 시스템.
  4. 제 1 항에 있어서,
    상기 모니터링된 성능 특성은 접속 응답 시간(the response time of the connection)을 나타내는
    데이터 처리 시스템.
  5. 제 1 항에 있어서,
    상기 접속 변경 컴퓨터 수단(501)은 상기 접속을 정의하는 서버측 소켓의 인터넷 프로토콜(IP) 어드레스를 변경하기 위한 컴퓨터 수단을 포함하는
    데이터 처리 시스템.
  6. 제 1 항에 있어서,
    상기 접속을 설정하기 이전에 클라이언트와 서버가 이동 지원 가능함(supporting migration)을 확인하기 위한 컴퓨터 수단을 더 포함하는
    데이터 처리 시스템.
  7. 제 1 항에 있어서,
    상기 접속 변경 컴퓨터 시스템(501)은 상기 접속을 정의하는 클라이언트측 소켓의 IP 어드레스를 변경하기 위한 컴퓨터 수단을 포함하는
    데이터 처리 시스템.
  8. 데이터 처리 네트워크의 클라이언트(102)와 서버(110) 사이의 네트워크 접속을 관리하는 방법으로서,
    적어도 하나의 접속 성능 특성을 모니터링하는 단계와,
    네트워크 접속을 제공하는 가용 자원 목록을 유지하는 단계와,
    모니터링된 성능 특성이 상기 네트워크 접속에 문제가 있음을 나타낸다고 판정되는 경우, 상기 접속을 정의하는 적어도 하나의 자원을 상기 가용 자원 목록으로부터 선택된 자원으로 변경함으로써 상기 접속을 변경하는 단계
    를 포함하는 네트워크 접속 관리 방법.
  9. 제 8 항에 있어서,
    상기 모니터링된 성능 특성은 상기 접속의 기본 기능성을 포함하는
    네트워크 접속 관리 방법.
  10. 제 8 항에 있어서,
    상기 모니터링된 성능 특성은 접속 응답 시간을 나타내는
    네트워크 접속 관리 방법.
  11. 제 8 항에 있어서,
    상기 접속 변경 단계는 접속을 정의하는 서버측 소켓의 인터넷 프로토콜(IP) 어드레스를 변경하는 단계를 포함하는
    네트워크 접속 관리 방법.
  12. 제 8 항에 있어서,
    상기 접속을 설정하기 이전에 클라이언트(102)와 서버(110)가 이동 지원 가능함을 확인하는 단계를 추가로 포함하는
    네트워크 접속 관리 방법.
  13. 제 8 항에 있어서,
    상기 접속 변경 단계는, 상기 접속을 정의하는 클라이언트(102) 측 소켓의IP 어드레스를 변경하는 단계를 포함하는
    네트워크 접속 관리 방법.
  14. 제 8 항 내지 제 13 항 중 어느 한 항에 따른 방법의 각각의 단계를 실행하기 위한 코드 수단을 포함하는 것을 특성으로 하는 컴퓨터 프로그램.
KR1020047015218A 2002-04-25 2002-10-28 데이터 처리 시스템, 네트워크 접속 관리 방법 및 컴퓨터 판독 가능 기록 매체 KR100592652B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/132,404 US20030204593A1 (en) 2002-04-25 2002-04-25 System and method for dynamically altering connections in a data processing network
US10/132,404 2002-04-25
PCT/GB2002/004879 WO2003092220A1 (en) 2002-04-25 2002-10-28 System and method for dynamically altering connections in a data processing network

Publications (2)

Publication Number Publication Date
KR20040097220A true KR20040097220A (ko) 2004-11-17
KR100592652B1 KR100592652B1 (ko) 2006-06-26

Family

ID=29248756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047015218A KR100592652B1 (ko) 2002-04-25 2002-10-28 데이터 처리 시스템, 네트워크 접속 관리 방법 및 컴퓨터 판독 가능 기록 매체

Country Status (10)

Country Link
US (1) US20030204593A1 (ko)
EP (1) EP1497950B1 (ko)
JP (1) JP2005524162A (ko)
KR (1) KR100592652B1 (ko)
CN (1) CN100337427C (ko)
AT (1) ATE303691T1 (ko)
AU (1) AU2002335983A1 (ko)
CA (1) CA2481686C (ko)
DE (1) DE60205952T2 (ko)
WO (1) WO2003092220A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100690871B1 (ko) * 2004-10-22 2007-03-09 엘지전자 주식회사 제어기능을 갖는 서버 결정방법

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2185496B1 (es) * 2001-07-17 2005-06-01 Universidad Politecnica De Valencia Equipo y metodo en linea para la deteccion, determinacion de la evolucion y cuantificacion de biomasa microbiana y otras sustancias que absorben a lo largo del espectro de luz durante el desarrollo de procesos biotecnologicos.
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US20050125483A1 (en) * 2002-05-06 2005-06-09 Pilotfish Networks Ab Method and apparatus providing information transfer
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US7275106B1 (en) 2002-06-10 2007-09-25 Veritas Operating Corporation Sustaining TCP connections
US20030236852A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation Sharing network adapter among multiple logical partitions in a data processing system
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US7103064B2 (en) * 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US7046668B2 (en) 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US7698483B2 (en) 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US7953074B2 (en) 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7174413B2 (en) * 2003-01-21 2007-02-06 Nextio Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7188209B2 (en) * 2003-04-18 2007-03-06 Nextio, Inc. Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets
US7917658B2 (en) 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US7502370B2 (en) * 2003-01-21 2009-03-10 Nextio Inc. Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture
US7457906B2 (en) * 2003-01-21 2008-11-25 Nextio, Inc. Method and apparatus for shared I/O in a load/store fabric
US7617333B2 (en) 2003-01-21 2009-11-10 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7219183B2 (en) * 2003-01-21 2007-05-15 Nextio, Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7493416B2 (en) * 2003-01-21 2009-02-17 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7512717B2 (en) * 2003-01-21 2009-03-31 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7836211B2 (en) 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
US8032659B2 (en) 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7664909B2 (en) 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US8102843B2 (en) 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US8346884B2 (en) 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US20040202185A1 (en) * 2003-04-14 2004-10-14 International Business Machines Corporation Multiple virtual local area network support for shared network adapters
CN100375454C (zh) * 2004-06-01 2008-03-12 联想(北京)有限公司 一种网络计算机终端与服务器的通讯方法
US20060123111A1 (en) * 2004-12-02 2006-06-08 Frank Dea Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems
US20060123204A1 (en) * 2004-12-02 2006-06-08 International Business Machines Corporation Method and system for shared input/output adapter in logically partitioned data processing system
US20060155563A1 (en) * 2005-01-12 2006-07-13 Banerjee Dwip N Method, system and article for advance lease negotiation in DHCP
CN100417293C (zh) * 2005-06-20 2008-09-03 华为技术有限公司 一种呼叫处理方法
US20070136465A1 (en) * 2005-12-12 2007-06-14 Fernandes Lilian S Method for allowing multiple authorized applications to share the same port
CN101257437A (zh) * 2007-02-28 2008-09-03 华为技术有限公司 呼叫仲裁节点失败路由重选方法、交换机和系统
US20080307036A1 (en) * 2007-06-07 2008-12-11 Microsoft Corporation Central service allocation system
CN101247328B (zh) * 2007-12-28 2011-12-28 北京九合创胜网络科技有限公司 网络应用的多连接处理方法及装置
US8775371B2 (en) * 2009-11-11 2014-07-08 International Business Machines Corporation Synchronizing an auxiliary data system with a primary data system
US8793685B2 (en) * 2011-05-13 2014-07-29 International Business Machines Corporation Techniques for operating virtual switches in a virtualized computing environment
CN102223307B (zh) * 2011-06-29 2017-02-15 中兴通讯股份有限公司 一种处理套接字的方法、分组数据传输的方法及装置
US8903951B2 (en) 2011-07-12 2014-12-02 Facebook, Inc. Speculative database authentication
US9619508B2 (en) 2011-07-12 2017-04-11 Facebook, Inc. Speculative begin transaction
US8756217B2 (en) * 2011-07-12 2014-06-17 Facebook, Inc. Speculative switch database
US8914390B2 (en) 2011-07-12 2014-12-16 Facebook, Inc. Repetitive query recognition and processing
CN103516617A (zh) * 2012-06-25 2014-01-15 国基电子(上海)有限公司 路由器、网络连接恢复系统及网络连接恢复方法
JP2014056335A (ja) * 2012-09-11 2014-03-27 Nec Commun Syst Ltd 仮想マシン配置システム及び仮想マシン配置方法、並びにコンピュータ・プログラム
CA2791771C (en) * 2012-10-05 2019-09-10 Ibm Canada Limited - Ibm Canada Limitee Dynamic and selective management of integration points using performance metrics
CA2819539C (en) * 2013-06-21 2021-01-12 Ibm Canada Limited - Ibm Canada Limitee Dynamic management of integration protocols
US20150071091A1 (en) * 2013-09-12 2015-03-12 Alcatel-Lucent Usa Inc. Apparatus And Method For Monitoring Network Performance
US20150193327A1 (en) * 2014-01-09 2015-07-09 Cinch Systems, Inc. Connection checking for hardwired monitoring system
US20160050235A1 (en) * 2014-08-18 2016-02-18 Entefy Inc. Flexible Server Architecture With Ability To Dynamically Change Gateway Communication Channels
DE102014114586B4 (de) * 2014-10-08 2020-08-20 Canon Production Printing Germany Gmbh & Co. Kg Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem
US9917882B2 (en) 2014-11-30 2018-03-13 Sonicwall Inc. Transparent deferred spooling store and forward based on standard network system and client interface
US10313486B2 (en) 2015-01-07 2019-06-04 Sonicwall Inc. Optimizing transfer of fragmented packetized data
US9813526B2 (en) * 2015-05-26 2017-11-07 Sonicwall Inc. Reducing transmission pathway lengths within a distributed network
US10158735B2 (en) 2015-08-07 2018-12-18 Sonicwall Inc. Read-ahead on signed connections with unsigning, inline, transparent proxies
US10417174B2 (en) * 2016-06-24 2019-09-17 Vmware, Inc. Remote direct memory access in a virtualized computing environment
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108300A (en) * 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US5999974A (en) * 1997-08-29 1999-12-07 International Business Machines Corporation Internet protocol assists for high performance LAN connections
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6029089A (en) * 1998-07-10 2000-02-22 Pacesetter, Inc. Lead retention and sealing system
SE516175C2 (sv) * 1999-02-17 2001-11-26 Axis Ab Anordning och metod för kommunikation över ett nätverk
US6606316B1 (en) * 1999-07-02 2003-08-12 Cisco Technology, Inc. Gathering network statistics in a distributed network service environment
US6771595B1 (en) * 1999-08-31 2004-08-03 Intel Corporation Apparatus and method for dynamic resource allocation in a network environment
US6874147B1 (en) * 1999-11-18 2005-03-29 Intel Corporation Apparatus and method for networking driver protocol enhancement
US6941377B1 (en) * 1999-12-31 2005-09-06 Intel Corporation Method and apparatus for secondary use of devices with encryption
US7149816B1 (en) * 2000-05-16 2006-12-12 Lucent Technologies Inc. System and method for peer-level communication with a network interface card
US6578160B1 (en) * 2000-05-26 2003-06-10 Emc Corp Hopkinton Fault tolerant, low latency system resource with high level logging of system resource transactions and cross-server mirrored high level logging of system resource transactions
US6763479B1 (en) * 2000-06-02 2004-07-13 Sun Microsystems, Inc. High availability networking with alternate pathing failover
US6839865B2 (en) * 2000-12-29 2005-01-04 Road Runner System and method for multicast stream failover
JP2005503047A (ja) * 2001-02-06 2005-01-27 エン ガルデ システムズ、インコーポレイテッド 安全なネットワークを供給するための装置と方法
US8041814B2 (en) * 2001-06-28 2011-10-18 International Business Machines Corporation Method, system and computer program product for hierarchical load balancing
US6829637B2 (en) * 2001-07-26 2004-12-07 International Business Machines Corporation Distributed shared memory for server clusters
US6845403B2 (en) * 2001-10-31 2005-01-18 Hewlett-Packard Development Company, L.P. System and method for storage virtualization

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100690871B1 (ko) * 2004-10-22 2007-03-09 엘지전자 주식회사 제어기능을 갖는 서버 결정방법

Also Published As

Publication number Publication date
DE60205952D1 (de) 2005-10-06
CN100337427C (zh) 2007-09-12
AU2002335983A1 (en) 2003-11-10
WO2003092220A1 (en) 2003-11-06
CA2481686C (en) 2007-04-03
ATE303691T1 (de) 2005-09-15
CN1620781A (zh) 2005-05-25
DE60205952T2 (de) 2006-05-18
CA2481686A1 (en) 2003-11-06
US20030204593A1 (en) 2003-10-30
JP2005524162A (ja) 2005-08-11
EP1497950B1 (en) 2005-08-31
KR100592652B1 (ko) 2006-06-26
EP1497950A1 (en) 2005-01-19

Similar Documents

Publication Publication Date Title
KR100592652B1 (ko) 데이터 처리 시스템, 네트워크 접속 관리 방법 및 컴퓨터 판독 가능 기록 매체
RU2380746C2 (ru) Выравнивание сетевой нагрузки с помощью информации статуса хоста
USRE45806E1 (en) System and method for the optimization of database access in data base networks
Hunt et al. Network dispatcher: A connection router for scalable internet services
US7606929B2 (en) Network load balancing with connection manipulation
US8850056B2 (en) Method and system for managing client-server affinity
US7613822B2 (en) Network load balancing with session information
US7739391B2 (en) Gateway for wireless mobile clients
US7797565B1 (en) System and method for maintaining communication protocol connections during failover
US20020087612A1 (en) System and method for reliability-based load balancing and dispatching using software rejuvenation
US20070058648A1 (en) Identifying nodes in a ring network
US7133891B1 (en) Method, system and program products for automatically connecting a client to a server of a replicated group of servers
US20110222442A1 (en) Routing requests for duplex applications
US7870258B2 (en) Seamless fail-over support for virtual interface architecture (VIA) or the like
US7526556B2 (en) Method and apparatus for managing keepalive transmissions
US6892224B2 (en) Network interface device capable of independent provision of web content
CN113766013A (zh) 一种会话创建方法、装置、设备及存储介质
RU2387002C2 (ru) Выравнивание сетевой нагрузки с помощью управления соединением
Kanaya et al. Intelligent application switch supporting tcp
Soundararajan et al. A novel client/server protocol for web-based communication over UDP on a bare machine
Chowdhury et al. Dynamic Routing System (DRS): Fault tolerance in network routing
Kimmatkar et al. Applications sharing using binding server for distributed environment
Koskinen IP substitution as a building block for fault tolerance in stateless distributed network services
Vallath et al. Tuning the Cluster Interconnect
GB2499981A (en) Controlling load balancing traffic managers

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
LAPS Lapse due to unpaid annual fee