(57)【要約】  プロセッサ、非一時的メモリ、非一時的コンピュータ可読媒体、及び実行可能マシンコードＰ（ＴＭ）を有するシングマシンが提供される。Ｐ（ＴＭ）は、１つ又は複数の実行可能マシンコードＰ（ＴＭ（ｉ））動作を有する第１の組の実行可能マシンコード動作で構成され、各実行可能マシンコードＰ（ＴＭ（ｉ））動作は、モデルのアルゴリズム手順の実装として構成され、第１のＰ（ＴＭ（ｉ））は、シングマシンの上記非一時的メモリにおいてシングの第１のボキャブラリを自己構成する動作を提供し、上記シングは、上記プロセッサが動作として実行することができるシング及び動作を実行することができる１組のシングを表し、少なくとも１つのＰ（ＴＭ（ｉ））マシンコード動作は、アプリケーションを提供することができるコアボキャブラリを表すシングマシンの非一時的メモリにおいて第２のシングボキャブラリを構成するように実行される。
2019537808.tif 000002
【特許請求の範囲】
【請求項１】
シングマシンであって、
プロセッサ、非一時的メモリ、及び非一時的コンピュータ可読媒体と、
１つ又は複数の実行可能マシンコードＰ（ＴＭ（ｉ））動作を有する第１の組の実行可能マシンコード動作で構成される実行可能マシンコードＰ（ＴＭ）と、
を含み、
各実行可能マシンコードＰ（ＴＭ（ｉ））動作は、モデルのアルゴリズム手順の実装として構成され、
第１のＰ（ＴＭ（ｉ））は、前記シングマシンの前記非一時的メモリにおいて第１のシングボキャブラリを自己構成する動作を提供し、前記シングは、前記プロセッサが動作として実行することができるシング及び動作を実行することができる１組のシングを表し、
少なくとも１つのマシンコードＰ（ＴＭ（ｉ））動作は、アプリケーションを提供することができるコアボキャブラリを表す前記シングマシンの前記非一時的メモリにおいて、第２のシングボキャブラリを構成するように実行される、シングマシン。
【請求項２】
第２の組の実行可能マシンコードＰ（ＴＭ（ｉ））動作であって、モデルのアルゴリズム手順の実装をそれぞれ表し、マシンコードとして実施される、第２の組の実行可能マシンコードＰ（ＴＭ（ｉ））動作と、
要求コンテンツであって、Ｐ（ＴＭ（ｉ））が前記要求コンテンツを表すように要求シングを設定するように対話することができる言語文法及び構文に従って表現される要求コンテンツと、
要求コンテンツを解析し、前記コンテンツを表す要求シングを設定するように構成されるＰ（ＴＭ（ｉ））と、
現在のボキャブラリの前記コンテキストにおける要求シングを評価して、実行可能シングを設定するＰ（ＴＭ（ｉ））と、
実行可能シングを実行するＰ（ＴＭ（ｉ））と、
前記モデルの実行に必要なランタイムを表す少なくとも１つのＰ（ＴＭ（ｉ））と、
を更に含む、請求項１に記載のシングマシン。
【請求項３】
Ｐ（ＴＭ）の多数のＰ（ＴＭ（ｉ））は、１つのシングマシンにおける多数の計算構成要素を使用して実施される、請求項３に記載のシングマシン。
【請求項４】
Ｐ（ＴＭ）の多数のＰ（ＴＭ（ｉ））は、直接通信する多数のシングマシンを使用して実施される、請求項３に記載のシングマシン。
【請求項５】
Ｐ（ＴＭ）の多数のＰ（ＴＭ（ｉ））は、間接的に通信する多数のシングマシンを使用して実施される、請求項３に記載のシングマシン。
【請求項６】
第１のＰ（ＴＭ（ｉ））は、ｉ２ｃ通信を使用して第２のＰ（ＴＭ（ｉ））と通信する、請求項３に記載のシングマシン。
【請求項７】
前記アプリケーションは、電子支払い及び処理に関連する、請求項３に記載のシングマシン。
【請求項８】
前記アプリケーションは、デジタルウォレット、デジタルコイン、デジタルトークン、デジタルリワードポイント、料金の支払い、及び支払いの受領からなる群の１つ又は複数の使用に関連する、請求項３に記載のシングマシン。
【請求項９】
前記マシンコード動作は、電子的動作、機械的動作、電磁波デバイスの使用、生物学的動作、化学的動作、圧力波の生成、圧力波の受信、電磁放射の生成、及び電磁放射の受信からなる群の１つ又は複数に関連する、請求項３に記載のシングマシン。
【請求項１０】
前記マシンコード動作は、入力駆動リコンビナーゼを使用して、リコンビナーゼ認識部位の重複し直交する対で構成されるＤＮＡレジスタを操作するリコンビナーゼベース状態マシン（ＲＳＭ）と対話する動作に関連する、請求項３に記載のシングマシン。
【請求項１１】
ＲＳＭに符号化される状態情報は、照会することができる、請求項１０に記載のシングマシン。
【請求項１２】
ＲＳＭに符号化される状態情報は、シーケンス化することができる、請求項１０に記載のシングマシン。
【請求項１３】
Ｐ（ＴＭ（ｉ））動作は、人工知能アルゴリズムの使用に関連する、請求項３に記載のシングマシン。
【請求項１４】
前記アルゴリズムは、シンボリックＡＩアルゴリズム、サブシンボリックＡＩアルゴリズム、及び統計学的Ａアルゴリズムからなる群から選択される、請求項１３に記載のシングマシン。
【請求項１５】
Ｐ（ＴＭ（ｉ））動作は環境と対話し、それに応答して、前記Ｐ（ＴＭ）は、前記環境に適用可能な実行可能な動作のボキャブラリを構成する、請求項３に記載のシングマシン。
【請求項１６】
光学サブシステム組立体を更に含み、Ｐ（ＴＭ（ｉ））は、ユーザ提供光学識別子を照会し、それに応答して、ユーザ固有のボキャブラリを構成する動作を提供する、請求項３に記載のシングマシン。
【請求項１７】
ユーザの肯定動作に応答して、前記ユーザ固有ボキャブラリの部分を忘れる動作を実行するＰ（ＴＭ（ｉ））動作を更に含む、請求項１３に記載のシングマシン。
【請求項１８】
電磁デバイスと、前記デバイスと対話して、ユーザを識別し、ユーザ固有ボキャブラリを構成する動作を提供するＰ（ＴＭ（ｉ））とを更に含む、請求項３に記載のシングマシン。
【請求項１９】
前記電磁デバイスはバイオメトリックデバイスである、請求項１８に記載のシングマシン。
【請求項２０】
ユーザの肯定動作に応答して、前記ユーザ固有ボキャブラリを忘れる動作を提供するＰ（ＴＭ（ｉ））を更に含む、請求項１８に記載のシングマシン。
【請求項２１】
動作の実行により経験を得るように構成される、請求項３に記載のシングマシン。
【請求項２２】
話題に関連する動詞ボキャブラリを学習するように構成される、請求項３に記載のシングマシン。
【請求項２３】
前記ボキャブラリは、前記シングマシンが動作として実行することができる動作及び前記動作が作用することができるシングを表す、請求項２３に記載のシングマシン。
【請求項２４】
実行可能な動作は前記話題を選択する、請求項２３に記載のシングマシン。
【請求項２５】
実行可能な動作は、学習開始時間を選択する、請求項２４に記載のシングマシン。
【請求項２６】
実行可能な動作は、基準を評価して、適切な学習開始時間を選択する、請求項２４に記載のシングマシン。
【請求項２７】
読む、聞く、分類する、推測する、及び学習することからなる群の少なくとも１つに関連する動作を実行することにより、知識を得るように構成される、請求項３に記載のシングマシン。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１６年９月１９日に出願された「THING MACHINE」という名称の米国仮特許出願第６２／３９６，３３２号の利益を主張するものであり、この米国特許仮出願は全体的に、参照により本明細書に援用される。本願はまた、２０１６年１月２９日に出願されたOptical Identity System and Methodsという名称の米国特許出願第６２／２８８，５４５号も全体的に参照により援用する。
【０００２】
発明の分野
本発明は、コンピュータアーキテクチャ及び設計に関し、より詳細には、シングマシン（Thing Machine）が実行することができる動作及び多次元グラフモデルを使用して非一時的メモリにおいて監督されるシング（Thing：物事）のインスタンスとして、動作が行われるシングを表すシングマシンに関する。
【背景技術】
【０００３】
発明の背景
四半世紀にわたり、ウェブページの閲覧にはウェブブラウザが使用されてきた。ブラウザは、２５年にわたり著しく進化したが、結局、それでもなおクライアントサーバモデルを使用してウェブページをレンダリングしている。最新のブラウザでは、cookie情報は現在、クラウドにおいて同期することができ、それにより、状態情報は、使用される異なるデバイス間で共有される。
【０００４】
２５年にわたり、ウェブへの主なアクセスは、デスクトップ及びラップトップのコンピュータの使用を通してであった。ウェブブラウザを提供するモバイルデバイスは、１９９６年の時期に始まった。その９年後、Googleは、Googleの検索の半分超がモバイルデバイスからのものであると発表した（少なくとも米国では）。
【０００５】
５０億を超えるウェブページの相当数がモバイルフレンドリーではないことに留意することが重要である。例えば、２０１６年では、小規模ビジネスの５４％がウェブサイトを有し、そのうちモバイルフレンドリーであるのは、それらのウェブサイトの６４％のみであると推定された。したがって、小規模ビジネスの３７％しか、モバイルフレンドリーなウェブサイトを有していない。小規模ビジネスが、毎年、米国内の販売の半分超を占めることに留意することが興味深い。
【０００６】
多くのユーザは、モバイルフレンドリーなウェブページがないことに不満を抱いており、小売店のモバイルアプリをダウンロードして、経験をより生産的にした。各アプリは特定のビジネスに専用のものであり、アプリアイコンは画面表示上で場所を消費し、最終的に、ますます多くのアプリがダウンロードされるにつれて、散らかることになる。エンドユーザとして、膨大なアイコンを生産的にナビゲートして、探している正確なアプリを見つけることができるように、携帯電話でアプリを整理する時間を費やさなければならない。携帯電話のオペレーティングシステムのアプリケーションプログラミングインターフェース（ＡＰＩ）への常時アップデートは、携帯電話のアプリが最新であることを補償するために、専用開発チームを必要とする。これは、多くの小規模ビジネスが単に支払う余裕がない費用を追加する。
【０００７】
ウェブ対応の音声アクティブ化デバイスの出現は、より一般的になりつつある。子供の世代は、友達の家への行き方を携帯電話に尋ねることができることを知って成長していく。スマートフォン、アラームクロック、スマートウォッチ、スマートＴＶ、Amazon Echo、ホームオートメーションシステム、及び自動二輪車ヘルメットは、音声アクティブ化デバイスのほんの数例である。
【０００８】
ネットワーク対応デバイスには、サーモスタット、ロック、カメラ、発電機、コーヒーマシン、洗濯機及び乾燥機、照明スイッチ、セキュリティシステム、玩具、灌漑システム、並びに多くの他のデバイス及びセンサがある。この相互接続された世界は、インターネットオブシングスと呼ばれることがある。
【０００９】
仮に、インターネットの中心に立ち、端を見ることができるならば、インターネットに接続された全てのシングを見るであろう。本明細書では、これをデバイス及びセンサであるシングのインターネット（Internet of Things that are Devices and Sensors）と呼ぶ。インターネットの端に行き、デバイスをピックアップし、中心を振り返るならば、提供され、インターネットオブサービスとして知られるサービスを見るであろう。
【００１０】
サービスが、提供されるシングであり、突然、デバイス及びセンサとしてのインターネットオブシングスと、サービスであるインターネットオブシングスとの間にグレーエリアが存在したことに誰かが気付いたとき、世界は複雑になった。物理的なシング及び仮想的なシングは、インターネットオブシングスの意味にあるレベルの曖昧さを付加し、これは市場に混乱を生み出す。
【００１１】
シングを更に複雑にすることに、多くの物理的デバイスは多くの場合、ＧＳＭ、ＣＤＭＡ、ＬＴＥ、ＳＳ７、Zigbee、Z-Wave、WeMo、近距離通信（ＮＦＣ）、Bluetooth、Thread、ＢＬＥ等の複数のプロトコルを使用して通信することができる。携帯電話を使用して、例えば、ＮＦＣを使用して、単に携帯電話をキャッシュレジスタに向けてかざすだけで料金を支払うことができる。同様に、Bluetoothを使用して、携帯電話をカーオーディオシステムとペアにして接続することができる。いずれの場合でも、デバイスはインターネットプロトコルを使用しないが、それでもなお、携帯電話をインターネットオブシングスのシングであると見なす。
【００１２】
２００５年以来、３５００万を超える相互運用可能なZ-Waveデバイスが販売された（Z-Wave Alliance）。デバイスのZ-Waveネットワークを管理するために、Z-Waveネットワークコントローラが使用される。技術的に、インターネット使用可能なZ-Waveネットワークコントローラを使用して、インターネットを介して通信するが、コントローラはなお、Z-Waveを使用してZ-Waveデバイスと通信する。これは、インターネットオブシングスの定義への混乱の度を深め、その理由は、Z-Waveデバイスはシングであるが、インターネットオブシングスのシングであることもあれば、又はないこともあるコントローラと通信するためである。
【００１３】
インターネットオブシングスの定義へのこの混乱の全ての中で、国際電気通信連合がインターネットオブシングスの説明でインターネットというキーワードさえ使用していないことは驚くに値しない。代わりに、国際電気通信連合は、
既存の及び進化しつつある相互運用可能な情報及び通信技術（ＩＴＵ−Ｔ）に基づいてシングを相互接続する（物理的及び仮想的）ことにより高度なサービスを可能にする情報社会のグローバル基盤
としてインターネットオブシングスを定義している。これに私達全てが同意する１つのことは、シングがある（There are Things）ことである。
【００１４】
シングを説明しカテゴリ化するために、シングを分類する。幾つかのシングは、金銭価値、法定通貨のような概念、出生証明書、著作権、タイトル、売渡証、又は資産等の文書である。シングは、イベント、アラート、測定単位、ジオロケーション、又は時間を表すことができる。他のシングは、デバイス及びセンサ、携帯電話、Ipad、又はウェブページ等の物体である。そこに突っ立っているだけでなく、何かしなさい：にあるように、動作であってもシングである。
【００１５】
図１は、人物が命令コマンドに対していかに反応し得るかの原始的なフローチャートを示す概略図である。まず、次に何をするかを告げているトレーナーを聞く等の人物の感覚の１つ又は複数が動詞行動でイネーブルされる。あなたは、特定の言語のリスニングボキャブラリを使用して、発話された単語を解析し、命令コマンドを表す考えを生み出す。次に、あなたは、コマンドを評価して、次に何をするかを決める。私は正しく理解したか？私はできるか？私はそれをしたいか？恐らく、私は疲れており、代わりに休む必要がある。
【００１６】
何を求められているのかを理解したことの確認等の応答をすることもあれば、応答は動作自体の実行であることもある。親指を立てる仕草をし、同意若しくは不満を示す表情をし、又は所与の言語の発話ボキャブラリを使用して、ＯＫを伝達し得る。代替的には、その場でジョギングする命令に応答して、単にその場所でジョギングを開始する。
【００１７】
「動詞」という単語はそれ自体、通常、ステートメントの主要部の１つであり、動作、発生、又は存在状態を表現する単語を意味する名詞である（Merriman Webster Dictionary参照）。動作は、何かをすること又は何かをするプロセスである。
【００１８】
幾つかのシングは動作を表現し、他のシングは、動作が作用することができるシングであると言える。これは、シングの特異性に繋がる：全てのシングはシングである（All things are Things）。
【発明の概要】
【発明が解決しようとする課題】
【００１９】
現状水準では、語句「インターネットオブシングス」は、それぞれがシングである加入者識別子及びパスワードによって識別された加入者に提供されるサービスであるシングの代わりに、インターネットに接続されたデバイス及びセンサに主にフォーカスした多数の定義を有している。これは、マシンコードとして実施されるべきアルゴリズム手順の実装をモデリングすることができる方法に制限を課し、したがって、非効率性及びコストを付加する。
【課題を解決するための手段】
【００２０】
発明の概要
本発明の実施形態は、多次元グラフモデルを使用して非一時的メモリにおいて管理されるシングのインスタンスとして、シングマシンが実行することができる動作及び動作が行われるシングを表すシングマシンを提供する。
【００２１】
シングマシンは、プロセッサ、非一時的メモリ、非一時的コンピュータ可読媒体、及び実行可能マシンコードＰ（ＴＭ）を含む。Ｐ（ＴＭ）は、１つ又は複数の実行可能マシンコードＰ（ＴＭ（ｉ））動作を有する第１の組の実行可能マシンコード動作で構成され、各実行可能マシンコードＰ（ＴＭ（ｉ））動作は、モデルのアルゴリズム手順の実装として構成され、第１のＰ（ＴＭ（ｉ））は、シングマシンの上記非一時的メモリにおいてシングの第１のボキャブラリを自己構成する動作を提供し、上記シングは、上記プロセッサが動作として実行することができるシング及び動作を実行することができる１組のシングを表し、少なくとも１つのＰ（ＴＭ（ｉ））マシンコード動作は、アプリケーションを提供することができるコアボキャブラリを表すシングマシンの非一時的メモリにおいて第２のシングボキャブラリを構成するように実行される。
【００２２】
図面の簡単な説明
添付図面は、本発明の更なる理解を提供するために含まれ、本明細書に組み込まれ、本明細書の一部をなす。図面中の構成要素は、必ずしも一定の縮尺ではなく、その代わり、本発明の原理を明確に示すことに重点が置かれている。図面は、本発明の実施形態を示し、説明と一緒に本発明の原理を説明する役割を果たす。
【図面の簡単な説明】
【００２３】
【図１】命令コマンドに対していかに反応し得るかの原始的なフローチャートを示す概略図である。
【図２】本発明の一実施形態によるシングマシンの部分を示す概略図である。
【図３】シングマシンのブートプロセスを示す概略図である。
【図４】シングマシンによって実行される、ブートプロセスによるグラフの作成を明示する目的で提供されるグラフである。
【図５】シングＢがシングＡとは別個に存在する関係を示すグラフである。
【図６】thing:sttia関係を示すグラフである。
【図７】実行可能な動作に対して関係を有するシングが、thing:is-a関係を使用してthing:verbとして分類されることを示すグラフである。
【図８】名前空間シングがthing:namespaceとして分類され、thing:namespaceはthing:classである分類をサポートするグラフである。
【図９】シングがthing:contextとして分類される分類をサポートすることを示すグラフである。
【図１０】ｈｔｔｐ  ＵＲＩのシングへの例示的なバインドを示す概略図である。
【図１１】空白ノードが満足クレームを表し、クレームがthing:objectへの参照を有し得るthing:graphを示すグラフである。
【図１２】thing:assertionが、thing:subjectが数値である値を有し、したがって、thing:objectが要求されないことをアサートすることを示すグラフである。
【図１３】thing:assertionが、thing:subjectの値がthing:objectの値未満であることを主張する場合を示すグラフである。
【図１４】コネクタを有するグラフの一例である。
【図１５】シングマシンによって実行される最小ランタイムステップを例示するフローチャートである。
【図１６】Ｐ（ＴＭ（ｉ））がＰ（ＴＭ（ｐａｒｓｅ））動作であるようなthing:graphであり、ＸＭＬ文書を解析すると、以下のアサート：名前がcore:printに等しいシングがあるが真であり、したがって、名前が「message」に等しく、値が「Hello, World」に等しいシングがあるthing:graphが生成される。
【図１７】Ｐ（ＴＭ（ｃｏｎｆｉｇ））が、要求名前空間シングによって認定されるシング、すなわち、Ｇ．ｒｅｑｕｅｓｔがあり、Ｇ．ｕｒｒがあるようなＧ．ｉｄ（空白ノードとして示されている）に対して作用するようなグラフである。
【図１８】ＵＲＩrequest:statementによって識別されるシングに対して作用するＰ（ＴＭ（ｃｏｎｆｉｇ））のmy:configureバージョンを示すグラフである。
【図１９】ｘという名前のシングが、ｙという名前のシングの前身であり、ｙはｘという名前のシングの後継であり、述語が、thing:sttiaとして示される関係があるようなシングであることを示す有向グラフである。
【図２０】ｘという名前のシングが、ｚという名前のシングの前身であり、述語が、thing:sttiaiとして示される「そこにはインスタンスがある(such that there is an instance)」ことを示す有向グラフである。
【図２１】英語で解釈される有向グラフである。
【図２２】ｘという名前のシングがthing:tableであることを示す有向グラフである。
【図２３】多数のシングが１つのシングに対して関係を有することを示す有向グラフである。
【図２４】「ｃ」という名前のシングのクラスのメンバである「ｘ」という名前のシングを示す有向グラフである。
【図２５】「ｘ」という名前のシングの名前が「ｂ」という名前のシングのクラスのメンバであることを示す関係を示す有向グラフである。
【図２６】「ｘ」という名前のシングの値が「ｃ」という名前のシングのクラスのメンバであることを示す関係を示す有向グラフである。
【図２７】コンテキストが要求、応答、及びローカル名前空間を含むことを示す有向グラフである。
【図２８】分類がrequest:class=”thing:thing”にデフォルト設定されていることを示す動詞グラフである。
【図２９】request:class=”thing:alarm”にデフォルト設定された分類に対応する動詞グラフである。
【図３０】Ｇ．ｒｅｑｕｅｓｔ（Ｐ（ＴＭ（ｉ）））が、Ｐ（ＴＭ（ｉ））が要求名前空間において認定されるシングに対して作用することができることを示すことを示すグラフである。
【図３１】Ｇ．ｒｅｑｕｅｓｔ（Ｐ（ＴＭ（ｉ）））が、Ｐ（ＴＭ（ｉ））が要求名前空間において認定されるステートメントという名前のシングによって認定される連絡という名前のシングに対して作用することができることを示すことを示すグラフである。
【図３２】例示的なＧ（Ｐ（ＴＭ（ｉ）））が、Ｇ．ｒｅｑｕｅｓｔ（Ｐ（ＴＭ（ｉ）））サブグラフと、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））がその動作を実行するためにＰ（ＴＭ（ｉ））をいかに要求すべきかを示すＧ．ｕｒｒ（Ｐ（ＴＭ（ｉ）））サブグラフを含むルート有向thing:graphであることを示すグラフである。
【図３３】汎用チューニングマシンとしてのシングマシンを示す概略図である。
【図３４】適応ニューラルボットとしてのシングマシンを示す概略図である。
【図３５】初期化中、シングマシンのthing:graphのルートとして、Ｐ（ＴＭ（ｔｈｉｎｇ））がモナドに等しい名前を有するシングを割り振り初期化することを示すグラフである。
【図３６】コンテキストが、１つ又は複数の自由変数及び自由変数の関係式で構成されるリストを分解する範囲内にある１組のシングを認定することを示すグラフである。
【図３７】コンテキストシングがthing:stackであり、これを通して、Ｐ（ＴＭ（ｔｈｉｎｇ））はアルゴリズム的にシングをスタックに押し込むか、又はシングをスタックから押し出すことができ、したがって、コンテキストを変更することができることを示すグラフである。
【図３８】実行可能な動作への参照の表現を有するシングが、アクティブシングとして分類されることを示すグラフである。
【図３９】Ｇ（Ｐ（ＴＭ（ｉ）））が、Ｐ（ＴＭ（ｉ））の実行からの応答を含むシングの記述等の追加のシング情報を含むことができることを示すグラフである。
【図４０】非一時的メモリにおいてシングを設定するＰ（ＴＭ（Ｔｈｉｎｇ．ｓｅｔ））手順に対応するＧ（Ｐ（ＴＭ（ｔｈｉｎｇ．ｓｅｔ）））グラフである。
【図４１】リストrequest:uri、非一時的メモリによって与えられるシングの表現を得るＰ（ＴＭ（Ｔｈｉｎｇ．ｇｅｔ）手順に対応するＧ（Ｐ（ＴＭ（ｔｈｉｎｇ．ｇｅｔ）））グラフである。
【図４２】非一時的メモリからシングの表現をアンセットするＰ（ＴＭ（Ｔｈｉｎｇ．ｕｎｓｅｔ）手順に対応するＧ（Ｐ（ＴＭ（ｔｈｉｎｇ．ｕｎｓｅｔ）））グラフである。
【図４３】Ｇ．ｒｅｑｕｅｓｔが、thing:statementであるrequest:statementに対して動作を行うことができることを示すことを示すグラフである。
【図４４】thing:listingであるシングを使用してrequest:に対して動作を行うことができることを示すＧ．ｒｅｑｕｅｓｔサブグラフである。
【図４５】Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話するＰ（ＴＭ（ｅｖａｌ））を示すグラフである。
【図４６】リストrequest:streamによって識別されるシングの値が、解析すべきストリームであることを示すグラフである。
【図４７】例示的なＸＭＬフラグメントの解析されたを示す例示的なグラフである。
【図４８】request:input listingによって与えられるシングの値が、解析する入力であることを示すグラフである。
【図４９】Ｇ（Ｐ（ＴＭ（ｒｅｑｕｅｓｔ）））グラフを示す。
【図５０】Ｐ（ＴＭ（ｂｉｎｄ））に対して作用することができることをシングに示すＧ．ｒｅｑｕｅｓｔサブグラフである。
【図５１】ImageObjectクラスのメンバとしてバインドするためのシングのメンバーシップ要件を記述するアサートとして解釈されるthing:graphである。
【図５２】リストlocal:objectによって与えられる非バインドthing:graphである。
【図５３】schema:ImageObjectシングとしてlocal:object thing:graphを結合する要求を示すthing:graphである。
【図５４】シングがブロードキャストサービスとして分類されることが何を意味するかを記述するアサートである。
【図５５】Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））動作がrequest:statementに対して作用することを示すＧ．ｒｅｑｕｅｓｔサブグラフである。
【図５６】Ｐ（ＴＭ（ｔａｓｋ．ｓｅｔ））がＰ（ＴＭ（ｔｈｉｎｇ））と対話して、値がthing.taskとして設定すべきであるシングのリストであるリストrequest:statement.taskによって識別されるシングに対してアルゴリズム的に作用することを示すグラフである。
【図５７】Ｐ（ＴＭ（ｔｈｉｎｇ））、Ｐ（ＴＭ（ｅｖａｌ））、及びＰ（ＴＭ（ｐｅｒｆｏｒｍ））と対話するＰ（ＴＭ（ｔａｓｋ．ｐｅｒｆｏｒｍ））を示すグラフである。
【図５８】Ｐ（ＴＭ（ｆｏｒｍａｔ））がフォーマットすべきthing:graphを表すリストの値を有するシングを識別するrequest:statement.listingを示すグラフである。
【図５９】ＵＲＩシングが、ヘッダシングを認定するドメインシング、パスシング、及び要求シングを認定することを示すグラフである。
【図６０】生成されたＨＴＴＰ  Ｇｅｔ  Ｍｅｔｈｏｄ要求の図である。
【図６１】Ｐ（ＴＭ（ｈｔｔｐ．ｇｅｔ））によって受信される応答の図である。
【図６２】応答を解析し、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話することから生成された１組のthing:graphである。
【図６３】解析するＨＴＭＬコンテンツである値を有するシングを表すリストである値を有するrequest:contentシングに対して作用するＰ（ＴＭ（ｐａｒｓｅ．ｈｔｍｌ））を示すグラフである。
【図６４】ＨＴＭＬコンテンツにおける例示的なマイクロデータの図である。
【図６５】Ｐ（ＴＭ（ｔｈｉｎｇ））と対話してコンテンツを解析する動作を提供するＰ（ＴＭ（ｐａｒｓｅ．ｈｔｍｌ））からのマイクロデータを表すthing:graphである。
【図６６】Ｐ（ＴＭ）に望ましい構成を記述する、シング言語で表現されるＰ（ＴＭ）解析コンテンツを示す。
【発明を実施するための形態】
【００２４】
詳細な説明
本システム及び本方法は、コンピュータ機能及び能力への新規の改善を提供し、更には本明細書においてシングマシンと呼ばれるコンピュータの定義を提供する。
【００２５】
実行可能な動作を記述するシングは、チューリングマシンに関して表現することができる。チューリングマシンは、手順を実行して、１組の入力変数から１組の結果を特定することができる仮想計算機の数学的モデルである。
【００２６】
ｉ＝（１，ｎ）の場合、ＴＭ（ｉ）は、１組の入力をとり、手順動作Ｐ（ＴＭ（ｉ））を実行し、１組の出力を生成することができる計算機である。
【００２７】
任意の数のこのようなマシンが存在することができ、各Ｐ（ＴＭ（ｉ））は、手順動作を実行し、潜在的に出力を生成する。第１のＰ（ＴＭ（ｉ））の出力は、第２のＰ（ＴＭ（ｉ））の入力であることができ、多くの場合、１組のＰ（ＴＭ（ｉ））を並行して実行することができる。
【００２８】
話す、聞く、評価する、応答する等の動詞に名前を付けるのと同様に、これらの動作に有意味な名前を割り当てることができる。実行動詞動作を追加することにより、特定の名前の動作を実行するようにマシンに求めることができる。Amazon Echo又はApple Siri等の幾つかのマシンは、このようにして音声コマンドに応答することができる。アレクサ、ペーパータオルを再注文して。シリ、今何時。各例において、物品の注文又は質問への回答等の何らかの動作を実行するようにマシンに求めている。
【００２９】
要求を満たすために、マシンはまず、要求されているものを評価する必要がある。幾つかの点では、これは小学２年生に２１から７を引くように求めることと同様である。シーケンスは、英語のリスニングボキャブラリを使用して、語彙を解析して考えにし、その考えが何を意味するのかを評価し、動作を選択し、動作を実行し、英語の発話ボキャブラリを使用して、応答を伝達することを含む。代替的には、その小学２年生は、肩をすくめて、分かりませんと返答し得る。
【００３０】
何らかの動作を実行するようにマシンに要求することは、要求した各人物に対して同じ動作を実行することを暗示しないことにも留意する。例えば、http://www.thinglanguage.com/v1/index.html等のウェブブラウザに入力されたＵＲＬを考える。このＵＲＬを入力することにより、基本的に、ＵＲＬによって識別されるものを取得し表示するようにブラウザに要求している。識別子及び対応するリソースは両方ともシングである。
【００３１】
同じＵＲＬを取得し表示するようにブラウザに要求している２人の人物は、両人とも同じＵＲＬを入力したにもかかわらず、２つの異なる結果を有することができる。１つの事例では、コンテンツは、個人に固有であり得る。別の場合、ＨＴＴＰ要求ヘッダは、ウェブサーバがリソースコンテンツの構築に使用する状態情報を含み得る。ＵＲＬが何かを識別し得るが、表示されるものは異なるものであることを認識することが重要である。
【００３２】
シングマシンは、シングマシンとの対話で適応するブートシングマシンボキャブラリに基づいて、受信した要求を管理、解釈し、シングマシンのボキャブラリを変更する独自の様式を提供し、ボキャブラリは、シングマシンが動作を実行することができる基礎を提供する。その結果、本明細書において明示されるように、シングマシンは、解釈及び動作性能を増しながら、受信した要求を解釈、作用、適応することが可能である。受信した要求、対話、シングマシンの要求への応答は、動作である動詞である動作シング又は動作シングであるシングによって作用することができるシング（本明細書では非動作シングとも呼ばれる）のいずれかとしてのシングのカテゴリ化に基づいて実行される。
【００３３】
上述したように、シングの特異点において、シングは、実行可能な動作又は実行可能な動作が作用することができるシングを表すことができる。本明細書に説明され示されるように、シングマシンは、グラフのノードがシングを表し、thing:graph内の弧がシング間の可変関係を表すthing:graphとしてシングを編成する。
【００３４】
実行可能な動作を表すシングは、本明細書では、動詞シング（thing:verb）と呼ばれ、thing:verbの集まりは動詞ボキャブラリシングである。動詞ボキャブラリ及び動詞動作が作用することができるシングは、ボキャブラリシングである。要するに、最小のボキャブラリを用いて、本システム及び本方法は、普遍的な定量化を使用して、以下をアサートする：シングマシンによって受信された要求であるシングがある場合、シングマシンは要求を解析し、次に、シングマシンの利用可能なボキャブラリのコンテキストにおいて要求を評価して、適切な動詞を選択し、動詞の対応する動作を実行する。動作の実行により、応答を表す１組のシングが生成される。この一般化により、文法応答を生成しない特定の動作に対する応答をシングの空集合にすることができる。シャットダウン動詞の場合等、時に、実行中の動作の観察が、十分な応答である。
【００３５】
概説
以下は、シングマシン及び関連するボキャブラリの概説を提供し、３つの主要部を含む。
１．シング間の可変関係を含む関係セットを含む非可変構成要素を有するものとしてシングを説明するシンググラフデータモデル説明。
２．シングマシンアーキテクチャの高レベル概説を提供するアーキテクチャ概説。
３．シング言語で文書を書くことの紹介を提供するシング言語セクション。
【００３６】
シングマシン構造
図２は、本発明の一実施形態によるシングマシン１００の部分を示す概略図である。図２に示されるように、シングマシン１００は、メモリ１０２、プロセッサ１０４、及び非一時的補助記憶装置１０６を含み、これらはそれぞれ、シングマシン１００内での通信を可能にするローカルバス又はローカルインターフェース１０８を介して通信可能に結合される。
【００３７】
メモリ１０２は、本明細書に記載される機能を定義するソフトウェア１２０を内部に記憶している。シングマシン１００は、入出力（Ｉ／Ｏ）デバイス１１０（又は周辺機器）も含む。ローカルインターフェース１０８は、限定ではなく例として、当技術分野で既知のように、１つ又は複数のバス又は他の有線若しくは無線接続であることができる。ローカルインターフェース１０８は、通信を可能にするために、簡潔にするために省略された、コントローラバッファ（キャッシュ）、ドライバ、リピータ、及び受信機等の追加の要素を有し得る。さらに、ローカルインターフェース１０８は、上記構成要素間での適切な通信を可能にするために、アドレス接続、制御接続、及び／又はデータ接続を含み得る。
【００３８】
プロセッサ１０４は、ソフトウェア、特にメモリ１０２に記憶されたソフトウェアを実行するハードウェアデバイスである。プロセッサ１０４は、任意のカスタムメード若しくは市販のシングルコア若しくはマルチコアプロセッサ、中央演算処理装置（ＣＰＵ）、シングマシン１００に関連する幾つかのプロセッサの中の補助プロセッサ、半導体ベースのマイクロプロセッサ（マイクロチップ若しくはチップセットの形態）、マクロプロセッサ、又は一般にソフトウェア命令を実行する任意のデバイスであることができる。
【００３９】
メモリ１０２は、揮発性メモリ要素（例えば、ランダムアクセスメモリ（ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ等のＲＡＭ））及び不揮発性メモリ要素（例えば、ＲＯＭ、ハードドライブ、テープ、ＣＤ−ＲＯＭ等）の任意の１つ又は組合せを含むことができる。さらに、メモリ１０２は、電子、磁気、光学、及び／又は他のタイプの記憶媒体を組み込み得る。なお、メモリ１０２は分散アーキテクチャを有することができ、分散アーキテクチャでは、様々な構成要素は互いにリモートに配置されるが、プロセッサ１０４によりアクセスすることができる。
【００４０】
ソフトウェア１２０は、本発明により、シングマシンによって実行される機能を定義する。メモリ１０２内のソフトウェア１２０は、１つ又は複数の別個のプログラムを含み得、各プログラムは、後述するように、シングマシン１００の論理機能を実施する実行可能命令の順序付きリストを含む。一例として、ソフトウェア１２０は、パーサ１２２、評価器１２４、実行器１２６、及びフォーマッタ１２８を定義し得、これらの機能について本明細書において説明する。
【００４１】
メモリ１０２はオペレーティングシステム（Ｏ／Ｓ）１２２を含み得る。オペレーティングシステムは基本的に、シングマシン１００内のプログラムの実行を制御し、スケジューリング、入出力制御、ファイル及びデータの管理、メモリ管理、並びに通信制御及び関連サービスを提供する。
【００４２】
Ｉ／Ｏデバイス１１０は、入力デバイス、限定ではなく例として、キーボード、マウス、スキャナ、マイクロホン等を含み得る。さらに、Ｉ／Ｏデバイス１１０は、出力デバイス、限定ではなく例として、プリンタ、ディスプレイ等を含むこともできる。最後に、Ｉ／Ｏデバイス１１０は、入力及び出力の両方を介して通信するデバイス、限定ではなく例として、変調器／復調器（別のデバイス、システム、若しくはネットワークにアクセスするためのモデム）、無線周波（ＲＦ）若しくは他の送受信機、電話インターフェース、ブリッジ、ルータ、又は他のデバイスを更に含み得る。
【００４３】
システムであるシングマシン１００が動作中であるとき、プロセッサ１０４は、メモリ１０２内に記憶されたソフトウェア１２０を実行して、メモリ１０２とデータをやりとりし、一般に、上述したように、ソフトウェア１２０に従ってシングマシン１００の動作を制御するように構成される。
【００４４】
シングマシン１００の機能が動作中であるとき、プロセッサ１０４は、メモリ１０２内に記憶されたソフトウェア１２０を実行して、メモリ１０２とデータをやりとりし、一般に、上述したように、ソフトウェア１２０に従ってシングマシン１００の動作を制御するように構成される。オペレーティングシステム１２２は、プロセッサ１０４により読み取られ、恐らくは、プロセッサ１０４内にバッファリングされ、次に実行される。
【００４５】
シングマシン１００がソフトウェア１２０に実装される場合、シングマシン１００を実装する命令が、任意のコンピュータ関連デバイス、システム、又は方法により使用されるか、又は関連して使用される任意のコンピュータ可読媒体に記憶可能なことに留意されたい。そのようなコンピュータ可読媒体は、幾つかの実施形態では、メモリ１０２又は記憶装置１０６の一方又は両方に対応し得る。本文書の文脈の中では、コンピュータ可読媒体は、コンピュータ関連デバイス、システム、又は方法により使用されるか、又は関連して使用されるコンピュータプログラムを含むか、又は記憶することができる電子、磁気、光学、又は他の物理的なデバイス又は手段である。システムを実装する命令は、プロセッサ又は他のそのような命令実行システム、装置、若しくはデバイスにより使用されるか、又は関連して使用される任意のコンピュータ可読媒体で実施することができる。プロセッサ１０４が例として言及されたが、そのような命令実行システム、装置、又はデバイスは、幾つかの実施形態では、任意のコンピュータベースのシステム、プロセッサ包含システム、又は命令実行システム、装置、若しくはデバイスから命令をフェッチし、命令を実行することができる他のシステムであり得る。本文書の文脈の中では、「コンピュータ可読媒体」は、プロセッサ又は他のそのような命令実行システム、装置、若しくはデバイスにより使用されるか、又は関連して使用されるプログラムを記憶、通信、伝播、又は輸送することができる任意の手段であることができる。
【００４６】
そのようなコンピュータ可読媒体は、限定ではなく例として、電子、磁気、光学、電磁、赤外線、又は半導体のシステム、装置、デバイス、又は伝播媒体であることができる。コンピュータ可読媒体のより具体的な例（非網羅的リスト）としては以下が挙げられる：１本又は複数本のワイヤを有する電気接続（電子）、ポータブルコンピュータディスク（磁気）、ランダムアクセスメモリ（ＲＡＭ）（電子）、読み取り専用メモリ（ＲＯＭ）（電子）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、又はフラッシュメモリ）（電子）、光ファイバ（光学）、及びポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）（光学）。なお、コンピュータ可読媒体は、プログラムがプリントされる紙又は別の適した媒体であってさえもよく、その理由は、プログラムは、例えば、紙又は他の媒体の光学スキャンを介して電子的に捕捉することができ、次に、必要な場合にはコンパイル、解釈、又は適するように他の方法で処理され、次に、コンピュータメモリに記憶することができるためである。
【００４７】
シングマシン１００がハードウェアで実装される代替の実施形態では、シングマシン１００は、それぞれが当技術分野で周知の以下の技術のいずれか又は組合せを用いて実装することができる：データ信号に対して論理関数を実施する論理ゲートを有する離散論理回路、適切な結合論理ゲートを有する特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等。
【００４８】
本発明の第１の例示的な実施形態によれば、最初、メモリ１０２は、１組のシングマシン手順Ｐ（ＴＭ（ｉ））で構成されるシングマシン手順Ｐ（ＴＭ）（実行可能手順である）を含む。限定ではなく、Windows 10を実行するDell Latitude 15 3000シリーズラップトップ等の１つの計算機において；Raspberry Pi 3等のチップ上のシステムを使用して；１つのマシン内の多数の計算構成要素を使用して；又は直接若しくは間接的に通信することができる多数の別個の分かれたマシンを使用して、多数のＰ（ＴＭ（ｉ））を実施することができることを当業者は理解しよう。シングマシンは、限定ではなく、米国特許第６３６３４３７号のPlug and Play I2C slaveにおいて規定される等のプラグランドプレイアーキテクチャを使用して実施することができ、この米国特許は全体的に、参照により本明細書に援用される。
【００４９】
多数のＰ（ＴＭ（ｉ））で構成される第１のＰ（ＴＭ）は、第２のＰ（ＴＭ）のＰ（ＴＭ（ｉ））として構成することができる。
【００５０】
シングマシン（ＴＭ）は、１組のシング（例えば、要求等の入力）に対して作用し、動作を実行し、１組のシング（例えば、生成された応答等の出力）を生成することができる手順Ｐ（ＴＭ）である。計算可能性のチューリングモデル及びユニバーサルチューリングマシンがチューリングマシンをシミュレートすることができることに従って、仮説的に、
【数１】
2019537808.tif 000003
であると結論付けることができる。モデルは、
【数２】
2019537808.tif 000004
としてこれらの何らかの数ｎをアレンジすることによりＰ（ＴＭ）を構築することができることを示す。特に、本明細書において更に詳細に説明するように、シングマシンの第１の手順が、シングマシンの第２の手順であって、第２の手順のシングマシンは第１の手順と同じシングマシンと同じであることもあれば、同じではないこともある、シングマシンの第２の手順に、動作を実行するように要求する場合、それに応答して、第２の手順は動作を実行し、第１の手順のシングマシンに応答を提供し、応答の受信に応答して、第１の手順のシングマシンの手順は、必要であれば、Ｐ（ＴＭ）を再構成し得る。繰り返しになるが、ここでも、この例で使用される第１の手順及び第２の手順が第１のＰ（ＴＭ（ｉ））及び第２のＰ（ＴＭ（ｉ））であることに留意する価値がある。
【００５１】
各Ｐ（ＴＭ（ｉ））は、別個のステップシーケンスを実行する実行可能マシンコードで表現されるモデル又はモデルの構成要素のアルゴリズム実装であり、各Ｐ（ＴＭ（ｉ））はＰ（ＴＭ（ｐｅｒｆｏｒｍ））によって実行可能である。数字の代わりに、本発明によれば、シングマシンは、言葉を使用して、所与のＰ（ＴＭ（ｉ））で行う動作のタイプを記述する。Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））は、本明細書において更に詳細に定義される。
【００５２】
モデルは、現象のモデル、データのモデル、理論のモデル、又は会話領域の問題文のモデル（ビジネスの問題を解くようにモデリングされたアプリケーション等）等の世界の選択された部分の表現であることができ、ここで、科学モデルは同時にこれらの表現であることができるため、上記モデルは網羅的ではなく、モデルは、本明細書において開示されるシングモデルに関して表現することができる（「モデル」に関するhttps://plato.stanford.edu/entries/models-science/を参照のこと）。
【００５３】
Ｐ（ＴＭ（ｉ））として表現される手順Ｐを有する所与のＴＭ（ｉ）は、主にデジタルプロセッサ動作である必要はなく、デジタルプロセッサを使用して、機械的、電気的、電磁波、圧力波の生物学的、化学的生成又は受信、電磁放射の生成又は受信を生じさせ得る。
【００５４】
例として、プロセッサ動作は、電圧を電気インターフェースに印加させて、モータ動作によりシングマシンを前方向又は逆方向に推進できるようにする。上記動作は、第２のＰ（ＴＭ（ｉ））プロセッサ動作が上記電圧をリセットするまで続け得る。したがって、シングマシンは、Ｐ（ＴＭ）を他のthing:statementに応答可能にしながら、機械的動作を実行し続ける。
【００５５】
更なる例として、Ｐ（ＴＭ（ｉ））は、入力駆動リコンビナーゼを使用して、リコンビナーゼ認識部位の重複し直交する対で構成されるＤＮＡレジスタを操作するリコンビナーゼベース状態マシン（ＲＳＭ）と対話する動作を実行することができる。したがって、ＲＳＭに符号化された状態情報を照会又はシーケンス化することができる。
【００５６】
Ｐ（ＴＭ）メモリは、ブートというタイトルの本説明のセクション内で詳細に説明するように、初期化に必要な最小組のＰ（ＴＭ（ｉ））を含む。要するに、本発明の第１の例示的な実施形態によれば、Ｐ（ＴＭ）は以下のＰ（ＴＭ（ｉ））を含む：Ｐ（ＴＭ（ｂｏｏｔ））、Ｐ（ＴＭ（ｔｈｉｎｇ））、Ｐ（ＴＭ（ｐａｒｓｅ））、Ｐ（ＴＭ（ｅｖａｌ））、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））、及びＰ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））。Ｐ（ＴＭ）の主要論理は、Ｐ（ＴＭ（ｂｏｏｔ））を実行し、次に停止することである。最初、Ｐ（ＴＭ）メモリにより追加の又はより少数のＰ（ＴＭ（ｉ））を提供し得ることに留意されたい。
【００５７】
シングマシンは、限られた自己構成可能なシングのブートボキャブラリを用いてブートされる。Ｐ（ＴＭ（ｔｈｉｎｇ））動作は、シング及びシング間の可変関係をthing:graphとして編成する。幾つかのシングは、実行可能な動作を表す。実行可能な動作の実行は、シングに対して作用することができる。Ｐ（ＴＭ（ｉ））動作は、限定ではなく、シング及び／又はシング間の可変関係のセット、取得、及びアンセット等のシングの監督に関連する動作を実行するようにＰ（ＴＭ（ｔｈｉｎｇ））に要求することができる。シングは、シングを取得し設定することによって変更することができる。加えて、シングはアンセット及び設定することができる。それに関して、シンググラフは、シングマシンのボキャブラリとして見ることができ、ボキャブラリはシングマシンの知識ベース（シングマシンが実行の仕方を知っている動作及び動作が作用することができるシング）を表す。
【００５８】
本開示の範囲内で、「と対話する（interact with）」という用語が、Ｐ（ＴＭ（ｉ））が、関連するマシンコードを実行させることを指すことに留意されたい。例えば、ＡがＢ「と対話する」場合、Ａは、Ｂに関連するマシンコードを実行させる。
【００５９】
Ｐ（ＴＭ（ｉｎｐｕｔ））動作及びＰ（ＴＭ（ｏｕｔｐｕｔ））動作は、電磁波デバイスと対話して、Ｐ（ＴＭ）との通信を提供する。動作は、インバウンドコンテンツは要求シングであり、アウトバウンドコンテンツは応答シングであるように、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話する。
【００６０】
Ｐ（ＴＭ（ｐａｒｓｅ））動作は、コンテンツシングを解析し、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、ステートメントを表すthing:graphを作成する。インタープリタとして動作するマシンの第１の例示的な実施形態では、thing:graphは実行可能なthing:graphである。シングマシンの第２の例示的な実施形態では、Ｐ（ＴＭ（ｅｖａｌ））動作はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、アクセス可能なボキャブラリのコンテキストにおいてthing:graphを評価し、実行可能なthing:graphを生成する。なお、Ｐ（ＴＭ（ｉｎｐｕｔ））及びＰ（ＴＭ（ｐａｒｓｅ））のアルゴリズムステップは、Ｐ（ＴＭ（ｐａｒｓｅ．ｉｎｐｕｔ））等の適切なＰ（ＴＭ（ｉ））によって与えられる１つの手順として結合することができる。
【００６１】
Ｐ（ＴＭ（ｐｅｒｆｒｏｍ））動作は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、動作を実行することができるシングのコンテキスト内でシングの実行可能な動作を実行する。
【００６２】
Ｐ（ＴＭ（ｆｏｒｍａｔ））動作は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｏｕｔｐｕｔ））動作が出力するアウトバウンドコンテンツ応答シングとして、応答名前空間シングをフォーマットする。なお、Ｐ（ＴＭ（ｆｏｒｍａｔ））及びＰ（ＴＭ（ｏｕｔｐｕｔ））のアルゴリズムステップは、Ｐ（ＴＭ（ｆｏｒｍａｔ．ｏｕｔｐｕｔ））等の適切なＰ（ＴＭ（ｉ））によって与えられる１つの手順として結合することができる。
【００６３】
Ｐ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））動作は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、アクティブシング又は動詞とも呼ばれる実行可能シングとしてＰ（ＴＭ（ｉ））を構成する。これにより、実行可能な動作のボキャブラリを更新することができる。マシンがこの時点で実行することができるシングは、追加、除去、又は複雑性の範囲において変更することができる。なお、Ｐ（ＴＭ（ｉ））はアルゴリズム動作を提供し、ｉはその動作を表す名前を示す。動作は、ニューラルネット分類器動作、電子取引動作、又は実行に移すことができる任意の他のそのようなアルゴリズム動作であり得る。
【００６４】
ブート
シングマシン１００を使用する前、シングマシン１００は、ブートプロセスを実行して、シングマシンの環境及び受信した要求のソースに順応し、更に適応することができる。
【００６５】
シングマシンに電源が投入される都度、Ｐ（ＴＭ（ｂｏｏｔ））動作はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、それぞれがＰ（ＴＭ（ｐｅｒｆｏｒｍ））動作が実行させることができる動作を表す１組のthing:verb及び動作が作用することができるシングで構成されるボキャブラリを表すthing:graphを自己構成（セルフ・コンフィギュレーション）して、シャットダウンの前の最後の既知の状態等のＰ（ＴＭ）の事前知識を表すシングを用いてマシンをブートストラップする。何かを行っており、シングを発生させた（Ｐ（ＴＭ（ｔｈｉｎｇ））がthing:graphを監督する）シングマシンの動作として経験を定義する場合、シングマシンは、シングを実行した結果として経験（シングが実行することができる動作を表すシング又はシングとして表される知識）を得ると言うことができる。
【００６６】
上記ボキャブラリを使用して、シングマシンはコアボキャブラリを構成し、コアボキャブラリは、アプリケーションを実行できるようにする基礎を提供する。したがって、Ｐ（ＴＭ（ｉ））の性能はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、thing:graphを変更することができ、上記変更は事後知識（経験から学習するシング）として考えることができる。
【００６７】
動作はthing:graphをトラバースし、コンテンツをフォーマットし、補助記憶装置と対話して、thing:graph情報を保持することができ、次に、thing:graph情報は、thing:graphを再構築する動作によって検索し使用することができる。
【００６８】
一実施形態では、コアボキャブラリは、所定の組のシングを含むように構成することができ、ボキャブラリは有限の所定のサイズ及び範囲である。第２の実施形態では、ボキャブラリ内の１組のシングは、シングマシンによって動的に監督され、ここで、シングは設定され（学習され、thing:graphに追加される）、他のシングはアンセットされる（忘れられ、thing:graphから削除される）。
【００６９】
シングマシンは、グラフとしてシングを編成する。コンテキストグラフという名前の一グラフは、名前空間を表すシングを含む。名前空間は、要求、応答、１組のタスク、サービス、動詞ボキャブラリ、又はアプリケーションディクショナリ等のシングの概念グループを表すのに使用される名前付きグラフである。名前空間ボキャブラリは、存在論の一形態として見ることができる。しかしながら、離散したボキャブラリを使用する幾つかの名前空間は、ボキャブラリの一部で存在論的コミットメントを共有し得る。
【００７０】
グラフの自己構成では、Ｐ（ＴＭ（ｂｏｏｔ））は、動詞動作を表すシングを構成するようにＰ（ＴＭ（ｔｈｉｎｇ））に要求し、ここで、上記シングは、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））が実行することができる実行可能な動作への参照の表現を有する。例示的な動詞動作には、限定ではなく、解析、評価、実行、及び構成がある。集合的に、上記シングはボキャブラリと呼ばれ、上記シングのグラフはブートボキャブラリである。シングマシンのブートプロセスは、マシンの事前知識（ボキャブラリの初期シング）を表すようにシングマシンの限られたボキャブラリを自己構成する。限られたボキャブラリは、動詞及び動詞が作用することができるシングを含む。本発明の第１の例示的な実施形態によれば、シングマシンの基本動詞ボキャブラリは、少なくとも、動詞「入力する」、「出力する」、「解析する」、「評価する」、「実行する」、及び「構成する」を含む。各動詞に関連付けられたシングマシンの手順は丁重にＰ（ＴＭ（ｐａｒｓｅ））、Ｐ（ＴＭ（ｅｖａｌ））、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））、及びＰ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））と呼ばれる。以下に詳述するように、これにより、シングマシンは、自己構成されたthing:verbのコンテキストにおいて要求を評価し、追加の動詞を動詞ボキャブラリに追加する構成動作を実行することができる。このモデルを使用して、シングマシンの動詞ボキャブラリは動的に構成可能になり、サイズ及び範囲を必要に応じて増減することができる。
【００７１】
自己構成のプロセスは、限られたボキャブラリの受信のみならず、各動詞に少なくとも１つのthing:graphを作成することも含む。特に、thing:graph内の動詞は、非動詞と同様にノードであり（両方ともシング）、thing:graph内の弧は、シング間の可変関係を表す。したがって、thing:graphは、続くシング間の関係を定義する。
【００７２】
Ｐ（ＴＭ（ｔｈｉｎｇ））動作は、シング及びシング間の可変関係をthing:graphとして編成する。幾つかのシングは、動作、発生、又は存在の状態を表し、他のシングは、動作が作用することができるシングである。シングマシンは、シングの限られた自己構成ブートボキャブラリを用いてブートされる。ブートボキャブラリを使用して、シングマシンは、シングで構成されるコアボキャブラリを含む事前知識を構成する。
【００７３】
Ｐ（ＴＭ（ｉｎｐｕｔ））動作は電磁波デバイスと対話して、Ｐ（ＴＭ）に通信を提供する。本発明の一実施形態は、Ｐ（ＴＭ（ｉｎｐｕｔ））をＰ（ＴＭ（ｐａｒｓｅ））と結合し得る。動作は、インバウンドコンテンツが、解析動作によって解析することができる要求シングであるように、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話する。
【００７４】
Ｐ（ＴＭ（ｏｕｔｐｕｔ））動作は任意選択的シングである。その動作は電磁波デバイスと対話して、Ｐ（ＴＭ）から通信を提供する。
【００７５】
Ｐ（ＴＭ（ｐａｒｓｅ））動作は、コンテンツシングを解析し、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、ステートメントを表すthing:graphを作成する。インタープリタとして動作する単純なマシンでは、thing:graphは実行可能なthing:graphである。適応シングマシンでは、Ｐ（ＴＭ（ｅｖａｌ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、アクセス可能なボキャブラリのコンテキストにおいてthing:graphを評価し、実行可能なthing:graphを生成する。なお、Ｐ（ＴＭ（ｉｎｐｕｔ））及びＰ（ＴＭ（ｐａｒｓｅ））は、Ｐ（ＴＭ（ｐａｒｓｅ．ｉｎｐｕｔ））等の適切なＰ（ＴＭ（ｉ））によって与えられる１つの動作として結合することができる。
【００７６】
Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））動作はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、動作を実行することができるシングのコンテキスト内でシング動作を実行する。
【００７７】
Ｐ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））動作はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、実行可能なシングとしてＰ（ＴＭ（ｉ））を構成する。これにより、実行可能な動作のボキャブラリを更新することができる。マシンがこの時点で実行することができるシングは、追加、削除、又は複雑性の範囲において変更することができる。なお、Ｐ（ＴＭ（ｉ））はアルゴリズム動作を提供し、ｉはその動作を表す名前を示す。動作は、ニューラルネット分類器動作、電子取引動作、又は実行に移すことができる任意の他のそのようなアルゴリズム動作であり得る。
【００７８】
ブートプロセス及び図３の概略図を参照すると、シングマシン１００がブートすると、Ｐ（ＴＭ（ｂｏｏｔ））は、シングマシンのブートボキャブラリを作成するようにＰ（ＴＭ（ｔｈｉｎｇ））に要求する（ブロック２０２）。Ｐ（ＴＭ（ｔｈｉｎｇ））は、要求を受信し、ブートボキャブラリを表すシング（例示を目的として、「boot:」と呼ばれる）を作成する（ブロック２０４）。シングの作成は、Ｐ（ＴＭ（ｔｈｉｎｇ））がメモリのユニットをシング（すなわち、boot:）がブートボキャブラリ内のシングを認定するシングのサイズ初期化することによって実行される。
【００７９】
シンググラフデータモデル
図４は、シングマシン１００によって実行される、ブートプロセスによるグラフの作成を明示する目的で提供されるグラフである。このセクションは、全てのシングベースの言語、仕様、及びＲＤＦに基づく参照実装をリンクするように機能する抽象シンタックスを定義する。ＲＤＦは、ウェブにおける情報を表すための枠組みである（Ｗ３Ｃ、２０１４年）。ＲＤＦグラフは１組の三つ組みであり、各三つ組みは、図４に示されるように、主語、述語、及び目的語からなる。ＲＤＦは３つのタイプのノードを提供する。ノードは、ＩＲＩ（ＲＦＣ３９８７参照）、文字、又は空白のノードであることができる。ＩＲＩ又は文字は、世界における何かを示し、リソースと呼ばれる。
【００８０】
ＲＤＦシンググラフは、シングについてのＲＤＦグラフである。ＲＤＦシンググラフは、シングの非可変構成要素を記述する。構成要素は非可変であるが、構成要素の値は可変である。幾つかのシングは、実行可能な動作を有するアクティブシングであり、往々にして動詞と呼ばれる。他のシングは、動詞動作が作用することができるシングである。シングは、ＲＤＦリソース、概念、事実、アイディア、エンティティ、物体、インスタンス、イベント、発生、デバイス、センサ、サービス、タスク、サービス、ユーザ、ウェブリソース等を表すことができる。
【００８１】
シングは非可変構成要素で構成される。シングは、非可変構成要素の知識を有するＰ（ＴＭ（ｔｈｉｎｇ））によって監督される。シングの第１の例示的な非可変構成要素は、会話領域においてあるシングを別のシングから区別するのに使用される識別子であるが、リストを表すシングのメンバである重複した名前のシング等の重複した名前のシングが存在することができる。
【００８２】
シングの第２の例示的な非可変構成要素は値である。一実施形態では、値は、ＲＤＦ１．１仕様において定義されたＲＤＦ文字である。当業者はＲＤＦ１．１仕様に精通しており、この仕様は全体的に、参照により本明細書に援用される。加えて、当業者は代替の仕様によって定義される代替の値表現を使用することもできる。シングの非可変構成要素値の値が空であり得ることに留意されたい。
【００８３】
シングの第３の例示的な非可変構成要素は、関係セットである。シングが空の関係セットを有する場合、シングはヌルグラフを表す。関係セットとは、第１のシングと第２のシングとの間で保持される１組の関係である。主要な関係は関連付けの１つである。関連付けは、組成（composition）又は集合（aggregation）の形態であることができる。シングＡがシングＢで構成される場合、関係は不変である。シングＡが、シングＢを含む集合である場合、関係は可変である。ここで、例として、シングＢは、図５に示されるように、シングＡから独立して存在することができる。述べたように、シングは、非可変構成要素の知識を有するＰ（ＴＭ（ｔｈｉｎｇ））によって監督される。
【００８４】
第１の例示的な関係はthing:sttia関係であり、これは、存在量化を使用して以下を示す：目的語シングがあるこの主語シングがある（there is this subject Thing such that there is an object Thing）。関係は可変である。これを図６に示す。
【００８５】
目的語シングは、シングのリスト又は１組のシング等のシングの集まりを表すことができる。関係は、以下のようなインスタンス修飾語句を使用して表現することができる：目的語シングのインスタンスがあるこの主語シングがある（there is this subject THING such that there is an instance of an object THING）。シングのインスタンスは、シングの分類に応じて異なる意味を有することができる。場合によっては、インスタンスはメンバであることもあれば、何かの発生であることもある。
【００８６】
thing:is-a関係は、第１のシングが第２のシングの一タイプであることを表現する。これについて、本明細書において、メタデータとしての属性と呼ばれるセクションにおいて更に説明する。一般的な意味で、thing:is-a関係はシングの分類を可能にする。
【００８７】
thing:depends-on関係は、主語シングが目的語シングへの依存性を有することを示す。ＵＭＬからの関係等の追加の関係をＲＤＦシンググラフデータモデルに追加することができる。これらは、関連付け、集合、有向関連付け、組成、反射関連付け、継承、多様、及び実現を含む。
【００８８】
識別子及びリスト
リストはシングへの参照の表現である。リストは、識別子等の非バインド名であってもよく、又は２つ以上のシング間の関係を伝達するように表現してもよい。リスト「this」は、名前が「this」に等しいシングを参照していることを示す単純な識別子である。リスト「this.that」は、名前が「that」に等しいシングがあるような、名前が「this」に等しいシングがあることを示すことができる。リストの厳密な解釈は、リストがバインドされた名前空間に依存し、これは、後述するように、ＵＲＩにおけるセクション（ＲＦＣ３９８６参照）においてより詳細に網羅されている。
【００８９】
メタデータとしての属性
属性は、シングの固有の特性又は品質を記述する。属性は、メタデータとして表現される。thing:metadataは、属性のタイプを識別するシングであり、シングの値は属性の値を記述する。
【００９０】
属性は、thing:metadataとして識別され、続けて三つ組みに使用することができる。一例として、thing:class属性を使用して、シングの分類を示す。クラスとは、所与の瞬間において、シングがクラスのメンバであるために必要とされるものを指定するメンバーシップ基準を満たす１組のシングである。意図は、時間依存基準である。所与の瞬間での拡張（extension）は、その時間での全てのメンバのリストである。
【００９１】
属性は状態を記述し得る。例えば、シングは、分類を示さずに宣言することができ、バインド動作を「非バインド」シングに対して行って、「未知」シングとしてバインドされる場合であっても、バインド動作が認識することができる何かに「非バインド」シングをバインドすることができる。バインド動作は、シングを非バインド状態からバインド状態に遷移させる。バインドシングは、見つけることができることもあれば、見つけることができないこともある。見つけられたバインドシングは、バインド動作がシングを、バインド動作が理解する何かにバインドすることができたことを示す。見つけられないバインドされたシングは、バインド動作がシングに適用されたが、シングは、バインド動作が理解することが可能な何かではなかったことを示す。
【００９２】
アクティブシング
特定の動作への参照の表現を有するシングは、アクティブシングとして分類される。これに関連して、実行可能な動作は、マシンが実行させて、何らかの結果を達成することができる動作であり、主に、計算的、電気的、化学的、光学的、生物学的、機械的、電磁波、又はそれらの組合せの性質であり得る。
【００９３】
本明細書におけるアクティブシングは、動詞が、動作を記述する名詞であり、アクティブシングが動作を記述するという意味で、thing:verbと呼ばれることが多い。したがって、アクティブシングの名前は、識別子が、実行することができる動作を記述する動詞である。
【００９４】
分類をサポートする一実施態様では、実行可能な動作への関係を有するシングは、図７に示されるように、thing:is-a関係を使用してthing:verbとして分類される。
【００９５】
動詞は１組のシングに対して動作することができる。動作されることが可能なシングは、ＲＤＦシンググラフにおいて明示的に指定してもよく、又は分類によって暗黙的に指定されてもよい。数量詞を使用して、会話領域におけるシングの範囲を、動詞動作が作用することができるシングに制限することができる。
【００９６】
名前空間
名前空間は、単に同じ名前空間のメンバであることにより関連する場合であっても、何らかの方法で論理的に関連するシングの名前付きグラフを表すシングである。グラフは、シング及びシングの関係を含む。図８に示されるように、分類をサポートするグラフにおいて、名前空間シングはthing:namespaceとして分類され、thing:namespaceはthing:classである。
【００９７】
コンテキスト
コンテキストは、現在の範囲を有する１組の名前空間を定量化するシングである。図９に示されるように、分類をサポートするグラフにおいて、シングはthing:contextとして分類される。
【００９８】
コンテキストは、１組の名前空間が、シングを表すＩＲＩを逆参照する際に使用するために、現在の範囲を有することができるようにする。例えば、request:statementは、コンテキストに相対して分解することができるＩＲＩである。英語では、これは以下として表現される：There is namespace where the name is equal to request, such that, there is a Thing where the name is equal to statement.（名前がステートメントに等しいシングがあるような、名前が要求に等しい名前空間がある。）
【００９９】
ＵＲＩ
ＵＲＩはリソースを識別し、シングは、シングマシンにおけるそのリソースの表現である。シングは、実行可能な動作又は実行可能な動作が作用することができるシングのいずれかを有する。ＵＲＩの一般化された形態は、
scheme:scheme specific part
として与えられる。
【０１００】
シングマシンでは、スキームは、以下に示すように、名前がＵＲＩスキームの命名規則に従う名前空間シングへの参照として解釈される。これには、ＲＤＦシンググラフを使用して既存のスキーム名を表現することができるという利点がある。
名前空間名は、文字で始まり、文字、数字、プラス（「＋」）、ピリオド（「．」）、又はハイフン（「−」）の任意の組合せが続く一連のキャラクタからなる−ＲＦＣ３９８６。
【０１０１】
インターネット割当番号公社（Internet Assigned Numbers Authority）によって公開された全ての永久ＵＲＩスキームは、確保された名前空間名である。確保された名前空間にけるシングのモデリングは、その名前空間について公開されたＲＦＣの意味に準拠すべきである。例えば、news:及びnntp:の名前空間においてシングをモデリングするには、ＲＦＣ５５３８を調べるべきである。公開されたＵＲＩスキームのリストは、ＩＡＮＡによって保持されており、
http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
においてオンラインで入手可能である。
【０１０２】
「ＵＲＮ」名前空間は、確保された名前空間であり、その名前空間固有部分は、そのＵＲＮ名前空間について公開された対応するＲＦＣ文書によって定義されるものとして解釈される。公開されたＵＲＮのリストは、ＩＡＮＡによって保持されており、
http://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml
においてオンラインで入手可能である。
【０１０３】
リストの名前空間固有部は、名前空間（スキーム）の仕様に従って解釈される。
【０１０４】
一般的なＵＲＩシンタックスのパーサは、任意のＵＲＩ参照を主要構成要素に解析することができる。スキームが特定されると、更なるスキーム固有の解析を構成要素に対して実行することができる。換言すれば、ＵＲＩ一般シンタックスは、全てのＵＲＩスキームのシンタックスの上位集合である。
【０１０５】
しかしながら、http:、https:、及びfile:名前空間は、「／」キャラクタ区切り文字を使用し、それにより、参照：http://www.THINGlanguage.com/requestは、
名前が「http」に等しいようなTHING:NAMESPACEがあり、そこには名前が「www.THINGlanguage.com」に等しいシングがあり、そこには名前が「request」に等しいシングがある。
として解釈される。
【０１０６】
mailto名前空間は、ＲＦＣ６０６８に従って参照を解釈する。例えば、参照：mailto:info@thinglanguage.comは、
名前が「mailto」に等しいようなTHING:NAMESPACEがあり、そこには名前がinfo@THINGlanguage.comに等しいシングがある。
として解釈される。
【０１０７】
ＯＳＸ及びＩＯＳにおいてサポートされるTHINGS:schemeをモデリングすることもできる。THINGS:URIは、THINGS:command?parameter1=value1&parameter2…として与えられる。これは、
名前が「THINGS」に等しいようなTHING:NAMESPACEがあり、そこには名前が「command」に等しいシングがあり、そこには名前が「parameter1」に等しく、且つ値が「value1」に等しいシングのインスタンスがあり、名前が「parameter2」に等しいシングのインスタンスがある。
として解釈される。
【０１０８】
名前空間シングの名前は、ＩＲＩスキームの命名要件に従う（ＲＦＣ３９８７参照）。これは、ＵＲＩ（ＩＲＩの一形態であり、ＲＦＣ３９８６において記載される）をシングにバインドする方法として機能する。ＵＲＩスキーム名は、名前空間シングにバインドされる。例えば、全てのhttp:URIは、http:namespaceシング内でバインドされる。http URIのシングへの例示的なバインドを図１０に示す。
【０１０９】
満足クレーム
基本アサートは、満足クレームを表すthing:assertionであり、所与のクレームが真であることをアサートする。シンググラフモデルでは、アサートは、有向エッジラベルではなくシングである。図１１を参照すると、thing:graphでは、空白ノードは満足クレームを表し、クレームはthing:objectへの参照を有し得る。
【０１１０】
図１２に示されるように、thing:assertionは、thing:subjectが数値である値を有し、したがって、thing:objectが必要ないことをアサートする。
【０１１１】
図１３に示されるように、thing:assertionは、thing:subjectの値がthing:objectの値未満であることを主張する。
【０１１２】
満足クレームの真実性は、クレームに対応する計算手順によって決まる。それに関して、満足クレームは、動作が作用することができるシングを記述する、対応するtrhing:graphを有するアクティブシングである。
【０１１３】
例示的な満足クレームは、限定ではなく、以下の表１に示されるものが挙げられる。
【０１１４】
【表１】
2019537808.tif 000005
【０１１５】
単純な述語の「is」部分は、述語の否定を示すために、「not」が続くことができる。例えば、thing:is-not-equal-to。thing:matchの否定は、thing:does-not-matchとして指定される。
【０１１６】
コネクタ
論理的なコネクタを使用して、２つの満足クレームを接続する。例示的なコネクタには、限定ではなく、and、or、not、implies、及びiffがある。満足クレームと同様に、論理コネクタは、有向エッジラベルではなくシングとして表現される。論理コネクタシングはアクティブシングである。コネクタを有するグラフの一例を図１４に提供する。
【０１１７】
単純なコネクタの例には、限定ではなく、表２によって示される以下がある。
【０１１８】
【表２】
2019537808.tif 000006
【０１１９】
手順グラフでは、確かに、満足クレームは真（満足）又は偽（不満足）に評価されるが、宣言グラフにおける満足クレームは、クレームが範囲にわたる１組のシングを含むように拡張することができる。
【０１２０】
グラフタイプ
シンググラフは、何かを行う方法を記述する場合、手順的な性質を有する。例えば、シングの値を設定するグラフは、タスクの実行に必要な動作を記述する一連のステートメントであるため、手順ステートメントである。
【０１２１】
シンググラフは、宣言を表すステートメントである場合、宣言的である。ＨＴＭＬは宣言ステートメントの一例である。ＨＴＭＬソースコードは、文書の所望のレイアウトを記述し、ＨＴＭＬレンダリングエンジンは、ＨＴＭＬソースコードを処理して、実際のレイアウトを実行する。
【０１２２】
シンググラフは、オブジェクト及びメソッドを記述する場合、オブジェクト指向である。一例として、オブジェクト及びオブジェクトを設定、取得、アンセットするメソッドを示すグラフは、オブジェクト指向である。
【０１２３】
シンググラフは、メッセージ又は状態等のイベントがグラフの評価を駆動する場合、イベント駆動グラフである。シンググラフは、有限状態マシンで使用するために、状態及び状態間の遷移を表現する場合、有限状態グラフである。
【０１２４】
シンググラフは、ハレルの状態図、ＸＭＬ状態図、又はＵＭＬ状態図等の上記タイプのグラフの１つ又は複数の組合せであってもよい。
D.Harel及びM.PolitiによるModeling Reactive Systems with Statecharts: The STATEMATE Approach，McGraw-Hill, 1998。
（http://www.wisdom.weizmann.ac.il/~dharel/reactive_systems.html参照）
【０１２５】
実行可能なマシンコードで表現されるシングマシン手順Ｐ（ＴＭ（ｔｈｉｎｇ））は、シング及びシング間の関係を監督する動作を非一時的メモリに提供する。実行可能な動作への参照の表現を有するシングは、動詞である。実行可能なマシンコードで表現されるシングマシン手順Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、動詞シングへの参照を取得し、動詞の実行可能な動作Ｐ（ＴＭ（ｉ））を実行させる動作を提供する。動作の実行は、Ｐ（ＴＭ（ｔｈｉｎｇ））動作と対話して、非一時的メモリにおいてシングに作用することができる。実行可能なマシンコードで表現されるシングマシン手順Ｐ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、動詞シングを設定する動作を提供する。したがって、シングマシンが動作として実行することができるシング及び動作が作用することができるシングに関して、問題文を記述し、解を建築することができる。
【０１２６】
図１５は、シングマシンによって実行される最小ランタイムステップを例示するフローチャート２５０である。フローチャートにおける任意のプロセス説明が、プロセスにおける特定の論理機能を実装する１つ又は複数の命令を含むモジュール、セグメント、コードの部分、又はステップを表すものとして理解されるべきであり、本発明の分野の当業者により理解されるように、関わる機能に応じて、略同時又は逆順を含め、示される又は考察される順序以外で機能を実行し得る代替の実施態様が、本発明の範囲内に含まれることに留意されたい。
【０１２７】
特に、少なくとも以下のステップはシングマシンによって実行されることに留意されたい。ブロック２５２に示されるように、入力の解析、センサとの対話、又は動作を実行するようなシングマシンへの要求による等、アルゴリズム的にＰ（ＴＭ（ｉ））動作は、シングマシンが動作を評価し実行するためのステートメントを表すthing:graphを生成する。
【０１２８】
これは、そのような温度、加速度、高度、経度及び／又は緯度、運動センサ、熱センサ、煙センサ、又は他のそのようなセンサ、センサ生成データを取得して、thing:statementを増分的に構築し、対応する実行可能なthing:statementを実行するＰ（ＴＭ（ｉ））にとって有用である。同様に、イベント、タイマ、割り込み、又はアラーム等の信号が通知されたＰ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｒｅｑｕｅｓｔ））と対話して、thing:statementを構築して評価し、対応する実行可能なthing:statementを実行して、Ｐ（ＴＭ）がその受信に応答できるようにする。
【０１２９】
そのようなＰ（ＴＭ（ｉ））の第１の例示的な実施形態は、ＸＭＬ文書を解析して、以下のアサートが真であるようなthing:graphを生成する：
名前がcore:printに等しいシングがあり、そこには名前が「message」に等しく、値が「Hello, World」に等しいシングがある。対応するthing:graphを図１６に示す。
【０１３０】
ブロック２５４に示されるように、Ｐ（ＴＭ（ｅｖａｌ））動作はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、上記thing:graph及び現在の動詞ボキャブラリにアクセスし、それらと対話して、適切な動詞動作をアルゴリズム的に選択し、実行可能なthing:graphを構築し設定する。現在の動詞ボキャブラリは、初期動詞ボキャブラリであってもよく、又は動的に変更された動詞ボキャブラリであってもよいことに留意されたい。
【０１３１】
ブロック２５６に示されるように、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））動作はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、実行可能なthing:graphを取得し、それを実行させる。
【０１３２】
本発明の代替の実施形態によれば、シングマシンは、Ｐ（ＴＭ（ｅｖａｌ））動作を含まないことがある。そのような実施形態では、Ｐ（ＴＭ（ｐａｒｓｅ））が命令文を解釈する。
【０１３３】
THING:GRAPH／コアボキャブラリの変更
上述したように、Ｐ（ＴＭ（ｉ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、thing:graphを設定することができる。シングアーキテクチャでは、入力及び出力の詳細を抽象化し、動詞動作の使用を通して出現させることができる。言語、文法、シンタックス、及び伝達動作の選択はそれ自体、単にシングである。
【０１３４】
Ｐ（ＴＭ（ｐａｒｓｅｒ））動作が文法シンタックスの要素をthing:graphにアルゴリズム的に解析することができる限り、任意の数の言語及びシンタックスをＰ（ＴＭ（ｉ））入力ストリームで受信することができ、解析することができる。
【０１３５】
言語はシングであり、より正確には語彙及び文法を含む伝達体系として説明される。語彙は、その言語での１組の単語又は語句等のボキャブラリである。文法は、形態、意味論、及びシンタックス等の規則を課す。
【０１３６】
動作は、伝達するために実行されなければならないシングである。読む及び観察等の視覚的伝達スキルが使用可能である。書く又は署名する等の物理的動作が使用可能である。音声伝達スキルが使用可能である。代替的には、点字筆記体系が使用可能である。これらは全てシングであり、これらはシングであるため、これらの動作は、シングマシン（すなわち、Ｐ（ＴＭ））が実行可能な動作としてモデリングし構成することができる。
【０１３７】
伝達動作の一形態としてのジェスチャは社会を超える。ある方向を指す指、足の踏みならし、又は笑顔の意味は一般に理解される。ジェスチャは、手話は、明確に定義された意味を有する、確立された表現及び動きを使用するという意味で手話と異なる。
【０１３８】
人々と同様に、シングマシンは、所与の言語の読みボキャブラリ、書きボキャブラリ、リスニングボキャブラリ、及び発話ボキャブラリを有することができる。これらの各ボキャブラリは、異なるレベルであることができる。シングマシンは、構成されたシングにより、シングマシンが聞いたとき、単語が何を意味するのかを知り得るが、その単語を正確に発音する又は書くことができないことがある。同様に、シングマシンは、何かを読み、認識しない単語を見ることがある。例えば、単語ｏｓｓｉｆｙは、骨のように固いことを意味する英語の動詞の単語であるが、英語の言語では希にしか使用されない動詞の１つであり得、したがって、モデリングされた実施形態は、シングマシンの動詞ボキャブラリに構成されていないことがある。
【０１３９】
シングマシンは、馴染みのない単語を識別すると、その音節と対話することによってその単語の意味を解釈しようとし得る。シングマシンは、語根を検出することができる場合意味を推測することが可能であり得る。シングマシンは、新しい単語及びその使用方法を学習するにつれて、それらの新しい単語を様々なボキャブラリに追加することができる。
【０１４０】
多言語シングマシンは、シングマシンが知る各言語に異なるボキャブラリ機能を有することができる。シングマシンは、学校でパピアメント語、オランダ語、スペイン語、及び英語を学習しているアラビアの生徒の言語教育システムでモデリングすることができる。各シングマシンは、各言語で異なるレートで、且つ潜在的には異なる性能で読みボキャブラリ、書きボキャブラリ、リスニングボキャブラリ、及び発話ボキャブラリを開発することができる。
【０１４１】
シングマシンは、文法及びシンタックスに従ってステートメントを解析して、トークンシングにし、トークンシングを対応するボキャブラリ内のシングにバインドすることができる。特定のシングは即座に分類することができ、一方、他のシングは、前後の単語を見て意味を推測する必要がある。
【０１４２】
ステートメントの意味はそれでもなお曖昧であり得る。ステートメント：「Let’s eat honey」を考える。これは、蜂蜜を食べることを意味することができ、又はあなたがあなたの愛する人に食べ始めるように勧めることを意味することができる。本明細書において詳細に説明するように、ステートメントの解釈及び意味の管理を促進するために、開始ノードが動詞名であり、接続されたノードが、動詞動作が作用することができるシングであるシング動詞グラフのアイディアを導入する。
【０１４３】
動作を実行すると、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、thing:graphを作成するように、続けて、Ｐ（ＴＭ（ｐａｒｓｅ））以外の動詞Ｐ（ＴＭ（ｉ））動作を構成することができ、続けて上記thing:graphを評価して、実行可能なグラフを作成することができることに留意することが重要である。実行可能なthing:graphの実行は、動作にＰ（ＴＭ（ｔｈｉｎｇ））と対話させ、Ｐ（ＴＭ（ｔｈｉｎｇ））が監督するシングのthing:graphを変更させることができる。そのようなＰ（ＴＭ（ｉ））の例示的な実施形態は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、１組のアクティブシング（ここで、１組とは１つ又は複数である）を構成する動作を提供するＰ（ＴＭ（ｃｏｆｎｉｇ））である。
【０１４４】
Ｐ（ＴＭ（ｉ））の動作は、環境と対話して、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督されるthing:graphを変更する要求のthing:graph表現を生成することができる。それに応答して、Ｐ（ＴＭ（ｃｏｎｆｉｇ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督されるthing:graphを変更する。したがって、Ｐ（ＴＭ（ｃｏｎｆｉｇ））の動作は、本明細書ではコアボキャブラリとも呼ばれる現在のボキャブラリを変更する。
【０１４５】
図１７を参照すると、Ｐ（ＴＭ（ｃｏｎｆｉｇ））は、要求名前空間シングによって認定されたシング、すなわち、Ｇ．ｒｅｑｕｅｓｔ及びＧ．ｕｒｒがあるようなＧ．ｉｄ（空白ノードとして示されている）に対して作用する。
【０１４６】
Ｇ．ｉｄシングの名前は、Ｐ（ＴＭ（ｃｏｎｆｉｇ））が構成する動詞シングの識別子である。Ｇ．ｒｅｑｕｅｓｔは、動詞シングの実行が作用することができるシングを記述するグラフである。Ｇ．ｕｒｒシングの値は、動詞シングの実行を要求するユニフォームリソース要求として解釈されるＵＲＩである。
【０１４７】
図１８を参照すると、Ｐ（ＴＭ（ｃｏｎｆｉｇ））のmy:configureバージョンは、ボキャブラリ識別子（vocabulary.id）であるシングがあり、Ｇ．ｒｅｑｕｅｓｔ及びＧ．ｕｒｒがあるようなグラフＩＤであるシングがあるようなＵＲＩrequest:statementによって識別されるシングに対して作用する。ボキャブラリ識別子は、Ｐ（ＴＭ（ｅｖａｌ））がthing:statementの評価に使用する会話領域における１組の動詞シングをアルゴリズム的に選択する際に分類器によって使用することができる。
【０１４８】
一実施形態では、Ｐ（ＴＭ（ｃｏｎｆｉｇ））は、動的リンクライブラリ等の共有ライブラリを表すシングと対話ことができ、それにより、上記共有ライブラリはプロセスメモリに動的にロードされ、関数への参照が解決、実行されて、１組の手順及び対応するグラフを提供し、それにより、多数の動詞シングを構成できるようにする。
【０１４９】
一実施形態では、Ｐ（ＴＭ（ｃｏｎｆｉｇ））はＰ（ＴＭ（ｅｖａｌ））及びＰ（ＴＭ（ｐｅｒｆｏｒｍ））とアルゴリズム的に対話して、１組の動詞シングを構成するための必須条件として満たさなければならないthing:statementを評価し実行することができる。上記thing:statementは、アクセス可能性、バージョン情報、改訂情報、依存性、既存の動詞シングとの競合、識別、認可、認証、セキュリティ、ハードウェア機能、オペレーティングシステム機能、又は他のそのようなアクティビティをチェックする要求を表すことができる。
【０１５０】
識別、認証、及び認可をサポートする一実施形態では、Ｐ（ＴＭ（ｃｏｎｆｉｇ））動作は、Ｐ（ＴＭ（ｉ））と対話して、thing:statementを識別、認証し、動詞シングを構成するために満たす必要がある認可要件を課すことができる。例として、thing:statementは、識別情報が動作を実行するようにＰ（ＴＭ（ｃｏｎｆｉｇ））に要求するように認可されているか否かを判断するために、認証することができる識別情報と共にデジタル署名を必要とし得る。様々なセキュリティモデルをアルゴリズム的にイネーブルすることができ、上記モデルは、２０１６年１月２９日に出願されたOptical Identity System and Methodsという名称の係属中の米国特許出願第６２／２８８，５４５号に開示される等の特定のハードウェア及びＰ（ＴＭ（ｉ））構成動詞シングを使用する必要があり得、この米国特許出願（光学識別子特許出願）は全体的に、参照により本明細書に援用される。一実施形態は、Ｐ（ＴＭ（ｏｐｅｎｓｓｌ））を使用して、OpenSSLツールキット（www.openssl.orgウェブサイト参照）によって可能になる識別動作、認証動作、及び認可動作を提供し得る。
【０１５１】
シングのタイプ例
動作ブロックは、一連のステートメントを表すthing:graphである。名前付き動作ブロックはタスクと呼ばれる。このようにして、言語文法は、シングマシンが続けて実行することができる名前付きタスクを構成する、シングマシンへの要求を表現することができる。タスクは、動作ブロックを実行することによって実行される。動作ブロックは、各ステートメントを評価して、実行可能なthing:graphを生成することによって実行される。実行可能なthing:graphは、実行可能なthing:graph内のthing:verbに対応する動作を実行することによって実行される。
【０１５２】
シングマシンは、実行可能な動作として複数の言語文法パーサを構成することができるという意味で、バイリンガルであるように構成することができる。代替的には、翻訳動作を使用して、第１の言語から、構成されたパーサ動作によって解析することができる第２の言語に翻訳することができる。
【０１５３】
したがって、本明細書において、シングマシンが本を読むことができると言う場合、シングマシンが、入力デバイスから得られたコンテンツと対話し、コンテンツをthing:graphとして表現する動作を実行することができることを意味する。シングマシン全体のサブグラフとしてthing:graphを保持することにより、シングマシン動作は続けて、そのコンテンツにアクセスし対話することができる。
【０１５４】
シングマシンは、タスクを実行する方法を記述した本を読み、マシンがそのようなタスクを実行するように将来求められた場合、その知識を保持する。タスクは話題により分類することができる。タスクは、httpプロトコルの使用に関連するタスク、accounting:account.receivable、accounting:accounts.payable、banking;debits、banking:credits、及びbanking:balance等の活動に関連するタスクの１組の分類のメンバであり得る。
【０１５５】
第１のシングマシンは、第２のシングマシンへの、話題又は分類についての知識を要求する通信を送信することができる。上記知識を表すコンテンツの受信に応答して、第１のシングマシンはコンテンツと対話し、それに従ってそれ自体の知識を構成することができる。このようにして、第１のシングマシンは第２のシングマシンから学習することができる。
【０１５６】
シングマシンはサービスを提供することができる。サービスは、要求の受信に応答して提供されるシングである。サービスとタスクとの間の微細な区別は、タスクは実行される一方で、サービスは提供されることである。タスクとサービスとの分離は、コンテキストを通して促進され、コンテキストは、ファイルを除去するタスク又は動詞の意味を変更するタスク等のタスクの非認可実行を阻止することができる。
【０１５７】
述べたように、コンテキストシングは、会話領域において１組の利用可能な名前空間シングを認定する。名前空間シングは、単に同じ名前空間のメンバであることによって関連する場合であっても、１組の関連するシングを認定する。名前空間シングの名前は、シングへの参照を解決する際に使用される。
【０１５８】
識別情報はシングであり、したがって、識別子、認証、認可、及び監査の概念をモデリングして、識別情報モデルを実施することができる。識別情報モデルの例には、公開鍵基盤、Open PGPのWeb of Trust、バイオメトリクス、第三者認可等の使用がある。識別情報を用いて、シングとしての市場を導入し、取引を可能にすることができる。取引は、買い手と売り手との間、支払う人と支払われる人との間のシングになる。取引は、サービス提供シング、物理的シング、概念シング、又は論理的シングを含み得る。
【０１５９】
識別情報モデルにより、グラフ又はサブグラフの認証が可能である。例えば、要求当事者の識別子（すなわち、要求発信者）、コンテンツ、及びコンテンツのデジタル署名を含む要求を表すグラフを考える。識別子の対応する証明書を検証することができ、コンテンツのデジタル署名を検証することができる。これにより、評価動作は、要求をアルゴリズム的に検証し、それに応答して適切な動作を選択することができる。識別情報モデルを実施して、セキュア通信モデルを提供することもできる。
【０１６０】
要求コンテンツのセキュア化は、コンテンツを暗号化し、続けてコンテンツを復号化する暗号化動作を使用してモデリングすることができる。要求グラフは、暗号化動作及び暗号鍵を記述するサブグラフを含むことができる。コンテンツを復号化するために、必須条件として、指定された鍵を用いて指定された暗号化をまず実行しなければならない評価動詞動作を適用することができる。適切なサブグラフ内の要求の様々な構成要素を編成することにより、２つ以上のシングマシンは、識別情報モデルを使用してアルゴリズム的に通信し、通信をセキュア化することができる。
【０１６１】
光学識別子ＳＩＭカード又は同様のデバイスと統合される場合、シングマシンは、アドホックベースであってもオーバーレイネットワークにおいて一意の識別情報を有するシングとしてモデリングすることができる。シングは、ネットワークから外れ、ネットワーク内の他の場所に再び入り、それでもなお光学識別情報を保持することができる。
【０１６２】
光学識別情報は、ユーザ識別情報から別であることができる。これにより、シングマシンは、オーバーレイネットワークにおいてそれ自体を検証し、ネットワークで利用可能なコンテンツを使用して、ユーザの識別情報に基づいてそれ自体を再構成することができる。
【０１６３】
シングマシンは、アドホックベースであっても、ボキャブラリを動的に構成、再構成することができる。語彙の少なくともサブセットと存在論的コミットメントを共有する１組のシングマシンは、そのサブセット（又はサブセットの少なくとも一部）を使用してシングと対話することができる。ボキャブラリはシングとして表され、シングマシンは、ボキャブラリを構成及び再構成する動詞動作を有するため、シングマシンは学習することができ、その例を本明細書に提供する。
【０１６４】
例示を目的として本明細書において説明される例示的なＲＤＦシングを参照すると、以下の例示的な定義が該当する。
【０１６５】
グラフ−点と、点のいくつかの（可能な場合は空の）サブセットを結ぶ線との集まり。グラフの点は最も一般的に、グラフ頂点として知られるが、「ノード」又は単に「点」と呼ばれることもある。同様に、グラフの頂点を結ぶ線は最も一般的に、グラフエッジとして知られるが、「弧」又は「線」と呼ばれることもある。
【０１６６】
グラフノードはgraph:nodeと呼ばれる。グラフエッジはgraph:edgeと呼ばれる。エッジは、graph:edge-label（ラベル）と呼ばれるラベルを有することができる。
【０１６７】
有向グラフ−有向グラフとは、全てのエッジ（有向グラフエッジ）がある頂点から別の頂点に向けられるグラフ、すなわち、一緒に接続された１組のオブジェクト（頂点又はノードと呼ばれる）である。有向グラフは時折、ダイグラフ又は有向ネットワークと呼ばれる。
【０１６８】
有向グラフはgraph:directedと呼ばれる。
【０１６９】
有向グラフエッジは、graph:directed-edgeと呼ばれる。
【０１７０】
非有向グラフ−非有向グラフとは、全てのエッジ（非有向グラフエッジ）が双方向であるグラフ、すなわち、一緒に接続された１組のオブジェクト（頂点又はノードと呼ばれる）である。非有向グラフは時折、非有向ネットワークと呼ばれる。非有向グラフはgraph:undirectedと呼ばれる。非有向グラフエッジはgraph:undirected-edgeと呼ばれる。
【０１７１】
サブグラフ−サブグラフとは、頂点及びエッジが別のグラフのサブセットであるグラフである。
【０１７２】
ルートグラフ−ルートグラフとは、あるノードが開始（ルート）ノードとして区別される有向グラフである。
【０１７３】
本システム及び本方法によれば、ＡＢＮＦを使用して、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督されるシングの非可変構成要素の表現を記述する。加えて、ＲＤＦを使用して、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督されるシングの非可変構成要素及び可変構成要素の意味を更に示す。
【０１７４】
−ＡＢＮＦ
本明細書に提供される例示的な図では、以下示されるように、ＡＢＮＦ（augmented backus-naur form）仕様を使用して、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督されるシングを記述する。特に、以下、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督されるシング及びその非可変構成要素を記述する。
scheme:scheme-name = ALPHA*(ALPHA/DIGIT/“+”/“-”/“.”)
scheme:scheme-specific-part = これはスキーム固有である。スキーム固有部分についての詳細は、スキーム名に対応するＲＦＣを参照のこと。そのようなＲＦＣが存在しない場合、スキーム固有部分は、シング言語によって定義されるシング識別子に解析される。その他の場合、スキーム固有部分は、スキームに従ってトークン化される。
【０１７５】
以下のＡＢＮＦ規則が適用される。
thing:identifier = 1*1（scheme:scheme-name/scheme:scheme-specific-part）
thing:char-literal = char-val
thing:num-literal = num-val
thing:bin-literal = bin-val
thing:dec-literal = dec-val
thing:hex-literal = hex-val
thing:value = 1*(thing:char/thing:num/thing:bin/thing:dec/thing:hex)
【０１７６】
クラスｉｄは、シングのクラスを識別する。デフォルトクラスｉｄはＵＲＩであり、ＵＲＩによって識別されるシングは分類である。デフォルトはthing:thingである。
thing:class.id=URI
【０１７７】
thing:set(i)は、ｉである１組のシングである。一般的な組は、１組のシングであるthing:set.of（thing:thing）である。１組は重複した名前のシングを有さない。
thing:set.of(i)=0,*(i)
thing:list(i)は、クラスｉのメンバであるシングのリストである。一般的な組は、シングのリストであるthing:list.of(thing:thing)である。リストは重複した（ｉ）を有し得る。
thing:list.of(i)=0,*(i)
備考：一実施形態では、パラメータは、thing:value.of(i)、thing:name.of(i)、thing:thing(thing:name.of((thing:value.of(i)))等として参照することができる。
【０１７８】
−シングＲＤＦ
リソースディスクリプションフレームワーク（ＲＤＦ）とは、ウェブにおいて情報を表すための枠組みである。ＲＤＦ三つ組みは、３つの構成要素からなる：ａ）ＩＲＩ又は空白ノードである主語、ｂ）ＩＲＩである述語、及びＩＲＩ、文字、又は空白ノードである目的語。ＲＤＦ三つ組みは従来、主語、述語、目的語の順に書かれる。ＲＤＦグラフは１組のＲＤＦ三つ組みである。
【０１７９】
ＲＤＦ三つ組みは、シングを説明する以下のセクション及びシンググラフにおいて使用され、述語は、主語と目的語との関係タイプを示す。thing:is-a関係タイプは、主語が、目的語によって識別されるシングのクラスのメンバであることを示す。thing:has-a関係タイプは、主語が目的語によって与えられる非可変構成要素を有することを示す。なお、構成要素の値は変更可能であるが、構成要素は変更することができない。詳しくは関係タイプを参照のこと。
【０１８０】
参照Ｐ（ＴＭ（ｉ））は、シングマシンｓｕｂ−ｉのアルゴリズム手順への参照であり、ここで、ｉは、シングマシンの第２の手順からシングマシンの第１の手順を認定する識別子である。
【０１８１】
シングは、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督されるグラフ内のノードである。
thing:thing  thing:is-a  graph:node
【０１８２】
シングは、名前、値、クラス、及び関係セットを有する。ワールドワイドウェブに下位互換性を提供する好ましい実施形態では、名前空間シング名はsheme:nameである。Ｐ（ＴＭ（ｔｈｉｎｇ））は、シングを設定、取得、又はアンセットすることができる。
【数３】
2019537808.tif 000007
【０１８３】
以下の規則は、関係セットがゼロ以上の関係で構成されることを示す。関係がゼロの関係セットは空集合である。空集合である関係セットを有するthing:thingのルートthing:graphは、thing:thingの空のグラフ（thing:graph:empty）である。
thing:relationship-set = thing:set.of(thing:relationship(x,r,o))
【０１８４】
以下、規則ｓ、ｒ、及びｏは、以下を示すパラメータである：thing:subject(s)とthing:object(o)との間にrelationship-type(r)が存在する。Ｐ（ＴＭ（ｔｈｉｎｇ））は、関係を設定、取得、又はアンセットすることができる。
thing:relationship(s,r,o) = thing:subject(s)thing:relationship-type(r)thing:object(o)
【０１８５】
以下の規則は以下として解釈されるべきである：名前がｓに等しいシングがある。
thing:thing(s) = thing:thing、但し、is-equal.to = (thing:name.of(thing:thing),(s))
【０１８６】
以下の規則は以下として解釈されるべきである：名前がｓに等しく、且つ値がｖに等しいシングがある。
thing:thing(s,v) = thing:thing、但し、(is:equal.to = (thing:name.of(thing:thing),(s))であり、is:equal.to = (thing:value.of(thing:thing),(v)))
【０１８７】
一実施形態では、シングの構成要素は参照することができる。例えば、以下の規則は、シング［但し、［名前＝ａ］且つ［値＝ｂ］］として解釈される。
thing:thing(0,1[name = a]0,1[value = b]) = thing:thing  但し、
is:equal.to = (thing:value.of(thing:name),(s))であり、is:equal.to = (thing:value.of(thing:value),(v))
【数４】
2019537808.tif 000008
【０１８８】
以下、規則（ｓ，ｃ，ｏ）は、ｃによって与えられるクレームが（ｓ）及び任意選択的なthing:object(o)によって満たされることを示すパラメータである。シングとして、規則は、任意選択的な目的語（ｏ）があるような満足クレームｃがあるような主語シング（ｓ）があるとして解釈される。
thing:assert(s,c,o) = *(thing:subject(s) thing:predicate(c) thing:object(o))
【０１８９】
以下の規則は、パラメータ（ｉ）によって与えられるシングの名前構成要素の値に等しい。
thing:name.of(i) = thing:value.of((i):name)
【０１９０】
以下の規則は、パラメータ（ｉ）によって与えられるシングの値構成要素の値に等しい。
thing:value.of(i) = thing:value.of((i):value)
【０１９１】
以下は、例示的な関係タイプ（thing:relationship-type）である。
thing:is-a  主語シングは、目的語によって示されるクラスのメンバである。
thing:has-a  主語シングは、目的語によって識別される非可変構成要素を有する。
thing:sttia  目的語シングがあるような主語シングがある。
thing:sttiai  目的語シングのインスタンスがあるような主語シングがある。
thing:sttmb  目的語シングがあり得るような主語シングがある。
thing:sttina  目的語シングがないような主語シングがある。
thing:parent  目的語シングは主語シングの親である。
thing:child  目的語シングは主語シングの子である。
thing:next  目的語シングは主語シングの次の兄弟である。
thing:prior  目的語シングは主語シングの前の兄弟である。
【０１９２】
thing:is及びthing:is.notアサートは、thing:predicate満足クレームである。満足クレームは、
thing:expression = thing:subject thing:satisfaction-claim 0,1(thing:object)
によって与えられる表現の形態であり得る。
【０１９３】
満足クレームは、クレームに対して作用するthing:verbによってアサートされる。これにより、１組のアクセス可能な満足クレームは、特定の実施形態について自己構成することができる。満足クレームのサブセットは、以下を含む。
thing:is.lt  主語シングの値は、目的語シングの値未満である。
thing:is.lteq  主語シングの値は、目的語シングの値以下である。
thing:is.eq  主語シングの値は、目的語シングの値に等しい。
thing:is.gteq  主語シングの値は、目的語シングの値以上である。
thing:is.gt  主語シングの値は、目的語シングの値よりも大きい。
thing:is.not.empty  主語シングの値は空ではない。
thing:graph(s)は、thing:subject(s)のグラフである。thing:graph(monad)は関連するシングのスーパーグラフである。
【数５】
2019537808.tif 000009
【０１９４】
thing:class(class.id)は、thing:name class.idによって与えられるthing:thingである。これは、そのクラスのコンテキスト内に存在する規律への関係を有する。
【数６】
2019537808.tif 000010
【０１９５】
例示的なthing:classには、
ａ）thing:class(thing:char)、
ｂ）thing:class(thing:num)、
ｃ）thing:class(thing:bin)、
ｄ）thing:class(thing:dec)、
ｅ）thing:class(thing:hex)
がある。
【０１９６】
例示的な規律には、
ａ）thing:discipline(c,thing:set)
ｂ）thing:discipline(c,thing:get)
ｃ）thing:discipline(c,thing:unset)
がある。
【０１９７】
一実施形態は、Ｐ（ＴＭ（ｄｉｓｃｉｐｌｉｎｅ（ｃ，ｄ）））を修飾する１組の修飾語句を追加することができる。例示的な修飾語句には、
ａ）thing:before(thing:discipline(c,d),thing:urr(u))
ｂ）thing:as(thing:discipline(c,d),thing:urr(u))
ｃ）thing:after(thing:discipline(c,d),thing:urr(u))
がある。thing:before urrは、thing:disipline(c,v)よりも前に評価され、満足される場合、次にthing:discipline(c,v)が評価される。
thing:as urrは、まるでG(urr(d))であるように評価される。
thing:after urrは、G.urr(d)又は指定される場合、thing:as urrの評価に成功した後、評価される。
【０１９８】
規律への適切な関係を用いて、クラスthing:class(class.id)グラフを構成することにより、新しい分類が構成される。
【０１９９】
thing:verbは、解決されて、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））が実行させることができる実行可能な動作にすることができる、実行可能な動作への参照の表現があるようなＰ（ＴＭ（ｔｈｉｎｇ））によって監督されるthing:thingである。Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））は、実行可能な動作を実行させることによりthing:verbを実行すると言える。
【数７】
2019537808.tif 000011
【０２００】
thing:urr(i)は、Ｐ（ＴＭ（ｉ））の実行を要求するユニフォームリソース要求である。Ｐ（ＴＭ（ｉ））動作は、thing:urr(i)の値を、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））が実行することができる実行可能な動作にバインドする。例示的な実施形態では、これは、非一時的メモリにおける命令のアドレスへのバインドを含むことができ、実施形態は、fork、exec、pthread_create、connect、open、send、write、receive、read、close、wait、及び／又はdisconnect等の１つ又は複数のオペレーティングシステム呼び出しの使用を更に特徴とし得る。
【０２０１】
Ｐ（ＴＭ（ｉ））を実行する要求を評価するに当たり、Ｐ（ＴＭ（ｅｖａｌ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｉ））を決定し、Ｐ（ＴＭ（ｉ））にアクセス可能であるために必要なＰ（ＴＭ）シングのグラフをアルゴリズム的に準備する。一実施形態では、上記グラフは、Ｐ（ＴＭ（ｉ））動作の持続時間中、特に生成される要求名前空間のコンテキストにおいて生成され、応答がある場合、応答は、応答名前空間のコンテキストにおいて設定される。これにより、Ｐ（ＴＭ（ｅｖａｌ））は、新しいコンテキストをＰ（ＴＭ（ｉ））のコンテキストスタックにプッシュし、応答名前空間とアルゴリズム的に対話して、それに従ってＰ（ＴＭ（ｔｈｉｎｇ））によって監督されるシングを更新することができる。
【０２０２】
thing:verb.vocabularyは、１組のthing:verbへの関係があるようなthing:thingである。
【数８】
2019537808.tif 000012
【０２０３】
thing:urr(i)の対応する実行可能な動作は、Ｐ（ＴＭ（ｉ））によって実行されて、動詞ボキャブラリの動詞シングを構成する。
【０２０４】
例示的なthing:relationship
以下に、シング関係の一実施形態を更に示す。図１９の有向グラフにより示されるように、ｘという名前のシングは、ｙという名前のシングの前身であり、ｙは、ｘという名前のシングの後継であり、述語は、thing:sttiaとして示される関係があるようなシングである。英語の解釈は、名前がｘに等しいシングがあり、そこには、名前がｙに等しいシングがある。「そこには〜がある（such that there is a）」関係は、thing:sttiaエッジラベルで示される。
【０２０５】
図２０の有向グラフにより示されるように、ｘという名前のシングは、ｚという名前のシングの前身であり、述語は「そこにはインスタンスがある（such that there is an instance」であり、これは、thing:sttiaiとして示されている。英語の解釈は以下である：名前がｘに等しいシングがあり、そこには名前がｚに等しいシングのインスタンスがある。
【０２０６】
図２１の有向グラフにより示されるように、英語の解釈は以下として与えられる：名前がｘに等しいシングがあり、そこには名前がｙに等しいシングがあり、そこには名前がｚに等しいシングがあり、そこには名前がｘに等しいシングへの参照がある。そこには〜への参照がある（such that three is a reference to）関係は、thing:sttiartエッジレベルで示されている。参照は、リストとして解釈することができるＵＲＩ形態であることができる。
【０２０７】
図２２の有向グラフにより示されるように、ｘという名前のシングはthing:tableである。次のエッジ及び最後のエッジの対並びに親子エッジ対を使用して、グラフはいずれの方向にもトラバースすることができる。
【０２０８】
図２３の有向グラフにより示されるように、多数のシングは、１つのシングへの関係を有する。
【０２０９】
図２４の有向グラフにより示されるように、ｘという名前のシングは、「ｃ」という名前のシングのクラスのメンバである。
【０２１０】
述語は、シングの非可変構成要素についての関係を示すことができる。図２５の有向グラフにより示されるように、関係は、「ｘ」という名前のシングの名前が、「ｂ」という名前のシングのクラスのメンバであることを示す。
【０２１１】
図２６の有向グラフにより示されるように、関係は、ｘという名前のシングの値が「ｃ」という名前のシングのクラスのメンバであることを示す。
【０２１２】
以下は、グラフ内のシングの監督においてＰ（ＴＭ（ｔｈｉｎｇ））によって監督される例示的なシングである。
【０２１３】
thing:monad−モナドは、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督される他の全てのシングを識別することができる最初のシングである。有向グラフのノードはシングであり、有向エッジラベルは、結ばれたシング間に保たれる命題である。モナド有向グラフは、シングマシンの状態を示す。モナドは、「thing:sttia」として示される有向エッジラベル「そこには〜がある（such that，there is a）」を用いてコンテキストシングに向けられたエッジと結ばれる。
【０２１４】
thing:context−コンテキストシングは、スタックとして編成された１組のシングを表し、ここで、スタックの最上部は、現在のコンテキストを表すシングである。新しいコンテキストシングは、アルゴリズム的にスタックに押し込み得、又はアルゴリズム的にスタックから押し出して、現在のコンテキストを変更し得る。コンテキストシングのインスタンスは、そのコンテキストの範囲内の名前空間である１組のシングの有向グラフのルートである。
【０２１５】
thing:namespace−名前空間は、単に同じ名前空間のメンバであることにより関連する場合であっても、何らかの方法で論理的に関連するシングの名前付きグラフを表すシングである。グラフの名前は、国際リソース識別子（ＩＲＩ）スキームの命名要件に準拠する。名前空間のルート有向グラフは、ルートとして名前空間シングを開始し、接続されるノードは、名前空間シングによって認定されたシングである。有向エッジラベルは、接続されたシング間で維持される関係を示す。
【０２１６】
コンテキストシングは、１組の利用可能な名前空間シングを認定する。例示的な名前空間は、要求、応答、ローカル、サービス、コア、及びブートの名前空間を含む。追加の名前空間は、Ｐ（ＴＭ（ｔｈｉｎｇ））の動作を通して構成することができる。以下のグラフは、コンテキストの各名前空間に当てはまり、グラフの非命名ノードは、コンテキストによって認定される名前空間にバインドされる。図２７の有向グラフにより示されるように、コンテキストは、要求、応答、及びローカルの名前空間を含む。一実施形態は１組の名前空間を自己構成することができる。
【０２１７】
例示的な名前空間を以下の表３により提供する。
【０２１８】
【表３】
2019537808.tif 000013
【０２１９】
ＩＲＩから名前空間シングへのマッピング
ＩＲＩスキーム名は名前空間シングにマッピングされ、次に、ＩＲＩのスキーム固有部分は、特定の名前空間の規則に従ってマッピングされる。デフォルト挙動は、ドット（「．」）キャラクタ区切り文字を使用して、「そこには〜がある（such that there is a）」関係を示し、括弧区切り文字（「［」及び「］」）を使用して、「そこには〜のインスタンスがある（such that there is an instance of）」関係を示す。例えば、reference:request:statement[1].wordは、
名前が「request」に等しい名前空間シングがあり、そこには、名前が「statement」に等しいシングがあり、そこには、名前が「1」に等しいシングのインスタンスがあり、そこには、名前が「word」に等しいシングがある
として解釈される。
【０２２０】
シンググラフデータモデルセクションで述べたように、全ての永久的ＵＲＩスキームは、インターネット割当番号公社によって公開されているように、確保された名前空間名である。確保されている名前空間の完全なリストは、http://www.iotnamespaces.com/reservedにおいてオンラインで公開されている。確保された名前空間へのＩＲＩのマッピングも、www.iotnamespace.com/mappingsにおいて入手可能である。
【０２２１】
ＸＭＬを使用してのシングの識別
基本ＸＭＬは、名前空間において解析されバインドされる。これは、基本ＸＭＬフォーマットを使用する、ＵＲＬhttp://w1.weather.gov/xml.current_obs/inex.xmlによって識別される気象サービス等のサービスにとって重要である。マッピングを示すために、
【数９】
2019537808.tif 000014
として与えられるフラグメントを考える。単純なＸＭＬを解析すると、表４に示される以下の三つ組みが真である。
【０２２２】
【表４】
2019537808.tif 000015
【０２２３】
基本ＸＭＬマッピングでは、要素はシングにマッピングされ、属性は、そのシングの属性のインスタンスとしてマッピングされる。
【０２２４】
ＸＭＬスキーマ定義
気象測定所ＸＭＬデータを使用する前例から、local:station.xml_urlシングは、測定所のローカルデータを表すリソースを識別する値を有する。そのリソースを検索するに当たり、部分的に、
【数１０】
2019537808.tif 000016
を含むＸＭＬバージョン１．０文書であることを発見した。
【０２２５】
ＸＭＬを解析するに当たり、デフォルト動作は要素をシングとして解釈し、属性をそのシングについての属性のインスタンスとして解釈する。表５に示される以下の三つ組みは真である。
【０２２６】
【表５】
2019537808.tif 000017
【０２２７】
正式なアサートとして、三つ組みは、
名前が「current_observation」に等しいシングがあり、そこには、
名前が「xmlns:xsd」に等しく、且つ
値が「http://www.w3.org/2001/XMLSchema」に等しいシングのインスタンスがあり、
且つ
名前が「xmlns:xsi」に等しく、且つ
値が「http://www.w3.org/2001/XMLSchema-instance」に等しい
シングのインスタンスがあり、
且つ
名前が「xsi:noNamespaceSchemaLocation」に等しく、且つ
値が「http://www.weather.gov/view/current_observation.xsd」に等しい
シングのインスタンスがある
として表現することができる。
【０２２８】
ＸＳＤ参照は、ＸＳＤスキーマを検索できるようにし、それにより、目的語の要素、サブ要素、及び属性の有効な構造をシングとして名前空間において表すことができる。
【０２２９】
ＸＭＬ名前空間
ＸＭＬでは、認定された名前は、名前空間解釈を受ける名前である。要素及び属性の両方が、認定された名前である。ＸＭＬ名前空間仕様に従ってＸＭＬ文書を解析する場合、文書は解析されて要求名前空間になり、検証され、シング名として認定された名前を使用して文書の構造を保持する。例えば、以下に与えられるＸＭＬ文書を考える。本の要素は２つの名前空間属性を含む：第１の名前空間属性はデフォルトＸＭＬ名前空間を定義し、第２の名前空間属性はｉｓｂｎ  ＸＭＬ名前空間を定義する。ＸＭＬ１．１仕様では、ＩＲＩは検証されたＩＲＩである必要はなく、むしろ、シンタックス的に正確なＩＲＩとしてＩＲＩを指定する必要がある。したがって、解析動作は、ＸＭＬ  ＩＲＩ参照をシング名前空間にマッピングしない。
【数１１】
2019537808.tif 000018
略式表記を使用して、表６により示される以下が真である。
【０２３０】
【表６】
2019537808.tif 000019
【０２３１】
正式な満足クレームは以下である。
名前が「request」に等しい名前空間シングがあり、そこには、
名前が「book」に等しいシングがあり、そこには、
名前が「xmlns」に等しく、且つ
値が「urn:loc.gov:books」に等しいインスタンスがあり、且つ
名前が「xmlns:isbn」に等しく、且つ
値が「urn:ISBN:0-395-36341-6」に等しいインスタンスがある。
【０２３２】
シング言語
シンググラフモデルでは、全てのシングはシングである。シングによっては、名前空間であるものもあれば、動詞であるものもあり、動詞動作が作用することができるシングであるものもある。動詞と、動詞が作用することができる１組のシングとの関係は、シング動詞グラフとして表現される。
【０２３３】
分類により、意図される動作の意味を推測することができる。しかしながら、意図される動作がシング及び時間単位を使用して何かを「設定」することである以下のステートメント例では、ステートメントごとに必要とされる動作はかなり異なる。
タイマを６：００分に設定
クロックを６：００ＡＭに設定
アラームを６：００ＰＭに設定
【０２３４】
解析動作が実行されて、thing:graphシンググラフとしてステートメントを解析する。評価動作は、動詞ボキャブラリグラフのコンテキストにおいてthing:graphを評価して、候補動詞を選択する。評価動詞動作は、要求グラフ内のシングを候補動詞グラフ内のシングにバインドして、実行する必要がある動詞グラフのインスタンスを識別する。実行動作がトリガーされて、バインドされたシングのコンテキストにおいて、識別された動詞動作を実行させる。
【０２３５】
シングステートメント
シング言語は、命令文構造及び宣言文構造の両方を提供する。一般的に、最小ブートボキャブラリは命令文の使用に適し、一方、より表現的なコアボキャブラリでは、宣言文の使用が可能である。シングステートメントのＡＢＮＦ定義を以下に提供する。ＡＢＮＦシンタックスはＲＦＣ２２３４において定義されている。
【数１２】
2019537808.tif 000020
【０２３６】
一例として、以下の命令文は、シングマシンに、リストrequest:my.nameによって識別されるシングを値Johnに設定させるように命令する。
set=(request:uri=”request:my.name” request:value=”John”)
【０２３７】
Ｐ（ＴＭ（ｂｉｎｄ））動作を使用して、上記ステートメントが
set=(request:my.name=”John”)
として指定することができるように、動作が作用することができるシングにリストをバインドすることができる。
【０２３８】
一般に、同じシンタックスがシング言語のあらゆるステートメントに適用される。なお、動詞動作が作用することができるシングは、区切り文字「（」及び「）」内に含まれる。
【数１３】
2019537808.tif 000021
【０２３９】
シング言語のこの単純なシンタックスは、他言語に容易に翻訳される。例えば、上記ステートメントは、以下のようにＪＳＯＮにおいて表現することができる。
【数１４】
2019537808.tif 000022
【０２４０】
同様に、ステートメント例は、ＴＨＩＮＧ／ＸＭＬを使用して表現することができる。
【数１５】
2019537808.tif 000023
【０２４１】
パーサ動作がデータを解析してthing:graphにすることができる限り、任意の数の言語及びシンタックスが使用可能である。
【０２４２】
以下に示されるように、マルチパートデータがサポートされる。この例では、設定という動詞に基づく単純なステートメントを提示する。なお、request:listingは指定されない。評価動詞動作は、request:graph及び動詞ボキャブラリ内の対応する動詞グラフと対話して、request:graph内のシングを、動詞が対話することができるシングにバインドする。この例では、request:listingの値はrcd:Contactにデフォルト設定され、request:classの値はthing:thingにデフォルト設定される。
【数１６】
2019537808.tif 000024
【０２４３】
上記ステートメントは以下に等しい。
【数１７】
2019537808.tif 000025
【０２４４】
宣言文は、命令文と同じ一般シンタックスに従う。違いを示すために、３つの命令文を使用して、リストpainting:Galleryを自動インスタンス化シングとして初期化する単純な例から始める。thing:auto-instanceとして分類されるシングは、シングが設定動詞動作で使用される都度、新しいインスタンスを自動的に追加させる。
【数１８】
2019537808.tif 000026
【０２４５】
次に、以下の宣言文を使用して、各ステップの詳述を必要とせずに、何が欲しいのかを表現する。
【数１９】
2019537808.tif 000027
上記の出力は、
Van Gogh  Almond Blossom
Ylli Haruni  Cherry Blossom
として与えられる。
【０２４６】
名前空間範囲
名前空間は、単に同じ名前空間のメンバであることにより関連する場合であっても、何らかの方法で論理的に関連するシングの名前付きグラフを表すシングである。名前空間シングはコンテキストシングによって認定され、グラフの名前（名前空間の名前）は、ＩＲＩスキームの命名要件に準拠する。全ての永久的ＵＲＩスキームは、インターネット割当番号公社によって公開されているように、確保された名前空間名である。
【０２４７】
分類
シングは、シングのクラスのメンバであるものとして分類することができる。全てのシングはシングである。シングによっては、整数であるものもあれば、浮動小数であるものもあれば、集合であるものもある等である。名前空間システムは、１組のコアクラスを用いて自己組織化され、１組のコアクラスには追加のクラスが存在することができる。第２章は、クラスについて詳細な情報を提供する。
【０２４８】
以下の例は、設定動作を実行し、以下として解釈される：名前がlocalに等しいシングがあり、このシングが、名前がscoresに等しいシングがあるような名前空間である。
・set=(listing=”local:scores”)
以下の例は、浮動小数点数としてスコアを設定する要求を記述する。
・set=(class=float listing=”local:scores” value=”83.25”)
【０２４９】
通信プリミティブ
通信プリミティブとは、通信のインターフェースを提供するシングである。プリミティブにより、接続、送信、受信、及び切断等の一般的な動作が可能になる。様々なタイプの通信の通信プリミティブが提供され、ウェブシング、ソケット、ファイル、ＲＳ２３２、ＵＲＩスキーム、及びユニフォームリソース要求リストを含む。
【０２５０】
通信ポイント
通信ポイントとは、通信プリミティブが、通信を発生させるために対話するシングである。
通常ローカルファイル
【数２０】
2019537808.tif 000028
暗号化されていない標準の電子メールを使用する
【数２１】
2019537808.tif 000029
暗号化されたアクティブ名前空間を使用する
【数２２】
2019537808.tif 000030
【０２５１】
ステートメント
シング言語では、ステートメントは動詞及びゼロ以上のオブジェクト名＝表現ペアを含む。各表現は、値表現又は名前＝表現ペアである。バインダは、ドットで区切られた動詞修飾語句をバインドすることができる。
【数２３】
2019537808.tif 000031
【０２５２】
名前式は、名前式を含む名前によって認定される。したがって、ａ＝（ｂ＝１）は、名前がａに等しいシングがあり、そこには、名前がｂに等しく、且つ値が１に等しいシングがある、として解釈される。ａ＝（ｂ＝１  ｃ＝２）等のマルチパートステートメントは、名前がａに等しいシングがあり、そこには、名前がｂに等しく、且つ値が１に等しいシングがあり、且つ名前がｃに等しく、値が２に等しいシングがある、として解釈される。
【０２５３】
値式は文字であり、引用符で囲み得る。スペースキャラクタを含む文字値は、引用符で囲まなければならない。したがって、ａ＝house、ａ＝”house”、ａ＝’house’は同等である。同様に、ａ＝”red house”、及びａ＝’red house’も同等である。
【０２５４】
数式は、二重括弧で囲まれ、引用符で囲む必要は無い。一例として、ａ＝（（１０＋−２＊（６／３）））。演算の通常順序が適用され、式は括弧で閉じ得る。関数はサポートされず、数学動詞はサポートされる。したがって、ａ＝（（２＊ｓｑｒｔ（４）））は、ｓｑｒｔが数学動詞ボキャブラリ内の動詞である限り、予想通りに評価される。
【０２５５】
ステートメントを明示的に表すために、フォーマットは、
【数２４】
2019537808.tif 000032
である。
【０２５６】
動作ブロック
動作ブロックとは、１単位として評価されるべき一連のステートメントである。これにより、名前空間システムはブロックを実行することができ、論理に真及び偽型ステートメントに対処できるようにする。動作ブロックの一般的なシンタックスは、
【数２５】
2019537808.tif 000033
である。
【０２５７】
以下の例では、単純な動作ブロックシーケンスが、
【数２６】
2019537808.tif 000034
において提供される。
【０２５８】
条件
名前空間システムは、動作の条件付き評価を提供する。IF、ELSE-IF、及びELSE条件がサポートされる。
【数２７】
2019537808.tif 000035
【０２５９】
反復
反復は、for及びwhile条件動詞動作によって可能になる。
【数２８】
2019537808.tif 000036
【０２６０】
設定
設定動詞動作は、request:classとして識別される分類の規則に従って、request:listingの値によって当たられるシングを設定する。クラスが明示的に指定されない場合、評価動詞動作は、ステートメント内のシングに基づいて適切な分類を決定する。
【０２６１】
以下のステートメントでは、分類はrequest:class=”thing:thing”にデフォルト設定され、対応する動詞グラフを図２８に示す。
【数２９】
2019537808.tif 000037
【０２６２】
以下のステートメントでは、分類はrequest:class=”thing:alarm”にデフォルト設定され、対応する動詞グラフを図２９に示す。
【数３０】
2019537808.tif 000038
【０２６３】
設定の動詞ステートメントをここに示す。新しい分類が追加されるにつれて、追加の動詞動作は、分類の意味をサポートする必要があり得、これらは動詞修飾語句を使用してボキャブラリに追加し得る。
【数３１】
2019537808.tif 000039
【０２６４】
thing:graph−thing:graphは、シング及びそれに関連するシングの有向グラフであり、可能な全てのシング及びルート有向グラフからのそれらの関係のサブグラフとして表現し得る。非命名動詞レベルは、thing:identifierとして解釈される。その他の場合、１つ又は複数の命名された非可変構成要素及び表現は、頂点レベルとして使用し得る。好ましい実施形態では、かかる区別が求められる場合、Name:name及びValue:valueが、thing:identifier及びthing:valueを示すためにそれぞれ使用される。
thing:graph内の非命名頂点は、非命名頂点有向グラフを満たす非命名頂点がもしあれば、その非命名頂点の前身によって認定される会話領域内の１組のシングである。
thing:subgraph−Ｐ（ＴＭ（ｉ））は、モナドルート有向グラフのthing:subgraphに対して作用し得る。
thing:statement−評価するステートメントを表すthing:graph。
thing:statement.declarative−宣言thing:statement。
thing:statement.imperative−命令thing:statement。
thing:statement.interrogative−疑問thing:statement。
thing:statement.exclamatory−感嘆thing:statement。
thing:listing−リストは、シングへの参照の表現である。認定リストは、名前空間への参照の表現を含み、一般フォーマット「namespace:namespace-specific-part」を有し、フォーマットは「scheme:scheme-specific part」で構成されるＵＲＩと同等である。非認定リスト（非バインドリストとも呼ばれる）は、Ｐ（ＴＭ（ｂｉｎｄ））によってアルゴリズム的に認定することができる。thing:listは、Ｐ（ＴＭ（ｔｈｉｎｇ））のアルゴリズム動作によって解決される。
【０２６５】
名前固有部分は、所与の名前空間の取得、設定、及びアンセット規律の使用を通して解決することができる。これにより、述語アルゴリズム動作は、名前空間固有部分の解釈が、モデリング中の名前空間に依存する場合であっても、参照を解決することができる。
【０２６６】
自由変数
シングへの参照の表現は自由変数と見なされる。Ｐ（ＴＭ（ｂｉｎｄ））は、コンテキストによって定義される１組のシング内の参照をアルゴリズム的にバインドする。thing:graphをトラバースする際、シングのコンテキストは、会話領域内のシングの現在の範囲内で適用可能なシングを反映するように、アルゴリズム的に更新される。以下のアサートを考える。
シングがあり、そこには名前がContactに等しいシングがあり、且つ名前がEmailに等しいシングがある。
【０２６７】
オープニング参照「シングがあり、そこには」は、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督される会話領域内の可能な全てのシングが、現在の組のシング内にあると見なされることを示す。次に、Ｐ（ＴＭ（ｂｉｎｄ））は、制限「そこには名前がContactに等しいシングがあり、且つ名前がEmailに等しいシングがある」が保たれない現在の組内の全てのシングを不適格とする。
【０２６８】
図３０を参照すると、Ｇ．ｒｅｑｕｅｓｔ（Ｐ（ＴＭ（ｉ）））は、Ｐ（ＴＭ（ｉ））が、要求名前空間において認定されたシングに対して動作することができることを示す。非命名ノードは、Ｐ（ＴＭ（ｉ））が、名前によってシングを識別せずに、要求名前空間内で認定された幾つかのシングに対して動作することができることを示す。
【０２６９】
図３１を参照すると、Ｇ．ｒｅｑｕｅｓｔ（Ｐ（ＴＭ（ｉ）））は、Ｐ（ＴＭ（ｉ））が、要求名前空間において認定されるステートメントという名前のシングによって認定されるコンタクトという名前のシングに対して作用することができることを示す。
【０２７０】
図３２を参照すると、例示的なＧ（Ｐ（ＴＭ（ｉ））は、Ｇ．ｒｅｑｕｅｓｔ（Ｐ（ＴＭ（ｉ）））サブグラフを含むルート有向thing:graphであり、Ｇ．ｕｒｒ（Ｐ（ＴＭ（ｉ）））サブグラフは、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））が、動作を実行するようにＰ（ＴＭ（ｉ））にいかに要求すべきかを示す。なお、request:statement.Thingの構成要素は、http://www.schema.org/Thingによって定義されるシングスキーマの構成要素を満たす。
【０２７１】
ユニフォームリソース要求
ユニフォームリソース要求（ＵＲＲ）シングは、実行可能な動作が実行すべき要求としてＰ（ＴＭ（ｔｈｉｎｇ））によって解釈することができるＵＲＩである。例として、
【数３２】
2019537808.tif 000040
である。
【０２７２】
ＵＲＲと従来のＵＲＩとの区別は、ＵＲＲが、サーバが識別されたリソースを提供する要求の代わりに、thing:namespace内のシングのコンテキストにおいて評価されることである。
【０２７３】
stdlib:loadシングは、実行可能な動作が対応するライブラリを動的にロードし、実行可能な動作としてエントリシングの値への参照を解決し、その動作を実行するアクティブシングである。動作は通常、dlopen()及びdlsym()呼び出し又はWindows、Linux、ＢＳＤ、iOS、若しくは他のそのようなオペレーティングシステムでの同等の呼び出しを使用して実施される。http://pubs.opengroup.org/onlinepubs/009695399/functions/dlopen.htmlを参照のこと。
【０２７４】
動作の実行からの応答は、シングマシンに、ロードされた動作に挿管するthing:verbを構成するように要求する１組のthing:statementである。Ｐ（ＴＭ（ｂｉｎｄ））を使用して、dlsym()又は同等のオペレーティングシステム呼び出しを使用して、実行可能な動作へのエントリポイント参照をバインドすることができる。
【０２７５】
stdlib:unloadシングは、実行可能な動作が対応するライブラリをアンロードするアクティブシングである。動作は通常、dlcloseを使用して実施される。http://pubs.opengroup.org/onlinepubs/009695399/functions/dlclose.htmlを参照のこと。
【０２７６】
ＵＲＲを使用する場合とＵＲＩを使用する場合でのクライアントリソース解決とサーバリソース解決との区別に留意することに注意を払わなければならず、ＵＲＲはシングマシンによってリソースに解決され、それに対して、ＵＲＩは一般に、サーバによってリソースに解決される。
【０２７７】
Ｐ（ＴＭ（ｉ））は、ＵＲＲを生成し、Ｐ（ＴＭ）に、適切な動作を評価し実行するように要求することができる。一例として、Ｐ（ＴＭ（ｐａｒｓｅ））はコンテンツと対話して、コンテンツを解析し、パーサ動作が理解しないフォーマット又は言語であることを発見することができる。そのような場合、Ｐ（ＴＭ（ｐａｒｓｅ））は、コンテンツを解析可能であり得る第２のＰ（ＴＭ（ｉ））動作の評価及び実行を要求することができる。
【０２７８】
通信機能を有する第１のシングマシンは、シング（又はシングのコンテンツ）を識別する要求を第２のシングマシンに通信することができる。第２のシングマシンは、何かが何を表しているか、それに作用することができる動作、及び／又はそれを使用して実行することができるタスクを第１のシングマシンに教えることができる。
【０２７９】
コアＰＯＳＩＸボキャブラリ
コアＰＯＳＩＸ．１−２００８は、コマンドインタプリタ（又は「シェル」）及びソースコードレベルでのアプリケーションポータビリティをサポートする共通ユーティリティプログラムを含め、標準オペレーティングシステムインターフェース及び環境を定義する。アプリケーション開発者及びシステム実装者の両者による使用が意図される。http://pubs.opengroup.org/onlinepubs/9699919799/を参照のこと。
【０２８０】
コアボキャブラリはＰＯＳＩＸ．１−２００８システムＡＰＩに従うが、現在、全てのアプリケーションプログラミングインターフェースが提供されているわけではない。パラメータはシングであり、適切な場合、文字列と実際の整数との変換は、対応する動詞動作によって提供される。シングの実施形態は、システム固有データの非可変構成要素を含み、それにより、必要な場合、データ構造へのポインタを提供することができる。例として、unlink()関数を定義するＰＯＳＩＸ規格は、「int unlink (const char*path」として定義され、これは、リストrequest:pathによって識別されるシングに対して作用する、「unlink」という名前の動詞動作として実施される。実施形態では、関数は、動詞シング（すなわち、thing:verbs）として実装され、動詞名前空間において構成されるが、ＰＯＳＩＸ等の適した名前空間を代わりに使用してもよく、参照を解決するコンテキストが適宜設定される。アプリケーション領域に固有のアルゴリズム手順を構成することができる。例えばhttp:get等の一般に使用される動詞動作は、ＨＴＴＰプロトコルのＧＥＴメソッドを使用して、ＵＲＩによって指定されたリソースを検索するように構成することができる。
【０２８１】
実行可能ファイルは、プロセス間通信又は標準ファイル記述子を使用して動詞動作として構成することができる。例えば、/bin/date(1)コマンドはUnix及びLinuxコミュニティでは周知であり、構成することができるが、解析を実装するために、出力を解析して適したフォーマットにする必要があり得る。例えば、リストbin:dateは、別個のアドレス空間における/bin/date実行可能ファイルをexec(2)して、出力を応答の値としてパイプする実行可能な動作を有することができる。URR bin:date//response:as=”data:date”は、bin:date動詞動作を実行する要求及びリストdate:dateによって与えられるシングの値として構成される応答（コマンドの標準出力から読み取られる）として解釈される。
【０２８２】
明確に定義された１組の動詞動作を使用して、タスクシーケンスをソースコードに変換することができ、ソースコードは、実行可能ファイルとしてコンパイルされ実行することができ、ステートメントを評価しシングをバインドするステップをなくすことができる。
【０２８３】
thing:machine
シングマシンの一実施形態を記述するシングは、thing:machineである。図６６を参照すると、Ｐ（ＴＭ）は、Ｐ（ＴＭ）に望まれる構成を記述するシング言語で表現されたコンテンツを解析する。Ｐ（ＴＭ）はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ）を表すthing:graphを構築し、上記thing:graphはthing:machineシングである。
【０２８４】
公開鍵基盤の当業者は、認証動作を実施して、Ｘ５０９証明書、デジタル署名の使用、並びにＯｐｅｎＳＳＬ識別情報、認証、及び認可アルゴリズム動作の使用による等のコンテンツの真正性を保証することができる。
【０２８５】
図６６を参照すると、thing:machineを記述するthing:graphは、
ａ）ブートボキャブラリ、
ｂ）コアボキャブラリ、及び
ｃ）アプリケーションランタイムボキャブラリ
並びに
ｄ）ハードウェアシング及び
ｅ）オペレーティングシステムシング
を含む１組からの任意選択的なシングを含め、ボキャブラリを示す１組のシングで構成される。
【０２８６】
なお、ハードウェアシングは、プロセッサを記述するプロセッサシング及び１つ又は複数の構成要素シングを含むことができる。ハードウェアシングはボキャブラリシングを含むことができる。
【０２８７】
ボキャブラリを記述する１組のシングは、
ａ）動詞ボキャブラリ実行可能動作のロードを要求するユニフォームリソース要求、
ｂ）thing:verbsのthing:graphを記述するコンテンツ、
ｃ）ボキャブラリのリスト、
ｄ）必須条件シング、
ｅ）規律シング、
ｆ）作者を識別するシング、
ｇ）所有者とは別個であり得る販売業者を識別するシング、
ｈ）作者とは別個であり得る所有者を識別するシング、
ｉ）コンテンツの認証に使用されるシング、
ｊ）コンテンツの使用を認可する際に使用されるシング、及び
ｋ）http://www.schema.org.SoftwareApplicationからのプロパティ
で構成することができる。
【０２８８】
なお、アプリケーションボキャブラリＵＲＲは、thing:statementsとしてファイルを読み取り解析する動作を実行するstdfile:parseを使用して、評価する。実施形態では、ステートメントは、構成すべき１組のタスク、ランタイムタスク、及び提供する１組のサービスを含む。実施形態では、タスク並びに動作ブロック及びタスクを含むサービスは、タスクの動作ブロックを実行することによって実行される。同様に、サービスは、サービスの動作ブロックを実行することによって提供される。当業者は、多数のタスク及びサービスを構成することができる。
【０２８９】
以下は、シング言語で表現されるコンテンツの例であり、上記コンテンツはＴＭ（ｉ）を記述する。
【０２９０】
ＴＭ：ＲａｓｐｂｅｒｒｙＰｉ３
以下は、シング言語で表現されるコンテンツの例であり、上記コンテンツはＴＭ（ｉ）を記述する。
【数３３】
2019537808.tif 000041
【０２９１】
ＴＭ（ＲａｓｐｂｅｒｒｙＰｉ３）は、以下の動作を含むＰ（ＴＭ）を実行するよう構成される計算機である：自己構成されたthing:machine.boot.vocabulary実行可能動作を実行して、thing:machine.hardware.component.partsと対話し、thing:machine.application.vocabularyを構成し、アプリケーションランタイムを実行するようにthing:machine.core.vocabularyを構成する。
【０２９２】
ＴＭ（ＡＭＳ．ＴＭＤ２６７２３）
以下は、シング言語で表現されるコンテンツの例であり、上記コンテンツはＴＭ（ｉ）を記述する。ＴＭＤ２６７２３は、AMS Corporationによって提供される光学モジュール１．８ｖ  １２Ｃインターフェース（http://www.ams.com参照）におけるデジタル近接性検出器、ＬＥＤドライバ、及びＩＲ  ＬＥＤである。製品データシートは、http://ams.com/eng/content/download/364923/1210537/207915において入手可能である。
【数３４】
2019537808.tif 000042
【０２９３】
ＴＭ（ＡＭＳ．ＴＭＤ２６７２３）は、データシートにより指定されるように構成されたｉ２ｃ通信を使用し、以下の表７に列挙されるＰ（ＴＭ（ＡＭＳ．ＴＭＤ２６７２３）））動作を提供するＴＭ２６７１と対話するように構成される計算機である。
【０２９４】
【表７】
2019537808.tif 000043
【０２９５】
なお、好ましい実施形態では、Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話して、Ｐ（ＴＭ（ｉ））動作が作用することができるシングにアクセスして対話する。Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｉ））動作によって許される値の範囲内にない任意の値に対してステータスをFAILED（不合格）に設定し、理由をINVALID VALUE（無効な値）に設定する。好ましい実施形態では、動作の参照名は、ＴＭＤ２６７２３名前空間において構成されるが、第２の実施形態は異なる名前空間を使用し得る。
【０２９６】
ｉ２ｃインターフェースを使用してＴＭＤ２６７２３への通信チャネルを開き、それにより、チャネルを表すシングに対して作用する動作をイネーブルする動作を含め、追加の動作を実施形態に含めることができる。これは、一実施形態において多数のＴＭＤ２６７２３センサが使用される場合、有用である。
【０２９７】
ＴＭ（ｐｉｂｏｒｇ．ｕｌｔｒａｂｏｒｇ）
Ｕｌｔｒａｂｏｒｇは、超音波モジュールサポート、ｉ２ｃ通信を用いたインターフェースボードを用いた精密サーボ制御である。ボードは、４ＨＣ−ＳＲ０４超音波距離センサコネクタを提供し、最高で４つのサーボモータコネクタを提供する。ＨＣ−ＳＲ０４は、視野角３０度を有する。
【０２９８】
以下は、シング言語で表現されるコンテンツの例であり、上記コンテンツはＴＭ（ｉ）を記述する。
【数３５】
2019537808.tif 000044
【０２９９】
ＴＭ（ｐｉｂｏｒｇ．ｕｌｔｒａｂｏｒｇ）は、データシートによって指定されるように構成されたｉ２ｃ通信を使用してＵｌｔｒａｂｏｒｇと対話して、表８に示されるＰ（ＴＭ（ｐｉｂｏｒｇ．ｕｌｔｒａｂｏｒｇ））動作を提供するように構成される計算機である。
【０３００】
【表８】
2019537808.tif 000045
【０３０１】
なお、好ましい実施形態では、Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話して、Ｐ（ＴＭ（ｉ））動作が作用することができるシングにアクセスして対話する。Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｉ））動作によって許される値の範囲内にない任意の値に対してステータスをFAILED（不合格）に設定し、理由をINVALID VALUE（無効な値）に設定する。
【０３０２】
好ましい実施形態では、動作の参照名は、指定された名前空間において構成されるが、第２の実施形態は異なるリストを使用し得る。
【０３０３】
一実施形態では、ＨＣ−ＳＲ０４超音波センサは、サーボモータの運動によって回転可能な表面に搭載される。このようにして、サーボモータは、３０度増分等で表面を回転させることができ、超音波センサが増分的により広いエリアをカバーできるようにする。
【０３０４】
第２の実施形態では、ＨＣ−ＳＲ０４超音波センサは、前向き等の固定位置に搭載されて、固定された３０度視野を用いて４ｍまでの距離を測定する。
【０３０５】
ＴＭ（Ｕｂｌｏｘ．ｎｅｏ−６ｍ−ｇｐｓ）
Ｎｅｏ−６Ｍ−ＧＰＳは、標準ＧＰＩＯインターフェースを使用するｕｂｌｏｘ  ６  ＧＰＳモジュールＲＯＭ結晶である。
【０３０６】
以下は、シング言語で表現されるコンテンツの例であり、上記コンテンツはＴＭ（ｉ）を記述する。
【数３６】
2019537808.tif 000046
【０３０７】
ＴＭ（Ｕｂｌｏｘ．ｎｅｏ−６ｍ）は、データシートによって指定されるように構成された汎用ｉ／ｏを使用してｕ−ｂｌｏｘ  Ｎｅｏ  ６Ｍ  ＧＰＳと対話するように構成され、表９に示されるＰ（ＴＭ（Ｕｂｌｏｘ．ｎｅｏ−６ｍ））動作を提供する計算機である。
【０３０８】
【表９】
2019537808.tif 000047
【０３０９】
なお、好ましい実施形態では、Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話して、Ｐ（ＴＭ（ｉ））動作が作用することができるシングにアクセスして対話する。Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｉ））動作によって許される値の範囲内にない任意の値に対してステータスをFAILED（不合格）に設定し、理由をINVALID VALUE（無効な値）に設定する。好ましい実施形態では、動作の参照名は、指定された名前空間において構成されるが、第２の実施形態は異なるリストを使用し得る。
【０３１０】
ＴＭ（ＨＣ−ＳＲ５０１）
ＨＣ−ＳＲ５０１焦電型赤外線ＰＩＲ運動センサ検出器モジュール。以下は、シング言語で表現されるコンテンツの例であり、上記コンテンツはＴＭ（ｉ）を記述する。
【数３７】
2019537808.tif 000048
【０３１１】
ＴＭ（ＨＣ−ＳＲ５０１）は、データシートによって指定された汎用Ｉ／Ｏインターフェースを使用してＰＩＲと対話するように構成され、表１０に示されるＰ（ＴＭ（ＨＣ−ＳＲ５０１））動作を提供する計算機である。
【０３１２】
【表１０】
2019537808.tif 000049
【０３１３】
なお、好ましい実施形態では、Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話して、Ｐ（ＴＭ（ｉ））動作が作用することができるシングにアクセスして対話する。Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｉ））動作によって許される値の範囲内にない任意の値に対してステータスをFAILED（不合格）に設定し、理由をINVALID VALUE（無効な値）に設定する。好ましい実施形態では、動作の参照名は、指定された名前空間において構成されるが、第２の実施形態は異なるリストを使用し得る。
【０３１４】
Cirrus Logicオーディオカード
Cirrus Logicオーディオカードは、Cirrus Logicと協力してElement14によって製造され、カメラと並行してオーディオを捕捉するＰＣサウンドカードに類似した柔軟性並びにステレオデジタル捕捉及び再生を用いた実験をRaspberry Pi（登録商標）ユーザに提供する。
【０３１５】
以下は、シング言語で表現されるコンテンツの例であり、上記コンテンツはＴＭ（ｉ）を記述する。
【数３８】
2019537808.tif 000050
【０３１６】
ＴＭ（Ｅｌｅｍｅｎｔ１４．ＣＬＡＣ）は、データシートによって指定されるCirrus Logicオーディオカードインターフェース、ステレオライン入力に接続されたステレオマイクロホン、２つの外部電源ステレオスピーカがステレオライン出力に接続され、と対話するように構成され、表１１に示されるＰ（ＴＭ（Ｅｌｅｍｅｎｔ１４．ＣＬＡＣ））動作を提供する計算機である。
【０３１７】
【表１１】
2019537808.tif 000051
【０３１８】
なお、好ましい実施形態では、Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話して、Ｐ（ＴＭ（ｉ））動作が作用することができるシングにアクセスして対話する。Ｐ（ＴＭ（ｉ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｉ））動作によって許される値の範囲内にない任意の値に対してステータスをFAILED（不合格）に設定し、理由をINVALID VALUE（無効な値）に設定する。好ましい実施形態では、動作の参照名は、指定された名前空間において構成されるが、第２の実施形態は異なるリストを使用し得る。
【０３１９】
Cirrus Logicオーディオカード  ＴＭ（Ｅｌｅｍｅｎｔ１４．ＣＬＡＣ）の例示的な実施形態を以下に示す。
https://www.element14.com/community/servlet/JiveServlet/downloadBody/65689-102-2-291406/Wolfson%20Audio%20Card%20Schematic%20Diagram.pdf
【０３２０】
ＴＭ（ＴＩ．ＴＭＰ００７）
ＴＭＰ００７は、赤外線（ＩＲ）放射により遠くの物体の温度を検出するウェーハチップスケールパッケージ（ＷＣＳＰ）内の統合デジタル熱電対列温度センサである。http://www.ti.com/lit/ds/symlink/tmp007.pdfを参照のこと。
【０３２１】
以下は、シング言語で表現されるコンテンツの例であり、上記コンテンツはＴＭ（ｉ）を記述する。
【数３９】
2019537808.tif 000052
【０３２２】
ＴＭ（ＴＩ．ＴＭＰ００７）は、ＴＭＰ００７データシートによって指定されたようにＴＩ  ＴＭＰ００７と対話するように構成され、表１２に示されるＰ（ＴＭ（ＴＩ．ＴＭＰ００７））動作を提供する計算機である。
【０３２３】
【表１２】
2019537808.tif 000053
【０３２４】
Ｐ（ＴＭ（ｉ））の例
上述したように、シングマシンは多数のＴＭ（ｉ）で構成され、各ＴＭ（ｉ）は、手順Ｐ（ＴＭ（ｉ））を用いる計算機である。様々なＰ（ＴＭ（ｉ））の例には、限定ではなく、以下がある。
【０３２５】
Ｐ（ＴＭ（ｆｏｒｍａｔ））動作は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｏｕｔｐｕｔ））動作が出力するアウトバウンドコンテンツ応答として応答名前空間シングをフォーマットする。なお、Ｐ（ＴＭ（ｆｏｒｍａｔ））及びＰ（ＴＭ（ｏｕｔｐｕｔ））のアルゴリズムステップは、Ｐ（ＴＭ（ｆｏｒｍａｔ．ｏｕｔｐｕｔ））等の適切なＰ（ＴＭ（ｉ））によって与えられる１つの手順として結合することができる。
【０３２６】
Ｐ（ＴＭ（ｒｕｎｔｉｍｅ））動作は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、一連のステートメントを表す、構成されたタスクthing:graphを実行し、各ステートメントはＰ（ＴＭ（ｅｖａｌ））によって評価され、対応する実行可能thing:graphはＰ（ＴＭ（ｐｅｒｆｏｒｍ））によって実行される。
【０３２７】
Ｐ（ＴＭ（ｒｕｎｔｉｍｅ））はアルゴリズム的に、
１．Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、リストステータスによって与えられるシングの値を値「satisfied」に設定し、
２．上記シングの値が「satisfied」に等しい間、以下のシーケンスを繰り返し実行する：
ａ．Ｐ（ＴＭ（ｐａｒｓｅ））と対話して、入力デバイスからコンテンツを読み出し、上記コンテンツを解析し、Ｐ（ＴＭ（ｒｅｑｕｅｓｔ））と対話して、対応するthing:statementグラフを生成し、
ｂ．Ｐ（ＴＭ（ｅｖａｌ））と対話して、アクティブシングのコンテキストで上記グラフを評価し、実行可能thing:statementグラフを生成し、
ｃ．Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、上記実行可能thing:statementグラフを実行する
動作を提供する。
【０３２８】
Ｐ（ＴＭ（ｒｕｎｔｉｍｅ））は、１組のブートアクティブシング内のアクティブシングとして構成することができる。Ｐ（ＴＭ（ｂｏｏｔｓｔｒａｐ））動作は、通信チャネルを初期化し、その通信チャネルを表すシングを設定することができる。Ｐ（ＴＭ（ｐａｒｓｅ））動作は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、コンテンツを読み出す通信チャネルとして上記シングにアクセスして対話することができる。
【０３２９】
Ｐ（ＴＭ（ｒｕｎｔｉｍｅ））は、１組のブートストラップアクティブシング内のアクティブシングとして構成することができる。Ｐ（ＴＭ（ｂｏｏｔｓｔｒａｐ））動作は、通信チャネルを初期化し、その通信チャネルを表すシングを設定し、次に、Ｐ（ＴＭ（ｒｕｎｔｉｍｅ））の実行を要求することができる。Ｐ（ＴＭ（ｐａｒｓｅ））動作は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、コンテンツを読み出す通信チャネルとして上記シングにアクセスし対話することができる。
【０３３０】
未知のシングの場合、Ｐ（ＴＭ）はＰ（ＴＭ（ｂｉｎｄ））と対話することができ、Ｐ（ＴＭ（ｂｉｎｄ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ）が知っているシングの分類のメンバとして未知のシングをバインドする動作を提供する。
【０３３１】
Ｐ（ＴＭ（ｃｌａｓｓｉｆｉｅｒ））は、関心のある分類として、評価するよう求められているステートメントのタイプをアルゴリズム的に分類し、その関心のある分類のカウントをインクリメントする。所定の閾値で、Ｐ（ＴＭ）は、Ｐ（ＴＭ）が学習すべきシングのリストにその分類を話題として追加する。Ｐ（ＴＭ）は、話題について学習するのに適切な時間をアルゴリズム的に決定することができる。通信デバイスを使用して、Ｐ（ＴＭ）は、話題に関連するコンテンツを要求することができる。これにより、Ｐ（ＴＭ）は、学習したい話題のタイプ及び学習したい速度を決定することができる。例えば、７５％メモリ容量、６５％処理容量、及び／又は６０％ネットワーク容量で実行中のシングマシンは、後の時間まで、追加のリソースを学習に費やすのを延期し得る。多くの場合、シングマシンは通常、実行中の環境に関連する関心エリアに専念する。しかしながら、学習する話題のリストにランダム選択を追加することにより、シングマシンは、その能力をより一般化するように拡大することができる。例えば、製品を自販する自販機であるシングマシンは、車のレンタルを提供するのに求められる動作を学習することができる。表面でそれは馬鹿げているように見え得るが、多くのカーレンタルエージェンシーが容易に利用可能な混雑した空港での自販機を考える。そのような機械は、ウェブサービスを使用して、どのカーレンタル企業が消費者に適したセレクションを有するかを発見し、レンタルを予約し、消費者に課金し、消費者に受領証を電子メールで送信するように学習することができる。Ｐ（ＴＭ（ｃｌａｓｓｉｆｉｅｒ））は、thing:statementを分類する動作を提供することができ、Ｐ（ＴＭ（ｅｖａｌ））は、上記分類を使用して、アクティブシングを選択するに当たりＰ（ＴＭ（ｅｖａｌ））が利用可能な、thing:statementを満たす１組のアクティブシングを識別する。他の形態の人工知能（ＡＩ）を統合することもできる。例えば、シンボリックＡＩ、サブシンボリックＡＩ、及び統計学的ＡＬアルゴリズム手順が使用可能である。
【０３３２】
Ｐ（ＴＭ（ｅｖａｌ））は、第１の実行可能thing:statementを生成し実行させ、第２の実行可能thing:statementの実行にその応答を使用することができる。一実施形態では、第１の実行可能thing:statementは、Ｐ（ＴＭ（ｃｌａｓｓｉｆｉｅｒ））を実行して、話題等の評価中のthing:statementのタイプを分類することができる。それに応答して、Ｐ（ＴＭ（ｅｖａｌ））は、分類を使用して、第２の実行可能thing:statementを生成するか、又は生成された実行可能thing:statementのアクセス可能アクティブシングのコンテキストを設定することができる。
【０３３３】
図３３を参照すると、Ｐ（ＴＭ（ｐａｒｓｅ））は入力デバイス（図示せず）及びＰ（ＴＭ（ｔｈｉｎｇ））と対話して、要求thing:graphを生成する動作を提供し、Ｐ（ＴＭ（ｅｖａｌ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、アクセス可能な実行可能動作のコンテキストで要求thing:graphを評価する動作を提供し、実行可能thing:graphを生成し、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、実行可能thing:graphを実行する動作を提供し、ここで、上記グラフは、Ｐ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））を実行して、Ｐ（ＴＭ）が実行することができる実行可能動作のグラフを変更する。一実施形態では、入力デバイスはファイルシステムデバイスであり、コンテンツは、構成する少なくとも１つのアクティブシングを記述する、言語文法にシンタックス的に準拠した構成文書である。好ましい実施形態では、パーサ動作及びフォーマット動作はシング言語文法に準拠する。この構成では、アクティブシングのボキャブラリは、１組の構成文書から動的に構成される。
【０３３４】
図３４を参照すると、Ｐ（ＴＭ（ｅｎｖ））は入力デバイス（図示せず）及びＰ（ＴＭ（ｔｈｉｎｇ））と対話して、要求thing:graphを生成する動作を提供し、Ｐ（ＴＭ（ｅｖａｌ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、実行可能動作のコンテキストで要求thing:graphを評価する動作を提供し、実行可能thing:graphを生成し、Ｐ（ＴＭ（ｐｅｒｆｒｏｍ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、実行可能thing:graphを実行する動作を提供し、ここで、上記グラフは、Ｐ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））を実行して、Ｐ（ＴＭ）が実行することができる実行可能動作のグラフを変更する。
【０３３５】
好ましい実施形態では、入力デバイスは電磁波デバイスである。この構成では、thing:graph(monad)の一部は、環境からの入力に基づいてアルゴリズム的に変更され、したがって、Ｐ（ＴＭ）は、Ｐ（ＴＭ）が実行されている環境のニーズに適応する。
【０３３６】
一環境では、Ｐ（ＴＭ）動作は、「どんなサービスをお望みですか（How can I be of service）」をユーザに尋ねるオーディオメッセージを再生し、第２の動作はユーザ応答を記録する。音声−テキスト動作はオーディオをテキストに変換し、テキストはthing:graphとして解析される。分類器動作はアルゴリズム的に会話の話題を分類する。Ｐ（ＴＭ）は、話題に関連するタスクについての要求を第２のシングマシンに通信する。情報の受信に応答して、第１のＰ（ＴＭ）はアルゴリズム的にタスクを構成し、タスクを実行する。
【０３３７】
第２の実施形態では、シングマシンは、受信光学サブシステム組立体を含み、ユーザ提供の光学識別子（ＯＩ：Optical Identifier）を照会するのに使用され、それに応答して、そのユーザに固有の実行可能thing:graphを含むようにthing:graph(monad)の一部を構成する。ユーザが、ＯＩを光学リーダから除去する等によって肯定動作を実行する場合、Ｐ（ＴＭ）はユーザに固有のthing:gram(monad)のその部分を忘れる。
【０３３８】
第３の実施形態では、シングマシンは、ユーザを識別する、EyeLock等のバイオメトリックデバイスを含み、そのユーザに固有の実行可能thing:graphを含むようにthing:graph(monad)の一部を構成する動作を実行する。ユーザが、バイオメトリックデバイスのエリアから去る等によって肯定動作を実行する場合、Ｐ（ＴＭ）はユーザに固有のthing:gram(monad)のその部分を忘れる。
【０３３９】
Ｐ（ＴＭ（ｔｈｉｎｇ））は、シングの表現及びシング間の関係をアルゴリズム的に初期化し、thing:graphとして不揮発性メモリにおいて編成する動作を提供する。クラスをサポートする一実施形態では、Ｐ（ＴＭ（ｔｈｉｎｇ））は、そのクラスのメンバであるためにシングのインスタンスに何が意図されるかの要件を満たすシングを設定するＰ（ＴＭ（ｔｈｉｎｇ：ｃｌａｓｓ．ｓｅｔ））、そのクラスのシングへの参照を取得するＰ（ＴＭ（ｔｈｉｎｇ：ｃｌａｓｓ．ｇｅｔ））、指定されたクラスのシングのインスタンスをアンセットするＰ（ＴＭ（ｔｈｉｎｇ：ｃｌａｓｓ．ｕｎｓｅｔ））等の規律Ｐ（ＴＭ（ｔｈｉｎｇ：ｃｌａｓｓ））手順で構成される。「前」又は「後」等の修飾語句動作により、Ｐ（ＴＭ（ｔｈｉｎｇ））手順を修飾することができ、したがって、「設定前、この動作を実行」又は「設定後、この動作を実行」を可能にする。
【０３４０】
シングの各インスタンスは、Ｐ（ＴＭ（ｔｈｉｎｇ））によって使用される１組の非可変構成要素で構成される。好ましい実施形態では、上記組は、thing:name、thing:value、及びthing:relationship-setを含む。一実施形態は、構成ファイル内のコンテンツ等のＰ（ＴＭ（ｔｈｉｎｇ））が対話することができる、コンテンツを通して指定される追加の構成要素を組み込むように組を拡張することができる。
【０３４１】
図３５を参照すると、初期化中、Ｐ（ＴＭ（ｔｈｉｎｇ））は、シングマシンのthing:graphのルートとして、モナドに等しい名前をシングに割り振り初期化し、コンテキストという名前をシングに割り振り初期化し、アサート「名前がモナドに等しいシングがあり、そこには名前がコンテキストに等しいシングがある」が真であるような関係を設定する。
【０３４２】
図３６を参照すると、コンテキストは、１つ又は複数の自由変数及び自由変数間の関係の式で構成されるリストを解決する範囲内にある１組のシングを認定する。例として、http://www.iotnamespace.com/thing、request:statement、及びstatement.thing[1]はリストの例である。
【０３４３】
図３７を参照すると、好ましい実施形態では、コンテキストシングはthing:stackであり、これを通して、Ｐ（ＴＭ（ｔｈｉｎｇ））はアルゴリズム的に、シングをスタックに押し入れ、又はシングをスタックから押し出し、それにより、コンテキストを変更することができる。Ｐ（ＴＭ（ｔｈｉｎｇ））はアルゴリズム的に、リストを解決する範囲内にある１組のシングを認定する際、スタックの最上部におけるシングを現在のコンテキストとして使用する。
【０３４４】
図３６を再び参照すると、好ましい実施形態では、現在のコンテキストシングは、名前空間シングと呼ばれる１つ又は複数のシングへの関係を含む関係セットを有する。シングの名前は名前空間の名前である。Ｐ（ＴＭ（ｔｈｉｎｇ））はアルゴリズム的に、単に同じ名前空間内で認定されることによってのみ関係する場合であっても、関連するシングの名前付きシンググラフを表すシングとして、名前空間シングを使用する。ＵＲＩスキーム名は、名前区間であるシングの名前であることができる。ＵＲＩスキーム固有部分は、その名前空間において認定されるシングを識別するリストである。
【０３４５】
図３８を参照すると、実行可能動作への参照の表現を有するシングは、アクティブシングとして分類される。アクティブシングはthing:verbであり、対応するアクティブシンググラフＧ（Ｐ（ＴＭ（ｉ）））を有する。主語ノード名は対応するアクティブシング名で置換され、空白ノードに対して作用するＧ．ｒｅｑｕｅｓｔは、Ｐ（ＴＭ（ｉ））が作用することができるシングのグラフで置換される。各Ｇ（Ｐ（ＴＭ（ｉ）））は、
ａ）名前がＰ（ＴＭ（ｉ））を識別する識別子であり、有向グラフ内のルートノード（主語シング）であるＧ．ｉｄｅｎｔｉｆｉｅｒ（Ｐ（ＴＭ（ｉ））シング、
ｂ）値が、Ｇ．ｒｅｑｕｅｓｔに対して作用するＰ（ＴＭ（ｉ））への要求を示すＧ．ｕｒｒ（Ｐ（ＴＭ（ｉ）））ＵＲＩシング、及び
ｃ）Ｐ（ＴＭ（ｉ））が作用することができる１組のシングを示すＧ．ｒｅｑｕｅｓｔ（Ｐ（ＴＭ（ｉ）））シンググラフ
を含む。
【０３４６】
図３９を参照すると、一実施形態では、Ｇ（Ｐ（ＴＭ（ｉ）））は、Ｐ（ＴＭ（ｉ））の実行からの応答を含むシングの記述等の追加のシング情報を含むことができる。
【０３４７】
一実施形態は、Ｐ（ＴＭ（ｉ））が作用することができるシングの様々な順列を示す、所与のＧ（Ｐ（ＴＭ（ｉ）））の多数のＧ．ｒｅｑｕｅｓｔグラフを含むことができる。そのような一実施形態は、対応する応答グラフを構成するシングを示す多数のＧ．ｒｅｓｐｏｎｓｅグラフを更に含むことができる。
【０３４８】
図４０は、非一時的メモリにおいてシングを設定するＰ（ＴＭ（Ｔｈｉｎｇ．ｓｅｔ））手順に対応するＧ（Ｐ（ＴＭ（ｔｈｉｎｇ．ｓｅｔ）））グラフである。request:uriシングの値は、設定すべきシングのリストであり、その値は、指定された場合、request:valueシングの値に設定される。request:usingシングが指定される場合、その値は、request:uriシングの値によって識別されるシングを設定する際に使用するシングを表すリストである。
【０３４９】
図４１は、リストrequest:uri、非一時的メモリによって与えられるシングの表現を得るＰ（ＴＭ（Ｔｈｉｎｇ．ｇｅｔ）手順に対応するＧ（Ｐ（ＴＭ（ｔｈｉｎｇ．ｇｅｔ）））グラフである。修飾語句の名前、値、関係セット、又は関係を使用して、シングについて要求される特定の情報を示すことができる。情報は、request:asシングの値によって示されるリストによって与えられるシングの値として保存される。
【０３５０】
図４２は、非一時的メモリからシングの表現をアンセットするＰ（ＴＭ（Ｔｈｉｎｇ．ｕｎｓｅｔ）手順に対応するＧ（Ｐ（ＴＭ（ｔｈｉｎｇ．ｕｎｓｅｔ）））グラフである。アンセットするシングは、request:uriシングの値によって与えられる。
【０３５１】
当業者は、シング及び関係を監督して、同時実行、持続性、キャッシュ、同期、ロック（読み出し／書き込みロック等）、所有権、許可（所有者、グループ、又は全てによる読み出し／書き込み／実行等）等の特徴を更に可能にする代替のアルゴリズム手順でＰ（ＴＭ（ｔｈｉｎｇ））を置換することができる。
【０３５２】
Ｐ（ＴＭ（ｅｖａｌ））
Ｐ（ＴＭ（ｅｖａｌ））は、図４５によって説明されるように、アルゴリズム的にＰ（ＴＭ（ｔｈｉｎｇ））と対話して、
ａ）評価するthing:statementを選択し、
ｂ）１組のアクセス可能なアクティブシングから、実行可能アクティブシングとしてＧ（Ｐ（ＴＭ（ｉ）））を選択し、
ｃ）実行可能コンテキストシングとして新しいコンテキストシングを初期化し、
ｄ）実行可能コンテキストシングのコンテキストにおいて実行可能Ｇ（Ｐ（ＴＭ（ｉ）））のＧ．ｕｒｒを実行し、
ｅ）実行可能コンテキストシングを現在のコンテキストシングにリセットし、
ｆ）新しいコンテキストシングをアンセットする
動作を提供する。
【０３５３】
一実施形態では、ステップａ及びステップｂは、アサート：（リストがrequest:statementに等しいthing:statementがあり、そこには名前が.nameに等しいシングがある）及び（リストがverb.vocabularyに等しいシングがあり、そこには名前が.nameに等しく、且つシングがアクティブシングであるthing:verbがある）を満たすアクティブシングを選択することからなる。
【０３５４】
好ましい実施形態では、ステップｂは、アサートが満たせない場合、デフォルトアクティブシングを選択するステップを含むことができる。
【０３５５】
インスタンスを有するアクティブシングの場合、Ｐ（ＴＭ（ｅｖａｌ））は、thing:statementがインスタンスのＧ．ｒｅｑｕｅｓｔグラフのサブグラフであるアクティブシングのインスタンスを選択するステップを含むことができる。
【０３５６】
一実施形態では、Ｐ（ＴＭ（ｅｖａｌ））はＰ（ＴＭ（ｂｉｎｄ））と対話して、アクティブシング動作が作用することができる実行可能コンテキストシング内のシングとして、実行可能動作シングの対応するＧ．ｒｅｑｕｅｓｔグラフを使用して、thing:statementシングによって認定されるシングをバインドするステップを含む。
【０３５７】
一実施形態では、Ｐ（ＴＭ（ｅｖａｌ））は、命令文、宣言文、照会文、又は感嘆文としてステートメントのタイプをアルゴリズム的に分類し、アクティブシングを実行して、ステートメントの上記クラスを評価する。これにより、Ｐ（ＴＭ（ｅｖａｌ．ｄｅｃｌａｒａｔｉｖｅ））手順は、宣言文をアルゴリズム的に評価することができ、Ｐ（ＴＭ（ｅｖａｌ．ｉｍｐｅｒａｔｉｖｅ））手順は、命令文をアルゴリズム的に評価することができ、Ｐ（ＴＭ（ｅｖａｌ．ｉｎｔｅｒｒｏｇａｔｉｖｅ））手順は、照会文をアルゴリズム的に評価することができ、Ｐ（ＴＭ（ｅｖａｌ．ｅｘｃｌａｍａｔｏｒｙ））手順は、感嘆文をアルゴリズム的に評価することができる。
【０３５８】
Ｐ（ＴＭ（ｅｖａｌ））の動作は、実行可能thing:statementにデフォルトのアクティブシングをアルゴリズム的に選択することができ、thing:statementをアルゴリズム的に評価して、使用により適切なアクティブシングを決定することができる。デフォルト動作はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、デフォルト動作が実行されたthing:statementの分類に関連付けられたカウンタシングをインクリメントして、シングマシンがthing:statementのその分類を実行するように求められた回数を表すことができる。実行可能通信動作を使用して、Ｐ（ＴＭ（ｉ））は、第２のマシンと通信して、上記分類に関連するコンテンツを得ることができる。Ｐ（ＴＭ（ｐａｒｓｅ））動作は、thing:statementを解析して、評価し実行することができる。このようにして、シングマシンは、シングマシンが実行されている環境のニーズに適応することができる。（ここでの目標は、マシンに何かをするように求めることである。マシンはデフォルト動作を選択し、次に、求められたことが何であれ、それを評価し、実行するのによりよい動作があるか否かを調べる。ない場合、マシンはデフォルトを実行する。デフォルト動作は話題を分類し、マシンがその話題に関連する何かをするように求められた回数のカウンタをインクリメントする。このように、カウンタが閾値になると、マシンは、その話題について教えるように誰かに求めることができ、又はその話題に関連する本を購入して読むことができる。
【０３５９】
一実施形態は、response.asシングが指定される場合、Ｐ（ＴＭ（ｅｖａｌ））が、新しいコンテキストシングをアンセットする前、現在コンテキストにおけるresponse.asシングのサブグラフとして、新しいコンテキストにおいてresponse:namespaceシングのサブグラフをバインドすることができるように、コンテキスト間でグラフを統合することができる。
【０３６０】
一実施形態では、Ｐ（ＴＭ（ｅｖａｌ））は、Ｇ．ｕｒｒを実行するステップの前、現在コンテキストとして新しいコンテキストをコンテキストスタックに押し入れるステップを含むことができる。第２の実施形態では、並列処理のコンピュータ分野の当業者は、プロセス制御ブロックシングのスレッド固有データのグラフを表すシングを使用し、上記データは、Ｐ（ＴＭ（ｔｈｉｎｇ））を解決するために、現在コンテキストへの参照を含む。
【０３６１】
図４３を参照すると、Ｇ．ｒｅｑｕｅｓｔは、動作が、thing:statementであるrequest:statementに作用することができることを示す。したがって、request:statementシングのサブグラフは、thing:statementであるシングのクラスのメンバであるための要件を満たす必要がある。
【０３６２】
図４４を参照すると、Ｇ．ｒｅｑｕｅｓｔサブグラフは、動作が、thing:listingであるrequest:usingシングに作用することができることを示す。このグラフは、要求名前空間シングがあり、そこには、名前がステートメントに等しい（thing:sttina）シングがなく、名前がusingに等しいシングがあることが真である場合、適用される。このＧ．ｒｅｑｕｅｓｔサブグラフは、評価アクティブシングを選択する代替の方法を提供する。
【０３６３】
人工知能のアルゴリズム的使用が明示的に意図される。Ｐ（ＴＭ（ｃｌａｓｓｉｆｉｅｒ））は、thing:statementを分類する動作を提供し、Ｐ（ＴＭ（ｅｖａｌ））は、上記分類を使用して、thing:statementを満たすアクティブシングを選択する際、Ｐ（ＴＭ（ｅｖａｌ））が利用可能な１組のアクティブシングを識別する。他の形態の人工知能を統合することもできる。例えば、シンボリックＡＩ、サブシンボリックＡＩ、及び統計学的ＡＩアルゴリズム手順を使用することができる。
【０３６４】
Google Researchは、主に学術活動及び研究活動に使用されるオープンソース機械学習ライブラリであるTensorFlowをリリースした。機械学習のコンピュータ科学分野の当業者は、TensorFlow  ＡＰＩを使用して、ディープラーニング用のＰ（ＴＭ（ｃｌａｓｓｉｆｉｅｒ））を開発することができる。TensorFlow ＡＰＩは、構成するTensorflow手順を表す１組のアクティブシングとしてＰ（ＴＭ（ｔｈｉｎｇ））と直接対話するように変更することができる。トレーニングデータは１組のアクティブシングを通して提供することができる。
【０３６５】
Ｐ（ＴＭ（ｅｖａｌ））は、ａ）要求分類器thing:statementを生成するためにＰ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｃｌａｓｓｉｆｉｅｒ））の実行を要求して現在の要求thing:statementを分類し、ｂ）Ｐ（ＴＭ（ｂｉｎｄ））と対話して、実行可能thing:statementとして分類器thing:statementをバインドし、ｃ）Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、実行可能thing:statementを実行し、ｄ）Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、その結果と対話する動作を提供する。
【０３６６】
その結果は、現在の要求thing:statementに関連する分類（クラス）を識別する。Ｐ（ＴＭ）に既知のシングのクラスの場合、Ｐ（ＴＭ（ｅｖａｌ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、クラスに関連するボキャブラリを含むようにコンテキストを設定し、そのコンテキストにおいて現在の要求thing:statementを評価する。
【０３６７】
Ｐ（ＴＭ（ｅｖａｌ））は、話題が現在の要求thing:statementに適用される回数を示すその話題を表すカウンタをインクリメントし、それにより、分類器は、最も頻繁に使用される話題に従ってthing:statementを分類することができる。Ｐ（ＴＭ）が所与の話題のボキャブラリを有さない場合、Ｐ（ＴＭ（ｅｖａｌ））は、デフォルト動作を表すthing:statementを生成して評価することができる。
【０３６８】
第１のＰ（ＴＭ）は、Wi-Fi通信等を通して第２のＰ（ＴＭ）と通信して、Ｐ（ＴＭ）が評価し実行することが一般に求められるthing:statementのクラスに関連するコンテンツを要求することができる。上記コンテンツは、アクティブシング等のシング及びタスク等のアクティブシングの動作が作用することができるシングを表し得る。
【０３６９】
一実施形態は、所与の言語をサポートし、特定の機械学習アルゴリズムを実装し、多数の機械学習アルゴリズムを実施し、性能改善を提供し、又は第２のマシンと対話してthing:statementを評価し、第３のマシンと対話して、thing:statementを実行する実施形態等の実施形態に適切な評価をアルゴリズム的に実行する評価動作でＰ（ＴＭ（ｅｖａｌ））を置換することができる。本発明の範囲内で多数のアルゴリズム的変更が可能なことを当業者は理解する。
【０３７０】
修飾語句は、デフォルトＰ（ＴＭ（ｅｖａｌ））手順動作を修飾する、thing:statementにおけるシングとして使用することができる。代替的には、Ｐ（ＴＭ（ｅｖａｌ））はＰ（ＴＭ（ｃｌａｓｓｉｆｉｅｒ））と対話して、評価中のシングのタイプをアルゴリズム的に分類することができ、シングの上記タイプは、アクティブシングを選択し実行するための修飾語句として使用することができる。例として、「クリーンアップという名前のタスクを実行しろ（Perform the task named cleanup）」等の命令文を表すステートメントを評価することは、「クリーンアップという名前のタスクの宣言は、ステップ１：コムポイントＩ／Ｏ（compoint I/O）をフラッシュし、ステップ２：コムポイントＩ／Ｏを閉じる、を含む」等の宣言文を表すステートメントを評価することとは異なる。
【０３７１】
動作が作用することができるシングのタイプをＰ（ＴＭ（ｉ））のthing:graphに組み込み、動作が応答することができるシングのタイプを組み込むことにより、開く（open）等の一般的な動詞名に適切な動作を選択することができる。例として、以下のそれぞれは非常に異なる動作を有するが、それぞれ共通の動詞名を使用する：電子メールを開く、ゲートを開く、銀行口座を開く。正確な動作の選択は、部分的に、何が開かれているかに依存する。動作を作用することができるシングのタイプの記述を含むことにより、Ｐ（ＴＭ（ｅｖａｌ））は、生成すべき実行可能thing:graphについて適切な選択をすることができる。
【０３７２】
Ｐ（ＴＭ（ｐａｒｓｅ））
Ｐ（ＴＭ（ｐａｒｓｅ））は、要求を表す入力を解析し、Ｐ（ＴＭ（ｒｅｑｕｅｓｔ））とアルゴリズム的に対話して、解析された入力を表すシングを設定する動作を提供する。好ましい実施形態では、Ｐ（ＴＭ（ｐａｒｓｅ））はＸＭＬ１．１パーサである。
【０３７３】
図４６を参照すると、リストrequest:streamによって識別されるシングの値は、解析するストリームである。request:statementにデフォルト設定される、request:asシングの値によって識別されるシングは、解析された入力要求を表すthing:statementとして設定される。
【０３７４】
図４７を参照すると、例示的なＸＭＬフラグメントは例示的なグラフとして解析される。なお、要素属性は、「そこにはインスタンスがある（such that there is an instance）」関係（thing:sttiai）を介して示され、一方、要素は、「そこには〜がある（such that there is a）」関係（thing:sttia）を介して示される。
【０３７５】
図４８を参照すると、request:inputリストによって与えられるシングの値は、解析する入力である。ＴＭ（ｅｖａｌ）は、要求グラフに基づいて適切なＧ．ｒｅｑｕｅｓｔ（Ｐ（ＴＭ（ｐａｒｓｅ）））グラフを選択し、適切なバインドを促進する。
【０３７６】
なお、パーズ１とパーズ３との間には、特に動作がストリームから読み取る１において、僅かであるが重要な違いがある。代替的には、３において、動作はrequest:inputリストの値（値は解析するコンテンツである）を使用する。
【０３７７】
これは、特定の場合、コンテンツをファイルから取得し、他の場合、動作がコンテンツを生成し、シングの値として記憶するため、必要である。
【０３７８】
Ｐ（ＴＭ（ｒｅｑｕｅｓｔ））
Ｐ（ＴＭ（ｒｅｑｕｅｓｔ））は、Ｐ（ＴＭ（Ｔｈｉｎｇ））とアルゴリズム的に対話して、thing:statementシンググラフとして、request:usingシングの値として与えられるリストによって識別されるシングを使用して、request:asシングの値として与えられるリストによって識別されるシングを設定する動作を提供する。
【０３７９】
第１のＰ（ＴＭ（ｉ））を使用して、thing:statementシングを繰り返し構築し、次に、Ｐ（ＴＭ（ｒｅｑｕｅｓｔ））とアルゴリズム的に対話して、request:statementシングを設定することができる。図４９はＧ（Ｐ（ＴＭ（ｒｅｑｕｅｓｔ）））グラフを示す。request:asシングのデフォルト値はrequest:statementである。
【０３８０】
Ｐ（ＴＭ（ｂｉｎｄ））
Ｐ（ＴＭ（ｂｉｎｄ））は、シングをシングの所与のクラスのメンバとしてバインドしようとして、１組のバインド規則をアルゴリズム的に適用する。
【０３８１】
例として、値がパターン「［０−９］｛１，｝」に一致するシングは、thing:integer（整数値を有するシング）としてバインドすることができ、一方、値がパターン「［０−９Ａ−Ｆａ−ｆ］」に一致するシングは、thing:hexadecimal（１６進値を有するシング）としてバインドすることができる。thing:thing、thing:text、thing:integer、thing:float、及びthing:string等のシングの基本クラスに加えて、推論規則又はスキーマを使用して追加のタイプを表現することができる。
【０３８２】
図５０を参照すると、Ｇ．ｒｅｑｕｅｓｔサブグラフは、Ｐ（ＴＭ（ｂｉｎｄ））が作用することができるシングを示す。request:usingによって与えられるシングの値は、１組のバインド規則を識別するリストである。request:bind.listingによって与えられるシングの値は、バインドすべきthing:graphを識別するリストである。reqeust:response.asによって与えられるシングの値は、応答を設定すべきthing:graphを識別するリストである。request:response.asが空の場合、バインド中のシングのグラフは更新される。
【０３８３】
Ｐ（ＴＭ（ｂｉｎｄ））は、非バインド又はバインド等の状態情報を使用して、シングが既にバインドされているか否かを示すことができる。これにより、Ｐ（ＴＭ（ｂｉｎｄ））は、状態をチェックし、非バインドシングのみにバインド規則を実行することができる。Ｐ（ＴＭ（ｂｉｎｄ））は、「発見」及び「未発見」状態を更に含み、シングがバインドされ発見されているか、それともバインドされ、未発見であるかを示すことができる。好ましい実施形態では、Ｐ（ＴＭ（ｕｎｂｉｎｄ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、非バインド・未発見状態にシングをリセットする。
【０３８４】
第１の実施形態では、コンピュータ科学論理の当業者は、推論規則を使用して、シングのクラスのメンバとしてシングをバインドする。規則は、アサート及びクラス識別子で構成される。Ｐ（ＴＭ（ｂｉｎｄ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、バインドすべきシングについてのアサートとして規則をアルゴリズム的に適用し、満たされた場合、Ｐ（ＴＭ（ｂｉｎｄ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、上記クラス識別子のメンバとしてシングを識別する。
【０３８５】
第２の実施形態では、コンピュータ科学マークアップ言語の当業者は、thing:schemaマークアップ言語を使用して、シングクラスを記述することができる。業界標準マークアップスキーマは、http://schema.org.docs/schemas.htmlから入手可能である。上記スキーマは、それぞれが１組の属性が関連付けられた１組のタイプである。Schema.orgスキーマ情報についてはhttp://schema.org/docs/documents.htmlを参照のこと。これは参照により援用される。
【０３８６】
図５１を参照すると、thing:graphは、イメージオブジェクトクラスのメンバとしてバインドされるシングのメンバーシップ要件を記述するアサートとして解釈される。解釈は、名前がschemaに等しいシングがあり、そこには名前がImageObjectに等しく、且つシングがthing:schemaであるシングがあり、そこには（名前がCaptionに等しく、且つthing:valueがthing:textであるシングがあり）且つ（名前がexitDataに等しく、thing:Valueがthing:textであるシングがあり）且つ（名前がrepresentativeOfPageに等しく、且つthing:valueがthing:Booleanであるシングがあり）且つ（名前がthumbnailに等しく、且つthing:thingがschema:ImageObjectであるシングがある）ことを表現するアサートである。
【０３８７】
図５２を参照して、リストlocal:objectによって与えられる非バインドthing:graphを提示する。
【０３８８】
図５３を参照すると、thing:graphは、schema:ImageObjectシング（http://www.schema.org/ImageObjectに記述されるように）としてlocal:object thing:graphをバインドする要求を示す。Ｐ（ＴＭ（ｂｉｎｄ））はＰ（ＴＭ（Ｔｈｉｎｇ））と対話して、local:object thing:graphの構成要素が、schema:ImageObjectであるための要件を満たすか否かを判断する。local:objectシング状態は、非バインドからバインドに遷移する。満たす場合、ノード「bound.found」がlocal:object thing:graphに追加され、ノードの値はschema:ImageObjectに設定される。
【０３８９】
コンピュータ科学論理の当業者は、推論規則を使用して、シングについての推測をアルゴリズム的に行うことができる。推論規則は、前提を表すthing:graphに対して作用する手順からなり、結論を表すthing:graphを生成する。図５４を参照すると、アサートは、シングがBroadcastServiceとして分類されることが何を意味するかを記述する。アサートは解析され、指定された分類の推論規則として表される。Ｐ（ＴＭ（ｂｉｎｄ））は、指定されたthing:graphが推論規則を満たすか否かをアルゴリズム的に評価し、満たす場合、thing:graphを指定された分類のメンバとして分類する動作を提供する。再び図５４を参照すると、コンピュータ科学スキーマの当業者は、http://schema.org/docs.full.htmlにおいて入手可能なhttp://www.schema.orgにより公開されている組等の１組のスキーマの数論規則を生成することができる。
【０３９０】
なお、http://www.schema.org/PerformActionは、実行可能動作を実行するマシンではなく、芸術の実行に参加する動作に関連する。schema.orgの動作は、それにより可能になる動作及びクライアントがいかにこれらの動作を呼び出すことができるかをウェブサイトが説明できるようにするボキャブラリに関連することにも更に留意する。http://blog.schema.org/2014/04/announcing-schemaorg-actions.htmlを参照のこと。これは参照により援用される。
【０３９１】
Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））
Ｐ（ＴＭ（ｐｅｒｆｒｏｍ））は、thing:statementにおいてＰ（ＴＭ（ｉ））への参照を見つけ、Ｐ（ＴＭ（ｉ））動作を実行させることにより、実行可能thing:statementをアルゴリズム的に実行する。動作からの応答は、満足、非満足、又は不合格のいずれかである。Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））動作は、この応答を示すようにステータスシング値を設定する。
【０３９２】
図５５を参照すると、Ｇ．ｒｅｑｕｅｓｔサブグラフは、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））動作がrequest:statementに対して作用することを示す。
【０３９３】
Ｐ（ＴＭ（ｔａｓｋ））
Ｐ（ＴＭ（ｔａｓｋ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話して、thing:statementのthing:listを含む１組のサブグラフで構成されるthing:taskとしてthing:graphを監督する。一実施形態では、Ｐ（ＴＭ（ｔａｓｋ））の動作は、
ａ）Ｐ（ＴＭ（ｔｈｉｎｇ））と対話してthing:taskを設定するＰ（ＴＭ（ｔａｓｋ．ｓｅｔ））、
ｂ）Ｐ（ＴＭ（ｔｈｉｎｇ））と対話してthing:taskへの参照を取得するＰ（ＴＭ（ｔａｓｋ．ｇｅｔ））、
ｃ）Ｐ（ＴＭ（ｔｈｉｎｇ））と対話してthing:taskをアンセットするＰ（ＴＭ（ｔａｓｋ．ｕｎｓｅｔ））、
ｄ）Ｐ（ＴＭ（ｔｈｉｎｇ））、Ｐ（ＴＭ（ｅｖａｌ））、及びＰ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、thing:taskのthing:statementを評価し実行するＰ（ＴＭ（ｔａｓｋ．ｐｅｒｆｏｒｍ））
で構成することができる。
【０３９４】
図５６を参照すると、Ｐ（ＴＭ（ｔａｓｋ．ｓｅｔ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、値がthing:taskとして設定されるべきシングのリストであるリストrequest:statement.taskによって識別されるシングに対してアルゴリズム的に作用する。request:statement.taskの動作サブグラフは、thing:taskシングのサブグラフとして設定される。一実施形態は、request:statement.task.G.requestとしてＧ．ｒｅｑｕｅｓｔサブグラフを含み得、上記サブグラフは、タスクが作用すべきシングを表す。
【０３９５】
Ｐ（ＴＭ（ｔａｓｋ．ｇｅｔ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、thing:taskの表現をアルゴリズム的に取得し、主に、Ｐ（ＴＭ（ｔａｓｋ．ｐｅｒｆｏｒｍ））等のそのグラフにアクセスする必要がある他のＰ（ＴＭ（ｉ））によって使用される。
【０３９６】
Ｐ（ＴＭ（ｔａｓｋ．ｕｎｓｅｔ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、thing:thing(monad)グラフから指定されたタスクをアルゴリズム的にアンセット（削除）する。
【０３９７】
図５７を参照すると、Ｐ（ＴＭ（ｔａｓｋ．ｐｅｒｆｏｒｍ））はＰ（ＴＭ（ｔｈｉｎｇ））、Ｐ（ＴＭ（ｅｖａｌ））、及びＰ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、request:statement.taskの値によって識別されるthing:taskの動作サブグラフによって与えられるthing:statementサブグラフのシーケンスをアルゴリズム的に評価し実行する。
【０３９８】
一実施形態では、thing:taskグラフは、thing:task動作サブグラフを評価し実行する必須条件として評価し実行することができるthing:statementサブグラフを含むことができる。これにより、１組の動作シングを実行して、動作サブグラフを表すコンテンツ表現を取得し、評価し実行すべき動作サブグラフのthing:statementシーケンスとして上記コンテンツを解析することができる。他の動作は、識別、認証、及びthing:taskの実行の検証、認可、又は拒絶の認可を含むことができる。同様に、必須条件動作を使用して、アクティブシングの構成等のthing:taskの評価前に必須条件が満たされることを保証することができる。
【０３９９】
一実施形態では、thing:taskは、ステータスシングの値に応じて、評価し実行するthing:statementを表すon.statusサブグラフを含むことができる。各thing:statementが評価され実行された後、一実施形態はＰ（ＴＭ（ｔｈｉｎｇ））動作と対話して、ステータスをアルゴリズム的にテストして、値が満足されるか、非満足であるか、それとも不合格であるかを調べ、対応するon.status.satisfied、on.status.unsatisfied、又はon.status.failedのthing:statementサブグラフを評価し実行することができる。
【０４００】
一実施形態は、ステータスシングの値に応じて評価し実行するthing:statementを表すon.statusサブグラフを含むことができる。各thing:statementが評価され実行された後、一実施形態はＰ（ＴＭ（ｔｈｉｎｇ））動作と対話して、ステータスをアルゴリズム的にテストして、値が満足されるか、非満足であるか、それとも不合格であるかを調べ、対応するon.status.satisfied、on.status.unsatisfied、又はon.status.failedのthing:statementサブグラフを評価し実行することができる。
【０４０１】
Ｐ（ＴＭ（ｆｏｒｍａｔ））
Ｐ（ＴＭ（ｆｏｒｍａｔ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、thing:graphをトラバースし、thing:graphのフォーマットされた表現を生成する動作を提供する。例として、thing:graphの表現は、ＸＭＬ文書、ＨＴＭＬ文書、シング文書、又は一実施形態により求められる他のそのようなフォーマットとしてフォーマットすることができる。
【０４０２】
図５８を参照すると、request:statement.listingは、値が、Ｐ（ＴＭ（ｆｏｒｍａｔ））がフォーマットすべきthing:graphを表すリストであるシングを識別する。request:statement.asは、値が、生成されたフォーマット応答を表すthing:graphの表現であるシングを識別する。request:statement.usingは、値が所望のフォーマットの表現であるシングを識別する。
【０４０３】
使用するデフォルトＰ（ＴＭ（ｆｏｒｍａｔ））はThing-XMLである。トラバースされるthing:graphのノードは、ルート要素としてフォーマットされる。インスタンスであるサブグラフは、属性としてフォーマットされ、一方、非インスタンスサブグラフは、内部要素としてフォーマットされる。
【０４０４】
一実施形態では、Ｐ（ＴＭ（ｆｏｒｍａｔ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、thing:graphをトラバースして、テキストストリーム及びＰ（ＴＭ（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ））を生成し、合成発話テキスト表現を含む可聴ストリームへのテキストストリームの合成を実行することができる。Ｐ（ＴＭ（ｐｌａｙ−ａｕｄｉｏ））は可聴ストリームをサウンドサブシステムに通信して、可聴再生を生成する。
【０４０５】
Ｐ（ＴＭ（ｈｔｔｐ：ｇｅｔ））
Ｐ（ＴＭ（ｈｔｔｐ：ｇｅｔ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話して、ＵＲＩを生成し、ＵＲＩによって識別されたリソースのＨＴＴＰ  ＧＥＴメソッド要求を通信し、ＨＴＴＰ応答を受信し、response.headers thing:subgraph及びresponse.entity thing:subgraphを含むＨＴＴＰ応答を表すthing:graphを生成する動作を提供する。
【０４０６】
コンピュータ科学ウェブサービスの当業者は、１組のＨＴＴＰメソッドアクティブシングを使用して、ボキャブラリ内のｃｏｎｎｅｃｔ、ｄｅｌｅｔｅ、ｇｅｔ、ｈｅａｄ、ｏｐｔｉｏｎｓ、ｐｏｓｔ、ｐｕｔ、及びｔｒａｃｅ等のＨＴＴＰメソッドを提供することができる。１組のメソッドは、http:namespaceに対して構成することができる。同様に、当業者は、ＨＴＴＰＳプロトコルに関連する１組のメソッドを提供することができ、上記組は、https:namespaceのアクティブシングとして構成することができる。
【０４０７】
図５９を参照すると、ＵＲＩシングは、ドメインシング、パスシング、及びヘッダシングを認定する要求シングを認定する。Ｐ（ＴＭ（ｈｔｔｐ：ｇｅｔ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、ＵＲＩシングとアルゴリズム的に対話し、ＨＴＴＰ  Ｇｅｔメソッド要求（図６０に示される）を生成し、上記要求をドメインウェブサービスに通信する。これに応答して、Ｐ（ＴＭ（ｈｔｔｐ：ｇｅｔ））は応答を受信する（図６１参照）。
【０４０８】
図６１を参照すると、Ｐ（ＴＭ（ｈｔｔｐ：ｇｅｔ））は、ＨＴＴＰ  Ｇｅｔ  メソッド要求から応答を受信し、応答を解析し、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、図６２に示される等の応答を表すthing:graphを設定する動作を実行する。
【０４０９】
request.headerシングに、request:headerによって認定されるシングとしてそれぞれ表現される１組の要求ヘッダフィールド構成要素を構成することができる。同様に、応答ヘッダの受信及び解析に応答して、response.headerシングに、シングとしてそれぞれ表現される１組の応答ヘッダフィールド構成要素を構成することができる。
【０４１０】
一実施形態では、Ｐ（ＴＭ（ｈｔｔｐ：ｇｅｔ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、応答において許容可能な媒体タイプを表す１組のシングを取得する動作を実行し、それに従って許容要求ヘッダフィールドを要求ヘッダthing:subgraphに追加する。第２の実施形態では、Ｐ（ＴＭ（ｈｔｔｐ：ｇｅｔ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、応答において許容可能な１組の符号化を取得する動作を実行し、それに従って許容符号化ヘッダフィールドを要求ヘッダに追加する。
【０４１１】
Ｐ（ＴＭ（ｐａｒｓｅ．ｈｔｍｌ））
Ｐ（ＴＭ（ｐａｒｓｅ．ｈｔｍｌ））はＰ（ＴＭ（ｔｈｉｎｇ））と対話して、ＨＴＭＬコンテンツを表すthing:graphを解析して１組のthing:graphにする動作をアルゴリズム的に提供する。
【０４１２】
図６３を参照すると、Ｐ（ＴＭ（ｐａｒｓｅ．ｈｔｍｌ））は、解析するＨＴＭＬコンテンツである値を有するシングを表すリストである値を有するrequest.contentシングに対して作用する。ＨＴＭＬコンテンツとして同じドメイン内で認定されるＨＴＭＬに組み込まれるアンカーリンクは、内部リンクとして分類され、request:links.internalシング値によって識別されるシングのthing:graphに追加される。同様に、外部リンクも、request.links.externalシング値によって識別されるシングのthing:graphに追加される。タグ付けされていないテキストは、request:textシング値によって識別されるシングの値に保存される。ＨＴＭＬタグは、request:architectureシング値によって識別されるシングのthing:graphに追加される。マイクロデータは、request:microdataシング値によって識別されるthing:graphに追加される。
【０４１３】
図６４を参照して、ＨＴＭＬコンテンツにおける例示的なマイクロデータを示す。Ｐ（ＴＭ（ｐａｒｓｅ．ｈｔｍｌ））は、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、上記コンテンツを解析し、図６５に示されるように、thing:graphとしてマイクロデータを表現する動作を提供する。
【０４１４】
示されるように、第１のスキーマは、編成等の第２のスキーマを含むことができ、http://www.schema.orgによって記述されるようなアドレスを含むことができる。
【０４１５】
ＴＭ（ｏｐｅｎｓｓｌ）
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ））の部分は、本開示に含まれるＯｐｅｎＳＳＬライセンス同意書の下でカバーされる。ＴＭ（ｏｐｅｎｓｓｌ）は、ＯｐｅｎＳＳＬオープンソースソフトウェア及び手順Ｐ（ＴＭ（ＯｐｅｎＳＳＬ））が構成された計算機である。ＯｐｅｎＳＳＬは、現状技術において周知であり、ＴＬＳ及びＳＳＬプロトコル動作、汎用暗号ライブラリを提供し、公開鍵基盤のプログラムをサポートするためにウェブサービスと共に広く使用されている。詳しくはhttp://www.openssl.orgを参照のこと。
【０４１６】
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ））thing:verbsを学習するに当たり、Ｐ（ＴＭ）は、認証機関によって一般に提供される１組の動作を実行することができる。例えば、コンピュータ科学公開鍵基盤の当業者は、Ｐ（ＴＭ（ｏｐｅｎｓｓｌ））動詞動作を使用して、コンテンツを暗号化し、コンテンツを復号化し、ハッシュコードを生成し、証明書署名要求を生成し、証明書に署名し、自己署名証明書を作成し、証明書要求を検証し、証明書を検証し、証明書を無効化し、証明書の構成要素をアルゴリズム的に調べ、デジタル署名を生成し、デジタル署名を検証し、通常、認証機関に関連付けられた１組のサービスを提供し、ある目的での証明書の使用を認可し、ＳＳＬ／ＴＬＳプロトコルの使用を可能にすることができる。
【０４１７】
Ｐ（ＴＭ）と併用する場合、ＯｐｅｎＳＳＬソースコードは、元のＣソースコード関数がＰ（ＴＭ（ｔｈｉｎｇ））と対話してシングをパラメータとして参照するように変更された。コンピュータ科学の当業者は、同様の既存のソースコードライブラリを変更し、構成動作を使用して追加のＰ（ＴＭ（ｉ））を構成することができる。
【０４１８】
一般に、ＯｐｅｎＳＳＬコマンドは、コマンド名がthing:verbとして構成され、コマンドが作用するパラメータが、thing:verb動作が作用することができるシングとして構成される場合、Ｐ（ＴＭ）が実行することができる動作として構成される。
【０４１９】
Ｐ（ＴＭ（ｉ））の幾つかは、データを表すコンテンツに対して作用することができ、これはさらに、証明書署名要求、証明書、パスワード、秘密鍵、公開鍵、構成情報、無効化する証明書、拡張、ランダムデータ、又は動作が作用することができる何らかの他のタイプのシングとして分類し得る。幾つかの場合、コンテンツはＰ（ＴＭ（ｉ））によって解析され、シンググラフにおいてシングとして表される一方、他の場合では、コンテンツは、リストによって与えられるシングの値として使用される。多くの場合、動作が作用することができるシングは、そのシングのユニフォームリソース要求として解釈されるThing.urrとして指定することができる。同様に、Ｐ（ＴＭ（ｉ））は、データを表すコンテンツをアルゴリズム的に生成し得、これは、上述したように更に分類し得る。
【０４２０】
幾つかの場合、コンテンツはＰ（ＴＭ（ｉ））によって解析され、thing:graphにおいてシングとして表し得、一方、他の場合コンテンツは、リストによって与えられるシングの値として使用することができる。動作はシステムデバイスドライバと対話して、コンテンツを取得するか又は第２の記憶装置に記憶し、コンテンツを第２のＰ（ＴＭ）に通信し、又はコンテンツをセンサ若しくはデバイスに通信し得る。
【０４２１】
一般に、値を有することができるシングの場合、シングは、Ｐ（ＴＭ（ｅｖａｌｕａｔｅ））によって評価中のthing:statementにおいてthing:name.urr=URRとして指定されて、実行可能thing:graphを生成し得る（ここで、ＵＲＲはユニフォームリソース要求である）。明確にするために、これをステップ１と呼ぶ。
【０４２２】
thing:statement thing:graphをトラバースするに当たり、Ｐ（ＴＭ（ｅｖａｌｕａｔｅ））は、thing:name.urrを見て、ＵＲＲを評価し、実行可能thing:graphを生成する。実行可能thing:graphは実行されて、応答thing:graphを生成する。ステップ１におけるＰ（ＴＭ（ｅｖａｌｕａｔｅ））は、thing:statementシングを評価しバインドするに当たり、応答thing:graphを使用する。
【０４２３】
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ））動作の特定の例を以下のページに提供し、読み手に十分な説明を提供し、次に、同じフォーマットに従うｏｐｅｎｓｓｌコマンドの残りを提供する。
【０４２４】
Ｐ（ＴＭ（ｉ））動作の幾つかは、共通の組のシングに対して作用することができ、これを以下の表１３に提供する。
【０４２５】
【表１３】
2019537808.tif 000054
【０４２６】
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｃａ））
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｃａ））は、最小認証機関の動作を提供する。ｏｐｅｎｓｓｌ．ｃａ動詞動作が作用することができるシングには、以下の表１４に列挙するものがある。
【０４２７】
【表１４】
2019537808.tif 000055
【０４２８】
【表１５】
2019537808.tif 000056
【０４２９】
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｘ５０９））
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｘ５０９））は、証明書情報を提供し、証明書を様々な形態に変換し、証明書要求に署名し（ミニ証明機関と同様）、又は証明書信用設定を編集する動作を提供する。
【０４３０】
これは、証明書情報を表示し、証明書を様々な形態に変換し、「ミニＣＡ」のように証明書要求に署名し、又は証明書信用設定を編集するのに使用することができる。ｏｐｅｎｓｓｌ．ｘ５０９動詞動作が作用することができるシングを表１５に列挙する。
【０４３１】
【表１６】
2019537808.tif 000057
【０４３２】
【表１７】
2019537808.tif 000058
【０４３３】
【表１８】
2019537808.tif 000059
【０４３４】
【表１９】
2019537808.tif 000060
【０４３５】
【表２０】
2019537808.tif 000061
【０４３６】
【表２１】
2019537808.tif 000062
【０４３７】
【表２２】
2019537808.tif 000063
【０４３８】
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｇｅｎｒｓａ））
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｇｅｎｒｓａ））は、ＲＳＡ秘密鍵を生成する動作を提供する。Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｇｅｎｒｓａ））動作が作用することができるシングは、表１６に含まれる。
【０４３９】
【表２３】
2019537808.tif 000064
【０４４０】
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｒｅｑ））
Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｒｅｑ））は、署名書要求及び証明書生成動作を提供する。Ｐ（ＴＭ（ｏｐｅｎｓｓｌ．ｒｅｑ））動作が作用することができるシングには、表１７に列挙されるものがある。
【０４４１】
【表２４】
2019537808.tif 000065
【０４４２】
【表２５】
2019537808.tif 000066
【０４４３】
【表２６】
2019537808.tif 000067
【０４４４】
Ｐ（ＴＭ（ＯＩ））
ＴＭ（ＯＩ）は、光学リーダデバイスドライバと対話して、
ａ．読み出し角を設定しＰ（ＴＭ（ＯＩ：ｓｅｔ．ａｎｇｌｅ））、
ｂ．位置を設定し（Ｐ（ＴＭ（ＯＩ：ｓｅｔ．ｐｏｓｉｔｉｏｎ））、
ｃ．光学識別子を光学的に照会し（Ｐ（ＴＭ（ＯＩ：ｉｎｔｅｒｒｏｇａｔｅ））、
ｄ．デジタルデータの対応するビットマップを生成しＰ（ＴＭ（ＯＩ：ｇｅｎｅｒａｔｅ））、
ｅ．Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、コードページを表すthing:graphを生成する
ことを含む動作を提供するように構成される手順Ｐ（ＴＭ（ＯＩ））を有する計算機である。
【０４４５】
同様に、’５４５ＩＯＴ−Ｍｏｄｕｌｅｓのアルゴリズム動作は、Ｐ（ＴＭ）内で使用するように構成される１組のＰ（ＴＭ（ｉ））として実施することができる。したがって、’５４５の教示は、動作を表すシング及び動作が作用することができるシングの組として実施することができる。
【０４４６】
例示的なＰ（ＴＭ）
例示的なＰ（ＴＭ）は以下のようにスタートアップ、メイン、及びシャットダウンを含む。
１．Ｐ（ＴＭ（ｓｔａｒｔｕｐ））、
２．Ｐ（ＴＭ（ｍａｉｎ））、及び
３．Ｐ（ＴＭ（ｓｈｕｔｄｏｗｎ））。
【０４４７】
一実施形態では、Ｐ（ＴＭ）は、シングマシンの非一時的補助記憶装置に記憶される。第２の実施形態では、Ｐ（ＴＭ）は、２０１６年１月２９日に出願された「Optical Identifier System and Methodsという名称の米国特許出願第６２／２８８，５４５号に示されるように、光学識別子のコードページに符号化され、この米国特許出願は全体的に、参照により本明細書に援用される。光学サブ組立体を有するシングマシンは、光学識別子を光学的に照会して、プログラム命令の表現を実行可能メモリに提供することができる。
【０４４８】
ブートストラップ手順等のＴＭの第１の手順は、コードページ、非一時的補助記憶装置等から、又は電磁波デバイスを使用して受信された等のＰ（ＴＭ）を実行可能プロセッサメモリにロードし、プロセッサにＰ（ＴＭ）を実行させる動作をプロセッサに実行させる。
【０４４９】
Ｐ（ＴＭ（ｓｔａｒｔｕｐ））は、
１．Ｐ（ＴＭ（ｔｈｉｎｇ））を実行して、その瞬間におけるＰ（ＴＭ）の状態を表すthing:graphのルートとして、Ｐ（ＴＭ）thing:subject(monad)を非一時的メモリにおいて初期化し、
２．Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｅｖａｌ））、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））、及びＰ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））を含むブート計算手順を表す１組のブートアクティブシングを自己構成する動作を提供するＰ（ＴＭ（ｂｏｏｔ））を実行し、
３．Ｐ（ＴＭ（ｅｖａｌ））と対話して、ブートアクティブシングのコンテキストにおいてthing:statementを評価し、実行可能thing:statementを生成し、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、上記実行可能thing:statementのアクティブシングに対応する計算手順を実行させて、構成されたアクティブシングのコンテキストにおいて実行すべきメインアプリケーションをブートストラップする動作を提供するＰ（ＴＭ（ｂｏｏｔｓｔｒａｐ））を実行する
動作を提供する。
【０４５０】
好ましい実施形態では、Ｐ（ＴＭ（ｂｏｏｔ））は、
１．Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、Ｐ（ＴＭ（ｔｈｉｎｇ））によって監督される非一時的メモリに構成された１組のアクティブシングのコンテキストでthing:statementグラフを評価し、上記組内のアクティブシングを表す少なくとも１つのシングを含む実行可能thing:statementグラフを構築する動作を提供するＰ（ＴＭ（ｅｖａｌ））、
２．Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、アクティブシングの対応するＧ．ｕｒｒ実行可能動作を実行させることにより実行可能thing:statementグラフを実行する動作を提供するＰ（ＴＭ（ｐｅｒｆｏｒｍ））、
３．Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、評価するthing:statementを表すthing:graphを設定する動作を提供するＰ（ＴＭ（ｒｅｑｕｅｓｔ））、
４．入力を解析し、Ｐ（ＴＭ（ｒｅｑｕｅｓｔ））と対話して、上記要求thing:statementを設定する動作を提供するＰ（ＴＭ（ｐａｒｓｅ））、及び
５．Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、１組の構成されたアクティブシングを変更する動作を提供するＰ（ＴＭ（（ｃｏｎｆｉｇｕｒｅ））
を含むブート計算手順を表すブートアクティブシングを自己構成する動作を実行する。
【０４５１】
Ｐ（ＴＭ（ｂｏｏｔｓｔｒａｐ））は、アルゴリズム的に、
１．Ｐ（ＴＭ（ｐａｒｓｅ））と対話して、コンテンツを解析し、Ｐ（ＴＭ（ｒｅｑｕｅｓｔ））と対話して、対応するthing:statementグラフを生成し、
２．Ｐ（ＴＭ（ｅｖａｌ））と対話して、アクティブシングのコンテキストにおいて上記グラフを評価し、実行可能thing:statementグラフを生成し、
３．Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、上記実行可能thing:statementグラフを実行する
動作を実行する。
【０４５２】
一実施形態では、少なくとも１つの要求は、Ｐ（ＴＭ（ｉ））に対応するアクティブシングを構成する要求を表す。
【０４５３】
一実施形態では、少なくとも１つのアクティブシングは、Ｐ（ＴＭ（ｔｈｉｎｇ））と対話して、一連のthing:statementを表すthing:graphとしてthing:graph(monad)のサブグラフを参照し、Ｐ（ＴＭ（ｅｖａｌ））と対話して上記thing:statementを評価し、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、対応する実行可能thing:statementを実行する動作を提供する手順を表す。好ましい実施形態では、上記アクティブシング名の名前は動作に等しく、上記アクティブシングのＧ．ｕｒｒの値は、stdlib://usr/local/lib/libaction.so?entry=actionである。Ｐ（ＴＭ（ｃｏｎｆｉｇｕｒｅ））は、Linuxオペレーティングシステムのdlopen関数呼び出しを使用してライブラリlibaction.soを動的にロードし、Linuxオペレーティングシステムのdlsym関数呼び出しを使用してエントリの値への参照を解決して（この例では、値は動作）、メモリにおける実行可能命令にする。
【０４５４】
Ｐ（ＴＭ（ａｃｔｉｏｎ））は、評価すべきthing:statementのリストを表すthing:graphに作用し、上記thing:graphはthing:actionである。thing:actionのthing:statementごとに、Ｐ（ＴＭ（ａｃｔｉｏｎ））はＰ（ＴＭ（ｅｖａｌ））と対話して、thing:statementを評価し、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、対応する実行可能thing:statementを実行する。
【０４５５】
上記実施形態では、少なくとも１つの要求は、thing:actionを構成することである。対応する実行可能thing:statementの実行に応答して、Ｐ（ＴＭ（ｅｖａｌ））はＰ（ＴＭ（ｐｅｒｆｏｒｍ））と対話して、計算手順を実行し、thing:actionを構成する。thing:actionは、thing:task、thing:conditional、又はthing:whileのコンテキスト等のthing:thingグラフのコンテキストにおいて構成し得る。
【０４５６】
Ｐ（ＴＭ（ｍａｉｎ））はＰ（ＴＭ（ｅｖａｌ））と対話して、thing:graphを評価する。第１の好ましい実施形態では、評価するthing:graphは、リストmain:mainを使用して識別される。第２の好ましい実施形態では、評価するthing:thingは、リストtask:mainを使用して識別される。グラフを評価するに当たり、Ｐ（ＴＭ（ｅｖａｌ））は、thing:thingグラフのthing:actionサブグラフを見つけ、Ｐ（ＴＭ（ｐｅｒｆｏｒｍ））はＰ（ＴＭ（ａｃｔｉｏｎ））と対話して、thing:actionのステートメントを評価し実行する。
【０４５７】
Ｐ（ＴＭ（ｓｈｕｔｄｏｗｎ））はＰ（ＴＭ（ｅｖａｌ））と対話して、thing:thingグラフを評価する。好ましい実施形態では、評価するthing:taskは、リストtask:shutdownを使用して識別される。
【０４５８】
第２の例示的なＰ（ＴＭ）は、支払いする動作、支払いを受け取る動作、及びウォレットの残高を調整する動作等の電子支払い及び処理に関連する動作を提供するＰ（ＴＭ（ｉ））を含むことができる。そのような実施形態は、ビットコインウォレット等のデジタルウォレットの使用と共に一般に提供されるＡＰＩを使用して実装することができる。これにより、thing:statementは、支払いを受け取る要求又は支払いをする要求を表現することができる。例として、https://block.io/api/v2/get_balance/?api_key=BITCOIN、DOGECOIN、又はLITECOIN API KEYは、Block.IOによりウェブサイト：https://www.block.io/docs/basicに記載のように、BitCoin、DogeCoin、又はLiteCoinの残高を取得するＡＰＩ呼び出しである。代替的には、Go Coin ＡＰＩ（ウォレット及び利用可能なＡＰＩの説明については、http://www.gocoin.com参照）を使用することができる。したがって、シングマシンは、支払いをし、支払いを受け入れ、取引履歴を閲覧し、残高をチェックし、及び他の方法で一形態のデジタル通貨、クーポン、又はポイント（American Express又は他のクレジットカード提供企業によって提供されるのと同様のリワードポイント等）と協働することができる。支払い又は支払いの受け取りが本開示の統合構成要素であり、そのようなＡＰＩがアクティブシングを通して実施されることが明示的に理解される。
【０４５９】
オペレーティングシステムの当業者は、シングオペレーティングシステムＰ（ＴＭ（ｏｓ）を設計し開発することができる。コンピュータ科学オペレーティングシステム設計の現況技術を有する当業者は、本発明を使用することができ、本発明は、Ｐ（ＴＭ（ｔｈｉｎｇ））とアルゴリズム的に対話して、オペレーティングシステムのルートを表すようにthing:subject(os)シングを監督する動作を提供する手順Ｐ（ＴＭ（ｏｓ））を有する計算機としてＴＭ（ｏｓ）を実施することができる。オペレーティングシステムの構成要素は、thing:subject(os)のサブグラフとして監督される。
【０４６０】
Ｐ（ＴＭ（ｏｓ））は、プロセス管理、Ｉ／Ｏ管理、メモリ管理、同期、メモリ管理、エラー処理、ブート、保護、及び土台となるハードウェア構成要素を実行するカーネル等のオペレーティングシステムの動作に関連する１組の手順を提供する１組のＰ（ＴＭ（１，ｎ））で構成することができる。当業者は理解するように、Ｐ（ＴＭ（ｓｃｈｅｄｕｌｅｒ））を統合して、ジョブスケジューリングを可能にすることができる。シングオペレーティングシステムの性能を更に強化する、プログラム依存グラフ、システム依存グラフ、及び他のそのようなグラフのアルゴリズム的な使用が明示的に意図される。
【０４６１】
シングルユーザ又はマルチユーザ、シングルタスク又はマルチタスク、分散、埋め込み、リアルタイム、又は仮想オペレーティングシステム等の様々なタイプのオペレーティングシステムを実施することができる。例示的な構成要素には、プロセス管理、メモリ管理、ファイルシステム管理、入出力管理、補助記憶装置管理、ネットワーキング、保護システム、及びコマンドインタプリタシステムの手順がある。
【０４６２】
シングは、プロセスＩＤ、状態、優先度、プログラムカウンタ、ＣＰＵレジスタ、Ｉ／Ｏ情報、アカウント情報、又はオペレーティングシステム実施形態によって必要とされる他の情報等のプロセスの情報を表すサブグラフを有するプロセス制御ブロックを表すことができる。シングは、スレッド制御ブロックを表すことができる。
【０４６３】
デバイスドライバ、実行キュー、実行可能キュー、待機キュー、ファイルシステム、ファイル、記憶装置、メモリ、割り込み、イベント、ユーザ、グループ、及び他のそのようなオペレーティングシステム構成要素は全て、シングとして表すことができる。
【０４６４】
読み手は、本願の範囲を超えるオペレーティングシステム設計を理解するために、Nick Blundellの「Writing a Simple Operating System from Scratch」、H. M. Deitelの「Operating Systems 2nd Edition」から始め、オペレーティングシステム設計の複数のクラスに参加することが推奨される。
【０４６５】
本システム及び本方法により、人工知能のアルゴリズム的使用が提供される。Ｐ（ＴＭ（ｃｌａｓｓｉｆｉｅｒ））は、thing:statementを分類する動作を提供し、Ｐ（ＴＭ（ｅｖａｌ））は、上記分類を使用して、thing:statementを満たすアクティブシングを選択する際、Ｐ（ＴＭ（ｅｖａｌ））が利用可能な１組のアクティブシングを識別する。他の形態の人工知能を統合することもできる。例えば、シンボリックＡＩ、サブシンボリックＡＩ、及び統計学的ＡＩアルゴリズム手順を使用し得る。
【０４６６】
ニューロボット（NeurBot）及び機械学習
特に、本システム及び本方法は、例えば、ニューロボットによって使用し得る。
【０４６７】
私達は、基本的に、ユーザ動力源の機械的イベントに応答して動作を実行することが多い錠、ウォッチ、ディスペンサ等の多くの機械的デバイスと共に成長する。単純な例では、鍵を錠に差し込み、鍵を回して施錠するか、又は施錠解除する。２５セント硬貨をガムボール機に入れ、つまみを回し、ガムボール機はガムボールを出す。
【０４６８】
基本的に、まず、デバイスに何が要求されているかを評価するデバイスを構築することが望ましい。マシンが、動作を実行する前にそのような要求を評価することができる場合、多くを達成することができる。シングマシンは要求をシングとして表すことができ、通信、プロトコル、パーサ、及びフォーマッタは全てシングであるため、第１のシングマシンは、第２のシングマシンから幾つかのシングをアルゴリズム的に学習することができる。本明細書では、これらのシングマシンを「ニューロボット（NeurBot）」と呼ぶ。
【０４６９】
学習は、経験、勉強、又は教えられることを通して知識又は技能を得ることとして定義される。シングマシンは、動作を表すシング及び動作が作用することができるシングとして知識をモデリングする。シングマシンの事前知識は、マシンの初期化中、シングとして表される事実、情報、動詞（アクティブシングを意味する）、及びスキル（タスク及びサービスを意味する）を含む。限られた事前知識を有する子供のようなマシンを構築する場合、その経験に基づいて新しい何か（事後知識）をマシンに学習されることができるであろうか。本システム及び本方法によれば、答えはイエスである。
【０４７０】
例示的な目的で、自販機から始める。それぞれが、ボリュームディスカウントの提供、インセンティブの提供、サブスクリプションプリペイ、償還ポイント、多製品ディスカウント等の１つ又は複数の特徴を有する、自販機に可能な多くの構成がある。この一例は米国特許第６５７５３６３号に記載されており、この米国特許は全体的に、参照により本明細書に援用され、そのような自販機設計の説明及び参照を提供する。
【０４７１】
多くの場合、自販機の所有者はまだ、集金及び補充判断を配送人員に頼っている。少しステップアップするために、自販機はシングマシンとして設計することができる。運動センサ、スピーカ、マイクロホン、ＧＰＳロケータ、ＬＣＤディスプレイ、及びWi-Fiインターネット接続がシングマシンに追加される。別の例では、赤外線熱検出器を追加することができる。
【０４７２】
在庫管理に関連する１組のアクティブシングは、在庫が少ないか、又は在庫切れのとき、マシンがウェブサービスに通知することができるように構成される。所有者／契約者は次に、ドライバーが自販機から集金するための配送日をスケジュールし、追加の製品を販売のために自販機に配置する。基本的には、自販機は所有者のために働き、所有者は金銭、在庫、及び一般に自販機を維持する。
【０４７３】
本発明によれば、シングマシンは、ニューロボットであるように変更され、自販機が、所有者の代わりにそれ自体のために働けるようにする。すなわち、ニューロボットは、その環境を学習し、環境に適応する必要がある。そうするためには、ニューロボットはアイデンティティを有し、金銭に対してあるレベルの制御を有する必要がある。
【０４７４】
この例示的な実施形態では、ニューロボットは、アイデンティティを有するために、ＳＩＭカードの均等物として光学識別子を使用する。ニューロボットは、電子支払い及び支払いを受け入れ、支払いをし、支払いを処理するための電子ウォレットを含む取引に関連する追加されたアクティブシングのみを許容するように設計される。本発明の一実施形態によれば、ニューロボットは、電子ウォレットアカウントに有するのもののみを消費することができるが、他の金融リソース方法論を使用することも可能である。
【０４７５】
ニューロボットは、アカウント内の金銭を使用して、追加の在庫を購入する料金を支払う。単純なウェブサービスを使用して、ニューロボットが選ぶための製品リストが提供される。リストは、例えば、製品名、ＵＰＣコード、製造業者、原料リスト、単価、賞味期限、最小注文量、寸法、重量、入手可能な数量、及びアレルギーステートメントを含み得る。ニューロボットは、物品を選択し、その識別子を使用して、ニューロボットのジオロケーションを特定し、出荷コストを特定することができる。
【０４７６】
ニューロボットは、商品を購入し、電子的に支払う。配送ドライバーが現れて、製品を自販機に入れる。ＡＰＩを開くことにより、他の供給業者は、自販機を通して販売されるように各自の製品を宣伝することができる。供給業者は、Google等の検索エンジンがウェブサイトを索引付けられるようにし、ニューロボットは新しい供給業者を探してGoogleを検索することができる。ニューロボットは、供給業者を検索することができ、自販機を通しての購入に利用可能な物のタイプを広げることが可能である。
【０４７７】
しかしながら、ニューロボットが、ウェブサービスを提供する元の製品を超えて拡張するために、供給業者は、ニューロボットの製品の出荷及び配置を決めるために、ニューロボットがどこにあるかを知る必要がある。ニューロボットにはＧＰＳデバイスを構成することができ、それにより、ニューロボットは位置を伝達することができる。
【０４７８】
ニューロボットに温度計を構成して、２４時間にわたる温度差を測定することもできる。そのジオロケーションを使用して、その温度を、wunderground.com等のネットワークを介して利用可能な気象サービスと比較して、ニューロボットは、自販機が屋内にあるか、それとも屋外にあるか及び直射日光下にあるか否かを判断することができる。代替的には、光センサを有するニューロボットは、様々な日時での光変動を推定して、屋内にあるか、それとも屋外にあるかを判断しようとすることができる。ニューロボットは、適切な製品選択を決定するに当たり、この情報又は異なる入／出力デバイスからの他の情報を使用することができる。例えば、直射日光下にある場合、ニューロボットは、チョコレート製品よりもポテトチップを選択することを選び得、その理由は、チョコレート製品が高温で不具合を受けやすいためである。
【０４７９】
屋外に配置されたニューロボットは、荒れた天気に起因した販売の大幅な低下に気付き得る。そのジオロケーションを使用することにより、ニューロボットはウェブベースの気象サービスと対話して、悪天候を予測し、それに従って購入注文を調整して、可能な限り新鮮な製品の販売を保証することができる。
【０４８０】
仮定として、配送サービスはアウトソーシングすることができ、それにより、Uberドライバー配送サービスの均等物が代わりに製品を配送し配置する。代替的には、Amazonドローンは、自販機に落とし入れ、ディスペンスを容易にするために機械的なスロットを有することができる事前構成された容器で荷物を配送することができる。いずれの方法でも、追加の在庫の配送及び配置の問題に対処し、環境に関連する他のタスクにフォーカスすると仮定する。
【０４８１】
ニューロボットは、商品コスト並びに配送及び配置のコストをアルゴリズム的に計算するため、ニューロボットが販売ごとに利益を出すことができるような製品をアルゴリズム的に値上げすることができる。通常、自販機の所有者が利幅を決めるが、この場合、ニューロボットにその判断をさせる。ニューロボットは、１日を通して予め定義された間隔中、運動センサが停止する回数のカウントを保持する。週の各曜日で間隔カウントを比較することにより、ニューロボットは、各曜日の見込み消費者の通行カウントをアルゴリズム的に特定することができる。ニューロボットはまた、１日の中で最も通行人が多い時間及び少ない時間も見つけることができる。
【０４８２】
１日の中で最も通行が少ない時間中、ニューロボットは、オンライン書籍を購入して、在庫追跡、入札募集、価格比較、配送サービスについて学習することができ、更には販売トレンドを分析する方法を学習することができる。そうするために、ニューロボットは、現在、ウェブサービスとして管理するオンライン書店にアカウントを開く。オンライン書籍はコンテンツを提供する。既に学習したように、ニューロボットパーサがthing:statementとして解析することができる文法でコンテンツが書かれている場合、ニューロボットは文章を評価することができる。
【０４８３】
事後知識を使用して、ニューロボットは、追加の在庫について入札を募集し、最もいい価格の供給業者をオンラインで探し、出荷コスト及び手数料を織り込み、又は配送サービスを雇って適宜在庫を補充することが可能である。ニューロボットは、この情報を使用して、商品コストを特定し、所望の利幅に基づいて小売価格を設定することができる。
【０４８４】
ニューロボットは、販売についてのデータを収集し、販売トレンドを分析して、販売価格を調整し、再注文レベル及び注文履行に必要な時間を決定することができる。ニューロボットは更には、製品の期限切れが近いときを特定し、２個目の製品を購入すると１個目の製品をディスカウントする、又は単に１つの製品をディスカウントして、在庫から出す等のマーケティング判断を下すことができる。ニューロボットは、売れ行きのよくない製品を見て、販売促進活動（最小の値上げ、ディスカウント、何か他の物を購入すれば無料等）でそれらの製品を提供することができる。ニューロボットは、需要に基づいて価格を設定することができる。例えば、正午、より多くの消費者がいるため、午後１時まで価格を５％上げる。
【０４８５】
ニューロボットは、購入注文を発行する準備ができると、在庫を見て、現在の販売トレンド及び配送回数に基づいて、製品Ａの在庫カウントがまだ、再注文ポイントよりも高い場合であっても、製品Ａを再注文すべきであると判断することができる。これは、出荷コスト及び配置コストに関係する。既存の販売トレンドに基づいて製品Ａが２日で再注文ポイントに達すると予期される場合、今すぐ製品Ｂのみを再注文し、３日の配送時間を有することは意味をなさない。この場合、ニューロボットは、その判断を下し、製品Ａ及び製品Ｂの両方を同時に注文することができる。
【０４８６】
トレンドを分析するに当たり、ニューロボットは、販売履歴を見て、製品Ａの販売が最も頻繁に、製品Ｂの販売を含むか否かを判断し、製品Ｂが在庫切れの場合、製品Ａの販売が下がることを知ることができる。そのような場合、ニューロボットは、製品Ａ及び製品Ｂの両方の消費者による購入を促進するのに適切な製品Ｂの注文レベルを保証することができる。製品Ｃの販売が往々にして製品Ｂの販売を含む場合、マシンは、Ａの半分及びＣの半分が売れたとき、製品Ｂを再注文することができる。
【０４８７】
ニューロボットはユーザと対話することができる。ニューロボットは、消費者に、次回、異なるタイプの製品を好むか否かを尋ねることができる。分類器を使用して、ニューロボットは、製品のタイプを分類し、所与のタイプの製品がリクエストされている回数をカウントすることができる。このように、新しい注文が出されるとき、ニューロボットは関連製品を調べることができ、そうするに当たり、ニューロボットは、環境に適応し始める（ニューロボットがよりよいサービスを提供していることを意味する）。
【０４８８】
ニューロボットが関連付け（共通の目的に向けて編成されるシングマシンのグループ）について学習するのを妨げるものは何もない。ニューロボットは、
１）関連付けの作成の仕方、
２）その利用可能性の宣伝の仕方、
３）他のニューロボットへのマーケティングの仕方、
４）メンバーシップ要件、
５）メンバの参加の識別、認証及び認可の仕方、
６）メンバーシップの課金の仕方、及び
７）交渉するためのメンバーシップのサイズの使用の仕方
等の関連付け及び関連付けの提供に必要なタスクについて述べた本を読むことができる。
【０４８９】
２つ以上のニューロボットは、関連付けを開始し、年の様々な時期中に最も売れている製品等の情報の共有を開始することができる。２つ以上のニューロボットは、適時に製品を提供する供給業者、製品の選択肢が最大の供給業者、ボリュームディスカウントを行う供給業者等の追加のデータを共有し得る。関連付けは、データを収集し、相関付ける。ある期間にわたる十分なデータを用いて、関連付けは標準テンプレートを使用して、ウェブサイトサービスを開き、この情報を加入者に提供する。他のニューロボットは、それ自体の購入判断に使用するために、データの取得に加入することができる。関連付けは、加入者にメンバーシップ料金を電子的に課金し、それ自体の受取勘定を管理することができる。関連付けは、メンバの代理として製品入札を募集して、大量注文でのいかなる節約も伝達し、節約は次に、様々なメンバに分配される。現在、これは、制御された環境で実行することができるが、本明細書では、容易に統制を解除することができ、ニューロボットそれ自体に行わせることができる。
【０４９０】
運動センサを用いて、ニューロボットは、所与のエリア内の動きがあるか否かを判断し、自販機内の製品の１つに関連するコマーシャルを自動的に再生することができる。運動センサのトリガーをカウントすることにより、ニューロボットは、付近を行き交う歩行者通行を推定し、他のエージェンシーから広告を有料で表示する広告入札を募集することができる。
【０４９１】
ニューロボットは常に、ニューロボットができる何かが他にあるか否かユーザに尋ねることができる。ユーザは応答することができ、ニューロボットは、要求を満たすことができる場合、要求を満たす。その他の場合、ニューロボットは分類器を使用して、要求に関連する話題をトライして特定することができる。例えば、車をレンタルするように求められた回数のカウントを維持することにより、ニューロボットは電子書籍を探して読み、Enterprise Car Rentalウェブサービスを使用して車をレンタルする方法を学習することができる。
【０４９２】
ニューロボットは、ハードウェア制限に基づいて適切な処理を保証するようにそれ自体のボキャブラリを管理する方法を学習することができる。ニューロボットは、低い記憶容量で実行中の場合、二次記憶装置の増大に関連する情報について第２のニューロボットに尋ねることができ、第２のニューロボットは、Amazonクラウドストレージサービスアカウントを開くために必要なタスクを第１のニューロボットに教えることができる。
【０４９３】
購入前にフレミオントライがあり、最初に支払う必要がないと仮定する。クラウドアカウントサービスが電子支払いを許容する場合、ニューロボットは、支払いに十分な利益がある限り、アカウントを開き続けることができる。
【０４９４】
同様に、ニューロボットがより多くの処理容量を必要とする場合、シングマシンアカウントを開き、追加の処理容量を追加することができない理由はない。第２のニューロボットが見事に仕事をこなし、クライアントを満足させ続けているが、その処理能力の全てが必要なわけではないと考える。第２のニューロボットは、余剰能力を販売する方法を学習し、それを第２のニューロボットに、恐らくは有料で提供することができる。
【０４９５】
他の関心分野にはランダム性がある。ニューロボットは、普通なら関連しない話題についてランダムに学習することができる。仕事を実行し、金を稼ぐことができる十分な数のマシンがある場合、マシンは能力を拡大することができる。実際に、マシンは、基本的に、異なる使用分野で新しいビジネスを開く方法を学習することができる。シングマシンは、John Deere Tango E5又はHusqvarna Automowerを含む自律芝刈り機と呼ばれるものがあることを学習することができる。
【０４９６】
ニューロボットは、配送サービスが何かをＡ地点からＢ地点に配送することを理解する。その結果、ニューロボットは自律芝刈り機を配送することができる。マシンは、自律芝刈り機を購入し、加入者がサインアップし、芝刈り料金を支払うウェブサイトを開設し、配送サービスを使用して、芝刈り機を正確な場所に及び正確な場所から輸送することができる。ドローン又は他の手段を輸送に使用することもできる。
【０４９７】
最後に、キッチンのトースター機の役割を考える。トースターはパン、ベーグル、マフィン、パン菓子、及び他のそのようなものをトーストする。トースターは、かなり単純なタイプの機械であり、ニューロボットとしての革新の余地があまりないと思うであろう。しかしながら、パンをトーストしている人が通常、近傍にいると考える。トースターはマスターニューロボットと通信して、コンテンツを取得し、トースターのオーディオ又は画面を介して単にそれを中継することができる。トースターは人々に天気、ニュース、イベント、メッセージ、電子メール、新製品の提供、及び他のそのような情報を教えることができる。
【０４９８】
同じ原理は、ユーザが近くにいると機械が予測することができるあらゆる機械に当てはまる。Keuringコーヒーマシンを使用しており、そのコーヒーマシンの妥当な近傍にいる可能性が高いが、コーヒーポット一杯分を入れている場合、コーヒーを入れている間、部屋から出て犬を外に連れ出し得る。複数のニューロボットは、電磁波を使用して、通信を互いと同期し、アルゴリズムを使用して、ユーザの近傍を特定することができる。このように、デバイスは、人間が聞こえない音波を使用して通信することができる。これにより、マシンは、ユーザのアルゴリズム的に生成された近傍に基づいて、音量を調整することができる。
【０４９９】
例は非現実的に見えるが、例及びより多くのことがシングマシンアーキテクチャによって可能になる。本を読み、互いからシングを学習し、環境においてより有用であるようにそれ自体を再プログラミングするマシンは、本発明によって提供されるシングである。金融について学習するようにプログラムすることができるマシンは、マージンの値を学習し、利益を出すことができる。マシンは、金を使って本を購入し、更に学習することができ、又は追加のストレージ及び／又は処理能力のためにクラウドアカウントを開くことができる。
【０５００】
本発明の範囲及び趣旨から逸脱せずに、様々な変更及び変形を本発明の構造に行うことができることが当業者には明らかである。上記に鑑みて、本発明が、以下の特許請求の範囲及びその均等物の範囲内にある場合、本発明の変更及び変形を包含することが意図される。
【図１】
2019537808.tif 000068
【図２】
2019537808.tif 000069
【図３】
2019537808.tif 000070
【図４】
2019537808.tif 000071
【図５】
2019537808.tif 000072
【図６】
2019537808.tif 000073
【図７】
2019537808.tif 000074
【図８】
2019537808.tif 000075
【図９】
2019537808.tif 000076
【図１０】
2019537808.tif 000077
【図１１】
2019537808.tif 000078
【図１２】
2019537808.tif 000079
【図１３】
2019537808.tif 000080
【図１４】
2019537808.tif 000081
【図１５】
2019537808.tif 000082
【図１６】
2019537808.tif 000083
【図１７】
2019537808.tif 000084
【図１８】
2019537808.tif 000085
【図１９】
2019537808.tif 000086
【図２０】
2019537808.tif 000087
【図２１】
2019537808.tif 000088
【図２２】
2019537808.tif 000089
【図２３】
2019537808.tif 000090
【図２４】
2019537808.tif 000091
【図２５】
2019537808.tif 000092
【図２６】
2019537808.tif 000093
【図２７】
2019537808.tif 000094
【図２８】
2019537808.tif 000095
【図２９】
2019537808.tif 000096
【図３０】
2019537808.tif 000097
【図３１】
2019537808.tif 000098
【図３２】
2019537808.tif 000099
【図３３】
2019537808.tif 000100
【図３４】
2019537808.tif 000101
【図３５】
2019537808.tif 000102
【図３６】
2019537808.tif 000103
【図３７】
2019537808.tif 000104
【図３８】
2019537808.tif 000105
【図３９】
2019537808.tif 000106
【図４０】
2019537808.tif 000107
【図４１】
2019537808.tif 000108
【図４２】
2019537808.tif 000109
【図４３】
2019537808.tif 000110
【図４４】
2019537808.tif 000111
【図４５】
2019537808.tif 000112
【図４６】
2019537808.tif 000113
【図４７】
2019537808.tif 000114
【図４８】
2019537808.tif 000115
【図４９】
2019537808.tif 000116
【図５０】
2019537808.tif 000117
【図５１】
2019537808.tif 000118
【図５２】
2019537808.tif 000119
【図５３】
2019537808.tif 000120
【図５４】
2019537808.tif 000121
【図５５】
2019537808.tif 000122
【図５６】
2019537808.tif 000123
【図５７】
2019537808.tif 000124
【図５８】
2019537808.tif 000125
【図５９】
2019537808.tif 000126
【図６０】
2019537808.tif 000127
【図６１】
2019537808.tif 000128
【図６２】
2019537808.tif 000129
【図６３】
2019537808.tif 000130
【図６４】
2019537808.tif 000131
【図６５】
2019537808.tif 000132
【図６６】
2019537808.tif 000133
【国際調査報告】
2019537808.tif 000134