CN103477609A - 管理数据文件传输 - Google Patents

管理数据文件传输 Download PDF

Info

Publication number
CN103477609A
CN103477609A CN2012800155637A CN201280015563A CN103477609A CN 103477609 A CN103477609 A CN 103477609A CN 2012800155637 A CN2012800155637 A CN 2012800155637A CN 201280015563 A CN201280015563 A CN 201280015563A CN 103477609 A CN103477609 A CN 103477609A
Authority
CN
China
Prior art keywords
user
fragment
file
sent
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012800155637A
Other languages
English (en)
Other versions
CN103477609B (zh
Inventor
M·马达赫-阿里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of CN103477609A publication Critical patent/CN103477609A/zh
Application granted granted Critical
Publication of CN103477609B publication Critical patent/CN103477609B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/47202End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/632Control 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring 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。
Figure BDA0000388343430000051
Figure BDA0000388343430000061
表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所示:
Figure BDA0000388343430000091
表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可以被选择为使平均速率最小化。
Min 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,and y12=>0
如果最大速率是主要关注的,则可使用下面的优化:
Min Max[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,and y12=>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所述的数据传输管理器,该数据传输管理器包括:处理器,该处理器用于使用所述第一文件和所述第二文件将被所述第一用户和/或所述第二用户需要的概率来优化所述第一片段和所述第二片段的大小。
CN201280015563.7A 2011-03-31 2012-03-22 一种管理数据文件到用户的传输的方法和数据传输管理器 Expired - Fee Related CN103477609B (zh)

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 true CN103477609A (zh) 2013-12-25
CN103477609B 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)

* Cited by examiner, † Cited by third party
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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1268847A (zh) * 1999-03-25 2000-10-04 索尼公司 编辑设备和编辑方法
WO2002048890A1 (en) * 2000-12-12 2002-06-20 Washington University Method of resource-efficient and scalable streaming media distribution for asynchronous receivers
CN1511289A (zh) * 2001-04-30 2004-07-07 存储于备份交换机的流的访问管理
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
US20070255844A1 (en) * 2006-04-27 2007-11-01 Microsoft Corporation Guided random seek support for media streaming
US20080263057A1 (en) * 2007-04-16 2008-10-23 Mark Thompson Methods and apparatus for transferring data
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

Family Cites Families (14)

* Cited by examiner, † Cited by third party
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 情報配信方法、サーバ装置及び情報受信端末装置
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
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
KR101407630B1 (ko) * 2007-09-07 2014-06-13 삼성전자주식회사 분산 파일 시스템 및 분산 파일 시스템의 캐쉬 데이터 대체방법
KR101353115B1 (ko) * 2009-08-03 2014-01-21 제너럴 인스트루먼트 코포레이션 비디오 컨텐트를 인코딩하는 방법
US8150914B1 (en) * 2011-05-25 2012-04-03 Zynga Inc. Simultaneous download of application file portions

Patent Citations (8)

* Cited by examiner, † Cited by third party
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 索尼公司 编辑设备和编辑方法
WO2002048890A1 (en) * 2000-12-12 2002-06-20 Washington University Method of resource-efficient and scalable streaming media distribution for asynchronous receivers
CN1511289A (zh) * 2001-04-30 2004-07-07 存储于备份交换机的流的访问管理
US20070255844A1 (en) * 2006-04-27 2007-11-01 Microsoft Corporation Guided random seek support for media streaming
US20080263057A1 (en) * 2007-04-16 2008-10-23 Mark Thompson Methods and apparatus for transferring data
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

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
CN103477609B (zh) 2016-06-29
KR101495560B1 (ko) 2015-02-25
US9054920B2 (en) 2015-06-09
JP2014510977A (ja) 2014-05-01
EP2692114A1 (en) 2014-02-05

Similar Documents

Publication Publication Date Title
CN103477609A (zh) 管理数据文件传输
US9686358B2 (en) Devices and methods for network-coded and caching-aided content distribution
US8719889B2 (en) Live time-shift system based on P2P technology and method thereof
CN102523234A (zh) 一种应用服务器集群实现方法及系统
US20140040616A1 (en) Broadcast deduplication for satellite broadband
US9270731B2 (en) Topic-based messaging using consumer address and pool
CN101286936A (zh) 数据报文的处理方法及装置
US10165331B2 (en) Method and device operable to store video and audio data
CN101699822A (zh) 一种文件上传方法、装置和海量存储系统
KR20130088774A (ko) 분할 콘텐트 전달 시스템 및 방법
CN101800731B (zh) 网络传输管理服务器、网络传输管理方法及网络传输系统
US10178021B1 (en) Clustered architecture design
CN101674257A (zh) 一种消息存储方法、装置及一种消息处理系统
WO2016095149A1 (zh) 一种数据压缩存储方法、装置,及分布式文件系统
CN103455439A (zh) 本地缓存装置以及用于提供内容缓存服务的系统和方法
CN106059936B (zh) 云系统组播文件的方法及装置
US8688825B1 (en) System, method, and computer program for managing distribution of a finite amount of resources
CN104202386A (zh) 一种高并发量分布式文件系统及其二次负载均衡方法
US9264482B2 (en) Batching-based content routing method and apparatus for performing batching-based content routing method
US9535837B2 (en) Decentralized online cache management for digital content conveyed over shared network connections based on cache fullness and cache eviction policies
Sun et al. Placement delivery array design for the coded caching scheme in medical data sharing
KR20100120495A (ko) 무선 네트워크상에서의 콘텐츠 전송 시스템 및 방법
Merikhi et al. Cache-Aided Networks with Shared Caches and Correlated Content under Non-Uniform Demands
JP6078180B1 (ja) データ分散装置、データ分散方法及びデータ分散プログラム
CN101997889B (zh) 一种wlan网络中优化p2p传输的方法、系统及装置

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: 20160629

Termination date: 20180322