Transformation engine for datacenter colocation and network interconnection products
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/173
H04L-012/24
출원번호
US-0294552
(2014-06-03)
등록번호
US-9806954
(2017-10-31)
발명자
/ 주소
Gundugola, Prabhakar
Doraiswamy, Vijaay
Jeyapaul, Jaganathan
Lillie, Brian James
출원인 / 주소
Equinix, Inc.
대리인 / 주소
Shumaker & Sieffert, P.A.
인용정보
피인용 횟수 :
1인용 특허 :
9
초록▼
In general, techniques for integration of diverse software applications in i) a co-location facility, ii) communication interconnection network facility, or iii) both, are described. For example, a transformation engine for datacenter colocation and network interconnection products may assist in a d
In general, techniques for integration of diverse software applications in i) a co-location facility, ii) communication interconnection network facility, or iii) both, are described. For example, a transformation engine for datacenter colocation and network interconnection products may assist in a dynamic i) transformation of commands and ii) data structure translation as well as data structure transformation between a source application (SA) and a target application (TA) via two or more translation assist templates.
대표청구항▼
1. A transformation engine comprising: at least one memory; andone or more electronic hardware components operably coupled to the at least one memory, the transformation engine for i) a datacenter co-location facility, ii) a communication interconnection network facility, or iii) both,where the tran
1. A transformation engine comprising: at least one memory; andone or more electronic hardware components operably coupled to the at least one memory, the transformation engine for i) a datacenter co-location facility, ii) a communication interconnection network facility, or iii) both,where the transformation engine comprises two or more modules coded to assist in a dynamic i) transformation of commands and ii) data structure translation as well as data structure transformation between a first source application and a first target application, where a nature of both the first source application and the first target application are for use in conjunction with the i) co-location facility, ii) communication interconnection network facility or iii) both;where the transformation engine is configured to, at runtime, dynamically update configuration information used to dynamically transform the commands and data structures based on the updated configuration information occurring due to any of: i) an addition of another source application, another target application, or new colocation or network interconnection product, ii) a change to an existing source application, an existing target application, or an existing colocation or a network interconnection product, or iii) any combination of both;where the transformation engine is configured to generate two or more translation assist templates correlating to different combinations of the existing source applications, the existing target applications, and the new colocation or network interconnection product, where the network transformation engine is configured to generate a new translation assist template when information regarding a new or updated application or product is loaded into a database;where the transformation engine is configured to then send the new translation assist template to a cache used by an integration services middleware software layer to assist in the dynamic translation of any data structures and the dynamic transformation of any commands and data structures to dynamically map out how a grammar and structure of the first source application correlates to the first target application, where the new translation assist template enables any structure and attribute changes to i) the colocation or network interconnection product or ii) the first source application or the first target application, or iii) any said combination of both, to be made dynamically by updating the configuration information loaded into the database without having to make any code modifications to the integration services middleware software layer configured to perform the dynamic translation and transformation between the grammar and the structure of the first source application over to the grammar and the structure of the first target application; anda plug-in module of the transformation engine having self-executing code configured to plug into and communicate with the integration services middleware software layer when that integration services middleware software layer uses i) eXtensible Markup Language (XML), ii) an XML variant, or iii) an XML derivative software language. 2. The transformation engine of claim 1, where the transformation engine further includes one or more modules to perform its configured functionality, the one or more modules including a rules engine module configured to process configuration rules for each said new colocation or said network interconnection product and the source application and the target application combination, an XPATH builder module configured to compute transformation rules stored in the database and send an expression used to construct the new translation assist template, and a software language transformation engine configured to read and understand the grammar and the structure of the configuration information expressed in multiple software applications formats. 3. The transformation engine of claim 1, where the database with the two or more translation assist templates for the combinations of the source applications, the target applications, and the new colocation or said network interconnection products forms a library that stores product structures and rules for multiple product transformations that can automate a mapping process for the dynamic translations and the dynamic transformations occurring between the first source application and the first target application in order to allow both said applications to communicate and integrate with each other. 4. The transformation engine of claim 1, where the transformation engine is further configured to supply the two or more translation assist templates to the cache in order to translate the commands and the data structures to a simplified flat hierarchical structure required by the first target application, and where the cache stores all the two or more translation assist templates for product-target and application-source application combinations, and where the two or more translation assist templates are used by the integration services middleware software layer to translate an incoming command or a data message that has a complex, hierarchical, product structure form and format from the first source application over to a simplified flat format that the first target application understands. 5. The transformation engine of claim 2, where the database contains two or more tables that can be referenced by the rules engine module, including a master table that contains information regarding the first source application and first target application interfaces along with a product identifier, and an attribute table that contains the information regarding the first source application's and corresponding target application's attributes along with a level at which they occur as well as a direction with respect to the first source application. 6. The transformation engine of claim 2, further comprising: a first module in the transformation engine configured to trigger a request to the software language transformation engine when the updating of the configuration information loaded into the database occurs, wherein when the software language transformation engine receives the request that the configuration information for either the new colocation or network interconnection product or an update to the existing colocation or network interconnection product has been loaded into the database, the first module is configured to cause the software language transformation engine to process the grammar and format of the new product or the updated product. 7. The transformation engine of claim 6, where the software language transformation engine reads the grammar of the first source application and sends the grammar along with metadata indicating the first source application and the first target application to the rules engine module, which reads multiple tables each with their own category of information such as variable attributes or conditional attributes, and gets structured detailed variables, and then reads product information and communicates the variable attributes, the conditional attributes, and the structured detailed variables to the XPath builder module that then creates an XPath expression to be used to create the new translation assist template. 8. The transformation engine of claim 2, where the software language translation engine in the network transformation engine is configured to generate the new translation assist template based on a latest configuration information in a set of tables stored in the database, where the software language transformation engine is configured to understand the grammar and the structure of the configuration data expressed in a first software application's format as well as understand the grammar and structural format of that configuration data expressed in a second software application's format, where the software language transformation engine is configured to construct the new translation assist template based on the computed transformation rules stored in the set of tables and an XPATH expression built using the XPATH builder module, where the new translation assist template is built offline from a performance of the dynamic translation between the source and the target applications, and where the new translation assist template conveys how to get information from the first source application, and maps that information to both where the target application is to receive the data to be inputted and in the context the target application is to receive the data in. 9. The transformation engine of claim 2, where the rules engine module is configured to invoke one or more rule checks in a set of two or more rules tables, where a content in the two or more rules tables is updated offline from a performance of the dynamic translation between the source and the target applications; and thus, allows the transformation engine to create the new translation assist template offline, where an instance of the new translation assist template is then put into the cache and used by the integration services middleware software layer online to dynamically perform said dynamic translation between the source and the target applications, where the rules engine module is configured to process a syntax structure and the grammar of the new product, or any changes to an existing product, and obtain them from the two or more rules tables, where the set of the two or more rules tables includes a Master table that contains general source information and target application information regarding each said colocation product, an attribute master table that contains the general source application information and the general target application information on where a position of an attribute is located; and thus, enables construction of a target message even if an order of the attribute changes on a source side, and a Target eXtensible Stylesheet Language Transformation (XSLT) Grammar table that contains field names including an element's name, element description, syntax, element order, or element type. 10. The transformation engine of claim 1, where the two or more translation assist templates are eXtensible Stylesheet Language Transformation (XSLT) templates, where an automated code generation process of a software language transformation engine is configured to generate XSLT translation assist templates with configuration data for the dynamic translation and the dynamic transformation for the first colocation product structure and the first source software application and a first target software application combination and then is repeated for each and every network interconnection or colocation product structure offered in conjunction with i) the colocation facility, ii) the communication interconnection network facility, or iii) any combination of both, and their source and target combinations, where this automated process creates a library of templates in the cache that allows for changes to the product structures or said additions of the new products to be incorporated into the cache via a re-configuration process rather than a manual writing of custom coding processes. 11. A method of integration of diverse software applications in i) a co-location facility, ii) communication interconnection network facility, or iii) both, comprising: assisting in a dynamic i) transformation of commands and ii) data structure translation as well as data structure transformation between a first source application and a first target application, where a nature of both the first source application and the first target application are for use in conjunction with the i) co-location facility, ii) communication interconnection network facility, or iii) both;at runtime, dynamically updating configuration information used to dynamically transform the commands and the data structures based on the dynamic update occurring due to any of: i) an addition of another source application, another target application, or new colocation or a network interconnection product, ii) a change occurs to an existing source application, existing target application, or existing colocation or network interconnection product, and iii) any combination of both;generating two or more translation assist templates correlating to different combinations of the source applications, target applications, and the new colocation or network interconnection product;generating a new translation assist template when information regarding a new or updated application or product is loaded into a database;after generation of the new translation assist template, then sending the new translation assist template to a cache used by an integration services middleware software layer to assist in the dynamic translation and the dynamic transformation of the commands and the data structures to dynamically map out how a grammar and structure of the first source application correlates to the first target application, where the new translation assist template enables any structure changes or attribute changes to i) the new colocation or the new network interconnection product or ii) the source or the target applications or iii) any said combination of both, to be made dynamically by updating the configuration information loaded into the database without having to make any code modifications to the integration services middleware software layer configured to perform the dynamic translation and the dynamic transformation between the grammar and the structure of the first source application over to the grammar and the structure of the first target application; andplugging into and communicating with the integration services middleware software layer when that integration services middleware software layer uses i) eXtensible Markup Language (XML), ii) an XML variant, or iii) an XML derivative software language. 12. The method of claim 11, further comprising: processing configuration rules for each said new colocation or network interconnection product, the source application, and the target application combination;computing the transformation rules stored in the database and sending an expression used to construct the new translation assist template; andreading and understanding the grammar and the structure of the configuration information expressed in multiple software applications formats. 13. The method of claim 11, where the database with the two or more translation assist templates for the combinations of the source applications, target applications, and said new colocation or the network interconnection product forms a library that stores product structures and rules for multiple product transformations that can automate a mapping process for the dynamic translations and transformations occurring between the first source application and the first target application in order to allow both said applications to communicate and integrate with each other. 14. The method of claim 11, further comprising: supplying the two or more translation assist templates to the cache in order to translate the commands and the data structures to a simplified flat hierarchical structure required by the first target application; andstoring in the cache all the two or more translation assist templates for product-target application-source application combination's and using the two or more translation assist templates by the integration services middleware software layer to translate an incoming command or data message that has a complex, hierarchical, product structure form and format from the first source application and over to a simplified flat format that the first target application understands. 15. A non-transitory storage medium containing instructions, which when executed by a machine cause the machine to perform operations of claim 11, where a network transformation engine is coded and built using a i) lightweight eXtensible Stylesheet Language or ii) Java programming language. 16. The method of claim 12, further comprising: referencing two or more tables in the database by the rules engine module, where the two or more tables include a master table that contains information regarding the first source application and the first target application interfaces along with a product identifier, and an attribute table that contains information regarding the source application's and the corresponding target application's attributes along with a level at which they occur as well as a direction with respect to the first source application. 17. The method of claim 12, further comprising: triggering a request to a software language transformation engine when the dynamic updating of the configuration information is loaded into the database, wherein when the software language transformation engine receives the request that the configuration information for either a new colocation or network interconnection product or an update to said existing colocation or network interconnection product have been loaded into the database, then this is configured to cause the software language transformation engine to process the grammar and format of the new network interconnection product or said updated network interconnection product; andreading the grammar of the source application and sending the grammar along with metadata indicating the source application and target application to a rules engine module, which reads multiple tables each with their own category of information and communicates the variable attributes, the conditional attributes, and the structured detailed variables to an)(Path builder module that then creates an XPath expression to be used to create the new translation assist template. 18. The method of claim 12, further comprising: generating a new eXtensible Stylesheet Language Transformation (XSLT) template based on the latest configuration information in a set of tables stored in the database, where a software language transformation engine is configured to understand the grammar and the structure of configuration data expressed in a first software application's format as well as understands the grammar and structural format of that configuration data expressed in a second software application's format, where the software language transformation engine is configured to construct the new translation assist template based on computed transformation rules stored in the set of tables and an)(Path expression built using an)(Path builder module, andwhere the new translation assist template is built off line from a performance of the dynamic translation between the source and target applications, and conveys how to get information from the first source application and maps that information to both where the first target application is to receive the configuration data to be inputted and in the context the target application is to receive the data in. 19. The method of claim 12, further comprising: invoking one or more rule checks in a set of two or more rules tables, where a content in the two or more rules tables is updated offline from a performance of the dynamic translation between the source and the target applications; and thus, allows a translation engine to create the new translation assist template offline;placing an instance of the new translation assist template into the cache to be used by the integration services to dynamically translate between the source and the target applications; andprocessing a syntax structure and the grammar of the new network interconnection product, or any said changes to an existing product, and obtains them from the tables, where the set of two or more rules tables includes a Master table that contains general source and target information regarding each colocation product, an attribute master table that contains source application and target application information on where a position of an attribute is located; and thus, enabling construction of a target message even if an order of the attribute changes on a source side, and a target eXtensible Stylesheet Language Transformation (XSLT) grammar table that contains field names including an element's name, element description, syntax, element order, and element type. 20. The method of claim 11, where the two or more translation assist templates are eXtensible Stylesheet Language Transformation (XSLT) templates, where an automated code generation process of a software language transformation engine is configured to generate XSLT translation assist templates with configuration data for the dynamic translation and the dynamic transformation for a first colocation product structure and the first source application and the first target application combination and then is repeated for each and every said network interconnection product or colocation product structure offered in conjunction with i) the colocation facility, ii) the network interconnection facility, and iii) any said combination of both, and their source and target applications' combinations, where this automated code generation process creates a library of templates in the cache that allows the changes to the product structures or additions of the new products to be incorporated into the cache via a re-configuration process rather than a manual writing of a custom coding process.
Doraiswamy, Vijaay; Lillie, Brian J.; Koty, Ramchandra Jayateerth; Jeyapaul, Jaganathan; Purohit, Purvish, Distributed edge processing of internet of things device data in co-location facilities.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.