CN105740037A - Combined programming action calculation method and system of software-defined networking, device and chip - Google Patents

Combined programming action calculation method and system of software-defined networking, device and chip Download PDF

Info

Publication number
CN105740037A
CN105740037A CN201610055907.7A CN201610055907A CN105740037A CN 105740037 A CN105740037 A CN 105740037A CN 201610055907 A CN201610055907 A CN 201610055907A CN 105740037 A CN105740037 A CN 105740037A
Authority
CN
China
Prior art keywords
node
rule
action
module
initial data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610055907.7A
Other languages
Chinese (zh)
Other versions
CN105740037B (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201610055907.7A priority Critical patent/CN105740037B/en
Publication of CN105740037A publication Critical patent/CN105740037A/en
Application granted granted Critical
Publication of CN105740037B publication Critical patent/CN105740037B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/445Exploiting fine grain parallelism, i.e. parallelism at instruction level

Abstract

The invention discloses a combined programming action calculation method and system of software-defined networking, a device and a chip, and relates to the technical field of the software-defined networking. The method comprises the following steps: abstracting a rule action linked list in the software-defined networking, and generating one or a plurality of nodes, wherein the nodes form a node set V; and adding directed edges to all nodes in the node set V to generate directed graphs, and generating Hamilton paths for all directed graphs, wherein the sum of the weights of all edges in all directed graphs is minimum. Through a series of theoretical modeling, the semantic equivalence of the action list of a combination rule in the combined programming of SDN (Software-Defined Networking) can be guaranteed, one Hamilton path is searched in the abstracted directed graph to calculate the action list of the final combination rule, and therefore, the action list can guarantee that the number of the action of the combination rule is minimum.

Description

Software defined network combined programming action computational methods, system, device and chip
Technical field
The present invention relates to software defined network technical field, particularly relate to software defined network combined programming action computational methods, system, device and chip.
Background technology
Development along with information technology, the Internet has become as the information infrastructure that modern society is indispensable, but, current network thin waist type frame structure cannot carry the increasing network demand of user, therefore, a kind of novel network architecture---software defined network (Software-definednetworking, SDN) receive and pay close attention to widely, the main thought of SDN is the control logic in legacy network devices to be easily separated from datum plane, is carried out the management of whole network by the control of centralization.
Flexible programmable is one of SDN key property provided, and therefore, SDN programming model becomes the studying technological domain of a focus, and wherein, modular combination programming has become as of paramount importance programming characteristic in network programming model.In modular combination programming, it is broadly divided into multiple programming and serial programming.Multiple programming mainly realizes multiple module according to the respective same packet of logic parallel processing, and serial process refer to a packet after module logic processes then then through next resume module, in modular combination programs, the SDN switch rule that parallel modules and serial module produce needs to be compiled into set of rule of equal value in logic and is issued to bottom switch, the crossing situation that existing rule compiler algorithm is mainly according to the rule list space of multiple submodules produces new rule set, specifically:
(1) during parallel modules compiling, modules firstly generates respective rule list, then, each two module carries out multiplication cross according to respective rule list, the matching domain space being about to every two rules from two rule lists carries out asking friendship, if asking the result of friendship not for empty, then generate a new rule according to the common factor of this two rule, as Figure 1-1.
(2) during serial module compiling, modules remains and firstly generates respective rule list, then, allow and need the rule list first processed corresponding to the module of packet to carry out pretreatment, namely its corresponding action of every rule allowing rule list first acts on the matching domain of rule, finally allowing the rule list of two modules carry out multiplication cross again, the process of multiplication cross formation rule table is similar with parallel modules compiling, as shown in Figure 1-2.
Existing SDN combined programming compiler algorithm constructs the rule after merging according to the crossing situation of the rule space of different submodules, calculate its priority size for the rule after merging simultaneously, but, the actionlist of two rules of submodule is simply serially connected simply by current compiler algorithm for calculating of the actionlist (rule action chained list) of rule after merging, as shown in Fig. 2-1.
The method of this simple concatenation actionlist can cause the action of regular with the regular before semantic non-equivalence after synthesis or generation redundancy, producing the most the underlying cause of this problem is that multiple parallel modules is likely to need the packet header to packet to be written and read then being forwarded to different ports simultaneously again, and this concatenation actionlist method two cross-talk actionlist cannot be operating independently by shape paired data bag, therefore, fundamentally cannot ensure parallel work-flow in logic, as shown in Fig. 2-2, the requirement of rule 1 is by the F of former packet2Matching domain is forwarded to port 1 after modifying, and rule 2 is that former packet is revised its matching domain F1After be forwarded to port 2.But, it is be modified simultaneously F that the rule after merging is forwarded to the packet of port 21And F2, its semantic and non-equivalence with meta-rule 2.
In addition, although this substitute mode can ensure that the modularity compiling of serial mode, but many sub-actionlist are likely to the packet header of packet repeats operation, thus producing the action of redundancy, as Figure 2-3, merge rule actionlist in first to packet F1Amendment be redundancy.
Summary of the invention
Not enough for prior art, the present invention proposes software defined network combined programming action computational methods, system, device and chip.
The present invention proposes a kind of software defined network combined programming action computational methods, including:
Step 1, is undertaken abstract by the rule action chained list in described software defined network, generates one or more node, described node composition node set V;
Step 2, adds directed edge to all described node in described node set V, generates directed graph, generates Hamilton path for described directed graph, and in wherein said directed graph, the weight sum of each edge is minimum.
Described step 1 includes step 101, obtains initial data p, generates start node n for described initial data p0, wherein the data packet header of described initial data p is replicated, and with described start node n0Being associated, order performs described rule action chained list;
Step 102, if the rule in described rule action chained list is empty, then end operation, otherwise perform step 103;
Step 103, is designated as act by the action that described rule action chained list will perform, if described act is modify, then revises the data packet header of described initial data p, if described act is forward, then generates a new node ni, and the data packet header of described initial data p is replicated, and by described initial data p and described node niIt is associated, jumps to step 102, until the rule in described rule action chained list is empty.
Described step 2 includes step 201, if described node set V is empty or only has 1 node, then end operation, otherwise performs step 202;
Step 202, appoints from described node set V and takes 1 node v, and with remaining node in set, described node v is sequentially carried out following operation, and wherein said remaining node is designated as vi: if the data packet header of the described initial data p of described node v association is transformed into v by adding the mode of modifyactioniThe data packet header of associated described initial data p, then add a directed edge, described node v point to described node vi, vice versa;
Step 203, calculates the weight of the directed edge added, and the numerical value of described weight is the data of the modifyaction added, and turns to step 201.
Each described node is one<packet,port>right.
The present invention also proposes a kind of software defined network combined programming action computing system, including:
Generate node set V module, for being undertaken abstract by the rule action chained list in described software defined network, generate one or more node, described node composition node set V;
Generating Hamilton path module, for adding directed edge to all described node in described node set V, generate directed graph, generate Hamilton path for described directed graph, in wherein said directed graph, the weight sum of each edge is minimum.
Described generation node set V module includes association n0Module, is used for obtaining initial data p, generates start node n for described initial data p0, wherein the data packet header of described initial data p is replicated, and with described start node n0Being associated, order performs described rule action chained list;
Judge module, if being empty for the rule in described rule action chained list, then end operation, otherwise perform association niModule;
Association niModule, for the action that described rule action chained list will perform is designated as act, if described act is modify, then revises the data packet header of described initial data p, if described act is forward, then generates a new node ni, and the data packet header of described initial data p is replicated, and by described initial data p and described node niIt is associated, jumps to judge module, until the rule in described rule action chained list is empty.
Described generation Hamilton path module includes decision node quantity module, is empty if being used for described node set V or only has 1 node, then end operation, otherwise performs to add directed edge module;
Adding directed edge module, take 1 node v for appointing from described node set V, with remaining node in set, described node v is sequentially carried out following operation, wherein said remaining node is designated as vi: if the data packet header of the described initial data p of described node v association is transformed into v by adding the mode of modifyactioniThe data packet header of associated described initial data p, then add a directed edge, described node v point to described node vi, vice versa;
Calculating weight module, for calculating the weight of the directed edge of interpolation, the numerical value of described weight is the data of the modifyaction added, and turns to decision node quantity module.
Each described node is one<packet,port>right.
The present invention also proposes the device of a kind of software defined network combined programming action computing system.
The present invention also proposes the chip of a kind of software defined network combined programming action computational methods.
By above scheme it can be seen that it is an advantage of the current invention that:
The present invention is through a series of theoretical modeling, ensure that the semantics equivalence of composition rule actionlist in SDN combined programming, the actionlist of final composition rule is calculated by searching a Hamilton path in abstract directed graph, therefore, this actionlist can guarantee that the number of its action can be minimum.
Accompanying drawing explanation
Fig. 1-1 compiles flow chart for parallel modules;
Fig. 1-2 is serial module compiling flow chart;
Fig. 2-1 is compiling actionlist flow chart;
Fig. 2-2 is semantic non-equivalence figure;
Fig. 2-3 is action redundancy figure;
Fig. 3 is the abstract graph to rule actionlist;
Fig. 4 is the structure figure of directed graph;
Fig. 5 is Hamilton pathway figure;
Fig. 6 is flow chart of the present invention;
Fig. 7 is exemplary plot of the present invention.
Detailed description of the invention
Actionlist is carried out abstract by the present invention so that it is (each node is one to produce multiple node<packet,port>right).Assuming an initial data p hit rule r, after hit, perform the actionlist associated by r, be designated as r.a, specifically abstract process is as follows:
Step one: corresponding initial data p, produces start node n0, replicate by the data packet header of p, be then associated with n0, order performs r.a afterwards;
Step 2: if rule is empty in r.a, then jumps to step 4, otherwise perform step 3;
Step 3: the action that note r.a will perform is act, if act is modify (namely revising packet instruction), then revise the data packet header of packet p, if act is forward (namely forwarding packet instruction), then produce a new node ni, and the data packet header of packet p replicates, and it is associated with node ni.Jump to step 2;
Step 4: terminate.
Whole process, as shown in Figure 3.
Multiple actionlist are after above-mentioned steps, it is possible to produce one or more node, and these nodes can form a node set V.Then, add directed edge between these nodes, be finally constituted a directed graph, shown in it comprises the following steps that.
Step one: if set V is empty or only has 1 node, then jump to step 4, otherwise carry out step 2;
Step 2: appoint from set V and take 1 node v, then v (is set to v with remaining node in seti) it is sequentially carried out following operation: if the packet header of v association can be transformed into v by the mode of interpolation modifyaction (i.e. amendment packet header instruction)iAssociated packet header, then add a directed edge, v point to vi;Otherwise, as the same.Jump to step 3;
Step 3: calculate the weight of the directed edge added, is sized to the data of the modifyaction added, and turns to step one;
Step 4: terminate
Whole process is as shown in Figure 4.
After above-mentioned steps, 1 directed graph may be constructed.Then, from the node n0 of association raw data packets p, finding a Hamilton path, all of node in this traversal path figure, the weight sum on its limit is minimum, as shown in Figure 5.
By the Hamilton path found out, the main of actionlist, this actionlist after a combination can be reconstructed back be made up of derivative forwardaction (namely forwarding packet instruction) order by path on the modifyaction on limit in path and each node.
In sum, whole flow chart is as shown in Figure 6.
Concrete example is as shown in Figure 7.
The present invention also proposes a kind of software defined network combined programming action computing system, including:
Generate node set V module, for being undertaken abstract by the rule action chained list in described software defined network, generate one or more node, described node composition node set V;
Generating Hamilton path module, for adding directed edge to all described node in described node set V, generate directed graph, generate Hamilton path for described directed graph, in wherein said directed graph, the weight sum of each edge is minimum.
Described generation node set V module includes association n0Module, is used for obtaining initial data p, generates start node n for described initial data p0, wherein the data packet header of described initial data p is replicated, and with described start node n0Being associated, order performs described rule action chained list;
Judge module, if being empty for the rule in described rule action chained list, then end operation, otherwise perform association niModule;
Association niModule, for the action that described rule action chained list will perform is designated as act, if described act is modify, then revises the data packet header of described initial data p, if described act is forward, then generates a new node ni, and the data packet header of described initial data p is replicated, and by described initial data p and described node niIt is associated, jumps to judge module, until the rule in described rule action chained list is empty.
Described generation Hamilton path module includes decision node quantity module, is empty if being used for described node set V or only has 1 node, then end operation, otherwise performs to add directed edge module;
Adding directed edge module, take 1 node v for appointing from described node set V, with remaining node in set, described node v is sequentially carried out following operation, wherein said remaining node is designated as vi: if the data packet header of the described initial data p of described node v association is transformed into v by adding the mode of modifyactioniThe data packet header of associated described initial data p, then add a directed edge, described node v point to described node vi, vice versa;
Calculating weight module, for calculating the weight of the directed edge of interpolation, the numerical value of described weight is the data of the modifyaction added, and turns to decision node quantity module.
Each described node is one<packet,port>right.
The present invention also proposes a kind of device including software defined network combined programming action computing system.
The present invention also proposes a kind of chip utilizing software defined network combined programming action computational methods.

Claims (10)

1. software defined network combined programming action computational methods, it is characterised in that including:
Step 1, is undertaken abstract by the rule action chained list in described software defined network, generates one or more node, described node composition node set V;
Step 2, adds directed edge to all described node in described node set V, generates directed graph, generates Hamilton path for described directed graph, and in wherein said directed graph, the weight sum of each edge is minimum.
2. software defined network combined programming action computational methods as claimed in claim 1, it is characterised in that described step 1 includes step 101, obtains initial data p, generates start node n for described initial data p0, wherein the data packet header of described initial data p is replicated, and with described start node n0Being associated, order performs described rule action chained list;
Step 102, if the rule in described rule action chained list is empty, then end operation, otherwise perform step 103;
Step 103, is designated as act by the action that described rule action chained list will perform, if described act is modify, then revises the data packet header of described initial data p, if described act is forward, then generates a new node ni, and the data packet header of described initial data p is replicated, and by described initial data p and described node niIt is associated, jumps to step 102, until the rule in described rule action chained list is empty.
3. software defined network combined programming action computational methods as claimed in claim 1, it is characterised in that described step 2 includes step 201, if described node set V is empty or only has 1 node, then end operation, otherwise perform step 202;
Step 202, appoints from described node set V and takes 1 node v, and with remaining node in set, described node v is sequentially carried out following operation, and wherein said remaining node is designated as vi: if the data packet header of the described initial data p of described node v association is transformed into v by adding the mode of modifyactioniThe data packet header of associated described initial data p, then add a directed edge, described node v point to described node vi, vice versa;
Step 203, calculates the weight of the directed edge added, and the numerical value of described weight is the data of the modifyaction added, and turns to step 201.
4. software defined network combined programming action computational methods as claimed in claim 1, it is characterised in that each described node is<packet,port>right.
5. a software defined network combined programming action computing system, it is characterised in that including:
Generate node set V module, for being undertaken abstract by the rule action chained list in described software defined network, generate one or more node, described node composition node set V;
Generating Hamilton path module, for adding directed edge to all described node in described node set V, generate directed graph, generate Hamilton path for described directed graph, in wherein said directed graph, the weight sum of each edge is minimum.
6. software defined network combined programming action computing system as claimed in claim 5, it is characterised in that described generation node set V module includes association n0Module, is used for obtaining initial data p, generates start node n for described initial data p0, wherein the data packet header of described initial data p is replicated, and with described start node n0Being associated, order performs described rule action chained list;
Judge module, if being empty for the rule in described rule action chained list, then end operation, otherwise perform association niModule;
Association niModule, for the action that described rule action chained list will perform is designated as act, if described act is modify, then revises the data packet header of described initial data p, if described act is forward, then generates a new node ni, and the data packet header of described initial data p is replicated, and by described initial data p and described node niIt is associated, jumps to judge module, until the rule in described rule action chained list is empty.
7. software defined network combined programming action computing system as claimed in claim 5, it is characterized in that, described generation Hamilton path module includes decision node quantity module, if being empty for described node set V or only 1 node, then end operation, otherwise performs to add directed edge module;
Adding directed edge module, take 1 node v for appointing from described node set V, with remaining node in set, described node v is sequentially carried out following operation, wherein said remaining node is designated as vi: if the data packet header of the described initial data p of described node v association is transformed into v by adding the mode of modifyactioniThe data packet header of associated described initial data p, then add a directed edge, described node v point to described node vi, vice versa;
Calculating weight module, for calculating the weight of the directed edge of interpolation, the numerical value of described weight is the data of the modifyaction added, and turns to decision node quantity module.
8. software defined network combined programming action computing system as claimed in claim 5, it is characterised in that each described node is<packet,port>right.
9. one kind includes such as the device of claim 5-8 any one system.
10. one kind utilizes such as the chip of claim 1-4 any one method.
CN201610055907.7A 2016-01-27 2016-01-27 Software defined network combined programming acts calculation method, system, device and chip Active CN105740037B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610055907.7A CN105740037B (en) 2016-01-27 2016-01-27 Software defined network combined programming acts calculation method, system, device and chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610055907.7A CN105740037B (en) 2016-01-27 2016-01-27 Software defined network combined programming acts calculation method, system, device and chip

Publications (2)

Publication Number Publication Date
CN105740037A true CN105740037A (en) 2016-07-06
CN105740037B CN105740037B (en) 2018-12-04

Family

ID=56246750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610055907.7A Active CN105740037B (en) 2016-01-27 2016-01-27 Software defined network combined programming acts calculation method, system, device and chip

Country Status (1)

Country Link
CN (1) CN105740037B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666008A (en) * 2022-03-10 2022-06-24 清华大学 Data transmission method and device, computer equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702176A (en) * 2009-11-25 2010-05-05 南开大学 XML data concurrency control method based on local path lock
CN103324885A (en) * 2013-06-19 2013-09-25 山东中创软件商用中间件股份有限公司 Method and system for protecting kernel-level file
US20140122683A1 (en) * 2012-10-30 2014-05-01 Futurewei Technologies, Inc. System and Method for Virtual Network Abstraction and Switching
US20140119367A1 (en) * 2012-10-30 2014-05-01 Futurewei Technologies, Inc. Encoding Packets for Transport Over SDN Networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702176A (en) * 2009-11-25 2010-05-05 南开大学 XML data concurrency control method based on local path lock
US20140122683A1 (en) * 2012-10-30 2014-05-01 Futurewei Technologies, Inc. System and Method for Virtual Network Abstraction and Switching
US20140119367A1 (en) * 2012-10-30 2014-05-01 Futurewei Technologies, Inc. Encoding Packets for Transport Over SDN Networks
CN103324885A (en) * 2013-06-19 2013-09-25 山东中创软件商用中间件股份有限公司 Method and system for protecting kernel-level file

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666008A (en) * 2022-03-10 2022-06-24 清华大学 Data transmission method and device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN105740037B (en) 2018-12-04

Similar Documents

Publication Publication Date Title
Pan et al. Chaotic multi-objective optimization based design of fractional order PIλDμ controller in AVR system
Sanders et al. High quality graph partitioning.
Nagib et al. Network routing protocol using genetic algorithms
CN103354522A (en) Method and device for searching multistage flow table
Holzman et al. Strong equilibrium in network congestion games: increasing versus decreasing costs
RU2013145592A (en) SYSTEM AND METHOD OF PLANNING CALCULATIONS IN THE SYSTEM OF ADMINISTRATION OF INFORMATION-DEPENDENT LIMITATIONS
CN106547522A (en) A kind of method and device of stream application optimization
Shepherd et al. The inapproximability of maximum single-sink unsplittable, priority and confluent flow problems
CN105740037A (en) Combined programming action calculation method and system of software-defined networking, device and chip
Xiao et al. An efficient algorithm for dynamic shortest path tree update in network routing
Steinbach et al. Improvements of the construction of exact minimal covers of Boolean functions
Glover et al. Basis exchange characterizations for the simplex SON algorithm for LP/embedded networks
Foerster et al. Input-dynamic distributed algorithms for communication networks
Bampas et al. Robustness of the rotor–router mechanism
WO2017128112A1 (en) Calculation method, system, device, and chip for combined programming action in software-defined network
Vansteenkiste et al. A connection router for the dynamic reconfiguration of FPGAs
Rubio-Solar et al. A FPGA optimization tool based on a multi-island genetic algorithm distributed over grid environments
DeLorenzo et al. Make Every Move Count: LLM-based High-Quality RTL Code Generation Using MCTS
Ahrens The tour construction framework for the dynamic travelling salesman problem
Krzywicki et al. Generation-free agent-based evolutionary computing
Kureichik et al. Channel routing based on ant colony adaptive behavior model
Tung Pregel meets UnCAL: A systematic framework for transforming big graphs
Aloul et al. Routing in Optical and Non-Optical Networks using Boolean Satisfiability.
Aloul et al. Identifying the shortest path in large networks using Boolean satisfiability
CN110209397A (en) A kind of data processing method, apparatus and system

Legal Events

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