Managing an exchange that fulfills natural language travel requests

Information

  • Patent Grant
  • 10810641
  • Patent Number
    10,810,641
  • Date Filed
    Wednesday, September 12, 2018
    6 years ago
  • Date Issued
    Tuesday, October 20, 2020
    4 years ago
Abstract
An exchange that fulfills natural language travel requests is described herein. According to some embodiments, systems for managing an exchange that fulfills natural language travel requests may include a publishing module that receives a plurality of inventory records from a plurality of suppliers, each of the plurality of inventory records pertaining to an available offering, the offering being defined by a set of metadata attributes, and a pattern recognition artificial intelligence engine that generates equivalent phrases for the set of metadata attributes from each inventory record by applying pattern recognition artificial intelligence to the set of metadata attributes, the equivalent phrases representing possible natural language queries to which an inventory record may correspond.
Description
FIELD OF THE PRESENT TECHNOLOGY

The present technology relates generally to an exchange for fulfilling natural language travel requests, and more specifically, but not by way of limitation to an exchange that allows suppliers to provide inventory records and customers to input travel itinerary requests in a natural language format, and fulfills the travel itinerary requests by applying pattern recognition artificial intelligence and/or semantic parsing to inventory records and travel itinerary requests to obtain matches therebetween.


BACKGROUND

The ability to sell more inventory and to sell current inventory more efficiently and to differentiate product is extremely important and urgent to suppliers, especially in the travel and hospitality industries. Additionally, consumers want and need more choice and inventory. The current legacy supply chain for fulfilling travel related needs of consumers is complicated and remains under the control of various companies, most of which directly or indirectly compete with one another. Even if those within the supply chain are not hindered from cooperating by competition, balkanization of services/responsibilities within a single supplier may further hinder these legacy supply chains. For example, with respect to an airline, current inventory may be maintained by one entity or department while flights are managed by another department and/or business. Moreover, airline rules and pricing may be managed by yet another department and/or business. Business processes that interact with these legacy systems must be structured to correspond to these entities and their rules. For each entity, a completely different set of requirements may be imposed upon business processes that depend upon these entities. In sum, the structures of these legacy supply chain systems make it extremely difficult, if not impractical, to properly aggregate offerings and/or add new inventory that would be recognized and accepted by the legacy systems. Additionally, legacy supply chain systems only support small portions of the overall travel and hospitality industry.


SUMMARY OF THE PRESENT TECHNOLOGY

According to some embodiments, the present technology may be directed to methods for managing an exchange that fulfills natural language travel requests. The methods may comprise: (a) receiving a plurality of inventory records from a plurality of suppliers, each of the plurality of inventory records pertaining to an available offering, the offering being defined by a set of metadata attributes; and (b) generating equivalent phrases for the set of metadata attributes from each inventory record by applying pattern recognition artificial intelligence to the set of metadata attributes, the equivalent phrases representing possible natural language queries to which an inventory record may correspond.


According to other embodiments, the present technology may be directed to systems for managing an exchange that fulfills natural language itinerary requests. The systems may comprise: (a) a memory for storing executable instructions; (b) a processor for executing the instructions; (c) a publishing module stored in memory and executable by the processor to receive a plurality of inventory records from a plurality of suppliers, each of the plurality of inventory records pertaining to an available offering, the offering being defined by a set of metadata attributes; and (d) a pattern recognition artificial intelligence engine stored in memory and executable by the processor to generate equivalent phrases for the set of metadata attributes from each inventory record by applying pattern recognition artificial intelligence to the set of metadata attributes, the equivalent phrases representing possible natural language queries to which an inventory record may correspond.


According to additional embodiments, the present technology may be directed methods for managing an exchange that fulfills natural language travel requests. The methods may comprise: (a) receiving a bid from a first party, the bid comprising a set of metadata attributes; (b) parsing the bid to: (i) evaluate the set of metadata attributes for the bid; and (ii) determine at least one category to associate with the bid based upon the set of metadata attributes of the bid; (c) generating equivalent phrases for the set of metadata attributes of the bid by applying pattern recognition artificial intelligence to the set of metadata attributes, the equivalent phrases representing available bid queries; and (d) placing the bid request in an exchange system for fulfillment, the bid request comprising at least one of the available bid queries.





BRIEF DESCRIPTION OF THE DRAWINGS

Certain embodiments of the present technology are illustrated by the accompanying figures. It will be understood that the figures are not necessarily to scale and that details not necessary for an understanding of the technology or that render other details difficult to perceive may be omitted. It will be understood that the technology is not necessarily limited to the particular embodiments illustrated herein.



FIG. 1 illustrates an exemplary architecture for practicing aspects of the present technology;



FIG. 2 illustrates an exemplary exchange system, constructed in accordance with the present technology;



FIG. 3 illustrates flow diagram of events through an exchange system;



FIG. 4 illustrates a flow diagram of an exemplary method for publishing inventory records to an exchange system;



FIG. 5 illustrates a flow diagram of an exemplary method for processing natural language travel requests;



FIG. 6 illustrates a flow diagram of an exemplary method for managing an exchange that fulfills natural language travel requests; and



FIG. 7 is a block diagram of an exemplary computing system for implementing embodiments of the present technology.





DETAILED DESCRIPTION

While this technology is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail several specific embodiments with the understanding that the present disclosure is to be considered as an exemplification of the principles of the technology and is not intended to limit the technology to the embodiments illustrated.


It will be understood that like or analogous elements and/or components, referred to herein, may be identified throughout the drawings with like reference characters. It will be further understood that several of the figures are merely schematic representations of the present technology. As such, some of the components may have been distorted from their actual scale for pictorial clarity.


Generally speaking, the present technology comprises systems, methods, and media for managing an exchange that fulfills travel requests. More specifically, but not by limitation, the present technology may fulfill travel requests in the form of natural language expressions of a travel itinerary. In other embodiments, the request may comprise a non-natural language request, such as a keyword request, a Boolean phrase, and so forth. The present technology provides a simplified supply chain for the addition, organization, and consumption of inventory, together with a simplified distribution model. Additionally, the systems provided herein may also interact seamlessly with the legacy systems.


Broadly described, the present technology may include one or more of the following components, such as an exchange that functions as an inventory aggregator that holds actual and virtual inventory (e.g., inventory or data that represents inventory), together with methods for handling such data. The present technology may also employ a publishing module that allows suppliers to publish any type of inventory onto the exchange. Also, the present technology may provide consumers (e.g., travelers) with various ways to identify, request, receive, and/or consume inventory provided by suppliers.


Although the exchange can be employed for general commerce, for the purposes of brevity and clarity, descriptions of the exchange may be limited to use within the travel and hospitality industries.


When working in combination, these components provide a unique end-to-end combined experience for the supplier and consumer in their respective abilities to define and consume inventory. Within this architecture, suppliers can offer any type of inventory, and consumers may request and consume such inventory within the context of the exchange.


The present technology may utilize various types of pattern recognizing artificial intelligence and/or logic to process inventory requests/bids, generate inferences models from inventory requests, along with semantic natural language parsing to process natural language queries, such as travel itinerary requests.


For each request and or itinerary, the exchange determines the consumer profile and the request inventory using pattern recognition, inference modeling and so forth. It notifies suppliers who have registered to be notified and supplies them with the requests, itinerary and consumer profile.


Notifications allow the exchange to act as a virtual inventory, together with a physical inventory, further aggregating inventory without adding undue complexity to the supply chain. The notification modality allows the supplier to dynamically allocate inventory and dynamically price inventory based on a complex set of consumer data and draw important inferences about the consumer. Suppliers may utilize this data to determine how to structure their inventory and offers. Suppliers may also search their published inventory on the exchange, and/or taking inventory from an external source. A further capability of the open nature of the exchange is that a supplier may combine another supplier's inventory together with their inventory and offer the combined inventory in an offer.


The present technology may also employ additional voucher features that allow suppliers to motivate consumers to consume the supplier's inventory. For example, the supplier may offer a free golf bag to all business class travelers.


The present technology may also facilitate marketing processes. For example, advertisers may also register for inventory and buyer profiles, which may be utilized to generate highly accurate direct advertising that can be provided to actual consumers, targeted to their very specific profiles and content requirements.


The exchange provides the ability for the consumers to place requests on the exchange, for suppliers to be notified and to make offers to requests, for customers to accept offers, for facilitating payments on accepted contracts, and for the supply of information provided by the suppliers to the clients regarding their contracts.


In one sense, the exchange holds no inventory, in another, every offer may correspond to an actual type of inventory (e.g., an offer from a supplier) and suppliers can place as many on the platform as they choose. Requests and offers may have attributes such as time expiry or other conditions, provided they conform to the exchange rules, if any.


Referring to the collective drawings (e.g., FIGS. 1-7), the present technology may facilitate an exchange that fulfills natural language travel requests. The present technology may be implemented within the context of an exemplary architecture 100, hereinafter “architecture 100” as shown in FIG. 1. The architecture 100 may be described as generally including an exchange 105 may communicatively couple with consumers 110 and third party suppliers 115, via a network 120. It is noteworthy to mention that the network 120 may include any one (or combination) of private or public communications networks such as the Internet. The consumers 110 may interact with the exchange 105 via end user client devices that access a web based interface, or an application resident on the end user client device.


In some embodiments, the third party suppliers 115 may communicatively couple with the exchange 105 (also sometimes referred to herein as exchange system 105) over the network 120 via an application programming interface (“API”). It is noteworthy that other methods/systems that allow the third party suppliers 115 and the exchange 105 to communicatively couple with one another, that would be known to one or ordinary skill in the art are likewise contemplated for use in accordance with the present disclosure.


According to some embodiments, the architecture 100 may include a cloud based computing environment. In general, a cloud-based computing environment is a resource that typically combines the computational power of a large grouping of processors and/or that combines the storage capacity of a large grouping of computer memories or storage devices. For example, systems that provide a cloud resource may be utilized exclusively by their owners, such as Google™ or Yahoo! ™; or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources.


The cloud may be formed, for example, by a network of web servers, with each web server (or at least a plurality thereof) providing processor and/or storage resources. These servers may manage workloads provided by multiple users (e.g., cloud resource consumers or other users), in conjunction with other cloud computing benefits such as hosting, processing, bandwidth, and so forth. Typically, each user places workload demands upon the cloud that vary in real-time, sometimes dramatically. The nature and extent of these variations typically depend on the type of business associated with the user.


The exchange 105 may be generally described as a particular purpose computing environment that includes executable instructions that are configured to receive and fulfill natural language requests, such as travel itinerary requests.


In some embodiments, the exchange 105 may include executable instructions in the form of an exchange application, hereinafter referred to as “application 200” that provides various functionalities that will be described in greater detail herein. FIG. 2 illustrates and exemplary schematic diagram of the application 200.


The application 200 is shown as generally comprising components such as a publishing module 205, a pattern recognition artificial intelligence engine, hereinafter “AI engine 210,” a search module 215, and a semantic parsing module, hereinafter “parsing module 220.” It is noteworthy that the application 200 may include additional modules, engines, or components, and still fall within the scope of the present technology. As used herein, the terms “module” and “engine” may also refer to any of an application-specific integrated circuit (“ASIC”), an electronic circuit, a processor (shared, dedicated, or group) that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. In other embodiments, individual components of the application 200 may include separately configured web servers.



FIG. 3 includes an exemplary flow diagram that illustrates the flow of data from a publishing environment. While functional details regarding the exchange system 105 will be described with reference to additional figures described below (e.g., FIGS. 4-6), the overall operational flow of the exchange system 105 is shown in FIG. 3.


The present technology provides an open exchange where suppliers can self-publish their inventory, as well as maintain control over and manage their inventory using the publishing module 205. According to some embodiments, inventory may be described and/or defined on the exchange 105 as inventory records, where each record corresponds to an offering provided by a supplier. Metadata tags may be associated with each inventory record. These metadata tags include metadata attributes that qualify, quantify, describe, and/or govern the inventory (an offering from a supplier).


It will be understood that the supplier may define any inventory desired and any number of associated metadata tags for that their inventory. It is also noteworthy to mention that the term “inventory” as used herein may include both physical and virtual quantities of goods and/or services provided by any type of supplier.


According to some embodiments, the exchange 105 may comprise many standard inventory record definitions for common travel content such as airline tickets, hotels, cars, tours, and so forth. In these cases, default inventory record types (e.g., inventory record template) may be provided to the supplier together with a list of common metadata tags. The supplier can add their own metadata which can be made exclusive to the supplier.


It will be understood that in some instances, the supplier provides inventory records in a free form format. The present technology may employ semantic parsing and/or pattern recognition AI to evaluate these free form inventory records, similarly to the manner in which the present technology parses and interprets consumer requests.


Record type declarations may associate inventory with its corresponding inventory record. Additionally, the inventory record may comprise contextual references that allow the exchange to differentiate (or group together) the records from one another. For example, an inventory instance may apply to air travel. In other instances, the context of an inventory type may be inferred from the data and referenced by the exchange 105.


Once published, inventory records may be placed on the exchange 105 in an inventory database, along with an identifier that references the supplier. A supplier can add new content or extend current content dynamically. A supplier can also interrogate inventory metadata on the exchange, modify it, and/or add new metadata. A supplier may also directly control inventory records placed on the exchange and obtain information about their current inventory records.


Inventory records and corresponding metadata may be communicated to the exchange 105 via the publishing module 205, either using APIs or as files containing inventory records. Because the exchange accepts many types of inventory definitions, the exchange may be configured to determine that the inventory is appropriate and legal.


Suppliers may also add an expiry date and time to an inventory record so that that the inventory record may automatically disappear upon the occurrence of the expiry date and time. For example, all inventory records for flights that have occurred may be deleted from the exchange. In another example, the supplier may also have established a rule that defines the time a consumer may hold a seat on a flight, after which it will become available to other consumers or be returned to the exchange.


It is noteworthy to mention that the inventory database may be partitioned into categories such as flight, hotel, cars, and so forth. Categories may provide context for organizing inventory records and fulfilling travel queries. For example, if a natural language travel query includes requests for overhead carryon space during your stay at a hotel in San Francisco, such a request would make no sense in the context of a hotel visit. Thus, when inventory is added to the inventory database and properly categorized, the parsing module 220 “knows” not only what is being requested, but also what portion of the itinerary to which the portion of the request belongs. The functionalities of the parsing module 220 will be described in greater detail herein.


Referring now to FIGS. 2 and 4 collectively, the publishing module 205 may employ the AI engine 210 to infer a category for an inventory record (also referred to as a “Meta Data Record”).


Supposing that a supplier passes an inventory record (Step 405) having the following metadata attributes: “Record Type, Meta Data name, a Value set, a Value Type, an Inference tag.” For example an inventory record may comprise the following metadata attributes: “Carryon, Carryon, (0,1,2), Integer, Flight.” The AI engine 210 may infer a category for an inventory record (Step 410). For example, the inference tag of “Flight” instructs AI engine 210 that the inventory record belongs to the flight category. Therefore, if a natural language query includes a carryon dependency, it can be inferred that a carryon dependency may probably be attached (or dependent) on the flight nodes of their itinerary.


In some instances, if the AI engine 210 cannot find a corresponding category for an inventory record, the AI engine 210 may create a new category for the inventory record (Step 415) and place the metadata attributes for the inventory record in the new category.


In some instances, each category may be further partitioned into inventory or recordtype tags (Step 420). Using flight as an example, an inventory record may define metadata attributes such as seats, carryons, priority check-in and boarding, food and beverage, among others. The inventory record may be partitioned based upon the metadata attributes included therein. It is noteworthy that a single inventory record may have multiple metadata attributes associated with it. If the inventory record defines a seat on a flight for instance, the inventory record may include metadata such as row, seat number, legroom, pricing, seat class, emergency exit, and kids section—just to name a few.


Returning to the previous carryon example, which may comprise a single entry “carryon.” A supplier may define the data more specifically, such as “overhead carryon,” or “under seat carryon.” The words utilized to define the metadata attributes may be utilized to create phraseology, as will be described in greater detail below.


According to some embodiments, the AI engine 210 may extract information from the inventory record (Step 425), such as name, value type, and value set. The value type instructs the AI engine 210 as to what kind of pattern to look for. The AI engine 210 may employ different patterns relative to a single quantity of something against a range of options, for example. The AI engine 210 may then use the value set, which may comprise a list of admissible options for the content being requested. In some instances, the value set may be determined by what the supplier finds acceptable to offer. For example, one airline might allow only two carryons, whereas another airline may offer three.


The AI engine 210 may create an equivalence class of phrases (Step 430) from the metadata for an inventory record. The AI engine 210 may generate a list of patterns from the metadata attributes. The patterns may represent various permutations for which a consumer may ask for the value set with the metadata name (e.g., possible natural language queries). The phrases may be equivalent in the type of content to which they relate, and may therefore be addressed in a common manner. That is, each of the equivalent phrases may be expected to return the same response, although they include different words or arrangements of words relative to one another.


Utilizing equivalent phrases enables the present technology to function substantially agnostically to variations in natural language queries. Stated otherwise, it is of no importance that the consumer speaks in pigeon English, Latin, French, so long as the pattern of speech substantially corresponds to at least one of the equivalent phrases the equivalence class databases. The pattern recognition utilized by the AI engine 210 may cover the lexicon of each travel inventory and detect substantially all mannerisms in which the inventory can be phrased.


According to some embodiments, the search module 215 may be executed to receive a natural language travel query from a consumer. In some instances the natural language travel query may correspond to an itinerary. For example, a natural language query may include, “I want to buy a carry-on for a flight on 2012 Mar. 22 from Toronto to Seattle.”


Referring now to FIGS. 2 and 5 collectively, the search module 215 may utilize the parsing module 220 to interpret the natural language queries. FIG. 5 illustrates a flowchart of an exemplary method for parsing natural language queries.


According to some embodiments, the semantic parsing module 220 may utilize a directed acyclic graph to interpret natural language queries. For the purpose of explaining how the parsing module 220 identifies requests for inventory, the following description may explain how a search query is built.


The parsing module 220 may first (Step 505) delimit the natural language query. For example, the parsing module 220 may determine inventory components in the query.


The parsing module 220 may parse through each delimited string (Step 510), and transmit the delimited strings to the AI engine 210. The AI engine 210 may employ a combination of phraseology and keyword inference (Step 515) to decode what type of request is being made. The AI engine 210 may reference the metadata database and the equivalence class database. Keywords included in an AI pattern recognition database may direct the AI engine 210 to appropriate content categories for the inventory components included in the request (Step 520). The AI engine 210 may employ additional inferential methods as well as statistical methods and frequency to determine where and how to match content to the request.


