JP6864330B2 - ブロックチェーンに基づく部屋在庫管理システム - Google Patents

ブロックチェーンに基づく部屋在庫管理システム Download PDF

Info

Publication number
JP6864330B2
JP6864330B2 JP2020540322A JP2020540322A JP6864330B2 JP 6864330 B2 JP6864330 B2 JP 6864330B2 JP 2020540322 A JP2020540322 A JP 2020540322A JP 2020540322 A JP2020540322 A JP 2020540322A JP 6864330 B2 JP6864330 B2 JP 6864330B2
Authority
JP
Japan
Prior art keywords
room
blockchain
management system
node
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020540322A
Other languages
English (en)
Other versions
JP2021503676A (ja
Inventor
チュン・カイ・ワン
チョン・ハン・シェー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Obook Inc
Original Assignee
Obook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Obook Inc filed Critical Obook Inc
Publication of JP2021503676A publication Critical patent/JP2021503676A/ja
Application granted granted Critical
Publication of JP6864330B2 publication Critical patent/JP6864330B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Description

関連出願の相互参照
この出願は、2017年11月20日に出願され「Property management based on Ethereum」と題された米国仮出願第62/588,909号に基づく優先権を主張する。この出願の内容は、その全体が参照により本明細書に援用される。
本発明は、部屋在庫管理システムに関し、より具体的には、ブロックチェーンに基づく部屋在庫管理システムに関する。
部屋の予約はホテルまたは旅行代理店(トラベルエージェンシー)にとって重要なサービスである。従来(Conventional)の部屋予約サービスにおいて、ブッキングエンジン(Booking engine)またはオンライントラベルエージェンシー(OTA)はホテルを代理して、予定した時刻でホテルの空き部屋を予約するための遠隔ユーザインタフェースを顧客に提供する。
OTAとは、顧客への、ホテル部屋予約などの旅行商品の販売に特化した旅行ウェブサイトを指す。OTAは、部屋の予約を再販売するための、部屋提供者(例えば、ホテル)とのオンライン代理契約を有する。そのような条件の下で、OTAは、少なくとも1つの空き部屋を予約する顧客から代金を貰い、ホテルに卸し価格を支払う。
ホテルの部屋予約のためのブッキングエンジンとは、顧客が空き部屋を予約できるようにするウェブサイトを指す。ブッキングエンジンは、部屋予約にあたってより容易に決定できるよう、カスタマイズされた価格および/または支払いルールを顧客に紹介してもよい。
しかしながら、短期間のうちに複数の顧客がホテルの同一の空き部屋を予約するために遠隔ユーザインタフェースにログインする場合、オーバーブッキングが発生しやすい。オーバーブッキングは顧客およびホテルの両方に著しい損失をもたらす。例えば、オーバーブッキングは、追加の部屋、サービス、および/または補償の手配でホテルを煩わせる。また、オーバーブッキングは、限られた時間内で顧客にその旅行計画の変更を強いてしまい、顧客の旅行体験を損なう。このような不便は、旅行の混雑期により頻発し、深刻化する。それでも、ホテルは、現行のOTAおよび/またはブッキングエンジンによるオーバーブッキングを処理する技術で制限を受ける。そのため、技術的な解決策を介して効率的にオーバーブッキングを和らげる必要がある。
本開示は、ブロックチェーンに基づく部屋在庫管理システムを開示する。ブロックチェーンに基づく部屋在庫管理システムは資産管理システムと中間サーバシステムとを含む。資産管理システムはホスト送受信機とホスト不発揮性コンピュータ可読メモリとホストコンピュータプロセッサとを含む。ホスト送受信機は成立した取引を受信する。ホスト不発揮性コンピュータ可読メモリは、資産管理システムによって管理されたすべての部屋の予約状況(availability)を記録する部屋在庫記録の複写を記憶する。ホストコンピュータプロセッサは、成立した取引を組み入れることによって、部屋在庫記録の複写を更新する。中間サーバシステムは取引プロキシサーバと複数のノードサーバとを含む。取引プロキシサーバは中間送受信機と中間不発揮性コンピュータ可読メモリと中間コンピュータプロセッサとを含む。中間送受信機は、部屋予約イベントを受信し、成立した取引を資産管理システムへ転送し、成立した取引に応じて生成される新しいブロックを転送する。中間不発揮性コンピュータ可読メモリは、イーサリアム(登録商標)に基づいて生成される複数のスマートコントラクトを記憶し、複数のスマートコントラクトの少なくとも1つを用いて実行される部屋在庫記録を記憶し、複数のブロックを含むブロックチェーンを記憶する。ブロックチェーンにおいて最も新しく追加されたブロックは、資産管理システムにおける最新の成立した取引のすべてを担持する。中間コンピュータプロセッサは、部屋予約イベントが部屋在庫記録においてオーバーブッキングを起こすか否かを確認する。また、中間コンピュータプロセッサは、部屋予約イベントがローカルの部屋在庫記録においてオーバーブッキングを起こさないと確認したとき、部屋予約イベントが成立することを決定して部屋予約イベントの情報を用いて成立した取引を生成する。中間コンピュータプロセッサはハッシングモジュールとタイムスタンプモジュールとブロック生成モジュールとを含む。ハッシングモジュールは、成立した取引に応じて、新しいブロックに対してハッシュ値を生成する。タイムスタンプモジュールは、成立した取引に応じて、新しいブロックに対して一意的なタイムスタンプを生成する。ブロック生成モジュールは、成立した取引に応じて、少なくとも一意的なハッシュ値、一意的なタイムスタンプ、および最も新しく追加されたブロックの内容を用いて新しいブロックに対して一意的なブロックヘッダを生成する。また、ブロック生成モジュールは、一意的なブロックヘッダ、成立した取引の情報、複数のスマートコントラクトの少なくとも1つ、および最も新しく追加されたブロックの内容を含む新しいブロックを生成する。さらに、ブロック生成モジュールは、新しいブロックをブロックチェーンに追加する。複数のノードサーバのそれぞれは、ノード送受信機とノード不発揮性コンピュータ可読メモリとノードコンピュータプロセッサとを含む。ノード送受信機は中間送受信機から新しいブロックを受信する。ノード不発揮性コンピュータ可読メモリはブロックチェーンの複写を記憶する。ノードコンピュータプロセッサは、新しいブロックをブロックチェーンの複写に追加することによって、ブロックチェーンの複写を更新する。
また、本開示は、他のバージョンの、ブロックチェーンに基づく部屋在庫管理システムを開示する。当該ブロックチェーンに基づく部屋在庫管理システムは資産管理システムと中間サーバシステムとを含む。資産管理システムはホスト送受信機とホスト不発揮性コンピュータ可読メモリとホストコンピュータプロセッサとを含む。ホスト送受信機は成立した取引を受信する。ホスト不発揮性コンピュータ可読メモリは、資産管理システムによって管理されたすべての部屋の予約状況(availability)を記録する部屋在庫記録の複写を記憶する。ホストコンピュータプロセッサは、成立した取引を組み入れることによって、部屋在庫記録の複写を更新する。中間サーバシステムは複数のノードサーバを含む。複数のノードサーバのそれぞれは、ノード送受信機とノード不発揮性コンピュータ可読メモリとノードコンピュータプロセッサとを含む。ノード送受信機は、部屋予約イベントを受信し、成立した取引を資産管理システムへ転送し、成立した取引に応じて生成される新しいブロックを転送する。ノード不発揮性コンピュータ可読メモリは、イーサリアムに基づいて生成される複数のスマートコントラクトを記憶する。また、ノード不発揮性コンピュータ可読メモリは、複数のブロックを含むブロックチェーン、またはブロックチェーンの複写を記憶する。ブロックチェーンにおいて最も新しく追加されたブロックは、資産管理システムにおける最新の成立した取引のすべてを担持する。部屋在庫記録は、複数のスマートコントラクトの少なくとも1つを用いて実行される。ノードコンピュータプロセッサは、記憶されたブロックチェーンまたは記憶されたブロックチェーンの複写に新しいブロックを追加することによって、記憶されたブロックチェーンまたは記憶されたブロックチェーンの複写を更新する。ノードコンピュータプロセッサはハッシングモジュールと、タイムスタンプモジュールと、ブロック生成モジュールとを含む。複数のノードサーバは、コンセンサスアルゴリズム(consensus algorithm)を用いて、複数のノードサーバのうちからマスタノードサーバを一時的に選択する。マスタノードサーバのノードコンピュータプロセッサは、部屋予約イベントが部屋在庫記録においてオーバーブッキングを起こすか否かを確認する。また、マスタノードサーバのノードコンピュータプロセッサは、部屋予約イベントが部屋在庫記録においてオーバーブッキングを起こさないと確認したとき、部屋予約イベントが成立することを決定して部屋予約イベントの情報を用いて成立した取引を生成する。ハッシングモジュールは、成立した取引に応じて、新しいブロックに対してハッシュ値を生成する。マスタノードサーバのタイムスタンプモジュールは、成立した取引に応じて、新しいブロックに対して一意的なタイムスタンプを生成する。マスタノードサーバのブロック生成モジュールは、成立した取引に応じて、少なくとも一意的なハッシュ値、一意的なタイムスタンプ、および最も新しく追加されたブロックの内容を用いて新しいブロックに対して一意的なブロックヘッダを生成する。また、マスタノードサーバのブロック生成モジュールは、一意的なブロックヘッダ、成立した取引の情報、複数のスマートコントラクトの少なくとも1つ、および最も新しく追加されたブロックの内容を含む新しいブロックを生成する。さらに、マスタノードサーバのブロック生成モジュールは、マスタノードサーバのノード不発揮性コンピュータ可読メモリに記憶されたブロックチェーンに新しいブロックを追加する。マスタノードサーバ以外の複数のノードサーバのノードコンピュータプロセッサのブロック生成モジュールは、成立した取引に応じて、それぞれのノード不発揮性コンピュータ可読メモリに記憶されたブロックチェーンの複写に新しいブロックを追加する。
前述した概要、および本発明についての以下の詳細な説明は、添付図面と併せて読むことより、よく理解されるであろう。本発明を説明するために、現に好ましい実施例が図面に示されている。しかしながら、本発明は示された精確な配置および手段に限定されないことが理解されるべきである。
従来の部屋在庫管理システムが、部屋を予約する顧客のためにどのようにOTAモジュールおよび/またはブッキングエンジンと協働するかを示す図 本発明の1つの実施例に基づく、ブロックチェーンに基づく部屋在庫管理システムを示す図 図2に示された部屋在庫管理システムのホストメモリ、中間メモリ、およびノードメモリの部屋在庫記録の間のデータ交換に関する略図 図2に示された部屋在庫管理システムの中間プロセッサがどのように新しいブロックを生成するかを示す図 本発明の1つの実施例に基づいて、マスタサーバの責務をノードサーバに移転する、ブロックチェーンに基づく部屋在庫管理システムを示す図 図5に示された部屋在庫管理システムのホストメモリ、一時的なマスタノードメモリ、および他のノードメモリの部屋在庫記録の間のデータ交換に関する略図 図5に示された部屋在庫管理システムの一時的なマスタプロセッサがどのように新しいブロックを生成するかを示す図
添付図面に示された発明の実施例に対する参照は細かく行われる。可能な限り、同様な参照番号は全図面にわたって同様または類似の部分に振られている。
<従来(Conventional)の部屋在庫管理システムの構造>
図1は、従来の部屋在庫管理システム100が、部屋在庫管理システム100とOTAモジュールおよび/またはブッキングエンジンとの間に接続され、かつホテルの制御下にある中間チャネル管理機150を介して、顧客のためにどのようにOTAモジュールおよび/またはブッキングエンジンと協働して部屋を予約するかを示す。例示的に、部屋在庫管理システム100は、M個のOTAモジュールOTA1、OTA2…OTAM、および/またはN個のブッキングエンジンBE1、BE2…BENと協働する。ここでMおよびNは正の整数である。少なくとも1つの前述したOTAモジュールおよび/またはブッキングエンジンは少なくとも1つのグローバルディストリビューションシステム(GDS)および/または少なくとも1つのメタサーチエンジンに替えてもよいことが注意されるべきである。ただ、GDSおよびメタサーチエンジンなどを利用するときのホテルのコストは、OTAモジュールおよび/またはブッキングエンジンからサービスをレンタルするときのホテルのコストより相当に高い。このようなコストは、少なくとも、カスタマイズされたアプリケーションプログラミングインタフェース(API)の構築および維持、ならびに大量の顧客要求によって求められるサービス費用を含み得る。そのため、通常のホテルは、GDSおよびメタサーチエンジンのサービスを求めるより、OTAモジュールおよび/またはブッキングエンジンのサービスを求める。以下の説明もOTAモジュールおよび/またはブッキングエンジンの利用に集中されるが、GDSおよびメタサーチエンジンのサービスを利用する状況にも提供できる。
部屋在庫管理システム100はホテルの制御下の所有地内に設けられている。OTAモジュールOTA1、OTA2…OTAMおよび/またはブッキングエンジンBE1、BE2…BENは、ホテルから離れたところに設けられており、ホテルの制御下にはない。チャネル管理機150は、OTAモジュールOTA1、OTA2…OTAMおよびブッキングエンジンBE1、BE2…BENの各々との通信チャネルをそれぞれ維持し、それらの要求を、部屋在庫管理システム100、すなわちホテル、に対して解釈し中継する。しかしながら、共通の環境下では、OTAモジュールOTA1、OTA2…OTAMおよび/またはブッキングエンジンBE1、BE2…BENの各々は、異なるAPIおよび通信プロトコルを利用して異なる種類の変数およびパラメータを伝える。よって、これは、チャネル管理機150の通信チャネル用のカスタマイズAPIを設計する際に、ホストまたはチャネル管理機150のコストを常に増加させる。カスタマイズAPIは、OTAモジュールOTA1、OTA2…OTAMおよび/またはブッキングエンジンBE1、BE2…BENのAPIおよび通信プロトコルに適合させるためのAPIである。
部屋在庫管理システム100は従来の資産管理システム(PMS:property management system)モジュール120とメモリ130とを含む。
ホテルの部屋予約のための従来のPMSモジュールとは、ホテルの部屋予約を促進するカスタマイズされたシステムを指す。従来のPMSモジュールは、ホテルのフロント機能(front office function)、販売機能、計画機能、報告機能等の運行を調整するなどの目標のカバーに用いられる総合的なソフトウェアアプリケーションである。従来のPMSモジュールは、顧客の予約、顧客の詳細、オンライン予約、料金の通知、販売時点(point of sale)、電話、売掛金、販売とマーケティング、イベント、食品および飲料の原価計算、資材管理、人事管理および給与計算、保守管理、品質管理、および他のアメニティなどのホテル運営を自動化する。ホテルのPMSモジュールは、中央予約システムおよび収益(revenue)または利益(yield)管理システム、オンラインブッキングエンジン、バックオフィス(back office)、販売時点、ドアロック、ルームサービス最適化、エネルギー管理、支払いカード認証およびチャネル管理システムなどのサードパーティソリューションに、統合され得るまたはインタフェースを介して連結され得る。クラウドコンピューティング技術によって、ホテルのPMSモジュールがその機能性を、オンラインチェックイン、ルームサービス、室内における制御、顧客とスタッフと間のコミュニケーション、仮想コンシェルジュ(virtual concierge)などの顧客の面と向かう特徴まで拡張する。拡張機能は主に、顧客がその自身が持っている携帯電話によって利用され、または、ホテルのロビーおよび/または部屋において提供される。従来のPMSモジュールは、1日当たりの平均料金や稼働率などの、従来のPMSモジュールでは、ホテル業務の基本的な主要業績評価指標(basic key performance indicators)について、正確で即時の情報を提供する必要がある。従来のPMSモジュールは、食品および飲料の管理について、貯蔵室の在庫を制御し、どのようなもの、どの価格で、どの頻度で購入すべきかを決定することにも役に立つ。このように、従来のPMSモジュール120は、PMSモジュール120を介してホテルとローカル的に、または、前述したOTAモジュールおよび/またはブッキングエンジンを介して遠隔的に、顧客にその部屋予約を完成させることができる。
メモリ130は、部屋在庫管理システム100によって管理された、すなわち、ホテルによって管理されたすべての部屋の予約状況を記録する部屋在庫記録140を保持する。管理された部屋の予約状況に基づいて、管理された部屋は、空き部屋、予約済みの部屋、および使用中の部屋に、部屋在庫管理システム100によって分類され得る。顧客が空き部屋を予約すると、当該空き部屋は予約済みの部屋になる。顧客がホテルの予約済みの部屋にチェックインすると、予約済みの部屋は使用中の部屋になる。顧客がホテルからチェックアウトすると、使用中の部屋は空き部屋になる。
同様に、OTAモジュールOTA1、OTA2…OTAMのそれぞれは対応する部屋在庫を有する。ブッキングエンジンBE1、BE2…BENのそれぞれも対応する部屋在庫記録を有する。
しかしながら、OTAモジュールOTA1、OTA2…OTAMおよびブッキングエンジンBE1、BE2…BENは、それぞれの部屋在庫記録の内容を部屋在庫記録140の内容と動的に同期する動機がない。それは、このような動的な同期は従来のPMSモジュール120の応答を待つためにその負担が著しく増加し得るからである。また、チャネル管理機150は要求の翻訳および中継のみを担当するので、チャネル管理機150はこのような負担を従来のPMSモジュールに低減させることができない。さらにひどい場合、多くのOTAモジュールおよびブッキングエンジンが部屋在庫記録140の内容を問い合わせし続けると、従来のPMSモジュール120はこのような問い合わせを対処できず、そのシステムクラッシュに導く。このようなシステムクラッシュを回避するために、従来のPMSモジュール120は、より長い待ち時間間隔を与えることによって、OTAモジュールおよびブッキングエンジンのそれぞれに対して限られた問い合わせのみを許可することができる。待ち時間間隔は、ホテルがサービスを求めるOTAモジュールおよび/またはブッキングエンジンの数に依存して、少なくとも数分間から数時間である。例えば、OTAまたはブッキングエンジンは、ホテルがサービスを求めるOTAモジュールおよび/またはブッキングエンジンが5個以上の場合、半時間から二時間ごとに部屋在庫記録140を問い合わせるように限られ得る。ホテルがより多くのOTAおよび/もしくはブッキングエンジンと協働するとき、または旅行の混雑期のとき、このような待ち時間はより長く設定され得る。その結果、OTAモジュールおよび/またはブッキングエンジンは顧客の部屋予約要求を処理するまで正確な部屋在庫記録を有しないことがあるので、部屋在庫記録140とOTAモジュールおよび/またはブッキングエンジンの部屋在庫記録との内容には不一致が必然的に発生する。極端な状況下であっても、双方に望ましくない負担を低減するために、および、入ってくる部屋予約要求の処理に集中するために、OTAおよび/またはブッキングエンジンは、部屋在庫確認のコストを節約すべく、時々またはさらに頻繁に従来のPMSモジュール120に問い合わせることを省こうとすることがある。さらにひどい場合、ホテルの空き部屋が実際に無くなり、かつ、OTAモジュールおよび/またはブッキングエンジンが意識するために即時に従来のPMSモジュール120に問い合わせができていないとき、オーバーブッキングの発生は必然となる。
<オーバーブッキングはどのように従来の部屋在庫管理システムで発生するか>
従来の技術の観点でオーバーブッキングはどのように発生するかについては、図1の参照を介してさらに詳細に紹介される。
仮に、部屋在庫管理システム100によって管理された空き部屋R1を予約するために、第1の顧客がOTAモジュールOTA1を介してPMSシステム120にアクセスする。まず、OTAモジュールOTA1は、ホテルが空き部屋を有するかを確認するために、自分の部屋在庫記録を確認し、当該自分の部屋在庫記録は部屋在庫記録140と一致していないことがある。ホテルが空き部屋を有する場合、OTAモジュールOTA1は第1の顧客の部屋予約要求を従来のPMSモジュール120に転送する。次に、従来のPMSモジュール120は部屋在庫記録140を確認し、第1の顧客に対して空き部屋を確かに有するかを確認する。確かに有する場合、従来のPMSモジュール120は、第1の顧客の部屋予約要求を成立した取引に翻訳し、部屋在庫記録140を更新し当該成立した取引を記録する。このような更新は、部屋R1の予約状況を「予約済み」に変更することと、ホテルの空き部屋数を減少させることとを含む。
しかしながら、第1の顧客の部屋予約の少し後、同一の部屋R1を予約するために、第2の顧客がブッキングエンジンBE1を介してPMSシステム120にアクセスすると、ブッキングエンジンBE1は、第1の顧客の成立した取引について即時に知らせられてなく、部屋R1がまだ空いていると誤った確認を取ることがある。次に、ブッキングエンジンBE1は第2の顧客の部屋予約要求を従来のPMSモジュール120に転送する。明らかに、従来のPMSモジュール120は、部屋在庫記録140を参照すれば、第2の顧客の部屋予約が成立しないとすぐ決定するが、第2の顧客の成立しない部屋予約を知らせるためにブッキングエンジンBE1の次の問い合わせを待たなければならない。運が悪い場合、ブッキングエンジンBE1の次の問い合わせより前に第2の顧客がチェックインしようとすると、第2の顧客およびホテルはオーバーブッキングの問題に直面する。
第2の顧客は運が良かった場合、ホテルは適切な補償を第2の顧客に提供して代替的で空き部屋を用意することができる。しかしながら、ホテルは第1の顧客の成立した取引を確定した後その空き部屋が尽きた場合、第2の顧客はまたオーバーブッキングの問題に直面し、直ちに他のホテルにおいて他の空き部屋を探すと強いられる。大きな不確定性によって、第2の顧客の旅行体験が高い確率で損なわれ、ホテルおよびブッキングエンジンBE1の両方の信用にも傷付く。さらにひどいとき、上述したように、ホテルが多くのOTAおよび/もしくはブッキングエンジンと協働する場合、または、旅行の混雑期の場合、オーバーブッキングの問題の深刻さは増え続ける。
技術的な観点では、従来の部屋在庫管理システム100は以下の欠点を有する。
(1)OTAおよびブッキングエンジンは、それぞれの部屋在庫記録の正確性を確認するために従来のPMSモジュール120と動的に問い合わせることができない。
(2)OTAモジュールおよびブッキングエンジンが従来のPMSモジュール120に問い合わせるそれぞれの頻度を増加させる場合、従来のPMSモジュール120はその計算および/または通信帯域幅の負荷を対処できなくなる。よって、計算上または通信上のエラーが発生しやすくなる。
(3)従来の部屋在庫管理システム100とOTAモジュールおよび/またはブッキングエンジンとの間におけるデータの不一致は、ホテルのオーバーブッキングをもたらす。このようなオーバーブッキングは、ホテルが多くのOTAモジュールおよび/またはブッキングエンジンと協働するとき、または旅行の混雑期のときにひどくなる。
(4)ホテルは、カスタマイズされたAPIおよび通信プロトコルを開発し、OTAモジュールおよび/またはブッキングエンジンから要求される変数およびパラメータを受信し、部屋予約要求、部屋キャンセル要求、または部屋チェックアウト要求を処理するために、さらに多くのコストをかけなければならない。
<本発明に係る部屋在庫管理システム>
従来の部屋在庫管理システム100において発生するオーバーブッキング問題を効率的に緩和するために、本発明は、1つの実施例に基づく、ブロックチェーンに基づく部屋在庫管理システム、すなわち、図2に示されたブロックチェーンに基づく部屋在庫管理システム200を開示する。部屋在庫管理システム200は中間サーバシステムを導入し、当該中間サーバシステムは、従来のPMSモジュールとOTAモジュールおよび/またはブッキングエンジンとの間のデータの不一致を緩和することができ、従来のPMSモジュールの負担を低減することができる。また、部屋在庫管理システム200は、OTAモジュールおよびブッキングエンジン、さらに前述したGDSおよびメタサーチエンジンによる通信および維持のコストを節約するような、費用効果が高い解決策をホテルに提供する。
ブロックチェーンは複数の物理ノードを含み、論理上、それぞれの物理ノードは同様な内容、例えば、同様な複数のブロックを維持している。それぞれのノードは複数のブロックを含む。特定のイベントの発生に応じて、例えば、成立した取引の発生に応じて、当該特定のイベントを記録するために新しいブロックが生成される。多くのブロックの生成につれて、成立した取引の履歴はブロックチェーンにおいて確立されて追跡され得る。よって、ブロックチェーンを採用する1つ目の利点は追跡可能性である。その上、特定の物理ノードにおいて特定ブロックの改ざん行為が成功したとしても、すべての物理ノードが論理上に同様な内容、すなわち、同様なブロックを含むため、当該行為は、影響を受けていない他の物理ノードを参照することによって検出され修復され得る。すなわち、ブロックチェーンを採用する2つ目の利点はその改ざん行為を防御する能力である。
ブロックチェーン技術を適用するとき、ブロックチェーンに基づく部屋在庫管理システム200は、成立した取引のそれぞれ、すなわち、部屋予約イベントのそれぞれの正確性を有効的に確保することができる。よって、ブロックチェーンに基づく部屋在庫管理システム200は、従来の部屋在庫管理システムによって起こされるオーバーブッキング問題を有効的に緩和することができる。
また、ブロックチェーンに基づく部屋在庫管理システム200は、イーサリアムに基づくスマートコントラクト(smart contract)を利用して、OTAモジュールおよび/またはブッキングエンジンと通信するための、共通のAPIおよび/または共通の通信プロトコルを生成する。いくつかの実施例において、共通のAPIは、同様にイーサリアムに基づくこれらのOTAモジュールおよび/またはブッキングエンジン向けであり、共通の通信プロトコルは、イーサリアムに基づかないこれらのOTAモジュールおよび/またはブッキングエンジン向けである。このように、システムの維持と通信のためのAPIおよび/または通信プロトコルのコストを著しく減少させることができ、当該システムの維持と通信は、OTAモジュールおよび/もしくはブッキングエンジンとの部屋予約イベントの送受信、または、OTAモジュールおよび/もしくはブッキングエンジンとの部屋在庫記録の更新を含む。それは、イーサリアムに基づくスマートコントラクトが言語設計上のオープンで簡単という特性により、当該特性は、比較的に少ないまたは比較的に理解しやすい変数およびパラメータの中継を含む。このようなコスト低減は、同様な理由で、ブロックチェーンに基づく部屋在庫管理システム200がGDSおよびメタサーチエンジンと協働するときも働く。
スマートコントラクトはイーサリアムの下で開発された技術であり、本発明に適用されるブロックチェーン技術に対して重要な補助技術である。イーサリアムは、オープンソースであり、ブロックチェーンに基づく分散計算システムおよびオペレーティングシステムであり、スマートコントラクトの機能性を特徴とする。イーサリアムは、分散式でチューリング完全(Turing−complete)の仮想マシン、すなわち、イーサリアム仮想マシン(EVM:Ethereum virtual machine)を提供し、当該EVMはノードの国際ネットワークを利用するスクリプトを実行することができる。
イーサリアムのスマートコントラクトは、開発者が各自の機能をプログラミングするために利用する異なるコンピュータ言語に基づく。スマートコントラクトは、高級プログラミングに抽象化されており、EVMのバイトコードにコンパイルされ、実行されるようにイーサリアムブロックチェーンに配置される。スマートコントラクトによって、証明可能な公平性(provably fair)を自身に含むカジノなどの機能性を提供することが可能となる。イーサリアムブロックチェーンアプリケーションはしばしば分散式アプリケーションと称され、それは、当アプリケーションは分散式EVMおよびそのスマートコントラクトに基づくからである。イーサリアムブロックチェーンアプリケーションの例としては、デジタル署名アルゴリズム、証券化トークン、デジタル権利管理、クラウドファンディング、予測市場、送金、オンラインギャンブル、ソーシャルメディアプラットフォーム、金融取引所、および識別システムが挙げられる。イーサリアムのチューリング完全の特性によって、スマートコントラクトは、機能の設計上および実行上の高い柔軟性を提供する。また、イーサリアムに基づくスマートコントラクトはオープンソースであって実装しやすいため、ブロックチェーンに基づく部屋在庫管理システム200は、イーサリアムに基づくスマートコントラクトによって、OTAモジュールおよび/またはブッキングエンジンとの通信において上述した利点を有する。
ブロックチェーンに基づく部屋在庫管理システム200は、新規のPMSモジュール210と中間サーバシステム250とを含む。PMSモジュール210は、PMSモジュール210を直接的に制御できるホテルなどのホテル内に配置され得る。中間サーバ250はPMSモジュール210から遠隔的に配置され得る。一実施例において、中間サーバシステム250はPMSモジュール210のために部屋予約イベントを前処理しまたは処理し、よって、中間サーバシステム250はPMSモジュール210の負担を著しく緩和する。一実施例において、部屋予約イベントは、少なくとも、ホテルからの内部部屋予約要求およい内部部屋キャンセル/チェックアウト要求、ならびに、OTAモジュールおよび/またはブッキングエンジンからの外部部屋予約要求および外部部屋キャンセル要求を含む。外部部屋予約/キャンセル要求は外部のOTAモジュールおよび/またはブッキングエンジンに送信され、イーサリアムに基づくスマートコントラクトを用いて開発されたAPIまたは通信プロトコルによってホテルの少なくとも1つの部屋を予約またはキャンセルしてもよい。内部部屋予約/チェックアウト要求は、ホテルにおいて顧客が直接的に部屋を予約するとき、または、ホテルにチェックインした顧客がチェックアウトするときに発生する。また、イーサリアムに基づくスマートコントラクトを用いて開発されたAPIまたは通信プロトコルが設定しやすいため、中間サーバシステム250はイーサリアムに基づくスマートコントラクトを利用して部屋予約イベントを通信し、OTAモジュールおよび/またはブッキングエンジンとの費用効果が高い通信が達成する。
一実施例において、PMSモジュール210は、同様な遠隔手続き呼び出し(RTC:remote procedure call、リモートプロシージャコールとも呼ばれている)プロシージャなどの同様なアプリケーションプログラミングインタフェースを共有することによって中間サーバシステム250と協働するように特別に設計され、よって、PMSモジュール210と中間サーバシステム250との間の通信は処理時間が短くなって効率がよくなることができる。部屋在庫管理システム200が短時間内で大量の部屋予約イベントを処理する必要があるとき、例えば、旅行の混雑期のときに、このような高い効率はより明らかになる。
PMSモジュール210は、ホスト送受信機212とホストプロセッサ214とホストメモリ216とを含む。本発明の実施例において、ホストプロセッサ214はコンピュータプロセッサであり、ホストメモリ216は不発揮性コンピュータ可読メモリである。ホスト送受信機212は中間サーバシステム250との通信を処理できるが、OTAモジュールOTA1、OTA2…OTAMおよびブッキングエンジンBE1、BE2…BENと直接的に通信しない。ホストメモリ216は、ホストの部屋管理のためにPMSモジュール210に対して(図3に示された)部屋在庫記録218を維持する。部屋在庫記録218は、少なくとも、ホテルの各部屋の予約状況、および、ホテルの空き部屋数を含む。ホストプロセッサ214は、部屋予約イベントの発生に応じて、部屋在庫記録218を参照および/または更新する。例えば、ホストプロセッサ214は部屋予約要求に応じて、空き部屋数を減少させ、および/または、予約部屋を、空きがない状況としてもよい。また、ホストプロセッサ214は、部屋キャンセル要求または部屋チェックアウト要求に応じて、空き部屋数を増加させ、および/または、予約済みの部屋を空いている状況にしてもよい。
中間サーバシステム250はブロックチェーン技術を適用する。また、中間サーバシステム250は取引プロキシサーバ260と複数のノードサーバ、例えば、図2に示されたX個のノードサーバNS1、NS2…NSXとを含む。Xは正の整数である。また、ノードサーバNS1、NS2…NSXは、ブロックチェーンを形成し、それぞれにデータ一致性およびデータ追跡可能性のために実質的に同様なデータを維持する。
取引プロキシサーバ260は、中間サーバシステム250の頭脳として動作し、中間送受信機262と中間プロセッサ264と中間メモリ266とを含む。いくつかの実施例において、取引プロキシサーバ260は信頼ノードとして動作し、中間サーバシステム250内にブロックチェーンにおけるブロックを生成するように承認される。同様に、実施例において、中間プロセッサ264はコンピュータプロセッサであり、中間メモリ266は不発揮性コンピュータ可読メモリである。OTAモジュールOTA1、OTA2…OTAM、およびブッキングエンジンBE1、BE2…BENまたはPMSモジュール210のいずれか1つが部屋予約要求を発行するとき、中間送受信機262は部屋予約要求を受信して部屋予約要求を中間プロセッサ264に転送する。いくつかの実施例において、中間送受信機262はアプリケーションプログラミングインタフェース(API)サーバとして実行され、APIサーバは、中間メモリ266に記憶されたイーサリアムのスマートコントラクトに基づいて、部屋予約要求を、PMSモジュール210および中間サーバシステム250が理解しやすい形式に翻訳し、すなわち、チャネル管理機150の機能の代替となる。中間メモリ266は、少なくとも1つのイーサリアムに基づくスマートコントラクトを用いて実行される(図3に示された)部屋在庫記録268を維持し、よって、中間プロセッサ264は、複数のイーサリアムに基づくスマートコントラクトと互換可能な指令に基づいて、部屋在庫記録268を操作する(例えば、アクセスする、更新する、または監査する(audit))。中間サーバシステム250(特に取引プロキシサーバ260)とOTAモジュールOTA1、OTA2…OTAMおよび/またはブッキングエンジンBE1、BE2…BENとの間の通信は、中間メモリ266に記憶されたスマートコントラクトによって支援される。中間プロセッサ264は、複数のスマートコントラクトの少なくとも1つを利用し、部屋在庫記録268の内容にアクセスするおよび/または更新する。また、いくつかの実施例において、APIサーバの翻訳プロシージャを部屋在庫管理プロシージャから分離させて取引プロキシサーバ260のシステムオーバーロードを回避するために、中間送受信機262は中間プロセッサ264および/または中間メモリ266から離れて配置され得る。
いくつかの実施例において、中間プロセッサ264は、PMSモジュール210、または、OTAモジュールOTA1、OTA2…OTAMもしくはブッキングエンジンBE1、BE2…BENのいずれか1つから部屋予約イベントが成立した取引であるかを判断し、当該部屋予約イベントは部屋予約要求、部屋チェックアウト要求または部屋キャンセル要求であってもよい。OTAモジュールOTA1、OTA2…OTAMまたはブッキングエンジンBE1、BE2…BENのいずれか1つからの部屋予約イベントは、顧客からの外部部屋予約要求または(予約がすでに成立と確認された場合において)外部部屋キャンセル要求であってもよい。PMSモジュール210からの部屋予約イベントは、内部部屋予約要求、内部部屋キャンセル要求、または内部部屋チェックアウト要求であってもよい。部屋予約要求を受信するとき、中間プロセッサ264は、部屋在庫記録268を確認し、例えば、予約部屋の予約状況に基づいて、または、部屋予約要求が許可されるとホテルにおいてオーバーブッキングが発生するか否かに基づいて、部屋予約要求が許可すべきであるか否かを確認する。中間プロセッサ264が部屋予約要求を許可すると、中間プロセッサ264は対応的に成立した取引を生成する。同様に、内部チェックアウト要求、内部部屋キャンセル要求または外部部屋キャンセル要求を受信すると、中間プロセッサ264は、部屋在庫記録268を確認し、キャンセルされたまたはチェックアウトされた部屋を解除し、対応的に成立した取引を生成する。
ブロックチェーン技術の下で実行される複雑な機能を支援するために、中間サーバシステム250は、中間メモリ266に記憶された少なくとも1つの、イーサリアムに基づくスマートコントラクトを適用する。前述したように、スマートコントラクトの設定上および実行機能上の柔軟性によって、中間サーバシステム250は、伝統的な部屋予約需要と最も新しいブロックチェーン技術とを組み合わせて様々な種類の機能を実行することができる。
いくつかの実施例において、中間プロセッサ264は、部屋予約イベントが成立した取引であるか否かを判断した後、部屋在庫記録268を更新するために成立した取引を部屋在庫記録268に組み入れる。また、中間プロセッサ264は、ノードサーバNS1、NS2…NSXのそれぞれに対して更新した部屋在庫記録268の内容を同期してもよく、すなわち、ノードサーバNS1、NS2…NSXによって形成されたブロックチェーンを更新してもよい。よって、ノードサーバNS1、NS2…NSXは、部屋在庫記録268のためのバックアップ記憶装置として動作し得る。
いくつかの実施例において、よく知られたブロックチェーン技術が示すように、前述したノードサーバNS1、NS2…NSXのブロック更新は同一のブロックチェーンにおいて異なるノードサーバ間のブロック競合(block competition)を含み得て、よって、いくつかのブロックはノードサーバNS1、NS2…NSXの一部において追加されてから廃棄される。ただ、簡潔に説明するために、仮にノードサーバNS1、NS2…NSXのブロック更新はこのようなブロック競合をカバーする。よって、仮に、ノードサーバNS1、NS2…NSXのそれぞれは、実質的に同様なブロックを有し、当該ブロックは最終的には実質的に同様な取引履歴を含む。
このように、中間プロセッサ264はノードサーバNS1、NS2…NSXのいずれか1つから部屋在庫記録268の正確な複写を常に見つけることができるため、部屋在庫記録268の内容は損害をより回避することができる。
ノードサーバNS1、NS2…NSXのそれぞれは、ノード送受信機とノードプロセッサとノードメモリとを含む。ノードプロセッサはコンピュータプロセッサである。また、ノードメモリは不発揮性コンピュータ可読メモリである。ノード送受信機は、部屋予約要求に対応する成立した取引が発生するときに、中間プロセッサ264から指令を受信し中間プロセッサ264からにデータを送信する。ノードメモリは、以後の更新および/または監査のために、部屋在庫記録268の内容の複写を記憶してもよい。ノードプロセッサは、中間プロセッサ264から受信した指令を処理し、中間プロセッサ264に応答するにはどのようなデータを判断する。図2に示された例示のように、例えば、ノードサーバNS1はノード送受信機NT1とノードプロセッサNP1とノードメモリNM1とを有し、ノードサーバNS2はノード送受信機NT2とノードプロセッサNP2とノードメモリNM2とを有し、ノードサーバNSXはノード送受信機NTXとノードプロセッサNPXとノードメモリNMXとを有する。
図3は、ホストメモリ216、中間メモリ266、およびノードメモリNM1、NM2…NMXの部屋在庫記録、すなわち、部屋在庫記録218、部屋在庫記録268、および部屋在庫記録RI1、RI2…RIXの間のデータ交換に関する略図を示す。ノードメモリNM1、NM2…NMXのそれぞれは同様な複数のスマートコントラクトを部屋在庫管理268の複数のスマートコントラクトとして記憶する。また、部屋在庫記録RI1、RI2…RIXは、ノードメモリNM1、NM2…NMXのそれぞれに記憶された当該複数のスマートコントラクトを用いて実行される。中間プロセッサ264および中間メモリ266と同様に、ノードプロセッサNP1、NP2…NPXのそれぞれは、部屋在庫記録RI1、RI2…RIXを実行する当該複数のスマートコントラクトを用いて、部屋在庫記録RI1、RI2…RIXの内容を各自にアクセスし更新する。
いくつかの実施例において、中間プロセッサ264はまず、成立した取引の発生に応じて、部屋在庫記録268を更新する。また、中間プロセッサ264はホスト送受信機212を介して部屋在庫記録268の更新した内容をPMSモジュール210に転送し、よって、ホストプロセッサ214は部屋在庫記録218を更新し、部屋在庫記録268の更新した内容と同期する。また、中間プロセッサ264は、部屋在庫記録268の更新した内容に応じて、新しいブロックを生成し、当該新しいブロックはPMSモジュール212の少なくとも最新の成立した取引のすべてを担持する。いくつかの実施例において、中間プロセッサ264は、完全の指令、例えば、変数を計算し更新すること、を実行するために、中間メモリ266に記憶された少なくとも1つのスマートコントラクトを要求し、新しいブロックを生成する。例えば、Y個の異なる成立した取引が時間順(chronological order)で発生するとき、中間プロセッサ264は、時刻t1にブロックBL1を、時刻t2にブロックBL2を、時刻tYに最も新しく生成されるブロックBLYを生成する。Yは正の整数である。時刻t1が時刻t2より早く、時刻t2が時刻t(Y−1)より早く、時刻t(Y−1)が時刻tYより早い。時刻tYは、最新に生成される成立した取引が発生する時刻tYを指す。ブロックBL1は時刻t1まで最新の成立した取引のすべてを含む。ブロックBL2は、ブロックBL1より、もう1つの、時刻t2に発生した成立した取引を含み、すなわち、時刻t2まで最新の成立した取引のすべてを含む。同様に、ブロックBLYは時刻tYまで最新の成立した取引のすべてを含む。
ノードサーバNS1、NS2…NSXのそれぞれは、ブロックチェーン技術の下で、対応する部屋在庫記録RI1、RI2…RIXを部屋在庫記録268の内容と同期的に更新し続けるべきである。よって、それぞれのノード送受信機NT1、NT2…NTXを介して最も新しく生成されたブロックBLYを受信した後、ノードプロセッサNP1、NP2…NPXは、当該最も新しく生成されたブロックBLYを対応する部屋在庫記録RI1、RI2…RIXにそれぞれに組み入れる。いくつかの実施例において、ノードプロセッサNP1、NP2…PNXは、少なくとも1つのスマートコントラクトの協力を要求し、最も新しい取引に関わる指令を同期的に実行し、対応する部屋在庫記録RI1、RI2…RIXの更新を完成する。更新は、いくつかのローカル変数またはいくつかのグローバル変数の更新を含んでもよい。いくつかのローカル変数は部屋の予約状況または対応する部屋価格を含んでもよい。いくつかのグローバル変数は条件付き割引または動的に調整された部屋価格を含んでもよい。
図4は、中間プロセッサ264がどのように新しいブロックを生成するかを詳細に示す。中間プロセッサ264はハッシングモジュール402とタイムスタンプモジュール404とブロック生成モジュール406とを含む。前述したように、中間プロセッサ264は成立した取引に応じて新しいブロックを生成する。中間プロセッサ264が成立した取引を確認するとき、ハッシングモジュール402は新しいブロックに対してハッシュ値を生成し、タイムスタンプ404は新しいブロックに対して一意的なタイムスタンプを生成する。例えば、Y個のブロックBL1、BL2…BLYに対して、ハッシングモジュール402は実質的に一意的なハッシュ値HS1、HS2…HSYをそれぞれに生成し、タイムスタンプモジュール404は実質的に一意的なタイムスタンプTS1、TS2…TSYをそれぞれに生成する。
ハッシュ値の生成方法はブロックチェーン技術の当業者にとっては周知であるため、ここでは詳細に説明しない。ただ、生成されたハッシュ値のそれぞれはそのランダム性(randomness)を有し、よって、生成されたハッシュ値のそれぞれは実質的に一意的であり得る。いくつかの実施例において、生成されたタイムスタンプは、中間プロセッサ264が成立した取引を確認する時刻、または部屋予約要求が開始される時刻として参照され得て、当該部屋予約要求は、例えば、PMSモジュール210、または、OTAモジュールOTA1、OTA2…OTAM、もしくはN個のブッキングエンジンBE1、BE2…BENのいずれか1つによって開始される。このように、ブロックBL1、BL2…BLYのそれぞれは、それの実質的に一意的なハッシュ値と実質的に一意的なタイムスタンプとを有するはずである。また、最も新しく生成されたブロックBLYは、最新に生成された複数のブロックのうちに、最も新しいタイムスタンプを有する。
成立した取引に応じて、ブロック生成モジュール406は、ブロックヘッダを生成するために、ハッシングモジュール402からの実質的に一意的なハッシュ値とタイムスタンプモジュール404からの実質的に一意的なタイムスタンプとを組み入れる。例えば、最も新しい成立した取引に基づいて生成すべきブロックBLYに対して、ブロック生成モジュール406はハッシュ値HSYとタイムスタンプTSYとを取り入れてブロックヘッダBHYを生成する。このように、ブロック生成モジュール406はブロックヘッダBH1、BH2…またはBHYをそれぞれに生成する。
また、成立した取引に応じて、ブロック生成モジュール406は、対応するブロックヘッダと、成立した取引の内容と、少なくとも1つスマートコントラクトと、直前に生成したブロックの内容とを取り入れた新しいブロックを生成する。例えば、最も新しい成立した取引に応じて、ブロック生成モジュール406はブロックBLYを生成し、ブロックBLYは、ブロックヘッダBHYと、中間メモリ266からロードした少なくとも1つの1つスマートコントラクトと、直前のブロックBL(Y−1)の内容(簡潔に説明するために図示せず)とを含む。このように、最も新しく成立したブロックBLYは以前生成したブロックBL1、BL2…BL(Y−1)のすべての内容を含む。また、以前生成したブロックBL1、BL2…BL(Y−1)のすべてによって指される最新の成立した取引のすべては、最も新しく生成したブロックBLYを参照するだけで簡単に監査し得る。
最後に、ブロック生成モジュール406は、ノードサーバNS1、NS2…NSXによって形成されたブロックチェーンに新しいブロックを追加し、ブロックチェーンを更新する。例えば、ブロック生成モジュール406は、ブロックチェーンを更新するために、すでにブロックBL1、BL2…BL(Y−1)を含んでいるブロックチェーンに最も新しく生成したブロックBLYを追加する。
いくつかの実施例において、OTAモジュールOTA1、OTA2…OTAMおよび/またはブッキングエンジンBE1、BE2…BENのそれぞれは、直接的に、または取引プロキシサーバ260を介して、ノードサーバNS1、NS2…NSXによって形成されたブロックチェーンにアクセスすることが許可される。このように、最も新しい取引を実質的に常に維持するブロックチェーンを利用することによって、OTAモジュールOTA1、OTA2…OTAMおよび/またはブッキングエンジンBE1、BE2…BENのそれぞれは常に、最も新しく生成したブロックをタイムリーに参照することによって、空き部屋の正確な数量および/または特定の部屋の予約状況を主導的に確認することができる。その結果、オーバーブッキングは実質的に改善され得る。
また、PMSモジュール210の多くのタスクが中間サーバシステム250によって緩和されるため、PMSモジュールのオーバーロードという従来の欠点も有効的に実質的に回避され得る。
いくつかの実施例において、ノードサーバNS1、NS2…NSXによって形成されたブロックチェーンは、それぞれのブロックヘッダを介して、さらに具体的には、それぞれのハッシュ値を介して、形成されて監査される。いくつかの実施例において、ノードサーバNS1、NS2…NSXの間のブロックチェーンはマークル木(Merkle Tree)の技術を適用し、よって、ブロックチェーンの各ブロックは実質的に一意的なマークルルート(Merkle Root)を有する。特定のブロック、例えば、ブロックBL1がノードサーバNS1、NS2…NSXのうちの1つにおいて改ざんされた場合、ブロックチェーンにアクセス可能な任意の個体は、ブロックチェーンを簡単に監査し、特定のノードサーバにおいて改ざんされたブロックBL1を容易に見つけることができる。監査プロシージャは以下のことを含む。(1)ノードサーバNS1、NS2…NSXのそれぞれにおけるブロックBL1のマークルルートを計算する。(2)ノードサーバNS1、NS2…NSXのすべてにおけるブロックBL1のマークルルートを比較し、少なくとも1つのノードサーバにおいて改ざんされたブロックBL1にある不一致を見つける。より具体的には、改ざんされたブロックBL1は必ず、他のノードサーバにおいて改ざんされていないブロックBL1のマークルルートと異なるマークルルートを有するため、当該異なるマークルルートは前述した比較によって簡単に見つけられる。また、改ざんされたブロックBL1は、改ざんされていない他のブロックBL1を参照することによって修復できる。その結果、ブロックチェーンにおけるブロックはそれぞれの正確さが保証され、よって、それぞれのノードサーバにおける部屋在庫記録は安全性が確保されている。いくつかの実施例において、ある個体は、ブロックチェーンを監査する、またはさらに修復するために、ブロックチェーンにアクセスすることが承認され、当該個体は例えば、PMSモジュール210、取引プロキシサーバ260、または、いずれかのノードサーバNS1、NS2…NSXのプロセッサである。前述した監査および修復の実施例は、例示のブロックBL1以外の他のブロックにも適用される。
いくつかの実施例において、それぞれの成立した取引は、対応するブロックヘッダを介して、さらに具体的には対応するタイムスタンプを介して、ノードサーバNS1、NS2…NSXのいずれか1つにおけるブロックBL1、BL2…BLYのいずれか1つを参照することによって、前述した監査プロシージャの一部として、正確に追跡され得る。また、追跡プロシージャは、前述したようにブロックチェーンをアクセスすることが承認された個体によって、中間メモリ266またはそれぞれのノードメモリNM1、NM2…NMXに記憶された少なくとも1つの監査スマートコントラクトを用いて、実行され得る。このような個体は、取引プロキシサーバ260の中間プロセッサ264、または、いずれかのノードサーバNS1、NS2…NSXのノードプロセッサを含んでもよい。好ましくは、このような監査プロシージャは、即時かつ混乱が生じない更新のために、中間プロセッサ264によって行われる。追跡プロシージャは以下のことを含む。(1)ブロックBL1、BL2…BLYのブロックヘッダBH1、BH2…BHYを検索する。(2)それぞれのブロックBL1、BL2…BLYの生成の発端となったそれぞれの成立した取引を識別するために、それぞれのブロックBL1、BL2…BLYのタイムスタンプTS1、TS2…TSYを追跡する。タイムスタンプによって、それぞれの成立した取引の発生は時間順で正確に確認され得る。このように、先に成立してOTAモジュールまたはブッキングエンジンに即時に通知されない可能性がある取引ではなく、後で成立した取引を誤ってアクセスすることによって起こされるオーバーブッキングを、よりよく確認して回避することができる。
いくつかの実施例において、部屋在庫記録268に記憶された複数のスマートコントラクトは少なくとも1つの動的価格スマートコントラクトを含み、当該動的価格スマートコントラクトによれば、部屋在庫記録268に記録された暫定空き部屋数に基づいて、少なくとも1つの暫定かつ変更可能な部屋価格を決定することができる。中間プロセッサ264は、暫定部屋価格を動的に調整し、中間送受信機262を介して、調整した部屋価格をPMSモジュール210、OTAモジュールOTA1、OTA2…OTAM、および/またはブッキングエンジンBE1、BE2…BENに転送する。同様に、ホスト送受信機212が調整された部屋価格を受信すると、ホストプロセッサ214は調整された部屋価格を用いて部屋在庫記録218を動的に更新する。
従来の部屋在庫管理システム100と比べると、部屋在庫管理システム200は以下の利点を有する。(1)すべての成立した取引が時間順で記録されることを確保することによって、オーバーブッキング問題を改善する。(2)中間サーバシステム250によって、成立した取引の確認および/または部屋在庫記録の更新のための、PMSモジュールの負担、時間および帯域幅を緩和する。(3)部屋在庫記録の正確さおよび追跡可能性を高める。
前述した実施例において、部屋在庫管理システム200は中央モジュール、すなわち、取引プロキシサーバ260を適用し、中間サーバシステム260のノードサーバNS1、NS2…NSXにわたる主要なタスクを管理する。しかしながら、本発明のもう1つの実施例において、ノードサーバNS1、NS2…NSXの間のこのような管理責務を移転することによってタスクを管理することについてバランスをよりよく取る。特には、ノードサーバNS1、NS2…NSXのいずれか1つは、時間期間内にすべてのノードサーバNS1、NS2…NSXを管理するようにマスタノードサーバとして一時的に指定され得て、ノードサーバNS1、NS2…NSXのうちのもう1つは他の時間期間内に新しいマスタノードサーバとして指定され得る。いくつかの実施例において、ノードサーバNS1、NS2…NSXの間のマスタノードサーバの責務転換は、時々に(from time to time)、周期的に、またはランダム的に実行され得る。また、マスタノードサーバの指定は、ノードサーバNS1、NS2…NSXの間で、選挙、順次交替、または所定ルールによって実行され得る。所定ルールは、より小さいまたは最も小さい負担を有するノードサーバを新しいマスタノードサーバにすることを含んでもよく、このような負担は、瞬時システム負荷、瞬時ストレージサイズ、および/または瞬時送信帯域幅を含んでもよい。よって、任意のノードサーバNS1、NS2…NSXは、受けきれない負担を受けること、さらに故障することを回避することができる。
図5は本発明のもう1つの実施例に基づく部屋在庫管理システム500を示す。部屋在庫管理システム500はPMSモジュール210と中間サーバシステム250とを含む。PMSモジュール210の特性および配置は図2で説明したPMSモジュールと同様である。よって、PMSモジュール210に関する説明はここで繰り返さない。中間サーバシステム520は図2で説明したノードサーバと同様な複数のノードサーバNS1、NS2…NSXを含む。しかしながら、部屋在庫管理システム200と部屋在庫管理システム500との主な違いは、取引プロキシサーバ260の代わりに、1つのノードサーバNS1、NS2…NSXはコンセンサスアルゴリズムによってマスタノードサーバとして一時的に選択できることにある。マスタノードサーバおよびその要素は、少なくとも取引プロキシサーバ260およびその要素の構造および能力を受け継ぐ。よって、簡潔に説明するために、マスタノードサーバについて取引プロキシサーバ260と同様な重複の説明を省略する。
ノードサーバNS1、NS2…NSXのうちからマスタノードサーバを選択するコンセンサスアルゴリズムは、順次順序によって選択すること、ランダムな順序によって選択すること、および/または、すべてのノードサーバに関与する問い合わせコンセンサスを介して選択することを含む。選択されたマスタノードサーバが所定の時間期間内に管理タスクを担当し、当該所定の時間期間が終わると選択が再び行って他のマスタノードサーバを決定し、よって、以前に選択されたマスタノードサーバは再度に選択されるまでその責任が解放される。以下の説明は、取引プロキシサーバ260と同様な機能を行うマスタノードサーバとしてノードサーバNSTが一時的に選択されるという条件に基づく。
図6は、ホストメモリ216と他のノードメモリNM1、NM2…NMX(一時的なマスタノードメモリNMTを含む。)との部屋在庫記録の間の関係、すなわち、部屋在庫記録218と部屋在庫記録RI1、RI2…RIX(一時的なマスタ部屋在庫記録RITを含む。)との間の関係に関する略図を示す。同様に、部屋在庫記録RI1、RI2…RIXは、メモリNM1、NM2…NMXに記憶された複数のスマートコントラクトを用いて実行される。また、ノードプロセッサNP1、NP2…NPT…NPXは複数のスマートコントラクトを用いて対応する部屋在庫記録RI1、RI2…RIXをアクセスするまたは更新する。いくつかの実施例において、マスタノードプロセッサNSTはまず、成立した取引の発生に応じて、一時的なマスタ部屋在庫記録RITを更新する。また、マスタノードプロセッサNSTは、マスタノード送受信機NTTおよびホスト送受信機212を介して、一時的なマスタ部屋在庫記録RITの更新した内容をPMSモジュール210に転送する。それよって、ホストプロセッサ214は、部屋在庫記録218を更新し、一時的なマスタ部屋在庫記録RITの更新した内容と実質的に同期する。また、マスタノードプロセッサNPTは、一時的なマスタ部屋在庫記録RITの更新された内容に応じて、PMSモジュール212において少なくとも最新の成立した取引のすべてを担持する新しいブロックを生成する。注意すべきなのは、それぞれのノードサーバNS1、NS2…NSXのメモリNM1、NM2…NMTに記憶されたスマートコントラクトは、中間メモリ266に記憶されたスマートコントラクトと同様であることである。よって、いくつかの実施例において、マスタノードプロセッサNPTは、完全な指令、例えば、変数を計算し更新することを実行するために、マスタノードメモリNMTに記憶された少なくとも1つのスマートコントラクトをロードして新しいブロックを生成してもよい。例えば、時間順にY個異なる成立した取引が発生するとき、前回のマスタノードプロセッサおよび/または一時的なマスタノードプロセッサ264は、時刻t1にブロックBL1を生成し、時刻t2にブロックBL2を生成し、時刻tYに最も新しく生成されるブロックBLYを生成してもよい。Yは正の整数である。時刻t1が時刻t2より早く、時刻t2が時刻t(Y−1)より早く、時刻t(Y−1)が時刻tYより早い。時刻tYは、最新に生成される成立した取引が発生する時刻tYを指す。ブロックBL1は時刻t1まで最新の成立した取引のすべてを含む。ブロックBL2は、ブロックBL1より、もう1つの、時刻t2に発生した成立した取引を含み、すなわち、時刻t2まで最新の成立した取引のすべてを含む。同様に、ブロックBLYは時刻tYまで最新の成立した取引のすべてを含む。
前述したように、ノードサーバNS1、NS2…NSXのそれぞれは、ブロックチェーン技術の下で、対応する部屋在庫記録RI1、RI2…RIXをこのときのマスタ部屋在庫記録RITの内容と同期的に更新し続けるように求められる。よって、それぞれのノード送受信機NT1、NT2…NTX(最も新しく生成されたブロックBLYを送信するこのときのマスタ送受信機を除く。)を介して最も新しく生成されたブロックBLYを受信した後、ノードプロセッサNP1、NP2…NPX(このときのマスタ部屋在庫記録RITを除く。)は、当該最も新しく生成されたブロックBLYを対応する部屋在庫記録RI1、RI2…RIXにそれぞれに組み入れる。いくつかの実施例において、ノードプロセッサNP1、NP2…PNXは、少なくとも1つのスマートコントラクトの協力を要求し、最も新しい取引に関わる指令を同期的に実行し、対応する部屋在庫記録RI1、RI2…RIXの更新を完成する。更新は、例えば、部屋の予約状況または対応する部屋価格を含む特定のローカル変数の更新、または、条件付き割引または動的に調整された部屋価格を含む特定のグローバル変数の更新を含んでもよい。
図7は、一時的なマスタプロセッサNPTがどのように新しいブロックを生成するかを詳細に示す。一時的なマスタプロセッサNPTはハッシングモジュールNPT_HとタイムスタンプモジュールNPT_TSとブロック生成モジュールNPT_Bとを含む。前述したように、一時的なマスタプロセッサNPTは成立した取引に応じて新しいブロックを生成する。一時的なマスタプロセッサNPTが成立した取引を確認するとき、ハッシングモジュールNPT_Hは新しいブロックに対して実質的に一意的なハッシュ値を生成し、タイムスタンプモジュールNPT_TSは新しいブロックに対して実質的に一意的なタイムスタンプを生成する。例えば、Y個のブロックBL1、BL2…BLYに対して、ハッシングモジュールNPT_HはY個の実質的に一意的なハッシュ値HS1、HS2…HSYをそれぞれに生成し、タイムスタンプモジュールNPT_TSは実質的に一意的なタイムスタンプTS1、TS2…TSYをそれぞれに生成する。
前述した実施例と同様に、ハッシュ値の生成方法はブロックチェーン技術の当業者にとっては周知であるため、ここでは詳細に説明しない。また、いくつかの実施例において、生成されたタイムスタンプは、一時的なマスタノードプロセッサNPTが成立した取引を確認する時刻、または部屋予約要求が開始される時刻として参照され得て、当該部屋予約要求は、例えば、PMSモジュール210、または、OTAモジュールOTA1、OTA2…OTAM、もしくはN個のブッキングエンジンBE1、BE2…BENのいずれか1つによって開始される。このように、ブロックBL1、BL2…BLYのそれぞれは、それの実質的に一意的なハッシュ値と実質的に一意的なタイムスタンプとを有するはずである。また、最も新しく生成されたブロックBLYは、最新に生成された複数のブロックのうちに、最も新しいタイムスタンプを有する。
成立した取引に応じて、ブロック生成モジュールNPT_Bは、ブロックヘッダを生成するために、ハッシングモジュールNPT_Hからの実質的に一意的なハッシュ値とタイムスタンプモジュールNPT_TSからの実質的に一意的なタイムスタンプとを組み入れる。例えば、最も新しい成立した取引に基づいて生成すべきブロックBLYに対して、ブロック生成モジュールNPT_Bはハッシュ値HSYとタイムスタンプTSYとを取り入れてブロックヘッダBHYを生成する。このように、ブロック生成モジュールNPT_BはブロックヘッダBH1、BH2…またはBHYをそれぞれに生成する。
また、成立した取引に応じて、ブロック生成モジュールNPT_Bは、対応するブロックヘッダと、成立した取引の内容と、少なくとも1つスマートコントラクトと、直前に生成したブロックの内容とを取り入れた新しいブロックを生成する。例えば、最も新しい成立した取引に応じて、ブロック生成モジュールNPT_BはブロックBLYを生成し、ブロックBLYは、ブロックヘッダBHYと、一時的なマスタノードメモリNTTからロードした少なくとも1つの1つスマートコントラクトと、直前のブロックBL(Y−1)の内容(簡潔に説明するために図示せず)とを含む。このように、最も新しく成立したブロックBLYは以前生成したブロックBL1、BL2…BL(Y−1)のすべての内容を含む。また、以前生成したブロックBL1、BL2…BL(Y−1)のすべてによって指される最新の成立した取引のすべては、最も新しく生成したブロックBLYを参照するだけで簡単に監査し得る。
最後に、ブロック生成モジュールNPT_Bは、ノードサーバNS1、NS2…NSXによって形成されたブロックチェーンに新しいブロックを追加し、ブロックチェーンを更新する。例えば、ブロック生成モジュールNPT_Bは、ブロックチェーンを更新するために、すでにブロックBL1、BL2…BL(Y−1)を含んでいるブロックチェーンに最も新しく生成したブロックBLYを追加する。
部屋在庫管理システム200と同様に、部屋在庫管理システム500は、部屋在庫管理システム200に関して言及した説明のように、実質的に同様な代替実施例、特性、および利点を有する。また、ノードサーバNS1、NS2…NSXの間のマスタノードサーバとされる責務の転換は、時々に(from time to time)、周期的に、またはランダム的に実行され得る。また、マスタノードサーバの指定は、ノードサーバNS1、NS2…NSXの間で、選挙、順次交替、または、マスタノードの責務についてバランスを取る所定ルールによって実行され得る。よって、ノードサーバNS1、NS2…NSXはそれぞれの負担についてバランスをよりよく取って望ましくない故障を回避することができる。
当業者は、アプリケーションに関連する検索方法が、前に詳細に説明した、アプリのコンテキストに対する検索方法と同様であることを理解する。よって、アプリに関連するすべての実施例、方法、システム、および要素はアプリケーションに適用される。

Claims (22)

  1. ブロックチェーンに基づく部屋在庫管理システムであって、
    資産管理システムであって、
    成立した取引を受信するように構成されたホスト送受信機と、
    前記資産管理システムによって管理されたすべての部屋の予約状況を記録する部屋在庫記録の複写を記憶するように構成されたホスト不発揮性コンピュータ可読メモリと、
    前記成立した取引を組み入れることによって、前記部屋在庫記録の前記複写を更新するように構成されたホストコンピュータプロセッサと、
    を含む、前記資産管理システムと、
    中間サーバシステムであって、
    取引プロキシサーバであって、
    部屋予約イベントを受信し、前記成立した取引を前記資産管理システムへ転送し、前記成立した取引に応じて生成される新しいブロックを転送するように構成された中間送受信機と、
    イーサリアム(登録商標)に基づいて生成される複数のスマートコントラクトを記憶し、前記複数のスマートコントラクトの少なくとも1つを用いて実行される前記部屋在庫記録を記憶し、複数のブロックを含むブロックチェーンを記憶するように構成された中間不発揮性コンピュータ可読メモリであって、前記ブロックチェーンにおいて最も新しく追加されたブロックは、前記資産管理システムにおける最新の成立した取引のすべてを担持する、前記中間不発揮性コンピュータ可読メモリと、
    前記部屋予約イベントが前記部屋在庫記録においてオーバーブッキングを起こすか否かを確認し、前記部屋予約イベントがローカルの前記部屋在庫記録においてオーバーブッキングを起こさないと確認したとき、前記部屋予約イベントが成立することを決定して前記部屋予約イベントの情報を用いて前記成立した取引を生成するように構成された中間コンピュータプロセッサであって、
    前記成立した取引に応じて、前記新しいブロックに対してハッシュ値を生成するように構成されたハッシングモジュールと、
    前記成立した取引に応じて、前記新しいブロックに対して一意的なタイムスタンプを生成するように構成されたタイムスタンプモジュールと、
    前記成立した取引に応じて、少なくとも前記一意的なハッシュ値、前記一意的なタイムスタンプ、および前記最も新しく追加されたブロックの内容を用いて前記新しいブロックに対して一意的なブロックヘッダを生成し、前記一意的なブロックヘッダ、前記成立した取引の情報、前記複数のスマートコントラクトの少なくとも1つ、および前記最も新しく追加されたブロックの前記内容を含む前記新しいブロックを生成し、前記新しいブロックを前記ブロックチェーンに追加するように構成されたブロック生成モジュールと、
    を含む、前記中間コンピュータプロセッサと、
    を含む、前記取引プロキシサーバと、
    複数のノードサーバであって、前記複数のノードサーバのそれぞれは、
    前記中間送受信機から前記新しいブロックを受信するように構成されたノード送受信機と、
    前記ブロックチェーンの複写を記憶するように構成されたノード不発揮性コンピュータ可読メモリと、
    前記新しいブロックを前記ブロックチェーンの前記複写に追加することによって、前記ブロックチェーンの前記複写を更新するように構成されたノードコンピュータプロセッサと、
    を含む、前記複数のノードサーバと、
    を含む、前記中間サーバシステムと、
    を含む、ブロックチェーンに基づく部屋在庫管理システム。
  2. 前記タイムスタンプモジュールは、前記部屋予約イベントの発行時間に基づいて前記一意的なタイムスタンプを生成するようにさらに構成されている、請求項1に記載のブロックチェーンに基づく部屋在庫管理システム。
  3. 前記タイムスタンプモジュールは、前記中間送受信機が前記部屋予約イベントを受信する受信時間に基づいて前記一意的なタイムスタンプを生成するようにさらに構成されている、請求項1に記載のブロックチェーンに基づく部屋在庫管理システム。
  4. 前記中間コンピュータプロセッサは、前記成立した取引に応じて、前記部屋予約イベントが、割り当て予定の部屋を予約するように指示する部屋予約要求を含むとき、暫定空き部屋数を減少させる、および/または、前記部屋在庫記録に記録された前記割り当て予定の部屋を空いていない状況とするようにさらに構成されており、
    前記中間コンピュータプロセッサは、前記成立した取引に応じて、前記部屋予約イベントが、部屋の予約をキャンセルするように指示する部屋予約キャンセル要求、または、前記部屋をチェックアウトするように指示する部屋チェックアウト要求を含むとき、前記暫定空き部屋数を増加させ、ならびに/または、前記部屋在庫記録および前記少なくとも1つの部屋在庫管理のスマートコントラクトに記録された予約解除予定の前記部屋を空いている状況とするようにさらに構成されている、請求項1に記載のブロックチェーンに基づく部屋在庫管理システム。
  5. 前記ホストコンピュータプロセッサは、前記成立した取引に応じて、前記部屋予約イベントが前記部屋予約要求を含むとき、ローカルの空き部屋数を減少させる、および/または、前記部屋在庫記録の前記複写に記録された割り当て予定の前記部屋を空いていない状況とするようにさらに構成されており、
    前記ホストコンピュータプロセッサは、前記成立した取引に応じて、前記部屋予約イベントが前記部屋予約キャンセル要求または前記部屋チェックアウト要求を含むとき、前記ローカルの空き部屋数を増加させる、および/または、前記部屋在庫記録の前記複写に記録された予約解除予定の前記部屋を空いている状況とするようにさらに構成されている、請求項4に記載のブロックチェーンに基づく部屋在庫管理システム。
  6. 前記複数のスマートコントラクトは少なくとも1つの動的価格スマートコントラクトを含み、
    前記中間コンピュータプロセッサは、前記部屋在庫記録に記録された暫定空き部屋数に基づいて、前記部屋在庫記録に記録された暫定部屋価格を動的に調整し、前記中間送受信機を介して、前記資産管理システム、オンライントラベルエージェンシー(OTA)モジュール、ブッキングエンジン、グローバルディストリビューションシステム(GDS)、または、メタサーチエンジンへ前記暫定部屋価格を動的に転送するようにさらに構成されている、請求項1に記載のブロックチェーンに基づく部屋在庫管理システム。
  7. 前記ホストコンピュータプロセッサは、前記ホスト送受信機が前記暫定部屋価格を受信するとき、前記暫定部屋価格を用いて、前記ホスト不発揮性コンピュータ可読メモリに記録されたローカル部屋価格を動的に更新するようにさらに構成されている、請求項6に記載のブロックチェーンに基づく部屋在庫管理システム。
  8. 前記複数のスマートコントラクトは少なくとも1つの監査スマートコントラクトを含み、
    前記中間コンピュータプロセッサ、またはいずれか1つの前記ノードコンピュータプロセッサは、前記少なくとも1つの監査スマートコントラクトを用いて、前記ブロックチェーンの少なくとも1つのブロックに記録された前記少なくとも1つの成立した取引を、当該少なくとも1つのブロックのブロックヘッダを時系列で追跡することによって監査するようにさらに構成されている、請求項1に記載のブロックチェーンに基づく部屋在庫管理システム。
  9. 前記資産管理システムおよび前記中間サーバシステムは、相互通信のために、同じ遠隔手続き呼び出しプロシージャを共有する、請求項1に記載のブロックチェーンに基づく部屋在庫管理システム。
  10. 前記中間コンピュータプロセッサは、前記複数のスマートコントラクトの少なくとも1つを用いて、ブッキングエンジン、OTAモジュール、グローバルディストリビューションシステム、またはメタサーチエンジンのいずれか1つが、共通のアプリケーションプログラミングインタフェース(APIおよび/または共通の通信プロトコルを用いて、前記部屋予約イベントを開始すること、および/または、前記複数のノードサーバのいずれか1つの前記部屋在庫記録を確認することができるよう、前記共通のAIおよび/または前記共通の通信プロトコルを生成するようにさらに構成されている、請求項1に記載のブロックチェーンに基づく部屋在庫管理システム。
  11. ブロックチェーンに基づく部屋在庫管理システムであって、
    資産管理システムであって、
    成立した取引を受信するように構成されたホスト送受信機と、
    前記資産管理システムによって管理されたすべての部屋の予約状況を記録する部屋在庫記録の複写を記憶するように構成されたホスト不発揮性コンピュータ可読メモリと、
    前記成立した取引を組み入れることによって、前記部屋在庫記録の前記複写を更新するように構成されたホストコンピュータプロセッサと、
    を含む、前記資産管理システムと、
    中間サーバシステムであって、
    複数のノードサーバであって、前記ノードサーバのそれぞれは、
    部屋予約イベントを受信し、前記成立した取引を前記資産管理システムへ転送し、前記成立した取引に応じて生成される新しいブロックを転送するように構成されたノード送受信機と、
    イーサリアムに基づいて生成される複数のスマートコントラクトを記憶し、複数のブロックを含むブロックチェーン、または前記ブロックチェーンの複写を記憶するように構成されたノード不発揮性コンピュータ可読メモリであって、前記ブロックチェーンにおいて最も新しく追加されたブロックは、前記資産管理システムにおける最新の成立した取引のすべてを担持し、前記部屋在庫記録は、前記複数のスマートコントラクトの少なくとも1つを用いて実行される、前記ノード不発揮性コンピュータ可読メモリと、
    前記記憶されたブロックチェーンまたは前記記憶されたブロックチェーンの前記複写に新しいブロックを追加することによって、前記記憶されたブロックチェーンまたは前記記憶されたブロックチェーンの前記複写を更新するように構成されており、ハッシングモジュールと、タイムスタンプモジュールと、ブロック生成モジュールとを含むノードコンピュータプロセッサと、
    を含み、
    前記複数のノードサーバは、コンセンサスアルゴリズムを用いて、前記複数のノードサーバのうちからマスタノードサーバを一時的に選択するようにさらに構成されており、
    前記マスタノードサーバの前記ノードコンピュータプロセッサは、
    前記部屋予約イベントが前記部屋在庫記録においてオーバーブッキングを起こすか否かを確認し、前記部屋予約イベントが前記部屋在庫記録においてオーバーブッキングを起こさないと確認したとき、前記部屋予約イベントが成立することを決定して前記部屋予約イベントの情報を用いて前記成立した取引を生成するようにさらに構成されており、
    前記マスタノードサーバの前記ハッシングモジュールは、前記成立した取引に応じて、前記新しいブロックに対してハッシュ値を生成するように構成されており、
    前記マスタノードサーバの前記タイムスタンプモジュールは、前記成立した取引に応じて、前記新しいブロックに対して一意的なタイムスタンプを生成するように構成されており、
    前記マスタノードサーバの前記ブロック生成モジュールは、前記成立した取引に応じて、少なくとも前記一意的なハッシュ値、前記一意的なタイムスタンプ、および前記最も新しく追加されたブロックの内容を用いて前記新しいブロックに対して一意的なブロックヘッダを生成し、前記一意的なブロックヘッダ、前記成立した取引の情報、前記複数のスマートコントラクトの少なくとも1つ、および前記最も新しく追加されたブロックの前記内容を含む前記新しいブロックを生成し、前記マスタノードサーバのノード不発揮性コンピュータ可読メモリに記憶された前記ブロックチェーンに前記新しいブロックを追加するように構成されており、
    前記マスタノードサーバ以外の前記複数のノードサーバの前記ノードコンピュータプロセッサの前記ブロック生成モジュールは、前記成立した取引に応じて、それぞれのノード不発揮性コンピュータ可読メモリに記憶された前記ブロックチェーンの前記複写に前記新しいブロックを追加するように構成されている、
    前記複数のノードサーバと、
    を含む、前記中間サーバシステムと、
    を含む、ブロックチェーンに基づく部屋在庫管理システム。
  12. 前記タイムスタンプモジュールは、前記部屋予約イベントの発行時間に基づいて前記一意的なタイムスタンプを生成するようにさらに構成されている、請求項11に記載のブロックチェーンに基づく部屋在庫管理システム。
  13. 前記タイムスタンプモジュールは、前記マスタノードサーバの前記ノード送受信機が前記部屋予約イベントを受信する受信時間に基づいて前記一意的なタイムスタンプを生成するようにさらに構成されている、請求項11に記載のブロックチェーンに基づく部屋在庫管理システム。
  14. 前記複数のスマートコントラクトは、前記部屋在庫記録を記録する少なくとも1つの部屋在庫管理スマートコントラクトを含み、
    前記マスタノードサーバの前記ノードコンピュータプロセッサは、前記成立した取引に応じて、前記部屋予約イベントが、部屋を予約するように指示する部屋予約要求を含むとき、暫定空き部屋数を減少させる、または、前記部屋在庫記録に記録された割り当て予定の前記部屋を空いていない状況とするようにさらに構成されており、
    前記マスタノードサーバの前記ノードコンピュータプロセッサは、前記成立した取引または内部解除チェックアウト要求に応じて、前記部屋予約イベントが、部屋の予約をキャンセルするように指示する部屋予約キャンセル要求、または、前記部屋をチェックアウトするように指示する部屋チェックアウト要求を含むとき、前記暫定空き部屋数を増加させる、ならびに/または、前記部屋在庫記録に記録された予約解除予定の前記部屋を空いている状況とするようにさらに構成されている、請求項11に記載のブロックチェーンに基づく部屋在庫管理システム。
  15. 前記ホストコンピュータプロセッサは、前記成立した取引に応じて、前記部屋予約イベントが前記部屋予約要求を含むとき、ローカルの空き部屋数を減少させる、および/または、前記部屋在庫記録の前記複写に記録された割り当て予定の前記部屋を空いていない状況とするようにさらに構成されており、
    前記ホストコンピュータプロセッサは、前記成立した取引に応じて、前記部屋予約イベントが前記部屋予約キャンセル要求または前記部屋チェックアウト要求を含むとき、前記ローカルの空き部屋数を減少させる、および/または、前記部屋在庫記録の前記複写に記録された予約解除予定の前記部屋を空いている状況とするようにさらに構成されている、請求項14に記載のブロックチェーンに基づく部屋在庫管理システム。
  16. 前記複数のスマートコントラクトは、前記部屋在庫記録を記憶する少なくとも1つの動的価格スマートコントラクトを含み、
    前記マスタノードサーバの前記ノードコンピュータプロセッサは、前記部屋在庫記録に記録された暫定空き部屋数に基づいて、前記部屋在庫記録に記録された暫定部屋価格を動的に調整し、前記ノード送受信機を介して、前記資産管理システム、オンライントラベルエージェンシーモジュール、ブッキングエンジン、グローバルディストリビューションシステム、または、メタサーチエンジンへ前記暫定部屋価格を動的に転送するようにさらに構成されている、請求項11に記載のブロックチェーンに基づく部屋在庫管理システム。
  17. 前記ホストコンピュータプロセッサは、前記暫定部屋価格を用いて、前記ホスト不発揮性コンピュータ可読メモリに記録された前記部屋在庫記録の前記複写に記録されたローカル部屋価格を動的に更新するようにさらに構成されている、請求項16に記載のブロックチェーンに基づく部屋在庫管理システム。
  18. 前記複数のスマートコントラクトは少なくとも1つの監査スマートコントラクトを含み、
    前記複数のノードサーバの前記ノードコンピュータプロセッサは、前記少なくとも1つの監査スマートコントラクトを用いて、前記ブロックチェーンの少なくとも1つのブロックに記録された前記少なくとも1つの成立した取引を、前記ブロックチェーンの当該少なくとも1つのブロックのブロックヘッダを時系列で追跡することによって監査するようにさらに構成されている、請求項11に記載のブロックチェーンに基づく部屋在庫管理システム。
  19. 前記資産管理システムおよび前記中間サーバシステムは、相互通信のために、同じ遠隔手続き呼び出しプロシージャを共有する、請求項11に記載のブロックチェーンに基づく部屋在庫管理システム。
  20. 前記部屋予約イベントは、ブッキングエンジン、OTAモジュール、グローバルディストリビューションシステム、またはメタサーチエンジンから送信され、
    前記マスタノードサーバの前記ノードコンピュータプロセッサは、前記複数のスマートコントラクトの少なくとも1つを用いて、共通のAPI、および/または共通の通信プロトコルを生成するようにさらに構成されており、よって、ブッキングエンジン、OTAモジュール、グローバルディストリビューションシステム、またはメタサーチエンジンのいずれか1つは、前記共通のAPIおよび/または前記共通の通信プロトコルを用いて、前記部屋予約イベントを開始すること、および/または、前記複数のノードサーバのいずれか1つの前記部屋在庫記録を確認することができる、請求項11に記載のブロックチェーンに基づく部屋在庫管理システム。
  21. 前記複数のノードサーバは、コンセンサスアルゴリズムを用いて、選挙、順次交替、または所定ルールによって、前記複数のノードサーバのうちからマスタノードサーバを決定するように構成されている、請求項11に記載のブロックチェーンに基づく部屋在庫管理システム。
  22. 前記所定ルールに基づいて、前記複数のノードサーバは、より小さい負担または最も小さい負担を有するノードサーバを前記マスタノードサーバとして動的に指定するように構成されており、前記負担は、前記複数のノードサーバの瞬時システム負荷、瞬時ストレージサイズ、および/または瞬時送信帯域幅によって決定される、請求項21に記載のブロックチェーンに基づく部屋在庫管理システム。
JP2020540322A 2017-11-20 2018-11-20 ブロックチェーンに基づく部屋在庫管理システム Active JP6864330B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762588909P 2017-11-20 2017-11-20
US62/588,909 2017-11-20
PCT/CN2018/116389 WO2019096326A1 (en) 2017-11-20 2018-11-20 Blockchain-based room inventory management system

Publications (2)

Publication Number Publication Date
JP2021503676A JP2021503676A (ja) 2021-02-12
JP6864330B2 true JP6864330B2 (ja) 2021-04-28

Family

ID=66533105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020540322A Active JP6864330B2 (ja) 2017-11-20 2018-11-20 ブロックチェーンに基づく部屋在庫管理システム

Country Status (6)

Country Link
US (1) US20190156440A1 (ja)
EP (1) EP3714381A4 (ja)
JP (1) JP6864330B2 (ja)
CN (1) CN111727428B (ja)
TW (1) TWI688907B (ja)
WO (1) WO2019096326A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11271717B2 (en) * 2018-02-21 2022-03-08 Thunder Token Inc. Blockchain consensus methods and systems
US10754989B2 (en) * 2018-03-27 2020-08-25 International Business Machines Corporation Runtime self-correction for blockchain ledgers
US10938573B2 (en) * 2018-11-06 2021-03-02 Accenture Global Solutions Limited Distributed transaction processing
CN110189234B (zh) * 2019-05-29 2021-08-03 北京创鑫旅程网络技术有限公司 Ota平台酒店信息调整方法及装置
CN110266686B (zh) * 2019-06-20 2021-06-15 深圳前海微众银行股份有限公司 数据共享方法、装置、设备与计算机可读存储介质
CN111095198B (zh) * 2019-06-28 2023-06-30 创新先进技术有限公司 用于数据处理的系统和方法
US11734616B2 (en) * 2019-07-12 2023-08-22 Mastercard International Incorporated Method and system for access control of shared spaces through blockchain
CN110889657A (zh) 2019-10-12 2020-03-17 北京海益同展信息科技有限公司 获取库存数据的方法、装置、终端设备及存储介质
US11514374B2 (en) * 2019-10-21 2022-11-29 Oracle International Corporation Method, system, and non-transitory computer readable medium for an artificial intelligence based room assignment optimization system
CN111107431A (zh) * 2019-12-31 2020-05-05 深圳创维-Rgb电子有限公司 一种电视机播放控制方法、系统、控制终端及存储介质
CN111275441A (zh) * 2020-01-20 2020-06-12 昊居科技有限公司 一种房屋交易方法及系统
CN111666287A (zh) * 2020-06-01 2020-09-15 北京思特奇信息技术股份有限公司 一种基于区块链的数据稽核方法
CN111680290B (zh) * 2020-06-02 2023-04-11 浙江大学 一种基于以太坊虚拟机的代码插桩框架系统
CN113673897A (zh) * 2021-08-27 2021-11-19 广州辰亿信息科技有限公司 酒店互联网电商代销系统
JP7368531B2 (ja) 2022-04-01 2023-10-24 オーブック・インコーポレイテッド ブロックチェーンに基づく部屋在庫管理システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364507B2 (en) * 2001-09-26 2013-01-29 International Business Machines Corporation Online registration and block tracking for travel wholesalers, agencies and hotels
WO2013021392A1 (en) * 2011-08-09 2013-02-14 Kamat Hotels India Ltd. Hotel inventory management system and method.
CN102930485A (zh) * 2012-09-12 2013-02-13 上海研庆电子有限公司 五星级酒店管理系统
TWM462413U (zh) * 2013-04-12 2013-09-21 Comfort Travel Service Co Ltd 旅遊行程之即時整合銷售系統
CN104933465A (zh) * 2015-05-12 2015-09-23 携程计算机技术(上海)有限公司 酒店管理平台的数据对接方法和系统
US20170017936A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
KR101760181B1 (ko) * 2015-07-17 2017-07-31 김지은 비딩을 이용한 호텔 예약 방법
CN106845742A (zh) * 2015-12-03 2017-06-13 北京航天金盾科技有限公司 旅馆一体化管理系统
US10079682B2 (en) * 2015-12-22 2018-09-18 Gemalto Sa Method for managing a trusted identity
KR20170078533A (ko) * 2015-12-29 2017-07-07 주식회사 스타트나우 스마트 호텔 예약 관리 시스템
US10713654B2 (en) * 2016-01-21 2020-07-14 International Business Machines Corporation Enterprise blockchains and transactional systems
JP6648555B2 (ja) * 2016-02-29 2020-02-14 富士ゼロックス株式会社 情報処理装置及びプログラム
CN106780173B (zh) * 2016-12-01 2021-02-23 携程计算机技术(上海)有限公司 Ota酒店库存管理方法及系统
CN113435994A (zh) * 2017-03-31 2021-09-24 唐晓领 基于区块链的金融借贷多方共享交易元数据信息的方法、装置及系统
CN107169826B (zh) * 2017-05-09 2021-02-12 武汉凤链科技有限公司 一种基于区块链的旅游景区售票方法和系统

Also Published As

Publication number Publication date
CN111727428B (zh) 2024-03-08
TWI688907B (zh) 2020-03-21
JP2021503676A (ja) 2021-02-12
EP3714381A1 (en) 2020-09-30
TW201937419A (zh) 2019-09-16
US20190156440A1 (en) 2019-05-23
EP3714381A4 (en) 2021-08-11
CN111727428A (zh) 2020-09-29
WO2019096326A1 (en) 2019-05-23

Similar Documents

Publication Publication Date Title
JP6864330B2 (ja) ブロックチェーンに基づく部屋在庫管理システム
US20220222590A1 (en) Blockchain-based room inventory management system and method
CN100558038C (zh) 服务注册器以及相关系统和方法
EP2500832B1 (en) Method and system for synchronization mechanism on multi-server reservation system
JP3617997B2 (ja) データ更新方式
US11038948B2 (en) Real time updates and predictive functionality in block chain
CN104011701A (zh) 内容传送网络
US20070136278A1 (en) Computer network
CN102859938A (zh) 通过网络化计算资源对数据进行同步处理
CN105074702A (zh) 提供单租户和多租户环境的数据库系统
RU2606058C2 (ru) Усовершенствованная система управления запасами и способ для ее осуществления
CA2861821A1 (en) An inventory exchange for multiple sales channels
CA2568970C (en) Managing information in a multi-hub system for collaborative planning and supply chain management
US11151122B2 (en) Distributed ledger data linkage management
CN104662539A (zh) 存储并检索数据的方法和系统
JP7368531B2 (ja) ブロックチェーンに基づく部屋在庫管理システム
CN112633953B (zh) 基于区块链的业务处理方法及系统
US11665067B2 (en) Managing reconfigurations of distributed computing systems
CN113220475A (zh) 交易数据处理方法、装置、计算机设备和存储介质
TW202341056A (zh) 基於區塊鏈的房間庫存管理系統
JP6423491B1 (ja) ネットワークを利用して少なくとも1つの事業者がサービスを顧客に提供する方法およびそのネットワーク
KR20210026946A (ko) 블록체인 기반의 화물 인수증 처리 방법 및 운송 관리 서버
US20230267459A1 (en) Method and device for stake-based token management on a blockchain system
US20230360037A1 (en) Control system, storage medium, and control method
WO2021223492A1 (en) Method and system for determining blockchain-based gridlock resolution

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200717

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200717

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210325

R150 Certificate of patent or registration of utility model

Ref document number: 6864330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250