(57)【要約】【課題】ウェブ・オブ・シングスにおいてレガシーデバイスを使用する方法等を提供する。【解決手段】実施形態の態様によれば、方法は、レガシーデータに対応するＪＳＯＮスキーマを取得することを含んでよい。レガシーデータは、レガシーデバイスのデバイス特徴に対応する複数のレガシーデータ点を含んでよい。複数のレガシーデータ点は、レガシーデータフォーマットに従って区切られてよい。ＪＳＯＮスキーマは、レガシーデータ点に対応する複数の特性定義を含んでよい。ＪＳＯＮスキーマは、ＪＳＯＮスキーマを用いてレガシーデータを処理することを可能にするようにレガシーデータフォーマットを記述するレガシーオブジェクトを更に含んでよい。方法はまた、レガシーデバイスがＷｏＴのモノとして使用されることを可能にするようにＪＳＯＮスキーマに含まれているレガシーオブジェクト及び複数の特性定義を用いてレガシーデータを処理することを含んでよい。【選択図】図５
2020198095.tif 000002
【特許請求の範囲】
【請求項１】
複数のレガシーデータ点を含むレガシーデータに対応するJavaScript  Object  Notation（ＪＳＯＮ）スキーマを取得することであり、前記複数のレガシーデータ点の各レガシーデータ点は、レガシーデバイスの複数のデバイス特徴のうちの対応するデバイス特徴に対応し、前記複数のレガシーデータ点は、ＪＳＯＮフォーマットとは異なるレガシーデータフォーマットに従って区切られ、前記ＪＳＯＮスキーマは、前記ＪＳＯＮフォーマットに従ってフォーマット化されており、複数の特性定義を含み、該複数の特性定義の各特性定義は、前記複数のレガシーデータ点のうちの対応するレガシーデータ点に対応し、前記ＪＳＯＮスキーマは、該ＪＳＯＮスキーマを用いて前記レガシーデータを処理することを可能にするように前記レガシーデータフォーマットを記述するレガシーオブジェクトを更に含む、前記ＪＳＯＮスキーマを取得することと、
前記レガシーデバイスがウェブ・オブ・シングスのモノとして使用されることを可能にするように前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記レガシーデータを処理することと
を有する方法。
【請求項２】
前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、前記レガシーデータを読み出すことを含む、
請求項１に記載の方法。
【請求項３】
前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、ウェブ・オブ・シングス適合フォーマットにおいて前記複数のレガシーデータ点のうちの１つ以上のレガシーデータ点に関する情報をフォーマット化することを含む、
請求項１に記載の方法。
【請求項４】
ウェブ・オブ・シングス適合フォーマットにおいてフォーマット化された情報を取得することを更に有し、
前記レガシーデータを処理することは、前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記情報を前記レガシーデータフォーマットにフォーマット化することを含み、
当該方法は、前記フォーマット化された情報を前記レガシーデバイスへ供給することを更に有する、
請求項１に記載の方法。
【請求項５】
前記レガシーデバイスは、物理デバイス又は仮想デバイスを含む、
請求項１に記載の方法。
【請求項６】
前記レガシーデータの前記複数のレガシーデータ点は、レガシーデータ順序に従って配置され、
前記ＪＳＯＮスキーマの前記複数の特性定義は、前記レガシーデータ順序に従って配置される、
請求項１に記載の方法。
【請求項７】
前記レガシーオブジェクトは、どのように前記複数のレガシーデータ点が区切られるかを記述する、
請求項１に記載の方法。
【請求項８】
少なくとも１つのプロセッサによって実行されることに応答して、システムに、
複数のレガシーデータ点を含むレガシーデータに対応するJavaScript  Object  Notation（ＪＳＯＮ）スキーマを取得することであり、前記複数のレガシーデータ点の各レガシーデータ点は、レガシーデバイスの複数のデバイス特徴のうちの対応するデバイス特徴に対応し、前記複数のレガシーデータ点は、ＪＳＯＮフォーマットとは異なるレガシーデータフォーマットに従って区切られ、前記ＪＳＯＮスキーマは、前記ＪＳＯＮフォーマットに従ってフォーマット化されており、複数の特性定義を含み、該複数の特性定義の各特性定義は、前記複数のレガシーデータ点のうちの対応するレガシーデータ点に対応し、前記ＪＳＯＮスキーマは、該ＪＳＯＮスキーマを用いて前記レガシーデータを処理することを可能にするように前記レガシーデータフォーマットを記述するレガシーオブジェクトを更に含む、前記ＪＳＯＮスキーマを取得することと、
前記レガシーデバイスがウェブ・オブ・シングスのモノとして使用されることを可能にするように前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記レガシーデータを処理することと
を有する動作を実行させる１つ以上の命令を記憶するよう構成された少なくとも１つの非一時的なコンピュータ可読媒体。
【請求項９】
前記動作は、前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、前記レガシーデータを読み出すことを含む、
請求項８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
【請求項１０】
前記動作は、前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、ウェブ・オブ・シングス適合フォーマットにおいて前記複数のレガシーデータ点のうちの１つ以上のレガシーデータ点に関する情報をフォーマット化することを含む、
請求項８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
【請求項１１】
前記動作は、ウェブ・オブ・シングス適合フォーマットにおいてフォーマット化された情報を取得することを更に有し、
前記レガシーデータを処理することは、前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記情報を前記レガシーデータフォーマットにフォーマット化することを含み、
前記動作は、前記フォーマット化された前記レガシーデバイスへ供給することを更に有する、
請求項８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
【請求項１２】
前記レガシーデバイスは、物理デバイス又は仮想デバイスを含む、
請求項８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
【請求項１３】
前記レガシーデータの前記複数のレガシーデータ点は、レガシーデータ順序に従って配置され、
前記ＪＳＯＮスキーマの前記複数の特性定義は、前記レガシーデータ順序に従って配置される、
請求項８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
【請求項１４】
前記レガシーオブジェクトは、どのように前記複数のレガシーデータ点が区切られるかを記述する、
請求項８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
【請求項１５】
１つ以上のプロセッサと、１つ以上の命令を記憶するよう構成された１つ以上のコンピュータ可読媒体とを有するシステムであって、
前記１つ以上の命令は、前記１つ以上のプロセッサによって実行されることに応答して、当該システムに、
複数のレガシーデータ点を含むレガシーデータに対応するJavaScript  Object  Notation（ＪＳＯＮ）スキーマを取得することであり、前記複数のレガシーデータ点の各レガシーデータ点は、レガシーデバイスの複数のデバイス特徴のうちの対応するデバイス特徴に対応し、前記複数のレガシーデータ点は、ＪＳＯＮフォーマットとは異なるレガシーデータフォーマットに従って区切られ、前記ＪＳＯＮスキーマは、前記ＪＳＯＮフォーマットに従ってフォーマット化されており、複数の特性定義を含み、該複数の特性定義の各特性定義は、前記複数のレガシーデータ点のうちの対応するレガシーデータ点に対応し、前記ＪＳＯＮスキーマは、該ＪＳＯＮスキーマを用いて前記レガシーデータを処理することを可能にするように前記レガシーデータフォーマットを記述するレガシーオブジェクトを更に含む、前記ＪＳＯＮスキーマを取得することと、
前記レガシーデバイスがウェブ・オブ・シングスのモノとして使用されることを可能にするように前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記レガシーデータを処理することと
を有する動作を実行させる、
システム。
【請求項１６】
前記動作は、前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、前記レガシーデータを読み出すことを含む、
請求項１５に記載のシステム。
【請求項１７】
前記動作は、前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、ウェブ・オブ・シングス適合フォーマットにおいて前記複数のレガシーデータ点のうちの１つ以上のレガシーデータ点に関する情報をフォーマット化することを含む、
請求項１５に記載のシステム。
【請求項１８】
前記動作は、ウェブ・オブ・シングス適合フォーマットにおいてフォーマット化された情報を取得することを更に有し、
前記レガシーデータを処理することは、前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記情報を前記レガシーデータフォーマットにフォーマット化することを含み、
前記動作は、前記フォーマット化された情報を前記レガシーデバイスへ供給することを更に有する、
請求項１５に記載のシステム。
【請求項１９】
前記レガシーデータの前記複数のレガシーデータ点は、レガシーデータ順序に従って配置され、
前記ＪＳＯＮスキーマの前記複数の特性定義は、前記レガシーデータ順序に従って配置される、
請求項１５に記載のシステム。
【請求項２０】
前記レガシーオブジェクトは、どのように前記複数のレガシーデータ点が区切られるかを記述する、
請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明される実施形態は、ウェブ・オブ・シングス（Web-of-Things）においてレガシーデバイスを使用することに関係がある。
【背景技術】
【０００２】
ウェブ・オブ・シングス（ＷｏＴ）は、オブジェクト（ＷｏＴの文脈において“モノ”（Things）と呼ばれる）が、ワールド・ワイド・ウェブ（“ウェブ”）の部分であること及び／又はそれを通じて相互作用されることを可能にするよう構成されるソフトウェア標準規格及びフォーマットを含む。ＷｏＴはしばしば、モノをウェブとよりシームレスに一体化するために、既存のウェブ標準規格をソフトウェア標準規格として使用する。
【０００３】
例えば、シング・ディスクリプション（Thing  Descriptions）は、ＷｏＴクライアント（例えば、他のモノ、ソフトウェアモジュール、など）のためのシング・データを記述するために使用される。シング・ディスクリプションは、どのようにしてクライアントが対応するモノと相互作用（例えば、通信、制御、など）し得るかに関して、例えば、シング・データに基づいて、情報をＷｏＴクライアントへ提供する。いくつかの場合に、ＷｏＴ標準規格に従って、シング・ディスクリプションは、１つ以上のウェブ標準規格、例えば、Representational  State  Transfer（ＲＥＳＴ）、Hypertext  Transfer  Protocol（ＨＴＴＰ）、及び／又はJavaScript(登録商標)  Object  Notation（“ＪＳＯＮ”）フォーマットに従って、フォーマット化される。
【０００４】
本願で請求される対象は、記載されているような環境でしか動作しない実施形態又は記載されているようなあらゆる欠点を解決する実施形態に制限されない。むしろ、この背景は、本明細書で記載されるいくつかの実施形態が実施される可能性がある技術分野の一例を説明するためにのみ与えられている。
【発明の概要】
【０００５】
実施形態の態様に従って、方法は、レガシーデータに対応するJavaScript  Object  Notation（ＪＳＯＮ）スキーマを取得することを含んでよい。レガシーデータは、複数のレガシーデータ点を含んでよく、複数のレガシーデータ点の各レガシーデータ点は、レガシーデバイスの複数のデバイス特徴のうちの対応するデバイス特徴に対応する。複数のレガシーデータ点は、ＪＳＯＮフォーマットとは異なるレガシーデータフォーマットに従って区切られてよい。ＪＳＯＮスキーマは、ＪＳＯＮフォーマットに従ってフォーマット化されてよい。ＪＳＯＮスキーマは、複数の特性定義を含んでよく、複数の特性定義の各特性定義は、複数のレガシーデータ点のうちの対応するレガシーデータ点に対応する。ＪＳＯＮスキーマは、ＪＳＯＮスキーマを用いてレガシーデータを処理することを可能にするようにレガシーデータフォーマットを記述するレガシーオブジェクトを更に含んでよい。方法はまた、レガシーデバイスがウェブ・オブ・シングスのモノとして使用されることを可能にするようにＪＳＯＮスキーマに含まれているレガシーオブジェクト及び複数の特性定義を用いてレガシーデータを処理することを含んでよい。
【０００６】
例となる実施形態は、添付の図面の使用を通じて、更なる特定及び詳細をもって記載及び説明される。
【図面の簡単な説明】
【０００７】
【図１】いくつかの実施形態が実装され得る動作環境の例のブロック図である。
【図２Ａ】図１の動作環境で実装され得るプロセスの例を表す。
【図２Ｂ】図１の動作環境で実装され得るプロセスの例を表す。
【図３】コンピュータシステムの例のブロック図である。
【図４】レガシーデータから読み出す方法の例のフローチャートである。
【図５】情報をレガシーデータフォーマットにフォーマット化する方法の例のフローチャートである。
【図６】レガシーデータに対する読み出し又は書き込みの方法の例のフローチャートである。
【図７】レガシーデータに対する読み出し又は書き込みの方法の他の例のフローチャートである。
【発明を実施するための形態】
【０００８】
図示される例は全て、本開示で記載される少なくとも１つの実施形態に従う。
【０００９】
ウェブ・オブ・シングス（ＷｏＴ）の“モノ”（例えば、物理オブジェクト及び仮想オブジェクトの両方）に関連したシング・ディスクリプションは、対応するモノについてのシング・データ（記述メタデータ）を記述する。特定のモノについてのシング・ディスクリプションは、ＷｏＴクライアントに対して、どのようにＷｏＴクライアントがその特定のモノと相互作用（例えば、通信、制御、など）し得るかに関して、情報を提供し得る。いくつかの場合に、ＷｏＴ標準規格に従って、モノの間の相互作用は、１つ以上のウェブ標準規格、例えば、Representational  State  Transfer（ＲＥＳＴ）、Hypertext  Transfer  Protocol（ＨＴＴＰ）、及び／又はJavaScript  Object  Notation（“ＪＳＯＮ”）フォーマットに従って、実行される。相互作用におけるウェブ標準規格の使用は、ＷｏＴクライアント及びモノが互いの間でデータを交換すること及び／又は互いを制御することを可能にし得る。
【００１０】
例えば、いくつかの事例で、シング・ディスクリプションは、どのようにモノが、ハイパーメディア制御（リンク、フォーム、など）及びＪＳＯＮスキーマなどのウェブ技術を用いて、それらの相互作用アフォーダンス（Interaction  Affordances）（例えば、特性、アクション及びイベント）をＷｏＴクライアントへ示すかを記述することによって、モノとＷｏＴクライアントとの間の相互運用性をサポートする。よって、シング・ディスクリプションは、どのようにＷｏＴクライアントがモノと相互作用し得るかに関して情報を提供する。ハイパーメディア制御及びＪＳＯＮスキーマなどのウェブ技術の使用は、ウェブ・ハイパーテキスト・マークアップ言語（ＨＴＭＬ）ページが、リンク及びフォームを通じてウェブアプリケーションを駆動するようウェブをナビゲートしながら、選択を行うことをユーザに可能にするのと同様の方法で、モノの使用を促し得る。
【００１１】
しかし、いくつかの事例で、レガシーデバイス（例えば、物理オブジェクト及び仮想オブジェクトの両方）は、レガシー又は専売（proprietary）データフォーマット（例えば、コンマ区切り（comma-separated  value；ＣＳＶ）、タイプ−長さ−値（Type-Length-Value；ＴＬＶ）、フラットファイル、又は抽象構文表記法１（Abstract  Syntax  Notation  One；ASN.1）、基本符号化規則（Basic  Encoding  Rules；ＢＥＲ））を使用することがある。レガシーデバイスによって使用されるレガシーデータフォーマットは、ＷｏＴのウェブ標準規格（ＲＥＳＴ、ＨＴＴＰ、ＪＳＯＮ）と互換性がないことがある。本開示では、レガシー又は専売データフォーマットは、概して「レガシーデータフォーマット」と呼ばれてよく、１つ以上のレガシーデータフォーマットに従ってフォーマット化されたデータは、概して「レガシーデータ」と呼ばれてよい。
【００１２】
本開示の１つ以上の実施形態に従って、レガシーデータに対応するＪＳＯＮスキーマが取得される。ＪＳＯＮスキーマは、特性定義を含んでよく、各特性定義は、レガシーデータのデータ点に対応してよい。ＪＳＯＮスキーマはまた、レガシーデータのレガシーデータフォーマット、例えば、レガシーデータのレガシーデータ点が区切られる方法、を記述し得るレガシーオブジェクトを含んでもよい。ＪＳＯＮスキーマは、レガシーデバイス（レガシーデータフォーマットを使用する）がＷｏＴのモノとして使用され得るように、レガシーデータフォーマットを宣言的に記述してよい。例えば、レガシーデバイスのレガシーデータ（非ＷｏＴ適合フォーマットでフォーマット化されている）は、ＷｏＴ適合フォーマットに読み込まれ及び／又は変換されてよい。他の例として、（例えば、ＷｏＴクライアントから）受信された情報は、レガシーデータフォーマットに従ってフォーマット化されてよい。いくつかの場合に、フォーマット化された情報は、例えば、命令として、レガシーデバイスへ供給されてよい。そのようなものとして、本開示は、ＷｏＴにおけるレガシーデバイスの包含及び使用を可能にするメカニズムを提供し得る。さもなければ、レガシーデバイスは、ＷｏＴから除外されることがある。
【００１３】
いくつかの実施形態で、ＪＳＯＮスキーマ（レガシーデバイスのレガシーデータに対応）（例えば、特性定義及びレガシーオブジェクトを含む）は、シング・ディスクリプションに含まれてよく、それにより、ＷｏＴクライアントは、シング・ディスクリプションを用いてレガシーデバイスと相互作用することが可能であり得る。これら及び他の実施形態で、ゲートウェイは、ＷｏＴクライアントがレガシーデバイスと相互作用することを可能にするためにＪＳＯＮスキーマを使用する要構成されてよい。
【００１４】
図１は、１つ以上の実施形態が実装され得る、例となる環境１００のブロック図を表す。環境１００は、ＷｏＴクライアント１０２、ゲートウェイ１０４、レガシーデバイス１０６、及びシング・ディスクリプション１０８を含んでよい。
【００１５】
ＷｏＴクライアント１０２は、ＷｏＴのモノと相互作用するよう構成された如何なる適切なシステム、装置、モジュール、又はデバイスも含んでよい。いくつかの実施形態で、ＷｏＴクライアントは、ＷｏＴのモノ、サーバ、デスクトップコンピュータ、スマートフォン、タブレットコンピュータ、コンピュータシステム、ブラウザ、ソフトウェアアプリケーション、並びに／又はＷｏＴのモノと相互作用するよう構成されたあらゆる他の適切なハードウェア及び／若しくはソフトウェアであってよい。
【００１６】
レガシーデバイス１０６は、ＷｏＴのモノとして動作し得る如何なる適用可能なシステム、装置、モジュール、又はデバイスも含んでよい。いくつかの実施形態で、レガシーデバイス１０６は、物理オブジェクト又はデバイスであってよい。このような又は他の実施形態で、レガシーデバイス１０６は、ソフトウェアアプリケーション及び／又は仮想オブジェクトであってよい。いくつかの実施形態で、レガシーデバイス１０６は、それと関連するレガシーデータを有してよく、レガシーデータは、ＷｏＴフォーマットと互換性がないレガシーデータフォーマットに従って構成されてよい。例えば、レガシーデータフォーマットはＪＳＯＮでなくてよい。
【００１７】
いくつかの実施形態で、レガシーデバイス１０６は、外部に、例えば、電子通信プロトコル、例えば、電気及び電子技術者協会（ＩＥＥＥ）８０２標準、及び／又はインターネットプロトコル（ＩＰ）標準のいずれかを通じて、レガシーデータを公にするよう構成されてよい。レガシーデータを公にすることによって、レガシーデバイス１０６は、外部デバイス、例えば、ＷｏＴクライアント１０２へレガシーデータを供給してよい。追加的に、又は代替的に、レガシーデータを公にすることによって、レガシーデバイス１０６は、外部デバイス、例えば、ＷｏＴクライアント１０２からレガシーデータ及び／又はレガシーデータに対する変更を受け入れてもよい。例えば、レガシーデバイス１０６は、レガシーデータフォーマットにおいて命令を受信してよく、レガシーデータフォーマットに従わない命令は解釈することができなくてもよい。追加的に、又は代替的に、レガシーデバイス１０６は、レガシーデータフォーマットに従って出力を供給してもよい。
【００１８】
いくつかの実施形態で、レガシーデータは、複数のデータ点を含んでよい。複数のデータ点の夫々は、レガシーデバイス１０６の特徴に対応してよい。例えば、レガシーデバイスがディスプレイ、例えば、デジタルマーキーである場合に、レガシーデータは、表示テキスト、存続期間、及び輝度に対応するデータ点を含んでよい。複数のデータ点は、レガシーデータフォーマットに従ってフォーマット化されてよい。レガシーデータフォーマットは、そのようなモノを、どのようにデータ点が区切られるか、どのようにレコードが区切られるか、及び／又はデータ点のデータタイプとして定義してよい。
【００１９】
このような又は他の実施形態で、レガシーデバイス１０６は、それと関連するシング・ディスクリプション１０８を有してよい。シング・ディスクリプション１０８は、ＷｏＴクライアント１０２がレガシーデバイス１０６と相互作用することを可能にし得る情報を提供し得る部分を含んでよい。例えば、シング・ディスクリプション１０８は、レガシーデバイス１０６のレガシーデータに対応するＪＳＯＮオブジェクト特性を含むＪＳＯＮスキーマを含んでよい。いくつかの実施形態で、ＪＳＯＮオブジェクト特性は、レガシーデバイス１０６の特徴に対応してよい。追加的に、又は代替的に、ＪＳＯＮスキーマは、レガシーデータフォーマットを記述し得るレガシーオブジェクトを含んでよい。いくつかの実施形態で、レガシーオブジェクトを含むＪＳＯＮスキーマは、レガシーデータがＪＳＯＮスキーマとともに使用され得るように、レガシーデータのレガシーデータフォーマットのパターンに従って構成されてよい。そのようなものとして、ＪＳＯＮスキーマは、レガシーデバイス１０６のレガシーデータの読み出し又はそれへの書き込みを可能にするメカニズムを提供し得る。
【００２０】
例えば、いくつかの実施形態で、レガシーデータフォーマットは、ＣＳＶデータフォーマットであってよい。ＣＳＶデータフォーマットの共通パターンは、複数のフィールドを含み得るレコードを有することである。特定のレコードの異なるフィールドのデータ値は、コンマ“,”によって分離されてよく、各レコードは、改行インジケータ（“\n”）によって分離されてよい。例えば、データ値“F1”を有する第１フィールド、データ値“F2”を有する第２フィールド、及びデータ値“F3”を有する第３フィールドを含む特定のレコードを有するＣＳＶファイルは、次の“F1,F2,F3\n.”のようにまとめられてよい。そのようなものとして、ＪＳＯＮスキーマがＣＳＶファイルフォーマットに基づき構成される事例では、ＪＳＯＮスキーマのレガシーオブジェクトは、ＣＳＶデータに含まれているコンマ及び改行インジケータに基づいて、ＣＳＶファイルの異なるフィールド及びレコードを特定及び区別するよう構成されてよい。
【００２１】
レガシーオブジェクトは、他のレガシーデータフォーマットにおける他のパターンに従って同様に構成されてもよい。例えば、他のパターンは、アレイ及びストリングについてのlength-prefixedシーケンス、フィールド長さ及びオフセットパラメータ、整数符号化変数（例えば、バイトの数、署名あり／なし、テキスト表現（１０進、１６進、など）など）、並びに浮動小数点数表現仕様（例えば、ＩＥＥＥ７５４倍精度又は単精度、テキスト表現、など）を含んでよい。
【００２２】
いくつかの実施形態で、ゲートウェイ１０４は、ウェブ標準と互換性があるフォーマットへのレガシーデータの変換を可能にするメカニズムを提供するよう構成された如何なる適切なシステム、装置、モジュール、又はデバイスも含んでよい。例えば、ゲートウェイ１０４は、ＷｏＴクライアント１０２がレガシーデバイス１０６と相互作用することを可能にするために、本明細書で記載されるＪＳＯＮスキーマを使用してよい。いくつかの実施形態で、ゲートウェイ１０４は、シング・ディスクリプション１０８を含むか、又はそれにアクセスしてよい。いくつかの実施形態で、ゲートウェイ１０４は、図示されるように、ＷｏＴクライアント１０２と別個であってよい。追加的に、又は代替的に、ゲートウェイ１０４は、ソフトウェアルーチン又はソフトウェアアプリケーションとしてＷｏＴクライアント１０２とともに含まれてもよい。いくつかの実施形態で、ゲートウェイ１０４は、ＪＳＯＮスキーマと互換性がある様態でレガシーデータにアクセスするよう構成されてよい。このような又は他の実施形態で、ゲートウェイ１０４は、ＪＳＯＮスキーマに含まれ得るレガシーオブジェクト及びＪＳＯＮ特性に従ってレガシーデバイス１０６と相互作用するよう（及び／又はそれと相互作用することをＷｏＴクライアント１０２に可能にするよう）構成されてよい。
【００２３】
例えば、図２Ａは、本開示で記載される少なくとも１つの実施形態に従って、図１の動作環境１００で実装され得る、例となるプロセス２００Ａを表す。特に、図２Ａは、本開示で記載される少なくとも１つの実施形態に従って、どのように（例えば、レガシーデバイス、例えば、図１のレガシーデバイス１０６の）レガシーデータ２０２が読み出され得るかを表す。
【００２４】
図２Ａの特定の例では、レガシーデータ２０２は、ＣＳＶデータフォーマットに従ってフォーマット化されてよい。比較すると、レガシーデータ２０２がＪＳＯＮフォーマットに従ってフォーマット化された場合に、レガシーデータ２０２は、図２Ａのブロック２０４に表されているようにフォーマット化されることになる。
【００２５】
ゲートウェイ、例えば、図１のゲートウェイ１０４は、ＣＳＶデータフォーマットに従ってフォーマット化されたレガシーデータ２０２を読み出すためにＪＳＯＮスキーマ２０１を使用してよい。追加的に、又は代替的に、図１のシング・ディスクリプション１０８がＪＳＯＮスキーマ２０１を含んでもよい。ＪＳＯＮスキーマ２０１は、例えば、シング・ディスクリプション１０８に含まれており、ＷｏＴクライアント（例えば、図１のＷｏＴクライアント１０２）によって、レガシーデータ２０２を読み出すために使用されてよい。ゲートウェイ１０４が、ＪＳＯＮスキーマ２０１に従ってレガシーデータ２０２を読み出すか、それとも、ＪＳＯＮスキーマ２０１が、ＷｏＴクライアント１０２がレガシーデータ２０２を読み出すことを可能にするかに関わらず、レガシーデータ２０２は、ＷｏＴクライアント１０２の視点から、あたかもレガシーデータ２０２がブロック２０４によって表されるようにＪＳＯＮフォーマットに従ってフォーマット化されたかのように読み出され得る。このようにして、レガシーデバイス１０６は、あたかもそれがＷｏＴのモノであったかのように、ＷｏＴ内で相互作用され得る。
【００２６】
図２Ａの特定の例では、レガシーデータ２０２は、レガシーデータフォーマットに従ってフォーマット化されたレガシーデータ２０２の特定のレコードを表してよい。例えば、レガシーデータ２０２の特定のレコードは、ある期間にある輝度で特定のテキストを表示することに関係があってよい。そのようなものとして、レガシーデータ２０２は、特定のテキスト、ある輝度、及びある存続期間のそれぞれについてのデータフィールドを含んでよい。
【００２７】
いくつかの実施形態で、ＪＳＯＮスキーマ２０１は、レガシーデータ２０２のレコードに対応するレコード部分２０８を含んでよい。レコード部分２０８は、レガシーデータ２０２の特定のレコードの異なるフィールドに対応し得る特性定義を含んでよい。いくつかの実施形態で、レコード部分２０８の特性定義の順序は、レガシーデータ２０２の順に従って順序付けられてよい。例えば、レコード部分２０８は、レガシーデータ２０２の第１フィールドに対応する“Brightness”（輝度）定義２１０を含んでよい。“Brightness”定義２１０は、“Brightness”フィールド２２２を記述するために使用されてよい。更に、レコード部分２０８は、レガシーデータ２０２の第２フィールドに対応する“DisplayedText”（表示テキスト）定義２１２を含んでよい。“DisplayedText”定義２１２は、“DisplayedText”フィールド２２４を記述するために使用されてよい。更に、レコード部分２０８は、レガシーデータ２０２の第３フィールドに対応する“Duration”（存続期間）定義２１４を含んでよい。“Duration”定義２１４は、“Duration”フィールド２２６を記述するために使用されてよい。
【００２８】
いくつかの実施形態で、レガシーデータ２０２に従って、データモデルインスタンス２２０は、レガシーデータ２０２の特定のレコードの“Brightness”フィールド２２２、“DisplayedText”フィールド２２４、及び“Duration”フィールド２２６のフィールド値を含んでよい。いくつかの実施形態で、ＪＳＯＮスキーマ２０１のレコード部分２０８は、レガシーデータ２０２のフィールドをデータモデルインスタンス２２０のフィールド値と相関させるために使用されてよい。よって、レガシーデータ２０２が読み出されると、フィールドは、データモデルインスタンス２２０の対応するフィールドに格納され得る。
【００２９】
いくつかの実施形態で、特定のレコードに関連するデータの読み出しの間、ゲートウェイ１０４又はＷｏＴクライアント１０２（例えば、ＪＳＯＮスキーマ２０１に従う）は、ＪＳＯＮスキーマに含まれている特性定義の順序に従って、レコード部分２０８に含まれている特性定義を順に処理するよう構成されてよい。例えば、ＪＳＯＮスキーマ２０１における特性定義の順序は、最初に“Brightness”定義２１０、続いて“DisplayedText”定義２１２、続いて“Duration”定義２１４であってよい。そのようなものとして、ゲートウェイ１０４（又はＷｏＴクライアント１０２）は、“Brightness”定義２１０から“DisplayedText”定義２１２まで、そして“Duration”定義２１４まで繰り返してよい。いくつかの実施形態で、ゲートウェイ１０４又はＷｏＴクライアント１０２（例えば、シング・ディスクリプション１０８に従う）は、２０１０年６月８日付け発行され、その全文を参照により本願に援用される米国特許第７７３５００１号に記載された方法と同様にして、特性定義を順に処理するよう構成されてよい。
【００３０】
いくつかの実施形態で、ＪＳＯＮスキーマ２０１のレガシーオブジェクト２０６は、レガシーデータフォーマット（この場合に、ＣＳＶフォーマットである）に従ってデータフィールド及びレコードの間の区別を示す情報を提供してよい。レコード部分２０８及びレガシーデータ２０２の繰り返し処理及び構成に基づいて、レガシーオブジェクト２０６は、レガシーデータ２０２の値の読み出しを可能にするよう構成されてよい。例えば、データが（例えば、図２Ａに表されるように）レガシーデータ２０２から読み出されるシナリオでは、レガシーオブジェクト２０６は、“80.00”がレガシーデータ２０２の特定のレコード内の第１フィールドであることを特定するために使用されてよい。特に、レガシーオブジェクト２０６は、レガシーデータ２０２において“endDelim”特性の値及び“childEndDelim”特性の値を認識することによって、“80.00”がレガシーデータ２０２の特定のレコード内の第１フィールドであることを特定するために使用されてよい。例えば、“80.00”は、フィールド終了（field  end）デリミタ（delimiter）（“childEndDelim”）前の文字として識別されてよい。図２Ａの特定の例では、レガシーオブジェクト２０６から明らかなように、レコード終了（record  end）デリミタは改行インジケータ“\n”であり、フィールド終了デリミタはコンマである。レガシーデータ２０２の文字“80.00”は、レコードの開始とコンマとの間の文字である。よって、“80.00”は最初のコンマ（“childEndDelim”）の前の文字であるから、“80.00”はレコード内の第１フィールドであると決定され得る。例を続けると、文字“Hello  World!”は、最初及び２番目のコンマ（“childEndDelim”）の間にあるから、文字“Hello  World!”は、レガシーデータ２０２の第２フィールドとして識別され得る。そして、例を終わりにすると、文字“300”は、２番目のコンマと“\n”との間にあるから、文字“300”は、レガシーデータ２０２の第３フィールドとして識別され得る。レガシーデータ２０２が更なるレコードにより続くならば、更なるレコードは“\n”（“endDelim”）の後になり、新しいレコードであると識別されることになる。
【００３１】
追加的に、又は代替的に、いくつかの実施形態で、“80.00”がレガシーデータ２０２内の第１フィールドであり、“Brightness”定義２１０がレコード部分２０８の第１特性定義であることに基づき、データ値“80.00”は、“Brightness”定義２１０と、そして結果として、データモデルインスタンス２２０の“Brightness”フィールド２２２と相関され得る。ゲートウェイ１０４（及び／又はＷｏＴクライアント１０２、例えば、シング・ディスクリプション１０８及び／又はＪＳＯＮスキーマ２０１を使用する）は、それに応じて、データ値“80.00”を“Brightness”フィールド２２２に書き込み得る。レガシーオブジェクト２０６を用いて、ゲートウェイ１０４（及び／又はＷｏＴクライアント１０２）は、レガシーデータ２０２を読み出し、データモデルインスタンス２２０の“DisplayedText”フィールド２２４及び“Duration”フィールド２２６のデータ値を書き込むために、同様にしてレガシーデータ２０２の残り部分をパースしてよい。
【００３２】
従って、ゲートウェイ１０４及び／又はＷｏＴクライアント１０２は、レガシーデータ２０２が、ウェブ標準規格、例えば、ＪＳＯＮフォーマットと互換性があるように、ＷｏＴクライアント１０２によって使用されることを可能にするように、レガシーオブジェクト２０６を使用するよう構成されてよい。そのようなものとして、レガシーデバイス１０６は、たとえレガシーデータ２０２のレガシーフォーマットがＪＳＯＮフォーマットと互換性がないとして、ＷｏＴのモノとして含まれ得る。
【００３３】
他の例として、図２Ｂは、本開示で記載される少なくとも１つの実施形態に従って、図１の動作環境１００で実装され得る、例となるプロセス２００Ｂを表す。特に、図２Ｂは、本開示で記載される少なくとも１つの実施形態に従って、どのように（例えば、レガシーデバイス、例えば、図１のレガシーデバイス１０６の）レガシーデータ２０２がレガシーデバイス１０６に書き込まれ及び／又は供給され得るかを表す。
【００３４】
ゲートウェイ、例えば、図１のゲートウェイ１０４は、ＣＳＶデータフォーマットに従ってフォーマット化されたレガシーデータ２０２を書き込むためにＪＳＯＮスキーマ２０１を使用してよい。追加的に、又は代替的に、図１のシング・ディスクリプション１０８がＪＳＯＮを含んでもよい。ＪＳＯＮスキーマ２０１は、例えば、シング・ディスクリプション１０８に含まれており、ＷｏＴクライアント１０２（例えば、図１のＷｏＴクライアント１０２）によって、レガシーデータ２０２を書き込むために使用されてよい。ゲートウェイ１０４がＪＳＯＮスキーマ２０１に従ってレガシーデータ２０２を書き込むか、それとも、ＪＳＯＮスキーマ２０１が、ＷｏＴクライアント１０２がレガシーデータ２０２を書き込むことを可能にするかどうかに関わらず、レガシーデータ２０２は、ＷｏＴクライアント１０２の視点から、あたかもレガシーデータ２０２がブロック２０４によって表されるようにＪＳＯＮフォーマットに従ってフォーマット化されたかのように、書き込まれてよい。このようにして、レガシーデバイス１０６は、あたかもそれがＷｏＴのモノであったかのように、ＷｏＴ内で相互作用され得る。
【００３５】
いくつかの実施形態で、特定のレコードに関連するデータの書き込みの間、ゲートウェイ１０４又はＷｏＴクライアント１０２（例えば、ＪＳＯＮスキーマ２０１に従う）は、ＪＳＯＮスキーマ２０１に含まれている特性定義の順序に従って、レコード部分２０８に含まれている特性定義を順に処理するよう構成されてよい。
【００３６】
いくつかの実施形態で、ＪＳＯＮスキーマ２０１のレガシーオブジェクト２０６は、レガシーデータフォーマット（この場合に、ＣＳＶフォーマットである）に従ってデータフィールド及びレコードの間の区別を示す情報を提供してよい。レコード部分２０８の繰り返し処理及び構成に基づいて、レガシーオブジェクト２０６は、レガシーデータフォーマットに従ってレガシーデータ２０２の値の書き込みを可能にするよう構成されてよい。例えば、データが（例えば、図２Ｂに表されるように）レガシーデータ２０２として書き込まれるシナリオでは、レガシーオブジェクト２０６は、レガシーデータ２０２の特定のレコード内の第１フィールドとして“80.00”の境界を定めるために使用されてよい。特に、レガシーオブジェクト２０６は、レガシーデータ２０２において“childEndDelim”特性の値を書き込むことによって、レガシーデータ２０２の特定のレコード内の第１フィールドとして“80.00”の境界を定めるために使用されてよい。例えば、レガシーオブジェクト２０６に従って、文字“80.00”は、フィールド終了デリミタ（delimiter）（“childEndDelim”）前に書き込まれてよい。図２Ｂの特定の例では、レガシーオブジェクト２０６から明らかなように、レコード終了デリミタは改行インジケータ“\n”であり、フィールド終了デリミタはコンマである。従って、レガシーデータ２０２を書き込む際に、文字“80.00”は、“\n”（図示せず。）とコンマとの間に書き込まれることになる。よって、“80.00”はレコードの開始と最初のコンマ（“childEndDelim”）との間に書き込まれることになるので、“80.00”はレコード内の第１フィールドとして書き込まれ得る。例を続けると、文字“Hello  World!”は、最初及び２番目のコンマ（“childEndDelim”）の間に書き込まれ得るので、文字“Hello  World!”は、レガシーデータ２０２の第２フィールドとして書き込まれ得る。そして、例を終わりにすると、文字“300”は、２番目のコンマと“\n”との間に書き込まれ得るので、文字“300”は、レガシーデータ２０２の第３フィールドとして書き込まれ得る。レガシーデータ２０２が更なるレコードにより続くならば、更なるレコードは“\n”（“endDelim”）の後に書き込まれることになり、新しいレコードであるように記述されることになる。
【００３７】
追加的に、又は代替的に、いくつかの実施形態で、レガシーデータ２０２は、データモデルインスタンス２２０から又はそれに基づいて記述されてよい。例えば、“Brightness”フィールド２２２の値が最初に、例えば、レコードの開始と最初のコンマ（“childEndDelim”）との間に、書き込まれてよい。そして、“DisplayedText”フィールド２２４の値は２番目に、例えば、最初のコンマ（“childEndDelim”）と２番目のコンマ（“childEndDelim”）との間に、書き込まれてよい。上述されたように、レガシーデータ２０２内のデータモデルインスタンス２２０の値の順序は、レコード部分２０８における特性定義の順序に基づいてよい。
【００３８】
本開示の適用範囲から逸脱することなしに、図１、図２Ａ及び図２Ｂの要素に対して、変更、追加又は削除が行われてよい。例えば、図２Ａ及び図２Ｂに表されているコード及びルーチンの具体的なインスタンスは、単に、説明を目的とし、限定を意図しない。更に、より多い又はより少ない要素が図１に含まれてもよい。例えば、いくつかの実施形態で、図１の要素間の通信は、ネットワークを介して行われてよく、ネットワークは、要素のいずれかの間の信号のやり取りのために構成された任意の通信ネットワークを含んでよい。ネットワークは有線又は無線であってよい。ネットワークは、スター構成、トークンリング構成、又は他の適切な構成を含む多数の構成を有してよい。更に、ネットワークは、ローカルエリアネットワーク（ＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）、及び／又は複数のデバイスが通信し得る他の相互接続されたデータパスを含んでよい。いくつかの実施形態で、ネットワークは、ピア・ツー・ピアネットワークを含んでよい。ネットワークはまた、多種多様な通信プロトコルにおけるデータの通信を可能にし得る電気通信ネットワークへ結合されるか、又はその部分を含んでもよい。
【００３９】
いくつかの実施形態で、ネットワークは、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク、Ｚ−Ｗａｖｅ（登録商標）通信ネットワーク、Ｉｎｓｔｅｏｎ（登録商標）通信ネットワーク、ＥｎＯｃｅａｎ（登録商標）通信ネットワーク、Ｗｉ−Ｆｉ通信ネットワーク、ＺｉｇＢｅｅ通信ネットワーク、ＨｏｍｅＰｌｕｇ通信ネットワーク、電力回線通信（Power-line  Communication；ＰＬＣ）通信ネットワーク、メッセージ・キュー・テレメトリ・トランスポート（Message  Queue  Telemetry  Transport；ＭＱＴＴ）通信ネットワーク、ＭＱＴＴセンサ（ＭＱＴＴ−Ｓ）通信ネットワーク、制約付きアプリケーションプロトコル（Constrained  Application  Protocol；ＣｏＡＰ）通信ネットワーク、表現可能状態転送アプリケーションプロトコルインターフェイス（Representative  State  Transfer  Application  Protocol  Interface；ＲＥＳＴ  ＡＰＩ）通信ネットワーク、拡張可能メッセージング及びプレゼンスプロトコル（eXtensible  Messaging  and  Presence  Protocol；ＸＭＰＰ）通信ネットワーク、セルラー通信ネットワーク、あらゆる同様の通信ネットワーク、又はデータを送信及び受信するためのそれらの任意の組み合わせを含むか、あるいは、それらを含むよう構成される。ネットワークにおいてやり取りされるデータは、ショート・メッセージング・サービス（Short  Messaging  Service；ＳＭＳ）、マルチメディア・メッセージング・サービス（Multimedia  Messaging  Service；ＭＭＳ）、ハイパーテキスト転送プロトコル（HyperText  Transfer  Protocol；ＨＴＴＰ）、直接データ接続、無線アプリケーションプロトコル（Wireless  Application  Protocol；ＷＡＰ）、電子メール、スマート・エネルギ・プロファイル（Smart  Energy  Profile；ＳＥＰ）、ＥＣＨＯＮＥＴ  Ｌｉｔｅ、ＯｐｅｎＡＤＲ、又はＷｏＴシステムに関して実装され得るあらゆる他のプロトコルを介してやり取りされるデータを含んでよい。
【００４０】
更に、本明細書で記載される実施形態における様々な要素の分離は、その分離が全ての実施形態で起こることを示す意図はない。例えば、上述されたように、ゲートウェイ１０４は、いくつかの実施形態で、ＷｏＴクライアント１０２と一体化されてもよい。
【００４１】
図３は、本開示の少なくとも１つの実施形態に従って、例となるコンピュータシステム３０２のブロック図を表す。コンピュータシステム３０２は、本開示のデバイス又はモジュール（例えば、図１のＷｏＴクライアント１０２、ゲートウェイ１０４、及び／又はレガシーデバイス１０６）に関連した１つ以上の動作を実装又は指示するよう構成されてよい。このような及び他の実施形態で、コンピュータシステム３０２は、図１のＷｏＴクライアント１０２、ゲートウェイ１０４、及び／又はレガシーデバイス１０６に含まれてよい。コンピュータシステム３０２は、プロセッサ３５０、メモリ３５２、及びデータストレージ３５４を含んでよい。プロセッサ３５０、メモリ３５２、及びデータストレージ３５４は通信上結合されてよい。
【００４２】
一般に、プロセッサ３５０は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む如何なる適切な専用又は汎用のコンピュータ、コンピュータエンティティ、又は処理デバイスも含んでよく、如何なる適用可能なコンピュータ可読記憶媒体にも記憶された命令を実行するよう構成されてよい。例えば、プロセッサ３５０は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、あるいは、プログラム命令を解釈及び／若しくは実行するよう並びに／又はデータを処理するよう構成されたあらゆる他のデジタル又はアナログ回路構成を含んでよい。図３では単一のプロセッサとして表されているが、プロセッサ３５０は、本開示で記載される任意数の動作を個別的に又は集合的に実行し又はその実行を指示するよう構成された任意数のプロセッサを含んでよい。更に、プロセッサのうちの１つ以上は、異なるサーバのような、１つ以上の異なる電子デバイスに存在してよい。
【００４３】
いくつかの実施形態で、プロセッサ３５０は、メモリ３５２、データストレージ３５４、又はメモリ３５２及びデータストレージ３５４に記憶されているプログラム命令を解釈及び／若しくは実行するよう並びに／又は記憶されているデータを処理するよう構成されてよい。いくつかの実施形態で、プロセッサ３５０は、データストレージ３５４からプログラム命令をフェッチし、プログラム命令をメモリ３５２にロードしてよい。プログラム命令がメモリ３５２にロードされた後、プロセッサ３５０はプログラム命令を実行してよい。
【００４４】
メモリ３５２及びデータストレージ３５４は、コンピュータ実行可能命令又はデータ構造を搬送するか又は記憶しているコンピュータ可読記憶媒体を含んでよい。そのようなコンピュータ可読記憶媒体は、プロセッサ３５０のような汎用又は専用コンピュータによってアクセスされ得る如何なる利用可能な媒体も含んでよい。例として、限定なしに、そのようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的消去可能なプログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、固体状態メモリデバイス）、あるいは、コンピュータ実行可能命令又はデータ構造の形で特定のプログラムコードを搬送又は記憶するために使用されてよく且つ汎用又は専用コンピュータによってアクセスされ得るあらゆる他の記憶媒体を含む有形な又は非一時的なコンピュータ可読記憶媒体を含んでよい。上記のものの組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれてよい。コンピュータ実行可能命令は、例えば、プロセッサ３５０に特定の動作又は動作群を実行させるよう構成された命令及びデータ構成を含んでよい。
【００４５】
本開示の適用範囲から逸脱することなしに、コンピュータシステム３０２に対して、変更、追加又は削除が行われてよい。例えば、いくつかの実施形態で、コンピュータシステム３０２は、明示的に説明又は記載されていないことがある他の構成要素をいくつでも含んでもよい。
【００４６】
図４は、本開示で記載される少なくとも１つの実施形態に従って、レガシーデータを読み出す、例となる方法４００のフローチャートである。方法４００は、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１ＷｏＴクライアント１０２及びゲートウェイ１０４又は図３のコンピュータシステム３０２（例えば、１つ以上のソフトウェアモジュールによって指示される）のうちの１つ以上が、方法４００に関連した動作の１つ以上を実行してもよい。別個のブロックにより表されているが、方法４００のブロックの１つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックにまとめられても、又は削除されてもよい。
【００４７】
ブロック４１０で、レガシーデバイスのデバイス特徴に対応するレガシーデータが取得されてよい。レガシーデータは、レガシーデータフォーマットに従って区切られてよい。図２Ａ及び図２Ｂのレガシーデータ２０２は、ブロック４１０で取得されるレガシーデータの一例であってよい。図１のレガシーデバイス１０６は、レガシーデータが対応する特徴を含むレガシーデバイスの一例であってよい。ＣＳＶは、レガシーデバイスフォーマットの一例であってよい。
【００４８】
ブロック４２０で、レガシーデータに対応するJavaScript  Object  Notation（ＪＳＯＮ）スキーマが取得されてよい。ＪＳＯＮスキーマは、レガシーデータに対応する特性定義を含んでよい。ＪＳＯＮスキーマは、レガシーデータフォーマットを記述するレガシーオブジェクトを更に含んでもよい。図２Ａ及び図２ＢのＪＳＯＮスキーマ２０１は、ブロック４２０で取得されるＪＳＯＮスキーマの一例であってよい。図２Ａ及び図２Ｂのレコード部分２０８の特性定義（例えば、“Brightness”定義２１０、“DisplayedText”定義２１２、及び“Duration”定義２１４）は、ブロック４２０の特性定義の例であってよい。図２Ａ及び図２Ｂのレガシーオブジェクト２０６は、ブロック４２０のレガシーオブジェクトの一例であってよい。
【００４９】
ブロック４３０で、レガシーデータは、レガシーでデバイスがウェブ・オブ・シングスのモノとして使用されることを可能にするように、ＪＳＯＮスキーマに含まれているレガシーオブジェクト及び複数の特性定義を用いて読み出されてよい。例えば、レガシーデータは、ＪＳＯＮスキーマに従って読み出され又は解釈されてよい。特に、レガシーデータのフィールド及びレコードは、どのようにレガシーデータが区切られているかに基づいて、及びレガシーオブジェクトに基づいて、識別されてよい。レガシーオブジェクトは、レガシーデータ内のフィールド及びレコードが区別及び特定され得るように、どのようレガシーデータが区切られているかの記述を含んでよい。追加的に、又は代替的に、フィールドの解釈は、特性定義に基づいて与えられてもよい。例えば、第１特性定義は、第１フィールドに対応してよく、それにより、第１フィールドは、第１特性に関係がある解釈され得る。
【００５０】
いくつかの実施形態で、方法４００は、他のフォーマットにおいて、読み出されたレガシーデータに基づいてデータを書き込むことを含んでもよい。例えば、方法４００は、ＷｏＴ適合フォーマットにおいてレガシーデータに基づいてデータを書き込むことを含んでもよい。例えば、レガシーデータに基づくデータは、ＪＳＯＮ適合フォーマットにおいて、又はデータモデルの部分、例えば、図２Ａ及び図２Ｂのデータモデルインスタンス２２０として、書き込まれてよい。
【００５１】
本開示の適用範囲から逸脱することなしに、方法４００に対して、変更、追加又は削除が行われてよい。例えば、方法４００の動作は、別の順序で実施されてもよい。追加的に、又は代替的に、２以上の動作が動作に実行されてもよい。更に、説明される操作及び動作は、単に例として与えられており、操作及び動作のいくつかは、開示される実施形態の本質から外れることなしに、任意であっても、より少ない操作及び動作にまとめられても、又は更なる操作及び動作に拡張されてもよい。
【００５２】
図５は、本開示で記載される少なくとも１つの実施形態に従って、情報をレガシーデータフォーマットにフォーマット化する、例となる方法５００のフローチャートである。方法５００は、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１のＷｏＴクライアント１０２及びゲートウェイ１０４又は図３のコンピュータシステム３０２（例えば、１つ以上のソフトウェアモジュールによって指示される）が、方法５００に関連した動作の１つ以上の動作を実行してもよい。別個のブロックにより表されているが、方法５００のブロックの１つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックにまとめられても、又は削除されてもよい。
【００５３】
ブロック５１０で、ウェブ・オブ・シングス適合フォーマットでフォーマット化されている情報が取得されてよい。図２Ａ及び図２Ｂのデータモデルインスタンス２２０は、ブロック５１０で取得された情報の一例であってよい。
【００５４】
ブロック５２０で、レガシーデータに対応するＪＳＯＮスキーマが取得されてよい。レガシーデータは、レガシーデバイスのデバイス特徴に対応してよい。レガシーデータは、レガシーデバイスフォーマットに従って区切られてよい。ＪＳＯＮスキーマは、レガシーデータに対応する特性定義を含んでよい。ＪＳＯＮスキーマは、レガシーデータフォーマットを記述するレガシーオブジェクトを更に含んでもよい。図２Ａ及び図２ＢのＪＳＯＮスキーマ２０１は、ブロック５２０で取得されるＪＳＯＮスキーマの一例であってよい。図２Ａ及び図２Ｂのレガシーデータ２０２は、ブロック５２０のＪＳＯＮスキーマが対応するレガシーデータの一例であってよい。図１のレガシーデバイス１０６は、レガシーデータが対応する特徴を含むレガシーデバイスの一例であってよい。ＣＳＶは、レガシーデバイスフォーマットの一例であってよい。図２Ａ及び図２Ｂのレコード部分２０８の特性定義（例えば、“Brightness”定義２１０、“DisplayedText”定義２１２、及び“Duration”定義２１４）は、ブロック５２０の特性定義の例であってよい。図２Ａ及び図２Ｂのレガシーオブジェクト２０６は、ブロック５２０のレガシーオブジェクトの一例であってよい。
【００５５】
ブロック５３０で、（ブロック５１０で取得された）情報は、（ブロック５２０で取得された）ＪＳＯＮスキーマに含まれているレガシーオブジェクト及び複数の特性定義を用いてレガシーデータフォーマットにフォーマット化されてよい。いくつかの実施形態で、方法５００は、ブロック５１０で取得された情報に基づいてデータをレガシーデータフォーマットに書き込むことを含んでよい。例えば、情報に基づくレガシーデータは、ＪＳＯＮスキーマに基づいて、レガシーデータフォーマットにおいて書き込まれてよい。
【００５６】
ブロック５４０で、フォーマット化された情報はレガシーデバイスへ供給されてよい。例えば、フォーマット化された情報は、レガシーデバイスが実行するための命令としてレガシーデバイスへ供給されてよい。
【００５７】
本開示の適用範囲から逸脱することなしに、方法５００に対して、変更、追加又は削除が行われてよい。例えば、方法５００の動作は、別の順序で実施されてもよい。追加的に、又は代替的に、２以上の動作が動作に実行されてもよい。更に、説明される操作及び動作は、単に例として与えられており、操作及び動作のいくつかは、開示される実施形態の本質から外れることなしに、任意であっても、より少ない操作及び動作にまとめられても、又は更なる操作及び動作に拡張されてもよい。
【００５８】
図６は、本開示で記載される少なくとも１つの実施形態に従って、レガシーデータから読み出す又はそれに書き込む、例となる方法６００のフローチャートである。方法６００は、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１のＷｏＴクライアント１０２及びゲートウェイ１０４又は図３のコンピュータシステム３０２（例えば、１つ以上のソフトウェアモジュールによって指示される）が、方法６００に関連した動作の１つ以上の動作を実行してもよい。別個のブロックにより表されているが、方法６００のブロックの１つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックにまとめられても、又は削除されてもよい。更に、図６の具体例で、動作は、レガシーデータがＣＳＶフォーマットに従ってフォーマット化される事例に関係があり得る。なお、関係する原理は、他のデータフォーマットに関連した他の実施について適用可能であってよい。
【００５９】
方法６００は、ブロック６０２から開始してよい。レガシーデータが読み出されている事例では、ブロック６０２で、レガシーデータからレコード開始（record  start）デリミタが読み出されてよい。代替的に、レガシーデータが書き込まれている事例では、ブロック６０２で、レガシーデータにレコード開始デリミタが書き込まれてよい。レコード開始デリミタは、レコードどうしを区切ってよく、例えば、レガシーデータフォーマットがＪＳＯＮである場合に、レコード開始デリミタは改行識別子“\n”であってよい。レコード開始デリミタは、ＪＳＯＮスキーマのレガシーオブジェクト、例えば、図２Ａ及び図２ＢのＪＳＯＮスキーマ２０１のレガシーオブジェクト２０６に基づいて、読み出し及び／又は書き込みのために識別されてよい。ＪＳＯＮスキーマは、レガシーデバイスに対応し得るレガシーデータに対応してよい。
【００６０】
ブロック６０４で、フィールドカウンタ“i”が“0”にセットされてよい。ブロック６０６で、“i”番目の特性定義がＪＳＯＮスキーマの特定のレコード部分に含まれているかどうかが決定されてよい。本例で、“i”が“0”に等しいとき、ＪＳＯＮスキーマのレコード部分に挙げられている第１特性定義は、最初の特性定義に対応してよい。そして、第２特性定義は、“i”が“1”に等しいとき、“i”番目の特性定義に対応してよく、第３特性定義は、“i”が”2”に等しいとき、“i”番目の特性定義に対応してよく、以降同様である。
【００６１】
“i”番目の特性定義がブロック６０４で利用可能であることに応答して、方法６００はブロック６０８へ進んでよい。ブロック６０８で、“i”番目の特性定義が取得されてよい。例えば、図２Ａ及び図２Ｂに関して、“i”が“0”であることに応答して、取得された“i”番目の特性定義は第１特性定義であってよく、例えば、“Brightness”定義２１０であってよい。更に、ブロック６０８で、対応するデータ値が、適用可能なデータレコードから取得されてよい。例えば、レガシーデータが書き込まれている事例で、“i”番目の特性定義に対応するデータ値が取得される適用可能なデータレコードは、レガシーデバイスに対応するデータモデルインスタンスであってよい。例えば、図２Ａ及び図２Ｂに関して、レガシーデータ２０２への書き込み動作の場合に、レガシーデータ２０２に書き込まれるべきデータを含む適用可能なデータレコードは、データモデルインスタンス２２０であってよい。そして、“i”が“0”であることに応答して、取得され得る対応するデータ値は、データモデルインスタンス２２０の“Brightness”フィールド２２２に含まれているものであってよい。他の例として、図２Ａ及び図２Ｂに関して、レガシーデータ２０２からの読み出し動作の場合に、読み出されるべきデータを含む適用可能なデータレコードは、レガシーデータ２０２であってよい。そのようなものとして、“i”が“0”であることに応答して、取得され得る対応するデータ値は、レガシーデータ２０２の第１値“80.00”であってよい。
【００６２】
ブロック６１０で、取得されたデータ値に対応するレガシーデータの特定のデータフィールドが処理されてよい。いくつかの実施形態で、処理は、特定のデータフィールドに書き込むこと、又は特定のデータフィールドから読み出すことを含んでよい。このような又は他の実施形態で、処理は、図７に関して以下で説明される方法７００の１つ以上の動作に従って実行されてよい。
【００６３】
ブロック６１０の後、“i”は、ブロック６１２で１だけインクリメントされてよい。ブロック６１２で、方法６００はブロック６０６へ戻ってよく、ブロック６０６、６０８、６１０及び６１２は、特定のレコードに関して全ての特性定義が順に処理されるまで、繰り返されてよい。
【００６４】
全ての特性定義が順に処理された後、ブロック６０６で、ＪＳＯＮスキーマにおいて利用可能な特性がないことが決定されてよく、方法６００は、ブロック６０６からブロック６１４へ進んでよい。
【００６５】
レガシーデータが読み出されている事例では、ブロック６１４で、レガシーデータからレコード終了デリミタが読み出されてよい。代替的に、レガシーデータが書き込まれている事例では、ブロック６１４で、レガシーデータにおいてレコード終了デリミタが書き込まれてよい。レコード終了デリミタはレコードどうしを区切ってよく、例えば、レガシーデータフォーマットがＪＳＯＮである場合には、レコード終了デリミタは改行識別子“\n”であってよい。レコード終了デリミタは、ＪＳＯＮスキーマのレガシーオブジェクト、例えば、図２Ａ及び図２ＢのＪＳＯＮスキーマ２０１のレガシーオブジェクト２０６に基づいて、読み出し及び／又は書き込みのために識別されてよい。ＪＳＯＮスキーマは、レガシーデバイスに対応し得るレガシーデータに対応してよい。
【００６６】
本開示の適用範囲から逸脱することなしに、方法６００に対して、変更、追加又は削除が行われてよい。例えば、方法６００の動作は、別の順序で実施されてもよい。追加的に、又は代替的に、２以上の動作が動作に実行されてもよい。更に、説明される操作及び動作は、単に例として与えられており、操作及び動作のいくつかは、開示される実施形態の本質から外れることなしに、任意であっても、より少ない操作及び動作にまとめられても、又は更なる操作及び動作に拡張されてもよい。
【００６７】
図７は、本開示で記載される少なくとも１つの実施形態に従って、レガシーデータから読み出す又はそれに書き込む、例となる方法７００のフローチャートである。方法７００は、如何なる適切なシステム、装置、又はデバイスによっても実行されてよい。例えば、図１のＷｏＴクライアント１０２及びゲートウェイ１０４又は図３のコンピュータシステム３０２（例えば、１つ以上のソフトウェアモジュールによって指示される）が、方法７００に関連した動作の１つ以上の動作を実行してもよい。別個のブロックにより表されているが、方法７００のブロックの１つ以上に関連したステップ及び動作は、特定の実施に応じて、更なるブロックに分けられても、より少ないブロックにまとめられても、又は削除されてもよい。更に、図７の具体例で、動作は、レガシーデータがＣＳＶフォーマットに従ってフォーマット化される事例に関係があり得る。なお、関係する原理は、他のデータフォーマットに関連した他の実施について適用可能であってよい。
【００６８】
方法７００は、ブロック７０２から開始してよい。レガシーデータが読み出されている事例では、ブロック７０２で、レガシーデータからフィールド開始デリミタが読み出されてよい。代替的に、レガシーデータが書き込まれている事例では、ブロック７０２で、レガシーデータにフィールド開始デリミタが書き込まれてよい。フィールド開始デリミタは、レコードのフィールドどうしを区切ってよく、例えば、レガシーデータフォーマットがＪＳＯＮである場合に、フィールド開始デリミタはコンマ“,”であってよい。フィールド開始デリミタは、ＪＳＯＮスキーマのレガシーオブジェクト、例えば、図２Ａ及び図２ＢのＪＳＯＮスキーマ２０１のレガシーオブジェクト２０６に基づいて、読み出し及び／又は書き込みのために識別されてよい。ＪＳＯＮスキーマは、レガシーデバイスに対応し得るレガシーデータに対応してよい。
【００６９】
ブロック７０４で、データ値が、フィールド開始デリミタに続くレガシーデータのデータフィールドから読み出され、又はそれに書き込まれてよい。上述されたように、データ値は、図６のブロック６０８で識別されるデータフィールドに対応してよい。
【００７０】
レガシーデータが読み出されている事例では、ブロック７０６で、レガシーデータからフィールド終了デリミタが読み出されてよい。代替的に、レガシーデータが書き込まれている事例では、ブロック７０６で、レガシーデータにおいてフィールド終了デリミタが書き込まれてよい。フィールド終了デリミタは、レコードのフィールドどうしを区切ってよく、例えば、レガシーデータフォーマットがＪＳＯＮである場合には、フィールド終了デリミタはコンマ“,”であってよい。フィールド終了デリミタは、ＪＳＯＮスキーマのレガシーオブジェクト、例えば、図２Ａ及び図２ＢのＪＳＯＮスキーマ２０１のレガシーオブジェクト２０６に基づいて、読み出し及び／又は書き込みのために識別されてよい。ＪＳＯＮスキーマは、レガシーデバイスに対応し得るレガシーデータに対応してよい。
【００７１】
本開示の適用範囲から逸脱することなしに、方法７００に対して、変更、追加又は削除が行われてよい。例えば、方法７００の動作は、別の順序で実施されてもよい。追加的に、又は代替的に、２以上の動作が動作に実行されてもよい。更に、説明される操作及び動作は、単に例として与えられており、操作及び動作のいくつかは、開示される実施形態の本質から外れることなしに、任意であっても、より少ない操作及び動作にまとめられても、又は更なる操作及び動作に拡張されてもよい。
【００７２】
上述されたように、本開示で記載される実施形態は、以下で更に詳細に説明されるように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む専用又は汎用コンピュータ（例えば、図３のプロセッサ３５０）の使用を含んでよい。更に、上述されたように、本開示で記載される実施形態は、コンピュータ実行可能命令を搬送するか又は記憶しているコンピュータ可読媒体（例えば、図３のメモリ３５２又はデータストレージ３５４）を用いて実装されてもよい。
【００７３】
本開示で使用されるように、語「モジュール」又は「コンポーネント」は、モジュール若しくはコンポーネントの動作、及び／又はコンピュータシステムの汎用ハードウェア（例えば、コンピュータ可読媒体、処理デバイス、など）に記憶され及び／又はそれによって実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンを実行するよう構成された特定のハードウェア実施に言及してよい。いくつかの実施形態で、本開示で記載される異なるコンポーネント、モジュール、エンジン、及びサービスは、（例えば、別個のスレッドとして）コンピュータシステムで実行するオブジェクト又はプロセスとして実装されてもよい。本開示で記載されるシステム及び方法の一部は、一般に、（汎用ハードウェアに記憶され及び／又はそれによって実行される）ソフトウェアにおいて実装されるものとして記載される一方で、特定のハードウェア実施又はソフトウェアと具体的なハードウェア実施との組み合わせも可能であり企図される。本明細書中、「コンピュータエンティティ」は、本開示で先に定義された任意のコンピュータシステム、又はコンピュータシステムで実行される任意のモジュール若しくはモジュールの組み合わせであってよい。
【００７４】
本開示で、特に添付の特許請求の範囲（例えば、添付の特許請求の本文）で使用される語は、一般的に、“非限定的な（open）”用語として意図されている（例えば、語「含んでいる（including）」は、“〜を含んでいるが、〜に制限されない”との意に解釈されるべきであり、語「備えている（having）」は、「少なくとも〜を備えている」との意に解釈されるべきであり、語「含む（includes）」は、“〜を含むが、〜に制限されない”との意に解釈されるべきである、など。）。
【００７５】
更に、導入されたクレーム記載（introduced  claim  recitation）において特定の数が意図される場合、そのような意図は当該クレーム中に明確に記載され、そのような記載がない場合は、そのような意図も存在しない。例えば、理解を促すために、後続の添付された特許請求の範囲では、「少なくとも１つの（at  least  one）」及び「１つ以上の（one  or  more）」といった導入句を使用し、クレーム記載を導入することがある。しかし、このような句を使用するからといって、「a」又は「an」といった不定冠詞によりクレーム記載を導入した場合に、たとえ同一のクレーム内に、「１つ以上の」又は「少なくとも１つの」といった導入句と「a」又は「an」といった不定冠詞との両方が含まれるとしても、当該導入されたクレーム記載を含む特定のクレームが、当該記載事項を１しか含まない例に限定されるということが示唆されると解釈されるべきではない（例えば、「a」及び／又は「an」は、「少なくとも１つの」又は「１つ以上の」を意味すると解釈されるべきである。）。定冠詞を使用してクレーム記載を導入する場合にも同様のことが当てはまる。
【００７６】
更には、導入されたクレーム記載において特定の数が明示されている場合であっても、そのような記載は、通常、少なくとも記載された数を意味するように解釈されるべきであることは、当業者には理解されるであろう（例えば、他に修飾語のない、単なる「２つの記載事項」という記載がある場合、この記載は、少なくとも２つの記載事項、又は２つ以上の記載事項を意味する。）。更に、「Ａ、Ｂ及びＣなどのうち少なくとも１つ」又は「Ａ、Ｂ及びＣなどのうちの１つ以上」に類する表記が使用される場合、一般的に、そのような構造は、Ａのみ、Ｂのみ、Ｃのみ、ＡとＢの両方、ＡとＣの両方、ＢとＣの両方、及び／又はＡとＢとＣの全て、などを含むよう意図される。
【００７７】
更に、２つ以上の選択可能な用語を表す如何なる離接語及び／又は離接句も、明細書、特許請求の範囲、又は図面のいずれであろうと、それら用語のうちの１つ、それらの用語のうちのいずれか、あるいは、それらの用語の両方を含む可能性を意図すると理解されるべきである。例えば、「Ａ又はＢ」という句は、「Ａ又はＢ」、あるいは、「Ａ及びＢ」の可能性を含むことが理解されるべきである。
【００７８】
本開示で挙げられている全ての例及び条件付き言語は、当該技術の促進に本発明者によって寄与される概念及び本発明を読者が理解するのを助ける教育上の目的を意図され、そのような具体的に挙げられている例及び条件に制限されないと解釈されるべきである。本開示の実施形態が詳細に記載されてきたが、様々な変更、置換、及び代替が、本開示の主旨及び適用範囲から逸脱することなしに行われてよい。
【００７９】
上記の実施形態に加えて、以下の付記を開示する。
（付記１）
複数のレガシーデータ点を含むレガシーデータに対応するJavaScript  Object  Notation（ＪＳＯＮ）スキーマを取得することであり、前記複数のレガシーデータ点の各レガシーデータ点は、レガシーデバイスの複数のデバイス特徴のうちの対応するデバイス特徴に対応し、前記複数のレガシーデータ点は、ＪＳＯＮフォーマットとは異なるレガシーデータフォーマットに従って区切られ、前記ＪＳＯＮスキーマは、前記ＪＳＯＮフォーマットに従ってフォーマット化されており、複数の特性定義を含み、該複数の特性定義の各特性定義は、前記複数のレガシーデータ点のうちの対応するレガシーデータ点に対応し、前記ＪＳＯＮスキーマは、該ＪＳＯＮスキーマを用いて前記レガシーデータを処理することを可能にするように前記レガシーデータフォーマットを記述するレガシーオブジェクトを更に含む、前記ＪＳＯＮスキーマを取得することと、
前記レガシーデバイスがウェブ・オブ・シングスのモノとして使用されることを可能にするように前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記レガシーデータを処理することと
を有する方法。
（付記２）
前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、前記レガシーデータを読み出すことを含む、
付記１に記載の方法。
（付記３）
前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、ウェブ・オブ・シングス適合フォーマットにおいて前記複数のレガシーデータ点のうちの１つ以上のレガシーデータ点に関する情報をフォーマット化することを含む、
付記１に記載の方法。
（付記４）
ウェブ・オブ・シングス適合フォーマットにおいてフォーマット化された情報を取得することを更に有し、
前記レガシーデータを処理することは、前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記情報を前記レガシーデータフォーマットにフォーマット化することを含み、
当該方法は、前記フォーマット化された情報を前記レガシーデバイスへ供給することを更に有する、
付記１に記載の方法。
（付記５）
前記レガシーデバイスは、物理デバイス又は仮想デバイスを含む、
付記１に記載の方法。
（付記６）
前記レガシーデータの前記複数のレガシーデータ点は、レガシーデータ順序に従って配置され、
前記ＪＳＯＮスキーマの前記複数の特性定義は、前記レガシーデータ順序に従って配置される、
付記１に記載の方法。
（付記７）
前記レガシーオブジェクトは、どのように前記複数のレガシーデータ点が区切られるかを記述する、
付記１に記載の方法。
（付記８）
少なくとも１つのプロセッサによって実行されることに応答して、システムに、
複数のレガシーデータ点を含むレガシーデータに対応するJavaScript  Object  Notation（ＪＳＯＮ）スキーマを取得することであり、前記複数のレガシーデータ点の各レガシーデータ点は、レガシーデバイスの複数のデバイス特徴のうちの対応するデバイス特徴に対応し、前記複数のレガシーデータ点は、ＪＳＯＮフォーマットとは異なるレガシーデータフォーマットに従って区切られ、前記ＪＳＯＮスキーマは、前記ＪＳＯＮフォーマットに従ってフォーマット化されており、複数の特性定義を含み、該複数の特性定義の各特性定義は、前記複数のレガシーデータ点のうちの対応するレガシーデータ点に対応し、前記ＪＳＯＮスキーマは、該ＪＳＯＮスキーマを用いて前記レガシーデータを処理することを可能にするように前記レガシーデータフォーマットを記述するレガシーオブジェクトを更に含む、前記ＪＳＯＮスキーマを取得することと、
前記レガシーデバイスがウェブ・オブ・シングスのモノとして使用されることを可能にするように前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記レガシーデータを処理することと
を有する動作を実行させる１つ以上の命令を記憶するよう構成された少なくとも１つの非一時的なコンピュータ可読媒体。
（付記９）
前記動作は、前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、前記レガシーデータを読み出すことを含む、
付記８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
（付記１０）
前記動作は、前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、ウェブ・オブ・シングス適合フォーマットにおいて前記複数のレガシーデータ点のうちの１つ以上のレガシーデータ点に関する情報をフォーマット化することを含む、
付記８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
（付記１１）
前記動作は、ウェブ・オブ・シングス適合フォーマットにおいてフォーマット化された情報を取得することを更に有し、
前記レガシーデータを処理することは、前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記情報を前記レガシーデータフォーマットにフォーマット化することを含み、
前記動作は、前記フォーマット化された前記レガシーデバイスへ供給することを更に有する、
付記８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
（付記１２）
前記レガシーデバイスは、物理デバイス又は仮想デバイスを含む、
付記８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
（付記１３）
前記レガシーデータの前記複数のレガシーデータ点は、レガシーデータ順序に従って配置され、
前記ＪＳＯＮスキーマの前記複数の特性定義は、前記レガシーデータ順序に従って配置される、
付記８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
（付記１４）
前記レガシーオブジェクトは、どのように前記複数のレガシーデータ点が区切られるかを記述する、
付記８に記載の少なくとも１つの非一時的なコンピュータ可読媒体。
（付記１５）
１つ以上のプロセッサと、１つ以上の命令を記憶するよう構成された１つ以上のコンピュータ可読媒体とを有するシステムであって、
前記１つ以上の命令は、前記１つ以上のプロセッサによって実行されることに応答して、当該システムに、
複数のレガシーデータ点を含むレガシーデータに対応するJavaScript  Object  Notation（ＪＳＯＮ）スキーマを取得することであり、前記複数のレガシーデータ点の各レガシーデータ点は、レガシーデバイスの複数のデバイス特徴のうちの対応するデバイス特徴に対応し、前記複数のレガシーデータ点は、ＪＳＯＮフォーマットとは異なるレガシーデータフォーマットに従って区切られ、前記ＪＳＯＮスキーマは、前記ＪＳＯＮフォーマットに従ってフォーマット化されており、複数の特性定義を含み、該複数の特性定義の各特性定義は、前記複数のレガシーデータ点のうちの対応するレガシーデータ点に対応し、前記ＪＳＯＮスキーマは、該ＪＳＯＮスキーマを用いて前記レガシーデータを処理することを可能にするように前記レガシーデータフォーマットを記述するレガシーオブジェクトを更に含む、前記ＪＳＯＮスキーマを取得することと、
前記レガシーデバイスがウェブ・オブ・シングスのモノとして使用されることを可能にするように前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記レガシーデータを処理することと
を有する動作を実行させる、
システム。
（付記１６）
前記動作は、前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、前記レガシーデータを読み出すことを含む、
付記１５に記載のシステム。
（付記１７）
前記動作は、前記レガシーデバイスから前記レガシーデータを取得することを更に有し、
前記レガシーデータを処理することは、ウェブ・オブ・シングス適合フォーマットにおいて前記複数のレガシーデータ点のうちの１つ以上のレガシーデータ点に関する情報をフォーマット化することを含む、
付記１５に記載のシステム。
（付記１８）
前記動作は、ウェブ・オブ・シングス適合フォーマットにおいてフォーマット化された情報を取得することを更に有し、
前記レガシーデータを処理することは、前記ＪＳＯＮスキーマに含まれている前記レガシーオブジェクト及び前記複数の特性定義を用いて前記情報を前記レガシーデータフォーマットにフォーマット化することを含み、
前記動作は、前記フォーマット化された情報を前記レガシーデバイスへ供給することを更に有する、
付記１５に記載のシステム。
（付記１９）
前記レガシーデータの前記複数のレガシーデータ点は、レガシーデータ順序に従って配置され、
前記ＪＳＯＮスキーマの前記複数の特性定義は、前記レガシーデータ順序に従って配置される、
付記１５に記載のシステム。
（付記２０）
前記レガシーオブジェクトは、どのように前記複数のレガシーデータ点が区切られるかを記述する、
付記１５に記載のシステム。
【００８０】
［関連出願の相互参照］
本願は、２０１９年５月３１日付けで出願された米国特許仮出願第６２／８５５７７７号の優先権の利益を主張する。米国特許仮出願第６２／８５５７７７号は、その全文を参照により本願に援用される。
【符号の説明】
【００８１】
１００                  環境
１０２                  ＷｏＴクライアント
１０４                  ゲートウェイ
１０６                  レガシーデバイス
１０８                  シング・ディスクリプション
２０１                  ＪＳＯＮスキーマ
２０２                  レガシーデータ
２０８                  レコード部分
２１０，２１２，２１４  特性定義
２２０                  データモデルインスタンス
２２２，２２４，２２６  フィールド
【図１】
2020198095.tif 000003
【図２Ａ】
2020198095.tif 000004
【図２Ｂ】
2020198095.tif 000005
【図３】
2020198095.tif 000006
【図４】
2020198095.tif 000007
【図５】
2020198095.tif 000008
【図６】
2020198095.tif 000009
【図７】
2020198095.tif 000010