![]() Method and device for implementing remote procedure call
专利摘要:
The present application discloses a method and device for implementing remote procedure call. The method includes: calling, by a client, a service interface of a Software Defined Networking, SDN, controller and converting a first input parameter of the service interface into a second input parameter in a preset protocol format; and converting, by the client, the second input parameter into request information conforming to a remote procedure call protocol, RPC, and sending the same to the SDN controller. 公开号:EP3706382A1 申请号:EP18881368.7 申请日:2018-09-12 公开日:2020-09-09 发明作者:Shaoyong Wu;Yansong Wang;Jian Tian;Zhiyong KE 申请人:ZTE Corp; IPC主号:H04L67-00
专利说明:
[0001] The present disclosure is based on and claims priority to the Chinese patent application No. 201711190700.1, filed on November 24, 2017 , the entire disclosure of which is hereby incorporated by reference. TECHNICAL FIELD [0002] The present disclosure relates to, but is not limited to, Software Defined Networking (SDN) technologies. BACKGROUND [0003] SDN is a novel network architecture with separate control and forwarding and programmable by software. The SDN architecture includes a centralized control plane and a distributed data plane. The SDN controller, as an objectified control plane, can sense all information on the network, process logic of the whole network, and realize various network protocols. The centralized control mode in the SDN architecture simplifies the traditional control and complex protocols distributed on various devices, and provides excellent management and evolution capabilities for network control and network evolution. The SDN controller is an important bridge between network applications and network infrastructure in the SDN architecture. Since the SDN controller can be programmed by software, flexible control and application innovation capacity of the network are provided so that the network can be quickly opened and flexibly adjusted. [0004] FIG. 1 is a schematic diagram illustrating constitution of an SDN controller in the existing art. As shown in FIG. 1, the SDN controller may be generally divided, according to a functional hierarchy, into a northbound abstraction layer, a distributed core, as well as a southbound abstraction layer, an adaptation, driver and protocol layer, and the like. Among that, the northbound abstraction layer, also known as the northbound interface abstraction layer, isolates applications from network details and can isolate applications from network events (e.g., connection interrupts). Accordingly, the SDN controller is isolated from applications and may manage requests from multiple competitive applications. From the service perspective, the provision of the northbound abstraction layer speeds up application development, and allows network changes without application downtime. [0005] The distributed core provides inter-component communication, status management, leader election services, and the like. Thus, a plurality of components appear as one logical component. For applications, the distributed core layer shields network diversity. In addition, applications can learn a fault code of a components or data platform. These all greatly simplify the application development and fault handling process. [0006] Various network applications (APPs) developed on the basis of the SDN controller are provided in the existing art. In development of an APP, a large amount of data needs to be efficiently interacted between the APP and the SDN controller, such as calling various network services provided by the northbound abstraction layer, and querying network topology and status, so as to implement corresponding network operation instructions, and make the network programmable by software. [0007] An SDN controller is typically developed with a certain programming language such as JAVA. If an APP is developed with another programming language such as PYTHON, it is not possible to directly implement the interaction between the APP and the SDN controller across the programming languages. Moreover, if the APP and the SDN controller are distributed on different hosts, remote interaction across nodes cannot be performed, either. SUMMARY [0008] Embodiments of the present disclosure provide a method and device for implementing remote procedure call. [0009] In an embodiment of the present disclosure, there is provided a device for implementing remote procedure call, including: an agent module, a first conversion module and a first transceiver module; wherein the agent module is configured to call a service interface of an SDN controller, and input and output parameters of the agent module are the same as actual service interface parameters on the SDN controller; the first conversion module is configured to convert a first input parameter, which conforms to an APP client programming language format, of a service interface provided by a client where the first conversion module is located into a second input parameter in a preset protocol format; and the first transceiver module is configured to convert the second input parameter into request information conforming to a remote procedure call protocol (RPC) and send the request information to the SDN controller. [0010] In an embodiment of the present disclosure, there is further provided a device for implementing remote procedure call, including: a second transceiver module and a second conversion module; wherein the second transceiver module is configured to receive request information conforming to RPC from a client and convert the request information into a second input parameter in a preset protocol format; and the second conversion module is configured to convert the second input parameter into a third input parameter conforming to an SDN controller programming language format of a service interface provided by an SDN controller where the second conversion module is located. [0011] In an embodiment of the present disclosure, there is further provided a method for implementing remote procedure call, including: calling, by a client, a service interface of an SDN controller and converting a first input parameter of the service interface into a second input parameter in a preset protocol format; and converting, by the client, the second input parameter into request information conforming to RPC and sending the request information to the SDN controller. [0012] In an embodiment of the present disclosure, there is further provided a computer readable storage medium having a computer executable instruction stored thereon, wherein the computer executable instruction is configured to cause the method for implementing remote procedure call as described above to be performed. [0013] In an embodiment of the present disclosure, there is further provided a device for implementing remote procedure call, including a processor and a storage; wherein the storage has stored therein a computer program executable on the processor; the processor is configured to, when executing the computer program, perform the method for implementing remote procedure call at the client side as described above. [0014] In an embodiment of the present disclosure, there is further provided a method for implementing remote procedure call, including: converting, by an SDN controller, request information conforming to RPC from a client into a second input parameter in a preset protocol format; and converting, by the SDN controller, the second input parameter into a third input parameter of a service interface of the SDN controller. [0015] In an embodiment of the present disclosure, there is further provided a computer readable storage medium having a computer executable instruction stored thereon, wherein the computer executable instruction is configured to cause the method for implementing remote procedure call as described above to be performed. [0016] In an embodiment of the present disclosure, there is further provided a device for implementing remote procedure call, including a processor and a storage; wherein the storage has stored therein a computer program executable on the processor; the processor is configured to, when executing the computer program, perform the method for implementing remote procedure call at the SDN controller side as described above. [0017] The technical solution of the embodiments of the present disclosure comprises at least the following steps: calling, by an APP client, a service interface of an SDN controller and converting an input parameter of the service interface into an input parameter in a preset protocol format; and converting, by the APP client, the input parameter converted into the preset protocol format into request information conforming to RPC and sending the request information to the SDN controller. The embodiments of the present disclosure realize direct interaction of the APP and the SDN controller across programming languages. [0018] Other features and advantages of the present disclosure will be set forth in the description which follows, and will become apparent from the description at least partially, or be understood by implementing the present disclosure. Objects and other advantages of the disclosure may be realized and obtained by means of the structures particularly pointed out in the description, appended claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS [0019] Accompanying drawings are provided for further understanding of the technical solution of the present disclosure and constitute a part of the specification. Hereinafter, these drawings are intended to explain the technical solution of the present disclosure together with the following embodiments.FIG. 1 is a schematic diagram illustrating configuration of an SDN controller in the existing art; FIG. 2 is a schematic diagram illustrating configuration of a first embodiment of the device for implementing remote procedure call according to the present disclosure; FIG. 3 is a schematic diagram illustrating configuration of a second embodiment of the device for implementing remote procedure call according to the present disclosure; FIG. 4 is a flowchart of a first embodiment of a method for implementing remote procedure call according to the present disclosure; and FIG. 5 is a flowchart of a second embodiment of a method for implementing remote procedure call according to the present disclosure. DETAILED DESCRIPTION [0020] For clarity and better understanding of the objects, technical solution and advantages of the present disclosure, embodiments of the present disclosure will now be described in detail in conjunction with the accompanying drawings. It should be noted that the embodiments of the present disclosure and features therein may be arbitrarily combined with each other without conflict. [0021] FIG. 2 is a schematic diagram illustrating configuration of a first embodiment of the device for implementing remote procedure call according to the present disclosure. In the first embodiment, the device is provided on a client configured to install an APP client, and as shown in FIG. 2, the device includes at least: an agent module, a first conversion module and a first transceiver module. Here, the agent module is configured to call a service interface of an SDN controller, and input and output parameters of the agent module are the same in contents as actual service interface parameters on the SDN controller. [0022] The APP client on the client does not have an actual SDN controller service interface, but the agent module shields interaction differences between the APP client using a non-controller programming language and the SDN controller. Therefore, by means of the agent module, calling of the service interface of the SDN controller is conveniently realized in the embodiment of the present disclosure. [0023] The first conversion module is configured to convert a first input parameter of a service interface provided by a client where the first conversion module is located into a second input parameter in a preset protocol format. [0024] Here, the input parameter of the service interface provided by the client conforms to an APP client programming language format. [0025] In an embodiment, the preset protocol format may include, for example, a protobuf format, an Interface Definition Language (IDL) format, and a JavaScript Object Notation (JSON) format. Parameters identifiable by the preset protocol format are basic types, such as one or any combination of character strings, integers, floating point numbers, bytes, and Boolean types, but do not include pointer types. [0026] The first transceiver module is configured to convert the second input parameter into request information conforming to RPC and send the same to the SDN controller. [0027] In an embodiment, the client and the SDN controller may be disposed on the same physical device, or may be disposed on different physical devices. In the case that the client and the SDN controller are disposed on different physical devices, such as on different hosts, then the request information further includes: an address and an agreed port of the SDN controller, here, the agreed port is a preset port or a dynamically negotiated port. [0028] With the device shown in FIG. 2 provided in the present disclosure, through a combined function of the first conversion module and the first transceiver module, the information conforming to the APP programming language format is converted into the preset protocol format to interact with the SDN controller, and the problem of interaction between the APP client on the client and the SDN controller across programming languages is effectively solved. [0029] In an embodiment, in the device shown in FIG. 2, the first transceiver module is further configured to: receive reply information conforming to RPC from the SDN controller and convert the reply information conforming to RPC into the second output parameter in the preset protocol format. Accordingly, the first conversion module is further configured to: further convert the second output parameter into the first output parameter conforming to the APP client programming language format, and output the same to the agent module. [0030] Thus, the agent module will use the obtained first output parameter as a return value of the agent module. [0031] FIG. 3 is a schematic diagram illustrating configuration of a second embodiment of the device for implementing remote procedure call according to the present disclosure. In the second embodiment, the device is provided at the SDN controller, and as shown in FIG. 3, the device includes at least: a second transceiver module and a second conversion module. Here, the second transceiver module is configured to receive request information conforming to RPC from an APP client and convert the request information into a second input parameter in a preset protocol format. [0032] In an embodiment, the preset protocol format may include, for example, protobuf, IDL, JSON, and the like. Parameters identifiable by the preset protocol format are basic types, such as one or any combination of character strings, integers, floating point numbers, bytes, and Boolean types, but do not include pointer types. [0033] The second conversion module is configured to convert the second input parameter into a third input parameter of a service interface provided by the SDN controller where the second conversion module is located. [0034] Here, the third input parameter of the service interface provided by the SDN controller conforms to the SDN controller programming language format. [0035] In an embodiment, in the device shown in FIG. 3, the second conversion module is further configured to: convert a third output parameter from the SDN controller where the second conversion module is located as a reply to the request information into the second output parameter in the preset protocol format; and accordingly, the second transceiver module is further configured to: convert the second output parameter into reply information conforming to RPC and send the same to the client. [0036] In an embodiment, the device shown in FIG. 3 further includes a registration module configured to register an RPC service in the SDN controller where the registration module is located, and start the RPC service when needed. [0037] In an embodiment, the device shown in FIG. 3 further includes a monitoring module configured to monitor a port agreed with the client, and notify the second transceiver module of receiving information from the client when an information stream is detected on the port. [0038] Through cooperative application of the devices in FIGs. 2 and 3, direct interaction between the APP and the SDN controller across programming languages is realized in the embodiments of the present disclosure. Moreover, the APP client automatically generates a client code without knowing an underlying network protocol or parsing the code, thereby making a network request processed by the SDN controller as simple as a local call method. [0039] FIG. 4 is a flowchart of a first embodiment of a method for implementing remote procedure call according to the present disclosure. As shown in FIG. 4, the method includes the following steps 400 to 401. [0040] At step 400: the client calls a service interface of an SDN controller and converts a first input parameter of the service interface into a second input parameter in a preset protocol format. [0041] Here, the first input parameter of the service interface provided by the client conforms to an APP client programming language format. [0042] In an embodiment, the preset protocol format may include, for example, protobuf, IDL, JSON, and the like. Parameters identifiable by the preset protocol format are basic types, such as one or any combination of character strings, integers, floating point numbers, bytes, and Boolean types, but do not include pointer types. [0043] At step 401: the client converts the second input parameter into request information conforming to RPC and sends the same to the SDN controller. [0044] In an embodiment, in the case that the client and the SDN controller are disposed on different physical devices, such as on different hosts, then the request information further includes: an address and an agreed port of the SDN controller. [0045] In the embodiment shown in FIG. 4, the information conforming to the APP programming language format is converted into the preset protocol format to interact with the SDN controller, and the problem of interaction between the client and the SDN controller across programming languages is effectively solved. [0046] In an embodiment, the method in FIG. 4 further includes: receiving, by the client, reply information conforming to RPC from the SDN controller and converting the reply information conforming to RPC into the second output parameter in the preset protocol format; and further converting, by the client, the second output parameter into the first output parameter conforming to an APP client programming language format as a return value. [0047] In an embodiment of the present disclosure, there is further provided a computer readable storage medium having a computer executable instruction stored thereon, wherein the computer executable instruction is configured to cause any of the methods for implementing remote procedure call as shown in FIG. 4 according to the embodiments of the present disclosure to be performed. [0048] In an embodiment of the present disclosure, there is further provided a device for implementing remote procedure call, including a processor, a storage, and a computer program stored in the storage and executable on the processor for: calling a service interface of an SDN controller, and converting a first input parameter of the service interface into a second input parameter in a preset protocol format; and converting the second input parameter into request information conforming to RPC and sending the same to the SDN controller. [0049] That is, the processor is configured to, when executing the computer program, perform any of the methods for implementing remote procedure call at the client side as described above. [0050] FIG. 5 is a flowchart of a second embodiment of a method for implementing remote procedure call according to the present disclosure. As shown in FIG. 5, the method includes the following steps 500 to 501. [0051] At step 500: the SDN controller converts request information conforming to RPC from a client into a second input parameter in a preset protocol format. [0052] In an embodiment, the preset protocol format may include, for example, protobuf, IDL, JSON, and the like. Parameters identifiable by the preset protocol format are basic types, such as one or any combination of character strings, integers, floating point numbers, bytes, and Boolean types, but do not include pointer types. [0053] At step 501: the SDN controller converts the second input parameter into a third input parameter of a service interface of the SDN controller. [0054] Here, the third input parameter of the service interface provided by the SDN controller conforms to the SDN controller programming language format. [0055] In an embodiment, the embodiment of FIG. 5 further includes: the SDN controller converts a third output parameter as a reply to the request information into the second output parameter in the preset protocol format; and converts the second output parameter into reply information conforming to RPC and sends the same to the client. [0056] In an embodiment, beforehand, the method according to the embodiment shown in FIG. 5 further includes: registering, by the SDN controller, an RPC service, and starting, by the SDN controller, the RPC service when needed. [0057] In an embodiment, beforehand, the method according to the embodiment shown in FIG. 5 further includes: monitoring, by the SDN controller, a port agreed with the client, and receiving, by the SDN controller, information from the client when an information stream is detected on the port. [0058] Through cooperative application of the methods in FIGs. 4 and 5, direct interaction between the client and the SDN controller across programming languages is realized in the embodiments of the present disclosure. [0059] In an embodiment of the present disclosure, there is further provided a computer readable storage medium having a computer executable instruction stored thereon, wherein the computer executable instruction is configured to cause any of the methods for implementing remote procedure call as shown in FIG. 5 according to the embodiments of the present disclosure to be performed. [0060] In an embodiment of the present disclosure, there is further provided a device for implementing remote procedure call, including a processor, a storage, and a computer program stored in the storage and executable on the processor for: converting request information conforming to RPC from an APP client into a second input parameter in a preset protocol format; and converting the second input parameter into a third input parameter of a service interface of the SDN controller. [0061] That is, the processor is configured to, when executing the computer program, perform any of the methods for implementing remote procedure call at the SDN controller side as described above. [0062] Implementations of the present disclosure will be described in detail below with reference to specific embodiments. [0063] In a first embodiment, it is assumed that in an SDN controller, an APP client provided on a client is developed with a programming language PYTHON (or another programming language), the SDN controller is developed with a programming language JAVA (or another programming language), and the client and the SDN controller run on the same host. [0064] In the first embodiment, it is assumed that the APP client needs to call an interface of the SDN controller to query whether there is a reachable path between two network nodes. In this case, the input parameter of the APP client includes ID numbers of the two network nodes, e.g., 32-bit integer types, and the return value of the SDN controller is expected to include a path reachable value, e.g., of a Boolean type: yes or no. [0065] The method for implementing remote procedure call provided in the embodiment of the present disclosure is as follows. [0066] At the SDN controller, the method includes: registering an RPC service in the SDN controller, and starting the RPC Service for a path reachablity query in a component (bundle) under the case that the SDN controller conforms to an Open Service Gateway Initiative (OSGI) framework; and monitoring an agreed port with the APP client in the SDN controller, and receiving RPC information at the port, the agreed port number in the first embodiment is assumed to be 5001. [0067] The input parameter in the first embodiment includes ID numbers of two network nodes of a 32-bit integer type, and the output parameter includes a path reachable value of a Boolean type, which are both basic types that can be directly identified by a preset protocol format. [0068] For the received RPC request information, i.e., the input parameter of the ID numbers of the two network nodes, it is converted by the SDN controller into an input parameter of ID numbers of the two network nodes in an SDN controller programming language format, such as JAVA, according to a preset protocol format; and for the RPC reply information to be sent, an output parameter of a service interface provided by the SDN controller, i.e., a path reachable value of a Boolean type in a JAVA format, is converted into the RPC reply information according to the preset protocol format. [0069] At the APP client, the method in the first embodiment includes: setting, in the APP client, a path reachablity query interface having the same input and output parameters in contents as the actual service interface of the SDN controller, the input parameter includes ID numbers of two network nodes of a 32-bit integer type, and the output parameter includes a path reachable value of a Boolean type, which are both basic types that can be directly identified by a preset protocol format. [0070] For the RPC information to be sent, the input parameter of a service interface provided by the APP client, i.e., the ID numbers of the two network nodes, is converted into RPC request information according to the preset protocol format; and For the received RPC reply information, it is converted into a path reachable value of a Boolean type in an APP client programming language format, such as PYTHO, according to the preset protocol format. [0071] The step of the APP client calling an interface of the SDN controller and querying whether a path between the two network nodes is reachable includes: starting a registration module by the SDN controller, and starting an RPC service for path reachablity query in bundle through an OSGI framework; starting a monitoring module by the SDN controller to monitor an agreed port of the APP client and the SDN controller, and receiving RPC information, the agreed port number in the first embodiment is 5001; developing the APP client with, for example, PYTHON, and calling an agent module for path reachablity query on the APP client, the input parameter including ID numbers of two network nodes; calling, by the APP client, a first conversion module to convert the input parameter of the request, i.e., the ID numbers of the two network nodes, into an input parameter in a preset protocol format; calling, by the APP client, a first transceiver module to convert the input parameter in the preset protocol format into RPC request information, and send the RPC request information to a designated address and port, e.g., 5001, of the SDN controller; submitting, after detecting RPC information at the port 5001 by the monitoring module of the SDN controller, the received RPC information to a second transceiver module of the SDN controller; parsing, by the second transceiver module of the SDN controller, the RPC request information in the preset protocol format; converting, by the second conversion module of the SDN controller, the request information in the preset protocol format into an input parameter of the ID numbers of the two network nodes corresponding to an SDN controller programming language such as JAVA; calling, by the SDN controller, a corresponding path reachablity query interface to operate, converting, by the second conversion module, a return value corresponding to the obtained input parameter, i.e., a path reachable value of a Boolean type, into an output parameter in the preset protocol format and converting, by the second transceiver module, the output parameter in the preset protocol format into reply information conforming to RPC and sending the same to the APP client; receiving, by the first transceiver module of the APP client, the RPC information, parsing the RPC reply information, and converting the reply information conforming to RPC into an output parameter in the preset protocol format before submitting to the first conversion module of the APP client; converting, by the first conversion module of the APP client, the output parameter in the preset protocol format into an output parameter of a path reachable value of a Boolean type corresponding to the APP programming language such as PYTHON, and transmitting the output parameter to the agent module as a return value of the agent module. [0072] In this manner, the APP client obtains a return value regarding whether a path between the two network nodes is reachable. [0073] In a second embodiment, it is assumed that in an SDN controller, an APP client provided on a client is developed with a programming language PYTHON, the SDN controller is developed with a programming language JAVA, and the client and the SDN controller run on the same host. [0074] In the second embodiment, it is assumed that the APP client needs to call an interface of the SDN controller to query a path between two network nodes. In this case, the input parameter of the APP client includes ID numbers of the two network nodes, e.g., 32-bit integer types, and the return value of the SDN controller is expected to include a path reachable value and a path pointer. The path reachable value is a Boolean type that represents whether a path between two nodes is reachable. If the path is reachable, the path pointer points to a series of link IDs, such as a set of 32-bit integer types. [0075] The second embodiment differs from the first embodiment mainly in that: the return value in the first embodiment is a Boolean type, which is a basic type and can be directly converted according to a preset protocol format; while the return value in the second embodiment is a combination of a basic type (Boolean type) and a pointer, in which the pointer type cannot be directly converted according to a preset protocol format. [0076] Therefore, in the second embodiment, the implementation of protocol conversion on the SDN controller includes: converting the received RPC request information, i.e., the input parameter including the ID numbers of the two network nodes, into an input parameter of ID numbers of the two network nodes in a server side programming language format, such as JAVA, according to a preset protocol format; and for the RPC reply information to be sent, regarding the output parameter of a service interface provided by the server side, i.e., the combination of the path reachable value of a Boolean type and the pointer type path in a JAVA format: reading the Boolean type path reachable value in the JAVA format; and reading a value specifically pointing to a series of link IDs in the pointer type path in the JAVA format; combining the two types of values into a new data type, wherein the new data type is a combination of the basic types which can be identified by the preset protocol format, and then converting the data type into the parameter in the preset protocol format. [0077] In the second embodiment, the specific implementation of protocol conversion on the APP client includes: for the RPC information to be sent, converting the input parameter of a service interface provided by the client, i.e., the input parameter including the ID numbers of the two network nodes, for example, programmed with PYTHON, into RPC request information according to a preset protocol format; and for the received RPC reply information having a data type as set on the SDN controller: firstly, converting it into a data type of a combination of the two types of values programmed with PYTHON according to the preset protocol format; then, reading a Boolean type path reachable value in a JAVA format; reading a value specifically pointing to a series of link IDs in a path combination, and constructing a pointer to point to the path combination; and combining the Boolean type path reachable value and pointer type path into a return value type of the agent module on the APP client. [0078] Other specific implementation steps are the same as the first embodiment, and thus are not repeated here. [0079] In a third embodiment, it is assumed that in an SDN controller, an APP client provided on a client is developed with a programming language PYTHON, the SDN controller is developed with a programming language JAVA, and the client and the SDN controller run on different hosts. [0080] In the third embodiment, the APP client needs to call an interface of the SDN controller to query a path between two network nodes. The input parameter of the APP client includes ID numbers of the two network nodes, e.g., 32-bit integer types, and the return value of the SDN controller is expected to include a path reachable value and a path pointer. The path reachable value is a Boolean type that represents whether a path between two nodes is reachable. If the path is reachable, the path pointer points specifically to a series of link IDs, such as a set of 32-bit integer types. [0081] The third embodiment differs from the second embodiment mainly in that: the APP client and the SDN controller of the second embodiment run on the same host, while the APP client and the SDN controller of the third embodiment run on different hosts. Thus, for the third embodiment, in the process of the APP client calling the service interface of the SDN controller and querying the path between the two network nodes, it is designated in the request information that the address and the port of the SDN controller is an IP address and an agreed port corresponding to the SDN controller. [0082] Other specific implementation steps are the same as the second embodiment, and thus are not repeated here. [0083] In a fourth embodiment, it is assumed that in an SDN controller, an APP client provided on a client is developed with a programming language PYTHON, the SDN controller is developed with a programming language JAVA, and the client and the SDN controller run on the same host. [0084] In the fourth embodiment, it is assumed that the APP client needs to call an interface of the SDN controller to query whether there is a reachable path between multiple pairs of network nodes. In this case, the input parameter of the APP client includes ID numbers of the multiple pairs of network nodes, e.g., each pair of network nodes include two 32-bit integer types, and the return value of the SDN controller is expected to include a plurality of path reachable values, e.g., each path reachable value is a Boolean type: yes or no. [0085] The fourth embodiment differs from the first embodiment mainly in that: the input parameter of the APP client in the first embodiment includes ID numbers of two network nodes, while the input parameter of the APP client in the fourth embodiment includes ID numbers of an indefinite number of network nodes; in addition, the return value in the first embodiment includes one path reachable value, while the return value in the fourth embodiment includes a number of path reachable values corresponding to the number of input parameters, that is, in the fourth embodiment, the interaction between the APP client and the SDN controller is full-duplex bidirectional data flow. Thus, for the fourth embodiment, before initiating the request information, the APP client needs to set the sending mode to a stream mode, and set an end mark when the sending is completed. [0086] Since the return value sent to the APP client from the SDN controller is a data stream, the SDN controller needs to set the sending mode to a stream mode and send the return value in the stream mode, and set an end mark when the sending is completed. [0087] Other specific implementation steps are the same as the first embodiment, and thus are not repeated here. [0088] In the embodiments of the present disclosure, the efficiency of a large amount of bidirectional flow communication is improved. [0089] The above are only exemplarily examples of the present disclosure and not intended to limit the scope of the present disclosure. Any amendments, equivalent substitutions, improvements, etc. within the principle of the present disclosure are all included in the scope of the protection defined by the appended claims of the present disclosure.
权利要求:
Claims (16) [0001] A device for implementing remote procedure call, comprising: an agent module, a first conversion module and a first transceiver module; whereinthe agent module is configured to call a service interface of a Software Defined Networking, SDN, controller, and input and output parameters of the agent module are the same as actual service interface parameters of the SDN controller;the first conversion module is configured to convert a first input parameter of a service interface provided by a client where the first conversion module is located into a second input parameter in a preset protocol format, the first input parameter conforming to an application, APP, client programming language format; andthe first transceiver module is configured to convert the second input parameter into request information conforming to a remote procedure call protocol, RPC, and send the request information to the SDN controller. [0002] The device according to claim 1, wherein the first transceiver module is further configured to: receive reply information conforming to RPC from the SDN controller and convert the reply information conforming to RPC into a second output parameter in the preset protocol format; andthe first conversion module is further configured to: convert the second output parameter into a first output parameter conforming to the APP client programming language format, and output the first output parameter to the agent module. [0003] The device according to claim 1, wherein the client where the device is located and the SDN controller are disposed on a same physical device or different physical devices; andin a case where the client where the device is located and the SDN controller are disposed on different physical devices, the request information further includes: an address and an agreed port of the SDN controller, wherein the agreed port is a preset port or a dynamically negotiated port. [0004] A device for implementing remote procedure call, comprising: a second transceiver module and a second conversion module; whereinthe second transceiver module is configured to receive request information conforming to a remote procedure call protocol, RPC, from a client and convert the request information into a second input parameter in a preset protocol format; andthe second conversion module is configured to convert the second input parameter into a third input parameter conforming to a Software Defined Networking, SDN, controller programming language format of a service interface provided by an SDN controller where the second conversion module is located. [0005] The device according to claim 4, wherein the device further comprises a monitoring module configured to monitor a port agreed with the client, and notify the second transceiver module of receiving information from the client when an information stream is detected on the port. [0006] The device according to claim 4, wherein the second conversion module is further configured to: convert a third output parameter from the SDN controller where the second conversion module is located as a reply to the request information into a second output parameter in the preset protocol format; andthe second transceiver module is further configured to: convert the second output parameter into reply information conforming to RPC and send the reply information to the client. [0007] A method for implementing remote procedure call, comprising: calling, by a client, a service interface of a Software Defined Networking, SDN, controller and converting a first input parameter of the service interface into a second input parameter in a preset protocol format; and converting, by the client, the second input parameter into request information conforming to a remote procedure call protocol, RPC, and sending the request information to the SDN controller. [0008] The method according to claim 7, wherein the method further comprises: receiving, by the client, reply information conforming to RPC from the SDN controller and converting the reply information conforming to RPC into a second output parameter in the preset protocol format; and converting, by the client, the second output parameter into a first output parameter conforming to an application, APP, client programming language format as a return value. [0009] The method according to claim 7, wherein the client and the SDN controller are disposed on a same physical device or different physical devices; andin a case where the APP client and the SDN controller are disposed on different physical devices, the request information further includes: an address and an agreed port of the SDN controller, wherein the agreed port is a preset port or a dynamically negotiated port. [0010] A computer readable storage medium having a computer executable instruction stored thereon, wherein the computer executable instruction is configured to cause the method for implementing remote procedure call according to any one of claims 7 to 9 to be performed. [0011] A device for implementing remote procedure call, comprising a processor, a storage, and a computer program stored in the storage and executable on the processor; wherein the processor is configured to, when executing the computer program, perform the method for implementing remote procedure call according to any one of claims 7 to 9. [0012] A method for implementing remote procedure call, comprising: converting, by a Software Defined Networking, SDN, controller, request information conforming to a remote procedure call protocol, RPC, from a client into a second input parameter in a preset protocol format; and converting, by the SDN controller, the second input parameter into a third input parameter of a service interface of the SDN controller. [0013] The method according to claim 12, wherein beforehand, the method further comprises:monitoring, by the SDN controller, a port agreed with the client, and receiving information from the client when an information stream is detected on the port. [0014] The method according to claim 12, wherein the method further comprises: converting, by the SDN controller, a third output parameter as a reply to the request information into a second output parameter in the preset protocol format; and converting the second output parameter into reply information conforming to RPC and sending the reply information to the client. [0015] A computer readable storage medium having a computer executable instruction stored thereon, wherein the computer executable instruction is configured to cause the method for implementing remote procedure call according to any one of claims 12 to 14 to be performed. [0016] A device for implementing remote procedure call, comprising a processor, a storage, and a computer program stored in the storage and executable on the processor; wherein the processor is configured to, when executing the computer program, perform the method for implementing remote procedure call according to any one of claims 12 to 14.
类似技术:
公开号 | 公开日 | 专利标题 US9450823B2|2016-09-20|Hybrid network management US10050842B2|2018-08-14|Network control and management using semantic reasoners in a network environment CN104753715B|2018-08-07|Mix SDN controllers JP6408602B2|2018-10-17|Method and communication unit for service implementation in an NFV system US10116706B2|2018-10-30|Inter-domain replication of service information Medved et al.2014|Opendaylight: Towards a model-driven sdn controller architecture JP5883946B2|2016-03-15|Calculation of network transfer status and use of transactions for propagation US10404581B2|2019-09-03|Methods for managing transaction in software defined network EP3148226B1|2019-03-27|Iot gateway capable of handling heterogenous protocols US9124485B2|2015-09-01|Topology aware provisioning in a software-defined networking environment KR101692890B1|2017-01-04|Chassis controllers for converting universal flows US8219970B2|2012-07-10|XML push and remote execution of a wireless applications CN106462538B|2019-07-23|For the system and method based on compatibility network configuration US8296400B2|2012-10-23|System and method for generating a configuration schema US20130219078A1|2013-08-22|Tunnel creation US20140244809A1|2014-08-28|Service configuration method and apparatus US20160301603A1|2016-10-13|Integrated routing method based on software-defined network and system thereof US9264326B2|2016-02-16|Abstract representation and provisioning of network services US8635315B2|2014-01-21|Method and system for dynamic loading of management information bases on network devices US8730819B2|2014-05-20|Flexible network measurement US10999380B2|2021-05-04|Method and apparatus of interworking M2M and IoT devices and applications with different service layers US7761640B2|2010-07-20|Slot interface access device, slot interface access method, and program therefor EP1892929B1|2010-09-01|A method, an apparatus and a system for message transmission US10313380B2|2019-06-04|System and method for centralized virtual interface card driver logging in a network environment US9558057B2|2017-01-31|Network performance diagnostics system
同族专利:
公开号 | 公开日 WO2019100819A1|2019-05-31| CN109840155A|2019-06-04| KR20200084881A|2020-07-13|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2019-06-01| STAA| Information on the status of an ep patent application or granted ep patent|Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE | 2020-08-07| PUAI| Public reference made under article 153(3) epc to a published international application that has entered the european phase|Free format text: ORIGINAL CODE: 0009012 | 2020-08-07| STAA| Information on the status of an ep patent application or granted ep patent|Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE | 2020-09-09| AK| Designated contracting states|Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR | 2020-09-09| AX| Request for extension of the european patent|Extension state: BA ME | 2020-09-09| 17P| Request for examination filed|Effective date: 20200601 | 2021-01-06| RIN1| Information on inventor provided before grant (corrected)|Inventor name: WANG, YANSONG Inventor name: KE, ZHIYONG Inventor name: WU, SHAOYONG Inventor name: TIAN, JIAN | 2021-03-03| DAV| Request for validation of the european patent (deleted)| 2021-03-03| DAX| Request for extension of the european patent (deleted)| 2021-08-04| A4| Supplementary search report drawn up and despatched|Effective date: 20210707 | 2021-08-04| RIC1| Information provided on ipc code assigned before grant|Ipc: H04L 29/06 20060101AFI20210701BHEP |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|