Apparatus, system, and method for providing helper objects from a cache and categorized provider objects

CN114787835BActive Publication Date: 2026-09-25AMADEUS SAS
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080085863.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-10
Filing Date
2020-11-24
Publication Date
2026-09-25
Estimated Expiration
2040-11-24

AI Technical Summary

Technical Problem

虽然此类实体可以被配置为根据标准化格式(例如,在旅行相关产品的上下文中,根据基于可扩展标记语言(XML)的新分销能力(NDC)标准))交换数据,但是它们仍然可能采用不同的机制来发起数据交换

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114787835B_ABST
    Figure CN114787835B_ABST
Patent Text Reader

Abstract

Devices, systems, and methods are provided for providing ancillary objects from a cache and / or for providing categorized provider objects. One or more servers receive a flight object representing a flight and search an ancillary object cache for predetermined ancillary objects associated with previous flights similar to the flight. When one or more predetermined ancillary objects associated with at least one previous flight similar to the flight are found at the ancillary object cache, a requesting device is provided with a response corresponding to the flight object and one or more of the predetermined ancillary objects associated with the at least one previous flight similar to the flight. The flight object and the ancillary objects can be assembled into a provider object that is provided to the requesting device. The provider object can be categorized based on provider object categorization criteria associated with the requesting device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification generally relates to databases, and more specifically to devices, systems, and methods for providing auxiliary objects from caches and providing provider objects for classification. Background Technology

[0002] The supply of various products (including, for example, travel-related goods and services such as flights, hotel bookings, etc.) typically requires various discrete entities to exchange data defining aspects of the products. In the context of travel-related products, examples of such entities include airlines, travel agencies, end-users, booking systems, etc. While such entities can be configured to exchange data according to standardized formats (e.g., in the context of travel-related products, according to the New Distribution Capability (NDC) standard based on Extensible Markup Language (XML)), they may still employ different mechanisms to initiate data exchange. Summary of the Invention

[0003] One aspect of this specification provides a server for providing auxiliary objects from a cache, the server comprising: a communication interface; and a controller configured to: receive via the communication interface a flight object representing a flight provided by one or more provider systems; search in an auxiliary object cache for predetermined auxiliary objects associated with a previous flight similar to the flight; and when one or more of the predetermined auxiliary objects associated with at least one previous flight similar to the flight are found in the auxiliary object cache, provide via the communication interface a response corresponding to the flight object and one or more of the predetermined auxiliary objects associated with at least one previous flight similar to the flight to the requesting device.

[0004] In some embodiments, the controller is further configured to, when one or more of the predetermined auxiliary objects are not found in the auxiliary object cache: request an additional auxiliary object associated with the flight from one or more provider systems, such that the response includes the additional auxiliary object received from one or more provider systems in place of one or more of the predetermined auxiliary objects; and store the additional auxiliary object received from one or more provider systems in the auxiliary object cache as an additional predetermined auxiliary object.

[0005] In some embodiments, the controller is further configured to, when one or more predetermined auxiliary objects are not found in the auxiliary object cache: provide a response indicating no auxiliary object; request additional auxiliary objects from one or more provider systems, the additional auxiliary objects being associated with the flight; and store the additional auxiliary objects received from one or more provider systems in the auxiliary object cache as additional predetermined auxiliary objects.

[0006] In some embodiments, the controller is further configured to: receive a request for a flight object from the requesting device; search for a flight object from at least one of a flight object cache and one or more provider systems based on the criteria of the request; and receive the flight object from at least one of the flight object cache and one or more provider systems.

[0007] In some embodiments, the controller is further configured to: receive a predetermined auxiliary object; classify the predetermined auxiliary object based on one or more of its type and previous flight associations; and store the classified predetermined auxiliary object in an auxiliary object cache.

[0008] One aspect of this specification provides a method for providing an auxiliary object from a cache, the method being performed at a server and comprising: receiving, via a communication interface, a flight object representing a flight provided by one or more provider systems; searching in an auxiliary object cache for predetermined auxiliary objects associated with a previous flight similar to the flight; and, when one or more of the predetermined auxiliary objects associated with at least one previous flight similar to the flight are found in the auxiliary object cache, providing, via the communication interface, a response corresponding to the flight object and one or more of the predetermined auxiliary objects associated with at least one previous flight similar to the flight to the requesting device.

[0009] In some embodiments, the method includes, when one or more of the predetermined auxiliary objects are not found in the auxiliary object cache: requesting an additional auxiliary object associated with the flight from one or more provider systems, such that the response includes the additional auxiliary object received from the one or more provider systems in place of one or more of the predetermined auxiliary objects; and storing the additional auxiliary object received from the one or more provider systems in the auxiliary object cache as an additional predetermined auxiliary object.

[0010] In some embodiments, the method includes, when one or more predetermined auxiliary objects are not found in the auxiliary object cache: providing a response that no auxiliary object is found; requesting an additional auxiliary object from one or more provider systems, the additional auxiliary object being associated with the flight; and storing the additional auxiliary object received from one or more provider systems in the auxiliary object cache as an additional predetermined auxiliary object.

[0011] In some embodiments, the method includes: receiving a request for a flight object from a requesting device; searching for a flight object from at least one of a flight object cache and one or more provider systems based on criteria of the request; and receiving the flight object from at least one of the flight object cache and one or more provider systems.

[0012] In some embodiments, the method includes: receiving a predetermined auxiliary object; classifying the predetermined auxiliary object based on one or more of a type and a previous flight association; and storing the classified predetermined auxiliary object in an auxiliary object cache.

[0013] Another aspect of this specification provides a method for providing classified provider objects, the method comprising: receiving, at one or more servers, a request from a requesting device for one or more provider objects provided by one or more provider systems; at one or more servers, searching for provider objects in one or more of the provider systems, a flight object cache, and an auxiliary object cache; receiving the one or more provider objects at one or more servers; at one or more servers, classifying the provider objects based on provider object classification criteria associated with the requesting device; and at one or more servers, providing a response corresponding to the classified provider objects to the requesting device.

[0014] In some embodiments, the method further includes: ranking the classified provider objects based on provider object classification criteria, wherein the response corresponds to the classified and ranked provider object.

[0015] In some embodiments, the provider object classification criteria include a pre-filled definition of one or more of the flight’s corresponding service level, associated fare rules, and associated services of the flight, which is associated with the requesting device rather than with one or more provider systems.

[0016] In some embodiments, the method further includes, when the request includes a shopping request: searching for a provider object by one or more of the following: searching for a flight object that meets the criteria of the request in one or more of the provider system and the flight object cache; and searching for an auxiliary object associated with the flight object in the auxiliary object cache; and receiving a provider object by one or more of the following: receiving one or more of the flight object and the auxiliary object; assembling one or more of the flight object and the auxiliary object into a provider object for classification; and assembling one or more of the flight object and the auxiliary object into a provider object based on the provider object classification criteria.

[0017] In some embodiments, the method further includes, when the request includes a pricing request: searching for a provider object by one or more of the following: searching a provider system for flight objects that meet the criteria of the request; and requesting a service list from the provider system that defines ancillary objects associated with the flight objects; and receiving a provider object by one or more of the following: receiving one or more of the flight objects and the service list; assembling the flight objects and one or more of the ancillary objects defined by the service list into a provider object for classification; and assembling one or more of the flight objects and the ancillary objects into a provider object based on provider object classification criteria.

[0018] Another aspect of this specification provides a computer program comprising program code instructions that, when executed on a computer, perform the steps of the method according to any of the above-described method aspects and embodiments.

[0019] Another aspect of this specification provides a non-transitory computer-readable medium storing a computer program, wherein execution of the computer program is configured to: receive at one or more servers a flight object representing a flight provided by one or more provider systems; at one or more servers, search in an auxiliary object cache for predetermined auxiliary objects associated with a previous flight similar to the flight; and when one or more of the predetermined auxiliary objects associated with at least one previous flight similar to the flight are found in the auxiliary object cache, provide a response corresponding to the flight object and one or more of the predetermined auxiliary objects associated with at least one previous flight similar to the flight to the requesting device via one or more servers.

[0020] In some embodiments of a non-transitory computer-readable medium, the execution of the computer program is further configured to, when one or more of the predetermined auxiliary objects are not found in the auxiliary object cache: request an additional auxiliary object from one or more provider systems, the additional auxiliary object being associated with the flight, such that the response includes the additional auxiliary object received from one or more provider systems in place of one or more of the predetermined auxiliary objects; and store the additional auxiliary object received from one or more provider systems in the auxiliary object cache as an additional predetermined auxiliary object.

[0021] In some embodiments of the non-transitory computer-readable medium, the execution of the computer program is further configured to, when one or more predetermined auxiliary objects are not found in the auxiliary object cache: provide a response indicating no auxiliary object; request additional auxiliary objects from one or more provider systems, the additional auxiliary objects being associated with the flight; and store the additional auxiliary objects received from one or more provider systems in the auxiliary object cache as additional predetermined auxiliary objects.

[0022] In some embodiments of a non-transitory computer-readable medium, the execution of the computer program is further configured to: receive a request for a flight object from the requesting device; search for a flight object from at least one of a flight object cache and one or more provider systems based on criteria of the request; and receive the flight object from at least one of the flight object cache and one or more provider systems.

[0023] In some embodiments of the non-transitory computer-readable medium, the execution of the computer program is further configured to: receive a predetermined auxiliary object; classify the predetermined auxiliary object based on one or more of its type and previous flight associations; and store the classified predetermined auxiliary object in an auxiliary object cache.

[0024] Another aspect of this specification provides a server for providing categorized provider objects, the server comprising: a communication interface; and a controller configured to: receive, via the communication interface, a request from a requesting device for one or more provider objects provided by one or more provider systems; search for provider objects in one or more of the provider systems, a flight object cache, and an auxiliary object cache; receive one or more provider objects; categorize the provider objects based on provider object classification criteria associated with the requesting device; and provide a response corresponding to the categorized provider objects to the requesting device via the communication interface.

[0025] Another aspect of this specification provides a non-transitory computer-readable medium storing a computer program, wherein execution of the computer program is configured to: at one or more servers, receive from a requesting device a request for one or more provider objects provided by one or more provider systems; at one or more servers, search for provider objects in one or more of the provider systems, flight object caches, and auxiliary object caches; receive one or more provider objects at one or more servers; at one or more servers, classify the provider objects based on provider object classification criteria associated with the requesting device; and at one or more servers, provide a response to the requesting device corresponding to the classified provider objects. Attached Figure Description

[0026] To better understand the various examples described in this article and to more clearly show how they can be implemented, the accompanying figures are provided for illustrative purposes only, in which:

[0027] Figure 1 A system for providing auxiliary objects from a cache and / or for providing provider objects for classification, based on a non-restrictive example, is described.

[0028] Figure 2An example structure of one or more servers, based on a non-restrictive example, is described for providing auxiliary objects from a cache and / or for providing provider objects for classification.

[0029] Figure 3 An example structure of one or more servers for storing and classifying auxiliary objects is described, based on a non-restrictive example.

[0030] Figure 4 A method for providing auxiliary objects from a cache, based on a non-restrictive example, is described.

[0031] Figure 5 The methods for providing a provider object for classifying data are described based on a non-restrictive example.

[0032] Figure 6 Depicting based on non-restrictive examples Figure 1 The system trains the machine learning module to provide auxiliary objects from the cache.

[0033] Figure 7 An example graphical user interface (GUI) based on a non-restrictive example is depicted, which can be provided on the display screen of a client device to search for flights and ancillary services.

[0034] Figure 8 Depicting the direction based on non-restrictive examples Figure 1 The system's mediation server transmits a request to the client device, which includes criteria for searching flights and ancillary services.

[0035] Figure 9 A sample GUI, based on a non-limiting example, is depicted in response to receiving a provider object representing flights and ancillary services, which can be displayed on the screen of a client device.

[0036] Figure 10 Depicting based on non-restrictive examples Figure 1 The system's mediation server determines that no auxiliary object meets the criteria for a request from a client device.

[0037] Figure 11 Depicting based on non-restrictive examples Figure 1 The system's mediation server requests additional auxiliary objects from the provider system.

[0038] Figure 12 A sample GUI, based on a non-restrictive example, is described for searching provider objects that meet the provider object classification criteria associated with the client device.

[0039] Figure 13 Depicting the direction based on non-restrictive examples Figure 1 The system's mediation server transmits a request to a client device, which includes criteria for searching for provider objects that meet the provider object classification criteria associated with the client device.

[0040] Figure 14 Examples of provider objects and provider object classification criteria based on non-restrictive examples are described.

[0041] Figure 15 Depicting based on non-restrictive examples Figure 1 The system's mediation server provides client devices with provider objects that are categorized and ranked according to provider object classification criteria. Detailed Implementation

[0042] Figure 1 A system 100 is described for providing auxiliary objects and / or providing categorized provider objects from a cache. In the examples discussed herein, provider objects may include data objects and / or data records corresponding to products and / or items provided by the provider system, such as travel-related goods and services (e.g., flights, hotel reservations, car rentals, etc.). More specifically, flight objects (e.g., flight provider objects) may correspond to products and / or items discussed in the examples, such as air tickets, etc., and auxiliary objects (e.g., auxiliary provider objects) may be products and / or items related to services associated with air tickets (e.g., baggage handling services, in-flight meals, entertainment, pet-related services, etc.).

[0043] In this document, the terms "flight object" and "flight provider object" are used interchangeably. Similarly, the terms "auxiliary object" and "auxiliary provider object" are used interchangeably. In other words, the term "flight provider object" can always replace the term "flight object" and vice versa; and similarly, the term "auxiliary provider object" can always replace the term "auxiliary object" and vice versa.

[0044] The delivery of the aforementioned items is typically controlled by a provider entity, such as an airline. System 100 includes one or more provider systems 104 (e.g., one or more servers or other suitable computing devices), which in this example are operated by one or more provider entities. System 100 may include multiple provider systems 104, each operated by a corresponding provider entity (e.g., individual airlines), but only one provider system 104 is shown for illustrative purposes. Provider objects can take any suitable format, including but not limited to Edifact recommendations in the context of Global Distribution System (GDS) based data exchange, offer records in the context of New Distribution Capability (NDC) based data exchange, and / or any other suitable format. In practice, provider objects may include data objects and / or data records, such as storing Edifact recommendations or NDC offers, and / or any other suitable data representing at least one item offered by provider system 104. However, in particular, flight objects may include Edifact recommendations and / or NDC offers representing tickets, and ancillary objects may include NDC offers representing related services.

[0045] Regardless of the format, each provider object defines an item or combination of items that can be offered for purchase (e.g., by the end user of the item), including but not limited to flights, trains, hotel accommodations, airport lounge access, seat upgrades, baggage handling services, in-flight food, entertainment, pet-related services, etc.

[0046] In the examples discussed below, a flight object can define a flight operated by a provider entity, and ancillary objects can define ancillary services associated with the flight. Therefore, each provider object contains various fields. Some fields define item attributes, such as product object identifiers corresponding to the product (e.g., service identifier, item identifier, product identifier, etc.), location, date, and time (e.g., flight time and other travel data). The type of fields and / or data in a provider object can depend on the type of provider object. For example, a flight object corresponding to a flight might include a flight identifier, while ancillary objects corresponding to other travel-related items (such as quotes for train travel, hotels, access to airport lounges, premium seating upgrades, pet-related services (e.g., traveling with pets)) might include information related to train travel, hotels, lounges, premium seating, pet-related services, etc.

[0047] As described below, system 100 also includes network 116 and mediation server 120. Network 116 includes any suitable combination of local area network and wide area network, including the Internet, enabling the components of system 100 to communicate. Mediation server 120 generally mediates between client device 112 and provider system 104, for example enabling client device 112 to request products from provider system 104 and / or more than one provider system 104 via mediation server 120.

[0048] Generally, requests for and / or orders for items represented by provider objects occur in system 100 via message exchange (e.g., between mediation server 120 and provider system 104). Such messages can therefore be associated with provider objects and can include messages for one or more of the following: requesting a provider object; requesting further information associated with a provider object; providing a provider object; ordering and / or purchasing items represented by a provider object, etc. In fact, requests to provider objects can include shopping requests and pricing requests. Shopping requests can be used for price estimations, for example, when the operator of client device 112 and / or another requesting device is purchasing a flight and / or ancillary services but has not yet decided to purchase them. Pricing requests can be requests for the final price of a flight and / or ancillary services before the actual purchase of those services. In some examples, ancillary services can be purchased, priced, and / or booked after the flight purchase. Billions of shopping requests may be generated globally every day, while the number of pricing requests generated is relatively small.

[0049] As depicted, system 100 also includes a flight object cache server 121, which caches and / or stores flight objects received from various sources in system 100 (including, but not limited to, provider system 104). As will be explained below, flight object cache server 121 also provides, for example, responses including the flight objects stored in the cache to requesting devices such as client device 112 via mediation server 120.

[0050] Similarly, as depicted, system 100 also includes an auxiliary object cache server 122, which caches and / or stores auxiliary objects received from various sources within system 100 (including, but not limited to, provider system 104). As explained below, the auxiliary object cache server 122 also provides, for example, a response including the auxiliary objects stored in the cache to the requesting device (such as client device 112) via mediation server 120. As described below, auxiliary objects may be provided along with flight objects.

[0051] As depicted, flight object cache server 121 maintains flight object cache 123, which can be implemented as one or more memories. Flight object cache 123 contains flight objects received at flight object cache server 121 from various sources of provider objects in system 100. Flight object cache server 121 can implement a machine learning model to classify flight objects by one or more of reusability and contextual characteristics, and store flight objects in flight object cache 123 according to the classification; flight object cache server 121 can also determine whether the stored and classified flight objects are currently valid.

[0052] Similarly, as depicted, auxiliary object cache server 122 maintains auxiliary object cache 124, which can be implemented as one or more memories. Auxiliary object cache 124 contains auxiliary objects received by auxiliary object cache server 122 from various sources of provider objects in system 100, including but not limited to receiving a service list from provider system 104 when booking an auxiliary service (e.g., this can be independent of flight booking and / or purchase). For example, the service list could be a list of available auxiliary services provided by provider system 104, along with associated prices. Auxiliary object cache server 122 can implement machine learning models to categorize auxiliary objects by type and one or more previous flight associations, and store the auxiliary objects in auxiliary object cache 124 according to the categorization; auxiliary object cache server 122 can also determine whether the stored and categorized auxiliary objects are currently valid.

[0053] Furthermore, the classification functionality of cache servers 121 and 122 is described in a joint pending application by the applicants entitled “DEVICE, SYSTEM AND METHOD FOR PROVIDING PROVIDER OBJECTSFROM A CACHE”, which has French patent application No. 1911662 and was filed on October 18, 2019.

[0054] Although servers 120, 121, and 122 can be three separate devices, their functionality can be combined into one or more servers 125 and / or implemented in a cloud computing environment using multiple servers and / or one or more servers. In some examples, cache servers 121 and 122 can be combined into a single cache server with a shared cache, corresponding flight objects, and correspondingly categorized auxiliary objects.

[0055] In this example, client device 112 may be operated by a travel agent entity, and thus generate and send a request for a provider object (e.g., representing a product that may be purchased) to provider system 104 on behalf of an end user (e.g., a traveler) via mediation server 120. However, client device 112 could be a computing device used by a consumer to search for flights using online services. System 100 may include multiple client devices 112, but for illustrative purposes... Figure 1 Only one client device 112 is shown. In other words, the mediation server 120 mediates between the client device 112 and the provider system 104, and receives requests from the client device 112.

[0056] For example, client device 112 can be used by its operator to search for flights (e.g., flight objects) and ancillary services (e.g., auxiliary objects) for customers. Although not depicted, client device 112 can access customer and / or traveler profiles and / or files, which can define customer travel preferences and / or store the customer's travel history (e.g., previous flights and / or ancillary services). For example, customer and / or traveler profiles and / or files can indicate whether a given customer prefers to carry and / or check baggage, and / or how much baggage is preferred in each case, and / or whether a given customer has previously traveled with pets (such as cats, dogs, etc.). However, such customer and / or traveler profiles and / or files can define and / or store the travel preferences and / or travel history of any suitable customer.

[0057] Client device 112 can therefore initiate a search for flights (e.g., flight objects) and ancillary services (e.g., ancillary objects) by transmitting a request for flight objects and ancillary objects to mediation server 120. The request defines the criteria for searching flights, such as the time period of the flight, the origin and destination of the flight, and any ancillary services requested with the flight (e.g., the amount of checked baggage, traveling with pets, etc.).

[0058] The mediation server 120 can receive requests and search for flight objects that meet the criteria for the request at the flight object cache server 121 and / or provider system 104.

[0059] In other words, the mediation server 120 can: receive a request for a flight object from the requesting device (e.g., client device 112); search for a flight object representing a flight provided by one or more provider systems 104 in at least one of the flight object cache 123 and one or more provider systems 104 based on the criteria of the request; and receive the flight object from at least one of the flight object cache 123 and one or more provider systems 104.

[0060] Regardless of the source, the mediation server 120 generally receives a flight object representing a flight provided by one or more provider systems 104, which corresponds to the requested criteria.

[0061] Similarly, the mediation server 120 may request auxiliary objects from the auxiliary object cache server 122, which determines whether the auxiliary object / or pre-determined auxiliary object stored in the auxiliary object cache 124 is associated with at least one previous flight that is similar to the flight represented by the flight object received at the mediation server 120. For example, a previous flight may be similar to the flight represented by the flight object received at the mediation server 120 if it is one or more of the following: between the same origin and destination; provided by the same provider system and / or airline as the flight; within the same time period as the flight (e.g., the same time of day, the same time of year, etc.); has the same flight number as the flight; has the same and / or similar load as the flight; and so on. In practice, determining whether a previous flight is similar to the flight represented by the flight object received at the mediation server 120 can be based on machine learning, as described in more detail below.

[0062] In some examples, a previous flight may be the same as a flight represented by a flight object received at the mediation server 120. For example, an auxiliary object for ancillary services for a flight, represented by a flight object received at the mediation server 120, may have previously been received and stored in the auxiliary object cache 124, for example, when client device 112, and / or another client device, was previously used to search for and / or book a flight. Therefore, the term "auxiliary object / or booked auxiliary object, stored in the auxiliary object cache 124, associated with at least one previous flight similar to the flight" can also be understood to mean "auxiliary object / or booked auxiliary object, previously stored in the auxiliary object cache 124, associated with a previously searched and / or previously booked flight related to and / or associated with the flight".

[0063] In some examples, when the mediation server 120 receives a request from the requesting device for a flight object including criteria for searching for flights, the mediation server 120 can optimize the response time to the request by determining, before receiving the flight object representing a flight that meets the requested criteria, whether an auxiliary object / or a predetermined auxiliary object stored in the auxiliary object cache 124 is associated with at least one previous flight associated with the requested criteria. In some of these examples, any auxiliary object / or predetermined auxiliary object found in response to such a search may be temporarily stored and / or cached at the mediation server 120 (e.g., in its memory). Subsequently, when the mediation server 120 receives the flight object representing a flight that meets the requested criteria, the mediation server 120 can use the auxiliary object / or the predetermined auxiliary object found in the initial search to determine whether the auxiliary object / or predetermined auxiliary object stored in the auxiliary object cache 124 is associated with at least one previous flight similar to the flight represented by the flight object received at the mediation server 120. In other words, the search for flight objects and the search for auxiliary objects, as described herein, can occur in any suitable order.

[0064] Furthermore, when an auxiliary object stored in auxiliary object cache 124 is determined to be associated with at least one previous flight similar to the flight represented by the flight object received at mediation server 120, auxiliary object cache server 122 can estimate whether a predetermined auxiliary object is currently valid. When one or more predetermined auxiliary objects are estimated to be currently valid, auxiliary object cache server 122 provides one or more predetermined auxiliary objects to mediation server 120, which, in response to a request, transmits one or more predetermined auxiliary objects along with the flight object to client device 112. For example, the validity estimate can be based on machine learning and can determine whether a predetermined auxiliary object stored at auxiliary object cache server 122 still represents an auxiliary service available from provider system 104.

[0065] Therefore, the mediation server 120 can respond to requests from client device 112 using previously received, stored, and categorized auxiliary objects, instead of requesting auxiliary objects from provider system 104. While such auxiliary objects could also be requested directly from provider system 104 (e.g., and could be provided from provider system 104 as a service list), there can be billions of requests for flight objects per day. Specifically, as mentioned above, there can be billions of shopping requests per day, which may simply be queries for price estimates of flight objects and / or auxiliary objects and do not result in the purchase of flight objects and / or auxiliary objects. Therefore, requesting such auxiliary objects from provider system 104, at least in conjunction with shopping requests, would unacceptably increase bandwidth in network 116 and / or impose an undue load on the servers of provider system 104. Therefore, to avoid such bandwidth increase and / or load on the servers of provider system 104, the mediation server 120 may communicate with auxiliary object cache server 122 and / or search for predetermined auxiliary objects in auxiliary object cache 124 instead of requesting auxiliary objects from provider system 104. This communication can also reduce the time required to respond to requests compared to requesting auxiliary objects from provider system 104.

[0066] In some examples, when one or more of the predetermined auxiliary objects are not found at the auxiliary object cache 124, the mediation server 120 and / or the auxiliary object cache server 122 may: request additional auxiliary objects from one or more provider systems 104, which are associated with the flight (e.g., received at the mediation server 120), such that the response to the requesting device (e.g., client device 112) includes the additional auxiliary objects received from one or more provider systems 104 in place of one or more of the predetermined auxiliary objects; and store the additional auxiliary objects received from one or more provider systems 104 at the auxiliary object cache 124 as additional predetermined auxiliary objects.

[0067] However, this example can introduce delays when responding to requests from client device 112 while the mediation server 120 is waiting for additional auxiliary objects from one or more provider systems 104.

[0068] Therefore, in other examples, when one or more of the predetermined auxiliary objects are not found in the auxiliary object cache 124, the mediation server 120 and / or the auxiliary object cache server 122 may: provide a response to the requesting device without the auxiliary object; request additional auxiliary objects from one or more provider systems 104, which are associated with the flight received at the mediation server 120; and store the additional auxiliary objects received from one or more provider systems 104 in the auxiliary object cache 124 as additional predetermined auxiliary objects, which are categorized prior to storage as described herein.

[0069] Such an example can result in a faster response to the requesting device compared to an example that requests additional auxiliary objects from one or more provider systems 104 before providing a response.

[0070] In practice, each of these examples can correspond to a different mode of the mediation server 120, and the mode of the mediation server 120 can be selected by the requesting device (such as client device 112) when generating a request for a flight object. For example, the requesting device (e.g., client device 112) can select the mode of the mediation server 120 via a request; in particular, the request can include an indication of the mode of the mediation server 120.

[0071] Furthermore, by requesting and storing auxiliary objects from provider system 104, for example in association with receiving requests from client device 112, mediation server 120 and / or auxiliary object cache server 122 can continue to populate auxiliary object cache 124.

[0072] As depicted, system 100 also includes an event hub device 127, which can receive messages associated with provider objects from provider systems 104. Event hub device 127 may include a proxy for at least mediation server 120, such that messages received by at least mediation server 120 are received at event hub device 127. For example, when provider system 104 transmits messages and / or responses including provider objects to mediation server 120, the messages and / or responses may first be received at event hub device 127 and then transmitted to mediation server 120. In other words, when a provider object is requested from a provider system, the provider object can be pushed to event hub device 127 so that other components of system 100, rather than the current instance of mediation server 120 (e.g., system 100 may include other mediation servers), can access them. In practice, event hub device 127 may be configured to receive messages and / or responses including provider objects from all provider systems 104 of system 100. This “traffic” can be “live” and includes messages generated due to provider objects requested by client device 112. In some of these examples, the event hub device 127 may receive a list of services from the provider system 104, as described above.

[0073] However, in other examples, such traffic may not be “real-time”; in these examples, components of system 100, such as traffic generators (e.g., which may be components of mediation server 120 and / or separate components), automatically and / or periodically request provider objects from one or more provider systems 104 via messages, such as records of quotes for flights to a given location on a specific date, and records of associated ancillary services; such requests may be transmitted and / or triggered by mediation server 120.

[0074] Cache servers 121 and 122 typically receive provider objects generated by provider system 104 from event hub device 127 for storage in caches 123 and 124. For example, event hub device 127 may push messages and / or provider objects to cache servers 121 and 122, and / or cache servers 121 and 122 may request messages and / or provider objects from event hub device 127.

[0075] As depicted, system 100 also includes a machine learning model training system 129, which can receive messages from event hub device 127 and generate machine learning classifiers for machine learning models implemented at cache servers 121, 122, for example, as described in the applicant's co-pending application entitled "DEVICE, SYSTEM AND METHODFOR TRAINING MACHINE LEARNING MODELS USING MESSAGES ASSOCIATED WITH PROVIDEROBJECTS", with French patent application No. 19 11671, filed on October 18, 2019. The machine learning model training system 129 can generate classifiers for classifying flight objects and auxiliary objects.

[0076] As will be further described below, the mediation server 120 can also be configured to provide categorized provider objects, particularly provider objects categorized according to a classification standard associated with the requesting device (e.g., client device 112), which may differ from how provider objects are categorized at caches 123, 124 and / or from how provider system 104 categorizes provider objects. For example, when a flight object is requested from provider system 104, provider system 104 may provide the flight object and associated ancillary objects according to a category determined by provider system 104. For example, provider system 104 may provide the flight object based on specific fare conditions and specific ancillary services.

[0077] However, when client device 112 is requesting a flight object, it can request the flight object based on a category different from the category of the provider object. For example, client device 112 may request a flight object on behalf of an entity (e.g., a business, etc.), which requires the flight object to be categorized according to its own predetermined category, which may differ from the category of the provider object. Accordingly, mediation server 120 can store and / or access the provider object categorization criteria. Such examples are described in more detail below.

[0078] Before discussing the functionality of System 100 in more detail, we will refer to the following: Figure 2 and Figure 3 Some components of the mediation server 120 and the auxiliary object cache server 122 will be discussed in more detail.

[0079] Although servers 120, 121, and 122 are described as independent devices and / or separate from each other, in other examples, the functionality of the mediation server 120, the flight object cache server 121, and / or the auxiliary object cache server 122 may be distributed among other components of system 100 and / or the functionality of servers 120, 121, and 122 may at least partially combine with each other. Therefore, Figure 2 and Figure 3 The processing and / or storage resources depicted may be shared and / or distributed among one or more of the intermediate server 120, flight object cache server 121, and auxiliary object cache server 122.

[0080] Next, we will refer to Figure 2 Describe mediation server 120. (For example...) Figure 2 As shown, the mediation server 120 includes at least one controller 220, a memory 222 for storing the application 223, and a communication interface 228.

[0081] The memory 222 is 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 memory, etc.). The controller 220 and the memory 222 are typically composed of one or more integrated circuits (ICs).

[0082] Controller 220 is also interconnected with communication interface 228, which enables mediation server 120 to communicate with other components of system 100 via network 116. Therefore, communication interface 228 includes any necessary components for communication via network 116 (e.g., network interface controller (NIC), radio unit, etc.). Specific components of communication interface 228 are selected based on the nature of network 116. Mediation server 120 may also include input and output devices connected to controller 220, such as a keyboard, mouse, monitor, etc. (not shown).

[0083] The components of the mediation server 120 mentioned above can be deployed in a single enclosure or in a distributed format. Therefore, in some examples, the mediation server 120 includes multiple processors that either share memory 222 and communication interface 228, or each has different associated memory and communication interfaces.

[0084] Memory 222 stores a plurality of computer-readable programmable instructions executable by controller 220 in the form of various applications, including application 223. As those skilled in the art will understand, controller 220 executes the instructions of application 223 (and any other suitable application) to perform various actions defined by the instructions contained therein. In the following description, controller 220, and more generally, mediation server 120, is referred to as being configured to perform those actions. It will be understood that they are thus configured via executing (by controller 220) the instructions of the applications stored in memory 222.

[0085] As will be discussed below, the execution of application 223 configures mediation server 120 and / or controller 220 to: receive, via communication interface 328, a flight object representing a flight provided by one or more provider systems 104; search in auxiliary object cache 124 for a predetermined auxiliary object associated with a previous flight similar to the flight; and, when one or more predetermined auxiliary objects associated with at least one previous flight similar to the flight are found in the auxiliary object cache, provide, via communication interface 328, a response corresponding to the flight object and one or more predetermined auxiliary objects associated with at least one previous flight similar to the flight to the requesting device (e.g., client device 112).

[0086] Therefore, the mediation server 120 and / or controller 220 can assemble flight objects and any predetermined auxiliary objects into a provider object that can be provided in the response.

[0087] As depicted, memory 222 also stores provider object classification criteria 224-1, 224-2...224-N. Provider object classification criteria 224-1, 224-2...224-N are interchangeably referred to 224 as provider object classification criteria 224 below, and are generally referred to as provider object classification criteria 224 and / or the set of provider object classification criteria 224. Although an integer “N” provider object classification criteria 224 are depicted, memory 222 may store any suitable number of provider object classification criteria 224. In practice, provider object classification criteria 224 are typically pre-configured at memory 222, for example, by entities associated with client device 112 and / or requesting device. Provider object classification criteria 224 include one or more of the corresponding flight service levels, associated fare rules, and corresponding pre-filled definitions of the associated flight service, which are associated with client device 112 and / or the requesting device, rather than with one or more provider systems 104.

[0088] For example, a travel agency operating client device 112 may partner with businesses that wish to offer and / or book various categories of tickets (e.g., for business travel) to their employees. Therefore, in some examples, the category of ticket offered to an employee may depend on the employee's position within the organizational hierarchy. For instance, an employee not in management might only be offered an economy class flight with one checked baggage, and no flight changes and / or refunds. Thus, the associated provider object classification criterion 224 could define a ticket with one checked baggage, and no flight changes and / or refunds.

[0089] However, employees at the middle management level may be offered economy class plus flights, with one checked baggage, and a given cost for flight changes and / or refunds. Therefore, the associated provider object classification criterion 224 can define a ticket with one checked baggage and a given cost for flight changes and / or refunds.

[0090] Similarly, employees in senior management positions may be offered economy class value-added flights, two checked bags, and flights with / or refunds at an additional given cost. Therefore, the associated provider object classification criterion 224 can define a ticket with two checked bags and flights with / or refunds at an additional given cost.

[0091] Therefore, in this example, three provider object classification criteria 224 can be stored in memory 222 for the enterprise, each criterion defining different types of tickets and / or fare rules and / or ancillary services that can be provided to employees, depending on their position in the organizational hierarchy.

[0092] Therefore, provider object classification criteria 224 generally define different categories of enterprises, and in practice, different enterprises can have different provider object classification criteria 224. Thus, provider object classification criteria 224 can be grouped by enterprise, etc., and requests for provider objects received at the mediation server 120 from client device 112 and / or the requesting device can select a set of provider object classification criteria 224 to use based on the identifier in the request. Accordingly, the number "N" of provider object classification criteria 224 can depend on the number of categories defined by the enterprise and / or the number of enterprises served by client device 112 and / or the requesting device. However, entities of client device 112 and / or the requesting device can define their own provider object classification criteria 224 that can be provided to any customer. In practice, the number "N" of provider object classification criteria 224 is generally any suitable number.

[0093] Regardless, provider systems 104 generally have their own definitions for classifying provider objects, which may or may not correspond to provider object classification criteria 224. Therefore, mediation server 120 generally classifies received provider objects according to provider object classification criteria 224 in an attempt to provide provider objects according to those criteria. However, provider objects received from provider systems 104 may fit into more than one category defined by provider object classification criteria 224.

[0094] Therefore, the execution of application 223 can also configure mediation server 120 and / or controller 220 to: receive one or more provider objects provided by one or more provider systems 104 from the requesting device (e.g., client device 112) via communication interface 228; search for provider objects in one or more locations in provider system 104, flight object cache 123, and auxiliary object cache 124; receive one or more provider objects; classify the provider objects based on provider object classification criteria 224 associated with the requesting device; and provide a response corresponding to the classified provider objects to the requesting device via communication interface 228.

[0095] Furthermore, as will be discussed below, the execution of application 223 may also configure mediation server 120 and / or controller 220 to rank provider objects classified based on provider object classification criteria 224, and the response to client device 112 and / or the requesting device may correspond to the classified and ranked provider objects.

[0096] In fact, whether the mediation server 120 responds to a request from a device that makes a request using provider object classification criteria 224 may depend on whether the request includes an identifier of provider object classification criteria 224.

[0097] While the aspects of application 223 related to classification via provider object classification criteria 224 can be implemented programmatically, in other examples, application 323 can be implemented using machine learning models. For example, application 323 may include one or more machine learning models, and each set of provider object classification criteria 224 may include one or more associated classifiers for use by one or more machine learning models to classify provider objects. Furthermore, the machine learning models of application 223 can also be trained and / or used to: scan historical traffic (e.g., previous requests) to identify passenger and / or market patterns to define clusters of searches and / or requests and / or bookings and / or purchases with different criteria associated with different passenger searches and / or requests and / or bookings and / or purchases; such criteria can then be used to construct suitable offers for passengers similar to those in the clusters.

[0098] The machine learning model applied in 223 may include machine learning and / or deep learning and / or neural network-based models and / or algorithms, including but not limited to: generalized linear regression models; random forest models; support vector machine models; gradient boosting regression models; decision tree models; generalized additive models; evolutionary programming models; Bayesian inference models; reinforcement learning models, etc. However, any suitable machine learning model and / or deep learning model and / or neural network model is within the scope of this example.

[0099] Next, attention should be focused on Figure 3 It describes the components of an auxiliary object cache server 122, which includes a controller 320, a memory 322, and a communication interface 328, which are respectively similar to the controller 220, memory 222, and communication interface 228 described above.

[0100] The components of the auxiliary object cache server 122 mentioned above can be deployed in a single enclosure or in a distributed format. Therefore, in some examples, the auxiliary object cache server 122 includes multiple processors that either share memory 322 and communication interface 328, or each has different associated memory and communication interface.

[0101] As depicted, memory 322 may include auxiliary object cache 124 (and / or a portion thereof). However, in other examples, auxiliary object cache 124 may be external to auxiliary object cache server 122 and accessible by controller 320, for example, via communication interface 328. In practice, auxiliary object cache 124 may be distributed among any suitable components of system 100.

[0102] Memory 322 also stores a plurality of computer-readable programmable instructions executable by controller 320 in the form of various applications, including application 323. As those skilled in the art will understand, controller 320 executes the instructions of application 323 (and any other suitable application) to perform various actions defined by the instructions contained therein. In the following description, controller 320, and more generally, auxiliary object cache server 122, is referred to as being configured to perform those actions. It will be understood that they are configured via (by controller 320) executing the instructions of the applications stored in memory 322.

[0103] As will be discussed below, the execution of application 323 configures auxiliary object cache server 122 and / or controller 320 to: receive predetermined auxiliary objects; classify the predetermined auxiliary objects based on one or more of their type and previous flight associations; and store the classified predetermined auxiliary objects in auxiliary object cache 124.

[0104] While application 323 can be implemented programmatically, in other examples, application 323 may be implemented using a machine learning model. In still other examples, application 323 may combine a programmatic implementation with an implementation using a machine learning model. In fact, as depicted, memory 322 also stores a machine learning model (“MLM”) 335, which controller 320 may use to classify auxiliary objects based on type and previous flight associations, and determine whether the auxiliary object is currently valid. In still other examples, the machine learning model 335 of application 223 may also be trained and / or used to enrich and update one or more of the auxiliary object cache 124 by analyzing which airlines and / or provider systems 104 and / or routes and / or markets (e.g., based on geographic region, demographics, etc.) are most needed; in some of these examples, the validity of a subset of predetermined auxiliary objects (e.g., for a given airline and / or route and / or market) may occur upon receipt of the predetermined auxiliary object, and / or independently of the requesting object for the auxiliary object.

[0105] Machine learning model 335 may include machine learning and / or deep learning and / or neural network-based models and / or algorithms, including but not limited to: generalized linear regression models; random forest models; support vector machine models; gradient boosting regression models; decision tree models; generalized additive models; evolutionary programming models; Bayesian inference models; reinforcement learning models, etc. However, any suitable machine learning model and / or deep learning model and / or neural network model is within the scope of this example.

[0106] Although the structures of provider system 104, client device 112, flight object cache server 121, event hub device 127, and machine learning model training system 129 are not described in detail, such components may have similar structures to mediation server 120 and / or auxiliary object cache server 122, but are suited to their respective functionalities.

[0107] Now focus Figure 4 It depicts a flowchart representing a method 400 for providing auxiliary objects from a cache. Figure 4 The operation of method 400 corresponds to machine-readable instructions executed by the mediation server 120, particularly the controller 220. In the example shown, by Figure 4 The instructions represented by the boxes are stored in memory 222, for example, as application 223. Figure 4 Method 400 is a way to configure controller 220 and / or mediation server 120 and / or system 100. Furthermore, Figure 4The following discussion of method 400 will lead to a further understanding of system 100 and its various components.

[0108] Figure 4 Method 400 does not need to be executed in the exact order shown, and the various blocks can be executed in parallel rather than sequentially. Therefore, the elements of method 400 are referred to as “blocks” rather than “steps” in this document. Figure 4 Method 400 can also be used in Figure 1 The method 400 is implemented on a variant of system 100. Specifically, while method 400 is described as being implemented by mediation server 120, alternatively, the functionality of mediation server 120 can be distributed among multiple servers and / or computing devices implementing method 400. For example, portions of method 400 can be implemented in conjunction with one or more of cache servers 121, 122. Therefore, method 400 will be described as being implemented by controller 220 and / or one or more servers.

[0109] At box 402, controller 220 and / or one or more servers receive a flight object representing a flight provided by one or more provider systems 104.

[0110] For example, controller 220 and / or one or more servers may receive a request for a flight object (e.g., a flight) from the requesting device (e.g., client device 112) and search for the flight object from at least one of the flight object cache 123 and one or more provider systems 104 based on the criteria requested. Criteria may define the flight's date and / or date and / or time period, origin, destination, and / or any other criteria used to search for the flight. Whether controller 220 searches for a flight object in flight object cache 123 and / or one or more provider systems 104 may depend on a search mode that can be defined by the request. For example, a "fast" search mode may be used to search flight object cache 123, while a more accurate but slower search mode may be used to search one or more provider systems 104. The mode used may be selected at client device 112 and / or the requesting device, and its indication may be provided in the request. Therefore, depending on the mode, controller 220 may receive flight objects from at least one of flight object cache 123 and one or more provider systems 104.

