Method of building a message routing table for heterogeneous protocol communications and computing device using the same
The distributed routing table addresses the inefficiencies of centralized routing by generating service and network maps and converting messages to specific protocols, enhancing system reliability and reducing delays.
Patent Information
- Authority / Receiving Office
- KR · KR
- Patent Type
- Applications
- Current Assignee / Owner
- OBIGO
- Filing Date
- 2025-01-14
- Publication Date
- 2026-07-21
AI Technical Summary
Conventional methods for service interoperability between systems using different protocols result in duplicate traffic, system instability, and network paralysis due to centralized routing, leading to message delays and loss.
A distributed routing table is constructed by analyzing service discovery messages to generate service and network maps, sharing resource information across routing nodes, and converting messages to specific protocols using a distributed router module.
This approach reduces duplicate traffic and system instability, ensuring reliable and efficient communication between heterogeneous systems by minimizing message delays and losses.
Smart Images

Figure P1020250005429_ABST
Abstract
Description
Technology Field
[0001] This invention relates to a method for constructing a message routing table for heterogeneous protocol communication and a computing device using the same. Background Technology
[0002] As in-vehicle software technology has advanced, business development models have shifted from the conventional monolithic architecture to Service-Oriented Architecture (SOA). Consequently, service interoperability between different systems has become critical, requiring message conversion and routing technologies.
[0003] In conventional service interoperability between different systems, direct communication between systems is impossible when different systems use different protocols, and a method of communication through a router with a separate protocol conversion function has been used.
[0004] For example, referring to Fig. 7, let us explain the conventional technology by assuming that System A and System B use the DDS protocol, and System C uses the SOME-IP protocol. Since System A and System B use different protocols from System C, they cannot communicate directly with each other; therefore, a centralized routing node was installed to perform message routing, and the converted messages were then transmitted and received via Ethernet. However, this method has the disadvantage of generating duplicate traffic, and the centralized routing method causes overload, leading to system instability caused by message delays and loss. Furthermore, if the central system fails due to the centralized routing method, the entire network may be paralyzed, which can also degrade the stability and reliability of the network.
[0005] Therefore, improvement measures are required to resolve the aforementioned problems. The problem to be solved
[0006] The present invention aims to solve the aforementioned problems.
[0007] The present invention has another objective of constructing an i-th distributed routing table by, when at least one service discovery message is input to an i-th routing node, a computing device corresponding to the i-th system causes the i-th routing node to analyze the service discovery message through an i-th service discovery module included in the i-th routing node to generate i-th service map information, and through an i-th network bus manager module included in the i-th routing node, the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node can be shared with each other, and the i-th network map information and i-th resource map information are generated using the i-th network information and i-th resource information and other network information and other resource information shared from at least one other routing node, and the i-th routing node causes the i-th routing node to analyze the i-th service map information, i-th network map information, and i-th resource map information through an i-th routing table builder module included in the i-th routing node.
[0008] Additionally, a process comprising: generating i-th service map information by analyzing the service discovery message through the i-th service discovery module included in the i-th routing node by a computing device corresponding to the i-th system after at least one service discovery message is input into the i-th routing node; enabling the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through the i-th network bus manager module included in the i-th routing node; and generating i-th network map information and i-th resource map information using the i-th network information and i-th resource information and other network information and other resource information shared from at least one other routing node; Another objective is that, while the process of constructing the i-th distributed routing table is performed by analyzing the i-th service map information, the i-th network map information, and the i-th resource map information through the i-th routing table builder module included in the i-th routing node, when a new message is received, the computing device causes the i-th distributed router module included in the i-th routing node to convert it into a specific protocol type of the i-th system through the i-th protocol converter module included in the i-th routing node to generate a converted new message and to route the converted new message by referring to the i-th distributed routing table. means of solving the problem
[0009] The characteristic configuration of the present invention for achieving the objectives of the present invention as described above and realizing the characteristic effects of the present invention described below is as follows.
[0010] According to one aspect of the present invention, a method for constructing a message routing table for heterogeneous protocol communication comprises the steps of: (a) when at least one service discovery message is input to an i-th routing node—the i-th routing node is included in an i-th system, and the i-th system is one of a first system to an n-th system—a computing device corresponding to the i-th system causes the i-th routing node to generate i-th service map information by (a_i) analyzing the service discovery message through an i-th service discovery module included in the i-th routing node; and (a_ii) enabling the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node, and generating i-th network map information and i-th resource map information using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node. and (b) a step of constructing an i-th distributed routing table by causing the computing device to cause the i-th routing node to analyze the i-th service map information, the i-th network map information, and the i-th resource map information through an i-th routing table builder module included in the i-th routing node; the method is provided.
[0011] As an example, in generating the i-th service map information in step (a) above, the computing device causes the i-th routing node to generate the i-th service map information through the i-th service discovery module, (i) extract each of the service-related information corresponding to each of the first to m-th services provided by the first system to the n-th system by referring to a first field which is at least one of the plurality of fields included in the service discovery message, and extract each of the locator-related information corresponding to each of the first to m-th services by referring to a second field which is at least one of the plurality of fields included in the service discovery message, and (ii) generate the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information.
[0012] As an example, in step (a) above, if the message for service discovery is a message corresponding to the DDS protocol, the computing device provides a method characterized by: (i) extracting service list information and topic information included in the ParticipantEntitiesInfo field as the first field included in the message for service discovery as service-related information corresponding to each of the first to m-th services by referencing the ParticipantEntitiesInfo field as the first field included in the message for service discovery; extracting IP address information, port information, participant name information, and participant identification information included in the ParticipantBuiltinTopicData field as the second field as the locator-related information corresponding to each of the first to m-th services; and (ii) generating the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information.
[0013] As an example, in step (a) above, if the service discovery message is a message corresponding to the SOME / IP protocol, the computing device (i) extracts service-related information for any one of a plurality of services by referencing the service ID field and instance ID field as the first field included in the service discovery message, and extracts IP address information and port information included in at least one address-related field as the second field as the locator-related information corresponding to the arbitrary service, and (ii) when the service-related information and the locator-related information are all extracted for each of the plurality of services, the computing device generates the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information.
[0014] As an example, in step (a) above, when generating the i-th network map information and the i-th resource map information, the computing device causes the i-th routing node to generate the i-th network map information by matching each of the node IP address information for each of the first routing node to the k-th routing node corresponding to the i-th routing node and the k-th routing node—where k is less than or equal to n—to each of the first routing node to the k-th routing node through the i-th network bus manager module using each of the other network information included in each of the i-th network information and the other node information, and (ii) generate the i-th resource map information by matching each of the resource information for each of the first routing node to the k-th routing node to each of the first routing node to the k-th routing node using each of the other resource information included in each of the i-th resource information and the other node information.
[0015] As an example, in generating the i-th network map information, the computing device provides a method characterized by: causing the i-th routing node to additionally refer to the i-th service map information through the i-th network bus manager module to determine whether there is a match between each of the locator-related information of each of the first to m-th services included in the i-th service map information and each of the node IP address information of each of the first to k-th routing nodes included in the i-th network map information; and if it is determined that there exists at least one specific locator information that does not match any of the node IP address information, generating information about a virtual additional routing node with the specific locator-related information as the specific node IP address information, and generating the i-th additional network map information by reflecting the information about the additional routing node in the i-th network map information.
[0016] As an example, in step (b) above, in constructing the i-th distributed routing table, the computing device, through the i-th routing table builder module, generates a unicast target list in which service IP address information and service protocol type information for each of the first to m services provided by the first to n systems are matched, by referencing the i-th network map information and the i-th service map information, and generates a multicast target list in which system IP address information and system protocol type information for each of the first to n systems are matched, and (b_ii) by referencing the unicast target list and the multicast target list, classifies information for each of the i_1 to i_mi services included in the i-th system among the unicast target list into a local unicast target list, classifies information for the i-th system to which the i-th routing node belongs among the multicast target list into a local multicast target list, and among the unicast target list, the i_1 service to the i_mi A subprocess that classifies each of the remaining services, excluding information for each of the services, into a remote unicast target list, and classifies information for each of the remaining systems, excluding the i-th system among the multicast target lists, into a remote multicast target list; (b_iii) a subprocess that generates a distributed unicast target list by referencing the local unicast target list, and generates a distributed multicast target list by referencing the local multicast target list; (b_iv) by referencing protocol list information,A method is provided characterized by performing a sub-process of constructing the i-th distributed routing table such that each of the i_1 service to the i_mi service included in the distributed unicast target list can be converted to a specific protocol type supported by the i-th routing node, and the i-th system included in the distributed multicast target list can be converted to the specific protocol type.
[0017] For example, in the above process (b_ii), the computing device further performs a subprocess in which, if it is determined that the i-th routing node, through the i-th routing table builder module, additionally filters the remote unicast target list and the remote multicast target list and determines that there exists at least one specific system, namely System p—where p is greater than k+1 and less than or equal to n—in which no routing node is included, determines whether the i-th routing node will be responsible for routing for System p and Services p_1 through p_mp included in System p by referring to the i-th resource information, and if it is determined that the i-th routing node will be responsible, generates an alternative unicast target list containing information about Services p_1 through p_mp and an alternative multicast target list containing information about System p, and in the above process (b_iii), the computing device further performs a subprocess in which, through the i-th routing table builder module, the list obtained by merging the local unicast target list and the alternative unicast target list is distributed A sub-process is performed to generate a unicast target list and to generate a distributed multicast target list by merging the local multicast target list and the alternative multicast target list, and in the process (b_iv), the computing device refers to the protocol list information,A method is provided characterized by performing a sub-process of constructing the i-th distributed routing table such that each of the i_1 to i_mi services and each of the p_1 to p_mp services included in the distributed unicast target list can be converted to the specific protocol type supported by the i-th routing node, and the i-th system and the p-th system included in the distributed multicast target list can be converted to the specific protocol type.
[0018] According to another aspect of the present invention, a method for providing a message routing service for heterogeneous protocol communication comprises: (a) after at least one service discovery message is input to an i-th routing node—the i-th routing node is included in an i-th system, and the i-th system is one of a first system to an n-th system—a process by which a computing device corresponding to the i-th system (i) generates i-th service map information by analyzing the service discovery message through an i-th service discovery module included in the i-th routing node, and enables the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node, and generates i-th network map information and i-th resource map information using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node; (ii) a step of receiving a new message while in a state of having performed a process of constructing the i-th distributed routing table by analyzing the i-th service map information, the i-th network map information, and the i-th resource map information through the i-th routing table builder module included in the i-th routing node; and (b) a step in which the computing device causes the i-th distributed router module included in the i-th routing node—the i-th distributed router module being able to access the i-th distributed routing table—to convert to a specific protocol type of the i-th system through the i-th protocol converter module included in the i-th routing node to generate a converted new message and to route the converted new message by reference to the i-th distributed routing table;Provides a method including
[0019] As an example, in step (b) above, when it is determined that the protocol type of the new message is not the same as the specific protocol type of the i-th system, the computing device generates the converted new message by converting it to the specific protocol type of the i-th system through the i-th protocol converter module included in the i-th routing node.
[0020] According to another aspect of the present invention, a computing device for constructing a message routing table for heterogeneous protocol communication comprises: at least one memory for storing instructions; A process comprising at least one processor configured to execute the above instructions; wherein, when the processor inputs at least one service discovery message to an i-th routing node—wherein the i-th routing node is included in an i-th system, and the i-th system is one of a first system to an n-th system—the processor corresponding to the i-th system causes the i-th routing node to generate i-th service map information by (I_i) analyzing the service discovery message through an i-th service discovery module included in the i-th routing node, and (I_ii) enabling the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node, and generating i-th network map information and i-th resource map information using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node; and (II) a computing device that performs a process of constructing an i-th distributed routing table by causing the i-th routing node to analyze the i-th service map information, the i-th network map information, and the i-th resource map information through the i-th routing table builder module included in the i-th routing node.
[0021] As an example, in generating the i-th service map information in the above (I) process, the processor causes the i-th routing node to generate the i-th service map information through the i-th service discovery module, (i) extract each of the service-related information corresponding to each of the first to m-th services provided by the first system to the n-th system by referring to at least one of the plurality of fields included in the service discovery message, and extract each of the locator-related information corresponding to each of the first to m-th services by referring to at least one of the plurality of fields included in the service discovery message, and (ii) generate the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information.
[0022] As an example, in the above process (I), if the message for service discovery is a message corresponding to the DDS protocol, the processor (i) extracts service list information and topic information included in the ParticipantEntitiesInfo field as the first field included in the message for service discovery as service-related information corresponding to each of the first to m-th services by referencing the ParticipantEntitiesInfo field as the first field included in the message for service discovery, and extracts IP address information, port information, participant name information, and participant identification information included in the ParticipantBuiltinTopicData field as the second field as the locator-related information corresponding to each of the first to m-th services, and (ii) generates the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information.
[0023] As an example, in the above process (I), if the service discovery message is a message corresponding to the SOME / IP protocol, the processor (i) extracts service-related information for any one of a plurality of services by referencing the service ID field and instance ID field as the first field included in the service discovery message, and extracts IP address information and port information included in at least one address-related field as the second field as the locator-related information corresponding to the arbitrary service, and (ii) when the service-related information and the locator-related information are all extracted for each of the plurality of services, the processor generates the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information.
[0024] As an example, in the above process (I), when generating the i-th network map information and the i-th resource map information, the processor causes the i-th routing node to generate the i-th network map information by matching each of the node IP address information for each of the first routing node to the k-th routing node corresponding to the i-th routing node and the k-th routing node—where k is less than or equal to n—to each of the i-th routing node through the i-th network bus manager module using each of the other network information included in each of the i-th network information and the other node information, and (ii) generate the i-th resource map information by matching each of the resource information for each of the first routing node to the k-th routing node to each of the first routing node to the k-th routing node using each of the other resource information included in each of the i-th resource information and the other node information.
[0025] As an example, in generating the i-th network map information, the processor causes the i-th routing node to additionally refer to the i-th service map information through the i-th network bus manager module to determine whether there is a match between each of the locator-related information of each of the first to m-th services included in the i-th service map information and each of the node IP address information of each of the first to k-th routing nodes included in the i-th network map information, and if it is determined that there exists at least one specific locator information that does not match any of the node IP address information, the processor generates information about a virtual additional routing node with the specific locator-related information as the specific node IP address information, and generates the i-th additional network map information by reflecting the information about the additional routing node in the i-th network map information, thereby updating the i-th network map information as the i-th additional network map information.
[0026] As an example, in the above process (II), in constructing the i-th distributed routing table, the processor causes the i-th routing node to, through the i-th routing table builder module, (II_i) generate a unicast target list in which each service IP address information and each service protocol type information for each of the first to m services provided by the first to n systems are matched, by referencing the i-th network map information and the i-th service map information, and generate a multicast target list in which each system IP address information and each system protocol type information for the first to n systems are matched, and (II_ii) by referencing the unicast target list and the multicast target list, classify the information for each of the i_1 to i_mi services included in the i-th system among the unicast target list as a local unicast target list, classify the information for the i-th system to which the i-th routing node belongs among the multicast target list as a local multicast target list, and among the unicast target list, the i_1 service to the A subprocess that classifies each of the remaining services, excluding information for each i_mi service, into a remote unicast target list, and classifies information for each of the remaining systems, excluding the i-th system among the multicast target lists, into a remote multicast target list; (II_iii) a subprocess that generates a distributed unicast target list by referencing the local unicast target list, and generates a distributed multicast target list by referencing the local multicast target list; (II_iv) by referencing protocol list information,A computing device is provided characterized by performing a sub-process of constructing the i-th distributed routing table such that each of the i_1 service to the i_mi service included in the distributed unicast target list can be converted to a specific protocol type supported by the i-th routing node, and the i-th system included in the distributed multicast target list can be converted to the specific protocol type.
[0027] For example, in the above process (II_ii), the processor further performs a subprocess in which, if it is determined that the i-th routing node, through the i-th routing table builder module, additionally filters the remote unicast target list and the remote multicast target list and determines that there exists at least one specific system, namely System p—where p is greater than k+1 and less than or equal to n—in which no routing node is included, determines whether the i-th routing node will be responsible for routing for System p and the services p_1 through p_mp included in System p by referring to the i-th resource information, and if it is determined that the i-th routing node will be responsible, generates an alternative unicast target list containing information about the services p_1 through p_mp and an alternative multicast target list containing information about System p, and in the above process (II_iii), the processor further performs a subprocess in which the i-th routing node, through the i-th routing table builder module, generates a list formed by merging the local unicast target list and the alternative unicast target list, the distributed A subprocess is performed to create a unicast target list and to create a distributed multicast target list by merging the local multicast target list and the alternative multicast target list, and in the process (II_iv), the processor, by referring to the protocol list information,A computing device is provided characterized by performing a sub-process of constructing the i-th distributed routing table such that each of the i_1 to i_mi services and each of the p_1 to p_mp services included in the distributed unicast target list can be converted to the specific protocol type supported by the i-th routing node, and the i-th system and the p-th system included in the distributed multicast target list can be converted to the specific protocol type.
[0028] According to another aspect of the present invention, a computing device providing a message routing service for heterogeneous protocol communication comprises: at least one memory for storing instructions; A process comprising at least one processor configured to execute the above instructions; wherein the processor, after (I) at least one service discovery message is input to an i-th routing node—the i-th routing node is included in an i-th system, and the i-th system is one of a first system to an n-th system—and the processor corresponding to the i-th system, (i) generates i-th service map information by analyzing the service discovery message through an i-th service discovery module included in the i-th routing node, and enables the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node, and generates i-th network map information and i-th resource map information using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node; (ii) A process of receiving a new message while in a state of having performed a process of constructing the i-th distributed routing table by analyzing the i-th service map information, the i-th network map information, and the i-th resource map information through the i-th routing table builder module included in the i-th routing node;and (II) a computing device that performs a process of causing an i-th distributed router module included in the i-th routing node—the i-th distributed router module being able to access the i-th distributed routing table—to convert to a specific protocol type of the i-th system through an i-th protocol converter module included in the i-th routing node to generate a converted new message and to route the converted new message by reference to the i-th distributed routing table;
[0029] As an example, in the above process (II), when it is determined that the protocol type of the new message is not the same as the specific protocol type of the i-th system, the processor generates the converted new message by converting it to the specific protocol type of the i-th system through the i-th protocol converter module included in the i-th routing node. Effects of the invention
[0030] The present invention has the effect of constructing an i-th distributed routing table by, when at least one service discovery message is input to an i-th routing node, a computing device corresponding to the i-th system causes the i-th routing node to analyze the service discovery message through an i-th service discovery module included in the i-th routing node, thereby generating i-th service map information; by enabling the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node; generating i-th network map information and i-th resource map information using the i-th network information and i-th resource information and other network information and other resource information shared from at least one other routing node; and causing the i-th routing node to analyze the i-th service map information, i-th network map information, and i-th resource map information through an i-th routing table builder module included in the i-th routing node.
[0031] Additionally, a process comprising: generating i-th service map information by analyzing the service discovery message through the i-th service discovery module included in the i-th routing node by a computing device corresponding to the i-th system after at least one service discovery message is input into the i-th routing node; enabling the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through the i-th network bus manager module included in the i-th routing node; and generating i-th network map information and i-th resource map information using the i-th network information and i-th resource information and other network information and other resource information shared from at least one other routing node; In a state where the process of constructing the i-th distributed routing table is performed by analyzing the i-th service map information, the i-th network map information, and the i-th resource map information through the i-th routing table builder module included in the i-th routing node, when a new message is received, the computing device has another effect of causing the i-th distributed router module included in the i-th routing node to convert to a specific protocol type of the i-th system through the i-th protocol converter module included in the i-th routing node to generate a converted new message and to route the converted new message by referencing the i-th distributed routing table. Brief explanation of the drawing
[0032] The drawings attached below for use in describing embodiments of the present invention are merely some of the embodiments of the present invention, and other drawings can be obtained based on these drawings without inventive work by a person skilled in the art to which the present invention pertains (hereinafter "person skilled in the art"). FIG. 1 is a schematic diagram showing a plurality of computing devices for constructing a message routing table for heterogeneous protocol communication according to one embodiment of the present invention. FIG. 2 is a flowchart schematically illustrating the process of constructing a message routing table for heterogeneous protocol communication according to one embodiment of the present invention. FIG. 3 is a diagram schematically illustrating the process of a computing device for constructing a message routing table for heterogeneous protocol communication according to an embodiment of the present invention. FIG. 4 is a diagram illustrating an example of a process in which routing nodes included in a plurality of systems communicate with each other to form a network map according to an embodiment of the present invention. FIG. 5 is a diagram illustrating an example of the process of constructing a distributed routing table by referring to a service map, a network map, and a resource map according to an embodiment of the present invention. FIG. 6a is a diagram illustrating an example of a process for generating service map information in the case of a message corresponding to the DDS protocol among heterogeneous protocols, according to an embodiment of the present invention. FIG. 6b is a diagram illustrating an example of a process for generating service map information in the case of a message corresponding to the SOME-IP protocol among heterogeneous protocols, according to an embodiment of the present invention. FIG. 7 is a diagram illustrating an example of a message routing method for heterogeneous protocol communication according to the prior art of the present invention. Specific details for implementing the invention
[0033] The following detailed description of the present invention refers to the accompanying drawings, which illustrate specific embodiments in which the present invention can be practiced in order to clarify the objects, technical solutions, and advantages of the present invention. These embodiments are described in sufficient detail to enable a person skilled in the art to practice the present invention.
[0034] Furthermore, throughout the detailed description and claims of the invention, the word “comprising” and its variations are not intended to exclude other technical features, additions, components, or steps. Other objects, advantages, and characteristics of the invention will become apparent to a person skilled in the art, in part from this description and in part from the practice of the invention. The following examples and drawings are provided by way of example and are not intended to limit the invention.
[0035] Furthermore, the present invention encompasses all possible combinations of the embodiments set forth in this specification. It should be understood that various embodiments of the present invention are different but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in relation to one embodiment. It should also be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the following detailed description is not intended to be limiting, and the scope of the invention is limited only by the appended claims, including all equivalents to those claimed therein, provided appropriately described. Similar reference numerals in the drawings refer to the same or similar functions across various aspects.
[0036] Hereinafter, in order to enable a person skilled in the art to easily practice the present invention, preferred embodiments of the present invention will be described in detail with reference to the attached drawings.
[0037] FIG. 1 is a schematic diagram showing a plurality of computing devices for constructing a message routing table for heterogeneous protocol communication according to one embodiment of the present invention.
[0038] As illustrated in FIG. 1, each of the plurality of computing devices (100, 200, 300, 400) for constructing a message routing table for heterogeneous protocol communication may include a memory (110, 210, 310, 410) and a processor (120, 220, 320, 420). Here, each of the computing devices (100, 200, 300, 400) corresponds to System C, System A, System B, and System D, respectively.
[0039] Each memory (110, 210, 310, 410) of each of the plurality of computing devices (100, 200, 300, 400) for constructing a message routing table for heterogeneous protocol communication can store instructions to be executed by each of the processors (120, 220, 320, 420). Specifically, the instructions are code generated for the purpose of causing each of the plurality of computing devices (100, 200, 300, 400) for constructing a message routing table for heterogeneous protocol communication to function in a specific manner, and can be stored in computer-accessible or computer-readable memory that can be directed toward a computer or other programmable data processing equipment. The instructions can perform processes for executing the functions described in the specification of the present invention.
[0040] And, each processor (120, 220, 320, 420) of each computing device (100, 200, 300, 400) may include hardware configurations such as an MPU (Micro Processing Unit) or CPU (Central Processing Unit), cache memory, and data bus. Additionally, each computing device (100, 200, 300, 400) may further include software configurations such as an operating system and an application for performing a specific purpose.
[0041] Additionally, each of the plurality of computing devices (100, 200, 300, 400) for constructing a message routing table for heterogeneous protocol communication may be linked with a database (not shown). Here, the database may include at least one type of storage medium among flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD or XD memory), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (ReadOnly Memory), EEPROM (Electrically Erasable Programmable ReadOnly Memory), PROM (Programmable ReadOnly Memory), magnetic memory, magnetic disk, and optical disk, but is not limited thereto and may include any medium capable of storing data. In addition, it may be installed separately from each of the plurality of computing devices (100, 200, 300, 400) for building a message routing table for heterogeneous protocol communication, or alternatively, it may be installed inside each of the plurality of computing devices (100, 200, 300, 400) for building a message routing table for heterogeneous protocol communication to transmit data or record received data, or it may be implemented by being separated into two or more parts, and this may vary depending on the conditions of the embodiment of the invention.
[0042] Additionally, each of the plurality of computing devices (100, 200, 300, 400) for constructing a message routing table for heterogeneous protocol communication may include a plurality of services (141, 142, 143, 241, 242, 243, 341, 342, 343, 431, 432, 433) and different protocols (DDS, SOME-IP).
[0043] To explain this in more detail, each of the multiple computing devices (100, 200, 300, 400) for building a message routing table for heterogeneous protocol communication may be a device that enables each of the systems (System C, System A, System B, System D).
[0044] Specifically, System A (200) may provide Service A (241), Service B (242), and Service C (243) and may include memory (210) and a processor (220) for this purpose and may be a system using the DDS protocol. Here, System A may also include a routing node (230).
[0045] Additionally, among the multiple systems, System B may provide service D (341), service E (342), and service F (343), and may include memory (310) and a processor (320) for this purpose, and may be a system that uses the DDS protocol. Here, System B may also include a routing node (330).
[0046] Additionally, among the multiple systems, System C may provide service G (141), service H (142), and service I (143), and may include memory (110) and a processor (120) for this purpose, and may be a system using the SOME-IP protocol. Here, System C may also include a routing node (130).
[0047] Additionally, among the multiple systems, System D may provide service J (431), service K (432), and service L (433), and may include memory (410) and a processor (420) for this purpose, and may be a system using the SOME-IP protocol. Here, System D may not include a routing node.
[0048] As such, each system may or may not include a routing node. In this case, System D can send and receive messages from a system using the same protocol as System D, such as System C. This will be explained in more detail below.
[0049] Below, for the convenience of explanation, System C will be used as an example among the aforementioned multiple systems System A, System B, System C, and System D.
[0050] A method using a plurality of computing devices (100, 200, 300, 400) for constructing a message routing table for heterogeneous protocol communication according to one embodiment of the present invention configured as described above will be explained with reference to FIGS. 2 and 3.
[0051] FIG. 2 is a flowchart schematically illustrating the process of constructing a message routing table for heterogeneous protocol communication according to one embodiment of the present invention.
[0052] In explaining Fig. 2, I will refer to Fig. 3 to aid understanding.
[0053] FIG. 3 is a diagram schematically illustrating the process of a computing device for constructing a message routing table for heterogeneous protocol communication according to an embodiment of the present invention.
[0054] For reference, strictly speaking, the routing node within System C is the first routing node, but below, the routing node within System C is referred to as the "i-th routing node." That is, since the following description is not limited to the first routing node but is applicable to any routing node, it has been generalized and referred to as the i-th routing node. However, it should be noted that for the convenience of explanation, the notation "i-th routing node (130)" was used, assuming a routing node within System C.
[0055] Referring to FIGS. 2 and 3, when at least one service discovery message is input to the i-th routing node (130) through the i-th protocol receiving module (131), a computing device (100) corresponding to the i-th system causes the i-th routing node (130) to (a_i) generate i-th service map information (132a) by analyzing the service discovery message through the i-th service discovery module (132) included in the i-th routing node (130), and (a_ii) enable the i-th network information and i-th resource information of the i-th routing node (130) and other network information and other resource information of at least one other routing node (230, 330) to be shared with each other through the i-th network bus manager module (133) included in the i-th routing node (130), and using the i-th network information and i-th resource information and other network information and other resource information shared from at least one other routing node (230, 330) A step (S210) of generating the i-th network map information (133a) and the i-th resource map information (133b) may be performed. Here, the i-th routing node is included in the i-th system, and the i-th system may be one of the first to n-th systems.
[0056] Here, the i-th service discovery module (132) may discover new services existing in each system by analyzing multiple service events and multiple discovery messages.
[0057] A method for generating the i-th service map information (132a) from at least one service discovery message will be explained with reference to FIGS. 6a and 6b.
[0058] FIG. 6a is a diagram illustrating an example of a process for generating service map information when the message corresponds to the DDS protocol among heterogeneous protocols according to an embodiment of the present invention, and FIG. 6b is a diagram illustrating an example of a process for generating service map information when the message corresponds to the SOME-IP protocol among heterogeneous protocols according to an embodiment of the present invention.
[0059] Here, in generating the i-th service map information (132a) as shown in FIG. 6a and FIG. 6b, the computing device (100) may enable the i-th routing node (130) to generate the i-th service map information (132a) by means of the i-th service discovery module (132) by: (i) extracting each service-related information corresponding to each of the first to m-th services (where m is greater than or equal to n) provided by the first to n-th systems by referring to a first field which is at least one of the plurality of fields included in the service discovery message, and extracting each locator-related information corresponding to each of the first to m-th services by referring to a second field which is at least one of the plurality of fields included in the service discovery message, and (ii) matching each locator-related information corresponding to each of the service-related information to generate the i-th service map information (132a).
[0060] Here, the locator-related information may be an IP address, a port, and at least one TCP / UDP / SHM, but is not limited thereto.
[0061] For example, the i-th routing node (130), which is a routing node of System C, can store at least some of the service IP address, TCP information, and UDP information together for each service by dividing them into DDS protocol and SOME-IP protocol in the i-th service map information (132a). Referring to FIG. 3, for each of the services A (241), B (242), C (243), D (341), ... using the DDS protocol, at least some of the service IP address, TCP information, and UDP information can be extracted and stored together, and for each of the services G (141), H (142), I (143), J (431), ... using the SOME-IP protocol, at least some of the service IP address, TCP information, and UDP information can be extracted and stored together.
[0062] To explain in more detail, first refer to FIG. 6a. When a message for service discovery is a message corresponding to the DDS protocol, a computing device (100) can extract service list information and topic information included in the ParticipantEntitiesInfo field (602) as service-related information corresponding to each of the first to m-th services by referring to the ParticipantEntitiesInfo field (602) as a first field included in the message for service discovery, extract IP address information, port information, participant name information, and participant identification information included in the ParticipantBuiltinTopicData field (601) as a second field as locator-related information corresponding to each of the first to m-th services, and generate i-th service map information (132a) by matching each of the locator-related information corresponding to each of the service-related information.
[0063] For example, service-related information such as service G (141), service H (142), service I (143) and their respective identifiers AU001 and AU003 can be extracted through the participant entity information field (602), and locator-related information such as the system name System C, identifier AU001, IP address information 192.168.60.2, and port information 5000 can be extracted, and additionally, at least some of the TCP information and UDP information can be extracted, and based on this, service G (141), service H (142), and service I (143) can be matched to System C to generate the i-th service map information (132a).
[0064] Referring to FIG. 6b as another example, when a message for service discovery is a message corresponding to the SOME / IP protocol, a computing device (100) can extract service-related information for any one of a plurality of services by referencing the service ID field and instance ID field as first fields included in the message for service discovery, and extract IP address information and port information included in at least one address-related field as second fields as locator-related information corresponding to any service, and when all service-related information and locator-related information are extracted for each of the plurality of services, the i-th service map information (132a) can be generated by matching each of the locator-related information corresponding to each of the service-related information.
[0065] Here, in addition to IP address information and port information as a second field, at least some of TCP information and UDP information may also be extracted.
[0066] To explain in more detail with reference to Fig. 6b, when a received service discovery message corresponds to the SOME / IP protocol, it can be broadly divided into a SOME-IP header section (gray shading) and a SOME-IP SD message section (red, green, and blue shading), as shown in Fig. 6b. At this time, the SOME-IP SD message section can be further divided into a header area (red shading), an entry area (green shading), and an option area (blue shading). Next, I will explain how to identify service information from the SOME-IP SD message structure.
[0067] First, check the Message Type field (611) in the SOME-IP header section (gray shade) to confirm if it is a Notification (0x02) message, then check if it is an Offer (0x01) through the Type field (612) in the entry area (green shade) of the SOME-IP SD message section, and then check which service the item refers to through the Service ID field (614) and Instance ID field (615) as service-related information, and then Index 1 st You can check which item in the options area corresponds to the current service item through the options field (613).
[0068] Next, the option type is checked through the Type field (616) in the option area (blue shade), and if it is an endpoint type, the address information can be parsed.
[0069] Next, information regarding the service's locator can be extracted through the IPv4-Address field (617), L4-Proto field (618), and Port Number field (619).
[0070] The above process can be repeated as many times as there are entry items to discover all multiple services, and all related service-related information and locator-related information can be extracted to generate the i-th service map information (132a).
[0071] Among heterogeneous protocols, the DDS protocol and SOME-IP protocol are merely examples and are not limited thereto.
[0072] FIG. 4 is a diagram illustrating an example of a process in which routing nodes included in a plurality of systems communicate with each other to form a network map according to an embodiment of the present invention.
[0073] Referring to FIGS. 3 and 4, in generating i-th network map information (133a) and i-th resource map information (133b), the computing device (100) may enable the i-th routing node (130) to generate i-th network map information (133a) by using each of the other network information included in each of the i-th network information and other node information through the i-th network bus manager module (133) to match each of the node IP address information for each of the first routing node to the k-th routing node (where k is less than or equal to n) corresponding to the entire i-th routing node (130) and other routing nodes (230, 330) (excluding the i-th routing node (130)) to each of the first routing node to the k-th routing node.
[0074] Here, the network map information (133a) of FIG. 3 illustrates that it is stored for the first to kth routing nodes by node IP address, and the network map information (133a) of FIG. 5, which will be described later, illustrates the network map information (133a) of FIG. 3 in more detail to explain the unicast group and multicast group separately.
[0075] For example, the first to k routing nodes can be extracted through the i-th routing node (130) and other routing nodes (230, 330), and the extracted first to k routing nodes can be matched to Node[A], Node[B], Node[C], ... according to node IP addresses and stored in the i-th network map information (133a). At this time, the storage can be done by grouping them by the same node IP address, such as Node[A] - 192.168.49.1.
[0076] Here, in generating the i-th network map information (133a), the computing device (100) can update the i-th network map information as the i-th additional network map information by causing the i-th routing node (130) to additionally refer to the i-th service map information (132a) through the i-th network bus manager module (133) to determine whether there is a match between each of the locator-related information for each of the first to m-th services included in the i-th service map information (132a) and each of the node IP address information for each of the first routing node to the k-th routing node included in the i-th network map information (133a), and if it is determined that there is at least one specific locator information that does not match any of the node IP address information, the device generates information about a virtual additional routing node with the specific locator-related information as the specific node IP address information, and generates the i-th additional network map information by reflecting the information about the additional routing node in the i-th network map information (133a). The process of generating information about a virtual additional routing node will be described later with reference to Fig. 4.
[0077] Additionally, assuming that the routing nodes of System A, System B, and System C are the second routing node (230), the third routing node (330), and the first routing node (130), the second routing node (230), the third routing node (330), and the first routing node (130) can each share their respective network information and resource information through UDP multicast communication.
[0078] At this time, referring to FIG. 4, information regarding System D, which has no routing node in the network map information (133a), can be additionally stored using the i-th service map information (132a). For example, if it is confirmed that the service IP addresses of Service J, Service K, and Service L of the SOME-IP classification are not reflected in the network map information (133a) by referring to the i-th service map information (132a), as shown in the dotted area of the network map information (133a) in FIG. 4, then the fourth routing node for System D can be updated as an additional routing node in the network map information (133a) as Node[D]. Here, Node[D] reflected as an additional routing node will correspond to the "virtual additional routing node" mentioned above.
[0079] Additionally, referring to FIG. 3, the resource information for each of the first to k routing nodes can be matched to each of the first to k routing nodes using the resource information for each of the i-th resource information and the other node information, respectively, to generate the i-th resource map information (133b).
[0080] For example, the i-th resource map information (133b) may store information about Node[A] such as CPU usage and current traffic information.
[0081] Returning to the main point, as the next step after step S210, the computing device (100) may perform the step (S220) of constructing the i-th distributed routing table (134a) by causing the i-th routing node (130) to analyze the i-th service map information (132a), the i-th network map information (133a), and the i-th resource map information (133b) through the i-th routing table builder module (134) included in the i-th routing node (130). To explain this in more detail, I will refer to FIG. 5.
[0082] FIG. 5 is a diagram illustrating an example of the process of constructing a distributed routing table by referring to a service map, a network map, and a resource map according to an embodiment of the present invention.
[0083] Referring to FIGS. 3 and 5, in constructing the i-th distributed routing table (134a), the computing device (100) may perform a sub-process in which the i-th routing node (130) generates a unicast target list (510a) in which each of the service IP address information and service protocol type information for each of the first to n-th services provided by the first to n-th systems are matched by referencing the i-th network map information (133a) and the i-th service map information (132a) through the i-th routing table builder module (134), and generates a multicast target list (510b) in which each of the system IP address information and system protocol type information for the first to n-th systems are matched.
[0084] Here, as illustrated in FIG. 5, the i-th network map information (133a) is divided into a unicast group and a multicast group. As shown in FIG. 3, it may be stored with the node IP address for each routing node, stored with the service IP address for each service in the unicast group, and stored with the system IP address for each system in the multicast group. At this time, the multicast group may be stored with the system IP address for each system, but systems belonging to a predetermined subscribed group may also be stored in the multicast group.
[0085] Next, by referring to the unicast target list (510a) and the multicast target list (510b), a sub-process can be performed to classify information for each of the i_1 service to i_mi service included in the i system in the unicast target list (510a) into a local unicast target list (520a), classify information for the i system to which the i routing node belongs in the multicast target list (510b) into a local multicast target list (520b), classify each of the remaining services excluding information for each of the i_1 service to i_mi service in the unicast target list (510a) into a remote unicast target list (530a), and classify information for each of the remaining systems excluding the i system in the multicast target list (510b) into a remote multicast target list (530b).
[0086] At this time, the computing device (100) may further perform a subprocess in which the i-th routing node (130) additionally filters the remote unicast target list (530a) and the remote multicast target list (530b) through the i-th routing table builder module (134) and determines that there exists at least one specific system, the p-th system (where p is k+1 or greater and n or less), which does not include any routing node, and determines whether the i-th routing node will handle routing for the p-th system and the p_1 service to p_mp service included in the p-th system (where mp is not mxp, and mp means a single integer), by referring to the i-th resource information, and if it is determined that the i-th routing node will handle it, it creates an alternative unicast target list (540a) containing information about the p_1 service to p_mp service and an alternative multicast target list (540b) containing information about the p-th system.
[0087] To explain further, a sub-process can be performed to create a distributed unicast target list (550a) by reference to a local unicast target list (520a) and to create a distributed multicast target list (550b) by reference to a local multicast target list (520b).
[0088] When the above-mentioned alternate unicast target list (540a) and alternate multicast target list (540b) are generated, the computing device (100) may perform a sub-process in which the i-th routing node (130) generates a list by merging the local unicast target list (520a) and the alternate unicast target list (540a) as a distributed unicast target list (550a) and generates a list by merging the local multicast target list (520b) and the alternate multicast target list (540b) as a distributed multicast target list (550b) through the i-th routing table builder module (134).
[0089] Additionally, after creating a distributed unicast target list (550a) and a distributed multicast target list (550b), a sub-process may be performed to construct an i-th distributed routing table (134a) by referring to protocol list information, so that each of the i_1 service to i_mi service included in the distributed unicast target list (550a) can be converted to a specific protocol type supported by the i-th routing node, and the i-th system included in the distributed multicast target list (550b) can be converted to a specific protocol type.
[0090] At this time, the computing device (100) may perform a sub-process of constructing the i-th distributed routing table (134a) by referring to protocol list information, so that each of the i_1 to i_mi services and each of the p_1 to p_mp services included in the distributed unicast target list (550a) can be converted to a specific protocol type supported by the i-th routing node, and the i-th system and p-th system included in the distributed multicast target list (550b) can be converted to a specific protocol type.
[0091] For example, let us assume that Node[A], Node[B], Node[C], ... are stored in the unicast group of the network map information (133a) according to node IP addresses, and Group[A], Group[B], ... are stored in the multicast group according to group node IP addresses, and that at least some of the TCP information and UDP information are stored together in the service map information (132a) according to the service address of each service in the DDS group, and at least some of the TCP information and UDP information are stored together in the service address of each service in the SOME-IP group. If a unicast target list (510a) is created based on this, the unicast target list (510a) can be listed in service order as [0]-Service A (192.168.45.1, DDS), [1]-Service B (192.168.45.1, DDS), ... and the multicast target list (510b) can be listed in system order as [0]-System A (230.0.0.1, DDS), [1]-System B (230.0.0.2, DDS), [2]-System C (230.0.0.3, SOME-IP), ... Here, since the purpose is to construct the i-th distributed routing table (134a) of System C, the local unicast target list (520a) can store [0]-Service G (192.168.60.2, SOME-IP), [1]-Service H (192.168.60.2, SOME-IP), ... in service order, and the local multicast target list (520b) can store [0]-System C (230.0.0.3, SOME-IP). If only Service G, Service H, and Service I were stored in the unicast target list (510a), the remote unicast target list (530a) and the remote multicast target list (530b) would not have been created, but in the example, Service A, Service B, ...As such, by reference, a remote unicast target list (530a) can be created by storing Service A (192.168.45.1, DDS), Service B (192.168.45.1, DDS), ... excluding Service G, Service H, and Service I. Additionally, a remote multicast target list (530b) can be created by storing System A (230.0.0.1, DDS), System B (230.0.0.2, DDS), ... excluding System C for each system. At this time, an alternative unicast target list (540a) is created for services J, K, and L that do not have routing nodes, and an alternative multicast target list (540b) is created for System D. By referring to the i-th resource map information (133b), the current CPU usage and current traffic of Node[A], Node[B], etc. stored by address are referenced, and available routing nodes with the same protocol as the protocols of services J, K, L, and System D are searched and merged. In the example, since the same protocol as System C is used, the i-th routing node of System C can be shared and used together.
[0092] Through this, the distributed unicast target list (550a) can be formed by merging the local unicast target list (520a) and the alternate unicast target list (540a) to store the service IP address and protocol information of Service G to Service L together, and the distributed multicast target list (550b) can store System C stored in the local multicast target list (520b) and System D stored in the alternate multicast target list (540b) together. The distributed unicast target list (550a) and the distributed multicast target list (550b) thus created can be configured to build a distributed routing table (134a) through a routing table builder module by dividing DDS to SOME-IP, MQTT to SOME-IP, etc., into unicast groups and multicast groups by referencing the protocol lists DDS, SOME-IP, and MQTT.
[0093] Additionally, assuming that System A and System B use the DDS protocol, System C, System D, and System E use the SOME-IP protocol, and that there is no routing node in System D, when determining the routing node to be used by the alternate unicast target list (540a) and the alternate multicast target list (540b) by referring to the i-th resource map information (133b), if the CPU usage of the routing node of System C is 90% or more and the CPU usage of the routing node of System E (not shown) is 20%, routing may be performed using the routing node of System E.
[0094] To explain the process following the construction of the routing table with reference to FIG. 3 again in the subsequent steps, in a method for providing a message routing service for heterogeneous protocol communication, after at least one service discovery message is input into the i-th routing node (130), the computing device (100) corresponding to the i-th system analyzes the service discovery message through the i-th service discovery module (132) included in the i-th routing node (130) to generate the i-th service map information (132a); through the i-th network bus manager module (133) included in the i-th routing node (130), the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node (230, 330) can be shared with each other; and using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node (230, 330), the i-th network map information (133a) and the i-th resource After performing the process of constructing the i-th distributed routing table (134a) by generating map information (133b) and analyzing the i-th service map information (132a), i-th network map information (133a), and i-th resource map information (133b) through the i-th routing table builder module (134) included in the i-th routing node (130), the step of receiving a new message can be performed, and the new message can be received through the protocol receiving module (131).
[0095] The computing device (100) can route the message by performing the step of causing the i-th distributed router module (135) included in the i-th routing node (130) to convert the received new message into a specific protocol type of the i-th system through the i-th protocol converter module (136) included in the i-th routing node (130), thereby generating a converted new message and routing the converted new message by referencing the i-th distributed routing table (134a). At this time, the i-th distributed router module (135) can access the i-th distributed routing table (134a).
[0096] Here, when it is determined that the protocol type of the new message is not the same as the specific protocol type of the i-th system, the computing device (100) can generate a converted new message by converting it to the specific protocol type of the i-th system through the i-th protocol converter module (136) included in the i-th routing node.
[0097] The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., either alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specifically designed and configured for the present invention, or they may be those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.
[0098] Although the present invention has been described above with specific details such as specific components, limited embodiments, and drawings, this is provided only to aid in a more comprehensive understanding of the invention, and the invention is not limited to the above embodiments, and a person skilled in the art to which the invention belongs can make various modifications and variations from this description.
[0099] Accordingly, the scope of the present invention should not be limited to the embodiments described above, and all modifications equivalent to or equivalent to the claims set forth below, as well as the claims described below, shall be considered to fall within the scope of the concept of the present invention.
Claims
Claim 1 A method for constructing a message routing table for heterogeneous protocol communication comprises: (a) when at least one service discovery message is input to an i-th routing node—the i-th routing node is included in an i-th system, and the i-th system is one of a first system to an n-th system—a computing device corresponding to the i-th system causes the i-th routing node to generate i-th service map information by (a_i) analyzing the service discovery message through an i-th service discovery module included in the i-th routing node; and (a_ii) enabling the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node, and generating i-th network map information and i-th resource map information using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node; and (b) a step of constructing an i-th distributed routing table by causing the computing device to cause the i-th routing node to analyze the i-th service map information, the i-th network map information, and the i-th resource map information through an i-th routing table builder module included in the i-th routing node; a method comprising. Claim 2 A method according to claim 1, wherein in step (a) of generating the i-th service map information, the computing device causes the i-th routing node, through the i-th service discovery module, to (i) extract each of the service-related information corresponding to each of the first to m-th services provided by the first system to the n-th system—where m is greater than or equal to n—by referring to a first field which is at least one of the plurality of fields included in the service discovery message, and to extract each of the locator-related information corresponding to each of the first to m-th services by referring to a second field which is at least one of the plurality of fields included in the service discovery message, and (ii) generate the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information. Claim 3 A method according to claim 2, wherein in step (a), if the service discovery message is a message corresponding to the DDS protocol, the computing device (i) extracts service list information and topic information included in the ParticipantEntitiesInfo field as the first field included in the service discovery message as service-related information corresponding to each of the first to m-th services by referencing the ParticipantEntitiesInfo field as the first field included in the service discovery message, and extracts IP address information, port information, participant name information, and participant identification information included in the ParticipantBuiltinTopicData field as the second field as the locator-related information corresponding to each of the first to m-th services, and (ii) generates the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information. Claim 4 A method according to claim 2, wherein in step (a), if the service discovery message is a message corresponding to the SOME / IP protocol, the computing device (i) extracts service-related information for any one of a plurality of services by referencing the service ID field and instance ID field as the first field included in the service discovery message, and extracts IP address information and port information included in at least one address-related field as the second field as locator-related information corresponding to any of the services, and (ii) when the service-related information and the locator-related information are all extracted for each of the plurality of services, the computing device generates the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information. Claim 5 A method according to claim 1, wherein in step (a) above, when generating the i-th network map information and the i-th resource map information, the computing device causes the i-th routing node to generate the i-th network map information by matching each of the node IP address information for each of the first routing node to the k-th routing node corresponding to the i-th routing node and the k-th routing node—where k is less than or equal to n—to each of the first routing node to the k-th routing node through the i-th network bus manager module using each of the other network information included in each of the i-th network information and the other node information, and (ii) generate the i-th resource map information by matching each of the resource information for each of the first routing node to the k-th routing node to each of the first routing node to the k-th routing node using each of the other resource information included in each of the i-th resource information and the other node information. Claim 6 A method according to claim 5, wherein, in generating the i-th network map information, the computing device causes the i-th routing node to additionally refer to the i-th service map information through the i-th network bus manager module to determine whether there is a match between each of the locator-related information of each of the first to m-th services included in the i-th service map information and each of the node IP address information of each of the first to k-th routing nodes included in the i-th network map information, and if it is determined that there exists at least one specific locator information that does not match any of the node IP address information, the device generates information about a virtual additional routing node with the specific locator-related information as the specific node IP address information, and generates the i-th additional network map information by reflecting the information about the additional routing node in the i-th network map information, thereby updating the i-th network map information as the i-th additional network map information. Claim 7 In claim 1, in step (b) above, in constructing the i-th distributed routing table, the computing device, through the i-th routing table builder module, (b_i) generates a unicast target list in which each service IP address information and each service protocol type information for each of the first to m services provided by the first to n systems are matched, by referencing the i-th network map information and the i-th service map information, and generates a multicast target list in which each system IP address information and each system protocol type information for the first to n systems are matched; (b_ii) by referencing the unicast target list and the multicast target list, classifies the information for each of the i_1 to i_mi services included in the i-th system among the unicast target list into a local unicast target list, classifies the information for the i-th system to which the i-th routing node belongs among the multicast target list into a local multicast target list, and among the unicast target list, the i_1 service to the A subprocess that classifies each of the remaining services, excluding information for each i_mi service, into a remote unicast target list, and classifies information for each of the remaining systems, excluding the i-th system among the multicast target lists, into a remote multicast target list; (b_iii) a subprocess that generates a distributed unicast target list by referencing the local unicast target list, and generates a distributed multicast target list by referencing the local multicast target list; (b_iv) by referencing protocol list information,A method characterized by performing a sub-process of constructing the i-th distributed routing table such that each of the i_1 service to the i_mi service included in the distributed unicast target list can be converted to a specific protocol type supported by the i-th routing node, and the i-th system included in the distributed multicast target list can be converted to the specific protocol type. Claim 8 In claim 7, in the above process (b_ii), the computing device further performs a subprocess in which, if it is determined that the i-th routing node, through the i-th routing table builder module, additionally filters the remote unicast target list and the remote multicast target list and determines that there exists at least one specific system, namely System p—where p is greater than k+1 and less than or equal to n—in which no routing node is included, determines whether the i-th routing node will be responsible for routing for System p and Services p_1 through p_mp included in System p by referring to the i-th resource information, and if it is determined that the i-th routing node will be responsible, generates an alternative unicast target list containing information about Services p_1 through p_mp and an alternative multicast target list containing information about System p; and in the above process (b_iii), the computing device further performs a subprocess in which, through the i-th routing table builder module, the list obtained by merging the local unicast target list and the alternative unicast target list is distributed A sub-process is performed to generate a unicast target list and to generate a distributed multicast target list by merging the local multicast target list and the alternative multicast target list, and in the process (b_iv), the computing device refers to the protocol list information,A method characterized by performing a sub-process of constructing the i-th distributed routing table such that each of the i_1 to i_mi services and each of the p_1 to p_mp services included in the distributed unicast target list can be converted to the specific protocol type supported by the i-th routing node, and the i-th system and the p-th system included in the distributed multicast target list can be converted to the specific protocol type. Claim 9 A method for providing a message routing service for heterogeneous protocol communication, comprising: (a) after at least one service discovery message is input to an i-th routing node—the i-th routing node is included in an i-th system, and the i-th system is one of a first system to an n-th system—a process by which a computing device corresponding to the i-th system (i) generates i-th service map information by analyzing the service discovery message through an i-th service discovery module included in the i-th routing node, and enables the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node, and generates i-th network map information and i-th resource map information using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node; (ii) receiving a new message while in a state of having performed a process of constructing an i-distributed routing table by analyzing the i-service map information, the i-network map information, and the i-resource map information through the i-routing table builder module included in the i-routing node; and (b) the computing device causing the i-distributed router module included in the i-routing node—the i-distributed router module being able to access the i-distributed routing table—to convert to a specific protocol type of the i-system through the i-protocol converter module included in the i-routing node to generate a converted new message and to route the converted new message by reference to the i-distributed routing table; a method comprising: Claim 10 In claim 9, a method characterized in that, in step (b), when it is determined that the protocol type of the new message is not the same as the specific protocol type of the i-th system, the computing device generates the converted new message by converting it to the specific protocol type of the i-th system through the i-th protocol converter module included in the i-th routing node. Claim 11 A computing device for constructing a message routing table for heterogeneous protocol communication comprises: at least one memory for storing instructions; and at least one processor configured to execute said instructions; wherein, when the processor (I) inputs at least one service discovery message to an i-th routing node—where the i-th routing node is included in an i-th system, and the i-th system is one of a first system to an n-th system—the processor corresponding to the i-th system causes the i-th routing node to (I_i) generate i-th service map information by analyzing the service discovery message through an i-th service discovery module included in the i-th routing node, and (I_ii) enable the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node, and using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node A computing device that performs: (II) a process for generating i-th network map information and i-th resource map information; and (II) a process for constructing an i-th distributed routing table by causing the i-th routing node to analyze the i-th service map information, the i-th network map information, and the i-th resource map information through an i-th routing table builder module included in the i-th routing node. Claim 12 A computing device according to claim 11, wherein, in the above (I) process, when generating the i-th service map information, the processor causes the i-th routing node, through the i-th service discovery module, to (i) extract each of the service-related information corresponding to each of the first to m-th services provided by the first system to the n-th system—where m is greater than or equal to n—by referring to a first field which is at least one of the plurality of fields included in the service discovery message, and to extract each of the locator-related information corresponding to each of the first to m-th services by referring to a second field which is at least one of the plurality of fields included in the service discovery message, and (ii) generate the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information. Claim 13 A computing device characterized in that, in the above (I) process, if the service discovery message is a message corresponding to the DDS protocol, the processor (i) extracts service list information and topic information included in the ParticipantEntitiesInfo field as the first field included in the service discovery message as the service-related information corresponding to each of the first to m-th services by referencing the ParticipantEntitiesInfo field as the first field included in the service discovery message, and extracts IP address information, port information, participant name information, and participant identification information included in the ParticipantBuiltinTopicData field as the second field as the locator-related information corresponding to each of the first to m-th services, and (ii) generates the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information. Claim 14 A computing device according to claim 12, wherein in the above (I) process, if the service discovery message is a message corresponding to the SOME / IP protocol, the processor (i) extracts service-related information for any one of a plurality of services by referencing the service ID field and instance ID field as the first field included in the service discovery message, and extracts IP address information and port information included in at least one address-related field as the second field as the locator-related information corresponding to the arbitrary service, and (ii) when the service-related information and the locator-related information are all extracted for each of the plurality of services, the processor generates the i-th service map information by matching each of the locator-related information corresponding to each of the service-related information. Claim 15 A computing device according to claim 11, wherein, in the above (I) process, when generating the i-th network map information and the i-th resource map information, the processor causes the i-th routing node to generate the i-th network map information by matching each of the node IP address information for each of the first routing node to the k-th routing node corresponding to the i-th routing node and the other routing node—where k is less than or equal to n—to each of the first routing node to the k-th routing node through the i-th network bus manager module using each of the other network information included in each of the i-th network information and the other node information, and (ii) generate the i-th resource map information by matching each of the resource information for each of the first routing node to the k-th routing node to each of the first routing node to the k-th routing node using each of the other resource information included in each of the i-th resource information and the other node information. Claim 16 A computing device according to claim 15, wherein, in generating the i-th network map information, the processor causes the i-th routing node to additionally refer to the i-th service map information through the i-th network bus manager module to determine whether there is a match between each of the locator-related information of each of the first to m-th services included in the i-th service map information and each of the node IP address information of each of the first to k-th routing nodes included in the i-th network map information, and if it is determined that there exists at least one specific locator information that does not match any of the node IP address information, the processor generates information about a virtual additional routing node with the specific locator-related information as the specific node IP address information, and generates the i-th additional network map information by reflecting the information about the additional routing node in the i-th network map information, thereby updating the i-th network map information as the i-th additional network map information. Claim 17 In claim 11, in the above process (II), in constructing the i-th distributed routing table, the processor causes the i-th routing node to, through the i-th routing table builder module, (II_i) generate a unicast target list in which each service IP address information and each service protocol type information for each of the first to m services provided by the first to n systems are matched by referencing the i-th network map information and the i-th service map information, and generate a multicast target list in which each system IP address information and each system protocol type information for the first to n systems are matched; (II_ii) referencing the unicast target list and the multicast target list, classify the information for each of the i_1 to i_mi services included in the i-th system among the unicast target list as a local unicast target list, classify the information for the i-th system to which the i-th routing node belongs among the multicast target list as a local multicast target list, and among the unicast target list, the i_1 service to the A subprocess that classifies each of the remaining services, excluding information for each i_mi service, into a remote unicast target list, and classifies information for each of the remaining systems, excluding the i-th system among the multicast target lists, into a remote multicast target list; (II_iii) a subprocess that generates a distributed unicast target list by referencing the local unicast target list, and generates a distributed multicast target list by referencing the local multicast target list; (II_iv) by referencing protocol list information,A computing device characterized by performing a sub-process of constructing the i-th distributed routing table such that each of the i_1 service to the i_mi service included in the distributed unicast target list can be converted to a specific protocol type supported by the i-th routing node, and the i-th system included in the distributed multicast target list can be converted to the specific protocol type. Claim 18 In claim 17, in the above process (II_ii), the processor further performs a subprocess in which, if it is determined that the i-th routing node, through the i-th routing table builder module, additionally filters the remote unicast target list and the remote multicast target list and determines that there exists at least one specific system, namely System p—where p is greater than k+1 and less than or equal to n—in which no routing node is included, determines whether the i-th routing node will be responsible for routing for System p and Services p_1 through p_mp included in System p by referring to the i-th resource information, and if it is determined that the i-th routing node will be responsible, generates an alternative unicast target list containing information about Services p_1 through p_mp and an alternative multicast target list containing information about System p, and in the above process (II_iii), the processor further performs a subprocess in which, through the i-th routing table builder module, the list obtained by merging the local unicast target list and the alternative unicast target list is A sub-process is performed to generate a distributed unicast target list and to generate a list formed by merging the local multicast target list and the alternative multicast target list as a distributed multicast target list, and in the process (II_iv), the processor, by referring to the protocol list information,A computing device characterized by performing a sub-process of constructing the i-th distributed routing table such that each of the i_1 to i_mi services and each of the p_1 to p_mp services included in the distributed unicast target list can be converted to the specific protocol type supported by the i-th routing node, and the i-th system and the p-th system included in the distributed multicast target list can be converted to the specific protocol type. Claim 19 A computing device providing a message routing service for heterogeneous protocol communication comprises: at least one memory for storing instructions; and at least one processor configured to execute said instructions; wherein the processor, after (I) at least one service discovery message is input to an i-th routing node—the i-th routing node is included in an i-th system, and the i-th system is one of a first system to an n-th system—and the processor corresponding to the i-th system, (i) generates i-th service map information by analyzing the service discovery message through an i-th service discovery module included in the i-th routing node, and enables the i-th network information and i-th resource information of the i-th routing node and other network information and other resource information of at least one other routing node to be shared with each other through an i-th network bus manager module included in the i-th routing node, and generates i-th network map information and i-th resource map information using the i-th network information and i-th resource information and the other network information and other resource information shared from the at least one other routing node. (ii) a process of receiving a new message while in a state of performing a process of constructing an i-th distributed routing table by analyzing the i-th service map information, the i-th network map information, and the i-th resource map information through the i-th routing table builder module included in the i-th routing node;and (II) a computing device that performs a process of causing an i-th distributed router module included in the i-th routing node—the i-th distributed router module being able to access the i-th distributed routing table—to convert to a specific protocol type of the i-th system through an i-th protocol converter module included in the i-th routing node to generate a new converted message and to route the new converted message by reference to the i-th distributed routing table; Claim 20 A computing device characterized in that, in the above (II) process, when it is determined that the protocol type of the new message is not the same as the specific protocol type of the i-th system, the processor generates the converted new message by converting it to the specific protocol type of the i-th system through the i-th protocol converter module included in the i-th routing node.