CN1237801C - 流程调度的方法 - Google Patents
流程调度的方法 Download PDFInfo
- Publication number
- CN1237801C CN1237801C CN00817939.5A CN00817939A CN1237801C CN 1237801 C CN1237801 C CN 1237801C CN 00817939 A CN00817939 A CN 00817939A CN 1237801 C CN1237801 C CN 1237801C
- Authority
- CN
- China
- Prior art keywords
- module
- entry
- duration
- time started
- time
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26233—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
-
- 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/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- 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/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/165—Centralised control of user terminal ; Registering at central
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mechanical Treatment Of Semiconductor (AREA)
- Circuits Of Receivers In General (AREA)
- Arc Welding Control (AREA)
- Stored Programmes (AREA)
Abstract
实现于一个交互式电视系统上的一个系统和一种方法,用来调度从一个广播站到一个接收站间的,发送交互式电视应用模块。在一个实施例中,提供了一个模块列表和相应的开始时间,结束时间以及持续时间。由每个模块确定最早开始时间和最晚开始时间。先是根据最早开始时间,然后根据最晚开始时间划分列表中模块的优先级。一个有最早的最晚开始时间的模块被从下述模块中选出,这些模块有等于或早于一个当前时间的最早开始时间。被选的模块的一部分被调度。在一个模块的一部分被调度之后,此模块列表中的信息被更新,列表中的模块被重新排序,并且其它的模块被选来准备被调度。重复上述步骤直到所有的模块均已被调度。
Description
技术领域
本发明涉及一种调度方法,尤其涉及一种通过选择和调度有最高优先级的模块的部分从而来调度信息流的方法。
背景技术
交互式电视系统可以给观看者提供多种类型的服务。这些服务包括发送电视节目,交互式应用及类似的应用。交互式电视系统还可以记录观看者对系统呈现的视频及音频信息的反应。因此,交互式电视系统有许多销售、娱乐及教育方面的用途。
在一个交互式电视系统中,一个广播服务提供者产生一个交互式电视信号并传输给某一用户的电视机。交互式电视信号可包含一个由应用代码或控制信息组成的交互式部分,以及一个由一个电视节目组成的视听部分。广播服务提供者将视听及交互式部分结合到一个单独的信号用来发送到连接在用户电视机上的一个接收机上。此单独的信号一般说来,在发送之前会被压缩,然后通过广播信道发送,比如通过有线的电视线或者直接的卫星传输系统发送。
通过广播服务提供者发送的信号,通常会被一个连至观看者的电视的机顶盒所接收。机顶盒将交互式部分与视听部分分开,并解压缩信号各自的部分。机顶盒然后执行接收到的应用并将接收到的视听信息传给电视机。机顶盒还会在发送信息到电视机之前,将视听信息与由交互式应用产生的交互式音像相结合。交互式的音像会显示给观看者一些额外的信息,或提示他们输入。机顶盒可以通过一个调制解调器连接器或其它回路,将观看者的输入或其它信息提供给广播服务提供者。
交互式电视系统发送的交互式应用,电视节目和其它信息由一个或多个信息模块组成。这些模块通常被格式化为包,每一个包包含一部分模块信息。这些包被发给机顶盒,在那里它们重组为模块。一个模块的包可被连续发送,它们也可与包含其它模块的一部分的包交替发送。
一个简单的调度模块的发送的方法是,(大致)计算发送整个模块所需要的时间然后从计划好的发送时间中减去它。发送所持续的时间可由模块大小除以包的发送比特率确定。这种用来调度模块的方法要求为特定的模块保留广播信道并且连续的发送模块的包。这样做对于潜在的,需由系统发送的大量的包的调度存在着相当大的难度。
发明内容
大体上讲,本发明包含用来调度信息模块的发送的系统和方法。使用一个调度算法来排出模块的优先级并且选择一个最高优先级的将被调度的模块。每个模块的优先级基于相应的调度信号。因为当模块或模块各部分被调度时调度信号会发生改变,他们必须被定期更新并且重新计算模块的优先级。当选定一个模块被调度时,就确定经过多长时间后就必须重新计算并且只调度被选择的模块的相应的一部分。当反映模块调度的模块信息被更新且因而改变的优先级也被重新计算之后,一个新的模块被选定用来下一步调度。
一个实施例包含用于调度交互式电视应用模块的方法,包括:(a)检查模块条目列表,所述每个模块条目都有一个最小开始时间,一个最大开始时间时间和一个剩余持续时间;(b)对于每个所述模块条目,如果所述最小开始时间早于当前时间,则将所述最小开始时间设置为所述当前时间;(c)利用最早的最小开始时间对所述模块条目列表进行排序,并且在具有相同的最小开始时间的模块条目中,利用最早的最大开始时间进行排序;(d)选择所述模块条目列表中的一个第一条目;(e)确定用于调度所述第一条目的一部分的一段可用时间,其中所述可用时间包含下述两个差值中较小的一个:所述当前时间与最小开始时间晚于所述当前时间的所述模块条目的最早的最小开始时间之差;和所述第一模块条目的所述最大开始时间与最小开始时间等于所述当前时间的所述模块条目中的其它模块条目的最早的最大开始时间之差;(f)调度所述第一条目的所述部分,其中,如果所述第一条目的所述剩余持续时间大于或等于所述可用时间,则所述部分的大小被选择为等于所述可用时间;而如果(1)所述剩余持续时间小于所述可用时间、或者(2)所述当前时间等于所述第一条目的最大开始时间,则所述部分的大小被选择为等于所述第一条目的所述剩余持续时间;(g)从所述第一条目的所述剩余持续时间中减去所述部分的大小;(h)将所述部分的大小加入所述第一条目的所述最大开始时间;(i)将所述部分的大小加入所述当前时间;以及(j)重复(a)-(i)。
一个实施例包括一个调度装置。该调度装置实现于一个广播站上,而且被配置为可以确定将模块发给用户的那部分的大小和顺序。该调度装置包括:一个处理器;以及一个与所述的处理器相连的第一存储器,用于存储多个模块条目,每个所述模块条目都有一个相应的最小开始时间,一个最大开始时间,一个结束时间和一个持续时间;其中所述处理器用于:(a)检查模块条目列表,所述每个模块条目都有一个最小开始时间,一个最大开始时间和一个剩余持续时间;(b)对于每个所述模块条目,如果所述最小开始时间早于当前时间,则将所述最小开始时间设置为所述当前时间;(c)利用最早的最小开始时间对所述模块条目列表进行排序,并且在具有相同的最小开始时间的模块条目中,利用最早的最大开始时间进行排序;(d)选择所述模块条目列表中的一个第一条目;(e)确定用于调度所述第一条目的一部分的一段可用时间,其中所述可用时间包含下述两个差值中较小的一个:所述当前时间与最小开始时间晚于所述当前时间的所述模块条目中的最早的最小开始时间之差;和所述第一模块条目的所述最大开始时间与最小开始时间等于所述当前时间的所述模块条目中的其它模块条目的最早的最大开始时间之差;(f)调度所述第一条目的所述部分,其中,如果所述第一条目的所述剩余持续时间大于或等于所述可用时间,则所述部分的大小被选择为等于所述可用时间;而如果(1)所述剩余持续时间小于所述可用时间、或者(2)所述当前时间等于所述第一条目的最大开始时间,则所述部分的大小被选择为等于所述第一条目的所述剩余持续时间;(g)从所述第一条目的所述剩余持续时间中减去所述部分的大小;(h)将所述部分的大小加入所述第一条目的所述最大开始时间;(i)将所述部分的大小加入所述当前时间;以及(j)重复(a)-(i)。
一个实施例包括一个包括前述方法的计算机可读存储媒介。此存储媒介包括软盘,磁盘,光盘,RAM,ROM和闪存,等。此存储媒介录有程序指令可以用来控制一个计算机系统的操作的程序指令。程序指令可以由计算机系统来执行以引导计算机检查模块信息,对模块进行排序,选择高优先级的模块,调度至少部分模块并重新计算模块信息。这些步骤会被不断重复直到模块已全部被调度。
需要注意的是,本系统及方法的一些额外的实施例对于本领域的技术人员来说亦是显而易见的。此处所举的实施例是为了更好的说明而不是为了限制,并且认为任何对实施例的修改和修正都是在本发明的保护范围之内。
附图说明
本发明的其它的目的及优点将由附图及其详细的说明而更加明显。
图1为解释一个实施例所使用的一个交互式电视系统的方框图。
图2为解释一个实施例中的调度装置的信息流的图表。
图3为解释一个实施例的方法的流程图。
图4为解释一个模块的最小和最晚开始时间关系,以及模块的开始时间,结束时间和持续时间的图表。
图5为针对一个实例解释一个实施例的方法的时间表。
具体实施方式
虽然本发明允许有各种不同的修改及可选的形式,在附图里举例示出了具体的实施方式并将会得到详细的描述。然而,应该认为这里的附图和详细的描述并不是为了将本发明限制为某种形式,而是为了落入如所附的权利要求所定义的本发明的实质和范围的修改,等效及替换。
以下对本发明的一个实施例进行描述。本实施例包括一种用来调度一个模块组的方法,其中在某一时间内只能调度其中个模块组。此方法主要包括如下步骤:选择具有最高优先级的模块;调度此模块的至少一部分;以及重复上述步骤。下面集中描述了在一个交互式电视系统中实现其的方法。
模块的优先级基于每个模块的最早开始时间和最晚开始时间。具有早于或等于当前时间的模块可被调度。这些模块通过将它们每个的最早开始时间设置为当前时间,并且以最早开始时间不断增加的顺序对这些模块进行排列,由此这些模块被选定(其优先级基于它们的最早开始时间)。具有相同的最早开始时间的模块以最晚的开始时间不断增加的顺序进行排列。因此,模块列表中的第一模块应为可用模块中具有最早的最晚开始时间的一个。
被选定的模块的至少一部分被调度。对被选中的模块的部分进行调度会影响模块列表中的信息。对于被选模块,其剩余时间缩短而最晚开始时间增大了。对于列表中的其它模块,当前时间被提前了,并且如果一个模块的最早开始时间早于当前时间,其就会被更新为当前时间。因为列表中的信息已经发生了改变,模块的优先级可能也变了。所以列表需要被重新排序。正如以下所要详细解释的,该模块被调度的这部分是基于相应于列表中的没被选择的模块的信息而确定的。一般而言,计算出的此部分的大小大到足够要求模块列表可被重新排序。
如上所示,当被选模块的一部分被调度时,此模块的剩余时间减掉被调度的数量,并且在其最晚开始时间上加上被调度的数量。所以此信息必须在模块的这部分被调度后更新。当前时间亦加上了调度的数量。在此信息被更新后,可被调度模块的最早开始时间重又被设置为当前时间并且模块重又被排出优先级,这样另一模块(或其一部分)会选择被调度。此步骤会不断重复直至每个模块的全部都已被调度(如果一个或多个模块不能被调度,则会显示给用户一个错误提醒)。
在一实施例中,此方法实现于一个交互式电视系统上。如图1所示,一广播站12通过广播网络13与一个或多个接收站14-16相连。广播网络13包括任何用来发送广播信号的合适设备,包括卫星,电缆,电信,MMDSC(微波)及陆地传输媒介。将由广播站发至接收站的信息是由数据资源11提供的。数据资源可包括一个或多个单独的数据资源并且可以包括下述设备如视频或数据服务器,应用服务器,现场电视馈送及类似设备。因为数据资源11所提供的模块不能通过广播网络13一次就全部发送出去,而假定是受限制的,所以就有必要确定由数据资源提供的信息以何顺序发送到接收站。
参照图2,其示出了本方法的功能。如前所述,由数据资源提供的信息须经调度才能发送。在本实施例中,信息以多个模块的形式被提供。一个调度装置21接收一个输入的这些模块的列表22。列表中的每一项标识与每个模块相关的调度约束。调度装置21将列表中模块排出优先级并基于列表中每个模块的信息选择被调度的模块。调度装置产生一个调度23作为输出。调度23标识模块或模块的部分将以何顺序被发送以符合相关的调度约束。
参照图3,示出了以一个实施例说明本方法的流程图。在此实施例中,此方法通常包括下述步骤:根据相关的调度信息对模块列表进行排序;选择一个具有最早的最晚开始时间的可用模块;确定选定模块的哪部分被调度;调度该模块的该部分;重新计算列表中模块的调度信息;重复上述步骤直至所由模块都被调度。
如上所示,每个模块都有确定的与之相关联的调度信息。这个信息决定了每个模块被调度时所受的约束。在本实施例中,每个模块最初都有一个相应的开始时间,结束时间和持续时间。开始时间和结束时间决定了模块必须在其之内发送的一个时间窗口。换言之,发送模块的开始不能早于这个开始时间,其完成也不能晚于结束时间。
最初的模块持续时间由模块的大小和发送的比特率来决定。如果最初的持续时间大于开始时间和结束时间之间的差,则模块不可在给定的约束下进行调度。在这种情况下,用户被告知无法达到对此模块调度的限制,并且此模块被从进一步考虑中移去(例如不再试图调度该模块)。需提请注意的是,用户可以是一个人,一个客户端应用或其它一些需要调度错误通知的实体。如果最初的持续时间等于开始时间和结束时间之间的差,需调度为在开始时间时开始发送,并且为了全部落入允许的窗口,发送需持续到直至模块全部被发送完毕为止。如果最初的持续时间小于开始时间和结束时间之间的差,则有可能在该允许的窗口内调度此模块,或有可能其它模块。
在一个实施例中,保持在模块列表中的信息包括一个最早开始时间(MinBT)和一个最晚开始时间(MaxBT)。最早开始时间最初被设为开始时间(ST)。最晚开始时间最初被设定为结束时间(ET)减去持续时间(D):
MinBT=ST
MaxBT=ET-D
图4中对此有所说明。
大体上讲,模块列表由各自模块的最早开始时间和最晚开始时间来进行排序。然而在列表被排序之前,将最早开始时间与当前时间相比,若前者小于后者,则将前者设定为后者。这样,可用来调度的模块(例如已到达它们的最早开始时间的模块)只由它们的最晚开始时间被排出优先级(如在本申请中其它地方所解释的那样,当模块的一部分被调度时最早和最晚开始时间被重新计算并且列表被重新排序)。
因为模块先由最早开始时间后由最晚开始时间进行排序,在重新排序后的列表中的第一个模块是具有最早的最晚开始时间的可用的模块之一(如果两个可用的模块具有相同的最晚开始时间,它们可以进一步根据额外的标准比如预定的优先级,或简单地随机选定其中一个模块进行排序)。至少此第一模块的一部分被调度。如果模块的被调度部分有一持续时间P,则被调度模块的最晚开始时间须由此数量进行调整因为这样模块的剩余部分会有比最初的持续时间D更短的持续时间并且在结束时间之前需要更少的时间来发送。
因为模块的最晚开始时间已由P做出调整,模块列表的排序便不再有效。如果模块的部分小于最佳大小,则在不需要时会对列表进行重新计算和重新排序。如果模块的这部分大于最佳大小,一个具有更高优先级的模块将被留下不被调度,结果会无法达到它的调度约束。因此模块的被调度部分(及P的相应值)被选得足够大以至于列表必须被重新排序(除非模块的剩余部分小于此值,在这种情况下此模块的剩余部分被调度且此列表的下一模块被选定将被调度)。
因此,为了合适地调度被选定模块的该部分,必须确定该模块将被调度的数量(比如持续时间P)。在一个实施例中,可用来调度已选定的模块的这部分的数量是由从所有模块(包括那些还不可用的模块)的最早开始时间减去当前时间计算得出的。P的值即是由此方法算出的,因为直到达到了模块的最晚开始时间,这个模块才可以等待被调度。一旦到达最晚开始时间,模块的全部必须被调度。
在另一个实施例中,可以用来调度的持续时间是由对模块列表进行重新计算或重新排序的需要而决定的。如果下述两条满足其一,则需要重新计算和重新排序:一个新的模块变为可用的(即,它的最早开始时间早于或等于新的当前时间);或者另一个可用模块的最晚开始时间早于或等于被选定模块的最晚开始时间。所以,被选定模块的一部分被选定,其中P是下述两个差值中较小的一个:当前时间(在对该部分进行调度前)与不可用模块中的最早的最早开始时间之差;以及被选定模块的最晚开始时间与可用模块中的最早的最晚开始时间之差。
然而在另一实施例中,P可由两者中较小的一个选出:当前时间与不可用的模块中的最早的最早开始时间之间的差;以及选定模块的最晚开始时间与列表中下一个可用的模块的最晚开始时间之间的差,加1。此选定模块的额外单元(可以是一个包或一些其它的最小的调度单元)被调度,这样模块信息被更新之后,列表上的头两个模块不会有相同的最小和最晚开始时间。因此,若被选定的模块和下一个最高优先级的模块有相同的最小和最晚开始时间,则优先级给予那个已经被选定的模块。如果由某些情况,位于列表顶部的两个可用模块具有相同的最早和最晚开始时间,就需要选择被调度的部分从而使P具有至少一个预定的最小持续时间(比如1)。
一旦模块被选定的部分的数量被确定,它就可以被调度了。当模块的这个部分被调度时,所有模块的信息会被更新。如上所述,被选定模块的最晚开始时间被提前P那么多。如果被选定模块的全部已被调度,则此模块被从列表中移去。当前时间(CT)被提前到被调度的部分的结束时间(即CT=CT+P)。可用模块的最早开始时间被更新这样它们的最早开始时间等于当前时间。任何早先不可用模块因其最早开始时间早于或等于新的当前时间也由此方法被更新(比如MinBT=CT)。然后此列表被重排并且一个新的模块被选来被调度(需注意,“新”模块并非必需与先前所选模块不同——在重新计算和重新排序之后,同样的模块可以还是模块中的第一个)。上述步骤被重复直至全部的模块都被调度。
在一个实施例中,此方法可以作为一个预调度的机制被实现。换言之,在开始发送之前,所有模块的信息可以被编辑并作为一个输入被提供给使用此方法调度装置。调度装置然后就可以产生发送此模块的时间表。此时间表可被用来控制模块发送的顺序和数量。这种实现方式允许用户可以识别出可能出现的任何的调度的问题(所述模块的持续时间超过开始时间之间的差)并更正这一问题(例如通过修正一个或多个模块的调度约束)。需要注意的是,特别是在预调度模块的实施例中,“当前”时间通常不是做计算时的时间,而是相应于已被调度的模块(或是模块的部分)的结束时间。
在另一个实施例中,此方法可以作为一个实时调度的机制被实现。比如说,一个交互式电视系统的广播站的调度装置可以被设置为即使在其它模块正被发送时,也接受模块的请求,识别任何调度约束并调度这些模块。调度装置可被设置为在被要求时将新要求的模块加入列表,并重新计算/重新排列列表,或者该重新计算或重新排序可在由列表中先前包括的信息所确定的时间执行。实时调度和预调度实施例都可由软件应用轻易实现。
对此方法的操作可由下述简单的例子阐明。假定给出的三个模块是要被调度的。第一个模块的开始时间为0,结束时间为14,持续时间为4(在此例中,时间和持续时间为简单起见均无单位)。第二个模块的开始时间为5,结束时间为17,持续时间为10。第三个模块的开始时间为2,结束时间为16,持续时间为3。模块的最早开始时间最初等于它们的起始时间。它们的最晚开始时间等于它们的结束时间减去各自的持续时间(第一个模块的最晚开始时间为10,第二个模块的为7,第三个模块的为13)。所以最初的模块列表包含下列信息:
当前时间=0(A点) | 最早开始时间 | 最晚开始时间 | 剩余持续时间 |
模块1 | 0 | 10 | 4 |
模块3 | 2 | 13 | 3 |
模块2 | 5 | 7 | 10 |
在看此例时,参考图5会有所帮助。图5描述了根据模块的调度的一个时间表。下面每一张图表都分别示出了表上标出的对应于时间轴上不同当前时间的点(A-E)的模块列表。
当当前时间为0时,只有一个模块(模块1)一个小于或等于当前时间的最早开始时间。所以模块1被选定调度。有一个持续时长2的一部分模块可被调度,这是因为直到那时为止没有其它模块可被调度。模块1的一部分被调度后,模块的信息必须被更新。进一步讲,最晚开始时间加上了被调度的部分的数量(最晚开始时间=最晚开始时间+P),并且剩余的持续时间减去相同的量(持续时间=持续时间-P)。通过加P当前时间亦被更新。然后列表根据最早和最晚开始时间被重排,这样在当前时间为2时,此表显示为:
当前时间=2(A点) | 最早开始时间 | 最晚开始时间 | 剩余持续时间 |
模块1 | 2 | 12 | 2 |
模块3 | 2 | 13 | 3 |
模块2 | 5 | 7 | 10 |
因为模块1还是列表中的第一个模块,所以它再次被选定调度。然而这一次,被调度部分的持续时间是由以下两者中的较小者所确定的:当前时间与不可用模块中的最早的最早开始时间之差(即,3);以及选定的模块的最晚开始时间与可被调度的模块的最早的最晚开始时间之差(即,5)。虽然一次也可以调度模块1的多至三个单元,此模块只有长为2的剩余持续时间。所以全部的剩余部分均被调度并从列表中移去。当前时间被更新后(当前时间=当前时间+2=4),模块的信息被更新并且列表被重排:
当前时间=4(B点) | 最早开始时间 | 最晚开始时间 | 剩余持续时间 |
模块1 | -- | -- | -- |
模块3 | 4 | 13 | 3 |
模块2 | 5 | 7 | 10 |
因为另一个模块(模块2)会在一个时间单位中变得可用,持续时长为1的一部分的模块3被调度。模块列表被更新并重排后,它显示为:
当前时间=5(C点) | 最早开始时间 | 最晚开始时间 | 剩余持续时间 |
模块1 | -- | -- | -- |
模块2 | 5 | 7 | 10 |
模块3 | 5 | 14 | 2 |
因为模块2有一个在前的最晚开始时间,所以它有比模块3更高的优先级。因为没有额外的模块还可能被调度了,所以模块2被调度部分的允许持续时间主要由本模块和下一个最近的模块的最晚开始时间之差来决定(比如,14-7=7)。因为调度具有持续时长为7的模块2的一部分会导致模块2和模块3的最小和最晚开始时间变得相同,所以选定被调度的部分的持续时长为8。在模块2的此部分被调度之后,更新和排序以后的列表如下所示:
当前时间=13(D点) | 最早开始时间 | 最晚开始时间 | 剩余持续时间 |
模块1 | -- | -- | -- |
模块3 | 13 | 14 | 2 |
模块2 | 13 | 15 | 2 |
现在模块3有了比模块2高的优先级,并被选定调度。P被选定为2(同上所述理由)。因为模块3的剩余持续时长为2,模块全部剩余部分可被调度,然后模块被从列表中移去,如下所示:
当前时间=15(E点) | 最早开始时间 | 最晚开始时间 | 剩余持续时间 |
模块1 | -- | -- | -- |
模块3 | -- | -- | -- |
模块2 | 15 | 15 | 2 |
模块2,作为列表中仅存的模块现亦被调度。因为还没有超过最晚的开始时间,模块的剩余部分可以在它允许的时间窗口内被成功调度。
前述步骤的结果为下述步骤:
时间 | 模块 | 被调度的数量 |
0 | 1 | 2 |
2 | 1 | 2 |
4 | 3 | 1 |
5 | 2 | 8 |
13 | 3 | 2 |
15 | 2 | 2 |
由上参照具体实施例对本发明进行了描述,可以理解所有实施例均是说明性的并且本发明的范围不受实施例的限制。很多对所述实施例的改变,修正,补充及改进都是可能的。上述这些改变,修正,补充及改进都被认为属于权利要求所保护的如本发明范围之内。
Claims (5)
1.一种用于调度交互式电视应用模块的方法,包括
(a)检查模块条目列表,所述每个模块条目都有一个最小开始时间,一个最大开始时间和一个剩余持续时间;
(b)对于每个所述模块条目,如果所述最小开始时间早于当前时间,则将所述最小开始时间设置为所述当前时间;
(c)利用最早的最小开始时间对所述模块条目列表进行排序,并且在具有相同的最小开始时间的模块条目中,利用最早的最大开始时间进行排序;
(d)选择所述模块条目列表中的一个第一条目;
(e)确定用于调度所述第一条目的一部分的一段可用时间,其中所述可用时间包含下述两个差值中较小的一个:
所述当前时间与最小开始时间晚于所述当前时间的所述模块条目的最早的最小开始时间之差;和
所述第一模块条目的所述最大开始时间与最小开始时间等于所述当前时间的所述模块条目中的其它模块条目的最早的最大开始时间之差;
(f)调度所述第一条目的所述部分,其中,
如果所述第一条目的所述剩余持续时间大于或等于所述可用时间,则所述部分的大小被选择为等于所述可用时间;而
如果(1)所述剩余持续时间小于所述可用时间、或者(2)所述当前时间等于所述第一条目的最大开始时间,则所述部分的大小被选择为等于所述第一条目的所述剩余持续时间;
(g)从所述第一条目的所述剩余持续时间中减去所述部分的大小;
(h)将所述部分的大小加入所述第一条目的所述最大开始时间;
(i)将所述部分的大小加入所述当前时间;以及
(j)重复(a)-(i)。
2.如权利要求1所述的方法,其中所述部分的大小被选择为不大于预定的最大持续时间。
3.如权利要求1所述的方法,其中每个模块条目的所述最小开始时间最初被设置成为所述每个模块条目而标识的一个开始时间。
4.权利要求1所述的方法,还包括:发送从所述多个模块条目中选择的所述一个模块条目的所述部分。
5.如权利要求1所述的方法,还包括:对于所述多个模块条目中的任何一个,如果所述任何一个模块条目的持续时间大于所述任何一个模块条目的结束时间减去所述当前时间,就会显示一个错误。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/476,722 | 1999-12-30 | ||
US09/476,722 US6738972B1 (en) | 1999-12-30 | 1999-12-30 | Method for flow scheduling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1415166A CN1415166A (zh) | 2003-04-30 |
CN1237801C true CN1237801C (zh) | 2006-01-18 |
Family
ID=23892986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00817939.5A Expired - Fee Related CN1237801C (zh) | 1999-12-30 | 2000-12-27 | 流程调度的方法 |
Country Status (12)
Country | Link |
---|---|
US (1) | US6738972B1 (zh) |
EP (1) | EP1243139B1 (zh) |
JP (1) | JP4718743B2 (zh) |
CN (1) | CN1237801C (zh) |
AT (1) | ATE261641T1 (zh) |
AU (1) | AU784891B2 (zh) |
BR (1) | BR0016885A (zh) |
CA (1) | CA2396097A1 (zh) |
DE (1) | DE60008928T2 (zh) |
DK (1) | DK1243139T3 (zh) |
ES (1) | ES2213069T3 (zh) |
WO (1) | WO2001050759A2 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100193B2 (en) * | 2000-03-29 | 2006-08-29 | Intellocity Usa, Inc. | Rate controlled insertion of asynchronous data into a synchronous stream |
US20020157103A1 (en) * | 2000-01-07 | 2002-10-24 | Deyang Song | Method for digital media playback in a broadcast network |
US20020156669A1 (en) * | 2000-06-27 | 2002-10-24 | Verhaegh Wilhelmus Franciscus Johannes | Method of determining a schedule, scheduler and system |
US7150017B1 (en) * | 2000-08-29 | 2006-12-12 | International Business Machines Corporation | System and method for scheduling digital information transmission and retransmission on a network during time slots |
US7403994B1 (en) * | 2000-08-29 | 2008-07-22 | International Business Machines Corporation | Method of doing business over a network by transmission and retransmission of digital information on a network during time slots |
KR100524763B1 (ko) * | 2003-07-23 | 2005-10-31 | 엘지전자 주식회사 | 개선된 edf 스케쥴링 방법 |
US7289996B2 (en) * | 2004-09-09 | 2007-10-30 | International Business Machines Corporation | Data transmission management |
WO2006035404A1 (en) * | 2004-09-30 | 2006-04-06 | Koninklijke Philips Electronics N.V. | Detection of new software image for download for digital/hybird tv during play mode |
GB2425012A (en) * | 2005-04-08 | 2006-10-11 | Quadriga Technology Ltd | Ranking data files for scheduling transmission |
US8726325B2 (en) * | 2005-08-08 | 2014-05-13 | Telvue Corporation | Method and apparatus for scheduling delivery of video and graphics |
WO2007024233A1 (en) * | 2005-08-26 | 2007-03-01 | Thomson Licensing | On demand system and method using dynamic broadcast scheduling |
DE102007006432B4 (de) * | 2007-02-05 | 2010-07-08 | Arndt-Helge Grap | Vorrichtung und Verfahren zur Bereitstellung von Daten |
US20090094248A1 (en) * | 2007-10-03 | 2009-04-09 | Concert Technology Corporation | System and method of prioritizing the downloading of media items in a media item recommendation network |
CN101414958B (zh) * | 2007-10-18 | 2011-02-09 | 华为技术有限公司 | 一种业务调度方法及装置 |
US20100169918A1 (en) * | 2008-12-30 | 2010-07-01 | Biesemeyer Ralph E | Community Programmed Television |
JP2011211650A (ja) * | 2010-03-30 | 2011-10-20 | Oki Electric Industry Co Ltd | 告知放送サーバ及び告知端末 |
CN102196299B (zh) * | 2011-05-31 | 2018-04-27 | 中兴通讯股份有限公司 | 同时发送或接收多条图文视频紧急广播消息的方法及系统 |
WO2013064907A2 (en) * | 2011-11-03 | 2013-05-10 | Marvell World Trade Ltd. | Method and apparatus for arbitration of time-sensitive data transmissions |
CN103561195A (zh) * | 2013-11-11 | 2014-02-05 | 西安诺瓦电子科技有限公司 | 媒体播放时段调度方法 |
US9454342B2 (en) | 2014-03-04 | 2016-09-27 | Tribune Digital Ventures, Llc | Generating a playlist based on a data generation attribute |
US9431002B2 (en) | 2014-03-04 | 2016-08-30 | Tribune Digital Ventures, Llc | Real time popularity based audible content aquisition |
US9798509B2 (en) | 2014-03-04 | 2017-10-24 | Gracenote Digital Ventures, Llc | Use of an anticipated travel duration as a basis to generate a playlist |
US20150334170A1 (en) * | 2014-05-19 | 2015-11-19 | Tribune Digital Ventures, Llc | Use of a remainder duration as a basis to generate a playlist |
US9959343B2 (en) | 2016-01-04 | 2018-05-01 | Gracenote, Inc. | Generating and distributing a replacement playlist |
US10419508B1 (en) | 2016-12-21 | 2019-09-17 | Gracenote Digital Ventures, Llc | Saving media for in-automobile playout |
US10565980B1 (en) | 2016-12-21 | 2020-02-18 | Gracenote Digital Ventures, Llc | Audio streaming of text-based articles from newsfeeds |
US10019225B1 (en) | 2016-12-21 | 2018-07-10 | Gracenote Digital Ventures, Llc | Audio streaming based on in-automobile detection |
CN107609803B (zh) * | 2017-10-27 | 2021-03-26 | 国网河南省电力公司商丘供电公司 | 一种网络用户需求调度方法及装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701582A (en) * | 1989-08-23 | 1997-12-23 | Delta Beta Pty. Ltd. | Method and apparatus for efficient transmissions of programs |
US5168356A (en) | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
US5210872A (en) * | 1991-06-28 | 1993-05-11 | Texas Instruments Inc. | Critical task scheduling for real-time systems |
US5394548A (en) * | 1992-10-09 | 1995-02-28 | Fujitsu Limited | Multi-media scheduling system |
US5592626A (en) * | 1994-02-07 | 1997-01-07 | The Regents Of The University Of California | System and method for selecting cache server based on transmission and storage factors for efficient delivery of multimedia information in a hierarchical network of servers |
US5473773A (en) * | 1994-04-04 | 1995-12-05 | International Business Machines Corporation | Apparatus and method for managing a data processing system workload according to two or more distinct processing goals |
JP3658420B2 (ja) * | 1994-04-14 | 2005-06-08 | 株式会社日立製作所 | 分散処理システム |
US5581706A (en) | 1994-06-30 | 1996-12-03 | Rca Thomson Licensing Corporation | Method forming an audio/video interactive data signal |
FR2723653B1 (fr) * | 1994-08-11 | 1996-09-13 | Cegelec | Procede pour ordonnancer des taches successives qui ne subissent que des contraintes du type delais |
US5712976A (en) | 1994-09-08 | 1998-01-27 | International Business Machines Corporation | Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes |
US5675739A (en) * | 1995-02-03 | 1997-10-07 | International Business Machines Corporation | Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types |
US5787482A (en) * | 1995-07-31 | 1998-07-28 | Hewlett-Packard Company | Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window |
US5832262A (en) * | 1995-09-14 | 1998-11-03 | Lockheed Martin Corporation | Realtime hardware scheduler utilizing processor message passing and queue management cells |
JPH09261617A (ja) | 1996-01-19 | 1997-10-03 | Matsushita Electric Ind Co Ltd | オンデマンド通信システム |
US5832208A (en) * | 1996-09-05 | 1998-11-03 | Cheyenne Software International Sales Corp. | Anti-virus agent for use with databases and mail servers |
US5951698A (en) * | 1996-10-02 | 1999-09-14 | Trend Micro, Incorporated | System, apparatus and method for the detection and removal of viruses in macros |
US5951646A (en) | 1996-11-25 | 1999-09-14 | America Online, Inc. | System and method for scheduling and processing image and sound data |
US6317774B1 (en) * | 1997-01-09 | 2001-11-13 | Microsoft Corporation | Providing predictable scheduling of programs using a repeating precomputed schedule |
JPH10301793A (ja) * | 1997-04-30 | 1998-11-13 | Toshiba Corp | 情報処理装置及びスケジューリング方法 |
JPH1153194A (ja) * | 1997-07-31 | 1999-02-26 | Matsushita Electric Ind Co Ltd | プログラムダウンロードシステム |
US6571391B1 (en) * | 1998-07-09 | 2003-05-27 | Lucent Technologies Inc. | System and method for scheduling on-demand broadcasts for heterogeneous workloads |
US6374405B1 (en) * | 1999-02-17 | 2002-04-16 | Opentv, Corp. | Module scheduling with a time interval and ending time |
JP4460712B2 (ja) * | 1999-06-11 | 2010-05-12 | パナソニック株式会社 | デジタル放送送出装置 |
US6378052B1 (en) * | 1999-08-11 | 2002-04-23 | International Business Machines Corporation | Data processing system and method for efficiently servicing pending requests to access a storage system |
-
1999
- 1999-12-30 US US09/476,722 patent/US6738972B1/en not_active Expired - Lifetime
-
2000
- 2000-12-27 CN CN00817939.5A patent/CN1237801C/zh not_active Expired - Fee Related
- 2000-12-27 DE DE60008928T patent/DE60008928T2/de not_active Expired - Lifetime
- 2000-12-27 CA CA002396097A patent/CA2396097A1/en not_active Abandoned
- 2000-12-27 WO PCT/US2000/035640 patent/WO2001050759A2/en active IP Right Grant
- 2000-12-27 BR BR0016885-8A patent/BR0016885A/pt not_active IP Right Cessation
- 2000-12-27 ES ES00990411T patent/ES2213069T3/es not_active Expired - Lifetime
- 2000-12-27 AU AU27440/01A patent/AU784891B2/en not_active Ceased
- 2000-12-27 JP JP2001551012A patent/JP4718743B2/ja not_active Expired - Fee Related
- 2000-12-27 EP EP00990411A patent/EP1243139B1/en not_active Expired - Lifetime
- 2000-12-27 DK DK00990411T patent/DK1243139T3/da active
- 2000-12-27 AT AT00990411T patent/ATE261641T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ES2213069T3 (es) | 2004-08-16 |
ATE261641T1 (de) | 2004-03-15 |
WO2001050759A2 (en) | 2001-07-12 |
CA2396097A1 (en) | 2001-07-12 |
EP1243139B1 (en) | 2004-03-10 |
DK1243139T3 (da) | 2004-04-13 |
AU2744001A (en) | 2001-07-16 |
AU784891B2 (en) | 2006-07-20 |
WO2001050759A3 (en) | 2001-12-20 |
JP2003519984A (ja) | 2003-06-24 |
US6738972B1 (en) | 2004-05-18 |
BR0016885A (pt) | 2002-10-01 |
JP4718743B2 (ja) | 2011-07-06 |
CN1415166A (zh) | 2003-04-30 |
EP1243139A2 (en) | 2002-09-25 |
DE60008928D1 (de) | 2004-04-15 |
DE60008928T2 (de) | 2005-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1237801C (zh) | 流程调度的方法 | |
EP1014620A1 (en) | Data transmission control method, data transmission method, data transmitter, and receiver | |
US20070195724A1 (en) | Method and apparatus for transmitting broadcasting data with a plurality of information | |
CN100352277C (zh) | 动态预约调度媒体播控系统资源分配方法 | |
CN1228217A (zh) | 在多优先级中实现共享争用小时隙的系统,设备和方法 | |
CN1195438A (zh) | 用于分配多个用户间的共享带宽的方法和装置 | |
WO2002082700A2 (en) | Methods and systems for insertion of supplemental video and audio content | |
US7487526B2 (en) | Method for object retransmission without a continuous network connection in a digital media distributor system | |
EP1622294A2 (en) | Differential update for data broadcasting | |
CN116567170A (zh) | 一种云平台的视频超分辨率并行调度方法、装置及云平台 | |
EP1684452A2 (en) | Receiving terminal with storage management | |
CN107171974B (zh) | 一种广告机共享资源的方法及装置 | |
MX2010008145A (es) | Procedimiento de difusion de datos digitales. | |
US8966111B2 (en) | Methods and apparatus for service planning and analysis | |
CN1537387A (zh) | 由用户、终端和服务器提出发送音频-视频节目的方法 | |
US8136007B1 (en) | Adaptive error correction | |
CN1228725C (zh) | 传输数据内容的系统和方法 | |
CN1901652A (zh) | 录制节目的移动通信终端、方法及广播信息传输系统 | |
US20060242670A1 (en) | Circuit arrangement and method for digital elevision reception in mobile television receivers | |
CN1344397A (zh) | 用于在多个与会者之间共享文献的系统和方法 | |
CN1237807C (zh) | 将节目发送到客户终端的方法、系统和用作客户终端的装置 | |
CN1521966A (zh) | 用数字音频广播(dab)接收机重建多媒体对象数据的方法 | |
CN113940086A (zh) | 具有广播调度利用特征的内容修改系统 | |
EP1753237B1 (en) | Scheduling for Internet Protocol Television Broadcast | |
JP2003032251A (ja) | 配信スケジューリング装置、配信スケジューリング方法、その方法をコンピュータに実行させるためのプログラムおよび配信スケジュール評価方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060118 Termination date: 20171227 |