[0111] The request can also define certain ancillary services that can be requested with the flight. In particular, the request can be for pet-related services, such as availability and / or the cost of traveling with a pet. However, the request can be for any suitable ancillary service, such as a given amount of checked baggage and / or carry-on baggage.

[0112] Alternatively, controller 220 and / or one or more servers may receive flight objects representing flights provided by one or more provider systems 104 as part of a search performed by the traffic generator.

[0113] At box 404, controller 220 and / or one or more servers search in auxiliary object cache 124 for a scheduled auxiliary object associated with a previous flight similar to the flight (e.g., the flight object definition received at box 402).

[0114] For example, as described above, a previous flight can be determined to be similar to a flight represented by a flight object received at the mediation server 120 if it meets one or more of the following criteria: it travels between the same origin and destination as the flight; it is provided by the same provider system and / or airline as the flight; it travels within the same time period as the flight (e.g., the same time of day, the same time of year, etc.); it has the same flight number as the flight; it has the same and / or similar load as the flight; and so on. In practice, determining whether a previous flight is similar to a flight represented by a flight object received at the mediation server 120 can be based on machine learning, as described in more detail below.

[0115] In some examples, the search can be directed to a pre-defined auxiliary object representing an ancillary service defined in the request. Alternatively, the request may not define any ancillary services to be requested with the flight, and the search can be directed to any pre-defined auxiliary object representing an ancillary service that can be provided in response to the request.

[0116] Regardless, when a flight is for a given airline (e.g., a given provider system 104), a given date and / or time, and / or between a given origin and destination, controller 220 and / or one or more servers may search in the auxiliary object cache 124 for pre-booked auxiliary objects previously offered for historical flights of airlines with similar criteria. Using the example of an auxiliary service for pet travel, controller 220 and / or one or more servers search in the auxiliary object cache 124 for previously offered pet-related services by the airline on previous flights; the pre-booked auxiliary objects found in this search and stored in the auxiliary object cache 124 may include, but are not limited to, previous costs, conditions, rules, etc., for pet travel. For example, such costs and / or conditions and / or rules may vary depending on the flight, origin, destination, date, etc.

[0117] However, the airline and / or provider system 104 can provide similar ancillary objects for any and / or all flights offered, therefore the controller 220 and / or one or more servers search the ancillary object cache 124 for a pre-booked ancillary object provided by the airline and / or provider system 104 on a previous flight, whether specific to the flight object received at box 404 and / or specific to the airline and / or provider system 104 that provided that flight object. Again using the example of travel with pets, the airline may have standard fees and / or conditions and / or rules for travel with pets, which may not be specific to date, origin, destination, etc.

[0118] At box 406, controller 220 and / or one or more servers determine whether one or more pre-defined auxiliary objects associated with at least one previous flight similar to the flight are found in auxiliary object cache 124 (e.g., due to the search at box 404).

[0119] When one or more of the scheduled auxiliary objects associated with at least one previous flight similar to the flight are found in the auxiliary object cache 124 (e.g., a "yes" decision at block 406), at block 408, controller 220 and / or one or more servers retrieve the scheduled auxiliary objects and provide a response corresponding to the flight object (e.g., received at block 402) and one or more scheduled auxiliary objects associated with at least one previous flight similar to the flight to the requesting device (e.g., client device 112) via communication interface 228.

[0120] Using the example of traveling with a pet again, controller 220 and / or one or more servers can retrieve an auxiliary object corresponding to the price and / or conditions and / or rules previously offered for traveling with a pet on a previous flight similar to the current flight, and provide that auxiliary object along with the flight object to the requesting device (e.g., received at box 402). In practice, controller 220 and / or one or more servers can assemble the flight object and the auxiliary object together into a provider object having a total price corresponding to the sum of the prices of the flight object and the auxiliary object. However, in other examples, the price of each of the flight object and the auxiliary object can be broken down in the provider object, such that the auxiliary object can be opted to or not opted to be purchased at client device 112 and / or the requesting device.

[0121] In other examples, method 400 may also include controller 220 and / or one or more servers providing a scheduled auxiliary object in the form of a calendar, the scheduled auxiliary object being associated with at least one previous flight similar to the flight; and / or a suggestion having a better offer and / or flight and / or auxiliary object than other offers and / or other flights and / or other auxiliary objects.

[0122] As will be described below, the mediation server 120 may further classify provider objects (e.g., a combination of flight objects and one or more auxiliary objects) according to provider object classification criteria 224.

[0123] Regardless, the mediation server 120 returns a response that may include flight objects representing flights and auxiliary objects representing services, which can be purchased bundled with flights. In practice, the mediation server 120 can provide a response that includes multiple flight objects, each representing a flight, and one or more auxiliary objects, such as upgrades to a given number of checked bags, premium seats, pet-related services, etc.

[0124] In some examples, a flight object and one or more pre-booked ancillary objects may include a New Distribution Capability (NDC) offer. However, a flight object may include an Edifact message, etc., that can be combined and / or assembled with pre-booked NDC ancillary objects. Therefore, method 400 may provide a process for bundling and / or assembling a flight represented by an Edifact message with an NDC service provision that is not typically provided by an Edifact message.

[0125] Returning to box 406, when no one or more scheduled auxiliary objects associated with at least one previous flight similar to the flight are found in the auxiliary object cache 124 (e.g., a "No" decision at box 406), at box 410, controller 220 and / or one or more servers may determine the requested pattern.

[0126] For example, in a first mode, at block 412, controller 220 and / or one or more servers may request additional auxiliary objects from one or more provider systems 104, which are associated with a flight (e.g., corresponding to the flight object received at block 402), such that the response provided to the requesting device (e.g., client device 112) includes the additional auxiliary objects received from one or more provider systems 104 in place of one or more of the predetermined auxiliary objects. Block 412 may include receiving additional auxiliary objects from one or more provider systems 104.

[0127] Therefore, in this mode, controller 220 and / or one or more servers provide a response (e.g., a response similar to that in block 408) and additional ancillary objects received from one or more provider systems 104, such as in the form of one or more service lists received from one or more provider systems 104. Controller 220 and / or one or more servers may generate a quote, for example, from a combination of ancillary services indicated by the flight objects and service lists received at block 402.

[0128] However, in the second mode, at block 414, controller 220 and / or one or more servers may provide a response without an auxiliary object to the requesting device (e.g., client device 112). At block 416, controller 220 and / or one or more servers may request additional auxiliary objects from one or more provider systems 104, which are associated with the flight, for example, in the form of one or more service lists received from one or more provider systems 104. Block 416 may include receiving additional auxiliary objects from one or more provider systems 104.

[0129] Therefore, in this mode, controller 220 and / or one or more servers provide responses without additional auxiliary objects (e.g., responses similar to those in box 408), for example, to reduce response time.

[0130] However, in some examples, a pattern can be predefined, causing controller 220 and / or one or more servers to skip box 410 and implement the predefined pattern.

[0131] Regardless of the mode, at box 418, controller 220 and / or one or more servers store additional auxiliary objects received from one or more provider systems 104 (e.g., as received at box 412 or box 416) at auxiliary object cache 124 as additional pre-defined auxiliary objects. These additional pre-defined auxiliary objects can be categorized based on one or more of their type and previous flight associations.

[0132] In practice, the auxiliary object cache server 122 can continue to receive auxiliary objects from the event hub device 127 and continuously classify them. Specifically, the controller 220 and / or one or more servers can: receive predetermined auxiliary objects; classify the predetermined auxiliary objects based on one or more of their type and previous flight associations; and store the classified predetermined auxiliary objects in the auxiliary object cache 124.

[0133] However, as mentioned above, this classification can differ from the classification of provider objects provided to client device 112 and / or the requesting device as defined by provider object classification criterion 224. In fact, the classification of auxiliary objects stored in auxiliary object cache 124 can be used to retrieve predetermined auxiliary objects for constructing and / or generating responses, and the classification of provider objects for responses as defined by provider object classification criterion 224 can occur independently of this classification.

[0134] In fact, attention is now focused on Figure 5 The figure depicts a flowchart of a method 500 for providing a classification of provider objects, for example, based on provider object classification criteria 224. Figure 5 The operation of method 500 corresponds to machine-readable instructions executed by the mediation server 120, and more specifically, the controller 220. In the example shown, by Figure 5 The instructions represented by the boxes are stored in memory 222, for example, as application 223. Figure 5 Method 500 is one way in which controller 220 and / or mediation server 120 and / or system 100 can be configured. Furthermore, the following... Figure 5 The discussion of method 500 will lead to a further understanding of system 100 and its various components.

[0135] Figure 5 Method 500 need not be executed in the exact order shown, and similarly, the various blocks can be executed in parallel rather than sequentially. Therefore, the elements of method 500 are referred to herein as “blocks” rather than “steps”. Figure 5 Method 500 can also be used in Figure 1 The method 500 is implemented on a variant of system 100. Specifically, while method 500 is described as being implemented by mediation server 120, alternatively, the functionality of flight object cache server 121 can be distributed among multiple servers and / or computing devices implementing method 500. Therefore, method 500 will be described as being implemented by controller 220 and / or one or more servers.

[0136] At block 502, controller 220 and / or one or more servers receive a request from the requesting device (e.g., client device 112) for one or more provider objects provided by one or more provider systems 104. This request may be similar to the request described above with respect to method 400 at block 402, but the request may indicate that provider object classification criteria 224 will be used to classify the provider objects. For example, the request may include identifiers of a subset of provider object classification criteria 224 for classifying the provider objects (e.g., enterprise identifiers that may be stored in memory 222 in association with a subset of provider object classification criteria 224).

[0137] At box 504, controller 220 and / or one or more servers search for provider objects in one or more of the provider system 104, flight object cache 123, and auxiliary object cache 124.

[0138] The search can depend on the type of request received at box 502. For example, when the request includes a shopping request (e.g., an NDC shopping request), controller 220 and / or one or more servers can search for provider objects by one or more of the following: searching for flight objects that meet the criteria of the request from one or more of the provider system 104 and the flight object cache 123; and searching for auxiliary objects associated with the flight objects from the auxiliary object cache 124, as described above with respect to method 400. This pattern is similar to the pattern described above with respect to method 400.

[0139] However, when the request includes a pricing request (e.g., an NDC pricing request), controller 220 and / or one or more servers may search for provider objects by one or more of the following: searching for flight objects that meet the requested criteria from provider system 104 (e.g., instead of flight object cache 123); and requesting a list of services that define auxiliary objects associated with the flight objects from provider system 104. Therefore, in these examples, controller 220 and / or one or more servers may receive provider objects by one or more of the following: receiving one or more of the flight objects and service lists; and combining one or more of the flight objects and auxiliary objects defined by the service lists into provider objects for categorization. Specifically, for pricing requests, more precise indications of pricing and available services may be preferred over shopping requests; thus, when the request includes a pricing request, controller 220 and / or one or more servers may retrieve the flight objects and service lists from provider system 104 instead of searching caches 123, 124.

