新四季網

用於附件管理系統的控制器網絡的製作方法

2024-03-06 09:39:15 4


本申請要求2014年5月30日提交的名稱為「Networking,Communication and Security for an Accessory Management System」的美國臨時申請62/005,764的權益,並且還要求2014年12月19日提交的名稱為「Networking,Communication and Security for an Accessory Management System」的美國臨時申請62/094,391的權益,並且還要求2015年5月29日提交的美國申請14/725,891的權益。這些申請的公開全文以引用方式併入本文。

本公開還涉及2015年2月5日提交的美國申請14/614,914和2014年2月5日提交的美國臨時申請61/935,967,這些申請的公開內容全文以引用方式併入本文。

本公開還涉及2015年5月29日提交的美國申請14/725,912,該申請的公開內容全文以引用方式併入本文。



背景技術:

本公開整體涉及一種附件管理系統,具體地講,涉及用於附件管理系統的控制器網絡。

電子設備正在一定範圍的應用中變得越來越普及。行動電話、平板電腦、家庭娛樂系統等僅僅是用戶經常交互的電子設備中的一些。

正變得更加普及的另一類電子設備包括各種能夠以電子方式控制的設備,諸如恆溫器、照明設備、家用電器等。



技術實現要素:

目前,用戶可能難以管理多個能夠以電子方式控制的設備或系統。例如,用戶家中可能有恆溫器、能夠以電子方式控制的照明系統、家庭安保系統等。每個此類系統可以由不同的製造商製造,每個製造商可提供專用的控制器設備(例如,基於IR的遙控設備)或控制器應用程式(「或app」),用戶可以在諸如智慧型電話、平板電腦或家用計算機系統的通用設備上安裝並運行控制器應用程式。每個控制器設備或應用通常是針對特定製造商的設備定製的,並且可能無法與來自其他製造商的設備,或者甚至與來自同一製造商的其他設備互操作。這樣逐個針對的方式不容易縮放。試圖利用能夠集中控制或管理的異類設備陣列創建「智能家庭」環境等的用戶面對著積累過多控制器設備和/或控制器應用的需求。

本發明的特定實施方案可以在用於控制器設備(或「控制器」)和任意數量的要控制的其他電子設備(本文稱為「附件設備」或簡稱為「附件」)之間通信的協議情景中工作。例如,可以在通用計算設備,諸如臺式計算機、膝上計算機、平板電腦、行動電話、智慧型電話、其他手持式或可穿戴計算設備上,通過為通用計算設備提供適當的可執行程序代碼來實現控制器;另選地,控制器可以是專用計算設備。附件可以包括能夠由控制器控制的任意設備。附件的示例包括燈具、恆溫器、門鎖、自動門開門器(例如,車庫門開門器)、靜止或視頻相機等。附件和控制器可以通過利用標準傳輸協議的有線或無線信道,諸如Wi-Fi網絡、藍牙、藍牙LE等,來彼此通信。應當理解,可以使用其他通信協議和傳輸。

在一些實施方案中,可以提供「統一」附件協議,控制器可以通過該「統一」附件協議向附件發送命令和控制消息,並以統一格式從附件接收響應,無論附件的類型或功能是什麼。例如,可以將附件定義為服務的集合,每種服務都被定義為一組特性,每個特性在任何給定時間具有定義的值。這些特性可以表示附件狀態的各個方面。該協議可以定義控制器能夠(例如,通過讀取)詢問和(例如,通過寫入)更新附件的特性(單獨或按組)所使用的消息格式,由此允許控制器確定和/或改變附件狀態。因此,任何類型的附件,無論其功能如何,都可以通過一致的方式被控制。

在一些實施方案中,該協議可以定義安全措施,可以使用該安全措施防止未經授權的控制器操作附件。例如,附件可被配置為僅接受來自先前已經與附件建立配對並因此被附件識別的控制器的請求。該協議可以指定配對流程,以便使未經附件的合法所有者/操作者許可進行配對的風險最小化。此外,該協議可以指定端到端消息加密,使得僅特定控制器和附件能夠對它們之間交換的消息解密。

本發明的某些方面可以涉及控制器網絡,其中多個控制器可以與同一附件(或同一組附件,例如附件網絡)建立配對或通過其他方式被配置為與同一附件(或同一組附件,例如附件網絡)通信。在一些控制器網絡中,一個或多個控制器可以與附件建立一定水平的特權(例如,「管理」特權),許可這些控制器確定是否應當許可其他控制器向附件發送命令和控制消息。例如,第一控制器可以與附件建立配對。建立配對可以涉及向附件提供第一控制器的長期公鑰,以及作為交換,接收用於附件的第一長期公鑰。在建立配對中還可以涉及其他操作(例如,帶外PIN或密碼交換)。獨立於與附件的任何通信,第一控制器可以獲得用於第二控制器的長期公鑰。第一控制器可以利用配對建立期間接收的第一長期公鑰與附件建立驗證的會話。驗證的會話可以具有會話密鑰,並且可以利用會話密鑰對驗證會話內的所有通信加密。在驗證會話內,第一控制器可以與附件執行對添加操作,以在附件和第二控制器之間建立配對。配對添加操作可以包括向附件提供用於第二控制器的長期公鑰,以及作為交換而接收用於附件的第二長期公鑰(可以是或不是在第一控制器建立其配對時接收的同一密鑰)。第一控制器可以向第二控制器傳送用於附件的第二長期公鑰。這個過程可以在第二控制器和附件之間建立配對;之後,第二控制器可以建立其自己的驗證會話,以向附件發送命令和控制消息。第一控制器可以重複對添加過程以在附件和任意數量的控制器之間建立配對。

在一些情況下,第一控制器可以指示附件向第二控制器授予管理員(或「admin」)特權。授予這一特權能夠允許第二控制器執行對添加操作以在期望時並根據具體實施來添加附加的控制器,第二控制器可以能夠或不能向附加控制器授予管理員特權。可以將管理員特權自動分配給與全新附件(或與尚未建立配對的附件)建立配對的第一控制器。使用管理員特權可以幫助設備所有者管控哪些控制器能夠獲得對特定附件的訪問權。

在一些控制器網絡中,一個或多個控制器可以作為用於與附件通信的代理而工作。例如,附件可被配置為僅與本地環境中(例如,處於區域網上,區域網根據需要可以是有線或無線的,或在點到點無線通信協議,例如藍牙的範圍內)實際存在的控制器設備通信。本地環境中不實際存在的控制器設備可以與該附件的本地環境中實際存在的另一個控制器(代理設備或代理)建立通信,該代理可以在相距很遠的控制器設備和附件之間中繼消息和響應。相距很遠的控制器和附件能夠建立經配對驗證的會話並對其通信加密;代理不需要能夠讀取消息和響應,僅如所接收地中繼它們即可。在一些實施方案中,可能需要為另一個控制器充當代理的控制器在附件接受代理中繼的任何消息之前與附件建立其自己的配對驗證會話。在一些實施方案中,代理和另一個控制器還可以在它們之間建立配對驗證的會話,並且這樣能夠針對未經授權的訪問提供進一步的保護。

在一些實施方案中,控制器在可能的時候可以優選直接通信,並在附件不可直接聯繫時使用代理。例如,在與附件建立配對之後,控制器可以接收用戶輸入(或其他輸入),該輸入請求與附件交互(例如,以檢查或更改其狀態)。響應於該輸入,該控制器能夠確定附件是否可以直接聯繫到,例如,控制器和附件是否在同一區域網上。如果是這樣,那麼控制器可以直接與附件通信,以建立配對驗證會話並交換命令和控制消息。如果附件不直接可達,控制器可以嘗試識別例如通過區域網或廣域網可達的代理。附件可以與代理建立通信,然後通過代理與附件通信。

在一些實施方案中,代理可以是已經與附件建立配對並存在於附件的本地環境中的任何控制器。代理可以從控制器接收與附件通信的請求。作為響應,該代理可以與附件建立其自己的配對驗證會話。可以通過配對驗證會話將從控制器接收的消息中繼到附件,並且可以將通過配對驗證會話從附件接收的消息中繼到控制器。代理可能不知道其中繼的消息內容;因此,例如,控制器和附件可以使用代理不知道的密鑰(例如,其自己的配對驗證會話密鑰)發送加密的消息。代理可以繼續中繼消息,直到控制器和附件中的一者或另一者(或兩者)發送指示可以中止中繼的消息為止。此時,代理可以結束其驗證會話並中止中繼消息。

這種代理可以提供中繼功能,中繼功能可以擴展控制器網絡的物理範圍而無需將附件連接到廣域網。一些被稱為協調器的代理可以提供附加的功能,而不僅僅是中繼消息。例如,協調器可以居間完成對附件(或一組附件,例如附件網絡)的訪問。協調器能夠與附件建立配對,並能夠與附件一起保持在本地環境中。其他控制器可以與協調器建立配對,以補充或替代與附件建立配對。在控制器和協調器之間的配對驗證會話期間,控制器可以向協調器發送指令以控制附件。協調器可以與附件建立配對驗證會話,並向附件提供對應的命令和控制消息。協調器可以從附件接收響應,並向控制器發送對應的響應。在這種配置中,協調器可以讀取控制器發往附件的消息以及附件對控制器的響應。可以通過控制對協調器的訪問來控制對附件的訪問。例如,附件可被配置為僅與協調器建立配對。此外,在多個控制器可能同時嘗試控制同一附件的情況下,協調器可以協調其動作,例如,實施優先級邏輯以解決衝突指令等。在一些實施方案中,協調器還可以對每個控制器或每個附件施加訪問限制。協調器不是必需的,但在有協調器時,一些實施方案可以要求或優選通過協調器進行與附件的通信。

以下具體實施方式連同附圖將提供對本發明的實質和優點的更好理解。

附圖說明

圖1示出了根據本發明的一個實施方案的家庭環境。

圖2示出了根據本發明的一個實施方案,具有已經與附件建立配對的多個控制器的控制器網絡的示例。

圖3是根據本發明的一個實施方案的用於在多個控制器與一個附件之間建立配對的過程的流程圖。

圖4示出了根據本發明的一個實施方案的附件授權表。

圖5示出了根據本發明的一個實施方案的另一種控制器網絡配置。

圖6是根據本發明的一個實施方案的可用於經由代理與附件建立通信的過程的流程圖。

圖7是根據本發明的一個實施方案的用於經由代理在控制器與附件之間通信的過程的流程圖。

圖8示出了根據本發明的一個實施方案的具有橋接器的控制器網絡配置。

圖9示出了根據本發明的一個實施方案的具有隧道的控制器網絡配置。

圖10是根據本發明的一個實施方案的用於經由隧道在控制器與附件之間通信的過程的流程圖。

圖11示出了根據本發明的一個實施方案的經由隧道的讀取請求的通信。

圖12示出了根據本發明的一個實施方案的經由隧道的寫入請求的通信。

圖13示出了根據本發明的一個實施方案的另一種控制器網絡配置的示例。

圖14是根據本發明的一個實施方案的控制器的簡化框圖。

圖15是根據本發明的一個實施方案的附件的簡化框圖。

具體實施方式

示例性環境

圖1示出了根據本發明的一個實施方案的家庭環境100。家庭環境100包括控制器102,控制器102能夠與位於該環境中的各個附件設備(也稱為附件)通信。控制器102可包括,例如,臺式計算機、膝上型計算機、平板電腦、智慧型電話、可穿戴計算設備、個人數字助理或能夠向附件傳送命令和控制消息並提供用戶界面以允許用戶指示對附件的期望操作的任何其他計算設備或設備組(例如,如上述美國臨時申請61/935,967和美國申請14/614,914中所述)。在一些實施方案中,可以利用多個分立設備實現控制器102。例如,可以存在基站以及一個或多個移動遙控站,基站與附件通信並可以安裝於環境100中的固定位置,移動遙控站(例如手持或可穿戴設備,諸如行動電話、平板電腦、智能手錶、眼鏡等)提供用戶界面並與基站通信以實現對附件的有效控制。在一些實施方案中,基站可以如下所述充當協調器或代理。

可以控制任何類型的附件設備。附件設備的示例包括門鎖104、車庫門系統106、燈具108、安保攝像機110和恆溫器112。在一些情況下,控制器102能夠直接與附件通信;例如,控制器102被示為直接與門鎖104和車庫門系統106通信。在其他情況下,控制器102可以通過中介設備通信。例如,控制器102被示為經由無線網絡接入點114與處在由接入點114提供的無線網絡上的附件108,110,112通信。如上所述,在一些實施方案中,控制器102可以包括基站,基站功能可以集成到接入點114中或要控制的附件之一中(例如,恆溫器112)。在一些實施方案中,中介設備可以如下所述充當代理或協調器。

可以使用各種通信傳輸和傳輸組合,並且可以為不同的設備使用不同的傳輸。例如,諸如由Bluetooth SIG發布的Classic或Smart通信協議的一些無線傳輸(本文稱為「藍牙」和「藍牙LE」)可以支持有限範圍之內的設備之間的直接點到點通信。其他無線傳輸,諸如符合聯網標準的無線網絡和Wi-Fi Alliance發布的協議(本文稱為「Wi-Fi網絡」)可以與中心接入點一起定義無線網絡,中心接入點對網絡上的不同設備之間的通信進行路由。此外,儘管示出了無線通信傳輸,但也可以為一些或所有附件提供有線傳輸。例如,燈泡108可以通過有線連接而連接到接入點114,並且控制器102可以通過以無線方式向接入點114發送消息來與燈泡108通信,這樣可以通過有線連接向燈泡108傳輸消息。有線和無線通信的其他組合也是可能的。

此外,儘管示出了一個控制器102,但家庭環境可以具有多個控制器設備。例如,家中生活的每個人可以擁有其自己的可攜式設備(或設備),其可以為一些或全部附件104-112充當控制器。不同的控制器設備可被配置為與不同子組的附件通信;例如,可以阻止兒童的控制器修改恆溫器112上的設置,而許可父母的控制器設備修改設置。例如,可以利用下文和上文參考美國申請14/725,912中所述的技術配置並控制此類許可。

在一些實施方案中,統一附件協議可以方便控制器102與一個或多個附件104-112的通信。該協議可以提供簡單可擴展框架,該框架將附件模型化為服務的集合,每種服務都被定義為一組特性,每個特性在任何給定時間都具有定義的值。各種特性可以表示附件狀態的各個方面。例如,對於恆溫器112而言,特性可以包括電源(開或關)、當前溫度和目標溫度。在上述美國臨時申請61/935,967和美國申請14/614,914中描述了基於服務和特性的附件模型的示例。

該協議還可以定義控制器102向附件112(或其他附件)發送命令和控制消息(請求)以及附件112向控制器102發送響應消息的消息格式。命令和控制消息可以允許控制器102詢問附件特性的當前狀態,在一些情況下,允許修改特性(例如,修改電源特性可以關閉或打開附件)。因此,可以通過發送適當的消息來控制任何類型的附件,無論其功能或製造商是什麼。該格式可以在各個附件之間是相同的。在一些實施方案中,消息格式可以是與傳輸相關的,同時符合相同的附件模型。在上述美國臨時申請61/935,967和美國申請14/614,914中描述了消息格式的示例。

該協議還可以提供通知機制,該通知機制允許附件112(或其他附件)在狀態改變時選擇性地通知控制器102。可以實施多種機制,並且控制器102可以出於給定目的註冊或訂閱最適當的通知機制。在上述美國臨時申請61/935,967和美國申請14/614,914中描述了通知機制的示例。

在一些實施方案中,可以將與給定附件的通信限於經授權的控制器。該協議可以指定一種或多種機制(包括本文稱為「配對建立」和「配對添加」的機制),在提供高置信度,表示用戶希望控制器102能夠控制附件104的環境下,在控制器102和給定附件(例如,門鎖附件104)之間建立「配對」。配對建立可以包括帶外信息交換(例如,用戶可以向控制器102提供的接口中輸入由附件104提供的數字或數字字母PIN或密碼)以建立共享秘密。可以使用這一共享的秘密來支持控制器102和附件104之間「長期」公鑰的安全交換,每個設備可以存儲從另一方接收的長期公鑰,使得建立的配對可以持續。在建立配對之後,認為控制器102已被授權,之後,控制器102和附件104可以根據需要進出通信而不會丟失建立的配對。在控制器102嘗試與附件104通信或控制附件104時,可以首先執行「配對驗證」過程以驗證存在所建立的配對(例如,在控制器102先前完成與附件104的配對建立時,會是這種情況)。該配對驗證過程可以包括每個設備證明其擁有與配對建立期間交換的長期公鑰對應的長期私鑰,並可以進一步包括建立新的共享秘密或會話密鑰,以對「配對驗證」會話(本文也稱為驗證會話)期間的所有通信加密。在配對驗證會話期間,具有適當特權的控制器可以執行「配對添加」過程以代表另一控制器與附件建立另一配對。任一設備都可以在任何時間,僅僅通過破壞其會話密鑰副本或使其失效而結束配對驗證會話。

在一些實施方案中,多個控制器可以與同一附件(例如,通過執行配對建立或由先前執行過配對建立的控制器添加配對)建立配對,附件可以接受來自其配對控制器中的任一個的通信並作出響應,同時拒絕或忽略來自未配對控制器的通信。在上文援引的美國臨時申請61/935,967和美國申請14/614,914中描述了配對建立、配對添加和配對驗證過程的示例以及與安全相關的操作的其他示例。

應當理解,家庭環境100是例示性的,並且變型形式和修改形式是可能的。可以在用戶希望利用控制器設備控制一個或多個附件設備的任何環境中實施本發明的實施方案,包括但不限於家庭、汽車或其他交通工具、辦公樓、具有多個樓宇的校園(例如,大學或企業園區)等。可以控制任何類型的附件設備,包括但不限於門鎖、開門器、照明器具或照明系統、開關、電力插座、相機、環境控制系統(例如恆溫器和HVAC系統)、廚房器具(例如冰箱、微波爐、洗碗機)、其他家用電器(例如洗衣機、烘乾機、真空吸塵器)、娛樂系統(例如電視、立體聲系統)、窗戶、百葉窗、安保系統(例如報警器)、傳感器系統等。單個控制器可以與任意數量的附件建立配對,並且能夠在不同時間與不同附件選擇性地通信。類似地,單個附件可以由與其已經建立配對的多個控制器控制。可以通過將功能模型化為具有一個或多個特性的服務並允許控制器與服務和/或其特性交互(例如讀取、修改、接收更新)來控制附件的任何功能。因此,可以將本發明實施方案中使用的協議和通信過程統一用於具有一個或多個控制器和一個或多個附件的任何情景中,無論附件的功能或控制器的形狀因數或特定接口如何。

示例性控制器網絡

在一些實施方案中,多個控制器可以控制附件。圖2示出了三個控制器202(1)-202(3)的示例,每個都已經與附件204建立配對。因此,控制器202(1)-202(3)中的每個都在例如安全存儲元件206(1)-206(3)內存儲了附件204的長期公鑰(LTPKA)的副本,並且附件204例如在安全存儲元件208內存儲了控制器202(1)-202(3)中的每個的長期公鑰(LTPKC1、LTPKC2、LTPKC3)的副本。每個設備202,204還可以在其自己的安全存儲元件206,208內具有其自己的長期公鑰和對應的長期秘鑰(LTSK),如圖所示。安全存儲元件202,208可以是例如集成電路,其實施加密算法和/或提供安全信息存儲能力;下文描述了示例。在一些實施方案中,以加密形式在設備之間交換長期公鑰並對其解密並且在安全存儲元件202,208內存儲。這樣可以幫助防止未授權的設備(例如,未授權的控制器)獲知另一設備(例如,附件)的公鑰。

在一些實施方案中,每個控制器202可以與附件204獨立地執行配對建立操作。如本文所用,配對建立操作可以包括任何通信序列,其導致控制器和附件之間長期公鑰的交換。配對建立操作還可以包括帶外通信,以驗證用戶已經授權配對和/或建立共享秘密,用於以加密形式交換長期公鑰。例如,附件204可以提供PIN(個人識別號)或其他密碼(例如,任何數字字母序列),並且可以提示用戶在配對建立期間向控制器202的用戶界面中直接輸入PIN或密碼。可以由附件隨機生成或由製造商預先分配PIN或密碼。為了提高安全性,PIN或密碼可以與任何其他附件識別信息,諸如製造商、型號或序列號等無關。作為另一個示例,帶外通信可以包括經由短程信道,諸如近場通信(NFC)、藍牙LE、基於圖像的信息交換(例如,其中一個設備呈現圖像,諸如QR碼等,圖像被另一設備的相機捕獲並處理以提取信息),在設備之間溝通PIN或其他信息,其可以提供驗證,表明控制器和附件在配對建立時在物理上接近。在上述美國臨時申請61/935,967和美國申請14/614,914中描述了可以使用的配對建立操作的具體示例。

在一些實施方案中,可以進一步限制與附件的配對。例如,假設控制器202(1)是與附件204執行配對建立的第一個控制器。因為是執行配對建立的第一個,可以由附件204授予控制器202(1)管理員(或「admin」)特權。附件204可以在例如安全存儲元件208中存儲指示哪些控制器具有管理員特權的信息。之後,可以限制任何其他控制器202與附件204執行配對建立,除了被控制器202(1)授權的之外。例如,在與控制器202(1)執行配對建立之後,附件204可以拒絕與任何其他控制器執行配對建立,除非首先(例如,使用上文援引的美國臨時申請61/935,967和美國申請14/614,914中描述的配對移除過程)消除與控制器202(1)的配對。儘管控制器202(1)保持配對,但可以通過控制器202(1)添加新配對。例如,控制器202(1)可以獲得控制器202(2)的長期公鑰(LTPKC2)並利用配對添加過程(例如,如上文援引的美國臨時申請61/935,967和美國申請14/614,914中所述)向附件204提供LTPKC2。可以通過類似方式添加控制器202(3)和任意數量的其他控制器。

或者,在控制器202(1)已經執行配對建立之後,僅在控制器202(1)處於與附件204的配對驗證會話中並且提供授權進行新配對建立的指令時,才可以允許其他控制器,例如控制器202(2)、202(3)執行配對建立。例如,如果附件204從控制器202(2)接收到執行配對建立的請求,附件204可以向控制器202(1)發送通知,指示控制器202(2)正在嘗試執行配對建立。控制器202(1)可以警示用戶,用戶可以指示應當允許還是拒絕配對建立。控制器202(1)可以向附件204傳送用戶的決定,附件204可以相應地進行操作。

在一些實施方案中,控制器202(1)或具有管理員特權的任何其他控制器可以向其他控制器授予管理員特權。例如,當處於與附件204的配對驗證會話中時,具有管理員特權的控制器202(1)可以從附件204獲得附件204對其具有長期公鑰的所有控制器(例如,控制器202(2),202(3))的列表。控制器202(2)可以將另一控制器,例如控制器202(3)識別為管理員,附件204可以授予控制器202(3)管理員特權。作為另一個示例,在配對添加過程期間,控制器202(1)可以向附件204指示是否要授予被添加控制器管理員特權。在該示例中,具有管理員特權的任何控制器都可以向其他控制器授予管理員特權。在一些情況下,附件204可以限制可以同時並存配對的控制器總數和/或授予管理員特權的控制器數量。

如上所述,具有管理員特權的控制器可以向或從附件的配對控制器列表添加或移除其他控制器。應當理解,具有管理員特權的控制器還可以例如,通過向特性寫入值來控制附件的操作,如上文援引的美國臨時申請61/935,967和美國申請14/614,914中所述。可以將沒有管理員特權的配對控制器說成具有「用戶」特權。此類控制器可以控制附件的操作,但不能向或從附件的配對控制器列表添加或移除其他控制器。在一些實施方案中,除了管理員和用戶層級之外或作為替代,還可以定義其他層級的特權。例如,可以授權控制器控制多功能附件的一些而非全部功能,或者可以基於使用附件的時間、位置、持續時間等限制控制器的特權。無論特權等級的數量或複雜性如何,都可以按照本文所述的方式管理控制器的特權。例如,要與附件配對的第一個控制器可以自動具有管理員特權(最高等級的特權),並可以向其他控制器授予相同等級或任意或更低等級的特權。類似地,具有管理員特權的控制器也可以撤銷其他控制器的特權。在一些實施方案中,可以授予要與附件配對的第一個控制器特殊狀態,使得其他控制器不能撤銷其特權,儘管控制器可以撤銷其自己的特權,例如,使用配對移除過程。

應當理解,控制器網絡200是例示性的,並且變型形式和修改形式是可能的。任意數量的控制器可以與附件建立配對,每個控制器可以是支持用戶交互(例如,通過本地或遠程用戶界面)並可以通過有線和/或無線信道與其他設備通信的任何類型的電子設備。示例包括行動電話、平板電腦、可穿戴設備、膝上型計算機、臺式計算機、專用附件控制基站等。附件可以是具有可控功能並且能夠通過有線和/或無線接口與其他設備通信的任何電子設備。示例包括燈(或光源)、風扇、恆溫器、電器(冰箱、烤箱、洗碗機、洗衣機、烘乾機、真空吸塵器等)、門鎖、開門器、媒體存儲裝置和/或回放設備(電視、有線或衛星電視接口單元、DVD播放器、數字錄像機、數位音樂播放器、流媒體設備等)等等。此外,單個控制器可以與多個附件建立配對,同一控制器可以相對於不同附件具有相同特權等級或不同特權等級。

圖3是根據本發明的一個實施方案的過程300的流程圖,該過程用於在多個控制器(例如,圖2的控制器202(1)-202(3))和附件(例如,附件204)之間建立配對。在附件204未建立通往任何控制器的配對時,例如,在附件204剛拆封時或在移除了所有先前建立的配對之後,過程300可以開始。

在框302處,第一控制器(例如,控制器202(1))可以執行配對建立以與附件204建立配對。如上所述,建立配對可以包括安全交換長期公鑰(LTPKA和LTPKC1)以及帶外操作,以確認應當允許控制器202(1)建立配對。

在框304處,假設配對建立成功,附件204可以向控制器202(1)自動授予管理員特權。這可以是自動的,因為不存在其他配對。因此,在該示例中,要與附件建立配對的第一個控制器自動就是該附件的管理員。附件204可以在安全存儲元件208中例如與長期公鑰LTPKC1相關聯地記錄控制器202(1)的特權等級。

在框306處,控制器202(1)可以執行配對添加過程(例如,如上文援引的美國臨時申請61/935,967和美國申請14/614,914中所述)以添加另一個控制器,例如控制器202(2)。例如,控制器202(1)可以與控制器202(2)通信,以獲得其長期公鑰(LTPKC2),其可以利用配對添加過程與附件204交換該長期公鑰。在配對添加過程結束時,控制器202(1)可以向控制器202(2)轉發在配對添加過程期間從附件204接收的長期公鑰(LTPKA)。在一些實施方案中,可以在短程通信信道上執行控制器202(1)和202(2)之間這些長期公鑰的交換,和/或可以由一個或兩個控制器要求用戶輸入,以確認密鑰來源。

在框310處,附件204可以確定用於控制器202(2)的特權等級。在一些實施方案中,控制器202(1)可以在配對添加過程期間指示特權等級,如果未指定特權等級,可以採用默認特權等級(例如,如上所述的用戶特權)。在一些實施方案中,附件204可以請求控制器202(1)指定特權等級。附件204可以在安全存儲元件208中例如與長期公鑰LTPKC2相關聯地記錄控制器202(2)的特權等級。

可以重複框306-310以與附件204建立任意數量控制器202的配對。在一些實施方案中,任何具有管理員特權的控制器都可以使用框306-310添加配對。在一些實施方案中,僅有第一個控制器可以向其他控制器授予管理員特權,而在其他實施方案中,具有管理員特權的任何控制器都可以向其他控制器授予管理員特權。

圖4示出了根據本發明的一個實施方案的附件授權表400。例如,可以在圖2的附件204的安全存儲元件208中存儲附件授權表400的全部或部分。可以通過執行圖3的過程300或其部分來構建附件授權表400。對於已經與其建立配對的每個控制器,附件授權表400可以存儲控制器標識符(ID)(欄位402)、長期公鑰LTPKC(欄位404)和特權指示符(欄位406)。欄位402中識別的控制器可以是方便附件識別控制器的任何標識符;儘管示出了用戶友好的名稱作為示例,但控制器標識符可以是向附件唯一標識特定控制器的任何事物(例如,分配給控制器的唯一設備標識符、控制器的MAC地址等)。

例如,「爸爸的計算機」410(在該示例中屬於名稱為爸爸的用戶)可以是與附件204配對的第一個控制器,並且可以因為執行上述過程300的框302和304而具有管理員特權。爸爸然後可以使用上述過程300的框306-310添加他的電話412作為第二控制器。在該示例中,爸爸的電話僅被授予用戶特權(可能因為爸爸感到其手機不夠安全,並且更喜歡在電話上沒有管理員特權)。爸爸還可以添加媽媽的電話414(屬於名稱為媽媽的用戶)並使用過程300的框306-310授予管理員特權。

由於媽媽和爸爸都有具有管理員特權的控制器,因此媽媽或爸爸都可以使用過程300的框306-310添加Jill的電話414和Jack的電話416。(例如,Jill和Jack可能是與媽媽和爸爸一起生活的孩童。)在該示例中,Jill的電話414和Jack的電話416僅被授予用戶特權,並且不能用於向表400或從表400添加或移除其他控制器。

LTPKC欄位404被示為存儲控制器的長期公鑰的加密副本,可以在配對建立或配對添加操作期間針對給定控制器獲得長期公鑰。LTPKC欄位404的加密可以使用僅被附件知道的密鑰。在一些實施方案中,可以通過在附件的安全存儲元件(下文描述示例)中存儲它們來保護長期公鑰。此外,不需要針對所存儲的長期公鑰的安全措施。

應當理解,過程300和表400為例示性的並且變型形式和修改形式是可能的。可並行執行按順序描述的過程步驟,可改變步驟的順序,並且可修改、合併、添加或省略步驟。可以添加任意數量的控制器,並且可以有更多的特權等級。在一些實施方案中,可以根據用戶而非根據設備管理特權,在這種情況下,一些或所有用戶的設備能夠自動具有相同的特權等級。例如,圖4的用戶「爸爸」可能有通過用戶爸爸的公共用戶標識符而同步的電話和平板電腦。這一標識符可以是例如在支持數據備份、同步和/或用戶設備的其他服務的基於雲端的服務處為用戶爸爸維護的帳戶的帳戶標識符。爸爸可以通過例如為設備註冊服務來將帳戶標識符(例如,用戶名和口令)與平板電腦或電話相關聯。長期公鑰/秘鑰對可以與爸爸的帳戶相關聯並由服務向與爸爸帳戶相關聯的,例如,結合數字證書的每個爸爸設備提供。因此,每個設備可以在與附件通信時使用相同的(LTPKC,LTSKC)對。表400可以將特權等級與特定LTPKC而非特定控制器設備相關聯,因此如果用於用戶爸爸的LTPKC具有管理員特權,則為具有該LTPKC並且能夠與附件建立配對驗證會話的任何控制器授予用戶特權。此外,具有相同(LTPKC,LTSKC)對的所有控制器都能夠向具有相同控制器ID的附件標識它們自己,控制器ID可以從爸爸的帳戶ID推導。

圖2中所示的控制器網絡允許多個控制器202控制附件204。原則上,控制器202和附件204之間的通信可以通過任何類型的傳輸或通信信道進行,包括區域網、廣域網、網際網路等。然而,出於各種原因,可能希望不將附件204連接到任何廣域網。因此,對附件的訪問可以限於當前與附件204都處於區域網或LAN(例如,附件204加入的特定Wi-Fi網絡)上或處於短程點到點通信信道,諸如藍牙或藍牙LE信道的範圍中的控制器202。如果是這種情況,圖2中的控制器202將僅在連接到同一LAN或處於附件204範圍內時才能夠操作附件204。因此,例如,控制器202(1)可能在兩者都在同一樓宇(例如,在家中或在附件204所處的其他環境中)中時控制附件204,在控制器202(1)很遠(例如,在鎮子的另一側)時,則不能控制。

圖5示出了根據本發明的一個實施方案的另一種網絡配置500。配置500允許控制器通過代理與附件通信。控制器502(1)-502(3)可以類似於圖2的控制器202,並且附件504可以類似於圖2的附件204。在該示例中,控制器502(1)當前位於具有附件504的本地環境506中。例如,控制器502(1)和附件504可以在同一區域網(LAN)上,諸如Wi-Fi網絡上,或在藍牙範圍內等等。控制器502(2)和502(3)同時位於本地環境506外部,但連接到通信網絡508(例如,網際網路或其他廣域網);此類控制器被說成處於附件504的「遠方」。應當理解,控制器502可以是有時在本地環境506內,並且有時在本地環境506外部的行動裝置。此外,在該示例中,附件504僅在本地環境506內通信。

代理設備(或「代理」)510可以方便遠程控制器502(2),502(3)和附件504之間的通信。代理510可以是本地環境506中存在並且能夠與附件504通信的任何電子設備。在一些情況下,代理510可以是碰巧在本地環境506中的另一個控制器。代理510可以是不太可能離開本地環境506的設備,諸如臺式計算機、無線網絡接入點設備、專用附件控制器(基站)設備等。不像本示例中的附件504那樣,代理510可以連接到網絡508,使得控制器502(2),502(3)可以定位代理510並與其通信。

在一些實施方案中,代理510可以充當遠程控制器502(2),502(3)和附件504之間的中繼。代理510可以與附件504已經(例如,使用配對建立或配對添加過程)建立自己的配對,如控制器502(2),502(3)所能做的那樣。在工作中,遠程控制器,例如控制器502(2)可以與代理510建立連接(例如,配對驗證會話),並向代理510發送消息,指示其希望與附件504通信。代理510能夠與附件504建立連接(例如,配對驗證會話)並使用該會話在控制器502(2)和附件504之間中繼消息。例如,通過中繼,控制器502(2)能夠與附件504建立其自己的配對驗證會話,然後在配對驗證會話期間發送控制消息並接收響應。代理510可以來回傳遞消息(任選地,添加其自己的已認證籤名或加密層),同時保持對其內容不了解。下文參考「隧道」代理描述具體的實施方式。

從用戶的角度講,控制器502(2)控制附件504的操作可以相同,無論通往附件504的連接是直接的還是通過代理510。例如,如圖5中所示,對於控制器502(2)而言,任何控制器都能夠執行附件控制應用522,該附件控制應用生成用於控制附件504的用戶界面(諸如圖形用戶界面)。用戶界面可以包括顯示附件504的當前設置的顯示器元件,改變一些或全部設置的用戶可操作控制項等。附件控制應用522可以與作業系統過程524(本文稱為「附件管理守護進程」)交互,該作業系統過程524管理控制器502和附件504之間的通信。附件管理守護進程524能夠以不知道傳輸的方式向應用522呈現應用程式界面(API),使得應用522例如能夠調用API功能,指示應當向附件504發送消息。附件管理守護進程524能夠通過對用戶而言透明的方式創建通往附件504的直接或間接(例如,通過代理510)通信路徑,並發送消息。在一些實施方案中,附件管理守護進程524還可以通過對應用522而言透明的方式處理操作,諸如配對驗證和配對驗證會話內通信的加密/解密。

圖6是根據本發明的一個實施方案的過程600的流程圖,附件管理守護進程524(或諸如圖5的控制器502的任何控制器中的其他過程)可以使用過程600與附件(例如,附件504)通信。例如,可以使用過程600支持控制器網絡配置,諸如圖5的配置500。

在框602處,過程600可接收請求與附件進行交互的輸入。例如,用戶能夠與應用程式交互,以指示希望與附件504通信,應用程式可以向附件管理守護進程524(直接或通過居間的軟體支持層)調用適當的API功能調用,以開始與附件504的配對驗證會話。

在框604處,過程600可以獲得通往附件504的潛在通信路徑的列表。在一些情況下,至少一個潛在通信路徑可以是「直接」路徑。例如,如上所述,如果控制器502連接到同一LAN,附件504可以在LAN上可及,圖5中的控制器502(1)就是這種情況。除直接路徑之外或作為替代,一個或多個「間接」潛在通信路徑也可以經由代理(例如,代理510)可用,並且框604可以包括獲得潛在代理設備的列表。可以利用各種技術獲得列表。在一些實施方案中,在特定控制器502(2)具有與附件504的驗證會話時,該控制器502(2)可以從附件504接收所有經授權控制器的列表。控制器502(2)可以存儲該列表供稍晚使用,並且框608可以包括訪問最近接收的列表。在一些實施方案中,控制器502(2)可以從基於雲端的數據服務獲得經授權控制器和/或附件(或附件網絡)代理的列表,或者作為控制器之間共享的環境模型的一部分,例如,如上文援引的美國申請14/725,912中所述。作為另一個示例,控制器502(2)可以能夠經由網絡508定位代理510並向代理510發送消息,以獲得代理510能夠與其通信的關於附件的信息。在一些實施方案中,控制器502(2)能夠在框602處接收輸入之前創建潛在通信路徑的列表,並且可以在框604處訪問先前創建的列表。

在框606處,控制器502(2)可以從潛在通信路徑的列表選擇通信路徑。可以使用若干不同的選擇規則。在一些實施方案中,路徑選擇可以取決於控制器的偏好。例如,一個特定控制器(例如,行動電話)可以偏好於只要可能就使用直接通信路徑,而不同的控制器(例如,諸如智慧型電話的可穿戴設備)可以偏好於只要可能就使用間接通信路徑。作為另一個示例,直接路徑和間接路徑之間的選擇可以取決於認為是控制器還是代理更可能能夠建立並維持通往附件504的連接。例如,如果附件504具有有限的通信範圍,與附件504物理鄰近安裝的代理510可能比移動控制器設備502(2)更可靠地能夠建立和維持連接,即使在控制器502(2)在本地環境506中時也是如此。

為了在間接路徑之間進行選擇(例如,在沒有直接路徑時或在優選間接路徑時),在一些實施方案中,可以基於設備類型信息進行選擇,設備類型信息涉及到潛在代理設備以及哪種代理設備最可能具有通往附件的可靠連接的關聯推論。例如,如上所述,代理510可以是本地環境506中存在的任何設備,而在設備在本地環境506外部時,不能充當代理。因此,本地環境506中存在潛在代理的可能性可以是選擇要使用代理時的考慮事項。作為例示,如果其用戶離開的話,行動電話會非常可能離開本地環境506,而臺式計算機相對而言不太可能離開本地環境506;因此,相對於行動電話,可能優選臺式計算機作為代理。作為另一個示例,可以在不使用時關閉臺式計算機,而通常保持在本地環境506中的另一類設備(例如專用附件控制基站)可能更可能始終開機,因此始終可及。基於此類考慮,可以建立優選代理設備類型的分級結構(例如,首先是專用基站,然後是臺式計算機,然後是其他固定設備,然後是行動裝置),並且在框610處選擇代理可以基於設備類型和該分級結構。可以實施其他選擇規則,包括隨機選擇。

在框608處,過程600可以嘗試通過選擇的(直接或間接)通信路徑形成連接。對於直接通信路徑而言,框608處的處理可以包括向附件504直接發送消息以建立通信信道。對於間接通信路徑而言,連接嘗試可以包括嘗試在控制器502(2)(可以在其上執行過程600)和選擇的代理510之間建立通信信道。在一些實施方案中,可以利用基於雲端的數據服務方便定位選擇的代理,該基於雲端的數據服務具有關於各用戶設備位置或連接的信息。在一些實施方案中,代理510可以通過例如參考類似於框604處列表的授權控制器的列表,驗證控制器502(2)被授權與其通信。

如果在框610處,連接經由間接路徑,那麼在框612處,過程600可以確定是否已成功建立通往代理510的連接。如果未成功,那麼在框614處,過程600可以確定是否重新嘗試(例如,使用不同的通信路徑或重新嘗試同一路徑)。決定重新嘗試可以使過程600返回框606,以選擇另一條通信路徑(或重新嘗試相同的通信路徑);決定不嘗試則在框616處結束過程600。如果在框612處已經建立通往代理510的連接,那麼在框618處,過程600可以確定代理510是否能夠連接到附件504。例如,在已經建立通往代理510的通信路徑時,控制器502(2)可以在該路徑上發送消息,指示要與附件504通信的請求。作為響應,代理510可以嘗試與附件504建立通信會話(根據特定代理510,可以是或不是配對驗證會話),框618處的結果可能取決於嘗試是否成功。如果連接嘗試成功,那麼在框620處,在控制器502(2)連接到代理510,代理510連接到附件504的情況下,控制器502(2)可以通過代理510與附件504通信。如果框618處的連接嘗試失敗,過程600可以繼續進行到框614以重新嘗試或退出。

如果在框610處,連接經由直接路徑,那麼在框622處,過程600可以確定是否已成功建立通往附件504的(直接)連接。如果已經建立直接連接,那麼在框624處,控制器502(2)可以直接與附件504通信。如果未建立直接連接,那麼過程600可以繼續進行到框614以重新嘗試或退出。

過程600允許控制器支持通往同一附件的多個通信路徑,可以基於每個連接,例如根據控制器當前位於哪裡(例如在附件所處的本地環境之內或外部)和其他策略偏好來作出要使用哪條路徑的決策。不同的控制器可以實施不同的偏好,可以排除一些控制器使用特定通信路徑(例如,可能要求特定控制器僅使用直接通信路徑或僅使用間接通信路徑)。

圖7是根據本發明的一個實施方案的用於經由代理在控制器與附件之間通信的過程700的流程圖。過程700可以例如在圖5的代理510中實現。

在框702處,代理510能夠從控制器(例如圖5的控制器502(2))接收要連接到附件(例如,附件504)的請求。這可對應於過程600的框612或620。作為響應,在框704處,代理510能夠連接到附件504。例如,代理510能夠與附件504建立配對驗證會話(例如,如上所述)。在一些實施方案中,代理510和附件504之間的通信可以使用除統一附件協議之外的協議。代理510可以利用附件504支持的任何協議建立通往附件504的連接,此類協議可以包括或可以不包括保證代理510和附件504之間信道的安全。如果代理510不能建立會話,代理510可以這樣通知控制器502(2)(例如,在過程600的框620處)。下文參考「橋接器」和「隧道」代理描述建立連接的附加示例。

在框706處,假設建立配對驗證會話,代理510能夠在控制器502(2)和附件504之間中繼消息。代理510不知道其中繼的消息的消息內容。例如,代理510可以簡單地按照在任一方向接收的樣子傳遞消息。這些消息可以與如果控制器502(2)在本地環境506中並且直接與附件504通信時交換的完全相同。例如,控制器502(2)可以首先與附件504建立配對驗證會話(獨立於代理510和附件504之間的會話),之後可以利用針對控制器502(2)的會話密鑰,向附件504發送加密的控制消息並從附件504接收加密的響應。代理510不需要能夠讀取這些消息,只要代理510能夠將它們路由到其目的地即可。

在一些實施方案中,代理510可以利用其自己的配對驗證會話密鑰來加密發往附件504的消息。如果是這種情況,附件504可以去除代理510添加的加密以提取來自控制器502(2)的原始消息,然後例如利用與控制器502(2)相關聯的不同會話密鑰來加密消息。類似地,附件504可以利用與控制器502(2)相關聯的會話密鑰加密響應,然後在利用與代理510相關聯的會話密鑰加密的消息中向代理510發送響應;如果是這種情況,代理510可以對消息解密並向控制器502(2)轉發仍然加密的響應。因此,控制器502(2)和附件504之間的配對驗證會話可以提供端到端加密和對抗通信攔截的安全性,無論是什麼特定通信路徑。

在一些實施方案中,代理510和控制器502(2)還可以獨立於所有其他加密方案和密鑰而建立安全(例如,加密的)通信信道。如果是這種情況,代理510可以利用適當的密鑰對入站和出站的消息來執行解密和重新加密。如果使用的話,這層加密會在端點(控制器502(2)和附件504)執行的配對驗證加密頂部,因此端點之間的通信能夠保持安全而不被代理510讀取。

在框706處,可以在任一或兩個方向上中繼任意數量的消息。在框708處,代理510可以確定應當結束中繼消息。例如,代理510能夠從附件504或控制器502(2)接收會話結束消息。這樣的消息可以在附件504或控制器502(2)決定結束與代理510的通信會話時生成。作為另一個示例,代理510和控制器502(2)之間的連接或代理510和附件504之間的連接可能會超時。在框710處,代理510可以關閉中繼信道(即,停止在設備之間中繼消息)。在一些實施方案中,代理510可以向附件504和控制器502(2)中的一者或兩者發送消息,以指示已經關閉了中繼信道。

應當理解,圖5-圖7的網絡配置和過程是例示性的,並且變型形式和修改形式是可能的。可並行執行按順序描述的過程步驟,可改變步驟的順序,並且可修改、合併、添加或省略步驟。控制器有時可以直接訪問附件(例如,在它們在本地環境506中時),在其他時間通過代理訪問附件。假設有連接到網際網路(或其他全球性網絡)的代理,可以使用控制器從世界任何地方控制附件。通過這種方式使用代理能夠提供如下便利:從任何地方控制附件,而無需將附件連接到廣域網。這樣可以通過限制對附件的訪問而有助於安全性。此外,在代理實施其自己的安全(例如,僅為處在附件的授權控制器列表上的控制器提供中繼)的範圍內,該附加一層安全性可以在附件和控制器之間配對驗證提供的安全性上方,提供針對利用附件進行篡改的附加保護。

代理可以是請求通過代理通信時本地環境中存在的任何設備,其可以將自身向要控制的附件呈現為控制器(例如,以建立配對驗證會話),並且其能夠(例如,通過執行適當的程序代碼)在附件和另一個控制器之間中繼信息。代理可以但不需要具有其自己的用戶界面以允許用戶直接與其交互;在一些情況下,與代理的所有交互都可以通過另一個控制器。在一些實施方案中,附件可以要求通過代理進行對附件的所有訪問。在一些情況下,可以通過多個代理形成通往附件的連接。例如,控制器可以與第一代理連接,並且第一代理可以識別具有通往附件的通信路徑的第二代理。

示例性橋接器和隧道代理

在一些實施方案中,代理可以作為橋接器或隧道而工作,以方便控制器和一個或多個附件之間的通信,不論本地環境中是否有控制器。例如,家中安裝的附件(例如,門鎖)可以被配置為使用諸如藍牙LE、ZigBee等短程無線通信協議通信,並且控制器可能走出附件的通信範圍,同時仍然在家中。橋接器或隧道可以被放置在附件的通信範圍之內,並可以支持附件使用的協議以及更長程的無線通信協議,諸如Wi-Fi。此外,控制器不必支持附件使用的協議;橋接器或隧道能夠執行協議轉換。因此,只要控制器處於橋接器或隧道的範圍中,控制器就能夠與附件通信。在一些情況下,橋接器或隧道還可以能夠通過廣域網(例如,網際網路)通信,從而能夠如上所述還充當本地環境中的附件和本地環境外部的控制器之間通信的代理。如本文所用,「橋接器」和「隧道」之間的區別在於,隧道能夠提供控制器和附件之間的端到端安全(例如,允許控制器和附件通過隧道彼此建立配對驗證會話),而橋接器提供控制器和橋接器之間的安全(例如,配對驗證會話),但未必提供橋接器和附件之間的安全。

在一些實施方案中,橋接器可以方便與一個或多個可能不支持統一附件協議的附件進行通信。例如,一些製造商可能製造「集線器」設備,其能夠控制其他設備的集合(本文稱為「端點」或「端點附件」),諸如可以逐個控制以改變顏色、亮度等的燈泡集合。製造商可能已經定義了特定於設備的協議,以在集線器設備和端點之間實現通信。儘管如此,仍可能希望能夠利用控制器和統一附件協議控制端點附件。因此,在一些實施方案中,集線器設備可被配置為充當控制器和端點附件之間的橋接器。圖8示出了示例,其示出了根據本發明的一個實施方案的網絡配置800。配置800允許控制器通過充當橋接器的代理與一個或多個附件通信。控制器802(1)和802(2)可以類似於圖2的控制器202,端點附件804(1)-804(3)可以類似於圖2的附件204。在該示例中,控制器802(1)當前位於具有附件804的本地環境806中;控制器802(1)被說成在附件804「本地」。控制器802(2)是當前位於本地環境806外部但連接到通信網絡808(例如,網際網路或另一種廣域網)的「遠程」控制器的示例。

本地環境806中還存在橋接器設備(或「橋接器」)810,其可以類似於上述代理設備510。橋接器810在該示例中也連接到通信網絡808;然而,出於與本地控制器802(1)通信的目的,不需要通往網絡808的連接。橋接器810像代理510那樣,可以充當遠程控制器802(2)和附件504之間的中繼。橋接器810也可以充當本地控制器802(1)和附件104之間的中繼。例如,控制器802(1)可以在本地環境806中,但在附件804(1)的通信範圍外部;在那種情況下,控制器802(1)可以仍然在橋接器810的範圍內,並且控制器802(1)可以通過向橋接器810發送消息來與附件804(1)通信。這可以類似於上述代理510的操作。

作為另一個示例,附件804(1)和控制器802(1)可能不支持相同的無線通信協議。例如,附件804(1)可能僅支持ZigBee,而控制器802(1)不支持ZigBee。在這種情況下,橋接器810可以充當協議轉換器,以實現附件804(1)和控制器802(1)之間的通信。

作為例示,802(1)可以支持統一附件協議,其中每個附件被模型化為服務的集合,每個服務被定義為一組特性,每個特性在給定時間都具有定義的值,例如,如上文援引的美國臨時申請61/935,967和美國申請14/614,914中所述。附件可以通過向控制器提供附件定義記錄來向控制器描述自身,該附件定義記錄可以是定義附件的服務和特性的結構化數據對象。根據特定的通信信道或傳輸,可以各種格式表示結構化數據對象。例如,在控制器和附件通過Wi-Fi或其他基於IP(網際協議)棧的協議通信時,可以使用JSON(JavaScript Object Notation);對於通過藍牙LE通信的控制器和附件,可以使用藍牙LE通用屬性協議(GATT)。統一附件協議可以指定用於各種傳輸的數據對象格式。

因此,橋接器810能夠構造附件資料庫812,其包括對應於每個端點附件804(1)-804(3)的附件定義記錄814(1)-814(3)以及針對橋接器自身的附件定義記錄816。附件資料庫812可以包括根據統一附件協議的規範格式化的結構化數據對象。

在一些實施方案中,橋接器810可以通過根據端點附件804(1)-804(3)支持什麼協議來與每個端點附件804(1)-804(3)通信,以獲得關於附件能力和當前操作狀態的信息,從而構造附件資料庫812。橋接器810可以應用映射邏輯以生成表示這一信息的結構化數據對象。在一些實施方案中,橋接器810可以針對特定類別的附件(例如,燈泡)而被配置,並且這樣可以簡化映射邏輯。橋接器定義記錄816可以將橋接器自身表示為附件,並且它的存在對於控制器802而言可以是它們正與橋接器通信的標誌。

在工作中,橋接器810能夠相對於控制器802看起來是遵循統一附件協議的附件。例如,根據該協議,橋接器810可以例如基於橋接器附件定義記錄816在網絡上作為橋接器而通告自身(或廣播其存在)。控制器802(1)(或控制器802(2))可以與橋接器810建立配對,之後像任何其他類型的附件那樣連接到橋接器810,例如,建立配對驗證會話。在連接時,控制器802(1)可以請求並從橋接器810接收附件資料庫812(或其部分)。這樣,控制器802(1)可以確定附件804的狀態。在對讀取請求作出響應以確定附件804的狀態時,橋接器810可以實時查詢附件,或者橋接器810可以周期性地輪詢附件並更新狀態。在一些實施方案中,控制附件804的唯一方式可以是通過橋接器810,在那種情況下,橋接器810可以僅在附件資料庫812中維護狀態信息。

除了讀取附件信息,包括當前狀態(由附件資料庫812中的特性值表示)之外,控制器802(1)(或控制器802(2))還可以通過向橋接器810發送遵守統一附件協議的寫入請求,以向一個或多個特性寫入新值,從而改變附件例如附件804(1)的狀態。橋接器810可以將寫入請求轉換成附件804(1)使用的協議,並且發送附件804(1)能夠處理的對應指令。橋接器810還可以以符合統一附件協議的格式產生對寫入請求的響應(例如,基於從附件804(1)接收的任何響應信號),並向控制器802(1)發送響應。

應當指出,經由橋接器810與端點附件804(1)-804(3)的通信可以安全或不安全;在圖8中由連接橋接器810和附件804的虛線箭頭表示這種情況。例如,如上所述,控制器802(1)或802(2)和橋接器810之間的通信可以符合統一附件協議,如上所述,其可以提供端到端安全。然而,根據使用的具體協議,橋接器810和端點附件804(1)-804(3)之間的通信可以是安全的或不安全的。因此,在橋接器810向控制器802將自身標識為橋接器時,控制器802能夠假設橋接器810和附件804之間的信道不安全,並且能夠作出相應動作。在一些實施方案中,橋接器810可能受到操作限制;例如,控制器802(2)可能不被許可在保持在本地環境806外部時訪問橋接器,或者在控制器802(2)不在本地環境806中時,可以針對控制器802(2)禁用通過橋接器810進行的某些操作。

除了上述橋接器功能(例如,在不同協議之間轉換)之外,還可能希望提供符合統一附件協議的端到端安全。在一些實施方案中,「隧道」可以在很多方面類似於橋接器,但在控制器和端點附件之間添加了端到端安全。例如,在控制器和附件都支持統一附件協議但正在使用不同傳輸的情況下,可以使用隧道。

圖9示出了根據本發明的一個實施方案的網絡配置900。配置900允許控制器通過充當隧道的代理與一個或多個端點附件通信。控制器902(1)和902(2)可以類似於圖2的控制器202,並且端點附件904(1)-904(3)可以類似於圖2的附件204。在該示例中,控制器902(1)當前位於具有附件904的本地環境906中;控制器902(1)被說成在附件904「本地」。控制器902(2)是當前位於本地環境906外部但連接到通信網絡908(例如,網際網路或另一種廣域網)的「遠程」控制器的示例。

本地環境906中還存在隧道設備(或「隧道」)910,其可以類似於上述代理設備510或橋接器設備810。隧道910在該示例中也連接到通信網絡908;然而,出於與本地控制器902(1)通信的目的,不需要這樣。隧道910像代理510那樣,可以充當遠程控制器902(2)和附件504之間的中繼。隧道910也可以充當本地控制器902(1)和附件104之間的中繼。例如,控制器902(1)可以在本地環境906中,但在附件904(1)的通信範圍外部;在那種情況下,控制器902(1)可以仍然在隧道910的範圍內,並且控制器902(1)可以通過向隧道910發送消息來與附件904(1)通信。這可以類似於上述代理510的操作。

為了描述隧道操作,假設至少針對IP傳輸(例如,Wi-Fi或其他基於網際網路協議棧的無線傳輸)和藍牙LE(「BLE」)傳輸定義了統一附件協議。假設IP傳輸具有更長的範圍(例如,典型的家庭Wi-Fi網絡可以從家中任何地方接入,而藍牙LE通信的範圍通常更短),而BLE傳輸在減小功耗等方面可能有優點。給定的控制器或附件可以被配置為在任一種或兩種傳輸上支持統一附件協議;出於本目的,假設控制器902在IP和BLE傳輸上都支持統一附件協議,而附件904僅在BLE傳輸上支持統一附件協議。可以替換成其他傳輸和傳輸的組合。

類似於橋接器810,隧道910能夠構造出附件資料庫912,其包括對應於每個端點附件904(1)-904(3)的附件定義記錄914以及針對隧道自身的附件定義記錄916。附件資料庫912可以包括根據統一附件協議的規範格式化的結構化數據對象。在一些實施方案中,附件資料庫912可以定義用於IP傳輸的特定信息項的表示和用於BLE傳輸的特定項的表示之間的映射。例如,在一些實施方案中,根據IP傳輸的用於附件904(1)的附件定義記錄可以向附件分配附件標識符(「AID」),並向附件的每個特性分配唯一的「實例」標識符(「IID」)。這些可以是相繼的數字標識符(例如,從1開始)等。同時,根據BLE傳輸用於附件904(1)的附件定義記錄可以被實現為GATT資料庫,並可以向每個特性分配唯一的「屬性句柄」。隧道910例如可以通過利用BLE傳輸與每個端點附件904通信以獲得附件定義記錄來構造資料庫912(例如,符合藍牙LE的GATT資料庫),該附件定義記錄包括針對每個特性的屬性句柄和其他定義信息。基於所接收的附件定義記錄,隧道910能夠構造並存儲(例如,在附件資料庫912中)附件提供的每個特性的屬性句柄和隧道910分配的對應(AID,IID)之間的映射。每個附件定義記錄914還可以包括由隧道910定義的「隧道」服務的實例。隧道服務的特性可以包括隧道910通過附件904在BLE傳輸上的通告從對應附件904獲得的信息項(例如,可以由控制器識別的附件標識符、如下所述的狀態計數器值、附件的當前連接狀態等)。在一些實施方案中,隧道910不接收或存儲任何附件特性(除通告的特性之外)的值,這樣可以防止攔截者通過讀取附件資料庫912來確定附件104的狀態。隧道定義記錄916可以將隧道自身表示為附件,並且它的存在對於控制器902而言可以是它們正與隧道通信的標誌。這樣可以影響控制器902如何對消息進行格式化以及操作的某些其他方面;下文描述了示例。

在一些實施方案中,在通過隧道910與附件904通信之前,控制器902可以首先使用BLE傳輸直接與附件904通信,以建立配對(例如,使用如上所述的配對建立或配對添加過程)。在其他實施方案中,控制器902可以通過隧道910與附件904建立配對。應當指出,在控制器902通過直接通信與附件904之一建立配對的情況下,這樣可以幫助向控制器902提供一些確保,保證附件904實際確實在BLE傳輸上支持統一附件協議,使得可以預期通往附件的通信具有端到端安全性。(如果通過隧道910建立配對,隧道910可能「偽造」預期的附件響應,這是不希望出現的情況。)在控制器902接下來通過隧道910連接到附件904時,控制器902可以與附件904建立配對驗證會話(如虛線920,922所示),保證了通信內容的安全,而不會被隧道910竊聽。此外,在通過隧道910與附件904通信之前,可能需要控制器902與隧道910建立配對,從而可以在配對驗證會話中保證控制器902和隧道910之間的所有後續通信安全。

圖10是根據本發明的一個實施方案的過程1000的流程圖,該過程用於在控制器,例如圖9的控制器902(1),和附件,例如圖9的附件904(1)之間,經由隧道,例如隧道910進行通信。過程1000可以例如在圖9的隧道910中實現。假設隧道910已經利用BLE傳輸與一個或多個端點附件(例如,圖9的附件904)通信,並已經構造了附件資料庫912。在一些實施方案中,隧道910還在執行過程1000之前根據統一附件協議與每個附件904建立配對。進一步假設隧道910已經根據統一附件協議與至少一個控制器(例如,圖9的控制器902(1)或902(2))建立配對。

在框1002,隧道910可以從配對的控制器902(1)(或控制器902(2))接收連接請求。例如,控制器902可以檢測諸如Wi-Fi網絡的IP網絡上隧道910的存在,其中隧道910可以將其存在廣播為作為隧道工作的附件。在框1004處,隧道910可以與請求控制器902(1)建立配對驗證會話(例如,如上所述)。在框1006處,在配對驗證會話內,隧道910可以從控制器902(1)接收請求,以讀取附件資料庫912中的一些或所有信息。在框1008處,隧道910能夠向控制器902(1)提供所請求的信息。可以重複框1006和1008以允許讀取附件資料庫912中的任意或所有信息。如上所述,在一些實施方案中,附件資料庫912中的信息包括表示各個附件當前狀態的特性標識符和/或描述符,但不包括此類特性的當前值。在一些實施方案中,控制器902(1)可以繼續進行操作而不從附件資料庫912讀取信息(例如,通過使用在先前通信會話中獲得的信息),並可以省略框1006和1008。

在框1010處,隧道910可以從控制器902(1)接收指向端點附件(例如,附件904(1))的請求。在一些實施方案中,該請求可以是讀取或寫入附件904(1)的任何服務的任何特性的請求。例如,在一些實施方案中,符合統一附件協議的每個附件都具有配對服務,並且控制器902(1)可以向配對服務發送請求,以與附件904(1)執行配對驗證操作。在框1012處,隧道910能夠與附件904(1)建立通信會話。在一些實施方案中,該通信會話可以使用除統一附件協議之外的協議。例如,隧道910可以與附件904(1)執行藍牙LE綁定,通信會話可以使用根據藍牙LE規範保證安全的信道。也可以使用其他協議。在一些實施方案中,隧道910和附件904(1)之間的通信會話可以是根據統一附件協議的配對驗證會話;該協議可以允許附件904(1)區分隧道和控制器,並且可以許可隧道從控制器中繼消息,但不在其自身上發起控制消息。其他具體實施也是可能的,根本不需要保證隧道910和附件904(1)之間的信道安全。

在框1014處,隧道910可以開始在控制器902(1)和附件904(1)之間中繼消息。可以通過中繼消息,從而在控制器902(1)和附件904(1)之間提供端到端安全,而不論在隧道910和附件904(1)之間的信道上使用什麼安全性(如果有的話)。

圖11(針對讀取請求)和圖12(針對寫入請求)中進一步例示了根據一個實施方案的消息中繼。在這些示例中,假設已經在例如過程1000的框1004處,在控制器902(可以是圖9的控制器902(1)或902(2)中的任一個)和隧道910之間建立配對驗證會話。因此,已經建立會話密鑰「A」作為控制器902和隧道910之間的共享秘密;密鑰A可以在控制器902和隧道910之間的配對驗證會話期間持續存在,並且可以用於對控制器902和隧道910之間的通信加密。還假設已經在例如過程1000的框1006處,在隧道910和附件904(可以是圖9的附件902(1)-902(3)中的任一個)之間建立通信會話。可以使用安全措施「B」(例如,可以是與保證隧道910和附件904之間信道安全相關聯的會話密鑰或其他共享秘密)確保隧道910和附件904之間的會話。在一些實施方案中,可以不保證隧道910和附件904之間的信道安全,並且不需要安全措施B。

控制器902和附件904之間通過隧道910交換的通信可以包括來自控制器902,與在控制器902和附件904之間建立配對驗證會話相關的請求,結果,可以建立會話密鑰「C」作為控制器902和附件904之間的共享秘密。密鑰C可以在控制器902和隧道910之間的配對驗證會話期間持續存在,並且可以用於對控制器902和附件904之間的通信加密。應當指出,隧道910不會共享密鑰C,因此不能讀取任何利用密鑰C加密的信息。

在一些實施方案中,已經建立會話密鑰A和C(如果希望的話,還有安全措施B),可以在控制器902和附件904之間發送消息,使得隧道910能夠在IP和BLE傳輸之間轉換統一附件協議消息而不知道關於附件狀態的信息(例如,特定特性的值)。圖11示出了根據本發明的一個實施方案的經由隧道910的讀取請求的通信。如圖所示,控制器902可以產生IP讀取請求1120,該請求符合針對IP傳輸實現的統一附件協議。例如,IP讀取請求1120可以指定要讀取的特定特性的附件標識符(AID)和實例標識符(IID)。控制器902可以基於例如在過程1000的框1006和1008從附件信息資料庫912讀取的信息,確定該請求的(AID,IID)。控制器902可以利用密鑰A對IP讀取請求1120加密,如圓1122所示。IP讀取請求1120可以是從控制器向代理髮送的「請求消息」的示例,以請求與附件交互(在這種情況下,讀取附件特性的值以確定附件狀態的方面)。

隧道910具有密鑰A並且可以對IP讀取請求1120解密。隧道910可以將解密的讀取請求1120轉換成符合為BLE傳輸實施的統一附件協議的BLE讀取請求1124。例如,如圖所示,可以基於附件資料庫912中的信息利用對應的屬性句柄(「ATTH」)替換讀取請求1120的(AID,IID)。隧道910可以利用安全措施B向附件904發送BLE讀取請求1124,如菱形1126所示。BLE讀取請求1124可以是可從代理向附件發送的「指令消息」的示例,以響應於來自控制器的請求與附件執行交互(在這種情況下,讀取附件特性的值以確定附件狀態的方面)。

附件904具有安全措施B,並且能夠讀取BLE讀取請求1124。附件904能夠生成對BLE讀取請求1124的響應。例如,附件904能夠確定對應於BLE讀取請求1124中包括的屬性句柄ATTH的特性的狀態,並且生成對應的值。附件904可以利用密鑰C對該值加密,並且在BLE讀取響應1130中包括加密的值1128;值1128的加密由圓1132表示。附件904可以利用安全措施B向隧道910發送BLE讀取響應1130,如菱形1134所示。BLE讀取響應1130可以是可以響應於從代理接收的指令消息從附件向代理髮送的「指令響應消息」的示例。

隧道910具有安全措施B,並且能夠讀取BLE讀取響應1130。隧道910沒有密鑰C,因此不能對值1128解密。相反,隧道910可以將解密的BLE讀取響應1130轉換成符合為IP傳輸實施的統一附件協議的IP讀取響應1136。例如,如圖所示,可以基於附件資料庫912中的信息利用對應的(AID,IID)替換BLE讀取響應1130的屬性句柄ATTH。仍然利用密鑰C加密的值1128如所接收地被包括在IP讀取響應1136中。利用密鑰A對IP讀取響應1136加密,如圓1138所示。IP讀取響應1136可以是可以響應於來自控制器的請求消息從代理向控制器發送的「響應消息」的示例;該響應消息可以基於代理從附件接收的指令響應消息。

控制器902具有密鑰A並可以對IP讀取響應1136解密。控制器904也具有密鑰C,並且能夠對值1128解密,從而獲得所請求的信息。這樣,隧道910可以在控制器902和附件904之間中繼讀取請求,而不必知道被讀取特性的狀態。

可以將類似技術用於寫入請求。圖12示出了根據本發明的一個實施方案的經由隧道910的寫入請求的通信。如圖所示,控制器902可以生成IP寫入請求1220,該請求符合針對IP傳輸實現的統一附件協議。例如,IP寫入請求1220可以指定要寫入的特定特性的附件標識符(AID)和實例標識符(IID)。控制器902可以基於例如在過程1000的框1006和1008從附件信息資料庫912讀取的信息,確定該請求的(AID,IID)。IP寫入請求1220還可以指定要向特性寫入的值1222。控制器902可以利用密鑰C對值1222加密,如圓1224所示,並可以在IP寫入請求1220中包括加密的值1222。控制器902可以利用密鑰A對IP寫入請求1220加密,如圓1226所示。IP寫入請求1220可以是可從控制器向代理髮送的請求消息的另一示例,以請求與附件交互(在這種情況下,向附件特性寫入值以更改附件狀態的方面)。

隧道910具有密鑰A並可以對IP寫入請求1220解密。隧道910沒有密鑰C,因此不能對值1222解密。相反,隧道910可以將解密的IP寫入請求1220轉換成符合為BLE傳輸實施的統一附件協議的BLE寫入請求1228。例如,如圖所示,可以基於附件資料庫912中的信息利用對應的屬性句柄(ATTH)替換IP寫入請求1220的(AID,IID)。仍然利用密鑰C加密的值1222如所接收地被包括在BLE寫入請求1228中。隧道910可以利用安全措施B向附件904發送BLE寫入請求1228,如菱形1230所示。BLE寫入請求1128可以是可從代理向附件發送的指令消息的另一示例,以響應於來自控制器的請求與附件進行交互(在這種情況下,向附件特性寫入值以更改附件狀態的方面)。

附件904具有安全措施B,並且能夠讀取BLE寫入請求1228。附件904還具有密鑰C並能夠對值1222解密。附件904然後能夠解釋寫入請求並採取適當的動作(例如,改變指定特性的狀態,諸如打開燈泡)。附件904能夠生成BLE寫入響應1232,其可以指示請求是否成功,在失敗的情況下,指示錯誤代碼等。附件904可以利用安全措施B向隧道910發送BLE寫入響應1232,如菱形1234所示。BLE寫入響應1232可以是可以響應於從代理接收的指令消息從附件向代理髮送的「指令響應消息」的另一示例。

隧道910具有安全措施B,並且能夠對BLE寫入響應1232解密。隧道910可以將解密的BLE寫入響應1232轉換成符合為IP傳輸實施的統一附件協議的IP寫入響應1236。例如,如圖所示,可以基於附件資料庫912中的信息利用對應的(AID,IID)替換BLE寫入響應1232的屬性句柄ATTH。此外,如果BLE寫入響應1232包括特定於BLE傳輸的狀態代碼,隧道910可以將該狀態代碼轉換成特定於IP傳輸的(潛在不同的)狀態代碼。在一些實施方案中,獨立於傳輸使用相同的狀態代碼,附件904能夠利用密鑰C對狀態代碼加密,使得隧道910不知道特定的寫入請求成功還是失敗。利用密鑰A對IP寫入響應1236加密,如圓1238所示。IP寫入響應1236可以是可以響應於來自控制器的請求消息從代理向控制器發送的響應消息的另一示例;該響應消息可以基於代理從附件接收的指令響應消息。

控制器902具有密鑰A,並且能夠對IP寫入響應1236解密,由此確定寫入請求是成功還是失敗。

這樣,隧道910可以在控制器902和附件904之間中繼讀取和寫入請求,而不必知道被讀取和寫入的特性的狀態。還應該指出,在一些實施方案中,向隧道910和附件904之間的消息施加安全措施B可以是任選的。藍牙LE作為傳輸而固有的安全特徵,結合使用僅為控制器和端點附件所知的端到端會話密鑰(例如,圖11和圖12中的密鑰C)對特性值加密,可以為一些應用提供充分的安全性。

再次參考圖10,只要需要就可以繼續在框1014進行的消息中繼,直到在框1018處,隧道910確定應當結束中繼。各種條件可能導致確定應當結束中繼。例如,可能對傳輸層或統一附件協議進行的會話持續時間有所限制(例如,在一定量時間之後,會話密鑰可能會過期),如果對於控制器-隧道會話或控制器-附件會話而言達到這一時間極限,則可以結束中繼。作為另一個示例,如果在某個超時期間中未發生任何活動,或者如果隧道910失去了與控制器902或附件904的連接,中繼會話可以結束。作為另一個示例,控制器902或附件904可以向隧道910發信號通知應當結束中繼會話。

在框1020處,隧道910可以關閉中繼信道。關閉中繼信道可以包括,例如,通知控制器902和/或附件904現在關閉信道,破壞隧道910持有的會話密鑰副本(例如,圖11和圖12中的密鑰A和B)或使其失效,或其他期望的操作。之後,過程1000可以結束;只要從控制器接收到另一個連接請求,過程1000就可以重新開始。

在一些實施方案中,隧道910還可以在端點附件904之一的狀態改變時方便向控制器902發出通知。這些通知可以符合統一附件協議。例如,如在上文援引的美國臨時申請61/935,967和美國申請14/614,914中所述,附件可以維護狀態計數器(也稱為「全局狀態計數器」),其在附件狀態改變時加一。在一些實施方案中,可以實現全局狀態計數器,使得其在附件狀態變化時加一,之後不再加一,直到控制器(可以是任何控制器)連接到附件並讀取至少某項狀態信息時(例如,附件的任意特性,不論讀取的特性是否為改變的特性)。附件可以通過附件支持的傳輸上的設備發現服務廣播或通告其全局狀態計數器值。檢測到廣播或通告的控制器可以讀取當前的全局狀態計數器值並將當前值與來自先前連接的所存儲值對比,為控制器檢測變化提供了一種機制。在有變化的情況下,控制器可以連接到附件並發出附加的讀取請求,以確定什麼特定特性(或附件狀態的方面)已經改變。

在一些實施方案中,附件還可以針對一些或所有其特性維護每個特性的狀態計數器。針對給定特性的每個特性的狀態計數器可以存儲特性變化時全局狀態計數器的值。在檢測到全局狀態計數器的變化之後,控制器可以讀取控制器感興趣的特性中的每個特性的狀態計數器,以檢測這些特性的任何變化。

在一些實施方案中,可以通過隧道910方便控制器讀取全局和/或每個特性的狀態計數器。例如,每個附件904都可以利用藍牙LE通告來通告其全局狀態計數器的值。隧道910可以接收該通告並更新附件資料庫中包括的全局狀態計數器的表示,例如,作為與附件相關聯的隧道服務的部分。如上所述,該隧道服務可以提供附件通告的各種信息,例如包括允許控制器902將附件識別為具有已建立的配對的附件標識符,以及附件的全局狀態計數器。

控制器902可以通過與隧道910通信來檢測附件狀態改變。例如,控制器可以連接到隧道910並讀取由與特定附件相關聯的隧道服務維護的全局狀態計數器。基於該全局狀態計數器,控制器可以確定附件狀態是否改變;如果已改變,控制器可以通過隧道910向附件904發送附加的讀取請求以獲得詳情。

作為另一個示例,控制器可以向要被通知針對特定端點附件的全局狀態數變化的隧道註冊。例如,控制器902(1)可以向隧道910發送請求消息以註冊(或訂閱)針對附件904(3)的通知。隧道910可以維護識別針對每個端點附件904註冊的控制器902的信息。在隧道910(例如,基於來自附件904(3)的BLE通告)檢測到附件904(3)的全局狀態數變化時,隧道910可以向每個向附件904(3)訂閱通知的控制器,包括控制器902(1)生成通知。例如,隧道910可以生成類似於由在控制器902和隧道910之間使用的傳輸(例如,IP傳輸)上支持通用附件協議的附件使用的通知消息的通知消息。這種通知消息可以是,例如,上文援引的美國申請14/614,914中描述的主動提供的HTTP響應。也可以使用其他通知技術。

一旦控制器902(1)已被通知附件904(3)的附件狀態變化,控制器902(1)就可以例如通過利用上文參考圖11所述的技術,發送讀取請求,連接到附件904(3)(例如,經由隧道910),以獲得詳情。這樣,隧道910可以意識到附件狀態的某方面已經改變,而不知道關於什麼特性已經改變或任何特性的當前狀態的具體信息。因此,攔截者可能通過從隧道910提取數據僅獲得關於附件的有限信息。

應當理解,本文所述的橋接器和隧道是例示性的,並且變型形式和修改形式是可能的。在控制器可以通過橋接器或隧道看到附件時,控制器可以決定直接還是經由橋接器或隧道與附件通信。例如,對於橋接器而言,如果控制器不支持附件支持的相同協議或傳輸,所有通信都可以通過橋接器進行。對於隧道而言,如果控制器與附件支持相同的協議和傳輸(例如,具有BLE傳輸的統一附件協議),控制器可以應用偏好規則(類似於上述過程600)以確定是直接與附件通信還是通過隧道通信。在一些實施方案中,偏好可以是始終偏好隧道(除非隧道暫時不可用),因為可以定位隧道以優化附件處所接收信號的信號強度,而來自控制器的信號強度可能高度取決於控制器的(可變)位置。在其他實施方案中,可以利用控制器處針對從附件接收的信號的當前信號強度的動態分析,確定偏好,基於當前信號強度是否超過閾值,作出是否使用隧道的決定,從而可以預期經由直接信道實現可靠通信。

橋接器或隧道可以將任意數量的控制器連接到一個或多個端點附件。在一些實施方案中,端點附件(或它們中的至少一個)可以物理地容納於與實現橋接器或隧道功能的電路相同的結構中,但並非必須要這樣。此外,本文使用的特定協議和傳輸僅僅是出於例示的目的;可以替換成其他協議和傳輸。

在一些實施方案中,由於直接和間接通信路徑都可用,因此同一附件可能同時在多個路徑上對控制器可見(例如,直接經由藍牙LE,以及間接經由隧道或其他代理)。如果是這種情況,控制器可以使用附件提供的信息(例如,附件標識符和/或其他附件信息)以識別同一附件何時可以在多條路徑上可見。控制器然後可以呈現用戶界面,其中給定附件僅出現一次,不論在給定時間有多少通往附件的通信路徑。

示例性協調器設備

上述實施方案提供了能夠在控制器和附件之間中繼消息的代理(包括橋接器和隧道)。在一些實施方案中,可以使用「智能」代理(也稱為協調器)協調多個控制器之間的操作。根據具體實施,協調器還可以提供橋接和/或隧穿能力。

圖13示出了根據本發明的一個實施方案的網絡配置1300的示例。控制器1302和附件1304可以與圖5中的控制器502和附件504類似或相同,並且在任何給定時間,控制器1302可以在本地環境1306中或在遠程例如通過廣域網1308(類似於圖5的廣域網508,可以是例如網際網路)連接。

配置1300包括協調器1310,其可以在一些方面中類似於代理510(或橋接器810或隧道910)。例如,控制器1302可以經由協調器1310與附件1304通信。協調器1310還可以實施橋接,類似於上述橋接器810,和/或隧穿,類似於隧道910,以方便可能使用不同傳輸和/或協議的附件1304和控制器1302之間的通信。

協調器1310可以是能夠將自己向附件1304呈現為控制器並且能夠與控制器1302安全通信的任何設備。在一些實施方案中,協調器1310可以是預計會保持在本地環境1306中並且預計會加電並可在大部分或全部時間內用於通信的設備。(應當理解,協調器1310可能偶爾不可用,例如,結合軟體或固件升級、停電或其他中斷事件。)例如,協調器1310可以實現於臺式計算機、Wi-Fi或接入點單元、專用附件控制基站、用於電視或其他電器的機頂盒(除了與電視或其他電器交互之外,其還可以實施基站功能)中,或符合需要的任何其他電子設備中。

在網絡配置1300中,控制器1302可以被配置為只要可能就通過協調器1310與附件通信1304。因此,如圖所示,處於本地環境1306中的控制器1302(1)與協調器1310通信,而不是直接與附件1304通信,像位於遠程的控制器1302(2)和1302(3)那樣。可以將任何控制器1302和附件1304之間的直接通信限於例如沒有協調器1310的情況。

在一些實施方案中,可以使用協調器1310協調多個控制器1302對多個附件1304的訪問。例如,並非在每個控制器1302和每個附件1304之間建立配對,每個控制器1302均可以與協調器1310建立配對,並且協調器1310可以與每個附件1304建立配對。還可以使用用於建立控制器-附件配對的相同配對建立和/或配對添加過程建立控制器-協調器配對,協調器充當附件的角色。為了進行協調器-附件配對,協調器可以擔當控制器的角色。因此,協調器1310可以在與控制器(例如,控制器1302中的任一個)通信時將自身呈現為附件,並且在與附件(例如,附件1304中的任一個)通信時呈現為控制器。

在建立控制器-協調器配對以及一個或多個協調器-附件配對的情況下,協調器1310可以向控制器1302將自身呈現為「附件網絡」,經由該附件網絡,控制器1302可以訪問協調器1310已經與之建立配對的所有附件1304的所有服務。例如,協調器1310可以呈現被模型化為「家庭」或其他環境的附件網絡。該環境模型可以定義可以按照協調方式控制的附件1304的各種物理和/或邏輯分組。例如,環境模型可以基於其物理位置向環境中的位置分配附件。在一些實施方案中,該環境模型可以是物理環境(例如,家庭)的分層表示,其可以包括最低等級的對象(例如,房間),每個附件被分配到最低等級對象之一(例如,可以基於附件安裝在哪裡或其在哪裡花費其大部分時間,將附件分配到房間)。可以將最低等級對象分組成更高等級的對象(例如,可以將房間分組成家庭之內的區域)。可以逐個或在環境模型的任意分層等級上控制網絡中的附件(例如,關閉特定房間或區域中的所有附件)。作為基於物理的分組的補充或替代,環境模型還可以包括附件的其他邏輯分組,例如可能在一起使用的附件的「服務組」,並且在一些實施方案中,附件可以被分配給一個物理組和任意數量(包括零)的邏輯組。在一些實施方案中,該環境模型還能夠提供「動作組」,其中觸發事件或條件(例如,用戶命令或可檢測的事件,諸如一天中的時間)能夠導致調用網絡中若干附件的功能(例如,在用戶上床睡覺時關燈或鎖門)。在上文援引的美國臨時申請62/005,764、美國臨時申請62/094,391和美國申請14/725,912中描述了附件網絡和環境模型的另外的示例。根據需要,附件網絡或環境模型可以簡單或複雜。

附件網絡可以連結到控制器網絡,控制器網絡可以是一組具有訪問附件網絡的全部或部分的許可的控制器(例如,圖13中的控制器1302)。例如,環境模型可以包括訪問列表,訪問列表識別具有訪問附件網絡的許可的控制器。不同的控制器可以具有不同等級的許可。例如,一些控制器可以具有編輯附件網絡模型和/或向或從訪問列表添加或移除其他控制器的許可。在一些實施方案中,可以在控制器之間對關於環境模型的信息進行同步;在上文援引的美國臨時申請62/005,764、美國臨時申請62/094,391和美國申請14/725,912中描述了許可和同步的示例。

協調器1310可以方便包括附件1304的附件網絡的操作。例如,協調器1310可以為附件網絡維護環境模型,並且可以向各控制器1302提供該模型(或其部分)。控制器1302可以通過與協調器1310交互而操作附件1304。

在一些實施方案中,協調器1310可以管理與附件網絡或環境模型相關聯的許可,以限制特定控制器1302對一些或所有附件1304的訪問。在一些實施方案中,控制器1302可以優先通過協調器1310將所有請求都路由到附件1304,並且在一些實施方案中,附件1304可被配置為僅與協調器1310直接通信並忽略直接來自控制器1302的請求。這樣可以允許協調器1310對訪問附件1304進行許可和其他限制。

通過協調器1310使與附件的通信集中化能夠簡化控制器網絡和/或附件網絡(例如,控制器1302和附件1304)的管理。例如,如果獲得了新附件,新附件僅需要與協調器1310建立配對,以便允許所有控制器1302能夠訪問新附件。類似地,如果獲得了新控制器1302,新控制器1302僅需要與協調器1310建立配對,以允許新控制器能夠訪問所有附件1304。在具有多個控制器且可能有數十個附件的環境(例如,成員均具有多個設備的家庭)中,節省的時間可能相當可觀。

應當指出,在配置1300中,可以許可一個或多個控制器(例如控制器1302(1))間接(通過協調器1310)間接與一個或多個附件(例如,附件1304(1))通信,無論控制器1302(1)是否在本地環境1306中。例如,如果控制器1302(1)已經與協調器1310建立配對,但未直接與附件1304(1)建立配對,可能會發生這種情況。在一些情況下,這樣能夠提供增強的安全性;例如,與協調器1310建立配對的附件能夠拒絕建立任何其他配對。然而,可能有這樣的情況:希望直接訪問,並可以許可在特定附件,例如附件1304(1)和一個或多個控制器1302之間建立直接配對。例如,假設附件1304(1)為門鎖,控制器1302(1)為行動電話。如果建立附件1304(1)和控制器1302(1)之間的直接配對,用戶可以使用控制器1302(1)通過直接通信鎖定或解鎖附件1304(1),由此鎖上或打開門。例如,在協調器1310暫時不可用的情況下,這可能是有用的。在一些實施方案中,可以使用協調器1310向附件1304(1)指示授權控制器1302中的哪個直接訪問,附件1304(1)可以與被授權的控制器1302建立配對。在一些實施方案中,附件1304(1)可被配置為僅在協調器1310不可用時接受來自被授權控制器1302的直接通信。因此,一般的規則可以是,與附件1304的所有通信都通過協調器1310,基於每個附件和每個控制器作出例外處理。

協調器1310可以作為智能代理而工作,用於允許控制器操作附件,而不是簡單地為代理510中繼上述消息。即,如上所述,協調器1310可以與每個控制器1302建立配對,並且與每個附件1304建立配對。在控制器1302(1)例如接收到與特定附件,例如附件1304(1)交互的用戶請求時,控制器1302(1)可以與協調器1310建立第一配對驗證會話,並且通過第一配對驗證會話向協調器1310提供其針對附件1304的指令。協調器1310可以接收指令,與附件1304建立第二配對驗證會話,並且通過第二配對驗證會話向附件1304發送適當的控制消息。與上述隧道910不同的是,協調器1310可以知道指令的內容,並且在一些實施方案中,發送到附件1304的消息不需要對應於控制器1302(1)提供的指令。例如,在與控制器1302(1)通信的同時,協調器1310還可以與另一個控制器(例如,控制器1302(2))通信。控制器1302(1)和1302(2)均可以向協調器1310提供針對附件1304的指令。協調器1310可以分析所接收的指令,例如,以檢測並解決衝突,例如在控制器1302(1)指示協調器1310打開附件1304而控制器1302(2)指示協調器1310關閉附件1304的情況下。可以為協調器1310編程用於解決衝突的優先級規則或其他規則(例如,「打開」優先於「關閉」;來自具有管理員特權的控制器的指令優先於來自沒有管理員特權的控制器的指令;等等)。協調器1310可以應用優先級規則以解決任何衝突,並且能夠基於解決情況向附件1304傳送指令。在從附件1304接收響應時,協調器1310可以確定是否向控制器1302(1)和/或控制器1302(2)發送對應的消息(或不同的消息)。作為另一個示例,協調器1310可以執行針對各控制器1302和/或附件1304建立的許可。例如,在控制器1302之一發送請求時,協調器1310可以應用決策邏輯以確定發送請求的控制器1302是否具有適當許可;如果沒有,協調器1310可以拒絕請求。決策邏輯可以根據需要簡單或複雜;例如,可以限制屬於兒童的控制器在一天中的哪幾個小時或多長時間可以操作特定附件(例如,電視),而父母的控制器可以具有不受限的訪問,或者可以將與客人(例如,保姆)相關聯的控制器限制為操作附件的特定子集。因此,協調器1310不限於充當控制器和附件之間消息的無源中繼,而是可以主動幹預,以解決衝突的指令,施行授予特定控制器或用戶的特權或許可上可能存在的任何限制,等等。

示例性設備

可以在可為一般常規設計的電子設備中實施本文描述的實施方案。此類設備可以適於符合統一附件協議,該統一附件協議支持控制器(第一電子設備)能夠用以控制附件(第二電子設備)的操作的命令和控制操作。在一些情況下,例如,對於上述協調器或代理而言,設備可以組合控制器和附件的特徵或方面。

圖14是根據本發明的一個實施方案的控制器1400的簡化框圖。控制器1400可以實施本文所述控制器功能、行為和能力中的任一種或所有,以及未明確描述的其他功能、行為和能力。控制器1400可以包括處理子系統1410、存儲設備1412、用戶界面1414、通信接口1416、安全存儲裝置模塊1418和密碼邏輯模塊1420。控制器1400還可包括其他部件(未明確示出),諸如電池、電力控制器和可操作以提供各種增強能力的其他部件。在各種實施方案中,可以在臺式計算機、膝上型計算機、平板電腦、智慧型電話、其他行動電話、可穿戴計算設備或具有任何期望形狀因數的其他系統中實現控制器1400。此外,如上所述,可以將控制器1400部分實現於基站中,並且部分地實現於與基站通信並提供用戶界面的移動單元中。

存儲設備1412可以例如使用磁碟、快閃記憶體存儲器或任何其他非暫態存儲介質或介質組合來實現,並且可以包括易失性和/或非易失性介質。在一些實施方案中,存儲設備1412可以存儲要由處理子系統1410執行的一個或多個應用和/或作業系統程序,包括實施上文描述為要由控制器執行的各種操作的程序。例如,存儲設備1412可以存儲統一控制器應用,其可以讀取附件描述記錄並產生用於基於其中信息控制附件的圖形用戶界面(例如,如上文援引的美國臨時申請61/935,967和美國申請14/614,914中所述)。在一些實施方案中,可以在作業系統程序而非應用中實現本文所述的控制器功能的部分(或全部)。在一些實施方案中,存儲設備1412還可以存儲針對特定附件或特定類別的附件設計的應用(例如,IP相機應用管理IP相機附件,或安全應用,以便與門鎖附件交互)。

用戶界面1414可包括輸入設備諸如觸控板、觸控螢幕、滾輪、點擊輪、撥號盤、按鈕、開關、小鍵盤、麥克風等;以及輸出設備諸如視頻屏幕、指示燈、揚聲器、耳機插孔等,連同支持性電子器件(例如,數模轉換器或模數轉換器、信號處理器等)。用戶可操作用戶界面1414的輸入設備以調用控制器1400的功能,並且可經由用戶界面1414的輸出設備來查看和/或收聽來自控制器1400的輸出。

處理子系統1410可被實現為一個或多個集成電路,例如一個或多個單核或多核微處理器或微控制器,這些微處理器或微控制器的示例在本領域中是已知的。在操作中,處理系統1410可控制控制器1400的操作。在各種實施方案中,處理子系統1410可響應於程序代碼來執行各種程序,並且可維護多個同時執行的程序或過程。在任何給定時間,待執行的一些或全部程序代碼可以駐留在處理子系統1410和/或諸如存儲設備1412的存儲介質中。

通過合適的編程,處理子系統1410可為控制器1400提供各種功能。例如,在一些實施方案中,處理子系統1410可以實施上文描述為由控制器實施的各種過程(或其部分)。處理子系統1410還可以執行其他程序來控制控制器1400的其他功能,包括可存儲在存儲設備1412中的應用程式;在一些實施方案中,這些應用程式可例如通過生成待發送至附件的消息和/或通過從附件接收響應來與附件進行交互。此類交互可以由例如,如上所述,附件管理守護進程和/或其他作業系統過程促成。

通信接口1416可為控制器1400提供語音和/或數據通信能力。在一些實施方案中,通信接口1416可以包括:用於訪問無線語音和/或數據網絡(例如,使用蜂窩電話技術、數據網絡技術(諸如3G、4G/LTE、Wi-Fi)、其他IEEE 802.11系列標準,或其他移動通信技術,或它們的任何組合)的射頻(RF)收發器部件、用於短範圍無線通信(例如,使用藍牙和/或藍牙LE標準、NFC等)的部件和/或其他部件。在一些實施方案中,作為無線接口的補充或替代,通信接口1416可以提供有線網絡連接性(例如乙太網)。通信接口1416可使用硬體部件(例如,驅動電路、天線、調製器/解調器、編碼器/解碼器,以及其他模擬信號處理電路和/或數位訊號處理電路)與軟體部件的組合來實現。在一些實施方案中,通信接口1416可以使用相同的傳輸或不同的傳輸,同時或在不同時間支持多個通信信道。

安全存儲模塊1418可以是能夠為控制器1400安全存儲密碼信息的集成電路等。可以在安全存儲模塊1418中存儲的信息示例包括控制器的長期公鑰和秘鑰1422(上述LTPKC、LTSKC)以及配對附件1424的列表(例如,查找表格,該查找表格將附件ID映射到針對已經完成上述配對建立或配對添加過程的附件的附件長期公鑰LTPKA)。

在一些實施方案中,可以在與安全存儲模塊1418通信的密碼邏輯模塊1420中實施密碼操作。從物理上講,可以根據需要在與安全存儲模塊1418相同的集成電路或不同的集成電路(例如,處理子系統1410中的處理器)中實現密碼邏輯模塊1420。密碼邏輯模塊1420可以包括各種邏輯電路(根據需要為固定或可編程的),邏輯電路實施或支持控制器1400的密碼操作,包括上述任意或所有密碼操作。安全存儲模塊1418和/或密碼邏輯模塊1420可以對於控制器1400的其餘部分而言呈現為「黑盒子」。因此,例如,通信接口1416可以通過其不能解密的加密形式接收消息,並且能夠簡單地向處理子系統1410傳送消息。處理子系統1410也可能無法對消息解密,但其能夠將消息識別為加密的並將其傳送到密碼邏輯模塊1420。密碼邏輯模塊1420可以對消息解密(例如,使用從安全存儲模塊1418提取的信息)並且確定向處理子系統1410返回什麼信息。結果,可能僅在安全存儲模塊1418和密碼邏輯模塊1420內有特定信息。如果安全存儲模塊1418和密碼邏輯模塊1420實現於單個僅執行來自內部安全倉庫的代碼的集成電路上,這樣可以使得信息提取極端困難,這可以提供高度的安全性。其他具體實施也是可能的。

圖15是根據本發明的一個實施方案的附件1500的簡化框圖。附件1500可以實施本文所述的附件功能、行為和能力中的任一種或所有,以及未明確描述的其他功能、行為和能力。附件1500可以包括存儲設備1528、處理子系統1530、用戶界面1532、特定於附件的硬體1534、通信接口1536、安全存儲模塊1538和密碼邏輯模塊1540。附件1500還可包括其他部件(未明確示出),諸如電池、電力控制器和可操作以提供各種增強能力的其他部件。

附件1500表示可由控制器諸如控制器1400操作的一大類附件,並且此類附件在能力、複雜性和形狀因數方面可能有很大不同。各種附件可包括圖15中未明確示出的部件,包括但不限於具有固定或可移除存儲介質的存儲設備(磁碟、快閃記憶體存儲器等);視頻屏幕、揚聲器或用於連接到外部音頻/視頻設備的埠;相機部件,諸如鏡頭、圖像傳感器和用於該圖像傳感器的控制項(例如,孔徑,縮放,曝光時間、幀速率等);用於記錄音頻的麥克風(單獨地或與視頻錄製結合);等等。

存儲設備1528可以例如使用磁碟、快閃記憶體存儲器或任何其他非暫態存儲介質或介質的組合來實現,並且可以包括易失性和/或非易失性介質。在一些實施方案中,存儲設備1528可以存儲要由處理子系統1530執行的一個或多個程序(例如,固件),包括實施上文描述為要由附件執行的各種操作以及與特定附件行為相關的操作的程序。存儲設備1528還可以存儲例如在設備發現期間能夠向控制器設備供應的附件對象或附件定義記錄,如上文援引的美國臨時申請61/935,967和美國申請14/614,914中所述。存儲設備1528還可以存儲附件狀態信息以及可以在附件1500操作期間使用的任何其他數據。

處理子系統1530可包括例如執行程序代碼以便執行與附件1500相關聯的各種功能的一個或多個單核或多核微處理器和/或微控制器。例如,處理子系統1530可以通過例如執行存儲設備1528中存儲的程序代碼來實施上文描述為由附件實施的各種過程(或其部分)。處理子系統1530還可以執行其他程序以控制附件1530的其他功能。在一些情況下,處理子系統1530執行的程序可以例如通過產生要向控制器發送的消息和/或從控制器接收消息來與控制器(例如控制器1400)交互。

用戶界面1532可包括用戶可操作輸入設備諸如觸控板、觸控螢幕、滾輪、點擊輪、撥號盤、按鈕、開關、小鍵盤、麥克風等;以及輸出設備諸如視頻屏幕、指示燈、揚聲器、耳機插孔等,連同支持性電子器件(例如,數模轉換器或模數轉換器、信號處理器等)。根據特定附件1500的具體實施,用戶可以操作用戶界面1532的輸入設備以調用附件1500的功能,並且可經由用戶界面1532的輸出設備來查看和/或收聽來自附件1500的輸出。一些附件可以提供最小量的用戶界面或根本不提供用戶界面。在附件沒有用戶界面的情況下,用戶仍然能夠利用控制器(例如,控制器1400)與附件交互。

特定於附件的硬體1534可包括可存在於附件1500中以啟用其功能的任何其他部件。例如,在各種實施方案中,特定於附件的硬體1534可包括使用固定或可移除存儲介質的一個或多個存儲設備;GPS接收機;電源和/或電源管理電路;相機;麥克風;一個或多個致動器;控制開關;環境傳感器(例如,溫度傳感器、壓力傳感器、加速度計、化學傳感器等)等等。應當理解,可以通過提供適當的特定於附件的硬體1534來支持任意類型的附件功能,特定於附件的硬體可以包括機械以及電氣或電子部件。

通信接口1536可為附件1500提供語音和/或數據通信能力。在一些實施方案中,通信接口1536可以包括:用於訪問無線語音和/或數據網絡(例如,使用蜂窩電話技術、數據網絡技術(諸如3G、4G/LTE、Wi-Fi)、其他IEEE 802.11系列標準,或其他移動通信技術,或它們的任何組合)的射頻(RF)收發器部件、用於短範圍無線通信(例如,使用藍牙和/或藍牙LE標準、NFC等)的部件,和/或其他部件。在一些實施方案中,作為無線接口的補充或替代,通信接口1536可以提供有線網絡連接性(例如乙太網)。通信接口1536可使用硬體部件(例如,驅動電路、天線、調製器/解調器、編碼器/解碼器,以及其他模擬信號處理電路和/或數位訊號處理電路)與軟體部件的組合來實現。在一些實施方案中,通信接口1536可以使用相同的傳輸或不同的傳輸,同時或在不同時間支持多個通信信道。

安全存儲模塊1538可以是能夠為附件1500安全存儲密碼信息的集成電路等。可以在安全存儲模塊1538中存儲的信息示例包括附件的長期公鑰和秘鑰1542(上述LTPKA、LTSKA)以及配對控制器1544的列表(例如,查找表格,該查找表格將控制器ID映射到針對已經完成上述配對建立或配對添加過程的控制器的控制器長期公鑰LTPKC)。在一些實施方案中,可以省略安全存儲模塊1538;並且可以在存儲設備1528中存儲配對控制器的密鑰和列表。

在一些實施方案中,可以在與安全存儲模塊1538通信的密碼邏輯模塊1540中實施密碼操作。從物理上講,可以根據需要在與安全存儲模塊1538相同的集成電路或不同的集成電路(例如,處理子系統1530中的處理器)中實現密碼邏輯模塊1540。密碼邏輯模塊1540可以包括各種邏輯電路(根據需要為固定或可編程的),邏輯電路實施或支持附件1500的密碼操作,包括上述任意或所有密碼操作。安全存儲模塊1538和/或密碼邏輯模塊1540可以對於附件1500的其餘部分而言呈現為「黑盒子」。因此,例如,通信接口1536可以通過其不能解密的加密形式接收消息,並且能夠簡單地向處理子系統1530傳送消息。處理子系統1530也可能無法對消息解密,但其能夠將消息識別為加密的並將其傳送到密碼邏輯模塊1540。密碼邏輯模塊1540可以對消息解密(例如,使用從安全存儲模塊1538提取的信息)並確定向處理子系統1530返回什麼信息。結果,可能僅在安全存儲模塊1538和密碼邏輯模塊1540之內有特定信息。如果安全存儲模塊1538和密碼邏輯模塊1540實現於單個僅執行來自內部安全倉庫的代碼的集成電路上,這樣可以使得信息提取極端困難,這可以提供高度的安全性。其他具體實施也是可能的。

附件1500可為與控制器1400進行交互的任何電子裝置。在一些實施方案中,控制器1400可經由如上所述的附件1500的操作來提供遠程控制。例如,控制器1400可以為附件1500提供遠程用戶界面,其可以包括輸入和輸出控制項(例如,顯示從附件1500獲得的當前狀態信息的顯示屏,以及諸如觸控螢幕覆層的輸入控制項,以允許改變狀態信息)。在各種實施方案中,控制器1400可以控制附件1500的任何功能並且還可以從附件1500接收數據。

應當理解,本文所述的系統配置和部件是例示性的,並且變型形式和修改形式是可能的。應當理解,控制器1400的具體實施可以執行上文描述為由控制器任意執行的任何或所有操作,並且附件1500的具體實施可以執行上文描述為由附件執行的任何或所有操作。代理、橋接器、隧道或協調器能夠根據需要利用相同的硬體或不同的硬體組合控制器1400和附件1500的部件。控制器和/或附件可能具有本文並未明確描述的其他能力(例如,行動電話、全球定位系統(GPS)、寬帶數據通信、網際網路連接等)。根據具體實施,這些設備可以進行互操作,以便提供由任一(或兩個)設備支持的任何功能或提供在每個設備中部分地實現的功能。在一些實施方案中,特定附件可能具有通過特定控制器無法訪問或調用,但通過另一控制器或通過直接與附件交互能夠訪問的一些功能。

此外,儘管本文參考特定塊描述了控制器和附件,但應當理解,定義這些塊是為了描述的方便,而並非旨在暗示部件部分的特定物理布置。此外,塊不必對應於物理上不同的部件。例如通過對處理器進行編程或提供適當的控制電路並且各個塊根據獲得初始配置的方式可為可重新配置的或不可重新配置的,塊可被配置為執行各種操作。可在包括使用電路和軟體的任何組合實現的電子設備在內的各種設備中實現本發明的實施方案。

另外的實施方案

雖然已結合具體實施方案對本發明進行了描述,但本領域的技術人員將認識到,許多修改形式是可能的。控制器網絡和/或附件網絡可以包括所需那樣多或那樣少的設備。不需要使用代理(包括橋接器或隧道代理)或協調器;不論附件數量或控制器數量是多少,(至少在原則上)始終能夠在每個控制器和每個附件之間建立配對,並且使所有控制器通過直接控制附件而工作。在提供附件網絡模型的情況下,每個控制器可以獲得模型的副本並使用該模型,例如,通過至少部分地基於模型中包含的信息呈現用戶界面,方便用戶控制附件。

此外,在存在代理(包括橋接器和/或隧道)或協調器的情況下,可以但未必需要是這樣的情況:許可所有控制器通過代理或協調器訪問所有附件。一些控制器可能在不在本地環境中時受到限制而不能訪問附件,一些附件可能需要控制器直接訪問它們而不是通過代理或協調器。

在一些實施方案中,附件或附件網絡的模型可以包括作為優選(或許可)代理或協調器的一個或多個控制器設備的標識。在一些情況下,可以在附件-網絡模型之內指定多個協調器和/或代理。在附件-網絡模型包括代理或協調器標識的情況下,這樣可以方便另一控制器選擇代理或協調器(例如,在圖6中所示的過程期間)。

還應當理解,使用協調器可以但無需消除控制器與附件建立配對的需求。例如,在上述一些實施方案中,與附件的所有通信都可以由協調器居間介導。如果是這種情況,可能需要其他控制器與協調器配對但不與個體附件配對。在一些實施方案中,可能需要控制器與協調器配對,作為允許與附件網絡上的附件通信的前提條件。例如,控制器可以執行配對建立以與協調器配對,協調器之後可以執行配對添加以添加控制器作為針對各個附件的授權控制器。

此外,一些實施方案可以基於每個用戶而不是基於每個控制器管理安全性。例如,在上述實施方案中,每個控制器都可以具有其自己的長期公鑰和長期秘鑰而與任何其他控制器無關。在其他實施方案中,長期公鑰/秘鑰對可以被分配給用戶(而不是特定控制器)並在屬於該用戶的所有控制器之間共享。例如,長期公鑰/秘鑰對可以與基於雲端的數據服務上的用戶帳戶相關聯並傳播到用戶連結到帳戶的設備。可以實施適當的措施以安全地傳播密鑰對。在根據用戶而非根據控制器管理長期密鑰時,附件(或協調器)可以與用戶而非控制器建立配對;之後,附件可以接受來自任何控制器設備的消息,該消息給出用戶的標識符以及其具有用戶的長期秘鑰的充分證據。

可使用專用部件和/或可編程處理器和/或其他可編程設備的任意組合來實現本發明的實施方案。本文所述的各種過程可以任何組合方式在同一處理器或不同處理器上實現。在部件被描述為被配置為執行某些操作的情況下,可例如通過設計電子電路以執行操作、通過對可編程電子電路(諸如微處理器)進行編程以執行操作或它們的任何組合來實現此類配置。另外,儘管上述實施方案可能參考了具體硬體部件和軟體部件,但本領域的技術人員應當理解,也可使用硬體部件和/或軟體部件的不同組合,並且被描述為在硬體中實現的特定操作也可能在軟體中被實現,或反之亦然。

結合本發明的各種特徵的電腦程式可被編碼並被存儲在各種計算機可讀存儲介質上;合適的介質包括磁碟或磁帶、諸如光碟(CD)或DVD(數字多功能光碟)的光學存儲介質、快閃記憶體存儲器以及其他非暫態介質。(應當理解,數據的「存儲」不同於使用暫態介質諸如載波的數據傳播。)可將利用程序代碼編碼的計算機可讀介質與兼容的電子設備封裝在一起,或者該程序代碼可獨立於電子設備被提供(例如,經由網際網路下載或作為單獨封裝的計算機可讀存儲介質)。

因此,儘管已相對於具體實施方案描述了本發明,但應當理解,本發明旨在覆蓋以下權利要求範圍內的所有修改形式和等同形式。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