CN1574798B - 受控跨网络边界媒体流中继机 - Google Patents
受控跨网络边界媒体流中继机 Download PDFInfo
- Publication number
- CN1574798B CN1574798B CN2004100474822A CN200410047482A CN1574798B CN 1574798 B CN1574798 B CN 1574798B CN 2004100474822 A CN2004100474822 A CN 2004100474822A CN 200410047482 A CN200410047482 A CN 200410047482A CN 1574798 B CN1574798 B CN 1574798B
- Authority
- CN
- China
- Prior art keywords
- media
- medium
- configurator
- relays
- machine
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000013507 mapping Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 12
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000000717 retained effect Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000007599 discharging Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 30
- 238000012545 processing Methods 0.000 description 11
- 238000013519 translation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000011664 signaling Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000007257 malfunction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000012010 growth Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 230000003760 hair shine Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008595 infiltration Effects 0.000 description 1
- 238000001764 infiltration Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1043—Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2582—NAT traversal through control of the NAT server, e.g. using universal plug and play [UPnP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2585—NAT traversal through application level gateway [ALG]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明为跨网络边界的媒体流提供建立媒体对话的装置和方法。该系统包括由媒体配置器控制模块控制的媒体中继机。该媒体中继机保留媒体路径(包括网络边界中的端口),打开媒体路径,关闭媒体路径,并提供关于媒体路径的信息。媒体配置器适应于与媒体配置器控制模块和媒体中继机通信。该控制模块具有处理多媒体对话事件的事件处理器、确定媒体对话的地址标识符是否属于专用地址空间的本地地址分解器和用于建立媒体路径的控制元件。该控制元件管理用于媒体中继机的资源。状态刷新定时器用于维持所有由代理引擎控制的媒体中继机和控制元件之间的状态一致性。
Description
(1)技术领域
本发明一般涉及电子数据处理,具体涉及跨网络边界的流式传输数据的流程的管理。
(2)背景技术
用于在数字设备观赏数字格式声像组合的数字多媒体在容量和衍生上快速增长。如今几乎每台新制造的个人电脑都包含一定形式的多媒体。诸如相机、录影机、电话和电视机等数字产品的销售都在稳定增长。随着因特网快速稳定的成长,多媒体在因特网领域变得越来越普及。这种计算机设备的用户对性能的期望也随着这种成长一起增长了。用户增长的期望不单延伸到硬件性能还延伸到数据自身的处理性能。
为多媒体应用开发了称为流式传输的技术来满足这些增长的期望。流式传输使数据可传输得能作为一条稳定且连续的流进行处理。这样的好处是数据可在发送完整个文件之前得以显示或收听,这是大型多媒体文件和诸如音频和视频数据等的实时媒体所必需的。
流式传输和发送媒体的一个一般问题是媒体跨网络边界的传递。网络的边界用于防止网络不合乎要求的渗透。通常将网络边界定义成一实体,它实际终接一网络并且/或者与另一网络连接,又终接一网络的逻辑地址空间并使其它网络的另一逻辑地址空间开始。信息业响应于这一问题并开发了发送媒体的信令协议。许多用于发送媒体的信令协议用熟知的地址信息在主信道上发信令和启动对话并有在一个或多个辅助信道上启动媒体传送的规定。在辅助信道上的地址信息不固定,是动态分配的。由于对辅助信道的端口分配的短暂性,网络边界不可能静态地配置成顾及媒体传过网络边界。因此,必须在边界上实施受控“孔”开关。在点对点对话中,在两端均可始发媒体。如果端点布局上位于网络边界的不同侧,两端点可以实现个体防火墙作为让媒体穿越到其它端点的途径。
信息业对这一问题作出响应。多数在公用网上发送的多媒体都使用IP协议。以IP协议发送的多媒体数据在协议信息中插入了IP地址和端口。一种解决办法是使用应用层网关(ALG)防火墙。ALG防火墙是检验应用协议流并只允许与安全政策相符的信息通过的应用意识防火墙。这种防火墙需要知道协议,以便能提取、变更或使用地址信息(例如:IP地址和端口)。ALG防火墙可以为特定的协议设计成协议意识。然而,这种ALG防火墙在网络中有潜在的瓶颈,因为它们需要额外的逻辑和处理来解析并理解应用协议。
另外,在实施多媒体保安方案的系统中,ALG防火墙有可能不起作用。例如:如果协议信息被加密且ALG防火墙不是具有所需密钥和运算法则的可信任实体,ALG防火墙将不能决定路由、安全等等,并会失效。另外,现在的多数部署在网络中的防火墙都不是多媒体协议意识。这些防火墙将不得不升级成贵得惊人的协议意识。另外,在现实的网络操作环境中,通常沿多媒体流的往返移动路径设置一系列的防火墙和NAT装置。为了确保多媒体的往返移动,每道防火墙都需是协议意识ALG防火墙。这意味着对已经部署的防火墙的新的投资和控制改变。随着新版本的协议不断地推出,ALG防火墙必需不断地升级以支持新的协议版本。这种控制改变和不断升级将带来防火墙的安全缺口,将网络暴露给入侵。
(3)发明内容
本发明提供为跨网络边界的媒体流建立媒体对话的方法和系统。该系统包括一用于控制媒体中继机的媒体配置器控制模块。该媒体中继机保留媒体路径(它包含网络边界中的端口),打开媒体路径和端口,关闭媒体路径并提供关于媒体路径的信息。作为中介配置器控制模块的模块部分的媒体配置器适应于与媒体配置器控制模块和媒体中继机进行通信。
媒体配置器控制模块有一适应于处理从代理引擎接收到的多媒体对话事件的事件处理器。本地地址分解器与事件处理器通信并适应于确定媒体对话的地址标识符是否属于专用地址空间,并且当标识符属于专用地址空间时,确定用一控制元件或一控制元件组建立一条一端由地址标识符决定的媒体路径。控制元件为与事件处理器通信的客体。控制元件管理用于媒体中继机的资源。
媒体配置器控制模块还有一状态刷新定时器。该状态刷新定时器适应于找到超过规定时间还没有运行状态一致性核查的控制元件。状态一致性核查用来维持媒体中继机和与媒体中继机相关的控制元件之间的状态一致性。运行核查的原因是媒体中继机有可能在与运行媒体配置器控制模块的机器实体上不同的机器上运行。对每个超过规定时间还没有运行状态一致性核查的控制元件启动状态一致性核查。状态一致性核查包含锁定控制元件,检索所有位于由控制元件管理的媒体中继机建立的地址映射上的数据并决定由控制元件管理的媒体中继机和控制元件在建立的地址映射上是否有相同的信息。如发现由媒体中继机建立的映射和由控制元件映射的映射信息之间的不一致,释放所有与由控制元件映射但不在媒体中继机中的当前映射中的映射关联的端口并有条件地保留在媒体中继机中但不在控制元件映射中的映射。然后使该控制元件解锁。
多媒体对话事件包括对话启动信息、对话确认信息、对话建立信息、对话改变信息和对话终止信息。事件处理器响应于接收对话启动信息,通过本地地址分解器决定媒体流是否跨越专用和公用地址空间之间的边界,在媒体流跨边界时为数据流保留一条媒体路径,为使媒体配置器保留包括至少一个端口的媒体路径通过至少一个控制元件向该媒体配置器发送媒体路径保留请求,如保留请求成功,就在暂时存储器中存储为保留端口作的保留,修改对话描述以使对流公告的地址标识符变为保留的地址标识符,并向代理引擎发送一修改后的对话描述。
事件处理器响应于接收对话确认信息检索为媒体路径保留的公用地址参数,向媒体配置器发送媒体路径打开请求和有所保留的公用地址参数,如媒体路径打开请求成功,则对媒体路径修改涉及已打开的路径的对话描述,并向代理引擎发送修改后的对话描述。
事件处理器响应于接收对话终止信息,取得用于媒体对话的已打开的媒体路径的地址参数,向媒体配置器发送关闭具有该地址参数的媒体路径的请求,并在已开放媒体路径关闭后向代理引擎发送终止对话信息。
媒体中继机由发送到媒体配置器的命令控制。该形成应用编程接口的命令包含使媒体配置器初始化并提供媒体中继机的网络名的初始化命令、保留特定媒体路径的保留媒体路径命令、打开特定媒体路径的打开媒体路径命令和关闭特定媒体路径的关闭媒体路径命令。另外,将关闭所有媒体路径命令用于关闭由媒体配置器建立的所有媒体路径,将查询媒体路径信息命令用于取得关于媒体路径的信息。
本发明的附加特征和优点将因以下参照附图对实施例的详细描述而变得明显。
(4)附图说明
虽然所附的权利要求书详细地陈述了本发明的特征,本发明连同目的和优点可以从以下结合附图的详细描述得到最佳的理解:
图1为大体上示出本发明所驻留的示例性计算机系统的方框图;
图2为大体上示出本发明工作的示例性环境的方框图;
图3a为大体上示出根据本发明的传授在专用地址空间建立用户启动的媒体对话的步骤的方框图;
图3b为大体上示出建立根据本发明的传授在公用地址空间建立用户启动的媒体对话的步骤方框图;
图4为大体上示出根据本发明的传授当客户机在不同专用地址空间时建立媒体对话的步骤方框图;
图5为大体上示出本发明的元件如何与实时通信服务器的元件连接的方框图;
图6为本发明的媒体中继机控制模块的方框图;
图7为示出媒体中继机控制模块开始启动媒体对话的步骤的流程图;
图8为示出媒体中继机控制模块开始接通媒体对话的步骤的流程图;
图9为示出媒体中继机控制模块开始终止媒体对话的步骤的流程图;
(5)具体实施方式
本发明提供从两个方向中任一个或两个方向的网络边界通过诸如音频和视频数据等实时多媒体的系统和方法。本发明的媒体中继机动态地配置的防火墙堵在媒体路径中,使媒体可在一个或两个方向上流动,并翻译嵌入在辅助信道的首标(例如:UDP/IP,TCP/IP等等)的媒体流动地址信息。媒体中继机管理端口的范围及代表防火墙的IP地址。媒体控制模块被用来连接媒体中继机和运行服务器引擎或实时通信(RTC)服务器的代理引擎的服务器操作系统。这使得在信令协议改变或出现新的协议时已配置防火墙的系统能继续使用防火墙。例如:服务器引擎可以是微软公司生产的微软实时通信服务器2003的服务引擎。
见附图,其中同样的参考号指同种元件,本发明图示成在一合适的计算机环境中实施。尽管没有要求,但本发明将在计算机可执行指令的总的上下文中描述,例如由个人电脑执行的程序模块。程序模块通常包含例程、程序、对象、元件、数据结构等等,它们执行具体的任务或实施具体的抽象数据类型。另外,本领域的技术人员会理解本发明可使用其它计算机系统配置,包括:手提式装置、多处理器系统、以微处理器为基础的可编程的消费电子设备网络PC机、微型机算机、大型机等等。本发明还可用于分布式的计算机环境,其中任务是由通过通信网络连接的远程处理装置执行的。在分布式计算机环境中,程序模块可以定位于本地和远程的存储装置。
图1示出本发明可以实施的适合的计算机环境100的例子。该计算机环境100仅仅是适合的计算机环境的一个例子而非对本发明的使用范围或功能性的任何限定。不能将计算机环境100解释成依赖或要求示例性环境100中所示元件中的任一个或其组合。
本发明可与许多其它通用或特殊用途计算机系统环境或配置一起操作。可以适合于与本发明一起使用的公知计算机系统、环境和/或配置的例子包含但不局限于个人电脑、服务器计算机、手提式或膝上装置、多处理器系统、基于微处理器的系统、固定机顶盒、可编程消费电子产品、网络PC机、微型计算机、大型计算机、包含任何以上系统或装置的分布式计算机环境等等。
本发明将在计算机可执行指令的总的上下文中描述,例如由电脑执行的程序模块。程序模块通常包含例程、程序、对象、元件、数据结构等等,它们执行具体的任务或实施具体的抽象数据类型。本发明还可用于分布式的计算机环境,其中任务是由通过通信网络连接的远程处理装置执行的。在分布式计算机环境中,程序模块可以定位于本地和远程的存储装置。
参照图1,实施本发明的示例系统包括以计算机110的形式出现的通用计算装置。计算机110的元件可包含但不局限于处理单元120、系统存储器130和将包含系统存储器的多种系统元件连接到处理单元120的系统总线121。该系统总线121可以是包括存储器总线或存储器控制器、外围总线和使用多种总线结构中任一种的本地总线在内的多种总线结构中的任一种。作为示例而不是限定,这些结构包括行业标准结构(ISA)总线、微通道结构(MCA)总线、强化行业标准结构(EISA)总线、视频电子设备标准协会(VESA)本地总线和周边元件互连接口(PCI)总线也称夹层总线。
计算机110通常包含多种计算机可读媒体。计算机可读媒体可以是可以由计算机110存取的任何媒体并包含易失性和非易失性媒体且可换及不可换媒体。作为示例而非限定,计算机可读媒体可包括计算机存储器媒体和通信媒体。计算机存储器媒体包含以任何方法或工艺实施于存储诸如计算机可读命令、数据结构、程序模块或其它数据等信息的易失性和非易失性媒体、可换及不可换媒体。计算机存储器媒体包含但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字通用光盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储装置或其它任何一种可用于存储所需信息并可由计算机110存取的媒体。通信媒体通常包含在诸如载波等已调数据信号或其它传输机构实施计算机可读命令、数据结构、程序模块或其它数据。已调数据信号的意思是已用诸如将信息编码于信号等方式调整或改变一个或多个特性的信号。作为示例而非限定,通信媒体包含诸如有线网络或直接有线连接的有线媒体和诸如声、RF、红外线的无线媒体和其它无线媒体。
系统存储器130包含诸如只读存储器(ROM)131和随机存取存储器(RAM)132等易失和/或非易失性存储器形式的计算机存储器媒体。基本输入/输出系统133(BIOS)包含帮助在计算机110中的元件间传送信息的基本例行程序,例如在启动时通常存储在ROM131。RAM132通常包含数据和/或可立即存取和/或当前由处理单元120操作的程序模块。作为示例而非限定,图1示出操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包含其它可换/不可换、易失性/非易失性计算机存储器媒体。仅作为示例,图1示出读取或写入不可换且非易失性磁媒体的硬盘驱动器141、读取或写入可换且非易失性光盘152的磁盘驱动器151以及读取或写入,诸如CD ROM或其它光学媒体的可换且非易失性光盘156的光盘驱动器155。其它可用于示例的操作环境的可换/不可换、易失性/非易失性计算机存储器媒体包含但不限于磁带盒、闪速存储卡、数字通用光盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过一个诸如接口140的不可换存储接口连接到系统总线121,硬盘驱动器151和光盘驱动器155通常通过诸如接口150的可换存储器接口连接到系统总线121。
以上讨论的并在图1示出的驱动器及与其相关联的计算机存储器媒体给计算机110提供计算机可读命令的存储器、数据结构、程序模块和用于计算机110的其它数据。例如在图1中硬盘驱动器141图示为对操作系统144、应用程序145、其它程序模块146及程序数据147进行存储。注意这些元件既可与操作系统134、应用程序135、其它程序模块136及程序数据137相同也可与之不同。这里将操作系统144、应用程序145、其它程序模块146及程序数据147标以不同的号码是为了表示它们至少是不同的版本。用户可以通过诸如键盘162、麦克风163的输入装置和诸如鼠标、跟踪球或触摸板的点击设备将命令和信息输入计算机110。其它输入装置(未示出)可包含操纵杆、游戏盘、圆盘式卫星电视无线、扫描仪等等。这些及其它输入装置常常通过耦合至系统总线的用户输入接口160连接到处理单元120,但可以由其它接口或诸如并行端口、游戏端口或通用串行总线(USB)的总线结构连接。监视器191或其它类型的显示装置也经过诸如视频接口190的接口连接至系统总线121。除了监视器之外,计算机还可包含其它诸如扬声器197、打印机196等可通过输出外围接口195连接的外围输出设备。
计算机110可在使用逻辑连接到一个或多个诸如远程计算机180的远程计算机的联网环境中操作。远程计算机180可以是个人计算机、手提装置、服务器、路由器、PC网、同类设备或其它常用网络节点,并通常包含许多或所有上述与计算机110相关的元件,尽管图1仅示出存储器装置181,图1所示的逻辑连接包含局域网(LAN)171和广域网(WAN)173,但也包含其它网络。这些联网环境在办公室、企业范围网、企业内部互联网和互联网中是很平常的。
在用于局域网联网环境时,计算机110由网络接口或适配器170连接至局域网170。在用于广域网联网环境时,计算机110通常包含调制解调器172或其它用于在诸如互联网的广域网173上建立通信的装置。调制解调器172可以是内置的或外置的,可以通过用户输入接口160或其它适合的机构与系统总线121相连。在联网环境中,以上描述的与计算机110关联的程序模块或其一部分可以存储在远程存储装置。作为示例而非限定,图1示出位于远程计算机181上的远程应用程序185。可以理解图示的网络连接是示例还可以使用建立计算机间通信连接的其它手段。
在以下的描述中,本发明将参照由一个或多个计算机(除非另外指出的)执行的动作和运算符号表示。这样,可以理解这种有时称为计算机执行的动作和运算包括对代表结构形式数据的电信号的处理计算机的处理单元操作。这种处理转换数据或将它维持在计算机的存储系统中的一些位置,该处理以本领域技术人员熟知的方式重新配置或改变计算机的操作。数据被维持的的数据结构是具有由数据格式规定的具体特性的存储器物理位置。虽然在上述环境中描述了本发明,但它不意味着限制,本领域的技术人员会理解,以下描述的多种动作和操作也可以用硬件实现。对话启动协议(SIP)(RFC2843)将用于描述本发明。本发明的元件和其它元件之间的信息名将使用SIP名。可以理解其它协议和信息名可以被使用。
图2示出可以操作本发明的合适的操作环境200的示例。图2示出可部署本发明的几种方法。防火墙202、204、206、208位于企业210的周边。媒体中继机220由代理引擎222控制且伺服具有媒体源/宿2281-2283的逻辑域224、226。媒体中继机230由代理引擎232控制且伺服具有媒体源/宿2284-2285的逻辑域234。媒体中继机236由代理引擎232控制且服务于具有媒体源/宿2286的逻辑域238。应理解的是代理引擎可伺服单个或多个媒体中继机,多个代理引擎可控制单个媒体中继机(当分配给每个代理引擎的地址资源为不连续时)或多个媒体中继机。还应理解的是操作环境200仅仅是合适的操作环境的一个例子而不是对本发明的使用范围和功能性的限定。不能把计算机环境200解释成带任何依赖性也不能解释成依赖或要求示例性环境200中所示元件中的任一个或其组合。
请见图3a和3b,在操作中,邀请请求(即,一发送给用户(或服务)请求加入发送者和接收者之间的对话的请求)被发送至代理引擎300。在出站呼叫中,该邀请请求是由客户机302(线320)发送的。代理引擎300提取媒体IP地址和端口并存储它们。它保留来自建立对话时要使用的共用地址资源组的公用标识符(例如:用于建立媒体通信业务的公用UDP/IP或TCP/IP地址和端口组)。代理引擎300也修改对话描述协议(SDP)“细节”,以将所述邀请请求的媒体地址/端口变为媒体中继机302的公用地址/端口。代理引擎300通过防火墙306(线322-326)将经修改的邀请请求传递给公用客户机308。客户机308机回答OK(线328、330)。防火墙306将OK传送至代理引擎300(线332)。代理引擎300从OK信息中提取媒体IP地址和端口并存储它们。它修改SDP细节使媒体地址/端口变为媒体中继机304的专用地址/端口。代理引擎将OK传送至客户机302(线334)。在接收到ok之后,客户机302启动媒体(线336)并发送ACK。代理引擎300接收ACK并向媒体中继机304发送请求和它存储的信息(媒体IP地址和端口)(线338)。媒体中继机304为RTP和RTCP流或传输建立地址映射,以在客户机302、308之间流动。ACK到达客户机308(线340-344),客户机308当媒体流动为双向时启动媒体流程。媒体在线336-344上流动。
在入站呼叫中,邀请请求是由公用网络(线350)上的客户机308发出的。邀请请求到达防火墙306(例如:到达防火墙的端口5060)。应该认识到防火墙必须配置成发送至端口5060的入站呼叫被发送至RTC服务器,其中的专用地址空间放置了媒体配置控制模块。现有的防火墙考虑到要建立这种映射。防火墙306将邀请请求传递到代理引擎(线354)。代理引擎300提取媒体IP地址和端口并存储它们。它保留来自建立对话时要使用的共和地址资源组的公用标识符。代理引擎300也修改对话描述协议(SDP)″细节″,以将所述邀请请求的媒体地址/端口变为媒体中继机302的公用地址/端口。代理引擎300将经修改的邀请请求传递给客户机302(线356)。客户机302回答OK(线358)。代理引擎300从OK信息中提取媒体IP地址和端口并存储它们。它也修改SDP“细节”,使媒体地址/端口变为媒体中继机304的专用地址/端口。代理引擎通过防火墙306(线360-364)将OK传送至客户机308。在接收到ok之后,客户机308启动媒体(线366)并发送ACK。代理引擎300接收ACK并向媒体中继机304发送请求和它存储的信息(媒体IP地址和端口)(线370)。媒体中继机304为RTP和RTCP流或传输建立地址映射,以在客户机302、308之间流动。ACK到达客户机302,客户机302当媒体流为双向时开始媒体流。媒体在线366-368、372-374上流动。
见图4,在两个客户都位于专用网络时发生相似控制流程。在图4中,客户机302位于防火墙306后面的专用网络400,客户机308位于防火墙404后面的专用网络402。在防火墙306和404之间的是诸如因特网的公用网络406。网络402具有代理引擎/媒体中继机408。通过线410-418及在线420-428上流动的媒体流发送建立媒体对话的控制信息。代理引擎/媒体中继机接收邀请请求并修改SDP“细节”,使媒体流象先前描述的那样在到达客户前,先流到媒体中继机。
安装并不断开发许多种防火墙。这些防火墙中有许多都有自已的专用软件与路由器、客户等连接。见图5,代理引擎500通过媒体控制模块520与媒体中继机510通信。媒体控制模块520从相关消息(例如:邀请请求)提取媒体路由信息(IP地址、UDP端口),引导媒体中继机520对媒体流程建立/放弃NAT(网络地址翻译器)映射,并对代理引擎500传送有关建立的NAT映射的信息。
代理引擎500包括基栈502和代理逻辑电路504。基栈502将从Winsock(在TCP或UDP传输上)接收到的原始字符流等转换成协议信息流。例如:如果基栈502为SIP基栈,它将原始字符流等转换成SIP信息流。代理逻辑电路将协议信息发送到已登记用于交易事件、多媒体对话事件或呼叫事件的扩展模块。媒体中继机控制模块520被归类为扩展模块。该媒体中继机控制模块520与代理引擎500一起登记,以传送所有多媒体对话事件。当代理引擎500检测到媒体中继机控制模块登记过的多媒体对话事件时,它通知媒体中继机控制模块并将信息传递给媒体中继机控制模块。媒体中继机控制模块520从信息中提取需要的信息,决定联系哪一个媒体中继机510,并向媒体中继机510发送一个做以下动作之一的请求:根据信息中给定的参数为媒体可双向流动作准备;打开用于信息所属的对话的双向媒体路径;关闭用于信息所属的对话的双向媒体路径;检索代理引擎500的关注统计数字。
管理实体506为扩展模块提供管理服务。这些管理服务包括模块的启动和关闭、当整个系统启动或关闭时模块配置的存储和恢复以及模块配置中的动态改变机构。管理实体的例子是管理模块、SIP模块控制器、命令行解释程序和图形UI支持模块。
见图6,媒体中继机控制模块520包括翻译管理层522和媒体配置器5241-524N。翻译管理层522管理分配给所有由代理引擎500管理的媒体中继机510的地址资源。该翻译管理层522完成几个逻辑功能。它从代理引擎500接收多媒体对话事件和相关的协议信息(如:SIP信息)并提取关于已传送信息中公告的媒体流的信息。翻译管理层522决定媒体对话中的媒体流是否跨企业网络的专用/公用边界。如果媒体对话中的媒体流跨企业网络的专用/公用边界,翻译管理层522决定哪一个媒体配置器将控制用于流的媒体路径。翻译管理层522将对话事件转换成合适的保留、打开或关闭媒体路径的请求。然后将所述请求发送至选定的媒体配置器并在媒体配置器不能打开或关闭用于流的媒体路径时执行需要的动作。媒体配置器5241-524N是实施代理引擎500和媒体中继机之间通信的实体。每个媒体配置器使用一可被相应媒体中继机理解的控制协议与相应的媒体中继机通信。
如前所述,管理实体506提供管理服务。对媒体控制模块520而言,这些管理服务包括启动、停止、存储、恢复、初始化和关闭命令。状态管理层508从基栈502接收协议信息流并将协议信息发送给事件处理器526。例如:如果基栈为SIP基栈,该协议信息可包括邀请请求、OK信息、ACK信息、BYE信息和撤销(CANCEL)信息。该状态管理层508将协议信息转变为对话启动、对话确认、对话建立、对话改变和对话终止信息。
事件处理器526提供由代理引擎500传送的多媒体事件的处理。本地地址翻译器528对一给定地址标识符(IP地址或域名)决定该地址标识符是否属于专用地址空间。它使用专用域中的地址的本地地址数据库和由媒体控制模块520控制的域的本地域数据库。如果地址标识符属于专用地址空间,本地地址翻译器528决定哪个控制元件530或控制组应用于建立媒体路径。
控制元件530是由翻译管理层522为了代表具有所有分配给它的资源的单个媒体中继机510而建立的媒体中继机510的抽象体。控制元件530知道所有分配给媒体中继机的资源并管理那些代表媒体中继机的资源。控制元件的信息包括媒体中继机的控制IP地址、它的域名、媒体中继机服务器的专用地址的范围、分配给媒体中继机的公用地址标识符的范围(即,公用IP地址和端口范围)、用来与媒体中继机通信的控制协议和有关媒体中继机的其它配置信息。出于加载平衡的目的,控制元件组合成一控制组532。控制组532是服务于同一专用地址标识符的子集(例如:逻辑域)的一组控制元件。建立控制组来分配来自多个中继机和/或防火墙中高密度逻辑域的加载。
例如:控制组5321包括与媒体配置5241连接的控制元件5301用来与媒体中继机通信。类似地,控制组5322包括控制元件5302和5303,控制组5323包括控制元件5304、5305和5306。当将专用地址范围提供给媒体中继机模块处理时,本地地址翻译器为每个范围示例一个控制组530。使控制组的索引与地址范围关连并存储在数据库中。
状态刷新定时器534为维持控制元件530和代理引擎500控制的所有媒体中继机之间状态一致性的实体。需要状态一致性是由于媒体中继机510可能在实体上与代理引擎500运行的机器不同的机器上运行,这样会导致连接“失时效”。到预定期时,状态刷新定时器找到超过一定时间未对其运行状态一致性核查的那些控制元件。然后定时器534对每个控制元件启动状态一致性核查。状态一致性核查锁定控制元件,在所有由媒体中继机控制元件管理建立的地址映射上检索数据,然后确定媒体中继机510和控制元件530是否在建立的地址映射上具有完全一样的信息。如发现由媒体中继机建立的映射和由媒体中继机的控制元件映射的映射信息之间存在差异,定时器534力图解决这一差异。它释放与由控制元件映射但不在媒体中继机的当前映射中的映射关联的端口并有条件地保留在媒体中继机中但不在控制元件映射中的映射。接着定时器为控制元件解锁。
如前所述,事件处理器526提供由代理引擎500传送的多媒体事件的处理。传送的信息包括对话启动、对话确认、对话建立、对话改变和对话终止的信息。代理引擎500接收到邀请信息,就向事件处理器526发送对话启动信息。见图7,事件处理器526执行对话启动保留程序。它决定来自对话启动信息的对话描述是否为空(步骤700)。如对话描述为空,则不保留端口。如对话描述不为空,则事件处理器526经过地址分解器528对在对话描述中公告的每个媒体流确定该媒体流是否跨专用和公用地址空间的边界(步骤702)。如媒体流不跨边界,则保留用于媒体流的媒体路径。这是由负责保留用于流的媒体路径的媒体配置器完成的(步骤704)。保留用于媒体路径的公用端口(步骤706)。通过合适的控制元件向媒体配置器发送媒体路径保留请求(步骤708)。如保留请求成功,保留端口的保留存入暂时存储器(步骤710)。修改对话描述,以使为媒体流公告的地址标识符对接收方有一定意义。如失败,释放所有先前为对话所作的媒体路径保留(步骤712)并通知代理引擎要终止该对话(步骤714)。
如至少一股对话中的媒体流跨越地址空间边界,修改对话描述,以从公用地址资源组对保留的端口改变为流公告的地址标识符(步骤716)。将保留的端口用于形成信令对话的EM(扩展模块)对话语境,并传送该端至代理引擎500,作为EM语境存储(步骤718)。经修改的信息被发送至远端客户机(步骤720)。
代理引擎500接收到OK回答时,它将对话确认信息发送给事件处理器526。见图8,事件处理器执行对话确认资源提交程序。从代理引擎检索EM语境(步骤800)。它确定EM语境是否为空(步骤802)。如EM语境为空,则运行对话启动保留程序(见图7)。如EM文本不为空,则对于每股对话描述中公告的媒体流,事件处理器526通过本地地址分解器528确定媒体流是否跨专用及公用地址空间的边界(步骤804)。如媒体流不跨边界,则核查下一股媒体流。如媒体流跨边界,从EM语境检索先前为媒体流保留的公用地址参数(步骤806)。从EM语境中检索进行控制的媒体配置器的索引(步骤808)。以先前保留的公用地址参数作为参数对媒体配置器发送媒体路径打开请求(例如:排队)(步骤810)。如排队成功,核查下一股媒体流。如排队失败,则对所有打开的对话中的路径将媒体路径关闭请求排队(步骤812)并通知代理引擎要终止对话(步骤814)。
如至少一股对话中的媒体流跨越地址空间边界,修改对话描述以适用于媒体流的打开的路径(步骤816)。将打开的端口作为信令对话的EM语境存储,并被传送至代理引擎500,作为EM语境存储(步骤818)。经修改的信息被发送至远端客户(步骤820)。
对话终止时,代理引擎500向事件处理器526发送对话终止信息。见图9,事件处理器执行对话终止程序。从由代理引擎500检索到的EM语境得到打开路径的信息(步骤900)。对于每个为对话打开的媒体路径,从EM对话语境检索媒体路径的地址参数(步骤902)。对于进行控制的媒体配置器的索引也是从EM对话语境中检索到的(步骤904)。关闭媒体路径的请求被发送至控制媒体配置器(步骤906)来命令媒体中继机关闭媒体路径。在所有媒体路径都关闭后,将终止对话信息发送至代理引擎500(步骤908)。
如前所述,媒体配置器524X通常负责媒体中继机510传送控制请求。通常每一NAT控制协议有一媒体配置器。媒体配置器可与防火墙通信以建立动态通道。媒体配置器做以下动作:从翻译管理层522(通过控制元件)接收对媒体中继机进行发送(通过I媒体配置器接口(IMediaConfiguratorinterface))的请求;将该请求转换成专用于模块支持的控制协议的格式;向媒体中继机发送该请求;发送一请求至防火墙来创造动态通道;接收来自媒体中继机的回答;将该回答从模块支持的专用控制协议的格式转换成控制元件理解的格式;向翻译管理层发送经转换的回答。
所有媒体配置器实施一编程接口。对编程接口的命令包括初始化、保留媒体路径、打开媒体路径、关闭媒体路径、关闭所有媒体路径、查询媒体路径信息和停机。初始化命令包括使媒体配置器初始化并提供媒体中继机的网络名。在初始化时,媒体配置器创建其专用数据结构,使其初始化并建立具有媒体中继机和防火墙的控制通道。如果媒体路径保留成功则命令送回OK。如不成功,则送回出错码。所述保留媒体路径命令保留媒体路径并提供要保留的媒体路径的完整或部分说明。如媒体路径成功保留则命令送回成功信息。如不成功则送回出错码。
打开媒体路径命令按规定以提供的参数打开媒体路径。提供的参数为要打开的媒体路径的完整的说明。媒体配置器向媒体中继机和防火墙传送路径打开请求(提交先前保留的映射)来打开端口。应当事先保留媒体路径。如媒体路径成功打开则命令送回成功信息。如不成功则送回出错码。
关闭媒体路径命令关闭媒体路径。用命令提供对媒体路径的处理。媒体配置器与媒体中继机通信以去除预先为媒体路径建立的映射,并与防火墙通信以关闭预先为媒体路径打开的公用端口。如媒体路径关闭成功则命令送回成功信息。如不成功则送回出错码。
关闭所有媒体路径命令通过媒体配置器关闭所有媒体路径。媒体配置器与媒体中继机通信以去除预先由媒体配置器建立的所有映射,并与防火墙通信以关闭由防火墙代表媒体配置器打开的所有公用端口。
查询媒体路径信息命令被用于获得有关媒体路径的信息。提供对正在检索信息的媒体路径的处理和该媒体数据路径的长度。还提供要交付信息的存储器的指针。如媒体路径信息检索成功则命令送回成功信息。如不成功则送回出错码。关闭命令关闭媒体配置器。释放所有取得的资源。
可见给出了一种把实时媒体传过网络周边的系统和方法。尽管是根据对话启动协议描述的,本发明仍可应用于其它信令协议。本发明的媒体中继机代表防火墙管理端口和地址的范围,藉此简化防火墙的设计。用于与媒体中继机通信的本发明的媒体中继机控制模块允许管理者使用任何类型的防火墙。
考虑到应用本发明的原理的许多可能的实施例,应该承认这里参照附图描述的实施例只是用作示例而不应作为对本发明范围的限定。例如:本领域的技术人员认可在软件中示出的实施例的元件可以在硬件中实施或反过来也一样,或者可以在不偏离本发明的精神的情况下修改例示的实施例的安排和细节。因此,这里描述的本发明想到了所有这些在以下权利要求和其等同物的范围内可能出现的实施例。
Claims (31)
1.一种用于控制媒体中继机的媒体配置器控制模块,其特征在于,所述媒体配置器控制模块包括:
适于处理从代理引擎处接收到的多媒体对话事件的事件处理器;
与所述事件处理器通信的本地地址分解器,该本地地址分解器适于确定地址标识符是否属于专用地址空间,并且在所述地址标识符属于专用地址空间时确定使用哪个控制元件来建立一条一端由地址标识符决定的媒体路径;和
与所述事件处理器通信的至少一个控制元件,该至少一个控制元件用于管理媒体中继机的资源;
其中,所述多媒体对话事件包括对话启动信息,响应于接收所述对话启动信息,所述事件处理器还适于通过所述本地地址分解器来确定媒体流是否跨专用和公用地址空间的边界,当所述媒体流跨所述边界时为所述媒体流保留一媒体路径,经过所述至少一个控制元件向媒体配置器发送媒体路径保留请求,为所述媒体配置器保留包括至少一个端口的媒体路径,如保留请求成功在暂时存储器中存储为该端口作的保留,修改对话描述以使对流公告的地址标识符变成保留的标识符,并向代理引擎发送修改后的对话描述。
2.如权利要求1所述的媒体配置器控制模块,其特征在于,所述至少一个控制元件与至少一个其它控制元件一起组成控制组。
3.如权利要求1所述的媒体配置器控制模块,其特征在于,还包括一状态刷新定时器,该状态刷新定时器适于:
找到超过规定时间还没有运行状态一致性核查的控制元件;
对于每个超过规定时间还没有运行状态一致性核查的控制元件:
启动状态一致性核查,该状态一致性核查包括:
锁定该控制元件;
在由所述控制元件管理的媒体中继机所建立的所有地址映射中检索数据;
确定由所述控制元件管理的媒体中继机是否和所述控制元件在所建立的地址映射上具有相同的信息;
如果发现由所述控制元件管理的媒体中继机所建立的地址映射与由所述控制元件所映射的映射信息间有差异,则:
释放与由所述控制元件映射但不在所述媒体中继机中的当前映射中的映射相关联的端口;
有条件地保留在所述媒体中继机中但不在所述控制元件的映射中的映射;和
使所述控制元件解锁。
4.如权利要求1所述的媒体配置器控制模块,其特征在于,还包括一媒体配置器,该媒体配置器适于与所述至少一个控制元件和媒体中继机通信。
5.如权利要求1所述的媒体配置器控制模块,其特征在于,其中多媒体对话事件包括对话确认信息,响应于接收该对话确认信息,所述事件处理器还适于检索为所述媒体路径保留的公用地址参数,向媒体配置器发送媒体路径打开请求和所保留的公用地址参数;如果媒体路径打开请求成功,则为所述媒体路径修改涉及已打开的路径的对话描述;向代理引擎发送修改后的对话描述。
6.如权利要求1所述的媒体配置器控制模块,其特征在于,所述多媒体对话事件包括对话终止信息,响应于接收所述对话终止信息,所述事件处理器还适于获取用于媒体对话的已打开媒体路径的地址参数,向媒体配置器发送关闭具有该地址参数的媒体路径的请求;在关闭已打开的媒体路径后向代理引擎发送终止对话信息。
7.一种用于从发送方向接收方发送媒体流的建立媒体对话的方法,其特征在于,包括以下步骤:
从代理引擎接收对话启动信息;
从所述对话启动信息中提取用于媒体流的地址标识符;
确定所述媒体流是否跨第一地址空间和第二地址空间之间的网络边界;
如果所述媒体流跨该网络边界,则:
确定用哪个媒体配置器来控制所述媒体流的媒体路径,并且所确定的媒体配置器使用能被相应的媒体中继机理解的控制协议与该相应的媒体中继机通信;
命令媒体中继机保留具有至少一个用于媒体的端口的媒体路径;
如保留了至少一个端口,则:
在暂时存储器中为该至少一个端口存储一保留;
从共用地址资源组将地址标识符修改成保留的地址标识符,其中所述共用地址资源组是用于建立媒体通信业务的公用地址和端口组;
修改对话描述以使用于媒体流的地址标识符变为保留的地址标识符;
将修改后的对话描述发送到所述代理引擎;
由所述代理引擎在信息中向所述接收方发送该修改后的对话描述。
8.如权利要求7所述的方法,其特征在于,还包括在没有保留至少一个端口时终止对话的步骤。
9.如权利要求8所述的方法,其特征在于,还包括释放存储在所述暂时存储器中的保留的步骤。
10.如权利要求7所述的方法,其特征在于,其中命令所述媒体中继机保留媒体路径的步骤包括命令所述媒体配置器保留所述媒体路径的步骤。
11.如权利要求7所述的方法,其特征在于,还包括形成用于媒体对话的事件信息EM对话语境的步骤。
12.如权利要求11所述的方法,其特征在于,还包括向代理引擎发送所述EM对话语境的步骤。
13.如权利要求7所述的方法,其特征在于,还包括以下步骤:
响应于发送对话描述,接收对话确认信息;
如果媒体流跨边界空间,则:
命令所述媒体中继机打开所述媒体路径;并且
经过所述媒体路径从发送方向接收方发送媒体。
14.如权利要求13所述的方法,其特征在于,还包括检索用于所述媒体对话的事件信息对话语境的步骤。
15.如权利要求13所述的方法,其特征在于,其中命令所述媒体中继机打开所述媒体路径的步骤包括命令所述媒体配置器来打开所述媒体路径的步骤。
16.如权利要求13所述的方法,其特征在于,还包括当所述媒体中继机没有打开所述媒体路径时终止所述媒体对话的步骤。
17.如权利要求13所述的方法,其特征在于,其中命令所述媒体中继机打开所述媒体路径的步骤包括打开至少一个端口的步骤。
18.如权利要求13所述的方法,其特征在于,还包括终止所述对话的步骤。
19.如权利要求18所述的方法,其特征在于,所述终止所述对话的步骤包括命令所述媒体中继机关闭所述媒体路径的步骤。
20.如权利要求19所述的方法,其特征在于,所述命令所述媒体中继机关闭所述媒体路径的步骤包括:
获取用于所述媒体路径的地址参数;
确定哪个媒体配置器正在控制所述媒体中继机;以及
向所述媒体配置器发送命令所述媒体中继机关闭所述媒体路径的请求;该请求具有用于所述媒体路径的地址参数。
21.如权利要求18所述的方法,其特征在于,所述终止媒体对话的步骤包括在所述媒体对话已被终止后向代理引擎发送终止对话信息的步骤。
22.一种用于建立从发送方向接收方发送媒体流用的媒体对话的系统,其特征在于,包括:
与网络边界装置通信的媒体中继机,该媒体中继机对网络边界中的媒体路径进行打开和关闭;和
与所述媒体中继机通信的媒体配置器,该媒体配置器适于接收来自如权利要求1所述的媒体配置器控制模块的请求以用于发送至媒体中继机,将该请求转换成专用于所述媒体中继机支持的控制协议的格式,向所述媒体中继机发送该请求,向所述网络边界装置发送创建动态通道的请求,接收来自所述媒体中继机的回答,将该回答从专用于配置器支持的控制协议的格式转换成所述媒体配置器控制模块理解的格式,并向所述媒体配置器控制模块发送经转换的回答。
23.如权利要求22所述的系统,其特征在于,所述媒体配置器控制模块与所述媒体配置器和代理引擎通信。
24.如权利要求22所述的系统,其特征在于,所述至少一个控制元件和至少一个其它控制元件一起组成控制组。
25.如权利要求22所述的系统,其特征在于,还包括一状态刷新定时器,该状态刷新定时器适于:
找到超过一定时间还没有运行状态一致性核查的控制元件;
对于每个超过一定时间还没有运行状态一致性核查的控制元件:
启动所述状态一致性核查,该状态一致性核查包括:
锁定该控制元件;
检索由所述控制元件管理的媒体中继机建立的所有地址映射上的数据;
确定所述控制元件管理的媒体中继机是否与所述控制元件在已建立的地址映射上具有同样的信息;
如果发现由所述控制元件管理的媒体中继机建立的映射与由所述控制元件映射的映射信息之间有差异,则:
释放与由所述控制元件映射但不在所述媒体中继机中当前映射中的映射关联的端口;
有条件地保留在媒体中继机中但不在控制元件映射中的映射;以及
使该控制元件解锁。
26.一种使用权利要求1所述的媒体配置器控制模块来控制媒体中继机的方法,其特征在于,所述方法包括以下步骤:
发送使媒体配置器初始化的初始化命令并提供所述媒体中继机的网络名;
发送保留媒体路径命令来保留特定的媒体路径;
发送打开媒体路径命令来打开该特定的媒体路径;
发送关闭媒体路径命令来关闭该特定的媒体路径;
其中所述媒体配置器用于将所述命令中的每一个转换为能被所述媒体中继机理解的控制协议。
27.如权利要求26所述的方法,其特征在于,包括发送关闭所有媒体路径命令来关闭由所述媒体配置器所创建的所有媒体路径的步骤。
28.如权利要求26所述的方法,其特征在于,包括发送查询媒体路径信息命令来获取关于媒体路径的信息的步骤。
29.一种使用权利要求1所述的媒体配置器控制模块来控制媒体中继机的方法,其特征在于,所述方法包括以下步骤:
响应于接收初始化命令,提供所述媒体中继机的网络名;
响应于接收保留媒体路径命令,命令所述媒体中继机保留特定的媒体路径;
响应于接收打开媒体路径命令,命令所述媒体中继机打开特定的媒体路径;
响应于接收关闭媒体路径命令,命令所述媒体中继机关闭特定的媒体路径;
其中,使用媒体配置器来将所述命令中的每一个转换成能够被所述媒体中继机理解的控制协议。
30.如权利要求29所述的方法,其特征在于,还包括响应于接收关闭所有媒体路径命令,命令所述媒体中继机关闭由所述媒体配置器所创建的所有媒体路径的步骤。
31.如权利要求29所述的方法,其特征在于,还包括响应于接收查询媒体路径信息命令,提供关于媒体路径的信息的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/447,615 US7454510B2 (en) | 2003-05-29 | 2003-05-29 | Controlled relay of media streams across network perimeters |
US10/447,615 | 2003-05-29 | ||
US10/447615 | 2003-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1574798A CN1574798A (zh) | 2005-02-02 |
CN1574798B true CN1574798B (zh) | 2011-03-16 |
Family
ID=33159481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004100474822A Expired - Fee Related CN1574798B (zh) | 2003-05-29 | 2004-05-28 | 受控跨网络边界媒体流中继机 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7454510B2 (zh) |
EP (1) | EP1484883A3 (zh) |
JP (1) | JP2004355628A (zh) |
KR (1) | KR101066757B1 (zh) |
CN (1) | CN1574798B (zh) |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266613B1 (en) * | 2000-08-09 | 2007-09-04 | Microsoft Corporation | Fast dynamic measurement of bandwidth in a TCP network environment |
US7185082B1 (en) * | 2000-08-09 | 2007-02-27 | Microsoft Corporation | Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics |
US9130810B2 (en) | 2000-09-13 | 2015-09-08 | Qualcomm Incorporated | OFDM communications methods and apparatus |
US7295509B2 (en) | 2000-09-13 | 2007-11-13 | Qualcomm, Incorporated | Signaling method in an OFDM multiple access system |
US6792449B2 (en) * | 2001-06-28 | 2004-09-14 | Microsoft Corporation | Startup methods and apparatuses for use in streaming content |
US7725557B2 (en) * | 2002-06-24 | 2010-05-25 | Microsoft Corporation | Client-side caching of streaming media content |
US7650421B2 (en) * | 2002-12-30 | 2010-01-19 | Microsoft Corporation | Adaptable accelerated content streaming |
US7454510B2 (en) * | 2003-05-29 | 2008-11-18 | Microsoft Corporation | Controlled relay of media streams across network perimeters |
US20040268400A1 (en) * | 2003-06-26 | 2004-12-30 | Microsoft Corporation | Quick starting video content |
US7054774B2 (en) * | 2003-06-27 | 2006-05-30 | Microsoft Corporation | Midstream determination of varying bandwidth availability |
US7391717B2 (en) * | 2003-06-30 | 2008-06-24 | Microsoft Corporation | Streaming of variable bit rate multimedia content |
US8214256B2 (en) * | 2003-09-15 | 2012-07-03 | Time Warner Cable Inc. | System and method for advertisement delivery within a video time shifting architecture |
US7417981B2 (en) * | 2003-10-15 | 2008-08-26 | Vonage Holdings Corp. | Method and apparatus for enhanced Internet Telephony |
CN100399768C (zh) * | 2003-12-24 | 2008-07-02 | 华为技术有限公司 | 实现网络地址转换穿越的方法、系统 |
US7162533B2 (en) | 2004-04-30 | 2007-01-09 | Microsoft Corporation | Session description message extensions |
US9148256B2 (en) | 2004-07-21 | 2015-09-29 | Qualcomm Incorporated | Performance based rank prediction for MIMO design |
US9137822B2 (en) | 2004-07-21 | 2015-09-15 | Qualcomm Incorporated | Efficient signaling over access channel |
US7626950B2 (en) * | 2004-08-18 | 2009-12-01 | At&T Intellectual Property, I,L.P. | SIP-based session control among a plurality of multimedia devices |
US7630328B2 (en) * | 2004-08-18 | 2009-12-08 | At&T Intellectual Property, I,L.P. | SIP-based session control |
US10116691B2 (en) * | 2004-11-23 | 2018-10-30 | Kodiak Networks, Inc. | VoIP denial-of-service protection mechanisms from attack |
US20060168626A1 (en) * | 2005-01-21 | 2006-07-27 | U-Turn Media Corporation | Methods and systems for providing video content to a mobile client |
US20060168578A1 (en) * | 2005-01-21 | 2006-07-27 | U-Turn Media Corporation | Methods and systems for managing a mobile client in a client-server system connected via a public network |
KR101181174B1 (ko) * | 2005-01-26 | 2012-09-18 | 삼성전자주식회사 | 푸쉬투토크 오버 셀룰러 시스템 사용자의 단말 교체시세션 지속 보장 방법 및 그 시스템 |
US9246560B2 (en) | 2005-03-10 | 2016-01-26 | Qualcomm Incorporated | Systems and methods for beamforming and rate control in a multi-input multi-output communication systems |
US9154211B2 (en) | 2005-03-11 | 2015-10-06 | Qualcomm Incorporated | Systems and methods for beamforming feedback in multi antenna communication systems |
US8446892B2 (en) | 2005-03-16 | 2013-05-21 | Qualcomm Incorporated | Channel structures for a quasi-orthogonal multiple-access communication system |
US9520972B2 (en) | 2005-03-17 | 2016-12-13 | Qualcomm Incorporated | Pilot signal transmission for an orthogonal frequency division wireless communication system |
US9143305B2 (en) | 2005-03-17 | 2015-09-22 | Qualcomm Incorporated | Pilot signal transmission for an orthogonal frequency division wireless communication system |
US9461859B2 (en) | 2005-03-17 | 2016-10-04 | Qualcomm Incorporated | Pilot signal transmission for an orthogonal frequency division wireless communication system |
US9184870B2 (en) | 2005-04-01 | 2015-11-10 | Qualcomm Incorporated | Systems and methods for control channel signaling |
US9036538B2 (en) | 2005-04-19 | 2015-05-19 | Qualcomm Incorporated | Frequency hopping design for single carrier FDMA systems |
US9408220B2 (en) | 2005-04-19 | 2016-08-02 | Qualcomm Incorporated | Channel quality reporting for adaptive sectorization |
US8139729B2 (en) * | 2005-04-27 | 2012-03-20 | Verizon Business Global Llc | Systems and methods for handling calls associated with an interactive voice response application |
US8565194B2 (en) | 2005-10-27 | 2013-10-22 | Qualcomm Incorporated | Puncturing signaling channel for a wireless communication system |
US8879511B2 (en) | 2005-10-27 | 2014-11-04 | Qualcomm Incorporated | Assignment acknowledgement for a wireless communication system |
US8611284B2 (en) | 2005-05-31 | 2013-12-17 | Qualcomm Incorporated | Use of supplemental assignments to decrement resources |
US8462859B2 (en) | 2005-06-01 | 2013-06-11 | Qualcomm Incorporated | Sphere decoding apparatus |
US9179319B2 (en) | 2005-06-16 | 2015-11-03 | Qualcomm Incorporated | Adaptive sectorization in cellular systems |
US8599945B2 (en) | 2005-06-16 | 2013-12-03 | Qualcomm Incorporated | Robust rank prediction for a MIMO system |
US8432896B2 (en) * | 2005-07-22 | 2013-04-30 | Cisco Technology, Inc. | System and method for optimizing communications between session border controllers and endpoints in a network environment |
US8885628B2 (en) | 2005-08-08 | 2014-11-11 | Qualcomm Incorporated | Code division multiplexing in a single-carrier frequency division multiple access system |
US20070041457A1 (en) | 2005-08-22 | 2007-02-22 | Tamer Kadous | Method and apparatus for providing antenna diversity in a wireless communication system |
US9209956B2 (en) | 2005-08-22 | 2015-12-08 | Qualcomm Incorporated | Segment sensitive scheduling |
US8644292B2 (en) | 2005-08-24 | 2014-02-04 | Qualcomm Incorporated | Varied transmission time intervals for wireless communication system |
US9136974B2 (en) | 2005-08-30 | 2015-09-15 | Qualcomm Incorporated | Precoding and SDMA support |
US9210651B2 (en) | 2005-10-27 | 2015-12-08 | Qualcomm Incorporated | Method and apparatus for bootstraping information in a communication system |
US9144060B2 (en) | 2005-10-27 | 2015-09-22 | Qualcomm Incorporated | Resource allocation for shared signaling channels |
US8477684B2 (en) | 2005-10-27 | 2013-07-02 | Qualcomm Incorporated | Acknowledgement of control messages in a wireless communication system |
US9172453B2 (en) | 2005-10-27 | 2015-10-27 | Qualcomm Incorporated | Method and apparatus for pre-coding frequency division duplexing system |
US8693405B2 (en) | 2005-10-27 | 2014-04-08 | Qualcomm Incorporated | SDMA resource management |
US8045512B2 (en) | 2005-10-27 | 2011-10-25 | Qualcomm Incorporated | Scalable frequency band operation in wireless communication systems |
US8582509B2 (en) | 2005-10-27 | 2013-11-12 | Qualcomm Incorporated | Scalable frequency band operation in wireless communication systems |
US9225488B2 (en) | 2005-10-27 | 2015-12-29 | Qualcomm Incorporated | Shared signaling channel |
US9088384B2 (en) | 2005-10-27 | 2015-07-21 | Qualcomm Incorporated | Pilot symbol transmission in wireless communication systems |
US9225416B2 (en) | 2005-10-27 | 2015-12-29 | Qualcomm Incorporated | Varied signaling channels for a reverse link in a wireless communication system |
US8582548B2 (en) | 2005-11-18 | 2013-11-12 | Qualcomm Incorporated | Frequency division multiple access schemes for wireless communication |
US9021134B1 (en) * | 2006-03-03 | 2015-04-28 | Juniper Networks, Inc. | Media stream transport conversion within an intermediate network device |
US8930560B2 (en) * | 2006-07-10 | 2015-01-06 | Verizon Patent And Licensing Inc. | Re-directing video according to a standard protocol |
KR20090086428A (ko) | 2006-11-02 | 2009-08-12 | 디지포니카 (인터내셔널) 리미티드 | VoIP 통신을 위한 라우팅 메세지 생성 |
MX2009005751A (es) | 2006-11-29 | 2009-08-26 | Digifonica Int Ltd | Intercepcion de voz a traves de comunicaciones de protocolo internet (ip) y otras comunicaciones de datos. |
EP1933519A1 (en) * | 2006-12-12 | 2008-06-18 | Koninklijke KPN N.V. | Streaming media service for mobile telephones |
WO2008116296A1 (en) | 2007-03-26 | 2008-10-02 | Digifonica (International) Limited | Emergency assistance calling for voice over ip communications systems |
CN101137043B (zh) * | 2007-04-13 | 2010-04-21 | 华为技术有限公司 | 流媒体频道切换的方法、系统及装置 |
US20080320263A1 (en) * | 2007-06-20 | 2008-12-25 | Daniel Nemiroff | Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner |
US8051185B2 (en) * | 2008-05-16 | 2011-11-01 | Fastsoft, Inc. | Network communication through a specified intermediate destination |
EP2311292B1 (en) | 2008-07-28 | 2020-12-16 | Voip-Pal.Com, Inc. | Mobile gateway |
TWI408936B (zh) * | 2009-09-02 | 2013-09-11 | Ind Tech Res Inst | 網路穿透方法及網路通訊系統 |
ES2563044T3 (es) | 2009-09-17 | 2016-03-10 | Digifonica (International) Limited | Transmisión ininterrumpida de transmisiones de protocolo de internet durante cambios de punto de extremo |
US7921150B1 (en) * | 2009-10-23 | 2011-04-05 | Eastman Kodak Company | Method for viewing videos on distributed networks |
US8776202B2 (en) * | 2011-04-08 | 2014-07-08 | Cisco Technology, Inc. | Method and apparatus to scale authenticated firewall traversal using trusted routing point |
CN102413136B (zh) * | 2011-11-21 | 2014-07-09 | 国网重庆市电力公司信息通信分公司 | 实现VoIP语音流穿透防火墙的VoIP系统及方法 |
US9143722B2 (en) * | 2011-11-22 | 2015-09-22 | Cisco Technology, Inc. | Method and apparatus for providing session description for a media session |
CN103580986B (zh) * | 2012-07-30 | 2016-12-21 | 华为终端有限公司 | 一种实时通信方法、终端设备、实时通信服务器及系统 |
US10015437B2 (en) | 2013-01-15 | 2018-07-03 | Qualcomm Incorporated | Supporting transport diversity and time-shifted buffers for media streaming over a network |
US10320676B2 (en) | 2014-02-28 | 2019-06-11 | Cisco Technology, Inc. | Smarter policy decisions based on metadata in data flows |
US10001298B1 (en) * | 2014-12-08 | 2018-06-19 | National Technology & Engineering Solutions Of Sandia, Llc | Methods for operating solar-thermochemical processes |
KR101889841B1 (ko) * | 2018-02-20 | 2018-08-21 | (주)지란지교시큐리티 | 멀티미디어 파일 보안용 컨텐트 방화벽, 컨텐트 보안 시스템 및 기록매체 |
CN114553931B (zh) * | 2022-02-23 | 2024-03-08 | 广州小鹏汽车科技有限公司 | 车辆共享存储空间的处理方法、设备、车辆及系统 |
CN117615023B (zh) * | 2024-01-24 | 2024-04-12 | 浙江大华技术股份有限公司 | 跨网络边界的传输方法、电子设备和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6418476B1 (en) * | 1998-06-29 | 2002-07-09 | Nortel Networks, Limited | Method for synchronizing network address translator (NAT) tables using the open shortest path first opaque link state advertisement option protocol |
US20020114333A1 (en) * | 2001-02-20 | 2002-08-22 | Innomedia Pte Ltd. | Real time streaming media communication system |
US6487605B1 (en) * | 1998-06-30 | 2002-11-26 | Cisco Technology, Inc. | Mobile IP mobility agent standby protocol |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2299824C (en) * | 2000-03-01 | 2012-02-21 | Spicer Corporation | Network resource control system |
US7114008B2 (en) * | 2000-06-23 | 2006-09-26 | Cloudshield Technologies, Inc. | Edge adapter architecture apparatus and method |
US7032031B2 (en) * | 2000-06-23 | 2006-04-18 | Cloudshield Technologies, Inc. | Edge adapter apparatus and method |
US7003555B1 (en) * | 2000-06-23 | 2006-02-21 | Cloudshield Technologies, Inc. | Apparatus and method for domain name resolution |
US6829654B1 (en) * | 2000-06-23 | 2004-12-07 | Cloudshield Technologies, Inc. | Apparatus and method for virtual edge placement of web sites |
GB2369746A (en) * | 2000-11-30 | 2002-06-05 | Ridgeway Systems & Software Lt | Communications system with network address translation |
US7133923B2 (en) * | 2000-12-11 | 2006-11-07 | Acme Packet, Inc. | System and method for assisting in controlling real-time transport protocol flow through multiple networks via screening |
US20020143957A1 (en) * | 2001-04-03 | 2002-10-03 | Murata Kikai Kabushiki Kaisha | Relay server, network device, communication system, and communication method |
US7274684B2 (en) * | 2001-10-10 | 2007-09-25 | Bruce Fitzgerald Young | Method and system for implementing and managing a multimedia access network device |
US7509425B1 (en) * | 2002-01-15 | 2009-03-24 | Dynamicsoft, Inc. | Establishing and modifying network signaling protocols |
AU2003276869A1 (en) * | 2002-09-09 | 2004-03-29 | Netrake Corporation | System for allowing network traffic through firewalls |
WO2004063843A2 (en) * | 2003-01-15 | 2004-07-29 | Matsushita Electric Industrial Co., Ltd. | PEER-TO-PEER (P2P) CONNECTION DESPITE NETWORK ADDRESS TRANSLATOR (NATs) AT BOTH ENDS |
US7454510B2 (en) * | 2003-05-29 | 2008-11-18 | Microsoft Corporation | Controlled relay of media streams across network perimeters |
-
2003
- 2003-05-29 US US10/447,615 patent/US7454510B2/en not_active Expired - Fee Related
-
2004
- 2004-03-22 EP EP04006870A patent/EP1484883A3/en not_active Withdrawn
- 2004-05-27 JP JP2004158354A patent/JP2004355628A/ja active Pending
- 2004-05-28 CN CN2004100474822A patent/CN1574798B/zh not_active Expired - Fee Related
- 2004-05-28 KR KR1020040038479A patent/KR101066757B1/ko not_active IP Right Cessation
-
2008
- 2008-09-08 US US12/206,646 patent/US7945685B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6418476B1 (en) * | 1998-06-29 | 2002-07-09 | Nortel Networks, Limited | Method for synchronizing network address translator (NAT) tables using the open shortest path first opaque link state advertisement option protocol |
US6487605B1 (en) * | 1998-06-30 | 2002-11-26 | Cisco Technology, Inc. | Mobile IP mobility agent standby protocol |
US20020114333A1 (en) * | 2001-02-20 | 2002-08-22 | Innomedia Pte Ltd. | Real time streaming media communication system |
Also Published As
Publication number | Publication date |
---|---|
EP1484883A3 (en) | 2012-05-02 |
EP1484883A2 (en) | 2004-12-08 |
KR101066757B1 (ko) | 2011-09-21 |
JP2004355628A (ja) | 2004-12-16 |
US20040244010A1 (en) | 2004-12-02 |
KR20040103441A (ko) | 2004-12-08 |
US7454510B2 (en) | 2008-11-18 |
US20090028146A1 (en) | 2009-01-29 |
CN1574798A (zh) | 2005-02-02 |
US7945685B2 (en) | 2011-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1574798B (zh) | 受控跨网络边界媒体流中继机 | |
US5652866A (en) | Collaborative working method and system for a telephone to interface with a collaborative working application | |
US9479400B2 (en) | Servlet API and method for XMPP protocol | |
US5719942A (en) | System and method for establishing a communication channel over a heterogeneous network between a source node and a destination node | |
EP0620935B1 (en) | Call management in a collaborative working network | |
US8788709B1 (en) | Distributed network address translation control | |
CN101501674B (zh) | 复位/重启端点设备 | |
CN100409208C (zh) | 通过数据网络进行最终用户控制的方法和装置 | |
CN110083465B (zh) | 一种寄宿应用间的数据传递方法 | |
JP4385110B2 (ja) | コールセンタシステム,電話着信呼分配装置及び電話着信呼分配方法,プログラム | |
CN101247393A (zh) | 用于防止ip欺骗和促进专用数据区的解析的系统和方法 | |
CN102668477A (zh) | 在对话期间传输多个通信模态 | |
US20020103904A1 (en) | Method and apparatus for controlling access to files associated with a virtual server | |
US7154883B2 (en) | Internet telephone system | |
US20050053222A1 (en) | Incoming and outgoing call system based on duplicate private network | |
JP2015091125A (ja) | アプリケーションインターフェイスを将来のアプリケーション用に拡張するための方法 | |
US20040187033A1 (en) | Gateway for use in a network monitoring system to control packet flow to a firewall | |
CN100440872C (zh) | 一种分布式环境中消息交换的实现方法及其装置 | |
US7890995B2 (en) | System and method for remote management of communications networks | |
Zave | Address translation in telecommunication features | |
KR20050122519A (ko) | 개인이 소정의 통신망을 통해 자신의 디지털 콘텐츠를접근하여 이용, 관리하는 방법 및 그 시스템 | |
KR101039419B1 (ko) | 복수호출 전문 처리 방법 | |
US7116764B1 (en) | Network interface unit having an embedded services processor | |
KR100596004B1 (ko) | Ip 교환기를 이용하여 단말을 제어하기 위한 방법 및 그장치 | |
WO2023129084A1 (en) | A system for creating and sharing identity information |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110316 Termination date: 20130528 |