专利名称:可扩展的电信系统的制作方法
本申请是于1995年3月6日提出的题为“可扩展的电信系统”的中国专利申请第95192874.0号的分案申请。
1.本发明的领域本发明一般地涉及电信领域,更确切地,涉及一个结构,它用来连接多个可编程的电信交换机以提供一个可扩展的交换系统和对各种不同通信应用的直接访问。
2.现有技术的讨论在任何电信系统中一个基本的考虑是交换容量。交换容量必须依据现有需求和规划需求做出分析以利于找出一个对现在的和将来的业务都经济合算的解决方法。例如,假设一个发展中国家正在建设一个基本电信系统,打算向它现有人口中的大部分提供业务。这样的人口多数可能是在地理上高密度分布于小区域(城市)低密度分布于大区域(郊区和农村)。另外,人口很可能在增长,但不同地区具有不同的速率。因此,对一名电信系统设计者的挑战在于要提供足够的交换容量以对大多数或全部人口支持满意的服务,同时也要预期到将来需求可能的增长而提供经济的扩充。
另一个提供合适交换容量的困难的示例涉及到无线或个人通信网络(PCN)应用。这些类应用基于微蜂窝结构,该结构需要很多个跨越城市区域彼此物理距离接近的基站,基站具有不同的交换容量,聚合成大容量。
在电信系统设计中,第二个基本考虑是在将来增加新的功能或业务。电信设备和业务不断地快速演变,这很大程度上由于数字技术的发展。在将来很可能有更引人注目的进步,尤其是当以前独立的工业例如电缆电视和本地电话运营公司把他们的业务结合在一起的时候。再一次,挑战在于创造一个系统,它很经济地为当前需要服务,同时也在新功能和业务变得可用时提供灵活和花费不多的方法将它们综合在一起。
在解决提供足够的交换容量同时提供新功能和业务双重问题的传统方法中,大多数,如果不是全部,都具有两个主要缺点中的一个或两个(1)在系统中没有足够的带宽来处理信息例如图象或多媒体(除了话音和数据以外),(2)没有直接现成的可访问传给系统和传出系统的全部信息的途径,这意味着没办法攫取全部信息并送到其它交换系统或设备,另外(3)需要有越来越大的中心交换机来提供对一些增强业务的访问。
一种传统的方法可能被叫做缩略为“总线扩展”和方法。在很多传统的电信交换机中,提供一条或多条内部总线在交换机的不同部分之间传输信息,包括话音、数据和控制信息。由于通过定义,多个设备(例如电路板或卡)可以和总线接口并依据一已定义的通信协议共享总线,所以总线很适合于传输这些信息。在一个电信交换机中,找出一个或多个相互连接着一系列在物理上终止电话或中继线的卡板和执行交换、控制或其它功能的其它卡板的总线是很普通的。
如缩写各所暗示的,很简单地在总线扩展方法中的概念即是在现有总线上连接附加卡板,这些卡板提供附加的交换容量或其它功能。除了以上提到的两个主要缺点以外,这种方法有好几个其它缺点。首先有一些物理限制如不降低系统性能情况下可物理连接到总线并共享总线的卡板的数目。其次,为了允许将来很大的扩充,总线和系统的其它部分必须首先在系统的任何扩充前被构造成能处理比所需要的大很多很多的业务量。这些限制和总线的电气和机械性能(或有可能是总线中的特定一条)以及它们的有效运行速度有关。克服这些限制的尝试(例如使用到总线的非常多数目的连接)趋向于增加“基础”或未扩展系统的成本和复杂度,很可能使得系统对一些应用来说太过昂贵。还有一个和实际执行交换功能以及控制总线上的业务量所需要的处理功率有关的限制。
第三点,在许多,如果不是全部的传统交换系统中所发现的总线结构一般地都被设计成只执行基本的处理和交换功能,并不提供用于组合新功能和业务的到端口现成直接的途径。
第四点,一般地总线结构不能够传输包交换数据或其它类的信息。
第二种方法可能被称作缩写为“模块化”方法。在模块化方法中,概念在于提供一个由一系列基本上相同的模块构造成的交换系统。每个模块提供一定数量的交换容量,该容量可被加到一现有系统中(一次加一个或多个)以增加系统的整体容量。
此外,除了前面提到的主要缺点以外,模块化方法还有其它缺陷。为了提供完全不阻塞的操作,每个及所有的构造模块必须具有能力从所有其它模块,多到可能有的无论怎样最大数目的模块,接收电路交换数据。从硬件看,这意味着每个模块必须装有一个足够大的存储器,以容纳如果最大数目的模块被连到一起时能够接收到的最大数量的电路交换数据。例如,如果每个模块能够交换相当于64个端口且有最多8个模块被连在一起时,则每个模块必须包含一个能够容纳(8×64)=512个端口的电路交换数据。因此,在模块化方法中,控制每个模块必须具有的存储器大小的因素是完全扩展系统的最大交换容量。对于大系统(即,几千个端口或更大的数量级),由于物理网络/线路组合在一起的数目和控制存储器必须的附加电路,构造这样一个存储器变得不切实际。
其次,为了维持一个真实的“模块化”系统,要改变单个模块的交换容量是不可能的。
第三点,和总线扩展方法相似,模块化方法面向完成基本的交换操作,一般地并不提供对所有端口的直接访问和处理包交换数据或其它类型信息的能力。
一种常规系统在Shimizu的EP 0 256 526中予以揭示。Shimizu揭示了一个包交换网络系统,其中一系统结点1通过一个环2连接到一起每个结点为多个用户终端3提供服务。特殊地,Shimizu被引导在一个有阻塞的通道网络系统中实时分配包地址以动态地维持带宽;即在一个包地址的数目小于网络中心总站址数的系统中。Shimizu的一个缺陷在于它是一个需要由一个集中源动态地分配包地址,并把控制和消息包分隔开以及顺序发送以保证连接的有阻塞系统。在有阻塞系统中对集中源的使用要求Shimizu花费相当多的处理设备和相关控制带宽来管理和动态指派包地址。而且,对集中源的使用需要实现一个冗余方案以避免在中心位置的失败导致系统不可运转。实现第二个中心位置将进一步使系统复杂化并在其它设置上与用额外的带宽。
另一个常规系统在Takeuchi等(从现在起只称Takeuchi)的欧洲专利应用EP-A-0119105中予以揭示。Takeuchi揭示了一个电信系统,其中一系列结点由一个环路连接在一起。结点在环路上通过在间断的空闲“时间框”内或一帧的段内发送“组合包”相互通信。Takeuchi所揭示系统的一个缺陷在于一个结点必须在试图向另一个结点发送信息之前首先标识一个或多个空闲的时隙来运载该信息。如果在一给定结点没有空闲时隙来运载包准备好发送的信息,则这个信息被阻止到达目的结点。
本发明的概述总之,本发明提供一个连接多个可编程电信交换机以形成一个大容量,无阻塞交换系统的开放,高速、宽带宽的数字通信网络。在一个优选的实施例中,使用一个或多个为在网络上传递信息提供媒介的环和多个可编程交换机实现网络,每个交换机做为一个结节出现并为一组端口服务。在有增加系统交换容量的要求时另外的交换机(结点)可以被加到网络上。
每个结点包括在网络上发送和接收变长的打包信息的电路,从而使得每个结点能接收其它结点的信息并发信息给其它结点。网络可传输系统中现有的任何类信息包括话音、数据、图象、多媒体、控制、配置和维护,而网络的带宽可由不同信息类型分割或共享。
另外,除可编程交换机以外的设备或手段也可以在网络上充当结点,从而得到对通过网络的全部信息的直接访问。更具体地,话音处理手段如语音邮箱/消息系统或其它增强业务平台可以通过成为结点,不需要大的中心交换机即可获得对系统所支持的全部端口直接访问。本发明以可用便捷的方式。高速率地在网络上传输任何种类信息的能力,使得在某一给定结点处可用的任何业务、功能或语音处理手段被提供给相同或其它结点的任何端口。
本发明也提供了在网络上沟通信息的方法和包结构。通常,为通信电路交换信息,话音处理信息,数据或维护信息。但是,所有的包都包含一个控制部分或头,它一般含有地址、状态和其它控制信息,以及携带数据的有效负载部分。对全部端口的直接访问和以包形式传递信息能力的结构与在SONET网络上的异步转移模式操作高度兼容。
依据结点间转移信息的一种方法,每个结点用网络传送一个或多个包,每个包有一个“空的”有效负载,它被相邻结点最先收到。相邻结点确定接收到包的来源,并使用包的控制部分中包含的信息确定包的状态。如果那个相邻结点有信息要送给发出该包的结点,相邻结点将该信息插入包的有效负载中,然后允许包传送到网络上的下一个相邻结点。如果相邻结点没有信息要送到发起该包的结点,该包只是简单地被送给网络上的下一个结点。这个过程在每个结点重复,直到该包走遍整个网络并返回一个“满载”的有效负载到它被发出的结点。在该点,被其它结点插入包中的信息被发起该包的结点获得。依次地,每个结点发送一个遍历网络而返回带有其它结点的信息的“空”包。以这种方式,发自由任何结点提供服务的任何端口的任意种类的信息,可以被传送到系统的相同或不同结点的任何其它端口上。
依据结点间传送信息的另一种方法,每个结点使用网络发送一个或多个包,每个包具有一个包含来自该结点信息的“满载的”有效负载。每个这样的包最先被一个相邻结点收到,该相邻结点确定包的来源以及是否其中含有的任何信息是该相邻结点所需要的。如果是这样,则该信息在包被传到下一个相邻结点之前从有效负载中被取出。如果不需要信息,则包被简单地传给下一个相邻结点。仍然,这个过程被重复,直到网络上的每个结点都已经发送了一个或多个含有“满载的”有效负载的包并且每个这样的包已经遍历整个网络,借此允许每个结点访问发自每个其它结点的信息。
通过依据这两种有创造性的传输信息方法中的一种(或全部)进行操作,每个结点在网络上传输信息的容量能够有利地独立于其它结点而确定。另外,一给定结点只需要拥有提供该结点的交换(或话音处理)容量而不是系统的整个容量所需的足够大的内存。
在本发明的另一个实施例中,使用了第二个环来连接全部结点,从而提供了第二个网络。第二个网络有效地使系统的最大交换容量加倍并且在第一个网络或一个结点失效时也能提供错误隔离。
在本发明的另一个实施例中,一个或多个额外的网络被加到结点上,进一步增加系统的最大交换容量并提供冗余。
在本发明的又一个实施例中,一个或多个结点可被用于为一个网络到另一个网络“搭桥”。一个桥结点对两个网络是共同的,能够在这些网络之间双向交换信息。一个桥结点也可用于连接操作于不同速率的网络。
附图的简要说明在附加的权利要求中,具体指出了本发明。本发明的以上及更多的优点可以通过参照下面和附图相关联的描述被更好地予以理解,其中
图1A和1B是利用一环型。结点间网络在可编程交换机之间传送信息的一个可扩展电信系统的方框图,它的整体是依据本发明的一个优选的实施例构造的;图1C和1D是本发明的另一个利用一个二环型结点间网络在可编程交换机之间传送信息的实施例的方框图。
图1E给出可用于在图1A到图1D的网络上传送信息的不同包类型图2A是一种可用于图1A到图1D系统中的可编程交换结点的方框图;图2B和2C是可用于图1A和图1B系统中的另一种可编程交换结点的方框图;图3A,3B,3C,3D和3E是在图2A到2C中给出的结点交换机的方框图;图3F和3G分别是在图3B和3C中给出的发射机和接收机存储器的详细图示;图4A是图1A到1D中在结点间网络上传送信息的一种方法所涉及的接收和发送功能的方框图;图4B是一个表明依据在图4A中描述的方法传输电路交换信息的详细步骤的流程图4C和4D是一个表明依据在图4A中描述的方法传输电路交换数据和包交换数据的详细步骤的流程图;图4E是表明结点间传输电路交换数据和包交换数据的时间关系的时序图;图5A是描述在图1A到图1D的结点间网络上传输信息的另一种方法的方框图;图5B和5C是描述依据图5A给出的方法传输电路交换数据和包交换数据的详细步骤的流程图;图6A和6B是一个表明当一个可编程交换结点或结点间网络的一部分失败时通信怎样保持下去的可扩展电信系统的方框图;图7是本发明的另一个利用两个二环结点间网络,其一为冗余,在可编程交换结点间传输信息的实施例的方框图;图8A和8B是本发明的另一个利用一结点间网络在一个或多个可编程交换结点和一个或多个话音处理设备结点间传输信息的实施例的方框图;图8C是在图8A和8B中给出的一个话音处理设备结点的方框图;图9A和9B是本发明的另一个利用一可编程交换结点作为两个结点间网络之间桥梁的实施例的方框图;图9C是图9A和9B中给出的桥结点的方框图;图10A是本发明的另一个利用8个环在可编程交换结点间传输信息,表明交换系统更大的扩展能力的实施例的方框图;以及图10B和10C是图10A中的一个交换结点和方框图。
一个解说性实施例的详细描述图1A和1B给出一个大容量,可扩展,完全可编程的电信交换系统2。系统2包括一个主机A和一系列可编程交换结点6a-6h。结点6a-6h中的每一个包括一个主机接口,该接口通过一个局域网(LAN)例如以太网或通过多条异步通信(RS232)链路8基于通信关系与主机4相连。当然其它类型的主机/结点接口也可以代替LAN/RS232链路8,可做为对它们的补充。尽管只给出了一个主机4,但使用LAN8来提供主机/结点通信允许通过配置每个主机为“客户机”和每个结点为“服务器”使得多个主机可以控制系统2(或它的一部分)。为了让该图更加清楚,结点6a和6f-6h的主机接口被去掉了。
结点6a-6h中的每一个包含用于和公共交换电话网(PSTN)或一个专用网10连接的数字网络/线路接口。“专用网”一词在广义上是指除了PSTN外的任何网络或线路或其它接口。再一次,为了增强清楚程度,结点6b-6e的网络/线路接口被却掉了。如具有代表性的结点6g所示,网络/线路接口可能终接于数字网络或者模拟中继线/线路,或两种类型的结合。一给定结点的网络/线路接口可能包括适合的接口以使用ATM、7号信令系统(SS7)、ISDN、T1/拆除比特,E1/CAS或其它通信协议进行通信。
结点6g在名称上被指定为“主结点A”(激活的主结点)而结点6h在名称上被指定为“主结点B”(冗余的备用主结点)。一条同步基准线(基准线1…基准线n)从激活的主结点延伸到每个其它交换结点,尽管为了清楚起见省略掉一些这样的线。如在下面做出的详细解释,在和图3A到3E的连接中,6a-6h中的任一结点可以被配置成激活的主结点、或备用的主结点。但是,在任意给定时刻,只能有且仅有一个激活的主结点。
结点6a-6h被一个在结点间提供高速率、高带宽的数字通信的结点间网络12连接在一起。如已说明的,结点间网络12可使用一个能够让结点6a-6h中的每一个和网络12提供服务的每个其它结点交换包信息的环来实现。结点间网络也可由许多其它类型的通信网络中的任一种实现,包括以太网或其它类型的LAN,无线通信网络和PSTN(ATM/SONET)。使用PSTN作为结点间网络12允许结点物理分布于很大的区域上。
用于在结点间网络12上交换信息的一般包结构14由一个控制部分16,一个有效负载部分18以及一个状态和控制部分19组成。用传送不同类信息的各种包结构的细节在下面与图1E相联系给出描述。
使用结点间网络12,任一给定结点的端口能以一种完全无阻塞的方式连到同一结点的任何其它端口或任何其它结点上。在这个优选的实施例中,通过结点间网络12共有8个交换结点6a-6h被相互连接在一起,如果结点间网络12的全部带宽被用于传输电路交换数据,则系统2能够交换(8×2,048)=16,384个端口,这相当于8,192个同时的双向呼叫。
应该知道6a-6h中的每个结点都相对于在其上终止的网络/线路接口独立地操作。即,任何结点可以在不妨碍其它结点的操作或网络/线路接口的情况下被从结点间网络12上删除或加到网络上。另外,每个交换结点的交换容量可以独立于其它结点的交换容量被确定(即,在相同的结点间网络12上“小”交换机可以和“大”交换机结合在一起)。因此,系统2的整体交换容量可以简单地通过增加额外的交换结点到结点间网络12而增大,与有关该网络或额外的结点间网络12的数据传输速率的某些限制符合,这在下面做讨论。
系统2的全部操作由主机4控制,它一般地由一个用户的应用软件运行于其上的个人计算机(PC),工作站,容错或其它计算机实现。主机4和6a-6h中的每个结点在LAN/RS232链路8上交换消息。这样的消息一般用于配置结点和直接呼叫处理功能例如建立连接和提供通信业务(即,音调检测,音调产生和组合)。
图1C和1D给出一个与图1A和1B中的系统2相似的可扩展电信交换系统17,区别在于用了两个环来组成连接结点6a-6h的结点间网络12。为了清楚起见省略了PSTN/专用网10。在余下的图中,将使用相同的参考数字代表相同的成分或步骤。在概念上,由于信息可使用独立于另一个环的任何环在结点间传送,则两个环中的每个可以被看作一个单独的结点间网络(或,换句话说,可被看作单一网络中的单独的信道),从而和系统2的容量相比加倍了最大交换容量。同时,使用两个环为系统17提供了错误隔离。即,一旦一个环失败了(这将使得整个的单环系统2不能操作),第二个环可以继续在结点间传输信息,从而保持系统17至少能够部分可操作。
图1E给出可用于在结点间网络12上传输信息的几种包的优选实施例。电路交换数据包3和话音处理包5结构很相似,每个包括一个含有忙指示及其后的地址和控制信息的控制部分。如在下面详细给出的描述忙指示可被用于代表一给定包的当前状态为“忙”(表示该包可能没有被一结点用于传输信息)或者“空闲”。
地址信息最好包括发起包的源(SRC)结点或包要到达的目的(DEST)结点,或二者的地址。每个地址(源或目的)最好包括一个唯一标识一特定结点间网络的“网络地址”。由于如上所述,多个结点间网络可能被用来连接到相同或不同的结点集合,所以这种标识是有必要的。每个地址(源或目的)最好包括一个唯一标识一特定结点间网络中一特定结点的“结点地址”。其它的地址信息可能包括一个唯一标识一特定端口或端口集合的显式“端口地址”。
一般地,传输电路交换数据的包3和5,需要“端口地址”,因为这样的数据会分布在多个结点和/或端口上。做为对显式“端口地址”的一个替代(该地址在一个大的交换系统中会表现为包所携带的几千个字节的附加信息),隐式“端口地址”可通过维持有效负载中电路交换数据的预定顺序予以确定。例如,包3和5被描述为具有足够的携带总共2048字节电路交换数据的有效负载能力。当这些字节被填入有效负载中时,最好被安排成准确地与一给定结点的时隙序列相对应的顺序。具体地,对应于一给定结点的“第一个”时隙(时隙(TS)0)的电路交换数据字节被首先填入有效负载,随后以序列顺序填入剩下的字节。通过这种安排,任意给定结点能够只是简单地数一特定字节相对于有效负载中第一字节的位置,确切地知道该字节对应的时隙,对有效负载填入电路交换数据或从中取出数据。
相反地,包7和9一般不需要“端口地址”,因为这种包中携带的信息不是电路交换数据。
在控制部分16中可以包含另外一些信息用于指明包类型,包的长度,包的序列号或其它信息。
依赖于哪个结点发送一给定包,每种包的长度或有效负载容量可能有所不同。例如,只要3和5提供足够的容量来传输最多由一给定结点交换或处理的最大数目个端口的电路交换数据,它们的有效负载容量就可能不同。因此,如果一特定结点能够交换或处理最多2,048个端口,则该结点最好发送其有效负载具有最多2,048字节电路交换数据容量的包3和5。相似地,如果另一不同结点只能交换512个端口,该结点最好发送其有效负载具有最多512字节数的包3和5。
所有种类包的有效负载部分最好其后有状态和控制信息,该信息包括一个校验和或其它用于检错和纠错的信息。
包交换数据包7和维护包9具有相似的结构(它们的长度或有效负载能力是不同的),除这些类的包不携带电路交换数据外,但是,如上所述,它们用于传输来自一个点(源)要到达另一点(目的)或多个单个点(“广播”)的包交换数据。包7和9的状态和控制部分可以包括表明一给定包的目的结点能够接收该包或接收时正忙而不能接收该包的信息。
图2A给出可用于图1A到1D中的系统的一种可编程交换结点优选实施例的主要功能组成。数字或模拟网络/线路接口终接于一系列线路卡输入/输出(IO)卡板20上。在一优选的实施例中,代表总共2,048个端口的网络/线路接口可以终接于线路卡IO卡板20上。如果需要,一个冗余的线路卡IO卡板22和冗余的IO总线24可以有选择地被提供以在线路卡IO卡板20中的一个失败时继续进行交换结点的操作。
一系列数字网络T1,E1,J1或模拟中继/线路线路卡26在线路卡(LC)IO线28上与线路卡IO卡板20通信。线路卡26也和冗余交换总线30a和30b接口。此外,如果需要,可以提供一可选的冗余线路卡32,它在冗余LC20线34上与冗余线路卡IO卡板22通信。其它类型的网络/线路接口,如DS3,SONET或其它,也可以被提供。
各种通信业务,诸如单音检测和生成,会议电话,录音通知,呼叫过程分析,语音识别,ADPCM压缩和许多其它业务由一个或多个多功能数字信号处理(MFDSP)卡36提供。ISDN一次群速率业务和其它分组通信业务由一个或多个ISDN-24卡38提供。冗余的MFDSP卡36和冗余的ISDN-24卡38可有选择地被计入。MFDSP卡36和ISDN-24卡38,以及总线30a和30b的最佳结构和操作的细节,在一共同未决申请中被予以揭示,该应用于1993年1月5日提交,序列号为08/001,113,现发布为美国专利号5,349,579并被转让给本申请的受让人,因此它被包含在参考文献中。假设配备有一个或多个卡36或38,一个特定结点可以在执行各种不同的通信业务方面独立于其它结点操作。另一方面,如下所述,也许只有一个结点(或全部结点的子集)配备有卡36或38,而结点间网络12可能被用于向没有如此配置的其它结点提供通信业务。
一个环(网络)IO卡40a在一环对(标为组A,环1和2),它们被标明为结点间网络12a,和一个被标明为“本地总线主”的结点交换机44a之间充当接口,结点交换机的重要性在下面给出。第一个主机接口42a处理主机4和图2A的结点之间的全部通信。
第二个冗余的环(网络)IO卡40b在一冗余的构成第二个结点间网络12b的环对(标为组B,环3和4)和一个冗余的最好和结点交换机44a结构相同的结点交换机44b之间充当接口。第二个主机接口42b提供与主机4的通信链路。链路46在结点交换机44a和44b之间提供通信。链路46只用于连接正在做为本地总线主设备操作的结点交换机和另一个正在做为本地总线主设备操作的结点交换机。
在一个优选的实施例中,线路卡26执行网络/线路接口所需要的实时呼叫处理功能,如果必要,包括模拟到数字的转换。线路卡26在交换总线30a和30b上发送和接收时分复用(TDM)电路交换数据。结点交换机44a和44b,MFDSP卡36和ISDN-24卡38中的每一个在总线30a和30b上接收来自所有的线路卡26在全部时隙上发送的电路交换数据。结点交换机44a和44b,MFDSP卡36和ISDN-24卡38中的每一个都具有能力在本地主总线(即结点交换机44a)的指挥下,在总线30a和30b上,在预定的时隙内向线路卡26发送电路交换数据。另外,每个交换总线30a和30b包含一个高层数据链路控制(HDLC)总线,在其上结点交换机44a和44b,MFI)SP卡36和ISDN-24卡38的CPUS互相交换控制消息。
为了方便,在本描述的余下部分中“本地端口”一词应该用于指对于一给定结点,包含着从一线路卡26发给全部结点交换机44,MFDSP卡36和ISDN-24卡38(如果有的话)的电路交换数据的时隙,或者包含着从任一结点交换机44,MFDSP卡36或ISDN-24卡38发给线路卡26的数据的时隙。“远程端口”一词应该用于指对于一给定结点,一不同结点的本地端口。
在一个优选的实施例中,每个结点6a-6h能够时间交换多达2,048个本地端口。于是,在本优选实施例中,每个结点交换机44a和44b包含一个能够交换2,048个时隙的时分交换机。根据本发明的一个观点,每个结点交换机44a和44b的交换内存只需要足够大以支持最大数目的本地端口,而不是整个系统的交换容量。本发明该观点的重要优势可通过再次暂时参考图1A和1B得以体会。如上面提到的,系统2的一个优选实施例能够交换总共16,384个端口。可是,每个结点6a-6h内的交换机(结点交换机44a)只需要拥有一个大到足够交换2,048个本地端口,而不是整个系统2的16,384个端口的交换内存。如在下面更完整地给出的描述,正是对结点间网络12的新颖安排和它从一个结点向其它任何结点传输电路交换数据的能力,在实际上提供了产生系统2的高整体容量的第二级交换。
图2B和2C给出了可编程交换结点的第二种优选的实施例。这种结点最佳地基于包括一PC-486(或同级别计算机)和外设48,一个ISA(AT)总线50和一个海量存储设备52的流行的PC机。PC-486 48可被用于运行一用户的应用软件以及高效地做为一个主机操作。另一方面,一可选的主机接口42a可被用于连接一个“外部的”主机(比如在图1A到1D中的主机4)来控制结点。除了在当前图中已指出的与之相差的组件外,在本实施例中还可以提供几个其它组件。一个话音处理设备总线54在交换总线30a和两个话音处理总线,PEB总线60和/或MVIP总线62,之间提供双向通信。PEB总线60和MVIP总线62代表用于分别与商业上现有的广泛应用的话音处理装备56和58通信的著名的“标准”接口。例如,新泽西的Dialogic公司生产一系列话音处理装备板或卡,它们可以直接插入PEB总线60并且可以被用于各种应用,包括语音邮件,传真邮件,交互话音响应及其它。
结点交换机44a的一个优选实施例的详细构造在图3A到3E中给出。中央处理单元(CPU)和相关的RAM/ROM 64基于通信关系被连到一个CPU地址总线114和一个CPU数据总线116。CPU64也基于通信关系被连到一个HDLC总线(交换总线30a和30b的一部分),并且也可以依赖于下面讨论的结点交换机44a的配置,被基于通信关系连接到主机4。
一个数据发射机66基于通信关系被连到CPU地址和数据总线114和116以及两个包处理电路78a和78b。发射机66也被连接用于在交换总线30a(冗余的交换总线30b为清楚起见被略去)上为本地端口接收电路交换数据。如下面所给出的解释,依赖于它的操作方式,发射机66可以接收和时分交换从一线路卡(LSDATA)到一交换机方向流动的电路交换数据,或者,换句话说,可以接收和时分交换从一交换机到一线路卡(SLDATA)方向流动的数据。发射机66包括两个环映象96,98,分别对应于环1和2,一个本地序贯计数器/映象100和一个四端口本地发射机存储器102。
一个数据接收机68基于通信关系被连接到CPU地址和数据总线114和116,以及一个空分交换机控制电路112,电路的输出在交换总线30a上发送。接收机68依赖于它的操作方式,可以和空分交换机控制电路112一起,输出以SLDATA或LSDATA方向流动(例如,无论哪个和输入到发射机66的数据相反的方向)的电路交换数据。接收机68包括一个序贯计数/映象104,一个本地时隙映象106,一个三端口本地接收机存储器108,一个缓冲查找存储器110,一个二端口本地数据包接收机存储器118和一个序列映象/控制120。
一个高速数据接收机70a和环1进行物理接口,以接收来自该环呈现为包形式的信息。接收机70a最佳地用惠普公司的HDMP-1014接收机芯片实现,该芯片是一个发射极耦合逻辑(ECL)设备。转换电路72a被连接以接收来自接收机70a的输出信号并产生与晶体管-晶体管逻辑(TTL)兼容的输出信号。转换电路72a的输出被送到复用器74a,它把从接收机70a接收到的16比特数据转换成32比特格式。复用器74a的输出被送到一个先入先出(FIFO)存储器76a一个包控制电路92a和一个环选择电路94。一个发射标志(XF)电路90a被连接到包控制电路92a。FIFO76a的输出被连到包处理电路78a。一个去复用器电路80a,转换电路82a和高速数据发射机84a执行分别与复用器74a,转换电路72a和数据接收机70a互补的功能。发射机84最好用惠普公司的HDMP-1012发射机芯片实现。
独立但相同的电路被提供用于和环2接口并且向或从环2传输信息。相似的数值被用于标识对应的组件。如下面结合图6A和6B做出的解释,在结点交换机44a工作于“环回”方式期间,如图和参考数值71a所示,发射机84b的输出被有效地连到接收机70a的输入端。相似地,如参考数值71b所示,接收机70b的输入端被有效地连到发射机84a的输出端。
结点交换机44a包括另外用于定时和同步功能的组件,它们被组合在一起成为主结点选项65和本地总线主设备选项71。主结点选项65包括一个结点间同步电路67和一个主环晶振69。同步电路67产生参考信号ref1……refn,每个信号被提供给一个其它交换结点(见图1A到1D)。同步电路67也产生一个结点帧同步信号和一个主环时钟信号,二者都被提供给包控制电路92a和92b。
本地总线主设备选项71包括一个本地总线HDLC控制73和一个本地同步电路75。本地总线HDLC控制73基于通信关系被分别连到CPU地址和数据总线114和116,并产生一系列控制信号1…n,这些控制信号被提供给与一给定结点相关的所有其它卡(即,其它结点交换机,线路卡,MFDSP卡和ISDN-24卡)用于控制对HDLC总线的访问。
本地同步电路95接收两个输入信号。一个输入信号是ren~refn信号中的一个(如果另一个结点交换机被配置成主结点)或者一个环路定时源(如果图3A到3D中的结点交换机自己被配置成主结点)。到电路75的帧同步信号取自结点间网络(环)12或ref1…refn信号中的一个(如果另一个结点交换机被配置成主结点)。如果自己被配置成主结点,电路75将自己产生帧同步信号。
有关接收机存储器108和发射机存储器102的构造的进一步细节在图3F和3G中给出。发射机存储器102由两个电路交换数据存储单元122和126,以及两个常数区124和128组成。相似地,接收机存储器108由两个电路交换数据存储单元130和134,以及两个常数区132和136组成。每个存储器的两个电路交换数据存储单元和它们各自的映象和计数器一起,可对电路交换数据进行时分交换。即,在一给定时隙内,一字节的电路交换数据被顺序写入电路交换数据存储单元的一个存储器位置,而同时存储在其它电路交换数据存储单元中的电路交换数据在“有选择地”被读出。“有选择地”一词在本描述中用于指一个应用映象提供的地址的过程。在每个交换的125μs时间周期内,电路交换数据存储单元的角色转换一次,从而交换时隙起到时分交换的作用。
每个存储器的常数区一般可用于由CPU64存储包交换数据,尽管CPU可以访问任一存储器的任何位置。
配置,同步和初始化在继续给出结点交换机44a操作的概述之前,理解一下每个交换机怎样被配置来进行操作以及从系统同步和初始化方面理解它的责任是很有帮助的。再次参考图1A,1B和3A到3E,应该了解每个可编程交换结点6a-6h必须至少包含一个,但可能包含多个结点交换机44a。应该了解,一般地必须考虑两种同步结点间网络同步和PSTN(或专用网)同步。
每个结点交换机可通过软件合理地配置,做为(1)一个主结点和本地总线主的结合,(2)只是一个本地总线主设备,或(3)既不是主结点又不是本地总线主设备,而只是一个“标准的”交换机进行操作。配置规则如下。对于每个结点间网络12,在任何给定时刻必须有且仅有一个做为主结点操作的结点交换机。不论哪一个结点交换机做为主结点,它也要做为它的结点的本地主线总设备进行操作。在一给定结点内,在任何给定时刻必须有且仅有一个做为本地总线主设备操作的结点交换机。最后,在一给定结点内,在任何给定时刻可以有一个或多个结点交换机做为标准交换机进行操作。
操作于主结点方式的结点交换机的责任是(1)到PSTN环路定时源(通过电路75)的接口,用于到PSTN的数字网络的比特同步;(2)产生系统范围的维护包,该包被所有其它结点用于到PSTN的数字网络的帧同步(基于由电路67产生的结点帧同步信号);(3)产生一个交换参考时钟源(ref1…refn)用于所有非主结点的比特同步;(4)有选择地在ref1…refn上发送一个主帧信号;(5)为结点间网络(主环时钟)产生一主时钟;(6)断开网络(环)时钟;以及(7)保证结点间网络的整体性不被破坏。
做为一个本地总线主设备的结点交换机的责任是(1)到PSTN环路定时源或来自主结点的ref1…refn的接口用于到PSTN的数字网络的比特同步;(2)接收主结点产生的系统范围的维护包,用于到PSTN数字网络的帧同步;(3)与宿主机通信;(4)在HDLC总线上(由来自HDLC控制73的控制信号1…n控制)和结点内的所有其它卡(其它结点交换机,线路卡,MFDSP卡和ISDN-24卡)通信;以及(5)为结点内的所有其它卡产生结点时钟的帧校准(来自电路75的本地总线时钟和本地总线帧同步信号)。
做为标准交换机的结点交换机的责任是从本地总线主设备接收本地总线时钟和本地总线帧同步信号。
主结点负责初始化和配置系统,这包括验证结点间网络12的完整性和可操作性,以及可选择地,为每个结点指定一个结点地址或查询结点以确定它们原先指定的地址。一旦一个结点的地址被指定或确定下来,主结点可以询问该结点(即,在结点间网络12上使用维护包)以获得配置信息,比如结点类型,PSTN接口和/或协议的种类,交换容量或其它信息。主结点也有责任执行维护和管理的功能。另外,如果用多个环实现任一结点间网络,主结点可以为每个结点交换机指定一特定环用于发送和接收包。
操作概述参考图1C,1D和3A到3F到3G,现在将给出系统17操作的概述。首先将考虑的是电路交换数据是怎样被处理的。为了本概述方便,假设系统17已经被初始化。
输入到发射机存储器102的LSDATA(或SLDATA)代表由一给定结点提供的本端口的电路交换数据字节。这些字节被顺序写入电路交换数据存储单元122和126。相对应地,那些数据存储单元的容量实际上确定了可由结点交换机44a时分交换的最多时隙数。为了本概述方便,假定每个数据存储单元具有2,048字节的容量,意味着最多2,048个本地端口可由发射机存储器102进行时分交换。
为了让这个“本地”电路交换数据(保存在存储器102中)能够被结点间网络12支持的每个其它结点使用,可使用两种方法中的一种。在第一种方法中,发射机66和包处理电路78a(假设环1是指定给该结点用于发送包的环)提出一个有效负载为“空”的包(意思是有效负载不包含电路交换数据,来自连到其它本地端口的本地端口的数据除外),但该包具有足够的容量来容纳多达2,048字节的电路交换数据。然后发射机84a发送“空”包。如果我们假设,例如,“空”包由结点6c发出,则结点6d将是第一个收到该包的结点(即,在绕环流动方向上的第一个相邻结点是接收“空”包的第一个结点)。
在结点6d,“空”包被接收机70a接收到并最终送到包处理电路78a。包处理电路78a接收根据映象(环1)96提供的地址从电路交换数据存储单元122和126中有选择地读出的电路交换数据。换句话说,借助于它提供的地址和控制,环映象96使得存储在存储单元122和126中的“本地”电路交换数据的特定字节(或者可能是全部字节或零个字节)从那些存储单元中被有选择地读出并送到包处理电路78a。相似的过程在映象(环2)98,存储器102和包处理电路78b间并行地进行。
包处理电路78a把它收到的“本地”电路交换数据(如果有)插入到接收到的“空”包的有效负载,而该包被送到发射机84a以发送给结点间网络12的下一个结点。这个过程被重复,结果每个其它结点,接连地,有机会在发自结点6c的包的有效负载中插入它自己的“本地”电路交换数据。如果一特定结点没有要插入到有效负载中的“本地”电路交换数据,收到的包不作改变送到下一个结点。最后,被以“空”送出的包遍历了它被发送到的整个环并以“满载”返回到它被发送出的结点(发起结点)。在该结点(6c),“满载”包的有效负载中的电路交换数据被经由环选择电路94,序贯写入接收机存储器108,然经时分交换做为LSDATA或SLDATA输出。这种方法被叫做“空发送满返回”或缩写为ESFR。
ESFR方法被重复,结果每个结点,依次发送一个“空”包并接收一个“满载”的返回包(在该结点指定的环上),因此使得来自任何结点任何端口的“本地”电路交换数据被有效地传送到相同结点或不同结点的任何其它端口上。所有的电路交换数据最好在125μs以内传送以免丢失样值。如下面给出的解释,也应该了解ESFR方法也可以被用于“广播”或传送来自一个端口到多于一个端口的其它端口的信息。
在第二种方法中,概念是对每个结点,依次地发起(发送)一个在送出时有效负载为“满载”而返回时为“空”的包。因此,这种方法的缩写名字是“满载出/空返回”或者FSER方法。在FSER方法中,所有存储在发射机存储器102的电路交换数据存储单元122和126中的“本地”电路交换数据被顺序读出并送到包处理电路78a。一个有效负载中含有一给定结点的全部“本地”电路交换数据的“满载”包被构造出。该“满载”包被发射机84a发送出,被第一个相邻结点接收到。有效负载中的数据被有选择地取出并经由环选择电路94送到接收机68。该数据随后被有选择地写入接收机存储器108的数据存储单元130和134。这个过程被重复,直到由每个结点发送的“满载”包已经被每个其它结点收到,从而取得了相同的使得发自任一结点任一端口的“本地”电路交换数据被有效地传送给相同或不同结点的任何其它端口的整体结果。
除了在结点间传输电路交换数据外,结点间网络12也可以被用于传输包交换数据。包交换数据的例子是数据或控制交换系统自身的维护信息,X-25包,LAPB或LAPD包。包交换数据出现在环选择电路94的输出端,但被写入包接收机存储器118,而不是存储器108。一旦存储在存储器118中,包交换数据可被CPU64经由CPU数据总线116访问到。
ESFR方法现在参照图3A到3E,4A和4B,将描述ESFR方法的进一步细节。应该了解图4B的流程图表示在每个结点由该结点的包控制电路(92a和92b),包处理电路78a和78b及相关电路并行执行的步骤。应该记住,当ESFR方法被使用时,“空”包仅在一个环上被发送并在仅一个环上(在初始化期间指定)被接收。对于本例,假定图4A中的结点6j正准备在结点间网络12上发送一个用于收集来自其它结点,包括结点6j的电路交换数据的“空包”。
这个过程起始于复位步骤138的开始,这是一个结点主要等待一个帧(包含一个包)到达结点间网络12上的状态。在步骤140,做出决定是否检测到帧的开始。如果没检测到帧开始,过程返回到起始点138。另一方面,如果检测到帧的开始,意味着在结点6i收到了一个包,则在步骤142该包的控制部分的内容被检查以确定是否该包为“忙状态”。一个包的“忙”或不“忙”(“空闲”)状态由包的控制部分中(图1E)的忙指示(BI)表示。如果该包不忙,意味着它是“空闲”的可被结点6i使用,过程继续到步骤144,在那做出确定结点6i的电路交换数据(CSD)窗口是否是开放的。“CSD窗口”指一个指定的被分配给所有结点来发送“空”的电路交换数据包的时间段。
如果CSD窗口没有开,意味着对于结点6i现在不是合适的为电路交换数据发送一“空”包的时间。则过程返回到起始点138。如果CSD窗口开放了,则过程进行到步骤146,在那儿结点6i通过在网络12上发送一“忙”控制字以控制包来启动发送一包的过程。下面,在步骤150,结点6i继续在网络12上发送“空”包的过程。注意,然而在步骤148,结点6i必须在发送正继续时向“空”包的有效负载插入“本地连接数据”(如果有)。“本地连接数据”一词指发自并终止于一正送出一“空”包的给定结点的一个或多个本地端口的电路交换数据。换句话说,本地连接数据是指要从一本地端口在结点间网络口上交换到相同结点的另一个本地端口的电路交换数据。因此,在本例中,如果结点6i有任何彼此相连的本地端口,则那些端口所属的电路交换数据将在步骤148被插入“空”包的有效负载。实际上,结点6i(或任何其它结点)向它自己发送本地连接数据。下面,在步骤152,置位发送标志(XF)90a(图3A)用于提醒结点6i它已经在网络12上发送了一个“空”包,将来它应该接收到一个返回的“满”包。
下面,过程返回到起点138以等待接收另一个帧。一旦检测到另一帧的开始并且确定了帧中的包是“忙”状态(非空闲),则过程进行到步骤154,在那儿确定是否发送标志被置位。如果XF没被置位,意味着刚收到的包来自于另一个结点,则过程继续到步骤162,在那儿检查该包控制部分中包含的地址信息以确定包的来源(结点)。因此,在本例中,当结点6j实际上收到结点6i发送的“空”包时,过程将继续到步骤162,因为结点6j的发送标志未被置位。在这一点,结点6j必须向该包的有效负载中插入适当的电路交换数据。在本例中,适当的电路交换数据是指属于已经连到(或就要连到)结点6i任何本地端口的结点6j的任何本地端口的数据。如图4A所示,这是通过结点6j中的CPU向地址映象96,98中的一个写入地址和控制数据,从而适当的电路交换数据在步骤164被有选择地写入收到包的有效负载而完成的。这一步代表着由系统17执行的第二阶段交换(结点到结点)的开始。错误状态信息随后在步骤165中被置入包的状态和控制部分。
下面,在正常情况下,现在“满载”的返回包被结点6i收到。如果这样,过程经过步骤138,140和142,到步骤154,此处又要对发送标志的状态做出确定(这次由结点6i进行)。由于结点6i以前设置了它的发送标志(在步骤152当“空”包被发送时),该结点确定标志确实被置位。在步骤156,包的控制部分的忙指示被改变从而该包在传给下一个结点时是“空闲”的,可被另一个结点使用。有效负载中的电路交换数据,包括在步骤148中插入的任何本地连接数据和由每个其它结点(包括结点6i)插入的所有电路交换数据,随后被顺序写入接收机存储器108。最后,在过程返回起始点138之前,在步骤160发送标志被清除,在步骤161错误状态信息被检查。当电路交换数据最终被时分交换出存储器108时,它被以传统方式进行A律到μ律(或相反)转换操作的缓冲查寻电路110处理。
图4C和4D给出一个ESFR方法的实施例,其中电路交换数据和包交换数据都可以在结点间传输。开始的几个步骤和图4B中给出的那些相同。然而,注意在当步骤144,当一特定结点确定CSD窗口没有打开时,意味着它的电路交换数据已经被发送(在当前的125μs帧中),过程进行到步骤155而不是立即返回到起点138。在步骤155,要确定是否一个“空”数据包,它将被用于从其它结点收集包交换信息,已准备好发送以及是否接收机存储器准备好。如果“空”数据分组没准备好或者接收机存储器是满的(没准备好),过程返回到起始点138。否则,过程进行到步骤157、在那儿包的控制部分的信息被修改以标识该包为“空”。该“空”包随后在步骤159被发送,在步骤161把发送标志置位,过程返回到起点138。
当收到下一帧时,过程经历步骤138,140和142。假定收到的包(在帧里)被标为“忙”,过程进行到步骤154,在那儿检查发送标志的状态。如果发送标志被置位,意味着接收到该包的结点以前发送过一个收集包交换数据(在步骤159,161)的“空”包,或者发送过一个收集电路交换数据(在步骤148-152)的“空”包,则过程继续到步骤166,在那儿再次通过检查包的控制部分的信息确定刚收到的包是什么类型的。包的类型可指示是否该包的有效负载中包含电路交换数据,分组交换数据或可能的其它类的数据(例如话音处理或维护)。如果包是携带电路交换数据的类型,过程正如由图4B所描述的,经过步骤158和160。如果包是携带包交换数据的类型,过程进行到确定包是否满载的步骤168。如果包不是满载的,这意味着其它结点没有包交换数据要送给(至少在包遍历网络所用的时间段内)原先发送该包(且刚收到该包)的结点。在这个事件中,发送标志在步骤171被清除而过程返回到起点138。
另一方面,如果在步骤168确定包是满载的,则过程进行到步骤170,于此缓冲计数器被增加。下面,包被拷贝到数据包接收机存储器118(图3C),在那儿它被暂时保存等待进一步处理。发送标志随后在步骤174被清除。最后,在当步骤176用一个中断通知CPU64b一个包交换数据包的到达。
再次参见步骤154,如果确定发送标志没被置位,意味着刚收到的包来自另一个结点,则过程进行到步骤182,在那儿和步骤166相似给出有关包的类型的确定。如果包是携带电路交换数据的类型,过程正如图4B经过步骤162,164和165。如果包是携带包交换数据的类型,则过程进行到确定包是否为“空”的步骤188。如果包不“空”意味着另一个结点已经填充了有效负载,则包被传送到下一个结点,而过程返回到起点138。
另一方面,如果包是“空”的,意味着它是被另一个结点最初以“空”发出用于收集包交换数据而且没有其它结点曾“填充”过有效负载,则过程进行到步骤190,在那儿已收到该包的结点确定是否它有一些包交换数据要发送给最初发出该包的结点。如果没有,“空”包被传送给下一个结点而过程返回起始点138。如果有,包在步骤192被标记为“满”,在当步骤194把包交换数据放入有效负载,而“满”包在步骤194被发送给下一个结点。
图4E是一个时序图,给出分配结点间网络12的带宽以允许所有结点传输电路交换数据和包交换数据的优选实施例。在这个实施例中,在结点间网络上的数据传输是帧窗口内进行的,每个窗口周期是125μs。125μs的周期是优选的,因为它对应于最广泛使用的网络协议的采样速率(8KHz),意味着电路交换数据的值可以每隔125μs改变一次。因此,通过要求所有的结点间电路交换数据的传输在125μs内完成,结点间网络12保证了所有这种数据在任何值变化之前被传送出去。这也允许了结点间网络12相对于PSTN(或专用网)10进行异步操作。
在每个帧窗口内,约一半可用时间(即62.5μs)被分配给所有结点,以循环(round-robin)的形式传输电路交换数据到其它结点。这样的传输可用ESFR或FSER方法进行,或者两者都用,可以涉及携带有包交换数据(或甚至于被用于另一个目的的电路交换数据)的任何类型的包,包括图1E中的包5,7和9。每个窗口的余下时间被分配给结点用于传输包交换数据(如果有)到其它结点。注意“优先级”被给予电路交换数据,因为来自所有结点的所有这种数据在任何包交换数据可被传送之前被传送。
ESFR方法也可被用于向同一结点或多个结点的多个端口“广播”电路交换数据。例如,如果有“本地”电路交换数据要广播给多个本地端口,则在步骤148(图4B和4C)很简单地在“空”包的有效负载中插入该数据的多个拷贝。换句话说,要广播的数据字节的多个拷贝被有选择地放入有效负载中与要接收广播的本地端口相对应的位置上。相似地,如果来自一远程端口的电路交换数据要广播,则在步骤164在对应于要接收的端口的有效负载(即,有一个端口被假定要接收广播的每个结点需要一个分组/有效负载)位置插入该数据的多个拷贝。
总结一下,如图4A所反应出的,当ESFR方法被用于传输数据时,循环方式中的每个结点依次地发送一个“空”包用于从结点间网络12所支持的其它所有结点收集数据。当收到另一个结点发送的“空”包时,每个结点有选择地从它的存储器中的一个读取数据并放入“空”包的有效负载中去。当这个现在“满载的”包最后返回到发送它的结点时,在有效负载中包含的数据被顺序写入该结点的接收机存储器中的一个。这一步标志着由系统执行的第二阶段交换(单向结点到结点)的完成。
FSER方法和结合的ESFR/FSER方法参考图5A到5C,FSER方法的进一步细节将从一“组合的”方法的优选实施例方面给出描述,在该方法中FSER方法被用于传输包交换数据而EFSR方法被用于传输电路交换数据。为了更加清楚,图5B和5C中代表FSER方法的部分用虚线框入。图5B和5C中代表ESFR方法的部分在虚线以外而且和图4C和4D中相似的参考号码代表的步骤一样。
在步骤144,如果做出确定CSD窗口没有打开,意味着现在不是从其它结点收集数据的合适时间,过程进行到步骤196,在那里确定是否一个“满载”的数据包(包含包交换数据)已经准备好要发送给另一个结点。如果没准备好,过程返回到起点138等待另一帧的到达。如果一个数据包已准备好,意味着该包的有效负载已被装入包交换数据并且一个合适的(结点)目的地址被放入该包的控制部分中,该包在步骤198被标记为“满载”。随后在步骤200“满载”的数据包被发送。下面,发送标志在步骤202被置位而过程返回起点138等待另一帧的到达。
现在,考虑当一个被一结点发送的“满载的”数据包被另一个结点收到时会发生什么。过程经过步骤138,140和142到步骤154,在那里确定是否接收结点的发送标志被置位。如果该标志没被置位,意味着该包来自一不同结点,过程进行到步骤182,在那里在本例中确定该包包含包交换数据而不是电路交换数据。下面,在步骤214,该包的结点目的地址被检查以确定是否接收结点是该包所想要的接收结点。如果不是,过程返回到起点138。如果是,接收结点在步骤216检查是否它的包接收机存储器118(图3A)准备好接受该包。如果存储器118没准备好接收(例如由于存储器目前是满的),过程进行到步骤220,在那里向该包的状态和控制部分插入信息表明该结点正忙不能够接受该包。过程随后返回到起点138。
另一方面,在步骤216,如果存储器118准备好接受该分组,过程进行到步骤218,在此包被拷贝到该存储器。下面在步骤222,由一个中断通知CPU64b一个包交换的数据包的到达。
最后,我们应该考虑一个“满载”的数据包返回发出它的结点的情形。在这种情况下,过程从步骤138前进到步骤154,在那里确定接收结点的发送标志确实被置位。在步骤156,包的忙指示被释放(变到“空闲”),跟着在步骤166确定包包含什么类型的数据。在本例中,该包包含包交换数据,于是过程进行到清除发送标志的步骤204。下面,在步骤206基于在包的状态和控制部分中包含的信息确定该包要送到的结点是否曾经忙。如果是,意味着该包没有被目的结点接收,过程返回到起点138来做另一次尝试把包送到它的目的地。如果不是,该包的发射机存储器(图3f中的常值区124和128)在步骤208被标明为空。随后在步骤210确定是否该包被它要到达的目的结点所接收。如果是,过程返回到起点138。如果不是,在返回到起点138之前,在步骤212错误被记录下来。
很显然,FSER方法可被用于传输电路交换数据和包交换数据。当电路交换数据要被传输时,每个结点依次地,发送一个“满载”包,该包的有效负载被从发射机存储器102中顺序读出的电路交换数据填充。当一给定结点依次地收到一个由每个其它结点发送的“满载”包时,给定结点从每个这样包的有效负载中取出适当的数据,并依据由序贯计数器/映象104提供的地址有选择地把数据写入它的接收机存储器108。注意计数器/映象104提供的地址是“全部的”地址。(即,隐含的端口地址和结点源地址的组合),意味着每个可以代表整个系统的任何结点的任何端口。因为和这些全部的地址相对应的电路交换数据被写入存储器108(对应于本地端口)中的位置为了最后能以正确的顺序读出存储器108中的这些数据,必须进行地址翻译。一个地址映象翻译电路105接收由保存数据的存储器108的序贯计数器/映象104产生的地址做为输入。由地址映象本地107产生的地址被用于在存储器108中选择常值区域和从缓冲查寻110中选择缓冲数值。
和ESFR方法一样,FSER方法可被用于向多个端口广播电路交换数据。在一给定的单个结点,这是通过把来自一“满”包有效负载中用于广播的数据制成多份拷贝,然后有选择地把该数据写入该结点的接收机存储器的多个位置而实现的。相似地,不同的结点可以被命令拷贝来自一“满”包有效负载中的相同广播数据,然后有选择地把这些数据写入那些结点各自的接收机的一个或多个位置,从而在多个结点上实现广播。
在结点间连接呼叫已经给出了在结点间网络12上传输信息的不同方法,现在将描述一个在物理上与不同结点相连的端口之间呼叫怎样被连接的特殊举例。再次参考图1A,1B,2A和3A到3E,应该记住每个结点6a-6h有必要至少包括一个结点交换机44a。我们应假设一个线路与结点6h接口的主叫方摘机,拔叫一个对应于线路与结点6e接口的被叫方的号码。主机4收到一个来自结点6h中CPU64的“请求业务”消息(该消息可以包含拔叫数字)。主机4确定必须在结点6h和6e之间建立连接,于是发出一个“连接”消息(带有端口地址信息)到两个结点的CPU64以彼此连接。
现在,让我们只考虑一下在结点6h中会发生什么事。来自主叫方线路的电路交换数据在最开始,经由总线30a从线路卡20中的一个被送到结点交换机44a。为了这个例子,我们应进一步假设数据被保存在发射机存储器102中。下面,如果用ESFR方法,当一由结点6e在结点间网络12上发送(发起)的“空”包被结点6h收到时,来自主叫方的电路交换数据被时分交换出存储器102,插入到该包的有效负载中,该包将最终返回结点6e。在这点上,在主叫方(结点6h)和结点6e之间存在一个单向电路交换连接,一个由发射机存储器102执行的“时间”部分和由结点间网络12执行的第二阶段部分。下面,结点6e的接收机接收包含着来自主叫方的电路交换数据的返回“满”包。数据被时分交换经过接收机存储器108,并经由总线30a被送到与被叫方接口的线路卡20。在这点,主叫方(结点6h)和被叫方(结点6e)之间存在着一条完整的单向连接。正确地在反方向上重复相同的过程、从而建立起所要双向连接的另外一半。
另一方面,FSER方法能被用于连接相同的呼叫。在那种情况下,结点6h中的发射机102时分交换主叫方的电路交换数据到一个在结点间网络12上发送的“满载”包中。结点6e收到这个“满载”包时,从中取出主叫方的电路交换数据,把数据保存到接收机存储器108中,并把数据时分交换到和被叫方接口的线路卡中。再次,在反方向上执行该过程以建立双向连接的另外一半。
图6A和6B给出修改过的可扩展电信系统17(图1C和1D)以说明可编程交换结点或结点间网络12的一部分失败时造成的影响。在本例中,结点6f失败了或结点间网络12的一部分失败了(或者检测出不正常了作并且主机4使结点退出服务)。与失败结点6f相邻的结点6e和6g开始以“环回”方式操作。在环回方式中,如图3A,6A和6B中参考号码71a和71b所代表的一结点内正常情况下用于从一个环接收信息的电路被连接到正常情况下用于向另一个环发送信息的电路。因此,当一给定结点操作于环回方式时,所有在一个环上收到的信息被立即在另一个环上发送出去。一特定结点可以被主机4命令以环回方式操作或者,用另一种方法,可以在一“看门狗”定时器到时的时候自动开始操作。
借助于环回方式以及用两个环向不是一个环组成结点间网络12这一事实,结点6f失败产生的错误被有效地与系统17的其它部分隔离开来。即,只有结点6f的本地端口由于该结点的失败而丢失了业务。
图7给出本发明的另一个可选的实施例,其中4个可编程交换结点6k-6n被拥有一个环对,对A,和一个冗余环时,对B的结点间网络12连接在一起。应该了解本实施例不只限于4个交换结点,可以加入一个或多个另外的结点。在本实施例中,对A的带宽最好足够大,从而在正常操作条件下,所有数据(即,电路交换和包交换)可由该对独立传输。对B最好具有和对A类似的带宽,在正常条件下处于“备用”方式。当对A的环中的一个失败时,对B进入一常规的操作方式并承担传输所有数据的责任。同样,只有一对环处于“激活”状态但事实上两个环对在结点间并行传输信息是可取的。这是为了保证,有“激活”状态的环失败时,已经建立起的连接(呼叫)可以被保持而不会断掉。
图8A和8B描绘出本发明的另一个可选的实施例,其中使用一个两环的结点间网络12来连接多个带有许多个可编程交换结点6p和6q的话音处理设备224a-224e,以提供一个话音处理系统226。(也可以用一个单环网络)。话音处理设备224a-224e可以代表相同或不同的呼叫处理或通信业务包括语音邮件,相互作用话音响应,传真邮件,话音消息或其它补充业务或数据处理业务。因为话音处理设备224a-224e不包括任何网络/线路接口(并因此不需要组帧信息),这些设备可以很便利地相对于PSTN(或专用网)10异步操作。另外,设备224a-224e可以被配置成做为相对于每个客户主机4的服务出现。
图8C给出话音处理设备224a的一个优选实施例。注意设备224a的组成成分基本上和图2B和2C中所示的交换结点的成分相同,除了设备224a不需要且没有正常情况下网络/线路接口所需要的任何线路卡或其它卡(即MFDSP和ISDN-24)。
所有话音处理设备224a-224e在结点间网络12上最佳地做为结点出现,并且有和其它(交换)结点相同的对带宽的访问权。这种访问是非常便利的,因为它允许任何设备224a-224e为系统226支持的任何端口动态地提供所需的业务。例如,假设在结点69的一个本地端口上的一名主叫想访问一个语音邮件系统来为没应答的某人留言或取出留言。使用ESFR或FSER方法,主叫可以被连到话音处理设备224a-224e中的任何一个。假定那些设备中的一个是语音邮件系统,则主叫被提供了他想要的业务。当然,主叫也可以相似地被连接到由结点间网络12所支持的其它话音处理设备中的任何一个。
图9A和9B又给出本发明的另一个实施例,其中多个结点间网络被连接到一起组成一个具有更大交换容量或组合的交换/话音处理容量的系统228。第一个两环结点间网络120(它通过可编程交换结点6r和6s提供交换容量),通过一个可编程交换结点桥230被连接到第二个两环结点间网络12d上(它通过结点224f-224i提供话音处理容量,通过结点6t提供交换容量)。为了更加清楚,每个网络12c和12d的另外一对冗余环在本图中被省略。
桥230在结点间网络12c和12d上都做为结点出现,因此它和环1、2、5和6中的每一个接口。借助于它对两个结点间网络的访问,桥230可在网络12c和12d之间双向地交换信息。例如,桥230可以有效地把结点6r或6s(或网络12c的任何其它结点)的任何端口连接到网络12d的任何话音处理设备224f-224i或结点6t的本地端口。结点间网络12c和12d可以操作于不同速率而并不对桥230有负面影响。
如图9c所示,桥230基本上包括与可编程交换结点相同的成分,此外也包括两个额外的IO卡40c和40d,以及允许桥230和两个另外的结点间网络12e和12f接口的两个额外的结点交换机44c和44d。尽管只给出了两个额外的结点交换机44c和44d,也可能加上更多的这种交换机,所有这种交换机将以要给予描述的方式进行合作。同样桥230不需要任何网络/线路接口(或相关的IO卡和线路卡),尽管它可以有选择地包括这些成分。
现在参考图3A到3E和9C,将描述一个信息怎样在结点间网络12c和12d之间传输的例子。首先,应该了解图3A到3E说明桥230的每个结点交换机44a-44d的基本硬件。即,每个结点交换机44a-44d基本上是图3A-3E所揭示的交换机的复制品。结点交换机44a被配置成本地总线主设备(激活的),而结点交换机44b被配置成一个冗余的本地总线主设备。结点交换机44c被配置成一个标准的结点交换机(激活的)而结点交换机44d被配置成一个冗余的标准结点交换机。
可以记起,每个结点交换机44a-44d包括一个发射机存储器102,该存储器可用于存储从线路卡流向交换机(LSDATA)方向,或另一方面,从交换机流向线路卡(SLDATA)的电路交换数据。相似地,每个交换机的接收机存储器108可操作于输出的LSDATA方向或SLDATA方向的数据。因为在桥230中不包括线路卡(尽管可能有这样卡),在概念上把LSDATA想成从结点交换机44c(和44d)向结点交换机44a(和44b)方向流动的电路交换数据,以及把SLDATA想成从结点交换机44a(和44d)向结点交换机44c(和44d)方向流动的数据是有帮助的。为了本讨论,假设结点交换机44a和44b事实上被配置成在它们的发射机存储器102中接受并存储LSDATA数据以及从它们的接收机存储器108中输出SLDATA数据。进一步假设结点交换机44c和44d被配置成在它们的发射机存储器102中接受并存储LSDATA数据以及从它们的接收机存储器108中输出SLDATA数据。
这个安排的目的是无论任何通过结点交换机44a(或44b,如果它成为激活状态)被时分交换的电路交换数据(包括从结点间网络12c接收到的数据)都被传给结点交换机44c(和44d)。依次地,结点交换机44c可操作用于把它从交换机44a收到的数据传输到结点间网络12d上。反过来也是对的,意味着通过结点44c(或44d,如果它成为激活状态)被时分交换的数据(包括从结点间网络12d收到的数据)被送到结点交换机44a(和44b),从那儿这样的数据或数据段可以在结点间网络12c上传输。因此,这种安排的综合效果是发自结点间网络12c或12d的任何结点的电路交换数据可以被传输到任一网络的任何其它结点上。通过桥230包交换数据从结点交换机经过桥的HDIC总线被传输到结点交换机。
就实现所需的冗余功能而论,由MFDSP卡36和ISDN-24卡38,以及电信系统的更进一步的扩展如空分交换控制电路122(图3C)提供的通信业务是有用的。电路112的功能是在一个时隙一个时隙的基础上,允许且只允许结点交换机44,MFDSP卡36和ISDN卡38全部设备中的一个在总线30a上发送电路交换数据。从冗余功能来看,电路112具有如下作用。当结点交换机44a处于激活状态且正常工作时,冗余交换机44b内的电路112将有效地防止交换机44b在总线30a上发送任何电路交换数据,尽管44a被允许接收经过总线30a上的所有数据。一旦结点交换机44a失败,则电路112将允许冗余的交换机44b开始在总线30a上在交换机44a如果正常工作时通常发送数据的时隙内发送数据。相同的考虑适用于交换机44c和它的冗余时交换机44d。
就通信业务而言,电路112进行操作以动态地阻止结点交换机44a和44c在由卡36或38中的任一个提供业务的时隙内实际地在总线30a上发送电路交换数据。有关在一给定时隙期间发送数据的“所有权”或“授权”怎样动态地从一个设备传递给另一个(以及又传回来)的细节在同时提出申请的序列号为08/001,113,包在上面引入参考的应用中予以揭示。
与电信系统的更进一步扩展相关的电路112的作用联系图10B和10C给以描述。
图10A给出本发明的另一个实施例,其中多达16个可编程交换结点234被4个结点间网络12g-12j(一共8个环)连到一起形成一个扩展的电信交换系统232。尽管只说明了16个结点,应该了解取决于每个结点的交换容量以及信息可以在结点间网络12g-12j上传输的速率,结点的数目可以更多。同样很显然,通过增加另外的结点间网络,可以取得系统232交换容量的更大扩展。
在正常操作条件下,结点间网络12g和12i最好处于激活状态且用于在所有结点间传输所有信息。余下的结点间网络12h和12j最好具有和12g和12i一样的带宽并且和12h和12j并行传递信息,但处于“备用”方式。在网络12g和12j的环中的一个失败时,相对应的冗余网络变成激活状态。
图10B和10C给出结点234中之一的主要组成。各组成和它们的操作和前面参照其它图讨论的结果类似。注意通过增加额外的环IO卡40和结点交换机44,可以增加额外的结点间网络12k到系统234上,从而更进一步地扩展了系统232a交换容量。
如上所述,空分交换控制电路112(图C)在系统234中起一定的作用。电路112的功能是保证,在一个时隙一个时隙的基础上,现存多个非冗余结点交换机44a,44c和44d(以及现存的任何MFDSP卡36和ISDN-24卡38)中有且仅有一个实际地在总线30a上发送电路交换数据。因此,控制电路112能使多个结点交换机(甚至除了给出的那些以外)被加到一个结点上,更进一步增大了系统的整体交换容量。
以上的描述限于本发明的一个特定实施例。然而很明显的,在取得本发明的一些或全部优点情况下可以对发明进行变化和修改。因此,附加的权利要求的目的是覆盖包括在本发明的真正主旨和范围内的这样的变化和修改。
权利要求
1.一种在多个结点(6)间传输信息的方法,该多个结点基于通信关系由一个结点间网络(12)连接在一起以组成一个电信系统(2),该方法的特征在于以下步骤(a)从上述结点之一在上述结点间网络上发送一个包(14),该包含有标识该发送结点的信息(16,19)和该发送结点要传输给一个或多个其它结点的信息(18);(b)在上述一个或多个其它结点之一接收该包,该接收结点从包中提取要到达这个接收结点的任何信息,然后允许该包沿上述结点间网络继续;(c)依次地,在每个上述的一个或多个其它结点重复步骤b,直到该包返回发送结点;以及(d)重复步骤(a)到(c)直到每个上述结点从每个其它结点收到一个包。
2.按照权利要求1中的方法,其中该包包括一个标识该发送结点的源地址和一个容纳上述信息的有效负载。
3.按照权利要求2中的方法,其中在步骤(a),上述发送结点序贯地从一个本地发射机存储器中读取电路交换数据并把该数据插入上述有效负载中,上述序贯读出的数据发自与该发送结点物理上相关联的一个或多个端口。
4.按照权利要求3中的方法,其中所述电路交换数据被以一预定顺序安排在上述有效负载中,这里上述接收结点可以使用该顺序来确定发起上述电路交换数据的端口。
5.按照权利要求3中的方法,其中在步骤(b),上述接收结点有选择地把上述有效负载中的电路交换数据写入一个本地接收机存储器中,上述被有选择地写入的数据被指定到一个或多个与该接收结点物理上相关联的端口。
6.按照权利要求2中的方法,其中在步骤(a),上述发送结点序贯地从一个本地发射机存储器中读取包交换数据并把该数据插入上述有效负载,并向该包中插入一条标识上述其它结点中的一个为该包交换数据要到达的目的的目的地址。
7.按照权利要求6中的方法,其中在步骤(b),上述接收结点检查收到包的目的地址,如果该包是指定给接收结点的,接收结点把包含在有效负载中的包交换数据写入一个本地包接收机存储器。
8.一种用于在多个结点(6)之间传输信息的方法,该多个结点基于通信关系由一个结点间网络(12)连接在一起以组成一个电信系统(2),该方法特征在于以下步骤(a)从上述结点之一在上述结点间网络上发送一个包(14),该包包含标识该发送结点的信息并具有一个运载信息的容量。(b)在一个不是该发送结点的结点接收该包,该接收结点有选择地在包中插入指定给该发送结点的信息,然后允许该包沿该结点间网络继续;(c)依次地,在每个上述的一个或多个其它结点重复步骤(b),直至该包返回发送结点;(d)上述发送结点从上述返回包中提取由其它结点插入的信息;以及(e)重复步骤(a)-(d),直到每个上述结点既发送了一个包,又收到含有来自其它结点的信息的返回包。
9.按照权利要求8中的方法,其中所述的包包括一个标识上述发送结点的源地址和用于运载上述信息的有效负载(18)。
10.按照权利要求9中的方法,其中在步骤(a)之前,上述发送结点有选择地从一个本地发射机存储器(102)中读取电路交换数据并把该数据插入上述有效负载中,该数据既发自于又终止于与该发送结点物理上相关联的多个端口。
11.按照权利要求10中的方法,其中在步骤(b)上述接收结点有选择地在上述有效负载中插入指定给与该发送结点物理上相关联的一个或多个端口的电路交换数据。
12.按照权利要求11中的方法,其中所述电路交换数据以一预定顺序被安排在上述有效负载中,这里该接收结点可以用该顺序确定该电路交换数据被发起的端口。
13.按照权利要求10中的方法,其中在步骤(d),从有效负载中提取的电路交换数据被序贯地写入一个本地接收机存储器(108)。
14.按照权利要求9中的方法,其中在步骤(d),上述接收结点确定是否指定给发送结点的包交换数据已准备好发送,如果是,则把该数据插入该有效负载。
15.按照权利要求14中的方法,其中在步骤(d),发送结点把上述有效负载中所包含的包交换数据拷贝到一个本地包接收机存储器(118)。
16.一个在可扩展的电信系统(2)中可作为一个结点操作的电信交换机(6),该交换机的特征在于包括用于在多个端口的不同端口之间动态地连接或断开通信路径的设备(64);用于向或从上述端口时分交换电路交换数据的设备(66,68),该时分交换设备具有对应于可物理上与该交换机相连的最大数目端口的容量;基于通信关系与上述时分交换设备相连用于和提供上述端口的一个公共或专用网接口的设备(26),该通信关系包括一个用于向或从上述端口传输数据的总线;以及在一个结点间网络上发送和接收打包信息的设备(70-84),该结点间网络用于在上述交换机和上述系统相关的其它结点之间提供通信,从而发自上述电信交换机的任何端口包括电路交换数据在内的信息基本上可连续地送到上述交换机或上述系统的任何其它结点的任何其它端口。
17.一个用于在多个电信网络之间互连并传输信息的桥,该桥包括多个电信交换机,其数目和与它互连的多个网络相等,每个上述交换机包括用于在多个端口的不同端口之间动态地连接或断开通信路径的设备;用于时分交换对应于上述端口的电路交换数据的设备;以及基于通信关系与上述时分交换设备相连用于与上述网络中一特定网络进行接口的设备,它包括在上述一网络上发送和接收打包信息的设备;以及把上述多个交换机互连起来并在它们之间提供双向通信的设备;这里,从任何上述网络发起的指定到另一个上述网络的信息最初被与发起网络相接口的交换机接收到,这之后该信息在上述双向通信设备上被发送到与信息所指定到的网络相接口的交换机,然后到达目的网络。
全文摘要
一个用于连接多个可编程的电信交换机以组成一个大容量,无阻塞交换系统的开放式、高速率、高带宽的数字通信网络。每个网络交换结点包括用于在网络上发送和接收长度可变的打包信息的电路,从而使得每个结点能够从所有其它结点接收信息或发送信息给它们。网络可以传送系统中现有的任何类信息包括话音、数据、图象、多媒体、控制、配置和维护,而且网络的带宽可分给不同的信息类型或由它们共享。设备如话音处理装置也可以和网络接口,因此获得对网络上通过的全部信息的直接访问。同时提供的有用于在网络上沟通信息的方法和包结构。多个网络可以被彼此连接起来以提供更大的交换容量或话音处理容量。
文档编号H04L12/43GK1509026SQ0314526
公开日2004年6月30日 申请日期1995年3月6日 优先权日1994年3月8日
发明者R·P·麦唐纳, R P 麦唐纳 申请人:朗迅科技公司