TWI797099B - 物機器系統及方法 - Google Patents

物機器系統及方法 Download PDF

Info

Publication number
TWI797099B
TWI797099B TW106142927A TW106142927A TWI797099B TW I797099 B TWI797099 B TW I797099B TW 106142927 A TW106142927 A TW 106142927A TW 106142927 A TW106142927 A TW 106142927A TW I797099 B TWI797099 B TW I797099B
Authority
TW
Taiwan
Prior art keywords
thing
executable
action
machine
things
Prior art date
Application number
TW106142927A
Other languages
English (en)
Other versions
TW201835786A (zh
Inventor
查爾斯 諾斯魯普
Original Assignee
查爾斯 諾斯魯普
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 查爾斯 諾斯魯普 filed Critical 查爾斯 諾斯魯普
Publication of TW201835786A publication Critical patent/TW201835786A/zh
Application granted granted Critical
Publication of TWI797099B publication Critical patent/TWI797099B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Massaging Devices (AREA)
  • Confectionery (AREA)
  • Prostheses (AREA)

Abstract

揭示用於取得知識的第一(P(TM))的電腦實現的方法。該方法包括以下步驟:執行第一P(TM(i)),以與P(TM(thing))交互作用,以設定代表內容的第一物,執行第二P(TM(i)),以與P(TM(thing))交互作用,以剖析第一物的內容,以作為代表敘述的第二物,執行第三P(TM(i)),以與P(TM(thing))交互作用,以估算第二物的敘述,以計算代表可執行敘述的第三物,以及執行第四P(TM(i)),以與P(TM(thing))交互作用,以執行第三物的可執行敘述,第四P(TM(i))在執行可執行敘述時與P(TM(thing))交互作用,以設定代表後設知識的一或更多個物。

Description

物機器系統及方法
此案主張於2016年12月7日所提出的標題為「THING MACHINE SYSTEM AND METHOD」的第62/431,143號的美國臨時專利申請案的權益,其整體內容特此以引用方式併入本文。
本發明關於電腦架構及設計,且更具體而言是關於一種物機器(Thing Machine),此物機器使用多維圖表模型在非暫時性記憶體中將物機器可執行的行動及可受行動作用的物(Thing)表示為所支配(administer)的物的實例。
我們已經使用網頁瀏覽器來呈現網頁四分之一個世紀了。瀏覽器已顯著地進化了超過25年,但到頭來,其仍然使用客戶端伺服器模型來呈現網頁。在最近的瀏覽器中,小型文字檔案(cookie)資訊現在可同步在雲端中,使得我們的狀態資訊在我們所使用的不同裝置之間共享。
在那25年期間,網路的主要存取行為是經由使用桌上型及膝上型電腦來進行的。提供網頁瀏覽器的行動裝置於1996年的時期開始。九年之後,Google宣布一半以上的Google搜尋行為現在是起源於行動裝置(至少在美國內)。
重要的是注意到大量的多於50億的網頁並不是行動友善的(mobile friendly)。例如,在2016年,估計54%的小型企業擁有網站,且只有彼等網站中的64%是行動友善的。因此,只有37%的小型企業擁有行動友善的網站。有趣的是,注意小型企業佔據了每年美國內一半以上的銷售量。
因為缺乏行動友善的網頁而沮喪的許多使用者已下載了零售的行動應用軟體來使得他們的體驗是更富有成效的。各個應用軟體專用於特定的業務,且應用軟體的圖標隨著下載越來越多應用軟體而消耗了螢幕顯示器上的佔據空間(real estate)而最終導致雜亂。作為最終使用者,我必須花費時間組織手機上的應用軟體,使得我可富有成效地導航無數的圖標來找到我正在搜尋的正確應用軟體。不斷更新手機的作業系統應用程式設計介面(API)需要專屬的研發團隊來確保手機應用軟體是最新的。此舉添加了許多小型企業根本不能負擔的費用。
網路啟用的語音啟動的裝置變得越來越常見。一個世代的小孩正成長在知道他們可詢問他們的手機關於他們朋友的房子的方向的環境下。智慧型手機、警報鐘、智慧型手錶、智慧型TV、Amazon Echo、家用自動化系統及甚至是摩托車頭盔(Motorcycle Helmet)僅是語音啟動的裝置的幾個實例。
網路啟用的裝置包括了恆溫器、鎖、攝影機、發電機、咖啡機、洗衣機及烘乾機、燈光開關、保全系統、玩具、灌溉系統及許多其他裝置及感測器。此互連的世界有時稱為物聯網
假設,若你能站在網際網路的中心中且向外看向邊緣,你會看見所有物被連接到網際網路。我們將此稱作是裝置及感測器的物的聯網 。若你走到邊緣,撿起一個裝置,且往回朝向中心看,你會看見所提供的服務,且此等服務稱為服務聯網
在某人認識到一項服務是被提供的物時,世界變得複雜,且突然在作為裝置及感測器的物的聯網與為服務的物的聯網之間存在著灰色區域。實體物及虛擬物對物聯網 的意義添加了一定級別的模糊度,且此舉在市場中產生了混淆。
為了進一步複雜化物,許多實體裝置通常可使用多個協定來進行通訊,例如:GSM、CDMA、LTE、SS7、Zigbee、Z-Wave、WeMo、近場通訊(NFC)、藍牙、線程(Thread)、BLE及其他者。例如,在使用我們的手機的情況下,我們可藉由僅將我們的手機伸向現金收銀機來使用NFC進行付款。類似地,我們可使用藍芽來將我們的手機與車用音訊系統配對及連接。在此等情況中沒有一個是裝置使用網際網路協定的,然而我們仍會將手機視為物聯網的物。
自從2005年已賣出了超過3500萬個可相互運作的Z-Wave裝置(Z-Wave聯盟)。Z-Wave網路控制器用來支配你的Z-Wave裝置網路。技術上,網際網路就緒的Z-Wave網路控制器是用來在網際網路上通訊的,但此控制器仍然使用Z-Wave來向Z-Wave裝置通訊。此舉在物聯網的定義上添加了另一層混淆性,因為Z-Wave裝置是物,但他們與可能是或可能不是物聯網的物的控制器通訊。
物聯網 的定義上完全如此混淆的情況下,也難怪國際電信聯盟在他們物聯網的說明中甚至不使用關鍵字「 網際網路 」。確實,他們將其界定為: 用於資訊社會的全球基礎結構,基於現存的及進化的可相互運作的資訊及通訊技術藉由將(實體或虛擬的)物互連來允許先進的服務(ITU-T)。 我們都可同意的一件事是:存在著物
我們將物分類以描述他們及歸類他們。某些物是概念,像是金錢的值、法定貨幣、例如為出生證明、版權、頭銜、銷售票據或財產的文件。物可表示事件、警示,或量測單位、地理位置,或甚至時間。其他物為物體,例如裝置及感測器、手機、Ipad或網頁。甚至行動也是物,例如呈現以下形式:不要只是站在那,做點什麼。
第1圖是一示意圖,繪示一個人如何可反應於命令式的命令的原始流程圖。首先,以動詞行動啟用我們的感官中的一或更多者,例如聽教練告訴你接下來要做什麼。你會使用用於特定語言的聆聽詞彙,來剖析說出的用詞且產生表示命令式命令的想法。接下來,你估算命令以判定接下來要做什麼。我正確地了解了嗎?我能這樣做嗎?我想要這樣做嗎?也許我累了且我反而需要休息。
有時候我們產生回應(例如我們了解了我們被要求之事的應答),而其他時候回應是執行行動本身。我們可能豎起大姆指,作出面部表情來指示同意或不高興,或使用我們用於給定語言的口語詞彙來傳達OK。或者,回應於原地慢跑的指令,我們就開始原地慢跑。
用詞「動詞」本身是一個名詞,意指:通常是句子的主要部分中的一者且表達行動、發生或存在狀態的用詞(參照麥立曼韋伯斯特辭典(Merriman Webster Dictionary))。行動是進行某事的事實或過程。
我們可以說,某些物表達了行動,而其他物為可受行動作用的物。此舉將我們引導到物的特異性:所有事物皆為物
在先前技術的目前狀態中,短語「物聯網」具有多個定義,此等定義主要是針對連接到網際網路的裝置及感測器,而不是例如為向訂戶提供的服務的物,此等訂戶由他們的訂戶識別碼及他們的密碼所識別,此識別碼及密碼中的各者是物。此舉對於可將要實施為機器碼的演算法程序的實施方式建模的方式提供了限制,因此添加了低效性及成本。
本發明的實施例提供了一種物機器,此物機器使用多維圖表模型在非暫時性記憶體中將此物機器可執行的行動及受此等行動作用的物表示為所支配的物的實例。
根據一個態樣,用於取得知識的第一(P(TM))的電腦實現的方法包括以下步驟:執行第一P(TM(i)),以與P(TM(thing))交互作用,以設定代表內容的第一物,執行第二P(TM(i)),以與P(TM(thing))交互作用,以剖析第一物的內容,以作為代表敘述的第二物,執行第三P(TM(i)),以與P(TM(thing))交互作用,以估算第二物的敘述,以計算代表可執行敘述的第三物,以及執行第四P(TM(i)),以與P(TM(thing))交互作用,以執行第三物的可執行敘述,第四P(TM(i))在執行可執行敘述時與P(TM(thing))交互作用,以設定代表後設知識的一或更多個物。
根據另一態樣,一種電腦式系統包括:一或更多個電腦式處理器,以及耦接到一或更多個電腦式處理器的電腦式記憶體。電腦式記憶體儲存電腦可讀取指令,電腦可讀取指令在由一或更多個電腦式處理器執行時使一或更多個電腦式處理器執行一方法。該方法包括以下步驟:藉由執行對應於第一P(TM(i))的電腦可讀取指令的第一區段,執行第一P(TM(i)),以與對應於P(TM(thing))的電腦可讀取指令的另一區段交互作用,以設定代表內容的第一物,藉由執行對應於第一P(TM(i))的電腦可讀取指令的第二區段,執行第二P(TM(i)),以與對應於P(TM(thing))的電腦可讀取指令的其他區段交互作用,以剖析第一物的內容,以作為代表敘述的第二物;藉由執行對應於第一P(TM(i))的電腦可讀取指令的第三區段,執行第三P(TM(i)),以與對應於P(TM(thing))的電腦可讀取指令的其他區段交互作用,以估算第二物的敘述,以計算代表可執行敘述的第三物,以及藉由執行對應於第一P(TM(i))的電腦可讀取指令的第四區段,執行第四P(TM(i)),以與對應於P(TM(thing))的電腦可讀取指令的其他區段交互作用,而與P(TM(thing))交互作用,以執行第三物的可執行敘述。
在一些實施方案中,當執行可執行敘述時,P(TM)可以與對應於P(TM(thing))的電腦可讀取記憶體的其他區段交互作用,以設定代表後設知識的一或更多個物。此外,在典型的實施方案中,P(TM(thing))對應於電腦可讀取記憶體的另一區段,在執行時造成一或更多個電腦式處理器組織或管理物及/或物之間的任何可變關係。
根據示例性實施方案,物機器包含處理器、非暫時性記憶體及/或非暫時性電腦可讀取媒體及可執行機器碼P(TM)。P(TM)包括具有一或更多個可執行機器碼P(TM(i))行動的第一可執行機器碼行動集合,其中各個可執行機器碼P(TM(i))行動經配置為模型的演算程序的實施方式,其中第一P(TM(i))提供在物機器的該非暫時性記憶體中自我配置第一物詞彙的行動,該物表示該處理器可執行為行動的物及可受行動作用的物集合,及其中至少一個P(TM(i))機器碼行動經執行為在物機器的非暫時性記憶體中配置第二物詞彙,此第二物詞彙表示核心詞彙,可經由此核心詞彙提供應用。
本系統及方法對電腦機能及能力且甚至是電腦的定義提供了新穎的改良,在本文中稱為物機器。
描述可執行行動的物可以圖靈機的意義來表達。圖靈機是可執行程序來從輸入變數集合判定結果集合的假想計算機器的數學模型。 對於i=(1,n)而言,TM(i)是可截取輸入集合、執行程序行動P(TM(i))及產生輸出集合的計算機器。
可能存在著任何數量的此等機器,其中各個P(TM(i))執行程序行動且潛在地產生輸出。第一P(TM(i))的輸出可為第二P(TM(i))的輸入,且P(TM(i))的集合通常可平行執行。
我們可向此等行動分配有意義的名稱,類似於我們命名例如為說話、聆聽、估算(evaluate)、回應(respond)等等的動詞的方式。藉由添加執行動詞行動,我們可要求機器執行特定命名的行動。某些機器(例如Amazon Echo或Apple Siri)可以此方式回應語音命令。Alexa,再次訂購紙巾。Siri,現在幾點?在各個實例中,我們要求機器執行某些行動,例如再次訂購一個項目或回答問題。
為了滿足要求,機器首先需要估算被要求了什麼。在某些態樣中,此舉與要求二年級生將21減去7類似。此序列包括使用英語聆聽詞彙來將詞典(lexicon)剖析成想法、估算想法指的是什麼、選擇行動、執行行動及使用英語口語詞彙來傳達回應。或者,二年級生可能聳聳他們的肩膀且回覆:我不知道。
亦注意的是,要求機器執行某些行動並不暗示著針對作出要求的各個人執行相同的動作。例如,考慮輸入到網頁瀏覽器中的URL,例如http://www.thinglanguage.com/v1/index.html。藉由輸入URL,你基本上是在要求瀏覽器取得及顯示由URL所識別的物。識別碼及相對應的資源都是物。
要求他們的瀏覽器取得及顯示相同的URL的兩個人可能擁有兩個不同的結果,即使他們都輸入了相同的URL。在一個情況下,內容可能是特定於個體的。在另一情況下,HTTP要求標頭可能包括由網路伺服器用來建構資源內容的狀態資訊。重要的是,認識到URL可識別某物但顯示什麼是不同的事。
物機器提供了一種獨特的方式,此方式基於適應於物機器的交互作用的開機物機器詞彙來管理及解譯所接收到的要求,而造成對於物機器的詞彙的更改,其中此詞彙提供了一個基礎,物機器可經由此基礎來執行行動。其結果是,且如本文中所展示地,物機器能夠解譯、行動及適應所接收到的要求,同時增加解譯及行動的能力。物機器所接收到的要求、交互作用及要求的回應是基於將事物歸類為行動物(Action Thing)(其為是行動的動詞)或可受為行動物的物作用的物(在本文中亦稱為非行動物)來執行的。
如上所述,在物的特異性中,物可表示可執行的行動,或可受可執行行動作用的物。如本文中所解釋及說明的,物機器將物組織為thing:graph,其中圖表的節點表示物,而thing:graph內的弧線表示物之間的可變(mutable)關係。
表示可執行行動的物在本文中稱為動詞物(thing:verb),而一系列的thing:verb是動詞詞彙物。動詞詞彙及可受動詞行動作用的物為詞彙物。簡而言之,在使用最小限度的詞彙的情況下,本系統及方法可使用通用量化來斷言:若曾經存在著是由物機器所接收的要求的物,則物機器剖析此要求,接著在物機器的可用詞彙的上下文下估算此要求以選擇適當的動詞,且執行動詞的相對應行動。經執行的行動造成表示回應的物的集合。此概化允許對於並不產生語法回應的某些行動而言,回應是空的物集合。有時候,遵守被執行的行動是充分的回應,例如停機動詞的情況。
概觀
下文提供了物機器及相關聯的詞彙的概觀,且包括三個主要部分: 1. 物圖表資料模型(Thing Graph Data Model)說明,將物描述為具有包括關係集合的非可變組分(non-mutable component),此關係集合包括物之間的可變關係。 2. 架構概觀,提供物機器架構的高階概觀。 3. 物語言部分,提供物語言中的書面文件的介紹。
物機器結構
第2圖是依據本發明的一個實施例的示意圖,繪示物機器100的一部分。如由第2圖所示,物機器100包含記憶體102、處理器104及非暫時性輔助儲存裝置106,各者透過本端匯流排或允許在物機器100內進行通訊的本端介面108通訊耦接。
記憶體102具有儲存在其中的軟體120,此軟體界定本文中所述的機能。物機器100亦包含輸入及輸出(I/O)裝置110(或周邊裝置)。本端介面108可例如但不限於為一或更多個匯流排或其他有線或無線連接,如本領域中習知的。本端介面108可具有額外的構件,為了簡單起見忽略了此等額外構件,此等額外構件例如為用來允許通訊的控制器、緩存器(快取記憶體)、驅動器、中繼器及接收器。進一步地,本端介面108可包括位址、控制及/或資料連接以允許在上述元件之中進行適當的通訊。
處理器104是用於執行軟體(特別是儲存在記憶體102中的軟體)的硬體裝置。處理器104可為任何定製的或市售的單核心或多核心處理器、中央處理單元(CPU)、在與物機器100相關聯的若干處理器之中的輔助處理器、基於半導體的微處理器(呈現微晶片或晶片組的形式)、巨集處理器或大致上用於執行軟體指令的任何裝置。
記憶體102可包括揮發性記憶體構件(例如隨機存取記憶體構件(RAM,例如DRAM、SRAM、SDRAM等等))及非揮發性記憶體構件(例如ROM、硬碟、磁帶、CDROM等等)中的任何一者或組合。並且,記憶體102可併入電子、磁性、光學及/或其他類型的儲存媒體。注意,記憶體102可具有分佈式架構,其中各種元件相對於彼此位在遠端,但可由處理器104存取。
依據本發明,軟體120界定由物機器所執行的機能。記憶體102中的軟體120可包括一或更多個單獨的程式,此等程式中的各者包含用於實施物機器100的邏輯函數的可執行指令的有序列表(listing),如下文所述。作為一實例,軟體120可界定剖析器122、估算器124、執行器126及格式化器128,此等元件的功能在本文中描述。
記憶體102可包含作業系統(O/S)122。作業系統基本上控制了物機器100內的程式的執行,且提供了排程、輸入-輸出控制、檔案及資料管理、記憶體管理及通訊控制及相關的服務。
I/O裝置110可包括輸入裝置,例如但不限於鍵盤、滑鼠、掃描器、傳聲器等等。並且,I/O裝置110亦可包括輸出裝置,例如但不限於印表機、顯示器等等。最後,I/O裝置110可更包括透過輸入及輸出兩者來進行通訊的裝置,例如但不限於調變器/解調變器(數據機;用於存取另一裝置、系統或網路)、射頻(RF)或其他收發器、電話介面、橋接器、路由器或其他裝置。
在系統物機器100處於操作中時,將處理器104配置為執行儲存在記憶體102內的軟體120,以向及自記憶體102傳遞資料,且依照軟體120大致控制物機器100的操作,如上文所解釋的。
在物機器100的機能處於操作中時,將處理器104配置為執行儲存在記憶體102內的軟體120,以向及自記憶體102傳遞資料,且依照軟體120大致控制物機器100的操作。藉由處理器104讀取作業系統122(也許是緩存在處理器104內),且接著加以執行。
在以軟體120實施物機器100時,應注意的是,可將用於實施物機器100的指令儲存在任何電腦可讀取媒體上以供由任何電腦相關的裝置、系統或方法使用或與任何電腦相關的裝置、系統或方法結合使用。在某些實施例中,此類電腦可讀取媒體可相對應於記憶體102或儲存裝置106中的任一者或兩者。在此文件的上下文下,電腦可讀取媒體是電子、磁式、光學或其他實體裝置或手段,此其他實體裝置或手段可包含或儲存電腦程式以供由電腦相關的裝置、系統或方法使用或與電腦相關的裝置、系統或方法結合使用。用於實施本系統的指令可實施於任何電腦可讀取媒體中以供由處理器或其他此類指令執行系統、設備或裝置使用或與處理器或其他此類指令執行系統、設備或裝置結合使用。儘管以藉由實例的方式提及處理器104,此類指令執行系統、設備或裝置在某些實施例中可為任何基於電腦的系統、含處理器的系統或可從指令執行系統、設備或裝置提取指令且執行此等指令的其他系統。在此文件的上下文下,「電腦可讀取媒體」可為可儲存、傳遞、傳播或輸送程式以供由處理器或其他此類指令執行系統、設備或裝置使用或與處理器或其他此類指令執行系統、設備或裝置結合使用的任何手段。
此類電腦可讀取媒體可例如但不限於為電子、磁式、光學、電磁、紅外線或半導體系統、設備、裝置或傳播媒體。電腦可讀取媒體的更特定的實例(非窮舉列表)會包括以下項目:具有一或更多個導線的電接連(電子)、可攜式電腦磁碟(磁式)、隨機存取記憶體(RAM)(電子)、唯讀記憶體(ROM)(電子)、可抹除可程式化唯讀記憶體(EPROM、EEPROM或快閃記憶體)(電子)、光纖(光學)及可攜式光碟唯讀記憶體(CDROM)(光學)。注意,電腦可讀取媒體可甚至為紙或在上面列印程式的另一合適媒體,因為程式可例如透過光掃描紙或其他媒體來電子地捕捉,接著依需要編譯、解譯或以合適的方式以其他方式處理,且接著儲存在電腦記憶體中。
在一替代性實施例中,若物機器100是以硬體實施的,則物機器100可與以下技術中的任何者或組合一同實施,各個此等技術是本領域中所習知的:具有邏輯閘以供在資料訊號上實施邏輯函數的離散邏輯電路、具有適當的組合邏輯閘的特殊應用積體電路(ASIC)、可程式化閘陣列(PGA)、現場可程式化閘極陣列(FPGA)等等。
依據本發明的第一示例性實施例,記憶體102包含物機器程序P(TM)(其為可執行的程序),此物機器程序包括物機器程序P(TM(i))的集合。本領域中的技術人員會了解的是,可將多個P(TM(i))實施在例如為(但不限於)運行Windows 10的Dell Latitude 15 3000系列膝上型電腦的單一計算機器中;使用例如為Raspberry Pi 3的晶片上系統來實施;使用單一機器中的多重計算元件來實施;或使用可直接或間接通訊的多個相異的及單獨的機器來實施。可使用隨插即用架構來實施物機器,例如(但不限於)第6363437號的美國專利「Plug and Play I2C slave」中所界定的隨插即用架構,此美國專利的整體內容以引用方式併入本文中。
第一P(TM)包括多個P(TM(i)),可配置為第二P(TM)的P(TM(i))。
物機器(TM)具有程序P(TM),此程序可作用於物的集合(例如輸入,例如要求)、執行行動、並產生物的集合(例如輸出,例如經產生的回應)。依照圖靈的可計算性模型,及依照通用的圖靈機可模擬一圖靈機,我們可假定地斷定:
Figure 02_image001
。此模型指示的是,我們可藉由安排此等數字中的某個數字n作為
Figure 02_image003
來建構P(TM)。具體而言,如本文中進一步詳細描述的,假設物機器的第一程序要求物機器的第二程序執行行動,其中第二程序的物機器可或可不為與第一程序相同的物機器;且回應於此,第二程序執行行動且向第一程序的物機器提供回應,且回應於接收此回應,第一程序的物機器的程序可依需要重新配置P(TM)。儘管重複,值得再次注意的是,此實例中所使用的第一及第二程序會是第一及第二P(TM(i))。
各個P(TM(i))是一個模型的演算實施方式(或其元件),此演算實施方式以可執行機器碼表達以執行相異的步驟序列,其中各個P(TM(i))可由P(TM(perform))執行。依據本發明,替代於數字,物機器使用詞來描述發生在給定P(TM(i))中的行動類型。在本文中進一步詳細界定了P(TM(perform))。
模型可為選出的世界部分的表示,例如現象模型或資料模型、理論模型或論域中的問題敘述(statement)模型(例如經建模來解決企業問題的應用),其中該等模型不是專有的,因為科學模型可同時為此等模型的表示,且其中可以本文中所揭露的物模型的意義來表達模型。(參照https://plato.stanford.edu/entries/models-science/關於「模型」)
具有表達為P(TM(i))的程序P的給定TM(i)不一定主要是數位處理器行動,而是可使用數位處理器來造成機械、電氣、電磁波形式、生物、化學、壓力波的產生或接收、電磁輻射的產生或接收。
藉由實例的方式,處理器行動使得向電介面施加電壓,而允許馬達行動以向前或向後的方向推進物機器。該行動可持續直到第二P(TM(i))處理器行動重設該電壓為止。因此,物機器持續執行機械行動同時允許P(TM)回應其他的thing:statements。
藉由進一步實例的方式,P(TM(i))可執行行動來與基於重組酶的狀態機(RSM)交互作用,此基於重組酶的狀態機使用輸入驅動的重組酶來操控由重組酶辨識區的重疊的及正交的對偶構成的DNA暫存器。因此,可訊問編碼在RSM中的狀態資訊或可將編碼在RSM中的狀態資訊定序。
P(TM)記憶體包含初始化所需的最小限度的P(TM(i))集合,如本說明書標題為「開機」的部分內所詳細描述的。簡而言之,依據本發明的第一示例性實施例,P(TM)包含了以下P(TM(i)):P(TM(boot));P(TM(thing));P(TM(parse));P(TM(eval));P(TM(perform));及P(TM(configure))。P(TM)的主要邏輯是執行P(TM(boot)),且接著停止。應注意的是,一開始可在P(TM)記憶體中提供額外的或較少的P(TM(i))。
以有限的可自我配置的開機物詞彙將物機器開機。P(TM(thing))行動組織物及此等物之間的可變關係作為thing:graph。某些物表示可執行的行動。可執行行動的執行可作用於物。P(TM(i))行動可要求P(TM(thing))執行與支配物相關的行動,例如但不限於設定(set)、取得(get)及復原(unset)物及/或物之間的可變關係。可藉由取得及設定物來改變物。此外,可復原及設定物。在那方面,物圖表可被視為物機器的詞彙,且該詞彙表示知識庫(物機器知道如何執行的行動及可受行動作用的物)。
應注意的是,在本揭示案的範圍中,用語「交互作用」指的是P(TM(i))造成相關的機器碼的執行。例如,若A與B「交互作用」,則A造成與B相關的機器碼的執行。
P(TM(input))及P(TM(output))行動與電磁波形裝置交互作用以提供向及自P(TM)進行的通訊。此等行動與P(TM(thing))交互作用,使得輸入的內容是要求物而輸出的內容是回應物。
P(TM(parse))行動剖析內容物且與P(TM(thing))交互作用以產生表示敘述的thing:graph。在充當解譯機的機器的第一示例性實施例中,thing:graph會是可執行的thing:graph。在物機器的第二示例性實施例中,P(TM(eval))行動與P(TM(thing))交互作用以在可存取詞彙的上下文下估算thing:graph,以產生可執行的thing:graph。注意,P(TM(input))及P(TM(parse))的演算步驟可結合為由適當的P(TM(i))(例如P(TM(parse.input)))所給定的單一程序。
P(TM(perform))行動與P(TM(thing))交互作用以執行可在上面執行行動的物的上下文內的物的可執行行動。
P(TM(format))行動與P(TM(thing))交互作用以格式化回應命名空間物作為P(TM(output))行動所輸出的輸出內容回應物。注意,P(TM(format))及P(TM(output))的演算步驟可結合為由適當的P(TM(i))(例如P(TM(format.output)))所給定的單一程序。
P(TM(configure))行動與P(TM(thing))交互作用以配置P(TM(i))作為可執行的物(亦稱為主動物(active Thing)或動詞)。此舉允許更新可執行行動的詞彙。機器現在可執行的物可被添加、移除或改變複雜性範圍。注意,P(TM(i))提供了演算行動,而i指示表示此行動的名稱。此行動可為類神經網路分類器行動、電子交易行動或可經減化而實行的任何其他此類演算行動。
開機
在使用物機器100之前,物機器100執行開機過程,以便允許進行馴化及日後適應於物機器及接收到的要求的來源的環境。
每次打開物機器電源,P(TM(boot))行動與P(TM(thing))交互作用以自我配置表示包括thing:verb集合的詞彙的thing:graph,各個thing:verb表示P(TM(perform))行動可造成執行的行動及可受行動作用的物,以引導啟動(bootstrap)具有表示P(TM)的事前知識(例如機器被停機之前的最後一個已知狀態)的物的機器。若我們將經驗界定為進行某事且使得物發生的物機器的行動(支配thing:graph的P(TM(thing))),則我們可以說,物機器因為執行物而獲得了經驗(表示物機器可執行的行動的物或表示為物的知識)。
在使用該詞彙的情況下,物機器配置核心詞彙,此核心詞彙提供了一個基礎,物機器可經由此基礎執行應用。P(TM(i))的執行可因此與P(TM(thing))交互作用以改變thing:graph,且該改變可被視為事後知識(其從經驗學習到的物)。
行動可遍歷(traverse)thing:graph、格式化內容且與輔助儲存裝置交互作用以留存thing:graph資訊,此資訊可接著被擷取且由用來重建thing:graph的行動所使用。
在一個實施例中,核心詞彙可經配置為包括預定的物集合,且此詞彙具有有限的預定大小及範圍。在第二實施例中,由物機器動態支配詞彙中的物集合,其中設定物(學習及添加到thing:graph)而復原其他物(遺忘及從thing:graph移除)。
物機器將物組識為圖表。一個圖表(稱為上下文圖)包括了表示命名空間的物。命名空間為附名的圖表,此等圖表用來表示物的概念性分組,例如要求、回應、任務集合、服務、動詞詞彙或甚至是應用字典。命名空間詞彙可被視為一種本體論的形式。然而,使用離散詞彙的若干命名空間可在本體論的約束下共享他們詞彙的一部分。
在自我配置圖表時,P(TM(boot))要求P(TM(thing))配置表示動詞行動的物,其中該物具有對於可執行行動的參照的表示,P(TM(perform))可造成此可執行行動的執行。示例性動詞行動包括但不限於剖析、估算、執行及配置。總而言之,該等物被稱為詞彙,而該等物的圖表是開機詞彙。物機器的開機過程自我配置有限的物機器詞彙,以表示機器的事前知識(其詞彙中的初始物)。有限的詞彙包括了動詞及可受動詞作用的物。依據本發明的第一示例性實施例,物機器的基本動詞詞彙至少包括動詞「輸入」、「輸出」、「剖析」、「估算」、「執行」及「配置」。與各個動詞相關聯的物機器程序被分別稱為P(TM(parse))、P(TM(eval))、P(TM(perform))及P(TM(configure))。如下文中詳細描述的,此舉允許物機器在自我配置的thing:verb的上下文下估算要求及執行將額外的動詞添加到動詞詞彙的配置行動。在使用此模型的情況下,物機器的動詞詞彙變得可動態配置且可依需要增加或減少大小及範圍。
自我配置的過程不僅包括接收有限的詞彙,亦包括針對各個動詞產生至少一個thing:graph。具體而言,thing:graph中的動詞是節點,非動詞亦為節點(此動詞及非動詞皆為物),而thing:graph內的弧線表示物之間的可變關係。thing:graph因此界定了以下的物之間的關係。
P(TM(thing))行動組織物及此等物之間的可變關係作為thing:graph。某些物表示行動、發生或存在狀態,而其他的物為可受行動作用的物。以有限的自我配置的開機物詞彙將物機器開機。在使用開機詞彙的情況下,物機器配置包括核心詞彙的事前知識,此核心詞彙包括物。
P(TM(input))行動與電磁波形裝置交互作用以提供向P(TM)進行的通訊。本發明的實施例可將P(TM(input))與P(TM(parse))結合。此行動與P(TM(thing))交互作用,使得輸入的內容是可由剖析行動剖析的要求物。
P(TM(output))行動是可選的物。其行動與電磁波形裝置交互作用以提供從P(TM)進行的通訊。
P(TM(parse))行動剖析內容物且與P(TM(thing))交互作用以產生表示敘述的thing:graph。在充當解譯機的簡單機器中,thing:graph會是可執行的thing:graph。在自適應物機器中,P(TM(eval))與P(TM(thing))交互作用以在可存取詞彙的上下文下估算thing:graph,以產生可執行的thing:graph。注意,P(TM(input))及P(TM(parse))可結合為由適當的P(TM(i))(例如P(TM(parse.input)))所給定的單一行動。
P(TM(perform))行動與P(TM(thing))交互作用以執行可在上面執行行動的物的上下文內的物的行動。
P(TM(configure))行動與P(TM(thing))交互作用以將P(TM(i))配置為可執行的物。此舉允許更新可執行行動的詞彙。機器現在可執行的物可被添加、移除或改變複雜性範圍。注意,P(TM(i))提供了演算行動,而i指示表示此行動的名稱。此行動可為類神經網路分類器行動、電子交易行動或可經減化而實行的任何其他此類演算行動。
參照第3圖的開機過程及示意圖,在物機器100開機時,P(TM(boot))要求P(TM(thing))產生物機器的開機詞彙(方塊202)。P(TM(thing))接收要求且產生表示開機詞彙的物(為了示例性的目的稱為「boot:」)(方塊204)。物的產生是由P(TM(thing))所執行的,此P(TM(thing))初始化物的大小的記憶體單元,其中物(亦即boot:)限定(qualify)了開機詞彙中的物。
物圖表資料模型
第4圖是一圖表,此圖表是為了展示如由物機器100所執行的依據開機過程產生圖表的行為的目的而提供的。此部分界定抽象語法,此抽象語法用來基於RDF連結所有基於物的語言、規格及參考實施方式。RDF是用於表示網路中的資訊的基本架構(W3C, 2014)。RDF圖表是三元組(triples)的集合,各個三元組由主體(subject)、述詞(predicate)及客體(object)組成,如由第4圖所繪示。RDF提供了三種類型的節點。節點可為IRI(參照RFC 3987)、文字(literal)或空白節點。IRI或文字指示世界中的某物,且稱為資源。
RDF物圖表是關於物的RDF圖表。其描述物的非可變組分。儘管此等組分是非可變的,他們的值是可變的。某些物是具有可執行行動的主動物,且常常稱為動詞。其他物是可受動詞行動作用的物。物可表示RDF資源、概念、事實、想法、實體、物體、實例、事件、發生、裝置、感測器、服務、任務、服務、使用者、網路資源等等。
物包括了非可變的組分。物是由具有非可變組分的知識的P(TM(thing))所支配的。物的第一示例性非可變組分是名稱,此名稱是用來在論域中將一個物與另一物進行區隔的識別碼,然而重複命名的物可能存在,例如為表示列表的物的成員的重複命名物。
物的第二示例性非可變組分是值。在一個實施例中,值是如在RDF 1.1規格中所界定的RDF文字。本領域中具有通常技藝者會熟悉RDF 1.1規格,且此規格的整體內容以引用方式併入本文中。此外,本領域中具有通常技藝者可使用如由替代規格所界定的替代值表示。應注意的是,物的非可變組分值的值可為空。
物的第三示例性非可變組分是關係集。在物具有空的關係集時,則物表示空圖表。關係集是保持在第一物與第二物之間的關係集合。主要關係是關聯中的一者。關聯可為組成或聚集的形式。若物A由物B組成,則關係是不可變的。若A是包括物B的聚集體,則關係是可變的。其中,藉由實例的方式,物B可獨立於物A而存在,如由第5圖所示。如所述,物是由具有非可變組分的知識的P(TM(Thing))所支配的。
第一示例性關係是thing:sttia關係,此關係使用存在量化(existential quantification)來指示:存在此主體物使得存在一客體物。此關係是可變的。此關係由第6圖繪示。
客體物可表示一系列的物,例如物的列表或物的集合。此關係可使用實例修飾語(modifier)來表達,使得:存在此主體使得存在客體的實例 。取決於物的分類,物的實例可具有不同的意義。在一個情況下,實例可為成員。在另一情況下,實例可為某事的發生。
thing:is-a關係表達的是第一物是一定類型的第二物。在本文中在稱為作為後設資料的屬性(Atrribute as Metadata)的部分中進一步描述此關係。在一般的意義上,thing:is-a關係允許了物的分類。
thing:depends-on關係表示的是,主體物具有相依於客體物的相依性。可將額外的關係(例如來自UML的彼等關係)添加到RDF物圖表資料模型。此等關係會包括關聯(association)、聚集(aggregation)、有向關聯(directed association)、組成(composition)、反身關聯(reflexive association)、繼承、多重性及實現(realizaiton)。
識別碼及列表
列表是對於物的參照的表示。列表可為未綁定名稱(unbound name)(例如識別碼)或被表達為傳達二或更多個物之間的關係。列表「this」是簡單的識別碼,此識別碼指示我們正在指稱名稱等於「this」的物。列表「this.that」可指示的是,存在名稱等於「this」的物,使得存在名稱等於「that」的物。精確的列表解譯取決於列表所綁定到的命名空間,且在關於URI的部分中更詳細地涵蓋此解譯(參照RFC 3986),如下文所述。
作為後設資料的屬性
屬性描述物的固有特性或品質。屬性被表達為後設資料。thing:metadata是識別屬性類型的物,而物的值描述屬性值。
屬性可經識別為thing:metadata且後續以三元方式使用。作為一實例,thing:class屬性用來指示物的分類。類別是滿足成員資格準則的物的集合,此準則指定在給定的時刻使物是類別的成員需要什麼。用意是時變的準則。在給定時刻的延伸物(extension)是在此時間的所有成員的列表。
屬性可描述狀態。例如,可宣告一物而不指示此物的分類,且綁定行動可作用在「未綁定」的物上以將此物綁定到綁定行動可辨識的某物,即使是將此物綁定為「未知」物。綁定行動將物從未綁定狀態轉變到綁定狀態。綁定的物可為已發現(found)的或未發現的(unfound)。已發現的綁定的物指示綁定行動能夠將物綁定到此綁定行動了解的某物。未發現的綁定的物指示綁定行動被施用於物,但物不是綁定行動能夠了解的某物。
主動物
將具有對於可執行行動的參照的表示的物分類為主動物。在此上下文下,可執行行動是機器可造成執行而達成某個結果的行動,且本質上主要可為計算的、電氣的、化學的、光學的、生物的、機械的、電磁波形或其組合。
在動詞是描述行動的名詞的方面,本文中的主動物通常被稱為thing:verb,且主動物描述行動。因此,主動物的名稱是一動詞,此動詞的識別碼描述可執行的行動。
在支援分類的實施方式中,使用thing:is-a關係來將具有與可執行行動的關係的物分類為thing:verb,如由第7圖所示。
動詞可作用在物的集合上。可在RDF物圖表中明確指定可受作用的物,或隱含地由分類所指定。量詞可用來將論域中的物的範圍限制於可受動詞行動作用的物。
命名空間
命名空間是表示以某種方式在邏輯上相關的物(即使是僅藉由是相同命名空間的成員而相關)的附名圖表的物。圖表包括了物及此等物的關係。如由第8圖所繪示,在支援分類的圖表中,將命名空間物(Namespace Thing)分類為thing:namespace,而thing:namespace是thing:class。
上下文
上下文(context)是量化具有目前範圍的命名空間集合的物。如由第9圖所示,在支援分類的圖表中,將物分類為thing:context。
上下文允許命名空間集合具有目前的範圍以供用於解參照表示物的IRI。例如,request:statement是可相對於一上下文而解析的IRI。在英語中,此舉會被表達為:存在名稱等於request的命名空間,使得存在名稱等於statement的物。
URI
URI識別一資源,而物是物機器中的此資源的表示。物具有可執行行動或為可受可執行行動作用的物。URI的一般化形式被給定為:綱目綱目特定部分
在物機器中,綱目 (scheme)被解譯為對於一命名空間物的參照,此命名空間物的名稱遵循URI方案的命名規約,如下文所示。此舉具有可使用RDF物圖表來表示現存的綱目名稱的優點。 命名空間名稱由字元序列組成,此序列以一字母開始且接著字母、數字、加號(「+」)、句點(「.」)或連字元(「-」)的任何組合 - RFC 3986。
如由網際網路號碼分配局(Internet Assigned Numbers Authority)所公佈的所有永久性的URI綱目為保留的命名空間名稱。保留的命名空間中的物的建模應符合用於此命名空間的經公佈的RFC的意義。例如,為了建模news:及nntp:命名空間中的物,吾人應諮詢RFC5538。經公佈的URI綱目的列表是由IANA所維護的,且可在線上在以下處取得: http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
「URN」命名空間是保留的命名空間,且其命名空間特定的部分(namespace-specific part)是如由用於此URN命名空間的相對應的經公佈的RFC文件所界定地來解譯。經公佈的URN的列表是由IANA所維護的,且可在線上在以下處取得: http://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml
依據命名空間的規格(綱目)來解譯列表的命名空間特定的部分 。 通用URI語法的剖析器可將任何URI的參照剖析成其主要組分。一旦綱目被判定,可在此等組分上執行進一步的綱目特定的剖析。換言之,URI通用語法是所有URI綱目的語法的母集。- RFC 3986。
然而,http:、https:及file:命名空間使用「/」字元定界符,使得參照:http://www.Thinglanguage.com/request被解譯為: 存在名稱等於「http」的Thing:Namespace,使得存在名稱等於「www.Thinglanguage.com」的物,使得存在名稱等於「request」的物。
mailto命名空間依據RFC6068來解譯參照。例如,參照:mailto:info@thinglanguage.com被解譯為: 存在名稱等於「mailto」的Thing:Namespace,使得存在名稱等於info@Thinglanguage.com的物。
亦可將OSX及IOS中所支援的Things:scheme建模。Things:URI被給定為:Things:command?parameter1=value1&parameter2...。這會被解譯為: 存在名稱等於「Things」的Thing:Namespace,使得存在名稱等於「command」的物,使得存在名稱等於「parameter1」而值等於「value1」的物的實例,且存在名稱等於「parameter2」的物的實例。
命名空間物的名稱遵循IRI綱目的命名需求(參照RFC 3987)。此舉充當將URI(IRI的一種形式,且描述於RFC 3986中)綁定到物的方式。將URI綱目 名稱綁定到命名空間物。將所有http:的URI例如綁定在http:的命名空間物內。在第10圖中繪示將http URI示例性地綁定到物的行為。
滿足宣稱
基本斷言是表示滿足宣稱(satisfaction claim)的thing:assertion,且其斷言的是給定的宣稱為真。在物圖表模型中,斷言是物而不是有向邊緣標籤。參照第11圖,在thing:graph中,空白節點表示滿足宣稱,而宣稱可具有對於thing:object的參照。
如由第12圖所繪示,thing:assertion斷言thing:subject具有為數字的值,且因此不需要thing:object。
如由第13圖所繪示,thing:assertion宣稱thing:subject的值小於thing:object的值。
滿足宣稱的真實性是藉由相對應於此宣稱的計算程序來判定的。在此方面,滿足宣稱是具有描述可受行動作用的物的相對應thing:graph的主動物。
示例性的滿足宣稱包括(但不限於)由以下的表格1所說明的彼等滿足宣稱:
Figure 106142927-A0304-0001
表格1
簡單述詞的「is」部分之後可接著「not」以指示述詞的否定。例如thing:is-not-equal-to。會將thing:matches的否定指定為thing:does-not-match。
連接符
邏輯連接符用來連接兩個滿足宣稱。示例性的連接符包括(但不限於)and、or、not、implies及iff。與滿足宣稱類似,將邏輯連接符表達為物而不是表達為有向邊緣標籤。邏輯連接符物為主動物。具有連接符的圖表的實例由第14圖提供。
簡單連接符的實例包括(但不限於)由表格2所說明的以下項目。
Figure 106142927-A0304-0002
表格2
儘管事實是,在程序性圖表中滿足宣稱估算為真(滿足)或假(未滿足),在宣告性圖表中的滿足宣稱可擴充到包括宣稱的範圍內的物的集合。
圖表類型
物圖表在其描述如何進行某事時在本質上是程序性的。例如,用來設定物的值的圖表是程序性敘述,描述用來執行任務的必要行動的敘述序列亦是程序性敘述。
物圖表在其為表示宣告的敘述時是宣告性的。HTML是宣告性敘述的實例。HTML源碼描述了文件的所需的佈局,且HTML呈現引擎將處理此HTML源碼以執行實際的佈局。
物圖表在其描述物件及此等物件的方法時是物件導向的。作為一實例,指示物件及用來設定、取得及復原物件的方法的圖表會是物件導向的。
物圖表在例如為訊息或狀態的事件驅動圖表的估算行為時是事件驅動的圖表。物圖表在其表達狀態及狀態之間的轉變以供用在有限狀態機中時是有限狀態圖表。
物圖表可為以上類型的圖表中的一或更多者的組合,例如哈雷爾狀態圖(Harel statechar)、XML狀態圖或UML狀態圖。 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)
可執行機器碼中所表達的物機器程序P(TM(thing))在非暫時性記憶體中提供了支配物的行動及他們之間的關係。具有對於可執行行動的參照的表示的物是動詞。可執行機器碼中所表達的物機器程序P(TM(perform))提供了與P(TM(thing))交互作用以取得對於動詞物的參照及造成動詞的可執行行動(P(TM(i)))的執行的行動。行動的執行可與P(TM(thing))行動交互作用以作用在非暫時性記憶體中的物上。可執行機器碼中所表達的物機器程序P(TM(configure))提供了與P(TM(thing))交互作用以設定動詞物的行動。因此,我們可在物機器可執行為行動的物及可受行動作用的物的意義上描述問題敘述及建構解決方案。
第15圖為一流程圖250,舉例說明由物機器所執行的最小限度的運行時間步驟。應注意的是,應將流程圖中的任何過程說明或方塊了解為表示包括用於實施過程中的特定邏輯函數的一或更多個指令的模組、程式段、代碼部分或步驟,且替代實施方式被包括在本發明的範圍內,其中取決於所涉及的機能,可相對於所示或論述的順序不依順序(包括實質上並行地或以相反順序)執行功能,如本發明領域中具相當技藝者會了解的。
具體而言,應注意的是,至少以下步驟是由物機器所執行的。如由方塊252所示,P(TM(i))行動演算地(例如藉由剖析輸入,或與感測器交互作用,或藉由要求物機器執行行動)產生表示讓物機器估算及執行行動的敘述的thing:graph。
此舉有用於讓獲取感測器(例如溫度、加速、海拔、經度及/或緯度、運動感測器、熱感測器、煙霧感測器或其他此類感測器)產生的資料的P(TM(i))逐步建構要估算的thing:statement及要執行的相對應的可執行thing:statement。類似地,被通知一訊號(例如事件、計時器、中斷訊號(interrupt)或警示)的P(TM(i))可與P(TM(request))交互作用以建構要估算的thing:statement及要執行的相對應的可執行thing:statement,以允許P(TM)回應其接收行為。
此類P(TM(i))的第一示例性實施例是P(TM(parse))行動,剖析XML文件產生thing:graph使得以下斷言為真: 存在著名稱等於core:print的物,使得存在著名稱等於「message」而值等於「Hello, World」的物。
在第16圖中繪示相對應的thing:graph。
如由方塊254所示,P(TM(eval))行動與P(TM(thing))交互作用以存取該thing:graph及目前的動詞詞彙及與該thing:graph及目前的動詞詞彙交互作用以演算地選出適當的動詞行動及建構及設定可執行的thing:graph。應注意的是,目前的動詞詞彙可為初始的動詞詞彙或可為動態改變的動詞詞彙。
如由方塊256所示,P(TM(perform))行動與P(TM(thing))交互作用以取得可執行的thing:graph且造成thing:graph的執行。
依據本發明的替代實施例,物機器可不包含P(TM(eval))行動。在此類實施例中,P(TM(parse))解譯命令式敘述。
改變 THING:GRAPH/ 核心詞彙
如先前所述,P(TM(i))可與P(TM(thing))交互作用以設定thing:graph。物的架構允許輸入及輸出的具體細節經由使用動詞行動而被抽象化及開始存在。語言、文法、語法及通訊行動本身的選擇就只是物。
可在P(TM(i))輸入串流中接收任何數量的語言及語法,且只要P(TM(parser))行動可演算地將文法語法的元素剖析成thing:graph就可剖析此等語言及語法。
語言是物,更準確地是被描述為包括詞典及文法的溝通系統。詞典是詞彙,例如語言中的用詞或短語的集合。文法施加規則,例如形態學、語意學及語法學。
行動是必須執行來溝通的物。可使用例如為閱讀及觀察的視覺溝通技能。可使用例如為寫或簽字的實體行動。可使用演講及聲音溝通技能。或者,可使用點字書寫系統。所有此等都是物,且因為他們是物,他們的行動可經建模及配置為物機器(亦即P(TM))可執行的行動。
作為一種溝通行動的形式,打手勢超越了社會。手指指向一定方向;跺腳;或你臉上的微笑的意義一般是被了解的。打手勢與手語的相異之處在於,後者使用具有良適定義的意義的經建立的表達及運動。打手勢是物。
與人類似,物機器可具有用於給定語言的閱讀詞彙、書寫詞彙、聆聽詞彙及口語詞彙。此等詞彙中的各者可處於不同的水準。物機器可藉由經配置的物來在物機器聽到詞時知道該詞的意義是什麼,但不能夠發該詞的音或正確地拼出該詞。類似地,物機器可閱讀某物,且看見此物機器不認識的詞。例如,詞「骨化」是英語語言中的動詞,意指硬得像骨頭,但可能是語言中最不常用的動詞中的一者,且因此可能不在物機器的動詞詞彙中配置經建模的實施例。
在物機器識別不熟悉的詞時,此物機器可藉由與該詞的字節交互作用來試著解譯該詞的意義。若物機器可偵測字根,則物機器可能能夠推斷意義。在物機器學習新的詞及如何使用該等詞時,物機器可將該等詞添加到此物機器的各種詞彙。
多語言物機器對於其所知的各個語言而言可具有不同的詞彙能力。可在阿魯巴學生的語言教育系統上對物機器建模,此等學生在學校裡學習帕皮阿門托語、荷蘭語、西班牙語及英語語言。各個物機器可針對各個語言以不同的速率發展物機器的閱讀詞彙、書寫詞彙、聆聽詞彙及口語詞彙且可能發展達到不同的能力。
物機器可依據文法及語法將敘述剖析成符記(token)物;且將符記物綁定到此等符記物的相對應詞彙中的物。可將某些物立即分類,而其他物需要考慮周圍的詞來推斷意義。
敘述的意義仍然可能是含糊的。考慮以下敘述:「Let’s eat honey」。其可能意指吃蜂蜜,或其可能意指你邀請你所愛的人開始吃飯。如本文中所詳細解釋的,為了幫助管理敘述的解譯及意義,我們介紹物動詞圖表的想法,其中起始節點是動詞名稱,而經連接的節點是可受動詞作用的物。
重要的是注意到,除了P(TM(parse))以外的其他動詞(P(TM(i)))行動可後續經配置為使得在執行時,行動與P(TM(thing))交互作用以產生thing:graph,其中可後續估算該thing:graph以產生可執行的圖表。可執行的thing:graph的執行可造成行動與P(TM(thing))交互作用,以改變P(TM(thing))所支配的物的thing:graph。此類P(TM(i))的示例性實施例是P(TM(config)),其提供與P(TM(Thing))交互作用以配置主動物的集合的行動(其中集合是一或更多主動物)。
P(TM(i))的行動可與環境交互作用以產生改變由P(TM(thing))所支配的thing:graph的要求的thing:graph表示。回應於此,P(TM(config))與P(TM(thing))交互作用以改變由P(TM(thing))所支配的thing:graph。因此,P(TM(config))的行動改變了目前的詞彙,該詞彙在本文中亦稱為核心詞彙。
參照第17圖,P(TM(config))作用於由要求命名空間物所限定的物上,此物是G.id(繪示為空白節點),使得存在G.request及存在G.urr。
G.id物的名稱是P(TM(config))要配置的動詞物的識別碼。G.request是描述可受動詞物的執行作用的物的圖表。G.urr物的值是URI,此URI被解譯為用於要求執行動詞物的統一資源要求(Uniform Resource Request)。
參照第18圖,my:configure版本的P(TM(config))作用於由URI request:statement所識別的物上,使得存在為詞彙識別碼(vocabulary.id)的物且使得存在為圖表ID的物使得存在G.request及G.urr。詞彙識別碼可由分類器用於在論域中演算地選出動詞物的集合以供P(TM(eval))用於估算thing:statement。
在一實施例中,P(TM(config))可與表示共享程式庫(例如動態鏈接程式庫)的物交互作用,使得將該共享程式庫動態載入程序記憶體,且解析及執行對於函數的參照以提供程序的集合及相對應的圖表,藉此允許配置多個動詞物。
在一實施例中,P(TM(config))可演算地與P(TM(eval))及P(TM(perform))交互作用以估算及執行thing:statement,此thing:statement必須被滿足作為配置動詞物集合的先決條件。該thing:statement可表示檢查取用權、版本資訊、修訂資訊、相依性、與現存動詞物的衝突、身分認證、授權、認證、安全性、硬體能力、作業系統能力或其他此類活動的要求。
在支援身分、認證及授權的實施例中,P(TM(config))行動可與P(TM(i))交互作用以識別及認證thing:statement且施加要被滿足來配置動詞物所需的授權需求。藉由實例的方式,thing:statement可能需要具有可被認證的身分的數位簽章,以判定此身分是否被授權要求P(TM(config))執行其行動。可演算地啟用各種安全模型,且該模型可能需要使用特定的硬體及P(TM(i))配置的動詞物,例如於2016年1月29日所提出的第62/288,545號的標題為「Optical Identity System and Methods」的審查中美國專利申請案中所揭露的此等硬體及動詞物,此美國專利申請案的整體內容(光學識別碼專利申請案)以引用方式併入本文中。一個實施例可使用P(TM(openssl))來提供由OpenSSL工具套件所啟用的身分、認證及授權行動(參照www.openssl.org網站)。
物的類型的實例
行動區塊是表示敘述序列的thing:graph。附名的行動區塊被稱為任務。如此,語言文法可表達讓物機器配置此物機器後續可執行的附名任務的要求。此任務是藉由執行行動區塊來執行的。行動區塊是藉由評定各個敘述以產生可執行的thing:graph來執行的。可執行的thing:graph是藉由執行相對應於可執行thing:graph中的thing:verb的行動來執行的。
在可將多個語言文法剖析器配置為可執行行動的方面,可將物機器配置為是雙語的。或者,翻譯器行動可用來從第一語言翻譯到可由經配置的剖析器行動剖析的第二語言。
因此,在我們說物機器可閱讀一本書的時候,我們指的是物機器可執行用來與從輸入裝置所獲取的內容交互作用的行動,以將內容表示為thing:graph。藉由保留thing:graph作為整個物機器的子圖表,物機器行動可後續存取此內容及與此內容交互作用。
物機器可閱讀描述如何執行任務的書,且若此機器曾經被要求日後執行此類任務則保留此知識。可依主題分類任務。任務可為分類集合的成員,例如與使用http協定相關的任務;與例如為accounting:accounts.receivable、accounting:accounts.payable、banking:debits、banking:credits及banking:balance的活動相關的任務。
第一物機器可發送要針對第二物機器進行的通訊,而要求關於主題或分類的知識。回應於接收表示該知識的內容,第一物機器可與內容交互作用以據此配置物機器本身的知識。如此,第一物機器可藉由第二物機器進行學習。
物機器可提供服務。服務是回應於接收到要求而提供的物。服務與任務之間的微妙的區別是,任務是被執行的;而服務是被提供的。經由上下文來促進任務對上服務的分離,此舉可防止任務(例如移除檔案或改變動詞意義的任務)的未經授權的執行。
如所述,上下文物量化論域中的可用命名空間物的集合。命名空間物限定相關物(即使是僅藉由是相同命名空間的成員而相關)的集合。命名空間物的名稱用於解析對於物的參照。
身分是物,且如此我們可建模識別碼、認證、授權及稽核的概念以實現身分模型。身分模型的實例包括使用公鑰基礎建設、Open PGP的信賴網、生物識別技術、第三方授權等等。在使用身分的情況下,我們可引入市場作為物且允許交易。交易變成是買家與賣家之間的物、付款人與受款人之間的物。交易可涉及服務提供物(service offering Thing)、實體物、概念物或邏輯物。
身分模型允許圖表或子圖表的認證。例如,考慮表示要求的圖表,此要求包括要求方識別碼(亦即要求發起者)、內容及內容的數位簽章。可驗證識別碼的相對應憑證,且驗證內容的數位簽章。此舉允許估算行動演算地驗證要求且回應於此而選出適當的行動。在身分模型就位的情況下,我們亦可提供安全通訊模型。
保全要求內容的行為可使用密碼行動(cipher action)來建模以加密內容及後續解密內容。要求圖表可包括描述作密碼的行動及密鑰的子圖表。估算動詞的行動可施加必須首先以指定的金鑰執行指定的作密碼行為的條件作為先決條件以解密內容。藉由請求的各種組分組織在適當的子圖表中,二或更多個物機器可使用身分模型及安全通訊來演算地通訊。
在與光學識別碼SIM卡或類似的裝置整合在一起時,可將物機器建模為具有覆蓋網路中的獨一身分的物(甚至是在特別指定(ad-hoc)的基礎上)。物可脫離網路,且在網路中的其他處重新接合,還保持他們的光學身分。
光學身分可相對於使用者身分而言是分立的。此舉允許物機器在覆蓋網路上驗證物機器本身及使用網路可用的內容來基於使用者的身分重新配置物機器本身。
物機器可動態地配置及重新配置其詞彙,甚至是在特別指定的基礎上。將本體論約束共享到物機器的詞典的至少一個子集的物機器集合可使用此子集(或此子集的至少一部分)來與物交互作用。若將詞彙表示為物,且物機器具有用來配置以及重新配置詞彙的動詞行動,則物機器可學習,本文中提供了此舉的實例。
參照示例性RDF物(是為了說明的目的而描述於本文中),施用以下的示例性定義。
圖表 - 一系列的點及線,此等線連接此等點及線的某些(可能為空的)子集。圖表的點最常稱為圖表頂點,但亦可稱為「節點」或就稱為「點」。類似地,連接圖表頂點的線最常稱為圖表邊緣,但亦可稱為「弧線」或「線」。
圖表節點稱為graph:node。圖表邊緣稱為graph:edge。邊緣可具有標籤,稱為graph:edge-label(label)。
有向圖表 - 有向圖表是圖表,亦即連接在一起的物件(稱為頂點或節點)的集合,其中所有邊緣(有向圖表邊緣)都從一個頂點指向另一個頂點。有向圖表有時稱為有向圖(digraph)或有向網路。
有向圖表稱為graph:directed。
有向圖表邊緣稱為graph:directed-edge。
無向圖表 - 無向圖表是圖表,亦即連接在一起的物件(稱為頂點或節點)的集合,其中所有邊緣(無向圖表邊緣)都是雙向的。無向圖表有時稱為無向網路。無向圖表稱為graph:undirected。無向圖表邊緣稱為graph:undirected-edge。
子圖表 – 子圖表是一圖表,此圖表的頂點及邊緣是另一圖表的子集。
有根圖表 - 有根圖表是有向圖表,其中一個節點經區隔作為起始(根)節點。
依據本系統及方法,ABNF用來描述如由P(TM(thing))所支配的物的非可變組分的表示。此外,RDF用來進一步說明如由P(TM(thing))所支配的物的非可變及可變組分的意義。
ABNF
在本文中所提供的示例性說明中,如下文中說明的擴充巴科斯-諾爾形式(augmented backus-naur form, ABNF)規格用來描述如由P(TM(thing))所支配的物。具體而言,下文描述如由P(TM(thing))所支配的物及此物的非可變組分。 scheme:scheme-name = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) scheme:scheme-specific-part = 這是綱目特定的。針對關於綱目特定部分的細節,參照相對應於綱目名稱的RFC。若沒有此類RFC存在,則將綱目特定部分剖析成如由物語言所界定的物識別碼。否則,依據綱目符記化(tokenize)綱目特定部分。
以下的ABNF規則適用。 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 )
類別id識別物的類別。預設的分類id是URI,且由此URI所識別的物是類別。預設是thing:thing。 thing:class.id = URI
thing:set(i)是為i的物的集合。通用集合是thing:set.of(thing:thing),其為物的集合。集合不具有重複命名的物。 thing:set.of(i) = 0,*(i)
thing:list(i)是為類別i的成員的物的列表。通用集合是thing:list.of(thing:thing),其為物的列表。列表可具有重複的(i)。 thing:list.of(i) = 0,*( i )
註:在一實施例中,可將參數參照為thing:value.of(i)、thing:name.of(i)、thing:thing(thing:name.of((thing:value.of(i)))等等。
RDF
資源描述框架 (RDF)是用於表示網路中的資訊的框架。RDF三元組由三個組分組成:a) 主體,其為IRI或空白節點;b) 述詞,其為IRI;及客體,其為IRI、文字或空白節點。RDF三元組傳統上是以主體、述詞、客體的順序書寫的。RDF圖表是RDF三元組的集合。
RDF三元組在以下部分中用來描述物及在物圖表中,述詞指示主體與客體之間的關係類型。thing:is-a關係類型指示的是,主體是由客體所識別的物類別的成員。thing:has-a關係類型指示的是,主體具有由客體所給定的非可變組分。注意組分的值可改變,但組分不能改變。詳見關係類型。
參照P(TM(i))是對於物機器sub-i的演算程序的參照,其中i是相對於物機器的第二程序限定物機器的第一程序的識別碼。
物是如由P(TM(thing))所支配的圖表中的節點。 thing:thing thing:is-a graph:node
物具有名稱、值、類別及關係集合(relationship-set)。在提供全球資訊網的反向相容能力的較佳實施例中,命名空間物名稱是scheme:name。P(TM(thing))可設定、取得或復原物。 thing:thing thing:has-a thing:name thing:thing thing:has-a thing:value thing:thing thing:has-a thing:class.id thing:thing thing:has-a thing:relationship-set thing:name thing:is-a thing:identifier
以下規則指示的是,關係集合包括零或更多個關係。具有零個關係的關係集合是空集合。具有為空集合的關係集合的thing:thing的有根thing:graph是thing:thing的空圖表(thing:graph.empty)。 thing:relationship-set = thing:set.of(thing:relationship(s,r,o))
在以下規則中,s、r及o是參數,此等參數指示:在thing:subject(s)與thing:object(o)之間存在著relationship-type(r)。P(TM(thing))可設定、取得或復原關係。 thing:relationship(s,r,o) = thing:subject(s) thing:relationship-type(r) thing:object(o)
以下規則要被解譯為:存在名稱等於s的物。 thing:thing(s) = thing:thing 其中 is:equal.to=(thing:name.of(thing:thing) , (s))
以下規則要被解譯為:存在名稱等於s而值等於v的物。 thing:thing(s,v) = thing:thing 其中 (is:equal.to=(thing:name.of(thing:thing) , (s)) 且 is:equal.to=(thing:value.of(thing:thing) , (v)))
在一實施例中,可參照物的組分。例如,以下規則被解譯為存在[name=a]且[value=b]的物。 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)) thing:subject thing:is-a thing:thing thing:subject(s) thing:is-a thing:thing(s) thing:object thing:is-a thing:thing thing:object(o) thing:is-a thing:thing(o)
以下規則(s,c,o)為指示由c所給定的宣稱被(s)及可選的thing:object(o)滿足的參數。如同物,規則被解譯為存在主體物(s),使得存在滿足宣稱c,使得存在可選的客體(o)。 thing:assert(s,c,o) = *(thing:subject(s) thing:predicate(c) thing:object(o))
以下規則相當於由參數(i)所給定的物的名稱組分的值。 thing:name.of(i) = thing:value.of( (i):name)
以下規則相當於由參數(i)所給定的物的值組分的值。 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 客體物是主體物的母體(parent)。 thing:child 客體物是主體物的子體(child)。 thing:next 客體物是主體物的下一個同輩體(sibling)。 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)是相關物的母圖。 thing:directed-edge thing:is-a graph:directed-edge thing:directed-edge(s,r,o) thing:is-a graph:directed-edge with graph:edge-label(r) of thing:relationship(s,r,o) thing:blank.node thing:is-a thing:thing thing:rgraph(s,r,o) = thing:subject(s ) thing:directed-edge(s,r,o) thing:object(o) thing:graph.empty(s) = thing:subject(s) thing:graph(s,r,o) = thing:rgraph(s,r,o) / thing:graph.empty(s)
thing:class(class.id)是由thing:name class.id所給定的thing:thing。其具有與一紀律(discipline)的關係,此紀律存在於此類別的上下文內。 thing:class(class.id) thing:is-a thing:subject(class.id) thing:class(class.id) thing:has-a thing:relationship(thing:class(class.id), thing:sttia, thing:discipline(class.id,d)) thing:class(class.id) thing:has-a thing:relationship(thing:class(class.id), thing:sttia, thing:binding.urr) thing:discipline(class.id,d) thing:is-a thing:context(thing:class(class.id), thing:verb(d)) thing:class(c) thing:may-have-a thing:relationship(thing:class(c), thing:sttia,G.criteria(c)) G.criteria(c) thing:is-a 指示成為thing:class的成員的準則的集合的thing:graph
示例性的thing:class包括: a) thing:class(thing:char) b) thing:class(thing:num) c) thing:class(thing:bin) d) thing:class(thing:dec) e) thing:class(thing:hex)
示例性的紀律包括: a) thing:discipline(c, thing:set) b) thing: discipline (c, thing:get) c) thing: discipline (c, thing:unset)
實施例可添加修飾語(modifier)的集合來修飾P(TM(discipline(c,d))。示例性的修飾語包括: a) thing:before(thing:discipline(c,d),thing:urr(u)) b) thing:as(thing:discipline(c,d),thing:urr(u)) c) thing:after(thing:discipline(c,d),thing:urr(u))
在thing:discipline(c,v)之前估算thing:before urr,且若滿足,則估算thing:discipline(c,v)。
估算thing:as urr彷彿其為G(urr(d))。
在成功估算G.urr(d)或thing:as urr(若指定的話)之後估算thing:after urr。
藉由將類別thing:class(class.id)圖表配置為具有與紀律的適當關係來配置新的分類。
thing:verb是由P(TM(thing))所支配的thing:thing,使得存在對於可執行行動的參照的表示,此表示可解析為可執行行動,P(TM(perform))可造成此可執行行動的執行。P(TM(perform))被視為藉由造成可執行行動的執行來執行thing:verb。 thing:verb(i) thing:is-a G(P(TM(i))) G(P(TM(i))) thing:is-a thing:subject(i) G(P(TM(i))) thing:has-a thing:relationship(thing:subject(i), thing:sttia,G(request(i))) G(P(TM(i))) thing:has-a thing:relationship(thing:subject(i), thing:sttia,G(urr(i))) G(request(i)) thing:is-a 可受物P(TM(i))作用的thing:graph G(urr(i)) thing:is-a thing:urr(i)的thing:graph
thing:urr(i)是用於要求執行P(TM(i))的統一資源要求。P(TM(i))行動將thing:urr(i)的值綁定到P(TM(perform))可執行的可執行行動。在一示例性實施例中,此舉可包括綁定到非暫時性記憶體中的指令的位址,且實施例的進一步特徵可為使用一或更多個作業系統呼叫,例如fork、exec、pthread_create、connect、open、send、write、receive、read、close、wait及/或disconnect。
在估算執行P(TM(i))的要求時,P(TM(eval))與P(TM(thing))交互作用以判定P(TM(i))演算地準備P(TM(i))必須可存取的P(TM)物的圖表。在一個實施例中,是在針對P(TM(i))行動的期間所具體產生的要求命名空間的上下文下產生該圖表,且是在回應命名空間的上下文下設定回應(若有的話)。此舉允許P(TM(eval))將新的上下文推送到用於P(TM(i))的上下文堆疊上及演算地與回應命名空間交互作用以據此更新由P(TM(thing))所支配的物。
thing:verb.vocabulary是thing:thing,使得存在與thing:verb的集合的關係。 thing:verb.vocabulary (c) thing:is-a thing:subject(c) thing:verb.vocabulary (i) thing:has-a thing:relationship( thing:subject(i),thing:sttia,thing:set.of(thing:verb) ) thing:verb.vocabulary (i) thing:has-a thing:relationship( thing:subject(i),thing:sttia,G(urr(i)) ) G(urr(i)) thing:is-a thing:urr(i)的thing:graph
thing:urr(i)的相對應的可執行行動是由P(TM(i))所執行以配置用於動詞詞彙的動詞物。
示例性 thing:relationship
下文進一步說明物關係的實施例。如由第19圖的有向圖表所示,名稱為x的物是名稱為y的物的前導子,y是名稱為x的物的後繼子,且述詞是使得存在一關係的物,此指示為thing:sttia。英語的解譯是:存在著名稱等於x的物,使得存在名稱等於y的物。「使得存在著」的關係是由thing:sttia邊緣標籤所指示的。
如由第20圖的有向圖表所示,名稱為x的物是名稱為z的物的前導子,且述詞是「使得存在一實例」,此指示為thing:sttiai。英語的解譯是:存在著名稱等於x的物,使得存在名稱等於z的物的實例。
如由第21圖的有向圖表所示,將英語的解譯給定為:存在著名稱等於x的物,使得存在名稱等於y的物,使得存在著名稱等於z的物,使得存在著對於名稱等於x的物的參照。「使得存在著對於...的參照」的關係是由thing:sttiart邊緣標籤所指示的。參照可為URI的形式,此URI可被解譯為列表。
如由第22圖的有向圖表所示,名稱為x的物是thing:table。在使用下一個(next)及最後一個(last)邊緣的對偶以及母(parent)子(child)邊緣對偶的情況下,可以任一方向遍歷(traverse)此圖表。
如由第23圖的有向圖表所示,多個物具有與單一物的關係。
如由第24圖的有向圖表所示,名稱為「x」的物是名稱為「c」的物的類別的成員。
述詞可指示關於物的非可變組分的關係。如由第25圖的有向圖表所示,關係指示名稱為「x」的物的名稱是名稱為「b」的物的類別的成員。
如由第26圖的有向圖表所示,關係指示名稱為「x」的物的值是名稱為「c」的物的類別的成員。
以下為在支配圖表中的物時由P(TM(thing))所支配的示例性的物。
thing:monad – 一元(monad)是由P(TM(thing))所支配的所有其他物可相對而識別的第一個物。有向圖表的節點為物,而有向邊緣標籤是在所連接的物之間保有(hold)的前提。一元的有向圖表指示物機器的狀態。一元與以指示為「thing:sttia」的有向邊緣標籤「使得存在著」指向上下文物的邊緣連接。
thing:context – 上下文物表示被組織為堆疊的物的集合,其中堆疊的頂部是表示目前上下文的物。可將新的上下文物演算地推送到堆疊上或演算地彈開堆疊,以改變目前的上下文。上下文物的實例是物的集合的有向圖表的根,此等物是此上下文的範圍內的命名空間。
thing:namespace – 命名空間是表示以某種方式在邏輯上相關的物(即使是僅藉由是相同命名空間的成員而相關)的附名圖表的物。圖表的名稱符合國際資源識別碼(IRI)綱目的命名需求。命名空間的有根的有向圖表從作為根的命名空間物開始,且被連接的節點是由命名空間物所限定的物。有向邊緣標籤指示在所連接的物之間適用的關係。
上下文物量化可用的命名空間物的集合。示例性的命名空間包括要求(request)、回應(response)、本端(local)、服務(service)、核心(core)及開機(boot)命名空間。可經由P(TM(thing))的行動來配置額外的命名空間。以下圖表對於上下文的各個命名空間而言為真,其中圖表的未附名的節點經綁定到由上下文所限定的命名空間。如由第27圖的有向圖表所示,上下文包括要求、回應及本端命名空間。實施例可自我配置命名空間的集合。
示例性的命名空間由以下的表格3所提供。
Figure 106142927-A0304-0003
表格3
IRI 映射到命名空間物
將IRI綱目名稱映射到命名空間物,且接著依據特定命名空間的規則映射IRI的綱目特定部分。預設行為是使用點號(「.」)字元定界符來指示「使得存在著」關係,而使用中括號(「[」及「]」)來指示「使得存在...的實例」關係。例如,參照:request:statement[1].word被解譯為: 存在名稱等於「request」的命名空間物,使得存在名稱等於「statement」的物,使得存在名稱等於「1」的物的實例,使得存在名稱等於「word」的物。
如物圖表資料模型部分中所述,如由網際網路號碼分配局所公佈的所有永久性的URI綱目為保留的命名空間名稱。保留的命名空間的完整列表在線上公佈於http://www.iotnamespaces.com/reserved。將IRI映射到保留的命名空間的步驟亦可在www.iotnamespace.com/mappings取得。
使用 XML 來識別物
將基本的XML剖析且綁定在命名空間中。此舉對於例如為由URL http://w1.weather.gov/xml/current_obs/index.xml所識別的氣象服務的服務而言是重要的,此等服務使用基本的XML格式。為了說明映射步驟,考慮如下給定的片段: <station> <station_id>PADQ</station_id> <state>AK</state> <station_name>Kodiak, Kodiak Airport</station_name> <latitude>57.75</latitude> <longitude>-152.5</longitude> <xml_url>http://weather.gov/xml/current_obs/PADQ.xml</xml_url> </station>
在剖析簡單的XML之後,如由表格4所說明的,以下的三元組為真。
Figure 106142927-A0304-0004
表格4
在基本的XML映射步驟中,將元素映射到物,而將屬性(attribute)映射為此物的屬性的實例。
XML 基架定義
從我們使用氣象站XML資料的先前實例,local:station.xml_url物具有識別表示此站的本端資料的資源的值。在擷取此資源時,我們發現其為XML版本1.0的文件,此文件部分地包含: <current_observation version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNSL="http://www.weather.gov/view/current_observation.xsd">
在剖析XML時,預設行為將元素解譯為物,且將屬性解譯為關於此物的屬性的實例。以下的三元組為真,如表格5中所說明的。
Figure 106142927-A0304-0005
表格5
作為正式的斷言,三元組可被表達為: 存在名稱等於「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」。
XSD參照允許擷取XSD基架(schema),使得客體元素、子元素及屬性的有效結構可接著被表示為命名空間的物。
XML 命名空間
在XML中,受限定的名稱是經受命名空間解譯的名稱。元素及屬性兩者是受限定的名稱。在剖析依循XML命名空間規格的XML文件時,將此文件剖析成要求命名空間、經驗證且使用受限定的名稱作為物的名稱來保留文件的結構。
例如,考慮以下所給定的XML文件。書本元素包括兩個命名空間屬性;第一個屬性界定預設的XML命名空間,而第二個屬性界定isbn XML命名空間。XML 1.1規格並不需要IRI是受驗證的IRI,但是反而需要將IRI指定為語法上正確的IRI。如此,剖析行動並不將XML IRI參照映射到物的命名空間。 <?xml version="1.0"?> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6'> <title>Cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> <notes> <!-- make HTML the default namespace for some commentary --> <p xmlns='http://www.w3.org/1999/xhtml'> This is a <i>funny</i> book! </p> </notes> </book>
在使用速記記法的情況下,以下為真,如由表格6所說明的。
Figure 106142927-A0304-0006
表格6
正式的滿足宣稱為: 存在名稱等於「request」的命名空間物,使得 存在名稱等於「book」的物,使得 存在一實例,其中 名稱等於「xmlns」且 值等於「urn:loc.gov:books」,且 存在一實例,其中 名稱等於「xmlns:isbn」且 值等於「urn:ISBN:0-395-36341-6」。
物語言
在物圖表模型中,所有事物皆為物。某些物是命名空間,某些物是動詞,而其他物是可受動詞行動作用的物。動詞與可受動詞作用的物的集合之間的關係被表示為物動詞圖表。
分類允許推斷所要的行動的意義。在以下實例敘述中,所要的行動是使用物及時間單位來「設定」某物;然而,每個敘述所需的行動是非常不同的。 將計時器設定為06:00分鐘。 將時鐘設定為上午06:00。 將鬧鐘設定為下午06:00。
執行剖析行動來將敘述剖析為thing:graph的物圖表。估算動詞在動詞詞彙圖表的上下文下估算thing:graph,以選出候選動詞。估算動詞行動將要求圖表中的物綁定到候選動詞圖表中的物,以識別需要執行的動詞圖表實例。觸發執行行動以造成在所綁定的物的上下文下執行所識別的動詞行動。
物敘述
物語言提供了命令式及宣告式的敘述結構兩者。在一般的意義下,最小限度的開機詞彙適用於命令式敘述,而更具表達性的核心詞彙允許使用宣告式的敘述。下文提供了用於物敘述的ABNF定義。在RFC2234中界定ABNF語法。 thing:statement = statement-1 / statement-2 statement-1 = ne-pair statement-2 = listing expression [ “;” ] nv-pair = listing = DQUOTE value DQUOTE [ “;” ] ne-pair = listing = OP expression CP expression = *(ne-pair / nv-pair) listing = namespace “:” namespace-specific-part OP = “(“ CP = “}” DQUOTE = ‘”’
作為一實例,以下命令式敘述命令物機器將由列表request:my.name所識別的物設定為值John。 set=( request:uri=”request:my.name” request:value=”John” )
P(TM(bind))行動可用來將列表綁定到可受行動作用的物,使得可將上述敘述指定為: set=( request:my.name=”John” )
一般而言,相同的語法適用於物語言中的任何敘述。注意,可受動詞行動作用的物是以「(」及「)」定界符來包含的。 set=( request:uri=”local:counter” request:value=”1” ) while=( condition=( is.less.than=( request:uri=”local:counter” request:value.of=”local:max.value” ) ) action=( increment=( request:listing=”local:counter” ) ) )
物語言的簡單語法容易轉譯為其他的語言。例如,上述敘述可以JSON表達,如以下所示。 { “set”: { “request:listing”: ”local:counter”, “request:value”: ”1” }, “while”: { “condition”: { “is.less.than”: { “request:listing”: ”local:counter”, “request:value.of”: “local:max.value” }, } “action”: { “increment”: { “request:listing”: ”local:counter” } } } }
類似地,示例敘述可使用物/XML來表達。 <set> <request:listing>local:counter</request:listing> <request:value>1</request:value> </set> <while> <condition> <is.less.than> <request:listing>local:counter</request:listing> <request:value.of>local:max.value</request:value.of> </is.less.than> </condition> <action> <increment> <request:listing>local:counter</request:listing> </increment> </action> </while>
只要剖析器行動可將資料剖析成thing:graph,可使用任何數量的語言及語法。
支援多部分的資料(multipart data),如以下所示。在此實例中,我們基於設定動詞來呈現簡單的敘述。注意,並未指定request:listing。估算動詞行動將與request:graph交互作用及動詞詞彙中的相對應的動詞圖表,以將request:graph中的物綁定到可與動詞交互作用的物。在此實例中,request:listing的值預設為rcd:Contact,而request:class的值預設為thing:thing。 set=( rcd:Contact=( Name=( Last=”Amrit” First=”Vivaan” ) Email=”v.amrit@iotnamespace.com” Status=”pending” ) ) 以上敘述相當於: set=( request:listing=”rcd:Contact.Name.Last” request:value=”Amrit” request:class=”thing:thing” ) set=( request:listing=”rcd:Contact.Name.First” request:value=”Vivann” request:class=”thing:thing” ) set=( request:listing=”rcd:Contact.Email” request:value=”v.amrit@iotnamespace.com” request:class=”thing:thing” ) set=( request:listing=”rcd:Contact.Status” request:value=”pending” request:class=”thing:thing” )
宣告式敘述依循與命令式敘述相同的一般語法。為了說明差異,我們將從一個簡單的實例開始,此實例使用三個命令式敘述來初始化列表painting:Gallery作為自動實例化(auto-instanced)的物。分類為thing:auto-instance的物將使得在每次物用在設定動詞行動中時自動添加新的實例。 set=( request:listing=”painting:Gallery” request:class=”thing:auto-instance” Name=” Zhang Daqian Title=”Peach Blossom Spring” ) set=( request:listing=”painting:Gallery” Name=”Van Gogh” Title=” Almond Blossom” ) set=( request:listing=”painting:Gallery” Name=”Ylli Haruni” Title=”Cherry Blossom” )
以下的宣告式敘述接著用來在不詳述各個所需步驟的情況下表達我們想要什麼。 evaluate=( using=( request:instances.of=”painting:Gallery” request:as=”gallery:” ) for.each.time=( condition=( is.like=( request:listing=”gallery:Title” request:pattern=”^.*Blossom$” ) ) ) perform=( display=( listing[1]=”gallery:Name” listing[2]=”gallery:Title” ) ) )
將以上的輸出給定為: Van Gogh Almond Blossom Ylli Haruni Cherry Blossom
命名空間範圍
命名空間是表示以某種方式在邏輯上相關的物(即使是僅藉由是相同命名空間的成員而相關)的附名圖表的物。命名空間物是由上下文物所限定的,而圖表的名稱(命名空間的名稱)符合IRI綱目的命名需求。如由網際網路號碼分配局(Internet Assigned Numbers Authority)所公佈的所有永久性的URI綱目為保留的命名空間名稱。
分類
可將物分類為是一定類別的物的成員。所有物皆為物。某些物為整數,某些物為浮點數,而某些物為集合等等。命名空間系統與核心類別集合自我組合,額外的類別可存在於此核心類別集合上。第2章提供了關於類別的詳細資訊。
以下實例被解譯為:執行設定行動,使得存在名稱等於local的物,且此物是一命名空間,使得存在名稱等於scores的物。在此上下文下,分數(score)是物。 · set=( listing=”local:scores” )
以下實例描述將分數設定為浮點數的要求。 · set =( class=float listing=”local:scores” value=”83.25” )
通訊原詞
通訊原詞(communication Primitive)是提供用於通訊的介面的物。原詞允許通用的行動,例如連接(connect)、發送(send)、接收(receive)及中斷連接(disconnect)。將用於各種類型的通訊的通訊原詞提供為包括網路物、插座(socket)、檔案、RS232、URI綱目及統一資源要求列表。
通訊點
通訊點是與通訊原詞交互作用以使得通訊發生的物。
常規的本端檔案 · connect=( listing=file://~/mydocuments/scores.txt as=compoint:1 ) · send.line=( compoint=”compoint:1” value=”93” ) · send.line=( compoint=”compoint:1” value=”87” ) · send.line=( compoint=”compoint:1” value=”92” ) · close =( compoint=”compoint:1” )
在使用未加密的標準電子郵件的情況下 · connect=( listing=”email:johnkingburns@gmail.com” as=compoint:2) · send=( compoint=”compoint:2” value=”Subject: Meeting” ) · send=(compoint=”compoint:2” value=”John, let’s meet on Tuesday at 10:00am to discuss the plan.” ) · close=( compoint=”compoint:2” )
在使用加密的主動命名空間的情況下 · connect=( listing=”activeNamespace:john.king.burns” as=”compoint:jkb”) · send=( compoint=”compoint:jkb” value=”Subject: Meeting” ) · send=( =”compoint:jkb” value=”John, let’s meet on Tuesday at 10:00am to discuss the plan.” ) · close=( =”compoint:jkb” )
敘述
在物語言中,敘述包括了動詞及零或更多個物件name=expression的對偶。各個表達式是值表達式或name=expression對偶。綁定符可綁定點號定界的動詞修飾語。 verb[.modifier[.modifier]] name_expression name_expression : name=”(“ name_expression | value_expression “)” value_expression : quote literal end_quote : literal : “(“ mathematical_expression “)”
名稱表達式是由包含此名稱表達式的名稱所量化的。因此a=(b=1)被解譯為:存在名稱等於a的物,使得存在名稱等於b且值等於1的物。多部分的敘述(例如a=(b=1 c=2))被解譯為:存在名稱等於a的物,使得存在名稱等於b且值等於1的物,且存在名稱等於c且值等於2的物。
值的表達式是文字的,且其可由引號括起來。包括空格字元的文字值必須由引號括起來。因此,a=house、a=”house”、a=’house’是相當的。類似地,a=”red house”及a=’red house’是相當的。
數學表達式被包封在雙括號中,且不需要由引號括起來。作為一實例,a=(( 10 + -2 * (6 / 3) ))。正常的運算順序是適用的,且可使用括號來包封表達式。不支援函數,但支援數學動詞。因此,只要sprt是數學動詞詞彙中的動詞,會如吾人所會預期地估算a=(( 2 * sqrt(4) ))。
為了明確表示敘述,格式為: statement=(verb_expression Object_expression) modifier_exprssion : “.” modifier modifier_expression : modifier verb_expression : verb modifier_expression : verb Object_expression : name_expression Object_expression : name_expression
行動區塊
行動區塊是要作為單元來估算的敘述序列。此舉允許命名空間系統執行區塊且允許邏輯處理真及假的類型的敘述。行動區塊的一般語法是: action block=( statement-1 statement-2 action=( … ) statement-n )
在以下實例中,簡單行動區塊序列是以以下方式提供: · action=( set=( listing=”local:counter” value=”1” ) print=( listing=”local:counter” ) )
條件式
命名空間系統提供了行動的條件式估算。支援IF、ELSE-IF及ELSE條件式。 · if=( condition=( is.less.than=( listing=”local:number” value=’10’ )) action=( increment=( listing=”local:number” ))) else.if=( condition=( is.less.than=( listing=”local:number” value=’20’ )) action=( increment=( listing=”local:number” by.value=”2” ))) else=(action=(break))
迭代
迭代是由for及while.condition動詞行動所啟用的。 · for=( condition=( is.less.than=( lhs=”local:number” rhs=’5’) ) action=( increment=(var=”local:number) ) ) · while=( condition=( is.less.than=( lhs=”local:number” rhs=’5’) action=( increment=(var=local:number) ) )
設定
設定動詞行動將設定物,此物是依據經識別為request:class的值的分類的規則由request:listing值所給定的。在未明確指定類別時,則估算動詞行動將基於敘述中的物來判定適當的分類。
在以下敘述中,分類預設為request:class=”thing:thing”,而相對應的動詞圖表示於第28圖中。 set=( request:listing=listing request:value=expression )
在以下敘述中,分類預設為request:class=”thing:alarm”,而相對應的動詞圖表示於第29圖中。 set=( request:listing=listing request:time=time )
用於設定的動詞敘述示於此處。隨著添加新的分類,為了支援分類的意義,額外的動詞行動可能是必要的,且此等動詞行動可使用動詞修飾語來添加到詞彙。 set=( request:listing=listing request:value=expression request:class=class )
thing:graph - thing:graph是物及其相關物的有向圖表,且可從有根的有向圖表表達為所有可能的物及他們的關係的子圖表。未附名的頂點標籤被解譯為thing:identifier。否則,一或更多個附名的非可變組分及表示可用作頂點標籤。在較佳實施例中,Name:名稱及Value:值分別用來指示thing:identifier及thing:value,若需要此類區別的話。
thing:graph中的未附名的頂點是論域中的物的集合,此物集合由滿足未附名頂點的有向圖表的未附名頂點的前導子所限定(若有的話)。
thing:subgraph – P(TM(i))可作用於一元有根有向圖表的thing:subgraph上。
thing:statement – 表示要估算的敘述的thing:graph。
thing:statement.declarative – 宣告式的thing:statement。
thing:statement.imperative – 命令式的thing:statement。
thing:statement.interrogative – 訊問式(interrogative)的thing:statement。
thing:statement.exclamatory – 驚嘆式(exclamatory)的thing:statement。
thing:listing – 列表是對於物的參照的表示。受限定的列表包括了對於命名空間的參照的表示,且具有一般格式「命名空間 : 命名空間特定部分」,此格式與包括「綱目 : 綱目特定部分」的URI類似。未受限定的列表(亦稱為未綁定的列表)可由P(TM(bind))演算地限定。thing:listing是由P(TM(thing))的演算行動所解析的。
可經由使用用於給定命名空間的取得、設定及復原紀律來解析命名空間特定部分。此舉允許可預測的演算行動解析參照,即使是在命名空間特定部分的解譯是取決於被建模的命名空間時。
自由變數
對於物的參照的表示被視為自由變數。P(TM(bind))演算地將參照綁定在由上下文所界定的物的集合內。在遍歷thing:graph時,演算地更新物的上下文以反映可適用於論域內的目前的物範圍中的彼等物。考慮以下斷言: 存在一物,使得存在名稱等於Contact的物,且存在名稱等於Email的物。
開放參照「存在一物,使得」指示的是,在目前的物集合中考慮由P(TM(thing))所支配的論域中的所有可能的物。P(TM(bind))接著取消限定(disqualify)目前集合中並不保有限制「使得存在名稱等於Contact的物,且存在名稱等於Email的物」的所有此類物。
參照第30圖,G.request(P(TM(i)))指示P(TM(i))可作用於要求命名空間中所限定的物上。未附名的節點指示P(TM(i))可在不以名稱識別物的情況下作用於要求命名空間中所限定的某些物上。
參照第31圖,G.request(P(TM(i)))指示P(TM(i))可作用於名稱為由名稱為statement的物所限定的Contact的物上,此名稱為statement的物被限定在要求命名空間中。
參照第32圖,示例性G(P(TM(i)))是包括G.request(P(TM(i)))子圖表及G.urr(P(TM(i)))子圖表的有根有向的thing:graph,此G.urr(P(TM(i)))子圖表指示P(TM(perform))將如何要求P(TM(i))執行其行動。注意,request:statement.Thing的組分滿足由http://www.schema.org/Thing所界定的物基架的組分。
統一資源要求
統一資源要求(URR)物是可由P(TM(thing))解譯為執行可執行行動的要求的URI。藉由實例的方式: stdlib:load///usr/local/lib/libboot.so?entry=’init’ http:get//www.iotsystems.com/index.hml http://www.iotsystem.com/index.html task:list.my.contacts?request:pattern=’[A-M].*’
URR與傳統URI之間的區別是,是在thing:namespace中的物的上下文下而不是在讓伺服器提供經識別資源的要求的上下文下估算URR。
stdlib:load物是一主動物,此主動物的可執行行動動態地載入相對應的程式庫、將對於表值(entry)物的值的參照解析為可執行行動且執行此行動。一般是使用dlopen()及dlsym()呼叫或Windows、Linux、BSD、iOS或其他此類作業系統上的等效呼叫來實施此行動。參照http://pubs.opengroup.org/onlinepubs/009695399/functions/dlopen.html
來自此行動的執行的回應是要求物機器配置與所載入的行動關聯的thing:verb的thing:statement的集合。P(TM(bind))可用來使用dlsym()或等效的作業系統呼叫來將轉移點參照(entry point reference)綁定到可執行行動。
stdlib:unload物是一主動物,此主動物的可執行行動卸載相對應的程式庫。此行動一般是使用dlclose來實施的。參照http://pubs.opengroup.org/onlinepubs/009695399/functions/dlclose.html
在使用URR對上URI時必須小心注意客戶端與伺服器資源解析度之間的區別,其中前者由物機器解析為資源,對上後者通常由伺服器解析為資源。
P(TM(i))可產生URR且要求P(TM)估算及執行適當的行動。作為一實例,P(TM(parse))可與要剖析的內容交互作用,且發現此內容呈現剖析器行動不了解的格式或語言。在此類情況下,P(TM(parse))可要求可能能夠剖析此內容的第二P(TM(i))行動的估算及執行。
具有通訊能力的第一物機器可向第二物機器傳遞要求以識別物(或其內容)。第二物機器可教示第一物機器某物表示什麼;可作用於此物的行動;及/或可使用此物來執行的任務。
核心 POSIX 詞彙
核心POSIX.1-2008界定了標準作業系統介面及環境,包括命令解譯器(或「殼(shell)」)及用來在源碼層級下支援應用可攜性的通用實用程式。其是要由應用開發者及系統實施者兩者所使用的。參照:http://pubs.opengroup.org/onlinepubs/9699919799/
核心詞彙依循POSIX.1-2008系統API,然而目前並未提供所有的應用程式設計介面。參數為物,且其中字元串與實整數之間的適當轉換是由相對應的動詞行動所提供的。物的實施例包括用於系統特定的資料的非可變組分,使得可在必要時提供指向資料結構的指示符。藉由實例的方式,POSIX標準將unlink()函數界定為「int unlink(const char *path)」,其被實施為作用於由列表request:path所識別的物上的名稱為「unlink」的動詞行動。在此實施例中,此等函數被實施為動詞物(亦即thing:verb)且配置在動詞命名空間(然而可反而使用例如為posix的合適命名空間)及適當設定以供解析參照的上下文中。
可配置特定於應用域的演算程序。常用的動詞行動(舉例而言,例如http:get)可經配置為使用HTTP協定的GET方法來擷取由URI所指定的資源。
可使用處理器間通訊或標準檔案描述符來將可執行程序配置為動詞行動。例如,/bin/date(1)命令在Unix及Linux社群中是熟知的且可被配置,然而可能需要將輸出剖析成合適的格式以供實施方式進行剖析。例如,列表bin:date可具有一可執行行動,此可執行行動要在單獨的位址空間中exec(2) /bin/date可執行程序且回向管路傳送輸出作為回應的值。URR bin:date//response:as=”data:date”被解譯為執行bin:date動詞行動且將回應(讀取自命令的標準輸出)配置為由列表data:date所給定的物的值的要求。
在使用良適界定的動詞行動集合的情況下,可將任務序列轉譯成源碼,此源碼可經編譯及執行為可執行程序以消除估算敘述及綁定物的步驟。
thing:machine
描述物機器的實施例的物是thing:machine。參照第66圖,P(TM)剖析以物語言來表達的內容,此內容描述P(TM)所需的配置。P(TM)與P(TM(thing))交互作用以建構表示P(TM)的thing:graph,且該thing:graph是thing:machine物。
公鑰基礎建設領域中的技術人員可例如藉由使用X509憑證、數位簽章及使用OpenSSL身分、認證及授權演算行動,來實施認證行動以確保內容的確實性。
參照第66圖,描述thing:machine的thing:graph包括指示詞彙的物的集合,此等詞彙包括: a) 開機詞彙; b) 核心詞彙;及 c) 應用運行時間詞彙; 且來自此集合的可選物包括: d) 硬體物;及 e) 作業系統物。
注意,硬體物可包括描述處理器的處理器物及一或更多個元件物。硬體物可包括詞彙物。
描述詞彙的物的集合可包括: a) 統一資源要求,用於要求載入動詞詞彙可執行行動; b) 描述thing:verb的thing:graph的內容; c) 用於詞彙的列表; d) 先決條件物; e) 紀律物; f) 識別作者的物; g) 識別分佈者的物,此分佈者可與擁有者分立; h) 識別擁有者的物,此擁有者可與作者分立; i) 在認證內容時所使用的物; j) 在授權使用內容時所使用的物;及 k) 來自https://www.schema.org/SoftwareApplication的性質(property)。
注意,應用詞彙URR使用stdfile:parse,此stdfile:parse執行讀取及剖析檔案作為要估算的thing:statement的行動。在此實施例中,敘述包括要配置的任務的集合、運行時間任務及要提供的服務的集合。在此實施例中,任務及服務包括行動區塊,且任務是藉由執行任務的行動區塊來執行的。類似地,服務是藉由執行服務的行動區塊來提供的。本領域中的技術人員可配置多個任務及服務。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。
TM:RaspberryPi3
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:raspberryPi3=( datasheet=”https://cdn.sparkfun.com/datasheets/Dev/RaspberryPi/2020826.pdf” SOC=”Broadcom BCM2837” CPU=”4x ARM Cortex-A43, 1.2 GHz” RAM=”1GB LPDDR2 (900 MHz)” Ports=”HDMI” )
TM(raspberryPi3)是經配置為執行包括以下行動的P(TM)的計算機器:執行自我配置的thing:machine.boot.vocabulary可執行行動,以配置thing:machine.core.vocabulary以與thing:machine.hardware.component.part交互作用,及配置thing:machine.application.vocabulary;及執行應用運行時間。
TM(AMS.TMD26723)
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。TMD26723為由AMS公司所提供的光學模組1.8v I2C介面中的數位近接偵測器、LED驅動器及IR LED(參照http://www.ams.com)。產品資料表可於http://ams.com/eng/content/download/364923/1210537/207915處取得。 TM:AMS.TMD26273=( description=”Digital proximity detector, LED driver and IR LED in an optical module” manufacturer=”AMS” website=”http://www.ams.com” datasheet=”http://ams.com/eng/content/download/364923/1210537/file/TMD2672_Datasheet_EN_v1.pdf” vocabulary=( definition=”http://www.thinglanguage/ams/tmd26273/” listing=”TM:AMS.tmd26273” urr=”stdlib:///usr/local/iotmachine/tm/libtmd2672.so?entry=’init’” ) )
TM(AMS.TMD26723)是一計算機器,此計算機器經配置為使用如由此資料表所指定地配置的i2c通訊與TM2671交互作用,且提供如以下的表格7中所列的P(TM(AMS.TMD26723))行動。
Figure 106142927-A0304-0007
表格7
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。在一較佳實施例中,用於行動的參照名稱經配置在TMD26723命名空間中,然而第二實施例可使用不同的命名空間。
可藉由包括用來使用i2c介面開啟通往TMD26723的通訊通道的行動的實施例來包括額外的行動,因此允許此等行動作用在表示此通道的物上。此舉在一個實施例中使用多個TMD26723感測器時是有用的。
TM(piborg.ultraborg)
Ultraborg是具有超音波模組支援的精密伺服控制的使用i2c通訊的介面板。此板提供了4個HC-SR04超音波距離感測器連接器及最高4個伺服馬達連接器。HC-SR04具有30度的視野視角。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:piborg.ultraborg=( description=”Precision servo control with ultrasonic module support, interface board with i2c communication” manufacturer=”piBorg” website=”http://www.piborg.com” datasheet=” https://www.piborg.org/downloads/ultraborg/UltraBorg.PDF” vocabulary=( definition=”http://www.thinglanguage/piborg/UltraBorg/” listing=”TM:piborg.ultraborg” urr=”stdlib:///usr/local/iotmachine/tm/libtmd2672.so?entry=’init’” ) )
TM(piborg.ultraborg)是一計算機器,此計算機器經配置為使用如由資料表所指定地配置的i2c通訊與Ultraborg交互作用,且提供如由表格8所示的P(TM(piborg.ultraborg))行動。
Figure 106142927-A0304-0008
表格8
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。
在一較佳實施例中,用於行動的參照名稱經配置在所指定的命名空間中,然而第二實施例可使用不同的列表。
在一個實施例中,HC-SR04超音波感測器安裝在可由伺服馬達運動旋轉的表面上。如此,伺服馬達可旋轉表面(例如以30度的增量)以允許超音波感測器增量地覆蓋較廣的區域。
在第二實施例中,HC-SR04超音波感測器安裝在固定位置上(例如面朝前)以使用固定的30度視野來量測最高4米的距離。
TM(Ublox.neo-6m-gps)
Neo-6M-GPS是ublox 6 GPS模組ROM的使用標準GPIO介面的晶體。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:Ublox.neo-6m-gps=( description=”Precision servo control with ultrasonic module support, interface board with i2c communication” manufacturer=”Ublox” website=”http://www.ublox.com” datasheet=” https https://www.u-blox.com/sites/default/files/products/documents/NEO-6_DataSheet_%28GPS.G6-HW-09005%29.pdf?utm_source=en%2Fimages%2Fdownloads%2FProduct_Docs%2FNEO-6_DataSheet_%28GPS.G6-HW-09005%29.pdf” vocabulary=( definition=”http://www.thinglanguage/u-blox/neo-6m-gps/” listing=”TM:u-blox.neo-6m-gps” urr=”stdlib:load///usr/local/iotmachine/tm/libneo6mgps.so?entry=’init’” ) )
TM(Ublox.neo-6m)是一計算機器,此計算機器經配置為使用如由資料表所指定地配置的一般用途i/o與u-blox Neo 6M GPS交互作用,且提供如由表格9所示的P(TM(Ublox.neo-6m))行動。
Figure 106142927-A0304-0009
表格9
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。在一較佳實施例中,用於行動的參照名稱經配置在所指定的命名空間中,然而第二實施例可使用不同的列表。
TM(HC-SR501)
HC-SR501熱電體紅外線PIR運動感測器偵測器模組。以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:HC-SR501=( description=”PIR Motion Sensor” vocabulary=( definition=”http://www.thinglanguage/sensor/hc-sr501/” listing=”TM:HC-SR501” urr=”stdlib:load///usr/local/iotmachine/tm/libpir.so?entry=’init’” ) )
TM(HC-SR501)是一計算機器,此計算機器經配置為使用如由資料表所指定地配置的一般用途I/O介面來與PIR交互作用,且提供由表格10所說明的P(TM(HC-SR501))行動。
Figure 106142927-A0304-0010
表格10
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。在一較佳實施例中,用於行動的參照名稱經配置在所指定的命名空間中,然而第二實施例可使用不同的列表。
Cirrus Logic 音訊卡
Cirrus Logic音訊卡(由Element14與Cirrus Logic公司協同生產)提供Raspberry Pi®的使用者與PC音效卡類似的用來在此等使用者的攝影機旁邊捕捉音訊以及試驗立體數位捕捉及回放的彈性。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:Element14.CLAC=( description=”PIR Motion Sensor” vocabulary=( definition=”http://www.thinglanguage/element14/CLAC/” listing=”TM:Element14.CLAC” urr=”stdlib:load///usr/local/iotmachine/tm/libe14clac.so?entry=’init’” ) )
TM(Element14.CLAC)是一計算機器,此計算機器經配置為:與如由資料表所指定的Cirrus Logic音訊卡介面交互作用;立體傳聲器連接到立體線輸入;兩個外部供電的立體揚聲器連接到立體線輸出;及提供如由表格11所說明的P(TM(Element14.CLAC))行動。
Figure 106142927-A0304-0011
表格11
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。在一較佳實施例中,用於行動的參照名稱經配置在所指定的命名空間中,然而第二實施例可使用不同的列表。
Cirrus Logic音訊卡TM(Element14.CLAC)的示例性實施例由以下文件說明:https://www.element14.com/community/servlet/JiveServlet/downloadBody/65689-102-2-291406/Wolfson%20Audio%20Card%20Schematic%20Diagram.pdf
TM(TI.TMP007)
TMP007是晶圓晶片尺度封裝(WCSP)中的積體數位熱電堆溫度感測器,此溫度感測器藉由其紅外線(IR)發射來偵測遠端物體的溫度。參照http://www.ti.com/lit/ds/symlink/tmp007.pdf。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:TI.TMP007]=( manufacturer=”Texas Instruments” website=”www.ti.com” listing=”Texas Instruments:” datasheet=” http://www.ti.com/lit/ds/symlink/tmp007.pdf” vocabulary=( definition=”http://www.thinglanguage/ti/tmp007/” listing=”TM:TI.TMP007” urr=”stdlib:load///usr/local/iotmachine/tm/libtitmp007.so?entry=’init’” ) )
TM(TI.TMP007)是一計算機器,此計算機器經配置為與如由TMP007資料表所指定的TI TMP007交互作用;及提供如由表格12所說明的P(TM(TI.TMP007))行動。
Figure 106142927-A0304-0012
表格12
P(TM(i)) 的實例
如先前所述,物機器包括多個TM(i),其中各個TM(i)是具有程序P(TM(i))的計算機器。不同P(TM(i))的實例包括(但不限於)以下項目。
P(TM(format))行動與P(TM(thing))交互作用以格式化回應命名空間物作為P(TM(output))行動所輸出的輸出內容回應物。注意,P(TM(format))及P(TM(output))的演算步驟可結合為由適當的P(TM(i))(例如P(TM(format.output)))所給定的單一程序。
P(TM(runtime))行動與P(TM(thing))交互作用以執行表示敘述序列的經配置的任務thing:graph,由P(TM(eval))估算各個敘述,其中相對應的可執行thing:graph要由P(TM(perform))所執行。
P(TM(runtime))演算地提供了以下行動: 1. 與P(TM(thing))交互作用以將由列表狀態所給定的物的值設定為值「satisfied」; 2. 在該物的值等於「satisfied」的同時迭代地執行以下序列: a. 與P(TM(parse))交互作用以從輸入裝置讀取內容、剖析該內容及與P(TM(request))交互作用以產生相對應的thing:statement圖表; b. 與P(TM(eval))交互作用以在主動物的上下文下估算該圖表以產生可執行的thing:statement圖表;及 c. 與P(TM(perform))交互作用以執行該可執行thing:statement圖表。
可將P(TM(runtime))配置為開機主動物的集合中的主動物。P(TM(bootstrap))行動可初始化通訊通道且設定表示此通訊通道的物。P(TM(parse))行動可與P(TM(thing))交互作用以存取作為通訊通道的該物且與該物交互作用,其中是從此通訊通道讀取內容。
可將P(TM(runtime))配置為引導開機主動物的集合中的主動物。P(TM(bootstrap))行動可初始化通訊通道且設定表示此通訊通道的物,且接著要求執行P(TM(runtime))。P(TM(parse))行動可與P(TM(thing))交互作用以存取作為通訊通道的該物且與該物交互作用,其中是從此通訊通道讀取內容。
對於未知的物而言,P(TM)可與P(TM(bind))交互作用,此P(TM(bind))提供與P(TM(thing))交互作用以將未綁定的物綁定為P(TM)知道的物的分類的成員的行動。
P(TM(classifier))演算地分類被要求估算的敘述的類型作為關注分類,且針對此關注分類增量一計數。在預定的臨界值下,P(TM)將作為主題的此分類添加到P(TM)所應學習到的物的列表。P(TM)可演算地判定適當的時間來學習主題。在使用通訊裝置的情況下,P(TM)可要求關於此主題的內容。此舉允許P(TM)判定其想要學習的主題類型及其想要學習的速率。例如,在75%的記憶體容量、65%的處理容量及/或60%的網路容量下運行的物機器可延緩發送關於學習的額外資源直到稍後的時間為止。在許多情況下,物機器一般會遵守關於在裡面執行此物機器的環境的關注區域。然而,藉由將隨機選擇添加到要學習的主題的列表,物機器可將其能力擴充得更為一般化。例如,為販賣產品的自動販賣機的物機器可學習提供汽車租賃所需的行動。儘管此舉可能表面上看起來是可笑的,但想想在忙碌的機場中具有多個汽車租賃機構一應俱全的自動販賣機。此類機器可學習使用網路服務以尋找哪個汽車租賃公司具有適用於消費者的選擇、預訂出租、向消費者收費且以電子郵件發送收據給此等消費者。P(TM(classifier))可提供用來分類thing:statement的行動,且P(TM(eval))使用該分類來識別在選擇主動物以滿足thing:statement時P(TM(eval))可取得的主動物的集合。可整合其他形式的人工智慧(AI)。例如,可使用符號AI、亞符號AI及統計AI演算程序。
P(TM(eval))可產生第一可執行thing:statement及造成此第一可執行thing:statement的執行,且在執行第二可執行thing:statement時使用此執行的回應。在一實施例中,第一可執行thing:statement可執行P(TM(classifier))以分類被估算的thing:statement的類型(例如主題)。回應於此,P(TM(eval))可使用分類來產生第二可執行thing:statement,或設定所產生的可執行thing:statement的可存取主動物的上下文。
參照第33圖,P(TM(parse))與輸入裝置(未繪示)及P(TM(thing))交互作用以提供產生要求thing:graph的行動;P(TM(eval))與P(TM(thing))交互作用以提供在可存取的可執行行動的上下文下估算要求thing:graph以產生可執行的thing:graph的行動;P(TM(perform))與P(TM(thing))交互作用以提供執行可執行的thing:graph的行動,其中該圖表是要執行P(TM(configure))以改變P(TM)可執行的可執行行動的圖表。在一實施例中,輸入裝置是檔案系統裝置,而內容是遵守語言文法、描述要配置的至少一個主動物的配置文件。在一較佳實施例中,剖析器行動及格式化行動遵守物語言文法。在此配置下,是從配置文件的集合配置主動物的詞彙。
參照第34圖,P(TM(env))與輸入裝置(未繪示)及P(TM(thing))交互作用以提供產生要求thing:graph的行動;P(TM(eval))與P(TM(thing))交互作用以提供在可執行行動的上下文下估算要求thing:graph以產生可執行的thing:graph的行動;P(TM(perform))與P(TM(thing))交互作用以提供執行可執行的thing:graph的行動,其中該圖表是要執行P(TM(configure))以改變P(TM)可執行的可執行行動的圖表。
在一較佳實施例中,輸入裝置是電磁波形裝置。在此配置下,基於來自環境的輸入演算地更改thing:graph(monad)的一部分,且因此,P(TM)適應於在裡面執行此P(TM)的環境的需要。
在一個環境中,P(TM)行動播放詢問使用者「我能如何服務」的音訊訊息,而第二行動記錄使用者的回應。語音轉文字行動將音訊轉換成文字,此文字經剖析為thing:graph。分類器行動演算地分類對話的主題。P(TM)向第二物機器傳遞針對關於主題的任務的要求。回應於接收到資訊,第一P(TM)演算地配置任務且執行任務。
在第二實施例中,物機器包括接收器光學子系統組件且用來訊問使用者提供的光學識別碼(OI),且回應於此而將thing:graph(monad)的一部分配置為包括特定於此使用者的可執行thing:graph。在使用者的肯定行動(例如藉由從光學讀取器移除OI)時,P(TM)遺忘特定於使用者的thing:gram(monad)的此部分。
在第三實施例中,物機器包括用來識別使用者的生物識別裝置(例如EyeLock),且執行用來將thing:graph(monad)的一部分配置為包括特定於此使用者的可執行thing:graph的行動。在使用者執行肯定行動(例如藉由離開生物識別裝置的區域)時,P(TM)遺忘特定於使用者的thing:gram(monad)的此部分。
P(TM(thing))提供在非揮發性記憶體中演算地初始化及組織物及此等物之間的關係的表示作為thing:graph的行動。在支援類別的實施例中,P(TM(thing))包括紀律P(TM(thing:class))程序,例如:P(TM(thing:class.set)),用來將物設定為此類別的成員,此物滿足了此物的實例是意味著什麼的需求;P(TM(thing:class.get)),用來取得對於此類別的物的參照;及P(TM(thing:class.unset)),用來復原所指定的類別的物的實例。修飾語行動允許修飾(例如「之前」或「之後」)P(TM(thing))程序,因此允許「在設定之前,執行此行動」或「在設定之後,執行此行動」。
物的各個實例包括由P(TM(thing))所使用的非可變組分的集合。在較佳實施例中,該集合包括:thing:name、a thing:value及thing:relationship-set。實施例可延伸此集合以併入如經由可與P(TM(thing))交互作用的內容(例如配置檔案中的內容)所指定的額外組分。
參照第35圖,在初始化期間,P(TM(thing))分配及初始化名稱等於monad的物作為物機器的thing:graph的根,且分配及初始化具有名稱context的物,及設定關係使得斷言:「存在著名稱等於monad的物,使得存在名稱等於context的物」為真。
參照第36圖,上下文限定是在用於解析列表的範圍中的物集合,此列表包括一或更多個自由變數及此等自由變數之間的關係的表達式。藉由實例的方式,http://www.iotnamespace.com/thing及request:statement及statement.thing[1]是列表的實例。
參照第37圖,在較佳實施例中,上下文物是thing:stack,P(TM(thing))可經由此thing:stack演算地將物推送到堆疊上或將物彈出堆疊,而因此改變上下文。P(TM(thing))在量化是在用於解析列表的範圍中的物的集合時演算地將堆疊頂部處的物用作目前的上下文。
再次參照第36圖,在較佳實施例中,目前的上下文物具有一關係集合,此關係集合包括與稱為命名空間物的一或更多個物的關係。物的名稱是命名空間的名稱。P(TM(thing))演算地將命名空間物用作表示相關(即使是僅藉由被限定在相同的命名空間中而相關)物的附名物圖表的物。URI綱目名稱可為是命名空間的物的名稱。URI綱目特定部分是識別此命名空間中所限定的物的列表。
參照第38圖,將具有對於可執行行動的參照的表示的物分類為主動物。主動物是thing:verb且具有相對應的主動物圖表G(P(TM(i)))。以相對應的主動物名稱替換主體節點名稱,且受G.request作用的空白節點被可受P(TM(i))作用的物的圖表替換。各個G(P(TM(i)))包括: a) G.identifier(P(TM(i))物,其名稱是識別P(TM(i))的識別碼,且是有向圖表中的根節點(主體物); b) G.urr(P(TM(i))) URI物,其值指示讓P(TM(i))作用於G.request上的要求;及 c) G.request(P(TM(i)))物圖表,指示可受P(TM(i))作用的物的集合。
參照第39圖,在一實施例中,G(P(TM(i)))可包括額外的物資訊,例如包括來自執行P(TM(i))的回應的物的描述。
實施例可包括用於給定G(P(TM(i)))的多個G.request圖表以指示可受P(TM(i))作用的物的各種排列。此類實施例可更包括指示構成相對應的回應圖表的物的多個G.response圖表。
第40圖是G(P(TM(thing.set)))圖表,相對應於用於在非暫時性記憶體中設定物的P(TM(Thing.set))程序。request:uri物的值是要設定的物的列表,且其值將被設定為request:value物的值(若指定的話)。若指定了request:using物,則其值是表示在設定由request:uri物的值所識別的物時要使用的物的列表。
第41圖是G(P(TM(thing.get)))圖表,相對應於用於取得非暫時性記憶體中由列表request:uri所給定的物的表示的P(TM(Thing.get)程序。修飾語的名稱、值或關係集合或關係可用來指示所要求的關於物的特定資訊。將資訊儲存為由列表所給定的物的值,此列表由request:as物的值所指示。
第42圖是G(P(TM(thing.unset)))圖表,相對應於用於復原來自非暫時性記憶體的物的表示的P(TM(Thing.unset)程序。要復原的物是由request:uri物的值所給定的。
本領域中的技術人員可以替代的演算程序替換P(TM(thing))以支配物及此等物的關係,以進一步允許例如為並行、持久、快取、同步化、鎖定(例如讀/寫鎖定)、所有權、許可(例如由擁有者、群組或所有人進行讀/寫/執行)的特徵。
P(TM(eval))
如由第45圖所述,P(TM(eval))演算地與P(TM(thing))交互作用以提供以下行動: a) 選出要估算的thing:statement; b) 從可存取的主動物的集合選出G(P(TM(i)))作為可執行主動物; c) 初始化新的上下文物作為可執行的上下文物; d) 在可執行的上下文物的上下文下執行可執行的G(P(TM(i)))的G.urr; e) 將可執行的上下文物重設為目前的上下文物;及 f) 復原新的上下文物。
在一實施例中,步驟a及步驟b由選出滿足以下斷言的主動物的步驟組成:(存在列表等於request:statement的thing:statement,使得存在名稱等於.name的物)及(存在列表等於verb:vocabulary的物,使得存在名稱等於.name的thing:verb且物是主動物)。
在一較佳實施例中,步驟b可包括在斷言在其他情況下不被滿足時選出預設主動物的步驟。
對於具有實例的主動物而言,P(TM(eval))可包括以下步驟:選出主動物的實例,其中thing:statement是實例的G.Request圖表的子圖表。
在一實施例中,P(TM(eval))可與P(TM(bind))交互作用以包括以下步驟:使用可執行主動物的相對應的G.request圖表來綁定由thing:statement物所限定的物作為可執行的上下文物中可受主動物行動作用的物。
在一實施例中,P(TM(eval))演算地將敘述的類型分類為命令式敘述;宣告式敘述;訊問式敘述;或驚嘆式敘述,且執行主動物以估算該敘述類別。此舉允許:P(TM(eval.declarative))程序演算地估算宣告式敘述;P(TM(eval.imperative))程序演算地估算命令式敘述;P(TM(eval.interrogative))程序演算地估算訊問式敘述;及P(TM(eval.exclamatory))程序演算地估算驚嘆式敘述。
P(TM(eval))的行動可演算地選出用於可執行thing:statement的預設主動物,且可演算地估算thing:statement以判定更適當的主動物來使用。預定行動可與P(TM(thing))交互作用以增量與thing:statement的分類相關聯的計數器物,以表示物機器被要求執行thing:statement的此分類的次數,預設行動是針對此thing:statement執行的。在使用可執行的通訊行動的情況下,P(TM(i))可與第二機器通訊以獲取關於該分類的內容。P(TM(parse))行動可剖析作為thing:statement以估算及執行。如此,物機器可適應於在裡面執行此物機器的環境的需要。(此處的目標是你要求此機器作某事。)此機器選出預設的行動,接著估算你所要求的任何事以看看是否存在著更佳的行動來執行。若否,則此機器執行預設行動。預設行動分類主題,且針對此機器被要求進行關於此主題的某事的次數而增量一計數器。如此,在計數器碰到一臨界值時,此機器可要求某人教導此機器此主題或買書來閱讀關於此主題。
實施例可在上下文之間合併圖表,使得若指定response.as物,則P(TM(eval))可在復原新的上下文物之前綁定新的上下文中的response:namespace物的子圖表作為目前上下文中的response.as物的子圖表。
在一實施例中,P(TM(eval))可包括以下步驟:在執行G.urr的步驟之前將新的上下文推送到上下文堆疊上作為目前的上下文。在第二實施例中,平行處理的電腦領域中的技術人員會使用表示處理控制模塊物的執行緒特定的資料(thread specific data)的圖表的物,且該資料包括對於目前上下文的參照以供由P(TM(thing))解析列表。
參照第43圖,G.request指示行動可作用於為thing:statement的request:statement上。因此,request:statement物的子圖表會需要滿足成為是thing:statement的物的類別的成員的需求。
參照第44圖,G.request子圖表指示行動可作用於為thing:listing的request:using物上。若真的存在一要求命名空間物,使得不存在名稱等於statement的(thing:sttina)物,且存在名稱等於using的物,則此圖表適用。此G.request子圖表提供了用於選出估算主動物的替代方法。
明確考慮了人工智慧的演算用法。P(TM(classifier))提供用來分類thing:statement的行動,且P(TM(eval))使用該類別來識別在選擇主動物以滿足thing:statement時P(TM(eval))可取得的主動物的集合。可整合其他形式的人工智慧。例如,可使用符號AI、亞符號AI及統計AI演算程序。
Google搜尋引擎推出了主要用於學術及研究活動的TensorFlow(開放原碼機器學習程式庫)。機器學習的電腦科學領域中的技術人員可使用TensorFlow API來研發用於深度學習的P(TM(classifier))。TensorFlow API可經更改為與P(TM(thing))直接交互作用,此P(TM(thing))作為表示要配置的Tensorflow程序的主動物的集合。可經由主動物的集合來提供訓練資料。
P(TM(eval))提供以下行動:a)與P(TM(thing))交互作用以產生要求執行P(TM(classifier))以分類目前的要求thing:statement的要求分類器thing:statement;b)與P(TM(bind))交互作用以綁定分類器thing:statement作為可執行的thing:statement;c)與P(TM(perform))交互作用以執行可執行的thing:statement;及d)與P(TM(thing))交互作用以與其結果交互作用。
其結果識別與目前的要求thing:statement相關的分類(類別)。對於P(TM)所知道的物類別,P(TM(eval))與P(TM(thing))交互作用以將上下文設定為包括關於類別的詞彙且在此上下文下估算目前的要求thing:statement。
P(TM(eval))增量表示主題的計數器,以指示此主題施用於目前的要求thing:statement的次數,此舉允許分類器依據最常用的主題分類thing:statement。在P(TM)並不具有用於給定主題的詞彙時,P(TM(eval))可產生表示預設行動的thing:statement來估算。
第一P(TM)可與第二P(TM)通訊(例如經由WiFi通訊進行)以要求關於P(TM)常常被要求估算及執行的thing:statement的類別的內容。該內容可表示例如為主動物的物及可受主動物的行動作用的物(例如任務)。
實施例可以一估算行動替換P(TM(eval))以演算地執行適用於此實施例的估算,例如以下的一個實施例:支援給定語言的實施例;實施特定機器學習演算法的實施例;實施多個機器學習演算法的實施例;提供效能改良或與第二機器交互作用以估算thing:statement的實施例;與第三機器交互作用以執行thing:statement的實施例。本領域中的技術人員會了解多個演算變體在本發明的範圍內是可能的。
修飾語可用作thing:statement中的物以修飾預設的P(TM(eval))程序性行動。或者,P(TM(eval))可與P(TM(classifier))交互作用以演算地分類被估算的物的類型,且該物類型可用作修飾語以選出及執行主動物。藉由實例的方式,估算表示命令式敘述的敘述(例如「執行名稱為cleanup的任務」)是與估算表示宣告式敘述的敘述(例如「宣告名稱為cleanup的任務,此任務包括:步驟1:沖洗compoint I/O;及步驟2:關閉compoint I/O」)相異的。
藉由將可受行動作用的物的類型併入到P(TM(i))的thing:graph中及併入行動可用來回應的物的類型,可針對常見的動詞名稱(例如開啟)選出適當的行動。藉由實例的方式,以下中的各者具有非常不同的行動,然而各者使用了常見的動詞名稱:開啟我的電子郵件;開門;及開啟銀行帳戶。部分地取決於什麼被開啟而選出正確的行動。藉由包括可受行動作用的物的類型的描述,P(TM(eval))可作出關於其應產生的可執行thing:graph的適當選擇。
P(TM(parse))
P(TM(parse))提供了剖析表示要求的輸入且演算地與P(TM(request))交互作用以將物設定為表示經剖析的輸入的行動。在較佳實施例中,P(TM(parse))是XML 1.1剖析器。
參照第46圖,由列表request:stream所識別的物的值是要剖析的串流。將由request:as物的值(其預設為request:statement)所識別的物設定為表示經剖析的輸入要求的thing:statement。
參照第47圖,將示例性XML片段剖析為示例性圖表。注意,元素屬性是透過「使得存在一實例」關係(thing:sttiai)來指示的,而元素是透過「使得存在」關係(thing:sttia)來指示的。
參照第48圖,由request:input列表所給定的物的值是要剖析的輸入。TM(eval)可基於要求圖表選出適當的G.request(P(TM(parse)))圖表,且促進適當的綁定。
注意,在Parse-1及Parse-3之間存在著細微但重要的區別,具體而言,在1中,行動將從串流進行讀取。或者,在3中,行動使用request:input列表的值(其中值是要剖析的內容)。
此舉是需要的,因為在某些情況下,你會從檔案獲取內容,而在其他情況下,行動產生內容且儲存此內容作為物的值。
P(TM(request))
P(TM(request))提供了以下行動:使用由給定為request:using物的值的列表所識別的物來演算地與P(TM(Thing))交互作用以將由給定為request:as物的值的列表所識別的物設定為thing:statement物圖表。
第一P(TM(i))可用來迭代地建構thing:statement物,且接著演算地與P(TM(request))交互作用以設定request:statement物。第49圖繪示G(P(TM(request)))圖表。request:as物的預設值是request:statement。
P(TM(bind))
P(TM(bind))試圖將物綁定為給定物類別的成員而演算地施用綁定規則的集合。
藉由實例的方式,可將值匹配模式「[0-9]{1,}」的物綁定為thing:integer(具有整數值的物),而可將值匹配模式「[0-9A-Fa-f]」的物綁定為thing:hexadecimal(具有十六進位值的物)。除了基本的物類別(例如thing:thing、thing:text、thing:integer、thing:float及thing:string)以外,可使用推斷規則或基架來表達額外的類型。
參照第50圖,G.request子圖表指示可受P(TM(bind))作用的物。由request:using所給定的物的值是識別綁定規則的集合的列表。由request:bind.listing所給定的物的值是識別要綁定的thing:graph的列表。由request:response.as所給定的物的值是識別thing:graph的列表,在此thing:graph中,回應是要被設定的。在request:response.as為空時,則更新被綁定的物的圖表。
P(TM(bind))可使用狀態資訊(例如未綁定或經綁定)來指示物是否已經綁定。此舉允許P(TM(bind))檢查狀態且僅在未綁定的物上執行綁定規則。P(TM(bind))可更包括「已發現」及「未發現」狀態以指示是否物已綁定且已發現或已綁定且未發現。在一較佳實施例中,P(TM(unbind))與P(TM(thing))交互作用以將物重設為未綁定、未發現的狀態。
在第一實施例中,電腦科學邏輯領域中的技術人員使用推斷規則來將物綁定為一物類別的成員。規則包括斷言及類別識別碼。P(TM(bind))與P(TM(thing))交互作用以演算地施用規則作為關於要綁定的物的斷言,且若滿足,則P(TM(bind))與P(TM(thing))交互作用以將物分類為該類別識別碼的成員。
在第二實施例中,電腦科學標記語言領域中的技術人員可使用thing:schema標記語言來描述物類別。工業標準標記基架可從http://schema.org/docs/schemas.html取得。該基架為一類型集合,各個類型與一屬性集合相關聯。參照http://schema.org/docs/documents.html的Schema.org基架資訊,此資訊以引用方式併入。
參照第51圖,thing:graph被解譯為描述將物綁定為ImageObject類別的成員的成員資格需求的斷言。此解譯是表達以下內容的斷言:存在名稱等於schema的物,使得存在名稱等於ImageObject的物且物是thing:schema,使得(存在名稱等於Caption且thing:value是thing:text的物),且(存在名稱等於exifData且thing:Value是thing:text的物),且(存在名稱等於representativeOfPage且thing:value是thing:Boolean的物),且(存在名稱等於thumbnail且thing:thing是schema:ImageObject的物)。
參照第52圖,呈現了由列表local:object所給定的未綁定thing:graph。
參照第53圖,thing:graph繪示將local:object thing:graph綁定為schema:ImageObject物的要求(如由http://www.schema.org/ImageObject所述)。P(TM(bind))與P(TM(Thing))交互作用以判定local:object thing:graph的組分是否滿足成為schema:ImageObject的需求。local:object物狀態從未綁定轉變為已綁定。若滿足,則將節點「bound.found」添加到local:object thing:graph,且將節點的值設定為schema:ImageObject。
電腦科學邏輯領域中的技術人員可使用推斷規則來演算地作出關於物的推斷。推斷規則由作用於表示前提的thing:graph上且產生表示結論的thing:graph的程序組成。參照第54圖,斷言描述將物分類為BroadcastService是什麼意思。斷言經剖析且表示為用於所指定的分類的推斷規則。P(TM(bind))提供以下行動:演算地估算所指定的thing:graph是否滿足推斷規則,且若滿足,則將thing:graph分類為所指定的分類的成員。再次參照第54圖,電腦科學基架領域中的技術人員可產生用於一基架集合(例如由http://www.schema.org所公佈的可在http://schema.org/docs/full.html處取得的集合)的推斷規則。
注意,http://www.schema.org/PerformAction是關於參與執行技術的行動而不是關於執行可執行行動的機器。進一步注意,schema.org行動關於允許網站描述此等網站所允許的行動及客戶端可如何調用此等行動的詞彙。參照http://blog.schema.org/2014/04/announcing-schemaorg-actions.html,其以引用方式併入。
P(TM(perform))
P(TM(perform))藉由定位thing:statement中對於P(TM(i))的參照及使得P(TM(i))行動執行,來演算地執行可執行的thing:statement。來自行動的回應是以下任一者:滿足、未滿足或失敗。P(TM(perform))行動設定狀態物的值以指示此回應。
參照第55圖,G.request子圖表指示P(TM(perform))行動作用於request:statement上。
P(TM(task))
P(TM(task))演算地與P(TM(thing))交互作用以將thing:graph支配為包括一子圖表集合的thing:task,此子圖表集合包括thing:statement的thing:list。
在一實施例中,P(TM(task))的行動可包括: a) P(TM(task.set)),用來與P(TM(thing))交互作用以設定thing:task; b) P(TM(task.get)),用來與P(TM(thing))交互作用以取得對於thing:task的參照; c) P(TM(task.unset)),用來與P(TM(thing))交互作用以復原thing:task;及 d) P(TM(task.perform)),用來與P(TM(thing))、P(TM(eval))及P(TM(perform))交互作用以估算及執行thing:task的thing:statement。
參照第56圖,P(TM(task.set))與P(TM(thing))交互作用以演算地作用在由列表request:statement.task所識別的物上,此物的值是要設定為thing:task的物的列表。將request:statement.task的行動子圖表設定為thing:task物的子圖表。實施例可包括作為request:statement.task.G.request的G.request子圖表,且該子圖表表示要受任務作用的物。
P(TM(task.get))與P(TM(thing))交互作用以演算地取得thing:task的表示,且主要由需要存取此圖表的其他P(TM(i))(例如P(TM(task.perform)))所使用。
P(TM(task.unset))與P(TM(thing))交互作用以從thing:thing(monad)圖表演算地復原(移除)所指定的任務。
參照第57圖,P(TM(task.perform))與P(TM(thing))、P(TM(eval))及P(TM(perform))交互作用以演算地估算及執行由thing:task的行動子圖表所給定的thing:statement子圖表的序列,此thing:task是由request:statement.task的值所識別的。
在一實施例中,thing:task圖表可包括thing:statement子圖表,此thing:statement子圖表可經估算及執行作為估算及執行thing:task行動子圖表的先決條件。此舉允許主動物集合的執行獲取表示行動子圖表的內容,以將該內容剖析為行動子圖表的thing:statement的要估算及執行的序列。其他行動可包括用來驗證、授權或拒絕thing:task的執行的識別、認證及授權。類似地,先決條件行動可用來確保在估算thing:task之前滿足先決條件,例如配置主動物。
在一實施例中,取決於狀態物的值,thing:task可包括表示用來估算及執行的thing:statement的on.status子圖表。在估算及執行各個thing:statement之後,實施例可與P(TM(thing))行動交互作用以演算地測試狀態以看看值是否滿足、未滿足或失敗且估算及執行相對應的on.status.satisfied、on.status.unsatisfied或on.status.failed thing:statement子圖表。
取決於狀態物的值,實施例可包括表示用來估算及執行的thing:statement的on.status子圖表。在估算及執行各個thing:statement之後,實施例可與P(TM(thing))行動交互作用以演算地測試狀態以看看值是否滿足、未滿足或失敗且估算及執行相對應的on.status.satisfied、on.status.unsatisfied或on.status.failed thing:statement子圖表。
P(TM(format))
P(TM(format))提供了以下行動:與P(TM(thing))交互作用以遍歷thing:graph及產生該thing:graph的經格式化的表示。藉由實例的方式,thing:graph的表示可依照實施例的需要經格式化為XML文件、HTML文件、物文件或其他此類格式。
參照第58圖,request:statement.listing識別一物,此物的值是表示P(TM(format))要格式化的thing:graph的列表。request:statement.as識別一物,此物的值表示一thing:graph,此thing:graph表示造成的格式回應。request:statement.using識別一物,此物的值表示所需的格式。
使用的預設P(TM(format))是Thing-XML。被遍歷的thing:graph的節點經格式化為根元素。為實例的子圖表經格式化為屬性,而非實例的子圖表經格式化為內部元素。
在一實施例中,P(TM(format))可與P(TM(thing))交互作用以遍歷thing:graph以產生文字串流及P(TM(text-to-speech))以執行文字串流轉音響串流的合成行為,此音響串流包含經合成的口語文字表示。P(TM(play-audio))向音效子系統傳遞音響串流以產生音響播放。
P(TM(http:get))
P(TM(http:get))提供了以下行動:演算地與P(TM(thing))交互作用以產生URI;傳遞針對由URI所識別的資源的HTTP GET方法要求;接收HTTP回應;及產生表示HTTP回應的thing:graph,此HTTP回應包括response.headers thing:subgraph及response.entity thing:subgraph。
電腦科學網路服務領域中的技術人員可使用一HTTP方法主動物集合來在詞彙中提供HTTP方法,例如:connect、delete、get、head、options、post、put及trace。可相對於http:命名空間而配置方法集合。類似地,本領域中的技術人員可提供與HTTPS協定相關的方法集合,且可將該集合配置為https:命名空間的主動物。
參照第59圖,URI物限定域物、路徑物及限定標頭物的要求物。P(TM(http:get))與P(TM(thing))交互作用以演算地與URI物交互作用以產生HTTP Get方法要求(繪示於第60圖中)且向域網路服務傳遞該要求。回應於此,P(TM(http:get))接收回應(參照第61圖)。
參照第61圖,P(TM(http:get))執行以下行動:從HTTP Get方法要求接收回應;剖析此回應且與P(TM(thing))交互作用以設定表示此回應的thing:graph,例如第62圖中所示的thing:graph。
可將request.header物配置為具有一要求標頭欄組分的集合,各個組分被表達為由request.header所限定的物。類似地,回應於接收及剖析回應標頭,可將response.header物配置為具有一回應標頭欄組分的集合,各個組分被表達為一物。
在一實施例中,P(TM(http:get))執行與P(TM(thing))交互作用以取得表示在此回應中可接受的媒體類型的物的集合的行動,且據此將接受要求(Accept request)標頭欄添加到要求標頭thing:subgraph。在第二實施例中,P(TM(http:get))執行與P(TM(thing))交互作用以取得在此回應中可接受的編碼的集合的行動,且據此將接受編碼(Accept-Encoding)標頭欄添加到要求標頭。
P(TM(parse.html))
P(TM(parse.html))與P(TM(thing))交互作用以演算地提供將表示HTML內容的thing:graph的行動剖析成thing:graph的集合。
參照第63圖,P(TM(parse.html))作用於request:content物上,此物的值是一列表,此列表表示值是要剖析的HTML內容的物。將限定在與HTML內容相同的域內的嵌在HTML中的錨點鏈結分類為內部鏈結,且添加到由request:links.internal物的值所識別的物的thing:graph。類似地,將外部鏈結添加到由request:links.external物的值所識別的物的thing:graph。將未加標籤的文字儲存到由request:text物的值所識別的物的值。將HTML標籤添加到由request:architecture物的值所識別的物的thing:graph。將微資料添加到由request:microdata物的值所識別的thing:graph。
參照第64圖,繪示了HTML內容中的示例性微資料。P(TM(parse.html))提供以下行動:與P(TM(thing))交互作用以剖析該內容,及將微資料表示為thing:graph,如第65圖中所示。
如所示,第一基架可包括第二基架,例如組織(Organization)可包括位址,如由http://www.schema.org所述。
TM(openssl)
P(TM(openssl))的部分被涵蓋在包括在此揭示案中的OpenSSL授權協議下。TM(openssl)是一計算機器,此計算機器經配置為具有OpenSSL開放原碼軟體及程序P(TM(Openssl))。OpenSSL熟知於現有技術中且廣泛地與網路服務一同用來提供TLS及SSL協定行動(一般用途的加密程式庫)及支援用於公鑰基礎建設的程式。詳見http://www.openssl.org。
在學習P(TM(openssl)) thing:verb時,P(TM)可執行通常由憑證機構所提供的行動集合。例如,電腦科學公鑰基礎建設的領域中的技術人員可使用P(TM(openssl))動詞行動來:加密內容;解密內容;產生散列碼;產生憑證簽署要求;簽署憑證;產生自我簽署憑證;驗證憑證要求(certificate request);驗證憑證;廢止憑證;演算地檢驗憑證的組分;產生數位簽章;驗證數位簽章;提供一般是與憑證機構相關聯的服務集合;授權用於一定用途的憑證使用;及允許使用SSL/TLS協定。
對於與P(TM)一同使用,OpenSSL源碼經更改為使得原始的C源碼函數可與P(TM(thing))交互作用以將物參照為參數。電腦科學領域中的技術人員可更改類似的現存源碼程式庫及使用配置行動來配置額外的P(TM(i))。
一般而言,將OpenSSL命令配置為P(TM)可執行的行動,其中將命令名稱配置為thing:verb,而將可受命令作用的參數配置為可受thing:verb行動作用的物。
P(TM(i))中的若干部分可作用在表示資料的內容上,此內容可經進一步分類為:憑證簽署要求;憑證;密碼;私密金鑰;公開金鑰;配置資訊;要廢止的憑證;延伸物;隨機資料;或可受行動作用的某些其他類型的物。在某些情況下,內容由P(TM(i))剖析且被表示為物圖表中的物,而在其他情況下,內容被用作由列表所給定的物的值。在許多情況下,可將可受行動作用的物指定為Thing.urr,此Thing.urr被解譯為針對此物的統一資源要求。類似地,P(TM(i))可演算地產生表示資料的內容,此內容可例如如上所述地經進一步分類。
在某些情況下,內容可由P(TM(i))剖析且被表示為thing:graph中的物,而在其他情況下,內容可被用作由列表所給定的物的值。行動可與系統裝置驅動器交互作用以獲取內容或將內容儲存在第二儲存裝置中、向第二P(TM)傳遞內容或向感測器或裝置傳遞內容。
一般而言,對於可具有值的物而言,可將物指定為由P(TM(evaluate))估算以產生可執行thing:graph的thing:statement中的thing:name.urr=URR(其中URR是統一資源要求)。為了明確起見,此舉將稱為步驟1。
在遍歷thing:statement thing:graph時,P(TM(evaluate))將看見thing:name.urr且估算URR以產生可執行的thing:graph。執行可執行的thing:graph以產生回應thing:graph。步驟1中的P(TM(evaluate))將在估算及綁定thing:statement物時使用回應thing:graph。
在以下頁面中提供了P(TM(openssl))行動的特定實例以將充分的解釋提供給讀者以接著提供依循相同格式的openssl命令的其餘部分。
P(TM(i))行動中的若干部分可作用於通用的物集合上,此等物提供在以下的表格13中。
Figure 106142927-A0304-0013
表格13
P(TM(openssl.ca))
P(TM(openssl.ca))提供了最小限度的憑證機構的行動。
可受openssl.ca動詞行動作用的物包括以下的表格14中所列的彼等物。
Figure 106142927-A0304-0014
表格14
P(TM(openssl.x509))
P(TM(openssl.x509))提供了以下行動:提供憑證資訊、將憑證轉換成各種形式、簽署憑證要求(與迷你憑證機構類似)或編輯憑證信任設定。
其可用來顯示憑證資訊、將憑證轉換成各種形式、像是「迷你CA」地簽署憑證要求或編輯憑證信任設定。可受openssl.x509動詞行動作用的物列在表格15內。
Figure 106142927-A0304-0015
表格15
P(TM(openssl.genrsa))
P(TM(openssl.genrsa))提供了產生RSA私密金鑰的行動。可受P(TM(openssl.genrsa))作用的物被包括在表格16中。
Figure 106142927-A0304-0016
表格16
P(TM(openssl.req))
P(TM(openssl.req))提供憑證要求及憑證產生行動。可受P(TM(openssl.req))作用的物包括了表格17中所列的彼等物。
Figure 106142927-A0304-0017
表格17
P(TM(OI))
TM(OI)是具有程序P(TM(OI))的計算機器,此程序經配置為與光學讀取器裝置驅動器交互作用以提供包括以下的行動: a. 設定讀取角度(P(TM(OI:set.angle))); b. 設定位置(P(TM(OI:set.position))); c. 光學訊問(optically interrogate)光學識別碼(P(TM(OI:interrogate))); d. 產生相對應的數位資料點陣圖(P(TM(OI:generate)));及 e. 與P(TM(thing))交互作用以產生表示代碼頁的thing:graph。
類似地,可將‘545 IOT-模組的演算行動實施為要被配置為用於P(TM)內的P(TM(i))的集合。因此,可將'545的教示實施為表示行動的物及可受行動作用的物的集合。
示例性 P(TM)
示例性的P(TM)包括如下的起動(startup)、主要(main)及關機(shutdown)的步驟。 1. P(TM(startup)); 2. P(TM(main));及 3. P(TM(shutdown))。
在一實施例中,將P(TM)儲存在物機器的非暫時性輔助儲存裝置中。在第二實施例中,將P(TM)如於2016年1月29日所提出且標題為「Optical Identifier System and Methods」的第62/288,545號的美國專利申請案中所述地編碼在光學識別碼的代碼頁中,此美國專利申請案的整體內容以引用方式併入本文中。具有光學子組件的物機器可光學訊問光學識別碼以在可執行記憶體中呈現程式化指令(programmatic instruction)的表示。
TM的第一程序(例如開機引導程序)使得處理器執行用來將P(TM)載入到可執行處理器記憶體中(例如從代碼頁、輔助非暫時性儲存器載入,或如使用電磁波形裝置來接收地載入)的行動,且使得處理器執行P(TM)。
P(TM(startup))提供以下行動: 1. 執行P(TM(thing))以在非暫時性記憶體中初始化P(TM) thing:subject(monad)作為表示在一定時刻的P(TM)的狀態的thing:graph的根。 2. 執行P(TM(boot)),其提供了用於與P(TM(thing))交互作用以自我配置表示開機計算程序的開機主動物的集合的行動,此等開機計算程序包括P(TM(eval)、P(TM(perform))及P(TM(configure));及 3. 執行P(TM(bootstrap)),其提供了用於以下步驟的行動:與P(TM(eval))交互作用以在開機主動物的上下文下估算thing:statement以產生可執行的thing:statement,及與P(TM(perform))交互作用以造成執行相對應於該可執行thing:statement的主動物的計算程序以引導開始在經配置的主動物的上下文下執行主要應用。
在一較佳實施例中,P(TM(boot))執行用來自我配置表示開機計算程序的開機主動物的行動,此等開機計算程序包括以下步驟: 1. P(TM(eval)),提供用於以下步驟的行動:與P(TM(thing))交互作用以在由P(TM(thing))所支配的非暫時性記憶體中在經配置主動物集合的上下文下估算thing:statement圖表,以建構包括表示該集合中的主動物的至少一個物的可執行thing:statement圖表; 2. P(TM(perform)),提供用於以下步驟的行動:與P(TM(thing))交互作用以藉由造成執行主動物的相對應G.urr可執行行動來執行可執行的thing:statement圖表; 3. P(TM(request)),提供用於以下步驟的行動:與P(TM(thing))交互作用以設定表示要估算的thing:statement的thing:graph; 4. P(TM(parse)),提供用於以下步驟的行動:剖析輸入及與P(TM(request))交互作用以設定該要求thing:statement;及 5. P(TM(configure)),提供用於與P(TM(thing))交互作用以改變經配置主動物的集合的行動。
P(TM(bootstrap))演算地執行以下行動: 1. 與P(TM(parse))交互作用以剖析內容及與P(TM(request))交互作用以產生相對應的thing:statement圖表; 2. 與P(TM(eval))交互作用以在主動物的上下文下估算該圖表以產生可執行的thing:statement圖表;及 3. 與P(TM(perform))交互作用以執行該可執行thing:statement圖表。
在一實施例中,至少一個要求表示用來配置相對應於P(TM(i))的主動物的要求。
在一實施例中,至少一個主動物表示提供以下行動的程序:與P(TM(thing))交互作用以參照thing:graph(monad)的子圖表作為表示thing:statement的序列的thing:graph;與P(TM(eval))交互作用以估算該thing:statement;及與P(TM(perform))交互作用以執行相對應的可執行thing:statement。在一較佳實施例中,該主動物名稱的名稱等於action,而該主動物的G.urr的值是stdlib://usr/local/lib/libaction.so?entry=action。P(TM(configure))使用Linux作業系統的dlopen函數呼叫來動態載入程式庫libaction.so,且使用Linux作業系統的dlsym函數呼叫來將對於表值的值的參照(在此實例中,值是action)解析為記憶體中的可執行指令。
P(TM(action))作用於表示要估算的thing:statement的列表的thing:graph上,且該thing:graph是thing:action。對於thing:action的各個thing:statement,P(TM(action))與P(TM(eval))交互作用以估算thing:statement,且與P(TM(perform))交互作用以執行相對應的可執行thing:statement。
在該實施例中,至少一個要求是用來配置thing:action。回應於執行相對應的可執行thing:statement,P(TM(eval))與P(TM(perform))交互作用以執行用來配置thing:action的計算程序。可將thing:action配置在thing:thing圖表的上下文下,例如thing:task、thing:conditional或thing:while的上下文下。
P(TM(main))與P(TM(eval))交互作用以估算thing:graph。在第一較佳實施例中,要估算的thing:graph是使用列表main:main來識別的。在第二較佳實施例中,要估算的thing:thing:thing是使用列表task:main來識別的。在估算圖表時,P(TM(eval))定位thing:thing圖表的thing:action子圖表,且P(TM(perform))與P(TM(action))交互作用以估算及執行thing:action的敘述。
P(TM(shutdown))與P(TM(eval))交互作用以估算thing:thing圖表。在一較佳實施例中,要估算的thing:task是使用列表task:shutdown來識別的。
第二示例性P(TM)可包括P(TM(i)),此P(TM(i))提供關於電子付款及處理的行動,例如用來進行付款的行動;接收付款的行動;及調整電子錢包平衡的行動。此類實施例可使用一般是與數位錢包(例如比特幣錢包)的使用一同提供的API來實施。此舉允許thing:statement表示用來接收付款或進行付款的要求。藉由實例的方式,https://block.io/api/v2/get_balance/?api_key=BITCOIN、DOGECOIN或LITECOIN API KEY是用來如他們網站上的Block.IO所述地取得BitCoin、DogeCoin或LiteCoin帳戶的平衡的API呼叫:https://www.block.io/docs/basic。或者,吾人可使用Go Coin API(關於電子錢包的描述及可用的API,請參照http://www.gocoin.com)。因此,物機器可進行付款、接受付款、檢視交易歷史、檢查平衡及在其他情況下以數位貨幣、優惠券或點數(例如與由美國運通(American Express)或其他信用卡供應商所提供的獎勵點類似的獎勵點)的形式工作。明確了解的是,付款或接收付款是本揭示案的一個整體組分,且此類API是經由主動物來實施的。
作業系統領域中的一般技術人員可設計及研發物作業系統P(TM(os))。本發明可由電腦科學作業系統設計的現有技術領域中的技術人員所使用,且可將TM(os)實施為具有程序P(TM(os))的計算機器,此程序P(TM(os))提供以下行動:演算地與P(TM(thing))交互作用以支配要表示作業系統的根的thing:subject(os)物。將作業系統的組分支配為thing:subject(os)的子圖表。
P(TM(os))可包括P(TM(1,n))的集合,此P(TM(1,n))的集合提供關於作業系統的行動的程序集合,例如:過程管理、I/O管理、記憶體管理、同步化、記憶體管理、錯誤處置、開機、保護及用來運行下層硬體元件的核心。P(TM(scheduler))可如本領域中的技術人員會了解地被整合以允許工件排程。程式相依性圖表、系統相依性圖表及用來進一步強化物作業系統的能力的其他此類圖表的演算使用是經明確考慮的。
可實施各種類型的作業系統,例如單使用者或多使用者;單任務或多任務;分佈式、嵌入式、即時或虛擬作業系統。示例性組分包括用於過程管理、記憶體管理、檔案系統管理、輸入/輸出管理、輔助儲存器管理、聯網、保護系統及命令解譯器系統的程序。
物可表示具有子圖表的過程控制模塊,此等子圖表表示過程的資訊,例如過程id、狀態、優先性、程式計數器、cpu暫存器、i/o資訊、會計資訊或由作業系統實施例所需要的其他資訊。物可表示執行緒控制模塊。
裝置驅動器、運行佇列、就緒佇列、等待佇列、檔案系統、檔案、儲存裝置、記憶體、中斷訊號、事件、使用者、群組及其他此類作業系統組分可全被表示為物。
鼓勵讀者從Nick Blundell的「Writing a Simple Operating System from Scratch」、H. M. Deitel的「Operating Systems 2nd Edition」開始且參加多個關於作業系統設計的課程以了解超出此案範圍的作業系統設計。
由本系統及方法提供人工智慧的演算使用。P(TM(classifier))提供用來分類thing:statement的行動,且P(TM(eval))使用該分類來識別在選擇主動物以滿足thing:statement時P(TM(eval))可取得的主動物的集合。可整合其他形式的人工智慧。例如,可使用符號AI、亞符號AI及統計AI演算程序。
NeurBot 及機器學習
本系統及方法可例如由NeurBot等等所使用。
我們成長在有許多機械裝置(例如鎖、手錶、販賣機等等)的環境下,此等裝置實質上執行通常是回應使用者供能的機械事件的行動。在一簡化的實例中,我們將鑰匙放到鎖中,且轉動鑰匙以將鎖上鎖或解鎖。我們將25美分放到膠球機中,轉動旋鈕,且此機器發放膠球。
想要建立裝置,此等裝置實質上首先估算:對此裝置要求了什麼。若機器可在執行行動之前估算此類要求,則很可能達成。若物機器可將要求表示為物,且通訊、協定、剖析器及格式器全為物,則第一物機器可從第二物機器演算地學習某些物。此等物機器在本文中稱為「NeurBot」。
學習被界定為經由經驗、研究或藉由被教導而獲取知識或技能。物機器將知識建模為表示行動及可受行動作用的物的物。物機器的事前知識包括在機器的初始化期間被表示為物的事實、資訊、動詞(意指主動物)及技能(意指任務及服務)。若我們將機器建立得像是具有受限的事前知識的小孩,則我們可讓機器基於其經驗學習新事物(事後知識)嗎?依據本系統及方法,答案為是。
針對示例性的用途,讓我們從自動販賣機開始。存在用於自動販賣機的許多可能的配置,各個配置具有一或更多個特徵,例如:提供數量折扣、誘因、預訂預先付款、回饋點、多產品折扣等等。此自動販賣機的實例由美國專利6575363所提供,其整體內容以引用方式併入本文中,其提供了對於此類自動販賣機設計的描述及參考。
在許多情況下,自動販賣機擁有者仍然依賴送貨員收集錢及作出關於補給的決策。為了走向物一點,可將自動販賣機設計為物機器。將運動感測器、揚聲器、傳聲器、GPS定位器、LCD顯示器及WiFi網際網路連接添加到物機器。在另一實例中,可添加紅外線熱偵測器。
配置關於庫存管理的主動物的集合,使得機器可在其庫存量低或缺貨時通知網路服務。擁有者/承包商將接著排定遞送日期以讓司機從機器收集錢及將額外的產品放到自動販賣機中以供銷售。實質上,機器是為擁有者工作的,且擁有者維護金錢、庫存及一般而言維護此機器。
依據本發明,將物機器改變為NeurBot且允許機器機器為自己工作而不是為擁有者工作。亦即,NeurBot需要學習且適應其環境。為了如此進行,需要NeurBot具有身分且具有對於金錢的某種級別的控制。
在此示例性實施例中,NeurBot使用光學識別碼作為SIM卡的等效物以具有識別碼。NeurBot經設計為僅接受電子付款及關於交易的添加的主動物,包括用來接受付款、進行付款及用於付款處理的電子錢包。依據本發明的一個實施例,NeurBot可僅花費其電子錢包帳戶中所擁有的,然而可使用其他的財務資源方法學。
NeurBot使用其帳戶中的金錢以針對額外的庫存付購買的錢。在使用簡單網路服務的情況下,提供了讓NeurBot從以選取的產品列表。此列表可例如包括:產品名稱;UPC碼;製造商;成分列表;單價;預期的最佳有效日期;最低訂購量;尺寸;重量;可用數量;及過敏聲明。NeurBot選出項目,且在使用其識別碼的情況下,我們可判定NeurBot的地理位置及判定運輸費。
NeurBot進行購買且電子地付貨品的錢。送貨司機出現而將產品安裝到機器中。藉由開啟API,其他供應商可廣告他們自己的要經由自動販賣機販售的產品。供應商可允許搜尋引擎(例如Google)索引化他們的網站,而NeurBot可搜尋Google關於新的供應商。NeurBot將能夠搜尋供應商及擴大可供經由自動販賣機購買的物的類型。
然而,為了讓NeurBot延伸到原始的產品提供網路服務之外,會需要供應商知道NeurBot定位在哪裡以判定運輸及將產品安裝到NeurBot中的行為。可將NeurBot配置為具有GPS裝置,使得NeurBot可傳達其位置。
亦可將NeurBot配置為具有溫度計以量測超過24小時時段的溫差。在使用其地理位置來將此溫度與可透過網路取得的氣象服務(例如wunderground.com)進行比較的情況下,NeurBot可判定其是否是在建築物裡面或建築物外面;及是否其是否處於日光直射下。或者,具有光感測器的NeurBot可試圖推斷一天的各種時間的光變化以判定其是否是在建築物的裡面或外面。NeurBot可在判定適當的產品選擇時使用此資訊或來自不同輸入/輸出裝置的其他資訊。例如,若處於日光直射下,NeurBot可選擇選出洋芋片而不選出巧克力產品,因為前者更傾向於在較高溫下損壞。
定位在建築物外面的NeurBot可能注意到肇因於惡劣天氣的銷售量的顯著降低。藉由使用其地理位置,NeurBot可與基於網路的氣象服務交互作用以預知壞天氣且據此調整其採購單以確保販售最新鮮的可能產品。
假設,遞送服務可外包,使得反而是Uber司機遞送服務的等效服務供應及安裝產品。或者,Amazon無人機可遞送預先配置的容器中的包裹,此容器可被投到自動販賣機中且機械地安插以供容易配給。以任一方式,讓我們假設我們解決了額外庫存的遞送及安裝的考量且聚焦在關於此環境的其他任務上。
在NeurBot演算地計算貨品的成本以及遞送及安裝的成本時,其可演算地提高產品的價格(mark up the product)使得NeurBot可在每次銷售中賺取利潤。一般而言,機器的擁有者會決定差額,但在此情況下,我們讓NeurBot作出此決策。NeurBot保持在一整天中的預定區間期間的運動感測器熄滅(go off)的次數的計數。藉由比較每週的每一天的區間計數,其可演算地判定每天的潛在消費者的交通計數。其亦可尋找其每天最忙碌的時間及其每天最不忙碌的時間。
在其每天最不忙碌的期間,NeurBot可購買線上書本以學習庫存追蹤、投標詢價、價格比較、遞送服務及甚至學習如何分析銷售趨勢。為了這樣做,NeurBot跟我們目前管理為網路服務的線上書本商店開啟帳戶。線上書本提供了內容。如同我們已經學習的,在內容是以NeurBot剖析器可剖析為thing:statement的文法撰寫時,則NeurBot可估算敘述。
在使用事後知識的情況下,NeurBot會能夠針對額外的庫存招標、線上查詢具有最佳價格、運輸因素及搬運成本的供應商或甚至雇用遞送服務來依需要補充庫存。其可使用此資訊來判定其貨品成本且基於所需的差額來設定零售價。
NeurBot可收集關於銷售的資料及分析銷售趨勢以調整售價,以判定重新訂購級別及履行訂單所需的時間。其甚至可判定產品何時將要過期且作出市場決策,例如在購買第二產品的情況下折扣第一產品,或僅折扣單一產品以將其移出庫存。其可查看賣不好的產品,且在促銷活動中提供彼等產品(最低限度地提高價格、折扣、購買某些其他物就送...等等)。其可基於需要量設定價格。例如,在中午時間有著更多的消費者,所以增加價格5%直到下午1點為止。
在NeurBot準備好發出採購單時,其可查看其庫存且判定,基於目前的銷售趨勢及遞送時間,其應重新訂購產品A,即使產品A的庫存數仍高於其重新訂購點。此與運輸及安裝成本有關。在基於現有的銷售趨勢預期產品A在2天內達到其重新訂購點時現在僅重新訂購產品B且遞送時間是3天,會是沒有意義的。在此情況下,NeurBot可作出此判定且同時訂購產品A及產品B兩者。
在分析趨勢時,NeurBot可查看銷售歷史以判定是否產品A的銷售最常包括了產品B的銷售,且看看產品A的銷售是否在產品B缺貨時下降。在此類情況下,其可確保產品B的正確訂購級別以鼓勵消費者購買產品A及產品B兩者。若產品C的銷售時常包括產品B的銷售,則機器可在一半的A及一半的C已被賣掉時重新訂購產品B。
NeurBot可與使用者互動。其可詢問消費者他們下次是否會偏好不同類型的產品。在使用分類器的情況下,其可分類產品的類型及計算給定類型的產品被要求的次數。如此,在下了新的訂單時,NeurBot可搜尋相關的產品,且在這樣做時,其開始適應(意指NeurBot正在提供更佳的服務)於其環境中。
沒有什麼阻止NeurBot學習團體(association)(為了共同的目的而組織的物機器群組)。NeurBot可閱讀描述團體及提供相同物所需的任務的書本,例如: 1) 如何產生團體; 2) 如何廣告其可用性; 3) 如何將其推銷給其他的NeurBot; 4) 會員資格需求; 5) 如何識別、認證及授權會員參與; 6) 如何對會員資格計費;及 7) 如何使用其會員數的大小來協商交易。
二或更多個NeurBot可起始一團體且開始共享資訊,例如在每年的各種時間期間賣最好的產品。他們可共享額外的資料,例如及時提供產品的供應商、產品選擇最多的供應商、有數量折扣的供應商等等。團體收集資料且關聯之。有了一段時間的充足的資料,團體使用標準樣板來開啟網站服務,且向訂戶提供此資訊。其他NeurBot可訂閱以獲取用於他們自己的購買決策的資料。團體可電子地向訂戶收取會員費,且管理其自己的應收帳款。團體可代替會員徵求產品投標以傳遞批量訂單中接著分發到各種會員的任何節省款項。目前,可以受控環境執行此舉,但我們可輕易移除控制機構且允許NeurBot他們自己這樣做。
在使用運動感測器的情況下,NeurBot可判定在給定區域內是否存在移動且自動播放關於自動販賣機中的產品中的一者的商業廣告。藉由計數運動感測器的觸發,其可估算附近的客流量,且從其他機構徵求廣告投標以顯示他們的廣告來收費。
NeurBot可總是詢問使用者還有什麼事是NeurBot能做的。使用者可回應,且若NeurBot可滿足要求,則很好。否則,NeurBot可使用分類器來嘗試及判定關於要求的主題。藉由保持其被詢問租借車輛的次數的計數,例如,其可查詢所閱讀的電子書來學習如何使用企業租車(Enterprise Car Rental)網路服務來租車。
NeurBot可學習如何管理其本身的詞彙以基於硬體限制確保適當的處理。在NeurBot的儲存空間不足時,其可詢問第二NeurBot關於增加第二儲存空間的資訊,而第二NeurBot可教他開啟Amazon雲端儲存服務帳戶所需的任務。
讓我們假設在你購買之前有免費試用,則一開始不會需要付款。若雲端帳戶服務接受電子付款,則只要有足夠的利潤付款,NeurBot可保持帳戶開啟。
類似地,若NeurBot需要更多處理能力,則沒有其不能開啟物機器帳戶來添加額外的處理能力的理由。假設第二NeurBot有一個很好的工作且保持其客戶開心,但並不需要其擁有所有處理能力。其可學習如何銷售其過量的容量且使其可用於第二NeurBot(可能要收費)。
其他的關注區域包括了隨機性。NeurBot可隨機學習原本不相關的主題。若存在著可執行工作及賺錢的充足數量的機器,則此等機器可擴充他們的能力。事實上,此等機器可學習如何在不同的使用領域中實質上開闢新的業務。物機器可學習存在著稱為自動割草機(包括John Deere Tango E5或Husqvarna Automower)的物。
NeurBot了解遞送服務從點A向點B遞送某物。結果是,其可遞送自動割草機。機器可購買自動割草機,開啟網站以供訂戶註冊及付割草的錢,且使用遞送服務來向及自正確的位置輸送割草機。可將無人機及其他手段用於輸送。
最後,考慮廚房烤麵包機的角色。其烤麵包、貝果、鬆餅、糕點及其他此類項目。烤麵包機是非常直截了當的類型的機器,且你會覺得沒有多大的空間來創新為NeurBot。然而,考慮正在烤他們的麵包的人通常是在附近。烤麵包機可與主NeurBot通訊以獲取內容且僅透過音訊或在烤麵包機的螢幕上轉播此內容。烤麵包機可告訴他們關於天氣、新聞、事件、訊息、電子郵件、新產品發售及其他此類資訊。
相同的原理適用於任何機器,其中此機器可預知使用者是在附近的。若你正在使用Keuring咖啡機,你很可能相當靠近他,但若你正在沖泡一整壺咖啡,你可能在正在沖泡你的咖啡的同時離開房間以帶狗出去。NeurBot可使用電磁波形以彼此同步化他們的通訊,且使用演算法來判定使用者的接近量。如此,裝置可使用人不能聽見的聲波來通訊。此舉會允許機器基於演算地產生的使用者接近量來調整他們的音量。
儘管此等實例看起來是不切實際的,但此等實例及更多實例是物機器架構所允許的。可閱讀書本;彼此學習物;重新程式化他們自己以在他們的環境中變得更有用的機器為由本發明所提供的物。可經程式化為學習財務的機器可學習差額的值且賺取利潤。其可使用金錢來購買書本且學習甚至更多事物,或為了額外的儲存空間及/或處理能力開啟雲端帳戶。
在示例性實施方案中,TM係為經配置以執行由P(TM(i))的第一集合組成的程序P(TM)的物機器,第一組P(TM(i))包括例如P(TM(boot))、P(TM(thing))、P(TM(receive))、P(TM(parse))、P(TM(perform))、P(TM(evaluate))及P(TM(configure))。
在典型的實施方案中,P(TM(thing))可以包括電腦可讀取指令的區段(例如,在電腦式記憶體中),以在由電腦式處理器執行時,使處理器管理記憶體的可定址單元的知識庫(例如,在電腦式記憶體中)(稱為(或代表)根據物記憶體模型的物)。
在一些實施方案中,在物記憶體模型中,每一物滿足成員標準,成員標準定義使用一組敘述所表示的「物」的確切需求,以使用通用量化來描述物。「所有物都具有X」的敘述表明物的結構(例如,在非暫時性記憶體中)具有不可變的組分「X」。在示例性實施例中,不可變的組分可以是代表「X」的記憶體的組分的可變參照所代表的值。即使「X」的值可能為空,此舉可以允許所有的物都具有「X」。
在第一示例性物記憶體模型中,所有的物都具有識別符,其值在演算中藉由P(TM(thing))行動使用,以區別第一物與第二物(儘管注意到第一物可以限定具有相同識別符值的物的集合(例如,代表物列表的物));所有的物都具有值(可以為空);以及,所有的物都具有由一或更多個可變關係的集合所組成的關係集合,每一者都描述物的關係。
第一物可以由第二物組成。作為實例但非限制,第一物可以代表物的集合、物的列表、物的佇列、物的堆疊、物的樹、物的詞彙、物的詞彙表、物的坐標基礎圖或物的多維圖。
第一物可以與第二物具有關係,其中第二物係為第一物的實例。因此,代表物的圖表的第一物可以與物圖表的多個實例具有關係。
一些物代表用於執行體現為機器碼的一或更多個演算方法的事實、想法、概念或只是暫時的物(如變量)。
第一物與第二物之間的關係可以是可變的,這意味著例如由P(TM(thing))管理的物可以組織,以在在必要時重新組織。一般而言,物之間的關係使P(TM(thing))能夠量化論域中的物集合。
物可以代表可執行行動,並分配有意義的名稱(類似於我們對動詞命名的方式)。行動係為做一些事的事實或處理。代表可執行行動的物係指稱為動詞,而動詞集合係為動詞詞彙物。動詞以及可受動詞行動作用的物的名稱係指稱為物詞彙。
實施例可以具有多個物詞彙。詞彙的選擇可以取決於通訊的類型、參與通訊的成員及/或發生通訊的上下文。
P(TM(thing))可以由P(TM(i))的集合組成,以用於管理指稱為物的記憶體的可定址單元的知識庫。作為實例而非限制,P(TM(thing.set))提供一種用於設定代表物的記憶體的單元的方法的行動;P(TM(thing.get))提供一種取得代表物的記憶體的單元的方法的行動;以及,P(TM(thing.unset))提供一種用於復原代表物的記憶體的單元的方法的行動。總而言之,管理物的行動係指稱為P(TM(thing))行動,或者簡稱為物記憶體模型的方法。P(TM(i))可以與P(TM(thing))行動交互作用,以作用於物上。
舉例而言,P(TM(perform))可以提供造成動詞行動的執行的行動。此舉可能需要加載機器碼,及/或從指定位址或在指定位址處執行機器碼。
舉例而言,P(TM(configure))可以提供在動詞詞彙中配置附加動詞的行動。在典型的實施方案中,動詞詞彙可以是動態配置,並且可以根據需要增加或減少大小及範圍。
現在參照圖示示例性實現的第67圖,其中P(TM(i))行動產生可執行敘述,而P(TM(perform))造成敘述的執行。P(TM(perform))與P(TM(thing))交互作用,以得到對於可執行敘述的參照以及動詞物詞彙。其定位並執行動詞的相應P(TM(i))行動。P(TM(i))係利用存取上下文而執行,該上下文係為標示可存取P(TM(i))之物的物。
一般而言,大部分P(TM(i))行動與P(TM(thing))交互作用,而解析對於物的參照(稱為列表)。每一列表係由一或更多個識別符組成,而P(TM(thing))解析對於感興趣之物的參照。
現在參照第68圖,示例性流程圖圖示P(TM(i))行動(例如P(TM(parse)))可以與P(TM(thing))交互作用,以設定敘述物。P(TM(evaluate))行動在可存取物的上下文中估算敘述,並對此回應,而可產生用於供P(TM(perform))執行的可執行敘述,而提供如第1圖所示的人類思維過程的仿生學。在估算敘述時,P(TM(evaluate))將在演算上選擇用於執行的動詞,並產生適當的可執行敘述。P(TM(perform))藉由造成相應動詞行動被執行以執行敘述。
現在參照第69圖,示例性P(TM(thing))行動將物組織為有向圖,其中圖表的節點代表物,而連接節點的弧(或邊)代表物之間的可變關係。第一物可以稱為「一元」(M)。
給定為M.G.G.G.的列表告訴P(TM(thing))存在M物,則存在G物,隨後存在G物,隨後再存在G物。使用有向圖(例如,第41圖),該列表唯一識別一個物。
舉例而言,為了與現有的W3C標準向下相容,識別符可以遵守國際化資源識別符(IRI)的規範。IRI係為統一資源識別符(URI)的國際化標準。統一資源定位符(URL)係為URI的一種形式。P(TM(i))行動可以藉由列表引用物,而在URI的語法上看起來類似。
在典型的實施方案中,開機過程可以與P(TM(thing))交互作用,以自我配置有限的詞彙,以代表機器的事前知識(P(TM(thing))知道而不需要經驗或教育的物)。參照第70圖的示例性實施方案,示例性動詞詞彙包括執行動詞以及配置動詞等。
利用最少的詞彙,通用量化可以用於斷言:若存在作為內容的物,則將內容剖析為敘述,在可用詞彙的上下文中估算敘述以產生可執行敘述,以及執行可執行敘述。執行可執行敘述導致代表回應的物集合。此種泛化針對於不產生特定物回應的某些行動而造成回應為空集合。有時,遵守正在執行的行動係為足夠的回應,例如關閉動詞的情況。
可以根據給定語言的文法規則來表達內容。一種語言可以是一種物,更準確地係描述為包括詞彙表與文法的通訊系統。在此實例中,詞彙表可以是詞彙,或是包括詞彙,例如語言中的字或短語的集合。在此實例中,文法可以包括例如關於形態學、語義學及/或語法的規則。
使用動詞的最小集合可以建立動詞詞彙,而機器(例如物機器)可以用以執行基本行動來使用物(意指物可以做的),以透過可以提供的應用服務自我配置物的複雜詞彙。
參照第71圖,示例性智慧型物機器執行剖析動詞行動,以剖析根據協定所接收的內容,以作為請求。在此實例中的請求係為物。估算動詞行動估算請求物,以產生可執行敘述物。執行動詞行動執行可執行敘述物。隨後,可以根據所期望文法的規則格式化回應物,並傳送經格式化的回應。
接收內容(例如,在非暫時性記憶體中)P(TM(receive))的行動的實施方案可以包括使用P(TM(selector)),其行動試圖依據內容選擇適合的剖析器。在示例性實施方案中,選擇器的演算法程序可以偵測特定協定或語言文法的元素,並選擇合適的剖析器,以將上下文剖析為請求物(例如,在非暫時性記憶體中)。
應注意,若沒有將動詞行動啟動動詞增加到詞彙中,則智慧型物機器可能無法更新或改變其動詞行動。在某些實施方案中,由於其提供確定性的解決方案,所以這可能是要求。在其他實施方案中,智慧型物機器可以在演算上控制配置動詞行動的使用,以防止引入不正確或惡意的行動。
參照第72圖,可以藉由通訊及協定動詞行動來執行經由低階裝置驅動器(例如電磁波形裝置)提供的行動。因此,一些物可以獨立於實體硬體,而其他物則依賴於硬體。
第一智慧型物機器可以將代表第一智慧型物機器所知道的物的集合(意指由P(TM(thing))所管理的物)的內容傳送到第二智慧型物機器。作為對此之回應,第二智慧型物機器可以將內容剖析為由自己擁有的P(TM(thing))管理的物圖表。在此方式下,第一智慧型物機器可以與第二智慧型物機器共享物。而清楚地,在一些情況下,第二智慧型物機器可能無法理解某些物,例如第二智慧型物機器中無法取得的第一智慧型物機器的硬體專用物。
在演算上(例如藉由剖析輸入,與感測器交互作用,或者藉由請求智慧型物機器執行例如自行配置詞彙的行動)可執行的智慧型物機器行動可以產生代表請求智慧型物機器做一些事情的敘述。參照第73圖,P(TM(i))產生P(TM(perform))能夠執行的可執行敘述。在一個實例中,P(TM(i))係為P(TM(evaluate))。一般而言,與P(TM(perform))直接通訊的任何P(TM(i))都可以請求P(TM(perform))執行可執行敘述。
參照第74圖中所示的示例性實施方案,P(TM(i))可以與P(TM(thing))交互作用,以使得P(TM(thing))能夠將物設定為代表可執行敘述。
依據物圖表資料模型,我們可以建立智慧型物機器。在一些實施方案中,P(TM)需要知道第一物的位置以進行。從該處可能能夠找到其知道的所有其他物。
參照第75圖所示的示例性實施方案,P(TM(thing))管理物的實例,以及他們之間的可變關係。在引導(bootstrap)期間,P(TM(thing))將指稱為一元的第一物初始化。從P(TM(thing))的角度來看,在此實例中,下列斷言總是為真:存在一個名稱等於一元的物。
再次參照第42圖,上下文物量化論域中的可取得的命名空間物的集合。命名空間物係為用於量化相關物的集合的物,即使其相關僅是作為相同命名空間的成員。命名空間物的名稱可以用於解析對物的參照。系統可以使用請求命名空間,以代表正在請求者,以及使用回應命名空間,以代表執行行動的結果。
為了回應請求,估算動詞行動可以在當前命名空間的上下文中估算敘述圖表,以產生可執行敘述圖表。當設定上下文時,執行動詞行動執行可執行敘述。估算回應(若有的話)以確定用於回應的適當上下文。
在示例性實施方案中,語言、文法、語法及通訊行動本身的選擇係為「物」。此舉暗示可以使用任何語言詞彙、文法及語法,只要存在對應的動詞行動來將文法語法的元素解釋成物敘述;或是將回應格式化為通訊內容。
在示例性實施方案中,智慧型物機器可執行行動可以從圖表中增加、更改或移除物。在此方面,圖表可以視為可執行行動的知識庫以及可受可執行行動作用的物。
在示例性實施方案中,智慧型物機器自我配置最小詞彙,最小詞彙用於啟動智慧型物機器。此舉可以視為事前知識(獨立於經驗的知識)。若經驗係定義為智慧型物機器做一些事而物發生的行為(作為可修改的圖表被管理),則可以認為智慧型物機器獲得作為執行物的結果的經驗(以物作為代表的技能或知識)。
舉例而言,在示例性實施方案中,使用此詞彙,智慧型物機器配置核心詞彙,核心詞彙提供可以執行應用的基礎。此舉可以視為後設知識(從經驗中學到的物)。行動可以遍歷圖表,格式化內容,並與輔助儲存裝置交互作用以保留圖表資訊,隨後可以藉由行動擷取及使用圖表資訊以重新建構圖表。
核心詞彙可以配置為包括預先確定的物的集合,而詞彙具有有限的預定大小及範圍。詞彙表的物的集合可以藉由P(TM(thing))動態管理,其中物受到設定(學習並增加到圖表中),而其他物復原(忘記並從圖表中移除)。
在一些實施方案中,智慧型物機器將物組織成有向圖。圖表成為P(TM(thing))管理圖的整體有向圖的子圖表。子圖表可以從圖表中分離出來,而隨後在整個圖表的另一部分中重新量化成一節點。
在估算及執行P(TM(i))時,相應的行動可能具有整體有向圖的受限存取,而可能僅限於整體圖中的物或物的集合。
上下文圖表可以包括代表命名空間的物。命名空間係為經命名的有向圖的物,並用於代表物的概念分組(例如請求、回應、任務的集合、服務、動詞詞彙或甚至應用程式詞典)。命名空間詞彙可以視為本體論的形式。然而,使用分散詞彙的幾個命名空間可能共享一部分詞彙的本體論委託。
在示例性實施方案中,行動區塊係為代表一系列敘述的圖表。經命名的行動區塊係指稱為任務。以此方式,語言文法可以代表對智慧型物機器請求配置經命名任務。隨後,請求可以執行任務。藉由執行行動區塊以執行任務。藉由估算每一敘述以執行行動區塊,以產生可執行圖表。藉由執行對應於可執行圖表中的動詞的行動以執行可執行圖表。
智慧型物機器可以配置為雙語,而可以將多種語言文法剖析器配置為可執行行動。或者,可以使用翻譯器行動,以從第一語言翻譯成第二語言,而可以由經配置的剖析器行動來剖析。
因此,當我們說智慧型物機器可以閱讀書本時,我們的意思是機器可以執行所取得的內容(例如,從掃描書本的電磁波形裝置)交互作用的行動,並將內容表示為圖表。藉由將圖表保持為P(TM(thing))管理圖表的子圖表,智慧型物機器行動可以隨後存取該內容,並與該內容交互作用。
智慧型物機器可以閱讀描述如何執行任務的書本,而在一些實例中,在將來機器被要求執行此類任務的情況下,可以保留部分或全部知識。任務可以依照主題分類。任務可以是分類的集合的成員,例如與使用http協定相關的任務;與活動(例如accounting:accounts.receivable、accounting:accounts.payable、banking:debits、banking:credits及banking:balance)相關的任務。
在一些實施方案中,第一智慧型物機器可以發送意欲用於第二智慧型物機器的通訊,以請求關於主題或分類的知識。回應於接收代表所述知識的內容,第一智慧型物機器可以與內容交互作用,以相應地配置自己擁有的知識。以此方式,第一智慧型物機器可以從第二智慧型物機器上學習。
在一些實施方案中,智慧型物機器可以提供服務。服務係為回應(通常來自個人或另一機器)接收請求而提供的物。服務與任務之間的微妙區別在於,至少在示例性實施方案中,任務是被執行的;而服務是被提供的。任務與服務的分離係透過上下文實現,這可以防止未經授權的任務的執行,例如移除檔案或改變動詞的意思。
身分可以是物,因此系統可以建模識別符、認證、授權及審計的概念,以體現身分模型。身分模型的實例包括使用公共密鑰基礎設施、Open PGP的信任網路、生物識別、第三方授權及其他者。在具有身分的情況下,可以引入作為物的市場的概念,而能夠交易。交易成為買方與賣方;付款人與收款人之間的物。交易可能涉及供應物、實體物、概念物或邏輯物的服務。
在示例性實施方案中,身分模型能夠認證圖表或子圖表。考慮例如代表包括內容的請求方識別符(亦即,請求發起者)、內容及數位簽名的請求的圖表。可以驗證識別符的相應證書,並驗證內容的數位簽名。此舉使估算行動能夠在演算上驗證請求,並回應於此以選擇適當的行動。在具有身分模型的情況下,我們亦可以提供一個安全的通訊模型。
可以使用密碼行動對保全請求內容建模,以加密並隨後解密內容。請求圖表可以包括描述密碼行動的子圖表與密碼密鑰。估算動詞行動可以作為先決條件而應用,指定的密碼必須首先利用指定的密鑰執行,以解密內容。藉由在適當的子圖表中組織請求的各種組分,二或更多個智慧型物機器可以(例如,在演算上)使用身分模型進行通訊,並確保通訊的安全。
舉例而言,當與光學識別符SIM卡整合時,即使在Ad-Hoc基礎上,智慧型物機器可以在覆蓋網路中利用唯一身分建模為物。光學識別符可以是例如以1mm的玻璃珠粒編碼的體積立體投影圖,其具有表示身分資訊的數千位元的資料以及超過10億個密鑰。每一裝置可以具有自己的光學SIM卡,並將其作為識別符;若你願意亦可以給定名稱。物可以脫離網路,以及保留其光學身分而重新參與網路。光學身分可以與使用者身分不同。此舉讓智慧型物機器能夠在覆蓋網路上驗證自身,並使用網路可取得內容來重新配置自身。
在一些實施方案中,使用者可以具有自己的光學SIM卡,並在向智慧型物機器展示之後,機器可以重新配置所知道的物,以更好地適應使用者的偏好及先前狀態資訊。舉例而言,利用雙因子驗證,使用者可以顯示他或她的光學SIM卡,並在鍵板中輸入代碼。物機器讀取代碼與光學識別符,以產生唯一使用者識別符,其可以用於在可存取資料庫中查找關於使用者的資訊。使用該資訊,機器可以根據使用者的需要重新配置自身。
在示例性實施方案中,即使在ad-hoc基礎上,智慧型物機器可以動態配置及重新配置其詞彙。共享對其詞典的至少一子集的本體論約束的智慧型物機器的集合可以使用該子集(或至少其一部分)與物交互作用。考慮到詞彙係代表為物,而智慧型物機器具有動詞行動,以配置及重新配置詞彙,所以探索智慧型物機器如何學習是合理的。
請求機器執行一些行動並非必然暗示作出請求的每一人都執行相同動作。舉例而言,考慮到輸入到網路瀏覽器的URL,例如,http://www.thinglanguage.com/v1/index.html。藉由輸入URL,使用者本質上係請求瀏覽器獲取並顯示由URL識別的物。識別符與相應資源都是物。
請求他們的瀏覽器獲取並顯示相同的URL的兩個人可以具有兩個不同的結果,即使他們都輸入相同的URL。在一個情況下,內容可能是特定於個人。在另一情況下,HTTP請求標頭可以包括由網路伺服器用於構建資源內容的狀態資訊。認識到URL可以識別一些事很重要,但是所顯示的內容是另一回事。
自適應類神經自動機及機器學習
在示例性實施方案中,在演算上估算敘述以計算可執行敘述(例如,在P(TM(evaluate))的實施例中)可以包括若敘述為以下情況在演算上估算的步驟: 1)遵守語言的文法規則; 2)在本體論上完整; 3)具有動詞; 4)具有與可執行物相關的動詞; 5)現在可以估算; 6)應該稍後估算; 7)具有必須滿足的先決條件的集合;及/或 8)可以稍後估算。
在示例性實施方案中,P(TM(evaluate))估算機器知道如何作為行動執行的物以及可受行動作用的物的上下文中的敘述,以建構機器可以執行的可執行敘述。有時候,敘述與可執行敘述是相等的。其他時候,可執行敘述係建構為執行除了請求之外的行動,例如預設行動。
考慮到智慧型物機器可以將敘述表示為物,而通訊、協定、剖析器及格式化器都是物,第一智慧型物機器可以從第二智慧型物機器在演算上學習一些東西。有能力從另一者學習的此等智慧型物機器可以稱為「自適應類神經自動機」。
在一些情況下,學習可以定義為透過經驗學習或被教導而獲得知識或技能。在示例性實施方案中,智慧型物機器將知識建模為代表機器可以執行的行動的物以及可受行動作用的物。示例性智慧型物機器的事前知識可以包括在機器的初始化期間表示為物的事實、資訊、動詞(意思為主動物)及技能(意思為任務與服務)。
考慮自動販賣機。自動販賣機具有許多可能的配置,每一者都具有一或更多個功能,例如:提供批量折扣、獎勵、訂閱預付、兌換點、多產品折扣及其他者。關於示例性自動販賣機設計的描述及參考,參見美國專利6575363。
在一些情況下,自動販賣機的擁有者仍然依靠送貨人收取貨款並作出補貨決定。為了提高工作效率,提供智慧型物機器。智慧型物機器連接到(或包括)運動感測器、喇叭、麥克風、GPS定位器、LCD顯示器、WiFi網路連接。在另一實施例中,亦存在紅外熱偵測器。
在此實例中,可以構建與庫存管理相關的主動物的集合,而使得例如當機器的庫存較低或者缺貨時,機器可以通知網路服務。隨後,擁有者/承包商將排程交貨日期,以讓司機從機器收取金錢,並將額外的產品放入自動販賣機進行銷售。實質上,機器正在為擁有者工作,而擁有者掌握金錢、庫存以及一般而言機器。
隨後,智慧型物機器變成自適應類神經自動機,讓機器自己工作而非藉由擁有者工作。亦即,自適應類神經自動機必須學習並適應其環境。為此,在示例性實施方案中,自適應類神經自動機將需要具有身分,並對貨款具有一定程度的控制。
在此示例性實施例中,自適應類神經自動機使用光學識別符作為SIM卡的等同物以具有識別符。自適應類神經自動機係設計為僅接受電子支付,並增加與包括電子錢包的交易相關的主動物以接受支付、作出支付及用於支付處理。在任何時候,儘管可以使用其他金融資源方法,但自適應類神經自動機僅能花費其電子錢包帳戶。
在此實例中,自適應類神經自動機使用其帳戶中的金錢來支付額外庫存的購買。使用簡單的網路服務來提供產品列表,以供自適應類神經自動機選擇。該列表可以包括例如:產品名稱;UPC代碼;製造商;成分列表;單位價格;預期的最佳使用日期;最小訂單;尺寸;重量;可取得數量;及/或過敏聲明等。自適應類神經自動機選擇品項,而提供者可以使用其識別符確定自適應類神經自動機的地理位置並確定運送成本。
在此實例中的自適應類神經自動機可以進行購買,並以電子方式支付所購買商品。隨後,送貨司機將出現並將所購買的產品安裝到機器中。藉由開放API,其他供應者可以透過自動販賣機為自己所銷售的產品做廣告。供應者可以讓搜尋引擎(例如Google)能夠索引他們的網站,而自適應類神經自動機可以搜尋Google,以尋找新的供應者。此實例中的自適應類神經自動機可以搜尋供應者,並透過自動販賣機擴大可供購買的物的類型。
然而,對於自適應類神經自動機延伸超出原始產品供應網路服務的情況,可能需要供應者知道自適應類神經自動機在哪裡,以確定產品到自適應類神經自動機的運送及安裝。自適應類神經自動機可以配置GPS裝置,而使得自適應類神經自動機可以傳達其位置。
自適應類神經自動機亦可配置熱阻器,例如在24小時期間量測溫度的差異。使用其地理位置將該溫度與可經由網路取得的天氣服務(例如 wunderground.com)進行比較,自適應神經機器人可以確定在建築物內側還是在建築物外側;以及是否在陽光直射下。或者,具有光電感測器的自適應類神經自動機可以嘗試在一天中的不同時間推斷光線的變化,以確定在建築物內側還是在建築物外側。自適應類神經自動機可以使用此資訊或來自不同輸入/輸出裝置的其他資訊,以確定適當的產品選擇。舉例而言,若在陽光直射下,自適應類神經自動機可以不選擇巧克力產品而選擇薯片,因為前者在直射陽光下更容易損壞(例如,融化)。
位於建築物外側的自適應類神經自動機可能會注意到由於惡劣天氣而造成的銷售大幅下降。藉由使用其地理位置,自適應類神經自動機可以與網路式天氣服務交互作用,以預知惡劣的天氣,並相應調整其購買訂單,以確保銷售最新鮮的可能產品。
在一些情況下,遞送服務可以外包,而使得Uber司機遞送服務的等同者遞送及安裝產品。或者,例如,Amazon的無人機可以遞送預配置的容器中的包裹,隨後將此容器投入自動販賣機中,及將其機械式開槽以便於分配。無論哪種方式,假設我們已解決遞送及安裝額外庫存的考量,並關注與環境相關的其他任務。
由於自適應類神經自動機在演算上計算商品成本以及遞送及安裝成本,所以可以標記產品價格,而使得自適應類神經自動機可以在每次銷售中獲得利潤。通常機器的擁有者將確定幅度,但在一些情況下,自適應類神經自動機可以做出該決定。
在示例性實施方案中,自適應類神經自動機在一天中的預定時間間隔期間保持運動感測器開關的次數的計數。藉由比較一週中的每一天的間隔計數,可以在演算上確定每天的潛在消費者的流量計數。亦可以發現一天中最忙碌的時間,以及一天中最不忙碌的時間。
在一天中最不忙碌的時間期間,自適應類神經自動機可以在一些情況下購買(並可能閱讀)線上書籍,以學習關於庫存追蹤、下標徵求、價格比較、遞送服務、甚至學習如何分析銷售趨勢。為此,例如,自適應類神經自動機可以在作為網路服務管理的線上書店中開設帳戶。線上書籍提供內容。正如已解釋者,當利用自適應類神經自動機剖析器可以剖析為thing:statements的文法寫入內容時,則自適應類神經自動機可以估算敘述。
使用後設知識,此實例中的自適應類神經自動機能夠徵求額外庫存的下標,在線上尋找最佳價格的供應者,評估運送及處理成本的因素,及/或甚至僱用遞送服務來適當地補充庫存。可以使用此等資訊來確定其貨物成本,並依據預期的幅度來設定零售價格。
在一些實施方案中,自適應類神經自動機可以收集關於銷售的資料,並分析銷售趨勢,以調整銷售價格,確定重新訂購的等級以及訂單完成所需的時間。在一些實施方案中,甚至可以確定產品何時即將到期並做出行銷決定,例如購買第二產品可以折扣第一產品,或者簡單地折扣單一產品以將其從庫存中移出。在一些實施方案中,可以查看不暢銷的產品,並以促銷活動的形式提供此等產品(最小標價、折扣、購買其他物之後免費等)。在一些實施方案中,可以依據需求來設定價格。舉例而言,中午有更多的消費者,所以價格增加5%,直到下午1點。
當自適應類神經自動機準備好發出採購訂單時,在一些實現方案中,可以查看其庫存,並依據當前的銷售趨勢與遞送時間而確定應該重新訂購產品A,即使例如產品A的庫存計數仍高於正常的重新訂購點。此舉與運送及安裝成本有關。當產品A依據現在的銷售趨勢預計在2天內達到其重新訂購點時,現在僅重新訂購產品B而有3天的遞送時間是沒有意義的。在此情況下,自適應類神經自動機可以確定及同時訂購產品A與產品B。
在分析趨勢中,在一些實現方案中,自適應類神經自動機可以查看銷售歷史,以確定產品A的銷售是否最頻繁地包括產品B的銷售,並在產品B缺貨時看到產品A的銷售下降。在此種情況下,可以確保產品B的適當訂購等級,以鼓勵消費者購買產品A與產品B。若產品C的銷售經常包括產品B的銷售,則在已經銷售一半的A與一半的C時,機器可以重新訂購產品B。
在一些實施方案中,自適應類神經自動機可以與使用者互動。在一些情況下,可以詢問消費者是否下次更喜歡不同類型的產品。使用分類器,可以分類產品的類型,並計數所請求的產品類型的次數。這樣,當設置新的訂單時,自適應類神經自動機可以例如搜尋相關產品,並藉此開始適應(意思是在此示例性情況下,自適應類神經自動機提供更好的服務)其環境。
在一些實施方案中,自適應類神經自動機可以學習聯盟(例如,包括為了共同目的而組織的多於一個的智慧型物機器的群組)。在此方面,自適應類神經自動機可以閱讀書籍(例如描述聯盟以及需要提供聯盟的任務),例如: 1)如何建立聯盟; 2)如何廣告其可用性; 3)如何將其行銷到其他自適應類神經自動機; 4)會員資格的要求; 5)如何識別、認證及授權成員參與; 6)如何對會員資格計費;以及 7)如何使用其會員數的大小來協商交易。
在一些實施方案中,二或更多個自適應類神經自動機可以開始聯盟,並且開始共享資訊,例如在一年中的不同時間的暢銷產品。他們可以共享額外的資料,例如及時提供產品的供應者、產品選擇最多的供應者、具有批量折扣的供應者等。聯盟可以收集資料,並將其互相關聯。在一段時間內具有足夠的資料的情況下,聯盟可以使用標準模板,以例如打開網站服務,並且將使資訊提供給訂戶。其他自適應類神經自動機可以訂閱,以獲取資料來供自己的購買決定使用。聯盟可以利用電子方式向訂戶收取會費,並管理自己帳戶的應收帳款。聯盟可以代表會員徵求產品下標,將大量訂單中的任何節省轉移給各會員。此舉可以在受控環境中執行,但是可以移除控制以允許自適應類神經自動機自己完成此舉。
例如,利用運動感測器,自適應類神經自動機可以確定在給定區域內是否存在移動,並自動播放與自動販賣機中的產品中之一者相關的商業廣告。藉由對運動感測器觸發計數(例如,在給定的時間段內),自適應類神經自動機可以估計附近的步行流量,並且徵求來自其他代理的廣告下標,以付費顯示他們的廣告。
在一些實施方案中,自適應類神經自動機可以詢問使用者(例如,在電腦式使用者介面處)是否還存在自適應類神經自動機可以做的任何事情。使用者可以回應,而若自適應類神經自動機能夠滿足請求,則很好,他就會做。否則,自適應類神經自動機可以使用電腦式分類器來嘗試及確定與請求相關的主題。舉例而言,藉由保持自適應類神經自動機被詢問租車的次數的計數,類神經自動機可以在被詢問一定次數後尋找電子書閱讀(並加以閱讀),以學習例如如何使用Enterprise Car Rental網路服務租車。
在一些實施方案中,自適應類神經自動機可以學習如何管理自己的詞彙,以確保依據硬體限制的適當處理。當自適應類神經自動機在儲存不足時,可以例如詢問(經由電子傳輸)第二自適應類神經自動機以取得與增加第二儲存相關的資訊,而第二自適應類神經自動機可以教導第一自適應類神經自動機例如打開Amazon雲端儲存服務帳戶所需的任務。
假設在你購買之前存在一個月的免費試用,則最初將不需要付款。若雲端帳戶服務接受電子支付,則只要有足夠的利潤來支付,自適應類神經自動機就可以保持帳戶的開啟。
類似地,若自適應類神經自動機需要更多的處理能力,則在一些實施方案中,可以例如打開智慧型物機器帳戶來增加額外的處理能力。假設第二自適應類神經自動機完成非常好的工作,並保持客戶的滿意度,但並不需要所擁有的所有處理能力。在一些實施方案中,可以學習如何銷售其過剩的容量,並將其提供給第二自適應類神經自動機,而可能需要付費。
其他感興趣的領域包括隨機性。在一些實施方案中,自適應類神經自動機可以隨機學習不相關的主題。舉例而言,若存在足夠數量的機器進行工作及賺取金錢,則機器可以擴充他們的能力。實際上,機器可以學習如何在不同的使用領域中在本質上開啟新業務。智慧型物機器可以學習存在叫做自主式割草機的物,例如John Deere Tango E5或Husqvarna Automower。
在一些實施方案中,自適應類神經自動機理解從點A到點B遞送某物的遞送服務。因此,可以遞送自主式割草機。機器可以購買自主式割草機,打開訂戶的網站註冊並支付草坪切割器,並使用遞送服務將割草機運輸往返正確的位置。如前所述,無人機或其他手段亦可用於運輸。
最後,考慮廚房烤麵包機的作用。烘烤麵包、貝果、瑪份、酥皮及其他此類品項。烤麵包機是非常簡單直接的機器類型,人們可能最初認為沒有什麼理由作為類神經自動機的創新。然而,考慮正在烘烤麵包的人通常非常接近。在一些實施方案中,烤麵包機可以與主自適應類神經自動機通訊以獲得內容,並且簡單地經由音訊或在烤麵包機上的螢幕上進行中繼。烤麵包機可以告訴他們關於天氣、新聞、事件、訊息、電子郵件、新產品及其他此種資訊。同樣地,由於使用者的近距離,該裝置可以是主自適應類神經自動機的有用的免手提代理。
相同的原理可以適用於機器可以預期使用者靠近的任何機器。舉例而,若你使用的是Keurig咖啡機,你可能會合理地接近他,但是若你正在沖泡一整壺咖啡,則可能會在咖啡沖泡時離開房間帶狗外出。在一些實施方案中,自適應類神經自動機可以使用電磁波通訊來同步他們的通訊,並使用演算法來確定使用者的接近度。該設備可以使用人們可能聽不到的聲波進行通訊。此舉將讓機器能夠依據演算法產生的使用者接近度來調整其音量。
機器可以閱讀書籍來學習物;互相學習物;以及重新程式化自己以在他們的環境中更有用,這只是模型所能做的一些物。可以程式化來學習金融的機器可以學習幅度的值並獲取利潤。可以使用金錢購買書籍並學習更多,或者開啟雲端帳戶以獲得額外的儲存及/或處理能力。
在一些實施方案中,智慧型物機器利用0到1的比例(或一些其他比例)量測狀態。使用物來模擬感覺狀態,例如感覺被稱讚。使用狀態來確定有多接近實現目標。藉由向智慧型物機器描述工作單元(估算及執行的敘述順序)以幫助機器實現目標,智慧型物機器可以學習哪些物可以幫助其實現目標,以及哪些物會阻礙其實現目標。當狀態低於閾值時,在此實例中的智慧型物機器可以開始工作,以幫助回到實現其目標的軌道。
本領域中的技術人員將理解的是,可在不脫離本發明的範圍或精神的情況下對於本發明的結構作出各種更改及變化。綜上所述,所要的是,若是本發明的更改及變化落在以下的申請專利範圍及他們等效物的範圍內,則本發明涵蓋此等更改及變化。
100‧‧‧物機器102‧‧‧記憶體104‧‧‧處理器106‧‧‧非暫時性輔助儲存裝置108‧‧‧本端介面110‧‧‧輸入及輸出(I/O)裝置120‧‧‧軟體122‧‧‧剖析器/作業系統(O/S)124‧‧‧估算器126‧‧‧執行器128‧‧‧格式化器202‧‧‧方塊204‧‧‧方塊252‧‧‧方塊254‧‧‧方塊256‧‧‧方塊
附隨的圖式被包括來提供本發明的進一步了解,且被併入此說明書及構成此說明書的一部分。此等繪圖中的元件不一定是按照比例的,反而重點是放在清楚繪示本發明的原理上。此等繪圖繪示本發明的實施例且與說明書一起用來解釋本發明的原理。
第1圖是一示意圖,繪示一個人如何可反應於命令式的命令的原始流程圖。
第2圖是依據本發明的一個實施例的示意圖,繪示物機器的一部分。
第3圖為一示意圖,繪示物機器的開機過程。
第4圖是一圖表,此圖表是為了展示如由物機器所執行的依據開機過程產生圖表的行為的目的而提供的。
第5圖為一圖表,繪示物B相對於物A單獨存在的關係(relationship)。
第6圖為一圖表,繪示thing:sttia關係。
第7圖為一圖表,繪示使用thing:is-a關係來將具有與可執行行動的關係的THING分類為thing:verb。
第8圖為支援分類(classification)的圖表,其中將命名空間(Namespace)物分類為thing:namespace,而thing:namespace是thing:class。
第9圖為一圖表,繪示支援分類,其中將THING分類為thing:context。
第10圖為一示意圖,繪示示例性地將http URI連結到物。
第11圖為一圖表,繪示thing:graph,其中空白節點表示滿足宣稱,且此宣稱可具有對於thing:object的參照。
第12圖為一圖表,繪示thing:assertion斷言(assert)thing:subject具有為數字的值,且因此不需要thing:object。
第13圖是一圖表,繪示thing:assertion宣稱thing:subject的值小於thing:object的值的時候。
第14圖為具有連接符的圖表的實例。
第15圖為一流程圖,舉例說明由物機器所執行的最小限度的運行時間步驟。
第16圖為thing:graph,使得P(TM(i))是P(TM(parse))行動,而剖析XML文件產生thing:graph使得以下斷言為真:存在著名稱(name)等於core:print的物,使得存在著名稱等於「message」而值(value)等於「Hello, World」的物。
第17圖是一圖表,使得P(TM(config))作用於由要求(request)命名空間物所限定的物上,此物是G.id(繪示為空白節點),使得存在G.request及存在G.urr。
第18圖是一圖表,繪示作用於由URI request:statement所識別的物上的my:configure版本的P(TM(config))。
第19圖是一有向圖表,繪示名稱為x的物是名稱為y的物的前導子(predecessor),y是名稱為x的物的後繼子,且述詞是使得存在一關係的物,此指示為thing:sttia。
第20圖是一有向圖表,繪示名稱為x的物是名稱為z的物的前導子,且述詞是「使得存在一實例」,此指示為thing:sttiai。
第21圖為英語解譯的有向圖表。
第22圖為一有向圖表,繪示名稱為x的物是thing:table。
第23圖是一有向圖表,圖示多個物具有與單一物的關係。
第24圖是一有向圖表,繪示名稱為「x」的物是名稱為「c」的物的類別(class)的成員。
第25圖是一有向圖表,繪示一關係,此關係指示名稱為「x」的物的名稱是名稱為「b」的物的類別的成員。
第26圖是一有向圖表,繪示一關係,此關係指示名稱為「x」的物的值是名稱為「c」的物的類別的成員。
第27圖是一有向圖表,繪示上下文包括要求、回應及本端命名空間。
第28圖是一動詞圖表,圖示將分類預設為request:class=”thing:thing”。
第29圖是相對應於預設為request:class=”thing:alarm”的分類的動詞圖表。
第30圖是一圖表,繪示G.request(P(TM(i)))指示P(TM(i))可作用於要求命名空間中所限定的物上。
第31圖是一圖表,繪示G.request(P(TM(i)))指示P(TM(i))可作用於名稱為由名稱為statement的物所限定的Contact的物上,此名稱為statement的物經限定在要求命名空間中。
第32圖是一圖表,繪示示例性G(P(TM(i)))是包括G.request(P(TM(i)))子圖表及G.urr(P(TM(i)))子圖表的有根有向的thing:graph,此G.urr(P(TM(i)))子圖表指示P(TM(perform))將如何要求P(TM(i))執行其行動。
第33圖是一示意圖,將物機器繪示為通用圖靈機。
第34圖是一示意圖,將物機器繪示為自適應類神經自動機(Neural Bot)。
第35圖是一圖表,繪示在初始化期間,P(TM(thing))分配及初始化具有等於monad的名稱的物作為物機器的thing:graph的根。
第36圖是一圖表,繪示上下文限定是在用於解析列表的範圍中的物集合,此列表包括一或更多個自由變數及此等自由變數之間的關係的表達式。
第37圖是一圖表,繪示上下文物是thing:stack,P(TM(thing))可經由此thing:stack演算地將物推送到堆疊上或將物彈出(pop off)堆疊,而因此改變上下文。
第38圖為一圖表,繪示將具有對於可執行行動的參照的表示的物分類為主動物。
第39圖為一圖表,繪示G(P(TM(i)))可包括額外的物資訊,例如包括來自執行P(TM(i))的回應的物的描述。
第40圖是一G(P(TM(thing.set)))圖表,相對應於用於在非暫時性記憶體中設定物的P(TM(Thing.set))程序。
第41圖是一G(P(TM(thing.get)))圖表,相對應於用於取得非暫時性記憶體中由列表request:uri所給定的物的表示的P(TM(Thing.get)程序。
第42圖是一G(P(TM(thing.unset)))圖表,相對應於用於復原來自非暫時性記憶體的物的表示的P(TM(Thing.unset)程序。
第43圖是一圖表,繪示G.request指示行動可作用於為thing:statement的request:statement上。
第44圖為一G.request子圖表,指示行動可作用於為thing:listing的request:using物上。
第45圖為一圖表,繪示P(TM(eval))演算地與P(TM(thing))交互作用。
第46圖為一圖表,繪示由列表request:stream所識別的物的值是要剖析的串流(stream)。
第47圖為一示例性圖表,繪示示例性XML片段的剖析。
第48圖是一圖表,繪示由request:input列表所給定的物的值是要剖析的輸入。
第49圖繪示G(P(TM(request)))圖表。
第50圖是一G.request子圖表,繪示可受P(TM(bind))作用的物。
第51圖是一thing:graph,此thing:graph被解譯為描述將物綁定為ImageObject類別的成員的成員資格需求的斷言。
第52圖是由列表local:object所給定的未綁定thing:graph。
第53圖是一thing:graph,繪示將local:object thing:graph綁定為schema:ImageObject物的要求。
第54圖為一斷言,描述將物分類為BroadcastService是什麼意思。
第55圖是一G.request子圖表,指示P(TM(perform))行動作用在request:statement上。
第56圖是一圖表,繪示與P(TM(thing))交互作用以演算地作用在由列表request:statement.task所識別的物上的P(TM(task.set)),此物的值是要設定為thing:task的物的列表。
第57圖是一圖表,繪示與P(TM(thing))、P(TM(eval))及P(TM(perform))交互作用的P(TM(task.perform))。
第58圖是一圖表,繪示識別物的request:statement.listing,此物的值是表示P(TM(format))要格式化的thing:graph的列表。
第59圖是一圖表,繪示URI物限定域物(domain Thing)、路徑物及限定標頭物的要求物。
第60圖為所產生的HTTP取得方法(Get Method)要求的說明。
第61圖為由P(TM(http:get))所接收的回應的說明。
第62圖是藉由剖析回應及與P(TM(thing))交互作用造成的thing:graph集合。
第63圖是一圖表,繪示作用於request:content物上的P(TM(parse.html)),此物的值是一列表,此列表表示值是要剖析的HTML內容的物。
第64圖是示例性HTML內容中的微資料的說明。
第65圖是一thing:graph,表示來自P(TM(parse.html))的微資料,此P(TM(parse.html))提供與P(TM(thing))交互作用以剖析內容的行動。
第66圖繪示剖析以物語言來表達的內容的P(TM),此內容描述P(TM)所需的配置。
第67圖係為P(TM(i))行動產生可執行敘述而P(TM(perform))造成敘述執行的示例性實施方案的示意圖。
第68圖係為圖示P(TM(i))行動可以與P(TM(thing))交互作用以設定敘述物的示例性流程圖。
第69圖係為將物組織成有向圖的示例性P(TM(thing))行動的示意圖,其中圖表的節點代表物,而連接節點的弧(或邊)代表物之間的可變關係。
第70圖係為示例性動詞詞彙與涉及動詞詞彙的交互作用的示意圖。
第71圖係為可以執行剖析動詞行動以根據協定剖析所接收的內容以作為請求的示例性智慧型物機器的示意圖。
第72圖係為示例性智慧型物機器通訊及協定的示意圖。
第73圖係為圖示產生P(TM(perform))能夠執行的可執行敘述的示例性P(TM(i))的流程圖。
第74圖係為圖示與P(TM(thing))交互作用而使得P(TM(thing))能夠將物設定為代表可執行敘述的P(TM(i))的示例性實施方案的流程圖。
第75圖係為管理物以及物之間的關係的示例性P(TM(thing))的示意圖。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
100‧‧‧物機器
102‧‧‧記憶體
104‧‧‧處理器
106‧‧‧非暫時性輔助儲存裝置
108‧‧‧本端介面
110‧‧‧輸入及輸出(I/O)裝置
120‧‧‧軟體
122‧‧‧剖析器/作業系統(O/S)
124‧‧‧估算器
126‧‧‧執行器
128‧‧‧格式化器

Claims (19)

  1. 一種用於取得知識的一第一電腦式機器的電腦實現的方法,該方法包含以下步驟:在一電腦可讀取記憶體中組織具有節點及邊的一多維有向圖,其中每一各別節點代表複數個物中的一物,每一各別邊代表該等物之間的一可變關係,其中每一物代表一可執行動作或可以讓一可執行動作作用的一物,並且其中對應於一可執行動作的每一節點係對應於用於執行該可執行動作的可執行機器碼;以及執行一運行時間機器代碼動作,以與下列各者交互作用:在該有向圖中代表的一第一可執行機器碼動作,以設定代表內容的一第一物;在該有向圖中代表的一第二可執行機器碼動作,以剖析該第一物的該內容,以作為代表一敘述的該有向圖中的一第二物;在該有向圖中代表的一第三可執行機器碼動作,以估算該第二物的該敘述,以計算代表一可執行敘述的該有向圖中的一第三物,該可執行敘述包含用於識別一可執行物與該可執行物所作用的一相關物集合的識別符;以及在該有向圖中代表的一第四可執行機器碼動作,以 存取該可執行敘述,定位由該可執行敘述的該識別符所識別的該可執行物,以及根據作用於該相關物集合的該可執行敘述來執行一可執行動作,以設定代表後設知識的一或更多個物,其中該後設知識包含該第一電腦式機器僅在執行該第一、第二、第三及第四可執行機器碼動作之後才擁有的知識。
  2. 如請求項1所述之電腦實現的方法,其中該等可執行機器碼動作中之每一者係藉由執行儲存於電腦可讀取記憶體中的電腦可讀取指令的一或更多個電腦式處理器執行。
  3. 如請求項1所述之電腦實現的方法,其中:該第一可執行機器碼動作係藉由一或更多個電腦式處理器執行或涉及該一或更多個電腦式處理器,而導致該第一電腦式機器接收該內容;該第二可執行機器碼動作係藉由該一或更多個電腦式處理器執行或涉及該一或更多個電腦式處理器,而導致該第一電腦式機器剖析所接收之該內容;該第三可執行機器碼動作係藉由該一或更多個電腦式處理器執行或涉及該一或更多個電腦式處理器,而導致該第一電腦式機器估算所剖析之該內容;以及該第四可執行機器碼動作係藉由該一或更多個電腦 式處理器執行或涉及該一或更多個電腦式處理器,而導致該第一電腦式機器執行與所剖析的該內容的該估算相關的一功能。
  4. 如請求項1所述之電腦實現的方法,其中該等交互作用包含執行電腦式記憶體中的電腦可讀取指令的一或更多個電腦式處理器,以組織或管理該等物及/或該等物之間的該等可變關係中之任一者。
  5. 如請求項1所述之電腦實現的方法,其中該第一可執行機器碼動作在執行時造成該電腦式機器與利用電磁能量的一裝置交互作用,以取得該內容。
  6. 如請求項1所述之電腦實現的方法,其中該內容係從一立體投影圖中的一編碼取得。
  7. 如請求項1所述之電腦實現的方法,其中將該內容從一第二電腦式機器傳送到該第一電腦式機器。
  8. 如請求項7所述之電腦實現的方法,其中回應於該第一電腦式機器向該第二電腦式機器傳送對該內容的一請求,從該第二電腦式機器傳送該內容。
  9. 如請求項1所述之電腦實現的方法,其中該第一電腦式機器在演算上計算該內容。
  10. 如請求項1所述之電腦實現的方法,其中該後設知識係為該電腦式機器僅在執行該第一、第二、 第三及第四可執行機器碼動作之後才擁有的知識。
  11. 如請求項1所述之電腦實現的方法,其中所取得的該知識係關於一服務,包括如何提供該服務以及如何從該第一電腦式機器為一部分的一機器廣告該服務,該方法進一步包含以下步驟:利用該機器的該第一電腦式機器廣告該服務。
  12. 如請求項1所述之電腦實現的方法,其中所取得的該知識係關於一服務,包括如何從該第一電腦式機器為一部分的一機器訂閱該服務,該方法進一步包含以下步驟:利用該機器的該第一電腦式機器訂閱該服務。
  13. 一種電腦式系統,包含:一第一電腦式機器,包含:一或更多個電腦式處理器;以及電腦式記憶體,耦接到該一或更多個電腦式處理器,其中該電腦式記憶體儲存電腦可讀取指令,該等電腦可讀取指令在由該一或更多個電腦式處理器執行時使該一或更多個電腦式處理器:在一電腦可讀取記憶體中組織具有節點及邊的一多維有向圖,其中每一各別節點代表複數個物中的一物,每一各別邊代表該等物之間的一可變關係,其中每一物代表一可執行動作或可以讓一可執行動作作 用的一物,並且其中對應於一可執行動作的每一節點係對應於用於執行該可執行動作的可執行機器碼;以及執行一運行時間機器代碼動作,以與下列各者交互作用:一第一可執行機器碼動作,以設定代表內容的一第一物;一第二可執行機器碼動作,以剖析該第一物的該內容,以作為代表一敘述的該有向圖中的一第二物;一第三可執行機器碼動作,以估算該第二物的該敘述,以計算代表一可執行敘述的該有向圖中的一第三物,該可執行敘述包含用於識別一可執行物與該可執行物所作用的一相關物集合的識別符;以及一第四可執行機器碼動作,以存取該可執行敘述,定位由該可執行敘述的該識別符所識別的該可執行物,以及根據作用於該相關物集合的該可執行敘述來執行一可執行動作,以設定代表後設知識的一或更多個物,其中該後設知識包含該第一電腦式機器僅在執行該第一、第二、第三及第四可執行機器碼動作之後才擁有的知識。
  14. 如請求項13所述之電腦系統,其中該第一 可執行機器碼動作在執行時使該第一電腦式機器與利用電磁能量的一裝置交互作用,以取得該內容,或者其中該內容係從一第二電腦式機器傳送到該第一電腦式機器,或者其中該第一電腦式機器在演算上計算該內容。
  15. 如請求項13所述之電腦系統,其中該後設知識係為執行該第一、第二、第三及第四可執行機器碼動作之後才擁有的知識。
  16. 一種用於一第一機器的一第一電腦式機器將其知識適應於一環境的方法,該方法包含以下步驟:在一記憶體中組織具有節點及邊的一多維有向圖,其中每一各別節點代表一物,而每一各別邊代表該等物之間的一可變關係,其中每一物代表一可執行動作或可以讓一可執行動作作用的一物,並且其中對應於一可執行動作的每一節點係對應於用於執行該可執行動作的可執行機器碼;以及執行一運行時間機器代碼動作,以與下列各者交互作用:一第一可執行機器碼動作,以設定代表從使用一電磁波形裝置而接收的內容的一主題的一第一物;一第二可執行機器碼動作,以設定代表對與該主題 相關的內容的一請求的一第二物;一第三可執行機器碼動作,以傳送意欲傳送給一第二電腦式機器的內容的該請求的一代表;一第四可執行機器碼動作,以接收代表所請求的內容的一通訊,並設定代表所接收的該內容的一第三物;一第五可執行機器碼動作,以剖析該第三物的所接收的該內容,以作為代表一敘述的一第四物;一第六可執行機器碼動作,以估算該第四物的該敘述,以計算代表一可執行敘述的一第五物;以及一第七可執行機器碼動作,以執行該第五物的該可執行敘述,並設定代表所學習的知識的物的一集合,其中該所學習的知識包含該第一電腦式機器僅在執行該第一、第二、第三及第四可執行機器碼動作之後才擁有的知識。
  17. 如請求項1所述之電腦實現的方法,其中該第四可執行機器碼動作係根據該第一電腦式機器可存取的一詞彙表的一上下文來執行該可執行動作。
  18. 如請求項17所述之電腦實現的方法,進一步包含將代表後設知識的該一或更多個物添加到該詞彙之步驟。
  19. 一種用於一第一電腦式機器獲取知識的電 腦實現的方法,該方法包含以下步驟:在一電腦可讀取記憶體中組織具有節點及邊的一多維有向圖,其中每一各別節點代表複數個物中的一物,每一各別邊代表該等物之間的一可變關係,其中每一物代表一可執行動作或可以讓一可執行動作作用的一物,並且其中對應於一可執行動作的每一節點係對應於用於執行該可執行動作的可執行機器碼;以及執行一運行時間機器代碼動作,以與下列各者交互作用:在該有向圖中代表的一第一可執行機器碼動作,以提供自我配置該電腦可讀取記憶體中的一第一物詞彙的一動作;以及在該有向圖中代表的一第二可執行機器碼動作,以配置該電腦可讀取記憶體中的一第二物詞彙,其中的該第二物詞彙代表透過一電腦應用程式所提供的一核心詞彙。
TW106142927A 2016-12-07 2017-12-07 物機器系統及方法 TWI797099B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662431143P 2016-12-07 2016-12-07
US62/431,143 2016-12-07

Publications (2)

Publication Number Publication Date
TW201835786A TW201835786A (zh) 2018-10-01
TWI797099B true TWI797099B (zh) 2023-04-01

Family

ID=62243244

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106142927A TWI797099B (zh) 2016-12-07 2017-12-07 物機器系統及方法

Country Status (8)

Country Link
US (2) US11769062B2 (zh)
EP (1) EP3552357A4 (zh)
JP (1) JP7256742B2 (zh)
CN (1) CN110268686B (zh)
AU (2) AU2017370908A1 (zh)
CA (1) CA3084966A1 (zh)
TW (1) TWI797099B (zh)
WO (1) WO2018106863A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416792B2 (en) 2017-04-19 2022-08-16 Uber Technologies, Inc. Network system capable of grouping multiple service requests
US11010814B2 (en) * 2017-09-01 2021-05-18 Walmart Apollo, Llc Systems and methods for estimating personal replenishment cycles
US11436554B2 (en) 2017-11-02 2022-09-06 Uber Technologies, Inc. Network computer system to implement predictive time-based determinations for fulfilling delivery orders
WO2019169039A1 (en) * 2018-02-28 2019-09-06 Northrup Charles System and method for a thing machine to perform models
US11132638B2 (en) * 2018-08-31 2021-09-28 Oracle International Corporation Product predictions and shipments using IoT connected devices
US11397911B2 (en) 2018-11-15 2022-07-26 Uber Technologies, Inc. Network computer system to make effort-based determinations for delivery orders
TWI734329B (zh) * 2019-12-31 2021-07-21 技嘉科技股份有限公司 電子裝置及利用外部輸入信號的按鍵巨集之觸發方法
JP7232231B2 (ja) * 2020-11-16 2023-03-02 ミネベアミツミ株式会社 殺菌システム、殺菌装置、制御装置、制御方法および制御プログラム
DE112021007474T5 (de) * 2021-06-14 2024-02-01 Mitsubishi Electric Corporation Informationsbereitstellungseinrichtung, informationsbereitstellungsverfahren und informationsbereitstellungsprogramm
CN118283148B (zh) * 2024-06-04 2024-08-06 南京信息工程大学 一种跨平台应用层协议解析器自动生成方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150019553A1 (en) * 2013-07-11 2015-01-15 Neura, Inc. Data consolidation mechanisms for internet of things integration platform
US20160006815A1 (en) * 2013-02-19 2016-01-07 Interdigital Patent Holdings, Inc. Information modeling for the future internet of things
TW201633173A (zh) * 2014-12-12 2016-09-16 U3D有限公司 存取操作可存取操作的物件的方法以及應用該方法的系統與可存取操作的物件
US20160323863A1 (en) * 2015-04-30 2016-11-03 Samsung Electronics Co., Ltd. Service sharing device and method
US20160342906A1 (en) * 2013-07-11 2016-11-24 Neura, Inc. Situation forecast mechanisms for internet of things integration platform

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204649A (ja) * 1992-01-24 1993-08-13 Nec Corp エキスパートシステム分散制御方式
US7421321B2 (en) 1995-06-07 2008-09-02 Automotive Technologies International, Inc. System for obtaining vehicular information
EP1084576B1 (en) * 1998-05-07 2005-07-27 Samsung Electronics Co., Ltd. Method and apparatus for universally accessible command and control information in a network
JP2002236681A (ja) * 2001-02-09 2002-08-23 Inst Of Physical & Chemical Res 日常言語コンピューティングシステムおよびその方法
US7376739B2 (en) 2004-02-11 2008-05-20 International Business Machines Corporation Persistence of inter-application communication patterns and behavior under user control
MY150958A (en) 2005-06-16 2014-03-31 Astrazeneca Ab Compounds for the treatment of multi-drug resistant bacterial infections
US20070006065A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Conditional event timing for interactive multimedia presentations
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
WO2007147166A2 (en) 2006-06-16 2007-12-21 Quantum Leap Research, Inc. Consilence of data-mining
US20080033897A1 (en) 2006-08-02 2008-02-07 Lloyd Kenneth A Object Oriented System and Method of Graphically Displaying and Analyzing Complex Systems
US8073681B2 (en) * 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
WO2008054037A1 (en) * 2006-11-03 2008-05-08 Yeong-Ae Kim A system of management, information providing and information acquisition for vending machine based upon wire and wireless communication and a method of management, information providing and information acquisition for vending machine using the system
CA2669986C (en) * 2006-11-20 2015-03-17 Matrikon Inc. Ontological database design
BR112015006336B1 (pt) * 2012-09-20 2020-01-28 Ifwizard Corp meio de armazenamento legível por máquina não transitório para engenharia do conhecimento simplificada
EP3000088A4 (en) * 2013-05-23 2018-06-27 Iphenotype LLC Method and system for maintaining or improving wellness
US9992721B2 (en) * 2013-12-27 2018-06-05 Futurewei Technologies, Inc. System and method for distributed mobility management with GPRS tunneling protocol
WO2016078861A1 (en) 2014-11-17 2016-05-26 Asml Netherlands B.V. Process based metrology target design
US20160180240A1 (en) * 2014-12-16 2016-06-23 Kyndi, Inc. Apparatus and method for high performance data analysis
US9461976B1 (en) * 2015-03-25 2016-10-04 Mcafee, Inc. Goal-driven provisioning in IoT systems
KR101665861B1 (ko) * 2015-04-02 2016-10-14 한국과학기술원 IoT 환경에서의 데이터 처리 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160006815A1 (en) * 2013-02-19 2016-01-07 Interdigital Patent Holdings, Inc. Information modeling for the future internet of things
US20150019553A1 (en) * 2013-07-11 2015-01-15 Neura, Inc. Data consolidation mechanisms for internet of things integration platform
US20160342906A1 (en) * 2013-07-11 2016-11-24 Neura, Inc. Situation forecast mechanisms for internet of things integration platform
TW201633173A (zh) * 2014-12-12 2016-09-16 U3D有限公司 存取操作可存取操作的物件的方法以及應用該方法的系統與可存取操作的物件
US20160323863A1 (en) * 2015-04-30 2016-11-03 Samsung Electronics Co., Ltd. Service sharing device and method

Also Published As

Publication number Publication date
TW201835786A (zh) 2018-10-01
WO2018106863A1 (en) 2018-06-14
US20230409925A1 (en) 2023-12-21
CN110268686B (zh) 2023-04-04
AU2017370908A1 (en) 2019-07-25
JP7256742B2 (ja) 2023-04-12
AU2022259839A1 (en) 2022-12-08
CN110268686A (zh) 2019-09-20
CA3084966A1 (en) 2018-06-14
EP3552357A4 (en) 2020-08-05
US11769062B2 (en) 2023-09-26
EP3552357A1 (en) 2019-10-16
US20180157993A1 (en) 2018-06-07
JP2020504371A (ja) 2020-02-06
AU2022259839B2 (en) 2024-05-30

Similar Documents

Publication Publication Date Title
TWI797099B (zh) 物機器系統及方法
TWI791463B (zh) 物機器
AU2018205166B2 (en) Methods and systems for secure and reliable identity-based computing
US11468406B2 (en) Method of converting language-based written contract to smart legal contract using natural language processing
US20150066817A1 (en) System and method for virtual assistants with shared capabilities
US20150067503A1 (en) System and method for virtual assistants with agent store
EP3759656A1 (en) System and method for a thing machine to perform models
US20230185996A1 (en) Framework for blockchain development
Santos et al. Blockchain-Based Loyalty Management System
Veisi Visualizing provenance in a supply chain using ethereum blockchain
Serrano et al. Systems and Implemented Technologies for Data-Driven Innovation, addressing Data Spaces and Marketplaces Semantic Interoperability Needs: i3-MARKET Series-Part II: Data Economy, Models, Technologies and Solutions
CN108885769A (zh) 一种基于多设备的应用程序市场系统
Richie Coronavirus Prevention System