KR20140111994A - Alternative travel recommendations - Google Patents

Alternative travel recommendations Download PDF

Info

Publication number
KR20140111994A
KR20140111994A KR1020140029042A KR20140029042A KR20140111994A KR 20140111994 A KR20140111994 A KR 20140111994A KR 1020140029042 A KR1020140029042 A KR 1020140029042A KR 20140029042 A KR20140029042 A KR 20140029042A KR 20140111994 A KR20140111994 A KR 20140111994A
Authority
KR
South Korea
Prior art keywords
travel
fare
alternative
path
paths
Prior art date
Application number
KR1020140029042A
Other languages
Korean (ko)
Inventor
마티유 드로스트
둥-화 장
마끄 빠뚜로
띠에리 뒤프레스늬
Original Assignee
아마데우스 에스.에이.에스.
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
Priority claimed from US13/795,983 external-priority patent/US20140278614A1/en
Priority claimed from EP13290049.9A external-priority patent/EP2779036A1/en
Application filed by 아마데우스 에스.에이.에스. filed Critical 아마데우스 에스.에이.에스.
Publication of KR20140111994A publication Critical patent/KR20140111994A/en

Links

Images

Classifications

    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/14Travel agencies
    • 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
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination

Abstract

The present invention relates to a method, a system, and computer program products for making travel recommendations and alternative travel recommendations. At least one minimum cost route having an associated value may be determined based on a travel request. At least one alternative route having an associated value may be determined based at least in part on the associated value of the at least one minimum cost route. At least one travel recommendation may be generated based on the at least one minimum cost route, and at least one alternative travel recommendation may be generated based on the at least one alternative route.

Description

대안적인 여행 권고 방법{ALTERNATIVE TRAVEL RECOMMENDATIONS}Alternative travel recommendations {ALTERNATIVE TRAVEL RECOMMENDATIONS}

본 발명은 일반적으로 컴퓨터 및 컴퓨터 소프트웨어에 관한 것으로, 보다 상세하게는 잠재적인 여행자에 대안적인 여행 업셀 가능성(upsell opportunity)을 생성하는 방법, 시스템, 및 컴퓨터 프로그램 제품에 관한 것이다. The present invention relates generally to computer and computer software, and more particularly to a method, system, and computer program product for generating an alternative travel upsell opportunity to a potential traveler.

컴퓨터 기술은 여행 산업에서 여행 예약(travel reservation), 및 이와 연관된 데이터를 관리하고 지원하는데 점점 더 많이 사용되고 있다. 인터넷 및 모바일 기술의 등장으로, 잠재적인 여행자는 복수의 잠재적인 여행 옵션으로부터 하나의 여행 옵션을 선택하는데 컴퓨터 기반 여행 예약 시스템에 점점 더 의존하고 있다. 종래의 컴퓨터 기반 여행 예약 시스템에서, 잠재적인 여행자는 여행 요청을 여행 서버에 전송할 수 있고, 여행 서버는 여행 요청을 분석하여 이 여행 요청에 기초하여 하나 이상의 잠재적인 여행 권고를 결정할 수 있다. 잠재적인 여행자는 특정 여행 권고를 선택하여 여행 서버와 예약 거래(reservation transaction)를 수행하여 선택된 여행 권고를 예약할 수 있다. 일부 종래의 시스템에서, 이 서버는 유동적인 날짜(flexible date) 및/또는 유동적인 지리적 위치(location)를 여행 권고에 제공하여 잠재적인 여행자에 비용을 절감하고 및/또는 잠재적인 여행자에 여행 권고를 판매하는 가능성을 증가시킬 수 있다. 예를 들어, 하나 이상의 항공편(flight)을 포함하는 여행 권고에 대하여, 여행 권고는 지리적 지역(region) 내 상이한 공항에서 출발 및/또는 도착하는 항공편 및/또는 잠재적인 여행자의 여행 요청에 포함된 공항 및/또는 시간과는 상이한 시간에 출발 및/또는 도착하는 항공편을 포함할 수 있다. Computer technology is increasingly being used to manage and support travel reservations and related data in the travel industry. With the advent of Internet and mobile technology, potential travelers are increasingly relying on computer-based travel reservation systems to select one travel option from multiple potential travel options. In a conventional computer-based travel reservation system, a potential traveler can send a travel request to a travel server, which can analyze the travel request and determine one or more potential travel recommendations based on the travel request. A potential traveler may select a particular travel advisor and perform a reservation transaction with the travel server to reserve the selected travel advisories. In some conventional systems, the server may provide a flexible date and / or flexible geographical location to the travel advisor, thereby reducing costs to potential travelers and / or providing travel advisors to potential travelers. It is possible to increase the possibility of selling. For example, for a travel recommendation that includes one or more flights, the travel recommendation may include an airline that departs and / or arrives at a different airport within a geographical region and / or airports that are included in a travel request of a potential traveler And / or flights departing and / or arriving at a different time than the time.

이러한 여행 서비스를 제공하면 점점 더 경쟁력이 있게 하는데, 일반적으로 가격 책정과 컨텐츠를 보다 경쟁력이 있게 한다. 경쟁력을 유지하기 위해, 종래의 여행 시스템 공급자는 일반적으로 최단 가능한 질문 시간(query time)에 여행 요청과 매칭하는 최저 가격으로 책정된 여행 권고를 제공하려고 노력한다. 따라서, 컴퓨터 기반 여행 예약 시스템은 일반적으로 잠재적인 여행자에 시간 및 비용 절감을 제공하는 것이지만, 이러한 시스템은 일반적으로 잠재적인 여행자에 제시된 여행 권고를 제한할 뿐아니라 추가적인 여행 제품 및/또는 대안적인 여행 옵션을 잠재적인 여행자에 제공하는 여행 서비스 공급자의 능력을 제한한다. Providing these travel services is becoming more and more competitive, generally making pricing and content more competitive. In order to remain competitive, conventional travel system providers generally endeavor to provide trip advisories at the lowest possible price to match travel requests at the shortest possible query time. Thus, although computer-based travel reservation systems generally provide time and cost savings to potential travelers, such systems generally limit travel advice presented to potential travelers, as well as additional travel products and / or alternative travel options To the potential traveler.

그 결과, 개선된 컴퓨터 기반 여행 예약 시스템, 여행 권고를 제공하는 방법 및 컴퓨터 프로그램 제품에 대한 상당한 요구가 이 기술 분야에 존재한다. As a result, there is a significant need in the art for improved computer-based travel reservation systems, methods of providing travel recommendations, and computer program products.

본 발명의 실시예는 하나 이상의 표준 여행 권고에 더하여 유저의 여행 요청에 기초하여 적어도 하나의 대안적인 여행 권고를 생성하며, 여기서 적어도 하나의 대안적인 여행 권고는 하나 이상의 표준 여행 권고보다 더 높은 가격을 포함할 수 있고, 대안적인 여행 권고는 방문할 관심(interesting)있거나 또는 흥미있는(attractive) 지리적 위치로 식별된 지리적 위치에서 적어도 하나의 추가적인 스탑(stop: 착륙)을 포함할 수 있다. Embodiments of the present invention create at least one alternative travel recommendation based on a user's travel request in addition to one or more standard travel recommendations, wherein the at least one alternative travel recommendation includes a higher price than one or more standard travel advisories And an alternative travel recommendation may include at least one additional stop in a geographic location identified as an interesting or attractive geographic location to visit.

본 발명의 실시예는 일반적으로 표준 여행 권고 및 대안적인 여행 권고를 생성하는 방법, 시스템 및 컴퓨터 프로그램 제품을 포함한다. 지리적인 제약 및 시간적 제약을 포함하는 여행 요청은 여행 서버에서 수신될 수 있다. 연관된 금전 값(monetary value)을 포함하는 적어도 하나의 최소 요금 경로(fare path)는 수신된 여행 질문에 기초하여 결정될 수 있다. 연관된 가격을 포함하는 적어도 하나의 여행 권고는 적어도 하나의 최소 요금 경로에 기초하여 생성된다. 게다가, 적어도 하나의 대안적인 요금 경로는 복수의 후보 요금 경로를 필터링하는 것에 의해 결정된다. 후보 요금 경로를 필터링하는 것은 적어도 하나의 최소 요금 경로의 연관된 값에 적어도 부분적으로 기초한다. 적어도 하나의 대안적인 여행 권고는 적어도 하나의 대안적인 요금 경로에 적어도 부분적으로 기초하여 생성되고, 여기서 대안적인 여행 권고는 연관된 가격을 포함한다. Embodiments of the present invention generally include methods, systems and computer program products for generating standard travel recommendations and alternative travel recommendations. Travel requests including geographical constraints and temporal constraints may be received at the travel server. At least one minimum fare path including the associated monetary value may be determined based on the received travel question. At least one travel recommendation including an associated price is generated based on at least one minimum fare path. In addition, at least one alternative fare path is determined by filtering a plurality of candidate fare paths. Filtering the candidate fare path is based at least in part on the associated value of the at least one minimum fare path. At least one alternative travel recommendation is generated based at least in part on at least one alternative fare path, wherein the alternative travel recommendation includes an associated price.

일부 실시예에서, 각 대안적인 여행 권고는 임의의 표준 여행 권고에 포함되지 않은 추가적인 스탑을 포함하고, 이러한 실시예에서, 후보 요금 경로는 후보 요금 경로의 임의의 루트(route)가 추가적인 스탑을 포함하는지 여부에 기초하여 필터링될 수 있다. 일부 실시예에서, 각 대안적인 여행 권고와 연관된 가격은 임의의 표준 여행 권고와 연관된 가격에 비해 더 높다. 가격은 일반적으로 요금액, 할증액(surcharge) 및 적용가능한 세금(tax)을 포함한다. 일부 실시예에서, 적어도 하나의 대안적인 여행 권고는 여행 요청의 지리적 제약 및/또는 시간적 제약을 충족하지 않을 수 있다. In some embodiments, each alternative travel recommendation includes an additional stop that is not included in any standard travel recommendation, and in this embodiment, the candidate fare path may include any route in the candidate fare path, Or < / RTI > In some embodiments, the price associated with each alternative travel recommendation is higher than the price associated with any standard travel advisory. Prices generally include pricing, surcharges and applicable taxes. In some embodiments, the at least one alternative travel recommendation may not meet geographic and / or temporal constraints of the travel request.

본 명세서에 포함되고 본 명세서의 일부를 구성하는 첨부 도면은 본 발명의 여러 실시예를 도시하며, 전술된 본 발명의 일반적인 설명과 아래에 제공된 실시예의 상세한 설명과 함께, 본 발명의 실시예를 설명하는 기능을 한다.
도 1은 본 발명의 일부 실시예에 따른 여행 서버, 이용가능성 서버(availability server), 및 클라이언트 디바이스의 컴포넌트를 도시하는 블록도.
도 2는 도 1의 여행 서버 및/또는 이용가능성 서버의 기능 컴포넌트를 도시하는 블록도.
도 3은 도 1의 여행 서버 및/또는 이용가능성 서버에 의해 수행되어 하나 이상의 여행 권고 및 하나 이상의 대안적인 여행 권고를 생성할 수 있는 동작 시퀀스를 도시하는 흐름도.
도 4는 도 1의 여행 서버에 의해 수행되어 최소 요금 경로 그래프의 하나 이상의 요금 경로를 필터링하여 하나 이상의 대안적인 요금 경로를 추출할 수 있는 동작 시퀀스를 도시하는 흐름도.
도 5는 도 1의 여행 서버에 저장될 수 있는 최소 요금 경로 그래프 데이터베이스의 일례의 개략도.
도 6은 도 1의 여행 서버에 의해 사용되어 여행 권고를 생성할 수 있는 최소 요금 경로 및 루트의 일례의 개략도.
도 7은 도 1의 여행 서버에 의해 수행될 수 있는 도 4 및 도 5의 흐름도의 필터링 및 추출의 일례의 개략도.
도 8은 도 1의 유저 디바이스에서 출력될 수 있는 도 1의 여행 서버에 의해 생성된 여행 권고 및 대안적인 여행 권고의 개략도.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and, together with the general description of the invention given above and the detailed description of the embodiments given below, .
1 is a block diagram illustrating components of a travel server, an availability server, and a client device in accordance with some embodiments of the present invention.
Figure 2 is a block diagram illustrating the functional components of the travel server and / or availability server of Figure 1;
3 is a flow chart illustrating an operational sequence performed by the travel server and / or availability server of FIG. 1 to generate one or more travel recommendations and one or more alternative travel recommendations.
4 is a flow diagram illustrating an operational sequence performed by the travel server of FIG. 1 to filter one or more toll paths of a minimum toll path graph to extract one or more alternative toll paths.
FIG. 5 is a schematic diagram of an example of a minimum toll path graph database that may be stored in the travel server of FIG. 1; FIG.
FIG. 6 is a schematic diagram of an example of a minimum toll path and route that can be used by the travel server of FIG. 1 to generate a travel recommendation;
Figure 7 is a schematic diagram of an example of filtering and extraction of the flow charts of Figures 4 and 5 that may be performed by the travel server of Figure 1;
FIG. 8 is a schematic diagram of travel recommendations and alternative travel recommendations generated by the travel server of FIG. 1 that may be output at the user device of FIG. 1;

본 발명의 실시예는 유저에 의해 제출된 여행 요청에 응답하여 잠재적인 여행자(본 명세서에서 유저라고 언급됨)에 대해 최저 가격에 대응하는 표준 여행 권고에 더하여 대안적인 여행 권고를 생성한다. 본 발명의 일부 실시예에서, 이러한 대안적인 여행 권고는 최저 가격의 여행 권고에 포함되지 않은 추가적인 스탑을 포함한다. 일반적으로, 추가적인 스탑은 이러한 추가적인 지리적 위치가 하나 이상의 이유로 유저에 매력적일 수 있는 지리적 위치에서 스탑을 말한다. 예를 들어, 추가적인 스탑 위치는 유저의 여행 요청의 위치의 매력지역(attraction)과 유사한 매력지역을 포함할 수 있다. 또 다른 예로서, 추가적인 스탑은 유저와 연관된 유저 프로파일에서 유저에 의해 선호되는(desirable) 것으로 나타난 하나 이상의 매력지역을 포함할 수 있다. 또 다른 예에서, 이러한 추가적인 스탑은 관심있는 지리적 위치로 한정될 수 있고, 여기서 데이터베이스는 이러한 관심있는 지리적 위치를 나타내는 데이터를 저장할 수 있다. 더욱이, 유저의 여행 요청에 응답하여 대안적인 여행 권고를 생성하는 것은 요청된 기점(origin) 및 목적지(destination)에 대해 최저 가격에 대응하는 표준 여행 권고를 생성하는 것과 동시에 수행될 수 있고, 이에 따라 대안적인 권고를 생성하는데 있어서 있을 수 있는 지연이 최저 가격의 여행 권고과 대안적인 여행 권고를 생성하는 동작을 동시에 조합으로 수행하는 것에 의해 감소될 수 있다. Embodiments of the present invention generate an alternative travel recommendation in addition to a standard travel recommendation corresponding to the lowest price for a potential traveler (referred to herein as a user) in response to a travel request submitted by the user. In some embodiments of the invention, such alternative travel recommendations include additional stops not included in the lowest price travel recommendation. Typically, an additional stop refers to a stop in a geographic location where this additional geographic location may be attractive to the user for one or more reasons. For example, the additional stop position may include an attractive area similar to the attraction of the location of the user's travel request. As another example, the additional stop may include one or more attractive regions that are shown to be desirable by the user in the user profile associated with the user. In another example, this additional stop may be confined to the geographic location of interest, where the database may store data representing such a geographic location of interest. Moreover, generating an alternative travel recommendation in response to a user's travel request may be performed at the same time as generating a standard travel recommendation corresponding to the lowest price for the requested origin and destination, A possible delay in creating an alternative recommendation can be reduced by performing a combination of the lowest cost travel recommendation and the alternative travel recommendation operation simultaneously.

일부 실시예에서, 대안적인 여행 권고가 생성될 수 있고, 여기서 대안적인 여행 권고는 추가적인 스탑을 포함하는 것에 더하여 유저의 여행 요청의 시간적 제약을 수정할 수 있다. 일부 실시예에서, 대안적인 여행 권고는 표준의 최저 가격 여행 권고에 비해 더 높은 가격을 포함할 수 있고, 이들 실시예에서, 이러한 대안적인 여행 권고는 더 높은 연관된 가격으로 인해 대안적인 업셀(upsell) 여행 권고로 고려될 수 있다. 대안적인 여행 권고는 유저의 여행 요청의 시간적 제약 내에 추가적인 스탑을 포함하거나, 또는 대안적인 권고는 대안적인 권고와 연관된 여행 시간이 유저의 여행 요청의 시간적 제약에 대응하지 않는 방식으로 추가적인 스탑을 포함할 수 있다. In some embodiments, alternative travel recommendations may be generated, where the alternative travel recommendations may include additional stops, as well as modify the time constraints of the user's travel request. In some embodiments, the alternative travel recommendation may include a higher price than the standard minimum price travel recommendation, and in these embodiments, this alternative travel recommendation may be an alternative upsell due to the higher associated price, It can be considered as a travel recommendation. An alternative recommendation may include an additional stop within the time constraint of the user's travel request or an alternative recommendation may include an additional stop in a manner such that the travel time associated with the alternative recommendation does not correspond to the temporal constraint of the user's travel request .

본 발명의 실시예에 따라, 대안적인 여행 권고는 유저에 의해 고려되지 못한 것일 수 있는 대안적인 여행 권고를 제공하는 것에 의해 유저의 여행 권고 쇼핑 경험을 개선시킬 수 있다. 게다가, 대안적인 여행 권고를 제공하는 것에 의해, 유저는 용이하게 이용가능한 여행 옵션을 유저에 더 많이 배열할 수 있는 것에 부분적으로 기초하여 본 발명의 실시예를 포함하는 시스템을 보다 자주 사용할 수 있어서 유저 충성도(loyalty)를 종래의 여행 예약 쇼핑 시스템에 비해 증가시킬 수 있다. According to embodiments of the present invention, alternative travel recommendations may improve the user's travel advisor shopping experience by providing alternative travel recommendations that may not have been considered by the user. In addition, by providing an alternative travel recommendation, the user can more frequently use the system including embodiments of the present invention based in part on being able to more easily arrange available travel options to the user, The loyalty can be increased compared to the conventional travel reservation shopping system.

더욱이, 여행 제공자 및/또는 여행 예약 서비스 제공자의 관점으로부터, 본 발명의 실시예에 의해 생성된 대안적인 여행 권고는 제공자에 더 많은 수익을 생성할 수 있다. 게다가, 본 발명의 실시예를 포함하는 시스템은 개선된 여행 권고 쇼핑 경험에 부분적으로 기초하여 더 많은 고객을 유인할 수 있으며, 이러한 개선된 여행 권고 쇼핑 경험은 예약율(즉, 잠재적인 고객이 여행 권고를 예약하는 율)을 더 높일 수 있다. Moreover, from the perspective of a travel provider and / or a travel booking service provider, the alternative travel recommendations generated by embodiments of the present invention can generate more revenue for the provider. In addition, a system including an embodiment of the present invention can attract more customers based in part on improved travel advisor shopping experience, and this improved travel advisor shopping experience can be used as a booking rate (i.e., The rate at which a recommendation is reserved).

예를 들어, 유저에 대한 여행 요청이 프랑스 니스(Nice, France)(NCE)로부터 캘리포니아 샌프란시스코(San Francisco, California)(SFO)(지리적 제약)로 7월 17일에 출발하여 7월 24일에 리턴하는 (시간적 제약) 여행을 포함한 경우, 유저는 일반적으로 7월 17일에 NCE로부터 출발하여 7월 24일에 NCE로 리턴하는 여행을 포함하는 여행 권고들에서 선택할 수 있다. 그러나, 이 예에서, 유저는 또한 하나 이상의 대안적인 여행 권고를 제공받을 수 있다. 예를 들어, 하나의 대안적인 여행 권고는 SFO에 도착하기 전에 프랑스 파리(Paris, France)(PAR)에 1일 스탑(one day stop)을 포함할 수 있다. 또 다른 예에서, 대안적인 여행 권고는 NCE로 리턴하기 전에 네바다주 라스베가스(Las Vegas, Nevada)(LAS)에서 2일 스탑(two day stop)을 포함할 수 있다. 일부 대안적인 여행 권고는 여행 요청에 나타난 시간적 제약을 수정할 수 있다. 예를 들어, 라스베가스에서 2일 스탑을 포함하는 대안적인 여행 권고는 7월 26일까지 NCE로 리턴하지 못할 수 있다. 다른 대안적인 여행 권고는 여행 요청의 시간적 제약을 수정하지 못할 수 있다. 예를 들어, PAR에서 1일 스탑을 포함하는 대안적인 여행 권고는 7월 24일에 NCE로 리턴할 수 있으나; 이러한 대안적인 여행 권고를 사용한 여행자는 하루 더 늦게 SFO에 도착할 것이다. For example, if a travel request for a user travels from Nice, France (NCE) to San Francisco, California (SFO) (geographical limitation) on July 17 and returns on July 24, (Time constraint) trip, the user can generally choose from trip advisories that include trips starting from the NCE on July 17th and returning to the NCE on July 24th. However, in this example, the user may also be provided with one or more alternative travel recommendations. For example, an alternative travel recommendation may include a one-day stop in Paris, France (PAR) before arriving at the SFO. In another example, an alternative travel recommendation may include a two day stop in Las Vegas, Nevada (LAS), before returning to the NCE. Some alternative travel recommendations may modify the time constraints presented in the travel request. For example, an alternative travel recommendation that includes a two-day stop in Las Vegas may not return to the NCE until July 26th. Other alternative travel recommendations may not correct the time constraints of the travel request. For example, an alternative travel recommendation that includes a one-day stop at PAR may return to the NCE on July 24; Travelers using these alternative travel recommendations will arrive at SFO one day later.

일반적으로, 여행 권고는 복수의 후보 요금 경로를 저장하는 최소 요금 경로 그래프 데이터베이스로부터 최소 요금 경로를 결정하고 추출하는 것에 의해 생성될 수 있다. 본 발명의 실시예에 따라, 대안적인 여행 권고를 생성하는데 사용된 추가적인 위치는 여행 권고를 생성하는 것과 연관된 여행 요청 및 최소 요금 경로에 적어도 부분적으로 기초하여 동적으로 결정될 수 있다. 추가적인 위치 및/또는 최소 요금 경로는 연관된 값을 포함하는 최소 요금 경로에 더하여 다른 요금 경로(즉, 대안적인 요금 경로)를 결정하고 추출하는데 사용될 수 있고, 여기서 이러한 대안적인 요금 경로는 대안적인 여행 권고를 생성하는데 사용될 수 있다. 대안적인 요금 경로를 필터링하는 것은 추출하고 분석할 대안적인 요금 경로의 수를 제한한다. 일부 실시예에서, 최소 요금 경로 그래프 데이터베이스에 저장되고 각 대안적인 요금 경로와 연관된 여행 루트는 추가적인 스탑을 포함하는 대안적인 요금 경로를 식별하도록 분석된다. Generally, a travel recommendation may be generated by determining and extracting a minimum fare path from a minimum fare path graph database storing a plurality of candidate fare paths. According to an embodiment of the present invention, the additional location used to create the alternative travel recommendation may be determined dynamically based at least in part on the travel request and minimum toll path associated with generating the travel advisories. The additional location and / or minimum fare path may be used to determine and extract another fare path (i.e., alternative fare path) in addition to the minimum fare path that includes the associated value, Lt; / RTI > Filtering alternative fare paths limits the number of alternative fare paths to extract and analyze. In some embodiments, the travel route stored in the minimum fare path graph database and associated with each alternative fare path is analyzed to identify alternative fare paths that include additional stops.

일 실시예에서, 프로세서 및 메모리를 포함하는 여행 서버는 지리적인 제약 및 시간적 제약을 포함하는 수신된 여행 요청을 분석하여 여행 요청에 적어도 부분적으로 기초하여 하나 이상의 여행 권고를 결정할 수 있고, 여기서 각 여행 권고는 연관된 가격을 포함한다. 여행 서버는 수신된 여행 요청을 분석하여 여행 요청 및/또는 하나 이상의 여행 권고에 적어도 부분적으로 기초하여 하나 이상의 대안적인 여행 권고를 결정할 수 있다. 각 대안적인 여행 권고는 추가적인 위치를 포함할 수 있는데, 여기서 추가적인 위치는 하나 이상의 하나의 여행 권고에 포함되지 않은 것일 수 있고, 및/또는 추가적인 위치는 여행 요청의 지리적 제약에 따르지 않은 것일 수 있다. 적어도 하나의 대안적인 여행 권고를 결정할 때, 여행 서버는 하나 이상의 여행 권고를 생성하는데 사용된 최소 요금 경로, 여행 요청, 잠재적인 여행자와 연관된 유저 프로파일, 및/또는 각 후보 요금 경로가 연관된 루트에서 스탑으로 적어도 하나의 추가적인 위치를 포함하는지 여부에 적어도 부분적으로 기초하여 대안적인 요금 경로를 생성하는데 사용된 복수의 후보 요금 경로를 필터링할 수 있다. 나아가, 일부 실시예에서, 대안적인 여행 권고는 일반적으로 적어도 하나의 여행 권고의 가격에 비해 더 높은 가격에 대응한다.In one embodiment, the travel server, including the processor and the memory, may analyze the received travel request, including geographic constraints and time constraints, to determine one or more travel recommendations based at least in part on the travel request, Recommendations include the associated prices. The travel server may analyze the received travel request to determine one or more alternative travel recommendations based at least in part on the travel request and / or one or more travel recommendations. Each alternative travel recommendation may include an additional location, where the additional location may not be included in one or more of the travel recommendations, and / or the additional location may not be geographically constrained to the travel request. When determining at least one alternative travel recommendation, the travel server may determine whether the minimum billed route, travel request, user profile associated with the potential traveler, and / or each candidate bidding route used to create one or more trip advisories, Based on at least in part, whether the at least one additional location includes at least one additional location. Further, in some embodiments, an alternative travel recommendation generally corresponds to a higher price relative to the price of the at least one travel advisory.

마지막으로, 일부 실시예에서, 대안적인 여행 권고는 여행 권고에 비해 더 높은 가격을 포함할 수 있다. 이들 실시예에서, 대안적인 여행 권고는 유저에 더 높은 비용의 여행을 구매하게 하여 여행 예약 서비스 제공자 및/또는 하나 이상의 여행 제공자에 추가적인 수익을 생성할 수 있게 하는 업셀 대안적인 여행 권고로 고려될 수 있다. 이들 실시예에서, 추출된 대안적인 요금 경로는 더 높은 연관된 값을 포함할 수 있고, 대안적인 요금 경로를 필터링하면 최소 요금 경로의 연관된 값을 초과하지 않는 연관된 값을 가지는 후보 요금 경로를 폐기(discard)할 수 있다. Finally, in some embodiments, alternative travel recommendations may include higher prices than travel recommendations. In these embodiments, an alternative travel recommendation can be considered an upsell alternative travel recommendation that allows a user to purchase a higher cost trip, thereby allowing him to generate additional revenues to the travel booking service provider and / or one or more travel providers. have. In these embodiments, the extracted alternative fare path may include a higher associated value, filtering the alternative fare path may discard the candidate fare path having an associated value that does not exceed the associated value of the minimum fare path )can do.

이제 도면, 특히 도 1을 참조하면, 이 도 1은 본 발명의 실시예에 따른 하나 이상의 여행 서버(10) 및 하나 이상의 이용가능성 서버(12)의 컴포넌트를 도시하는 블록도를 제공한다. 도시된 바와 같이, 여행 서버(10) 및 이용가능성 서버(12)는 통신 네트워크(14)를 통해 통신할 수 있다. 추가적으로, 하나 이상의 클라이언트 디바이스(16)는 통신 네트워크(14)를 통해 여행 서버(10)와 통신할 수 있다. 통신 네트워크(14)는 일반적으로 하나 이상의 여행 서버(10), 하나 이상의 이용가능성 서버(12), 및 하나 이상의 클라이언트 디바이스(16)들이 통신할 수 있는 하나 이상의 통신 네트워크를 나타낸다. 예를 들어, 통신 네트워크(14)는 인터넷, LAN(local area network), WAN(wide area network), 셀룰러 데이터 네트워크, 하나 이상의 고속 버스 연결, 및/또는 다른 유형의 통신 네트워크를 포함할 수 있다. Referring now to the drawings, and more particularly to Figure 1, Figure 1 provides a block diagram illustrating components of one or more travel servers 10 and one or more availability servers 12 in accordance with an embodiment of the present invention. As shown, the travel server 10 and the availability server 12 may communicate via the communication network 14. Additionally, the one or more client devices 16 may communicate with the travel server 10 via the communications network 14. Communication network 14 generally represents one or more travel servers 10, one or more availability servers 12, and one or more communication networks to which one or more client devices 16 may communicate. For example, communication network 14 may include the Internet, a local area network (LAN), a wide area network (WAN), a cellular data network, one or more high speed bus connections, and / or other types of communication networks.

각 여행 서버(10)는 메모리(20)에 연결된 적어도 하나의 하드웨어-기반 마이크로프로세서를 구비하는 적어도 하나의 프로세서(18)를 포함한다. 메모리(20)는 여행 서버(10)의 메인 저장부를 포함하는 랜덤 액세스 메모리(RAM) 디바이스, 및 임의의 보충 레벨(supplemental level)의 메모리, 예를 들어, 캐시 메모리, 비휘발성 또는 백업 메모리(예를 들어, 프로그래밍가능한 또는 플래쉬 메모리), 판독 전용 메모리 등을 나타낼 수 있다. 게다가, 메모리(20)는 컴퓨터(10) 내 어디엔가 물리적으로 위치된 메모리 저장부, 예를 들어, 마이크로프로세서 내 임의의 캐시 메모리, 및 임의의 저장 용량, 예를 들어, 가상 메모리로서 사용된 것, 예를 들어, 여행 서버(10)에 연결된 대용량 저장 디바이스 또는 다른 컴퓨터 상에 저장된 것으로 사용된 임의의 저장 용량을 포함하는 것으로 고려될 수 있다. Each travel server 10 includes at least one processor 18 having at least one hardware-based microprocessor coupled to a memory 20. The memory 20 includes a random access memory (RAM) device including a main storage of the travel server 10 and any supplemental level of memory, e.g., cache memory, nonvolatile or backup memory For example, a programmable or flash memory), a read-only memory, or the like. In addition, the memory 20 may be a memory location physically located somewhere in the computer 10, for example, any cache memory in the microprocessor, and any storage capacity, e.g., used as virtual memory For example, a mass storage device connected to the travel server 10, or any storage capacity used as being stored on another computer.

유저 또는 오퍼레이터(예를 들어, 여행 에이전트, 여행 서비스 대행자(representative) 등)와 인터페이싱하기 위해, 여행 서버(10)는 일반적으로 하나 이상의 유저 입력/출력 디바이스, 예를 들어, 키보드, 포인팅 디바이스, 디스플레이, 프린터 등을 포함하는 유저 인터페이스(22)를 포함한다. 그렇지 않은 경우, 유저 입력은 예를 들어, 통신 네트워크(14)에 연결된 네트워크 인터페이스(24)를 통해 클라이언트 디바이스(16)와 같은 다른 컴퓨터 또는 단말을 통해 수신될 수 있고, 여기서 통신 네트워크는 인터넷일 수 있다. 여행 서버(10)는 또한 예를 들어, 내부 하드 디스크 저장 디바이스, 외부 하드 디스크 저장 디바이스, 외부 데이터베이스, 저장 영역 네트워크 디바이스 등일 수 있는 하나 이상의 대용량 저장 디바이스와 통신할 수 있다. To interface with a user or operator (e.g., a travel agent, a travel service agent, etc.), the travel server 10 typically includes one or more user input / output devices, e.g., a keyboard, a pointing device, And a user interface 22 including a printer and the like. Otherwise, the user input may be received via another computer or terminal, such as, for example, client device 16 via network interface 24 connected to communication network 14, where the communication network may be the Internet have. The travel server 10 may also communicate with one or more mass storage devices, which may be, for example, an internal hard disk storage device, an external hard disk storage device, an external database, a storage area network device,

각 여행 서버(10)는 일반적으로 운영 시스템(26)의 제어 하에서 동작하고, 아래에 보다 상세히 설명된 바와 같이 예를 들어, 요금 검색 엔진(30)을 포함하는 여러 컴퓨터 소프트웨어 애플리케이션(28), 컴포넌트, 프로그램, 오브젝트(object), 모듈, 데이터 구조 등을 실행하거나 이에 의존한다. 더욱이, 여러 애플리케이션, 컴포넌트, 프로그램, 오브젝트, 모듈 등은 또한 예를 들어, 분산된 또는 클라이언트-서버 컴퓨팅 환경에서 통신 네트워크(14)를 통해 여행 서버(10)에 연결된 다른 컴퓨터 내에 있는 하나 이상의 프로세서 상에서 실행될 수 있고, 이에 의해 컴퓨터 프로그램의 기능을 구현하는데 요구되는 처리는 네트워크를 통해 다수의 컴퓨터에 할당될 수 있다. 예를 들어, 여행 서버(10)에 및/또는 이용가능성 서버(12)에 포함된 것으로 본 명세서에서 설명된 기능의 일부는 하나 이상의 여행 서버(10) 및/또는 하나 이상의 이용가능성 서버(12)에 구현될 수 있다. Each travel server 10 generally operates under the control of an operating system 26 and includes a number of computer software applications 28, such as, for example, a fee searching engine 30 as described in more detail below, , Programs, objects, modules, data structures, and the like. Furthermore, various applications, components, programs, objects, modules, etc. may also be stored on one or more processors in another computer connected to the travel server 10 via the communication network 14 in a distributed or client- So that the processing required to implement the functions of the computer program can be assigned to a plurality of computers through the network. For example, some of the functions described herein in the travel server 10 and / or included in the availability server 12 may be implemented in one or more travel servers 10 and / or one or more availability servers 12, Lt; / RTI >

여행 서버(10)의 메모리(20)는 일반적으로 예를 들어, 요금 데이터베이스(32), 최소 요금 경로 그래프 데이터베이스(34), 추가적인 위치 데이터베이스(36), 및 유저 데이터베이스(38)를 포함하는 하나 이상의 데이터베이스를 저장한다. 각 데이터베이스(32, 34, 36, 38)는 데이터를 포함하고, 이 데이터를 저장하고 조직(organize)하는 데이터 구조를 지원한다. 특히, 각 데이터베이스(32, 34, 36, 38)는 관계 데이터베이스, 계층적 데이터베이스, 네트워크 데이터베이스, 및/또는 이들의 조합을 포함하나 이들로 제한되지 않는 임의의 데이터베이스 조직 및/또는 구조로 배열될 수 있다. 여행 서버(10)의 처리 유닛 상에서 명령으로 실행되는 컴퓨터 소프트웨어 애플리케이션 형태의 데이터베이스 관리 시스템을 사용하여 질문에 응답하여 데이터베이스(32, 34, 36, 38)의 레코드에 저장된 정보 또는 데이터에 액세스할 수 있다. The memory 20 of the travel server 10 generally includes one or more of the following: a rate database 32, a minimum fee path graph database 34, an additional location database 36, and a user database 38, Save the database. Each of the databases 32, 34, 36, and 38 includes data, and supports a data structure for storing and organizing the data. In particular, each database 32, 34, 36, 38 may be arranged in any database organization and / or structure, including but not limited to relational databases, hierarchical databases, network databases, and / have. May access information or data stored in the records of the databases 32, 34, 36, 38 in response to a query using a database management system in the form of a computer software application executed on command on the processing unit of the travel server 10 .

요금 데이터베이스(32)는 일반적으로 2개의 지리적 위치 사이에 각 여행 제공자에 금전 값을 나타내는 데이터를 저장한다. 예를 들어, 요금 데이터베이스(32)는 캘리포니아주 로스엔젤레스(Los Angeles, California)(LAX)로부터 플로리다주 마이애미(Miami, Florida)(MIA)로 가는 항공편에 대해 하나 이상의 항공사와 연관된 값을 나타내는 데이터를 저장할 수 있다. 최소 요금 경로 그래프 데이터베이스(34)는 다른 곳에 저장된 원래의 값을 복제한 값이나 또는 더 이전에 연산된 값의 캐시를 포함할 수 있다. 최소 요금 경로 그래프 데이터베이스(34)는 요금 데이터베이스(32)의 값에 기초하여 미리 계산된 최소 요금액과 함께 모든 가능한 여행 요청에 존재하는 요금 경로를 포함할 수 있고, 여기서 최소 요금 경로 그래프 데이터베이스(34)에 저장된 각 요금 경로는 후보 요금 경로로 고려될 수 있다. 게다가, 본 발명의 실시예에 따라, 최소 요금 경로 그래프 데이터베이스(34)는 각 요금 경로에 대해 루트/여행 정보를 저장할 수 있다. 각 요금 경로에 대한 이 여행 루트 정보는 데이터베이스(32)의 요금으로부터 추출된 정보에 기초하여 미리 결합된다. 일반적으로, 루트 정보는 요금 경로가 적용되는 하나 이상의 여행 루트를 식별한다. 예를 들어, 최소 요금 경로 그래프는 프랑스 니스(Nice, France)(NCE) 및 플로리다주 마이애미(Miami, Florida)(MIA) 사이의 여행에 최소 요금 경로를 저장할 수 있고, 최소 요금 경로 그래프는 최소 요금 경로가 적용되는 NCE와 MIA 사이에 하나 이상의 루트를 포함할 수 있다. The toll database 32 typically stores data representing the monetary value for each travel provider between the two geographic locations. For example, the rate database 32 may include data representing values associated with one or more airlines for flights from Los Angeles, California (LAX), California, to Miami, Florida (MIA) Can be stored. The minimum toll path graph database 34 may contain a duplicate of the original value stored elsewhere or a cache of previously computed values. The minimum fare path graph database 34 may include a fare path that is present in all possible travel requests along with a pre-calculated minimum amount based on the value of the fare database 32, wherein the minimum fare path graph database 34 ) May be considered as a candidate fare path. Further, according to an embodiment of the present invention, the minimum fare path graph database 34 may store route / travel information for each fare path. The travel route information for each fare route is combined in advance based on the information extracted from the charge of the database 32. [ In general, the route information identifies one or more travel routes to which the toll route applies. For example, the minimum fare path graph can store a minimum fare path for trips between Nice, France (NCE) and Miami, Florida (MIA), Florida, It may include one or more routes between the NCE and the MIA to which the route applies.

게다가, 여행 서버(10)는 추가적인 위치 데이터베이스(36)를 저장할 수 있고, 여기서 추가적인 위치 데이터베이스(36)는 방문을 원할 수 있는 후보 지리적 위치를 나타내는 데이터를 포함할 수 있다. 나아가, 추가적인 위치 또는 추가적인 후보 위치라고 언급되는 각 저장된 지리적 위치에서, 추가적인 위치 데이터베이스(36)는 각 저장된 추가적인 후보 위치와 연관된 하나 이상의 카테고리를 나타내는 데이터를 포함할 수 있다. 하나 이상의 카테고리는 지리적 위치가 방문을 원할 수 있는 특정 이유를 식별할 수 있다. 예를 들어, 네바다주 라스베가스(LAS)가 추가적인 위치 데이터베이스(36)에서 지리적 위치로 저장된 경우, 연관된 카테고리는 네바다주 라스베가스가 도박으로 인기있는 매력지역(gambling attractions)으로 카지노를 포함하는 것을 나타낼 수 있다. 다른 카테고리는, 예를 들어, 지리적 위치가 하나 이상의 해변, 박물관, 유적지(historic locations), 고급 식당(fine dining), 및/또는 다른 유형의 매력지를 포함하는지 여부를 포함하는, 여행자가 일반적으로 방문을 원하는 매력지역에 대응하는 카테고리를 포함할 수 있다.In addition, the travel server 10 may store an additional location database 36, where the additional location database 36 may contain data indicative of candidate geographic locations for which it may wish to visit. Further, in each stored geographic location, referred to as an additional location or additional candidate location, the additional location database 36 may include data representing one or more categories associated with each stored additional candidate location. One or more categories can identify the specific reason that a geographic location may want to visit. For example, if a Nevada Las Vegas (LAS) is stored in a geographic location in an additional location database 36, the associated category may indicate that Nevada Las Vegas includes casinos as gambling attractions as gambling . Other categories may include, for example, a visitor who typically has a visit, including whether the geographic location includes one or more beaches, museums, historic locations, fine dining, and / May include a category corresponding to the desired attraction area.

도시된 바와 같이, 여행 서버(10)의 메모리(20)는 또한 유저 데이터베이스(38)를 포함할 수 있고, 여기서 유저 데이터베이스는 여행 서버(10)의 하나 이상의 유저에 대한 유저 프로파일 데이터를 저장할 수 있다. 이러한 실시예에서, 특정 유저는 유저에 관심있는 매력지역의 카테고리, 유저에 의해 선호되는 여행의 유형, 유저에 의해 선호되는 지리적 위치, 및/또는 유저에 대해 하나 이상의 대안적인 여행 권고를 생성하는데 사용될 수 있는 다른 정보를 나타내는 프로파일 데이터를 여행 서버에 제공할 수 있다. As shown, the memory 20 of the travel server 10 may also include a user database 38, wherein the user database may store user profile data for one or more users of the travel server 10 . In such an embodiment, a particular user may be assigned a category of attractive area of interest to the user, a type of travel preferred by the user, a geographic location preferred by the user, and / And provide profile data indicating other information that can be provided to the travel server.

각 이용가능성 서버(12)는 일반적으로 메모리(42)에 연결된 적어도 하나의 하드웨어-기반 마이크로프로세서를 구비하는 적어도 하나의 프로세서(40)를 포함한다. 각 여행 서버(10)는 일반적으로 운영 시스템(44)의 제어 하에서 동작하고, 여러 컴퓨터 소프트웨어 애플리케이션(46), 컴포넌트, 프로그램, 오브젝트, 모듈, 데이터 구조 등을 실행하거나 이에 의존하고, 여기서 이러한 애플리케이션은, 실행될 때, 일반적으로 이용가능성 서버(12)로 하여금 본 발명의 실시예에 따른 하나 이상의 동작을 수행할 수 있게 한다. 각 이용가능성 서버(12)는 일반적으로 여행 제공자 및/또는 여행 규제 개체(entity)에 의해 발행된 여행 스케줄에 기초하여 여행 솔루션을 형성하고, 여기서 이러한 여행 스케줄은 여행 데이터베이스(48)로 도시된 하나 이상의 데이터베이스에 유지될 수 있고, 이용가능성 서버(12)는 하나 이상의 여행 제공자 및/또는 다른 이용가능성 컴파일링 서비스(compiling service)로부터 스케줄링된 여행에 대해 이용가능성을 검색할 수 있고, 여기서 이러한 이용가능성 정보는 이용가능성 데이터베이스(50)로 도시된다. 유저 또는 오퍼레이터와 인터페이싱하기 위해, 이용가능성 서버(12)는 일반적으로 하나 이상의 유저 입력/출력 디바이스, 예를 들어, 키보드, 포인팅 디바이스, 디스플레이, 프린터 등을 포함하는 유저 인터페이스(52)를 포함한다. 그렇지 않은 경우, 유저 입력은 예를 들어, 통신 네트워크(14)에 연결된 네트워크 인터페이스(54)를 통해 여행 서버(10) 및/또는 클라이언트 디바이스(16)와 같은 다른 컴퓨터 또는 단말을 통해 수신될 수 있다. 이용가능성 서버(12)는 또한 예를 들어, 내부 하드 디스크 저장 디바이스, 외부 하드 디스크 저장 디바이스, 외부 데이터베이스, 저장 영역 네트워크 디바이스 등일 수 있는 하나 이상의 대용량 저장 디바이스와 통신할 수 있다. Each availability server 12 generally includes at least one processor 40 having at least one hardware-based microprocessor coupled to a memory 42. Each travel server 10 generally operates under the control of an operating system 44 and executes or relies upon various computer software applications 46, components, programs, objects, modules, data structures, , When executed, generally enables the availability server 12 to perform one or more operations in accordance with an embodiment of the present invention. Each availability server 12 typically forms a travel solution based on a travel schedule issued by a travel provider and / or a travel regulatory entity, And the availability server 12 may retrieve availability for scheduled trips from one or more travel providers and / or other availability compiling services, where such availability < RTI ID = 0.0 > The information is shown in the availability database 50. To interface with a user or an operator, the availability server 12 typically includes a user interface 52 including one or more user input / output devices, e.g., a keyboard, pointing device, display, printer, Otherwise, the user input may be received via another computer or terminal, such as the travel server 10 and / or the client device 16, for example via the network interface 54 connected to the communication network 14 . The availability server 12 may also communicate with one or more mass storage devices, which may be, for example, an internal hard disk storage device, an external hard disk storage device, an external database, a storage area network device,

이용가능성 서버(12) 및 여행 서버(10)는 별도의 데이터 서버로 도시되어 있으나, 본 발명은 이로 제한되지 않는다. 본 발명에 따른 일부 실시예에서, 여행 서버(10)는 이용가능성 서버(12)와 연관된 것으로 도시된 데이터베이스를 포함할 수 있고, 여행 서버(10)는 이용가능성 서버(12)와 연관된 것으로 본 명세서에 설명된 하나 이상의 동작을 수행할 수 있다. 예를 들어, 일부 실시예에서, 여행 서버(10)는 여행 데이터베이스(48) 및 이용가능성 데이터베이스(50)를 포함할 수 있다. 이러한 실시예에서, 여행 서버(10)는 이용가능성 서버(12)에 의해 수행되는 것으로 본 명세서에 설명된 하나 이상의 동작을 수행할 수 있다. Although the availability server 12 and the travel server 10 are shown as separate data servers, the present invention is not limited thereto. In some embodiments according to the present invention, the travel server 10 may include a database shown as being associated with the availability server 12, the travel server 10 being associated with the availability server 12, May perform one or more of the operations described in FIG. For example, in some embodiments, the travel server 10 may include a travel database 48 and an availability database 50. In this embodiment, the travel server 10 may perform one or more of the operations described herein as being performed by the availability server 12.

도 1을 계속 참조하면, 각 클라이언트 디바이스(16)는 일반적으로 메모리(58)에 연결된 적어도 하나의 하드웨어-기반 마이크로프로세서를 구비하는 적어도 하나의 프로세서(40)를 포함한다. 각 클라이언트 디바이스(16)는 일반적으로 운영 시스템(60)의 제어 하에서 동작하고, 여러 컴퓨터 소프트웨어 애플리케이션(62), 컴포넌트, 프로그램, 오브젝트, 모듈, 데이터 구조 등을 실행하거나 이에 의존하고, 여기서 적어도 하나의 애플리케이션은, 실행될 때, 일반적으로 클라이언트 디바이스(16)로 하여금, 적어도 하나의 여행 서버(10)와 인터페이싱하며 유저의 여행 요청을 여행 서버(10)에 전송하는 동작과, 통신 네트워크(14)를 통해 유저에 의한 리뷰를 위해 하나 이상의 여행 권고 및 하나 이상의 대안적인 여행 권고를 수신하는 동작을 수행하게 할 수 있다. 유저 또는 오퍼레이터와 인터페이싱하기 위해, 클라이언트 디바이스는 일반적으로 하나 이상의 유저 입력/출력 디바이스, 예를 들어, 키보드, 포인팅 디바이스, 디스플레이, 프린터 등을 포함하는 유저 인터페이스(64)를 포함한다. 그렇지 않은 경우, 예를 들어, 통신 네트워크(14)에 연결된 네트워크 인터페이스(66)를 통해 여행 서버(10) 및/또는 클라이언트 디바이스(16)와 같은 다른 컴퓨터 또는 단말을 통해 유저 입력이 수신될 수 있다. 클라이언트 디바이스(16)는 또한 예를 들어, 내부 하드 디스크 저장 디바이스, 외부 하드 디스크 저장 디바이스, 외부 데이터베이스, 저장 영역 네트워크 디바이스 등일 수 있는 하나 이상의 대용량 저장 디바이스와 통신할 수 있다. 클라이언트 디바이스(16)는 이동 전화, 태블릿, PDA(personal digital assistant), 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북 컴퓨터 등일 수 있다. 1, each client device 16 generally includes at least one processor 40 having at least one hardware-based microprocessor coupled to a memory 58. In one embodiment, Each client device 16 is typically operated under the control of an operating system 60 and is responsible for executing or relying on various computer software applications 62, components, programs, objects, modules, data structures, The application, when executed, typically causes the client device 16 to interfere with at least one travel server 10 and send a travel request of the user to the travel server 10, To perform one or more travel recommendations and one or more alternative travel recommendations for review by the user. To interface with a user or an operator, the client device typically includes a user interface 64 including one or more user input / output devices, e.g., a keyboard, pointing device, display, printer, Otherwise, user input may be received via another computer or terminal, such as travel server 10 and / or client device 16, via network interface 66, for example, connected to communication network 14 . The client device 16 may also communicate with one or more mass storage devices, which may be, for example, an internal hard disk storage device, an external hard disk storage device, an external database, a storage area network device, The client device 16 may be a mobile phone, a tablet, a personal digital assistant (PDA), a desktop computer, a laptop computer, a notebook computer, and the like.

일반적으로, 운영 시스템 또는 특정 애플리케이션, 컴포넌트, 프로그램, 오브젝트, 모듈 또는 명령 시퀀스의 일부, 또는 심지어 이들의 부분 집합으로 구현되었는지에 상관없이 본 발명의 실시예를 구현하도록 실행된 루틴은, 본 명세서에서 "컴퓨터 프로그램 코드" 또는 단순히 "프로그램 코드"라고 언급된다. 프로그램 코드는 일반적으로 컴퓨터 내 여러 메모리 및 저장 디바이스에 여러 경우에 존재하는 하나 이상의 명령을 포함하고, 이 명령은, 컴퓨터 내에 있는 하나 이상의 프로세서에 의해 판독되어 실행될 때, 이 컴퓨터로 하여금 본 발명의 여러 측면을 구현하는 단계 또는 요소를 실행하는데 필요한 단계를 수행하게 할 수 있다. 더욱이, 본 발명이 이후 완전히 기능하는 컴퓨터 및 컴퓨터 시스템을 구비하고 이 문맥에서 설명될 수 있으나, 이 기술 분야에 통상의 지식을 가진 자라면, 본 발명의 여러 실시예는 여러 형태의 프로그램 제품으로 분산될 수 있다는 것과, 본 발명이 분산을 실제로 수행하는데 사용된 컴퓨터 판독가능한 매체의 특정 유형에 상관없이 동일하게 적용될 수 있다는 것을 이해할 수 있을 것이다. In general, routines that are implemented to implement embodiments of the invention, whether implemented as an operating system or a particular application, component, program, object, module, or portion of a command sequence, or even a subset thereof, Quot; computer program code "or simply" program code ". The program code typically includes one or more instructions that, in various instances, reside in various memories and storage devices in a computer, which instructions, when read and executed by one or more processors within the computer, To perform steps necessary to implement aspects or to perform the steps necessary to execute the element. Further, although the present invention will hereinafter be described in its entirety with fully functional computer and computer systems, it will be appreciated by those of ordinary skill in the art that various embodiments of the present invention may be implemented in various forms of program product And that the present invention is equally applicable regardless of the particular type of computer readable medium used to actually perform the distribution.

이러한 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 판독가능한 저장 매체는 특성상 비-일시적인 것이고, 컴퓨터-판독가능한 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현된, 휘발성 및 비휘발성, 및 이동식 및 비-이동식 매체를 포함할 수 있다. 컴퓨터 판독가능한 저장 매체로는 RAM, ROM, 소거가능한 프로그래밍가능한 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그래밍가능한 판독 전용 메모리(EEPROM), 플래쉬 메모리 또는 다른 솔리드 스테이트 메모리 기술, CD-ROM, DVD(digital versatile disk), 또는 다른 광학 저장 매체, 자기 카세트, 자기 테이프, 자기 디스크 저장 또는 다른 자기 저장 디바이스, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는데 사용될 수 있는 임의의 다른 매체를 더 포함할 수 있다. 통신 매체는 컴퓨터 판독가능한 명령, 데이터 구조 또는 다른 프로그램 모듈을 구현할 수 있다. 예로서, 및 비 제한적으로, 통신 매체는 유선 네트워크 또는 직접 유선 연결과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 상기한 것들 중 임의의 조합은 또한 컴퓨터 판독가능한 매체의 범위 내에 포함될 수 있다.Such a computer-readable medium may comprise a computer-readable storage medium and a communication medium. Computer readable storage media are non-volatile in nature and are volatile and nonvolatile, embodied in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data, and removable and non- - may include removable media. Computer readable storage media include, but are not limited to, RAM, ROM, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), flash memory or other solid state memory technology, CD- digital versatile disk, or other optical storage medium, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, or any other medium which can be accessed by a computer and used to store the desired information . The communication medium may embody computer readable instructions, data structures, or other program modules. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Any combination of the above may also be included within the scope of computer readable media.

본 명세서에 이후 설명된 여러 프로그램 코드는 본 발명의 특정 실시예에서 구현된 애플리케이션에 기초하여 식별될 수 있다. 그러나, 이하 임의의 특정 프로그램 용어(nomenclature)는 단지 편의상 사용되는 것이어서, 본 발명은 이 용어에 의해 식별되거나 및/또는 의미된 임의의 특정 애플리케이션에서만 사용되는 것으로 제한되는 것은 아닌 것으로 이해된다. 나아가, 컴퓨터 프로그램이 루틴, 프로시저, 방법, 모듈, 오브젝트 등으로 조직될 수 있는 방식의 수에는 일반적으로 끝이 없고, 프로그램 기능이 일반적인 컴퓨터(예를 들어, 운영 시스템, 라이브러리, API, 애플리케이션, 애플릿 등)에 상주하는 여러 소프트웨어 레이어 중에 할당될 수 있는 방식은 여러 가지가 있어서, 본 발명은 본 명세서에 설명된 프로그램 기능의 특정 조직과 할당으로 제한되는 것은 아닌 것으로 이해된다. The various program codes described hereinafter may be identified based on the application implemented in a particular embodiment of the present invention. It is understood, however, that any particular program nomenclature is used herein for convenience only, and that the invention is not limited to use with any particular application identified and / or implied by the term. Further, the number of ways that a computer program can be organized into routines, procedures, methods, modules, objects, etc., generally have no end, Applets, etc.), it is understood that the present invention is not limited to any particular organization and assignment of program functionality described herein.

이제 도 2를 참조하면, 이 도 2는 본 발명의 일부 실시예에 따라 여행 권고 및 대안적인 여행 권고를 생성하도록 사용된 여러 기능 컴포넌트와 수행된 동작을 도시하는 블록도를 제공한다. 도 2에 도시된 바와 같이, 요금 검색 엔진(30)은 평가된(valuated) 요금 경로 구성 기능 컴포넌트(80)를 포함한다. 평가된 요금 경로 구성 컴포넌트(80)는 최소 요금 경로 그래프 데이터베이스(34)로부터 요금 경로를 추출하고 추출된 요금 경로에 기초하여 주어진 요청에 대해 탐사(explored)할 평가된 요금 경로를 동적으로 형성하도록 구성된다. 예를 들어, 여행 요청이 NCE의 기점(origin)과 MIA의 목적지를 포함하는 경우, 평가된 요금 경로 구성 컴포넌트(80)는 NCE로부터 MIA로의 항공편에 대해 탐사할 하나 이상의 평가된 요금 경로를 형성할 수 있다. Referring now to FIG. 2, this FIG. 2 provides a block diagram illustrating various functional components and performed operations used to generate travel recommendations and alternative travel recommendations in accordance with some embodiments of the present invention. As shown in FIG. 2, the toll search engine 30 includes a valuated toll path configuration function component 80. The evaluated fare path configuration component 80 is configured to extract a fare path from the minimum fare path graph database 34 and dynamically form an estimated fare path to be explored for a given request based on the extracted fare path do. For example, if the travel request includes the origin of the NCE and the destination of the MIA, the evaluated fare path component 80 forms one or more estimated fare paths to explore for the flight from the NCE to the MIA .

게다가, 평가된 요금 경로 구성 컴포넌트(80)는 대안적인 요금 경로 추출 엔진(82)을 포함하며, 이 대안적인 요금 경로 추출 엔진(82)은 최소 요금 경로 그래프 데이터베이스(34)에 저장된 하나 이상의 요금 경로를 선택하여 하나 이상의 대안적인 요금 경로로 추출하도록 구성된다. 일반적으로, 대안적인 요금 경로 추출 엔진(82)은 특정 요금 경로가 특정 요금 경로와 연관된 하나 이상의 루트에 추가적인 스탑을 포함하는지 여부에 적어도 부분적으로 기초하여 최소 요금 경로 그래프 데이터베이스(34)의 요금 경로를 필터링하는 것에 의해 추출할 요금 경로를 선택한다. 전술된 바와 같이, 추가적인 스탑은 추가적인 위치 데이터베이스(36)에 저장될 수 있다. 나아가, 이러한 필터링은 특정 추가적인 스탑이 하나 이상의 카테고리와 연관되었는지 여부에 적어도 부분적으로 기초할 수 있다. In addition, the evaluated farepath configuration component 80 includes an alternative farepath extraction engine 82, which may include one or more farepaths stored in the minimum feepath graph database 34, To extract it as one or more alternative fare paths. In general, the alternative fare path extraction engine 82 may determine the fare path of the minimum fare path graph database 34 based, at least in part, on whether a particular fare path includes an additional stop in one or more routes associated with the particular fare path And selects a fare path to be extracted by filtering. As described above, additional stops may be stored in the additional location database 36. [ Further, such filtering may be based, at least in part, on whether a particular additional stop is associated with one or more categories.

일부 실시예에서, 대안적인 요금 경로 추출 엔진(82)은 스탑 기준(stop criterion)에 기초하여 요금 경로를 필터링할 수 있고, 여기서 스탑 기준은 유저 한정된 것이거나 및/또는 여행 예약 서비스 제공자에 의해 한정된 것일 수 있다. 예를 들어, 유저는 클라이언트 디바이스(16)에서 입력된 여행 요청에 예산 범위(budget range)를 포함할 수 있고, 대안적인 요금 경로 추출 엔진은 클라이언트 디바이스(16)로부터 수신된 예산을 초과하지 않는 대안적인 요금 경로만을 추출할 수 있다. 여행 예약 서비스 제공자에 대해, 서비스 제공자는 대안적인 요금 경로의 값이 최소 값 요금 경로의 값을 초과할 수 있는 최대 양 또는 퍼센트를 한정할 수 있다. 이러한 실시예에서, 대안적인 요금 경로 추출 엔진(82)은 스탑 기준을 초과하는 값을 가지는 최소 요금 경로 그래프 데이터베이스(34)의 요금 경로를 필터링할 수 있다. In some embodiments, the alternative fare path extraction engine 82 may filter the fare path based on a stop criterion, wherein the stop metric is user-defined and / or limited by the travel booking service provider Lt; / RTI > For example, a user may include a budget range in a travel request entered at the client device 16, and an alternative fare path extraction engine may include alternatives that do not exceed the budget received from the client device 16 It is possible to extract only the fare path. For a travel reservation service provider, the service provider may limit the maximum amount or percentage that the value of the alternative fare path may exceed the value of the minimum value fare path. In such an embodiment, the alternative fare path extraction engine 82 may filter the fare path of the minimum fare path graph database 34 having values that exceed the stop criteria.

추가적인 위치는 유저 데이터베이스(38)에 저장된 특정 유저에 대응하는 유저 프로파일에 저장된 선호되는 위치에 기초할 수 있다. 예를 들어, 특정 유저는 NCE로부터 MIA로의 여행을 포함하는 여행 요청을 제출할 수 있고, 특정 유저가 어린이에 매력적인 지역을 포함하는 지리적 위치에 관심이 있는 것을 나타내는 유저 데이터베이스(38)에 저장된 특정 유저의 대응하는 유저 프로파일에 기초하여, 대안적인 요금 경로 추출 엔진(82)은 어린이에 매력적인 지역을 포함하는 추가적인 위치에 대해 추가적인 위치 데이터베이스(36)에 질문할 수 있고, 대안적인 요금 경로 추출 엔진(82)은 어린이에 매력적인 지역을 포함하는 추가적인 스탑을 가지는 루트를 포함하는 최소 요금 경로 그래프 데이터베이스(34)에 저장된 대안적인 요금 경로를 추출할 수 있다. 대안적인 요금 경로 추출 엔진(82)에 의해 대안적인 요금 경로를 추출한 후, 평가된 요금 경로 구성 컴포넌트(80)는 평가된 대안적인 요금 경로를 형성한다. The additional location may be based on a preferred location stored in the user profile corresponding to the particular user stored in the user database 38. [ For example, a particular user may submit a travel request that includes a trip from the NCE to the MIA, and if the particular user is interested in a geographic location that includes a location attractive to the child, Based on the corresponding user profile, the alternative fare path extraction engine 82 may query the additional location database 36 for additional locations that include a region attractive to the child, May extract an alternative fare path stored in a minimum fare path graph database 34 that includes a route with an additional stop including an area attractive to the child. After extracting an alternate fare path by the alternative fare path extraction engine 82, the assessed fare path component 80 forms an evaluated alternative fare path.

평가된 요금 경로 구성 컴포넌트(80)로 평가된 요금 경로를 형성한 후, 요금 검색 엔진(30)의 동적 요금 경로 탐사 기능 컴포넌트(84)는 여행 권고 및 대안적인 권고를 검색하고 동적으로 형성한다. 요금 로더(loader)(86)는 요금 경로와 연관된 임의의 규칙과 함께 평가된 요금 경로의 요금을 로딩하고 이 요금을 확인(validate)한다. 규칙은 각 요금 경로와 연관된 규칙 데이터에 의해 나타내어질 수 있고, 여기서 규칙은 스탑오버(stopover), 갈아타기(transfer), 최소 체류 제한, 및/또는 적용가능한 요금 범위에 대한 요금 제한(restriction)을 나타낼 수 있다. 예를 들어, 요금 경로의 요금은 여행자가 최소 시간 동안 특정 지리적 위치에 체류하는 경우에만 유효할 수 있다. 이 예에서, 최소 체류 제한은 여행 권고 및 대안적인 여행 권고를 생성할 때 동적 요금 경로 탐사 컴포넌트(84)에 의해 고려될 수 있다. After establishing a toll road evaluated by the evaluated toll path component 80, the toll road probe function component 84 of the toll search engine 30 retrieves and dynamically forms the travel advisories and alternative advisories. Fee loader 86 loads and validates the rate of the evaluated fare path along with any rules associated with the fare path. The rule may be represented by rule data associated with each fare path, where the rule may include a stopover, a transfer, a minimum stay restriction, and / or a charge restriction for an applicable charge range . For example, the fare in the fare path may only be valid if the traveler stays in a particular geographic location for a minimum amount of time. In this example, the minimum stay limit can be taken into account by the dynamic fare route exploration component 84 when generating trip advisories and alternative travel advisories.

동적 요금 경로 탐사 컴포넌트(84)의 요금 엔진(88)은 여행 요청을 커버하는 요금 조합을 형성하고 확인한다. 이러한 요금 조합은 요금 브레이크(fare break)를 포함할 수 있고, 여기서 요금 브레이크는 2개의 별도의 요금 사이에 조합 포인트(combination point)를 나타낸다. 예를 들어 제 1 위치와 제 2 위치 사이의 요금은 제 2 위치와 제 3 위치 사이의 요금과 조합될 수 있고, 이 예에서, 제 2 위치가 요금 브레이크이다. 대안적인 요금 조합 가능성 검출기(90)는 현재 대안적인 요금 경로의 요금 조합과 연관된 스탑 가능성을 검출한다. 일반적으로 스탑 가능성은 요금 조합과 연관된 규칙에 의해 나타내어질 수 있다. 주어진 요금 경로에서, 가장 값싼 요금 조합 및 더 비싼 하나 이상의 요금 조합을 포함하는 하나 이상의 요금 조합이 가능할 수 있다. 요금 조합의 요금의 규칙은 스탑의 가능성을 나타낼 수 있다(즉, 스탑은 요금 조합에 적용가능한 요금 규칙에 기초하여 허가될 수 있다). 그리하여, 요금 조합과 연관된 스탑 가능성을 검출하는 것은 요금 조합의 요금 규칙에 적어도 부분적으로 기초한다. 대안적인 요금 조합 가능성 검출기(90)는 대안적인 요금 경로의 이러한 요금 조합을 분석하여 추가적인 스탑이 하나 이상의 요금 브레이크 포인트에서 가능한지 여부, 스탑오버(stop-over)가 요금 브레이크 포인트 사이의 포인트에서 가능한지 여부, 및/또는 이러한 브레이크의 허용된 지속기간에서 요금 조합이 (요금 조합과 연관된 임의의 규칙에 따라) 여전히 적용가능한지 여부를 결정할 수 있다. 그리하여, 실시예에 따라, 대안적인 요금 조합 가능성 검출기(90)는 추가적인 스탑이 연관된 규칙에 기초하여 각 대안적인 요금 경로의 하나 이상의 대안적인 요금 조합의 요금 브레이크 포인트에서 가능한지 여부를 결정한다. 예를 들어, 대안적인 요금 조합에 대한 규칙이 여행자가 1일 미만 동안 요금 브레이크 포인트와 연관된 지리적 위치에서만 머무를 수 있는 것을 요구하는 경우, 대안적인 요금 조합 가능성 검출기(90)는 대안적인 요금 조합이 임의의 가능한 가능성을 제시하지 않는 것으로 결정할 수 있다. 유사하게, 대안적인 요금 조합과 연관된 규칙이 여행자가 2일 동안 요금 브레이크 포인트의 지리적 위치에 머무를 수 있게 하는 경우, 대안적인 요금 조합 가능성 검출기(90)는 대안적인 요금 조합이 대안적인 여행 권고에 대한 가능성을 제시하는 것으로 결정할 수 있다. The toll engine 88 of the dynamic toll path probe component 84 forms and identifies a toll combination that covers the trip request. Such a rate combination may include a fare break, where the rate break represents a combination point between two separate charges. For example, the fee between the first location and the second location may be combined with the fee between the second location and the third location, and in this example, the second location is the charge break. An alternative rate combinability detector 90 detects the likelihood of a stop associated with a rate combination of the current alternate farepath. In general, the likelihood of a stop can be represented by a rule associated with a rate combination. In a given fare path, one or more rate combinations may be possible, including the cheapest fare combination and the more expensive one or more rate combinations. The rules of charge of a rate combination may indicate the likelihood of a stop (i.e., a stop may be granted based on a charge rule applicable to a rate combination). Thus, detecting the probability of a stop associated with a rate combination is based at least in part on the rate rule of the rate combination. An alternative rate combinability detector 90 analyzes this rate combination of alternative fare paths to determine whether additional stops are available at more than one fare breakpoint, whether stop-over is possible at a point between charge break points , And / or whether the rate combination is still applicable (in accordance with any rule associated with the rate combination) in the allowed duration of such a break. Thus, according to an embodiment, an alternative rate combinability detector 90 determines whether additional stops are possible at a rate breakpoint of one or more alternative rate combinations of each alternative fare path based on the associated rule. For example, if the rules for alternative fare combinations require the traveler to be able to stay in a geographical location associated with a fare breakpoint for less than one day, then an alternative fare combination probability detector 90 may determine that alternative fare combinations are random And that it does not present a possible possibility of Likewise, if the rules associated with alternative fare combinations allow the traveler to stay in the geographic location of the fare breakpoint for two days, the alternative fare combination probability detector 90 determines whether alternative fare combinations are available for alternative travel advisories It can be decided to present a possibility.

이러한 분석에 기초하여, 대안적인 요금 조합 가능성 검출기(90)는 검출된 대안적인 여행 가능성, 및 가능한 스탑 지속기간 정보를, 확인된 요금 조합과 함께 항공편 엔진(92)으로 전달한다. 항공편 엔진(92)은 여행 제공자 및/또는 다른 여행 스케줄 유지 개체(예를 들어, 정부의 여행 규제 개체, 제 3 자 여행 스케줄 결합(aggregation) 서비스 등)에 의해 제공된 여행 스케줄에 적어도 부분적으로 기초하여 항공편 조합을 형성할 수 있다. 여행 스케줄은 여행 데이터베이스(48)에 저장될 수 있고, 여기서 여행 데이터베이스(48)는 일반적으로 이러한 여행 스케줄 정보(즉, 스케줄 데이터)를 저장하는 하나 이상의 데이터베이스를 나타낸다. 여행 스케줄 정보를 저장하는 하나 이상의 데이터베이스는 상이한 여행 제공자 및/또는 다른 여행 스케줄 유지 개체에 의해 별개로 유지될 수 있다. 항공편 조합은 이용가능성 데이터베이스(50)에 저장된 여행 제공자 및/또는 다른 여행 이용가능성 유지 개체에 의해 제공된 이용가능성 데이터에 적어도 부분적으로 더 기초할 수 있다. 도 2에서, 도시된 실시예는 항공편 엔진(92)을 포함하고 있으나, 본 발명의 실시예는 이로 제한되지 않는다. 하나를 초과하는 유형의 여행(예를 들어, 항공편, 철도 여행, 버스 여행, 및/또는 다른 유형의 여행)으로부터 여행 조합을 형성하는 여행 엔진이 사용될 수 있다. Based on this analysis, the alternative rate combination probability detector 90 delivers the detected alternative travel availability, and possible stop duration information, to the flight engine 92 with the confirmed rate combination. The flight engine 92 may be based at least in part on a travel schedule provided by a travel provider and / or other travel schedule maintenance entity (e.g., government travel regulatory entity, third party travel schedule aggregation service, etc.) Can form a flight combination. The travel schedule may be stored in the travel database 48, where the travel database 48 generally represents one or more databases that store such travel schedule information (i.e., schedule data). One or more databases that store travel schedule information may be maintained separately by different travel providers and / or other travel schedule maintenance entities. The flight combination may be based at least in part on the availability data provided by the travel provider stored in the availability database 50 and / or other travel availability maintenance entities. 2, the illustrated embodiment includes a flight engine 92, but embodiments of the present invention are not limited thereto. A travel engine may be used that forms a travel combination from more than one type of travel (e.g., flights, rail travel, bus travel, and / or other types of travel).

일부 실시예에서, 여행 데이터베이스(48) 및 이용가능성 데이터베이스(50)는 이용가능성 서버(12)에 의해 원격으로 관리될 수 있다. 이러한 실시예에서, 요금 검색 엔진(30)을 실행하는 여행 서버(10)는 요금 조합, 여행 요청, 및/또는 추출된 최소 요금 경로/대안적인 요금 경로에 적어도 부분적으로 기초하여 질문을 생성할 수 있다. 대안적인 요금 경로에 기초한 요금 조합에서, 추가적인/대안적인 스탑이 이러한 요금 조합(즉, 스탑 가능성)에 가능한 경우, 이 스탑 가능성, 포인트, 및 가능한 체류 지속기간과 관련된 데이터는 또한 질문에서 이용가능성 서버(12)에 제공된다. 질문은 이용가능성 서버(12)로 전달될 수 있고, 이 이용가능성 서버(12)는 여행 데이터베이스(48) 및/또는 이용가능성 데이터베이스(50)에 적어도 부분적으로 기초하여 요금 조합에 대해 유효한 여행 조합을 나타내는 대응하는 이용가능성 데이터를 포함하는 응답을 여행 서버(10)에 전달할 수 있다. 일부 실시예에서, (스탑 가능성에 대해 하나 이상의 가능한 체류 지속기간을 식별하는 데이터를 포함하는) 스탑 가능성에 대응하는 데이터가 이용가능성 서버에 제공될 때, 수신된 이용가능성 데이터는 이러한 스탑 가능성 데이터에 적어도 부분적으로 기초할 수 있다. 이들 실시예에서, 이용가능성 데이터는 스탑 가능성에 대응하는 조건과 매칭하는 여행 조합에만 대응할 수 있다. 그리하여, 일부 실시예에서, 추가적인 필터링이 스탑 가능성의 조건과 매칭하는 유효한 여행 조합만이 이용가능성 서버(12)로부터 수신되도록 이용가능성 서버(12)에 질문에 스탑 가능성 데이터를 포함하는 것에 의해 대안적인 여행 권고를 생성하기 전에 수행될 수 있다. 여행 데이터베이스(48)의 데이터 및/또는 이용가능성 데이터베이스(50)의 데이터에 적어도 부분적으로 기초하여, 항공편 엔진(92)은 표준 여행 권고 및 대안적인 여행 권고(94)를 생성한다. In some embodiments, the travel database 48 and the availability database 50 may be remotely managed by the availability server 12. In such an embodiment, the travel server 10 executing the toll search engine 30 can generate a question based at least in part on a toll combination, a travel request, and / or an extracted minimum toll path / alternative to toll path have. In a fare combination based on an alternative fare path, if the additional / alternative stop is possible for this rate combination (i.e., stop possibility), the data related to this stop probability, point, (Not shown). The query may be communicated to the availability server 12 which may determine a valid travel combination for the fare combination based at least in part on the travel database 48 and / To the travel server 10, a response including the corresponding availability data indicating the location of the destination. In some embodiments, when data corresponding to the likelihood of a stop (including data identifying one or more possible residence durations for a likelihood of a stop) is provided to the availability server, the received availability data may be associated with such stop probability data At least partially. In these embodiments, the availability data may correspond only to travel combinations that match conditions corresponding to stop possibilities. Thus, in some embodiments, by including stop probability data in the query to the availability server 12 so that only the valid travel combinations that additional filtering matches the conditions of the stop possibility are received from the availability server 12, Can be performed before generating the travel recommendation. Based at least in part on the data in the travel database 48 and / or the data in the availability database 50, the flight engine 92 generates standard travel recommendations and alternative travel recommendations 94.

도 3은 본 발명의 실시예에 따라 여행 서버(10)에 의해 수행되어 유저의 여행 요청에 기초하여 하나 이상의 여행 권고 및 하나 이상의 대안적인 여행 권고를 생성할 수 있는 동작 시퀀스를 도시하는 흐름도(100)를 제공한다. 여행 서버(10), 및 보다 구체적으로 여행 서버(10)의 프로세서(18)는 유저로부터 여행 요청을 수신한다(블록 102). 일반적으로, 유저는 클라이언트 디바이스(16)를 통해 여행 서버(10)와 인터페이싱하며 통신 네트워크(14)를 통해 여행 요청을 생성할 수 있다. 일부 실시예에서, 이러한 인터페이스는 웹 기반 인터페이스를 포함하고, 클라이언트 디바이스(16)는 여행 서버(10)에서 실행되는 웹 기반 인터페이스를 로딩하고 웹 인터페이스를 사용하여 데이터를 입력하여 여행 요청을 생성할 수 있다. 다른 실시예에서, 클라이언트 디바이스(16)는 전용 애플리케이션(62)을 실행하여 여행 서버(10)와 인터페이싱하며 여행 요청을 생성할 수 있고, 다른 실시예에서, 유저는 유저 인터페이스(22)를 사용하여 여행 서버(10)와 직접 인터페이싱할 수 있다. Figure 3 is a flow diagram 100 performed by the travel server 10 in accordance with an embodiment of the present invention to illustrate an operational sequence that may generate one or more travel advisories and one or more alternative travel advisories based on a user & ). The travel server 10, and more specifically the processor 18 of the travel server 10, receives a travel request from the user (block 102). Generally, a user may interface with the travel server 10 via the client device 16 and create a travel request via the communication network 14. [ In some embodiments, such an interface includes a web-based interface, the client device 16 may load the web-based interface running on the travel server 10 and enter data using the web interface to generate travel requests have. In another embodiment, the client device 16 may execute a dedicated application 62 to interface with the travel server 10 and generate a travel request, while in other embodiments, the user may use the user interface 22 And can directly interface with the travel server 10.

일반적으로, 생성된 여행 요청은 지리적 제약 및 시간적 제약을 포함할 수 있다. 예를 들어, 여행 요청은 지리적 제약으로 기점 지리적 위치와 목적지 지리적 위치 및 시간적 제약으로 원하는 여행 날짜를 포함할 수 있다. 여행 서버(10)는 최소 요금 경로 그래프 데이터베이스(34)로부터 여행 요청에 대응하는 최소 요금 경로를 결정하고 추출한다(블록 104). Generally, the generated travel request may include geographic constraints and temporal constraints. For example, a travel request can include a desired geographical location with destination constraints and a desired travel date with destination geographical location and temporal constraints. The travel server 10 determines and extracts the minimum fare path corresponding to the travel request from the minimum fare path graph database 34 (block 104).

여행 서버는 하나 이상의 추가적인 위치를 결정할 수 있다(블록 106). 논술된 바와 같이, 여행 서버(10)는 추가적인 위치 데이터베이스(36)에 질문하여 하나 이상의 추가적인 위치를 결정할 수 있다. 게다가, 추가적인 위치를 결정하는 것은 결정된 최소 요금 경로, 유저 데이터베이스(38)에 저장된 여행 요청에 및/또는 유저 프로파일에 나타내어진 유저 제공 정보(예를 들어, 최대 예산, 유저의 하나 이상의 선호되는 지리적 위치, 유저에 의해 선호되는 매력적인 지역의 하나 이상의 카테고리 등)에 적어도 부분적으로 기초할 수 있다. 나아가, 일부 실시예에서, 추가적인 위치를 결정하는 것은 여행 요청의 지리적 제약에 포함된 지리적 위치에 적어도 부분적으로 기초할 수 있다. 예를 들어, 여행 요청에서 원하는 목적지로 나타내어진 지리적 위치가 해변을 포함하는 경우, 하나 이상의 추가적인 위치는 이러한 추가적인 위치가 추가적인 위치 데이터베이스(36)에 나타내어진 해변을 포함하는지 여부에 기초하여 결정될 수 있다. The travel server may determine one or more additional locations (block 106). As noted, the travel server 10 may query the additional location database 36 to determine one or more additional locations. Further, determining the additional location may include determining the minimum fare path, the travel request stored in the user database 38, and / or the user provided information (e.g., the maximum budget, one or more preferred geographic locations , One or more categories of attractive areas preferred by the user, etc.). Further, in some embodiments, determining the additional location may be based, at least in part, on the geographic location included in the geographic constraints of the travel request. For example, if the geographic location represented by the desired destination in the travel request includes the beach, one or more additional locations may be determined based on whether such additional locations include the beaches shown in the additional location database 36 .

여행 서버(10)는 하나 이상의 필터 파라미터를 사용하여 최소 요금 경로 그래프 데이터베이스(34)의 요금 경로를 필터링하고, 필터 파라미터를 충족하는 최소 요금 경로 그래프의 하나 이상의 요금 경로를 대안적인 요금 경로로 추출한다(블록 108). 본 발명의 일부 실시예에서, 여행 서버는 결정된 추가적인 위치에 대응하는 적어도 하나의 추가적인 스탑을 포함하는 적어도 하나의 연관된 루트를 가지는 모든 요금 경로를 식별하는 것에 의해 최소 요금 경로 그래프 데이터베이스(34)의 요금 경로를 필터링할 수 있고, 이러한 실시예에서, 결정된 추가적인 위치는 필터 파라미터로 기능한다. The travel server 10 filters the fare path of the minimum toll path graph database 34 using one or more filter parameters and extracts one or more toll paths of the minimum toll path graph that satisfy the filter parameters to an alternative toll path (Block 108). In some embodiments of the present invention, the travel server may determine the rate of charge of the minimum fare path graph database 34 by identifying all fare paths having at least one associated route that includes at least one additional stop corresponding to the determined additional location The path may be filtered, and in this embodiment, the determined additional location functions as a filter parameter.

나아가, 일부 실시예에서, 여행 서버는 스탑 기준을 사용하여 최소 요금 경로 그래프 데이터베이스(34)의 요금 경로를 필터링할 수 있고, 여기서 스탑 기준은 필터 파라미터로 기능한다. 이러한 실시예에서, 여행 서버(10)는 스탑 기준을 초과하는 적어도 하나의 추가적인 스탑을 포함하는 적어도 하나의 연관된 루트를 가지는 요금 경로를 필터링한다. 스탑 기준은 대안적인 요금 경로가 초과하지 않는 최소 요금 경로와 연관된 값을 넘는 미리 한정된 값 및/또는 퍼센트일 수 있다. Further, in some embodiments, the travel server may filter the fare path of the minimum fare path graph database 34 using the stop criteria, where the stop criteria serves as a filter parameter. In this embodiment, the travel server 10 filters the toll path having at least one associated route that includes at least one additional stop exceeding the stop criteria. The stop criteria may be a predefined value and / or percentage that exceeds a value associated with a minimum toll path that an alternative toll path does not exceed.

예를 들어, 여행 요청에 대한 최소 요금 경로의 최고 값이 1000?이고, 스탑 기준이 최소 요금 경로의 최고 값을 10% 넘는 경우, 여행 서버(10)는 1100?을 넘는 값을 가지는 최소 요금 경로 그래프의 요금 경로를 대안적인 요금 경로로 추출하지 않을 수 있다. 유사하게, 스탑 기준은 모든 최소 요금 경로의 평균 값을 10% 넘는 것과 같은 퍼센트인 것으로 선택될 수 있다. 일부 실시예에서, 유저는 예산, 최소 요금 경로와 연관된 값을 넘는 금전 양, 및/또는 유저가 초과하기를 원치 않는 최소 요금 경로와 연관된 값을 넘는 퍼센트를 나타내는 것에 의해 유저 데이터베이스(38)에 저장된 여행 요청 및/또는 유저 프로파일에서 스탑 기준을 한정할 수 있다. 다른 실시예에서, 여행 예약 서비스 제공자 및/또는 하나 이상의 여행 제공자는 스탑 기준을 한정할 수 있다. For example, if the maximum value of the minimum fare path for a travel request is 1000? And the stop reference exceeds 10% of the minimum value of the minimum fare path, the travel server 10 transmits the minimum fare path having a value exceeding 1100? The fare path of the graph may not be extracted as an alternative fare path. Similarly, the stop criteria can be chosen to be the same percentage as the average value of all minimum fare paths exceeding 10%. In some embodiments, the user is stored in the user database 38 by indicating a percentage that is in excess of the value associated with the budget, the amount of money in excess of the value associated with the minimum fare path, and / or the minimum fare path that the user does not want to exceed. It is possible to limit the stop criteria in the travel request and / or the user profile. In another embodiment, the travel reservation service provider and / or the one or more travel providers may limit the stop criteria.

도 2에 대해 전술된 바와 같이, 여행 요청에 대응하는 최소 요금 경로 및 대안적인 요금 경로를 추출한 후, 여행 서버(10)는 추출된 최소 요금 경로에 기초하여 요금 조합을 형성하고 또한 추출된 대안적인 요금 경로(즉, 대안적인 요금 조합)에 기초하여 요금 조합을 형성한다(블록 110). 이 요금 조합은 분석되고 스탑 가능성이 식별된다(블록 112). 일부 실시예에서, 요금 조합은 식별된 스탑 가능성에 적어도 부분적으로 기초하여 필터링될 수 있다(블록 114). 예를 들어, 식별된 스탑 가능성을 포함하지 않는 임의의 대안적인 요금 조합은 폐기될 수 있다. 스케줄 및 이용가능성 데이터는 요금 조합에 대해 검색될 수 있고(블록 116)(즉, 이용가능성 서버(12)에 질문될 수 있다), 여기서 이러한 스케줄 및 이용가능성 데이터는 임의의 대안적인 요금 조합에 대해 식별된 스탑 가능성에 적어도 부분적으로 기초할 수 있다. 그리하여, 요금 조합에 대해 검색된 스케줄 및 이용가능성 데이터는 대안적인 요금 조합에 대해 검색된 스케줄 및 이용가능성 데이터를 필터링하여 식별된 스탑 가능성에 대응하는 스탑 가능성 데이터에 지정된 임의의 조건과 매칭하는 스케줄 및 이용가능성 데이터만을 포함하도록 제한될 수 있다. 여행 서버(10)는 요금 조합 및 검색된 스케줄 및 이용가능성 데이터에 기초하여 여행 권고 및 대안적인 여행 권고를 생성한다(블록 118). 여행 권고 및 대안적인 여행 권고는 유저로 전달되어 이에 의해 유저는 여러 권고를 리뷰하고 여행 권고 또는 대안적인 여행 권고를 선택할 수 있다. 2, after extracting the minimum fare path and the alternative fare path corresponding to the travel request, the travel server 10 forms a fare combination based on the extracted minimum fare path, Form a charge combination based on the charge path (i.e., alternative charge combination) (block 110). This rate combination is analyzed and a stop probability is identified (block 112). In some embodiments, the rate combination may be filtered based at least in part on the identified stop possibilities (block 114). For example, any alternative rate combination that does not include the identified stop probability may be discarded. The schedule and availability data may be retrieved for a rate combination (block 116) (i.e., it may be queried to the availability server 12), where such schedule and availability data may be retrieved for any alternative rate combination May be based at least in part on the identified stop possibilities. Thus, the schedules and availability data retrieved for the rate combination may be used to filter the retrieved schedule and availability data for alternative rate combinations to determine a schedule and availability that matches any conditions specified in the < RTI ID = 0.0 > May be limited to include only data. The travel server 10 generates trip advisories and alternative travel advisories based on the rate combination and the retrieved schedule and availability data (block 118). Travel advisories and alternative travel advisories are sent to the user so that the user can review the various advisories and select travel advisories or alternative travel advisories.

도 4는 여행 서버(10)에 의해 수행되어 최소 요금 경로 그래프 데이터베이스(34)의 요금 경로를 필터링하여 본 발명의 일부 실시예에 따라 여행 요청에 대해 대안적인 요금 경로를 결정할 수 있는 동작 시퀀스를 도시하는 흐름도(120)를 제공한다. 최소 요금 경로를 결정하여 최소 요금 경로 그래프 데이터베이스(34)로부터 추출한 후, 대안적인 요금 경로 추출 엔진(82)은 대안적인 요금 경로에 대한 최소 요금 경로 그래프 데이터베이스(34)로부터 요금 경로를 필터링하도록 초기화된다(블록 122). 여행 서버(10)의 프로세서(18)는 (즉, 지리적 제약의 적어도 하나의 지리적 위치를 포함하여) 여행 요청의 지리적 제약의 적어도 일부를 충족하는 최소 요금 경로로 추출되지 않은 최소 요금 경로 그래프 데이터베이스(34)의 요금 경로를 분석하고, 이 분석에 기초하여, 적어도 하나의 추가적인 스탑을 포함하는 적어도 하나의 연관된 루트를 포함하는 요금 경로를 식별한다(블록 124). 프로세서(18)는 스탑 기준을 충족하지 않는 요금 경로를 폐기하는 것에 의해 요금 경로의 수를 더 감소시키고(블록 126), 나머지 요금 경로는 대안적인 요금 경로로 추출된다(블록 128). 4 illustrates an operational sequence performed by the travel server 10 to filter the fare paths of the minimum fare path graph database 34 to determine alternative fare paths for travel requests in accordance with some embodiments of the present invention. Gt; 120 < / RTI > After determining the minimum fare path and extracting it from the minimum fare path graph database 34, the alternative fare path extraction engine 82 is initialized to filter the fare path from the minimum fare path graph database 34 for the alternative fare path (Block 122). The processor 18 of the travel server 10 may be configured to provide a minimum fare path graph database (e. G., At least one geographical location of geographic constraints) that is not extracted with a minimum fare path that meets at least some of the geographic constraints of the travel request 34), and based on this analysis, identifies a toll path comprising at least one associated route including at least one additional stop (block 124). The processor 18 further decrements the number of fare paths by discarding the fare paths that do not meet the stop criteria (block 126), and the remaining fare paths are extracted with alternative fare paths (block 128).

설명된 바와 같이, 도 2 및 도 3에 전술된 바와 같이, 여행 서버(10)는 추출된 대안적인 요금 경로에 적어도 부분적으로 기초하여 요금 조합을 형성할 수 있다. 이들 요금 조합은 대안적인 요금 가능성 검출기(90)를 실행하는 프로세서(18)에 의해 분석되어 추가적인 스탑에 대한 가능성(즉, 스탑 가능성)을 제공하는 추출된 대안적인 요금 경로에 대응하는 요금 조합을 식별할 수 있다. 그리하여, 프로세서(18)는 이러한 요금 조합이 스탑 가능성을 포함하는지 여부에 적어도 부분적으로 기초하여 처리될 요금 조합을 필터링한다. 일반적으로, 필터링된 요금 조합은 이에 기초하여 대안적인 여행 권고에 대한 가능성을 제공할 수 있다. As described above, the travel server 10, as described above in FIGS. 2 and 3, may form a charge combination based at least in part on the extracted alternative charge path. These rate combinations are analyzed by the processor 18 executing the alternate fareability detector 90 to identify a rate combination corresponding to the extracted alternative fare path that provides the possibility for an additional stop (i.e., a stop possibility) can do. Thus, the processor 18 filters the rate combination to be processed based at least in part on whether such rate combination includes a stop probability. Generally, the filtered rate combination can provide the possibility for an alternative travel recommendation based on this.

일반적으로, 대안적인 여행 권고는 추가적인 스탑을 포함하는 루트(즉, 중간 지리적 위치에서 스탑이 있는 루트에서 가격 결정)를 포함하는 모든 가능한 요금 경로를 형성하고 확인하여 최상의 요금에 대해 모든 가능한 체류 지속기간을 테스트하는 것에 의해 생성될 수 있다. 그러나, 모든 가능한 중간 지리적 위치에 대해 모든 그러한 요금 경로, 및 가능한 체류를 탐사하고 가격을 책정하는 것은 일반적으로 대안적인 여행 권고를 생성하는데 높은 처리 자원 비용(즉, 하나 이상의 프로세서 및 하나 이상의 연관된 하드웨어 자원을 사용하는 처리 시간의 양)을 초래한다. 이어서, 유저의 여행 요청에 응답하는 시간은 또한 대안적인 여행 권고들이 생성되는 경우 지수적으로(exponentially) 길어질 수 있다. Generally, alternative travel recommendations form and identify all possible fare paths, including routes that include additional stops (i.e., pricing at a route with stops in the mid-geographic location), to determine all possible staying durations ≪ / RTI > However, exploration and pricing of all such fare paths, and possible stays, for all possible intermediate geographic locations is generally associated with high processing resource costs (i. E., One or more processors and one or more associated hardware resources The amount of processing time to use). Then, the time to respond to a user's travel request may also be exponentially lengthened when alternative travel recommendations are generated.

또한 스탑 기준을 충족하는 적어도 하나의 루트에서 적어도 하나의 추가적인 스탑을 포함하는 최소 요금 경로 그래프 데이터베이스(34)로부터 요금 경로를 선택적으로 필터링하는 것에 의해, 본 발명의 실시예는 확인하고 형성될 대안적인 요금 경로의 수를 동적으로 제한한다. 확인하고 형성할 대안적인 요금 경로의 수를 동적으로 제한하는 것에 의해, 본 발명의 실시예는 모든 가능한 요금 경로를 확인하고 형성하는 것에 비해 대안적인 여행 권고를 생성하는데 처리 자원을 절감하고 효율적인 이득을 구현할 수 있다. By selectively filtering the toll path from the minimum toll path graph database 34 that also includes at least one additional stop in at least one route that meets the stop criteria, an embodiment of the present invention can identify an alternative Dynamically limits the number of fare paths. By dynamically restricting the number of alternative fare paths to identify and form, embodiments of the present invention reduce the processing resources in creating alternative travel recommendations relative to identifying and forming all possible fare paths, Can be implemented.

더욱이, 이러한 요금 경로가 추가적인 스탑을 포함하는 하나 이상의 루트를 포함하는지 여부에 적어도 부분적으로 기초하여 탐사할 요금 경로를 필터링하고, 최소 요금 지식 및 스탑 기준에 적어도 부분적으로 기초하여 요금 경로를 필터링하는 것에 의해, 본 발명의 실시예는 모든 요금 경로에 기초하여 대안적인 여행 권고를 생성할 것을 시도하는 것에 비해 더 짧은 시간에 더 많은 흥미있는/매력적인 대안적인 여행 권고를 리턴할 수 있다. 요금 검색 엔진(30)의 기능 아키텍처로 요금 지식(즉, 최소 요금 경로의 값)에 기초하여 필터링하면 종래의 여행 권고만을 생성하는 종래의 시스템과 연관된 처리 자원의 비용과 근접한 처리 자원 비용으로 여행 권고 및 대안적인 여행 권고를 동시에 생성할 수 있다. Moreover, filtering the toll path to be probed based at least in part on whether such a toll path includes one or more routes including additional stops, filtering the toll path based at least in part on the minimum toll knowledge and stop criteria , Embodiments of the present invention may return more interesting / attractive alternative travel recommendations in a shorter time than attempting to generate an alternative travel recommendation based on all fare paths. Filtering on the basis of the charge knowledge (i.e., the value of the minimum toll path) into the functional architecture of the toll search engine 30 results in a trip advisory with a processing resource cost that is close to the cost of the processing resources associated with conventional systems, And alternative travel recommendations at the same time.

게다가, 대안적인 요금 경로에 기초한 요금 조합은 요금 조합이 요금 조합과 연관된 요금의 규칙에 기초하여 스탑 가능성을 포함하는지 여부에 적어도 부분적으로 기초하여 필터링될 수 있다. 그리하여, 확인할 요금 조합의 수를 제한하면 대안적인 여행 솔루션을 생성하는데 필요한 스케줄 및 이용가능성 데이터를 제한할 수 있다. 확인할 요금 조합을 필터링하면 모든 가능한 요금 조합을 확인하는 것에 비해 처리 자원을 절감하고 효율 이득을 실현할 수 있다. 예를 들어, 대안적인 요금 조합 가능성 검출기(90)를 참조하면, 각 대안적인 요금 경로의 각 요금 조합은 식별된 스탑 가능성을 포함하는 요금 조합을 식별하도록 분석될 수 있다. 요금 조합이 스탑 가능성을 포함하지 않는 경우, 요금 조합은 폐기된다(즉, 더 처리/확인되지 않는다). 요금 조합이 스탑 가능성을 포함하는 경우, 이 요금 조합은 항공편 엔진(92)에 의해 처리된다. 특정 요금 조합은 스탑 가능성을 포함하지 않을 수 있으나, 이러한 요금 조합을 폐기하는 것은 일반적으로 대안적인 여행 권고를 생성하는 요금 조합을 폐기하는 것에 대응하고, 여행 권고(즉, 낮은 가격으로 결정된 여행 권고)에 대응하는 요금 조합을 선택하는 것과 관련이 없다. In addition, a rate combination based on an alternative fare path may be filtered based at least in part on whether the rate combination includes a stop probability based on a rule of the rate associated with the rate combination. Thus, limiting the number of charge combinations to be verified can limit the schedule and availability data needed to create an alternative travel solution. By filtering the rate combination to be verified, you can save processing resources and realize efficiency gains compared to identifying all possible rate combinations. For example, referring to alternative rate combination probability detector 90, each rate combination of each alternative fare path may be analyzed to identify a rate combination that includes the identified stop probability. If the rate combination does not include the possibility of a stop, the rate combination is discarded (i.e., no further processing / confirmation). If the rate combination includes the possibility of a stop, this rate combination is processed by the flight engine 92. A specific rate combination may not include the possibility of a stop, but discarding this rate combination generally corresponds to discarding the rate combination generating the alternative travel recommendation, and the travel recommendation (i. E., A travel recommendation determined at a lower price) Lt; RTI ID = 0.0 > a < / RTI >

나아가, 여행 서버는 스탑 가능성과 연관된 조건과 매칭하는 스케줄 및 이용가능성에 대해서만 여행 데이터베이스(48) 및 이용가능성 데이터베이스(50)에 질문하는 것으로 처리를 더 제한할 수 있다. 예를 들어, 스탑 가능성을 포함하는 요금 조합의 규칙이 추가적인 스탑에 대해 최대 2일을 허가하는 경우, 여행 데이터베이스(48) 및 이용가능성 데이터베이스는 추가적인 스탑에 대해 최대 2일과 매칭하는 스케줄 및 이용가능성에 대해서만 질문될 수 있다. Further, the travel server may further restrict processing by querying the travel database 48 and availability database 50 only for schedules and availability that match the conditions associated with stop possibilities. For example, if the rules of the rate combination, including the likelihood of a stop, allow up to two days for an additional stop, then the trip database 48 and the availability database may be updated on a schedule and availability matching up to two days for the additional stop Can only be asked.

탐사할 요금 경로를 필터링하고, 확인할 요금 조합을 필터링하고, 및/또는 요청할(즉, 질문할) 스케줄 및 이용가능성 데이터를 필터링하는 것에 의해, 본 발명의 실시예는 이러한 요금 조합에 대해 모든 가능한 요금 경로, 모든 가능한 요금 조합, 및/또는 모든 가능한 스케줄 및 이용가능성을 고려한 시스템에 비해 처리 자원을 절감하고 효율 이득을 실현할 수 있다. 예를 들어, 단기 체류를 포함하는 항공편 조합에 대해, 이러한 항공편 조합은 일반적으로 2.5xl01O 개의 잠재적인 권고로 예측될 수 있다. 지리적 위치에 추가적인 스탑을 추가하는 것에 의해, 이 스탑은 10개의 추가적인 인바운드 도시 및 10개의 아웃바운드 도시를 포함하고 추가적인 스탑이 1일 내지 3일에 대한 것인 경우, 권고의 잠재적인 총 개수는 여행 서버(10)에 의해 수행되는 가격 결정 동작의 개수 300만큼 곱해진 대략 7.5 x 1012로 예측될 수 있다. 탐사할 요금 경로를 필터링하고, 확인할 요금 조합을 필터링하고, 및/또는 대안적인 여행 권고에 대해 이용가능성 데이터베이스에 대한 질문을 필터링하는 본 발명의 실시예는 추가적인 잠재적인 권고 및 이에 전용된 처리 자원을 크게 감소시키는 기능을 한다. 이러한 처리 결과를 제한하면 여행 서버(10)에 의해 수행되는 가격 결정 동작을 감소시킬 수 있다. 설명된 바와 같이, 본 발명의 실시예는 추가적인 스탑이 하나 이상의 요금 브레이크 포인트에서 가능한지 여부에 적어도 부분적으로 기초하여 요금 조합을 형성하고 확인할 때 이 요금 조합을 더 필터링하여 대안적인 여행 권고를 생성하기 위해 분석할 요금 조합의 수를 더 제한할 수 있다. 요금 조합을 형성하고 확인할 때 이 요금 조합을 더 필터링하는 것에 의해, 본 발명의 실시예는 항공편 엔진(92)이 대안적인 여행/업셀 권고를 생성할 때 분석할 수 있는 요금 조합을 감소시킬 수 있다. By filtering the toll path to be explored, filtering the toll combination to be verified, and / or filtering the requested and / or requested schedule (s) and availability data, embodiments of the present invention can provide all possible charges It is possible to reduce the processing resources and realize the efficiency gain as compared with the system considering all possible schedules and availability, and / or all possible combinations of costs and / or routes. For example, for flight combinations that include short stays, these flight combinations can be generally predicted to be 2.5x10 10 potential recommendations. By adding an additional stop to the geographic location, this stop will include 10 additional inbound cities and 10 outbound cities, and if the additional stop is for 1 to 3 days, Can be estimated to be approximately 7.5 x 10 12 multiplied by the number 300 of pricing operations performed by the server 10. Embodiments of the present invention for filtering the toll path to be explored, filtering the rate combination to be verified, and / or filtering the query on the availability database for alternative travel recommendations may include additional potential recommendations and dedicated processing resources It greatly reduces the size of the image. Limiting this processing result can reduce the pricing operation performed by the travel server 10. As described, embodiments of the present invention may be used to further filter this rate combination to generate alternative travel advisories when formulating and verifying rate combinations based at least in part on whether additional stops are available at more than one fare breakpoint The number of charge combinations to be analyzed can be further limited. By further filtering this rate combination when forming and verifying the rate combination, embodiments of the present invention can reduce the rate combination that the flight engine 92 can analyze when generating an alternative travel / upsell recommendation .

도 5는 최소 요금 경로 그래프 데이터베이스(34)에 저장될 수 있고 본 발명의 실시예에 의해 분석되어 최소 요금 경로 및 대안적인 요금 경로를 추출할 수 있는 최소 요금 경로 그래프의 데이터를 나타내는 개략도를 제공한다. 도시된 바와 같이, 최소 요금 경로 그래프는 복수의 요금 브레이크 포인트(202) 및 이들 사이에 복수의 요금 경로(204)를 포함한다. 각 요금 경로(204)는 요금 경로와 연관된 최소 값을 나타내는 데이터 및 최소 요금 경로와 연관된 하나 이상의 여행 제공자(예를 들어, 항공사, 철도 여행사, 버스 여행사 등)를 식별하는 데이터를 포함한다. 나아가, 본 발명의 실시예에서, 최소 요금 경로 그래프는 복수의 지리적 위치(206) 및 이들 사이에 복수의 루트(208)를 포함한다. 루트(208)는 2개의 지리적 위치 사이에 여행 서비스를 제공하는 하나 이상의 여행 제공자를 나타내는 데이터를 포함한다. 5 provides a schematic diagram representing the data of the minimum toll path graph that can be stored in the minimum toll path graph database 34 and analyzed by an embodiment of the present invention to extract a minimum toll path and an alternative toll path . As shown, the minimum fare path graph includes a plurality of fare break points 202 and a plurality of fare paths 204 therebetween. Each fare path 204 includes data identifying the minimum value associated with the fare path and data identifying one or more travel providers (e.g., airlines, rail travel agencies, bus travel agencies, etc.) associated with the minimum fare path. Further, in an embodiment of the present invention, the minimum toll path graph includes a plurality of geographic locations 206 and a plurality of routes 208 therebetween. Route 208 includes data representing one or more travel providers that provide travel services between two geographic locations.

도 6은 NCE와 MIA 사이에 여행하는데 대한 최소 요금 경로(222, 224) 및 연관된 루트(226, 228, 230)의 예시적인 일례(220)를 제공한다. 도시된 바와 같이, 제 1 최소 요금 경로(222)는 이 연관된 여행 제공자 및 요금(236)(이 예에서, 최소 요금 경로는 "AF"(즉, AirFrance)를 나타낸다)이 최소 750 ?에 NCE와 MIA 사이에 여행 서비스를 제공하는 것을 나타내는 2개의 요금 브레이크 포인트(NCE(232) 및 MIA(234))를 포함한다. 루트(226, 228, 230)는 최소 요금 경로와 연관된 AF의 루트를 나타낸다. 제 2 최소 요금 경로(224)는 또한 BA(즉, British Airways)의 추가적인 루트(미도시)를 포함할 수 있다. 6 provides an exemplary illustration 220 of a minimum toll path 222, 224 and associated routes 226, 228, 230 for traveling between the NCE and the MIA. As shown, the first minimum toll path 222 is associated with the associated travel provider and the rate 236 (in this example, the minimum toll path represents "AF" And two fare breakpoints (NCE 232 and MIA 234) that represent providing travel services between the MIAs. Routes 226, 228, and 230 represent routes of AF associated with the minimum fare path. The second minimum fare path 224 may also include an additional route (not shown) of BA (i.e., British Airways).

각 루트(226, 228, 230)는 적어도 2개의 지리적 위치(238)를 포함하고, 루트(228, 230)와 같은 일부 루트는 중간 지리적 위치(240)를 포함할 수 있다. 본 발명의 실시예에서, 대안적인 요금 경로를 결정하는 것은 루트(226, 228, 230)의 중간 지리적 위치(240)가 추가적인 위치 데이터베이스(36)에 저장된 추가적인 위치에 대응하거나 및/또는 유저 데이터베이스(38)에 저장된 대응하는 유저 프로파일에 나타내어진 유저에 의해 선호되는 추가적인 위치에 대응하는지 여부에 적어도 부분적으로 기초할 수 있다. 본 발명의 일부 실시예에서, 대안적인 요금 경로를 결정하는 것은 요금 경로의 루트(226, 228, 230)의 중간 지리적 위치(240)가 원하는 카테고리(예를 들어, 카지노, 박물관, 해변, 테마 파크, 유리한 환율 등)와 연관되었는지 여부에 적어도 부분적으로 기초할 수 있다. 중간 지리적 위치가 원하는 카테고리와 연관되었는지 여부는 추가적인 위치 데이터베이스(36)에 저장된 데이터에 의해 나타내어질 수 있다. Each route 226,228 and 230 includes at least two geographic locations 238 and some routes such as routes 228 and 230 may include intermediate geographic locations 240. [ In an embodiment of the invention, the determination of an alternative toll path may be based on whether the intermediate geographic location 240 of the routes 226, 228, 230 corresponds to an additional location stored in the additional location database 36 and / 38 corresponding to the additional location preferred by the user represented in the corresponding user profile. In some embodiments of the invention, determining an alternative toll path determines that the middle geographic location 240 of the route 226, 228, 230 of the toll path is within a desired category (e.g., a casino, a museum, a beach, , Favorable exchange rate, etc.). ≪ / RTI > Whether the intermediate geographic location is associated with the desired category may be indicated by the data stored in the additional location database 36. [

도 7은 본 발명의 일부 실시예에 따라 요금 경로를 필터링하여 대안적인 요금 경로를 결정하는 것을 도시하는 일례(260)를 제공한다. 이 예에서, 여행 요청은 NCE로부터 MIA로의 여행을 포함한다. 도시된 바와 같이, 이 예의 추가적인 위치 데이터베이스(36)는 최소 요금 경로 그래프(200)의 요금 경로(268, 270, 272, 274)를 필터링하는데 사용될 수 있는 추가적인 지리적 위치(262, 264, 266)를 나타낸다. 각 요금 경로(268, 270, 272, 274)는 값 및 적어도 하나의 여행 제공자를 나타내는 연관된 데이터(275)를 포함한다. 이 예에서, 프랑스 파리(Paris, France)(PAR)(262); 캘리포니아주 샌프란시스코(San Francisco, California)(SFO) (264); 및 영국 런던(London, United Kingdom)(LON)(266)은 추가적인 위치 데이터베이스(36)에 포함된다. 그리하여, 이 예에서, 대안적인 요금 경로 추출 엔진(82)은 연관된 루트가 PAR(262), SFO(264), 및/또는 LON(266)에 추가적인 스탑을 포함하는지 여부에 기초하여 대안적인 요금 경로로 추출하기 위한 요금 경로를 선택할 수 있다. 이 예에서, 대안적인 요금 경로 추출 엔진(82)은 제 1 및 제 2 요금 경로(268, 270)가 PAR(262), SFO(264), 및/또는 LON(266)을 포함하는 적어도 하나의 루트를 포함하지 않으므로 제 1 요금 경로(268) 및 제 2 요금 경로(270)를 폐기한다. 대안적인 요금 경로 추출 엔진(82)은 제 3 요금 경로(272)가 중간 지리적 위치로 PAR(262)를 포함하는 루트(276)를 포함하기 때문에 및 제 3 요금 경로(272)가 스탑 기준(278)을 초과하지 않기 때문에, 추출할 제 3 요금 경로(272)를 선택하며, 여기서 스탑 기준은 요금 경로의 요금이 초과하지 않는 값을 나타낸다. 제 4 요금 경로(274)는 제 4 요금 경로와 연관된 요금 데이터(275)가 스탑 기준(278)을 초과하기 때문에 무시된다. FIG. 7 provides an example 260 that illustrates filtering an toll path to determine an alternative toll path in accordance with some embodiments of the present invention. In this example, the travel request includes a trip from the NCE to the MIA. As shown, the additional location database 36 of this example includes additional geographic locations 262, 264, 266 that can be used to filter the toll paths 268, 270, 272, 274 of the minimum toll path graph 200 . Each fare path 268, 270, 272, 274 includes a value and associated data 275 representing at least one travel provider. In this example, Paris, France (PAR) 262; San Francisco, California (SFO) 264; And London (United Kingdom) (LON) 266 are included in the additional location database 36. Thus, in this example, the alternative fare path extraction engine 82 may determine that the alternate fare path based on whether the associated route includes additional stops in the PAR 262, the SFO 264, and / or the LON 266. Thus, Can be selected. In this example, the alternative fare path extraction engine 82 may be configured such that the first and second fare paths 268, 270 are coupled to at least one of the PARs 262, the SFOs 264, and / or the LONs 266, The first toll path 268 and the second toll path 270 are discarded because they do not include the route. The alternative fare path extraction engine 82 may be configured to determine whether the third fare path 272 includes the route 276 including the PAR 262 and the third fare path 272 since the third fare path 272 includes the stop reference 278 ), It selects the third toll path 272 to be extracted, where the stop reference represents a value that does not exceed the toll of the toll path. The fourth toll path 274 is ignored because the toll data 275 associated with the fourth toll path exceeds the stop reference 278. [

본 명세서에 설명된 상세한 설명과 예는 연관된 루트에 포함된 스탑 기준 및 지리적 위치에 기초하여 요금 경로를 필터링하는 것을 설명하였으나, 본 발명은 이로 제한되지 않는다. 예를 들어, 유저는 여행 서버(10)에 의해 사용되어 예를 들어, 선호되는 여행 제공자, 선호되는 언어, 관심 영역(area)(예를 들어, 와인, 고급 식당, 해산물(seafood), 현대 예술(modern art), 골프, 수영 아키텍처(swimming architecture) 등) 등을 포함하는 요금 경로를 필터링할 수 있는 다른 선호도를 대응하는 유저 프로파일 및/또는 여행 요청에 나타낼 수 있다. 더욱이, 일부 실시예에서, 대안적인 여행 권고는 대안적인 목적지를 포함할 수 있다. Although the description and examples described herein have described filtering the fare path based on the stop criteria and geographic location included in the associated route, the present invention is not limited thereto. For example, a user may be used by the travel server 10 to provide a preferred travel provider, preferred language, area of interest (e.g., wine, fine dining, seafood, (e.g., modern art, golf, swimming architecture, etc.) and the like in a corresponding user profile and / or travel request. Moreover, in some embodiments, alternative travel recommendations may include alternative destinations.

도 8은 본 발명의 일부 실시예에 따라 클라이언트 디바이스(16)에서 유저 인터페이스(64)에 대한 예시적인 출력을 제공하며, 이에 의해 유저는 여행 서버와 인터페이싱하며 여행 권고 또는 대안적인 여행 권고를 리뷰 및/또는 선택할 수 있다. 이 예에 도시된 바와 같이, 여행 요청은 NCE로부터 MIA로의 항공 여행을 포함한다. 이 예에서, 출력을 통해 유저는 여행 권고(302)를 선택할 수 있고, 게다가, 이 출력은, 뉴올리언즈(New Orleans), 루이지애나(Louisiana)에서 1주 체류를 추가하는 것을 제안하고 대안적인 여행 권고(304)와 연관된 가격(306)을 제공하는 대안적인 여행 권고(304)를 포함한다. Figure 8 provides an exemplary output for the user interface 64 at the client device 16 in accordance with some embodiments of the present invention whereby a user interfaces with a travel server and reviews and reviews travel recommendations or alternative travel recommendations, / / Can be selected. As shown in this example, the travel request includes an air travel from the NCE to the MIA. In this example, the output allows the user to select a travel recommendation 302, and furthermore, this output suggests adding a one-week stay in New Orleans, Louisiana, And an alternative travel recommendation 304 that provides a price 306 associated with the service 304.

그리하여, 본 발명의 실시예에 따라, 여행 권고 및 대안적인 여행 권고는 유저의 여행 요청에 응답하여 생성될 수 있다. 본 발명의 실시예는 이 요금 경로가 연관된 루트에 추가적인 위치를 포함하는지 여부에 적어도 부분적으로 기초하여 최소 요금 경로 그래프 데이터베이스의 요금 경로를 선택적으로 필터링한다. 필터링된 요금 경로는 대안적인 요금 경로로 추출될 수 있고, 대안적인 여행 권고는 대안적인 요금 경로에 기초하여 생성될 수 있다. 그리하여, 본 발명의 실시예는 탐사할 요금 경로의 수를 동적으로 제한하여 유저에 관심있는/흥미있는 대안적인 여행 권고를 생성한다. Thus, in accordance with an embodiment of the present invention, travel recommendations and alternative travel recommendations may be generated in response to a user's travel request. Embodiments of the present invention selectively filter the toll path of the minimum toll path graph database based at least in part on whether the toll path includes an additional location in the associated route. The filtered fare paths can be extracted with alternative fare paths, and alternative travel recommendations can be generated based on alternative fare paths. Thus, embodiments of the present invention dynamically limit the number of fare paths to explore to generate alternative travel recommendations of interest to the user.

본 명세서에 설명된 애플리케이션 중 어느 것에 구현된 프로그램 코드는 여러 상이한 형태의 프로그램 제품으로 개별적으로 또는 집합적으로 분산될 수 있다. 특히, 프로그램 코드는 컴퓨터 판독가능한 저장 매체 및 통신 매체를 포함할 수 있는 컴퓨터 판독가능한 매체를 사용하여 분산될 수 있다. 고유하게 비-일시적인 것일 수 있는 컴퓨터 판독가능한 저장 매체는, 컴퓨터-판독가능한 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보를 저장하는 임의의 방법이나 기술로 구현된 휘발성 및 비휘발성, 및 이동식 및 비-이동식 유형적 매체를 포함할 수 있다. 컴퓨터 판독가능한 저장 매체는 RAM, ROM, 소거가능한 프로그래밍가능한 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그래밍가능한 판독 전용 메모리(EEPROM), 플래쉬 메모리 또는 다른 솔리드 스테이트 메모리 기술, 휴대용 콤팩트 디스크 판독 전용 메모리(CD-ROM), 또는 다른 광학적 저장매체, 자기 카세트, 자기 테이프, 자기 디스크 저장 또는 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨터에 의해 판독될 수 있는 임의의 다른 매체를 더 포함할 수 있다. 통신 매체는 컴퓨터 판독가능한 명령, 데이터 구조, 또는 다른 프로그램 모듈을 구현할 수 있다. 예로서, 및 비 제한적으로, 통신 매체는 유선 네트워크 또는 직접 유선 연결과 같은 유선 매체, 및 음향, RF, 적외선 등과 같은 무선 매체를 포함할 수 있다. 상기한 것들에서 임의의 조합은 또한 컴퓨터 판독가능한 매체로 포함되는 것으로 고려될 수 있다. The program code embodied in any of the applications described herein may be distributed individually or collectively into a plurality of different types of program products. In particular, the program code may be distributed using a computer readable medium, which may include a computer readable storage medium and a communication medium. The computer-readable storage medium, which may be uniquely non-volatile, is volatile and nonvolatile, implemented in any method or technology that stores information such as computer-readable instructions, data structures, program modules, or other data, Removable and non-removable tangible media. The computer readable storage medium may be any of a variety of storage devices including but not limited to RAM, ROM, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), flash memory or other solid state memory technology, CD-ROM), or any other optical storage medium, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, or any other medium that can be used to store the desired information and that can be read by a computer . The communication medium may embody computer readable instructions, data structures, or other program modules. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and the like. Any combination of the above can also be considered to be included as a computer-readable medium.

본 발명의 측면은 본 발명의 실시예에 따른 방법, 장치 또는 시스템 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 본 명세서에 설명된다. 흐름도 및/또는 블록도의 각 블록, 및 흐름도 및/또는 블록도에서 블록의 조합은 컴퓨터 프로그램 명령에 의해 구현될 수 있다. 컴퓨터 프로그램 명령은 일반 목적 컴퓨터, 특수 목적 컴퓨터, 또는 다른 프로그래밍가능한 데이터 처리 장치의 프로세서에 제공되어 컴퓨터 또는 다른 프로그래밍가능한 데이터 처리 장치의 프로세서를 통해 실행되는 명령이 흐름도 및/또는 블록도의 블록이나 블록들로 지정된 기능/동작을 구현하는 기계를 생성할 수 있다. Aspects of the present invention are described herein with reference to flowcharts and / or block diagrams of methods, apparatus, or systems and computer program products in accordance with embodiments of the present invention. Each block of the flowchart and / or block diagram, and combinations of blocks in the flowchart and / or block diagram, may be implemented by computer program instructions. The computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to cause instructions to be executed via a processor of the computer or other programmable data processing apparatus to be transmitted to a block or block Lt; RTI ID = 0.0 > function / action. ≪ / RTI >

이들 컴퓨터 프로그램 명령은 또한 컴퓨터, 다른 유형의 프로그래밍가능한 데이터 처리 장치, 또는 다른 디바이스를 컴퓨터 판독가능한 매체에 저장된 명령이 흐름도 및/또는 블록도의 블록 또는 블록들로 지정된 기능/동작을 구현하는 명령을 포함하는 제조 물품을 생성하는 특정 방식으로 기능하도록 할 수 있는 컴퓨터 판독가능한 매체에 저장될 수 있다. These computer program instructions may also be stored on a computer, other type of programmable data processing apparatus, or on a computer readable medium having stored thereon instructions that implement the functions / operations designated by the blocks and / or blocks of the flowchart illustrations and / May be stored in a computer-readable medium that may be enabled to function in a particular manner of producing an article of manufacture.

컴퓨터 프로그램 명령은 또한 컴퓨터, 다른 프로그래밍가능한 데이터 처리 장치, 또는 다른 디바이스에 로딩되어 컴퓨터, 다른 처리 장치, 또는 다른 디바이스에서 일련의 연산이 수행될 수 있게 하여 명령을 실행시 흐름도 및/또는 블록도에 블록 또는 블록들에 지정된 기능/동작을 구현하는 하나 이상의 프로세스를 제공하는 컴퓨터로 구현된 프로세스를 생성하게 할 수 있다. The computer program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to enable a series of operations to be performed on the computer, other processing device, or other device to cause the flow diagram and / To create a computer-implemented process that provides one or more processes that implement the functionality / behavior specified in the block or blocks.

본 명세서에 사용된 용어는 특정 실시예를 설명하려는 것일 뿐 본 발명의 실시예를 제한하려고 의도된 것이 아니다. 본 명세서에 사용된 바와 같이, 단어 형태의 단어는 문맥이 달리 언급하지 않는 한, 복수 형태의 의미를 포함하는 것으로 의도된다. 본 명세서에 사용된 "포함하는" 및/또는 "구비하는"이라는 단어는, 언급된 특징, 정수(integer), 단계, 동작, 요소, 및/또는 컴포넌트의 존재를 나타내는 것일 뿐, 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹이 하나 이상 존재하거나 또는 추가되는 것을 배제하는 것은 아닌 것으로 이해된다. 나아가, "포함하는", "구비하는", "가지는", '~이 있는', '포함된'이라는 용어가 본 상세한 설명이나 청구범위에 사용된 경우, 이들 용어는 "포함하는"이라는 용어와 유사한 방식으로 내포적인 의미인 것으로 의도된다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of the invention. As used herein, the words of a word form are intended to include plural forms unless the context dictates otherwise. The word " comprising "and / or" comprising "as used herein is intended to describe the presence of stated features, integers, steps, operations, elements, and / , Steps, operations, elements, components, and / or groups thereof are not intended to preclude the presence or addition of one or more other elements. Further, when the terms "comprising", "having", "having", "having", and "including" are used in this specification or claims, It is intended to be implicit in a similar way.

본 발명의 전부는 여러 실시예를 설명하는 것에 의해 예시되고 이들 실시예는 상당히 상세히 설명되었으나, 첨부된 청구범위를 이러한 상세사항으로 제한하려고 출원인이 의도한 것은 전혀 아니다. 추가적인 잇점 및 변형은 이 기술 분야에 통상의 지식을 가진 자에게는 용이하게 나타날 것이다. 그리하여 본 발명은 그 넓은 측면이 도시되고 설명된 특정 상세, 대표적인 장치 및 방법 및 예시된 형태로 제한되지 않는다. 따라서, 본 출원인의 일반적인 본 발명의 개념을 벗어남이 없이 이러한 상세사항에 변형이 이루어질 수 있다.While the invention has been described in considerable detail, it is not the intention of the applicant to limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those of ordinary skill in the art. Accordingly, the invention in its broader aspects is not limited to the specific details, representative apparatus, and method, and illustrative form shown and described. Accordingly, modifications may be made to these details without departing from the inventive general inventive concept thereof.

Claims (15)

하나 이상의 여행 권고 및 하나 이상의 대안적인 여행 권고를 생성하는 방법으로서,
지리적인 제약 및 시간적 제약을 포함하는 여행 요청을 여행 서버에서 수신하는 단계;
상기 여행 요청의 상기 지리적인 제약 및 상기 시간적 제약에 기초하여 연관된 값을 포함하는 하나 이상의 최소 요금 경로를 상기 여행 서버의 프로세서에서 결정하는 단계;
상기 하나 이상의 최소 요금 경로에 기초하여 하나 이상의 여행 권고를 생성하는 단계로서, 각 여행 권고는 연관된 가격을 포함하는, 하나 이상의 여행 권고를 생성하는 단계;
상기 하나 이상의 최소 요금 경로의 연관된 값에 적어도 부분적으로 기초하여 복수의 후보 요금 경로를 필터링하는 것에 의해 상기 연관된 값을 포함하는 하나 이상의 대안적인 요금 경로를 결정하는 단계; 및
상기 하나 이상의 대안적인 요금 경로에 적어도 부분적으로 기초하여 하나 이상의 대안적인 여행 권고를 생성하는 단계로서, 각 대안적인 여행 권고는 연관된 가격을 포함하는, 하나 이상의 대안적인 여행 권고를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
CLAIMS 1. A method of generating one or more travel recommendations and one or more alternative travel recommendations,
Receiving at the travel server a travel request that includes geographical constraints and temporal constraints;
Determining at the processor of the travel server one or more minimum fare paths comprising an associated value based on the geographic constraints of the travel request and the temporal constraints;
Generating one or more trip advisories based on the one or more minimum fare paths, wherein each trip advisor includes at least one associated price;
Determining one or more alternative fare paths comprising the associated value by filtering a plurality of candidate fare paths based at least in part on the associated value of the one or more minimum fare paths; And
Generating one or more alternative travel recommendations based at least in part on the one or more alternative fare paths, wherein each alternative travel recommendation includes generating one or more alternative travel recommendations that include an associated price ≪ / RTI >
제1항에 있어서,
각 대안적인 여행 권고는 상기 하나 이상의 여행 권고에 포함되지 않은 추가적인 스탑(stop)을 포함하고, 상기 방법은,
상기 여행 요청에 적어도 부분적으로 기초하여 상기 추가적인 스탑을 결정하는 단계를 더 포함하고,
상기 복수의 후보 요금 경로를 필터링하는 것은 각 후보 요금 경로가 상기 추가적인 스탑을 포함하는 하나 이상의 루트를 포함하는지 여부에 적어도 부분적으로 기초하는 것을 특징으로 하는 방법.
The method according to claim 1,
Each alternative travel recommendation includes an additional stop not included in the one or more travel recommendations,
Further comprising determining the additional stop based at least in part on the travel request,
Wherein filtering the plurality of candidate fare paths is based at least in part on whether each candidate fare path includes one or more routes including the additional stops.
제2항에 있어서,
상기 여행 요청에 적어도 부분적으로 기초하여 상기 추가적인 스탑을 결정하는 단계는,
상기 서버와 연관된 추가적인 위치 데이터베이스를 분석하는 단계를 포함하며,
상기 추가적인 위치 데이터베이스는 복수의 추가적인 후보 위치를 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
Wherein determining the additional stop based at least in part on the travel request comprises:
Analyzing the additional location database associated with the server,
Wherein the additional location database comprises a plurality of additional candidate locations.
제2항에 있어서,
상기 여행 요청에 적어도 부분적으로 기초하여 상기 추가적인 스탑을 결정하는 단계는,
상기 여행 서버와 연관된 유저 데이터베이스에 저장된 상기 여행 요청의 유저에 대응하는 유저 프로파일을 분석하는 단계를 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
Wherein determining the additional stop based at least in part on the travel request comprises:
And analyzing a user profile corresponding to a user of the travel request stored in a user database associated with the travel server.
제1항에 있어서, 최소 요금 경로 그래프 데이터베이스는 상기 복수의 후보 요금 경로 및 각 후보 요금 경로와 연관된 하나 이상의 루트를 저장하는 것을 특징으로 하는 방법.2. The method of claim 1, wherein the minimum fee path graph database stores the plurality of candidate fee paths and one or more routes associated with each of the candidate fee paths. 제5항에 있어서,
상기 하나 이상의 최소 요금 경로의 연관된 값에 적어도 부분적으로 기초하여 복수의 후보 요금 경로를 필터링하는 것에 의해 상기 연관된 값을 포함하는 상기 하나 이상의 대안적인 요금 경로를 결정하는 단계는,
상기 특정 후보 요금 경로의 루트가 추가적인 스탑을 포함하는지 여부에 적어도 부분적으로 기초하여 대안적인 요금 경로로서 상기 최소 요금 경로 그래프 데이터베이스로부터 특정 후보 요금 경로를 추출하는 단계를 포함하는 것을 특징으로 하는 방법.
6. The method of claim 5,
Wherein the determining the one or more alternative fare paths comprising the associated value by filtering a plurality of candidate fare paths based at least in part on an associated value of the one or more minimum fare paths,
And extracting a particular candidate fare path from the minimum fare path graph database as an alternative fare path based at least in part on whether the route of the particular candidate fare path includes an additional stop.
제1항에 있어서,
상기 하나 이상의 최소 요금 경로의 상기 연관된 값에 적어도 부분적으로 기초하여 상기 복수의 후보 요금 경로를 필터링하는 것에 의해 상기 하나 이상의 대안적인 요금 경로를 결정하는 단계는,
스탑 기준을 초과하는 연관된 값을 가지는 각 후보 요금 경로를 폐기하는 단계를 포함하며,
상기 스탑 기준은 상기 하나 이상의 최소 요금 경로의 상기 연관된 값에 적어도 부분적으로 기초하는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the determining the one or more alternative fare paths by filtering the plurality of candidate fare paths based at least in part on the associated value of the one or more minimum fare paths,
And discarding each candidate fare path having an associated value exceeding the stop criteria,
Wherein the stop criteria is based at least in part on the associated value of the at least one minimum toll path.
제7항에 있어서, 상기 하나 이상의 최소 요금 경로의 상기 연관된 값에 적어도 부분적으로 기초하여 상기 복수의 후보 요금 경로를 필터링하는 것에 의해 상기 하나 이상의 대안적인 요금 경로를 결정하는 단계는,
각 최소 요금 경로의 상기 연관된 값보다 더 낮은 연관된 값을 가지는 각 후보 요금 경로를 폐기하는 단계를 포함하며,
각 대안적인 여행 권고의 상기 가격은 임의의 여행 권고와 연관된 임의의 가격보다 더 높은 것을 특징으로 하는 방법.
8. The method of claim 7, wherein determining the one or more alternative fare paths by filtering the plurality of candidate fare paths based at least in part on the associated values of the one or more minimum fare paths comprises:
And discarding each candidate fare path having an associated value that is lower than the associated value of each minimum fare path,
Wherein said price of each alternative travel recommendation is higher than any price associated with any travel recommendation.
제1항에 있어서,
상기 하나 이상의 대안적인 요금 경로의 각 대안적인 요금 경로에 대해 하나 이상의 요금 조합을 형성하는 단계로서, 각 요금 조합은 하나 이상의 요금을 포함하는, 하나 이상의 요금 조합을 형성하는 단계;
각 대안적인 요금 경로의 상기 요금 조합을 분석하여 상기 요금 조합의 요금과 연관된 요금 규칙에 적어도 부분적으로 기초하여 상기 요금 조합에서 스탑 가능성을 식별하는 단계; 및
각 대안적인 요금 경로의 상기 요금 조합을 필터링하여 식별된 스탑 가능성을 포함하는 각 요금 조합을 선택하는 단계를 더 포함하며,
상기 하나 이상의 대안적인 여행 권고는 식별된 스탑 가능성을 포함하는 하나 이상의 선택된 요금 조합에 적어도 부분적으로 기초하는 것을 특징으로 하는 방법.
The method according to claim 1,
Forming one or more charge combinations for each alternative charge path of the one or more alternative charge paths, wherein each charge combination comprises one or more charges;
Analyzing the charge combination of each alternative charge path to identify a stop probability at the charge combination based at least in part on the charge rule associated with the charge of the charge combination; And
Further comprising filtering the rate combination of each alternative fare path to select each rate combination comprising the identified stop probability,
Wherein the one or more alternative travel recommendations are based at least in part on one or more selected rate combinations that include the identified stop possibilities.
하나 이상의 여행 권고 및 하나 이상의 대안적인 여행 권고를 생성하도록 구성된 여행 서버로서,
프로세서; 및
상기 프로세서에 의해 실행되도록 구성된 프로그램 코드를 포함하며,
상기 프로그램 코드는, 상기 프로세서로 하여금,
지리적인 제약 및 시간적 제약을 포함하는 여행 요청을 수신하는 동작,
상기 여행 요청의 상기 지리적인 제약 및 상기 시간적 제약에 기초하여 연관된 값을 포함하는 하나 이상의 최소 요금 경로를 결정하는 동작,
상기 하나 이상의 최소 요금 경로에 기초하여 연관된 가격을 포함하는 하나 이상의 여행 권고를 생성하는 동작,
상기 하나 이상의 최소 요금 경로의 연관된 값에 적어도 부분적으로 기초하여 복수의 후보 요금 경로를 필터링하는 것에 의해 상기 연관된 값을 포함하는 하나 이상의 대안적인 요금 경로를 결정하는 동작, 및
상기 하나 이상의 대안적인 요금 경로에 적어도 부분적으로 기초하여 연관된 가격을 포함하는 하나 이상의 대안적인 여행 권고를 생성하는 동작
을 수행하게 하는 것을 특징으로 하는 여행 서버.
A travel server configured to generate one or more trip advisories and one or more alternative travel advisories,
A processor; And
And program code configured to be executed by the processor,
The program code causing the processor to:
Receiving travel requests that include geographical constraints and temporal constraints,
Determining one or more minimum fare paths that include associated values based on the geographic constraints and the temporal constraints of the travel request;
Generating one or more trip advisories that include an associated price based on the one or more minimum fare paths,
Determining one or more alternative fare paths comprising the associated value by filtering a plurality of candidate fare paths based at least in part on the associated value of the one or more minimum fare paths; and
Generating one or more alternative travel recommendations that include an associated price based at least in part on the one or more alternative fare paths;
To the travel server.
제10항에 있어서,
각 대안적인 여행 권고는 임의의 여행 권고에 포함되지 않은 추가적인 스탑을 포함하며, 상기 프로그램 코드는 상기 프로세서로 하여금 상기 여행 요청에 적어도 부분적으로 기초하여 상기 추가적인 스탑을 결정하는 동작을 수행하도록 더 구성되고, 상기 복수의 후보 요금 경로는 각 후보 요금 경로가 상기 추가적인 스탑을 포함하는 하나 이상의 루트를 포함하는지 여부에 적어도 부분적으로 기초하여 필터링되는 것을 특징으로 하는 여행 서버.
11. The method of claim 10,
Each alternative travel recommendation includes an additional stop not included in any travel advisories and the program code is further configured to cause the processor to perform the operation of determining the additional stop based at least in part on the travel request Wherein the plurality of candidate fare paths are filtered based at least in part on whether each candidate fare path includes one or more routes including the additional stops.
제11항에 있어서,
상기 프로세서로 하여금 상기 여행 요청에 적어도 부분적으로 기초하여 상기 추가적인 스탑을 결정하는 동작을 수행하도록 구성된 상기 프로그램 코드는,
상기 프로세서로 하여금 상기 여행 서버와 연관된 추가적인 위치 데이터베이스를 분석하는 동작을 수행하도록 구성된 프로그램 코드를 포함하며, 상기 추가적인 위치 데이터베이스는 복수의 추가적인 후보 위치를 포함하는 것을 특징으로 하는 여행 서버.
12. The method of claim 11,
The program code configured to cause the processor to perform the step of determining the additional stop based at least in part on the travel request,
And program code configured to cause the processor to perform an operation of analyzing an additional location database associated with the travel server, wherein the additional location database includes a plurality of additional candidate locations.
제10항에 있어서,
상기 프로세서로 하여금 상기 하나 이상의 최소 요금 경로의 상기 연관된 요금에 적어도 부분적으로 기초하여 상기 복수의 후보 요금 경로를 필터링하는 것에 의해 상기 하나 이상의 대안적인 요금 경로를 결정하는 동작을 수행하도록 구성된 상기 프로그램 코드는,
상기 프로세서로 하여금 상기 특정 후보 요금 경로의 루트가 추가적인 스탑을 포함하는지 여부에 적어도 부분적으로 기초하여 대안적인 요금 경로로서 상기 여행 서버와 연관된 최소 요금 경로 그래프 데이터베이스로부터 특정 후보 요금 경로를 추출하는 동작을 수행하도록 구성된 프로그램 코드를 포함하며, 상기 최소 요금 경로 그래프 데이터베이스는 상기 복수의 후보 요금 경로를 저장하며, 상기 최소 요금 경로 그래프 데이터베이스는 각 후보 요금 경로와 연관된 값 및 하나 이상의 루트를 저장하는 것을 특징으로 하는 여행 서버.
11. The method of claim 10,
The program code configured to perform the operation of determining the at least one alternative fare path by filtering the plurality of candidate fare paths based at least in part on the associated fare of the at least one minimum fare path, ,
Performing an operation of extracting a specific candidate fare path from the minimum fare path graph database associated with the travel server as an alternative fare path based at least in part on whether the route of the particular candidate fare path includes an additional stop Wherein the minimum fee path graph database stores the plurality of candidate fee paths and the minimum fee path graph database stores values and one or more routes associated with each candidate fee path. Travel server.
제10항에 있어서,
상기 프로그램 코드는 상기 프로세서로 하여금 상기 하나 이상의 대안적인 요금 경로의 각 대안적인 요금 경로에 대해 하나 이상의 요금 조합을 형성하는 동작, 각 대안적인 요금 경로의 상기 요금 조합을 분석하여 각 요금 조합의 하나 이상의 요금과 연관된 요금 규칙에 적어도 부분적으로 기초하여 상기 요금 조합에서 임의의 스탑 가능성을 식별하는 동작, 및 각 대안적인 요금 경로의 상기 요금 조합을 필터링하여 식별된 스탑 가능성을 포함하는 각 요금 조합을 선택하는 동작을 수행하도록 더 구성된 것을 특징으로 하는 여행 서버.
11. The method of claim 10,
Wherein the program code causes the processor to: form one or more rate combinations for each alternative fare path of the one or more alternative charge paths; analyze the charge combination of each alternative charge path to determine one or more Identifying an arbitrary stop probability in the rate combination based at least in part on a rate rule associated with the rate, and filtering the rate combination in each alternative fare path to select each rate combination comprising the identified stop probability ≪ / RTI > wherein the travel server is further configured to perform operations.
프로그램 제품으로서,
컴퓨터 판독가능한 저장 매체; 및
상기 컴퓨터 판독가능한 저장 매체에 저장된 프로그램 코드를 포함하며,
상기 프로그램 코드는, 실행시에,
지리적인 제약 및 시간적 제약을 포함하는 여행 요청을 수신하는 동작,
상기 여행 요청의 상기 지리적인 제약 및 상기 시간적 제약에 기초하여 연관된 값을 포함하는 하나 이상의 최소 요금 경로를 결정하는 동작,
상기 하나 이상의 최소 요금 경로에 기초하여 연관된 가격을 포함하는 하나 이상의 여행 권고를 생성하는 동작,
상기 하나 이상의 최소 요금 경로의 연관된 값에 적어도 부분적으로 기초하여 복수의 후보 요금 경로를 필터링하는 것에 의해 상기 연관된 값을 포함하는 하나 이상의 대안적인 요금 경로를 결정하는 동작, 및
상기 하나 이상의 대안적인 요금 경로에 적어도 부분적으로 기초하여 연관된 가격을 포함하는 하나 이상의 대안적인 여행 권고를 생성하는 동작을 수행하도록 구성된 것을 특징으로 하는 프로그램 제품.
As a program product,
A computer readable storage medium; And
And program code stored in the computer readable storage medium,
The program code, when executed,
Receiving travel requests that include geographical constraints and temporal constraints,
Determining one or more minimum fare paths that include associated values based on the geographic constraints and the temporal constraints of the travel request;
Generating one or more trip advisories that include an associated price based on the one or more minimum fare paths,
Determining one or more alternative fare paths comprising the associated value by filtering a plurality of candidate fare paths based at least in part on the associated value of the one or more minimum fare paths; and
And generate one or more alternative travel recommendations that include an associated price based at least in part on the one or more alternative fare paths.
KR1020140029042A 2013-03-12 2014-03-12 Alternative travel recommendations KR20140111994A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/795,983 US20140278614A1 (en) 2013-03-12 2013-03-12 Alternative travel recommendations
US13/795,983 2013-03-12
EP13290049.9A EP2779036A1 (en) 2013-03-12 2013-03-12 Alternative travel recommendations
EP13290049.9 2013-03-12

Publications (1)

Publication Number Publication Date
KR20140111994A true KR20140111994A (en) 2014-09-22

Family

ID=51628594

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140029042A KR20140111994A (en) 2013-03-12 2014-03-12 Alternative travel recommendations

Country Status (3)

Country Link
KR (1) KR20140111994A (en)
AU (1) AU2014201380A1 (en)
CA (1) CA2845052A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470308A (en) * 2018-03-29 2018-08-31 百度在线网络技术(北京)有限公司 air travel information recommendation method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470308A (en) * 2018-03-29 2018-08-31 百度在线网络技术(北京)有限公司 air travel information recommendation method and device

Also Published As

Publication number Publication date
CA2845052A1 (en) 2014-09-12
AU2014201380A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
JP6129953B2 (en) Classification and ranking of travel-related search results
US20150012469A1 (en) Flight caching methods and apparatus
US20150292894A1 (en) Travel route
US20180232824A1 (en) Method and apparatus for searching for real estate property for sale or rent
US20150178642A1 (en) Dynamic travel planner
US20150294238A1 (en) Travel planning system
KR20150021447A (en) Contextualized travel offers
Varella et al. Dynamic pricing and market segmentation responses to low-cost carrier entry
US20140278614A1 (en) Alternative travel recommendations
JP6588445B2 (en) Location-based real-world location ranking
US20140343974A1 (en) Selecting a Subset of Transit Trips Based on Time and Duration
JP6012701B2 (en) Program and information processing apparatus
US20160125069A1 (en) Dynamic database object management
AU2015201731A1 (en) Media input reservation system
KR20160034223A (en) Corporate recognition for travel related services
KR20140111994A (en) Alternative travel recommendations
KR20150117209A (en) Travel planning system
JP5615777B2 (en) Route guidance device and route guidance method
ES2900101T3 (en) Product supply system and method
JP2006163670A (en) Visiting route searching system and program
EP2930673A1 (en) Travel planning system
EP2779036A1 (en) Alternative travel recommendations
US11085783B2 (en) Supplementing learning data to determine most probable path
US20150106137A1 (en) Enhanced Content Delivery Systems and Methods
EP3046054A1 (en) Travel inventory demand modeling

Legal Events

Date Code Title Description
A201 Request for examination
WITB Written withdrawal of application