KR101699613B1 - Content exchange method and system - Google Patents

Content exchange method and system Download PDF

Info

Publication number
KR101699613B1
KR101699613B1 KR1020150076607A KR20150076607A KR101699613B1 KR 101699613 B1 KR101699613 B1 KR 101699613B1 KR 1020150076607 A KR1020150076607 A KR 1020150076607A KR 20150076607 A KR20150076607 A KR 20150076607A KR 101699613 B1 KR101699613 B1 KR 101699613B1
Authority
KR
South Korea
Prior art keywords
standard
data
standard data
content
record
Prior art date
Application number
KR1020150076607A
Other languages
Korean (ko)
Other versions
KR20150138824A (en
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 US14/292,188 external-priority patent/US10049329B2/en
Priority claimed from EP14305814.7A external-priority patent/EP2950246A1/en
Application filed by 아마데우스 에스.에이.에스. filed Critical 아마데우스 에스.에이.에스.
Publication of KR20150138824A publication Critical patent/KR20150138824A/en
Application granted granted Critical
Publication of KR101699613B1 publication Critical patent/KR101699613B1/en

Links

Images

Classifications

    • H04L67/2823
    • 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
    • G06F17/227
    • 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/10Office automation; Time management
    • 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
    • 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
    • H04L67/2838

Abstract

확장된 레코드 데이터 구조(9)를 포함하는 콘텐츠 관리 시스템(100)에서 콘텐츠를 교환하는 방법이 제공된다. 확장된 레코드 데이터 구조는 미리 정의된 타입을 갖는 표준 콘텐츠 엘리먼트와 관련된 레코드를 저장하기 위한 표준 레코드 데이터 구조(90) 및 비표준 콘텐츠 엘리먼트와 관련된 레코드를 저장하기 위한 비표준 레코드 데이터 구조(91)를 포함하고, 각각의 비표준 콘텐츠 엘리먼트는 자신을 목표 포맷으로 직렬화할 수 있는 기술적 객체이고 비표준 데이터 엘리먼트의 각각의 속성에 대한 키의 세트와 각각의 키 값의 세트를 포함한다. 각각의 비표준 데이터 엘리먼트는 비표준 데이터 엘리먼트의 속성의 구조를 정의하는 각각의 구조 설명 파일과 더 관련되고, 상기 방법은 데이터 교환 포맷(15)에 따른 데이터 교환 메시지를 사용하여 비표준 레코드 데이터 구조(91)로부터 클라이언트 디바이스로 비표준 데이터 엘리먼트를 송신하는 단계를 포함하고, 데이터 교환 메시지는 확장된 레코드 데이터 구조(9) 내의 비표준 데이터 엘리먼트를 포함하는 비표준 데이터 컨테이너와 관련된 구조 설명 파일 및 비표준 데이터 컨테이너 내에 포함된 속성 값으로부터 생성된다.A method of exchanging content in a content management system (100) including an extended record data structure (9) is provided. The extended record data structure includes a standard record data structure 90 for storing records associated with standard content elements having a predefined type and a non-standard record data structure 91 for storing records associated with non-standard content elements , Each non-standard content element is a technical object that can serialize itself into the target format and includes a set of keys and a set of respective key values for each attribute of the non-standard data element. Each non-standard data element is further associated with a respective structure description file that defines the structure of the attributes of the non-standard data elements, the method comprising the steps of: using a data exchange message according to the data exchange format (15) , The data exchange message comprising a structure description file associated with a non-standard data container containing a non-standard data element within the extended record data structure (9), and a property description file associated with the non-standard data container Lt; / RTI >

Figure R1020150076607
Figure R1020150076607

Description

콘텐츠 교환 방법 및 시스템{CONTENT EXCHANGE METHOD AND SYSTEM}{CONTENT EXCHANGE METHOD AND SYSTEM}

배경background

본 발명은 일반적으로 데이터 관리에 관한 것으로, 특히, 콘텐츠 관리 시스템의 콘텐츠를 교환하기 위한 방법, 시스템, 및 컴퓨터 프로그램 제품에 관한 것이다.The present invention relates generally to data management, and more particularly to a method, system, and computer program product for exchanging content in a content management system.

콘텐츠 관리 시스템은 전용 통신 네트워크를 통해 시스템에 연결된 하나 이상의 클라이언트들(예를 들면, 최종 소비자)에게 특정 콘텐츠에 대한 액세스를 제공할 수 있다.A content management system may provide access to particular content to one or more clients (e. G., End consumers) connected to the system via a dedicated communications network.

각 산업 영역에서의 엄청나게 많은 수의 콘텐츠 유통 공급자들의 출현과 함께, 각 소비자가 고유의 콘텐츠 관리 시스템을 통해 다수의 콘텐츠 공급자들에게 액세스할 수 있게 될 필요성이 존재한다.With the advent of an enormous number of content distribution providers in each industry area, there is a need for each consumer to be able to access multiple content providers through their own content management system.

예를 들면, 여행(travel) 산업에서, 여행 공급자 시스템(콘텐츠 공급자)의 세트로부터 획득된 콘텐츠를 다수의 여행 에이전시 시스템들(콘텐츠 소비자들)에게 분배하는 데 여행 관리 시스템이 사용될 수 있다. 지난 수십 년에 걸쳐 여행 산업은 비약적으로 성장했고 동일한 시간에 여행 산업에 의해 제공되는 서비스도 크게 변경되어 이제 이질적 콘텐츠를 포함하는 아주 다양한 서비스들이 최종 소비자에게 제공되고 있다. 또한, 여행 산업은 이제 여행 공급자에서부터 최종 소비자에 이르기까지 많은 플레이어들을, 이들 플레이어들 사이에서 관리되어야 하는 거대한 양의 데이터와 함께, 포함한다. 여행 공급자와 최종 유저 사이에서, GDS(Global Distribution Systems; 글로벌 디스트리뷰션 시스템)와 같은 여행 매개체(intermediary)는, 여행 에이전트가 전통적인 여행 공급자(항공노선(airline) 공급자)로부터 정보를 검색하거나(retrieve), 또는 최종 소비자와 전통적인 여행 공급자 사이에서 트랜잭션을 행하는 것을 허용하는 여행 관리 시스템을 제공한다.For example, in the travel industry, a travel management system may be used to distribute content obtained from a set of travel provider systems (content providers) to a plurality of travel agency systems (content consumers). Over the past several decades, the travel industry has grown tremendously, and at the same time, the services provided by the travel industry have changed significantly, and a wide variety of services are now available to end users, including heterogeneous content. In addition, the travel industry now includes many players, from travel suppliers to end consumers, along with a huge amount of data that needs to be managed among these players. An intermediary, such as Global Distribution Systems (GDS), between a travel provider and an end user, allows a travel agent to retrieve information from a traditional travel provider (airline provider) Or a transaction between a final consumer and a traditional travel provider.

순수하게 항공 운송 유통에 주로 초점을 맞추어 왔던 여행 에이전시 비즈니스 모델이 진화하고 있고 플레이어들은 이제 비항공 관련 콘텐츠 덕분에 더 높은 수익을 올리고 있다. 따라서, 새로운 종류의 여행 공급자로부터의 아주 중요하고 다양한 서비스는 목적지에서 제안된다.The travel agency business model, which has been purely focused on air freight distribution, is evolving and players are now making higher returns thanks to non-air related content. Thus, a very important and diverse service from a new kind of travel provider is offered at the destination.

이러한 대안적인 유통 채널의 매력을 통해, 여행 에이전시는 보통의 GDS 콘텐츠(예를 들면, 비행기 여행(flight) 또는 기차 여행(rail) 콘텐츠)뿐만 아니라 비GDS 콘텐츠(예를 들면, 호텔, 렌트카 등)를 점점 더 많이 유통하는 경향이 있다.Through the appeal of these alternative distribution channels, the travel agency can provide non-GDS content (eg hotels, rental cars, etc.) as well as normal GDS content (eg, flight or rail travel content) More and more.

그러나, 종래의 여행 관리 시스템은 비GDS 콘텐츠에 관련된 정보를 여행 에이전시에게 직접 제공할 적절한 수단을 제공하지 못한다.However, conventional travel management systems do not provide adequate means to provide information directly related to non-GDS content to travel agencies.

도 1에 도시된 바와 같이, 여행 관리 시스템(1)은, GDS 콘텐츠 공급자(40)로부터 직접 수신된 GDS 콘텐츠와 관련된 레코드를 저장하기 위한, "여객 예약 기록(Passenger Name Record)" 데이터 구조(900)로서 알려진 레코드 데이터 구조를 일반적으로 포함한다. 각각의 레코드(PNR)는 레코드 로케이터에 의해 데이터베이스(DB)에서 식별된다. 그 다음, PNR 레코드 로케이터는 GDS 콘텐츠에 액세스하여 그것을 여행 에이전트 또는 최종 소비자 시스템(60)과 같은 클라이언트 디바이스로 분배하는 데 사용될 수 있다.1, the travel management system 1 includes a "Passenger Name Record" data structure 900 for storing records related to GDS content received directly from the GDS content provider 40 ) ≪ / RTI > Each record (PNR) is identified in the database (DB) by the record locator. The PNR record locator can then be used to access the GDS content and distribute it to a travel agent or client device, such as the end consumer system 60. [

PNR(900) 데이터 구조는 주어진 승객 또는 함께 여행하는 승객들의 그룹과 관련된 여행 데이터와 관련하여 레코드 로케이터를 유지한다(레코드 로케이터는 확인 번호, 예약 번호, 확인 코드, 부킹 레퍼런스(booking reference) 등으로서 또한 알려져 있다). 예를 들면, 한 승객 또는 승객들의 그룹에 대한 예약이 행해지는 경우, 데이터 구조(900) 내에 PNR이 생성되고, 이 PNR은 레코드 로케이터 및 예약 내용에 대응하는 데이터(예를 들면, 도착 시간, 출발 시간 등과 같은 비행기 여행 데이터)를 포함한다.The PNR 900 data structure maintains a record locator in relation to the travel data associated with a given passenger or a group of passengers traveling together (the record locator may also be referred to as a confirmation number, a reservation number, a confirmation code, a booking reference, Lt; / RTI > For example, if a reservation is made for a passenger or a group of passengers, a PNR is generated in the data structure 900, and the PNR is generated based on data corresponding to the record locator and reservation content (e.g., Air travel data such as time, etc.).

현재로선, 여행 관리 시스템은 표준화 제약으로 인해 비GDS 여행 공급자(50)로부터 비GDS 콘텐츠를 직접 수신할 수 없다.Currently, the travel management system can not receive non-GDS content directly from non-GDS travel provider 50 due to standardization constraints.

실제, 여행 관리 시스템이 표준 여행 공급자(40)와 교환하는 방식은, AIRIMP(ATA/IATA Reservations Interline Message Procedures - Passenger)를 통해 정의된 IATA(International Air Transport Association; 국제 항공 운송 협회)에 의해 정의된 규칙에 종속된다. 구체적으로는, 표준 여행 공급자(40)와 여행 콘텐츠 관리 엔진(30) 사이에서 교환되는 메시지는 IATA 표준에 의해 정의되는 메시지 교환 포맷(TTY(Teletype format; 텔레타입 포맷))을 만족해야 하고 종래의 PNR(900)은 이러한 TTY 포맷으로 수신되는 콘텐츠만을 핸들링하도록 구성된다.In practice, the manner in which the travel management system exchanges with the standard travel provider 40 is defined by the International Air Transport Association (IATA) as defined by AIRIMP (ATA / IATA Reservations Interline Message Procedures - Passenger) It depends on the rule. Specifically, the messages exchanged between the standard travel provider 40 and the travel content management engine 30 must satisfy the message exchange format (TTY (Teletype format) defined by the IATA standard) PNR 900 is configured to handle only content received in this TTY format.

PNR(900)의 콘텐츠 및 레이아웃에 대해 보통 말하는 산업 표준은 정의되어 있지 않다. 그러나, 각각의 여행 관리 시스템(예를 들면, CRS(Computer Reservation System; 컴퓨터 예약 시스템))은, PNR의 콘텐츠 및 레이아웃에 대해, AIRIMP의 제약 및 특히 PNR 데이터를 AIRIMP 메시지로 쉽게 매핑할 필요성을 고려하여 자기 자신의 독점적 표준을 정의한다. 따라서, 상이한 여행 관리 시스템에 의해 유지되는 PNR(900)의 포맷과 데이터 콘텐츠에 관해 많은 유사성이 존재한다. 특히, 각각의 PNR 데이터 구조(900)는, 레코드 로케이터와 관련된 여행 데이터가, IATA에 의해 표준화된 GDS 콘텐츠(비행기 여행 데이터, 기차 여행 데이터 등)에 대응하는 다수의 미리 정의된 타입들을 만족해야 하는 그러한 구조이다.There is no defined industry standard for content and layout of the PNR 900 that is usually mentioned. However, each travel management system (e.g., Computer Reservation System (CRS)) considers the constraints of AIRIMP and, in particular, the need to easily map PNR data to AIRIMP messages, for PNR content and layout. And define their own proprietary standards. Thus, there are many similarities to the format and data content of the PNR 900 maintained by different travel management systems. In particular, each PNR data structure 900 indicates that the travel data associated with the record locator must satisfy a number of predefined types corresponding to GDS content (air travel data, train travel data, etc.) standardized by IATA Such a structure.

따라서, GDS 콘텐츠(예를 들면, 비행기 여행, 기차 여행 데이터)만이 IATA 메시지 교환 표준에 관련된 제약을 만족하는 정적 포맷으로 PNR 데이터 구조(900)에 유지될 수 있다. 그러므로, 비GDS 콘텐츠(차량 렌트, 제트 스키 등)에 대한 레코드를 생성하는 것은 불가능하다.Thus, only GDS content (e.g., air travel, train travel data) can be maintained in the PNR data structure 900 in a static format that meets the constraints associated with the IATA message exchange standard. Therefore, it is impossible to generate a record for non-GDS content (car rental, jet ski, etc.).

US2012259667호는 PNR(900)에 비GDS 콘텐츠를 적요(remark), 기타 또는 고스트 세그먼트의 형태로 저장하는 해결책을 제공한다. 그러나, 이러한 해결책은, 비표준 여행 공급자로부터 직접 수신되는 비GDS 콘텐츠를, 여행 관리 시스템이 다른 GDS 엘리먼트들 중 PNR(900)의 선두에 구조화된 방식으로 동적으로 그리고 원활하게(seamlessly) 저장하는 것을 허용하지 않는다.US2012259667 provides a solution for storing non-GDS content in PNR 900 in the form of a remark, guitar or ghost segment. This solution, however, permits the travel management system to dynamically and seamlessly store non-GDS content received directly from the non-standard travel provider in a structured manner at the head of the PNR 900, among other GDS elements I never do that.

따라서, 종래의 여행 관리 시스템(1)은 항공노선 공급자와 같은 GDS 여행 공급자로부터의 콘텐츠만을 핸들링한다. 종래의 여행 관리 시스템은 엄청나게 많은 수의 애플리케이션들을 사용하는 여행 콘텐츠 관리 엔진(30)을 포함하는데, 각각의 애플리케이션은 특정 여행 서비스(예를 들면, 부킹, 쇼핑, 가격책정(pricing) 등)에 관련된다. 주어진 여행 에이전트(Ai)(70)로부터의 요청에 응답하여, 여행 콘텐츠 관리 엔진(30)은 GDS 여행 공급자(40)로부터의 콘텐츠만을 검색하고, PNR(900) 내에 레코드를 생성하고, 이렇게 생성된 PNR 레코드의 표현(representation)을 여행 에이전트(Ai)에게 리턴할 수 있다.Thus, the conventional travel management system 1 only handles content from GDS travel providers such as airline route providers. Conventional travel management systems include a travel content management engine 30 that uses a tremendous number of applications, each of which is associated with a particular travel service (e.g., booking, shopping, pricing, etc.) do. In response to a request from a given travel agent (Ai) 70, the travel content management engine 30 retrieves only the content from the GDS travel provider 40, creates a record within the PNR 900, A representation of the PNR record may be returned to the travel agent Ai.

각각의 여행 에이전트는, 여행 에이전트가 비GDS 콘텐츠에 액세스할 필요가 있는 경우 비GDS 공급자(50)의 세트에 직접 연결되어야 하지만, 여행 관리 시스템(1)은 GDS 콘텐츠 공급자(40)에게만 직접 연결된다. 한편, 각각의 여행 에이전트는 비GDS 여행 콘텐츠(택시, 엔터테인먼트 티켓 등)를 획득하기 위해 여행 공급자(50)의 특정 세트에 직접 연결된다. 따라서, 여행 콘텐츠 관리 엔진(30)은 n개의 여행 서비스 플랫폼(각각의 여행 에이전트(A1 내지 An)에 대해 하나의 플랫폼(2.1, 2.2...2.i, 2.n))을 노출시키지만, 표준 여행 공급자(40)로부터의 표준 여행 콘텐츠(GDS 콘텐츠)만을 핸들링한다.Each travel agent should be directly connected to the set of non-GDS providers 50 if the travel agent needs to access non-GDS content, but the travel management system 1 is only directly connected to the GDS content provider 40 . On the other hand, each travel agent is directly connected to a specific set of travel providers 50 to obtain non-GDS travel content (taxi, entertainment tickets, etc.). Thus, the travel content management engine 30 exposes n travel service platforms (one platform 2.1, 2.2 ... 2.i, 2.n) for each travel agent A1 to An, Only the standard travel content (GDS content) from the standard travel provider 40 is handled.

따라서, 주어진 여행 에이전트(Ai)가 비표준 여행 공급자(50)로부터의 특정 콘텐츠(예를 들면, 박물관 티켓팅)를 원하는 경우, 이러한 콘텐츠는 여행 에이전트(Ai)에 의해 자체 구현되어야 한다. 이러한 자체 구현은 여행 에이전트에게는 특히 비용이 많이 들고 복잡하다.Thus, if a given travel agent Ai desires certain content (e.g., museum ticketing) from a non-standard travel provider 50, such content must be implemented by the travel agent Ai itself. This self-implementation is particularly costly and complex for travel agents.

또한, 종래의 방식에서, 여행 관리 시스템(100)은 PNR 콘텐츠를 로컬 포맷(소스 PNR 콘텐츠 포맷)으로 저장한다. 그러나, 여행 관리 시스템은 PNR로부터의 데이터를, PNR 데이터에 대해 그들 고유의 포맷(목표 PNR 콘텐츠 포맷)을 갖는 다른 외부 시스템들(여행 공급자, 여행 에이전시)과 교환하도록 요구받을 수도 있다. 따라서, 목표 시스템에 따라, 여행 관리 시스템의 PNR 레코드와 관련된 PNR 콘텐츠의 변환은 목표 PNR 콘텐츠 포맷으로 수행될 수 있다. 이러한 변환은 현재로선, 비용이 많이 들며 정적인 방식에서, 하드 코딩과 재컴파일링을 수반한다. 마찬가지로, 여행 관리 시스템(100) 내부의 PNR 콘텐츠를 사용하는 애플리케이션 플로우에서, PNR 콘텐츠를 수신하는 애플리케이션 플로우 내의 각각의 내부 애플리케이션(체인화된 애플리케이션)은, PNR 콘텐츠를 처리하기 위해 PNR 콘텐츠를 애플리케이션 포맷으로 변환하도록 요구받는다. 따라서, 체인의 각 애플리케이션은 PNR 콘텐츠를 기록 또는 판독할 수 있도록 PNR 콘텐츠를 디코딩하고, 타당성 검증하고 인코딩하도록 요구받으며, 이것은 손으로 코딩되는 컴포넌트를 필요로 하고 비용이 많이 든다.Further, in the conventional method, the travel management system 100 stores the PNR contents in a local format (source PNR content format). However, the travel management system may be required to exchange data from the PNR with other external systems (travel providers, travel agencies) having their own format (the target PNR content format) for the PNR data. Thus, depending on the target system, the conversion of the PNR content associated with the PNR record of the travel management system may be performed in the target PNR content format. These transformations now involve hard coding and recompiling in a costly and static manner. Likewise, in an application flow using PNR content within the travel management system 100, each internal application (chained application) in the application flow that receives the PNR content has the PNR content in application format It is requested to convert. Thus, each application in the chain is required to decode, validate and encode the PNR content so that it can record or read the PNR content, which requires the component to be manually coded and is costly.

따라서, 콘텐츠를 동적으로 그리고 원활하게 교환하기 위한 향상된 콘텐츠 관리 시스템, 방법 및 컴퓨터 프로그램 제품에 대한 필요성이 존재한다.Accordingly, there is a need for an improved content management system, method, and computer program product for dynamically and seamlessly exchanging content.

개요summary

이들 및 다른 문제를 해결하기 위해, 첨부된 독립 청구항 제 1항에서 정의되는 바와 같은 콘텐츠 관리 방법, 첨부된 청구항 제15항에서 정의되는 바와 같은 콘텐츠 관리 시스템이 제공된다. 양호한 실시형태는 종속 청구항에서 정의된다.To solve these and other problems, there is provided a content management method as defined in the appended independent claim claim 1, a content management system as defined in the appended claim 15. Preferred embodiments are defined in the dependent claims.

따라서, 본 발명의 다양한 실시형태에 따른 방법 및 시스템은, 복잡한 타당성 검증, 인코딩 및 디코딩 메커니즘들 및 복잡한 컴포넌트들 없이, 데이터를 교환하는 것을 가능하게 한다. 비표준 데이터 컨테이너의 값의 타당성 검증은 비표준 데이터 컨테이너 객체에 의해 표현되는 데이터 엘리먼트의 생성 및 수정시에만 사용될 수도 있다. 따라서, 키와 관련된 데이터 엘리먼트의 타당성을 다시 검증하는 데 판독 프로세스는 불필요하다. Thus, the method and system according to various embodiments of the present invention make it possible to exchange data without complex validation, encoding and decoding mechanisms and complex components. Validation of values of non-standard data containers may only be used when creating and modifying data elements represented by non-standard data container objects. Thus, the read process is unnecessary in re-validating the validity of the data element associated with the key.

본 발명의 추가 이점은 도면 및 상세한 설명의 검토시 당업자에게 명확해질 것이다. 임의의 추가적인 이점이 본원에 통합되어야 한다는 것이 의도된다.Additional advantages of the present invention will become apparent to those skilled in the art upon review of the drawings and detailed description. It is contemplated that any additional advantages should be incorporated herein.

본 명세서에 통합되며 그 일부를 구성하는 첨부의 도면은, 본 발명의 다양한 실시형태를 예시하며, 위에서 주어진 본 발명의 일반적인 설명, 및 하기에 주어지는 실시형태의 상세한 설명과 함께, 본 발명의 실시형태를 설명하는 데 이바지한다.
도 1은 종래기술에 따른 종래의 콘텐츠 관리 시스템의 개략도이다;
도 2는 네트워크를 통해 연결된 복수의 컴퓨팅 시스템들을 포함하는 소정의 실시형태에 따른 콘텐츠 관리 시스템의 개략도이다;
도 3은 콘텐츠 관리 시스템을 포함하는 예시적인 동작 환경의 개략도이다;
도 4는 도 2 및 도 3의 예시적인 컴퓨팅 시스템의 개략도이다;
도 5는 확장된 레코드 데이터 구조에 새로운 콘텐츠를 추가하기 위해 실행될 수도 있는 프로세스를 묘사하는 순서도이다;
도 6은 소정의 실시형태에 따른 콘텐츠 관리 시스템에서 실행하는 내부 애플리케이션의 구조의 개략도이다;
도 7은 비즈니스 모델 객체 타입의 기술적 객체에 기초한 내부 애플리케이션의 동작을 묘사하는 개략도이다;
도 8은 내부 애플리케이션 사이의 예시적인 상호작용을 묘사하는 콘텐츠 관리 시스템의 개략도이다;
도 9는 키값의 세트에 의해 정의된 예시적인 비표준 데이터 컨테이너의 개략도이다;
도 10은 예시적인 직렬화 포맷의 개략도이다;
도 11은 비표준 데이터 컨테이너에 포함된 타입 정보를 갖는 도 9의 예시적인 비표준 데이터 컨테이너의 개략도이다;
도 12는 도 11의 비표준 데이터 컨테이너에 관련된 예시적인 구조 설명 파일의 개략도이다;
도 13은 애플리케이션에 의한 콘텐츠 액세스를 위해 실행될 수도 있는 프로세스의 순서도이다;
도 14는 예시적인 콘텐츠 교환 유닛의 개략도이다;
도 15는 콘텐츠를 클라이언트 디바이스로 송신하기 위해 실행될 수도 있는 프로세스의 순서도이다;
도 16은 타입 C의 표준 데이터 컨테이너의 XSLT 변환의 개략도이다;
도 17은 도 16의 표준 데이터 컨테이너와 동일한 타입 C의 비표준 데이터 컨테이너의 XSLT 변환의 개략도이다;
도 18은 속성의 세트를 포함하는 타입 D의 표준 데이터 컨테이너의 XSLT 변환의 개략도이다;
도 19는 도 18의 표준 데이터 컨테이너의 속성과 동일한 몇몇 속성을 갖는 타입 E의 비표준 데이터 컨테이너의 XSLT 변환의 개략도이다;
도 20은 데이터 엘리먼트를 재배열하기 위해 실행될 수도 있는 프로세스의 흐름도이다; 그리고
도 21은 소정의 실시형태에 따른, 확장된 레코드 데이터 구조의 개략도이다.
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 a general description of the invention given above, and the detailed description of the embodiments given below, .
1 is a schematic diagram of a conventional content management system according to the prior art;
2 is a schematic diagram of a content management system in accordance with some embodiments including a plurality of computing systems coupled through a network;
3 is a schematic diagram of an exemplary operating environment including a content management system;
Figure 4 is a schematic diagram of the exemplary computing system of Figures 2 and 3;
5 is a flow diagram depicting a process that may be executed to add new content to an extended record data structure;
6 is a schematic diagram of the structure of an internal application executed in a content management system according to a certain embodiment;
Figure 7 is a schematic depicting the operation of an internal application based on a technical object of a business model object type;
8 is a schematic diagram of a content management system depicting exemplary interactions between internal applications;
Figure 9 is a schematic diagram of an exemplary non-standard data container defined by a set of key values;
10 is a schematic diagram of an exemplary serialization format;
Figure 11 is a schematic diagram of the exemplary non-standard data container of Figure 9 with type information included in a non-standard data container;
Figure 12 is a schematic diagram of an exemplary structure description file associated with the non-standard data container of Figure 11;
13 is a flowchart of a process that may be executed for content access by an application;
14 is a schematic diagram of an exemplary content exchange unit;
15 is a flowchart of a process that may be executed to transmit content to a client device;
16 is a schematic diagram of an XSLT transformation of a standard data container of type C;
Figure 17 is a schematic diagram of an XSLT transformation of a non-standard data container of type C that is the same as the standard data container of Figure 16;
18 is a schematic diagram of an XSLT transformation of a standard data container of type D containing a set of attributes;
Figure 19 is a schematic diagram of an XSLT transformation of a non-standard data container of type E with some attributes identical to the attributes of the standard data container of Figure 18;
20 is a flow diagram of a process that may be executed to rearrange data elements; And
21 is a schematic diagram of an extended record data structure, in accordance with some embodiments.

상세한 설명details

본 발명의 실시형태에 따른 방법, 시스템, 및 컴퓨터 프로그램 제품은, 콘텐츠 공급자로부터 수신되는 임의의 타입의 콘텐츠(표준 및 비표준)의 동적 관리 및 콘텐츠의 타입이 무엇이든 간에 이러한 콘텐츠와 관련된 레코드의 중앙집중식 저장(centralized storage)을 허용할 수도 있다. 콘텐츠 관리 시스템(100)은 클라이언트 요청의 수신을 가능하게 하는 클라이언트/서버 아키텍쳐에 기초할 수도 있다.The method, system, and computer program product according to an embodiment of the present invention may be used for dynamic management of any type of content (standard and non-standard) received from a content provider and for managing the center of the record It may also allow centralized storage. Content management system 100 may be based on a client / server architecture that enables reception of client requests.

도 2를 참조하면, 콘텐츠 관리 시스템(100)이 제공되며, 이 콘텐츠 관리 시스템(100)을 통해 다수의 유저 클라이언트들(7)은 콘텐츠 공급자 시스템들(4, 5)의 세트에 의해 제공되는 임의의 타입의 콘텐츠에 고유의 플랫폼을 통해 직접 액세스할 수도 있다. 콘텐츠 관리 시스템(100)에 의해 핸들링되는 콘텐츠는, 미리 정의된 표준화된 메시지 교환 포맷과 같은 제1의 타입의 메시지 교환 포맷(14)에 따라 콘텐츠 관리 시스템(100)과 통신하는 표준 콘텐츠 공급자 시스템(4)으로부터 또는 제2의 타입의 메시지 교환 포맷(15)에 따라 콘텐츠 관리 시스템(100)과 통신하는 비표준 콘텐츠 공급자 시스템(5)으로부터 수신될 수도 있다.Referring to Figure 2, a content management system 100 is provided in which a plurality of user clients 7 are connected to an arbitrary number of content providers 4, 5 provided by a set of content provider systems 4, Lt; RTI ID = 0.0 > content-specific < / RTI > The content handled by the content management system 100 is stored in a standard content provider system (e. G., A standard content provider system) that communicates with the content management system 100 in accordance with a first type of message exchange format 14, such as a pre- 4 from the non-standard content provider system 5 that communicates with the content management system 100 in accordance with a second type of message exchange format 15.

콘텐츠 관리 시스템(100)은 통신 네트워크(13)에 연결될 수도 있고, 통신 네트워크(13)는 인터넷, LAN(local area network; 근거리 통신망), WAN(wide area network; 광역 통신망), 셀룰러 음성/데이터 네트워크, 하나 이상의 고속 버스 접속, 및/또는 다른 이러한 타입의 통신 네트워크를 포함할 수도 있다.The content management system 100 may be coupled to the communication network 13 and the communication network 13 may be connected to the Internet, a local area network (LAN), a wide area network (WAN), a cellular voice / , One or more high-speed bus connections, and / or other types of communication networks.

콘텐츠 관리 시스템(100)은 하나 이상의 특정 서비스 분야(예를 들면, 여행 분야)에 전용될 수도 있다. 하나 이상의 클라이언트 디바이스(7) 각각은 통신 네트워크(13)에 연결될 수도 있고, 그 결과 유저는 여행 관리 시스템(1)과의 서비스 요청 세션을 개시할 수도 있고 서비스 요청에 응답하여 여행 관리 시스템(1)으로부터 콘텐츠를 수신할 수도 있다.The content management system 100 may be dedicated to one or more specific service areas (e.g., travel areas). Each of the one or more client devices 7 may be connected to the communication network 13 such that the user may initiate a service request session with the travel management system 1 and may initiate a service request session with the travel management system 1, Lt; / RTI >

본 발명의 실시형태는 하나 이상의 네트워크화된 컴퓨터 또는 서버를 포함하는 컴퓨팅 시스템에 의해 구현될 수도 있다. 컴퓨팅 시스템은 콘텐츠 관리를 위한 프로세싱 및 데이터베이스 기능을 제공할 수도 있다.Embodiments of the invention may be implemented by a computing system that includes one or more networked computers or servers. The computing system may provide processing and database functions for content management.

각각의 클라이언트 디바이스(7)는 퍼스널 컴퓨팅 디바이스, 태블릿 컴퓨터, 씬 클라이언트 터미널, 스마트폰, 및/또는 다른 이러한 컴퓨팅 디바이스일 수도 있다. 각각의 클라이언트 디바이스(7)는 웹브라우저 및/또는 커스텀 애플리케이션 소프트웨어(예를 들면, 클라이언트 시스템)를 호스팅할 수도 있고 클라이언트 유저 인터페이스를 포함할 수도 있다.Each client device 7 may be a personal computing device, a tablet computer, a thin client terminal, a smart phone, and / or other such computing devices. Each client device 7 may host a web browser and / or custom application software (e.g., a client system) and may include a client user interface.

각각의 콘텐츠 공급자 시스템(4 또는 5)은 통신 네트워크(13)에 연결될 수도 있다. 각각의 콘텐츠 공급자 시스템(4 또는 5)은 하나 이상의 웹사이트를 호스팅할 수도 있고 및/또는 호스팅 서비스에게 하나 이상의 웹사이트를 호스팅하게 할 수도 있다.Each content provider system 4 or 5 may be connected to the communication network 13. Each content provider system 4 or 5 may host one or more websites and / or host the one or more websites.

클라이언트 디바이스(7) 중 하나를 조작하는 유저(즉, 여행자)는, (예를 들면, 웹 서비스에 연결하는 것에 의해 액세스되는) 애플리케이션과 관련된 서비스 요청 세션 동안 클라이언트 디바이스(7)를 사용하여 콘텐츠 관리 시스템(100)과 인터페이싱할 수도 있다. 콘텐츠 관리 시스템(100)은 클라이언트 디바이스(7)로부터 수신되는 서비스 요청을 프로세싱하기 위한 콘텐츠 관리 엔진(3)을 포함한다.A user manipulating one of the client devices 7 (i.e., a traveler) may use the client device 7 during a service request session associated with the application (e.g., accessed by connecting to a web service) Or may interface with the system 100. The content management system 100 includes a content management engine 3 for processing a service request received from the client device 7. [

콘텐츠 관리 엔진(3)은 IATA 표준에 따른 표준화된 TTY 메시지 교환 포맷(제1의 메시지 교환 포맷(14))을 사용하여 표준 여행 공급자(4)와 메시지를 교환할 수도 있다.The content management engine 3 may exchange messages with the standard travel provider 4 using a standardized TTY message exchange format (first message exchange format 14) according to the IATA standard.

콘텐츠 관리 엔진(3)은 데이터 교환 유닛(11)(본 설명에서 "콘텐츠 액세스 유닛"으로 또한 칭해짐)을 통해 비표준 공급자(5)와 메시지를 더 교환할 수도 있다. 데이터 교환 유닛(11)은, 예를 들면 여행 에이전트 엔티티(예를 들면, 여행 에이전트 오퍼레이터 또는 여행 에이전트 시스템)와 관련된 검색, 부킹, 가격책정, 발행, 유저 클라이언트(7)로부터의 취소 요청에 응답하여, 비표준 콘텐츠 공급자와 통신하기 위해, 확장 마크업 언어(eXtensible Markup Language)(제2의 메시지 교환 포맷(15))와 같은 데이터 설명 언어에 따라 정의된 메시지를 사용할 수도 있다.Content management engine 3 may further exchange messages with non-standard supplier 5 via data exchange unit 11 (also referred to herein as "content access unit"). The data exchange unit 11 is adapted to receive a search request from the user client 7 in response to a search request, a booking request, a pricing request, an issuance request related to the travel agent entity , A message defined in a data description language such as an extensible markup language (second message exchange format 15) to communicate with a non-standard content provider.

유저는, (예를 들면, 웹 서비스의 형태로) 콘텐츠 관리 시스템(100) 상에서 실행하는 애플리케이션에 의해 클라이언트 디바이스(7) 상에 생성된 유저 그래픽 인터페이스를 통해 클라이언트 디바이스(7)에 정보를 입력하는 것에 의해, 콘텐츠 관리 시스템(100)에 서비스 요청을 제출할 수도 있다. 유저로부터 수신되는 정보는, 유저가 (예를 들면, 제출 액션을 수행하는 것에 의해) 콘텐츠 관리 시스템(100)으로 서비스 요청을 제출할 때까지 축적될 수도 있다.A user may enter information into the client device 7 via a user graphical interface created on the client device 7 by an application running on the content management system 100 (e.g., in the form of a web service) To the content management system 100. In this case, The information received from the user may be accumulated until the user submits the service request to the content management system 100 (for example, by performing a submission action).

유저 요청에 응답하여, 콘텐츠 관리 엔진(3)은 메시지 교환 포맷들(14 및/또는 15)에 따라 콘텐츠 공급자 시스템들(4 및/또는 5)로부터 콘텐츠를 요청하여 획득할 수도 있고 검색된 콘텐츠에 관련된 레코드를 확장된 레코드 데이터 구조(9)에 저장할 수도 있다. 확장된 레코드 데이터 구조(9)는 콘텍스트(context)에 저장될 수도 있고 저장 요청에 응답하여 또는 주기적으로 하나 이상의 데이터베이스(8)에 저장될 수도 있다. 대안적으로, 소정의 실시형태에서, 확장된 레코드 데이터 구조(9)는 하나 이상의 데이터베이스(8)에 직접 저장될 수도 있다.In response to a user request, the content management engine 3 may request and obtain content from the content provider systems 4 and / or 5 according to the message exchange formats 14 and / or 15, The record may be stored in the extended record data structure 9. The extended record data structure 9 may be stored in a context and may be stored in one or more databases 8 in response to a storage request or periodically. Alternatively, in some embodiments, the extended record data structure 9 may be stored directly in one or more databases 8.

확장된 레코드 데이터 구조(9)는 표준 데이터와 관련하여 레코드를 저장하는 표준 레코드 데이터 구조(90) 및 비표준 데이터와 관련하여 레코드를 저장하는 비표준 레코드 데이터 구조(91)를 포함한다.The extended record data structure 9 includes a standard record data structure 90 for storing records in association with the standard data and a non-standard record data structure 91 for storing the records in relation to the non-standard data.

레코드는 관련 데이터 엘리먼트와 관련하여 레코드 식별자("레코드 로케이터"로 또한 칭해짐)를 포함한다. 레코드 식별자는 임의의 타입 그리고 숫자와 같은 임의의 포맷으로 이루어질 수도 있다.The record contains a record identifier (also referred to as a "record locator") in conjunction with the associated data element. The record identifier may be of any type and any format, such as a number.

표준 레코드 데이터 구조(90)는, 미리 정의된 속성들의 세트 중 하나 이상의 속성들을 구비하는 미리 정의된 타입의 콘텐츠에 대한 레코드만을 저장하도록 적응되기 때문에, 정적이다. 본원에서 사용되는 바와 같이, 용어 "표준"은 미리 정의된 포맷 및/또는 그 포맷에 대응하는 타입 및/또는 표준 레코드 데이터 구조(90)에 의해 지원되는 포맷 및/또는 타입을 갖는 표준 콘텐츠를 지칭한다.The standard record data structure 90 is static, since it is adapted to store only records for predefined types of content that have one or more of the predefined set of attributes. As used herein, the term "standard" refers to a standard content having a format and / or type supported by a predefined format and / or a type corresponding to the format and / or a standard record data structure 90 do.

관련 데이터 엘리먼트를 포함하는 수신된 콘텐츠에 대해, 그 수신된 콘텐츠가 표준 데이터 엘리먼트만을 포함하면, 표준 레코드 데이터 구조(90)에 레코드가 추가될 수도 있다. 레코드는 데이터 엘리먼트와 관련하여 레코드 식별자를 포함한다.For received content that includes an associated data element, a record may be added to the standard record data structure 90 if the received content includes only standard data elements. The record includes a record identifier in association with the data element.

대안적으로, 관련 데이터 엘리먼트를 포함하는 수신된 콘텐츠에 대해, 그 수신된 콘텐츠가 비표준 데이터 엘리먼트만을 포함하면, 비표준 레코드 데이터 구조(91)에 레코드가 추가될 수도 있다. 레코드는 비표준 데이터 엘리먼트를 포함하는 적어도 하나의 비표준 데이터 컨테이너와 관련하여 레코드 식별자를 포함한다.Alternatively, for received content that includes an associated data element, a record may be added to the non-standard record data structure 91 if the received content includes only non-standard data elements. The record includes a record identifier in association with at least one non-standard data container containing non-standard data elements.

또한, 관련 데이터 엘리먼트를 포함하는 수신된 콘텐츠에 대해, 그 수신된 콘텐츠가 비표준 데이터 엘리먼트와 표준 레코드 데이터 구조(90)를 포함하면, 표준 레코드 데이터 구조(90)에 그리고 비표준 레코드 데이터 구조(91)에 레코드가 추가될 수도 있다. 수신된 콘텐츠에 대해 표준 레코드 데이터 구조(90)에 그리고 비표준 레코드 데이터 구조(91)에 추가된 2개의 레코드들 둘 다는 동일한 레코드 식별자(이하, "공통 레코드 식별자"로 칭함)를 할당받을 수도 있다. 공통 레코드 식별자는 표준 레코드 데이터 구조(90) 내의 하나 이상의 표준 데이터 엘리먼트들(표준 콘텐츠) 및/또는 비표준 레코드 데이터 구조(91) 내의 하나 이상의 비표준 데이터 컨테이너들(비표준 데이터 엘리먼트를 포함함) 사이에서 공유된다.In addition, for a received content that includes an associated data element, the standard record data structure 90 and the non-standard record data structure 91, if the received content includes a non-standard data element and a standard record data structure 90, A record may be added to the record. Both of the two records added to the standard record data structure 90 and to the non-standard record data structure 91 for the received content may be assigned the same record identifier (hereinafter referred to as a "common record identifier"). The common record identifier is shared between one or more standard data elements (standard content) in the standard record data structure 90 and / or one or more non-standard data containers (including non-standard data elements) do.

관련 표준 및 비표준 데이터 엘리먼트를 식별하기 위해 레코드 데이터 구조들(90 및 91) 둘 다에서 동일한 식별자를 사용함으로써, 콘텐츠 관리 시스템(100)은 2개의 레코드 데이터 구조들을, 마치 그들이 고유의 레코드 데이터 구조를 형성하는 것처럼, 투명하게 관리한다.By using the same identifier in both the record data structures 90 and 91 to identify the relevant standard and non-standard data elements, the content management system 100 can provide two record data structures, as if they were unique record data structures As it forms, it manages transparently.

콘텐츠 관리 엔진(3)은 상이한 서비스와 관련된 다수의 애플리케이션들을 유지할 수도 있다. 콘텐츠 관리 엔진(3)은 클라이언트 디바이스(7)로부터 수신되는 서비스 요청에 따라 하나 이상의 애플리케이션들을 실행할 수 있고, 이것은 콘텐츠 공급자 시스템으로부터의 콘텐츠 검색 및 이러한 수신된 콘텐츠에 관련된 레코드를 확장된 데이터 구조(9)에 저장하는 것을 트리거할 수도 있다. 콘텐츠 관리 엔진은, 콘텐츠의 타입이 무엇이든 간에, 확장된 레코드 데이터 구조(9)에 저장된 레코드에 기초하여, 서비스 요청에 대한 응답을, 레코드 데이터 구조(9)에 레코딩된 콘텐츠를 사용하는 유저 클라이언트에게 리턴하도록 더 구성될 수도 있다. 클라이언트에게 응답을 리턴하기 위해, 콘텐츠 관리 엔진(3)은, 확장된 레코드 데이터 구조(9)로부터 검색된 레코드에 포함된 콘텐츠의 타입들이 무엇이든 간에, 클라이언트 디바이스(7) 상에 콘텐츠의 균일한 표현을 생성하는 데이터 교환 유닛(11)을 사용할 수도 있다. 따라서, 콘텐츠 관리 엔진(3)은 유저 클라이언트(7)로 서비스를 제공하기 위한 애플리케이션 집약체(aggregator)로서 기능한다.The content management engine 3 may maintain a plurality of applications associated with different services. The content management engine 3 can execute one or more applications in response to a service request received from the client device 7, which retrieves content from the content provider system and records related to the received content in an extended data structure 9 ≪ / RTI > The content management engine, based on the record stored in the extended record data structure 9, whatever the type of content, can be used to record the response to the service request to the user client < RTI ID = 0.0 >Lt; / RTI > In order to return a response to the client, the content management engine 3 is responsible for providing a uniform representation of the content on the client device 7, whatever the types of content contained in the retrieved record from the extended record data structure 9 The data exchange unit 11 may be used. Therefore, the content management engine 3 functions as an application aggregator for providing a service to the user client 7.

본 발명의 양호한 실시형태에서, 콘텐츠 관리 시스템(100)은 여행 관리 시스템일 수도 있다. 여행 관리 시스템(100)은 여행 콘텐츠의 중앙집중식 관리를 허용하기 위한 매개체 오퍼레이터(예를 들면, 여행의 분야에서 GDS(Global Distribution System))에 의해 구현될 수도 있다, 예를 들면 GDS(Global Distribution System에 대한 약어)에서 구현될 수도 있다.In a preferred embodiment of the present invention, the content management system 100 may be a travel management system. The travel management system 100 may be implemented by an operator operator (e.g., Global Distribution System (GDS) in the field of travel) to allow centralized management of travel content, such as Global Distribution System (GDS) ). ≪ / RTI >

도 3은 GDS(1)에서 구현되는 이러한 여행 관리 시스템(100)의 예시적인 동작 환경(10)을 도시한다. 이러한 실시형태에서, 표준 콘텐츠는 표준 여행 공급자 시스템(4)에 의해 제공되는 IATA 제약을 준수하는 GDS 콘텐츠(예컨대 비행기 여행, 기차 여행 콘텐츠)를 지칭하고, 한편, 비표준 콘텐츠는 비표준 여행 공급자 시스템(5)에 의해 제공되는 또는 GDS 외부에서 부킹된 IATA 제약을 충족하지 않는 임의의 타입의 비GDS 콘텐츠(예를 들면, 차량 렌트)일 수 있다. 표준 레코드 데이터 구조(90)는 표준 콘텐츠를 저장하도록 구성되는 표준 PNR 데이터 구조(이하, "표준 PNR"로도 칭해지며, PNR은 Passenger Name Record의 약어이다)일 수도 있고, 한편 비표준 레코드 데이터 구조(91)(이하, "비표준 PNR"로 칭함)는, 데이터 매핑 및 편집 메커니즘을 하드 코딩하는 것에 의해 비표준 콘텐츠의 타입 및 속성을 미리 정의할 필요 없이, 임의의 타입의 비표준 콘텐츠를 동적으로 레코딩하도록 구성된다. 표준 PNR(90)은, 미리 정의된 데이터 구조(타입, 속성, 패밀리) 및/또는 호텔 및 렌트카 예약과 같은 짧은 여행(trip)을 포함하는 다른 여행 서비스를 갖는 짧은 여행의 일정(다수의 캐리어들로부터의 구간(segment)들을 포함함)에 대한 완전한 데이터 세트를 일반적으로 포함한다.FIG. 3 shows an exemplary operating environment 10 of such a travel management system 100 implemented in the GDS 1. In this embodiment, the standard content refers to GDS content (e.g., air travel, train travel content) that conforms to the IATA constraints provided by the standard travel provider system 4, while non-standard content refers to non-standard travel provider systems 5 (E.g., a car rental) provided by a non-GDS or non-GDS content that does not meet an IATA constraint that is outside the GDS. The standard record data structure 90 may be a standard PNR data structure (hereinafter also referred to as "standard PNR ", PNR is abbreviation of Passenger Name Record) configured to store standard content, Quot; non-standard PNR ") is configured to dynamically record any type of non-standard content, without having to predefine the type and attributes of the non-standard content by hard-coding the data mapping and editing mechanism . The standard PNR 90 includes a schedule of short trips with a predefined data structure (type, attribute, family) and / or other travel services including short trips such as hotel and rental car reservations Lt; RTI ID = 0.0 > a < / RTI >

확장된 레코드 데이터 구조(9)는 확장된 여행 레코드(Extended Travel Record; 이하, "ETR"로도 칭함)를 형성하는데, ETR에서는 각각의 콘텐츠 레코드는 레코드와 관련된 콘텐츠의 타입이 무엇이든 간에 콘텐츠 관리 엔진(3)에 의해 원활하게 조작될 수 있다.The extended record data structure 9 forms an Extended Travel Record (hereinafter also referred to as an "ETR"), in which each content record is associated with a content management engine (3).

클라이언트 디바이스(7)는 각각의 클라이언트 인터페이스(2)를 통해 서비스를 요청하는 복수의 여행 에이전시 시스템들(700)과 관련될 수도 있다. 더 일반적으로는, 여행 관리 시스템(100)은, (예를 들면 확장된 여행 레코드(9)에 저장된 콘텐츠를 교환하기 위해) 각각의 유저 인터페이스(2) 또는 심지어는 여행 공급자 시스템(4 또는 5)을 통해 클라이언트/서버 방식에 따라 상이한 타입의 요청을 제출하는 상이한 타입의 클라이언트 디바이스, 예컨대 여행자 디바이스(6)에 의해 액세스될 수 있다.The client device 7 may be associated with a plurality of travel agency systems 700 requesting service via each client interface 2. More generally, the travel management system 100 is configured to communicate with each of the user interfaces 2 or even the travel provider system 4 or 5 (e.g., to exchange content stored in the extended travel record 9) Such as a traveler device 6, that submits a different type of request depending on the client / server manner via the client device.

표준 여행 공급자 시스템(4)은 복수의 캐리어 시스템들 또는 여행자 시스템들을 포함할 수도 있다. 비표준 여행 제품 공급자 시스템(5)은 차량 렌트 시스템, 박물관 예약 시스템 등을 포함할 수도 있다. 캐리어 시스템은, 구현시, CRS(Computer Reservation System; 컴퓨터 예약 시스템) 및/또는 GDS(1)를 가능하게 하는 각각의 항공노선에 대한 과금 시스템을 포함할 수도 있다. 여행 에이전시 시스템(700)은 비표준 여행 공급자(5)에 의해 제공되는 여행 티켓 및/또는 추가적인 서비스에 대해 예약하고 비용을 지불하도록 구성될 수도 있다. 몇몇 표준 여행 공급자 시스템(4)은, 오퍼레이팅 캐리어(operating carrier)에 의해 제공되는 좌석에 대한 티켓을 밸리데이팅 캐리어(validating carrier)가 판매하는 것을 가능하게 하기 위해, 직접 또는 GDS(1)를 통해, 서로 상호작용할 수도 있다. 그 다음, 오퍼레이팅 캐리어는 제공된 서비스에 대해 밸리데이팅 캐리어에게 비용을 청구할 수도 있다.The standard travel provider system 4 may include a plurality of carrier systems or traveler systems. The non-standard travel product supplier system 5 may include a vehicle rental system, a museum reservation system, and the like. The carrier system may, in implementation, include a billing system for each airline enabling a Computer Reservation System (CRS) and / or a GDS (1). The travel agency system 700 may be configured to reserve and pay for travel tickets and / or additional services provided by the non-standard travel provider 5. Some standard travel provider systems 4 may be provided either directly or via the GDS 1 to enable a validating carrier to sell a ticket for a seat provided by an operating carrier, They may interact with each other. The operating carrier may then charge the validing carrier for the provided service.

GDS(1)는, 여행 에이전트, 밸리데이팅 캐리어, 또는 다른 간접 셀러가 GDS(1)를 통해 하나 이상의 캐리어 시스템들(4) 상에서 가용 구간을 검색하여 예약을 부킹하고 추가적인 서비스(예를 들면, 차량 렌트, 박물관 티켓 등)를 검색하여 부킹하는 것을 가능하게 하는 것에 의해, 여행 공급자들(4 및 5)과 여행 에이전시 시스템(700) 사이의 통신을 조장하도록 구성될 수도 있다. The GDS 1 may search for available intervals on one or more carrier systems 4 via the GDS 1, bookmarking reservations and adding additional services (e. G., Vehicles < / RTI > May be configured to facilitate communication between the travel providers 4 and 5 and the travel agency system 700 by making it possible to search for and book the travel agency, rental, museum tickets, and the like.

각각의 여행 에이전시 시스템(70)은 공개적으로 액세스 가능한 웹사이트를 제공하는 웹 서버를 포함할 수도 있다. 이 웹사이트는, 여행 요청과 일치하는 여행 제품을 검색하는 능력과 같은 여행 계획 피쳐에 대한 액세스를 제공하도록 구성될 수도 있다. 이를 위해, 여행 에이전시 시스템(70)은, GDS(1), 여행 공급자들(4 및 5), 및 여행 에이전시 시스템(70)에 의해 호스팅되는 하나 이상의 데이터베이스들로부터의 데이터에 대한 액세스를 여행자에게 제공할 수도 있다. 본 발명의 대안적 실시형태에서, 여행 에이전시 시스템(70)은 여행 서비스 공급자 또는 여행 에이전트에 대한 액세스를 제한하는 독점적 시스템일 수도 있으며, 그 경우 액세스는 사설 웹사이트 또는 다른 애플리케이션을 통해 제공될 수도 있다.Each travel agency system 70 may include a web server that provides a publicly accessible web site. The web site may be configured to provide access to travel plan features, such as the ability to search for travel products that match the travel request. To that end, travel agency system 70 provides travelers with access to data from one or more databases hosted by GDS 1, travel providers 4 and 5, and travel agency system 70 You may. In an alternative embodiment of the present invention, the travel agency system 70 may be a proprietary system that restricts access to travel service providers or travel agents, in which case the access may be provided via a private web site or other application .

여행자 또는 여행 에이전트는, 특정 여행 애플리케이션(예를 들면, 여행 계획 애플리케이션)을 사용하는 여행자로부터 수신되는 여행 요청을 충족하는 여행 제안을 생성하고 및/또는 검색하기 위해 여행 에이전시 시스템(70)을 사용할 수도 있다.The traveler or travel agent may use the travel agency system 70 to create and / or retrieve travel offers that meet travel requests received from travelers using a particular travel application (e.g., a travel planning application) have.

여행자 디바이스(6)는 공개 또는 사설 네트워크(13)(예를 들면, 인터넷)를 통해 여행 관리 시스템(100)에 직접 연결될 수도 있다. 여행자 디바이스(6)는 네트워크(13)를 통해 여행 관리 시스템(100)과 통신하도록 구성된 임의의 적절한 컴퓨팅 시스템일 수도 있다. 예를 들면, 여행자 디바이스(6)는 데스크탑, 랩탑, 또는 태블릿 컴퓨터, 스마트폰, 또는 여행자가 네트워크(20)를 통해 여행 서비스를 검색하여 부킹하는 것을 가능하게 하는 임의의 다른 컴퓨팅 디바이스를 포함할 수도 있다. 본 발명의 실시형태에서, 여행자 디바이스(6)는, 웹 서비스 애플리케이션에 따라 여행 요청을 제출하도록 여행 관리 시스템(100)의 콘텐츠 관리 엔진(3)에 의해 호스팅되는 웹 서비스 애플리케이션과 통신하는 웹 브라우저 애플리케이션을 포함할 수도 있다.The traveler device 6 may be connected directly to the travel management system 100 via an open or private network 13 (e.g., the Internet). The traveler device 6 may be any suitable computing system configured to communicate with the travel management system 100 via the network 13. For example, the traveler device 6 may include a desktop, laptop, or tablet computer, a smartphone, or any other computing device that enables a traveler to search and book travel services via the network 20 have. In an embodiment of the present invention, the traveler device 6 is a web browser application that communicates with a web service application hosted by the content management engine 3 of the travel management system 100 to submit travel requests in accordance with the web service application. .

대안적으로, 여행자 디바이스(6)는 여행 에이전시 시스템(70)에 의해 호스팅되는 웹 서비스 애플리케이션과 통신하는 웹 브라우저 애플리케이션을 포함할 수도 있다. 웹 서비스 애플리케이션은, 결국에는, 여행 서비스 애플리케이션에 따라 여행 요청을 제출하도록 여행 관리 시스템(100)과 통신할 수도 있다.Alternatively, the traveler device 6 may include a web browser application that communicates with the web service application hosted by the travel agency system 70. [ The web service application may eventually communicate with the travel management system 100 to submit travel requests in accordance with the travel service application.

여행 요청은, GDS(1)를 통해 또는 다른 GDS를 통해 제공되는 여행과 관련하여, 예를 들면 가용 여행 구간에 관련된 데이터를 획득하기 위해, 여행 요청을 충족하는 여행 제한을 생성하기 위해 및/또는 비표준 공급자(5)에 의해 제공되는 비표준 콘텐츠에 대응하는 보조 서비스(예를 들면, 차량 렌트, 제트스키 부킹, 박물관 티켓 부킹 등)를 부킹하기 위해 제출될 수도 있다.The travel request can be used to create a travel restriction that meets the travel request, in order to obtain data relating to, for example, available travel segments, via the GDS (1) or other GDSs, and / (E. G., Vehicle rental, jet skiing, museum ticket bookings, etc.) corresponding to non-standard content provided by non-standard supplier 5 may be submitted.

이제 도 4를 참조하면, 동작 환경(10)의 GDS(1), 여행 관리 시스템(100), 여행 공급자 시스템들(4 및 5), 여행 에이전시 시스템(70), 여행자 디바이스(6)는 하나 이상의 컴퓨팅 디바이스들 또는 시스템들(총체적으로 컴퓨터, 예를 들면 컴퓨터(30)로 칭해짐) 상에서 구현될 수도 있다. 컴퓨터(30)는 프로세서(32), 메모리(34), 대용량 저장 메모리 디바이스(36), 입/출력(input/output; I/O) 인터페이스(38), 및 휴먼 머신 인터페이스(Human Machine Interface; HMI; 40)를 포함할 수도 있다. 컴퓨터(30)는 네트워크(22) 및/또는 I/O 인터페이스(38)를 통해 하나 이상의 외부 리소스들(42)에 동작적으로 커플링될 수도 있다. 외부 리소스는 서버, 데이터베이스, 대용량 저장 디바이스, 주변 디바이스, 클라우드 기반 네트워크 서비스, 또는 컴퓨터(30)에 의해 사용될 수도 있는 임의의 다른 적절한 컴퓨팅 리소스를 포함할 수도 있지만, 이들로 한정되는 것은 아니다.4, the GDS 1, the travel management system 100, the travel provider systems 4 and 5, the travel agency system 70, the traveler device 6 of the operating environment 10 may include one or more Computing devices or systems (collectively referred to as a computer, e.g., computer 30). The computer 30 includes a processor 32, a memory 34, a mass storage memory device 36, an input / output (I / O) interface 38, and a Human Machine Interface ; 40). The computer 30 may be operatively coupled to one or more external resources 42 via the network 22 and / or the I / O interface 38. The external resources may include, but are not limited to, a server, a database, a mass storage device, a peripheral device, a cloud-based network service, or any other suitable computing resource that may be used by the computer 30.

프로세서(32)는 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 마이크로컴퓨터, 중앙 처리 유닛, 필드 프로그래머블 게이트 어레이, 프로그래머블 로직 디바이스, 상태 머신, 로직 회로, 아날로그 회로, 디지털 회로, 또는 메모리(34)에 저장되는 연산 명령에 기초하여 신호(아날로그 또는 디지털)를 처리하는 임의의 다른 디바이스에서 선택된 하나 이상의 디바이스들을 포함할 수도 있다. 메모리(34)는, ROM(read-only memory; 판독 전용 메모리), RAM(random access memory; 랜덤 액세스 메모리), 휘발성 메모리, 불휘발성 메모리, SRAM(static random access memory; 스테틱 램), DRAM(dynamic random access memory; D램), 플래시 메모리, 캐시 메모리, 또는 정보를 저장할 수 있는 임의의 다른 디바이스를 포함하지만 이들로 한정되지 않는 단일의 메모리 디바이스 또는 복수의 메모리 디바이스들을 포함할 수도 있다. 대용량 저장 메모리 디바이스(36)는 하드 드라이브, 광 드라이브, 테이프 드라이브, 불휘발성 솔리드 스테이트 드라이브, 또는 정보를 저장할 수 있는 임의의 다른 디바이스와 같은 데이터 저장 디바이스를 포함할 수도 있다. 데이터베이스(44)는 대용량 저장 메모리 디바이스(36) 상에 상주할 수도 있고, 본원에서 설명되는 다양한 시스템 및 모듈에 의해 사용되는 데이터를 수집하여 편제하는(organize) 데 사용될 수도 있다.The processor 32 may be a microprocessor, microcontroller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuit, analog circuit, digital circuit, Or any other device that processes the signal (analog or digital) based on the computational instruction to be processed. The memory 34 may be a read only memory (RAM), a random access memory (RAM), a volatile memory, a non-volatile memory, a static random access memory (SRAM) dynamic random access memory (DRAM), flash memory, cache memory, or any other device capable of storing information. The mass storage memory device 36 may include a data storage device such as a hard drive, an optical drive, a tape drive, a non-volatile solid state drive, or any other device capable of storing information. The database 44 may reside on the mass storage memory device 36 and may be used to collect and organize the data used by the various systems and modules described herein.

프로세서(32)는 메모리(34) 내에 상주하는 운영체제(46)의 제어 하에서 동작할 수도 있다. 운영체제(46)는, 하나 이상의 컴퓨터 소프트웨어 애플리케이션들, 예컨대 메모리(34) 내에 상주하는 애플리케이션(48)으로서 구체화되는 컴퓨터 프로그램 코드가 프로세서(32)에 의해 실행되는 명령을 가질 수도 있도록 컴퓨팅 리소스를 관리할 수도 있다. 대안적인 실시형태에서, 프로세서(32)는 애플리케이션(48)을 직접 실행할 수도 있고, 그 경우 운영체제(46)는 생략될 수도 있다. 하나 이상의 데이터 구조들(50)이 메모리(34) 내에 또한 상주할 수도 있고, 데이터를 저장 또는 처리하도록 프로세서(32), 운영체제(46), 및/또는 애플리케이션(48)에 의해 사용될 수도 있다.The processor 32 may operate under the control of an operating system 46 resident in the memory 34. The operating system 46 may be configured to manage computing resources such that computer program code embodied as one or more computer software applications, e.g., applications 48 residing in memory 34, may have instructions to be executed by the processor 32 It is possible. In an alternative embodiment, the processor 32 may execute the application 48 directly, in which case the operating system 46 may be omitted. One or more data structures 50 may also reside in memory 34 and may be used by processor 32, operating system 46, and / or application 48 to store or process data.

I/O 인터페이스(38)는 프로세서(32)를 네트워크(22) 및/또는 외부 리소스(42)와 같은 다른 디바이스 및 시스템에 동작적으로 커플링하는 머신 인터페이스를 제공할 수도 있다. 이로써, 애플리케이션(48)은 I/O 인터페이스(38)를 통해 통신하는 것에 의해 네트워크(22) 및/또는 외부 리소스(42)와 협력적으로 작동하여, 본 발명의 실시형태를 포함하는 다양한 피쳐, 기능, 애플리케이션, 프로세스, 및/또는 모듈을 제공할 수도 있다. 애플리케이션(48)은, 하나 이상의 외부 리소스들(42)에 의해 실행되는 프로그램 코드를 또한 구비하거나, 또는 다르게는 컴퓨터(30) 외부의 다른 시스템 또는 네트워크 컴포넌트에 의해 제공되는 기능 및/또는 신호에 의존할 수도 있다. 실제, 거의 무한의 하드웨어 및 소프트웨어 구성이 가능한 것을 고려하면, 종래기술의 당업자는, 컴퓨터(30) 외부에 위치되는, 다수의 컴퓨터들 또는 다른 외부 리소스들(42) 사이에 분포되는, 또는 클라우드 컴퓨팅 서비스와 같이 네트워크(22)를 통한 서비스로서 제공되는 컴퓨팅 리소스(하드웨어 및 소프트웨어)에 의해 제공되는 애플리케이션을 본 발명의 실시형태가 포함할 수도 있다는 것을 이해할 것이다.The I / O interface 38 may provide a machine interface that operatively couples the processor 32 to other devices and systems, such as the network 22 and / or external resources 42. Thereby, the application 48 may cooperatively operate with the network 22 and / or external resources 42 by communicating via the I / O interface 38 to provide various features including embodiments of the present invention, Functions, applications, processes, and / or modules. The application 48 also includes program code that is executed by one or more external resources 42 or is otherwise dependent on functions and / or signals provided by other systems or network components external to the computer 30 You may. Those of ordinary skill in the art will appreciate that there may be a number of computers or other external resources 42 located outside of the computer 30 that are distributed among the computers or other external resources 42, It will be appreciated that embodiments of the present invention may include applications provided by computing resources (hardware and software) provided as services through the network 22, such as services.

HMI(40)는, 컴퓨터(30)의 유저가 컴퓨터(30)와 직접 상호작용하는 것을 허용하는 공지의 방식으로, 컴퓨터(30)의 프로세서(32)에 동작적으로 커플링될 수도 있다. HMI(40)는 비디오 및/또는 영숫자 디스플레이, 터치 스크린, 스피커, 및 유저에게 정보를 제공할 수 있는 임의의 다른 적절한 청각적 그리고 시각적 표시기(indicator)를 포함할 수도 있다. HMI(40)는, 유저로부터 명령 또는 입력을 수용할 수 있고 입력된 입력을 프로세서(32)로 송신할 수 있는 영숫자 키보드, 포인팅 디바이스, 키패드, 푸시버튼, 제어 노브(knob), 마이크 등과 같은 입력 디바이스 및 컨트롤을 또한 포함할 수도 있다.The HMI 40 may be operatively coupled to the processor 32 of the computer 30 in a known manner that allows a user of the computer 30 to interact directly with the computer 30. [ The HMI 40 may include video and / or alphanumeric displays, touch screens, speakers, and any other suitable audible and visual indicators capable of providing information to the user. The HMI 40 may include an input such as an alphanumeric keyboard, pointing device, keypad, push button, control knob, microphone, etc., which may receive instructions or input from a user and transmit the input to the processor 32 Devices and controls may also be included.

하기의 설명은 단지 예시적인 목적만을 위한 도 3의 콘텐츠 관리 시스템(100)을 참조로 행해질 것이다.The following description will be made with reference to the content management system 100 of FIG. 3 for illustrative purposes only.

따라서, 각각의 여행 에이전시 시스템(70)을 통해 여행 관리 시스템(100)에 연결된 상이한 여행 에이전트는, 콘텐츠의 타입(예컨대 표준 항공노선 콘텐츠, 택시, 엔터테인먼트 티켓 등)이 무엇이든 간에, 여행 공급자 시스템들(4, 5)의 세트에 의해 제공되는 임의의 타입의 콘텐츠에 고유의 플랫폼을 통해 직접 액세스할 수 있다. 따라서, 여행 관리 시스템(100)은, 여행 에이전시가 GDS 시스템 밖의 이러한 비표준 콘텐츠를 전화에 의해 또는 인터넷 등을 통해 부킹해야 할 필요성을 방지하면서, 표준 PNR 데이터 구조(90)를 준수하는 표준 콘텐츠뿐만 아니라 임의의 새로운 타입의 콘텐츠(즉, 택시 경로, 영화 티켓, 콘서트, 먹거리(goody) 등)를 저장할 가능성을 제공한다.Thus, different travel agents connected to the travel management system 100 through each travel agency system 70 may be configured to provide travel agent systems 100 with whatever type of content (e.g., standard airline content, taxi, entertainment tickets, etc.) Can be accessed directly via a platform specific to any type of content provided by the set of content (4, 5). Thus, the travel management system 100 can be used not only for standard content that complies with the standard PNR data structure 90, but also for other purposes, while preventing the travel agency from having to book these non-standard content outside the GDS system, Provides the possibility to store any new type of content (i.e., taxi path, movie tickets, concert, goody, etc.).

표준 PNR(90)에 비표준 PNR(91)을 첨부하는 것에 의해, 여행 관리 시스템은 한없이 많은 여행 서비스들을 여행 에이전시 시스템(70)에 동적으로 그리고 원활하게 제공할 수 있다.By attaching the non-standard PNR 91 to the standard PNR 90, the travel management system can dynamically and smoothly provide an unlimited number of travel services to the travel agency system 70.

따라서, 2배 확장된 여행 레코드(9)는 임의의 여행 공급자 시스템(4 또는 5)에 의해 제공되는 콘텐츠(이것은 GDS 밖에서 부킹된 제품에 대응할 수도 있다)의 구조화된 표현을 형성하지만, ETR(9) 내에 유지되는 레코드는 마치 표준 PNR(90) 및 비표준 PNR(91)이 고유의 레코드 데이터 구조를 형성한 것처럼, 액세스되고 관리될 수도 있다.Thus, the twice-extended travel record 9 forms a structured representation of the content provided by any travel provider system 4 or 5 (which may correspond to a product that is bugged outside the GDS), but the ETR 9 May be accessed and managed as if the standard PNR 90 and the non-standard PNR 91 formed a unique record data structure.

표준 PNR(90) 내의 표준 데이터 엘리먼트(예를 들면, 제품)는, IATA 표준을 준수하도록 GDS(1)에 의해 구현되는 표준 레이아웃 및 포맷에 따른 필수사항(mandatory) 또는 옵션사항으로서 자격을 부여받을 수 있는 속성의 세트와 관련된다.Standard data elements (e.g., products) in the standard PNR 90 may be qualified as mandatory or optional in accordance with the standard layout and format implemented by the GDS 1 to comply with the IATA standard It can be associated with a set of attributes.

확장된 여행 레코드(9) 내에 유지되는 데이터는 복수의 패밀리들로 분류될 수도 있는데, 각각의 패밀리는 예를 들면 표 1에 표시되는 5개의 패미리들과 같이 여러 데이터 엘리먼트를 포함한다. ETR(9)은 임의의 수의 새로운 데이터 엘리먼트 타입 및 패밀리를 지원하도록 적응된다.The data held in the extended travel record 9 may be classified into a plurality of families, each family comprising a number of data elements, such as the five families shown in Table 1, for example. The ETR 9 is adapted to support any number of new data element types and families.

이동move 숙소Rooms 식사 및 음료Meals and drinks 활동activity 서비스service 비행기airplane 호텔hotel 레스토랑restaurant 스포츠 활동Sports Activities 보험insurance 페리perry 아파트Apartment 바 & 클럽Bars & Clubs 쇼핑shopping 비자Visa 크루즈cruise 캠핑Camping 기타Other 쇼 & 이벤트Show & Event 먹거리Food 기차train B&BB & B 도보 여행walking tour 문서화Documentation 마차carriage 기타Other 견학Excursions 레저 장비Leisure Equipment 도시 교통City traffic 기타Other 로컬 서비스Local Services 환승Transfer 미팅Meeting 택시taxi 백신vaccine 자동차car 기타Other 자전거bicycle 주차parking

콘텐츠 관리 엔진(3)은 ETR(9)의 이질적인 콘텐츠를 관리하도록 구성되며, 그 관리는 다음을 포함할 수도 있다:The content management engine 3 is configured to manage the heterogeneous content of the ETR 9, and the management thereof may include:

- 예를 들면, 여행 에이전시 시스템(70)으로부터의 요청에 응답하여, 임의의 여행 공급자 시스템(4 또는 5)으로부터의 새로운 데이터 엘리먼트를, 그 콘텐츠 타입이 무엇이든 간에, 확장된 여행 레코드(9)에 추가하는 것;- in response to a request from the travel agency system 70, for example, a new data element from any travel provider system 4 or 5, an extended travel record 9, whatever its content type, ;

- (예를 들면, 박물관에 대한 2회 입장의 사전 부킹에 대응하는 "박물관" 제품의 시작 날짜를 변경하는 것에 의해) 확장된 여행 레코드(9) 내의 데이터 엘리먼트를 수정하는 것;- modifying the data elements in the extended travel record (9) by changing the start date of the "museum" product (eg, corresponding to a two-position pre-booking of the museum);

- (예를 들면, 유저가 자신의 뉴욕 여행에서 제품 "박물관"을 제거할 것을 결정한 경우, 확장된 여행 레코드에서 이 제품의 부킹을 제거하는 것에 의해) 확장된 여행 레코드(9)에서 데이터 엘리먼트를 삭제하는 것;(Eg, by removing the product's bookkeeping from the extended travel record, if the user decides to remove the product "museum" from his or her New York trip) Delete;

- (예를 들면, 특정 여행 레코드에서 "박물관" 제품의 모든 구조화된 속성을 검색하는 것에 의해) 확장된 여행 레코드(9)에서 데이터 엘리먼트를 검색하는 것.- retrieving data elements from the extended travel record (9) (eg by retrieving all the structured attributes of the "museum" product from a particular travel record);

따라서, 확장된 여행 레코드(9)는 비표준 콘텐츠 및 표준 콘텐츠 둘 다가 고유한 레코드 데이터 구조(PNR)의 일부인 것처럼 이들을 저장할 수도 있다. 콘텐츠 관리 엔진(3)은 확장된 여행 레코드(9)에 유지되는 이질적 콘텐츠를 유저 클라이언트에 대해 투명한 방식으로 관리한다. 확장된 여행 레코드(9)는 더 유연하며 또한 임의의 타입의 새로운 콘텐츠(택시, 메트로, 버스, 박물관 티켓팅 등)에, 그 새로운 콘텐츠와 관련된 속성이 무엇이든 간에, 적응된다.Thus, the extended travel record 9 may store both non-standard content and standard content as if they were part of a unique record data structure (PNR). The content management engine 3 manages the heterogeneous contents held in the extended travel record 9 in a manner transparent to the user client. The extended travel record 9 is more flexible and adapts to any type of new content (cab, metro, bus, museum ticketing, etc.), whatever the attributes associated with the new content.

표준 PNR(90)은 IATA 표준에 따라 편제된다. 데이터 엘리먼트의 주어진 세트가 주어진 서비스(예를 들면, 부킹 관리 플로우)와 관련된 애플리케이션 플로우에서 제1의 메시지 교환 포맷(14)에 따른 메시지를 통해 표준 여행 공급자 시스템(4)으로부터 콘텐츠 관리 엔진(3)으로 송신되는 경우, 하기의 단계들이 콘텐츠 관리 엔진(3)에 의해 수행될 수도 있다:The standard PNR (90) is organized according to the IATA standard. A given set of data elements is transferred from the standard travel provider system 4 to the content management engine 3 via a message according to the first message exchange format 14 in an application flow associated with a given service (e.g., a bookkeeping management flow) The following steps may be performed by the content management engine 3:

i. 데이터는, 표준 여행 공급자 시스템(4)에 의해 송신되는 유입 메시지(incoming message)로부터 콘텐츠 관리 엔진(3)에 의해 추출될 수도 있고, 그리고i. The data may be extracted by the content management engine 3 from an incoming message transmitted by the standard travel provider system 4,

ii. 레코드가 표준 PNR(90)에 추가될 수도 있는데, 그 레코드는 콘텐츠 관리 엔진(3)에 의해 추출된 데이터(콘텐츠 데이터)에 대응하는 데이터 엘리먼트와 관련하여 레코드 식별자를 포함한다.ii. A record may be added to the standard PNR 90 which record identifier is associated with the data element corresponding to the data (content data) extracted by the content management engine 3. [

이렇게 획득된 데이터는 애플리케이션 플로우의 다음 애플리케이션에 전송될 다른 메시지를 구축하는 데 사용될 수도 있다.The data thus obtained may be used to build other messages to be sent to the next application in the application flow.

애플리케이션 플로우가 체인화된 내부 애플리케이션의 세트를 수반하는 경우, 단계 i는 애플리케이션 플로우의 주어진 내부 애플리케이션에 의해 수행될 수도 있지만 단계 ii는 플로우의 다른 애플리케이션에 의해 트리거될 수도 있다.If the application flow involves a set of chained internal applications, step i may be performed by a given internal application of the application flow, but step ii may be triggered by another application of the flow.

표준 PNR(90)에 추가되는 데이터는 한정된 수의 미리 정의된 속성들만을 구비할 수 있고 하나 이상의 미리 정의된 타입들 및 포맷들(표준화된 속성들)을 만족해야 한다.The data added to the standard PNR 90 may have only a limited number of predefined attributes and must satisfy one or more predefined types and formats (normalized attributes).

비표준 PNR(91)은 표준(IATA 콘텐츠 정의, TTY 메시지, IATA 메시지)의 규칙 및 이력적 제약(historical constraint)을 준수하지 않는다. 그러나, 비표준 콘텐츠는 확장된 여행 레코드(9)의 일부일 수 있고 콘텐츠 관리 엔진(3)에 의해 실행되는 애플리케이션에 의해 원활하게 그리고 투명하게 액세스된다.The non-standard PNR 91 does not comply with the rules of the standard (IATA content definition, TTY message, IATA message) and historical constraints. However, the non-standard content can be part of the extended travel record 9 and is accessed smoothly and transparently by the application executed by the content management engine 3. [

따라서, 확장된 여행 레코드(9)는 임의의 타입의 표준 콘텐츠(예를 들면, 비행기 여행, 호텔, 자동차, 크루즈, 보험, 페리와 같은 GDS 콘텐츠) 및 비표준 콘텐츠(예컨대 버스/택시/레스토랑/기타 등등)를 구조화된 방식으로 그리고 보편적 포맷으로 저장할 수도 있다.Thus, the extended travel record 9 can include any type of standard content (e.g., GDS content such as air travel, hotels, cars, cruises, insurance, ferry) and non-standard content Etc.) in a structured manner and in a universal format.

임의의 타입의 콘텐츠를 동적으로 관리하기 위해, 콘텐츠 관리 엔진(3)은, 비표준 콘텐츠 공급자 시스템(5)으로부터 여행 관리 시스템(100)으로 송신되는 비표준 데이터 엘리먼트를 포함하는 수신된 콘텐츠에 응답하여, 비표준 데이터 컨테이너를 생성하도록 구성된다. 비표준 데이터 컨테이너는, 비표준 데이터 컨테이너의 자동 직렬화 특성으로 인해 데이터 엘리먼트를 수신하는 콘텐츠 관리 시스템의 내부 애플리케이션의 포맷에 동적으로 적응될 수도 있다. 수신하는 내부 애플리케이션이 체인화된 애플리케이션들(내부 애플리케이션들)의 세트를 수반하는 애플리케이션 플로우의 애플리케이션인 경우, 비표준 데이터 컨테이너는, 비표준 데이터 컨테이너의 자동 직렬화 특성을 사용하여 데이터 엘리먼트가 송신되는 각각의 내부 애플리케이션의 포맷에 동적으로 적응될 수도 있다.In order to dynamically manage any type of content, the content management engine 3, in response to the received content comprising non-standard data elements transmitted from the non-standard content provider system 5 to the travel management system 100, Non-standard data container. The non-standard data container may be dynamically adapted to the format of the internal application of the content management system that receives the data element due to the automatic serialization nature of the non-standard data container. If the receiving internal application is an application of an application flow involving a set of chained applications (internal applications), then the non-standard data container may use the automatic serialization property of the non- Lt; RTI ID = 0.0 > format. ≪ / RTI >

더 구체적으로는, 여행 관리 시스템(100)이 비표준 콘텐츠 타입을 제공하는 새로운 여행 공급자(5)에게 연결되는 경우, 비표준 콘텐츠 공급자 시스템(5)으로부터 수신되는 비표준 데이터 엘리먼트는 비표준 콘텐츠 타입을 할당받은 이러한 비표준 데이터 컨테이너에 저장된다. 그 다음, (예를 들면, 애플리케이션 플로우의) 내부 애플리케이션에 의해 비표준 레코드 데이터 구조(91)에 레코드가 추가될 수 있다. 그 레코드는 레코드 식별자와 비표준 콘텐츠 타입을 갖는 비표준 데이터 컨테이너를 포함할 수도 있다. 비표준 데이터 컨테이너는 속성들의 리스트를 포함할 수도 있는데, 각각의 속성은 키와 값에 의해 표현된다. 각각의 속성 그 자체는 부속성들의 리스트를 포함하며, 각각은 (부속성들 등에 대해서도 마찬가지로) 키와 값에 의해 표현된다. 각각의 속성 키는 이름 및 타입과 관련된다. 비표준 데이터 컨테이너는 자신이 나타내는 구조가 무엇이든 간에 또는 자신이 포함하는 데이터가 무엇이든 간에, 그 자신을 자체 구현하도록 구성된다: 비표준 데이터 컨테이너의 일부인 임의의 속성의 임의의 값의 판독 전용 액세스 또는 판독/기록 액세스(즉, 획득 및 설정)를 위해, 비표준 데이터 컨테이너는, 하드 코딩에 의한 게터/세터(getter/setter) 방법을 구현할 필요 없이, 키 이름 또는 키 타입 어느 것에도 의존하지 않는 방법을 통해 이러한 액세스를 가능하게 한다.More specifically, when the travel management system 100 is connected to a new travel provider 5 that provides a non-standard content type, the non-standard data elements received from the non-standard content provider system 5 may be associated with such non- Stored in a non-standard data container. A record may then be added to the non-standard record data structure 91 by an internal application (e.g., of an application flow). The record may include a non-standard data container having a record identifier and a non-standard content type. A nonstandard data container may contain a list of attributes, each attribute represented by a key and a value. Each attribute itself contains a list of sub-attributes, each represented by a key and value (as well as sub-attributes, etc.). Each attribute key is associated with a name and a type. A non-standard data container is configured to implement itself, whatever the structure it represents, or whatever data it contains, itself: a read-only access or read of any value of any attribute that is part of a non- / Non-standard data container, for write access (i. E. Acquiring and setting), may be implemented via a method that does not depend on either the key name or the key type, without having to implement a getter / setter method by hard- This makes access possible.

따라서, 비표준 데이터 컨테이너는, 콘텐츠의 타입이 무엇이든 간에, 비표준 PNR(91)에 새로운 레코드를 생성하는 데 사용될 수 있다. 이러한 레코드는, 예를 들면, 여행 애플리케이션을 실행하거나, 클라이언트 디바이스(7)에 대한 서비스 요청 결과의 표시를 생성하거나, 또는 콘텐츠를 외부 디바이스(예를 들면, 여행 공급자 시스템 또는 여행 디바이스)로 송신하기 위한 임의의 타입의 콘텐츠 관리 액션에 대해 콘텐츠 관리 엔진(3)에 의해 투명하게 액세스될 수 있다.Thus, the non-standard data container can be used to create a new record in the non-standard PNR 91, whatever the type of content. Such records may be provided, for example, to execute a travel application, to generate an indication of a service request result for the client device 7, or to transmit content to an external device (e.g., a travel provider system or travel device) And can be accessed transparently by the content management engine 3 for any type of content management action.

이제 도 5를 참조하면, 하나 이상의 여행 공급자 시스템들로부터 수신되는 콘텐츠에 응답하여 확장된 여행 레코드(9)에 새로운 레코드를 생성하기 위한 프로세스를 묘사하는 순서도가 제공된다.Referring now to FIG. 5, a flow diagram depicting a process for creating a new record in an extended travel record 9 in response to content received from one or more travel provider systems is provided.

블록 501에서, 콘텐츠 관리 엔진(3)은, 예를 들면, 여행 에이전시 시스템과 같은 클라이언트 디바이스(7)로부터의 서비스 요청에 응답하여, 메시지 교환 포맷들(14 및/또는 15)을 통해 하나 이상의 여행 공급자들(4, 5)로부터 콘텐츠를 수신할 수도 있다.At block 501, the content management engine 3 may send one or more trips (e. G., ≪ RTI ID = 0.0 & And may receive content from providers 4, 5.

콘텐츠는 복수의 관련 데이터 엘리먼트들, 예를 들면, 순차적으로 수신되는 비행기 여행 제품(flight product)(표준 데이터 엘리먼트) 및 택시 제품(taxi product )(비표준 콘텐츠)과 같은 동일한 여행에 관련된 데이터 엘리먼트들을 포함할 수도 있다. 공통 콘텐츠와 관련되는 데이터 엘리먼트는 순차적으로 또는 병렬로 수신될 수도 있다. 데이터 엘리먼트들은 그들이 동일한 콘텐츠의 일부임을 식별하는 정보를 포함할 수도 있다.The content includes a plurality of related data elements, e.g., data items related to the same trip, such as sequentially received flight products (standard data elements) and taxi products (non-standard content) You may. The data elements associated with the common content may be received sequentially or in parallel. The data elements may include information identifying they are part of the same content.

데이터 엘리먼트는 표준 데이터 엘리먼트(예를 들면, 비행기 여행 제품) 및/또는 비표준 데이터 엘리먼트(예를 들면, 택시 제품)를 포함할 수도 있다.The data elements may include standard data elements (e.g., air travel products) and / or non-standard data elements (e.g., taxi products).

표준 데이터 엘리먼트(예를 들면, GDS 콘텐츠)는 TTY와 같은 제1의 메시지 교환 포맷(14)에 따라 수신될 수도 있다.Standard data elements (e.g., GDS content) may be received in accordance with a first message exchange format 14, such as TTY.

비표준 데이터 엘리먼트는 제2의 메시지 교환 포맷(15)에 따라 XML과 같은 마크업 설명 언어(markup description language)에 따라 정의되는 메시지의 형태로 데이터 교환 유닛(11)에 의해 수신될 수도 있다. 하기의 설명은 여행 관리 시스템(100)과 외부 시스템 사이의 데이터 교환에 대해 XML 메시지(XML 다큐먼트 또는 파일로 또한 칭해짐)를 참조로 이루어 질 것이다. 데이터 교환 메시지는 메시지의 구조 및 메시지 내에 포함되는 데이터의 타입과 포맷을 설명하기 위한 구조 설명 파일(structure description file)을 포함할 수도 있다. 예를 들면, 타입 XML의 데이터 교환 메시지에 대해, XML 메시지의 속성의 구조의 표현을 제공하기 위한 구조 설명 파일로서 XML XSD 스키마가 사용될 수도 있다.The non-standard data element may be received by the data exchange unit 11 in the form of a message defined according to a markup description language such as XML according to the second message exchange format 15. [ The following description will be made with reference to an XML message (also referred to as an XML document or file) for data exchange between the travel management system 100 and an external system. The data exchange message may include a structure description file for describing the structure of the message and the type and format of data included in the message. For example, for a data exchange message of type XML, an XML XSD schema may be used as a structure description file to provide a representation of the structure of the attributes of the XML message.

블록 502에서, 공통 콘텐츠에 대해 수신되는 각각의 엘리먼트에 대해, 콘텐츠 관리 엔진(3)은 데이터 엘리먼트를 추출할 수도 있다. 콘텐츠 추출은 콘텐츠 관리 엔진(3)의 내부 애플리케이션에 의해 수행될 수도 있다.At block 502, for each element received for the common content, the content management engine 3 may extract the data element. Content extraction may be performed by an internal application of the content management engine 3. [

데이터 엘리먼트가 표준 콘텐츠(예를 들면, 비행기 여행 제품)에 대응하면, 콘텐츠 관리 엔진(3)은, 블록 503에서 데이터 엘리먼트의 타입(예를 들면 비행기 여행 타입)을 갖는 표준 데이터 컨테이너(이하, "표준 컨테이너"로 또한 칭해짐)를 사용하여 표준 콘텐츠(예를 들면, 비행기 여행 제품)에 대한 표준 PNR(90)에 레코드(R)를 생성한다. 표준 데이터 컨테이너는 미리 정의된 타입의 데이터 엘리먼트(표준 데이터 엘리먼트)에 대해 구성된 정적 컨테이너일 수도 있다. 레코드(R)는 레코드 식별자(I)를 할당받을 수도 있고 블록 504에서 표준 데이터 컨테이너와 관련될 수도 있다. 레코드는 일시적 콘텍스트에 및/또는 적어도 하나의 데이터베이스(8)에 저장될 수도 있다. If the data element corresponds to a standard content (e.g., an airplane travel product), the content management engine 3 sends a standard data container (hereinafter " (Also referred to as a " standard container ") to generate a record R in a standard PNR 90 for standard content (e.g., an airplane travel product). A standard data container may be a static container configured for a predefined type of data element (a standard data element). The record R may be assigned a record identifier (I) and may be associated with a standard data container at block 504. The records may be stored in the temporary context and / or in at least one database 8.

데이터 엘리먼트가 비표준 콘텐츠(예를 들면, 택시 제품)에 대응하면, 콘텐츠 관리 엔진(3)은 블록 505에서 비표준 데이터 컨테이너(이하, "비표준 컨테이너"로 또한 칭해짐)를 사용하여 비표준 콘텐츠(예를 들면, 택시 제품)에 대한 비표준 PNR(91)에 레코드(R)를 생성한다. 단계 505는 애플리케이션 플로우의 하나의 내부 애플리케이션에 의해 트리거될 수도 있다. ETR에서 레코드의 생성을 트리거하는 내부 애플리케이션은 데이터 교환 유닛(11)으로부터 비표준 데이터 엘리먼트를 수신하는 내부 애플리케이션과는 상이할 수도 있다. 예를 들면, 제1의 내부 애플리케이션(A1)은 비표준 데이터 엘리먼트를 애플리케이션(A1)의 포맷(F1)으로 수신할 수도 있고, 비표준 데이터 엘리먼트는, 비표준 데이터 엘리먼트가 내부 애플리케이션(An)에 애플리케이션(An)의 포맷(Fn)으로 도달할 때까지, 체인 내의 다른 내부 애플리케이션으로 송신될 수도 있고, 최종적으로, 애플리케이션(An)은 비표준 레코드 데이터 구조(91)(포맷(Fn)을 갖는 비표준 데이터 컨테이너) 내에 레코드의 생성을 트리거한다. 비표준 데이터 컨테이너는 데이터 엘리먼트의 타입(예를 들면, 택시 타입)에 할당될 수도 있다.If the data element corresponds to a non-standard content (e.g., a taxi product), the content management engine 3 uses non-standard data containers (also referred to below as "non-standard containers" (R) to the non-standard PNR (91) for the taxis (for example, taxi products). Step 505 may be triggered by one internal application of the application flow. An internal application that triggers the creation of a record in the ETR may be different from an internal application that receives non-standard data elements from the data exchange unit 11. [ For example, the first internal application A1 may receive the non-standard data element in the format F1 of application A1, and the non-standard data element may be a non- , And finally to the application An in the non-standard record data structure 91 (a non-standard data container with the format Fn) until it reaches the format Fn of the non- Triggers generation of records. A non-standard data container may be assigned to a type of data element (e.g., a taxi type).

비표준 데이터 컨테이너는 임의의 타입의 데이터 엘리먼트(비표준 데이터 엘리먼트)를 포함하도록 적응된다. 레코드(R)는 레코드 식별자(I)를 할당받을 수도 있고 블록 506에서 비표준 데이터 컨테이너와 관련될 수도 있다. 레코드는 일시적 콘텍스트에 및/또는 적어도 하나의 데이터베이스에 저장될 수도 있다.A non-standard data container is adapted to include any type of data element (non-standard data element). The record R may be assigned a record identifier I and may be associated with a non-standard data container at block 506. The records may be stored in the temporary context and / or in at least one database.

일 실시형태에서, 블록 506에서 생성된 비표준 데이터 컨테이너는 블록 507에서 태그를 더 할당받을 수도 있다. 이러한 태그는, 예를 들면, 클라이언트 디바이스(7)에 송신되지 않아야 하는 데이터 엘리먼트를 식별하기 위해, 레코드(R)에 액세스할 때 콘텐츠 관리 엔진(3)에 의해 사용될 수도 있다.In one embodiment, the non-standard data container generated at block 506 may be further allocated a tag at block 507. Such a tag may be used by the content management engine 3 when accessing the record R, for example, to identify a data element that should not be transmitted to the client device 7.

따라서, 공통 콘텐츠(관련 데이터 엘리먼트)에 대응하는 모든 표준 데이터 엘리먼트 및 비표준 데이터 엘리먼트에 대해 표준 PNR(90) 및 비표준 PNR(91)에 고유의 레코드 식별자(I)가 생성될 수도 있다. 따라서, 이 공통 레코드 식별자는, 이질적 데이터 엘리먼트들이 고유의 레코드 데이터 구조에 유지되는 것처럼, 그들에 대응하는 레코드를 처리하도록 공유될 수 있다. 예를 들면, 레코드 식별자(I)는 애플리케이션이 비표준 데이터 엘리먼트를, 그 데이터의 타입이 무엇이든 간에, 판독/기록하는 것을 허용하도록 콘텐츠 관리 엔진(3)에 의해 사용될 수도 있다.Thus, a record identifier (I) unique to the standard PNR 90 and the non-standard PNR 91 may be generated for all standard data elements and non-standard data elements corresponding to the common content (associated data element). Thus, this common record identifier can be shared to process records corresponding to them, such that heterogeneous data elements are maintained in a unique record data structure. For example, the record identifier I may be used by the content management engine 3 to allow an application to read / write non-standard data elements, whatever the type of the data.

단순화된 예에서, 확장된 여행 레코드(9)는 예를 들면 공통 레코드 식별자(I1)를 할당받은 여러 레코드들을 포함할 수도 있으며, 이러한 레코드 식별자(ID1)는 공통적으로 하기의 데이터 엘리먼트와 관련된다:In a simplified example, the extended travel record 9 may comprise, for example, several records assigned a common record identifier I1, which record identifier (ID1) is commonly associated with the following data elements:

- 타입1의 표준 데이터 엘리먼트(D1)- Type 1 standard data element (D1)

- 타입2의 표준 데이터 엘리먼트(D2)- a standard data element of type 2 (D2)

- 타입3의 표준 데이터 엘리먼트(D3)- Type 3 standard data element (D3)

- 타입4의 태깅된 비표준 데이터 엘리먼트(D4)- a tagged non-standard data element of type 4 (D4)

- 타입5의 비표준 데이터 엘리먼트(D5)- Type 5 non-standard data element (D5)

- 타입2의 태깅된 비표준 데이터 엘리먼트(D6)- a tagged non-standard data element of type 2 (D6)

데이터 엘리먼트(D1, D2, D3)에 대한 레코드는 레코드 식별자(ID1)와 관련하여 표준 레코드 데이터 구조(90)에 유지된다.The records for the data elements D1, D2 and D3 are maintained in the standard record data structure 90 with respect to the record identifier ID1.

데이터 엘리먼트(D4, D5, D6)에 대한 레코드는 (비표준 데이터 컨테이너에서) 레코드 식별자(ID1)와 관련하여 비표준 레코드 데이터 구조(91)에 유지된다.The records for the data elements D4, D5 and D6 are retained in the non-standard record data structure 91 with respect to the record identifier ID1 (in the non-standard data container).

표준 데이터 엘리먼트를 저장하는 데 사용된 표준 데이터 컨테이너는 IATA 표준에 따른 미리 정의된 타입 및 속성의 세트를 구비하는 데이터 엘리먼트를 포함하도록 명확히 적응된다. 따라서, 표준 데이터 컨테이너는 표준화된 데이터 포맷과 데이터 타입에만 적응된다.The standard data container used to store standard data elements is specifically adapted to include data elements having a predefined set of types and attributes according to the IATA standard. Thus, standard data containers are only adapted to standardized data formats and data types.

비표준 데이터 컨테이너는 비표준 데이터 엘리먼트의 타입, 속성 및 포맷이 무엇이든 간에 생성될 수 있다. 각각의 속성 그 자체는 다수의 부속성들을 포함할 수 있다.A non-standard data container may be created whatever the type, attributes, and format of the non-standard data element. Each attribute itself may contain a plurality of sub-attributes.

따라서, 콘텐츠 관리 엔진(3)은 확장 여행 레코드(9)에 새로운 타입의 콘텐츠를, 그 콘텐츠의 타입이 무엇이든 간에, 동적으로 생성하기 위해 비표준 데이터 컨테이너를 사용한다.Thus, the content management engine 3 uses a non-standard data container to dynamically create a new type of content in the extended travel record 9, whatever the type of the content.

비표준 데이터 컨테이너는, 표준 컨테이너와는 달리, 주어진 엘리먼트에 대한 코드로 하드 코딩되지 않는 다형 데이터 컨테이너(polymorphic data container)일 수도 있다. 대조적으로, 그것이 취해야 하는 형태는 동적으로 정의될 수도 있다.A non-standard data container may be a polymorphic data container, unlike a standard container, that is not hard-coded into code for a given element. In contrast, the form it should take may be dynamically defined.

비표준 데이터 컨테이너는 자동 직렬화/역직렬화(deserialization) 특성을 또한 구비할 수도 있다.Non-standard data containers may also have automatic serialization / deserialization properties.

소정의 실시형태에서, 비표준 데이터 컨테이너는, 비표준 데이터 컨테이너를 처리하는 내부 애플리케이션의 비즈니스 객체 모델(21)에 의해 표현되는 기술적 객체일 수도 있으며, 이것은 확장된 여행 레코드(9)에 새로운 콘텐츠의 통합을 용이하게 한다.In some embodiments, the non-standard data container may be a technical object represented by a business object model 21 of an internal application that processes a non-standard data container, which may allow integration of new content into the extended travel record 9 .

도 6은 본 발명의 소정의 실시형태에 따른 콘텐츠 관리 엔진(3)의 내부 애플리케이션의 구조를 개략적으로 묘사하는데, 여기서 비표준 데이터 컨테이너는 비즈니스 객체 모델(Business Object Model; 21)이다. 내부 애플리케이션은 독립형 애플리케이션 또는 (관련 애플리케이션을 형성하는) 애플리케이션들의 체인 내의 한 애플리케이션일 수도 있다.Figure 6 schematically depicts the structure of an internal application of the content management engine 3 according to some embodiments of the present invention, where the non-standard data container is a business object model (21). The internal application may be a standalone application or an application within a chain of applications (forming the associated application).

내부 애플리케이션은 다음을 포함한다:Internal applications include:

- 구조화된 인터페이스(2),- structured interfaces (2),

- 비즈니스 객체 모델(21),- Business object model (21),

- 비즈니스 레이어(22).- Business layer (22).

구조화된 인터페이스(2)는 애플리케이션들이 서로 통신하는 방식을 나타낸다. 구조화된 인터페이스는 애플리케이션에 의해 프로세싱될 기능성 데이터를 전달할 수도 있다. 이들은 타당성 검증 액션(validation action)을 수행하고 동작하기 위해 비즈니스 레이어(22)에 의해 사용되는 비즈니스 객체 모델(21)로 매핑될 수 있다. 타당성 검증 액션은 문법적 체크 외에 비즈니스 레이어(22)에 의해 데이터에 대해 수행되는 기능성 체크에 대응한다. 데이터 엘리먼트는 타당성 검증 이후에 구조화된 방식으로 확장된 레코드 데이터 구조(9)에 삽입될 수 있다.The structured interface 2 indicates how the applications communicate with each other. The structured interface may also convey functionality data to be processed by the application. They may be mapped to a business object model 21 used by the business layer 22 to perform and operate a validation action. The validation action corresponds to a functional check performed on the data by the business layer 22 in addition to the grammatical check. The data element may be inserted into the expanded record data structure 9 in a structured manner after validation.

결과로서, 확장된 PNR(9)의 데이터 구조에서의 수정은 애플리케이션 비즈니스 객체 모델(21)의 수정 및 그 구조화된 인터페이스의 수정을 수반할 수도 있다. 또한, 데이터 구조 수정으로부터 이익을 얻기 위해, 가능한 다른 관련 애플리케이션은 그들의 비즈니스 객체 모델(21), 그들의 구조화된 인터페이스(2)를 또한 적응시키고 또한 다른 모듈 인터페이스에 데이터 모델의 새로운 버전을 통합시키는 것을 필요로 할 수도 있다.As a result, modifications in the data structure of the extended PNR 9 may involve modification of the application business object model 21 and modification of its structured interface. Also, in order to benefit from the modification of the data structure, possible other related applications need to also adapt their business object model 21, their structured interface 2 and also incorporate a new version of the data model into the other module interface .

본 발명의 다양한 실시형태는 비표준 데이터 컨테이너 모델을 사용하는 것에 의해 이러한 수정에 관련된 비용을 제한하는 것을 가능하게 한다.Various embodiments of the invention make it possible to limit the costs associated with such modifications by using a non-standard data container model.

콘텐츠 관리 엔진(3)에서 실행되는 여행 서비스 애플리케이션은 도 7의 도면에 따라 동작할 수도 있다. BOM(21)은 애플리케이션에 의해 사용되는 내부 데이터 모델을 나타내기 위해 사용되는 비즈니스 객체 모델(Business Object Model; 21)을 나타낸다.The travel service application executed in the content management engine 3 may operate according to the diagram of Fig. The BOM 21 represents a business object model 21 used to represent an internal data model used by an application.

서비스(210)는 애플리케이션이 목표를 삼을 수 있는 여행자 디바이스(6), 클라이언트 디바이스(7), 또는 비표준 여행 공급자(5)로부터 여행 관리 시스템(100)에 의해 수신되는 임의의 구조화된 메시지(예컨대 XML 또는 전자 데이터 교환(Edifact) 메시지)를 나타낸다.Service 210 may be any structured message received by travel management system 100 from travel device 6, client device 7, or non-standard travel provider 5 that an application may target, XML or electronic data exchange (Edifact) message.

콘텍스트 서버(211)는 다른 애플리케이션과의 비동기 상호작용들 사이에서 애플리케이션에 의해 사용되는 데이터의 콘텍스트의 스토리지("콘텍스트"로 또한 칭해짐)를 나타낸다.Context server 211 represents storage (also referred to as a "context") of the context of the data used by the application between asynchronous interactions with other applications.

콘텍스트로부터의 데이터는 요청에 응답하여, 주기적으로, 또는 소정의 조건에 따라 데이터베이스(8)에 저장될 수도 있다.The data from the context may be stored in the database 8 in response to the request, periodically, or according to certain conditions.

도 8은, 소정의 실시형태에 따른, 콘텐츠 관리 엔진(3)의 체인화된 애플리케이션(A1 내지 AN) 사이의 상호작용을 예시한다. 여행 관리 시스템(100)이 분산형 아키텍쳐에서 동작되는 경우, 프로세스를 담당하는 체인화된 내부 애플리케이션들(A1 내지 AN)은 서로를 호출할 수도 있고, 이것은 도 7의 아키텍쳐의 다수의 애플리케이션 서버들(30)(백엔드 서버로 또한 칭해짐)로의 몇몇 복제로 귀결될 수도 있고, 각각의 애플리케이션 서버(30)는 각각의 체인화된 애플리케이션(Ai)과 관련된다. 프로세스들의 체인의 각 단계에서, 종래 방식에서는, 애플리케이션(A1)에 대한 제1의 백엔드 서버(30)로부터 애플리케이션(An)에 대한 최종 서버(30)로 전달되는 데이터는, 서버(30)에서 프로세스 중간의 다른 서버로 전달되기 이전에 상이한 방식으로 변환되고, 인코딩되고 그리고 디코딩된다. 각각의 백엔드 서버(30)는 유입 데이터 엘리먼트를 또한 디코딩하고 그 데이터를 자신의 전용 프로세스를 위해 데이터 엘리먼트에 액세스하기 이전에 타당성 검증을 행한다. 그 다음 데이터는 인코딩되어 체인의 다음 애플리케이션(Ai+1)으로 송신된다. 또한, 비즈니스 객체 모델(21)은 정보를 구조화된 인터페이스(2) 안에 채우거나 또는 정보를 구조화된 인터페이스(2)로부터 검색하는 프로세스에 연루될 수도 있고 데이터를 기록/판독하는 데 사용될 수도 있다. 종래의 방식에서, 그것은 구조화된 인터페이스(2) 및 중앙 레코드 저장소 안으로/로부터 데이터를 기록/판독하기 위해 손으로 코딩된 컴포넌트(hand-coded component)를 필요로 한다. 따라서, 데이터 모델로의 단일의 변경은 비용이 많이 들 수도 있다. 또한, 애플리케이션이 처리하고 있는 데이터 엘리먼트는 일반적으로 많은 기능적 제약을 가지며 그 결과 각각의 애플리케이션은, 처리되는 데이터가 산업적 제약과 호환되는 적절한 포맷인 것을 보장하도록 요구받을 수도 있다.Figure 8 illustrates the interaction between the chained applications A1 to AN of the content management engine 3, according to some embodiments. When the travel management system 100 is operated in a distributed architecture, the chained internal applications A1 to AN responsible for the process may call each other, which may be a number of application servers 30 ) (Also referred to as a back-end server), and each application server 30 is associated with a respective chained application Ai. At each stage of the chain of processes, in the conventional manner, the data transferred from the first back-end server 30 for the application A1 to the final server 30 for the application An is sent to the server 30, Encoded, and decoded in a different manner before being forwarded to other intermediate servers. Each backend server 30 also decodes the incoming data element and performs validation before accessing the data element for its own dedicated process. The data is then encoded and transmitted to the next application in the chain (Ai + 1). The business object model 21 may also be involved in the process of populating the information into the structured interface 2 or retrieving information from the structured interface 2 and may be used to write / read data. In a conventional manner, it requires a structured interface 2 and a hand-coded component for writing / reading data into / from the central record store. Thus, a single change to the data model may be costly. In addition, the data elements that an application is processing are generally subject to a number of functional constraints, such that each application may be required to ensure that the data being processed is in an appropriate format compatible with industry constraints.

결과적으로, 종래의 방식에서는, 데이터 엘리먼트는 이러한 체인화된 애플리케이션들에서 매번 수정되어야 하며, 프로세스의 모든 단계들은, 각각의 프로세스가 새로운 데이터를 다음 프로세스로 송신해야 하고 따라서 그것을 디코딩해야 하고, 그것의 타당성 검증을 행해야 하고, 그리고 그것을 인코딩해야 할 것이기 때문에, 영향을 받을 수 있다. 또한, 새로운 콘텐츠가 기존 애플리케이션에 추가되어야 하는 경우, 각각의 프로세스는 새로운 콘텐츠를 다음 프로세스로 추가로 송신해야 하고 체인에서의 각 프로세스는 그 새로운 엘리먼트를 디코딩하고, 타당성 검증을 행하고 그리고 인코딩해야 하다.As a result, in the conventional manner, the data elements must be modified each time in these chained applications, and every step of the process requires each process to transmit the new data to the next process and therefore decode it, It can be affected because it has to be verified and it will have to be encoded. Also, if new content is to be added to an existing application, each process must send additional content to the next process, and each process in the chain must decode, validate, and encode the new element.

소정의 실시형태에 따른 본 발명은 BOM 타입의 비표준 데이터 컨테이너의 자기 직렬화 특성(self-serialization property)을 사용하는 것에 의해 상황을 향상시킨다.The present invention in accordance with certain embodiments improves the situation by using the self-serialization property of non-standard data containers of the BOM type.

구체적으로는, 비표준 데이터 컨테이너는, 비표준 콘텐츠 공급자(5)로부터의 데이터 엘리먼트(D1, D2 및 D3)의 수신에 응답하여, 체인의 제1의 애플리케이션(A1)에 의해 생성될 수도 있다. 이러한 비표준 콘텐츠는, 그것이 PNR(90)의 표준 구조를 준수하는 데이터 타입과 속성을 포함하지 않기 때문에 그대로는 표준 PNR(90)에 저장될 수 없다. 비표준 콘텐츠는 다양한 형태들을 취할 수도 있고 다양한 타입들 및 속성들과 관련될 수도 있다.Specifically, the non-standard data container may be generated by the first application A1 in the chain, in response to receiving the data elements D1, D2 and D3 from the non-standard content provider 5. This non-standard content can not be stored in the standard PNR 90 as it is, since it does not contain data types and attributes that conform to the standard structure of the PNR 90. [ Non-standard content may take on various forms and may relate to various types and attributes.

제1의 애플리케이션(A1)은 예를 들면 각각의 비표준 데이터 엘리먼트(Dk)에 대한 비표준 컨테이너를 제1의 내부 애플리케이션(A1)(예를 들면, 프로토콜 버퍼)의 포맷(F1)으로 생성할 수도 있다. 그 다음, 제1의 애플리케이션(A1)은 비표준 컨테이너의 자동 직렬화/역직렬화 특성을 사용하는 메시지(M1)를 사용하여 비표준 컨테이너를 체인의 다음 애플리케이션으로 전달한다. 메시지(M1)는 자동 직렬화/역직렬화 정보를 반송하는 블롭(blob)일 수도 있다. 그 다음, 제2의 애플리케이션(A2)은 비표준 데이터 컨테이너를 내부 애플리케이션(A2)의 포맷(F2)으로 추출할 수도 있다. 마찬가지로, 제2의 애플리케이션은, 애플리케이션(An)이 ETR(9)에서 레코드의 생성을 트리거할 때까지, 자동 직렬화/역직렬화 정보를 반송하는 메시지(M2, M3, 등)를 사용하여 체인 내의 다른 애플리케이션으로 비표준 컨테이너를 송신할 수도 있다.The first application A1 may generate a non-standard container for each non-standard data element Dk, for example, in the format F1 of the first internal application A1 (e.g., protocol buffer) . The first application Al then uses a message M1 that uses the automatic serialization / deserialization feature of the non-standard container to pass the non-standard container to the next application in the chain. The message M1 may be a blob carrying the automatic serialization / deserialization information. The second application A2 may then extract the non-standard data container into the format F2 of the internal application A2. Likewise, the second application may use the messages (M2, M3, etc.) carrying the automatic serialization / deserialization information until the application An triggers the creation of a record in the ETR 9, You can also send non-standard containers to your application.

따라서, 비표준 데이터 컨테이너를 사용하는 것에 의해, 새로운 데이터 구조를 ETR(9)에 추가하거나, 데이터 구조를 업데이트하거나 또는 내부 애플리케이션의 체인에 데이터 엘리먼트를 송신하는 데 코드 변경은 불필요하다. 또한, 기존 데이터 구조를 수정할 필요도 없다. 비표준 데이터 컨테이너에 의해 포함되는 데이터는, 그것을 추출하여 한 포맷에서 다른 포맷으로 변환할 필요 없이, 이용가능하게 될 수 있다. 따라서, 중간의/손으로 코딩되는 레이어가 감소될 수 있다.Thus, by using a non-standard data container, code changes are unnecessary for adding a new data structure to the ETR 9, updating the data structure, or sending data elements to a chain of internal applications. Also, there is no need to modify existing data structures. Data contained by a non-standard data container can be made available without having to extract it and convert it from one format to another. Thus, the intermediate / hand coded layer can be reduced.

도 9의 예에 묘사된 바와 같이, 비표준 데이터 컨테이너(50)는, 애플리케이션에 의해 처리될 수 있는 비즈니스 객체 모델을 설명하는 키 값의 세트에 의해 정의될 수도 있다. 각각의 키(51)는 BOM의 속성을 정의하고 관련 값(52)(도 9에서 "데이터"로 또한 칭해짐)을 포함한다. 예를 들면, 키 "city"에 의해 정의되는 비표준 데이터 컨테이너는 값 "Paris"와 관련된다. 데이터 컨테이너는 복잡한 구조를 포함할 수도 있고 임의의 종류의 데이터와 관련될 수도 있다. 예를 들면, 데이터 컨테이너의 하나 이상의 키들은, 주어진 데이터 컨테이너를 관련 데이터 컨테이너의 세트와 관련시키기 위해 레퍼런스(reference; 53)(도 9에서 "REF"로 칭해짐)와 더 관련될 수도 있다. 예를 들면, "phone/+335551213"의 키/값의 쌍에 의해 지정되는 데이터 컨테이너는 다음의 데이터 컨테이너에 대한 레퍼런스("REF")를 포함한다: "mobile/+336123456" 및 "home/+335551213".As depicted in the example of FIG. 9, the non-standard data container 50 may be defined by a set of key values that describe a business object model that can be processed by an application. Each key 51 defines an attribute of the BOM and includes an associated value 52 (also referred to as "data" in FIG. 9). For example, a non-standard data container defined by the key "city " is associated with the value" Paris ". The data container may include a complex structure or may be associated with any kind of data. For example, one or more keys of the data container may further be associated with a reference 53 (referred to as "REF" in FIG. 9) to associate a given data container with a set of related data containers. For example, a data container specified by a key / value pair of "phone / + 335551213 " includes a reference (" REF ") to the following data container:" mobile / + 336123456 " 335551213 ".

비표준 데이터 컨테이너(50)는 비표준 데이터 컨테이너에 포함된 임의의 데이터 엘리먼트에 대한 기록 모드에서 콘텐츠 관리 엔진(3)에 대한 액세스를, 이러한 액세스를 허용할 액세서(accessor)를 개발할 필요 없이, 허용한다. 이것은 유연성과 확장성(scalability)을 보장한다.The non-standard data container 50 allows access to the content management engine 3 in a recording mode for any data element contained in a non-standard data container, without having to develop an accessor to allow such access. This ensures flexibility and scalability.

또한, 비표준 데이터 컨테이너에 포함된 데이터 엘리먼트에 대한 액세스는, Xpath와 같은 적절한 쿼리 언어에 따른 쿼리를 사용하는 것에 의해 애플리케이션 프로세싱의 임의의 시간에서 콘텐츠 관리 엔진(3)에 의해 수행될 수 있다.Access to the data elements contained in the non-standard data container can also be performed by the content management engine 3 at any time during application processing by using queries according to an appropriate query language such as Xpath.

비표준 데이터 컨테이너는 프로그램적으로 이전 버전 및 미래 버전(backward and forward)과 호환될 수 있다. 프로그래밍의 관점에서, 비표준 데이터 컨테이너와 관련되는 데이터 엘리먼트 구조의 신규 버전의 사용에 코드 변경이 불필요하다.Non-standard data containers can be programmatically compatible with backward and forward versions. From a programming perspective, code changes are unnecessary for use of a new version of the data element structure associated with a non-standard data container.

비표준 데이터 컨테이너는 직렬화/역직렬화를 지원하도록 구성된다. 특히, 직렬화는 데이터 컨테이너를 확장가능 포맷으로 인코딩하기 위해 비표준 콘텐츠의 하나 또는 여러 속성들의 생성 및 수정시에 수행될 수도 있고 역직렬화는 애플리케이션이 비표준 콘텐츠의 적어도 하나의 속성을 판독할 필요가 있을 때마다 수행될 수도 있다.Non-standard data containers are configured to support serialization / deserialization. In particular, serialization may be performed upon creation and modification of one or more attributes of the non-standard content to encode the data container into an extensible format, and deserialization may be performed when the application needs to read at least one attribute of non-standard content .

구체적으로는, 비표준 데이터 컨테이너의 키 및 값은 비표준 데이터 컨테이너를 나타내는 기술적 객체(예를 들면, BOM)의 상태를, 저장될 수 있는 또한 데이터 컨테이너를 그 원래의 상태로 복원하도록 역직렬화 메커니즘에 의해 재구성될 수 있는 포맷(예를 들면, 이진 표현)으로 변환하는 것에 의해 임의의 시간에 직렬화될 수 있다. 따라서, 비표준 데이터 컨테이너는 데이터 컨테이너에 포함된 데이터가 무엇이든 간에 임의의 목표 포맷으로 변환될 수 있다. 직렬화 및 역직렬화 메커니즘은 하드 코딩을 필요로 하지 않는다. 직렬화 정보는 데이터 컨테이너와 관련된 라이브러리에 임베딩될 수도 있다. 따라서, 이러한 BOM의 사용은, 특정 코딩을 필요로 하지 않으면서, 비표준 데이터 컨테이너의 키에 의해 정의되는 임의의 종류의 구조에 대해 지원될 수도 있는 직렬화 메커니즘을 기본적으로 제공한다. 소정의 예시적인 실시형태에서, 직렬화/역직렬화 메커니즘에 따라 비표준 데이터 컨테이너의 상태를 변환하기 위해 사용되는 비표준 데이터 컨테이너의 표현 포맷은, 도 10에 예시된 바와 같이, 예를 들면, XML, ASCII, JSON, 이진 포맷에 기초할 수도 있다.In particular, the key and value of the non-standard data container may be used by a deserialization mechanism to restore the state of the technical object (e.g., BOM) that represents the non-standard data container to the original state, Can be serialized at any time by converting to a format that can be reconstructed (e.g., a binary representation). Thus, the non-standard data container can be transformed into any target format whatever the data contained in the data container. Serialization and deserialization mechanisms do not require hard coding. The serialization information may be embedded in a library associated with the data container. Thus, the use of such a BOM basically provides a serialization mechanism that may be supported for any kind of structure defined by a key of a non-standard data container, without requiring a specific coding. In some exemplary embodiments, the representation format of the non-standard data container used to transform the state of the non-standard data container according to the serialization / deserialization mechanism may be, for example, XML, ASCII, It may be based on JSON, a binary format.

비표준 데이터 컨테이너의 값의 타당성 검증은 비표준 데이터 컨테이너 객체에 의해 표현되는 데이터 엘리먼트의 생성 및 수정시에만 요구될 수도 있다. 따라서, 키와 관련된 데이터 엘리먼트의 타당성을 다시 검증하는 데 판독 프로세스는 불필요하다. Validation of the values of non-standard data containers may only be required upon creation and modification of data elements represented by non-standard data container objects. Thus, the read process is unnecessary in re-validating the validity of the data element associated with the key.

비표준 데이터 컨테이너의 사용을 통해, 콘텐츠 타입(예를 들면, 항공편, 택시, 스포츠 쇼, 주차, 도시 교통 등)에 관련된 정보는 비표준 데이터 컨테이너 그 자체 안으로 전달될 수 있다. 비표준 데이터 컨테이너의 타입은 키로서 비표준 데이터 컨테이너에 직접 저장될 수도 있다.Through the use of non-standard data containers, information related to content types (e.g., flights, taxis, sports shows, parking, city traffic, etc.) can be conveyed into the non-standard data container itself. The type of the non-standard data container may be stored directly in the non-standard data container as a key.

몇몇 실시형태에서, 주어진 비표준 데이터 컨테이너의 생성 또는 수정에서의 타당성 검증 메커니즘은, 종래 방식에서와 같이 C++ 타입 대신 키로서 비표준 데이터 엘리먼트에 저장된 기능성 타입에 기초할 수도 있다.In some embodiments, the validation mechanism in the creation or modification of a given non-standard data container may be based on a functionality type stored in a non-standard data element as a key instead of a C ++ type as in the conventional manner.

소정의 실시형태에서, 비표준 데이터 컨테이너의 각각의 타입은 데이터 엘리먼트의 속성 구조(속성 레이아웃, 속성 의존성, 및 속성 포맷 등)를 설명하는 구조 설명 파일(예를 들면, XSD)과 관련될 수도 있다.In some embodiments, each type of non-standard data container may be associated with a structure description file (e.g., XSD) that describes the attribute structure (attribute layout, attribute dependencies, and attribute format, etc.) of the data element.

구조 설명 파일(예를 들면, XSD)은 기술적 객체(예를 들면, XML 객체)로서 표현되는 비표준 데이터 컨테이너의 속성과 엘리먼트 사이의 관계를 더 표현한다. 비표준 데이터 컨테이너와 관련되는 XSD 스키마 내에서, 비표준 데이터 컨테이너의 상이한 키/값과 그것에 적용되는 보조 제약은 XML 태그의 세트를 사용하여 설명될 수 있다. 구조 설명 파일은 비표준 데이터 컨테이너의 생성 및 수정에서 사용될 수도 있다. 또한, 보조 제약은 구조 설명 파일(예를 들면, XSD)을 사용하여 비표준 데이터 컨테이너에 적용될 수도 있다.A structure description file (e.g., XSD) further expresses the relationship between attributes and elements of a non-standard data container represented as a technical object (e.g., an XML object). Within the XSD schema associated with non-standard data containers, the different keys / values of the non-standard data container and the secondary constraints applied to it can be described using a set of XML tags. The structure description file may also be used in the creation and modification of non-standard data containers. In addition, auxiliary constraints may be applied to non-standard data containers using structure description files (e.g., XSD).

각각의 비표준 데이터 컨테이너와 관련되는 구조 설명 파일은 비표준 데이터 컨테이너의 생성 또는 수정에서 비표준 데이터 컨테이너의 속성의 타당성 검증을 행하는 데 사용될 수도 있다. 타당성 검증 메커니즘은, 비표준 데이터 컨테이너에 의해 표현되는 비표준 데이터 엘리먼트가, 콘텐츠가 위치될 데이터 엘리먼트의 설명을 고수하는지를 검증하는 것을 포함할 수도 있다. 소정의 실시형태에서, 타당성 검증 메커니즘은, 비표준 데이터 컨테이너와 관련된 구조 설명 파일을 사용하는 것에 의해 비표준 데이터 컨테이너에 저장된 데이터가 목표 포맷과 매치하는지를 확인하도록 구현될 수도 있다.The structure description file associated with each non-standard data container may be used to validate the properties of the non-standard data container in the creation or modification of the non-standard data container. The validation mechanism may include verifying that the non-standard data element represented by the non-standard data container adheres to the description of the data element in which the content is to be located. In some embodiments, the validation mechanism may be implemented to verify that the data stored in the non-standard data container matches the target format by using a structure description file associated with the non-standard data container.

여행 관리 시스템(100)은 비표준 데이터 컨테이너와 관련된 구조 설명 파일과 대응하여 비표준 데이터 컨테이너의 데이터 타입을 저장하기 위한 테이블을 유지할 수도 있다. 테이블은 프로세스의 실행시 업데이트될 수도 있다.The trip management system 100 may maintain a table for storing the data type of the non-standard data container in correspondence with the structure description file associated with the non-standard data container. The table may be updated at run time of the process.

콘텐츠 관리 엔진(3)은, 새로운 속성과 같은 비표준 데이터 컨테이너 구조를 설명하는 구조 설명 파일(예를 들면, XSD)을 업데이트하는 것에 의해 새로운 데이터를 비표준 데이터 컨테이너에 추가하도록 구성될 수도 있다.The content management engine 3 may be configured to add new data to the non-standard data container by updating a structure description file (e.g., XSD) describing a non-standard data container structure, such as a new attribute.

비표준 데이터 컨테이너를 정의하는 구조 설명 파일(예를 들면, XSD)은, 변경사항을 하드 코딩하고 코드를 재파일할 필요 없이, 수정될 수 있다. 따라서, 비표준 데이터 컨테이너의 수정은 동적이고 실행시 업데이트 가능하다.A structure description file (eg, XSD) that defines a non-standard data container can be modified without having to hard-code the changes and re-file the code. Thus, modification of non-standard data containers is dynamic and updateable at runtime.

도 11은 도 9의 예시적인 비표준 데이터 컨테이너들의 개략도로서 그들 각각의 타입: 전화번호 타입, 주소 타입, GPS 타입을 도시하고 있다. 정보 타입은 속성으로서 비표준 데이터 컨테이너에 저장될 수도 있다. 이러한 정보는 비표준 데이터 컨테이너와 관련된 구조 설명 파일을 검색하는 데 사용될 수도 있다.FIG. 11 is a schematic diagram of exemplary non-standard data containers of FIG. 9 showing their respective types: phone number type, address type, and GPS type. The information type may be stored as an attribute in a non-standard data container. This information may also be used to retrieve structure description files associated with non-standard data containers.

도 12는 상이한 타입(전화번호 타입, 주소 타입, GPS 타입)을 갖는 예시적인 비표준 데이터 컨테이너에 대한 XSD 설명 파일을 예시한다.Figure 12 illustrates an XSD description file for an exemplary non-standard data container having different types (phone number type, address type, GPS type).

소정의 실시형태에 따르면, 콘텐츠 관리 엔진(3)은, 클라이언트 디바이스(7)로 리턴되는 콘텐츠의 타입과 콘텐츠 관리 엔진(3)에 의해 유지되는 애플리케이션이 무엇이든 간에, 여행 관리 시스템(100)에 의해 클라이언트 디바이스(7)로 노출되는 고유 플랫폼의 내부 서비스 인터페이스들(2)의 세트를 더 생성할 수 있다.According to a certain embodiment, the content management engine 3 is capable of managing the type of content returned to the client device 7 and the application maintained by the content management engine 3, To generate a set of internal service interfaces (2) of the native platform exposed by the client device (7).

확장된 여행 레코드(9)는 엄청나게 많은 수의 애플리케이션들에 의해 사용될 수도 있다. 예를 들면, 콘텐츠 관리 엔진(3)은, 표준 여행 공급자 시스템(4)(예를 들면, 항공편 제품)으로부터 또한 임의의 다른 여행 공급자 시스템(5)(예를 들면, 비항공편 제품)으로부터 수신되는 외부 콘텐츠에 기초하여, 콘텐츠의 타입이 무엇이든 간에, 여행 서비스들의 상이한 타입을 클라이언트 디바이스(7)로 전달하기 위한 애플리케이션들(예를 들면, 여행 애플리케이션)의 세트를 포함할 수도 있다. 이러한 서비스는 예를 들면, 쇼핑, 부킹, 가격책정, 발행, 환불 서비스를 포함할 수도 있다.The extended travel record 9 may be used by an enormous number of applications. For example, the content management engine 3 may be configured to receive content from a standard travel provider system 4 (e.g., a flight product) or from any other travel provider system 5 (e.g., a non-flight product) May comprise a set of applications (e.g., travel applications) for delivering different types of travel services to the client device 7, whatever the type of content, based on the external content. Such services may include, for example, shopping, bookkeeping, pricing, issuing and refund services.

이러한 서비스 애플리케이션은, 하드 코딩에 의해 ETR(9)에 추가되는 N개의 타입들의 데이터에 각각의 애플리케이션을 적응시킬 필요 없이, 클라이언트 디바이스(7)를 통해 여행 관리 시스템(100)에 연결된 시스템(예를 들면, 에이전시 시스템(70))으로부터의 서비스 요청에 응답하여 실행될 수도 있다.This service application is a system that is connected to the travel management system 100 via the client device 7 (for example, by way of example) without the need to adapt each application to N types of data added to the ETR 9 by hard- For example, in response to a service request from the agency system 70).

결과는 XML 메시지와 같은 주어진 포맷의 응답 메시지를 사용하여 데이터 교환 유닛(11)을 통해 리턴될 수도 있다. 따라서, 여행 관리 시스템(100)에 의해 생성되는 내부 서비스 인터페이스(2)는 XML 타입을 가질 수도 있다.The result may be returned via the data exchange unit 11 using a response message of a given format, such as an XML message. Thus, the internal service interface 2 generated by the travel management system 100 may have an XML type.

임의의 수의 새로운 타입들의 비표준 데이터 컨테이너들을 지원하기 위해 각각의 애플리케이션을 재코딩하고 재컴파일하기 위한 필요성을 방지하기 위해, 고유의 타입을 갖는 제너릭(generic) 엘리먼트(제너릭 엘리먼트 타입)가 사용될 수도 있다. 제너릭 엘리먼트는 임의의 타입의 비표준 데이터 컨테이너를 포함하도록 구성된 메가 데이터 컨테이너이다. 제너릭 엘리먼트는 모든 서비스 애플리케이션들에 의해 고유한 타입의 컨테이너로서 보일 수도 있지만(이하, "제너릭 엘리먼트 타입"으로 칭함) 제너릭 엘리먼트는 한없이 많은 수의 비표준 데이터 타입들을 포함할 수 있다.A generic element (generic element type) having a unique type may be used to prevent the need to re-code and recompile each application to support any number of new types of non-standard data containers . A generic element is a megavata container configured to contain any type of non-standard data container. A generic element may appear as a container of a unique type by all service applications (hereinafter referred to as a "generic element type"), but a generic element may contain an infinitely large number of non-standard data types.

따라서, 각각의 애플리케이션은 데이터 컨테이너에 포함되는 데이터 엘리먼트의 타입과 무관하게 비표준 컨테이너를 원활하게 처리할 수 있도록 제너릭 엘리먼트를 인스턴스화(instantiate)할 수도 있다. 따라서, 각각의 애플리케이션은 새로운 데이터 타입들만큼 많은 비표준 데이터 컨테이너들을 인스턴스화할 필요가 없다.Thus, each application may instantiate a generic element so that it can handle non-standard containers smoothly, regardless of the type of data element contained in the data container. Thus, each application does not need to instantiate as many non-standard data containers as the new data types.

결과적으로, 비표준 PNR(91)로의 새로운 콘텐츠 타입의 추가는 콘텐츠 관리 엔진(3)에 의해 핸들링되는 애플리케이션에 영향을 끼치지 않거나 그에 대한 적응을 필요로 하지 않아서, (예를 들면, 하드 코딩에 의해) 이전 버전과의 호환성을 보장한다.As a result, the addition of a new content type to the non-standard PNR 91 does not affect or require adaptation to the application handled by the content management engine 3 (e.g., by hardcoding ) Ensures backward compatibility.

도 13은 주어진 레코드 식별자(I)를 갖는 ETR(9)로부터의 레코드에 대한 애플리케이션에 의한 액세스를 묘사하는 순서도이다. 예를 들면, 레코드 식별자(I)는 다음을 포함할 수도 있다:13 is a flow chart depicting access by an application to a record from an ETR 9 having a given record identifier (I). For example, the record identifier (I) may include:

- 타입 T1의 표준 데이터 엘리먼트(SD2)A standard data element SD2 of type T1;

- 타입 T2의 표준 데이터 엘리먼트(SD2)- a standard data element (SD2) of type T2;

- 타입 T3의, 비표준 데이터 컨테이너에 포함된 비표준 데이터 엘리먼트(NSD3)- a non-standard data element (NSD3) contained in a non-standard data container of type T3,

- 타입 T4의, 비표준 데이터 컨테이너에 포함된 비표준 데이터 엘리먼트(NSD4).- Nonstandard data element (NSD4) included in the non-standard data container of type T4.

블록 600에서, 레코드 식별자(I)와 관련된 레코드는 ETR(9)로부터 검색된다. 레코드는 각각의 타입(T1, T2, T3, T4)을 갖는 표준 데이터 엘리먼트(SD1, SD2) 및 비표준 데이터 엘리먼트(NSD3, NSD4)(비표준 데이터 컨테이너)와 관련될 수도 있다.At block 600, the record associated with the record identifier (I) is retrieved from the ETR (9). The records may be associated with standard data elements SD1 and SD2 having respective types T1, T2, T3 and T4 and non-standard data elements NSD3 and NSD4 (non-standard data containers).

그 다음, 각각의 데이터 엘리먼트(SD1, SD2, NSD3 및 NSD4)는 개별적으로 프로세싱된다.Each data element SD1, SD2, NSD3 and NSD4 is then processed separately.

구체적으로는, 예를 들면 NSD3과 같은 각각의 데이터 엘리먼트에 대해, 그 데이터 엘리먼트가 비표준 데이터 엘리먼트이면(블록 601), 타입 T3의 비표준 데이터 엘리먼트는, 블록 602에서, 타입 T3의 비표준 데이터 엘리먼트를 포함하는 고유의 제너릭 엘리먼트 타입의 제너릭 엘리먼트로 변환된다. 메가 데이터 컨테이너로서의 제너릭 엘리먼트 그 자체는 특정 타입을 갖는 비표준 데이터 컨테이너를 포함할 수도 있다. 제너릭 엘리먼트는 BOM과 같은 기술적 객체로서 구현될 수도 있고, 비표준 데이터 컨테이너와 동일한 기술에 기초할 수도 있다.Specifically, for each data element, e.g., NSD3, if the data element is a non-standard data element (block 601), the non-standard data element of type T3 includes a non-standard data element of type T3 at block 602 Lt; RTI ID = 0.0 > generic < / RTI > The generic element itself as a megavata container may include a non-standard data container of a particular type. A generic element may be implemented as a technical object, such as a BOM, or may be based on the same technology as a non-standard data container.

데이터 엘리먼트가 예를 들면 SD1과 같은 표준 데이터 엘리먼트이면(블록 603), 타입 T1의 표준 데이터 엘리먼트는, 블록 604에서, 동일한 타입 T1의 비표준 데이터 컨테이너로 변환될 수도 있다.If the data element is a standard data element, e.g., SD1 (block 603), the standard data element of type T1 may be converted to a non-standard data container of the same type T1 at block 604.

블록 602에서, 이렇게 획득된 비표준 데이터 엘리먼트는, 그 다음, 표준 데이터 엘리먼트(NSD1)에 대응하는 타입 T1의 비표준 데이터 엘리먼트를 포함하는 고유의 제너릭 엘리먼트 타입의 제너릭 엘리먼트로 변환된다.At block 602, the non-standard data element thus obtained is then converted to a generic element of a unique generic element type that includes a non-standard data element of type T1 corresponding to the standard data element NSD1.

제너릭 엘리먼트는 애플리케이션이 표준 데이터 엘리먼트와 비표준 데이터 엘리먼트를, 그들의 타입이 무엇이든 간에, 처리하는 것을 가능하게 하는 비표준 데이터 엘리먼트의 일시적 상태(transitory state)를 형성한다. 따라서, 애플리케이션은 ETR(9)의 데이터 엘리먼트들을, 마치 그들이 고유의 타입을 갖는 것처럼 명시적으로 비표준 콘텐츠의 타입을 알지 않고도, 처리할 수 있다.A generic element forms a transitory state of a non-standard data element that enables an application to process standard data elements and non-standard data elements, whatever their type. Thus, the application can process the data elements of the ETR 9 without explicitly knowing the type of non-standard content as if they had a unique type.

블록 605에서, 하나 이상의 데이터 엘리먼트들이 서비스 요청을 발신하는 클라이언트 디바이스(7)의 인터페이스에 전송되어야 한다는 것을 애플리케이션의 실행이 필요로 하면, 애플리케이션은 데이터 엘리먼트의 타입에 액세스하기 위해 제너릭 엘리먼트를 내관할(introspect) 수도 있다.At block 605, if the application needs to be executed that one or more data elements are to be sent to the interface of the client device 7 originating the service request, then the application must pass the generic element to access the type of data element introspect).

본 발명의 소정의 실시형태에서, 비표준 데이터 엘리먼트는 각각의 태그와 관련될 수도 있다. 이러한 실시형태에서는, 블록 601에서, 각각의 태그와 관련된 비표준 데이터 엘리먼트만이 애플리케이션에 의해 선택되고 제너릭 엘리먼트로 변환될 수도 있다.In certain embodiments of the invention, non-standard data elements may be associated with each tag. In this embodiment, at block 601, only non-standard data elements associated with each tag may be selected by the application and converted to generic elements.

따라서, 제너릭 엘리먼트는 비표준 데이터 엘리먼트의 타입을 추상화한다: 새로운 타입의 콘텐츠(ETR(9)에 추가되는 새로운 콘텐츠)가 애플리케이션에 의해 핸들링될 때마다 새로운 엘리먼트 타입을 정의하는 대신, 각각의 애플리케이션은 임의의 새로운 콘텐츠 타입 및 속성을 지원할 수 있는 고유의 제너릭 엘리먼트를 이와 같이 인스턴스화한다.Thus, the generic element abstracts the types of non-standard data elements: instead of defining a new element type each time a new type of content (new content added to the ETR 9) is handled by the application, Thus instantiating a unique generic element that can support the new content type and attributes of.

다시 도 3으로 돌아가면, 여행 관리 시스템(100)은 임의의 타입의 콘텐츠(표준 및 비표준 콘텐츠)를, 여행 에이전시 시스템(70), 비표준 여행 공급자 시스템(5), 또는 동일한 GSD 내부의 임의의 다른 백엔드 서버와 같은 임의의 외부 클라이언트 디바이스와 내부 인터페이스(2)를 통해 교환하도록 적응될 수도 있다.3, the travel management system 100 may provide any type of content (standard and non-standard content) to the travel agency system 70, the non-standard travel provider system 5, or any other And may be adapted to exchange through the internal interface 2 with any external client device, such as a back-end server.

종래 방식에서, 여행 관리 시스템(100)은, 목표 클라이언트 디바이스의 인터페이스에 의해 지원되는 표준 포맷으로 하드 코딩 변환을 구현하는 것에 의해, 표준 PNR로부터의 데이터를, PNR 콘텐츠의 포맷(목표 PNR 콘텐츠 포맷)에 대해 자기 자신의 표준을 갖는 다른 목표 클라이언트 디바이스(예를 들면, 여행 공급자 시스템, 여행 에이전시 시스템)와 교환할 수 있다. 이것은 여행 관리 시스템(100)에서는 인코딩 메커니즘을 그리고 목표 디바이스에서는 디코딩/타당성 검증 메커니즘을 요구한다. 실제, 각각의 여행 관리 시스템은 PNR 콘텐츠의 포맷(소스 PNR 콘텐츠 포맷)에 대해 그러므로 이러한 포맷만을 지원하는 목표 디바이스의 인터페이스에 대해 자기 자신의 표준을 구비할 수도 있다. 이러한 변환(인코딩/디코딩/타당성 검증)은 현재로선, 비용이 많이 들며 정적인 방식에서, 하드 코딩과 재컴파일링을 수반한다.In the conventional manner, the travel management system 100 converts data from a standard PNR into a PNR content format (target PNR content format) by implementing a hard-coding conversion in a standard format supported by the interface of the target client device. (E.g., a travel provider system, a travel agency system) that has its own standard for the client device. This requires an encoding mechanism in the travel management system 100 and a decoding / validation mechanism in the target device. In fact, each travel management system may have its own standard for the format of the PNR content (source PNR content format) and therefore for the interface of the target device supporting only this format. This conversion (encoding / decoding / plausibility verification) now involves hard coding and recompiling in a costly and static manner.

데이터 교환 유닛(11)은, 임의의 타입의 콘텐츠를 교환하기 위해, 제2의 데이터 교환 포맷(15)에 따라 외부 클라이언트 디바이스로부터의 데이터 교환 메시지의 수신 또는 송신을 허용한다. 바람직한 실시형태에서, 제2의 데이터 교환 포맷(15)은 XML과 같은 마크업 설명 언어이다. 비표준 데이터 엘리먼트에 대응하는 각각의 데이터 교환 메시지는 데이터 엘리먼트의 속성(속성 레이아웃 및 포맷)을 정의하는 구조 설명 파일, 예컨대 XML 메시지에 대한 XSD, 및 속성의 값에 대응하는 값의 세트를 포함한다.The data exchange unit 11 allows the reception or transmission of the data exchange message from the external client device according to the second data exchange format 15 to exchange any type of content. In a preferred embodiment, the second data exchange format 15 is a markup description language such as XML. Each data exchange message corresponding to a non-standard data element includes a structure description file defining the attributes of the data element (attribute layout and format), e.g., an XSD for an XML message, and a set of values corresponding to the value of the attribute.

도 14는 소정의 실시형태에 따른 데이터 교환 유닛(11)의 구조를 보다 상세히 나타낸다.14 shows the structure of the data exchange unit 11 according to a predetermined embodiment in more detail.

데이터 교환 유닛(11)은, 비표준 여행 공급자(5), 여행 에이전시 시스템 또는 다른 비GDS 시스템과 같은 외부 클라이언트 디바이스와 데이터 엘리먼트를 교환하기 위해 사용될 수도 있다. 특히, 데이터 교환 유닛(11)은:The data exchange unit 11 may be used to exchange data elements with an external client device such as a non-standard travel provider 5, a travel agency system or other non-GDS system. Specifically, the data exchange unit 11:

- 클라이언트 디바이스로부터 비표준 데이터 엘리먼트를 수신하기 위해; 또는Receiving a non-standard data element from a client device; or

- 데이터 엘리먼트를 ETR(9)로부터 클라이언트 디바이스로 송신하기 위해 사용될 수도 있다.May be used to send a data element from the ETR 9 to the client device.

데이터 교환 유닛(11)은, XSD와 같은 구조 설명 파일을 소스 구조 설명 파일(XSD1)로부터 목표 구조 설명 파일(XSD2)로 변환하기 위한 XSLT 엔진과 같은 구조 변환 엔진(111) 및 XML과 같은 설명 언어에 따라 정의되는 메시지의 형태로 데이터를 송신하기 위한 데이터 교환 메시지 생성기(112)를 포함할 수도 있다. XSLT 엔진은, 수신 모드에서는 소스 구조 설명 파일(XSD1)을 변환하기 위한 변환 규칙을 정의하는 미리 정의된 로컬 매핑 규칙(113)(예를 들면, XSLT 스타일 시트)을 사용할 수도 있거나 또는 송신 모드에서는 소스 구조 설명 파일(XSD1)을 변환하기 위한 변환 규칙을 정의하는 미리 정의된 클라이언트 매핑 규칙(117)(예를 들면, XSLT 스타일 시트)을 사용할 수도 있다.The data exchange unit 11 includes a structure conversion engine 111 such as an XSLT engine for converting a structure description file such as XSD from a source structure description file XSD1 to a target structure description file XSD2, And a data exchange message generator 112 for transmitting data in the form of a message defined according to the data exchange message. The XSLT engine may use a predefined local mapping rule 113 (e.g., an XSLT stylesheet) that defines a transformation rule for transforming the source structure description file (XSD1) in the receive mode, A predefined client mapping rule 117 (e.g., an XSLT stylesheet) may be used that defines transformation rules for transforming the structure description file (XSD1).

여행 관리 시스템(100)은, 상이한 콘텐츠 타입과 관련되며 여행 관리 시스템(100)에 의해 로컬하게 적용될 구조 설명 파일에 대응하는 하나 이상의 미리 정의된 로컬 구조 설명 파일들(115)을 유지할 수도 있거나 또는 실행시 동적으로 로딩할 수도 있다.The travel management system 100 may maintain one or more predefined local structure description files 115 corresponding to different content types and corresponding to a structure description file to be locally applied by the travel management system 100, It can also be loaded dynamically.

수신 모드에서, 데이터 교환 유닛(11)은 외부 클라이언트 디바이스(7)에 의해 정의된 소스 구조 설명 파일(XSD1)을 준수하는 외부 클라이언트 디바이스(7)로부터 유입 데이터 교환 메시지(XML1)를 수신할 수도 있다. 유입 메시지(XML1)는 주어진 타입 Ti의 비표준 데이터 엘리먼트를 포함한다.In the receive mode, the data exchange unit 11 may receive the incoming data exchange message XML1 from the external client device 7 conforming to the source structure description file XSD1 defined by the external client device 7 . The incoming message (XML1) contains non-standard data elements of a given type Ti.

이러한 유입 데이터 교환 메시지(XML1)가 비표준 데이터 엘리먼트를 포함하는 여행 관리 시스템(100)에 의해 수신될 때마다, 변환 엔진(111)은, 데이터 교환 메시지(XML1)에 포함된 데이터 엘리먼트의 타입과 관련된 로컬 매핑 규칙(113)을 사용하여, 유입 메시지의 구조 설명 파일(XSD1)을 목표 구조 설명 파일(XSD2)로 변환할 수도 있다. 그 다음, 목표 구조 설명 파일(XSD2)은 로컬 구조 설명 파일(115)의 세트에 추가된다.Each time this incoming data exchange message XML1 is received by the travel management system 100 comprising a non-standard data element, the conversion engine 111 is associated with the type of data element contained in the data exchange message XML1 The local mapping rule 113 may be used to convert the structure description file XSD1 of the incoming message into the target structure description file XSD2. Then, the target structure description file (XSD2) is added to the set of the local structure description file (115).

데이터 교환 유닛(11)은, 구조 설명 파일(XSD1)의 속성과 관련된 다수의 조건들(예를 들면, 필수 속성의 존재)의 타당성을 검증하기 위해, 소스 구조 설명 파일(XSD1)을 목표 구조 설명 파일(XSD2)로 변환하기 이전에, 유입 메시지(XML1)에 대해 타당성 검증 메커니즘을 추가로 적용할 수도 있다.The data exchange unit 11 transmits the source structure description file XSD1 to the target structure description file XSD1 in order to verify the validity of a plurality of conditions related to the attribute of the structure description file XSD1 Prior to conversion to file (XSD2), a plausibility verification mechanism may be further applied to the incoming message (XML1).

그 다음, 타입 Ti의 비표준 데이터 컨테이너는 데이터 교환 메시지(XML1)의 필드를 비표준 데이터 컨테이너의 프리미티브(primitive)로 매핑하는 것에 의해 생성될 수도 있다. 그 다음, 비표준 데이터 컨테이너는, 도 5와 관련하여 설명되는 바와 같이, 타입 Ti에 대해 115에 저장된 목표 구조 설명 파일(XSD2)과 관련하여 ETR(9)에 추가된다. ETR(9)에서의 새로운 콘텐츠의 임의의 업데이트 또는 추가는 실행시 행해질 수 있다.The non-standard data container of type Ti may then be generated by mapping the field of the data exchange message (XML1) to a primitive of the non-standard data container. The non-standard data container is then added to the ETR 9 with respect to the target structure description file XSD2 stored at 115 for the type Ti, as described in connection with FIG. Any update or addition of new content in the ETR 9 can be done at run time.

따라서, 데이터 교환 유닛(11)의 사용은, 콘텐츠 공급자 시스템들(4, 5)로부터 수신되는 임의의 유입 데이터 교환 메시지를, 어떠한 코드 변경을 요구하지 않고도, 추가/수정될 엘리먼트를 나타내는 여러 비표준 데이터 컨테이너 객체로 동적으로 변환하는 것을 가능하게 한다.Thus, the use of the data exchange unit 11 allows any incoming data exchange message received from the content provider systems 4, 5 to be sent to a number of non-standard data < RTI ID = 0.0 > Enables dynamic conversion to a container object.

송신 모드(점선)에서, 여행 관리 시스템(100)은 ETR로부터의 임의의 데이터 엘리먼트를 외부 클라이언트 디바이스(7)의 목표 인터페이스로 데이터 교환 유닛을 통해 송신할 수도 있다.In the transmission mode (dotted line), the travel management system 100 may transmit any data element from the ETR to the target interface of the external client device 7 via the data exchange unit.

송신 모드에서, 데이터 교환 유닛(11)은 입력으로서 비표준 데이터 컨테이너(비표준 데이터 컨테이너로 이전에 변환된 타입 Ti의 표준 데이터 엘리먼트 또는 비표준 데이터 엘리먼트를 포함함)를 수신한다.In the transmission mode, the data exchange unit 11 receives as input the non-standard data container (including the standard data element or the non-standard data element of the type Ti previously transformed into the non-standard data container).

타입 Ti의 비표준 데이터 컨테이너는, 비표준 데이터 컨테이너의 속성(키)의, 속성의 레이아웃의 그리고 속성 포맷의 설명을 포함하는 구조 설명 파일(소스 구조 설명 파일로 또한 칭해짐), 예컨대 XSD 파일(115)과 관련된다. 비표준 데이터 컨테이너는 속성의 값에 대응하는 키 값과 또한 관련된다.The non-standard data container of type Ti includes a structure description file (also referred to as a source structure description file), such as an XSD file 115, that contains a description of the attribute's layout and the attribute format of the attribute (key) Lt; / RTI > The non-standard data container is also associated with a key value corresponding to the value of the property.

여행 관리 시스템(100)에 의해 송신될 데이터 엘리먼트가 ETR(9)로부터의 주어진 타입 Ti의 비표준 데이터 컨테이너를 포함하면, 변환 엔진(111)은, 비표준 데이터 엘리먼트의 타입과 관련된 클라이언트 매핑 규칙(117)을 사용하는 것에 의해, 로컬 구조 설명 파일(115)의 비표준 데이터 컨테이너와 관련된 구조 설명 파일(XSD3)을 목표 구조 설명 파일(XSD4)로 변환할 수도 있다. 클라이언트 매핑 규칙(117)은, 예를 들면 목표 클라이언트 디바이스(7)의 GUI(graphical user interface; 그래픽 유저 인터페이스)에 대한 표시를 위해, 목표 클라이언트 디바이스(7)의 인터페이스의 포맷을 향해 변환 규칙을 정의한다.If the data element to be transmitted by the travel management system 100 includes a non-standard data container of a given type Ti from the ETR 9, then the transformation engine 111 determines the client mapping rules 117 associated with the type of non- The structure description file XSD3 associated with the non-standard data container of the local structure description file 115 may be converted into the target structure description file XSD4. The client mapping rule 117 defines a conversion rule toward the format of the interface of the target client device 7, for example, for display on the GUI (graphical user interface) of the target client device 7 do.

클라이언트 디바이스(7)로 송신될 데이터 엘리먼트가 타입 Ti의 표준 데이터 엘리먼트(예를 들면, GDS 엘리먼트)이면, 표준 데이터 엘리먼트는 데이터 컨테이너 컨버터(12)를 사용하여 동일한 타입의 비표준 데이터 컨테이너로 미리 변환될 수도 있다. 그 다음, 표준 데이터 엘리먼트는 목표 클라이언트 디바이스(7)로의 송신을 위한 비표준 데이터 컨테이너의 형태로 데이터 교환 유닛(11)으로 전송될 수도 있다.If the data element to be sent to the client device 7 is a standard data element of type Ti (e.g. a GDS element), the standard data element is pre-transformed into a non-standard data container of the same type using the data container converter 12 It is possible. The standard data element may then be transmitted to the data exchange unit 11 in the form of a non-standard data container for transmission to the target client device 7.

도 15는, 소정의 실시형태에 따른, 타입 Ti의 데이터 엘리먼트를 클라이언트 디바이스(7)의 목표 인터페이스(그래픽 유저 인터페이스(GUI))로 송신하기 위한 순서도를 묘사한다.15 depicts a flow diagram for transmitting data elements of type Ti to a target interface (graphical user interface (GUI)) of client device 7, in accordance with certain embodiments.

데이터 엘리먼트가 표준 데이터 엘리먼트이면(블록 700), 타입 Ti의 표준 데이터 엘리먼트는, 블록 701에서 (도 12의 블록 604와 마찬가지로), 동일한 타입 Ti의 비표준 데이터 컨테이너로 변환될 수도 있다. 그 다음, 표준 데이터 엘리먼트는, 블록 703에서, 구조 설명 파일(XSD1) 및 키 값(Vi)과 관련된, 타입 Ti의 비표준 데이터 컨테이너의 형태로 프로세싱된다.If the data element is a standard data element (block 700), the standard data element of type Ti may be converted to a non-standard data container of the same type Ti at block 701 (similar to block 604 of FIG. 12). The standard data element is then processed, at block 703, in the form of a non-standard data container of type Ti associated with the structure description file (XSD1) and the key value Vi.

데이터 엘리먼트가 구조 설명 파일(XSD1) 및 키 값(Vi)과 관련된 타입 Ti의 비표준 데이터 컨테이너의 형태의 비표준 데이터 엘리먼트이면(블록 700), 타입 Ti의 비표준 데이터 엘리먼트는 블록 703에서 직접 프로세싱된다.If the data element is a non-standard data element in the form of a non-standard data container of type Ti associated with the structure description file (XSD1) and key value Vi (block 700), then the non-standard data element of type Ti is directly processed at block 703.

블록 703에서, 비표준 데이터 컨테이너와 관련된 소스 구조 설명 파일(XSD1)이 검색된다.At block 703, a source structure description file (XSD1) associated with the non-standard data container is retrieved.

블록 704에서, 소스 구조 설명 파일(XSD1)은, 소스 구조 설명 파일(XSD1)을 파싱하고 파싱된 필드를 매핑 규칙(113)(예를 들면, XSLT 스타일 시트)을 사용하여 목표 구조 설명 파일(XSD2)로 변환하기 위해, 매핑 엔진(110)(예를 들면, XSLT 엔진)을 사용하여 목표 구조 설명 파일(XSD2)로 변환된다. 매핑 규칙(113)은 클라이언트 디바이스(7)의 목표 인터페이스의 포맷에 따라 정의된다.At block 704, the source structure description file XSD1 parses the source structure description file XSD1 and parses the parsed field using the mapping rules 113 (e.g., an XSLT stylesheet) into the target structure description file XSD2 The target structure description file XSD2 is converted to the target structure description file XSD2 using the mapping engine 110 (for example, XSLT engine). The mapping rule 113 is defined according to the format of the target interface of the client device 7.

블록 705에서, 클라이언트 디바이스로 송신될 데이터 엘리먼트를 포함하는 XML 메시지는 비표준 데이터 컨테이너와 관련된 값(Vi)을 추가하는 것에 의해 생성된다.At block 705, the XML message containing the data element to be sent to the client device is generated by adding a value Vi associated with the non-standard data container.

블록 706에서, XML 메시지는 네트워크(13)를 통해 클라이언트 디바이스(7)의 목표 인터페이스로 전송된다. 목표 인터페이스는 XML 메시지의 응답에 응답하여 동적으로 그리고 투명하게 적응될 수도 있다.At block 706, the XML message is transmitted over the network 13 to the target interface of the client device 7. The target interface may be dynamically and transparently adapted in response to the response of the XML message.

또한, 외부 클라이언트 디바이스(7)는, 데이터에 대해, 그 데이터의 타입 및 목표 인터페이스의 포맷이 무엇이든 간에, 디코딩 및 복잡한 타당성 검증 메커니즘을 적용할 필요 없이, XML 메시지에 포함된 데이터 엘리먼트를 추출하고 자기 자신의 표준에 따라 저장한다.The external client device 7 also extracts the data elements contained in the XML message, without having to apply decoding and complex validation mechanisms to the data, whatever the type of the data and the format of the target interface Store according to your own standards.

구조 설명 파일(XSD)와 관련되며 임의의 포맷(15)(예를 들면, XML)의 데이터 교환 메시지로서 그 자신을 직렬화하는 능력을 갖는 비표준 데이터 컨테이너를 사용하는 것에 의해, 새로운 종류의 인터페이스(2)가 구축될 수 있다.By using a non-standard data container associated with the structure description file (XSD) and having the ability to serialize itself as a data exchange message of any format 15 (e.g., XML), a new kind of interface 2 ) Can be constructed.

일 실시형태에서, 데이터 교환 유닛(11)은, 가능한 한 손으로 코딩되는 소프트웨어를 최소로 하여, 콘텐츠의 타입(표준, 비표준, 혼합형 콘텐츠)이 무엇이든 간에, 클라이언트 디바이스(7)(예를 들면, 여행 에이전시 시스템)의 인터페이스에 부합하는 요청 결과의 표현을 동적으로 생성하도록 콘텐츠 관리 엔진(3)에 의해 사용될 수도 있다.In one embodiment, the data exchange unit 11 minimizes the software as hand-coded as possible so that whatever the type of content (standard, non-standard, mixed content) is, the client device 7 , The travel agency system), as shown in FIG.

서비스 애플리케이션은 데이터를 인터페이스(2)에 저장하기 위해 동질적인 데이터 구조를 직접 사용할 수 있다. 이것은 인터페이스 레이어와 BOM 레이어 사이에서 데이터 구조의 또 다른 포맷을 교환할 필요성을 없앤다. 이것은 또한, 고유의 플랫폼을 통해 클라이언트 디바이스(7)(예를 들면, 여행 에이전시 시스템)에 노출된 서비스 인터페이스에서의 데이터 표현과 확장된 여행 레코드에 저장된 데이터 사이의 오버헤드를 감소시키는 것을 허용한다.The service application may use the homogeneous data structure directly to store the data in the interface (2). This eliminates the need to exchange another format of the data structure between the interface layer and the BOM layer. This also allows to reduce the overhead between the data representation in the service interface exposed to the client device 7 (e. G., The travel agency system) and the data stored in the extended travel record through its own platform.

구체적으로는, 도 13의 방법은, 클라이언트 디바이스(7)(예를 들면, 여행 에이전시 시스템(70))로부터의 서비스 요청에 응답하는 결과의 표현 및 클라이언트 디바이스 인터페이스 상의 서비스와 관련된 유저 그래픽 인터페이스 상에서의 그러한 표현의 표시를, 콘텐츠 타입(표준 콘텐츠 또는 비표준 콘텐츠)이 무엇이든 간에 그 표시가 동질적인 것을 보장하면서, 생성하도록 적용될 수도 있다. Specifically, the method of FIG. 13 includes a representation of the results in response to a service request from the client device 7 (e. G., Travel agency system 70) and a representation of the results on the user- The representation of such a representation may be adapted to produce whatever content type (standard content or non-standard content) guarantees that the presentation is homogeneous.

비표준 콘텐츠 및/또는 표준 콘텐츠와 관련된 레코드 식별자가 확장된 레코드 데이터 구조(9)에 추가되는 경우, 서비스 애플리케이션은 새로운 타입이 무엇이든 간에 레코드의 표현을 동적으로 그리고 동질적으로 생성하도록 적응된다.When a record identifier associated with non-standard content and / or standard content is added to the extended record data structure 9, the service application is adapted to dynamically and uniformly generate a representation of the record whatever the new type.

서비스 요청에 대응하는 콘텐츠 관리 엔진(3)의 애플리케이션은, 제너릭 엘리먼트를 사용하여 도 12의 액세스 방법에 따라 ETR로부터 획득되는 결과에 대응하는 레코드에 액세스할 수도 있다.The application of the content management engine 3 corresponding to the service request may access the record corresponding to the result obtained from the ETR according to the access method of Fig. 12 using the generic element.

클라이언트 디바이스(7)로 리턴될 콘텐츠의 타입이 무엇이든 간에 고유의 제너릭 엘리먼트에 기초한 비표준 데이터 컨테이너(50)에 대한 액세스의 구현은, 비표준 콘텐츠 공급자 시스템(5)으로부터의 임의의 타입의 콘텐츠를 각각의 애플리케이션이 지원하는 것을 허용한다. 따라서, 콘텐츠 관리 엔진(3)의 애플리케이션은 콘텐츠의 타입과는 무관하다.An implementation of access to a non-standard data container 50 based on a unique generic element, whatever the type of content to be returned to the client device 7, may be used to access any type of content from the non-standard content provider system 5 Of applications to support. Therefore, the application of the content management engine 3 is independent of the type of the content.

결과를 여행 에이전시 시스템(70)의 인터페이스로 리턴하기 위해, 애플리케이션은 비표준 데이터 컨테이너에 액세스할 제너릭 엘리먼트를 내관할 수도 있다(도 6의 블록 605). 이렇게 액세스되는 비표준 데이터 컨테이너는 도 14의 방법에 따라 리턴될 수도 있다.In order to return the results to the interface of the travel agency system 70, the application may introduce a generic element to access the non-standard data container (block 605 of FIG. 6). The non-standard data container thus accessed may be returned according to the method of FIG.

따라서, 콘텐츠 관리 엔진(3)은, 처리될 제품의 타입(예를 들면: 전통적인 GDS 항공편 제품(비행기 여행)/ GDS 차량 렌트/ 비GDS 택시/비GDS 레스토랑....)과 무관하게 고유의 응답을 나타내는 서비스(예를 들면, 여행 서비스)마다의 인터페이스의 세트를 포함하는 모든 클라이언트 디바이스들(7)로 고유의 플랫폼을 제공하도록 적응된다.Thus, the content management engine 3 is capable of providing a unique (non-GDS) service, regardless of the type of product being processed (e.g., traditional GDS flight product (air travel) / GDS vehicle rental / non- GDS taxi / Is adapted to provide a unique platform to all client devices (7) including a set of interfaces for each service (e.g., travel service) representing the response.

새로운 콘텐츠를 애플리케이션에 통합하는 것을 용이하게 하기 위해, 애플리케이션과 관련된 내부 서비스 인터페이스(2)는 각각의 콘텐츠 패밀리에 대한 공통 속성의 세트를 구비할 수도 있다. 이것은 이미 존재하는 콘텐츠 패밀리의 새로운 엘리먼트가 패밀리에 대해 이용 가능한 모든 표시 기능들로부터 이익을 얻는 것을 가능하게 한다.To facilitate integrating new content into the application, the internal service interface 2 associated with the application may comprise a set of common attributes for each content family. This makes it possible for a new element of an already existing content family to benefit from all the display functions available to the family.

구체적으로는, 비표준 데이터 컨테이너(50)의 기저의 데이터 구조는 특정 엘리먼트 카테고리 내의 공통 포맷을 공유할 수도 있다. 예를 들면, 타입 항공노선 구간의 데이터 엘리먼트를 나타내기 위해 사용되는 포맷 설명 파일(XSDi)은, 여행 관리 시스템(100)을 통해 또는 다른 외부 부킹 시스템을 통해 항공노선 구간이 부킹되었는지의 여부에 무관하게 동일할 수도 있다. 또한, 항공노선 구간은 공통 데이터의 세트를 다른 카테고리(예를 들면, 운송 카테고리)로부터의 엘리먼트와 공유할 수도 있다.In particular, the underlying data structure of the non-standard data container 50 may share a common format within a particular element category. For example, a format description file (XSDi) used to indicate a data element of a type airline section may be associated with the airline route section through the travel management system 100 or other external bookkeeping system, . In addition, an air route section may share a set of common data with elements from another category (e.g., a shipping category).

특히, 변환 엔진(111)은, 비표준 데이터 엘리먼트 및 표준 데이터 엘리먼트 둘 다와 관련된 ETR(9) 내의 주어진 레코드 식별자(I1)에 대해, 비표준 데이터 엘리먼트와 표준 데이터 엘리먼트가 동일한 일반적 타입(예를 들면, "호텔")을 가지면, 비표준 데이터 엘리먼트와 관련된 구조 설명 파일(XSD1)과 표준 데이터 엘리먼트와 관련된 구조 설명 파일(XSD2)을, 목표 인터페이스를 준수하는 공통 타입의 동일한 구조 설명 파일에 매핑하는 것에 의해, 양 데이터 엘리먼트에 대해 동일한 표현이 생성될 수도 있도록 정의될 수도 있다.In particular, the transformation engine 111 is configured to determine whether a non-standard data element and a standard data element are of the same generic type (e.g., a non-standard data element and a standard data element) for a given record identifier I1 in the ETR 9 associated with both the non-standard data element and the standard data element, By mapping the structure description file XSD1 associated with the nonstandard data element and the structure description file XSD2 associated with the standard data element to the same structure description file of the common type conforming to the target interface, It may also be defined that the same representation may be generated for both data elements.

예를 들면, 도 15에 묘사된 바와 같이, 타입(타입 C)의 표준 데이터 엘리먼트가, 동일한 타입(타입 C)과 관련된 비표준 컨테이너로 먼저 변환되고(도 7의 블록 701), 그 다음, 변환 엔진(111) 및 클라이언트 디바이스에서 타입 C에 대해 정의된 매핑 규칙(117)(스타일 시트)을 사용하여 타입 C에 대한 표현(XSD2)이 클라이언트 디바이스에 대해 생성된다. 도 17의 예에 도시된 바와 같이, 타입(타입 C)의 비표준 컨테이너에 대해 동일한 표현(XSD2)이 사용될 것이다.For example, as depicted in FIG. 15, a standard data element of type (type C) is first transformed into a non-standard container associated with the same type (type C) (block 701 of FIG. 7) A representation (XSD2) for type C is generated for the client device using a mapping rule (117) (style sheet) defined for the type C at the client device (111). As shown in the example of FIG. 17, the same representation (XSD2) will be used for non-standard containers of type (Type C).

또한, 변환 규칙(117)은, 임의의 데이터 엘리먼트의 동일한 타입의 속성이, 콘텐츠 타입(비표준 또는 표준)이 무엇이든 간에, (목표 설명 파일에) 속성을 포함하는 동일한 부표현(sub-representation)으로 매핑되도록 정의될 수도 있다.In addition, the transformation rules 117 are used to determine whether the attributes of the same type of any data element are the same sub-representation, including attributes (in the target description file), whatever the content type (non-standard or standard) . ≪ / RTI >

도 18에 묘사된 예에서, (소스 구조 설명 파일(XSD1)에서 정의된 바와 같은) 속성의 세트(A1, A2, A3, A4)를 포함하는 타입(타입 D)의 표준 컨테이너가, 동일한 타입(타입 D)과 관련된 비표준 컨테이너로 먼저 변환되고(도 15의 블록 701), 그 다음, 변환 엔진(111)을 사용하여 타입 D에 대한 표현(XSD2)(목표 구조 설명 파일)이 클라이언트 디바이스로 생성되는데, 표현(XSD2)은 소스 속성 {A1, A2, A3, A4}에 대응하는 표현 속성 {E1, E2, E3, E4}를 포함한다. 도 19의 예에 도시된 바와 같이, 소스 구조 정의 파일(XSD)의 유사한 속성들에 대해 동일한 매핑 규칙(117)을 적용하는 것에 의해, 속성의 세트 {C1, A2, A3, C4}를 포함하는 다른 타입(타입 C)의 비표준 컨테이너의 속성(A2, A3)에 대해 동일한 표현 {E2, E3}이 생성될 수도 있다. 따라서, 매핑 엔진(11)은 속성들(A2 및 A3)에 대해 각각 동일한 표현(E2 및 E3)을 갖는 표현(XSD3= {F1, E2, E3, F4, F5})을 생성할 것이다.In the example depicted in Figure 18, a standard container of type (Type D) containing a set of attributes A1, A2, A3, A4 (as defined in the source structure description file XSD1) (Block 701 of FIG. 15), and then a representation (XSD2) for the type D (target structure description file) is created in the client device using the transformation engine 111 , The expression XSD2 includes the rendering attributes {E1, E2, E3, E4} corresponding to the source attributes {A1, A2, A3, A4}. By applying the same mapping rule 117 to similar attributes of a source structure definition file (XSD), as shown in the example of FIG. 19, a set of attributes {C1, A2, A3, C4} The same expression {E2, E3} may be generated for attributes A2 and A3 of the non-standard container of the other type (type C). Accordingly, the mapping engine 11 will generate a representation (XSD3 = {F1, E2, E3, F4, F5}) having the same representations E2 and E3, respectively, for attributes A2 and A3.

따라서, 콘텐츠 관리 엔진(3)은, 애플리케이션 마다 인터페이스의 세트를 포함하는 모든 클라이언트 디바이스(7)(예를 들면, 여행 에이전시 시스템과 관련됨)로 고유의 플랫폼을 제공하지만, 고유의 응답은 처리될 콘텐츠의 타입(예를 들면, GDS 비행기 여행 제품, GDS 차량 렌트, 비GDS 택시, 비GDS 레스토랑 등)과 무관하게 생성될 수 있다.Thus, content management engine 3 provides a unique platform to all client devices 7 (e.g., associated with a travel agency system) that includes a set of interfaces for each application, (For example, GDS air travel products, GDS car rentals, non-GDS taxis, non-GDS restaurants, etc.).

따라서, 서비스 애플리케이션은 데이터를 인터페이스에 저장하기 위해 동질적인 데이터 구조를 직접 사용할 수 있다. 이것은 인터페이스 레이어와 BOM 레이어 사이에서 데이터 구조의 또 다른 포맷을 교환할 필요성을 없앤다. 이것은 또한, 고유의 플랫폼을 통해 클라이언트 디바이스(7)(예를 들면, 여행 에이전시 시스템)에 노출된 서비스 인터페이스에서의 데이터 표현과 확장된 여행 레코드(9)에 저장된 데이터 사이의 오버헤드를 감소시키는 것을 허용한다. Thus, a service application can directly use a homogeneous data structure to store data in an interface. This eliminates the need to exchange another format of the data structure between the interface layer and the BOM layer. This also reduces the overhead between the data representation in the service interface exposed to the client device 7 (e. G., A travel agency system) over the native platform and the data stored in the extended travel record 9 Allow.

따라서, 데이터 교환 유닛(11)은, 가능한 한 손으로 코딩되는 소프트웨어를 최소로 하여, 콘텐츠의 타입(표준, 비표준, 혼합형 콘텐츠)이 무엇이든 간에, 결과에 부합하는 표현을 동적으로 생성하는 것을 가능하게 한다.Thus, the data exchange unit 11 is capable of dynamically generating a representation that conforms to the result, whatever the type of content (standard, non-standard, mixed content) .

특히, 결과를 클라이언트 디바이스(7)로 리턴하기 위해 사용되는 데이터 교환 메시지는 내부 구조(예를 들면, XML)와 가까운 포맷을 가지며 이 포맷은 제너릭 엘리먼트에서 엘리먼트 자체를 정의하기 위해 사용된 구조 설명 파일(예를 들면, XSD)로부터 유전된다.In particular, the data exchange message used to return the results to the client device 7 has a format close to the internal structure (e. G., XML), which is the structure description file used to define the element itself in the generic element (E.g., XSD).

따라서, 콘텐츠 관리 시스템(100)은, 처리될 제품의 타입(예를 들면: 전통적인 GDS 항공편 제품(비행기 여행)/ GDS 차량 렌트/ 비GDS 택시/비GDS 레스토랑....)과 무관하게 고유의 응답을 나타내는 여행 서비스마다의 인터페이스의 세트를 제공한다.Thus, the content management system 100 is capable of providing a unique (non-GDS), regardless of the type of product to be processed (e.g., traditional GDS flight product (air travel) / GDS vehicle rental / non- GDS taxi / Provides a set of interfaces for each travel service that represents the response.

도 20은 소정의 실시형태에 따른 콘텐츠 배치 방법의 순서도를 묘사한다. ETR(9)의 공통 레코드 식별자와 관련된 콘텐츠는 동일한 여행에 관련된 데이터 엘리먼트의 세트를 포함한다. ETR(9)에 특정 레코드 식별자를 요구하는 애플리케이션에 따라, 애플리케이션은, 주어진 레코드 로케이터와 관련된 상이한 데이터 엘리먼트가 애플리케이션에 의해 액세스될 때 미리 정의된 재배열 기준에 따라 배열되어야(정렬되어야) 하는 것을 요구할 수도 있다.Figure 20 depicts a flowchart of a content placement method in accordance with certain embodiments. The content associated with the common record identifier of the ETR 9 includes a set of data elements associated with the same trip. Depending on the application requesting a specific record identifier in the ETR 9, the application may require that different data elements associated with a given record locator be arranged (aligned) according to predefined reordering criteria when accessed by the application It is possible.

콘텐츠 재배열 방법은, 연대기적 순서, 랭킹 기준 등과 같은 애플리케이션에 의해 미리 정의되는 재배열 기준에 따라 데이터 엘리먼트를 재배열하도록 구현될 수도 있다. 재배열 방법은 표준 및 비표준 데이터 엘리먼트를 추상 엘리먼트(abstract element)에 기초한 추상 랭킹 모델로 병합할 수도 있다. 추상 엘리먼트는 재배열 기준에 따라 데이터 엘리먼트를 소팅(sorting)하는 데 사용될 수도 있다. 따라서, 애플리케이션은 목표 인터페이스 제약에 따라 정렬된 병합된 데이터 엘리먼트를 리턴할 수 있다. 이것은 예를 들면 집약된 여정 다큐먼트로 귀결될 수도 있는데, 여기서 PNR 세그먼트와 확장 엘리먼트(비표준 콘텐츠)는 동일한 뷰에 병합될 수 있다.The content rearrangement method may be implemented to rearrange the data elements according to a rearrangement criterion predefined by the application such as chronological order, ranking criterion, and the like. The reordering method may merge standard and non-standard data elements into an abstract ranking model based on an abstract element. The abstract element may also be used to sort data elements according to the reordering criteria. Thus, an application may return an aligned merged data element according to a target interface constraint. This may result, for example, in an aggregated routing document where the PNR segment and the extension element (non-standard content) can be merged into the same view.

구체적으로는, 각각의 데이터 엘리먼트에 대해, 데이터 엘리먼트가 비표준 데이터 엘리먼트이면(블록 801), 타입 Ti의 비표준 데이터 엘리먼트는, 블록 802에서, 타입 Ti의 비표준 데이터 엘리먼트의 속성의 서브셋을 포함하는 고유의 타입의 추상 엘리먼트로 변환된다. 비표준 데이터 컨테이너의 속성은 재배열 기준(예를 들면, 필터링 기준이 날짜 속성을 선택할 연대기적 순서)에 기초하여 생성된 필터링 기준에 따라 필터링된다. 추상 엘리먼트는 BOM과 같은 기술적 객체로서 구현될 수도 있고, 비표준 데이터 컨테이너 및/또는 제너릭 엘리먼트와 동일한 기술에 기초할 수도 있다. 제너릭 엘리먼트 및 추상 엘리먼트 둘 다가 데이터 엘리먼트의 타입의 추상화를 허용함을 유의해야 한다.Specifically, for each data element, if the data element is a non-standard data element (block 801), the non-standard data element of type Ti is a unique element of the type Type abstract element. The attributes of the non-standard data container are filtered according to the filtering criteria generated based on the reordering criteria (e.g., the chronological order in which the filtering criteria select the date properties). The abstract element may be implemented as a technical object, such as a BOM, or may be based on the same technique as a non-standard data container and / or generic element. It should be noted that both the generic element and the abstract element allow abstraction of the type of data element.

데이터 엘리먼트가 타입 Ti의 표준 데이터 엘리먼트이면(블록 803), 그것은, 블록 804에서 (도 6의 블록 604와 마찬가지로), 동일한 타입 Ti의 비표준 데이터 컨테이너로 변환될 수도 있다.If the data element is a standard data element of type Ti (block 803), it may be converted to a non-standard data container of the same type Ti at block 804 (as at block 604 of FIG. 6).

블록 805에서, 이렇게 획득된 비표준 데이터 엘리먼트의 속성은 필터링 기준에 따라 필터링된다.At block 805, the attributes of the non-standard data elements thus obtained are filtered according to a filtering criterion.

블록 806에서, 단계 804에서 획득된 비표준 데이터 엘리먼트는, 타입 Ti의 표준 데이터 엘리먼트에 대응하는 타입 Ti의 비표준 데이터 엘리먼트의 필터링된 속성의 세트를 포함하는 추상 엘리먼트로 변환된다.In block 806, the non-standard data element obtained in step 804 is transformed into an abstract element containing a set of filtered attributes of a non-standard data element of type Ti corresponding to a standard data element of type Ti.

제너릭 엘리먼트와 마찬가지로, 획득된 추상 엘리먼트는, 데이터 컨테이너 타입을 추상화하는 것을 가능하게 하는 비표준 데이터 엘리먼트의 일시적 상태를 형성한다. 그것은 또한, 추상 모델을 내관하는 것에 의해, 필터링된 데이터 엘리먼트들의, 그들의 속성들의 타입이 무엇이든 간에, 전역적인 처리를 가능하게 하고, 재배열 기준에 따라 그들을 명확히 배열한다.Like the generic element, the obtained abstract element forms a transient state of the non-standard data element that makes it possible to abstract the data container type. It also enables global processing of the filtered data elements, whatever their type of attributes, by arranging the abstract model, and clearly arranges them according to the reordering criteria.

여행 분야에서, 표준 PNR(90)은 복수의 시스템들 사이에서 공유되는 저장 영역에 저장될 수도 있다. 표준 PNR(90)에 유지되는 표준 데이터 엘리먼트들은 상이한 타입을 가질 수도 있고 각각의 엘리먼트는 그 자신의 직렬화 포맷을 가질 수도 있다. 표준 데이터 엘리먼트는, 데이터 엘리먼트가 관련되는(예를 들면, 동일한 승객 또는 여정에 대해 공통인) 동일한 레코드 식별자를 공유할 수도 있다.In the travel field, the standard PNR 90 may be stored in a storage area that is shared among a plurality of systems. Standard data elements maintained in the standard PNR 90 may have different types and each element may have its own serialization format. The standard data elements may share the same record identifier (e.g., common to the same passenger or itinerary) to which the data element is associated.

마찬가지로, 비표준 PNR(91)의 데이터 엘리먼트는, 비표준 PNR(91) 또는 표준 PNR의 다른 데이터 엘러먼트와, 데이터 엘리먼트들이 관련되면, 동일한 레코드 식별자를 공유할 수도 있다. 비표준 PNR(91)은 표준 PNR과 동일한 저장 영역에 저장될 수도 있다. 대안적으로 표준 PNR(90) 및 비표준 PNR(91)은 상이한 저장 영역에 저장될 수도 있다. 2개의 영역들은 공통 데이터의 동기화를 허용하기 위해 전역적 관리 메커니즘에 의해 관리될 수도 있다. 전역적 관리 메커니즘은, 확장된 여행 레코드(9) 전체를 처리하는 것을 필요로 하는 모든 쿼리에 대해, 비표준 PNR(91)에 전용인 저장 영역을 표준 PNR(90)에 전용인 다른 저장 영역에 링크하도록 구현될 수도 있다.Likewise, the data element of the non-standard PNR 91 may share the same record identifier if the data elements are associated with the non-standard PNR 91 or other data element of the standard PNR. The non-standard PNR 91 may be stored in the same storage area as the standard PNR. Alternatively, the standard PNR 90 and the non-standard PNR 91 may be stored in different storage areas. The two areas may be managed by a global management mechanism to allow synchronization of the common data. The global management mechanism is responsible for linking a storage area dedicated to the non-standard PNR 91 to another storage area dedicated to the standard PNR 90, for all queries that require processing the entire extended travel record (9) .

ETR(9)이 2개의 레코드 구조들(90 및 91)로 분할되는 경우에도, ETR(9)은 레코드 데이터 구조 정보, 보조 컨테이너 데이터 및/또는 관련 데이터 엘리먼트를 식별하는 공통 레코드 식별자에 기초하여 전역적으로 관리될 수 있다.Even if the ETR 9 is divided into two record structures 90 and 91, the ETR 9 is also able to determine, based on the common record identifier identifying the record data structure information, auxiliary container data and / It can be managed as a unit.

보조 데이터 컨테이너 데이터는 각각의 데이터 컨테이너(예를 들면, 생성 날짜, 최종 수정 날짜 등)에 관한 제어 정보를 포함할 수도 있다. 종래의 방식에서, 이러한 정보는 레코드 식별자0과 관련하여 각각의 표준 데이터 컨테이너에 직접 저장되고 표준 PNR을 관리하기 위해(예를 들면, 표준 PNR을 주기적으로 소거하기 위해) 액세스될 수도 있다. 그러나, 이러한 방식은 2개의 레코드 데이터 구조들(90 및 91)의 최적화된 관리를 허용하지는 않는다.The ancillary data container data may include control information regarding each data container (e.g., creation date, last modified date, etc.). In a conventional manner, this information is stored directly in each standard data container in relation to record identifier 0 and may be accessed to manage a standard PNR (e.g., to periodically erase a standard PNR). However, this approach does not allow for optimal management of the two record data structures 90 and 91.

도 21은 소정의 실시형태에 따른 ETR(9)의 구조를 나타낸다. 도시된 바와 같이, 2개의 레코드 데이터 구조들(90 및 91)의 전역적 관리를 최적화하기 위해, 몇몇 실시형태에서, 확장된 여행 레코드(9)는, ETR(9)에서 생성된 각각의 데이터 컨테이너에 관련된 보조 컨테이너 데이터, 예컨대 데이터 컨테이너의 생성 날짜, 데이터 컨테이너의 최종 수정 날짜 등을 유지하기 위한 보조 데이터 구조(92)("중앙 관리 데이터 구조" 또는 "중앙 관리 영역"으로 또한 칭해짐)를 더 포함할 수도 있다. 보조 데이터 구조(92)에 유지되는 정보는 두 영역들을 동기적 방식으로 관리하기 위해 사용될 수도 있다. 보조 데이터 구조(92)의 각각의 엔트리는 ETR(9)에서 생성된 데이터 컨테이너와 동일한 레코드 식별자를 공유할 수도 있다. 또한, 보조 데이터 구조(92)의 각각의 레코드는 ETR(9)에 유지되는 데이터 컨테이너(동일한 레코드 식별자를 가짐)에 관련된 보조 컨테이너 데이터의 세트와 관련될 수도 있다. 보조 데이터 구조(92)는 표준 레코드 데이터 구조(90) 및 비표준 레코드 데이터 구조에 포함된 데이터 컨테이너 정보로 채워질 수도 있다.21 shows a structure of an ETR 9 according to a predetermined embodiment. As shown, in order to optimize the global management of the two record data structures 90 and 91, in some embodiments, the extended travel record 9 is stored in the respective data container < RTI ID = 0.0 > (Also referred to as a "centrally managed data structure" or "central management area") for maintaining auxiliary container data associated with the data container, e.g., the date of creation of the data container, . The information maintained in the ancillary data structure 92 may be used to manage both areas in a synchronous manner. Each entry in the ancillary data structure 92 may share the same record identifier as the data container created in the ETR 9. In addition, each record in the ancillary data structure 92 may be associated with a set of auxiliary container data associated with a data container (having the same record identifier) maintained in the ETR 9. The ancillary data structure 92 may be populated with the standard record data structure 90 and the data container information contained in the non-standard record data structure.

몇몇 실시형태에서, 보조 데이터 구조(92)의 각각의 엔트리는 확장된 레코드 데이터 구조(9)에서 동일한 레코드 식별자를 공유하는 데이터 컨테이너에 관련된 보조 속성의 세트를 포함할 수도 있다. 각각의 엔트리는 동일한 식별자를 공유하는 ETR(9)의 레코드와 관련된 보조 컨테이너 데이터의 세트를 저장하기 위한 보조 데이터 컨테이너를 포함할 수도 있다. 보조 컨테이너 데이터의 세트는, 레코드의 소거의 이전의 날짜와 같은, 동일한 레코드 식별자를 공유하는 ETR(9)의 레코드에 관련된 제어 정보를 나타내는 제어 속성을 포함할 수도 있다.In some embodiments, each entry in the ancillary data structure 92 may include a set of auxiliary attributes associated with the data container that share the same record identifier in the expanded record data structure 9. Each entry may include an auxiliary data container for storing a set of auxiliary container data associated with a record of the ETR 9 that share the same identifier. The set of auxiliary container data may include a control attribute indicating control information associated with the record of the ETR 9 that shares the same record identifier, such as the previous date of erasure of the record.

몇몇 실시형태에서, 주어진 레코드 데이터 구조(90 또는 91)의 모든 레코드에 관련된 데이터 컨테이너 정보는 이 레코드 데이터 구조(90 또는 91)의 전용 레코드("컨테이너 정보 레코드"로 또한 칭해짐)에 유지될 수도 있고 특정 레코드 식별자(예를 들면 레코드 식별자0)를 할당받을 수도 있다. 표준 레코드 데이터 구조(90)의 컨테이너 정보 레코드 및/또는 비표준 레코드 데이터 구조(91)의 컨테이너 정보 레코드는 상이한 시간 간격에서, 예를 들면 주기적으로 또는 쿼리에 응답하여 또는 대안적으로 ETR(9)이 하나 이상의 데이터베이스들(8)에 저장될 때마다, 비보조 데이터 구조(92)에 복사될 수도 있다.In some embodiments, the data container information associated with every record in a given record data structure 90 or 91 may be maintained in a dedicated record (also referred to as a "container information record") of this record data structure 90 or 91 And may be assigned a specific record identifier (e.g., record identifier 0). The container information records of the standard record data structure 90 and / or the container information records of the non-standard record data structure 91 may be stored at different time intervals, for example periodically or in response to a query, or alternatively, May be copied to the non-ancillary data structure 92 whenever it is stored in one or more databases 8.

보조 데이터 구조(92)는 표준 레코드 데이터 구조에 및/또는 비표준 레코드 데이터 구조에 관련된 레코드 데이터 구조 정보, 예컨대 데이터베이스에서 표준 레코드 데이터 구조(90)의 그리고 비표준 레코드 데이터 구조의 최종 버전을 식별하는 버전 정보를 더 유지할 수도 있다.The ancillary data structure 92 may include record data structure information related to the standard record data structure and / or the non-standard record data structure, such as version information identifying the final version of the standard record data structure 90 in the database, Lt; / RTI >

여행 관리 시스템(100)은 보조 데이터 구조(92)에 포함된 데이터(보조 컨테이너 데이터 정보 및/또는 표준 레코드 데이터 구조 정보(90) 및/또는 비표준 레코드 데이터 구조 정보(91))에 기초하여 ETR(9)을 관리하기 위한 ETR 제어 유닛(18)을 포함할 수도 있다.The travel management system 100 may be configured to provide the ETR (e. G., Based on the auxiliary container data information and / or the standard record data structure information 90 and / or the non-standard record data structure information 91) 9 for managing the ETR control unit 18.

일 실시형태에서, ETR 제어 유닛(18)은, 공통 레코드 식별자를 사용하는 공통 데이터, 보조 데이터 구조(92)에 유지된 보조 컨테이너 데이터, 및/또는 레코드 데이터 구조 정보에 대한 표준 PNR(90)로부터의 그리고 비표준 PNR(91)로부터의 레코드들을 동기적 방식으로 주기적으로 소거하도록 구성된 소거 모듈(180)을 포함할 수도 있다.In one embodiment, the ETR control unit 18 is configured to determine whether the common PNR (90) for the common data using the common record identifier, auxiliary container data held in the auxiliary data structure 92, and / And an erase module 180 configured to periodically erase the records from the non-standard PNR 91 in a synchronous manner.

소정의 실시형태에서, ETR 제어 유닛(18)은, 보조 데이터 구조(92)에 유지된 데이터에 기초하여 표준 PNR(90) 내의 그리고 비표준 PNR(91) 내의 동일한 레코드 식별자에 대한 동시적 액세스를 핸들링하기 위한 액세스 매니저(181)를 포함할 수도 있다. 이러한 실시형태에서, 보조 데이터 구조는 데이터베이스(8)에서의 표준 레코드 데이터 구조(90) 및 비표준 레코드 데이터 구조(91)의 최종 버전을 식별하는 버전 정보를 더 유지할 수도 있다. 예를 들면, ETR(9)이 콘텍스트로부터 데이터베이스에 저장될 때마다, 버전 정보는 보조 데이터 구조(92)에서 업데이트된다. 액세스 매니저(18)는 보조 데이터 구조(92)에 유지된 버전 정보에 기초하여 ETR(9)에 대한 액세스를 관리하도록 구성될 수도 있다.In some embodiments, the ETR control unit 18 handles concurrent access to the same record identifier in the standard PNR 90 and in the non-standard PNR 91 based on the data held in the ancillary data structure 92 The access manager 181 may be used. In this embodiment, the ancillary data structure may further maintain version information identifying the final version of the non-standard record data structure 91 and the standard record data structure 90 in the database 8. For example, each time the ETR 9 is stored in the database from the context, the version information is updated in the auxiliary data structure 92. The access manager 18 may be configured to manage access to the ETR 9 based on the version information maintained in the ancillary data structure 92. [

본원에서 설명된 본 발명의 임의의 실시형태를 구체화하는 프로그램 코드는 다양한 다른 형태들의 프로그램 제품으로서 개별적으로 또는 일괄적으로 배포될 수도 있다. 특히, 프로그램 코드는, 컴퓨터 판독가능 저장 매체 및 통신 매체를 포함할 수도 있는 컴퓨터 판독가능 매체를 사용하여 배포될 수도 있다. 본질적으로 비일시적인 컴퓨터 판독가능 저장 매체는, 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 불휘발성의, 그리고 착탈가능한 및 착탈불가능한 유형의 매체를 포함할 수도 있다. 컴퓨터 판독가능 저장 매체는, RAM, ROM, EPROM(erasable programmable read-only memory; 소거가능 프로그래머블 ROM), EEPROM(electrically erasable programmable read-only memory; 전기적 EPROM), 플래시 메모리 또는 다른 솔리드 스테이트 메모리 기술, 휴대형 CD-ROM(compact disc read-only memory ; 컴팩트 디스크 ROM), 또는 다른 광학 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스, 또는 소망의 정보를 저장하는 데 사용될 수 있고 컴퓨터에 의해 판독될 수 있는 임의의 다른 매체를 더 포함할 수도 있다. 통신 매체는 컴퓨터 판독가능 명령, 데이터 구조, 또는 다른 프로그램 모듈을 구체화할 수 있다. 비제한적인 예로서, 통신 매체는 유선 네트워크 또는 직결 접속과 같은 유선 매체, 및 음향, RF, 적외선과 같은 무선 매체 및 다른 무선 매체를 포함할 수도 있다. 위의 것의 임의의 조합들도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.The program code embodying any of the embodiments of the invention described herein may be distributed individually or collectively as various other types of program products. In particular, the program code may be distributed using computer readable media, which may include computer readable storage media and communication media. An essentially non-volatile, computer-readable storage medium includes volatile and nonvolatile, removable and / or nonvolatile storage media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, Lt; RTI ID = 0.0 > non-removable type media. The computer-readable storage medium may be RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, Magnetic disk, CD-ROM (compact disc read-only memory), or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, But may also include any other medium that can be read. The communication medium may embody computer readable instructions, data structures, or other program modules. By way of non-limiting example, communication media may include wired media such as a wired network or direct connection, and wireless media such as acoustic, RF, infrared and other wireless media. Any combination of the above should also be included within the scope of computer readable media.

본원에서 설명된 방법은, 본원에서 특정된 기능/작용을 구현하기 위한 명령을 실행하는 프로세서를 구비한 머신을 생성하도록, 임의의 타입의 컴퓨터의 프로세서에 제공되는 컴퓨터 프로그램 명령에 의해 구현될 수 있다. 이들 컴퓨터 프로그램 명령은, 컴퓨터에게 특정 방식으로 기능하도록 명령할 수 있는 컴퓨터 판독가능 매체에 또한 저장될 수도 있다. 이를 위해, 컴퓨터 프로그램 명령은 일련의 동작 단계들의 수행을 야기시키도록 로딩되어, 실행되는 명령이 본원에서 특정된 기능/작용을 구현하기 위한 프로세스를 제공하도록 하는 컴퓨터 구현 프로세스를 생성할 수도 있다.The methods described herein may be implemented by computer program instructions that are provided to a processor of any type of computer to produce a machine with a processor for executing the instructions for implementing the functions / acts specified herein . These computer program instructions may also be stored in a computer readable medium that can direct the computer to function in a particular manner. To this end, the computer program instructions may be loaded to cause the execution of a series of operating steps to create a computer implemented process that causes the executed instructions to provide a process for implementing the functions / acts specified herein.

본 발명의 실시형태들이 다양한 예들의 설명에 의해 예시되었고, 또한 이들 실시형태들이 상세히 고려되었지만, 이러한 상세가 첨부된 특허청구범위의 범위를 어떤 식으로든 제한하거나 한정하는 것은 본 출원인의 의도가 아니다. 추가적인 이점 및 수정은 종래기술의 당업자에게는 명백할 것이다. 따라서, 본 발명은 그 광의의 양태에서, 도시되고 설명된 특정 상세, 대표적인 방법, 및 예시적인 예에 제한되지 않는다. 특히, 콘텐츠를 재배열하기 위해 추상 엘리먼트가 설명되었지만, 그것은 상이한 종류의 동작을 위해 콘텐츠에 액세스하는 내부 애플리케이션에 의해 더 일반적으로 사용될 수도 있다. 데이터 컨테이너의 속성을 필터링하기 위해 적용된 필터링 규칙은 의도되는 동작에 따라 변할 수도 있다.While the embodiments of the invention have been illustrated by the description of various examples and these embodiments have been considered in detail, it is not the intention of the applicant to restrict or limit the scope of the appended claims in any way. Additional advantages and modifications will be apparent to those skilled in the art. Accordingly, the invention in its broader aspects is not limited to the specific details, representative methods, and illustrative examples shown and described. In particular, while abstract elements have been described for rearranging content, it may be more commonly used by internal applications accessing content for different kinds of operations. The filtering rules applied to filter the attributes of the data container may vary depending on the intended action.

Claims (15)

확장된 레코드 데이터 구조(9)를 포함하는 콘텐츠 관리 시스템(100)에서 콘텐츠를 교환하는 방법에 있어서,
상기 확장된 레코드 데이터 구조(9)는 미리 정의된 타입을 갖는 표준 데이터 엘리먼트와 연관된 레코드를 저장하기 위한 표준 레코드 데이터 구조(90) 및 상기 미리 정의된 타입과 상이한 타입을 갖는 비표준 데이터 엘리먼트와 연관된 레코드를 비표준 데이터 컨테이너의 형태로 저장하기 위한 비표준 레코드 데이터 구조(91)를 포함하고, 각각의 비표준 데이터 컨테이너는 자신을 목표 포맷으로 직렬화할 수 있는 기술적 객체이고 상기 비표준 데이터 컨테이너의 각각의 속성에 대한 키들의 세트와 각각의 키 값의 세트를 포함하고, 각각의 비표준 데이터 컨테이너는 또한 상기 비표준 데이터 컨테이너의 속성의 구조를 정의하는 각각의 구조 설명 파일과 연관되고,
상기 방법은 데이터 교환 포맷(15)에 따른 데이터 교환 메시지를 사용하여 상기 비표준 레코드 데이터 구조(91)로부터 클라이언트 디바이스로 상기 비표준 데이터 엘리먼트를 송신하는 단계를 포함하고,
상기 데이터 교환 메시지는 상기 확장된 레코드 데이터 구조(9) 내의 상기 비표준 데이터 엘리먼트를 포함하는 비표준 데이터 컨테이너와 연관된 상기 구조 설명 파일 및 상기 비표준 데이터 컨테이너 내에 포함된 속성 값으로부터 생성되는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
A method of exchanging content in a content management system (100) comprising an extended record data structure (9), the method comprising:
Wherein the extended record data structure (9) comprises a standard record data structure (90) for storing records associated with standard data elements having a predefined type and a record associated with a non-standard data element having a different type than the predefined type Standard data record structure 91 for storing a non-standard data container in the form of a non-standard data container, each non-standard data container being a technical object capable of serializing itself into a target format, Wherein each non-standard data container is also associated with a respective structure description file defining a structure of attributes of the non-standard data container,
The method includes transmitting the non-standard data element from the non-standard record data structure (91) to a client device using a data exchange message according to a data exchange format (15)
Wherein the data exchange message is generated from an attribute value contained in the structure description file and the non-standard data container associated with a non-standard data container comprising the non-standard data element in the extended record data structure (9) To exchange content.
제1항에 있어서,
상기 방법은 상기 비표준 데이터 엘리먼트를 포함하는 상기 비표준 데이터 컨테이너와 연관된 상기 구조 설명 파일을 상기 클라이언트 디바이스(7)와 연관된 미리 정의된 매핑 규칙을 사용하여 목표 구조 설명 파일로 변환하는 단계를 포함하는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
The method according to claim 1,
The method includes converting the structure description file associated with the non-standard data container including the non-standard data element into a target structure description file using a predefined mapping rule associated with the client device (7) , A method for exchanging content in a content management system.
제2항에 있어서,
상기 미리 정의된 매핑 규칙은 상기 클라이언트 디바이스(7)의 그래픽 유저 인터페이스를 생성하도록 요구되는 속성에 관련되는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
3. The method of claim 2,
Wherein the predefined mapping rules relate to attributes required to create a graphical user interface of the client device (7).
제1항 내지 제3항 중 어느 한 항에 있어서,
데이터 교환 포맷(15)에 따른 데이터 교환 메시지를 사용하여 상기 표준 레코드 데이터 구조(90)로부터 클라이언트 디바이스로 표준 데이터 엘리먼트를 송신하는 단계를 더 포함하고,
상기 데이터 교환 메시지의 상기 생성은:
상기 표준 데이터 엘리먼트를 상기 비표준 데이터 컨테이너로 변환하여, 구조 설명 파일 및 속성 값들의 세트와 연관된 비표준 데이터 컨테이너를 제공하는 단계; 및
상기 표준 데이터 엘리먼트를 포함하는 상기 비표준 데이터 컨테이너와 연관된 상기 구조 설명 파일 및 상기 비표준 데이터 컨테이너에 포함된 상기 속성 값으로부터 상기 데이터 교환 메시지를 생성하는 단계를 포함하는 것인,
콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
4. The method according to any one of claims 1 to 3,
Further comprising transmitting a standard data element from the standard record data structure (90) to a client device using a data exchange message according to a data exchange format (15)
The generation of the data exchange message comprises:
Transforming the standard data element into the non-standard data container to provide a non-standard data container associated with the structure description file and a set of attribute values; And
And generating the data exchange message from the attribute description value included in the non-standard data container and the structure description file associated with the non-standard data container including the standard data element.
A method for exchanging content in a content management system.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 비표준 데이터 엘리먼트의 상기 타입에 기초하여 비표준 데이터 컨테이너와 연관된 상기 구조 설명 파일을 검색하는 단계를 더 포함하는,
콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
4. The method according to any one of claims 1 to 3,
And retrieving the structure description file associated with the non-standard data container based on the type of the non-standard data element.
A method for exchanging content in a content management system.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 비표준 데이터 엘리먼트의 상기 타입은 속성 키로서 상기 비표준 데이터 컨테이너에 저장되는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
4. The method according to any one of claims 1 to 3,
And the type of the non-standard data element is stored in the non-standard data container as an attribute key.
제2항 또는 제3항에 있어서,
상기 콘텐츠 관리 시스템(100)은 클라이언트 디바이스로부터의 서비스 요청에 응답하여 실행가능한 내부 애플리케이션들의 세트를 포함하고, 각각의 애플리케이션은 상기 클라이언트 디바이스(7)의 그래픽 유저 인터페이스로 응답을 리턴하도록 적응되고, 상기 응답은 상기 데이터 교환 포맷에 따라 하나 이상의 데이터 교환 메시지들에서 전송되는 데이터 엘리먼트들의 세트를 포함하는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
The method according to claim 2 or 3,
The content management system (100) includes a set of internal applications executable in response to a service request from a client device, each application being adapted to return a response to the graphical user interface of the client device (7) Wherein the response comprises a set of data elements transmitted in one or more data exchange messages in accordance with the data exchange format.
제7항에 있어서,
상기 매핑 규칙은 주어진 타입의 데이터 엘리먼트를 상기 목표 구조 설명 파일 내의 동일한 타입의 대응하는 데이터 엘리먼트에 매핑하는 것 또는 주어진 타입의 주어진 속성을 상기 목표 구조 설명 파일 내의 상기 동일한 타입의 각각의 속성에 매핑하는 것을 포함하는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
8. The method of claim 7,
The mapping rule may be used to map a data element of a given type to a corresponding data element of the same type in the target structure description file or to map a given attribute of a given type to a respective attribute of the same type in the target structure description file ≪ / RTI > wherein the method further comprises:
제1항 내지 제3항 중 어느 한 항에 있어서,
클라이언트 디바이스로부터 주어진 타입의 비표준 데이터 엘리먼트를, 상기 데이터 교환 포맷(15)에 따른 데이터 교환 메시지 - 상기 데이터 교환 메시지는 소스 구조 설명 파일에 따라 정의되고 상기 비표준 데이터 컨테이너에 포함된 상기 속성 값 및 상기 비표준 데이터 엘리먼트를 포함하는 비표준 데이터 컨테이너와 연관된 속성을 포함함 - 의 형태로 수신하는 단계;
상기 콘텐츠 관리 시스템(100)과 연관된 미리 정의된 매핑 규칙을 사용하여 상기 데이터 교환 메시지와 연관된 상기 소스 구조 설명 파일을 목표 구조 설명 파일 - 상기 목표 구조 설명 파일은 상기 비표준 데이터 엘리먼트의 상기 타입과 연관하여 상기 콘텐츠 관리 시스템에 저장됨 - 로 변환하는 단계;
상기 데이터 교환 메시지의 상기 속성 및 속성 값을, 비표준 데이터 컨테이너의 각각의 속성에 대한 키들의 세트와 각각의 키 값의 세트를 포함하는 상기 비표준 데이터 컨테이너의 키들 및 키 값들로 매핑하는 것에 의해 상기 타입의 상기 비표준 데이터 컨테이너를 생성하는 단계; 및
상기 비표준 데이터 컨테이너와 연관하여 상기 비표준 레코드 데이터 구조(91) 내에 레코드를 추가하는 단계를 더 포함하는,
콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
4. The method according to any one of claims 1 to 3,
A non-standard data element of a given type from a client device, a data exchange message in accordance with said data exchange format (15), said data exchange message being defined according to a source structure description file and comprising said attribute value and said non-standard Including an attribute associated with a non-standard data container containing a data element;
Using the predefined mapping rules associated with the content management system (100) to associate the source structure description file associated with the data exchange message to a target structure description file, the target structure description file associated with the type of the non- Storing in the content management system;
By mapping the attribute and attribute values of the data exchange message to keys and key values of the non-standard data container including a set of keys for each attribute of the non-standard data container and a set of respective key values, Creating the non-standard data container of the container; And
Further comprising: adding a record in the non-standard record data structure (91) in association with the non-standard data container.
A method for exchanging content in a content management system.
제9항에 있어서,
비표준 데이터 컨테이너를 생성하는 상기 단계는 체인화된 애플리케이션들의 세트 내의 주어진 내부 애플리케이션에 의해 수행되고 레코드를 추가하는 상기 단계는 체인화된 애플리케이션들의 상기 세트 내의 임의의 애플리케이션에 의해 트리거되는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
10. The method of claim 9,
Wherein the step of creating a non-standard data container is performed by a given internal application in a set of chained applications and the step of adding a record is triggered by any application in the set of chained applications. How to exchange content.
제10항에 있어서,
상기 비표준 데이터 컨테이너는 직렬화 정보를 운반하는 메시지를 사용하는 것에 의해 내부 애플리케이션으로부터 상기 체인화된 애플리케이션들의 세트 내의 다른 애플리케이션으로 전달될 수 있는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
11. The method of claim 10,
Wherein the non-standard data container can be passed from an internal application to another application in the set of chained applications by using a message carrying serialization information.
제7항에 있어서,
상기 비표준 데이터 컨테이너의 비표준 데이터 엘리먼트의 상기 타입에 대해 상기 콘텐츠 관리 시스템에 저장된 상기 구조 설명 파일을 수정함으로써 상기 비표준 데이터 엘리먼트를 업데이트하는 단계를 더 포함하는, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
8. The method of claim 7,
Further comprising updating the non-standard data element by modifying the structure description file stored in the content management system for the type of non-standard data element of the non-standard data container.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 확장된 레코드 데이터 구조(9) 내의 각각의 레코드는 레코드 식별자를 포함하는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
4. The method according to any one of claims 1 to 3,
Wherein each record in the expanded record data structure (9) comprises a record identifier.
제2항 또는 제3항에 있어서,
상기 데이터 교환 메시지는 XML 메시지를 포함하고 각각의 구조 설명 파일은 XSD 스키마를 포함하고, 상기 미리 정의된 매핑 규칙은 XSLT 스타일 시트를 포함하는 것인, 콘텐츠 관리 시스템에서 콘텐츠를 교환하는 방법.
The method according to claim 2 or 3,
Wherein the data exchange message comprises an XML message and each structure description file comprises an XSD schema and the predefined mapping rule comprises an XSLT stylesheet.
컴퓨팅 디바이스 및 확장된 레코드 데이터 구조(9)를 저장하기 위한 메모리를 포함하는 콘텐츠 관리 시스템에 있어서,
상기 확장된 레코드 데이터 구조(9)는 미리 정의된 타입을 갖는 표준 데이터 엘리먼트와 연관된 레코드를 저장하기 위한 표준 레코드 데이터 구조(90) 및 상기 미리 정의된 타입과 상이한 타입을 갖는 비표준 데이터 엘리먼트와 연관된 레코드를 비표준 데이터 컨테이너의 형태로 저장하기 위한 비표준 레코드 데이터 구조(91)를 포함하고, 각각의 비표준 데이터 컨테이너는 자신을 목표 포맷으로 직렬화할 수 있는 기술적 객체이고 상기 비표준 데이터 컨테이너의 각각의 속성에 대한 키들의 세트와 각각의 키 값의 세트를 포함하고, 각각의 비표준 데이터 컨테이너는 또한 상기 비표준 데이터 컨테이너의 상기 속성의 구조를 정의하는 각각의 구조 설명 파일과 연관되고,
상기 컴퓨팅 디바이스는 데이터 교환 포맷(15)에 따른 데이터 교환 메시지를 사용하여 상기 비표준 레코드 데이터 구조(91)로부터 클라이언트 디바이스로 상기 비표준 데이터 엘리먼트를 송신하도록 구성되고,
상기 데이터 교환 메시지는 상기 컴퓨팅 디바이스에 의해 상기 확장된 레코드 데이터 구조(9) 내의 상기 비표준 데이터 엘리먼트를 포함하는 상기 비표준 데이터 컨테이너와 연관된 상기 구조 설명 파일 및 상기 비표준 데이터 컨테이너 내에 포함된 속성 값으로부터 생성되는 것인, 콘텐츠 관리 시스템.
1. A content management system comprising a computing device and a memory for storing an extended record data structure (9)
Wherein the extended record data structure (9) comprises a standard record data structure (90) for storing records associated with standard data elements having a predefined type and a record associated with a non-standard data element having a different type than the predefined type Standard data record structure 91 for storing a non-standard data container in the form of a non-standard data container, each non-standard data container being a technical object capable of serializing itself into a target format, Wherein each non-standard data container is associated with a respective structure description file that defines a structure of the attribute of the non-standard data container,
The computing device is configured to transmit the non-standard data element from the non-standard record data structure 91 to a client device using a data exchange message in accordance with data exchange format 15,
Wherein the data exchange message is generated by the computing device from the structure description file associated with the non-standard data container comprising the non-standard data element in the extended record data structure (9) and an attribute value contained in the non-standard data container Content management system.
KR1020150076607A 2014-05-30 2015-05-29 Content exchange method and system KR101699613B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/292,188 US10049329B2 (en) 2014-05-30 2014-05-30 Content exchange with a travel management system
EP14305814.7 2014-05-30
EP14305814.7A EP2950246A1 (en) 2014-05-30 2014-05-30 Content exchange method and system
US14/292,188 2014-05-30

Publications (2)

Publication Number Publication Date
KR20150138824A KR20150138824A (en) 2015-12-10
KR101699613B1 true KR101699613B1 (en) 2017-01-24

Family

ID=54544810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150076607A KR101699613B1 (en) 2014-05-30 2015-05-29 Content exchange method and system

Country Status (4)

Country Link
JP (1) JP6664889B2 (en)
KR (1) KR101699613B1 (en)
CN (1) CN105279562B (en)
FR (1) FR3021790B1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6703890B2 (en) * 2016-04-27 2020-06-03 シャープ株式会社 Content distribution device, content distribution system and program
US10699353B2 (en) 2017-02-21 2020-06-30 Amadeus S.A.S. Non-standard data management in a data management system
JP6976346B2 (en) * 2017-02-21 2021-12-08 アマデウス エス.アー.エス.Amadeus S.A.S. Non-standard data management in a data management system
FR3063171B1 (en) * 2017-02-21 2022-11-11 Amadeus Sas NON-STANDARD DATA MANAGEMENT IN A CONTEXT DATA MANAGEMENT SYSTEM
ES2898755T3 (en) * 2017-06-08 2022-03-08 Amadeus Sas Multi-standard message processing
FR3069075B1 (en) * 2017-07-13 2021-02-19 Amadeus Sas SYSTEM AND METHOD FOR INTEGRATING MESSAGE CONTENT INTO A TARGET DATA PROCESSING DEVICE
JPWO2022059341A1 (en) * 2020-09-18 2022-03-24

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206523A1 (en) * 2005-03-14 2006-09-14 Microsoft Corporation Single-pass translation of flat-file documents into XML format including validation, ambiguity resolution, and acknowledgement generation
US20070260495A1 (en) 2005-10-21 2007-11-08 Scott Mace Software Architecture and Database for Integrated Travel Itinerary and Related Reservation System Components
US20120278334A1 (en) 2011-04-29 2012-11-01 John Abjanic Database System

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002019097A1 (en) * 2000-09-01 2002-03-07 International Interactive Commerce, Ltd. System and method for collaboration using web browsers
US7493261B2 (en) * 2001-04-12 2009-02-17 Getthere L.P. Travel management system utilizing multiple computer reservation systems (CRSS)
GB0226778D0 (en) * 2002-11-18 2002-12-24 Hewlett Packard Co Using semantic web technology to enhance current business-to-business integration approaches
US7085745B2 (en) * 2003-03-05 2006-08-01 Klug John R Method and apparatus for identifying, managing, and controlling communications
JP5351182B2 (en) * 2008-02-25 2013-11-27 アティジオ リミテッド ライアビリティ カンパニー Determining relevant information about the area of interest
FR2939934B1 (en) * 2008-12-16 2011-04-22 Thales Sa DATA REPORTING AND SUBSCRIPTION SYSTEM
EP2509035A1 (en) 2011-04-05 2012-10-10 Amadeus S.A.S. Reservation method and system with improved PNR handling
US20130191171A1 (en) * 2012-01-19 2013-07-25 National Railroad Passenger Corporation Reservation container object and reference thereto

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206523A1 (en) * 2005-03-14 2006-09-14 Microsoft Corporation Single-pass translation of flat-file documents into XML format including validation, ambiguity resolution, and acknowledgement generation
US20070260495A1 (en) 2005-10-21 2007-11-08 Scott Mace Software Architecture and Database for Integrated Travel Itinerary and Related Reservation System Components
US20120278334A1 (en) 2011-04-29 2012-11-01 John Abjanic Database System

Also Published As

Publication number Publication date
KR20150138824A (en) 2015-12-10
FR3021790B1 (en) 2022-10-14
JP2016028317A (en) 2016-02-25
CN105279562B (en) 2019-11-12
JP6664889B2 (en) 2020-03-13
CN105279562A (en) 2016-01-27
FR3021790A1 (en) 2015-12-04

Similar Documents

Publication Publication Date Title
KR101699613B1 (en) Content exchange method and system
KR101767725B1 (en) Content access method and system
US9367563B2 (en) Managing records in a travel management system
KR101695544B1 (en) A method and a system for managing a record data structure
US11113637B2 (en) Content exchange with a travel management system
US10891279B2 (en) Content management in a travel management system
KR101700509B1 (en) Content management system
US9619568B2 (en) Content access in a travel management system
US20130346123A1 (en) Reservation method and system with improved pnr handling
EP2950246A1 (en) Content exchange method and system
EP2950225B1 (en) A method and a system for managing a record data structure
EP2950244A1 (en) Content management system
EP2950245A1 (en) Content access method and system
US20230127638A1 (en) Key-based handling of product purchases
Pappis et al. Designing an API for the Provision of Public Service Information Based on CPSV-AP

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200106

Year of fee payment: 4