CN104539715A - Network multi-content request response method - Google Patents

Network multi-content request response method Download PDF

Info

Publication number
CN104539715A
CN104539715A CN201410857403.8A CN201410857403A CN104539715A CN 104539715 A CN104539715 A CN 104539715A CN 201410857403 A CN201410857403 A CN 201410857403A CN 104539715 A CN104539715 A CN 104539715A
Authority
CN
China
Prior art keywords
request
content
node
network
content blocks
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
CN201410857403.8A
Other languages
Chinese (zh)
Other versions
CN104539715B (en
Inventor
余顺争
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.)
Sun Yat Sen University
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
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 National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201410857403.8A priority Critical patent/CN104539715B/en
Publication of CN104539715A publication Critical patent/CN104539715A/en
Application granted granted Critical
Publication of CN104539715B publication Critical patent/CN104539715B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast

Abstract

The invention provides a network multi-content request response method. The method includes the steps that requested content can be placed at different positions of a network, each piece of content can be divided into one or more blocks, and the request to one or more pieces of content by users is a content block set request; the request is divided into a plurality of sub requests in the network to be led to different destinations; when the sub requests of different users meet one another in the network, the sub requests are combined into a larger sub request. According to the method, the binary matrix operation is used for conducting combining, dividing and duplication checking on the request; when the content blocks are reversely multicast to a requester along a request path, the content blocks which meet one another on the way are subjected to random network coding, and accordingly the concurrence request of downstream nodes to content block integration can be met; the content blocks and coding blocks are cached at nodes on the way, so that other follow-up user requests are responded in a nearby manner, and it is guaranteed that the cache coding blocks requested from different nodes by follow-up users are independent of one another.

Description

A kind of network many content request responses method
Technical field
The present invention relates to network information interworking architecture field, more specifically, relate to a kind of network many content request responses method.
Background technology
Along with Internet service in recent years flourish, the existing the Internet centered by network cannot adapt to new business demand.Wherein, the network (CCN:Content-CentricNetworking) centered by content is acknowledged as one of the most promising Future Internet framework.
In CCN, content has the global unique identification irrelevant with position, and user wraps acquisition request content by sending the request interest comprising a name identification, and network has then carried out the addressing to this content based on this mark; Multiple user, to the request bag of same content, forms one tree in a network, and this tree is used as the multicast tree of loopback content; The content of loopback incites somebody to action buffer memory on the way, making the request of subsequent user when running into this tree, can obtain this content nearby.
But in reality, a user often needs to ask multiple content simultaneously.Such as, to the request of a Web page, all comprise the request to multiple embedded link, the content of these embedded link may be placed on multiple different position on network, gathers needs consumption larger download time disperseing diverse location content in a network and requires larger bandwidth.
Summary of the invention
The invention provides a kind of network many content request responses method, realize the concurrent request to multiple content piecemeal and parallel transmission, reach the object of saving download time, volume of transmitted data.
In order to reach above-mentioned technique effect, technical scheme of the present invention is as follows:
A kind of network many content request responses method, comprises the following steps:
S1: each content in network is divided into several content blocks that length is L, described content blocks is distributed to multiple different nodal cache in network, be respectively the mark that peer distribution the whole network of each content blocks and this content blocks of buffer memory is unique, set up the corresponding relation between each content blocks and the mark of its both cache node, and by this corresponding relation preserve in a network all nodes forwarding information base or based on mark routing table among, determine the down hop of leading to each content blocks cache node for each node;
S2: one user sends request concomitantly to distribution multiple contents in a network, and namely this request is a request of all the elements set of blocks to described multiple content; Each request that in network, each node forwards is wrapped the request of a subset of carrying described content blocks set, and the content blocks cache node in described subclass, concerning present node, all has identical down hop; When node each in network receives multiple request bag from its multiple interface, set entrained by these request bags is merged, obtain a union, table of query and routing determines the down hop of leading to described and concentrated each content blocks cache node, then according to the difference of down hop, described union is divided into several subsets, and each subset is placed on an introversive next-hop node corresponding with it of request bag and forwards;
S3: the content blocks of each network node buffer memory of cache contents block responds the request bag received, when any node in network receives multiple different content block and encoding block, described multiple different content block and encoding block are buffered in this node, then carry out random network code with the full content block of buffer memory and encoding block and generate new separate encoding block, and respond the request to each content blocks subset received from each interface of this node with new encoded block; The content blocks of this nodal cache and encoding block are for responding the request of subsequent user.
Further, wrap the request of carrying a content blocks set with a request in described step S2, its generative process is as follows:
S21: by the mark S set={ name of all the elements block of multiple contents of a user concurrent request 1..., name nrepresent, wherein name 1..., name nbe the mark of different content block, N is total block data;
S22: when when being the subset of S, be expressed as [s, B] to the request of s, B is the binary matrix of N × N, if the diagonal entry b of B xx=1; If name x, b xy=1, otherwise b xy=0; If capable and the z of the z of B is classified as full 0; The request bag comprising request [s, B] is expressed as interest [s, B]; As s=S, B is all 1's matrix of N × N, and interest [S, B] is the initial request of a user;
The foundation of S23: concerning any node, subsetting s is, if name x, then with name xand name ydown hop corresponding to the object network of place is identical.
Further again, the method in described step S2, the set entrained by the multiple request bags received being merged into a union is as follows:
S24: as the interest [s received 1, B 1] ..., interest [s k, B k] be from k different interface receive come from the request bag of different user time, [s, B] conduct [s 1, B 1] ..., [s k, B k] union that obtains after merging, even b=B 1| B 2| ... | B k|, carry out binary system or computing between the corresponding position that wherein " | " represents two matrixes.
Further again, be divided into the detailed process of multiple subset as follows a union in described step S2:
S25: when union [s, B] needs to be divided into multiple subset [s' according to the difference of down hop 1, B' 1] ..., [s' k', B' k'] time, order b=B' 1| B' 2| ... | B' k'|, s' i∩ s' j=null, B' iaMP.AMp.Amp B' j=0, for i ≠ j, carries out binary system and computing between the corresponding position that wherein " & " represents two matrixes.Then the request bag interest [s' constructed 1, B' 1] ..., interest [s' k', B' k'] forward respectively to k' different down hop.
Finally, the request bag from multiple user that in described step S2, in network, each node receives can not arrive at short notice simultaneously, and after the request arrived in advance is forwarded away, the request handbag avoiding the later stage to forward is as follows containing the method for repetitive requests:
As [s' i, B' i] be step S25 from the request that i-th interface sends, [s' i1, B' i1] when being the new request that will send from i-th interface of step S25, make △ B' i=(B' i^B' i1) & B' i1, between the corresponding position that wherein " ^ " represents two matrixes, carry out binary system XOR; As △ B' ibe not full 0 matrix, the diagonal entry making its non-zero row place is 1, finds the mark of the content blocks that its non-zero row is corresponding, and the mark of these content blocks is added to △ s' iamong; The actual request bag sent from i-th interface is interest [△ s' i, △ B' i].
In described step S3, the node content blocks received and encoding block carry out random network code, generate separate encoding block, and to meet from the request that each interface receives, concrete grammar is:
S31: determine complete 1 submatrix representing same user request: set the paid-in summary request of this node as union [s, B]; After some row and column of identical numbering (corresponding with identical content block name) deleting B, being all 1's matrix of a r × r if remaining, is then complete 1 submatrix of r the exponent number that this matrix calls on the diagonal of B; If the exponent number of the most complete works of 1 submatrix on the diagonal of B is b, then it is designated as b=diagOne (B);
S32: determine to receive the requirement whether encoding block set meets B: when receive by indication | the b that V| content blocks is obtained by random network code≤| during V| encoding block, these encoding blocks referred to as NC (V, b); Then Gaussian elimination method is adopted to check: to establish W to be NC (V, b) b × | V| coefficient matrix, if for complete 1 submatrix in any one r rank on the linea angulata of B, the order of the b × r submatrix be made up of respective column in W is r, then NC (V, b) requirement of [s, B] can be met;
S33: when [s, B] is [s received from multiple interface that step S24 determines 1, B 1] ..., [s k, B k] union time, with b any in NC (V, b) i=diagOne (B i) satisfied [s of individual encoding block i, B i] request, wherein i=1 ..., k.
Further, step S3 is cached the content blocks received and encoding block, for responding the method for subsequent user request, specific as follows:
S34: checked whether local cache: when [s, B] be step S24 determine the union received from multiple interface time, first check whether the content blocks listed by s has buffer memory at this node; If the content blocks set of this nodal cache is C, then from s, remove the request to C ∩ s, and row and column corresponding with C ∩ s in B is become full 0, even s=s is (C ∩ s), B=B (C ∩ s);
S35: if remaining after the S34 that takes steps [s, B] non-NULL, then adopt the method for step S25, [s, B] be divided into the multiple request Packet forwarding of multiple subset and go out; After receiving asked full content block and encoding block, together with the content blocks set C of this nodal cache, adopt the method for step S31 ?33, generate separate encoding block, and according to the request received from each interface, the absolute coding block of required number is forwarded from each interface.
Finally, the content blocks that each nodal cache receives and encoding block are also equal to content blocks encoding block and use, and detailed process is as follows:
S36: each node is buffered in this locality the content blocks received from upstream node and encoding block, for responding the request in downstream node future; But not buffer memory oneself newly produced by random network code, for giving the encoding block of downstream node;
S37: b the absolute coding block newly produced this node distributes different names a: name respectively 1, name 2..., name b∈ s, requires that submatrix corresponding with these names in B is all 1's matrix; Distributed name is responded to downstream node together with encoding block; When being named as name kencoding block by downstream node buffer memory time, content blocks name will be equal to kuse, for responding the request in further downstream node future;
S38: when node can decode from the encoding block received obtain content blocks time, decoding and cache contents block; A block buffer memory portion of same name, and compared to the encoding block of same name, priority cache content blocks.
Compared with prior art, the beneficial effect of technical solution of the present invention is:
After the content of preserving within network nodes is carried out piecemeal by the present invention, the each Nodes of network is stored in content blocks dispersion as much as possible, user is made no matter to be to a content or the request to multiple content, all become the request to multiple content blocks, be more suitable for the Parallel download of content blocks, download time is faster, in the process that content blocks sends to user, again content blocks is carried out random network code generate the encoding block fewer than content blocks, with the encoding block multicast fewer than content blocks number to user, to save the amount of transfer of data.
Accompanying drawing explanation
When in Fig. 1 (a) embodiment of the present invention 1, user asks a content blocks set, the multicast tree that path is formed is walked by request bag institute, Fig. 1 (b) be in the embodiment of the present invention 1 content blocks send it back user walk path the schematic diagram set of reversing;
Fig. 2 be the embodiment of the present invention 1 interior joint receive one request interest time process flowchart;
Fig. 3 is the process flowchart of the embodiment of the present invention 1 interior joint when receiving an encoding block;
Fig. 4 is the exemplary plot that the embodiment of the present invention 1 interior joint receives downstream request interests and forwarded upstream request interests;
Fig. 5 is that the embodiment of the present invention 1 interior joint receives the response of upstream and the exemplary plot to downstream transmitted response.
Embodiment
Accompanying drawing, only for exemplary illustration, can not be interpreted as the restriction to this patent;
In order to better the present embodiment is described, some parts of accompanying drawing have omission, zoom in or out, and do not represent the size of actual product;
To those skilled in the art, in accompanying drawing, some known features and explanation thereof may be omitted is understandable.
Below in conjunction with drawings and Examples, technical scheme of the present invention is described further.
Embodiment 1
Many contents concurrent request of the present invention and response mechanism, disclose a kind of request-response model newly, is namely applicable to traditional request-response to a content, is applicable to again the concurrent request to multiple content.After each content is divided into one or more blocks, many content requests-response models, just can be described as the request-response of one group of user to a content blocks set.In the model, the request path of each user to this content blocks set forms a multicast tree, and as shown in Fig. 1 (a), the request path of this group user to each content blocks forms the tree of a reversing simultaneously, as shown in Fig. 1 (b).Content blocks along respective reversing tree parallel downloading, and in these reversing tree intertexture parts, carries out random network code to content blocks, with the encoding block multicast fewer than content blocks number to user, to save the amount of transfer of data.Node is then buffered in this locality the content blocks received and encoding block on the way, to respond follow-up request.In order to realize this many content requests-response models,
A kind of network many content request responses method, comprises the following steps:
S1: each content in network is divided into several content blocks that length is L, described content blocks is distributed to multiple different nodal cache in network, be respectively the mark that peer distribution the whole network of each content blocks and this content blocks of buffer memory is unique, set up the corresponding relation between each content blocks and the mark of its both cache node, and by this corresponding relation preserve in a network all nodes forwarding information base or based on mark routing table among, determine the down hop of leading to each content blocks cache node for each node;
S2: one user sends request concomitantly to distribution multiple contents in a network, and namely this request is a request of all the elements set of blocks to described multiple content; Each request that in network, each node forwards is wrapped the request of a subset of carrying described content blocks set, and the content blocks cache node in described subclass, concerning present node, all has identical down hop; When node each in network receives multiple request bag from its multiple interface, set entrained by these request bags is merged, obtain a union, table of query and routing determines the down hop of leading to described and concentrated each content blocks cache node, then according to the difference of down hop, described union is divided into several subsets, and each subset is placed on an introversive next-hop node corresponding with it of request bag and forwards;
S3: the content blocks of each network node buffer memory of cache contents block responds the request bag received, when any node in network receives multiple different content block and encoding block, described multiple different content block and encoding block are buffered in this node, then carry out random network code with the full content block of buffer memory and encoding block and generate new separate encoding block, and respond the request to each content blocks subset received from each interface of this node with new encoded block; The content blocks of this nodal cache and encoding block are for responding the request of subsequent user.
Specifically be implemented as follows:
First by the source node at content place, piecemeal is carried out to content.The object of piecemeal is convenient to network code, parallel transmission and dispersion buffer memory.Specifically each content is divided into several content blocks that fixed length is L; If last block length is less than L, then fill some bits, make its length equal fixed length L.Fixed length L will be the parameter that the whole network source node is all known.So each content is divided at least one block.
The basis of piecemeal is named content blocks, and object is convenient to realize the addressing based on name and route.If the name URLx that each content has the whole network unique, can be the naming of its kth piecemeal: URLx/k; And be designated as S={name by the name set of all piecemeals of content of asking simultaneously 1..., name n, wherein name 1..., name nrepresent the name of different content block, N is total block data.The naming method of content blocks, bundles the naming mechanism with content, as long as make to be aware of content name, is just aware of this interior naming method having how long (or how many piecemeals), each piecemeal.
Source node is after to content piecemeal, content blocks dispersion is as much as possible stored into network everywhere, object makes user no matter be to a content or the request to multiple content, all becomes the request to multiple content blocks, be more suitable for the Parallel download of content blocks.So, source node can be pushed on network buffer memory in multiple node randomly the content blocks newly producing or be updated, or the kth of a URLx block is pushed to buffer memory in node n=hash (URLx/k), wherein hash (x) is hash function, for the mapping names of content blocks to certain node address in network; Corresponding relation between the name of content blocks and placement location, will utilize network original naming and addressing mechanism, be recorded in forwarding information base FIB or based among the routing table of name.
The request to one group of content that user sends is all the request of the whole piecemeals to these contents, namely to the request of S.This request, in the multicast process on ground for the purpose of content blocks set-point, will progressively be divided into multiple subset.Request from same user can not on the way be met, but different user to the request of each subset of S likely on the way node meet.So, need the solicited message expressing the multiple subsets to S in an interest bag.For this reason, concurrent request to multiple content blocks can be expressed with binary matrix, namely when when being the subset of S, be expressed as [s, B] to the request of s, B is the binary matrix of N × N, if then its diagonal entry b xx=1; If name x, then b xy=1, otherwise b xy=0; If then the capable and z of the z of B is classified as full 0; The packet comprising solicited message [s, B] is expressed as interest [s, B]; As s=S, B is all 1's matrix of N × N, and interest [S, B] is the initial request that user sends.
Based on this expression, when node receives the interests from multiple different user, by binary matrix or computing multiple interests can be merged into an interest.Such as, as interest [s 1, B 1] and interest [s 2, B 2] when being the request coming from different user: make s=s 1∪ s 2, B=B 1| B 2, between the corresponding position that wherein " | " represents two matrixes, carry out binary system or computing; Then can obtain the request interest [s, B] merged.Below this union operation referred to as [s, B]=combine ([s 1, B 1], [s 2, B 2]).
In actual applications, according to the symmetry of the relation between the relation between content blocks name, s and B, B and the feature etc. comprising full 0 row and column, the length of interest [s, B] can be compressed.Such as, belong to the content blocks subset of same content, can represent with URLx:d, wherein URLx is the name of this content, and d is a binary number, and its kth position equals 1 and namely represents the kth block comprising URLx in this subset, and d be continuously 0 a high position remove.Again such as, the full 0 row of B and full 0 row can be removed, and utilize its symmetry, only retain its upper triangular matrix.
For the request [s needing forwarded upstream, B], multiple interests must be divided into send from distinct interface according to the difference of destination, the interest sent from distinct interface has different destinations, so this segmentation is that s is split disjoint subset.Such as, when [s, B] is divided into interest [s 1, B 1] and interest [s 2, B 2] two request bags time, make s 1∪ s 2=s, s 1∩ s 2=null, B 1| B 2=B, B 1aMP.AMp.Amp B 2=0, carry out binary system and computing between the corresponding position that wherein " & " represents two matrixes.
Consider that the interests from downstream can not arrive this node simultaneously, the interests of forwarded upstream also has successively, so need the multiple interests avoiding forwarded upstream to comprise the request of repetition.This can be realized by the XOR of binary matrix.Such as, when interest [s, B] is the request sent, [s 1, B 1] when being the request that newly will send, make [Δ s 1, Δ B 1]=[s 1, B 1] [s, B], [s, B]=combine ([s, B], [s 1, B 1]); As Δ B 1when not being full 0 matrix, actual transmission interest [Δ s 1, Δ B 1] instead of interest [s 1, B 1], to avoid carrying in [s, B] transmission request information.Wherein [Δ s 1, Δ B 1]=[s 1, B 1] [s, B] representative make Δ B 1=(B 1^B) & B 1and make Δ B 1the diagonal entry at non-zero row place is 1, then makes Δ s 1with Δ B 1non-zero row corresponding.
The solicited message that interest comprises, through constantly segmentation (multicast), when arriving the source node of most upstream, will become the request to the content blocks that this source node stores, not need to forward again.So, most upstream node loopback will be requested content blocks itself.But when this content blocks is sent back to secondary upstream node, secondary upstream node may need the content blocks utilizing it to store from the content blocks that multiple most upstreams node receives with this node, carries out random network code, to meet the request of its downstream node.When using the content blocks of subset s ≠ S to produce b<|s| absolute coding block, when content blocks that these encoding blocks receive in downstream and other direction, that do not belong to s and encoding block carry out further random network code, the absolute coding block being greater than b on s can not be produced.So, need the independence of the concurrent request information determination random network code block entrained by binary matrix and with obtain encoding block response downstream request.
The summary request of downstream user due to message reflection entrained in interest [s, B], wherein the request of each user is on the diagonal complete 1 submatrix of B.So, after some row and column of identical numbering (corresponding with identical content block name) deleting B, be all 1's matrix of a r × r if remaining (be complete 1 submatrix of r the exponent number that this matrix calls on the diagonal of B, it is different from complete 1 submatrix on ordinary meaning, that can be in optional position in B), then represent the request that the content blocks subset corresponding with this submatrix may come from same user, corresponding encoding block must be separate.The exponent number of the most complete works of 1 submatrix on the diagonal of B is designated as b=diagOne (B) below.
When receive b by in content blocks obtained by repeatedly random network code encoding block time, these encoding blocks referred to as NC (V, b); Because random network code can not ensure between encoding block certain independent, so need to adopt Gaussian elimination method to check, to determine whether these encoding block set meet the requirement of B: establish W to be NC (V, b) b × | V| coefficient matrix, if for complete 1 submatrix in any one r rank on the diagonal of B, the order of the b × r submatrix be made up of row corresponding in W is r, then NC (V, b) requirement of [s, B] can be met.
When [s, B] is [s received 1, B 1] ..., [s k, B k] etc. the summary request of multiple request time, namely as [s, B]=combine ([s 1, B 1] ..., [s k, B k]) time, can directly meet these point of request with NC (V, b), namely use any b in NC (V, b) n=diagOne (B n) satisfied [s of individual encoding block n, B n] request, n=1 ..., k, wherein | s|>=b>=max{|s 1| ..., | s k|>=max{b 1..., b k.This is because B 1and B 2complete arbitrarily 1 submatrix in B, have corresponding complete 1 submatrix, so when NC (V, b) can meet [s, B], just can [s be met 1, B 1] and [s 2, B 2].
Conversely, as interest [s 1, B 1] and interest [s 2, B 2] when being two the request bags upstream distributed according to the destination of [s, B], due to s 1∪ s 2=s, s 1∩ s 2=null, so need with upstream interest [s 1, B 1] and interest [s 2, B 2] response NC (V 1, b 1) and NC (V 2, b 2) carry out random network code, obtain new b absolute coding block, be designated as NC (V, b), wherein B 1| B 2=B, B 1aMP.AMp.Amp B 2=0, b 1=diagOne (B 1), b 2=diagOne (B 2), b=diagOne (B), then the request of NC (V, b) for satisfied [s, B].
Obviously, when s being divided into disjoint two subset s 1and s 2time, be equivalent to B be divide into four submatrixs, the B being wherein on diagonal 1and B 2, two other might as well be referred to as C 1and C 2; Similarly, also W can be divided into two according to row, divide into W 1and W 2two submatrixs, they can meet B respectively 1and B 2to the requirement of order.When complete 1 submatrix of certain on B diagonal does not belong to B 1or B 2time, necessarily include B 1, B 2, C 1, C 2each part.These are established a capital by the part one related to is complete 1 submatrix.So, use W 1in several rows and W 2in the row of Line independent that obtains of several rows linear combination, this complete 1 submatrix of B can be met to the requirement of order.
In addition, when interest [s, B] from same user time, b=|s|=b 1+ b 2, so do not increase the data volume needing to download from upstream, do not reduce the amount sending data to downstream yet; But when interest [s, B] represent multiple user ask time, b≤b 1+ b 2≤ | s 1|+| s 2|=| s|, so decrease | s|-(b 1+ b 2) data volume that individual needs are downloaded from upstream, decreasing | s|-b needs the data volume sent to downstream.So the present invention can reduce the transmission quantity of data.
According to the request mechanism of above-mentioned many content blocks, in network, each node is when receiving an interest from downstream, and as shown in Figure 2, its processing procedure is as follows:
(1), gather interests that this section point receives and determine the request that increases newly: when this node is from its interface face iwhen newly receiving one interest [s', B'], make [s, B]=[s', B'] [Ps, PB] be its request that is newly-increased, that need forwarded upstream, wherein [Ps, PB] is that this node has received but the summary request also do not met with a response; Then summary request is updated to [Ps, PB]=combine ([Ps, PB], [s', B']), [Ps i, PB i]=combine ([Ps i, PB i], [s', B']), wherein [Ps i, PB i] be from face isummary request, i=1 ..., m, m are the number of ports that this node has;
(2), local cache has been checked whether: if s non-NULL, then first check whether the content blocks listed by s has buffer memory at this node: set the content blocks set of this nodal cache as C, from s, then remove the request to C ∩ s, and row and column corresponding with C ∩ s in B is become full 0, even s=s (C ∩ s), B=B (C ∩ s);
(3), searching forwarding information base FIB determines forwarding interface: if s non-NULL, then according to the name of each content blocks in s, search the forwarding information base FIB of this node or the routing table based on name, determine to lead to the on-site interface of each content blocks;
(4), [s, B] is split: s is divided into disjoint subset s according to interface 1, s 2..., s m, and correspondingly B is divided into multiple matrix: B 1, B 2..., B m, wherein B jwith s jcorrespondence, B jif in content blocks name corresponding to row and column do not belong to s j, be then the row and column of full 0, j=1 ..., m;
(5), [s is sent j, B j]: if s jnon-NULL, then [s j, B j] from interface face jsend, and make flag j=pending, represents from face jhave sent request, need to wait for from face jresponse, j=1 ..., m.
According to the response mechanism of above-mentioned many content blocks, in network, each node is when receiving an encoding block of upstream response, and as shown in Figure 3, its processing procedure is as follows:
(6) the content blocks information, first comprised according to encoding block, that finds correspondence treats response summary request Ps (because will have different Ps for this node of different content combinations), then according to the difference of Ps, the encoding block that classification buffer memory receives;
(7), when receiving all flag jthe end of transmission mark End that the interface of=pending is sent j, j=1 ..., m, time, illustrate that the encoding block number that upstream station should respond all collects.If C is the content blocks set of this nodal cache, Ps ∩ C waits to respond the content blocks required for summary request, then carry out random network code with according to whole encoding block of Ps buffer memory and the content blocks subset Ps ∩ C of this nodal cache, obtain the individual new encoding block of b=diagOne (PB);
(8), b is established i=diagOne (PB i), then: work as b i=| Ps i| time, content blocks set Ps iany b in ∩ C and new encoded block i-| Ps ia ∩ C| encoding block, from interface face isend.Its objective is when allow as far as possible original contents block is responded to downstream.
(9), b is worked as i<|Ps i| time, any b in new encoded block iindividual encoding block is from interface face isend.
(10), when from interface face isend b iwhen individual content blocks or new encoded block, in the end bring end mark End for one piece i, to notify that downstream node is sent; Then [Ps, PB] is reset, [Ps i, PB i], flag i, i=1 ..., m.
In network, the benefit of buffer memory makes content blocks by the node be cached to as required closer to user.The method that the present invention discloses, not only cache contents block, goes back buffer memory encoding block, so not only makes buffer memory more disperse, and decreases the demand to node storage capacity, also improves the reliability of data.Meanwhile, also encoding block is equal to content blocks and uses, decrease the amount repeating to transmit.As shown in Figure 3.Specifically: each node is buffered in this locality the original contents block received from upstream node and encoding block, for responding the request in downstream node future; But not buffer memory oneself newly produced by random network code, for giving the encoding block of downstream node.
(11), in order to avoid one and same coding block in future by downstream node for responding the request of same user, different independent between the encoding block causing this user to receive, b the absolute coding block of this node to new generation distributes different names a: name respectively 1, name 2..., name b∈ Ps, requires that submatrix corresponding with these names in PB is complete 1 submatrix; Distributed name is responded to downstream node together with encoding block; When being named as name kencoding block by downstream node buffer memory time, content blocks name will be equal to kuse, for responding the request in further downstream node future;
When this node can decode from the encoding block received obtain content blocks time, decoding and cache contents block; A block buffer memory portion of same name, and compared to the encoding block of same name, priority cache content blocks.
Fig. 4 and Fig. 5 is the example of simple many content requests-response.In the diagram, node n 1and n 2respectively to its upstream node n 0forwarded request bag interest [s 1, B 1] and interest [s 2, B 2].Because these two requests come from different users, so s 1with s 2common factor may be had.They are at node n 0summary request be [Ps, PB]=combine ([s 1, B 1], [s 2, B 2]).Suppose node n 0there is no the content blocks of buffer memory, then node n 0must to its upstream node n 3and n 4forward the request about [Ps, PB].According to address, content blocks location in Ps, must request respectively from node n 0interface f 3and f 4forward.So Ps is divided into s 3and s 4two disjoint subsets, PB is also divided into B 3and B 4two disjoint matrixes.Last interest [s 3, B 3] and interest [s 4, B 4] by node n 0send to its upstream node n respectively 3and n 4.
In Figure 5, upstream node n 3and n 4respectively for interest [s 3, B 3] and interest [s 4, B 4] respond NC (V 3, b 3) and NC (V 4, b 4).Node n 0after receiving these encoding blocks whole, with the set NC (V of these encoding blocks 3, b 3) ∪ NC (V 4, b 4) carry out random network code, obtain new encoding block NC (V, b), V=V 3∪ V 4.NC (V, b wherein 1) and NC (V, b 2) by respectively from node n 0interface f 1and f 2send, come from its downstream node n for response 1and n 2request interest [s 1, B 1] and interest [s 2, B 2], wherein b 1=diagOne (B 1), b 2=diagOne (B 2), b=diagOne (PB).
The corresponding same or analogous parts of same or analogous label;
Describe in accompanying drawing position relationship for only for exemplary illustration, the restriction to this patent can not be interpreted as;
Obviously, the above embodiment of the present invention is only for example of the present invention is clearly described, and is not the restriction to embodiments of the present invention.For those of ordinary skill in the field, can also make other changes in different forms on the basis of the above description.Here exhaustive without the need to also giving all execution modes.All any amendments done within the spirit and principles in the present invention, equivalent to replace and improvement etc., within the protection range that all should be included in the claims in the present invention.

Claims (8)

1. network many content request responses method, is characterized in that, comprises the following steps:
S1: each content in network is divided into several content blocks that length is L, described content blocks is distributed to multiple different nodal cache in network, be respectively the mark that peer distribution the whole network of each content blocks and this content blocks of buffer memory is unique, set up the corresponding relation between each content blocks and the mark of its both cache node, and by this corresponding relation preserve in a network all nodes forwarding information base or based on mark routing table among, determine the down hop of leading to each content blocks cache node for each node;
S2: one user sends request concomitantly to distribution multiple contents in a network, and namely this request is a request of all the elements set of blocks to described multiple content; Each request that in network, each node forwards is wrapped the request of a subset of carrying described content blocks set, and the content blocks cache node in described subclass, concerning present node, all has identical down hop; When node each in network receives multiple request bag from its multiple interface, set entrained by these request bags is merged, obtain a union, table of query and routing determines the down hop of leading to described and concentrated each content blocks cache node, then according to the difference of down hop, described union is divided into several subsets, and each subset is placed on an introversive next-hop node corresponding with it of request bag and forwards;
S3: the content blocks of each network node buffer memory of cache contents block responds the request bag received, when any node in network receives multiple different content block and encoding block, described multiple different content block and encoding block are buffered in this node, then carry out random network code with the full content block of buffer memory and encoding block and generate new separate encoding block, and respond the request to each content blocks subset received from each interface of this node with new encoded block; The content blocks of this nodal cache and encoding block are for responding the request of subsequent user.
2. network many content request responses method according to claim 1, is characterized in that, wrap the request of carrying a content blocks set with a request in described step S2, its generative process is as follows:
S21: by the mark S set={ name of all the elements block of multiple contents of a user concurrent request 1..., name nrepresent, wherein name 1..., name nbe the mark of different content block, N is total block data;
S22: when when being the subset of S, be expressed as [s, B] to the request of s, B is the binary matrix of N × N, if the diagonal entry b of B xx=1; If name x, b xy=1, otherwise b xy=0; If capable and the z of the z of B is classified as full 0; The request bag comprising request [s, B] is expressed as interest [s, B]; As s=S, B is all 1's matrix of N × N, and [S, B] is the initial request of a user;
The foundation of S23: concerning any node, subsetting s is, if name x, then with name xand name ydown hop corresponding to the object network of place is identical.
3. network many content request responses method according to claim 2, is characterized in that, the method in described step S2, the set entrained by the multiple request bags received being merged into a union is as follows:
S24: as the interest [s received 1, B 1] ..., interest [s k, B k] be from k different interface receive come from the request bag of different user time, [s, B] conduct [s 1, B 1] ..., [s k, B k] union that obtains after merging, even b=B 1| B 2| ... | B k|, carry out binary system or computing between the corresponding position that wherein " | " represents two matrixes.
4. network many content request responses method according to claim 3, is characterized in that, is divided into the detailed process of multiple subset as follows a union in described step S2:
S25: when union [s, B] needs to be divided into multiple subset [s' according to the difference of down hop 1, B' 1] ..., [s' k', B' k'] time, order b=B' 1| B' 2| ... | B' k'|, s' i∩ s' j=null, B' iaMP.AMp.Amp B' j=0, for i ≠ j, carries out binary system and computing between the corresponding position that wherein " & " represents two matrixes.Then the request bag interest [s' constructed 1, B' 1] ..., interest [s' k', B' k'] forward respectively to k' different down hop.
5. network many content request responses method according to claim 4, it is characterized in that, the request bag from multiple user that in described step S2, in network, each node receives can not arrive at short notice simultaneously, after the request arrived in advance is forwarded away, the request handbag avoiding the later stage to forward is as follows containing the method for repetitive requests:
As [s' i, B' i] be step S25 from the request that i-th interface sends, [s' i1, B' i1] when being the new request that will send from i-th interface of step S25, make △ B' i=(B' i^B' i1) & B' i1, between the corresponding position that wherein " ^ " represents two matrixes, carry out binary system XOR; As △ B' ibe not full 0 matrix, the diagonal entry making its non-zero row place is 1, finds the mark of the content blocks that its non-zero row is corresponding, and the mark of these content blocks is added to △ s' iamong; The actual request bag sent from i-th interface is interest [△ s' i, △ B' i].
6. network many content request responses method according to claim 1, is characterized in that, in described step S3, the node content blocks received and encoding block carry out random network code, generate separate encoding block, to meet from the request that each interface receives, concrete grammar is:
S31: determine complete 1 submatrix representing same user request: set the paid-in summary request of this node as union [s, B]; After some row and column of identical numbering (corresponding with identical content block name) deleting B, being all 1's matrix of a r × r if remaining, is then complete 1 submatrix of r the exponent number that this matrix calls on the diagonal of B; If the exponent number of the most complete works of 1 submatrix on the diagonal of B is b, then it is designated as b=diagOne (B);
S32: determine to receive the requirement whether encoding block set meets B: when receive by indication | the b that V| content blocks is obtained by random network code≤| during V| encoding block, these encoding blocks referred to as NC (V, b); Then Gaussian elimination method is adopted to check: to establish W to be NC (V, b) b × | V| coefficient matrix, if for complete 1 submatrix in any one r rank on the linea angulata of B, the order of the b × r submatrix be made up of respective column in W is r, then NC (V, b) requirement of [s, B] can be met;
S33: when [s, B] is [s received from multiple interface that step S24 determines 1, B 1] ..., [s k, B k] union time, with b any in NC (V, b) i=diagOne (B i) satisfied [s of individual encoding block i, B i] request, wherein i=1 ..., k.
7. network many content request responses method according to claim 6, it is characterized in that, step S3 is cached the content blocks received and encoding block, for responding the method for subsequent user request, specific as follows:
S34: checked whether local cache: when [s, B] be step S24 determine the union received from multiple interface time, first check whether the content blocks listed by s has buffer memory at this node; If the content blocks set of this nodal cache is C, then from s, remove the request to C ∩ s, and row and column corresponding with C ∩ s in B is become full 0, even s=s is (C ∩ s), B=B (C ∩ s);
S35: if remaining after the S34 that takes steps [s, B] non-NULL, then adopt the method for step S25, [s, B] be divided into the multiple request Packet forwarding of multiple subset and go out; After receiving asked full content block and encoding block, together with the content blocks set C of this nodal cache, adopt the method for step S31 ?33, generate separate encoding block, and according to the request received from each interface, the absolute coding block of required number is forwarded from each interface.
8. network many content request responses method according to claim 7, is characterized in that, the content blocks that each nodal cache receives and encoding block are also equal to content blocks encoding block and use, and its detailed process is as follows:
S36: each node is buffered in this locality the content blocks received from upstream node and encoding block, for responding the request in downstream node future; But not buffer memory oneself newly produced by random network code, for giving the encoding block of downstream node;
S37: b the absolute coding block newly produced this node distributes different names a: name respectively 1, name 2..., name b∈ s, requires that submatrix corresponding with these names in B is all 1's matrix; Distributed name is responded to downstream node together with encoding block; When being named as name kencoding block by downstream node buffer memory time, content blocks name will be equal to kuse, for responding the request in further downstream node future;
S38: when node decode from the encoding block received obtain content blocks time, decoding and cache contents block; A block buffer memory portion of same name, and compared to the encoding block of same name, priority cache content blocks.
CN201410857403.8A 2014-12-31 2014-12-31 A kind of more content request responses methods of network Active CN104539715B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410857403.8A CN104539715B (en) 2014-12-31 2014-12-31 A kind of more content request responses methods of network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410857403.8A CN104539715B (en) 2014-12-31 2014-12-31 A kind of more content request responses methods of network

Publications (2)

Publication Number Publication Date
CN104539715A true CN104539715A (en) 2015-04-22
CN104539715B CN104539715B (en) 2018-07-20

Family

ID=52855182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410857403.8A Active CN104539715B (en) 2014-12-31 2014-12-31 A kind of more content request responses methods of network

Country Status (1)

Country Link
CN (1) CN104539715B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016188293A1 (en) * 2015-05-28 2016-12-01 阿里巴巴集团控股有限公司 Data acquisition method and device
CN111385335A (en) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 Data request processing method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120036180A1 (en) * 2010-08-06 2012-02-09 Palo Alto Research Center Incorporated Service virtualization over content-centric networks
CN103379029A (en) * 2012-04-24 2013-10-30 华为技术有限公司 Method, device and system for forwarding routing of content network
CN103457700A (en) * 2013-08-20 2013-12-18 重庆邮电大学 Data packet content name coding compression method in NDN/CCN
CN103747083A (en) * 2014-01-02 2014-04-23 北京邮电大学 Content pushing method based on CCN (Content Centric Network)
CN103988458A (en) * 2011-12-09 2014-08-13 华为技术有限公司 Method for network coding packets in content-centric networking based networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120036180A1 (en) * 2010-08-06 2012-02-09 Palo Alto Research Center Incorporated Service virtualization over content-centric networks
CN103988458A (en) * 2011-12-09 2014-08-13 华为技术有限公司 Method for network coding packets in content-centric networking based networks
CN103379029A (en) * 2012-04-24 2013-10-30 华为技术有限公司 Method, device and system for forwarding routing of content network
CN103457700A (en) * 2013-08-20 2013-12-18 重庆邮电大学 Data packet content name coding compression method in NDN/CCN
CN103747083A (en) * 2014-01-02 2014-04-23 北京邮电大学 Content pushing method based on CCN (Content Centric Network)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016188293A1 (en) * 2015-05-28 2016-12-01 阿里巴巴集团控股有限公司 Data acquisition method and device
CN106294452A (en) * 2015-05-28 2017-01-04 阿里巴巴集团控股有限公司 Data capture method and device
CN106294452B (en) * 2015-05-28 2019-07-23 阿里巴巴集团控股有限公司 Data capture method and device
CN111385335A (en) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 Data request processing method, device, equipment and storage medium
CN111385335B (en) * 2018-12-29 2023-04-07 广州市百果园信息技术有限公司 Data request processing method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN104539715B (en) 2018-07-20

Similar Documents

Publication Publication Date Title
CN101459619B (en) Method and apparatus for packet transmission processing in network
JP3735471B2 (en) Packet relay device and LSI
CN101286936B (en) Method and apparatus for data message processing
CN101820386B (en) Method and system for facilitating forwarding a packet in a content-centric network
CN101645039B (en) Method for storing and reading data based on Peterson graph
CN104038425B (en) The method and apparatus for forwarding ether network packet
CN103986763A (en) Vector data stream transmission method and system oriented to Web visualization
CN1988449A (en) Data distributing/obtaining method based on network information
CN103747083B (en) A kind of content delivery method based on CCN
CN105872008A (en) System and method for on-demand content exchange with adaptive naming in information-centric networks
CN104917680B (en) For executing the computer system of the parallel hash of stream of packets
CN101562556A (en) Method, device and system for reducing network coding cost
CN101489248A (en) Light weight monitoring method for wireless sensor network topology
CN102571936B (en) Method, device and system for searching data
CN103024085A (en) System and method for processing P2P (peer-to-peer) node request
CN103326925B (en) A kind of information push method and device
CN103281382A (en) Method and node for file transfer based on p2p
CN107864092B (en) Cloud content distribution method and device based on multicast technology
CN104539715A (en) Network multi-content request response method
CN101599910B (en) Method and device for sending messages
JP2013168883A (en) Communication device
CN102316021A (en) Method for realizing load sharing of switch aggregation port and switch
CN104954419A (en) Multi-object interest using network names
CN102904803A (en) Message transmission method and equipment
CN102571609A (en) Recombination sequencing method of fast serial interface programmable communication interface-express (PCI-E) protocol completion with data (CplD)

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant