KR20080101787A - 부하 조절형 네트워크 환경에서의 지능형 장애극복 - Google Patents

부하 조절형 네트워크 환경에서의 지능형 장애극복 Download PDF

Info

Publication number
KR20080101787A
KR20080101787A KR1020080045649A KR20080045649A KR20080101787A KR 20080101787 A KR20080101787 A KR 20080101787A KR 1020080045649 A KR1020080045649 A KR 1020080045649A KR 20080045649 A KR20080045649 A KR 20080045649A KR 20080101787 A KR20080101787 A KR 20080101787A
Authority
KR
South Korea
Prior art keywords
nic
connection
failover
hardware
network
Prior art date
Application number
KR1020080045649A
Other languages
English (en)
Other versions
KR101038364B1 (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 KR20080101787A publication Critical patent/KR20080101787A/ko
Application granted granted Critical
Publication of KR101038364B1 publication Critical patent/KR101038364B1/ko

Links

Images

Classifications

    • 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
    • G06F15/1735Network adapters, e.g. SCI, Myrinet
    • 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]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • 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/06Management of faults, events, alarms or notifications
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities

Landscapes

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

Abstract

네트워크 장치 드라이버의 해시 테이블은 컴퓨팅 장치 내의 각 네트워크 인터페이스(NIC)를 위한 트래픽 특성에 대한 데이터를 유지한다. 컴퓨팅 장치의 NIC들 중 하나가 신뢰할 수 없게 되면, 해시 엔진의 비용 함수가 소프트웨어 드라이버로 하여금 그 컴퓨팅 장치에 남아 있는 신뢰할 수 있는 NIC들 사이의 네트워크 트래픽 재분배를 개시하도록 한다. 이러한 해시 엔진을 사용하여, 소프트웨어 드라이버는 남아 있는 신뢰할 수 있는 NIC들에 걸친 네트워크 트래픽의 분배를 최적화하는 방식으로, 신뢰할 수 없는 NIC 상의 네트워크 접속들 각각을 컴퓨팅 장치 내의 신뢰할 수 있는 NIC로 지능적으로 재전환할 수 있다. 또는, 접속이 구 NIC에서 신규 NIC로 이동된 경우, 소프트웨어 드라이버는 이러한 이동된 접속을 감지하여 그 이동된 접속을 신규 NIC 상의 하드웨어 오프로드 엔진으로 오프로드할 수 있다. 이러한 접근 방식을 이용하여, 네트워크 인터페이스 오프로드 및 컴퓨팅 장치 성능 열화와 같은 문제가 네트워크 접속 장애시 좀더 용이하게 방지될 수 있으며, 그에 따라 종래 기술에 비해 전체 시스템 성능이 향상될 수 있다.
장애극복(failover), 네트워크 인터페이스(NIC), 부하 조절(load-balanced), 오프로드(offload), 매체 접근 제어(MAC) 어드레스

Description

부하 조절형 네트워크 환경에서의 지능형 장애극복{INTELLIGENT FAILOVER IN A LOAD-BALANCED NETWORKING ENVIRONMENT}
본 발명의 실시예는 네트워크 통신, 좀 더 구체적으로는 부하 조절된(load-balanced) 네트워크 환경에서의 네트워크 접속을 지능적으로 장애극복(failing over)하기 위한 시스템 및 방법에 관한 것이다.
현대 컴퓨터 네트워크에서는 성능과 신뢰성이 핵심적인 요구조건이다. 컴퓨팅 장치상의 네트워크 인터페이스("NIC")를 더 이상 신뢰할 수 없으면, 해당 NIC의 네트워킹 성능이 실질적으로 0으로 떨어질지도 모른다. 그러한 상황에서의 현재의 해결책은, 신뢰할 수 없는 NIC로부터 같은 컴퓨팅 장치상의 신뢰할 수 있는 다른 NIC로 네트워크 접속을 재전환하는데, 이와 같은 기술을 "장애극복(failover)"이라고 한다.
비록 신뢰할 수 없는 NIC의 존재라는 직접적인 문제를 장애극복으로 완화시킬 수 있지만, 신뢰할 수 있는 나머지 NIC에 추가되는, 장애극복된 접속으로부터의 네트워크 트래픽은 신뢰할 수 있는 하나 이상의 나머지 NIC에 과부하를 일으켜서 이들 인터페이스의 성능을 저하시킬 수 있다. 또한 신뢰할 수 있는 나머지 NIC상의 추가적인 네트워크 트래픽은, 컴퓨팅 장치에 의해 수행되는 네트워크 처리량을 실질적으로 증가시켜서, 컴퓨팅 장치의 성능을 저하시킬 수 있다.
전술한 바와 같이, NIC 과부하의 가능성, 또는 전체 시스템 성능을 저하시킬 수 있는 기타 현상들을 줄이면서, 네트워크 접속을 하나 이상의 신뢰성 있는 NIC로 장애극복하는 기술이 이 분야에서 필요하다.
본 발명의 일 실시예에서, 스위치 독립형 네트워크 환경(switch-independent network environment)에서 호스트 소프트웨어 모듈로부터 장애극복 네트워크 인터페이스 카드(NIC)에 포함된 제1 하드웨어 오프로드 엔진(first hardware offload engine)으로의 네트워크 접속을 오프로드(offload)하기 위한 방법을 설명한다. 이 방법은 장애극복 NIC의 식별자를 요청하는 단계, 해시 알고리즘의 출력으로부터 장애극복 NIC의 식별정보를 결정하는 단계, 제1 하드웨어 오프로드 엔진에 포함된 제1 위임 접속 테이블(delegated connection table)에, 네트워크 접속에 대한 접속 상태를 포함하는 엔트리를 설정하는 단계, 및 네트워크 접속에 대응하는 호스트 소 프트웨어 모듈에 포함된 접속 테이블에, 네트워크 접속이 제1 하드웨어 오프로드 엔진을 통해 실행되고 있음을 나타내는 하드웨어 식별 정보를 설정하는 단계를 포함한다.
개시된 방법에 있어서의 한 가지 장점은, 네트워크 접속의 장애극복시에 네트워크 인터페이스 과부하와 같은 문제를 더 쉽게 회피할 수 있어서, 전체 시스템 성능을 종래 기술에 비해 향상시킬 수 있다는 것이다.
스위치 독립형 네트워크 환경(즉, 컴퓨팅 장치(100)의 NIC를 외부 네트워크로 연결하는 스위치가 802.3ad 모드로 동작하지 않는 네트워크 환경)에서 접속수, 그리고 각각의 NIC를 통해 전송 및 수신된 트래픽의 양을 포함하는 네트워크 통계를 추적하는 해시 엔진을 사용함으로써, 장애가 발생한 NIC로부터 하나 이상의 동작 NIC로 네트워크 접속을 지능적으로 장애극복할 수 있을 것이다. 해시 엔진은 장애가 발생했거나 신뢰할 수 없는 NIC가 일단 발견되면, 충분히 활용되지 않고 있거나, 또는 장애가 발생한 NIC로부터 접속을 수용할 수 있는 대체 NIC를 조회한다. 이러한 조회를 통하여, 해당 NIC의 용량을 초과하지 않으면서도 하나 이상의 추가적인 네트워크 접속이 대체 NIC에 의해서 처리될 수 있게 되고, 이로써 NIC와 연관된 컴퓨팅 장치의 네트워크 성능을 실질적으로 저하시킬 수 있는 장애극복 동작을 회피할 수 있게 된다. 장애가 발생한 NIC 내의 하드웨어 오프로드 엔진으로부터 접속을 언오프로드하여, 하나 이상의 장애극복 NIC 내의 하드웨어 오프로드 엔진으 로 이들 접속을 실질적으로 오프로드함으로써, 네트워크 성능에 있어서 추가적인 이득을 얻을 수 있다.
본 발명의 다른 실시예에서, 스위치 의존형 네트워크 환경(즉, 컴퓨팅 장치(100)의 NIC를 외부 네트워크로 연결하는 스위치가 802.3ad 모드로 동작하는 네트워크 환경)에서는 잠재적으로 스위치에 의하여, 또는 스위치 독립형 네트워크 환경에서는 외부 컴퓨팅 장치에 의하여, 컴퓨팅 장치 외부에서 장애극복 NIC의 선택이 수행될 수 있다. 이 실시예에서 장애극복 NIC를 선택하는 과정이, 스위치 독립형 환경에서 NIC를 선택하는 과정과 다르기 때문에, 이 실시예는 별도로 고려한다. 또한, 소프트웨어 TCP/IP(Transmission Control Protocol & Internet Protocol) 스택으로부터 하드웨어 오프로드 엔진으로 네트워크 접속을 오프로드함으로써 얻을 수 있는 이점은 기술분야에 잘 알려져 있기 때문에, 여기서 설명하지는 않는다.
도 1a 및 1b는 본 발명의 하나 이상의 태양이 구현될 수 있는 컴퓨팅 장치(100)를 도시한다. 도시된 바와 같이, 컴퓨팅 장치(100)는 메인 메모리(102), 메모리 제어기(104), 마이크로프로세서(106), I/O 제어기(108) 및 NIC(110, 118)를 포함한다. NIC(110)는 멀티캐스트 리스트(multicast list; 116) 및 DCT(위임 접속 테이블; delegated connection table; 114)를 더 포함하는 하드웨어 오프로드 엔진(hardware offload engine("HOE"); 112)을 포함한다. NIC(118)는 멀티캐스트 리스트(124) 및 DCT(122)를 더 포함하는 HOE(120)를 포함한다. HOE(112, 120)는 컴퓨팅 장치(100) 및 NIC(110, 118)에 선택적으로 오프로드된 하나 이상의 원격 네트워크 컴퓨팅 장치(도시 생략) 사이의 네트워크 접속과 연관된 네트워크 프레임의 프로세싱을 위해 구성된 논리를 포함한다. 관습적으로 행해지는 호스트 소프트웨어 TCP/IP 스택 내의 그것의 프로세싱 함수를 수행하는 것보다(종종 "접속을 하드웨어적으로 핸들링한다"라고 일컬어짐), 네트워크 프레임을 NIC(110, 118)의 논리로써 프로세싱함에 의해(종종 "접속을 소프트웨어적으로 핸들링한다"으로 일컬어짐), NIC(110, 118)와 마이크로프로세서(106) 사이의 통신 및 마이크로프로세서(106)에 의해 수행되는 계산(computation)은 실질적으로 줄어들 수 있다.
DCT(114, 122)는 복수의 DCT 입력들을 포함하도록 구성되며, 여기서 각각의 입력은 특정 DCT를 포함하는 HOE에 의해 프로세싱되는 프레임의 네트워크 접속에 대응된다. 본 발명의 일 실시예에서, 각각의 DCT 입력은 각각의 위임 접속(delegated connection)에 대한 후술하는 상태 정보를 포함한다: 목적지 (즉, 원격 컴퓨팅 장치) 인터넷 프로토콜("IP") 어드레스, 목적지 포트 번호, 소스(컴퓨팅 장치(100)) 포트 번호 및 하드웨어 내 위임 접속(delegated connection)을 실행하는데 필수적인 특정 TCP/IP 접속 상태.
메모리 제어기(104)는 메인 메모리(102) 및 마이크로프로세서(106)에 연결되고, I/O 제어기(108)는 마이크로프로세서(106) 및 NIC(110, 118)에 연결된다. 본 발명의 일 실시예에서, 마이크로프로세서(106)는 명령 또는 데이터를 I/O 제어기(108)에 기록함에 의해 명령 또는 데이터를 NIC(110, 118)에 전송한다. 일단 그러한 명령 또는 데이터가 I/O 제어기(108)에 기록되면, I/O 제어기(108)는 선택적으로 명령 또는 데이터를 타겟 NIC가 이해할 수 있 수 있게 번역(translate)을 하고 타겟 NIC로 명령 또는 데이터를 통신한다. 유사하게, NIC(110, 118)은 명령 또 는 데이터를 I/O 제어기(108)에 기록함에 의해 명령 또는 데이터를 마이크로프로세서(106)에 전송하며, I/O 제어기(108)는 선택적으로 명령 또는 데이터를 마이크로프로세서(106)가 이해할 수 있게 번역을 하고 마이크로프로세서(106)로 명령 또는 데이터를 통신한다. 전술한 연결은 PCITM 버스와 같은 I/O 버스 또는 메모리 버스 또는 그것의 임의의 조합으로 구현되거나 기술적으로 가능한 임의의 다른 수단으로 구현될 수 있다.
도 1b에 더 구체적으로 나와 있는 바와 같이, 메인 메모리(102)는 동작 시스템(126) 및 소프트웨어 드라이버(128)를 포함한다. 소프트웨어 드라이버(128)는 LBFO(Load Balancing and Failover) 모듈(130) 및 TCP/IP 스택(134)을 포함한다. LBFO 모듈(130)은 각각의 NIC에 대한 네트워킹 상태를 추적(track)하며(예를 들어, 각 NIC의 링크 상태를 모니터링함으로써, 각 NIC 상의 송신 및 수신 에러의 갯수 및/또는 각각의 NIC가 킵 얼라이브 패킷(keep-alive packet)을 송신 및 수신하였는지 여부), 네트워크 트래픽이 장애가 발생한 NIC(failed NIC)로부터 소프트웨어로 이동하거나, 소프트웨어로부터 장애극복 NIC(failover NIC)로 이동할 때, TCP/IP 스택(134)과 통신한다. 대리인 분류 번호 NVDA/P00P001882를 갖는 2007년 5월 18일 출원된 관련 미국 특허 출원 번호 11/750,903의 "로드-밸런스된 네트워킹 환경 내 지능적 장애 복구(Intelligent Failback In a Load-Balanced Networking Environment)"에서 기술되어 있는 바와 같이, LBFO 모듈(130)은, 위에서 언급한 네트워킹 통계학에 기초하여 네트워크 접속이 어떻게 컴퓨팅 장치(100) 내의 서로 다 른 기능적 NIC들에 걸쳐 분산되어야하는지를 지능적으로 판정하는 해시 엔진(132)을 포함한다. 이 관련 특허 출원은 여기에 참조로서 연관된다. TCP/IP 스택(134)은 복수의 접속 테이블 입력을 포함하는 접속 테이블(136)을 포함하며, 여기서 각각의 입력은 컴퓨팅 장치(100) 및 원격 컴퓨팅 장치 사이의 네트워크 접속에 대응된다. 일 실시예에서, 각각의 접속 테이블 입력은 각각의 접속에 대한 이하의 상태 정보를 포함한다: 목적지 IP 어드레스, 목적지 포트 번호, 소스 IP 어드레스, 소스 포트 번호 및 접속에 대한 하드웨어 식별자 및 드롭된 패킷 및 그 밖의 유사한 것을 핸들링하기 충분한 TCP/IP 상태. 중요하게, 특정 접속에 대한 하드웨어 식별자는, 만약 있다면 어떤 HOE가 하드웨어 내 그 접속을 프로세싱하는지 가리킨다. 일 실시예에서, 하드웨어에서 핸들링 되고 있는 각 접속에 대한 접속 상태는, 이 접속의 처리를 담당하는 HOE 내의 위임 접속 테이블로부터 접속 테이블(136)로 기계적으로(routinely) 복사(copy)될 수 있다. 예를 들어, 상태 정보는 리피팅 타이머(repeating timer)를 사용하여 복사될 수 있다. 이러한 방법으로, 각각의 위임 접속에 대한 접속 상태의 업데이트된 복사는 TCP/IP 스택(134)에 의해 사용되기 위해 접속 테이블(136)에서 유지될 수 있다.
컴퓨팅 장치(100)는 데스크톱 컴퓨터, 서버, 랩톱 컴퓨터, 팜-사이즈 컴퓨터, PDA, 태뷸렛 컴퓨터, 게임 콘솔, 휴대전화 및 정보를 처리하는 기타 이와 유사한 모든 장치일 수 있다.
도 2는 본 발명의 일 실시예에 따른, 네트워크 접속을 장애가 발생한 NIC로부터 소프트웨어로 언오프로드하기 위한 방법 단계(200)의 흐름도를 도시한다. 본 방법은 컴퓨팅 장치(100)를 참조하여 기술되었지만, 방법 단계를 임의의 순서로 수행하도록 구성된 임의의 시스템 또한 본 발명의 권리 범위 내에 있음을 당업자라면 이해할 것이다.
도시된 바와 같이, 네트워크 접속을 언오프로드하기 위한 방법은 단계(202)에서 시작하는데, 여기서 LBFO 모듈(130)은 NIC 중 하나에 장애가 발생하였거나 또는 신뢰할 수 없게 되었다는 표시(indication)에 대하여 각각의 NIC(110,118)의 상태를 모니터링한다. 일 실시예에서, NIC는 세 개의 조건 중 임의의 것에 해당할 때 장애가 발생하였거나 신뢰할 수 없게 된 것으로 판단된다. 첫째, LBFO 모듈(130)은 해당 NIC에 대한 링크 표시에 기초하여, 네트워크 케이블이 단절되었다는 것을 암시하는, NIC에 대한 링크 단절이 있는지를 판단할 수 있다. 둘째, LBFO 모듈(130)은 NIC에 의해 송신된 패킷의 수와 패킷이 전송된 원격 컴퓨팅 장치에 의해 승인된 패킷의 수의 비교에 기초하여 NIC에 의해 전송된 패킷 중 상당한(substantial) 개수 또는 비율의 패킷이 손실되었는지 판단할 수 있다. 셋째, LBFO 모듈(130)은 컴퓨팅 장치(100) 내의 NIC(110, 118) 간에 전송된 킵 얼라이브 패킷이 손실되었는지를 판단할 수 있다. 2005년 12월 15일에 출원된, 출원번호가 11/303,285이고 대리인 분류 번호는 NVDA/P001879인 관련 미국 특허 출원 "네트워크 인터페이스 카드 조직 내에서 장애 발생 네트워크 인터페이스 카드를 식별하는 기법(Technique for Identifying a Failed Network Interface Card within a Team of Network Interface Cards)"에 기술된 바와 같이, 각각의 NIC가 어떻게 킵 얼라이브 패킷을 송신 및/또는 수신하는지에 기초하여 장애가 발생한 NIC가 식별될 수 있다. 이 관련 특허 출원은 여기에 참조로서 포함되어 있다. 각각의 NIC를 이런 유형들의 표시에 대하여 모니터링함으로써, LBFO 모듈(130)은 장애가 발생하였거나 신뢰할 수 없는 NIC를 신뢰성있게 탐지할 수 있다.
단계(204)에서, LBFO 모듈(130)은 단계(202)에서 모니터링된 표시에 기초하여 NIC에 장애가 발생하였거나 신뢰할 수 없게 되었는지를 판단한다. LBFO 모듈(130)이 장애가 발생하지 않았다고 판단한 경우, 방법은 단계(202)로 되돌아가고, 이 단계에서 LBFO 모듈(130)은 장애 발생에 대하여 NIC(110, 118)의 감시를 속행한다.
그러나, NIC에 장애가 발생하였거나, 신뢰할 수 없게 된 것으로 판단되면, 방법은 단계(206-214)로 속행하며, 이 단계들에서 이 NIC를 통해 실행되고 있는 접속들은 소프트웨어로 언오프로드된다. 단지 설명할 목적으로, NIC(110)에 장애가 발생하였다고 가정한다. 단계(206)에서, LBFO 모듈(130)은 TCP/IP 스택(134)에 NIC(110)에 장애가 발생하였거나 신뢰할 수 없게 되었다고 신호를 보낸다. 단계(208)에서, LBFO 모듈은 해시 엔진(132)에 NIC(110)에 장애가 발생하였거나 신뢰할 수 없게 되었다고 신호를 보내서 장애가 발생한 NIC(110)에 어떠한 새로운 접속도 할당되지 못하도록 한다. 이 신호를 받으면, 해시 엔진(132)은 내부 로드 균형 조정 알고리즘을 조정하여 장애가 발생한 NIC(110)에 새로운 접속이 할당되지 않도록 한다.
단계(210)에서, 각각의 접속이 장애가 발생한 NIC(110)를 통하여 실행되기 위해서, 장애가 발생한 NIC(예: HOE(112))는 자신의 접속에 해당하는 DCT(예: DCT(114)) 내의 입력을 무효화한다. 일 실시예에서, TCP/IP 스택(134)이 HOE(112)에 DCT 입력을 무효화하라는 명령을 송신하고, HOE(112)가 명령을 수신하고 DCT 입력을 무효화하며, HOE(112)가 TCP/IP 스택(134)에 이러한 동작이 완료되었음을 승인하는 것에 의해 DCT 입력이 무효화된다. 단계(212)에서, 장애가 발생한 NIC(110)로부터 언오프로드된 각각의 접속에 대하여, 그 접속에 대한 DCT(114) 내의 접속 상태가 접속 테이블(136) 내의 접속 상태와 합치하지 않는 경우, TCP/IP 스택(134)은 DCT(114)로부터 접속 테이블(136)로의 접속에 대한 접속 상태를 복사한다. 단계(214)에서, 장애가 발생한 NIC(110)로부터 언오프로드된 각각의 접속에 대하여, TCP/IP 스택(134)은 접속 테이블(136) 내의 그 접속에 대하여 하드웨어 식별자를 무효화한다. 하드웨어 식별자를 무효화하는 것은 TCP/IP 스택(134)를 통하여 접속이 실행됨을 나타낸다. 중요한 점은, 한 번 접속에 대한 접속 상태가 DCT(114) 내에서 무효화 되고 접속에 대한 하드웨어 식별자가 접속 테이블(136) 내에서 무효화 되었으면, 그 접속 상에서 송신되거나 수신된 어떤 패킷도, 그 이후부터는 HOE(112)를 통하여 하드웨어 내에서 처리되는 것이 아니라, TCP/IP 스택(134)을 통하여 소프트웨어 내에서 처리된다는 것이다. 장애가 발생한 NIC(110) 상의 모든 접속이 이런 방식으로 하드웨어로부터 소프트웨어로 언오프로드되면, 방법은 단계(216)에서 종료된다.
도 3a 및 3b는 본 발명의 일 실시예에 따른, 스위치 독립형 네트워크 환경에서 네트워크 접속을 소프트웨어로부터 장애극복 NIC로 오프로드하기 위한 방법 단계의 흐름도를 도시한다. 본 방법은 컴퓨팅 장치(100)를 참조하여 기술되었지만, 방법 단계를 임의의 순서로 수행하도록 구성된 임의의 시스템 또한 본 발명의 권리 범위 내에 있음을 당업자라면 이해할 것이다.
중요한 점은, 스위치 독립형 네트워크 환경(즉, 컴퓨팅 장치(100)의 NIC를 외부 네트워크에 연결하는 스위치가 802.3ad 모드로 동작하지 않는 네트워크 환경)에서, LBFO 모듈(130)은, 도 2에 도시된 바와 같이, 소프트웨어로 언오프로드된 각각의 접속에 대하여 장애극복 NIC를 식별한다는 것이다.
나타난 바와 같이, 단일 네트워크 접속을 소프트웨어로부터 장애극복 NIC로 오프로드 위한 방법이 단계(302-312) 내에 기술된다. 결국 모든 언오프로드된 접속들이 소프트웨어에서 장애극복 NIC로 오프로드 되도록 이 단계들은 방법(200)에서 소프트웨어로 언오프로드된 각각의 접속들에 대하여 반복된다. 단계(302)에서, TCP/IP 스택(134)은 현재 언오프로드된 접속이 오프로드 되어야하할 NIC를 식별할 것을 LBFO 모듈(130)에 요청한다. 다시, 단계(208)에서 설명된 바와 같이, 해시 엔진(132)은 NIC에 장애가 발생하거나 신뢰할 수 없게 되었을 때 어떤 새로운 또는 존재하는 접속도 그 장애가 발생하거나 신뢰할 수 없는 NIC로 오프로드되지 않도록 연결 할당 알고리즘을 조정하고 컴퓨팅 장치(100) 내의 각각의 NIC의 상태를 추적한다. 단계(304)에서, LBFO 모듈(130)은 해시 엔진(132)에 현재 접속이 오프로드 되어야할 적합한 NIC를 식별할 것을 질의(query)한다. 단지 설명할 목적으로, 해시 엔진(132)이 장애극복 NIC(118)를 (이전에 장애가 발생한 NIC(110)로부터 언오프로드된) 현재 접속이 오프로드 되어야할 NIC로 식별하였다고 가정한다.
단계(306)에서, 소프트웨어 드라이버(128)는 장애가 발생한 NIC(110)의 매체 접근 제어(MAC) 어드레스를 장애극복 NIC(118)의 멀티캐스트 리스트(124)에 추가하고, 이로써 장애극복 NIC(118)가 장애가 발생한 NIC(110)의 MAC 어드레스로 어드레싱된 패킷을 수신하는 것이 가능하게 된다. 단계(308)에서, TCP/IP 스택(134)은 장애극복 NIC(118)에 스위치로 러닝 패킷을 송신할 것을 지시한다. 러닝 패킷은 장애가 발생한 NIC(110)의 MAC 어드레스를 포함하는 임의의 기술적으로 실행가능한 패킷 유형일 수 있다. 잘 알려진 바와 같이, 장애극복 NIC(118)로부터 이런 패킷을 송신함으로써, 스위치는 장애가 발생한 NIC(110)의 MAC 어드레스로 목표 지정된 후속 패킷을 장애극복 NIC(118)로 경로 지정(route)하도록 스스로 재구성하게 된다. 따라서, 장애극복 NIC(118)로 오프로드되고 있는 현재 접속에 관련된 모든 네트워크 트래픽은 그 이후부터 장애극복 NIC(118)에 의해 수신되게 된다. 대리인 분류 번호가 NVDA/P00P001882인 관련 출원에서 더 상세히 기술되는 바와 같이, 이 접근법에 의하면, 특정한 장애 발생 NIC에서 유래한 모든 접속이 동일한 장애극복 NIC로 오프로드 된다.
단계(310)에서, HOE(120)는 오프로드되고 있는 현재 접속에 대응하는 DCT(122)의 접속 상태를 설정한다. 다시 말해, DCT 엔트리의 접속 상태를 설정하는 것은 목적지 IP 주소, 목적지 포트 번호, 소스 포트 번호 그리고 오프로드되고 있는 접속에 관한 소정의 TCP/IP 상태를 설정하는 것을 포함한다. 일 실시예에서, DCT 엔트리는 접속 상태를 설정하기 위해 HOE(120)로 명령을 전송하는 TCP/IP 스택(134)에 의해 설정되고, HOE(120)는 명령을 수신하여 접속 상태를 설정하며, HOE(120)는 TCP/IP 스택(134)에 대한 동작의 완료를 확인(acknowledge)한다. 단 계(312)에서, 오프로드되고 있는 접속에 대해, TCP/IP 스택(134)은 접속 테이블(136) 내의 하드웨어 식별자를 장애극복 NIC(118)의 HOE(120)를 나타내는 디바이스 핸들(device handle)로 설정한다. 하드웨어 식별자는 접속이 HOE(120)를 통해 이루어지고 있다는 것을 표시한다. 중요하게는, 접속에 관한 하드웨어 식별자가 특정 HOE를 위한 디바이스 핸들로 설정되면, 그 접속 상에서 전송되거나 수신되는 임의의 패킷이 전송 및 수신 후에 특정 HOE를 통해 하드웨어에서 핸들링된다.
단계(314)에서, TCP/IP 스택(134)은 장애가 발생한 NIC(110)를 위한 언오프로드된 모든 접속이 장애극복 NIC로 오프로드 되었는지를 판정한다. 모든 언오프로드 된 접속이 장애극복 NIC로 오프로드 되지 않은 경우, 본 방법은 또 다른 언오프로드된 접속이 장애극복 NIC로 오프로드되는 단계들(302 내지 312)로 돌아가 반복된다. 그러나 모든 언오프로드된 접속이 장애극복 NIC로 오프로드된 경우, 방법은 단계(316)에서 종료한다.
도 4는 본 발명의 일 실시예에 따라, 네트워크 접속이 외부 수단에 의해 새로운 NIC로 이동될 때 네트워크 접속을 새로운 NIC로 오프로드하기 위한 단계들의 논리 흐름도를 도시한다. 본 방법은 컴퓨팅 장치(100)를 참고해서 설명되지만, 당업자는 본 방법의 단계들을 임의의 순서로 실행하도록 구성된 임의의 시스템이 본 발명의 범위 내에 있다는 것을 이해한다.
위에서 설명된 바와 같이, 장애극복은 접속이 두 개 이상의 상황에서 오래된 NIC로부터 새로운 NIC(즉, 장애극복 NIC)로 이동될 때 발생할 수 있다. 일 상황은, NIC에 장애가 발생했거나 NIC가 신뢰성이 없게 되어서, 장애가 발생한 또는 신 뢰성 없는 NIC와 연관된 일부 또는 모든 접속을 하나 이상의 장애극복 NIC로 이동시키는 것을 스위치가 결정하는 스위치-종속형 네트워크 환경을 수반한다. 또 다른 상황은, 컴퓨팅 장치(100)에 의해 수신된 접속에 관한 패킷이 오래된 NIC 외의 NIC(즉, 새로운/장애극복 NIC)로 어드레싱되고 이에 의해 수신되는 스위치-독립형 네트워크 환경을 수반한다. 이 경우, 컴퓨터 장치(100) 외의 네트워크의 소정의 컴퓨팅 장치가 접속과 연관된 패킷을 새로운 NIC로 전송시키는데에 주도권을 갖는다. 양 상황 모두에서, LBFO 모듈(130)이 접속에 관한 패킷이 오래된 NIC 이외의 NIC상에 수신되고 있다는 것을 검출할 때 새로운 NIC가 접속을 위해 선택되었다는 것을 LBFO 모듈(130)이 인식한다. 이하에서 보다 상술되는 바와 같이, LBFO 모듈(130)은 유입 패킷을 위한 NIC를 모니터하고, 유입 패킷이 이동된 접속을 표시하는지, 오래된 NIC로부터 이동된 접속을 언오프로드하는지 그리고 이동된 접속을 새로운 NIC 상으로 오프로드하는지를 판정한다. 설명을 위해서만, NIC(110)이 오래된 NIC이라는 것을 가정한다.
도시된 바와 같이, 네트워크 접속을 오프로드하기 위한 방법이 단계(402)에서 시작하는데, 여기서 LBFO 모듈(130)이 네트워크 트래픽을 위한 NIC를 모니터링한다. 단계(404)에서, 주어진 접속에 대해, LBFO 모듈(130)은 접속에 관한 패킷이 오래된 NIC(110)보다는 새로운 NIC상에 수신되었다는 것을 검출한다. 다시 말해, 이는 적어도 두 가지 상황에서 발생할 수 있다. 일 상황은, 스위치-종속형 네트워크 환경에서, 스위치가 장애가 발생한 또는 신뢰성이 없는 NIC를 검출하고 접속을 장애극복 NIC로 이동시키는 상황이다. 다른 상황은, 스위치-독립형 네트워크 환경 에서, 컴퓨팅 장치가 접속에 관한 패킷이 최초로 수신되었던 오래된 NIC 이외의 NIC로 전송하는 것을 시작한다. 설명을 위해서만, 단계(404)에서 식별된 새로운 NIC가 NIC(118)라는 것을 가정한다. 단계(406)에서, 소프트웨어 드라이버(128)는 도 2와 관련하여 위에서 기술된 바와 같이 오래된 NIC(112)로부터 소프트웨어로 접속을 언오프로드한다.
단계(408)에서, LBFO 모듈(130)은 새로운 NIC(118)의 아이덴터티(identity)를 해시 엔진(132)으로 통신하고, 이는 해시 엔진(132)이 새로운 NIC(118) 상의 추가 접속에 관한 내부 데이터 구조를 갱신하도록 한다. 단계(410)에서, HOE(120)는 NIC(118)로 오프로드되고 있는 접속에 대응하는 DCT(122)의 접속 상태를 설정한다. 다시 말해, DCT 엔트리의 접속 상태를 설정하는 것은 목적지 IP 주소, 목적지 포트 번호, 소스 포트 번호 그리고 오프로드되고 있는 접속에 관한 특정 TCP/IP 상태를 설정하는 것을 포함한다. 일 실시예에서, DCT 엔트리는 접속 상태를 설정하기 위해 HOE(120)로 명령을 전송하는 TCP/IP 스택(134)에 의해 설정되며, HOE(120)은 명령을 수신하여 접속 상태를 설정하고, HOE(120)는 TCP/IP 스택(134)에 대한 동작의 완료를 확인한다. 단계(412)에서, 오프로드되고 있는 접속에 대해, TCP/IP 스택(134)은 단계(402)로 돌아가기 전에 접속 테이블(136) 내의 하드웨어 식별자를 새로운 NIC(118)의 HOE(120)를 나타내는 디바이스 핸들로 설정한다. 다시 말해, 하드웨어 식별자는 네트워크 접속이 HOE(120)를 통해 이루어지고 있다는 것을 표시한다. 위에서 기술된 바와 같이, 접속에 관한 하드웨어 식별자가 특정 HOE를 위한 디바이스 핸들로 설정되면, 그 접속 상에서 전송되거나 수신된 임의의 패킷이 그 후에 특정 HOE를 통해 하드웨어에서 핸들링된다.
오래된 NIC(110)와 연관된 접속이 방법(200)에 따라 소프트웨어로 언오프로드된 다음 및 접속이 방법(400)에 따라 새로운 NIC로 오프로드되기 전에는, 컴퓨팅 장치(100)는 해시 엔진(132)에 의해 임시로 선택된 NIC 상의 소프트웨어로부터 접속에 관한 패킷을 전송한다는 것에 주의해야 한다. 통상적으로, 임시 NIC를 선택하는 것은 LBFO 엔진(130)에 의해 수행되며, 이 LBFO 엔진(130)은, 추가 접속과 연관된 패킷을 전송하는 것이 NIC 상에 존재하는 접속을 위한 전송 수행을 실질적으로 악화시키지 않도록 현재 전송 수행이 소정의 수준에 있는 NIC에 관해 해시 엔진(132)에게 질의한다. LBFO 엔진(130)이 소프트웨어 외부에서 이루어지는 언오프로드된 접속과 연관된 패킷이 새로운 NIC 상에 수신되었다는 것을 검출하고, 위에서 기술된 바와 같이, 임시 NIC 상의 접속에 관한 패킷 전송이 중단되며, 접속은 발명(400)에 따라, 패킷을 전송 및 수신하기 위해 새로운 NIC로 오프로드된다.
개시된 본 발명의 일 장점은, 해시 엔진을 이용하여 컴퓨팅 장치(100)의 서로 다른 기능적 NIC 중에서 네트워크 트래픽을 지능적으로 분배하는 것이, 스위치-독립형 네트워크 환경에서 접속 장애를 극복할 때, 네트워크 성능을 종래 기술의 해결 방안과 비교하여 실질적으로 향상시킬 수 있다는 것이다. 개시된 본 발명의 또 다른 장점은, 네트워크 접속이 장애극복 NIC로 이동될 때, 네트워크 접속을 장애극복 NIC로 오프로드하는 것이 컴퓨팅 장치의 성능을 종래 기술의 해결 방안과 비교하여 실질적으로 향상시킬 수 있다는 것이다.
이상의 설명은 본 발명의 실시예에 관한 것이며, 본 발명의 다른 실시예 및 후속 실시예가 본 발명의 범위에서 벗어나지 않고 고안될 수 있다. 본 발명의 범위는 이하의 청구항에 의해서 결정된다.
전술한 본 발명의 특징을 자세히 이해할 수 있도록, 앞서 약술한 바 있는 본 발명에 대하여, 첨부된 도면에 일부 도시한 실시예를 참조하여 좀 더 구체적으로 설명하였다. 다만 주목할 점은, 첨부된 도면은 본 발명의 대표적인 실시예만을 도시할 뿐이며, 동일한 효과를 가지는 다른 실시예들도 본 발명에 포함될 수 있으므로, 본 발명의 범위를 제한하는 것이 아니다.
도 1a 및 도 1b는 본 발명의 하나 이상의 특징이 구현될 수 있는 컴퓨팅 장치를 도시하는 도면.
도 2는 장애가 발생한 NIC로부터 네트워크 접속을 소프트웨어로 언오프로드(unoffloading)하는 방법의 단계를 도시한 흐름도.
도 3a 및 도 3b는 스위치 독립형 네트워크 환경에서 소프트웨어로부터 네트워크 접속을 장애극복 NIC로 오프로드하는 방법의 단계를 도시한 흐름도.
도 4는 외부 수단에 의해서 네트워크 접속이 새로운 NIC로 이동되었을 때, 네트워크 접속을 새로운 NIC로 오프로드하는 방법의 단계를 도시한 흐름도.

Claims (10)

  1. 교환-독립형 네트워크 환경(switch-independent network environment)에서 호스트 소프트웨어 모듈로부터 장애극복(failover) 네트워크 인터페이스 카드(NIC)에 포함된 제1 하드웨어 오프로드 엔진(hardware offload engine)으로 네트워크 접속을 오프로드(offload)하는 방법으로서,
    상기 장애극복 NIC의 식별 정보(identity)를 요청하는 단계;
    해시 알고리즘의 출력으로부터 상기 장애극복 NIC의 상기 식별 정보를 결정하는 단계;
    상기 제1 하드웨어 오프로드 엔진에 포함된 제1 위임 접속 테이블(delegated connection table)에 엔트리를 설정하는 단계 - 상기 엔트리는 상기 네트워크 접속에 대한 접속 상태를 포함함 - ; 및
    상기 네트워크 접속에 대응하는 상기 호스트 소프트웨어 모듈에 포함된 접속 테이블에 하드웨어 식별자(hardware identifier)를 설정하는 단계 - 상기 설정된 하드웨어 식별자는 상기 네트워크 접속이 상기 제1 하드웨어 오프로드 엔진을 통해 실행되고 있음을 나타냄 -
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 네트워크 접속은 장애가 발생했거나 신뢰할 수 없게 된 제2 NIC에 포함 된 제2 하드웨어 오프로드 엔진으로부터 언오프로드(unoffload)되어 있고, 상기 장애극복 NIC와 연관된 멀티캐스트 리스트에 상기 제2 NIC와 연관된 매체 접근 제어(media access control: MAC) 어드레스를 추가하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 장애극복 NIC와 연관된 상기 멀티캐스트 리스트에 대한 상기 제2 NIC와 연관된 상기 MAC 어드레스의 상기 추가는 상기 장애극복 NIC로 하여금 상기 제2 NIC와 연관된 상기 MAC 어드레스로 어드레싱된 패킷들을 수신하도록 하는, 방법.
  4. 제1항에 있어서,
    상기 호스트 소프트웨어 모듈로부터 상기 장애극복 NIC에 포함된 상기 제1 하드웨어 오프로드 엔진으로 네트워크 접속을 오프로드하기에 앞서, 제2 NIC에 포함된 제2 하드웨어 오프로드 엔진으로부터 상기 호스트 소프트웨어 모듈로 네트워크 접속을 언오프로드하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 제2 NIC에 포함된 상기 제2 하드웨어 오프로드 엔진으로부터 상기 네트워크 접속을 언오프로드하는 상기 단계는
    상기 제2 NIC에 장애가 발생했거나 상기 제2 NIC가 신뢰할 수 없게 됨을 시그널링(signaling)하는 단계;
    상기 제2 NIC에 장애가 발생했거나 상기 제2 NIC가 신뢰할 수 없게 됨을 상기 해시 알고리즘을 실행하는 해시 엔진에 통지하는 단계;
    상기 제2 하드웨어 오프로드 엔진에 포함된 제2 위임 접속 테이블의 엔트리를 무효화하는 단계 - 상기 엔트리는 상기 네트워크 접속에 대한 접속 상태를 포함함 -; 및
    상기 네트워크 접속에 대응하는 상기 호스트 소프트웨어 모듈에 포함된 상기 접속 테이블의 상기 하드웨어 식별자를 무효화하는 단계 - 상기 무효화된 하드웨어 식별자는 상기 네트워크 접속이 상기 호스트 소프트웨어 모듈을 통해 실행되고 있음을 나타냄 -
    를 포함하는, 방법.
  6. 교환-독립형 네트워크 환경에서 네트워킹 프로토콜 모듈(network protocol module)로부터 장애극복 네트워크 인터페이스 카드(NIC)에 포함된 제1 하드웨어 오프로드 엔진으로 네트워크 접속을 오프로드(offloading)하도록 구성된 컴퓨팅 장치로서,
    상기 장애극복 NIC를 포함하는 복수의 NIC;
    호스트 프로세서; 및
    접속 테이블을 포함하는 상기 네트워킹 프로토콜 모듈 및 해시 엔진을 포함하는 부하 조절 장애극복(load balancing failover: LBFO) 모듈을 갖는 소프트웨어 드라이버를 저장하도록 구성되는 상기 호스트 프로세서에 결합된 호스트 메모리
    를 포함하고,
    상기 네트워킹 프로토콜 모듈은 상기 LBFO 모듈로부터 상기 장애극복 NIC의 식별 정보를 요청하도록 구성되며,
    상기 LBFO 모듈은 상기 해시 엔진에 의해 실행되는 해시 알고리즘의 출력으로부터 상기 장애극복 NIC의 상기 식별 정보를 결정하도록 구성되고,
    상기 장애극복 NIC의 상기 식별 정보를 습득(learning)하면, 상기 네트워킹 프로토콜 모듈은 상기 제1 하드웨어 오프로드 엔진에 포함된 제1 위임 접속 테이블에 엔트리 - 상기 엔트리는 상기 네트워크 접속에 대한 접속 상태를 포함함 - 를 설정하기 위해 상기 제1 하드웨어 오프로드 엔진과 통신하도록 더 구성되며,
    상기 제1 하드웨어 오프로드 엔진은 상기 네트워킹 프로토콜 모듈로부터의 통신에 응답하여 상기 제1 위임 접속 테이블에 상기 엔트리를 설정하도록 구성되고,
    상기 네트워킹 프로토콜 모듈은 상기 네트워크 접속에 대응하는 상기 접속 테이블에 하드웨어 식별자를 설정하도록 - 상기 설정된 하드웨어 식별자는 상기 네트워크 접속이 상기 제1 하드웨어 오프로드 엔진을 통해 실행되고 있음을 나타냄 - 더 구성되는, 컴퓨팅 장치.
  7. 제6항에 있어서,
    상기 복수의 NIC는 장애가 발생했거나 신뢰할 수 없게 된 제2 NIC를 포함하고, 상기 네트워크 접속은 제2 NIC에 포함된 제2 하드웨어 오프로드 엔진으로부터 언오프로드되어 있으며, 상기 소프트웨어 드라이버는 상기 장애극복 NIC와 연관된 멀티캐스트 리스트에 상기 제2 NIC와 연관된 매체 접근 제어(MAC) 어드레스를 추가하도록 구성되는, 컴퓨팅 장치.
  8. 제7항에 있어서,
    상기 장애극복 NIC와 연관된 상기 멀티캐스트 리스트에 대한 상기 제2 NIC와 연관된 상기 MAC 어드레스의 상기 추가는 상기 장애극복 NIC로 하여금 상기 제2 NIC와 연관된 상기 MAC 어드레스로 어드레싱된 패킷들을 수신하도록 하는, 컴퓨팅 장치.
  9. 제6항에 있어서,
    상기 복수의 NIC는 장애가 발생했거나 신뢰할 수 없게 된 제2 NIC를 포함하고, 상기 네트워크 접속은 상기 네트워킹 프로토콜 모듈로부터 상기 장애극복 NIC에 포함된 상기 제1 하드웨어 오프로드 엔진으로 상기 네트워크 접속을 오프로드하기에 앞서, 상기 제2 NIC에 포함된 제2 하드웨어 오프로드 엔진으로부터 상기 네트워킹 프로토콜 모듈로 언오프로드되는, 컴퓨팅 장치.
  10. 제9항에 있어서,
    상기 LBFO 모듈은 상기 제2 NIC에 장애가 발생했거나 상기 제2 NIC가 신뢰할 수 없게 됨을 상기 네트워킹 프로토콜 모듈에 시그널링하도록 구성되고,
    상기 LBFO 모듈은 상기 제2 NIC에 장애가 발생했거나 상기 제2 NIC가 신뢰할 수 없게 됨을 상기 해시 엔진에 통지하도록 더 구성되며,
    상기 네트워킹 프로토콜 모듈은 상기 제2 하드웨어 오프로드 엔진에 포함된 제2 위임 접속 테이블의 엔트리 - 상기 엔트리는 상기 네트워크 접속에 대한 접속 상태를 포함함 - 를 무효화기 위해 상기 제2 하드웨어 오프로드 엔진과 통신하도록 구성되며,
    상기 제2 하드웨어 오프로드 엔진은 상기 네트워킹 프로토콜 모듈로부터의 통신에 응답하여 상기 제2 위임 접속 테이블의 상기 엔트리를 무효화하도록 구성되고,
    상기 네트워킹 프로토콜 모듈은 상기 네트워크 접속에 대응하는 상기 접속 테이블의 상기 하드웨어 식별자를 무효화하도록 - 상기 무효화된 하드웨어 식별자는 상기 네트워크 접속이 상기 제1 하드웨어 오프로드 엔진을 통해 실행되고 있음을 나타냄 - 더 구성되는, 컴퓨팅 장치.
KR1020080045649A 2007-05-18 2008-05-16 부하 조절형 네트워크 환경에서의 지능형 장애극복을 위한 방법 및 장치 KR101038364B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/750,903 2007-05-18
US11/750,903 US7760619B2 (en) 2007-05-18 2007-05-18 Intelligent failover in a load-balanced networking environment

Publications (2)

Publication Number Publication Date
KR20080101787A true KR20080101787A (ko) 2008-11-21
KR101038364B1 KR101038364B1 (ko) 2011-06-01

Family

ID=40027405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080045649A KR101038364B1 (ko) 2007-05-18 2008-05-16 부하 조절형 네트워크 환경에서의 지능형 장애극복을 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US7760619B2 (ko)
JP (1) JP4974964B2 (ko)
KR (1) KR101038364B1 (ko)
CN (1) CN101321085B (ko)
TW (1) TWI348846B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220071858A (ko) * 2020-11-24 2022-05-31 한국과학기술원 네트워크 및 파일 입출력 연산 오프로딩 방법, 연산 오프로딩 시스템 및 컴퓨터 판독 가능 기록매체

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100530475B1 (ko) 1999-11-10 2006-01-09 론치 미디어, 인크. 인터넷 라디오와 방송 방법
JP5176482B2 (ja) * 2007-10-26 2013-04-03 富士通株式会社 管理プログラム、管理方法、管理装置および通信システム
CN101631110B (zh) * 2008-07-15 2013-01-02 国际商业机器公司 基于相对位置动态确定连接建立机制的装置和方法
US20140130129A1 (en) * 2011-08-09 2014-05-08 Hewlett-Packard Development Company, L.P. Count values to detect disconnected circuit
US9098434B2 (en) 2012-09-11 2015-08-04 Ciena Corporation Load balancing systems and methods of MAC learning in multi-slot architectures
US9749173B2 (en) 2012-09-11 2017-08-29 Ciena Corporation Systems and methods for synchronizing forwarding databases across multiple interconnected layer-2 switches
TWI466498B (zh) * 2012-12-10 2014-12-21 Chunghwa Telecom Co Ltd A system and method for providing an autonomous load balancing host in a distributed environment
CN104579727B (zh) 2013-10-17 2018-02-06 国际商业机器公司 一种管理网络节点的网络连接的方法和装置
US9525608B2 (en) * 2015-02-25 2016-12-20 Quanta Computer, Inc. Out-of band network port status detection
US10305796B2 (en) 2015-06-01 2019-05-28 Ciena Corporation Enhanced forwarding database synchronization for media access control addresses learned in interconnected layer-2 architectures
CN105406989B (zh) * 2015-10-26 2019-04-05 华为技术有限公司 处理报文的方法、网卡及系统、更新信息的方法及主机
IL242353B (en) * 2015-10-29 2021-01-31 Verint Systems Ltd System and method for soft failovers for proxy servers
KR101881352B1 (ko) 2016-10-06 2018-07-25 주식회사 복음자리 국내산 밤을 활용한 밤 스프레드의 제조방법

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0660569A1 (en) * 1993-12-22 1995-06-28 International Business Machines Corporation Method and system for improving the processing time of the path selection in a high speed packet switching network
JPH0816422A (ja) * 1994-07-04 1996-01-19 Fujitsu Ltd バス通信方法及びバス通信システム
US5724510A (en) * 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US5864535A (en) * 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
US5914938A (en) * 1996-11-19 1999-06-22 Bay Networks, Inc. MAC address table search unit
US6208616B1 (en) * 1997-05-13 2001-03-27 3Com Corporation System for detecting errors in a network
US6052733A (en) * 1997-05-13 2000-04-18 3Com Corporation Method of detecting errors in a network
US6151297A (en) * 1997-07-08 2000-11-21 Hewlett-Packard Company Method and system for link level server/switch trunking
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6389479B1 (en) * 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
US6570875B1 (en) * 1998-10-13 2003-05-27 Intel Corporation Automatic filtering and creation of virtual LANs among a plurality of switch ports
US6560630B1 (en) * 1999-03-18 2003-05-06 3Com Corporation Receive load balancing and fail over with multiple network interface cards
US6567377B1 (en) * 1999-03-18 2003-05-20 3Com Corporation High performance load balancing of outbound internet protocol traffic over multiple network interface cards
US6590861B1 (en) * 1999-03-18 2003-07-08 3Com Corporation Combining virtual local area networks and load balancing with fault tolerance in a high performance protocol
US6512774B1 (en) * 1999-03-18 2003-01-28 3Com Corporation Fail over with multiple network interface cards
US7299294B1 (en) * 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
US6683882B1 (en) * 1999-11-09 2004-01-27 3Com Corporation Method and system for directing transmission of IPX control packets to influence reception of IPX data packets
US6779039B1 (en) * 2000-03-31 2004-08-17 Avaya Technology Corp. System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers
WO2001082098A1 (en) * 2000-04-27 2001-11-01 Fortress Technologies, Inc. Network interface device having primary and backup interfaces for automatic dial backup upon loss of a primary connection and method of using same
US7116664B2 (en) * 2002-05-13 2006-10-03 International Business Machines Corporation Lookups by collisionless direct tables and CAMs
JP2003348093A (ja) * 2002-05-27 2003-12-05 Nec Corp 通信処理装置およびネットワークインタフェース切り替え方法
US7415028B1 (en) * 2003-02-11 2008-08-19 Network Equipment Technologies, Inc. Method and system for optimizing routing table changes due to ARP cache invalidation in routers with split plane architecture
EP1614267B1 (en) * 2003-04-15 2016-07-20 Thomson Licensing Techniques for offering seamless accesses in enterprise hot spots for both guest users and local users
US7324512B2 (en) * 2003-06-12 2008-01-29 International Business Machines Corporation MAC layer bridging of network frames between isolated and external networks
US7934020B1 (en) * 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
WO2005057318A2 (en) * 2003-12-11 2005-06-23 Bladefusion Technologies 2003 Ltd. Method and an apparatus for controlling executables running on blade servers
US7257731B2 (en) * 2003-12-23 2007-08-14 Nokia Inc. System and method for managing protocol network failures in a cluster system
US7877519B2 (en) * 2004-10-18 2011-01-25 Intel Corporation Selecting one of a plurality of adapters to use to transmit a packet
US7783880B2 (en) * 2004-11-12 2010-08-24 Microsoft Corporation Method and apparatus for secure internet protocol (IPSEC) offloading with integrated host protocol stack management
US7505401B2 (en) * 2005-01-31 2009-03-17 International Business Machines Corporation Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network
JP2006253900A (ja) * 2005-03-09 2006-09-21 Hitachi Ltd Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
US7876689B2 (en) * 2005-06-29 2011-01-25 Hewlett-Packard Development Company, L.P. Method and apparatus for load balancing network interface adapters based on network information
US20070201490A1 (en) * 2005-07-13 2007-08-30 Mahamuni Atul B System and method for implementing ethernet MAC address translation
US7872965B2 (en) * 2005-08-01 2011-01-18 Hewlett-Packard Development Company, L.P. Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks
US7619993B2 (en) * 2005-11-01 2009-11-17 International Business Machines Corporation Efficient probabilistic duplicate packet detector in computer networks
US7710862B2 (en) * 2006-08-30 2010-05-04 Hewlett-Packard Development Company, L.P. Method and system of assigning media access control (MAC) addresses across teamed communication ports

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220071858A (ko) * 2020-11-24 2022-05-31 한국과학기술원 네트워크 및 파일 입출력 연산 오프로딩 방법, 연산 오프로딩 시스템 및 컴퓨터 판독 가능 기록매체

Also Published As

Publication number Publication date
US7760619B2 (en) 2010-07-20
CN101321085B (zh) 2012-03-14
US20080285552A1 (en) 2008-11-20
JP2008305394A (ja) 2008-12-18
CN101321085A (zh) 2008-12-10
JP4974964B2 (ja) 2012-07-11
TW200913568A (en) 2009-03-16
TWI348846B (en) 2011-09-11
KR101038364B1 (ko) 2011-06-01

Similar Documents

Publication Publication Date Title
KR101038364B1 (ko) 부하 조절형 네트워크 환경에서의 지능형 장애극복을 위한 방법 및 장치
KR100927498B1 (ko) 부하 밸런싱된 네트워크 환경에서의 지능형 페일오버
US8300647B2 (en) Intelligent load balancing and failover of network traffic
US8432788B2 (en) Intelligent failback in a load-balanced networking environment
US7995465B2 (en) Intelligent load balancing and failover of network traffic
JP6169251B2 (ja) 分散型ロードバランサにおける非対称パケットフロー
US7974186B2 (en) Connection recovery device, method and computer-readable medium storing therein processing program
US7797565B1 (en) System and method for maintaining communication protocol connections during failover
US7792018B2 (en) Intelligent load balancing and failover of network traffic
US8370897B1 (en) Configurable redundant security device failover
CN113507431B (zh) 一种报文管理方法、装置、设备及机器可读存储介质
US8693483B2 (en) Adjusting MSS of packets sent to a bridge device positioned between virtual and physical LANS
JP2005527898A (ja) チャネル・アダプタ障害に対する冗長性を提供する方法
JP7188602B2 (ja) L2スイッチ、通信制御方法、および、通信制御プログラム
WO2020177471A1 (zh) 报文传输方法、装置及存储介质
CN117914780A (zh) 一种路由管理方法、装置及相关设备

Legal Events

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

Payment date: 20140508

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee