CA2411877A1 - Method and apparatus for automatically converting the format of an electronic message - Google Patents
Method and apparatus for automatically converting the format of an electronic message Download PDFInfo
- Publication number
- CA2411877A1 CA2411877A1 CA002411877A CA2411877A CA2411877A1 CA 2411877 A1 CA2411877 A1 CA 2411877A1 CA 002411877 A CA002411877 A CA 002411877A CA 2411877 A CA2411877 A CA 2411877A CA 2411877 A1 CA2411877 A1 CA 2411877A1
- Authority
- CA
- Canada
- Prior art keywords
- field
- target
- synonym
- message
- fields
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Abstract
A method and apparatus to automatically map between disparate message format s are provided. In one embodiment, the mapping begins by message selecting a target field in a target business object. A concept associated with the targ et field is identified in a synonym dictionary. A set of synonyms associated wi th the concept is received. In the source document, fields are identified which contain synonyms that match the synonyms in the target field. For those sour ce fields that match the target field, a match exists and the fields are said t o be mapped.
Description
METHOD AND APPARATUS FOR AUTOMATICALLY CONVERTING THE
FORMAT OF AN ELECTRONIC MESSAGE
FIELD OF INVENTION
This invention is related generally to processing data with computers, and in particular to converting data from one format to another.
BACKGROUND OF THE INVENTION
Two organizations, such as a company and a supplier, that wish to conduct business with one another electronically can send electronic messages to each other. However, each company may use different message formats. In this case, the messages sent by the company to its supplier will not be understood.
Therefore, if the company message is in a format that is not used by the supplier, a mechanism is needed to translate the messages from one format to another.
The set of rules for doing such a translation is called a map.
Electronic messages are composed of discrete data elements called fields.
A map is used to describe how the fields of one message (the source) are transformed into the fields of another (the target). Traditionally, maps had to be developed manually by experts, such as business analysts, by documenting the field names used in the electronic message, such as an Excel spreadsheet, for example. Traditional software tools can only do mappings in cases where the field names are identical.
The two message types may be so different that relationships between their fields are not deduced by a mapping tool using previous techniques.
Therefore, the maps may be incomplete or even incorrect. For example, when traditional software tools try to match identical field names in the source and the target, the software tools produced incorrect associations, and miss many associations. A human operator must intervene in the mapping process to correct flaws in the traditionally generated map. Thus, this prior approach is inadequate because textual matching of field names yields some false matches, and causes many missed associations that have to be mapped by a human.
Alternatively, a human expert such as a business analyst must refer to the documentation on each business document and manually map fields in the source and target message. This human expert-based process is extremely slow even for a single map.
Therefore, there are several disadvantages with the previous methods.
When a company has one document that needs to map to multiple trading partners, the company needs to perform the manual mapping for each format used by each trading partner. Also, companies usually need to manually map multiple documents to their trading partners formats using traditional methods.
Furthermore, trading partners need to map back to the first company using traditional methods. The time and expense of using human experts to perform or intervene in the mapping may be prohibitive, and grows exponentially as the number of trading partners increases, and is also very slow.
SUMMARY OF THE INVENTION
A method and apparatus to automatically map between disparate message formats are provided. In one embodiment, the mapping begins by message selecting a target field in a target business object. A concept associated with the target field is identified in a synonym dictionary. A set of synonyms associated with the concept is received. In the source document, fields are identified which contain synonyms that match the synonyms in the target field.
For those source fields that match the target field, a match exists and the fields are said to be mapped.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which:
Figure 1 illustrates host and remote computers connected over a network;
Figure 2 is a block diagram of a host computer system which may be used to implement an embodiment of the present invention;
FORMAT OF AN ELECTRONIC MESSAGE
FIELD OF INVENTION
This invention is related generally to processing data with computers, and in particular to converting data from one format to another.
BACKGROUND OF THE INVENTION
Two organizations, such as a company and a supplier, that wish to conduct business with one another electronically can send electronic messages to each other. However, each company may use different message formats. In this case, the messages sent by the company to its supplier will not be understood.
Therefore, if the company message is in a format that is not used by the supplier, a mechanism is needed to translate the messages from one format to another.
The set of rules for doing such a translation is called a map.
Electronic messages are composed of discrete data elements called fields.
A map is used to describe how the fields of one message (the source) are transformed into the fields of another (the target). Traditionally, maps had to be developed manually by experts, such as business analysts, by documenting the field names used in the electronic message, such as an Excel spreadsheet, for example. Traditional software tools can only do mappings in cases where the field names are identical.
The two message types may be so different that relationships between their fields are not deduced by a mapping tool using previous techniques.
Therefore, the maps may be incomplete or even incorrect. For example, when traditional software tools try to match identical field names in the source and the target, the software tools produced incorrect associations, and miss many associations. A human operator must intervene in the mapping process to correct flaws in the traditionally generated map. Thus, this prior approach is inadequate because textual matching of field names yields some false matches, and causes many missed associations that have to be mapped by a human.
Alternatively, a human expert such as a business analyst must refer to the documentation on each business document and manually map fields in the source and target message. This human expert-based process is extremely slow even for a single map.
Therefore, there are several disadvantages with the previous methods.
When a company has one document that needs to map to multiple trading partners, the company needs to perform the manual mapping for each format used by each trading partner. Also, companies usually need to manually map multiple documents to their trading partners formats using traditional methods.
Furthermore, trading partners need to map back to the first company using traditional methods. The time and expense of using human experts to perform or intervene in the mapping may be prohibitive, and grows exponentially as the number of trading partners increases, and is also very slow.
SUMMARY OF THE INVENTION
A method and apparatus to automatically map between disparate message formats are provided. In one embodiment, the mapping begins by message selecting a target field in a target business object. A concept associated with the target field is identified in a synonym dictionary. A set of synonyms associated with the concept is received. In the source document, fields are identified which contain synonyms that match the synonyms in the target field.
For those source fields that match the target field, a match exists and the fields are said to be mapped.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which:
Figure 1 illustrates host and remote computers connected over a network;
Figure 2 is a block diagram of a host computer system which may be used to implement an embodiment of the present invention;
Figure 3 is an example of a translation for two different message formats.
Figure 4 is an example of a synonym dictionary.
Figure 5 is a flow diagram of a method for translating from a first format to a second format.
DETAILED DESCRIPTION
These and other embodiments of the present invention may be realized in accordance with the following teachings and it should be evident that various modifications and changes may be made in the following teachings without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense and the invention measured only in terms of the claims.
Hardware Overview According to the present invention, a host computer system transmits and receives data over a computer network or standard telephone line. According to one embodiment, the steps of accessing, downloading, and manipulating the data, as well as other aspects of the present invention are implemented by a central processing unit (CPU) in the host computer executing sequences of instructions stored in a memory. The memory may be a random access memory (RAM), read-only memory (ROM), a persistent store, such as a mass storage device, or any combination of these devices. Execution of the sequences of instructions causes the CPU to perform steps according to the present invention.
The instructions may be loaded into the memory of the host computer from a storage device, or from one or more other computer systems over a network connection. For example, a server computer may transmit a sequence of instructions to the host computer in response to a message transmitted to the server over a network by the host. As the host receives the instructions over the network connection, it stores the instructions in memory. The host may store the instructions for later execution or execute the instructions as they arrive over the network connection. In some cases, the downloaded instructions may be directly supported by the CPU. In other cases, the instructions may not be directly executable by the CPU, and may instead be executed by an interpreter that interprets the instructions. In other embodiments, hardwired circuitry may be used in place of, or in combination with, software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the host computer.
Figure 1 illustrates a system 100 in which a host computer 102 is connected to a remote computer 104 through a network 110. The network interface between host computer 102 and remote 104 may also include one or more routers, such as routers 106 and 108, which serve to buffer and route the data transmitted between the host and client computers. Network 110 may be the Internet, a Wide Area Network (WAN), a Local Area Network (LAN), or any combination thereof. The remote computer 104 may be a World-Wide Web (WWW) server that stores data in the form of 'web pages' and transmits these pages as Hypertext Markup Language (HTML) files over the Internet network 110 to host computer 102. To access these files, host computer 102 runs a 'web browser', which is simply an application program for accessing and providing links to web pages available on various Internet sites. Host computer 102 is also configured to communicate to telephone sysfem 112 through a telephone interface, typically a modem.
Figure 2 is a block diagram of a representative networked computer, such as host computer 102 illustrated in Figure 1. The computer system 200 includes a processor 202 coupled through a bus 201 to a random access memory (RAM) 204, a read only memory (ROM) 206, and a mass storage device 207. Mass storage device 207 could be a disk or tape drive for storing data and instructions.
A display device 220 for providing visual output is also coupled to processor through bus 201. Keyboard 221 is coupled to bus 201 for communicating information and command selections to processor 202. Another type of user input device is cursor control unit 222, which may be a device such as a mouse or trackball, for communicating direction commands that control cursor movement on display 220. Also coupled to processor 202 through bus 201 is an audio output port 224 for connection to speakers that output audio signals produced by computer 200.
Further coupled to processor 202 through bus 201 is an input/output (I/O) interface 225, and a network interface device 223 for providing a physical and logical connection between computer system 200 and a network. Network interface device 223 is used by various communication applications running on computer 200 for communicating over a network medium and may represent devices such as an ethernet card, ISDN card, or similar devices.
Modem 226 interfaces computer system 200 to a telephone line and translates digital data produced by the computer into analog signals that can be transmitted over standard telephone lines, such as by telephone system 112 in Figure 1. In an embodiment of the present invention, modem 226 provides a hardwired interface to a telephone wall jack, however modem 226 could also represent a wireless modem for communication over cellular telephone networks. It should be noted that the architecture of Figure 2 is provided only for purposes of illustration, and that a host computer used in conjunction with the present invention is not limited to the specific architecture shown.
The network and computer systems shown in Figures 1 and 2 are used by the present invention to automatically convert the format of a first message into the format of a second message. Messages are composed of discrete data elements called fields. A map is a recipe that describes how the fields of one message (the source) are transformed into the fields of another (the target).
Different message formats have many abstract concepts in common, even though they may represent these abstractions in different ways. For example, dates and postal addresses are commonly represented in a variety of message formats, where the representation of each format may be different. One advantage of the present invention is to extract these common notions from various message formats. Another advantage of the present invention is providing a database of these common traits, which are called concepts.
Each field in each format is described in a database. The fields are grouped into sets in the database, where each set corresponds to a concept.
The database itself is called the synonym dictionary. The set contains every field from all business objects where the corresponding concept is represented. For example, the concept BIRTH DATE will have a set that contains every field that represents a birth date, from all business objects or message formats. The set of field names associated with the corresponding concept is called the synonym set.
The synonym dictionary 335 is used by a mapping engine 350 to create a translation map, as shown in Figure 3. The translation map is used by a translation engine 330 to convert, or translate a message from a source format to a target format.
Figure 3 shows an example of the fields of two different message formats, a source message format 310 and a target message format 320. In this embodiment, the message is a purchase order. However, the message may convey any information that one person or business wants to send to another person or business. The source fields 315 are name, address, city, description, price, quantity, and total. The target fields 325 are name, location, information, cost, number, and amount. Although the formats of the source and target fields are structurally different, they have similarities and common abstractions such as name, amount, and place to ship the goods. Thus, the names of the fields and 325 may be different, such as "price" and "cost," for example, but the data 317 and 327 contained in these fields is the same.
A synonym dictionary 335 assigns an abstract meaning to the different names of similar fields 315, 325, and to capture this abstract meaning in a set of fields called a concept. Structurally, the synonym dictionary 335 has a list of concepts, as shown in Figure 4. A set of synonym fields 420 is associated with each concept. Each synonym field corresponds to a data field for a given format.
All fields of business objects (e.g., formats or forms), can be associated with corresponding concepts. For example, the synonym field 425 contains the data fields EDI, NAME, and XML, REQUISITION. Thus, the concept "NAME" 415 can be mapped onto EDI field "NAME" or XML field "REQUISITION." The business objects can be any kind of business document, such as an order form, a time sheet, or any other type of business form.
After the synonym dictionary is created, it can be used to map each field in one message to a corresponding field in another message. For example, given one target field in the target message, a synonym dictionary is searched for the synonym set in which that field appears. The synonym dictionary guarantees that there is exactly one set that contains the target field. Next, the method iterates over every member of the synonym set, examining every field that appears in the set. If the field is a member of the source message type, then a match between the two fields is identified, and the two matching fields are mapped.
An example of a method for performing an auto-mapping process is shown in Figure 5. The method shown in Figure 5 uses the synonym dictionary to convert, or translate, a message from a source format to a target format. A
target field in the target message is received, step 510. The concept for the received target field is identified in the synonym dictionary, step 520. The set of synonym fields associated with the identified concept are received, step 530.
The method then identifies a field in the synonym set that matches a source field in the source message, step 540. The matched source field is then mapped to the received target field, step 550. The method repeats step for each field in the synonym set. Then, the method is repeated for each field in the target message, step 560.
The method is applied once for each field in the target. The method is applied to each field in the target message type, and works backwards, deriving one or more fields in the source that map to the target.
The method shown in Figure 5 provides several advantages over the prior art. For example, suppose a user desires to produce two maps, one between message format-types A and B, and another between message format-types A and C. The prior approach requires the user to either create the map between A and C by hand, or to delete the logical associations that have been established for A and B, and create new ones between A and C. Both of these steps require actions to be taken by a user.
In contrast, the method described herein permits logical associations between all of A, B, and C, and allows a user to automatically generate maps between any pair of message format-types without the human intervention steps. This method is far superior to attempting textual matches, because it will not produce wrong associations, and has a much higher success rate in locating matches.
An additional advantage over the prior art is that the prior art uses pattern matching without logical associations. The method disclosed herein uses a synonym dictionary in order to allow the method to work. This synonym dictionary provides expertise in this mapping domain.
The method of the present invention gives maps that are correct, such that the maps require no correction or adjustment by a user. In addition, once a customer describes a business object to the synonym dictionary, he can use that once-for-all description while automatically mapping documents to the business documents of all trading partners, instead of needing to re-do the mapping for each. Each trading partner may also go through the once-for-all description of the business object. The automated method is faster and more accurate than the human-based alternative. Additionally, storing the synonym dictionary in a database rather than on a local disk means that the automated method uses less memory at runtime, because the dictionary does not have to be stored in RAM.
A method and apparatus to automatically map fields between disparate message formats are provided. In the description, numerous details have been set forth. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
Some portions of the detailed descriptions are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing"
or "computing" or "calculating" or "determining" or "displaying" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMS), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set for in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Figure 4 is an example of a synonym dictionary.
Figure 5 is a flow diagram of a method for translating from a first format to a second format.
DETAILED DESCRIPTION
These and other embodiments of the present invention may be realized in accordance with the following teachings and it should be evident that various modifications and changes may be made in the following teachings without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense and the invention measured only in terms of the claims.
Hardware Overview According to the present invention, a host computer system transmits and receives data over a computer network or standard telephone line. According to one embodiment, the steps of accessing, downloading, and manipulating the data, as well as other aspects of the present invention are implemented by a central processing unit (CPU) in the host computer executing sequences of instructions stored in a memory. The memory may be a random access memory (RAM), read-only memory (ROM), a persistent store, such as a mass storage device, or any combination of these devices. Execution of the sequences of instructions causes the CPU to perform steps according to the present invention.
The instructions may be loaded into the memory of the host computer from a storage device, or from one or more other computer systems over a network connection. For example, a server computer may transmit a sequence of instructions to the host computer in response to a message transmitted to the server over a network by the host. As the host receives the instructions over the network connection, it stores the instructions in memory. The host may store the instructions for later execution or execute the instructions as they arrive over the network connection. In some cases, the downloaded instructions may be directly supported by the CPU. In other cases, the instructions may not be directly executable by the CPU, and may instead be executed by an interpreter that interprets the instructions. In other embodiments, hardwired circuitry may be used in place of, or in combination with, software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the host computer.
Figure 1 illustrates a system 100 in which a host computer 102 is connected to a remote computer 104 through a network 110. The network interface between host computer 102 and remote 104 may also include one or more routers, such as routers 106 and 108, which serve to buffer and route the data transmitted between the host and client computers. Network 110 may be the Internet, a Wide Area Network (WAN), a Local Area Network (LAN), or any combination thereof. The remote computer 104 may be a World-Wide Web (WWW) server that stores data in the form of 'web pages' and transmits these pages as Hypertext Markup Language (HTML) files over the Internet network 110 to host computer 102. To access these files, host computer 102 runs a 'web browser', which is simply an application program for accessing and providing links to web pages available on various Internet sites. Host computer 102 is also configured to communicate to telephone sysfem 112 through a telephone interface, typically a modem.
Figure 2 is a block diagram of a representative networked computer, such as host computer 102 illustrated in Figure 1. The computer system 200 includes a processor 202 coupled through a bus 201 to a random access memory (RAM) 204, a read only memory (ROM) 206, and a mass storage device 207. Mass storage device 207 could be a disk or tape drive for storing data and instructions.
A display device 220 for providing visual output is also coupled to processor through bus 201. Keyboard 221 is coupled to bus 201 for communicating information and command selections to processor 202. Another type of user input device is cursor control unit 222, which may be a device such as a mouse or trackball, for communicating direction commands that control cursor movement on display 220. Also coupled to processor 202 through bus 201 is an audio output port 224 for connection to speakers that output audio signals produced by computer 200.
Further coupled to processor 202 through bus 201 is an input/output (I/O) interface 225, and a network interface device 223 for providing a physical and logical connection between computer system 200 and a network. Network interface device 223 is used by various communication applications running on computer 200 for communicating over a network medium and may represent devices such as an ethernet card, ISDN card, or similar devices.
Modem 226 interfaces computer system 200 to a telephone line and translates digital data produced by the computer into analog signals that can be transmitted over standard telephone lines, such as by telephone system 112 in Figure 1. In an embodiment of the present invention, modem 226 provides a hardwired interface to a telephone wall jack, however modem 226 could also represent a wireless modem for communication over cellular telephone networks. It should be noted that the architecture of Figure 2 is provided only for purposes of illustration, and that a host computer used in conjunction with the present invention is not limited to the specific architecture shown.
The network and computer systems shown in Figures 1 and 2 are used by the present invention to automatically convert the format of a first message into the format of a second message. Messages are composed of discrete data elements called fields. A map is a recipe that describes how the fields of one message (the source) are transformed into the fields of another (the target).
Different message formats have many abstract concepts in common, even though they may represent these abstractions in different ways. For example, dates and postal addresses are commonly represented in a variety of message formats, where the representation of each format may be different. One advantage of the present invention is to extract these common notions from various message formats. Another advantage of the present invention is providing a database of these common traits, which are called concepts.
Each field in each format is described in a database. The fields are grouped into sets in the database, where each set corresponds to a concept.
The database itself is called the synonym dictionary. The set contains every field from all business objects where the corresponding concept is represented. For example, the concept BIRTH DATE will have a set that contains every field that represents a birth date, from all business objects or message formats. The set of field names associated with the corresponding concept is called the synonym set.
The synonym dictionary 335 is used by a mapping engine 350 to create a translation map, as shown in Figure 3. The translation map is used by a translation engine 330 to convert, or translate a message from a source format to a target format.
Figure 3 shows an example of the fields of two different message formats, a source message format 310 and a target message format 320. In this embodiment, the message is a purchase order. However, the message may convey any information that one person or business wants to send to another person or business. The source fields 315 are name, address, city, description, price, quantity, and total. The target fields 325 are name, location, information, cost, number, and amount. Although the formats of the source and target fields are structurally different, they have similarities and common abstractions such as name, amount, and place to ship the goods. Thus, the names of the fields and 325 may be different, such as "price" and "cost," for example, but the data 317 and 327 contained in these fields is the same.
A synonym dictionary 335 assigns an abstract meaning to the different names of similar fields 315, 325, and to capture this abstract meaning in a set of fields called a concept. Structurally, the synonym dictionary 335 has a list of concepts, as shown in Figure 4. A set of synonym fields 420 is associated with each concept. Each synonym field corresponds to a data field for a given format.
All fields of business objects (e.g., formats or forms), can be associated with corresponding concepts. For example, the synonym field 425 contains the data fields EDI, NAME, and XML, REQUISITION. Thus, the concept "NAME" 415 can be mapped onto EDI field "NAME" or XML field "REQUISITION." The business objects can be any kind of business document, such as an order form, a time sheet, or any other type of business form.
After the synonym dictionary is created, it can be used to map each field in one message to a corresponding field in another message. For example, given one target field in the target message, a synonym dictionary is searched for the synonym set in which that field appears. The synonym dictionary guarantees that there is exactly one set that contains the target field. Next, the method iterates over every member of the synonym set, examining every field that appears in the set. If the field is a member of the source message type, then a match between the two fields is identified, and the two matching fields are mapped.
An example of a method for performing an auto-mapping process is shown in Figure 5. The method shown in Figure 5 uses the synonym dictionary to convert, or translate, a message from a source format to a target format. A
target field in the target message is received, step 510. The concept for the received target field is identified in the synonym dictionary, step 520. The set of synonym fields associated with the identified concept are received, step 530.
The method then identifies a field in the synonym set that matches a source field in the source message, step 540. The matched source field is then mapped to the received target field, step 550. The method repeats step for each field in the synonym set. Then, the method is repeated for each field in the target message, step 560.
The method is applied once for each field in the target. The method is applied to each field in the target message type, and works backwards, deriving one or more fields in the source that map to the target.
The method shown in Figure 5 provides several advantages over the prior art. For example, suppose a user desires to produce two maps, one between message format-types A and B, and another between message format-types A and C. The prior approach requires the user to either create the map between A and C by hand, or to delete the logical associations that have been established for A and B, and create new ones between A and C. Both of these steps require actions to be taken by a user.
In contrast, the method described herein permits logical associations between all of A, B, and C, and allows a user to automatically generate maps between any pair of message format-types without the human intervention steps. This method is far superior to attempting textual matches, because it will not produce wrong associations, and has a much higher success rate in locating matches.
An additional advantage over the prior art is that the prior art uses pattern matching without logical associations. The method disclosed herein uses a synonym dictionary in order to allow the method to work. This synonym dictionary provides expertise in this mapping domain.
The method of the present invention gives maps that are correct, such that the maps require no correction or adjustment by a user. In addition, once a customer describes a business object to the synonym dictionary, he can use that once-for-all description while automatically mapping documents to the business documents of all trading partners, instead of needing to re-do the mapping for each. Each trading partner may also go through the once-for-all description of the business object. The automated method is faster and more accurate than the human-based alternative. Additionally, storing the synonym dictionary in a database rather than on a local disk means that the automated method uses less memory at runtime, because the dictionary does not have to be stored in RAM.
A method and apparatus to automatically map fields between disparate message formats are provided. In the description, numerous details have been set forth. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
Some portions of the detailed descriptions are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing"
or "computing" or "calculating" or "determining" or "displaying" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMS), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set for in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims (15)
1. A method comprising:
(a) receiving a target field from a target message; and (b) identifying a concept associated with the target field in a synonym dictionary.
(a) receiving a target field from a target message; and (b) identifying a concept associated with the target field in a synonym dictionary.
2. The method of claim 1, further comprising:
(c) receiving a set of synonym fields associated with the concept.
(c) receiving a set of synonym fields associated with the concept.
3. The method of claim 2, further comprising:
(d) selecting each synonym field that matches a field in a source messenger.
(d) selecting each synonym field that matches a field in a source messenger.
4. The method of claim 3, further comprising:
(e) mapping the target field to each selected synonym field.
(e) mapping the target field to each selected synonym field.
5. The method of claim 4, further comprising:
repeating (a) through (e) for each target field in the target message.
repeating (a) through (e) for each target field in the target message.
6. An apparatus comprising:
(a) means for receiving a target field from a target message; and (b) means for identifying a concept associated with the target field in a synonym dictionary.
(a) means for receiving a target field from a target message; and (b) means for identifying a concept associated with the target field in a synonym dictionary.
7. The apparatus of claim 6, further comprising:
(c) means for receiving a set of synonym fields associated with the concept.
(c) means for receiving a set of synonym fields associated with the concept.
8. The apparatus of claim 7, further comprising:
(d) means for selecting each synonym field that matches a field in a source messenger.
(d) means for selecting each synonym field that matches a field in a source messenger.
9. The apparatus of claim 8, further comprising:
(e) means for mapping the target field to each selected synonym field.
(e) means for mapping the target field to each selected synonym field.
10. The apparatus of claim 9, further comprising:
means for repeating (a) through (e) for each target field in the target message.
means for repeating (a) through (e) for each target field in the target message.
11. A computer readable medium having instructions which, when executed by a processing system, cause the system to:
(a) receive a target field from a target message; and (b) identify a concept associated with the target field in a synonym dictionary.
(a) receive a target field from a target message; and (b) identify a concept associated with the target field in a synonym dictionary.
12. The medium of claim 11, wherein the executed instructions further cause the system to:
(c) receive a set of synonym fields associated with the concept.
(c) receive a set of synonym fields associated with the concept.
13. The medium of claim 12, wherein the executed instructions further cause the system to:
(d) select each synonym field that matches a field in a source messenger.
(d) select each synonym field that matches a field in a source messenger.
14. The medium of claim 13, wherein the executed instructions further cause the system to:
(e) map the target field to each selected synonym field.
(e) map the target field to each selected synonym field.
15. The medium of claim 14, wherein the executed instructions further cause the system to:
repeat (a) through (e) for each target field in the target message.
repeat (a) through (e) for each target field in the target message.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/588,270 US6757739B1 (en) | 2000-06-05 | 2000-06-05 | Method and apparatus for automatically converting the format of an electronic message |
US09/588,270 | 2000-06-05 | ||
PCT/US2001/000165 WO2001095135A2 (en) | 2000-06-05 | 2001-01-02 | Method and apparatus for automatically converting the format of an electronic message |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2411877A1 true CA2411877A1 (en) | 2001-12-13 |
Family
ID=24353179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002411877A Abandoned CA2411877A1 (en) | 2000-06-05 | 2001-01-02 | Method and apparatus for automatically converting the format of an electronic message |
Country Status (6)
Country | Link |
---|---|
US (1) | US6757739B1 (en) |
EP (1) | EP1290579A2 (en) |
JP (1) | JP2004501448A (en) |
AU (1) | AU2001227576A1 (en) |
CA (1) | CA2411877A1 (en) |
WO (1) | WO2001095135A2 (en) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6029167A (en) * | 1997-07-25 | 2000-02-22 | Claritech Corporation | Method and apparatus for retrieving text using document signatures |
US7673034B1 (en) * | 2000-05-05 | 2010-03-02 | 3Com Corporation | Self service data interface |
US20020049790A1 (en) * | 2000-08-08 | 2002-04-25 | Ricker Jeffrey M | Data interchange format transformation method and data dictionary used therefor |
JP2002222145A (en) * | 2001-01-26 | 2002-08-09 | Fujitsu Ltd | Method of transmitting electronic mail, computer program, and recording medium |
US9912722B2 (en) | 2001-04-02 | 2018-03-06 | Irving S. Rappaport | Method and system for facilitating the integration of a plurality of dissimilar systems |
US7143190B2 (en) * | 2001-04-02 | 2006-11-28 | Irving S. Rappaport | Method and system for remotely facilitating the integration of a plurality of dissimilar systems |
US8606965B1 (en) * | 2001-04-11 | 2013-12-10 | Jda Software Group, Inc. | System and method for facilitating communication of data among entities in an electronic trading network |
US20030101098A1 (en) * | 2001-11-27 | 2003-05-29 | Erich Schaarschmidt | Process and device for managing automatic data flow between data processing units for operational order processing |
US7743065B2 (en) * | 2002-06-27 | 2010-06-22 | Siebel Systems, Inc. | System and method for cross-referencing information in an enterprise system |
US20050096910A1 (en) * | 2002-12-06 | 2005-05-05 | Watson Kirk L. | Formed document templates and related methods and systems for automated sequential insertion of speech recognition results |
US7774694B2 (en) * | 2002-12-06 | 2010-08-10 | 3M Innovation Properties Company | Method and system for server-based sequential insertion processing of speech recognition results |
GB0229724D0 (en) * | 2002-12-19 | 2003-01-29 | Ibm | Apparatus,method and computer program for defining a data mapping between two or more data structures |
US7711676B2 (en) * | 2004-11-12 | 2010-05-04 | Sap Aktiengesellschaft | Tracking usage of data elements in electronic business communications |
US7818342B2 (en) * | 2004-11-12 | 2010-10-19 | Sap Ag | Tracking usage of data elements in electronic business communications |
US7865519B2 (en) * | 2004-11-17 | 2011-01-04 | Sap Aktiengesellschaft | Using a controlled vocabulary library to generate business data component names |
US7734670B2 (en) * | 2004-12-15 | 2010-06-08 | Microsoft Corporation | Actionable email documents |
US7840610B2 (en) * | 2005-05-11 | 2010-11-23 | International Business Machines Corporation | Apparatus, system, and method for map definition generation |
US7716255B2 (en) * | 2005-11-30 | 2010-05-11 | Sap Ag | Modeling a data element |
US8554538B2 (en) * | 2006-04-07 | 2013-10-08 | Sap Ag | Generating a unique name for a data element |
US7856597B2 (en) * | 2006-06-01 | 2010-12-21 | Sap Ag | Adding tag name to collection |
US20080235041A1 (en) * | 2007-03-21 | 2008-09-25 | Cashdollar Jeffrey J | Enterprise data management |
US8099370B2 (en) | 2007-04-03 | 2012-01-17 | Microsoft Corporation | System for financial documentation conversion |
US8078568B2 (en) * | 2007-06-25 | 2011-12-13 | Sap Ag | Properties of data elements |
US8086646B2 (en) * | 2007-07-20 | 2011-12-27 | Sap Ag | Scheme-based identifier |
KR101467835B1 (en) * | 2007-09-21 | 2014-12-02 | 삼성전자주식회사 | Method and apparatus for display of mobile station browser |
US8041746B2 (en) * | 2007-10-30 | 2011-10-18 | Sap Ag | Mapping schemas using a naming rule |
US8280755B2 (en) * | 2007-10-30 | 2012-10-02 | Sap Ag | Context-specific modeling of collaborative business process |
US9286583B2 (en) * | 2011-12-05 | 2016-03-15 | International Business Machines Corporation | Integrating mind mapping technology with case modeling |
US9672260B2 (en) | 2014-10-07 | 2017-06-06 | Google Inc. | Systems and methods for updating data across multiple network architectures |
CN113779133A (en) * | 2021-03-26 | 2021-12-10 | 北京京东振世信息技术有限公司 | Data processing method, data processing apparatus, electronic device, storage medium, and program product |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0454303A3 (en) | 1990-04-02 | 1991-11-13 | Texas Instruments Incorporated | Electronic data format conversion system and method |
US5909570A (en) | 1993-12-28 | 1999-06-01 | Webber; David R. R. | Template mapping system for data translation |
US5715397A (en) | 1994-12-02 | 1998-02-03 | Autoentry Online, Inc. | System and method for data transfer and processing having intelligent selection of processing routing and advanced routing features |
US5708828A (en) | 1995-05-25 | 1998-01-13 | Reliant Data Systems | System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields |
US6032147A (en) | 1996-04-24 | 2000-02-29 | Linguateq, Inc. | Method and apparatus for rationalizing different data formats in a data management system |
US5822526A (en) * | 1996-06-03 | 1998-10-13 | Microsoft Corporation | System and method for maintaining and administering email address names in a network |
US5794234A (en) | 1996-08-14 | 1998-08-11 | The Ec Company | Method and system for providing electronic commerce between incompatible data processing systems |
US5905862A (en) * | 1996-09-04 | 1999-05-18 | Intel Corporation | Automatic web site registration with multiple search engines |
WO1998054655A1 (en) * | 1997-05-28 | 1998-12-03 | Shinar Linguistic Technologies Inc. | Translation system |
AU8054598A (en) | 1997-06-05 | 1998-12-21 | Crossmar, Inc. | Translation of messages to and from secure swift format |
US6463404B1 (en) * | 1997-08-08 | 2002-10-08 | British Telecommunications Public Limited Company | Translation |
US6014711A (en) * | 1997-08-29 | 2000-01-11 | Nortel Networks Corporation | Apparatus and method for providing electronic mail relay translation services |
US6163809A (en) * | 1997-12-08 | 2000-12-19 | Microsoft Corporation | System and method for preserving delivery status notification when moving from a native network to a foreign network |
US6356633B1 (en) * | 1999-08-19 | 2002-03-12 | Mci Worldcom, Inc. | Electronic mail message processing and routing for call center response to same |
US6560608B1 (en) * | 2000-06-09 | 2003-05-06 | Contivo, Inc. | Method and apparatus for automatically selecting a rule |
-
2000
- 2000-06-05 US US09/588,270 patent/US6757739B1/en not_active Expired - Lifetime
-
2001
- 2001-01-02 CA CA002411877A patent/CA2411877A1/en not_active Abandoned
- 2001-01-02 EP EP01901700A patent/EP1290579A2/en not_active Withdrawn
- 2001-01-02 JP JP2002502619A patent/JP2004501448A/en active Pending
- 2001-01-02 WO PCT/US2001/000165 patent/WO2001095135A2/en not_active Application Discontinuation
- 2001-01-02 AU AU2001227576A patent/AU2001227576A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1290579A2 (en) | 2003-03-12 |
AU2001227576A1 (en) | 2001-12-17 |
WO2001095135A2 (en) | 2001-12-13 |
WO2001095135A3 (en) | 2002-09-06 |
US6757739B1 (en) | 2004-06-29 |
JP2004501448A (en) | 2004-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6757739B1 (en) | Method and apparatus for automatically converting the format of an electronic message | |
US6560608B1 (en) | Method and apparatus for automatically selecting a rule | |
US5878419A (en) | Method for creating a relational description of a formatted transaction | |
US10606960B2 (en) | System and method to facilitate translation of communications between entities over a network | |
US6889260B1 (en) | Method and system for transferring information | |
US7496497B2 (en) | Method and system for selecting web site home page by extracting site language cookie stored in an access device to identify directional information item | |
US6148331A (en) | Destination website access and information gathering system | |
CA3033859C (en) | Method and system for automatically extracting relevant tax terms from forms and instructions | |
US6418400B1 (en) | Representation and processing of EDI mapping templates | |
US7584430B2 (en) | Method and apparatus for binding user interface objects to application objects | |
US7636715B2 (en) | Method for fast large scale data mining using logistic regression | |
US20020174196A1 (en) | Methods and systems for creating a multilingual web application | |
US20050108625A1 (en) | Method and system for selecting rules to validate information submitted on an electronic form | |
US20030084048A1 (en) | Systems and methods for facilitating access to documents via associated tags | |
US20090319930A1 (en) | Method and Computer System for Unstructured Data Integration Through Graphical Interface | |
US6047296A (en) | Comprehensive method of resolving nested forward references in electronic data streams within defined resolution scopes | |
US20060230057A1 (en) | Method and apparatus for mapping web services definition language files to application specific business objects in an integrated application environment | |
CN113342976A (en) | Method, device, storage medium and equipment for automatically acquiring and processing data | |
US6222847B1 (en) | Apparatus and method for retrieving data from a network site | |
US20050203945A1 (en) | Method and apparatus for implementing a conditional payload server | |
US6993472B2 (en) | Method, apparatus, and program for chaining machine translation engines to control error propagation | |
US7890397B1 (en) | System, method, and computer-readable medium for settling accounts | |
US20030076526A1 (en) | Method and apparatus for printing documents using a document repository in a distributed data processing system | |
AU738349B2 (en) | Learning control information generation method, apparatus and computer readable medium storing learning control information generation program | |
US20020133517A1 (en) | Method and apparatus for processing of internet forms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Discontinued |