背景技術:
很多現(xiàn)代電器、消費者設備以及其它設備包括被配置為執(zhí)行一個或多個專用功能的嵌入式系統(tǒng)。然而,這些設備的大多數(shù)嵌入式系統(tǒng)不包括聯(lián)網(wǎng)能力、基于角色的訪問控制能力、遠程接口能力、遠程控制能力或相關能力。將這樣的功能設計到嵌入式系統(tǒng)中、設計用于訪問這些功能的應用編程接口(api)、設計能夠經(jīng)由這種添加的功能與嵌入式系統(tǒng)進行通信及對其進行控制的web服務、以及設計用于利用該功能的應用可能會消耗設備制造商的大量資源。
此外,對于包括嵌入式系統(tǒng)的大多數(shù)設備的訪問控制難以編碼到嵌入式系統(tǒng)中,且不靈活。在設計時,制造商通常對于嵌入式系統(tǒng)設置單個訪問策略,并且該單個訪問策略會針對所有用戶而在設備的使用壽命期間持續(xù),而不管這些用戶是誰。
附圖說明
現(xiàn)在將參考示出本申請的示例實施方式的附圖,其中:
圖1是描述示例網(wǎng)絡架構的框圖;
圖2a是訪問控制管理器的示例實施方式的框圖;
圖2b示出關于設備資源的示例資源層級;
圖2c示出關于oem的示例角色層級;
圖3是生成關于聯(lián)網(wǎng)設備平臺的新角色的示例方法的流程圖;
圖4是對設備授予令牌的示例方法的流程圖,其中該令牌指示與該設備關聯(lián)的角色;
圖5是共享對聯(lián)網(wǎng)設備的訪問的示例方法的流程圖;
圖6是轉(zhuǎn)移聯(lián)網(wǎng)設備的所有權的示例方法的流程圖;
圖7是將聯(lián)網(wǎng)設備平臺中的角色偽裝為另一更低等級角色的示例方法的流程圖;
圖8是具有遠程可訪問嵌入式系統(tǒng)的示例設備的框圖;以及
圖9示出計算設備的一個實施方式的框圖。
具體實施方式
物聯(lián)網(wǎng)(iot)演進已經(jīng)使得消費者和原始設備制造商(oem)能夠通過前所未有的方式與他們的所連接設備進行交互。購買所連接設備的消費者期待能夠以安全的方式控制他們的設備。他們應當還能夠?qū)⑺麄兊脑O備與他們的朋友和家庭共享,同時仍保持對如何及何時訪問他們的設備進行控制。對于構建所連接設備的oem,從他們的設備獲得數(shù)據(jù)可提供很多信息。典型使用情況包括分析、審核和故障定位。由于可以請求訪問聯(lián)網(wǎng)設備的大量不同實體以及它們變化的需求,基于實體的角色(例如,在公司內(nèi),在住宅中等)而提供不同訪問等級是有益的。此外,出于法律、隱私和安全原因,在用戶與他們的設備進行交互的同時執(zhí)行訪問控制策略是重要的。
實施方式涉及一種聯(lián)網(wǎng)設備平臺(又稱為物聯(lián)網(wǎng)(iot)云平臺或簡稱iot平臺),其提供對聯(lián)網(wǎng)設備和其它資源的訪問的靈活控制。iot平臺生成角色并且將角色分配給用戶賬戶。每個角色批準用戶賬戶訪問一資源集合。角色的示例包括終端用戶或消費者角色、原始設備制造商(oem)管理者角色、oem賬戶管理員角色、交易商角色、技術人員角色等。oem管理者角色可以訪問組織中的所有oem用戶簡檔以及作為oem產(chǎn)品的消費者的人員的終端用戶簡檔。如果消費者批準交易商訪問,則交易商角色可以訪問消費者簡檔以及其它信息。資源可以是聯(lián)網(wǎng)設備、聯(lián)網(wǎng)設備的屬性或參數(shù)、其它用戶等。iot平臺可以在任何時間生成對資源具有獨特的許可集合的新角色,并且將新角色應用于現(xiàn)場中已有的資源集合(例如已經(jīng)銷售給消費者的那些)。相應地,實施方式提供靈活的框架用于管理對資源的訪問,特別是對聯(lián)網(wǎng)設備例如嵌入式系統(tǒng)的訪問。
在一個實施方式中,處理設備針對用戶賬戶對用戶的計算設備進行鑒權。處理設備確定與用戶賬戶關聯(lián)的角色,其中,該角色控制對一個或多個資源的訪問許可,所述一個或多個資源包括一個或多個聯(lián)網(wǎng)設備。處理設備將令牌提供給計算設備,令牌可用于確定與用戶賬戶關聯(lián)的角色。該處理設備或另一處理設備、系統(tǒng)或服務于是基于令牌批準計算設備對所述一個或多個資源的訪問。
現(xiàn)參考附圖,圖1是描述示例網(wǎng)絡架構100的框圖,網(wǎng)絡架構100包括遠程可訪問嵌入式系統(tǒng)和與嵌入式系統(tǒng)進行交互的計算設備。網(wǎng)絡架構100包括連接到局域網(wǎng)(lan)165a的多個設備135a-135c以及計算設備105b。網(wǎng)絡架構100還包括連接到另一lan165b的設備135d-135e。設備135a-135e是具有嵌入式系統(tǒng)150a-150e的設備,并且可以包括例如電子電器(例如冰箱、烤箱、洗衣機、干燥機、洗碗機、恒溫器、報警器、空調(diào)器、電視、無線電、接收機、放大器等)。設備135a-135e可以還包括消費者設備(例如數(shù)碼手表、音樂播放器、游戲控制臺、數(shù)碼相機、打印機等)。設備135a-135e的其它示例包括固定設備(例如hvac系統(tǒng)、交通燈、工廠控制器、標牌、電子廣告牌、噴灑器系統(tǒng)和灌溉控制系統(tǒng)以及醫(yī)療設備)。設備135a-135e也可以是包括嵌入式系統(tǒng)的任何其它類型的設備。
嵌入式系統(tǒng)150a-150e是嵌入到另一設備中作為該設備的一個部件的一類計算設備。設備135a-135e通常還包括可以與嵌入式系統(tǒng)150a-150e進行對接的其它硬件、電氣部件和/或機械部件。嵌入式系統(tǒng)150a-150e通常被配置為處理特定任務或任務集合,嵌入式系統(tǒng)150a-150e可以針對該特定任務或任務集合進行優(yōu)化。相應地,與普通計算設備相比,嵌入式系統(tǒng)150a-150e可以具有最小成本和尺寸。
嵌入式系統(tǒng)150a-150e可以各自包括通信模塊(未示出),其使得嵌入式系統(tǒng)150a-150e(因而設備135a-135e)能夠連接到lan165a、165b或無線載波網(wǎng)絡(其例如使用各種數(shù)據(jù)處理設備、通信塔等所實現(xiàn))。通信模塊可以被配置為:管理安全性,管理會話,管理訪問控制,管理與外部設備的通信等。在一個實施方式中,通信模塊被配置為:使用
再次參考圖1,lan165a、165b可以各自包括路由器、交換機、橋接器或使得能夠在連接到lan165a、165b的多個設備之間進行通信的其它網(wǎng)絡設備(未示出)。網(wǎng)絡設備可以使用例如以太網(wǎng)端口、通用串行總線(usb)端口和/或
一些嵌入式系統(tǒng)150a-150e可能不支持網(wǎng)絡設備所支持的任何通信類型。例如,設備135a可以支持zigbee,并且設備135b可以支持藍牙。為了使得這些設備能夠連接到lan165a,lan165a可以包括經(jīng)由網(wǎng)絡設備所支持的連接類型之一(例如,經(jīng)由以太網(wǎng)或wi-fi)連接到網(wǎng)絡設備的網(wǎng)關設備190。網(wǎng)關設備190可以另外支持其它通信協(xié)議(例如zigbee、plc和/或藍牙),并且可以在所支持的各通信協(xié)議之間進行轉(zhuǎn)譯。相應地,一些設備可以通過網(wǎng)關設備190連接到lan165a。
lan165a、165b(或無線載波)連接到廣域網(wǎng)(wan)170。wan170可以是私有wan(例如內(nèi)部網(wǎng))或公共wan(例如互聯(lián)網(wǎng)),或可以包括私有網(wǎng)絡和公共網(wǎng)絡的組合。lan165a、165b可以包括提供與wan170的連接的路由器和/或調(diào)制解調(diào)器(例如有線調(diào)制解調(diào)器、直連串行鏈路(dsl)調(diào)制解調(diào)器、微波接入全球互通
wan170可以包括或連接到服務器計算設備125。服務器計算設備125可以包括物理機器和/或以物理機器作為主機的虛擬機。物理機器可以是機架安裝服務器、臺式計算機或其它計算設備。在一個實施方式中,服務器計算設備125包括由云提供商系統(tǒng)管理和提供的虛擬機。由云服務提供商所提供的每個虛擬機可以在被配置作為云的一部分的物理機器上。這些物理機器一般位于數(shù)據(jù)中心中。云提供商系統(tǒng)和云可以提供作為基礎設施即服務(iaas)層。這種云的一個示例是
服務器計算設備125作為一個或多個wan可訪問服務130的主機,其可以是基于web的服務和/或云服務(例如在云計算平臺中的基于web的服務)。wan可訪問服務130可以(例如經(jīng)由連續(xù)連接或斷續(xù)連接)與嵌入式系統(tǒng)150a-150e中的一個或多個保持會話??商孢x地,wan可訪問服務130可以周期性地建立與嵌入式系統(tǒng)150a-150e的會話。經(jīng)由與嵌入式系統(tǒng)150a-150e的會話,wan可訪問服務130可以將命令發(fā)放到嵌入式系統(tǒng),和/或從嵌入式系統(tǒng)接收狀態(tài)更新。命令可以是用于改變可由嵌入式系統(tǒng)控制的設備的一個或多個參數(shù)的狀態(tài)的命令。例如,如果嵌入式系統(tǒng)嵌入在加熱器或恒溫器中,則命令可以包括用于增加或降低溫度的命令。在另一示例中,如果嵌入式系統(tǒng)嵌入在家庭自動化系統(tǒng)中,則命令可以包括用于打開或關閉燈的命令。
從嵌入式系統(tǒng)150a-150e接收到的狀態(tài)更新可以標識包括嵌入式系統(tǒng)的設備135a-135e的一些或所有可檢測參數(shù)的值或狀態(tài)。狀態(tài)更新也可以包括故障信息、統(tǒng)計設備使用信息、跟蹤數(shù)據(jù)和/或其它信息。這些值、狀態(tài)和/或其它信息可以基于與設備的直接用戶交互而改變。這些值、狀態(tài)和/或其它信息也可以響應于由wan可訪問服務130和/或計算設備105a-105b發(fā)送給嵌入式系統(tǒng)150a-150e的命令而改變。通過保持或周期性地建立與嵌入式系統(tǒng)150a-150e的會話,wan可訪問服務130可以保持關于設備135a-135e的狀態(tài)的最新信息。
計算設備105a-105b可以包括便攜式設備(例如電子書閱讀器、便攜式數(shù)字助理、移動電話、膝上型計算機、便攜式媒體播放器、平板計算機、相機、攝像機、上網(wǎng)本、筆記本等)。計算設備105a-105b可以還包括傳統(tǒng)固定設備(例如臺式計算機、游戲控制臺、數(shù)字視頻盤(dvd)播放器、媒體中心等)。計算設備105a-105b可以連接到wan170和/或lan165a-b。
計算設備105a-105c可以包括遠程控制應用(或多個遠程控制應用)115a-115b,其可以接收關于設備135a-135e的信息并且控制該設備135a-135e。遠程控制應用115a-115b被配置為:經(jīng)由設備的嵌入式系統(tǒng)150a-150e與設備135a-135e中的一個或多個進行對接和/或控制設備135a-135e中的一個或多個。遠程控制應用105a-105e可以被編程為運行于各種操作系統(tǒng)(例如,舉例為
在一個實施方式中,計算設備105a-105b包括單獨的遠程控制應用,用于嵌入式系統(tǒng)150a-150e中的每一個。可替選地,計算設備105a-105b可以包括能夠與用于多個不同設備135a-135e的嵌入式系統(tǒng)150a-150e進行通信及對其進行控制的單個遠程控制應用。
雖然計算設備105a-105b連接到wan170或直接連接到lan165a-b,但遠程控制應用115a-115b可以建立與wan可訪問服務130的會話。wan可訪問服務130可以提供用于間接控制并且監(jiān)控設備135a-135e中的一個或多個的接口。
服務器計算設備125包括訪問控制管理器128,其執(zhí)行對遠程控制應用115a-115b的授權和鑒權。訪問控制管理器128另外對角色進行管理并且將角色分配給用戶賬戶。每個角色提供關于一個或多個資源(例如一個或多個設備135a-135e、一個或多個用戶資源等)的許可或特權集合。一旦遠程控制應用115a-115b(例如通過將正確的證書提供給訪問控制管理器128)成功地完成鑒權,訪問控制管理器128就生成令牌并且將令牌提供給遠程控制應用115a-115b。遠程控制應用115a-115b于是可以將令牌提供給一個或多個wan可訪問服務130,以獲取對資源(例如設備135a-135e)的訪問。
響應于從遠程控制應用115a-115b接收到令牌,wan可訪問服務130基于令牌而確定與遠程控制應用關聯(lián)的用戶賬戶的角色(或多個角色)。這向wan可訪問服務130指出遠程控制應用115a-115b應可以訪問什么資源。wan可訪問服務130于是可以根據(jù)所確定的一個或多個角色而提供關于一個或多個設備135a-135e的信息和控制和/或?qū)σ粋€或多個用戶資源的訪問。
例如,與用戶賬戶關聯(lián)的角色可以包括準許控制設備135a的狀態(tài)。如果用戶期望改變設備135a的狀態(tài),則用戶可以經(jīng)由遠程控制應用115a發(fā)放命令,并且該命令可以發(fā)送到wan可訪問服務130。wan可訪問服務130然后可以將命令轉(zhuǎn)發(fā)到適當?shù)那度胧较到y(tǒng)上進行執(zhí)行。
與用戶賬戶關聯(lián)的角色可以另外包括對設備135a的狀態(tài)信息的瀏覽許可。相應地,當wan可訪問服務130從嵌入式系統(tǒng)150a接收到關于設備135a的更新后的狀態(tài)信息時,wan可訪問服務130可以將狀態(tài)信息轉(zhuǎn)發(fā)到遠程控制應用115a上。因此,基于用戶的所分配角色,用戶能夠從他可以訪問互聯(lián)網(wǎng)的任何地方連接到設備135a-135e,瀏覽關于設備135a-135e的狀態(tài)信息、并控制設備135a-135e。用戶賬戶的角色可以另外包括對用戶資源(例如關于特定用戶或特定類用戶的信息)的訪問許可。
在示例中,遠程控制應用115a可以與具有第一角色的第一用戶賬戶關聯(lián),并且遠程控制應用115b可以與也具有第一角色的第二用戶賬戶關聯(lián)。此外,計算設備105c可以使用瀏覽器應用116(例如
繼續(xù)該示例,與遠程控制應用115a關聯(lián)的第一用戶賬戶可以與終端用戶或擁有者角色關聯(lián),并且可以訪問當前狀態(tài)信息以及控制全都可以由計算設備105a的用戶擁有的設備135d-135e。然而,用戶可以不擁有設備135a-135c,因此,角色可能不允許瀏覽或控制這些設備。與遠程控制應用115b關聯(lián)的第二用戶賬戶可以與擁有者角色關聯(lián),因此允許瀏覽第二用戶所擁有的設備135a-135c。
與計算設備105c關聯(lián)的第三用戶賬戶可以與一些或所有設備135a-135e的制造商的oem角色關聯(lián)。在該示例中,假設設備135a、135b、135d和135e全都由與oem角色關聯(lián)的oem制造。因此,第三用戶賬戶可以訪問關于設備135a、135b、135d和135e的分析信息、除錯信息、故障信息、統(tǒng)計等。該信息可以是匿名的,以確保設備擁有者的隱私。該數(shù)據(jù)可能對于擁有這些設備的終端用戶(例如第一角色)是可用的或不可用的。然而,oem角色可能不準許控制該設備。因此,對各個角色的準許可相差較小至相差顯著,從而對不同設備集合提供不同許可等級。
wan可訪問服務130和訪問控制管理器128可以是oem能夠借以快速且容易地創(chuàng)建新的聯(lián)網(wǎng)設備產(chǎn)品的iot平臺的部件。iot平臺將處理授權和鑒權、網(wǎng)絡連接、信息收集和分析、設備管理、基于角色的訪問控制等。iot平臺的訪問控制管理器128提供用于設置并管理角色、用戶賬戶和資源的框架,以實現(xiàn)在管理設備以及訪問設備信息方面的靈活性。
圖2a是訪問控制管理器205的示例實施方式的框圖,其在一個實施方式中對應于圖1的訪問控制管理器128。訪問控制管理器205可以包括鑒權模塊210、令牌生成器215、角色創(chuàng)建器220以及共享模塊225??商孢x地,鑒權模塊210、令牌生成器215、角色創(chuàng)建器220和/或共享模塊225中的一個或多個的功能可以組合成單個模塊或劃分為多個子模塊。
訪問控制管理器205維護角色數(shù)據(jù)結構325、用戶賬戶數(shù)據(jù)結構240以及資源數(shù)據(jù)結構245。數(shù)據(jù)結構235-245中的每一個可以是單獨的表、電子表單、數(shù)據(jù)庫或其它數(shù)據(jù)結構??商孢x地,數(shù)據(jù)結構235-245可以組合成單個數(shù)據(jù)結構。
資源數(shù)據(jù)結構245針對每一資源包括一些項。資源的示例包括設備、用戶、固件鏡像、設備模板等。設備資源可以包括特定設備和/或特定設備的部件、屬性、設置、參數(shù)、數(shù)據(jù)等。用戶資源可以包括用戶賬戶信息、用戶人口統(tǒng)計信息、用戶行為、用戶購買歷史、用戶歷史數(shù)據(jù)等。此外,可以基于oem、基于oem內(nèi)的部門、基于交易商或通過其它方式將用戶資源分組。一些訪問控制特權可以針對特定的用戶資源群組(例如與oem關聯(lián)的所有用戶資源)。設備模板是捕獲設備的物理屬性和行為屬性的設備的模型。一些資源可以具有可以分層級地布置的子資源。例如,設備資源可以具有用于設置/參數(shù)的子資源、oem數(shù)據(jù)(例如包括分析、跟蹤、統(tǒng)計和可能不提供給終端用戶的其它數(shù)據(jù))、用戶數(shù)據(jù)等。用戶資源可以具有用于不同類型的用戶數(shù)據(jù)(例如用戶地址、用戶電話號碼、用戶所擁有的設備等)的子資源。
圖2b示出用于設備資源250的示例資源層級248。設備資源250可以包括設置/參數(shù)子資源252、功能子資源254、用戶數(shù)據(jù)子資源256、oem數(shù)據(jù)258子資源和更新子資源260。設置/參數(shù)子資源252還包括第一設置262和第二設置264。功能子資源254還包括第一功能266和第二功能268。用戶數(shù)據(jù)子資源256還包括第一用戶數(shù)據(jù)類型270和第二用戶數(shù)據(jù)類型272。oem數(shù)據(jù)子資源258還包括第一用戶數(shù)據(jù)類型274和第二用戶數(shù)據(jù)類型276。在其它示例中,可以使用更多、更少和/或不同的子資源??梢园慈魏纹谕牧6鹊燃墎砜刂茖@些子資源中的每一個的訪問。
設備資源250可以與一個或多個標簽關聯(lián)。每個標簽可以表示一個或多個屬性,所述屬性用于確定哪些角色可訪問設備資源250和/或子資源以及訪問等級(例如讀取訪問或?qū)懭朐L問)。標簽可以具有固定值,或可以具有基于條件而變化的動態(tài)值。
在示例中,設備可以包括環(huán)境標簽,其可以基于設備250是處于制造商處、已經(jīng)貨運到交易商或分發(fā)商還是已經(jīng)由終端用戶購買而改變。例如,環(huán)境標簽當設備由終端用戶注冊時可以具有居住環(huán)境值、在設備被貨運到零售商或交易商之前可以具有企業(yè)環(huán)境值,以及在設備已經(jīng)貨運到交易商或零售商之后可以具有商業(yè)環(huán)境值。
在另一示例中,設備250可以具有可以基于設備250的位置而改變的位置標簽。例如,位置標簽的值可以基于設備的互聯(lián)網(wǎng)協(xié)議(ip)地址而自動更新。設備可以還包括型號標簽(例如hvac、手表等),其可以是固定的。設備250可以還包括接近度標簽,其可以指示遠程控制應用或其它設備的接近度,以使得能夠進行訪問。例如,接近度標簽可以指示具有遠程控制應用的移動設備處于與該設備相同的lan上,或指示移動設備經(jīng)由藍牙與該設備配對??梢允褂萌魏芜@些標簽或其它標簽以確定對資源的訪問特權。
可以將多個不同的標簽與設備250關聯(lián)。此外,子資源中的一個或多個也可以與標簽關聯(lián)??梢允褂眠@些標簽以確定哪些角色可訪問特定的子資源。
再次參考圖2a,角色數(shù)據(jù)結構235針對每個角色包含項。每個角色可以具有用于訪問資源的唯一特權集合。在一個實施方式中,每個角色包括一個或多個標簽,其中的每一個標簽可以與一個或多個資源關聯(lián)。標簽可以具有固定的值或可變的值。在一個實施方式中,為了使角色具有對資源的訪問特權,與該角色關聯(lián)的標簽的值應等于與資源關聯(lián)的相似標簽的值。例如,如果與角色關聯(lián)的標簽是位置=北美,則該角色具有對位于北美的資源的訪問特權。例如,通過在與設備相同的lan上的移動設備上運行的遠程控制應用,可以相似地使用標簽以限制對資源的訪問。
每個oem可以具有其自身的與該oem關聯(lián)的角色子集。每個oem會具有oem管理者角色,其可以具有與該oem所制造的設備關聯(lián)的所有特權(包括對創(chuàng)建新角色的特權)。在一個實施方式中,oem管理者角色不具有瀏覽關于終端用戶的聯(lián)網(wǎng)設備的用戶數(shù)據(jù)或控制終端用戶的聯(lián)網(wǎng)設備的特權。
訪問控制管理器205可以管理針對多個不同oem、交易商、供應商、消費者等的角色、資源和用戶賬戶。每個oem可以具有不同的組織結構和/或銷售渠道,并且可以設置可以特定針對該oem且應用于與該oem關聯(lián)的資源(例如該oem所制造的設備和該oem的消費者)的不同角色層級。訪問控制管理器205通過可以適用于任何使用情況的靈活方式來管理角色、資源和用戶賬戶,從而解決了企業(yè)疑慮和消費者疑慮。
訪問控制管理器205以任何期望的粒度等級提供對哪些用戶可以訪問什么資源以及訪問等級的細粒度靈活控制。角色中的每一個可以基于管理者所設置的規(guī)則或規(guī)則集合而細粒度地訪問一個或多個資源。例如,在設備內(nèi)可以存在多個選項,例如瀏覽數(shù)據(jù)、改變設置、對設備進行編程等。消費者角色可以具有改變設置(例如,改變恒溫器的溫度)的特權,但不準許對設備進行編程。交易商角色可以具有特權對設備進行編程但不改變設備的設置。
用戶賬戶數(shù)據(jù)結構240針對每個用戶賬戶包括項。用戶賬戶可以包括例如用戶偏好/設置、用戶信息、用戶授權和鑒權數(shù)據(jù)(例如姓名和密碼、生物計量數(shù)據(jù)等)、用戶所擁有的設備以及與用戶關聯(lián)的角色等信息。
角色創(chuàng)建器220創(chuàng)建新角色。具有角色創(chuàng)建特權的用戶賬戶可以創(chuàng)建新角色。例如,oem管理者角色具有角色創(chuàng)建特權。設備擁有者角色(消費者角色)也可以具有角色創(chuàng)建特權(以例如針對擁有者的家庭中的孩子創(chuàng)建角色)。具有oem管理者角色的用戶賬戶可以生成任何數(shù)量的角色,其將關于該oem制造的設備提供任何等級的特權。oem管理者(或其它角色創(chuàng)建器)可以定義可以訪問哪些資源和子資源(例如資源的屬性和性質(zhì))以及是否可以訪問它們以進行讀取動作或?qū)懭雱幼?。例如,oem管理者可以生成一個或多個終端用戶(又稱為消費者或擁有者)角色、oem情況管理員角色、技術人員角色、交易商角色等。不同的oem可能會具有不同的角色集合,其可以具有不同的許可。
當要創(chuàng)建新角色時,新角色的創(chuàng)建器可以向新角色給予該創(chuàng)建器具有的任何特權。例如,oem管理者可以為oem制造的設備以及oem的任何消費者授予任何特權。然而,當一oem管理者生成新角色時,該oem管理者不能批準對另一oem的設備的許可。
在公司中,可以使用各種準則(例如產(chǎn)品責任、位置等)來構建組織。訪問控制管理器205使得能夠基于公司的組織結構而創(chuàng)建角色,這樣使得能夠基于雇員所屬的組織而對他們授予特權。例如,公司可以具有加熱、通風和空氣調(diào)節(jié)(hvac)部門和安全部門??梢詫镜墓蛦T準予訪問以監(jiān)視所有所連接的恒溫器而非其它有無線能力的產(chǎn)品(例如屬于安全部門的煙霧檢測器和co檢測器)。利用訪問控制管理器,oem管理者可以創(chuàng)建恒溫器管理者角色,以對恒溫器管理者批準針對現(xiàn)場中該公司具有的所有恒溫器型號的超級用戶似的訪問。oem管理者也可以創(chuàng)建恒溫器技術人員角色,其具有瀏覽恒溫器管理者可以瀏覽的數(shù)據(jù)中的一部分的特權。這種靈活性允許定義服從公司的組織結構的策略。
也可以基于oem的銷售渠道或分發(fā)渠道而創(chuàng)建角色。通過商業(yè)渠道銷售的很多產(chǎn)品是通過交易商分發(fā)的。示例有商業(yè)樓宇、醫(yī)院或住宅中的安裝。交易商通常執(zhí)行安裝,并且具有與消費者的維護保養(yǎng)合同。對于該分發(fā)模式,存在很多考慮。在一些情況下,交易商應具有對安裝后將允許交易商監(jiān)控所安裝系統(tǒng)的單元的足夠訪問(例如用于維修、故障定位、技術輔助等)。在其它情況下,在設備安裝在消費者家庭中并且經(jīng)編程之后,交易商會失去對該設備的所有訪問。例如,由于隱私或其它考慮,消費者可能想要限制交易商可以訪問多少數(shù)據(jù)。因此,消費者可以在安裝之后控制交易商是否可繼續(xù)訪問設備以及訪問多少。訪問控制管理器205可以設置滿足這些競爭準則的角色。因此,可以創(chuàng)建不同角色集合并且用于不同的分發(fā)渠道。
也可以基于oem所制造的設備的零售分發(fā)而創(chuàng)建角色。在該模式中,產(chǎn)品由消費者直接從零售商購買。消費者可能擁有其中一些通過交易商購買而一些從零售商購買的、來自同一oem的設備的混合體。在此情況下,消費者可能想要從單個應用訪問所有所擁有的設備,而無論制造商如何。訪問控制管理器支持層級模式,其中,消費者可以訪問所有所擁有的設備,而無論制造商如何,其中,交易商僅可以訪問所服務的設備上所允許的信息,并且,其中oem可以訪問該oem(而非其它制造商)所制造的所有設備。
圖2c示出用于oem的示例角色層級278。角色層級278包括oem管理者角色280、多個賬戶管理員角色282、284、多個職員角色286、288、多個交易商角色290、292以及消費者角色294。在其它示例中,可以存在更多角色或這些角色中更少的角色,所述角色中的一些可以不使用,和/或可能存在其它未提及的角色。
在示例角色層級278中,oem管理者280可以具有對與oem關聯(lián)的所有資源的超級用戶特權??商孢x地,在將設備的所有權轉(zhuǎn)移給消費者294時,可以從oem管理者自動撤銷一些特權。
第一賬戶管理員角色282可以具有關于oem的特定產(chǎn)品群組的超級用戶特權,并且第二賬戶管理員284可以具有關于不同產(chǎn)品群組的超級用戶特權。因此,第一賬戶管理員282可以訪問落入第一產(chǎn)品群組中的那些設備的所有設備、消費者、設備模板、鏡像等,但不具有關于落入第二產(chǎn)品群組中的那些設備的設備、消費者、設備模板、鏡像等的特權。相似地,第二賬戶管理員284可以訪問落入第二產(chǎn)品群組中的那些設備的所有設備、消費者、設備模板、鏡像等,但不具有關于落入第一產(chǎn)品群組中的那些設備的設備、消費者、設備模板、鏡像等的特權。賬戶管理員可以能夠瀏覽現(xiàn)場中的所有設備,幫助對設備進行故障定位,總結關于設備的統(tǒng)計,以及與他們的產(chǎn)品群組有關的其它事情。
角色層級278可以還包括多個職員角色286、288。可以在每個產(chǎn)品群組內(nèi)單獨地定義職員角色,或可以跨越部門而總體地應用單個職員角色。此外,可以在特定產(chǎn)品群組內(nèi)創(chuàng)建多個不同類型的職員角色。例如,職員角色可以具有關于產(chǎn)品群組中的設備子集的特定特權。
角色層級278可以另外包括第一交易商角色290和第二交易商角色292。單獨的交易商角色290、292可以有特權訪問來自交易商已經(jīng)安裝的第一產(chǎn)品群組和第二產(chǎn)品群組二者的不同設備子集。例如,交易商可以具有使得他們能夠?qū)οM者的設備進行安裝、設置和編程的特權。交易商也可以在設備安裝之后保留特權,以使得他們能夠?qū)λ惭b的設備進行故障定位和維護。
角色層級278還包括消費者角色294。消費者角色與從oem購買設備的終端用戶關聯(lián)。消費者可以通過少數(shù)不同方式與所安裝的設備或其它資源關聯(lián)。如果消費者從商店購買了設備或已經(jīng)由交易商將其安裝,則消費者可以完成注冊方法,該注冊方法可以通過將用戶賬戶設置為設備的擁有者而生成消費者的新用戶賬戶和/或?qū)⒃O備綁定到用戶賬戶。一旦如此,則取決于設備自身,消費者將獲取對與該設備關聯(lián)的資源子集的訪問??商孢x地,作為安裝過程的一部分,交易商可以將用戶賬戶指定為設備的擁有者。因此,用戶可以無需采取任何動作以將自身綁定到設備。
設備同樣可以通過少數(shù)方式與交易商關聯(lián)。設備的擁有者可以為該用戶的設備指定交易商。這樣可以使得交易商能夠服務于設備??商孢x地,如果例如交易商執(zhí)行了安裝,則可以在安裝之前將交易商綁定到設備。
再次參考圖2a,鑒權管理器210管理用戶賬戶。每個用戶賬戶可以包括一個或多個所擁有的設備和/或與用戶賬戶共享的設備、一個或多個允許與設備進行通信的所注冊的計算設備、以及與一個或多個與用戶賬戶關聯(lián)的角色。
用戶可以嘗試通過將證書(例如用戶名和密碼)從計算設備提供給訪問控制管理器205來登錄用戶賬戶。鑒權模塊210驗證所提供的證書與所存儲的用于用戶賬戶的證書匹配。如果所提供的證書與所存儲的用于用戶賬戶的證書匹配,則鑒權模塊210調(diào)用令牌生成器215。
令牌生成器215為用戶生成令牌,并且將令牌發(fā)送給用戶的計算設備。令牌然后可以呈現(xiàn)給iot平臺的任何wan可訪問服務,以獲取對資源的訪問。響應于計算設備將令牌呈現(xiàn)給wan可訪問服務,wan可訪問服務可以使用令牌檢查哪一個或哪些角色與用戶賬戶關聯(lián),因此確定用戶賬戶可訪問哪些資源以及訪問的類型和等級。
在很多用戶之間存在設備的擔保共享的使用情況。示例有:家庭中的任何設備由多個家庭成員使用。在該情況下,設備的主要擁有者將其與其他家庭成員或訪客共享。在更商業(yè)化的設置中,賓館可以安裝有聯(lián)網(wǎng)的鎖,其準許賓館訪客在一段時間內(nèi)訪問。接待員能夠例如通過臨時將角色或標簽分配給訪客的用戶賬戶達給定的時間段來激活對賓館中特定房間的訪問。類似地,戶主可以通過將新角色或標簽授予訪客的用戶賬戶來臨時批準訪客控制恒溫器、燈、鎖等。
相應地,用戶可能希望將對他們設備的訪問與朋友、家庭、訪客、客戶等共享。共享模塊225使得這種共享成為可能。當用戶希望共享對一個或多個資源的訪問時,該用戶調(diào)用共享模塊225并且標識待共享的資源以及將要共享該資源的用戶或用戶賬戶。用戶也可以指定待批準的許可,共享是否是針對有限的時間段,和/或?qū)蚕硎┘拥钠渌鼦l件。共享模塊225然后通過將所批準的特權添加到將接收共享的用戶賬戶來更新該用戶賬戶。如果共享是針對有限的時間段,則用戶可以指定共享將開始的時間和/或共享將終止的時間。因此,利用訪問控制管理器205,可以批準和共享臨時特權或永久特權,并且可以由擁有者在任何時間撤銷。
在一些情況下,用戶可能希望將資源(例如對設備的訪問)共享給沒有用戶賬戶的個人。在這種情況下,共享模塊225可以生成臨時賬戶并且將特權與臨時賬戶關聯(lián)。用戶可以提供將要向其共享資源的個人的電子郵件地址、電話號碼或其它聯(lián)系信息。共享模塊225可以使用所提供的聯(lián)系信息將消息發(fā)送給個人。所發(fā)送的消息可以包括個人可以用于激活并且使用臨時賬戶的鏈接或其它信息。
圖3-圖7是示出管理iot平臺中的角色并且基于角色而管理對資源(例如聯(lián)網(wǎng)設備)的訪問的各種方法的流程圖。所述方法可以由可包括硬件(例如電路、專用邏輯、可編程邏輯、微碼等)、軟件(例如在處理設備上運行以執(zhí)行硬件仿真的指令)或其組合的處理邏輯來執(zhí)行。在一個實施方式中,服務器計算設備(例如圖1的服務器計算設備125)執(zhí)行所述方法的至少一些操作。
圖3是生成用于聯(lián)網(wǎng)設備平臺(iot平臺)的新角色的示例方法300的流程圖。在方法300的塊305中,處理邏輯接收對生成新角色的請求。在塊308中,處理邏輯確定哪些特權對于請求方是可用的。在塊310中,處理邏輯確定請求方是否具有創(chuàng)建角色的特權。如果是,則方法繼續(xù)到塊315。否則,方法結束。
在塊315中,處理邏輯確定對于請求方可用的資源。在塊318中,處理邏輯確定將對新角色可訪問的這些資源的子集。請求方可以對新角色批準請求方具有的任何特權,直至以及包括角色創(chuàng)建特權。請求方也可以設置在角色將獲取對資源的訪問之前必需滿足的一個或多個準則??梢酝ㄟ^將標簽分配給新角色并且潛在地將對應的或有關的標簽分配給資源來實現(xiàn)這些準則。在這種情況下,當角色的標簽與資源的關聯(lián)標簽匹配時,新角色可以獲取對資源的訪問。
在塊320中,創(chuàng)建了新角色并且將其添加到角色數(shù)據(jù)結構。角色可以添加在創(chuàng)建器下的角色層級中。創(chuàng)建器可以確定應將新角色放置在角色層級中的什么地方??商孢x地,可以基于新角色的特權以及其它角色的特權而相對于其它角色在層級中自動布置新角色。
在塊325中,新角色可以分配給一個或多個用戶賬戶。這些用戶賬戶于是將具有與新角色關聯(lián)的所有特權。
圖4是將可用于確定與設備關聯(lián)的角色的令牌批準給該設備的示例方法400的流程圖。在方法400的塊405中,處理邏輯從計算設備接收登錄證書。在塊415中,處理邏輯確定所提供的登錄證書是否足以關于用戶賬戶對用戶(例如正由用戶使用的計算設備)進行鑒權。如果是,則建立登錄會話,并且所述方法繼續(xù)進到塊430。否則,方法結束。
在塊430中,處理邏輯確定與用戶賬戶和/或與當前登錄會話關聯(lián)的一個或多個角色。在塊435中,處理邏輯基于角色而確定用戶賬戶的訪問特權。每個角色可以指定一個特權或特權集合。特權可以包括對單獨設備資源或設備資源群組的訪問特權以及對單獨用戶資源或用戶資源群組的訪問特權。在用戶賬戶與多個角色關聯(lián)的一個實施方式中,處理邏輯可以提示用戶針對當前登錄會話選擇多個角色之一。處理邏輯然后可以接收對特定角色的選擇。
在塊440中,處理邏輯生成用于計算設備的令牌。在塊445中,處理邏輯將與登錄會話關聯(lián)的一個(或多個)角色與令牌關聯(lián)。處理邏輯也可以將令牌提供給計算設備。在一個實施方式中,令牌包括與用戶賬戶關聯(lián)的角色的標識符。可替選地,令牌可以指示用戶賬戶的實際訪問特權。可替選地,令牌可以包括在會話期間與計算設備和用戶賬戶關聯(lián)的唯一標識符。被提供令牌的任何系統(tǒng)可以執(zhí)行詢問,以確定用戶賬戶的角色和/或訪問特權。
在塊450中,處理邏輯批準計算設備(因此批準計算設備的用戶)訪問與所確定的角色關聯(lián)的所確定的資源。然后所述方法結束。
圖5是共享對聯(lián)網(wǎng)設備的訪問的示例方法500的流程圖。在方法500的塊505中,處理邏輯從第一用戶的第一用戶賬戶接收與第二用戶共享對資源的訪問的請求。該請求可以包括與第一用戶賬戶關聯(lián)的令牌。
在塊508中,處理邏輯使用所提供的令牌來確定與第一用戶賬戶關聯(lián)的第一角色。在塊510中,基于第一角色,處理邏輯驗證第一用戶賬戶允許共享對特權的訪問。在塊515中,如果允許資源共享,則所述方法繼續(xù)進入塊520。如果在塊515中不允許資源共享,則方法結束。
在塊520中,處理邏輯確定待共享的訪問許可。在一個實施方式中,處理邏輯提供可以共享的資源的所有子資源(例如設置、參數(shù)、視圖等)的下拉菜單或其它圖形表示。用戶可以選擇用于共享的全部資源或可以選擇待共享的單獨子資源。對于待共享的每個子資源,用戶可以選擇待共享的訪問的類型(例如瀏覽訪問、控制訪問等)和/或?qū)蚕硎┘訔l件。通過將標簽添加到與其進行特權共享的用戶賬戶的角色和/或通過將標簽添加到資源,可以實施這些條件。
在塊525中,處理邏輯確定與所確定的訪問許可關聯(lián)的第二角色。如果存在包括這些特權的現(xiàn)有角色,則可以使用該角色。如果不存在包括已經(jīng)選擇的特權的特定組合的現(xiàn)有角色,則可以生成新角色。
在塊530中,處理邏輯確定第二用戶是否具有用戶賬戶。如果是,則方法進入塊539。如果第二用戶沒有用戶賬戶,則所述方法繼續(xù)進到塊535,并且處理邏輯生成用于第二用戶的第二用戶賬戶。所生成的賬戶可以是臨時賬戶。在塊538中,處理邏輯向第二用戶發(fā)送邀請,以激活第二用戶賬戶。
在塊539中,處理邏輯確定第二用戶是否接受共享請求。在一個實施方式中,直到第二用戶已經(jīng)明確接受接收共享之前,第二角色不會變成有效或變成與第二用戶的用戶賬戶關聯(lián)。在此情況中,接收方具有接受或拒絕已批準給她的共享的權限。如果接受共享,則所述方法繼續(xù)進到塊540。如果拒絕共享,則方法結束。
在塊540中,處理邏輯將第二角色分配給第二用戶賬戶。在塊542中,處理邏輯確定共享是否為臨時的。如果共享是臨時的,則在塊545中,在過去一時間段之后,處理邏輯最終從第二用戶賬戶撤銷第二角色。如果共享不是臨時的,則方法結束。
在任何時間,第一用戶可以主動地從第二用戶賬戶撤銷第二角色。用戶可以導航到wan可訪問服務的共享窗口。共享窗口可以顯示已將對一個或多個資源的訪問與其共享的所有用戶賬戶。第一用戶可以選擇這些其它用戶賬戶中的任一者并且請求終止共享。響應于該命令,處理邏輯可以通過終止已經(jīng)共享的特權來更新其它用戶賬戶。
圖6是轉(zhuǎn)移聯(lián)網(wǎng)設備的所有權的示例方法600的流程圖。在方法600的塊605中,處理邏輯從第一用戶賬戶接收將聯(lián)網(wǎng)設備(例如有互聯(lián)網(wǎng)能力的設備)的所有權從第一用戶賬戶授權(轉(zhuǎn)移)給第二用戶賬戶的請求。在塊610中,處理邏輯確定第一用戶賬戶是否具有所有權授權特權。如果第一用戶賬戶具有用于設備的擁有者角色,則第一用戶賬戶可以具有所有權授權特權。如果第一用戶賬戶具有擁有者角色,則所述方法繼續(xù)進到塊615。否則,方法結束。
在塊615中,處理邏輯將確認請求發(fā)送給第一用戶賬戶和/或第二用戶賬戶。在塊620中,處理邏輯確定是否已經(jīng)接收到確認。如果對所有確認請求都給予了確認響應,則所述方法繼續(xù)進到塊625,并且設備的所有權在用戶賬戶之間進行轉(zhuǎn)移。該包括:從第一用戶賬戶撤銷對聯(lián)網(wǎng)設備的訪問,并且將對聯(lián)網(wǎng)設備的訪問添加到第二用戶賬戶。在一個實施方式中,設備的擁有者角色被添加到第二用戶賬戶并且從第一用戶賬戶撤銷。如果在塊620中未接收到一個或多個確認,則方法結束,不轉(zhuǎn)移聯(lián)網(wǎng)設備的所有權。
圖7是將聯(lián)網(wǎng)設備平臺中的角色偽裝為另一更低等級角色的示例方法700的流程圖。在塊705中,處理邏輯接收將角色偽裝為更低等級角色的請求。在塊710中,處理邏輯確定角色是否具有偽裝特權。如果是,則方法繼續(xù)進到塊715。否則,方法結束。
在塊715中,處理邏輯將用戶賬戶的角色臨時轉(zhuǎn)換為具有更少特權的更低等級角色。在一個實施方式中,在會話的持續(xù)時間內(nèi),用戶賬戶具有更低等級角色。為了回歸到初始角色,用戶可以終止會話然后返回登錄,以建立新會話??商孢x地,偽裝可以與時間期限關聯(lián)。在該實施方式中,用戶賬戶的角色可以在時間期限過去之后回歸到初始角色。
通過將角色偽裝為更低等級角色,用戶可以從更低等級角色來測試場景。因此,將角色偽裝為更低等級角色可用于故障(bug)檢查、糾錯、故障定位以及對消費者提供技術輔助??商孢x地,用戶可以具有與相同資源或資源集合關聯(lián)的多個不同角色。用戶可以基于用戶在給定時間所需的訪問等級而在這些角色之間進行切換。
圖8是具有遠程可訪問嵌入式系統(tǒng)815的示例設備805的框圖。設備可以包括任何前述類型的、具有嵌入式系統(tǒng)的設備,并且在一個實施方式中對應于圖1的設備135a-135e。在一個實施方式中,設備805包括機械部件810、電氣部件812以及嵌入式系統(tǒng)815。電氣部件812和/或機械部件810可以包括傳感器、可編程邏輯控制器(plc)、開關、電機、閥、致動器等。
嵌入式系統(tǒng)815可以包括主機處理設備825、主機存儲器830和/或耦接到主機處理設備825的通信模塊850。嵌入式系統(tǒng)815可以還包括在此未示出的諸多其它部件。這些附加部件的示例可以包括發(fā)光二極管(led)、電源穩(wěn)壓器、保險器、端口、用戶接口、數(shù)模(d/a)轉(zhuǎn)換器、模數(shù)(a/d)轉(zhuǎn)換器、現(xiàn)場可編程門陣列(fpga)、專用集成電路(asic)等。
在一個實施方式中,主機處理設備825可以是微控制器或數(shù)字信號處理器(dsp)。主機處理設備825可以可替選地或附加地包括可編程邏輯控制器(plc)、現(xiàn)場可編程門陣列(fpga)或復雜可編程邏輯設備(cpld)。主機處理設備825可以被配置為執(zhí)行與設備805的操作和控制有關的特定功能。
主機存儲器830可以包括隨機存取存儲器(ram)、只讀存儲器(rom)、一次可編程(otp)rom、閃存(例如,nor閃存)或其它類型的存儲器。主機存儲器830可以存儲用于通信模塊850的應用編程接口(api)835。api835可以使得主機處理設備825能夠向通信模塊850發(fā)送命令和/或數(shù)據(jù)并且從通信模塊850接收命令和/或數(shù)據(jù)。主機存儲器830可以還包括用于主機處理設備825的固件,其配置主機處理設備以執(zhí)行特征針對設備805的一個或多個操作。
在一些實施方式中,主機存儲器830可以集成到主機處理設備825中。例如,微控制器通常包括處理器內(nèi)核、存儲器以及可編程輸入/輸出外設。相應地,如果主機處理設備825是微控制器,則主機存儲器830可以是主機處理設備825的存儲器。
通信模塊850可以是被配置為與嵌入式系統(tǒng)815的主機處理設備825耦接的集成電路(ic)。通信模塊850可以連同api835一起由第三方提供給設備的制造商,并且可以使得網(wǎng)絡能力和遠程控制能力能夠易于添加到設備805中。通信模塊850可以包括其自身的處理設備855、存儲器865和/或網(wǎng)絡適配器860。處理設備855可以是微控制器、dsp、plc、微處理器或可編程邏輯設備(例如fpga或cpld)。存儲器可以包括非易失性存儲器(例如ram)和/或易失性存儲器(例如rom、閃存等)。在一個實施方式中,存儲器865集成到處理設備855中。
存儲器865可以存儲對可以對各個角色可訪問的設備805的一個或多個資源890(例如參數(shù)、屬性和數(shù)據(jù))進行標識的數(shù)據(jù)。存儲器865也可以存儲用于處理設備855的固件(例如包括用于遠程接口882的指令的固件)。
網(wǎng)絡適配器855可以是有線網(wǎng)絡適配器(例如以太網(wǎng)適配器)或無線網(wǎng)絡適配器(例如wi-fi適配器或其它無線局域網(wǎng)(wlan)適配器)。網(wǎng)絡適配器860也可以被配置為使用zigbee、plc、藍牙、6lowpan或其它通信協(xié)議來提供對網(wǎng)絡或其它設備的連接。網(wǎng)絡適配器860可以從wan可訪問服務和/或遠程控制應用接收通知和/或其它消息。網(wǎng)絡適配器860可以將往外發(fā)送的消息另外發(fā)送給wan可訪問服務和/或遠程控制應用。
對于會話建立,遠程接口882可以生成用于與遠程控制接口的新會話的會話密鑰。在一個實施方式中,遠程接口882可以從遠程控制應用接收令牌。遠程接口880可以基于令牌確定遠程控制應用具有針對哪些資源890的特權。在一個實施方式中,令牌包括關于一個或多個角色和/或資源許可的標識??商孢x地,遠程接口882可以查詢wan可訪問服務,以確定對于遠程控制應用具有什么特權可用。遠程接口882可以將令牌發(fā)送給wan可訪問服務,并且接收關于資源許可的指示。一旦遠程接口882已經(jīng)確定遠程控制應用的資源訪問特權,遠程接口882就可以向遠程控制應用提供信息,和/或根據(jù)訪問特權從遠程控制應用接收執(zhí)行命令。
圖9示出具有計算設備900這一示例形式的機器(其內(nèi)可以執(zhí)行用于使得機器執(zhí)行在此所討論的方法中的任何一種或多種的指令集)的圖示。在可替選實施方式中,機器可以連接(例如聯(lián)網(wǎng))到局域網(wǎng)(lan)、內(nèi)部網(wǎng)、外部網(wǎng)或互聯(lián)網(wǎng)中的其它機器。機器可以在客戶機-服務器網(wǎng)絡環(huán)境中以服務器或客戶機機器的身份操作或在點對點(或分布式)網(wǎng)絡環(huán)境中作為配對機器操作。機器可以是個人計算機(pc)、平板計算機、機頂盒(stb)、個人數(shù)字助理(pda)、蜂窩電話、web電器、服務器、網(wǎng)絡路由器、交換機或橋接器、或能夠執(zhí)行指令集(順序的或其它方式,其指定待由該機器采取的動作)的任何機器。此外,雖然僅示出單個機器,但術語“機器”還應包括單獨地或聯(lián)合地執(zhí)行用于執(zhí)行在此所討論的方法中的任何一種或多種的指令集的任何機器(例如計算機)集合。
示例計算設備900包括處理設備902、主存儲器904(例如,只讀存儲器(rom)、閃存、動態(tài)隨機存取存儲器(dram)(例如同步dram(sdram)或rambusdram(rdram)等))、靜態(tài)存儲器906(例如閃存、靜態(tài)隨機存取存儲器(sram)等)以及副存儲器(例如數(shù)據(jù)存儲設備918),其經(jīng)由總線930彼此進行通信。
處理設備902表示一個或多個通用處理器(例如微處理器、中央處理單元等)。更具體地說,處理設備902可以是復雜指令集計算(cisc)微處理器、精簡指令集計算(risc)微處理器、超長指令字(vliw)微處理器、執(zhí)行其它指令集的處理器或執(zhí)行指令集的組合的處理器。處理設備902也可以是一個或多個專用處理設備(例如專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、數(shù)字信號處理器(dsp)、網(wǎng)絡處理器等)。處理設備902被配置為執(zhí)行用于執(zhí)行在此所討論的操作和步驟的處理邏輯(指令922)。
計算設備900還可以包括網(wǎng)絡接口設備908。計算設備900也可以包括視頻顯示單元910(例如液晶顯示器(lcd)或陰極射線管(crt))、字母數(shù)字輸入設備912(例如鍵盤)、光標控制設備914(例如鼠標)以及信號生成設備916(例如揚聲器)。
數(shù)據(jù)存儲設備918可以包括其中存儲有實施本文所述方法或功能中的任何一種或多種的一個或多個指令集922的機器可讀存儲介質(zhì)(或更具體地說是計算機可讀存儲介質(zhì))928。指令922也可以在其由計算機系統(tǒng)900、主存儲器904和也構成計算機可讀存儲介質(zhì)的處理設備902執(zhí)行期間完全地或至少部分地駐留在主存儲器904內(nèi)和/或處理設備902內(nèi)。
計算機可讀存儲介質(zhì)928也可以用于存儲訪問控制管理器990(如參考圖2a所述)和/或包含調(diào)用訪問控制管理器990的方法的軟件庫。雖然計算機可讀存儲介質(zhì)928在示例實施方式中被示為單個介質(zhì),但術語“計算機可讀存儲介質(zhì)”應看作包括存儲一個或多個指令集的單個介質(zhì)或多個介質(zhì)(例如集中式和分布式數(shù)據(jù)庫、和/或關聯(lián)緩存和服務器)。術語“計算機可讀存儲介質(zhì)”也應看作包括能夠?qū)τ糜谟蓹C器執(zhí)行的指令集進行存儲或編碼并且使得機器執(zhí)行在此所描述的方法中的任何一種或多種的任何介質(zhì)。術語“計算機可讀存儲介質(zhì)”相應地應看作包括但不限于固態(tài)存儲器以及光學介質(zhì)和磁性介質(zhì)。
在此(例如結合圖1-圖2a)所描述的模塊、部件和其它特征可以實現(xiàn)為分立式硬件部件或集成在硬件部件(例如asics、fpga、dsp或相似設備)的功能性中。此外,模塊可以實施為硬件設備內(nèi)的固件或功能電路。此外,模塊可以以硬件設備和軟件部件的任何組合或僅以軟件實施。
以上已經(jīng)關于對計算機存儲器內(nèi)的數(shù)據(jù)比特進行的操作的算法和符號表示而提出了詳細描述的一些部分。這些算法描述和表示是由數(shù)據(jù)處理領域技術人員用于最高效地將他們的工作的實質(zhì)性傳達給其它本領域技術人員的手段。在這里以及通常而言,算法被構想為帶來期望結果的自洽步驟序列。所述步驟是需要對物理量進行物理操控的步驟。雖然并非必要,但通常這些量具有能夠被存儲、傳送、組合、比較以及其它方式操控的電信號或磁信號的形式。已經(jīng)證明:有時(主要出于普通使用的原因)將這些信號作為比特、值、元素、符號、字符、術語、數(shù)字等提及是方便的。
然而,應理解,所有這些術語和相似的術語是與適當?shù)奈锢砹筷P聯(lián)的,并且僅是應用于這些量的方便的標記。除非另外具體地聲明,從以下討論可看出:應理解,在整個說明書中,使用例如“接收”、“鑒權”、“確定”、“提供”、“批準”等術語進行的討論是指計算機系統(tǒng)或相似電子計算設備的動作和處理,其對表示為計算機系統(tǒng)的寄存器和存儲器內(nèi)的物理(電子)量的數(shù)據(jù)進行操控并且將其變換為相似地表示為計算機系統(tǒng)存儲器或寄存器或其它這樣的信息存儲設備、傳輸設備或顯示設備內(nèi)的物理量的其它數(shù)據(jù)。
本發(fā)明實施方式還涉及一種用于執(zhí)行本文中的操作的裝置。該裝置可以被特定構造用于所討論的目的,或其可以包括通過計算機系統(tǒng)中所存儲的計算機程序選擇性編程的通用計算機系統(tǒng)。該計算機程序可以存儲在計算機可讀存儲介質(zhì)(例如但不限于任何類型的盤(包括軟盤、光盤、cd-rom和磁光盤)、只讀存儲器(rom)、隨機存取存儲器(ram)、eprom、eeprom、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存設備、其它類型的機器可存取存儲介質(zhì)或均耦接到計算機系統(tǒng)總線的適合于存儲電子指令的任何類型的介質(zhì))中。
應理解,以上描述意在說明性而非限制性的。在閱讀并且理解以上描述時,很多其它實施方式對于本領域技術人員將是顯然的。雖然已經(jīng)參考特定示例實施方式描述了本發(fā)明,但應理解,本發(fā)明不限于所描述的實施方式,而是可以在所附權利要求的精神和范圍內(nèi)通過修改和改動而得以實踐。相應地,說明書和附圖看作是說明性意義而不是限制性意義。因此,應參考附圖連同這些權利要求所賦予的等同方案的完全范圍一起來確定本發(fā)明的范圍。