KR100981489B1 - Udp멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 시스템 및 방법 - Google Patents

Udp멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR100981489B1
KR100981489B1 KR1020107007757A KR20107007757A KR100981489B1 KR 100981489 B1 KR100981489 B1 KR 100981489B1 KR 1020107007757 A KR1020107007757 A KR 1020107007757A KR 20107007757 A KR20107007757 A KR 20107007757A KR 100981489 B1 KR100981489 B1 KR 100981489B1
Authority
KR
South Korea
Prior art keywords
multicast
udp
request packet
repeater
network
Prior art date
Application number
KR1020107007757A
Other languages
English (en)
Other versions
KR20100055522A (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 KR20100055522A publication Critical patent/KR20100055522A/ko
Application granted granted Critical
Publication of KR100981489B1 publication Critical patent/KR100981489B1/ko

Links

Images

Classifications

    • 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
    • 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
    • H04L12/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • 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/46Interconnection of networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

멀티캐스트 중계기는 네트워크상의 호스트 컴퓨터 시스템에 배치된다. 다른 네트워크상의 하나 이상의 다른 멀티캐스트 중계기가 발견된다. 이러한 다른 멀티캐스트 중계기는 UDP 멀티캐스트 어드레싱을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치에 의해 호스트를 구비하는 네트워크로부터 분리된 네트워크에 배치된다. 멀티캐스트를 통해 UDP 멀티캐스트 요구 패킷이 수신되는 각 시기에 있어서, 멀티캐스트 중계기는 멀티캐스트 중계기가 이전에 UDP 멀티캐스트 요구 패킷을 전송했는지 안했는지를 판단한다. 멀티캐스트 중계기가 이전에 UDP 멀티캐스트 요구 패킷을 전송한 경우, UDP 멀티캐스트 요구 패킷을 무시한다. 그러나, 멀티캐스트 중계기가 이전에 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 멀티캐스트 중계기는 TCP/IP를 통해, 발견된 하나 이상의 다른 멀티캐스트 중계기로 UDP 멀티캐스트 요구 패킷을 송신한다.

Description

UDP멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 시스템 및 방법{SYSTEMS AND METHODS FOR PROVIDING A NETWORK BRIDGE FOR UDP MULTICAST TRAFFIC}
본 발명은 일반적으로 컴퓨터 및 컴퓨터 관련 기술에 관한 것이다. 보다 구체적으로, 본 발명은 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지(Network bridge)를 제공하기 위한 시스템 및 방법에 관한 것이다.
컴퓨터 및 통신 기술들은 빠른 속도로 진보하고 있다. 실제로, 컴퓨터 및 통신 기술들은 인간의 일상의 많은 측면에 관련되어 있다. 예를 들면, 오늘날 소비자들에 의해 사용되는 많은 장치들은 그 장치 내부에 소형 컴퓨터를 갖는다. 이런 소형 컴퓨터들은 정교함(sophistication)에 관한 사이즈 및 정도가 다양화되고 있다. 이런 소형 컴퓨터들은 하나의 마이크로컨트롤러부터 모든 기능을 갖춘 완전한 컴퓨터 시스템에 이르기까지 모든 것을 포함한다. 예를 들면, 이런 소형 컴퓨터들은 마이크로컨트롤러(microcontroller)와 같은 원-칩 컴퓨터(one-chip computer), 컨트롤러와 같은 원-보드형 컴퓨터(one-board type of computer), 호환성있는 IBM-PC와 같은 전형적인 데스크톱 컴퓨터 등일 수 있다.
일반적으로, 컴퓨터들은 컴퓨터의 중심부에 하나 이상의 프로세서를 갖는다. 그 프로세서(들)은 일반적으로 다른 외부 입력들 및 출력들에 상호접속되며, 특정 컴퓨터 또는 장치를 관리하기 위한 기능이 있다. 예를 들면, 서모스탯(thermostat)의 프로세서는 온도설정을 선택하기 위해 사용되는 버튼들, 온도를 변경하기 위한 난로(furnace)나 에이컨(air conditioner) 및, 디스플레이상에서 현재의 온도를 읽고 표시하기 위한 온도 센서들에 접속될 수 있다.
많은 전기제품, 장치 등은 하나 이상의 소형 컴퓨터를 포함한다. 예를 들면, 서모스탯, 난로, 공기 조절 시스템(air conditioning systems), 냉장고, 전화기, 타이프라이터(typewriters), 자동차, 자동 판매기, 및 많은 다른 유형(type)의 산업 기구는, 현재 일반적으로 그 내부에 소형 컴퓨터나 프로세서를 갖는다. 컴퓨터 소프트웨어는 이들 컴퓨터의 프로세서를 움직이고, 소정의 태스크를 어떻게 수행할지를 그 프로세서에 명령한다. 예를 들면, 서모스탯 상에서 작동하는 컴퓨터 소프트웨어는 특정 온도가 되었을 때 에어컨이 작동하는 것을 멈추게 하거나, 필요할 때 히터(heater)를 작동시킬 수 있다.
장치, 전기제품, 툴(tool),등의 일부인 이런 타입의 소형 컴퓨터들은 종종 내장형 장치(embedded devices) 또는 내장 시스템(embedded systems)이라 불린다.(상기 "내장형 장치" 및 "내장 시스템" 용어는 본 명세서 내에서 호환성 있게 사용될 것이다.) 내장 시스템은 보통 컴퓨터 하드웨어 및 보다 큰 시스템의 일부인 소프트웨어에 관련된다. 내장 시스템은 키보드, 마우스, 및/또는 모니터와 같은 전형적인 입력 및 출력 장치들을 가질 수 없다. 일반적으로, 각각의 중심부에서 내장 시스템은 하나 이상의 프로세서이다.
조명 시스템(lighting system)은 내장 시스템을 통합시킬 수 있다. 그 내장 시스템은 조명 시스템의 효력(effects)을 모니터하고, 제어하도록 사용될 수 있다. 예를 들면, 그 내장 시스템은 조명 시스템 내에서 조명(lights)의 밝기를 어둡게 하도록 제어를 줄 수 있다. 또는, 그 내장 시스템은 조명의 밝기를 증가시키도록 제어를 줄 수 있다. 그 내장 시스템은 조명 시스템 내의 개별적인 조명 내에서 특정 조명 패턴(lighting pattern)을 시작하기 위한 제어를 줄 수도 있다. 내장 시스템은 조명 시스템 내에서 개별적인 스위치들과 결합할 수 있다. 이런 내장 시스템은 각각의 조명 또는 전체 조명 시스템의 전원을 온/오프하도록 상기 스위치에 명령을 할 수 있다. 마찬가지로, 내장 시스템은 조명 시스템 내의 각각의 조명과 결합될 수 있다. 각각의 개별적인 조명의 밝기나 전원 상태는 상기 내장 시스템에 의해 제어될 수 있다.
보안 시스템(security system)도 내장 시스템(embedded system)을 통합시킬 수 있다. 그 내장 시스템은 상기 보안 시스템을 포함하는 개별적인 보안 센서들(security sensors)을 제어하도록 사용될 수 있다. 예를 들면, 그 내장 시스템은 자동적으로 각 보안 센서들의 전원을 켜도록 제어를 줄 수 있다. 내장 시스템은 각각의 개별적인 보안 센서들과 결합될 수 있다. 예를 들면, 내장 시스템은 동작 센서(motion sensor)에 연결될 수 있다. 만일 움직임이 감지되면 내장 시스템은 자동적으로 각각의 동작 센서의 전원을 온(on)하고, 동작 센서를 작동시키기 위한 제어를 줄 수 있다. 동작 센서를 작동시키는 것은 동작 센서 내에 위치한 LED를 파워업(power up)하기 위한 명령(instructions) 제공 및, 그 동작 센서의 출력 연결부(output ports)로부터 알람(alarm) 출력 등을 포함할 수 있다. 그 밖에 내장 시스템은 도어(door)를 모니터링(monitoring)하는 센서에도 연결될 수 있다. 그 내장 시스템은, 도어가 열리거나 닫힐 때, 작동하도록 도어를 모니터링하는 센서에 명령을 줄 수 있다. 마찬가지로, 내장 시스템은 창문(window)을 모니터링하는 센서에 연결될 수도 있다. 그 내장 시스템은, 창문이 열리거나 닫힐 때, 창문을 모니터링하는 센서가 작동하도록 명령을 줄 수 있다.
그 밖에 몇몇 내장 시스템들은, 휴대 전화(cell phones)와 같은 무선 제품들을 제어하도록 사용될 수도 있다. 그 내장 시스템은 휴대 전화의 LED 디스플레이를 파워업(power up)하도록 명령을 줄 수 있다. 그 내장 시스템은 그 밖에 휴대 전화에 관한 음성 통지(audio notification)를 사용자에게 제공하도록 휴대 전화 내에 오디오 스피커들을 작동시킬 수 있다.
가전 제품(home appliances)도 내장 시스템을 통합시킬 수 있다. 가전 제품은 가스렌지(stove), 냉장고, 전자레인지(microwave) 등과 같이 전통적인 부억에서 통상적으로 사용되는 전기제품들을 포함할 수 있다. 그 밖에 가전 제품은 사용자의 건강 및 웰빙(well-being)에 관한 전기제품들을 포함할 수 있다. 예를 들면, 마사지 리클라이너(massage recliner)는 내장 시스템을 통합시킬 수 있다. 그 내장 시스템은 사용자의 기호(preferences)에 따라, 의자의 등받이 부분(back portion)을 자동적으로 기대도록 명령을 줄 수 있다. 내장 시스템은 사용자의 기호에 따라 그 리클라이너 내의 진동(vibration)을 일으키는 의자 내의 진동 장치(oscillating component)를 시동하기 위한 명령을 줄 수도 있다.
그 밖에, 가정 내에서 전형적으로 갖춰지는 부가적인 제품들도 내장 시스템을 통합시킬 수 있다. 예를 들면, 내장 시스템은 화장실 내에서 컨테이너 탱크(container tank)를 다시 채우도록 사용되는 물의 레벨(level)을 제어하도록 사용될 수 있다. 내장 시스템은 제티드 배스텁(jetted bathtub)내에서 공기의 유출을 제어하도록 사용될 수 있다.
내장 시스템은 다양한 이유들로 인하여 다른 전자장치들에 접속(connection)을 확립할 수 있다. 예를 들면, 한개의 조직(organization)은 소정의 멀리 떨어진 클라이언트들(clients)에게 그 내장 시스템을 이용하여 원하는 데이터를 만들도록 할 수도 있다. 내장 시스템은 이 원격의 클라이언트들이 그 내장 시스템의 동작을 제어하게 할 수도 있다. 예를 들면, 캘리브레이션(calibration)으로 발견되는 문제점들은 그 내장 시스템의 위치로 사람을 보내는 것 대신에 원격으로 조정가능하게 할 수 있다. 대신에, 또는 또한, 그 내장 시스템은 근거리에서 변경될 수 있는 같은 방법으로, 그것의 동작을 원격으로 변경되게 할 수 있다. 하나의 예가 원격으로 도어(door)를 잠그는 것(locking)일 수 있다. 이런 종류의 원격 제어(remote control)는 지역적으로 이용가능한 기능(functionality)에 제한되지 않고, 많은 경우에서, 지역적 성능들(local capabilities)을 넘을 수 있다. 하나의 예가 로컬 인터페이스(local interface)를 갖추고 있지 않으나, 그것의 동작(behavior)의 원격 제어가 가능하게 하는 센서이다.
다른 전자 장치들과 통신하기 위해, 내장 시스템은 컴퓨터 네트워크에 연결될 수 있다. 때때로, 내장 시스템이 하나 이상의 컴퓨터 네트워크에 위치하는 전자 장치들의 그룹(group)에 메시지(message)를 송신하는 것이 바람직하다. 수신 그룹(recipient group)이 사이즈(size)로는 숫적으로(numerically) 크지만 네트워크(들)에서 장치들의 전체적인 수와 비교해서 작은 곳에서는, 멀티캐스트 라우팅(multicast routing)이 자주 사용된다. 멀티캐스팅(multicasting)은 네트워크상에서 하나 이상의 수신지(destination)로 동시에 메시지를 송신하는 처리(process)를 나타낸다. 멀티캐스팅은 네트워크 내의 특정 그룹에게 송신하는 멀티캐스팅 수단(multicasting means)이란 점에서 브로드캐스팅(broadcasting)과 다르며, 브로드캐스팅은 네트워크상에서 모두(everybody)에게 송신하는 것을 의미한다. 멀티캐스트 기술(technology)에 관해, 데이터의 대부분(bulk)은 통상적으로 일단 그것의 소스(source)로부터 네트워크의 메이저 백본(major backbone)들을 통해 전송되며, 그 수신지들에 보다 근접한 스위칭 포인트(switching point)들에서 증식(multiply)되거나 분산(distribute)된다.
사용자 데이터그램 프로토콜(User Datagram Protocol; UDP)은 멀티캐스트 라우팅으로의 접속에서 사용될 수 있다. 이것은 흔히 UDP 멀티캐스팅이라 불린다. UDP는 캡슐화된 IP 데이터그램(encapsulated IP datagram)들을 송신하고, 접속(connection)을 확립할 필요없이 그것들을 송신하는 애플리케이션(application)들을 위한 방법을 제공한다.
내장 시스템이 다른 네트워크에 위치한 전자 장치들로 UDP 멀티캐스팅을 통해 메시지를 송신하도록 시도하는 때에 문제가 발생할 수 있다. 컴퓨터 네트워크는 특정 네트워크 트래픽(network traffic)을 격리(isolate)하는 것과, 제한된 컴퓨터들의 세트(set)들이 통신하도록 용인하는 것이 제한될 수 있다. 라우터(routers) 및 방화벽(firewalls)과 같은 네트워크 장치에 따라 부과되는 이러한 제약(constraint)들은, 의도적으로 UDP 멀티캐스트 어드레싱(addressing)의 사용(use)을 제한한다. 만일 2개의 네트워크가 멀티캐스트 어드레싱을 라우팅하도록 구성되지 않는 네트워킹 장치(networking device)에 의해 분리되면, 하나의 고립된 네트워크상에서 일어나는 멀티캐스트 요구(multicast requests)에 대해 다른 고립된 네트워크상의 컴퓨터로 배송되는 것은 어려울 수 있다. 따라서, 필요한 것은 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지(network bridge)를 제공하는 메커니즘(mechanisms) 즉, 멀티캐스트 어드레싱을 라우팅하도록 구성되지 않는 네트워킹 장치를 통해 하나의 네트워크에서 다른 네트워크로 멀티캐스트 패킷(multicast packets)을 얻기 위한 메커니즘이다.
UDP 멀티캐스트 트래픽을 위한 네트워크 브리지를 제공하는 시스템 및 방법이 개시된다. 예시되는 실시형태에서, 네트워크상에서 호스트 컴퓨터 시스템(host computer system)의 멀티캐스트 중계기(multicast repeater)는 발견된 다른 네트워크에서 하나 이상의 다른 멀티캐스트 중계기에 관한 정보를 유지(maintain)한다. 이들 각각의 멀티캐스트 중계기는 UDP 멀티캐스트 어드레싱을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치에 의해 호스트(host)를 포함하는 네트워크로부터 분리된 네트워크 내에 위치할 수 있다. 멀티캐스트를 통해 UDP 멀티 캐스트 요구 패킷(UDP multicast request packet)이 수신되는 각 회(each time)에, 멀티캐스트 중계기는 멀티캐스트 중계기가 이전에 UDP 멀티캐스트 요구 패킷을 전송했는지 안했는지를 판단한다. 만일, 멀티캐스트 중계기가 이전에 UDP 멀티캐스트 요구 패킷을 전송한 경우, UDP 멀티캐스트 요구 패킷은 무시된다. 만일 멀티캐스트 중계기가 이전에 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 그 멀티캐스트 중계기는 UDP 멀티캐스트 요구 패킷을 발견된 하나 이상의 다른 멀티캐스트 중계기로 송신한다.
UDP 멀티캐스트 요구 패킷은, 발견된 다른 중계기(들)로 접속(예로써, TCP/IP 접속)을 통해 송신될 수 있다. UDP 멀티캐스트 요구 패킷이 다른 멀티캐스트 중계기들로 송신되기 전에, 멀티캐스트 중계기는 래퍼 프로토콜(wrapper protocol)에 따라 그 UDP 멀티캐스트 요구 패킷의 데이터(data)를 캡슐화(encapsulate)할 수 있다.
일부의 실시 예에서, 멀티캐스트 중계기가 이전에 UDP 멀티캐스트 요구 패킷을 전송했는지 안했는지 여부를 판단하는 스텝은, UDP 멀티캐스트 요구 패킷으로부터 전체적으로 고유한 패킷 식별자(packet identifier)를 추출하는 것(extracting) 및, 식별자 캐시(identifier cache)에서 패킷 식별자를 검색하는 것을 포함할 수 있다. 만일 멀티캐스트 중계기가 이전에 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 멀티캐스트 중계기는 식별자 캐시에서 패킷 식별자를 기록할 수 있다. 그 밖에 멀티캐스트 중계기는, UDP 멀티캐스트 요구 패킷이 식별자 캐시에서 생기는 네트워크 어드레스(network address)와 포트(port)도 기록할 수 있다.
멀티캐스트 중계기는, 다른 네트워크상의 다른 멀티캐스트 중계기로부터 전송된 UDP 멀티캐스트 요구 패킷을 수신할 수 있다. 만일 래퍼 프로토콜(wrapper protocol)에 따라 전송된 UDP 멀티캐스트 요구 패킷의 데이터가 캡슐화되는 경우, 멀티캐스트 중계기는 캡슐화된 데이터(encapsulated data)를 얻기 위해 전송된 UDP 멀티캐스트 요구 패킷을 개봉(unwrap)할 수 있다. 멀티캐스트 중계기는 멀티캐스트 중계기의 네트워크상에서 멀티캐스트를 통해 전송된 UDP 멀티캐스트 요구 패킷을 송신할 수 있다.
멀티캐스트 중계기는 UDP 멀티캐스트 응답 패킷(UDP multicast response packet)을 수신할 수 있다. 응답에 있어서, 멀티캐스트 중계기는 대응하는 UDP 멀티캐스트 요구 패킷이 네트워크상에서 발생됐는지 여부를 판단할 수 있다. 만일 대응하는 UDP 멀티캐스트 요구 패킷이 네트워크상에서 발생된 경우, 멀티캐스트 중계기는 대응하는 UDP 멀티캐스트 요구 패킷을 위해 발신 애플리케이션(originating application)을 식별(identify)하고, 발신 애플리케이션에 UDP 멀티캐스트 응답 패킷을 송신할 수 있다.
이와 같은 본 발명에 의하면, 각 네트워크가 멀티캐스트 중계기를 포함하는 적어도 하나의 호스트를 포함하고 있기 때문에, 네트워크 중 어느 하나에서 발생하는 멀티캐스트 요구를 다른 네트워크의 어느 한 쪽의 호스트에 전송하는 것이 용이하다.
본 발명의 예시되는 실시 형태는, 이하의 설명과 첨부된 특허청구범위로부터 첨부도면과 함께 보다 완전하게 명백해질 것이다. 이러한 도면에 관해서 이해하는 것은 예시되는 실시 형태에 관해서만 묘사하고 있는 것이며, 따라서 본 발명의 범위를 한정하는 것으로 고려되지는 않는다. 본 발명의 예시되는 실시형태는, 추가적인 특정성(specificity)으로 설명되고, 다음과 같이 첨부도면을 이용하여 상세하게 기술될 것이다.
도 1은 일 실시형태에 따른 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 시스템을 나타낸다.
도 2는 일 실시예에 따른 멀티캐스트 중계기를 포함하는 호스트상에 제공할 수 있는 소프트웨어 요소들 및 다른 데이터를 나타낸다.
도 3은 일 실시예에 따른 UDP 멀티캐스트 요구 패킷을 나타낸다.
도 4는 일 실시예에 따른 멀티캐스트를 통해, 다른 호스트로부터 그 네트워크로 UDP 멀티캐스트 요구 패킷을 수신하는 때에 멀티캐스트 중계기의 동작을 나타낸다.
도 5는 일 실시예에 따른 다른 네트워크상에서 발생된 UDP 멀티캐스트 요구 패킷을 수신하여, TCP/IP를 통해 멀티캐스트 중계기에 전송된 멀티캐스트 중계기의 동작을 나타낸다.
도 6은 일 실시예에 따른 UDP 멀티캐스트 응답 패킷을 수신하는 때의 멀티캐스트 중계기의 동작을 나타낸다.
도 7 및 8은 일 실시예에 따른 다른 네트워크들에서 몇몇 멀티캐스트 중계기의 동작예를 나타낸다.
도 9는 본 발명에 따른 시스템 및 방법을 실시할 수 있는 조명 시스템의 일례를 나타낸다.
도 10은 본 발명에 따른 시스템 및 방법을 실시할 수 있는 보안 시스템의 일례를 나타낸다.
도 11은 본 발명에 따른 시스템 및 방법을 실시할 수 있는 홈 컨트롤러 시스템(home controller system)의 일례를 나타낸다.
도 12는 컴퓨터 시스템에서 통상적으로 이용되는 주요한 하드웨어 요소들을 나타내는 블록도이다.
이제 본 발명의 다양한 실시 예가 도면을 참조하여 설명된다. 같은 참조 번호는 동일하거나 기능상 유사한 요소를 나타낸다. 본 명세서에서 일반적으로 설명되고 도면으로 나타내는 본 발명의 실시예는, 넓고 다양한 다른 형태로 배열되고 설계될 수 있다. 그래서, 도면에 표시되는 바와 같이, 본 발명의 예시되는 몇몇 실시형태의 다음의 상세한 설명은, 본 발명의 청구범위로서의 발명의 범위를 한정하는 의도가 아니라 단지 본 발명의 실시예를 나타내는 의도이다.
본 명세서에서 "예(exemplary)"라는 말은, "실시예(example), 실예(instance) 또는 도시(illustration)로서의 역할을 하는 것"을 의미하도록 배타적으로 사용된다. 본 명세서에 "예"라고 기술되는 어떤 실시예도, 다른 실시예들보다 바람직하거나 또는 유리하다고 해석할 필요는 없다. 실시예들의 다양한 관점이 도면에서 나타나지만, 그 도면이 명확하게 표시되어 있지 않았다고 해서 반드시 비례하도록 작성할 필요는 없다.
본 명세서에 설명된 실시예들의 많은 특징은 컴퓨터 소프트웨어, 전자 하드웨어 또는, 양쪽의 조합으로서 실시할 수 있다. 하드웨어와 소프트웨어의 호환성(interchangeability)을 명확하게 나타내기 위해, 다양한 요소들이 그들의 기능성(functionality)에 관해 전체적으로 설명될 것이다. 그런 기능성은 하드웨어 또는 소프트웨어로서 실시되는 것인지 아닌지는, 전체적인 시스템상에 부과되는 특정 애플리케이션(particular application)과 설계 제약조건(design constraints)에 의존한다. 당업자는 각 특정 애플리케이션을 위해 다양한 방법으로 설명된 기능성을 실시할 수 있지만, 그런 실시 결정은 본 발명의 범위로부터 벗어나도록 해석되어서는 안 된다.
설명된 기능성이 컴퓨터 소프트웨어로서 실시되는 경우, 그런 소프트웨어는 어떤 타입의 컴퓨터 명령(또는 명령)(computer instruction) 또는, 메모리 소자(memory device) 내에 위치되고 및/또는 시스템 버스(system bus) 또는 네트워크를 통해 전자 신호로서 전송되는 컴퓨터 실행 가능한 코드(computer executable code)를 포함할 수 있다. 본 명세서에서 설명되는 장치들(components)과 관련된 기능을 실시하는 소프트웨어는 1개의 명령(single instruction) 또는, 많은 명령들을 포함할 수 있고, 다른 프로그램에서 몇몇 메모리 소자를 통해, 다양한 다른 코드 세그먼트들로 분산될 수 있다.
도 1은, 일 실시예에 따른 UDP 멀티캐스트 트래픽을 위한 네트워크 브리지를 제공하기 위한 시스템(100)을 나타낸다. 그 시스템(100)은 복수의 컴퓨터 네트워크(102)를 포함한다. 도시되는 실시예에서는, 2개의 네트워크(102)가 제공된다. 즉, 네트워크 A(102a)와 네트워크 B(102b)이다. 각 네트워크(102)는 복수의 상호접속된 컴퓨터 시스템(interconnected computer systems)을 포함한다. 컴퓨터 시스템은 호스트(104)라 한다.
네트워크(102)는 멀티캐스트 어드레싱(multicast addressing)을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치(106)에 의해 분리된다. 예를 들면, 네트워크(102)는 라우터(router)나 방화벽(firewall) 등에 의해 분리될 수 있다.
각 네트워크(102)는 멀티캐스트 중계기(multicast repeater)(108)를 포함하는 적어도 하나의 호스트(104)를 포함한다. 대략적으로 말하면, 멀티캐스트 중계기(108)는 다른 고립된 네트워크(예를 들면, 네트워크 B(102b))상의 호스트(104)에 따라 반복되고, 응답하도록 하나의 고립된 네트워크(예를 들면, 네트워크 A(102a))상에서 발생하는 멀티캐스트 요구(multicast requests)를 가능하게 하는 네트워크 브리지(network brigde)이다. 이것을 달성하기 위해, 각각의 멀티캐스트 중계기(108)는, 알려진 다른 모든 중계기(108)에 수신되는 각 멀티캐스트 요구를 전송하도록 구성된다. (만일, 중계기(108)가 멀티캐스트 요구를 이미 처리하고 있지 않으면, 이하에서 더 상세하게 이것에 관해 논의할 것이다.) 각 중계기(108)는 그것 자신의 전체적으로 고유한 식별자를 갖는다. 이 식별자는 멀티캐스트 요구를 중계기(108)에 전송하기 위해 사용될 수 있다. 멀티캐스트 중계기(108)는 UDP 멀티캐스트 데이터 배포(UDP multicast data dissemination)의 애플리케이션 레벨 제어(level control)을 용이하게 한다. 그 결과, 규제되고 보호받는 네트워크(102)의 제약 조건(constraints)내에서, 원하는 애플리케이션 요구(application needs)에 대한 네트워크 트래픽을 제한한다.
도 1에서, 2개의 네트워크(102)가 나타나지만, 2개 이상의 네트워크(102)가 멀티캐스트 어드레싱을 라우팅하도록 구성되지 않는 네트워킹 장치(106)에 의해 접속되는 시스템에서의 실시예도 실시할 수 있다. 그런 실시예에서, 각 네트워크(102)에서 적어도 하나의 호스트(104)는 멀티캐스트 중계기(108)을 포함할 수 있다. 또한 도 1에 나타나는 양쪽의 네트워크(102)는 하나의 중계기(108)만을 포함하고 있지만, 다른 실시예에서는 다중의 중계기(108)를 하나의 네트워크(102) 내에서 제공될 수 있다.
도 2는 멀티캐스트 중계기(108)를 포함하는 호스트(104) 상에 제공될 수 있는 소프트웨어 요소들과 다른 데이터를 나타낸다. 도시된 바와 같이, 멀티캐스트 중계기(108)는 호스트(104) 상에서 동작하고 있는 서버 애플리케이션(210)의 일부일 수 있다. 서버 애플리케이션(210)은 UDP 서버 모듈(212)을 포함할 수 있다. UDP 서버 모듈(212)은 UDP 멀티캐스트 패킷을 위한 특정한 멀티캐스트 어드레스와 포트(port)를 감시(listen)하도록 구성될 수 있다. 일부 실시예에서, 멀티캐스트 중계기(108)는 UDP 서버 모듈(212)과 함께 등록하고, UDP 서버 모듈(212)은 처리(processing)를 위해 멀티캐스트 중계기(108)에 수신되는 어느 UDP 멀티캐스트 패킷들을 전송한다.
서버 애플리케이션(210)은 다른 네트워크(102)상의 멀티캐스트 중계기(108)에 TCP/IP 접속을 셋업(set up)하도록 구성되는 TCP/IP 접속모듈(214)도 포함할 수 있다. TCP/IP 접속이 다른 네트워크(102)에 확립되는 경우, 몇몇의 멀티캐스트 중계기(108)는 자동적으로 발견된 중계기의 리스트(216)에 추가되는 네트워크(102) 상에 있다.
멀티캐스트 중계기는 식별자 캐시(identifier cache)(218)를 유지(maintain)한다. 식별자 캐시(218)는 멀티캐스트 중계기(108)가 이전의 다른 중계기(108)에 전송한 요구 패킷(request packets)에 관한 정보를 저장하기 위해 사용된다.
도 3은, 일 실시예에 따른 UDP 멀티캐스트 요구 패킷(320)을 나타낸다. 도시된 실시예에서, 송신된 각각의 멀티캐스트 요구 패킷(320)은 전체적으로(globally) 고유한 패킷 식별자(packet identifier)(322)를 포함한다. 전체적으로 고유한 패킷 식별자(322)에 더하여, 송신된 각 요구 패킷(320)은 발신 호스트(originating host)(104)의 네트워크 어드레스(324) 및, 발신 애플리케이션(originating application)이 발신 호스트(104)에 할당되는 포트(326)을 나타낸다. (발신 애플리케이션은 본래 요구 패킷(320)을 송신한 애플리케이션이다. 발신 호스트(104)는 발신 애플리케이션이 실행되고 있는 호스트(104)이다.) 요구 패킷(320)은 통상 다른 정보(328)도 포함한다.
도 4는 멀티캐스트를 통해 다른 호스트(104)의 네트워크(102)로부터 UDP 멀티캐스트 요구 패킷(320)을 수신하는 때(스텝 402)의 멀티캐스트 중계기(108)의 동작을 나타낸다. 스탭 404에서, 멀티캐스트 중계기(108)는 스텝 402에서 수신된 요구 패킷(320)으로부터 패킷 식별자(322)를 추출한다.
스텝 406에서, 멀티캐스트 중계기(108)는 패킷 식별자(322)를 그 식별자 캐시(218)에서 검색한다. 만일 패킷 식별자(322)가 식별자 캐시(218) 내에 이미 저장되어 있는 경우, 이것은 멀티캐스트 중계기(108)가 이미 요구 패킷(320)을 처리한 것을 의미하고, 스텝 408에서 루핑(looping)을 막기 위해 요구 패킷(320)은 무시된다. 그러나, 만일 식별자 캐시(218) 내의 엔트리(entry)가 요구 패킷(320)을 위해 이미 존재하고 있지 않은 경우, 스텝 410에서 멀티캐스트 중계기(108)는 식별자 캐시(218)의 요구 패킷(320)을 위해 패킷 식별자(322)을 기록한다. 일부의 실시예에서, 식별자(322)는 한정적인 시간에 대해서만 유효하다. 바람직하게는, 그 시간은 루프(loop)를 검출하기 위해 식별자 캐시(218)를 사용하는데 충분히 길다.
스텝 412에서, 멀티캐스트 중계기(108)는 스텝 402에서 수신된 요구 패킷(320)으로부터 발신 호스트(104)의 네트워크 어드레스(324)와, 발신 애플리케이션이 할당되는 발신 호스트(104)상에서 포트(326)를 추출한다. 스텝 414에서, 멀티캐스트 중계기(108)는 이 정보를 식별자 캐시(218)에 기록한다. 이어서, 멀티캐스트 요구(320)에 대한 어떤 응답을 수신된 경우, 발신 애플리케이션에 대한 응답을 돌려주기 위해, 네트워크 어드레스(324)와 포트(326)가 사용될 수 있다. 이에 관해 이하에서 보다 상세히 설명한다.
스텝 416에서, 멀티캐스트 중계기(108)는, 래퍼 프로토콜(wrapper protocol)에 따라, 패킷 식별자(322)를 포함하는 요구 패킷(320)의 데이터를 캡슐화한다. 스텝 418에서, 멀티캐스트 중계기(108)는 TCP/IP를 이용하여 캡슐화된 요구 패킷(320)을 발견된 각 중계기(108)(예를 들면, 발견된 중계기들의 리스트(216)에서 식별되는 각 중계기(108)로)로 전송한다.
도 5는 다른 네트워크(102)상에서 발생되고, TCP/IP를 통해 멀티캐스트 중계기(108)에 전송된 UDP 멀티캐스트 요구 패킷(320)을 수신하는 때(스텝 502)의 멀티캐스트 중계기(108)의 동작을 나타낸다. 상술한 바와 같이, 멀티캐스트 중계기(108)가 TCP/IP를 통해 다른 멀티캐스트 중계기(108)에 요구 패킷(320)을 전송하는 때에, 요구 패킷(320)은 전송전에 래퍼 프로토콜에 따라 캡슐화된다. 따라서, 스텝 504에서, 멀티캐스트 중계기(108)는 캡슐화된 데이터를 얻기 위해 캡슐화된 요구 패킷(320)을 연다. 스텝 506에서, 멀티캐스트 중계기(108)는 멀티캐스트를 통하여 그것의 네트워크(102)상에서 요구 패킷(320)을 송신한다.
도 6은 다른 멀티캐스트 중계기(108)로부터 UDP 멀티캐스트 응답 패킷을 수신하는 때(스텝 602)의 멀티캐스트 중계기(108)의 동작을 나타낸다. 스텝 604에서, 멀티캐스트 중계기(108)는 응답 패킷(response packet)으로부터 패킷 식별자(322)를 추출한다. (도시된 실시예에서, 응답 패킷내에 포함되는 패킷 식별자(322)는, 대응하는 요구 패킷(320)을 위한 패킷 식별자(322)와 동일하다.) 스텝 606에서, 멀티캐스트 중계기(108)는 스텝 604에서 추출된 패킷 식별자(322)를 그 식별자 캐시(218)에서 검색한다. 만일 패킷 식별자(322)가 식별자 캐시(218)에 저장되어 있지 않은 경우, 이것은 멀티캐스트 중계기(108)가 응답 패킷에 대응하는 요구 패킷(320)을 전송하지 않은 것을 의미한다. 따라서, 스텝 608에서, 멀티캐스트 중계기(108)는 응답 패킷을 무시한다.
만일 식별자 캐시(218)에 패킷 식별자(322)가 있는 경우, 그 때는 스텝 612에서, 멀티캐스트 중계기(108)는 발신 호스트(104)의 네트워크 어드레스(324)와 발신 애플리케이션에 관련된 포트(326)를 식별한다. 이것은 패킷 식별자(322)를 이용하여, 중계기(108)의 식별자 캐시(218)에서 네트워크 어드레스(324) 및 포트(326)를 조사하는 것을 수반할 수 있다. 스텝 614에서, 중계기(108)는 UDP 유니캐스트 어드레싱(UDP unicast addressing)을 이용하여, 발신 애플리케이션에 응답을 송신한다.
중계기(108)는 오직 멀티캐스트 요구를 전송하도록 구성될 수 있다. 일부의 실시예에서, 멀티캐스트 요구만 전송하는 중계기(108)는 중계기로서 스스로를 공표(advertise)하지 않는다. 따라서 다른 중계기들에 의해 발견될 수 없다. 이것은 브리지가 네트워크(102)들 사이의 한쪽 방향만으로 셋업되는 것을 가능하게 한다.
도 7 및 도 8은, 일실시예에 따른 다른 네트워크(702)에서 다양한 멀티캐스트 중계기(708)의 동작을 보여주는 일례를 나타낸다. 도시된 예에서, 2개의 네트워크(702) 즉, 네트워크 A(702a)와 네트워크 B(702b)가 배치되어 있다. 다른 네트워크(702)들은 멀티캐스트 어드레싱을 라우팅하도록 구성되지 않는 네트워킹 장치(미도시)에 의해 서로 접속된다. 따라서, 종래의 수법을 사용하여, 네트워크(702) 중 어느 하나에서 발생하는 멀티캐스트 요구를 다른 네트워크(702)의 어느 한쪽의 호스트에 전송하는 것은 어려울지도 모른다.
이 문제를 해결하기 위해, 각 네트워크(702)는 멀티캐스트 중계기(708)를 포함하는 적어도 하나의 호스트(704)를 포함한다. 네트워크 A(702a)는 호스트 A(704a)와 호스트 D(704d)를 포함한다. 호스트 A(704a)는 멀티캐스트 중계기 A(708a)를 포함한다. 호스트 D(704d)는 멀티캐스트 중계기 D(708d)를 포함한다. 네트워크 B(702b)는 호스트 B(704b)과 호스트 C(704c)를 포함한다. 호스트 B(704b)는 멀티캐스트 중계기 B(708b)를 포함한다. 호스트 C(704c)는 멀티캐스트 중계기C(708c)를 포함한다. TCP/IP 접속은 네트워크 A(702a)상의 호스트 A(704a)와 네트워크 B(702b)상의 호스트 B(704b)와의 사이에서 및, 네트워크 B(702b)상의 호스트 C(704c)와 네트워크 A(702a)상의 호스트 D(704d)와의 사이에서 확립된다.
도 7에 나타난 바와 같이, 발신 호스트(738)상의 발신 애플리케이션(730)은 네트워크 A(702a)상에서 멀티캐스트를 통해 UDP 멀티캐스트 요구 패킷(720)을 송신한다. 멀티캐스트 중계기 A(708a)는, 요구 패킷(720)을 수신한다. 요구 패킷(720)을 전송하기 전에, 멀티캐스트 중계기 A(708a)는 TCP/IP를 통해 전송하기 위한 요구 패킷(720)을 준비한다. 특히, 멀티캐스트 중계기 A(708a)는 요구 패킷(720)의 데이터를 캡슐화한다. 그 결과, 캡슐화된 요구 패킷(732)를 생성한다.
그 후, 멀티캐스트 중계기 A(708a)는 TCP/IP를 통하여, 발견된 다른 멀티캐스트 중계기(708)에 요구 패킷(720)을 전송한다. 도시된 예에서는, 멀티캐스트 중계기 A(708a)가 멀티캐스트 중계기 B(708b)를 발견한 것으로 가정한다. 따라서, 멀티캐스트 중계기 A(708a)는 TCP/IP를 통하여, 멀티캐스트 중계기 B(708b)에 캡슐화된 요구 패킷(732)을 전송한다.
멀티캐스트 중계기 B(708b)가 캡슐화된 요구 패킷(732)을 수신할 때, 캡슐화된 데이터 즉, 요구 패킷(720) 자체를 얻기 위해 캡슐화된 요구 패킷(732)을 연다. 멀티캐스트 중계기 B(708b)는 그 후, 멀티캐스트(multicast)를 통하여, 네트워크 B(702b)에 요구 패킷(720)을 송신한다.
멀티캐스트 중계기 C(708c)가 요구 패킷(720)을 수신할 때, 발견된 다른 멀티캐스트 중계기(708)에 요구 패킷(720)을 전송한다. 도시된 예에서는, 멀티캐스트 중계기 C(708c)가 멀티캐스트 중계기 D(708d)를 발견한 것으로 가정한다. 따라서, 멀티캐스트 중계기 C(708c)는 TCP/IP를 통해, 멀티캐스트 중계기 D(708d)에 캡슐화된 요구 패킷(732)을 전송한다.
멀티캐스트 중계기 D(708d)가 캡슐화된 요구 패킷(732)를 수신할 때, 캡슐화된 데이터 즉, 요구 패킷(720) 자체를 얻기 위해, 캡슐화된 요구 패킷(732)를 연다. 멀티캐스트 중계기 D(708d)는 그 후, 멀티캐스트를 통해 네트워크 A(702a)상에 요구 패킷(720)을 송신한다. 멀티캐스트 중계기 A(708a)가 다시 한번 요구 패킷(720)을 수신할 때, 멀티캐스트 중계기 A(708a)는 이미 그 요구 패킷(720)을 수신했는지를 결정한다. 앞서 설명된 바와 같이, 요구 패킷(720)으로부터 패킷 식별자(그림 7에서는 미도시)를 추출하고, 패킷 식별자를 유지하는 식별자 캐시(그림 7에서는 미도시)에서 패킷 식별자를 검색함으로써 이것을 할 수 있다. 멀티캐스트 중계기 A(708a)가 이미 요구 패킷(720)를 수신하고 전송한 것으로 판단한 경우, 멀티캐스트 중계기 A(708a)는 단순히 그 요구 패킷(720)을 무시한다. 이런 방법에서, 루프(loop)는 비분해법(non-destructive manner)으로 검출되고 방지된다. 즉, 가령 루프가 검출되어도, UDP 멀티캐스트 트래픽을 위한 네트워크 브리지를 제공하는 메커니즘(mechanism)은 속행(續行)될 수 있다.
도 8은 호스트 C(704c)상의 애플리케이션(834)이 멀티캐스트 요구(720)에 응답하는 때에 다른 네트워크에서의 멀티캐스트 중계기(708)의 동작을 나타낸다. 애플리케이션(834)은 유니캐스트(unicast)를 통해, 네트워크 C(702c)상에 응답 패킷(836)을 송신하고, 그리고 멀티캐스트 중계기 C(708c)는 응답 패킷(836)을 수신한다. 멀티캐스트 중계기 C(708c)는 응답 패킷(836)을 랩(wrap)하고, 캡슐화된 응답 패킷(837)을 TCP/IP를 통해 네트워크 A(702a)상의 멀티캐스트 중계기 A(708a)에 송신한다. 만약 멀티캐스트 중계기 C(708c)에 TCP/IP를 통해 접속된 복수의 멀티캐스트 중계기(708)가 있으면, 멀티캐스트 중계기 C(708c)는 어느 멀티캐스트 중계기(708)가 요구(720)를 전송했는지를 판단할 수 없는 경우에, 모든 멀티캐스트 중계기(708)에 응답(836)을 반송할 수 있다. 만약 멀티캐스트 중계기(708)가 요구(720)에 대해 전송되지 않은 응답(836)을 수신했다면, 그 때에 멀티캐스트 중계기(708)는 그 응답(836)을 무시할 수 있다.
멀티캐스트 중계기 A(708a)가 캡슐화된 응답 패킷(837)을 수신한 경우, 멀티캐스트 중계기 A(708a)는 캡슐화된 데이터(즉, 응답 패킷(836) 자체)를 얻기 위해 캡슐화된 응답 패킷(837)을 개봉하고, 패킷 식별자를 체크한다. 만약 패킷 식별자가 멀티캐스트 중계기 A(708a)의 캐시에 없는 경우, 응답 패킷(836)은 무시된다. 멀티캐스트 중계기 A(708a)는 발신 호스트(738)의 네트워크 어드레스와 발신 애플리케이션(730)과 관련된 포트를 식별하기 위해 그 캐시를 갖는 패킷 식별자를 이용한다. 멀티캐스트 중계기 A(708a)는 그 후, UDP 유니캐스트 어드레싱을 이용하여 응답 패킷(836)을 발신 애플리케이션(730)에 송신한다.
본 발명에 따른 시스템 및 방법은 다양한 환경에서 사용될 수 있다. 도 9는 본 발명에 따른 시스템 및 방법을 실시할 수 있는 시스템의 일 실시예를 나타낸다. 도 9는 조명 컨트롤러 시스템(lighting controller system)(908)을 포함하는 조명시스템(lighting system)(900)의 일 실시예를 나타내는 블록도이다. 도 9의 조명 시스템(900)은 가정 내의 여러 가지의 방에 편성될 수 있다. 도시된 것처럼, 시스템(900)은 방 A(902), 방 B(904) 및 방 C(906)을 포함한다. 도 9에서는 3개의 방이 보여지지만, 시스템(900)은 가정(home), 거처(dwelling), 또는 다른 환경 내에서 어떤 수 및 종류의 방들도 도입될 수 있다.
조명 컨트롤러 시스템(908)은 시스템(900) 내에서, 추가적인 내장 시스템(embedded system) 및 요소들을 감시하고 제어할 수 있다. 일 실시예에서, 방 A(902)와 방 B(904)는 각각, 스위치 요소(switch component)(914, 918)를 포함한다. 스위치 요소(914, 918)는 2차 내장 시스템(secondary embedded system)(916, 920)을 포함할 수도 있다. 2차 내장 시스템(916, 920)은 조명 컨트롤러 시스템(908)으로부터 명령(instructions)을 수신할 수 있다. 그 다음, 2차 내장 시스템(916, 920)은 이러한 명령을 실행할 수 있다. 그 명령은 여러 가지의 조명 요소들(lighting components)(910, 912, 922, 924)의 전원을 켜거나, 끄는 것을 포함할 수 있다. 그 명령은 여러가지의 조명 요소들(910, 912, 922, 924)의 밝기(brightness)를 흐리게 하는 것 또는 밝기를 증가시키는 것을 포함할 수도 있다. 그 명령은 여러 가지의 패턴으로 조명 요소들(910, 912, 922, 924)의 밝기를 배열시키는 것도 더 포함할 수 있다. 2차 내장 시스템(916, 920)은 방 A(902)와 방 B(904)에 배치된 각 조명 요소(910, 912, 922, 924)를 감시하고 제어하기 위해 조명 컨트롤러 시스템(908)을 원활하게 한다.
그 밖에, 조명 컨트롤러 시스템(908)은 묘사된 방 C(906)에 2차 내장 시스템(928)을 포함하는 조명 요소(926)에 직접 명령들을 줄 수도 있다. 조명 컨트롤러 시스템(908)은 개별의 조명 요소(926)의 전원을 끄거나, 켜도록 2차 내장 시스템(928)에 명령할 수 있다. 마찬가지로, 조명 컨트롤러 시스템(908)으로부터 수신된 명령은 각각의 조명 요소(926)의 밝기를 흐리게 하는 것, 또는 밝기를 증가시키는 것을 포함할 수 있다.
또한, 조명 컨트롤러 시스템(908)은 시스템(900) 내에서 각각의 조명 요소(930, 932)를 감시하고, 직접적으로 명령들을 제공할 수 있다. 이러한 명령들은 앞서 설명된 바와 같이, 유사한 명령들을 포함할 수 있다.
도 10은 본 발명에 따른 시스템 및 방법을 실시할 수 있는 시스템의 다른 실시예이다. 도 10은 보안 시스템(security system)(1000)을 나타내는 블록도이다. 도시된 실시예에서, 보안 시스템(1000)은 방 A(1002), 방 B(1004) 및, 방 C(1006)에서 실시된다. 이러한 방들은, 가정이나 다른 닫혀진 환경의 범위에 있어도 좋다. 또한, 시스템(1000)은 방 A(1002), 방 B(1004) 및, 방 C(1006)가 각각 영역 또는 경계를 나타내는 열린 환경에서 실시될 수도 있다.
시스템(1000)은 보안 컨트롤러 시스템(security controller system)(1008)을 포함한다. 보안 컨트롤러 시스템(1008)은 시스템(1000)내에서 여러 가지 요소들로부터 정보를 감시하고 수신한다. 예를 들면, 동작 센서(motion sensor)(1014, 1018)는 2차 내장 시스템(1016)을 포함할 수 있다. 움직임이 2차 내장 시스템(1016, 1020)을 통해 검출될 때, 동작 센서(1014, 1018)는 움직임을 위한 즉시의 공간(immidiate space)을 감시하고, 보안 컨트롤러 시스템(108)에 경고할 수 있다. 또한, 보안 컨트롤러 시스템(1008)은 시스템(1000)내의 여러 가지 요소에도 명령을 줄 수 있다. 예를 들면, 보안 컨트롤러 시스템(1008)은 윈도우 센서(window sensor)(1010, 1022) 및 도어 센서(door sensor)(1012, 1024)의 전원을 온/오프하도록 2차 내장 시스템(1016, 1020)에 명령을 제공할 수 있다. 일 실시예에서, 2차 내장 시스템(1016, 1020)은 윈도우 센서(1010, 1022)가 윈도우(window)의 움직임을 검출한 때에, 보안 컨트롤러 시스템(1008)에 통지한다. 마찬가지로, 2차 내장 시스템(1016, 1020)은 도어 센서(1012, 1024)가 도어의 움직임을 검출한 때에, 보안 컨트롤러 시스템(1008)에 통지한다. 2차 내장 시스템(1016, 1020)은 동작 센서(1014, 1018) 내에 배치된 LED(미도시)를 작동시키기 위해 동작 센서(1014, 1018)에 명령을 할 수 있다.
또한, 보안 컨트롤러 시스템(1008)은 시스템(1000)내의 개별의 요소들을 감시하고 직접 명령을 줄 수 있다. 예를 들면, 보안 컨트롤러 시스템(1008)은, 동작 센서(1030)나 윈도우 센서(1032)를 감시하고, 전원을 온/오프하기 위한 명령을 줄 수 있다. 그 밖에, 보안 컨트롤러 시스템(1008)은 센서(1030, 1032) 내에서 LED(미도시) 또는 오디오 경고통지(audio alert notifications)를 작동시키기 위한 동작 센서(1030)와 윈도우 센서(1032)에 대해 명령을 줄 수도 있다.
시스템(1000)을 포함하는 각 개별적인 요소는 2차 내장 시스템을 포함할 수도 있다. 예를 들면, 도 10은 2차 내장 시스템(1028)을 포함하는 도어 센서(1026)을 나타낸다. 보안 컨트롤러 시스템(1008)은 앞서 설명된 바와 같이, 유사한 방법으로 2차 내장 시스템(1028)을 감시하고 명령을 제공할 수 있다.
도 11은 홈 컨트롤 시스템(home control system)(1100)의 일 실시예를 나타내는 블록도이다. 홈 컨트롤 시스템(1100)은 조명 시스템(900), 보안 시스템(1000)등과 같이 다양한 시스템의 모니터링을 용이하게 하는 홈 컨트롤러(1108)를 포함한다. 홈 컨트롤 시스템(1100)은 사용자에게 하나 이상의 내장 시스템을 통해, 여러가지의 요소와 시스템을 제어하도록 할 수 있다. 일 실시예에서, 홈 컨트롤러 시스템(1108)은 앞서 도 9 및 도 10에 관련하여 설명된 것과 동일한 방법으로, 정보를 감시하고 제공한다. 도시된 실시예에서, 홈 컨트롤러(1108)는 2차 내장 시스템(1120)을 통해 난방 요소(heating component)(1124)에 명령을 준다. 난방 요소(1124)는 거주 장소나 오피스에 통상적으로 갖춰진 난로나 다른 난방 장치를 포함할 수 있다. 홈 컨트롤러 시스템(1108)은 2차 내장 시스템(1120)을 통해 난방 요소(1124)의 전원을 온/오프하기 위한 명령을 줄 수 있다.
마찬가지로, 홈 컨트롤러(1108)는 냉방 요소(cooling component)(1130)와 같은 홈 컨트롤 시스템(1100) 내의 요소를 감시하고, 직접 명령을 줄 수 있다. 냉방 요소(1130)는 거주 장소나 오피스에 통상적으로 갖춰진 에어컨 또는 다른 냉각 장치를 포함할 수 있다. 중앙의 홈 컨트롤러(central home controller)(1108)는 중앙의 내장 시스템(central embedded system)에 의해 수집된 계측 온도(temperature reading)에 따라 전원을 온/오프하도록 냉방 요소(1130)에 명령할 수 있다. 홈 컨트롤 시스템(1100)은 앞서 도 9 및 도 10에 관련된 설명과 유사한 방법으로 기능한다.
도 12는 컴퓨터 시스템(1201)으로 통상 사용되는 주요한 하드웨어 요소(hardware component)들을 나타내는 블록도이다. 도시된 요소는 동일 물리적 구조(physical structure) 또는 개별적인 하우징이나 구조물내에 배치될 수 있다.
컴퓨터 시스템(1201)은 프로세서(1203)와 메모리(1205)를 포함한다. 프로세서(1203)는 컴퓨터 시스템(1201)의 동작을 제어하고, 해당 기술 분야에서 알려진 마이크로 프로세서, 마이크로 컨트롤러, 디지털 신호 처리장치(digital signal processor; DSP) 또는 그 밖의 장치로서 구체화될 수 있다. 프로세서(1203)은 통상 메모리(1205)내에 저장된 프로그램 명령(program instructions)에 근거한 논리 및 산술 연산(arithmetic operation)을 실행한다.
본 명세서에 사용된 바와 같이, 용어 메모리(memory)(1205)는 전자적 정보를 저장할 수 있는 어떤 전자적 요소로서 넓게 정의되고, ROM(read only memory), RAM(random access memory), 자기 디스크 기억 매체(magnetic disk storage media), 광 기억 매체(optical storage media), RAM의 플레시 메모리 디바이스(flash memory device), 프로세서(1203)에 포함되는 온 보드 메모리(on-board memory), EPROM 메모리, EEPROM 메모리, 레지스터 등으로 구체화될 수 있다. 메모리(1205)는 프로그램 명령과 다른 타입의 데이터를 통상 저장한다. 프로그램 명령은 본 명세서에 개시된 방법의 일부 또는 전부를 실시하기 위해 프로세서(1203)에 의해 실행될 수 있다.
또한, 컴퓨터 시스템(1201)은 다른 전자 장치와 통신하기 위한 하나 이상의 통신 인터페이스(communication interface)(1207)도 통상 포함한다. 통신 인터페이스(1207)는 유선 통신기술, 무선 통신기술 또는 양쪽에 근거할 수 있다. 통신 인터페이스(1207)의 다른 타입의 예는 시리얼 포트(serial port), 병렬 포트(parallel port), USB(universal serial bus), 이더넷 어댑터(Ethernet adapter), IEEE 1394 버스 인터페이스, SCSI(small computer system interface) 버스 인터페이스, 적외선 통신 포트(infrared communication port), 블루투스 무선 통신 어댑터 등을 포함한다.
또한, 컴퓨터 시스템(1201)은 하나 이상의 입력 장치(1209)와 하나 이상의 출력장치(1211)도 통상 포함한다. 다른 종류의 입력장치(1209)의 예는 키보드, 마우스, 마이크로폰, 리모트 컨트롤 장치, 버튼, 조이스틱, 트랙볼(trackball), 터치패드, 라이트펜 등을 포함한다. 다른 종류의 출력장치(1211)의 예는, 스피커, 프린터 등을 포함한다. 컴퓨터 시스템에 통상 포함된 하나의 특정 타입의 출력장치는 디스플레이 장치(1213)이다. 본 명세서에 개시된 실시예와 함께 사용되는 디스플레이 장치(1213)는 CRT(cathode ray tube), LCD(liquid crystal display), LED(light-emitting diode), 가스 플라즈마, 전계발광(electroluminescence) 등과 같이, 어떤 적합한 이미지 프로젝션 기술도 이용할 수 있다. 그 밖에 디스플레이 컨트롤러(1215)는 메모리(1205)에 저장된 데이터를 디스플레이 장치(1213) 상에 표시된 텍스트, 도형(graphic), 및/또는 동화상(moving images)(적절하게)으로 변환하도록 제공될 수 있다.
물론, 도 12는 컴퓨터 시스템(1201)의 하나의 가능한 구조만을 나타낸다. 여러가지의 다른 구조와 요소들이 이용될 수 있다.
다양한 다른 기술과 수법의 어느 하나를 사용하여, 정보와 신호는 표현될 수 있다. 데이터, 지시(instructions), 명령(commands), 정보, 신호, 비트, 심볼, 및 칩은, 예를 들면 전압, 전류, 전자파, 자장 또는 입자(magnetic fields or particles), 광파장 또는 입자(optical fields or particles), 또는 그것의 어떤 조합에 의해 표현할 수 있는 상기의 설명을 통해 참조될 수 있다.
본 명세서에 개시된 실시예와 관련하여 설명되는 여러 가지의 도시된 논리 블록, 모듈, 회로 및 알고리즘 스텝은 전자 하드웨어, 컴퓨터 소프트웨어 또는, 양쪽의 조합으로서 실시할 수 있다. 명확하게 하드웨어와 소프트웨어의 이 호환성을 설명하기 위해, 여러 가지의 도시된 요소, 블록, 모듈, 회로 및 스텝은 일반적으로 상기 기능성에 관해서 설명되어 있다. 그런 기능성이 하드웨어 또는 소프트웨어로서 실시되는지 여부는, 시스템 전체에 부과되는 특정 애플리케이션 및 설계 제약조건에 달려 있다. 당업자는 각 특정 애플리케이션을 위한 다양한 방법으로 설명된 기능성을 실시할 수 있지만, 그런 실시 판단은 본 발명의 범위로부터 벗어나게 해석되어선 안 된다.
*본 명세서에 개시된 실시예와 관련하여 설명된, 다양한 도시된 논리 블록, 모듈, 및 회로는 범용 프로세서(general purpose processor), DSP, ASIC (application specific integrated circuit), FPGA(field programmable gate array signal) 또는 다른 프로그램 가능한 논리 장치, 이산적인 게이트(discrete gate) 또는 트랜지스터 로직(transistor logic), 이산적인 하드웨어 요소 또는 본 명세서에 기재되는 기능을 실행하도록 설계된 것들의 어떤 조합을 가지고 실시 또는 실행될 수 있다. 범용 프로세서는 마이크로프로세서라도 좋지만, 대체로 프로세서는 어떤 종래의 프로세서, 컨트롤러, 마이크로 컨트롤러, 또는 스테이트 머신(state machine)이어도 좋다. 그 밖에 프로세서는 연산 장치(computing device) 들의 조합 예를 들면, DSP와 마이크로 프로세서, 복수의 마이크로 프로세서, DSP 코어에 관련된 하나 이상의 마이크로 프로세서 또는, 다른 그런 형태의 조합으로서 실시할 수 있다.
본 명세서에 개시된 실시예에 관해서 설명된 방법 또는 알고리즘의 스텝은, 직접적으로 하드웨어에서 프로세서에 의해 실행된 소프트웨어 모듈로, 또는 2개의 조합으로 구체화될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드디스크, 고정디스크(removable disk), CD-ROM, 또는 해당 기술 분야에서 알려진 기억매체(storage medium)의 어느 다른 형태로도 상주할 수 있다. 예시된 기억 매체는, 프로세서가 기억 매체로부터 정보를 읽고, 정보를 기록할 수 있도록 프로세서와 결합된다. 다른 방법으로는, 기억 매체는 프로세서에 절대 필요하다. 프로세서와 기억 매체는 ASIC에 상주할 수 있다. ASIC는 이용자 단말(user terminal)에 상주할 수 있다. 다른 방법으로, 프로세서와 기억 매체는 개별적인 요소로서, 이용자 단말에 상주할 수 있다.
본 명세서에 개시된 방법은, 설명된 방법을 수행하기 위해, 하나 이상의 스텝 또는 동작을 포함한다. 방법 스텝 및/또는 동작은 본 발명의 범위로부터 벗어나지 않는 범위내에서 서로 교환될 수 있다. 바꿔 말하면, 실시예의 적절한 동작을 위해 스텝 또는 동작의 특정한 순서를 필요로 하지 않는한, 특정한 스텝 및/또는 동작의 순서 및/또는 사용은 본 발명의 범위를 벗어나지 않고 변경할 수 있다.
본 발명의 특정한 실시예와 애플리케이션이 도시되고 설명되었지만, 본 발명이 본 명세서에 개시된 정확한 구성 및 요소로 한정하지 않은 것으로 이해되는 것은 당연하다. 해당 기술분야에서 알려진 기술로, 명백한 여러 가지 수정, 변경 및 다양성은, 본 발명의 취지와 범위로부터 벗어나지 않고, 본 명세서에 개시된 본 발명의 배열, 조작 및 방법이나 시스템의 세부사항으로 이루어질 수 있다.
102: 네트워크 104: 호스트
106: 네트워킹 장치 108: 멀티캐스트 중계기
210: 서버 애플리케이션 212: UDP 서버 모듈
214: TCP/IP 접속모듈 216: 중계기의 리스트
218: 식별자 캐시 320: UDP 멀티캐스트 요구 패킷
322: 패킷 식별자 324: 네트워크 어드레스
326: 포트 328: 다른 정보

Claims (19)

  1. 네트워크상에서 호스트 컴퓨터 시스템의 멀티캐스트 중계기(multicast repeater)에 의해 실행되는, UDP(User Datagram Protocol)멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법으로서,
    발견된 하나 이상의 다른 멀티캐스트 중계기에 대한 정보를 유지하는 단계, 각 멀티캐스트 중계기는 UDP 멀티캐스트 어드레싱(UDP multicast addressing)을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치(networking device)에 의해 호스트를 갖는 네트워크로부터 분리된 각각의 네트워크에 배치되고; 또한
    멀티캐스트를 통해, UDP 멀티캐스트 요구 패킷(UDP multicast request packet)이 수신되는 각 시기(time)에 있어서,
    상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송(forward)했는지 안 했는지를 판단하는 단계;
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송한 경우, 상기 UDP 멀티캐스트 요구 패킷을 무시하는 단계; 및
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 발견된 상기 하나 이상의 다른 멀티캐스트 중계기로 상기 UDP 멀티캐스트 요구 패킷을 송신하는 단계를 포함하며,
    UDP 멀티캐스트 응답 패킷(UDP multicast response packet)이 수신될 때, 대응하는 UDP 멀티캐스트 요구 패킷이 상기 네트워크상에서 발생되었는지 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  2. 네트워크상에서 호스트 컴퓨터 시스템의 멀티캐스트 중계기(multicast repeater)에 의해 실행되는, UDP(User Datagram Protocol)멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법으로서,
    발견된 하나 이상의 다른 멀티캐스트 중계기에 대한 정보를 유지하는 단계, 각 멀티캐스트 중계기는 UDP 멀티캐스트 어드레싱(UDP multicast addressing)을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치(networking device)에 의해 호스트를 갖는 네트워크로부터 분리된 각각의 네트워크에 배치되고; 또한
    멀티캐스트를 통해, UDP 멀티캐스트 요구 패킷(UDP multicast request packet)이 수신되는 각 시기(time)에 있어서,
    상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송(forward)했는지 안 했는지를 판단하는 단계;
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송한 경우, 상기 UDP 멀티캐스트 요구 패킷을 무시하는 단계; 및
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 발견된 상기 하나 이상의 다른 멀티캐스트 중계기로 상기 UDP 멀티캐스트 요구 패킷을 송신하는 단계를 포함하며,
    상기 멀티캐스트 중계기가 이전에 전송한 어떤 UDP 멀티캐스트 요구 패킷에도 대응하지 않는 어떤 수신된 UDP 멀티캐스트 응답 패킷도 무시하는 단계를 더 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 UDP 멀티캐스트 요구 패킷은, 발견된 상기 하나 이상의 다른 멀티캐스트 중계기로 TCP/IP를 통해 송신되는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 하나 이상의 다른 멀티캐스트 중계기로 상기 UDP 멀티캐스트 요구 패킷을 송신하는 단계 전에, 래퍼 프로토콜(wrapper protocol)에 따라 상기 UDP 멀티캐스트 요구 패킷의 데이터를 캡슐화하는 단계를 더 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  5. 제1항 또는 제2항에 있어서,
    전송된 UDP 멀티캐스트 요구 패킷이 다른 네트워크상의 다른 멀티캐스트 중계기로부터 수신될 때, 상기 멀티캐스트 중계기의 네트워크상의 멀티캐스트를 통해 상기 전송된 UDP 멀티캐스트 요구 패킷을 송신하는 단계를 더 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 전송된 UDP 멀티캐스트 요구 패킷이 수신될 때, 상기 전송된 UDP 멀티캐스트 요구 패킷의 데이터는 래퍼 프로토콜(wrapper protocol)에 따라 캡슐화되며, 캡슐화된 데이터를 얻기 위해 상기 전송된 UDP 멀티캐스트 요구 패킷을 개봉하는 단계를 더 포함하는 것을 특징으로 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송했는지 안 했는지를 판단하는 단계는,
    상기 UDP 멀티캐스트 요구 패킷으로부터 전체적으로 고유한 패킷 식별자 (packet identifier)를 추출하는 단계; 및
    식별자 캐시(identifier cache) 내에서 상기 패킷 식별자를 검색하는 단계를 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  8. 제 7 항에 있어서,
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 상기 패킷 식별자를 상기 식별자 캐시에 기록하는 단계를 더 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  9. 제 8 항에 있어서,
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 상기 UDP 멀티캐스트 요구 패킷이 상기 식별자 캐시 내에 발생된 네트워크 어드레스(network address)와 포트(port)를 기록하는 단계를 더 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  10. 제1항 또는 제2항에 있어서,
    UDP 서버가 수신한 어떤 UDP 멀티캐스트 패킷도 수신하기 위해, 상기 호스트 컴퓨터 시스템에서 상기 UDP 서버를 등록하는 단계를 더 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  11. 제 1 항에 있어서,
    만일 상기 대응하는 UDP 멀티캐스트 요구 패킷이 상기 네트워크상에서 발생된 경우,
    상기 대응하는 UDP 멀티캐스트 요구 패킷을 위해, 발신 애플리케이션(originating application)을 식별하는 단계; 및,
    상기 UDP 멀티캐스트 응답 패킷을 상기 발신 애플리케이션에 송신하는 단계를 더 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  12. 제 11 항에 있어서,
    상기 UDP 멀티캐스트 응답 패킷은, UDP 유니캐스트 어드레싱(UDP unicast addressing)을 이용하여, 상기 발신 애플리케이션에 송신되는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  13. 제 11 항에 있어서,
    상기 발신 애플리케이션을 식별하는 단계는,
    상기 UDP 멀티캐스트 응답 패킷으로부터 전체적으로 고유한 패킷 식별자를 추출하는 단계;
    식별자 캐시 내의 발신 호스트(originating host)의 네트워크 어드레스와, 발신 애플리케이션의 포트를 조사하기 위해 상기 패킷 식별자를 사용하는 단계를 포함하는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  14. 제 1 항에 있어서,
    상기 네트워킹 장치(networking device)는, 라우터(router)와 방화벽 (firewall)으로 이루어진 그룹으로부터 선택되는 것을 특징으로 하는 UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법.
  15. UDP 멀티캐스트 트래픽(UDP multicast traffic)을 위해 네트워크 브리지(network bridge)를 제공하기 위한 방법을 실행하도록 구성되는 호스트 컴퓨터 시스템으로서,
    프로세서;
    상기 프로세서와 전자통신하는 메모리;
    상기 메모리에 저장된 멀티캐스트 중계기(multicast repeater)를 구비하며,
    상기 멀티캐스트 중계기는,
    발견된 하나 이상의 다른 멀티캐스트 중계기에 대한 정보를 유지하고, 각 멀티캐스트 중계기는 UDP 멀티캐스트 어드레싱(addressing)을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치(networking device)에 의해, 호스트(host)를 갖는 네트워크로부터 분리된 각각의 네트워크에 배치되며; 또한,
    멀티캐스트(multicast)를 통해 UDP 멀티캐스트 요구 패킷(UDP multicast request packet)이 수신되는 각 시기(time)에 있어서,
    상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송했는지 안했는지를 판단하고;
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송한 경우, 상기 UDP 멀티캐스트 요구 패킷을 무시하며;
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 발견된 상기 하나 이상의 다른 멀티캐스트 중계기로 상기 UDP 멀티캐스트 요구 패킷을 송신하는 것을 포함하고,
    UDP 멀티캐스트 응답 패킷(UDP multicast response packet)이 수신될 때, 대응하는 UDP 멀티캐스트 요구 패킷이 상기 네트워크상에서 발생되었는지 여부를 판단하는 것을 더 포함하는 것을 특징으로 하는 호스트 컴퓨터 시스템.
  16. UDP 멀티캐스트 트래픽(UDP multicast traffic)을 위해 네트워크 브리지 (network bridge)를 제공하기 위한 방법을 실행하도록 구성되는 호스트 컴퓨터 시스템으로서,
    프로세서;
    상기 프로세서와 전자통신하는 메모리;
    상기 메모리에 저장된 멀티캐스트 중계기(multicast repeater)를 구비하며,
    상기 멀티캐스트 중계기는,
    발견된 하나 이상의 다른 멀티캐스트 중계기에 대한 정보를 유지하고, 각 멀티캐스트 중계기는 UDP 멀티캐스트 어드레싱(addressing)을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치(networking device)에 의해, 호스트(host)를 갖는 네트워크로부터 분리된 각각의 네트워크에 배치되며; 또한,
    멀티캐스트(multicast)를 통해 UDP 멀티캐스트 요구 패킷(UDP multicast request packet)이 수신되는 각 시기(time)에 있어서,
    상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송했는지 안했는지를 판단하고;
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송한 경우, 상기 UDP 멀티캐스트 요구 패킷을 무시하며;
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 발견된 상기 하나 이상의 다른 멀티캐스트 중계기로 상기 UDP 멀티캐스트 요구 패킷을 송신하는 것을 포함하고,
    상기 멀티캐스트 중계기가 이전에 전송한 어떤 UDP 멀티캐스트 요구 패킷에도 대응하지 않는 어떤 수신된 UDP 멀티캐스트 응답 패킷도 무시하는 것을 더 포함하는 것을 특징으로 하는 호스트 컴퓨터 시스템.
  17. 제 15항 또는 제 16 항에 있어서,
    상기 메모리에 저장되고, 상기 멀티캐스트 중계기를 구비한 서버 애플리케이션;
    상기 호스트 컴퓨터 시스템상에서 멀티캐스트 어드레스와 포트를 감시(listen)하도록 구성되는, 상기 서버 애플리케이션 내의 UDP 서버; 및
    상기 하나 이상의 다른 멀티캐스트 중계기에 TCP/IP 접속을 확립하도록 구성되는, 서버 애플리케이션 내의 TCP/IP 접속 모듈을 더 구비하는 것을 특징으로 하는 호스트 컴퓨터 시스템.
  18. UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법을 실행하기 위해 실행가능한 명령(instruction)을 포함하는 컴퓨터로 판독가능한 매체로서,
    상기 방법은,
    발견된 하나 이상의 다른 멀티캐스트 중계기에 대한 정보를 유지하고, 각 멀티캐스트 중계기는 UDP 멀티캐스트 어드레싱을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치(networking device)에 의해, 호스트를 가지는 네트워크로부터 분리된 각각의 네트워크에 배치되고,
    멀티캐스트를 이용하여, UDP 멀티캐스트 요구 패킷이 수신되는 각 시기(time)에 있어서,
    상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송했는지 안 했는지를 판단하고,
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송한 경우, 상기 UDP 멀티캐스트 요구 패킷을 무시하며,
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 발견된 상기 하나 이상의 다른 멀티캐스트 중계기로 상기 UDP 멀티캐스트 요구 패킷을 송신하는 것을 포함하고,
    UDP 멀티캐스트 응답 패킷(UDP multicast response packet)이 수신될 때, 대응하는 UDP 멀티캐스트 요구 패킷이 상기 네트워크상에서 발생되었는지 여부를 판단하는 것을 더 포함하는 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
  19. UDP 멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 방법을 실행하기 위해 실행가능한 명령(instruction)을 포함하는 컴퓨터로 판독가능한 매체로서,
    상기 방법은,
    발견된 하나 이상의 다른 멀티캐스트 중계기에 대한 정보를 유지하고, 각 멀티캐스트 중계기는 UDP 멀티캐스트 어드레싱을 라우팅하도록 구성되지 않는 적어도 하나의 네트워킹 장치(networking device)에 의해, 호스트를 가지는 네트워크로부터 분리된 각각의 네트워크에 배치되고,
    멀티캐스트를 이용하여, UDP 멀티캐스트 요구 패킷이 수신되는 각 시기(time)에 있어서,
    상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송했는지 안 했는지를 판단하고,
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송한 경우, 상기 UDP 멀티캐스트 요구 패킷을 무시하며,
    만일 상기 멀티캐스트 중계기가 이전에 상기 UDP 멀티캐스트 요구 패킷을 전송하지 않은 경우, 발견된 상기 하나 이상의 다른 멀티캐스트 중계기로 상기 UDP 멀티캐스트 요구 패킷을 송신하는 것을 포함하고,
    상기 멀티캐스트 중계기가 이전에 전송한 어떤 UDP 멀티캐스트 요구 패킷에도 대응하지 않는 어떤 수신된 UDP 멀티캐스트 응답 패킷도 무시하는 것을 더 포함하는 것을 특징으로 하는 컴퓨터로 판독가능한 매체.
KR1020107007757A 2005-12-20 2005-12-27 Udp멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 시스템 및 방법 KR100981489B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/313,282 2005-12-20
US11/313,282 US7529241B2 (en) 2005-12-20 2005-12-20 Systems and methods for providing a network bridge for UDP multicast traffic

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020087014113A Division KR101001057B1 (ko) 2005-12-20 2005-12-27 Udp멀티캐스트 트래픽을 위해 네트워크 브리지를제공하기 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20100055522A KR20100055522A (ko) 2010-05-26
KR100981489B1 true KR100981489B1 (ko) 2010-09-10

Family

ID=38173355

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020087014113A KR101001057B1 (ko) 2005-12-20 2005-12-27 Udp멀티캐스트 트래픽을 위해 네트워크 브리지를제공하기 위한 시스템 및 방법
KR1020107007757A KR100981489B1 (ko) 2005-12-20 2005-12-27 Udp멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020087014113A KR101001057B1 (ko) 2005-12-20 2005-12-27 Udp멀티캐스트 트래픽을 위해 네트워크 브리지를제공하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US7529241B2 (ko)
EP (1) EP1964312B1 (ko)
JP (1) JP4029912B1 (ko)
KR (2) KR101001057B1 (ko)
CN (1) CN101099334B (ko)
RU (1) RU2407183C2 (ko)
WO (1) WO2007072577A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9625455D0 (en) * 1996-12-07 1997-01-22 Glaxo Group Ltd Process for resolving mixtures of carbocyclic steroisomers
WO2007144682A1 (en) * 2006-06-14 2007-12-21 Nokia Corporation Method and device for wireless transmission of internet protocol tv
CN101682477A (zh) * 2007-02-09 2010-03-24 澳大利亚克林普斯有限公司 选择性通信网络功能
CN101682476B (zh) * 2007-02-09 2014-05-14 澳大利亚克林普斯有限公司 无线网络通信系统
CN101267396B (zh) * 2008-03-19 2011-01-05 北京星网锐捷网络技术有限公司 一种组播路由下游接口列表实现装置和方法
US8676914B2 (en) * 2010-03-04 2014-03-18 Canon Kabushiki Kaisha Synchronizing services across network nodes
CN102889665B (zh) * 2011-07-22 2014-11-26 珠海格力电器股份有限公司 空调远程监控系统及监控方法
US8832342B2 (en) 2011-10-28 2014-09-09 Lg Cns Co., Ltd. Traffic communication module and method of forming the same
US8733645B2 (en) 2011-10-28 2014-05-27 Lg Cns Co., Ltd. Unified transportation payment system
US9800423B1 (en) 2012-05-14 2017-10-24 Crimson Corporation Determining the status of a node based on a distributed system
US9712559B2 (en) * 2012-05-31 2017-07-18 Red Hat, Inc. Identifying frames
FR3011152B1 (fr) * 2013-09-23 2015-10-16 Sagemcom Broadband Sas Dispositif et procede de gestion d'abonnement a des transmissions point-a-multipoint
US10038566B1 (en) * 2013-10-23 2018-07-31 Ivanti, Inc. Systems and methods for multicast message routing
US10834150B1 (en) 2014-12-26 2020-11-10 Ivanti, Inc. System and methods for self-organizing multicast
CN104639966A (zh) * 2015-01-29 2015-05-20 小米科技有限责任公司 遥控方法及装置
KR101600311B1 (ko) 2015-08-28 2016-03-07 (주)아진산업 연속식 부품 공급장치
CN105553986B (zh) * 2015-12-18 2018-12-28 中国科学院信息工程研究所 一种基于udp的多寻址有限实时节点通信方法
US10116526B2 (en) 2016-05-13 2018-10-30 Ivanti, Inc. Systems and methods for providing a self-electing service
CN108769072B (zh) * 2018-07-03 2021-11-09 湖北文理学院 建立连接的方法、装置以及通信系统
CN109347817B (zh) * 2018-10-12 2021-06-25 厦门安胜网络科技有限公司 一种网络安全重定向的方法及装置
CN110049010B (zh) * 2019-03-12 2022-03-08 广州市保伦电子有限公司 一种分布式平台终端设备连接服务器的方法及系统
CN114244638B (zh) * 2021-11-03 2022-05-10 深圳华锐金融技术股份有限公司 组播网络通信方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001177523A (ja) * 1999-12-16 2001-06-29 Mitsubishi Electric Corp マルチキャスト通信方法
US20050100016A1 (en) * 1995-01-19 2005-05-12 The Fantastic Corporation System and method for sending packets over a computer network

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1068708B1 (en) * 1998-03-16 2012-03-07 Schneider Automation Inc. Communication system for a control system over ethernet and ip networks
US6542496B1 (en) * 1998-06-30 2003-04-01 Hitachi, Ltd. Packet switching method and apparatus thereof
US6700871B1 (en) * 1999-05-04 2004-03-02 3Com Corporation Increased throughput across data network interface by dropping redundant packets
US6707796B1 (en) * 1999-05-07 2004-03-16 Nortel Networks Limited System device and method for reducing forwarding states in a communication system
US6891830B2 (en) * 2001-01-26 2005-05-10 Placeware, Inc. Method and apparatus for automatically determining an appropriate transmission method in a network
FI20010511A0 (fi) * 2001-03-14 2001-03-14 Stonesoft Oy Datapakettien käsittely
JP2003032287A (ja) * 2001-07-16 2003-01-31 Furukawa Electric Co Ltd:The ネットワーク間接続方法、その装置およびその装置を用いたシステム
US6976205B1 (en) * 2001-09-21 2005-12-13 Syrus Ziai Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
US7167473B1 (en) * 2002-03-29 2007-01-23 Genband Inc. Method for device addressing using SNMP community string-based routing
US7289505B2 (en) * 2002-06-04 2007-10-30 Lucent Technologies Inc. Efficient reverse path forwarding check mechanism
JP4382528B2 (ja) * 2004-02-27 2009-12-16 富士通株式会社 マルチキャストネットワーク装置,マルチキャストネットワークシステムおよびマルチキャスト方法
US9160571B2 (en) * 2004-03-11 2015-10-13 Hewlett-Packard Development Company, L.P. Requesting a service from a multicast network
US7423986B2 (en) * 2004-03-26 2008-09-09 Cisco Technology, Inc. Providing a multicast service in a communication network
US7512085B2 (en) * 2004-06-24 2009-03-31 International Business Machines Corporation Method for multicast tunneling for mobile devices
US7830826B2 (en) * 2004-07-01 2010-11-09 Nokia Corporation Multicast relay for mobile devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050100016A1 (en) * 1995-01-19 2005-05-12 The Fantastic Corporation System and method for sending packets over a computer network
JP2001177523A (ja) * 1999-12-16 2001-06-29 Mitsubishi Electric Corp マルチキャスト通信方法

Also Published As

Publication number Publication date
RU2008124975A (ru) 2009-12-27
EP1964312B1 (en) 2014-04-16
CN101099334A (zh) 2008-01-02
WO2007072577A1 (en) 2007-06-28
KR101001057B1 (ko) 2010-12-14
US7529241B2 (en) 2009-05-05
CN101099334B (zh) 2011-12-07
RU2407183C2 (ru) 2010-12-20
US20070140213A1 (en) 2007-06-21
JP2008511188A (ja) 2008-04-10
JP4029912B1 (ja) 2008-01-09
KR20100055522A (ko) 2010-05-26
KR20080077979A (ko) 2008-08-26
EP1964312A1 (en) 2008-09-03

Similar Documents

Publication Publication Date Title
KR100981489B1 (ko) Udp멀티캐스트 트래픽을 위해 네트워크 브리지를 제공하기 위한 시스템 및 방법
RU2399086C2 (ru) Системы и способы обнаружения и взаимодействия со службами
JP4612619B2 (ja) デバイス対応付け設定方法、自動デバイス設定システム、記録媒体
EP1961155B1 (en) Systems and methods for providing a selective multicast proxy on a computer network
JP4412405B2 (ja) ネットワーク内通信用転送処理を選択するためのシステムと方法
WO2007069342A1 (en) Systems and methods for controlling embedded devices using device style sheets
US7894606B2 (en) Systems and methods for facilitating secure key distribution to an embedded device
KR100970533B1 (ko) 피투피 네트워크 내에서의 트래픽 관리 시스템 및 방법
RU2399161C2 (ru) Системы и способы обработки перехвата управления при отказе в распределенной среде с маршрутизацией
US10218794B2 (en) System and method for decision-making based on source addresses
AU2019208161A1 (en) A system for configuring a control application of a mesh network of connected devices

Legal Events

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

Payment date: 20130819

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee