一种对电子软件分布进行可调整和可靠传输的系统和方法

文档序号:7569947阅读:155来源:国知局
专利名称:一种对电子软件分布进行可调整和可靠传输的系统和方法
技术领域
本发明涉及电子软件分布领域,尤其涉及到需要极高可靠性能(零容错性能)数据传输的可运行代码(也就是目标代码)的分布。
电话,计算机和数据通信技术都使用一般的通用术语,这些通用术语有时隐含不同的含义。以下列出了与本应用有关的一些术语的简要定义。
1)同步卫星是一种公转的平均恒星周期与它所绕转的主体的自转恒星周期相等的卫星。
2)同步地球卫星以地球为主体的同步卫星。
3)卫星地球端在地球上的地面站和卫星之间接收,处理和传输信息的卫星线路部分。
4)卫星上行线从地面站到卫星的通信(通常是短波)链路。
5)卫星下行线从卫星到地面站的通信链路。
6)点对点连接一种在两个(且仅有两个)指定站点间,如

图1中示出的A站和B站间,建立通信链路以进行消息传递的方法。该消息包括与本应用有关的数据(称作“净荷”),以及与网络有关的数据(如地址,消息标识符等等,统一称作“报头”)。另外,这些消息可能需要证实,也就是说,期待接收方(B站)的确认。作为发送方的A站也可以发送“无证实”消息,在该情况下,发送进程不等待任何确认。在正常和通常情况下(也就是当A站向B站发送消息时),A站的发送进程101从软件进程103接收数据,按事先约定的协议转换数据和/或格式化数据,通过通信链路105发送该消息。B站的接收进程107按照协议执行任何转换和/或格式重整,并向软件进程109传送该消息。
另外,B站的发送进程111通过通信链路105向A站的接收进程113发送一个接收确认或未接收确认(由软件进程109判定)。接收进程113向A站的软件进程传送该确认消息,并且决定是发送下一部分数据还是重新发送上次的数据。这样,一个可靠的点对点传输协议得以建立。然而,因为是点对点连接,等待每一消息的证实相当耗时,缺陷是数据传送速度慢。
7)广播和多信道广播这两个工业界广泛使用的术语指的是单点对多点通信和多点对多点通信,图2和图3各自示出了这两种情况。在单点对多点通信布局(图2)下,在一个指定的发送站和多个接收站1-N间建立通信的方式与图1所述的类似。这种类型的布局一般用于从一个地点,如新闻编辑部门,向许多需要信息的地点,如印刷社传送信息。在这种情况下,每一个接收进程201-203必须确认正确收到了来自于各自的发送进程204-206的数据。所有的这些响应必须由发送站的接收进程207接收,并向软件进程208传送,由软件进程208判断是否所有的接收站都正确地接收了数据。如果不是,发送站的发送进程209必须向一个或多个接收进程201-203重新发送数据。
从上述情况中可以很容易地看出,需要等待的确认消息甚至更多,基于与(6)相同的理由,这种类型的广播非常慢并且昂贵。可连接发送站的接收站数量也存在着上限。在现有技术下,要避免发送站耗尽所有存储器和计算能力,单个发送站只能连接30-40个接收站。
在图3中,多点到多点通信方式,在本文称为多信道广播,在多个站点间建立通信。这种类型的布局一般出现在局域网和会议应用中。在任意时间,这些站点中的一个通过令牌方式成为发送站,其余站点成为接收站。令牌传递方式可以是预定义的,顺序,循环或由站点间实时传送(在本领域中众所周知)。然而,在本应用中,术语“广播”用于单点到多点方式,类似于图2。
8)可靠性这个术语指的是保证信息无错传递的程序。在点对点连接的情况下,一般通过重发送协议以恢复丢失或未得到确认的消息。在广播和多信道广播连接的情况下,采用不同的技术以提高可靠的消息传送协议的效率。一般情况下,消息在数据链路层重发,包括消息头和净荷信息,或者在“帧”级,由帧封装多个涉及消息头和净荷数据的消息,组成一个更大的消息。在本文中所用的术语“可靠性”,是从应用角度来使用的,而不是消息角度。
9)可调整性这个术语指的是一种接收站点的数量可以变化,可以增长几个数量级的网络体系。在现有技术中众所周知,接收站点的数量上的增长要求发送站点性能上相应的增长(如以上图2和图3以及相关文字所描述的)。在局域网中一个典型的服务器支持大约10-15个接收站的广播业务。如果接收站点的数量增加到了一个大的数目,如100或150(增长10倍),因为对服务器的性能增长要求超出了系统容量,目前广播通信和多信道广播通信的方法就会变得低效。
从存储程序控制系统出现以来,软件的分布化,尤其是目标代码的分布化,在处理系统中的应用一直是个难题。例如,在电话交换系统领域,从1960中期就开始采用存储程序控制。为了分布一个操作这些系统的新的运行程序(软件),最初技术员不得不到每一个交换局,手工移去编码磁卡,安装新的编码磁卡。随着技术的发展,人们使用磁带从编写程序的地方将程序传送到使用程序的地方;事实上,目前磁带仍然被用以大量(70-100兆字节(MB))替换目标代码。所有这些系统都需要手工步骤和软件传送的高耗费,尤其在软件负载的大小随时间增长的情况下。
一些最近的系统依靠电话数据链路分配软件。例如,图4示出的当前技术的系统说明了在电话网络中不同交换系统上的典型软件分布系统。该交换系统可以是由特定厂家支持的本地中心交换设备,如由AT&T生产和支持的5ESS交换设备,或者,也可以是长途类型的交换设备,如也由AT&T生产和支持的4ESS交换设备。其它类型的程控系统在不超出所附权利要求的范围内也能从本发明中获益。
每一个交换机连接软件修改通报系统(SCANS)102。SCANS,在本领域中众所周知,通常使用X·25协议,以9600比特每秒的速度,在线路120-134精巧的点对点通信链路上进行数据传输来提供软件修改。
图5示出了这样一种现有技术的SCANS到交换系统的连接。在图5的系统中,SCANS100包括一个应用程序500,负责处理需要传送的数据(在交换局的例子里,需要传送目标代码)。应用程序500将处理后的目标代码分送到多个与交换局通信的通信终端进程502-5NN。在每个通信终端进程502-5NN中,有一个发送模块504和一个接收模块506。发送模块通过线路120向交换系统104发送目标代码(在本例中)。如同本领域中众所周知的那样,如果需要,在SCANS100的终端进程502中的接收模块506,接收从交换模块104通过线路120传来的进行重试的确认请求,等等。
在交换系统一侧,交换系统(在本例中102和104),也包括一个终端进程508-508’,由一个发送模块504和一个接收模块506组成,这两个模块与SCANAS100的通信终端进程502中的发送进程504和接收进程506相同或实质上类似。在交换系统104中的终端进程508通过接收进程506接收数据,并向终端进程508传送接收到的数据。终端进程508判断数据是否被正确接收,如果是,则通过发送进程504发送正常接收确认,如果数据被毁,则通过发送进程504发送数据重试请求。被示出的交换系统104和102具有与通信终端进程508通信的多个层面。首先,有一个SCANS接口510执行协议验证等功能,以及在本领域中众所周知的与SCANS作用的其它功能。如果接收到的数据是正确的,SCANS接口510将这些数据传送到输入/输出进程512,由管理模块514进一步将接收到的软件分配到其它进程所在点。这种层次结构非常类似图2的系统。
通过这种方式,对运行在交换系统102-118上的程序的修改可以通过一个中心地点进行,例如,通过芝加哥市外的一个SCANS设备100进行,然后发送给需要作这种改动的每一个交换系统。更进一步,对程序多个部分作完全改动的软件修改,也可以通过这种方式向每一个交换设备102-118发送。最后,对程序的全盘替换(改动所有的运行代码),同样可以从SCANS100通过线路120-134发向所有预订或购买该新产品的交换系统102-118。这样,向每一个交换机发送的数据量可以从几百字节的小的软件改动到几百兆字节的软件全盘替换。
现在翻到图6,示出了一个现有技术的系统,其中一个交换局通过数据线120接至SCANS100。交换局104是,例如,由AT&T生产的5ESS交换机。在本领域中众所周知,5ESS交换机(本地交换机104)可以是一个控制分布化的ISDN电子电话交换系统,如1986年5月27日由M.W.Beckner等人申请的美国专利4,592,048中所公开的系统,该专利已转让给本应用的受让者。本地交换机104也可以是一个数字交换机,如由AT&T生产的5ESS交换机,在《AT&T技术期刊》卷64,6,1995年7月/8月,1303-1564页中陈述。
交换系统104的结构包括作为集线器的一个通信模块602,以及例示的交换模块604,606和608(可以有其它的交换模块,为了简洁不再示出),和一个从通信模块602中引出的管理模块(AM)610。通信模块602包括一个分时空分交换机或时分多路复用(TM)交换机,如在交换模块604,606和608之间进行通信或在交换模块604,606,608和AM610之间进行通信的设备。AM610协调交换机104的功能部件并提供人机接口。交换模块604,606和608通过线路单元(未示出但在本领域众所周知)和模拟或数字中继单元(未示出但在本领域众所周知)中断模拟和/或数字用户线,通过控制时隙611(用于发送控制数据)和其它时隙613(用于呼叫处理)与CM602通信。AM610也通过,例如,网络中的交换系统藉以通信的信号系统612(如共路信道信令网络)提供与其它交换系统的连接,并通过连接120连至SCANS100。
以目前的技术,SCANS100在线路120上以典型的9600波特发送数据。当SCANS100向交换局104发送小的软件改动(或“补丁”)时,这种速度是足够的。然而,当SCANS100通过线路120发送较大的软件改动或软件全盘替换时,这种传输可能需要数个小时,取决于向管理模块610发送的软件负载的大小。
以9600波特向交换局104分布大型软件负载,尤其是目标代码的负担,可能会干扰AM610的其它维护任务。例如,接收一个重写软件会导致AM610对信令网络612的信令消息以及对从SM604-608和CM602来的路由寻址和管理功能要求反应更慢。因此,建议AM610辅以一台工作站,例如614(附图示出)。工作站614连接SCANS100(取代AM610),与AM610通信以获取负载或向AM610传输来自SCANS100的信息。然而,从SCANS100向工作站614传送数据仍然需要大量的时间;工作站614仅仅减轻了AM610的一些处理负担。
更进一步,因为接口所需要的处理能力(也就是物理端口的数量)和在多个系统(见图2和相关文字)间支持传输的处理能力(也就是存储器和处理需求)限制,SCANS100一次仅能处理一个或少数量的交换系统。简单地回顾一下图5,每一个交换系统都有一个相关的通信终端进程508。每一个通信终端进程需要一部分主存储器和SCANS100处理器的一个时间片。因此,当通信终端进程的数量增加了,对SCANS100处理存储器的需求也随之增加,这样,在给定时间内只能服务于有限数量的交换系统。
因此,本领域的一个难题是没有方法在高速率同时向多个单元传送数据的同时仍保持点对点通信的可靠性。本申请的目的之一是即使在数据传送过程中单个消息丢失或毁坏了,仍能通过简单的恢复程序维护数据的可靠性。这样,本发明的目标之一是提供一种通信装置,该通信装置在网络体系的可调整性上没有预定限制,并且解决了在可靠性,消息结构,完整性和传输速度上的其它限制。
更进一步,当软件负载被分布到交换机104中不同模块,它占用了其它更重要的处理(如呼叫处理)的资源和时间。在工作站614或管理模块AM610处理完重写(或其它修改)的代码之后,这些运行代码或其它数据必须传送到它的最终模块。
在本领域众所周知,AM610通过一个标准的总线连接与通信模块602通信。通信模块602通过多个时隙与每一个交换模块604,606和608通信。时隙的类型可分为控制时隙611和一般时隙613。时隙613用于通信,如电话呼叫,数据呼叫等等。时隙611用于控制交换模块本身。当需要对操作系统作任何改动时,控制时隙611用于从通信模块602向每一个交换模块604,606和608传送数据。这样,向交换模块移入进行完整软件替换所需要的所有的替换代码可能需要很长时间(从几分钟到几小时)。
这样,本领域的一个难题是没有方法在同时向分布处理系统中多个单元高速率传送数据的同时仍保持应用处理的可靠性。
最后,以任何形式传送的数据可能遭到毁坏,在接收端产生错误。这种毁坏可能是由电子网络,大气条件,卫星广播等瞬间突变引起的。这种数据错误广为周知,是图1,2,3所述的不同协议的基本原因。然而,对需要传输的代码所作的准备越少,该代码在传输时被毁并且无法在远端恢复的可能性就越大。现有技术中有多种方法用于辅助解决这个问题。例如,在本领域中很出名的前向纠错技术,是向数据块增加数据或传送预定数量的数据,用以恢复所传送的数据。然而,这些系统通常在存储冗余数据量的基础上运行,因而随着数据数量的增加,必然减慢系统的运行速度。
这样,本领域的一个难题是没有方法在同时向多个单元高速率传送数据的同时仍保持与点对点通信相同或更好的可靠性。
通过一种系统和方法,可以同时向多点以很高的速率传送数据,从而解决了该难题,并实现了技术上的先进性。根据本发明的设备方面,一个SCANS配有一个卫星上行线路通信模块,负责向地球轨道卫星发送数据。该卫星随后将数据发向广阔的地理区域。每一个接收站配有一个小型的卫星碟状天线,以接收卫星所发射的各种数据。优选地,卫星碟状天线连接交换局的一台工作站,由工作站处理接收到的数据并以便于交换局的各种模块处理的形式传送所有信息。
根据本发明的方法,SCANS将需要传输的数据处理成包含纠错信息的多个数据块。然后将这些数据块从第一块到最后一块不间断地发送给卫星,不等待任何接收站的确认信息。这些数据由卫星重传输给由广播标识符,地址别名,软件包标识符,和/或其它相关地址信息确定的所有交换局。这样,数据就可能到达非常多的接收站。传统的带有确认的广播和多信道广播协议需要发送站规模的预增长以支持接收站的数量增长。对比之下,所提出的方法使用了一种不可靠的(也就是说,没有数据接收证实)无连接的传输服务(如用户数据报协议(UDP))。这样,在交换局和SCANS之间不存在提供消息接收证实,消息顺序和排列的证实和提供反馈以控制信息传向交换局的速率的反馈信道。其结果是,数据传输可能因为环境条件和数据块失序而导致比特错误和突发错误,或因为溢出而导致一些数据块的丢失。在本发明中,检测错误,纠正错误,恢复和数据完整性的维护完全留给了接收站。
在本发明中,需要认识到在大量接收站的情况下,在数据块层次上纠错是低效的。在数据传输过程中的错误一般是在接收站作进一步处理。在从头到尾广播数据块后,SCANS暂停一段预定的间隔,此时每一个接收站对接收到的数据块执行错误检测,错误纠正和其它恢复程序。SCANS随后通过卫星传输再从头到尾广播一遍相同的数据块。本系统可以编程以重发任意的预定次数。
按本方式进行的不需确认的卫星数据广播,即使在接收站的数量增长几个数量级的情况下,对发送站的性能要求也不会增加。因而本系统是“可调整的”。然而,因为受环境条件的影响和使用不可靠广播协议,数据传输是“不可靠”的。这个问题可以通过在广播协议里增加新的设计属性来得到解决。
优选地,在SCANS完成预定次数的传输之后,如果工作站仍没有完成一个或多个数据块的恢复,可以通过点对点串行链路通信或包括数据传输的其他方式呼叫SCANS或维护中心以接收必需的数据。
优选地,每一个被传输的模块通过前向纠错进行编码,以进一步提高数据正确接收的可能性。这样,在保证高接收准确率的前提下,可以同时向多个交换局高速广播所需更正的数据/软件。
根据本发明的另一个方面,一种分布化处理系统(如图6中示出的系统)由局域网(LAN)连接它的每一个单元。每一个单元也配有一个LAN接口卡,用以接收消息(如果需要,也发送消息),在它本身和提供数据的系统(如图6的工作站614)之间执行协议转换。在这种方式下,分布数据不需要使用时隙(控制时隙或其它时隙),速度也提升到了LAN的速度,这比目前所能达到的速度要快3-4倍。
根据本发明的另一方面,为了从一个系统到另一系统进行可靠传输,通过将一个源文件顺序转换成多个数据块的方式进行数据打包,其中数据被存储在第一矩阵中。包含第一矩阵的组织和目的信息的第二矩阵附在第一矩阵之后。结果矩阵的每一列随后依次加载到传输媒介以供传输,优选地,可作为一个ATM单元的净荷加载。这些数据被接收后从传输媒介中移去,每一列被重新组合成上述的数据块。这些数据块再转换成第一矩阵,数据从数据块中移入到源文件的副本中。优选地,包含前向纠错信息的第三矩阵被加入到结果矩阵,第三矩阵在目的地使用以纠正列中的错误,并判断这些列是否可纠正。
概括来说,使用带有重发纠错的多卫星重传输提供广阔的地理覆盖;使用不需确认的不可靠广播协议提高了速度和接收站的数量,其中在传输过程中的恢复程序提高了可靠性;使用应用层的前向纠错提高了上述系统的整体性能,并且超过了由卫星广播所能提供的传输系统的可靠性。
对本发明的一个更完整的了解可以从下列陈述以及相关图片中获取,其中图1是现有技术的点对点通信链路的框图;图2是现有技术的单点对多点数据传输情况的框图;图3是现有技术的多点对多点数据分布系统的框图;图4是电信系统中软件更换所使用的现有技术的实现方式框图;图5是图4中现有技术系统的一个例子的框图,示出了在图4系统中进行软件分布所需的多个进程;图6是的技术交换局的框图,示出了在图4,图5系统中接收到的软件是如何通过交换局进行分布的;图7是根据本发明的一种例示性实施例的卫星传输系统的框图;图8是图7的例示性实施例所用的数据或代码打包过程的框图;图9是图8的一个完整的打包数据传输负载的例子;图10是说明将前向纠错信息编码为图9的打包数据的框图;图11是说明图10所示的打包数据传输的框图;图12是说明按照图11所示结构进行单个信元传输的框图;图13示出了按照本发明的例示性实施例,卫星和交换局为接收数据而进行的交互作用;图14说明了按照本发明的例示性实施例,数据块传输中的重复特性;图15说明了图13所述的工作站中用以跟踪不正确接收的数据块的部分;图16说明了图15所述的工作站如何判定数据块丢失的处理过程;图17是说明图16所述处理的流程图;图18是说明图15所述的工作站通常操作的流程图;图19和图20说明了在电话交换系统之外对本发明的应用;
图21说明了在点对点通信系统中应用本发明以保证绝对可靠;图22说明了本发明的一种进一步实施例的流程图;图23说明了在需要绝对可靠性的点对点通信系统中应用本发明;图24说明了本发明的一种供微机使用的进一步实施的流程图;图7说明了本发明的一种同时向多个目的地分布数据的例示性实施例。在这个例示性实施例中,电话交换系统102-118再次被用于说明本发明;然而,本发明在大量数据、软件-尤其是可执行或目标代码-需要同时传向多个地点的情况下都是适用的。
在这个例示性实施例中,SCANS100如现有技术一样接收需要传送的软件或数据。这些数据,对一个典型的交换系统例如AT&T 5ESS交换机而言,在压缩的情况下大约有70MB。这些数据被分成多个数据块,如以下所述,从SCANS100发向卫星上行线200。卫星上行线200也可以根据它自己的格式和纠错系统进一步处理数据,并向卫星202发送(从头到尾不停顿)这些数据。卫星202再将这些数据发送给每个交换局102-118的碟状天线。
如以下所述,每个交换局102-108中的某个系统将数据转换回可用的格式,根据需要进行处理和传送。SCANS100通过卫星上行线200借助卫星202再次从头到尾传送数据。这样,在前一次或前几次中没有收到的数据块,就可能被接收到。这样处理大量数据的新系统如图7所示。
翻到图8,按本发明的一个方面,数据被分成9400比特的存储器页,每一页如图8所示。每一页以40行和235列的矩形格式进行安排。每一个这样的存储器页被称作信息矩阵(I)。
翻到图9,图8中的每一页,矩阵I增加了1880字节的信息,这些信息以8行235列矩阵的形式存储操作信息。操作信息包括文件数目,软件包标识符,存储器页的序列号,ATM传输信号标识符,加密/解密方法,有关用户数据解压的信息和激活预定义接收站的广播寻地方案,处理后的数据称作操作矩阵(O)。矩阵I和O的数据总共48行235列,共同组成了用户数据。
优选地,卫星传输的用户数据进行前向纠错编码。本示例性实施例的前向纠错在本领域中众所周知,被称为“分组交织Reed-Solomon系统”。该系统允许接收站恢复会导致信息页丢失的比特错误和突发错误。对该数据的编码以行为基础逐行进行,这样,每一个用户的存储器页,48×235字节,结果数据被安放成48行和235列,如图10所示。该结果数据被称为“数据块”,由矩阵B表示。对信息的编码在现有技术中众所周知,例如可参看F.J.Macwilliams和N.J.A.Sloane所著的“The Theory ofError Correcting Codes”,因而不在这里讨论。本领域中的技术人员会认识到结果矩阵满足对一字节(8个比特)的一个信号,该域中的信号数量是255(28-1=255),当错误位置未知时,损失小于10个信号(1/2冗余,其中255-235=20)可以得到纠正,当错误位置确定时,损失小于20个信号可以得到纠正。
翻到图11,在编码后,SCANS100拥有以12,240字节为单位的数据块的软件,每一块都有上述的48行和255列。初始用户数据从块1到块N分别进行编码。每一块的一列(48字节)随后被装入ATM单元的净荷。
翻到图12,在本例示性实施例中,SCANS100连接卫星上行站200。象200这样的卫星上行站在许多领域中中众所周知,例如视频,音频和数据传输领域,因而不再赘述。卫星上行站发送器向卫星202发送数据,卫星202可以是地球同步卫星,低地球轨道或中地球轨道卫星,取决于应用的特性和需要覆盖的地理面积。卫星202再将数据信号转发向多个地点,在本例中,发向多个交换局,如102-118(图7)。
在本例示性实施例中,SCANS100从头至尾发送数据,也就是说,从块1到块N(图11)。在每一个数据块中,SCANS100以48行的一个单列作为ATM信号单元的净荷进行传输,如图11所示。在这情况下,一块信息由255个ATM单元传送,其开始和终止由图10中的操作矩阵(O)编码的信息识别。
在本实施例中,SCANS100发送每一块数据,而不必等待交换系统102-118接收先前数据块的任何确认(在本例中,用户数据报协议(UDP))。UDP是个众所周知的计算机和数据通信协议,更具体的,是Internet互联系统的协议,因而不再赘述。
SCANS100通过卫星上行线/下行线多次广播整个程序(包含块1-N),每次广播相隔一段时间。目前,广播速度可高至30-40Mbps(兆比特每秒),估计进行整个交换软件系统更新,70MB的原始可执行代码,大约45秒可传输完毕(7447块,每块12240字节,以30Mbps速率传送)。这样,即使广播间隔是5-10分钟,使用一小时卫星也能将整个交换系统更新软件发送和重发多于5次。显然,相对于别的可选用的当前技术,本发明的技术耗费最为低廉。
翻到图13,该图说明了一种运行以接收卫星202的特定数据交换局。程序通过卫星上行线200从SCANS100传送到配备外部卫星天线1302的交换局104。在一个例示性的实施例中,该卫星天线与用于接收卫星电视的商用碟状卫星接收天线类似或相同。碟状卫星接收天线1302通过接收器1309和调制解调器1312连接工作站614。工作站614包括一个接口,用于从调制解调器1312接收数据,并如同本领域中众所周知的那样,执行任何通常的调制解调器进行的转换。进一步说,数据可以加密和/或压缩,以防止别人在传输的时候截取或切断数据传输。工作站614也可执行这样的解密和解压功能,以处理接收到的数据,为交换系统104提供可用的原始目标代码。更进一步,工作站614接收从AM610来的有关交换局配置的信息,并将这些数据编译进可用的新版本软件。工作站614随后向AM610下载新版本软件,AM610依次向CM602传播CM数据和通过CM602向由604-608代表的SM传播SM数据。连接CM202和SM604-608的物理链路支持512个时隙,在本示例性实施例的一个实例中,2个时隙用于控制时隙,其余的用于电话呼叫。
翻到图14,一张时间表显示了数据块传输。需要认识到不是每个交换局都必须正确接收每一个ATM信元,数据帧或数据块。更进一步,每一个交换局可能会在接收不同数据块时遇到问题。然而,因为SCANS100多次广播数据,每一个中心在所有重复结束之后很可能接收到了所有的数据块。在图14的例子中,第一次传输,例如,一个新的目标代码版本,开始于时刻X,终止于时刻Y。在等待间隔时间W内,每一个工作站处理接收到的数据。判断哪一个数据块未被正确接收,并且不能通过纠正方法来恢复。随后第二次传输开始于时刻A,一直持续到时刻B。在A-B间传输的数据与X-Y间传输的数据是相同的。这种数据传输机制和等待间隔时间W一直持续到最后一次传输,仍然广播一遍与A-B间和X-Y间的传输完全一样的数据。传输的次数可根据不同领域的经验,环境和气侯条件,以及应用的特性和重要性进行变化。
翻到图15,工作站614的操作以流程图形式说明。在本领域中众所周知,工作站614包括CPU1502,存储器1504,连接交换机1506(具体为AM610)的接口和总线1508。另外,如本领域中众所周知的,工作站有一个SCANS接口1510。最后,工作站614也包括一个卫星碟状天线接口1512。该卫星碟状天线接口1512包括一个接收器和一个数据通信中所用的调制解调器。在一种实现中,接口1512可以处理从卫星接口来的所有数据传输,将接收到的ATM信元发向工作站614以作进一步处理。在这种情况下,卫星传输一接收单元可以由许多业务提供商支持,并在工作站总线1508和接口1512间维持一个开放(非专有)的接口。另一种方式是接收器和调制解调器单元接口1512也可以进一步由SCANS100提供的软件改进,也就是说,将卫星接收器1512和SCANS接口1510的功能合并入一个系统,该系统允许SCANS错误检测,纠正,和恢复程序与卫星接收器共同直接工作,从而可进行更有效的处理。在现有技术中众所周知,这样的功能合并可以在硬件中有效实现,但是却是厂商专有的,而如上所述的软件结构,可能效率并不高却具有一个开放的体系结构。
在运行过程中,由卫星碟状天线1302接收的数据被送往接口1512。接口1512基于数据链路层校验(例如帧校验,顺序和/或循环冗余校验),处理接收到的数据以判断是否在数据传输过程中有比特错误。基于内置于发送器和接收器的程序可以恢复一些错误,例如,当使用ATM传输,5字节的ATM头信息可以在数据传输中纠正1比特的错误。翻到图10,在优选实施中,附加层面的前向纠错通常内置于商用的发送器-传送器系统。如果需要,接收器接口1512在CPU1502的控制下处理接收到的数据,并通过总线1508向存储器1504发送数据。SCANS接口1510以发送端安排的顺序,从块1到块N统一处理所有接收到的块结构中的数据。
在CPU1502的控制下,SCANS接口1510执行错误检测,纠正和恢复程序以判断是否存在因比特错误,毁坏或丢失信元而不可用的数据块。该程序检测每一个接收到的数据块(如图16所示)。由卫星接收器接口1512执行的数据链路层校验可能会报告丢失ATM信元。丢失一个ATM信元对应于丢失了数据块中的某一列。换句话说,对数据块中的每一行而言,卫星接收器接口将标记相同的信元为错误/丢失或不正确接收,如列1610中所示(图16)。如果数据块1608记录的错误超过20(即进行图10中“分组交织Reed-Solomon系统”编码的系统冗余),将不再尝试恢复数据块,该数据块被标记为通过SCANS100以后的再传输来恢复。如果判定的错误数少于20,从卫星接口1512或从操作矩阵(O)中可获取错误所在,这样,前向纠错的解码过程应用于恢复数据块。在现有技术中,解码过程众所周知,不再进一步陈述。
CPU1502在存储器1504中某处存储了一张无法恢复的数据块列表。例如,在第一次重复后,(换句话说,在第一次SCANS传输完毕之后,在第二次SCANS传输之前),CPU1502在存储器1504处存储如1514所示出的列表,包括数据块序号12,73,256等,一直到725。在第二次重复时,如图14所示,当SCANS系统100第二次传输终止在时刻B时,SCANS接口1510在进行错误检测,纠正和恢复处理的同时,该列表被修改,仅显示出了仍需恢复的数据块,如列表1516,也就是说序号73,256和725。
在最后一次重复之后,等待恢复的数据块列表应该是张空表。图15示出了非空表的例子,以说明本例示性实施例设计的完备性。在所有重复之后,CPU1502指出了一张非空表1518,数据块256仍在列表上,说明未被恢复。在这时,CPU1502指示在SCANS接口1510和SCANS100(图4)间建立一个连接。CPU1502随后要求SCANS以现有技术的方式发送数据块256。然而,因为只要求传输一个数据块,这种数据传输所需的点对点连接的时间持续很短。CPU1502随后以本领域众所周知的方式处理数据。另一种方式是,一些地区维护中心的接收站可用以支持点对点数据链路以传送少量信息,如本例中的数据块256。
翻到图17,示出了用以说明如何判定一个数据块可否被恢复的处理流程图。处理开始于起始框1700,进行到判断框1702,判断丢失列的数量是否大于20。如果是,处理转到任务框1704,该数据块被认为不可恢复,标记为下次传输重试。如果在判断框1702,丢失列的数量小于20,处理进行到任务框1706,对每行依次应用解码规则。解码过程开始于任务框1708,对第一行I=1。处理随后进行到任务框1720,其中列I由本领域中众所周知的Reed-Solomon解码器进行恢复。处理随后进入任务框1722,其中I被加l以处理下一行。在判断框1724的控制下,框1720的解码行为一直重复施用,直到所有的行都被恢复。处理随后进行到任务框1724,根据本发明,已恢复的数据块被存储以待后续处理。数据块处理终止于框1726。
翻到图18,该流程图描述了工作站614在数据接收期间的操作。处理开始于起始框1800,在任务框1802,接收到传输数据。如上所述,传输数据通过天线接口接收并存储于存储器。随后处理进行到任务框1804,进行前向纠错的逆处理(也就是说,应用解码技术)。按照前面的流程图(图17),可以判定哪一个数据块被正确接收,哪一个数据块未被接收。
处理继续到判断框1806,判断是否有数据块未被接收。如果是,进入任务框1808,数据块序号被存储在存储器。处理进行到判断框1810,判断任务框1802接收到的传输是否是最后一次传输,如果不是,处理返回到任务框1802,接收下一次传输。
如果在判断框1810判断本次传输是最后一次传输,处理进入到任务框1812,呼叫SCANS100,请求未接收到的数据块。处理进行到任务框1814,从SCANS或区域维护中心接收这些数据块。处理终止于框1816。在这时,工作站614拥有了更新交换局104所需的所有数据。
翻到图19,示出了使用本发明的另一种实施例。在本实施例中,多个业务,如交换系统文档1902,软件版本更新1904,软件全盘替换业务1906,和其它支持业务也可以从一个中心地点分布到所有的交换中心。在这样一种实施例中,SCANS100用作发送站,指定为数据业务模块的工作站用作接收“网关”站。工作站614从SCANS1902接收数据,在完成完整性检测之后,按照SCANS100所接收到的消息中的地址向支持系统发送数据。
本系统和方法可以用在数据通信领域和客户-服务器应用。现有技术使用手工方式更新服务器中的运行软件和应用,例如文字处理软件中的FrameMaker应用,日历管理器,音频,视频和多媒体应用工具和网络浏览工具。典型的商业性复杂应用拥有1000台连在以太网LAN上的工作站,在每个LAN网络支持20台工作站的情况下,可以有大约50个独立的网络支持许多的服务器。如本发明所展示的那样,使用所建议发明来更新软件和增加新软件模块,通常比使用有线解决方式耗费更少。
翻到图20,示出了使用本发明解决问题的另一种方式。在紧急在线业务应用中,使用可调整的广播分布发送更为有利。例如,从编辑部门所在地向遍布全国的许多区域性服务器电子发送一份报刊。在这种情况下,任一地区的信息用户可以获取区域性数据库的信息,从而减轻了向广大市场提供信息所需的网络基础设施的费用。
在图20的例子中,信息源2002(一份在线报刊)通过图8-11的数据协议方式连接到上行线设备200。该数据随后由卫星202发向由2004,2006和2008所表示的多个区域性服务器。每一个区域性服务器2004-2008执行上述协议转换,并且存储传输的数据。由网络2010为代表说明的一个或多个网络连接到区域性服务器(本例中的2006)。多个用户计算机2012-2016就可以接入网络2010和服务器2006。这样,业务提供者和用户都不必支付呼叫原始信息源2002所需的昂贵的长途话费。进一步,在这种安排下,向大量接收站分布软件/数据的资本投资,减少到了只需一个可以存储信息和向极少量接收站传输信息的系统费用。
翻到图21,本发明的一个例示性实施例如框图所示。本发明的目的是直接向所期望的单元分布数据,而不是如现有技术那样,发向管理模块610,再从那儿进行分布。更进一步,在现有技术中,从一个模块向另一模块分布软件由以64kbps速率运行的控制时隙完成。对现有技术的“软件泵”应用而言,2个控制时隙用于从CM602向其它单元,如SM604注入软件映象(目标代码)。在本发明中,克服了因低速注入导致的延时并且实现了同时更新多个单元中的软件映象的先进性。
在本发明中,每一模块都可以与别的模块同时更新,也可以依次更新,或由特定应用所需的别的方式进行更新。
图22说明了一个本领域中众所周知的带有多个外设的典型5ESS交换局104。5ESS交换局包括上述的一个通信模块602,在由模块604和606代表的交换模块和管理模块610间充当集线器。在现有技术中众所周知,交换局104包括数字接入交叉连接系统(DACS)2020,以连接DS1和DS3接口。交换局104也配有一台主机数字终端(HDT)2022,用以,例如从一个或多个用户载波环路中接入数字线路。最后,5ESS交换机包括一个光纤节点(FN)2024。
在本例示性实施例中,所有单元通过局域网1926连接工作站614。在一种例示性实施例中,LAN1926是以10Mbps运行的以太网LAN。LAN826也可以是以20Mbps,100Mbps运行的以太网LAN,或者是在现有技术中众所周知的ATM网络。每一个外设内置一个网络连接卡(NCC),用以将处理器和外设单元存储器连接到LAN。通过这种方式,工作站614可以不经过AM610直接向目的单元分布数据,并且从AM610经CM602向每一个外设单元注入数据所需的时间也减少了。这样,本发明不仅提供了一种更快的软件更新,同时也更新单个单元,进一步提高了更新速度,将软件全盘更新时间从几小时减少到几分钟或更少。
翻到图23,示出了使用本发明进行数据块传输的一种进一步应用。在数据通信领域,尤其是ATM网络,即使在点对点通信情况下,拥挤时间的数据传输也会不可靠。重要应用要求提供高于传输网络如1902所能提供的点对点通信的可靠性能。这就要求综合本发明。网络1902包括一个SCANS1904,负责发送消息和从SCANS1906接收消息。这两个系统不必是SCANS系统。它们可以是一个信息提供商和一个最终用户,或其它需要高可靠性能的数据通信形式。SCANS1902包括一个信息源(或软件数据),和一个发送进程1910和一个接收进程1920。如前面所述,发送进程1910和接收进程1920连接一个ATM线路1922。除了为卫星传输进行数据格式化之外,其余都如前面所述。ATM信元经过本地交换路由器1924寻址进入一个ATM网络1926。ATM网络1926包括多个ATM交换机1928,接收ATM信元并向不同目的地寻址路由。
在本例中,所有从SCANS104经过本地交换机1924来的ATM信元都向本地交换机1930寻址。本地交换机1930(可能是路由器)将这些ATM信元前向传输到信息分布系统1932和SCANS1906中的一个接收进程1920。数据进行从头到尾无停顿传输,在接收模块1920中接收,并按前面所述的方式解码。进一步,信息也可以通过发送进程1910和信息分布系统1932反向传送回接收进程1920和信息源1908。这样,双向(或多向)LAN线路系统通过使用申请人的编码方案保证了高速数据传输。在本实施例中,传输网络的可靠性可以提高并且超过由用于重要应用如银行和事务管理系统中的数据传输网络所能提供的可靠性。
翻到图24,示出了本发明的另一种应用。在个人微机(如PC2000)领域,许多情况下都需要将程序从一台PC,如2000,传送到另一台PC,如2002。然而,当这些PC不能使用局域网和其它数据传输协议时,因为在软驱2008和2010中使用的磁盘,如磁盘2006,容量受限,无法传送大于大约1.44兆比特的文件。这样,如果希望传输,例如6兆比特文件,如文件2012(如2014的幻影所示),到PC2002,现有系统和方法无法解决。然而,一个程序2018,按照所述内容,可以装在微机2000和2002上,该文件就可以移入到多个加入前向纠错等信息的数据块中,如上所述,如果需要,可以装入到许多大约1.4兆比特的磁盘2006中。根据本发明,另一个程序2018运行在计算机2002上,如上所述,将该文件拆包成一个6兆比特的文件副本2014(如幻影所示)。通过这种方式,大的文件,如流行数据库,扩展卡等等,都能从一个系统传送到另一个系统而不需要压缩/解压单个文件,重新输入大型数据文件或通过新系统的源程序重建可执行(目标代码)文件。
应当了解上面陈述的实施例仅仅是说明本发明的例示性原则,本领域的技术人员在不超出本发明的范围内可以设计出许多变化,因而,这样的变化应当被包含在后续的权利要求范围内。
权利要求
1.一种对电子数据分布进行可调整和可靠广播的系统,包括一个拥有所述电子数据资源的地球站,一个地球轨道卫星;和多个接收所述电子数据的地球站;所述地球轨道卫星包括从所述资源地球站接收数据的装置和向所述多个地球站转发所述数据的装置;所述资源地球站包括将所述电子数据格式化成一系列数据块的装置和向所述卫星重复发送所述一系列数据块的装置;所述多个地球接收站包括接收所述传送的一系列数据块的装置和将所述数据块去格式的装置;所述的将所述数据块去格式的装置包括在所述数据块中检测错误的装置;并且所述多个地球接收站具有在下一次所述重复传输中,仅仅监控先前接收到的带有错误的数据块的装置;任何所述的多个地球接收站进行带有数据接收确认的数据传输,数据总体在每一个所述的接收站都能准确接收。
2.根据权利要求1的系统,其特征在于,在每一个所述多个地球站中的所述接收装置包括一个小型卫星信号碟状天线。
3.根据权利要求1的系统,其特征在于,所述的将所述数据块去格式的装置包括一台编程工作站,用以从所述数据块中重组所述数据。
4.根据权利要求2的系统,其特征在于,在每一个所述的多个地球站中的所述接收装置进一步包括一个卫星信号碟状接口。
5.根据权利要求3的系统,其特征在于,所述工作站包括向一个或多个应用处理器传送所述电子数据的装置。
6.根据权利要求1的系统,其特征在于,所述电子数据包括电话交换系统的操作代码,并且所述工作站将所述代码传向所述电话交换系统,其中,所述代码与所述电话交换系统的数据综合,从而所述电话交换系统可以运行所述的新代码。
7. 根据权利要求3的系统,其特征在于,所述电子数据包括电话交换系统的操作代码,并且所述工作站包括将从所述电话交换系统接收数据的装置,所述电话交换系统的所述数据与所述接收到的操作代码进行综合的装置,以及将所综合的代码传送回所述电话交换系统的装置。
8.根据权利要求1的系统,其特征在于,所述资源地球站包括将所述数据块打包成异步传输模式信元的装置,并且每一个所述的地球接收站包括从所述异步传输模式信元中解包所述数据块的装置。
9.一种通过传输媒介从一个源点向一个或多个目的点可靠分布电子数据的方法,所述方法包括下列步骤a.所述源点接收所述电子数据;b.所述源点格式化所述电子数据以通过所述传输媒介进行传输;c.所述源点向所述传输媒介发送所述格式化后的电子数据;d.所述传输媒介从所述源点接收所述数据,并向所述一个或多个目的点传送所述格式化后的电子数据;e.所述一个或多个目的点接收所述数据;f.所述一个或多个目的点将所述数据块去格式化,并在所述数据块中检测错误;g.重复步骤c到f预定次数,不等待任何所述目的点的确认,从而所述一个或多个目的点的每一个检测错误,在所述数据的所述重复传输中监控所述先前检测出错的数据块。
10.根据权利要求9的方法,其特征在于,所述一个或多个目的点的每一个包括连接所述源点的一条进一步数据链路,所述方法进一步包括下列步骤如果,在所有所述预定数量的重复之后,所述一个或多个目的点中的一个或多个出现错误,所述的一个或多个出现错误的目的点的每一个使用至所述源点的所述进一步数据链路,以获取那些出错数据块的无错副本。
11.根据权利要求9的方法,其特征在于,所述的格式化包括将所述数据打包成ATM信元,并且所述去格式包括从所述的ATM信元中解包所述数据。
12.根据权利要求9的方法,其特征在于,所述的格式化包括增加前向纠错数据,并且所述去格式包括使用所述前向纠错数据纠正所述数据块中的数据。
13.根据权利要求9的方法,进一步包括以下步骤所述目的点向所述数据的一用户传送所述去格式数据。
14.根据权利要求13的方法,进一步包括以下步骤所述目的点从所述用户那儿接收进一步数据,并且所述目的点进一步格式化从所述源点接收到的所述数据和从所述用户那儿接收到的所述进一步数据,然后再向所述用户传送所述数据。
15.一种用于电话交换系统分布化处理的快速数据传送系统,所述交换系统由多个部分组成,至少包括一个管理模块,一个通信模块,多个由数据通信线路相互连接的交换模块。所述系统包括接收所述数据的装置;所述接收装置包括将所述数据格式化成一种所述电话交换系统可用的形式;所述多个部分的每一个和所述接收数据的装置包括一个局域网(LAN)接口,和一个连接每一个所述LAN接口的LAN,从而所述接收装置通过所述LAN向所述多个部分中的每一个的LAN接口发送所述数据,该传送装置要比通过所述数据总线传送所述数据的装置要快。
16.根据权利要求15的系统,其特征在于,所述接收数据的系统包括一台工作站。
17.根据权利要求16的系统,其特征在于,所述电子数据包括电话交换系统的操作代码,并且所述工作站向所述电话交换系统传送所述代码,其特征在于,所述代码与所述电话交换系统的数据综合,从而所述电话交换系统能运行所述新代码。
18.根据权利要求8的系统,其特征在于,所述电子数据包括电话交换系统的操作代码,并且所述工作站包括从所述电话交换系统接收数据的装置,将所述电话交换系统的所述数据和所述接收到的操作代码综合的装置和向所述电话系统传送回所述综合代码的装置。
19.一种从一个系统向另一个系统进行可靠传输的数据打包方法,所述方法包括以下步骤将一个源文件顺序转换成多个数据块,所述数据块被顺序存储在第一矩阵中;通过在所述第一矩阵上附加一个含有关于所述第一矩阵的组织信息的进一步数据块矩阵,以创建第二矩阵,所述的第二矩阵包括多个数据块行和多个数据块列;以一次传输所述数据块列的一列数据的装置,依次传输所述第二矩阵的每一数据块;将所述传送到的数据列重组成块,并再次形成所述第二矩阵;和将所述第二矩阵转换成所述第一矩阵,并将所述第一矩阵的所述数据块转换成所述源文件的一副本。
20.根据权利要求19的方法,其特征在于,第三矩阵通过将前向纠错数据后缀在所述第二矩阵上形成,其数据块行和列数与所述第二矩阵的所述块的行和列相同,该第三矩阵在所述第二矩阵转换成所述第一矩阵时,用以纠正所述传输步骤中引入的错误。
21.根据权利要求19的方法,其特征在于,所述数据包括向多个地点传送的操作代码。
22.根据权利要求19的方法,其特征在于,所述数据包括通过异步传输网络传送的操作代码。
23.根据权利要求19的方法,其特征在于,所述传输介质包括异步传输网络信元。
24.根据权利要求19的方法,其特征在于,所述第一矩阵包括235行和40列。
25.根据权利要求19的方法,其特征在于,所述第二矩阵包括235行和48列。
26.根据权利要求20的方法,其特征在于,所述第三矩阵包括235行和48列。
27.一种从一个系统向另一个系统进行可靠传输的数据打包系统,所述系统包括接收一个源文件并将所述源文件顺序转换成多个数据块的装置,所述数据块被存储在有着预定数量的行和列的第一矩阵;向所述第一矩阵附加一个含有组织和目的信息的数据块矩阵以生成第二矩阵的装置,所述第二矩阵有所述预定数量的行和第二种预定数量的列;依次将所述数据块的一列打包到所述传输媒介的传输媒介打包的装置;传输所述数据的装置;将所述传送数据重新组合成所述第二矩阵的装置;将所述第二矩阵转换为所述第一矩阵;以及将所述第一矩阵中的所述数据块转换成所述源文件的一副本的装置。
28.根据权利要求27的系统,进一步包括组成第三矩阵的装置,第三矩阵通过向所述第二矩阵追加纠错数据形成。
29.根据权利要求28的系统,其特征在于,所述纠错数据包括前向纠错。
30.根据权利要求27的系统,其特征在于,所述组织信息和目的信息包括文件数量。
31.根据权利要求27的系统,其特征在于,所述组织信息和目的信息包括软件包标识符。
32.根据权利要求27的系统,其特征在于,所述组织信息和目的信息包括序列号。
33.根据权利要求27的系统,其特征在于,所述组织信息和目的信息包括传输信元标识信息。
34.根据权利要求27的系统,其特征在于,所述组织信息和目的信息包括加密和解密方法。
35.根据权利要求27的系统,其特征在于,所述组织信息和目的信息包括有关解压缩所述数据的信息。
36.根据权利要求27的系统,其特征在于,所述组织信息和目的信息包括激活当前接收站的广播寻址方案。
37.根据权利要求27的系统,其特征在于,所述数据的所述传输装置包括卫星系统。
38.根据权利要求27的系统,其特征在于,所述数据的所述传输装置包括异步传输网络。
全文摘要
一种用于同时向多地点高速传送数据的系统和方法。一个SCANS系统配有一个卫星上行通信模块,用以向地球轨道卫星发送数据。该卫星向广阔的地理区域转发这些数据。每一个接收站通过一个小型卫星碟状天线从卫星接收数据。
文档编号H04Q3/545GK1157513SQ96121609
公开日1997年8月20日 申请日期1996年12月10日 优先权日1995年12月13日
发明者鲍尔·约瑟福·古诺里, 托马斯·约瑟福·凯连, 温卡塔·查拉帕施·马迪, 诺曼·劳恩·史尔 申请人:朗迅科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1