CN104539715B - A kind of more content request responses methods of network - Google Patents
A kind of more content request responses methods of network Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000004044 response Effects 0.000 title claims abstract description 27
- 239000011159 matrix material Substances 0.000 claims abstract description 24
- 238000011144 upstream manufacturing Methods 0.000 claims description 23
- 229910002056 binary alloy Inorganic materials 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 3
- 238000003379 elimination reaction Methods 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims description 2
- 230000003252 repetitive effect Effects 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 239000006185 dispersion Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network 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
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.
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)
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)
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)
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 |
-
2014
- 2014-12-31 CN CN201410857403.8A patent/CN104539715B/en active Active
Patent Citations (4)
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 |