CN101848141B - 管理用于ip联网的资源 - Google Patents

管理用于ip联网的资源 Download PDF

Info

Publication number
CN101848141B
CN101848141B CN2009102532596A CN200910253259A CN101848141B CN 101848141 B CN101848141 B CN 101848141B CN 2009102532596 A CN2009102532596 A CN 2009102532596A CN 200910253259 A CN200910253259 A CN 200910253259A CN 101848141 B CN101848141 B CN 101848141B
Authority
CN
China
Prior art keywords
situation
network
message
grouping
secondary route
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
CN2009102532596A
Other languages
English (en)
Other versions
CN101848141A (zh
Inventor
本杰民·A.·拓布尔
马修·H.·哈珀
里奥纳德·施瓦兹
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.)
Cisco Technology Inc
Vihana Inc
Original Assignee
Starent Networks LLC
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 Starent Networks LLC filed Critical Starent Networks LLC
Publication of CN101848141A publication Critical patent/CN101848141A/zh
Application granted granted Critical
Publication of CN101848141B publication Critical patent/CN101848141B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/465Details on frame tagging wherein a single frame includes a plurality of VLAN tags
    • H04L12/4662Details on frame tagging wherein a single frame includes a plurality of VLAN tags wherein a VLAN tag represents a service instance, e.g. I-SID in PBB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • 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
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software

Abstract

管理用于IP联网的资源。向操作系统内核软件程序中增加字段。该字段标注虚拟路由器情境(1020)。分组处理软件代码被修改以使得分组处理软件代码根据虚拟路由器情境执行(1070)。

Description

