TW201633762A - 硬體資源存取系統及技術 - Google Patents

硬體資源存取系統及技術 Download PDF

Info

Publication number
TW201633762A
TW201633762A TW104127513A TW104127513A TW201633762A TW 201633762 A TW201633762 A TW 201633762A TW 104127513 A TW104127513 A TW 104127513A TW 104127513 A TW104127513 A TW 104127513A TW 201633762 A TW201633762 A TW 201633762A
Authority
TW
Taiwan
Prior art keywords
application
computing device
pairing
request
token
Prior art date
Application number
TW104127513A
Other languages
English (en)
Other versions
TWI617166B (zh
Inventor
約瑟 歐希茲
雷卡多 莫林
凡迪姆 高爾
蘇曼 夏瑪
納拉希漢 卡迪拉朱
Original Assignee
英特爾股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾股份有限公司 filed Critical 英特爾股份有限公司
Publication of TW201633762A publication Critical patent/TW201633762A/zh
Application granted granted Critical
Publication of TWI617166B publication Critical patent/TWI617166B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Telephonic Communication Services (AREA)

Abstract

於此揭示硬體資源存取的系統及技術。在某些實施例中,設備經由無狀態協定訊息而接收來自應用的請求,以與遠離設備的計算裝置的硬體資源配對。設備經由無狀態協定訊息而提供應用及硬體資源的識別符給計算裝置,以及,經由無狀態協定訊息而接收來自計算裝置的配對核准。為回應收到配對核准,設備會產生配對符記,該配對符記可由應用使用以使應用與硬體資源配對。揭示及/或主張其它實施例。

Description

硬體資源存取系統及技術
本揭示的實施例大致上關於計算裝置領域,且特別是關於硬體資源存取。
很多計算裝置包含例如感測器及記憶體裝置等支援計算裝置的作業之硬體資源。對這些硬體資源的存取傳統上是由專屬協定控制或是人工地配置作為企業裝置組的部份。
100‧‧‧資源存取管理系統
102‧‧‧遠端計算裝置
104‧‧‧計算裝置
106‧‧‧計算裝置
116‧‧‧反射器
120‧‧‧交通伺服器
128‧‧‧能力代理
202‧‧‧配對請求接收邏輯
204‧‧‧中介邏輯
206‧‧‧符記產生邏輯
302‧‧‧配對請求評估邏輯
304‧‧‧符記評估邏輯
306‧‧‧資源管理邏輯
1100‧‧‧計算裝置
從配合附圖的下述詳細說明,將容易瞭解實施例。為了便於說明,類似的代號代表類似的結構元件。在圖式的圖中,以舉例方式而非限定方式,顯示實施例。
圖1是根據各式各樣的實施例之資源存取管理系統的方塊圖。
圖2是根據各式各樣的實施例之包含於圖1的資源存取管理系統中的反射器的方塊圖。
圖3是根據各式各樣的實施例之包含於圖1的資源存取管理系統中的能力代理的方塊圖。
圖4是根據各式各樣的實施例之用於調節硬體資源配對的處理之流程圖。
圖5是根據各式各樣的實施例之用於調節硬體資源存取的處理之流程圖。
圖6及7是根據各式各樣的實施例之用於調節應用與硬體資源之間的配對之圖1的資源存取管理系統的組件之間各種訊號的交換之訊號流動圖。
圖8是根據各式各樣的實施例之用於交換硬體資源元資料之圖1的資源存取管理系統的組件之間各種訊號的交換之訊號流動圖。
圖9-10是根據各式各樣的實施例之用於調節應用對硬體資源的存取之圖1的資源存取管理系統的組件之間各種訊號的交換之訊號流動圖。
圖11是可用以實施此處所述的各式各樣實施例之舉例說明的計算裝置的方塊圖。
【發明內容及實施方式】
此處揭示用於硬體資源存取的系統及技術。在某些實施例中,設備經由無狀態協定訊息(例如表示狀態傳輸(REST)呼叫),而從應用接收要與遠離設備的計算裝置之硬體資源配對的請求。裝置經由無狀態協定訊息而提供應用及硬體資源的識別符給計算裝置,以及,經由無狀 態協定訊息而從計算裝置接收配對核可。為了回應接收配對核可,設備會產生配對符記,配對符記可由應用使用以將應用與硬體資源配對。如此處所使用般,「配對」意指應用被授權存取硬體資源之處理,以及,與應用存取硬體資源的動作是分開的。
在某些實施例中,設備經由無狀態協定訊息,而從計算裝置接收請求資料。請求可以辨識設備的硬體資源與提出與硬體資源配對的配對請求之應用。為回應請求資料的接收,設備經由無狀態協定訊息而提供配對請求的核可或拒絕給計算裝置。設備也經由無狀態協定訊息而從要存取硬體資源的應用接收存取請求。存取請求包含配對符記,配對符記是由計算裝置產生及提供給應用,以回應計算裝置接收到配對請求的核可。設備可使符記有效或無效,以及,為回應符記的有效,從供應給應用之硬體資源提供資料(舉例而言,經由無狀態協定訊息,例如REST呼叫)。
此處所述的實施例在雲端環境中找到特別有利的應用,例如硬體被提供作為服務的雲端環境。如上述所建議般,此處揭示的很多實施例可以在通訊期間使用REST協定。在REST協定中,使用均勻資源識別符,將資源(例如硬體資源)定址,以及例如GET、POST、PUT、及DELETE等標準命令可用以與這些資源互動。這可以提供一致的介面,藉由一致的介面,很多不同種類的應用可以存取很多不同種類的資源。REST協定被稱為「無狀態」 協定,在此情形中,處理REST呼叫所需的所有資訊可以包含在REST呼叫中。如同此處所使用般,「無狀態協定訊息」一詞意指根據無狀態通訊協定格式化的訊息,以致於用於接收裝置處理無狀態協定訊息所需的所有資訊包含在無狀態協定訊息中。習於此技藝者將瞭解,此處僅為了說明而討論REST,可以使用HTTP、XML或其它傳輸或標記語言的其它無狀態協定訊息,以實施揭示的實施例。當適當時,也可以適當地修改狀態協定(例如SOAP)以用於此處揭示的實施例中。
以一致的介面用於管理硬體資源的存取使得開發者能夠以先前無法達成的方式提供此存取。舉例而言,很多習知的裝置利用軟體環境或堆疊(例如,專屬作業系統),於其中應用(本地及/或遠端)無法存取某些特定硬體資源。在某些實施例中,此存取限制是由軟體堆疊的開發者強加的,開發者可能是單純地未開發此存取可以發生之任何適當的路徑。舉例而言,某些二合一系統具有可以判斷系統是否處於平板模式或是桌上型模式之感測器。但是,由感測器產生的資料無法供標準作業系統中的應用利用,所以,應用無法根據目前模式而改變使用者經驗。在另一實例中,使用者可能具有未包含全球定位系統(GPS)接收器的膝上型電腦,但是,使用者可能具有設有此接收器的智慧型手機。傳統上,使用者無法從他的膝上型電腦存取他的智慧型手機中的GPS接收器。
此處揭示的各式各樣的實施例可以使用幾乎總是存在 於計算環境中的標準網路通道,以存取這些資源。在特別實施例中,硬體資源可以曝露作為REST服務或是另一無狀態通訊協定的服務。假使通至硬體資源的本地路徑可供利用,則可以本地的作REST呼叫或其它無狀態協定訊息。假使為否,則遠端組件(例如下述參考圖1所述的遠端計算裝置102)會安排請求至正確的位置(本地的或是在另一計算裝置上),以及在多裝置通訊的情形中,也配置成設立裝對對裝置通訊。
此處揭示的各式各樣的實施例使得應用能夠存取有用的硬體功能,以及,使得開發者更容易允許及利用此存取。此外,不同於現有之高度專屬的系統,此處揭示的實施例提供共同協定,很多不同型式的應用藉由共同協定而可以存取很多不同型式的硬體資源。
在下述詳細說明中,參考形成其一部份的附圖,在附圖中,類似代號代表類似構件,以及以圖示方式顯示可實施的實施例。須瞭解,可以使用其它實施例,以及,在不悖離本揭示的範圍之下,可以作出結構或邏輯的變化。
以最有助於瞭解揭示的標的之方式,將各式各樣的操作依序說明成多個離散的動作或是操作。但是,說明的次序不應被解釋為意指這些操作一定是次序相依的。特別地,這些操作可以不用依呈現的次序執行。可以以不同於說明的實施例中的次序,執行所述的操作。可以執行各式各樣增加的操作及/或說明的操作可以在增加的實施例中省略。
基於本揭示的目的,「A及/或B」文句意指(A)、(B)、或(A及B)。基於本揭示的目的,「A、B及/或C」之文句意指(A)、(B)、(C)、(A及B)、(A及C)、(B及C)、或(A、B及C)。說明可以使用「在實施例中(in an embodiment)」、或是「在某些實施例中(in embodiments)」等詞句,它們都是意指一或更多相同或不同的實施例。此外,與本揭示的實施例相關地使用之「包括(comprising)」、「包含(including)」、「具有(having)」等詞是同義的。
如同此處所使用般,「邏輯」一詞意指包含執行一或更多軟體或韌體程式、結合的邏輯電路、及/或其它提供所述功能之適當的硬體組件之特定應用積體電路(ASIC)、電子電路、提供一或更多軟體或韌體程式之處理器(共用的、專用的、或群組)及記憶體(共用的、專用的、或群組)、或是它們的部份。此處揭示的任何邏輯及計算裝置可以包含或是存取儲存裝置以儲存任何用以提供所述功能之適當的資料或指令。
圖1是根據各式各樣的實施例之資源存取管理系統100之方塊圖。資源存取管理系統100包含計算裝置104、計算裝置106、及遠端計算裝置102。遠端計算裝置102可以遠離計算裝置104及計算裝置106。雖然圖1僅顯示二計算裝置104和106彼此通訊及與遠端計算裝置102通訊,但是,資源存取管理系統100可以包含任何數目的計算裝置,與此處說明的計算裝置104和106類似地 配置,在任何組合中彼此通訊且與遠端計算裝置102通訊。
於下參考計算裝置104的應用會存取計算裝置106的硬體資源之情形、以及計算裝置104的應用存取計算裝置104的硬體資源之情形等舉例說明的使用情形,說明資源存取管理系統100的操作。如同此處使用般,當應用控制硬體資源的操作時或是當應用接收硬體資源產生的資料時,應用被說明成「存取」硬體資源。但是,這僅是為了容易說明,根據此處揭示的任何技術(例如當由計算裝置104執行時所討論的技術),計算裝置106可以存取其它計算裝置(例如計算裝置104)的硬體資源。此外,下述說明著重於計算裝置104的各種組件,但是,計算裝置106的類似組件可以類似地配置。
計算裝置104包含硬體132。硬體132包含任何計算裝置硬體,例如下述參考圖11所述的任何硬體。硬體132包含硬體資源134,在計算裝置104上(或是在例如計算裝置106等其它計算裝置上)執行的應用會請求存取硬體資源134。此硬體資源134的實例包含感測器、用於將媒體檔案從一格式轉換至另一格式的轉碼裝置、成像裝置(例如3D相機)、音訊記錄裝置、定位裝置(例如全球定位系統(GPS)接收器)、顯示裝置、機器人裝置、一次密碼能力(例如根據加州聖塔克拉拉(Santa Clara)之英特爾公司的識別保護技術)、感知計算能力(根據例如根據加州聖塔克拉拉(Santa Clara)之英特爾公司的 REALSENSETM),但是,這些僅是舉例說明,根據此處揭示的實施例,可以管理任何適當的硬體資源之存取。此外,雖然此處以單數形式說明硬體資源134,但是,這僅是為了便於說明,計算裝置104可以包含二個以上被准予存取的硬體資源。硬體142可以是根據硬體132的任何實施例。
計算裝置104的硬體132支援作業系統(OS)126、應用122、及網路應用程式介面(API)130的作業。OS 126可為任何適當的OS,例如UNIX基礎的OS、行動裝置OS、膝上型電腦或平板電腦OS、桌上型電腦OS、或是伺服器OS。應用122可以在計算裝置104上執行(例如,使用包含在硬體132中的處理器)。在某些實施例中,應用122可以在OS 126內執行,而在其它實施例中,應用122可以在OS 126之外執行。網路API 130作為OS 126與硬體132之間的介面,及/或作為應用122與硬體132之間的介面。網路API 130也有助於經由遠端計算裝置102而在計算裝置104與計算裝置106之間通訊(例如,如下所述,經由交通伺服器120)。網路API 150可以根據網路API 130的任何實施例,以及,OS 136可以根據OS 126的任何實施例。
在某些實施例中,應用122包含或具有軟體發展工具箱(SDK)124的存取。SDK 124可為具有預定指令的套裝軟體,其使得開發者更容易將應用122程式化以使資源存取管理系統100的能力。在某些實施例中,SDK 124可 以支援多種程式語言。SDK 124特定用於一或更多特別的硬體資源(例如GPS裝置或相機)以及有助於開發者配置應用122以使用此處揭示的技術來存取這些種類的硬體資源。舉例而言,假使開發者希望將應用122配置成存取GPS接收器,則SDK 124會提供與特定的GPS接收器能力(例如緯度、經度、及準確度格式)有關的特定語法,開發者可以使用此特定語法以更快速地存取及使用來自GPS接收器的資料。在某些實施例中,SDK 124包含預定指令,開發者可用以使應用122能夠偵測應用122與所需硬體資源之「最佳的」路徑(舉例而言,決定本地或遠端路徑是最有效率的)。SDK 148可以根據SDK 124的任何實施例。
硬體132也支援能力代理128的操作。在某些實施例中,能力代理128可以與計算裝置104中的OS 126分隔或是隔離的。舉例而言,能力代理128可以嵌入於硬體132中及與OS 126隔離。根據此處揭示的實施例,能力代理128可以與網路API 130及硬體資源134相耦合,以及,輔助調節硬體資源134的存取及/或其它計算裝置的硬體資源的存取(例如計算裝置106的硬體資源144)。舉例而言,能力代理128可以配置成接收(例如經由無狀態協定訊息,例如REST呼叫)請求資料,請求資料可識別特定硬體資源134與請求與特定硬體資源134配對之應用(例如應用122或是應用146)。為了回應請求資料的接收,能力代理128可以配置成提供(舉例而言,經由例 如REST呼叫等無狀態協定訊息)配對請求核准或配對請求拒絕。在另一實例中,能力代理128可以配置成接收(舉例而言,經由例如REST呼叫等無狀態協定訊息)來自應用(例如應用122或是應用146)的存取特定硬體資源134的請求,以及評估設有存取請求的配對符記。假使能力代理128使配對符記有效,則能力代理128會被配置成提供(舉例而言,經由例如REST呼叫等無狀態協定訊息)用於供應給應用之來自硬體資源134的資料(藉以准予存取硬體資源)。
如下更詳細說明般,能力代理128配置成以多種方式中的任何方式使配對符記有效。舉例而言,在請求存取硬體資源134的應用對於計算裝置104而言是本地時之實施例中,能力代理128可以配置成假使應用的IP位址符合計算裝置104的IP位址時,則使配對符記有效(否則,使配對符記無效)。在某些實施例中,反射器116可以提供此IP位址資訊給能力代理128。在某些實施例中,能力代理128可以配置成假使配對符記包含用於計算裝置104的正確識別符時,則使配對符記有效(否則,使配對符記無效)。於下參考圖3,說明能力代理128的各式各樣實施例。
當計算裝置104的應用122希望存取計算裝置104的硬體資源134時,經由能力代理128而執行該存取的管理。應用122可以以多種方式中的任何方式而與能力代理128通訊。在某些實施例中,應用122可以與網路API 130通訊,網路API 130接著經由裝置對裝置路徑而與能力代理128通訊。可以使用之裝置對裝置路徑的一實例是網站即時通訊(WebRTC)路徑。在某些實施例中,應用122可以與網路API 130通訊,網路API 130接著與遠端計算裝置102的反射器116通訊(如同所示,例如經由API管理閘道114)。於下參考圖2,說明反射器116的各式各樣的實施例。在網路API 130與API管理閘道114之間的通訊可經由例如REST路徑等雲端路徑或雲端裝置對裝置路徑而發生。反射器116接著與能力代理138通訊(例如經由交通伺服器120)。在交通伺服器120與能力代理138之間的通訊經由例如可擴充發訊及呈現協定(XMPP)路徑等雲端路徑或雲端裝置對裝置路徑而發生。
當計算裝置104的應用122希望存取計算裝置106的硬體資源144時,經由能力代理138,執行區域存取管理。在某些實施例中,應用122經由網路API 130而與能力代理138通訊,網路API 130接著經由本地路徑而與能力代理138通訊。一旦能力代理138從應用122收到與存取有關的資料時,能力代理138會與反射器116通訊以管理特定硬體資源144的存取。在某些實施例中,能力代理138經由網路API 130及API管理閘道114而與反射器116通訊。此通訊可經由例如REST路徑等雲端路徑或雲端裝置對裝置路徑而發生。在某些實施例中,能力代理128可以經由交通伺服器120而與反射器116通訊。此通 訊可經由例如XMPP路徑等雲端路徑而發生。
在某些實施例中,能力代理128可存取硬體資源134及使硬體資源134曝露作為REST式服務或是另一無狀態協定訊息的服務。能力代理128可以實體化成為傳統的計算裝置中的邏輯(例如可由處理器存取的記憶體中的儲存指令或是以嵌入的專用硬體實施)。如下將更詳細說明般,能力代理128可以維持與遠端計算裝置102(例如反射器116)的連接以及使用此連接以服務來自無法直接通達(例如導因於防火牆議題、網路位址轉譯(NAT)議題、代理議題、等等)能力代理128的應用之請求。
能力代理128可以在計算裝置104內任何適當的層級實施。舉例而言,在某些實施例中,能力代理128可以包含在計算裝置104的核心應用中(因而具有存取硬體資源的特權)。在某些實施例中,能力代理128可以包含在具有程式化處理器的網路介面卡中,網路介面卡監視所有由計算裝置104接收及傳送的分封。在此實施例中,能力代理128可以配置成根據此處揭示的技術而安排分封的路由。在某些實施例中,能力代理128可以包含在計算裝置104的管理力引擎中。管理力引擎包含計算裝置104上運算的處理器,所述處理器比主處理器具有更多硬體存取特權以及可以管理鍵盤、各種硬體驅動器、電源、及其它必要的硬體功能。
如上所述,遠端計算裝置102包含反射器116。反射器116可以實施成一或更多計算裝置,以及配置成輔助配 對管理及存取資源存取管理系統100中的硬體資源。舉例而言,反射器116可以配置成從應用(例如應用122或是應用146)接收(舉例而言,經由例如REST呼叫等無狀態協定訊息)要與遠離反射器116的計算裝置的硬體資源(例如分別是計算裝置104和106之硬體資源134及144之硬體資源)配對之請求。反射器116可以提供應用及硬體資源的識別符給計算裝置(舉例而言,經由例如REST呼叫等無狀態協定訊息),以及,從計算裝置接收(舉例而言,經由例如REST呼叫等無狀態協定訊息)配對核准。為回應接收配對核准,反射器116會產生可由要與硬體資源配對的應用使用的配對符記。
反射器116可以配置成產生不同型式的符記,以用於不同的應用。舉例而言,反射器116配置成產生暫時符記以提供給應用(例如應用122或是應用146),來回應收到來自該應用的配對請求。暫時符記可由應用提供(舉例而言,經由例如REST呼叫等無狀態協定訊息)給與希望配對的硬體資源有關的計算裝置。為回應收到暫時符記,計算裝置發送包含暫時符記的請求給反射器116(舉例而言,經由例如REST呼叫等無狀態協定訊息),以用於上述的請求資料。在某些實施例中,反射器116配置成要求應用提供暫時符記給反射器116(舉例而言,經由例如REST呼叫等無狀態協定訊息)、以及要求在提供配對符記給應用之前收到配對核准。反射器116也配置提供其它適當的資訊給資源存取管理系統100的各種組件。舉例而 言,在某些實施例中,反射器116可以配置成提供計算裝置的IP位址給計算裝置(舉例而言,經由例如REST呼叫等無狀態協定訊息)。
如上所述,及如下述更詳細說明般,在某些實施例中,反射器116可以配對成安排配對及存取請求從應用至能力代理的路由。當應用及硬體資源駐於相同的計算裝置上時及/或當應用及硬體資源駐於不同的計算裝置上時,反射器116可以配置成如此執行。在某些實施例中,無論何時應用與管理硬體資源的能力代理之間的直接路徑無法利用時,反射器116都可以提供此路由功能。在某些實施例中,反射器116提供發出請求的計算裝置上無法取得的硬體能力。舉例而言,當此功能在另一計算裝置上為無法取得時,反射器116會產生一次性密碼,以及,在某些實施例中,模擬硬體式一次性密碼產生技術。於下參考圖2,說明反射器116的各式各樣實施例。
如上所述,遠端計算裝置102包含交通伺服器120。交通伺服器120可以配置成安排資源存取管理系統100的不同組件之間訊號的路由。在某些實施例中,交通伺服器120可以是XMPP伺服器,以及,可以提供擴充標記語言(XML)式協定用於訊息傳遞。在某些實施例中,交通伺服器120可以支援任何適當的交通運輸機構,例如佇列、網插座(提供傳輸控制協定(TCP)連接上的全雙工通訊)、以及WebRTC、等等。
如上所述,遠端計算裝置102包含API管理閘道 114。API管理閘道114可以用以管理資源存取管理系統100中的API。API管理閘道114可以採取傳統的API管理閘道,因此,此處不進一步詳述。
遠端計算裝置102包含多個增加的組件以支援資源存取管理系統100的操作。舉例而言,在某些實施例中,遠端計算裝置102包含開發者入口108。開發者入口108可以實施成一或更多計算裝置,以及,可以與API管理閘道114耦合。開發者入口108可以配置成提供API鑰給應用開發者用於隨應用使用。API鑰可以分辨應用,以及可由資源存取管理系統100(例如由反射器116)的不同組件使用,以當應用提供配對請求時用以識別應用(並因而可被用以確認應用的身份)。在某些實施例中,API鑰可用以分辨應用,以用於要求應用開發者為使用資源存取管理系統100而付款(例如,藉由計數發給與API鑰相關連的應用之符記數目)。
在某些實施例中,遠端計算裝置102包含裝置分析器110。裝置分析器110可以實施成一或更多計算裝置,以及,可以耦合至反射器116。裝置分析器配置成允許被授權的實體(舉例而言,如參考圖6和7之下述所述之擁有者)以管理被授權的實體負責之一或更多計算裝置的存取。舉例而言,負責特定計算裝置的實體可以存取裝置分析器110,以核可經過選取之資源存取管理系統100的使用者存取計算裝置的各式各樣硬體資源。在某些實施例中,被授權的實體可以將設定儲存在裝置分析器110中, 以致於當被授權的實體先前人工地核准特定使用者存取特定硬體資源時,裝置分析器110配置成自動地允許特定使用者存取特定硬體資源。可以使用登入名稱、密碼、或任何其它適當的機制,授予被授權的實體憑證。裝置分析器110也配置成管理存取許可的撤銷,以及,將所有硬體資源的清單儲存至資源存取管理系統100中可利用的各種計算裝置。
因此,在某些實施例中,裝置分析器110可以提供中央儲存庫以用於硬體資源的登錄以及儲存這些資源的存取許可。如上所述,可以以多種方式中的任何方式,使用裝置分析器110。舉例而言,計算裝置的擁有者登入至裝置分析器110並許可朋友的智慧型手機存取儲存裝置或是計算裝置的其它硬體資源。
在某些實施例中,遠端計算裝置102包含身份仲介器112。身份仲介器112可以實施成一或更多計算裝置,以及,可以與反射器116耦合及與第三方身份平台(未顯示)耦合。身份仲介器112可以配置成管理使用者憑證以及執行其它驗證功能,以調控不同使用者對資源存取管理系統100的使用。舉例而言,在某些實施例中,身份仲介器112允許使用者使用來自另一網路服務使用的登入資訊(例如,社群媒體登入資訊、電子郵件登入資訊、等等)以登入至裝置分析器110。在某些實施例中,裝置分析器110及身份仲介器112可以聯合地維持不同的計算裝置與它們的擁有者之間的關係,以及,管理許可的授權及撤 銷。
圖2是根據各式各樣的實施例之包含於圖1的資源存取管理系統100的遠端計算裝置102中的反射器116的方塊圖。
反射器116包含配對請求接收邏輯202。配對請求接收邏輯202配置成從應用(例如應用122或是應用146)接收配對請求。配對請求會指明應用請求配對的特定硬體資源(例如硬體資源134或硬體資源144)。配對請求藉由包含該硬體資源的識別符(例如,根據已知綱目而產生的一致資源名稱識別符、或是專屬識別符)可指明一特定硬體資源。配對請求的標的之硬體資源是遠離反射器116(例如當硬體資源是硬體資源134或是硬體資源144時)。配對請求包含任何其它適當的資訊,用於幫助反射器116及/或與被請求的硬體資源相關連的計算裝置(例如,計算裝置的能力代理)決定是否核准配對請求。在某些實施例中,配對請求也包含提供配對請求之應用的識別符、或是可由配對請求接收邏輯202用以辨識應用之資訊。在某些實施例中,可以經由例如REST呼叫等無狀態協定訊息,從應用提供配對請求給配對請求接收邏輯202。
反射器116包含中介邏輯204。中介邏輯204耦合至配對請求接收邏輯202,以及,配置成提供請求資料給與被請求的硬體資源相關連的計算裝置(例如提供給計算裝置的能力代理)。請求資料包含硬體資源的識別符以及應 用的識別符。如此處使用般,「硬體資源的識別符」指明特定的硬體資源(例如感測器)或是具有多種能力的硬體資源的特定能力(例如延著多軸加速儀產生的第一軸之加速度測量)。請求資料包含任何其它適當的資訊,用於幫助相關的計算裝置(例如計算裝置的能力代理)決定是否核准配對請求。舉例而言,在某些實施例中,請求資料包含應用的IP位址。在某些實施例中,中介邏輯204配置成提供相關的計算裝置的IP位址給計算裝置(例如,與請求資料相伴隨或分開)。在某些實施例中,請求資料可以經由例如REST呼叫等無狀態協定訊息而提供給相關的計算裝置。
中介邏輯204也配置成從相關的計算裝置(例如,來自計算裝置的能力代理)接收配對核可或是配對拒絕。配對核可或配對拒絕可是由相關的計算裝置(例如藉由計算裝置的能力代理)根據中介邏輯204提供給相關計算裝置之請求資料中的至少某些資料所產生的。在某些實施例中,配對核可或配對拒絕可以經由例如REST呼叫等無狀態協定訊息而提供給中介邏輯204。
反射器116包含符記產生邏輯206。符記產生邏輯206可以與中介邏輯204耦合,以及配置成產生用於提供給應用的配對符記以回應自相關的計算裝置(例如來自計算裝置的能力代理)收到配對核可。如下述更詳細說明般,應用可以接收配對符記以及提供配對符記給相關計算裝置(例如給計算裝置的能力代理)以與硬體資源配對。 在某些實施例中,配對符記可以經由例如REST呼叫等無狀態協定訊息而提供給應用。在某些實施例中,應用可以經由例如REST呼叫等無狀態協定訊息而提供配對符記給相關的計算裝置。
在某些實施例中,符記產生邏輯206可以配置成產生配對符記以外的符記。舉例而言,符記產生邏輯206耦合至配對請求邏輯202,以及配置成產生暫時符記用以提供給應用,以回應從應用收到配對請求。如下述更詳細說明般,應用會接收暫時符記以及提供暫時符記給相關連的計算裝置(例如給計算裝置的能力代理),以觸發為了請求資料而從相關連的計算裝置至中介邏輯204的請求。在某些實施例中,為了請求資料而從相關連的計算裝置至中介邏輯204的請求包含由應用提供給相關連的計算算裝置之暫時符記。在某些實施例中,符記產生邏輯216可以配置成經由例如REST呼叫等無狀態協定訊息而提供暫時符記給應用。在某些實施例中,應用經由例如例如REST呼叫等無狀態協定訊息而提供暫時符記給相關連的計算裝置。
在某些實施例中,符記產生邏輯206配置成除非反射器116收到來自應用的暫時符記以及中介邏輯收到來自相關連的計算裝置(例如來自計算裝置的能力代理)的配對核准,否則不產生配對符記。在某些實施例中,一旦滿足這些條件時,符記產生邏輯206提供配對符記給應用(舉例而言,經由例如例如REST呼叫等無狀態協定訊息)。在某些實施例中,應用經由例如例如REST呼叫等無狀態 協定訊息而提供暫時符記給反射器116(例如配對請求接收邏輯202)。
圖3是根據各式各樣的實施例之包含於圖1的資源存取管理系統100的計算裝置104中的能力代理128的方塊圖。如同參考圖1之上述所述般,雖然下述說明著重於當另一計算裝置希望存取硬體資源134時反射器116與能力代理128之間的通訊,但是,這僅是為了便於說明,類似的邏輯可以包含在能力代理138中(以及,包含在硬體資源由資源存取管理系統100管理之其它計算裝置中的能力代理)。
能力代理128包含配對請求評估邏輯302。配對請求評估邏輯302可以配置成從遠端計算裝置102的反射器116接收請求資料。如上參考反射器116的中介邏輯204所述般,請求資料包含計算裝置104的硬體資源134的識別符。請求資料也包含為了與硬體資源配對而向反射器116提出配對請求之應用(例如應用122或是應用146)的識別符。在某些實施例中,配對請求評估邏輯302經由例如REST呼叫等無狀態協定訊息而接收請求資料。
配對請求評估邏輯302也配置成提供配對請求的核准或拒絕給反射器116,以回應收到請求資料。在某些實施例中,配對請求評估邏輯302配對成經由例如REST呼叫等無狀態協定訊息而提供核准或拒絕給反射器116。
能力代理128包含符記評估邏輯304。符記評估邏輯304配置成從應用接收為了存取硬體資源134之存取請 求。存取請求包含配對符記,配對符記是由反射器116產生及提供應用,以回應反射器116收到配對請求的核准(由配對請求評估邏輯302提供)。在某些實施例中,符記評估邏輯304配置成經由例如REST呼叫等無狀態協定訊息而接收存取請求。
符記評估邏輯304也配置成使收到的配對符記有效或無效。舉例而言,在請求存取硬體資源134的應用對於計算裝置104是本地時之實施例中,符記評估邏輯304配置成使假使應用的IP位址符合計算裝置104的IP位址時,使配對符記有效(以及,假使為否,則使配對符記無效)。在某些實施例中,符記評估邏輯304配置成假使配對符記包含用於計算裝置104的正確識別符時,使配對符記有效(以及,假使為否,則使配對符記無效)。
能力代理128包含資源管理邏輯306。資源管理邏輯306與符記評估邏輯304耦合,以及配置成提供硬體資源134的存取給應用,以回應符記評估邏輯304對配對符記的有效。舉例而言,提供硬體資源134的存取包含提供硬體資源提供的資料給應用。在某些此類實施例中,資源管理邏輯306配置成經由例如REST呼叫等無狀態協定訊息而將資料從硬體資源134提供給應用。
在某些實施例中,能力代理128具有可插入架構。舉例而言,能力代理128包含可被動態地安裝之能力插入。這些可由任何適當的來源(例如硬體或平台製造者、原始設備製造者、第三方、等等)開發以及均提供特定功能或 多種功能(例如GPS功能、一次性密碼功能、等等)之存取。
圖4是根據各式各樣的實施例之調控硬體資源的處理之流程圖400。為了便於說明,下述參考流程圖400所述的作業原則上說明成由資源存取管理系統100的反射器116執行,以調控應用122與計算裝置104的硬體資源134之間的配對。但是,任何適當的一或多個計算裝置可以執行與任何適當的應用及硬體資源有關的作業。特別地,下述說明可以應用至反射器116執行流程圖500的作業以調控應用122對計算裝置106的硬體資源144之存取的實施例。下述參考流程圖400而說明的作業可以採取此處揭示的任何實施例的形式(舉例而言,如參考圖1及圖3之上述所述般)。
流程圖400始於402,其中,反射器116(例如配對請求接收邏輯202)決定是否已從應用122收到用於與硬體資源134配對的配對請求。在某些實施例中,可以經由例如REST呼叫等無狀態協定訊息而接收配對請求。假使反射器116在402判定未收到配對請求,則處理接著結束。
假使反射器116在402判定收到配對請求,則反射器116(例如,符記產生邏輯206)進行至404以及產生並提供用於供應給應用122的暫時符記。在某些實施例中,經由例如REST呼叫等無狀態協定訊息,提供暫時符記。應用122提供暫時符記給計算裝置104(例如給能力代理 128)以觸發計算裝置104以提供(舉例而言,經由例如REST呼叫等無狀態協定訊息)用於請求資料的請求給反射器116。在某些實施例中,用於請求資料的請求包含暫時符記。因此,在406,反射器116(例如中介邏輯204)決定是否已從計算裝置104(例如來自能力代理128)接收暫時符記作為用於請求資料的請求之一部份。假使反射器116在406判定沒有收到用於請求資料的請求,則處理接著結束。假使反射器116在406判定有收到暫時符記作為用於請求資料的請求之一部份,則反射器116繼續進行至408。在某些實施例中,反射器116未配置成產生及接收暫時符記,因此上述參考404及406而說明的作業不被執行。
在408,反射器116(例如中介邏輯204)提供請求資料給計算裝置102。在某些實施例中,經由例如REST呼叫等無狀態協定訊息,提供請求資料。如上所述,請求資料包含應用122的識別符及硬體資源134的識別符。
在410,反射器116(例如中介邏輯204)決定是否從計算裝置104收到配對核可,核准應用122與硬體資源134之間的配對請求。在某些實施例中,經由例如REST呼叫等無狀態協定訊息,接收配對核可的標示符。假使反射器116在410判定未收到配對核可時(例如當收到配對拒絕時,或是當計算裝置104未回應請求資料時),則處理接著結束。
假使反射器116在410判定收到配對核可時,則反射 器116(例如符記產生邏輯206)進行至412以及決定是否從應用122收到暫時符記。在某些實施例中,經由例如REST呼叫等無狀態協定訊息,接收暫時符記。假使反射器116在412判定未從應用122收到暫時符記時,則處理接著結束。
假使反射器116在412判定有從應用122收到暫時符記時,則反射器116(例如符記產生邏輯206)繼續進行至414以及產生用於提供給應用122的配對符記以用於應用122與硬體資源134的配對。在某些實施例中,符記產生邏輯206提供暫時符記給應用122(經由例如REST呼叫等無狀態協定訊息)。處理接著結束。在反射器116未配置成產生或使用暫時符記的之實施例中,不會執行上述參考412而說明的作業。
圖5是根據各式各樣的實施例之調控硬體資源存取的方法之流程圖500。為了便於說明,下述參考流程圖500說明的作業原則上被說明成由與反射器116通訊之計算裝置104的能力代理128執行,以調控應用122對硬體資源134的存取。但是,任何適當的計算裝置或多個裝置可以執行與任何適當的應用及硬體資源有關的作業。特別地,下述說明可以應用至能力代理138執行流程圖500的作業以調控應用146對硬體資源144之存取的實施例。下述參考流程圖500而說明的作業可以採取此處揭示的任何實施例的形式(舉例而言,如參考圖1及圖3之上述所述般)。
流程圖500始於502,其中,能力代理128(例如配對請求評估邏輯302)決定是否已從反射器116收到請求資料。在某些實施例中,可以經由例如REST呼叫等無狀態協定訊息而接收請求資料。如上所述,請求資料包含硬體資源134的識別符以及應用122的識別符,應用122是經由提供給反射器116(舉例而言,經由例如REST呼叫等無狀態協定訊息)的配對請求而請求與硬體資源134配對。在某些實施例中,如同參考圖4的402-408之上述所述般,請求資料從反射器116提供給能力代理128(舉例而言,為回應由反射器116從應用122收到配對請求)。
在504,能力代理128(例如配對請求評估邏輯302)決定是否核准配對請求。核准或拒絕是根據儲存在可由能力代理128存取的儲存裝置中的任何適當的準則,例如預定的硬體資源使用政策、對硬體資源的目前需求、請求應用的識別、用於硬體資源的預期排程、以及可供利用的用於硬體資源的電源、或是任何其它適當的準則。假使能力代理128在504決定不核准配對請求時,則能力代理128(例如配對請求評估邏輯302)在506提供拒絕給反射器116(舉例而言,經由例如REST呼叫等無狀態協定訊息),然後處理結束。
假使能力代理128在504決定核准配對請求時,則能力代理128(例如配對請求評估邏輯302)在508提供核准給反射器116。在某些實施例中,經由例如REST呼叫等無狀態協定訊息,提供核准。
在510,能力代理128(例如符記評估邏輯304)決定是否從應用122收到存取請求。在某些實施例中,經由例如REST呼叫等無狀態協定訊息,接收存取請求。存取請求包含反射器116產生的及提供給應用122之配對符記(舉例而言,根據參考圖4中414之上述所說明的作業)。假使能力代理128在510判定未從應用122收到存取請求,則處理接著結束。
假使能力代理128在510判定有從應用122收到存取請求,則能力代理128(例如符記評估邏輯304)繼續進行至512,以決定是否使配對符記(包含在510的存取請求中)有效。符記評估邏輯304使用任可所需準則(例如,參考圖3的符記評估邏輯304之上述所述的準則),以決定是否使配對符記有效。假使能力代理128在512判定不使配對符記有效,則處理接著結束。
假使能力代理128在512判定使配對符記有效,則能力代理128(例如資源管理邏輯306)繼續進行至514以及提供用於供應給應用122之來自硬體資源134的資料。在某些實施例中,經由例如REST呼叫等無狀態協定訊息,提供資料。在某些實施例中,能力代理128將資料直接提供給應用122。在其它實施例中,能力代理128提供資料給反射器116或是另一接著會提供資料給應用122之中間計算裝置。處理接著結束。
圖6-10是使用期間資源存取管理系統100的組件之間各種訊號的交換之實例的訊號流動圖。圖6-10代表根 據參考圖4-5之上述所述的流程圖交換的訊號。在圖6-10中描述的訊號是顯示為REST訊號,但如同上述一般,任何適當協定可以被使用在各式各樣的實施例中。
圖6-7分別是根據各式各樣的實施例之用於調節應用與硬體資源之間的配對之資源存取管理系統100的組件之間各種訊號的交換之訊號流動圖600及700。為了便於說明,圖6及7中顯示的訊號代表當計算裝置104的應用122希望與計算裝置104的硬體資源134配對時可以交換的訊號實例。但是,這僅是說明性的,當應用122希望與計算裝置106的硬體資源144配對時、或是當應用146希望與硬體資源134或硬體資源144配對時,可以交換類似訊號。
圖6及7包含可以在應用122、反射器116、能力代理128、與擁有者602之間交換的訊號。擁有者602可以是與被請求的硬體資源(例如計算裝置104)相關連的計算裝置之使用者或管理者或是在計算裝置104上執行的管理或控制應用。人類或自動化擁有者602可以根據任何所需準則而決定是否核准配對請求或是拒絕配對請求,該準則可為例如預定的硬體資源使用政策、對硬體資源的目前需求、請求應用的識別、用於硬體資源的預期排程、以及可供利用的用於硬體資源的電源、或是任何其它適當的準則。在某些實施例中,擁有者602的功能可以包含在能力代理128中。
圖6的訊號流動交換始於從應用122至反射器116之 配對請求POST呼叫。配對請求POST呼叫包含應用122的識別符(例如標頭中的AppName)以及包含API鑰(舉例而言,如參考開發者入口108的識別符之上述所述般)。配對請求POST呼叫的本體包含硬體資源134的識別符(例如本體中的HW資源資料)。
為回應收到配對請求POST呼叫,如下述所述般,反射器116儲存配對請求POST呼叫的資料、發出配對請求識別符(例如,路由票號RTN)、以及以稍後由應用122使用之配對請求識別符回應配對請求POST呼叫。舉例而言,RTN可為具有預定大小的獨特字元串(例如128位元數)、或是任何其它適當的格式。在某些實施例中,如上所述,配對請求識別符(例如RTN)可以作為暫時符記。
為回應收到配對請求識別符,應用122使用配對請求識別符以啟始能力代理128。在某些實施例中,應用122可以藉由使能力代理128建立與反射器116的連接而啟動能力代理128。在能力代理128已經連接至反射器116的情形中,應用122不會啟動能力代理128。一旦被啟動時,能力代理128會提供POST呼叫給反射器116,辨識配對請求識別符以及標示能力代理128目前正處理配對請求(舉例而言,如POST呼叫的本體中的狀態資料所示般)。能力代理128也提供GET呼叫給反射器116,辨識配對請求識別符,以取得關於配對請求之由反射器116儲存的所有資料(例如,相關應用的識別符、相對硬體資源的識別符、等等)。
間歇地,在如上所述地提供配對請求POST呼叫之後,應用122詢問反射器116檢查配對請求的狀態。狀態檢查可以採取圖6及7中以「x」標示的訊號所表示的形式,以及,包含提供GET呼叫給反射器116(包含配備請求識別符)以及從反射器116接收標示配對請求的響應(例如,在回應的本體中的狀態PENDING(待決))。
為回應從能力代理128收到GET呼叫(以標示「6」的訊號代表),反射器116以關於配備請求的資料回應。此資料包含具有配對請求之應用122提供的資料(例如AppNAME、APIKey、及HW資源)。此資料也包含由反射器116產生的資料。舉例而言,反射器116決定配對請求源起之IP位址,以及提供該資訊給能力代理128(例如響應本體中的appIP)。
假使能力代理128希望增加的資訊時,能力代理128可以向反射器116請求該資訊。舉例而言,能力代理128提供GET呼叫給反射器116,以請求能力代理128本身的IP位址(以標示「8」的訊號代表)。響應地,反射器116提供能力代理128的IP位址(例如響應的本體中的cpIP)。能力代理128比較應用122的IP位址與能力代理128的IP位址以決定這二個IP位址是否相同。
在能力代理128配置成僅允許從計算裝置104上執行的應用存取硬體資源134的實施例中,此檢查可確認應用122真正地在計算裝置104上執行,且是繼續配對處理的必要條件。假使此比較未通過,則能力代理128傳送拒絕 訊號給反射器116(未顯示於圖6中)。在能力代理128配置成允許從計算裝置104以外的計算裝置上執行的應用(例如從計算裝置106上執行的應用146)存取硬體資源134的實施例中,能力代理128不執行此比較,因而能力代理128不向反射器116請求IP資訊。
由圖6表示的訊號流動在圖7中繼續。如同所示,應用122執行另一狀態檢查(如上所述,由標示「x」的訊號表示)。
假使能力代理128決定應用122的IP位址符合能力代理128的IP位址時(假使要求此決定時),則能力代理128提示擁有者602核准配對請求。此提示可以辨識請求配對的應用(例如應用122)、與應用相關的計算裝置(舉例而言,假使計算裝置不同於能力代理128於其上執行的計算裝置)、被請求的特定硬體資源(例如硬體資源134)、或是關於擁有者602發現有助於決定是不核准配對請求之配對請求有關的任何其它資訊。提供可以採用螢幕上訊息(例如,在與計算裝置104相關的顯示裝置上)、電子訊號(例如傳送給與擁有者602相關的另一裝置之文字訊息或電子郵件)、純粹內部傳送給計算裝置104及由自動化擁有者602使用以決定是否核准配對請求之訊號等形式。
假使擁有者602決定配對請求要被拒絕時,則擁有者602提供拒絕訊號給能力代理128(未顯示)。假使擁有者602核准配對請求時,則擁有者602提供核准訊號能力 代理128。為回應收到配對請求的核准,能力代理128提供POST呼叫給反射器116,標示配對請求已被核准(例如,本體中的ACCEPTED(被接受)狀態)。
POST呼叫也包含能力代理128的識別符(例如本體中cpID=GUID資料),當請求取硬體資源134時(舉例而言,如下述參考圖8-10之說明所述般),所述識別符可由反射器116用於產生由應用122使用的符記。在某些實施例中,能力代理128的識別符可以是能力代理128的全區獨特識別符,亦即可在資源存取管理系統100內獨特地識別能力代理128。假使根據能力代理128的識別符而產生符記時(舉例而言,由此識別符簽章),則能力代理128能夠決定呈現給能力代理128的符記是否真正地由反射器116提供,以致於應用122可存取能力代理128;假使符記未通過此檢查,則符記失效。在某些實施例中,符記具有一組之屬性及值、以及一簽章;能力代理128的識別符可以是多個屬性中之一。在某些實施例中,符記對於一次存取或一次以上的存取是有效的。在某些實施例中,符記在特定的時間窗內(例如90分鐘或一年)是有效的,在此時間窗之後,它是無效的。在某些實施例中,符記可由反射器116及/或能力代理128展期。此符記逾期資訊可以編碼於符記本身中,以由能力代理128用於決定是不是使符記有效。反射器116接著產生符記(例如標示為「14」之作業的RAT)。
當應用122接著執行狀態檢查時(如標示為「15」之 訊號所示般),反射器116藉由標示配對請求已被核准來回應(例如本體中的ACCEPTED狀態)。一收到狀態資訊時,應用122可以提供包含配對請求識別符之GET呼叫給反射器116,反射器116藉由提供符記(例如在響應的本體中)給應用122而回應配對請求識別符。這完成應用122與硬體資源134之間的配對。
在核准配對請求之後,應用尋找其現在要配對的硬體資源有關的額外資訊。在某些實施例中,反射器116提供此資訊給應用。舉例而言,此資訊採取關於硬體資源的元資料的形式,以及可由應用使用以使綱目能夠早期失敗(例如經由SDK)、決定硬體資源是否支援某些事件而非輪詢、及/或決定硬體資源的型式。圖8是根據各式各樣的實施例之用於交換硬體資源元資料之圖1的資源存取管理系統100的組件之間各種訊號的交換之訊號流動圖800。為了便於說明,圖8-10中顯示的訊號代表在配對之後當計算裝置104的應用122希望存取計算裝置104的硬體資源134時可以交換的訊號實例。但是,這僅是說明性的,舉例而言,當應用122希望存取計算裝置106的硬體資源144時、或是當應用146希望存取硬體資源134或硬體資源144時,可以交換類似的訊號。
如圖8所示,應用122提供GET呼叫給反射器116,指明應用122希望提出與能力代理128相關的硬體資源134(hw_resource)的存取請求。在某些實施例中,GET呼叫會識別管理硬體資源134的存取之能力代理128。此 識別可以採取擬識別符的形式,這不是如同參考圖7的反射器116產生符記之上述所述之全區獨特的識別符。在某些實施例中,一核准配對請求時(未顯示)由反射器116將擬識別符提供給應用122,以及,使用擬識別符可以保護能力代理128的全區獨特識別符以免被誤用。反射器116可以配置成辨認擬識別符及決定哪一能力代理128是與其相關連。在某些實施例中,GET呼叫可以識別硬體資源的域(domain)。域可以是用於將相關裝置能力分組之名稱空間。舉例而言,「域=感測器(Domain=Sensor)」將計算裝置的所有硬體感測器分成一組,而「域=安全(Domain=Security)」將計算裝置的所有硬體安全能力分成一組。
為了回應來自應用122的GET呼叫,反射器116會提供說明硬體資源134的元資料(例如在本體中)。元資料的實例包含綱目(例如說明硬體資源134的配置之選擇性參數)及IO(舉例而言,例如輸入串流(istream)、輸出串流(ostream)、輸入輸出串流(iostream)等「事件」之輸入/輸出通訊機制的清單)。
圖9-10分別是根據各式各樣的實施例之用於調節應用對硬體資源的存取之圖1的資源存取管理系統100的組件之間的各種訊號交換之訊號流動圖900和1000。如上所述,為了便於說明,圖9-10中顯示的訊號代表在配對之後當計算裝置104的應用122希望存取計算裝置104的硬體資源134時可以交換的訊號實例。但是,這僅是說明 性的,舉例而言,當應用122希望存取計算裝置106的硬體資源144時、或是當應用146希望存取硬體資源134或硬體資源144時,可以交換類似的訊號。
特別地,圖9是用於調控應用122經由反射器116及交通伺服器120而存取硬體資源134之各種訊號的交換之訊號流動圖900。應用122可以提供GET呼叫給反射器116,指明應用122希望提出與能力代理128相關的硬體資源134(hw_resource)的存取請求(arequest)、以及應用122向硬體資源134請求資料(值)。如同上述參考圖7所述般,GET呼叫包含由反射器116提供給應用122之符記(例如標頭中的RAT)。
從應用122收到GET呼叫時,反射器116取出應用122的IP位址,以及,提供XMPP請求中取出的硬體資源134的IP位址、符記、域、及識別符給交通伺服器120。回應地,交通伺服器120遞送XMPP請求給能力代理128。一般而言,交通伺服器120可以負責處理使用最佳可利用的協定而與能力代理128的通訊。
在收到XMPP請求時,能力代理128可以使符記有效(例如使用上述任何驗證技術,或是任何其它適當的驗證技術),以及,假使需要時,確認應用122的IP位址符合能力代理128的IP位址(舉例而言,如參考圖6之上述所述般)。假使這些檢查未通過時,則能力代理128提供拒絕訊號給反射器116(例如,經由交通伺服器120)(未顯示)。
一使符記有效時,能力代理128即會存取硬體資源134以產生應用122請求的資料。舉例而言,假使硬體資源134是感測器時,則能力代理128會存取感測器以及檢索用於提供給應用122之感測器產生的資料。能力代理128提供資料給交通伺服器120,以回應來自交通伺服器120的XMPP請求,以及,交通伺服器120提供資料給反射器116以回應來自反射器116的XMPP請求。反射器116接著藉由提供資料給應用122(例如在本體中)而回應初始的GET呼叫。依此方式,應用122可以存取硬體資源134。
在某些實施例中,一旦達成配對時,應用會存取與其配對的硬體資源,而不用經由反射器116及/或交通伺服器120。取代地,在某些實施例中,應用可以與相關連的能力代理直接通訊。舉例而言,此通訊可以經由嵌入的網站伺服器(EWS)路徑而發生。圖10是不經由反射器116或交通伺服器120之調控應用122對硬體資源134的存取之各種訊號的交換之訊號流動圖1000。
應用122可以提供GET呼叫給能力代理128,指明應用122希望提出與能力代理128相關的硬體資源134(hw_resource)的存取請求(arequest)、以及應用122向硬體資源134請求資料(值)。如同上述參考圖9所述般,GET呼叫包含由反射器116提供給應用122之符記(例如標頭中的RAT)。如同上述參考圖9所述般,一收到GET呼叫時,能力代理128會存取硬體資源134以產 生資料,以及,提供資料給應用122,以回應GET呼叫。依此方式,應用122存取硬體資源134。
圖11是適用於實施各式各樣揭示的施例之舉例說明的計算裝置1100的方塊圖。舉例而言,計算裝置1100可作為圖1的遠端計算裝置102、計算裝置104、及/或計算裝置106。在某些實施例中,計算裝置1100的多個組件可以分散於多個實體裝置殼或場所中,而在其它實施例中,計算裝置1100的多個組件可以包含在單一機殼或場所中。
計算裝置1100包含多個組件,包括一或更多處理器1104及至少一通訊晶片1106。在各式各樣的實施例中,處理器1104包含處理器核心。在各式各樣的實施例中,至少一通訊晶片1106也實體地及電地耦合至處理器1104。在另外的實施中,通訊晶片1106是處理器1104的一部份。在各式各樣的實施例中,計算裝置1100包含印刷電路板(PCB)1102。對於這些實施例,處理器1104及通訊晶片1106可以配置於其上。在替代實施例中,各種組件可以不使用PCB 1102而相耦合。
取決於其應用(例如硬體資源存取應用),計算裝置1100包含可以或不可以實體地及電地耦合至PCB 1102的其它組件。這些其它組件包含但不限於隨機存取記憶體(RAM)1108、依電性記憶體(例如,動態RAM(DRAM))、非依電性記憶體(例如,唯讀記憶體1110,也稱為(ROM))、一或更多硬碟機、一或更多固態 驅動器、一或更多光碟驅動器、及/或一或更多數位多樣式碟片驅動器、快閃記憶體1112、輸入/輸出(I/O)控制器1114、數位訊號處理器(未顯示)、密碼處理器(未顯示)、圖形處理器1116、一或更多天線1118、觸控幕顯示器1120、觸控幕控制器1122、其它顯示器(例如液晶顯示器、陰極射線管顯示器、及e墨水顯示器,未顯示)、電池1124、音頻編解碼器(未顯示)、視頻編解碼器(未顯示)、全球定位系統(GPS)裝置1128、羅盤1130、加速計(未顯示)、陀螺儀(未顯示)、揚音器1132、相機1134、及大量儲存裝置(例如硬碟機、光碟(CD)、數位多樣式光碟(DVD)、等等)(未顯示)、任何其它所需的感測器(未顯示)、等等。在各式各樣的實施例中,處理器1104可以與其它組件集成於相同晶粒中以形成系統晶片(SoC)。
在各式各樣的實施例中,依電性記憶體(例如DRAM)、非依電性記憶體(例如ROM 1110)、快閃記憶體1112、及大量儲存裝置包含程式指令,程式指令配置成回應由處理器1104執行,會使計算裝置1100能夠實施此處說明之所有或選取的處理之態樣。舉例而言,一或更多記憶體組件,例如依電性記憶體(例如DRAM)、非依電性記憶體(例如ROM 1110)、快閃記憶體1112、及大量儲存裝置可為機器可讀取的媒體,其包含暫時的及/或持久的(例如非暫時的)指令拷貝,指令當由一或更多處理器1104執行時,使計算裝置1100能夠實施此處所述 的處理的所有或經選取的樣態。可由計算裝置1100存取的記憶體包含計算裝置1100安裝於上的裝置之實體部份之一或更多儲存資源、及/或可由計算裝置1100存取但不一定是其部份之一或更多儲存資源。舉例而言,儲存資源可由計算裝置1100經由通訊晶片1106而於網路上存取。
通訊晶片1106中能夠有線及/或無線通訊以用於與計算裝置1100傳輸資料。「無線」一詞及其衍生詞用以說明經由使用通過非固體介質之調變的電磁輻射來傳輸資料的電路、裝置、系統、方法、技術、通訊通道、等等。此詞並非意指相關連裝置未含有任何接線,但是,在某些實施例中,它們可能未含任何接線。如上所述,此處所述的很多實施例可以用於Wi-Fi及3GPP/LTE通訊系統。但是,通訊晶片1106可以實施許多無線標準或是通信協定中任一者,包含但不限於IEEE 02.20、一般分封無線電服務(GPRS)、演進資料最佳化(Ev-DO)、演進的高速分封接取(HSPA+)、演進的高速下行鏈路分封接取(HSDPA+)、演進的高速上行鏈路分封接取(HSUPA+)、全球行動通訊系統(GSM)、為GSM演進之增強資料率(EDGE)、分碼多接取(CDMA)、分時多接取(TDMA)、數位增強無線電信(DECT)、藍芽、其衍生、以及以3G、4G、5G、及更新的世代標示的任何其它無線協定。計算裝置1100包含眾多通訊晶片1106。舉例而言,第一通訊晶片1106可以專用於較短範圍的無線通訊,例如Wi-Fi及藍芽,而第二通訊晶片1106 可以專用於較長範圍的無線通訊,例如GPS、EDGE、GPRS、CDMA、WiMAX、LTE、Ev-DO、等等。
在各式各樣的實施中,計算裝置1100可以是膝上型電腦、筆記型電腦、超薄筆記型電腦、智慧型電話、平板電腦、個人數位助理、及超薄行動個人電腦、行動電話、桌上型電腦、伺服器、印表機、掃描器、監視器、機上盒、娛樂控制單元(例如遊戲主機)、數位相機、可攜式音樂播放器、或是數位攝影機。在另外的實施中,計算裝置1100可為處理資料的任何其它電子裝置。
下述說明各式各樣的實施例之實例。
實例1是一或更多電腦可讀取的媒體,於其上具有複數指令,為回應由設備的一或更多處理裝置執行,複數指令會促使設備執行下述:經由無狀態協定訊息,接收來自應用的配對請求,其中,配對請求指明所述應用請求配對的遠離設備之計算裝置的硬體資源;經由無狀態協定訊息,提供請求資料給計算裝置,其中,請求資料包含應用的識別符及計算裝置的硬體資源的識別符;經由無狀態協定訊息,從計算裝置接收配對核准,其中,配對核准是由計算裝置根據請求資料中的至少某些資料而產生的;以及,為回應收到配對核准,產生用於提供給應用之配對符記,其中,配對符記會由應用經由無狀態協定訊息而提供給計算裝置,以使應用與硬體資源配對。
實例2包含實例1的標的,又進一步指明應用是在計算裝置上執行。
實例3包含實例1-2中任一實例的標的,又進一步於其上具有複數指令,所述複數指令當由設備的一或更多處理裝置執行時,促使設備產生用於供應給應用之暫時符記,以回應收到配對請求,其中,暫時符記會由應用經由無狀態協定訊息而提供給計算裝置,以觸發為了請求資料而經由包含暫時符記的無狀態協定訊息之從計算裝置至設備的請求。
實例4包含實例3的標的,又進一步於其上具有複數指令,所述複數指令當由設備的一或更多處理裝置執行時,會促使設備為回應來自應用之包含暫時符記之無狀態協定訊息以及收到配對核准,而經由無狀態協定訊息提供配對符記給應用。
實例5包含實例1-4中任一實例的標的,又進一步指明請求資料包含應用的網際網路協定(IP)位址。
實例6包含實例5的標的,又進一步於其上具有複數指令,所述複數指令當由設備的一或更多處理裝置執行時,會促使設備經由無狀態協定訊息而提供計算裝置的IP位址給計算裝置。
實例7是一或更多電腦可讀取的媒體,於其上具有複數指令,為回應由設備的一或更多處理裝置執行,複數指令會促使設備執行下述:經由無狀態協定訊息,接收來自計算裝置的請求資料,其中,請求資料包含設備的硬體資源的識別符以及提供用於與硬體資源配對的配對請求之應用的識別符;為回應收到 請求資料,經由無狀態協定訊息,提供配對請求核准或是配對請求拒絕給計算裝置;經由無狀態協定訊息,接收來自應用之用於存取硬體資源的存取請求,其中,存取請求包含配對符記,配對符記是由計算裝置產生及提供給應用,以回應計算裝置收到配對請求核准;使配對符記有效或無效;以及,經由無狀態協定訊息,提供用於供應給應用之來自硬體資源的資料,以回應配對符記的驗證。
實例8包含實例7的標的,又進一步指明應用是在設備上執行。
實例9包含實例7的標的,又進一步指明從計算裝置接收存取請求、以及應用在不同於計算裝置的第二計算裝置上執行。
實例10包含實例9的標的,又進一步指明存取請求包含應用的網際網路協定(IP)位址,以及,其中,使配對符記有效或無效包括決定應用的IP位址分別符合或不符合設備的IP位址。
實例11包含實例10的標的,又進一步指明從第三計算裝置接收存取請求,第三計算裝置不同於計算裝置及不同於應用於上執行的第二計算裝置。
實例12包含實例7-11中任一實例的標的,又進一步指明使配對符記有效或無效包括決定配對符記是否可識別設備。
實例13是用於調控與硬體資源配對之設備,包括:配對請求接收邏輯,經由無狀態協定訊息,接收來自應用 的配對請求,其中,配對請求指明所述應用請求配對的遠離設備之計算裝置的硬體資源;中介邏輯,與配對請求接收邏輯耦合,以:經由無狀態協定訊息,提供請求資料給計算裝置,其中,請求資料包含應用的識別符及計算裝置的硬體資源的識別符,以及,經由無狀態協定訊息,從計算裝置接收配對核准,其中,配對核准是由計算裝置根據請求資料中的至少某些資料而產生的;以及,符記產生邏輯,與中介邏輯耦合,以為回應收到配對核准而產生用於提供給應用之配對符記,其中,配對符記會由應用經由無狀態協定訊息而提供給計算裝置,以使應用與硬體資源配對。
實例14包含實例13的標的,又進一步指明應用是在計算裝置上執行。
實例15包含實例13-14中任一實例的標的,又進一步指明符記產生邏輯耦合至配對請求接收邏輯及又產生用於提供給應用之暫時符記,以回應收到配對請求,其中,暫時符記會由應用經由無狀態協定訊息而提供給計算裝置,以觸發為了請求資料而經由包含暫時符記的無狀態協定訊息之從計算裝置至設備的請求。
實例16包含實例15的標的,又進一步指明符記產生邏輯又為回應來自應用之包含暫時符記之無狀態協定訊息以及收到配對核准,而經由無狀態協定訊息提供配對符記給應用。
實例17包含實例13-16中任一實例的標的,又進一 步指明請求資料包含應用的網際網路協定(IP)位址。
實例18包含實例17的標的,又進一步指明中介邏輯經由無狀態協定訊息而提供計算裝置的IP位址給計算裝置。
實例19是用於調控硬體資源存取之設備,包括:配對請求評估邏輯,用以:經由無狀態協定訊息,接收來自計算裝置的請求資料,其中,請求資料包含設備的硬體資源的識別符以及提供用於與硬體資源配對的配對請求之應用的識別符,以及,為回應收到請求資料,經由無狀態協定訊息,提供配對請求核准或是配對請求拒絕給計算裝置;符記評估邏輯,用以:經由無狀態協定訊息,接收來自應用之用於存取硬體資源的存取請求,其中,存取請求包含配對符記,配對符記是由計算裝置產生及提供給應用,以回應計算裝置收到配對請求評估邏輯提供的配對請求核准,以及,使配對符記有效或無效;以及,資源管理邏輯,與符記評估邏輯耦合,以經由無狀態協定訊息,提供用於供應給應用之來自硬體資源的資料,以回應配對符記的驗證。
實例20包含實例19的標的,又進一步指明應用是在設備上執行。
實例21包含實例19的標的,又進一步指明從計算裝置接收存取請求,以及,其中,應用在不同於計算裝置的第二計算裝置上執行。
實例22包含實例21標的,又進一步指明存取請求包 含應用的網際網路協定(IP)位址,以及,其中,使配對符記有效或無效包括決定應用的IP位址分別符合或不符合設備的IP位址。
實例23包含實例19的標的,又進一步指明從第三計算裝置接收存取請求,第三計算裝置不同於計算裝置及不同於應用於上執行的第二計算裝置。
實例24包含實例19-23中任一實例的標的,又進一步指明配對請求評估邏輯包含在核心應用、網路介面卡、或是管理力引擎中。
實例25包含實例19-24中任一實例的標的,又進一步指明使配對符記有效或無效包括決定配對符記是否可識別設備。
實例26是由設備調控與硬體資源配對方法,包括:經由無狀態協定訊息,接收來自應用的配對請求,其中,配對請求指明所述應用請求配對的遠離設備之計算裝置的硬體資源;經由無狀態協定訊息,提供請求資料給計算裝置,其中,請求資料包含應用的識別符及計算裝置的硬體資源的識別符;經由無狀態協定訊息,從計算裝置接收配對核准,其中,配對核准是由計算裝置根據請求資料中的至少某些資料而產生的;以及,為回應收到配對核准,產生用於提供給應用之配對符記,其中,配對符記會由應用經由無狀態協定訊息而提供給計算裝置,以使應用與硬體資源配對。
實例27包含實例26的標的,又進一步指明應用是在 計算裝置上執行。
實例28包含實例26-27中任一實例的標的,又進一步包含:產生用於提供給應用之暫時符記,以回應收到配對請求,其中,暫時符記會由應用經由無狀態協定訊息而提供給計算裝置,以觸發為了請求資料而經由包含暫時符記的無狀態協定訊息之從計算裝置至設備的請求。
實例29包含實例28的標的,又進一步包含為回應來自應用之包含暫時符記之無狀態協定訊息以及收到配對核准,而經由無狀態協定訊息提供配對符記給應用。
實例30包含實例26-29中任一實例的標的,又進一步指明請求資料包含應用的網際網路協定(IP)位址。
實例31包含實例30的標的,又進一步包含經由無狀態協定訊息而提供計算裝置的IP位址給計算裝置。
實例32是用於由設備調控硬體資源存取的方法,包括:經由無狀態協定訊息,接收來自計算裝置的請求資料,其中,請求資料包含設備的硬體資源的識別符以及提供用於與硬體資源配對的配對請求之應用的識別符;為回應收到請求資料,經由無狀態協定訊息,提供配對請求核准或是配對請求拒絕給計算裝置;經由無狀態協定訊息,接收來自應用之用於存取硬體資源的存取請求,其中,存取請求包含配對符記,配對符記是由計算裝置產生及提供給應用,以回應計算裝置收到配對請求核准;使配對符記有效或無效;以及,經由無狀態協定訊息,提供用於供應給應用之來自硬體資源的資料,以回應配對符記的驗證。
實例33包含實例32的標的,又進一步指明應用是在設備上執行。
實例34包含實例32的標的,又進一步指明從計算裝置接收存取請求,以及,其中,應用在不同於計算裝置的第二計算裝置上執行。
實例35包含實例34的標的,又進一步指明存取請求包含應用的網際網路協定(IP)位址,以及,其中,使配對符記有效或無效包括決定應用的IP位址分別符合或不符合設備的IP位址。
實例36包含實例32的標的,又進一步指明從第三計算裝置接收存取請求,第三計算裝置不同於計算裝置及不同於應用於上執行的第二計算裝置。
實例37包含實例32-36中任一實例的標的,又指明使配對符記有效或無效包括決定配對符記是否可識別設備。
實例38包含一或更多電腦可讀取的媒體,於其上具有複數指令,為回應由設備的一或更多處理裝置執行,複數指令會促使設備執行實例26-37中任一實例的方法。
實例39是用於調控與硬體資源配對之設備,包括:機構,用於經由無狀態協定訊息而接收來自應用的配對請求,其中,配對請求指明所述應用請求配對的遠離設備之計算裝置的硬體資源;機構,用於經由無狀態協定訊息而提供請求資料給計算裝置,其中,請求資料包含應用的識別符及計算裝置的硬體資源的識別符,以及,機構,用於 經由無狀態協定訊息而從計算裝置接收配對核准,其中,配對核准是由計算裝置根據請求資料中的至少某些資料而產生的;以及,機構,用於為回應收到配對核准而產生用於提供給應用之配對符記,其中,配對符記會由應用經由無狀態協定訊息而提供給計算裝置,以使應用與硬體資源配對。
實例40包含實例39的標的,又進一步指明應用是在計算裝置上執行。
實例41包含實例39-40中任一實例的標的,又進一步包含機構,用於產生用於提供給應用之暫時符記,以回應收到配對請求,其中,暫時符記會由應用經由無狀態協定訊息而提供給計算裝置,以觸發為了請求資料而經由包含暫時符記的無狀態協定訊息之從計算裝置至設備的請求。
實例42包含實例41的標的,又進一步包含機構,用於為回應來自應用之包含暫時符記之無狀態協定訊息以及收到配對核准,而經由無狀態協定訊息提供配對符記給應用。
實例43包含實例39-42中任一實例的標的,又進一步指明請求資料包含應用的網際網路協定(IP)位址。
實例44包含實例43的標的,又進一步包含機構,用於經由無狀態協定訊息而提供計算裝置的IP位址給計算裝置。
實例45是用於調控硬體資源存取之設備,包括:機 構,用於經由無狀態協定訊息而接收來自計算裝置的請求資料,其中,請求資料包含設備的硬體資源的識別符以及提供用於與硬體資源配對的配對請求之應用的識別符;機構,為回應收到請求資料,經由無狀態協定訊息而提供配對請求核准或是配對請求拒絕給計算裝置;機構,用於經由無狀態協定訊息而接收來自應用之用於存取硬體資源的存取請求,其中,存取請求包含配對符記,配對符記是由計算裝置產生及提供給應用,以回應計算裝置收到配對請求核准;機構,用於使配對符記有效或無效;以及,機構,用於經由無狀態協定訊息而提供用於供應給應用之來自硬體資源的資料,以回應配對符記的驗證。
實例46包含實例45的標的,又進一步指明應用是在設備上執行。
實例47包含實例45的標的,又進一步指明從計算裝置接收存取請求,以及,其中,應用在不同於計算裝置的第二計算裝置上執行。
實例48包含實例47標的,又進一步指明存取請求包含應用的網際網路協定(IP)位址,以及,其中,使配對符記有效或無效包括決定應用的IP位址分別符合或不符合設備的IP位址。
實例49包含實例45的標的,又進一步指明從第三計算裝置接收存取請求,第三計算裝置不同於計算裝置及不同於有應用於上執行的第二計算裝置。
實例50包含實例45-49中任一實例的標的,又進一 步指明用於有效或無效化配對符記的機構包括用於決定配對符記是否可識別設備之機構。
實例51包含實例1-50中任一實例的標的,又進一步指明無狀態協定訊息是REST呼叫。
100‧‧‧資源存取管理系統
102‧‧‧遠端計算裝置
104‧‧‧計算裝置
106‧‧‧計算裝置
108‧‧‧開發者入口
110‧‧‧裝置分析器
112‧‧‧身份仲介器
114‧‧‧應用程式介面管理閘道
116‧‧‧反射器
120‧‧‧交通伺服器
122‧‧‧應用
124‧‧‧軟體發展工具箱
126‧‧‧作業系統
128‧‧‧能力代理
130‧‧‧網路應用程式介面
132‧‧‧硬體
134‧‧‧硬體資源
136‧‧‧作業系統
138‧‧‧能力代理
142‧‧‧硬體
144‧‧‧硬體資源
146‧‧‧應用
148‧‧‧軟體發展工具箱
150‧‧‧網路應用程式介面

Claims (25)

  1. 一種電腦可讀取的媒體,具有複數指令,為回應由設備的一或更多處理裝置執行,該複數指令促使該設備執行下述:經由無狀態協定訊息,接收來自應用的配對請求,其中,該配對請求指明該應用請求配對的遠離該設備之計算裝置的硬體資源;經由無狀態協定訊息,提供請求資料給該計算裝置,其中,該請求資料包含該應用的識別符及提供至該計算裝置的該硬體資源的識別符;經由無狀態協定訊息,從該計算裝置接收配對核准,其中,該配對核准是由該計算裝置根據該請求資料中的至少某些資料而產生的;以及,為回應收到該配對核准,產生用於提供給該應用之配對符記,其中,該配對符記會由該應用經由無狀態協定訊息而提供給該計算裝置,以使該應用與該硬體資源配對。
  2. 如申請專利範圍第1項之電腦可讀取的媒體,其中,該無狀態協定訊息是表示狀態傳輸(REST)呼叫。
  3. 如申請專利範圍第1項之電腦可讀取的媒體,又具有複數指令,當由該設備的該一或更多處理裝置執行時,促使該設備執行下述:產生用於提供給該應用之暫時符記,以回應收到該配對請求,其中,該暫時符記由該應用經由無狀態協定訊息而提供給該計算裝置,以觸發為了該請求資料而經由包含該暫時符記的無狀態協定訊息之從 該計算裝置至該設備的請求。
  4. 如申請專利範圍第3項之電腦可讀取的媒體,又具有複數指令,當由該設備的該一或更多處理裝置執行時,該複數指令促使該設備執行下述:為回應來自該應用之包含該暫時符記之無狀態協定訊息以及收到該配對核准,而經由無狀態協定訊息提供該配對符記給該應用。
  5. 如申請專利範圍第1項之電腦可讀取的媒體,其中,該請求資料包含該應用的網際網路協定(IP)位址。
  6. 如申請專利範圍第5項之電腦可讀取的媒體,又具有複數指令,當由該設備的該一或更多處理裝置執行時,該複數指令促使該設備執行下述:經由無狀態協定訊息而提供該計算裝置的IP位址給該計算裝置。
  7. 一種電腦可讀取的媒體,具有複數指令,為回應由設備的一或更多處理裝置執行,該複數指令促使該設備執行下述:經由無狀態協定訊息,接收來自計算裝置的請求資料,其中,該請求資料包含該設備的硬體資源的識別符以及提供用於與該硬體資源配對的配對請求之應用的識別符;為回應收到該請求資料,經由無狀態協定訊息,提供該配對請求核准或是該配對請求拒絕給該計算裝置;經由無狀態協定訊息,接收來自該應用之用於存取該 硬體資源的存取請求,其中,該存取請求包含配對符記,該配對符記是由該計算裝置產生及提供給該應用,以回應該計算裝置收到該配對請求核准;使該配對符記有效或無效;以及,經由無狀態協定訊息,提供用於供應給該應用之來自該硬體資源的資料,以回應該配對符記的有效。
  8. 如申請專利範圍第7項之電腦可讀取的媒體,其中,該應用在該設備上執行。
  9. 如申請專利範圍第7項之電腦可讀取的媒體,其中,從該計算裝置接收該存取請求,以及,其中,該應用在不同於該計算裝置的第二計算裝置上執行。
  10. 如申請專利範圍第9項之電腦可讀取的媒體,其中,該存取請求包含該應用的網際網路協定(IP)位址,以及,其中,使該配對符記有效或無效包括決定該應用的IP位址分別符合或不符合該設備的IP位址。
  11. 如申請專利範圍第7項之電腦可讀取的媒體,其中,從第三計算裝置接收該存取請求,該第三計算裝置不同於該計算裝置及不同於該應用於上執行的第二計算裝置。
  12. 如申請專利範圍第7項之電腦可讀取的媒體,其中,使該配對符記有效或無效包括決定該配對符記是否可識別該設備。
  13. 一種用於調控與該硬體資源配對之設備,包括:配對請求接收邏輯,經由無狀態協定訊息,以接收來 自應用的配對請求,其中,該配對請求指明該應用請求配對的遠離該設備之計算裝置的硬體資源;中介邏輯,與該配對請求接收邏輯耦合,以執行下述:經由無狀態協定訊息,提供請求資料給該計算裝置,其中,該請求資料包含該應用的識別符及提供至該計算裝置的該硬體資源的識別符,以及,經由無狀態協定訊息,從該計算裝置接收配對核准,其中,該配對核准是由該計算裝置根據該請求資料中的至少某些資料而產生的;以及,符記產生邏輯,與該中介邏輯耦合,為回應收到該配對核准,產生用於提供給該應用之配對符記,其中,該配對符記會由該應用經由無狀態協定訊息而提供給該計算裝置,以使該應用與該硬體資源配對。
  14. 如申請專利範圍第13項之設備,其中,該應用在該計算裝置上執行。
  15. 如申請專利範圍第13項之設備,其中,該符記產生邏輯耦合至該配對請求接收邏輯,以及又產生用於提供給該應用之暫時符記,以回應收到該配對請求,其中,該暫時符記由該應用經由無狀態協定訊息而提供給該計算裝置,以觸發為了該請求資料而經由包含該暫時符記的無狀態協定訊息之從該計算裝置至該設備的請求。
  16. 如申請專利範圍第15項之設備,其中,該符記產生邏輯又為回應來自該應用之包含該暫時符記之無狀態 協定訊息以及收到該配對核准,而經由無狀態協定訊息提供該配對符記給該應用。
  17. 如申請專利範圍第13項之設備,其中,該請求資料包含該應用的網際網路協定(IP)位址。
  18. 如申請專利範圍第17項之設備,其中,該中介邏輯又經由無狀態協定訊息而提供該計算裝置的IP位址給該計算裝置。
  19. 一種用於調控硬體資源存取之設備,包括:配對請求評估邏輯,用以:經由無狀態協定訊息,接收來自計算裝置的請求資料,其中,該請求資料包含該設備的硬體資源的識別符以及提供用於與該硬體資源配對的配對請求之應用的識別符,以及,為回應收到該請求資料,經由無狀態協定訊息,提供該配對請求的核准或是該配對請求的拒絕給該計算裝置;符記評估邏輯,用以:經由無狀態協定訊息,接收來自該應用之用於存取該硬體資源的存取請求,其中,該存取請求包含配對符記,該配對符記是由該計算裝置產生及提供給該應用,以回應該計算裝置收到該配對請求評估邏輯提供的該配對請求的核准,以及,使該配對符記有效或無效;以及,資源管理邏輯,與該符記評估邏輯耦合,經由無狀態 協定訊息,以提供用於供應給該應用之來自該硬體資源的資料,以回應該配對符記的有效。
  20. 如申請專利範圍第19項之設備,其中,該應用在該設備上執行。
  21. 如申請專利範圍第19項之設備,其中,從該計算裝置接收該存取請求,以及,其中,該應用在不同於該計算裝置的第二計算裝置上執行。
  22. 如申請專利範圍第21項之設備,其中,該存取請求包含該應用的網際網路協定(IP)位址,以及,其中,使該配對符記有效或無效包括決定該應用的IP位址分別符合或不符合該設備的IP位址。
  23. 如申請專利範圍第19項之設備,其中,從第三計算裝置接收該存取請求,該第三計算裝置不同於該計算裝置及不同於應用於上執行的第二計算裝置。
  24. 如申請專利範圍第19項之設備,其中,該配對請求評估邏輯包含在核心應用、網路介面卡、或是管理力引擎中。
  25. 如申請專利範圍第19項之設備,其中,該無狀態協定訊息是表示狀態傳輸(REST)呼叫。
TW104127513A 2014-09-26 2015-08-24 硬體資源存取系統及技術 TWI617166B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/497,581 2014-09-26
US14/497,581 US9762676B2 (en) 2014-09-26 2014-09-26 Hardware resource access systems and techniques
??PCT/US15/41797 2015-07-23
PCT/US2015/041797 WO2016048441A1 (en) 2014-09-26 2015-07-23 Hardware resource access systems and techniques

Publications (2)

Publication Number Publication Date
TW201633762A true TW201633762A (zh) 2016-09-16
TWI617166B TWI617166B (zh) 2018-03-01

Family

ID=55581723

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104127513A TWI617166B (zh) 2014-09-26 2015-08-24 硬體資源存取系統及技術

Country Status (5)

Country Link
US (2) US9762676B2 (zh)
EP (1) EP3198832B1 (zh)
CN (1) CN106664307B (zh)
TW (1) TWI617166B (zh)
WO (1) WO2016048441A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160076371A (ko) 2014-12-22 2016-06-30 삼성전자주식회사 워크플로우를 처리하는 방법 및 이를 수행하는 모바일 디바이스
WO2016105083A1 (en) 2014-12-22 2016-06-30 Samsung Electronics Co., Ltd. Method of generating workform by using byod service and mobile device for performing the method
WO2016105044A1 (en) * 2014-12-22 2016-06-30 Samsung Electronics Co., Ltd. Method of establishing connection between mobile device and image forming apparatus, and image forming apparatus and mobile device for performing the method
US9749310B2 (en) * 2015-03-27 2017-08-29 Intel Corporation Technologies for authentication and single-sign-on using device security assertions
US10009899B2 (en) * 2015-03-31 2018-06-26 Dell Products, Lp System and method for policy based wireless docking access and prioritization
US9888070B2 (en) * 2015-06-29 2018-02-06 Microsoft Technology Licensing, Llc Brokered advanced pairing
CN105243318B (zh) * 2015-08-28 2020-07-31 小米科技有限责任公司 确定用户设备控制权限的方法、装置及终端设备
US10382203B1 (en) * 2016-11-22 2019-08-13 Amazon Technologies, Inc. Associating applications with Internet-of-things (IoT) devices using three-way handshake
US10819586B2 (en) * 2018-10-17 2020-10-27 Servicenow, Inc. Functional discovery and mapping of serverless resources
US11190514B2 (en) * 2019-06-17 2021-11-30 Microsoft Technology Licensing, Llc Client-server security enhancement using information accessed from access tokens
WO2022056097A1 (en) * 2020-09-09 2022-03-17 Springcoin, Inc. Method and apparatus for third-party managed data transference and corroboration via tokenization
CN116635837A (zh) * 2020-12-10 2023-08-22 斯纳普公司 摄像装置能力api框架和共享oem存储库系统
US11921842B2 (en) 2021-06-14 2024-03-05 Kyndryl, Inc. Multifactor authorization on accessing hardware resources

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587867B1 (en) * 1997-05-22 2003-07-01 Mci Communications Corporation Internet-based subscriber profile management of a communications system
US20050182966A1 (en) * 2004-02-17 2005-08-18 Duc Pham Secure interprocess communications binding system and methods
US7567573B2 (en) * 2004-09-07 2009-07-28 F5 Networks, Inc. Method for automatic traffic interception
US8127024B2 (en) * 2004-10-29 2012-02-28 Oracle International Corporation Parameter passing in web based systems
EP1788773A1 (en) * 2005-11-18 2007-05-23 Alcatel Lucent Method and apparatuses to request delivery of a media asset and to establish a token in advance
US20070153813A1 (en) * 2005-12-29 2007-07-05 Level 3 Communications, Inc. Traffic distribution in a communications network
MX2007001832A (es) * 2006-02-16 2008-11-18 Intelliserv Inc Descubrimiento de nodos en red de testigo lógica segmentada físicamente.
US7844187B2 (en) * 2006-12-12 2010-11-30 Intel Corporation Optical communications circuit current management
US8825999B2 (en) * 2007-10-20 2014-09-02 Blackout, Inc. Extending encrypting web service
US8239340B2 (en) * 2008-04-11 2012-08-07 Trevor Hanson Message conduit systems with algorithmic data stream control and methods for processing thereof
JP4691146B2 (ja) 2008-08-05 2011-06-01 三菱電機インフォメーションシステムズ株式会社 飲食店における顧客の飲食管理分析システム
KR101534791B1 (ko) * 2008-12-19 2015-07-07 빅-비올렉스 에스아 면도기 카트리지 및 이러한 면도기 카트리지를 포함하는 기계식 면도기
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8681970B2 (en) * 2010-02-08 2014-03-25 Genesys Telecommunications Laboratories, Inc. Portable continuity object
JP5429667B2 (ja) 2010-03-31 2014-02-26 国立大学法人 長崎大学 摂食機能評価用スプーン、摂食機能評価システム及び摂食機能評価方法
US8606306B2 (en) * 2010-04-07 2013-12-10 Apple Inc. Multiple client computing device invitations for online communication sessions
US8631482B2 (en) 2010-05-28 2014-01-14 Apple Inc. Method for managing computer resources accessed by a program operating in a restricted environment
JP5129313B2 (ja) * 2010-10-29 2013-01-30 株式会社東芝 アクセス認可装置
US8868915B2 (en) 2010-12-06 2014-10-21 Verizon Patent And Licensing Inc. Secure authentication for client application access to protected resources
US9183361B2 (en) * 2011-09-12 2015-11-10 Microsoft Technology Licensing, Llc Resource access authorization
US9495533B2 (en) 2011-09-29 2016-11-15 Oracle International Corporation Mobile application, identity relationship management
US8484363B2 (en) * 2011-10-21 2013-07-09 Motorola Mobility Llc Device provisioning or pairing using graphical representation of device identifier
US9160739B2 (en) * 2012-05-21 2015-10-13 Invisible Text, LLC Secure data transmission system
US9380018B2 (en) * 2012-05-29 2016-06-28 Openet Telecom Ltd. System and method for communicating in a telecommunication network via common key routing and proxies
US8844026B2 (en) 2012-06-01 2014-09-23 Blackberry Limited System and method for controlling access to secure resources
US9256722B2 (en) * 2012-07-20 2016-02-09 Google Inc. Systems and methods of using a temporary private key between two devices
TWM451895U (zh) 2012-11-27 2013-05-01 Univ Minghsin Sci & Tech 偵測用餐進度之餐具
US9491266B2 (en) 2012-12-03 2016-11-08 Sap Se Representational state transfer communications via remote function calls
US10193993B2 (en) * 2013-05-30 2019-01-29 Ebay Inc. Systems and methods of token piggybacking
TWM465706U (zh) * 2013-07-19 2013-11-11 Ozaki Int Co Ltd 連接埠擴充裝置
CN105765549B (zh) * 2013-12-26 2021-03-09 英特尔公司 设备配对
KR102247410B1 (ko) * 2014-02-07 2021-05-04 오라클 인터내셔날 코포레이션 모바일 클라우드 서비스 아키텍처
US20150288667A1 (en) * 2014-04-08 2015-10-08 Samsung Electronics Co., Ltd. Apparatus for sharing a session key between devices and method thereof
US9813379B1 (en) * 2014-05-09 2017-11-07 Amazon Technologies, Inc. Virtual private gateways using compute instances

Also Published As

Publication number Publication date
EP3198832B1 (en) 2021-08-25
EP3198832A1 (en) 2017-08-02
CN106664307A (zh) 2017-05-10
CN106664307B (zh) 2020-07-07
US20180183880A1 (en) 2018-06-28
US9762676B2 (en) 2017-09-12
US10334056B2 (en) 2019-06-25
EP3198832A4 (en) 2018-06-13
TWI617166B (zh) 2018-03-01
US20160094664A1 (en) 2016-03-31
WO2016048441A1 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
TWI617166B (zh) 硬體資源存取系統及技術
US20230419398A1 (en) System and method for programmatically accessing financial data
US20200304485A1 (en) Controlling Access to Resources on a Network
US10965658B2 (en) Application program as key for authorizing access to resources
US10182052B2 (en) Proxy authentication
US9686287B2 (en) Delegating authorization to applications on a client device in a networked environment
US9769266B2 (en) Controlling access to resources on a network
US11764961B2 (en) Techniques for using signed nonces to secure cloud shells
CN106341234B (zh) 一种授权方法及装置
US11190522B2 (en) Access delegation using offline token
US20140109194A1 (en) Authentication Delegation
KR20190069574A (ko) 무선 네트워크 유형 검출 방법과 장치, 및 전자 디바이스
WO2023241060A1 (zh) 数据访问方法和装置
US10218700B2 (en) Authorizations for computing devices to access a protected resource
WO2023202214A1 (zh) 一种通信方法、装置、系统、终端及服务器
US11831788B2 (en) Systems and methods for secure access with heartbeat monitoring to native cloud services to computers outside the cloud
US20230370461A1 (en) Intercloud service gateway

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees