(57)【要約】  仮想デバイスを提供するための装置は回路を有する。回路は、分散台帳内の仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索する。分散台帳には、複数のリソースデバイスに関する情報が含まれる。回路は、仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択することによって仮想デバイスを提供する。
2020509448.tif 000002
【特許請求の範囲】
【請求項１】
仮想デバイスを提供する装置であって、前記装置は、
分散台帳における前記仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索することであって、前記分散台帳が複数のリソースデバイスに関する情報を含む、検索することと、
前記仮想デバイスの特性の前記セットの特性を提供するリソースデバイスを選択することによって前記仮想デバイスを提供することと、
を行うように構成される回路を備える、装置。
【請求項２】
前記回路が、前記仮想デバイスの特性の前記セットに基づいて仮想デバイススマートコントラクトを生成するようにさらに構成される、請求項１に記載の装置。
【請求項３】
前記回路が、前記仮想デバイススマートコントラクトを前記分散台帳に格納するようにさらに構成される、請求項２に記載の装置。
【請求項４】
前記回路が、前記仮想デバイスをアクティブ化するようにさらに構成される、請求項３に記載の装置。
【請求項５】
前記リソースデバイスが、ネットワークに接続される、請求項１に記載の装置。
【請求項６】
前記ネットワークが、インターネットを含む、請求項５に記載の装置。
【請求項７】
前記分散台帳が、ブロックチェーンである、請求項１に記載の装置。
【請求項８】
前記複数のリソースデバイスに関する前記情報が、スマートコントラクト情報を含む、請求項１に記載の装置。
【請求項９】
前記スマートコントラクト情報が、プログラムコードを含む、請求項８に記載の装置。
【請求項１０】
前記スマートコントラクト情報が、チューリング言語に基づく、請求項８に記載の装置。
【請求項１１】
仮想デバイスを提供する方法であって、前記方法は、
分散台帳における前記仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索するステップであって、前記分散台帳が複数のリソースデバイスに関する情報を含む、検索するステップと、
前記仮想デバイスの特性の前記セットの特性を提供するリソースデバイスを選択することによって前記仮想デバイスを提供するステップと、
を備える、方法。
【請求項１２】
前記仮想デバイスの特性の前記セットに基づいて仮想デバイススマートコントラクトを生成するステップをさらに備える、請求項１１に記載の方法。
【請求項１３】
前記仮想デバイススマートコントラクトを前記分散台帳に格納するステップをさらに備える、請求項１２に記載の方法。
【請求項１４】
前記仮想デバイスをアクティブ化するステップをさらに備える、請求項１３に記載の方法。
【請求項１５】
前記リソースデバイスが、ネットワークに接続される、請求項１１に記載の方法。
【請求項１６】
前記ネットワークが、インターネットを含む、請求項１５に記載の方法。
【請求項１７】
前記分散台帳が、ブロックチェーンである、請求項１１に記載の方法。
【請求項１８】
前記複数のリソースデバイスに関する前記情報が、スマートコントラクト情報を含む、請求項１１に記載の方法。
【請求項１９】
前記スマートコントラクト情報が、プログラムコードを含む、請求項１８に記載の方法。
【請求項２０】
前記スマートコントラクト情報が、チューリング言語に基づく、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、仮想デバイスを提供するための装置および方法に関する。
【背景技術】
【０００２】
一般に、台帳を複数の要素、例えば、デジタルトランザクションを記録する電子デバイスまたはサーバなどに分散することが知られている。分散台帳は、例えば、既知の暗号通貨ビットコインをベースとする既知のブロックチェーン技術に基づくことができる。ブロックチェーンおよび分散台帳の用語に関する統一された定義はまだない。本明細書では、最も広い定義では、これらの用語は、ネットワークの複数のノードとデジタル記録されたデータを共有する一種のデータベースとして使用される。それはピアツーピアネットワークから構成してもよい。デジタル記録されたデータは、同じデータベース上の以前に記録されたデータからその一貫性を証明するためのある種の情報を含むことができる。
【０００３】
分散台帳は公開され、誰でもアクセス可能にすることができるが、原則として、非公開にすることもでき、権限を持つユーザのみにそれらへのアクセス権を与えてもよい。階層化された各ユーザから台帳のデータへのアクセス許可を区別することもできる。
【０００４】
分散台帳は、例えば、ビットコインに使用されるようなブロックチェーン技術から知られているメカニズムを使用することができる。そのようなメカニズムには、発見方法、コンセンサスメカニズム、およびデータの整合性を保つためのメカニズムなどが含まれる。コンセンサスメカニズムにより、分散台帳のコピーを有するすべてのノード、または特定の数を超えるノード、通常は電子デバイスが、分散台帳の内容について合意することを保証する。ある種の暗号パズルであり、例えば、ブロックチェーンの古いブロックを（簡単に）変更できないことを保証する、いわゆるプルーフオブワークメカニズムを含む、多くのコンセンサスメカニズムが存在する。例えば、ビットコインブロックチェーンのマイニングプロセスには、プルーフオブワークが使用される。
【０００５】
ブロックチェーン技術に基づく分散台帳のもう１つの例は、いわゆるＥｔｈｅｒｅｕｍプロジェクトである。Ｅｔｈｅｒｅｕｍはアカウントを使用し、各アカウントの状態はＥｔｈｅｒｅｕｍブロックチェーンによって追跡される。アカウントには２つのタイプがあり、すなわち、プライベートキーによって制御される外部所有アカウント（ｅｘｔｅｒｎａｌｌｙ  ｏｗｎｅｄ  ａｃｃｏｕｎｔ）と、コントラクトコードによって制御され、外部所有アカウントによってのみアクティブ化できるコントラクトアカウントである。コントラクトアカウントには、プログラム可能コードまたはスマートコントラクトを含めることができる。Ｅｔｈｅｒｅｕｍのユーザはまた、ｅｔｈｅｒと呼ばれる料金を支払う必要がある。Ｅｔｈｅｒは、ブロックをマイニングすることに対する報酬である。
【０００６】
トランザクションおよびスマートコントラクトに対して分散台帳を使用するための技術が存在するが、一般に、電子デバイスを編成するために分散台帳技術を適用することが望ましい。
【０００７】
本明細書に開示される解決策は、Ｈａｄｏｏｐのような分散データベース技術を使用することで置き換えることができる。
【発明の概要】
【課題を解決するための手段】
【０００８】
第１の態様によれば、本開示は、仮想デバイスを提供する装置を提供し、本装置は、分散台帳における仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索することであって、分散台帳が複数のリソースデバイスに関する情報を含む、検索することと、仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択することによって仮想デバイスを提供することと、を行うように構成される回路を備える。
【０００９】
第２の態様によれば、本開示は、仮想デバイスを提供する方法を提供し、本方法は、分散台帳における仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索するステップであって、分散台帳が複数のリソースデバイスに関する情報を含む、検索するステップと、仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択することによって仮想デバイスを提供するステップと、を備える。
【００１０】
さらなる態様は、従属請求項、以下の説明、および図面に記載される。
【００１１】
実施形態は、添付の図面に関して例として説明される。
【図面の簡単な説明】
【００１２】
【図１】装置が仮想デバイスを提供する、本開示の一実施形態を示す図である。
【図２】本開示の一実施形態で使用することができるリソースデバイスの概要を示す図である。
【図３】装置が図２に示されるリソースデバイスを使用して仮想ＩｏＴ監視モニタを提供する本開示のさらなる実施形態を示す図である。
【図４】ブロックチェーン上でリソースコントラクトを提供するための方法のフローチャートである。
【図５】仮想ＩｏＴデバイスのスマートコントラクトを提供するための方法のフローチャートである。
【図６】仮想デバイスを提供するための方法のフローチャートである。
【図７】装置の実施形態を示す図である。
【発明を実施するための形態】
【００１３】
図１を参照して実施形態の詳細な説明を提示する前に、一般的な説明を行う。
【００１４】
冒頭でも示したように、将来の分散台帳技術、特に、ブロックチェーン技術には、スマートコントラクトを定義するために特徴豊富な機能が含まれる。スマートコントラクトは、例えば、複雑なビジネスロジックおよびインテリジェントエージェントなどがスマートコントラクトとして実装され得るようにチューリング完全プログラミング言語で書くことができる。インテリジェントエージェントなどのスマートコントラクトは、ブロックチェーンアーキテクチャ上で実行することができる。
【００１５】
ネットワークを介して接続される電子デバイス、例えば、モノのインターネット（ＩｏＴ）デバイスが、いくつかの方法で分散台帳技術を使用することができることが認識された。第１の例によれば、分散台帳またはブロックチェーンを使用して、そのような装置間でデータを共有することができる。第２の例によれば、デバイスのリソースは、ブロックチェーンでやりとりすることができる。第３の例によれば、ブロックチェーンは、デバイスのサブセット間に信頼関係を確立することができる。
【００１６】
冒頭で説明したように、台帳を複数の要素、例えば、デジタルトランザクションを記録する電子デバイスまたはサーバなどに分散することが知られている。分散台帳は、例えば、既知の暗号通貨ビットコインをベースとする既知のブロックチェーン技術に基づくことができる。ブロックチェーンおよび分散台帳の用語に関する統一された定義はまだない。本明細書では、最も広い定義では、これらの用語は、ネットワークの複数のノードとデジタル記録されたデータを共有する一種のデータベースとして使用される。それはピアツーピアネットワークから構成してもよい。デジタル記録されたデータは、同じデータベース上の以前に記録されたデータからその一貫性を証明するためのある種の情報を含むことができる。
【００１７】
分散台帳は公開され、誰でもアクセス可能にすることができるが、原則として、非公開にすることもでき、権限を持つユーザのみにそれらへのアクセス権を与えてもよい。階層化された各ユーザから台帳のデータへのアクセス許可を区別することもできる。
【００１８】
分散台帳は、例えば、ビットコインに使用されるようなブロックチェーンから知られているメカニズムを使用することができる。そのようなメカニズムには、発見方法、コンセンサスメカニズム、およびデータの整合性を保つためのメカニズムなどが含まれる。コンセンサスメカニズムにより、分散台帳のコピーを有するすべてのノード、または特定の数を超えるノード、通常は電子デバイスが、分散台帳の内容について合意することを保証する。ある種の暗号パズルであり、例えば、ブロックチェーンの古いブロックを（簡単に）変更できないことを保証する、いわゆるプルーフオブワークメカニズムを含む、多くのコンセンサスメカニズムが存在する。例えば、ビットコインブロックチェーンのマイニングプロセスには、プルーフオブワークが使用される。
【００１９】
ブロックチェーン技術に基づく分散台帳のもう１つの例は、いわゆるＥｔｈｅｒｅｕｍプロジェクトである。Ｅｔｈｅｒｅｕｍはアカウントを使用し、各アカウントの状態はＥｔｈｅｒｅｕｍブロックチェーンによって追跡される。アカウントには２つのタイプがあり、すなわち、プライベートキーによって制御される外部所有アカウント（ｅｘｔｅｒｎａｌｌｙ  ｏｗｎｅｄ  ａｃｃｏｕｎｔ）と、コントラクトコードによって制御され、外部所有アカウントによってのみアクティブ化できるコントラクトアカウントである。コントラクトアカウントには、プログラム可能コードまたはスマートコントラクトを含めることができる。Ｅｔｈｅｒｅｕｍのユーザはまた、ｅｔｈｅｒと呼ばれる料金を支払う必要がある。Ｅｔｈｅｒは、ブロックをマイニングすることに対する報酬である。
【００２０】
それに応じて、いくつかの実施形態は、仮想デバイスを提供する装置に関し、本装置は、分散台帳における仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索することであって、分散台帳が複数のリソースデバイスに関する情報を含む、検索することと、仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択すること（組み合わせることを含み得る）によって仮想デバイスを提供することと、を行うように構成される回路を備える。
【００２１】
本装置は、任意の種類の電子装置、例えば、汎用コンピュータ、コンピュータシステム、モバイルデバイス（スマートフォンなど）、サーバ、ネットワークノード、分散台帳ネットワークのノードなどとすることができる。
【００２２】
本回路は、１つまたは複数のプロセッサを含むことができるが、本装置のより多くの電子部品、特に、本明細書に記載の方法およびプロセスを実行するのに必要な電子部品も含むことができる。
【００２３】
仮想デバイスは、所定の特性のセットを有する仮想電子デバイスとすることができる。これらの特性は、例えば、ユーザによって、事前定義することができる。そのような特性は、地理的特性、センサ特性、計算特性、料金特性、時間特性などのソフトウェア、ビジネス、ハードウェア特性を含むことができる。
【００２４】
分散台帳は、例えば、インターネットを含むことができるネットワークを介して、相互接続することができ、および分散台帳ネットワークのネットワークノードとすることができる、電子デバイスまたはサーバなどの複数の要素に分散することができる。
【００２５】
本装置は、ネットワーク（ローカルエリアネットワークおよび無線ネットワークなど）に接続されるように構成することができ、ネットワークを介してインターネットにアクセスすることもできる。装置（回路）は、ネットワークインターフェースなどを含むことができ、回路は、ネットワークを介して通信するように構成することができる。装置は、分散台帳ネットワークのノードとしてもよい。
【００２６】
リソースデバイスは、任意の種類の電子デバイスまたは電子デバイスの一部とすることもできる。リソースデバイスは、インターネットを含むことができるネットワークを介して互いにおよび／または装置と相互接続することができる。
【００２７】
リソースデバイスは、いくつかの特性を有することができ、分散台帳は、複数のリソースデバイスに関する情報を含む。
【００２８】
装置は分散台帳のコピーを含むことができ、および／または装置が分散台帳を検索することができ、さらに仮想デバイスの特性のセットの１つまたは複数の特性を提供するリソースデバイスを発見することができるように、装置は分散台帳のコピーへのアクセス権を有することができる。
【００２９】
装置は、仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択することによって仮想デバイスを提供する。これらのリソースデバイスは、分散台帳を検索することによって検出および取得される。
【００３０】
ＩｏＴデバイスなどの電子デバイスは、長寿命を期待されている。しかしながら、技術の進歩により、ＩｏＴの潜在的な機能は急速に向上する可能性がある。したがって、顧客は、定期的に新しいデバイスを購入したくなくても自分のデバイスをアップグレードするための様々な手段を有することができる。そのような手段として考えられるのは無線ソフトウェアアップグレードであるが、追加機能は追加ハードウェアサポートを必要とする可能性があり、それは実現するのが容易でない可能性があり、または既知のデバイスで実現することが不可能でさえある可能性がある。また、ユーザが限られた時間内に電子デバイスを使用することを望むことがあるかもしれないが、現在の解決策は、典型的に、ユーザが一時的にデバイスを必要とする場合には柔軟な解決策を提供しないことも起こり得る。例えば、医療監視デバイスは、ユーザによって必要とされるのは病気の間だけかもしれない。さらに、電子デバイスは、通常、かなり固定された機能を有する。したがって、追加の機能が必要な場合、ユーザは新しいデバイスを購入しなければならない可能性がある。最後に、現在の解決策では、電子デバイスの構成要素を他の目的に再利用することは困難である。
【００３１】
本明細書で説明するように仮想デバイスを提供することによって、任意の要求に対してそれぞれの仮想デバイスを定義することができ、それぞれのリソースデバイスが見つかった場合に仮想デバイスを提供することができるように、仮想デバイスを要求ごとに定義できるので、これらの問題に対処することができる。
【００３２】
したがって、ネットワークまたはＩｏＴデバイスなどのデバイスを仮想デバイスとして仮想的に定義することができるので、仮想デバイスの構成に関して柔軟性をもたらすことができる。さらに、仮想デバイスの機能は簡単にアップグレードすることができる。ユーザまたは本明細書に記載される装置は、それらがそのサービスを必要とする時間だけ仮想デバイスを操作し所有することができる。さらに、仮想デバイスは、使用されていないリソースデバイスのリソースを再利用することができる。これはまた、リソースデバイスの所有者に収益の可能性をもたらす。
【００３３】
仮想デバイスを定義するためにブロックチェーンなどの分散台帳を使用することによって、（完全に）分散された手法を実現することができる。いくつかの実施形態では、仮想デバイスは、それらの機能を実装するためにプログラムコードおよびロジックを実行する必要がある。そのようなプログラムコードは、スマートコントラクトの言語で定義することができ、ブロックチェーン上で実行することができる。これは、ブロックチェーンの他の要素（例えば、他の仮想ＩｏＴデバイス、スマートコントラクトなど）と対話するための完全に自動化された方法を提供することができる。
【００３４】
いくつかの実施形態では、回路は、仮想デバイスの特性のセットに基づいて仮想デバイススマートコントラクトを生成するようにさらに構成される。したがって、仮想デバイススマートコントラクトを使用して、仮想デバイスと、例えば、それが有するリソースなどのその特性とを定義することができる。リソースは、例えば、センサ、ストレージ、および計算機能などとすることができる。一般に、上記したように、特性は、ハードウェア（センサ、ストレージ、計算リソースなど）、ソフトウェア（プログラミング言語（例えばチューリング言語））、およびビジネス特性（支払うべき料金、使用時間、ユーザ数など）の他の種類の特性のうちの少なくとも１つを含むことができる。
【００３５】
回路は、仮想デバイススマートコントラクトを分散台帳に格納するようにさらに構成することができる。
【００３６】
それにより、スマートコントラクトは、分散台帳によって、例えば、分散台帳を管理するノード（サーバ、電子デバイスなど）によって、実行することさえもできる。
【００３７】
回路は、仮想デバイスをアクティブ化するようにさらに構成することができる。これは、例えば、分散台帳でスマートコントラクトをアクティブ化することによって、実装することができる。
【００３８】
示したように、分散台帳はブロックチェーンとすることができ、例えば、ビットコインまたはＥｔｈｅｒｅｕｍプロジェクトに使用される原理に基づくことができる。ブロックチェーンは、ブロックチェーン（分散台帳）を維持しているすべてのノードがブロックチェーンの内容についてコンセンサスに達することを保証するコンセンサスメカニズムなどの典型的なメカニズムを実装することができる。それにより、マイニングおよびプルーフオブワークメカニズムを使用することができ、通貨としておよび／またはマイニングを実行するための報酬として、Ｅｔｈｅｒまたはビットコインなどのある種の報酬（通貨）を使用することができる。
【００３９】
ブロックチェーンは、例えば、複数のリソースデバイスに関する情報に基づいて、および／または提供された仮想デバイスに関する情報、例えば、仮想デバイススマートコントラクトに基づいて形成される複数のブロックを含むことができる。いくつかの実施形態では、複数のリソースデバイスに関する情報は、例えば、リソースデバイスのリソース（機能）、支払われるべき料金、利用可能性（利用可能時間）などに関する情報を含むスマートコントラクト情報（例えば、スマートコントラクト）を含む。情報は、トランザクションの形式でブロックチェーンに提供することができる。
【００４０】
スマートコントラクト情報はまた、それぞれのリソースデバイスを制御するために実行され得るプログラムコードまたはデバイスロジック（コード）を含むことができる。
【００４１】
一般に、本明細書で言及されるスマートコントラクトおよびスマートコントラクト情報は、チューリング（完全）言語に基づくことができ、そのため、普遍的に適用可能である。
【００４２】
いくつかの実施形態におけるように、リソースデバイスは、分散台帳（または、ブロックチェーン）を維持するネットワークのノードとすることができ、分散台帳は、リソースデバイスによって（少なくとも部分的に）維持することができる。
【００４３】
リソースデバイスは、実世界または物理デバイスでもよく、それらのリソースおよび機能、例えば、センサ機能、ストレージ機能、および計算機能などを分散台帳またはブロックチェーン上に公開するように構成することができる（上記の説明も参照。
【００４４】
いくつかの実施形態は、仮想デバイスを提供する方法に関し、装置の回路によって実行される機能の説明は、その方法に完全に当てはまる。本方法は、上記のように、分散台帳における仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索するステップであって、分散台帳が複数のリソースデバイスに関する情報を含む、検索するステップと、仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択することによって仮想デバイスを提供するステップと、を備える。本方法は、上記のように、仮想デバイスの特性のセットに基づいて仮想デバイススマートコントラクトを生成するステップを備えることができる。上記のように、分散台帳に仮想デバイススマートコントラクトを格納するステップを備えることができ、仮想デバイスをアクティブ化するステップを備えることができる。リソースデバイスは、上記のように、インターネット（モノのインターネット）などのネットワークに接続することができる。分散台帳は、上記のように、ブロックチェーンとすることができる。複数のリソースデバイスに関する情報は、上記のように、プログラムコードを含むことができてチューリング言語に基づくことができるスマートコントラクト情報を含むことができる。
【００４５】
図１に戻ると、本開示の一実施形態の一般的概要が示されている。
【００４６】
装置１、例えば、回路２を有する電子デバイスまたはコンピュータなどが提供される。装置１は、複数のブロックを有するブロックチェーン３と通信し、ここでは、例示的なブロック４が示されている。ブロックチェーン３は、分散台帳の一例であり、複数台のコンピュータまたはサーバなど（図示せず）によって維持される。
【００４７】
さらに、ネットワークを介して、この場合はインターネットを介して通信し、ＩｏＴ（「モノのインターネット」）デバイスＡ、Ｂ、およびＣとも称され、上記のようにリソースデバイスとみなされる、実世界または物理デバイス５、６、および７が提供される。
【００４８】
ＩｏＴデバイスＡ、Ｂ、およびＣは、原則として、カメラ、センサ、またはストレージなど、インターネットを介して通信することができる任意の種類のデバイスとすることができる。当然、本開示は、特定の数のデバイスに限定されず、３つのデバイス５、６、および７の数は例示の目的のために任意に選択される。
【００４９】
ＩｏＴデバイス５、６、および７は、ブロックチェーン３にアクセスする。そのようなアクセスは許可される可能性も、許可されない可能性もある。
【００５０】
本実施形態では、これらのＩｏＴデバイス５、６、および７は、利用可能なセンサ、ストレージ機能、計算機能、アクチュエータなどに関して異なる機能を有する。さらに、これらのＩｏＴデバイス５、６、および７は、異なるユーザによって所有され、この点に関して本開示を限定することなく、この実施形態では異なる場所に配置される。
【００５１】
ＩｏＴデバイス５、６、および７のすべてのリソースが使用されるわけではなく、またはそれらが継続的に使用されない可能性がある。本実施形態では、ＩｏＴデバイス５、６、および７などのリソースデバイスのリソースを再利用することができる。この目的のために、本実施形態では、ＩｏＴデバイス５、６、および７のそれぞれは、ブロックチェーン３上およびブロック４内にそれぞれリソースコントラクトを作成および／または提供する。本明細書では、リソースコントラクトは、ＩｏＴデバイス５、６、または７によってエクスポートされるリソースとそのリソースの利用可能性を定義するスマートコントラクトである。さらに、ＩｏＴデバイス５、６、または７は、リソースを使用する任意の当事者がＩｏＴデバイス５、６、もしくは７、またはその所有者に報酬を与えることを要求することができる。したがって、リソースのコストも、リソースコントラクトで定義される。ＩｏＴデバイス５、６、および７によってエクスポートされ得るリソースの例は、データのためのストレージ機能、データのためのデータ通信機能、センサによって取られる測定値、カメラによって撮られる画像および動画、実世界で作動する機能などである。その回路２を有する装置１は、ブロックチェーン上のＩｏＴデバイス、例えば、ＩｏＴデバイス５、６、および７によってエクスポートされるいくつかの異なるリソースをトランザクションとして使用する仮想ＩｏＴデバイスを作成する。
【００５２】
仮想ＩｏＴデバイスコントラクト８は、仮想ＩｏＴデバイスおよびそれが使用するリソース、例えば、本実施形態では、センサリソース８ｂ、ストレージリソース８ｃ、および計算リソース８ｄを定義することができる。この実施形態では、仮想ＩｏＴデバイスコントラクト８は、デバイスロジック８ａも含むスマートコントラクトである。デバイスロジック８ａは、仮想ＩｏＴデバイスの動作を定義するプログラムコードである。このようなプログラムコードは、現在のブロックチェーン３のスマートコントラクトによってサポートされるチューリング完全言語で実装される。ユーザは、限られた時間の間、装置１で仮想ＩｏＴデバイスコントラクト８を作成することができる。仮想ＩｏＴデバイスリソースまたはリソースデバイスの構成中に、例えば、ＩｏＴデバイス５、６、または７は、いくつかの基準に基づいて選択され得る。そのような基準の例は、リソースデバイスの利用可能性、リソースデバイスの性能特性、およびリソースデバイスのコストなどである。リソースデバイスの種類によっては、リソースの場所も重要になる可能性がある。そのようなリソースデバイスの一例は、仮想ＩｏＴデバイスのユーザに関連する物理量を測定するセンサ、特定の領域を撮像するカメラなどである。他のリソースデバイスの場合、物理的位置、例えば、装置１とは異なる位置に存在し得るデータのためのストレージスペースは、重要ではない可能性がある。
【００５３】
一般に、仮想ＩｏＴデバイスコントラクト８が定義され、ならびに選択されたＩｏＴデバイス５、６、および７のリソースコントラクト５ａ、６ａ、および７ａが（例えば、トランザクションとして）追加されると、ブロック４は、ブロックチェーン３によって形成され得る。上記のように、これは、一般に知られているように、プルーフオブワークメカニズムを含むことができる。いくつかの実施形態では、ブロックを発見することに対する報酬、例えば、ビットコイン、Ｅｔｈｅｒ、または他の仮想／デジタル通貨が存在し得る。
【００５４】
いくつかの実施形態では、仮想ＩｏＴデバイスの状態は、後に使用するためにアーカイブすることができる。これは、例えば、仮想ＩｏＴデバイスおよび／または仮想ＩｏＴデバイスコントラクト８の設定を、例えば、装置１の、ストレージに記憶することによって行うことができる。仮想ＩｏＴデバイスが再起動される場合、その各リソースは、物理的なリソースデバイス、例えば、ＩｏＴデバイス５、６、および７によって満たされなければならない。リソースコントラクトは、リソースを満たすブロックチェーンで選択することができる。すべてのリソースが満たされると、仮想ＩｏＴデバイスを再起動することができる。
【００５５】
他の実施形態では、仮想ＩｏＴデバイスのリソースは、物理リソースデバイス、例えば、ＩｏＴデバイス５、６、および７によって、冗長的に実施される。
【００５６】
本開示のより一般的な実装態様を説明した後、以下において、実施形態のいくつかのより具体的な例が示される。
【００５７】
例えば、仮想ＩｏＴデバイスは、仮想の植物および作物モニタとすることができる。そのような仮想ＩｏＴデバイスは、屋内および／または屋外の状況において消費者または農家の植物および作物を監視する。仮想ＩｏＴデバイスは、以下のセンサリソースを使用することができ、すなわち、例えば、作物が生育する地域の低解像度映像を提供する衛星撮像システムを使用することができる。この映像から、生育地帯の含水量を検出することができる。最新の天気予報を提供する気象ステーションを使用することができる。センサデータは、例えば、予備のストレージ機能を有するストレージデバイスによって提供されるリソースに格納される。
【００５８】
仮想ＩｏＴデバイスは、例えば、追加センサ、より優れた機能を有するセンサなどを使用するように再構成することができる。例えば、無人機が利用可能である可能性があり、それはそこから詳細な作物情報が導き出される可能性がある栽培地域の高解像度のハイパースペクトル画像を提供する。例えば、木の実の現状は、それらの熟度も含めて自動的に評価することができる。木の実が木に成り始めるときにこのような無人機によって提供されると、農家は装置１を用いてこの機能を注文することができる。
【００５９】
別の実施形態では、仮想ＩｏＴデバイスは患者の薬物使用量を監視するように構成される。そのような仮想ＩｏＴデバイスは、患者が病気である期間中に作成することができる。仮想デバイスのリソースは、患者が所有するカメラまたは患者を撮像することができるカメラを含むことができる。これらのカメラはまた、他の電子デバイス、例えば、携帯電話およびラップトップなどに統合して配置することもでき、患者の自宅および職場環境における患者の映像を記録することができる。仮想ＩｏＴデバイスはまた、錠剤が箱から取り出された場合を検出するためにスマート薬箱によって提供される機能を使用することもできる。仮想ＩｏＴデバイスプログラムは、患者が自分の薬を服用した場合を検出するためにスマート薬箱からの情報と共に患者の映像を使用することができる。情報を格納するには、ストレージ機能を備えた任意のＩｏＴデバイスが提供できるストレージリソースも必要である。仮想ＩｏＴデバイスは、薬がまだ服用されていないことを患者に知らせるために携帯電話によって提供されるリソースを使用することができる。
【００６０】
以下では、図３から図５を参照してさらなる実施形態について説明する。この実施形態では、仮想ＩｏＴデバイスは監視システムであり、それは図１に関連して説明した一般的なアーキテクチャに基づいている。
【００６１】
図２は、様々なリソースデバイスを用いた実世界でのセットアップを示す。
【００６２】
例えば、第１の会社は、リソースデバイス１３ａから１３ｅを有し、第２の会社は、リソースデバイス１４ａから１４ｄを有する。
【００６３】
第１の会社は、カメラ１３ａ、１３ｃ、１３ｄ、および１３ｅを有し、カメラ１３ａは建物１１内に配置され、カメラ１３ｃは、駐車スペース１１ａに配置され、カメラ１３ｄおよび１３ｅは、道路１５に沿って配置される。さらに、第１の会社は、ストレージ１３ｂを有する。
【００６４】
第２の会社は、建物１１内にカメラ１４ｂ、駐車スペース１１ａに第２のカメラ１４ｃ、および道路１５に第３のカメラ１４ｄを有する。さらに、第２の会社は、建物１１内にＩＤセンサ１４ａを有する。
【００６５】
以下では、顧客が人物（ターゲット）を、例えば、その人物のターゲット画像１０に基づいて、監視することを望んでいると仮定する。人物は建物１１で働いて、その人物が監視される通り１５に沿って自身の家１２に戻る。
【００６６】
システムの概要を、図３を参照してさらに説明する。
【００６７】
図３は、ＩｏＴデバイスの例示的なセットを示し、より一般的には、分類として、図２のカメラ１３ａおよび１３ｃからｅを象徴し、第１の会社が所有する例示的なカメラＩｏＴデバイス２５を示す。ＩｏＴデバイス２５は、「台帳サーバＡ」と呼ばれる第１の会社の会社サーバに接続される。
【００６８】
さらに、ストレージＩｏＴデバイス２６が第１の会社の台帳サーバＡに接続され、これは第１の会社のストレージ１３ｂを示す。また、第２の会社のＩＤセンサ１４ａを示す第２の会社の台帳サーバＢには、ＩＤセンサＩｏＴデバイス２７が接続される。当然、カメラ１４ｂから１４ｄも台帳サーバＢに接続することができ、図３では明瞭さのためにその図示は省略されている。さらに、追加の会社の追加の台帳サーバを提供してもよい。
【００６９】
台帳サーバＡおよびＢを含むすべての会社の台帳サーバのセットは、分散台帳またはブロックチェーン２３を維持する。ブロックチェーン２３へのアクセスは、認められた台帳サーバだけがそれにアクセスできるように許可することができる。他の実施形態では、ブロックチェーン２３へのアクセスは開いている。
【００７０】
原則として、また上記したように、各台帳サーバＡ、Ｂなどは、ブロックチェーン２３のローカルコピーを有する。
【００７１】
各ＩｏＴデバイス２５、２６、および２７（または、接続されている台帳サーバ）は、上記のように、それぞれのＩｏＴデバイス２５、２６、および２７の機能および利用可能性を記述するスマートコントラクトとして実装されるリソースコントラクト２５ａ、２６ａ、および２７ａを作成する。リソースコントラクトは、例えば、トランザクションの形式で、ブロックチェーン２３のブロック２４に組み込まれる。
【００７２】
ユーザは、回路２２を含む装置２１を用いて仮想ＩｏＴデバイスを定義し使用することができる。本実施形態では、仮想ＩｏＴデバイスは監視モニタである。仮想ＩｏＴデバイスは、図２の１３ａから１３ｅおよび１４ａから１４ｄなどの異なる会社が所有してＩｏＴデバイス２５、２６、および２７によって示されるリソースを使用し、装置２１はブロックチェーン２３を使用してリソースを発見することができる。
【００７３】
以下では、ブロックチェーン２３上でリソースコントラクトを提供する方法３０を、図４を参照して説明する。
【００７４】
上記のように、仮想ＩｏＴデバイスが監視モニタリングサービスである場合、ＩｏＴデバイスは、例えば、特定の地理的領域を撮像することができるカメラ（１３ａ、１３ｃからｅ、１４ｂからｄ）、特定の地理的領域の画像を含むことができるストレージ（１３ｂ）、特定の人の個人ＩＤを認識するＩＤセンサ（１４ａ）などとすることができる。図３において２５、２６、および２７としてまとめられたこれらのＩｏＴデバイス、またはそれらが接続されるそれぞれの台帳サーバＡおよびＢは、図４の方法３０に従ってブロックチェーン２３のためのリソースコントラクトを定義することができる。
【００７５】
３１で、ＩｏＴデバイス２５、２６、および２７は、それらの現在の機能を評価することができる。これらの機能には、例えば、カメラの種類（カラー、白黒、赤外線）、カメラレコードの解像度およびフレームレート、カメラレコードの地理的領域などが含まれる。
【００７６】
さらに、例えば、カメラＩｏＴデバイス２５の、利用可能性もまた評価される。例えば、カメラＩｏＴデバイス２５は、夜間にのみオンラインとすることができる。ストレージＩｏＴデバイス２６の場合、ストレージＩｏＴデバイス２６に格納された画像データはいつでも検証することができるので、利用可能時間はそれほど重要ではない可能性がある。
【００７７】
ＩｏＴデバイスの機能は、ＩｏＴデバイス自体に格納することができる。例えば、カメラＩｏＴデバイス２５の機能は、ＩｏＴデバイス２５のストレージに格納することができ、必要であればそこから読み出すことができる。
【００７８】
ＩｏＴデバイス２５、２６、および２７の機能の評価は、ＩｏＴデバイス２５、２６、および２７を所有するか、またはそれを制御するそれぞれの台帳サーバによっても実行することもできる。
【００７９】
３２で、リソースコントラクト２５ａ、２６ａ、および２７ａがＩｏＴデバイス２５、２６、および２７のそれぞれに対して定義され、この場合、リソースコントラクトはスマートコントラクトである。
【００８０】
リソースコントラクト２５ａ、２６ａ、２７ａは、使用されるブロックチェーン２３によって定義されるフォーマットにある。本実施形態では、リソースコントラクト２５ａ、２６ａ、２７ａは、様々な機能および利用可能性を、例えば、数値とリンクするルックアップテーブルを備える。ルックアップテーブルは、チューリング完全言語であり得るブロックチェーン２３のスマートコントラクト言語で利用可能な標準データ構造によって実施することができる。例えば、ルックアップテーブルは、リスト、ディクショナリ、またはハッシュテーブルなどとして実装することができる。
【００８１】
３３で、ＩｏＴデバイス２５、２６、２７、またはそれぞれの台帳サーバは、ブロックチェーン２３のブロック２４に含めるためにリソースコントラクト２５ａ、２６ａ、２７ａを発行する。リソースコントラクト２５ａ、２６ａ、および２７ａは、例えば、特別な種類のトランザクションでアナウンスしてもよい。
【００８２】
マイニングが実行されると、例えば、台帳サーバＡおよびＢによって、リソースコントラクト２５ａ、２６ａ、および２７ａは、ブロック２４としてブロックチェーン２３に含まれる。
【００８３】
説明したように、監視モニタとして機能する仮想ＩｏＴデバイスは、その構成に応じて、リソースコントラクトで定義されるいくつかのリソースデバイスと対話する。本実施形態では、仮想ＩｏＴデバイスは、ターゲット画像１０によって識別される特定の人物を監視するために、リソースデバイス１３ａからｅおよび１４ａからｄ（２５から２６によって示される）を使用することができる。説明したように、リソースデバイス２５、２６、および２７は、それぞれのリソースコントラクト２５ａ、２６ａ、および２７ａをブロックチェーン２３上に発行した。
【００８４】
監視モニタとして機能する仮想ＩｏＴデバイスは、スマートコントラクト２８として実現される（図３参照）。
【００８５】
仮想ＩｏＴデバイスは、ターゲット画像１０、デバイスロジック２８ａ、およびリソースのセット、すなわち、例示的な画像リソース２８ｂ、ストレージリソース２８ｃ、およびセンサリソース２８ｄを備える。
【００８６】
画像リソース２８ｂは、カメラＩｏＴデバイス２５によって提供され、カメラ１３ａおよび１３ｃからｅのセットを示す。説明したように、カメラデバイス１４ｂからｄも、画像リソース２８ｂ用に設けることができる。
【００８７】
同様に、ストレージリソース２８ｃは、ストレージ１３ｂを含むストレージＩｏＴデバイス２６によって提供され、センサリソース２８ｄは、ＩＤセンサ１４ａを含むセンサＩｏＴデバイス２７によって提供される。
【００８８】
仮想ＩｏＴデバイスの構成中に、スマートコントラクト２８は、適切なリソース２８ｂからｄを用いて作成されている。
【００８９】
以下では、監視モニタとして機能する仮想ＩｏＴデバイスを提供するための方法４０が、図５を参照して説明され、装置２１およびその回路２２のそれぞれによって実行することもできる。
【００９０】
仮想ＩｏＴ監視システムによって追跡するためのターゲットを定義するターゲット画像１０、およびターゲットが追跡される地理的領域は、方法４０に入力される（仮想ＩｏＴデバイスに入力することもできる）。
【００９１】
４１で、ブロックチェーン２３は、方法４０に入力される地理的領域を画像化することができて、例えば、ストレージに格納された画像およびターゲットの判定ＩＤに基づいて、さらなる追跡情報を提供することができるリソースコントラクト２５ａ、２６ａ、および２７ａなどのリソースコントラクトについて検索される。したがって、装置２１は、リソース２８ｂ、２８ｃ、および２８ｄに適合するリソースコントラクトについてブロックチェーン２３を検索する。
【００９２】
４２で、十分に高い（すなわち、所定の閾値を超える）解像度、十分に高い（すなわち、所定の閾値を超える）フレームレート、撮像ＩｏＴデバイスで実行することができる追加の画像処理機能などの追加の要件を満たす、発見されたデバイスのサブセットが選択される。本実施形態では、このサブセットは、デバイス２５、２６、および２７を含む。
【００９３】
４３で、ターゲット画像１０によって定義されるターゲットを追跡する必要がある時間の間、選択されたリソースがブロックチェーン２３上に予約される。リソースデバイス２５、２６、および２７の予約を実施するために、トランザクションを、ブロックチェーン２３およびブロック２４のそれぞれに追加することができる。
【００９４】
４４で、装置２１は、予約されたリソース２５、２６、および２７を使用する仮想ＩｏＴスマートコントラクト２８を定義する。
【００９５】
仮想ＩｏＴデバイスコントラクト２８は、トランザクションと共にブロックチェーン２３のブロック２４に追加され、それによって、４５でアクティブ化される。
【００９６】
いくつかの実施形態では、仮想ＩｏＴデバイスコントラクト２８は、仮想ＩｏＴデバイスコントラクト２８が含まれるブロック（２４）のマイニングが終了した後にのみアクティブ化される。
【００９７】
仮想ＩｏＴデバイススマートコントラクトはまた、仮想ＩｏＴデバイスの寿命の間に実行されるデバイスロジック／プログラムコード（デバイスロジック２８ａなど）を含むことができる。例えば、デバイスロジック２８ａは、リソースからデータを取得し、何らかの処理を実行することを引き受けることができる。監視モニタの場合、ターゲットの認識は、スマートコントラクト内のデバイスロジック／プログラムコードによっても実行することができる。
【００９８】
以下では、図６を参照しながら一般的な方法５０を説明し、本方法は、以下でさらに説明する装置１、２１、または９０などの、本明細書で説明するような装置によって実行することができる。
【００９９】
５１で、分散台帳内（例えば、上述のブロックチェーン３または２３）の仮想デバイスの特性のセットの特性を提供するリソースデバイスが検索され、分散台帳は、上述のように複数のリソースデバイスに関する情報を含む。
【０１００】
５２で、仮想デバイスは、上述のように、仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択することによって提供される。
【０１０１】
５３で、上述したように、仮想デバイスの特性のセットに基づいて仮想デバイスのスマートコントラクトが生成される。
【０１０２】
５４で、仮想デバイススマートコントラクトが分散台帳に格納される。
【０１０３】
５５で、仮想デバイスは上述のようにアクティブ化される。
【０１０４】
以下では、汎用コンピュータ９０の一実施形態を、図７を参照して説明する。
【０１０５】
コンピュータ９０は、装置として、例えば、本明細書に記載の装置１または２１として、基本的に機能することができるように実現することができる。コンピュータは、本明細書に記載の装置の回路のうちのいずれかなどの回路を形成することができる構成要素９１から１００を有する。
【０１０６】
本明細書に記載の方法を実行するためにソフトウェア、ファームウェア、またはプログラムなどを使用する実施形態は、コンピュータ９０にインストールすることができ、その場合、具体的な実施形態に適するように構成される。
【０１０７】
コンピュータ９０は、ＣＰＵ９１（中央処理装置）を有し、ＣＰＵ９１は、例えば、リードオンリメモリ（ＲＯＭ）９２に格納される、ストレージ９７に格納されてランダムアクセスメモリ（ＲＡＭ）９３にロードされる、各ドライブ９９に挿入可能な媒体１００に格納される、などのプログラムに従って、本明細書に記載されている各種の手順や方法を実行することができる。
【０１０８】
ＣＰＵ９１、ＲＯＭ９２、およびＲＡＭ９３は、バス１０１に接続されており、バス１０１は入力／出力インターフェース９４に接続されている。ＣＰＵ、メモリ、およびストレージの数は例示的なものにすぎず、本明細書に記載の装置として機能する場合に生じる特定の要件を満たすようにコンピュータ９０を適宜適合および構成できることを当業者は理解するであろう。
【０１０９】
入力／出力インターフェース９４には、いくつかの構成要素、すなわち入力９５、出力９６、ストレージ９７、通信インターフェース９８、および媒体１００（コンパクトディスク、デジタルビデオディスク、またはコンパクトフラッシュメモリなど）を挿入することができるドライブ９９が接続される。
【０１１０】
入力９５は、ポインタデバイス（マウスまたはグラフィックテーブルなど）、キーボード、マイクロフォン、カメラ、タッチスクリーンなどとすることができる。
【０１１１】
出力９６は、ディスプレイ（液晶ディスプレイ、陰極線管ディスプレイ、発光ダイオードディスプレイなど）、拡声器などを有することができる。
【０１１２】
ストレージ９７は、ハードディスクおよびソリッドステートドライブなどを有することができる。
【０１１３】
通信インターフェース９８は、例えば、ローカルエリアネットワーク（ＬＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、移動体通信システム（ＧＳＭ、ＵＭＴＳ、ＬＴＥなど）、Ｂｌｕｅｔｏｏｔｈ、赤外線などを介して、通信するように適合させることができる。
【０１１４】
上記の説明はコンピュータ９０の例示的な構成にのみ関連することに留意されたい。
【０１１５】
追加のまたは他のセンサ、ストレージデバイス、またはインターフェースなどを用いて代替構成を実現することができる。
【０１１６】
本明細書に記載の方法は、いくつかの実施形態では、コンピュータおよび／またはプロセッサで実行されると、コンピュータおよび／またはプロセッサにその方法を実行させるコンピュータプログラムとしても実現される。いくつかの実施形態では、コンピュータプログラム製品を格納する非一時的コンピュータ可読記録媒体も提供され、それは、上述のプロセッサなどのプロセッサによって実行されると、本明細書で説明する方法を実行させる。
【０１１７】
本実施形態は、方法ステップの例示的な順序で方法を説明していることを認識されたい。しかしながら、方法ステップの具体的な順序は説明の目的のためだけに与えられており、拘束力があると解釈されるべきではない。
【０１１８】
上述の開示の実施形態が少なくとも部分的にソフトウェア制御データ処理装置を使用して実現される限りにおいて、そのようなソフトウェア制御を提供するコンピュータプログラムおよびそのようなコンピュータプログラムを提供するトランザクション、ストレージ、または他の媒体が、本開示の態様として想定されることは明らかであろう。
【０１１９】
なお、本技術は以下のように構成することもできることに留意されたい。
（１）仮想デバイスを提供する装置であって、本装置は、
分散台帳における仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索することであって、分散台帳が複数のリソースデバイスに関する情報を含む、検索することと、
仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択することによって仮想デバイスを提供することと、
を行うように構成される回路を備える。
（２）（１）の装置であって、回路は、仮想デバイスの特性のセットに基づいて仮想デバイススマートコントラクトを生成するようにさらに構成される。
（３）（２）の装置であって、回路は、仮想デバイススマートコントラクトを分散台帳に格納するようにさらに構成される。
（４）（１）から（３）のいずれかの装置であって、回路は、仮想デバイスをアクティブ化するようにさらに構成される。
（５）（１）から（４）のいずれかの装置であって、リソースデバイスは、ネットワークに接続される。
（６）（５）の装置であって、ネットワークは、インターネットを含む。
（７）（１）から（６）のいずれかの装置であって、分散台帳は、ブロックチェーンである。
（８）（１）から（７）のいずれかの装置であって、複数のリソースデバイスに関する情報は、スマートコントラクト情報を含む。
（９）（８）の装置であって、スマートコントラクト情報は、プログラムコードを含む。
（１０）（８）または（９）の装置であって、スマートコントラクト情報は、チューリング言語に基づく。
（１１）仮想デバイスを提供する方法であって、本方法は、
分散台帳における仮想デバイスの特性のセットの特性を提供するリソースデバイスを検索するステップであって、分散台帳が複数のリソースデバイスに関する情報を含む、ステップと、
仮想デバイスの特性のセットの特性を提供するリソースデバイスを選択することによって仮想デバイスを提供するステップと、
を備える。
（１２）（１１）の方法であって、仮想デバイスの特性のセットに基づいて仮想デバイススマートコントラクトを生成するステップをさらに備える。
（１３）（１２）の方法であって、仮想デバイススマートコントラクトを分散台帳に格納するステップをさらに備える。
（１４）（１１）から（１３）のいずれかの方法であって、仮想デバイスをアクティブ化するステップをさらに備える。
（１５）（１１）から（１４）のいずれかの方法であって、リソースデバイスは、ネットワークに接続される。
（１６）（１５）の方法であって、ネットワークは、インターネットを含む。
（１７）（１１）から（１６）のいずれかの方法であって、分散台帳は、ブロックチェーンである。
（１８）（１１）から（１７）のいずれかの方法であって、複数のリソースデバイスに関する情報は、スマートコントラクト情報を含む。
（１９）（１８）の方法であって、スマートコントラクト情報は、プログラムコードを含む。
（２０）（１８）または（１９）の方法であって、スマートコントラクト情報は、チューリング言語に基づく。
（２１）コンピュータ上で実行されると、（１１）から（２０）のいずれかに記載の方法をコンピュータに実行させるプログラムコードを備えるコンピュータプログラム。
（２２）プロセッサによって実行されると、（１１）から（２０）のいずれかに記載の方法を実行させるコンピュータプログラム製品を格納する非一時的コンピュータ可読記録媒体。
【図１】
2020509448.tif 000003
【図２】
2020509448.tif 000004
【図３】
2020509448.tif 000005
【図４】
2020509448.tif 000006
【図５】
2020509448.tif 000007
【図６】
2020509448.tif 000008
【図７】
2020509448.tif 000009
【国際調査報告】
2020509448.tif 000010
2020509448.tif 000011