CN115174711A - Data processing method, device and medium based on full-stack programmable network - Google Patents

Data processing method, device and medium based on full-stack programmable network Download PDF

Info

Publication number
CN115174711A
CN115174711A CN202210793471.7A CN202210793471A CN115174711A CN 115174711 A CN115174711 A CN 115174711A CN 202210793471 A CN202210793471 A CN 202210793471A CN 115174711 A CN115174711 A CN 115174711A
Authority
CN
China
Prior art keywords
data
data packet
processing
data processing
packet
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.)
Pending
Application number
CN202210793471.7A
Other languages
Chinese (zh)
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.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
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 Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202210793471.7A priority Critical patent/CN115174711A/en
Publication of CN115174711A publication Critical patent/CN115174711A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a data processing method, equipment and medium based on a full stack programmable network, which utilize the characteristics of the full stack programmable network, namely a software defined network, to realize the design of software function modules and external interfaces of each data processing equipment on a data plane of the network under the application scene of packet message processing, so that the data processing equipment has complete programmability and reconfigurability, can self-define packet processing logic according to data processing requirements, and realize the rapid deployment of application functions of different service layers. Therefore, the data processing equipment analyzes the received data packet to obtain the header information of the data packet, the header information of the data packet can be subjected to field matching with a predefined matching action table, the processing action is executed on the data packet through the pipeline component corresponding to the matched processing action, various processing requirements on the data packet are met, and compared with forwarding network equipment such as a traditional switch, the data packet processing mode is enriched.

Description

