Abstract: ABSTRACT SYSTEM AND METHOD FOR CONVERTING A MESSAGE FORMAT The present invention relates to a system (108) and a method (700) for converting a message format. The method (700) includes step of, receiving, a message in at least one of, a first message format from a first node (110). The method (700) further includes step of identifying a plurality of attributes and elements of the first message format. The method (700) further includes step of identifying a plurality of attributes and elements of a second message format of a second node (112). The method (700) further includes step of mapping, the plurality of attributes and elements of the first message format with the plurality of attributes and elements of the second message format of the second node (112). The method (700) further includes step of dynamically converting, the first message format into the second message format based on the mapping and a schema of the second node (112). Ref. Fig. 2
DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
SYSTEM AND METHOD FOR CONVERTING A MESSAGE FORMAT
2. APPLICANT(S)
NAME NATIONALITY ADDRESS
JIO PLATFORMS LIMITED INDIAN OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD 380006, GUJARAT, INDIA
3.PREAMBLE TO THE DESCRIPTION
THE FOLLOWING SPECIFICATION PARTICULARLY DESCRIBES THE NATURE OF THIS INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.
FIELD OF THE INVENTION
[0001] The present invention relates to the field of wireless communication systems, more particularly relates to a method and system for converting a message format.
BACKGROUND OF THE INVENTION
[0002] In general, multiple network nodes in a data communication network operate using various protocols and message formats. For example, one network node may communicate using dynamic language expressions such as JavaScript Object Notation (JSON) and another network node may communicate using Extensible Markup Language (XML) format. To facilitate communication between such network nodes, that operate in different message formats, the message from one network node needs to be converted into a message format that is supported by the recipient network node.
[0003] For example, if a first network node that operates in XML needs to communicate with a second network node that operates in JSON, a message from the first network node that operates in XML format needs to be converted into a message in the JSON format, before communicating the message to the second network node. Conversely, a response message in the JSON format from the second network node needs to be converted into the XML format for communicating with the first network node.
[0004] In existing system, conversion from XML to JSON and JSON to XML changes for every use case is not dynamic, and require change of adapter, plugin or interfaces. There is a need for a system that is adaptable to make this dynamic change and that can provide intuitive UI using which this mapping can be done and, translation of the mapping into actual structure at runtime is done when data is received. In order to effect aforesaid communication or integrate systems operating in different message formats (e.g., JSON and XML), in existing systems, developers are required to change the code of a system from XML to JSON or vice versa. This is a complex time-consuming process and is not feasible.
[0005] Further, there are difficulties in interchanging XML and JSON arises from different format requirements. For example, XML messages are ordered, whereas JSON is typically unordered. XML messages always include a root name, whereas JSON does not include a root name. XML element contents do not have type assignments, whereas contents of JSON elements often have type assignments. Hence, it has been noticed that when an XML message is converted into JSON format and the same JSON message is converted back into XML format, it does not result in the same XML file.
[0006] In order to overcome the abovementioned drawbacks, there is a need for an improved method and system to convert XML to JSON and vice versa, in order to facilitate integration of systems following different message formats. Hence, a system and method for facilitating communication between interfaces operating in multiple message formats.
SUMMARY OF THE INVENTION
[0007] One or more embodiments of the present disclosure provide a method and system for converting a message format.
[0008] In one aspect of the present invention, a method for converting a message format is disclosed. The method includes the step of receiving, by one or more processors, a message in at least one of, a first message format from a first node. The method further includes the step of identifying, by the one or more processors, a plurality of attributes and elements of the first message format. The method further includes the step of identifying, by the one or more, a plurality of attributes and elements of a second message format of a second node subsequent to the identification of the plurality of attributes and elements of the first message format of the first node. The method further includes the step of mapping, by the one or more processors, the plurality of attributes and elements of the first message format of the first node with the plurality of attributes and elements of the second message format of the second node. The method further includes the step of dynamically converting, by the one or more processors, the first message format into the second message format based on the mapping and a schema of the second node.
[0009] In one embodiment, the first message format and the second message format include, at least one of, a JavaScript Object Notation (JSON), an Extensible Markup Language (XML) and a Simple Object Access Protocol (SOAP).
[0010] In another embodiment, the one or more processors adds an extra keyword/tag in the at least one attribute among the plurality of attributes in order to identify the plurality of attributes and elements of the second message format of the second node.
[0011] In yet another embodiment, the step of mapping, by the one or more processors, the plurality of attributes and elements of the first message format with a plurality of attributes and elements of a second message format of a second node subsequent to the identification of the plurality of attributes and elements of the second message format of the second node, includes step of segregating, by the one or more processors, the plurality of attributes and elements of the first message format and the second message format.
[0012] In yet another embodiment, the first message format is dynamically converting into the second message format in real time based on the mapping and the schema of the second node.
[0013] In yet another embodiment, the plurality of attributes includes at least one of, a name, type, a size and a version.
[0014] In yet another embodiment, the plurality of elements includes at least one of, an identifier, a date, and a text.
[0015] In another aspect of the present invention, a system for converting a message format is disclosed. The system includes a transceiver configured to receive a message in at least one of, a first message format from a first node. The system further includes an identification unit, configured to identify, a plurality of attributes and elements of the first message format. The identification unit is further configured to identify, a plurality of attributes and elements of a second message format of a second node subsequent to the identification of the plurality of attributes and elements of the first message format of the first node. The system further includes a mapping unit, configured to map, the plurality of attributes and elements of the first message format of the first node with the plurality of attributes and elements of the second message format of the second node. The system further includes a conversion unit, configured to dynamically convert the first message format into the second message format based on the mapping and a schema of the second node.
[0016] In another aspect of the present invention, a User Equipment (UE) is disclosed. One or more primary processors communicatively coupled to one or more processors. The one or more primary processors coupled with a memory. The memory stores instructions which when executed by the one or more primary processors causes the UE to transmit a request by the user to the one or more processors in order to convert a message format.
[0017] In yet another aspect of the present invention, a non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a processor. The processor is configured to receive a message in at least one of, a first message format from a first node. The processor is further configured to identify, a plurality of attributes and elements of the first message format. The processor is further configured to identify, a plurality of attributes and elements of a second message format of a second node subsequent to the identification of the plurality of attributes and elements of the first message format of the first node. The processor is further configured to map, the plurality of attributes and elements of the first message format of the first node with the plurality of attributes and elements of the second message format of the second node. The processor is further configured to dynamically convert, the first message format into the second message format based on the mapping and a schema of the second node.
[0018] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0020] FIG. 1 is an exemplary block diagram of an environment for converting a message format, according to one or more embodiments of the present invention;
[0021] FIG. 2 is an exemplary block diagram of a system for converting a message format, according to one or more embodiments of the present invention;
[0022] FIG. 3 is an exemplary flow diagram of the system of FIG. 2, according to one or more embodiments of the present invention;
[0023] FIG. 4 is an exemplary architecture for converting the message format, according to one or more embodiments of the present disclosure;
[0024] FIG. 5 is an exemplary diagram for converting the message format, according to one or more embodiments of the present disclosure;
[0025] FIG. 6 is a signal flow diagram illustrating the flow for converting the message format, according to one or more embodiments of the present invention; and
[0026] FIG. 7 is a flow diagram of a method for converting the message format, according to one or more embodiments of the present invention.
[0027] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0028] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0029] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0030] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0031] The present disclosure provides describes the converting a message format. The invention addresses the challenges by providing a system and method for converting the message format. In order to convert a first message format to a second message format, a plurality attributes and elements of a first message format is identified and mapped to the corresponding plurality attributes and elements of the second message format based on a schema of the second message format. As a result, the integration of systems operating in different interfaces such as the first message format and the second message format is made efficient.
[0032] Referring to FIG. 1, FIG. 1 illustrates an exemplary block diagram of an environment 100 for converting a message format, according to one or more embodiments of the present invention. The environment 100 includes, a User Equipment (UE) 102, a server 104, a communication network 106, a system 108, a first node 110 and a second node 112. The UE 102 aids a user to interact with the system 108 by transmitting a request to in order to convert the message format.
[0033] For the purpose of description and explanation, the description will be explained with respect to one or more user equipment’s (UEs) 102, or to be more specific will be explained with respect to a first UE 102a, a second UE 102b, and a third UE 102c, and should nowhere be construed as limiting the scope of the present disclosure. Each of the at least one UE 102 namely the first UE 102a, the second UE 102b, and the third UE 102c is configured to connect to the server 104 via the communication network 106. Each of the at least one UE 102 pertains to the user requesting to convert the message format.
[0034] In an embodiment, each of the first UE 102a, the second UE 102b, and the third UE 102c is one of, but not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as Virtual Reality (VR) devices, Augmented Reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device.
[0035] The communication network 106 includes, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The communication network 106 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
[0036] The communication network 106 may also include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The communication network 106 may also include, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, a VOIP or some combination thereof.
[0037] The environment 100 includes the server 104 accessible via the communication network 106. The server 104 may include by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, a processor executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an embodiment, the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise side, a defense facility side, or any other facility that provides service.
[0038] The environment 100 includes the first node 110 communicably coupled to the server 104 via the communication network 106. The environment 100 further includes the second node 112 communicably coupled to the server 104 via the communication network 106. The first node 110 and the second node 112 nodes are electronic devices that are attached to the communication network 106, which are capable of creating, receiving, or transmitting information over the communication network 106. The node may either be data communication equipment such as a modem, hub, bridge or switch or data terminal equipment such as a digital telephone handset, a printer or a host computer.
[0039] The environment 100 further includes the system 108 communicably coupled to the server 104, the first node 110, the second node 112 and the UE 102 via the communication network 106. The system 108 is adapted to be embedded within the server 104 or is embedded as the individual entity.
[0040] Operational and construction features of the system 108 will be explained in detail with respect to the following figures.
[0041] FIG. 2 is an exemplary block diagram of the system 108 for converting the message format, according to one or more embodiments of the present invention.
[0042] As per the illustrated and preferred embodiment, the system 108 for converting the message format, the system 108 includes one or more processors 202, a memory 204, and a storage unit 206. The one or more processors 202 includes a transceiver 208, an identification unit 210, a mapping unit 212, and a conversion unit 214. The one or more processors 202, hereinafter referred to as the processor 202, may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions. However, it is to be noted that the system 108 may include multiple processors as per the requirement and without deviating from the scope of the present disclosure. Among other capabilities, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204.
[0043] As per the illustrated embodiment, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204 as the memory 204 is communicably connected to the processor 202. The memory 204 is configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed for converting message formats. The memory 204 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0044] As per the illustrated embodiment, the storage unit 206 is configured to store data pertaining to the message formats. The storage unit 206 is one of, but not limited to, a centralized database, a cloud-based database, a commercial database, an open-source database, a distributed database, an end-user database, a graphical database, a No-Structured Query Language (NoSQL) database, an object-oriented database, a personal database, an in-memory database, a document-based database, a time series database, a wide column database, a key value database, a search database, a cache databases, and so forth. The foregoing examples of storage unit 206 types are non-limiting and may not be mutually exclusive e.g., the database can be both commercial and cloud-based, or both relational and open-source, etc.
[0045] In an embodiment, initially a request is transmitted by the user via the UE 102 in order to convert the message format. In an alternate embodiment, there is no requirement for the user to transmit the request for the conversion of the message formats as the system 108 is capable of dynamically converting the first message format into the second message format.
[0046] In an embodiment, the transceiver 208 of the processor 202 is configured to receive a message in at least one of, but not limited to, a first message format from the first node 110. The first message format includes, at least one of, but not limited to, a JavaScript Object Notation (JSON), an Extensible Markup Language (XML) and a Simple Object Access Protocol (SOAP).
[0047] In one embodiment, JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays. JSON is a commonly used data format with diverse uses in electronic data interchange, including that of web applications with servers.
[0048] In one embodiment, the XML is a markup language that provides rules to define any data. Unlike other programming languages. The XML stores data in plain text format which provides a software and hardware independent way of storing, transporting, and sharing data. The XML also makes it easier to expand or upgrade to new operating systems, new applications, or new browsers, without losing data.[0049] In one embodiment, the SOAP is a lightweight XML based protocol that is used for the exchanging information in a decentralized, distributed application environment. The user may transmit SOAP messages in any way that the applications requires as long as both the client and the server use the same method.
[0050] In an embodiment, the identification unit 210 of the processor 202 is configured to identify a plurality of attributes and elements of the first message format pertaining to the message received from the first node 110. The identification unit 210 of the processor 202 is further configured to identify a plurality of attributes and elements of the second message format of the second node 112 subsequent to the identification of the plurality of attributes and elements of the first message format of the first node 110. The identification unit 210 adds an extra keyword/tag in the attribute in order to identify the plurality of attributes and elements of the second message format of the second node 112. In particular, the keyword/tag is predefined by the user which acts as an identifier.
[0051] In one embodiment, the plurality of attributes are data objects containing one or more key-value pairs and arrays. The plurality of attributes of the first message format and the second message format includes at least one of, but not limited to, a name, a type, a size a version of the message formats. In particular, the plurality of attributes are properties of a file that provide additional information about the file. Examples of the plurality of attributes include file name, file size, file type, and file permissions. In another embodiment, the plurality of elements are the basic building blocks of a document. The plurality of elements are used as a container to store text elements, attributes, media objects etc. The plurality of elements of the first message format and the second message format includes at least one of, but not limited to, an identifier such as date in at least one of the first message format and the second message format.
[0052] In an embodiment, the mapping unit 212 of the processor 202 is configured to map the plurality of attributes and elements of the first message format of the first node 110 with the plurality of attributes and elements of the second message format of the second node 112. The mapping unit 212 segregates the plurality of attributes and elements of the first message format and the second message format while mapping.
[0053] In an embodiment, the conversion unit 214 of the processor 202 is configured to dynamically convert the first message format into the second message format based on the mapping and a schema of the second node 112. For example, a schema is a structured representation or diagram that outlines the configuration and relationships of the first node 110 and the second node 112. The schema encompasses the hardware, software, connections, and configurations, providing a comprehensive overview of the network's architecture. In particular, the first message format is converted into the second message format in real time.
[0054] The transceiver 208, the identification unit 210, the mapping unit 212, and the conversion unit 214 in an exemplary embodiment, are implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 202. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor 202 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory 204 may store instructions that, when executed by the processing resource, implement the processor 202. In such examples, the system 108 may comprise the memory 204 storing the instructions and the processing resource to execute the instructions, or the memory 204 may be separate but accessible to the system 108 and the processing resource. In other examples, the processor 202 may be implemented by electronic circuitry.
[0055] FIG. 3 illustrates an exemplary block diagram of an architecture for the system 108, according to one or more embodiments of the present invention. More specifically, FIG. 3 illustrates the system 108 for converting the message format. It is to be noted that the embodiment with respect to FIG. 3 will be explained with respect to the UE 102 for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
[0056] FIG. 3 shows communication between the UE 102, the system 108, the first node 110 and the second node 112. For the purpose of description of the exemplary embodiment as illustrated in FIG. 3, the UE 102, the first node 110 and the second node 112 uses a network protocol connection to communicate with the system 108. In an embodiment, the network protocol connection is the establishment and management of communication between the UE 102, the system 108, the first node 110 and the second node 112, over the communication network 106 (as shown in FIG. 1) using a specific protocol or set of protocols. The network protocol connection includes, but not limited to, Session Initiation Protocol (SIP), System Information Block (SIB) protocol, Transmission Control Protocol (TCP), User Datagram Protocol (UDP), File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), Simple Network Management Protocol (SNMP), Internet Control Message Protocol (ICMP), Hypertext Transfer Protocol Secure (HTTPS) and Terminal Network (TELNET).
[0057] In an embodiment, the UE 102 includes a primary processor 302, a memory 304, and a user interface 306. In alternate embodiments, the UE 102 may include more than one primary processor 302 as per the requirement of the communication network 106. The primary processor 302, may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions.
[0058] In an embodiment, the primary processor 302 is configured to fetch and execute computer-readable instructions stored in the memory 304. The memory 304 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to transmit request for converting the message format. The memory 304 may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0059] In an embodiment, the user interface 306 of the UE 102 includes a variety of interfaces, for example, a graphical user interface, a web user interface, a Command Line Interface (CLI), and the like. The user interface 306 is configured to allow the customer to transmit requests to convert the message format. The UE 102 transmits the request to convert the message format to the processor 202 via the user interface 306.
[0060] In an alternate embodiment, the UE 102 and the first node 110 are the same entities. For example, let us assume there are three nodes in the communication network 106. The first node 110 supports JSON format, the second node 112 supports XML format and the third node 308 supports the JSON format.
[0061] Further, in a workflow of the three nodes in the communication network 106 the processor 202 receives data in the JSON format from any alternate node or processor 202 retrieve the data in the JSON format from the storage unit 206. For the first node 110, the processor 202 converts the received JSON into required JSON of the first node 110. For the second node 112, the processor 202 is configured to convert the received JSON into the required XML as per the schema of the second node 112. The processor 202 converts the JSON to the XML by segregating attributes/elements of the first node 110 and the second node 112. For the third node 308, the processor 202 is configured to convert the received JSON and the second node 112 XML response into the required JSON of the third node 308 by segregating attributes/elements of XML of the second node 112 response and the attributes/elements of the required JSON of the third node 308.
[0062] In one embodiment, the processor 202 converts the first message format into the second message format and vice versa. For example, JSON is converted in XML or SOAP formats or vice versa.
[0063] FIG. 4 is an exemplary architecture of the system 108 for converting the message format, according to one or more embodiments of the present disclosure.
[0064] The architecture 400 pertains to the system 108 which includes, the user interface 306, a dynamic routing manager 404, a distributed database 408 having a distributed data lake 412, a cache data store 410, a dynamic activator 414, a workflow manager 418, a message broker 424, a graph database 422, an operation and management module 426 and a load balancer 428.
[0065] In an embodiment, the user interface 306 provides an interface for the user to transmit the request for converting the message format. Further, the user interface 306 receives the request from the user and transmits the requests to the workflow manager 418 via the operation and management unit 402. The workflow manager 418 performs the necessary functions to execute the communication between the first node 110 and the second node 112. For example, the workflow manager 418 optimizes the workflow to ensure a task is completed correctly, consistently and efficiently.
[0066] In an embodiment, when the first node 110 supports the first message format such as XML messaging format seeks to communicate with the second node 112 that supports the second message format such as JSON messaging format, the workflow manager 418 establish the communication between the first node 110 and the second node 112. The workflow manager 418 requests the dynamic activator 414 to provision into the first node 110 to process an XML request. When the dynamic activator 414 transmits request to the first node 110, the response received from the first node 110 is in XML format. Upon receiving the message response in the XML format form the first node 110, the dynamic activator 414, converts the XML response to JSON format based on the schema of the second node 112, and communicates the JSON response to the second node 112 via the dynamic routing manager 404. The dynamic routing manager 404 performs dynamic routing which is a mechanism through which routing information is exchanged between routers to determine the optimal path between network devices such as the first node 110 and the second node 112.
[0067] Typically, for converting, the dynamic activator 414 segregates the plurality of attributes and elements of the first message format and the second message format. Further, the dynamic activator 414 maps the attributes and elements of the first message format such as XML to the attributes and elements of the second message format such as JSON. In alternate embodiment, the user maps the attributes and elements of the first message format such as XML to the attributes and elements of the second message format such as JSON via the user interface 306. Hence, the first message format such as XML is converted dynamically at run time into the second message format such as JSON based on the mapping and the schema of the schema of the second node 112.
[0068] In one embodiment, the storage unit 206 of the processor 202 includes the distributed database 408 having the distributed data lake 412, the cache data store 410 and the graph database 422 in combination which configured to store data pertaining to the message formats. The distributed database 408 is a collection of multiple, logically interrelated databases distributed over the communication network 106. For example, the distributed database 408 is at least one of, but not limited to, an Elastic search. The distributed data lake 412 is a system or repository of data which stores the data in its natural or raw format. The distributed data lake 412 is usually a single store of data including raw copies of system data, sensor data, social data etc. The distributed data lake 412 lake includes at least one of, structured data from relational databases (rows and columns), semi-structured data (XML, JSON), unstructured data (emails, documents), and binary data (images, audio, video).
[0069] In an embodiment, the cache data store 410 is a storage location where multiple copies of data or files are stored temporarily, so that the data can be accessed faster whenever required. In one embodiment, the graph database 422 is a systematic collection of data that emphasizes the relationships between the different data entities. In one embodiment, the operation and management module 426 manages the network operations and is responsible for overseeing the performance and reliability of network infrastructure. In one embodiment, the message broker 424 is software that enables applications, systems and services to communicate with each other and exchange information by translating messages between formal messaging protocols. For example, the message broker 424 is at least one of, but not limited to Kafka.
[0070] In an embodiment, the load balancer 428 is communicably coupled with the dynamic activator 414 and the user interface 306. The load balancer 428 dynamically distributes network traffic pertaining to the request among the other entities in the system 108.
[0071] In one embodiment, the plurality of attributes and elements of the first message format of the first node 110 are mapped with the plurality of attributes and elements of the second message format of the second node 112 by segregating the plurality of attributes and elements of the first message format and the second message format. Thereafter, the first message format is dynamically converted into the second message format in real time based on the mapping and the schema of the second node 112. In particular, the first message format is dynamically converted into the second message format based on the requirements of the second node 112. For example, the schema of the second node 112 is parsed using a parser. In particular, the process of transforming the data from one format to another is called parsing. The parser is a component of the translator that helps to organize linear text structure following the set of defined rules in order to convert the first message format into the second message format.
[0072] FIG. 5 is an exemplary diagram for converting the message format, according to one or more embodiments of the present disclosure.
[0073] In one embodiment, the exemplary diagram includes the first message format 502 and the second message format 504. The first message format 502 shows the schema which includes the attributes and the elements included in the first message format 502 of the first node 110. The second message format 504 shows the schema which includes the attributes and the elements included in the second message format 504 of the second node 112.
[0074] For example, the first name of the first message format i.e. XML file 502 as shown in FIG. 5, is mapped to a first name attribute present in the second message format i.e. JSON file 504, and the last name of the XML file 502 is mapped to the last name attribute of the JSON file 504 subsequent to adding the extra keyword/tag such as EleOA which facilitates in identifying the plurality of attributes and elements of the JSON file 504. For example, the EleOA keyword/tag which is added by the user to identify the attribute which needs to be put in the element while converting. In one embodiment, the extra keyword/tag such as at least one of, but not limited to, the EleOA are preconfigured by the user so that the extra keyword/tag solves lots of complexities pertaining to XML file 502 of the first node 110 and facilitates in at least one of, identifying the plurality of attributes and elements of the JSON file 504 which is compatible for the second node 112 and generating the required the JSON file 504 which can be easily understood by the second node 112. In particular, the plurality of extra keyword/tag are utilized by the user while conversion of the first message format to the second message format. Further based on the mapping and the schema of the JSON file 504, the XML file 502 file is converted to the JSON file 504.
[0075] FIG. 6 is a signal flow diagram illustrating the flow for converting the message format, according to one or more embodiments of the present disclosure.
[0076] At step 602, the first node 110 transmits the message in at least one of, a first message format to the processor 202 of the system 108. For example, the message pertains to the XML file.
[0077] At step 604, the processor 202 of the system 108 receives the message from the first node 110 and further dynamically converting in real time the first message format of the received message into the second message format of the received message based on the schema of the second node 112. For example, the XML file is converted to the JSON file.
[0078] At step 606, the processor 202 of the system 108 transmits the message converted in the second message format to the second node 112. For example, the converted JSON file is provided to the second node 112.
[0079] FIG. 7 is a flow diagram of a method 700 for converting the message format, according to one or more embodiments of the present invention. For the purpose of description, the method 700 is described with the embodiments as illustrated in FIG. 2 and should nowhere be construed as limiting the scope of the present disclosure.
[0080] At step 702, the method 700 includes the step of receiving the message in at least one of, the first message format from the first node 110. In one embodiment, the transceiver 208 of the processor 202 is configured to receive the message in at least one of, the first message format from the first node 110. For example, the processor 202 receives the message in the XML format from the first node 110.
[0081] At step 704, the method 700 includes the step of identifying, a plurality of attributes and elements of the first message format. In one embodiment, the identification unit 210 of the processor 202 is configured to identify the plurality of attributes and elements of the first message format. For example, the attributes and elements included in the XML format are identified by the identification unit 210.
[0082] At step 706, the method 700 includes the step of identifying, a plurality of attributes and elements of a second message format of a second node 112 subsequent to the identification of the plurality of attributes and elements of the first message format of the first node 110. In one embodiment, the identification unit 210 of the processor 202 is configured to identify the plurality of attributes and elements of the second message format of the second node 112. In particular, the identification unit 210 adds the extra keyword/tag in the attribute in order to identify the plurality of attributes and elements of the second message format of the second node 112. For example, the attributes and elements of the required format i.e. the JSON format are identified by the identification unit 210 by adding the extra keyword/tag such as at least one of, but not limited to, the EleOA. In particular, the extra keyword/tag are predefined by the user. The user is at least one of, but not limited to, the network operators.
[0083] At step 708, the method 700 includes the step of mapping, the plurality of attributes and elements of the first message format of the first node 110 with the plurality of attributes and elements of the second message format of the second node 112. In one embodiment, the mapping unit 212 of the processor 202 is configured to map the plurality of attributes and elements of the first message format of the first node 110 with the plurality of attributes and elements of the second message format of the second node 112 by segregating the plurality of attributes and elements of the first message format and the second message format. For example, the attribute such as name of the XML format is mapped with the name attribute of the JSON format. In alternate embodiment, the mapping is performed by the user.
[0084] At step 710, the method 700 includes the step of dynamically converting, the first message format into the second message format based on the mapping and a schema of the second node 112. In one embodiment, the conversion unit 214 of the processor 202 is configured to dynamically convert the first message format into the second message format in real time based on the mapping and the schema of the second node 112.
[0085] For example, the XML format is as follows:
note date="12/11/2002">Tove
Jani
Reminder
Don't forget me this weekend!
Herein, the XML format includes to, from, heading and body which are the plurality of attributes and the date is the element.
[0086] The the XML format converted in JSON is as follows:
{
"note":{
"to":"Tove",
"from": "Jani",
"heading":"Reminder",
"body":"Don't forget me this weekend"}
}
[0087] In one embodiment, one or more interfaces pertaining to the first node 110 and the second node 112 may have different requirements related to the formats of the messages. For example, the interface of the first node 110 supports the XML format and the interface of the second node 112 supports the JSON format. In order to transmit message from the first node 110 to the second node 112, the processor 202 converts the message received from the first node 110 which is in the XML format to the JSON format as required by the interface of the second node 112.
[0088] The present invention further discloses a non-transitory computer-readable medium having stored thereon computer-readable instructions. The computer-readable instructions are executed by the processor 202. The processor 202 is configured to receive a message in at least one of, a first message format from a first node 110. The processor 202 is further configured to identify a plurality of attributes and elements of the first message format. The processor 202 is further configured to identify, a plurality of attributes and elements of a second message format of a second node 112 subsequent to the identification of the plurality of attributes and elements of the first message format of the first node 110. The processor 202 is further configured to map, the plurality of attributes and elements of the first message format with the plurality of attributes and elements of the second message format of the second node 112. The processor 202 is further configured to dynamically convert the first message format into the second message format based on the mapping and a schema of the second node 112.
[0089] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-7) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0090] The present disclosure provides technical advancement which helps to reduce complexity and time to convert first message format (XML) to second message format (JSON) and vice versa. The invention enables applications to integrate with any system supporting request type such as SOAP/XML and JSON.
[0091] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.
REFERENCE NUMERALS
[0092] Environment - 100;
[0093] User Equipment (UE) - 102;
[0094] Server - 104;
[0095] Communication Network- 106;
[0096] System -108;
[0097] First Node – 110;
[0098] Second Node – 112;
[0099] Processor - 202;
[00100] Memory - 204;
[00101] Storage unit – 206;
[00102] Transceiver – 208;
[00103] Identification unit – 210
[00104] Mapping unit – 212;
[00105] Conversation unit - 214;
[00106] Primary processor- 302;
[00107] Memory- 304;
[00108] User Interface – 306;
[00109] Third Node – 308;
[00110] Dynamic Routing Manager – 404;
[00111] Distributed Database – 408;
[00112] Cache Data Store – 410;
[00113] Distributed Data Lake – 412;
[00114] Dynamic Activator – 414;
[00115] Workflow Manager – 418;
[00116] Message Broker – 424;
[00117] Operation and Management Module – 426;
[00118] Load Balancer – 428.
,CLAIMS:
CLAIMS
We Claim:
1. A method (700) for converting a message format, the method (700) comprises the steps of:
receiving, by one or more processors (202), a message in at least one of, a first message format from a first node (110);
identifying, by the one or more processors (202), a plurality of attributes and elements of the first message format;
identifying, by the one or more processors (202), a plurality of attributes and elements of a second message format of a second node (112) subsequent to the identification of the plurality of attributes and elements of the first message format of the first node (110);
mapping, by the one or more processors (202), the plurality of attributes and elements of the first message format of the first node (110) with the plurality of attributes and elements of the second message format of the second node (112); and
dynamically converting, by the one or more processors (202), the first message format into the second message format based on the mapping and a schema of the second node (112).
2. The method (700) as claimed in claim 1, wherein the first message format and the second message format include, at least one of, a JavaScript Object Notation (JSON), an Extensible Markup Language (XML) and a Simple Object Access Protocol (SOAP).
3. The method (700) as claimed in claim 1, wherein the one or more processors (202) adds an extra keyword/tag in the at least one attribute among the plurality of attributes in order to identify the plurality of attributes and elements of the second message format of the second node (112).
4. The method (700) as claimed in claim 1, wherein the step of mapping, by the one or more processors (202), the plurality of attributes and elements of the first message format of the first node (110) with a plurality of attributes and elements of a second message format of a second node (112), includes step of:
segregating, by the one or more processors (202), the plurality of attributes and elements of the first message format and the second message format.
5. The method (700) as claimed in claim 1, wherein the first message format is dynamically converting into the second message format in real time based on the mapping and the schema of the second node (112).
6. The method (700) as claimed in claim 1, wherein the plurality of attributes includes at least one of, a name, a type, a size a version.
7. The method (700) as claimed in claim 1, wherein the plurality of elements includes at least one of, an identifier a date, and a text.
8. A system (108) for converting a message format, the system (108) comprising:
a transceiver (208), configured to, receive, a message in at least one of, a first message format from a first node (110);
an identification unit (210), configured to:
identify, a plurality of attributes and elements of the first message format;
identify, a plurality of attributes and elements of a second message format of a second node (112) subsequent to the identification of the plurality of attributes and elements of the first message format of the first node (110);
a mapping unit (212), configured to, map, the plurality of attributes and elements of the first message format of the first node (110) with the plurality of attributes and elements of the second message format of the second node (112); and
a conversion unit (214), configured to, dynamically convert, the first message format into the second message format based on the mapping and a schema of the second node (112).
9. The system (108) as claimed in claim 8, wherein the first message format and the second message format include, at least one of, a JavaScript Object Notation (JSON), an Extensible Markup Language (XML) and a Simple Object Access Protocol (SOAP).
10. The system (108) as claimed in claim 8, wherein the identification unit (210) adds an extra keyword/tag in the at least one attribute among the plurality of attributes in order to identify the plurality of attributes and elements of the second message format of the second node (112).
11. The system (108) as claimed in claim 8, wherein the mapping unit (212) maps the plurality of attributes and elements of the first message format of the first node (110) with a plurality of attributes and elements of a second message format of a second node (112), by:
segregates, the plurality of attributes and elements of the first message format and the second message format.
12. The system (108) as claimed in claim 8, wherein the first message format is dynamically converting into the second message format in real time based on the mapping and the schema of the second node (112).
13. The system (108) as claimed in claim 8, wherein the plurality of attributes includes at least one of, a name, a type, a size and a version.
14. The system (108) as claimed in claim 8, wherein the plurality of elements includes at least one of, an identifier, a date and a text.
15. A User Equipment (UE) (102), comprising:
one or more primary processors (302) communicatively coupled to one or more processors (202), the one or more primary processors (302) coupled with a memory (304), wherein said memory (304) stores instructions which when executed by the one or more primary processors (302) causes the UE (102) to:
transmit, a request by the user to the one or more processors (202) in order to convert a message format; and
wherein, the one or more processors (202) is configured to perform the steps as claimed in claim 1.
| # | Name | Date |
|---|---|---|
| 1 | 202321047717-STATEMENT OF UNDERTAKING (FORM 3) [14-07-2023(online)].pdf | 2023-07-14 |
| 2 | 202321047717-PROVISIONAL SPECIFICATION [14-07-2023(online)].pdf | 2023-07-14 |
| 3 | 202321047717-FORM 1 [14-07-2023(online)].pdf | 2023-07-14 |
| 4 | 202321047717-FIGURE OF ABSTRACT [14-07-2023(online)].pdf | 2023-07-14 |
| 5 | 202321047717-DRAWINGS [14-07-2023(online)].pdf | 2023-07-14 |
| 6 | 202321047717-DECLARATION OF INVENTORSHIP (FORM 5) [14-07-2023(online)].pdf | 2023-07-14 |
| 7 | 202321047717-FORM-26 [03-10-2023(online)].pdf | 2023-10-03 |
| 8 | 202321047717-Proof of Right [08-01-2024(online)].pdf | 2024-01-08 |
| 9 | 202321047717-DRAWING [13-07-2024(online)].pdf | 2024-07-13 |
| 10 | 202321047717-COMPLETE SPECIFICATION [13-07-2024(online)].pdf | 2024-07-13 |
| 11 | Abstract-1.jpg | 2024-08-30 |
| 12 | 202321047717-Power of Attorney [05-11-2024(online)].pdf | 2024-11-05 |
| 13 | 202321047717-Form 1 (Submitted on date of filing) [05-11-2024(online)].pdf | 2024-11-05 |
| 14 | 202321047717-Covering Letter [05-11-2024(online)].pdf | 2024-11-05 |
| 15 | 202321047717-CERTIFIED COPIES TRANSMISSION TO IB [05-11-2024(online)].pdf | 2024-11-05 |
| 16 | 202321047717-FORM 3 [28-11-2024(online)].pdf | 2024-11-28 |
| 17 | 202321047717-FORM 18 [20-03-2025(online)].pdf | 2025-03-20 |