CN103477609B - 一种管理数据文件到用户的传输的方法和数据传输管理器 - Google Patents
一种管理数据文件到用户的传输的方法和数据传输管理器 Download PDFInfo
- Publication number
- CN103477609B CN103477609B CN201280015563.7A CN201280015563A CN103477609B CN 103477609 B CN103477609 B CN 103477609B CN 201280015563 A CN201280015563 A CN 201280015563A CN 103477609 B CN103477609 B CN 103477609B
- Authority
- CN
- China
- Prior art keywords
- fragment
- user
- file
- merging
- send
- 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
Classifications
-
- 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
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- 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/40—Support for services or applications
-
- 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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1076—Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
-
- 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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- 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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
- H04N21/2225—Local VOD servers
-
- 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/632—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 using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Abstract
在一种管理数据文件到用户的传输的方法中,将第一文件分割成多个第一片段以及将第二文件分割成多个第二片段。发送第一片段至第一用户及不同的第一片段至第二用户。发送第二片段至该第一用户及不同的第二片段至该第二用户。对发送至所述第一用户片段的至少部分与发送至所述第二用户片段的至少部分进行合并以产生合并片段,该合并片段的大小小于合并之前所述片段的至少部分的总大小。发送所述合并片段至所述第一用户和第二用户,以用于每个用户利用所述合并片段和所述片段的至少部分来恢复片段。
Description
技术领域
本发明涉及一种管理数据文件到用户的传输的方法和装置,尤其涉及但不仅限于将缓存在本地的数据文件传输到用户。
背景技术
服务器可以保存通过网络发送到用户的数据文件,其中网络可以是例如因特网或者其他网络。数据文件可以是媒体内容文件或其他类型的文件,并且可以在例如当用户请求数据文件时或内容创建者或提供者想发布数据文件时将该数据文件发送至用户。如果用户不立即请求访问数据文件,或者希望保留数据文件以供之后访问,则该数据文件可以被存储在用户本地的缓存存储器中。例如,缓存存储器可以是包含在用户设备中的硬盘驱动器,也可以是被分离地提供和安排以使用户可随时访问的缓存存储器,比如位于与服务器相比更接近网络边缘的地方。当用户需要缓存文件时,可以从缓存存储器中获取该文件而只占用较少的网络资源或者不占用网络资源。
当网络资源容量大和/或成本低时,通过不时地发送被缓存的数据文件,可以对数据传输进行更有效的管理。例如在WIFI网络可用时、或当用户处于低流量区域时、或低流量时段,可以发送数据文件。
发明内容
根据本发明的第一方面,在管理数据文件到用户的传输的方法中,将第一文件分割为多个第一片段,以及将第二文件分割为多个第二片段。将第一片段发送至第一用户,以及将与其不同的第一片段发送至第二用户。将第二片段发送至第一用户,以及将与其不同的第二片段发送至第二用户。将发送至第一用户的片段的至少部分与发送至第二用户的片段的至少部分合并,以产生合并片段,该合并片段的大小小于合并前片段的至少部分的总大小。将合并片段发送至该第一用户和第二用户,以使每个用户利用合并片段和片段的至少部分来恢复片段。
合并片段的大小小于合并前片段的至少上述部分的总大小意味着:如果被缓存在用户本地的一个或多个缓存中的话,合并片段,需要较小的空间。此外,由于合并片段的大小较小,因此与假设片段被分别以非合并形式发送相比,合并片段的传输需要较少的网络资源。这即使对没有将片段缓存在用户本地的一个或多个缓存中的安排来说也是有利的。
一个或多个用户可以是网络中的任意节点。例如,在无线网络中,用户可以是路由器或最终用户或其它网络节点。
根据本发明的方法可以应用于无线、固网或其它类型的网络,且不限于一种特定的技术类型。
根据本发明的方法可以应用于存在f个文件和K个用户的地方,该方法包括将每个文件划分成2至K的幂次个片段,其中,对用户的每个子集均存在一个被保存在该子集中的所有用户上的片段。
在一个实施例中,发送至第一用户的第一和第二片段可以缓存在第一用户本地的第一缓存存储器中。类似地,发送至第二用户的第一和第二片段可以缓存在第二用户本地的第二缓存存储器中。因此,缓存存储器可以被安排为仅存储第一文件的一部分和第二文件的一部分,当缓存存储器没有足够的大小来存储完整的文件时,这种安排是有利的。当在稍后的时间,用户之一或两个用户均想访问第一文件或第二文件时,由于他们已经访问了本地的某些片段,故不需要将整个文件都发送给他们。因此,即使剩余的片段可能在某些情况下需要在相对昂贵的时间、或在高网络负载期间发送,由于不需要发送整个文件,减少了发送文件的总成本。此外,合并片段比贡献片段的总大小小,这提供了有效的文件传输管理。
在一个实施例中,发送至第一用户的片段的至少部分与发送至第二用户的至少部分通过利用有限字段(field)的加法进行合并。在一个实施例中,该有限字段是二进制字段。
在一种方法中,发送至第一和第二用户的第一和第二片段在将要发送至第一和第二用户的合并片段之前被发送。然而,在另一个实施例中,数据以不同的顺序发送。
在一个实施例中,将片段分割成第一和第二部分,第一部分被合并到合并片段中,且第二部分被传输到第一和第二用户。第二部分可以和合并片段同时传输或单独传输。
根据本发明的第二方面,管理数据文件到用户的传输的数据传输管理器包含:用于将第一文件分割成多个第一片段及将第二文件分割成多个第二片段的分割器;用于发送第一片段至第一用户及不同的第一片段至第二用户,且发送第二片段至第一用户及不同的第二片段至第二用户的发送装置;用于将发送至第一用户的片段的至少部分与发送至第二用户的片段的至少部分合并以产生合并片段的合并器,该合并片段的大小小于合并前所述片段的至少部分的总大小;所述发送装置被操作以发送所述合并片段至所述第一用户和所述第二用户,以便所述第一用户和所述第二用户中的每个用户利用所述合并片段和片段的至少部分来恢复片段。
附图说明
本发明的某些实施例现在将仅以举例的方式描述,参考附图,其中:
图1图示出根据本发明的方法的流程图;
图2图为传输过程的示意图;以及
图3图示出实施图1所述方法的装置;
具体实施方式
在第一实施例中,假设存在可从服务器获得的第一文件A和第二文件B,每个文件均为1MB大小。存在第一用户U1和第二用户U2,每个用户各自具有相应的本地缓存M1和M2,M1和M2均为1MB。假设这两个用户U1和U2的历史显示每个用户可以以等概率需求文件A和文件B。
在这种缓存方案中,有必要在昂贵的网络中以平均0.5MB进行广播。而且,峰值速率为0.5MB。
参见附图1,在1处,第一和第二文件被分割成几个片段。文件A被分为两个相等大小的片段A1和A2,其中每个片段为0.5MB,使得A=(A1,A2)。
类似地,文件B被分为两个相等大小的片段B1和B2,其中每个片段为0.5MB,且B=(B1,B2)。
在2处,片段A1和B1传输至第一用户U1,以及,在3处,保存在相应的缓存存储器M1中。并且,A2和B2传输至第二用户U2且保存在相应的缓存存储器M2中。缓存策略概括在表1中且概率概括在表2中。
表1
概率表 | 文件A | 文件B |
用户1 | p1A=0.5 | p1B=0.5 |
用户2 | p2A=0.5 | p2B=0.5 |
表2
因此,每个用户具有每个文件的一部分。
在稍后的时间,例如,如果第一用户想访问文件A且第二用户需要文件B,二者均没有足够的缓存片段以提供完整的文件。在4处,用户发送他们的需求至服务器。
在5处,服务器安排发送器来广播合并片段A2+B1,其中+代表产生该合并片段的有限字段的加法。在这个例子中,合并用二进制字段进行,因此,+为简单地逐位异或运算。合并片段A2+B1具有0.5MB的大小。与此相比,片段A2的大小为0.5MB,片段B1的大小为0.5MB,即,总共1MB。
在下一个阶段,如6处所示,第一用户U1接收A2+B1且已经在其缓存存储器M1中有B1。因此,第一用户U1能够通过操作(A2+B1)-B1来恢复A2。第一用户U1在其缓存M1中还具有A1。因此,第一用户U1具有A1和A2两者,并且能够重建所需的文件A。
第二用户U2也接收发送器广播的A2+B1。第二用户已经在其缓存中有A2,因此能够通过操作(A2+B1)-A2来恢复B1。第二用户已经在其缓存M2中有B2。因此,B1和B2两者可被第二用户U2用于重建其所需要的文件B。
在另一个方案中,假设起点为表1所示的那样,假设第一和第二用户都需要文件A。在这种情况下,发送器广播A1+A2,其中+再次表示在二进制字段进行合并,并且是逐位异或运算。合并片段A2+A1具有0.5MB的大小,与此相比,片段A2的大小为0.5MB,片段A1的大小为0.5MB,即,总共1MB。
第一用户U1从而接收A2+A1且已经在其缓存中有A1。因此其能够通过(A2+A1)-A1来恢复A2。因此,第一用户U1具有片段A1和A2两者,从而能够重建文件A。
第二用户U2也接收广播的A2+A1且已经在其缓存M2中有A1。因此其能够通过(A2+A1)-A2来恢复A1。因此,其将具有片段A1和A2两者,从而能够重建文件A。
对于其它的情况,广播策略以及恢复方法示于下面的表3中。可以看出,无论每个用户请求哪个文件,发送器均只需要广播0.5MB。因此,发送器广播的数据的平均速率为0.5MB。
表3
在这个实施例中,优化了缓存方案,并减小了网络的平均负载或最大负载。在上面给出的简单例子中,该缓存方案可以降低高达50%的平均负载和100%的最大负载。
图2图示出了对于大小为F的两个文件及各均具有缓存大小M的两个用户,针对归一化缓存大小的归一化平均传输速率。另外,每个用户可能需要其中一个文件的概率是近似相等的。
在另一个实施例中,假设第一和第二用户即用户1和用户2分别具有可用缓存存储器大小M1和M2。另外,假设服务器具有大小分别为FA和FB的两个文件A和B,即
|A|=FA
|B|=FB。
用户可能需要其中一个文件的概率列在下面的表4中:
表4
每个文件被分成5部分,每部分不必相等,给出:
A={A0,A1,A2,A12}
B={B0,B1,B2,B12}
具有大小
|A0|=x0,|A1|=x1,|A2|=x2,|A12|=x12,
|B0|=y0,|B1|=y1,|B2|=y2,|B12|=y12,
因此,
x0+x1+x2+x12=FA
y0+y1+y2+y12=FB
用A1和B1表示的部分文件缓存在用户1的存储器中。
用A2和B2表示的部分文件缓存在用户2的存储器中。
用A12和B12表示的部分文件缓存在两个用户的存储器中。
用A0和B0表示的部分文件未缓存在任何上述存储器中。
因此,
x1+y1+x12+y12<=M1
x2+y2+x12+y12<=M2
在第一方案中,用户1请求文件A且用户2请求文件B。因此,
用户1需要仅在服务器处可用的A0。
用户2需要仅在服务器处可用的B0。
用户1已经具有A1和A12。
用户1已经具有B1和B12。
用户1需要A2而用户2在其缓存存储器中具有A2。
用户2需要B1而用户1在其缓存存储器中具有B1。
因此,服务器必须发送A0和B0两者至用户1和2。
假设|A2|>|B1|,那么服务器将片段A2分成两部分,以A2U和A2L表示,即A2={A2U,A2L},其中|A2U|=|B1|。然后,服务器发送合并片段A2U+B1,并且同样发送A2L,其中+为二进制字段或任意其它有限字段的加法。注意:
|A2U+B1|+|A2L|=|A2|=max{|A2|,|B1|}
其中,max{|A2|,|B1|}是A2尺寸和B1尺寸的最大值。
然后用户1能够利用A2U+B1、A2L和B1来恢复A2={A2U,A2L}。同样,用户2能够利用A2U+B1和A2来恢复B1。
另一方面,如果|A2|<|B1|,那么服务器将片段B1分成两部分,以B1U和B1L表示,即B1={B1U,B1L},其中|B1U|=|A2|。然后,服务器发送合并后的片段B1U+A2,并且同样发送B1L,此外+为二进制字段或任意其它有限字段的加法。注意:
|B1U+A2|+|B1L|=|B1|=max{|A2|,|B1|}
然后用户2能够利用B1U+A1、B1L和A2来恢复B1={B1U,B1L}。同样,用户1能够利用B1U+A2和B1来恢复A2。
然后每个用户均具有重建其所请求的文件所必需的片段。
在第二方案中,用户1和用户2均请求文件A。注意:
用户1和2需要仅在服务器存储器中可用的A0。
用户1和2均已有A12。
用户1需要A2而用户2在其缓存存储器中具有A2。
用户2需要A1而用户1在其缓存存储器中具有A1。
因此,服务器不得不发送A0至用户1和2。
假设|A2|<|A1|,那么服务器将片段A2分成两部分,以A2U和A2L表示,即A2={A2U,A2L},其中|A2U|=|A1|。然后,服务器发送合并片段A2U+A1和A2L,其中+为二进制字段或任意其它有限字段的加法。注意:
|A2U+A1|+|A2L|=|A2|=max{|A2|,|A1|}
然后用户1能够利用A2U+A1、A2L和A1来恢复A2={A2U,A2L}。同样,用户2能够利用A2U+A1和A2来恢复A1。
另一方面,如果|A2|<|A1|,那么服务器将片段A1分成两部分,以A1U和A1L表示,即A1={A1U,A1L},其中|A1U|=|A2|。然后,服务器发送合并片段A1U+A2和A1L,其中+为二进制字段或任意其它有限字段的加法。注意:
|A1U+A2|+|A1L|=|B1|=max{|A2|,|B1|}
然后用户2利用A1U+A1、A1L和A2来恢复A1={A1U,A1L}。同样,用户1能够利用A1U+A2和A1来恢复A2。
按照这种策略,不同情况下所需要的速率如下表5所示:
表5
因此,平均速率等于:
pAA(x0+max{x1,x2})+pAB(x0+y0+max{x2,y1})+pBA(x0+y0+max{x1,y2})+pBB(y0+max{y1,y2})
因此,x0,x1,x2,x12,y0,y1,y2和y12可以被选择为使平均速率最小化。
MinpAA(x0+max{x1,x2})+pAB(x0+y0+max{x2,y1})+pBA(x0+y0+max{x1,y2})+pBB(y0+max{y1,y2})
约束条件为:
x0+x1+x2+x12=FA
y0+y1+y2+y12=FB
x1+y1+x12+y12<=M1
x2+y2+x12+y12<=M2
x0,x1,x2,x12,y0,y1,y2,andy12=>0
如果最大速率是主要关注的,则可使用下面的优化:
MinMax[pAA(x0+max{x1,x2}),pAB(x0+y0+max{x2,y1}),pBA(x0+y0+max{x1,y2}),pBB(y0+max{y1,y2})]
约束条件为:
x0+x1+x2+x12=FA
y0+y1+y2+y12=FB
x1+y1+x12+y12<=M1
x2+y2+x12+y12<=M2
x0,x1,x2,x12,y0,y1,y2,andy12=>0
可以利用其它方面来限定该方法。例如,如果缓存有一些成本,则该相应的成本可以被加到对数据速率进行优化的目标函数中。例如,发送数据至两个用户与发送数据至一个用户相比具有不同的成本,目标函数可以被相应地修改。同样,用户对于应该缓存在其存储器中的文件的片段具有某些优先级。在优化过程中可以考虑这些优先级。用户优先级可以被考虑用于将数据传输到用户。例如,可以采用允许用户以特定顺序对其进行恢复的方式来发送文件。
该方法可以扩展至任意数量的文件和任意数量的用户。例如,假设存在3个用户,用户1、用户2和用户3,以及3个文件A、B和C。
每个文件按如下方式被分成8个片段:
A={A0,A1,A2,A3,A12,A13,A23,A123}
B={B0,B1,B2,B3,B12,B13,B23,B123}
C={C0,C1,C2,C3,C12,C13,C23,C123}
然后片段按如下方式保存:
片段X0不保存在任何用户处,其中X=A、B、C
片段Xi保存在用户i处,其中i=1、2、3,且X=A、B、C
片段Xij同时保存在用户i和j处,其中i,j=1、2、3,且X=A、B、C
片段X123保存在所有的用户i和j处,其中X=A、B、C
为简单起见,在该例中假设片段Xi具有相同的大小,其中i=1、2、3且X=A、B、C,且Xij也具有同样的大小,其中i,j=1、2、3且X=A、B、C。该假设仅对该例而言,并不是一般性的要求。
然后,如果例如,用户1需要A,用户2需要B,且用户3需要C,则发送器发送
A0
B0
C0
A2+B1
A3+C1
B3+C2
A23+B13+C12
然后,每个用户接收到足够的片段和合并片段以恢复所需的文件。
如果例如所有的用户需要A,那么发送器发送
A0
e1A1+e2A2+e3A3
g1A1+g2A2+g3A3
q1A12+q2A13+q3A23
其中,该操作在任意足够大的有限字段,且ek,gj,qi来自相同的字段。则每个用户对整个A而言有足够的等式来求解。
片段的大小能够按如上所述被优化。文件的大小不必相同。
如果存在f个文件和K个用户,那么将每个文件分成2至K的幂次个片段,其中,对每个用户子集,均存在可被保存在该子集中所有用户处的片段。一部分这些片段的大小可以是零。
参照图3,可实现图1中所描述的实施例的数据传输管理器7包括存有数据文件A和B的内容存储器8。分割器9访问内容存储器8以获得数据文件A和B并将文件分割成片段。一些片段将在网络容量大和/或所需资源并不昂贵的时候被发送至用户10和11。最初将要发送给用户10和11的那些片段由控制处理器12选择,该控制处理器还保留发送片段的记录。控制处理器12指示服务器13哪个片段将要发送至哪个用户。服务器13获得相关的片段并在网络上通过发送器14将其发送至用户10和11。用户10和11中的每一个都各自具有相关联的存储缓存器15和16,以在其中保存由服务器11发送给他们的数据片段。每个用户均从文件A还有文件B接收片段。
当用户10和11想要有完整的文件A或B时,其在网络上发送消息至服务器13。服务器13和控制处理器12确定需要什么样的合并片段来满足用户请求。合并片段由合并器17从文件片段产生,并通过服务器13传递至用户10和11。然后用户10和11能够利用之前发送的片段和该合并片段来重建完整的文件。
图3所示的装置可以适于执行更复杂的数据文件传输以实现上述的其它方法。
图中显示的不同部件的功能,包括任何标有“处理器”的功能块,可以通过使用专用的硬件以及能够执行相应的软件的硬件来提供。当由处理器提供时,上述功能可以由单独的专用处理器、单独的共享处理器、或多个独立处理器(其中该多个处理器的一部分可以是共享的)来提供。此外,明确使用的术语“处理器”不应该被解释为排他性地指能执行软件的硬件,其可以隐含地包括但不限于,数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)以及非易失性存储器。其它传统的和/或定制的硬件也可以包含在内。
本发明可以由不脱离其精神或本质特征的其它特定形式来体现。所述的实施例在各个方面仅被看做是说明性的且不是限制性的。本发明的范围,因此,由附加的权利要求而不是来上述描述来表明。所有在与权利要求的等同物的含义和范围内所做的改变均包含在其范围内。
Claims (10)
1.一种管理数据文件到用户的传输的方法,该方法包括:
将第一文件分割成多个第一片段;
将第二文件分割成多个第二片段;
发送第一片段至第一用户及不同的第一片段至第二用户;
发送第二片段至所述第一用户及不同的第二片段至所述第二用户;
将发送至所述第一用户的一个片段的至少部分与发送至所述第二用户的一个片段的至少部分进行合并以产生合并片段,该合并片段的大小小于合并之前所述片段的至少部分的总大小;以及
传送所述合并片段至所述第一用户和所述第二用户,以便于每个用户利用所述合并片段和片段的至少部分来恢复片段。
2.根据权利要求1所述的方法,其中发送至所述第一用户和所述第二用户的第一片段和第二片段是在所述合并片段被发送至所述第一用户和所述第二用户之前被发送的。
3.根据权利要求1所述的方法,该方法包括:将片段分割成第一部分和第二部分;将所述第一部分合并到所述合并片段中;以及传送所述第二部分至所述第一用户和所述第二用户。
4.根据权利要求3所述的方法,该方法包括:与所述合并片段一起传送所述第二部分。
5.根据权利要求1所述的方法,该方法包括:选择所述第一片段和所述第二片段的大小以使得平均速率最小化。
6.根据权利要求1所述的方法,该方法包括:在优化所述第一片段和所述第二片段的大小的过程中使用所述第一文件和所述第二文件将被所述第一用户和/或所述第二用户需要的概率。
7.一种用于管理数据文件到用户的传输的数据传输管理器,该数据传输管理器包括:分割器,该分割器用于将第一文件分割成多个第一片段及将第二文件分割成多个第二片段;发送装置,该发送装置用于发送第一片段至第一用户及不同的第一片段至第二用户、并且发送第二片段至第一用户及不同的第二片段至第二用户;合并器,该合并器用于将发送至所述第一用户的一个片段的至少部分与发送至所述第二用户的一个片段的至少部分进行合并以产生合并片段,该合并片段的大小小于合并之前所述片段的至少部分的总大小;并且所述发送装置被操作以发送所述合并片段至所述第一用户和所述第二用户,以便于所述第一用户和所述第二用户中的每个用户利用所述合并片段和片段的至少部分来恢复片段。
8.根据权利要求7所述的数据传输管理器,其中所述分割器被操作以将片段分割成第一部分和第二部分;所述合并器被操作以将所述第一部分合并到所述合并片段中;并且所述发送装置被操作以将所述第二部分发送至所述第一用户和第二用户。
9.根据权利要求7所述的数据传输管理器,该数据传输管理器包括:处理器,该处理器用于选择所述第一片段和第二片段的大小以使得平均速率最小化。
10.根据权利要求7所述的数据传输管理器,该数据传输管理器包括:处理器,该处理器用于使用所述第一文件和所述第二文件将被所述第一用户和/或所述第二用户需要的概率来优化所述第一片段和所述第二片段的大小。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/077,420 US9054920B2 (en) | 2011-03-31 | 2011-03-31 | Managing data file transmission |
US13/077,420 | 2011-03-31 | ||
PCT/US2012/030090 WO2012134941A1 (en) | 2011-03-31 | 2012-03-22 | Managing data file transmission |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103477609A CN103477609A (zh) | 2013-12-25 |
CN103477609B true CN103477609B (zh) | 2016-06-29 |
Family
ID=45895493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280015563.7A Expired - Fee Related CN103477609B (zh) | 2011-03-31 | 2012-03-22 | 一种管理数据文件到用户的传输的方法和数据传输管理器 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9054920B2 (zh) |
EP (1) | EP2692114B1 (zh) |
JP (1) | JP5833737B2 (zh) |
KR (1) | KR101495560B1 (zh) |
CN (1) | CN103477609B (zh) |
WO (1) | WO2012134941A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185983B (zh) | 2012-03-16 | 2016-10-26 | 株式会社尼康 | 摄像元件、摄像装置以及摄像系统 |
US9686335B2 (en) * | 2013-03-15 | 2017-06-20 | Echostar Uk Holdings Limited | Shared data communication bandwidths among mobile devices |
US9535837B2 (en) * | 2013-11-19 | 2017-01-03 | Alcatel-Lucent Usa Inc. | Decentralized online cache management for digital content conveyed over shared network connections based on cache fullness and cache eviction policies |
US9560390B2 (en) | 2014-07-07 | 2017-01-31 | Alcatel-Lucent Usa Inc. | Asynchronous encoding of digital content |
WO2016088237A1 (ja) * | 2014-12-04 | 2016-06-09 | 富士通株式会社 | 配信方法、装置、及びプログラム |
CN106209926B (zh) * | 2015-04-30 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 一种数据更新方法和设备 |
CN105205174B (zh) * | 2015-10-14 | 2019-10-11 | 北京百度网讯科技有限公司 | 用于分布式系统的文件处理方法和装置 |
DE102016108018A1 (de) | 2016-03-03 | 2017-09-07 | Cadami Ug (Haftungsbeschränkt) | Kennungscodierungseinrichtung und Kennungsdecodierungseinrichtung zur Datenverteilung in Netzwerken sowie derartige Einrichtungen aufweisende Netzwerkelemente |
WO2017149149A1 (de) | 2016-03-03 | 2017-09-08 | Cadami Ug (Haftungsbeschränkt) | Kennungscodierungseinrichtung und kennungsdecodierungseinrichtung zur datenverteilung in netzwerken sowie derartige einrichtungen aufweisende netzwerkelemente |
DE102016103882A1 (de) | 2016-03-03 | 2017-09-07 | Cadami Ug (Haftungsbeschränkt) | Zuordnungsverfahren sowie Netzwerk mit einer Zuordnungsvorrichtung |
EP3451628A1 (en) * | 2017-08-31 | 2019-03-06 | Institut Eurecom G.I.E. | System and method for managing distribution of information in multi-antenna and multi-transmitter environments |
WO2019166106A1 (en) | 2018-03-02 | 2019-09-06 | Huawei Technologies Co., Ltd. | Devices and methods for coded caching |
US11625327B2 (en) * | 2019-12-10 | 2023-04-11 | EMC IP Holding Company LLC | Cache memory management |
CN114374687B (zh) * | 2022-01-11 | 2024-04-16 | 同方有云(北京)科技有限公司 | 热磁存储与蓝光存储之间的文件传输方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1268847A (zh) * | 1999-03-25 | 2000-10-04 | 索尼公司 | 编辑设备和编辑方法 |
US6816872B1 (en) * | 1990-04-26 | 2004-11-09 | Timespring Software Corporation | Apparatus and method for reconstructing a file from a difference signature and an original file |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205446B1 (en) * | 1997-10-31 | 2001-03-20 | Selectica, Inc. | Method for merging multiple knowledge bases into one optimized and compressed knowledge base |
JP2001337860A (ja) | 2000-05-24 | 2001-12-07 | Newsoft Technology Corp | ファイルの保存及び読出しの確実且つ安全な方法 |
JP2002014684A (ja) * | 2000-06-29 | 2002-01-18 | Matsushita Graphic Communication Systems Inc | 情報配信方法、サーバ装置及び情報受信端末装置 |
US6823394B2 (en) * | 2000-12-12 | 2004-11-23 | Washington University | Method of resource-efficient and scalable streaming media distribution for asynchronous receivers |
US7266609B2 (en) * | 2001-04-30 | 2007-09-04 | Aol Llc | Generating multiple data streams from a single data source |
US7237033B2 (en) * | 2001-04-30 | 2007-06-26 | Aol Llc | Duplicating switch for streaming data units to a terminal |
US7130528B2 (en) * | 2002-03-01 | 2006-10-31 | Thomson Licensing | Audio data deletion and silencing during trick mode replay |
US7313137B2 (en) * | 2003-02-26 | 2007-12-25 | International Business Machines Corp. | System and method for efficient replication and distribution of data objects |
JP2007519301A (ja) * | 2003-09-30 | 2007-07-12 | ドラプレット テクノロジー インコーポレイテッド | 時間型順序外圧縮及びマルチソース圧縮率制御のシステム及び方法 |
US20090025046A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Hybrid architecture for media services |
US8719399B2 (en) * | 2005-04-07 | 2014-05-06 | Opanga Networks, Inc. | Adaptive file delivery with link profiling system and method |
US7640353B2 (en) | 2006-04-27 | 2009-12-29 | Microsoft Corporation | Guided random seek support for media streaming |
US20080005347A1 (en) * | 2006-06-29 | 2008-01-03 | Yahoo! Inc. | Messenger system for publishing podcasts |
US20080016289A1 (en) * | 2006-07-11 | 2008-01-17 | Pennock James D | External memory interface engine |
US8019830B2 (en) * | 2007-04-16 | 2011-09-13 | Mark Thompson | Methods and apparatus for acquiring file segments |
KR101407630B1 (ko) * | 2007-09-07 | 2014-06-13 | 삼성전자주식회사 | 분산 파일 시스템 및 분산 파일 시스템의 캐쉬 데이터 대체방법 |
WO2009100420A2 (en) * | 2008-02-07 | 2009-08-13 | Realnetworks, Inc. | Selective advertising in media content |
US20090222509A1 (en) | 2008-02-29 | 2009-09-03 | Chao King | System and Method for Sharing Storage Devices over a Network |
KR101353115B1 (ko) * | 2009-08-03 | 2014-01-21 | 제너럴 인스트루먼트 코포레이션 | 비디오 컨텐트를 인코딩하는 방법 |
US8150914B1 (en) * | 2011-05-25 | 2012-04-03 | Zynga Inc. | Simultaneous download of application file portions |
-
2011
- 2011-03-31 US US13/077,420 patent/US9054920B2/en not_active Expired - Fee Related
-
2012
- 2012-03-22 JP JP2014502635A patent/JP5833737B2/ja not_active Expired - Fee Related
- 2012-03-22 WO PCT/US2012/030090 patent/WO2012134941A1/en active Application Filing
- 2012-03-22 CN CN201280015563.7A patent/CN103477609B/zh not_active Expired - Fee Related
- 2012-03-22 EP EP12711328.0A patent/EP2692114B1/en not_active Not-in-force
- 2012-03-22 KR KR1020137028519A patent/KR101495560B1/ko not_active IP Right Cessation
-
2013
- 2013-01-22 US US13/746,406 patent/US9401951B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6816872B1 (en) * | 1990-04-26 | 2004-11-09 | Timespring Software Corporation | Apparatus and method for reconstructing a file from a difference signature and an original file |
CN1268847A (zh) * | 1999-03-25 | 2000-10-04 | 索尼公司 | 编辑设备和编辑方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20130138316A (ko) | 2013-12-18 |
EP2692114B1 (en) | 2017-09-06 |
US9401951B2 (en) | 2016-07-26 |
JP5833737B2 (ja) | 2015-12-16 |
US20120254459A1 (en) | 2012-10-04 |
US20140207913A1 (en) | 2014-07-24 |
WO2012134941A1 (en) | 2012-10-04 |
KR101495560B1 (ko) | 2015-02-25 |
US9054920B2 (en) | 2015-06-09 |
CN103477609A (zh) | 2013-12-25 |
JP2014510977A (ja) | 2014-05-01 |
EP2692114A1 (en) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103477609B (zh) | 一种管理数据文件到用户的传输的方法和数据传输管理器 | |
US9860332B2 (en) | Caching architecture for packet-form in-memory object caching | |
CN102523234A (zh) | 一种应用服务器集群实现方法及系统 | |
US20140040616A1 (en) | Broadcast deduplication for satellite broadband | |
US8380799B2 (en) | Topic-based messaging using consumer address and pool | |
US20150081779A1 (en) | Predictive, Multi-Layer Caching Architectures | |
CN102067617A (zh) | 在内容分发网络中自组织的高速缓存的方法和装置 | |
US20150026412A1 (en) | Non-blocking queue-based clock replacement algorithm | |
CN102439934A (zh) | 一种cdn中边缘服务器的多级缓存管理方法与系统 | |
CN103581052A (zh) | 一种数据处理方法、路由器及ndn系统 | |
CN102244644A (zh) | 多媒体文件发布方法和装置 | |
AU2018313753A1 (en) | Method for securing data utilizing microshard™ fragmentation | |
CN101916289A (zh) | 支持海量小文件和动态备份数的数字图书馆存储系统的构建方法 | |
US9521064B2 (en) | Cooperative caching method and apparatus for mobile communication system | |
US20150019673A1 (en) | Distributed caching in a communication network | |
US9535837B2 (en) | Decentralized online cache management for digital content conveyed over shared network connections based on cache fullness and cache eviction policies | |
Reisizadeh et al. | Erasure coding for decentralized coded caching | |
US20230026912A1 (en) | Systems and methods for storing content items in secondary storage | |
Sun et al. | Placement delivery array design for the coded caching scheme in medical data sharing | |
WO2017049488A1 (zh) | 一种缓存管理方法和装置 | |
CN104159058A (zh) | 一种多路媒体流同时录像的高效方法 | |
CN105653530B (zh) | 一种高效可伸缩的多媒体传送、存储和呈现方法 | |
Kumar et al. | Accelerating the Internet in the presence of Big Data: Reducing user delays by leveraging historical user request patterns for web caching | |
US10033837B1 (en) | System and method for utilizing a data reducing module for dictionary compression of encoded data | |
US9118526B2 (en) | Method and apparatus for controlling data storage |
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 |
Granted publication date: 20160629 Termination date: 20180322 |
|
CF01 | Termination of patent right due to non-payment of annual fee |