For instance, if the natural language query contains the word “stay,” the AI engine 210 may infer that the customer is inquiring about a lodging somewhere and therefore the AI engine 210 may search through the equivalent phrases relevant to hotels. If the AI engine 210 finds a match, it will examine the hotel category of the inventory database and may repeat the process for relevant inventory. If the AI engine 210 does not find a match, the AI engine 210 may search through the remaining phrases of other categories. The AI engine 210 may prompt the consumer if the AI engine 210 is unable to find a match. For example, a prompt may include, “you want to stay somewhere?”


Given a natural language query with an itinerary component, say for example flight, the parsing module 220 may utilize the natural language free-form text and construct a library of attributes for the flight node.


The AI engine 210 may examine each word in the sentence, and locate keywords such as “From,” “To,” “Class,” “dollars,” and so forth. When the AI engine 210 finds a keyword, the AI engine 210 may evaluate the appropriate equivalence class of phrases that deal with that keyword. For example, in flight metadata “cost” has many keywords such as “$” and “dollars.” Therefore, the parsing module 220 may examine the equivalence class of phrases for cost, one of which might comprise “{integer value 0-9 repeated 600 times} dollars.”


The AI engine 210 may evaluate admissible phrases until a match is determined. Subsequently, the AI engine 210 may decode the sentence using the mechanisms/methods previously described for metadata records.


The parsing module 220 may evaluate each word of the sentence. If no keywords are found, nothing is constructed. However the AI engine 210 may employ a “similar to” inference functionality which allows for variation among the phraseology to account for different ways that natural language queries may be structured such as incorrect spelling, grammar, and similar contingencies.


As the metadata tags for the record type are identified and evaluated they are added to the search query in the form of a suitable structure—in this case a dictionary (Step 525). The resulting dictionary may comprise: {“Record”, “Carry-on”}, {“Date”,“2012 Mar. 22”}, {“Flight”,“541”}.


It is noteworthy to mention that when the parsing module 220 encounters a metadata record but the AI engine 210 does not recognize the phraseology the AI engine 210 may employ a heuristic component to learn the new phrase and append the phrase to an appropriate equivalence class.


The search module 215 may utilize the attribute dictionary described above to create a search query. For example, the search module 215 may construct a SQL-like search expression that is supported by the exchange database. An exemplary search query generated from the attribute dictionary may comprise: “SqlQuery<SpaceDocument>query=new SqlQuery<SpaceDocument>(“Carry-on”, Date=‘2012-03-22’ AND Flight=“541”).”


As mentioned previously, attributes or inventory components may often be interdependent with one another. For example, if a consumer is flying from Toronto to Seattle, purchasing a “carry-on” is dependent on the flight chosen. Likewise, a hotel may be dependent on the arrival date and time of the flight. The ability of the present technology to hold and aggregate content may affect how inventory is accessed and how dependencies may be established between inventory components.


The search module 215 provides for complex searches that allow consumers to explicitly define these dependencies. For example, “find ‘carry-on’ where date=‘flight.Arrival.’”


According to some embodiments, inventory records on the exchange can contain fields that are private to the exchange. Amongst these fields, the exchange can keep a log of the number of times a piece of content is selected, together with the anonymous context of that selection. In most legacy systems, an item in inventory is requested, but the context, consumer profile and the itinerary are absent. On the exchange these unrelated types of data may co-exist and be interrelated to one another.



FIG. 6 illustrates a flowchart 600 of an exemplary process for managing bid-ask requests within the exchange. Consumers may request (Step 605) inventory that is not currently on the exchange, by utilizing bid-ask functionalities provided by the exchange. In sum, the exchange may facilitate different modalities where consumers may search pre-defined inventory or request inventory not currently on the exchange in a bid-ask process.


Inventory can be considered a set of static offers for inventory on the exchange. The exchange may provide comprehensive rich search engines that can identify content (Step 610), such as current inventory, that have been published to the exchange. Searches may also identify combinations of inventory based upon dependencies between the inventory entries such as hotels that can be associated with the arrival dates of flights.


Suppliers may register exemplary consumer profiles (Step 615) and the content (Step 620) for which interactions are preferred. Suppliers register inventory by submitting valid inventory records that may comprise metadata attributes, conditions and/or constraints such as “Flights” with “Source”=“YYZ” and “Destination”=“SEA.” In this case the supplier may only be notified of requests (e.g., natural language queries) that require these conditions.


Inventory registration may allow for rich inventory and may incorporate one or more aspects of consumer profiles. For example, a supplier may desire to receive requests for all business class flyers. Additionally, inferential profiles may be generated from various types of information determined from consumers, such as keywords and/or phraseology determined from requests of the consumer by the AI engine. Consumer profiles may be established by the exchange and may be anonymous in the sense that personally identifiable information associated with the consumer may be kept private. The exchange may employ inference techniques for classifying consumer profiles and provides these classifications to various suppliers.


Once potential consumer/buyer profiles have been identified (Step 625), the exchange system may build a list of suppliers that are to be notified, based upon information included in the request/bid (Step 630). Finally, the exchange may notify (Step 635) appropriate suppliers/sellers that requests that fit their preferences have been received.



FIG. 7 illustrates an exemplary computing system 700 that may be used to implement an embodiment of the present technology. The system 700 of FIG. 7 may be implemented in the contexts of the likes of computing systems, networks, exchanges, servers, or combinations thereof disclosed herein. The computing system 700 of FIG. 7 includes one or more processors 710 and main memory 720. Main memory 720 stores, in part, instructions and data for execution by processor 710. Main memory 720 may store the executable code when in operation. The system 700 of FIG. 7 further includes a mass storage device 730, portable storage medium drive(s) 740, output devices 750, user input devices 760, a graphics display 770, and peripheral devices 780.


The components shown in FIG. 7 are depicted as being connected via a single bus 790. The components may be connected through one or more data transport means. Processor unit 710 and main memory 720 may be connected via a local microprocessor bus, and the mass storage device 730, peripheral device(s) 780, portable storage device 740, and display system 770 may be connected via one or more input/output (I/O) buses.


Mass storage device 730, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 710. Mass storage device 730 may store the system software for implementing embodiments of the present technology for purposes of loading that software into main memory 720.


Portable storage device 740 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk, digital video disc, or USB storage device, to input and output data and code to and from the computer system 700 of FIG. 7. The system software for implementing embodiments of the present technology may be stored on such a portable medium and input to the computer system 700 via the portable storage device 740.


Input devices 760 provide a portion of a user interface. Input devices 760 may include an alphanumeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 700 as shown in FIG. 7 includes output devices 750. Suitable output devices include speakers, printers, network interfaces, and monitors.


Display system 770 may include a liquid crystal display (LCD) or other suitable display device. Display system 770 receives textual and graphical information, and processes the information for output to the display device.


Peripherals devices 780 may include any type of computer support device to add additional functionality to the computer system. Peripheral device(s) 780 may include a modem or a router.


The components provided in the computer system 700 of FIG. 7 are those typically found in computer systems that may be suitable for use with embodiments of the present technology and are intended to represent a broad category of such computer components that are well known in the art. Thus, the computer system 700 of FIG. 7 may be a personal computer, hand held computing system, telephone, mobile computing system, workstation, server, minicomputer, mainframe computer, or any other computing system. The computer may also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems may be used including Unix, Linux, Windows, Macintosh OS, Palm OS, Android, iPhone OS and other suitable operating systems.


It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the technology. Computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU), a processor, a microcontroller, or the like. Such media may take forms including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of computer-readable storage media include a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic storage medium, a CD-ROM disk, digital video disk (DVD), any other optical storage medium, RAM, PROM, EPROM, a FLASHEPROM, any other memory chip or cartridge.


While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. The descriptions are not intended to limit the scope of the technology to the particular forms set forth herein. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments. It should be understood that the above description is illustrative and not restrictive. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the technology as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. The scope of the technology should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.

Claims
  • 1. A method for managing an exchange that fulfills natural language travel requests via at least one processor, the method comprising: receiving, via a publishing module, a plurality of inventory records from a plurality of third-party suppliers, each of the plurality of inventory records pertaining to an available offering, the available offering including a set of metadata attributes, wherein at least some of the metadata attributes are defined by the third-party supplier;receiving, via the at least one processor, from each of the plurality of third-party suppliers, one or more notification conditions to be notified about at least one natural language travel request associated with a customer, the one or more notification conditions including at least the set of metadata attributes and supplier preferences associated with an applicable customer profile;placing, via the publishing module, the plurality of inventory records in an inventory database;generating, via the at least one processor, equivalent phrases for the set of metadata attributes from each inventory record by applying pattern recognition artificial intelligence to value types of the set of metadata attributes, the equivalent phrases representing possible natural language travel query permutations to which an inventory record may correspond, the pattern recognition artificial intelligence further comprising: determining a phraseology and keywords of each word of the natural language travel request, the keywords being in an artificial intelligence pattern recognition database, the phraseology and keywords being utilized in combination for determining the equivalent phrases for itinerary components of the natural language travel request based at least in part on appropriate content categories identified by the combination of keywords and phraseology and equivalence class relationships, andthe equivalence class relationships being employed to infer potential equivalent phrases to the itinerary components of the natural language travel request based at least in part on the appropriate content categories and phraseology variations, accounting for spelling differences in the natural language travel request;identifying, via the at least one processor utilizing the inferred potential equivalent phrases to the itinerary components from the pattern recognition artificial intelligence, the at least one natural language travel request that fulfills the one or more notification conditions associated with at least one of the plurality of third-party suppliers, wherein the customer associated with the at least one natural language travel request has the applicable customer profile; andsending, via the at least one processor, a notification about the at least one natural language travel request to the at least one of the plurality of third-party suppliers, the notification including the at least one natural language travel request and data associated with the applicable customer profile, the notification allowing the plurality of third-party suppliers to dynamically allocate inventory and dynamically price the inventory based on a set of consumer data and to draw inferences about the customer.
  • 2. The method of claim 1, further comprising: parsing the plurality of inventory records to: evaluate the set of metadata attributes for each inventory record; anddetermine at least one category to associate with an inventory record based upon the set of metadata attributes of the inventory records.
  • 3. The method of claim 1, further comprising: generating a new category for a set of metadata attributes of an inventory record when an association between the inventory record and at least one existing category cannot be determined.
  • 4. The method of claim 1, wherein equivalent phrases for inventory records are grouped into equivalent phrase classes and the equivalent phrase classes are stored in an equivalent phrase class database within the artificial intelligence pattern recognition database.
  • 5. The method of claim 4, further comprising: receiving a natural language search query;applying semantic natural language parsing to the natural language search query to determine keywords and phraseology for the natural language search query;comparing the keywords and phraseology to the equivalent phrase classes stored in the equivalent phrase class database; andreturning at least one inventory record that corresponds to the natural language search query when any of the keywords or phraseology substantially corresponds to at least one equivalent phrase.
  • 6. The method of claim 1, further comprising: receiving a natural language search query that comprises a multifaceted travel itinerary;determining the itinerary components included in the natural language search query;parsing the itinerary to generate categorized search request components;constructing a multifaceted itinerary search request that includes at least a portion of the categorized search request components;matching inventory records to the categorized search request components included in the multifaceted itinerary search request; andreturning at least one itinerary response that includes matching itinerary components.
  • 7. The method of claim 1, further comprising: applying heuristic logic to a natural language search query to learn equivalent phrases for natural language search query when at least a portion of the natural language search query does not correspond to at least one of the generated equivalent phrases.
  • 8. The method of claim 1, further comprising: determining dependencies for a metadata attribute, the dependency comprising at least one or more of a location dependency, a temporal dependency, a traveler preference dependency, or any combinations thereof.
  • 9. A system for managing an exchange that fulfills natural language itinerary requests, the system comprising: a processor;a memory communicatively coupled to the processor, the memory storing instructions executable by the processor to: receive, from each of a plurality of third-party suppliers, one or more notification conditions to be notified about at least one natural language travel request associated with a customer, the one or more notification conditions including at least a set of metadata attributes and third-party supplier preferences associated with an applicable customer profile,identify, via pattern recognition artificial intelligence, the at least one natural language travel request that fulfills the one or more notification conditions associated with at least one of the plurality of third-party suppliers, the customer being associated with the at least one natural language travel request having the applicable customer profile, andsend a notification about the at least one natural language travel request to the at least one of the plurality of third-party suppliers, the notification including the at least one natural language travel request and data associated with the applicable customer profile, the notification allowing the plurality of third-party suppliers to dynamically allocate inventory and dynamically price the inventory based on a set of consumer data and to draw inferences about the customer;a publishing module stored in memory and executable by the processor to receive a plurality of inventory records from the plurality of third-party suppliers of travel-related goods and services, each of the plurality of inventory records pertaining to an available offering, the available offering being defined by the set of metadata attributes, wherein at least a portion of the metadata attributes are defined by the third-party supplier, and to place the plurality of inventory records in an inventory database; anda pattern recognition artificial intelligence engine stored in memory and executable by the processor to generate equivalent phrases for the set of metadata attributes from each inventory record by applying pattern recognition artificial intelligence to the set of metadata attributes, the equivalent phrases representing possible natural language queries to which an inventory record may correspond, which are determined via the application of pattern recognition artificial intelligence that: determines a phraseology and keywords of each word of the natural language travel request,utilizes the phraseology and keywords in combination to determine appropriate content categories and equivalence class relationships, andemploys the equivalence class relationships to determine potential equivalent phrases to match inventory records, accounting for spelling differences in the natural language travel request.
  • 10. The system of claim 9, wherein the pattern recognition artificial intelligence engine further parses the plurality of inventory records to: evaluate the set of metadata attributes for each inventory record; anddetermine at least one category to associate with an inventory record based upon the set of metadata attributes of the inventory records.
  • 11. The system of claim 9, wherein the pattern recognition artificial intelligence engine further generates a new category for a set of metadata attributes of an inventory record when an association between inventory record and at least one existing category cannot be determined.
  • 12. The system of claim 9, further comprising a search module stored in memory and executable by the processor to receive a natural language search query and parse the natural language search query to determine the keywords or phraseology for the natural language search query.
  • 13. The system of claim 12, wherein the pattern recognition artificial intelligence engine: compares the parsed keywords and phraseology to equivalent phrases; andreturns at least one inventory record that corresponds to the natural language search query when any of the keywords or phraseology substantially corresponds to at least one equivalent phrase.
  • 14. The system of claim 9, further comprising a search module that: receives a natural language search query that comprises a multifaceted travel itinerary;determines the itinerary components included in the natural language search query; andconstructs a multifaceted itinerary search request that includes at least a portion of categorized search request components.
  • 15. The system according to claim 14, wherein the pattern recognition artificial intelligence engine: matches inventory records to the categorized search request components included in the multifaceted itinerary search request; andreturns at least one itinerary response that includes matching itinerary components.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of prior U.S. application Ser. No. 13/420,433, filed Mar. 14, 2012, now granted as U.S. Pat. No. 10,078,855 issued on Sep. 18, 2018, which claims the priority benefit of U.S. provisional patent application Ser. No. 61/452,633, filed Mar. 14, 2011. This application relates to the Applicants' co-pending U.S. non-provisional patent application Ser. No. 13/419,989, filed Mar. 14, 2012, now U.S. Pat. No. 9,286,629 issued on Mar. 15, 2016, and to the Applicants' co-pending U.S. non-provisional patent application Ser. No. 13/420,179, filed Mar. 14, 2012, now U.S. Pat. No. 10,275,810 issued on Apr. 30, 2019. All of the above referenced applications are hereby incorporated by reference for all purposes.

