KR101914319B1 - 반복된 검색 요청을 최적화하는 개선된 예약 시스템을 위한 방법 및 시스템 - Google Patents

반복된 검색 요청을 최적화하는 개선된 예약 시스템을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101914319B1
KR101914319B1 KR1020137028331A KR20137028331A KR101914319B1 KR 101914319 B1 KR101914319 B1 KR 101914319B1 KR 1020137028331 A KR1020137028331 A KR 1020137028331A KR 20137028331 A KR20137028331 A KR 20137028331A KR 101914319 B1 KR101914319 B1 KR 101914319B1
Authority
KR
South Korea
Prior art keywords
travel
request
query
process modules
module
Prior art date
Application number
KR1020137028331A
Other languages
English (en)
Other versions
KR20140025416A (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
Application filed by 아마데우스 에스.에이.에스. filed Critical 아마데우스 에스.에이.에스.
Publication of KR20140025416A publication Critical patent/KR20140025416A/ko
Application granted granted Critical
Publication of KR101914319B1 publication Critical patent/KR101914319B1/ko

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/02Reservations, e.g. for tickets, services or events
    • 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/0201Market modelling; Market analysis; Collecting market data
    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0611Request for offers or quotes

Abstract

본 발명의 바람직한 실시예에 따른 방법은 전역 분배 시스템(GDS)으로부터 여행 제안을 요청하는 최종 사용자에게 개선된 여행 요청 서비스를 가능하게 한다. 이것은 종래 기술로부터의 이전의 여행 요청보다 각각의 검색 파라미터에 대한 더 광범위한 범위를 포함하는 새로운 여행 요청을 사용한다. 새로운 여행 요청은 동일한 여행 요청에 있어서 많은 다른 범위의 파라미터를 포함하는 반면 종래 기술의 여행 요청은 각각의 검색 파라미터에 대한 각각의 다른 요청된 값에 대해 반복되어야 한다. 본 발명의 바람직한 실시예에 따른 방법은 개선된 여행 요청 서비스를 수행하도록 마스터 모듈과 워커 모듈의 2개 모듈의 조합을 제공한다.

Description

반복된 검색 요청을 최적화하는 개선된 예약 시스템을 위한 방법 및 시스템{METHOD AND SYSTEM FOR AN IMPROVED RESERVATION SYSTEM OPTIMIZING REPEATED SEARCH REQUESTS}
본 발명은 예약 시스템 분야에 관한 것으로, 더 구체적으로는 반복된 검색 요청을 최적화하는 대용량 계산 플랫폼을 위한 방법 및 시스템에 관한 것이다.
최첨단 예약 시스템은 예컨대 항공편 부킹 같은 쇼핑 비즈니스에 항공편 검색 애플리케이션을 제공하는 항공사 예약 시스템처럼 전용 전역 분배 시스템(Global Distribution System: GDS)에 보통 기반하고 있다. 클라이언트로부터 오는 항공편 검색 요청은 GDS 데이터로의 빠짐없는 검색을 요구한다. 이것은 다량의 계산과 관련되고 정해진 시간이 걸릴 수 있다. 이러한 지연을 최소화하기 위해, 클라이언트는 통상 약간의 자유도를 갖는다: 그들은 요청된 여행의 출발 및 도착 도시, 출국 및 귀국 일자, 운항 항공사, 객실 등급을 특정해야 한다. 이것은 시스템 성능 및 응답 시간에 이롭기는 하지만, 파라미터 선택에 있어서 더 광범위한 자유를 갖는 더 사용자 친화적인 상호작용을 틀림없이 고마워할 고객에게는 이상적이지 않다.
사용자 요청의 개선된 관리를 매우 고마워할 여행사 및 항공사에 의해 개발된 또 다른 비즈니스 도메인은 소위 예비-쇼핑이다. 이러한 용어로는 예약 시스템을 통해 데이터베이스에 대한 문의를 요구하지만 그 결과 반드시 적절한 부킹을 초래하지는 않는 그들 활동을 가리킨다. 이러한 활동은, 그들이 즉각적인 수익을 발생시키지는 않았더라도 가능한 고객의 장래 선택에 영향을 줄 수 있기 때문에, 항공사 또는 여행사에 극히 중요하다. 많은 자유도로 클라이언트의 질의에 영-지연 응답을 제공할 수 있는 툴(tool)이 있으면 매우 고마울 것이다. 일례로서, 양지 바른 곳에서, 2주간, 6월과 9월 사이, 파리 출발 항공편에 대한 정보를 요청하는 클라이언트를 가정해 보자. 표준 항공편 검색 애플리케이션으로는, 클라이언트가 정확한 도착지를 특정하고 소망의 도착지 및 가능한 일자 조합만큼 많은 요청을 수행할 필요가 있을 것이다.
또 다른 가능한 애플리케이션은 항공편 부킹을 단순 증가시키는 것보다는 수익성 증가를 목표로 하는 수익 관리 프로세스를 갖는 예약 시스템일 수 있다. 예: 항공사는 그들 제안된 항공편(예컨대, 모든 일자에 걸쳐 모든 도시)의 빠짐없는 모든 가격에 의존하는 컴퓨터 모델에 기반하여 그리고 부킹 예측에 기반하여 그들 가격을 적응시키기를 원할 수 있다. 최첨단 시스템으로는 이러한 활동이 매우 복잡하고 많은 자원과 오퍼레이터 노력이 들 것이다.
또 다른 가능한 애플리케이션은 통계적 목적으로, 즉, GDS에 제출된 업데이트에 따라 일인의 티켓 가격의 진화를 따르는 요금 분석이다. 예: 제출된 요금 및 규칙으로부터 계산된 여행 가격의 비교, 유사한 아이템에 대해 이전 가격과 현재 가격의 비교, 자신의 비용 견적과의 비교를 통해 제출된 가격을 평가한다.
위 애플리케이션 예들의 공통 특성은 아주 높은 볼륨의 항공편 추천이 관련될 필요성이다. 예컨대, 예비-쇼핑 애플리케이션은 클라이언트에게 매력적인 결과를 제공하기 위해 대형 패널의 솔루션을 필요로 하고, 수익 관리 애플리케이션은 그 동적 가격책정 정책이 이 모델에 의존하므로 항공편 추천의 빠짐없는 모든 리스트를 필요로 하는 한편, 요금 분석 애플리케이션은 가격 진화를 효과적으로 트래킹하기 위해 항공편 추천의 빠짐없는 모든 리스트를 필요로 한다.
쇼핑 비즈니스 도메인과는 달리, 그들 애플리케이션의 목적은 부킹이 아니다. 그와 같이, 항공편 추천을 발생시키는데 요구되는 계산은 각각의 클라이언트의 질의에 대해 수행될 필요는 없다: 누구는 응답 시간을 위해 응답 정확도와 맞바꿀 수 있다. 항공편 추천은 각각의 클라이언트의 질의에 대해 재계산될 필요가 없으므로, GDS에 의한 그들의 이전-계산은 수시간에 걸쳐 스프레드(spread)될 수 있다. 또한, 그들 애플리케이션은 이전-계산된 항공편 추천에 의존하므로, GDS는 그들 시스템에 피드(feed)하는데 필요한 데이터 프로세싱을 수시간에 걸쳐 스프레드할 수 있다.
위 애플리케이션을 구현하기 위한 알려져 있는 방법은 소위 트랜잭션 방식 외부 슈터(Transactional external shooter)이다. 그 예비-쇼핑 또는 수익 관리 시스템에 빠짐없이 모두 피드하기 위해 고객은 GDS에 의해 제공된 쇼핑 애플리케이션에 일련의 트랜잭션을 슈팅할 수 있다. 슈팅될 트랜잭션은 모든 날려진 출국 일자, 모든 날려진 마켓 등의 조합을 커버해야 한다. 그러한 방법은 일부 자명한 결점을 갖는다, 예컨대, 질의 수의 작은 증가가 조합 복잡도의 큰 증가를 초래하고, 그리하여 고객이 슈팅해야 하는 트랜잭션 수를 증가시킬 것이다. 전역 요청에 대응하는 슈팅된 트랜잭션은 각각의 트랜잭션에 대해 계산되어야 하는 공통 파트를 모은다: 그리하여 리던던트 체크, 리던던트 데이터 액세스 및 리던던트 프로세싱이 수행된다. 계산되는 데이터의 볼륨이 높을수록 이들 리던던트 동작의 비용은 (자원 소모의 관점에서) 더 비싸게 된다. 슈팅된 애플리케이션이 확장된 달력 또는 다중-옵션 선택을 제공한다 하더라도, 슈팅할 모든 트랜잭션에 관련된 전역 지식의 부족으로 인하여 최적화 기회는 여전히 부분적이다. 고객에 대해, 결과의 계산은 프로세싱될 시간을 더 많이 요구한다. GDS에 대해, 그것은 리던던시(redundancy)의 계산에 불필요한 자원 소모를 유발한다. 더욱 슈터는 GDS 외부에 있으므로, 자원 소모는 제어 범위 내에 있지 않다. 예비-쇼핑, 수익 관리 또는 요금 분석 시스템을 위한 데이터에 대한 필요성이 막대하므로, 예상치 않은 다량의 트래픽이 다른 고객과의 서비스 레벨 합의를 위태롭게 할 것이다.
또 다른 알려져 있는 기술은 쇼핑 트래픽이 시스템을 업데이트하도록 캡처될 수 있는 예비-쇼핑 시스템을 구현하는 것이다. 부킹 목적으로 클라이언트에 의해 요청된 어떠한 트랜잭션에 대해서라도, 그것이 예비-쇼핑 시스템의 요건과 매칭하면, 그 결과는 클라이언트에게도 그리고 예비-쇼핑 서버에게도 반환된다. 이러한 종래 기술 방법의 결점은 고객이 계산에 사용할 데이터에 대한 제어권을 갖지 않는다는 것이다. 그리하여 그것은 결과가 하나도 빠짐없는 것이라는 보장이 없으므로 수익 관리 시스템에 피드하는데 적용가능하지 않다. 더욱, 트래픽 캡처는 정적 접근법이고 특정 제약에 적응가능하지 않다. 예비-쇼핑 및 수익 관리 시스템은 단지 기존 제품의 특성으로부터 득을 볼 수 있을 뿐이다.
극심한 오퍼레이터 활동 및 허용가능하지 않은 자원 사용량을 필요로 함이 없이 위 설명의 데이터의 높은 볼륨의 효과적인 취급을 보장하기 위해, 질의의 쓸모없는 중복을 회피하는 대용량 검색을 수행할 수 있는 개선된 예약 시스템이 필요로 될 것이다.
미국 특허 제5,495,606호는 데이터베이스에서 검색 프로세스를 개선하기 위한 시스템을 개시하고 있다. 이 시스템은 기존 시스템의 프로세싱 시간을 개선하도록 종래 기술의 기존 시스템에 부가될 수 있다. 미국 특허 제5,495,606호는 모두 병렬로 작동할 수 있는 수개의 질의 프로세서 모듈을 포함하는 시스템을 개시하고 있다. 각각의 질의 프로세서 모듈은 마스터 질의 프로세서 및 슬레이브 프로세서를 포함한다. 마스터 질의 프로세서는 질의를 수신하고 그 응답을 최종-사용자에게 되돌려 보낸다. 마스터 질의 프로세서는 질의를 다중 분할 질의로 분할하도록 질의 스플리터를 포함하고 있다. 마스터 질의 프로세서는 또한 적절한 슬레이브 질의 프로세서상에서 분할 질의를 프로세싱하도록 스케줄러를 포함하고 있다. 그 후 각각의 슬레이브 질의 프로세서는 읽기 전용 구성으로 데이터베이스에 액세스하도록 각각의 분할 질의를 특정 데이터베이스 관리자 모듈에 의뢰할 수 있다. 결과로서, 모든 분할 질의는 각각의 질의 프로세서 모듈에 의해 병렬로 프로세싱될 수 있어 프로세싱 시간이 최적화된다. 데이터베이스가 읽기-전용 구성에 있으므로, 분할 질의의 프로세싱 동안에는 데이터베이스의 어떠한 업데이트도 일어날 수 없다; 이것은 또한 분할 질의의 프로세싱 시간을 개선한다. 미국 특허 제5,495,606호에 개시된 방법은 다중 프로세서를 갖는 매우 강력한 데이터 프로세싱 시스템을 요구하고 검색 요청의 가능한 중복 문제를 해결하지는 않는다: 시스템에 의해 수행되고 있는 요청의 최적화가 없으므로 동일 질의는 여러 번 반복될 수 있다.
본 발명의 목적은 종래 기술 시스템과 연관된 문제의 적어도 일부를 완화하는 것이다.
본 발명의 일 태양에 의하면, 예약 시스템에서 예비-쇼핑 여행 질의를 관리하기 위한 방법이 제공되는데, 예약 시스템은 복수의 파라미터에 따른 여행 이용가능성 및 요금에 관한 정보가 들어있는 복수의 여행 데이터베이스로의 액세스를 갖고, 각각의 여행 질의는 복수의 파라미터 중 선택된 파라미터와 각각 관련되는 선호도의 세트를 포함하고, 그 방법은: 사용자에 각각 연관되는 복수의 여행 질의를 수신하는 단계; 복수의 여행 질의를 사전-프로세싱하는 단계로서, 각각의 질의로부터 적어도 하나의 단순 요청 엘리먼트를 추출하는 단계, 복수의 요청 엘리먼트를 적어도 하나의 파라미터에 따라 분류하는 단계, 하나보다 많은 요청 엘리먼트에 동일한 적어도 하나의 파라미터에 대한 동일한 선호도가 들어있는 경우에, 중복된 요청 엘리먼트를 삭제하는 단계, 및 요청 엘리먼트를 정해진 기준에 따른 서브세트로 분할하는 단계를 포함하는 상기 사전-프로세싱하는 단계; 복수의 데이터베이스에 문의하는 요청 엘리먼트를 수행하는 프로세스 모듈에 요청 엘리먼트의 각각의 서브세트를 포워딩하는 단계; 및 프로세스 모듈로부터의 결과를 수집하고 각각의 여행 질의에 대해 사용자에게 응답을 발행하는 단계를 포함한다.
본 발명의 제2 태양에 의하면, 위에서 설명된 방법을 수행하도록 적응된 하나 이상의 컴포넌트를 포함하는 시스템이 제공된다.
본 발명의 추가적 실시예에 의하면, 컴퓨터 프로그램이 제공되는데, 상기 컴퓨터 프로그램이 컴퓨터 시스템상에서 실행될 때 위에서 설명된 방법을 수행하기 위한 명령어를 포함한다.
본 발명의 바람직한 실시예에 따른 방법은 전역 분배 시스템(GDS)으로부터 여행 제안을 요청하는 최종 사용자에게 개선된 여행 요청 서비스를 가능하게 한다. 이것은 종래 기술로부터의 이전의 여행 요청보다 각각의 검색 파라미터에 대한 더 광범위한 범위를 포함하는 새로운 여행 요청을 사용한다. 새로운 여행 요청은 동일한 여행 요청에 있어서 많은 다른 범위의 파라미터를 포함하는 반면 종래 기술의 여행 요청은 각각의 검색 파라미터에 대한 각각의 다른 요청된 값에 대해 반복되어야 한다.
본 발명의 바람직한 실시예에 따른 방법은 개선된 여행 요청 서비스를 수행하도록 마스터 모듈과 워커 모듈의 2개 모듈의 조합을 제공한다. 마스터 모듈을 모든 사용자로부터 여행 요청을 추출한다. 마스터 모듈은 여행 질의를 단위 요청으로 분할하고 중복된 여행 요청을 제거하여 최적화된 여행 요청을 획득한다. 그 후 마스터 모듈을 최적화된 여행 요청을 워커 모듈에 포워딩한다. 최적화된 여행 요청의 컨텐트에 기반하여, 워커 모듈은 요구된 계산을 위해 여행 프로세스 모듈, 이용가능성 프로세스 모듈 또는 요금 엔진 프로세스 모듈과 같은 대응하는 프로세스 모듈을 직접 실행시킨다. 결과로서, 워커 모듈을 최적화된 여행 요청에 기반한 검색의 결과를 제공한다. 그 후 워커 모듈은 최적화된 여행 요청의 결과를 마스터 모듈에 보낸다. 그 후 마스터 모듈은 최종-사용자에게 결과를 디스플레이한다.
본 발명의 바람직한 실시예에 따른 방법은 사용자로부터의 폭넓은 여행 질의를 프로세싱하기 위해 마스터 모듈과 워커 모듈의 2개 모듈의 구현에 기반한다. 마스터 모듈은 최적화된 여행 요청을 제공하도록 모든 사용자로부터의 여행 질의 모두를 분석한다. 워커 모듈은 최적화된 여행 요청을 프로세싱하고 특정 프로세스 모듈에 의뢰한다.
예비-쇼핑, 수익 관리 및 요금 분석 시스템 피드 목적의 데이터 계산 방법은 쇼핑 비즈니스(여행 솔루션 프로세스, 이용가능성 체크 프로세스, 요금 프로세서...)에서 이미 사용되는 다른 GDS 서브시스템과 상호작용한다.
본 발명의 바람직한 실시예로 획득된 이점 중 몇몇은 다음과 같다:
- 플랫폼에 의해 제공된 제품은 예비-쇼핑 및 수익 관리 시스템의 빠짐없고 일관성있는 피드를 가능하게 한다. 비즈니스 로직을 구현하는 비즈니스 규칙 및 응용성 플러그-인 덕분에, 본 발명은 고객을 위한 마켓에 고속의 시간을 가능하게 한다. GDS에 대해, 대용량으로 항공편 및 가격 계산용 애플리케이션의 새로운 유형을 지원하는 것이 간단하다.
- GDS에 대해, 데이터 계산의 최적화 덕분에, 자원 소모가 합리화되고 그리하여 비용이 감소된다.
- 더욱, 자원 제어가 가능하다. 그것은, 시스템의 한계에 도달함이 없이, 프로세싱할 볼륨 및 준수할 타임프레임에 따라 동적으로 할당될 수 있다.
이제 예의 방식으로 수반 도면을 참조할 것이다.
도 1은 본 발명의 일 실시예에 따라 예약 시스템을 위한 대용량 계산 플랫폼의 선도;
도 2는 본 발명의 바람직한 실시예의 방법을 지원하도록 적응된 일반적 컴퓨터 시스템의 선도;
도 3은 본 발명의 바람직한 실시예에 따른 방법의 모든 단계의 개관 및 본 발명의 바람직한 실시예를 구현하는 시스템의 소프트웨어 컴포넌트를 도시하는 도면;
도 4 내지 9는 방법의 다양한 단계의 개략도;
도 10은 본 발명의 일 실시예에 따라 방법 프로세스 단계의 흐름도.
도 1은 본 발명의 바람직한 실시예에 따라 대용량으로 항공편 및 가격의 계산에 전용인 서브시스템(101)을 도시하고 있다. 데이터 프로세싱은 부킹에 전용인 쇼핑 트래픽과는 분리되어 있다. 이러한 서브시스템은 부킹 애플리케이션에 사용되는 트랜잭션 대신에 높은 자유도로 질의를 관리한다. 자유도는, 예컨대, 일자 조합(연중 모든 출국 일자, 출국 일자 이후 수주까지의 모든 귀국 일자), 출발 및 도착에 대한 지리적 지역, 요청된 운항 항공사(요청된 도시 쌍에 대한 하나, 수개 또는 모든 가능한 운항 항공사), 모든 이용가능한 부킹 코드, 모든 가능한 여객 유형에 적용된다. 낮은-레이턴시가 그러한 데이터 계산에 의무적인 것은 아니므로, 타임프레임은 실시간과는 다를 수 있다. 그리하여 프로세싱 및 자원 소모는 더 긴 타임프레임에 걸쳐 스프레드될 수 있다. 결과의 반환은 또한 그 타임프레임에 걸쳐 스프레드된다. 본 발명의 바람직한 실시예에 있어서, 서브시스템은 자원이 데이터의 높은 볼륨에 대처하도록 동적으로 실체화될 수 있는 배치 모델에 따라 조직된다. 서브시스템은 전역 질의 분석에 기반하여 데이터 프로세싱 최적화를 수행한다. 또한 그것은 제네릭이고 확장가능하다. 서로 다른 비즈니스 로직이 서로 다른 고객 요건(예비-쇼핑, 수익 관리, 요금 분석)을 이행하도록 서브시스템에 용이하게 플러그 될 수 있다. 본 발명의 바람직한 실시예에 있어서, 서브시스템(101)은 하나 이상의 대용량 마스터(103) 및 복수의 대용량 워커(105)를 포함한다. 대용량 마스터(103)는 이후에 최적화된 요청으로 분해되는 질의를 전역적으로 분석한다. 요청은 그 후 대용량 워커 중 하나 이상에 의해 프로세싱되고 그 결과는 그 결과를 여행 솔루션 더하기 가격으로 어셈블링하는 기원 대용량 마스터에 피드백된다.
도 2를 참조하면, 시스템의 범용 컴퓨터(예컨대, 컴퓨터, 예약 서버, 대용량 마스터 서버, 대용량 워커 서버, 데이터베이스 관리 서브시스템, 라우터, 네트워크 서버)가 (250)으로 표시되어 있다. 컴퓨터(250)는 시스템 버스(253)에 병렬로 접속되어 있는 수개의 유닛에 의해 형성되어 있다. 상세하게는, 하나 이상의 마이크로프로세서(256)는 컴퓨터(250)의 동작을 제어한다; RAM(259)은 마이크로프로세서(256)에 의해 작업 메모리로 직접 사용되고, ROM(262)은 컴퓨터(250)의 부트스트랩을 위한 기본 코드를 저장한다. 주변 유닛은 (각자의 인터페이스에 의해) 로컬 버스(265) 주위로 클러스터링되어 있다. 구체적으로, 대용량 메모리는 CD-ROM(274)을 읽기 위한 드라이브(271) 및 하드-디스크(268)로 이루어진다. 더욱, 컴퓨터(250)는 입력 디바이스(277)(예컨대, 키보드 및 마우스), 및 출력 디바이스(280)(예컨대, 모니터 및 프린터)를 포함한다. 네트워크 인터페이스 카드(283)는 컴퓨터(250)를 네트워크에 접속하도록 사용된다. 브리지 유닛(286)은 로컬 버스(265)와 시스템 버스(253)를 인터페이싱한다. 각각의 마이크로프로세서(256) 및 브리지 유닛(286)은 정보 송신을 위해 시스템 버스(253)로의 액세스를 요청하는 마스터 에이전트로서 동작할 수 있다. 아비터(arbiter)(289)는 시스템 버스(253)로의 상호 배타와 액세스의 승인을 관리한다. 시스템이 다른 토폴로지를 갖거나 다른 네트워크에 기반하면, 유사한 고려가 적용된다. 대안으로, 컴퓨터는 여러 다른 구조를 갖거나, 균등한 유닛을 포함하거나, (PDA, 모바일 폰 등과 같이) 다른 데이터 프로세싱 엔티티로 이루어진다.
본 발명의 바람직한 실시예에 있어서 서브시스템은 쓸모없는 재-프로세싱을 회피하도록 질의 간 관련 리던던시를 식별하는 것을 목표로 하는 전역 분석을 수행한다. 리던던트 질의 파트의 병합은 자원 소모 관점에서 그리고 프로세싱 동안 데이터 액세스 관점에서 효율적이어야 한다. 서브시스템은 기능적 및 기술적 요건을 동시에 이행해야 한다: 그것은 한편으로는 고객과의 확립된 서비스 레벨 합의(시간 제약, 품질)을 준수해야 하고, 다른 한편으로는 운영 요건(자원 제어, 다른 컴포넌트에 대한 영향)을 준수해야 한다. 본 발명의 바람직한 실시예의 서브시스템은 2종류의 서버를 포함한다.
입력 및 출력을 최적으로 관리하는데 요구되는 전역 지능을 호스팅하는 대용량 마스터. 대용량 계산 플랫폼상에 플러그 되는 각각의 제품의 비즈니스 로직을 구현하는 대용량 워커.
도 3은 본 발명의 바람직한 실시예에 따른 프로세스의 흐름을 도시하고 있다. 전역 흐름은 병렬로 수행될 수 있는 다음의 6개의 단계/동작으로 분할될 수 있다:
- 분할(SPLIT), 여기서 대용량 마스터는 고객 질의로부터 모든 단위 요청을 추출한다;
- 최적화(OPTIMIZATION), 여기서 대용량 마스터는 스마트 요청 병합을 위해 전역적으로 분석한다;
- 배정(ASSIGNATION), 대용량 마스터는 요청을 대용량 워커에 스마트하게 라우팅한다;
- 계산(COMPUTATION), 여기서 대용량 워커는 최적화된 요청을 프로세싱한다;
- 스트리밍(STREAMING), 여기서 대용량 워커는 결과 볼륨을 관리한다;
- 취합(AGGREGATION), 여기서 대용량 마스터는 고객 질의에 따라 결과를 그룹화한다.
각각의 단계는 다음 문단에서 더 상세하게 설명된다.
도 4는 분할 동작, 즉, 고객에 의해 수신된 질의로부터 단위 요청의 추출의 개략적 표현을 도시하고 있다. 분할 동작은 질의를 단위 요청으로 변환하는 것으로 이루어진다. 단위 요청은 자유도 없는 트랜잭션의 논리적 등가이다: 일자, 지리, 여객, 항공사 정보마다 설정된다. 입력 관리 모듈(401)은 고객에 의해 포스팅된 질의 세트를 검출한다. 주어진 시간에 질의가 수신되지 않았으면, 그것은 또한 이전에 프로세싱된 질의 세트를 프로세싱하도록 결정한다. 이러한 특징으로, 고객은 미리 정해진 간격 내(예컨대 매일) 질의 세트를 포스팅하도록 강요받지 않는다. 입력 관리 단계는 또한 각각의 질의의 프로세싱의 빈도를 결정한다: 예컨대, 매일 한번 또는 여러 번. 입력 관리 모듈(401)은 또한 입력 볼륨을 프로세싱하도록 태스크 실체화(instantiation)를 결정한다. 다음의 단계들에 요구되는 자원은 질의 수에 따라 그리고 고객과의 확립된 프로세싱 타임프레임에 따라 평가된다. 이것은 제약된 지연으로 대규모의 데이터를 계산하는 것을 보증한다. 입력 체크 모듈(403)은 입력을 구문론적으로도 의미론적으로도 체크한다. 이러한 단계는 제품에 의존하므로, 서로 다른 입력 유형을 관리하도록 서로 다른 플러그-인이 부가된다. 새로운 제품 또는 새로운 제품 버전에 대해, 새로운 플러그-인이 부가된다. 추출 모듈(405)은 질의 내 고객에 의해 주어진 의미론적 정보로부터 단위 요청을 생성한다. 추출은 제품에도 그리고 고객에 의해 주어진 입력에도 의존한다. 따라서, 이러한 단계는 플러그 가능하다. 더욱, 비즈니스 규칙은 일부 고객 기능적 제약에 대해 적용될 수 있다. 이러한 콘텍스트에 적용되는 비즈니스 규칙의 일례는 국내 마켓에 대한 더 나은 이용가능성 품질(예컨대, 항공사에 대한 이용가능성 여론 조사) 요청일 수 있다.
도 5는 최적화 동작, 즉, 고객의 요청의 전역 분석의 개략적 표현을 도시하고 있다. 단위 요청이 통합되고 나면, 또 다른 단계는 계산 최적화 목적으로 병합하는 리던던트 파트를 돌본다. 이러한 동작은 아래에 상술되는 수개의 단계로 이루어진다. 전역 분석 모듈(501)은 단위 요청에 있어서 리던던시를 식별한다. 효율적 최적화를 위해, 이 단계는 그룹화될 가장 관련 있는 리던던시를 각각의 제품에 대해 정의하는 플러그-인에 기반한다. 병합 모듈(503)은 리던던시 프로세싱을 회피하도록 단위 요청을 그룹화한다. 수개의 스마트 병합이 가능하다. 그리하여 그룹화의 선택은 제품에 특정한 최적 규칙을 정의하는 플러그-인에도 그리고 고객 기능적 제약에 맞는 비즈니스 규칙에도 기반한다. 비즈니스 규칙 예: 요청 그룹화는 고객에 의해 날려진 타임프레임 프로세싱에 기반한다. 국내 마켓 요청은 사무소 폐점 시간 이후에 그리하여 마지막 가능한 수동 업데이트 이후에 프로세싱되어야 하는 반면, 다른 마켓 요청은 즉시 프로세싱될 수 있다. 정기적으로 프로세싱되는 질의에 대해, 발생된 결과의 중요한 파트는 각각의 프로세스에서 동일할 것이다. 휴리스틱 모듈(505)은 이전 프로세스에서 고객에게 반환된 것들과 동일한 결과를 발생시켜야 하는 요청을 통계적으로 식별한다. 이들 요청은 프로세싱되지 않을 것이다. 그리하여 불필요한 가격 계산은 감축된다. 이러한 모듈은 자원 소모를 아낀다. 그럼에도, 전역 결과에 대해 양호한 레벨의 정확도가 보증된다.
도 6은 배정 동작, 즉, 요청 프로세싱 구동의 개략적 표현을 도시하고 있다. 처음 병합된 요청이 발생되고 나면, 그것은 프로세싱된다. 이전에 설명된 단계와 병렬로 실행되는 배정 단계는 자원에 따라 대용량 워커로의 요청의 귀속을 구동한다. 이러한 동작은 아래에 설명되는 바와 같은 서로 다른 모듈에 의해 실현되는 수개의 단계로 이루어진다. 요청 제공자 모듈(601)은 대용량 워커에 보낼 요청을 그들이 발생되어 나왔던 질의에 따라 선택한다. 이 모듈의 목적은 시스템이 그 질의의 결과를 고객에게 점진적으로 반환할 수 있게 하는 것이다. 요청은 질의의 전역 결과를 계산하도록 선택된다. 이러한 질의의 결과가 계산되고 나면, 또 다른 질의에 관한 요청이 선택된다. 또 다른 선택 기준은 각각의 병합된 요청의 권한부여된 프로세싱 타임프레임이다. 예컨대, 일부 요청 프로세싱은 항공사 사무소 폐점 시간 이후로 연기된다. 따라서, 결과 계산에 사용되는 데이터에 대한 마지막 수동 업데이트가 고려된다. 가격책정 및 우선순위 모듈(603)은 대용량 워커 활동을 그 과부하를 회피함으로써 이용가능한 자원에 따라 통제한다. 그것은 또한 프로세싱될 요청 간 우선순위를 관리한다. 예컨대, 질의 세트가 고속 트랙 모드로 요청되었고 그리하여 표준 질의 세트보다 더 높은 우선순위로 프로세싱되어야 한다. 이들 질의의 계산에 더 많은 자원이 전용된다. 대용량 워커 타겟터 모듈(605)은 요청이 프로세싱되어야 하는 대용량 워커 팜을 선택한다. 이러한 선택은 기술적 관련(대용량 워커의 자원 이용가능성)에도 그리고 기능적 관련(대용량 워커 팜은 일부 마켓, 제품 또는 고객에 전용)에도 기반한다.
도 7은 요금 계산 동작, 즉, 비즈니스 로직의 개략적 표현을 도시하고 있다. 대용량 워커는 본 발명의 바람직한 실시예에 따른 방법에 의해 제공되는 모든 제품의 비즈니스 로직을 구현한다. 요청 디코딩 모듈(701)은 대용량 마스터에 의해 제공된 최적화된 요청을 디코딩한다. 그 후 프로세스는 GDS에 이미 존재하는 서로 다른 모듈을 호출함으로써 구동된다. 호출된 모듈 및 호출하는 시퀀스는 제품에 의존한다. 각각의 호출된 모듈은 각각의 제품에 특정한 응용성 플러그-인에 기반한다. 여행 프로세스 모듈(703)은 요청의 항공편 솔루션의 계산을 구현한다. 이것은 요청에서 주어진 일자, 지리 및 옵션 정보로부터 여행 조합을 식별하는 것을 담당하고 있다. 여행 프로세싱은 최신 데이터에 의존하고 있다. 이용가능성 프로세스 모듈(705)은 여행 솔루션 이용가능성의 체크를 구현한다. 더 나은 품질 레벨을 위해, 요청은 더 최신의 데이터에 의존하도록 항공사에 직접 수행될 수 있다. 요금 엔진 프로세스 모듈(707)은 요청에서 주어진 정보 및 옵션에 따라, 요청에 대한 가능한 솔루션의 가격 계산을 구현한다. 더 나은 솔루션만이 요청되면, 그것은 또한 최상만을 유지하도록 가격을 비교한다.
도 8은 스트리밍 동작, 즉, 원시 결과 관리의 개략적 표현을 도시하고 있다. 계산에 의해 발생된 막대한 볼륨을 관리하기 위해, 동작은 대용량 마스터와의 통신도 그리고 결과의 저장도 최적화하도록 요구된다. 아래에 상술되는 대용량 워커 상의 수개의 모듈은 이러한 최적화를 허용한다. 압축 모듈(801)은 결과의 사이즈를, 그리하여 대용량 워커와 대용량 마스터 간 통신 볼륨을 감소시킨다. 저장되는 데이터의 볼륨도 감소된다. 이러한 동작은 프로세싱 자원을 소모하므로, 그것은 통신 및 저장 자원 소모의 이득이 관련되는 경우에만 적용된다. 분할/버퍼링 모듈(803)은 또한 자원 소모 최적화를 허용한다. 발생된 결과의 결과 볼륨이 너무 높으면, 그것은 수개의 번들로 분할된다. 그리하여 대용량 마스터와의 통신 및 데이터 저장이 동시다발적으로 수행된다. 결과 볼륨이 너무 낮으면, 그것은 대용량 마스터에 의해 관리되도록 관련될 때까지 버퍼링된다. 관련 볼륨을 프로세싱하는 약간의 저장 모듈만이 요구되므로 통신은 더 효율적이다. 대용량 마스터 타겟터(805)는 대용량 마스터를 선택한다. 이러한 선택은 기술적 관련(대용량 마스터의 자원 이용가능성)에도 그리고 기능적 관련(대용량 마스터 팜은 일부 마켓, 제품 또는 고객에 전용)에도 기반한다.
도 9는 취합 동작, 즉, 고객 출력 관리의 개략적 표현을 도시하고 있다. 질의의 모든 결과가 발생되자마자 그것들은 취합되어 적절한 포맷 하에 고객에게 반환되어야 한다. 취합 결과 모듈(901)은 대용량 워커로부터의 원시 결과를 가격 지향 결과로 변환한다. 그 결과는 고객 질의에 따라 취합된다: 고객은 무질서한 결과로 말고 그 질문에 대한 대답을 수신한다. 예컨대, 고객이 질의에서 연중 모든 출국 일자에 대해 그리고 수개의 옵션으로 특정 마켓의 솔루션을 요청하였으면, 질의의 모든 출국 일자 및 모든 옵션에 대응하는 모든 솔루션이 회답에서 취합될 것이다. 플러그-인은 각각의 제품 및 각각의 고객에 대해 예상된 결과 포맷을 정의한다. 차등 모듈(903)은 이전의 프로세싱으로부터 변경된 결과를 선택하는 가격 패키징 옵션이다. 중요도가 떨어지는 결과의 새로운 업데이트만이 고객에게 반환된다. 플러그-인은 제품에 따라 차등의 기준을 정의한다. 이러한 옵션은 GDS와 고객 간 효율적 네트워크 전송을 허용한다. 더욱, 고객 시스템상의 활동은 감소되는데 더 적은 볼륨이 관리되어야 하기 때문이다. 압축 및 암호화 모듈(905)은 반환되는 볼륨을 감소시키고 결과 기밀성을 보장함으로써 효율적인 보안 네트워크 전송을 허용한다. 트리킹 반환 모듈(907)은 프로세싱된 질의의 전역 결과를 그룹화함으로써 정기적으로 전송한다. 그리하여 반환은 장시간 규모에 걸쳐 스프레드된다. 결과의 볼륨은 대용량이므로, 고객은 그 결과를 그 예비-쇼핑 또는 수익 관리 시스템에 통합하기 전에 프로세싱의 종료를 기다릴 수 없다. 그래서, 프로세싱의 시작 수분 후에, 첫 결과가 발생 및 반환된다. 전송은 프로세싱 타임프레임에 걸쳐 스프레드된다. 그리하여 결과는 고객 예비-쇼핑 또는 수익 관리 시스템으로 점진적으로 통합될 수 있다.
사용례
예 1: 예비-쇼핑 시스템을 위한 제품.
예비-쇼핑 시스템 피드에 전용인 제품을 고려해보자. 그것은, 특정된 도시 쌍 및 운항 항공사와 매칭하는 각각의 항공편 솔루션에 대해, 출국 일자 및 체류 기간의 모든 조합에 대해 적용가능한 최저 가격을 계산한다. 계산은 운임 발행자의 중개자를 통해 GDS에 자동으로 제출된 모든 데이터에 의존한다. 항공편 좌석이 이용가능한 경우에만 추천이 반환된다. 좌석 이용가능성 체크는 많은 자원을 소모하므로, 이러한 동작은 운항 항공사로서 고객의 파트너를 갖는 질의에 대해서만 수행된다. 단위 요청을 생성함에 있어서, 분할 모듈은, 비즈니스 규칙 덕분에, 요청에서 파트너를 식별할 수 있고 그들 요청을 플래그하여 "좌석 이용가능성 체크"을 가능하게 한다. 최적화 모듈은 여행 요청을 병합하여 일자 조합에 기인하는 리던던시를 방지한다. 병합 동작은 이 제품에 특정한 요금 엔진 프로세싱에 대한 최적화를 고려하는 플러그-인을 사용한다.
예 2: 수익 관리 시스템을 위한 제품
수익 관리 피드에 전용인 제품을 고려해보자. 그것은, 특정된 마켓과 매칭하는 각각의 항공편 솔루션에 대해, 출국 일자, 체류 시간, 예매 조건 및 예약 부킹 코드(이후로는 RBD)의 모든 조합에 대해 적용가능한 최저 가격을 계산한다. 동일한 RBD가 전 여행에 대해 사용되어야 한다. 계산은 운임 발행자의 중개자를 통해 GDS에 자동으로 제출된 모든 데이터에 의존한다. 다음 45일 내 출국 일자를 갖는 요청의 계산은 하루 중 사무소 개점 시간 동안 고객에 의해 GDS에 수동으로 제출된 모든 데이터에 의존해야 한다.
최적화 모듈은 여행 솔루션의 계산을 최적화하도록 일자 조합 및 예매를 번들링한다. 병합 때에, 그것은 다음의 45일 내 출국 일자를 갖는 요청을 분리하도록 비즈니스 규칙을 적용한다. 그들의 프로세싱은 GDS에 제출된 수동 업데이트를 고려하도록 고객의 사무소 폐점 후로 연기된다.
요금 계산 모듈은 항공편 솔루션에 대해 RBD를 반환하는 전용 여행 프로세스 플러그-인을 사용한다. 그것은 제품이 쇼핑 또는 예비-쇼핑 비즈니스에 전용이 아니므로 이용가능성 프로세스 플러그-인을 사용하지 않는다. 이 제품은 (일자, 예매 및 RBD의 조합에 기인하여) 최적화된 요청 당 수천 개의 결과를 발생시키므로, 스트리밍 모듈은 대용량 워커 상 원시 결과의 분할을 수행한다.
위에서 설명된 방법이 또한 도 10에 도시된 선도에 표현되어 있다. 그 방법은 흑색원(1001)에서 시작하고 그 후 시스템에 의해 여행 질의가 수신되는 박스(1003)로 진행한다. 그러한 질의는 예비-쇼핑 정보, 즉, 반드시 예약 완료를 목표로 하는 것은 아닌 여행 이용가능성, 요금, 시간 또는 일반적 정보와 같은 정보를 찾는 사용자에 의해 송신된다. 본 발명의 바람직한 실시예에 있어서, 질의를 수신하고 사용자 질의를 충족하도록 데이터베이스 조회를 수행하는 시스템은 실제 예약 시스템과는 별개이지만, 2개의 시스템(예비-쇼핑 및 예약)이 함께 통합될 수 있음을 당업자는 인식할 것이다. 여행 질의가 수신되고 나면, 제어는 질의의 사전-프로세싱이 수행되는 박스(1005)로 진행한다. 사전-프로세싱이 인보크(invoke)될 순간 또는 사전-프로세싱의 시작을 트리거링하는 이벤트는 수개의 인자에 의존할 수 있고 그것은 시스템 관리책임자에 의해 또는 단일 사용자에 의해 커스터마이징될 수도 있다: 예컨대, 사전-프로세싱은 사전-결정된 시간마다(하루의 끝에 또는 매시간) 행해질 수 있다; 그것은 질의의 중대 대량이 수신될 때 또는 최대 용량에 도달될 때 자동으로 수행될 수 있거나; 또는 다시 그것은 관리책임자에 의해 또는 사용자에 의해 요청될 수 있다. 본 발명의 바람직한 실시예에 의하면 여행 질의의 사전-프로세싱은 데이터베이스 조회 활동을 최적화하기 위해 단순 요청 엘리먼트(도 3에서는 "단위 요청"이라고도 부름)로 분해되는 질의의 전역 분석을 포함한다. 본 발명의 바람직한 실시예에 있어서, 각각의 질의는 하나 이상의 단순 요청 엘리먼트를 추출하는 대용량 마스터(사전-프로세스 모듈)에 의해 분석된다. 그 후 이들 단순 요청 엘리먼트는 중복을 회피하기 위해 재배열되고 도 5를 참조하여 위에서 설명된 바와 같이 수개의 인자 및 비즈니스 규칙도 고려하는 미리 정해진 기준에 따라 서브세트(도 3에서는 "최적화된 요청"이라고도 부름)로 조직(분할)된다. 이러한 사전-프로세싱은 모든 여행 질의가 사전-프로세싱될 때까지 계속된다(단계(1007)). 요청이 최적화되고 나면, 대용량 마스터는 각각의 서브세트를 올바른 대용량 워커에 배정하고 그 요청 서브세트를 올바른 대용량 워커에 포워딩한다(단계(1009)). 그 후 각각의 대용량 워커는 사용자의 요청, 예컨대, 단지 몇몇 예를 들면 여행 요금, 여행 이용가능성을 충족시키도록 데이터베이스에서 조회를 수행할 것이다. 그 후 조회의 결과는 수집되고 응답을 발행함으로써 여행 질의를 의뢰했던 사용자에게 제공되도록 대용량 마스터에 되돌려 송신된다(단계(1011)). 본 발명의 바람직한 실시예에 있어서, 결과는 사용자에게 제공되기 전에, 위에서 설명된 바와 같이, 대용량 마스터에 의해 취합된다. 그 후 프로세스는 단계(1013)에서 종료한다. 도 10을 참조하여 위에서 설명된 예에 있어서, 그 방법을 수행하는 시스템은 하나의 대용량 마스터 및 복수의 대용량 워커를 포함하고 있지만, 다른 구현, 예컨대, 하나보다 많은 대용량 마스터가 병렬로 작동하는 것 또는 하나의 단일 대용량 워커가 복수의 서브세트를 프로세싱하는 것도 가능하다. 또한, 대용량 워커 및 대용량 마스터는 반드시 서로 다른 물리적 머신에 대응하는 것은 아니고, 그들은 단순히 동일 시스템상에서 작동하는 애플리케이션일 수 있다.
개시의 범위로부터 벗어남이 없이 상기한 것에 대한 개조 및 수정이 이루어질 수 있음을 알아볼 것이다. 당연히, 로컬 및 특정 요건을 만족시키기 위해, 당업자는 위에서 설명된 솔루션에 많은 수정 및 개조를 적용할 수 있다. 특히, 본 발명이 바람직한 실시예를 참조하여 어느 정도 구체적으로 설명되었지만, 형태 및 상세에 있어서 다양한 생략, 대체 및 변경과 더불어 다른 실시예도 가능함을 이해하여야 한다; 더욱, 명시적으로, 본 발명의 어느 개시된 실시예와 연결하여 설명된 특정 엘리먼트 및/또는 방법 단계는 설계 선택의 일반적 사항으로서 어느 다른 실시예에 편입될 수도 있음이 의도된다.
(본 발명의 각각의 실시예를 구현하는데 사용될 수 있는) 프로그램이 여러 다른 방식으로 구조화되면, 또는 부가적 모듈 또는 기능이 제공되면 유사한 고려가 적용된다; 마찬가지로, 메모리 구조는 다른 유형일 수도 있고, 또는 균등한 개체(반드시 물리적 저장 매체로 구성되는 것은 아님)로 대체될 수도 있다. 더욱, 제안된 솔루션은 (다른 순서로라도, 유사한 또는 부가적 단계를 갖는) 균등한 방법으로 구현되는데 적합하다. 어떠한 경우에라도, 프로그램은 외부 또는 거주 소프트웨어, 펌웨어 또는 마이크로코드(객체 코드로든 소스 코드로든)와 같이 어떠한 데이터 프로세싱 시스템과도 연결되어 또는 그에 의해 사용되기에 적합한 어떠한 형태라도 취할 수 있다. 더욱, 프로그램은 어떠한 컴퓨터-사용가능한 매체상에라도 제공될 수 있다; 매체는 프로그램을 포함하거나, 저장하거나, 통신하거나, 전파하거나, 또는 전송하기에 적합한 어떠한 엘리먼트라도 될 수 있다. 그러한 매체의 예는 (프로그램이 사전-로딩될 수 있는) 고정 디스크, 착탈식 디스크, 테이프, 카드, 와이어, 파이버, 무선 커넥션, 네트워크, 브로드캐스트 웨이브 등이다; 예컨대, 매체는 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 유형일 수 있다.
어떠한 경우라도, 본 발명에 따른 솔루션은 (예컨대, 반도체 재료의 칩에 집적된) 하드웨어 구조로 또는 소프트웨어와 하드웨어의 조합으로 수행되는데 적합하다.

Claims (14)

  1. 예약 시스템에서 비-구속적 여행 질의에 따라 가격책정된(priced) 여행 솔루션들을 사전-계산하기 위한 방법으로서,
    상기 예약 시스템은 배치(batch) 모델에 따라 조직화되고 프로세스 모듈들을 포함하는 계산 서브시스템을 포함하고, 상기 예약 시스템은 복수의 파라미터들에 따른 여행 이용가능성 및 요금에 관한 정보를 포함하는 복수의 여행 데이터베이스들에 대한 액세스를 갖고, 각각의 여행 질의는 상기 복수의 파라미터들 중 선택된 파라미터와 각각이 관련되는 선호도의 세트를 포함하고,
    상기 방법은,
    사용자에 각각 연관되는 복수의 여행 질의들을 수신하는 단계;
    상기 복수의 여행 질의들을 사전-프로세싱하는 단계로서, 상기 사전-프로세싱하는 단계는:
    - 각각의 질의로부터 적어도 하나의 단순 요청 엘리먼트를 추출하는 단계와,
    - 복수의 요청 엘리먼트들을 적어도 하나의 파라미터에 따라 분류(sorting)하는 단계와,
    - 하나보다 많은 요청 엘리먼트가 동일한 적어도 하나의 파라미터에 대한 동일한 선호도를 포함하는 경우에, 중복된 요청 엘리먼트들을 삭제하는 단계와,
    - 이전 계산에서와 동일한 결과를 생성할 것 같은 요청 엘리먼트들을 통계적으로 식별하여 이들 요청 엘리먼트들을 추가로 프로세싱하지 않는 단계와, - 복수의 남은 요청 엘리먼트들을 미리 정해진 기준에 따라 서브세트들로 분할하는 단계
    를 포함하는 것인, 사전-프로세싱하는 단계;
    상기 복수의 여행 데이터베이스들에 문의하여 요청 엘리먼트를 실행하는 프로세스 모듈에 요청 엘리먼트들의 각각의 서브세트를 포워딩하는 단계; 및
    상기 프로세스 모듈들로부터 결과들을 수집하고 각각의 여행 질의에 대해 사용자들에게 응답을 발행하는 단계
    를 포함하는 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  2. 제1항에 있어서, 상기 프로세스 모듈들로부터 수집된 상기 결과들은, 상기 응답이 사용자들에게 발행되기 전에 취합(aggregate)되는 것인, 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  3. 제1항 또는 제2항에 있어서, 요청 엘리먼트들의 각각의 서브세트의 요청 엘리먼트를 실행하는 단계는, 복수의 프로세스 모듈들에 의해 병렬로 수행되는 것인, 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  4. 제3항에 있어서, 상기 복수의 남은 요청 엘리먼트들을 분할하는 단계는, 상기 미리 정해진 기준에 따라 상기 복수의 프로세스 모듈들 중 하나에 각각의 서브세트를 배정(assign)하는 단계를 포함하는 것인 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  5. 제1항 또는 제2항에 있어서, 상기 복수의 여행 질의들을 사전-프로세싱하는 단계는, 복수의 사전-프로세스 모듈들에 의해 병렬로 수행되는 것인, 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  6. 제5항에 있어서,
    각각의 요청 엘리먼트의 결과에 대해, 상기 프로세스 모듈들이 취합을 위하여 결과를 포워딩할 상기 복수의 사전-프로세스 모듈들 중 하나를 선택하고 상기 응답을 상기 사용자에게 발행하는 단계를 더 포함하는 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 프로세스 모듈들로부터 수집된 상기 결과들은, 상기 결과들의 데이터 볼륨이 주어진 임계치를 넘으면 수개의 번들들로 분할되는 것인, 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  8. 제1항 또는 제2항에 있어서,
    상기 프로세스 모듈들로부터 수집된 상기 결과들은, 버퍼링되고, 주어진 최소 데이터 볼륨에 도달한 경우에만 추가로 프로세싱되는 것인, 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  9. 제1항 또는 제2항에 있어서,
    상기 계산 서브시스템은 또한 차등 모듈을 포함하고,
    상기 방법은
    - 상기 차등 모듈이 이전 계산으로부터 변경된, 상기 프로세스 모듈들로부터 수집된 결과들을 선택하는 단계;
    - 상기 변경된 결과들만을 상기 사용자들에게 반환하는 단계를 더 포함하는 것인, 가격책정된 여행 솔루션들을 사전-계산하기 위한 방법.
  10. 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능한 저장 매체로서,
    상기 컴퓨터 프로그램은, 컴퓨터 상에서 상기 컴퓨터 프로그램이 실행될 때, 제1항 또는 제2항에 따른 방법의 단계들을 수행하기 위한 명령어들을 포함하는 것인 컴퓨터 판독 가능한 저장 매체.
  11. 삭제
  12. 예비-쇼핑 여행 질의들을 관리하기 위한 데이터 프로세싱 시스템으로서,
    상기 데이터 프로세싱 시스템은, 복수의 파라미터들에 따른 여행 이용가능성 및 요금에 관한 정보를 포함하는 복수의 여행 데이터베이스들에 대한 액세스를 갖고, 각각의 여행 질의는, 상기 복수의 파라미터들 중 선택된 파라미터에 각각 관련되는 선호도의 세트를 포함하며, 상기 시스템은 제1항 또는 제2항의 방법을 수행하도록 구성된 하나 이상의 컴포넌트들을 포함하는 것인 데이터 프로세싱 시스템.
  13. 삭제
  14. 삭제
KR1020137028331A 2011-05-02 2012-04-03 반복된 검색 요청을 최적화하는 개선된 예약 시스템을 위한 방법 및 시스템 KR101914319B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11305518A EP2521074A1 (en) 2011-05-02 2011-05-02 Method and system for an improved reservation system optimizing repeated search requests
EP11305518.0 2011-05-02
PCT/EP2012/056081 WO2012150102A1 (en) 2011-05-02 2012-04-03 Method and system for an improved reservation system optimizing repeated search requests

Publications (2)

Publication Number Publication Date
KR20140025416A KR20140025416A (ko) 2014-03-04
KR101914319B1 true KR101914319B1 (ko) 2018-11-01

Family

ID=44544108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137028331A KR101914319B1 (ko) 2011-05-02 2012-04-03 반복된 검색 요청을 최적화하는 개선된 예약 시스템을 위한 방법 및 시스템

Country Status (11)

Country Link
US (1) US20120284062A1 (ko)
EP (1) EP2521074A1 (ko)
JP (1) JP5841240B2 (ko)
KR (1) KR101914319B1 (ko)
CN (1) CN103493076B (ko)
AU (1) AU2012251861B2 (ko)
BR (1) BR112013024114A2 (ko)
CA (1) CA2828767A1 (ko)
SG (1) SG193899A1 (ko)
WO (1) WO2012150102A1 (ko)
ZA (1) ZA201306725B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2500856A1 (en) 2011-03-15 2012-09-19 Amadeus S.A.S. Method and system for providing a session involving a plurality of software applications
EP2500848A1 (en) 2011-03-15 2012-09-19 Amadeus S.A.S. Method and system for centralized reservation context management on multi-server reservation system
EP2541473A1 (en) 2011-06-27 2013-01-02 Amadeus S.A.S. Method and system for a pre-shopping reservation system with increased search efficiency
US9235620B2 (en) 2012-08-14 2016-01-12 Amadeus S.A.S. Updating cached database query results
US8615422B1 (en) * 2011-11-10 2013-12-24 American Airlines, Inc. Airline pricing system and method
EP2908255B1 (en) 2014-02-13 2018-07-25 Amadeus S.A.S. Increasing search result validity
US10354206B2 (en) * 2014-10-02 2019-07-16 Airbnb, Inc. Determining host preferences for accommodation listings
SG10201704879XA (en) * 2016-06-21 2018-01-30 Amadeus Sas Data warehouse for mining search query logs
CN106919638A (zh) * 2016-07-14 2017-07-04 阿里巴巴集团控股有限公司 数据持久化处理方法、装置及系统
US11341137B1 (en) 2020-12-04 2022-05-24 Amadeus S.A.S. Processing search requests

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003178096A (ja) * 2001-12-10 2003-06-27 Sony Corp 情報検索方法、ネットワークシステムおよび情報処理装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495606A (en) 1993-11-04 1996-02-27 International Business Machines Corporation System for parallel processing of complex read-only database queries using master and slave central processor complexes
US5778364A (en) * 1996-01-02 1998-07-07 Verity, Inc. Evaluation of content of a data set using multiple and/or complex queries
US5822747A (en) * 1996-08-23 1998-10-13 Tandem Computers, Inc. System and method for optimizing database queries
US5819255A (en) * 1996-08-23 1998-10-06 Tandem Computers, Inc. System and method for database query optimization
US6360205B1 (en) * 1998-10-30 2002-03-19 Trip.Com, Inc. Obtaining and utilizing commercial information
US6772150B1 (en) * 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
US7136821B1 (en) * 2000-04-18 2006-11-14 Neat Group Corporation Method and apparatus for the composition and sale of travel-oriented packages
JP2002073756A (ja) * 2000-08-29 2002-03-12 Casio Comput Co Ltd 旅行案内提供装置および旅行案内提供システム並びにそれらのプログラム記録媒体
US6801905B2 (en) * 2002-03-06 2004-10-05 Sybase, Inc. Database system providing methodology for property enforcement
US20040078251A1 (en) * 2002-10-16 2004-04-22 Demarcken Carl G. Dividing a travel query into sub-queries
US8078483B1 (en) * 2003-12-16 2011-12-13 Ticketmaster Systems and methods for queuing access to network resources
JP2006053779A (ja) * 2004-08-12 2006-02-23 Nippon Telegr & Teleph Corp <Ntt> 情報サービス支援装置および情報サービス支援方法
CA2602096A1 (en) * 2005-03-22 2009-09-28 Ticketmaster Apparatus and methods for providing queue messaging over a network
JP2007042011A (ja) * 2005-08-05 2007-02-15 Hitachi Ltd 業務システムの管理装置および方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003178096A (ja) * 2001-12-10 2003-06-27 Sony Corp 情報検索方法、ネットワークシステムおよび情報処理装置

Also Published As

Publication number Publication date
JP2014517382A (ja) 2014-07-17
US20120284062A1 (en) 2012-11-08
BR112013024114A2 (pt) 2016-12-13
AU2012251861A1 (en) 2013-04-11
SG193899A1 (en) 2013-11-29
WO2012150102A1 (en) 2012-11-08
CN103493076B (zh) 2017-10-24
CA2828767A1 (en) 2012-11-08
CN103493076A (zh) 2014-01-01
KR20140025416A (ko) 2014-03-04
AU2012251861B2 (en) 2015-01-22
ZA201306725B (en) 2014-05-28
EP2521074A1 (en) 2012-11-07
JP5841240B2 (ja) 2016-01-13

Similar Documents

Publication Publication Date Title
KR101914319B1 (ko) 반복된 검색 요청을 최적화하는 개선된 예약 시스템을 위한 방법 및 시스템
KR101916837B1 (ko) 일괄 지향 연산을 사용하는 데이터베이스 시스템
CA2834107C (en) Method and system for a pre-shopping reservation system with increased search efficiency
Ota et al. Stars: Simulating taxi ride sharing at scale
US9208504B2 (en) Using geographical location to determine element and area information to provide to a computing device
KR101874862B1 (ko) 서비스 비용을 위한 지능형 검색시스템 및 그 방법
Kumar et al. Design of optimal service scheduling based task allocation for improving CRM in cloud computing
Goes et al. Live-chat agent assignments to heterogeneous e-customers under imperfect classification
US20220391746A1 (en) Api optimizer using contextual analysis of interface data exchange
US11734586B2 (en) Detecting and improving content relevancy in large content management systems
CN113032530B (zh) 一种基于大数据采集分析的咨询服务系统
US11841857B2 (en) Query efficiency using merged columns
KR102432240B1 (ko) 사용자 등급을 결정하는 방법 및 장치
US20230177429A1 (en) Interactive option plan adjustment based on dynamic rules
Kwon et al. Co-scheduling Feature Updates and Queries for Feature Stores
Rajasekar et al. A Novel Multi-user Itinerary Planning for Traveling Services
CN117667914A (zh) 一种数据处理方法和云服务系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right