Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7619736B2 - コンピュータ実装方法、デバイスプロビジョニングシステムおよびコンピュータプログラム(モノのインターネットデバイスのプロビジョニング) - Google Patents
[go: Go Back, main page]

JP7619736B2 - コンピュータ実装方法、デバイスプロビジョニングシステムおよびコンピュータプログラム(モノのインターネットデバイスのプロビジョニング) - Google Patents

コンピュータ実装方法、デバイスプロビジョニングシステムおよびコンピュータプログラム(モノのインターネットデバイスのプロビジョニング) Download PDF

Info

Publication number
JP7619736B2
JP7619736B2 JP2021170569A JP2021170569A JP7619736B2 JP 7619736 B2 JP7619736 B2 JP 7619736B2 JP 2021170569 A JP2021170569 A JP 2021170569A JP 2021170569 A JP2021170569 A JP 2021170569A JP 7619736 B2 JP7619736 B2 JP 7619736B2
Authority
JP
Japan
Prior art keywords
iot
schema
event
iot device
provisioning
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
JP2021170569A
Other languages
English (en)
Other versions
JP2022070222A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2022070222A publication Critical patent/JP2022070222A/ja
Application granted granted Critical
Publication of JP7619736B2 publication Critical patent/JP7619736B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Description

モノのインターネット(IoT)は、固有識別子(UID)が提供されている相互に関連するコンピューティングデバイス、機械式もしくはデジタル式のマシン、オブジェクト、動物もしくは人々またはその組み合わせのシステムである。IoTにより、ヒューマントゥーヒューマンまたはヒューマントゥーコンピュータのインタラクションを要求することなくコンピュータネットワークを介してデータを転送する能力が可能になる。モノのインターネット内のデバイスまたはオブジェクト(すなわち、「モノ」)は、例えば、IPアドレスを割り当てられ得る、コンピュータネットワークを介してデータを転送できる心臓モニタ移植物、家庭用電化製品、白熱電球、内蔵センサ付き自動車もしくは任意のデバイスまたはその組み合わせを含み得る。
IoTエコシステムは、IoTデバイスの周囲環境から取得されるデータを収集し、送信し、それに対する動作をするための埋め込み型のプロセッサ、センサおよび通信ハードウェアを用いるインターネット使用可能デバイスを備え得る。IoTデバイスは、IoTゲートウェイまたは他のエッジデバイスに接続することによりそれらが収集するデータを共有できる。このデータは、クラウドコンピューティング環境へ送信され得るか、またはローカルに動作するコンピュータシステムにより分析され得る。IoTデバイスは、互いに、またはコンピュータネットワーク上の他の関連するデバイスと通信できる。用いられる接続プロトコル、ネットワークプロトコルおよび通信プロトコルにより、IoTデバイスは、任意のヒューマンインタラクションが行われる場合に多くのなくインタラクトすることが可能になり得ると共に、ビジネス上の処理のモニタリング、カスタマーエクスペリエンスの改善、生産性の向上、ビジネス上の決定への影響力行使、ビジネスモデルの統合または適合化のために用いられ得る。
IoTデバイスの数は、現在数十億であり、指数関数的に増加することが予想されている。デバイスの量を考慮すると、デバイスを大規模に手動でプロビジョニングするのは効果的でない。
本開示の態様は、コンピュータ実装方法、コンピュータプログラム製品およびシステムを含み得る。モノのインターネット(IoT)デバイスにプロビジョニングするコンピュータ実装方法の一例は、デバイスプロビジョニングシステムにおいてIoTデバイスのイベントスキーマを受信する段階を備える。イベントスキーマは、IoTデバイスにより収集される1つまたは複数のイベントタイプを含む。方法は、イベントスキーマからの1つまたは複数のイベントタイプをデバイスタイプスキーマリスト内の1つまたは複数のイベントタイプの複数の組み合わせと比較して、IoTデバイスからのイベントスキーマ内の1つまたは複数のイベントタイプと、デバイスタイプスキーマリスト内の1つまたは複数のイベントタイプの複数の組み合わせのうちの1つとの間のマッチを特定する段階と、マッチを特定したことに応答して、デバイスタイプと、マッチした1つまたは複数のイベントタイプの組み合わせとの、デバイスタイプスキーマリスト内の相関関係に基づき、デバイスタイプをIoTデバイスに割り当てる段階と、割り当てられたデバイスタイプに基づき、妥当性が確認された認証情報を用いてIoTデバイスにプロビジョニングする段階とをさらに備える。
図面が例示的な実施形態のみを示しており、したがって、範囲が限定的であるとはみなされないことを理解したうえで、添付図面の使用を通じ、追加の特異性および詳細と共に例示的な実施形態を説明する。
IoTデバイスから受信したサンプルイベントデータに基づいてIoTデバイスの登録を自動化できる例示的なコンピューティング環境の1つの例示的な実施形態のブロック図である。
例示的なデバイスプロビジョニングシステムの一実施形態の上位ブロック図である。
例示的なIoTデバイスの一実施形態の上位ブロック図である。
IoTデバイスにプロビジョニングする例示的な方法の一実施形態を示すフローチャートである。
IoTデバイスにプロビジョニングする例示的な方法500の別の実施形態を示すフローチャートである。
本開示の実施形態によるクラウドコンピューティング環境を示す。
本開示の実施形態による抽象化モデル層を示す。
一般的なやり方に従って、様々な説明される機能は、縮尺どおりに描写されていないが、例示的な実施形態に関連する特定の機能を強調するように描写されている。
以下の詳細な説明において、本明細書の一部を形成し、かつ、特定の例示的な実施形態が図示により示される添付図面を参照する。しかしながら、他の実施形態が利用され得ることと、論理、機械および電気的な変更が行われ得ることとが理解されるべきである。さらに、図面および本明細書において示される方法は、個々の段階が実行され得る順序を限定するものと解釈されるべきではない。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。
図1は、本開示の実施形態による、IoTデバイスから受信したサンプルイベントデータに基づいてIoTデバイスの登録を自動化できる例示的なコンピューティング環境100の1つの例示的な実施形態のブロック図を示す。図1に示されるコンピューティング環境100の実施形態は、コンピュータネットワーク102を介して相互接続される複数のコンピュータシステムおよびデバイスを含む。ネットワーク102は、任意の数の任意の適切な物理通信トポロジもしくは論理通信トポロジまたはその組み合わせを用いて実装され得る。ネットワーク102は、1つまたは複数のプライベートコンピューティングネットワークまたはパブリックコンピューティングネットワークを含み得る。例えば、ネットワーク102は、ワークロードに関連するプライベートネットワーク(例えば、許可されていない外部アクセスをブロックするファイアウォールを有するネットワーク)を備え得る。代替的にまたは追加的に、ネットワーク102は、インターネットなどのパブリックネットワークを備え得る。故に、ネットワーク102は、ローカルエリアネットワークなどのパケットベースネットワーク、ワイドエリアネットワーク、もしくはインターネットなどのグローバルネットワーク、またはその組み合わせの一部を形成し得る。ネットワーク102は、1つまたは複数のサーバ、ネットワークまたはデータベースを含み得ると共に、1つまたは複数の通信プロトコルを用いることで、ネットワーク102を介して、相互接続されたデバイスとシステムとの間でデータを転送できる。故に、ネットワーク102の例は、ローカルエリアネットワーク(LAN)、ホームエリアネットワーク(HAN)、ワイドエリアネットワーク(WAN)、バックボーンネットワーク(BBN)、ピアツーピアネットワーク(P2P)、キャンパスネットワーク、企業ネットワーク、インターネット、クラウドコンピューティングネットワーク、もしくは当業者に知られている任意の他のネットワークまたはその組み合わせを含み得る。
さらに、図1には単一のエンティティとして示されているが、他の例において、ネットワーク102は、パブリックネットワークおよび/またはプライベートネットワークの組み合わせなど、複数のネットワークを備え得る。通信ネットワーク102は、様々なタイプの物理的な通信チャネルまたは「リンク」を含み得る。これらのリンクは、有線、無線、光または任意の他の適切な媒体であり得る。加えて、通信ネットワーク102は、ルータ、スイッチ、基地局、ブリッジ、またはデータ通信を容易するために有用であり得る任意の他の機器など、ルーティング、切り替えおよび他の機能を実行するための様々なネットワークハードウェアおよびネットワークソフトウェアを含み得る。
この例におけるネットワーク102を介して相互接続されている複数のコンピュータシステムおよびデバイスは、プロビジョニングサービスを実装するように構成されたデバイスプロビジョニングシステム106と、IoTプラットフォーム108と、複数のIoTデバイス104-1…104-N(以下、「IoTデバイス104」と総称される)を含む。Nは、IoTデバイスの総数を表す。説明しやすくするためにこの例ではただ1つのIoTプラットフォームが示されているが、他の実施形態において1つよりも多くのIoTプラットフォーム108が利用され得ることが理解されるべきである。同様に、IoTデバイス104の数は図面に示される数に限定されないことが理解されるべきである。つまり、図1には2つのIoTデバイス104が示されているが、他の実施形態において2つよりも多くのIoTデバイスが利用され得ることが理解されるべきである。特に、図面により示されているIoTデバイス104、IoTプラットフォーム108または任意の他の複製されたコンポーネントもしくはシステムの数は、ネットワーク102およびコンピューティング環境によりサポートされる任意の数であり得る。
IoTデバイス104、IoTプラットフォーム108およびデバイスプロビジョニングシステム106の実施形態は各々、本明細書において図示および説明されるようなハードウェア、ソフトウェアまたはそれらの組み合わせの専用構成を備える専用コンピュータシステムであってよい。デバイスプロビジョニングシステム106、IoTプラットフォーム108および他のネットワークアクセス可能システムの実施形態はデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、サーバコンピュータ、または当技術分野において公知である任意の他のコンピュータシステムであってよい。いくつかの実施形態において、IoTプラットフォーム108、デバイスプロビジョニングシステム106もしくは他のネットワークアクセス可能システムまたはその組み合わせは、ネットワーク102を通じてアクセスされた場合にシームレスリソースの単一のプールとして動作するためのクラスタ化されたコンピュータおよびコンポーネントを利用するコンピュータシステムを表し得る。例えば、そのような実施形態は、データセンタ、クラウドコンピューティング、ストレージエリアネットワーク(SAN)およびネットワーク接続ストレージ(NAS)の用途で用いられ得る。
いくつかの実施形態において、IoTプラットフォーム108、デバイスプロビジョニングシステム106もしくは他のネットワークアクセス可能システムまたはその組み合わせは、ネットワーク102上のホストコンピュータによりプロビジョニングされるバーチャルマシンを表し得る。例えば、デバイスプロビジョニングシステム106もしくはIoTプラットフォーム108またはその組み合わせは、各IoTデバイス104へのアクセスもしくはプロビジョニングまたはその組み合わせを行う複数のバーチャルマシンをホストできる。いくつかの実施形態において、IoTデバイス104が埋め込み型の仮想化特性を有し得るので、IoTデバイス104は、プロビジョニングされる1つまたは複数のタイプの機能の割り当てを受けることができる別個のスロットと共に管理層を用いてプロビジョニングされることが可能になる。仮想化機能を有するIoTデバイス104は、IoTデバイス104の元のハードウェア上の複数の機能についてプロビジョニングを受けることができ得る。
IoTデバイス104は、IoTデバイス104がコンピュータネットワーク102に接続したり、データを収集したり、データをやり取りしたりすることを可能にし得る電子機器、回路、ソフトウェア、センサ、アクチュエータもしくは接続ハードウェアまたはその組み合わせに埋め込まれた任意の物理的なデバイスまたはオブジェクトであり得る。例えば、IoTデバイスは、冷蔵庫、電子レンジ、従来型オーブン、照明スイッチ、ドアベル、空調システム、湯沸かし器、温度センサ、またはデータの収集もしくは送信またはその組み合わせをするためにネットワーク102を介して通信するように構成された任意の他のデバイスを含み得る。多くの例において、特定のデバイスは、汎用通信チップを当該デバイスへ埋め込むことにより、ネットワークを介して通信することが可能にされる。つまり、同じタイプの通信チップまたはモジュールが、異なるタイプのデバイスへ埋め込まれ得る。例えば、冷蔵庫および電子レンジの両方が、同じタイプの通信チップに埋め込まれ得る。いくつかの実施形態において、通信チップは、他の製造者により製造されるデバイス内への配置のために、サードパーティにより製造され得る。
異なるタイプのデバイスにおいて用いられる通信チップのモジュール機能により、コストおよび製造上の効率が提供される。しかしながら、所与の通信チップがどのタイプのデバイスへ埋め込まれるのかを前もって追跡または認識するのが非常に困難な程度から不可能である程度までになってしまう。これは、通信チップを適切にプロビジョニングして通信チップがIoTプラットフォーム108と通信するのを可能にすることについての技術的課題を示している。当業者には理解されるように、デバイスのプロビジョニングは、証明書をデバイス識別情報にアタッチする処理である。デバイス識別情報は、特定のデバイスを一意に特定するために用いられ、プッシュ通知の提供および報告の実行などであるがこれらに限定されない機能のために用いられ得る。例えば、このシステムは、通知がどのデバイスへ送信されているかを特定する、またはいくつのデバイスがサーバを使用しているかを特定する等のために、デバイス識別情報を用いる。デバイス識別情報を認識することにより、例えば、どのIoTデバイスが所与のIoTプラットフォームとの通信を許可されるかの決定など、多くのセキュリティ統合可能性も可能になる。追加的に、デバイス識別情報を認識することにより、デバイスからのデータについてのより具体的かつ関連性がある報告および処理が可能になり得る。さらに、セキュリティ更新は、特定のデバイスタイプにのみ関連し得る。しかしながら、どのタイプのデバイス内に通信モジュール/チップが位置しているかを認識することなく、この更新は、必要とされているよりも多くのデバイスへロールアウトされ得る。
このプロビジョニングの課題に対処するためのいくつかの従来の技術には、デバイスプロビジョニング処理における手動での介入が伴う。しかしながら、IoTデバイスの数は、現在数十億であり、指数関数的に増加することが予想されている。デバイスの量を考慮すると、デバイスを大規模に手動でプロビジョニングするのは効果的でない。他の従来の技術は、所与の製造者からの任意のデバイスを同じデバイスタイプへ割り当てることなどにより、デバイスプロビジョニング処理を簡略化し過ぎている。しかしながら、本明細書において説明される実施形態は、自動デバイスプロビジョニング処理を可能にしつつ、このプロビジョニング処理が実際のデバイスタイプに基づいてデバイスへより正確にプロビジョニングするようにより複雑な手順が実装されることも可能にする。
特に、本明細書において説明されるように、デバイスプロビジョニングシステム106により、所与のIoTデバイス104により提供されるサンプルイベントデータに基づくデバイスタイプの自動検出を可能になる。サンプルイベントデータは、IoTデバイスにより公開される実際のイベントを指す。IoTデバイスにより公開されるイベントデータは、デバイスのタイプに依存する。例えば、冷蔵庫は、温度読み取り値、コンデンサ内の圧力測定値等に関連するイベントデータを公開し得る。しかしながら、電子レンジは、例えば、電磁(EM)放射レベルに関連するイベントデータを収集および公開し得る。故に、IoTデバイスにより収集および公開される特定のイベントデータは、デバイスのタイプに基づいて異なる。
デバイスプロビジョニングシステム106は、IoTデバイス104からのサンプルイベントデータを分析して、IoTデバイスの各々についてそれぞれのデバイスタイプを特定するように構成される。次に、特定されたデバイスタイプは、特定されたデバイスタイプに基づいてIoTデバイス104にプロビジョニングする際に用いられるIoTプラットフォーム108に提供される。
動作において、IoTデバイス104のうちの1つまたは複数は、ネットワーク102を介してIoTデバイス104の登録の要求を提出することにより、IoTプラットフォーム108への接続を要求する。上述のように、IoTデバイス104の実施形態は、他のIoTデバイス104、コンピュータシステム、サーバ、ゲートウェイ、およびIoTデバイス104の外部の環境とのネットワーク通信を可能にする技術と共に埋め込まれ得る物理オブジェクトを指し得る。IoTデバイス101は、インターネットに接続可能であってよく、IPアドレスおよびMACアドレスなど、ネットワーク使用可能コンピュータシステムに典型的なものであり得る特性、パラメータおよび属性を含んでよい。IoTデバイス104の例は、限定されるわけではないが、セキュリティシステム、スピーカ、家庭用電化製品、玩具、テレビ、サーモスタット、煙探知器、カメラ、センサ、照明システム、自動車、またはネットワーク使用可能通信技術と共に埋め込まれ得る任意の他のオブジェクトを含み得る。図3に関し、例示的なIoTデバイスについて、より詳細に述べる。
プロビジョニング要求に加え、IoTデバイス104はまた、イベントスキーマドキュメント(本明細書において「イベントスキーマ」または「スキーマ」とも称される)をデバイスプロビジョニングシステム106に提供するように構成される。イベントスキーマドキュメントは、イベントの名前およびタイプなど、イベントデータの特性を定義する。特に、イベントスキーマドキュメントは、デバイスプロビジョニングシステム106に提供されるイベントデータの属性を定義するために用いられる。故に、イベントスキーマドキュメントは、XMLスキーマドキュメント(XSD)と同様に機能するが、IoTエコシステム内のイベントデータのために用いられる。いくつかの実施形態において、サンプルイベントデータは、イベントスキーマドキュメントの一部として提供され得る。他の実施形態において、イベントデータおよびイベントスキーマは、別個に提供される。加えて、本明細書において用いられるように、イベントタイプという用語は、データの特定の値ではなく、イベントのタイプを指す。例示的なイベントタイプは、限定されるわけではないが、ステータス、読み取り値、測定値等を含む。例えば、ステータスは、コンポーネントのステータス(例えば、動作、スタンバイに関するもの等)を指し得るが、読み取り値または測定値は、その値が所与の時点で測定されたことを示し得る(温度読み取り値など)。追加的に、タイプは、いくつかの実施形態において、例えば、温度読み取り値、圧力読み取り値、周辺光測定値等、より具体的なものであり得る。
IoTデバイス104により提供される特定のイベントタイプおよびイベントスキーマに基づいて、デバイスプロビジョニングシステム106は、所与のIoTデバイスのデバイスタイプを特定できる。特に、デバイスプロビジョニングシステム106は、イベントタイプの異なる組み合わせを異なるデバイスタイプに相関させるスキーマリスト110を維持する。例えば、スキーマリスト110は、コンデンサの圧力読み取り値および温度読み取り値のイベントタイプが共に冷蔵庫のデバイスタイプと相関していることを示し得る。故に、デバイスプロビジョニングシステム106は、IoTデバイス104からのイベントスキーマが提供されたイベントタイプ間のマッチをスキーマリスト110内のイベントタイプがグループ化されたものとして特定することで、所与のIoTデバイスのデバイスタイプを特定するように構成される。マッチが見つかった場合、IoTデバイスは、そのデバイスタイプとして分類される。デバイスタイプ分類は、IoTデバイス104の認証情報の妥当性を確認する際に用いるためにIoTプラットフォーム108に提供される。いくつかの実施形態において、デバイスプロビジョニングシステムは、IoTデバイス104の認証情報の妥当性を確認するように構成される。例えば、いくつかのそのような実施形態において、IoTプラットフォーム108およびデバイスプロビジョニングシステム106は、図1に示される別個のシステムとは反対に、単一のシステムとして実装される。
IoTプラットフォーム108は、IoTプラットフォーム108を介してアクセス可能なエンドユーザアプリケーションにハードウェア(IoTデバイス104など)、アクセスポイントおよびネットワークを接続するサポートソフトウェアを指し得る。IoTプラットフォーム108は、管理タスクおよびデータ視覚化を処理することにより、ユーザが物理環境およびコンピューティング環境100を自動化することを可能にし得る。IoTプラットフォーム108の実施形態は、データコントローラ、ゲートウェイデバイス、通信ネットワーク、データアナライザ、データトランスレータもしくはアプリケーションサービスまたはその組み合わせの機能を含む(いくつかの実施形態において、エンドユーザアプリケーション、またはデバイスプロビジョニングシステム106の機能を含む)、コンピューティング環境100内の複数の機能を実行し得る。IoTプラットフォーム108の実施形態は、リモートで接続しているIoTデバイス104と、IoTプラットフォーム108を介して接続され得るかまたはアクセス可能であり得る1つまたは複数のアプリケーションまたはデバイスとの間のミドルウェアとして動作し得る。
IoTプラットフォーム108は、本実施形態において、認証済みの認証情報を含む認証情報データベース112の発行または維持も担う。IoTプラットフォーム108は、IoTデバイス104から受信した認証情報を認証情報データベース112の検証済みの認証情報と比較でき、IoTデバイス104により示された認証情報が実際に本物であるか否かをデバイスプロビジョニングシステム106に確認できる。上述のように、いくつかの実施形態において、デバイスプロビジョニングシステム106は、認証情報データベース112の維持を担うことができる。
IoTプラットフォーム108の実施形態は、IoTプラットフォーム108に登録されたIoTデバイス104の1つまたは複数の機能の有効化を担い得る。例えば、IoTプラットフォーム153は、リアルタイムモニタリング機能、リモート制御機能、構成可能アラート、通知およびプラグ着脱可能クラウドサービスをIoTデバイス101に備え付けたり有効化したりできる。IoTプラットフォーム108の実施形態はまた、IoTデバイス104をモバイルコンピューティングデバイス、スマートフォン技術およびアプリケーションと統合し得る。IoTデバイス104の分野におけるIoTプラットフォームの用途の追加の例は、IoTデバイス104とIoTデバイス104が備え付けられた車両とのリモートモニタリングと、機器メンテナンスの予測と、物理的な商品/製品のエンドツーエンド移動のモニタリングを含む、ヘルスケア、ホスピタリティおよび旅行などであるがこれらに限定されない様々な分野におけるリアルタイムでの分析のためのセンサデータの収集とを含み得る。IoTプラットフォーム108は、登録されたIoTデバイス104の大型ネットワークを、スマートシティインフラストラクチャのためのIoTデバイス104のネットワークの使用を含む大規模ソリューションと、配電網の計量、大気質のモニタリングおよび「スマート」ビルディングの機能の制御を含む公共サービスとに利用し得る。
IoTプラットフォーム108の実施形態は、以下で説明される例示的なクラウドコンピューティング環境などのクラウドコンピューティング環境を用いてIoTプラットフォーム108が動作する場合、IoTクラウドとも称され得る。IoTクラウドとして動作するIoTプラットフォーム108は、サービスとしてのプラットフォーム(PaaS)として利用され得る。IoT PaaSにより、ユーザおよびクライアントは、クラウドインフラストラクチャ、IoTプラットフォーム108およびさらにはIoTデバイス104の全てを単一の技術プロバイダから賃借することが可能になり得る。
故に、デバイスプロビジョニングシステム106がイベントデータに基づいてIoTデバイス104のデバイスタイプを自動的に特定するのを可能にすることにより、本明細書において説明される実施形態は、IoTプラットフォーム108へのIoTデバイス104のプロビジョニングおよび登録における有効性およびセキュリティを改善できる。図2に関し、例示的なデバイスプロビジョニングシステムを以下でより詳細に説明する。
図2は、例示的なデバイスプロビジョニングシステム200の一実施形態の上位ブロック図である。デバイスプロビジョニングシステム200は、図1におけるデバイスプロビジョニングシステム106として実装され得る。図2に示される例において、デバイスプロビジョニングシステム200は、相互接続(例えば、バス)220を介して通信可能に結合されているメモリ225、ストレージ230、1つまたは複数のプロセッサ205(本明細書においてCPU205とも称される)およびネットワークインタフェース215を含む。デバイスプロビジョニングシステム200が例としてのみ提供されていること、および、他の実施形態においてデバイスプロビジョニングシステム200が異なるように実装され得ることが理解されるべきである。例えば、他の実施形態において、図2に示されるコンポーネントのうちのいくつかを省略でき、もしくは他のコンポーネントを含めることができ、またはその組み合わせを行うことができる。
各CPU205は、メモリ225もしくはストレージ230またはその組み合わせに格納されたプログラミング命令を取得および実行する。相互接続220は、プログラミング命令などのデータをCPU205と、ストレージ230と、ネットワークインタフェース215と、メモリ225との間で移動させるために用いられる。相互接続220は、1つまたは複数のバスを用いて実装され得る。CPU205は、様々な実施形態において、単一のCPU、複数のCPU、または複数の処理コアを有する単一のCPUであり得る。いくつかの実施形態において、プロセッサ205は、デジタル信号プロセッサ(DSP)であり得る。メモリ225は概して、ランダムアクセスメモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)またはフラッシュ)を代表するように含まれる。ストレージ230は概して、ハードディスクドライブ、ソリッドステートデバイス(SSD)、リムーバブルメモリカード、光ストレージまたはフラッシュメモリデバイスなどの不揮発性メモリを代表するように含まれる。代替的な実施形態において、ストレージ230は、ネットワークインタフェース215に結合されている通信ネットワークを介してデバイスプロビジョニングシステム200に通信可能に結合されているストレージエリアネットワーク(SAN)デバイス、クラウドまたは他のデバイスにより置き換えられ得る。
いくつかの実施形態において、メモリ225はプロビジョニング命令211を格納し、ストレージ230はプロビジョニングログ209およびデバイスタイプスキーマリスト217を格納する。しかしながら、様々な実施形態において、プロビジョニング命令211、プロビジョニングログ209およびデバイスタイプスキーマリスト217は、部分的にメモリ225に格納されるか、部分的にストレージ230に格納されるか、または全体的にメモリ225に格納されるか、もしくは全体的にストレージ230に格納される。追加的に、ストレージ230が単一のモノリシックエンティティとして示され、メモリ225が単一のモノリシックエンティティとして示されているが、他の実施形態において、ストレージ230もしくはメモリ225またはその組み合わせは各々複数の別個のメモリデバイスから構成され得ることが理解されるべきである。
CPU205により実行された場合、プロビジョニング命令211は、本明細書において説明されるように、CPU205に、IoTデバイスにより提供されるイベントデータに基づいて各IoTデバイスのデバイスタイプを自動的に特定させる。特に、プロビジョニング命令211は、スキーマエンジン213に対する命令を含む。スキーマエンジン213は、IoTデバイスから受信したイベントタイプを、デバイスタイプスキーマリスト217に格納されたイベントタイプと比較するように構成される。マッチが見つかった場合、プロビジョニング命令211は、デバイスタイプスキーマリスト217から特定されたマッチにおいて示されるデバイスタイプとしてIoTデバイスを分類する。追加的に、プロビジョニング命令211は、CPU205に、プロビジョニング処理中にエントリをプロビジョニングログ209内に維持させる。例えば、いくつかの実施形態において、プロビジョニング命令211は、CPU205に、方法400もしくは方法500またはその組み合わせなどの方法をIoTデバイスのプロビジョニング中に実行させる。
さらに、上述のように、いくつかの実施形態において、図2に示されるコンポーネントおよびデータのうちの1つまたは複数は、プロセッサ205上で実行される命令もしくはステートメント、もしくは、命令により解釈される命令もしくはステートメント、または、本明細書において説明されるような機能を実行するためにプロセッサ205上で実行されるステートメントを含む。他の実施形態において、図2に示されるコンポーネントのうちの1つまたは複数は、プロセッサベースシステムの代わりに、またはプロセッサベースシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カードもしくは他の物理ハードウェアデバイスまたはその組み合わせを介してハードウェアに実装される。
図3は、例示的なIoTデバイス300の一実施形態の上位ブロック図である。IoTデバイス300は、図1におけるIoTデバイス104として実装され得る。例示的なIoTデバイス300は、通信モジュール360を含む。上述のように、いくつかの実施形態において、通信モジュール360は、多くの異なるタイプのデバイスに含まれ得る汎用モジュールとして製造され得る。この例において、通信モジュール360は、プロセッサ362、ネットワークインタフェース364およびメモリ366を含む。ネットワークインタフェース364は、ネットワーク102などのネットワークを介した、IoTプラットフォーム108およびデバイスプロビジョニングシステム106などのIoTプラットフォームおよびデバイスプロビジョニングシステムとの通信を可能にするように構成される。
この例において、メモリ366は、認証情報370、アドレス372およびスキーマ374を含む。認証情報370は、ネットワーク接続情報および認証ドキュメンテーションである。図3に示される例において、認証情報370は、IoTデバイス300上のメモリ366内に格納される。しかしながら、他の実施形態において、認証情報370は、ネットワークアクセス可能ストレージデバイスを介してアクセス可能であり得る。認証情報370の実施形態は、IoTプラットフォームにアクセスするために用いられ得る、認証の情報を格納し得る。認証情報の例は、ユーザ/パスワードの組み合わせ、セキュリティトークンまたはデジタル証明書を含み得る。認証情報の1つまたは複数の組み合わせは、追加されたセキュリティのために実装され得る。
認証情報370は、コンピューティングシステム、プラットフォームおよびネットワークが、許可されていないデバイスが正規のIoTデバイス300になりすましていないことを保証するためにIoTデバイス300の真正性を検証することを可能にし得る。例えば、デジタル証明書は、IoTデバイス300の認証情報370の維持を担うデジタル証明書マネージャにより発行されるパブリックキー、プライベートキーまたはデジタル署名を用い得る。認証情報370の真正性を検証するために、デジタルキーもしくはデジタル署名またはその両方は、IoTデバイス300の登録の時点でIoTデバイス300により示されているデジタル証明書にマッチさせられ得る。デジタル証明書の例は、セキュアソケットレイヤ(SSL)と、デジタル署名済みオブジェクトを含むオブジェクト署名証明書と、署名検証証明書とを用いてセキュアに通信し得るサーバまたはクライアントの証明書を含み得る。用いられ得るパブリックキー証明書の最も一般的なフォーマットは、X.509フォーマットで発行されるデジタル証明書であってよい。
デジタル証明書、セキュリティトークンおよびデフォルトユーザ名/パスワードとして維持される認証情報370は、通信モジュール360の製造者、ディストリビュータまたはIoTデバイス300の管理者により、IoTデバイス300に予めロードされ得る。予めロードされた認証情報370により、IoTデバイス300は、IoTデバイス300を初めて登録すべく、かつ、IoTデバイス300が本物であることを証明すべくIoTプラットフォームに連絡することが可能になり得る。いくつかの実施形態において、IoTデバイス300の登録中に、認証情報370は、デバイスプロビジョニングシステムまたはIoTプラットフォームにより修正され得る。例えば、IoTデバイス300の登録中に、新しいユーザ名/パスワードの組み合わせが、IoTプラットフォームにアクセスすべく設定され得る。代替的に、IoTデバイス300の登録中に、デバイスプロビジョニングシステムは、登録処理の一部として新しいデジタル証明書またはセキュリティトークンをIoTデバイス300に発行することにより、新しい認証情報を発行できる。
図3の例に示されるものなど、いくつかの実施形態において、IoTデバイス300は、URLまたは他のネットワークアドレスプロトコル372(本明細書において、「アドレス372」と総称される)に予めプログラミングされるか、または埋め込まれる。いくつかの実施形態において、アドレス372は、IoTデバイス300の使用に関連して、IoTデバイス300をデバイスプロビジョニングシステムまたはIoTプラットフォームへ向け得る。IoTデバイス300に埋め込まれたURLまたはネットワークアドレスにナビゲートすると、IoTデバイス300は、デバイスプロビジョニングシステムに接続し、IoTデバイス300の自動登録を開始し得る。例えば、IoTデバイス101は最初に、IoTプラットフォームのURLに向かってダイレクトされ得る。しかしながら、IoTデバイス300は、未登録デバイスとして特定されてよく、その後、IoTプラットフォームにアクセスする前にまず登録処理を完了するために、デバイスプロビジョニングシステムにリダイレクトされてよい。
図3に示される例において、メモリ366は、スキーマ374も格納する。上述のように、スキーマ374は、IoTデバイス300により収集および公開されるイベントタイプに関する情報を含む。IoTデバイス300は、本実施形態において、1つまたは複数の入力/出力(I/O)デバイス376および1つまたは複数のセンサ378も含む。1つまたは複数のI/Oデバイス376は、IoTデバイスがIoTデバイスの周囲の環境においてユーザもしくは他のIoTデバイスまたはその組み合わせとインタラクトすることを可能にする。例えば、I/Oデバイス376は、限定されるわけではないが、ディスプレイスクリーン、スピーカ、マイク、制御パネル等を含み得る。1つまたは複数のセンサ378は各々、IoTデバイスに関するデータを収集するように構成される。例えば、センサ378は、限定されるわけではないが、温度センサ、圧力センサ、照明センサ、タイマ等を含み得る。センサ378もしくはI/Oデバイス376またはその組み合わせは、IoTデバイス300のデバイスタイプの自動特定のためにデバイスプロビジョニングシステムに提供されるIoTデバイス300のスキーマ374に関連するイベントデータを提供する。
IoTデバイス300が例としてのみ提供されていること、および、他の実施形態においてIoTデバイス300が異なるように実装され得ることが理解されるべきである。例えば、他の実施形態において、図示されるものに加えて、または図示されるものの代わりに他のコンポーネントが用いられ得ること、および、図3に示されるいくつかのコンポーネントが省略され得ることが理解されるべきである。例えば、いくつかの実施形態において。I/Oデバイス376は省略され得る。追加的に、いくつかの他の実施形態において、プロセッサ362は、通信モジュール360の一部として実装されない。
図4は、IoTデバイスにプロビジョニングする例示的な方法400の一実施形態を示すフローチャートである。方法400は、デバイスプロビジョニングシステム106または200などのデバイスプロビジョニングシステムにより実装され得る。例えば、方法400は、プロビジョニング命令211などの命令を実行する、デバイスプロビジョニングシステム200内のCPU205などのCPUにより実装され得る。例示的な方法400における動作の順序が説明の目的で提供されていること、および、他の実施形態において方法が異なる順序で実行され得ることが理解されるべきである。同様に、他の実施形態においていくつかの動作が省略され得るか、または追加の動作が含まれ得ることが理解されるべきである。
402において、プロビジョニングまたは登録の要求が、イベントタイプデータを含むイベントスキーマと共に、デバイスプロビジョニングサービス(DPS)におけるプロビジョニングされていないIoTデバイスから受信される。いくつかの実施形態において、デバイスプロビジョニングサービスのユニフォームリソースロケータ(URL)または他のネットワークアドレスが、IoTデバイス製造者により、IoTデバイスへ焼かれるかまたは予めロードされる。このように、IoTデバイスは、要求およびイベントスキーマをデバイスプロビジョニングサービスへ直接送信できる。他の実施形態において、デバイス製造者のURLまたは他のネットワークアドレスが、IoTデバイスへ予めロードされる。そのような実施形態において、要求デバイス製造者は、イベントスキーマをデバイスプロビジョニングサービスにリダイレクトできる。同様に、他の実施形態において、IoTデバイスには、IoTプラットフォームのURLまたは他のネットワークアドレスが予めロードされ、IoTプラットフォームは、最初の要求およびスキーマをデバイスプロビジョニングサービスにリダイレクトする。
404において、デバイスプロビジョニングサービスは、受信した要求を図2のプロビジョニングログ209などにロギングする。406において、デバイスプロビジョニングサービスは、受信したイベントスキーマ内のイベントタイプデータをデバイスタイプスキーマリスト217などのデバイスタイプスキーマリストのコンテンツと比較してマッチを特定するように構成されたスキーマエンジンを実行する。いくつかの実施形態において、デバイスタイプスキーマリストには、イベントタイプデータと対応するデバイスタイプとの異なる組み合わせが予めポピュレートされ得る。他の実施形態において、デバイスプロビジョニングサービスは、例えば、以下で例示的な方法500において説明されるように、IoTデバイスから受信したイベントスキーマに基づいてデバイスタイプスキーマリストの構築もしくは更新またはその組み合わせをするように構成される。さらに、いくつかの実施形態において、デバイスプロビジョニングシステムは複数の分散デバイスを介して実装され得ることが理解されるべきである。そのような実施形態において、スキーマエンジンは、IoTデバイスと通信するように構成されたデバイスとは異なるデバイス上に実装され得る。
408において、スキーママッチを特定したことに応答して、スキーマステートメントが、デバイスプロビジョニングシステムへ返される。本明細書において用いられるように、スキーマステートメントをデバイスプロビジョニングサービスへ返すことは、スキーマステートメントを生成すること、もしくは、スキーマステートメントをデバイスプロビジョニングシステムの1つのコンポーネントからデバイスプロビジョニングシステムの別のコンポーネントに提供すること、またはその組み合わせを指し得る。例えば、上述のように、1つのデバイスがスキーマエンジンを実装するように構成され得ると共に、別のデバイスがIoTデバイスと通信するように構成され得る。特定されたスキーママッチは、デバイスタイプスキーマリスト内の1つまたは複数のイベントタイプの組み合わせがIoTデバイスから受信したイベントスキーマ内の1つまたは複数のイベントタイプとマッチしているというインジケーションである。故に、マッチに基づいて、デバイスプロビジョニングシステムは、スキーマステートメント内のIoTデバイスタイプを分類できる。
410において、スキーマステートメントがプロビジョニングログにロギングされる。412において、プロビジョニング要求がIoTプラットフォーム(IoTクラウドサービスとも称される)へ送信される。追加的に、プロビジョニング要求と共に、デバイスプロビジョニングシステムは、スキーマステートメント内の特定されたデバイスタイプをIoTプラットフォームへ送信する。このように、IoTプラットフォームは、上述のように認証情報を検証できるだけでなく、特定されたデバイスタイプに基づいてIoTデバイスを登録できる。上述のように、これにより、例えば、デバイスタイプに基づく報告の改善、更新/修復の追跡およびロールアウトの改善、デバイスのなりすましを防ぐためのセキュリティの改善等であるがこれらに限定されない様々な利点が可能になる。
414において、上述のように、デバイスプロビジョニングサービスが、IoTプラットフォームから妥当性が確認された認証情報を受信する。例えば、IoTデバイスから受信した認証情報の妥当性を確認したことに応答して、IoTプラットフォームは、IoTデバイスへの送信のために、署名済み証明書をデバイスプロビジョニングシステムへ返すことができる。416において、IoTプラットフォームからの応答が、妥当性が確認された認証情報なしでロギングされる。言い換えると、妥当性が確認された認証情報の受信のイベントがロギングされるが、デバイスプロビジョニングシステムは、実際の妥当性が確認された認証情報をプロビジョニングログにロギングしない。418において、妥当性が確認された認証情報、デバイスID、トークン等が、プロビジョニングされているIoTデバイスへ返される。420において、IoTデバイスからの正常な復帰コードが受信され、正確な認証情報をロギングすることなくロギングされる。
方法400が例として提供されていること、および、他の実施形態において方法400の修正が実装され得ることが理解されるべきである。例えば、ロギング動作のうちの1つまたは複数は、省略または修正され得る。同様に、いくつかの実施形態において、デバイスプロビジョニングシステムは、IoTプラットフォームの一部として実装でき、したがって、デバイスプロビジョニングシステムは、受信した認証情報の妥当性の確認を実行できる。
図5は、IoTデバイスのプロビジョニングの例示的な方法500の別の実施形態を示すフローチャートである。方法500は、デバイスプロビジョニングシステム106または200などのデバイスプロビジョニングシステムにより実装され得る。例えば、方法500は、プロビジョニング命令211などの命令を実行する、デバイスプロビジョニングシステム200内のCPU205などのCPUにより実装され得る。例示的な方法500における動作の順序が説明の目的で提供されていること、および、他の実施形態において方法が異なる順序で実行され得ることが理解されるべきである。同様に、他の実施形態においていくつかの動作が省略され得るか、または追加の動作が含まれ得ることが理解されるべきである。
例示的な方法500により、デバイスプロビジョニングシステムは、IoTデバイスから受信したイベントデータに基づいてデバイスタイプスキーマリストの作成もしくは更新またはその組み合わせをすることが可能になる。例えば、上述のように、いくつかの実施形態において、デバイスタイプスキーマリストには、デバイスタイプと1つまたは複数のイベントタイプの組み合わせとの間の関連性が予めポピュレートされ得る。IoTデバイスから受信したイベントタイプの組み合わせまたはパターンがデバイスタイプスキーマリスト内の保存されたイベントタイプの組み合わせとマッチしない場合、方法500により、デバイスタイプが特定され、デバイスタイプスキーマリストが更新されることが可能になる。追加的に、デバイスタイプスキーマリストが予めポピュレートされていない場合、方法500により、デバイスタイプスキーマリストが作成されることが可能になる。
502において、上述のように、プロビジョニング要求が、イベントスキーマと共に、プロビジョニングされるIoTデバイスの通信モジュールからデバイスプロビジョニングシステムにおいて受信される。通信モジュールは、IoTデバイスがデバイスプロビジョニングシステムと通信することを可能にする。デバイスから受信される最初のイベントスキーマおよびプロビジョニング要求について、イベントスキーマをどこにダイレクトするかに関する情報は、上述のように、デバイス製造者、IoTプラットフォームもしくはデバイスプロビジョニングシステムのいずれかにハードワイヤードまたは予めロードされ得る。デバイス製造者のサイトにハードワイヤードされた場合、サイトは、要求をIoTプラットフォームまたはデバイスプロビジョニングシステムにリダイレクトする。504において、デバイスプロビジョニングシステムは、イベントスキーマからのイベントデータを比較して、デバイスタイプスキーマリスト内にマッチがあるかどうかを判定する。言い換えると、イベントデータに関連するデバイスタイプが以前に特定されているかどうかが判定される。
受信したイベントデータ(例えば、上述のようなイベントタイプの組み合わせ)のデバイスタイプが以前に特定されていると506において判定された場合、上述のように、IoTデバイスは、508において対応するデバイスタイプに分類され、IoTデバイスに返される所与の認証情報をプロビジョニングされる。受信したイベントデータのデバイスタイプが以前に特定されていないと506において判定された場合、デバイスプロビジョニングシステムは、510において、IoTデバイスから受信したイベントスキーマおよび認証情報をIoTデバイスの相手先商標製品製造者(OEM)にダイレクトして、デバイスタイプを判定する。イベントをOEMにダイレクトするための情報は、アプリオリでハードワイヤードまたは予めロードされ得る。サードパーティにより製造されIoTデバイスに埋め込まれる通信モジュールの例において、言及されるOEMは、通信モジュールの製造者とは反対のIoTデバイスのOEMである。OEMは、ハードコード化された認証情報のチェック、デバイスタイプの割り当ておよびデバイスプロビジョニングシステムへのその返送ができる。例えば、ハードコード化された認証情報は、OEMにより提供されるデバイスのシリアル番号を含み得る。そのような状況において、OEMは、デバイスプロビジョニングシステムにより伝達されるシリアル番号に基づいてデバイスタイプを提供できる。512において、デバイスプロビジョニングシステムは、OEMからの応答に基づいてデバイスタイプスキーマリストを更新する。DPSは、ここで、将来の処理のために、IoTデバイスから受信したイベントタイプとデバイスタイプとの間の相関関係を有する。
次に、方法500は、上述のようにIoTデバイスが特定されたデバイスタイプに基づいて分類およびプロビジョニングされる508へ進む。次に、方法500は、同じまたは他のIoTデバイスから後続のイベントデータを受信するために502に戻る。故に、イベントスキーマおよび要求が初めて送信される時にのみ、IoTデバイスはプロビジョニングされる。その後、IoTプラットフォームは、IoTデバイスがプロビジョニング処理においてIoTプラットフォームにより提供される検証済みの認証情報と共に要求を送信する時に、IoTデバイスを特定する。また、DPSは、最初のイベントが持続されること、および、必要な場合にはデバイスタイプについてOEMとチェックした後にIoTプラットフォームへ転送されることを保証する。1つよりも多くのIoTデバイスが同様のイベントタイプを送信する場合、デバイスタイプは、異なるIoTデバイスについて同じであろうし、これに対して、デバイスIDは一意に返されるであろう。故に、更新されたデバイスタイプスキーマリストは、同じデバイスタイプであるが必ずしも同じ製造者のものではない後続のIoTデバイスを特定するために用いられ得る。
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装はクラウドコンピューティング環境に限定されないことが理解されるべきである。むしろ、本発明の実施形態は、現在知られているか、または後に開発される任意の他のタイプのコンピューティング環境と併せて実装できる。
クラウドコンピューティングは、管理の手間またはサービスのプロバイダとのインタラクションを最小限に抑えながら迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、バーチャルマシンおよびサービス)の共有プールへの便利なオンデマンドのネットワークアクセスを可能にするためのサービス供給モデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデルおよび少なくとも4つの展開モデルを含み得る。
特性は以下のとおりである。
オンデマンドセルフサービス:クラウド消費者が、サービスのプロバイダとのヒューマンインタラクションを要求することなく、必要に応じて自動的に、サーバ時間およびネットワークストレージなどのコンピューティング機能を一方的にプロビジョニングできる。
ブロードネットワークアクセス:機能がネットワークを介して利用可能であり、異種混合のシンクライアントプラットフォームまたはシッククライアントプラットフォームによる使用を促進する標準的な機構(例えば、携帯電話、ラップトップおよびPDA)を通じてアクセスされる。
リソースプーリング:プロバイダのコンピューティングリソースが、マルチテナントモデルを用いて複数の消費者にサービスを提供するためにプールされ、異なる物理リソースおよび仮想リソースは、需要に応じて動的に割り当ておよび再割り当てされる。概して消費者は提供されるリソースの正確な位置に関する制御または知識を有しないが、より高い抽象化レベル(例えば、国、州またはデータセンタ)で位置を指定でき得るという点で、位置独立性の意味がある。
迅速伸縮性:機能が、素早くスケールアウトするように、いくつかの場合には自動的に、迅速かつ伸縮自在にプロビジョニングでき、素早くスケールインするように迅速にリリースできる。消費者にとって、プロビジョニングのために利用可能な機能は、無制限に見えることが多く、任意の時点で任意の量を購入できる。
測定されるサービス:クラウドシステムが、サービスのタイプ(例えば、ストレージ、処理、帯域幅およびアクティブユーザアカウント)に対して適切なある抽象化レベルで計量機能を利用することにより、リソースの使用を自動的に制御および最適化する。リソースの使用がモニタリング、制御および報告され得ることで、利用されるサービスのプロバイダおよび消費者の両方に透明性が提供される。
サービスモデルは以下のとおりである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを用いることである。このアプリケーションは、ウェブブラウザ(例えば、ウェブベース電子メール)などのシンクライアントインタフェースを通じて、様々なクライアントデバイスからアクセス可能である。限定的なユーザ固有のアプリケーション構成設定は例外になり得るが、消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージまたはさらには個々のアプリケーション機能を含む、基礎となるクラウドインフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによりサポートされるプログラミング言語およびツールを用いて作成される、消費者により作成または取得されたアプリケーションをクラウドインフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステムまたはストレージを含む、基礎となるクラウドインフラストラクチャを管理または制御しないが、展開されたアプリケーションおよび場合によってはアプリケーションホスト環境構成に対する制御を有する。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワークおよび他の基本的なコンピューティングリソースをプロビジョニングすることである。消費者は、オペレーティングシステムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行できる。消費者は、基礎となるクラウドインフラストラクチャを管理または制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーションに対する制御を有し、場合によっては、ネットワークコンポーネント(例えば、ホストファイアウォール)の限定的な制御を有する。
展開モデルは以下のとおりである。
プライベートクラウド:クラウドインフラストラクチャは、ある組織のみのために動作させられる。クラウドインフラストラクチャは、その組織またはサードパーティにより管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
コミュニティクラウド:クラウドインフラストラクチャは、いくつかの組織により共有され、関心事項(例えば、ミッション、セキュリティ要件、ポリシおよび準拠検討事項)を共有する特定のコミュニティをサポートする。クラウドインフラストラクチャは、これらの組織またはサードパーティにより管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
パブリッククラウド:クラウドインフラストラクチャは、一般大衆または大きい業界グループに対して利用可能にされ、クラウドサービスを販売する組織により所有される。
ハイブリッドクラウド:クラウドインフラストラクチャは、独自のエンティティのままであるが、データおよびアプリケーションのポータビリティを可能にする標準型またはプロプライエタリ型の技術(例えば、クラウド間での負荷分散のためのクラウドバースト)により共に結合された2つまたはそれよりも多くのクラウド(プライベート型、コミュニティ型またはパブリック型)の複合物である。
クラウドコンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性およびセマンティックインターオペラビリティに重点が置かれている。クラウドコンピューティングの中心には、相互接続ノードのネットワークを含むインフラストラクチャがある。
ここで図6を参照すると、例示的なクラウドコンピューティング環境50が示されている。示されるように、クラウドコンピューティング環境50は、例えば、パーソナルデジタルアシスタント(PDA)または携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54Cもしくは自動車コンピュータシステム54Nまたはその組み合わせなど、クラウド消費者により用いられるローカルコンピューティングデバイスが通信し得る1つまたは複数のクラウドコンピューティングノード10を含む。ノード10は、互いに通信し得る。それらは、上述のようなプライベートクラウド、コミュニティクラウド、パブリッククラウドもしくはハイブリッドクラウドまたはそれらの組み合わせなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(不図示)。これにより、クラウドコンピューティング環境50は、インフラストラクチャ、プラットフォームもしくはソフトウェアまたはその組み合わせを、クラウド消費者がローカルコンピューティングデバイス上のリソースを維持する必要がないサービスとして提供することが可能になる。図6に示されるコンピューティングデバイス54A~Nのタイプは例示のみが意図されていること、および、コンピューティングノード10およびクラウドコンピューティング環境50は、任意のタイプのネットワークもしくはネットワークアドレス指定可能接続またはその組み合わせを介して(例えば、ウェブブラウザを用いて)任意のタイプのコンピュータ化されたデバイスと通信できることが理解される。
ここで図7を参照すると、クラウドコンピューティング環境50(図6)により提供される機能抽象化層のセットが示される。図7に示されるコンポーネント、層および機能は例示のみを意図されており、本発明の実施形態がそれに限定されないことが前もって理解されるべきである。示されるように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層60は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム61と、RISC(縮小命令セットコンピュータ)アーキテクチャベースサーバ62と、サーバ63と、ブレードサーバ64と、ストレージデバイス65と、ネットワークおよびネットワークコンポーネント66とを含む。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
仮想化層70は抽象化層を提供し、抽象化層からは、仮想エンティティの以下の例、すなわち、仮想サーバ71と、仮想ストレージ72と、仮想プライベートネットワークを含む仮想ネットワーク73と、仮想アプリケーションおよびオペレーティングシステム74と、仮想クライアント75とが提供され得る。
一例において、管理層80は、以下に説明される機能を提供し得る。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を提供する。計量および価格設定82は、リソースがクラウドコンピューティング環境内で利用される時のコスト追跡と、これらのリソースの消費に対する課金または請求とを提供する。一例において、これらのリソースは、アプリケーションソフトウェアライセンスを含み得る。セキュリティは、クラウド消費者およびタスクについての識別情報検証だけでなく、データおよび他のリソースの保護を提供する。ユーザポータル83は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要とされるサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を提供する。サービスレベルアグリーメント(SLA)計画および達成85は、将来の要件がSLAに従って予想されるクラウドコンピューティングリソースの事前準備および調達を提供する。
ワークロード層90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション91と、ソフトウェア開発およびライフサイクル管理92と、仮想教室教育配信93と、データ分析処理94と、トランザクション処理95と、デバイスプロビジョニング処理96とを含む。
本発明は、あらゆる可能な技術的詳細統合レベルのシステム、方法もしくはコンピュータプログラム製品またはその組み合わせであってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する1つの(または複数の)コンピュータ可読記憶媒体を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および格納できる有形のデバイスであり得る。コンピュータ可読記憶媒体は、限定されるわけではないが、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または前述のものの任意の適切な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な例の非包括的な列挙は、ポータブルコンピュータディスケットと、ハードディスクと、ランダムアクセスメモリ(RAM)と、リードオンリメモリ(ROM)と、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)と、スタティックランダムアクセスメモリ(SRAM)と、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)と、デジタル多用途ディスク(DVD)と、メモリスティックと、フロッピーディスクと、命令が記録されたパンチカードまたは溝内の隆起構造など、機械的に符号化されたデバイスと、前述のものの任意の適切な組み合わせとを含む。本明細書において用いられるコンピュータ可読記憶媒体自体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)または電線を通じて伝送される電気信号など、一時的な信号と解釈されるべきではない。
本明細書において説明されるコンピュータ可読プログラム命令は、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークもしくは無線ネットワークまたはその組み合わせを介して、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスへ、または、ネットワーク、外部コンピュータもしくは外部ストレージデバイスへダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバまたはその組み合わせを含み得る。
各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、例えばSmalltalk(登録商標)もしくはC++等のオブジェクト指向プログラミング言語、「C」プログラミング言語などの手続き型プログラミング言語もしくは同様のプログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで書き込まれるソースコードもしくはオブジェクトコードであってよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモートコンピュータ上で、または全体的にリモートコンピュータもしくはサーバ上で実行され得る。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、(例えば、インターネットサービスプロバイダを用いるインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行すべく、コンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行して電子回路をパーソナライズし得る。
本発明の態様は、本発明の実施形態による方法、装置(システム)およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその組み合わせを参照して、本明細書において説明されている。フローチャート図および/またはブロック図の各ブロックと、フローチャート図および/またはブロック図におけるブロックの組み合わせとがコンピュータ可読プログラム命令により実装され得ることが理解されるであろう。
マシンを生成するためにこれらのコンピュータ可読プログラム命令をコンピュータのプロセッサまたは他のプログラム可能なデータ処理装置に提供して、コンピュータのプロセッサまたは他のプログラム可能なデータ処理装置を介して実行される命令が、フローチャートもしくはブロック図またはその組み合わせの1つまたは複数のブロックにおいて指定される機能/動作を実装するための手段を作成するようにしてよい。また、特定の方式で機能するようコンピュータ、プログラム可能なデータ処理装置もしくは他のデバイスまたはその組み合わせに指示できるコンピュータ可読記憶媒体にこれらのコンピュータ可読プログラム命令を格納して、内部に格納された命令を有するコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその組み合わせの1つまたは複数のブロックにおいて指定される機能/動作の態様を実装する命令を含む製造品を備えるようにしてよい。
また、一連の動作段階をコンピュータ、他のプログラム可能な装置または他のデバイス上で実行させてコンピュータ実装処理を生成するためにコンピュータ可読プログラム命令をコンピュータ、他のプログラム可能なデータ処理装置または他のデバイスにロードして、コンピュータ、他のプログラム可能な装置または他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその組み合わせの1つまたは複数のブロックにおいて指定される機能/動作を実装するようにしてよい。
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメントまたは部分を表し得る。いくつかの代替的な実装において、ブロックに示される機能は、図に示される順序以外で行われ得る。例えば、連続して示される2つのブロックが、実際には、1つの段階として実現されても、同時に、実質的に同時に、部分的にまたは全体的に時間的に重複した方式で実行されてもよく、これらのブロックが、関与する機能に応じて逆の順序で実行されることがあってもよい。ブロック図および/またはフローチャート図の各ブロックと、ブロック図および/またはフローチャート図におけるブロックの組み合わせとが、指定された機能もしくは動作を実行するか、または専用のハードウェア命令およびコンピュータ命令の組み合わせを実行する専用ハードウェアベースシステムにより実装され得ることにも留意されたい。
本明細書において特定の実施形態を図示および説明してきたが、同じ目的を達成するように計算される任意の配置が、示された特定の実施形態のために置き換えられ得ることが、当業者には理解されるであろう。したがって、本発明が特許請求の範囲およびその均等物によってのみ限定されることが明白に意図されている。

Claims (20)

  1. モノのインターネット(IoT)デバイスにプロビジョニングするコンピュータ実装方法であって、
    デバイスプロビジョニングシステムにおいて前記IoTデバイスのイベントスキーマを受信する段階であって、前記イベントスキーマは、前記IoTデバイスにより収集される1つまたは複数のイベントタイプを含む、受信する段階と、
    前記イベントスキーマからの前記1つまたは複数のイベントタイプをデバイスタイプスキーマリスト内の1つまたは複数のイベントタイプの複数の組み合わせと比較して、前記IoTデバイスからの前記イベントスキーマ内の前記1つまたは複数のイベントタイプと、前記デバイスタイプスキーマリスト内の前記1つまたは複数のイベントタイプの複数の組み合わせのうちの1つとの間のマッチを特定する段階と、
    マッチを特定したことに応答して、デバイスタイプと、マッチした前記1つまたは複数のイベントタイプの組み合わせとの、前記デバイスタイプスキーマリスト内の相関関係に基づき、前記デバイスタイプを前記IoTデバイスに割り当てる段階と、
    割り当てられた前記デバイスタイプに基づき、妥当性が確認された認証情報を用いて前記IoTデバイスにプロビジョニングする段階と
    を備える、コンピュータ実装方法。
  2. 前記IoTデバイスにプロビジョニングする段階は、
    前記割り当てられたデバイスタイプをIoTプラットフォームへ送信する段階と、
    前記IoTデバイスの前記妥当性が確認された認証情報を前記IoTプラットフォームから受信する段階と
    を有する、
    請求項1に記載のコンピュータ実装方法。
  3. 前記イベントスキーマを受信する段階は、プロビジョニング要求、および前記IoTデバイス内でハードコード化された認証情報と共に前記イベントスキーマを受信する段階を有する、請求項1または2に記載のコンピュータ実装方法。
  4. 前記IoTデバイスの前記イベントスキーマを受信する段階は、前記IoTデバイスからの前記イベントスキーマを前記デバイスプロビジョニングシステムへ転送したIoTプラットフォームから前記イベントスキーマを受信する段階を有する、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
  5. マッチを特定していないことに応答して、前記IoTデバイスから受信した認証情報を前記IoTデバイスのデバイス製造者へ転送する段階と、
    前記IoTデバイスのデバイスタイプを前記デバイス製造者から受信する段階と、
    前記IoTデバイスの前記イベントスキーマと、前記デバイス製造者から受信した前記デバイスタイプとに基づき、前記デバイスタイプスキーマリストを更新する段階と
    をさらに備える、請求項1から4のいずれか一項に記載のコンピュータ実装方法。
  6. プロビジョニングログに前記IoTデバイスの前記イベントスキーマの受信をロギングする段階と、
    前記プロビジョニングログに、特定された前記マッチのスキーマステートメントをロギングする段階と、
    前記妥当性が確認された認証情報をロギングすることなく、前記IoTデバイスのプロビジョニングをロギングする段階と
    をさらに備える、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
  7. 前記デバイスプロビジョニングシステムにおいて前記IoTデバイスの認証情報の妥当性を確認する段階をさらに備える、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
  8. 通信ネットワークに結合されているネットワークインタフェースと、
    デバイスタイプスキーマリストを格納するように構成されたメモリであって、前記デバイスタイプスキーマリストは、複数のデバイスタイプの各々を1つまたは複数のイベントタイプの複数の組み合わせのうちのそれぞれと相関させる、メモリと、
    前記メモリと前記ネットワークインタフェースとに通信可能に結合されているプロセッサであって、
    ネットワークインタフェースを介してIoTデバイスのイベントスキーマを受信することであって、前記イベントスキーマは、前記IoTデバイスにより収集される1つまたは複数のイベントタイプを含む、受信することと、
    前記イベントスキーマからの前記1つまたは複数のイベントタイプを前記デバイスタイプスキーマリスト内の前記1つまたは複数のイベントタイプの複数の組み合わせと比較して、前記IoTデバイスからの前記イベントスキーマ内の前記1つまたは複数のイベントタイプと、前記デバイスタイプスキーマリスト内の前記1つまたは複数のイベントタイプの複数の組み合わせのうちの1つとの間のマッチを特定することと、
    マッチを特定したことに応答して、デバイスタイプと、マッチした前記1つまたは複数のイベントタイプの組み合わせとの、前記デバイスタイプスキーマリスト内の相関関係に基づき、前記デバイスタイプを前記IoTデバイスに割り当てることと
    を実行するように構成されたプロセッサと
    を備えるデバイスプロビジョニングシステム。
  9. 前記プロセッサは、前記IoTデバイスの認証情報の妥当性を確認するように構成される、請求項8に記載のデバイスプロビジョニングシステム。
  10. 前記プロセッサは、
    前記IoTデバイスの認証情報の妥当性を確認する際に用いるために、割り当てられた前記デバイスタイプをIoTプラットフォームへ送信することと、
    前記IoTデバイスの妥当性が確認された認証情報を前記IoTプラットフォームから受信することと
    を実行するように構成される、
    請求項8または9に記載のデバイスプロビジョニングシステム。
  11. 受信された前記イベントスキーマは、プロビジョニング要求、および前記IoTデバイス内でハードコード化された認証情報と共に受信されている、請求項8から10のいずれか一項に記載のデバイスプロビジョニングシステム。
  12. 前記IoTデバイスの前記イベントスキーマは、前記IoTデバイスからの前記イベントスキーマを前記デバイスプロビジョニングシステムの前記ネットワークインタフェースへ転送したIoTプラットフォームからのものである、請求項8から11のいずれか一項に記載のデバイスプロビジョニングシステム。
  13. 前記プロセッサはさらに、
    マッチを特定していないことに応答して、前記IoTデバイスから受信した認証情報を前記IoTデバイスのデバイス製造者へ転送することと、
    前記IoTデバイスのデバイスタイプを前記デバイス製造者から受信することと、
    前記IoTデバイスの前記イベントスキーマと、前記デバイス製造者から受信した前記デバイスタイプとに基づき、前記デバイスタイプスキーマリストを更新することと
    を実行するように構成される、
    請求項8から12のいずれか一項に記載のデバイスプロビジョニングシステム。
  14. 前記プロセッサはさらに、
    前記メモリに格納されたプロビジョニングログに前記IoTデバイスの前記イベントスキーマの受信をロギングすることと、
    前記プロビジョニングログに、特定された前記マッチのスキーマステートメントをロギングすることと、
    妥当性が確認された認証情報をロギングすることなく、前記IoTデバイスのプロビジョニングをロギングすることと
    を実行するように構成される、
    請求項8から13のいずれか一項に記載のデバイスプロビジョニングシステム。
  15. プロセッサに、
    IoTデバイスのイベントスキーマを受信する手順であって、前記イベントスキーマは、前記IoTデバイスにより収集される1つまたは複数のイベントタイプを含む、受信する手順と、
    前記イベントスキーマからの前記1つまたは複数のイベントタイプをデバイスタイプスキーマリスト内の1つまたは複数のイベントタイプの複数の組み合わせと比較して、前記IoTデバイスからの前記イベントスキーマ内の前記1つまたは複数のイベントタイプと、前記デバイスタイプスキーマリスト内の前記1つまたは複数のイベントタイプの複数の組み合わせのうちの1つとの間のマッチを特定する手順と、
    マッチを特定したことに応答して、デバイスタイプと、マッチした前記1つまたは複数のイベントタイプの組み合わせとの、前記デバイスタイプスキーマリスト内の相関関係に基づき、前記デバイスタイプを前記IoTデバイスに割り当てる手順と
    を実行させる、コンピュータプログラム。
  16. 前記プロセッサに、前記IoTデバイスの認証情報の妥当性を確認する手順をさらに実行させる、請求項15に記載のコンピュータプログラム。
  17. 前記プロセッサに、
    前記IoTデバイスの認証情報の妥当性を確認する際に用いるために、割り当てられた前記デバイスタイプをIoTプラットフォームへ送信する手順と、
    前記IoTデバイスの妥当性が確認された認証情報を前記IoTプラットフォームから受信する手順と
    をさらに実行させる、請求項15または16に記載のコンピュータプログラム。
  18. 受信された前記イベントスキーマは、プロビジョニング要求、および前記IoTデバイス内でハードコード化された認証情報と共に受信されている、請求項15から17のいずれか一項に記載のコンピュータプログラム。
  19. 前記プロセッサに、
    マッチを特定していないことに応答して、前記IoTデバイスから受信した認証情報を前記IoTデバイスのデバイス製造者へ転送する手順と、
    前記IoTデバイスのデバイスタイプを前記デバイス製造者から受信する手順と、
    前記IoTデバイスの前記イベントスキーマと、前記デバイス製造者から受信した前記デバイスタイプとに基づき、前記デバイスタイプスキーマリストを更新する手順と
    をさらに実行させる請求項15から18のいずれか一項に記載のコンピュータプログラム。
  20. 前記プロセッサに、
    メモリに格納されたプロビジョニングログに前記IoTデバイスの前記イベントスキーマの受信をロギングする手順と、
    前記プロビジョニングログに、特定された前記マッチのスキーマステートメントをロギングする手順と、
    妥当性が確認された認証情報をロギングすることなく、前記IoTデバイスのプロビジョニングをロギングする手順と
    をさらに実行させる、請求項15から19のいずれか一項に記載のコンピュータプログラム。
JP2021170569A 2020-10-26 2021-10-18 コンピュータ実装方法、デバイスプロビジョニングシステムおよびコンピュータプログラム(モノのインターネットデバイスのプロビジョニング) Active JP7619736B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/079,854 2020-10-26
US17/079,854 US11956639B2 (en) 2020-10-26 2020-10-26 Internet of things device provisioning

Publications (2)

Publication Number Publication Date
JP2022070222A JP2022070222A (ja) 2022-05-12
JP7619736B2 true JP7619736B2 (ja) 2025-01-22

Family

ID=78497891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021170569A Active JP7619736B2 (ja) 2020-10-26 2021-10-18 コンピュータ実装方法、デバイスプロビジョニングシステムおよびコンピュータプログラム(モノのインターネットデバイスのプロビジョニング)

Country Status (5)

Country Link
US (1) US11956639B2 (ja)
JP (1) JP7619736B2 (ja)
CN (1) CN114510984B (ja)
DE (1) DE102021123575A1 (ja)
GB (1) GB2603240B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12610235B2 (en) * 2020-11-02 2026-04-21 Interdigital Patent Holdings, Inc. Method and apparatus for provisioning of localized temporary services (LTS) hosting network credentials
KR102945668B1 (ko) * 2022-09-07 2026-03-31 쿠팡 주식회사 로그 정보를 관리하는 방법 및 이를 지원하는 전자 장치
US12164484B2 (en) * 2023-03-28 2024-12-10 Nec Corporation Data schema matching to optimize the quality of applications
US12407678B2 (en) 2023-06-07 2025-09-02 Cisco Technology, Inc. Security schema for secure device onboarding
EP4716159A1 (en) * 2024-09-19 2026-03-25 Peeriot GmbH Method for building a device network and a corresponding device network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140128050A1 (en) 2011-06-15 2014-05-08 Telefonaktiebolaget Lm Ericcson (Publ) Provisioning connectivity service data in a telecommunications network
JP2019004391A (ja) 2017-06-16 2019-01-10 アイビーシー株式会社 デバイスプロビジョニングシステム
JP2019148991A (ja) 2018-02-27 2019-09-05 横河電機株式会社 プロビジョニングシステム、プロビジョニング方法、プロビジョニングプログラム、およびネットワークデバイス
JP2019535086A (ja) 2016-10-15 2019-12-05 マイクロソフト テクノロジー ライセンシング,エルエルシー Iotデバイスの自動プロビジョニング

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6499017B1 (en) 1999-01-29 2002-12-24 Harris Corporation Method for provisioning communications devices and system for provisioning same
KR100771574B1 (ko) * 1999-07-03 2007-10-30 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 복수의 디지털 정보 신호를 인덱싱하는 방법
US9538311B2 (en) 2014-02-04 2017-01-03 Texas Instruments Incorporated Auto-provisioning for internet-of-things devices
ES2874557T3 (es) 2014-12-11 2021-11-05 Bitdefender Ipr Man Ltd Sistemas y métodos para detección automática de dispositivo, gestión de dispositivo y asistencia remota
US9774604B2 (en) * 2015-01-16 2017-09-26 Zingbox, Ltd. Private cloud control
US10083291B2 (en) * 2015-02-25 2018-09-25 Verisign, Inc. Automating internet of things security provisioning
US9461976B1 (en) 2015-03-25 2016-10-04 Mcafee, Inc. Goal-driven provisioning in IoT systems
US10212178B2 (en) * 2015-04-07 2019-02-19 Zingbox, Ltd. Packet analysis based IoT management
US10171462B2 (en) 2015-12-14 2019-01-01 Afero, Inc. System and method for secure internet of things (IOT) device provisioning
US9866637B2 (en) 2016-01-11 2018-01-09 Equinix, Inc. Distributed edge processing of internet of things device data in co-location facilities
US10425242B2 (en) * 2016-10-14 2019-09-24 Microsoft Technology Licensing, Llc IoT provisioning service
CN114826577B (zh) * 2016-11-14 2025-12-09 诚信保安服务有限责任公司 设备的安全供应和管理
US10581620B2 (en) * 2016-11-14 2020-03-03 Integrity Security Services Llc Scalable certificate management system architectures
US10305773B2 (en) * 2017-02-15 2019-05-28 Dell Products, L.P. Device identity augmentation
CA3070449C (en) * 2017-07-19 2025-05-27 Datacast Labs Llc INTERNET OF THINGS (IoT) DATA SYNDICATION SYSTEMS AND METHODS ENABLING ENHANCED APPLICATION- AND VENDOR-INDEPENDENT IoT SERVICES AND DEVICE FUNCTIONALITY
EP3619886B1 (en) * 2017-08-18 2025-05-28 Samsung Electronics Co., Ltd. Method and an apparatus for onboarding in an iot network
WO2019156716A1 (en) * 2018-02-09 2019-08-15 Intel Corporation Trusted iot device configuration and onboarding
US10430100B2 (en) * 2018-02-28 2019-10-01 International Business Machines Corporation Transactional operations in multi-master distributed data management systems
US10838710B2 (en) * 2018-05-15 2020-11-17 International Business Machines Corporation Dynamically updating security preferences in an Internet of Things (IoT) environment
CN112640381B (zh) * 2018-06-18 2024-03-08 帕洛阿尔托网络公司 检测物联网设备的不合期望的行为的方法和系统
US10984108B2 (en) * 2018-10-05 2021-04-20 International Business Machines Corporation Trusted computing attestation of system validation state
US10887180B2 (en) 2018-11-14 2021-01-05 Vmware, Inc. Internet of things device discovery and deployment
US11356440B2 (en) 2018-11-30 2022-06-07 International Business Machines Corporation Automated IoT device registration
US11245577B2 (en) * 2019-09-26 2022-02-08 Amazon Technologies, Inc. Template-based onboarding of internet-connectible devices
US12082080B2 (en) * 2019-10-07 2024-09-03 T-Mobile Usa, Inc. Dynamic subscriber profile management
US11087890B2 (en) * 2019-12-19 2021-08-10 Sap Se Automatic onboarding of digital twins of physical assests in Internet-of-Things (IoT) systems
US11971962B2 (en) * 2020-04-28 2024-04-30 Cisco Technology, Inc. Learning and assessing device classification rules
US12400130B2 (en) * 2020-10-16 2025-08-26 Honeywell International, Inc. Extensible object model and graphical user interface enabling modeling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140128050A1 (en) 2011-06-15 2014-05-08 Telefonaktiebolaget Lm Ericcson (Publ) Provisioning connectivity service data in a telecommunications network
JP2019535086A (ja) 2016-10-15 2019-12-05 マイクロソフト テクノロジー ライセンシング,エルエルシー Iotデバイスの自動プロビジョニング
JP2019004391A (ja) 2017-06-16 2019-01-10 アイビーシー株式会社 デバイスプロビジョニングシステム
JP2019148991A (ja) 2018-02-27 2019-09-05 横河電機株式会社 プロビジョニングシステム、プロビジョニング方法、プロビジョニングプログラム、およびネットワークデバイス

Also Published As

Publication number Publication date
US20220132303A1 (en) 2022-04-28
JP2022070222A (ja) 2022-05-12
CN114510984B (zh) 2025-09-02
GB2603240A (en) 2022-08-03
GB202114290D0 (en) 2021-11-17
GB2603240B (en) 2023-02-15
CN114510984A (zh) 2022-05-17
DE102021123575A1 (de) 2022-04-28
US11956639B2 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
JP7619736B2 (ja) コンピュータ実装方法、デバイスプロビジョニングシステムおよびコンピュータプログラム(モノのインターネットデバイスのプロビジョニング)
EP3603031B1 (en) Device credentials management
US11128612B1 (en) Zero-touch provisioning of IoT devices with multi factor authentication
US11509537B2 (en) Internet of things device discovery and deployment
JP7203444B2 (ja) 代替サーバ名を使用する相互トランスポート層セキュリティを選択的に提供すること
US11178049B2 (en) Device deployment and net work management using a self-service portal
JP7189949B2 (ja) ゲートウェイ管理コンソールにアクセスする方法、システム、およびプログラム
JP7055200B2 (ja) ゲートウェイ管理コンソールにアクセスするためのコンピュータ処理方法、装置、システム、およびプログラム
EP4035327B1 (en) Template-based onboarding of internet-connectible devices
JP7139423B2 (ja) ゲートウェイ管理コンソールにアクセスするためのコンピュータ処理方法、装置、システム、およびプログラム
CN112956219A (zh) 利用地理围栏认证的基于子网的设备分配
US12003963B2 (en) Mobile provisioning of a data center asset in a data center connectivity management environment
US12363070B2 (en) Management service domain join orchestration
US20240039793A1 (en) Connectivity Management System Client Inventory and Configuration Operation for Interconnected Connectivity Management Clients

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20241212

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20241220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250107

R150 Certificate of patent or registration of utility model

Ref document number: 7619736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150