US 11,900,176 B2
Interoperability bridge for application hosts
David Arthur Eatough, Redmond, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 8, 2021, as Appl. No. 17/342,317.
Prior Publication US 2022/0391266 A1, Dec. 8, 2022
Int. Cl. G06F 9/54 (2006.01)
CPC G06F 9/541 (2013.01) [G06F 9/542 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for function call invocation, the method comprising:
generating, by a host bridge based on a schema, first and second functions of an application bridge interface implemented in a first programming language and executed within an application host, wherein the schema defines the first function for communicating data between a first user application and a reusable bridge module of the host bridge, wherein the schema defines the second function for communicating data between a second user application and the reusable bridge module;
generating, by the host bridge based on the schema, third and fourth functions of a native bridge interface implemented in a second programming language and executed within a native host, wherein the first programming language is different from the second programming language, wherein the schema defines the third function for communicating data between the reusable bridge module and a first native function of the native host, wherein the schema defines the fourth function for communicating data between the reusable bridge module and a second native function of the native host;
receiving, from the first user application via the application bridge interface, a function call to the first function that corresponds to the third function, and wherein the first user application is executed within the application host in the first programming language;
generating, by the reusable bridge module of the host bridge, a first common data structure based at least in part on the function call to the first function; and
sending, by the reusable bridge module of the host bridge, the first common data structure to the third function of the native bridge interface, wherein the third function converts the first common data structure to a first native data structure implemented in the second programming language and calls the first native function within the native host using the first native data structure;
receiving, from the second user application via the application bridge interface, a function call to the second function that corresponds to the fourth function, wherein the second user application is executed within the application host in the first programming language;
generating, by the reusable bridge module of the host bridge, a second common data structure based at least in part on the function call to the second function; and
sending, by the reusable bridge module of the host bridge, the second common data structure to the fourth function of the native bridge interface, wherein the fourth function converts the second common data structure to a second native data structure implemented in the second programming language and calls the second native function within the native host using the second native data structure.