[0140] At box 506, controller 220 and / or one or more servers receive one or more provider objects, for example from provider system 104 and / or caches 123, 124.

[0141] At box 508, controller 220 and / or one or more servers classify the provider object based on provider object classification criteria 224 associated with the requesting device. For example, controller 220 and / or one or more servers attempt to match the characteristics and / or features of the provider object with provider object classification criteria 224; when a match and / or partial match occurs between the provider object and a specific set of provider object classification criteria 224, the provider object can be classified under the category of provider object classification criteria 224.

[0142] Specifically, controller 220 and / or one or more servers that classify provider objects may include constructing quotes and / or combining provider objects from provider objects based on provider object classification criteria 224 (e.g., rather than classifications provided by provider system 104).

[0143] In some examples, controller 220 and / or one or more servers also rank provider objects classified based on provider object classification criterion 224. For example, the characteristics and / or features of a provider object may not perfectly match provider object classification criterion 224, and controller 220 and / or one or more servers may also rank provider objects according to how well they match the set of provider object classification criteria 224.

[0144] In practice, in some examples, at box 508, a perfect match may not be found between the characteristics and / or features of the provider object. Therefore, the mediation server 120 may combine multiple combinations of provider objects (flights and ancillary services, which may come from the same provider system 104) based on provider object classification criteria 224 to obtain a better match. This better match may rank a provider object higher than one that is not combined with other provider objects. In other examples, as described in more detail below, certain parameters of the classified provider object may have higher weights compared to other parameters. This weighting scheme may be used to emphasize (and / or de-emphasize) the importance of certain parameters; such a weighting scheme may be included in provider object classification criteria 224. Furthermore, in some examples, all parameters of the provider object may be associated with weights, while in other examples, all subsets of the provider object may be associated with weights.

[0145] At box 510, controller 220 and / or one or more servers provide a response to the requesting device corresponding to a classified provider object. The response corresponds to the classified and ranked provider object as the provider object is classified and ranked.

[0146] This specification involves at least two types of classification and / or categorization, specifically the following description of the classification and / or categorization of provider objects stored in caches 123 and 124, and the classification and / or categorization of provider objects using provider object classification criterion 224, and the classification of auxiliary objects stored in auxiliary object cache 124.

[0147] Attention direction Figure 6 It depicts system 100, but not network 116. More precisely, Figure 6 Communication links between components of system 100 are shown, represented as double-ended arrows between them; such communication links may include network 116. In other respects, Figure 6 and Figure 1 Similarly, identical components have the same numbering. Specifically, Figure 6 An example of training a machine learning model 335 is depicted, implemented at an auxiliary object cache server 122.

[0148] exist Figure 6 In this process, the event hub device 127 receives message 601 from the provider system 104 as described above. As depicted, message 601 includes provider objects, etc., and may be flight objects and auxiliary objects. The event hub device 127 provides message 601 to the machine learning model training system 129, which generates a classifier 636 for the machine learning model 335 and provides the classifier 636 to the corresponding machine learning model 335 implemented at the auxiliary object cache server 122.

[0149] For example, as depicted, the auxiliary object cache server 122 implements a type determination machine learning model 335-1, a flight association determination machine learning model 335-2, a validity estimation machine learning model 335-3, and a similar flight determination machine learning model 335-4. Accordingly, the machine learning model training system 129 generates a suitable classifier 636 for each of these machine learning models 335 implemented at the auxiliary object cache server 122.

[0150] As depicted, the event hub device 127 also provides the auxiliary object 641 of message 601 to the auxiliary object cache server 122. Although the auxiliary object 641 is depicted as different from message 601, the auxiliary object 641 can be received at the auxiliary object cache server 122 in the form of message 601.

[0151] As depicted, for example, machine learning models 335-1 and 335-2 can be used to classify auxiliary object 641 according to type and flight association for storage in auxiliary object cache 124. For example, type-determining machine learning model 335-1 can classify auxiliary object 641 by type, such as being classified as checked baggage service (e.g., including the number of checked and / or carry-on baggage), pet-related service, seat upgrade, etc. Similarly, flight association-determining machine learning model 335-2 can classify auxiliary object 641 according to the flight that provides auxiliary object 641 (e.g., by airline, origin / destination, date, time of day, etc.).

[0152] Validity estimation machine learning model 335-3 classifies auxiliary object 641 based on whether the service and / or price associated with it is currently valid. Similar flight determination machine learning model 335-4 determines whether a previous flight is similar to a flight represented by a flight object received at the mediation server 120. However, validity estimation machine learning model 335-3 and similar flight determination machine learning model 335-4 may not be used until a search for auxiliary object 641 stored in auxiliary object cache 124 occurs. Although not depicted, machine learning models may also be used to determine whether auxiliary object 641 represents a given auxiliary service in a search of auxiliary object cache 124.

[0153] As depicted, the auxiliary object cache 124 stores two auxiliary objects 641-1 and 641-2, each categorized according to its corresponding type and flight association. For example, auxiliary object 641-1 may correspond to a pet-related service type for a previous flight from Nice to Miami provided by a specific provider system 104 and / or an airline (e.g., "AL1"), and auxiliary object 641-2 may correspond to a baggage upgrade for a previous flight from Nice to Miami provided by the same specific provider system 104 or a different specific provider system 104 (e.g., "AL2").

[0154] Generally, the machine learning model training system 129 can also generate a suitable classifier 646 for the machine learning model (not depicted) implemented at the flight object cache server 121, which can classify the flight objects 651 received from the event hub device 127 at the flight object cache server 121, for example in the form of message 601, and store the classified flight objects 651 at the flight object cache 123.

[0155] As mentioned earlier, cache servers 121 and 122 can be combined into a single cache server that receives classifiers 636 and 646 and message 601, classifies message 601 (e.g., classifies it as an auxiliary object by type and / or flight, or classifies it as a flight object), and stores the classified message 601 in a shared cache.

[0156] Next, attention should be focused on Figures 7 to 11 Example of its depiction method 400.

[0157] Attention direction Figure 7 , Figure 7 An example graphical user interface (GUI) 700 that can be displayed on a client device 112 is depicted. The GUI 700 includes fields 701 for entering criteria for searching flights, including date, origin, and destination fields 701. As depicted, the criteria are for searching flights from Nice to Miami on December 1, 2019. The GUI 700 also includes a virtual button 702 for initiating a search.

[0158] GUI 700 also includes field 703, which can be selected (e.g., as depicted) or not selected to include searching for pet-related services when searching for flights. Specifically, GUI 700 indicates that flight searches can be targeted at a given customer who previously traveled with a cat (e.g., “Mr. Smith”) (e.g., determined based on customer records), so client device 112 includes field 703 in GUI 700 such that flight searches can also include searches for auxiliary services for traveling with pets. Specifically, when virtual button 702 is actuated (e.g., via input device of client device 112), a request is transmitted to mediation server 120, the request including the criteria in field 701 and instructions to search for pet-related services.

[0159] Attention direction Figure 8 It and Figure 6 They are essentially similar, with the same components having the same numbering, but without the machine learning model training system 129 and the event hub device 127, although they are assumed to exist and operate as described above.

[0160] Figure 8 The description depicts client device 112 transmitting request 801 to mediation server 120. Request 801 is understood to include criteria in field 701 and instructions to search for pet-related services. Request 801 may include a shopping request and / or an NDC shopping request. Request 801 may be generated when virtual button 702 is actuated. In response to receiving request 801, mediation server 120 transmits request 802 to provider system 104 (e.g., one or more provider systems 104) to search for flight objects corresponding to the requested criteria. Although not depicted, mediation server 120 may also search for flight objects 651 corresponding to the requested criteria in flight object cache 123.

[0161] As depicted, provider system 104 returns flight object 851 to mediation server 120 (e.g., which receives flight object 851, for example, at block 402 of method 400). Flight object 851 may represent a flight that meets the criteria of field 701, such as a flight from Nice to Miami on December 1, 2019 for a given airline (e.g., “AL1”) (e.g., flight number “AL1 853”).

[0162] Then, the mediation server 120 can search (e.g., at block 404 of method 400) the auxiliary object cache 124 to find a scheduled auxiliary object 641 associated with a previous flight similar to the flight represented by flight object 851. The search can be for all scheduled auxiliary objects 641 associated with a previous flight similar to the flight represented by flight object 851, and / or the search can be for a scheduled auxiliary object 641 representing an auxiliary service indicated in request 801 (e.g., pet-related services). For example, as depicted, the mediation server 120 transmits a request 854 to the auxiliary object cache server 122, which includes criteria for searching the auxiliary object 641 in the auxiliary object cache 124 associated with a previous flight similar to the flight represented by flight object 851. Therefore, request 854 can include indicators of the flight represented by flight object 851 (e.g., airline indicator, origin / destination (e.g., flight indicator), indicators for searching pet-related services (e.g., auxiliary service indicator), etc.).

[0163] As depicted, auxiliary object cache server 122 receives request 854. Similar flight determination machine learning model 335-4 can be used to determine, based on the flight indicator in request 854, that previous flights associated with one or more of auxiliary objects 641 are similar to the flight represented by flight object 851. Auxiliary object cache server 122 also determines, based on the auxiliary service indicator in request 854, that auxiliary object 641 represents the service indicated in request 854. In fact, although not depicted, a search based on the auxiliary service indicator can also be based on a machine learning model. As depicted, auxiliary object cache server 122 determines that auxiliary object 641-1 meets the criteria of request 854. Specifically, as depicted, auxiliary object cache server 122 can also use validity determination machine learning model 335-3 to determine that auxiliary object 641-1 is valid. Auxiliary object cache server 122 returns auxiliary object 641-1 to mediation server 120 (e.g., a "yes" decision occurs at box 406 of method 400).

[0164] The mediation server 120 can assemble the flight object 851 and the auxiliary object 641-1 into a provider object 861 and provide the provider object 861 (e.g., at block 408 of method 400) to the client device 112.

[0165] Attention direction Figure 9 , Figure 9 An example GUI 900 is depicted, which can be provided at the display screen of client device 112 in response to receiving provider object 861. Specifically, GUI 900 includes a representation 901 of flight object 851 indicating details (including cost) of an associated flight, and a virtual button 902 for selecting flight object 851 for purchase. GUI 900 also includes an indication 903 of auxiliary object 641-1 and a field 904 that can be selected (e.g., as depicted) to include purchasing auxiliary object 641-1 when the virtual button 902 is selected. When the virtual button 902 is actuated and field 904 is selected, a pricing request can be transmitted to mediation server 120, which, in response, determines the final price of the flight and auxiliary services, for example, by searching and / or querying provider objects representing the flight and auxiliary services in provider system 104.

[0166] In fact, Figure 9 The illustration shows that personalized content can be provided based on customer and / or traveler profiles and / or documents, and that menu quotes can also be provided for specific groups. Figure 7 and Figure 9 The illustration further illustrates the various ancillary services that can occur during the search.

[0167] Although method 400 is described in relation to a flight object and an auxiliary object, it should be understood that multiple flight objects (e.g., tens to hundreds to thousands of flight objects and / or any suitable number of flight objects) can be returned as search results, and method 400 can be applied to multiple flight objects.

[0168] For example, although not depicted, GUI 900 can be adapted to indicate multiple flight objects and / or ancillary objects to show competitive prices and / or services on the flight; such an example is achieved by displaying and / or rendering indications of multiple flight objects and / or ancillary objects by one or more of price and date. For example, such indications can be arranged in a grid format.

[0169] Next, attention should be focused on Figure 10 and Figure 11 They and Figure 8 They are essentially similar, with the same components having the same numbering, and depict an example where a "no" decision occurs at box 404 of method 400.

[0170] Figure 10 The diagram depicts a client device 112 transmitting a request 1001 to a mediation server 120, which is understood to include criteria for searching for flights and ancillary services, as described above. The mediation server 120 receives the request 1001 and searches (e.g., via request 1002) the provider system 104 (and / or the flight object cache 123) for flight objects that meet the criteria of request 1001. As depicted, the provider system 104 returns a flight object 1051, which is used to search (e.g., via request 1054) the ancillary object cache 124, as described above. However, in this example, no ancillary object 641 is found (e.g., a "no" decision occurs at box 404 of method 400), and a "NULL" result is returned.

[0171] refer to Figure 11 And assuming that the mediation server 120 is in the mode represented by block 412 of method 400, in response to receiving a NULL result, the mediation server 120 requests (e.g., at block 412 of method 400) an additional auxiliary object from the provider system (e.g., via request 1102), which is associated with the flight represented by flight object 1051.

[0172] As depicted, provider system 104 returns auxiliary object 1141 to intermediate server 120, which stores auxiliary object 1141 (e.g., at block 418 of method 400) in auxiliary object cache 124. For example, as depicted, mediation server 120 transmits auxiliary object 1141 to auxiliary object cache server 122, which categorizes auxiliary object 1141 (e.g., via machine learning models 335-1, 335-2) and stores the categorized auxiliary object 1141 in auxiliary object cache 124. For example, as depicted, auxiliary object 1141 is categorized as a pet-related service type for a flight provided by airline "AL3" on a flight from Miami to Nice (e.g., request 1001 could be for a flight from Miami to Nice). For example, the search represented by request 1001 could be for flights from Miami to Nice on a given date, while flight object 1051 could be for flights from Miami to Nice offered by airline "AL3" on a given date.

[0173] As depicted, the mediation server 120 returns flight object 1051 and auxiliary object 1141 as provider object 1161 to the client device 112.

[0174] However, in other examples, such as when the mediation server 120 is in the mode represented by blocks 414 and 416 of method 400, the mediation server 120 may return flight object 1051 without an auxiliary object (e.g., at block 414 of method 400) and perform a search for auxiliary object 1141 "offline" (e.g., at block 416 of method 400), as described above.

[0175] Next, attention should be focused on Figures 12 to 15 It describes an example of method 500.

[0176] Attention direction Figure 12 , Figure 12 An example graphical user interface (GUI) 1200 that can be displayed on a client device 112 is depicted. GUI 1200 includes fields 1201 for entering criteria for searching flights, including date, location, and destination fields 1201, similar to GUI 700. As depicted, the criteria are for searching flights from Nice to Miami on December 1, 2019. GUI 1200 also includes a virtual button 1202 for initiating a search.

[0177] GUI 1200 also includes field 1203, which can be selected (e.g., as depicted) to include classification of provider objects returned as results of a search flight according to provider object classification criteria 224 associated with client device 112 and / or, for example, a given entity and / or company (e.g., “ABC INC.” as depicted).

[0178] Next, attention should be focused on Figure 13 It and Figure 8 They are basically similar, with identical components having the same numbering. However, details of auxiliary object 641 are not included. Figure 13 Described in the text.

[0179] Figure 13 The description depicts a client device 112 transmitting a request 1301 (e.g., a shopping request) to a mediation server 120. This request is understood to include criteria in field 1201 and instructions for classifying provider objects, which can be returned as results of a flight search based on provider object classification criteria 224 associated with a given entity and / or company. Request 1301 can be generated when a virtual button 1202 is actuated.

[0180] In response to receiving (e.g., at block 502 of method 500) request 1301, the mediation server 120 searches (e.g., at block 504 of method 500) from the provider system 104 and / or the flight object cache 123 and / or the auxiliary object cache 124 for provider objects (e.g., flight objects and / or auxiliary objects) that satisfy the criteria of request 1301. As depicted, the mediation server 120 may receive provider object 1351 from the provider system 104 and / or the flight object cache 123 and / or the auxiliary object cache 124 (e.g., at block 506 of method 500) as a result of the search. Although the exchange of requests between the mediation server 120 and the provider system 104 and / or the flight object cache 123 and / or the auxiliary object cache 124 is not depicted, it is understood that the exchange of requests may occur to achieve the search (e.g., as described above regarding...). Figure 8 (As described).

[0181] In particular, since request 1301 may include a shopping request, the mediation server 120 may search for provider object 1351 by one or more of the following: searching for flight object 651 that meets the criteria of request 1301 from one or more of provider system 104 and flight object cache 123; and searching for auxiliary object 641 associated with the received flight object from auxiliary object cache 124, as described above with respect to method 400.

[0182] In addition, the mediation server 120 may receive the provider object 1351 by one or more of the following: receiving one or more of the flight object and the auxiliary object; and combining one or more of the flight object and the auxiliary object into the provider object 1351 for classification.

[0183] In other examples, the mediation server 12 may assemble flight objects and auxiliary objects based on provider object classification criteria 224. For example, the mediation server 120 may assemble flight objects and auxiliary objects as described above. Accordingly, the number of flight objects and auxiliary objects assembled into provider objects and / or the number of provider objects assembled can be limited by assembling provider objects to satisfy and / or best satisfy and / or at least partially satisfy provider object classification criteria 224.

[0184] However, when request 1301 includes a pricing request, the mediation server 120 can search for flight objects and auxiliary objects in the provider system 104, as described above. The mediation server 120 can receive the provider object 1351 by one or more of the following: receiving one or more flight objects and service lists from the provider system 104; and assembling one or more of the flight objects and auxiliary objects defined by the service lists into the provider object 1351 for classification.

[0185] Therefore, although Figure 13 There is no distinction between flight objects and auxiliary objects, but it is understood that provider object 1351 can be assembled to include at least one flight object and / or be assembled with a flight object. For example, provider object 1351 from auxiliary object cache 124 includes auxiliary object 641, which can be assembled with a flight object at mediation server 120.

[0186] It should also be understood that the provider object 1351 received from the flight object cache 123 includes the flight object 651.

[0187] In any case, the mediation server 120 receives one or more provider objects 1351, which can be classified according to the described provider object classification criteria 224 (e.g., provider object classification criteria 224-1, 224-2, 224-3), which can be associated with the client device 112 (and / or a given entity and / or company, such as "ABC INC.").

[0188] For example, the next focus is on Figure 14 , Figure 14 Examples of provider object 1351 and provider object classification criteria 224 are depicted.

[0189] As depicted, for simplicity, provider objects 1351 are shown in tabular form, with airlines arranged by row (e.g., airlines "AL1", "AL2", "AL3") and provider objects 1351 arranged by column; the depicted provider objects 1351 correspond to a base price (e.g., the lowest fare an airline can offer), a first supplemental sale price, and a second supplemental sale price (e.g., supplemental sale prices may include more and / or different ancillary services than the base price). In other words, as depicted, in response to request 1301, provider object 1351 has received information indicating which flight meets the criteria of request 1301, where airline AL1 is associated with three provider objects 1351, airline AL2 is associated with one provider object 1351, and airline AL3 is associated with three provider objects 1351. Although price and flight details of provider objects 1351 are not depicted, they are understood to exist; more precisely, as... Figure 14 As depicted, provider object 1351 indicates fare terms and / or rules (e.g., whether the flight is refundable and / or the conditions for refunds and / or flight changes), as well as ancillary services included in provider object 1351. For example, as depicted, each provider object 1351 indicates whether carry-on baggage, checked baggage, and premium seating are included.

[0190] Additionally, each provider object 1351 displays a “fare series” or “FF” used by the associated airline to classify and / or categorize the provider object 1351. For example, airline “AL1” includes three fare series: “Basic”, “Good”, and “Max” (e.g., one basic quote and two additional sales quotes); airline “AL2” includes one fare series: “Standard” (e.g., one basic quote with no additional sales quotes); and airline “AL3” includes three fare series: “Super Economy”, “Economy”, and “Economy Plus” (e.g., one basic quote and two additional sales quotes).

[0191] Figure 14 The document also describes provider object classification criteria 224. For simplicity, provider object classification criteria 224 are arranged in tabular form as in Table 1424, and are arranged by columns, with each column containing a set of provider object classification criteria 224. For example, the first column of Table 1424 shows provider object classification criterion 224-1, the second column shows provider object classification criterion 224-2, and the third column shows provider object classification criterion 224-3.

[0192] The second row of Table 1424 shows the specific ancillary services and fare conditions and / or the rules for Provider Object Classification Criterion 224 for a given column. For example, Provider Object Classification Criterion 224-1 includes tickets with no carry-on baggage, no checked baggage, no premium seating, and non-refundable tickets. Similarly, Provider Object Classification Criterion 224-2 includes one carry-on baggage, no checked baggage, no premium seating, and paid flight changes. Similarly, Provider Object Classification Criterion 224-3 includes one carry-on baggage, one checked baggage, one premium seating, and fully refundable tickets.

[0193] Table 1424 also shows in the remaining rows the classification of provider object 1351 according to the corresponding provider object classification criterion 224 for a given column, and its ranking determined by the mediation server 120 (e.g., at box 508 of method 500).

[0194] For example, as depicted, the mediation server 120 has determined that provider object 1351 of airline "AL1" and fare series "Basic" match the criteria of provider object classification criterion 224-1. The mediation server 120 has determined that provider object 1351 of airline "AL2" and fare series "Standard" partially match the criteria of provider object classification criterion 224-1, and similarly determined that provider object 1351 of airline "AL3" and fare series "Super Economy" partially match the criteria of provider object classification criterion 224-1.

