TWI578830B - 用於配件管理系統之控制器網路 - Google Patents

用於配件管理系統之控制器網路 Download PDF

Info

Publication number
TWI578830B
TWI578830B TW104117507A TW104117507A TWI578830B TW I578830 B TWI578830 B TW I578830B TW 104117507 A TW104117507 A TW 104117507A TW 104117507 A TW104117507 A TW 104117507A TW I578830 B TWI578830 B TW I578830B
Authority
TW
Taiwan
Prior art keywords
accessory
controller
pairing
proxy
message
Prior art date
Application number
TW104117507A
Other languages
English (en)
Other versions
TW201607358A (zh
Inventor
安德魯 柏克斯
阿納許G 那達瑟
史瑞尼菲 拉瑪
凱文P 麥克勞林
喬伊 阿布安
馬修C 盧卡斯
丹尼斯 馬修斯
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 TW201607358A publication Critical patent/TW201607358A/zh
Application granted granted Critical
Publication of TWI578830B publication Critical patent/TWI578830B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2836Protocol conversion between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • H04W76/16Involving different core network technologies, e.g. a packet-switched [PS] bearer in combination with a circuit-switched [CS] bearer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)
  • Small-Scale Networks (AREA)

Description

用於配件管理系統之控制器網路 對相關申請案之交叉參考
本申請案主張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年2月5日申請之美國申請案第14/614,914號及2014年2月5日申請之美國臨時申請案第61/935,967號,該兩案之揭示內容以全文引用之方式併入本文中。
本發明亦係關於與本案同日申請之臺灣申請案第___號(代理人案號90911-P23535TW1-946186),其揭示內容以全文引用的方式併入本文中。
本發明大體係關於一種配件管理系統,且詳言之係關於用於配件管理系統之控制器網路。
電子器件在應用範圍內正變得愈來愈風行。行動電話、平板電腦、家用娛樂系統及其類似者僅為使用者定期互動的電子器件中之一 些。
正變得更風行的另一類別之電子器件包括各種電子式可控制器件,諸如恆溫器、照明器件、家用電氣設備等。
目前,使用者可能難以管理多個電子可控制器件或系統。舉例而言,使用者的家中可能具有恆溫器、電子可控制照明系統、家用安全系統等。每一此系統可由不同製造商製造,且每一製造商可提供使用者可在通用器件(諸如智慧型電話、平板電腦或家用電腦系統)上安裝並執行的專用控制器器件(例如,基於IR之遙控器件)或控制器應用程式(application program或「app」)。每一控制器器件或應用程式通常係針對特定製造商之器件而定製且可能不可與來自其他製造商之器件或甚至與來自同一製造商之其他器件相互操作。此逐件方法不易可擴充。使用者尋求用可在中央進行控制或管理的不同器件之陣列來建立「智慧型住宅」環境或其類似者面臨累積過多控制器器件及/或控制器應用程式的需要。
本發明之某些實施例可在用於控制器器件(或「控制器」)與待控制的任何數目個其他電子器件(在本文中被稱作「配件器件」或簡稱「配件」)之間的通信的協定之內容脈絡中操作。控制器可藉由為通用計算器件提供適當可執行程式碼而實施於(例如)通用計算器件(諸如桌上型電腦、膝上型電腦、平板電腦、行動電話、智慧型電話、其他手持型或可穿戴式計算器件)上;替代地,控制器可為專用計算器件。配件可包括可由控制器控制的任何器件。配件之實例包括燈具、恆溫器、門鎖、自動開門器(例如,車庫開門器)、靜態或視訊攝影機等。配件與控制器可使用標準傳輸協定(諸如Wi-Fi網路、藍芽、藍芽LE或其類似者)而經由有線或無線頻道彼此通信。應理解,可使用其他通信協定及傳輸機制。
在一些實施例中,可提供「統一」配件協定,控制器可經由該協定以統一格式將命令及控制訊息發送至配件且自配件接收回應,而不管配件之類型或功能性如何。舉例而言,配件可定義為服務之集合,其中每一服務定義為一組特性,該等特性中之每一者在任何給定時間具有一定義值。此等特性可表示配件之狀態的各種態樣。協定可定義訊息格式,控制器可經由該等訊息格式詢問(例如,藉由讀取)及更新(例如,藉由寫入)配件之特性(單個或成群地),藉此允許控制器判定及/或改變配件之狀態。因此,不管功能如何,可以一致方式控制任何類型之配件。
在一些實施例中,該協定可定義可用以防止未授權控制器操作配件之安全措施。舉例而言,配件可經組態以接受僅來自先前已建立與配件之配對且因此藉由配件來辨識的控制器之請求。該協定可指定配對程序以便最小化配對在未經配件之合法擁有者/運營商核准的情況下發生的風險。另外,協定可指定端對端訊息加密,使得僅特定控制器與配件可解密在其間交換的訊息。
本發明的某些方面可係關於控制器網路,其中多個控制器可與相同配件(或相同配件集合,諸如配件網路)建立配對或以其他方式經組態以與其通信。在一些控制器網路中,一或多個控制器可建立與配件之特殊權限等級(例如,「管理員」特殊權限),其准許此等控制器判定是否應授予其他控制器將命令及控制訊息傳達至該配件之權限。舉例而言,第一控制器可建立與一配件之配對。建立配對可涉及將第一控制器之長期公開金鑰提供至配件及作為交換而接收用於配件之第一長期公開金鑰。建立配對亦可涉及其他操作(例如,帶外PIN或密碼交換)。獨立於與配件之任何通信,第一控制器可獲得第二控制器之長期公開金鑰。第一控制器可使用在對建立期間接收之第一長期公開金鑰建立與配件之經驗證工作階段。該經驗證工作階段可具有工作階 段金鑰,且該經驗證工作階段內之所有通信可使用該工作階段金鑰來加密。在該經驗證工作階段內,第一控制器可執行與配件之配對新增操作以在配件與第二控制器之間建立配對。配對新增操作可包括將用於第二控制器之長期公開金鑰提供至配件及作為交換而接收用於配件之第二長期公開金鑰(其可或可不為建立與第一控制器之其配對時所接收的金鑰相同的金鑰)。第一控制器可將用於配件之第二長期公開金鑰傳達至第二控制器。此處理程序可在第二控制器與配件之間建立配對;此後,第二控制器可建立其自身的經驗證工作階段以將命令及控制訊息發送至配件。第一控制器可重複配對新增處理程序以在配件與任何數目個控制器之間建立配對。
在一些情況下,第一控制器可發指令給配件以將管理員(administrator或「admin」)特殊權限授予給第二控制器。授予此特殊權限可允許第二控制器在必要時執行配對新增操作以新增額外控制器,且取決於實施,第二控制器可或可不能夠將管理員特殊權限授予給額外控制器。管理員特殊權限可自動地指派給與新品牌配件(或與尚未建立配對之配件)建立配對的第一控制器。管理員特殊權限之使用可幫助器件擁有者調節哪些控制器可獲得對特定配件之存取。
在一些控制器網路中,一或多個控制器可作為用於與配件通信之代理而操作。舉例而言,配件可經組態以僅與實體上存在於局部環境(諸如在可按需要而為有線或無線之區域網路上,或在諸如藍芽之點對點無線通信協定之範圍內)中的控制器器件通信。不實體上存在於局部環境中之控制器器件可建立與實體上存在於具有配件之局部環境中之另一控制器(代理器件,或代理)之通信,且該代理可在遠端定位之控制器器件與配件之間轉送(relay)訊息及回應。遠端定位之控制器與配件可建立配對驗證工作階段(pair-verified session)且對其通信進行加密;代理無需能夠讀取訊息及回應,而僅按所接收之原樣對其 進行轉送。在一些實施例中,充當用於另一控制器之代理的控制器可能需要在配件將接受藉由代理轉送之任何訊息之前建立與該配件之其自身配對驗證工作階段。在一些實施例中,代理及該另一控制器亦可在其本身之間建立配對驗證工作階段,且此可提供進一步防護以對抗未授權存取。
在一些實施例中,控制器可在可能的情況下偏好直接通信,且在不可直接接達配件時使用代理。舉例而言,在建立與配件之配對之後,控制器可接收請求與配件互動(例如,以檢查或改變其狀態)之使用者輸入(或其他輸入)。回應於該輸入,控制器可判定是否可直接接達配件,例如控制器與配件是否在相同區域網路上。若如此,則控制器可與配件直接通信以建立配對驗證工作階段且交換命令及控制訊息。若不可直接接達配件,則控制器可試圖識別可(例如)經由區域網路或廣域網路接達之代理。配件可建立與代理之通信,接著經由該代理與配件通信。
在一些實施例中,代理可為已建立與配件之配對且存在於配件之局部環境中的任何控制器。代理可自控制器接收請求以與配件通信。作為回應,代理可建立與配件之其自身的配對驗證工作階段。自控制器接收的訊息可經由配對驗證工作階段轉送至配件,且經由配對驗證工作階段自配件接收的訊息可轉送至控制器。代理可不知曉其轉送的訊息之內容;因此,舉例而言,控制器及配件可發送使用代理尚未知曉的金鑰(例如,其自身的配對驗證工作階段金鑰)加密的訊息。代理可繼續轉送訊息,直至控制器及配件中之一者或另一者(或兩者)發送指示可停止轉送之訊息為止。此時,代理可結束其經驗證工作階段,且停止訊息之轉送。
此種代理可提供可擴展控制器網路之實體範圍而不要求配件連接至廣域網路之轉送功能。稱為協調器之一些代理可提供額外功能, 而非簡單地轉送訊息。舉例而言,協調器可調解對配件(或諸如配件網路之配件群組)之存取。協調器可建立與配件之配對,且可保持於具有配件之局部環境中。除了建立與配件之配對之外或替代建立與配件之配對,其他控制器可建立與協調器之配對。在控制器與協調器之間的配對驗證工作階段期間,控制器可將指令發送至協調器以控制配件。協調器可建立與配件之配對驗證工作階段,且將對應命令及控制訊息提供至配件。協調器可自配件接收回應,且將對應回應發送至控制器。在此組態中,協調器可將控制器之訊息讀取至配件,且將配件之回應讀取至控制器。可藉由控制對協調器之存取來控制對配件之存取。舉例而言,配件可經組態以僅建立與協調器之配對。另外,在多個控制器可能同時試圖控制相同配件的情境中,協調器可協調其動作,例如實施優先級邏輯以解決衝突之指令等。在一些實施例中,協調器亦可每控制器或每配件地外加存取限制。並不需要協調器,但在存在協調器的情況下,一些實施例可能需要或偏好經由協調器進行與配件之通信。
以下詳細描述連同附圖將提供對本發明之性質及優點的更好理解。
100‧‧‧住宅環境
102‧‧‧控制器
104‧‧‧門鎖
106‧‧‧車庫門系統
108‧‧‧燈具
110‧‧‧安全攝影機
112‧‧‧恆溫器
114‧‧‧無線網路存取點
200‧‧‧控制器網路
202(1)‧‧‧控制器
202(2)‧‧‧控制器
202(3)‧‧‧控制器
204‧‧‧配件
206(1)‧‧‧安全儲存元件
206(2)‧‧‧安全儲存元件
206(3)‧‧‧安全儲存元件
208‧‧‧安全儲存元件
300‧‧‧處理程序
400‧‧‧配件授權表
402‧‧‧欄位
404‧‧‧欄位
406‧‧‧欄位
410‧‧‧父親的電腦
412‧‧‧電話
414‧‧‧母親的電話
416‧‧‧Jill的電話
418‧‧‧Jack的電話
500‧‧‧網路組態
502(1)‧‧‧控制器
502(2)‧‧‧控制器
502(3)‧‧‧控制器
504‧‧‧配件
506‧‧‧局部環境
508‧‧‧通信網路
510‧‧‧代理
522‧‧‧配件控制應用程式
524‧‧‧作業系統處理程序
600‧‧‧處理程序
700‧‧‧處理程序
800‧‧‧網路組態
802(1)‧‧‧控制器
802(2)‧‧‧控制器
804(1)‧‧‧端點配件
804(2)‧‧‧端點配件
804(3)‧‧‧端點配件
806‧‧‧局部環境
808‧‧‧通信網路
810‧‧‧橋接器器件
812‧‧‧配件資料庫
814‧‧‧配件定義記錄
816‧‧‧橋接器定義記錄
900‧‧‧網路組態
902‧‧‧控制器
902(1)‧‧‧控制器
902(2)‧‧‧控制器
904‧‧‧配件
904(1)‧‧‧配件
904(2)‧‧‧配件
904(3)‧‧‧配件
906‧‧‧局部環境
908‧‧‧通信網路
910‧‧‧隧道器件
912‧‧‧配件資料庫
914‧‧‧配件定義記錄
916‧‧‧配件定義記錄
922‧‧‧點線
1000‧‧‧處理程序
1120‧‧‧IP讀取請求
1122‧‧‧圓圈
1124‧‧‧BLE讀取請求
1126‧‧‧菱形
1128‧‧‧值
1130‧‧‧BLE讀取回應
1132‧‧‧圓圈
1134‧‧‧菱形
1136‧‧‧IP讀取回應
1138‧‧‧圓圈
1220‧‧‧IP寫入請求
1222‧‧‧值
1224‧‧‧圓圈
1226‧‧‧圓圈
1228‧‧‧BLE寫入請求
1230‧‧‧菱形
1232‧‧‧BLE寫入回應
1234‧‧‧菱形
1236‧‧‧IP寫入回應
1238‧‧‧圓圈
1300‧‧‧網路組態
1302(1)‧‧‧控制器
1302(2)‧‧‧控制器
1302(3)‧‧‧控制器
1304(1)‧‧‧配件
1304(2)‧‧‧配件
1304(3)‧‧‧配件
1306‧‧‧局部環境
1308‧‧‧廣域網路
1310‧‧‧協調器
1400‧‧‧控制器
1410‧‧‧處理子系統
1412‧‧‧儲存器件
1414‧‧‧使用者介面
1416‧‧‧通信介面
1418‧‧‧安全儲存模組
1420‧‧‧密碼編譯邏輯模組
1422‧‧‧秘密金鑰
1424‧‧‧清單
1500‧‧‧配件
1528‧‧‧儲存器件
1530‧‧‧處理子系統
1532‧‧‧使用者介面
1534‧‧‧配件特定硬體
1536‧‧‧通信介面
1538‧‧‧安全儲存模組
1540‧‧‧密碼編譯邏輯模組
1542‧‧‧秘密金鑰
1544‧‧‧清單
圖1展示根據本發明之一實施例的住宅環境。
圖2展示根據本發明之一實施例之具有已建立與配件之配對之多個控制器的控制器網路之實例。
圖3為根據本發明之一實施例之用於在多個控制器與一配件之間建立配對的處理程序之流程圖。
圖4展示根據本發明之一實施例之配件授權表。
圖5展示根據本發明之一實施例之另一控制器網路組態。
圖6為根據本發明之一實施例之可用以經由代理建立與配件之通 信的處理程序之流程圖。
圖7為根據本發明之一實施例之用於經由代理在控制器與配件之間通信的處理程序之流程圖。
圖8展示根據本發明之一實施例之具有橋接器之控制器網路組態。
圖9展示根據本發明之一實施例之具有隧道之控制器網路組態。
圖10為根據本發明之一實施例之用於經由隧道在控制器與配件之間通信的處理程序之流程圖。
圖11說明根據本發明之一實施例之經由隧道傳達讀取請求。
圖12說明根據本發明之一實施例之經由隧道傳達寫入請求。
圖13展示根據本發明之一實施例之另一控制器網路組態的實例。
圖14為根據本發明之一實施例的控制器之簡化方塊圖。
圖15為根據本發明之一實施例的配件之簡化方塊圖。
實例環境
圖1展示根據本發明之一實施例的住宅環境100。住宅環境100包括可與位於該環境中之各種配件器件(亦稱為配件)通信的控制器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® Classic或Bluetooth® Smart通信協定及由藍芽SIG(在本文中稱為「藍芽」及「藍芽LE」)頒佈之標準之一些無線傳輸機制可支援在有限範圍內的器件之間的直接點對點通信。諸如遵守Wi-Fi®網路連接標準之無線網路及由Wi-Fi聯盟(在本文中稱為「Wi-Fi網路」)頒佈之協定的其他無線傳輸機制可定義具有中心存取點之無線網路,該中心存取點在網路上之不同器件之間投送通信。另外,儘管展示了無線通信傳輸機制,但亦可針對配件中之一些或全部提供有線傳輸機制。舉例而言,燈泡108可藉由有線連接而連接至存取點114,且控制器102可藉由以無線方式將訊息發送至存取點114而與燈泡108通信,存取點114可經由有線連接將訊息遞送至燈泡108。有線及無線通信之其他組合亦係可能的。
另外,儘管展示了一個控制器102,但住宅環境可具有多個控制 器器件。舉例而言,生活在住宅中之每一人員可具有其自身的(多個)可攜式器件,該(等)器件可充當用於配件104至112中之一些或全部的控制器。不同控制器器件可經組態以與配件之不同子集通信;舉例而言,可能阻止兒童的控制器修改恆溫器112上之設定,而准許父母之控制器器件修改該等設定。此等權限可(例如)使用在下文且在上文提及之美國臨時申請案第62/005,764號、美國臨時申請案第62/094,391號及臺灣申請案第___號(代理人案號90911-P23535TW1-946186)中描述之技術而加以組態及控制。
在一些實施例中,統一配件協定可促進控制器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)之間的「配對」的一或多個機制(包括在本文中稱為「配對設定」及「配對新增」之機制)。配對設定可包括帶外資訊交換(例如,使用者可將數字或文數字PIN或由配件104提供之密碼鍵入至由控制器102提供之介面中)以建立共用秘密。此共用秘密可用以支援「長期」公開金鑰在控制器102與配件104之間的安全交換,且每一器件可儲存自其他器件接收之長期公開金鑰,以使得所建立之配對可為持久性的。在建立配對之後,認為控制器102被授權,且此後,控制器102與配件104可按需要進行通信及退出通信,而不丟失所建立之配對。在控制器102嘗試與配件104通信或控制配件104時,可首先執行「配對驗證」處理程序以驗證所建立之配對存在(如為以下情況,例如控制器102先前完成與配件104之配對設定)。配對驗證處理程序可包括每一器件表明其擁有對應於在配對設定期間交換的長期公開金鑰的長期私人金鑰,且可進一步包括建立新共用秘密或工作階段金鑰以加密在「配對驗證」工作階段(在本文中亦被稱作經驗證工作階段)期間的所有通信。在配對驗證工作階段期間,具有適當特殊權限之控制器可執行「配對新增」處理程序以建立與代表另一控制器之配件之另一配對。任一器件可簡單地藉由破壞或無效化其工作階段金鑰複本而在任何時間結束對驗證工作階段。
在一些實施例中,多個控制器可建立與同一配件之配對(例如, 藉由執行配對設定或藉由用先前執行配對設定之控制器新增一配對),且配件可接受且回應於來自其配對控制器中的任一者之通信,而拒絕或忽略來自未配對控制器之通信。配對設定、配對新增及配對驗證處理程序之實例以及安全相關操作之其他實例描述於上文提及之美國臨時申請案第61/935,967號及美國申請案第14/614,914號中。
將瞭解,住宅環境100係說明性的,且變化及修改係可能的。可在使用者希望使用控制器器件控制一或多個配件器件之任何環境中實施本發明之實施例,該環境包括但不限於住宅、汽車或其他車輛、辦公樓、具有多個建築物之園區(例如,大學或公司園區),等。可控制任何類型之配件器件,包括但不限於門鎖、開門器、照明燈具或照明系統、開關、電力插座、攝影機、環境控制系統(例如,恆溫器及HVAC系統)、廚房電氣設備(例如,冰箱、微波爐、電爐、洗碗機)、其他家用電氣設備(例如,洗衣機、乾衣機、真空吸塵器)、娛樂系統(例如,TV、立體聲系統)、窗戶、窗簾、安全系統(例如,警報)、感測器系統,等。單一控制器可建立與任何數目個配件之配對,且可選擇性地在不同時間與不同配件通信。類似地,單一配件可由已與其建立配對之多個控制器控制。配件之任何功能可藉由將該功能模型化為具有一或多個特性之服務及允許控制器與該服務及/或其特性互動(例如,讀取、修改、接收更新)來控制。因此,用於本發明之實施例中的協定及通信處理程序可統一地應用於具有一或多個控制器及一或多個配件之任何內容脈絡中,而不管配件功能或控制器外觀尺寸或特定介面如何。
實例控制器網路
在一些實施例中,多個控制器可控制一配件。圖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(個人識別號)或其他密碼(例如,任何文數字序列),且可在配對設定期間提示使用者直接將PIN或密碼鍵入至控制器202之使用者介面中。PIN或密碼可藉由配件隨機產生或藉由製造商預指派。為改良安全性,PIN或密碼可獨立於任何其他配件識別資訊,諸如製造商、模型或序列號。作為另一實例,帶外通信可包括經由諸如近場通信(NFC)、藍芽LE、基於影像之資訊交換(例如,其中一個器件呈現影像,諸如QR代碼或其類似者,其係藉由另一器件之攝影機擷取且經處理以提取資訊)之短程通道在器件之間傳達PIN或其他資訊,其可提供控制器及配件在配對設定時實體接近之驗證。可使用之配對設定操作之特定實例描述於上文提及之美國臨時申請案第61/935,967號及美國申請案第14/614,914號中。
在一些實施例中,可進一步限制與配件之配對。舉例而言,假設控制器202(1)為執行與配件204之配對設定的第一控制器。可由配件204藉助於首先執行配對設定而授予控制器202(1)管理員(administrator或「admin」)特殊權限。配件204可(例如)在安全儲存元件208中儲存指示哪些控制器具有管理員特殊權限之資訊。此後,可限制任何其他控制器202與配件204執行配對設定,惟藉由控制器202(1)授權除外。舉例而言,在與控制器202(1)執行配對設定之後,配件204可拒絕與任何其他控制器執行配對設定,除非首先移除與控制器202(1)之配對(例如,使用如上文提及之美國臨時申請案第61/935,967號及美國申請案第14/614,914號中描述之對移除處理程序)。在控制器202(1)保持配對時,可經由控制器202(1)新增新配對。舉例而言,控制器202(1)可獲得控制器202(2)之長期公開金鑰(LTPKC2),且使用配對新增處理程序(例如,如上文提及之美國臨時申請案第61/935,967號及美國申請案第14/614,914號中所描述)將LTPKC2提供至配件204)。可以類似方式新增控制器202(3)及任何數目個其他控制器。
替代地,在控制器202(1)已執行配對設定之後,僅當控制器202(1)處於與配件204之配對驗證工作階段中且提供授權新配對設定發生之指令時,才可允許諸如控制器202(2)、202(3)之其他控制器執行配對設定。舉例而言,若配件204自控制器202(2)接收到執行配對設定之請求,則配件204可將指示控制器202(2)正嘗試執行配對設定之通知發送至控制器202(1)。控制器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為說明性的,且變化及修改係可能的。任何數目個控制器可建立與一配件之配對,且每一控制器可為支援使用者互動(例如,經由本端或遠端使用者介面)且可經由有線及/或無線頻道與其他器件通信之任何類型的電子器件。實例包括行動電話、平板電腦、可穿戴式器件、膝上型電腦、桌上型電腦、專用配件控制基地台,等。配件可為具有可控制功能且能夠經由有線及/或無線介面與其他器件通信之任何電子器件。實例包括燈(lamp或light)、風扇、恆溫器、電氣設備(冰箱、烤箱、洗碗機、洗衣機、乾衣機、真空吸塵器,等)、門鎖、開門器、媒體儲存器及/或播放器件(TV、有線或衛星電視介面單元、DVD播放器、數位視訊記錄器、數位音樂播放器、串流傳輸媒體器件,等),等。另外,單一控制器可建立與多個配件之配對,且相同控制器可相對於不同配件具有相同特殊權限等級或不同特殊權限等級。
圖3為根據本發明之一實施例之用於在多個控制器(例如,圖2之控制器202(1)至202(3))與配件(例如,配件204)之間建立配對之處理程序300的流程圖。處理程序300可在配件204未建立與任何控制器之配對時開始,例如在配件204新開箱時或在已移除所有先前建立之配對之後。
在區塊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)通信以獲得其可使用配對新增處理程序與配件204交換之其長期公開金鑰(LTPKC2)。在配對新增處理程序結束時,控制器202(1)可將在配對新增處理程序期間自配件204接收之長期公開金鑰(LTPKA)轉發至控制器202(2)。在一些實施例中,可經由短程通信頻道執行控制器202(1)與202(2)之間的此等長期公開金鑰之交換,及/或一個或兩個控制器可需要使用者輸入以確認金鑰之來源。
在區塊310處,配件204可判定控制器202(2)之特殊權限等級。在一些實施例中,控制器202(1)可指示在配對新增處理程序期間的特殊權限等級,且若未指定特殊權限等級,則可採用預設特殊權限等級(例如,如上文所描述的使用者特殊權限)。在一些實施例中,配件204可請求控制器202(1)指定特殊權限等級。配件204可在安全儲存元件208中記錄例如與長期公開金鑰LTPKC2相關聯的控制器202(2)之特殊權限等級。
可重複區塊306至310以建立任何數目個控制器202與配件204之配對。在一些實施例中,具有管理員特殊權限之任何控制器可使用區塊306至310新增配對。在一些實施例中,僅第一控制器可將管理員特殊權限授予其他控制器,而在其他實施例中,具有管理員特殊權限之任何控制器可將管理員特殊權限授予其他控制器。
圖4展示根據本發明之一實施例之配件授權表400。配件授權表400的全部或部分可儲存在(例如)圖2之配件204的安全儲存元件208中。配件授權表400可經由執行圖3之處理程序300或其部分而建置。對於已建立配對之每一控制器,配件授權表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的電話416及Jack的電話418。(舉例而言,Jill及Jack可能為與母親及父親一起生活的兒童)。在此實例中,Jill的電話416及Jack的電話418僅被授予使用者特殊權限,且不可用以新增其他控制器至表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網路)上之控制器202,或在諸如藍芽或藍芽LE頻道之短程點對點通信頻道之範圍中。在此情況下,在圖2中之控制器202在連接至相同LAN或以其他方式在配件204之範圍內時將僅能夠操作配件204。因此,例如,可能有可能控制器202(1)控制配件204(在兩者處於相同建築物(例如,在住宅或配件204所位於的其他環境中),但在控制器202(1)遠離(例如,在城鎮之另一側上)時不控制配件204。
圖5展示根據本發明之一實施例的另一網路組態500。組態500允許控制器經由代理與配件通信。控制器502(1)至502(3)可類似於圖2之控制器202,且配件504可類似於圖2之配件204。在此實例中,控制器502(1)當前位於具有配件504之局部環境506中。舉例而言,控制器502(1)及配件504可在諸如Wi-Fi網路之相同區域網路(LAN)上,或在藍芽範圍或其類似者內。控制器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之間的轉送器(relay)。代理510可具有其自身的與配件504建立的配對(例如,使用配對設定或配對新增處理程序),如同控制器502(2)、502(3)。在操作中,例如控制器502(2)之遠端控制器可建立與代理510之連接(例如,配對驗證工作階段)且將指示其希望與配件504通信之訊息發送至代理510。代理510可建立與配件504之連接(例如,配對驗證工作階段),且使用該工作階段在控制器502(2)與配件504之間轉送訊息。舉例而言,經由該轉送,控制器502(2)可建立其自身的與配件504之配對驗證工作階段,接著在該配對驗證工作階段內發送控制訊息及接收回應。代理510可來回傳遞訊息(視情況新增其自身的驗證簽名或加密層),同時保持不知曉其內容。下文參考「隧道」代理描述特定實施。
自使用者觀點,不管至配件504之連接係直接的還是經由代理510,控制器502(2)控制配件504之操作可為相同的。舉例而言,如圖5中針對控制器502(2)所示,任何控制器可執行產生用於控制配件504之使用者介面(諸如圖形使用者介面)之配件控制應用程式522。使用者介面可包括顯示元件以顯示配件504之當前設定、用以改變一些或所有設定之使用者可操作控制項,等。配件控制應用程式522可與管理控制器502與配件504之間的通信之作業系統處理程序524(在本文中稱為「配件管理精靈」)互動。配件管理精靈524可以獨立於傳輸(transport-agnostic)之方式將應用程式介面(API)呈現給應用程式522,以使得應用程式522可(例如)叫用API功能,從而指示應將訊息發送至配件504。配件管理精靈524可(對使用者透通)產生至配件504之直接或間接(例如,經由代理510)的通信路徑且發送訊息。在一些實施例中,配件管理精靈524亦可處置諸如配對驗證及配對驗證工作階段內之通信之加密/解密之操作(對應用程式522透通)。
圖6為根據本發明之一實施例之配件管理精靈524(或諸如圖5之 控制器502中的任一者的控制器中之其他處理程序)可用來與配件(例如,配件504)通信之處理程序600之流程圖。處理程序600可用來(例如)支援諸如圖5之組態500的控制器網路組態。
在區塊602處,處理程序600可接收請求與配件互動之輸入。舉例而言,使用者可與應用程式互動以指示與配件504通信之需要,且應用程式可叫用至配件管理精靈524之適當API函式呼叫(直接或經由介入軟體支援層)以開始與配件504之配對驗證工作階段。
在區塊604處,處理程序600可獲得至配件504之潛在通信路徑之清單。在一些情況下,至少一個潛在通信路徑可為「直接」路徑。舉例而言,如上文所描述,若控制器502連接至相同LAN,如同圖5中的控制器502(1)之情況,則配件504可在LAN上接達。另外或替代直接路徑,一或多個「間接」潛在通信路徑亦可經由代理(例如,代理510)可用,且區塊604可包括獲得潛在代理器件之清單。可使用各種技術獲得該清單。在一些實施例中,在特定控制器502(2)具有與配件504之經驗證工作階段時,控制器502(2)可自配件504接收所有經授權控制器之清單。控制器502(2)可儲存該清單以供稍後使用,且區塊608可包括存取最近接收的清單。在一些實施例中,控制器502(2)可自基於雲端之資料服務獲得經授權控制器及/或用於配件(或配件網路)之代理的清單,或作為在控制器之間共用的環境模型之部分,例如如在上文提及之美國臨時申請案第62/005,764號、美國臨時申請案第62/094,391號及臺灣申請案第___號(代理人案號90911-P23535TW1-946186)中所描述。作為另一實例,控制器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可驗證控制器502(2)經授權以與其通信,例如藉由參考類似於區塊604處的清單之經授權控制器清單。
在區塊610處,若連接係經由間接路徑,則在區塊612處,處理程序600可判定是否成功地建立至代理510之連接。若否,則在區塊614處,處理程序600可判定是否重新嘗試(例如,使用不同通信路徑或重新嘗試相同路徑)。重新嘗試之決策可使處理程序600返回至區塊606以選擇另一通信路徑(或重新嘗試相同通信路徑);不嘗試之決策使處理程序600在區塊616處結束。在區塊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之流程圖。可(例如)在圖5之代理510中實施處理程序700。
在區塊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、紫蜂或其類似者之短程無線通信協定通信,且控制器可退出配件之通信範圍之外但仍存在於住宅中。橋接器或隧道可置放在配件之通信範圍內,且可支援配件使用之協定以及諸如Wi-Fi之較長範圍無線通信協定。另外,不必使控制器支援配件使用之協定;橋接器或隧道可執行協定轉譯。因此,控制器可與配件通信,只要控制器處於橋接器或隧道之範圍中即可。在一些情況下,橋接器或隧道亦可能夠經由廣域網路(例如,網際網路)通信,且因此亦可充當用於局部環境中之配件與位於如上文所描述的局部環境外部的控制器之間的通信之代理。如本文所使用,「橋接器」與「隧道」之間的區別為隧道可提供控制器與配件之間的端對端安全性(例如,允許控制器與配件經由隧道建立與彼此之配對驗證工作階段),而橋接器在控制器與橋接器之間但未必在橋接器與配件之間提供安全性(例如,配對驗證工作階段)。
在一些實施例中,橋接器可促進與可能不支援統一配件協定之一或多個配件之通信。舉例而言,一些製造商可製造「集線器」器件,其可控制其他器件(在本文中稱為「端點」或「端點配件」)之集合,諸如可個別地控制以改變色彩、亮度等的燈泡之集合。製造商可能已定義器件特定協定以啟用集線器器件與端點之間的通信。儘管如此,仍可能需要使得端點配件能夠使用控制器及統一配件協定加以控制。因此,在一些實施例中,集線器器件可經組態以充當控制器與端點配件之間的橋接器。實例展示於圖8中,圖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(例如,網際網路或另一廣域網路)之「遠端」控制器之實例。
橋接器器件(或「橋接器」)810亦存在於局部環境806中,其可類似於上文所描述的代理器件510。橋接器810在此實例中亦連接至通信網路808;然而,出於與本端控制器802(1)通信之目的,不需要至網路808之連接。如同代理510,橋接器810可充當遠端控制器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)可能僅支援紫蜂,而控制器802(1)不支援紫蜂。在此情況下,橋接器810可充當協定轉譯器以啟用配件804(1)與控制器802(1)之間的通信。
以說明方式,控制器802(1)可支援統一配件協定,其中每一配件模型化為服務集合,每一服務定義為一組特性,其中之每一者在任何給定時間具有一定義值,例如如上文提及之美國臨時申請案第61/935,967號及美國申請案第14/614,914號中所描述。配件可藉由將配件定義記錄提供至控制器而將自身描述為控制器,該配件定義記錄可為定義配件之服務及特性的結構化資料物件。結構化資料物件取決於特定通信頻道或傳輸機制而以各種格式來表示。舉例而言,可使用JSON(JavaScript物件記法),其中控制器與配件基於IP(網際網路協定)堆疊而經由Wi-Fi或其他協定通信;對於經由藍芽LE通信之控制器與配件,可使用藍芽LE通用屬性設定檔(GATT)。統一配件協定可指定資料物件格式用於與各種傳輸機制一起使用。
因此,橋接器810可建構包括對應於每一端點配件804(1)至804(3)的配件定義記錄814(1)至814(3)以及用於橋接器自身的配件定義記錄816之配件資料庫812。配件資料庫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)存取橋接器,或當控制器802(2)不在局部環境806中時,可能停用經由橋接器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(例如,網 際網路或另一廣域網路)之「遠端」控制器之實例。
隧道器件(或「隧道」)910亦存在於局部環境906中,其可類似於上文所描述的代理器件510或橋接器器件810。在此實例中,隧道910亦連接至通信網路908;然而,出於與本端控制器902(1)通信之目的,不需要此連接。如同代理510,隧道910可充當遠端控制器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可建構包括對應於每一端點配件904(1)至904(3)的配件定義記錄914以及用於隧道自身的配件定義記錄916之配件資料庫912。配件資料庫912可包括根據統一配件協定之規範而格式化的結構化資料物件。在一些實施例中,配件資料庫912可定義用於IP傳輸機制之特定資訊項目之表示與用於BLE傳輸機制之特定項目之表示之間的映射。舉例而言,在一些實施例中,根據IP傳輸 機制用於配件904(1)之配件定義記錄可將配件識別符(「AID」)指派給配件,且將唯一「例項」識別符(「IID」)指派給配件之每一特性。此等可為依序數字識別符(例如,在1處開始)或其類似者。同時,根據BLE傳輸機制之用於配件904(1)之配件定義記錄可實施為GATT資料庫,且可將唯一「屬性控制代碼」指派給每一特性。隧道910可例如藉由使用BLE傳輸機制與每一端點配件904通信以獲得包括屬性控制代碼及用於每一特性的其他定義資訊的配件定義記錄(例如,符合藍芽LE之GATT資料庫)來建構資料庫912。基於所接收之配件定義記錄,隧道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為根據本發明之一實施例之用於經由隧道(例如隧道910)在控制器(例如,圖9之控制器902(1))與配件(例如圖9之配件904(1))之間的通信之處理程序1000的流程圖。處理程序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(針對寫入請求)中。在此等實例中,假定已在控制器902(其可為圖9之控制器902(1)或902(2)中的任一者)與隧道910之間建立配對驗證工作階段,例如在處理程序1000之區塊1004處。因此,工作階段金鑰「A」已建立為控制器902與隧道910之間的共用秘密;金鑰A可持 續達控制器902與隧道910之間的配對驗證工作階段之持續時間,且可用以加密控制器902與隧道910之間的通信。亦假定已建立隧道910與配件904(其可為圖9之配件902(1)至902(3)中的任一者)之間之通信工作階段,例如在處理程序1000之區塊1006處。隧道910與配件904之間的工作階段可使用安全性措施「B」(其可為(例如)與使隧道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)之後,訊息可以使得隧道910可在IP與BLE傳輸機制之間轉換統一配件協定訊息之方式在控制器902與配件904之間發送,而不變得不知曉關於配件之狀態的資訊(例如,特定特性之值)。圖11說明根據本發明之一實施例之經由隧道910傳達讀取請求。如所示,控制器902可產生IP讀取請求1120,其符合如針對IP傳輸機制所實施之統一配件協定。舉例而言,IP讀取請求1120可指定讀取特定特性之配件識別符(AID)及例項識別符(IID)。控制器902可基於自配件資訊資料庫912讀取之資訊而判定用於請求之(AID,IID),例如在處理程序1000之區塊1006及1008處。控制器902可使用金鑰A加密IP讀取請求1120,如藉由圓圈1122所指示。IP讀取請求1120可為可自控制器發送至代理以請求 與配件互動(在此情況下,讀取配件特性之值以判定配件狀態之態樣)的「請求訊息」之實例。
隧道910具有金鑰A,且可解密IP讀取請求1120。隧道910可將經解密讀取請求1120轉譯為符合如針對BLE傳輸機制實施之統一配件協定的BLE讀取請求1124。舉例而言,如所示,讀取請求1120之(AID,IID)可基於配件資料庫912中之資訊而用對應屬性控制代碼(「ATTH」)替換。隧道910可使用安全性措施B將BLE讀取請求1124發送至配件904,為藉由菱形1126所指示。BLE讀取請求1124可為可自代理發送至配件以回應於來自控制器自請求而執行與配件之互動(在此情況下,讀取配件特性之值以判定配件狀態之態樣)的「指令訊息」之實例。
配件904具有安全性措施B,且可讀取BLE讀取請求1124。配件904可產生對BLE讀取請求1124之回應。舉例而言,配件904可判定對應於包括於BLE讀取請求1124中的屬性控制代碼ATTH之特性的狀態,且產生對應值。配件904可使用金鑰C加密該值,且將經加密值1128包括於BLE讀取回應1130中;值1128之加密藉由圓圈1132指示。配件904可使用安全性措施B將BLE讀取回應1130發送至隧道910,如藉由菱形1134所指示。BLE讀取回應1130可為可回應於自代理接收之指令訊息而自配件發送至代理的「指令回應訊息」之實例。
隧道910具有安全性措施B,且可讀取BLE讀取回應1130。隧道910不具有金鑰C,且因此不可解密值1128。實際上,隧道910可將經解密BLE讀取回應1130轉譯為符合如針對IP傳輸機制實施之統一配件協定的IP讀取回應1136。舉例而言,如所示,BLE讀取回應1130之屬性控制代碼ATTH可基於配件資料庫912中之資訊而用對應(AID,IID)替換。仍使用金鑰C加密之值1128按原樣包括在IP讀取回應1136中。IP讀取回應1136使用金鑰A加密,如藉由圓圈1138所指示。IP讀取回 應1136可為可回應於來自控制器之請求訊息而自代理發送至控制器的「回應訊息」之實例;回應訊息可基於藉由代理自配件接收之指令回應訊息。
控制器902具有金鑰A,且可解密IP讀取回應1136。控制器904亦具有金鑰C,且可解密值1128,藉此獲得所請求資訊。以此方式,隧道910可在控制器902與配件904之間轉送讀取請求而不會變得不知曉所讀取之特性的狀態。
類似技術可用於寫入請求。圖12說明根據本發明之一實施例之經由隧道910傳達寫入請求。如所示,控制器902可產生符合如針對IP傳輸機制實施的統一配件協定之IP寫入請求1220。舉例而言,IP寫入請求1220可指定寫入特定特性之配件識別符(AID)及例項識別符(IID)。控制器902可基於自配件資訊資料庫912讀取之資訊而判定用於請求之(AID,IID),例如在處理程序1000之區塊1006及1008處。IP寫入請求1220亦可指定待寫入至特性之值1222。控制器902可使用金鑰C加密值1222,如藉由圓圈1224所指示,且可將經加密值1222包括在IP寫入請求1220中。控制器902可使用金鑰A加密IP寫入請求1220,如藉由圓圈1226所示。IP寫入請求1220可為可自控制器發送至代理以請求與配件互動(在此情況下,將值寫入至配件特性以改變配件狀態之態樣)的請求訊息之另一實例。
隧道910具有金鑰A,且可解密IP寫入請求1220。隧道910不具有金鑰C,且因此不可解密值1222。實際上,隧道910可將經解密IP寫入請求1220轉譯為符合如針對BLE傳輸機制實施之統一配件協定的BLE寫入請求1228。舉例而言,如所示,IP寫入請求1220之(AID,IID)可基於配件資料庫912中之資訊而用對應屬性控制代碼(ATTH)替換。仍使用金鑰C加密之值1222按原樣包括在BLE寫入回應1228中。隧道910可使用安全性措施B將BLE寫入請求1228發送至配件904,如藉由菱形 1230所指示。BLE寫入請求1128可為可回應於來自控制器之請求而自代理發送至配件以執行與配件之互動(在此情況下,將值寫入至配件特性以改變配件狀態之態樣)的指令訊息之另一實例。
配件904具有安全性措施B,且可讀取BLE寫入請求1228。配件904亦具有金鑰C,且可解密值1222。配件904可接著解譯寫入請求,且採取適當動作(例如,改變所指定特性之狀態,諸如開啟燈泡)。配件904可產生可指示請求是否成功之BLE寫入回應1232及(在失敗的情況下)錯誤代碼或其類似者。配件904可使用安全性措施B將BLE寫入回應1232發送至隧道910,如藉由菱形1234所指示。BLE寫入回應1232可為可回應於自代理接收之指令訊息而自配件發送至代理的指令回應訊息之另一實例。
隧道910具有安全性措施B,且可解密BLE寫入回應1232。隧道910可將經解密BLE寫入回應1232轉譯至符合如針對IP傳輸機制實施的統一配件協定之IP寫入回應1236。舉例而言,如所示,BLE寫入回應1232之屬性控制代碼ATTH可基於配件資料庫912中之資訊而用對應(AID,IID)替換。此外,若BLE寫入回應1232包括專門針對BLE傳輸機制之狀態代碼,則隧道910可將狀態代碼轉譯為專門針對IP傳輸機制之(可能不同)狀態代碼。在一些實施例中,獨立於傳輸機制而使用相同狀態程式碼,且配件904可使用金鑰C加密狀態代碼,以使得隧道910不會不知曉特定寫入請求成功還是失敗。使用金鑰A加密IP寫入回應1236,如藉由圓圈1238所指示。IP寫入回應1236可為可回應於來自控制器之請求訊息而自代理發送至控制器之回應訊息的另一實例;回應訊息可基於藉由代理自配件接收之指令回應訊息。
控制器902具有金鑰A,且可解密IP寫入回應1236,藉此判定寫入請求成功還是失敗。
以此方式,隧道910可在控制器902與配件904之間轉送讀取及寫 入請求,而不會變得不知曉所讀取及寫入的特性之狀態。亦應注意,在一些實施例中,將安全性措施B應用於隧道910與配件904之間的訊息可為可選的。藍芽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)之全域狀態數目的改變(例如,基於來自配件904(3)之BLE公告)時,隧道910可產生通知至已訂用關於配件904(3)之通知的每一控制器,包括控制器902(1)。舉例而言,隧道910可產生類似於由支援控制器902與隧道910之間使用的傳輸機制(例如,IP傳輸機制)上的通用配件協定之配件使用的通知訊息之通知訊息。此通知訊息可為(例如)未請求HTTP回應,如上文提及之美國申請案第14/614,914號中所描述。亦可使用其他通知技術。
一旦已向控制器902(1)通知配件904(3)之配件狀態改變,控制器902(1)即可連接至配件904(3)(例如,經由隧道910)以獲得詳情,例如藉由使用上文參考圖11所描述的技術發送讀取請求。以此方式,隧道910可感知配件狀態之某一態樣已改變,而不會不知曉關於哪個(哪些)特性已改變或任何特性之當前狀態的特定資訊。因此,闖入者藉由自隧道910提取資料僅可獲得關於配件之有限資訊。
將瞭解,本文所述的橋接器及隧道代理為說明性的,且變化及修改係可能的。在配件可由控制器經由橋接器或隧道看到之情況下,控制器可決定直接還是經由橋接器或隧道與配件通信。舉例而言,在橋接器的情況下,若控制器不支援配件支援的相同協定或傳輸機制,則所有通信可經由橋接器。在隧道的情況下,若控制器支援與配件相同的協定及傳輸機制(例如,統一配件協定與BLE傳輸機制),則控制器可應用偏好規則(類似於上文所描述的處理程序600)來判定與配件直接通信還是經由隧道通信。在一些實施例中,偏好可為始終偏好隧道(除非隧道暫時不可用),因為隧道可經定位以最佳化所接收信號在配件處之信號強度,如來自控制器之信號強度可高度取決於控制器之(可變)位置。在其他實施例中,可使用對控制器處自配件接收的信號 的電流信號強度之動態分析來判定偏好,其中是否使用隧道之決策係基於電流信號強度是否超過臨限值而使得可預期經由直接頻道之可靠通信來進行。
橋接器或隧道可將任何數目個控制器連接至一或多個端點配件。在一些實施例中,端點配件(或其中的至少一者)可實體上容納於與實施橋接器或隧道功能之電路系統相同的結構中,但不需要如此。另外,本文中所使用的特定協定及傳輸機制僅係出於說明的目的;可代之以其他協定及傳輸機制。
在一些實施例中,歸因於直接及間接通信路徑兩者之可用性,相同配件可能一次性由控制器在多個路徑上可見(例如,經由藍芽LE直接地及經由隧道或其他代理間接地)。在此情況下,控制器可使用由配件提供的資訊(例如,配件識別符及/或其他配件資訊)來辨識相同配件何時在多個路徑上可見。控制器可接著呈現使用者介面,其中給定配件僅出現一次,而不管在給定時間有多少至配件之通信路徑可用。
實例協調器器件
上文所描述的實施例提供可在控制器與配件之間轉送訊息之代理(包括橋接器及隧道)。在一些實施例中,「智慧型」代理(亦稱為協調器)可用以協調多個控制器之間的操作。取決於實施,協調器亦可提供橋接及/或穿隧能力。
圖13展示根據本發明之一實施例之網路組態1300的實例。控制器1302及配件1304可類似於或等同於圖5中之控制器502及配件504,且在任何給定時間,控制器1302可存在於局部環境1306中或遠端,例如經由廣域網路1308(類似於圖5之廣域網路508,其可為(例如)網際網路)而連接。
組態1300包括協調器1310,協調器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號及臺灣申請案第___號(代理人案號90911-P23535TW1-946186)中。配件網路或環境模型可按需要而為簡單或複雜的。
配件網路可連結至控制器網路,控制器網路可為有權限存取配件網路的全部或部分之一組控制器(例如,圖13中的控制器1302)。舉 例而言,配件模型可包括識別有權限存取配件網路之控制器的存取清單。不同控制器可具有不同權限等級。舉例而言,一些控制器可具有編輯配件網路模型及/或新增其他控制器至存取清單或自存取清單移除控制器之權限。在一些實施例中,關於環境模型之資訊可在控制器之間同步;權限及同步之實例描述於上文提及之美國臨時申請案第62/005,764號、美國臨時申請案第62/094,391號及臺灣申請案第___號(代理人案號90911-P23535TW1-946186)中。
協調器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建立第一配對驗證工作階段,且經由第一配對驗證工作階段將其用於配件1304之指令提供至協調器1310。協調器1310可接收該等指令,與配件1304建立第二配對驗證工作階段,且經由第二配對驗證工作階段將適當控制訊息發送至配件1304。與上文描述之隧道910不同,協調器1310對於指令之內容可為私密的,且在一些實施例中,發送至配件 1304之訊息無需對應於由控制器1302(1)提供之指令。舉例而言,在與控制器1302(1)通信的同時,協調器1310亦可與另一控制器(例如,控制器1302(2))通信。控制器1302(1)及1302(2)可各自將用於配件1304之指令提供至協調器1310。協調器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可拒絕該請求。決策邏輯可按需要而為簡單或複雜的;舉例而言,屬於兒童之控制器可在一天中的哪些小時或其可操作特定配件(例如,TV)的時長方面受到限制,而父母的控制器可具有無限存取,或與訪客(例如,臨時保姆)相關聯之控制器可受限於操作配件之某一子集。因此,協調器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中。實體上,密碼編譯邏輯模組1420可按需要而實施於具有安全儲存模組1418之同一積體電路或不同積體電路(例如,處理子系統1410中之處理器)中。密碼編譯邏輯模組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映射至用於已完成如上所述之對設置或配對新增程序的控制器之控制器長期公用金鑰LTPKA的查找表)。在一些實施例中,可忽略安全儲存模組1538;金鑰及配對控制器之清單可儲存於儲存器件1528中。
在一些實施例中,密碼編譯操作可實施於與安全儲存模組1538通信之密碼編譯邏輯模組1540中。實體上,密碼編譯邏輯模組1540可按需要而實施於具有安全儲存模組1538之同一積體電路或不同積體電路(例如,處理子系統1530中之處理器)中。密碼編譯邏輯模組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(數位化通用光碟)之光學儲存媒體、快閃記憶體及其他非暫時性媒體。(應理解,資料之「儲存」不同於使用諸如載波之暫時性媒體的資料之傳播)。用程式碼編碼之電腦可讀媒體可與相容電子器件一起封裝,或程式碼可分別提供自電子器件(例如,經由網際網路下載或作為分別封裝之電腦可讀儲存媒體)。
因此,儘管本發明已關於特定實施例加以描述,但應瞭解,本發明意欲涵蓋在以下申請專利範圍之範疇內的所有修改及等效物。
500‧‧‧網路組態
502(1)‧‧‧控制器
502(2)‧‧‧控制器
502(3)‧‧‧控制器
504‧‧‧配件
506‧‧‧局部環境
508‧‧‧通信網路
510‧‧‧代理
522‧‧‧配件控制應用程式
524‧‧‧作業系統處理程序

Claims (23)

  1. 一種可藉由一第一控制器器件執行之方法,該方法包含:在該控制器器件處接收請求與一配件器件之一互動的一使用者輸入,其中該互動包括判定該配件器件之配件狀態之一態樣或改變該配件器件之配件狀態之一態樣;判定該控制器器件當前是否能夠與該配件器件直接通信;回應於判定該控制器器件當前能夠與該配件器件直接通信,與該配件器件直接通信以執行該所請求之互動;及回應於判定該控制器器件當前不能與該配件器件直接通信:識別經組態以與該配件器件通信之一代理器件,其中該控制器器件先前已建立與該代理器件之一配對;建立與該代理器件之通信,其中建立與該代理器件之通信包括基於該先前建立之配對建立與該代理器件之一配對驗證工作階段,該配對驗證工作階段具有一工作階段金鑰;產生至該配件之一請求訊息以與該配件執行該所請求之互動;及經由該配對驗證工作階段將該請求訊息傳達至該代理器件以與該配件器件執行該所請求之互動,其中該代理器件將該請求訊息轉送至該配件器件。
  2. 如請求項1之方法,其中識別該代理器件包括:獲得潛在代理器件之一清單;及根據一選擇規則自該清單選擇該代理器件。
  3. 如請求項2之方法,其中獲得潛在代理器件之該清單包括:在接收該使用者輸入之前發生的與該配件器件之一配對驗證工作階段期間,自該配件器件獲得經配對控制器器件之一清 單;及隨後使用經配對控制器器件之該清單作為潛在代理器件之該清單。
  4. 如請求項2或3之方法,其中獲得潛在代理器件之該清單包括:存取於一基於雲端之資料服務處維護的用於該配件之經配對控制器器件之一清單。
  5. 如請求項2或3之方法,其中向每一潛在代理器件指派一器件類型,且該選擇規則至少部分基於器件類型之一階層。
  6. 如請求項2或3之方法,其中選擇該代理器件包括:自該清單選擇一第一代理器件;及在該第一代理器件不可用之情況下,自該清單選擇一不同代理器件。
  7. 如請求項1至3中任一者之方法,其中識別該代理器件包括:與一基於雲端之資料服務通信以自能夠存取該配件之器件之一清單識別一偏好代理器件。
  8. 一種可由經組態以與一配件器件通信之一代理器件執行的方法,該方法包含:建立與一控制器器件之一配對;此後基於與該控制器器件之該先前建立之配對建立與該控制器器件之一配對驗證工作階段,該配對驗證工作階段具有一第一工作階段金鑰;經由與該控制器器件之該配對驗證工作階段而接收一請求訊息,該請求訊息指示待執行與該配件器件之一互動;基於該所接收請求訊息而將一指令訊息發送至該配件器件;及回應於該所接收請求訊息而經由與該控制器器件之該配對驗 證工作階段將一回應訊息發送至該控制器器件。
  9. 如請求項8之方法,其進一步包含:回應於該指令訊息而自該配件器件接收一指令回應訊息,其中發送至該控制器器件之該回應訊息係基於自該配件器件接收之該指令回應訊息。
  10. 如請求項8或9之方法,其進一步包含:解譯該所接收請求訊息以判定要執行之一配件動作;及基於該解譯而產生至該配件器件之該指令訊息。
  11. 如請求項10之方法,其中解譯該所接收請求訊息包括:判定該控制器器件有權限執行該配件動作。
  12. 如請求項10之方法,其中解譯該所接收請求訊息包括:解決自複數個控制器器件接收之複數個請求訊息之間的一衝突。
  13. 如請求項8或9之方法,其中自該控制器器件接收之該請求訊息符合用於與配件通信之一第一協定,且該代理器件將該所接收請求訊息轉譯為符合用於與配件通信之一第二協定的一指令訊息。
  14. 如請求項13之方法,其進一步包含在自該控制器器件接收到該請求訊息之前:自該配件器件獲得配件資訊,該配件資訊包括符合該第二通信協定之配件特性之第一組識別符;及建構該等配件特性之該組識別符至符合該第一通信協定之第二組識別符之一映射,其中轉譯該所接收請求訊息包括使用該映射來將該請求訊息自該第二通信協定轉譯至該第一通信協定。
  15. 如請求項8或9之方法,其中來自該控制器之該請求訊息包括以不藉由該代理器件共用之一第二工作階段金鑰加密之一資料項 目,且產生至該配件器件之該指令訊息包括將該資料項目按原樣插入至至該配件器件之指令訊息中。
  16. 如請求項15之方法,其中該資料項目表示待寫入至該配件器件之一配件特性的一值,其中將該值寫入至該配件特性導致改變該配件器件之一狀態之一態樣。
  17. 如請求項8或9之方法,其中建立與該控制器器件之該配對發生於該控制器器件存在於具有該代理器件之一局部環境中時,且自該控制器器件接收該請求訊息發生於該控制器器件不存在於該局部環境中時。
  18. 一種可藉由一第一控制器器件執行之方法,該方法包含:建立與一配件器件之一第一配對;建立與一代理器件之一第二配對;在該控制器器件處接收請求與該配件之一互動的一使用者輸入;及回應於該使用者輸入:基於該第二配對而建立與該代理器件之一第一配對驗證工作階段,該第一配對驗證工作階段具有藉由該控制器器件及該代理器件共用但不藉由該配件器件共用之一第一工作階段金鑰;經由該第一配對驗證工作階段與該配件器件通信以建立與該配件器件之一第二配對驗證工作階段,該第二配對驗證工作階段具有藉由該控制器器件及該配件器件共用但不藉由該代理器件共用之一第二工作階段金鑰;基於該所請求互動而產生待轉送至該配件之至該代理之一請求訊息,其中產生該請求訊息包括使用該第二工作階段金鑰加密該請求訊息之至少一部分; 使用該第一工作階段金鑰加密該請求訊息;及將該請求訊息發送至該代理。
  19. 如請求項18之方法,其進一步包含自該代理器件接收一回應訊息;使用該第一工作階段金鑰對該回應訊息進行解密;自該經解密回應訊息提取來自該配件器件之一所包括項目;及使用該第二工作階段金鑰對該所包括項目進行解密。
  20. 如請求項18或19之方法,其中該配件器件及該代理器件兩者皆位於一局部環境中,且其中在該控制器器件存在於該局部環境中時,建立該第一配對與建立該第二配對係同時執行。
  21. 如請求項20之方法,其中在該控制器器件不存在於該局部環境中時,建立該第一配對驗證工作階段與建立該第二配對驗證工作階段同時執行。
  22. 一種控制器器件,其包含:一通信介面,其用以與包括一配件器件或一代理器件中之一或兩者之一或多個其他器件通信;一使用者介面,其用以自一使用者接收輸入;及一處理子系統,其耦接至該通信介面及該使用者介面,且經組態以:經由該使用者介面接收請求與一配件器件之一互動的一使用者輸入,其中該互動包括判定該配件器件之配件狀態之一態樣或改變該配件器件之配件狀態之一態樣;判定該控通信介面當前是否能夠與該配件器件直接通信;回應於判定該通信介面當前能夠與該配件器件直接通信,與該第一配件器件直接通信以執行該所請求之互動;及 回應於判定該通信介面當前不能與該配件器件直接通信:識別經組態以與該配件器件通信之一代理器件,其中該控制器器件先前已建立與該代理器件之一配對;建立與該代理器件之通信,其中建立與該代理器件之通信包括基於該先前建立之配對建立與該代理器件之一配對驗證工作階段,該配對驗證工作階段具有一工作階段金鑰;產生至該配件之一請求訊息以與該配件執行該所請求之互動;及在該配對驗證工作階段內將一指令傳達至該代理器件以與該第一配件器件執行該所請求之互動。
  23. 一種代理器件,其包含:一通信介面,其用以與包括一控制器器件或一配件器件中之一或兩者之一或多個其他器件通信;及一處理子系統,其耦接至該通信介面且經組態以:建立與一控制器器件之一配對;基於與該控制器器件之該先前建立之配對建立與該控制器器件之一配對驗證工作階段,該配對驗證工作階段具有一第一工作階段金鑰;經由與該控制器器件之該配對驗證工作階段而接收一請求訊息,該請求訊息指示待執行與該配件器件之一互動;基於該所接收請求訊息而將一指令訊息發送至該配件器件;及回應於該所接收請求訊息而經由與該控制器器件之該配對驗證工作階段將一回應訊息發送至該控制器器件。
TW104117507A 2014-05-30 2015-05-29 用於配件管理系統之控制器網路 TWI578830B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462005764P 2014-05-30 2014-05-30
US201462094391P 2014-12-19 2014-12-19

Publications (2)

Publication Number Publication Date
TW201607358A TW201607358A (zh) 2016-02-16
TWI578830B true TWI578830B (zh) 2017-04-11

Family

ID=55810224

Family Applications (2)

Application Number Title Priority Date Filing Date
TW104117503A TWI576755B (zh) 2014-05-30 2015-05-29 可在一第一控制器器件中執行之方法,控制器器件,電腦可讀儲存媒體
TW104117507A TWI578830B (zh) 2014-05-30 2015-05-29 用於配件管理系統之控制器網路

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW104117503A TWI576755B (zh) 2014-05-30 2015-05-29 可在一第一控制器器件中執行之方法,控制器器件,電腦可讀儲存媒體

Country Status (3)

Country Link
EP (5) EP3149548B1 (zh)
CN (3) CN106462123B (zh)
TW (2) TWI576755B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11524380B2 (en) 2020-12-11 2022-12-13 Industrial Technology Research Institute Motion control system and method

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10177933B2 (en) 2014-02-05 2019-01-08 Apple Inc. Controller networks for an accessory management system
US10454783B2 (en) 2014-02-05 2019-10-22 Apple Inc. Accessory management system using environment model
CN108259159B (zh) 2014-02-05 2021-02-05 苹果公司 用于在控制器和附件之间进行配对的方法和系统
US10985937B2 (en) 2015-02-05 2021-04-20 Apple Inc. Delegation or revocation of trigger execution in an automated environment
US10206170B2 (en) 2015-02-05 2019-02-12 Apple Inc. Dynamic connection path detection and selection for wireless controllers and accessories
EP4198733A1 (en) * 2015-07-31 2023-06-21 Apple Inc. Delegation of trigger execution in an automated environment
CN108628661B (zh) * 2017-03-24 2021-11-26 郑芳田 云制造服务的自动建置方法、云制造系统
JP6909961B2 (ja) * 2017-04-21 2021-07-28 パナソニックIpマネジメント株式会社 表示方法、プログラム、及び、表示システム
CN108508756A (zh) * 2017-05-16 2018-09-07 苏州纯青智能科技有限公司 家用电器移动控制终端
US10496508B2 (en) 2017-06-02 2019-12-03 Apple Inc. Accessory communication control
US10855367B2 (en) * 2017-10-02 2020-12-01 Fisher Controls International Llc Methods and apparatus to bridge communications between devices using low-energy devices
US10897374B2 (en) * 2017-11-06 2021-01-19 Computime Ltd. Scalable smart environment for controlling a plurality of controlled apparatuses using a connection hub to route a processed subset of control data received from a cloud computing resource to terminal units
CN111448784B (zh) * 2017-12-14 2022-09-06 索尼公司 信息处理设备、信息处理方法和信息处理系统
DE102018100840A1 (de) * 2018-01-16 2019-07-18 Miele & Cie. Kg Verfahren zur verbesserten Einbindung eines WLAN-fähigen Haushaltsgeräts in eine Benutzerumgebung
CN108541118A (zh) * 2018-04-13 2018-09-14 大峡谷照明系统(苏州)股份有限公司 远程多回路灯具控制方法及系统
TWI698754B (zh) * 2018-05-29 2020-07-11 普安科技股份有限公司 雲端服務之權限管理方法及其系統
US10595073B2 (en) 2018-06-03 2020-03-17 Apple Inc. Techniques for authorizing controller devices
US11805009B2 (en) 2018-06-03 2023-10-31 Apple Inc. Configuring accessory network connections
CN109347649A (zh) * 2018-08-01 2019-02-15 北京奇安信科技有限公司 一种移动设备强管控方法及装置
WO2020223854A1 (zh) * 2019-05-05 2020-11-12 深圳市欢太科技有限公司 设备配网方法、装置、电子设备及存储介质
CN110166306A (zh) * 2019-06-14 2019-08-23 上海富欣智能交通控制有限公司 数据通信方法及系统
CN110290204B (zh) * 2019-06-25 2022-05-17 腾讯科技(深圳)有限公司 一种浏览器过代理的实现方法、装置及终端设备
FR3110008B1 (fr) * 2020-05-11 2022-06-24 Abdelhakim Djoudi Dispositif et procédé d’interface personnelle pour appareil public
WO2023099405A1 (en) * 2021-12-02 2023-06-08 Agtatec Ag Method for updating an automatic door system as well as automatic door system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130034230A1 (en) * 2011-08-05 2013-02-07 Takahashi Richard J Method and system for embedding security in a mobile communications device
WO2014020880A1 (ja) * 2012-07-30 2014-02-06 パナソニック株式会社 家電機器の操作システムおよび家電機器を操作するためのプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2339367B (en) * 1998-03-17 2002-12-04 Sedex Ltd A method and apparatus for electronic document exchange
US7831930B2 (en) * 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
WO2000027090A2 (en) * 1998-10-30 2000-05-11 Science Applications International Corporation Network protocol for secure communications
US6754678B2 (en) * 1999-12-20 2004-06-22 California Institute Of Technology Securely and autonomously synchronizing data in a distributed computing environment
JP2001256156A (ja) * 2000-03-10 2001-09-21 Victor Co Of Japan Ltd 制御情報システムおよび制御情報伝送方法
US10444964B2 (en) * 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
KR100678897B1 (ko) * 2004-11-23 2007-02-07 삼성전자주식회사 홈 네트워크 장치 간의 보안 연결을 위한 시스템 및 방법
US7394393B2 (en) * 2005-08-02 2008-07-01 Gm Global Technology Operations, Inc. Adaptive driver workload estimator
FR2897186B1 (fr) * 2006-02-06 2008-05-09 Somfy Sas Procede de communication par relais entre une telecommande nomade et des equipements domotiques.
KR100791298B1 (ko) * 2006-05-19 2008-01-04 삼성전자주식회사 홈 네트워크에서의 디바이스 제어 장치 및 방법
US7574417B1 (en) * 2006-09-28 2009-08-11 Rockwell Automation Technologies, Inc. Self configuration of embedded historians
US8196185B2 (en) * 2007-08-27 2012-06-05 Honeywell International Inc. Remote HVAC control with a customizable overview display
US20090307255A1 (en) * 2008-06-06 2009-12-10 Johnson Controls Technology Company Graphical management of building devices
US8532962B2 (en) * 2009-12-23 2013-09-10 Honeywell International Inc. Approach for planning, designing and observing building systems
CN102281251B (zh) * 2010-06-09 2014-12-17 中兴通讯股份有限公司 一种实现智能家居应用的装置、系统和方法
FR2974260B1 (fr) * 2011-04-13 2013-09-06 Ingenico Sa Procede de multiplexage de message, dispositif et programme correspondant
US20130086066A1 (en) * 2011-09-30 2013-04-04 Siemens Akeiengesellschaft Automated discovery and generation of hierarchies for building automation and control network objects
TW201328401A (zh) * 2011-12-28 2013-07-01 Univ Nat Central 無線感測制動網路及其操作方法
CN102710473A (zh) * 2012-05-21 2012-10-03 深圳市无线开锋科技有限公司 一种基于移动终端的智能家居遥控系统
JP2014186663A (ja) * 2013-03-25 2014-10-02 Toshiba Lighting & Technology Corp 端末装置および制御システム
JP5474238B1 (ja) * 2013-06-05 2014-04-16 三菱電機株式会社 レイアウト生成システム、エネルギーマネジメントシステム、端末装置、レイアウト作成方法、および、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130034230A1 (en) * 2011-08-05 2013-02-07 Takahashi Richard J Method and system for embedding security in a mobile communications device
WO2014020880A1 (ja) * 2012-07-30 2014-02-06 パナソニック株式会社 家電機器の操作システムおよび家電機器を操作するためのプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11524380B2 (en) 2020-12-11 2022-12-13 Industrial Technology Research Institute Motion control system and method

Also Published As

Publication number Publication date
EP4236211A2 (en) 2023-08-30
EP3149548A2 (en) 2017-04-05
CN112666841A (zh) 2021-04-16
EP3537238B1 (en) 2023-08-23
CN106462123A (zh) 2017-02-22
CN106664226B (zh) 2020-05-22
EP3872586A2 (en) 2021-09-01
EP3872586A3 (en) 2022-01-26
CN106462123B (zh) 2020-12-22
EP3149547B1 (en) 2019-06-26
TWI576755B (zh) 2017-04-01
EP3149548B1 (en) 2021-06-23
EP3149547A1 (en) 2017-04-05
EP4236211A3 (en) 2023-09-20
TW201607358A (zh) 2016-02-16
EP3537238A1 (en) 2019-09-11
CN106664226A (zh) 2017-05-10
TW201612729A (en) 2016-04-01

Similar Documents

Publication Publication Date Title
TWI578830B (zh) 用於配件管理系統之控制器網路
US10177933B2 (en) Controller networks for an accessory management system
US11425104B2 (en) Secure transfer of a data object between user devices
KR102186012B1 (ko) 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
US11698846B2 (en) Accessory communication control
EP3281388B1 (en) Relay service for communication between controllers and accessories
EP3420780B1 (en) Selection of a coordinator device for an automated environment
RU2620992C2 (ru) Дистанционное управление и системы дистанционного управления
CN111601306B (zh) 控制器和附件之间的安全无线通信
WO2015184382A9 (en) Controller networks for an accessory management system
US20220303154A1 (en) Techniques for utilizing a coordinator device
US20210341889A1 (en) Coordinationg modifications by multiple users to a shared automated environment