[go: up one dir, main page]

US20200380425A1 - System and method of generating aggregated functional data - Google Patents

System and method of generating aggregated functional data Download PDF

Info

Publication number
US20200380425A1
US20200380425A1 US16/724,577 US201916724577A US2020380425A1 US 20200380425 A1 US20200380425 A1 US 20200380425A1 US 201916724577 A US201916724577 A US 201916724577A US 2020380425 A1 US2020380425 A1 US 2020380425A1
Authority
US
United States
Prior art keywords
data object
data objects
supplier
elements
supplier data
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
Application number
US16/724,577
Inventor
Pierre Brun
Jean-Chafic Hays
Floriane FAUDET
Tony BISEGNA
Thomas Carpentier
Nicolas CLERC-RENAUD
Fabien LE METAYER
Federica SPIRITI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Assigned to AMADEUS S.A.S. reassignment AMADEUS S.A.S. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BRUN, PIERRE, HAYS, JEAN-CHAFIC, BISEGNA, Tony, FAUDET, Floriane, CARPENTIER, THOMAS, CLERC-RENAUD, Nicolas, LE METAYER, Fabien, SPIRITI, Federica
Priority to EP20177163.1A priority Critical patent/EP3745279A1/en
Publication of US20200380425A1 publication Critical patent/US20200380425A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants

Definitions

  • This specification relates generally to generating data objects, and more particularly to a system and method for generating an aggregated functional data object for a client subsystem from a set of supplier data objects having different data object formats.
  • Certain classes of products may include a number of different types of products.
  • the general class of travel-related goods and services includes products such as flights, hotel reservations, automobile rentals, and the like. Multiple products within a class may be purchased in association with each other by a given user, such as one or more flights and a hotel reservation for a given trip.
  • the individual products may be provided by discrete supplier entities (e.g. airlines, hotels and the like) that employ different data object formats to store and communicate supplier data objects defining the above-mentioned products.
  • a client subsystem such as a reservation system
  • viewing and interacting with such supplier data objects using a client subsystem typically requires the user (or an entity acting on behalf of the user, such as a travel agency) to accommodate multiple distinct communication protocols, data formats and update mechanisms, which is costly and error-prone.
  • An aspect of this specification provides a method of generating an aggregated functional data object for a client subsystem from a set of supplier data objects having different data object formats, comprising storing the set of supplier data objects according to their respective data object formats, each supplier data object including a plurality of elements; creating a further data object for linking selected supplier data objects based on common ones of the elements shared between the selected supplier data objects; and creating the aggregated functional data object by merging and combining the common elements with remaining ones of the plurality of elements from the selected supplier data objects according to the linking, for presentation to the client subsystem.
  • a transaction processor server comprising a memory storing a set of supplier data objects according to respective data object formats, each supplier data object including a plurality of elements; and a processor interconnected with the memory, the processor configured to create a further data object for linking selected supplier data objects based on common ones of the elements shared between the selected supplier data objects, create an aggregated functional data object by merging and combining the common elements with remaining ones of the plurality of elements from the selected supplier data objects according to the linking and present the aggregated functional data object to a client subsystem.
  • FIG. 1 depicts a system for generating an aggregated functional data object according to an aspect of this specification
  • FIG. 2 depicts certain internal components of a transaction processor of the system shown in FIG. 1 ;
  • FIG. 3 depicts a method of generating an aggregated functional data object according to the system of FIG. 1 ;
  • FIG. 4 depicts the receipt of a request from a client subsystem to retrieve one or more supplier data objects and generation of an aggregated data object during the performance of the method of FIG. 3 .
  • FIG. 5 illustrates a method of updating an element of an aggregated functional data object.
  • FIG. 6 depicts receipt of a request from a client subsystem to update an element of an aggregated functional data object and generation of an aggregated data object during the performance of the method of FIG. 5 .
  • FIG. 1 depicts a system 100 for generating an aggregated functional data object for a client subsystem from a set of supplier data objects having different data object formats.
  • the data objects in the embodiments discussed herein, define products such as travel-related goods and services such as flights, hotel reservations, vehicle rentals, and related services (e.g. baggage check services for flights, lounge access at airports, WiFi access on flights or at hotels, and so on).
  • travel-related goods and services such as flights, hotel reservations, vehicle rentals, and related services
  • related services e.g. baggage check services for flights, lounge access at airports, WiFi access on flights or at hotels, and so on.
  • PNR Passenger Name Record
  • CRS Computer Reservation System
  • a PNR may include the name of the passenger, contact details for the travel agent or airline office (e.g. an 8-digit IATA code of the travel agency or airline office; ticketing details (e.g. a ticket number); the itinerary of at least one segment and the name of the person providing the information.
  • the system 100 includes one or more supplier subsystems, of which two examples 104 - 1 and 104 - 2 are shown (collectively referred to as supplier subsystems 104 , or simply suppliers 104 ).
  • Supplier subsystems 104 Data objects maintained by or on behalf of each supplier define the products available for purchase, or already purchased, from the supplier.
  • the above-mentioned data objects are also referred to as supplier data objects in the discussion below.
  • the supplier subsystems 104 can be, but are not required to be, operated by the above-mentioned providers.
  • the supplier 104 - 1 may, in the present example, be operated by an airline (i.e. a provider).
  • the supplier 104 - 1 may exchange data with other components of the system 100 to enable the provision of products according to the eXtensible Markup Language (XML)-based New Distribution Capability (NDC) standard.
  • XML eXtensible Markup Language
  • NDC New Distribution Capability
  • the NDC standard was developed in 2012 by IATA to enable airlines to take control of products proposed to end users or travel agents.
  • the supplier 104 - 1 maintains a repository 108 - 1 defining product inventory, such as an Order Management System (OMS) containing flights operated by the airline that are available for booking, or have been booked.
  • OMS Order Management System
  • supplier subsystems 104 can be provided.
  • the supplier 104 - 2 in the present example, is an airline passenger service system (PSS) that stores product inventory and/or bookings in repository 108 - 2 .
  • PSS airline passenger service system
  • the supplier 104 - 2 exposes IATA PSS applications (based on TTY or Edifact messaging) to allow other components of the system 100 to create, update and display bookings.
  • the system 100 can include a wide variety of additional supplier subsystems 104 , including additional GDS subsystems, and/or additional provider-operated subsystems.
  • the system 100 can include a further GDS-based supplier for low-cost carrier airlines.
  • the system 100 also includes a client subsystem 120 , for example operated by a travel agency or the like, configured to interact with the supplier subsystems 104 via a network 128 including any suitable combination of local- and wide-area networks (including the Internet).
  • the client subsystem 120 is configured to obtain supplier data objects from the supplier subsystems 104 , and to request updates to the supplier data objects in order to book the above-mentioned products on behalf of customers (e.g. individual persons). Additional client subsystems (not shown) may also be included in the system 100 .
  • each supplier subsystem 104 may store and exchange supplier data objects in divergent formats (e.g. according to different communication standards or protocols, and employing different combinations and hierarchies of fields within the data objects). Further, each supplier subsystem 104 may implement different update mechanisms for purchasing (which may also be referred to as booking) the above-mentioned products, and for making changes to existing purchases.
  • the heterogeneous nature of the supplier data objects and the update mechanisms provided by the supplier subsystems 104 may impose a substantial technical burden on the client subsystem 120 (and any other client subsystems in the system 100 ), by requiring that each client subsystem implement communication mechanisms to interact with each supplier subsystem 104 . Further, the variable nature of the supplier data objects maintained by the supplier subsystems 104 may lead to inconsistent presentation of information at the client subsystem 120 , which in turn may cause erroneous or malformed purchase requests to be transmitted to the supplier subsystems 104 .
  • the system 100 therefore also includes a transaction processor 132 configured to intermediate between the supplier subsystems 104 and the client subsystem 120 (and, more generally, any client subsystem of the system 100 ), as well as coordinate transactions between different back-end systems 144 , as discussed below.
  • the transaction processor 132 is configured to obtain supplier data objects from one or more supplier subsystems 104 (e.g. in response to a request from the client subsystem 120 ).
  • the transaction processor 132 is further configured to generate an aggregated functional data object from a set of supplier data objects acquired through different messaging standards, such as NDC for supplier data objects received from supplier 104 - 1 , Edifact or TTY for air content supplier data objects received from supplier 104 - 2 via GDS messaging, or other protocols such as XML, JSON, for other content received from supplier 104 - 2 via GDS messaging.
  • the transaction processor 132 includes a travel platform module 136 and a virtual record handler 140 . Travel platform module 136 is the entry point to the transaction processor 132 for the client subsystem 120 and supplier subsystems 104 . The travel platform module 136 is responsible for keeping the user (e.g.
  • the travel platform module 136 may open a session to retrieve a PNR or other data object, perform one or more entries on the data object during the session and then commit the session (from memory to long-term storage), although it is also contemplated that that interaction with the travel platform module 136 can be stateless, in which case any action is instantly committed.
  • interaction with the travel platform module 136 can be stateless, in which case any action is instantly committed.
  • the context is stored in memory and retrieved using a session identifier.
  • the functionality of the travel platform module 136 is extended to store multiple data objects in memory (i.e.
  • multi-record context such as differently formatted NDC and GDS records 137 and 138 , as well as a further data object 141 , referred to herein as a ‘folder’, which uses the same technical structure the other data objects.
  • a ‘folder’ which uses the same technical structure the other data objects.
  • the folder data object 141 stores links between the various data objects 137 , 138 , etc.
  • folder data object 141 may store a link to establish that the passenger data element in one data object identifies the same person (e.g. Mr. Toto in FIG. 1 ) as the passenger data element in another data object.
  • Virtual record handler 140 is configured to build an aggregated data object from the multi-record context of the travel platform module 136 by taking elements from multiple data objects 137 , 138 , etc., and aggregating them using the links stored in the folder data object 141 .
  • the folder data object 141 is used to determine if common elements in disparate data objects need to be merged (e.g. same passenger, etc.) to generate an aggregated data object. That is, folder data object 141 keeps track of the association of elementIDs in each data object.
  • the transaction processor 132 is also configured to provide aggregated update operations to the client subsystem 120 , e.g. in the form of an application programming interface (API).
  • the client subsystem 120 can therefore request any of a variety of updates to the supplier data objects (regardless of the particular format of a given supplier data object) by transmitting an aggregated update request to the transaction processor 132 .
  • the transaction processor 132 is configured to generate one or more supplier-specific update operations in response to receiving an aggregated update request from the client subsystem 120 , as discussed below.
  • the transaction processor 132 includes at least one processor 200 , such as a central processing unit (CPU) or the like.
  • the processor 200 is interconnected with a memory 204 , implemented as a suitable non-transitory computer-readable medium (e.g. a suitable combination of non-volatile and volatile memory subsystems including any one or more of Random Access Memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory, magnetic computer storage, and the like).
  • RAM Random Access Memory
  • ROM read only memory
  • EEPROM Electrically Erasable Programmable Read Only Memory
  • flash memory magnetic computer storage, and the like.
  • the processor 200 and the memory 204 are generally comprised of one or more integrated circuits (ICs).
  • the processor 200 is also interconnected with a communication interface 208 , which enables the transaction processor 132 to communicate with the other computing devices of the system 100 (i.e. the supplier subsystem 104 and the client subsystem 120 ) via the network 128 .
  • the communication interface 208 therefore includes any necessary components (e.g. network interface controllers (NICs), radio units, and the like) to communicate via the network 128 .
  • NICs network interface controllers
  • the specific components of the communication interface 208 are selected based on the nature of the network 128 .
  • the transaction processor 132 can also include input and output devices connected to the processor 200 , such as keyboards, mice, displays, and the like (not shown).
  • the transaction processor 132 includes a plurality of processors, either sharing the memory 204 and communication interface 208 , or each having distinct associated memories and communication interfaces.
  • the memory 204 stores the data objects 137 , 138 etc., as well as the folder data object 141 mentioned above in connection with FIG. 1 .
  • the memory 204 also stores a plurality of computer-readable programming instructions, executable by the processor 200 , in the form of various applications, including an aggregation application 212 .
  • the processor 200 executes the instructions of the application 212 (and any other suitable applications) in order to perform various actions defined by the instructions contained therein.
  • the processor 200 and more generally the transaction processor 132 , are said to be configured to perform those actions. It will be understood that they are so configured via the execution (by the processor 200 ) of the instructions of the applications stored in memory 204 .
  • Execution of the application 212 configures the transaction processor 132 to generate an aggregated functional data object from a set of supplier data objects having different data object formats, for presentation to the client subsystem 120 .
  • Execution of the application 212 also configures the transaction processor 132 to receive aggregated update operations from the client subsystem 120 , which can be handled either at the virtual record level, or split down to the physical record level, as discussed in greater detail below, for updating the supplier data objects at one or more of the supplier subsystems 104 .
  • FIG. 3 illustrates a method 300 of generating an aggregated functional data object, according to an embodiment.
  • the method 300 will be described in conjunction with its performance within the system 100 , as illustrated in FIG. 4 .
  • the blocks of the method 300 are performed by transaction processor 132 via the execution of the application 212 by the processor 200 .
  • the transaction processor 132 is configured to receive a request from client subsystem 120 to retrieve one or more supplier data objects, which need not be received from the same supplier 104 .
  • the client subsystem 120 may request an itinerary booking for a passenger, Mr. Toto, where one supplier 104 - 1 provides one flight while another supplier 104 - 2 provides a second flight, where both flights form part of the itinerary of the passenger.
  • the travel platform module 136 passes the request to a back-end system 144 , such as an order view builder.
  • the order view builder formulates a request to the virtual record handler 140 for generating an aggregated functional data object.
  • virtual record handler 140 retrieves data objects 137 , 138 and 141 and returns a virtual aggregated data object.
  • NDC PNR contains the following elements: a record identifier: ABCDEF for identifying the PNR record, an element ID for identifying passenger Mr. Toto, and an element ID containing a flight element FE 001 from one supplier (e.g. 104 - 1 ), where the descriptor ‘NDC’ is a distribution channel indicator for indicating that the technical record is acquired through NDC messaging.
  • a technical GDS PNR contains the following elements: a record identifier GHIJKL for identifying the GDS record, an element ID for identifying passenger Mr.
  • GDS is a distribution channel indicator for indicating that the technical record is acquired through GDS messaging.
  • the technical records 137 and 138 are similar in that they pertain to air content communicated through independent messaging channels, the principles set forth herein apply to other types of technical records pertaining to other content (e.g. hotel, car rental, etc.).
  • folder data object 141 contains a link defining an association of the element IDs in each of the supplier data objects 137 and 138 for identifying passenger Mr. Toto as a common element shared between the data objects.
  • the generated virtual aggregated data object includes data elements for identifying the passenger, Mr. Toto, and the two flight elements: FE 001 and FE 002.
  • the aggregated data object is returned to the back-end system 144 (order view builder) which, at block 330 , transmits the aggregated data object back to client subsystem 120 for viewing, updating, etc.
  • FIG. 5 illustrates a method 500 of updating an element of an aggregated functional data object, according to an embodiment.
  • the method 500 will be described in conjunction with its performance within the system 600 , as illustrated in FIG. 6 .
  • the blocks of the method 500 are performed by transaction processor 132 via the execution of the application 212 by the processor 200 .
  • the transaction processor 132 is configured to receive a request from client subsystem 120 to modify one or more supplier data objects.
  • client subsystem 120 may request that a remark linked to FE 001 NDC content be added to a PNR.
  • travel platform module 136 passes the request to the virtual record handler 140 which, at block 515 , retrieves data objects 137 , 138 and 141 and exchanges messages with back-end system 144 which, in the illustrated example comprises a back-end remarks handling system.
  • the virtual record handler 140 analyzes the request and determines that the remark only needs to be added to the NDC content (e.g. by distributing a query only to the NDC record).
  • the virtual record handler 140 thereby splits the update actions at the physical level and then regenerates the aggregated view to add the updated remark to the NDC content, at block 520 , and returns the updated data object for record ABCDEF to travel platform module 136 which, at block 525 , transmits the aggregated data object back to client subsystem 120 for viewing, updating, etc.
  • supplier 104 - 1 or 104 - 2 may “split” a PNR to add an additional passenger, in which case a conventional system would present to the user two records having two locators (e.g. ABCDEF and GHIJKL).
  • the virtual record handler 140 will aggregate the user view showing both passengers with a single locator.
  • the functionality of the application 212 at the transaction processor 132 may be implemented using pre-programmed hardware or firmware elements (e.g., application specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), etc.), or other related components.
  • ASICs application specific integrated circuits
  • EEPROMs electrically erasable programmable read-only memories
  • the systems and methods discussed above can also be applied to various other types of data objects (that is, data objects defining a wide variety of other forms of products) and is not limited to travel reservation systems and data objects associated therewith.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

A method of aggregating and updating heterogeneous data objects for a client subsystem includes: storing a set of data object definitions, each defining a mapping between an aggregated data object format and a plurality of supplier data object formats; storing a set of update definitions, each defining a mapping between an aggregated update operation and a plurality of supplier update mechanisms; receiving a data object in a supplier data object formats; selecting, based on the supplier data object format of the received data object, a data object definitions and generating an aggregated data object according to the selected definition; presenting the generated aggregated data object to the client subsystem; receiving an aggregated update operation from the client subsystem for updating the aggregated data object; and selecting, based on the received aggregated update operation, one of the update definitions and initiating a supplier update mechanism according to the selected update definition.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims priority from French Patent Application No. 19 05718, filed May 29, 2019, the contents of which is incorporated herein by reference.
  • FIELD
  • This specification relates generally to generating data objects, and more particularly to a system and method for generating an aggregated functional data object for a client subsystem from a set of supplier data objects having different data object formats.
  • BACKGROUND
  • Certain classes of products, including for example travel-related goods and services, may include a number of different types of products. For example, the general class of travel-related goods and services includes products such as flights, hotel reservations, automobile rentals, and the like. Multiple products within a class may be purchased in association with each other by a given user, such as one or more flights and a hotel reservation for a given trip. The individual products, however, may be provided by discrete supplier entities (e.g. airlines, hotels and the like) that employ different data object formats to store and communicate supplier data objects defining the above-mentioned products. Therefore, viewing and interacting with such supplier data objects using a client subsystem, such as a reservation system, typically requires the user (or an entity acting on behalf of the user, such as a travel agency) to accommodate multiple distinct communication protocols, data formats and update mechanisms, which is costly and error-prone.
  • SUMMARY
  • An aspect of this specification provides a method of generating an aggregated functional data object for a client subsystem from a set of supplier data objects having different data object formats, comprising storing the set of supplier data objects according to their respective data object formats, each supplier data object including a plurality of elements; creating a further data object for linking selected supplier data objects based on common ones of the elements shared between the selected supplier data objects; and creating the aggregated functional data object by merging and combining the common elements with remaining ones of the plurality of elements from the selected supplier data objects according to the linking, for presentation to the client subsystem.
  • Another aspect provides a transaction processor server, comprising a memory storing a set of supplier data objects according to respective data object formats, each supplier data object including a plurality of elements; and a processor interconnected with the memory, the processor configured to create a further data object for linking selected supplier data objects based on common ones of the elements shared between the selected supplier data objects, create an aggregated functional data object by merging and combining the common elements with remaining ones of the plurality of elements from the selected supplier data objects according to the linking and present the aggregated functional data object to a client subsystem.
  • BRIEF DESCRIPTIONS OF THE DRAWINGS
  • Embodiments are described with reference to the following figures, in which:
  • FIG. 1 depicts a system for generating an aggregated functional data object according to an aspect of this specification;
  • FIG. 2 depicts certain internal components of a transaction processor of the system shown in FIG. 1;
  • FIG. 3 depicts a method of generating an aggregated functional data object according to the system of FIG. 1;
  • FIG. 4 depicts the receipt of a request from a client subsystem to retrieve one or more supplier data objects and generation of an aggregated data object during the performance of the method of FIG. 3.
  • FIG. 5 illustrates a method of updating an element of an aggregated functional data object.
  • FIG. 6 depicts receipt of a request from a client subsystem to update an element of an aggregated functional data object and generation of an aggregated data object during the performance of the method of FIG. 5.
  • DETAILED DESCRIPTION
  • FIG. 1 depicts a system 100 for generating an aggregated functional data object for a client subsystem from a set of supplier data objects having different data object formats. The data objects, in the embodiments discussed herein, define products such as travel-related goods and services such as flights, hotel reservations, vehicle rentals, and related services (e.g. baggage check services for flights, lounge access at airports, WiFi access on flights or at hotels, and so on). For example, in the travel industry, one such data object is known as a Passenger Name Record (PNR), which is a record in the database of a Computer Reservation System (CRS) that contains the itinerary for a passenger, or a group of passengers traveling together.
  • There is no general industry standard for the layout and content of a PNR. In practice, each CRS or hosting system has its own proprietary standards, although common industry needs including the need to map PNR data easily to ATA/IATA Reservations Interline Message Procedures (AIRIMP) messages has resulted in many general similarities in data content and format between the major systems.
  • In terms of content, a PNR may include the name of the passenger, contact details for the travel agent or airline office (e.g. an 8-digit IATA code of the travel agency or airline office; ticketing details (e.g. a ticket number); the itinerary of at least one segment and the name of the person providing the information. Once the booking has been completed with the foregoing information, the CRS will issue a unique alphanumeric record locator.
  • Delivery of the above-mentioned products to customers is typically implemented by a provider entity, such as an airline for flights, a rental agency for vehicle rentals, and the like. Prior to delivery of the products to customers (e.g. passengers on a flight), the products must be purchased or otherwise secured on behalf of the customers, via a series of data exchanges. To that end, the system 100 includes one or more supplier subsystems, of which two examples 104-1 and 104-2 are shown (collectively referred to as supplier subsystems 104, or simply suppliers 104). Data objects maintained by or on behalf of each supplier define the products available for purchase, or already purchased, from the supplier. The above-mentioned data objects are also referred to as supplier data objects in the discussion below.
  • The supplier subsystems 104 can be, but are not required to be, operated by the above-mentioned providers. For example, the supplier 104-1 may, in the present example, be operated by an airline (i.e. a provider). For instance, the supplier 104-1 may exchange data with other components of the system 100 to enable the provision of products according to the eXtensible Markup Language (XML)-based New Distribution Capability (NDC) standard. The NDC standard was developed in 2012 by IATA to enable airlines to take control of products proposed to end users or travel agents. The supplier 104-1 maintains a repository 108-1 defining product inventory, such as an Order Management System (OMS) containing flights operated by the airline that are available for booking, or have been booked.
  • Other supplier subsystems 104 can be provided. For example, the supplier 104-2, in the present example, is an airline passenger service system (PSS) that stores product inventory and/or bookings in repository 108-2. The supplier 104-2 exposes IATA PSS applications (based on TTY or Edifact messaging) to allow other components of the system 100 to create, update and display bookings.
  • The system 100 can include a wide variety of additional supplier subsystems 104, including additional GDS subsystems, and/or additional provider-operated subsystems. For example, the system 100 can include a further GDS-based supplier for low-cost carrier airlines.
  • The system 100 also includes a client subsystem 120, for example operated by a travel agency or the like, configured to interact with the supplier subsystems 104 via a network 128 including any suitable combination of local- and wide-area networks (including the Internet). The client subsystem 120, as will be discussed in greater detail below, is configured to obtain supplier data objects from the supplier subsystems 104, and to request updates to the supplier data objects in order to book the above-mentioned products on behalf of customers (e.g. individual persons). Additional client subsystems (not shown) may also be included in the system 100.
  • As will now be apparent, the client subsystem 120 may interact with a number of different supplier subsystems 104 on behalf of any given customer. Each supplier subsystem 104 may store and exchange supplier data objects in divergent formats (e.g. according to different communication standards or protocols, and employing different combinations and hierarchies of fields within the data objects). Further, each supplier subsystem 104 may implement different update mechanisms for purchasing (which may also be referred to as booking) the above-mentioned products, and for making changes to existing purchases.
  • The heterogeneous nature of the supplier data objects and the update mechanisms provided by the supplier subsystems 104 may impose a substantial technical burden on the client subsystem 120 (and any other client subsystems in the system 100), by requiring that each client subsystem implement communication mechanisms to interact with each supplier subsystem 104. Further, the variable nature of the supplier data objects maintained by the supplier subsystems 104 may lead to inconsistent presentation of information at the client subsystem 120, which in turn may cause erroneous or malformed purchase requests to be transmitted to the supplier subsystems 104.
  • The system 100 therefore also includes a transaction processor 132 configured to intermediate between the supplier subsystems 104 and the client subsystem 120 (and, more generally, any client subsystem of the system 100), as well as coordinate transactions between different back-end systems 144, as discussed below. The transaction processor 132, as will be discussed below in greater detail, is configured to obtain supplier data objects from one or more supplier subsystems 104 (e.g. in response to a request from the client subsystem 120). The transaction processor 132 is further configured to generate an aggregated functional data object from a set of supplier data objects acquired through different messaging standards, such as NDC for supplier data objects received from supplier 104-1, Edifact or TTY for air content supplier data objects received from supplier 104-2 via GDS messaging, or other protocols such as XML, JSON, for other content received from supplier 104-2 via GDS messaging. To that end, the transaction processor 132 includes a travel platform module 136 and a virtual record handler 140. Travel platform module 136 is the entry point to the transaction processor 132 for the client subsystem 120 and supplier subsystems 104. The travel platform module 136 is responsible for keeping the user (e.g. agent) context whereby a user may open a session to retrieve a PNR or other data object, perform one or more entries on the data object during the session and then commit the session (from memory to long-term storage), although it is also contemplated that that interaction with the travel platform module 136 can be stateless, in which case any action is instantly committed. For a given session, its purpose is to attach the latest version of the context and forward functional queries to related application servers. The context is stored in memory and retrieved using a session identifier. However, in accordance with an aspect of this specification the functionality of the travel platform module 136 is extended to store multiple data objects in memory (i.e. multi-record context), such as differently formatted NDC and GDS records 137 and 138, as well as a further data object 141, referred to herein as a ‘folder’, which uses the same technical structure the other data objects. It will be appreciated that although only PNR records 137 and 138 are illustrated, any number of data objects may be stored. Furthermore, the principles set forth herein may be applied to data objects other than PNR records, which are merely exemplary.
  • The folder data object 141 stores links between the various data objects 137, 138, etc. For example, folder data object 141 may store a link to establish that the passenger data element in one data object identifies the same person (e.g. Mr. Toto in FIG. 1) as the passenger data element in another data object.
  • Virtual record handler 140 is configured to build an aggregated data object from the multi-record context of the travel platform module 136 by taking elements from multiple data objects 137, 138, etc., and aggregating them using the links stored in the folder data object 141. Thus, the folder data object 141 is used to determine if common elements in disparate data objects need to be merged (e.g. same passenger, etc.) to generate an aggregated data object. That is, folder data object 141 keeps track of the association of elementIDs in each data object.
  • The transaction processor 132 is also configured to provide aggregated update operations to the client subsystem 120, e.g. in the form of an application programming interface (API). The client subsystem 120 can therefore request any of a variety of updates to the supplier data objects (regardless of the particular format of a given supplier data object) by transmitting an aggregated update request to the transaction processor 132. The transaction processor 132 is configured to generate one or more supplier-specific update operations in response to receiving an aggregated update request from the client subsystem 120, as discussed below.
  • Turning to FIG. 2, before discussing the functionality of the system 100 in greater detail, certain components of the transaction processor 132 will be discussed in greater detail.
  • As shown in FIG. 2, the transaction processor 132 includes at least one processor 200, such as a central processing unit (CPU) or the like. The processor 200 is interconnected with a memory 204, implemented as a suitable non-transitory computer-readable medium (e.g. a suitable combination of non-volatile and volatile memory subsystems including any one or more of Random Access Memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory, magnetic computer storage, and the like). The processor 200 and the memory 204 are generally comprised of one or more integrated circuits (ICs).
  • The processor 200 is also interconnected with a communication interface 208, which enables the transaction processor 132 to communicate with the other computing devices of the system 100 (i.e. the supplier subsystem 104 and the client subsystem 120) via the network 128. The communication interface 208 therefore includes any necessary components (e.g. network interface controllers (NICs), radio units, and the like) to communicate via the network 128. The specific components of the communication interface 208 are selected based on the nature of the network 128. The transaction processor 132 can also include input and output devices connected to the processor 200, such as keyboards, mice, displays, and the like (not shown).
  • The components of the transaction processor 132 mentioned above can be deployed in a single enclosure, or in a distributed format. In some examples, therefore, the transaction processor 132 includes a plurality of processors, either sharing the memory 204 and communication interface 208, or each having distinct associated memories and communication interfaces.
  • The memory 204 stores the data objects 137, 138 etc., as well as the folder data object 141 mentioned above in connection with FIG. 1. The memory 204 also stores a plurality of computer-readable programming instructions, executable by the processor 200, in the form of various applications, including an aggregation application 212. As will be understood by those skilled in the art, the processor 200 executes the instructions of the application 212 (and any other suitable applications) in order to perform various actions defined by the instructions contained therein. In the description below, the processor 200, and more generally the transaction processor 132, are said to be configured to perform those actions. It will be understood that they are so configured via the execution (by the processor 200) of the instructions of the applications stored in memory 204. Execution of the application 212, as will be discussed below, configures the transaction processor 132 to generate an aggregated functional data object from a set of supplier data objects having different data object formats, for presentation to the client subsystem 120. Execution of the application 212 also configures the transaction processor 132 to receive aggregated update operations from the client subsystem 120, which can be handled either at the virtual record level, or split down to the physical record level, as discussed in greater detail below, for updating the supplier data objects at one or more of the supplier subsystems 104.
  • Turning now to FIG. 3, certain aspects of the operation of the system 100 will be described in greater detail. Specifically, FIG. 3 illustrates a method 300 of generating an aggregated functional data object, according to an embodiment. The method 300 will be described in conjunction with its performance within the system 100, as illustrated in FIG. 4. In particular, the blocks of the method 300 are performed by transaction processor 132 via the execution of the application 212 by the processor 200.
  • At block 305, the transaction processor 132 is configured to receive a request from client subsystem 120 to retrieve one or more supplier data objects, which need not be received from the same supplier 104. For example, the client subsystem 120 may request an itinerary booking for a passenger, Mr. Toto, where one supplier 104-1 provides one flight while another supplier 104-2 provides a second flight, where both flights form part of the itinerary of the passenger.
  • At block 310, the travel platform module 136 passes the request to a back-end system 144, such as an order view builder. The order view builder, at block 315, formulates a request to the virtual record handler 140 for generating an aggregated functional data object. In response, at block 320, virtual record handler 140 retrieves data objects 137, 138 and 141 and returns a virtual aggregated data object.
  • In the illustrated example, data objects 137 and 138 comprise technical records acquired through different messaging standards, NDC and Edifact, respectively. NDC PNR (137) contains the following elements: a record identifier: ABCDEF for identifying the PNR record, an element ID for identifying passenger Mr. Toto, and an element ID containing a flight element FE 001 from one supplier (e.g. 104-1), where the descriptor ‘NDC’ is a distribution channel indicator for indicating that the technical record is acquired through NDC messaging. Similarly, a technical GDS PNR (138) contains the following elements: a record identifier GHIJKL for identifying the GDS record, an element ID for identifying passenger Mr. Toto, and an element ID containing a flight element FE 002 from another supplier (e.g. 104-2), where the descriptor ‘GDS’ is a distribution channel indicator for indicating that the technical record is acquired through GDS messaging. Although the technical records 137 and 138 are similar in that they pertain to air content communicated through independent messaging channels, the principles set forth herein apply to other types of technical records pertaining to other content (e.g. hotel, car rental, etc.).
  • In the example, folder data object 141 contains a link defining an association of the element IDs in each of the supplier data objects 137 and 138 for identifying passenger Mr. Toto as a common element shared between the data objects. The generated virtual aggregated data object includes data elements for identifying the passenger, Mr. Toto, and the two flight elements: FE 001 and FE 002.
  • At block 325, the aggregated data object is returned to the back-end system 144 (order view builder) which, at block 330, transmits the aggregated data object back to client subsystem 120 for viewing, updating, etc.
  • With respect to updating, FIG. 5 illustrates a method 500 of updating an element of an aggregated functional data object, according to an embodiment. The method 500 will be described in conjunction with its performance within the system 600, as illustrated in FIG. 6. In particular, the blocks of the method 500 are performed by transaction processor 132 via the execution of the application 212 by the processor 200. At block 505, the transaction processor 132 is configured to receive a request from client subsystem 120 to modify one or more supplier data objects. For example, client subsystem 120 may request that a remark linked to FE 001 NDC content be added to a PNR.
  • At block 510, travel platform module 136 passes the request to the virtual record handler 140 which, at block 515, retrieves data objects 137, 138 and 141 and exchanges messages with back-end system 144 which, in the illustrated example comprises a back-end remarks handling system. The virtual record handler 140 analyzes the request and determines that the remark only needs to be added to the NDC content (e.g. by distributing a query only to the NDC record). The virtual record handler 140 thereby splits the update actions at the physical level and then regenerates the aggregated view to add the updated remark to the NDC content, at block 520, and returns the updated data object for record ABCDEF to travel platform module 136 which, at block 525, transmits the aggregated data object back to client subsystem 120 for viewing, updating, etc.
  • A person of skill in the art will understand that additional functionality may be provided by the virtual record handler 140 set forth herein. For example, supplier 104-1 or 104-2 may “split” a PNR to add an additional passenger, in which case a conventional system would present to the user two records having two locators (e.g. ABCDEF and GHIJKL). According to the method and system set forth herein, the virtual record handler 140 will aggregate the user view showing both passengers with a single locator.
  • Those skilled in the art will appreciate that in some embodiments, the functionality of the application 212 at the transaction processor 132 may be implemented using pre-programmed hardware or firmware elements (e.g., application specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), etc.), or other related components. Also, as will be apparent to those skilled in the art, the systems and methods discussed above can also be applied to various other types of data objects (that is, data objects defining a wide variety of other forms of products) and is not limited to travel reservation systems and data objects associated therewith.
  • The scope of the claims should not be limited by the embodiments set forth in the above examples, but should be given the broadest interpretation consistent with the description as a whole.

Claims (19)

1. A method of generating an aggregated functional data object for a client subsystem from a set of supplier data objects having different data object formats, comprising:
storing the set of supplier data objects according to their respective data object formats, each supplier data object including a plurality of elements;
creating a further data object for linking selected supplier data objects based on common ones of said elements shared between the selected supplier data objects; and
creating the aggregated functional data object by merging and combining said common ones of said elements with remaining ones of the plurality of elements from the selected supplier data objects according to said linking, for presentation to the client subsystem.
2. The method of claim 1, further comprising:
receiving a request from the client subsystem to modify one of the selected supplier data objects and in response one of either creating, deleting or modifying elements of said one of the supplier data objects;
updating the linking to reflect any modification of said common ones of said elements; and
creating a further aggregated functional data object by merging and combining said common ones of said elements with said remaining ones of the plurality of elements from the selected supplier data objects, including the modified one of the selected supplier data objects, according to the updated linking, for presentation to the client subsystem.
3. The method of claim 1, wherein each of said supplier data objects includes a distribution channel indicator indicative of its data object format.
4. The method of claim 1, wherein each of said supplier data objects includes a record identifier.
5. The method of claim 4, wherein each said record identifier is maintained in said further data object upon creating the aggregated functional data object.
6. The method of claim 1, wherein the data object formats correspond to data acquired through at least one of either New Distribution Capability (NDC) messaging and Global Distribution System (GDS) messaging.
7. The method of claim 2, wherein creating elements of said one of the supplier data objects comprises copying one or more common elements from another one of the supplier data objects.
8. The method of claim 1, wherein the set of supplier data objects and further data object use identical serialization.
9. The method of claim 6, wherein the aggregated functional object is presented to the client subsystem using an Application Programming Interface (API) according to a context defined by said one of the data object formats.
10. A transaction processor server, comprising:
a memory storing:
a set of supplier data objects stored according to respective data object formats, each supplier data object including a plurality of elements; and
a processor interconnected with the memory, the processor configured to:
create a further data object for linking selected supplier data objects based on common ones of said elements shared between the selected supplier data objects;
create an aggregated functional data object by merging and combining said common ones of said elements with remaining ones of the plurality of elements from the selected supplier data objects according to said linking; and
present the aggregated functional data object to a client subsystem.
11. The transaction processor server of claim 10, wherein the processor is further configured to:
receive a request from the client subsystem to modify one of the selected supplier data objects and in response one of either create, delete or modify elements of said one of the supplier data objects;
update the linking to reflect any modification of said common ones of said elements;
create a further aggregated functional data object by merging and combining said common ones of said elements with said remaining ones of the plurality of elements from the selected supplier data objects, including the modified one of the selected supplier data objects, according to said linking; and
present the further aggregated functional data object to the client subsystem.
12. The transaction processor server of claim 10, wherein each of said supplier data objects includes a distribution channel indicator indicative of its data object format.
13. The transaction processor server of claim 10, wherein each of said supplier data objects includes a record identifier.
14. The transaction processor server of claim 13, wherein the processor is further configured to maintain each said record identifier in said further data object upon creating the aggregated functional data object.
15. The transaction processor server of claim 10, wherein the data object formats correspond to data acquired through at least one of either New Distribution Capability (NDC) messaging and Global Distribution System (GDS) messaging.
16. The transaction processor server of claim 11, wherein the processor is further configured to create elements of said one of the supplier data objects by copying one or more common elements from another one of the supplier data objects.
17. The transaction processor server of claim 10, wherein the set of supplier data objects and further data object use identical serialization.
18. The transaction processor server of claim 15, wherein the aggregated functional object is presented to the client subsystem using an Application Programming Interface (API) according to a context defined by said one of the data object formats.
19. A computer program product comprising program instructions stored on a computer readable medium, for generation of an aggregated functional data object for a client subsystem from a set of supplier data objects having different data object formats, wherein execution of the instructions by a transaction processor server configures the transaction processor server to:
store the set of supplier data objects according to their respective data object formats, each supplier data object including a plurality of elements;
create a further data object for linking selected supplier data objects based on common ones of said elements shared between the selected supplier data objects; and
create the aggregated functional data object by merging and combining said common ones of said elements with remaining ones of the plurality of elements from the selected supplier data objects according to said linking, for presentation to the client subsystem.
US16/724,577 2019-05-29 2019-12-23 System and method of generating aggregated functional data Abandoned US20200380425A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP20177163.1A EP3745279A1 (en) 2019-05-29 2020-05-28 System and method of generating aggregated functional data objects

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1905718A FR3096799B1 (en) 2019-05-29 2019-05-29 AGGREGATION AND UPDATE OF HETEROGENEOUS DATA OBJECTS
FR1905718 2019-05-29

Publications (1)

Publication Number Publication Date
US20200380425A1 true US20200380425A1 (en) 2020-12-03

Family

ID=68138362

Family Applications (3)

Application Number Title Priority Date Filing Date
US16/699,233 Active 2040-10-10 US11494709B2 (en) 2019-05-29 2019-11-29 System and method for integrating heterogeneous data objects
US16/724,577 Abandoned US20200380425A1 (en) 2019-05-29 2019-12-23 System and method of generating aggregated functional data
US16/883,185 Active US11087244B2 (en) 2019-05-29 2020-05-26 System and method for aggregating and updating heterogeneous data objects

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US16/699,233 Active 2040-10-10 US11494709B2 (en) 2019-05-29 2019-11-29 System and method for integrating heterogeneous data objects

Family Applications After (1)

Application Number Title Priority Date Filing Date
US16/883,185 Active US11087244B2 (en) 2019-05-29 2020-05-26 System and method for aggregating and updating heterogeneous data objects

Country Status (4)

Country Link
US (3) US11494709B2 (en)
EP (1) EP3745277B1 (en)
ES (1) ES2936009T3 (en)
FR (3) FR3096799B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11595494B1 (en) * 2021-12-23 2023-02-28 Amadeus S.A.S. Device, system and method controlling operation of a client device via an intermediation server
US20230074998A1 (en) * 2020-02-17 2023-03-09 Aero Travel Solutions Pty Ltd System and method for integrated multimodal travel bookings
US20240184776A1 (en) * 2022-12-01 2024-06-06 Amadeus S.A.S. Device, system and method for reducing bandwidth usage by performing provider object adjustments at an intermediation server based on historical data
US12289376B2 (en) 2023-09-27 2025-04-29 Amadeus S.A.S. Device, system and method for providing a data pathway between a client device and a provider system
US12307394B2 (en) * 2022-10-25 2025-05-20 Amadeus S.A.S. Device, system and method for distributing and locally persisting provider objects
US12443897B2 (en) 2021-12-23 2025-10-14 Amadeus S.A.S. Device, system and method controlling operation of a client device via an intermediation server

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3096799B1 (en) * 2019-05-29 2021-11-05 Amadeus AGGREGATION AND UPDATE OF HETEROGENEOUS DATA OBJECTS
WO2022014030A1 (en) * 2020-07-17 2022-01-20 三菱電機株式会社 Processing device, communication device, communication system, control circuit, recording medium, and information sharing method
US12242426B2 (en) * 2020-09-15 2025-03-04 Open Ext Holdings, Inc. Bi-directional synchronization of content and metadata between repositories
EP4033718B1 (en) 2021-01-22 2025-12-24 Amadeus S.A.S. Direct-channel data update in mediated data exchange systems
US20230306315A1 (en) * 2022-03-23 2023-09-28 Amadeus S.A.S. Method and system for low-impact transfer of provider-dependent items
US12437324B2 (en) * 2022-12-01 2025-10-07 Amadeus S.A.S. Device, system and method for reproducing a requesting step between a client device and a provider system at an intermediation server
CN115794931B (en) * 2023-01-29 2023-05-05 中国民航信息网络股份有限公司 Early warning method, system, equipment and storage medium of NDC aggregator

Citations (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307484A (en) * 1991-03-06 1994-04-26 Chrysler Corporation Relational data base repository system for managing functional and physical data structures of nodes and links of multiple computer networks
US5918209A (en) * 1996-01-11 1999-06-29 Talus Solutions, Inc. Method and system for determining marginal values for use in a revenue management system
US6052687A (en) * 1997-06-13 2000-04-18 Fujitsu Limited Relational database search system and method, and intermediate link table generating method and storage medium
US6185557B1 (en) * 1998-07-31 2001-02-06 Unisys Corporation Merge join process
US20020007327A1 (en) * 2000-07-14 2002-01-17 Lisa Steury Fee allocator system and method
US6374252B1 (en) * 1995-04-24 2002-04-16 I2 Technologies Us, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US6678700B1 (en) * 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US6898590B1 (en) * 2001-12-28 2005-05-24 Edsmart, Inc. School system database
US20060106655A1 (en) * 2003-08-05 2006-05-18 Ladislav Lettovsky System and method for coordinating travel itineraries
US7181440B2 (en) * 2000-04-03 2007-02-20 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US20070073562A1 (en) * 2005-09-28 2007-03-29 Sabre Inc. System, method, and computer program product for providing travel information using information obtained from other travelers
US20080120129A1 (en) * 2006-05-13 2008-05-22 Michael Seubert Consistent set of interfaces derived from a business object model
US20080195643A1 (en) * 2007-02-08 2008-08-14 Kgmp Trust Graphical Database Interaction System and Method
US20090216746A1 (en) * 2006-01-25 2009-08-27 Francois Aubin Method, System, and Apparatus for Aggregation System for Searchable Travel Data
US7664729B2 (en) * 2003-08-28 2010-02-16 Accenture Global Services Gmbh Capture, aggregation and/or visualization of structural data of architectures
US20100161366A1 (en) * 2008-12-19 2010-06-24 Achim Clemens Product requirement specification in production model
US20100161627A1 (en) * 2008-12-18 2010-06-24 Sap Ag Generic data object mapping agent
US7761377B2 (en) * 2002-08-30 2010-07-20 Sap Ag Methods and systems for automated generation of bills
US7895191B2 (en) * 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US20120109888A1 (en) * 2010-07-28 2012-05-03 Beijing Borqs Software Technology Co., Ltd. Data partitioning method of distributed parallel database system
US20120310917A1 (en) * 2011-05-31 2012-12-06 International Business Machines Corporation Accelerated Join Process in Relational Database Management System
US8380750B2 (en) * 2011-02-17 2013-02-19 International Business Machines Corporation Searching and displaying data objects residing in data management systems
US20130159901A1 (en) * 2011-11-11 2013-06-20 Hakan WOLGE Alternate states in associative information mining and analysis
US20140280374A1 (en) * 2013-03-15 2014-09-18 The Mathworks, Inc. TABLE APPLICATION PROGRAMMING INTERFACES (APIs)
US20150363469A1 (en) * 2012-08-13 2015-12-17 Aria Solutions, Inc. High performance real-time relational database system and methods for using same
US20180204294A1 (en) * 2017-01-13 2018-07-19 Routehappy Inc. Computer based system and method for developing, managing and distributing mixed media content in the travel services industry
US20180211189A1 (en) * 2017-01-23 2018-07-26 Amadeus S.A.S. Record aggregation database
US20180246920A1 (en) * 2017-02-27 2018-08-30 Qliktech International Ab Methods And Systems For Extracting And Visualizing Patterns In Large-Scale Data Sets
US10387404B1 (en) * 2015-12-15 2019-08-20 Progress Software Corporation Synthesized predicate driven index selection for partitioned table
US20190294717A1 (en) * 2018-03-22 2019-09-26 Google Llc Method and system for performing inner-joins on a sharded data set
US20190303482A1 (en) * 2018-04-03 2019-10-03 Oracle International Corporation Limited memory and statistics resilient hash join execution
US10445665B2 (en) * 2015-06-24 2019-10-15 Onriva, Inc. Travel distribution system
US20200379971A1 (en) * 2019-05-29 2020-12-03 Amadeus S.A.S. System and method for aggregating and updating heterogeneous data objects
US10922709B2 (en) * 2017-01-13 2021-02-16 Onriva Llc Merchandising platform for airline industries
US11276094B2 (en) * 2019-10-18 2022-03-15 Amadeus S.A.S. Device, system and method for intermediation between a provider system that provides provider objects and a client device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US9767495B2 (en) * 2008-12-19 2017-09-19 Sap Se Different sales and planning product options
EP2718841A4 (en) * 2011-06-06 2015-03-11 Stone Bond Technologies L P Code generation and implementation method, system, and storage medium for delivering bidirectional data aggregation and updates
EP2842058A1 (en) * 2012-03-28 2015-03-04 BMC Software, Inc. Requesting and displaying a business service context from a virtual database
FR3021788B1 (en) * 2014-05-30 2023-07-21 Amadeus Sas CONTENT ACCESS METHOD AND SYSTEM
US9672260B2 (en) * 2014-10-07 2017-06-06 Google Inc. Systems and methods for updating data across multiple network architectures
US20160217216A1 (en) * 2015-01-27 2016-07-28 The One Page Company Inc. Systems, methods, and devices for implementing a referral search
WO2017103864A1 (en) * 2015-12-18 2017-06-22 Gbt Travel Services Uk Ltd Generating consolidated travel records from distinct formats

Patent Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307484A (en) * 1991-03-06 1994-04-26 Chrysler Corporation Relational data base repository system for managing functional and physical data structures of nodes and links of multiple computer networks
US6374252B1 (en) * 1995-04-24 2002-04-16 I2 Technologies Us, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US5918209A (en) * 1996-01-11 1999-06-29 Talus Solutions, Inc. Method and system for determining marginal values for use in a revenue management system
US6052687A (en) * 1997-06-13 2000-04-18 Fujitsu Limited Relational database search system and method, and intermediate link table generating method and storage medium
US6185557B1 (en) * 1998-07-31 2001-02-06 Unisys Corporation Merge join process
US7181440B2 (en) * 2000-04-03 2007-02-20 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US6678700B1 (en) * 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US20020007327A1 (en) * 2000-07-14 2002-01-17 Lisa Steury Fee allocator system and method
US6898590B1 (en) * 2001-12-28 2005-05-24 Edsmart, Inc. School system database
US7761377B2 (en) * 2002-08-30 2010-07-20 Sap Ag Methods and systems for automated generation of bills
US7895191B2 (en) * 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US20060106655A1 (en) * 2003-08-05 2006-05-18 Ladislav Lettovsky System and method for coordinating travel itineraries
US7664729B2 (en) * 2003-08-28 2010-02-16 Accenture Global Services Gmbh Capture, aggregation and/or visualization of structural data of architectures
US20070073562A1 (en) * 2005-09-28 2007-03-29 Sabre Inc. System, method, and computer program product for providing travel information using information obtained from other travelers
US20090216746A1 (en) * 2006-01-25 2009-08-27 Francois Aubin Method, System, and Apparatus for Aggregation System for Searchable Travel Data
US20080120129A1 (en) * 2006-05-13 2008-05-22 Michael Seubert Consistent set of interfaces derived from a business object model
US20080195643A1 (en) * 2007-02-08 2008-08-14 Kgmp Trust Graphical Database Interaction System and Method
US20100161627A1 (en) * 2008-12-18 2010-06-24 Sap Ag Generic data object mapping agent
US20100161366A1 (en) * 2008-12-19 2010-06-24 Achim Clemens Product requirement specification in production model
US20120109888A1 (en) * 2010-07-28 2012-05-03 Beijing Borqs Software Technology Co., Ltd. Data partitioning method of distributed parallel database system
US8380750B2 (en) * 2011-02-17 2013-02-19 International Business Machines Corporation Searching and displaying data objects residing in data management systems
US20120310917A1 (en) * 2011-05-31 2012-12-06 International Business Machines Corporation Accelerated Join Process in Relational Database Management System
US20130159901A1 (en) * 2011-11-11 2013-06-20 Hakan WOLGE Alternate states in associative information mining and analysis
US20150363469A1 (en) * 2012-08-13 2015-12-17 Aria Solutions, Inc. High performance real-time relational database system and methods for using same
US20140280374A1 (en) * 2013-03-15 2014-09-18 The Mathworks, Inc. TABLE APPLICATION PROGRAMMING INTERFACES (APIs)
US10445665B2 (en) * 2015-06-24 2019-10-15 Onriva, Inc. Travel distribution system
US10387404B1 (en) * 2015-12-15 2019-08-20 Progress Software Corporation Synthesized predicate driven index selection for partitioned table
US20180204294A1 (en) * 2017-01-13 2018-07-19 Routehappy Inc. Computer based system and method for developing, managing and distributing mixed media content in the travel services industry
US10922709B2 (en) * 2017-01-13 2021-02-16 Onriva Llc Merchandising platform for airline industries
US20180211189A1 (en) * 2017-01-23 2018-07-26 Amadeus S.A.S. Record aggregation database
US20180246920A1 (en) * 2017-02-27 2018-08-30 Qliktech International Ab Methods And Systems For Extracting And Visualizing Patterns In Large-Scale Data Sets
US20190294717A1 (en) * 2018-03-22 2019-09-26 Google Llc Method and system for performing inner-joins on a sharded data set
US20190303482A1 (en) * 2018-04-03 2019-10-03 Oracle International Corporation Limited memory and statistics resilient hash join execution
US20200379971A1 (en) * 2019-05-29 2020-12-03 Amadeus S.A.S. System and method for aggregating and updating heterogeneous data objects
US11087244B2 (en) * 2019-05-29 2021-08-10 Amadeus S.A.S. System and method for aggregating and updating heterogeneous data objects
US11494709B2 (en) * 2019-05-29 2022-11-08 Amadeus S.A.S. System and method for integrating heterogeneous data objects
US11276094B2 (en) * 2019-10-18 2022-03-15 Amadeus S.A.S. Device, system and method for intermediation between a provider system that provides provider objects and a client device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230074998A1 (en) * 2020-02-17 2023-03-09 Aero Travel Solutions Pty Ltd System and method for integrated multimodal travel bookings
US11595494B1 (en) * 2021-12-23 2023-02-28 Amadeus S.A.S. Device, system and method controlling operation of a client device via an intermediation server
US12443897B2 (en) 2021-12-23 2025-10-14 Amadeus S.A.S. Device, system and method controlling operation of a client device via an intermediation server
US12307394B2 (en) * 2022-10-25 2025-05-20 Amadeus S.A.S. Device, system and method for distributing and locally persisting provider objects
US20240184776A1 (en) * 2022-12-01 2024-06-06 Amadeus S.A.S. Device, system and method for reducing bandwidth usage by performing provider object adjustments at an intermediation server based on historical data
US12130806B2 (en) * 2022-12-01 2024-10-29 Amadeus S.A.S. Device, system and method for reducing bandwidth usage by performing provider object adjustments at an intermediation server based on historical data
US12289376B2 (en) 2023-09-27 2025-04-29 Amadeus S.A.S. Device, system and method for providing a data pathway between a client device and a provider system

Also Published As

Publication number Publication date
FR3096799A1 (en) 2020-12-04
US20200379971A1 (en) 2020-12-03
US11087244B2 (en) 2021-08-10
EP3745277B1 (en) 2022-11-02
FR3096802A1 (en) 2020-12-04
ES2936009T3 (en) 2023-03-13
US20200379972A1 (en) 2020-12-03
FR3096800B1 (en) 2022-04-29
EP3745277A1 (en) 2020-12-02
FR3096802B1 (en) 2022-08-05
FR3096799B1 (en) 2021-11-05
US11494709B2 (en) 2022-11-08
FR3096800A1 (en) 2020-12-04

Similar Documents

Publication Publication Date Title
US20200380425A1 (en) System and method of generating aggregated functional data
CN113298621B (en) Processing method of civil aviation retail order and related equipment
US12443897B2 (en) Device, system and method controlling operation of a client device via an intermediation server
US20210117849A1 (en) Device, system and method for providing provider objects from a cache
US11595494B1 (en) Device, system and method controlling operation of a client device via an intermediation server
WO2016102590A1 (en) Customer servicing system and method therefor
US11907323B2 (en) System and method for legacy-based access to non-legacy data
US11176599B2 (en) System and method of auxiliary data access
US12493628B2 (en) Synchronization of data records
EP3745279A1 (en) System and method of generating aggregated functional data objects
EP3745278B1 (en) System and method for integrating heterogeneous data objects
AU2020277254A1 (en) System and method for legacy-based access to non-legacy data
US20230147898A1 (en) Device, system and method for mode-based synchronization of data records
US20260023761A1 (en) Method and apparatus for differential processing of data record components
US10979494B1 (en) System and method for multi-stage generation of responses to data requests
US20240232728A9 (en) Device, system and method for generating trained models to generate provider objects
US20230306315A1 (en) Method and system for low-impact transfer of provider-dependent items
US12437324B2 (en) Device, system and method for reproducing a requesting step between a client device and a provider system at an intermediation server
US20240184776A1 (en) Device, system and method for reducing bandwidth usage by performing provider object adjustments at an intermediation server based on historical data
US20240078150A1 (en) Device, system and method for resolving errors between a client device, an intermediation server and a provider system
EP3828727A1 (en) System and method of auxiliary data access
AU2016200851A1 (en) Travel activity tracking system
WO2024088838A1 (en) Device, system and method for generating trained models to generate provider objects
WO2024115747A1 (en) Device, system and method for reproducing a requesting step between a client device and a provider system at an intermediation server

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED

AS Assignment

Owner name: AMADEUS S.A.S., FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BRUN, PIERRE;HAYS, JEAN-CHAFIC;FAUDET, FLORIANE;AND OTHERS;SIGNING DATES FROM 20200115 TO 20200120;REEL/FRAME:051934/0721

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION