CN106416273A - 对媒体内容的发送和接收进行调度的方法、设备和系统 - Google Patents
对媒体内容的发送和接收进行调度的方法、设备和系统 Download PDFInfo
- Publication number
- CN106416273A CN106416273A CN201580026989.6A CN201580026989A CN106416273A CN 106416273 A CN106416273 A CN 106416273A CN 201580026989 A CN201580026989 A CN 201580026989A CN 106416273 A CN106416273 A CN 106416273A
- Authority
- CN
- China
- Prior art keywords
- media content
- server
- client
- network connections
- schedule information
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了由客户端对媒体内容的接收执行调度的方法,该方法包括:确定允许在客户端与服务器之间接收媒体内容的多个网络连接;预测这样一种缓冲定时,即在缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以客户端的缓冲器尺寸为单位被接收的媒体内容片段;生成用于在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度信息;以及向服务器发送所生成的调度信息。
Description
技术领域
本公开涉及对媒体内容的发送和接收进行调度的方法、设备和系统,更具体地,涉及在客户端处对媒体内容的接收进行调度的方法及该客户端、在服务器处对媒体内容的发送进行调度的方法及该服务器、在第二服务器处对媒体内容的发送和接收进行调度的方法及该第二服务器、以及对媒体内容的发送和接收进行调度的系统。
背景技术
随着无线通信网络的发展,可以从服务器向用户提供各种类型的媒体内容并且用户可以使用媒体内容。通过流化从服务器向用户设备发送媒体内容。当流化媒体内容时,缓冲媒体内容所需要的时间是用于确定关于提供媒体内容的质量的重要因素之一。
当前,已进行许多研究以减少当流化媒体内容时缓冲媒体内容所需要的时间。具体地,正在积极地研发高效地对通过服务器与用户终端之间的至少一个网络连接所发送和接收的媒体内容进行调度的方法。
发明内容
技术问题
本公开提供用于在客户端与服务器之间的媒体内容发送和接收中、通过对从服务器向客户端发送的媒体内容进行调度来对媒体内容的发送和接收进行调度以降低客户端接收媒体内容所需要的时间的方法、设备和系统。
解决方案
公开了由客户端对媒体内容的接收执行调度的方法,该方法包括:确定允许在客户端与服务器之间接收媒体内容的多个网络连接;预测缓冲定时,其中在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收以客户端的缓冲器尺寸为单位被接收的媒体内容片段;生成用于在所预测的缓冲定时将要分配给所述一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度信息;以及向服务器发送所生成的调度信息。
附图说明
图1是示出根据实施方式用于对媒体内容的发送和接收进行调度的系统的概念图;
图2是示出根据实施方式用于在客户端处对媒体内容的接收执行调度的方法的流程图;
图3是示出根据实施方式在客户端处通过预测对媒体内容的接收的调度效果来确定是否执行调度的方法的流程图。
图4是描述根据实施方式在客户端处基于缓冲器尺寸和多个网络连接的数量来预测接收媒体内容所需要的时间的方法的图表;
图5是描述根据实施方式在客户端处通过使用查找表来生成调度信息的方法的图;
图6是示出根据实施方式在客户端处基于所生成的调度信息从服务器接收媒体内容的方法的流程图;
图7是根据实施方式用于对媒体内容的接收进行调度的客户端的框图;
图8是描述根据实施方式在服务器处对媒体内容的发送进行调度的方法的流程图;
图9是描述根据实施方式在服务器处通过使用查找表来对媒体内容的发送进行调度的方法的图;
图10是示出根据实施方式在服务器处确定是否存在调度效果以及基于确定结果来执行调度的方法的流程图。
图11是根据实施方式用于对媒体内容的发送进行调度的服务器的框图;
图12是描述根据实施方式用于对媒体内容的发送和接收进行调度的系统的概念图;
图13是示出根据实施方式在第二服务器处生成用于接收媒体内容的调度信息的方法的流程图;
图14是描述根据实施方式在第二服务器处通过使用查找表来对媒体内容的发送和接收进行调度的方法的图;
图15是示出根据本公开实施方式在对媒体内容的发送和接收执行调度的情况下在第二服务器处确定是否存在调度效果的方法的流程图;以及
图16是根据实施方式用于对媒体内容的发送和接收进行调度的第二服务器的框图。
具体实施方式
根据实施方式由客户端对媒体内容的接收执行调度的方法包括:确定允许在客户端与服务器之间接收媒体内容的多个网络连接;预测这样的缓冲定时,在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以客户端的缓冲器尺寸为单位被接收的媒体内容片段;生成用于在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度信息;以及向服务器发送所生成的调度信息。
根据实施方式在由客户端对媒体内容的接收执行调度的方法中,如果媒体内容片段被分配给一些网络连接,则调度信息可包括用于改变媒体内容片段的尺寸的请求。
根据实施方式在由客户端对媒体内容的接收执行调度的方法中,调度信息可包括可分配给多个网络连接中的每一个的片段的片段尺寸信息。
根据实施方式在由客户端对媒体内容的接收执行调度的方法中,生成调度信息可包括比较第一接收时间与第二接收时间,其中在第一接收时间中通过一些网络连接来接收媒体内容片段,在第二接收时间中通过多个网络连接接收媒体内容片段;以及发送所生成的调度信息可包括:基于第一接收时间与第二接收时间的比较的结果发送所生成的调度信息。
根据实施方式在由客户端对媒体内容的接收执行调度的方法中,发送调度请求还可包括:在第一接收时间比第二接收时间大出阈值的情况下,向服务器传递调度请求。
根据实施方式在由客户端对媒体内容的接收执行调度的方法中,生成调度信息可包括:从查找表提取与媒体内容片段的尺寸有关的片段尺寸信息,其中所述查找表限定多个网络连接的数量与缓冲器尺寸之间的关系以及分配给多个网络连接中的每一个的媒体内容片段的尺寸。
根据实施方式由客户端对媒体内容的接收执行调度的方法还可包括:基于所发送的调度信息接收媒体内容。
在根据实施方式由客户端对媒体内容的接收执行调度的方法中,接收媒体内容可包括:基于由服务器生成的调度信息接收由于对媒体内容片段进行分割而生成的子片段。
在根据实施方式由客户端对媒体内容的接收执行调度的方法中,接收子片段可包括:从多个网络连接中的每一个数量相同的至少一个子片段。
在根据实施方式由客户端对媒体内容的接收执行调度的方法中,接收至少一个子片段可包括:如果多个网络连接的数据传输速率不同,则基于多个网络连接的数据传输速率的比率,确定分配给多个网络连接中的每一个的子片段的数量。
根据实施方式由服务器对媒体内容的发送执行调度的方法可包括:确定允许在客户端与服务器之间接收媒体内容的多个网络连接;预测缓冲定时,在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以客户端的缓冲器尺寸为单位被接收的媒体内容片段;以及执行调度以在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个。
根据实施方式由第二服务器对媒体内容的发送和接收执行调度的方法包括:确定允许在客户端与第一服务器之间接收媒体内容的多个网络连接;预测缓冲定时,在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以客户端的缓冲器尺寸为单位被接收的媒体内容片段;生成用于在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度信息;以及向第一服务器发送所生成的调度信息。
根据实施方式用于对媒体内容的接收进行调度的客户端包括控制器、调度器和通信器,其中,控制器配置为确定允许在客户端与服务器之间接收媒体内容的多个网络连接;调度器配置为预测通过所确定的多个网络连接中的一些网络连接来接收将以客户端的缓冲器尺寸为单位被接收的媒体内容片段的缓冲定时,以及生成用于在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度信息;通信器配置为向服务器发送所生成的调度信息。
根据实施方式对媒体内容的发送进行调度的服务器包括控制器和调度器,其中,控制器配置为确定允许在客户端与服务器之间接收媒体内容的多个网络连接;调度器配置为预测通过所确定的多个网络连接中的一些网络连接来接收将以客户端的缓冲器尺寸为单位被接收的媒体内容片段的缓冲定时,以及执行用于在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度。
根据实施方式对媒体内容的发送和接收进行调度的第二服务器包括控制器、调度器和通信器,控制器配置为确定允许在客户端与第一服务器之间接收媒体内容的多个网络连接;调度器配置为预测通过所确定的多个网络连接中的一些网络连接来接收将以客户端的缓冲器尺寸为单位被接收的媒体内容片段的缓冲定时,以及生成用于在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度信息;通信器配置为向第一服务器发送所生成的调度信息。
根据实施方式用于对媒体内容的发送和接收进行调度的系统执行:预测通过所确定的多个网络连接中的一些网络连接来接收将以客户端的缓冲器尺寸为单位被接收的媒体内容片段的缓冲定时;生成用于在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度信息;向服务器发送所生成的调度信息;以及基于所发送的调度信息来发送经分割的媒体内容片段。
具体实施方式
将简要描述本文使用的术语,并且将详细描述本公开。
虽然出于本公开的功能考虑,在本公开中使用的术语选择为当前通常使用的普通术语,但是这些术语可以根据本领域普通技术人员的意图、司法先例或新技术的引入而改变。另外,在具体情况中,申请人可以自主选择术语,并且在该情况中在本公开的对应描述部分中公开该术语的含义。因此,在本公开中使用的术语不应由术语的简单名称限定而是由术语的含义以及本公开通篇的内容来限定。
贯穿本公开的整个说明书,如果假设某一部分包括某一组件,则术语“包括”意味着对应的组件还可包括其他组件,除非记载与对应组件相反的特定含义。在实施方式中使用的术语如“单元”或“模块”指示用于处理至少一个功能或操作的单元,并且可以实现为硬件、软件或硬件和软件的组合。
在下文中,将参考附图来详细描述本公开的实施方式以允许本领域普通技术人员容易地执行实施方式。然而,本公开可以实现为各种形式,而不限于本文描述的实施方式。为了清楚地描述本公开,从附图中省略了与描述无关的部分,而且在说明书通篇,相同的附图标记涉及相同的部分。
图1是描述根据实施方式用于对媒体内容的发送和接收进行调度的系统10的概念图。参考图1,用于对媒体内容的发送和接收进行调度的系统10(下文中称为“调度系统”)可包括客户端设备100和服务器200。
图1所示的调度系统10包括与当前实施方式有关的元件。因此,本领域普通技术人员要理解,除了图1所示的元件之外,调度系统10中还可包括通用元件。
根据实施方式,客户端100向服务器200发送数据并且从服务器200接收数据。例如,客户端100向服务器200发送媒体内容并且从服务器200接收媒体内容。但是,这仅仅是示例,并且客户端100可以与除了服务器200之外的设备(诸如代理服务器)通信。客户端100可向服务器200发送以及从服务器200接收的数据不限于媒体内容,但是在本文中,为了方便起见将数据描述为媒体内容。
客户端100通过多个网络连接50以流化方式从服务器200接收媒体内容。客户端100可包括能够存储媒体内容的缓冲器,从而以流化方式从服务器200接收媒体内容。但是,这仅仅是示例,并且能够存储媒体内容的缓冲器可以位于客户端100外部。
客户端100还生成用于在服务器200处对媒体内容的发送进行调度的调度信息。根据实施方式,客户端100可以基于与服务器200的多个网络连接50的数量或者客户端100的缓冲器尺寸来生成调度信息。将参考图2详细描述在客户端100处生成调度信息的方法。
客户端100可以实现为各种形式。例如,本文描述的客户端100可以但不限于是蜂窝电话、智能电话、膝上型电脑、平板个人计算机(PC)等。
根据实施方式,服务器200向客户端100发送媒体内容。服务器200通过服务器200与客户端100之间的多个网络连接50向客户端100发送存储在服务器200内部或外部的媒体内容。
服务器200根据基于多个网络连接50的数量或客户端100的缓冲器尺寸生成的调度信息,向客户端100发送媒体内容。例如,当根据所生成的调度信息向客户端100发送媒体内容时,服务器200可以确定作为媒体内容的发送单位的片段尺寸。将参考图2到4详细描述在服务器200处根据所生成的调度信息向客户端100发送媒体内容的方法。
根据实施方式,可由客户端100生成调度信息并且向服务器200发送该调度信息。但是,这仅仅是示例性实施方式并且本公开不限于该实施方式。根据另一个实施方式,由服务器200基于与服务器200的多个网络连接50的数量或者客户端100的缓冲器尺寸生成调度信息。根据另一个实施方式,服务器200获得由另一个设备(诸如代理服务器)基于与服务器200的多个网络连接50的数量或者客户端100的缓冲器尺寸所生成的调度信息。
图2是示出根据实施方式用于在客户端100处向服务器200发送用于接收媒体内容的调度信息的方法的流程图。
在操作S210中,客户端100确定允许在客户端100与服务器200之间接收媒体内容的多个网络连接50。客户端100监视在客户端100与服务器200之间建立的网络的状态,以确定将客户端100与服务器200连接的多个网络连接50。客户端100获得与所确定的多个网络连接50的数量有关的信息。
在操作S220中,客户端100预测将通过所确定的多个网络连接50中的一些网络连接来接收将以客户端100的缓冲器尺寸为单位被接收的媒体内容片段的缓冲定时。
如果客户端100通过流化从服务器200接收媒体内容,则客户端100可以在进入缓冲模式之后接收与缓冲器尺寸相对应的媒体内容,随后切换到播放模式。客户端100基于缓冲器尺寸和多个网络连接50的数量预测在缓冲模式中接收媒体内容所需要的时间。
客户端100确定片段是否分配给与服务器200的相应的多个网络连接50。这里,片段可以是从服务器200到客户端100的媒体内容的发送单位。但是,这仅仅是示例性实施方式,并且媒体内容的发送单位不限于片段。
与到多个网络连接50中的一些网络连接的片段分配相比,到客户端100与服务器200之间的相应多个网络连接50的片段分配用于接收媒体内容的时间可能更短
下文中,将参考图4给出基于缓冲器尺寸和多个网络连接50的数量来预测接收媒体内容所需要的时间的方法的详细描述。
图4(a)示出在客户端100与服务器200之间的多个网络连接的数量是4且6个预设尺寸的片段被发送的情况下,与客户端100接收片段所需要的时间有关的图表。此处,6个预设尺寸的片段在客户端100从缓冲模式切换到播放模式之前被接收,并且这6个预设尺寸的片段的尺寸可与客户端100的缓冲器尺寸对应。
参考图4的(a)中所示的图表,需要从缓冲模式切换到播放模式的片段在单位时间U期间被分配给多个网络连接(第一连接、第二连接、第三连接和第四连接)中的每一个。在后续的单位时间(U到2U)期间,从服务器200发送出的用于从缓冲模式切换到播放模式的6个片段中的两个剩余片段被分配给第一连接和第二连接。在这里,两个剩余片段被分配给多个网络连接50中的一些而不是网络连接50中的每一个,并且这些片段将被称为剩余片段。
如果片段被分配给多个网络连接(第一连接、第二连接、第三连接和第四连接)中的一些网络连接(第一连接和第二连接),则剩余网络连接不涉及从缓冲模式切换到播放模式的片段发送。结果,要发送到客户端100的片段没有被高效地分配,使得用于从缓冲模式切换到播放模式所需要的时间更多。
参考图4(b)中所示的图表,如图4(a)中的那样,需要从缓冲模式切换到播放模式的片段在单位时间U期间被分配给多个网络连接(第一连接、第二连接、第三连接和第四连接)中的每一个。然而,在单位时间U之后,改变预设片段尺寸以将所述片段分配到多个网络连接中的每一个,从而将剩余两个片段的发送时间缩短到0.5U。
参考图2,为了最小化从缓冲模式切换到播放模式所需要的时间,根据实施方式客户端100基于公式(1)预测将片段分配给一些网络连接中的每一个的定时。
[公式1]
R=S-A×N,
在公式(1)中,S是指客户端100的缓冲器尺寸,以及N是指多个网络连接50的数量。在公式(1)中,A是指通过将使用多个网络连接50来发送全部片段到客户端100的缓冲器所需要的单位时间减少一个单位时间所获得的值。在这里,一个单位时间是指通过网络连接从服务器200向客户端100发送预设尺寸的片段所需要的时间。R指示在单位时间A消逝之后客户端100为了从缓冲模式切换到播放模式所必须接收的剩余片段的数量。
如果基于客户端100的缓冲器尺寸S和多个网络连接50的数量N计算出的值R不等于0,则根据实施方式客户端100可以确定,在从缓冲模式切换到播放模式所需要的时间中的最后一个单位时间期间向一些网络连接分配片段。
例如,如果客户端100的缓冲器尺寸是6并且多个网络连接50的数量是4,则可以基于公式(1)计算A和R,随后客户端100可以在第一单位时间(单位时间A)消逝之后在第二单位时间期间接收两个(R)剩余片段。客户端100预测出,在第二单位时间期间存在仅要分配给一些网络连接的剩余片段。
在操作S230中,客户端100生成用于在所预测的缓冲定时将要分配给一些网络连接的剩余片段分配给多个网络连接中的每一个的调度信息。这里,调度信息可包括用于将要分配给一些网络连接的剩余片段分配给多个网络连接50中的每一个的片段尺寸信息。例如,片段尺寸信息可包括用于将要分配给一些网络连接的剩余片段分配给多个网络连接50中的每一个的子片段尺寸信息。
根据实施方式,可以基于公式(2)确定用于将要分配给一些网络连接的剩余片段分配给多个网络连接50中的每一个的子片段尺寸信息。
[公式2]
在公式(2)中,N是指多个网络连接50的数量,以及R指示在单位时间A消逝之后客户端100为了从缓冲模式切换到播放模式所必须接收的剩余片段的数量。这里,A指示通过将使用多个网络连接50来向客户端100的缓冲器发送全部片段所需要的单位时间减少一个单位时间所获得的值。由于求解公式(2)而计算出的D指示为了通过多个网络连接中的每一个来接收R个剩余片段而分配给每个剩余片段的网络连接的数量。
例如,如果客户端100的缓冲器尺寸是6并且多个网络连接50的数量是4,则N具有值4,A具有值1并且R具有值2。基于公式(2),D具有值2。这意味着,为了利用四个网络连接中的每一个发送两个剩余片段,分配给一个剩余片段的网络连接的数量是2。
在操作S240中,客户端100向服务器200发送所生成的调度信息。根据实施方式,服务器200基于从客户端100接收的调度信息改变片段的预设尺寸。服务器200基于调度信息将所生成的尺寸被改变的子片段分配给多个网络连接中的每一个。
例如,调度信息可包括与为了在多个网络连接中的每一个中接收被分配给一些网络连接的剩余片段而分配给每个剩余片段的网络连接的数量有关的信息。如果与分配给每个剩余片段的网络连接的数量有关的信息是2,则服务器200改变剩余片段的尺寸,使得一个剩余片段经由两个网络连接发送到客户端100。
图3是示出根据实施方式通过在客户端10处预测对媒体内容的接收的调度效果来确定是否执行调度的方法的流程图。
在操作S310中,客户端100确定允许在客户端100与服务器200之间接收媒体内容的多个网络连接50。根据实施方式,客户端100获得与所确定的多个网络连接50的数量有关的信息。操作S310可以与图2的操作S210对应。
在操作S320中,客户端100预测将通过所确定的多个网络连接50中的一些来接收将以客户端100的缓冲器尺寸为单位被接收的片段的缓冲定时。操作S320可以与图2的操作S220对应。
在操作S330中,客户端100生成用于在所预测的缓冲定时将要分配给一些网络连接的剩余片段分配给多个网络连接中的每一个的调度信息。这里,调度信息可包括用于将要分配给一些网络连接的剩余片段分配给多个网络连接50中的每一个的片段尺寸信息。操作S330可以与图2的操作S230对应。
在操作S340中,该客户端100基于所生成的调度信息确定第一接收时间与第二接收时间之间的差是否超过阈值,其中,在第一接收时间中通过一些网络连接接收剩余片段,在第二接收时间中通过多个网络连接50来接收剩余片段。
如果第一接收时间与第二接收时间之间的差超过阈值,则客户端100可以确定调度信息的生成具有缩短接收片段所需要的时间的效果。第一接收时间与第二接收时间之间的差是否超过阈值可基于公式(3)来确定。
[公式3]
在公式(3)中,N是指多个网络连接50的数量,以及S是指缓冲器尺寸。使用公式(3)计算出的E是指通过调度缩短接收剩余片段所需要的时间的效果的参数。
如果E大于阈值1,则客户端100可以确定调度信息的生成具有缩短接收剩余片段所需要的时间的效果。阈值1仅仅是本公开的示例性实施方式,并且阈值可以设置为各种值。
在操作S350中,客户端100向服务器200发送所生成的调度信息。如果确定调度信息的生成具有缩短接收剩余片段所需要的时间的效果,则根据实施方式的客户端100向服务器200发送所生成的调度信息。
如果在操作S340中确定第一接收时间与第二接收时间之间的差没有超过阈值,则客户端100可以不向服务器200发送调度信息。客户端100基于调度效果的预测来确定是否执行调度,从而减少对媒体内容的接收进行调度所花费的时间。
图5是描述根据实施方式在客户端100处通过使用查找表来生成调度信息的方法的视图。
客户端100可以由查找表生成调度信息,其中所述查找表限定多个网络连接50的数量与客户端100的缓冲器尺寸之间的关系以及分配给多个网络连接50中的每一个的片段尺寸。
例如,客户端100可以通过监视网络状态来确定与服务器200的多个网络连接50的数量N,并且获得客户端100的缓冲器尺寸S。当网络连接50的数量是N并且缓冲器尺寸是S时,客户端100从查找表提取用于将片段分配到多个网络连接50中的每一个的片段尺寸信息。客户端100可以通过从查找表提取片段尺寸信息来缩短生成调度信息所需要的时间。
根据另一个实施方式,查找表可包括调度效果信息。客户端100也可以通过从先前存储的查找表提取与多个网络连接50的数量和客户端100的缓冲器尺寸相对应的调度效果信息来减少用以确定是否执行调度所需要的时间。
查找表可以存储在客户端100内部或者存储在可与客户端100通信的外部设备中。
图6是示出根据实施方式在客户端100处基于所生成的调度信息从服务器200接收媒体内容的方法的流程图。
在操作S610中,客户端100确定允许在客户端100与服务器200之间接收媒体内容的多个网络连接50。根据实施方式,客户端100获得与所确定的多个网络连接50的数量有关的信息。操作S610可以与图3的操作S310对应。
在操作S620中,客户端100预测通过所确定的多个网络连接50中的一些来接收将以客户端100的缓冲器尺寸为单位被接收的片段的缓冲定时。操作S620可以与图3的操作S320对应。
在操作S630中,客户端100生成用于在所预测的缓冲定时、基于多个网络连接的数据传输速率将要分配给一些网络连接的剩余片段分配给多个网络连接中的每一个的调度信息。这里,调度信息可包括用于将要分配给一些网络连接的剩余片段分配给多个网络连接50中的每一个的片段尺寸信息。
如果多个网络连接50的数据传输速率之间的差小于预设值,则根据实施方式客户端100基于公式(1)和公式(2)确定分配给每个片段的网络连接的数量。作为基于所确定的网络连接数量来改变片段尺寸的结果而生成的子片段被分配给多个网络连接50中的每一个。
如果多个网络连接50之间的数据传输速率差大于或等于预设值,则客户端100基于多个网络连接的数据传输速率之间的比率来生成调度信息。如果多个网络连接50之间的数据传输速率差大于或等于预设值,则可以基于公式(4)到(6)生成用于将片段分配给多个网络连接50中的每一个的调度信息。
[公式4]
[公式5]
R=S-A×H
[公式6]
在公式(4)中,Vi是指第i个网络连接的数据传输速率,以及Vmin是指多个网络连接50中的最小数据传输速率。H是指多个网络连接50之中基于最小数据传输速率确定的虚拟网络连接的数量。
参考公式(5),S是指客户端100的缓冲器尺寸,以及A是指通过从使用虚拟网络连接向客户端100的缓冲器发送全部片段所需要的单位时间减少一个单位时间所获得的值。在这里,一个单位时间涉及通过网络连接从服务器200向客户端100发送预设尺寸的片段所需要的时间。R是指在单位时间A消逝之后客户端100用以从缓冲模式切换到播放模式所必须接收的剩余片段的数量。
参公式(6),D是指为了在相同单位时间期间接收R个剩余片段而分配给每个剩余片段的虚拟网络连接的数量。Fi是指为了在相同单位时间期间下载R个剩余片段而分配给第i个网络连接的子片段的尺寸。
在操作S640中,客户端100向服务器200发送所生成的调度信息。如果确定调度信息的生成具有缩短接收片段所需要的时间的效果,则根据实施方式的客户端100向服务器200发送所生成的调度信息。操作S640可以与图3的操作S350对应。
在操作S650中,客户端100基于所发送的调度信息来接收媒体内容。
服务器200通过基于从客户端100接收的调度信息改变剩余片段的尺寸来生成子片段。此处,调度信息可包括与为了在多个网络连接中的每一个中接收R个片段而分配给每个片段的网络连接的数量有关的信息。服务器200通过将具有预设尺寸的片段除以将要分配到的网络连接的数量来生成子片段。
客户端100基于调度信息接收由于在服务器200中改变片段的预设尺寸而生成的子片段。
图7是根据实施方式用于对媒体内容的接收进行调度的客户端100的框图。参考图7,用于对媒体内容的接收进行调度的客户端100可包括控制器110、调度器120和通信器130。
图7中所示的用于对媒体内容的接收进行调度的客户端100包括与当前实施方式有关的元件。因此,本领域的普通技术人员将理解,除了图7中所示的元件之外,客户端100中还可包括通用元件。
控制器110控制用于对媒体内容的接收进行调度的客户端100的总体操作。例如,控制器110可以通过执行存储在存储器(未示出)中的程序来总体控制调度器120和通信器130。
控制器110确定允许在客户端100与服务器200之间接收媒体内容的多个网络连接50。控制器110监视在客户端100与服务器200之间建立的网络的状态以确定用于将客户端100与服务器200连接的多个网络连接50。控制器110获得与所确定的多个网络连接50的数量有关的信息。
控制器110预测与由调度器120生成的调度信息相对应的效果。控制器110基于所生成的调度信息确定第一接收时间与第二接收时间之间的差是否超过阈值,其中在第一接收时间通过一些网络连接来接收片段,在第二接收时间中通过多个网络连接50来接收片段。例如,如果第一接收时间与第二接收时间之间的差超过阈值,则控制器110可以确定调度信息的生成具有缩短接收片段所需要的时间的效果。
调度器120预测通过所确定的多个网络连接50中的一些来接收以客户端100的缓冲器尺寸为单位被接收的片段的缓冲定时。
调度器120生成用于在所预测的缓冲定时将要分配给一些网络连接的剩余片段分配给多个网络连接中的每一个的调度信息。调度器120基于多个网络连接50的数量和客户端100的缓冲器尺寸确定分配给一个剩余片段的网络连接的数量,以将要分配给一些网络连接的片段分配给多个网络连接50中的每一个。
调度器120可在没有单独的操作的情况下从先前存储的查找表提取与多个网络连接50的数量和客户端100的缓冲器尺寸相对应的调度信息。
根据实施方式,先前存储的查找表可包括关于与多个网络连接50的数量和客户端100的缓冲器尺寸相对应的调度效果的信息。根据实施方式,控制器110可以通过从查找表提取与缓冲器尺寸和多个网络连接50的数量对应的调度效果信息来确定是否存在调度效果,而无需执行用于确定是否存在调度效果的操作。
通信器130向服务器200发送所生成的调度信息。根据实施方式,服务器200基于从客户端100接收的调度信息改变剩余片段的预设尺寸。服务器200基于调度信息将由于改变片段的尺寸所生成的媒体内容子片段分配给多个网络连接中的每一个。通信器130接收分配给多个网络连接中的每一个的子片段。
图8是描述根据另一个实施方式在服务器200处对媒体内容的发送进行调度的方法的流程图。
在操作S810中,服务器200确定允许在客户端100与服务器200之间接收媒体内容的多个网络连接50。服务器200监视在客户端100与服务器200之间建立的网络的状态以确定将客户端100与服务器200连接的多个网络连接50。服务器200获得与所确定的多个网络连接50的数量有关的信息。
在操作S820中,服务器200预测通过所确定的多个网络连接50中的一些来发送要以客户端100的缓冲器尺寸为单位进行发送的片段的缓冲定时。根据实施方式,服务器200获得客户端100的缓冲器尺寸信息。当服务器200通过流化来向客户端100发送片段时,服务器200发送与客户端100的缓冲器尺寸相对应的片段。服务器200基于所获得的客户端100的缓冲器尺寸信息确定发送到客户端100的片段的数量。
服务器200基于所确定的多个网络连接50的数量和要发送的片段的片段尺寸信息,确定是否通过多个网络连接50中的一些来发送这些片段。确定是否通过多个网络连接50中的一些来发送片段的方法已参考图4和公式(1)和(2)进行了描述。
在操作S830中,服务器200执行调度,以在所预测的缓冲定时将要分配给一些网络连接的剩余片段分配给多个网络连接中的每一个。服务器200基于缓冲器尺寸和多个网络连接50数量、使用公式(1)获得剩余片段的数量R。服务器200基于公式(2)计算分配给每个剩余片段的网络连接的数量。
服务器200改变剩余片段的尺寸,以将一个剩余片段分配给计算数量的网络连接中的每一个。例如,如果针对一个剩余片段计算出的网络连接的数量是2,则服务器200可以生成尺寸为剩余片段的尺寸的一半的子片段。
根据实施方式,服务器200将由于对剩余片段进行分割而生成的多个子片段分配给多个网络连接50中的每一个。服务器200对剩余片段进行分割并且将它们分配给多个网络连接50中的每一个,因而缩短向客户端100发送媒体内容所需要的时间。
图9是描述根据实施方式在服务器200处通过使用查找表来对媒体内容的发送进行调度的方法的图。
服务器200可以从查找表生成调度信息,其中所述查找表限定多个网络连接50的数量与客户端100的缓冲器尺寸之间的关系以及分配给多个网络连接50中的每一个的片段尺寸。
例如,服务器200可以通过监视网络状态来确定与客户端100的多个网络连接50的数量N,并且获得客户端100的缓冲器尺寸S。当网络连接50的数量是N并且缓冲器尺寸是S时,服务器200从查找表提取用于将片段分配给多个网络连接50中的每一个的片段尺寸信息。服务器200可以通过从查找表提取片段尺寸信息来缩短用于生成调度信息所需要的时间。
根据另一个实施方式,查找表可包括调度效果信息。如果客户端100执行调度并且向客户端100发送片段,则服务器200可以确定发送时间是否被缩短。如果确定调度效果不存在,则根据实施方式服务器200在不执行调度的情况下向客户端100发送片段。查找表可包括与当多个网络连接50的数量是N并且缓冲器尺寸是S时是否存在调度效果有关的信息。在该情况中,基于从查找表提取的与调度效果的存在有关的信息,服务器200可以在不需要单独的操作的情况下对片段进行调度并且确定是否向客户端100发送片段。
参考图10,将给出在不使用查找表的情况下由服务器200确定是否存在调度效果的方法的详细描述。
图10是示出根据实施方式在服务器200处确定是否存在调度效果以及基于确定结果来执行调度的方法的流程图。
在操作S1010中,服务器200确定允许在客户端100与服务器200之间接收媒体内容的多个网络连接50。服务器200监视在客户端100与服务器200之间建立的网络的状态以获得所确定的多个网络连接50的数量。操作S1010可与操作S810对应。
在操作S1020中,服务器200预测将通过所确定的多个网络连接50中的一些来发送以客户端100的缓冲器尺寸为单位进行发送的片段的缓冲定时。操作S1020可与操作S820对应。
在操作S1030中,服务器200生成用于在所预测的缓冲定时将要分配给一些网络连接的剩余片段分配给多个网络连接中的每一个的调度信息。调度信息可包括与将要分配给一个剩余片段的网络连接的数量有关的信息,以将剩余片段分配给多个网络连接50中的每一个。可以基于参考图4所描述的公式(1)和(2)、多个网络连接50的数量和客户端100的缓冲器尺寸,来计算与将要分配给一个剩余片段的网络连接的数量有关的信息。
在操作S1040中,服务器200基于所生成的调度信息确定第一发送时间与第二发送时间之间的差是否超过阈值,其中,在第一发送时间中通过一些网络连接来发送片段,在第二发送时间中通过多个网络连接50来发送剩余片段。
如果第一发送时间与第二发送时间之间的差超过阈值,则服务器200可以确定调度具有缩短缓冲时间的效果。第一发送时间与第二发送时间之间的差是否超过阈值可以基于公式(3)来确定。
在操作S1050中,服务器200将经分割的片段分配给多个网络连接50中的每一个。如果第一发送时间与第二发送时间之间的差超过阈值,则服务器200基于包括在调度信息中的、将要分配给一个剩余片段的网络连接的数量来对剩余片段进行分割。服务器200将经分割的片段分配给多个网络连接50中的每一个并且向客户端100发送这些片段。
图11是根据实施方式用于对媒体内容的发送进行调度的服务器200的框图。
控制器1010确定允许在客户端200与服务器100之间接收媒体内容的多个网络连接50。控制器1010监视在客户端100与服务器200之间建立的网络的状态,以确定将客户端100与服务器200连接的多个网络连接50。控制器1010获得与所确定的多个网络连接50的数量有关的信息。
调度器1020预测通过所确定的多个网络连接50中的一些来发送将以客户端100的缓冲器尺寸为单位进行发送的片段的缓冲定时。根据实施方式,调度器1020获得客户端100的缓冲器尺寸信息。当服务器200通过流化向客户端100发送片段时,服务器200发送与客户端100的缓冲器尺寸相对应的片段。调度器1020可以基于所获得的、客户端100的缓冲器尺寸信息,确定发送到客户端100的片段的数量。
调度器1020基于所确定的多个网络连接50的数量和要发送的片段的片段尺寸信息,确定是否通过多个网络连接50中的一些来发送片段。
调度器1020执行调度,以在所预测的缓冲定时将要分配给一些网络连接的片段分配给多个网络连接中的每一个。调度器1020基于缓冲器尺寸和多个网络连接50的数量、通过使用公式(1)来获得剩余片段的数量R。
调度器1020改变剩余片段的尺寸,以将一个剩余片段分配给计算数量的网络连接中的每一个。例如,如果针对一个剩余片段计算出的网络连接的数量是2,则服务器200可以生成尺寸为剩余片段的尺寸的一半的子片段。
调度器1020将由于对剩余片段进行分割而生成的多个子片段分配给多个网络连接50中的每一个。
图12是描述根据实施方式用于对媒体内容的发送和接收进行调度的系统20的概念图。参考图12,用于对媒体内容的发送和接收进行调度的系统20(下文中称为“调度系统”)可包括客户端设备100、第一服务器200(与图1的服务器200对应)和第二服务器1200。
图12中所示的调度系统20包括与当前实施方式有关的元件。因此,本领域普通技术人员将理解,除了图12中所示的元件之外,调度系统10中还可包括通用元件。
根据实施方式,客户端100向第一服务器200和第二服务器1200发送数据以及从第一服务器200和第二服务器1200接收数据。例如,客户端100可以向第一服务器200发送媒体内容和从第一服务器200接收媒体内容。客户端100向第二服务器1200发送用以发送和接收媒体内容所必须的信息。例如,客户端100可以向第二服务器1200发送与客户端100的缓冲器尺寸有关的信息。
客户端100通过多个网络连接50以流化方式从第一服务器200接收媒体内容。客户端100可包括能够存储媒体内容的缓冲器,从而以流化方式从第一服务器200接收媒体内容。
客户端100可以实现为各种形式。例如本文描述的客户端100可以但不限于是蜂窝电话、智能电话、膝上型电脑、平板个人电脑(PC)等。
根据实施方式,第一服务器200向客户端100发送媒体内容。第一服务器200通过第一服务器200与客户端100之间的多个网络连接50向客户端100发送存储在第一服务器200内部或外部的媒体内容。
例如,第一服务器200可以与第二服务器1200通信。第一服务器200可以基于从第二服务器1200接收的调度信息来确定作为媒体内容的发送单位的片段尺寸。这将参考图13来详细描述。
根据实施方式,第二服务器1200可以与客户端100和第一服务器200通信。例如,第二服务器1200可以从客户端100获得与客户端100的缓冲器尺寸有关的信息。第二服务器1200可以从客户端100或第一服务器200获得与允许客户端100与第一服务器200之间接收和发送媒体内容的多个网络连接50的数量有关的信息。
第二服务器1200可以基于所获得的客户端100的缓冲器尺寸和所获得的多个网络连接50的数量来生成调度信息,使得将要从第一服务器200发送到客户端100的片段被分配给多个网络连接50中的每一个。将参考图13详细描述在第二服务器1200处生成调度信息的方法。
第二服务器1200向第一服务器200发送所生成的调度信息。第一服务器200基于从第二服务器1200接收的调度信息,将片段分配给多个网络连接50中的每一个。
图13是示出根据实施方式在第二服务器1200处生成用于接收媒体内容的调度信息的方法的流程图。
在操作S1310中,第二服务器1200确定允许在客户端100与第一服务器200之间接收媒体内容的多个网络连接50。第二服务器1200监视客户端100与服务器200之间建立的网络的状态。作为该监视的结果,第二服务器1200获得与用于将客户端100与第一服务器200连接的多个网络连接50的数量有关的信息。
在操作S1320中,第二服务器1200预测将通过所确定的多个网络连接50中的一些来发送以客户端100的缓冲器尺寸为单位进行发送的片段的缓冲定时。根据实施方式,第二服务器1200基于所获得的客户端100的缓冲器尺寸,从第一服务器200获得与将要发送到客户端100的片段的尺寸有关的信息。例如,为了向客户端100发送数据,第一服务器200可以通过流化发送与缓冲器尺寸相对应的片段。因此,可将与客户端100的缓冲器尺寸相对应的片段从第一服务器200发送至客户端100。
第二服务器1200基于所确定的多个网络连接50的数量和将要发送的片段的片段尺寸信息,确定是否通过多个网络连接50中的一些来发送片段。由第一服务器200确定是否通过多个网络连接50中的一些来发送片段的方法可以参考图4和公式(1)和(2)。
在操作S1330中,第二服务器1200生成用于在所预测的缓冲定时将要分配给一些网络连接的剩余片段分配给多个网络连接50中的每一个的调度信息。第二服务器1200基于缓冲器尺寸和多个网络连接50的数量、使用公式(1)来获得剩余片段的数量R。
第二服务器1200生成用于改变剩余片段的尺寸以将一个剩余片段分配给所计算数量的网络连接中的每一个的调度信息。操作S1330中由第二服务器1200生成调度信息的方法可与图2的操作S330中由客户端100生成调度信息的方法对应。
在操作S1340中,第二服务器1200向服务器200发送所生成的调度信息。服务器200通过基于从第二服务器1200接收的调度信息改变片段的尺寸来生成子片段,以将片段分配给多个网络连接50中的每一个。例如,如果针对一个片段计算出的网络连接的数量是2,则第二服务器1200可以将剩余片段分割为尺寸为剩余片段的尺寸的一半的子片段。
根据实施方式,第一服务器200将由于对剩余片段进行分割而生成的多个子片段分配给多个网络连接50中的每一个。第一服务器200对剩余片段进行分割并且将它们分配给多个网络连接50中的每一个,因而缩短向客户端100发送媒体媒体内容所需要的时间。
图14是描述根据实施方式在第二服务器1200处通过使用查找表来对媒体内容的发送和接收进行调度的方法的图。
第二服务器1200可以从查找表生成调度信息,其中所述查找表限定多个网络连接50的数量与客户端100的缓冲器尺寸之间的关系以及分配给多个网络连接50中的每一个的片段的尺寸。
第二服务器1200可以通过监视网络状态来确定允许在客户端100与第一服务器200之间接收和发送媒体内容的多个网络连接50的数量N,并且获得客户端100的缓冲器尺寸S。当网络连接50的数量是N并且缓冲器尺寸是S时,第二服务器1200从查找表提取用于将片段分配给多个网络连接50中的每一个的片段尺寸信息。第二服务器1200可以通过从查找表提取片段尺寸信息来缩短用于生成调度信息所需要的时间。
根据另一个实施方式,查找表可包括调度效果信息。在第二服务器1200执行调度并且向客户端100发送片段的情况下,第二服务器1200可以确定发送时间是否被缩短。如果确定调度效果不存在,则根据实施方式第二服务器1200在不执行调度的情况下向客户端100发送片段。查找表可包括与当多个网络连接50的数量是N并且缓冲器尺寸是S时是否存在调度效果有关的信息。在该情况中,基于从查找表提取的与调度效果的存在有关的信息,第二服务器1200可在不需要单独的操作的情况下生成调度信息。
参考图15,将给出在不使用查找表的情况下由第二服务器1200确定是否存在调度效果的方法的详细描述。
图15是示出根据本公开实施方式在对媒体内容的发送和接收执行调度的情况下在第二服务器1200处确定是否存在调度效果的方法的流程图。
在操作S1510中,第二服务器1200确定允许在客户端100与第一服务器200之间接收媒体内容的多个网络连接50。第二服务器1200监视客户端100与服务器200之间建立的网络的状态,以获得所确定的多个网络连接50的数量。操作S1510可与操作S1310对应。
在操作S1520中,第二服务器1200预测这样一种缓冲定时,在所述缓冲定时将通过所确定的多个网络连接50中的一些网络连接来发送以客户端100的缓冲器尺寸为单位进行发送的片段。操作S1020可与操作S820对应。
在操作S1530中,第二服务器1200生成用于在所预测的缓冲定时将要分配给一些网络连接的剩余片段分配给多个网络连接中的每一个的调度信息。调度信息可包括与将要分配给一个剩余片段的网络连接的数量有关的信息,以将剩余片段分配给多个网络连接中的每一个。可以基于参考图4所述的公式(1)和(2)、多个网络连接50的数量和客户端100的缓冲器尺寸,来计算与将要分配给一个剩余片段的网络连接的数量有关的信息。
在操作S1540中,第二服务器1200基于所生成的调度信息确定第一发送时间与第二发送时间之间的差是否超过阈值,其中,在第一发送时间中通过一些网络连接来发送剩余片段,在第二发送时间中通过多个网络连接50来发送剩余片段。
如果第一发送时间与第二发送时间之间的差超过阈值,则第二服务器1200可以确定调度具有缩短缓冲时间的效果。第一发送时间与第二发送时间之间的差是否超过阈值可以基于公式(3)来确定。
在操作S1550中,第二服务器1200向第一服务器200发送所生成的调度信息。如果第一发送时间与第二发送时间之间的差超过阈值,则第一服务器1200发送调度信息到第一服务器200。第一服务器200将经分割的片段分配给多个网络连接50中的每一个,并且向客户端100发送这些片段。
图16是根据实施方式用于对媒体内容的发送和接收进行调度的第二服务器1200的框图。参考图16,用于对媒体内容的接收进行调度的第二服务器1200可包括控制器1210、调度器1230和通信器1230。
图16中所示的用于对媒体内容的发送和接收进行调度的第二服务器1200包括与当前实施方式有关的元件。因此,本领域普通技术人员将理解,除了图16中所示的元件之外,客户端100中还可包括通用元件。
控制器1210控制用于对媒体内容的接收进行调度的客户端100的总体操作。例如,控制器1210可以通过执行存储在存储器(未示出)中的程序来总体地控制调度器1220和通信器1230。
控制器1210确定允许在客户端100与服务器200之间接收媒体内容的多个网络连接50。控制器1210监视在客户端100与服务器200之间建立的网络的状态以确定用于将客户端100与服务器200连接的多个网络连接50。控制器1210获得与所确定的多个网络连接50的数量有关的信息。
控制器1210预测与由调度器1220生成的调度信息相对应的效果。控制器1210基于所生成的调度信息确定第一接收时间与第二接收时间之间的差是否超过阈值,其中在第一接收时间通过一些网络连接来接收媒体内容,在第二接收时间中通过多个网络连接50来接收媒体内容。例如,如果确定第一接收时间与第二接收时间之间的差超过阈值,则控制器1210可以确定调度信息的生成具有缩短用于接收媒体内容片段所需要的时间的效果。
调度器1220预测这样一种缓冲定时,在所述缓冲定时通过所确定的多个网络连接50中的一些来接收以客户端100的缓冲器尺寸为单位进行接收的片段。
调度器1220生成用于在所预测的缓冲定时将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个的调度信息。调度器1220基于多个网络连接50的数量和客户端100的缓冲器尺寸,确定分配给一个媒体内容片段的网络连接的数量,以将要分配给一些网络连接的媒体内容片段分配给多个网络连接中的每一个。
调度器1220可在无需单独的操作的情况下,从先前存储的查找表提取与多个网络连接50的数量和客户端100的缓冲器尺寸相对应的调度信息。
通信器1230向第一服务器200发送所生成的调度信息。根据实施方式,第一服务器200基于从通信器1230接收的调度信息改变媒体内容片段的预设尺寸。第一服务器200通过多个网络连接50中的每一个,向客户端100发送由于改变片段的尺寸而生成的子片段。
根据本公开的装置可以是处理器、用于存储程序数据并且执行程序数据的存储器、永久存储器(诸如硬盘驱动器)、用于与外部设备通信的通信端口以及用户接口设备(诸如触摸板、按键、按钮等)。利用软件模块或算法来实现的方法可以在非暂态计算机可读记录介质上存储为可在处理器上执行的计算机可读代码或程序指令。非暂态计算机可读记录介质的示例可包括磁存储介质(例如只读存储器(ROM)、随机存取存储器(RAM)、软盘、硬盘等)和光介质(例如压缩盘只读存储器(CD-ROM)、数字多用途盘(DVD)等)等。非暂态计算机可读记录介质可以分布在网络联接的计算机系统上,使得可以以分布式方式存储和执行计算机可读代码。非暂态介质可以由计算机读取、存储在存储器中以及被处理器执行。
在以上描述中引用的所有文件,包括公开的文件、专利申请和专利,可以以与每个所引用的文件被单独且具体地并入或者整体地并入时的方式相同的方式,通过引用整体地并入本文。
在附图所示的示例性实施方式中使用附图标记以帮助理解本公开,并且使用具体术语来描述本公开的实施方式,但是本公开不受所述具体术语限制,而是本公开可包括本领域普通技术人员通常可设想到的任意元件。
本公开可以表示为框组件和各种过程操作。该功能框可以由用于执行具体功能的各种数量的硬件和/或软件组件来实现。例如,本公开可以应用可在一个或多个微处理器或其他控制设备的控制之下执行各种功能的各种集成电路组件,例如存储器元件、处理元件、逻辑元件、查找表等。类似地,在使用软件编程或软件元件来实现本公开的元件的情况中,可以利用任意编程或脚本语言(诸如C、C++、Java、汇编等),利用以数据结构、对象、过程、例程和其他编程元件的任意组合实现的各种算法来实现本公开。功能方面可以实现为在一个或多个处理器中执行的算法。此外,本公开可应用用于电子配置、信号处理和/或控制、数据处理等的任意数量的常规技术。术语“机构”、“元件”、“装置”或“组件”被广义地使用而不限于机械或物理实施方式。术语可包括结合处理器等的一系列软件例程。
本文所示和描述的具体实施例是本公开的说明性示例而不意图以任何方式限制另外本公开的范围。为了简洁起见,可能没有详细描述常规电子器件、控制系统、软件开发和系统的其他功能方面。此外,所给出的各种附图中所示的连接线路或连接器意图表示各种元件之间的示例性功能关系和/或物理或逻辑联接。此外,任意项目或组件除非被具体描述为是“必不可少的”或“关键的”,否则该元件不是本公开的实施所必不可少的。
在本公开中(尤其在权利要求中),“所述”及与其类似的派生词的使用既可与单数形式对应又可与复数形式对应。另外,如果在本公开中描述了范围,则该范围必须被视为包括采用了该范围内的任意个体元素的发明(除非另外声明不是这样),并且包括在该范围内的每个个体元素被视为记载在本公开的详细说明中。除非明确叙述或另外地描述根据本公开的方法的操作顺序,否则可以以适当的顺序来执行这些操作。操作的顺序不限于所描述的操作顺序。所有示例或示例性术语(例如“等”、“以及其他”和“诸如此类”)的使用仅仅意图详细描述本公开,并且其范围无需受到示例或示例性术语的限制,除非由权利要求限制成这样。另外,本利用普通技术人员可理解,在不脱离本公开及其等同的精神和技术范围的情况下,可以根据设计条件和因素通过各种修改、组合和改变来配置本公开。
Claims (15)
1.由客户端对媒体内容的接收执行调度的方法,所述方法包括:
确定允许在所述客户端与服务器之间接收所述媒体内容的多个网络连接;
预测缓冲定时,在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以所述客户端的缓冲器尺寸为单位被接收的媒体内容片段;
生成用于在所预测的缓冲定时将要分配给所述一些网络连接的媒体内容片段分配给所述多个网络连接中的每一个的调度信息;以及
向所述服务器发送所生成的调度信息。
2.如权利要求1所述的方法,其中
生成所述调度信息包括比较第一接收时间与第二接收时间,其中在所述第一接收时间中通过所述一些网络连接来接收所述媒体内容片段,在所述第二接收时间中通过所述多个网络连接来接收所述媒体内容片段,以及
发送所生成的调度信息包括:基于所述第一接收时间与所述第二接收时间的比较结果来发送所生成的调度信息。
3.如权利要求1所述的方法,还包括:基于所发送的调度信息接收所述媒体内容。
4.如权利要求3所述的方法,其中,接收所述媒体内容包括:由所述服务器基于所生成的调度信息接收由于对所述媒体内容片段进行分割而生成的至少一个子片段。
5.如权利要求4所述的方法,其中,接收所述至少一个子片段包括:如果所述多个网络连接的数据传输速率彼此不同,则基于所述多个网络连接的数据传输速率的比率,确定将要分配给所述多个网络连接中的每一个的子片段的数量。
6.由服务器对媒体内容的发送执行调度的方法,所述方法包括:
确定允许在客户端与所述服务器之间接收所述媒体内容的多个网络连接;
预测缓冲定时,在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以所述客户端的缓冲器尺寸为单位被接收的媒体内容片段;
执行调度,以在所预测的缓冲定时将要分配给所述一些网络连接的媒体内容片段分配给所述多个网络连接中的每一个。
7.如权利要求6所述的方法,其中,执行所述调度包括:如果要将所述媒体内容片段分配给所述一些网络连接,则将所述媒体内容片段的尺寸改变为能够分配给所述多个网络连接中的每一个的尺寸。
8.如权利要求6所述的方法,其中,执行所述调度包括:
比较第一接收时间与第二接收时间,其中在所述第一接收时间中通过所述一些网络连接来接收所述媒体内容片段,在所述第二接收时间中通过所述多个网络连接来接收所述媒体内容片段,以及
基于所述第一接收时间与所述第二接收时间的比较结果,执行用于将所述媒体内容片段分配给所述多个网络连接中的每一个的调度。
9.由第二服务器对媒体内容的发送和接收执行调度的方法,所述方法包括:
确定允许在客户端与第一服务器之间接收所述媒体内容的多个网络连接;
预测缓冲定时,在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以所述客户端的缓冲器尺寸为单位被所述客户端接收的媒体内容片段;
生成用于在所预测的缓冲定时将要分配给所述一些网络连接的媒体内容片段分配给所述多个网络连接中的每一个的调度信息;以及
向所述第一服务器发送所生成的调度信息。
10.如权利要求9所述的方法,其中,所述调度信息包括能够分配给所述多个网络连接中的每一个的片段的片段尺寸信息。
11.如权利要求9所述的方法,其中,生成所述调度信息包括比较第一接收时间与第二接收时间,在所述第一接收时间中通过所述一些网络连接来接收所述媒体内容片段,在所述第二接收时间中通过所述多个网络连接来接收所述媒体内容片段,以及
发送所生成的调度信息包括:基于所述第一接收时间与所述第二接收时间的比较结果发送所生成的调度信息。
12.用于对媒体内容的接收进行调度的客户端,包括:
控制器,配置为确定允许在所述客户端与服务器之间接收所述媒体内容的多个网络连接;
调度器,配置为预测缓冲定时,其中在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以所述客户端的缓冲器尺寸为单位被接收的媒体内容片段,以及配置为生成用于在所预测的缓冲定时将要分配给所述一些网络连接的媒体内容片段分配给所述多个网络连接中的每一个的调度信息;以及
通信器,配置为向所述服务器发送所生成的调度信息。
13.对媒体内容的发送进行调度的服务器,包括:
控制器,配置为确定允许在客户端与所述服务器之间接收所述媒体内容的多个网络连接;
调度器,配置为预测缓冲定时,在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收以所述客户端的缓冲器尺寸为单位被接收的媒体内容片段,以及执行用于在所预测的缓冲定时将要分配给所述一些网络连接的媒体内容片段分配给所述多个网络连接中的每一个的调度。
14.对媒体内容的发送和接收进行调度的第二服务器,所述第二服务器包括:
控制器,配置为确定允许在客户端与第一服务器之间接收所述媒体内容的多个网络连接;
调度器,配置为预测缓冲定时,在所述缓冲定时通过所确定的多个网络连接中的一些网络连接来接收将以所述客户端的缓冲器尺寸为单位被接收的媒体内容片段,以及生成用于在所预测的缓冲定时将要分配给所述一些网络连接的媒体内容片段分配给所述多个网络连接中的每一个的调度信息;以及
通信器,配置为向所述第一服务器发送所生成的调度信息。
15.一种非暂态计算机可读记录介质,所述非暂态计算机可读记录介质上面存储有用于执行如权利要求1所述的方法的程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140060486A KR102216125B1 (ko) | 2014-05-20 | 2014-05-20 | 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템 |
KR10-2014-0060486 | 2014-05-20 | ||
PCT/KR2015/005016 WO2015178669A1 (ko) | 2014-05-20 | 2015-05-19 | 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106416273A true CN106416273A (zh) | 2017-02-15 |
CN106416273B CN106416273B (zh) | 2019-11-26 |
Family
ID=54554270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580026989.6A Expired - Fee Related CN106416273B (zh) | 2014-05-20 | 2015-05-19 | 对媒体内容的发送和接收进行调度的方法、设备和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10630744B2 (zh) |
EP (1) | EP3148201B1 (zh) |
KR (1) | KR102216125B1 (zh) |
CN (1) | CN106416273B (zh) |
WO (1) | WO2015178669A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220130394A (ko) * | 2021-03-18 | 2022-09-27 | 삼성전자주식회사 | 복수의 미디어 스트림을 전송하는 전자 장치 및 그 방법 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040093420A1 (en) * | 2002-11-13 | 2004-05-13 | Gamble Jonathan Bailey | Method and system for transferring large data files over parallel connections |
US20070070906A1 (en) * | 2005-09-28 | 2007-03-29 | Network Appliance, Inc. | Cumulative TCP congestion control |
US20080022005A1 (en) * | 2006-07-24 | 2008-01-24 | Microsoft Corporation | Glitch-Free Media Streaming |
CN101622846A (zh) * | 2007-03-01 | 2010-01-06 | 艾利森电话股份有限公司 | 下载的多媒体文件的比特流组合 |
US20110225302A1 (en) * | 2010-03-12 | 2011-09-15 | Park Anthony N | Parallel streaming |
WO2011150644A1 (zh) * | 2010-12-17 | 2011-12-08 | 华为技术有限公司 | 一种启动阶段的流媒体数据获取、发送方法及装置 |
EP2477397A1 (en) * | 2011-01-12 | 2012-07-18 | Nxp B.V. | Handling the initialization for HTTP streaming of multimedia files via parallel TCP connections |
US20130311614A1 (en) * | 2012-05-21 | 2013-11-21 | Motorola Mobility, Inc. | Method for retrieving content and wireless communication device for performing same |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7594250B2 (en) * | 1992-04-02 | 2009-09-22 | Debey Henry C | Method and system of program transmission optimization using a redundant transmission sequence |
DE112005001581T5 (de) * | 2004-07-07 | 2007-05-24 | MeshNetworks, Inc., Maitland | System und Verfahren zum Auswählen von stabilen Routen in drahtlosen Netzwerken |
EP2095255B1 (en) | 2006-11-30 | 2014-07-23 | Speedbit Ltd. | Accelerated multimedia file download and playback |
US8060653B2 (en) * | 2007-04-23 | 2011-11-15 | Ianywhere Solutions, Inc. | Background synchronization |
KR100971351B1 (ko) * | 2008-10-22 | 2010-07-20 | 성균관대학교산학협력단 | 씨에이알과 서브 채널을 이용한 근접 주문형 비디오 전송방법 |
KR101301004B1 (ko) | 2008-11-25 | 2013-08-29 | 에스케이플래닛 주식회사 | 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 |
KR20100059117A (ko) * | 2008-11-26 | 2010-06-04 | 에스케이텔레콤 주식회사 | 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법 |
KR100924309B1 (ko) * | 2009-06-04 | 2009-11-02 | 전자부품연구원 | 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템 |
KR20120011774A (ko) | 2010-07-29 | 2012-02-08 | 한국전자통신연구원 | 전송 스케쥴링 방법 |
US8897753B2 (en) * | 2011-10-12 | 2014-11-25 | Motorola Mobility Llc | Method for retrieving content by a wireless communication device having first and second radio access interfaces, wireless communication device and communication system |
KR101889717B1 (ko) | 2011-11-15 | 2018-08-21 | 삼성전자주식회사 | 무선 통신 시스템에서 자원 할당 스케줄링 방법 및 장치 |
US9369513B2 (en) * | 2013-04-12 | 2016-06-14 | Futurewei Technologies, Inc. | Utility-maximization framework for dynamic adaptive video streaming over hypertext transfer protocol in multiuser-multiple input multiple output long-term evolution networks |
US20140317060A1 (en) * | 2013-04-18 | 2014-10-23 | Intronis, Inc. | Remote backup of large files |
-
2014
- 2014-05-20 KR KR1020140060486A patent/KR102216125B1/ko active IP Right Grant
-
2015
- 2015-05-19 WO PCT/KR2015/005016 patent/WO2015178669A1/ko active Application Filing
- 2015-05-19 EP EP15796789.4A patent/EP3148201B1/en active Active
- 2015-05-19 US US15/312,059 patent/US10630744B2/en active Active
- 2015-05-19 CN CN201580026989.6A patent/CN106416273B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040093420A1 (en) * | 2002-11-13 | 2004-05-13 | Gamble Jonathan Bailey | Method and system for transferring large data files over parallel connections |
US20070070906A1 (en) * | 2005-09-28 | 2007-03-29 | Network Appliance, Inc. | Cumulative TCP congestion control |
US20080022005A1 (en) * | 2006-07-24 | 2008-01-24 | Microsoft Corporation | Glitch-Free Media Streaming |
CN101622846A (zh) * | 2007-03-01 | 2010-01-06 | 艾利森电话股份有限公司 | 下载的多媒体文件的比特流组合 |
US20110225302A1 (en) * | 2010-03-12 | 2011-09-15 | Park Anthony N | Parallel streaming |
WO2011150644A1 (zh) * | 2010-12-17 | 2011-12-08 | 华为技术有限公司 | 一种启动阶段的流媒体数据获取、发送方法及装置 |
EP2477397A1 (en) * | 2011-01-12 | 2012-07-18 | Nxp B.V. | Handling the initialization for HTTP streaming of multimedia files via parallel TCP connections |
US20130311614A1 (en) * | 2012-05-21 | 2013-11-21 | Motorola Mobility, Inc. | Method for retrieving content and wireless communication device for performing same |
Also Published As
Publication number | Publication date |
---|---|
EP3148201B1 (en) | 2020-04-15 |
WO2015178669A1 (ko) | 2015-11-26 |
EP3148201A4 (en) | 2017-11-29 |
KR20150133551A (ko) | 2015-11-30 |
EP3148201A1 (en) | 2017-03-29 |
CN106416273B (zh) | 2019-11-26 |
KR102216125B1 (ko) | 2021-02-16 |
US20170111420A1 (en) | 2017-04-20 |
US10630744B2 (en) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4228178A1 (en) | Communication method and apparatus, computer readable medium, and electronic device | |
CN110290180A (zh) | 分布式任务调度方法、装置、计算机设备和存储介质 | |
CN110990138B (zh) | 资源调度方法、装置、服务器及存储介质 | |
CN112000454B (zh) | 一种多媒体数据的处理方法及设备 | |
CN108810657B (zh) | 一种设置视频封面的方法和系统 | |
CN111680307A (zh) | 分布式数据加密方法、装置、云存储服务器及存储介质 | |
US20140201311A1 (en) | Cache-induced opportunistic mimo cooperation for wireless networks | |
US20180184264A1 (en) | Data usage analytics application for dynamic control of data usage on a client device | |
Chatterjee et al. | Capacity of systems with queue-length dependent service quality | |
CN102591594B (zh) | 一种数据的处理方法和设备 | |
CN114650437A (zh) | 一种视频发布方法、装置、设备及存储介质 | |
CN106416273A (zh) | 对媒体内容的发送和接收进行调度的方法、设备和系统 | |
CN114153609A (zh) | 资源控制方法及装置、电子设备、计算机可读存储介质 | |
CN113064660A (zh) | 设备控制方法、装置、电子设备及存储介质 | |
CN114827650B (zh) | 流媒体内容传输、直播及拉取方法 | |
CN112911390B (zh) | 一种视频数据的播放方法及终端设备 | |
CN109831356A (zh) | 数据处理方法、装置、系统、计算机可读存储介质 | |
CN107819701A (zh) | 流媒体应用快速缓冲的带宽分配方法及服务器 | |
WO2020119235A1 (zh) | 一种基于FlexE的数据处理的方法及装置、设备及存储介质 | |
CN108156514B (zh) | 媒体文件的播放方法、装置及存储介质 | |
EP1753237B1 (en) | Scheduling for Internet Protocol Television Broadcast | |
CN105959399B (zh) | 一种负载分配的方法和装置 | |
CN112422613B (zh) | 数据处理方法、数据处理平台和计算机可读存储介质 | |
US9693283B2 (en) | Method for managing periodic packets, server and network equipment | |
CN109828908A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191126 |
|
CF01 | Termination of patent right due to non-payment of annual fee |