管理用于IP联网的资源
本申请是申请号为200380103999.2、申请日为2003年10月6日、发明名称为“管理用于IP联网的资源”的发明专利申请的分案申请。 
相关专利申请的交叉参考 
本申请要求2002年10月4日的题目为“LINUX KERNELCHANGES FOR VIRTUAL ROUTERS AND DISTRIBUTED HOSTFUNCTIONS”的美国临时申请序号60/416,151的权益,在此整体并入该申请公开的内容。 
技术领域
本发明涉及管理用于IP联网的资源。 
背景技术
例如Linux的操作系统在计算机中起很重要的作用,包括便于应用软件对计算机硬件和其它资源的使用。在一些情况下,操作系统或相关软件可以允许计算机资源被共享或组合以使其能够执行计算任务。 
例如,已经提出了多种允许计算机资源共享的系统。这些系统包括虚拟机监视器、机器模拟器、应用仿真器、操作系统仿真器、嵌入式操作系统、传统虚拟机监视器和引导管理器。下面对这些系统中的每一个进行简要的描述。 
虚拟机监视器 
20世纪60和70年代后期研究很密集的一个主题就是称为“虚拟机监视器”(VMM)的系统。例如参见R.P.Goldberg的“Survey ofvirtual machine research”,IEEE Computer,Vol.7,No.6,1974。而 且,在那段时间,IBM公司采用了虚拟机监视器以在其VM/370系统中使用。 
虚拟机监视器是一段很小的软件,其直接在硬件上运行,并将机器的所有资源虚拟化。因为输出接口与机器的硬件接口相同,所以操作系统不能确定VMM的存在。结果,当硬件、接口与下层硬件兼容时,相同的操作系统可以在虚拟机监视器上或者在原始硬件上运行。 
虚拟机监视器在硬件缺乏且操作系统很简单时很流行。通过将计算机的所有资源虚拟化,多个独立的操作系统可以共存于同一个机器上。例如,各个用户可以有自己的运行单用户操作系统的虚拟机。 
对虚拟机监视器的研究还导致了特别适合于虚拟化的处理器体系结构的设计。其允许虚拟机监视器使用公知为“直接执行”的技术,该技术简化了监视器的实现并改善了性能。通过直接执行,VMM以具有降级特权的模式建立处理器,使得操作系统不能直接执行其特权化的指令。具有降级特权的执行产生陷阱(trap),例如在操作系统尝试发出特权化指令时。VMM因此只需要正确仿真陷阱以允许操作系统在虚拟机中的正确执行。 
因为硬件变得更加便宜并且操作系统也更加复杂,所以基于直接执行的VMM开始丧失它们的吸引力。但是,近来,已经提出使用它们来解决特定的问题。例如,Hypervisor系统提供容错性,如由T.C.Bressoud和F.B.Schneider在“Hypervisor-based fault tolerance”,ACM Transactions on Computer Systems(TOCS),Vol.14.(1),1996年2月;以及美国专利号5,488,716“Fault tolerant computer systemwith shadow virtual processor”(Schneider等人)中描述的。作为另一个实例,Disco系统在可升级微处理器上运行商品操作系统。见“Disco:Running Commodity Operating Systems on ScalableMultiprocessors”,E.Bugnion,S.Devine,K.Govil和M.Rosenblum,ACM Transaction on Computer Systems(TOCS),Vol.15,No.4,1997年11月,第412到447页。 
虚拟机监视器还可以通过使用公知为“二元仿真”或“二元转变” 的技术来提供不同处理器体系结构之间的体系结构兼容性。在这些系统中,VMM不能使用直接执行,因为虚拟和下层体系结构不匹配;更确切地,他们必须仿真在下层体系结构上的虚拟体系结构。这允许整个虚拟机(操作系统和应用程序)针对具体的处理器体系结构来写以在另一个之上运行。例如,近来已经建议IBM DAISY系统在VLIM体系结构上运行PowerPC和x86系统。例如,参见K.Ebcioglu和E.R.Altman,“DAISY:Compilation for 100%ArchitecturalCompatibility”,Proceedings of the 24th International Symposium onComputer Architecture,1997。 
机器模拟器/仿真器 
机器模拟器,也称为机器仿真器,作为应用程序在现有操作系统上运行。它们以足够的精确度模拟给定计算机系统的所有元件,以运行操作系统和其应用程序。在研究微处理器性能的研究中经常使用机器模拟器。例如,见M.Rosenblum等人的,“Using the SimOS machinesimulator to study complex computer systems”,ACM Transactions onModeling and Computer Simulation,Vol.7,No.1,1997年1月。它们已经被用来将Intel x86机器模拟为在基于PowerPC的苹果Macintosh系统上的“VirtualPC”或“RealPC”产品。 
机器模拟器与例如DAISY的一些VMM共享二元仿真技术。但是,他们本身与VMM的不同在于他们在主机操作系统上运行。这有很多优点,因为他们可以使用由操作系统提供的服务。另一方面,这些系统还可能受到主机操作系统的某些限制。例如,提供保护的操作系统永远不会允许应用程序直接发出特权化指令或改变其地址空间。这些限制一般导致很显著的开销,特别是当在被防止应用的操作系统上运行的时候。 
应用仿真器 
与机器模拟器类似,应用仿真器也作为应用程序运行,以提供不同处理器体系结构之间的兼容性。但是,与机器模拟器不同的是,它们仿真应用级别的软件,并将应用的系统转变为到主机操作系统中的 直接呼叫。这些系统已经在对体系结构的研究中使用,并且被用于在更新的基于PowerPC的Macintosh系统上运行为68000体系结构所写的传统二元制。此外,它们已经被用于在运行微软NT的Alpha工作站上运行为微软NT所写的x86应用程序。在所有情况下,期望的操作系统匹配下层的一个系统,这使实现简化。其他系统,例如公知的Insigna的SoftWindows使用二元仿真来在除PC之外的平台上运行Windows应用程序以及Windows操作系统的变化版本。至少两个公知的系统允许Macintosh应用程序在其他系统上运行:Executer在运行Linux或Next的Intel处理器上运行它们,MAE在Unix操作系统上运行它们。 
操作系统仿真器 
操作系统(OS)仿真器允许为一个给定的操作系统应用程序二元接口(ABI)所写的应用程序在另一个操作系统上运行。它们将由应用程序对原始操作系统作出的所有系统调用转变为对下层操作系统的系统调用序列。ABI仿真器当前被用于允许Unix应用程序在Window NT上运行(the Softway OpenNT仿真器),并被用于在公共域名操作系统(the Linux WINE项目)上运行为微软操作系统所写的应用程序。 
与基本上独立于操作系统的虚拟机监视器和虚拟机模拟器不同,ABI仿真器与它们仿真的操作系统紧密相联。操作系统仿真器与应用程序仿真器不同之处在于应用程序已经被编译成目标处理器的指令集体系结构。OS仿真器不必担心应用程序的执行,而只担心它对下层操作系统作出的调用。 
嵌入式操作系统 
如果目标是给应用程序提供主机操作系统没有提供的额外保证,那么仿真用户等级的ABI就不是一个选择。例如,VenturCom RTX实时子系统将实时内核嵌入在微软NT操作系统中。这有效地允许了实时处理与传统的NT处理共存于同一系统内。 
这种共存要求操作系统最低级别即其硬件抽象层(HAL)的改变。 这允许RTX系统首先处理所有的I/O中断。该解决方法与WindowsNT紧紧联系,因为两种环境共享相同的地址空间和中断进入点。 
传统虚拟机监视器 
某些处理器,最明显的是那些具有Intel体系结构的处理器,包含特殊设计用来将给定传统体系结构虚拟化的特定执行模式。该模式被设计来支持严格的传统体系结构的虚拟化,但不支持严格的现有体系结构的虚拟化。 
传统虚拟机监视器包括合适的软件支持,其允许使用特定的处理器模式运行传统操作系统。具体地,微软的DOS虚拟机在虚拟机中在微软Windows和NT上运行DOS。作为另一个实例,免费软件DOSEMU系统在Linux上运行DOS。 
虽然这些系统统称为虚拟机监视器的形式,但是它们在现有的操作系统例如DOSEMU上运行,或者作为现有操作系统微软Windows和微软NT的一部分运行。在这方面,它们与上面描述的真实虚拟机监视器非常不同,并且与应用于上述发明的术语“虚拟机监视器”的定义也不同。 
关于组合资源,这种组合可以被用来处理在不组合时难以或不可能处理的费力的计算任务。例如,电信网络被日益地要求支持高带宽、低延迟信息流。对于一些应用,所需的带宽快速朝兆位每秒发展(特别是,例如,对于请求的视频;动画的共享仿真;和分布式计算)。 
为了提供“智能网络”便于例如到特定号码的呼叫重定向,计算机程序在与交换中心连接的大量(例如高达100)主机上运行。服务将被提供给具体消费者的方式(例如,对一个消费者的呼叫将被路由到的特定号码)取决于存储在主机上的与该消费者关联的数据。这样,在成百上千的主机上可以有几百万个用户记录。 
在“Twenty-twenty vision-software architectures for intelligencein the 21st century”,P.A.Martin,BT Technol J Vol 13 No.2 April 1995中,作者提出使用面向对象技术来实现所需的分布式处理。 
对面向对象技术的描述将可以在例如由E.L.Cusack和 E.S.Cordingley编辑的BT Technol J vol.11 No.3(July 1993),“面向对象技术”中找到。虽然术语不总是被精确地使用,但是面向对象技术在这里指其中数据被以“封装”形式存储的计算技术,其中,数据不能直接被调用程序或例程访问,而只能由可以读、写和编辑数据的程序的有限部分访问。数据及其相关计算机代码的记录称为“对象”。到对象和从对象的通信一般通过“消息传递”进行;即,对对象的调用传递数据值,并调用包含在对象内的一个程序的操作,然后返回数据值。 
对于希望使用对象定向方法的程序员来说,有各种语言可用。在这些语言中,当前最常见的是C++。 
分布式处理与单处理器操作在以下几个方面不同。首先,取决于其它程序或数据是存在于相同的主机上作为调用程序还是存在于不同的主机上,可能需要不同的访问技术。程序或数据的位置还将影响可以从另一个程序到达这里的速度。此外,一个或多个主机可能失败,而留下了另一些处于工作中。 
分布式计算传统上通过使用“客户机-服务器”设置来进行,其中,在一个计算机上的“客户机”程序询问另一个计算机上的“服务器”程序,然后执行功能或返回客户机程序要求的数据。 
对象定向技术已经被广泛应用于分布式处理。该方面现有技术的概要可以在下列各处找到:“对象定向编程系统”;Blair G.,PitmanPublishing,London,1991(ISBN 0-273-03132-5),具体在223-243页的第9章;“Distributed systems and objects”;David Hutchison和Jonathan Walpole。以前的尝试一般是向现有的计算机语言中增加新的语法,或者建立了新的计算机语言,来扩展传统的对象定向编程来处理分布式处理。 
虽然具体的应用可能不同,但是无线通信系统的部件一般是类似的,如在下面更详细描述的。例如,无线通信系统通常包括无线终端或移动站、无线基站、经常称为移动电话交换局(MTSO)的交换或网络控制设备,以及无线通信系统向其提供访问的网络,例如公共交换电话网络(PSTN)。 
各种无线通信应用使用用于传送信息以有效地利用可用频谱的多种调制技术中的任何一种。例如,使用频分多址(FDMA)、时分多址(TDMA)和码分多址调制技术来建立高容量多址系统。被设计用来与占用公共无线频谱的多个移动站通信的电信系统称为多址访问系统。 
例如,在FDMA模拟蜂窝系统中,例如在AMPS模拟蜂窝无线系统中,可用频谱被分成大量的无线信道,例如,发送和接收载频对,其中每一个对应于消息传送信道。每一个发送和接收频率信道的带宽是窄带,一般为25到30kHz。这样,FDMA系统允许信息将在可与所发送信息例如语音信号的带宽相比拟的带宽中被发送。FDMA系统中的小区服务区一般被分为多个小区,每一个小区具有被选来用于帮助减少小区间共信道干扰的一组频率信道。 
频分通常与时分结合,使得例如在FD/TDMA系统中,发送电路在频域和时域上都区别开。在数字FD/TDMA(通常称为TDMA)小区系统中,窄带频率信道被重新格式化为被分成大量时隙的数字传送路径。来自不同小区的数据信号被交织成被指定的时隙,并以相应地更高的位速率发出去,指定给每一个移动站的时隙是周期性重复的。虽然TDMA带宽可能稍大于FDMA带宽,但是约30kHz的带宽一般用于AMPS-D数字TDMA小区系统。 
用于小区多址调制的另一个途径是CDMA。CDMA是用于在无线通信系统上传送信息的扩频技术,其中,由被传送信号占用的带宽远远大于基带信息信号(例如语音信号)所需的带宽。这样,CDMA调制使用代码字标识共享相同频率信号的各种信号,通过复合调制将窄带信息信号频谱扩展到宽带宽上。对被传送信号的识别通过选择使用合适代码字的、被频谱编码的信号而发生。与在FDMA和TDMA调制技术中使用的约30kHz的窄带信道相比,CDMA系统一般使用约1.25MHz或更大的带宽。 
典型地,上述的移动通信系统被分层设置,使得地理“覆盖区域”被分成大量更小的叫做“小区”的地理区域。现在参照图1,每一个小 区优选地由基站收发信机(“BTS”)102a服务。数个BTS 102a-n通过固定链路104a-n由基站控制器(“BSC”)106a集中管理。BTS和BSC有时被统称为基站子系统(“BS”)107。数个BSC 106b-n可以通过固定链路108a-n被移动交换中心(“MSC”)110集中管理。 
MSC 110起到本地交换交换机的作用(还具有处理移动性管理要求的附加特征,如下面讨论的),并通过干线组与电话网络(“PSTN”)120通信。美国移动网络包括本地MSC和服务MSC。本地MSC是对应于与移动用户(也将其如上称为移动站或“MS”)114相关联的交换机的MSC;这种关联是基于电话号码的,例如MS的区域代码。MS的实例包括手持设备,例如移动电话、PDA、双向寻呼机或膝上型计算机或移动单元装置,例如连接到冷藏车厢或机动轨道车、容器或拖车的移动单元。 
本地MSC对下面讨论的本地位置寄存器(“HLR”)118负责。另一方面,服务MSC是用来将MS调用连接到PSTN的交换机。结果,有时本地MSC和服务MSC功能由相同的实体服务,但其他时候不是这样(例如当MS漫游时)。典型地,访问位置寄存器(“VLR”)116与MSC 110共同定位,并且在移动网络中使用逻辑单称HLR(逻辑单称HLR可以是物理分布的,但是被作为单个实体对待)。如将在下面描述的,HLR和VLR被用来存储用户信息和简档。 
无线信道112与整个覆盖区域相关联。如上所述,无线信道被分成分配给各个小区的信道组。信道被用于承载信令信息以建立调用连接和相关设置,并且在调用连接被建立时用于承载语音或数据信息。 
移动网络信令具有至少两个重要的方面。一个方面涉及MS与网络其余部分之间的信令。在2G(“2G”是“第二代”的行业术语)和更后的技术的情况下,该信令有关由MS使用的访问方法(例如TDMA或CDMA),其关于例如无线信道的分配和认证。第二方面涉及移动网络中各种实体之间的信令,例如在MSC、BSC、VLR和HLR之间的信令。该第二部分有时被称为移动应用部分(“MAP”),尤其是在七号信令系统(“SS7”)情境中使用时。SS7是公共信道信令系统,电 话网络的单元通过该系统以消息的形式交换信息。 
各种形式的信令(以及数据和语音通信)根据各种标准来传送和接收。例如,电子工业协会(“EIA”)和电信行业协会(“TIA”)帮助定义许多美国标准,例如IS-41,其为MAP标准。类似地,CCITT和ITU帮助定义国际标准,例如GSM-MAP,其为国际MAP标准。有关这些标准的信息是公知的,并且可以从相关组织团体或从文献中找到,例如参见Bosse,SIGNALING IN TELECOMMUNICATIONSNETWORKS(Wiley 1998)。 
为了从MS 114传递调用,用户拨号码,并按下手机或其它MS上的“发送”。MS 114通过BS 107发送指示向MSC 110请求的服务的所拨号码。MSC 110检查相关VLR 116(在下面描述)来确定MS 114是否被允许所请求的服务。服务MSC将调用路由到在PSTN 120上的被拨叫用户的本地交换机。本地交换机提醒被调用的用户终端,并且回答信号通过服务MSC 110被路由回MS 114,其然后结束到MS的语音路径。一旦设置被完成,调用就可以继续进行。 
为了将调用传递到MS 114,(假设调用发起于PSTN 120),PSTN用户拨叫MS的相关电话号码。至少根据美国标准,PSTN 120将调用路由到MS的本地MSC(其可以是服务MS的MSC,也可以不是)。然后,MSC询问HLR 118,以确定哪个MSC当前正服务MS。这也起到通知服务的MSC有调用即将到来的作用。然后,本地MSC将调用路由到服务的MSC。服务的MSC通过合适的BS寻呼MS。MS作出响应,合适的信令链路被建立。 
在调用过程中,如果需要,例如由于信号条件的原因,BS 107和MS 114可以合作来改变信道或BTS 102。这些改变称为“切换”,它们含有它们自己类型的已知消息和信令。 
图2更详细地示出了CDMA移动网络中BS 107与MSC 110之间的信令和用户业务接口。BS 107使用用于控制语音和数据电路的基于SS7的接口称为“A1”接口来传送信令信息。称为“A2”的接口在MSC的交换部分204与BS 107之间承载用户业务(例如语音信号)。 称为“A5”的接口被用来在源BS与MSC之间为电路交换数据调用(与语音调用相对)提供用户业务的路径。有关A1、A2、A5中一个或多个的信息可以在CDMA Internetworking-Deploying the Open-AInterface,Su-Lin Low,Ron Schneider,Prentice Hall,2000,ISBN0-13-088922-9中找到。 
移动通信供应商正提供更新的服务,例如向互联网的“数据调用”。对于这些服务中的至少一些服务来说,MSC不是成本有效的,因为它们最初是为语音调用设计的。由于许多MSC软件体系结构所使用的私有性和封闭式设计,向MSC中集成新的服务是很难的或者不可行的。即,提供服务所必需的软件逻辑不易被添加到MSC 110中。通常,使用交换附件来提供这种服务。例如,交互工作功能(“IWF”)是用于将数据调用路由到互联网的附件。每一个途径——将功能集成到MSC或增加干线侧附件——在服务传递中都涉及MSC。通过MSC设计改变或者通过干线侧附件来集成新的服务会增加MSC处的网络拥塞,并且消耗大量的MSC资源。 
数据调用典型地使用互联网,这是分组交换介质的实例。分组交换介质如下操作。数据序列将在网络上从一个主机发送到另一个主机。数据序列被分割成一个或多个分组,每一个具有含有控制信息的报头,每一个分组通过网络被路由。分组交换的常见类型是数据报服务,其对于传递提供很少的保证或者没有保证。可能一起逻辑归属于更高层上的分组在网络层上彼此互不相关。分组可以在由发送器更早发送的另一个分组之前到达接收器,可以以被损坏的状态到达(在这种情况下,它可能被抛弃),可以被任意延迟(虽然有可能导致其被抛弃的终止机制),可以被复制,并且可能丢失。 
已经提出了至少一个无线互联网系统,其使用本地无线收发信机技术在很广的地理区域上提供对几十兆赫带宽的可靠访问(例如在微小区系统中)。与小区无线语音系统相比,蜂窝无线语音系统依赖于区域中成百上千个小区,本地无线收发信机系统依赖于区域中成千上万个收发信机。在这样的系统中,每一个收发信机可以覆盖例如0.05 平方公里,这约为传统小区覆盖范围的一百分之一。无线频(RF)谱的高空间再用允许本地无线收发信机系统以给定数据速率容纳比传统蜂窝系统更多的活动设备。此外,因为用户更接近接入点,所以本地无线收发信机系统容纳更低的功率传输。局域无线收发信机系统可以支持大量的设备,这些设备以高速运行,对设备的电池具有较小的消耗。 
例如,在城市范围的10,000个收发信机接入点(小区中心)的本地无线收发信机系统网络中,如果每一点给其用户提供1-Mb/s的集中吞吐,那么可以以每一个100kb/s支持每个收发信机10个活动设备,城市中总计100,000个活动设备。如果每一个设备10%的时间是活动的,那么这种网络可以支持百万个设备,不过需要对用于信道访问、切换的开销以及对非对称业务(例如,其中流向设备的位多于从其中流出的位)的任何供应消耗的带宽作出某种计数。 
每一个本地无线收发信机系统接入点可以是或类似于无线局域网络(LAN)技术例如IEEE 802.11的接入点。非对称数字用户线路(ADSL),或者电缆调制解调器线路可以被用来提供每一个接入点与互联网之间的链路(无线链路可以同时使用或作为替换)。关于访问设备的位置,因为每一个设备需要电源并且优选地被提高到足够的无线频率覆盖范围,所以设施杆和建筑物上的位置是代表性的候选位置,以高速相邻互联网访问基础结构作为骨干。 
发明内容
在本发明的一个方面中,用于IP联网的资源被管理。字段被添加到操作系统内核软件程序中。该字段标注虚拟路由器情境。分组处理软件代码被改变以使得分组处理软件代码根据虚拟路由器情境执行。 
本发明的实现可以提供下列的一个或多个优点。可以在相同的处理器上实现多个主机,或者在操作系统的相同例子中实现多个主机。相同的IP地址可以在两个不同的情境中使用,使得该IP地址作为两 个不同的实体。一个设备可以参与多个专用网,而不会在专用网之间泄漏信息。对一个互联网协议(IP)地址的主机实现可以遍布在宽松耦合的、运行操作系统不同例子的多个处理器上。组合的处理能力可以被用于一个IP主机。分布式主机可以与现有配置或要求在一个主机上有所行动的现有协议兼容。该分布式主机可以与现有配置一起使用,使得消费者不需要改变消费者实现的一般设计。 
从下面包括附图的说明和权利要求中,其它优点和特征将变得很清楚。 
附图说明
图1-2、3A-3B、4是通信系统的框图。 
图5-6是管理用于IP联网的资源中所用方法的流程图。 
具体实施方式
通信系统提供通信特征,包括依赖于共享或组合计算资源的特征。通信系统具有如下描述的互联网介质网关机制(“IMG”)和软交换机制。图3A图示了实例系统400,其具有连接在BSC 415A与MSC420A之间、与软交换425A通信的IMG 410A。IMG 410A通过A1、A2和A5接口与BSC 415A通信。如下面描述的,软交换425A通过IMG 410A协调BSC 415A与MSC 420A之间的路径建立和通信。IMG410A还与互联网430通信,通过互联网430IMG 410A能够将消息定向到邮件服务器440,如下面描述的。可以类似地提供其它IMG和软交换连同其它BSC和MSC,如在图3A中由IMG 410B、软交换425B、BSC 415B和MSC 420B所示的。MSC 420A、420B被连接到PSTN460,并且可以通过PSTN 460彼此连接。软交换425A、425B被连接到SS7系统470,并且可以通过SS7系统470彼此通信。(图3B图示了可替换的设置402,其中,MSC 420A被连接在IMG 410A与BSC415A之间,MSC 420B被连接在IMG 410B与BSC 415B之间。) 
图4图示了系统1010,其可以支持和帮助在一个或多个移动无线 网络上提供语音和数据服务。在具体的实现中,系统1010可以包括Starent网络公司的ST-16IMG产品,其是承载等级的、高性能的平台,可以支持包括时分复用(TDM)数据、异步传输模式(ATM)信元数据和互联网协议(IP)分组数据的多种数据类型。ST-16体系结构使用加速卡(例如卡1020)例如分组加速卡(PAC)用于分组处理以及电话加速卡(TAC)用于语音处理。每一个PAC可以进行数据处理,每一个TAC可以进行语音处理。在ST-16中,物理输入/输出(I/O)接口在行业标准线路卡(例如卡1030A、1030B)上终接,并且可以承载根据各种物理接口标准的TDM、分组或ATM信元数据类型。因为TDM接口主要承载语音业务,所以TDM线路卡与TAC通信。以太网线路卡承载分组数据业务,并且可以与PAC通信。光纤线路卡支持ATM信元,其可以承载语音和数据业务,并且可以与PAC或TAC通信。ST-16还具有冗余四通卡(RCC)(例如卡1040A、1040B),其可以被用来允许在任意槽中的线路卡与ST-16的任意槽中的加速卡通信。 
ST-16使用卡到卡的通信系统(“STARChannel”)来提供链路以将加速卡连接到线路卡和RCC。在示例性实现中,STARChannel链路具有4.0Gbps数据容量和包括在信道锁定模式下工组的两个物理串行链路。每一个物理串行链路以2.5Gbps(8B/10B编码)为时钟,并且可以承载2.0Gbps数据。 
在ST-16中,期望实现虚拟化和分布式主机。 
关于虚拟化,多个主机在相同的处理器上或操作系统的相同例子中实现,使得可能多于一个的IP地址实现在相同的系统上并且具有如下描述的不同情境。关于IP联网,每一个情境彼此很好地分开。因此,相同的IP地址可以在两个不同的情境中使用,使得IP地址作为两个不同的实体起作用。这至少在隔离开互联网的专用网的情况下是期望的。不同的专用网可以使用相同的IP地址,但是因为专用网彼此分开,所以相同的IP地址在每一个专用网中具有不同的意义。 
有时期望使一件设备参与多个专用网,而不会在专用网之间泄漏 信息。例如,设备可以同时给一组专用网中的每一个专用网提供一组功能,而不会将这些专用网转变为一个网络。情境允许两段软件在相同的物理设备件上运行,并且可能在操作系统的相同例子中运行,如同或几乎如同在一个物理系统上运行一段软件、而在另一个物理系统上运行另一段软件那么容易。 
例如,利用情境,服务两个专用网的单个设备件可以在两个专用网上具有相同的IP地址,并且可以取决于哪个网络发出消息来对进入消息作出不同的反应。 
专用网可以由于偶然事件或由于设计,或者作为地址缺乏的结果而共享IP地址。在后者的情况下,在互联网上,获得大量可路由地址空间(被用于在互联网上直接通信的地址空间)的使用可能很难或者很贵。结果是,专用网有时被用作对大块可路由地址空间的替换。专用网增加IP地址与具有分机的私人办公电话系统增加单个主要公共电话号码很相似,其中,专用网上的计算机可以通过互联网协议而不一定涉及互联网本身交互通信,这与私人办公电话系统的用户可以互相通信而不一定涉及公共电话系统很相似。 
在虚拟化的情况中,单件设备可以在两个不同专用网上的相同地址找到,与例如语音邮件系统可以从两个单独的私人办公电话系统在相同的电话分机(例如分机110)处找到相似。在单件设备处的进入通信取决于哪个专用网发送通信而被不同地处理,与到达语音邮件系统的电话分机处的进入调用取决于哪个私人办公电话系统发出调用而被不同地处理类似。在两种情况下,其对于避免错误处理可能是很重要的。 
传统上,Linux操作系统不能如同语音邮件系统服务两个私人办公电话系统一样服务两个专用网。通过下面描述的虚拟化,Linux操作系统可以参与两个或多个不同的专用网,并且即使在相同的地址被用在专用网上时也能避免错误的处理。对于虚拟化,在处理IP组网的操作系统内核内部的许多或所有空间中,要素被添加到许多或所有合适的数据结构中,以通过例如情境号来指示合适的情境用于处理例如进入数据分组的数据。
在具体的实现中,要素将情境号保留在内核内的每一个相关数据结构中,包括路由表,并且由系统处理的每一个分组用情境号标注,使得当分组经过系统时,系统跟踪分组与其相关的情境。Linux操作系统允许路由表的多种情况;每一个情境具有其自己的路由表,并且每一个路由表与情境号相关联。到系统的每一个接口与情境号相关联,使得当分组进入系统中时,系统能够确定分组所属的情境。作为到应用的内核接口部分的每一个数据结构与情境号相关联。这样,例如,由应用程序使用以便利用联网的称为套接字的抽象被与情境号相关联,使得系统可以确定正被应用程序使用的套接字属于的情境。 
结果是,在至少一些实现中,基于内核中的情境化/虚拟化,系统可以具有在多个情境中操作的单个操作系统的情况,使得系统可以运行一般为Linux或任何类似Unix的操作系统写出的应用程序代码,对应用程序代码的改变很少或没有改变。 
分布式主机与虚拟化不同之处在于分布式主机允许对一个互联网协议(IP)地址的主机实现扩展到运行分开的操作系统情况的多个宽松耦合的处理器上,使得处理器实现单个IP主机。因此,组合的处理能力可以用于一个IP主机,这可以允许仅通过一个处理器上可用的处理能力不可实现的或不可能的结果出现。 
与计算机系统在其中被使得行为如同多个主机的方案不同,分布式主机与现有配置或者要求行为在一个主机上进行的现有协议兼容。分布式主机可以与现有配置一起使用,例如使得消费者不需要改变消费者实现的一般设计。具体而言,在至少一些实现中,分布式主机系统可以运行为Linux或另一个Unix类型环境所写的应用软件,而对应用软件的改变很少或没有改变。因此,分布式主机系统允许添加的或扩展的特征并入该系统中,包括通过移植已经能够在Linux或另一个Unix类型的操作系统上运行的现有软件。 
关于具体的实现,对Linux IP实现的修改落在两个大的类下: 
 (1)对于虚拟化,支持虚拟路由器和虚拟主机,以允许单独的 操作系统情况支持IP的路由器(转发)和主机功能两者,如同其为多个操作系统的情况一样,即,即使空间在数字上重叠,也支持多个不同的IP地址空间,作为区分。 
(2)对于分布式主机,支持分布式IP主机,以允许根据不同的操作系统情况,在不同的传输控制协议(TCP)或相同主机的用户数据报协议(UDP)端口上提供服务。 
传统的Linux包括对多个路由表的支持,这是虚拟化的转发支持所需的全部或几乎全部。但是,传统的Linux不支持虚拟化的主机功能。具体地,传统的Linux不给处理或套接字提供选择其虚拟路由器情境的途径,也不给两个或多个不同的处理提供结合相同地址/协议/端口(在不同的虚拟路由器情境中)的途径。下面的改变(图5)增加了这种支持。 
字段被添加到存储处理的缺省虚拟路由器情境的proc结构或合适的子结构中(proc结构是内核数据结构,其被每个过程例示,并且含有内核处理状态信息)(步骤1010)。内核处理建立代码被合适地改变以使该字段可继承,使得处理的缺省虚拟路由器情境将是其被建立时的样子,而与其根源使用fork()或clone()时曾为的缺省虚拟路由器情境无关。此外,建立原始系统处理的代码,init,被改变以确保init将使用在引导时自动建立的缺省虚拟路由器情境。 
字段被添加到互联网协议族(TCP、UDP和原始IP)的合适按套接字的数据结构中,指示套接字的虚拟路由器情境(步骤1020)。套接字建立代码被改变,使得在建立时,字段就根据过程的缺省虚拟路由器情境填充。 
增加支持,用于设置处理的缺省虚拟路由器情境(例如,作为procfs扩展)(步骤1030)。 
增加支持,用于设置套接字的缺省虚拟路由器情境(例如,作为设置套接字选择)(步骤1040)。 
增加支持,用于建立和删除虚拟路由器情境(例如,作为procfs或netlink扩展)(步骤1050)。 
增加支持,用于将接口与虚拟路由器情境关联起来(例如,作为procfs或netlink扩展)(步骤1060)。 
用于TCP、UDP、原始IP套接字和互联网控制消息协议(ICMP)的分组进入处理代码被改变,以使其对与进入分组相关联套接字的确定考虑分组的进入接口的虚拟路由器情境(步骤1070)。 
用于TCP、UDP和原始IP套接字的分组进入处理代码被改变,以使对用于进入分组的路由表的选择考虑发送该分组的套接字的虚拟路由器情境(步骤1080)。 
在分布式主机的情况下,分布式主机功能允许在不同操作系统情况上运行的过程结合在相同主机(IP地址)上的不同套接字。在至少一个具体实现中,可以采用下面的方法。 
对于在网络处理器(NP)子系统可以确定某个处理器将是分组的消费者时的该进入分组,该分组被发送到该处理器。 
对于在NP子系统不能确定某个处理器将是分组的消费者的该进入分组,分组被发送到所有的处理器(例如经过介质访问控制(MAC)广播)。 
当处理器接收该处理器确定不是给它的分组(而可能是给不同处理器的分组)时,处理器忽略该分组并且不会以任何方式作出努力来响应于该分组。 
对于每一个(分布式)主机,一个具体的处理器被指定为该主机的主导处理器。该处理器具有处理和响应于分组的责任,所述分组对应于作为整体的主机而不是对应于任何具体的“连接”或“端口”,例如某些(而非所有)ICMP分组或地址解析协议(ARP)请求。所有其它的处理器忽略这种进入分组。 
对来自分布式主机的进入分组的处理与对正常主机的进入分组的处理基本上没有变化。 
对于测试和模拟(没有NP子系统),增加功能以允许主机的主导处理器将不以其自身为目的地的分组转发(通过MAC广播)到其它处理器。在IP技术中,该功能不像传统转发(因为例如TTL没有 被减值)而更像桥接。 
下面的内核改变(图6)被用来实现如上描述的分布式主机功能。 
增加扩展(例如procs或netlink扩展)以允许指定具体的接口是否是分布式主机的主导接口(步骤2010)。 
改变TCP和UDP进入代码,以避免对到达端口的没有被本地限定的分组作出任何响应(步骤2020)。 
改变ICMP进入代码,使得对于与具体端口或流相关的任何ICMP分组来说,除非该端口被限定或者该流存在于本地,否则该分组就被忽略,使得对于主机是全局的任何ICMP分组(例如回声请求)来说,只有主机的主导接口处理分组(步骤2030)。 
改变ARP代码,使得非主导接口不响应于ARP请求(步骤2040)。 
向进入路径增加代码,以支持上面描述的用于没有NP子系统的操作的转发/桥接(步骤2050)。 
更具体地有关内核IP虚拟化,内核内的所有IP分组缓冲(skbuff)标有情境号。正被处理的分组的情境号由以下两个机制中的一个确定: 
(1)经由网络接口进入内核的分组由已经被配置到接口中的情境号标注。在ip_rcv()(net/ipv4/ip_input.c)中的下面的代码标注用于正由网络接口被引入的IP分组的缓冲: 
if(dev!=&loopback_dev){ 
               if(in_dev){ 
                      skb->vr_index=in_dev- 
>vr_index; 
               }else{ 
                      skb->vr_index=0;/*XXX not 
very good but there′s probably no 
                                       *better 
option.I′m not sure if it 
                            *should 
ever happen anyways that a 
                            *packet 
would get here from a device 
                            *without an 
in_device structure*/ 
                } 
(2)通过应用套接字进入内核的分组被已经构造到套接字中的情境号(通过缺省,即形成套接字的应用的缺省情境号)标注,如被准备用于输出的那样。相关的软件代码主要在net/ipv4/ip_output.c中。下面是来自ip_build_xmit()的实例: 
skb->vr_index=sk->vr_index; 
在上面的列举中,skb是到skbuff结构的指针;sk是到套接字结构的指针。此外,vr_index指向两个结构以容纳虚拟化。 
当内核需要将分组传递到用户处理时,它在确定将分组传递到的处理时会考虑分组的情境号。下面是来自用于为TCP分组进行确定的软件代码的实例: 
sk=_tcp_v4_lookup{ 
#ifdef CONFIG_NET_IP_VIRTUAL 
                            skb->vr_index, 
#endif 
                            skb->nh.iph->saddr,th- 
>source, 
                            skb->nh.iph->daddr, 
ntohs(th->dest),tcp_v4_iif(skb)}; 
上面列出的来自net/ipv4/tcp_ipv4.c中的tcp_v4_rcv()。CONFIG_NET_IP_VIRTUAL在内核通过IP虚拟化支持而正被建立时被定义。如所示出的,在使用虚拟化时预先计划额外的自变量到_tcp_v4_lookup的自变量列表中。此外,_tcp_v4_lookup()允许确定将 消耗该分组的套接字,并在哈希表中进行查找。当使用虚拟化时,分组的情境号(skb->vr_index)被用作当执行查找时的密钥的单元。在这种方式下,例如,具有一致特性(源地址、源端口、目的地地址、目的地端口)但是属于不同情境的两个不同的分组可以被定向到两个不同的套接字中。 
当内核正执行IP转发查找时(例如当作为路由器或者当将发起于本地应用的分组传递到远程目的地时),该查找也考虑分组的情境来进行。具体而言,对每一个分组使用不同的路由表。对于虚拟化,下面的代码被添加到fib_lookup()(在net/ipv4/fib_urles.c中),其进行许多或大部分路由查找: 
#ifdef CONFIG_NET_IP_VIRTUAL 
                if(r==(&main_rule)){ 
                        if((vr<r->r_vr_index_min)|| 
                           (vr>r->r_vr_index_max)){ 
                              printk(″fib_lookup-bad 
VR index!\n″); 
                              continue; 
                        } 
                        if((tb=fib_get_table((r- 
>r_table)+vr))==NULL) 
                              continue; 
                }else{ 
#endif/*CONFIG_NET_IP_VIRTUAL*/ 
在上面所列出的中,vr是对fib_lookup的额外自变量,其在CONFIG_NET_IP_VIRTUAL被定义时被预先计划到自变列表中。对fib_get_table()的调用采用路由表号;对虚拟化的支持利用Linux的线有能力来支持多个路由表。当时用情境化时,情境号被用来计算路由表号。Fib_lookup()的剩余部分在由调用返回到fib_get_table()的路由表上操作。 
此外关于在Linux上实现分布式主机功能,下面的“集群”统一指实现单个分布式主机的一组系统。至少一个具体的实现取决于下面。 
参与分布式主机的每一个内核能够确定其是否是该分布式主机 的“主导”,如果不是,确定哪个系统是用于该分布式主机的“主导”。分布式主机的“主导”是被指定(例如唯一地)用于对整个分布式主机执行某些服务的系统。一般来讲,这被用于那些本身不能被合理分布的服务。该信息被基于按接口地址保持在例如in_ifaddr结构中。 
对于将被在按端口或按连接基础上分布的那些协议(例如UDP和TCP)来说,实际的协议被改变使得当分组到达实现分布式主机的那组系统时,可以精确地确定哪个系统将处理该具体的分组。因此,一般来讲,数据库被保持有入口,指示哪些端口和/或连接正在哪个系统上被处理。这可以通过实现内核与用户处理之间的接口来实现,该接口与由实现路由协议的用户处理使用的“rtnetlink”接口有一些类似。具体而言,这种接口通过到bind()端口和accept()连接的其它用户处理将请求通知给用户处理。使用该接口的用户处理负责使数据库与集群中的远程主机或者至少与分布式接口的主导同步。在至少大部分情况下,例如tcp_v4_rcv()和udp_rcv()的功能被改变用于对每一个进入分组查找是否该分组应该被处理或者忽略和/或发送到集群的另一个成员。 
在至少一些实现中,对于一些协议(例如ARP),在主导系统上处理所有请求并总是忽略到达非主导系统的请求是足够简单的。对于ARP,这可以通过改变arp_rcv()来检查正被接收的分组是否对应于本地系统为主导的地址来实现。对于主导的情况,分组可以被正常处理。对于非主导的情况,分组可以被忽略或者发送到集群的另一个成员。 
对于一些协议(例如ICMP以及可能的IGMP,如果IP多播以分布方式被支持),所接收分组在分布式主机环境中被不同处理。对于ICMP,除回声请求之外的每一个数据分组可以被发送到实现分布式主机的集群中的所有系统,然后每一个系统可以在有行为时基于该分组确定采取的行为。回声请求由主导系统处理。其它ICMP分组一般由每一个系统以如同该系统不是分布式主机的一部分的相同方式处理。在分布式主机环境中的ICMP分组的精确处理取决于具体的实现。 
通过分布式主机集群内系统的ICMP错误分组的发起被参照在没有使用分布式主机设施时它们被如何产生来改变。具体地,“ICMP 不可到达的”消息仅可以由主导系统产生。至少一些其它的ICMP消息可以由集群中的非主导系统产生,这取决于具体的实现。 
其它实施例在下面权利要求的范围内。例如,上面的一个或多个特征可以以对象代码或可执行代码实现。上面的一个或多个特征可以被实现为仅用于某些通信,例如仅用于进入通信、或仅用于输出通信、或仅用于实时通信或高优先级或高数据速率通信。操作系统可以提供有一个或多个特征作为内置功能。 

Claims (11)

1.一种用于使用网络设备的方法,该设备具有在多个路由情境中操作的单个操作系统实例,该方法包括:
将第一专用网络与第一路由情境相关联,将第二专用网络与第二路由情境相关联,其中第一情境与第二情境隔离;
在相同的网络地址,由网络设备接收源自第一网络的第一消息和源自第二网络的第二消息;
基于第一消息被用第一路由情境的情境号标注的确定,将在网络设备的操作系统实例上运行的第一应用程序使用以便利用联网的套接字与第一路由情境的情境号相关联;
基于第二消息被用第二路由情境的情境号标注的确定,将在操作系统实例上运行的第二应用程序使用以便利用联网的套接字与第二路由情境的情境号相关联;以及
向存储进程的缺省虚拟路由器情境的内核数据结构添加字段,并且改变内核处理建立代码以使该字段可继承。
2.权利要求1的方法,其中,用于传输控制协议(TCP)、用户数据报协议(UDP)和原始IP套接字的分组进入处理代码被修改,以使对与进入分组相关联套接字的确定考虑分组的进入接口的虚拟路由器情境,或者以使对用于进入分组的路由表的选择考虑发送该分组的套接字的虚拟路由器情境。
3.权利要求1的方法,还包括:
给第一消息分配第一路由情境号,其中,第一消息被确定为与使用第一路由情境号的第一路由情境相关联;以及
给第二消息分配第二路由情境号,其中,第二消息被确定为与使用第二路由情境号的第二路由情境相关联。
4.权利要求3的方法,还包括:
给第一路由器情境分配第一路由表,其中,第一路由表与第一情境号相关联;以及
给第二路由器情境分配第二路由表,其中,第二路由表与第二情境号相关联。
5.权利要求1的方法,其中,第一专用网络和第二专用网络与互联网隔离。
6.权利要求1的方法,其中,由网络设备从第一网络接收的信息不被所述网络设备提供给第二网络,以及其中,由网络设备从第二网络接收的信息不被所述网络设备提供给第一网络。
7.权利要求1的方法,其中,第一消息和第二消息两者都包括至少一个数据分组。
8.权利要求1的方法,其中,第一和第二消息被网络设备分别使用与第一路由情境的情境号相关联的第一接口和与第二路由情境的情境号相关联的第二接口接收,该方法还包括:
给第一处理分配缺省第一路由情境号;以及
给第二处理分配缺省第二路由情境号。
9.权利要求8的方法,还包括通过第三处理继承缺省第一路由情境,在第三处理建立时,第三处理的根源是第一处理。
10.权利要求1的方法,还包括将至少一个到操作系统实例的接口与路由情境相关联。
11.一种计算机系统,包括:
与第一路由情境相关联的第一专用网络;
与第二路由情境相关联的第二专用网络;以及
具有单个操作系统实例的网络设备,其中所述单个操作系统实例在一个网络地址从第一网络和第二网络两者接收消息;
其中,所述网络设备被配置用于确定接收自第一专用网络的消息被用第一路由情境的情境号标注,并用于确定接收自第二专用网络的消息被用第二路由情境的情境号标注,
其中,所述网络设备被配置用于向存储进程的缺省虚拟路由器情境的内核数据结构添加字段,并且改变内核处理建立代码以使该字段可继承,并且
其中,响应于上述确定,将运行在所述操作系统实例上的第一应用使用以便利用联网的套接字与第一路由情境的情境号相关联,并且将运行在所述操作系统实例上的第二应用使用以便利用联网的套接字与第二路由情境的情境号相关联。
CN2009102532596A 2002-10-04 2003-10-06 管理用于ip联网的资源 Expired - Fee Related CN101848141B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41615102P 2002-10-04 2002-10-04
US60/416,151 2002-10-04

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2003801039992A Division CN1742267B (zh) 2002-10-04 2003-10-06 用于管理联网中的资源的方法

Publications (2)

Publication Number Publication Date
CN101848141A CN101848141A (zh) 2010-09-29
CN101848141B true CN101848141B (zh) 2013-05-08

Family

ID=32093822

Family Applications (3)

Application Number Title Priority Date Filing Date
CN2003801039992A Expired - Fee Related CN1742267B (zh) 2002-10-04 2003-10-06 用于管理联网中的资源的方法
CN2010105343480A Expired - Fee Related CN101982950B (zh) 2002-10-04 2003-10-06 管理用于ip联网的资源
CN2009102532596A Expired - Fee Related CN101848141B (zh) 2002-10-04 2003-10-06 管理用于ip联网的资源

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN2003801039992A Expired - Fee Related CN1742267B (zh) 2002-10-04 2003-10-06 用于管理联网中的资源的方法
CN2010105343480A Expired - Fee Related CN101982950B (zh) 2002-10-04 2003-10-06 管理用于ip联网的资源

Country Status (7)

Country Link
US (2) US7613836B2 (zh)
EP (1) EP1559025A4 (zh)
JP (1) JP4658606B2 (zh)
CN (3) CN1742267B (zh)
AU (1) AU2003277300A1 (zh)
CA (1) CA2500639C (zh)
WO (1) WO2004034199A2 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090857B2 (en) 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7716363B1 (en) * 2004-02-10 2010-05-11 Cisco Technology, Inc. Method and apparatus of providing zero configuration single source multicasting reporting
US20050289101A1 (en) * 2004-06-25 2005-12-29 Doddaballapur Jayasimha Methods and systems for dynamic partition management of shared-interconnect partitions
US20060276170A1 (en) * 2005-05-23 2006-12-07 Starent Networks Corporation Method and system for traffic redirection for prepaid subscriber sessions in a wireless network
US7822059B2 (en) * 2005-07-27 2010-10-26 Atheros Communications, Inc. Managing contention-free time allocations in a network
US8175190B2 (en) 2005-07-27 2012-05-08 Qualcomm Atheros, Inc. Managing spectra of modulated signals in a communication network
EP1913710B1 (en) * 2005-08-11 2013-11-20 Cisco Technology, Inc. System and method for congestion control signaling
US7522595B2 (en) * 2006-06-16 2009-04-21 Cisco Technology, Inc. Communicating packets between forwarding contexts using virtual interfaces
US8327008B2 (en) * 2006-06-20 2012-12-04 Lenovo (Singapore) Pte. Ltd. Methods and apparatus for maintaining network addresses
US8929360B2 (en) 2006-12-07 2015-01-06 Cisco Technology, Inc. Systems, methods, media, and means for hiding network topology
ATE545241T1 (de) 2007-05-10 2012-02-15 Qualcomm Atheros Inc Verwaltung des verteilten zugriffes auf ein gemeinsam genutztes medium
US8339954B2 (en) 2008-05-16 2012-12-25 Cisco Technology, Inc. Providing trigger based traffic management
KR101343595B1 (ko) 2008-12-19 2013-12-20 한국전자통신연구원 라우터에 대한 포워딩 가상화 방법
US8549173B1 (en) * 2009-09-29 2013-10-01 Google Inc. User-space resource management
US9413649B2 (en) * 2010-03-12 2016-08-09 Force10 Networks, Inc. Virtual network device architecture
WO2011130292A1 (en) 2010-04-12 2011-10-20 Qualcomm Atheros, Inc. Detecting delimiters for low-overhead communication in a network
US8832685B2 (en) 2010-06-29 2014-09-09 International Business Machines Corporation Virtual network packet transfer size manager
US20120042054A1 (en) * 2010-08-13 2012-02-16 Dell Products, Lp System and Method for Virtual Switch Architecture to Enable Heterogeneous Network Interface Cards within a Server Domain
US10142218B2 (en) * 2011-01-14 2018-11-27 International Business Machines Corporation Hypervisor routing between networks in a virtual networking environment
US8811281B2 (en) 2011-04-01 2014-08-19 Cisco Technology, Inc. Soft retention for call admission control in communication networks
US9444550B2 (en) * 2013-10-14 2016-09-13 Fujitsu Limited Flexible virtual optical network provisioning using distance-adaptive modulation
US10721680B2 (en) 2016-04-21 2020-07-21 At&T Intellectual Property I, L.P. Method and apparatus for providing a virtual network function in a network
CN110149390B (zh) * 2019-05-17 2021-11-26 杭州登岸网络科技发展有限公司 一种应用于在线公务员考试培训平台的网络仿真方法及系统
US11463479B2 (en) * 2020-01-15 2022-10-04 Arista Networks, Inc. Intercepting network traffic

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205488B1 (en) * 1998-11-13 2001-03-20 Nortel Networks Limited Internet protocol virtual private network realization using multi-protocol label switching tunnels
CN1359213A (zh) * 2000-05-24 2002-07-17 阿尔卡塔尔互联网运行公司 用于多协议冗余路由器协议支持的方法和设备

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914570A (en) * 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US5142622A (en) * 1989-01-31 1992-08-25 International Business Machines Corporation System for interconnecting applications across different networks of data processing systems by mapping protocols across different network domains
JPH031258A (ja) * 1989-05-29 1991-01-07 Nec Corp 計算機ネットワークシステム
WO1993009494A1 (en) * 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
US5537417A (en) * 1993-01-29 1996-07-16 International Business Machines Corporation Kernel socket structure for concurrent multiple protocol access
US5689706A (en) * 1993-06-18 1997-11-18 Lucent Technologies Inc. Distributed systems with replicated files
US6108715A (en) * 1994-12-13 2000-08-22 Microsoft Corporation Method and system for invoking remote procedure calls
JPH1065728A (ja) * 1996-08-19 1998-03-06 Nec Eng Ltd 分散プロセッサ型データ交換機
US5889954A (en) * 1996-12-20 1999-03-30 Ericsson Inc. Network manager providing advanced interconnection capability
US6330599B1 (en) * 1997-08-05 2001-12-11 Cisco Technology, Inc. Virtual interfaces with dynamic binding
US6449273B1 (en) * 1997-09-04 2002-09-10 Hyundai Electronics America Multi-port packet processor
FR2767939B1 (fr) * 1997-09-04 2001-11-02 Bull Sa Procede d'allocation de memoire dans un systeme de traitement de l'information multiprocesseur
US6119170A (en) * 1997-12-29 2000-09-12 Bull Hn Information Systems Inc. Method and apparatus for TCP/IP multihoming on a host system configured with multiple independent transport provider systems
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
CA2245963C (en) * 1998-08-26 2009-10-27 Qnx Software Systems Ltd. Distributed kernel operating system
US6912590B1 (en) * 1998-12-18 2005-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Single IP-addressing for a telecommunications platform with a multi-processor cluster using a distributed socket based internet protocol (IP) handler
US7116679B1 (en) * 1999-02-23 2006-10-03 Alcatel Multi-service network switch with a generic forwarding interface
US6560217B1 (en) * 1999-02-25 2003-05-06 3Com Corporation Virtual home agent service using software-replicated home agents
JP3557947B2 (ja) * 1999-05-24 2004-08-25 日本電気株式会社 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体
JP3252831B2 (ja) * 1999-06-01 2002-02-04 日本電気株式会社 Atmにおけるipパケットルーティングプロセッサの分散処理方法及びその装置
JP3546764B2 (ja) * 1999-07-02 2004-07-28 日本電気株式会社 ネットワークに備えられた負荷分散サーバ及び負荷分散サーバを備えるノード
US6842906B1 (en) * 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US7210147B1 (en) * 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
JP2001237889A (ja) * 2000-02-25 2001-08-31 Nippon Telegr & Teleph Corp <Ntt> データ通信網における迂回経路制御方法及び装置
US7177898B2 (en) * 2000-03-17 2007-02-13 Fujitsu Limited Multiple-processor information processing system
US7181743B2 (en) * 2000-05-25 2007-02-20 The United States Of America As Represented By The Secretary Of The Navy Resource allocation decision function for resource management architecture and corresponding programs therefor
JP2002074125A (ja) * 2000-08-31 2002-03-15 Sony Corp コンテンツ配信の通知方法、予約管理装置およびプログラム格納媒体
US7042876B1 (en) * 2000-09-12 2006-05-09 Cisco Technology, Inc. Stateful network address translation protocol implemented over a data network
US7296291B2 (en) * 2000-12-18 2007-11-13 Sun Microsystems, Inc. Controlled information flow between communities via a firewall
US7039720B2 (en) * 2001-01-25 2006-05-02 Marconi Intellectual Property (Ringfence) , Inc. Dense virtual router packet switching
US7260648B2 (en) * 2001-01-25 2007-08-21 Ericsson, Inc. Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks
GB0102515D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Network adapter management
GB0102518D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Trusted operating system
US20030033443A1 (en) * 2001-03-01 2003-02-13 Nikolay Igotti Virtual machine integration application program interface
US7107356B2 (en) * 2001-03-07 2006-09-12 Lucent Technologies Inc. Translator for enabling logical partitioning of a network switch
US7441017B2 (en) * 2001-06-29 2008-10-21 Thomas Lee Watson System and method for router virtual networking
GB2378535A (en) * 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
US6895576B2 (en) * 2001-10-18 2005-05-17 Hewlett-Packard Development Company, L.P. Method and system for device driver and operating system debugging of portable computers
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7096383B2 (en) * 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205488B1 (en) * 1998-11-13 2001-03-20 Nortel Networks Limited Internet protocol virtual private network realization using multi-protocol label switching tunnels
CN1359213A (zh) * 2000-05-24 2002-07-17 阿尔卡塔尔互联网运行公司 用于多协议冗余路由器协议支持的方法和设备

Also Published As

Publication number Publication date
CN1742267A (zh) 2006-03-01
US7613836B2 (en) 2009-11-03
EP1559025A2 (en) 2005-08-03
AU2003277300A1 (en) 2004-05-04
WO2004034199A3 (en) 2004-05-13
JP4658606B2 (ja) 2011-03-23
CA2500639A1 (en) 2004-04-22
US20100023576A1 (en) 2010-01-28
US8799513B2 (en) 2014-08-05
CN101848141A (zh) 2010-09-29
CN1742267B (zh) 2012-11-28
AU2003277300A8 (en) 2004-05-04
CN101982950A (zh) 2011-03-02
CN101982950B (zh) 2013-03-27
US20040250159A1 (en) 2004-12-09
CA2500639C (en) 2014-01-07
WO2004034199A2 (en) 2004-04-22
JP2006502662A (ja) 2006-01-19
EP1559025A4 (en) 2009-11-25

Similar Documents

Publication Publication Date Title
CN101848141B (zh) 管理用于ip联网的资源
CN107465590B (zh) 网络基础设施系统、路由网络业务的方法及计算机可读介质
EP1417586B1 (en) Dense virtual router packet switching
CN101185296B (zh) 用于在本地网络和远程网络之间建立多链路接入的方法及相应的设备
CN108111383A (zh) 一种基于sdn的跨域容器虚拟网络组建方法
CN105515978A (zh) 实现分布式路由、物理主机接入的方法及装置
CN109547349A (zh) 基于虚拟路由的流量管理方法、装置、终端及存储介质
CN102884763A (zh) 跨数据中心的虚拟机迁移方法、服务控制网关及系统
US11032199B2 (en) Methods and apparatus for providing traffic forwarder via dynamic overlay network
CN104735101B (zh) 网络资源的共享处理、共享方法及装置、系统
CN102035659B (zh) 域划分时报文的广播方法及装置
CN112187609B (zh) 表项生成方法和装置
CN113542112B (zh) 一种报文转发方法及网络设备
Trigila et al. A service architecture for fixed and mobile convergence
US20230328590A1 (en) Systems and methods for a pass-through edge data center (p-edc) in a wireless telecommunication network
US20230336476A1 (en) Use of an overlay network to interconnect between a first public cloud and second public cloud
Qin et al. An improved mobile tracking and location procedure for ATM-based PCNs
WO2023200878A1 (en) Use of an overlay network to interconnect between a first public cloud and second public cloud
CN116455700A (zh) 异构微服务网络通信方法、装置及系统
CN101465790B (zh) 一种实现资源准入控制的方法、系统及设备

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
ASS Succession or assignment of patent right

Owner name: CISCO TECH IND.

Free format text: FORMER OWNER: CISCO TECH IND

Effective date: 20140702

Owner name: CISCO TECH IND

Free format text: FORMER OWNER: STARENT NETWORKS CORP.

Effective date: 20140702

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140702

Address after: California, USA

Patentee after: Cisco Technology, Inc.

Address before: California, USA

Patentee before: VIHANA, Inc.

Effective date of registration: 20140702

Address after: California, USA

Patentee after: VIHANA, Inc.

Address before: Massachusetts USA

Patentee before: STARENT NETWORKS, Corp.

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

Granted publication date: 20130508

Termination date: 20201006

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