WO2014019649A1 - Dynamic and hierarchical generic data mapping for traveler profile publication - Google Patents
Dynamic and hierarchical generic data mapping for traveler profile publication Download PDFInfo
- Publication number
- WO2014019649A1 WO2014019649A1 PCT/EP2013/002160 EP2013002160W WO2014019649A1 WO 2014019649 A1 WO2014019649 A1 WO 2014019649A1 EP 2013002160 W EP2013002160 W EP 2013002160W WO 2014019649 A1 WO2014019649 A1 WO 2014019649A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- mapping
- target
- profile
- source
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/14—Travel agencies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
Definitions
- the invention is generally related to computers and computer software, and in particular, to managing profile data for travelers.
- CRS's global distribution systems
- GDS's global distribution systems
- POS point-of-sales
- SBT's self-booking tools
- the technology infrastructure which has supported these profile management services, has been based on multiple proprietary segmented solutions, so that the sharing of profile data across systems has traditionally been problematic.
- a publication data mapping is typically required to be generated and used so that a published profile will be presented to the target system in a format that is grammatically and semantically compatible with the target system.
- the publication data mapping is typically used by a transformation engine to apply the publication data mapping against profile data in the source format. This transformation results in the generation of profile data in the target format and suitable for publishing to the desired target system.
- the publication data mapping may be stored and activated in the profile management system, and the functional experts may perform live profile publication tests to validate the new publication data mapping.
- This process has been found to be time consuming and fraught with delays, typically due to the complexity of the manual operations, the possibility of errors and the need to perform additional validation to correct such errors.
- the i validation of submitted forms requires a high level of expertise and functional
- the invention addresses these and other problems associated with the prior art by providing a method, apparatus, and program product that utilize a dynamic and hierarchical generic data mapping model to facilitate the publication of traveler profile data from a source system, such as a profile management system, to a plurality of downstream target systems.
- a generic data mapping model consistent with the invention may be utilized to dynamically build a target-specific publication data mapping, e.g., in association with the publication of a traveler profile, such that the traveler profile may be transformed into a target format using the dynamically built publication data mapping.
- a child/descendent generic data mapping in a hierarchical collection of generic data mappings may inherit one or more mapping elements defined in a parent/ancestor generic data mapping.
- generic data mapping may be combined with one or more mapping elements defined within the descendent generic data mapping to configure the publication data mapping to convert source profile data to target profile data according to the both the defined and inherited mapping elements.
- a method of generating a publication data mapping for use in publishing traveler profile data from a source system to a target system from among a plurality of target systems, where the source system configured to store profile data for a plurality of travelers includes accessing a first generic data mapping associated with the target system from a hierarchical collection of generic data mappings, where the hierarchical collection of generic data mappings defines a plurality of mapping elements, where each mapping element in the plurality of mapping elements defines a relationship between at least one source data element from the source system and a target data element from the target system, where the first generic data mapping defines a first mapping element that maps at least one source data element to a first target data element, and where the first generic data mapping is a descendent of a second data mapping in the hierarchical collection of generic data mappings, where the second generic data mapping defines a second mapping element that maps at least one source data element to a second target data element, and where the first generic data mapping inherits the second mapping element from the
- an apparatus includes at least one processor; and program code configured upon execution by the at least one processor to generate a publication data mapping for use in publishing traveler profile data from a source system to a target system from among a plurality I of target systems, where the source system is configured to store profile data for a plurality of travelers.
- the program code is configured to generate the publication data mapping by accessing a first generic data mapping associated with the target system from a hierarchical collection of generic data mappings, where the
- Hierarchical collection of generic data mappings defines a plurality of mapping elements, where each mapping element in the plurality of mapping elements defines a relationship between at least one source data element from the source system and a target data element from the target system, where the first generic data mapping defines a first mapping element that maps at least one source data element to a first target data element, and where the first generic data mapping is a descendent of a second data mapping in the hierarchical collection of generic data mappings, where the second generic data mapping defines a second mapping element that maps at least one source data element to a second target data element, and where the first generic data mapping inherits the second mapping element from the second generic data mapping; and dynamically generating the publication data mapping based at least upon the first and second generic data mappings, where the publication data mapping is configured to convert source profile data from the source system and for a traveler into target profile data associated with the first and second target data elements for the target system based upon the first and second mapping elements defined in the first and second generic data mappings.
- a program product includes a computer readable medium; and program code stored on the computer readable medium and configured upon execution to generate a publication data mapping for use in publishing traveler profile data from a source system to a target system from among a plurality of target systems, where the source system is configured to store profile data for a plurality of travelers.
- the program code is i configured to generate the publication data mapping by accessing a first generic data mapping associated with the target system from a hierarchical collection of generic data mappings, where the hierarchical collection of generic data mappings defines a plurality of mapping elements, where each mapping element in the plurality of mapping elements defines a relationship between at least one source data
- the first generic data mapping defines a first mapping element that maps at least one source data element to a first target data element, and where the first generic data mapping is a descendent of a second data mapping in the hierarchical collection of generic data mappings, where the second generic data mapping defines i a second mapping element that maps at least one source data element to a second target data element, and where the first generic data mapping inherits the second mapping element from the second generic data mapping;
- the publication data mapping configured to convert source
- source profile data from the source system i and for the traveler is converted into target profile data for the target system using the publication data mapping.
- dynamically generating the publication data mapping is performed in response to updating a source profile for the traveler in the source system.
- converting the source profile data comprises converting the source profile to a target I profile, where the publication data mapping comprises an XSLT stylesheet and
- the first mapping element comprises a group that binds first and second source data elements from the source system to the first target data element, and converting the source profile data into target profile data includes discarding source profile data associated with the second source data i element in response to determining that no source profile data associated with the first source data element exists.
- the first mapping element comprises a group that binds a first source data element from the source system and free text to the first target data element from the target system, and converting the source profile data into target profile data includes discarding the free text in
- the source profile data is associated with a profile for the traveler, and the method further includes publishing the profile by communicating the target profile data to the target system; caching the publication data mapping after dynamically generating the publication data mapping; and reusing the publication data mapping to publish a second profile in response to determining that the publication data mapping is cached.
- the source profile data is associated with a profile for the traveler, and the method further includes publishing the profile by communicating the target profile data to the target system; caching the publication data mapping after dynamically generating the publication data mapping; and dynamically regenerating the publication data mapping in association with publishing a second profile in response to determining that at least one generic data mapping used to dynamically
- the second generic data mapping includes a third mapping element, and the first mapping element overrides the third mapping element.
- the second mapping element is read-only such that overriding of the second mapping element mapping element in the first generic data mapping is prohibited.
- each generic data mapping in the hierarchical collection is selected from the group consisting of a global generic data mapping, an organization-specific generic data mapping and a region-specific generic data mapping.
- At least one of the first and second generic data mappings is updated in response to input received from a user associated with
- mapping to the first generic data mapping is automatically propagated based upon the first generic data mapping being a descendent of the second generic data mapping.
- automatically propagating the change is performed in response to a request to publish a profile using a publication data
- FIGURE 1 is a block diagram an exemplary data processing system suitable for implementing a dynamic and hierarchical generic data mapping model consistent with one embodiment of the present invention.
- FIGURE 2 is a block diagram of an exemplary hardware and software implementation of the system of Fig. 1.
- FIGURE 3 is a block diagram of an example generic data mapping capable of being utilized in the system of Figs. 1-2.
- FIGURES 4-5 are block diagrams of example hierarchical collections of generic data mappings capable of being utilized in the system of Figs. 1-2
- FIGURE 6 is a block diagram of example parent and child generic data mappings capable of being utilized in the system of Figs. 1-2 and illustrating the concept of inheritance in a generic data mapping model.
- FIGURE 7 is a block diagram of an example hierarchical collection of i generic data mappings capable of being utilized in the system of Figs. 1-2 and
- FIGURE 8 is a block diagram illustrating updates to generic data mappings in the hierarchical collection of generic data mappings of Fig. 7.
- FIGURE 9 is a block diagram illustrating generation of merged
- FIGURE 10 is a block diagram illustrating dynamic generation of a publication data mapping in connection with publication of a traveler profile in the system of Figs. 1-2.
- FIGURE 11 is a flowchart illustrating an exemplary routine for retrieving a publication data mapping in the system of Figs. 1-2.
- FIGURE 12 is a block diagram illustrating dynamic generation of an XSLT-format publication data mapping in connection with publication of a traveler profile in the system of Figs. 1-2.
- FIGURE13 is a block diagram of an object model for a generic data mapping capable of being implemented in the system of Figs. 1-2.
- FIGURE14 is a block diagram illustrating a merger of standard and custom generic data mappings capable of being implemented in the system of Figs. 1-2.
- FIGURE15 is a block diagram illustrating a propagation of an update to a standard generic data mapping to a custom generic data mapping in the system of Figs. 1-2.
- FIGURE 16 is a block diagram of an exemplary graphical user interface capable of being implemented in the system of Figs. 1-2.
- FIGURE 17 is a flowchart illustrating an exemplary routine for publishing a traveler profile in the system of Figs. 1-2. i Detailed Description
- Embodiments consistent with the invention provide a dynamic and hierarchical generic data mapping model to facilitate the publication of traveler profile data from a source system, such as a profile management system, to a plurality of downstream target systems.
- invention for example, may be utilized to dynamically build a target-specific
- publication data mapping e.g., in association with the publication of profile data from a traveler profile, such that the profile data may be transformed into a target format using the dynamically built publication data mapping.
- a data processing system 10 including a source system 12 and a plurality of target systems 14 may be used to transform profile data configured in a traveler profile in a source format 16 into a target format 18 for the purposes of publishing the traveler profile to a particular target system 14.
- a source system in this regard, may be implemented, for example, as a profile management system that operates as a central repository for traveler data, while a target system may be implemented using practically any system desiring to utilize traveler-related data, e.g., computer reservations systems (CRS's), global distribution systems (GDS's), point-of-sales (POS) applications, mid- and-back office applications, self-booking tools (SBT's), etc.
- CRM computer reservations systems
- GDS's global distribution systems
- POS point-of-sales
- SBT's self-booking tools
- Profile data may include various travel-related data, including, for example, data related to a traveler or user of a travel-related web site or service, or other profile-type data otherwise associated with the travel industry.
- a profile transformation component 20 for example, may be used to transform the traveler profile between the source and target formats, and a publication component 22 may be used to publish the target profile to the appropriate target system 14.
- a publication data mapping 22 is generated by a dynamic data mapping generation component 24 that dynamically generates the publication data mapping 22 from one or more generic data mappings 26 maintained in a generic data mapping model 28.
- a generic data mapping model in the illustrated embodiments defines a collection of generic data mappings that are utilized to generate publication data mappings.
- a publication data mapping in this regard, may be considered to be a data mapping that is capable of being used in association with publishing profile data from a traveler profile from a source system to a target system such that the published
- I profile data can be transformed or converted into a format that is readable by the target system.
- a publication data mapping may be usable in its native form to transform or convert profile data in some embodiments, or may require additional conversion before transforming profile data.
- publication of profile data may require additional steps beyond transformation or conversion using a publication data mapping.
- profile data may require serialization and deserialization before and after transformation or conversion.
- both generic and publication data mappings incorporate one or more mapping elements, with each mapping element defining a relationship between one or more source data elements from the source system and a target data element from the target system.
- mapping elements may also include groups in some embodiments, permitting groups of source data elements to be omitted from a transformation or conversion when any of the source data elements are not present in the source profile data.
- publication and generic data mappings and/or the mapping elements defined therein may be identical to one another, and thus no transformation or conversion may be required to incorporate mapping elements defined in a generic data mapping into a publication data mapping. In other embodiments, however, some transformation or conversion may be required to implement a mapping element defined in a generic data mapping in a format suitable for incorporation into a publication data mapping.
- a generic data mapping model is both dynamic and hierarchical in nature.
- a generic data mapping model is dynamic in that publication
- I data mappings may be generated dynamically and on an as-needed basis from the generic data mapping model in association with the publication of profile data from a source system to a particular target system.
- a data mapping required to transform or convert profile data from a source system to a particular target system must be fully defined and deployed prior to a request to
- the dynamic nature of the herein-described generic data mapping model permits publication data mappings to be generated on- the-fly whenever a request to publish profile data to a particular target system is received, e.g., in response to a traveler profile being updated in the source system.
- a generic data mapping model may be hierarchical in that individual generic data mappings defined by the model may be organized in a hierarchical collection and utilize inheritance to permit descendents/children of other generic data mappings in the hierarchical collection to inherit mapping elements from
- generic data mapping may be defined for particular countries, geographical regions, corporations, organizations , etc., and related hierarchically so that the creation of a generic data mapping for a particular target system need not start from scratch, but may instead represent additions or modifications to other generic data mappings.
- Some generic data mappings may be global, for example, while others may be organization-specific or region-specific.
- system 10 In order to create, edit, delete and otherwise manage the data mappings utilized in the transformation of profiles into target formats, system 10 also includes a data mapping management component 30 accessible to both source users 32 and target users 34, e.g., via an Application Programming Interface (API) 36 and/or an administration GUI 38 such as a web-based GUI.
- API Application Programming Interface
- administration GUI 38 such as a web-based GUI.
- FIG. 2 illustrates an exemplary hardware and software environment for a data processing system 50 in which a dynamic and hierarchical generic data mapping model may be implemented.
- System 50 may be implemented by one or > more server-type computers 52, e.g., multiple computers coupled to another in a clustered or other distributed architecture.
- Each computer 52 typically includes a central processing unit 54 including at least one hardware-based microprocessor coupled to a memory 56, which may represent the random access memory (RAM) devices comprising the main storage of computer 52, as well as any supplemental levels of memory, e.g., cache memories, non-volatile or backup memories (e.g., programmable or flash memories), read-only memories, etc.
- RAM random access memory
- memory 56 may be considered to include memory storage physically located elsewhere in computer 52, e.g., any cache memory in a microprocessor, as well as any storage capacity used as a virtual memory, e.g., as stored on a mass storage device or on another computer coupled to computer 52.
- Computer 52 also typically receives a number of inputs and outputs for communicating information externally.
- computer 52 typically includes a user interface 58 incorporating one or more user input devices, e.g., a keyboard, a pointing device, a display, a printer, etc. Otherwise, user input may be received via another computer or terminal, e.g., over a network interface 60 coupled to a network 62 such as the Internet.
- Computer 52 also may be in communication with one or more mass storage devices 64, which may be, for example, internal hard disk storage devices, external hard disk storage devices, external databases, storage area network devices, etc.
- mass storage devices 64 may be, for example, internal hard disk storage devices, external hard disk storage devices, external databases, storage area network devices, etc.
- Various external devices may be coupled to system 50 over network 62, e.g., one or more source or profile management users 66, one or more target users 68 and one or more target systems 70.
- Each computer 52 typically operates under the control of an operating i system 72 and executes or otherwise relies upon various computer software
- a profile management system 56 including various components such as a profile management component 76, a profile transformation component 78, a data mapping management component 80 and publication component 82, a source repository 84, I and a data mapping repository 86 including a generic data mapping model 88 and publication data mapping cache 90, as will be described in greater detail below.
- various applications, components, programs, objects, modules, etc. may also execute on one or more processors in another computer coupled to computer 52 via a network, e.g., in a distributed or client-server computing environment, i whereby the processing required to implement the functions of a computer program may be allocated to multiple computers over a network.
- a network e.g., in a distributed or client-server computing environment, i whereby the processing required to implement the functions of a computer program may be allocated to multiple computers over a network.
- some of the functionality described herein as being incorporated into a computer 52 may be implemented in a target system, a source or target client computer, or other external device.
- routines executed to implement the embodiments of the invention whether implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions, or even a subset thereof, will be referred to herein as "computer program code,” or simply “program code.”
- Program code typically comprises one or more instructions that are resident at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause that computer to perform the steps necessary to execute steps or elements embodying the various aspects of the invention.
- Such computer readable media may include computer readable storage media and communication media.
- Computer readable storage media is non-transitory computer readable storage media and communication media.
- Computer readable storage media may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable
- EEPROM programmable read-only memory
- flash memory or other solid state
- Communication media may embody computer readable instructions, data structures or other program modules.
- communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above may also be included within the scope of computer readable media.
- GDM generic data mapping
- a GDM incorporates a plurality of mapping elements, also referred to herein as lines, which define the relationship between a data element of a target/downstream system (e.g., a target profile field) and one or more source data elements (e.g., source profile fields and any free text).
- a target profile field may be mapped to any combination of source profile fields and free text.
- Fig. 3 illustrates an exemplary GDM 100 including two 1 mapping element 102, 104.
- Mapping element 102 maps a target field
- Mapping element 104 maps the concatenation of source field "HomeAddress.Linel", the comma free text and source field "HomeAddress.Line2" to target field "BillingAddress.Line”.
- Grouping groups of source data elements (source profile fields and free text may be defined. By doing so, source data elements may be bound to one i another, so that if a profile field is not present in a particular traveler profile, then the entire group of source data elements may be discarded.
- groups may be defined using special delimiters (e.g., " ⁇ ” and " ⁇ ” so that if a target field for "Name” is mapped to a group of source data elements defined as " ⁇ LastName ⁇ /FirstName ⁇ ", the free text 7" may be omitted if the "FirstName" profile data is missing in the
- Macros it may be desirable to define custom macros per group/source profile field to allow specific data transformations (e.g., data
- Discardable lines it may be desirable to discard a line if a source profile field or a group of source data elements is empty. For example, a target field "Name” mapped to " ⁇ LastName ⁇ /FirstName ⁇ ” may be discarded if "LastName” is empty.
- a GDM model consistent with the invention is also hierarchical in nature, which minimizes data redundancy and otherwise facilitates management of a large number of data mappings utilized for disparate target systems.
- a GDM is permitted to inherit from another GDM and effectively "customize" the other GDM by following predetermined inheritance rules.
- the inheriting GDM also referred to herein as a child or descendent GDM, may be defined using only the mapping elements that have been customized, with any inherited mapping elements from a parent or ancestor GDM being defined in the parent/ancestor GDM.
- an entity such as a travel retailer may only be required to i define a complete data mapping for a global or default GDM, and then whenever a new data mapping is required (e.g., for a new deployment), the entity would only need to choose the appropriate GDM from the defined hierarchy and create a new GDM inheriting from the one chosen previously, by customizing only the desired lines.
- a hierarchy of GDM's may be specific per downstream/target system. In other embodiments, however, all GDM's for a particular target system may inherit from one or more master GDM's that are target- independent.
- GDM's related via inheritance may be considered to be a hierarchical collection of GDM's, and may be represented, for example, by a tree.
- Fig. 4 illustrates an example GDM hierarchical collection 110 that captures
- a GDM hierarchical collection 120 may include a master country- and corporation-independent GDM 122, which is then modified for different geographical regions by GDM's 124 and further modified for particular corporations by GDM's 126.
- mappings may be inherited and/or customized.
- lines or mapping elements may be defined as either read-only lines, which may not be changed by an inheriting GDM (thereby ensuring coherence for > most important target fields, and inhibiting the removal of mandatory target fields), or customizable lines, which may be defined by a parent GDM and opened to
- customization by a child GDM e.g., either the entire line can be customized, or only some parts of the line can be customized.
- a new GDM which inherits from I a parent GDM, may be permitted to modify customizable lines of its parent, parent of the parent, etc, by changing the type of the line (e.g., converting a customizable line to a read-only line), changing the customizable content (e.g., the entire line or some parts of the line), changing line attributes, or adding new lines corresponding to target fields not already mapped in parent lines, parent of the parent lines, etc.
- type of the line e.g., converting a customizable line to a read-only line
- changing the customizable content e.g., the entire line or some parts of the line
- changing line attributes e.g., the entire line or some parts of the line
- Fig. 6 illustrates a hierarchy including a parent GDM
- mapping 130 which includes two read-only-lines 132, 134 (for target fields Contact.FullName and BillingAddress.Line), and one customizable line 136 (for target field UniquelD).
- a child GDM 138 fills the customizable line (represented at 136') by mapping
- FIG. 7 illustrates a more complex hierarchy 150, including six GDM's 152-162.
- updates may be automatically and dynamically propagated to the inheriting GDM's, whereby the inhering GDM's are also updated in order to fulfill the inheritance rules.
- the inhering GDM's are also updated in order to fulfill the inheritance rules.
- an update to GDM 156 requires consistency be checked with parent GDM 152, and results in an updated line being propagated to GDM 162.
- an update to GDM 160 requires that consistency be checked with both parent GDM 154 and grandparent GDM 152.
- a GDM model consistent with the invention also supports dynamic generation of data mappings for use during publication of a traveler profile to a specific target system.
- the specific GDM to be used during a publication may be computed based on the lines or mapping elements of the GDM as well as the lines or mapping elements of any ancestor GDM's.
- the specific GDM typically will be the addition of the read-only lines of the parent, of the parent of the parent, etc., the customizable lines redefined in the specific GDM, and the customizable lines redefined in the parent and not redefined in its child, the customizable lines redefined in the parent of the parent and not redefined in the child, etc.
- the merging process may typically be performed without any conflicts and without any need to further check consistency in the GDM hierarchy, thereby facilitating the dynamic generation of the specific GDM.
- Fig. 9 illustrates a merged GDM 164 generated from GDM 160, incorporating lines or mapping elements from ancestor GDM's 152, 154, and a merged GDM 166 generated from GDM 162, incorporating lines or mapping elements from ancestor GDM's 52, 156.
- GDM Global System for Mobile Communications
- management of GDM's is often simple and intuitive enough to be performed by non-technical users, e.g., target system personnel.
- Fig. 10 illustrates a dynamic generation of a publication data mapping, also referred to herein as a generated data mapping, from a GDM.
- a data mapping generator component 170 accesses a GDM 172 associated with the target system and generates therefrom a generated or publication data mapping 174 suitable for use by a data transformation component 176 to transform profile data from a source profile 178 into a target profile 180.
- the GDM may be considered to be more of a logical view of a data mapping
- the generated or publication data mapping may be considered to be more of a specific view of a data mapping specifically adapted for use in a downstream publication system.
- generation of a publication or generic data mapping may require additional operations, e.g., to generate a data mapping suitable for use in the downstream publication system.
- publication data mappings dynamically and on-the-fly, e.g., every time a publication data mapping is used.
- publication of a profile may be performed any time data in a profile is updated on the source system, e.g., to ensure that all
- downstream/target systems receive the updates to the profile in a timely manner.
- dynamically generating a publication data mapping in association with each profile publication may present significant system overhead.
- a publication data mapping may need to be generated only when the associated GDM, or one of its ancestors, has changed since the last usage of the publication data mapping.
- Fig. 11 illustrates a data mapping generation routine 200 that may be executed in response to a request to retrieve a publication data mapping for a particular GDM (e.g., in association with the publication of a profile utilizing the GDM).
- a determination is made as to whether any ancestor GDM for the referenced GDM has changed. If so, control passes to block 204 to propagate the changes to the referenced GDM. Thereafter, or if no changes were detected in block 202, control passes to block 206 to access the referenced GDM and determine whether any changes to the referenced GDM have occurred.
- block 214 passes control to block 212, which returns the cached copy of the publication data mapping in response to the request.
- any cached copy of the corresponding publication data mapping will be discarded and replaced with a newly generated publication data mapping.
- a cache may also have a limited size, and as such, publication data mappings may not exist in a cache if they have been cast out as a result of other publication data mappings being added to the cache since the last time the cast-out publication data mappings were used.
- profile data transformation may be performed by applying an XML (Extensible Markup
- a publication data mapping may be implemented as an XSLT stylesheet generated from a GDM.
- publication of a profile may incorporate serializing a GDM 220 with a serializer 222 to generate a serialized GDM 224.
- An XML transformation is then performed at 226 using an XSLT generator 228 to generate a publication or generated data mapping 230 having the form of an XSLT stylesheet.
- the XSLT generator itself is a stylesheet capable of transforming the XML serialized GDM 224 into an XSLT stylesheet 230 used for data mapping.
- the source profile is serialized by a serializer 234 to generate a serialized profile 236, and an XML transformation is then performed at 238 using the publication data mapping 230 to generate a transformed serialized profile 240.
- a deserializer 242 then deserializes the profile, resulting in a target traveler profile 246.
- a GDM in this implementation may incorporate an object model as defined in Fig. 13, whereas a GDM 250 includes a plurality of target data elements 252, each associated with one or more groups 254, each including one or more free text elements 256 and source data elements 258. These elements combine to form
- a group in this implementation is a mixed sequence of free text and source field references, and grouping source data has an impact on the result of the data mapping such that if one source field of the group is i undefined the whole group is discarded.
- the hierarchical collection of GDM's form an inheritance tree with two levels to match both corporation and geographical specificities.
- At the first level are standard GDM's that are customizable and specific to one market (e.g., geographical region), and at the second level are custom GDM's that inherit from one standard GDM and fill the customizable parts to apply to the traveler profiles of a single corporation.
- Customization is permitted in this embodiment at two levels. First, at line or mapping element level, and at group level. In the latter level, a complete-able line may be considered to include one or more customizable groups. To identify if a line or a group are customizable, a special attribute, isCustom, may be used. If this special attribute is set to False, the line/group is not modifiable, and every
- the isCustom attribute is defined at line level, and for a complete-able line, the isCustom attribute is defined at group level.
- a standard GDM 260 may be defined with three mapping elements 262, 264 and 266.
- Mapping element 262 is read-only, and used to map a traveler name, and includes two groups, one for a concatenation of a first name and the " ⁇ character, and one a last name.
- Mapping element 264 is a complete-able line and includes one read-only group for country, and one customizable group, which as illustrated by custom GDM 268 and mapping element 270 may be customized to include a city.
- Mapping element 266 is a custom line which may be customized as illustrated by mapping element 272 of GDM 268 to include a remark group. i [0088] In this embodiment, ensuring consistency of a custom GDM may include verifying that the custom GDM has defined only the custom lines or complete-able lines of the standard GDM. In addition, to facilitate finding
- a unique identifier (or a tattoo) may be assigned to each line and to each group by the
- a custom GDM may specify the identifier (ID) of the lines or groups that it redefines.
- the validation of a custom GDM may be relatively straightforward.
- the custom GDM may be determined to be valid if the line/group identifiers it defines are already present in the standard GDM and these identifiers correspond only to customizable
- a merged GDM 274 may include all the lines/groups defined in custom GDM 268 and all the lines/groups defined in standard GDM 260 and not already defined in custom GDM 268.
- merged GDM 274 may include mapping element 262 from standard GDM 260 and overriding mapping element 272 from custom GDM 268, as well as a merged mapping element 276 generated from the customization of mapping element 264 by mapping element 270.
- mapping elements from a custom GDM In order to propagate updates from a standard GDM to a custom GDM, it may be necessary to discard mapping elements from a custom GDM in order to maintain consistency. For example, as shown in Fig. 15, where a standard GDM 280 includes an unchanged mapping element 282 and a mapping element 284 that is overridden by a custom GDM 286 having overriding mapping elements 288, 290, a modification to mapping element 284 (illustrated by mapping element 284' of standard GDM 280') may cause mapping element 290 of custom GDM 286 to be discarded, as illustrated at 286'.
- This operation may also be implemented based on identifiers.
- identifiers For ) example, when a standard GDM is being updated, line/group identifiers may be
- line/group identifiers may be regenerated if the line/group has changed (as with mapping element 284').
- mapping element 282 For the propagation of an update to a standard GDM to a custom GDM, if a line/group identifier does still exist in the ) standard GDM, then the line/group is preserved (as with mapping element 288), and if a line/group identifier does not exist anymore in the standard GDM (meaning that the line/group has been modified or deleted), then the line/group is not preserved in the custom GDM (as with mapping element 290).
- web services interfaces may be used to offer remote
- the web services may also include a graphical I interface for publication administration.
- a customer or target entity may itself manage generic data mappings and control profile publication.
- Web services may be hosted, for example, by an administration server that interacts with a persistent storage holding the GDM's created by end- users.
- a publication system may have access to the same persistent storage to extract the GDM's from which are generated the corresponding publication data mappings (see, e.g., Fig. 1 , data mapping management component 30, which provides both an API 38 to support direct remote calls, and administration GUI 38, which supports a web-based administration GUI).
- Web services may use an XML format to exchange messages between clients and the server.
- the XML format may follow the same structure as the GDM model presented above.
- An exemplary web interface is further illustrated at 300 in Fig. 16, and includes controls for entering a target identifier, a parent GDM identifier, and a customizable GDM identifier, and controls for selecting and mapping target and source fields.
- data mappings may be regenerated each time a standard/custom GDM is modified, if a standard GDM has a considerable number of custom GDM's inheriting from it, the delay of updating all
- I custom GDM's may be significant, and profile publication arriving during this delay may not be guaranteed to use the latest GDM without additional safeguards put into place.
- a profile publication component 312 may, first, confirm the update to the profile to the requester, and second, request a publication data mapping from a data mapping generation component 314 (step 2).
- Component 314 determines whether a custom GDM 316 for a target system 320 has changed (step 3), which in turn
- step 4 determines whether a standard GDM 318 upon which it is based has changed.
- custom GDM 316 retrieves the new standard GDM (step 5) and updates and stores the updated custom GDM (step 6).
- Custom GDM 316 then responds to component 314 indicating the changed status, and component 314 retrieves the new custom GDM (step 7), which is handled by the custom GDM by merging the standard and custom GDM's and returning a merged GDM to
- Component 314 (step 8). Component 314 then recomputes and stores a publication data mapping and returns the publication data mapping to profile publication component 312 (step 9). Component 312 then applies the data mapping to the updated profile to transform the updated profile to the target format (step 10), and publishes the updated profile to the downstream target system 320 (step 11).
- the aforementioned implementation may be used, for example, to enable multiple travel retailers, e.g., travel agencies, to provide travel services to i traveling employees, or travelers, on behalf of various corporations employing the travelers.
- travel retailer users many of which may not be
Landscapes
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CA2877778A CA2877778A1 (en) | 2012-08-02 | 2013-07-22 | Dynamic and hierarchical generic data mapping for traveler profile publication |
| AU2013299003A AU2013299003A1 (en) | 2012-08-02 | 2013-07-22 | Dynamic and hierarchical generic data mapping for traveler profile publication |
| KR20157004888A KR20150040960A (en) | 2012-08-02 | 2013-07-22 | Dynamic and hierarchical generic data mapping for traveler profile publication |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/565,102 US20140039943A1 (en) | 2012-08-02 | 2012-08-02 | Dynamic and hierarchical generic data mapping for traveler profile publication |
| US13/565,102 | 2012-08-02 | ||
| EP12368016.7A EP2693391A1 (en) | 2012-08-02 | 2012-08-02 | Dynamic and hierarchical generic data mapping for traveler profile publication |
| EP12368016.7 | 2012-08-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014019649A1 true WO2014019649A1 (en) | 2014-02-06 |
Family
ID=48900936
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2013/002160 Ceased WO2014019649A1 (en) | 2012-08-02 | 2013-07-22 | Dynamic and hierarchical generic data mapping for traveler profile publication |
Country Status (4)
| Country | Link |
|---|---|
| KR (1) | KR20150040960A (en) |
| AU (1) | AU2013299003A1 (en) |
| CA (1) | CA2877778A1 (en) |
| WO (1) | WO2014019649A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220308896A1 (en) * | 2021-03-26 | 2022-09-29 | International Business Machines Corporation | Selective pruning of a system configuration model for system reconfigurations |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2470593A (en) * | 2009-05-28 | 2010-12-01 | British Broadcasting Corp | Provision of runtime bindings for software objects with polymorphic types. |
-
2013
- 2013-07-22 CA CA2877778A patent/CA2877778A1/en not_active Abandoned
- 2013-07-22 KR KR20157004888A patent/KR20150040960A/en not_active Ceased
- 2013-07-22 AU AU2013299003A patent/AU2013299003A1/en not_active Abandoned
- 2013-07-22 WO PCT/EP2013/002160 patent/WO2014019649A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2470593A (en) * | 2009-05-28 | 2010-12-01 | British Broadcasting Corp | Provision of runtime bindings for software objects with polymorphic types. |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220308896A1 (en) * | 2021-03-26 | 2022-09-29 | International Business Machines Corporation | Selective pruning of a system configuration model for system reconfigurations |
| US11531555B2 (en) * | 2021-03-26 | 2022-12-20 | International Business Machines Corporation | Selective pruning of a system configuration model for system reconfigurations |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2013299003A1 (en) | 2015-02-26 |
| KR20150040960A (en) | 2015-04-15 |
| CA2877778A1 (en) | 2014-02-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7853961B2 (en) | Platform for data services across disparate application frameworks | |
| US8327419B1 (en) | System and method for efficiently securing enterprise data resources | |
| US20100005074A1 (en) | System and method for accessing data | |
| US20110238709A1 (en) | Extending database tables in a multi-tenant environment | |
| US20080208918A1 (en) | Efficient data handling representations | |
| KR20030045008A (en) | Access control for a decentralized or emergent model on a computer network | |
| JP2010524083A (en) | In-memory caching of multitenant data that can be shared and customized | |
| US9164776B2 (en) | Dynamic determination of navigation targets in a flexible user interface environment | |
| US9513876B2 (en) | Access operation with dynamic linking and access of data within plural data sources | |
| US20140039943A1 (en) | Dynamic and hierarchical generic data mapping for traveler profile publication | |
| JP7782077B2 (en) | Cloud Infrastructure Management | |
| US10803106B1 (en) | System with methodology for dynamic modular ontology | |
| US20130204875A1 (en) | Automatic Configuration Of A Product Data Management System | |
| Amin et al. | Sphere: A performance initiative towards ontology matching by implementing parallelism over cloud platform | |
| US11860939B2 (en) | Manipulating a table with an XML column in a database | |
| US8856260B2 (en) | Providing access to shared state data | |
| EP2693391A1 (en) | Dynamic and hierarchical generic data mapping for traveler profile publication | |
| WO2014019649A1 (en) | Dynamic and hierarchical generic data mapping for traveler profile publication | |
| CN117194533A (en) | Metadata service release method and system | |
| JP4593290B2 (en) | Distribution in master data management | |
| US12505184B1 (en) | Data security for dataframes as a service | |
| CN116881218B (en) | A meta-model and model processing method, device and computing device cluster | |
| EP4546235A1 (en) | Inventory management with automatic alignment of balances across multiple orthogonal categorization schemes | |
| US20230153363A1 (en) | Systems and methods for enhanced content management interoperability services interfaces and repository integration | |
| CN112948454B (en) | Method, apparatus, middleware and computer readable storage medium for accessing database |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13742392 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2877778 Country of ref document: CA |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 20157004888 Country of ref document: KR Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: 2013299003 Country of ref document: AU Date of ref document: 20130722 Kind code of ref document: A |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13742392 Country of ref document: EP Kind code of ref document: A1 |