CN101099334B - 为udp组播业务提供网络桥的系统和方法 - Google Patents

为udp组播业务提供网络桥的系统和方法 Download PDF

Info

Publication number
CN101099334B
CN101099334B CN2005800243981A CN200580024398A CN101099334B CN 101099334 B CN101099334 B CN 101099334B CN 2005800243981 A CN2005800243981 A CN 2005800243981A CN 200580024398 A CN200580024398 A CN 200580024398A CN 101099334 B CN101099334 B CN 101099334B
Authority
CN
China
Prior art keywords
multicast
udp
repeater
request packet
packet
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN2005800243981A
Other languages
English (en)
Other versions
CN101099334A (zh
Inventor
托马斯·米利根
布赖恩特·伊斯特汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works Ltd
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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Publication of CN101099334A publication Critical patent/CN101099334A/zh
Application granted granted Critical
Publication of CN101099334B publication Critical patent/CN101099334B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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组播请求包,则将该UDP组播请求包通过TCP/IP发送到所发现的一个或多个其它组播转发器。

Description

为UDP组播业务提供网络桥的系统和方法
技术领域
本发明主要涉及计算机和计算机相关技术。更具体地,本发明涉及用于提供UDP组播业务(UDP multicast traffic)的网络桥(network bridge)的系统和方法。 
背景技术
计算机和通信技术持续快速发展。实际上,计算机和通信技术涉及人们日常生活的很多方面。例如,现今消费者正在使用的很多装置,在装置的内部具有小型计算机。这些小型计算机具有不同的大小和精密度。这些小型计算机包括从一个微型控制器到全功能的完整计算机系统的每一种。例如,这些小型计算机可以是例如微型控制器的单片计算机、例如控制器的单板型计算机、例如IBM-PC兼容机的典型台式计算机等。 
计算机一般具有一个或多个在计算机核心的处理器。处理器通常与不同的外部输入和输出相互连接,用来管理特定计算机或装置。例如,可以将自动调温器中的处理器连接到用于选择温度设置的按钮、连接到暖炉或空调以改变温度、连接到温度传感器以读取当前温度并将其显示在显示器上。 
很多电器、装置等包括一个或多个小型计算机。例如,自动调温器、暖炉、空调系统、电冰箱、电话、打字机、汽车、自动售货机以及很多不同种类的工业设备,现在一般在其内部具有小型计算机或处理器。计算机软件使这些计算机的处理器运行并指示处理器如何执行某个任务。例如,在自动调温器上运行的计算机软件可以在达到特定温度时使空调停止运行,或可以在需要时打开加热器。 
通常将作为装置、电器、工具等的一部分的这些类型的小型计算机称为嵌入式装置或嵌入式系统。(这里,可互换地使用术语“嵌入式装置”和“嵌入式系统”。)嵌入式系统通常是指作为更大的系统的一部分的计算机硬件和软件。嵌入式系统可以不具有例如键盘、鼠标和/或监视器的典型输入、输出装置。通常,在每个嵌入式系统的核心,是一个或多个处理器。 
照明系统可以包含嵌入式系统。嵌入式系统可以用于监视并控制照明系统的效果。例如,嵌入式系统可以提供调暗照明系统内的灯的亮度的控制。作为选择,嵌入式系统可以提供增加灯的亮度的控制。嵌入式系统可以对照明系统内的各灯提供启动特定的照明模式的控制。可以将嵌入式系统连接到照明系统内的各开关。这些嵌入式系统可以指示开关对各灯或整个照明系统通电或断电。类似地,可以将嵌入式系统连接到照明系统内的各灯。通过嵌入式系统可以控制每一个独立的灯的亮度或电源状态。 
安全系统也可以包含嵌入式系统。嵌入式系统可以用来控制组成安全系统的各安全传感器。例如,嵌入式系统可以提供对每个安全传感器自动通电的控制。可以将嵌入式系统连接到各安全传感器中的每一个。例如,可以将嵌入式系统连接到运动传感器。如果检测到运动,则嵌入式系统可以自动对各运动传感器通电,并提供启动运动传感器的控制。启动运动传感器可以包括提供对位于运动传感器内的LED通电、从运动传感器的输出端口输出警报等指令。嵌入式系统还可以连接到监视门的传感器。当门被打开或关闭时,嵌入式系统可以对监视门的传感器提供指令使其启动。类似地,可以将嵌入式系统连接到监视窗户的传感器。如果窗户被打开或关闭,则嵌入式系统可以提供启动监视窗户的传感器的指令。 
一些嵌入式系统还可以用来控制例如蜂窝式电话的无线产 品。嵌入式系统可以提供对蜂窝式电话的LED显示器通电的指令。嵌入式系统还可以启动蜂窝式电话内的音频扬声器从而向用户提供关于蜂窝式电话的音频通知。 
家用电器也可以包含嵌入式系统。家用电器可以包括一般在传统厨房中使用的电器,例如,炉、电冰箱、微波炉等。家用电器还可以包括与用户的健康和舒适相关的电器。例如,按摩躺椅可以包含嵌入式系统。嵌入式系统可以根据用户的偏好提供使椅子的背部自动倾斜的指令。嵌入式系统还可以根据用户的偏好提供启动在椅子内引起躺椅内的振动的振动组件的指令。 
在家庭中通常备有的附加产品也可以包含嵌入式系统。例如,可以将嵌入式系统用在厕所内以控制用来补充储水箱中的水的水平位置。可以将嵌入式系统用在喷射式浴缸内以控制空气的流出。 
嵌入式系统可以由于各种原因而与其他电子装置建立连接。例如,机构可能希望使关于其嵌入式系统的数据对某些远程客户可用。嵌入式系统也可以允许这些远程客户控制该嵌入式系统的行为。例如,可以远程地调整通过定标(calibration)所发现的问题,而不用派人到嵌入式系统所在的位置。作为选择,或另外,嵌入式系统可以允许以与在本地改变其行为大致相同的方式来远程地改变嵌入式系统的行为。一个例子是远程地锁门。这种远程控制不限于本地可用的功能,在很多情况下可以超出本地的能力。一个例子是没有本地接口但是允许远程控制其行为的传感器。 
为了与其它电子装置通信,嵌入式系统可以连接到计算机网络。有时,希望嵌入式系统将消息发送到位于一个或多个计算机网络中的一组电子装置。在接收组在数量上很大但是与网络中装置的总数相比却很小的情况下,通常使用组播路由。组播是指向网络上多于一个的目的地同时发送消息的处理。组播与广播的不同之处在于,组播意味着向网络内的特定组发送,而广播意指向网络上的每个成员发送。采用组播技术,一般从数据源通过网络主干一次发送大量数据,并在接近于目的地的交换点处翻倍或者进行分配。 
可以结合组播路由使用用户数据报协议(UDP,UserDatagram Protocol)。通常将其称为UDP组播。UDP为应用程序提供发送打包的IP数据报且不需要建立连接即可发送该IP数据报的方法。 
当嵌入式系统尝试通过UDP组播向位于不同网络中的电子装置发送消息时,可能产生问题。可以限制计算机网络,以隔离某些网络业务并允许有限的计算机组进行通信。这些由路由器和防火墙等网络化装置施加的限制旨在限制UDP组播寻址的使用。如果由未配置为路由组播寻址的网络化装置来分离两个网络,则很难对在一个独立网络上产生的、要传输到另一个独立网络上的计算机的请求进行组播。因此,需要用于提供UDP组播业务的网络桥的机制,即,用于使组播包从一个网络跨过未配置为路由组播寻址的网络化装置到达另一个网络的机制。 
发明内容
公开了为UDP组播业务提供网络桥的系统和方法。在示例性实施例中,网络上的主机计算机系统上的组播转发器保持已被发现的其它网络中的一个或多个其它组播转发器的信息。一个或多个其它组播转发器中的每一个位于由至少一个未被配置为路由UDP组播寻址的网络化装置从包含主机的网络分离开的网络内。每次通过组播接收到UDP组播请求包时,组播转发器从该UDP组播请求包中提取全局唯一的包标识符,并通过在标识符高速缓存器中搜索该包标识符,判断该组播转发器先前是否已传送了该DP组播请求包。如果组播转发器先前已传送了该UDP组播请求包, 则忽略该UDP组播请求包。如果组播转发器先前没有传送过该UDP组播请求包,则组播转发器将该UDP组播请求包发送到已被发现的一个或多个其它组播转发器,并将该包标识符记录到该标识符高速缓存器中。 
可以通过连接(例如,TCP/IP连接)将UDP组播请求包发送到已被发现的其它转发器。在将UDP组播请求包发送到其它组播转发器之前,组播转发器可以根据打包协议将UDP组播请求包的数据打包。 
在部分实施例中,组播转发器还可以将产生UDP组播请求包的网络地址和端口记录在标识符高速缓存器中。 
组播转发器可以接收从不同网络上的另一个组播转发器传送的UDP组播请求包。如果根据打包协议将所传送的UDP组播请求包的数据打包,则组播转发器可以将所传送的UDP组播请求包解包以获取打包的数据。组播转发器可以在该组播转发器的网络上通过组播发送所传送的UDP组播请求包。 
组播转发器可以接收UDP组播应答包。相对应地,组播转发器可以判断是否在网络上产生了相应的UDP组播请求包。如果在网络上产生了相应的UDP组播请求包,则组播转发器可以识别相应的UDP组播请求包的发端应用程序,将UDP组播应答包发送到该发端应用程序。 
附图说明
从以下结合附图的说明和所附权利要求,本发明的示例性实施例将变得更充分明显。应当理解,这些附图仅用于说明示例性实施例,因此,不视为限制本发明的范围,通过使用下列附图,更具体和详细地说明本发明的示例性实施例,其中: 
图1示出根据实施例的用于提供UDP组播业务的网络桥的系统; 
图2示出根据实施例的在包含组播转发器(repeater)的主机上设置的软件组件和其它数据; 
图3示出根据实施例的UDP组播请求包; 
图4示出根据实施例的当组播转发器通过组播接收到来自其网络中的另一个主机的UDP组播请求包时,组播转发器的操作; 
图5示出根据实施例的当组播转发器接收到在另一个网络上产生的、通过TCP/IP传送到该组播转发器的UDP组播请求包时,组播转发器的操作; 
图6示出根据实施例的当组播转发器接收到UDP组播应答包时,组播转发器的操作; 
图7~8示出说明根据实施例的在不同网络中的几个组播转发器的操作的例子; 
图9示出实现本系统和方法的示例性照明系统; 
图10示出实现本系统和方法的示例性安全系统; 
图11示出实现本系统和方法的示例性家庭控制器系统;以及 
图12是示出一般在计算机系统中使用的主要硬件组件的框图。 
具体实施方式
现在参考附图说明本发明的各种实施例,附图中相同的附图标记表示相同或功能类似的元件。这里,如在附图中一般性地说明并示出的,可以以多种不同的结构来配置和设计本发明的实施例。因此,如附图所示,以下对本发明的几个示例性实施例的更详细的说明不像权利要求那样旨在限制本发明的范围,而仅仅是本发明实施例的代表。 
在这里专用的词“示例性”意为“用作例子、实施例或图示”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。虽然在附图中呈现出实施例的多种方面,但是除非特别指出,不必按比例绘制附图。 
可以作为计算机软件、电子硬件或二者的组合来实现这里所公开的实施例的很多特征。为了清楚地说明硬件和软件的这种可互换性,一般按照各种组件的功能对其进行说明。作为硬件还是软件来实现这种功能取决于具体的应用和施加在整个系统上的设计限制。本领域技术人员可以针对每个具体的应用以不同的方式来实现所述功能,但是这种实现决定不应被解释为脱离本发明的范围。 
在作为计算机软件实现所述功能的情况下,这种软件可以包括位于存储装置内和/或作为电子信号通过系统总线或网络发送的任何一种计算机指令或计算机可执行代码。实现与这里所说明的组件相关的功能的软件可以包括单个指令或很多指令,可以通过几个不同的代码段、在不同的程序中、在几个存储装置之间分配该软件。 
图1示出根据实施例的用于提供UDP组播业务的网络桥的系统100。系统100包括多个计算机网络102。在所示实施例中,设置两个网络102,即网络A 102a和网络B 102b。每一个网络102包括称为主机104的多个互相连接的计算机系统。 
由至少一个未配置为路由组播寻址的网络化装置106分离网络102。例如,可以由路由器、防火墙等分离网络102。 
每一个网络102至少包括一个包含组播转发器108的主机104。组播转发器108一般是可以将在一个独立网络(例如,网络A 102a)上产生的组播请求转发到另一个独立网络(例如,网络B 102b)上的主机104并由该主机104应答该组播请求的网络桥。为 了达到该目的,将每一个组播转发器108配置为将接收到的每一个组播请求传送到全部已知的其它转发器108(除非该转发器108已处理了该组播请求;下面对此进行更详细的讨论)。每一个转发器108具有其自己的全局唯一标识符。该标识符可以用于向转发器108传送组播请求。组播转发器108便于进行UDP组播数据传播的应用程序层控制,从而将网络业务限制于在所管理和保护的网络102的限制内所希望的应用程序的需要。 
虽然在图1中示出了两个网络102,但是可以在由未配置为路由组播寻址的网络化装置106连接多于两个的网络102的系统中实现实施例。在该实施例中,每一个网络102中的至少一个主机104可以包括组播转发器108。此外,虽然图1中所示的两个网络102仅包括单个转发器108,在可选实施例中,可以在单个网络102内设置多个转发器108。 
图2示出在包含组播转发器108的主机104上设置的软件组件和其它数据。如图所示,组播转发器108可以是在主机104上运行的服务器应用程序210的一部分。服务器应用程序210可以包括UDP服务器模块212。UDP服务器模块212可以用于侦听UDP组播包的特定组播地址和端口。在部分实施例中,组播转发器108与UDP服务器模块212一起注册,UDP服务器模块212将接收到的任何UDP组播包传送到组播转发器108进行处理。 
服务器应用程序210还可以包括用于与其它网络102上的组播转发器108建立TCP/IP连接的TCP/IP连接模块214。当与另一个网络102建立TCP/IP连接时,自动发现位于该网络102上的任意组播转发器108,将其添加到所发现的转发器的列表216中。 
组播转发器保持标识符高速缓存器218。标识符高速缓存器218用于存储组播转发器108先前传送到其它转发器108的请求包的信息。 
图3示出根据实施例的UDP组播请求包320。在所示实施例中,所发送的每一个组播请求包320包括全局唯一的包标识符322。除了全局唯一包标识符322之外,所发送的每一个请求包320还表示发端主机104的网络地址324,以及在发端主机104上绑定发端应用程序的端口326。(发端应用程序(originating application)是最初发送请求包320的应用程序。发端主机104是发端应用程序在其上运行的主机104。)请求包320一般还包括其它信息328。 
图4示出当组播转发器108在步骤402通过组播接收到来自其网络102中的另一个主机104的UDP组播请求包320时,组播转发器108的操作。在步骤404,组播转发器108从在步骤402接收到的请求包320中提取包标识符322。 
在步骤406,组播转发器108在其标识符高速缓存器218中搜索包标识符322。如果在标识符高速缓存器218中已经存储有包标识符322,则这意味着组播转发器108已经处理了请求包320,在步骤408忽略请求包320以防止循环(loop)。然而,如果标识符高速缓存器218中不存在针对请求包320的项,则在步骤410组播转发器108将请求包320的包标识符322记录在标识符高速缓存器218中。在部分实施例中,标识符322仅在有限的时间内有效,该时间优选长到足以使用标识符高速缓存器218来检测循环。 
在步骤412,组播转发器108从在步骤402接收到的请求包320中提取发端主机104的网络地址324和绑定有发端应用程序的发端主机104上的端口326。在步骤414,组播转发器108将该信息记录在标识符高速缓存器218中。如果随后接收到对组播请求320的任何应答,则可以使用网络地址324和端口326将该应答返回到发端应用程序。下面对此进行更详细的说明。 
在步骤416,组播转发器108根据打包协议将包含包标识符322的请求包320的数据打包。在步骤418,组播转发器108使用 TCP/IP将打包的请求包320传送到发现的每一个转发器108(例如,传送到在所发现的转发器的列表216中标识出的每一个转发器108)。 
图5示出当组播转发器108在步骤502接收到在另一个网络102上产生的、通过TCP/IP传送到组播转发器108的UDP组播请求包320时,组播转发器108的操作。如上所述,当组播转发器108通过TCP/IP将请求包320传送到其它组播转发器108时,在发送之前根据打包协议将请求包320打包。因此,在步骤504,组播转发器108将打包的请求包320解包以获取打包的数据。在步骤506,组播转发器108在其网络102上通过组播发出请求包320。 
图6示出当组播转发器108在步骤602接收到来自另一个组播转发器108的UDP组播应答包时,组播转发器108的操作。在步骤604,组播转发器108从应答包中提取包标识符322。(在所示实施例中,包含在应答包内的包标识符322与相应请求包320的包标识符322相同。)在步骤606,组播转发器108在其标识符高速缓存器218中搜索在步骤604中提取的包标识符322。如果在标识符高速缓存器218中没有存储包标识符322,则这意味着组播转发器108没有传送对应于该应答包的请求包320。因此,在步骤608,组播转发器108忽略该应答包。 
如果包标识符322在标识符高速缓存器218中,则在步骤612组播转发器108识别出发端主机104的网络地址324和与发端应用程序相关联的端口326。这包含使用包标识符322在转发器108的标识符高速缓存器218中查询网络地址324和端口326。在步骤614,转发器108使用UDP单播寻址将应答发送到发端应用程序。 
转发器108可以用于仅传送组播请求。在部分实施例中,仅传送组播请求的转发器108不通告其本身是转发器,因此不能被其它转发器发现。这使得可以在网络102之间仅沿一个方向建立桥。 
图7~8示出说明根据实施例的在不同网络702中的几个组播转发器708的操作的例子。在所示例子中设置有两个网络702,即网络A702a和网络B702b。通过未配置为路由组播寻址的网络化装置(未示出)使不同的网络702互相连接。因此,使用传统的方法可能很难将在网络702中的一个上产生的组播请求发送到其它网络702中的任何一个的主机。 
为了解决这个问题,每一个网络702至少包括一个包含组播转发器708的主机704。网络A702a包括主机A704a和主机D704d。主机A704a包括组播转发器A708a。主机D704d包括组播转发器D708d。网络B702b包括主机B704b和主机C704c。主机B704b包括组播转发器B708b。主机C704c包括组播转发器C708c。在网络A702a上的主机A704a和网络B702b上的主机B704b之间,以及网络B702b上的主机C704c和网络A702a上的主机D704d之间建立TCP/IP连接。 
如图7所示,发端主机738上的发端应用程序730通过网络A702a上的组播发送UDP组播请求包720。组播转发器A708a接收请求包720。在传送请求包720之前,组播转发器A708a准备要通过TCP/IP传送的请求包720。具体地,组播转发器A708a将请求包720的数据打包,从而产生打包的请求包732。 
然后,组播转发器A708a通过TCP/IP将请求包720传送到其发现的其它组播转发器708。在所示例子中,假定组播转发器A708a发现了组播转发器B708b。因此,组播转发器A708a通过TCP/IP将打包的请求包732传送到组播转发器B708b。 
当组播转发器B 708b接收到打包的请求包732时,其将打包的请求包732解包以获取打包的数据,即请求包720本身。然后,组播转发器B708b通过组播在网络B702b上发出请求包720。 
当组播转发器C708c接收到请求包720时,其将请求包720传 送到其发现的其它组播转发器708。在所示例子中,假定组播转发器C708c发现了组播转发器D708d。因此,组播转发器C708c通过TCP/IP将打包的请求包732传送到组播转发器D708d。 
当组播转发器D708d接收到打包的请求包732时,其将打包的请求包732解包以获取打包的数据,即请求包720本身。然后,组播转发器D708d通过组播在网络A702a上发出请求包720。当组播转发器A708a再次接收到请求包720时,组播转发器A708a判断其是否已接收了请求包720。如上所述,可以通过从请求包720中提取包标识符(在图7中未示出)并在组播转发器A708a保持的标识符高速缓存器中搜索该包标识符(在图7中未示出)来进行该判断。当组播转发器A708a判断为其已接收并传送了请求包720时,组播转发器A708a简单地忽略请求包720。以这种方式,可以以非破坏性的方式检测并防止循环,即,即使检测到循环,也可以维持用于提供UDP组播业务的网络桥的机制。 
图8示出当主机C704c上的应用程序834应答组播请求720时,不同网络中的组播转发器708的操作。应用程序834通过单播在网络C702c上发出应答包836,组播转发器C708c接收应答包836。组播转发器C708c将应答包836打包,通过TCP/IP将打包的应答包837发送到网络A702a上的组播转发器A708a。如果存在多个组播转发器708通过TCP/IP连接到组播转发器C708c,则在组播转发器C708c不能确定哪个组播转发器708传送了请求720的情况下,可以将应答836返回到全部组播转发器708。如果组播转发器708接收到对其没有传送的请求720的应答836,则组播转发器708可以忽略该应答836。 
当组播转发器A708a接收到打包的应答包837时,组播转发器A708a将打包的应答包837解包以获取打包的数据(即应答包836本身)并检查包标识符。如果包标识符不在组播转发器A708a的高 速缓存器中,则忽略该应答包836。组播转发器A 708a使用其高速缓存器中的包标识符来识别发端主机738的网络地址和与发端应用程序730相关联的端口。然后,组播转发器A708a使用UDP单播寻址将应答包836发送到发端应用程序730。 
可以在若干情况下使用本系统和方法。图9示出实现本系统和方法的系统的一个实施例。图9是示出包括照明控制器系统908的照明系统900的一个实施例的框图。可以在家庭的各种房间中包含图9的照明系统900。如图所示,系统900包括房间A902、房间B904和房间C906。虽然在图9中示出了三个房间,但是可以在家庭、公寓或其它环境内的任意数量和类型的房间中实现系统900。 
照明控制器系统908可以监视并控制系统900内的附加嵌入式系统和组件。在一个实施例中,房间A902和房间B904各自包括开关组件914、918。开关组件914、918还可以包括次级嵌入式系统916、920。次级嵌入式系统916、920可以接收来自照明控制器系统908的指令。然后,次级嵌入式系统916、920可以执行这些指令。该指令可以包括对各种灯组件910、912、922和924通电和断电。该指令还可以包括调暗或者增加各种灯组件910、912、922和924的亮度。该指令还可以包括以各种模式设置灯组件910、912、922和924的亮度。次级嵌入式系统916、920便于照明控制器系统908监视并控制位于房间A902和房间B904中的每一个灯组件910、912、922和924。 
照明控制器系统908还可以直接向所示房间C906中包括次级嵌入式系统928的灯组件926提供指令。照明控制器系统908可以指示次级嵌入式系统928对独立的灯组件926断电或通电。类似地,从照明控制器系统908接收的指令可以包括调暗或增加独立的灯组件926的亮度。 
照明控制器系统908还可以监视系统900内的各灯组件930和 932,并直接向其提供指令。这些指令可以包括与前述指令类似的指令。 
图10是实现本发明的本系统和方法的系统的附加实施例。图10是示出安全系统1000的框图。在房间A1002、房间B1004和房间C 1006中实现所述实施例中的安全系统1000。这些房间可以在家庭或其它封闭环境的界限内。还可以在房间A、B和C、1002、1004和1006分别表示区域或边界的开放环境中实现系统1000。 
系统1000包括安全控制器系统1008。安全控制器系统1008监视系统1000内的各种组件并接收来自系统1000内的各种组件的信息。例如,运动传感器1014、1018可以包括次级嵌入式系统1016。当通过次级嵌入式系统1016、1020检测到运动时,运动传感器1014、1018可以监视运动的即时空间,并向安全控制器系统1008报警。安全控制器系统1008还可以向系统1000内的各种组件提供指令。例如,安全控制器系统1008可以向次级嵌入式系统1016提供指令以对窗户传感器1010、1022和门传感器1012、1024通电或断电。在一个实施例中,当窗户传感器1010、1022检测到窗户的移动时,次级嵌入式系统1016、1020通知安全控制器系统1008。类似地,当门传感器1012、1024检测到门的移动时,次级嵌入式系统1016、1020通知安全控制器系统1008。次级嵌入式系统1016、1020可以指示运动传感器1014、1018以启动位于运动传感器1014、1018内的LED(未示出)。 
安全控制器系统1008还可以监视系统1000内的各组件,并直接向其提供指令。例如,安全控制器系统1008可以监视运动传感器1030或窗户传感器1032,并向其提供通电或断电的指令。安全控制器系统1008还可以指示运动传感器1030和窗户传感器1032以启动传感器1030和1032内的LED(未示出)或音频警报通知。 
组成系统1000的每一个独立的组件还可以包含次级嵌入式系 统。例如,图10示出包含次级嵌入式系统1028的门传感器1026。安全控制器系统1008可以以与前述方式类似的方式监视次级嵌入式系统1028并向其提供指令。 
图11是示出家庭控制系统1100的一个实施例的框图。家庭控制系统1100包括便于监视例如照明系统900、安全系统1000等各种系统的家庭控制器1108。家庭控制系统1100使得用户可以通过一个或多个嵌入式系统来控制各种组件和系统。在一个实施例中,家庭控制器系统1108以与前面联系图9和10所述的相同的方式监视并提供信息。在所述实施例中,家庭控制器1108通过次级嵌入式系统1120向加热组件1124提供指令。加热组件1124可以包括在居住场所或办公室中一般备有的暖炉或其它加热装置。家庭控制器系统1108可以通过次级嵌入式系统1120提供对加热组件1124通电或断电的指令。 
类似地,家庭控制器1108可以监视家庭控制系统1100内例如制冷组件1130的组件,并直接向其提供指令。制冷组件1130可以包括在居住场所或办公室中一般备有的空调或其它制冷装置。中央家庭控制器1108可以指示制冷组件1130根据中央嵌入式系统1108所收集的温度读数通电或断电。家庭控制系统1100以与前面联系图9和10说明的方式类似的方式运行。 
图12是示出一般在计算机系统1201中使用的主要硬件组件的框图。所示组件可以位于相同的物理结构内或在独立的住宅或结构中。 
计算机系统1201包括处理器1203和存储器1205。处理器1203控制计算机系统1201的操作,可以作为微处理器、微型控制器、数字信号处理器(DSP,digital signal processor)或本领域中已知的其它装置来实现处理器1203。处理器1203一般基于存储在存储器1205内的程序指令进行逻辑和算数运算。 
如在这里所使用的,将术语存储器1205广义地定义为能够存储电子信息的任何电子组件,可以作为只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、RAM中的闪速存储装置、包含有处理器1203的板上存储器、EPROM存储器、E EPROM存储器、寄存器等来实现存储器1205。存储器1205一般存储程序指令和其它类型的数据。可以由处理器1203执行程序指令以实现这里所公开的部分或全部方法。 
计算机系统1201一般还包括用于与其它电子装置进行通信的一个或多个通信接口1207。通信接口1207可以基于有线通信技术、无线通信技术或者二者。不同类型的通信接口1207的例子包括串行端口、并行端口、通用串行总线(USB,Universal ServiceBus)、以太网适配器、IEEE 1394总线接口、小型计算机系统接口(SCSI)总线接口、红外(IR)通信端口、蓝牙无线通信适配器等。 
计算机系统1201一般还包括一个或多个输入装置1209以及一个或多个输出装置1211。不同类型的输入装置1209的例子包括键盘、鼠标、麦克风、远程控制装置、按钮、操纵杆、轨迹球、触摸垫、光笔等。不同类型的输出装置1211的例子包括扬声器、打印机等。一般在计算机系统中包含的一种具体类型的输出装置是显示装置1213。与这里所公开的实施例一起使用的显示装置1213可以使用任何合适的图像投影技术,例如阴极射线管(CRT,cathode ray tube)、液晶显示器(LCD,liquid crystal display)、发光二极管(LED)、等离子气体、电致发光等。还可以设置显示控制器1215,用于将存储在存储器1205中的数据转换为(适于)在显示装置1213上显示的文本、图形和/或运动图像。 
当然,图12仅示出计算机系统1201的一种可能的配置。可以使用其它各种结构和组件。 
可以使用各种不同的技术和方法表示信息和信号。例如,可 以用电压、电流、电磁波、磁场或粒子、光场或粒子或其任意组合来表示在以上说明中提到的数据、指令、命令、信息、信号、位、符号以及码片(chip)。 
可以作为电子硬件、计算机软件或二者的组合来实现结合这里所公开的实施例而说明的各种说明性的逻辑块、模块、电路和算法步骤。为了清楚地说明硬件和软件的这种可互换性,以上主要按照功能对各种说明性的组件、块、模块、电路和步骤进行了说明。作为硬件还是软件来实现这种功能取决于具体的应用和施加于整个系统上的设计限制。本领域技术人员可以对每一个具体的应用以不同的方式实现所述功能,但是应当理解为该实现决定没有脱离本发明的范围。 
可以使用设计用于执行这里所述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC,application specificintegrated  circuit)、场可编程门阵列信号(FPGA,fieldprogrammable gatearray signal)或其它可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件或其任意组合来实现或者执行结合这里所公开的实施例而说明的各种说明性的逻辑块、模块和电路。通用处理器可以是微处理器,但是可选择地,处理器可以是任何传统的处理器、控制器、微型控制器或者状态机。还可以作为计算装置的组合来实现处理器,例如,DSP和微处理器、多个微处理器、结合DSP核的一个或多个微处理器或者任何其它这种配置的组合。 
可以直接在硬件中、在由处理器执行的软件模块中或者在二者的组合中实现结合这里所公开的实施例而说明的方法或者算法的步骤。可以将软件模块存储于RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或者本领域已知的任何其它形式的存储介质中。 将示例性存储介质连接到处理器使得处理器可以从存储介质读取信息、向存储介质写入信息。可选择地,可以将存储介质集成到处理器。可以将处理器和存储介质置于ASIC中。可以将ASIC置于用户终端中。可选择地,可以将处理器和存储介质作为离散组件置于用户终端中。 
这里所公开的方法包括用于实现所述方法的一个或多个步骤或动作。方法步骤和/或动作可以彼此互换,而不脱离本发明的范围。换句话说,除非实施例的适当操作需要特定顺序的步骤或动作,可以改变特定步骤和/或动作的顺序和/或使用,而不脱离本发明的范围。 
虽然示出并说明了本发明的特定实施例和应用,但是应当理解,本发明不限于这里所公开的确定配置和组件。对本领域技术人员显而易见,可以在这里所公开的本发明的方法和系统的配置、操作和详细内容中进行各种变形、改变和变化,而不脱离本发明的精神和范围。 

Claims (16)

1.一种为UDP组播业务提供网络桥的方法,通过网络上的主机计算机系统上的组播转发器来实现所述方法,所述方法包括:
保持已被发现的一个或多个其它组播转发器的信息,每一个组播转发器位于由至少一个未被配置为路由UDP组播寻址的网络化装置从包含所述主机的网络分离开的分离网络上;以及
每次通过组播接收到UDP组播请求包时:
从所述UDP组播请求包中提取全局唯一的包标识符;
通过在标识符高速缓存器中搜索所述包标识符,判断所述组播转发器先前是否已传送了所述UDP组播请求包;
如果所述组播转发器先前已传送了所述UDP组播请求包,则忽略所述UDP组播请求包;以及
如果所述组播转发器先前没有传送过所述UDP组播请求包,则将所述UDP组播请求包传送到所述已被发现的一个或多个其它组播转发器,并将所述包标识符记录到所述标识符高速缓存器中。
2.根据权利要求1所述的方法,其特征在于,通过TCP/IP将所述UDP组播请求包发送到所述已被发现的一个或多个其它组播转发器。
3.根据权利要求1所述的方法,其特征在于,还包括:在将所述UDP组播请求包发送到所述一个或多个其它组播转发器之前,根据打包协议将所述UDP组播请求包的数据打包。
4.根据权利要求1所述的方法,其特征在于,还包括:每当接收到从不同网络上的另一个组播转发器传送的UDP组播请求包时,在所述组播转发器的网络上通过组播发送所传送的UDP组播请求包。
5.根据权利要求4所述的方法,其特征在于,当接收到所传送的UDP组播请求包时,根据打包协议将所传送的UDP组播请求 包的数据打包,所述方法还包括将所传送的UDP组播请求包解包以获取打包的数据。
6.根据权利要求1所述的方法,其特征在于,还包括:如果所述组播转发器先前没有传送过所述UDP组播请求包,则将产生所述UDP组播请求包的网络地址和端口记录在所述标识符高速缓存器中。
7.根据权利要求1所述的方法,其特征在于,还包括:在所述主机计算机系统上注册UDP服务器以接收所述UDP服务器接收到的任意UDP组播包。
8.根据权利要求1所述的方法,其特征在于,还包括:每当接收到UDP组播应答包时,判断相应的UDP组播请求包是否产生于所述网络上。
9.根据权利要求8所述的方法,其特征在于,还包括:如果在所述网络上产生了所述相应的UDP组播请求包,则:
识别所述相应的UDP组播请求包的发端应用程序;以及
将所述UDP组播应答包发送到所述发端应用程序。
10.根据权利要求9所述的方法,其特征在于,使用UDP单播寻址将所述UDP组播应答包发送到所述发端应用程序。
11.根据权利要求9所述的方法,其特征在于,识别所述发端应用程序包括:
从所述UDP组播应答包中提取全局唯一包标识符;
使用所述包标识符在标识符高速缓存器中查询发端主机的网络地址和所述发端应用程序的端口。
12.根据权利要求1所述的方法,其特征在于,还包括:忽略与所述组播转发器先前传送过的任何UDP组播请求包不对应的任何接收到的UDP组播应答包。
13.根据权利要求1所述的方法,其特征在于,从包含路由器 和防火墙的组中选择所述网络化装置。
14.根据权利要求1所述的方法,其特征在于,使记录在所述标识符高速缓存器中的包标识符仅在限定的时间内有效。
15.一种主机计算机系统,其被配置为实现为UDP组播业务提供网络桥的方法,所述计算机系统包括:
处理器;
与所述处理器进行电子通信的存储器;
存储在所述存储器中的组播转发器,可执行所述组播转发器以实现如下方法,所述方法包括:
保持已被发现的一个或多个其它组播转发器的信息,每一个组播转发器位于由至少一个未被配置为路由UDP组播寻址的网络化装置从包含所述主机的网络分离开的分离网络上;以及
每次通过组播接收到UDP组播请求包时:
从所述UDP组播请求包中提取全局唯一的包标识符;
通过在标识符高速缓存器中搜索所述包标识符,判断所述组播转发器先前是否已传送了所述UDP组播请求包;
如果所述组播转发器先前已传送了所述UDP组播请求包,则忽略所述UDP组播请求包;以及
如果所述组播转发器先前没有传送过所述UDP组播请求包,则将所述UDP组播请求包传送到所述已被发现的一个或多个其它组播转发器,并将所述包标识符记录到所述标识符高速缓存器中。
16.根据权利要求15所述的主机计算机系统,其特征在于,还包括:
存储在所述存储器中的服务器应用程序,所述服务器应用程序包括所述组播转发器;
所述服务器应用程序内的UDP服务器,所述UDP服务器被配置为侦听所述主机计算机系统上的组播地址和端口;以及
所述服务器应用程序内的TCP/IP连接模块,所述TCP/IP连接模块被配置为与所述一个或多个其它组播转发器建立TCP/IP连接。
CN2005800243981A 2005-12-20 2005-12-27 为udp组播业务提供网络桥的系统和方法 Expired - Fee Related CN101099334B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN101099334A CN101099334A (zh) 2008-01-02
CN101099334B true CN101099334B (zh) 2011-12-07

Family

ID=38173355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800243981A Expired - Fee Related CN101099334B (zh) 2005-12-20 2005-12-27 为udp组播业务提供网络桥的系统和方法

Country Status (7)

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

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
US8135031B2 (en) * 2006-06-14 2012-03-13 Nokia Corporation Method and device for wireless transmissions of internet protocol TV
NZ578597A (en) * 2007-02-09 2012-08-31 Clipsal Australia Pty Ltd Methods of processing a transmission and generating a data frame for transmision within a wireless network
CN101682477A (zh) * 2007-02-09 2010-03-24 澳大利亚克林普斯有限公司 选择性通信网络功能
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 (1)

* 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

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2383666T3 (es) * 1998-03-16 2012-06-25 Schneider Automation Inc. Sistema de comunicación para un sistema de control sobre redes IP y Ethernet
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
JP2001177523A (ja) 1999-12-16 2001-06-29 Mitsubishi Electric Corp マルチキャスト通信方法
AU2002235385A1 (en) * 2001-01-26 2002-08-06 Placeware, Inc. A 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 (1)

* 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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN101099334B (zh) 为udp组播业务提供网络桥的系统和方法
RU2713706C1 (ru) Эффективная связь для устройств домашней сети
US11171803B2 (en) Smart home communications architecture
RU2640726C2 (ru) ЭФФЕКТИВНЫЙ СЕТЕВОЙ УРОВЕНЬ ДЛЯ ПРОТОКОЛА IPv6.
JP4612619B2 (ja) デバイス対応付け設定方法、自動デバイス設定システム、記録媒体
JP4412405B2 (ja) ネットワーク内通信用転送処理を選択するためのシステムと方法
CN101091351B (zh) 提供计算机网络上的选择式组播代理的系统和方法
TW200910829A (en) Networked control system using logical addresses
KR20150059081A (ko) 홈 네트워크 시스템에서 홈 디바이스들의 그룹 제어 방법 및 장치
JP2021103888A (ja) 通知制御装置、通知制御システム、通知制御方法及びプログラム
US20170257225A1 (en) Smart switch controlling system and method thereof
RU2399161C2 (ru) Системы и способы обработки перехвата управления при отказе в распределенной среде с маршрутизацией
KR20070097901A (ko) 홈네트워크를 이용한 정수기 관리시스템 및 관리방법
KR100355048B1 (ko) 전기기기 감시 및 제어 시스템
JP6843803B2 (ja) 遠隔操作システム及び機器管理方法
JPWO2015075802A1 (ja) 通信システム、宅内機器、通信方法及びプログラム
EP2198566B1 (en) Expandable multimedia control system and method
KR20230018725A (ko) Ai 스위치를 제어하는 방법, 사용자 단말 및 컴퓨터 프로그램
JP2022027825A (ja) 遠隔操作システム及び機器管理方法
JP2021027561A (ja) 制御システム、及び、制御方法
JP2008017265A (ja) 情報コンセント装置、ネットワーク集線装置及びネットワークシステム
KR20080026333A (ko) 홈관리시스템 및 홈시스템 및 홈서버 및 운용방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111207

Termination date: 20191227

CF01 Termination of patent right due to non-payment of annual fee