[go: up one dir, main page]

CN1574719A - 用于网络通信的知道时间的最大努力的填孔再试方法和系统 - Google Patents

用于网络通信的知道时间的最大努力的填孔再试方法和系统 Download PDF

Info

Publication number
CN1574719A
CN1574719A CNA2004100489461A CN200410048946A CN1574719A CN 1574719 A CN1574719 A CN 1574719A CN A2004100489461 A CNA2004100489461 A CN A2004100489461A CN 200410048946 A CN200410048946 A CN 200410048946A CN 1574719 A CN1574719 A CN 1574719A
Authority
CN
China
Prior art keywords
bag
lost package
time
group
medium
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.)
Granted
Application number
CNA2004100489461A
Other languages
English (en)
Other versions
CN100546236C (zh
Inventor
J·H·格罗斯曼四世
D·L·格林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1574719A publication Critical patent/CN1574719A/zh
Application granted granted Critical
Publication of CN100546236C publication Critical patent/CN100546236C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Telephonic Communication Services (AREA)
  • Dental Preparations (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

本发明主要涉及网络通信技术。在此所述的实现,在通信网络上执行一个知道时间的、最大努力的、填孔的通信再试功能。除非接收器不同地表示,则假设成功的接收数据,以这种方式来完成这个功能。该表示明确地识别丢失数据。有了这个表示,发送器只再发送明确识别的丢失数据。在所附的权利要求书中指出本发明的范围。

Description

用于网络通信的知道时间的最大努力的填孔再试方法和系统
技术领域
本发明主要涉及网络通信技术。
背景技术
在电子通信的领域中,至少有某种程度的假设的不可靠性,许多通信系统具有一种机制,用于确定是否成功地接收特定的通信或者通信是否以某种方式失败或者两者。
例如采用TCP。这是传输控制协议(Transmission Control Protocol)的简略。它是TCP/IP网络中的主要协议之一。然而,IP协议只处理数据包,TCP使两个主机能够建立连接和交换数据流。
总而言之,TCP保证数据的传送,以及还保证将以数据被发送的相同顺序传送数据。要完成那个,TCP使用基于确认的再试过程来检测和再试失败的通信。
在TCP中,主机发送一群(即窗口)数据包至通信网络上的接收器。群可被称为“窗口(window)”。TCP窗口是,在发送器从接收器取得返回的ACK之前,即接收器已经取得它的一些数据之前,允许发送器在特定的连接上未完成的(即接受者未确认的)数据的数量。
ACK是确认码(acknowledgement code)的简略。它一般是一个传输控制指示符,表示接收到未破坏的或者没有错误的被传输的消息,或者表示接收站准备好接受更多的传输。接收器发送代码至发送器,表示已经接受了传输。
在主机发送了包的窗口,它等待来自那个接收器的、表示成功接收到窗口的所有或某些包的ACK。如果它未能在规定的再试时间段内接收到ACK,则主机再发窗口的所有包。因此,如果发送器没有接收到ACK,它假设接收器自从上次发送器从接收器取得ACK起,没有接收到任何数据。
由主机接收的ACK可表示成功接收窗口的上一次连续的包。如果这样,主机再发在窗口中的在由ACK指定为成功接收的包之后的所有包。
常规的再试方法
常规的再试方法一般再发大群的数据-可能甚至相当于整个窗口的包--当检测到通信失败时。而且,这些常规的方法一般是基于ACK的。此外,这些常规的方法一般不考虑任何接收数据的时间临界性质。这样一个常规方法的例子是上面讨论的TCP再试方法。
那些本领域普通技术人员通常熟悉常规的再试方法,尤其是TCP的再试方法。
概述
本发明主要涉及网络通信技术。在此所述的实现,在通信网络上执行一个知道时间的、最大努力的、填孔的通信再试功能。除非接收器不同地表示,则假设成功的接收数据,以这种方式来完成这个功能。该表示明确地识别丢失数据。有了这个表示,发送器只再发送明确识别的丢失数据。
这个概述本身不是想要限制本发明的范围。此外,本发明的标题不是想要限制本发明的范围。为了更好地理解本发明,请结合附图看下面详细的描述和所附的权利要求书。在所附的权利要求书中指出本发明的范围。
附图说明
在全部附图中,使用相同的数字引用同样的元件和特征。
图1是例示按照在此所述的实现的典型网络和通信状态的快照的图。
图2是流程图,示出在此所述的方法实现。
图3是流程图,示出在此所述的方法实现。
图4例示可使用在此所述的实现的示例性环境。
图5例示实例显示设备,电视,以及与显示设备交互的各种输入设备。
图6是能够(完整地或部分地)实现在此所述的至少一个实施例的计算机操作环境。
详细说明
在下面的描述中,为了说明,阐述特定的数字、材料和配置,以便提供本发明的完整理解。不过,对于本领域中一个熟练的技术人员这是显而易见的,即可在没有特定的示例性细节的情况下实施本发明。在其它实例中,省略或简化众所周知的特征以阐明本发明的示例性实现的描述,并且因此更好地说明本发明。而且,为了易于理解,将某些方法步骤描绘成独立的步骤;不过,这些独立地描述的步骤不应被解释为它们的性能必须依赖于顺序。
下面的描述阐述用于网络通信的知道时间的最大努力的填孔的再试方法和系统的一个或多个示例性实现,所述网络通信包括在所附权利要求书中所述的要素。以特征描述这些实现,以便满足法定的书面描述、允许和最佳模式要求。不过,描述本身不是想要限制本发明的范围。
发明者想要使这些示例性实现作为实例。发明人不想使这些示例性实现限制所要求的本发明的范围;而是,发明人已经预期,可能结合其它现在或将来的技术以其它方法实施和实现所要求的本发明。
用于网络通信的知道时间的最大努力的填孔再试方法和系统的实施例的例子,可称为“示例性填孔再试方法”。
导言
在此所述的所要求的本发明的一个或多个示例性实现,可由图4和5的显示设备408、图6的计算机602、和/或作为与在图4-6中所示的相似的计算环境来实现。
常规的再试方法一般在响应通信失败时再发大群的数据。一般地,这些常规的方法基于ACK并且不考虑任何接收数据的时间临界性质。
这种常规的再试方法在将大量数据单向地涌入通过网络的情况下效率很差,例如,在时间敏感的流多媒体数据应用中。常规的方法效率差,因为频繁地使用从接收器到发送器的ACK包,并且因为当只有部分再发送的数据丢失时(而不是仅当所有再发数据丢失时),它们倾向于在再试期间再发送大块数据。
有了常规的基于ACK的方法,通常在选择窗口大小时存在涉及的权衡。在没有错误时,大的窗口大小允许通过高等待延迟连接以高带宽发送许多数据。小的窗口大小在减少了不必要地再发送的数据量。
一般地,这个权衡产生具有长超时的情况(例如,发送器等待ACK)。如果从发送器到接收器的等待延迟与位速率相比较长,这些常规的基于ACK的方法随着包丢失增加变得更无效率。
示例性填孔再试方法克服这些常规的再试方法的缺点。它增加通信的效率--尤其对于大量数据单向地涌过网络的情况。诸如具有流多媒体数据的情况。
示例性填孔再试方法在通信网络上执行知道时间的、最大努力的填孔通信再试功能。使用基于NACK的方法,发送器只再发接收器识别为还没有接收到的数据至接收器。
最大努力是因为不保证接收器将取得数据。但示例性填孔再试方法不保证接收器将或者取得所有数据包或者知道它没有取得所有数据包。
而且,示例填孔再试方法具有放弃获得丢失数据的尝试的能力,在那个数据因为太久而变得不相干的时候。不象常规的方法,示例性填孔再试方法可越过通信网络(例如因特网)维持有效的、非突发的高吞吐量连接,甚至在存在与数据速率相比高的等待延迟以及显著的包丢失的情况下。
示例性填孔再试方法
图1例示典型通信网络,具有主机110(在此即发送器)、通信网络基础设施130(诸如因特网)和客户设备140(在此即接收器)。
示例性填孔再试方法基于序列号再试。序列号是对于每个发送的包按一递增的数字。示例性填孔再试方法利用UDP而不是TCP,它可以或者是单播或者是多播。
群120代表发送器110越过网络130发送的包的群的例子。它可具有帮助识别特殊的群的偏移量122。每个包是单独和顺序地编号的。在本例中,将它们编号为1-13。
发送器110发送这个包的窗口至接收器140,一次一个包。群150代表接收器140可能在与发送器通信期间的一个时间片内已经接收的内容的例子。
在接收器140接收已编号的包时,它按照它们的顺序编号缓冲它们。它们可能不按顺序或者没有全部到达,但在它们到达时,接收器将它们放在接收群150中它们适当的位置中。一种建立适当位置的方法是规定所有包具有不变的大小。这是一种可检测到孔并且容易确定其边界的方法。可使用其它方法定义孔的边界。
当接收器140接收具有不按顺序的序列号的包时,它意味着接收器已经丢失介于其间编号的包。这些丢失的包或包的集聚(grouping)被称为“孔(hole)”。孔的边界是由接收的围绕孔的包的存在定义的。
实例的接收群150具有三个孔。孔152代表丢失包#5、6和7。孔154代表丢失的包#10。孔156表示丢失的包#12。
当接收器检测到一个新孔时,它将孔添加到活动孔的表。表中的每个表项具有规定的再试时间-这是一个可配置的参数。
由于UDP不保证顺序,包可能不按顺序到达。丢失的包可能还在到接收器的运输中。那是由在运输中的包124例示的-这是丢失的包#12。
因此,令人想要的是在报告孔之前等待一会儿。那一会儿时间可称为拖延(HO)期。因此,HO期避免了在丢失的包有可能在到接收器的路上时,接收器请求再发送丢失的包的问题。因此,再试时间最初被设置为所规定的“拖延”期。
如果再试时间期满并且孔仍在,则接收器140发送“孔报告”UDP包至发送器110,通知发送器关于一个或多个孔。这个报告实际上是丢失包的否定确认(negative-acknowledgement)(NACK)。
因为孔报告可能到达发送器,或者可能到不了发送器,再试定时器一般被重置为再报告值(RR),它是直到进行再报告为止的一段时间。RR的值可以是一个可定制的参数,但一般是一个比所观测到的网络的来回程延迟稍微长一些的值。RR期被设计为给出用于发送器接收报告、响应以及用于接收器接收那个响应的时间。
再报告值一般比拖延值大,因为再报告值大约是网络的来回程等待延迟,而拖延时间一般是网络的单向等待延迟的某一分数。
在收到孔报告时,发送器110再发送由包含在孔报告中的序列号范围表示的UDP包。如果接收器140暂时没有接收到响应-例如,当再试请求或者再试请求的响应丢失了-接收器在再试定时器期满时再次发送对丢失包的再试请求。
任何时候一个包到达,它部分地填入一个孔,这个孔的剩余部分(或者作为结果得到的孔的两个剩余部分)的再试定时器被设置成拖延期。
在此所述的用于通过IP的流多媒体应用的实现具有下列特性:
·每个包是相同大小的。
·所保证的传送信道具有在正在进行的基础上通过它正在发送的数据
·它在UDP的顶部运行。
这些是一个特殊实现的特性。然而,其它实现可能具有其它特性。例如,其它实现可能在其它数据报传送协议而不是UDP上运行。
活动孔表
当接收器140检测到一个新孔,它将这个孔添加到活动孔的表。表中每个表项具有动态计算的再试时间(RT)。这个表存储在接收器的存储器中。
由于包可能不按顺序到达,令人想要的是在报告孔之前等待一会儿。因此,最初将再试时间设置成所规定的拖延(HO)期以避免,当丢失包可能还在到接收器的运输中时接收器就请求再发送那个丢失包的问题。
再报告时间(RR)和初始的“拖延”(HO)期是动态可调整的,基于许多因素诸如网络的观测到的行为。
拖延期一般设置成一个值,它包含当包处于错误的顺序中时在包之间观测到的延迟的大的百分比。换句话说,如果A、B是包,以这个顺序不必相邻,并且观测到它们以B、A到达(可能有介于其间的包),延迟A-B是由拖延期一般包含的值。不过,A-B延迟应该只在还没有NACK(否定确认)A的时候观测到的,因为否则A在B之后可能是再试的结果。
可供替换地,HO期可设置成通过网络的最大单向等待延迟减去通过网络的的最小单向等待延迟加上有些小调整(例如增量)。
由于孔报告可能到达发送器或者可能不到达发送器,接收器等待一个短时间(例如RR值)用于发送器在再发送报告之前响应。
下面是接收器140可能产生的“活动孔表”的例子。它列出用于活动孔的表项(基于图1的接收群150),它们的当前再试时间以及它们的期满时间。
    孔     再试时间     期满时间
    5-7     +120     +500
    10-10     +10     +700
    12-12     +10     +730
                示例活动孔表
在上表中的时间值是以毫秒为单位,并且只作为说明性例子提供的。典型的拖延(HO)期可大约是10ms的数量级,以及典型的再报告(RR)期可大约是100ms的数量级。
而且,在这个表中列出的时间相对于当前时间并且已经完成,因此只是用于说明的目的。在现实中,一个实现可能规定绝对的时间值(而不是相对的)。
下面列出一些条件,在这些条件下,当使用示例性填孔再试方法时,用于进入活动孔表的表项的RT是动态计算或重新计算的:
·当产生在孔表中的表项时,初始RT设置成now(现在)+HO
·当发送用于一个特殊孔的报告时,RT重新设置成now(现在)+RR。
·当一个包部分地填充或拆分一个孔时,那么用于作为结果而发生的孔(或多个孔)的RT设置成now(现在)+HO。
用示例性填孔再试方法,基于RT保持在表中的表项的顺序。那样最近要再试的表项总是第一个。
拆分孔
当接收器140接收了只部分地填充一个孔的包时,那个孔可能被拆分或者缩小。例如,如果图1的接收群150的丢失包#5到达接收器140,则缩小孔#152。孔152的新的范围是包6-7。如果,例如,接收群150的丢失包#6到达,则孔152实际上被拆分成两个孔:其中一个是包#5,一个是包#7。
如果新到达的包填充孔的中间,则它实现上将这个孔拆分成两个孔。这两个新的孔取得now(现在)+HO的再试时间(RT),因为HO正好足以通常保持从被生成起的一个孔报告,由于按顺序发送的UDP包的正常重新排序,以及按顺序发送填充孔的包,因为整个孔最初被报告为单个孔。
期满时间
每个包具有一个期满时间标记(ETS)。由于在包中的数据是时间敏感的,所以存在一个其数据是不相干的时间。那意味着存在一个时间,它不再关心接收器是否实际上接收到这个包的时间。那个时间是它的期满时间。
关联于活动孔表中每个表项的期满时间是定义关联的孔的结束边界的包的ETS。例如,图1的接收群150的包#11的ETS是输入到活动孔表中孔154的值(用于丢失包#10)。
如果活动孔表中一个表项的RT>ETS,那么认为这个丢失包是不相干的。象这样,接收器140将不再尝试获得那些丢失包以填充那个孔。从表中移除那个表项并且标记流中的不连续。
在传输中暂停
在某些条件下,对于接收器有可能未能识别出传输中一个短暂暂停之前刚发生的孔。由于后面的包还没有到达接收器(因为它们还没有被发送),接收器没有识别出孔的存在。一个包未能到达,但接收器还不知道这个。因此,接收器一定要直到全部传输重新开始才识别出孔的存在。
不过,通过发送临时的状态包,尤其是在传输中存在一个暂停时,可能减轻这种情况。状态包通知接收器直接在前的包应该是什么和/或下一个包将是什么。假设存在一个孔,接收器现在可识别它并且相应地行动。
在接收器处示例性填孔再试方法的操作
图2示出示例性填孔再试方法的方法实现。这个方法实现可以用软件、硬件或它们的组合来执行。
在图2的210,图1的接收器140接收一群包的一系列编号的包。
在212,它将数据包的一个集合(诸如图1的群150)接收到接收缓冲器中。它按编号包的编号放置每个包。它使用偏移量(诸如定义的恒定的包大小)确定每个包放在缓冲器中的位置。在完成这个的同时,它留下丢失的编号包的孔。例如,图1的孔152是用于丢失包#5,6和7的。
在214,接收器将新的表项填入活动孔表。它输入每个新的孔作为一个新的表项到表中。对于每个新的表项,它为新的表项计算和输入初始的再试时间(RT)为现在+拖延(HO)期。对于每个新的表项,接收器还为在那个表项的孔的之后和边界处所接收的包输入期满时间标记(ETS)。
在216,当当前时间匹配表中一个表项的RT时,接收器140产生和发送一个“孔报告”包至发送器110,通知发送器关于一个或多个孔。
在218,在发送孔报告之后,接收器更新被报告的表项的RT。它将RT重新设置成现在+再报告(RR)期。
在220,当一个给定表项的RT>ETS时,那么它从表中移除那个表项并且标记流中的不连续。这意味着一个孔已经期满,以及它从表中移除意味着接收器将不再尝试取回它。
在222,当它接收一个丢失包时,它填充孔(或者部分地或者全部地)。如果丢失包完全填充这个孔,那么移除表中它的相应表项。如果丢失包只部分地填充它,那么它重新调整孔的大小。如果丢失包将孔拆分成两个孔,那么它重新调整一个孔的大小,以及为新产生的孔产生新的表项,对于较小的原来的孔和新产生的孔,两者都具有现在+HO的RT。
这个过程随着收到接收群的包而继续。
在接收器处示例性填孔再试方法的操作
图3示出示例性填孔再试方法的方法实现。这个方法实现可以用软件、硬件或它们的组合来执行。
在图3的310,图1的发送器110将顺序列举的包发送至接收器140,并且它将这些包存储在历史缓冲器中。发送器保持这个历史缓冲器,因此它能当请求再发送包时再发送这些包。而且,发送器给每个包分配一个ETS。
在312,发送器从接收器接收识别哪个包未收到的“孔报告”。
在314,在响应那个报告时,发送器从它的历史缓冲器取回所识别的包,并且再次将它们发送至接收器。如果发送器得到再发送一个不再在历史缓冲器中的包的请求,它忽略这个请求。
示例性环境
图4例示示例性环境400,其中可(部分地或全部地)实现在此所述的技术、系统和其它方面。示例性环境400是一个促进多媒体分发的电视娱乐系统。典型的数字视频广播(DVB)网络是这样一个环境的例子。
环境400包括一个或多个多媒体内容供应者402,一内容分发系统406,以及一个或多个呈现设备408(1),408(2),...,408(N),它们通过广播网络410耦合到内容分发系统406。
多媒体内容供应者402包括内容服务器412和存储的内容414,诸如电影、电视节目、商业广告节目、音乐和类似的音频和/或视频内容。内容服务器412控制存储的内容414从内容供应者402到内容分发系统406的分发。另外,内容服务器402控制实况转播内容(例如,不是预先存储的内容,诸如实况转播供给)和/或存储在内容分发系统406之外的其它位置的内容的分发。
内容分发系统406可耦合到网络420,诸如企业内部互联网或因特网。内容分发系统406包括广播发射器428,以及一个或多个内容处理器430。广播发射器428通过广播网络广播信号,诸如有线电视信号。
内容分发系统406是头端(headend)服务的代表,它提供多媒体内容至多个订户。
广播网络410能包括有线电视网络、RF、微波、卫星和/或数据网络诸如因特网,以及还可包括使用任何广播格式和广播协议的有线的或无线的介质。另外,广播网络410可以是任何类型的网络,使用任何类型的网络拓扑以及任何网络通信协议,以及可以表示或者以另外方式实现为两个或多个网络的组合。
内容处理器430在通过广播网络408发射内容之前,处理从内容供应者402接收的内容。特定的内容处理器430可编码或者以另外的方式处理所接收的内容成为一种格式,耦合到广播网络410的多个呈现设备408(1),408(2),...,408(N)理解所述格式。
呈现设备408能以许多方法实现。例如,呈现设备408(1)通过卫星天线434从基于卫星的发射器接收广播内容。呈现设备408(1)也称为机顶盒或卫星接收设备。呈现设备408(1)耦合到电视436(1),用于呈现由呈现设备接收到的内容(例如音频数据和视频数据),以及呈现图形用户接口。特殊的呈现设备408能耦合至任何数量的电视436和/或能实现以显示或者再现内容的相似设备。同样,任何数量的呈现设备408能耦合至单个电视436。
还耦合呈现设备408(2)以从广播网络410接收广播内容,并且提供内容至关联的电视436(2)。呈现设备408(N)是组合电视和集成的机顶盒440的例子。在本例中,机顶盒的各种组件和功能被结合到电视中,而不是使用两个分开的设备。结合在电视中的机顶盒可通过卫星天线(与卫星天线434相似)和/或广播网络410接收广播信号。在可替换的实现中,呈现设备406可通过因特网或任何其它广播介质接收广播信号。
示例性环境400还包括存储的点播内容442,诸如视频点播(VOD)电影内容。存储的点播内容能用呈现设备408例如通过在屏幕上的电影向导来观看,以及观众能输入指令以使一个特定的电影,或者其它存储的内容,向下流到相应的呈现设备408。
至此,已经按照数字视频广播(DVB)环境描述了这个示例性环境400。确实,那是一个示例性环境。不过,在没有完整的DVB环境本身的情况下,可实现示例性填孔再试方法。代之以,可由独立的呈现设备,诸如由设备408(1),408(2),...,408(N)例示的,来实现它。
独立的呈现设备408(1),408(2),...,408(N)从存储介质444诸如DVD盘访问数字视频。它提供来自介质的内容至关联的电视439。这样一个独立的呈现设备的例子包括DVD播放器、个人录像机等。
示例性呈现设备
图5例示被示为连接至电视436的独立设备的呈现设备408的示例性实现500。呈现设备408可以在任何数量的实施例中实现,包括作为机顶盒、卫星接收器、具有硬盘的TV录像机、游戏控制台、信息电器、DVD播放器、个人录像机、个人计算机、媒体中心等等。
呈现设备408包括一无线接收端口502,诸如红外线(IR)或蓝牙无线端口,用于从遥控设备504接收无线通信,一手持输入设备506,或者任何其它无线设备,诸如无线键盘。手持输入设备506可以是个人数字助理(PDA)、手持计算机、无线电话等等。另外,耦合无线键盘508以与呈现设备408通信。在可替换的实施例中,遥控设备504、手持设备506和/或键盘508可使用RF通信链路或其它传输方式以与呈现设备408通信。
呈现设备408可具有存储介质阅读器509,用于阅读内容存储介质诸如DVD盘。独立的或非独立的呈现设备408可包括存储介质阅读器509。
呈现设备408可从一个或多个广播源接收一个或多个广播信号510,诸如从卫星或者从广播网络。呈现设备408包括硬件和/或软件用于接收和解码广播信号510,诸如NTSC、PAL、SECAM或其它TV系统视频信号。
呈现设备408还包括硬件和/或软件用于为用户提供图形用户接口,通过图形用户接口,用户能例如访问各种网络服务,配置呈现设备408以及执行其它功能。
呈现设备408可能能够通过一个或多个连接,包括常规的电话链路512、ISDN链路514、电缆链路518、DSL链路520等等,与其它设备通信。呈现设备408可使用任何一个或多个各种通信链路512-520在特定的时刻与任何数量的其它设备通信。
呈现设备408产生视频信号520和音频信号522,两者都被传送到电视436。视频信号和音频信号可以从呈现设备408传送到电视436,通过RF(无线电频率)链路、S-视频链路、复合视频链路、分量视频链路或其它通信链路。
尽管在图5中未示出,但呈现设备408可包括一个或多个指示灯或其它指示器识别设备的当前状态。另外,本设备可包括一个或多个控制按钮、开关或其它可选择的控制用于控制设备的操作。
示例性计算系统和环境
图6例示适合的计算环境600的例子,在其中可实现(或者全部地或者部分地)如在此所述的示例性填孔再试方法。可在此所述的计算机和网络结构中利用计算环境600。
示例性计算环境600只是计算环境的一个例子,并且不是想要建议对任何关于计算机和网络结构的使用范围和功能的限制。也不应将计算环境600解释为对于在示例性计算环境600中例示的任何一个组件或其组合具有任何依赖性和要求。
可用众多的其它通用或专用计算系统环境或配置实现示例性填孔再试方法。可适用的众所周知的计算系统、环境和配置的例子包括,但不限于,个人计算机、服务器计算机、瘦客户机、胖客户机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、包括任何上述系统或设备的分布式计算系统等等。
可在由计算机执行的计算机可执行指令诸如程序模块的一般环境中描述示例性填孔再试方法。通常,程序模块包括执行特殊任务或实现特殊抽象数据类型的例程、程序、对象、组件、数据结构等。示例性填孔再试方法也可在分布式计算环境中实施,在分布式计算机环境中通过通信网络链路的远程处理设备执行任务。在分布式计算机环境中,程序模块可位于本地和远程两者包括存储器设备在内的计算机存储介质中。
计算环境600包括计算机602形式的通用计算设备。计算机602的组件可包括,但不限于,一个或多个处理器或处理单元604,系统存储器606,以及将包括处理器604在内的各种系统组件耦合到系统存储器606的系统总线608。
系统总线可实现为任何几种类型的总线结构的一种或多种,包括存储器总线或存储控制器、外围设备总线、加速图形接口或使用各种总线结构中任意一种的本地总线。作为例子,这样的结构可以插件卡总线(Card Bus)、个人计算机存储卡国际协会(PCMCIA)、加速图形端口(AGP)、小型计算机系统接口(SCSI)、通用串行总线(USB)、IEEE 1394、视频电子标准协会(VESA)本地总线以及也称为夹层总线的外设组件互连(PCI)总线。
计算机602一般包括各种各样的计算机可读介质。这样的介质可以是任何可由计算机110访问的可用介质,并包括易失性和非易失性介质、可移动和不可移动介质两者。
系统存储器606包括以易失性和/或非易失性的存储器形式的计算机存储介质,诸如只读存储器(ROM)610和随机存取存储器(RAM)612。基本输入/输出系统614(BIOS),包含帮助计算机602内组件之间传送信息的基本例程,诸如在起动期间,它一般被存储在ROM 612中。RAM 610一般包含可由处理单元604直接访问和/或目前操作的数据和/或程序模块。
计算机602还可包括其它可移动的/不可移动的、易失性/非易失性计算机存储介质。作为例子,图6示出用于读写不可移动的、非易失性磁介质(未示出)的硬盘驱动器616,用于读写可移动的、非易失性的磁盘620(例如“软盘”)的磁盘驱动器618,以及用于读和/或写可移动的、非易失性光盘624诸如CD-ROM、DVD-ROM或其它光介质的光盘驱动器622。硬盘驱动器616、磁盘驱动器618和光盘驱动器622各自通过一个或多个数据媒体接口626耦合到系统总线608。可供替换地,硬盘驱动器616、磁盘驱动器618和光盘驱动器622可通过一个或多个接口(未示出)耦合到系统总线608。
磁盘驱动器及其关联的计算机可读介质为计算机602提供计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。尽管本例例示了硬盘616、可移动磁盘620和可移动光盘624,但要意识到,存储计算机可访问数据的其它类型的计算机可读介质,诸如磁带盒或其它磁存储设备、闪存卡、CD-ROM、数字通用盘(DVD)或其它光存储器、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除的可编程只读存储器(EEPROM)等等,也可用于实现示例性计算系统和环境。
任何数量的程序模块可存储在硬盘616、磁盘620、光盘624、ROM 612和/或RAM 610上,包括作为例子,操作系统626、一个或多个应用程序628、其它程序模块630和程序数据632。
用户可通过输入设备,诸如键盘634、指点设备636(例如“鼠标”),将命令和信息输入到计算机602中。其它输入设备638(未明确示出)可包括话筒、操纵杆、游戏垫、卫星天线、串行口、扫描仪等等。这些和其它输入设备常常通过耦合到系统总线的用户输入/输出接口640耦合至处理单元604,但是也可以通过其它接口和总线结构连接,诸如并行端口、游戏端口或通用串行总线(USB)。
监视器642或其它类型的显示设备也通过一个接口诸如视频接口644连接至系统总线608。除监视器642之外,计算机还可包括其它外部输出设备诸如扬声器(未示出)和打印机646,它们可通过输入/输出接口640连接。
计算机602可在一个使用逻辑连接至一或多个远程计算机诸如远程计算机648的网络化环境中运行。远程计算机648可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、对等设备或其它普通网络节点等等。远程计算设备648例示为可包括在此相对于计算机602所述的许多或全部元件和特征的便携式计算机。
在计算机602与远程计算机648之间的逻辑连接被示为局域网(LAN)650和一般广域网(WAN)652。这样的网络环境在办公室、企业级计算机网络、内部互联网和因特网是很普通的。
当在LAN网络环境中实现时,计算机602通过网络接口或适配器654耦合到局域网650。当在WAN网络环境中实现时,计算机602一般包括调制解调器656或其它装置,用于在广阔的因特网上建立通信。调制解调器656,可以是内置的或者外置的,可通过输入/输出接口640或其它适当的机制耦合到系统总线608。要意识到,所例示的网络连接是示例性的,并且可使用用于在计算机602与648之间建立通信的其它装置。
在网络化环境中,诸如由计算环境600所例示的环境,相对于计算机602所述的程序模块或者其部分,可存储在远程存储器设备中。作为例子,远程应用程序658驻留在远程计算机648的存储器设备上。为了说明,应用程序和其它可执行程序组件,诸如操作系统,在此被示为离散的块,尽管认识到这样的程序和组件在不同的时间驻留在计算设备602的不同存储组件中,以及是由计算机的数据处理器执行的。
计算机可执行指令
示例性填孔再试方法的实现可在由一个或多个组件或其它设备执行的计算机可执行指令诸如程序模块的一般环境中描述。通常,程序模块包括执行特殊任务或实现特殊抽象数据类型的例程、程序、对象、组件、数据结构等。一般地,程序模块的功能可在需要时组合或分布在各种实施例中。
示例性操作环境
图6例示适合的操作环境600的例子,在其中可实现示例性填孔再试方法。具体地说,在此所述的示例性填孔再试方法可由图6中任何程序模块628-630和/或操作系统626或其部分来实现。
操作环境只是适合的操作环境的一个例子,并且不是想要建议对关于在此所述的示例性填孔再试方法的范围或功能的使用的任何限制。可适用的众所周知的计算系统、环境和/或配置包括,但不限于,个人计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、无线电话和装置、通用或专用电器、特定用途集成电路(ASIC)、网络PC、小型机、大型计算机、包括任何上述系统或设备的分布式计算系统等等。
计算机可读介质
示例性填孔再试方法的实现可存储在某些形式的计算机可读介质上或者通过它传输。计算机可读介质可以是可由计算机访问的任何可用介质。作为例子,计算机可读介质可包括,但不限于,“计算机存储介质”和“通信介质”。
计算机存储介质包括易失性和非易失性、可移动和不可移动介质,它们是以任何存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的方法或技术被实现的。“计算机存储介质”包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光盘存储器、磁盒、磁带、磁盘存储器或其它磁存储设备,或者能用于存储想要的信息和能由计算机存取的任何其它介质。
“通信介质”一般包含在调制的数据信号诸如载波或其它传输机制中的计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传输介质。
术语″调制的数据信号″指具有以这样一种关于编码信号中信息的方式设置或改变的一个或多个特性的信号。作为例子,而非限制,通信介质包括有线的介质,诸如有线的网络或直接线连接、以及无线的介质,诸如声音的、RF(射频)、红外线和其它无线介质。任意上述各项的组合也包括在计算机可读介质的范围之内。
结论
尽管已经以特定于结构特征和/或方法步骤的语言描述了本发明,但要理解,在所附的权利要求书中定义的本发明不必限制在所述的特定特征或步骤中。而是,特定的特征和步骤是作为实现所要求的本发明的较佳形式揭示的。

Claims (46)

1.具有计算机可执行指令的计算机可读介质,当由计算机执行所述指令时,执行一个包括下列步骤的方法:
接收具有规定的连续顺序的一个群的数据包;
确定那个群的包是否丢失;
请求仅被确定为丢失的包的重新传输;
等待一个或多个丢失包的重新传输的接收;
在等待的同时,重复确定和请求,直到不再有所述群的包是丢失的,或者直到剩余的丢失包被视为不相干的。
2.如权利要求1所述的介质,其特征在于,当群的一个或多个接收的包邻近丢失包时,丢失包被视为不相干的。
3.如权利要求1所述的介质,其特征在于,每个包具有期满时间标记(ETS),以及当当前时间过了邻近丢失包的一个或多个接收的包的ETS时,丢失包被视为不相干的。
4.如权利要求1所述的介质,其特征在于,所述方法还包括,当确定一个包是丢失的时,将指定的再试时间与丢失包相关联,其中,这个时间定义了请求那个丢失包的重新传输何时发生。
5.如权利要求1所述的介质,其特征在于,所述重复的步骤包括:
将指定的再试时间与丢失包相关联,其中,指定的再试时间定义了请求那个丢失包的重新传输何时发生;
如果在指定的再试时间那个丢失包仍是丢失的,那么动态地调整那个丢失包的指定的再试时间,以加上指定的再报告时间段。
6.如权利要求1所述的介质,其特征在于,在群中的包具有规定的期满时间,以及当一个或多个接收的包的规定的期满时间已经发生时,丢失包被视为不相干的。
7.如权利要求1所述的介质,其特征在于,群的包是顺序地编号的。
8.如权利要求1所述的介质,其特征在于,群的每个包在大小上是相等的。
9.如权利要求1所述的介质,其特征在于,对重新传输的初始请求在确定之后规定的时间间隔发生。
10.一计算设备包括:
到通信网络的接口,用于发送和接收数据;
如权利要求1所述的介质。
11.具有计算机可执行指令的计算机可读介质,当由计算机执行所述指令时,执行包括下列步骤的方法:
接收具有规定顺序的一个群的数据包;
识别群的哪个包是丢失的;
发送标识丢失包的否定确认(NACK);
等待一个或多个识别的丢失包的重新传输的接收;
在等待时,重复识别和发送,直到剩余的丢失包被视为不相干的。
12.如权利要求11所述的介质,其特征在于,当群的一个或多个接收的包邻近丢失包时,丢失包被视为不相干的。
13.如权利要求11所述的介质,其特征在于,每个包具有期满时间标记(ETS),以及当当前时间过了邻近丢失包的一个或多个接收的包的ETS时,丢失包被视为不相干的。
14.如权利要求11所述的介质,其特征在于,所述方法还包括:
接收一个或多个丢失包的重新传输;
重复识别和发送。
15.如权利要求11所述的介质,其特征在于,所述方法还包括:
接收一个或多个丢失包的重新传输;
重复识别和发送,直到不再有群的包是丢失的。
16.如权利要求11所述的介质,其特征在于,所述方法还包括,当确定一个包是丢失的时,将指定的再试时间与丢失包相关联,其中,这个时间定义了请求那个丢失包的重新传输何时发生。
17.如权利要求11所述的介质,其特征在于,所述方法还包括:
当确定一个包是丢失的时,将指定的再试时间与丢失包相关联;
在那个包的指定的再试时间,执行对那个丢失包的重新传输的请求;
重复确定;
如果确定那个丢失包仍然是丢失的,那么:
动态地调整指定的再试时间以加上指定的再报告时间段;
在那个包的调整的再试时间,重复请求那个丢失包的重新传输。
18.如权利要求11所述的介质,其特征在于,所述方法还包括:
接收一个或多个丢失包的重新传输;
重复确定和请求,直到剩余的丢失包被视为不相干的,或者直到不再有丢失包。
19.如权利要求11所述的介质,其特征在于,在群中的包具有规定的期满时间,所述方法还包括:
接收一个或多个丢失包的重新传输;
重复确定和请求,直到剩余的丢失包被视为不相干的,因为一个或多个包的规定的期满时间已经发生,或者直到没有丢失包。
20.如权利要求11所述的介质,其特征在于,包的群的指定次序是顺序的。
21.如权利要求11所述的介质,其特征在于,群的包是顺序地编号的。
22.如权利要求11所述的介质,其特征在于,请求重新传输在确定之后规定的时间间隔发生。
23.一计算设备包括:
到通信网络的接口,用于发送和接收数据;
如权利要求11所述的介质。
24.一通信再试方法包括:
接收具有规定顺序的一个群的数据包;
确定那个群的包是否是丢失的;
请求仅被确定是丢失的包的重新传输。
25.如权利要求24所述的方法,还包括:
接收一个或多个丢失包的重新传输;
重复确定和请求。
26.如权利要求24所述的方法,还包括:
接收一个或多个丢失包的重新传输;
重复确定和请求,直到不再有群的包是丢失的。
27.如权利要求24所述的方法,还包括,当确定一个包是丢失的时,将指定的再试时间与丢失包相关联,其中,这个时间定义了请求那个丢失包的重新传输何时发生。
28.如权利要求24所述的方法,还包括:
当确定一个包是丢失的时,将指定的再试时间与丢失包相关联;
在那个包的指定的再试时间,执行对那个丢失包的重新传输的请求;
重复确定;
如果确定那个丢失包仍然是丢失的,那么:
动态地调整指定的再试时间以加上指定的再报告时间段;
在那个包的调整的再试时间,重复请求那个丢失包的重新传输。
29.如权利要求24所述的方法,还包括:
接收一个或多个丢失包的重新传输;
重复确定和请求,直到剩余的丢失包被视为不相干的,或者直到不再有丢失包。
30.如权利要求24所述的方法,其特征在于,在群中的包具有规定的期满时间,所述方法还包括:
接收一个或多个丢失包的重新传输;
重复确定和请求,直到剩余的丢失包被视为不相干的,因为一个或多个包的规定的期满时间已经发生,或者直到不再有丢失包。
31.如权利要求24所述的方法,其特征在于,包的群的规定次序是顺序的。
32.如权利要求24所述的方法,其特征在于,群的包是顺序地编号的。
33.如权利要求24所述的方法,其特征在于,请求重新传输在确定之后规定的时间间隔发生。
34.包括一个或多个具有计算机可执行指令的计算机可读介质的计算机,当由所述计算机执行所述指令时,执行如权利要求24所述的方法。
35.具有计算机可执行指令的计算机可读介质,当由计算机执行所述指令时,执行包括下列步骤的方法:
通过通信网络发送具有规定顺序的一个群的数据包至接收器;
接收识别接收器未能接收的群的包的请求;
再发送识别的包至接收器,其中,再发送的包仅是由请求识别的那些。
36.如权利要求35所述的介质,其特征在于,所述方法还包括:
将发送的包存储到历史缓冲器中;
在响应请求时,从历史缓冲器取回识别的包。
37.如权利要求35所述的介质,其特征在于,所述方法还包括,将期满时间标记指派给发送的群的一个或多个包,其中如果接收器没有按期满时间标记接收到这一个或多个包,则所述一个或多个包是不相干的。
38.如权利要求35所述的介质,其特征在于,包的群的规定次序是顺序的。
39.如权利要求35所述的介质,其特征在于,群的包是顺序地编号的。
40.一计算设备包括:
到通信网络的接口,用于发送和接收数据;
如权利要求35所述的介质。
41.一通信再试方法包括:
通过通信网络发送规定顺序的一个群的数据包至接收器;
接收识别接收器未能接收的群的包的请求;
再发送识别的包至接收器,其中,再发送的包仅是由请求识别的那些。
42.如权利要求41所述的方法还包括:
将发送的包存储到历史缓冲器中;
在响应请求时,从历史缓冲器取回识别的包。
43.如权利要求41所述的方法,还包括,将期满时间标记指派给发送的群的一个或多个包,其中如果接收器没有按期满时间标记接收到,则所述一个或多个包是不相干的。
44.如权利要求41所述的方法,其特征在于,包的群的规定次序是顺序的。
45.如权利要求41所述的方法,其特征在于,群的包是顺序地编号的。
46.包括一个或多个具有计算机可执行指令的计算机可读介质的计算机,当由所述计算机执行所述指令时,执行如权利要求41所述的方法。
CNB2004100489461A 2003-06-13 2004-06-11 用于网络通信的知道时间的最大努力的填孔再试方法和系统 Expired - Fee Related CN100546236C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/461,797 2003-06-13
US10/461,797 US7076717B2 (en) 2003-06-13 2003-06-13 Time-aware best-effort hole-filling retry method and system for network communications

Publications (2)

Publication Number Publication Date
CN1574719A true CN1574719A (zh) 2005-02-02
CN100546236C CN100546236C (zh) 2009-09-30

Family

ID=33299862

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100489461A Expired - Fee Related CN100546236C (zh) 2003-06-13 2004-06-11 用于网络通信的知道时间的最大努力的填孔再试方法和系统

Country Status (9)

Country Link
US (2) US7076717B2 (zh)
EP (1) EP1487171B1 (zh)
JP (1) JP4694152B2 (zh)
KR (1) KR101066768B1 (zh)
CN (1) CN100546236C (zh)
AT (1) ATE366499T1 (zh)
CA (1) CA2466231C (zh)
DE (1) DE602004007329T2 (zh)
MX (1) MXPA04005467A (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523482B2 (en) * 2002-08-13 2009-04-21 Microsoft Corporation Seamless digital channel changing
US8397269B2 (en) * 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US7720075B2 (en) * 2003-06-19 2010-05-18 Intel Corporation Network idle protocol with reduced channels
US7444419B2 (en) 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7562375B2 (en) * 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US7430222B2 (en) * 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
WO2005089240A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing multi-resource management support in a compute environment
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7640352B2 (en) * 2004-09-24 2009-12-29 Microsoft Corporation Methods and systems for presentation of media obtained from a media stream
JP2006129169A (ja) * 2004-10-29 2006-05-18 Toshiba Corp コンテンツ記録媒体補償システム、コンテンツ再生/記録装置及びコンテンツ再生/記録方法
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7477653B2 (en) * 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
US7370129B2 (en) * 2004-12-15 2008-05-06 Microsoft Corporation Retry strategies for use in a streaming environment
US20060179392A1 (en) * 2005-02-08 2006-08-10 Takaaki Ota Handshakeless retransmission protocol
US8631130B2 (en) 2005-03-16 2014-01-14 Adaptive Computing Enterprises, Inc. Reserving resources in an on-demand compute environment from a local compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US9225663B2 (en) 2005-03-16 2015-12-29 Adaptive Computing Enterprises, Inc. System and method providing a virtual private cluster
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
EP1994668A2 (en) * 2005-11-23 2008-11-26 Nxp B.V. A data processor system and a method for communicating data
US8135040B2 (en) * 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
JP2008048182A (ja) 2006-08-17 2008-02-28 Sony Corp 通信処理装置、および通信制御方法、並びにコンピュータ・プログラム
US9686045B2 (en) * 2007-04-04 2017-06-20 Lantiq Beteiligungs-GmbH & Co. KG Data transmission and retransmission
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
EP2171982B1 (en) * 2007-10-19 2012-04-18 Voxer IP LLC Method and device for real-time media synchronisation across a network
US8090867B2 (en) * 2007-10-19 2012-01-03 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
JP4940117B2 (ja) * 2007-12-06 2012-05-30 株式会社東芝 移動通信システムとそのゲートウェイ装置、集線装置およびハンドオーバ制御方法
KR100989716B1 (ko) 2008-01-21 2010-10-26 엘지전자 주식회사 컨텐츠 송수신 중지 및 재개 방법
JP2009246855A (ja) * 2008-03-31 2009-10-22 Yamatake Corp 通信システム
US8271106B2 (en) 2009-04-17 2012-09-18 Hospira, Inc. System and method for configuring a rule set for medical event management and responses
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
AU2012325937B2 (en) 2011-10-21 2018-03-01 Icu Medical, Inc. Medical device update system
US9100460B2 (en) * 2012-06-28 2015-08-04 Adobe Systems Incorporated Media stream fragment request
JP6139872B2 (ja) * 2012-12-10 2017-05-31 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体、並びに、映像処理システム
JP5636574B2 (ja) * 2013-01-30 2014-12-10 株式会社日立製作所 通信装置、パケット転送方法及びそのプログラム
ES2908320T3 (es) 2013-03-06 2022-04-28 Icu Medical Inc Método de comunicación de dispositivos médicos
AU2014312122A1 (en) 2013-08-30 2016-04-07 Icu Medical, Inc. System and method of monitoring and managing a remote infusion regimen
US9662436B2 (en) 2013-09-20 2017-05-30 Icu Medical, Inc. Fail-safe drug infusion therapy system
CA2945647C (en) 2014-04-30 2023-08-08 Hospira, Inc. Patient care system with conditional alarm forwarding
US9724470B2 (en) 2014-06-16 2017-08-08 Icu Medical, Inc. System for monitoring and delivering medication to a patient and method of using the same to minimize the risks associated with automated therapy
US9539383B2 (en) 2014-09-15 2017-01-10 Hospira, Inc. System and method that matches delayed infusion auto-programs with manually entered infusion programs and analyzes differences therein
US10873593B2 (en) * 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US11233716B2 (en) 2018-03-28 2022-01-25 Arlo Technologies, Inc. System for real-time monitoring with backward error correction
EP3824386B1 (en) 2018-07-17 2024-02-21 ICU Medical, Inc. Updating infusion pump drug libraries and operational software in a networked environment
EP4297379A3 (en) * 2018-07-17 2024-01-10 ICU Medical, Inc. Systems and methods for facilitating clinical messaging in a network environment
AU2020267477B2 (en) 2019-05-08 2025-09-18 Icu Medical, Inc. Threshold signature based medical device management
EP4208798A4 (en) 2020-09-05 2024-10-09 ICU Medical, Inc. IDENTITY-BASED SECURE COMMUNICATION OF MEDICAL DEVICES
US11714539B1 (en) 2022-10-28 2023-08-01 Honeywell International Inc. Cursor management methods and systems
US11960668B1 (en) 2022-11-10 2024-04-16 Honeywell International Inc. Cursor management methods and systems for recovery from incomplete interactions
US12451137B2 (en) 2023-01-19 2025-10-21 Honeywell International Inc. Speech recognition systems and methods for concurrent voice commands
US12236165B2 (en) 2023-04-05 2025-02-25 Honeywell International Inc. Methods and systems for decoupling user input using context
US11954325B1 (en) 2023-04-05 2024-04-09 Honeywell International Inc. Methods and systems for assigning text entry components to cursors

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06252978A (ja) * 1993-02-22 1994-09-09 Toshiba Corp ネットワークパラメタ自動調整装置
JPH0946375A (ja) * 1995-07-26 1997-02-14 Hitachi Ltd パケット交換網のパケット再送方法
JPH09191314A (ja) * 1996-01-10 1997-07-22 Mitsubishi Electric Corp 連続データ伝送方法および連続データ伝送装置
JPH10257096A (ja) * 1997-03-10 1998-09-25 Pioneer Electron Corp データ転送方法及び装置
US5918002A (en) 1997-03-14 1999-06-29 Microsoft Corporation Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network
JPH1117737A (ja) * 1997-04-30 1999-01-22 Sony Corp 送信装置および送信方法、受信装置および受信方法、並びに送受信装置および送受信方法
US6392993B1 (en) * 1998-06-29 2002-05-21 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6286111B1 (en) 1998-09-01 2001-09-04 International Business Machines Corporation Retry mechanism for remote operation failure in distributed computing environment
EP1006689B1 (en) 1998-11-30 2008-02-06 Matsushita Electric Industries Co., Ltd. Packet retransmission control using priority information
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels
US6907005B1 (en) * 2000-07-24 2005-06-14 Telefonaktiebolaget L M Ericsson (Publ) Flexible ARQ for packet data transmission
JP2002232478A (ja) * 2000-11-06 2002-08-16 Matsushita Electric Ind Co Ltd 送信装置、受信装置及び放送データ配信方法
JP3931595B2 (ja) * 2001-07-10 2007-06-20 株式会社日立製作所 データ修正装置及びデータ修正方法
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US6850769B2 (en) * 2002-02-14 2005-02-01 Qualcomm Incorporated Method and apparatus for adaptive measurement of round-trip time in ARQ protocols and using the same for controlling flow of data in a communication system
US6920504B2 (en) * 2002-05-13 2005-07-19 Qualcomm, Incorporated Method and apparatus for controlling flow of data in a communication system
US6987780B2 (en) * 2002-06-10 2006-01-17 Qualcomm, Incorporated RLP retransmission for CDMA communication systems

Also Published As

Publication number Publication date
ATE366499T1 (de) 2007-07-15
US7076717B2 (en) 2006-07-11
EP1487171A1 (en) 2004-12-15
JP4694152B2 (ja) 2011-06-08
US20060251082A1 (en) 2006-11-09
KR101066768B1 (ko) 2011-09-21
CN100546236C (zh) 2009-09-30
MXPA04005467A (es) 2005-03-23
US20040255219A1 (en) 2004-12-16
DE602004007329D1 (de) 2007-08-16
EP1487171B1 (en) 2007-07-04
JP2005006340A (ja) 2005-01-06
CA2466231C (en) 2011-08-16
CA2466231A1 (en) 2004-12-13
DE602004007329T2 (de) 2008-03-06
KR20040107400A (ko) 2004-12-20

Similar Documents

Publication Publication Date Title
CN1574719A (zh) 用于网络通信的知道时间的最大努力的填孔再试方法和系统
CN100341265C (zh) 数据接收设备和数据接收方法
CN1140968C (zh) 多点传播递送服务重发控制方法及系统
US8379559B2 (en) Wireless multicast proxy
US9113311B2 (en) Multicast/broadcast content delivery based on feedback from a user device
CN1957585A (zh) 用于上载内容的系统和关联终端、方法及计算机程序产品
CN1139205C (zh) 关于多点传播服务系统的重发控制方法与信息配送装置及无线电终端
CN1969475A (zh) 用于蜂窝广播和通信系统的方法和设备
CN1745382A (zh) 在实时控制协议(rtcp)消息中嵌入会话描述消息
CN1922813A (zh) 用于在能够处理多播和广播传输的系统中进行数据修复的方法
CN1770725A (zh) 异步网络系统、信息处理设备、数据发送及接收管理方法
CN1393090A (zh) 形成多媒体流式传输对话的方法
CN1875620A (zh) 数据广播
CN1918841A (zh) 遗漏部分的标识和重发
CN1240212C (zh) 信号接收装置及方法,以及记录媒体
CN1951052A (zh) 用于增强um rlc数据处理的装置和方法
CN1537378A (zh) 无线通信系统中传播信令的方法和设备
CN1799211A (zh) 突发传输
CN101053201A (zh) 用于利用空闲带宽的技术
CN1842007A (zh) 信息传送方法和信息传送系统
CN1754364A (zh) 发射/接收系统、发射设备和方法及接收设备和方法
CN1652479A (zh) 用于在分组通信系统中调度上行链路速率的方法及设备
CN101043296A (zh) 请求重传数据的方法、数据重传方法和数据传输系统
CN1631017A (zh) 发送装置、接收装置和发送/接收装置
CN1652544A (zh) 数据接收装置和数据接收方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

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

Effective date of registration: 20150513

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20090930

Termination date: 20180611

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