(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-07-13
(54)【発明の名称】MaaSプラットフォームのための大規模ノード構成管理
(51)【国際特許分類】
G06F 9/52 20060101AFI20220706BHJP
G06F 9/54 20060101ALI20220706BHJP
【FI】
G06F9/52 150C
G06F9/54 B
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021564377
(86)(22)【出願日】2020-04-29
(85)【翻訳文提出日】2021-10-28
(86)【国際出願番号】 IB2020054048
(87)【国際公開番号】W WO2020222142
(87)【国際公開日】2020-11-05
(32)【優先日】2019-05-01
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100092093
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100151987
【氏名又は名称】谷口 信行
(72)【発明者】
【氏名】村尾 貞佳
(57)【要約】
MaaSプラットフォームのノード構成管理のためのシステムを提供する。システムは、中央ノード装置と、パブリッシュ-サブスクライブパターンに関連する一群のノード装置とを含む。一群のノード装置は、第1のノード装置に関連するルーティング情報をローカルに更新する第1のノード装置を含む。ルーティング情報は、第1のノード装置との間でトランザクション要求を伝搬するためのルーティングルールを含む。中央ノード装置は、第1のノード装置から更新済みルーティング情報を受け取って中央ノード装置の中央ルーティング構成リポジトリに記録する。中央ノード装置は、この記録に基づいて更新済みルーティング情報を一連の第2のノード装置に送信し、一連の第2のノード装置の各々は、更新済みルーティング情報を受け取り、更新済みルーティング情報の妥当性を確認し、妥当性確認に基づいて更新済みルーティング情報をローカルに記録する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
第1のノード装置を含む一群のノード装置と、
中央ルーティング構成リポジトリを含む中央ノード装置と、
を備えたシステムであって、
前記第1のノード装置は、該第1のノード装置に関連するルーティング情報をローカルに更新するように構成され、
前記一群のノード装置は、パブリッシュ-サブスクライブパターンに関連し、
前記ルーティング情報は、前記第1のノード装置との間でトランザクション要求を伝搬するためのルーティングルールを含み、
前記中央ノード装置は、
前記第1のノード装置から前記更新されたルーティング情報を受け取り、
前記更新されたルーティング情報を前記第1のノード装置に関連する新たなルーティング構成として前記中央ルーティング構成リポジトリに記録し、
前記記録に基づいて、前記更新されたルーティング情報を前記一群のノード装置の一連の第2のノード装置に送信する、
ように構成され、前記一連の第2のノード装置の各ノード装置は、
前記中央ノード装置から前記更新されたルーティング情報を受け取り、
前記更新されたルーティング情報の妥当性を確認し、
前記妥当性確認に基づいて、前記更新されたルーティング情報をローカルに記録する、
ように構成される、
ことを特徴とするシステム。
【請求項2】
前記一群のノード装置は、発行者ノード装置、加入者ノード装置及びブローカノード装置を含み、
前記第1のノード装置が前記加入者ノード装置である場合、前記一連の第2のノード装置は、前記発行者ノード装置及び前記ブローカノード装置を含み、
前記第1のノード装置が前記発行者ノード装置である場合、前記一連の第2のノード装置は、前記加入者ノード装置及び前記ブローカノード装置を含み、
前記第1のノード装置が前記ブローカノード装置である場合、前記一連の第2のノード装置は、前記発行者ノード装置及び前記加入者ノード装置を含む、
請求項1に記載のシステム。
【請求項3】
前記第1のノード装置は、前記更新の公開スケジュールに基づいて前記ルーティング情報を更新するように構成される、
請求項1に記載のシステム。
【請求項4】
前記一連の第2のノード装置の各ノード装置は、
前記更新されたルーティング情報と、前記一群のノード装置のブローカノード装置上に記憶されたバージョンの前記ルーティング情報との適応度についてソフトウェアベースのスモークテストを実行し、
前記実行されたソフトウェアベースのスモークテストに関連する一連の合格条件を前記更新されたルーティング情報が満たすとの判定に基づいて、前記更新されたルーティング情報の妥当性を確認する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項5】
前記一連の第2のノード装置の各ノード装置は、
前記ルーティング情報の第1の公開バージョンを決定し、
前記更新されたルーティング情報の第2の公開バージョンを決定し、
前記決定された第2の公開バージョンが前記第1の公開バージョンに優先するとの判定に基づいて、前記更新されたルーティング情報の妥当性を確認する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項6】
前記中央ノード装置は、
前記一連の第2のノード装置から前記更新されたルーティング情報の前記妥当性確認の失敗を示す応答を受け取り、
前記妥当性確認の前記失敗に関連する1又は2以上のエラーを特定し、
前記特定された1又は2以上のエラーに基づいて、前記第1のノード装置に前記更新されたルーティング情報を補正するように命令する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項7】
前記中央ノード装置は、
前記一連の第2のノード装置から前記更新されたルーティング情報の前記妥当性確認の失敗を示す応答を受け取り、
前記受け取られた応答に基づいて、前記中央ルーティング構成リポジトリ内で前記ルーティング情報を復元し、
前記一連の第2のノード装置の各々に前記ルーティング情報をローカルに復元するよう命令する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項8】
前記ルーティング情報の前記更新は、
前記一群のノード装置のブローカノード装置上における新たな輸送サービスとしての第1のトピックの追加、
前記ブローカノード装置からの既存の輸送サービスとしての第2のトピックの削除、
前記ブローカノード装置上の既存のトピックに対する第1のサブスクリプションの追加、
前記ブローカノード装置上の前記既存のトピックに対する前記第1のサブスクリプションの削除、
前記ブローカノード装置上の前記既存のトピックに対する以前に非アクティブ化されたサブスクリプションの再アクティブ化、及び、
前記ブローカノード装置上の前記既存のトピックに対する現在アクティブなサブスクリプションの非アクティブ化、
のうちの1つ又は2つ以上に対応する、請求項1に記載のシステム。
【請求項9】
前記第1のノード装置は、前記ルーティング情報の前記更新に基づいて、前記一群のノード装置のブローカノード装置上の1又は2以上のトピックに関連するアクティブノードとして委任されるように構成される、
請求項1に記載のシステム。
【請求項10】
前記第1のノード装置は、前記ルーティング情報の前記更新に基づいて非アクティブノードとして退任するように構成される、
請求項1に記載のシステム。
【請求項11】
方法であって、
一群のノード装置のうちの第1のノード装置が、該第1のノード装置に関連するルーティング情報をローカルに更新することを含み、
前記一群のノード装置は、パブリッシュ-サブスクライブパターンに関連し、
前記ルーティング情報は、前記第1のノード装置との間でトランザクション要求を伝搬するためのルーティングルールを含み、前記方法は、
中央ノード装置が、前記第1のノード装置から前記更新されたルーティング情報を受け取ることと、
前記中央ノード装置が、前記更新されたルーティング情報を前記第1のノード装置に関連する新たなルーティング構成として前記中央ノード装置の中央ルーティング構成リポジトリに記録することと、
前記記録に基づいて、前記更新されたルーティング情報を前記一群のノード装置のうちの一連の第2のノード装置に送信することと、
前記一連の第2のノード装置の各ノード装置が、前記中央ノード装置から前記更新されたルーティング情報を受け取ることと、
前記一連の第2のノード装置の各ノード装置が、前記更新されたルーティング情報の妥当性を確認することと、
前記一連の第2のノード装置の各ノード装置が、前記妥当性確認に基づいて、前記更新されたルーティング情報をローカルに記録することと、
をさらに含むことを特徴とする方法。
【請求項12】
前記一群のノード装置は、発行者ノード装置、加入者ノード装置及びブローカノード装置を含み、
前記第1のノード装置が前記加入者ノード装置である場合、前記一連の第2のノード装置は、前記発行者ノード装置及び前記ブローカノード装置を含み、
前記第1のノード装置が前記発行者ノード装置である場合、前記一連の第2のノード装置は、前記加入者ノード装置及び前記ブローカノード装置を含み、
前記第1のノード装置が前記ブローカノード装置である場合、前記一連の第2のノード装置は、前記発行者ノード装置及び前記加入者ノード装置を含む、
請求項11に記載の方法。
【請求項13】
前記ルーティング情報は、前記更新の公開スケジュールに基づいて更新される、
請求項11に記載の方法。
【請求項14】
前記一連の第2のノード装置の各ノード装置が、前記更新されたルーティング情報と、前記一群のノード装置のブローカノード装置上に記憶されたバージョンの前記ルーティング情報との適応度についてソフトウェアベースのスモークテストを実行することと、
前記一連の第2のノード装置の各ノード装置が、前記実行されたソフトウェアベースのスモークテストに関連する一連の合格条件を前記更新されたルーティング情報が満たすとの判定に基づいて、前記更新されたルーティング情報の妥当性を確認することと、
をさらに含む、請求項11に記載の方法。
【請求項15】
前記一連の第2のノード装置の各ノード装置が、前記ルーティング情報の第1の公開バージョンを決定することと、
前記一連の第2のノード装置の各ノード装置が、前記更新されたルーティング情報の第2の公開バージョンを決定することと、
前記一連の第2のノード装置の各ノード装置が、前記決定された第2の公開バージョンが前記第1の公開バージョンに優先するとの判定に基づいて、前記更新されたルーティング情報の妥当性を確認することと、
をさらに含む、請求項11に記載の方法。
【請求項16】
前記中央ノード装置が、前記一連の第2のノード装置から前記更新されたルーティング情報の前記妥当性確認の失敗を示す応答を受け取ることと、
前記中央ノード装置が、前記妥当性確認の前記失敗に関連する1又は2以上のエラーを特定することと、
前記中央ノード装置が、前記特定された1又は2以上のエラーに基づいて、前記第1のノード装置に前記更新されたルーティング情報を補正するように命令することと、
をさらに含む、請求項11に記載の方法。
【請求項17】
前記中央ノード装置が、前記一連の第2のノード装置から前記更新されたルーティング情報の前記妥当性確認の失敗を示す応答を受け取ることと、
前記中央ノード装置が、前記受け取られた応答に基づいて、前記中央ノード装置の前記中央ルーティング構成リポジトリ内で前記ルーティング情報を復元することと、
前記一連の第2のノード装置の各々に前記ルーティング情報をローカルに復元するように命令することと、
をさらに含む、請求項11に記載の方法。
【請求項18】
前記ルーティング情報の前記更新は、
前記一群のノード装置のブローカノード装置上における新たな輸送サービスとしての第1のトピックの追加、
前記ブローカノード装置からの既存の輸送サービスとしての第2のトピックの削除、
前記ブローカノード装置上の既存のトピックに対する第1のサブスクリプションの追加、
前記ブローカノード装置上の前記既存のトピックに対する前記第1のサブスクリプションの削除、
前記ブローカノード装置上の前記既存のトピックに対する以前に非アクティブ化されたサブスクリプションの再アクティブ化、及び、
前記ブローカノード装置上の前記既存のトピックに対する現在アクティブなサブスクリプションの非アクティブ化、
のうちの1つ又は2つ以上に対応する、請求項11に記載の方法。
【請求項19】
前記ルーティング情報の前記更新に基づいて、前記第1のノード装置を前記一群のノード装置のブローカノード装置上の1又は2以上のトピックに関連するアクティブノードとして委任することをさらに含む、
請求項11に記載の方法。
【請求項20】
前記ルーティング情報の前記更新に基づいて、前記第1のノード装置を前記一群のノード装置の非アクティブノードとして退任させることをさらに含む、
請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願との相互参照/引用による組み入れ〕
本出願は、2019年5月1日に出願された米国仮特許出願第62/841,583号に対する優先権を主張するものであり、この文献はその内容全体が引用により本明細書に組み入れられる。
【0002】
本開示の様々な実施形態は、モビリティアズアサービス(Mobility-as-a-Service:MaaS)及び分散型台帳技術に関する。具体的には、本開示の様々な実施形態は、MaaSプラットフォームの大規模ノード構成管理のためのシステム及び方法に関する。
【背景技術】
【0003】
多くの輸送プロバイダは、クローズドプラットフォームに基づくインフラを通じて自社のサービスを提供する。例えば、輸送プロバイダは、旅行の作成、支払い又は管理のために、(改札機(ticketing gates)及び販売時点情報管理(PoS)装置などの)個別の発券インフラ、又は(チケット予約アプリケーション又は配車(ride hailing)アプリケーションなどの)個別のアプリケーションを有することができる。輸送プロバイダの数の増加と共に、複数の輸送プロバイダのサービスに依拠し得る旅行の作成、支払い及び管理のための統一ゲートウェイを提供できるモビリティアズアサービス(MaaS)プラットフォームに対する需要が存在している。典型的なMaaSプラットフォームは、航空会社、配車会社、レンタカー会社、相乗り(carpooling)会社、鉄道網会社、又はこれらの組み合わせなどの複数の輸送プロバイダの参加を含むことができる。通常、MaaSプラットフォーム上の各輸送プロバイダは、他の輸送プロバイダのインフラとの接続性が最低限しか又は全く存在しないクローズドインフラを有する。接続性が限られていることで、特に高容量のMaaSトランザクションでは、MaaSプラットフォーム上の個々のノードの構成に関連する更新が、MaaSプラットフォームの効率的な動作にとって必要なペースに比べてはるかに遅いペースでMaaSプラットフォーム上の他のノードに伝搬することがある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
当業者には、説明したシステムと、本出願の残り部分において図面を参照しながら示す本開示のいくつかの態様とを比較することにより、従来の慣習的な手法の限界及び不利点が明らかになるであろう。
【課題を解決するための手段】
【0005】
実質的に少なくとも1つの図に示し、及び/又はこれらの図に関連して説明し、特許請求の範囲にさらに完全に示すような、モビリティアズアサービス(MaaS)プラットフォームの大規模ノード構成管理のためのシステム及び方法を提供する。
【0006】
全体を通じて同じ要素を同じ参照符号によって示す添付図面を参照しながら本開示の以下の詳細な説明を検討することにより、本開示のこれらの及びその他の特徴及び利点を理解することができる。
【図面の簡単な説明】
【0007】
【
図1】本開示の実施形態による、モビリティアズアサービス(MaaS)プラットフォームのノード構成管理のための例示的なシステムの図である。
【
図2】本開示の実施形態による、分散型台帳ベースのMaaSプラットフォームのための
図1のシステムの例示的な実装を示す図である。
【
図3】本開示の実施形態による、MaaSプラットフォームのノード構成を管理する例示的な動作を示すシーケンス図である。
【
図4】本開示の実施形態による、
図2の分散型台帳ベースのMaaSプラットフォームの例示的な実装のためのノード構成管理を示す図である。
【
図5】本開示の実施形態による、
図1のシステムの例示的な第1のノード装置のブロック図である。
【
図6】本開示の実施形態による、
図1のシステムの例示的な中央ノード装置のブロック図である。
【
図7】本開示の実施形態による、
図1のシステムの一連の第2のノード装置の例示的なノード装置のブロック図である。
【
図8】本開示の実施形態による、MaaSプラットフォームのノード構成を管理する例示的な方法を示すフローチャートである。
【発明を実施するための形態】
【0008】
開示するモビリティアズアサービス(MaaS)プラットフォームの大規模ノード構成の管理のためのシステム及び方法では、後述する実装を見出すことができる。開示するシステムは、複数の同種又は異種の輸送プロバイダ、並びに改札機、アプリケーション及び/又は販売時点情報管理(PoS)装置などのこれらのインフラが共通のMaaSプラットフォーム上で様々な輸送サービスを提供するように動作するのを容易にすることができる連合輸送管理システム(federated transportation management system)とすることができる。各輸送プロバイダは、セキュアなデータ所有権を享受できるとともに、分散型台帳を通じて関連するトランザクションデータの共同使用を制御することができる。これにより、様々な輸送プロバイダ間の接続性を向上させることができる。
【0009】
輸送プロバイダ間のITインフラが共有されると、各個々の輸送プロバイダは、情報技術(IT)インフラの所有権に関連するコスト、並びに運用及びインフラ拡張に掛かる資本支出を節約することができる。また、分散型台帳は、MaaS輸送サービスに関連するトランザクションの当事者であることができる関係輸送プロバイダに関連する分散型台帳上のトランザクションデータレコードに基づいて、MaaS輸送サービスのための輸送プロバイダ間の収益の共有を容易にすることもできる。
【0010】
本開示の例示的な態様は、一群のノード装置と、中央ルーティング構成リポジトリ(central routing configuration repository)を含む中央ノード装置とを含むことができるシステムを提供する。一群のノード装置は、パブリッシュ-サブスクライブ(publish-subscribe)パターンに関連することができ、第1のノード装置及び一連の第2のノード装置を含むことができる。第1のノード装置は、第1のノード装置に関連するルーティング情報をローカルに更新するように構成することができる。ルーティング情報は、輸送サービスに関連するトランザクション要求を第1のノード装置との間で伝搬するためのルーティングルールを含むことができる。中央ノード装置は、第1のノード装置から更新済みルーティング情報を受け取り、この更新済みルーティング情報を中央ルーティング構成リポジトリに記録するように構成することができる。中央ノード装置は、この記録に基づいて、更新済みルーティング情報を一連の第2のノード装置に送信するように構成することができる。一連の第2のノード装置は、更新済みルーティング情報を受け取ると、受け取られた更新済みルーティング情報の妥当性を確認し、妥当性確認に基づいて更新済みルーティング情報をローカルに記録するように構成することができる。
【0011】
中央ノード装置は、一群のノード装置のうちのいずれかのノード装置に関連する更新済みルーティング情報の集中的記憶を容易にすることができる。また、中央ノード装置は、一群のノード装置のうちの全てのアクティブなノード装置が更新済みルーティング情報の妥当性を確認するのを容易にし、妥当性確認ができなかった場合には以前の安定したバージョンのルーティング情報を復元するのを容易にすることができる。集中的記憶に伴い、各ノード装置が中央ノード装置から更新済みバージョンのルーティング情報/構成を直接取得できるので、ルーティング情報の管理がより効率的になることができる。具体的には、中央ノード装置は、一群のノード装置のうちの発行者ノード装置、ブローカノード装置及び加入者ノード装置間における更新済みルーティング情報/構成の同期を容易にすることができる。また、集中的記憶に伴い、新たなノード(発行元/加入者)が一群のノード装置内に委任(commissioned)される際、又は一群のノード装置から退任する(decommissioned)際に、ルーティング情報に関連する更新を全てのアクティブなノード装置に公開することができる。
【0012】
図1は、本開示の実施形態による、モビリティアズアサービス(MaaS)プラットフォームのノード構成管理のための例示的なシステムの図である。
図1には、システム100のブロック図を示す。システム100は、パブリッシュ-サブスクライブパターンに関連する一群のノード装置102と、一群のノード装置102の各ノード装置に通信可能に結合された中央ノード装置108とを含む。一群のノード装置102は、第1のノード装置104と、一連の第2のノード装置106とを含むことができる。一連の第2のノード装置106は、ノード装置106A、ノード装置106B及びノード装置106Nを含むことができる。中央ノード装置108は、中央ストレージリポジトリ110を含むことができる。一群のノード装置102の各ノード装置は、通信ネットワーク112などの1又は2以上の通信ネットワークを介して中央ノード装置108と通信するように構成することができる。システム100は、MaaSプラットフォームのIT管理者116によって管理できる情報技術(IT)システム114をさらに含むことができる。ITシステム114は、中央ノード装置108、及び/又は一群のノード装置102の各ノード装置に通信可能に結合することができる。なお、
図1のノード装置の数は一例として示すものにすぎない。本開示は、その範囲から逸脱することなく、これより多い又は少ない数のノード装置にも適用可能とすることができる。
【0013】
一群のノード装置102の各々は、2又は3以上の同種又は異種の(又はマルチモーダル)輸送サービスを含むMaaSサービスに関連するトランザクション要求を送信、受信又はルーティングするように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。ある実施形態では、第1のノード装置104が加入者ノードに対応する場合、ノード装置106A及びノード装置106Bは、それぞれ発行者ノード及びブローカノードに対応することができる。別の実施形態では、第1のノード装置104が発行者ノードに対応する場合、ノード装置106A及びノード装置106Bは、それぞれ加入者ノード及びブローカノードに対応することができる。別の実施形態では、第1のノード装置104がブローカノードに対応する場合、ノード装置106A及びノード装置106Bは、それぞれ発行者ノード及び加入者ノードに対応することができる。
【0014】
第1のノード装置104は、第1のノード装置104に関連するルーティング情報を第1のノード装置104上にローカルに記憶するように、又は第1のノード装置104に通信可能に結合された記憶装置上に記憶するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。ルーティング情報は、第1のノード装置104との間でトランザクション要求を伝搬するためのルーティングルールを含むことができる。第1のノード装置104の実装例としては、以下に限定するわけではないが、ウェブサーバ、エッジデバイス、エッジノード、クラウドサーバ、一群のクラウドベースサーバ、ワークステーション、又はフォグコンピューティング能力を有するいずれかのコンピュータ装置又はシステムを挙げることができる。例示的な実施形態では、第1のノード装置104が、パブリッシュ-サブスクライブパターンに関連する発行元、加入者又はメッセージブローカのうちの1つに対応することができる。
【0015】
一連の第2のノード装置106の(ノード装置106A又はノード装置106Bなどの)各ノード装置は、第1のノード装置104に関連する更新済みバージョンのルーティング情報をローカルに保持するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。例えば、ノード装置106Aは、第1のノード装置104に関連する更新済みルーティング情報を中央ノード装置108から受け取り、更新済みルーティング情報を中央ノード装置108と共に妥当性確認し、更新済みルーティング情報をノード装置106A上にローカルに記録することができる。ノード装置106A及びノード装置106Bの各々の実装例としては、以下に限定するわけではないが、ウェブサーバ、エッジデバイス、エッジノード、クラウドサーバ、一群のクラウドベースサーバ、ワークステーション、又はフォグコンピューティング能力を有するいずれかのコンピュータ装置又はシステムを挙げることができる。
【0016】
中央ノード装置108は、個々のノード(例えば、発行者ノード、メッセージブローカ及び加入者ノード)間の関係をルーティング情報の形態で記憶するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。例えば、中央ノード装置108は、第1のノード装置104に関連するルーティング情報をルーティング構成として中央ストレージリポジトリ110に記憶することができる。また、中央ノード装置108は、ノード装置106A及びノード装置106Bの各々に関連するルーティング情報を中央ストレージリポジトリ110に記憶することもできる。中央ノード装置108の実装例としては、以下に限定するわけではないが、ウェブサーバ、エッジデバイス、エッジノード、クラウドサーバ、一群のクラウドベースサーバ、ワークステーション、又はフォグコンピューティング能力を有するいずれかのコンピュータ装置又はシステムを挙げることができる。
【0017】
ある実施形態によれば、中央ストレージリポジトリ110は、ルーティング情報を記憶する中央ルーティング構成リポジトリ110Aを含むことができる。また、中央ストレージリポジトリ110は、一群のノード装置102の各ノード装置に関連するノード情報を記憶することもできる。中央ストレージリポジトリ110の実装例としては、以下に限定するわけではないが、ウェブサーバ、クラウドサーバ又はローカル記憶装置を挙げることができる。
【0018】
通信ネットワーク112は、一群のノード装置102の各ノード装置が中央ノード装置108と通信できるようにする通信媒体を含むことができる。通信ネットワーク112の例としては、以下に限定するわけではないが、インターネット、クラウドネットワーク、ワイヤレスフィディリティ(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)又はメトロポリタンエリアネットワーク(MAN)を挙げることができる。システム100の様々なノード装置は、様々な有線及び無線通信プロトコルに従って通信ネットワーク112に接続するように構成することができる。このような有線及び無線通信プロトコルの例としては、以下に限定するわけではないが、伝送制御プロトコル及びインターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、ZigBee、EDGE、IEEE802.11、ライトフィデリティ(Li-Fi)、802.16、IEEE 802.11s、IEEE 802.11g、マルチホップ通信、無線アクセスポイント(AP)、装置間通信、セルラー通信プロトコル及びBluetooth(BT)通信プロトコルのうちの少なくとも1つを挙げることができる。
【0019】
ITシステム114は、第1のノード装置104上にローカルに記憶されたルーティング情報の更新の公開スケジュール(release schedule)を中央ノード装置108に送信するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。ITシステム114の例としては、以下に限定するわけではないが、メインフレームコンピュータ、ワークステーション、ラップトップ、パーソナルコンピュータ、携帯電話機又はいずれかのコンピュータ装置を挙げることができる。
【0020】
動作中、ITシステム114は、IT管理者116からユーザ入力を受け取ることができる。このユーザ入力は、第1のノード装置104に関連するルーティング情報の更新の公開スケジュールに関連することができる。例えば、ITシステム114は、IT管理者116がルーティング情報の更新の公開スケジュールを設定するユーザ入力を提供できるようにする表計算アプリケーションを含むことができる。ITシステム114は、設定された公開スケジュールを中央ノード装置108の中央ストレージリポジトリ110の中央ルーティング構成リポジトリ110Aに記憶することができる。中央ノード装置108は、第1のノード装置104へのルーティング情報の更新のための設定された公開スケジュールを第1のノード装置104に送信することができる。
【0021】
第1のノード装置104は、設定された公開スケジュールを受け取ってローカルに記憶することができる。その後、第1のノード装置104は、公開スケジュールに基づいて、第1のノード装置104に関連するルーティング情報をローカルに更新することができる。別の実施形態では、第1のノード装置104が、公開スケジュールを伴わずに第1のノード装置104に関連するルーティング情報をローカルに更新することができる。その後、第1のノード装置104は、更新済みルーティング情報を中央ノード装置108に送信することができる。中央ノード装置108は、更新済みルーティング情報を受け取って、この更新済みルーティング情報を第1のノード装置104に関連する新たなルーティング構成として中央ストレージリポジトリ110に記録することができる。その後、中央ノード装置108は、この記録に基づいて更新済みルーティング情報を一連の第2のノード装置106に送信することができる。
【0022】
一連の第2のノード装置106の各々は、第1のノード装置104に関連する更新済みルーティング情報を受け取って、更新済みルーティング情報の妥当性を確認することができる。ある実施形態では、このような妥当性確認が、更新済みルーティング情報の公開バージョンが最新のもの(すなわち、第1のノード装置104からの最新の公開)であるかどうかのチェックに対応することができる。別の実施形態では、このような妥当性確認が、更新済みルーティング情報と、一群のノード装置102のブローカノード装置上に記憶されているルーティング情報のバージョンとの適応度についてのさらなるチェックに対応することができる。本明細書では、ブローカノード装置を、第1のノード装置104、ノード装置106A又はノード装置106Bのうちの1つとすることができる。適応度のチェックは、更新済みルーティング情報のソフトウェアベースのスモークテストの実行を含むことができる。一連の第2のノード装置106の(ノード装置106A又はノード装置106Bなどの)各ノード装置は、妥当性確認に基づいて更新済みルーティング情報をローカルに記録することができる。分散型台帳ベースのMaaSプラットフォームのためのシステム100の例示的な実装については、例えば
図2に示す。
【0023】
中央ノード装置108は、一群のノード装置102のうちのいずれかのノード装置に関連する更新済みルーティング情報の集中的記憶を容易にすることができる。集中的記憶に伴い、各ノード装置が中央ノード装置108から更新済みバージョンのルーティング情報/構成を取得できるので、ルーティング情報の管理がより効率的になることができる。このことは、新たなノード(発行元/加入者)がシステム100の一群のノード装置102内に委任される際、又はシステム100の一群のノード装置102から退任する際に、ルーティング情報に関連する更新を全てのアクティブなノード装置に公開するのに役立つこともできる。
【0024】
図2は、本開示の実施形態による、分散型台帳ベースのMaaSプラットフォームのための
図1のシステムの例示的な実装を示す図である。
図2の説明は、
図1の要素に関連して行う。
図2には、分散型台帳ベースのMaaSプラットフォームのためのシステム200のブロック図を示す。分散型台帳ベースのMaaSプラットフォームは、複数の同種又は異種の輸送プロバイダ、並びに改札機、アプリケーション及び/又はPoS装置などのこれらのインフラが共通のMaaSプラットフォーム上で様々な輸送サービスを提供するように動作するのを容易にすることができる連合輸送管理を提供することができる。このようなサービスは、一群の同種の輸送プロバイダ(例えば、複数のタクシー乗車プロバイダ会社)、又は一群の異種の輸送プロバイダ(例えば、配車会社、鉄道会社、航空会社及びバス旅行会社)が、販売時点情報管理(PoS)装置、旅行予約のためのモバイル又はウェブアプリケーション、或いは改札機又は改札端末のうちの1つ又は2つ以上を通じて提供することができる。各輸送プロバイダは、セキュアなデータ所有権を享受し、分散型台帳を通じて関連するトランザクションデータの共同使用を制御することができる。これにより、様々な輸送プロバイダ間の接続性を向上させることができる。
【0025】
システム200は、MaaS輸送サービスの複数の輸送プロバイダに関連する第1の発行者ノード装置202A、第2の発行者ノード装置202B及び第nの発行者ノード装置202N(以下、まとめて複数の発行者ノード装置202と呼ぶ)を含むことができる。システム200は、ブローカノード装置204、並びに第1の加入者ノード装置206A、第2の加入者ノード装置206B及び第nの加入者ノード装置206Nをさらに含むことができる。第1の加入者ノード装置206A、第2の加入者ノード装置206B及び第nの加入者ノード装置206Nは、まとめて複数の輸送プロバイダに関連する複数の加入者ノード装置206と呼ぶことができる。システム200は、第1のノード208A、第2のノード208B及び第nのノード208Nなどの複数のノードを含むことができる分散型台帳208をさらに含むことができる。分散型台帳208は、取引先ノード210及びコンセンサスノード212をさらに含むことができる。システム200は、中央ストレージリポジトリ110を含むことができる中央ノード装置108をさらに含むことができる。
【0026】
図2の発行者ノード装置、加入者ノード装置及び分散型台帳208のノードの数は、一例として示すものにすぎない。本開示は、その範囲から逸脱することなく、これより多い又は少ない数の発行者ノード装置、加入者ノード装置及び分散型台帳208のノードにも適用可能とすることができる。
【0027】
システム200は、
図1のシステム100の例示的な実装であるため、一群のノード装置102は、複数の発行者ノード装置202、ブローカノード装置204及び複数の加入者ノード装置206を含むことができる。ある実施形態では、一群のノード装置102が、分散型台帳208の複数のノードをさらに含むことができる。複数の発行者ノード装置202、ブローカノード装置204、複数の加入者ノード装置206及び分散型台帳208の複数のノードのうち、ルーティング情報が更新されるいずれかのノード装置を第1のノード装置104と呼ぶことができる。他の全てのノード装置は一連の第2のノード装置106と呼ぶことができる。
【0028】
ある実施形態では、第1のノード装置104が複数の加入者ノード装置206のうちの1つである場合、一連の第2のノード装置106は、複数の発行者ノード装置202、ブローカノード装置204及び/又は分散型台帳208の(単複の)ノードを含むことができる。別の実施形態では、第1のノード装置104がブローカノード装置204である場合、一連の第2のノード装置106は、複数の発行者ノード装置202、複数の加入者ノード装置206及び/又は分散型台帳208の(単複の)ノードを含むことができる。別の実施形態では、第1のノード装置104が複数の発行者ノード装置202のうちの1つである場合、一連の第2のノード装置106は、ブローカノード装置204、複数の加入者ノード装置206及び/又は分散型台帳208の(単複の)ノードを含むことができる。別の実施形態では、第1のノード装置104が分散型台帳208の(単複の)ノードのうちの1つである場合、一連の第2のノード装置106は、ブローカノード装置204、複数の加入者ノード装置206及び複数の発行者ノード装置202を含むことができる。
【0029】
ブローカノード装置204は、パブリッシュ-サブスクライブパターンのための好適なネットワークプロトコルを通じて、複数の発行者ノード装置202の各々及び複数の加入者ノード装置206の各々と通信するように構成することができる。このようなプロトコルの例としては、以下に限定するわけではないが、Message Queuing Telemetry Transport(MQTT)ベースのメッセージングプロトコル、Advanced Message Queuing Protocol(AMQP)ベースのメッセージングプロトコル、又はメッセージ指向ミドルウェア(Message-Oriented Middleware:MOM)ベースのメッセージングフレームワークを挙げることができる。
【0030】
複数の加入者ノード装置206の各々は、分散型台帳208の対応するノードに関連することができる。例えば、第1の加入者ノード装置206Aは第1のノード208Aに関連することができ、第2の加入者ノード装置206Bは第2のノード208Bに関連することができ、第nの加入者ノード装置206Nは分散型台帳208の第nのノード208Nに関連することができる。
【0031】
分散型台帳208は、(MaaSプロバイダノードも呼ばれる)取引先ノード210及びコンセンサスノード212を含むことができる。ある実施形態では、分散型台帳208の少なくとも2つのノードが、輸送サービスに関連するトランザクションデータを記憶することができる。輸送データは、1又は2以上の輸送プロバイダ、及び/又は統合MaaSインターフェイス又は複数の発行者ノード装置202を通じて輸送サービスを利用できるユーザ214に関連することができる。
【0032】
例えば、トランザクションデータは、(初期状態オブジェクトとも呼ばれる)第1の状態オブジェクト及び第2の状態オブジェクト(すなわち、初期状態オブジェクトの更新バージョンに対応するもの)などの一連の状態オブジェクトを含むことができる。各状態オブジェクトは、スマートコントラクト、コントラクトコード(又はトランザクションの当事者が合意する基礎となるトランザクションのルール)及び(発行者ノード装置からのトランザクション要求に基づいてトランザクションデータが更新される時に更新できる)状態特性を含むことができるトランザクションデータのバージョンを記憶することができる。
【0033】
複数の発行者ノード装置202の各発行者ノード装置は、ブローカノード装置204を通じて複数の加入者ノード装置206のうちの1又は2以上の加入者ノード装置にトランザクション要求を発行するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。各発行者ノード装置は、(1又は2以上の輸送プロバイダのサービスから成る旅行に関連する輸送サービスの作成、開始又は終了などの)MaaSトランザクションに関連する事象の発生に基づいてトランザクション要求を発行することができる。複数の発行者ノード装置202の例としては、以下に限定するわけではないが、発行者ノード装置に関連する乗車予約アプリケーション、改札機又は販売時点情報管理(PoS)装置を含む装置を挙げることができる。
【0034】
ある実施形態では、複数の発行者ノード装置202の各々を、輸送プロバイダに関連する輸送サービス端末にインストールすることができる。輸送サービス端末の輸送サービスインターフェイスは、ユーザ214からのユーザ入力に基づいてMaaSトランザクションに関連する事象をトリガできるユーザインターフェイスに対応することができる。例えば、第1の輸送プロバイダの第1の発行者ノード装置202Aは、第1の発行者ノード装置202Aのユーザインターフェイスを介してユーザ214から入力を受け取ることができる。この入力は、ユーザ214に関連する旅行計画に基づいて輸送サービス(すなわち、MaaSサービス)を作成するための要求を含むことができる。
【0035】
限定ではなく一例として、第1の発行者ノード装置202Aは、第1の発行者ノード装置202Aがユーザ214からユーザ入力を受け取ることができるようにするユーザインターフェイスを提供することができる。受け取られたユーザ入力は、ユーザ214に関連する旅行計画に基づく、ユーザ214のMaaSベースの輸送サービスの作成要求を示すことができる。第1の発行者ノード装置202Aは、このような受け取られたユーザ入力に応答して、ユーザ214のMaaSベースの輸送サービスの作成に関連するcreate(作成)メッセージを含むことができるトランザクション要求を生成することができる。例えば、createメッセージは、輸送プロバイダの詳細、輸送サービスに関連する旅行計画/ルート、出発地、目的地、又は出発地と目的地との間の中間的な場所を含むことができる。createメッセージは、ユーザ214によって予約された輸送サービスのバンドルに関連する支払い明細を含むこともできる。輸送サービスは、1又は2以上の同種又は異種の輸送プロバイダの個々のサービス提供の組み合わせとすることができる。例えば、MaaSプロバイダの改札機、配車アプリケーション又はPoS端末は、ユーザ214からの入力を介してマルチモーダル輸送サービス(例えば、バス、タクシー及びフライトの組み合わせ)の作成要求を受け取ることができる。本明細書におけるマルチモーダル輸送サービスは、例えば列車サービス、バスサービス、タクシーサービス、地下鉄サービス、航空機サービス、海運サービス、配車サービス、カーシェアリングサービス、相乗りサービス、レンタカーサービス、バイクシェアリングサービス、又はこれらの組み合わせを含むことができる。
【0036】
或いは、第1の発行者ノード装置202Aは、ユーザ214がMaaSベースの輸送サービスを開始した時に、ユーザ214のMaaSベースの輸送サービスの開始に対応できるget-in(参加)メッセージを含むことができるトランザクション要求を生成することもできる。一例として、このようなMaaSベースの輸送サービスの開始は、ユーザ214が(輸送プロバイダに関連する)列車に乗るために鉄道改札機(第1の発行者ノード装置202A)を通って入った時、又はタクシーの乗車を開始した時などの事象に関連することができる。或いは、第1の発行者ノード装置202Aは、ユーザ214がMaaSベースの輸送サービスの利用を完了した時に、ユーザ214のMaaSベースの輸送サービスの完了に対応できるget-out(退出)メッセージを含むことができるトランザクション要求を生成することもできる。一例として、このようなMaaSベースの輸送サービスの完了は、ユーザ214が(輸送プロバイダに関連する)列車から降りた後に電子鉄道出口(第1の発行者ノード装置202A)を通って出た時、又はタクシーの乗車が終了した時などの事象に関連することができる。
【0037】
ブローカノード装置204は、複数の発行者ノード装置202から複数の加入者ノード装置206にトランザクション要求をルーティングするように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。ブローカノード装置204の例としては、以下に限定するわけではないが、アプリケーションサーバ、クラウドサーバ、メインフレームサーバ、データベースサーバ、ファイルサーバ、ウェブサーバ、又は他のタイプのサーバを挙げることができる。
【0038】
ある実施形態では、ブローカノード装置204が、複数の輸送サービスに関連するトピックを作成することができる。トピックの一部は、MaaS輸送サービスの一部とすることができる輸送サービスによって提供されるサービス計画に関連することができる。
【0039】
例えば、トピックは、配車輸送プロバイダによって提供される相乗り(car-pooling)サービス計画に対応することができる。別のトピックは、配車輸送プロバイダによって提供されるライドシェア(ride-sharing)サービス計画に対応することができる。他のいくつかのトピックは、輸送車両のタイプ(例えば、高速鉄道、中速鉄道又は低速鉄道、高級セダン、乗用車、リムジン、タクシー、バイク又はバス)、休暇パッケージ、旅行目的(ビジネス又は行楽)、旅行クラス(例えば、ビジネス、エコノミー)、或いは国内又は国際線飛行のための地域固有の計画に関連することができる。
【0040】
複数の発行者ノード装置202は、ブローカノード装置204の1又は2以上のトピックにサブスクライブして、サブスクライブした1又は2以上のトピックに関連するトランザクションメッセージを含むトランザクション要求を発行することができる。同様に、複数の加入者ノード装置206は、ブローカノード装置204の1又は2以上のトピックにサブスクライブして、サブスクライブした1又は2以上のトピックに関連するトランザクションメッセージを含むトランザクション要求を受け取ることができる。
【0041】
複数の加入者ノード装置206の各々は、複数の発行者ノード装置202のうちの1又は2以上の発行者ノード装置からトランザクション要求を受け取るように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。例えば、第1の輸送プロバイダの第1の加入者ノード装置206Aは、ブローカノード装置204に登録して、同じ輸送プロバイダ(すなわち、第1の輸送プロバイダ)の第1の発行者ノード装置202Aによって発行されたトランザクション要求に関連するトピック(例えば、タクシーサービス)にサブスクライブすることができる。本明細書では、トピックにサブスクライブすることで、第1の発行者ノード装置202Aから第1の加入者ノード装置206Aにトランザクション要求をルーティングする関係を確立することができる。
【0042】
いくつかの実施形態では、第1の発行者ノード装置202A又は第1の加入者ノード装置206Aに関連するルーティング情報が、トピックサブスクリプションに関連する情報を含むことができる。このような情報は、ブローカノード装置204を通じて第1の発行者ノード装置202Aから第1の加入者ノード装置206Aにトランザクション要求を伝搬するためのルーティングルールとして使用することができる。加入者ノード装置の実装例としては、以下に限定するわけではないが、ウェブサーバ、エッジデバイス、エッジノード、クラウドサーバ、一群のクラウドベースサーバ、ワークステーション、又はフォグコンピューティング能力を有するいずれかのコンピュータ装置又はシステムを挙げることができる。
【0043】
分散型台帳208は、不変のデータ操作記録又はトランザクション記録を維持することができる非集中的な分散型データベースシステムとすることができる。一連のデータ操作は、ブロックとしてグループ化するとともに以前のデータ操作ブロックにさらにリンクさせて複数のブロックチェーンを形成することができる。全てのデータ操作ブロックは非集中方式で記憶することができ、これによって分散型台帳208の少なくとも2つの参加者又はノードが、これらの参加者又はノードが参加できる1又は2以上のトランザクションに関連する複数のブロックの一部を記憶することができる。さらに、分散型台帳208は、例えば(輸送プロバイダノードとも呼ばれる第1の輸送プロバイダの第1のノード208Aなどの)モビリティプロバイダノードなどの複数の当事者と取引先ノード210(すなわち、MaaSプロバイダノード)との間におけるスマートコントラクトの展開を可能にすることができるオペレーティングシステム(例えば、Java Virtual Machine(JVM))を含むことができる。
【0044】
限定ではなく一例として、分散型台帳208は、Cordaブロックチェーン、Ethereumブロックチェーン、又はHyperledgerブロックチェーンとすることができる。分散型台帳208(例えば、Cordaブロックチェーン)は、分散型台帳208が追跡できる不変の状態オブジェクトセットを記憶することができる。状態オブジェクトは、当事者間のスマートコントラクト、コントラクトコード(トランザクションのルール)、及び一定の状態値を有する状態特性を含むコンテンツなどのトランザクションデータを含むことができる。スマートコントラクトは、スマートコントラクトの複数の当事者が互いに相互作用するように合意できる一連の条件を含むことができる。スマートコントラクトは、分散型台帳208の1又は2以上のノード上で実行することができ、トランザクションを生成する状態オブジェクト間の遷移を管理することができる。スマートコントラクトは、一度書かれると多くの状態オブジェクトに再使用することができ、暗号ハッシュを通じて準拠法的散文(governing legal prose)を参照することができる。
【0045】
分散型台帳208は、セキュアな暗号ハッシュを使用して当事者及びデータを識別するとともに、状態オブジェクトを以前のバージョンの状態オブジェクトにリンクしてプロビナンスチェーン(chains of provenance)を提供することもできる。分散型台帳208には、関連する一群の当事者のみが閲覧できるように一群の当事者間のトランザクションを記憶することができる。トランザクションに関連する当事者は、そのトランザクションの現在の状態オブジェクトをボールト(vault)(分散型台帳208に関連するデータベース)に記憶することができる。トランザクションを閲覧又は処理する(例えば、トランザクションの妥当性を確認する)資格がある別の当事者は、ボールトからトランザクションの現在の状態オブジェクトを検索することができる。また、分散型台帳208の各状態オブジェクトは、関連するトランザクションに参加できる当事者又はノード間のスマートコントラクトを含むことができる。
【0046】
分散型台帳208上では、参加者又はノード(例えば、第1のノード208A)が入力状態オブジェクトの状態特性を更新して出力状態オブジェクトを作成することによってトランザクションを更新することができる。これにより、更新済みトランザクションは(トランザクションデータに関連することができる)プロビナンスチェーンを作成することができる。分散型台帳208は、更新済みトランザクションの妥当性の判定、及び更新済みトランザクションの一意性の判定に基づいて、更新済みトランザクションのためのコンセンサスを提供することができる。ある実施形態では、更新済みトランザクションに関連するノードの参加者が、トランザクションに関連するスマートコントラクト及び妥当性確認ロジックを個別に実行することによって更新済みトランザクションの妥当性を判定することができる。コンセンサスノード212は、現在のトランザクションと同じ入力状態オブジェクトを使用してコンセンサスに達したトランザクションが他に存在しないとのチェックに基づいて更新済みトランザクションの一意性を判定することができる。
【0047】
ある実施形態によれば、分散型台帳208は、クライアント側インターフェイス(フロントエンド)及びサーバ側インターフェイス(バックエンド)を含むことができる非集中型アプリケーションに関連することができる。非集中型アプリケーションは、ブロックチェーンに関連するワークフロー(例えば、Cordaフロー)を実行して(分散型台帳208の第1のノード208Aなどの)分散型台帳208のノード上にトランザクションを記録するように構成することができる。クライアント側インターフェイスは、複数の加入者ノード装置206の各々においてホストすることができる。例えば、非集中型アプリケーションのクライアント側インターフェイスは、各加入者ノード装置及び取引先ノード210(すなわち、MaaSプロバイダノード)上に構成することができる遠隔手続き呼出し(Remote Procedure Call:RPC)クライアントとすることができる。非集中型アプリケーションのサーバ側インターフェイスは、分散型台帳208の各ノード上で実行することができる。
【0048】
ある実施形態では、発行者ノード装置からのトランザクション要求によって、(分散型台帳208の第1のノード208Aなどの)モビリティプロバイダノードとMaaSプロバイダノード(すなわち、取引先ノード210)との間のMaaSトランザクションを開始することができる。分散型台帳208は、2つの当事者間の、すなわちモビリティプロバイダノード(例えば、第1のモビリティプロバイダの第1のノード208A)とMaaSプロバイダノード(すなわち、取引先ノード210)との間のMaaSトランザクションのレコードを記憶することができる。
【0049】
複数のMaaSプロバイダの場合には、システム200が複数のMaaSプロバイダノードを含むことができ、これらの各々を特定のMaaSプロバイダに関連付けてそれぞれのMaaSプロバイダの個別の分散型台帳に含めることができる。いくつかのシナリオでは、複数のMaaSプロバイダノードを分散型台帳208などの共通の分散型台帳に含めることができる。
【0050】
ある実施形態では、第1のノード208Aを、分散型台帳208の多くのデータベースノードのうちの1つとすることができ、第1の発行者ノード装置202からブローカノード装置204を介してトランザクション要求を受け取ることができる第1の加入者ノード装置206Aからトランザクションメッセージを含むトランザクション要求を受け取るように構成することができる。第1のノード208Aは、受け取られた第1のトランザクション要求内のトランザクションメッセージに基づいて、分散型台帳208に関連する初期状態オブジェクトを更新し、更新済み状態オブジェクトを出力するように構成することができる。第1のノード208Aは、初期状態オブジェクト及び更新済み状態オブジェクトを含むことができるトランザクションを構築するようにさらに構成することができる。
【0051】
取引先ノード210はMaaSプロバイダに関連することができ、MaaSプロバイダノードと呼ぶこともできる。ある実施形態では、取引先ノード210が、複数の加入者ノード装置206のうちのある加入者ノード装置によって受け取られたトランザクション要求を処理するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。コンセンサスノード212は、分散型台帳208に関連するトランザクションを公証(notarize)するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。システム200のノード装置の動作のさらなる詳細については、例えば
図3で説明する。分散型台帳ベースのMaaSプラットフォームのノード構成管理のための例示的な実装については、例えば
図4に示す。
【0052】
図3は、本開示の実施形態による、MaaSプラットフォームのノード構成を管理する例示的な動作を示すシーケンス図である。
図3の説明は、
図1及び
図2の要素に関連して行う。
図3には、302~322の一連の動作を示すシーケンス
図300を示す。これらの一連の動作は、
図1のシステム100又は
図2のシステム200の様々なノード装置によって実行することができる。
【0053】
302において、第1のノード装置104に関連するルーティング情報をローカルに更新することができる。従って、ITシステム114は、IT管理者116からユーザ入力を受け取ることができる。ユーザ入力は、第1のノード装置104に関連するルーティング情報の更新の公開スケジュールに関連することができる。例えば、ITシステム114は、IT管理者116がルーティング情報の更新の公開スケジュールを設定するためのユーザ入力を提供できるようにする表計算アプリケーションを含むことができる。ITシステム114は、設定された公開スケジュールを中央ストレージリポジトリ110の中央ルーティング構成リポジトリ110Aに記憶することができる。
【0054】
中央ノード装置108は、ルーティング情報の更新のために、設定された公開スケジュールを第1のノード装置104に送信することができる。第1のノード装置104は、設定された公開スケジュールを受け取ってローカルに記憶することができる。その後、第1のノード装置104は、公開スケジュールに基づいて、第1のノード装置104に関連するルーティング情報をローカルに更新することができる。別の実施形態では、第1のノード装置104が、公開スケジュールを伴わずに第1のノード装置104に関連するルーティング情報をローカルに更新することができる。この更新済みルーティング情報は、第1のノード装置104のメモリに、又は第1のノード装置104に通信可能に結合された記憶装置に記憶することができる。ルーティング情報は、中央ノード装置108、及び一群のノード装置102内の他のノード装置に更新済みルーティング情報を定期的に公開できるように更新することができる。例えば、特定のバージョンのルーティング情報の公開スケジュールが2020年2月1日の00:00時(UTC+5.5時間)である場合、第1のノード装置104は、公開スケジュールに記載された日時に従ってルーティング情報の新たなバージョン(すなわち、更新済みルーティング情報)への計画的な切り替えを実行することができる。
【0055】
ある実施形態では、ルーティング情報が、発行者ノード装置とブローカノード装置204上の1又は2以上のトピックとの間の関係、或いは加入者ノード装置とブローカノード装置204上の1又は2以上のトピックとの間の関係に対応することができる。或いは、ルーティング情報は、発行者ノード装置、ブローカノード装置204上の1又は2以上のトピック及び加入者ノード装置間の関係に対応することもできる。
【0056】
ある実施形態では、ルーティング情報の更新が、一群のノード装置102のうちのブローカノード装置204上で新たな輸送サービスとして第1のトピックを追加すること、又はブローカノード装置204から既存の輸送サービスとして第2のトピックを削除することの一方又は両方に対応することができる。例えば、第1の輸送プロバイダは、ブローカノード装置204上で新たなトピックを追加することによって新たなタクシーサービスを開始することができ、或いはブローカノード装置204上で既存のトピックを削除することによって進行中の配車サービスを停止することができる。
【0057】
別の実施形態では、ルーティング情報の更新が、ブローカノード装置204上の既存のトピックに対する第1のサブスクリプションの追加、又はブローカノード装置204上の既存のトピックに対する第1のサブスクリプションの削除の一方に対応することができる。例えば、発行者ノード装置(例えば、POS機)は、既存のタクシー乗車サービスに関連する既存のトピックに対するサブスクリプション解除又はサブスクリプションを行う場合に自機のルーティング情報を更新することができる。
【0058】
別の実施形態では、ルーティング情報の更新が、ブローカノード装置204上の既存のトピックに対する以前に非アクティブ化されたサブスクリプションの再アクティブ化、又はブローカノード装置204上の既存のトピックに対する現在アクティブなサブスクリプションの非アクティブ化に対応することができる。一例として、輸送プロバイダは、ビジネス上の理由又は政府の政策によって、以前に非アクティブ化されたサービスを再アクティブ化し、又は現在アクティブなサービスを非アクティブ化したいと望むことができる。再アクティブの場合、輸送プロバイダに関連する発行者ノード装置又は加入者ノード装置は、自機のそれぞれのルーティング情報をブローカノード装置上の既存のトピックにサブスクライブするように更新することができる。非アクティブ化の場合、輸送プロバイダに関連する発行者ノード装置又は加入者ノード装置は、ブローカノード装置204上の現在サブスクライブ済みのトピックからサブスクリプション解除することができる。輸送プロバイダは、ブローカノード装置204上の既存のトピックに対する関連するサブスクリプションのアクティブ化又は非アクティブ化に基づいて新たなサービス計画をアクティブ化し、又は進行中のサービス計画を非アクティブ化することができる。
【0059】
例えば、地下鉄輸送サービスの新たな駅がオープンする時には、駅に複数の改札機を設置することができる。IT管理者116は、ITシステム114を使用して、これらの各改札機のルーティング情報を設定することができる。駅の各改札機は、MaaSプラットフォーム上のこのような改札機を発行者ノード装置として委任するために、自機を発行者ノード装置(すなわち、アクティブなノード装置)として委任するようにそのルーティング情報を更新することができる。このような更新は、ブローカノード装置204上の既存のトピックに対する新たなトピック又はサブスクリプションの追加を含むことができる。
【0060】
別の実施形態では、第1のノード装置104を、ルーティング情報の更新に基づいてアクティブな又は動作中のノード装置として委任されるように構成することができる。例えば、第1のノード装置104は、自機をアクティブなノード装置として委任するようにそのルーティング情報を更新することができる。第1のノード装置104は、ブローカノード装置204上の1又は2以上のトピックにアクティブなノード装置として関連することができる。第1のノード装置104に関連するトピックがブローカノード装置204上で作成されない場合、ブローカノード装置204は、第1のノード装置104からの要求に基づいてトピックを作成することができる。
【0061】
別の実施形態では、第1のノード装置104を、ルーティング情報の更新に基づいて非アクティブな又は非動作中のノード装置として退任するように構成することができる。例えば、第1のノード装置104は、自機を非アクティブなノード装置として退任させるようにそのルーティング情報を更新することができる。第1のノード装置104は、ブローカノード装置204上の1又は2以上のトピックから自機を非アクティブなノード装置として関係解除することができる。いくつかの実施形態では、ブローカノード装置204が、あるトピックが第1のノード装置104のみに関連しており、一群のノード装置102のうちの他のいずれのノード装置にも関連していないとの判定に基づいて、そのトピックを削除することができる。
【0062】
304において、更新済みルーティング情報を中央ノード装置108に送信することができる。ある実施形態では、第1のノード装置104が、更新済みルーティング情報を中央ノード装置108に送信することができる。
【0063】
306において、更新済みルーティング情報を記録することができる。ある実施形態では、中央ノード装置108が、第1のノード装置104から更新済みルーティング情報を受け取り、この更新済みルーティング情報を第1のノード装置104に関連する新たなルーティング構成として中央ストレージリポジトリ110の中央ルーティング構成リポジトリ110Aに記録することができる。中央ルーティング構成リポジトリ110Aは、第1のノード装置104に関連する更新済みルーティング情報(すなわち、新たなルーティング構成情報)にリビジョン識別子(revision identifier)(ID)又は公開バージョンを関連付けることができる。
【0064】
308において、更新済みルーティング情報を一連の第2のノード装置106に送信することができる。ある実施形態では、中央ノード装置108が、更新済みルーティング情報と、更新済みルーティング情報に関連するリビジョンIDを含む情報とを一連の第2のノード装置106に送信することができる。
【0065】
例えば、第1のノード装置104が第1の発行者ノード装置202Aとして実装される場合、中央ノード装置108は、更新済みルーティング情報と、更新済みルーティング情報に関連するリビジョンIDを含む情報とを第1の加入者ノード装置206A、分散型台帳208の第1のノード208A及びブローカノード装置204の各々に送信することができる。同様に、第1のノード装置104が第1の加入者ノード装置206Aとして実装される場合、中央ノード装置108は、更新済みルーティング情報と、更新済みルーティング情報に関連するリビジョンIDを含む情報とを第1の発行者ノード装置202A、分散型台帳208の第1のノード208A及びブローカノード装置204の各々に送信することができる。
【0066】
ある実施形態では、中央ノード装置108と一連の第2のノード装置106の各々とによって共有されるリビジョンIDを、中央ノード装置108の中央ルーティング構成リポジトリ110Aにおける更新済みルーティング情報のリビジョンIDと同じものとすることができる。
【0067】
310において、更新済みルーティング情報の妥当性を確認することができる。一連の第2のノード装置106は、中央ノード装置108から更新済みルーティング情報を受け取り、受け取られた更新済みルーティング情報の妥当性を確認することができる。ある実施形態では、一連の第2のノード装置106の各ノード装置が、更新済みルーティング情報と、一群のノード装置102のブローカノード装置204上に記憶されているバージョンのルーティング情報との適応度についてソフトウェアベースのスモークテストを実行することができる。例えば、一連の第2のノード装置106の各ノード装置は、ブローカノード装置204上に記憶されているバージョンのルーティング情報と、一連の第2のノード装置106の各ノード装置上にローカルに記憶されているバージョンのルーティング情報とに基づいて、ソフトウェアベースのスモークテストの一部として更新済みルーティング情報のビルド検証テスト(build verification test)を実行することができる。ビルド検証テストは、更新済みルーティング情報が安定しているか否かを判定するために実行することができる。一連の第2のノード装置106は、実行されたソフトウェアベースのスモークテストに関連する一連の合格条件を更新済みルーティング情報が満たすとの判定に基づいて、更新済みルーティング情報の妥当性を確認することができる。例えば、一連の第2のノード装置106は、ビルド検証テストに基づいて、更新済みルーティング情報の新たな又は重要な機能、特徴及び/又は特性が正常に機能しているか否かを判定することができる。
【0068】
ある実施形態では、一連の第2のノード装置106の各々が、更新済みルーティング情報に対してヌルチェック及び/又はタイプチェックを実行して、更新済みルーティング情報の妥当性を判定することができる。例えば、一連の第2のノード装置106の各々は、更新済みルーティング情報がヌルであるかどうか、或いは更新済みルーティング情報が内部の様々なデータ要素又はフィールドに関連する有効なデータタイプを有しているかどうかをチェックすることができる。
【0069】
別の実施形態では、一連の第2のノード装置106の各々が、第1のノード装置104にサンプル要求を送信することに基づいてネットワーク接続性テストを実行することができる。例えば、一連の第2のノード装置106の各々は、ダミーペイロードを含むサンプルデータパケットを作成し、Packet InterNet Groper(PING)ネットワーク接続性テストを実行して、第1のノード装置104との接続性、及び第1のノード装置104からの確認応答パケットの受信に関連する応答時間を判定することができる。
【0070】
別の実施形態では、一連の第2のノード装置106が、(一連の第2のノード装置106上にローカルに記憶されたルーティング情報の現在のバージョンとすることができる)ルーティング情報の第1の公開バージョン、及び(一連の第2のノード装置106によって受け取られたルーティング情報の新たなバージョンとすることができる)更新済みルーティング情報の第2の公開バージョンを決定することができる。一連の第2のノード装置106は、決定された第2の公開バージョンが第1の公開バージョンに優先するとの判定に基づいて更新済みルーティング情報の妥当性を確認することができる。例えば、第1の公開バージョンと第2の公開バージョンとを比較し、この比較に基づいて、更新済みルーティング情報の公開バージョンの方がルーティング情報の公開バージョンに比べて最近に構築され公開されたバージョンであるかどうかを判定することができる。更新済みルーティング情報の公開バージョンの方が最近に構築され公開されたバージョンである場合、更新済みルーティング情報の妥当性を確認することができる。そうでなければ、更新済みルーティング情報を無効化し、無効な更新として却下することができる。
【0071】
310における妥当性確認に成功した場合、制御は312に移行した後に終了することができる。一方で310における妥当性確認に失敗した場合、制御は314に移行して322に進むことができる。
【0072】
312において、一連の第2のノード装置106が、更新済みルーティング情報をローカルに記録することができる。更新済みルーティング情報の妥当性確認に成功した場合、一連の第2のノード装置106の各ノード装置は、この更新済みルーティング情報を第1のノード装置104に関連する新規/最新のルーティング構成としてローカルに記録することができる。例えば、第1のノード装置104が鉄道駅の発券端末などの第1の発行者ノード装置202Aである場合、一連の第2のノード装置106は、ブローカノード装置204及び第1の加入者ノード装置206Aを含むことができる。第1の発行者ノード装置202Aに関連する更新済みルーティング情報の妥当性が確認された場合、ブローカノード装置204及び第1の加入者ノード装置206Aは、この更新済みルーティング情報を第1の発行者ノード装置202Aに関連する新規/最新のルーティング構成としてローカルに記録することができる。
【0073】
314において、更新済みルーティング情報の妥当性確認の失敗を示す応答を中央ノード装置108に送信することができる。更新済みルーティング情報の妥当性確認に失敗した場合、一連の第2のノード装置106の各ノード装置は、更新済みルーティング情報の妥当性確認の失敗を示すことができる応答を中央ノード装置108に送信することができる。
【0074】
316において、妥当性確認の失敗に関連する1又は2以上のエラーを特定することができる。このようなエラーは、妥当性確認の失敗の原因とすることができる。ある実施形態では、中央ノード装置108が、更新済みルーティング情報の妥当性確認の失敗に関連する1又は2以上のエラーを特定することができる。1つの例として、妥当性確認に関連するエラーは、更新済みルーティング情報の公開バージョンが一連の第2のノード装置106の各ノード装置上に記憶されているルーティング情報の公開バージョンに先行する場合に発生することがある。別の例として、妥当性確認に関連する別のエラーは、更新済みルーティング情報がブローカノード装置204上に存在しないトピック又はブローカノード装置204によって最近削除されたトピックを含む場合に発生することがある。
【0075】
318において、更新済みルーティング情報を補正する命令を第1のノード装置104に送信することができる。ある実施形態では、中央ノード装置108が、特定された1又は2以上のエラーに基づいて、更新済みルーティング情報を補正する命令を第1のノード装置104に送信することができる。例えば、これらの命令は、特定された1又は2以上のエラーに関連するエラー情報と、特定された1又は2以上のエラーの原因を緩和するための一連の推奨される解決策とを含むことができる。第1のノード装置104は、更新済みルーティング情報を補正する命令を受け取り、受け取られた命令を使用して、妥当性確認の失敗を招いた特定された1又は2以上のエラーを除去することができる。
【0076】
320において、中央ノード装置108上でルーティング情報を復元することができる。ある実施形態では、中央ノード装置108が、中央ストレージリポジトリ110の中央ルーティング構成リポジトリ110A内で第1のノード装置104に関連するルーティング情報を復元することができる。
【0077】
例えば、中央ノード装置108は、(306において受け取られ記録された)更新済みルーティング情報に基づいて、中央ストレージリポジトリ110の中央ルーティング構成リポジトリ110Aに適用できる変更を後進復帰する(roll-back)ことができる。その後、中央ノード装置108は、中央ルーティング構成リポジトリ110A内で、第1のノード装置104に関連する安定したバージョンのルーティング情報を復元することができる。ルーティング情報の復元バージョンは、以前に(すなわち、エラー状態の前に)中央ルーティング構成リポジトリ110A上に存在していたバージョンに対応することができる。復元されたルーティング情報に関連するバージョンIDは、310において妥当性確認に失敗した更新済みルーティング情報に関連するバージョンIDに先行することができる。
【0078】
322において、ルーティング情報をローカルに復元する命令を一連の第2のノード装置106に送信することができる。ある実施形態では、中央ノード装置108が、ルーティング情報をローカルに復元する命令を一連の第2のノード装置106に送信することができる。一連の第2のノード装置106の各ノード装置は、このような復元のために、更新済みルーティング情報に基づいて、(以前に記憶された)ルーティング情報に適用できる変更を後進復帰することができる。
【0079】
ある実施形態では、一連の第2のノード装置106のうちのいずれかが更新済みルーティング情報の妥当性確認の失敗を検出した場合、中央ノード装置108は、ルーティング情報の安定バージョンを復元する命令を一群のノード装置102に送信することができる。一群のノード装置102の各々は、これらの命令に基づいて、第1のノード装置104に関連する安定したバージョンのルーティング情報を復元することができる。
【0080】
別の実施形態では、一連の第2のノード装置106のノード装置106Aが更新済みルーティング情報の妥当性確認に成功し、一連の第2のノード装置106内のノード装置106B及び残りの全てのノード装置が更新済みルーティング情報の妥当性確認の失敗を検出することがある。このような場合には、部分的回復又は復元を実行することができる。例えば、中央ノード装置108は、更新済みルーティング情報をローカルに記録する命令をノード装置106Aに送信することができる。中央ノード装置108は、ノード装置106B及び残りの全てのノード装置に対しては、安定したバージョン(すなわち、エラー状態前)のルーティング情報を復元する別の命令を送信することができる。ノード装置106Aは、この命令に基づいて更新済みルーティング情報をローカルに記録することができる。同様に、ノード装置106B及び残りの全てのノード装置の各々は、この命令に基づいて安定したバージョン(すなわち、エラー状態前)のルーティング情報を復元することができる。制御は、終了に移行することができる。
【0081】
図4は、本開示の実施形態による、
図2の分散型台帳ベースのMaaSプラットフォームの例示的な実装のためのノード構成管理を示す図である。
図4の説明は、
図1、
図2及び
図3の要素に関連して行う。
図4には、
図2の分散型台帳ベースのMaaSプラットフォームの例示的な実装400を示す。例示的な実装400には、路面電車サービスプロバイダの第1の発行者ノード装置402A、路面電車サービスの第2の発行者ノード装置402B、地下鉄サービスプロバイダの第3の発行者ノード装置402C、路面電車サービスの第4の発行者ノード装置402D、及び地下鉄サービスの第5の発行者ノード装置402Eを示す。例示的な実装400には、ブローカノード装置204、路面電車サービスの第1の加入者ノード装置404A、及び地下鉄サービスの第2の加入者ノード装置404Bをさらに示す。発行者ノード装置402A~402Eの各々は、1又は2以上の通信ネットワークを介してブローカノード装置204に通信可能に結合することができる。ブローカノード装置204は、1又は2以上の通信ネットワークを介して加入者ノード装置404A及び404Bの各々に通信可能に結合することができる。路面電車サービスプロバイダは、マウンテンビュー(CA)などの第1の場所で第1の発行者ノード装置402Aを通じて発券サービスを提供することができる。さらに、路面電車サービスプロバイダは、パロアルト(CA)などの第2の場所で第2の発行者ノード装置402Bを通じて、及びサニーベール(CA)などの第3の場所で第4の発行者ノード装置402Dを通じて発券サービスを提供することができる。さらに、地下鉄サービスプロバイダは、第2の場所(すなわち、パロアルト、CA)で第3の発行者ノード装置402Cを通じて、第3の場所(すなわち、サニーベール、CA)で第5の発行者ノード装置402Eを通じて発券サービスを提供することができる。
【0082】
第1の加入者ノード装置404Aは、分散型台帳208の第1のノード208Aに関連することができ、第2の加入者ノード装置404Bは、分散型台帳208の第2のノード208Bに関連することができる。例示的な実装400には、中央ストレージリポジトリ110を含むことができる中央ノード装置108をさらに示す。中央ノード装置108は、発行者ノード装置402A~402Eを含むノード装置、ブローカノード装置204、並びに加入者ノード装置404A及び404Bに通信可能に結合することができる。例示的な実装400には、中央ノード装置108に通信可能に結合できるITシステム114をさらに示す。例示的な実装400には、ITシステム114を使用できるIT管理者116をさらに示す。
【0083】
図4の発行者ノード装置、加入者ノード装置及び分散型台帳208のノードの数は、一例として示すものにすぎない。本開示は、その範囲から逸脱することなく、これより多い又は少ない数の発行者ノード装置、加入者ノード装置及び分散型台帳208のノードにも適用可能とすることができる。
【0084】
路面電車サービスプロバイダの第1の発行者ノード装置402Aは、いずれかの時点で自機に関連するルーティング情報をローカルに更新することができる。このような更新は、ITシステム114が構成できる公開スケジュールに基づくことができる。例えば、ITシステム114は、IT管理者116が第1の発行者ノード装置402Aに関連するルーティング情報の更新の公開スケジュールを構成するためのユーザ入力を提供できるようにする表計算アプリケーションを含む。
【0085】
中央ノード装置108は、第1の発行者ノード装置402Aから更新済みルーティング情報を受け取り、これをブローカノード装置204、路面電車サービスの第1の加入者ノード装置404A及び分散型台帳208の第1のノード208Aに送信することができる。ブローカノード装置204、路面電車サービスの第1の加入者ノード装置404A及び第1のノード208Aの各々は、更新済みルーティング情報の妥当性を確認することができる。妥当性確認の詳細については、例えば
図3に示している。ブローカノード装置204、路面電車サービスの第1の加入者ノード装置404A及び分散型台帳208の第1のノード208Aの各々は、妥当性確認に基づいて更新済みルーティング情報をローカルに記録することができる。妥当性確認に失敗した場合には、妥当性確認の失敗に関連するエラーを特定し、ブローカノード装置204、路面電車サービスの第1の加入者ノード装置404A及び分散型台帳208の第1のノード208Aの各々について回復/復元を開始することができる。回復/復元の詳細については、例えば
図3に示している。
【0086】
図5は、本開示の実施形態による、
図1のシステムの例示的な第1のノード装置のブロック図である。
図5の説明は、
図1、
図2、
図3及び
図4の要素に関連して行う。
図5には、
図1の第1のノード装置104のブロック
図500を示す。第1のノード装置104は、回路502と、メモリ504と、入力/出力(I/O)装置506と、ネットワークインターフェイス508とを含む。
【0087】
回路502は、ネットワークインターフェイス508を使用して一連の第2のノード装置106及び中央ノード装置108と通信するように構成することができる。回路502は、第1のノード装置104によって実行されるべき動作のための命令を実行するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。回路502の実装例としては、中央処理装置(CPU)、x86ベースのプロセッサ、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィカルプロセッシングユニット(GPU)、コプロセッサ、その他のプロセッサ、及び/又はこれらの組み合わせを挙げることができる。
【0088】
メモリ504は、回路502が実行できる命令を記憶するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。メモリ504の実装例としては、以下に限定するわけではないが、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、ハードディスクドライブ(HDD)、及び/又はセキュアデジタル(SD)カードを挙げることができる。
【0089】
I/O装置506は、入力を受け取り、受け取られた入力に基づいて出力を提供するように構成できる好適なロジック、回路及び/又はインターフェイスを含むことができる。I/O装置506は、回路502と通信するように構成できる様々な入力及び出力装置を含むことができる。I/O装置506の例としては、以下に限定するわけではないが、タッチ画面、キーボード、マウス、ジョイスティック、ディスプレイ装置、マイク、又はスピーカを挙げることができる。
【0090】
ネットワークインターフェイス508は、1又は2以上の通信ネットワーク(図示せず)を介して第1のノード装置104、一連の第2のノード装置106及び中央ノード装置108間の通信を可能にするように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。ネットワークインターフェイス508は、1又は2以上の通信ネットワークとの有線又は無線通信をサポートする既知の技術を実装することができる。
【0091】
ネットワークインターフェイス508は、以下に限定するわけではないが、アンテナ、周波数変調(FM)トランシーバ、無線周波数(RF)トランシーバ、1又は2以上の増幅器、チューナ、1又は2以上の発振器、デジタルシグナルプロセッサ、コーダ-デコーダ(CODEC)チップセット、加入者識別モジュール(SIM)カード、及び/又はローカルバッファを含むことができる。ネットワークインターフェイス508は、インターネット、イントラネットなどのネットワーク、及び/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)、及び/又はメトロポリタンエリアネットワーク(MAN)などの無線ネットワークと無線通信を介して通信することができる。無線通信は、ロングタームエボリューション(LTE)、グローバルシステムフォーモバイルコミュニケーション(GSM)、拡張データGSM環境(EDGE)、広帯域符号分割多元接続(W-CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth、ワイヤレスフィディリティ(Wi-Fi)(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、及び/又はIEEE 802.11n)、ボイスオーバーインターネットプロトコル(VoIP)、Wi-MAX、電子メール用プロトコル、インスタントメッセージング及び/又はショートメッセージサービス(SMS)などの複数の通信規格、プロトコル及び技術のうちのいずれかを使用することができる。
【0092】
図1、
図2、
図3及び8図で説明するような第1のノード装置104によって実行される機能又は動作は、回路502によって実行することができる。回路502によって実行される動作については、例えば
図1、
図3及び
図8で詳細に説明している。
【0093】
図6は、本開示の実施形態による、
図1のシステムの例示的な中央ノード装置のブロック図である。
図6の説明は、
図1、
図2、
図3、
図4及び
図5の要素に関連して行う。
図6には、中央ノード装置108のブロック
図600を示す。中央ノード装置108は、回路602と、メモリ604と、I/O装置606と、ネットワークインターフェイス608とを含む。
【0094】
回路602は、ネットワークインターフェイス608を使用して第1のノード装置104及び一連の第2のノード装置106と通信するように構成することができる。回路602は、中央ノード装置108によって実行されるべき動作のための命令を実行するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。回路602の実装例としては、CPU、x86ベースのプロセッサ、RISCプロセッサ、ASICプロセッサ、CISCプロセッサ、GPU、コプロセッサ、又はこれらの組み合わせを挙げることができる。
【0095】
メモリ604は、回路602が実行できる命令を記憶するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。メモリ604は、ルーティング情報、又は第1のノード装置104に関連する更新済みルーティング情報を記憶することができる中央ストレージリポジトリ110を含むことができる。メモリ604の実装例としては、以下に限定するわけではないが、RAM、ROM、HDD、固体素子(SSD)又はSDカードを含むことができる。
【0096】
I/O装置606は、入力を受け取り、受け取られた入力に基づいて出力を提供するように構成できる好適なロジック、回路及び/又はインターフェイスを含むことができる。I/O装置606は、回路602と通信するように構成できる様々な入力及び出力装置を含むことができる。I/O装置606の例としては、以下に限定するわけではないが、タッチ画面、キーボード、マウス、ジョイスティック、ディスプレイ装置、マイク及びスピーカを挙げることができる。
【0097】
ネットワークインターフェイス608は、中央ノード装置108が通信ネットワーク112を介して第1のノード装置104及び一連の第2のノード装置106と通信することを可能にするように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。ネットワークインターフェイス608は、通信ネットワーク112などの1又は2以上の通信ネットワークとの有線又は無線通信をサポートする既知の技術を実装することができる。ネットワークインターフェイス608の機能は、例えば
図5で説明したようなネットワークインターフェイス508の機能と同じものとすることができる。従って本開示では、簡潔にするためにネットワークインターフェイス608の説明については省略する。
【0098】
図1、
図3及び
図8で説明するような中央ノード装置108によって実行される機能又は動作は、回路602によって実行することができる。回路602によって実行される動作については、例えば
図1、
図3及び
図8で詳細に説明している。
【0099】
図7は、本開示の実施形態による、
図1のシステムの一連の第2のノード装置の例示的なノード装置のブロック図である。
図7の説明は、
図1、
図2、
図3、
図4、
図5及び
図6の要素に関連して行う。
図7には、ノード装置106Aのブロック
図700を示す。ノード装置106Aは、回路702と、メモリ704と、I/O装置706と、ネットワークインターフェイス708とを含む。
【0100】
回路702は、ネットワークインターフェイス708を使用して第1のノード装置104及び中央ノード装置108と通信するように構成することができる。回路702は、ノード装置106Aによって実行されるべき動作のための命令を実行するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。回路702の実装例としては、CPU、x86ベースのプロセッサ、RISCプロセッサ、ASICプロセッサ、CISCプロセッサ、GPU、コプロセッサ、又はこれらの組み合わせを挙げることができる。
【0101】
メモリ704は、回路702が実行できる命令を記憶するように構成できる好適なロジック、回路、コード及び/又はインターフェイスを含むことができる。メモリ704の実装例としては、以下に限定するわけではないが、RAM、ROM、HDD及び/又はSDカードを挙げることができる。
【0102】
I/O装置706は、入力を受け取り、受け取られた入力に基づいて出力を提供するように構成できる好適なロジック、回路及び/又はインターフェイスを含むことができる。I/O装置706は、回路702と通信するように構成できる様々な入力及び出力装置を含むことができる。I/O装置706の例としては、以下に限定するわけではないが、タッチ画面、キーボード、マウス、ジョイスティック、ディスプレイ装置、マイク及びスピーカを挙げることができる。
【0103】
ネットワークインターフェイス708は、ノード装置106が第1のノード装置104、中央ノード装置108、又はシステム100の他の装置/ネットワークと通信することを可能にするように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。ネットワークインターフェイス708は、通信ネットワークを介した有線又は無線通信をサポートする既知の技術を実装することができる。ネットワークインターフェイス708の機能は、例えば
図5で説明したようなネットワークインターフェイス508の機能と同じものとすることができる。従って本開示では、簡潔にするためにネットワークインターフェイス708の説明については省略する。
【0104】
図1、
図3及び
図8で説明するようなノード装置106Aによって実行される機能又は動作は、回路702によって実行することができる。回路702によって実行される動作については、例えば
図1、
図3及び
図8で詳細に説明している。
【0105】
図8は、本開示の実施形態による、MaaSプラットフォームのノード構成の管理のための例示的な方法を示すフローチャートである。
図8の説明は、
図1、
図2、
図3、
図4、
図5、
図6及び
図7の要素に関連して行う。
図8にはフローチャート800を示す。フローチャート800の例示的な方法は、例えば
図1のシステム100又は
図2のシステム200などのいずれかのコンピュータシステムによって実行することができる。フローチャート800の例示的な方法は、802から開始して804に進むことができる。
【0106】
804において、第1のノード装置104に関連するルーティング情報をローカルに更新することができる。ある実施形態では、第1のノード装置104を、第1のノード装置104に関連するルーティング情報をローカルに更新して、更新済みルーティング情報をメモリ404に記憶するように構成することができる。従って、ITシステム114は、IT管理者116からユーザ入力を受け取ることができる。ユーザ入力は、第1のノード装置104に関連するルーティング情報の更新の公開スケジュールに関連することができる。例えば、ITシステム114は、IT管理者116が第1のノード装置104に関連するルーティング情報の更新の公開スケジュールを設定するためのユーザ入力を提供できるようにする表計算アプリケーションを含むことができる。ITシステム114は、設定された公開スケジュールを中央ノード装置108内の中央ストレージリポジトリ110の中央ルーティング構成リポジトリ110Aに記憶することができる。
【0107】
中央ノード装置108は、ルーティング情報の更新のために、設定された公開スケジュールを第1のノード装置104に送信することができる。第1のノード装置104は、設定された公開スケジュールを受け取ってローカルに記憶することができる。その後、第1のノード装置104は、公開スケジュールに基づいてルーティング情報をローカルに更新することができる。別の実施形態では、第1のノード装置104が、公開スケジュールを伴わずに第1のノード装置104に関連するルーティング情報をローカルに更新することができる。第1のノード装置104は、第1のノード装置104に関連する更新済みルーティング情報を中央ノード装置108に送信するように構成することができる。ルーティング情報の更新については、例えば
図3及び
図4でさらに説明している。
【0108】
806において、第1のノード装置104から更新済みルーティング情報を受け取ることができる。ある実施形態では、中央ノード装置108を、第1のノード装置104から第1のノード装置104に関連する更新済みルーティング情報を受け取るように構成することができる。
【0109】
808において、更新済みルーティング情報を、第1のノード装置104に関連する新たなルーティング構成として中央ストレージリポジトリ110の中央ルーティング構成リポジトリ110Aに記録することができる。ある実施形態では、中央ノード装置108を、第1のノード装置104に関連する更新済みルーティング情報を新たなルーティング構成として中央ノード装置108の中央ストレージリポジトリ110に記録するように構成することができる。
【0110】
810において、更新済みルーティング情報を一群のノード装置102の一連の第2のノード装置106に送信することができる。ある実施形態では、中央ノード装置108を、更新済みルーティング情報を一連の第2のノード装置106に送信するように構成することができる。
【0111】
812において、中央ノード装置108から更新済みルーティング情報を受け取ることができる。ある実施形態では、一連の第2のノード装置106を、中央ノード装置108から更新済みルーティング情報を受け取るように構成することができる。
【0112】
814において、一連の第2のノード装置106の各ノード装置が更新済みルーティング情報の妥当性を確認することができる。ある実施形態では、一連の第2のノード装置106の各ノード装置(例えば、ノード装置106A)を、更新済みルーティング情報の妥当性を確認するように構成することができる。更新済みルーティング情報の妥当性確認については、例えば
図3でさらに説明している。
【0113】
816において、一連の第2のノード装置106の各ノード装置が、更新済みルーティング情報の妥当性確認に基づいて更新済みルーティング情報をローカルに記録することができる。ある実施形態では、一連の第2のノード装置106の各ノード装置(例えば、ノード装置106A)を、更新済みルーティング情報の妥当性確認に基づいて更新済みルーティング情報を(ノード装置106Aなどの)それぞれのノード装置のメモリにローカルに、又は通信可能に結合された記憶装置に記録するように構成することができる。制御は終了に移行することができる。
【0114】
フローチャート800を804、806、808、810、812、814及び816などの個々の動作として説明したが、本開示はこのように限定されるものではない。従って、いくつかの実施形態では、開示する実施形態の本質を損なうことなく、このような個別の動作を特定の実装に応じてさらなる動作にさらに分割し、より少ない動作に組み合わせ、又は削除することができる。
【0115】
本開示の例示的な態様は、(一群のノード装置102などの)一群のノード装置と、(中央ノード装置108などの)中央ノード装置とを含むことができるシステムを含むことができる。一群のノード装置102は、第1のノード装置に関連するルーティング情報をローカルに更新するように構成できる(第1のノード装置104などの)第1のノード装置を含むことができる。一群のノード装置102は、パブリッシュ-サブスクライブパターンに関連することができる。ルーティング情報は、第1のノード装置104との間でトランザクション要求を伝搬するためのルーティングルールを含むことができる。さらに、一群のノード装置102は、(一連の第2のノード装置106などの)一連の第2のノード装置を含むことができる。中央ノード装置108は、(中央ルーティング構成リポジトリ110Aなどの)中央ルーティング構成リポジトリを含むことができる。中央ノード装置108は、第1のノード装置104から更新済みルーティング情報を受け取り、この更新済みルーティング情報を第1のノード装置104に関連する新たなルーティング構成として中央ルーティング構成リポジトリ110Aに記録するように構成することができる。さらに、中央ノード装置108は、この記録に基づいて更新済みルーティング情報を一群のノード装置102の一連の第2のノード装置106に送信するように構成することができる。一連の第2のノード装置106は、中央ノード装置108から更新済みルーティング情報を受け取って、更新済みルーティング情報の妥当性を確認するように構成することができる。一連の第2のノード装置106は、妥当性確認に基づいて更新済みルーティング情報をローカルに記録するようにさらに構成することができる。
【0116】
ある実施形態では、一群のノード装置102が、(第1の発行者ノード装置202Aなどの)発行者ノード装置と、(第1の発行者ノード装置202Aなどの)加入者ノード装置と、(ブローカノード装置204などの)ブローカノード装置とを含むことができる。第1のノード装置104が加入者ノード装置に対応する場合、一連の第2のノード装置106は、発行者ノード装置及びブローカノード装置を含むことができる。第1のノード装置104が発行者ノード装置に対応する場合、一連の第2のノード装置106は、加入者ノード装置及びブローカノード装置を含むことができる。さらに、第1のノード装置104がブローカノード装置に対応する場合、一連の第2のノード装置106は、発行者ノード装置及び加入者ノード装置を含むことができる。
【0117】
ある実施形態では、第1のノード装置104を、更新の公開スケジュールに基づいてルーティング情報を更新するように構成することができる。ある実施形態では、一連の第2のノード装置106の各ノード装置(例えば、ノード装置106A)を、更新済みルーティング情報と、一群のノード装置102のブローカノード装置上に記憶されているバージョンのルーティング情報との適応度についてソフトウェアベースのスモークテストを実行するように構成することができる。一連の第2のノード装置106の各ノード装置は、実行されたソフトウェアベースのスモークテストに関連する一連の合格条件を更新済みルーティング情報が満たすとの判定に基づいて、更新済みルーティング情報の妥当性を確認するようにさらに構成することができる。別の実施形態では、一連の第2のノード装置106の各ノード装置を、ルーティング情報の第1の公開バージョンを決定し、更新済みルーティング情報の第2の公開バージョンを決定するように構成することができる。一連の第2のノード装置106の各ノード装置は、決定された第2の公開バージョンが第1の公開バージョンに優先するとの判定に基づいて更新済みルーティング情報の妥当性を確認するようにさらに構成することができる。
【0118】
ある実施形態では、中央ノード装置108を、一連の第2のノード装置106から更新済みルーティング情報の妥当性確認の失敗を示す応答を受け取るように構成することができる。ある実施形態では、中央ノード装置108を、妥当性確認の失敗に関連する1又は2以上のエラーを特定し、特定された1又は2以上のエラーに基づいて更新済みルーティング情報を補正するように第1のノード装置104に命令するよう構成することができる。ある実施形態では、中央ノード装置108を、受け取られた応答に基づいて中央ルーティング構成リポジトリ110A内でルーティング情報を復元するように構成することができる。中央ノード装置108は、一連の第2のノード装置106の各々にルーティング情報をローカルに復元するように命令するようさらに構成することができる。
【0119】
ある実施形態では、ルーティング情報の更新が、一群のノード装置102のブローカノード装置上で新たな輸送サービスとして第1のトピックを追加すること、又はブローカノード装置からの既存の輸送サービスとして第2のトピックを削除することの一方又は両方に対応することができる。ルーティング情報の更新は、ブローカノード装置上の既存のトピックに対する第1のサブスクリプションの追加、又はブローカノード装置上の既存のトピックに対する第1のサブスクリプションの削除にさらに対応することができる。また、ルーティング情報の更新は、ブローカノード装置上の既存のトピックに対する以前に非アクティブ化されたサブスクリプションの再アクティブ化、又はブローカノード装置上の既存のトピックに対する現在アクティブなサブスクリプションの非アクティブ化に対応することができる。
【0120】
ある実施形態では、第1のノード装置104を、ルーティング情報の更新に基づいて、一群のノード装置102のブローカノード装置上の1又は2以上のトピックに関連することができるアクティブノードとして委任されるように構成することができる。別の実施形態では、第1のノード装置104を、ルーティング情報の更新に基づいて非アクティブノードとして退任するように構成することができる。
【0121】
本開示は、ハードウェアで実現することも、又はハードウェアとソフトウェアとの組み合わせで実現することもできる。本開示は、少なくとも1つのコンピュータシステム内で集中方式で実現することも、又は異なる要素を複数の相互接続されたコンピュータシステムにわたって分散できる分散方式で実現することもできる。本明細書で説明した方法を実行するように適合されたコンピュータシステム又はその他の装置が適することができる。ハードウェアとソフトウェアとの組み合わせは、ロードされて実行された時に本明細書で説明した方法を実行するようにコンピュータシステムを制御することができるコンピュータプログラムを含む汎用コンピュータシステムとすることができる。本開示は、他の機能も実行する集積回路の一部を含むハードウェアで実現することができる。
【0122】
本開示は、本明細書で説明した方法の実装を可能にする全ての特徴を含み、コンピュータシステムにロードされた時にこれらの方法を実行できるコンピュータプログラム製品に組み込むこともできる。本文脈におけるコンピュータプログラムとは、情報処理能力を有するシステムに特定の機能を直接的に、或いはa)別の言語、コード又は表記法への変換、b)異なる内容形態での複製、のいずれか又は両方を行った後に実行させるように意図された命令セットの、あらゆる言語、コード又は表記法におけるあらゆる表現を意味する。
【0123】
いくつかの実施形態を参照しながら本開示を説明したが、当業者であれば、本開示の範囲から逸脱することなく様々な変更を行うことができ、同等物を代用することもできると理解するであろう。また、本開示の範囲から逸脱することなく、特定の状況又は内容を本開示の教示に適合させるように多くの修正を行うこともできる。従って、本開示は、開示した特定の実施形態に限定されるものではなく、添付の特許請求の範囲内に収まる全ての実施形態を含むように意図される。
【符号の説明】
【0124】
802 開始
804 第1のノード装置に関連するルーティング情報をローカルに更新
806 第1のノード装置から更新済みルーティング情報を受信
808 更新済みルーティング情報を第1のノード装置に関連する新たなルーティング構成として中央ルーティング構成リポジトリに記録
810 更新済みルーティング情報を一群のノード装置のうちの1又は2以上の第2のノード装置に送信
812 中央ノード装置から更新済みルーティング情報を受信
814 更新済みルーティング情報の妥当性を確認
816 妥当性確認に基づいて更新済みルーティング情報をローカルに記録
【国際調査報告】