US20160239515A1 - Method and system for detecting duplicate travel path information - Google Patents

Method and system for detecting duplicate travel path information Download PDF

Info

Publication number
US20160239515A1
US20160239515A1 US15/137,196 US201615137196A US2016239515A1 US 20160239515 A1 US20160239515 A1 US 20160239515A1 US 201615137196 A US201615137196 A US 201615137196A US 2016239515 A1 US2016239515 A1 US 2016239515A1
Authority
US
United States
Prior art keywords
travel
paths
leg
travel path
segments
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/137,196
Inventor
Brian Jeffrey OLLENBERGER
Lisa Anne SILVERIA
Richard Thor DENMARK
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Concur Technologies Inc
Original Assignee
Concur Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Concur Technologies Inc filed Critical Concur Technologies Inc
Priority to US15/137,196 priority Critical patent/US20160239515A1/en
Publication of US20160239515A1 publication Critical patent/US20160239515A1/en
Assigned to CONCUR TECHNOLOGIES, INC. reassignment CONCUR TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DENMARK, RICHARD, OLLENBERGER, BRIAN, SILVERIA, LISA
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30241
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • G06F17/30525
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • G06Q10/025Coordination of plural reservations, e.g. plural trip segments, transportation combined with accommodation

Definitions

  • FIGS. 1 and 7 illustrate a system for detecting duplicate travel path information, according to an embodiment of the invention.
  • FIGS. 2-3C and 8-10B illustrate a method for detecting duplicate travel path information, according to an embodiment of the invention.
  • FIGS. 4-6 illustrate example embodiments of the invention.
  • FIG. 1 illustrates a system 100 for detecting duplicate travel path information, according to an embodiment.
  • System 100 may include, but is not limited to: a client 102 communicating with a server 101 over a network 103 utilizing a duplicate path application 105 .
  • the duplicate path application 105 may run utilizing server 101 .
  • the network 103 may comprise an Internet and/or an intranet.
  • the client 102 and server 101 may comprise a computer.
  • the computer may be any programmable machine capable of performing arithmetic and/or logical operations.
  • computers may comprise processors, memories, data storage devices, and/or other commonly known or novel components. These components may be connected physically or through network or wireless links.
  • Computers may be referred to with terms that are commonly used by those of ordinary skill in the relevant arts, such as servers, PCs, mobile devices, and other terms. It will be understood by those of ordinary skill that those terms used herein are interchangeable, and any computer capable of performing the described functions may be used.
  • server may appear in the following specification, the disclosed embodiments are not limited to servers.
  • FIG. 7 sets forth details of the duplicate path application 105 , according to an embodiment.
  • travel reservation information e.g., from emails, other booking systems, etc.
  • a trip may be a collection of related reservations.
  • a reservation may be a single version of a travel plan as imported from another system, entered manually, etc.
  • a reservation may contain a sequence of segments.
  • a segment may be a single unit of travel (e.g., individual flight) with an origin and destination.
  • a leg may be a sequence of segments in a reservation that are separated by a certain amount of time (e.g., fewer than 4 hours, such as when the arrival time of one segments is less than four hours before the departure time of the subsequent segment).
  • duplicate information When importing information, duplicate information may be imported. Exact duplicates may be removed by direct comparison to existing data. Inexact duplicates may also be resolved.
  • the duplicate path application 105 may find inexact duplicates, and may include, but is not limited to: a leg similarity module 705 , a construct leg graph module 715 , a traverse graph module 710 , or a recursive traverse graph module 720 , or any combination thereof.
  • the leg similarity module 705 may determine whether legs are similar.
  • the construct leg graph module 715 may construct a segment graph.
  • the traverse graph module 710 may traverse and recursively traverse the segment graph.
  • FIG. 2 illustrates a method 200 for detecting duplicate travel path information, according to an embodiment.
  • a set of travel paths may be obtained.
  • each travel path may be broken into one or more legs.
  • each travel path may be broken in to one or more sequences of segments (e.g., with less than four hours between them).
  • each leg in each travel path may be compared to each leg in every other travel path to determine whether any travel paths are duplicates. This may be done by creating a set containing each leg. Then, each leg in a reservation may be compared to each leg in every other reservation. If the sequences in the legs are similar, the sets containing the legs may be merged. Further details on 215 are described below with respect to FIGS.
  • any travel paths that are possible duplicates may be listed. This may be done by constructing a segment graph (explained in more detail in FIG. 8 ) and then traversing the segment graph (explained in more detail in FIGS. 9A-9B ) for each resulting set of similar legs. This may yield a sorted list of candidate paths of segments that may resolve the group of conflicting reservations. Manual intervention may be used to select the correct path from among the candidate paths. In an embodiment, the first path in the sorted list of candidates may be the path most likely to be the correct path.
  • FIGS. 3A-3C illustrates a method for comparing legs to one another, according to an embodiment.
  • the reservation record may include a complete travel reservation, an updated travel reservation, or a partial travel reservation, or any combination thereof.
  • the similarity of two legs may be defined as containing a common subsequence, where the common subsequence contains at least one of their start points and one of their end points.
  • legs may be input so that they may be compared.
  • the leg including the segments SFO to LAX and LAX to JFK may be input, and in FIG. 5 , the leg including the segment LAX to JFK may also be input.
  • flags may be set to track whether the first and last columns and rows differ from their neighbors. These flags indicate whether the first or last segments of each leg are in the common subsequence.
  • An array may also be created to store the current and previous rows of the dynamic programming table.
  • each row of the table may be looped, using i as an index.
  • each column of the table may be looped, using j as an index.
  • the length of the longest subsequence so far may be initialized to be 0, or, in the case of a segment match, 1.
  • box 7 in FIG. 4 takes the value of 0, since SFO does not match LAX.
  • box 7 takes the value 1, since SFO does match SFO.
  • the previous row may be referred to for a possible longest subsequence so far.
  • the length of the subsequence may be set to up.
  • box 14 takes the value of 1, which is copied from box 9 , since LAX does not match JFK.
  • box 12 takes the value of 1, which is copied from box 7 , since SFO does not match DFW. If i is not greater than 0, than in 314 , it is determined if j is greater than 0 (e.g., are we looping on at least the second column?). If j is greater than 0, the length of the subsequence may be set to left.
  • j is not greater than 0, then in 316 , we can look to the upper left in the previous row and previous column.
  • the length of the common subsequence so far may be set as upleft (e.g., the box diagonal to the box being considered plus one). This subsequence will only be used if the current position in the table occupies the intersection of matching segments in leg 1 and leg 2 .
  • box 9 takes the value 1, which is the value of box 3 plus 1. This is because a segment origin of LAX in one leg matches a segment origin of LAX in the other leg.
  • box 8 takes the value 0, since a destination of LAX in one leg does not match an origin of LAX in the other leg.
  • box 25 takes the value 2, which is the value of box 19 plus one. This is because the destination JFK in one leg matches the destination JFK in the other leg.
  • both legl at position i and leg 2 at position j are origins (e.g., i and j are both even), and the identities of the two origins are the same, upleft may be considered as the best subsequence so far.
  • both leg 1 at position i and leg 2 at position j are destinations (e.g., i and j are both odd), and the identities of the two destinations are the same, upleft may be considered as the best subsequence so far.
  • upleft is greater than both up and left, then it is the length of the longest subsequence of which the current match is a part.
  • box 25 the situation is similar; up is 1, left is 1, and upleft is computed to be 2, since JFK matches JFK and 1 is added to the value of box 19 ( 1 ) to yield 2.
  • 324 if we are in the first row, it may be remembered that we detected a difference in the first row.
  • first rows e.g., boxes 2 , 3 , 4 and 5 differ from boxes 7 , 8 , 9 and 10
  • first columns e.g., boxes 6 , 11 , 18 and 21 differ from boxes 7 , 12 , 17 , 22
  • last rows e.g., boxes 17 , 18 , 19 , and 20 differ from boxes 22 , 23 , 24 and 25
  • last columns e.g., boxes 9 , 14 , 19 , and 24 differ from boxes 10 , 15 , 20 and 25 ).
  • this may be sufficient to indicate that the first segments or last segments of either leg are included in the common subsequence, which may be a necessary condition for considering the legs to be similar.
  • the current table location may be filled with the value of upleft, the length of the longest common subsequence so far.
  • it may be checked whether up or left (e.g., the box above or the box to the left) is greater. If up is greater, in 336 , the current table location may be filled with the value of up, the length of the longest common subsequence so far. For example, FIG. 4 , box 14 and FIG. 5 , box 12 are filled with the value of the boxes above them, since that value is greater than the values in the boxes to the left of them. If left is greater, in 338 , the current table location may be filled with the value of left, the length of the longest common subsequence so far. For example, FIG.
  • box 8 are filled with the value of the boxes to the left of them, since that value is greater than the values in the boxes above them. If up and left are equal, we may, without loss of generality choose the value of either up or left to fill the current table location.
  • this_row and last row may be swapped to move the current row into the previous row's position and to make room to store the next row.
  • a segment graph may be created where nodes represent origins and destinations, and edges represent bundles of identical segments. Each edge may represent one or more segments if the segments are identical. If two segments are not identical, but the segments have the same origin and destination, then they may be represented by two separate edges with the same origin and destination, which may result in a multigraph.
  • FIG. 8 illustrates details relating to constructing the segment graph, according to an embodiment.
  • the graph data structure may comprise a collection of edges stored in a two dimensional associative array.
  • the first dimension may be the identity of the origin of the segments in an edge.
  • the second dimension may be the identity of the destination of the segments in an edge.
  • the contents of the two dimensional associative array may be an array containing one or more edges.
  • Each edge may be a set of identical segments.
  • the graph may be represented by a two dimensional associative array, indexed by origin and destination of segments.
  • Each element of the graph may be a list of edges.
  • Each edge may be a set of mutually identical segments.
  • the set of edges from the segment's origin and to the segment's destination may be obtained.
  • the existing edges may be looped over.
  • a new edge may be created with only the new segment, and this may be added to the graph.
  • the segments in the existing edge may be looped over.
  • it may be determined whether the new segment is identical to the existing segment in the existing edge.
  • it may be added to the existing edge. This may maintain the invariant that identical edges occupy the same edge and non-identical segments belong to separate edges in the graph.
  • the process explained in FIG. 8 may be performed for each segment from each similar leg to construct a graph containing all of the segments.
  • the segment graph may be traversed to find paths of segments that may result in a correct reservation.
  • We may begin from each node with an in-degree of zero and recursively follow edges until we reach a node with an out-degree of zero.
  • We may also impose the restriction that no resulting path may break up more than one reservation. This may prevent forming implausible combinations of travel plans and may reduce the number of plans that must be manually examined for correctness.
  • the segment graph to traverse may be input.
  • the start nodes may be found (which may represent the starting travel locations) by looking for nodes in the graph with no edges pointing to them. A resulting array of paths to be empty may also be initialized.
  • the start nodes may be looped over.
  • the paths through the graph starting with a start node may be recursively traversed.
  • a stack may be used to keep track of the current location as we traverse the graph.
  • we may check for cycles in the path.
  • the set of edges that originate at the current node may be obtained so that we can follow them.
  • the list of candidate paths is, in sorted order “SFO to DFW to JFK”, “SFO to LAX to JFK”, and “SFO to LAX to JFK”. The last two paths will have different details for their respective LAX to JFK segments.
  • Segments may contain more than just origin and destination information. They may also contain information such as start time and date, end time and date, entity information (e.g., airline, train line, bus line, etc.), travel numbers (e.g., flight numbers, train numbers, bus numbers, etc.) and other information.
  • entity information e.g., airline, train line, bus line, etc.
  • travel numbers e.g., flight numbers, train numbers, bus numbers, etc.
  • FIGS. 10A-10B illustrates a method for segment comparison, according to an embodiment.
  • the existing segment and the segment to compare with it are input.
  • the list of attributes to compare is listed.
  • the flag that indicates whether we have found a matching attribute may be set to false.
  • 1020 if the current attribute does not have a value in the existing segment, then we may skip comparing it.
  • 1025 if the current attribute in the existing segment matches the value of the same attribute in the new segment, then we may remember that a match was found in 1030 .
  • 1030 we may remember that a match was found and continue comparing the rest of the attributes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Remote Sensing (AREA)
  • Library & Information Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Methods and systems for detecting a likelihood that a travel path is a correct travel path of a user using possible duplicate travel path information. A set of travel paths comprising at least two travel paths is obtained. Any paths that break up more than one reservation are removed. Each travel path is broken into at least one leg. Each leg in each travel path is compared to each leg in every other travel path to determine whether any travel paths are duplicates. A likelihood that each of the at least two travel paths is the correct travel path is determined using information about whether any of the at least two travel paths are duplicates.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 13/593,108 filed Aug. 23, 2012, which claims the benefit of U.S. Provisional Application No. 61/529,680, filed Aug. 31, 2011, which are incorporated by reference in their entireities.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIGS. 1 and 7 illustrate a system for detecting duplicate travel path information, according to an embodiment of the invention.
  • FIGS. 2-3C and 8-10B illustrate a method for detecting duplicate travel path information, according to an embodiment of the invention.
  • FIGS. 4-6 illustrate example embodiments of the invention.
  • DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
  • FIG. 1 illustrates a system 100 for detecting duplicate travel path information, according to an embodiment. System 100 may include, but is not limited to: a client 102 communicating with a server 101 over a network 103 utilizing a duplicate path application 105. The duplicate path application 105 may run utilizing server 101. The network 103 may comprise an Internet and/or an intranet. The client 102 and server 101 may comprise a computer. The computer may be any programmable machine capable of performing arithmetic and/or logical operations. In some embodiments, computers may comprise processors, memories, data storage devices, and/or other commonly known or novel components. These components may be connected physically or through network or wireless links. Computers may be referred to with terms that are commonly used by those of ordinary skill in the relevant arts, such as servers, PCs, mobile devices, and other terms. It will be understood by those of ordinary skill that those terms used herein are interchangeable, and any computer capable of performing the described functions may be used. For example, though the term “server” may appear in the following specification, the disclosed embodiments are not limited to servers.
  • FIG. 7 sets forth details of the duplicate path application 105, according to an embodiment. For travel booking and planning, it may be useful to import (e.g., manually, automatically) travel reservation information (e.g., from emails, other booking systems, etc.) about a trip. A trip may be a collection of related reservations. A reservation may be a single version of a travel plan as imported from another system, entered manually, etc. A reservation may contain a sequence of segments. A segment may be a single unit of travel (e.g., individual flight) with an origin and destination. A leg may be a sequence of segments in a reservation that are separated by a certain amount of time (e.g., fewer than 4 hours, such as when the arrival time of one segments is less than four hours before the departure time of the subsequent segment).
  • When importing information, duplicate information may be imported. Exact duplicates may be removed by direct comparison to existing data. Inexact duplicates may also be resolved. The duplicate path application 105 may find inexact duplicates, and may include, but is not limited to: a leg similarity module 705, a construct leg graph module 715, a traverse graph module 710, or a recursive traverse graph module 720, or any combination thereof. The leg similarity module 705 may determine whether legs are similar. The construct leg graph module 715 may construct a segment graph. The traverse graph module 710 may traverse and recursively traverse the segment graph.
  • FIG. 2 illustrates a method 200 for detecting duplicate travel path information, according to an embodiment. In 205, a set of travel paths may be obtained. In 210, each travel path may be broken into one or more legs. Thus, each travel path may be broken in to one or more sequences of segments (e.g., with less than four hours between them). In 215, each leg in each travel path may be compared to each leg in every other travel path to determine whether any travel paths are duplicates. This may be done by creating a set containing each leg. Then, each leg in a reservation may be compared to each leg in every other reservation. If the sequences in the legs are similar, the sets containing the legs may be merged. Further details on 215 are described below with respect to FIGS. 3A-3C. In 220, any travel paths that are possible duplicates may be listed. This may be done by constructing a segment graph (explained in more detail in FIG. 8) and then traversing the segment graph (explained in more detail in FIGS. 9A-9B) for each resulting set of similar legs. This may yield a sorted list of candidate paths of segments that may resolve the group of conflicting reservations. Manual intervention may be used to select the correct path from among the candidate paths. In an embodiment, the first path in the sorted list of candidates may be the path most likely to be the correct path.
  • FIGS. 3A-3C illustrates a method for comparing legs to one another, according to an embodiment. Depending on the form of a reservation record, the reservation record may include a complete travel reservation, an updated travel reservation, or a partial travel reservation, or any combination thereof. In order to group related legs together, the similarity of two legs may be defined as containing a common subsequence, where the common subsequence contains at least one of their start points and one of their end points. The details of FIGURES 3A-3C will be set forth below. The examples in FIG. 4 and FIG. 5 will be referred to in explaining the details of FIGS. 3A-3C. The boxes in the charts in FIG. 4 and FIG. 5 have been marked with reference numerals to aid in the discussion of the examples.
  • Referring to FIGS. 3A-3C, in 302, legs may be input so that they may be compared. For example, in FIG. 4, the leg including the segments SFO to LAX and LAX to JFK may be input, and in FIG. 5, the leg including the segment LAX to JFK may also be input. In 304, flags may be set to track whether the first and last columns and rows differ from their neighbors. These flags indicate whether the first or last segments of each leg are in the common subsequence. An array may also be created to store the current and previous rows of the dynamic programming table. In 306, each row of the table may be looped, using i as an index. In 308, each column of the table may be looped, using j as an index. In 310, in case the first row or first column is being looped, the length of the longest subsequence so far may be initialized to be 0, or, in the case of a segment match, 1. Thus, for example, box 7 in FIG. 4 takes the value of 0, since SFO does not match LAX. With respect to FIG. 5, box 7 takes the value 1, since SFO does match SFO. In 312, if looping on the second or later row, the previous row may be referred to for a possible longest subsequence so far. Thus, if i is greater than 0 (e.g., are we looping on at least the second row?), the length of the subsequence may be set to up. For example, with respect to FIG. 4, box 14 takes the value of 1, which is copied from box 9, since LAX does not match JFK. With respect to FIG. 5, box 12 takes the value of 1, which is copied from box 7, since SFO does not match DFW. If i is not greater than 0, than in 314, it is determined if j is greater than 0 (e.g., are we looping on at least the second column?). If j is greater than 0, the length of the subsequence may be set to left. If j is not greater than 0, then in 316, we can look to the upper left in the previous row and previous column. The length of the common subsequence so far may be set as upleft (e.g., the box diagonal to the box being considered plus one). This subsequence will only be used if the current position in the table occupies the intersection of matching segments in leg1 and leg2. For example, in FIG. 4, box 9 takes the value 1, which is the value of box 3 plus 1. This is because a segment origin of LAX in one leg matches a segment origin of LAX in the other leg. Note that FIG. 4, box 8 takes the value 0, since a destination of LAX in one leg does not match an origin of LAX in the other leg. With respect to FIG. 5, box 25 takes the value 2, which is the value of box 19 plus one. This is because the destination JFK in one leg matches the destination JFK in the other leg. In 318, if both legl at position i and leg2 at position j are origins (e.g., i and j are both even), and the identities of the two origins are the same, upleft may be considered as the best subsequence so far. In 320, if both leg1 at position i and leg2 at position j are destinations (e.g., i and j are both odd), and the identities of the two destinations are the same, upleft may be considered as the best subsequence so far. In 322, if upleft is greater than both up and left, then it is the length of the longest subsequence of which the current match is a part. In FIG. 4, box 9, for example, up is 0, left is 0, and upleft is computed to be 1 (because the value of box 3 is 0, and 0+1=1), since LAX matches LAX. In FIG. 5, box 25, the situation is similar; up is 1, left is 1, and upleft is computed to be 2, since JFK matches JFK and 1 is added to the value of box 19 (1) to yield 2. In 324, if we are in the first row, it may be remembered that we detected a difference in the first row. In 326, if we are in the first column, it may be remembered that a difference was detected in the first column. In 328, if we are in the last row, it may be remembered that we detected a difference in that row. In 330, if we are in the last column, it may be remembered that we detected a difference in that column. With respect to FIG. 4, there are differences shown in the first rows (e.g., boxes 4 and 5 differ from boxes 9 and 10) and the last columns (e.g., boxes 9 and 14 differ from boxes 10 and 15). In FIG. 5, there are differences shown in the first rows (e.g., boxes 2, 3, 4 and 5 differ from boxes 7, 8, 9 and 10), first columns (e.g., boxes 6, 11, 18 and 21 differ from boxes 7, 12, 17, 22), last rows (e.g., boxes 17, 18, 19, and 20 differ from boxes 22, 23, 24 and 25), and last columns (e.g., boxes 9, 14, 19, and 24 differ from boxes 10, 15, 20 and 25). In each case, this may be sufficient to indicate that the first segments or last segments of either leg are included in the common subsequence, which may be a necessary condition for considering the legs to be similar. In 332, the current table location may be filled with the value of upleft, the length of the longest common subsequence so far. In 334, it may be checked whether up or left (e.g., the box above or the box to the left) is greater. If up is greater, in 336, the current table location may be filled with the value of up, the length of the longest common subsequence so far. For example, FIG. 4, box 14 and FIG. 5, box 12 are filled with the value of the boxes above them, since that value is greater than the values in the boxes to the left of them. If left is greater, in 338, the current table location may be filled with the value of left, the length of the longest common subsequence so far. For example, FIG. 4, box 10 and FIG. 5, box 8 are filled with the value of the boxes to the left of them, since that value is greater than the values in the boxes above them. If up and left are equal, we may, without loss of generality choose the value of either up or left to fill the current table location. In 340, this_row and last row may be swapped to move the current row into the previous row's position and to make room to store the next row. In 342, we may loop to the next row. In 344, we may loop to the next column. In 346, if the first column and the first row are both the same as their previous neighbors (e.g., all 0), then this may indicate that neither leg's first segment is represented in the common subsequence, so the match may be rejected in 352. In FIG. 4, this would have been the case if boxes 7, 8, 9, 10, and 12 were all zero and therefore equal to the previous adjacent rows and columns. In FIG. 5, this would have been the case if boxes 7, 8, 9, 10, 12, 17, and 22 were all zero and therefore equal to the previous adjacent rows and columns. In neither case was this true, so neither match may be rejected on this basis. In 348, if the last column and the last row are both the same as their previous neighbors, then this may indicate that neither leg's last segment is represented in the common subsequence, so the match may be rejected in 352. In FIG. 4, this would have been the case if boxes 10, 12, 13, 14, and 15 were equal to the previous adjacent rows and columns. In FIG. 5, this would have been the case if boxes 10, 15, 20, 22, 23, 24, and 25 were equal to the previous adjacent rows and columns. In neither case was this true, so neither match may be rejected on this basis. In 350, if the bottom-right-most element in the table is greater than 0, then there may be a nonempty common subsequence, so the match may be accepted in 354. In FIG. 4, box 15 takes the value 2 and in FIG. 5, box 25 takes the value 2, so in both cases, there may be a nonempty common subsequence. If the answer to 346, 348, or 350 is no, in 352, the match may be rejected. If the answer to 346, 348 and 350 is yes, in 354, the match may be accepted.
  • After groups of legs that are similar to each other are identified, as shown in FIGS. 3A-3C, which sequences of segments may represent an accurate representation of the correct travel reservation may be determined. To do this, a segment graph may be created where nodes represent origins and destinations, and edges represent bundles of identical segments. Each edge may represent one or more segments if the segments are identical. If two segments are not identical, but the segments have the same origin and destination, then they may be represented by two separate edges with the same origin and destination, which may result in a multigraph.
  • As explained above, FIG. 8 illustrates details relating to constructing the segment graph, according to an embodiment. The graph data structure may comprise a collection of edges stored in a two dimensional associative array. The first dimension may be the identity of the origin of the segments in an edge. The second dimension may be the identity of the destination of the segments in an edge. The contents of the two dimensional associative array may be an array containing one or more edges. Each edge may be a set of identical segments. Referring to FIG. 8, in 805, the graph we are building so far and the segment we wish to add to it may be input. The graph may be represented by a two dimensional associative array, indexed by origin and destination of segments. Each element of the graph may be a list of edges. Each edge may be a set of mutually identical segments. In 810, the set of edges from the segment's origin and to the segment's destination may be obtained. In 815, the existing edges may be looped over. In 820, when there are no more edges, a new edge may be created with only the new segment, and this may be added to the graph. In 825, the segments in the existing edge may be looped over. In 830, it may be determined whether the new segment is identical to the existing segment in the existing edge. In 835, if the new segment is identical, it may be added to the existing edge. This may maintain the invariant that identical edges occupy the same edge and non-identical segments belong to separate edges in the graph.
  • The process explained in FIG. 8 may be performed for each segment from each similar leg to construct a graph containing all of the segments. After the segment graph has been constructed, the segment graph may be traversed to find paths of segments that may result in a correct reservation. We may begin from each node with an in-degree of zero and recursively follow edges until we reach a node with an out-degree of zero. We may also impose the restriction that no resulting path may break up more than one reservation. This may prevent forming implausible combinations of travel plans and may reduce the number of plans that must be manually examined for correctness. In addition, we may sort the resulting paths to place the most recently imported plans at the top of the list. Within each edge in a path, we may sort the segments to place the one with the most information first. This may provide a ranking of likelihood of any one candidate travel plan being the current correct plan.
  • Referring to FIGS. 9A-9B, in 905, the segment graph to traverse may be input. In 910, the start nodes may be found (which may represent the starting travel locations) by looking for nodes in the graph with no edges pointing to them. A resulting array of paths to be empty may also be initialized. In 915, the start nodes may be looped over. In 920, the paths through the graph starting with a start node may be recursively traversed. A stack may be used to keep track of the current location as we traverse the graph. In 925, we may check for cycles in the path. In 930, the set of edges that originate at the current node may be obtained so that we can follow them. In 935, if there are no edges that originate at the current node, then we have found a final destination node. In 940, we may return to the path that we took to get to the current final destination mode. In 945, we may loop over the nodes to which we can travel from the current node. In 950, we may loop over the edges from the current node to the next node. In 955, we may recursively traverse the rest of the graph, starting at the next mode. We may need to store our current state on a stack so that we can resume traversing the rest of the graph after traversing the next node. In 960, once there are no more edges from the current node to traverse, we may pop the previous set of paths from the stack and merge the current set with it. We may then resume recursively traversing the graph starting with the previous node. In 965, if we have popped the last set of paths from the stack, then we have returned to the start node. We may go back and traverse the graph from the next start mode. In 970, once there are no more start nodes, we may have a complete collection of paths through the graph. We may remove all paths from the list that break up more than one reservation. In 975, we may sort the paths so that the most recently imported paths are at the start of the list of paths. This may place the paths that are more likely to be correct at the start of the list. In 980, within each edge, we may sort the segments so that the segments with the most information are at the start of the list of segments. This way, when a user selects a correct path, we can remove all but the correct segment with the most information.
  • With respect to FIG. 6, we traverse the graph as set out above. The only start node is SFO, since it has no edges leading to it. From SFO, we find an edge to LAX and from there two different edges to JFK. JFK is an end node, since it has no edges leading from it. We store each of the paths traversed so far, and backtrack. The paths so far are SFO to LAX to JFK, and a different SFO to LAX to JFK. After backtracking, we follow the path from SFO through DFW to JFK and store that path also. We finally sort those paths so that the most recent is first. If we assume that the path through DFW was imported most recently, then the list of candidate paths is, in sorted order “SFO to DFW to JFK”, “SFO to LAX to JFK”, and “SFO to LAX to JFK”. The last two paths will have different details for their respective LAX to JFK segments.
  • As noted above, at various points in FIGS. 8-9B we need to compare segments for identity and for information content. In particular, while sorting segments within an edge to determine the representative segment, we need to be able to compare two segments for the amount of information contained in each segment. Also, while constructing the graph and determining whether a segment should go in an existing edge or a new one, we need to be able to test whether two segments contain identical information.
  • Segments may contain more than just origin and destination information. They may also contain information such as start time and date, end time and date, entity information (e.g., airline, train line, bus line, etc.), travel numbers (e.g., flight numbers, train numbers, bus numbers, etc.) and other information. To define both identity and amount of information content, we may use a process such as the one explained in FIGS. 10A-10B.
  • FIGS. 10A-10B illustrates a method for segment comparison, according to an embodiment. In 1005, the existing segment and the segment to compare with it are input. In 1010, the list of attributes to compare is listed. In addition, the flag that indicates whether we have found a matching attribute may be set to false. In 1015, we may interate over the attributes to compare. In 1020, if the current attribute does not have a value in the existing segment, then we may skip comparing it. In 1025, if the current attribute in the existing segment matches the value of the same attribute in the new segment, then we may remember that a match was found in 1030. In 1030, we may remember that a match was found and continue comparing the rest of the attributes. In 1035, if no match was found for a value that exists in the existing segment, we may return false, since their values are in conflict. In 1040, if the flight numbers of the two segments match, we may remember tha a match was found in 1045. In 1050, if the flight numbers of the two segments conflict, then we may return “false”, regardless of any other matching attributes, by setting the flag to false in 1055 to override any matches that were found. In 1060, we may return the final value of the flag. If there are any matches and no conflicts, then the result may be set as “true”.
  • While various embodiments have been described above, it should be understood that they have been presented by way of example and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein without departing from the spirit and scope. In fact, after reading the above description, it will be apparent to one skilled in the relevant art(s) how to implement alternative embodiments. Thus, the present embodiments should not be limited by any of the above-described embodiments.
  • In addition, it should be understood that any figures which highlight the functionality and advantages are presented for example purposes only. The disclosed methodology and system are each sufficiently flexible and configurable such that they may be utilized in ways other than those shown. For example, the elements in the flowcharts may be performed in parallel or in a different order.
  • Further, the purpose of any Abstract of the Disclosure is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. An Abstract of the Disclosure is not intended to be limiting as to the scope of the present invention in any way.
  • It should also be noted that the terms “a”, “an”, “the”, “said”, etc. signify “at least one” or “the at least one” in the application (e.g., specification, claims and drawings).
  • Finally, it is the applicant's intent that only claims that include the express language “means for” or “step for” be interpreted under 35 U.S.C. 112, paragraph 6. Claims that do not expressly include the phrase “means for” or “step for” are not to be interpreted under 35 U.S.C. 112, paragraph 6.

Claims (6)

What is claimed is:
1. A method for detecting a likelihood that a travel path is a correct travel path of a user, comprising:
obtaining a set of travel paths comprising at least two travel paths from a travel path database in communication with at least one processor;
at the at least one processor, breaking each travel path into at least one leg;
at the at least one processor, comparing each leg in each travel path to each leg in every other travel path in the set of travel paths to determine whether any travel paths are possible duplicates, wherein determining whether any travel paths are possible duplicates further comprises constructing at least one similar leg graph where nodes of the leg graph represent origins and destinations of legs; and
at the at least one processor, determining a likelihood that each of the at least two travel paths is the correct travel path using information about whether any of the at least two travel paths are possible duplicates.
2. The method of claim 1, further comprising:
at the at least one processor, allowing the user to select the correct travel path from a list of candidate travel paths that are possible duplicates.
3. The method of claim 1, wherein the possible duplicates are sorted according to which travel path information was imported into the system most recently.
4. The method of claim 1, wherein the at least two travel paths compare: air travel, car travel, rail travel, or bus travel, or any combination thereof.
5. The method of claim 1, further comprising:
determining whether any legs are similar to any other legs by determining whether any segments in any legs contain at least one similar point and/or at least one similar end point.
6. The method of claim 1, further comprising:
at the at least one processor, excluding any travel path that incorporates more than zero but fewer than all possible segments from more than one reservation.
US15/137,196 2011-08-31 2016-04-25 Method and system for detecting duplicate travel path information Abandoned US20160239515A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/137,196 US20160239515A1 (en) 2011-08-31 2016-04-25 Method and system for detecting duplicate travel path information

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161529680P 2011-08-31 2011-08-31
US13/593,108 US9400959B2 (en) 2011-08-31 2012-08-23 Method and system for detecting duplicate travel path information
US15/137,196 US20160239515A1 (en) 2011-08-31 2016-04-25 Method and system for detecting duplicate travel path information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/593,108 Continuation US9400959B2 (en) 2001-10-16 2012-08-23 Method and system for detecting duplicate travel path information

Publications (1)

Publication Number Publication Date
US20160239515A1 true US20160239515A1 (en) 2016-08-18

Family

ID=47745104

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/593,108 Active US9400959B2 (en) 2001-10-16 2012-08-23 Method and system for detecting duplicate travel path information
US15/137,196 Abandoned US20160239515A1 (en) 2011-08-31 2016-04-25 Method and system for detecting duplicate travel path information

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/593,108 Active US9400959B2 (en) 2001-10-16 2012-08-23 Method and system for detecting duplicate travel path information

Country Status (1)

Country Link
US (2) US9400959B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665888B2 (en) 2010-10-21 2017-05-30 Concur Technologies, Inc. Method and systems for distributing targeted merchant messages
US9691037B2 (en) 2012-09-07 2017-06-27 Concur Technologies, Inc. Methods and systems for processing schedule data

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916396B2 (en) 2012-05-11 2018-03-13 Google Llc Methods and systems for content-based search
US8954438B1 (en) 2012-05-31 2015-02-10 Google Inc. Structured metadata extraction
US9471606B1 (en) 2012-06-25 2016-10-18 Google Inc. Obtaining information to provide to users
US9110852B1 (en) 2012-07-20 2015-08-18 Google Inc. Methods and systems for extracting information from text
US9390174B2 (en) 2012-08-08 2016-07-12 Google Inc. Search result ranking and presentation
US9256682B1 (en) 2012-12-05 2016-02-09 Google Inc. Providing search results based on sorted properties
US9218819B1 (en) 2013-03-01 2015-12-22 Google Inc. Customizing actions based on contextual data and voice-based inputs
US9477759B2 (en) 2013-03-15 2016-10-25 Google Inc. Question answering using entity references in unstructured data
US10055462B2 (en) 2013-03-15 2018-08-21 Google Llc Providing search results using augmented search queries
US10108700B2 (en) 2013-03-15 2018-10-23 Google Llc Question answering to populate knowledge base
US10324919B2 (en) 2015-10-05 2019-06-18 Red Hat, Inc. Custom object paths for object storage management
US10510125B2 (en) 2016-11-17 2019-12-17 International Business Machines Corporation Expense compliance checking based on trajectory detection

Family Cites Families (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2910238A (en) 1951-11-13 1959-10-27 Sperry Rand Corp Inventory digital storage and computation apparatus
US2995729A (en) 1956-02-16 1961-08-08 Digital Control Systems Inc Electronic digital inventory computer
US3253262A (en) 1960-12-30 1966-05-24 Bunker Ramo Data processing system
WO1986000419A1 (en) 1984-06-18 1986-01-16 Michel Lanchais Micro-opto-audio-magneto-chromo electronic compass
US4775936A (en) 1986-03-31 1988-10-04 Jung Jerrold M Overbooking system
US4755963A (en) 1986-04-14 1988-07-05 American Telephone And Telgraph Company, At&T Bell Laboratories Highly parallel computation network with means for reducing the algebraic degree of the objective function
US4862357A (en) 1987-01-28 1989-08-29 Systemone Holdings, Inc. Computer reservation system with means to rank travel itineraries chosen in terms of schedule/fare data
US4845625A (en) 1987-04-29 1989-07-04 Stannard Louis A Flight bidding system or the like especially for airline personnel
US4931932A (en) 1987-09-28 1990-06-05 Travelsoft, Inc. Computerized system with means to automatically clear and sell wait-listed customer reservations
US5021953A (en) 1988-01-06 1991-06-04 Travelmation Corporation Trip planner optimizing travel itinerary selection conforming to individualized travel policies
US5148365A (en) 1989-08-15 1992-09-15 Dembo Ron S Scenario optimization
US5191523A (en) 1989-11-06 1993-03-02 Prism Group, Inc. System for synthesizing travel cost information
US5253165A (en) 1989-12-18 1993-10-12 Eduardo Leiseca Computerized reservations and scheduling system
WO1992003905A2 (en) 1990-08-31 1992-03-19 Ab Volvo A method and apparatus for optimally allocating resources
US5255184A (en) 1990-12-19 1993-10-19 Andersen Consulting Airline seat inventory control method and apparatus for computerized airline reservation systems
US5270921A (en) 1990-12-19 1993-12-14 Andersen Consulting Virtual fare methods for a computerized airline seat inventory control system
US5648900A (en) 1991-02-20 1997-07-15 Galileo International Partnership Method and apparatus for controlling and monitoring group travel related services
US5253166A (en) 1991-03-29 1993-10-12 Disc Corporation Pre-ticket travel reservation record keeping system
US5272638A (en) 1991-05-31 1993-12-21 Texas Instruments Incorporated Systems and methods for planning the scheduling travel routes
US5283575A (en) 1991-11-08 1994-02-01 Zexel Corporation System and method for locating a travelling vehicle
US5237499A (en) 1991-11-12 1993-08-17 Garback Brent J Computer travel planning system
US5402336A (en) 1993-01-15 1995-03-28 Ss&D Corporation System and method for allocating resources of a retailer among multiple wholesalers
US5794207A (en) 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
US6553346B1 (en) 1996-09-04 2003-04-22 Priceline.Com Incorporated Conditional purchase offer (CPO) management system for packages
US5832453A (en) 1994-03-22 1998-11-03 Rosenbluth, Inc. Computer system and method for determining a travel scheme minimizing travel costs for an organization
US5948040A (en) 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US5802492A (en) 1994-06-24 1998-09-01 Delorme Publishing Company, Inc. Computer aided routing and positioning system
US5623413A (en) 1994-09-01 1997-04-22 Harris Corporation Scheduling system and method
US5652867A (en) 1994-09-08 1997-07-29 Sabre Decision Technologies, A Division Of The Sabre Group, Inc. Airline flight reservation system simulator for optimizing revenues
US6023679A (en) 1994-10-04 2000-02-08 Amadeus Global Travel Distribution Llc Pre- and post-ticketed travel reservation information management system
US5570283A (en) 1994-11-18 1996-10-29 Travelnet, Inc. Corporate travel controller
US5675510A (en) 1995-06-07 1997-10-07 Pc Meter L.P. Computer use meter and analyzer
US5644721A (en) 1995-08-30 1997-07-01 System One Information Management, L.L.C. Multiple currency travel reservation information management system and method
US6442526B1 (en) 1995-09-06 2002-08-27 The Sabre Group, Inc. System for corporate travel planning and management
US7050986B1 (en) 1995-09-06 2006-05-23 The Sabre Group, Inc. System for corporate traveler planning and travel management
NZ332228A (en) 1995-09-06 2000-01-28 Sabre Group Inc Computerised corporate travel management system
US5832454A (en) 1995-10-24 1998-11-03 Docunet, Inc. Reservation software employing multiple virtual agents
US5802511A (en) 1996-01-02 1998-09-01 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US5832451A (en) 1996-01-23 1998-11-03 Electronic Data Systems Corporation Automated travel service management information system
US5832452A (en) 1996-01-31 1998-11-03 Electronic Data Systems Corporation Hotel database inquiry system
US6009408A (en) 1996-04-01 1999-12-28 Electronic Data Systems Corporation Automated processing of travel related expenses
US5739512A (en) 1996-05-30 1998-04-14 Sun Microsystems, Inc. Digital delivery of receipts
US7516089B1 (en) 1996-09-04 2009-04-07 Pricline.Com Incorporated System and method for allocating business to one of a plurality of sellers in a buyer driven electronic commerce system
US5897620A (en) 1997-07-08 1999-04-27 Priceline.Com Inc. Method and apparatus for the sale of airline-specified flight tickets
US5899981A (en) 1996-12-27 1999-05-04 Northern Telecom Limited Method and system for processing expense vouchers
US5850617A (en) 1996-12-30 1998-12-15 Lockheed Martin Corporation System and method for route planning under multiple constraints
US6029144A (en) 1997-08-29 2000-02-22 International Business Machines Corporation Compliance-to-policy detection method and system
US6298328B1 (en) 1998-03-26 2001-10-02 Telecompetition, Inc. Apparatus, method, and system for sizing markets
US7069228B1 (en) 1998-04-30 2006-06-27 Rose James W Apparatus and method for an internet based computer reservation booking system
WO2000002153A1 (en) 1998-07-02 2000-01-13 Ita Software, Inc. Travel planning system
US6377932B1 (en) 1998-07-02 2002-04-23 Ita Software, Inc. Rules validation for travel planning system
US6609098B1 (en) 1998-07-02 2003-08-19 Ita Software, Inc. Pricing graph representation for sets of pricing solutions for travel planning system
US6275808B1 (en) 1998-07-02 2001-08-14 Ita Software, Inc. Pricing graph representation for sets of pricing solutions for travel planning system
US6295521B1 (en) 1998-07-02 2001-09-25 Ita Software, Inc. Travel planning system
US6381578B1 (en) 1998-07-02 2002-04-30 Ita Software, Inc. Factored representation of a set of priceable units
US6307572B1 (en) 1998-07-02 2001-10-23 Ita Software, Inc. Graphical user interface for travel planning system
US6230146B1 (en) 1998-09-18 2001-05-08 Freemarkets, Inc. Method and system for controlling closing times of electronic auctions involving multiple lots
US6360205B1 (en) 1998-10-30 2002-03-19 Trip.Com, Inc. Obtaining and utilizing commercial information
US20040198386A1 (en) 2002-01-16 2004-10-07 Dupray Dennis J. Applications for a wireless location gateway
JP2003502721A (en) 1999-01-14 2003-01-21 ジェイピーモルガン・チェース・バンク Electronic account data or transaction routing system
US7328166B1 (en) 1999-01-20 2008-02-05 Sabre, Inc. Global reservations transaction management system and method
US6442256B1 (en) 1999-02-02 2002-08-27 Lucent Technologies Inc. System and method for establishing a call path through a private network
US7366682B1 (en) 1999-05-07 2008-04-29 E.Piphany, Inc. System, method, and code for providing promotions in a network environment
US6336097B1 (en) 1999-07-01 2002-01-01 Manugistic Atlanta, Inc. Apparatus, systems and methods for constructing large numbers of travel fares
US6446048B1 (en) 1999-09-03 2002-09-03 Intuit, Inc. Web-based entry of financial transaction information and subsequent download of such information
US6434533B1 (en) 1999-10-27 2002-08-13 Market Data Systems, Inc. Method for the exchange, analysis, and reporting of performance data in businesses with time-dependent inventory
US6801226B1 (en) 1999-11-01 2004-10-05 Ita Software, Inc. Graphical user interface for travel planning system
US7263664B1 (en) 2000-11-01 2007-08-28 Ita Software, Inc. Graphical user interface for travel planning system
US20030004760A1 (en) 1999-12-03 2003-01-02 Schiff Martin R. Systems and methods of on-line booking of cruises
AU2585301A (en) 2000-01-05 2001-07-16 Daniel Lanin System and method for trusted self-billing for utilities
US6526335B1 (en) 2000-01-24 2003-02-25 G. Victor Treyz Automobile personal computer systems
AU2001238437A1 (en) 2000-02-18 2001-08-27 Tps, Llc Computerized modeling system and method
US7395220B2 (en) 2000-03-01 2008-07-01 Travelocity.Com Lp System, methods and computer program products for offering products based on extrapolation of inputs
US7249041B2 (en) 2000-03-09 2007-07-24 Last Minute Tee Times, Inc. System and method for posting available time slots to a network hub
EP1428142A2 (en) 2000-03-22 2004-06-16 Sidestep, Inc. Method and apparatus for dynamic information connection engine
US7343295B2 (en) 2000-04-05 2008-03-11 Brenda Pomerance Automated complaint resolution system
US7080021B1 (en) 2000-04-17 2006-07-18 American Express Travel Related Services Company, Inc. Method and apparatus for managing transportation from an origin location
US20010051911A1 (en) 2000-05-09 2001-12-13 Marks Michael B. Bidding method for internet/wireless advertising and priority ranking in search results
US20010042032A1 (en) 2000-05-11 2001-11-15 Crawshaw Geoffrey K. System for capturing, processing, tracking and reporting time and expense data
US6868400B1 (en) 2000-05-24 2005-03-15 Nehanet Corp. Spread-maximizing travel-services trading system using buyer- and seller-specified multi-attribute values
US7917390B2 (en) 2000-06-09 2011-03-29 Sony Corporation System and method for providing customized advertisements over a network
US7103558B1 (en) * 2000-06-26 2006-09-05 Carlson Wagonlit Travel, Inc. System and method for determining the origin and destination services of a travel itinerary
US20020042715A1 (en) 2000-06-28 2002-04-11 Kelley Robert Richard Mobile call detail record separation for billing purposes
US7487112B2 (en) 2000-06-29 2009-02-03 Barnes Jr Melvin L System, method, and computer program product for providing location based services and mobile e-commerce
WO2002007047A1 (en) 2000-07-14 2002-01-24 American Express Travel Related Services Company, Inc. Fee allocator system and method
US7330110B1 (en) 2000-08-21 2008-02-12 Carlson Companies, Inc. System and method for providing wireless communication device access to dynamic business information
CA2423113A1 (en) 2000-08-25 2002-02-28 American Express Travel Related Services Company, Inc. System and method for account reconciliation
US6826543B1 (en) 2000-08-25 2004-11-30 Expedia, Inc. System and method for matching an offer with a quote
GB2366403A (en) 2000-08-29 2002-03-06 British Airways Plc Electronic reservation system
US7194417B1 (en) * 2000-09-22 2007-03-20 Amadeus Revenue Integrity, Inc. Automated method and system for recognizing unfulfilled obligations and initiating steps to convert said obligations to a fulfilled status or to a null status for resale
US7171369B1 (en) 2000-11-08 2007-01-30 Delta Air Lines, Inc. Method and system for providing dynamic and real-time air travel information
US20040215566A1 (en) 2000-12-15 2004-10-28 Meurer Thomas F. Automatic teller machines (ATMs) management
US7644032B2 (en) 2000-12-19 2010-01-05 H.J.J. Inc. Adaptive matching program and system for corporate meeting planners and hospitality providers
US7072956B2 (en) 2000-12-22 2006-07-04 Microsoft Corporation Methods and systems for context-aware policy determination and enforcement
US20020095256A1 (en) 2001-01-12 2002-07-18 Travelocity.Com Lp Process to graphically display travel information on a map in electronic form
US7746510B2 (en) 2001-02-01 2010-06-29 Pandipati Radha K C Receipts scanner and financial organizer
US20020147678A1 (en) 2001-02-02 2002-10-10 Mellon Bank, N.A. Adjudication method and system
US20020128971A1 (en) 2001-03-12 2002-09-12 Ezhilan Narasimhan Method for transmitting expense data to a server
US6847824B1 (en) 2001-03-20 2005-01-25 Bellsouth Intellectual Property Corp. Location visit detail services for wireless devices
US20020147619A1 (en) 2001-04-05 2002-10-10 Peter Floss Method and system for providing personal travel advice to a user
US7493261B2 (en) 2001-04-12 2009-02-17 Getthere L.P. Travel management system utilizing multiple computer reservation systems (CRSS)
US20020152101A1 (en) 2001-04-12 2002-10-17 Lawson Robert J. Travel expense management module for an intranet portal
US7277923B2 (en) 2001-04-13 2007-10-02 Earthlink, Inc. Systems and methods for automatically accessing internet information from a local application on a handheld internet appliance
US20030023463A1 (en) 2001-04-16 2003-01-30 Frank Dombroski Method and system for automatically planning, booking, and calendaring travel arrangements
US7698228B2 (en) 2001-04-27 2010-04-13 Accenture Llp Tracking purchases in a location-based services system
US20020173978A1 (en) 2001-05-17 2002-11-21 International Business Machines Corporation Method and apparatus for scoring travel itineraries in a data processing system
TWI232391B (en) 2001-06-01 2005-05-11 Wistron Corp System and method of traveling expense claim
US7539620B2 (en) 2002-07-02 2009-05-26 American Express Travel Related Services Company, Inc. System and method for facilitating transactions among consumers and providers of travel services
TW522327B (en) 2001-09-05 2003-03-01 Hon Hai Prec Ind Co Ltd Expense control system and method
US20110258005A1 (en) 2010-04-15 2011-10-20 Michael Fredericks System and method for ancillary travel vendor fee expense management
US8712811B2 (en) 2001-10-16 2014-04-29 Concur Technologies, Inc. Method and systems for detecting duplicate travel path
CA2463889A1 (en) 2001-10-16 2003-04-24 Outtask, Inc. System and method for managing booking and expensing of travel products and services
US20030171990A1 (en) 2001-12-19 2003-09-11 Sabre Inc. Methods, systems, and articles of manufacture for managing the delivery of content
US7805323B2 (en) 2002-01-25 2010-09-28 American Express Travel Related Services Company, Inc. System and method for processing trip requests
US20030141411A1 (en) 2002-01-31 2003-07-31 Ashish Pandya Novel method to secure airline travel
US6826473B1 (en) 2002-02-08 2004-11-30 Garmin Ltd. PDA with integrated navigation functions and expense reporting
CA2478221A1 (en) 2002-03-06 2003-09-18 Carlson Companies, Inc. System, method and computer program product for on-line travel and expense management
US20040044674A1 (en) 2002-05-17 2004-03-04 Said Mohammadioun System and method for parsing itinerary data
CN103714481A (en) 2002-10-21 2014-04-09 瑞菲尔·斯贝茹 System and method for capture, storage and processing of receipts and related data
US20040210497A1 (en) 2003-03-12 2004-10-21 Ricoh Company, Ltd. Expense management system, expenses management apparatus, and expense management method
US20040193457A1 (en) 2003-03-28 2004-09-30 Sapient Corporation Travel cost management system
US8458067B2 (en) 2003-05-06 2013-06-04 American Express Travel Related Services Company, Inc. System and method for emergency tracking
US20050027705A1 (en) 2003-05-20 2005-02-03 Pasha Sadri Mapping method and system
US20040243489A1 (en) 2003-05-27 2004-12-02 International Business Machines Corporation Expense accounting data management based on electronic expense document
US7693794B2 (en) 2003-06-13 2010-04-06 Sap Ag Computer system and computer-implemented method for creating travel-expense statements
US8019630B2 (en) 2003-06-27 2011-09-13 Fujitsu Limited Dynamic service scheduling
US7848945B2 (en) 2003-07-03 2010-12-07 Travelweb Llc System and method for indexing travel accommodations in a network environment
US20060106655A1 (en) 2003-08-05 2006-05-18 Ladislav Lettovsky System and method for coordinating travel itineraries
US20050033616A1 (en) 2003-08-05 2005-02-10 Ezrez Software, Inc. Travel management system providing customized travel plan
US20050033668A1 (en) 2003-08-06 2005-02-10 Garcia Carol Ann System and method for online expense management and validation
US8271337B1 (en) 2003-09-25 2012-09-18 Nor1, Inc. System and method for transacting for an upgrade having an uncertain availability
US7158980B2 (en) 2003-10-02 2007-01-02 Acer Incorporated Method and apparatus for computerized extracting of scheduling information from a natural language e-mail
US20050222944A1 (en) 2003-10-22 2005-10-06 Dodson Richard S Jr System and method for managing the reimbursement of expenses using expense reports
US20050108068A1 (en) * 2003-11-14 2005-05-19 Marcken Carl D. Generating flight schedules using fare routings and rules
US20050108069A1 (en) 2003-11-18 2005-05-19 Tomer Shiran System and a method for prefetching travel information
US20050108117A1 (en) 2003-11-19 2005-05-19 Warrren Newman Method and apparatus for providing itemization detail for credit card transactions
US20050192893A1 (en) 2003-11-24 2005-09-01 Keeling John E. Authenticated messaging-based transactions
US20050131770A1 (en) 2003-12-12 2005-06-16 Aseem Agrawal Method and system for aiding product configuration, positioning and/or pricing
WO2005079425A2 (en) 2004-02-17 2005-09-01 Tri-Pen Travelmaster Technologies, Llc Travel monitoring
US8560355B2 (en) 2004-02-19 2013-10-15 Idss (Internet Destination Sales System) Internet destination sales system with ASP-hosted member interface
US20050203760A1 (en) 2004-03-15 2005-09-15 Microsoft Corporation Project time and expense
US20050222854A1 (en) 2004-04-02 2005-10-06 Fujitsu Limited Automatically processing an expense report using an expense report agent
US20050240601A1 (en) 2004-04-21 2005-10-27 Mairead Lyons System and method for transactional data collection and processing
US7548615B2 (en) 2004-04-28 2009-06-16 American Express Travel Related Services Company, Inc. Rate validation system and method
US7613622B2 (en) 2004-05-07 2009-11-03 Satish Jindel System and method for unbundling baggage costs from airfare prices
US20050288973A1 (en) 2004-06-24 2005-12-29 Taylor Steven F System and method for changing a travel itinerary
US20060046740A1 (en) 2004-09-01 2006-03-02 Johnson Karen L Technique for providing location-based information concerning products and services through an information assistance service
US8566151B2 (en) 2004-09-09 2013-10-22 Google Inc. Co-pay options for frequent traveler award redemption by rule
WO2006036866A1 (en) 2004-09-27 2006-04-06 Travelocity.Com Lp System, method and computer program product for searching amd retrieving ranked points of interest within a polygonal area of interest
US7788116B2 (en) 2004-09-27 2010-08-31 American Express Travel Related Services Company, Inc. Travel savings assessment
US7555387B2 (en) 2005-01-28 2009-06-30 Orbitz, L.L.C. System and method for providing travel related product information on an interactive display having neighborhood categories
US20060206363A1 (en) 2005-03-13 2006-09-14 Gove Jeremy J Group travel planning, optimization, synchronization and coordination software tool and processes for travel arrangements for transportation and lodging for multiple people from multiple geographic locations, domestic and global, to a single destination or series of destinations
WO2006102227A2 (en) 2005-03-19 2006-09-28 Activeprime, Inc. Systems and methods for manipulation of inexact semi-structured data
US20060241983A1 (en) 2005-04-21 2006-10-26 Valerie Viale Customer centric travel system
US20060241909A1 (en) 2005-04-21 2006-10-26 Microsoft Corporation System review toolset and method
US20060277079A1 (en) 2005-04-22 2006-12-07 Gilligan Geffrey D Groupware travel itinerary creation
US7881997B2 (en) 2005-04-29 2011-02-01 American Express Travel Related Services Company, Inc. System and method for quantitative peer travel and expense benchmarking analysis
US8478614B2 (en) 2005-05-20 2013-07-02 Biz Travel Solutions, Llc System and method for ensuring accurate reimbursement for travel expenses
US8880417B2 (en) 2005-05-20 2014-11-04 Biz Travel Solutions, Llc System and method for ensuring accurate reimbursement for travel expenses
US7584110B2 (en) 2005-09-20 2009-09-01 Emirates System and method for booking of hotel accommodations for travelers
US20070073562A1 (en) 2005-09-28 2007-03-29 Sabre Inc. System, method, and computer program product for providing travel information using information obtained from other travelers
US20070094056A1 (en) 2005-10-25 2007-04-26 Travelocity.Com Lp. System, method, and computer program product for reducing the burden on an inventory system by retrieving, translating, and displaying attributes information corresponding to travel itineraries listed in the inventory system
US20070143155A1 (en) 2005-12-21 2007-06-21 Travelocity.Com Lp. System, method, and computer program product for reducing the burden on an inventory system by assembling a suggested themed travel itinerary in response to minimal user input
BRPI0706740A2 (en) * 2006-01-25 2011-04-05 V1 Jets Internaional Inc method and system for managing charter data
US20070179863A1 (en) 2006-01-30 2007-08-02 Goseetell Network, Inc. Collective intelligence recommender system for travel information and travel industry marketing platform
US20100045705A1 (en) 2006-03-30 2010-02-25 Roel Vertegaal Interaction techniques for flexible displays
US7941753B2 (en) 2006-03-31 2011-05-10 Aol Inc. Communicating appointment and/or mapping information among a calendar application and a navigation application
US20080097873A1 (en) 2006-06-05 2008-04-24 Elliot Cohen System for online travel planning and hotel selection
US9767460B2 (en) 2006-09-18 2017-09-19 Adventive, Inc. Methods for integrating revenue generating features within a software application and systems thereof
US20080082373A1 (en) 2006-10-03 2008-04-03 American Express Travel Related Services Co., Inc. System and method for improved itinerary providing merchant information
US8364689B2 (en) 2006-12-22 2013-01-29 Verizon Patent And Licensing Inc. Methods and apparatus for providing a location based search
US20080167887A1 (en) 2007-01-05 2008-07-10 Carl De Marcken Anticipatory presentation of travel information
US20080189148A1 (en) 2007-02-07 2008-08-07 Jason Diaz Ground transportation booking
US20080198761A1 (en) 2007-02-15 2008-08-21 Microsoft Corporation Decentralized network architecture for travel related services
US20080215407A1 (en) 2007-03-01 2008-09-04 Julian Pachon Resource Scheduling with Rule Violation Feedback
US20080262878A1 (en) 2007-04-17 2008-10-23 Travelocity.Com Lp Systems, methods, and computer program products for generating and updating a cache of price and availability information for travel packages and components
US20090006143A1 (en) 2007-06-26 2009-01-01 Rearden Commerce, Inc. System and Method for Interactive Natural Language Rebooking or Rescheduling of Calendar Activities
US20090012824A1 (en) 2007-07-06 2009-01-08 Brockway Gregg Apparatus and method for supplying an aggregated and enhanced itinerary
WO2009026318A2 (en) 2007-08-21 2009-02-26 Prepaid Expense Card Solutions, Inc. Prepaid expense card management platform
US8766795B1 (en) 2007-11-02 2014-07-01 At&T Mobility Ii Llc Device availability notification and scheduling
CN102017550A (en) 2007-11-14 2011-04-13 高通股份有限公司 Methods and systems for determining a geographic user profile to determine suitability of targeted content messages based on the profile
US7949579B2 (en) 2007-12-07 2011-05-24 Jpmorgan Chase Bank, N.A. System and method for associating financial transaction data with a user's project data
EP2232898A4 (en) 2007-12-17 2012-08-08 Smooth Productions Inc Communications network system
US20090187449A1 (en) 2008-01-22 2009-07-23 Van Tulder Paul A System and method for managing unscheduled maintenance and repair decisions
EP2257875A4 (en) 2008-01-31 2014-01-15 Bt9 Ltd Perishable lifetime management system and method
US20090210262A1 (en) 2008-02-15 2009-08-20 Remotian Systems, Inc. (Delaware Corporation) Methods and apparatus for automated travel
US20100121660A1 (en) 2008-11-13 2010-05-13 John Boykin Architecture and system for displaying schedule and route information
US20110045801A1 (en) 2008-11-25 2011-02-24 Parker Ii Lansing Arthur System, method and program product for location based services, asset management and tracking
US20100174998A1 (en) 2009-01-06 2010-07-08 Kiha Software Inc. Calendaring Location-Based Events and Associated Travel
AU2009200253A1 (en) 2009-01-20 2009-11-12 Standby Holdings Pty Ltd Commercial Airline Flight Planning System
TWI578283B (en) 2009-02-20 2017-04-11 尼康股份有限公司 Carrying information machines, information acquisition systems, information retrieval servers, and information machines
US20100228628A1 (en) 2009-03-03 2010-09-09 Dufour Robert M Integrated Real-Time Ancillary Revenue Optimization System
US20100305984A1 (en) 2009-06-01 2010-12-02 Scopia, LLC Intermodal trip planner
SG176725A1 (en) 2009-06-08 2012-01-30 Zipcar Inc Mobile device application for communicating with vehicles
US20120135744A1 (en) 2009-07-21 2012-05-31 Kota Enterprises, Llc Systems and methods for generating and managing communication rules associated with geographic locations
US8612273B2 (en) 2010-04-01 2013-12-17 The Crawford Group, Inc. Method and system for managing vehicle travel
US20110282964A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated Delivery of targeted content related to a learned and predicted future behavior based on spatial, temporal, and user attributes and behavioral constraints
US8496164B2 (en) 2010-05-19 2013-07-30 Arinc Incorporated Method and apparatus for customer/passenger specific interactive flight information data notification using boarding pass barcode scanning capabilities on low-cost display devices
US20110307280A1 (en) * 2010-06-15 2011-12-15 Triptility, LLC Apparatus and method for searching and booking a complete travel itinerary
US8238941B2 (en) 2010-07-08 2012-08-07 Global Business Software Development Technologies, Inc. System and method for determining a location for a mobile device
US8195194B1 (en) 2010-11-02 2012-06-05 Google Inc. Alarm for mobile communication device
US20120157795A1 (en) 2010-12-15 2012-06-21 Ross Medical Corporation Patient Emergency Response System
FR2969124A1 (en) 2010-12-17 2012-06-22 Thales Sa METHOD OF TIME DISPLAYING THE MISSION OF AN AIRCRAFT
US8737820B2 (en) 2011-06-17 2014-05-27 Snapone, Inc. Systems and methods for recording content within digital video
US20130041696A1 (en) * 2011-08-10 2013-02-14 Postrel Richard Travel discovery and recommendation method and system
US8903870B2 (en) 2011-12-23 2014-12-02 Aon Global Risk Research Limited System for managing risk in employee travel

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665888B2 (en) 2010-10-21 2017-05-30 Concur Technologies, Inc. Method and systems for distributing targeted merchant messages
US9691037B2 (en) 2012-09-07 2017-06-27 Concur Technologies, Inc. Methods and systems for processing schedule data

Also Published As

Publication number Publication date
US20130054542A1 (en) 2013-02-28
US9400959B2 (en) 2016-07-26

Similar Documents

Publication Publication Date Title
US9400959B2 (en) Method and system for detecting duplicate travel path information
US20230418886A1 (en) Determining feasible itinerary solutions
US8484108B2 (en) Tracking entities during identity resolution
US8332410B2 (en) Bit string merge sort device, method, and program
US20140358934A1 (en) Database system and method for searching database
CN105989044A (en) Database verification method and system
JP2013156960A (en) Generation program, generation method, and generation system
US20210334292A1 (en) System and method for reconciliation of data in multiple systems using permutation matching
CN105183383B (en) A kind of unrelated mirror image recombination method of file system
KR101945406B1 (en) Real-relationships based similar sub-graph matching method
CN106777310B (en) Information verification method and device
Kundu et al. An efficient routing heuristic for a drone-assisted delivery problem
Ermagun et al. Multiple-drones-multiple-trucks routing problem for disruption assessment
CN112214609B (en) Audit method and system based on knowledge graph
CN115470236A (en) Multi-subgraph matching method, device and equipment
US9250077B2 (en) Ground-transportation network representation
CA2919902C (en) Ground-transportation network representation
Arseneva et al. Randomized incremental construction for the Hausdorff Voronoi diagram revisited and extended
CN114491238A (en) Recommendation method and device for position information, electronic equipment and storage medium
US20160196318A1 (en) Reconstitution order of entity evaluations
CN112559483A (en) HDFS-based data management method and device, electronic equipment and medium
EP3454232A1 (en) Computer implemented technologies configured to enable efficient processing of queries in a transportation data system, including use of partitioning based on trip attributes
CN107451179B (en) Query method and system for block chain for increasing overall error of block
US11586674B2 (en) Methods and systems for searching
CN111159210B (en) Information processing system, method and device

Legal Events

Date Code Title Description
AS Assignment

Owner name: CONCUR TECHNOLOGIES, INC., WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OLLENBERGER, BRIAN;SILVERIA, LISA;DENMARK, RICHARD;REEL/FRAME:042062/0684

Effective date: 20120821

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

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

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