Data communication protocols for data transmission and software assurance in a cloud environment
Techniques for data communication protocols for data transmission and software assurance in a cloud environment are disclosed. Data is received from a first component and at a first adapter using a first communication protocol. The data is transmitted, by the first adapter and to a proxy, using a second communication protocol. The proxy audits the data, and (i) blocks passage of the data, or (ii) forwards the data to a second adapter using the second communication protocol, to cause the second adapter to transmit the data to a second component using the first communication protocol. The proxy is within a tenancy of a cloud environment. The first adapter and the first component are within a first section of the cloud environment. The second adapter and the second component are within a second section of the cloud environment. Neither of the first or second sections is within the tenancy.
1 . A non-transitory computer-readable medium including instructions that when executed by one or more processors, cause a system including the one or more processors to perform operations including:
receiving, at a first adapter and from a first component, data using a first communication protocol; and
transmitting, by the first adapter and to a proxy, the data using a second communication protocol, such that the proxy:
audits the data to check for non-permissible information within the data, and
performs one of:
(i) in response to detecting presence of the non-permissible information within the data, blocks passage of the data to its intended destination, or
(ii) in response to detecting absence of the non-permissible information within the data, allows passage of the data to a second adapter using the second communication protocol, to facilitate transmission of the data from the second adapter to a second component using the first communication protocol;
wherein the first communication protocol and the second communication protocol are different,
wherein the proxy is within a tenancy of a cloud environment,
wherein the first adapter and the first component are within a first section of the cloud environment,
wherein the second adapter and the second component are within a second section of the cloud environment, and
wherein neither of the first section and the second section is within the tenancy of the cloud environment.
2 . The non-transitory computer-readable medium of claim 1 , wherein the first section is located in a first country, and wherein the second section is located in a second country.
3 . The non-transitory computer-readable medium of claim 1 , wherein:
the tenancy is a first tenancy;
the first section is within a second tenancy of the cloud environment; and
the second section is within (i) the second tenancy of the cloud environment or (ii) a third tenancy of the cloud environment that is different from each of the first and second tenancies.
4 . The non-transitory computer-readable medium of claim 1 , wherein the operations further include:
receiving, at the second adapter and from the proxy, the data using the second communication protocol; and
transmitting, by the second adapter and to the second component, the data using the first communication protocol.
5 . The non-transitory computer-readable medium of claim 1 , wherein the operations further include:
accessing, by the first adapter, the first component, the second adapter, and the second component, an interface description language from a protocol library.
6 . The non-transitory computer-readable medium of claim 1 , wherein the operations further include:
accessing, by the first adapter and the first component, a first interface description language from a first protocol library; and
accessing, by the second adapter and the second component, a second interface description language from a second protocol library.
7 . The non-transitory computer-readable medium of claim 1 , wherein:
the first adapter comprises: (i) a server for accepting a connection from the first component for the first communication protocol, and acting as a reverse proxy, and (ii) a first protocol converter for establishing a bidirectional connection with the proxy using the second communication protocol; and
the second adapter comprises: (i) a client for establishing a connection with the second component using the first communication protocol, and acting as a forward proxy, and (ii) a second protocol converter for establishing a bidirectional connection with the proxy using the second communication protocol.
8 . The non-transitory computer-readable medium of claim 1 , wherein the first communication protocol is a remote procedure calls (RPC) protocol.
9 . The non-transitory computer-readable medium of claim 1 , wherein the first communication protocol is a gRPC (gRPC remote procedure calls) protocol.
10 . The non-transitory computer-readable medium of claim 1 , wherein the second communication protocol is a bidirectional persistent communication protocol.
11 . The non-transitory computer-readable medium of claim 1 , wherein the second communication protocol is a Websocket protocol.
12 . A non-transitory computer-readable medium including instructions that when executed by one or more processors, cause a system including the one or more processors to perform operations including:
receiving, at a proxy and from a first adapter, data using a first communication protocol, wherein the first adapter receives the data from a first component using a second communication protocol, and transmits the data to the proxy using the first communication protocol;
auditing, at the proxy, the data to check for non-permissible information within the data; and
performing one of:
(i) in response to detecting presence of the non-permissible information within the data, blocking passage of the data to its intended destination, or
(ii) in response to detecting absence of the non-permissible information within the data, allowing passage of the data to a second adapter using the first communication protocol, to facilitate transmission of the data from the second adapter to a second component using the second communication protocol;
wherein the first communication protocol and the second communication protocol are different,
wherein the proxy is within a tenancy of a cloud environment,
wherein the first adapter and the first component are within a first section of the cloud environment,
wherein the second adapter and the second component are within a second section of the cloud environment, and
wherein neither of the first section and the second section is within the tenancy of the cloud environment.
13 . The non-transitory computer-readable medium of claim 12 , wherein the first section is located in a first country, wherein the second section is located in a second country, and wherein the proxy is located within (i) the first country, (ii) the second country, or (iii) a third country different from each of the first and second countries.
14 . The non-transitory computer-readable medium of claim 12 , wherein:
the tenancy is a first tenancy;
the first section is within a second tenancy of the cloud environment; and
the second section is within (i) the second tenancy of the cloud environment or (ii) a third tenancy of the cloud environment that is different from each of the first and second tenancies.
15 . The non-transitory computer-readable medium of claim 12 , wherein the second communication protocol is a gRPC (gRPC remote procedure calls protocol) communication protocol.
16 . The non-transitory computer-readable medium of claim 12 , wherein the first communication protocol is a bidirectional persistent communication protocol.
17 . The non-transitory computer-readable medium of claim 12 , wherein the first communication protocol is a Websocket protocol.
18 . A computer implemented method comprising:
receiving, at a first adapter and from a first component, data using a first communication protocol; and
transmitting, by the first adapter and to a proxy, the data using a second communication protocol, such that the proxy audits the data to check for non-permissible information within the data, and performs one of: (i) in response to detecting presence of the non-permissible information within the data, blocks passage of the data to its intended destination, or (ii) in response to detecting absence of the non-permissible information within the data, allows passage of the data to a second adapter using the second communication protocol, to facilitate transmission of the data from the second adapter to a second component using the first communication protocol;
wherein the first communication protocol and the second communication protocol are different,
wherein the proxy is within a tenancy of a cloud environment,
wherein the first adapter and the first component are within a first section of the cloud environment,
wherein the second adapter and the second component are within a second section of the cloud environment, and
wherein neither of the first section and the second section is within the tenancy of the cloud environment.
19 . The method of claim 18 , wherein the first section is located in a first country, and wherein the second section is located in a second country.
20 . The method of claim 18 , wherein:
the tenancy is a first tenancy;
the first section is within a second tenancy of the cloud environment; and
the second section is within (i) the second tenancy of the cloud environment or (ii) a third tenancy of the cloud environment that is different from each of the first and second tenancies.
21 . A method comprising:
receiving, at a proxy and from a first adapter, data using a first communication protocol, wherein the first adapter receives the data from a first component using a second communication protocol, and transmits the data to the proxy using the first communication protocol;
auditing, at the proxy, the data to check for non-permissible information within the data; and
performing one of:
(i) in response to a detecting presence of the non-permissible information within the data, blocking passage of the data to its intended destination, or
(ii) in response to detecting absence of the non-permissible information within the data, allowing passage of the data to a second adapter using the first communication protocol, to facilitate transmission of the data from the second adapter to a second component using the second communication protocol;
wherein the first communication protocol and the second communication protocol are different,
wherein the proxy is within a tenancy of a cloud environment,
wherein the first adapter and the first component are within a first section of the cloud environment,
wherein the second adapter and the second component are within a second section of the cloud environment, and
wherein neither of the first section and the second section is within the tenancy of the cloud environment.
22 . The method of claim 21 , wherein:
the tenancy is a first tenancy;
the first section is within a second tenancy of the cloud environment; and
the second section is within (i) the second tenancy of the cloud environment or (ii) a third tenancy of the cloud environment that is different from each of the first and second tenancies.
23 . The method of claim 21 , wherein the first communication protocol is a bidirectional persistent communication protocol, and wherein the second communication protocol is a gRPC (gRPC remote procedure calls protocol) communication protocol.
24 . A system comprising:
one or more processors;
one or more non-transitory computer-readable media storing instructions, which, when executed by the system, cause the system to perform a set of actions including:
receiving, at a proxy and from a first adapter, data using a first communication protocol, wherein the first adapter receives the data from a first component using a second communication protocol, and transmits the data to the proxy using the first communication protocol;
auditing, at the proxy, the data to check for non-permissible information within the data; and
performing one of:
(i) in response to a detecting presence of the non-permissible information within the data, blocking passage of the data to its intended destination, or
(ii) in response to detecting absence of the non-permissible information within the data, allowing passage of the data to a second adapter using the first communication protocol, to facilitate transmission of the data from the second adapter to a second component using the second communication protocol;
wherein the first communication protocol and the second communication protocol are different,
wherein the proxy is within a tenancy of a cloud environment,
wherein the first adapter and the first component are within a first section of the cloud environment,
wherein the second adapter and the second component are within a second section of the cloud environment, and
wherein neither of the first section and the second section is within the tenancy of the cloud environment.
25 . The system of claim 24 , wherein:
the tenancy is a first tenancy;
the first section is within a second tenancy of the cloud environment; and
the second section is within (i) the second tenancy of the cloud environment or (ii) a third tenancy of the cloud environment that is different from each of the first and second tenancies.
26 . A system comprising:
one or more processors;
one or more non-transitory computer-readable media storing instructions, which, when executed by the system, cause the system to perform a set of actions including:
receiving, at a first adapter and from a first component, data using a first communication protocol; and
transmitting, by the first adapter and to a proxy, the data using a second communication protocol, such that the proxy:
audits the data to check for non-permissible information within the data, and
performs one of:
(i) in response to detecting presence of the non-permissible information within the data, blocks passage of the data to its intended destination, or
(ii) in response to detecting absence of the non-permissible information within the data, allows passage of the data to a second adapter using the second communication protocol, to facilitate transmission of the data from the second adapter to a second component using the first communication protocol;
wherein the first communication protocol and the second communication protocol are different,
wherein the proxy is within a tenancy of a cloud environment,
wherein the first adapter and the first component are within a first section of the cloud environment,
wherein the second adapter and the second component are within a second section of the cloud environment, and
wherein neither of the first section and the second section is within the tenancy of the cloud environment.