Data processing method, device and medium based on full-stack programmable network
Technical Field
The present application relates to the field of computer network applications, and in particular, to a data processing method, device, and medium based on a full stack programmable network.
Background
With the continuous expansion of network scale, too many complex protocols are built in the closed network equipment, the difficulty of customizing and optimizing the network by an operator is increased, and developers cannot deploy new protocols in a real environment in a large scale. Meanwhile, as the demand of user for network flow is continuously enlarged, various new services are continuously provided, and the network operation and maintenance cost and the management difficulty are increased.
Disclosure of Invention
In order to achieve the above purpose, the embodiments of the present application provide the following technical solutions:
the application provides a data processing method based on a full stack programmable network, which comprises the following steps:
analyzing each received data packet to obtain corresponding data packet header information;
executing the matched processing action on the data packet through different pipeline components according to the matching result of the data packet header information and a predefined matching action table; the different pipeline components include a store pipeline component and/or a compute pipeline component, and a forward pipeline component;
the data packet processed by the forwarding pipeline assembly is recombined and forwarded;
wherein the storage pipeline component is used for realizing the storage of the data content of the data packet; the compute pipeline component is to provide a desired compute service to an application supported by a network device.
Optionally, the executing, by different pipeline components, the matched processing action on the data packet according to the matching result between the header information of the data packet and the predefined matching action table includes:
carrying out field matching on the data packet header information and a predefined matching action table;
determining that at least one first field of the data packet header information is successfully matched, and executing the matched processing action on the data of the corresponding first field in the data packet through a pipeline component corresponding to the first field;
and determining that at least one second field of the data packet header information fails to match, and executing a predefined default action on corresponding second field data in the data packet.
Optionally, the executing the matched processing action on the data packet by the corresponding pipeline component includes:
calling the storage pipeline component to store the data content of the data packet; the data content comprises metadata in the data packet, intermediate data generated in the data packet processing process and/or a processed data packet; and/or the presence of a gas in the atmosphere,
and calling the computing pipeline component, configuring the computing capacity of the network equipment in a virtual machine mode, and determining a virtual machine copy corresponding to each application supported by the network equipment so as to realize the computing service of the corresponding application through the virtual machine copy.
Optionally, the storing the data content of the data packet includes:
according to the context information of the data packet, continuously storing the data content of the data packet which meets the storage condition;
and the data content of the data packet meeting the storage condition comprises the data content belonging to the data type of which the access times are requested to reach the request threshold value and/or the data content of which the correlation with the data content requested to be accessed last time reaches the correlation threshold value.
Optionally, the method further includes:
carrying out periodic update detection on the stored data content;
deleting the stored data content which is not accessed within the preset duration according to the detection result which is updated regularly; and/or the presence of a gas in the gas,
when the remaining amount of the storage space is detected to be smaller than a preset capacity threshold value, determining a data packet to be processed, which is not requested to be accessed for the longest time, according to a storage time stamp of the stored data content when the data content to be stored is obtained;
and replacing the data content to be processed with the data content to be stored for storage.
Optionally, during the process of invoking the computing pipeline component, the method further includes:
periodically updating or deleting the virtual machine copy;
acquiring calculation characteristic information of the data processing equipment;
and reporting the calculation characteristic information to a controller of a control plane, so that the controller realizes the unified management and scheduling of the plurality of data processing devices according to the calculation characteristic information.
Optionally, the received data packets are parsed to obtain corresponding header information of the data packets,
the method comprises the following steps:
obtaining a self-defined data packet analysis logic on a control plane;
analyzing the received corresponding data packet according to the data packet analysis logic to obtain corresponding data packet header information;
the performing the matched processing action on the data packet by the different pipeline component comprises:
acquiring a data processing logic which is self-defined on the control plane and is suitable for a multi-core processor;
and executing the matched processing action on the input data packet through different pipeline components according to the corresponding data processing logic.
The application also provides a data processing device based on the full stack programmable network, which comprises: a parser, a plurality of data processing devices, and an inverse parser, wherein:
the analyzer is used for analyzing each received data packet to obtain corresponding data packet header information;
the data processing device comprises a plurality of predefined pipeline components and is used for executing matched processing actions on the data packet through different pipeline components according to the matching result of the data packet header information and a predefined matching action table; wherein the different pipeline components include a store pipeline component and/or a compute pipeline component, and a forward pipeline component; the storage pipeline component is used for realizing storage of data content of the data packet; the computing pipeline component is to provide a desired computing service to an application supported by a network device;
and the reverse parser is used for recombining and forwarding the data packet processed by the forwarding pipeline component.
Optionally, the data processing apparatus further includes:
the updating timer is used for recording the time length of any stored data packet which is not requested to be accessed, so that when the recorded time length reaches the preset time length, the data packet is not requested to be accessed, and the data packet is deleted; when the recorded duration does not reach the preset duration, the data packet is requested to be accessed, and the recording time of the updating timer is refreshed;
wherein the update timer is configured by invoking an application programming interface of the data processing device.
The present application also proposes a computer-readable storage medium, on which a plurality of computer instructions are stored, and the computer instructions are loaded and executed by a processor, so as to implement the data processing method based on the full stack programmable network as described above.
Based on the technical scheme, the application provides a data processing method, equipment and medium based on a full stack programmable network, and compared with the traditional forwarding network equipment such as a switch and the like, the data processing equipment based on the full stack programmable network is constructed in the application scene of packet message processing. Therefore, the data processing equipment analyzes the received data packet to obtain the header information of the data packet, the header information of the data packet can be subjected to field matching with a predefined matching action table, the processing action is executed on the data packet through the pipeline component corresponding to the matched processing action, various processing requirements on the data packet are met, and compared with forwarding network equipment such as a traditional switch, the data packet processing mode is enriched.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the embodiments or the prior art descriptions will be briefly described below, it is obvious that the drawings in the following description are only the embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a schematic structural diagram of an alternative example of a data processing apparatus based on a full stack programmable network according to the present application;
fig. 2 is a schematic structural diagram of yet another alternative example of the data processing apparatus based on a full stack programmable network proposed in the present application;
fig. 3 is a schematic structural diagram of a P4 compiler located in a control plane in a data processing device application based on a full stack programmable network according to the present application;
fig. 4 is a schematic flowchart of an alternative example of the data processing method based on the full stack programmable network proposed in the present application;
fig. 5 is a schematic flowchart of an alternative example of the data processing method based on the full stack programmable network according to the present application;
fig. 6 is a schematic flowchart of an alternative example of the data processing method based on the full stack programmable network proposed in the present application;
fig. 7 is a schematic flowchart of an alternative example of the data processing method based on the full stack programmable network according to the present application.
Detailed Description
Aiming at the description content of the background technology part, in order to adapt to Network requirements of reducing Network complexity, virtualization, cloud computing and the like, a data processing device is constructed by using a full-stack programmable Network technology (also called Software Defined Network, SDN), and characteristics of data control decoupling separation, network virtualization, programmability and the like of the full-stack programmable Network are utilized, so that mutual independence between application upgrading and Network device updating and updating is realized, network deployment of new applications is accelerated, network control flexibility is improved through different and distinguishable layers of abstract networks, and hardware occupied space and operation cost are reduced.
However, although the forwarding network devices such as switches in the network have certain programmability, define message headers and pipeline processing logic by self, and do not need to pay attention to message definitions and specifications of specific protocols, they can only implement a packet forwarding function, and cannot meet diversified requirements of data processing, such as data storage, calculation, and the like. In order to further improve the above problems, the present application provides a full stack programmable device for a multi-core processor, which optimizes a data processing device of a data packet on the basis of complete programmability and reconfigurability, improves a parser, a data processing device (processing pipeline), and an inverse parser in the data processing device, and implements a data packet forwarding function, an extended data packet storage function, a capacity calculation function, and the like of different data processing devices by forwarding a physical link and hardware inside the device and customizing a data packet processing logic as required, so that the data processing device has a data packet forwarding capability, a data storage capability, a calculation capability, and the like, and can better satisfy application requirements.
The technical solutions in the embodiments of the present application will be described clearly and completely with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, and not all embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application without making any creative effort belong to the protection scope of the present application.
Referring to fig. 1, which is a schematic structural diagram of an optional example of a data processing device based on a full stack programmable network proposed in the present application, the data processing device 100 may be a programmable switching chip, and forms a data plane of the full stack programmable network, and after processing and reconstructing a data packet received by a certain port, forwards the data packet to another port, so as to implement forwarding processing of the data packet between different ports. In the processing process of the data packet, the data packet can be subjected to custom storage and/or calculation operation so as to meet the subsequent application processing requirements. Thus, as shown in fig. 1, the data processing apparatus 100 may include: parser 110, data processing apparatus 120, and inverse parser 130, wherein:
the parser 110 may be configured to parse an input data packet according to a customized data packet parsing logic to obtain corresponding data packet header information.
In practical application, the programmability and the reconfigurability of the full-stack programmable network can be utilized to complete the user-defined configuration of information such as data processing logic, a matching action table and the like on a control plane, namely the user-defined configuration of a data plane and the configuration process of pipeline processing logic, the user-defined configuration information is sent to the data plane for operation, and accordingly, the corresponding data packets received by the data plane are processed, and the data processing requirements of different services are met.
Based on the method, the programmable custom characteristics of the full-stack programmable network can be utilized to customize the effective sequence for identifying the data packet header and the data packet header field in the control plane, and the parser on the data plane is guided to complete the parsing logic of the data packet parsing. In this way, the parser 110 may parse the corresponding data packet input to the parser 110 according to the predefined data packet parsing logic to obtain the data packet header information, which is not described in detail in the present application.
The full-stack programmable network separates a control plane from network equipment such as a router and a switch, and deploys the control plane on special control equipment to implement the control plane, for example, the control plane is formed by one or more controllers, and the operation of a P4 target is managed through a data plane API (Application Programming Interface, such as a control plane Interface, a runtime Interface, and the like); and the network equipment is converted into programmable custom functions such as simple control function, forwarding function and the like.
The data plane is a basic network formed by data processing devices (such as forwarding network devices like switches) and lines connecting the data processing devices, flow table entries (i.e. processing actions in the matching action table) required in the main execution process can be generated by the control plane, and loading initialization of the flow table entries is realized by a controller in the control plane.
In order to implement the configuration of each data processing logic of the data plane, as shown in fig. 2, taking the data processing device as a P4 switch as an example for explanation, the control plane of the full stack programmable network may include a P4 compiler 200 and a controller 300. In practical applications, after loading the P4 compiler toolchain compatible with the basic hardware, the user may input a custom P4 file (i.e., a program code file), and then, referring to the compiler structural diagram shown in fig. 3, the target-independent conversion of the P4 file may be completed in the front-end compiling environment of the P4 compiler. The P4 file is input by a user in a user-defined mode based on data processing requirements, and the content of the P4 file is not limited in the application.
The front-end compilation environment may include, among other things, a checker, an analyzer, and an optimizer. The checker can be used for checking the contents of the input P4 file such as lexical, grammatical and semantic; the analyzer can be used for analyzing the P4 file to generate a stateless Intermediate Representation (IR), which usually contains important information such as instruction dependencies and deployment constraints; the optimizer may analyze the context information of the stateless IR to form a context-aware IR towards the back-end compilation environment, which may be a JSON file with P4 file information.
And then, the IR configuration instruction and the function dependence limitation can be realized in a middle-end compiling environment, and each network model strategy is determined. And then a synthesizer under a back-end compiling environment synthesizes a code implementation and related constraints facing P4 according to the context-aware IR instruction, the related constraints are coded through a coder to generate a conditional constraint set, and a converter generates an executable file of the multi-core processor, namely a target compiling file in the cpp (source program format of c + + language) format according to the conditional constraint set.
After the P4 compiler finishes compiling, the running unit may Run the executable file generated by the P4 compiler, initialize each network device of the data plane, so that the data plane can interact with the control plane through a running-time API (Run-time API), obtain information such as a data processing logic defined by the control plane, a matching action table and the like, report the acquired network state information of the data plane to the control plane, and accordingly determine a global network view and provide the global network view for each service application.
Therefore, the control plane of the full-stack programmable network can convert the network policy defined by the management plane into control logic, and after the control logic is analyzed into a control command, a control flow table is issued to the network equipment of the underlying data plane. Based on application requirements, the network state information of the data plane can be acquired, a global network view is provided for network application, and based on the abstract network view in the logic set, a software application program can interact with network equipment of the underlying data plane more easily, and the network strategy execution and network configuration process is simplified. The function of the control plane and its implementation are not described in detail in this application.
The runtime interface is used for configuring the matching action table in a user-defined manner, and can also be used for realizing the user-defined configuration of information such as a query counter and a default action executed on a data packet with failed matching, and can also be called by applications of other control planes, so that the access to the data plane is realized, and the application data processing is completed.
The number of the data processing devices 120 in the data processing apparatus may be at least one, and each data processing device 120 may include a plurality of predefined pipeline components for performing the matched processing actions on the data packets through different pipeline components according to the matching results of the data packet header information and the predefined matching action table. Therefore, the data processing is realized in a pipeline mode, the realization process can be determined by combining the working principle of a pipeline processor, and the detailed description is omitted here.
In conjunction with the above description of the technical solution of the present application, the pipeline in the data processing apparatus 120 may perform custom configuration on the control plane according to the data processing requirement to obtain a plurality of pipeline processing logics, and accordingly, in the process of initializing the network device of the data plane, the predefined pipeline components, such as the storage pipeline component and/or the computation pipeline component, and the forwarding pipeline component, may be configured correspondingly. The storage pipeline component may be configured to implement storage of data content of a data packet (e.g., metadata in the data packet, intermediate data generated during processing of the data packet, a processed data packet, and the like), and a storage implementation method of the data packet is not limited. The computing pipeline component can be used for providing required computing services for applications supported by the network equipment, realizing the computing services of the applications through complex computing operations with definable details, accelerating the processing process of network data and reducing the occupancy rate of network resources.
It can be understood that, for the processing action of the data packet, in addition to the operations such as storage, calculation, forwarding, etc., other processing actions, such as modification, discarding, etc., may be configured in the matching action table, in order to implement the processing operation of the data packet, the corresponding modification pipeline component and discarding pipeline component may be customized, and of course, multiple processing actions may also be merged into one pipeline component, and the application does not limit the data processing method.
In this embodiment, the data processing apparatus may configure an external interface, such as a control interface facing a control plane and a programming interface, and may dynamically configure each function (such as a function to be implemented by each component of the data processing apparatus described in this embodiment) in the data plane on the control plane through the control interface, or may also dynamically configure each device function located in the control plane, where the configuration implementation process is not described in detail, and may be combined with the above description of the function configuration of each data processing logic, data analysis logic, and the like. The application can also obtain the working state of the data plane and network data such as data through the control interface, and accordingly, adjustment, dynamic management and the like of function configuration in the data plane are achieved.
The programming interface can be an application programming interface facing a network manager, after the network manager logs in through an account and successfully authenticates the identity, the network manager can call the programming interface to realize development and design of application functions, dynamically issue, load, configure, modify, delete and the like newly developed application functions, and the application does not detail the development and design of the application functions and the implementation process of the application functions.
In some embodiments provided by the present application, the data processing apparatus 120 may further include: the updating timer is used for recording the time length of any stored data packet which is not requested to be accessed, so that when the recorded time length reaches the preset time length, the data packet is not requested to be accessed, and the data packet is deleted, thereby realizing timely cleaning of an expired data packet and reducing the waste of storage resources; and when the recorded duration does not reach the preset duration, the data packet is requested to be accessed, and the recording time of the updating timer is refreshed so as to continuously record the duration of the data packet which is not requested to be accessed from the current time.
The update timer is configured and generated by calling an application programming interface of the data processing device, and the configuration implementation process may refer to the above description of the configuration process of the data processing logic, the matching action table, and other information, which is not described in detail herein.
In summary, compared with a data forwarding device with a single forwarding function in a data plane in a software defined network architecture, the present application additionally configures a storage pipeline component and/or a computation pipeline component in a data processing apparatus in the data plane, so that when a data packet arrives, not only the original forwarding function can be realized, but also storage and/or computation services can be performed on the data plane, thereby enriching the data processing capability realized by data processing devices such as switches.
The reverse parser 130 may be configured to reassemble and forward the data packet processed by the forwarding pipeline component, so as to satisfy the data forwarding function of a data processing device such as a switch, and implement a network data packet forwarding processing procedure defined by a user.
In each application scenario based on the full stack programmable network, for any data processing device in the data plane of the network, such as a switch, etc., the method described above may be implemented, so that a user may complete the custom configuration of the processing logic of each data processing device in the control plane, so that in the operation process of the data processing device, according to the configured processing logic, and in a pipeline manner, a data packet input to the data processing device is processed, for example, metadata of the data packet is modified, the data packet and/or its processing process is stored, a complex computing service is executed for an application, and after the data packet is processed, the data packet is reassembled with packet header information, and then forwarded to other network devices, so as to implement transmission of the data packet in the network.
The data processing method based on the full stack programmable network proposed in the present application will be described in detail below from the perspective of any of the above-described data processing apparatuses, in conjunction with the structure of the above-described data processing apparatus, but is not limited to the data processing method described in each embodiment below, and it is understood that the preceding or following operations are not necessarily performed in the exact order as to the operations performed by the data processing apparatus according to the embodiment of the present application, which are described in the present application using flowcharts. Rather, the steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to these processes, or a certain step or several steps of operations may be removed from these processes, and the following embodiments of the present application are not described in detail, but all fall within the scope of the technical solution of the present application.
Referring to fig. 4, a flow chart of an alternative example of the data processing method based on the full stack programmable network proposed for the present application, the method is suitable for the data processing device as described above, and as shown in fig. 4, the method may include, but is not limited to, the following steps:
step S41, analyzing each received data packet to obtain corresponding data packet header information;
in combination with the above description of the technical solution of the present application, the user-defined configuration of each data processing device in the data plane is completed on the control plane of the full stack programmable network, and the implementation process may refer to the description of the corresponding part of the above embodiment, which is not described in detail here. After the data processing device obtains the information such as the data processing logic, the matching action table and the like issued by the control plane, the operation can be carried out according to the information so as to enable each module contained in the data processing device to carry out the working state.
In addition, the data processing device can also make the data processing device and the functions thereof independent of special hardware through a bottom hardware loading unit through function abstraction and software and hardware decoupling, meet the application requirements through various software function modules configured as above, and realize the rapid development and deployment of new services through the flexible sharing of resources.
Therefore, the P4 file (level code file) customized by the user can be input into the data processing device to complete bottom layer configuration, for example, the P4 file is input into the P4 compiler to generate configuration for the data processing device, such as data processing logic, and the configuration is deployed to the data processing device to run, so as to meet the requirement of processing the accessed data message.
In this way, after configuration of any data processing device in a full-stack programmable network application scenario, such as a network device like a switch, and after receiving a data packet of a certain data packet, before forwarding the data packet to other data processing devices or computer devices like a terminal and a server, a programmable parser in the data processing device may parse the data packet input from an ingress port (ingress port), so as to implement separation of a header and a payload of the data packet.
In the P4 programming language infrastructure, the packet header may be a packet header and metadata, and in the case of a packet header for describing a packet structure, the separated customized packet header may be stored in a packet structure, the pointer is moved backward to complete parsing of one packet header, and parsing of the predefined next packet header is continued, and this is repeated until parsing of each packet header defined in the P4 file is completed, and the parsing process may be implemented by deploying a parsing state transition diagram (i.e., a packet parsing structure) configured on a control plane to a programmable parser, so as to separate the header and a payload part of each input packet, and store the separated header (e.g., the header and metadata of a packet) in a corresponding customized header field for matching operation of an action table in a pipeline.
The metadata is used to carry data and configuration information, and the declaration of the metadata is similar to the packet header, and may include user-defined metadata (such as operation result of header field, etc.) and inherent metadata (such as ingress port of data packet, egress port of specified data packet), etc. the content of the metadata is not limited in the present application, and may be determined as the case may be.
Step S42, executing the matched processing action to the data packet through different pipeline components according to the matching result of the data packet header information and the predefined matching action table;
in practical application, by combining the above description on the data processing device, for example, a low-level runtime interface is configured in the data processing device such as a switch, and the configuration of the matching action table, the query counter, the default action and the like is realized by calling the runtime interface.
Wherein, for the above-mentioned matching action table, matching fields, processing actions and some related attribute parameters (such as table capacity, etc.) can be defined, and when the defined fields are successfully matched with the data packets, the corresponding processing actions can be executed; when a match fails (e.g., a mismatch miss), a predefined default action may be performed. The method for implementing the definition of the matching action table is not limited in the application.
Optionally, in the embodiment of the present application, a matching action table may be defined in a key value manner, for example, a header information of a packet header or metadata of a data packet is used as a key value to match a corresponding flow table entry (that is, to match an action entry), for example, a user-defined processing action (also may be referred to as a processing instruction) such as forwarding, storing, calculating, modifying, discarding, or the like, and of course, an execution sequence (that is, priority determination), a timer, a matching field, or the like of the flow table entry may also be defined by user-defined.
For example, in the P4 programming language basic component application, the following rules may be used to define the matching action table: command _ type _ name [ associated _ action ] [ match _ fields _ list ] [ = > ] [ parameters _ list ], in a matching action table defined by the rule, the operation type indicated by the command type can include stream table entries such as adding, deleting, modifying, discarding, storing, calculating and the like; the matching field list may include a plurality of data packet fields to be matched, and the field type is not limited in the present application. The attribute parameter list may include relevant attributes for performing the processing actions described above, such as default actions when matching fails, counters, table sizes, and the like. In practical applications, the processing action for matching each flow entry in the action table may be an execution sequence (which may read a code segment of a packet header and metadata) defined by a user, and the execution sequence may include a plurality of basic module instructions, which are executed in cooperation with parameters and header fields or metadata transmitted to the processing action by the control plane during the execution.
Based on this, after determining the header information of the received data packet, the header fields (such as each header field and each field of metadata) of the data packet may be compared with the matching fields in the matching action table issued by the controller, to determine whether each field included in the header information is successfully matched, and for any successfully matched header field, the processing actions predefined in the matching action table and corresponding to the field may be determined, such as basic actions, e.g., data packet processing operators (such as adding, deleting, modifying packet headers, etc.), base arithmetic operators, hash operators, and statistical tracking operators (such as metering, measuring, etc.), etc., or composite actions formed by combining multiple basic actions may be further packaged, which may be customized by a user based on data processing requirements, and ensure support and extensibility of P4 language to various protocols.
It should be noted that, the implementation method for matching between the data packet and the matching action table is not limited in the present application, and the present application may further perform custom configuration and/or dynamic update according to the data processing requirement to improve the reliability and accuracy of the matching result, and the implementation process may be determined by referring to the configuration implementation manner of the matching action table.
Because the pipeline component of the data processing device is editable, the corresponding pipeline component and the pipeline processing logic thereof can be customized according to different data processing requirements, and details about the configuration implementation method of the pipeline component and the pipeline processing mode thereof are not described in the application. In combination with the above description of the technical solution of the present application, the present application expects to complete the forwarding of the received data packet to other network devices, and to store the data packet, the processing procedure of the data packet, and the like for subsequent retrieval; and the method can also provide computing power, support complex computing services of the application, meet application processing requirements and the like.
Thus, the different pipeline components predefined by the present application may include a store pipeline component and/or a compute pipeline component, and a forward pipeline component; the storage pipeline component is used for realizing storage of data content of the data packet; are used by the compute pipeline components to provide the required computing services for the applications supported by the network device. According to the method, after the matching result between the data packet and the matching action table is determined, the corresponding pipeline component can be called, and the data packet is processed according to the pipeline mode. The embodiment of the present application is not described in detail herein as to how to call a plurality of predefined pipeline components as needed, and input the data packet into the called pipeline component for processing.
Each pipeline component can be a programmable multi-stage pipeline which is mainly divided into an inlet pipeline and an outlet pipeline, wherein the inlet pipeline can modify data packets and determine an outlet port of an input data packet; the egress pipeline is responsible for the modification of the data packet. In practical application, the data plane may sequentially match and process each data packet according to the sequence of the matching action table, and the implementation process is not described in detail in this application.
And S43, recombining and forwarding the data packet processed by the forwarding pipeline component.
The data packet output from the pipeline module may be input to a programmable reverse parser, the header information of the data packet may be reassembled, and the reassembled data packet may be forwarded through an egress port (egress port) assigned with a value in the pipeline. The working principle of the inverse parser is not described in detail in the present application, and in the process of reassembly, the inverse parsing structure is usually defined and generated on the control plane, and the user-defined configuration content of the inverse parsing structure is not limited in the present application.
In summary, in an application scenario of packet message processing, compared with a conventional switch or other forwarding network devices, the present application constructs a data processing device based on a full stack programmable network, and implements design of software function modules and external interfaces of each data processing device located on a data plane of the network by using characteristics of a software defined network, such as the full stack programmable network, so that the data processing device has complete programmability and reconfigurability, can customize a packet processing logic according to data processing requirements, and implements rapid deployment of application functions of different service layers. Therefore, the data processing equipment analyzes the received data packet to obtain the header information of the data packet, the header information of the data packet can be subjected to field matching with a predefined matching action table, the processing action is executed on the data packet through a pipeline component corresponding to the matched processing action, various processing requirements on the data packet are met, and compared with forwarding network equipment such as a traditional switch, the data packet processing mode is enriched.
Referring to fig. 5, a flow chart of another optional example of the data processing method based on the full stack programmable network proposed in the present application, the method is applicable to the data processing apparatus described above, and the present embodiment may be an optional detailed implementation method of the data processing method described above, but is not limited to this implementation method, and as shown in fig. 5, the method may include, but is not limited to, the following steps:
s51, obtaining a self-defined data packet analysis logic on a control plane;
step S52, analyzing the received corresponding data packet according to the data packet analyzing logic to obtain the corresponding data packet header information;
after the data packet is input to a programmable parser in the data processing device through an input port, how the parser parses the data packet to implement separation of a header portion and a payload portion of the data packet may be determined by referring to the above embodiments and application principles of a full stack programmable network, and embodiments of the present application are not described in detail herein.
Step S53, carrying out field matching on the header information of the data packet and a predefined matching action table;
step S54, determining at least one first field of the data packet header information to be successfully matched, and obtaining the data processing logic which is self-defined on the control plane and corresponds to the first field;
step S55, running corresponding data processing logic through the pipeline component corresponding to the first field, and executing the matched processing action on the first field data corresponding to the input data packet;
in conjunction with the above description of the matching action table, the matching action table contains the list of matching fields (i.e. matching header fields), the list of processing actions and their parameters, the number of flow tables, etc., and the execution order of each pipeline in each matching action table, etc. Thus, the separated data packet header information is matched with a matching action table issued by a controller, which header fields exist in the matching action table and which header fields do not exist in the matching action table are determined, the header field which is successfully matched is recorded as a first field, and the header field which is failed to be matched is recorded as a second field.
Because the processing actions corresponding to different matching fields in the matching action table may be different, that is, the processing actions for different field data in the data packet may be different, and the pipeline processing modes for different types of processing actions are different. Therefore, the method and the device can determine the pipeline processing mode of each field data of the data packet according to the matching result, call the corresponding pipeline component to execute the corresponding processing action on the field data of the input data packet, and meet various processing requirements on the data packet. In the process of pipeline processing, the method can be realized according to the data processing logic which is self-defined in the control plane and is suitable for the multi-core processor, and the data processing logic defined by different processing actions can be different, so that the matched processing actions can be executed on the input data packet through different pipeline components according to the corresponding data processing logic.
In still other embodiments, in the matching processing manner, when it is determined that at least one second field of the packet header information fails to match, a predefined default action may be executed on the second field data according to a default action configured in the matching action table, and for an execution process of the default action, a corresponding data processing logic implementation may also be configured in advance on the control plane, and the implementation process is not described in detail in this application.
And S56, recombining the data packets processed by the forwarding pipeline assembly and forwarding the data packets.
Referring to fig. 6, which is a schematic flow chart of yet another optional example of the data processing method based on the full stack programmable network proposed in the present application, in this embodiment, an operation process of calling a storage pipeline component to store data content of a data packet in the data processing method described above may be described, but the present embodiment is not limited to the storage implementation method described in this embodiment, and regarding a process of parsing and matching a data packet, reference may be made to the description of the corresponding part in the above embodiment, and this embodiment is not described in detail herein.
As shown in fig. 6, the method may include:
step S61, calling a storage pipeline component, and continuously storing the data content of the data packet which meets the storage condition according to the context information of the data packet;
after the programmable parser finishes parsing the data packet, under the condition that the data packet, the processing process of the data packet, the processed data packet and other data contents need to be stored, for example, according to the matching action table described above, the matched processing action is determined as a storage operation, a storage pipeline component can be called to store the data contents of the data packet, and in the storage process, the data contents meeting the storage condition can be continuously stored according to the context information of the data packet, so that the consistency of the data in different storage operations is ensured.
The storage condition may be determined according to a data storage requirement, for example, storage may be performed according to related data such as access hot spots, object access focus points, and the like in a related field, and therefore, the data content of the data packet that meets the storage condition may include data content belonging to a data type in which the number of access times requested reaches a request threshold, and/or data content in which the correlation with the data content requested to be accessed last reaches a related threshold, and the like.
The storage pipeline assembly can be a storage chip running predefined data storage logic, and persistent storage of data content meeting storage conditions is achieved, so that under the condition that forwarded data packets are lost due to abnormity of the data processing equipment, corresponding data packets can still be directly read from the storage pipeline assembly, the data packets do not need to be sent again by a data source, the transmission speed of the data packets is improved, and resource waste caused by repeated transmission of the data packets is reduced.
It can be seen that, for the data processing device based on the full stack coding network provided by the present application, compared with the conventional forwarding network device such as an exchanger, a part of storage space (i.e. storage space of the storage pipeline component) is added on the basis of the forwarding pipeline component in the pipeline processing module, and the content of the form is not limited by the present application by maintaining the form of a content name to record the data content meeting the storage condition and performing various operations on the stored data content according to the form.
Step S62, periodically updating and detecting the stored data content;
in order to reduce the waste of storage resources, the data contents stored by any data processing node in the data plane can be periodically updated and detected, and the data contents which are not accessed for a long time can be timely cleaned. In contrast, in the embodiment of the present application, the data content update processing rule may be pre-defined on the control plane according to the service type, the data processing scenario, and the like, and the content of the rule is not limited in the present application. And then, in the running process of the data processing equipment, periodically updating and detecting the data content stored by the equipment according to a predefined data content updating and processing rule, and the implementation process is not described in detail.
Based on this, in some embodiments, for each data content stored by the data processing device, the dynamic storage time length of the data content, the time length of the data content which is not accessed each time and the like which needs to be updated may be recorded, so as to determine the data content and the like which needs to be deleted or updated according to the following, and the application does not limit the content which needs to be updated and is determined according to the circumstances.
Step S63, deleting the stored data content which is not accessed within the preset duration according to the detection result which is updated regularly;
in combination with the above analysis, after each update detection is performed on the relevant information of the stored data content, if it is determined that some stored data content is not accessed for a long time, in order to reduce the occupation of storage resources, such data content may be deleted from the storage space. Therefore, the method and the device can pre-configure the time length (recorded as the preset time length) of the data content which is not accessed according to the data processing scene, the service requirement and the like, and can delete the data content.
In the process of updating the data content, a corresponding update timer (also referred to as an expiration timer) may be configured for each content name form maintained by the data storage device, and is configured to record a storage duration of the corresponding data content after being accessed each time, and when the storage duration does not reach a preset duration, the data content is requested to be accessed, and the update timer may be refreshed, for example, the timing of the update timer is cleared, and the storage duration in which the data content is not accessed is counted again from the time when the data content is requested to be accessed this time.
Step S64, detecting that the residual amount of the storage space is smaller than a preset capacity threshold, and when the data content to be stored is obtained, determining a data packet to be processed which is not requested to be accessed for the longest time according to the storage time stamp of the stored data content;
and step S65, replacing the data content to be processed with the data content to be stored for storage.
In still other embodiments, regarding the update processing manner of the data processing device on the stored data content, including but not limited to the above-described processing manner of cleaning the data content that has not been accessed for a long time, the newly obtained data content that needs to be stored may also be stored according to the dynamic allowance of the storage space of the data storage device itself. Therefore, the present application may detect the remaining amount of the storage space of the data processing device in real time, and detect that the remaining amount of the storage space is smaller than the preset capacity threshold, it may be considered that the storage space of the data processing device is insufficient, and in order to store the currently obtained data content to be stored, the to-be-processed data packet that has not been requested to be accessed for the longest time may be replaced according to the storage timestamp of the stored data content, but is not limited to this processing manner.
In still other embodiments provided in the present application, as described in the foregoing analysis, in the pipeline processing process of the data processing apparatus, in addition to the packet forwarding function, a certain amount of computing capacity may be added, that is, a computing pipeline component is called to satisfy the computing service of the application. Therefore, as shown in fig. 7, in a flowchart of another optional example of the data processing method based on the full stack programmable network provided in this application, after the parsing of the data packet is completed, a predefined computation pipeline component may be further invoked for computation, and as for the parsing processing procedure of the data packet, reference may be made to the description of the corresponding part in the above embodiment, which is not described herein again, and this embodiment may describe the operation procedure of the computation pipeline component. As shown in fig. 7, the method may include:
step S71, calling a calculation pipeline component, configuring the calculation capacity of the network equipment in a virtual machine mode, determining a virtual machine copy corresponding to each application supported by the network equipment, and realizing the calculation service of the corresponding application through the virtual machine copy;
in the embodiment of the application, for some complex calculations of the application, a calculation pipeline component can be called, a calculation network of the data processing equipment is divided in a virtual machine mode, a virtual machine copy with calculation capacity is provided for each application needing calculation service, and accordingly calculation service of the corresponding application is achieved.
Step S72, the virtual machine copy is periodically updated or deleted;
the computing pipeline component can maintain a computing service form by computing service provided by the computing pipeline component, so as to realize the timed updating or deletion of the virtual machine copy, and the implementation process of the periodic updating detection of the data content can be referred to, for example, for computing service which is not started for a long time, the virtual machine copy supporting the computing service can be deleted; if the function of the computing service is updated, the virtual machine copy supporting the computing service can be correspondingly updated, and the implementation process is not described in detail.
Step S73, acquiring calculation characteristic information of the data processing equipment;
and step S74, reporting the calculation characteristic information to a controller of the control plane, so that the controller realizes the unified management and scheduling of the plurality of data processing devices according to the calculation characteristic information.
In order to implement unified management and scheduling of multiple data processing devices in a network, the computing pipeline component may extract computing characteristic information of the data processing device, such as remaining computing capacity of the data processing device, and report the computing characteristic information to the controller on the control plane in time, so that the controller performs unified management and scheduling according to the computing characteristic information, thereby implementing reasonable utilization of computing resources. The present application does not describe in detail the implementation of the management and scheduling of multiple data processing devices.
The embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored, and the computer program is loaded and executed by a processor to implement each step of the data processing method based on the full-stack programmable network, where a specific implementation process may refer to descriptions of corresponding parts in the above embodiment, and details are not repeated in this embodiment.
Embodiments of the present application also provide a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and executes the computer instruction, so that the computer device executes the method provided in the various optional implementation manners of the data processing method based on the full stack programmable network.
Finally, it should be noted that, in the present specification, the embodiments are described in a progressive or parallel manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments may be referred to each other. The data processing device and the medium disclosed by the embodiment correspond to the method disclosed by the embodiment, so that the description is relatively simple, and the relevant points can be referred to the method part for description.
Those of skill would further appreciate that the various illustrative components and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the components and steps of the various examples have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether these functions are performed in hardware or software depends on the specific application of the solution and design pre-set conditions. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A data processing method based on a full stack programmable network is characterized by comprising the following steps:
analyzing each received data packet to obtain corresponding data packet header information;
executing the matched processing action on the data packet through different pipeline components according to the matching result of the header information of the data packet and a predefined matching action table; the different pipeline components include a store pipeline component and/or a compute pipeline component, and a forward pipeline component;
the data packet processed by the forwarding pipeline component is recombined and forwarded;
wherein the storage pipeline component is used for realizing the storage of the data content of the data packet; the compute pipeline component is to provide a desired compute service to an application supported by a network device.
2. The method of claim 1, wherein performing the matched processing action on the packet by different pipeline components according to the matching result of the packet header information and the predefined matching action table comprises:
carrying out field matching on the data packet header information and a predefined matching action table;
determining that at least one first field of the data packet header information is successfully matched, and executing the matched processing action on the data of the corresponding first field in the data packet through a pipeline component corresponding to the first field;
and determining that at least one second field of the data packet header information fails to be matched, and executing a predefined default action on corresponding second field data in the data packet.
3. The method of claim 1 or 2, wherein performing the matched processing action on the data packet by the corresponding pipeline component comprises:
calling the storage pipeline assembly to store the data content of the data packet; the data content comprises metadata in the data packet, intermediate data generated in the data packet processing process and/or a processed data packet; and/or the presence of a gas in the gas,
and calling the computing pipeline component, configuring the computing capacity of the network equipment in a virtual machine mode, determining a virtual machine copy corresponding to each application supported by the network equipment, and realizing computing service of the corresponding application through the virtual machine copy.
4. The method of claim 3, wherein storing the data content of the data packet comprises:
according to the context information of the data packet, continuously storing the data content of the data packet which meets the storage condition;
and the data content of the data packet meeting the storage condition comprises data content belonging to a data type with the requested access times reaching a request threshold value and/or data content with the relevance with the data content requested to be accessed last time reaching a relevant threshold value.
5. The method of claim 4, further comprising:
carrying out periodic update detection on the stored data content;
deleting the stored data content which is not accessed within the preset duration according to the detection result which is updated regularly; and/or the presence of a gas in the gas,
when the remaining amount of the storage space is detected to be smaller than a preset capacity threshold value, determining a data packet to be processed, which is not requested to be accessed for the longest time, according to a storage time stamp of the stored data content when the data content to be stored is obtained;
and replacing the data content to be processed with the data content to be stored for storage.
6. The method of claim 3, wherein during the invocation of the compute pipeline component, the method further comprises:
periodically updating or deleting the virtual machine copy;
acquiring calculation characteristic information of the data processing equipment;
and reporting the calculation characteristic information to a controller of a control plane, so that the controller realizes the unified management and scheduling of the plurality of data processing devices according to the calculation characteristic information.
7. The method of claim 1, wherein parsing each received packet to obtain corresponding packet header information comprises:
obtaining a customized data packet analysis logic on a control plane;
analyzing the received corresponding data packet according to the data packet analysis logic to obtain corresponding data packet header information;
the performing the matched processing action on the data packet by the different pipeline component comprises:
acquiring a data processing logic which is self-defined on the control plane and is suitable for a multi-core processor;
and executing the matched processing action on the input data packet through different pipeline components according to the corresponding data processing logic.
8. A data processing apparatus based on a full stack programmable network, comprising: a parser, a plurality of data processing devices, and an inverse parser, wherein:
the analyzer is used for analyzing each received data packet to obtain corresponding data packet header information;
the data processing device comprises a plurality of predefined pipeline components and is used for executing matched processing actions on the data packet through different pipeline components according to the matching result of the data packet header information and a predefined matching action table; wherein the different pipeline components include a store pipeline component and/or a compute pipeline component, and a forward pipeline component; the storage pipeline component is used for realizing storage of data content of the data packet; the computing pipeline component is used for providing required computing services for the applications supported by the network equipment;
and the reverse parser is used for recombining and forwarding the data packet processed by the forwarding pipeline component.
9. The apparatus of claim 7, wherein the data processing device further comprises:
the updating timer is used for recording the time length of any stored data packet which is not requested to be accessed, so that when the recorded time length reaches the preset time length, the data packet is not requested to be accessed, and the data packet is deleted; when the recorded duration does not reach the preset duration, the data packet is requested to be accessed, and the recording time of the updating timer is refreshed;
wherein the update timer is configured by invoking an application programming interface of the data processing device.
10. A computer-readable storage medium, having stored thereon a plurality of computer instructions, which are loaded and executed by a processor, for implementing the data processing method based on a full stack programmable network according to any one of claims 1 to 7.
CN202210793471.7A 2022-07-07 2022-07-07 Data processing method, device and medium based on full-stack programmable network Pending CN115174711A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210793471.7A CN115174711A (en) 2022-07-07 2022-07-07 Data processing method, device and medium based on full-stack programmable network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210793471.7A CN115174711A (en) 2022-07-07 2022-07-07 Data processing method, device and medium based on full-stack programmable network

Publications (1)

Publication Number Publication Date
CN115174711A true CN115174711A (en) 2022-10-11

Family

ID=83491389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210793471.7A Pending CN115174711A (en) 2022-07-07 2022-07-07 Data processing method, device and medium based on full-stack programmable network

Country Status (1)

Country Link
CN (1) CN115174711A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132018A (en) * 2022-12-20 2023-05-16 暨南大学 Method for realizing SHA256 algorithm on P4 programmable switch

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306757A (en) * 2017-12-25 2018-07-20 清华大学 Programmable data planar virtual layer building method and storage medium
CN108494574A (en) * 2018-01-18 2018-09-04 清华大学 Network function parallel processing architecture in a kind of NFV
US20200053025A1 (en) * 2018-08-13 2020-02-13 Metaswitch Networks Ltd. Programmable packet data processing system
CN114337893A (en) * 2021-12-28 2022-04-12 中国传媒大学 Precise time synchronization method based on programmable data plane

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306757A (en) * 2017-12-25 2018-07-20 清华大学 Programmable data planar virtual layer building method and storage medium
CN108494574A (en) * 2018-01-18 2018-09-04 清华大学 Network function parallel processing architecture in a kind of NFV
US20200053025A1 (en) * 2018-08-13 2020-02-13 Metaswitch Networks Ltd. Programmable packet data processing system
CN114337893A (en) * 2021-12-28 2022-04-12 中国传媒大学 Precise time synchronization method based on programmable data plane

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
崔鹏帅: "存转算一体的多模态网络共性平台技术研究", 《中兴通讯技术》, pages 1 - 6 *
张雯雯: "SDN数据平面软件一致性测试用例生成方法", 软件学报, pages 1 - 14 *
赵敏;田野;: "P4与POF协议无关可编程网络技术比较研究", 网络新媒体技术, no. 01 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132018A (en) * 2022-12-20 2023-05-16 暨南大学 Method for realizing SHA256 algorithm on P4 programmable switch

