A system comprising: at least one processor; memory storing computer-executable instructions that, when executed by the at least one processor, cause the system to implement a symmetric bridge component for sending data between a first endpoint component (122, 122) executable in one of a kernel mode and a user mode of the system and a second endpoint component (122, 122) executable in the other of the kernel mode and the user mode of the system, the symmetric bridge component including a kernel-level bridge component (122) that is a part of the symmetric bridge component executed in the kernel mode and a user-level bridge component (122) that is a part of the symmetric bridge component executed in the user mode, wherein the symmetric bridge component is configured to cause the system to: open a communications port by causing a first bridge component (122, 122) that is one of the parts of the symmetric bridge component, to activate an open port function to initialize the communications port in one of the kernel mode or the user mode; set the communications port to a connected state to create an opened and connected communications port in response to a second bridge component (122, 122) that is the other part of the symmetric bridge component activating the open port function in the other of the kernel mode or the user mode; send a message containing data via the opened and connected communications port, the data originating from the first endpoint component (122, 122) executable in one of the kernel mode or the user mode; and receive the data at the second endpoint component (122, 122) executable in the other of the kernel mode or the user mode. at least one processor; memory storing computer-executable instructions that, when executed by the at least one processor, cause the system to implement a symmetric bridge component for sending data between a first endpoint component (122, 122) executable in one of a kernel mode and a user mode of the system and a second endpoint component (122, 122) executable in the other of the kernel mode and the user mode of the system, the symmetric bridge component including a kernel-level bridge component (122) that is a part of the symmetric bridge component executed in the kernel mode and a user-level bridge component (122) that is a part of the symmetric bridge component executed in the user mode, wherein the symmetric bridge component is configured to cause the system to: open a communications port by causing a first bridge component (122, 122) that is one of the parts of the symmetric bridge component, to activate an open port function to initialize the communications port in one of the kernel mode or the user mode; set the communications port to a connected state to create an opened and connected communications port in response to a second bridge component (122, 122) that is the other part of the symmetric bridge component activating the open port function in the other of the kernel mode or the user mode; send a message containing data via the opened and connected communications port, the data originating from the first endpoint component (122, 122) executable in one of the kernel mode or the user mode; and receive the data at the second endpoint component (122, 122) executable in the other of the kernel mode or the user mode. open a communications port by causing a first bridge component (122, 122) that is one of the parts of the symmetric bridge component, to activate an open port function to initialize the communications port in one of the kernel mode or the user mode; set the communications port to a connected state to create an opened and connected communications port in response to a second bridge component (122, 122) that is the other part of the symmetric bridge component activating the open port function in the other of the kernel mode or the user mode; send a message containing data via the opened and connected communications port, the data originating from the first endpoint component (122, 122) executable in one of the kernel mode or the user mode; and receive the data at the second endpoint component (122, 122) executable in the other of the kernel mode or the user mode.