US Referenced Citations (197)
Number Name Date Kind
5557524 Maki Sep 1996 A
5797127 Walker et al. Aug 1998 A
5832452 Schneider et al. Nov 1998 A
5948040 DeLorme et al. Sep 1999 A
6059724 Campell et al. May 2000 A
6275808 DeMarcken Aug 2001 B1
6477520 Malaviya et al. Nov 2002 B1
6553310 Lopke Apr 2003 B1
6795710 Creemer Sep 2004 B1
7092892 Sobalvarro et al. Aug 2006 B1
7219073 Taylor et al. May 2007 B1
7286998 Sauser et al. Oct 2007 B2
7302398 Ban et al. Nov 2007 B2
7860808 Peters Dec 2010 B2
7912734 Kil Mar 2011 B2
7979457 Garman Jul 2011 B1
7983956 Goel Jul 2011 B1
8005685 Bird Aug 2011 B1
8035511 Weaver et al. Oct 2011 B2
8165920 Goel Apr 2012 B2
8224665 Morris Jul 2012 B2
8332247 Bailey et al. Dec 2012 B1
8510133 Peak et al. Aug 2013 B2
8600784 Ivey et al. Dec 2013 B1
8631007 Blandford et al. Jan 2014 B1
8762160 Lulla Jun 2014 B2
9031853 Bartfeld et al. May 2015 B2
9043151 Cai et al. May 2015 B2
9286629 Miller et al. Mar 2016 B2
9449151 Etchegoyen Sep 2016 B2
9659099 Miller et al. May 2017 B2
10041803 Miller et al. Aug 2018 B2
10078855 Miller et al. Sep 2018 B2
10210270 Miller et al. Feb 2019 B2
10275810 Miller et al. Apr 2019 B2
10282797 Valverde, Jr. et al. May 2019 B2
20010044788 Demir et al. Nov 2001 A1
20020069133 Currie et al. Jun 2002 A1
20020082877 Schiff et al. Jun 2002 A1
20020147619 Floss et al. Oct 2002 A1
20020178034 Gardner et al. Nov 2002 A1
20030018499 Miller et al. Jan 2003 A1
20030050846 Rodon Mar 2003 A1
20030055690 Garback Mar 2003 A1
20030055772 Goldstein Mar 2003 A1
20030135458 Tadano et al. Jul 2003 A1
20030177044 Sokel et al. Sep 2003 A1
20030217052 Rubenczyk et al. Nov 2003 A1
20040044516 Kennewick et al. Mar 2004 A1
20040078213 Brice et al. Apr 2004 A1
20040111255 Huerta et al. Jun 2004 A1
20040220854 Postrel Nov 2004 A1
20040249680 Liew et al. Dec 2004 A1
20050033614 Lettovsky et al. Feb 2005 A1
20050038644 Napper et al. Feb 2005 A1
20050043940 Elder Feb 2005 A1
20050108068 Marcken et al. May 2005 A1
20050220278 Zirngibl et al. Oct 2005 A1
20050267651 Arango et al. Dec 2005 A1
20050288973 Taylor et al. Dec 2005 A1
20060106655 Lettovsky et al. May 2006 A1
20060178931 Horn Aug 2006 A1
20060241983 Viale et al. Oct 2006 A1
20060247954 Hunt Nov 2006 A1
20060265508 Angel et al. Nov 2006 A1
20060285662 Yin et al. Dec 2006 A1
20060293930 Rodgers et al. Dec 2006 A1
20070073563 Dourthe et al. Mar 2007 A1
20070100962 Barth et al. May 2007 A1
20070106497 Ramsey et al. May 2007 A1
20070106536 Moore May 2007 A1
20070143154 Ashby et al. Jun 2007 A1
20070156469 Bird et al. Jul 2007 A1
20070168245 de Marcken et al. Jul 2007 A1
20070174350 Pell et al. Jul 2007 A1
20070192186 Greene et al. Aug 2007 A1
20070198442 Horn Aug 2007 A1
20070203735 Ashton Aug 2007 A1
20070208503 Harnsberger Sep 2007 A1
20070260495 Mace et al. Nov 2007 A1
20070276595 Lewinson et al. Nov 2007 A1
20070294149 Lu et al. Dec 2007 A1
20080021748 Bay et al. Jan 2008 A1
20080046274 Geelen et al. Feb 2008 A1
20080052217 Etkin Feb 2008 A1
20080059454 Andrieu Mar 2008 A1
20080091525 Kretz Apr 2008 A1
20080091557 Cella et al. Apr 2008 A1
20080103949 Lobana et al. May 2008 A1
20080109232 Musgrove et al. May 2008 A1
20080114623 Berthaud et al. May 2008 A1
20080120306 Panabaker et al. May 2008 A1
20080201178 Vizitei Aug 2008 A1
20080319803 Heyraud et al. Dec 2008 A1
20090005650 Angell et al. Jan 2009 A1
20090006143 Orttung et al. Jan 2009 A1
20090048876 Bonissone et al. Feb 2009 A1
20090063359 Connors Mar 2009 A1
20090070322 Salvetti et al. Mar 2009 A1
20090112639 Robinson Apr 2009 A1
20090157312 Black et al. Jun 2009 A1
20090157664 Wen Jun 2009 A1
20090177651 Takamatsu et al. Jul 2009 A1
20090210262 Rines et al. Aug 2009 A1
20090216633 Whitsett et al. Aug 2009 A1
20090234681 Champernowne Sep 2009 A1
20090240517 Pelter Sep 2009 A1
20090319305 Weissert et al. Dec 2009 A1
20090327148 Kamar et al. Dec 2009 A1
20100010841 Cooper et al. Jan 2010 A1
20100010978 Carapella et al. Jan 2010 A1
20100030594 Swart Feb 2010 A1
20100082241 Trivedi Apr 2010 A1
20100153292 Zheng et al. Jun 2010 A1
20100217680 Fusz et al. Aug 2010 A1
20100217723 Sauerwein, Jr. et al. Aug 2010 A1
20100318386 Vaughan et al. Dec 2010 A1
20100324927 Tinsley Dec 2010 A1
20110046989 Crean et al. Feb 2011 A1
20110093361 Morales Apr 2011 A1
20110125578 Alspector et al. May 2011 A1
20110137766 Rasmussen et al. Jun 2011 A1
20110153373 Dantzig et al. Jun 2011 A1
20110167003 Nice et al. Jul 2011 A1
20110231182 Weider et al. Sep 2011 A1
20110246246 Johnson Oct 2011 A1
20110295692 Zivkovic et al. Dec 2011 A1
20110307241 Weibel et al. Dec 2011 A1
20110312870 Beatty Dec 2011 A1
20120036158 Cahill et al. Feb 2012 A1
20120054001 Zivkovic et al. Mar 2012 A1
20120059679 de Marcken et al. Mar 2012 A1
20120209517 Li et al. Aug 2012 A1
20120233207 Mohajer Sep 2012 A1
20120239440 Miller et al. Sep 2012 A1
20120239443 Miller et al. Sep 2012 A1
20120239455 Crean et al. Sep 2012 A1
20120239584 Yariv et al. Sep 2012 A1
20120239669 Miller et al. Sep 2012 A1
20120259667 Pelissier et al. Oct 2012 A1
20120265598 Krone Oct 2012 A1
20130166329 Arnoux-Prost et al. Jan 2013 A1
20130041696 Richard Feb 2013 A1
20130041902 Swann et al. Feb 2013 A1
20130054375 Sy et al. Feb 2013 A1
20130073325 Ross Mar 2013 A1
20130090959 Kvamme et al. Apr 2013 A1
20130096965 Pappas et al. Apr 2013 A1
20130132129 Fox et al. May 2013 A1
20130151291 Salway Jun 2013 A1
20130158821 Ricci Jun 2013 A1
20130159023 Srinivas et al. Jun 2013 A1
20130198036 Pappas et al. Aug 2013 A1
20130304349 Davidson Nov 2013 A1
20130339105 Russell et al. Dec 2013 A1
20140019176 Mandelbaum Jan 2014 A1
20140025540 Hendrickson Jan 2014 A1
20140074746 Wang Mar 2014 A1
20140089020 Murphy Mar 2014 A1
20140089036 Chidlovskii Mar 2014 A1
20140089101 Meller Mar 2014 A1
20140114705 Bashvitz et al. Apr 2014 A1
20140156411 Murgai Jun 2014 A1
20140229102 Bapna et al. Aug 2014 A1
20140257949 Gishen Sep 2014 A1
20140279196 Wilson et al. Sep 2014 A1
20140330605 Connolly et al. Nov 2014 A1
20140330606 Paget et al. Nov 2014 A1
20140330621 Nichols et al. Nov 2014 A1
20140337063 Nelson et al. Nov 2014 A1
20150012309 Buchheim et al. Jan 2015 A1
20150046201 Miller et al. Feb 2015 A1
20150066594 Li et al. Mar 2015 A1
20150066830 Wilson et al. Mar 2015 A1
20150193583 McNair et al. Jul 2015 A1
20150235478 Blandin et al. Aug 2015 A1
20150242927 Will et al. Aug 2015 A1
20150278970 Valverde, Jr. et al. Oct 2015 A1
20150356262 Liebovitz et al. Dec 2015 A1
20160125559 Shekou May 2016 A1
20160162871 Lee Jun 2016 A1
20160196271 Miller et al. Jul 2016 A1
20160202073 Claycomb et al. Jul 2016 A1
20160203422 Demarchi et al. Jul 2016 A1
20160232626 Geraci et al. Aug 2016 A1
20160258767 Nevrekar et al. Sep 2016 A1
20160364815 Miller et al. Dec 2016 A1
20160370197 Miller et al. Dec 2016 A1
20160371799 Miller et al. Dec 2016 A1
20160379142 Valverde, Jr. et al. Dec 2016 A1
20170293722 Valverde, Jr. et al. Oct 2017 A1
20170316103 Miller et al. Nov 2017 A1
20180336642 Miller Nov 2018 A1
20180347995 Valverde, Jr. et al. Dec 2018 A1
20190122315 Valverde, Jr. et al. Apr 2019 A1
20190179863 Miller et al. Jun 2019 A1
20190251643 Valverde, Jr. et al. Aug 2019 A1
Foreign Referenced Citations (12)
Number Date Country
2830228 Aug 2017 CA
2830224 Dec 2017 CA
WO2012125742 Sep 2012 WO
WO2012125753 Sep 2012 WO
WO2012125761 Sep 2012 WO
WO2015021180 Feb 2015 WO
WO2015153776 Oct 2015 WO
WO2016201134 Dec 2016 WO
WO2016205076 Dec 2016 WO
WO2016205280 Dec 2016 WO
WO2016209679 Dec 2016 WO
WO2017180483 Oct 2017 WO
Non-Patent Literature Citations (30)
Entry
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2012/029121, dated Jun. 15, 2012, 8 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2012/029098, dated Jun. 7, 2012, 6 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2012/029112, dated Mar. 14, 2013, 6 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2014/049979, dated Nov. 24, 2014, 9 pages.
United Hub. “FareLock: An Opportunity to Lock in Your Ticket Price for up to Seven Days.” United Hub. Aug. 17, 2012. Retrieved on Oct. 17, 2014 from Internet URL <https://hub.united.com/en-us/news/products-services/pages/farelock-lets-you-lock-in-your-ticket-price.aspx>, 3 pages.
MacKenzie, Scott. “Two Services Help You Lock in a Good Deal on Airfare.” Hack My Trip. Apr. 2014. Retrieved on Oct. 17, 2014 from Internet URL <http://hackmytrip.com/2014/04/two-services-help-lock-good-deal-airfare/>, 9 pages.
Boardman, AI. “Options Away.” Vimeo. May 24, 2013. Retrieved on Oct. 17, 2014 from Internet URL <http://vimeo.com/66936261>, 2 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2015/023901, dated Jul. 2, 2015, 10 pages.
“Office Action” Canadian Patent Application No. 2830228 dated Feb. 26, 2016, 3 pages.
“Office Action,” Canadian Patent Application No. 2830224, dated May 18, 2016, 6 pages.
“Office Action,” Canadian Patent Application No. 2830229, dated May 19, 2016, 4 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2016/037555, dated Jul. 11, 2016, 13 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2016/036760, dated Sep. 1, 2016, 12 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2016/037503, dated Sep. 9, 2016, 10 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty application No. PCT/US2016/036749, dated Sep. 27, 2016, 13 pages.
“Notice of Allowance,” Canadian Patent Application No. 2830228, dated Jan. 12, 2017, 1 page.
“Notice of Allowance,” Canadian Patent Application No. 2830224, dated May 4, 2017, 1 page.
“Office Action,” Canadian Patent Application No. 2830229, dated Apr. 28, 2017, 4 pages.
“International Search Report” and “Written Opinion,” Patent Cooperation Treaty Application No. PCT/US2017/026708, dated Jul. 7, 2017, 13 pages.
Mayerowitz “Latest Airline Fee: $9 to Lock in Airfare,” ABC News [online], Dec. 13, 2010 (retrieved on Dec. 21, 2018], Retrieved from the Internet: <URL:http://web.archive.org/web/20110122133909/http://abcnews.go.com/Travel/airline-fees-forgot-checked-bags-pay-lock-airfare/story?id=12385126> 8 pages.
“Office Action,” Canadian Patent Application No. 2830229, dated Mar. 16, 2018, 5 pages.
Goddeau, David et al., “Galaxy: A Human-Language Interface to On-Line Travel Information,” 3rd International Conference on Spoken Language Processing (ICSLP 94), Yokohama, Japan, Sep. 18-22, 1994, pp. 707-710.
Subramoni, Hari, “Topology-Aware MPI Communication and Scheduling for High Performance Computing Systems,” Ohio State University, 2013, 151 pages.
Tablan, Valentin et al., “A Natural Language Query Interface to Structured Information,” The Semantic Web: Research and Applications, ESWC 2008: Lecture Notes in Computer Science, vol. 5021, pp. 361-375.
United Airlines. “FareLock” webpage. Jul. 28, 2012, Retrieved from the Internet: <https://www.united.com/CMS/en-US/products/travel/products/Pages/FareLock.aspx> (http://web.archive.org/web/201220728071904/https://www.united.com/CMS/en-US/products/travelproducts/Pages/FareLock.aspx> captured on Jul. 28, 2012 using Wayback Machine), 4 pages.
Federal Trade Commission. “Using Layaway Plans” webpage. Dec. 19, 2012. Retrieved from the Internet: <htttps://www.consumer.ftc.gov/articles/0128-using-layaway-plans> (<https://web.archive.org/web/2012121904435/htttps://www.consumer.ftc.gov/articles/0128-using-layaway-plans> captured on Dec. 19, 2012 using Wayback Machine), 2 pages.
“Office Action,” Canadian Patent Application No. 2944652, dated Feb. 27, 2019, 5 pages.
“Office Action,” Canadian Patent Application No. 2830229, dated Mar. 1, 2019, 3 pages.
“Office Action,” Canadian Patent Application No. 3021147, dated Jun. 3, 2019, 5 pages.
“Office Action,” Canadian Patent Application No. 2989325, dated Jul. 26, 2019, 6 pages.
Related Publications (1)
Number Date Country
20190012712 A1 Jan 2019 US
Provisional Applications (1)
Number Date Country
61452633 Mar 2011 US
Continuations (1)
Number Date Country
Parent 13420433 Mar 2012 US
Child 16129753 US