[0195] As depicted, the mediation server 120 further ranks the provider objects 1351 according to the criteria of classification criterion 224-1 for matching and / or partially matching provider objects. For example, the provider objects 1351 for airline "AL1" and fare series "basic" are ranked highest because the match is 100%, while other provider objects 1351 are ranked lower because the match is partial.

[0196] Ranking can occur in any suitable manner; for example, a lower-cost provider object 1351 that matches the same number of criteria as the higher-cost provider object 1351 can be ranked higher than such a higher-cost provider object 1351. Alternatively, certain criteria (such as premium seating) can be given higher weight than others (such as checked baggage); for example, provider object 1351 of airline "AL2" and fare series "Standard" can be given higher weight (e.g., than provider object 1351 of airline "AL3" and fare series "Super Economy") because it includes checked baggage, even though provider object classification criterion 224-1 specifies no checked baggage. However, any suitable criteria can be used to classify and rank provider objects 1351.

[0197] Furthermore, some provider objects 1351 can be classified according to different provider object classification criteria 224. For example, provider objects 1351 for airline "AL3" and fare series "Super Economy" are classified according to provider object classification criteria 224-1 and 224-2, even though provider objects 1351 for airline "AL3" and fare series "Super Economy" rank higher in provider object classification criterion 224-2.

[0198] Furthermore, some provider objects 1351 may include flight objects combined with auxiliary objects. For example, as depicted in the second column of Table 1424, provider object 1351 including airline "AL1" and fare series "basic" is combined with auxiliary object 641 from auxiliary object cache 124, for example, to add carry-on baggage. Similarly, as depicted in the third column of Table 1424, provider object 1351 including airline "AL2" and fare series "standard" is combined with two auxiliary objects 641 from auxiliary object cache 124, for example, to add carry-on baggage and checked baggage.

[0199] In any case, such as Figure 15 As depicted, provider object 1351 can be provided to client device 112 (e.g., at box 510 of method 500) as classified and ranked by provider object classification criteria 224, such as in table 1424, but provider object 1351 can be provided to client device 112 in any suitable format by classification, etc.

[0200] Provider object 1351 can be rendered and categorized on the display screen of client device 112 for selection and / or purchase, similar to that described above. Alternatively, categorized provider object 1351 can be provided by an entity (e.g., a travel agency) to an enterprise that has defined provider object categorization criteria 224, enabling the selection of provider object 1351 for purchase, which is aligned with the employee's position in the organizational hierarchy.

[0201] In this specification, an element may be described as being "configured to" perform one or more functions or "configured for" such functions. Generally, an element configured to perform or configured for performing a function is enabled to perform that function, or is suitable to perform that function, or is operable to perform that function, or is otherwise capable of performing that function.

[0202] It should be understood that, for the purposes of this specification, the language “at least one of X, Y, and Z” and “one or more of X, Y, and Z” can be interpreted as X only, Y only, Z only, or any combination of two or more items X, Y, and Z (e.g., XYZ, XY, YZ, XZ, etc.). Similar logic can be applied to two or more items in any instance where the language “at least one…” and “one or more…” appears.

[0203] For example, as understood by those skilled in the art, the terms “approximately,” “substantially,” “essentially,” “about,” etc., are defined as “close to.” In some examples, these terms should be understood as “within 10%”, in others as “within 5%”, in still others as “within 1%”, and in still still others as “within 0.5%”.

[0204] Those skilled in the art will recognize that, in some examples, the functionality of the devices and / or methods and / or processes described herein can be implemented using pre-programmed hardware or firmware elements (e.g., application-specific integrated circuits (ASICs), electrically erasable programmable read-only memory (EEPROM), etc.) or other related components. In other examples, the functionality of the devices and / or methods and / or processes described herein can be implemented using a computing device capable of accessing a code memory (not shown) that stores computer-readable program code for the operation of the computing device. The computer-readable program code can be stored on a computer-readable storage medium that is fixed, tangible, and directly readable by these components (e.g., removable disk, CD-ROM, ROM, fixed disk, USB drive). Furthermore, it should be recognized that the computer-readable program can be stored as a computer program product including a computer-usable medium. Additionally, persistent storage devices can include computer-readable program code. It should also be recognized that the computer-readable program code and / or computer-usable medium can include non-transitory computer-readable program code and / or non-transitory computer-usable medium. Alternatively, computer-readable program code may be stored remotely, but may be transmitted to these components via a modem or other interface device connected to a network (including, but not limited to, the Internet) through a transmission medium. The transmission medium may be a non-mobile medium (e.g., optical and / or digital and / or analog communication lines) or a mobile medium (e.g., microwave, infrared, free-space optics, or other transmission schemes) or a combination thereof.

[0205] Those skilled in the art will recognize that there are many other alternative examples and possible modifications, and that the examples above are merely illustrative of one or more examples.

Claims

1. A server for providing auxiliary objects from a cache, the server comprising: Communication interface; as well as The controller is configured as follows: Receive flight objects representing flights provided by one or more provider systems via the communication interface; Search the auxiliary object cache for a pre-determined auxiliary object associated with a previous flight similar to the stated flight; as well as When one or more predetermined auxiliary objects associated with at least one previous flight similar to the flight are found in the auxiliary object cache, a response is provided to the requesting device via a communication interface, the response corresponding to the flight object and the one or more predetermined auxiliary objects associated with the at least one previous flight similar to the flight. When one or more predetermined auxiliary objects are not found in the auxiliary object cache, a request mode is determined, wherein the request includes an indication of the mode, and wherein the controller is further configured to, when one or more predetermined auxiliary objects are not found in the auxiliary object cache, in the determined first mode: Request additional auxiliary objects from the one or more provider systems, the additional auxiliary objects being associated with the flight; Provide a response to the requesting device, the response corresponding to a flight object and an additional auxiliary object received from the one or more provider systems in place of the one or more predetermined auxiliary objects; as well as Additional auxiliary objects received from the one or more provider systems are stored in the auxiliary object cache as additional predetermined auxiliary objects; The controller is further configured to, in a determined second mode, when one or more predetermined auxiliary objects are not found in the auxiliary object cache: Provide a response to the requesting device, the response corresponding to the flight object, the response being provided without an auxiliary object; Request additional auxiliary objects from one or more supplier systems, the additional auxiliary objects being associated with the flight; and The corresponding additional auxiliary objects received from the one or more provider systems are stored in the auxiliary object cache as corresponding additional predetermined auxiliary objects.

2. The server of claim 1, wherein the controller is further configured to: Receive a request for a flight object from the device that issued the request; Based on the criteria of the request, search for flight objects in at least one of the flight object cache and the one or more provider systems; and Receive flight objects from the flight object cache and at least one of the one or more provider systems.

3. The server of claim 1, wherein the controller is further configured to: Receive pre-defined auxiliary objects; The intended auxiliary objects are classified based on one or more of their type and prior flight associations; and The predefined auxiliary objects for each category are stored in the auxiliary object cache.

4. A method for providing a provider object for classification, the method comprising: At one or more servers, a flight object representing a flight provided by one or more provider systems is received from the requesting device; At one or more servers, a search is conducted in the auxiliary object cache for a pre-determined auxiliary object associated with a previous flight similar to the flight. When one or more of the scheduled auxiliary objects associated with at least one previous flight similar to the flight are found in the auxiliary object cache, a response is provided to the requesting device via the one or more servers, the response corresponding to the flight object and the one or more scheduled auxiliary objects associated with the at least one previous flight similar to the flight; When one or more predetermined auxiliary objects are not found in the auxiliary object cache, a request pattern is determined via the one or more servers, wherein the request includes an indication of the pattern, and wherein the method further includes, via the one or more servers, when one or more predetermined auxiliary objects are not found in the auxiliary object cache, under the determined first pattern: The additional auxiliary object, associated with the flight, is requested from the one or more provider systems via the one or more servers. Provide a response to the requesting device, the response corresponding to a flight object and an additional auxiliary object received from the one or more provider systems in place of the one or more predetermined auxiliary objects; as well as Additional auxiliary objects received from the one or more provider systems via the one or more servers are stored in the auxiliary object cache as additional predetermined auxiliary objects; The method further includes, via the one or more servers, when the one or more predetermined auxiliary objects are not found in the auxiliary object cache, in a determined second mode: A response is provided to the requesting device via the one or more servers, the response corresponding to a flight object, the response being provided without an auxiliary object; Requesting additional auxiliary objects from the one or more supplier systems via the one or more servers, the additional auxiliary objects being associated with the flight; and The corresponding additional auxiliary objects received from the one or more provider systems via the one or more servers are stored in the auxiliary object cache as corresponding additional predetermined auxiliary objects.

5. The method of claim 4, further comprising: The request is received at one or more servers from the requesting device, the request being for one or more provider objects provided by the one or more provider systems; At one or more of the servers, search for the one or more provider objects in the provider system, the flight object cache, and the auxiliary object cache; Receive the one or more provider objects at the one or more servers; At the one or more servers, the one or more provider objects are classified based on the provider object classification criteria associated with the requesting device; as well as Store the categorized responses in the auxiliary object cache.

6. The method of claim 4, further comprising: The one or more provider objects classified are ranked based on the provider object classification criteria, wherein the response corresponds to the one or more provider objects classified and ranked.

7. The method of claim 5, wherein the provider object classification criteria include one or more of the following pre-filled definitions: the corresponding service level of the flight, the associated fare rules, and the associated services of the flight, said pre-filled definitions being associated with the requesting device rather than with the one or more provider systems.

8. The method of claim 5, further comprising, when the request includes a shopping request: The search for the one or more provider objects is performed by one or more of the following: searching for flight objects that meet the criteria for the request in one or more of the provider system and flight object caches; and searching for auxiliary objects associated with the flight objects in the auxiliary object cache; and The one or more provider objects are received through one or more of the following: receiving one or more flight objects and auxiliary objects; assembling one or more flight objects and auxiliary objects into the one or more provider objects for classification; and Based on the provider object classification criteria, one or more of the flight object and auxiliary objects are assembled into a provider object.

9. The method of claim 5, further comprising, when the request includes a pricing request: The search for the one or more provider objects is performed by one or more of the following: searching for flight objects that meet the criteria of the request at one or more provider systems; and requesting a list of services defining auxiliary objects associated with the flight objects from the one or more provider systems; and The one or more provider objects are received by one or more of the following: receiving one or more flight objects and service lists; assembling one or more flight objects and auxiliary objects defined by the service lists into the one or more provider objects for classification; and assembling one or more flight objects and auxiliary objects into the one or more provider objects based on provider object classification criteria.

10. A computer program product comprising program code instructions stored on a computer-readable medium, wherein the program, when executed on a computer, performs the steps of the method according to any one of claims 4 to 9.

Citation Information

Patent Citations

  • Use of stored search results by a travel search system

    US20150073868A1