Similar Documents

Publication Publication Date Title
US11016673B2 (en) Optimizing serverless computing using a distributed computing framework
US20040064806A1 (en) Verifiable processes in a heterogeneous distributed computing environment
US20240061663A1 (en) Compiling system and compiling method for programmable network element
WO2009106568A1 (en) Virtual machine and programming language for event processing
CN110912782B (en) Data acquisition method, device and storage medium
Ameur-Boulifa et al. Behavioural semantics for asynchronous components
WO2012051844A1 (en) Intelligent network platform, method for executing services and method for analyzing service abnormity
CN115174711A (en) Data processing method, device and medium based on full-stack programmable network
Bromberg et al. Automatic generation of network protocol gateways
EP1704475A1 (en) System and method for dynamically optimized message processing
CN110008086B (en) Log generation method and device and client
Wirsing et al. Design and analysis of cloud-based architectures with KLAIM and Maude
Nottegar et al. Performance evaluation of mobile processes via abstract machines
Mahbub et al. Translation of SLAs into monitoring specifications
CN114928562A (en) Flow processing method and system for graph computing platform
Bannour et al. A flexible GraphQL northbound API for intent-based SDN applications
Cansado et al. Specification and verification for grid component-based applications: from models to tools
Prihozhy et al. Evaluation of the parallelization potential for efficient multimedia implementations: dynamic evaluation of algorithm critical path
Graubmann et al. Semantic annotation of software components
Do et al. Comparing the StreamIt and ΣC languages for manycore processors
KR100716169B1 (en) Apparatus and method for processing the message for network management system
Kreitz Automated fast-track reconfiguration of group communication systems
Maaß In-network complex event processing using advanced data-plane programming
Wang et al. From model to implementation: a network algorithm programming language
Baraki et al. MOCCAA: A Delta-synchronized and Adaptable Mobile Cloud Computing Framework.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination