IBM Developer Japan Webサイトは2021年3月15日をもって終了となり、日本語コンテンツの一部は、オープンソースとして、提供予定です。 URLはこちら

IBM Developer Blog

IBM Developer サイトで最新の出来事をフォローし、情報を入手しましょう。

このハッカソン応募作品は、世界的パンデミックの最前線に立つ医療従事者をサポートするよう意図されたものです。


今年の 4 月、世界中の創造力豊かな技術者たちがオンライン上で結集し、CodeTheCurve にチャレンジしました。国際連合教育科学文化機関 (UNESCO) が IBM および SAP と共同で開催した 5 日間にわたるこのバーチャル・ハッカソンで、参加者たちは世界的規模のパンデミックに対処するデジタル・ソリューションの作成を目指しました。

私たちのチームが焦点とした目標は、医療従事者への個人用保護具 (PPE) の供給不足を防止するために、PPE サプライ・チェーンを効率化することです。世界中にパンデミックが広がっている今、医療機器の供給はこれまで以上に重要性を増しています。中でも医療従事者用の PPE を十分に供給することは極めて重要ですが、至るところで PPE の不足が深刻な問題になっています。この問題に対処するために私たちが提案したソリューションが、ブロックチェーン・ベースのサプライ・チェーンです。ブロックチェーン・テクノロジーによって保健省、病院、生産業者、銀行をつなげれば、供給プロセスの時間を短縮して信頼性を向上させることができます。それとともに、供給状況を追跡して情報を報告するのも容易になります。

図 1. ハッカソン・チーム

ハッカソン・チームのメンバーの写真: Mehmet Alp Sümer、Simge Helvaci、Ertugrul Batur、Mustafa Mert Askaroglu

このハッカソンは次の 3 つのテーマを中心に編成されていました。

  • 継続的学習の定着
  • データ管理と情報
  • 現在と未来 — 社会問題と健康問題

私たちが競技対象のテーマとして選んだのは、データ管理と情報です。

問題の定義

COVID-19 の流行により、PPE を十分に供給することがこれまでになく重要になってきています。供給不足に陥ると、この戦いの最前線に立つ医療従事者がウィルスに感染する高いリスクにさらされることになるからです。けれども一般市民からの PPE の需要が圧倒的に急増したことにより、供給への負担はますます悪化し、最も大きなリスクにさらされている医療スタッフに配布するための基本的な PPE が不足しています。医療従事者を守れないとしたら、私たちは誰に守ってもらえるのでしょうか?

ソリューション案

具体的には、私たちは PPE サプライ・チェーンの以下の 3 つの側面に注目しました。

  • PPE の在庫を確保すること
  • 病院での PPE の需要を判断すること
  • PPE を出荷すること

私たちが目標としたのは、より体系的で透明性のあるサプライ・チェーン環境を構築することによって、上記の各プロセスを加速することです。そこで提案したソリューションが、ブロックチェーン・ベースの PPE サプライ・チェーン・ネットワークです。ブロックチェーン・テクノロジーでは分散型レジャーを使用できるので、サード・パーティー組織からの情報がなくても、互いを信頼できる環境を構築できます。病院、保健省、生産業者、銀行が参加するブロックチェーン・ネットワークを構築すれば、情報の共有が加速されるとともに、透明性も確保されます。このシステムを使用してサプライ・チェーンの各ステップをサポートする仕組みを紹介しましょう。

サプライ・チェーンの最初のステップは、PPE の在庫を明らかにすることです。このステップは、分散型レジャーを使用して仲介業者を排除することで効率化できます。また、ブロックチェーン・ネットワークに参加する生産業者はすべて、それぞれの在庫状況を共有できます。つまり、保健省と病院がシステム上で PPE 生産業者の現在の在庫状況を表示できるということです。このような仕組みであれば、組織間で情報を交換する時間を大幅に削減できます。

さらに、保健省は病院での PPE の需要を簡単にモニタリングすることができます。したがって、保健省が PPE 購入業務を体系化して効率性と有効性を高めることもできます。さらに、病院と保健省の間での情報交換の時間も削減されます。

その上、ネットワーク参加者は購入業務と在庫の配送のすべてをモニタリングできます。病院と保健省も PPE の配送状況を簡単に追跡できるため、透明性のある供給環境を実現できます。

ミドルウェア

ブロックチェーンのクエリーを高速化するために、ミドルウェア Web バックエンドを作成しました。基本のデータ・ソースはブロックチェーンですが、このミドルウェアもデータの一部を保管します。組織とユーザーの詳細に加え、ブロックチェーンの資産 ID もリレーショナルな形で保管します。このようにすると、特定の病院からのリクエストといった特定のクエリーを実行しやすくなります。ミドルウェアがその特定の病院の資産 ID と関連付けて、その病院からのリクエストの資産 ID を保管できるためです。つまり、クライアントがリクエストを送信すると、ミドルウェア内でブロックチェーン・リクエストが処理されて、ミドルウェアから集約された状態のデータがユーザーに送信されるという仕組みです。この仕組みでは、クライアントが最新の、最も信頼できるデータをブロックチェーン・データベースから受信することができます。

ミドルウェアのエンドポイントは Django Python フレームワークと PostgreSQL データベースを使用して稼働します。認証も Django フレームワークによって処理されます。

クライアント・アプリケーション

クライアント・アプリケーションは、組織のタイプごとに個別のダッシュボードを備えた Web アプリです。クライアントはブロックチェーン・ネットワークに直接アクセスするのではなく、ミドルウェアを介してアクセスします。ユーザーが使用できる機能は、ユーザーの組織に付与された権限に応じて制限されます。

クライアント・アプリは Vue ライブラリーと CoreUI コンポーネントを組み合わせて作成されています。

図 2. アプリケーションのフロー

アプリケーションのフローを示す図

インフラストラクチャー

パンデミック下で PPE を供給するという、要求の厳しいサプライ・チェーンを持続させるために、堅牢かつセキュアで可用性の高いインフラストラクチャーを実装する必要がありました。私たちがこのソリューションで使用するのに有力な候補として判断したのは、IBM LinuxONE です。ブロックチェーン・テクノロジーを使用するには、大量のトランザクションにも対応できるかなりの処理能力と、強力な暗号化およびハッシュ・アルゴリズムが必要となります。LinuxONE は、これらの要件を満たすのに最も優れたシステムとして登場しました。LinuxONE は Linux 専用に設計された IBM Z システムの 1 つであり、IBM Z は長年にわたってハードウェアの革新が重ねられた信頼性の高いシステムなので、LinuxONE であればサプライ・チェーンのパフォーマンスと可用性の需要を満たせるはずだと考えたのです。

ブロックチェーンはデータの保管にかけて非常にセキュアなテクノロジーであり、不変性と機密性を確保します。ただし、ブロックチェーン・ネットワークをサイバー攻撃から保護できなければ、データのセキュリティーが侵害される可能性もあります。この点に関しては、LinuxONE には Pervasive Encryption というテクノロジーが組み込まれています。このテクノロジーを使用すれば、LinuxONE 上のデータを転送時にも保管時にも暗号化できるため、ブロックチェーン・ネットワークをサイバー攻撃から保護できます。LinuxONE には、ハードウェア・アクセラレーション対応の暗号化動作をサポートする、Crypto Express アダプターも組み込まれています。Crypto Express アダプターは、ブロックチェーン・ネットワークの暗号鍵を保護するハードウェア・セキュリティー・モジュール (HSM) としての機能も果たします。これらの暗号鍵を保護することは決定的に重要です。暗号鍵がキャプチャーされた場合、ブロックチェーン・ネットワークで暗号漏えいが発生する可能性が最も高くなるからです。

使用ケース

図 3 は、サンプル・ブロックチェーン・ネットワーク内でのさまざまな組織のやりとりを示しています。この図に示されているネットワーク参加者の PPE 生産業者、保健省、病院、銀行のすべては Hyperledger Blockchain でリンクされ、REST API を使用してブロックチェーンを操作します。銀行もネットワーク参加者になっていますが、PPE 生産業者と保健省の間での送金はブロックチェーン・ネットワーク外部で行われます。銀行はトランザクションの受領書を送信するだけです。この図に示されているやりとりのすべてがブロックチェーン・ネットワーク内に記録されて、参加者全員が組織間の各やりとりを表示して追跡できるようになっています。

図 3. サンプル・ブロックチェーン・ネットワーク内での組織間のやりとり

組織間のやりとりを示す図

  1. 生産業者の PPE 在庫が更新されます。
  2. 病院での PPE の需要が更新されます。
  3. 保健省が PPE 公開買い付けを告知するか、生産業者に直接申し出ます。
  4. 生産業者が公開買い付けを表示します。
  5. 生産業者が公開買い付けに対応します。
  6. 生産業者が直接の申し出を受け入れます。
  7. 保健省が公開買い付けのいずれかを承諾します。
  8. 参加者全員が生産業者と保健省との間の取引を表示します。
  9. 銀行が購入品に対して領収書を送信します。
  10. 生産業者が PPE の配送状況を更新します。
  11. 病院が配送された PPE を受領します。

ハッカソン成功!

私たちのチームはハッカソン準決勝出場チームに選ばれました!このイベントに参加できたことを非常にありがたく思います。要求されている以上のかなりの時間を注ぎ込んだことで、タイムリーにベンチマークに到達することができました。私たちの努力の結晶が準決勝進出にまで至ったことを喜んでいます!

図 4. CodeTheCurve 準決勝進出チーム

CodeTheCurve 準決勝進出チーム

このようなイベントは、医療従事者用の PPE 供給不足といった問題に対する認識を高めるのに効果的な方法の 1 つです。このイベントのおかげで、私たちも命を救ってくれる人々をサポートし、力づけるためのソリューションを作成することになったのです。

イベント全体を通して、私たちはさまざまな感情を覚えました。喜び、不安、疲労感、焦燥感、意欲、情熱、悟りなどです。CodeTheCurve はまさに、チーム全体にやりがいのある経験をさせてくれました。皆さんもぜひ、ハッカソンを見つけて参加登録してください。参加して良かったと思うはずです!

世界全体が COVID-19 と戦う中、私たちは前例のない時代を生きています。このパンデミックを克服するためには、私たちすべてが全力で取り組む必要があります。もし皆さんがこの戦いで役に立ちたいと場合や、ブロックチェーンのスキルを磨きたい場合には、以下のリソースを参考にしてください。

謝辞

UNESCO、SAP、IBM Z チーム、UN EQUALS、iHackOnline、AngelHack、Internet Society、そしてその他のコラボレーター、メンター、審査員、スポンサー全員に感謝の言葉を贈ります。