US20200380425A1 - System and method of generating aggregated functional data - Google Patents
System and method of generating aggregated functional data Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/12—Hotels 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
Description
- This application claims priority from French Patent Application No. 19 05718, filed May 29, 2019, the contents of which is incorporated herein by reference.
- 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, 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.
- 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.
- 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 inFIG. 1 ; -
FIG. 3 depicts a method of generating an aggregated functional data object according to the system ofFIG. 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 ofFIG. 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 ofFIG. 5 . -
FIG. 1 depicts asystem 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, thesystem 100 can include a further GDS-based supplier for low-cost carrier airlines. - The
system 100 also includes aclient subsystem 120, for example operated by a travel agency or the like, configured to interact with the supplier subsystems 104 via anetwork 128 including any suitable combination of local- and wide-area networks (including the Internet). Theclient 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 thesystem 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 atransaction 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. Thetransaction 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). Thetransaction 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, thetransaction processor 132 includes atravel platform module 136 and avirtual record handler 140.Travel platform module 136 is the entry point to thetransaction processor 132 for theclient subsystem 120 and supplier subsystems 104. Thetravel 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 thetravel 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 thetravel platform module 136 is extended to store multiple data objects in memory (i.e. multi-record context), such as differently formatted NDC and GDS 137 and 138, as well as arecords 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 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.records - The
folder data object 141 stores links between the 137, 138, etc. For example,various data objects 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 inFIG. 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 thetravel platform module 136 by taking elements from 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.multiple data objects - The
transaction processor 132 is also configured to provide aggregated update operations to theclient subsystem 120, e.g. in the form of an application programming interface (API). Theclient 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 thetransaction processor 132. Thetransaction processor 132 is configured to generate one or more supplier-specific update operations in response to receiving an aggregated update request from theclient subsystem 120, as discussed below. - Turning to
FIG. 2 , before discussing the functionality of thesystem 100 in greater detail, certain components of thetransaction processor 132 will be discussed in greater detail. - As shown in
FIG. 2 , thetransaction processor 132 includes at least oneprocessor 200, such as a central processing unit (CPU) or the like. Theprocessor 200 is interconnected with amemory 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). Theprocessor 200 and thememory 204 are generally comprised of one or more integrated circuits (ICs). - The
processor 200 is also interconnected with acommunication interface 208, which enables thetransaction 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 thenetwork 128. Thecommunication interface 208 therefore includes any necessary components (e.g. network interface controllers (NICs), radio units, and the like) to communicate via thenetwork 128. The specific components of thecommunication interface 208 are selected based on the nature of thenetwork 128. Thetransaction processor 132 can also include input and output devices connected to theprocessor 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, thetransaction processor 132 includes a plurality of processors, either sharing thememory 204 andcommunication 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 withFIG. 1 . Thememory 204 also stores a plurality of computer-readable programming instructions, executable by theprocessor 200, in the form of various applications, including anaggregation application 212. As will be understood by those skilled in the art, theprocessor 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, theprocessor 200, and more generally thetransaction 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 inmemory 204. Execution of theapplication 212, as will be discussed below, configures thetransaction processor 132 to generate an aggregated functional data object from a set of supplier data objects having different data object formats, for presentation to theclient subsystem 120. Execution of theapplication 212 also configures thetransaction processor 132 to receive aggregated update operations from theclient 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 thesystem 100 will be described in greater detail. Specifically,FIG. 3 illustrates amethod 300 of generating an aggregated functional data object, according to an embodiment. Themethod 300 will be described in conjunction with its performance within thesystem 100, as illustrated inFIG. 4 . In particular, the blocks of themethod 300 are performed bytransaction processor 132 via the execution of theapplication 212 by theprocessor 200. - At
block 305, thetransaction processor 132 is configured to receive a request fromclient subsystem 120 to retrieve one or more supplier data objects, which need not be received from the same supplier 104. For example, theclient 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, thetravel platform module 136 passes the request to a back-end system 144, such as an order view builder. The order view builder, atblock 315, formulates a request to thevirtual record handler 140 for generating an aggregated functional data object. In response, atblock 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 aflight 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 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.).technical records - 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 andFE 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 toclient subsystem 120 for viewing, updating, etc. - With respect to updating,
FIG. 5 illustrates amethod 500 of updating an element of an aggregated functional data object, according to an embodiment. Themethod 500 will be described in conjunction with its performance within thesystem 600, as illustrated inFIG. 6 . In particular, the blocks of themethod 500 are performed bytransaction processor 132 via the execution of theapplication 212 by theprocessor 200. Atblock 505, thetransaction processor 132 is configured to receive a request fromclient subsystem 120 to modify one or more supplier data objects. For example,client subsystem 120 may request that a remark linked toFE 001 NDC content be added to a PNR. - At
block 510,travel platform module 136 passes the request to thevirtual record handler 140 which, atblock 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. Thevirtual 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). Thevirtual 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, atblock 520, and returns the updated data object for record ABCDEF to travelplatform module 136 which, atblock 525, transmits the aggregated data object back toclient 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, thevirtual 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 thetransaction 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)
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)
| 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)
| 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)
| 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)
| 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 |
-
2019
- 2019-05-29 FR FR1905718A patent/FR3096799B1/en not_active Expired - Fee Related
- 2019-11-29 US US16/699,233 patent/US11494709B2/en active Active
- 2019-11-29 FR FR1913444A patent/FR3096800B1/en active Active
- 2019-12-23 US US16/724,577 patent/US20200380425A1/en not_active Abandoned
- 2019-12-23 FR FR1915437A patent/FR3096802B1/en active Active
-
2020
- 2020-05-26 US US16/883,185 patent/US11087244B2/en active Active
- 2020-05-28 EP EP20177020.3A patent/EP3745277B1/en active Active
- 2020-05-28 ES ES20177020T patent/ES2936009T3/en active Active
Patent Citations (37)
| 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)
| 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 |