CN1242548A - 通过传输冗余语音/媒体帧进行因特网实时媒体传输的方法 - Google Patents
通过传输冗余语音/媒体帧进行因特网实时媒体传输的方法 Download PDFInfo
- Publication number
- CN1242548A CN1242548A CN99106680A CN99106680A CN1242548A CN 1242548 A CN1242548 A CN 1242548A CN 99106680 A CN99106680 A CN 99106680A CN 99106680 A CN99106680 A CN 99106680A CN 1242548 A CN1242548 A CN 1242548A
- Authority
- CN
- China
- Prior art keywords
- computing machine
- message
- duplicating
- network
- bag
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
通过从一个或多个与网络连接的源计算机复制发送的消息/信息包为被发送消息的一个或多个包的两个或多个复制,实现了改进因特网媒体通过诸如因特网和企业内部网这样的包交换网络传输的可靠性并降低其延迟和包损失。然后每一复制通过不同的路由通过网络传送到一个或多个目标计算机。这样,目标计算机能够以较完整和较快速的方式从收到的复制组合发送的消息/信息包。在目标计算机处可以忽略和/或放弃收到的冗余的复制。
Description
本发明涉及通过互连网、内连网、电缆及其它任何类型的包交换网络进行实时的数据/语音/媒体传输的领域。特别地,本发明涉
因特网电话和因特网媒体传输具有巨大的商业机会,且许多工业巨头和大通信公司正在向这一领域迈进。许多公司正在销售互连网电话网关和互连网电话PC软件。这些公司正在为低价格长途电话提供互连网电话服务,并且通信公司正在把因特网电话视为统一电话和数据的基础结构的途径。
因特网媒体传输包括在两个或多个具有特定应用软件的计算机之间通过包交换网络(例如广域网,WAN,和/或局域网,LAN)发送媒体包(包含以下任何内容:n维-图象、动画、音乐、文本、电影、视频短片、静止画面、语音、数据等)。因特网电话是其中的包包含语音信息(及有时包含视频信息)的因特网媒体的特定版本。当由输入装置处理的语音在源计算机被捕捉时,运行在源计算机上的应用程序将把这连续语音模拟信号转换为离散的数字压缩包序列。有许多已知的工业标准定义这一转换处理及这些离散(常常是数字压缩过的)包的格式,例如PCM、GSM、G.723等。
还有由标准(例如IP、UDP及RTP协议)定义的其它已知的处理向包添加标题和结尾,以便使这些包能够通过公共包交换网络传输到目标计算机。带有标题和结尾的包通常通过包交换网络独立地传输。(参见1994年12月6日授予Attanasio等人的美国专利5,371,852,该文献整体在此结合作为参考文件)。在目标计算机,到达的包存储在缓冲器中并然后被转换回接近原始模拟信号的形式。相同的工业标准(例如PCM,GSM,G.723等)定义这种转换。
某些现有技术揭示了通过网络拓扑的“多个不相交的路由”复
某些现有技术揭示了通过网络拓扑的“多个不相交的路由”复制消息并传输它们以改进这些消息的可靠性和及时传输。参见“Deliveryof Time-Critical Messages Using a Multiple Copy Approach”byP.Ramanathan and K.G.Shin,ACM Transction on Computer Systems,Vol.10,No.2,May 1992,(以下称为“Shin对比文件”),该文献整体在此结合作为对比文件。
在通过包括因特网和内连网的包交换网络发送媒体时质量是一个严重的问题。这个问题是由包交换网络两个一般的特性引起的,即:(A)包交换网络不能保证包的送达,例如包可能在到达目标的途中丢失,以及(B)包交换网络不能保证在给定的时间内包的送达,例如如果网络拥塞,则包在网络内被延迟。
这两个特性来自这样的事实,即包交换网络包含共用的路由器和连接它们的链路。由于这些资源由许多包所共享,故网络内有对这些资源的等待队列。当网络拥塞时,迫使包在这些阵列中等待。当通信量超过这些队列容量时,包可能被放弃。由于包交换网络的这些特性,对于通过包交换网络的包传输,包的延迟和丢失是不可避免的。
TCP(传输控制协议)通过在源和目标计算机之间的网络之外引入包再传输机制修补了包交换网络的某些缺陷。它设置一个缓冲器在内部存储收到的包。如果某些包在给定的时间没有到达,则请求这些包的再传输。直到收到所有的包之前,由于潜在地多次重试,收到的数据将不会释放给接收应用程序。这样,TCP保证了所有的包到达,但是以牺牲传输时间为代价,即存在延迟。由于这一自动再传输引起的延迟,TCP协议不用于延迟对其是致命的因特网媒体传输。
对于双向因特网媒体传输,长的延迟是致命的。虽然可接受某些包的丢失,但是因特网媒体通常使用没有内置的包再传输协议(例如,UDP,即用户数据报协议)。然而,即使使用这一协议,某些包还可能在网络中丢失,且对通过网络传输没有最小时间保证(非延迟)。通常,上层的应用软件控制等待缓冲器的大小及对于包到达的的最大等待时间。
在1997年7月14-15日的“The 2nd Annual Internet TelephonySummit”中描述了一个现有技术系统,该文献在此结合作为对比文件。特别地,“Motorola IP Telephony in Corporate Intranets”描述了包延迟以及在因特网媒体传输中的损耗的一例。这里,通过因特网从源计算机向目标计算机在一定时间发送一系列的包。该文章示出了每个包到达延迟的图,在图中,X-轴对应于从第一到最后的包。Y-轴表示包传输到目标所需的时间。Y-轴的单位是毫秒。该图表示使用现有技术因特网传输因特网媒体不如使用电话网那样可靠。
某些现有技术文献比较因特网/企业内部网传输技术当前状态与通过电话网传输如下。与提供超过使用时间的99.999%均可接受话音的电话网相比,因特网只能提供使用时间的94%可接受的话音,且因企业内部网只能提供使用时间的61%可接受的话音(参见CIMI公司总裁Tom Nolle的标题为“Convergence 2000?”发表在“InformationWeek”,April 15,1998,page 141,的文章,该文献整个在此结合作为对比)文件。
用于传输包括话音数据媒体信息的典型的现有技术联网系统100的一例作为框图示于图1中。联网系统100包括多个计算机160,这些计算机通过诸如调制解调器和/或LAN适配器150等熟知的网络连接器130与一个或多个网络130连接。计算机160一般可以是任何通常已知的计算机系统,诸如个人计算机(如IBM ThinPad)或工作站(如IBM AS400)。对于单向通信,一个计算机160将作为引起信息的传输的源计算机160S,以及一个或多个计算机160作为将接收该信息的目标计算机160D。然而在很多应用中,源计算机160S和目标计算机160D的功能都包含在能够执行这两种通信功能,即发送和接收功能的单独一个计算机,例如160中,以便实现点对点双向,一对多,和/或多对多通信。计算机160将具有熟知的输入和输出装置,诸如话筒131、扬声器132、键盘、鼠标、摄像机、视频录像机、屏幕、录音机、乐器、笔输入器、触摸屏(未示出)等等。一个或多个多媒体接口133的组合,例如声卡和/或视频卡133,网络接口软件134,及一个或多个网络连接150把信号从模拟连续的形式135转换为数字(且一般为压缩的)打包形式120。通过网络连接器150,这些包在计算机160之间通过网络130进行交换。
网络130可以是任何类型的包交换网络,它包括但不限于因特网、内联网、外联网、广域网(WAN)、局域网(LAN)、电话网、和/或这些网络的任何组合及互联。一般来说,这些网络包括接入点140、路由器110、及网络链路(一般是175)。网络链路175连接这些路由器110和接入点140以形成如130所示的网络。这些路由器110、接入点140、及网络链路175一般由一个或多个互联网服务供应商(ISP)操作。接入点140是网络130通向外部世界的网关。各计算机160通过包括拨号连接、专用线路连接、电缆连接、卫星连接、及其它熟知的连接形式经过接入点140能够访问网络130。接入点140还可能是通向由其它ISP操作的其它网络的网关。
已知的标准协议(IP协议、PPP协议、LAN协议、等)支持各种计算机160独立于与网络连接器150和接入点140之间所使用的连接交换数据及消息。特别地,用户数据报协议(UDP)和实时协议(RTP)提供了通过网络130供计算机实时交换因特网媒体包的方法。
包通过其向目标传输的接入点和路由器的连接序列称为“路径”。包交换网络130及诸如UDP和RTP协议是极为熟知的。对于其它网络和协议更多的描述参见Volume 1&2,by W.Richart Stevens,Addison-Ersley Professional Computing Series,1994,该文献在此整个结合作为对比文件。在这一公开中,这些包交换网络130将不失一般性地称为网络130。
Shin对比文献讨论了使用冗余以降低包传递的延迟。然而在这一对比文献中,他使用了假设网络,诸如C-Wrapped Hexagonal Mesh(C缠绕六边形网孔)和Hypercube mesh(起立方体网孔),其中相同的子模式在整个网络中重复。使用这一假设,能够定义两终端点之间数学上不相交的路由。然而,实际的网络环境中,路由器的连接是特定的。网络是由传统子网和许多旁路构成的。在这些情形下,不能在数学上预先计算不相交的路由。Shin的文献还假设通过每个所计算的不相交的路由发送重复的包。这能够对网络资源造成过份的需求。
本发明的目是能够提供在由一个或多个包交换网络连接的两个或多个点之间进行更可靠的终端对终端(end-to-end)因特网媒体传输的系统和方法。
本发明的一个总的目的是改进终端对终端因特网媒体传输的可靠性的一般方法。
本发明的一个目的是用于源计算机、目标计算机、反射路由器,以协商并确定一个或多个媒体传输路由而从改进传输可靠性的系统和方法。
本发明的一个目的是在媒体包传输中引入冗余以改进质量、可靠性及传输延迟的系统和方法。
本发明的一个目的是在传输路由的两端复制包并使其统一以便与为非冗余媒体包传输生成的软件接口的系统和方法。
本发明的一个目的是用于改进包传输中可靠性并降低延迟的包交换网络通信的改进的系统和方法。
本发明改进了因特网媒体通过诸如因特网和企业内部网这样的包交换网络传输的可靠性并降低其延迟和包损失。本发明从一个或多个与网络连接的源计算机复制发送的消息/信息包为发送消息的一个或多个包的一个或多个复制。然后每一复制通过不同的路由通过网络传送到一个或多个目标计算机。在一优选实施例中,复制和路由选择是随机进行的,且每一路由器是这样确定的,使得路由具有最小的路由器数及共用接入点数。由于复制是冗余的,故某些复制的损失和延迟对在目标处组合包序列不是致命的。这样,目标计算机能够以较完整和较快速的方式从收到的复制组合发送的消息/信息包。在目标计算机处可以忽略和/或放弃所接收冗余的复制。
图1是用来传输包括话音数据的媒体信息的已知现有技术的包联网系统的框图。
图2A是包含在包括一例ISP网络的一般包交换网络环境中的本发明的框图。
图2B是包含在包括多例ISP网络的一般包交换网络环境中的本发明的框图。
图3是典型的源/目标主机的框图。
图4是表示由本发明的一优选实施例的三个成分,即源计算机、目标计算机和反射路由器进行的包复制、包一致化和包反射的图示。
图5A、5B和5C分别为表示包复制系统的优选实施例的框图、交错复制处理的流程图、及交错路由确定处理的流程图。
图6A是由本发明的一优选实施例中的目标主机进行的包一致化过程的的流程图。
图6B是表示移动缓冲器的两个例子的图示。
图7是在源主机/计算机和反射路由器/服务器之间进行的握手处理的流程图。
图8是由反射路由器执行的处理的流程图。
图9是表示优选实施例在允许冗余媒体传输的网络接入点选择性使用的框图。
图10是允许冗余媒体传输的网络接入点的框图。
图2A是包含在一般包交换网络环境中本发明的框图。与图1中共同的2A的那些成分有相同的参考标记和说明。
系统200包括通过接入点140与网络130连接的一个或多个计算机260和一个或多个反射路由器270。通过两个或多个路径(例如275A、275B,一般表示为275)经过网络130发送一个或多个消息/信息包120,而进行两个或多个计算机260之间的通信。这是通过按以下所述不同方式复制一个或多个包120并通过不同的路径275发送这些复制120R而进行的。图2A中,示出两个路径,即路径A(275A)和路径B(275B)。包120按熟知的技术生成、发送并接收。反射路由器270是用来使每一路径如下所述彼此分开的计算机。反射路由器270能够成为某些路径的中间路由器。
计算机260可以是发送一个或多个消息/信息的源计算机260S,或者是接收一个或多个消息/信息的目标计算机260D。当然,在双向通信中,源260S和目标260D计算机的功能存在于进行通信的两个或多个计算机上。因而,计算机260S和260D的成分可以组合到单一的计算机260中,且不失一般性将可选使用这些称谓。图2A的一个例子是内联网。
在图2A所示的另一优选实施例中,冗余媒体传输增强接入点280(以下图9和10),使不具有本发明功能的现有技术的计算机连接到这些增强接入点280,并获得冗余媒体传输的优点。在这样的配置中,将在增强接入点280的内部进行包复制和一致化。为了简化说明,我们将首先讨论使用源计算机260S(260)、目标计算机260D(260)及反射路由器270组合的本发明的细节。然后,将说明使用增强接入点280的冗余媒体传输。
图2B是网络包含由网络接入点290连接的多个ISP网络的情形的框图。如图所示,源计算机260S、目标计算机260D及反射路由器270能够以类似于图2A的方式配置。图2B的一个例子访问ISP X的源计算机,而目标计算机正在访问不同的ISP Y。
图3是用于本发明的典型的源计算机260S和目标计算机260D(或计算机260)的框图。在一优选实施例中,计算机260用于双向通信。该计算机包括任何标准的熟知的媒体(例如话音或视频)和/或多媒体接口133、标准的熟知网络接口软件134、及标准的熟知的网络连接器150,它们组合地把输入分组到媒体接口,并以适合于计算机260被连接150的网络130的协议传输这些包。计算机还包括一个或多个已知的存储器262、新的初始化过程700、新的复制过程500、和/或新的一致化过程600。初始化过程700为被发送的复制120R选择可选的路径,复制过程500执行以各种可选的方式生成复制120R的源计算机260S功能,且一致化过程600执行目标计算机的功能,使收到的复制120R一致化以便在目标处重新形成最初发送的消息。存储器262用来保存来自500和600握手的结果供后来参照。执行过程将在以下进一步详细说明。
图4是表示包复制过程500、包一致化过程600、及由反射路由器270执行的包反射之间的更详细的关系的框图。
在一优选实施例中,媒体包的复制过程500发生在源计算机260S内部,例如对每一路径(例如可选的275A、275B和275C)生成一个复制120R。(复制过程的另一优选实施例在以下说明)。复制的包120R通过网络连接器150被发送到接入点140,在此它们进入包交换网络130。使用新颖技术,例如在一优选实施例的反射路由器270中,当能够对每一包复制(120R)选择时选择不同的路径(275A、275C、275C)。因而这些复制120R通过不同的路径(例如275A、275C和275C)经过不同的路由器110和不同的网络链路175到达相同的目标计算机260D。
在一优选实施例中,对复制120R的一致化过程发生在一个或多个目标计算机260D的内部。在收到复制120R时一致化过程组合所发送的消息/信息。在一优选实施例中,先收到的复制120R用来形成收到的消息,而后来收到的复制120R被放弃。当通过一个或多个路径275没能到达目标的复制120R不能够用来在目标计算机260D重新生成发送的消息时,相同的复制120R仍然有机会通过一个或多个路径275到达目标计算机260D,并从而能够用来重新生成发送的消息。这样,改进了消息/信息通信的速度和可靠性。
反射路由器270用来降低每一路径(275A、275C、275C)共有的路由器和网络链路的数目。在握手过程700的一优选实施例中,通过源计算机260S仔细选择反射路由器270。
反射路由器的作用可以通过邮政局基础结构类比来说明。信件和包裹对应于信息包,邮箱对应于接入点,中间邮政局对应于路由器,而邮路对应于网络链路。有时,邮件将被延迟或丢失。使用本发明把丢失的可能性尽可能降低或降低偶然的延迟,邮件以相同的目标标签被复制并重复投递。如果通过不同的邮路传送每一复制的邮件并由不同的邮政局处理,则降低了在目标不能收到(至少一个)信件的危险。
在这一类比中,反射路由器/服务器270的作用可以解释如下。如果复制的信件从带有相同地址标签的邮箱邮寄,由于这些复制的邮件可能通过相同的邮路并经过相同的邮政局,故不大可能降低丢失/延迟的危险。为了更好地降低丢失/延迟的危险,发送人与其作为反射路由器的朋友商讨。在这例子中,在邮寄三个复制的信件之前,选择两个朋友A和B作为中间人。使用这一协议,A和B的地址标签分别张贴在两个复制的信件上。在不同的位置有不同的地址标签,三个复制将传送到不同的目标。当然,朋友A和B当他们收到复制时将以最终目标的地址标签代替他们的地址标签。此外,复制应当投放到与各朋友最近的邮箱以便传向最终目标。
因而,在一优选实施例中,使用反射路由器270是为了通过保证每一复制120R在不同的路径175上传送而降低在中间路由器包丢失和偶然延迟的危险。在一更优选的实施例中(参见以下),可使用源260S来优化路径(275A和275B)的选择。
图4中,每一包(包1、2、3和4)被复制三次而成为一组复制120R(复制a、b、c)。所有标以“a”的复制120R传送到第一反射路由器并通过路径275A最终到达目标260D。所有标以“b”的复制120R通过路径275B传送到达目标260D,且所有标以“c”的复制120R通过路径275C传送到达目标260D。
在收到复制120R之后,一致化过程600组合收到的复制120R以重新生成发送的消息。将使用标识每一复制在发送的消息中的位置的熟知的RTP(实时协议)标题中的包序列号信息,进行重新构造。
在一优选实施例中,目标计算机260D将使用对组成发送的消息的一组包中的每一给定的包120收到的第一复制120R。目标计算机260D保存并使用该第一复制120R重新生成发送的消息,并然后放弃复制所使用的复制120R的组中后来收到的所有的复制120R。保存的复制120R存储在缓冲器阵列M610(以下),以便在向媒体(例如话音或视频)和/或多媒体接口133释放之前吸收可能的包失序。即某些保存的复制120R可能不是按其发送的消息的顺序收到的。在收到复制120R时,这些保存的复制按由其标题中包序列号信息确定的正确(发送消息的)的顺序排列。在缓冲器阵列M 610中为序列中尚未收到的复制保留有空间。这样,当并且如果收到这些“后来”的复制时,他们按其发送消息的正确顺序被排列在他们保留的位置中。在一优选实施例中,缓冲器阵列M 610对10个收到的和保存的复制120R具有足够的单元。
图5A示出复制过程500的另一优选实施例的细节。这一实施例有利于提高通信的可靠性,同时控制增加网络130中的包传输的总容量。如果没有这一实施例,网络130中包传输总容量将对于两路径冗余性加倍并对于三路径冗余性增加到三倍等等。例如,这一实施例使我们只能以(或然后其它可选择的)通过网络130包传输总量的增加30%使用三路径冗余性。在这一实施例中,一定的包120以比其它的包更随机的方式被复制。进一步的增强随机地选择复制包120R通过其传输的路径275。
这一过程500的一个优选实施例是通过将作为参数从应用程序给出的两个外部数字导出的。作为整数N的第一个数字规定了对每一给定的包120复制120R通过网络130在其上传输的路径275的数量。(选择用于传输复制120R的不同的路径在以下图7中进一步说明)。图5A示出有三个被选择的不同的路径275的情形,即N=3的情形一例。作为0与N(路径275A,B,C的数目)之间的有理数T的第二个数规定目标传输量的增加。这样T控制着由于复制要使用多少网络130资源。
使用“冗余包传输”的想法,在路由冗余性与媒体传输质量之间有一种权衡,即冗余性越大,则质量越高,但是需要使用更多的网络资源。T的引入允许在不增加整个包120R在网络130中的传输量的情形下使路由选择的冗余性增加到路由冗余性的程度。如上所述,N=3和T=1.3的组合能够通过只增加30%的网络传输量提供使用三路由的良好的质量的媒体传输。
图5B中,示出一用于实现产生复制120R的随机数的策略的较好的过程510。选择例如带有小数部分(0.7)和整数部分(2)的2.7的有理数T。被生成的复制120R的数目由整数部分控制,例如只能产生两个复制或三复制这样的复制整数。在这一过程中,T的小数部分确定被复制的包的百分比,而T的整数部分确定所进行的复制次数。即,如果平均复制的目标设为2.7,则较佳过程510实现目标2.7。在这一例子中,包被复制3次的概率为0.7,以及被复制2次的概率为0.3。随机数“R”一例实现这一点。
更具体来说,在步骤512,产生0与1之间的一任意数R。在步骤514,随机数(R)与T的小数部分比较。这一小数部分是通过取T和T的“floor”值之间的差获得的。“Floor(T)”是截去小数部分的值,即T的整数部分。例如,如果T=5.1,则Floor(T)=5,且如果T=2.9,则Floor(T)=2。
这样使用随机数,过程510控制了从由“T”中的目标集确定的包所复制的复制120R的平均数,并从而控制所需的网络设备的多余量。
在步骤512,对于给定的包120,在0与1之间产生随机数R。步骤514确定R是否小于T的小数部分。具体来说,即是否R<=T-floor(T)。如果这是真,则执行步骤518,该步骤复制包120比步骤516执行更多的次数。这里,复制的数目与T的整数值(即floor(T))相关,具体来说即floor(T)+1。另一方面,如果R>=T-floor(T),则执行516。且较少进行或不进行复制。这里复制的数目也与floor(T)相关,具体来说他们相等。
控制被复制的复制120R的平均数的另一等同的方法是由本发明人想出的。
图5C的过程520进一步增强了本发明。这里每一复制120R通过N个路径随机地传输。(注意,原始包120能够不使用本发明从源260S发送到目标260D,同时这个包的复制120R能够通过不同的选择路径传输。另一方面,在这一公开中,不失一般性原始包120常常是指复制120R并作为复制120R对待)。
在步骤522,值“r”表示对给定的包120通过任何上述过程生成复制120R的数目。在步骤524,从N个所选择的不同的路径集选择r个数目的路径。这一选择是随机作出的,使与任何给定的包120相关的复制随机地分布到必须通过网络130与它们通信的所有路径275。注意,如果r=N,则不必进行选择,每一复制120R通过N个路径275之一被传输。
在步骤524,当r小于N时,复制120R的数目(r)用来从N个可用的路由275中选择r个路由。例如,如果生成2个复制120R(包含原始包120)且有三个不同的被选择的路由(275A、275B、275C),则有(统计上是3中选择2)3C2=3个发送两个复制120R的途径。步骤520计算出所有NCr途径,即组合{Ej},并使用随机数选择NCr途径之一。这样,在该例子中,避免了在同一路由上传输多于两个复制。另外,这里N是路径数且r是复制数。
在步骤526,每一复制120R标以在步骤524所选择的各路径中之一的地址。例如,每一复制120R发送到与{Ej}中的路径之一相关的各反射路由器270。在另一优选实施例中,N-1个地址(复制120R)被发送到与被选择的路径之一相关的反射路由器270,且对包120给出目标计算机的地址。
图6A是在本发明一优选实施例中由目标主机260D进行的一优选包一致化过程600的流程图。
缓冲器阵列610M有L个用于调节失序包的元素(m[1],…m[L])。在一优选实施例中,L=10或更小是适用的。步骤620初始化过程600。这一初始化只在初始化局部变量“sc”和缓冲器阵列M期间之前执行一次。在初始化中,阵列内容m和变量“sc”(当前序列)将被设置为0。变量“sc”是所收到的最新的、最当前的复制120R的号码,因而缓冲器610M的最新(最当前的或最右面的)位置mL与这一包相关。
过程600在630等待复制120R的到达。在到达时,在630从RTP标题读出序列号码并设置给变量“s”。在步骤640,比较“s”和“sc”,即刚刚收到的复制120R的号码s与现在同缓冲器610M(mL)最右面元素相关的最当前的包序列号码sc进行比较。如果“s>sc”,则刚刚到达的包(复制)具有比缓冲器610M中最新的序列号码sc更新的号码s。因而,缓冲器610需要向右移位以便包含这一刚到达的包序列“s”。这种情形下,控制过渡到步骤650。另一方面,如果“s<=sc”,则新到达的包具有比缓冲器中存储的最当前的包更前面(更旧)的号码s。这意味着与这种情形下新到达的包相关的存储单元在缓冲器之内或缓冲器已经移位经过了它。这种情形下,控制过渡到步骤670。
对于到达的复制的序列号码小于等于“sc”的序列号码s(640),执行步骤670。在步骤670,收到的包的位置s与缓冲器610M中存储单元m的位置进行比较。如果在670sc-s>=L,则缓冲器610M的所有存储单元m已经通过(大于)正在被重新生成的消息的位置s。因而,新收到的包(复制120R)在671被抛弃,且控制返回到步骤630。然而如果在步骤670sc-s<L,则新收到的包(复制120R)具有与缓冲器610M中存储单元m之一相关的的号码s,且步骤672确定相关的存储单元是否已经有一个值,例如步骤672检验是否m[L-sc+s]>=0。如果在单元m[L-sc+s]中有值,则带有这一号码s的复制120R已经收到,且包信息已经存储在缓冲器610M中以重新生成消息。这样,新收到的包(复制120R)被放弃630,且控制返回到步骤630。然而如果在相关的存储位置中没有值,例如如果位置m[L-sc+s]=0,则执行步骤674以便使用新收到的包(复制120R)的信息填充缓冲器610M的位置m[L-sc+s]。即如果复制是序列号的第一个且仍然在缓冲器之内(不太晚),则缓冲器的内容被更新(674)。所有这些情形下,缓冲器的移位和“sc”的更新都不会发生。
图6B示出缓冲器610向右移位的两种可能情形的缓冲器610M,移位发生在执行步骤650之中。两种情形下,与包序列号码相关示出没有阴影(情形a在位置18-21和情形b在位置22-25)移位前以及有阴影(情形a在位置24-27和情形b在位置24-27)的移位后的缓冲器。在情形(a),到达的带有序列号27的复制移位缓冲器大于L=4个位置(即27-21=6个位置)。在情形(a),在缓冲器610M旧的布局中包含的存储位置m没有重叠缓冲器610M的新的布局中的存储位置m。在情形(b),新到达的复制适当移位缓冲器(27-25=2位置)。在情形(b),旧的缓冲器布局中某些存储位置(24和25)重叠了缓冲器610M的新的布局中某些存储位置(24和25)。
这两种情形包括了由于缓冲器移位所需的动作的所有可能性,步骤660。在情形(a),最新(最高的或最右面的存储位置m)的包序列号码(sc)具有数值21,先于包#27复制的到达。在情形(b),sc被设置为25。然后收到带有序列号码s=27的复制。由于对两种情形这一序列号大于sc(步骤640),故将进行过程650。过程650对从缓冲器610M中的第一存储位置m1开始的所有存储位置重复进行,直到由新到达的复制120R所接收的位置之前的一个存储位置。换言之,下标i从sc-L+1重复到s-1。
更具体来说,如果在660缓冲器要向右移位,则过程650对可能的情形进行处理。情形1包括在旧的缓冲器(移位前)中但不在新的移位了的缓冲器(移位后)中的存储器(包)位置。例如,情形(a)中18到21的位置及情形(b)中22到23包括在情形1中。在情形1中,缓冲器610M的移位,使得不包括这些位置,且这些位置中的信息传送到目标计算机输出133(656)。
情形2包括不在旧的缓冲器(移位前)中或新的移位了的缓冲器(移位后)中的存储器(包)位置。这些存储位置落入“间隙”中,并作为情形(2)中位置22和23示出。这些包作为“丢失的包”对待(658),因为位于这些包位置的任何复制没有在时限(L)内到达,即在任何相关的包/复制120R到达目标计算机260D之前,缓冲器610M已经通过了它们的存储位置。步骤658示出对这些丢失的包的“零”输出。
情形3包括在旧的缓冲器(移位前)中也在新的移位了的缓冲器(移位后)中的存储(包)位置m。情形(b)中的位置24和25包含在情形3的“被重叠”的位置。这样,对于情形3,在旧的缓冲存储器的存储位置中保存的任何数据都将在新的缓冲器的存储位置中保留。但是缓冲器中这一存储位置单元m将改变。步骤655通过对情形3中每一存储位置设置m[i-s+L]=m[i-sc+L]进行这一“向左的移位”。
情形4包括不在旧的(移位前)的缓冲器中但是在新的移位的(移位后的)缓冲器中的存储(包)位置。情形(a)中存储位置24到26和情形(b)中的26包含在情形4。在新的缓冲器中生成这些包的位置。然而,由于与缓冲器610M中这些位置相关的包(在时限(L)内)还没有到达目标计算机260D,故步骤657在这些存储位置的每一个中设置值m[i-s+L]=0。
对每一存储位置m选择这些情形,通过过程650重复进行,具体来说是在步骤651-654的判定点进行。步骤651检验是否下标-i>0。当最初开始过程650时这不是真的,且在660缓冲器移位直到整个缓冲器长度L对首先接收复制120R可用。一旦步骤651的条件不满足,则整个的缓冲器610M可用,步骤652判定正在被处理的存储位置是否小于或等于sc,即存储位置是否在旧的缓冲器中。如果下标-i<=sc,则这样且步骤653检验是否下标-i>s-L,即存储位置是落入旧的缓冲器之内,即步骤655(情形3),还是不落入,即步骤656(情形1)。如果下标-i>sc(步骤652),不能进行存储位置在旧的缓冲器内的过程且步骤654判定是否下标-i>s-L。如果在654判定结果为真,则存储位置信息还没有到达且执行情形4,即步骤657。如果步骤654不真,则存储单元落入“间隙”内且执行步骤658(情形2)。
在通过设置m[L]=s和sc=s而完成步骤650之后步骤660移位缓冲器。
图7是在源主机/计算机和反射路由器/服务器之间执行的握手(初始化)过程700的流程图。
在步骤710,源计算机260S获得服务中的反射服务器的IP地址。这些IP地址从网络目录中可得。
在步骤720,源计算机260S向所有的反射服务器270(或反射服务器的子集)发送请求,报告各反射服务器270与目标260D之间的连接(链接或转接175)。作为每个反射服务器Ri与目标计算机260D之间的路由器的列表获得结果。该列表对每一反射路由器Ri标为LAi。标准的IP协议支持命令(tracert)以获得这一列表。这一请求是由以下图8的步骤820处理的。
在步骤730,源计算机260S检验源计算机260S与所有反射路由器之间的连接(链路175的集合)。获得的结果作为LBi。这能够由作为IP标准的一部分的“tracert”命令执行完成。
在步骤740,对应的LA和LB被连接在一起而生成通过特定的反射路由器Ri从源计算机260S到目标计算机260D的路由器列表。这一列表将标记为LABi。
在步骤750,将对重叠的路由器考察{LABi}集合。然后选择N个路径275使得对应于这些N个被选择的路径275的{LABi}的子集具有最少的公共路由器。
这里是执行步骤750的一个较好方式:
1.设S表示包含选择的路由的集合。
初始集合S={不使用反射路由器的路由}。
设C表示候选的路由。
初始集合C={对应于所有可用的反射服务器的路由}。
2.使用{LABj},对包含在{LABk}(k是S中的元素之一)中的路由器计数LABj(j是C中的元素之一)中的公共路由器,并设为Pj。选择给出最小Pj的j。现在选择J。
3.把“j”插入到S并从C中除去“j”。
4.从2重复到S的大小足够大(=N)。
5.当2~4结束时,集合S包含选择的反射服务器。
在步骤760,源计算机260S请求N个反射路由器逐一对所选择的每一路径275提供服务。这样作为目的的目标地址将被发送到每一复制路由器270。作为目的的目标地址将保存在反射服务器内的地址映射表810中。反射服务器后来使用这一地址把复制120R转发到目标260D。这一请求将由反射路由器流程图(图8)的830处理。
在步骤770,选择的N个反射路由器每一个的IP地址写入存储器262,使得复制过程500和一致化过程600能够使用这些IP地址。存储器262将保存由以上所述的750确定的{S}。通过在820发出“Tracert”IP命令询问中继列表并把结果发送回260S,用于确定最佳反射路由器列表{S}。在反射路由器中没有必要保存中继列表。目录应当在反射路由器之外。通常IP的域看门人(gatekeeper)或域名服务器能作这一工作。域名服务器例如知道域中所有可用的服务器。
图8是由一较佳反射路由器270执行过程800的流程图。反射路由器270包括一个或多个地址映射表810(图2中)及四个基本步骤820、830、840和850。地址映射表810的项由源260S和目标260D计算机组成。
处理以等待网络805上的输入开始。这一输入或是从源计算机260S或是从目标260D计算机发送的。在步骤808,确定输入类型。输入可以是:对中继列表的询问,传输请求,来自源计算机260S的包120R,或来自目标计算机260D的包120R。头两类输入在握手过程时来到反射路由器。这些输入类型每一个分别由步骤820、830、840或850处理。
如果作为对从特定的反射路由器270到目标260D的中继列表询问的输入805来自源计算机260S,则执行步骤820。步骤820返回特定反射路由器270和目标之间的中继列表(或潜在的路径275的部分)。这一步骤820在步骤720的说明中在以上已经说明。
如果输入805是从源计算机260S给出的传输请求,步骤830把源计算机260S与目标计算机260D的IP地址配对,并把这些对添加到地址映射表810上。当通信部分结束时,对将从存储器810中除去。该部分的结束可以按两种方式确定:1.源或目标计算机通知挂起,或2.反射路由器在很长一段时间(超时)没有检测到活动。
如果按包120R上的标题信息标识,输入805是从源计算机260S发送的(媒体)包120R,则执行步骤840。在步骤840,源计算机(发送器)260S的IP地址用来在存储的地址映射表810对的第一个元素(标识源计算机260S)中扫描。一旦发现包含源计算机260S的对,则向所发现的对的第二元素中(标识目标260D或与源260S相关的目标)的目标计算机(或计算机260D)重新发送包。
如果按包120R上的标题信息标识,输入805是从目标计算机260D发送的(媒体)包120R,则执行步骤850。在步骤850,目标计算机260D的IP地址用来在存储的存储器对810的的第二个元素(标识源计算机260S)中扫描。一旦发现包含目标计算机260D的对,则向所发现的对的第一元素(标识源或与目标260D相关的源260S)的源计算机(或计算机260S)重新发送包120R。
图9是表示本发明的另一优选实施例900的框图。这一实施例中,在一个或多个网络接入点产生冗余媒体传输。这些接入点是带有与反射路由器270的功能结合的源和/或目标计算机260的功能的路由器280。例如,如该图中所示,能够把复制过程500和一致化过程600嵌入到接入点280。带有嵌入的上述复制过程500和/或一致化过程600的接入点280被称为“冗余媒体传输可行网络接入点”(或简称为冗余接入点,一般为280),并一般由互联网访问供应商(ISP)管理。在这一实施例的较佳变形中,源和/或目标计算机是没有本发明特点的标准的现有技术的计算机160。一般源和/或目标计算机160之间的链路(175,975)尽可能地短,例如本地电话链路连接,以便把源和/或目标计算机160与冗余接入点280之间的任何包丢失或延迟降低到最低。由于复制500和/或一致化600发生在ISP网络(在接入点280),故150和140之间的拨号访问线路可以在带宽上较低。
本实施例的优点在于允许带有常规因特网媒体软件的计算机获得通过本发明的冗余特点服务质量(QoS)增强的好处,例如无需另外的软件在源和/或目标计算机上运行。这能够以几种途径出现。源计算机(160,960S)可以是带有与第一冗余性接入点280-1连接的标准计算机。在这一接入点280-1,使用任何上述过程发生包120的复制500。第一冗余接入点280-1确定多个路径以及复制120R如何通过网络130通信。(另外,通过以本发明增强了的源计算机260S进行复制500)。复制120R或者由以本发明增强的目标计算机260D,或者由第二冗余接入点280-2接收并如上所述被处理。如果使用第二冗余接入点280-2,则一致化过程600在第二冗余接入点280-2执行,且一致化(重新生成)的消息通过短链路975传送到标准的现有技术计算机160。
图10是带有冗余媒体传输功能的网络接入点280的框图。接入点280具有对一个或多个现有技术计算机的熟知的接口282。还有与一个或多个连接到一个或多个路由器110的任何一般网络130的链路175的硬件和软件接口132。注意,能够把路由器110的功能和任何冗余接入点280的功能进行组合。冗余接入点280还具有任何上述以下一个或多个功能:初始化过程700,存储器262,包复制过程500和/或包一致化过程。如上所述,从计算机160接收包120和/或请求,由复制过程500复制并通过两个或多个路径在网上传输。以类似的方式,通过网络接口从网络(130,110)接收请求和/或复制120R,并在它们作为重新生成的消息向计算机160发送之前由包一致化过程600一致化。
根据本发明的公开,本领域技术人员可以实施等同的实施例。这些等同的实施例也在本发明的考虑范围之内。
Claims (24)
1.一种具有与一个或多个网络的一个或多个接口的计算机,这些接口通过一个或多个网络传输一个或多个消息中的一个或多个包,该计算机包括:
一个或多个过程,它们能够以随机的方式产生消息的冗余包,并能够在两个或多个独立的路径上经过网络对一个或多个目标传输冗余包。
2.如权利要求1的计算机,其中该计算机向目标发送消息,并且这些过程包括:
复制过程,该过程通过复制消息中的一个或多个包生成随机数个每一冗余包,以便形成一个或多个包的一个或多个复制;以及
初始化过程,该过程通过在一个或多个网络上对一个或多个反射服务器的一个或多个接口,在一个或多个网络上发送对路径信息的请求,该初始化过程从一个或多个反射服务器接收路径信息,该路径信息定义了从各反射路由器到目标的反射路由器路径中的一个或多个中继,该初始化过程选择两个或多个独立的路径以便发送两个或多个复制,至少一个独立的路径是从计算机到反射路由器之一并然后继续由各反射路由器到目标。
3.如权利要求2的计算机,其中该计算机是以下的任何一个或多个:客户计算机,服务器,路由器,及网络接入点。
4.如权利要求2的计算机,其中复制过程中随机数对消息中每一包至少是一个。
5.如权利要求2的计算机,其中复制过程对消息中随机包生成随机数个复制。
6.如权利要求5的计算机,其中初始化过程随机地选择通过其发送每一包的随机数个复制的独立的路径。
7.如权利要求5的计算机,其中对每一包生成的随机数个复制限制在所选择数目之下。
8.如权利要求2的计算机,其中初始化过程选择所选择的路径以具有最少数目的公共中继。
9.如权利要求2的计算机,其中对一个或多个复制所选择的路径是随机选择的。
10.如权利要求9的计算机,其中所选择的路径是对至少与对其它复制共用选择的路径的每一复制选择的。
11.如权利要求1的计算机,其中计算机从目标接收消息,并且过程是一致化过程,该过程接收每一复制,确定复制在消息中的位置,并根据目标存储器中的位置安排复制。
12.如权利要求11的计算机,其中如果先前收到的复制已经排放在目标存储器中各位置中,则后来收到的复制被放弃。
13.如权利要求11的计算机,其中计算机是以下的任何一个或多个:客户计算机,服务器,路由器,及网络接入点。
14.如权利要求1的计算机,其中包是以下的任何一个或多个:语音包,视频包,媒体包,及数据包。
15.如权利要求1的计算机,其中消息中的信息包括以下的任何一个或多个:一个或多个电视节目,一个或多个无线电节目,及一个或多个电话交谈。
16.一种具有与一个或多个网络的一个或多个接口的计算机,这些接口通过一个或多个网络传输一个或多个消息中的一个或多个包,该计算机包括:
复制过程,该过程通过复制消息中随机数个一个或多个包生成冗余包,以便形成一个或多个包的一个或多个被发送的复制;
初始化过程,该过程通过在对一个或多个网络上的一个或多个反射服务器的一个或多个接口,在一个或多个网络上发送对路径信息的请求,该初始化过程从一个或多个反射服务器接收路径信息,该路径信息定义了从各反射路由器到目标的反射路由器路径中的一个或多个中继,该初始化过程选择两个或多个独立的路径以便发送两个或多个被发送的复制,至少一个独立的路径是从计算机到反射路由器之一并然后继续由各反射路由器到目标;以及
接收一个或多个接收的复制的一致化过程,该过程确定收到的复制在消息中的位置,并根据目标存储器中的位置安排收到的复制。
17.如权利要求16的计算机,其中计算机是以下的任何一个或多个:客户计算机,服务器,路由器,及网络接入点。
18.如权利要求16的计算机,还包括一个或多个输入装置及一个或多个输出装置,输入装置产生用来生成消息的冗余包的输入信号,而输出装置从收到的存储在目标存储器中的复制产生输出信号。
19.如权利要求18的计算机,其中输入装置包含以下的任何一个或多个:语音到文本的转换器,虚拟世界,话筒,电话话筒,键盘,及鼠标。
20.如权利要求18的计算机,其中输出装置包括以下的任何一个或多个:计算机屏幕,虚拟世界,扬声器,电话扬声器,及文本到语音转换器。
21.如权利要求16的计算机,其中一个或多个网络在一个或多个网络接入点相互连接。
22.一种通过网络传输消息的方法,该方法包括以下步骤:
生成消息中的一个或多个包的随机数个复制;
选择一个或多个通过网络到一个或多个目标的不同的路径;以及
通过不同的路径之一发送每一复制。
23.如权利要求22中的方法,还包括以下步骤:
接收一个或多个被接收的复制;
确定在收到的消息中收到的复制的位置;以及
根据目标存储器中它们的位置布局收到的复制。
24.一种通过网络传输消息的系统,该系统包括:
用于生成消息中的一个或多个包的随机数个复制的装置;
用于选择一个或多个通过网络到一个或多个目标的不同的路径的装置;
用于通过不同的路径之一发送每一复制的装置;
用于接收一个或多个被接收的复制的装置;
用于确定在收到的消息中收到的复制的位置的装置;以及
根据目标存储器中它们的位置用于布局收到的复制的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US092,824 | 1998-06-05 | ||
US09/092,824 US6466574B1 (en) | 1998-06-05 | 1998-06-05 | Quality of service improvement of internet real-time media transmission by transmitting redundant voice/media frames |
US092824 | 1998-06-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1242548A true CN1242548A (zh) | 2000-01-26 |
CN100476766C CN100476766C (zh) | 2009-04-08 |
Family
ID=22235324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB991066804A Expired - Fee Related CN100476766C (zh) | 1998-06-05 | 1999-05-20 | 通过网络传输消息的方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6466574B1 (zh) |
EP (1) | EP0963082A3 (zh) |
JP (1) | JP3127153B2 (zh) |
KR (1) | KR100337221B1 (zh) |
CN (1) | CN100476766C (zh) |
IL (1) | IL127794A (zh) |
TW (1) | TW429708B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1297169C (zh) * | 2002-09-19 | 2007-01-24 | 株式会社Ntt都科摩 | 信息包通信终端、信息包通信系统及信息包通信方法 |
CN107210976A (zh) * | 2015-01-30 | 2017-09-26 | 华为技术有限公司 | 用于在网络中转发数据分组的方法及其可编程入口和出口节点 |
CN108965624A (zh) * | 2018-07-09 | 2018-12-07 | 南京莱斯电子设备有限公司 | 一种用于VoIP话音通信系统的冗余架构及方法 |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6584509B2 (en) * | 1998-06-23 | 2003-06-24 | Intel Corporation | Recognizing audio and video streams over PPP links in the absence of an announcement protocol |
US7248572B2 (en) * | 1998-09-22 | 2007-07-24 | Qualcomm Incorporated | Distributed infrastructure for wireless data communications |
DE19954377C2 (de) * | 1999-11-12 | 2003-04-17 | Airbus Gmbh | Datenübertragungssystem für Luftfahrzeuge |
CA2393451C (en) * | 1999-12-10 | 2010-05-25 | Diva Systems Corporation | Method and apparatus of load sharing and improving fault tolerance in an interactive video distribution system |
US7487531B1 (en) * | 1999-12-10 | 2009-02-03 | Sedna Patent Services, Llc | Method and apparatus of load sharing and improving fault tolerance in an interactive video distribution system |
US6665726B1 (en) * | 2000-01-06 | 2003-12-16 | Akamai Technologies, Inc. | Method and system for fault tolerant media streaming over the internet |
JP2001211195A (ja) * | 2000-01-25 | 2001-08-03 | Fujitsu Ltd | データ通信システム |
US6687751B1 (en) * | 2000-01-28 | 2004-02-03 | 3Com Corporation | Multi-point link aggregation spoofing |
FR2804813B1 (fr) * | 2000-02-03 | 2002-09-06 | Cit Alcatel | Procede de codage facilitant la restitution sonore des signaux de parole numerises transmis a un terminal d'abonne lors d'une communication telephonique par transmission de paquets et equipement mettant en oeuvre ce procede |
US7032005B2 (en) * | 2000-04-14 | 2006-04-18 | Slam Dunk Networks, Inc. | System for handling information and information transfers in a computer network |
US7158516B2 (en) * | 2000-06-03 | 2007-01-02 | Utstarcom, Inc. | Method and apparatus for performing multi connections at point-to-point protocol |
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
US7111049B1 (en) * | 2000-08-18 | 2006-09-19 | Kyle Granger | System and method for providing internet based phone conferences using multiple codecs |
JP3752137B2 (ja) * | 2000-08-31 | 2006-03-08 | 三菱電機株式会社 | データ送信装置及びデータ送信方法 |
SG97934A1 (en) * | 2000-09-13 | 2003-08-20 | Mediaring Ltd | Quality of transmission across packet-based networks |
US7099327B1 (en) * | 2000-10-12 | 2006-08-29 | Lucent Technologies Inc. | Data communications networks with high performance and reliability |
US7249185B1 (en) * | 2000-10-30 | 2007-07-24 | Cisco Technology, Inc. | Methods, devices and software for redundant transmission of voice data over a packet network connection established according to an unreliable communication protocol |
KR100438167B1 (ko) * | 2000-11-10 | 2004-07-01 | 엘지전자 주식회사 | 인터넷 전화통신을 위한 음성신호 송수신장치 |
JP3377994B2 (ja) * | 2000-11-14 | 2003-02-17 | 三菱電機株式会社 | データ配信管理装置およびデータ配信管理方法 |
US6853641B2 (en) * | 2000-12-20 | 2005-02-08 | Nortel Networks Limited | Method of protecting traffic in a mesh network |
US8428056B2 (en) * | 2000-12-22 | 2013-04-23 | Avaya, Inc. | Generation of redundant scheduled network paths using a branch and merge technique |
JP3709795B2 (ja) * | 2001-02-05 | 2005-10-26 | 日本電気株式会社 | コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法 |
US6892205B1 (en) * | 2001-02-28 | 2005-05-10 | Oracle International Corporation | System and method for pre-compiling a source cursor into a target library cache |
US7069317B1 (en) * | 2001-02-28 | 2006-06-27 | Oracle International Corporation | System and method for providing out-of-band notification of service changes |
US7058629B1 (en) | 2001-02-28 | 2006-06-06 | Oracle International Corporation | System and method for detecting termination of an application instance using locks |
US6725191B2 (en) * | 2001-07-19 | 2004-04-20 | Vocaltec Communications Limited | Method and apparatus for transmitting voice over internet |
WO2003013102A1 (en) * | 2001-08-02 | 2003-02-13 | Sun Microsystems, Inc. | Filtering redundant packets in computer network equipments |
US7046636B1 (en) * | 2001-11-26 | 2006-05-16 | Cisco Technology, Inc. | System and method for adaptively improving voice quality throughout a communication session |
US20030115319A1 (en) * | 2001-12-17 | 2003-06-19 | Dawson Jeffrey L. | Network paths |
FR2840482B1 (fr) * | 2002-05-28 | 2004-10-15 | Thales Sa | Procede de reconstitution de messages achemines par un ou plusieurs reseaux de transmission par paquets |
JP3880482B2 (ja) | 2002-08-14 | 2007-02-14 | エヌイーシーコンピュータテクノ株式会社 | 二重化ネットワーク計算機システム及び計算機システムのネットワーク二重化方法 |
US7796503B2 (en) | 2002-09-03 | 2010-09-14 | Fujitsu Limited | Fault tolerant network routing |
US7352753B2 (en) | 2002-12-31 | 2008-04-01 | Nokia Corporation | Method, system and mirror driver for LAN mirroring |
EP1450518A1 (en) * | 2003-02-24 | 2004-08-25 | Sema S.A. | Mirroring queue daemon |
US7188189B2 (en) * | 2003-04-02 | 2007-03-06 | Avaya Technology Corp. | System and method to improve the resiliency and performance of enterprise networks by utilizing in-built network redundancy |
US8626944B2 (en) * | 2003-05-05 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | System and method for efficient replication of files |
WO2006001060A1 (ja) * | 2004-06-25 | 2006-01-05 | Mitsubishi Denki Kabushiki Kaisha | ネットワークシステム、送信側スイッチ装置、受信側スイッチ装置、両用スイッチ装置およびフレームデータの送信方法 |
EP1768328B1 (en) * | 2004-07-14 | 2012-12-26 | Nippon Telegraph And Telephone Corporation | Packet transmission method and packet transmission device |
JPWO2006090789A1 (ja) * | 2005-02-25 | 2008-07-24 | ソフトバンクBb株式会社 | データ通信システム及びデータ通信方法 |
US7590756B2 (en) | 2005-05-13 | 2009-09-15 | Itt Manufacturing Enterprises, Inc. | Method and system for transferring data in a communications network using redundant communication paths |
WO2007029337A1 (ja) * | 2005-09-09 | 2007-03-15 | Fujitsu Limited | データ損失を低減するアドホック系ネットワーク装置 |
US20070110034A1 (en) * | 2005-11-14 | 2007-05-17 | Broadcom Corporation, A California Corporation | Pathways analysis and control in packet and circuit switched communication networks |
US7626994B2 (en) | 2005-11-14 | 2009-12-01 | Broadcom Corporation | Multiple node applications cooperatively managing a plurality of packet switched network pathways |
US8483100B2 (en) | 2005-11-14 | 2013-07-09 | Broadcom Corporation | Communication device supporting both internet and public switched telephone network telephony |
US8274970B2 (en) | 2005-11-14 | 2012-09-25 | Broadcom Corporation | Voice communication device with PSTN and internet pathway analysis, selection and handoff |
US20070133426A1 (en) * | 2005-12-06 | 2007-06-14 | Micrel, Inc. | Data encoding and decoding method for transmitting multiple redundant copies of a data packet |
US8989006B2 (en) | 2005-12-29 | 2015-03-24 | General Instrument Corporation | Method and apparatus for glitchless failover to redundant stream |
US20070255803A1 (en) * | 2006-04-28 | 2007-11-01 | Gabe Cherian | X-mail (tm) |
US20070286351A1 (en) * | 2006-05-23 | 2007-12-13 | Cisco Technology, Inc. | Method and System for Adaptive Media Quality Monitoring |
JP2008211682A (ja) * | 2007-02-27 | 2008-09-11 | Fujitsu Ltd | 受信プログラム、送信プログラム、送受信システム、および送受信方法 |
US8248953B2 (en) | 2007-07-25 | 2012-08-21 | Cisco Technology, Inc. | Detecting and isolating domain specific faults |
US8532012B2 (en) | 2007-12-07 | 2013-09-10 | Industrial Technology Research Institute | Methods and devices for scalable reception in wireless communication systems |
US7948910B2 (en) * | 2008-03-06 | 2011-05-24 | Cisco Technology, Inc. | Monitoring quality of a packet flow in packet-based communication networks |
EP2148473A1 (en) * | 2008-07-22 | 2010-01-27 | ABB Research Ltd | Switching nodes for high availability networks |
CN101662700A (zh) * | 2009-08-28 | 2010-03-03 | 中兴通讯股份有限公司 | 一种信令消息传递方法及系统 |
FR2994623B1 (fr) * | 2012-08-16 | 2015-11-13 | Astrium Sas | Dispositif et procede de transfert unidirectionnel de donnees |
WO2015020573A1 (en) * | 2013-08-08 | 2015-02-12 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and devices for media processing in distributed cloud |
GB201515496D0 (en) | 2015-09-01 | 2015-10-14 | Microsoft Technology Licensing Llc | Packet transmissions |
EP4195597A1 (en) | 2017-03-07 | 2023-06-14 | 128 Technology, Inc. | Routing device using flow duplication |
KR102648570B1 (ko) | 2020-11-03 | 2024-03-18 | 한국전자통신연구원 | 무손실 패킷 전달을 위한 전송 제어 방법 및 장치 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61224640A (ja) | 1985-03-29 | 1986-10-06 | Hitachi Ltd | デ−タブロツク転送方式 |
US5175765A (en) | 1989-05-09 | 1992-12-29 | Digital Equipment Corporation | Robust data broadcast over a distributed network with malicious failures |
JPH0342940A (ja) | 1989-07-11 | 1991-02-25 | Mitsubishi Electric Corp | Atm交換装置 |
US5371852A (en) | 1992-10-14 | 1994-12-06 | International Business Machines Corporation | Method and apparatus for making a cluster of computers appear as a single host on a network |
EP0637152A1 (en) * | 1993-07-30 | 1995-02-01 | International Business Machines Corporation | Method and apparatus to speed up the path selection in a packet switching network |
JPH0746250A (ja) | 1993-08-02 | 1995-02-14 | Nippon Telegr & Teleph Corp <Ntt> | 無中断伝送装置 |
DE4331577C2 (de) * | 1993-09-16 | 1995-12-07 | Siemens Ag | Verfahren und Schaltungsanordnung zum Übertragen von Nachrichtenzellen über redundante virtuelle Pfadpaare eines ATM-Kommunikationsnetzes |
JP2797968B2 (ja) | 1994-06-08 | 1998-09-17 | 日本電気株式会社 | Atm中継交換システム |
TW252248B (en) * | 1994-08-23 | 1995-07-21 | Ibm | A semiconductor memory based server for providing multimedia information on demand over wide area networks |
JPH08181697A (ja) | 1994-12-22 | 1996-07-12 | Nippon Telegr & Teleph Corp <Ntt> | 無中断伝送装置 |
JPH08256158A (ja) | 1995-03-17 | 1996-10-01 | Mitsubishi Electric Corp | 多経路伝送装置 |
KR970009034A (ko) * | 1995-07-31 | 1997-02-24 | 최상범 | 컴퓨터 통신 시스템의 실시간 음성정보 송수신장치 및 방법 |
KR0170500B1 (ko) * | 1995-11-18 | 1999-03-30 | 양승택 | 멀티프로세서 시스템 |
US6154445A (en) * | 1996-04-18 | 2000-11-28 | Bell Atlantic Network Services, Inc. | Telephony communication via varied redundant networks |
US5883891A (en) * | 1996-04-30 | 1999-03-16 | Williams; Wyatt | Method and apparatus for increased quality of voice transmission over the internet |
US6118780A (en) * | 1997-03-17 | 2000-09-12 | International Business Machines Corporation | Communication network and method of operation for real time user selection of voice and/or data paths in the network |
ATE389995T1 (de) * | 1997-03-27 | 2008-04-15 | Nokia Siemens Networks Gmbh | Redundantes übertragungssystem mit abschaltung einer übertragungsstrecke fehlerhaften übertragungsverhaltens |
US5928331A (en) * | 1997-10-30 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Distributed internet protocol-based real-time multimedia streaming architecture |
US6170075B1 (en) * | 1997-12-18 | 2001-01-02 | 3Com Corporation | Data and real-time media communication over a lossy network |
US6195349B1 (en) * | 1998-01-28 | 2001-02-27 | 3Com Corporation | Scalable logical LAN |
US6058116A (en) * | 1998-04-15 | 2000-05-02 | 3Com Corporation | Interconnected trunk cluster arrangement |
-
1998
- 1998-06-05 US US09/092,824 patent/US6466574B1/en not_active Expired - Lifetime
- 1998-12-29 IL IL12779498A patent/IL127794A/en not_active IP Right Cessation
-
1999
- 1999-05-17 EP EP99303835A patent/EP0963082A3/en not_active Withdrawn
- 1999-05-20 CN CNB991066804A patent/CN100476766C/zh not_active Expired - Fee Related
- 1999-05-20 JP JP14063899A patent/JP3127153B2/ja not_active Expired - Fee Related
- 1999-05-31 TW TW088108971A patent/TW429708B/zh not_active IP Right Cessation
- 1999-06-04 KR KR1019990020603A patent/KR100337221B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1297169C (zh) * | 2002-09-19 | 2007-01-24 | 株式会社Ntt都科摩 | 信息包通信终端、信息包通信系统及信息包通信方法 |
CN107210976A (zh) * | 2015-01-30 | 2017-09-26 | 华为技术有限公司 | 用于在网络中转发数据分组的方法及其可编程入口和出口节点 |
CN107210976B (zh) * | 2015-01-30 | 2020-11-10 | 华为技术有限公司 | 用于在网络中转发数据分组的方法及其可编程入口和出口节点 |
CN108965624A (zh) * | 2018-07-09 | 2018-12-07 | 南京莱斯电子设备有限公司 | 一种用于VoIP话音通信系统的冗余架构及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100337221B1 (ko) | 2002-05-17 |
JP2000022752A (ja) | 2000-01-21 |
IL127794A0 (en) | 1999-10-28 |
EP0963082A3 (en) | 2000-08-30 |
TW429708B (en) | 2001-04-11 |
JP3127153B2 (ja) | 2001-01-22 |
CN100476766C (zh) | 2009-04-08 |
EP0963082A2 (en) | 1999-12-08 |
US6466574B1 (en) | 2002-10-15 |
IL127794A (en) | 2002-11-10 |
KR20000005914A (ko) | 2000-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1242548A (zh) | 通过传输冗余语音/媒体帧进行因特网实时媒体传输的方法 | |
US20210281895A1 (en) | Layered multicast and fair bandwidth allocation and packet prioritization | |
JP4495515B2 (ja) | マルチキャスト会議データの信頼性の高い配信 | |
Chawathe et al. | RMX: Reliable multicast for heterogeneous networks | |
CN101047714B (zh) | 一种处理网络数据的方法及系统 | |
CN1458590A (zh) | 用网络栈同步和上载已卸载网络栈连接的方法 | |
CN1592260A (zh) | 路由器设备、路由信息发布方法、和通信系统 | |
CN100336366C (zh) | 移动体ip数据通信系统 | |
KR20040041175A (ko) | 패킷 처리용 시스템 및 방법 | |
CN102474467A (zh) | 使用父-子链路聚合组的服务器端负载均衡 | |
CN1625160A (zh) | 可控制数据包传送的交换器及相关方法 | |
WO2006133655A1 (fr) | Procede pour la transmission fiable de donnees utilisant un protocole de multidiffusion et de diffusion individuelle et hote pour la reception des donnees | |
CN1287576C (zh) | 通信网中用于减小数据处理时间的方法和设备 | |
US7317692B2 (en) | Network path discovery | |
US6983334B2 (en) | Method and system of tracking missing packets in a multicast TFTP environment | |
CN1237758C (zh) | 路由因特网数据分组的方法、接入节点及终端和通信网络 | |
CN1745541A (zh) | 基于网际协议的通信系统的资源共享 | |
CN108234325B (zh) | 基于ip任播的系统及报文转发方法 | |
CN103999404A (zh) | 针对服务质量支持的第三版互联网组管理协议 | |
CN1345502A (zh) | 发送数据的方法 | |
US20080056263A1 (en) | Efficient transport layer processing of incoming packets | |
CN101232510A (zh) | 一种多网口设备组播的实现方法及系统 | |
US11251993B2 (en) | Gateway apparatus, message transmission method, and program | |
CN101039205A (zh) | 一种转发层代理pim的方法及路由设备 | |
CN1783871A (zh) | 一种用于sip电话业务的负载均衡系统、装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090408 Termination date: 20100520 |