CN104539715B - A kind of more content request responses methods of network - Google Patents

A kind of more content request responses methods of network Download PDF

Info

Publication number
CN104539715B
CN104539715B CN201410857403.8A CN201410857403A CN104539715B CN 104539715 B CN104539715 B CN 104539715B CN 201410857403 A CN201410857403 A CN 201410857403A CN 104539715 B CN104539715 B CN 104539715B
Authority
CN
China
Prior art keywords
request
content
node
blocks
network
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.)
Active
Application number
CN201410857403.8A
Other languages
Chinese (zh)
Other versions
CN104539715A (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
Original Assignee
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 Sun Yat Sen University filed Critical 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention provides a kind of more content request responses methods of network, and requested content may be at position multiple and different on network, and each content can be divided into one or more blocks, and user is to the request that the request of one or more contents is to content set of blocks;The request is divided into multiple sub- requests and leads to different destinations in a network.When the son request of different user is met in a network, this little request is merged into the son request of a bigger.Merging, segmentation and the duplicate checking that the operation of present invention binary matrix makes requests on;When the path reverse multi-case that content blocks come along request is to requestor, the content blocks to meet on the way are by carry out random network code, to meet concurrent request of the downstream node to content set of blocks;Content blocks and encoding block to respond the request of follow-up other users nearby, and will ensure that the caching encoding block that subsequent user is asked from different nodes is independent from each other in nodal cache on the way.

Description

A kind of more content request responses methods of network
Technical field
The present invention relates to network information interworking architecture fields, more particularly, to a kind of more content request responses sides of network Method.
Background technology
With Internet service flourishing in recent years, existing network-centric internet can not Adapt to new business demand.Wherein, (CCN network using content as center:Content-Centric Networking) it is public Think one of most promising Future Internet framework.
In CCN, there is content the global unique identification unrelated with position, user to be identified comprising a name by sending Request interest packets carry out one content of acquisition request, network then completes the addressing to the content based on the mark;It is multiple User forms one tree in a network to the request bag of the same content, which is used as the multicast tree of loopback content;Loopback Content will cache on the way so that the request of subsequent user can obtain the content nearby when encountering the tree.
But in reality, a user generally requires to ask multiple contents simultaneously.For example, the request to a Web page, All include the request to multiple embedded links, the content of these embedded links would be likely placed at position multiple and different on network, Different location content aggregation gets up to need to consume larger download time and requires larger bandwidth in a network for dispersion.
Invention content
The present invention provides a kind of more content request responses methods of network, realizes to the concurrent requests of multiple content piecemeals and simultaneously Row transmission achievees the purpose that save download time, volume of transmitted data.
In order to reach above-mentioned technique effect, technical scheme is as follows:
A kind of more content request responses methods of network, include the following steps:
S1:Each content in network is divided into several content blocks that length is L, the content blocks are distributed to network In multiple and different nodal cache, respectively each content blocks and the node for caching the content blocks distribute the whole network and uniquely identify, The correspondence between the mark of both each content blocks and its cache node is established, and the correspondence is preserved in a network Among the forwarding information storehouse of all nodes or routing table based on mark, lead to each content blocks caching for the determination of each node The next-hop of node;
S2:One user concomitantly sends out request to the multiple contents of distribution in a network, which is to described more One request of all the elements set of blocks of a content;Each request bag of each node forwarding will be carried to described interior in network Hold the request of a subset of set of blocks, the content blocks cache node in the subclass all has phase for present node Same next-hop;When each node receives multiple request bags from its multiple interface in network, entrained by these request bags Set merges, and obtains a union, and table of query and routing, which determines, leads to next-hop that is described and concentrating each content blocks cache node, Then according to the difference of next-hop, the union is divided into several subsets, each subset be placed in a request bag to Its corresponding next-hop node forwards;
S3:The content blocks of each network node caching of cache contents block respond the request bag received, when in network When one node receives multiple and different content blocks and encoding block, multiple and different content blocks and encoding block are buffered in this section Then point carries out random network code with the full content block of caching and encoding block and generates new mutually independent encoding block, and The request to each content blocks subset received from each interface of this node is responded with new encoded block;The content blocks of this nodal cache and Encoding block is used to respond the request of subsequent user.
Further, the request to a content set of blocks, generating process are carried with a request bag in the step S2 It is as follows:
S21:By the mark set S=of all the elements block of multiple contents of user concurrent request {name1,...,nameNIndicate, wherein name1,...,nameNIt is the mark of different content block, N is total block data;
S22:WhenWhen being the subset of S, being expressed as [s, B] to the request of s, B is the binary matrix of N × N, ifThe diagonal entry b of Bxx=1;If namex,bxy=1, otherwise bxy=0;IfB Z rows and z be classified as full 0;Request bag comprising request [s, B] is expressed as interest [s, B];As s=S, B is N The all 1's matrix of × N, interest [S, B] are the initial request of a user;
S23:For any node, the foundation of subsetting s is, if namex,Then with namexWith nameyNext-hop corresponding to the purpose network of place is identical.
Further, by the side for being merged into a union entrained by the multiple request bags received in the step S2 Method is as follows:
S24:As the interest [s received1,B1],...,interest[sk,Bk] it is to be received from k different interfaces When coming from the request bag of different user, it assigns [s, B] as [s1,B1],...,[sk,Bk] union that obtains after merging, evenWherein " | " carries out binary system or operation between representing the correspondence positions of two matrixes.
Further, it is divided into the detailed process of multiple subsets as follows a union in the step S2:
S25:When union [s, B] needs to be divided into multiple subset [s' according to the difference of next-hop1,B'1],...,[s'k', B'k'] when, it enablesIf when i ≠ j, s'i∩s'j=null, B'i&B'j=0, it is describedWherein " & " carries out binary system and operation between representing the correspondence positions of two matrixes, then the request constructed Wrap interest [s'1,B'1],...,interest[s'k',B'k'] forwarded respectively to k' different next-hops.
Finally, the request bag from multiple users that each node receives in network in the step S2 will not be in the short time Interior to reach simultaneously, after the request reached in advance is forwarded away, it includes repetitive requests to avoid the request bag of later stage forwarding Method is as follows:
As [s'i,B'i] it is the request that step S25 has been sent from i-th of interface, [s'i1,B'i1] it is step S25 New will enable △ B' from when the request that i-th of interface is senti=(B'i^B'i1)&B'i1, wherein " ^ " represents pair of two matrixes It answers and carries out binary system XOR operation between position;As △ B'iIt is not full 0 matrix, the diagonal entry where enabling its non-zero row is 1, is looked for To the mark of the corresponding content blocks of its non-zero row, and the mark of these content blocks is added to △ s'iAmong;Actually from i-th of interface The request bag sent is interest [△ s'i,△B'i]。
In the step S3, node carries out random network code with the content blocks and encoding block received, generates mutually only Vertical encoding block, to meet the request received from each interface, specific method is:
S31:Determine complete 1 submatrix for representing same user's request:If the paid-in summary request of the node be union [s, B];After deleting certain row and columns of identical number (corresponding with identical content block name) of B, if remaining is a r The matrix is then called complete 1 submatrix that an exponent number on the diagonal line of B is r by all 1's matrix of × r;If the diagonal line of B On the exponent number of most complete works of 1 submatrix be b, then it is denoted as b=diagOne (B);
S32:It determines and has been received by the requirement whether coding set of blocks meets B:When receive bySignified | V | a content blocks The b obtained by random network code≤| V | when a encoding block, these encoding blocks are abbreviated as NC (V, b);Then Gauss is used The elimination is checked:If W be NC (V, b) b × | V | coefficient matrix, if for any one r rank on the diagonal line of B The order of complete 1 submatrix, the b × r submatrixs being made of respective column in W is r, then NC (V, b) disclosure satisfy that the requirement of [s, B];Institute The V stated is the set for including set s;
S33:When [s, B] is [s received from multiple interfaces that step S24 is determined1,B1],...,[sk,Bk] union when, With arbitrary b in NC (V, b)i=diagOne (Bi) a encoding block meets [si,Bi] request, wherein i=1 ..., k.
Further, step S3 is cached the content blocks and encoding block that receive, the side for responding subsequent user request Method, it is specific as follows:
S34:Check whether there is local cache:When [s, B] is the union received from multiple interfaces that step S24 is determined, First check whether the content blocks listed by s have caching in this node;If the content set of blocks of this nodal cache is C, then remove from s 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);
S35:If [s, B] non-empty remaining after the S34 that takes steps, then the method for using step S25, [s, B] It is divided into multiple subsets to be forwarded with multiple request bags;After receiving requested full content block and encoding block, with this section The content set of blocks C of point cache together, using the method for step S31-33, generates mutually independent encoding block, and according to from every The request that a interface receives forwards the absolute coding block of required number from each interface.
Finally, encoding block is simultaneously equal to content blocks and used by each nodal cache receives content blocks and encoding block, specifically Process is as follows:
S36:The content blocks and encoding block that are received from upstream node are buffered in local by each node, for responding downstream The request in node future;But oneself encoding block newly generated by random network code, for giving downstream node is not cached;
S37:B absolute coding block newly generated to this node distributes a different name respectively:title1, title2,…,titleb∈ s, it is desired to which submatrix corresponding with these names is all 1's matrix in B;The name distributed is same Encoding block responds to downstream node together;When being named as titlenEncoding block when being cached by downstream node, would be equivalent to interior Hold block titlenIt uses, the request for responding further downstream node future;
S38:When node can be decoded from the encoding block received obtains content blocks, simultaneously cache contents block is decoded;It is identical The block of name only caches portion, and compared to the encoding block of same name, priority cache content blocks.
Compared with prior art, the advantageous effect of technical solution of the present invention is:
After the content of preservation within network nodes is carried out piecemeal by the present invention, the dispersion of content blocks as much as possible is stored To at each node of network so that user becomes multiple contents in pairs either to the still request to multiple contents of a content The request of block, more suitable for the Parallel download of content blocks, download time faster, again will during content blocks are sent to user Content blocks carry out random network code and generate the encoding block fewer than content blocks, with the encoding block multicast fewer than content block number to use Family, to save the amount of data transmission.
Description of the drawings
User asks the multicast that the walked path of request bag is formed when a content set of blocks in Fig. 1 (a) embodiment of the present invention 1 Tree, Fig. 1 (b) are the schematic diagrames for the reversing tree that content blocks send back the walked path of user in the embodiment of the present invention 1;
Fig. 2 is process flowchart when 1 interior joint of the embodiment of the present invention receives a request interest;
Fig. 3 is process flowchart when 1 interior joint of the embodiment of the present invention receives an encoding block;
Fig. 4 is that 1 interior joint of the embodiment of the present invention receives downstream request interests and forwarded upstream request The exemplary plot of interests;
Fig. 5 is the exemplary plot of response and downstream transmitted response that 1 interior joint of the embodiment of the present invention receives upstream.
Specific implementation mode
The attached figures are only used for illustrative purposes and cannot be understood as limitating the patent;
In order to more preferably illustrate that the present embodiment, the certain components of attached drawing have omission, zoom in or out, actual product is not represented Size;
To those skilled in the art, it is to be appreciated that certain known features and its explanation, which may be omitted, in attached drawing 's.
The following further describes the technical solution of the present invention with reference to the accompanying drawings and examples.
Embodiment 1
The more content concurrent requests and response mechanism of the present invention, disclose a kind of new request-response model, that is, are suitable for Traditional request-response to a content, and suitable for the concurrent request to multiple contents.It is divided into one in each content To after multiple pieces, more content requests-response models, so that it may to be described as the request-of a content set of blocks of one group of user couple Response.In the model, each user forms a multicast tree to the request path of the content set of blocks, as shown in Fig. 1 (a), This group of user forms the request path of each content blocks the tree of one reversing simultaneously, as shown in Fig. 1 (b).Content blocks are along each From reversing tree parallel downloading, and these reversing tree interweave in place of, to content blocks carry out random network code, with than content blocks The few encoding block multicast of number is to user, to save the amount of data transmission.Node then delays the content blocks and encoding block that receive on the way There are locals, to respond subsequent request.In order to realize this more content requests-response models,
A kind of more content request responses methods of network, include the following steps:
S1:Each content in network is divided into several content blocks that length is L, the content blocks are distributed to network In multiple and different nodal cache, respectively each content blocks and the node for caching the content blocks distribute the whole network and uniquely identify, The correspondence between the mark of both each content blocks and its cache node is established, and the correspondence is preserved in a network Among the forwarding information storehouse of all nodes or routing table based on mark, lead to each content blocks caching for the determination of each node The next-hop of node;
S2:One user concomitantly sends out request to the multiple contents of distribution in a network, which is to described more One request of all the elements set of blocks of a content;Each request bag of each node forwarding will be carried to described interior in network Hold the request of a subset of set of blocks, the content blocks cache node in the subclass all has phase for present node Same next-hop;When each node receives multiple request bags from its multiple interface in network, entrained by these request bags Set merges, and obtains a union, and table of query and routing, which determines, leads to next-hop that is described and concentrating each content blocks cache node, Then according to the difference of next-hop, the union is divided into several subsets, each subset be placed in a request bag to Its corresponding next-hop node forwards;
S3:The content blocks of each network node caching of cache contents block respond the request bag received, when in network When one node receives multiple and different content blocks and encoding block, multiple and different content blocks and encoding block are buffered in this section Then point carries out random network code with the full content block of caching and encoding block and generates new mutually independent encoding block, and The request to each content blocks subset received from each interface of this node is responded with new encoded block;The content blocks of this nodal cache and Encoding block is used to respond the request of subsequent user.
Specific implementation is as follows:
Piecemeal is carried out to content as the source node where content first.The purpose of piecemeal is easy for network code, parallel biography Defeated and dispersion caching.Specifically each content is divided into several content blocks of fixed a length of L;If last block length is small In L, then some bits are filled so that its length is equal to fixed long L.Fixed long L will be a ginseng that the whole network source node is both known about Number.So each content is divided at least one block.
Content blocks are named on the basis of piecemeal, purpose is easy to implement addressing and routing based on name.If every A content has the unique name URLx of the whole network, can be the naming of its k-th of piecemeal:URLx/k;And by simultaneously The name set of all piecemeals of the content of request is denoted as S={ name1,...,nameN, wherein name1,...,nameNIt represents The name of different content block, N are total block datas.The naming method of content blocks bundles the naming mechanism with content so that As long as being aware of content name, be known that this it is interior have how long (or how many a piecemeals), each piecemeal naming method.
Source node stores the dispersion of content blocks as much as possible to network everywhere, it is therefore an objective to make after to content piecemeal User is obtained either to the still request to multiple contents of a content, all becomes the request of multiple content blocks in pairs, more suitable for The Parallel download of content blocks.So source node the content blocks for newly generating or being updated can be randomly pushed to it is more on network It is cached in a node, or caching in node n=hash (URLx/k) is pushed to k-th piece of URLx, wherein hash (x) is Hash function, some node address for the name of content blocks being mapped in network;The name and placement location of content blocks Between correspondence, will utilize the original naming and addressing mechanism of network, be recorded in forwarding information storehouse FIB or based on name Among routing table.
What user sent out is all request to whole piecemeals of these contents to the request of one group of content, i.e., to the request of S. The request is using content blocks set-point in the multicast process of destination, will to be gradually divided into multiple subsets.From the same use The request at family will not on the way meet, but different user is possible to node on the way to the request of each subset of S and meets.Institute To need to express the solicited message to multiple subsets of S in an interest packet.For this purpose, a binary system square can be used The concurrent request of multiple content blocks is worked as in battle array expressionWhen being the subset of S, being expressed as [s, B] to the request of s, B is N The binary matrix of × N, ifThen its diagonal entry bxx=1;If namex,Then bxy=1, it is no Then bxy=0;IfThen the z rows of B and z are classified as full 0;Data 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 out Packet.
Pass through binary system square when node receives the interests from multiple and different users based on this expression Battle array or operation multiple interests can be merged into an interest.For example, working as interest [s1,B1] and interest[s2,B2] when coming from the request of different user:Enable s=s1∪s2, B=B1|B2, wherein " | " represents two squares Binary system or operation are carried out between the correspondence position of battle array;The request interest [s, B] that can be then merged.Below this conjunction Union is abbreviated as [s, B]=combine ([s1,B1],[s2,B2])。
In practical applications, can according between relationship, s and the B between content block name relationship, the symmetry of B and Including the characteristics of full 0 row and column etc., compress the length of interest [s, B].For example, belonging to the content of the same content Block subset can use URLx:D indicates that wherein URLx is the name of the content, and d is binary number, and kth position is equal to 1 It indicates to include in the subset kth block of URLx, and the continuous of d is removed for 0 high position.In another example can be the full 0 row of B Remove with full 0 row, and utilize its symmetry, only retains its upper triangular matrix.
For needing the request [s, B] of forwarded upstream, it is necessary to be divided into multiple interests according to the difference of destination It being sent from distinct interface, the interest sent from distinct interface has different destinations, so, this segmentation It is that s is divided disjoint subset.For example, when [s, B] is divided into interest [s1,B1] and interest [s2,B2] two When request bag, s is enabled1∪s2=s, s1∩s2=null, B1|B2=B, B1&B2=0, wherein " & " represents the correspondence position of two matrixes Between carry out binary system and operation.
In view of the interests from downstream will not reach this node simultaneously, the interests of forwarded upstream also can Have successively, so needing to avoid multiple interests of forwarded upstream to include the request repeated.This can pass through binary system square The XOR operation of battle array is realized.For example, when interest [s, B] is the request sent, [s1,B1] it is newly to send Request when, enable [Δ s1,ΔB1]=[s1,B1] [s, B], [s, B]=combine ([s, B], [s1,B1]);As Δ B1It is not It is practical to send interest [Δ s when full 0 matrix1,ΔB1] rather than interest [s1,B1], it avoids carrying and sent out in [s, B] Send solicited message.Wherein [Δ s1,ΔB1]=[s1,B1] [s, B] representative enable Δ B1=(B1^B)&B1And enable Δ B1Non-zero row institute Diagonal entry be 1, then enable Δ s1With Δ B1Non-zero row correspond to.
The solicited message that interest is included, by constantly dividing (multicast), when reaching the source node of most upstream, The request for the content blocks that the source node is stored in pairs will be become, need not forwarded again.So most upstream node loopback will be by Content blocks of request itself.But when the content blocks are sent back to time upstream node, secondary upstream node may need using its from The content blocks of content blocks and the storage of this node that multiple most upstream nodes receive, carry out random network code, to meet downstream The request of node.As the content blocks generation b using subset s ≠ S<| s | when a absolute coding block, these encoding blocks are in downstream and its When content blocks that its direction receives, being not belonging to s and encoding block carry out further random network code, it is impossible to generate on s The absolute coding block more than b.It is therefore desirable to which the concurrent request information entrained by binary matrix determines that random network is compiled The independence of code block and the request that downstream is responded with obtained encoding block.
Due to message reflection entrained in interest [s, the B] summary request of downstream user, wherein each user Request be all B on the diagonal complete 1 submatrix.So deleting the identical number of B (with identical content blocks name Word correspond to) certain row and columns after, if remaining is that all 1's matrix of a r × r (calls the matrix on the diagonal line of B An exponent number be r complete 1 submatrix, it is different from ordinary meaning, the complete 1 sub- square that may be at any position in B Battle array), then it represents content blocks subset corresponding with the submatrix and may be from the request of the same user, corresponding coding Block must be mutual indepedent.The exponent number of most complete works of 1 submatrix on the diagonal line of B is denoted as b=diagOne (B) below.
When the encoding block that the content blocks received in the b set V comprising set s are obtained by multiple random network code When, these encoding blocks are abbreviated as NC (V, b);Since random network code does not ensure that certain independent between encoding block, institute To need to be checked using Gaussian elimination method, to determine whether these coding set of blocks meet the requirement of B:If W is NC (V, b) B × | V | coefficient matrix, if for complete 1 submatrix of any one r rank on the diagonal line of B, by W it is corresponding row form The orders of b × r submatrixs be r, then NC (V, b) disclosure satisfy that the requirement of [s, B].
When [s, B] is [s received1,B1],...,[sk,Bk] etc. the summary request of multiple requests when, i.e., when [s, B]= combine([s1,B1],...,[sk,Bk]) when, these point of request can be directly met with NC (V, b), that is, uses in NC (V, b) and appoints Anticipate bn=diagOne (Bn) a encoding block meets [sn,Bn] request, n=1 ..., k, wherein | s | >=b >=max | s1|,..., |sk|}≥max{b1,...,bk}.This is because B1And B2Arbitrary complete 1 submatrix in B all there are one corresponding complete 1 sub- square Battle array, so when NC (V, b) disclosure satisfy that [s, B], so that it may with satisfaction [s1,B1] and [s2,B2]。
In turn, as interest [s1,B1] and interest [s2,B2] it is upstream to distribute according to the destination of [s, B] Two request bags when, due to s1∪s2=s, s1∩s2=null, so needing with upstream to interest [s1,B1] and interest[s2,B2] response NC (V1,b1) and NC (V2,b2) random network code is carried out, obtain b new absolute coding Block is denoted as NC (V, b), wherein B1|B2=B, B1&B2=0, b1=diagOne (B1),b2=diagOne (B2), b=diagOne (B),Then NC (V, b) is used to meet the request of [s, B].
Obviously, when s is divided into disjoint two subset s1And s2When, it is equivalent to and B is divided into four submatrixs, wherein The B for being on diagonal line1And B2, other two might as well be referred to as C1And C2;Similarly, W can also be divided according to row one and is Two, it is divided into W1And W2Two submatrixs, they are able to meet B1And B2Requirement to order.When some on B diagonal lines is complete 1 submatrix is not belonging to B1Or B2When, include centainly B1、B2、C1、C2Each part.It is complete 1 that these parts one being involved, which are established a capital, Submatrix.So using W1In several rows and W2In the obtained row of Line independent of several row linear combinations, can meet B's This requirement of complete 1 submatrix to order.
In addition, when interest [s, B] comes from the same user, b=| s |=b1+b2, so do not increase needs from The data volume that upstream is downloaded, also without the amount of reduction downstream transmission data;But it is asked when interest [s, B] represents multiple users When asking, b≤b1+b2≤|s1|+|s2|=| s |, so reducing | s |-(b1+b2) it is a need the data volume downloaded from upstream, Reduce | s |-b need the data volume downstream sent.So the present invention can reduce the transmission quantity of data.
According to the request mechanism of above-mentioned more content blocks, each node is receiving from downstream interest in network When, as shown in Fig. 2, its processing procedure is as follows:
(1), summarize the interests and determine newly-increased request that this section point receives:When the node is from its interface faceiNewly When receiving interest [s', a B'], enable [s, B]=[s', B'] [Ps, PB] be that its is newly-increased, need forwarded upstream Request, has received wherein [Ps, PB] is this node but without the summary request to meet with a response;Then summary request is updated For [Ps, PB]=combine ([Ps, PB], [s', B']), [Psi,PBi]=combine ([Psi,PBi], [s', B']), wherein [Psi,PBi] it is to come from faceiSummary request, i=1 ..., m, m are the number of ports that the node has;
(2), local cache is checked whether there is:If s non-emptys, first check whether the content blocks listed by s have in this node Caching:If the content set of blocks of this nodal cache is C, then remove the request to C ∩ s from s, and corresponding with C ∩ s in B Row and column becomes full 0, even s=s (C ∩ s), B=B (C ∩ s);
(3), it searches forwarding information storehouse FIB and determines forwarding interface:If s non-emptys, according to the name of each content blocks in s Word, searches the forwarding information storehouse FIB of this node or the routing table based on name, and connecing for each content blocks location is led in determination Mouthful;
(4), [s, B] is split:S is divided into disjoint subset s according to interface1,s2,...,sm, and correspondingly B is divided into multiple matrixes:B1,B2,...,Bm, wherein BjWith sjIt is corresponding, BjThe corresponding content block name of row and column in if does not belong to In sj, then it is the row and column of full 0, j=1 ..., m;
(5), [s is sentj,Bj]:If sjNon-empty, then [sj,Bj] from interface facejIt sends, and enables flagj= Pending is indicated from facejRequest is had sent, needs to wait for from facejResponse, j=1 ..., m.
According to the response mechanism of above-mentioned more content blocks, each node is in an encoding block for receiving upstream response in network When, as shown in figure 3, its processing procedure is as follows:
(6), the content block message for being included according to encoding block first finds corresponding summary request Ps to be responded (because right Different Ps will be had by combining the node in different contents), the encoding block then received according to the difference of Ps, classification caching;
(7), when receiving all flagjThe end of transmission mark End that the interface of=pending is sentj,j=1 ..., m, When, illustrate that the coding block number that upstream station should respond to all collects.Let c be the content set of blocks of this nodal cache, Ps ∩ C It is the required content blocks of summary request to be responded, then with the content blocks of the whole encoding blocks and this nodal cache cached according to Ps Subset Ps ∩ C carry out random network code, obtain a new encoding blocks of b=diagOne (PB);
(8), b is seti=diagOne (PBi), then:Work as bi=| Psi| when, content set of blocks Psi∩ C and new encoded block In arbitrary bi-|Psi∩ C | a encoding block, from interface faceiIt sends.The purpose is in the case of permission as far as possible Original contents block responds to downstream.
(9), work as bi<|Psi| when, newly encoded arbitrary b in the blockiA encoding block is from interface faceiIt sends.
(10), when from interface faceiB is sentiWhen a content blocks or new encoded block, end mark is taken in last block Endi, to notify downstream node to be sent;Then [Ps, PB] is reset, [Psi,PBi],flagi, i=1 ..., m.
The benefit cached in network is so that content blocks are cached to the node closer to user on demand.What the present invention disclosed Method, not only cache contents block, also caches encoding block, not only more disperses so that caching in this way, reduces to store node and hold The demand of amount also improves the reliability of data.Meanwhile encoding block is also equal to content blocks and is used, reduce repetition transmission Amount.As shown in Figure 3.Specifically:Each node is buffered in the original contents block and encoding block that are received from upstream node It is local, the request for responding downstream node future;But do not cache that oneself is newly generated by random network code, for giving The encoding block of downstream node.
(11), the request in order to avoid one and same coding block in future by downstream node for responding the same user, makes Different independent between the encoding block received at the user, this node distributes one not respectively to newly generated b absolute coding block Same name:name1,name2,…,nameb∈ Ps, it is desired to which submatrix corresponding with these names is complete 1 submatrix in PB; The name distributed is responded to downstream node together with encoding block;When being named as namekEncoding block delayed by downstream node When depositing, content blocks name would be equivalent tokIt uses, the request for responding further downstream node future;
When the node can be decoded from the encoding block received obtains content blocks, simultaneously cache contents block is decoded;It is mutually of the same name The block of word only caches portion, and compared to the encoding block of same name, priority cache content blocks.
Fig. 4 and Fig. 5 is the example of a simple more content requests-responses.In Fig. 4, node n1And n2Respectively to thereon Swim node n0It forwarded request bag interest [s1,B1] and interest [s2,B2].Due to the two request come from it is different User, so s1With s2There may be intersection.They are in node n0Summary request be [Ps, PB]=combine ([s1,B1],[s2, B2]).Assuming that node n0The content blocks not cached, then node n0It must be to its upstream node n3And n4Forwarding is about [Ps, PB] Request.According to way address where content blocks in Ps, it is necessary to request respectively from node n0Interface f3And f4It forwards.So Ps is divided into s3And s4Two disjoint subsets, PB are also partitioned into B3And B4Two disjoint matrixes.Finally interest[s3,B3] and interest [s4,B4] by node n0It is sent respectively to its upstream node n3And n4
In Figure 5, upstream node n3And n4It is directed to interest [s respectively3,B3] and interest [s4,B4] respond NC (V3,b3) and NC (V4,b4).Node n0After receiving all these encoding blocks, with the set NC (V of these encoding blocks3,b3)∪ NC(V4,b4) random network code is carried out, obtain new encoding block NC (V, b), V=V3∪V4.NC (V, b therein1) and NC (V, b2) by respectively from node n0Interface f1And f2It sends, comes from node n downstream for responding1And n2Request interest[s1,B1] and interest [s2,B2], wherein b1=diagOne (B1),b2=diagOne (B2), b=diagOne (PB).
The same or similar label correspond to the same or similar components;
Position relationship described in attached drawing is used to only for illustration, should not be understood as the limitation to this patent;
Obviously, the above embodiment of the present invention be only to clearly illustrate example of the present invention, and not be pair The restriction of embodiments of the present invention.For those of ordinary skill in the art, may be used also on the basis of the above description To make other variations or changes in different ways.There is no necessity and possibility to exhaust all the enbodiments.It is all this All any modification, equivalent and improvement etc., should be included in the claims in the present invention made by within the spirit and principle of invention Protection domain within.

Claims (8)

1. a kind of more content request responses methods of network, which is characterized in that include the following steps:
S1:Each content in network is divided into several content blocks that length is L, the content blocks are distributed to more in network A different nodal cache, respectively each content blocks and the node for caching the content blocks distribute the whole network and uniquely identify, and establish Correspondence between the mark of both each content blocks and its cache node, and correspondence preservation is owned in a network Among the forwarding information storehouse of node or routing table based on mark, lead to each content blocks cache node for the determination of each node Next-hop;
S2:One user concomitantly sends out request to the multiple contents of distribution in a network, which is to the multiple interior One request of all the elements set of blocks of appearance;Each request bag of each node forwarding will be carried to the content blocks in network The request of a subset of set, the content blocks cache node in the subclass are all having the same for present node Next-hop;When each node receives multiple request bags from its multiple interface in network, by the set entrained by these request bags Merge, obtain a union, table of query and routing, which determines, leads to next-hop that is described and concentrating each content blocks cache node, then According to the difference of next-hop, it is divided into several subsets, each subset to be placed in a request bag to right with it union The next-hop node answered forwards;
S3:The content blocks of each network node caching of cache contents block respond the request bag received, when any section in network When point receives multiple and different content blocks and encoding block, multiple and different content blocks and encoding block are buffered in this node, so Random network code is carried out with the full content block of caching and encoding block afterwards and generate new mutually independent encoding block, be used in combination newly organized Code block responds the request to each content blocks subset received from each interface of this node;The content blocks and encoding block of this nodal cache Request for responding subsequent user.
2. the more content request responses methods of network according to claim 1, which is characterized in that with one in the step S2 Request bag carries the request to a content set of blocks, and generating process is as follows:
S21:By the mark set S={ name of all the elements block of multiple contents of user concurrent request1,..., nameNIndicate, wherein name1,...,nameNIt is the mark of different content block, N is total block data;
S22:WhenWhen being the subset of S, being expressed as [s, B] to the request of s, B is the binary matrix of N × N, ifThe diagonal entry b of Bxx=1;If namex,bxy=1, otherwise bxy=0;IfB Z rows and z be classified as full 0;Request bag comprising request [s, B] is expressed as interest [s, B];As s=S, B is N The all 1's matrix of × N, [S, B] are the initial request of a user;
S23:For any node, the foundation of subsetting s is, if namex,Then with namexAnd nameyInstitute Next-hop corresponding to purpose network is identical.
3. the more content request responses methods of network according to claim 2, which is characterized in that will be received in the step S2 Multiple request bags entrained by the method for being merged into a union it is as follows:
S24:As the interest [s received1,B1],...,interest[sk,Bk] it is to be come from from what k different interfaces received When the request bag of different user, it assigns [s, B] as [s1,B1],...,[sk,Bk] union that obtains after merging, evenB=B1|B2|...|Bk, wherein " | " carries out binary system or operation between representing the correspondence positions of two matrixes.
4. the more content request responses methods of network according to claim 3, which is characterized in that by one in the step S2 Union is divided into the detailed process of multiple subsets as follows:
S25:When union [s, B] needs to be divided into multiple subset [s' according to the difference of next-hop1,B'1],...,[s'k',B'k'] When, it enablesB=B'1|B'2|...|B'k';If when i ≠ j, s'i∩s'j=null, B'i&B'j=0, it is describedWherein " & " carries out binary system and operation between representing the correspondence positions of two matrixes, then the request bag constructed interest[s'1,B'1],...,interest[s'k',B'k'] forwarded respectively to k' different next-hops.
5. the more content request responses methods of network according to claim 4, which is characterized in that in the step S2 in network The request bag from multiple users that each node receives will not in a short time while reach, and be turned in the request reached in advance After sending out, avoid method of the request bag comprising repetitive requests of later stage forwarding as follows:
As [s'i,B'i] it is the request that step S25 has been sent from i-th of interface, [s'i1,B'i1] it is step S25 new △ B' are enabled from when the request that i-th of interface is senti=(B'i^B'i1)&B'i1, wherein " ^ " represents the correspondence position of two matrixes Between carry out binary system XOR operation;As △ B'iIt is not full 0 matrix, the diagonal entry where enabling its non-zero row is 1, finds it The mark of the corresponding content blocks of non-zero row, and the mark of these content blocks is added to △ s'iAmong;It is practical to be sent from i-th of interface The request bag gone out is interest [△ s'i,△B'i], the △ s'iThe request sent for i-th of interface with before The mark for the different content blocks of request that i-th of interface is sent sends having weighed comprising identical content for avoiding Multiple request.
6. the more content request responses methods of network according to claim 1, which is characterized in that in the step S3, section Point carries out random network code with the content blocks and encoding block received, generates mutually independent encoding block, to meet from each The request that interface receives, specific method are:
S31:Determine complete 1 submatrix for representing same user's request:If the paid-in summary request of the node is union [s, B]; After deleting certain row and columns of the corresponding identical number of identical content block name of B, if remaining is a r × r The matrix is then called complete 1 submatrix that an exponent number on the diagonal line of B is r by all 1's matrix;If on the diagonal line of B most The exponent number of complete works of 1 submatrix is b, then it is denoted as b=diagOne (B);
S32:It determines and has been received by the requirement whether coding set of blocks meets B:When receive bySignified | V | a content blocks pass through The b that random network code obtains≤| V | when a encoding block, these encoding blocks are abbreviated as NC (V, b);Then Gaussian elimination is used Method is checked:If W be NC (V, b) b × | V | coefficient matrix, if for complete 1 son of any one r rank on the diagonal line of B The order of matrix, the b × r submatrixs being made of respective column in W is r, then NC (V, b) disclosure satisfy that the requirement of [s, B];The V It is the set for including set s;
S33:When [s, B] is [s received from multiple interfaces that step S24 is determined1,B1],...,[sk,Bk] union when, use NC Arbitrary b in (V, b)i=diagOne (Bi) a encoding block meets [si,Bi] request, wherein i=1 ..., k.
7. the more content request responses methods of network according to claim 6, which is characterized in that step S3 is the content received Block and encoding block are cached, the method for responding subsequent user request, specific as follows:
S34:Check whether there is local cache:When [s, B] is the union received from multiple interfaces that step S24 is determined, first examine Look into whether the content blocks listed by s have caching in this node;If the content set of blocks of this nodal cache is C, then remove to C from s The request of ∩ s, and row and column corresponding with C ∩ s in B is become full 0, even s=s (C ∩ s), B=B (C ∩ s);
S35:If [s, B] non-empty remaining after the S34 that takes steps, then the method for using step S25 is divided into [s, B] Multiple subsets are forwarded with multiple request bags;It is slow with this node after receiving requested full content block and encoding block The content set of blocks C deposited together, using the method for step S31-33, generates mutually independent encoding block, and connect according to from each The request that mouth receives, forwards the absolute coding block of required number from each interface.
8. the more content request responses methods of network according to claim 7, which is characterized in that each nodal cache received Encoding block is simultaneously equal to content blocks use by content blocks and encoding block, and detailed process is as follows:
S36:The content blocks and encoding block that are received from upstream node are buffered in local by each node, for responding downstream node Following request;But oneself encoding block newly generated by random network code, for giving downstream node is not cached;
S37:B absolute coding block newly generated to this node distributes a different name respectively:title1,title2,…, titleb∈ s, it is desired to which submatrix corresponding with these names is all 1's matrix in B;The name distributed with encoding block together Respond to downstream node;When being named as titlenEncoding block when being cached by downstream node, would be equivalent to content blocks titlenMake With the request for responding further downstream node future;
S38:When node is decoded from the encoding block received obtains content blocks, simultaneously cache contents block is decoded;The block of same name Portion is only cached, 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 CN104539715A (en) 2015-04-22
CN104539715B true 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)

Families Citing this family (2)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244881B2 (en) * 2010-08-06 2012-08-14 Palo Alto Research Center Incorporated Service virtualization over content-centric networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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)

Also Published As

Publication number Publication date
CN104539715A (en) 2015-04-22

Similar Documents

Publication Publication Date Title
CN104901997B (en) System and method for the direct storage access in content center network
CN103051629B (en) Software defined network-based data processing system, method and node
CN104380664B (en) Table of contents is synchronous between router
CN101459619B (en) Method and apparatus for packet transmission processing in network
CN106559340A (en) The network centered on information with little multipath or single footpath forwarding state
CN101645039B (en) Method for storing and reading data based on Peterson graph
CN110012106A (en) A kind of coordination caching method, apparatus and system based on edge calculations
CN103747083B (en) A kind of content delivery method based on CCN
CN103024085B (en) A kind of system and method processing the request of P2P node
CN105872008A (en) System and method for on-demand content exchange with adaptive naming in information-centric networks
CN102474467A (en) Server-side load balancing using parent-child link aggregation groups
JP2005353039A5 (en)
CN104038425B (en) The method and apparatus for forwarding ether network packet
CN102970242B (en) Method for achieving load balancing
CN101729425B (en) Method and equipment for flow sending in VRRP networking
CN104734962B (en) A kind of resource search method of non-structural P 2 P network
CN104917680B (en) For executing the computer system of the parallel hash of stream of packets
CN106063199B (en) Communication system, communication means, relay and the storage medium for being stored with computer-readable program
CN105743664A (en) System and method for multi-source multicasting in content-centric networks
CN106357539A (en) Data acquisition method and equipment
CN105556916A (en) Network flow information statistics method and apparatus
CN103986763A (en) Vector data stream transmission method and system oriented to Web visualization
CN105376292A (en) Explicit strategy feedback in name-based forwarding
CN109150936A (en) The sharing method and device of session object Session in a kind of distributed type assemblies
CN107547346A (en) A kind of message transmitting method and device

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