CN1134934C - 用于根据客户特殊请求分发连续媒体内容的***及方法 - Google Patents
用于根据客户特殊请求分发连续媒体内容的***及方法 Download PDFInfo
- Publication number
- CN1134934C CN1134934C CNB951042009A CN95104200A CN1134934C CN 1134934 C CN1134934 C CN 1134934C CN B951042009 A CNB951042009 A CN B951042009A CN 95104200 A CN95104200 A CN 95104200A CN 1134934 C CN1134934 C CN 1134934C
- Authority
- CN
- China
- Prior art keywords
- adapter
- request
- video
- client
- preliminary treatment
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computer And Data Communications (AREA)
- Television Signal Processing For Recording (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及将多媒体视频数据从服务器(主处理器)向多个与通信网络连接的用户传送的方法和装置。更具体地说,经预处理的视频和多媒体数据包存储在网络的转接器中。当用户要求接收视频和多媒体数据时,向主处理器发送一个请求,主处理器再向存储被请求数据的转接器发送一个控制信息。这些转接器再向请求的用户发送被请求的数据。如果数据没有存储在转接器中,那么数据必须向前直接从服务器到达请求的用户。
Description
本发明涉及经过通信网络从服务器向请求的用户传送多媒体和视频数据的方法和装置。
用于向终端用户的家中传送信息和娱乐服务的***具有三个不同的部分:服务器***、终端用户***和同时将大量终端用户与服务器相连的网络。两个用得最广泛的向家中传送信息的***是公共电话网络和广播/电缆电视***。今天的电话网络提供向电存储的文本信息的访问,这些信息如银行收支平衡,以及各种办公室过程的指令的音频段部分。
公众广泛相信,技术上的先进将使交互多媒体服务成为可能。设想的服务是要求有画面,比如电影、新闻、体育、电视节目等、家庭购物、交互式游戏、代理旅行和范围很广的各种类型的教育和信息服务。然而,传统的信息/娱乐传送***的所有三部分如服务器、网络和用户终端(PC或机顶盒(set-top-box))都需要加以改进,以便传送交互式多媒体服务。PC和机顶盒需要能够接收和解压全活动画面和伴音。网络必须有足够的带宽,以便允许每个用户具有自己的到服务器的专用视频频道,并且对大多数服务而言,服务器必须能够以低费用同时传送大量的视频信息流。
今天电话网络的关键问题是对每个终端用户而言只可用有限的带宽,而这对一个音频声道是足够了。这妨碍了活动视频信息的传送,并且对高分辨率图象也很慢。不论是电缆电视还是广播电视,对每个用户都提供了宽许多的带宽,但是由于网络总的带宽(电缆的带宽或无线电波上的频谱带宽)的限制,用户不能交互式地选择感兴趣的信息。代替用户选择的是限制在任何给定时间内广播的大约50个节目中的一个。因此,当前的电话和电视网络,不论是广播的还是电缆的,都不适合传送交互式多媒体服务,比如按要求的视频信息和交互式游戏。
但是电话和电缆电视服务的提供者正在利用先进的技术消除上述限制。VLSI技术的集成度的提高有助于降低活动视频信息的压缩/解压硬件的成本,并使得象ADSL(不对称数字用户环路)那样的技术成为可能。这两项使得在实际上能够从用户家中传输和接收活动视频信息,并在本地电话局进行转接,于是向每个用户提供其专用视频频道。同样,光纤传输技术先进,成本低廉,这能够让电缆电视网络中继线和馈线***升级,于是大大提高了网络的带宽,向每个正在使用的用户提供至首端的专用频道,用于接收压缩的数字视频信息。直接广播卫星和其它出现的无线通信技术也提供了大量终端用户和一个服务器之间的专用视频频道。个人计算机和机顶盒也出现了,它们利用成本低的视频压缩/解压硬件和新的功能更强但价格便宜的微处理器,使得网络化的多媒体应用成为可能。
虽然终端用户***和网络基础设施发展迅速,以满***互式多媒体服务的需要,但是对传送这些服务器而言,当前采用的服务器仍然价格昴贵且不实用,因为可以由每个服务器支持的信息流的数目是有限的。当前对用于交互式多媒体服务的服务器所做的选择已经是脱离自身的基于并行计算机***的主机或工作站技术。对于计算集中应用和支持多个并行的用户(时间共享)这两方面来说,硬件和软件都是最佳的,对向网络接口和I/O设备送入活动数据或从中送出活动数据的强调都是非常有限的。例如,从存储器到RS/6000中的高速缓冲存储器的带宽是400MB/s,而从I/O或网络没备到***的带宽仅是80MB/s。浮点支持增加了***的费用,而对传送视频/多媒体数据没有带来任何益处。与在更强的现代网络上的对视频信息的可靠性要求不太严格不同,对七十年代早期在不可靠的低速网络链路、网络基础设施和应用环境进行可靠的数据传输而言,网络协议是最优的,于是便引起了不必要的CPU的额外操作。
上述因素使得基于视频/多媒体服务器的通用计算机***的价格性能比远远高于对传送视频信息最优化的***的价格性能比。迄今为止对有关上述限制采取的公知的行动是微不足道的,并局限在将数据在盘阵列上的放置方式最优化以便最大限度地提供视频服务器应用中的盘容许量〔3,4〕,将从盘检索的数据的缓冲原则最优化,以便在视频服务器环境中最大限度地重新利用这些数据〔5,6〕,或者将视频数据的文件***最优化〔7〕。这种改进可以使得当前视频服务器***的价格性能改善二或四倍,但是为了得到廉价的交互式多媒体服务,需要将改善的范围定在100至1000之间。
Hoarty等人的两个专利(美国专利5,093,718和5,220,420)提出了这样的构想,即使用多个服务器、每个服务于一个小地区,并且所有多媒体程序对这些服务器是卸载(off-load)的。相反,我们采用大的服务器,这些服务器对网络中的转接器或路由选择器只将多媒体应用的视频内容传送部分卸载。应用控制即确定播放哪个视频系列和何时播放,仍保留在中央服务器中。支持功能如记账等也保留在中央服务器中。
Hamilton和Nelson的美国专利5,287,507指出,当希望向另一用户发送某些信息的基准的用户经过一个指向存储在其局部高速缓冲存储器中的信息拷贝的指针,而不是经过指向存储在服务器中拷贝的指针时,问题便产生了,这允许接收的用户重建指向存储在服务器中的信息的指针。我们的传送方案不假定存在局部高速缓冲存储器,所以该专利与本发明无关。
Griffen等人的美国专利5,005,112建议在一个包括大量用户计算机的网络中采用服务器计算机,以便提供如备份、软件分配等服务。该专利没有论及用于传送连续的媒体信息的服务器的设计。
Chung的美国专利5,218,697提出了一种在运行不同的操作***、不同的文件服务器和不同的文件***的各类文件服务器的网络中提供一个***服务器的方法。Chung指出局部文件服务器可以通过向它发送文件***命令直接访问***服务器的文件***,而不是象传统的方法那样向中央服务器发送文件服务器请求,然后中央服务器再将它变成适当的文件***命令。
Moore的美国专利5,287,461论述了远程服务器。所提出的方法是多路复用多个服务器的控制台线路,并用调制解调器向所需要的地点发送多路复用的信息。
Chang等人的美国专利4,897,781论述了一种网络文件***,在该***中用户具有打开文件的局部高速缓冲存储器。该专利提出了一种使用来自某些文件的已经高速缓冲存储的信息的方法,以便用不同的打开命令对同样的文件进行另外的访问。
本发明的一个目的是以低成本提供在通信网络上的交互式多媒体服务。
本发明的一个更具体的目的是通过将视频内容对网络的转接器卸载来降低与从服务器向请求的用户传送视频内容有关的额外操作,该网络能够更有效地向请求的用户传送视频内容。
本发明描述了一种降低传送视频信息流成本的方法,与传统的方法相比,成本降低了一百至一千倍,提高了网络的性能。所提出的提高网络性能的方案允许以网络包的格式在网络的转接器或路由选择器中存储视频/多媒体内容。多媒体应用服务器将控制信息传送到存储请求的视频或多媒体信息的网络包的转接器或路由选择器,以便将一个或多个这样的包送往特定的用户。收到这种指令的转接器或路由选择器接收请求的包,修改包的首标信息并可能修改尾标信息,特别是修改允许网络将这些包经过一系列路由选择器和转接器移动到特定用户的路由信息,以及将这些包放在网络上。为了支持大量的信息流,例如大约几万信息流,用半导体存储器来存储预分包的视频信息,并且用专用硬件检索包和修改首标信息。请看下面图4中的视频分配器和以下对信息流控制和输出适配器的描述。半导体存储器可以用盘存储器加以扩充,存储不大流行的视频内容。为了支持较少的信息流,例如几百到几千的信息流,只有盘可以被采用,并且可以用微控制器/微处理器代替专用硬件来检索包和修改首标信息。
根据本发明的一个方面,提供了一数据通信网络,包括:a.一个具有多个转接器的通信网络;b.一个连接到该通信网络的主处理器;c.多个连接到该通信网络的客户;d.每一个转接器包括:1)用于存储预处理视频包的专用存储装置;2)用于检索所请求的预处理视频包并将该视频包的拷贝分发给请求的客户的装置;3)用于提供由该预处理视频包中的网络协议栈报头和报尾所遗失的信息的装置;即使在所请求的视频包的拷贝被发送给请求的客户之后,所述的预处理视频包仍然保存在每一个转接器中;e.使得每一个转接器可以独立地发送预处理视频包给客户的装置。
根据本发明的另一方面,提供了一个用于将视频、多媒体或其它连续性媒体内容由多个转接器中的一个特定转接器分发给客户的方法,其中在对所述内容提出当前请求之前或没有请求时,所述内容以预处理包的形式被存储在该特定转接器中,所述转接器和客户为一个数据通信网络的一部分,该数据通信网络还包括一个主处理器和其它转接器,所述方法包括:1)通过由一个所述客户发一个发送请求给所述主处理器来请求所述内容或其一部分;2)识别所请求的内容所存放的所述特定转接器;3)将一个控制消息由所述主处理器发送给所述转接器,该控制消息指示一个发送所述内容或其一部分的请求,所述控制消息不包括所请求的内容或其一部分;4)将所请求内容或其一部分的预处理包形式的一份拷贝由所述特定转接器通过所述特定转接器的一个输出端口发送给所述一个客户,以使得所述客户可由所述预处理包重组所述连续性媒体内容,此后仍将所述内容以预处理包的形式保存在所述特定转接器中,所述转接器具有交换装置和几个输出端口以使得该转接器可以独立地将内容发送给请求所述内容或其一部分的所述多个客户中的任何一个。
根据本发明的另一个方面,提供了一个用于将视频、多媒体或其它连续性媒体内容由多个转接器中的一个特定转接器分发给客户的数据通信***,其中在对所述内容提出当前请求之前或没有请求时,所述内容以预处理包的形式被存储在该特定转接器中,所述转接器和客户为所述数据通信***的一部分,该数据通信***还包括一个主处理器和以下装置:1)用于通过由一个所述客户发一个发送请求给所述主处理器来请求所述内容或其一部分的装置;2)用于将一个控制消息由所述主处理器发送给所述转接器的装置,该控制消息指示一个发送所述内容或其一部分的请求,所述控制消息不包括所请求的内容或其一部分;3)用于安排并将所请求内容或其一部分的预处理包形式的一份拷贝由所述特定转接器通过所述特定转接器的一个输出端口发送给一个所述客户的装置;和4)用于使得所述具有交换装置和几个输出端口的转接器可以将所述内容或其一部分发送给请求该内容的任何所述客户,此后仍将所述内容以预处理包的形式保存在所述转接器中的装置。
根据本发明的另一个方面,提供了在一个数据通信***中用于根据一个所述客户的特殊请求分发连续媒体内容的方法,该数据通信***包括连接有一个主处理器,多个转接器和多个客户的通信网络,所述内容以预处理包的形式被至少存储在一个所述转接器中,该方法包括:1)由一个客户发送一个请求所述连续媒体内容或其一部分的请求消息给该主处理器,以请求将包含所述内容的各个预处理包的一份副本发送给所述请求客户;2)识别在所述多个转接器中存储有所述各个预处理包的一个转接器;3)将一个控制消息由所述主处理器发送给所识别的转接器,所述控制消息指示一个由所述转接器发送所述各个预处理包给该请求客户的请求,所述控制消息并不包含所请求的内容或其一部分;4)将所述各个预处理包的一份副本由所识别的转接器经由其一个输出端口并通过所述网络发送给所述请求客户,其后仍将所述各个预处理包保留在所识别的转接器中。
根据本发明的另一个方面,提供了一个一种用于根据一个所述客户的特殊请求分发连续媒体内容的数据通信***,该数据通信***包括连接有一个主处理器,多个转接器和多个客户的通信网络,所述内容以预处理包的形式被至少存储在一个所述转接器中,该***还包括:1)用于由该客户发送一个请求所述连续媒体内容或其一部分的请求消息给该主处理器,以请求将包含所述内容的各个预处理包的一份副本发送给该请求客户的装置;2)用于识别在所述多个转接器中存储有所述各个预处理包的一个转接器的装置;3)用于将一个控制消息由所述主处理器发送给所识别的转接器的装置,所述控制消息指示一个由所述转接器发送所述各个预处理包给该请求客户的请求,所述控制消息并不包含所请求的内容或其一部分;4)用于将所述各个预处理包的一份副本由所识别的转接器经由其一个输出端口并通过所述网络发送给所述请求客户,其后仍将所述各个预处理包保留在所识别的转接器中的装置。
根据本发明的再一个方面,提供了一个用于分发连续媒体内容的***,其具有一个主处理器、多个客户,和多个具有几个输出端口的转接器和/或路由器,所述主处理器包括:1)用于接收由客户发送的对以预处理包形式存在的所述连续媒体内容或其一部分的请求的装置;2)用于识别其中存储有包含所请求内容的各个预处理包的特定转接器或路由器的装置;3)用于产生和发送一个控制消息以通知所述特定转接器或路由器所述各个预处理包被请求发送的装置,所述控制消息并不包含所请求的内容或其一部分,所述转接器和/或路由器包含:I)用于将被分段未预处理包的所述连续媒体内容存储在一个媒体内容存储器中的装置;II)用于接收来自所述主处理器的所述控制消息的装置;III)用于在所述媒体内容存储器中形成所述各个预处理包的一份副本的装置;IV)用于调度和将所述特定预处理包通过所述转接器或路由器的一个输出端口发送给所述特定客户,其后仍将所述各个预处理包保留在所述媒体内容存储器中的装置。
图1表示在一个UNIX(AT&T的商标)操作***文件中的数据的构成。
图2A表示实施本发明的环境,并且网络的转接器中的数据的卸载带有指向保留在主机中的被卸载数据的指针。
图2B表示来自视频内容的被预处理的包。
图3表示共享缓冲器转接器,它将被改进用来存储经预处理的包。
图4表示存储经预处理的包的经改进的共享缓冲器转接器。
图5表示经改进的共享缓冲器转接器的视频分配器单元的细节。
图6表示从主处理器向转接器传送的控制信息的格式。
图7表示用户、转接器和主处理器之间的信息流。更具体地说是从用户到主机的请求信息和从主机到转接器的控制信息。还示出了响应控制信息从转接器到用户的视频包的传送。
图8表示用于本发明的最佳视频存储器。
图9表示本发明的改进的输出适配器。
图10表示本发明的另一实施例,该实施例采用没有共享缓冲器的不同的转接器。
图11表示将半导体存储器与转接器构成整体的另一种方法。
图12表示采用磁盘存储器以代替半导体存储器。
图13表示视频流中的帧序列。
在以下的实施例中,我们将描述采用转接器来将视频/多媒体或连续媒体内容卸载,但是以下描述可以很容易地适用于采用路由选择器/桥接器等来代替转接器的场合。此外,当我们描述只传输固定大小的单元的包转接网络的用途时,以下实施例也可以很容易地适用于传输可变大小的包的网络中,或电路转接网络中。在本实施例中,我们用ATM(异步传送模式)宽频带网络,并用AAL5(ATM适配层)适配层〔1〕。最后,虽然在本实施例中我们仅对以压缩形式存储的视频信息的传送进行了描述,但是很显然,本领域的一般技术人员在不对本实施例作任何改动的情况下也可以处理非压缩视频信息和其它连续媒体信息,如音频、动画等。不同的音频或视频信息可以用不同的压缩率进行压缩。例如,比起谈话语音,音乐可以以较高的位率(较低的压缩率)进行压缩。连续的媒体信息流也可以包括在MPEG-II(活动画面专家组)传送信息流中多路转接在一起的不同媒体类型的几种信息流。在我们的实施例中,我们将采用MPEG-II传送带有作为视频内容的一个视频信道和一个音频信道的信息流。我们将假定每秒的这一视频内容被压缩成4兆位的数字数据。
本发明的实施例具有两个不同的部分,第一部分是视频内容从主机或应用服务器向网络中的转接器卸载,第二部分是能够存储视频内容并在主机向特定的用户发出指令时将该视频内容分配的转接硬件。下面描述视频内容存储在网络中的格式,以及与视频内容一起存储、以便最大限度地减少在转接器中所需要的用于检索并向用户分配视频内容的硬件的附加数据。另外,下面还描述共享缓冲器转接器中所需要的硬件的改进或增加,以便在半导体存储器中存储视频内容,实现对该存储器的分配和回收操作,以及支持主机请求时对视频内容的检索和分配。在最后部分,我们将简要地陈述相同发明的另外的实施例,其中采用了网络转接器而不是共享缓冲器转接器,并用盘存储器来代替半导体存储器。
视频内容从主机向网络中的转接器卸载
参照图1和2,本发明的第一步包括将卸载的视频内容900(图2B)装入AMT宽频带网络50的转接器60(图2A)。一小时节目的MPEG-II传送流大约为1.8千兆字节的数字数据,图中用900表示。当存储在运行Unix那样的操作***的通用计算机中时,该数据900将被分成4千字节的页901(图1),并可能大约有45万数据块910存储在磁盘中,每个数据块具有4千字节。除了这些代表视频内容的数据块以外,还有存储在盘中的其它信息,如Inodes911和间接块912,一同称为元数据。参见〔2〕。该元数据也示于图1,它与视频内容分开存储,即以不同于存储视频内容的盘块来存储。操作***用该元数据确定属于特殊视频文件的页的位置,并进一步对存储视频内容文件的特定数据区的页定位。图7所示的是从用户20发出经网络中的转接器60到达主机10的请求信息6。该请求信息最好是一个由用户发出的远程过程呼叫,用户通过几个参数调用主机上的视频传送过程。请求信息中的第一参数将是由用户请求的视频文件的名或索引,它是在用户和服务器上的分布式计算环境下运行的交互式多媒体应用执行之前,从由服务器向用户提供的可用视频文件一列表中选择出来的。请求信息中的第二参数将指定为偏移,它相对于从视频文件的重放应该开始处算起的视频文件的开始。请求信息中的第三参数指定为偏移,或相对于视频文件的开始,或相对于起始偏移,此处视频文件的重放应该结束。进一步的参数将指定第三参数中的偏移是相对于视频文件的开始还是相对于重放开始位置。第二和第三参数的偏移可以表示为时间或数据字节数。远程过程调用在本领域是公知的,因此这里对请求信息将不作进一步讨论。参见〔8〕,这里作为对比文件引用。主机处理请求信息,并确定(如下所述)请求的视频内容是否存储在一个网络转接器中。如果是的话,则主机向包含被请求数据的转接器发送控制信息8。参见图2和图6。转接器对控制信息作出响应,检索控制信息中指定的视频包,并将这些包传送给用户。
图2A简要地表示本发明的***的一个高级视图,它包括主机10、用户20、具有多个转接器60的网络50。为了将视频内容900(参见图1)从通常是通用计算机的主机或应用服务器上卸载,我们把视频内容900分成固定大小的有效部分915,以便产生视频信息920。参见图2B。有效部分的大小一般为1千字节至16千字节,在我们的实施例中,我们选择有效部分的大小为1528字节。具有该大小的有效部分符合32个ATM单元930,如图2B所示。主机或应用服务器中的每个有效部分用指针925替换,指针925包括网络转接器地址926和转接器中的信息地址927。参见图2A。每个这样的指针的大小希望在8至16字节之间。现在由主机中的指针925代表的视频信息920本身以指针中指定的信息地址,存储在由指针的转接器地址分量926指定的转接器60中,如图2A所示。
由于主机中的包括视频内容900的文件不同于包括指向存储在网络的转接器中的视频信息的指针925的文件,并且主机必须以不同方式用这些文件,所以主机采用命名转换将一种文件类型分配给包括视频内容900的所有文件,并将另一文件类型分配给包括指向存储在网络中的视频信息的指针的所有文件。另外,主机可以保留一张表,该表列出了所有视频内容文件,并具有一项,指出该文件是视频内容还是指向存储在网络转接器中的视频信息的指针目录。
在将视频内容存储进网络中的转接器之前,八字节ATM AAL5收敛子层尾标931附加在每个有效部分915上,并且将得到的字节重定格式,成为包括一系列ATM单元930的视频信息920,如图2B所示(在ATM网络中,网络包称为单元)。类似地,在非ATM包转接的网络中,如果需要,在传送层首标/尾标被附加到信息上之后,将执行分段,并且在网络层首标和/或尾标存储在转接器中之前,将被附加在段上。
当包正被存储在转接器中时可以预计算的网络/传送/适配层首标或尾标中的字段可以预计算,并存储在ATM单元的适当的存储单元中。在我们的情况下,每个信息的最后的包具有8字节收敛子层(CSL)尾标931,其中预计算信息长度和检验和字段,并且信息被存储在转接器中之前,用户至用户指示(UU)和公共部分指示(CPI)字段被设为零。这些四个字段代表全部ATM AAL5/CSL(收敛子层)尾标。在每个ATM单元的五字节首标935中,只有最后半个字节是可预计算的。这些四位由单元丢失优先级和有效部分类型构成,其中有效部分类型还包括AAL5 SAR(分段和再组合)层的数据报字段的1位结束。带有如上所述进行部分预计算的首标/尾标的ATM单元930包括进行预处理的视频包。
视频信息920是网络中的信息流控制的基本单元,因此也是访问视频存储器和向用户传输视频数据的基本调度单元。如果从视频存储器检索的ATM单元不是视频信息的最后一个单元,那么转接器自动调度检索视频信息中的下一个单元。由用户将视频信息的ATM单元作为字符组接收,因为转接器在传输视频信息的两个ATM单元之间不***延迟来控制传输率。为了网络的有效运行,必须限制视频信息的规模,以便在交互式多媒体应用中提供快速响应时间,并最大限度地减少用户所需的缓冲器。然而,短的视频信息将需要在主机和转接器之间进行频繁的交互操作,需要功能更强(因而也更贵)的主机,以及为了处理数量增多的控制信息在转接器中需要更多的硬件。
上述问题通过根据从主机接收的单个控制信息使转接器能够向一个用户传输几个视频信息而得以解决。为了支持这种能力,为每个视频信息产生附加信息,并将附加信息与视频信息一同存储在网络转接器中。这种信息包括链路字段940和信息流控制字段950,参见图2B。视频流900的每个视频信息920中的链路字段指向该视频流的下一个视频信息。于是,主机或应用服务器可以向指定起始信息的地址和被发送的其后的信息数的转接器发送一个控制信息,并且然后该转接器可以用链路字段940检索其后的信息。信息流控制字段包括以固定起始点为基准的下一个视频信息的重放时间。于是转接器可以在传输相同视频流的两个视频信息之间***正确的延迟,以便保持向用户传送视频数据的适当速率。
改进的转接器硬件及其操作
在这一部分我们将简要地讨论构成我们的实施例的基础的共享缓冲器转接器的设计方案及其操作。然后我们将描述对转接器的改进,这使得转接器能够存储视频包,并当主机发出指令时,向特定的用户分配特定的视频包。当我们首先描述未加改进转接器时,将不直接与本最佳实施例发生联系;然而,当描述下面将出现的转接器的改进方案时,结合本实施例将会使描述变得非常清楚。
共享缓冲器转接器
图3表示共享缓冲器转接器的高级结构。在其核心部分是一个大存储量的共享存储器400,输入总线300用于将数据写入存储器,输出总线350用于将数据从存储器中读出。在我们的实施例中,输入总线300和输出总线350都是53字节宽,是ATM单元的大小。在输入适配器200中处理到达每条高速串行链路100的包(ATM单元),检验ATM单元首标,以便确定包必须被选择到哪个转接器输出150,并且根据ATM编网方法,交换单元的地址(VPI(虚拟路径标识符)和VCI(虚拟电路标识符))字段。参见〔1〕。经过这一处理之后,输入适配器200将包解串为单个的53字节宽的字,并将它放在输入总线300上,同时将该包必须被传送至的转接器输出150的地址放在出地址总线310上。于是包被存储在共享存储器400的由控制器500独立确定的存储单元中。总线的带宽与全部进入线的总带宽一致。共享存储器400组织成为53字节字的一个阵列410,即读和写操作的数据传输的基本单位是53字节,是ATM单元的大小。为了提高以下讨论的可读性,我们将把共享存储器中的这些53字节字称为单元。每个输出链路150具有一个与之相关的输出适配器250。所有输出链路的适配器250通过与输入适配器200共享的总线300类似的时间多路复用总线350连接到共享存储器。
共享存储器400中的空闲单元列表通过控制部分500得以保留。该列表保留在FIFO队列510中。每个输出链路150具有与之关联的在控制部分500中的FIFO队列520。这些队列在逻辑上是不同的,但可以采用单个实际存储器来实现。队列520存储相应的输出适配器必须从共享存储器中检索并向网络传送的ATM单元的地址。为了将进入的包存入共享存储器,从空闲单元510的列表得到空闲单元的地址,并将它们放在写地址总线530上。同时,该地址从空闲单元510的列表中脱离队列,并编队进入由出地址总线310选择的地址队列520,出地址总线310带有包正在被发往的转接器输出150的地址。输出适配器250将存储在共享存储器中的将要被传输到其输出链路150的包地址从中央控制器500中的它们相应的地址队列520中脱离,从共享存储器读包,使其成为串行,并将其在链路150上传输。从地址队列520脱离的包地址放在读地址总线540上,同时再循环进入空闲单元列表510。
输入总线300的带宽等于所有进入的链路100的带宽的总和。因此,不需要任选输入总线300。相反,总线以开槽方式运作,N个输入适配器中的每一个访问每第N个槽中的总线。在我们当前的实施例中,一个槽是一个时钟周期。输出总线350以类似方式运作,并且输入和输出适配器仅在它们获得对输入或输出总线访问的时钟周期中与中央控制器交互作用。在每个输入适配器200中表示的是微处理器210,在每个输出适配器250中表示的是微处理器260。这些微处理器用来执行各种链路监视和服务功能,并且输入适配器中的微处理器还用来管理路由选择表。在下面的讨论中还将用它们服务从转接器传送来的视频流。控制点600是工作站或PC类通用计算机,用于执行网络管理功能,如保持拓朴的数据库和整个网络的链路状态和链路使用,为正在建立的新电路分配标号,以及启动和监视微处理器210和260。在下面的讨论中还将用它来分配和回收存储视频内容的存储器。
最后,为了便于讨论,我们选择描述共享缓冲器转接器,它具有分开的输入和输出适配器,每个适配器中带有一个微处理器,并具有分开的输入和输出总线。在一个紧凑的实施方案中,这两个适配器可以结合在一块卡中,用一个微处理器服务两个适配器,并且用带宽为输入和输出总线带宽两倍的单一总线代替输入和输出总线。
经改进的共享缓冲器转接器存储视频信息并且当从主机收到一条指令时将其向用户传送
图4表示共享缓冲器转接器中所需要的硬件改进,这种改进使得共享缓冲器转接器能够存储视频信息920,并且当从主机10收到这样作的控制信息8时能够向特定的用户20传送一组特定的信息。为了在图4的共享缓冲器转接器中存储视频信息ATM单元930,用视频存储器700扩展共享缓冲器400。共享缓冲器400和视频存储器700共享输入和输出总线、地址总线和写允许控制。链路字段940和步调控制字段950分开存储在标记存储器810中,该存储器位于视频分配器800中。参见图4和5。
视频分配器800较详细地示于图5。它可以接收直接来自主机10的包括控制信息8(图6和7)的ATM单元。当输入适配器200启动信号717时,由接口逻辑电路870从输入总线300接收这些控制信息。每个控制信息8指定视频信息组中的第一ATM单元的地址,该组中的第一视频信息应被传送的时间,该组中的视频信息数,输出适配器地址,以及信息流号,如图6所示,并要求视频分配器通过每次向中央控制器500’发布一个ATM单元请求,请求从中央控制器500’向指定的输出适配器250’传送该组中的所有ATM单元。读ATM的请求在控制信息中指定的时间由调度器815经多路复用器820编入分配队列825中。视频分配器还在总线270上从输出适配器250’中的微处理器260接收没有封闭在ATM单元中的类似的指令,这些指令是通过视频分配器中的接口逻辑电路871接收的。如同与中央控制器那样,输入和输出适配器仅在它们访问输入总线300或输出总线350的周期中与视频分配器交互作用,因此不需要对输入总线270、271和717判优,它们的用途将在下面详细讨论。一旦对视频分配器指定信息组的第一信息传送时间,从存储在标记存储器中的前一个信息的信息流控制字段就可以得到每个其余信息的传送时间。
视频分配器具有FIFO分配队列825,用于存储来自视频存储器的ATM单元的读请求,由于来自输入适配器200的对地址队列520的争用,它不能立即被编进中央控制器500的队列。分配队列825中的每项具有三个字段,输出适配器地址字段826指明哪个输出适配器250’接收通过该请求从视频存储器700读出的单元,流id字段827指明作为读出单元的字段826中指明的适配器上的视频流,以及视频存储器地址字段828指明被读出的单元的视频存储器中的地址。当图4的出地址总线310的线315上的一位待用时,表示无输入适配器与中央控制器交互作用,从分配队列825脱离一项。输出适配器地址字段826的内容被放在总线745上,以便选择中央控制器中的地址队列520。其余的字段、流id字段827、以及视频存储器地址828被放在总线725上,被输入至地址队列520的输入多路复用,并存储在由总线745上的地址选择的地址队列520中。
在单元地址监视器850的总线540上,视频分配器还监视从视频存储器读出的所有单元的地址,以及输出适配器和它们属于的流id。线581用于指明从视频存储器读出一个单元。如果刚从视频存储器读出的单元不是信息的最后的单元,那么通过将增量器855中的单元地址递增产生一个新的请求,并且它通过多路复用器820被送至分配队列825。如果从视频存储器读出的单元是信息的最后单元,那么从标记存储器读出链路控制字段和该信息流的控制字段,并与从总线540接收的流id一道,送至接收该信息的输出适配器250’。该信息在总线271上发送,并将触发适配器中的微处理器260,以便从视频存储器请求一个新的信息。
为了与视频分配器800交互作用,以及与装载视频内容的输入适配器200交互作用,对中央控制器500(图4中的500’)作如下改进。在空闲单元列表510和地址队列520之间提供一个多路复用器720。该多路复用器的一个输入是总线530,带有在当前周期由某一输入适配器写入的共享缓冲器400中的空闲单元的地址,该地址必须编入由出地址总线310指明的地址队列520。另一输入是来自视频分配器800的总线725,带有视频存储器中的单元的地址和信息流标号,二者必须编入由总线745指定的地址队列520。出地址总线310的线315上的一位表示出地址有效,用于给总线530更高的优先级,并相应地控制多路复用器720。当选择总线530时,位315也控制中央控制器中的地址多路复用器740利用出地址310,当从总线725选择将要存储在地址队列520中的内容时,利用总线745上的视频分配器产生的地址。应注意的是,在当前的实施例中,即使当总线530的内容将要写入不同的地址队列520时,也阻止视频分配器写地址队列520。通过提供更复杂的逻辑电路,可以避免这一缺点。仅当地址是共享缓冲器400的地址时,从地址队列520脱离的地址才再循环进空闲缓冲器列表510。控制逻辑电路730检验总线540上的地址是否在共享缓冲器的地址范围内,并使得仅在该范围内的地址编队进入空闲单元列表510。由于视频存储器700的地址的位将比共享缓冲器400的地址的位多得多,并用视频流号作标记,所以地址队列520和总线540扩展了。
从主机装载视频存储器
为了将信息从输入适配器200装入视频存储器700,要利用装载地址总线760以及控制位761。输入适配器200中的微处理器210将从主机接收信息以便装入包含在从视频存储器中的一个地址开始的信息中的ATM单元的队列,该地址也在信息中被标识。相应地,ATM单元将放在输入总线300上,其中应存储在视频存储器中的地址被放在装载地址总线760上,并且启动控制位761。控制位761控制中央控制器500’中的多路复用器710,允许视频存储器的写地址532从装载地址总线760而不是从总线530上的空闲单元列表中选择。当控制位761有效时,控制位315待用,允许视频分配器访问地址队列520。
用作共享缓冲器转接器中的控制点的通用计算机600’也具有视频存储器管理器那样的功能,分配和回收视频存储器。主机或应用服务器与视频存储器管理器交互作用,请求一组空闲视频存储器或返回一组视频存储器。一旦视频存储器管理器将一组视频存储器分配给主机,并通知主机那一组的地址范围,主机就能直接写分配给它的视频存储器,如在前面的段落中所说明的那样,而不必进一步牵扯视频存储器管理器。主机发出的写视频存储器700的命令可以直接送至微处理器210,或间接通过控制点处理器600’,然后它再将命令向前送至微处理器210。
由于视频存储器管理器是一台通用计算机,所以它和主机之间的通信可以采用任何标准可靠的传输协议,可以用所要求的保密和鉴别措施。从主机到输入适配器200中的微处理器210的信息可以在保密链路上传送,附带由视频存储器管理器处理的关键字分布和在微处理器本身中执行的信息解密。从主机向微处理器210传送的两个通用型信息被装入视频存储器并向视频分配器发送命令。如果这些命令信息包含发送一个确认返回的适当的信息,那么微处理器210可以被编程,向主机发送一个确认返回。通过采用为分配多道程序计算机中的主存储器而提出的伙伴***方法,无需压缩就能处理视频存储器中的存储残片。
从视频存储器向终端用户传送视频数据
如上所述,从主机发出的用于分配一组视频信息的控制信息8被输入适配器200截获,然后它将该命令向前送至视频分配器800。对这一组视频信息中的每个ATM单元而言,视频分配器将一个单独的请求送往中央控制器以便读ATM单元,并将它传送给正确的输出适配器。在将从视频存储器读出的ATM单元在输出链路150上送出之前,输出适配器必须填充这些单元的首标中的VPI/VCI字段。参见以下说明。
当从视频存储器700读出ATM单元并传送至输出适配器250’时(参见图9),视频分配器从总线540接收该单元的流id,并将流id向前送至总线271上的输出适配器。当传送至输出适配器的ATM单元是视频信息的最后单元时,流程控制和链路字段940和950也随着流id一道发送。输出适配器完成同时从视频存储器接收的ATM单元的首标,这在下面说明。
输出适配器可以给主机产生一个确认返回,表示成功地传输了视频信息。为了在大规模服务器中有效地加以实现,必须采用来自信息流控制表的返回地址和其它相关信息在硬件中产生该确认,除非一组信息中的ATM单元的数足够大,因此,由微处理器260处理的确认的频率足够低。
视频存储器的最佳实施:
在我们的实施例中,共享缓冲器400用静态随机存取存储器(SRAM)模块实现。但是由于视频存储器比共享缓冲器大许多(共享缓冲器的大小为几兆字节,而视频存储器的大小约为十万兆字节),所以由于成本、功率和空间的限制不能用SRAM技术实现。因此,视频存储器700是通过动态随机存取存储器(DRAM)模块710实现的,如图8所示。最好有四至十六个DRAM模块,每个模块有53字节宽。在我们的实施例中用四个模块。由于DRAM模块不象SRAM那样有分开的数据输入和输出口,因此采用三态驱动器711和712将DRAM模块的数据口与输入总线300和输出总线350相连。多路复用器420用来对地址总线425上的读地址540和写地址532进行多路复用。写允许信号585控制多路复用器420,并提供SRAM和DRAM模块的写允许控制。
DRAM控制器750用从地址总线425接收的地址为每个DRAM模块产生地址信号和芯片选择信号。此外,它为DRAM模块产生行地址选择和列地址选择信号,并提供存储器刷新信号。
SRAM的数据存取时间大大短于DRAM的数据存取时间。向SRAM提供的地址在延迟部件410中被延迟,以便使SRAM和DRAM二者的存取时间相等,从而避免争用输出总线350。如果由于DRAM模块忙于前一个请求而不能立即接收访问DRAM模块的请求时,那么请求接收信号581关断,防止地址从地址队列520中脱离,并向视频分配器800发出无视频包正在被送往输出适配器的信号。
视频存储器中ATM单元在DRAM模块上是交错的。
输出适配器
图9表示改进的输出适配器250’的高级结构。每N个时钟周期一次,从输出总线350上的共享缓冲器或视频存储器接收ATM单元,其中N是输出适配器数。逻辑块282使输出总线350上接收的ATM单元串行到32位宽或16位宽的总线283上。由视频分配器800驱动,逻辑块284监视总线271,如果总线283上的ATM单元来自共享缓冲器400,那么在这种情况下它无改变地通过多路复用器286到达输出链路接口逻辑电路288,该逻辑电路288最终将单元在输出链路150上传送。
如果总线283上的ATM单元来自视频存储器,那么总线271包含那个单元的流id。流id通过逻辑块284放在总线285上,编入流控制表280为ATM单元检索首标信息。该首标信息通过总线289传输到多路复用器286,多路复用器286将它在总线283上正接收的ATM单元中替换。由逻辑块284产生的控制信号287使首标的替换发生。
逻辑块284也对从共享缓冲器400接收的每个ATM单元的首标扫描,确定对输出适配器上的微处理器260而言ATM单元是否被编址,如果是的话,单元不传送给链路接口逻辑电路288,而是传送给微处理器260。这是主机10与微处理器260通信以便管理流控制表280的主要机理。由主机向微处理器260发送的两个关键字命令用于产生流控制表中的新项,并从流控制表删除一项(参见图7)。微处理器260采用局部存储器261存储其程序和数据,并与逻辑块284交互作用,改变流控制表。主机或者可以直接向微处理器260,或者可以通过控制点处理器600,发送管理流控制表的命令。
前面已经提到过,转换器必须根据从主机接收到的每个控制信息向用户传送多个视频信息。确保做到这一点的一种办法是如前所述使主机请求传送在一个控制信息中的多个视频信息。
另一办法是为流控制表中的每个流指定信息计数、或停止时间、或停止链路指针值。主机通过向视频分配器发送一个控制信息,指定传送第一视频信息,而开始该信息流。当视频信息的最后一个ATM单元在输出适配器中被处理时,存储在流控制表中的流的信息计数被递减,或者如果流的停止时间被指定,那么停止时间与传送时间进行比较,或者停止链路指针值与在总线271上接收的链路字段进行比较。如果满足停止条件,那么产生一个适当的确认,并发送给主机。否则,用链路字段和流程控制字段为那个流产生读下一个视频信息的新的请求,并将新请求在总线270上发送给视频分配器。当收到停止条件的确认时,主机通过向输出适配器发送一个命令使流控制表中的停止条件复位,以及向视频分配器发送一个控制信息以便发送紧跟为那个流传送的最后一个信息的视频信息,可以继续传送视频流。
如上所述,为主机提供两种不同的方法以便请求传送多个视频信息在起初看来是不必要的。但是第一种方法中主机在直接向视频分配器发送的控制信息中请求多个视频信息,该方法允许短的视频流具有非常短的启动等待时间,与第二种方法相比,第二种方法中启动等待时间很长,因为主机必须在能够开始向用户传送视频信息之前,先建立流控制表中的正确停止条件。然而,第一种方法的缺点是一旦主机向转接器发送一个控制信息以便向用户发送特定数量的视频信息,主机便不能中断转接器完成对所有视频信息的传送,也不能在所有视频信息传送完之前改变重放模式。另一方面,主机可以在任何时间改变流控制表来改变重放模式、停止条件,或指定新的起始点。如果应用程序需要主机与转接器频繁交互作用,第一种方法有其优越性,因为该方法提供少的额外操作和短的流启动等待时间。当主机和转接器之间的交互作用不频繁时,第二种方法有其优越性,因为它允许主机在传送视频信息的过程中保持控制。
支持反向播放、快速向前和快速向后
在前面的讨论中,我们论述了用于正常播放的视频信息的传送方法。为了达到这一目的,采用单一的链路字段和单一的流程控制字段。为了支持多种重放方式,一些视频信息需要多个链路字段和多个流程控制字段。在这一部分,我们先描述视频信息是如何连接在一起的,这经常是采用每个视频信息中的多个链路来支持多种重放模式。每个链路字段总是与其自身的流程控制字段相关联,流程控制字段规定当调度由那个链路指向的视频信息时,应将转接器延迟。然后我们描述在转接器中存储链路和流程控制字段的空间有效方法。
在通过MPEG算法压缩的视频流中,被压缩的帧具有三种类型,即内编码、预测编码和双向预测编码。内编码帧(I帧)可以在不需要另外的信息下被解码,但是对预测编码帧(P帧)的解码则需要它之前的被解码的I帧。对双向预测编码帧(B帧)的解码则需要它之前的被解码的I或P帧,以及它之后的被解码的I或P帧。
图13a表示视频流中的帧(画面)序列。这是一种帧被获取并显示的次序,我们将称这一次序为显示次序。然而,可以很容易地看到第二帧(它是B帧)在直到第五帧之前都不能被解码,第五帧是该B帧之后第一个被解码的P帧或I帧。于是,其中视频流的帧被解码的次序称之为解码次序,该次序不同于显示次序。在图13b中,箭头表示列于从左到右的显示次序中的帧的解码次序。在我们的实施例中,视频流中的被压缩的画面帧以解码次序存储,然后以解码次序发送至用户。在通过向前链路941访问的视频信息中,被压缩的画面帧以解码次序出现。
为了支持视频信息的反向重放,示于图13c中以正向重放的显示次序从左到右排列的压缩画面帧被送往用户,并以反向链路942所示的次序解码,然后由用户以从右到左的次序显示。当用反向链路访问视频信息时,压缩视频帧将以解码的次序出现,以便反向播放图13c所示的视频信息。由于视频信息的大小是固定的,所以画面帧的开始和结束部分将不会对准视频信息边界。于是,无论何时只要以不同于正常的重放方式的次序访问视频信息,比如在反向播放、快速向前和快速向后的情况下,视频帧的第一个和最后一个视频信息将包含附加的数据。在这种情况下,或者用户必须编程去排除附加的数据,或者必须在视频信息中用填充字节来将画面边界对准视频信息。
反向链路不存储在不包含帧的结束部分的视频信息中,因为对这些帧而言,正向链路和反向链路是相同的。
快速向前和快速向后功能以与反向播放相同的方式被支持。链路943(参见图13d)连接包含I帧的数据的最后一个视频信息和包含下一I帧的数据的第一视频信息。于是,当用链路943访问数据,并且以比用户正常重放时接收I帧快的速率检索I帧并向用户传送,这样便得到了快进的效果。由于在正常重放中用户一般每秒接收两I帧,所以如果快进的速度是正常重放速度的15倍,那么这种方案便是很有用的。为了支持较低速度的快速向前,可以用图13d所示的链路944将所有的I和P帧连接起来。链路945和946也示于图13d中,用来以类似的方式支持两种不同速度下的倒退功能。链路943和945再一次出现在包含I帧的结束部分的视频信息中,而链路944和946再一次出现在包含I帧或P帧的结束部分的视频信息中。当这些链路不存储在视频信息中时,采用正向链路。最后,链路943和944具有它们自己的流程控制字段,这些流程控制字段分别可由链路944和946共享。
由于每个视频信息具有不同的链路字节数,所以为每个视频信息中的最大可能的链路字段数提供存储器是一种浪费。为了最大限度地减少所需的存储器,链路字段和流程控制字段一起紧凑地存储在视频分配器的标记存储器中,并且指向每个视频信息的链路的固定大小的指针被存储在附加到视频分配器上的标记指针存储器中。现在,用视频信息的地址从标记指针存储器中得到一个指针,它接下来用于访问来自标记存储器的视频信息的链路。标记指针存储器的每一项除了指向标记存储器的指针以外,还具有一个掩码。该掩码指出存在哪些链路。
最后,为了支持反向、快速向前和快速向后重放模式,将一个额外的字段加到从主机向视频分配器发送的控制信息上。这一字段规定重放模式。重放模式信息与ATM单元地址(以及流id)一起在总线725和540上传送,并与队列540中的ATM单元地址一起存储。于是,当从视频存储器中检索视频信息的最后一个ATM单元时,通过采用重放模式信息,从为刚刚发送的视频信息存储的链路组中选择到下一个视频信息的链路和相应的流程控制字段。
另外的实施例
前面部分描述的实施例采用了共享缓冲器转接器设计,视频存储器是作为共享缓冲器本身的扩展而实现的,并且从共享缓冲器检索的视频包(单元)向前送至转接器的输出适配器。在这一部分我们简要地描述不同与以上实施例的三个实施例,其中每一个都支持对网络的转接器中的预分包的视频信息的存储。
只要在转接器的输出适配器中提供缓冲器,并且在这些适配器中具有处理能力来实现输出适配器应有的功能,那么即使转接器不以共享缓冲器设计为基础,也能将视频存储器加在转接器上。图10表示将半导体存储器集成到这种转接器中的一般方法。图10A表示通用转接器16,它具有输入链路、输出队列1250以及转接器硬件1100和它的控制器1150。图10B表示通过将视频存储器700经视频分配器直接与输出队列相连,可以将视频存储器700加到该转接器上。与最佳实施例不同,现在由视频分配器向输出适配器发送视频数据,并且视频数据在不同于通常的网络传输量的总线上到达输出适配器。现在视频存储器管理器1600也接收视频数据,并且将它写入视频存储器700。除此之外,操作的细节与基于共享缓冲器转接器的最佳实施例非常类似。
如果象前面段落所描述的那样,半导体存储器不能直接与输出适配器相连,那么可以用转接器的输入链路来连接半导体存储器,如图11所示。视频存储器700”现在具有多个与转接器的输入相连接的口800”。输入适配器经改进包括视频分配逻辑电路。每个改进的输入适配器200”具有流控制表并具有对经它访问的视频流进行视频分配的功能。除了转接器硬件的接口不再是宽的共享总线外,输出适配器250”与250相同。这种方法的缺点是需要更多的转接硬件来支持相同的视频通过量,因为视频既通过输入又通过输出适配器。在前面讨论的设计中,转接器可以具有较少的输入适配器,因为视频数据的传输量主要直接集中在输出适配器中。当用较少的输入适配器时,不仅节省了输入适配器的硬件,而且也可以采用较小的转接器。
最后,在所有前面的设计中,可以用基于盘790的阵列的存储器来代替半导体存储器,特别是如果被支持的信息流数不是太大的话。小的半导体缓冲器795预取当前正在被活动视频流访问的视频部分。这一预取可以被准确地调度,因为对视频数据的存取主要是串行的。对***的其余部分,缓冲器看起来完全是所有视频内容的源。图12表示这一方法。
参考文件[1]Craig Partridge,″Gigabit Networking,″Addison Wesley Publishing Co.,Reading,Mass. 01867,ISBN 0-201-56333-9,Oct.1993.[2]M.J.Bach,″The design of the Unix operating system″,Prentice Hall Inc.,Englewoods Cliffs,NJ,07632,ISBN 0-13-201799-7025,1986.[3]H.M.Vin and P.V.Rangan,″Designing a multiuser HDTV storage server,″IEEE Jour. on Selected Areas in Communications,11(I),Jan.1993,pp.153-164.[4]D.Kandlur,M.S.Chen,and Z.Y.Shae,″Design of a multimedia storagescrvcr,″In IS&T/SPIE symposium on Electronic Imaging Science and Technol-ogy,(San Jose,CA 1994).[5]A.Dan and D.Sitaram,″Buffer management policy for an on-demand videoservcr,″IBM Research Report RC 19347.[6]A.Dan and D.Sitaram,″Scheduling policy for an on-demand video serverwith batching,″IBM Research Report RC 19381.[7]R.Haskin,″The Shark continuous media file server,″Proc. IEEECOMPCON 1993(San Francisco CA,1993).[8]W.Rosenberry et.al.,″Undcrstanding DCE,″O′Rcillcy and Associatcs Inc.,103 Morris Strect,Suite A,Sebastopol,CA 95472,ISBN 1-56592-005-8,Sept.1992.
Claims (8)
1.一数据通信网络,包括:
a.一个具有多个转接器的通信网络;
b.一个连接到该通信网络的主处理器;
c.多个连接到该通信网络的客户;
d.每一个转接器包括:
1)用于存储预处理视频包的专用存储装置;
2)用于检索所请求的预处理视频包并将该视频包的拷贝分发给请求的客户的装置;
3)用于提供由该预处理视频包中的网络协议栈报头和报尾所遗失的信息的装置;
即使在所请求的视频包的拷贝被发送给请求的客户之后,所述的预处理视频包仍然保存在每一个转接器中;
e.使得每一个转接器可以独立地发送预处理视频包给客户的装置。
2.用于将视频、多媒体或其它连续性媒体内容由多个转接器中的一个特定转接器分发给客户的方法,其中在对所述内容提出当前请求之前或没有请求时,所述内容以预处理包的形式被存储在该特定转接器中,所述转接器和客户为一个数据通信网络的一部分,该数据通信网络还包括一个主处理器和其它转接器,所述方法包括:
1)通过由一个所述客户发一个发送请求给所述主处理器来请求所述内容或其一部分;
2)识别所请求的内容所存放的所述特定转接器;
3)将一个控制消息由所述主处理器发送给所述转接器,该控
制消息指示一个发送所述内容或其一部分的请求,所述控制消息不包括所请求的内容或其一部分;
4)将所请求内容或其一部分的预处理包形式的一份拷贝由所述特定转接器通过所述特定转接器的一个输出端口发送给所述一个客户,以使得所述客户可由所述预处理包重组所述连续性媒体内容,此后仍将所述内容以预处理包的形式保存在所述特定转接器中,所述转接器具有交换装置和几个输出端口以使得该转接器可以独立地将内容发送给请求所述内容或其一部分的所述多个客户中的任何一个。
3.权利要求2所述的方法,其特征在于,每一个所述预处理包包括来自所述内容的有效载荷,与网络协议栈的报头和报尾。
4.用于将视频、多媒体或其它连续性媒体内容由多个转接器中的一个特定转接器分发给客户的数据通信***,其中在对所述内容提出当前请求之前或没有请求时,所述内容以预处理包的形式被存储在该特定转接器中,所述转接器和客户为所述数据通信***的一部分,该数据通信***还包括一个主处理器和以下装置:
1)用于通过由一个所述客户发一个发送请求给所述主处理器来请求所述内容或其一部分的装置;
2)用于将一个控制消息由所述主处理器发送给所述转接器的装置,该控制消息指示一个发送所述内容或其一部分的请求,所述控制消息不包括所请求的内容或其一部分;
3)用于安排并将所请求内容或其一部分的预处理包形式的一份拷贝由所述特定转接器通过所述特定转接器的一个输出端口发送给一个所述客户的装置;和
4)用于使得所述具有交换装置和几个输出端口的转接器可以将所述内容或其一部分发送给请求该内容的任何所述客户,此后仍将所述内容以预处理包的形式保存在所述转接器中的装置。
5.权利要求4所述的数据通信***,其特征在于,仅当一个请求删除所述内容的独立控制消息发送给所述特定转接器时,所述内容才由所述特定转接器中被清除,其中所述独立控制消息是与所述请求消息无关的。
6.在一个数据通信***中,该数据通信***包括连接有一个主处理器,多个转接器和多个客户的通信网络,一个用于根据一个所述客户的特殊请求分发连续媒体内容的方法,所述内容以预处理包的形式被至少存储在一个所述转接器中,该方法包括:
1)由一个客户发送一个请求所述连续媒体内容或其一部分的请求消息给该主处理器,以请求将包含所述内容的各个预处理包的一份副本发送给所述请求客户;
2)识别在所述多个转接器中存储有所述各个预处理包的一个转接器;
3)将一个控制消息由所述主处理器发送给所识别的转接器,所述控制消息指示一个由所述转接器发送所述各个预处理包给该请求客户的请求,所述控制消息并不包含所请求的内容或其一部分;
4)将所述各个预处理包的一份副本由所识别的转接器经由其一个输出端口并通过所述网络发送给所述请求客户,其后仍将所述各个预处理包保留在所识别的转接器中。
7.一种用于根据一个所述客户的特殊请求分发连续媒体内容的数据通信***,该数据通信***包括连接有一个主处理器,多个转接器和多个客户的通信网络,所述内容以预处理包的形式被至少存储在一个所述转接器中,该***还包括:
1)用于由该客户发送一个请求所述连续媒体内容或其一部分的请求消息给该主处理器,以请求将包含所述内容的各个预处理包的一份副本发送给该请求客户的装置;
2)用于识别在所述多个转接器中存储有所述各个预处理包的一个转接器的装置;
3)用于将一个控制消息由所述主处理器发送给所识别的转接器的装置,所述控制消息指示一个由所述转接器发送所述各个预处理包给该请求客户的请求,所述控制消息并不包含所请求的内容或其一部分;
4)用于将所述各个预处理包的一份副本由所识别的转接器经由其一个输出端口并通过所述网络发送给所述请求客户,其后仍将所述各个预处理包保留在所识别的转接器中的装置。
8.用于分发连续媒体内容的***,其具有一个主处理器、多个客户,和多个具有几个输出端口的转接器和/或路由器,所述主处理器包括:
1)用于接收由客户发送的对以预处理包形式存在的所述连续媒体内容或其一部分的请求的装置;
2)用于识别其中存储有包含所请求内容的各个预处理包的特定转接器或路由器的装置;
3)用于产生和发送一个控制消息以通知所述特定转接器或路由器所述各个预处理包被请求发送的装置,所述控制消息并不包含所请求的内容或其一部分,所述转接器和/或路由器包含:
I)用于将被分段未预处理包的所述连续媒体内容存储在一个媒体内容存储器中的装置;
II)用于接收来自所述主处理器的所述控制消息的装置;
III)用于在所述媒体内容存储器中形成所述各个预处理包的一份副本的装置;
IV)用于调度和将所述特定预处理包通过所述转接器或路由器的一个输出端口发送给所述特定客户,其后仍将所述各个预处理包保留在所述媒体内容存储器中的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29467394A | 1994-08-23 | 1994-08-23 | |
US294,673 | 1994-08-23 | ||
US294673 | 1994-08-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1118959A CN1118959A (zh) | 1996-03-20 |
CN1134934C true CN1134934C (zh) | 2004-01-14 |
Family
ID=23134436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB951042009A Expired - Fee Related CN1134934C (zh) | 1994-08-23 | 1995-04-27 | 用于根据客户特殊请求分发连续媒体内容的***及方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US5758085A (zh) |
EP (1) | EP0698982B1 (zh) |
JP (1) | JP3730686B2 (zh) |
KR (1) | KR100209834B1 (zh) |
CN (1) | CN1134934C (zh) |
AT (1) | ATE235128T1 (zh) |
BR (1) | BR9503452A (zh) |
CA (1) | CA2149480C (zh) |
DE (1) | DE69529948T2 (zh) |
TW (1) | TW252248B (zh) |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991301A (en) * | 1994-05-05 | 1999-11-23 | Sprint Communications Co. L.P. | Broadband telecommunications system |
US7349976B1 (en) | 1994-11-30 | 2008-03-25 | Realnetworks, Inc. | Audio-on-demand communication system |
US5793980A (en) | 1994-11-30 | 1998-08-11 | Realnetworks, Inc. | Audio-on-demand communication system |
US5541918A (en) * | 1995-01-31 | 1996-07-30 | Fore Systems, Inc. | Method and apparatus for manipulating an ATM cell |
US5991811A (en) * | 1995-09-04 | 1999-11-23 | Kabushiki Kaisha Toshiba | Information transmission system utilizing both real-time data transmitted in a normal-in-time direction and in a retrospective-in-time direction |
US6016535A (en) * | 1995-10-11 | 2000-01-18 | Citrix Systems, Inc. | Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks |
US6088515A (en) | 1995-11-13 | 2000-07-11 | Citrix Systems Inc | Method and apparatus for making a hypermedium interactive |
US7555529B2 (en) | 1995-11-13 | 2009-06-30 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
US6437803B1 (en) | 1998-05-29 | 2002-08-20 | Citrix Systems, Inc. | System and method for combining local and remote windows into a single desktop environment |
US6950991B2 (en) * | 1995-11-13 | 2005-09-27 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
CA2196622C (en) * | 1996-02-06 | 2001-10-16 | Hiroshi Jinzenji | Network data distribution system |
JP3258236B2 (ja) * | 1996-05-28 | 2002-02-18 | 株式会社日立製作所 | マルチメディア情報転送システム |
US6108655A (en) | 1996-07-19 | 2000-08-22 | Cisco Technology, Inc. | Method and apparatus for transmitting images and other objects over a computer network system |
JP3862321B2 (ja) | 1996-07-23 | 2006-12-27 | キヤノン株式会社 | サーバ及びその制御方法 |
JP3202606B2 (ja) | 1996-07-23 | 2001-08-27 | キヤノン株式会社 | 撮像サーバ及びその方法及び媒体 |
DE69738619T2 (de) | 1996-07-23 | 2009-05-20 | Canon K.K. | Verfahren und Vorrichtung zur Kamerakontrolle |
KR100200625B1 (ko) * | 1996-09-30 | 1999-06-15 | 윤종용 | 텔레비젼을 이용한 음성 및 문자 사서함 열람장치 및 방법 |
US6055560A (en) * | 1996-11-08 | 2000-04-25 | International Business Machines Corporation | System and method to provide interactivity for a networked video server |
US6073160A (en) * | 1996-12-18 | 2000-06-06 | Xerox Corporation | Document communications controller |
GB2323946B (en) * | 1997-04-04 | 2002-04-17 | Sony Uk Ltd | Database accessing method and apparatus |
US6178170B1 (en) * | 1997-05-13 | 2001-01-23 | Sprint Communications Company, L. P. | System and method for transporting a call |
US5991912A (en) * | 1997-05-15 | 1999-11-23 | Next Level Communications | Digital video transport error handling in cell based communications systems |
JP2000512472A (ja) * | 1997-06-25 | 2000-09-19 | サムソン エレクトロニクス カンパニー リミテッド | ホームネットワークのためのプログラミングツール |
US6199126B1 (en) * | 1997-09-23 | 2001-03-06 | International Business Machines Corporation | Processor transparent on-the-fly instruction stream decompression |
US6253207B1 (en) * | 1997-09-25 | 2001-06-26 | Lucent Technologies Inc. | Method and apparatus for transporting multimedia information over heterogeneous wide area networks |
US6298406B1 (en) * | 1997-10-24 | 2001-10-02 | Sony Corporation | Method of and apparatus for detecting direction of reception of bus packets and controlling direction of transmission of bus packets within an IEEE 1394 serial bus node |
US6055543A (en) * | 1997-11-21 | 2000-04-25 | Verano | File wrapper containing cataloging information for content searching across multiple platforms |
US6466574B1 (en) * | 1998-06-05 | 2002-10-15 | International Business Machines Corporation | Quality of service improvement of internet real-time media transmission by transmitting redundant voice/media frames |
US6148414A (en) | 1998-09-24 | 2000-11-14 | Seek Systems, Inc. | Methods and systems for implementing shared disk array management functions |
US6463065B1 (en) | 1998-11-17 | 2002-10-08 | Cisco Technology, Inc. | Mixed topology data switching system |
US6484207B1 (en) * | 1998-11-17 | 2002-11-19 | Cisco Technology, Inc. | Switching system having interconnects dedicated to store and retrieve data including management of dedicated memory segments allocated when a general memory is depleted |
US6526452B1 (en) | 1998-11-17 | 2003-02-25 | Cisco Technology, Inc. | Methods and apparatus for providing interfaces for mixed topology data switching system |
US6665673B1 (en) | 1998-11-17 | 2003-12-16 | Cisco Technology, Inc. | Channel communication system |
US6928469B1 (en) * | 1998-12-29 | 2005-08-09 | Citrix Systems, Inc. | Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques |
US6330621B1 (en) | 1999-01-15 | 2001-12-11 | Storage Technology Corporation | Intelligent data storage manager |
US7266706B2 (en) * | 1999-03-03 | 2007-09-04 | Yottayotta, Inc. | Methods and systems for implementing shared disk array management functions |
US6895088B1 (en) * | 1999-05-21 | 2005-05-17 | Sprint Communications Company L.P. | System and method for controlling a call processing system |
SE521181C2 (sv) * | 1999-07-01 | 2003-10-07 | Telia Ab | Förfarande och system för policystyrd distribution av strömmande media i ett IP-nät |
AU7596500A (en) | 1999-09-20 | 2001-04-24 | Quintiles Transnational Corporation | System and method for analyzing de-identified health care data |
US6732113B1 (en) * | 1999-09-20 | 2004-05-04 | Verispan, L.L.C. | System and method for generating de-identified health care data |
US6842841B1 (en) | 1999-09-21 | 2005-01-11 | Storage Technology Corporation | Method and system for dynamically selecting tape drives to connect with host computers |
US8165146B1 (en) * | 1999-10-28 | 2012-04-24 | Lightwaves Systems Inc. | System and method for storing/caching, searching for, and accessing data |
GB2359209A (en) * | 2000-02-09 | 2001-08-15 | Motorola Ltd | Apparatus and methods for video distribution via networks |
CN1268170C (zh) * | 2000-02-14 | 2006-08-02 | 汤姆森许可贸易公司 | 分离成若干个分组的消息的传输方法 |
US7299290B2 (en) * | 2000-03-22 | 2007-11-20 | Yottayotta, Inc. | Method and system for providing multimedia information on demand over wide area networks |
US6785713B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US6789112B1 (en) | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US6922724B1 (en) | 2000-05-08 | 2005-07-26 | Citrix Systems, Inc. | Method and apparatus for managing server load |
US6785726B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for delivering local and remote server events in a similar fashion |
US6591322B1 (en) * | 2000-08-01 | 2003-07-08 | Sun Microsystems, Inc. | Method and apparatus for connecting single master devices to a multimaster wired-and bus environment |
US20020038456A1 (en) * | 2000-09-22 | 2002-03-28 | Hansen Michael W. | Method and system for the automatic production and distribution of media content using the internet |
JP2002100114A (ja) * | 2000-09-25 | 2002-04-05 | Canon Inc | 再生装置、再生方法、伝送装置、伝送方法及び記憶媒体 |
JP2002100113A (ja) * | 2000-09-25 | 2002-04-05 | Canon Inc | 再生装置、再生方法、伝送装置、伝送方法及び記憶媒体 |
US20020107971A1 (en) * | 2000-11-07 | 2002-08-08 | Bailey Brian W. | Network transport accelerator |
US7213075B2 (en) * | 2000-12-15 | 2007-05-01 | International Business Machines Corporation | Application server and streaming server streaming multimedia file in a client specific format |
AU2002236718A1 (en) | 2001-01-02 | 2002-07-16 | Tranz-Send Broadcasting Network, Inc. | System and method for providing load balanced secure media content and data delivery in a distributed computed environment |
GB2371726B (en) | 2001-01-27 | 2005-08-17 | Mitel Corp | Transport protocols for application platforms over network portals |
US8270452B2 (en) * | 2002-04-30 | 2012-09-18 | Lightwaves Systems, Inc. | Method and apparatus for multi-band UWB communications |
US8766773B2 (en) | 2001-03-20 | 2014-07-01 | Lightwaves Systems, Inc. | Ultra wideband radio frequency identification system, method, and apparatus |
US7545868B2 (en) * | 2001-03-20 | 2009-06-09 | Lightwaves Systems, Inc. | High bandwidth data transport system |
GB2374703A (en) * | 2001-04-19 | 2002-10-23 | Snell & Wilcox Ltd | Digital video store |
JP2003030018A (ja) * | 2001-07-13 | 2003-01-31 | Sony Corp | データ通信装置および方法、データ通信システム、情報処理装置および方法、記録媒体、並びにプログラム |
US7774492B2 (en) * | 2001-07-26 | 2010-08-10 | Citrix Systems, Inc. | System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections |
WO2003032504A2 (en) | 2001-10-12 | 2003-04-17 | Bellsouth Intellectual Property Corporation | Methods and systems of wireless communication between a remote data network and a set-top box |
US20030093544A1 (en) * | 2001-11-14 | 2003-05-15 | Richardson John William | ATM video caching system for efficient bandwidth usage for video on demand applications |
US7308001B2 (en) * | 2001-11-16 | 2007-12-11 | Computer Network Technology Corporation | Fibre channel frame batching for IP transmission |
US7027450B2 (en) * | 2002-02-19 | 2006-04-11 | Computer Network Technology Corporation | Frame batching and compression for IP transmission |
US8811429B2 (en) * | 2002-02-19 | 2014-08-19 | Brocade Communications Systems, Inc. | Batching and compression for IP transmission |
US8135843B2 (en) * | 2002-03-22 | 2012-03-13 | Citrix Systems, Inc. | Methods and systems for providing access to an application |
US8000647B2 (en) | 2002-10-11 | 2011-08-16 | At&T Intellectual Property I, L.P. | Method using a set-top box and communicating between a remote data network and a wireless communication network |
US7542471B2 (en) * | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US8233392B2 (en) | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US7630305B2 (en) | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US20040223054A1 (en) * | 2003-05-06 | 2004-11-11 | Rotholtz Ben Aaron | Multi-purpose video surveillance |
US7430187B2 (en) * | 2003-05-15 | 2008-09-30 | At&T Intellectual Property I, Lp | Methods, systems, and computer program products for providing different quality of service/bandwidth allocation to different susbscribers for interactive gaming |
US7684432B2 (en) * | 2003-05-15 | 2010-03-23 | At&T Intellectual Property I, L.P. | Methods of providing data services over data networks and related data networks, data service providers, routing gateways and computer program products |
US20040243852A1 (en) * | 2003-05-28 | 2004-12-02 | Rosenstein Adam H. | Method, system and software for state signing of internet resources |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US7656799B2 (en) | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
US20060218227A1 (en) * | 2003-08-06 | 2006-09-28 | Spear Stephen L | Method and apparatus for enabling content provider authentication |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US20050177616A1 (en) * | 2003-12-19 | 2005-08-11 | N2 Broadband, Inc. | Method and system for distributing services in a digital asset environment |
CN1700643B (zh) * | 2004-05-20 | 2014-07-16 | 深圳市朗科科技股份有限公司 | 数据交换装置及基于网络的数据交换方法 |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
AU2005266945A1 (en) | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | A method and systems for securing remote access to private networks |
AU2005266943C1 (en) | 2004-07-23 | 2011-01-06 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
KR100707250B1 (ko) * | 2004-09-10 | 2007-04-13 | (주) 아이티비엠지 | 채널 도메인의 활용 시스템 및 그 활용방법 |
US7818614B2 (en) * | 2004-10-25 | 2010-10-19 | Hewlett-Packard Development Company, L.P. | System and method for reintroducing a processor module to an operating system after lockstep recovery |
US7711799B2 (en) * | 2004-11-22 | 2010-05-04 | Alcatel-Lucent Usa Inc. | Method and apparatus for pre-packetized caching for network servers |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US7810089B2 (en) * | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
KR20070104566A (ko) | 2005-01-24 | 2007-10-26 | 사이트릭스 시스템스, 인크. | 네트워크에서 동적으로 발생된 객체들의 캐싱을 수행하는시스템 및 방법 |
JP2006252019A (ja) * | 2005-03-09 | 2006-09-21 | Hitachi Ltd | ストレージネットワークシステム |
AU2006320203B2 (en) * | 2005-12-02 | 2011-12-01 | Citrix Systems, Inc. | Method and apparatus for providing authentication credentials from a proxy server to a virtualized computing environment to access a remote resource |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US7921184B2 (en) * | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US8244883B2 (en) | 2006-08-03 | 2012-08-14 | Citrix Systems, Inc. | Systems and methods of for providing multi-mode transport layer compression |
GB2441577A (en) * | 2006-09-08 | 2008-03-12 | Edgeware Ab | Video server using FPGA streamers with control GPU and memory wherein video data segments are chained with play, FF and rewind pointers |
US8826345B2 (en) | 2006-09-08 | 2014-09-02 | Edgeware Ab | Method and an apparatus for data streaming |
GB2441575A (en) * | 2006-09-08 | 2008-03-12 | Edgeware Ab | Video server using FPGA streamers with control GPU and memory wherein video data segments are chained with play, FF and rewind pointers |
GB2441576A (en) * | 2006-09-08 | 2008-03-12 | Edgeware Ab | Video server using FPGA streamers with control GPU and memory wherein video data segments are chained with play, FF and rewind pointers |
US9355273B2 (en) * | 2006-12-18 | 2016-05-31 | Bank Of America, N.A., As Collateral Agent | System and method for the protection and de-identification of health care data |
CN101207994A (zh) | 2006-12-19 | 2008-06-25 | 鸿富锦精密工业(深圳)有限公司 | 铰链结构 |
US7706266B2 (en) * | 2007-03-12 | 2010-04-27 | Citrix Systems, Inc. | Systems and methods of providing proxy-based quality of service |
EP1981284B1 (de) * | 2007-04-12 | 2020-08-26 | ADTRAN GmbH | Verfahren zum Auslesen von Daten und Vorrichtung |
GB2449068A (en) * | 2007-05-08 | 2008-11-12 | Edgeware Ab | Data streaming using stored control data |
EP2186340B1 (en) * | 2007-08-09 | 2016-01-06 | GVBB Holdings S.A.R.L | A video data reproduction system |
CN102150147A (zh) * | 2008-07-03 | 2011-08-10 | 惠普开发有限公司 | 存储器服务器 |
WO2010049440A1 (en) * | 2008-10-29 | 2010-05-06 | Edgeware Ab | A method and an apparatus for data recording and streaming |
US20100114607A1 (en) * | 2008-11-04 | 2010-05-06 | Sdi Health Llc | Method and system for providing reports and segmentation of physician activities |
US9141758B2 (en) * | 2009-02-20 | 2015-09-22 | Ims Health Incorporated | System and method for encrypting provider identifiers on medical service claim transactions |
WO2010151496A1 (en) * | 2009-06-22 | 2010-12-29 | Citrix Systems, Inc. | Systems and methods for platform rate limiting |
US8265050B2 (en) * | 2009-08-07 | 2012-09-11 | Time Warner Cable, Inc. | System and method for sharing a payload among mobile devices in a wireless network |
WO2013049089A1 (en) * | 2011-09-27 | 2013-04-04 | Thomson Licensing | User interfaces for content distribution systems |
US9002991B2 (en) | 2013-04-06 | 2015-04-07 | Miranda Technologies Partnership | System and methods for cloud-based media play out |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4236250A (en) * | 1979-05-21 | 1980-11-25 | Rockwell International Corporation | Multiline switch |
JPS60219848A (ja) * | 1984-04-17 | 1985-11-02 | Fujitsu Ltd | ビデオテツクス端末システム |
JPS63151240A (ja) * | 1986-12-16 | 1988-06-23 | Fujitsu Ltd | ビデオ番組分配方式 |
US4897781A (en) | 1987-02-13 | 1990-01-30 | International Business Machines Corporation | System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment |
US5005122A (en) | 1987-09-08 | 1991-04-02 | Digital Equipment Corporation | Arrangement with cooperating management server node and network service node |
GB8821410D0 (en) * | 1988-09-13 | 1988-10-12 | Int Computers Ltd | Data processing system |
JP2748452B2 (ja) * | 1988-11-15 | 1998-05-06 | 日本電気株式会社 | ダウンラインロード方式 |
JPH02161844A (ja) * | 1988-12-14 | 1990-06-21 | Hitachi Ltd | 情報配布サービス方式 |
US5477541A (en) * | 1989-09-29 | 1995-12-19 | White; Richard E. | Addressing technique for storing and referencing packet data |
US5115426A (en) * | 1990-03-30 | 1992-05-19 | At&T Bell Laboratories | Broadband isdn packet switching arrangements |
US5218697A (en) | 1990-04-18 | 1993-06-08 | Microsoft Corporation | Method and system for networking computers having varying file architectures |
US5093718A (en) | 1990-09-28 | 1992-03-03 | Inteletext Systems, Inc. | Interactive home information system |
US5220420A (en) | 1990-09-28 | 1993-06-15 | Inteletext Systems, Inc. | Interactive home information system for distributing compressed television programming |
JP3073248B2 (ja) * | 1991-03-19 | 2000-08-07 | 富士通株式会社 | ポイント対マルチポイント接続方式 |
JPH0514342A (ja) * | 1991-07-02 | 1993-01-22 | Hitachi Ltd | パケツト同報通信方式 |
US5287461A (en) | 1991-10-31 | 1994-02-15 | Sun Microsystems, Inc. | Method and apparatus for remotely accessing a plurality of server consoles |
US5287507A (en) | 1992-03-27 | 1994-02-15 | Sun Microsystems, Inc. | Method and apparatus for portable object handles that use local caches |
US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
US5442389A (en) * | 1992-12-28 | 1995-08-15 | At&T Corp. | Program server for interactive television system |
US5440334A (en) * | 1993-02-01 | 1995-08-08 | Explore Technology, Inc. | Broadcast video burst transmission cyclic distribution apparatus and method |
JPH06284148A (ja) * | 1993-03-30 | 1994-10-07 | Hitachi Ltd | 動画通信制御方法及び通信制御装置 |
US5539449A (en) * | 1993-05-03 | 1996-07-23 | At&T Corp. | Integrated television services system |
US5442390A (en) * | 1993-07-07 | 1995-08-15 | Digital Equipment Corporation | Video on demand with memory accessing and or like functions |
DE4328862A1 (de) * | 1993-08-27 | 1995-03-02 | Sel Alcatel Ag | Verfahren und Vorrichtung zum Zwischenspeichern von Datenpaketen sowie Vermittlungsstelle mit einer solchen Vorrichtung |
US5491800A (en) * | 1993-12-20 | 1996-02-13 | Taligent, Inc. | Object-oriented remote procedure call networking system |
US5485455A (en) * | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
US5508940A (en) * | 1994-02-14 | 1996-04-16 | Sony Corporation Of Japan And Sony Electronics, Inc. | Random access audio/video processor with multiple outputs |
US5488411A (en) * | 1994-03-14 | 1996-01-30 | Multimedia Systems Corporation | Interactive system for a closed cable network |
US5467345A (en) * | 1994-05-31 | 1995-11-14 | Motorola, Inc. | Packet routing system and method therefor |
US5461611A (en) * | 1994-06-07 | 1995-10-24 | International Business Machines Corporation | Quality of service management for source routing multimedia packet networks |
US5583561A (en) * | 1994-06-07 | 1996-12-10 | Unisys Corporation | Multi-cast digital video data server using synchronization groups |
-
1994
- 1994-11-03 TW TW083110129A patent/TW252248B/zh active
-
1995
- 1995-04-27 CN CNB951042009A patent/CN1134934C/zh not_active Expired - Fee Related
- 1995-05-16 CA CA002149480A patent/CA2149480C/en not_active Expired - Fee Related
- 1995-07-14 JP JP17901895A patent/JP3730686B2/ja not_active Expired - Fee Related
- 1995-07-24 AT AT95480100T patent/ATE235128T1/de not_active IP Right Cessation
- 1995-07-24 DE DE69529948T patent/DE69529948T2/de not_active Expired - Fee Related
- 1995-07-24 EP EP95480100A patent/EP0698982B1/en not_active Expired - Lifetime
- 1995-07-26 BR BR9503452A patent/BR9503452A/pt not_active IP Right Cessation
- 1995-08-21 KR KR1019950025590A patent/KR100209834B1/ko not_active IP Right Cessation
-
1997
- 1997-01-08 US US08/778,230 patent/US5758085A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2149480A1 (en) | 1996-02-24 |
EP0698982B1 (en) | 2003-03-19 |
BR9503452A (pt) | 1996-05-28 |
DE69529948D1 (de) | 2003-04-24 |
US5758085A (en) | 1998-05-26 |
JPH0884143A (ja) | 1996-03-26 |
DE69529948T2 (de) | 2003-12-11 |
JP3730686B2 (ja) | 2006-01-05 |
EP0698982A2 (en) | 1996-02-28 |
EP0698982A3 (en) | 1998-04-15 |
ATE235128T1 (de) | 2003-04-15 |
TW252248B (en) | 1995-07-21 |
CN1118959A (zh) | 1996-03-20 |
CA2149480C (en) | 2003-10-14 |
KR100209834B1 (ko) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1134934C (zh) | 用于根据客户特殊请求分发连续媒体内容的***及方法 | |
US8224991B2 (en) | Duplicating switch for streaming data units to a terminal using different communication protocols | |
CN100430915C (zh) | 交互式宽带服务器***及内容引擎 | |
US5915094A (en) | Disk access method for delivering multimedia and video information on demand over wide area networks | |
TW321765B (en) | Media server for storage and retrieval of voluminous multimedia data | |
US8364892B2 (en) | Asynchronous and distributed storage of data | |
US8799535B2 (en) | Storage of data utilizing scheduling queue locations associated with different data rates | |
US7188357B1 (en) | Video-on demand video server disk/memory streaming selection methodology | |
Shenoy et al. | Issues in multimedia server design | |
JPH1139270A (ja) | ビデオ・クリップの分散編集方法 | |
CN1196150A (zh) | 数据处理*** | |
CN1093660C (zh) | 多媒体***中高效传送数据流的***方法和设备 | |
Jadav et al. | Designing and implementing high-performance media-on-demand servers | |
CN100449509C (zh) | 一种使数据单元流入终端的备份交换机 | |
Jadav et al. | Design and evaluation of data access strategies in a high performance multimedia-on-demand server | |
Buddhikot | Project MARS: scalable, high performance, Web based multimedia-on-demand (MOD) services and servers | |
AU2002305256A1 (en) | A duplicating switch for streaming data units to a terminal | |
Buddhikot et al. | Enhancements to 4.4 BSD UNIX for E cient Networked Multimedia in Project MARS | |
Kumar | Video-server designs for supporting very large numbers of concurrent users | |
Traw | Applying architectural parallelism in high-performance network subsystems | |
Poon et al. | A Davic-based video-on-demand system over ATM networks | |
Chiussi et al. | Implementation of a Three-Stage Banyan-Based Atchitecture with Input and Output Buffers for Large Fast Packet Switches | |
Pegler et al. | A scalable architecture for multimedia storage | |
Nava et al. | Architecture of a Home Area Multimedia | |
Chen et al. | Enhancements to 4.4 BSD UNIX for E cient Networked Multimedia in Project MARS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |