KR100680888B1 - 상태 동기를 갖는 클러스터에 대한 버츄얼 멀티캐스트라우팅 - Google Patents

상태 동기를 갖는 클러스터에 대한 버츄얼 멀티캐스트라우팅 Download PDF

Info

Publication number
KR100680888B1
KR100680888B1 KR1020050134263A KR20050134263A KR100680888B1 KR 100680888 B1 KR100680888 B1 KR 100680888B1 KR 1020050134263 A KR1020050134263 A KR 1020050134263A KR 20050134263 A KR20050134263 A KR 20050134263A KR 100680888 B1 KR100680888 B1 KR 100680888B1
Authority
KR
South Korea
Prior art keywords
cluster
multicast
network
network device
protocol
Prior art date
Application number
KR1020050134263A
Other languages
English (en)
Other versions
KR20060079117A (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 KR20060079117A publication Critical patent/KR20060079117A/ko
Application granted granted Critical
Publication of KR100680888B1 publication Critical patent/KR100680888B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Abstract

네트워크 클러스터를 이용하여 멀티캐스트 라우팅을 관리하는 시스템, 장치 및 방법이 개시된다. 클러스터 마스터는 클러스터 이웃들과의 멀티캐스트 제어 프로토콜 통신에 활발히 참여하고, 비 마스터 멤버 노드들은 클러스터 외부의 프로토콜 동작에 참여하지 않는다. 하지만, 각 클러스터 멤버는 실질적으로 동일한 프로토콜 상태를 유지하며, 이에 따라 마스터가 이용불가능해지는 경우, 다른 클러스터 멤버가 최소의 지연을 가지며 마스터의 역할을 맡을 수 있게 된다. 클러스터에 대한 새로운 멤버들은 마스터로부터 최초의 프로토콜 상태 정보를 수신함으로써 동기된다. 최초의 프로토콜 상태 동기 이후, 클러스터 멤버들은 네트워크를 활발히 모니터하여 새로운 프로토콜 상태 정보를 회득한다. 또한, 클러스터 멤버들은 네트워크로부터 얻을 수 없는 프로토콜 상태 정보를 자신들 간에 교환한다. 멀티캐스트 데이터 패킷들의 필터링이 각 클러스터 멤버에 의해 수행되어, 클러스터 멤버들에 대한 멀티캐스트 데이터 트래픽을 부하 밸런싱한다.
멀티캐스트 라우팅, 상태 동기, 클러스터, 네트워크 클러스터링, 마스터

Description

상태 동기를 갖는 클러스터에 대한 버츄얼 멀티캐스트 라우팅{VIRTUAL MULTICAST ROUTING FOR A CLUSTER HAVING STATE SYNCHRONIZATION}
도 1은 본 발명을 실행하기 위한 멀티캐스트 클러스터 환경의 일 실시예를 나타내는 기능 블록도이다.
도 2는 본 발명을 구현하는 시스템에서 이용될 수 있는 네트워크 디바이스의 일 실시예를 나타낸다.
도 3은 도 1의 멀티캐스트 클러스터의 멤버들 간의 상태 동기를 관리하기 위한 프로세스의 일 실시예를 일반적으로 나타내는 논리 흐름도이다.
도 4는 본 발명에 따른, 도 1의 멀티캐스트 클러스터를 통해 멀티캐스트 데이터 트래픽을 관리하는 프로세스의 일 실시예를 일반적으로 나타내는 논리 흐름도이다.
본 발명은, 2004년 12월 30일 출원된 마국 특허 출원 번호 제11/027,018호의 우선권을 주장하는 바, 그 전체 개시 내용은 본원의 참조로서 인용된다.
본 발명은 일반적으로 컴퓨팅 관리에 관한 것으로서, 특히 상태 동기를 갖는 클러스터 내에서의 멀티캐스트 라우팅을 관리하는 방법 및 시스템에 관한 것이지만, 오직 이것으로만 한정되지 않는다.
멀티캐스팅은 패킷 기반 네트워크를 통해 콘텐츠를 효율적으로 전달하기 위한 방법이다. 소스에서 발생되는 단일 패킷을 이용하여 그 패킷의 콘텐츠를 네트워크 상의 복수의 수신기들에게 제공할 수 있다. 소스로부터 특정의 매체 콘텐츠를 수신하는 데에 관심을 갖는 수신기들의 그룹은 모두 하나의 네트워크 상에 위치하거나, 또는 심지어 다른 네트워크들 상에도 위치할 수 있다. 일반적으로, 수신기들 각각에 콘텐츠를 전달하기 위한 특정의 가장 바람직한 경로가 있다. 소스로부터 수신기들 각각으로의 경로들이 조합(collate)된다면, 경로의 중복 가능성이 있다. 중복의 정도는 다양한 수신기들의 위치에 기초하여 달라질 수 있다. 네트워크 그래프를 이용하여 나타낼 때 소스로부터 다양한 수신기들로의 경로는 전형적으로 콘텐츠 전달 트리(content delivery tree)라 불리는 바, 여기서 그래프의 꼭지점들은 라우터들 및 이러한 라우터들 간의 네트워크 전송에 대한 에지들에 대응한다. 수신기들 및 전송기를 포함하여, 이러한 노드들의 그룹에 있어서, 전송기는 패킷들 각각의 복수의 카피들을 관심있는 수신기들 각각에 하나씩 전송할 수 있다. 수신기들 각각에 패킷을 전달하는 동일한 최종 결과를 달성하기 위한 다른 멀티캐스트 라우팅 프로토콜은, 소스에서 각 패킷의 단일 카피를 발생시키고, 트리의 분기(fork)들에서 각 패킷을 복사한다. 이러한 트리는, 특정의 그룹 어드레스에 대해 지정된 멀티캐스트 데이터가 전송되는 공유 경로에 대응한다. 많은 수의 전송기들이 있고, 전송기 마다 관심있는 많은 수신기들이 있는 경우, 소스에서 각 패킷의 하나의 카피 만 을 발생시키고, 전달 트리의 각 분기에서 패킷들 각각을 복사하는 것의 이득은, 콘텐츠를 전송하는 데에 이용되는 대역폭의 절약과 관련하여 분명해진다.
하지만, 멀티캐스트 라우팅 프로토콜들에 관련된 몇 개의 본질적인 문제들이 있다. 예를 들어, 상기 설명한 바와 같이, 많은 양의 트래픽을 수신하는 트리 내의 적어도 1개의 노드가 있을 수 있는 바, 이에 의해 트래픽 쓰루풋(traffic throughput)에 잠재적인 병목(bottleneck)을 야기한다. 또한, 멀티캐스트 트래픽 부하가 트리의 다른 노드들 사이에 균일하지 않게 분배됨으로써 다른 잠재적인 경로들을 이용할 수 있는 가능성을 감소시키는 위험이 있을 수 있다.
또한, 많은 비즈니스는 멀티캐스트 프로토콜 및 유사한 네트워킹 인프라구조를 이용하여, 중요한 애플리케이션들을 관리하고, 콘텐츠 서버들을 액세스하고, 어셈블리 및 제조 라인들을 자동화하며, 그리고 복잡한 제어 시스템을 구현할 수 있다. 비즈니스에 의한 이러한 신뢰는 네트워크 상의 자원들에 대한 보호 및 이용가능성의 보증을 더욱 더 요구하게 되었다. 불행히도, 멀티캐스트 트리 내에서의 인터페이스 고장 또는 라우터 고장은 비즈니스에 대해 상당한 비용을 야기할 수 있다. 따라서, 네트워크 상에서의 멀티캐스트 라우팅을 관리하고자 하는 시도가 필요하다.
발명의 요약
본 발명의 요약 부분은 본 명세서를 읽는 사람에게 발명의 양상들을 소개하기 위한 것으로서, 본 발명의 완전한 설명은 아니다. 본 발명의 특정의 양상들은 본 명세서의 이하의 다른 부분들에서 교시되며, 본 발명은 첨부된 특허청구범위에서 설명되는 바, 이러한 특허청구범위 만이 본 발명의 범위를 규정한다.
본 발명은 네트워크 클러스터를 이용하여 멀티캐스트 라우팅을 관리하는 것에 관한 것이다. 네트워크 클러스터 아키텍쳐의 이용함으로써, 부하 밸런싱 지원 및 멀티캐스트 라우터 장애 극복(failover)을 포함하여, 멀티캐스트 라우팅 프로토콜들에 관련된 몇 개의 확인되는 문제들을 해소하고자 하였다. 따라서, 본 발명은 클러스터 이웃들과의 멀티캐스트 제어 프로토콜 통신에 활발히 참여하는 클러스터 마스터를 포함한다. 단일의 멀티캐스트 이웃 라우터의 환영(illusion)을 유지하기 위해, 비 마스터 클러스터 멤버들은 클러스터 외부의 프로토콜의 동작에는 참여하지 않는다. 하지만, 각 클러스터 멤버는 동일한 프로토콜 상태를 실질적으로 유지하며, 이에 따라 클러스터 마스터가 이용불가능하게 된다면, 최소한의 지연을 가지며 다른 클러스터 멤버가 클러스터 마스터의 역할을 맡을 수 있다. 또한, 각 클러스터 멤버에 의해 멀티캐스트 데이터 패킷들의 필터링이 수행되어, 클러스터 멤버들에 대해 멀티캐스트 데이터 트래픽의 부하 밸런싱을 행한다.
본 발명의 일 양상은, 네트워크 상에서의 멀티캐스트 라우팅을 관리하는 시스템에 관련된다. 이 시스템은 제 1, 2 네트워크 디바이스를 포함한다. 제 1 네트워크 디바이스는 클러스터 내의 클러스터 마스터로서 동작하도록 구성된다. 제 2 네트워크 디바이스는 클러스터 멤버로서 동작하도록 구성된다. 제 1 네트워크 디바이스는 또한, 클러스터 멤버가 그 클러스터에 가입하고 있는 경우 그 클러스터 멤버에게 최초의 프로토콜 상태 정보를 전송하고; 클러스터 외부의 적어도 1개의 네 트워크 디바이스에 멀티캐스트 제어 프로토콜 패킷을 전송하도록 구성된다. 제 1 네트워크 디바이스는 멀티캐스트 데이터 패킷을 수신할 수 있다. 제 1 네트워크 디바이스가 멀티캐스트 데이터 패킷과 관련되는 경우, 제 1 네트워크 디바이스는 그 멀티캐스트 데이터 패킷을 목적지쪽으로 전송한다. 제 2 네트워크 디바이스는 최초의 프로토콜 상태 정보를 수신하고 부가적인 프로토콜 상태 정보에 대해 네트워크를 모니터하도록 구성된다. 부가적인 프로토콜 상태 정보가 수신되면, 제 2 네트워크 디바이스는 이 부가적인 프로토콜 상태 정보를 이용하여 그 상태를 갱신한다. 제 2 네트워크 디바이스는 또한 멀티캐스트 데이터 패킷을 수신할 수 있고, 제 2 네트워크 디바이스가 멀티캐스트 데이터 패킷과 관련된다면, 멀티캐스트 데이터 패킷을 목적지쪽으로 전송한다.
본 발명의 제 2 양상은, 네트워크 상에서의 멀티캐스트 라우팅을 관리하는 장치에 관련된다. 이 장치는, 다른 구성 요소들 중에서, 동작들을 수행하도록 구성된 멀티캐스트 클러스터 관리자를 포함한다. 이러한 동작들은, 클러스터 내의 멤버로서 동작하도록 장치를 구성하는 것과, 프로토콜 상태 정보에 대해 네트워크를 모니터하는 것과, 그리고 프로토콜 상태 정보가 수신되면, 그 프로토콜 상태 정보를 이용하여 장치의 상태를 갱신하는 것을 포함한다. 또한, 멀티캐스트 클러스터 관리자는 멀티캐스트 제어 프로토콜 메세지를 수신하도록 구성되고, 만일 장치가 클러스터 마스터인 경우, 멀티캐스트 클러스터 관리자는 멀티캐스트 제어 프로토콜 메세지에 응답한다. 만일 장치가 클러스터 마스터가 아니라면, 멀티캐스트 클러스터 관리자는 멀티캐스트 제어 프로토콜 메세지에 응답함이 없이 이 멀티캐스트 제어 프로토콜 메세지를 버린다(drop). 상기 장치가 멀티캐스트 데이터 패킷을 수신할 때, 그리고 상기 장치가 멀티캐스트 데이터 패킷과 관련된다면, 멀티캐스트 클러스터 관리자는 멀티캐스트 데이터 패킷을 목적지쪽으로 전송한다.
본 발명의 또 다른 양상은, 네트워크 상에서의 멀티캐스트 라우팅을 관리하는 방법에 관련된다. 이 방법은, 클러스터 멤버가 클러스터에 가입하고 있는 경우, 그 클러스터 멤버에게 최초의 프로토콜 상태 정보를 전송한다. 이 방법은, 클러스터 마스터로부터, 클러스터 외부의 적어도 1개의 네트워크 디바이스에 멀티캐스트 제어 프로토콜 패킷을 전송하는 것을 포함한다. 이 방법은 또한, 외부 네트워크 디바이스로부터 다른 멀티캐스트 제어 프로토콜 패킷을 수신하고, 만일 그 멀티캐스트 제어 프로토콜 패킷이 클러스터 멤버에 의해 수신되는 경우에는, 그 멀티캐스트 제어 프로토콜 패킷을 버리는 것을 포함한다. 이 방법은 또한, 부가적인 프로토콜 상태 정보에 대해 네트워크를 모니터하고, 만일 부가적인 프로토콜 상태 정보가 수신되면, 이러한 부가적인 프로토콜 상태 정보를 이용하여 클러스터 멤버의 상태를 갱신하는 것을 포함한다. 또한, 이 방법은 멀티캐스트 데이터 패킷을 수신하고, 만일 클러스터 멤버가 멀티캐스트 데이터 패킷과 관련된다면, 그 멀티캐스트 데이터 패킷을 목적지쪽으로 전송하는 것을 포함한다.
상기 방법의 일 실시예에서, 클러스터 마스터와 클러스터 멤버중 하나에 의해 알려져있는 다른 멀티캐스트 프로토콜 상태를, 다른 클러스터 멤버가 멀티캐스트 프로토콜 상태를 모니터하여 얻을 수 없는 경우, 상기 방법은 다른 멀티캐스트 프로토콜 상태를 다른 클러스터 멤버에게 전송하는 것을 더 포함함으로써, 클러스 터 마스터와 클러스터 멤버중 하나가 고장나는 경우, 다른 클러스터 멤버가 클러스터 마스터와 클러스터 멤버중 고장난 것의 작업 부하 및 역할을 맡을 수 있게 된다.
본 발명의 다른 특징들 및 장점들은 첨부 도면과 함께 하기의 상세한 설명을 읽음으로써 명확해질 것이다.
본 발명의 비 한정적이고 비 완전한 실시예들이 도면을 참조하여 설명된다. 도면에서, 동일한 참조 부호는 달리 지정하지 않는한 여러 도면에서 동일한 부분을 나타낸다.
본 발명을 보다 잘 이해할 수 있도록, 첨부 도면과 관련하여 설명될 본 발명의 상세한 설명에 대해 설명한다.
이하, 본 발명의 일부를 형성하며 본 발명이 실행될 수 있는 특정의 예시적인 실시예들을 예로서 보여주는 첨부 도면을 참조하여 본 발명을 설명한다. 하지만, 본 발명은 다른 많은 형태로 구현될 수 있고, 개시된 실시예들로 한정되는 것으로 해석되서는 안된다. 이러한 실시예들은 본 개시가 철저하고 완전해지도록 제공되는 것으로서, 당업자에게 본 발명의 범위를 충분히 전달할 것이다. 특히, 본 발명은 방법 또는 디바이스로서 구현될 수 있다. 따라서, 본 발명은 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예, 또는 소프트웨어와 하드웨어 양상을 결합하는 실시예의 형태를 갖는다. 따라서, 하기의 상세한 설명은 제한적인 의미에서 취해지는 것이 아니다.
네트워크 클러스터링(network clustering)은 컴퓨터 서버 또는 네트워크 디바이스에 대해 높은 이용가능성 및 증가된 성능을 제공하는 방법이다. 클러스터로서 구성되는 서버들 또는 디바이스들의 그룹은 외부 네트워크 엔티티들에 대해 단일 서버 또는 디바이스의 환영을 유지한다. 클러스터는 클러스터 IP(인터넷 프로토콜) 어드레스에 의해 각 네트워크 상에서 식별된다. 클러스터 멤버들은 클러스터 프로토콜 메세지를 서로 교환하여, 클러스터 멤버십을 동적으로 변경(즉, 멤버를 부가 또는 제거)하고, 멤버의 고장을 검출하고, 멤버들 간에 작업을 분배한다. 클러스터의 하나의 멤버가 클러스터 마스터로서 정적으로 또는 동적으로 지명되어, (자신을 포함하여) 클러스터 멤버들 간에 이벤트들을 조정할 수 있다.
새로운 서버 또는 네트워크 디바이스가 클러스터에 가입할 때, 이는 다른 멤버들의 일부 부하를 맡음으로써, 클러스터의 용량 또는 성능을 증가시킨다. 한 클러스터 멤버의 중요한 기능이 부분적으로 또는 완전히 고장나는 경우, 그 멤버는 클러스터를 떠날 수 있으며, 다른 클러스터 멤버가 그 작업 부하를 맡을 수 있다. 클러스터 멤버들은 상태 정보를 주기적으로 교환하여, 임의의 클러스터 멤버가 임의의 다른 멤버의 작업 부하를 떠맡을 수 있게 한다. 이러한 방식으로, 네트워크 클러스터링은 네트워크 서비스 또는 디바이스의 높은 이용가능성 및 가변(scalable) 성능을 제공할 수 있다. 따라서, 본 발명은 이러한 고려사항 및 기타 고려사항과 관련하여 창안된 것이다.
간단히 설명하면, 본 발명은 네트워크 클러스터 구성을 이용하여, 멀티캐스트 라우터에 대한 높은 이용가능성 및 증가된 성능을 제공하는 시스템, 장치 및 방 법에 관련된다. 클러스터 구성에 있어서, 클러스터 마스터는 클러스터의 멀티캐스트 라우터 이웃들과의 멀티캐스트 제어 프로토콜 통신에 활발히 참여함으로써, 단일 멀티캐스트 라우터 디바이스의 환영을 유지한다. 클러스터 마스터는 클러스터로부터 멀티캐스트 제어 프로토콜 패킷들을 발생시키기 위한 소스로서 클러스터 인터넷 프로토콜(IP) 어드레스를 이용한다. 전형적으로, 비 마스터 노드들 또는 클러스터 멤버 노드들은 클러스터 외부의 멀티캐스트 제어 프로토콜의 동작에 참여하지 않는다. 하지만, 클러스터의 멤버들 각각은 실질적으로 동일한 프로토콜 상태를 유지하며, 이에 따라 클러스터 마스터가 이용불가능해지면, 그 클러스터의 다른 멤버가 최소한의 지연을 가지며 클러스터 마스터의 역할을 맡을 수 있게 된다. 클러스터에 새롭게 가입하는 멤버들은 클러스터 마스터로부터 최초의 프로토콜 상태 정보를 수신함으로써 동기화된다. 최초의 프로토콜 상태 동기 이후, 클러스터 멤버들은 네트워크 상의 멀티캐스트 제어 프로토콜 트래픽을 활발히 모니터하여, 새로운 프로토콜 상태 정보를 획득한다. 또한, 클러스터 멤버들은 네트워크로부터 얻을 수 없는 프로토콜 상태 정보를 자신들 간에 교환한다. 또한, 멀티캐스트 데이터 패킷의 필터링이 각 클러스터 멤버에 의해 수행되어, 클러스터 멤버들에 대해 멀티캐스트 데이터 트래픽의 부하 밸런싱을 행한다.
예시적인 동작 환경
도 1은 본 발명이 동작할 수 있는 환경의 일 실시예를 나타낸다. 본 발명을 실행하는 데에 반드시 모든 구성 요소들이 필요하지는 않으며, 이러한 구성 요소들의 구성 및 타입의 변경은 본 발명의 정신 및 범위를 벗어나지 않으면서 이루어질 수 있다.
도면에 나타낸 바와 같이, 클러스터 시스템(100)은 근거리 통신망/광역 통신망(LAN/WAN)(106 및 107), 목적지 디바이스(114), 소스 디바이스(112), 멀티캐스트 라우터(110) 및 멀티캐스트 클러스터(101)를 포함한다. 멀티캐스트 클러스터(101)는 클러스터 멤버들(102 내지 107) 및 클러스터 마스터(105)를 포함한다. 멀티캐스트 클러스터(101)는 LAN/WAN(106 및 107)과 통신한다. 목적지 디바이스(114)는 LAN/WAN(107)과 통신하고, 소스 디바이스(112)는 LAN/WAN(106)과 통신한다.
클러스터 멤버들(102 내지 104) 및 클러스터 마스터(105)는 복수의 네트워크를 통해 LAN/WAN(106 및 107)과 통신할 수 있다. 예를 들어, 나타내지는 않았지만, 클러스터 멤버들(102 내지 104), 클러스터 마스터(105) 및 LAN/WAN(107) 사이에는 복수의 네트워크 접속이 존재할 수 있다. 또한, 클러스터 멤버들(102 내지 104), 클러스터 마스터(105) 및 LAN/WAN(106) 사이에도 복수의 네트워크 접속이 존재할 수 있다. 하지만, 명확성을 위해, 도 1에는 단지 네트워크(108) 만을 나타내었다. 실질적으로, 네트워크(108)는, 이서넷 802.3 등을 포함하는(하지만 오직 이것으로만 한정되지는 않는다) 임의의 근거리 통신망(LAN)을 포함할 수 있다. 일 실시예에서, 네트워크(108)는 프로토콜 네트워크이다. 프로토콜 네트워크는 실질적으로, 프로토콜 메세지의 교환을 위해 이용되는 그 상호연결 등을 포함하는 임의의 네트워크를 포함한다.
전형적으로, 멀티캐스트 클러스터(101)는, 다른 디바이스에게 서비스, 자원 등에 대한 액세스를 제공하도록 협동하는 소결합 네트워크 디바이스(loosely coupled network device)들을 포함하도록 구성된다. 일 실시예에서, 멀티캐스트 클러스터(101)는 클러스터 멤버들(102 내지 104)을 적응적으로 부하 밸런싱함으로써 메세지 쓰루풋을 최적화하도록 구성된다. 멀티캐스트 클러스터(101)는 실질적으로, 라운드 트립 타임, 라운드 로빈(round robin), 최소 접속, 패킷 완료 레이트, 서비스 품질, 클러스터 토폴로지, 글로벌 이용가능성, 홉(hop), 해시(hash), 스태틱 비율(static ratio)과 다이내믹 비율(dynamic ratio)을 포함하는 임의의 부하 밸런싱 메커니즘을 이용할 수 있다. 일 실시예에서, 멀티캐스트 데이터 패킷은, 유니캐스트 트래픽에 대해 이용되는 것과 실질적으로 유사한, 해시 기반 방식(hash-based scheme) 등을 이용하여 클러스터 멤버의 작업 할당을 맵핑(mapping)할 수 있다.
멀티캐스트 클러스터(101)는 또한, 도메인 네임 서비스, 보안 서비스 등을 포함하는(하지만 오직 이것들로만 한정되지는 않는다) 다양한 네트워크 관리 서비스를 제공하도록 구성될 수 있다.
클러스터 멤버들(102 내지 104)은 클러스터 아키텍쳐에 있어서 네트워크를 통해 패킷을 전송 및 수신할 수 있는 임의의 네트워크 디바이스가 될 수 있다. 클러스터 멤버들(102 내지 104) 등의 클러스터 멤버의 일 실시예는 도 3과 관련하여 보다 상세히 설명된다.
일 실시예에서, 클러스터 멤버들(102 내지 104)은 수신된 메세지 패킷에 대한 프로토콜 스택 프로세서로서 동작하도록 구성된다. 이러한 디바이스들의 세트는, 전형적으로 클러스터 디바이스로서 동작하도록 구성되는, 개인용 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 소비자 전자 장치, 네트워크 PC 등의 유선 통신 매체를 이용하여 접속할 수 있는 디바이스들을 포함할 수 있다. 이러한 디바이스들의 세트는 또한, 전형적으로 클러스터 디바이스로서 구성되는, 셀 방식 전화, 스마트폰, 페이저, 워키 토키, 무선 주파수(RF) 디바이스, 적외선(IR) 디바이스, 랩탑, CB, 이전 디바이스들중 1개 이상을 결합하는 통합 디바이스를 포함하는(하지만 오직 이것들로만 한정되지 않는다) 이동 디바이스 등의 무선 통신 매체를 이용하여 접속할 수 있다. 대안적으로, 클러스터 멤버들(102 내지 104)은, 클러스터 디바이스로서 동작하는, PDA, POCKET PC, 착용 컴퓨터(wearable computer) 등의 유선 또는 무선 통신 매체를 이용하여 접속할 수 있는 임의의 디바이스, 및 유선 그리고/또는 무선 통신 매체를 통해 통신을 제공할 수 있는 임의의 기타 디바이스가 될 수 있다.
또한, 클러스터 멤버들(102 내지 104) 내의 각 클러스터 멤버는 자신과 클러스터 마스터(105) 간에 패킷을 전달하도록 구성되는 애플리케이션 등을 포함할 수 있다. 이 애플리케이션은, 예를 들어 클러스터 멤버가 클러스터에 가입할 때 클러스터 마스터(105)로부터 동기 프로토콜 상태 데이터를 수신할 수 있다. 그러면, 클러스터 멤버들(102 내지 104)은 상기 애플리케이션을 이용하여 네트워크(108)를 모니터함으로써 부가적인 프로토콜 상태 정보를 획득할 수 있다. 이러한 프로토콜 상태 정보에 의해, 클러스터 멤버들(102 내지 104)은 자신들의 멀티캐스트 및 유니캐스트 라우팅 테이블을 포함하는 자신들의 각각의 라우팅 테이블 및 관련 정보를 갱신할 수 있다. 이와같이, 프로토콜 상태 정보는 멤버의 바로 옆 이웃, 전송기, 수신기에 관한 정보, 거리 정보, 멀티캐스트 트리 정보 등을 포함할 수 있다. 또한, 상기 애플리케이션에 의해, 클러스터 멤버는 자기 자신의 프로토콜 상태 정보를 다른 클러스터 멤버에게 제공할 수 있으며, 이에 따라 그 클러스터 멤버가 고장나는 경우, 다른 클러스터 멤버가 그 역할을 맡을 수 있게 된다.
하지만, 멀티캐스트 클러스터(101) 및 클러스터 멤버들(102 내지 104)은 상태 동기를 유지하기 위한 상기 메커니즘에 강제되지 않는다. 예를 들어, 클러스터 멤버들(102 내지 104)은 완전(full) 동기 메커니즘을 이용할 수 있는 바, 여기서 클러스터 마스터(105)는 실질적으로 프로토콜 상태 정보를 클러스터 멤버들(102 내지 104)에게 전송함으로써 이러한 프로토콜 상태 정보를 끊임없이 동기시킨다. 이러한 메커니즘에 있어서, 클러스터 멤버들(102 내지 104)은 실질적으로 프로토콜 상태 정보를 획득함에 있어서 클러스터 마스터(105)에만 의존한다. 동기는 또한 "모니터 전용(monitor only)" 메커니즘을 이용하여 이루어질 수 있는 바, 여기에서 클러스터 마스터(105)는 클러스터 멤버들(102 내지 104)에 대해 어떠한 프로토콜 상태 정보도 동기시키지 않는다. 그렇다기 보다, 클러스터 멤버들(102 내지 104)은 프로토콜 상태 정보를 획득하기 위해, 자신들이 네트워크(108)로부터 모니터하는 트래픽에만 의존한다. 따라서, 본 발명의 범위 및 정신을 벗어나지 않으면서, 클러스터 멤버들(102 내지 104)은 실질적으로 임의의 동기 메커니즘을 이용할 수 있다.
클러스터 멤버들(102 내지 104) 내의 각 클러스터 멤버는, 자신이 수신하는 멀티캐스트 프로토콜 제어 및 데이터 패킷들에 필터 애플리케이션을 적용하여, 이들을 어떻게 처리할 지를 결정할 수 있다. 예를 들어, 부하 밸런싱 메커니즘에 기초하여, 하나의 클러스터 멤버는 수신된 멀티캐스트 데이터 패킷을 그 목적지쪽으 로 전송하도록 할당될 수 있고, 다른 클러스터 멤버들은 멀티캐스트 데이터 패킷을 단지 버릴 수 있다.
클러스터 멤버들(102 내지 104)은 또한 그 내에 상주하는 애플리케이션을 포함할 수 있는 바, 이에 의해 패킷들의 특정의 트래픽 흐름과 관련된 그룹에 가입할 수 있다. 예를 들어, 일 실시예에서, 클러스터 멤버(102)는 특정의 트래픽 흐름을 액세스하고자 시도하는 애플리케이션을 포함할 수 있다. 이러한 경우, 클러스터 멤버(102)는 그 애플리케이션에 대한 트래픽 흐름과 관련된 멀티캐스트 데이터 패킷들을 수신하고, 상기 멀티캐스트 데이터 패킷들을 버리기 보다는, 자신의 상주 애플리케이션에 상기 멀티캐스트 데이터 패킷들을 전달하도록 구성될 수 있다. 클러스터 멤버(102)는, 자신이 또한 소스 디바이스(112), 목적지 디바이스(114) 등의 멀티캐스트 클러스터(101) 외부의 목적지쪽으로 멀티캐스트 데이터 패킷들을 전송하는 지에 상관없이, 이러한 동작들을 수행할 수 있다.
클러스터 마스터(105)는 실질적으로, 클러스터 구성의 변경 관리를 가능하게 하기 위해 클러스터 관리 네트워크 디바이스로서 동작하도록 구성되는 임의의 네트워크 디바이스를 포함한다. 이러한 디바이스들의 세트는, 멀티캐스트 클러스터(101)의 구성 변경을 관리하기 위해, 개인용 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 소비자 전자 장치, 네트워크 PC, (셀 방식 전화, 스마트폰, 페이저, 워키 토키, 무선 주파수(RF) 디바이스, 적외선(IR) 디바이스, CB, 이전 디바이스들중 1개 이상을 결합하는 통합 디바이스를 포함하는) 이동 디바이스, PDA, POCKET PC, 착용 컴퓨터, 및 유선 그리고/또는 무선 통신 매체 를 통해 통신을 제공할 수 있는 임의의 기타 디바이스를 포함할 수 있지만, 오직 이것들로만 한정되는 것은 아니다. 일 실시예에서, 클러스터 마스터(105)가 이용불가능하게 되는 경우, 클러스터 멤버들(102 내지 104)중 임의의 멤버가 실질적으로 클러스터 마스터(105)의 역할을 맡도록 구성될 수 있다. 따라서, 전형적으로, 클러스터 멤버들(102 내지 104) 및 클러스터 마스터의 구성은 실질적으로 동일하다.
일 실시예에서, 비록 클러스터 마스터를 포함하는 각 멤버가 모든 멀티캐스트 프로토콜 제어 및 데이터 패킷들을 수신한다고 할지라도, 멀티캐스트 제어 프로토콜 동작에 활발히 참여하는 것은 클러스터 마스터(105)이다. 일 실시예에서, 클러스터 마스터(105)는 발생되는 멀티캐스트 패킷들의 소스로서 클러스터 IP 어드레스를 이용한다. 전형적으로, 클러스터 멤버들(102 내지 104)은 멀티캐스트 제어 프로토콜 동작에 참여하지 않는다. 즉, 클러스터 마스터(105)는 멀티캐스트 클러스터(101)에 응답하여, 단일의 멀티캐스트 이웃 네트워크 디바이스의 환영을 유지하도록 구성된다.
LAN/WAN(106 및 107)은 하나의 전자 디바이스로부터 다른 전자 디바이스로 정보를 전달하기 위해 임의 형태의 컴퓨터 판독가능한 매체를 이용할 수 있다. 또한, LAN/WAN(106 및 107)은 근거리 통신망(LAN), 광역 통신망(WAN), 범용 직렬 버스(USB) 포트 등의 직접 접속, 다른 형태의 컴퓨터 판독가능한 매체, 또는 그 임의의 결합에 부가적으로, 무선 인터페이스 그리고/또는 인터넷 등의 유선 인터페이스를 포함할 수 있다. 서로 다른 아키텍쳐 및 프로토콜에 기초하는 것들을 포함하는 LAN의 상호 연결 세트 중에서, 라우터는 LAN 간의 링크의 역할을 하여, 서로 간에 메세지가 전송될 수 있게 한다. 또한, LAN 내의 통신 링크는 전형적으로 꼬임 와이어 쌍 또는 동축 케이블을 포함하고, 네트워크들 간의 통신 링크는 아날로그 전화선, T1, T2, T3 및 T4를 포함하는 완전한 또는 부분적인 전용 디지털 라인들, 종합 서비스 디지털망(ISDN), 디지털 가입자 회선(DSL), 위성 링크를 포함하는 무선 링크, IEEE 802.11a, 802.11g, 802.11b를 포함하는 다양한 표준에 기초하는 접속, 또는 기타 임의의 통신 링크를 이용할 수 있다.
LAN/WAN(106 및 107)은 또한, 셀룰러 시스템을 위한 2세대(2G), 3세대(3G) 무선 액세스, 무선 LAN, 무선 라우터(WR) 메시(mesh) 등을 포함하지만 이것들로만 한정되지 않는 복수의 무선 액세스 기술을 포함할 수 있다. 2G, 3G 및 미래의 액세스 네트워크 등의 액세스 기술은, 다양한 정도의 이동성을 가지며, 이동 디바이스들에 대한 광역 커버리지를 가능하게 할 수 있다. 예를 들어, LAN/WAN(106 및 107)은 이동 통신을 위한 글로벌 시스템(GSM), 글로벌 패킷 무선 서비스(GPRS), 인헨스드 데이터 GSM 환경(EDGE), 광대역 코드 분할 다중 접속(WCDMA), 802.16 등의 무선 네트워크 액세스를 통한 무선 접속을 가능하게 할 수 있다.
또한, 원격 컴퓨터 및 기타 관련 전자 디바이스가 모뎀 및 임시 전화선을 경유하여 LAN 또는 WAN에 원격으로 접속될 수 있다. 본질적으로, LAN/WAN(106 및 107)은 하나의 네트워크 디바이스와 다른 네트워크 디바이스 간에 정보가 이동할 수 있게 하는 임의의 통신 방법을 포함한다.
부가적으로, LAN/WAN(106 및 107)은 통신 매체를 포함할 수 있는 바, 이 통신 매체는 컴퓨터 판독가능한 명령, 데이터 구조, 프로그램 모듈, 또는 반송파 등 의 변조 데이터 신호의 기타 데이터, 데이터 신호 또는 기타 전송 메커니즘을 구현하고, 임의의 정보 전달 매체를 포함한다. 용어 "변조 데이터 신호" 및 "반송파 신호"는 신호 내에 정보, 명령, 데이터 등을 엔코드하는 방식으로 설정 또는 변경된 1개 이상의 특징을 갖는 신호를 포함한다. 예로서, 상기 통신 매체는, 꼬임쌍, 동축 케이블, 광섬유, 도파관 등(오직 이것들로만 한정되지 않는다)의 유선 매체와 다른 유선 매체, 그리고 음향(acoustic), RF, 적외선 등(오직 이것들로만 한정되지 않는다)의 무선 매체와 다른 무선 매체를 포함한다.
상기 설명한 통신 링크를 통해 정보를 전송하는 데에 이용되는 매체는 1가지 타입의 컴퓨터 판독가능한 매체, 즉 통신 매체를 예시한다. 일반적으로, 컴퓨터 판독가능한 매체는 컴퓨터 디바이스에 의해 액세스될 수 있는 임의의 디바이스를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체, 통신 매체 또는 그 임의의 결합을 포함할 수 있다.
전형적으로, LAN/WAN(106)은 콘텐츠 서버, 애플리케이션 서버 등을 포함할 수 있는바, 이에 대해 멀티캐스트 클러스터(101)는 LAN/WAN(107) 내에 상주하는 다른 네트워크 디바이스에 대한 액세스를 가능하게 한다. 유사하게, LAN/WAN(107) 또한 콘텐츠 서버, 애플리케이션 서버 등을 포함할 수 있는바, 이들은 멀티캐스트 클러스터(101)를 이용하여 LAN/WAN(106) 내에 상주하는 네트워크 디바이스에 대한 액세스를 가능하게 한다. 도 1에 나타낸 바와 같이, 소스 디바이스(112) 및 목적지 디바이스(114)는 멀티캐스트 클러스터(101)를 이용하여 통신을 가능하게 하는 2개의 네트워크 디바이스들의 예이다. 일 실시예에서, 소스 디바이스(112)는 멀티캐스 트 메세지를 제공하도록 구성될 수 있는 바, 상기 멀티캐스트 메세지는 또한 목적지 디바이스(114)쪽으로도 예정되어 있다. 비록 목적지 디바이스라고 부르기는 하지만, 목적지 디바이스(114)는 메세지에 대한 목적지로서 소스 디바이스(112)를 포함하는 멀티캐스트 메세지를 또한 제공할 수 있다.
예시의 목적으로, 도 1에는 멀티캐스트 라우터(101)와 인터페이스하는 가능한 라우터로서 멀티캐스트 라우터(110)를 또한 나타내었다. 따라서, 멀티캐스트 라우터(110)는 멀티캐스트 메세지들을 수신한 다음, 이들을 이웃 네트워크 디바이스쪽으로 전송하도록 구성될 수 있다. 멀티캐스트 라운터(110)는 또한 멀티캐스트 메세지들을 수신 및 전송하도록 구성되는 브리지, 스위치, 게이트웨이 등으로 표현될 수 있다.
도 2는 클러스터 멤버 그리고/또는 클러스터 마스터로서 동작할 수 있는 네트워크 디바이스(200)의 일 실시예의 기능 블록도이다. 네트워크 디바이스(200)는 나타낸 것 보다 많은 구성요소들을 포함할 수 있다. 하지만, 나타내는 구성요소들 만으로도 본 발명을 실행하기 위한 예시적인 실시예를 개시하기에 충분하다.
네트워크 디바이스(200)는 처리 유닛(212), 비디오 디스플레이 어댑터(214), 매스 메모리(mass memory)를 포함하는 바, 이들은 모두 버스(222)를 통해 서로 통신한다. 매스 메모리는 일반적으로 RAM(216), ROM(232), 및 하드 디스크 드라이브(228), 테이프 드라이브, 광학 드라이브 그리고/또는 플로피 디스크 드라이브 등의 1개 이상의 영구적인 매스 저장 디바이스를 포함한다. 이러한 매스 메모리는 네트워크 디바이스(200)의 동작을 제어하기 위한 운영 체제(220)를 저장한다. 임의의 범용 운영 체제가 이용될 수 있다. 네트워크 디바이스(200)의 저 레벨 동작을 제어하기 위한 기본 입/출력 시스템("BIOS")(218)이 또한 제공된다.
도 2에 나타낸 바와 같이, 네트워크 디바이스(200)는 또한, TCP/IP 프로토콜, UDP/IP 프로토콜 등을 포함하지만 이에 한정되지 않는 다양한 통신 프로토콜들과 함께 이용하도록 구성되는 네트워크 인터페이스 유닛(210)을 경유하여, 인터넷, 또는 도 1의 LAN/WAN(106 및 107) 등의 기타 다른 통신 네트워크와 통신할 수 있다. 네트워크 인터페이스 유닛(210)은 종종 트랜스시버 또는 트랜스시빙 디바이스(transceving device)라고도 알려진다.
네트워크 디바이스(200)는 또한 e-메일을 전송하기 위한 SMTP 핸들러 애플리케이션, HTTP 요청을 수신하여 핸들링하는 HTTP 핸들러 애플리케이션, 및 보안 접속을 핸들링하는 HTTPS 핸들러 애플리케이션을 포함할 수 있다. HTTPS 핸들러 애플리케이션은 보안 방식으로 외부 애플리케이션과의 통신을 시작할 수 있다. 하지만, 네트워크 디바이스(200)는 이러한 핸들러 애플리케이션으로 한정되지 않으며, 본 발명의 범위를 벗어나지 않으면서, 다른 많은 프로토콜 핸들러 애플리케이션들이 네트워크 디바이스(200)에 의해 이용될 수 있다.
네트워크 디바이스(200)는 또한, 마우스, 키보드, 스캐너, 또는 도 2에 나타내지 않은 기타 입력 디바이스 등의 외부 디바이스들과 통신하기 위한 입/출력 인터페이스(224)를 포함할 수 있다. 마찬가지로, 네트워크 디바이스(200)는 CD-ROM/DVD-ROM 드라이브(226) 및 하드 디스크 드라이브(228) 등의 부가적인 매스 저장 퍼실리티를 더 포함할 수 있다. 네트워크 디바이스(200)는 하드 디스크 드라이 브(228)를 이용하여, 특히 애플리케이션 프로그램, 데이터베이스 등을 저장한다.
상기 설명한 매스 메모리는 한 타입의 컴퓨터 판독가능한 매체, 즉 컴퓨터 저장 매체를 예시한다. 컴퓨터 저장 매체는, 컴퓨터 판독가능한 명령들, 데이터 구조들, 프로그램 모듈들 또는 기타 데이터 등의 정보를 저장하기 위해 임의의 방법 또는 기술로 구현되는 휘발성, 비휘발성, 제거가능한 그리고 제거가능하지 않은 매체를 포함할 수 있다. 컴퓨터 저장 매체의 예들은, RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다목적 디스크(DVD) 또는 기타 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 디바이스, 또는 원하는 정보를 저장하는 데에 이용될 수 있고 컴퓨팅 디바이스에 의해 액세스될 수 있는 기타 임의 매체를 포함한다.
일 실시예에서, 매스 메모리는 운영 체제(220)를 실행하기 위한 프로그램 코드 및 데이터를 저장한다. 매스 메모리는 또한 네트워크 디바이스(200)의 기능을 수행하기 위한 부가적인 프로그램 코드 및 데이터를 저장할 수 있다. 1개 이상의 애플리케이션들(250) 등이 매스 메모리 내에 적재되어, 운영 체제(220) 상에서 실행될 수 있다. 도면에 나타낸 바와 같이, 멀티캐스트 클러스터 관리자(MCM)(242)는 운영 체제(220) 상에서 실행될 수 있는 애플리케이션의 예이다.
MCM(242)은, 컴퓨팅 디바이스로 하여금 클러스터 멤버로서 클러스터에 가입하고, 클러스터 마스터(105)로부터 프로토콜 상태 정보, 구성 정보 등을 수신하게 하도록 구성될 수 있다. 또한, MCM(242)에 의해, 클러스터 멤버는 데이터 패킷들을 필터링하고, 프로토콜 패킷들을 관리하고, 멀티캐스트 클러스터(101)의 다른 멤버 들 (및 클러스터 마스터(105))와 프로토콜 상태 정보를 동기시킴으로써 클러스터의 멤버로서 동작할 수 있다. 또한, MCM(242)에 의해, 클러스터 멤버는, 클러스터 마스터(105)가 고장나는 경우에는 클러스터에 대한 마스터의 역할을 맡을 수 있고, 그리고/또는 다른 클러스터 멤버가 고장나는 등의 경우에는 데이터 트래픽을 관리하는 책임을 맡을 수 있다. MCM(242)은 도 3의 프로세스(300 및 400)를 각각 이용하여, 이러한 많은 동작들을 수행할 수 있다.
예시적인 동작
이제, 도 3 및 4를 참조하여 본 발명의 임의의 양상들에 대해 설명한다. 도 3은, 도 1에 나타낸 것 등의, 멀티캐스트 라우팅 클러스터의 멤버들 간의 상태 동기를 관리하기 위한 프로세스의 일 실시예를 일반적으로 보여주는 논리 흐름도이다. 프로세스(300)는, 예를 들어 도 1의 멀티캐스트 클러스터(101)의 멤버 그리고/또는 마스터, 그리고/또는 멀티캐스트 라우팅을 위해 구성된 클러스터 내의 유사한 네트워크 디바이스에서 구현될 수 있다.
프로세스(300)는, 시작 블록 이후, 네트워크 디바이스가 클러스터 멤버인지의 여부를 결정하는 결정 블록(302)에서 시작된다. 네트워크 디바이스가 클러스터 멤버이면, 프로세스는 블록(306)으로 분기되고, 네트워크 디바이스가 클러스터 멤버가 아니면, 결정 블록(304)으로 계속된다.
결정 블록(304)에서는, 네트워크 디바이스가 새로운 클러스터 멤버로서 클러스터에 가입하고 있는 지의 여부를 결정한다. 네트워크 디바이스가 새롭게 가입하는 클러스터 멤버이면, 프로세스 흐름은 블록(314)으로 진행하고, 그렇지 않으면, 블록(306)으로 진행된다.
블록(314)에서, 새로운 가입 클러스터 멤버는 클러스터 마스터에게 가입 요청 메세지를 전송한다. 이후, 프로세싱 흐름은 블록(316)으로 진행되는 바, 여기에서 새로운 가입 클러스터 멤버는 새로운 클러스터 멤버를 처음으로 동기시키기 위해 클러스터 마스터로부터 프로토콜 상태 정보를 수신하며, 이에 따라 새로운 멤버의 프로토콜 상태와 클러스터 멤버들의 프로토콜 상태 간의 지체가 최소가 된다. 프로세싱은 블록(318)으로 계속되는 바, 여기에서, 새롭게 가입한 클러스터 멤버는 수신한 프로토콜 상태 정보를 이용하여, 라우팅 테이블, 필터 등을 포함하는 그 프로토콜 상태를 갱신한다. 프로세싱은 블록(306)으로 계속된다.
블록(306)에서, 네트워크 디바이스는 네트워크를 계속하여 모니터하여 프로토콜 상태를 획득하고 유지한다. 다음으로, 프로세싱 흐름은 블록(308)으로 진행되는 바, 여기에서 네트워크 디바이스는 수신한 프로토콜 상태 정보를 이용하여, 자기 자신의 프로토콜 상태 정보를 동기시키고 그리고/또는 갱신할 수 있다. 일 실시예에서, 획득한 멀티캐스트 제어 프로토콜 패킷은 클러스터 외부의 이웃 네트워크 디바이스로부터의 메세지를 포함할 수 있다. 다른 실시예에서, 획득한 멀티캐스트 제어 프로토콜 패킷은 클러스터로부터의 응답에 대한 요청을 포함할 수 있다.
프로세싱 흐름은 결정 블록(310)으로 진행하는바, 여기에서는 멀티캐스트 제어 프로토콜 메세지가 수신되었는 지의 여부를 결정한다. 이러한 메세지는, 예를 들어 그 클러스터 내에 있지 않는 네트워크 디바이스로부터의 프로토콜 정보를 제공할 수 있다. 멀티캐스트 제어 프로토콜 메세지가 수신되면, 프로세싱은 결정 블 록(320)으로 분기하고, 멀티캐스트 제어 프로토콜 메세지가 수신되지 않으면, 프로세싱은 결정 블록(312)으로 흐른다.
결정 블록(320)에서는, 네트워크 디바이스가 클러스터 마스터인지, 아니면 클러스터 멤버인지의 여부를 결정한다. 네트워크 디바이스가 클러스터 마스터인 경우, 프로세싱은 블록(322)으로 흐르고, 네트워크 디바이스가 클러스터 멤버인 경우에, 프로세싱은 결정 블록(312)으로 진행한다. 블록(322)에서, 클러스터 마스터는 멀티캐스트 제어 프로토콜 메세지에 응답한다. 이후, 프로세싱은 결정 블록(312)으로 진행한다.
결정 블록(312)에서, 네트워크 디바이스는 그 프로토콜 상태가 변경되어 다른 클러스터 멤버들과 이러한 변경을 공유할 수 있는 지의 여부를 결정한다. 만일 그 프로토콜 상태가 변경되었다면, 프로세싱은 블록(324)로 진행하고, 프로토콜 상태가 변경되지 않았다면, 프로세싱은 다른 동작들을 수행하기 위한 호출 프로세스(calling process)로 복귀한다. 블록(324)에서, 네트워크 디바이스는 그 프로토콜 상태 변경을 클러스터의 나머지 멤버들에게 전송하며, 이에 따라, 고장이 있는 경우에는, 다른 클러스터 멤버가 그 역할을 맡을 수 있게 된다. 이후, 프로세싱은 다른 동작들을 수행하기 위한 호출 프로세스로 복귀된다.
도 4는 본 발명에 따른, 도 1의 멀티캐스트 클러스터의 네트워크 디바이스를통해 멀티캐스트 데이터 트래픽을 관리하는 프로세스에 대한 일 실시예를 일반적으로 나타내는 논리 흐름도이다. 도 4의 프로세스(400)는, 예를 들어 도 1의 클러스터멤버들(102 내지 104) 그리고/또는 클러스터 마스터(105) 등의, 클러스터 멤버 내에서 동작할 수 있다.
프로세스(400)는, 시작 블록 이후, 네트워크 디바이스에 의해 멀티캐스트 데이터 패킷이 수신되는 블록(402)에서 시작된다. 다음으로, 프로세싱은 네트워크 디바이스가 멀티캐스트 데이터 패킷을 부분적으로 이용하여 그 데이터 필터를 갱신하는 블록(404)으로 진행된다.
다음으로, 프로세싱은 결정 블록(408)으로 진행되는 바, 여기에서는 멀티캐스트 데이터 패킷이 상주 애플리케이션에 의해 수신될 것인 지의 여부가 결정된다. 이는, 예를 들어 상주 애플리케이션이 수신된 멀티캐스트 데이터 패킷과 관련된 그룹에 가입한 경우에 발생할 수 있다. 상주 애플리케이션이 멀티캐스트 데이터 패킷을 수신할 것이라면, 프로세싱은 멀티캐스트 데이터 패킷이 상주 애플리케이션에 라우팅되는 블록(414)으로 진행된다. 어느 경우이든, 프로세싱은 결정 블록(410)으로 진행된다.
결정 블록(410)에서는, 수신한 멀티캐스트 데이터 패킷이 전송될 것인 지의 여부를 결정한다. 일 실시예에서, 수신 네트워크 디바이스는 데이터를 전송하도록 지정되지 않는다. 이는 부하 밸런싱 결정을 포함하는 다양한 결정에 기초할 수 있다. 어느 경우이든, 네트워크 디바이스가 멀티캐스트 데이터 패킷을 전송할 것이라면, 프로세스(400)는 네트워크 디바이스가 멀티캐스트 데이터 패킷을 그 목적지쪽으로 라우팅하는 블록(416)으로 진행된다. 이후, 프로세싱은 다른 동작들을 수행하기 위해 복귀된다.
대안적으로, 결정 블록(410)에서, 네트워크 디바이스가 수신된 멀티캐스트 데이터 패킷을 전송하지 않는 다면, 프로세싱은 네트워크 디바이스가 수신된 멀티캐스트 데이터 패킷을 버리는 블록(412)으로 진행된다. 이후, 프로세싱은 다른 동작들을 수행하기 위해 호출 프로세싱으로 복귀된다.
이해될 사항으로서, 상기 설명한 흐름도의 설명의 각 블록 및 상기 흐름도 설명의 블록들의 결합은 컴퓨터 프로그램 명령들에 의해 구현될 수 있다. 이러한 프로그램 명령들이 프로세서에 제공되어 머신을 제조하는 바, 이에 따라 프로세서 상에서 실행되는 명령들이 흐름도의 블록 또는 블록들에서 지정되는 동작들을 실시하기 위한 수단을 생성할 수 있다. 이러한 컴퓨터 프로그램 명령들은 프로세서에 의해 실행되어, 그 프로세서에 의해 수행될 일련의 동작 단계들을 야기함으로써, 컴퓨터에 의해 구현되는 프로세스를 생성하는 바, 이에 따라 프로세서 상에서 실행되는 명령들은 흐름도 블록 또는 블록들에 지정된 동작들을 실시하기 위한 단계들을 제공한다.
따라서, 흐름도 설명의 블록들은 지정된 동작들을 수행하기 위한 수단의 결합, 지정된 동작들을 수행하기 위한 단계들의 결합 및 지정된 동작들을 수행하기 위한 프로그램 명령 수단을 지원한다. 또한, 이해될 사항으로서, 흐름도 설명의 각 블록 및 흐름도 설명의 블록들의 결합은, 지정된 동작들 또는 단계들, 또는 특별한 목적의 하드웨어 및 컴퓨터 명령들의 결합을 수행하는 특별한 목적의 하드웨어 기반 시스템에 의해 구현될 수 있다.
상기 설명, 예 및 데이터는 본 발명의 구성의 제조 및 이용에 대한 완전한 설명을 제공한다. 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명의 많은 실 시예들이 이루어질 수 있으며, 본 발명은 첨부된 특허청구의 범위에 의해서만 규정된다.
상기 설명한 바와 같이, 본 발명은 네트워크 상에서의 멀티캐스트 라우팅을 관리하는 것에 대해 개시하는 바, 네트워크 클러스터 아키텍쳐를 이용함으로써, 부하 밸런싱 지원 및 멀티캐스트 라운터 장애 극복을 포함하여, 멀티캐스트 라우팅 프로토콜에 관련된 문제들을 해결할 수 있다. 또한, 본 발명은 각 클러스터 멤버가 실질적으로 동일한 프로토콜 상태를 유지하게 함으로써, 클러스터 마스터 또는 클러스터 멤버가 고장나는 경우, 최소한의 지연만을 가지며, 임의의 클러스터 멤버가 그 작업 부하 및 역할을 맡게 할 수 있다.

Claims (23)

  1. 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템으로서,
    클러스터 내의 클러스터 마스터로서 동작하는 제 1 네트워크 디바이스와; 그리고
    상기 클러스터 내의 클러스터 멤버로서 동작하는 제 2 네트워크 디바이스를 포함하며;
    상기 제 1 네트워크 디바이스는:
    상기 클러스터 멤버가 상기 클러스터에 가입하는 경우, 상기 클러스터 멤버에게 최초의 프로토콜 상태 정보를 전송하고;
    상기 클러스터 외부의 적어도 1개의 네트워크 디바이스에 멀티캐스트 제어 프로토콜 패킷을 전송하며; 그리고
    멀티캐스트 데이터 패킷을 수신하고, 상기 제 1 네트워크 디바이스가 상기 멀티캐스트 데이터 패킷과 관련되는 경우, 상기 멀티캐스트 데이터 패킷을 목적지쪽으로 전송하는 것을 포함하는 동작들을 수행하며;
    상기 제 2 네트워크 디바이스는:
    상기 제 2 네트워크 디바이스가 상기 클러스터에 가입하는 동안 상기 제 1 네트워크 디바이스로부터 상기 최초의 프로토콜 상태 정보를 수신하고;
    부가적인 프로토콜 상태 정보에 대해 상기 네트워크를 모니터하고, 상기 부가적인 프로토콜 상태 정보가 수신되는 경우, 상기 부가적인 프로토콜 상태 정보를 이용하여 상기 제 2 네트워크 디바이스의 상태를 갱신하며; 그리고
    멀티캐스트 데이터 패킷을 수신하고, 상기 제 2 네트워크 디바이스가 상기 멀티캐스트 데이터 패킷과 관련되는 경우, 상기 멀티캐스트 데이터 패킷을 목적지쪽으로 전송하는 것을 포함하는 동작을 수행하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 네트워크 디바이스와 상기 제 2 네트워크 디바이스중 적어도 하나는:
    상기 제 1 네트워크 디바이스와 상기 제 2 네트워크 디바이스중 적어도 하나가 상기 멀티캐스트 데이터 패킷과 관련된 상주 애플리케이션을 포함하는 경우, 상기 멀티캐스트 데이터 패킷을 상기 상주 애플리케이션쪽으로 전송하는 것을 더 포함하는 동작을 수행하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템.
  3. 제 1 항에 있어서,
    상기 제 1 네트워크 디바이스와 상기 제 2 네트워크 디바이스중 적어도 하나는:
    상기 클러스터 내의 다른 네트워크 디바이스가 상기 멀티캐스트 프로토콜 상태를 모니터함으로써, 상기 제 1 네트워크 디바이스와 상기 제 2 네트워크 디바이 스중 하나에 의해 알려진 다른 멀티캐스트 프로토콜 상태를 얻을 수 없는 경우, 상기 다른 멀티캐스트 프로토콜 상태를 상기 클러스터 내의 상기 다른 네트워크 디바이스에 전송하는 것을 더 포함하는 동작을 수행하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템.
  4. 제 3 항에 있어서,
    상기 제 1 네트워크 디바이스와 상기 제 2 네트워크 디바이스중 적어도 하나가 고장나는 경우에는, 상기 클러스터 내의 상기 다른 네트워크 디바이스가, 상기 전송된 다른 멀티캐스트 프로토콜 상태를 적어도 부분적으로 이용하여 상기 고장난 네트워크 디바이스의 작업 부하 및 역할을 맡는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템.
  5. 제 1 항에 있어서,
    상기 제 2 네트워크 디바이스는:
    상기 클러스터 외부의 적어도 1개의 네트워크 디바이스로부터 멀티캐스트 제어 프로토콜 패킷을 수신하고, 상기 멀티캐스트 제어 프로토콜 패킷에 응답함이 없이 상기 멀티캐스트 제어 프로토콜 패킷을 버리는 것을 더 포함하는 동작들을 수행하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템.
  6. 제 1 항에 있어서,
    상기 부가적인 프로토콜 상태 정보를 이용하여 상태를 갱신하는 것에는, 라우팅 테이블과 필터 애플리케이션중 적어도 하나를 갱신하는 것이 더 포함되는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템.
  7. 제 1 항에 있어서,
    상기 제 2 네트워크 디바이스가 상기 멀티캐스트 데이터 패킷과 관련되는 경우에는, 상기 제 2 네트워크 디바이스가 상기 멀티캐스트 데이터 패킷을 관리하기 위해 부하 밸런싱되는 지의 여부를 결정하는 것을 더 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템.
  8. 제 1 항에 있어서,
    상기 제 1 네트워크 디바이스와 상기 제 2 네트워크 디바이스 각각은, 라운드 트립 타임, 라운드 로빈, 최소 접속, 패킷 완료 레이트, 서비스 품질, 클러스터 토폴로지, 글로벌 이용가능성, 홉, 해시, 스태틱 비율과 다이내믹 비율의 부하 밸런싱 메커니즘중 적어도 하나로부터 선택되는 부하 밸런싱 메커니즘을 이용하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 시스템.
  9. 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치로서,
    상기 네트워크를 통해 정보를 수신 및 전송하는 트랜스시버와; 그리고
    상기 장치를 클러스터 내의 멤버로서 동작하도록 구성하고,
    프로토콜 상태 정보에 대해 상기 네트워크를 모니터하고, 상기 프로토콜 상태 정보가 수신되면, 상기 프로토콜 상태 정보를 이용하여 상기 장치의 상태를 갱신하고,
    멀티캐스트 제어 프로토콜 메세지를 수신하고,
    상기 장치가 클러스터 마스터인 경우, 상기 멀티캐스트 제어 프로토콜 메세지에 응답하고,
    상기 장치가 상기 클러스터 마스터가 아닌 경우, 상기 멀티캐스트 제어 프로토콜 메세지에 응답함이 없이 상기 멀티캐스트 제어 프로토콜 메세지를 버리고, 그리고
    멀티캐스트 데이터 패킷을 수신하고, 상기 장치가 상기 멀티캐스트 데이터 패킷과 관련되는 경우, 상기 멀티캐스트 데이터 패킷을 목적지쪽으로 전송하는 것을 포함하는 동작들을 수행하는 멀티캐스트 클러스터 관리자를 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치.
  10. 제 9 항에 있어서,
    상기 멀티캐스트 클러스터 관리자는:
    상기 장치가 상기 멀티캐스트 데이터 패킷과 관련된 상주 애플리케이션을 포함하는 경우, 상기 멀티캐스트 데이터 패킷을 상기 상주 애플리케이션쪽으로 전송하는 것을 더 포함하는 동작들을 수행하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치.
  11. 제 9 항에 있어서,
    상기 부가적인 프로토콜 상태 정보를 이용하는 것에는, 자신의 프로토콜 상태 정보를 상기 클러스터 내의 다른 네트워크 디바이스에 전송하는 것이 더 포함되는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치.
  12. 제 9 항에 있어서,
    상기 장치가 상기 멀티캐스트 데이터 패킷과 관련되는 경우에는, 상기 제 2 네트워크 디바이스가 상기 멀티캐스트 데이터 패킷을 관리하기 위해 부하 밸런싱되는 지의 여부를 결정하는 것을 더 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치.
  13. 제 9 항에 있어서,
    상기 멀티캐스트 클러스터 관리자는:
    상기 클러스터에 가입하는 동안 상기 클러스터 마스터로부터 최초의 프로토콜 상태 정보를 수신하는 것을 더 포함하는 동작들을 수행하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치.
  14. 제 9 항에 있어서,
    상기 멀티캐스트 클러스터 관리자는:
    상기 장치가 상기 멀티캐스트 데이터 패킷과 관련되지 않는 경우, 상기 멀티캐스트 데이터 패킷을 버리는 것을 더 포함하는 동작들을 수행하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치.
  15. 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 변조 데이터 신호로서,
    클러스터 멤버가 클러스터에 가입하고 있는 경우, 클러스터의 마스터로부터, 상기 클러스터 멤버에게 최초의 프로토콜 상태 정보를 전송하고;
    상기 클러스터 마스터로부터, 상기 클러스터 외부의 적어도 1개의 네트워크 디바이스에 멀티캐스트 제어 프로토콜 패킷을 전송하고;
    상기 외부 네트워크 디바이스로부터 다른 멀티캐스트 제어 프로토콜 패킷을 수신하고, 상기 멀티캐스트 제어 프로토콜 패킷이 상기 클러스터 멤버에 의해 수신되는 경우, 상기 멀티캐스트 제어 프로토콜 패킷을 버리고;
    부가적인 프로토콜 상태 정보에 대해 상기 네트워크를 모니터하고, 상기 부가적인 프로토콜 상태 정보가 수신되면, 상기 부가적인 프로토콜 상태 정보를 이용하여 상기 클러스터 멤버의 상태를 갱신하며; 그리고
    멀티캐스트 데이터 패킷을 수신하고, 상기 클러스터 멤버가 상기 멀티캐스트 데이터 패킷과 관련되는 경우, 상기 멀티캐스트 데이터 패킷을 목적지쪽으로 전송 하는 동작들을 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 변조 데이터 신호.
  16. 제 15 항에 있어서,
    상기 클러스터 멤버가 상기 멀티캐스트 데이터 패킷과 관련되는 경우에는, 상기 클러스터 멤버가 상기 멀티캐스트 데이터 패킷을 관리하기 위해 부하 밸런싱되는 지의 여부를 결정하는 것을 더 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 변조 데이터 신호.
  17. 제 16 항에 있어서,
    상기 클러스터 멤버는, 라운드 트립 타임, 라운드 로빈, 최소 접속, 패킷 완료 레이트, 서비스 품질, 클러스터 토폴로지, 글로벌 이용가능성, 홉, 해시, 스태틱 비율과 다이내믹 비율의 부하 밸런싱 메커니즘중 적어도 하나로부터 선택되는 부하 밸런싱 메커니즘을 이용하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 변조 데이터 신호.
  18. 제 15 항에 있어서,
    다른 클러스터 멤버가 상기 멀티캐스트 프로토콜 상태를 모니터함으로써, 상기 클러스터 마스터와 상기 클러스터 멤버중 하나에 의해 알려진 다른 멀티캐스트 프로토콜 상태를 얻을 수 없는 경우, 상기 다른 멀티캐스트 프로토콜 상태를 상기 다른 클러스터 멤버에게 전송하는 것을 더 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 변조 데이터 신호.
  19. 제 15 항에 있어서,
    상기 클러스터 멤버가 상기 멀티캐스트 데이터 패킷과 관련된 상주 애플리케이션을 갖는 경우, 상기 멀티캐스트 데이터 패킷을 상기 상주 애플리케이션쪽으로 전송하는 것을 더 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 변조 데이터 신호.
  20. 제 15 항에 있어서,
    상기 부가적인 프로토콜 상태 정보를 이용하여 상기 클러스터 멤버의 상태를 갱신하는 것에는, 라우팅 테이블과 필터 애플리케이션중 적어도 하나를 갱신하는 것이 더 포함되는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 변조 데이터 신호.
  21. 네트워크 상에서의 멀티캐스팅 라우팅을 관리하는 방법으로서,
    클러스터 멤버가 클러스터에 가입하고 있는 경우, 상기 클러스터 멤버에게 최초의 프로토콜 상태 정보를 전송하는 단계와;
    클러스터 마스터로부터, 상기 클러스터 외부의 적어도 1개의 네트워크 디바이스에 멀티캐스트 제어 프로토콜 패킷을 전송하는 단계와;
    상기 외부 네트워크 디바이스로부터 다른 멀티캐스트 제어 프로토콜 패킷을 수신하고, 상기 멀티캐스트 제어 프로토콜 패킷이 상기 클러스터 멤버에 의해 수신되는 경우, 상기 멀티캐스트 제어 프로토콜 패킷을 버리는 단계와;
    부가적인 프로토콜 상태 정보에 대해 상기 네트워크를 모니터하고, 상기 부가적인 프로토콜 상태 정보가 수신되면, 상기 부가적인 프로토콜 상태 정보를 이용하여 상기 클러스터 멤버의 상태를 갱신하는 단계와; 그리고
    멀티캐스트 데이터 패킷을 수신하고, 상기 클러스터 멤버가 상기 멀티캐스트 데이터 패킷과 관련되는 경우, 상기 멀티캐스트 데이터 패킷을 목적지쪽으로 전송하는 단계를 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스팅 라우팅을 관리하는 방법.
  22. 제 21 항에 있어서,
    다른 클러스터 멤버가 상기 멀티캐스트 프로토콜 상태를 모니터함으로써, 상기 클러스터 마스터과 상기 클러스터 멤버중 하나에 의해 알려진 다른 멀티캐스트 프로토콜 상태를 얻을 수 없는 경우, 상기 다른 멀티캐스트 프로토콜 상태를 상기 다른 클러스터 멤버에게 전송함으로써, 상기 클러스터 마스터와 상기 클러스터 멤버중 하나가 고장나는 경우, 상기 다른 클러스터 멤버가 상기 클러스터 마스터와 상기 클러스터 멤버중 고장난 것의 작업 부하 및 역할을 맡을 수 있도록 하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스팅 라우팅을 관리하는 방법.
  23. 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치로서,
    상기 장치를 클러스터 내의 클러스터 멤버로서 동작하도록 구성하는 수단과;
    프로토콜 상태 정보에 대해 상기 네트워크를 모니터하고, 상기 프로토콜 상태 정보가 수신되면, 상기 프로토콜 상태 정보를 이용하여 상기 장치의 상태를 갱신하는 수단과;
    멀티캐스트 제어 프로토콜 메세지를 수신하는 수단과;
    상기 장치가 또한 클러스터 마스터인 경우, 상기 멀티캐스트 제어 프로토콜 메세지에 응답하는 수단과;
    상기 장치가 상기 클러스터 마스터가 아닌 경우, 상기 멀티캐스트 제어 프로토콜 메세지에 응답함이 없이 상기 멀티캐스트 제어 프로토콜 메세지를 버리는 수단과; 그리고
    멀티캐스트 데이터 패킷을 수신하고, 상기 장치가 상기 멀티캐스트 데이터 패킷과 관련되는 경우, 상기 멀티캐스트 데이터 패킷을 목적지쪽으로 전송하는 수단을 포함하는 것을 특징으로 하는 네트워크 상에서의 멀티캐스트 라우팅을 관리하기 위한 장치.
KR1020050134263A 2004-12-30 2005-12-29 상태 동기를 갖는 클러스터에 대한 버츄얼 멀티캐스트라우팅 KR100680888B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/027,018 US7729350B2 (en) 2004-12-30 2004-12-30 Virtual multicast routing for a cluster having state synchronization
US11/027,018 2004-12-30

Publications (2)

Publication Number Publication Date
KR20060079117A KR20060079117A (ko) 2006-07-05
KR100680888B1 true KR100680888B1 (ko) 2007-02-09

Family

ID=36614546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050134263A KR100680888B1 (ko) 2004-12-30 2005-12-29 상태 동기를 갖는 클러스터에 대한 버츄얼 멀티캐스트라우팅

Country Status (10)

Country Link
US (1) US7729350B2 (ko)
EP (1) EP1832063B1 (ko)
JP (1) JP4416733B2 (ko)
KR (1) KR100680888B1 (ko)
CN (2) CN101471885B (ko)
BR (1) BRPI0505646A (ko)
HK (1) HK1108778A1 (ko)
RU (1) RU2388044C2 (ko)
TW (1) TWI393401B (ko)
WO (1) WO2006070230A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360100B1 (en) 1998-09-22 2002-03-19 Qualcomm Incorporated Method for robust handoff in wireless communication system
US7668541B2 (en) 2003-01-31 2010-02-23 Qualcomm Incorporated Enhanced techniques for using core based nodes for state transfer
US9078084B2 (en) 2005-12-22 2015-07-07 Qualcomm Incorporated Method and apparatus for end node assisted neighbor discovery
US8982778B2 (en) 2005-09-19 2015-03-17 Qualcomm Incorporated Packet routing in a wireless communications environment
US8509799B2 (en) 2005-09-19 2013-08-13 Qualcomm Incorporated Provision of QoS treatment based upon multiple requests
US8982835B2 (en) 2005-09-19 2015-03-17 Qualcomm Incorporated Provision of a move indication to a resource requester
US8983468B2 (en) 2005-12-22 2015-03-17 Qualcomm Incorporated Communications methods and apparatus using physical attachment point identifiers
US9736752B2 (en) 2005-12-22 2017-08-15 Qualcomm Incorporated Communications methods and apparatus using physical attachment point identifiers which support dual communications links
US9066344B2 (en) 2005-09-19 2015-06-23 Qualcomm Incorporated State synchronization of access routers
US20070112963A1 (en) * 2005-11-17 2007-05-17 International Business Machines Corporation Sending routing data based on times that servers joined a cluster
US9083355B2 (en) 2006-02-24 2015-07-14 Qualcomm Incorporated Method and apparatus for end node assisted neighbor discovery
US9155008B2 (en) 2007-03-26 2015-10-06 Qualcomm Incorporated Apparatus and method of performing a handoff in a communication network
US20080240096A1 (en) * 2007-03-29 2008-10-02 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for providing distributed convergence nodes in a communication network environment
CN101296176B (zh) * 2007-04-25 2010-12-22 阿里巴巴集团控股有限公司 一种基于群集的数据处理方法和装置
US8830818B2 (en) 2007-06-07 2014-09-09 Qualcomm Incorporated Forward handover under radio link failure
US9094173B2 (en) 2007-06-25 2015-07-28 Qualcomm Incorporated Recovery from handoff error due to false detection of handoff completion signal at access terminal
US8385322B2 (en) * 2007-07-30 2013-02-26 Innovative Wireless Technologies, Inc. Distributed ad hoc network protocol using synchronous shared beacon signaling
KR100932122B1 (ko) * 2007-10-31 2009-12-16 한국전자통신연구원 클러스터 시스템 및 그의 프로그램 관리방법
WO2009082188A2 (en) * 2007-12-21 2009-07-02 Mimos Berhad Multicast router controller system
US8594110B2 (en) * 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
US7818370B2 (en) * 2008-05-20 2010-10-19 Bea Systems, Inc. Event server using clustering
EP2294548A4 (en) 2008-07-01 2013-06-26 Twisted Pair Solutions Inc METHOD, DEVICE, SYSTEM AND PRODUCT MANUFACTURED FOR RELIABLE OUTPUT OF LOW BANDWIDTH INFORMATION IN NETWORKS MIXED UNICAST AND MULTICAST MODE
WO2010022100A2 (en) 2008-08-18 2010-02-25 F5 Networks, Inc. Upgrading network traffic management devices while maintaining availability
US9430297B2 (en) * 2008-12-15 2016-08-30 International Business Machines Corporation Load balancing of adapters on a multi-adapter node
CN102055779B (zh) * 2009-10-30 2013-11-20 国际商业机器公司 生成高可用性组的方法、设备及系统
CN102075556B (zh) * 2009-11-19 2014-11-26 北京明朝万达科技有限公司 一种具备大规模负载能力的服务架构设计方法
US8615241B2 (en) 2010-04-09 2013-12-24 Qualcomm Incorporated Methods and apparatus for facilitating robust forward handover in long term evolution (LTE) communication systems
CN102045259B (zh) * 2010-12-30 2012-08-29 上海顶竹通讯技术有限公司 分组交换设备以及管理用户业务的方法
WO2011113394A2 (zh) * 2011-04-27 2011-09-22 华为技术有限公司 一种路由器、虚拟集群路由器系统及建立方法
RU2468407C1 (ru) * 2011-06-17 2012-11-27 Общество с ограниченной ответственностью "Лаборатория интеллектуальных сетей и систем" (ООО "ЛИСИС") Автоматизированная система мониторинга, защиты и управления оборудованием электрической подстанции
RU2461055C1 (ru) * 2011-07-13 2012-09-10 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Кластерная система с прямой коммутацией каналов
EP2587751A1 (en) * 2011-10-24 2013-05-01 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and arrangement for data clustering
JP2014238537A (ja) * 2013-06-10 2014-12-18 ソニー株式会社 映像伝送システム及び映像伝送方法
CN108541044B (zh) 2013-08-13 2019-12-24 华为终端有限公司 用于加入邻近感知网络设备群的方法及设备
EP3028528A4 (en) 2013-08-27 2017-05-03 Huawei Technologies Co., Ltd. System and method for mobile network function virtualization
US9386512B2 (en) * 2014-05-02 2016-07-05 Intel Corporation Techniques for energy efficient WiFi neighbor awareness network operation
CN105407465B (zh) * 2014-08-06 2019-08-23 北京信威通信技术股份有限公司 无线集群组网方法和系统
EP3207737B1 (en) 2014-10-17 2021-03-24 Apple Inc. Methods and apparatuses for flexible mobile steering in cellular networks
RU2580077C1 (ru) * 2015-01-12 2016-04-10 Акционерное общество " Ижевский радиозавод" Маршрутизирующий коммутатор и способ работы маршрутизатора
EP3142296B1 (de) 2015-09-14 2018-04-18 Siemens Aktiengesellschaft Verfahren zur konfiguration eines modularen steuerungsgeräts eines industriellen automatisierungssystems und modulares steuerungsgerät
US10291513B2 (en) 2015-11-30 2019-05-14 At&T Intellectual Property I, L.P. Topology aware load balancing engine
JP6677493B2 (ja) * 2015-12-03 2020-04-08 キヤノン株式会社 通信装置、その制御方法、およびプログラム
CN109361777B (zh) * 2018-12-18 2021-08-10 广东浪潮大数据研究有限公司 分布式集群节点状态的同步方法、同步系统及相关装置
CN110557399A (zh) * 2019-09-12 2019-12-10 苏州浪潮智能科技有限公司 管理数据同步方法、装置、存储设备及可读存储介质
CN115499296B (zh) * 2022-07-29 2024-03-12 天翼云科技有限公司 一种云桌面热备管理方法、装置及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736393A (en) * 1986-04-16 1988-04-05 American Telephone And Telegraph Co., At&T Information Systems, Inc. Distributed timing control for a distributed digital communication system
ES2129038T3 (es) * 1992-11-27 1999-06-01 Ibm Encaminamiento a destinos multiples entre dominios.
US5331637A (en) * 1993-07-30 1994-07-19 Bell Communications Research, Inc. Multicast routing using core based trees
US5608726A (en) * 1995-04-25 1997-03-04 Cabletron Systems, Inc. Network bridge with multicast forwarding table
JP3097581B2 (ja) * 1996-12-27 2000-10-10 日本電気株式会社 アドホックローカルエリアネットワークの構成方法、通信方法及び端末
JPH11308234A (ja) * 1998-04-22 1999-11-05 Nec Corp Atmネットワークにおけるマルチキャスト接続方法及びその方式
US6078957A (en) 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6006259A (en) 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
US6556541B1 (en) * 1999-01-11 2003-04-29 Hewlett-Packard Development Company, L.P. MAC address learning and propagation in load balancing switch protocols
US6192417B1 (en) 1999-03-30 2001-02-20 International Business Machines Corporation Multicast cluster servicer for communicating amongst a plurality of nodes without a dedicated local area network
US6415323B1 (en) 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
FI107972B (fi) * 1999-10-11 2001-10-31 Stonesoft Oy Tiedonsiirtomenetelmä
US6795433B1 (en) 1999-10-21 2004-09-21 Nortel Networks Limited Multicast routing cache
US6298058B1 (en) * 1999-12-17 2001-10-02 Motorola, Inc. Methods for implementing a talkgroup call with competing sources in a multicast IP network
US7051115B2 (en) 2001-04-19 2006-05-23 Lenovo (Singapore) Pte. Ltd. Method and apparatus for providing a single system image in a clustered environment
US7184421B1 (en) 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
US7246261B2 (en) * 2003-07-24 2007-07-17 International Business Machines Corporation Join protocol for a primary-backup group with backup resources in clustered computer system
US8086747B2 (en) * 2003-09-22 2011-12-27 Anilkumar Dominic Group-to-group communication over a single connection
US7373430B2 (en) * 2003-12-24 2008-05-13 Nokia Corporation Cluster accelerator network interface with filter

Also Published As

Publication number Publication date
US20060146821A1 (en) 2006-07-06
EP1832063A1 (en) 2007-09-12
CN101471885B (zh) 2011-05-18
CN101471885A (zh) 2009-07-01
RU2005141461A (ru) 2007-07-20
JP4416733B2 (ja) 2010-02-17
EP1832063A4 (en) 2011-02-23
JP2006202280A (ja) 2006-08-03
US7729350B2 (en) 2010-06-01
TW200631367A (en) 2006-09-01
WO2006070230A1 (en) 2006-07-06
CN1798105A (zh) 2006-07-05
KR20060079117A (ko) 2006-07-05
HK1108778A1 (en) 2008-05-16
BRPI0505646A (pt) 2007-03-20
EP1832063B1 (en) 2013-03-06
RU2388044C2 (ru) 2010-04-27
TWI393401B (zh) 2013-04-11

Similar Documents

Publication Publication Date Title
KR100680888B1 (ko) 상태 동기를 갖는 클러스터에 대한 버츄얼 멀티캐스트라우팅
US11140070B2 (en) Independent datastore in a network routing environment
US8943490B1 (en) Intelligent non-stop software upgrade
WO2018077238A1 (zh) 一种基于交换机的负载均衡系统及方法
US9596094B2 (en) Managing multicast distribution using multicast trees
US9515927B2 (en) System and method for layer 3 proxy routing
US9743367B2 (en) Link layer discovery protocol (LLDP) on multiple nodes of a distributed fabric
JP6072278B2 (ja) 仮想シャーシシステム制御プロトコル
JP5107339B2 (ja) アクティブ地理的冗長性のためのシステムおよび方法
US10447652B2 (en) High availability bridging between layer 2 networks
US10164845B2 (en) Network service aware routers, and applications thereof
US20140226525A1 (en) Safe Multicast Distribution with Predictable Topology Changes
CN105162704A (zh) Overlay网络中组播复制的方法及装置
WO2021082812A1 (zh) 报文的发送方法和第一网络设备
US11601360B2 (en) Automated link aggregation group configuration system
WO2022253087A1 (zh) 一种数据传输方法、节点、网络管理器及系统
EP1712067B1 (en) A method, apparatus and system of organizing servers
CN112995027A (zh) 路由发布方法及vtep节点
US20210099379A1 (en) Protocol independent multicast designated networking device election system
CN113595915A (zh) 转发报文的方法及相关设备
WO2023174339A1 (zh) 发送组播业务的方法、装置、系统及存储介质
Essah et al. Performance Comparison of OSPFV3 and EIGRP with IPv6 Network
CN113765815A (zh) 组播报文负载分担的方法、设备和系统
Patil Algorithms and techniques for transitioning to software defined networks
CN117118912A (zh) 报文传输方法、网络设备和通信系统

Legal Events

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

Payment date: 20120202

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130117

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee