JP7458321B2 - 制御方法、制御システム及び第1サーバ - Google Patents

制御方法、制御システム及び第1サーバ Download PDF

Info

Publication number
JP7458321B2
JP7458321B2 JP2020553337A JP2020553337A JP7458321B2 JP 7458321 B2 JP7458321 B2 JP 7458321B2 JP 2020553337 A JP2020553337 A JP 2020553337A JP 2020553337 A JP2020553337 A JP 2020553337A JP 7458321 B2 JP7458321 B2 JP 7458321B2
Authority
JP
Japan
Prior art keywords
transaction data
iot device
unit
servers
server
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
JP2020553337A
Other languages
English (en)
Other versions
JPWO2020080522A1 (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.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of JPWO2020080522A1 publication Critical patent/JPWO2020080522A1/ja
Application granted granted Critical
Publication of JP7458321B2 publication Critical patent/JP7458321B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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
    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25011Domotique, I-O bus, home automation, building automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Automation & Control Theory (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、制御方法、制御システム、第1サーバ、及び、データ構造に関する。
例えば宅配ボックスを構成するユニットの開錠(解錠)又は施錠である開施錠を、ブロックチェーンを用いて管理する技術が開示されている(非特許文献1参照)。宅配ボックスを構成するユニットの開施錠の管理には、ブロックチェーンを用いたスマートコントラクトが用いられ得る。
GMOインターネット株式会社、"GMOインターネットグループ、セゾン情報システムズ、パルコが共同でブロックチェーンとIoTを活用した実証実験の第二弾を実施"、[online]、平成29年6月21日、[平成30年10月25日検索]、インターネット<URL:https://cloud.z.com/jp/news-ep/IoT2/>
しかしながら、配送業者が宅配ボックスに荷物を配送する場合、当該宅配ボックスを構成する1以上のユニットの利用権を購入した後に当該ユニットが実在する現地に移動する。このため、配送業者が、現地に到着後、当該ユニットを利用するために開錠しようとしても当該ユニットが故障していて動作しないような場合も発生し得る。
換言すると、宅配ボックスなどのIoT(Internet of Things)デバイスは、利用権を購入する地点と、現実に利用する地点であるIoTデバイスがある地点とが離れている。さらに、ブロックチェーンの分散台帳は、複数の台帳を物理的に異なった拠点に設置されるので、ある地点に災害等が発生しても影響を受けずに動作するという特徴がある。一方で、宅配ボックスなどのIoTデバイスは、自身が動作すべき場合に、災害、老朽化などにより故障等が発生して利用できないケースもある。このため、あるIoTデバイスに対して、システム上で利用権を購入できるとしても、実際には故障している場合があり、現地では当該IoTデバイスを利用できないという場合も発生し得る。
このような場合、現地において利用可能なIoTデバイスを探索し、利用権を購入し直したり、現地に利用可能な他のIoTデバイスがなければ利用可能なIoTデバイスがある場所まで改めて移動したりしなければならない。そして、このような場合、故障しているIoTデバイスまでの移動が無駄になり、移動等の手間が余計にかかるだけでなく移動に費やした時間とエネルギーとが無駄になる。
本開示は、上述の事情を鑑みてなされたもので、分散台帳を用いて、時間コストとエネルギーコストとをより低減することができる制御方法などを提供する。
上記課題を解決するために、本開示の一形態に係る制御方法は、1以上のIoT(Internet of Things)デバイスと、前記1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備えるシステムにおける、前記複数のサーバのうちの第1サーバによって実行される制御方法であって、前記1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、前記一のIoTデバイスが前記故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、前記一のIoTデバイスから取得し、取得した前記第1のトランザクションデータを、前記複数のサーバのうちの前記第1サーバとは異なる複数の第2サーバに転送し、前記複数の第2サーバとともに、前記第1のトランザクションデータの正当性について合意するための第1のコンセンサスアルゴリズムを実行し、前記第1のコンセンサスアルゴリズムによって前記第1のトランザクションデータの正当性が検証された場合、前記第1のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本開示の制御方法等によれば、分散台帳を用いて、時間コストとエネルギーコストとをより低減することができる。
図1は、実施の形態における制御システムの構成を模式的に示すブロック図である。 図2は、図1に示すサーバの全体構成の一例を模式的に示す図である。 図3は、実施の形態におけるサーバの機能構成を示すブロック図である。 図4は、ブロックチェーンのデータ構造を示す説明図である。 図5は、トランザクションデータのデータ構造を示す説明図である。 図6は、実施の形態におけるスマートコントラクト部の機能構成を示すブロック図である。 図7は、実施の形態におけるIoTデバイス管理部の機能構成を示すブロック図である。 図8は、実施の形態におけるユーザ要求処理部の機能構成を示すブロック図である。 図9は、実施の形態における制御システムが実行する制御方法を示すフローチャートである。 図10は、実施の形態におけるIoTデバイスの制御が不要な場合のユーザ要求の処理を示すシーケンス図である。 図11Aは、図10に示すユーザ要求の処理が行われる際に用いられるトランザクションデータのデータ構造の一例を示す図である。 図11Bは、図10に示すユーザ要求の処理が行われる際に用いられるOK通知のデータ構造の一例を示す図である。 図11Cは、図10に示すユーザ要求の処理が行われる際に用いられるトランザクションデータのデータ構造の一例を示す図である。 図12は、実施の形態におけるIoTデバイスの制御が必要な場合のユーザ要求の処理を示すシーケンス図である。 図13Aは、図12に示すユーザ要求の処理が行われる際に用いられるOK通知のデータ構造の一例を示す図である。 図13Bは、図12に示すユーザ要求の処理が行われる際に用いられるトランザクションデータのデータ構造の一例を示す図である。 図13Cは、図12に示すユーザ要求の処理が行われる際に用いられるトランザクションデータのデータ構造の一例を示す図である。 図14は、実施の形態におけるIoTデバイスが故障を検知した際の故障検知処理を示すシーケンス図である。 図15は、図14に示す故障検知処理が行われる際に用いられるトランザクションデータのデータ構造の一例を示す図である。 図16Aは、実施の形態におけるスマートコントラクト部により管理される状態情報を示す図である。 図16Bは、実施の形態におけるスマートコントラクト部により管理される状態情報を示す図である。 図17は、実施の形態におけるIoTデバイスの制御が不要な場合のユーザ要求の処理の別の例を示すシーケンス図である。 図18は、図17に示すユーザ要求の処理が行われる際に用いられるNG通知のデータ構造の一例を示す図である。 図19は、比較例における問題を模式的に示す図である。 図20は、本開示における効果を模式的に示す図である。
本開示の一形態に係る制御方法は、1以上のIoT(Internet of Things)デバイスと、前記1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備えるシステムにおける、前記複数のサーバのうちの第1サーバによって実行される制御方法であって、前記1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、前記一のIoTデバイスが前記故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、前記一のIoTデバイスから取得し、取得した前記第1のトランザクションデータを、前記複数のサーバのうちの前記第1サーバとは異なる複数の第2サーバに転送し、前記複数の第2サーバとともに、前記第1のトランザクションデータの正当性について合意するための第1のコンセンサスアルゴリズムを実行し、前記第1のコンセンサスアルゴリズムによって前記第1のトランザクションデータの正当性が検証された場合、前記第1のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する。
これによれば、分散台帳に、IoTデバイスが故障しているかどうかを示す情報を記録することができる。このため、IoTデバイスが現実に存在する地点とは異なる場所でIoTデバイスの利用許可を得ようしたときに、IoTデバイスが故障しているかどうかを知ることができる。よって、故障しているIoTデバイスの利用許可を得てしまうことを抑制できるので、故障しているIoTデバイスまで実際に移動することを抑制でき、移動等の手間が余計にかかることもなく、移動に時間とエネルギーとを費やすことを抑制できる。このようにして、分散台帳を用いて、時間コストとエネルギーコストとをより低減することができる。
ここで、例えば、前記システムは、さらに、前記複数のサーバと前記ネットワークを介して通信可能な端末でありユーザが使用する端末を備え、前記制御方法は、前記端末から、前記ユーザが前記一のIoTデバイスを利用可能かどうか問い合わせるためのユーザ要求を受信した場合、前記一のIoTデバイスが利用可能かどうかを示す状態情報を読み出し、読み出した前記状態情報から、前記一のIoTデバイスが利用可能であることを判定した場合、前記端末に対して、所定の条件下での前記一のIoTデバイスの利用を許可する旨を示す第1信号を送信する。
これによれば、IoTデバイスが現実に存在する地点とは異なる場所でIoTデバイスの利用許可を得ようしたとき、故障しているIoTデバイスの利用許可を得ることができない。よって、故障しているIoTデバイスの利用許可を得てしまうことを抑制できるので、故障しているIoTデバイスまで実際に移動することを抑制でき、移動等の手間が余計にかかることもなく、移動に時間とエネルギーとを費やすことがなくなる。このようにして、分散台帳を用いて、時間コストとエネルギーコストとを低減することができる。
また、例えば、前記制御方法は、読み出した前記状態情報から、前記一のIoTデバイスが利用不可であることを判定した場合、前記端末に対して、前記一のIoTデバイスの利用を許可しない旨を示す信号を送信する。
これによれば、IoTデバイスが現実に存在する地点とは異なる場所でIoTデバイスの利用許可を得ようしたとき、故障していないIoTデバイスの利用許可を確実に得ることができる。
また、例えば、前記制御方法は、さらに、前記端末から、前記一のIoTデバイスの利用権を購入した旨を示す第2のトランザクションデータを取得した場合、取得した前記第2のトランザクションデータを、前記複数のサーバのうちの前記複数の第2サーバに転送し、前記複数の第2サーバとともに、前記第2のトランザクションデータの正当性について合意するための第2のコンセンサスアルゴリズムを実行し、前記第2のコンセンサスアルゴリズムによって前記第2のトランザクションデータの正当性が検証された場合、前記第2のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する。
これによれば、IoTデバイスの利用許可を得たこと、すなわちIoTデバイスの利用権を購入したことを履歴として分散台帳に記録することができる。よって、IoTデバイスの利用権を購入したことが公開され、改ざん検知が可能になるので、IoTデバイスの利用権についての不正な取引を抑制することができる。
また、例えば、前記状態情報は、さらに、前記一のIoTデバイスの開閉状態を含み、前記制御方法は、さらに、前記端末から、前記利用権に基づく前記一のIoTデバイスの開錠要求を示す第3のトランザクションデータを取得し、取得した前記第3のトランザクションデータを、前記複数の第2サーバに転送し、前記複数の第2サーバとともに、前記第3のトランザクションデータの正当性について合意するための第3のコンセンサスアルゴリズムを実行し、前記第3のコンセンサスアルゴリズムによって前記第3のトランザクションデータの正当性が検証された場合、前記第3のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録することで、前記状態情報に含まれる前記一のIoTデバイスの開閉状態を変更する。
これによれば、IoTデバイスの開施錠の履歴を、分散台帳に記録することができる。よって、IoTデバイスの開施錠の履歴が公開され、改ざん検知が可能になるので、IoTデバイスの不正な利用を抑制することができる。
また、例えば、前記制御方法は、前記分散台帳に記録された前記第1のトランザクションデータを読み出し、読み出した前記第1のトランザクションデータに基づいて前記状態情報を生成して、前記第1サーバが有するメモリ上に書き出しており、前記端末から、前記ユーザ要求を受信した場合、前記メモリ上における前記状態情報を読み出す。
これによれば、分散台帳に記録されている第1のトランザクションデータを検索せずに、第1サーバのオンメモリに書き出されている状態情報を読み出すことで、IoTデバイスが利用可能かどうかを判定できる。よって、分散台帳を検索して、状態情報を取得する時間とエネルギーとをより節約することができる。このようにして、分散台帳を用いて、時間コストとエネルギーコストとをより低減することができる。
また、例えば、前記時刻情報は、前記故障情報を取得したときのタイムスタンプまたはシーケンス番号である。
また、例えば、前記制御方法は、前記故障情報を取得した場合、前記分散台帳に格納されたスマートコントラクトを動作させることで、前記第1のトランザクションデータを取得する。
これにより、分散台帳に格納されるスマートコントラクトを用いて、IoTデバイスの故障検知の結果を分散台帳に記録する仕組みを構築することができる。
また、本開示の一形態に係る制御システムは、1以上のIoTデバイスと、前記1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備え、前記複数のサーバのうちの第1サーバは、前記1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、前記一のIoTデバイスが前記故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、前記一のIoTデバイスから取得し、取得した前記第1のトランザクションデータを、前記複数のサーバのうちの前記第1サーバとは異なる複数の第2サーバに転送し、前記複数の第2サーバとともに、前記第1のトランザクションデータの正当性について合意するための第1のコンセンサスアルゴリズムを実行し、前記第1のコンセンサスアルゴリズムによって前記第1のトランザクションデータの正当性が検証された場合、前記第1のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する。
また、本開示の一形態に係る第1サーバは、1以上のIoTデバイスと、前記1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備えるシステムにおける、前記複数のサーバのうちの第1サーバであって、プロセッサと、前記プロセッサに処理を実行させるプログラムが記憶されたメモリと、スマートコントラクトが格納された分散台帳が記憶されている記憶装置とを備え、前記プロセッサは、前記分散台帳に格納されたスマートコントラクトを動作させることで、前記1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、前記一のIoTデバイスが前記故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、前記一のIoTデバイスから取得し、前記プロセッサは、前記メモリに記憶された前記プログラムを実行することにより、取得した前記第1のトランザクションデータを、前記複数のサーバのうちの前記第1サーバとは異なる複数の第2サーバに転送し、前記複数の第2サーバとともに、前記第1のトランザクションデータの正当性について合意するための第1のコンセンサスアルゴリズムを実行し、前記第1のコンセンサスアルゴリズムによって前記第1のトランザクションデータの正当性が検証された場合、前記第1のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する。
また、本開示の一形態に係るデータ構造は、1以上のIoTデバイスと、前記1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備えるシステムにおいて分散台帳に記録されるブロックに用いられるデータ構造であって、前記データ構造は、前記1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、前記一のIoTデバイスが前記故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを含み、前記第1のトランザクションデータは、前記分散台帳に格納されたスマートコントラクトが動作されることで前記複数のサーバのうちの第1サーバによって取得され、取得された前記第1のトランザクションデータが前記ブロックに含まれて前記分散台帳に記録される。
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
(実施の形態)
以下では、図面を参照しながら、実施の形態における制御システム1について説明する。
[制御システム1の構成]
本開示の制御システム1は、分散台帳に格納されるスマートコントラクトを用いて、IoTデバイスの故障検知の結果を分散台帳に記録するなど、ブロックチェーン技術を活用してIoTデバイスが故障しているかどうかも記録できる仕組みを有する。
図1は、本実施の形態における制御システム1の構成を模式的に示すブロック図である。
制御システム1は、図1に示されるように、サーバ10A、10B、・・・、10Eと、端末21と、1以上のIoTデバイス30とを備える。これらはネットワークNを介して接続されている。なお、サーバ10A、10B、・・・、10Eを「サーバ10A等」ともいい、サーバ10A等のそれぞれを「サーバ10」ともいう。また、図1では、制御システム1が、5つサーバ10を備える場合の例が示されているが、これに限らない。すなわち、制御システム1は、6つ以上のサーバ10を備えてもよい。
[サーバ10A]
サーバ10A、10B、・・・、10Eは同様の構成であるため、以下では、サーバ10Aを例に挙げて説明する。
図2は、図1に示すサーバ10Aの全体構成の一例を模式的に示す図である。図3は、本実施の形態に係るサーバ10Aの機能構成を示すブロック図である。
サーバ10Aは、図2に示すように、記憶装置12Aと接続する。なお、サーバ10Aは、記憶装置12AとネットワークNを介して接続されていてもよいし、内部に記憶装置12Aを備えるとしてもよい。記憶装置12Aは、後述するスマートコントラクト部14Aが記憶された分散台帳13Aを有する。
サーバ10Aは、第1サーバの一例である。本実施の形態では、サーバ10Aは、図3に示すように、スマートコントラクト実行部111、トランザクションデータ検証部112、ブロック生成部114、同期部115、記録部116、及び通信部117を備える。サーバ10Aは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
<スマートコントラクト実行部111>
スマートコントラクト実行部111は、分散台帳13Aに格納されているコントラクトコードなどを実行することで、スマートコントラクト部14Aを動作させる。スマートコントラクト実行部111は、スマートコントラクト部14Aを動作させることで、IoTデバイス30の利用権の売買、開錠及び施錠などを分散台帳13Aによって管理することができる。
本実施の形態では、スマートコントラクト実行部111は、スマートコントラクト部14Aを実行させる。例えば、スマートコントラクト実行部111は、スマートコントラクト部14Aに、一のIoTデバイス30が故障したことを示す故障情報と一のIoTデバイス30が故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、取得させる。つまり、スマートコントラクト実行部111は、分散台帳13Aに格納されたスマートコントラクトを動作させることで、第1のトランザクションデータを取得する。ここで、時刻情報は、当該故障情報を取得したときのタイムスタンプであってもよいし、シーケンス番号であってもよい。
また、スマートコントラクト実行部111は、スマートコントラクト部14Aを動作させた結果、得られる情報をサーバ10Aのオンメモリに保持させてもよい。換言すると、スマートコントラクト実行部111は、スマートコントラクト部14Aを動作させた結果、分散台帳13Aに記録された情報を読み出して、サーバ10Aが有するメモリ(オンメモリ)に書き出して保持させてもよい。
なお、スマートコントラクト実行部111は、分散台帳13Aに記録された第1のトランザクションデータを読み出し、読み出した第1のトランザクションデータに基づいてIoTデバイス30が利用可能かどうかを示す状態情報を生成してもよい。そして、スマートコントラクト実行部111は、生成した状態情報を第1サーバが有するメモリ上に書き出してもよい。スマートコントラクト実行部111は、IoTデバイス30の利用権の有無、IoTデバイス30の鍵の開閉状態を示す情報も同様に、オンメモリに書き出して保持させてもよい。
<トランザクションデータ検証部112>
トランザクションデータ検証部112は、トランザクションデータを受け取った場合、受け取ったトランザクションデータの正当性を検証する。
本実施の形態では、トランザクションデータ検証部112は、少なくとも一のIoTデバイス30が故障したことを示す故障情報と一のIoTデバイス30が故障情報を取得したときの時刻情報とを含む第1のトランザクションデータをスマートコントラクト実行部111から受け取る。すると、トランザクションデータ検証部112は、受け取った第1のトランザクションデータに含まれる電子署名の検証を行い、第1のトランザクションデータの正当性の検証を行う。また、トランザクションデータ検証部112は、一のIoTデバイス30の利用権を購入した旨を示す第2のトランザクションデータを受け取った場合、第2のトランザクションデータに含まれる電子署名の検証を行い、第2のトランザクションデータの正当性の検証を行う。同様に、トランザクションデータ検証部112は、一のIoTデバイス30の鍵の開錠要求を示す第3のトランザクションデータを受け取った場合、第3のトランザクションデータに含まれる電子署名の検証を行い、第3のトランザクションデータの正当性の検証を行う。
このように、トランザクションデータ検証部112は、取得したトランザクションデータを検証する。そして、トランザクションデータ検証部112は、検証した結果、トランザクションデータの正当性を確認した場合、そのトランザクションデータを記録部116に記録するとともに、同期部115へ通知する。
なお、トランザクションデータ検証部112は、トランザクションデータがトランザクションデータ生成部113により生成される場合には、トランザクションデータの正当性の検証を行わなくてもよい。
<ブロック生成部114>
ブロック生成部114は、第1のサーバと異なる他の第2のサーバ(サーバ10B~10E)とともに、トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。
ここでのコンセンサスアルゴリズムは、第1のコンセンサスアルゴリズム~第3のコンセンサスアルゴリズムに対応する。つまり、第1のコンセンサスアルゴリズム~第3のコンセンサスアルゴリズムは同一のコンセンサスアルゴリズムであり別タイミングで実施されたことを示すに過ぎない。また、ここでのトランザクションデータは、第1のトランザクションデータ~第3のトランザクションデータに対応する。
このように、ブロック生成部114は、複数の認証サーバの間でコンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)とよばれるコンセンサスアルゴリズムを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。公知のコンセンサスアルゴリズムとしては、例えばPOW(Proof Of Work)またはPOS(Proof Of Stake)などがある。なお、PBFTを用いる場合、ブロック生成部114は、まず、他の認証サーバ200b、200cのそれぞれからトランザクションの検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、ブロック生成部114は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証された場合であると判定すればよい。
また、ブロック生成部114は、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証された場合、トランザクションデータを含むブロックを、サーバ10Aの記憶装置12Aの分散台帳に記録する。
このように、本実施の形態では、ブロック生成部114は、サーバ10A~サーバ10Eの間でコンセンサスアルゴリズムを実行する。より具体的には、ブロック生成部114は、まず、1以上のトランザクションデータを含むブロックチェーンのブロックを生成する。次に、ブロック生成部114は、コンセンサスアルゴリズムを実行する。そして、ブロック生成部114は、コンセンサスアルゴリズムを実行することで合意形成ができた場合、生成したブロックを記録部116に記録する。ブロック生成部114により生成されたブロックは、記録部116により、分散台帳13Aに格納されているブロックチェーンに接続されて記録される。
ここで、ブロックチェーンのデータ構造と、トランザクションデータのデータ構造とについて説明する。
図4は、ブロックチェーンのデータ構造を示す説明図である。
ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
図5は、トランザクションデータのデータ構造を示す説明図である。
図5に示されるトランザクションデータD1は、第1のトランザクションデータ~第3のトランザクションデータの一例である。トランザクションデータD1は、ユーザAなどの要求者を示すP1と、スマートコントラクトアドレス、関数名、引数を示すアドレスP2と、アドレスP1及びP2のハッシュ値に対して、要求者の署名鍵で署名することで生成される電子署名P3とを含んでいる。なお、スマートコントラクトアドレス、関数名、引数は、例えばJSON形式で記述されるが、これに限らない。スマートコントラクトアドレスは、契約のためのプログラムであるスマートコントラクトのアドレスである。
<同期部115>
同期部115は、複数のサーバ(サーバ10A~サーバ10E)の間でブロックチェーンのブロック、または、トランザクションデータの同期を行う。
本実施の形態では、同期部115は、第1~第3のトランザクションデータの検証が成功した場合、他の複数のサーバ(サーバ10B~サーバ10E)に第1~第3のトランザクションデータの複製を転送する。
複数のサーバ(サーバ10A~10E)では、peer to peerでブロックチェーンのトランザクションデータの同期が行われる。そして、同期部115は、同期が行われたブロックチェーンのトランザクションデータを記録部116に記録する。
例えば、同期部115は、第1のトランザクションデータの正当性が検証されると、他の複数のサーバ(サーバ10B~10E)に第1のトランザクションデータ内容を転送する。また、同期部115は、検証された第1のトランザクションデータを記録部116に記録する。
また、例えば、同期部115は、他のサーバ(サーバ10B~10Eのいずれか)から第1のトランザクションデータを受信した場合、第1のトランザクションデータを記録部116に記録する。なお、第2及び第3のトランザクションデータも同様のため説明を省略する。
<記録部116>
記録部116は、トランザクションデータをブロックに含めて、記憶装置12Aの分散台帳13Aに記録する。本実施の形態では、記録部116は、第1のコンセンサスアルゴリズムによって第1のトランザクションデータの正当性が検証された場合、第1のトランザクションデータを含むブロックをサーバ10Aの分散台帳13Aに記録する。なお、第2及び第3のトランザクションデータも同様のため説明を省略する。
<通信部117>
通信部117は、端末21、IoTデバイス30、及び、他の複数のサーバ10(サーバ10B~10E)との通信を行う。より具体的には、通信部117は、端末21、IoTデバイス30、及び、他の複数のサーバ10(サーバ10B~10E)との通信を行う通信インタフェースである。端末21、IoTデバイス30、及び、他の複数のサーバ10(サーバ10B~10E)との通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は通信部117で保持してもよい。
[記憶装置12Aの構成]
記憶装置12Aは、IoTデバイス30の利用権の売買、開錠及び施錠を管理するための分散台帳13Aを有している。記憶装置12Aは、HDD(Hard Disk Drive)又はSSD(Solid State Drive)などにより実現される。
分散台帳13Aは、ブロックチェーンのトランザクションデータ及びブロックが電子的に記録される。また、分散台帳13Aは、プログラムであるスマートコントラクト部14Aが格納されている。記憶装置12Aは、例えばコントラクトコードと呼ばれるプログラムコードを記憶しており、このコントラクトコードを実行することで、スマートコントラクト部14Aを実行させることができるとしてもよい。
[スマートコントラクト部14Aの構成]
図6は、本実施の形態におけるスマートコントラクト部14Aの機能構成を示すブロック図である。
スマートコントラクト部14Aは、図6に示されるように、デバイス利用権管理部141と、サービス提供部142と、故障登録部145とで構成される。
<デバイス利用権管理部141>
デバイス利用権管理部141は、IoTデバイス30の利用権を管理する。本実施の形態では、デバイス利用権管理部141は、端末21から、対象のIoTデバイス30が利用可能かの問い合わせをユーザ要求として受信すると、分散台帳13Aに記録されている、対象のIoTデバイス30の利用権の最新状況を確認する。デバイス利用権管理部141は、問い合わせの内容に応じて、対象のIoTデバイス30の利用権の購入が可能な状態かどうか、または、対象のIoTデバイス30の利用権が端末21のユーザAに購入されている状態であるかを確認し、サービス提供部142に通知する。
<サービス提供部142>
サービス提供部142は、利用可否判断部143と、台帳イベント発行部144と、で構成されている。
利用可否判断部143は、対象のIoTデバイス30の利用権のあるユーザAからの要求であるかどうか、及び、対象のIoTデバイス30がサービス提供可能であるかどうかを判断する。
より具体的には、利用可否判断部143は、ユーザAが一のIoTデバイス30を利用可能かどうか問い合わせるためのユーザ要求を端末21から受信した場合、当該一のIoTデバイス30が利用可能かどうかを示す状態情報を読み出す。ここで、状態情報がオンメモリすなわちサーバ10Aのメモリに保持されていてもよい。この場合、利用可否判断部143は、当該ユーザ要求を端末21から受信した場合、サーバ10Aのメモリにおける状態情報を読み出せばよい。
利用可否判断部143は、読み出した状態情報から、当該一のIoTデバイス30が利用可能であることを判定した場合、端末21に対して、所定の条件下での当該一のIoTデバイス30の利用を許可する旨を示す第1信号を送信する。一方、利用可否判断部143は、読み出した状態情報から、当該一のIoTデバイス30が利用不可であることを判定した場合、端末21に対して、当該一のIoTデバイスの利用を許可しない旨を示す信号を送信する。
本実施の形態では、利用可否判断部143は、ユーザ要求を受信すると、分散台帳13Aに記録されている第1のトランザクションデータから取得できるまたはオンメモリ上にある状態情報を読み出して、対象のIoTデバイス30が故障状態であるか否かを確認する。
また、利用可否判断部143は、デバイス利用権管理部141から通知された利用権の最新状況と、対象のIoTデバイス30が故障状態であるか否かとから、対象のIoTデバイス30が利用可能かどうかを判断する。
利用可否判断部143は、対象のIoTデバイス30が利用可能であると判断すると、端末21に対して、OK通知を送信する。OK通知は、ユーザ要求の内容に応じて、対象のIoTデバイス30が利用可能であり利用権を購入可能であること、または、対象のIoTデバイス30の利用権を端末21のユーザAが購入済であり、当該IoTデバイス30が利用可能であることを示す。
一方、利用可否判断部143は、対象のIoTデバイス30が利用可能でないと判断すると、端末21に対して、NG通知を示す信号を送信する。NG通知は、ユーザ要求の内容に応じて、対象のIoTデバイス30の利用権が他者により購入済で利用不可であること、または、対象のIoTデバイス30が故障しており、利用不可であることを示す。
台帳イベント発行部144は、サービス提供に必要な台帳イベントを発行する。本実施の形態では、台帳イベント発行部144は、端末21から、IoTデバイス30の鍵の開閉要求のトランザクションデータを受け取る(取得する)と、分散台帳13Aに記録されているIoTデバイス30の鍵の開閉状態を変更する。より具体的には、台帳イベント発行部144は、当該開閉要求のトランザクションデータを受け取ると、サーバ10Aに送信する。すると、サーバ10Aは、当該開閉要求のトランザクションを有するブロックをコンセンサスアルゴリズムで同期した後に、当該ブロックを分散台帳13Aに記録することで、分散台帳10A上での状態変更を発生させる。ここで、当該開閉要求のトランザクションデータは、例えば図5に示すP2において、コントラクトアドレスと鍵の開閉処理用の関数と引数とがJSON形式で設定されている。
また、本実施の形態では、台帳イベント発行部144は、例えばオンメモリ上に保持されている対象のIoTデバイス30の鍵の開閉状態を変更させる。例えば、台帳イベント発行部144は、オンメモリ上に保持されている対象のIoTデバイス30の鍵の開閉状態を施錠状態から開錠状態に変更させる。
なお、台帳イベント発行部144は、対象のIoTデバイス30から、鍵の開閉状態を変更させた旨を示すトランザクションデータを受け取る場合、当該トランザクションデータを分散台帳13Aに記録させてもよい。
また、台帳イベント発行部144は、対象のIoTデバイス30の利用権をユーザAが購入した旨を示すトランザクションデータを端末21から受け取る場合、当該トランザクションデータを分散台帳13Aに記録させてもよい。
<故障登録部145>
故障登録部145は、IoTデバイス30自身からの故障通知であることを確認し、サービスを提供不可状態にする。
本実施の形態では、故障登録部145は、一のIoTデバイス30が故障したことを検知した旨の故障通知を取得すると、当該IoTデバイス30そのものからの故障通知であるかどうかを電子署名等により確認する。故障登録部145は、IoTデバイス30そのものからの故障通知であることを確認すると、オンメモリ上の当該IoTデバイス30の状態情報を、正常から故障を示す情報に変更する。
なお、故障登録部145は、一のIoTデバイス30が故障したことを示す故障情報と、当該一のIoTデバイス30が検知情報または故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、一のIoTデバイス30から受け取るとしてもよい。。この場合、故障登録部145は、受け取った第1のトランザクションデータをサーバ10Aに送信し、サーバ10Aに分散台帳13Aに記録させる。このようにして、故障登録部145は、一のIoTデバイス30が故障したことを分散台帳13Aに登録できる。
[IoTデバイス30]
IoTデバイス30は、例えば宅配ボックス、シェアリングカー、シェアリングバイク、ホテルの部屋などである。IoTデバイス30は、これらに限られず、ユーザAが利用許可を得ようとする地点と、現実に利用する地点とが離れているデバイスであれば該当し得る。また、IoTデバイス30は、利用を許可された者すなわち開施錠をすることができる権限(利用権)を有する者のみが用いることができる。開施錠をすることができる権限(利用権)を有する者は、例えば1人であるが、1人に限られない。
例えば図1に示すように、IoTデバイス30が宅配ボックスの場合には、それぞれ物品5を格納できる1以上のユニット31を備える。ユニット31は、物品5の一時的な格納場所であり、ユーザAが他のユーザに物品5を渡すために用いられる。
なお、IoTデバイス30の開錠又は施錠の制御は、サーバ10A等で動作するスマートコントラクトによりなされる。また、IoTデバイス30は、自身を制御する機能以外に、自身が故障したことを検知する機能と、故障したことを示す故障情報をサーバ10Aに通知する機能とを有する。これらの機能すなわち自身を制御する機能と検知する機能と通知する機能とは、IoTデバイス30に記録されたプログラム(以降IoTデバイス管理部32と称する)によりなされる。
[IoTデバイス管理部32の構成]
図7は、本実施の形態におけるIoTデバイス管理部32の機能構成を示すブロック図である。
IoTデバイス管理部32は、図7に示されるように、台帳イベント監視部321と、デバイス制御部322と、故障制御部323とで構成される。
<台帳イベント監視部321>
台帳イベント監視部321は、分散台帳13Aに記録されるイベントを監視し、スマートコントラクト部14Aが発行したイベントを取得する。このイベントには、トランザクションデータも含まれる。
本実施の形態では、台帳イベント監視部321は、オンメモリ上に保持されているIoTデバイス30の鍵の開閉状態を監視している。台帳イベント監視部321は、オンメモリ上に保持されている一のIoTデバイス30の鍵の開閉状態が変更されると、当該一のIoTデバイス30の鍵の開閉状態を、スマートコントラクト部14Aが発行したイベント種別として取得する。また、台帳イベント監視部321は、取得したイベント種別に基づいて、当該一のIoTデバイス30の鍵を、変更された開閉状態となるようにデバイス制御部322に指示してもよい。
なお、台帳イベント監視部321は、スマートコントラクト部14Aにより、分散台帳13Aを監視していてもよい。例えば、台帳イベント監視部321は、対象のIoTデバイス30の鍵の開閉状態を変更させたトランザクションデータが分散台帳13Aに記録された場合、そのことをスマートコントラクト部14Aが発行したイベント種別として取得してもよい。また、取得したイベント種別に基づいて、台帳イベント監視部321は、分散台帳13Aに記録された対象のIoTデバイス30の鍵の開閉状態となるようにデバイス制御部322に指示してもよい。
<デバイス制御部322>
デバイス制御部322は、台帳イベント監視部321が取得したイベント種別に基づき、IoTデバイス30を制御する。
本実施の形態では、デバイス制御部322は、オンメモリ上で変更された、または分散台帳13Aに新たに記録された対象のIoTデバイス30の鍵の開閉状態に基づき、対象のIoTデバイス30の鍵の開施錠を制御する。デバイス制御部322は、台帳イベント監視部321により指示された内容に基づき、対象のIoTデバイス30の鍵の開施錠を制御してもよい。
なお、デバイス制御部322は、対象のIoTデバイス30の鍵の開施錠を制御した後、その旨を示すトランザクションデータを生成し、サーバ10Aに送信してもよい。この場合、当該トランザクションデータには、対象のIoTデバイス30の鍵が開錠された旨を示す開錠情報と当該開錠情報を取得したときの時刻情報とが含まれる。
このようにして、デバイス制御部322は、例えばスマートコントラクト部14Aが対象のIoTデバイスの利用権に基づく当該IoTデバイスの開錠要求を取得した場合、当該IoTデバイスの鍵を開錠する。
<故障制御部323>
故障制御部323は、故障検知部324と故障通知部325とで構成されている。
故障検知部324は、IoTデバイス30の故障を検知する。本実施の形態では、故障検知部324は、IoTデバイス30の状態を常時または所定期間毎に確認することで、IoTデバイス30の故障を検知する。
故障通知部325は、分散台帳13Aに記録されたスマートコントラクト部14Aの故障登録部145を利用することで、IoTデバイス30の故障を通知する。本実施の形態では、故障通知部325は、故障検知部324によりIoTデバイス30の故障が検知されると、第1のトランザクションデータを、スマートコントラクト部14Aの故障登録部145に送信する。第1のトランザクションデータは、上述したように、当該IoTデバイス30が故障したことを示す故障情報と、当該IoTデバイスが故障情報を検知したときの時刻情報とを含む。なお、故障通知部325は、第1のトランザクションデータに、当該IoTデバイス30を識別する番号等の識別情報と送信元を示す識別情報とを含めて、スマートコントラクト部14Aの故障登録部145に送信してもよい。
[端末21]
端末21は、複数のサーバ10(サーバ10A、10B、・・・、10E)とネットワークNを介して通信可能な端末であって、ユーザAが使用する端末である。端末21は、例えばスマートフォン、パーソナルコンピュータなどである。
端末21は、IoTデバイス30を利用するための利用権の取得するための操作、または鍵の開錠又は施錠のための操作をユーザから受け、その操作に係る情報をユーザ要求としてサーバ10Aなどに送信する。図1では、端末21は、ユーザAにより使用され、他のユーザに物品5を渡すために宅配ボックスであるIoTデバイス30の一のユニット31を利用しようとする場面が示されている。
なお、端末21では、ユーザAより操作を受け付けたり、サーバ10Aにユーザ要求を送信するためにユーザAの本人認証をしたりする機能は、端末21に記録されたプログラム(以降、ユーザ要求処理部22と称する)によりなされる。
[ユーザ要求処理部22の構成]
図8は、本実施の形態におけるユーザ要求処理部22の機能構成を示すブロック図である。
ユーザ要求処理部22は、図8に示されるように、ユーザ要求受付部221と、ユーザ認証部222と、トランザクションデータ処理部223とで構成される。
<ユーザ要求受付部221>
ユーザ要求受付部221は、IoTデバイス30の開錠等のユーザ要求を受け付ける。
本実施の形態では、ユーザ要求受付部221は、対象のIoTデバイス30が利用可能かどうかの問い合わせ、または、対象のIoTデバイス30の開錠要求を示すユーザ要求を受け付ける。なお、ユーザ要求は、これら以外に、対象のIoTデバイス30利用権をユーザAが有するかの問い合わせであってもよい。
<ユーザ認証部222>
ユーザ認証部222は、ユーザ要求を発行しているユーザの本人認証を実施する。
本実施の形態では、ユーザ認証部222は、ユーザ要求受付部221が受け付けたユーザ要求の正当性の検証のために、ユーザ要求を行ったユーザAの本人認証を行う。
<トランザクションデータ処理部223>
トランザクションデータ処理部223は、利用可否問い合わせ部224と、トランザクションデータ生成部225とで構成されている。
利用可否問い合わせ部224は、ユーザ要求に基づくトランザクションデータの受付が可能であるかの問い合わせを行う。本実施の形態では、利用可否問い合わせ部224は、対象のIoTデバイス30が利用可能かどうかの問い合わせ、対象のIoTデバイス30の開錠要求が受け付けられるかどうかの問い合わせを行う。なお、この問い合わせは、要求者を示す情報と、問い合わせ内容を示す情報と、問い合わせたいIoTデバイス30を識別する番号等の識別情報とを含むトランザクションデータが生成され、スマートコントラクト部14Aに送信されることで行われてもよい。
トランザクションデータ生成部225は、ユーザ要求に基づくトランザクションデータを分散台帳13Aに発行する。なお、ユーザ要求に基づくトランザクションデータは、ユーザAの秘密鍵で暗号化されており、この秘密鍵を用いることでユーザAの本人認証を行うことができる。
本実施の形態では、トランザクションデータ生成部225は、問い合わせを示すトランザクションデータを生成してもよい。また、トランザクションデータ生成部225は、一のIoTデバイス30の利用権を購入する旨を示すトランザクションデータを生成してもよい。また、トランザクションデータ生成部225は、対象のIoTデバイス30の開錠要求を示すユーザ要求として、対象のIoTデバイス30の開錠要求を示すトランザクションデータを生成してもよい。
[本開示の制御方法]
次に、制御システム1が行う制御方法の概要について説明する。
図9は、本実施の形態における制御システム1が実行する制御方法を示すフローチャートである。
図9に示されるように、まず、例えばサーバ10Aなどの制御システム1における第1サーバは、1以上のIoTデバイス30のうち少なくとも一のIoTデバイス30から第1のトランザクションデータを取得したかどうかを確認する(S12)。ここで、第1のトランザクションデータには、少なくとも一のIoTデバイスが故障したことを示す故障情報と、当該少なくとも一のIoTデバイスが故障情報を取得したときの時刻情報とが含まれている。
ステップS12において、第1サーバは、少なくとも一のIoTデバイス30から第1のトランザクションデータを取得した場合(S12でYes)、取得した第1のトランザクションデータを、複数のサーバ10のうちの第1サーバとは異なる複数の第2サーバに転送する(S13)。
次に、第1サーバは、複数の第2サーバとともに、第1のトランザクションデータの正当性について合意するための第1のコンセンサスアルゴリズムを実行する(S14)。
次に、第1サーバは、第1のコンセンサスアルゴリズムによって第1のトランザクションデータの正当性が検証された場合(S15でyes)、第1のトランザクションデータを含むブロックを第1サーバの分散台帳に記録する(S16)。
なお、第1サーバは、第1のコンセンサスアルゴリズムによって第1のトランザクションデータの正当性が検証されなかった場合(S15でNo)、処理を終了する。
以下、制御システム1が行う制御方法の具体的態様について説明する。以下では、IoTデバイス30が、宅配ボックスであり、ID0001~ID0003が付与された3つのユニット31で構成されているとして説明する。
[IoTデバイス30の制御が不要なユーザ要求処理]
図10は、本実施の形態におけるIoTデバイス30の制御が不要な場合のユーザ要求の処理を示すシーケンス図である。図11A及び図11Cは、図10に示すユーザ要求の処理が行われる際に用いられるトランザクションデータのデータ構造の一例を示す図である。図11Bは、図10に示すユーザ要求の処理が行われる際に用いられるOK通知のデータ構造の一例を示す図である。図10に示す例では、対象(つまり利用対象)のIoTデバイス30は故障しておらず、対象のIoTデバイス30の利用権も購入できる状態であるとして説明する。
図10に示されるように、まず、ユーザAは、例えばIoTデバイス30のID0002のユニット31の利用許可を得たい旨のユーザ要求を端末21に行う。すると、端末21のユーザ要求処理部22は、ユーザ要求を受け付けて、ユーザ要求を発行したユーザAが本人であるかを認証するユーザ認証処理を実施する(S101)。
次に、ユーザ要求処理部22は、ステップS101においてユーザAのユーザ認証が成功すると、ID0002のユニット31が利用可能かどうかの問い合わせを分散台帳13Aに発行する(S102)。本実施の形態では、ユーザ要求処理部22は、図11Aに示すようなデータ構造で構成されるトランザクションデータを分散台帳13Aに発行することで、スマートコントラクト部14Aを動作させる。図11Aには、要求者がユーザAであることを示すusrAと、ID0002のユニット31の識別情報を示す0002と、ID0002のユニット31の利用可能かどうかの問い合わせを示すquery_reserveとを含むデータ構造で構成されるトランザクションデータが示されている。なお、図11Aでは、ID0002のユニット31の利用可能かどうかの問い合わせとして、ID0002のユニット31の利用権が購入済かどうかを問い合わせている。
次に、スマートコントラクト部14Aは、分散台帳13Aの最新状態を確認することで、ID0002のユニット31の利用権の状況と、サービスモードとを確認する(S103)。
次に、スマートコントラクト部14Aは、確認したID0002のユニット31の利用権の状況とサービスモードとから、ID0002のユニット31がサービス提供可能であるかどうかを判断する(S104)。ここでは、スマートコントラクト部14Aは、ID0002のユニット31の利用権が購入できる状況であり、ID0002のユニット31が壊れていないので、ID0002のユニット31が利用可能であると判断する。
次に、スマートコントラクト部14Aは、ID0002のユニット31が利用可能であると判断したので、OK通知を端末21のユーザ要求処理部22に送信する(S105)。本実施の形態では、スマートコントラクト部14Aは、図11Bに示すようなデータ構造で構成されるOK通知をユーザ要求処理部22に送信する。図11Bには、ID0002のユニット31の識別情報を示す0002と、ID0002のユニット31が使われていないことを示すNotuseと、利用権を購入できる金額を示す100円とを含むデータ構造で構成されるOK通知のデータ構造が示されている。
次に、ユーザ要求処理部22は、ID0002のユニット31の利用権を購入する旨を示すトランザクションデータを分散台帳13Aに発行する(S106)。本実施の形態では、ユーザ要求処理部22は、図11Cに示すようなデータ構造で構成されるトランザクションデータを生成し、分散台帳13Aに送信することで、スマートコントラクト部14Aを動作させる。図11Cには、要求者がユーザAであることを示すusrAと、ID0002のユニット31の識別情報を示す0002と、ID0002のユニット31の予約すなわち利用権の購入する旨を示すreserveとを含むデータ構造で構成されるトランザクションデータが示されている。
次に、スマートコントラクト部14Aは、ID0002のユニット31の利用権をユーザAが購入した旨を示すトランザクションデータを分散台帳13Aに発行するサービス処理を行う(S107)。本実施の形態では、スマートコントラクト部14Aは、ID0002のユニット31の利用権をユーザAが購入した旨を示す第2のトランザクションデータをユーザ要求処理部22から受け取ると、サーバ10に送信して分散台帳13Aに記録させる。
[IoTデバイス30の制御が必要なユーザ要求処理]
図12は、本実施の形態におけるIoTデバイス30の制御が必要な場合のユーザ要求の処理を示すシーケンス図である。図13Aは、図12に示すユーザ要求の処理が行われる際に用いられるOK通知のデータ構造の一例を示す図である。図13B及び図13Cは、図12に示すユーザ要求の処理が行われる際に用いられるトランザクションデータのデータ構造の一例を示す図である。図12に示す例では、対象のIoTデバイス30は故障しておらず、対象のIoTデバイス30の利用権がユーザAに購入された状態であるとして説明する。
図12に示されるように、まず、ユーザAは、例えばIoTデバイス30のID0002のユニット31の鍵の開錠要求を示すユーザ要求を端末21に行う。すると、端末21のユーザ要求処理部22は、当該ユーザ要求を受け付けて、ユーザ要求を発行したユーザAが本人であるかを認証するユーザ認証処理を実施する(S201)。
次に、ユーザ要求処理部22は、ステップS201においてユーザAのユーザ認証が成功すると、ID0002のユニット31が利用可能かどうかの問い合わせを分散台帳13Aに発行する(S202)。本実施の形態では、ユーザ要求処理部22は、図11Aに示すようなデータ構造で構成されるトランザクションデータを分散台帳13Aに発行することで、スマートコントラクト部14Aを動作させる。
次に、スマートコントラクト部14Aは、分散台帳13Aの最新状態を確認することで、ID0002のユニット31の利用権の状況と、サービスモードとを確認する(S203)。
次に、スマートコントラクト部14Aは、確認したID0002のユニット31の利用権の状況と、サービスモードとから、ID0002のユニット31がサービス提供可能であるかどうかを判断する(S204)。ここでは、スマートコントラクト部14Aは、ID0002のユニット31の利用権がユーザに購入されている状況であり、ID0002のユニット31が壊れていないので、ID0002のユニット31が利用可能であると判断する。
次に、スマートコントラクト部14Aは、ID0002のユニット31が利用可能であると判断したので、OK通知を端末21のユーザ要求処理部22に送信する(S205)。本実施の形態では、スマートコントラクト部14Aは、図13Aに示すようなデータ構造で構成されるOK通知をユーザ要求処理部22に送信する。図13Aには、ID0002のユニット31の識別情報を示す0002と、ID0002のユニット31の利用権がユーザAに購入されていることを示すusrAと、利用権が購入された金額を示す100円とを含むデータ構造で構成されるOK通知のデータ構造が示されている。
次に、ユーザ要求処理部22は、ID0002のユニット31の鍵の開錠要求を示すトランザクションデータを分散台帳13Aに発行する(S206)。本実施の形態では、ユーザ要求処理部22は、図13Bに示すようなデータ構造で構成されるトランザクションデータを生成し、分散台帳13Aに送信することで、スマートコントラクト部14Aを動作させる。図13Bには、要求者がユーザAであることを示すusrAと、ID0002のユニット31の識別情報を示す0002と、ID0002のユニット31の鍵の開錠要求を示すopenとを含むデータ構造で構成されるトランザクションデータが示されている。
次に、スマートコントラクト部14Aは、ユーザ要求処理部22から、当該開錠要求を示すトランザクションデータを取得すると、オンメモリ上に保持されているID0002のユニット31の鍵の開閉状態を、openすなわち開錠状態に移行させるサービス処理を行う(S207)。また、スマートコントラクト部14Aは、分散台帳13Aに記録されているID0002のユニット31の鍵の開閉状態を変更する(S208)。より具体的には、スマートコントラクト部14Aは、当該開錠要求を示すトランザクションデータを、分散台帳13Aを有するサーバ10Aに送信する。すると、サーバ10Aは、当該開閉要求のトランザクションを有するブロックをコンセンサスアルゴリズムで同期した後に、当該ブロックを分散台帳13Aに記録することで、分散台帳10A上での状態変更を発生させる。
次に、IoTデバイス管理部32は、オンメモリ上に保持されているIoTデバイス30の鍵の開閉状態などの台帳イベントを監視しており、ID0002のユニット31の鍵の開閉状態が開錠状態に移行したことを取得する(S209)。
次に、IoTデバイス管理部32は、ID0002のユニット31の鍵を開錠する開錠制御を行い(S210)、ID0002のユニット31の鍵を開錠したことを示す第3のトランザクションデータを生成する(S211)。そして、IoTデバイス管理部32は、生成した第3のトランザクションデータを分散台帳13Aに送信する。本実施の形態では、IoTデバイス管理部32は、図13Cに示すようなデータ構造で構成される第3のトランザクションデータを生成し、分散台帳13Aに送信する。図13Cには、実施者がIoTデバイス管理部32であることを示すdevと、ID0002のユニット31の識別情報を示す0002と、その鍵が開錠されたことを示すregist_openedとを含むデータ構造で構成されるトランザクションデータが示されている。
次に、スマートコントラクト部14Aは、当該第3のトランザクションデータを取得すると、当該第3のトランザクションデータを分散台帳13Aに記録させる(S212)。
[IoTデバイス30の故障検知処理]
図14は、本実施の形態におけるIoTデバイス30が故障を検知した際の故障検知処理を示すシーケンス図である。図15は、図14に示す故障検知処理が行われる際に用いられるトランザクションデータのデータ構造の一例を示す図である。以下では、対象のIoTデバイス30を構成する3つのユニット31のうち、ID0002が付与されたユニット31が故障したとする。
図14に示されるように、IoTデバイス30のIoTデバイス管理部32は、IoTデバイス30の状態を常時または所定期間毎に確認しているので、ID0002のユニット31が故障したことを検知する(S301)。
すると、IoTデバイス管理部32は、ID0002のユニット31が故障したことを示すトランザクションデータを生成する(S302)。IoTデバイス管理部32は、ステップS302で生成したトランザクションデータを、当該IoTデバイス30のID0002のユニット31が故障したことを示す故障情報として、スマートコントラクト部14Aに送信する故障通知を行う(S303)。本実施の形態では、IoTデバイス管理部32は、図15に示すようなデータ構造で構成されるトランザクションデータを生成する。図15には、検知者がIoTデバイス管理部32であることを示すdevと、ID0002のユニット31の識別情報を示す0002と、ID0002のユニット31が利用不可であることを示すdisabledとを含むデータ構造で構成されるトランザクションデータが示されている。そして、IoTデバイス管理部32は、このように作成したトランザクションデータを分散台帳13Aに発行することで、スマートコントラクト部14Aを動作させる。
次に、スマートコントラクト部14Aは、オンメモリ上に保持されているID0002のユニット31の状態情報を、正常から故障を示すように変更する故障登録を行う(S304)。本実施の形態では、スマートコントラクト部14Aは、IoTデバイス30の状態情報を、サーバ10Aのオンメモリに書き出して保持することで管理している。
図16A及び図16Bは、実施の形態におけるスマートコントラクト部14Aにより管理される状態情報を示す図である。図16Aに示す状態情報は、IoTデバイス30を構成する3つのユニット31すべてが故障していない正常であることを示している。なお、図16Aにおいて、ID0001のユニット31の利用権はユーザAにより購入済であることが示されている。ID0002及びID0003のユニット31の利用権はサービス会社が所有しており、利用権の購入が可能すなわち利用可能であることが示されている。一方、図16Bに示す状態情報は、IoTデバイス30を構成する3つのユニット31のうちID0002のユニット31が故障していることを示している。つまり、本実施の形態では、スマートコントラクト部14Aは、図16Aに示す状態情報を、図16Bに示す状態情報に更新することで、故障登録を行う。
なお、本実施の形態では、スマートコントラクト部14Aは、ID0002のユニット31が故障したことを示す故障情報と、ID0002のユニット31が当該故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを取得する。このため、スマートコントラクト部14Aは、取得した第1のトランザクションデータを、分散台帳13Aに送信することで、第1のトランザクションデータを分散台帳13Aに記録させる。
このようにして、スマートコントラクト部14Aは、図16Bに示す状態情報を用いて、ID0002のユニット31を利用不可であるサービス停止状態として管理する(S305)。
[IoTデバイス30の制御が不要なユーザ要求処理の別の例]
図17は、本実施の形態におけるIoTデバイス30の制御が不要な場合のユーザ要求の処理の別の例を示すシーケンス図である。図18は、図17に示すユーザ要求の処理が行われる際に用いられるNG通知のデータ構造の一例を示す図である。図17に示す例では、対象のIoTデバイス30を構成する3つのユニット31のすべての利用権は購入可能であるが、ID0002が付与されたユニット31が故障しているとして以下説明する。
図17に示されるように、まず、ユーザAは、例えばIoTデバイス30のID0002のユニット31の利用許可を得たい旨のユーザ要求を端末21に行う。すると、端末21のユーザ要求処理部22は、ユーザ要求を受け付けて、ユーザ要求を発行したユーザAが本人であるかを認証するユーザ認証処理を実施する(S401)。
次に、ユーザ要求処理部22は、ステップS401においてユーザAのユーザ認証が成功すると、ID0002のユニット31が利用可能かどうかの問い合わせを分散台帳13Aに発行する(S402)。本実施の形態では、ユーザ要求処理部22は、図11Aに示すようなデータ構造で構成されるトランザクションデータを分散台帳13Aに発行することで、スマートコントラクト部14Aを動作させる。図11Aについては上述したのでここでの説明を省略する。
次に、スマートコントラクト部14Aは、分散台帳13Aの最新状態を確認することで、ID0002のユニット31の利用権の状況と、サービスモードとを確認する(S403)。
次に、スマートコントラクト部14Aは、確認したID0002のユニット31の利用権の状況とサービスモードとから、ID0002のユニット31がサービス提供可能であるかどうかを判断する(S404)。ここでは、スマートコントラクト部14Aは、ID0002のユニット31の利用権が購入できる状況であるもの、ID0002のユニット31が故障しており、ID0002のユニット31が利用不可であると判断する。
次に、スマートコントラクト部14Aは、ID0002のユニット31が利用不可であると判断したので、NG通知を端末21のユーザ要求処理部22に送信する(S405)。本実施の形態では、スマートコントラクト部14Aは、図18に示すようなデータ構造で構成されるNG通知をユーザ要求処理部22に送信する。図18には、ID0002のユニット31の識別情報を示す0002と、ID0002のユニット31が利用不可であることを示すdisableと、利用権を購入できる金額を示す100円とを含むデータ構造で構成されるNG通知のデータ構造が示されている。
次に、ユーザ要求処理部22は、NG通知を受信したので、ユーザAに、NG通知を送信し(S406)、ユーザAに対してID0002のユニット31の利用許可が得られない旨を通知する。
このように、ユーザAは、故障しているIoTデバイス30の利用許可を得ることができないので、故障しているIoTデバイスまで実際に移動することを抑制でき、移動等の手間が余計にかかることもなく、移動に時間とエネルギーとを費やすことがなくなる。
[効果等]
以上のように、本開示の制御方法、制御システムによれば、分散台帳に、IoTデバイスが故障しているかどうかを示す情報を記録することができる。このため、ユーザAは、IoTデバイスが現実に存在する地点とは異なる場所でIoTデバイスの利用許可を得ようしたときに、故障しているIoTデバイスの利用許可を得てしまうことが抑制される。これにより、ユーザAは、故障しているIoTデバイスまで実際に移動することを抑制できるので、移動等の手間が余計にかかることもなく、移動に時間とエネルギーとを費やすことを抑制できる。このようにして、分散台帳を用いて、時間コストとエネルギーコストとをより低減することができる。
別の観点から見ると、本開示の制御方法、制御システム1では、スマートコントラクトを用いてIoTデバイスが故障したことを通知するためのメソッドを有する。例えば、IoTデバイスは、自ら故障を検知すると、故障したことを通知するためのメソッドを利用して、自分が故障状態であることを通知する。ここで、故障したことを通知するためのメソッドを利用する際には、PKI(署名)を用いるので、故障を検知したIoTデバイスからの通知であることを保証することができる。
これにより、故障状態であるIoTデバイスのサービスが停止されるので、故障しているIoTデバイスの利用許可を得ることができない。したがって、故障しているIoTデバイスまで実際に移動することを抑制でき、移動等の手間が余計にかかることもなく、移動に時間とエネルギーとを費やすことがなくなる。
ここで、図19及び図20を用いて、本開示の制御方法、制御システム1の効果について説明する。図19は、比較例における問題を模式的に示す図である。図20は、本開示における効果を模式的に示す図である。図19及び図20はいずれも、例えば宅配ボックスであるIoTデバイス30を構成する複数のユニット31のうちの一のユニット31が故障しているとして説明する。
図19に示すように、比較例では、配送業者50は、利用対象である一のユニット31が故障しているのを知らないので、当該一のユニット31に荷物を配送する場合、当該一のユニット31の利用権を購入するなどにより、当該一のユニット31の利用を予約できる。このため、配送業者50は、当該一のユニット31の利用権を購入後、当該ユニットがある現地に移動することになる。しかし、当該一のユニット31は故障しているので、配送業者50は、現地に到着後、当該一のユニットを利用するために開錠しようとしても当該一のユニットは動作しない。
よって、故障している当該一のユニット31までの移動が無駄になり、移動等の手間が余計にかかるだけでなく移動に費やした時間とエネルギーとが無駄になる。
一方、図20に示すように、本開示では、配送業者50は、当該一のユニット31が故障しているのを知らなくても、当該一のユニット31に荷物を配送するために当該一のユニット31の利用を予約することができない。このため、配送業者50は、故障しているIoTデバイスまで実際に移動することを抑制でき、移動等の手間が余計にかかることもなく、移動に時間とエネルギーとを費やすことがなくなる。
また、本開示の制御方法、制御システムでは、分散台帳を利用するので、どのタイミングでIoTデバイスが故障したのか、IoTデバイスの利用のための取引がいつ発生したのかなど、すべての履歴を改ざんできない状態で管理できるという効果もある。
また、本開示の制御方法、制御システムでは、取引条件のプログラムをスマートコントラクトとして分散台帳に格納することで、分散台帳に、IoTデバイスが故障しているかどうかを示す情報を記録することができる。このようにして、IoTデバイスが故障しているかどうかを示す情報をブロックチェーンで改ざんできない形で公開することができるので、不正な取引を抑制できる。
さらに、本開示の制御方法、制御システムでは、IoTデバイスを利用するというサービスを開始後に、IoTデバイスが故障したとしても、IoTデバイスが故障したことを利用者に通知できるだけでなく、エビデンスとして分散台帳に記録することができる。これにより、IoTデバイスを利用する利用者及びIoTデバイスを利用するというサービスを提供する提供者においても、迅速に対応できるので、被害を最小限にすることができる。
なお、本開示を上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
(1)例えば本開示には、上記実施の形態の制御システム1においてブロックチェーンとして記録されるブロックに用いられるデータ構造も含まれる。より具体的には、本開示のデータ構造は、1以上のIoTデバイスと、1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備えるシステムにおいて分散台帳に記録されるブロックに用いられるデータ構造である。当該データ構造は、1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、当該一のIoTデバイスが故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを含む。そして、本開示のデータ構造に含まれる第1のトランザクションデータは、分散台帳に格納されたスマートコントラクトが動作されることで複数のサーバのうちの第1サーバによって取得され、取得された第1のトランザクションデータがブロックに含まれて分散台帳に記録される。
(2)なお、本開示では、分散型の台帳管理を実現するブロックチェーン実装基盤としてブロックチェーンを挙げて説明しているが、これに限らない。Hyperledger fabricなど、他のブロックチェーン実装基盤を用いてもよい。
(3)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(4)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部またはすべてを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(5)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(6)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標)Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(7)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本開示は、制御方法、制御システム、第1サーバ、及び、データ構造に利用でき、例えば宅配ボックス、シェアリングカー、シェアリングバイク、ホテルの部屋などのIoTデバイスの故障検知の結果を、分散台帳に格納されるスマートコントラクトを用いて分散台帳に記録する制御方法、制御システム、第1サーバ、及び、データ構造などに利用可能である。
1 制御システム
5 物品
10、10A、10B、10C、10D、10E サーバ
12A 記憶装置
13A 分散台帳
14A スマートコントラクト部
21 端末
22 ユーザ要求処理部
30 IoTデバイス
31 ユニット
32 IoTデバイス管理部
111 スマートコントラクト実行部
112 トランザクションデータ検証部
114 ブロック生成部
115 同期部
116 記録部
141 デバイス利用権管理部
142 サービス提供部
143 利用可否判断部
144 台帳イベント発行部
145 故障登録部
221 ユーザ要求受付部
222 ユーザ認証部
223 トランザクションデータ処理部
224 利用可否問い合わせ部
225 トランザクションデータ生成部
321 台帳イベント監視部
322 デバイス制御部
323 故障制御部
324 故障検知部
325 故障通知部

Claims (10)

  1. 1以上のIoT(Internet of Things)デバイスと、前記1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備えるシステムにおける、前記複数のサーバのうちの第1サーバによって実行される制御方法であって、
    前記1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、前記一のIoTデバイスが前記故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、前記一のIoTデバイスから取得し、
    取得した前記第1のトランザクションデータを、前記複数のサーバのうちの前記第1サーバとは異なる複数の第2サーバに転送し、
    前記複数の第2サーバとともに、前記第1のトランザクションデータの正当性について合意するための第1のコンセンサスアルゴリズムを実行し、
    前記第1のコンセンサスアルゴリズムによって前記第1のトランザクションデータの正当性が検証された場合、前記第1のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する、
    制御方法。
  2. 前記システムは、さらに、前記複数のサーバと前記ネットワークを介して通信可能な端末でありユーザが使用する端末を備え、
    前記制御方法は、
    前記端末から、前記ユーザが前記一のIoTデバイスを利用可能かどうか問い合わせるためのユーザ要求を受信した場合、前記一のIoTデバイスが利用可能かどうかを示す状態情報を読み出し、
    読み出した前記状態情報から、前記一のIoTデバイスが利用可能であることを判定した場合、前記端末に対して、所定の条件下での前記一のIoTデバイスの利用を許可する旨を示す第1信号を送信する、
    請求項1に記載の制御方法。
  3. 前記制御方法は、
    読み出した前記状態情報から、前記一のIoTデバイスが利用不可であることを判定した場合、前記端末に対して、前記一のIoTデバイスの利用を許可しない旨を示す信号を送信する、
    請求項2に記載の制御方法。
  4. 前記制御方法は、さらに、
    前記端末から、前記一のIoTデバイスの利用権を購入した旨を示す第2のトランザクションデータを取得した場合、取得した前記第2のトランザクションデータを、前記複数のサーバのうちの前記複数の第2サーバに転送し、
    前記複数の第2サーバとともに、前記第2のトランザクションデータの正当性について合意するための第2のコンセンサスアルゴリズムを実行し、
    前記第2のコンセンサスアルゴリズムによって前記第2のトランザクションデータの正当性が検証された場合、前記第2のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する、
    請求項2に記載の制御方法。
  5. 前記状態情報は、さらに、前記一のIoTデバイスの開閉状態を含み、
    前記制御方法は、さらに、
    前記端末から、前記利用権に基づく前記一のIoTデバイスの開錠要求を示す第3のトランザクションデータを取得し、
    取得した前記第3のトランザクションデータを、前記複数の第2サーバに転送し、
    前記複数の第2サーバとともに、前記第3のトランザクションデータの正当性について合意するための第3のコンセンサスアルゴリズムを実行し、
    前記第3のコンセンサスアルゴリズムによって前記第3のトランザクションデータの正当性が検証された場合、前記第3のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録することで、前記状態情報に含まれる前記一のIoTデバイスの開閉状態を変更する、
    請求項4に記載の制御方法。
  6. 前記制御方法は、
    前記分散台帳に記録された前記第1のトランザクションデータを読み出し、
    読み出した前記第1のトランザクションデータに基づいて前記状態情報を生成して、前記第1サーバが有するメモリ上に書き出しており、
    前記端末から、前記ユーザ要求を受信した場合、前記メモリ上における前記状態情報を読み出す、
    請求項2~5のいずれか1項に記載の制御方法。
  7. 前記時刻情報は、前記故障情報を取得したときのタイムスタンプまたはシーケンス番号である、
    請求項1~6のいずれか1項に記載の制御方法。
  8. 前記制御方法は、
    前記故障情報を取得した場合、前記分散台帳に格納されたスマートコントラクトを動作させることで、前記第1のトランザクションデータを取得する、
    請求項1~7のいずれか1項に記載の制御方法。
  9. 1以上のIoTデバイスと、
    前記1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備え、
    前記複数のサーバのうちの第1サーバは、
    前記1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、前記一のIoTデバイスが前記故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、前記一のIoTデバイスから取得し、
    取得した前記第1のトランザクションデータを、前記複数のサーバのうちの前記第1サーバとは異なる複数の第2サーバに転送し、
    前記複数の第2サーバとともに、前記第1のトランザクションデータの正当性について合意するための第1のコンセンサスアルゴリズムを実行し、
    前記第1のコンセンサスアルゴリズムによって前記第1のトランザクションデータの正当性が検証された場合、前記第1のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する、
    制御システム。
  10. 1以上のIoTデバイスと、前記1以上のIoTデバイスとネットワークを介して通信可能な複数のサーバとを備えるシステムにおける、前記複数のサーバのうちの第1サーバであって、
    プロセッサと、
    前記プロセッサに処理を実行させるプログラムが記憶されたメモリと、
    スマートコントラクトが格納された分散台帳が記憶されている記憶装置とを備え、
    前記プロセッサは、前記分散台帳に格納されたスマートコントラクトを動作させることで、前記1以上のIoTデバイスのうちの一のIoTデバイスが故障したことを示す故障情報と、前記一のIoTデバイスが前記故障情報を取得したときの時刻情報とを含む第1のトランザクションデータを、前記一のIoTデバイスから取得し、
    前記プロセッサは、前記メモリに記憶された前記プログラムを実行することにより、
    取得した前記第1のトランザクションデータを、前記複数のサーバのうちの前記第1サーバとは異なる複数の第2サーバに転送し、
    前記複数の第2サーバとともに、前記第1のトランザクションデータの正当性について合意するための第1のコンセンサスアルゴリズムを実行し、
    前記第1のコンセンサスアルゴリズムによって前記第1のトランザクションデータの正当性が検証された場合、前記第1のトランザクションデータを含むブロックを前記第1サーバの分散台帳に記録する、
    第1サーバ。
JP2020553337A 2018-10-18 2019-10-18 制御方法、制御システム及び第1サーバ Active JP7458321B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862747295P 2018-10-18 2018-10-18
US62/747,295 2018-10-18
PCT/JP2019/041094 WO2020080522A1 (ja) 2018-10-18 2019-10-18 制御方法、制御システム、第1サーバ、及び、データ構造

Publications (2)

Publication Number Publication Date
JPWO2020080522A1 JPWO2020080522A1 (ja) 2021-09-09
JP7458321B2 true JP7458321B2 (ja) 2024-03-29

Family

ID=70283042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020553337A Active JP7458321B2 (ja) 2018-10-18 2019-10-18 制御方法、制御システム及び第1サーバ

Country Status (5)

Country Link
US (1) US11556103B2 (ja)
EP (1) EP3869425A4 (ja)
JP (1) JP7458321B2 (ja)
CN (1) CN112470179A (ja)
WO (1) WO2020080522A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210073754A1 (en) * 2019-09-10 2021-03-11 Carrier Corporation Method and system to execute and record transactions for a key-box in a blockchain
US11695544B2 (en) * 2019-09-17 2023-07-04 Carrier Corporation Method and system to execute and record transactions for a key in a blockchain

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018067310A (ja) 2016-10-14 2018-04-26 株式会社テクニカルフィット 物品を保管する保管ボックスの管理方法
JP6363278B1 (ja) 2017-08-07 2018-07-25 株式会社Aerial Lab Industries 配送方法及び配送システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5689893A (en) * 1979-12-20 1981-07-21 Nec Corp Method of decomposing organic substance in waste matter
JP2014182448A (ja) * 2013-03-18 2014-09-29 Fujitsu Ltd 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
AU2017204096A1 (en) * 2016-06-17 2018-01-18 Nomadic Lockers Pty Ltd Storage System
JP2018022941A (ja) * 2016-08-01 2018-02-08 大日本印刷株式会社 管理システム、管理サーバ及び管理プログラム
US11227457B2 (en) * 2017-12-02 2022-01-18 International Business Machines Corporation Blockchain managed storage
US11328347B2 (en) * 2018-06-28 2022-05-10 International Business Machines Corporation Rental asset processing for blockchain
BR112021001622A2 (pt) * 2018-07-30 2021-05-04 Margento R&D D.O.O. caixa de entrega em domicílio autônoma inteligente

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018067310A (ja) 2016-10-14 2018-04-26 株式会社テクニカルフィット 物品を保管する保管ボックスの管理方法
JP6363278B1 (ja) 2017-08-07 2018-07-25 株式会社Aerial Lab Industries 配送方法及び配送システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
沖野 健一,分散台帳技術のセキュリティ要件,金融研究 第37巻 第1号,日本,株式会社国際文献社,2018年01月22日,pp.89-108,特にpp.99-100
玄 忠雄,管理者不在でもセキュアな宅配ロッカー 分散台帳でオープンな企業参加を実現,日経コミュニケーション,日本,日経BP社,2017年07月01日,第642号,p.48-49

Also Published As

Publication number Publication date
WO2020080522A1 (ja) 2020-04-23
EP3869425A4 (en) 2021-12-15
CN112470179A (zh) 2021-03-09
US20210149356A1 (en) 2021-05-20
EP3869425A1 (en) 2021-08-25
US11556103B2 (en) 2023-01-17
JPWO2020080522A1 (ja) 2021-09-09

Similar Documents

Publication Publication Date Title
JP7458322B2 (ja) 制御方法、制御システム及び第1サーバ
US10855446B2 (en) Autonomous exchange via entrusted ledger
US11159306B2 (en) Autonomous exchange via entrusted ledger token and transaction management
US11625711B2 (en) Autonomous exchange via entrusted ledger key management
US20220004538A1 (en) Autonomous exchange via entrusted ledger immutable distributed database
US20200311721A1 (en) Autonomous exchange via entrusted ledger application specific wallet
US11909881B2 (en) Digital asset management
US8494170B2 (en) Redundant key server encryption environment
TWI502396B (zh) 保全應用程式中購買
EP2102781B1 (en) Highly available cryptographic key storage (hacks)
CN102546664A (zh) 用于分布式文件系统的用户与权限管理方法及系统
KR20140093716A (ko) 컴퓨팅 장치를 보안화하는 방법
WO2010013092A1 (en) Systems and method for providing trusted system functionalities in a cluster based system
JP7458321B2 (ja) 制御方法、制御システム及び第1サーバ
US11605071B2 (en) Autonomous exchange via entrusted ledger key management
JP2009258917A (ja) プロキシサーバ、認証サーバおよび通信システム
KR102627868B1 (ko) 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
US20220393881A1 (en) Autonomous exchange via entrusted ledger digital signature management and administration
KR102572834B1 (ko) 서명 가능 컨트랙트를 이용하여 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
US9361435B1 (en) Multi-tier digital supply chain management
US9602546B2 (en) Accurate license counting in synchronized servers
WO2020203010A1 (ja) 故障監視方法、監視装置及びプログラム
KR102588355B1 (ko) 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
Hoenderboom Electronic Health Record
WO2015188247A1 (en) Keep-alive system and method for cloud-based database systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231201

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: 20240305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240318

R150 Certificate of patent or registration of utility model

Ref document number: 7458321

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150