無客戶端的云計算的制作方法
【專利摘要】提供了用于無客戶端云計算的方法、裝置和制造品。無客戶端的云計算可以通過檢測多個輸入/輸出設(shè)備(110、120、125)來實施,該多個輸入/輸出設(shè)備(110、120、125)中的至少一部分與唯一標(biāo)識符相關(guān)聯(lián)并且可用于通信地綁定至位于云端的計算機(140;150;160)。接收包括對輸入/輸出設(shè)備(110;120;125)的選擇的綁定偏好。該選擇包括與所選擇的輸入/輸出設(shè)備(110;120;125)相關(guān)聯(lián)的唯一標(biāo)識符。傳輸對所選擇的輸入/輸出設(shè)備(110;120;125)的綁定請求,并且所選擇的輸入/輸出設(shè)備(110;120;125)與位于云端的計算機(140;150;160)通信地綁定。
【專利說明】無客戶端的云計算
【技術(shù)領(lǐng)域】
[0001] 本公開內(nèi)容一般性地針對計算機輸入/輸出設(shè)備,并且更具體地針對被配置用于 云計算應(yīng)用的附接到網(wǎng)絡(luò)的輸入/輸出設(shè)備。
【背景技術(shù)】
[0002] 最初,計算機輸入/輸出(I/O)設(shè)備是計算機自身的構(gòu)成整體所必需的部分。諸 如電話交換板插頭之類的一些I/O設(shè)備是機器的物理構(gòu)造的一部分,而諸如操作者控制臺 和打印機之類的其他I/O設(shè)備則通過電纜連接至計算機的主體。然而,這些設(shè)備是計算系 統(tǒng)的構(gòu)成整體所必需的部分,并且不期望用戶拔掉它們、替換它們或移動它們。
[0003] 隨著時間共享的引入,使得多個同時用戶通常能夠從遠(yuǎn)程終端訪問相同的計算機 成為必要。這些遠(yuǎn)程終端經(jīng)常具有集成的I/O設(shè)備(通常是鍵盤和打印機)并且經(jīng)由網(wǎng)絡(luò) (其經(jīng)常是電話網(wǎng)絡(luò))或簡單的線路集合連接至計算機自身。
[0004] 當(dāng)個人計算(PC)被引入時,它們經(jīng)常包括集成的I/O設(shè)備。例如,PC經(jīng)常包括集 成的監(jiān)視器、鍵盤、以及一個或多個集成的軟盤驅(qū)動器。PC還被提供了用戶自由地拔下、移 動、以及替換的非集成的I/O設(shè)備,諸如打印機和鼠標(biāo)指示器。
[0005] 對于云計算而言,計算機已經(jīng)遠(yuǎn)離用戶而進(jìn)入到聯(lián)網(wǎng)的云環(huán)境之中。計算機也并 不再局限于是物理計算機:位于云端的計算機能夠是物理的或虛擬的。在云計算系統(tǒng)中,用 戶通常經(jīng)由遠(yuǎn)程終端來訪問基于云的計算機,該遠(yuǎn)程終端經(jīng)常是可以支持集成I/O設(shè)備和 用戶所附接的I/O設(shè)備兩者的瘦客戶端。
[0006] 然而,在這些I/O設(shè)備/計算機配置中,可能難以將所期望的I/O設(shè)備集合附接 至給定的(本地的或遠(yuǎn)程的,物理的或虛擬的)計算機。例如,希望使用具體的監(jiān)視器、鍵 盤、或操縱桿(例如,用來玩在位于云端的計算機上運行的游戲)的用戶必須首先將這些 I/O設(shè)備物理地附接至具體的遠(yuǎn)程終端(或者找到提供一些或全部那些設(shè)備的集成版本的 遠(yuǎn)程終端)。然而,用戶經(jīng)常并不知道如何將I/O設(shè)備附接至遠(yuǎn)程終端。即使對于知識淵 博的用戶而言,需要將I/O設(shè)備物理地移動以便更接近于遠(yuǎn)程終端也可能是令人煩惱的事 情。此外,如果遠(yuǎn)程終端用盡了空閑的I/O連接端口,則必須添加更多的端口或者所附接的 I/O設(shè)備必須被斷開連接以便添加新的I/O設(shè)備。
【發(fā)明內(nèi)容】
[0007] 為了消除將I/O設(shè)備物理地移動并且插入到客戶端設(shè)備,并且為了使得各種基于 云的應(yīng)用成為可能,提供了用于動態(tài)地將所期望的I/O設(shè)備集合與所指定的位于云端的計 算機相關(guān)聯(lián)的方法、系統(tǒng)和制造品。
[0008] 根據(jù)一個實施例,檢測多個輸入/輸出設(shè)備。該多個輸入/輸出設(shè)備中的至少一 部分與唯一標(biāo)識符相關(guān)聯(lián)并且可用于通信地綁定至位于云端的計算機。接收包括由用戶所 指定的對輸入/輸出設(shè)備的選擇的綁定偏好,該選擇包括與所選擇的輸入/輸出設(shè)備相關(guān) 聯(lián)的唯一標(biāo)識符。綁定請求被傳輸給所選擇的輸入/輸出設(shè)備,并且所選擇的輸入/輸出 設(shè)備與該位于云端的計算機通信地綁定。該多個輸入/輸出設(shè)備的該部分的列表可以被呈 現(xiàn)給用戶并且可以從所選擇的輸入/輸出設(shè)備接收綁定接受。
[0009] 根據(jù)一個實施例,基于所接收的綁定偏好來自動地選擇另一個輸入/輸出設(shè)備以 用于與該位于云端的計算機綁定。
[0010] 根據(jù)一個實施例,確定該位于云端的計算機的TCP地址,并且該TCP地址被傳輸給 所選擇的輸入/輸出設(shè)備。
[0011] 根據(jù)一個實施例,輸入/輸出通信在所選擇的輸入/輸出設(shè)備與該位于云端的計 算機之間被路由??梢栽谒x擇的輸入/輸出設(shè)備與該位于云端的計算機之間建立基于 TCP的通信或者基于UDP的通信。
[0012] 根據(jù)一個實施例,從所選擇的輸入/輸出設(shè)備或者該位于云端的計算機所接收的 輸入/輸出通信從第一格式轉(zhuǎn)換為第二格式,其中該第二格式基于輸入/輸出通信的接收 方所理解的協(xié)議。
[0013] 根據(jù)一個實施例,接收包括對位于云端的計算機的選擇的綁定偏好,并且傳輸對 所選擇的位于云端的計算機的綁定請求。
[0014] 通過參考以下的詳細(xì)描述和附圖,本發(fā)明的這些和其他優(yōu)點對于本領(lǐng)域的技術(shù)人 員將會是明顯的。
【專利附圖】
【附圖說明】
[0015] 圖1是示出了根據(jù)一個實施例的可以被用于實施無客戶端的云計算的云計算環(huán) 境的示圖;
[0016] 圖2是示出了根據(jù)一個實施例的用于實施無客戶端的云計算的無客戶端輸入/輸 出設(shè)備配置的示圖;
[0017] 圖3是示出了根據(jù)一個實施例的可以被用于實施無客戶端的云計算的云計算環(huán) 境的另一視圖的示圖;
[0018] 圖4是根據(jù)一個實施例的用于實施無客戶端的云計算的過程的流程圖;以及 [0019] 圖5是可以被用于實施無客戶端的云計算的示例性計算機的高層級框圖。
【具體實施方式】
[0020] 本描述和附圖僅說明了本發(fā)明的原理。因此,將意識到,本領(lǐng)域的技術(shù)人員將能 夠設(shè)計出雖然并未在本文中明確描述或示出但是體現(xiàn)了本發(fā)明原理并且包括在其范圍之 內(nèi)的各種布置。此外,本文所記載的所有示例主要都明確地僅出于教導(dǎo)的目的,以輔助讀 者理解本發(fā)明的原理以及(多個)發(fā)明人為了促進(jìn)該領(lǐng)域而貢獻(xiàn)的概念,并且要被解釋為 不限制于這樣具體記載的示例和條件。此外,除非另外指示(例如,"否則"或者"或可替換 地"),否則如本文所使用的術(shù)語"或者"是指非排他性的或者。而且,本文所描述的各種實 施例并非必然互相排斥,因為一些實施例能夠與一個或多個其他實施例相組合以形成新的 實施例。
[0021] 根據(jù)各種實施例,無客戶端的輸入/輸出設(shè)備(本文也被稱作無客戶端的I/O設(shè) 備、I/O設(shè)備或設(shè)備)經(jīng)由云計算網(wǎng)絡(luò)而通信地綁定至位于云端的計算機。通信地綁定至 位于云端的計算機的無客戶端I/O設(shè)備能夠相對于該位于云端的計算機或者相對于彼此 而位于地理上的遠(yuǎn)程位置,包括具有網(wǎng)絡(luò)連接性的任何位置。通信地綁定至位于云端的計 算機的無客戶端I/O設(shè)備能夠從位于云端的計算機附接至不同網(wǎng)絡(luò),并且可以通過一個或 多個中間網(wǎng)絡(luò)而維持與位于云端的計算機的連接性。無客戶端I/O設(shè)備與云計算網(wǎng)絡(luò)之間 的接口能夠是物理的(例如,有線的)、無線的、或者它們的任何組合。
[0022] 圖1是示出了根據(jù)一個實施例的可以被用于實施無客戶端的云計算的云計算環(huán) 境的示圖。無客戶端的云計算能夠通過云計算環(huán)境130來提供。諸如I/O設(shè)備屯110和1/ 0設(shè)備(^120之類的無客戶端I/O設(shè)備能夠經(jīng)由一個或多個中間網(wǎng)絡(luò)一諸如經(jīng)由網(wǎng)絡(luò)100- 與云計算環(huán)境130進(jìn)行通信??商鎿Q地,諸如I/O設(shè)備d 2125的I/O設(shè)備能夠在沒有中間 網(wǎng)絡(luò)的情況下直接與云計算環(huán)境130進(jìn)行通信。I/O設(shè)備dQ110、4120和d 2125能夠動態(tài) 地綁定至云130內(nèi)的位于云端的計算機140、150和160(本文也被稱作計算機)中的一個 或多個位于云端的計算機。例如,I/O設(shè)備d Q110、(^120和d2125可以向在位于云端的計算 機140、150和160中的一個或多個上執(zhí)行的一個或多個基于云的應(yīng)用傳輸輸入,并且從它 們接收輸出。I/O設(shè)備可以綁定至執(zhí)行應(yīng)用的特定計算機,或者I/O設(shè)備可以同時地或動 態(tài)地綁定至多個計算機,其中的每個計算機可以在任何給定時間執(zhí)行應(yīng)用的一部分或者全 部。例如,計算機140可以提供基于云的應(yīng)用,諸如電子制表程序(spreadsheet)、相冊、文 字處理器、地圖或視頻錄制應(yīng)用?;谠频膽?yīng)用可以經(jīng)由計算機160(即,數(shù)據(jù)庫服務(wù)器) 來訪問存儲在數(shù)據(jù)庫165中的文檔,并且對該文檔的訪問能夠經(jīng)由計算機150處的網(wǎng)頁來 提供。在這樣的應(yīng)用的執(zhí)行期間的任何給定時間,I/O設(shè)備110U20和125可以在必要情 況下動態(tài)地綁定至(或者解除綁定)位于云端的計算機140、150和160。
[0023] 圖2是示出了根據(jù)一個實施例的用于實施無客戶端的云計算的無客戶端輸入/輸 出設(shè)備配置的示圖。無客戶端的I/O設(shè)備200可以經(jīng)由接口 N 202來訪問網(wǎng)絡(luò)100 (或者直 接訪問云130)。雖然接口 N 202可以是任何I/O連接器類型(例如,USB、SATA、VGA、DVI、 HDMI、TRS、PS2、FireWire等),但是在一個示例性實施例中,接口 N 202與用于網(wǎng)絡(luò)連接性 的單個標(biāo)準(zhǔn)化格式相兼容。例如,接口 N 202可以是以太網(wǎng)連接器。如此,設(shè)備200可以是 采用以太網(wǎng)接口來替代標(biāo)準(zhǔn)PS2或USB接口的聯(lián)網(wǎng)鼠標(biāo),或者是采用以太網(wǎng)接口來替代標(biāo) 準(zhǔn)VGA或DVI接口的聯(lián)網(wǎng)監(jiān)視器。
[0024] 本領(lǐng)域的技術(shù)人員將會注意到,對于與聯(lián)網(wǎng)(例如,以太網(wǎng))設(shè)備協(xié)議相兼容的設(shè) 備(即,本地的聯(lián)網(wǎng)設(shè)備)而言,用于將非聯(lián)網(wǎng)I/O設(shè)備協(xié)議轉(zhuǎn)換為聯(lián)網(wǎng)(例如,以太網(wǎng)) 設(shè)備協(xié)議的轉(zhuǎn)換器將并非是必需的。然而,對于設(shè)備200為常規(guī)(非聯(lián)網(wǎng))設(shè)備的實例而 言,設(shè)備200可以與用于將非聯(lián)網(wǎng)I/O設(shè)備協(xié)議轉(zhuǎn)換為聯(lián)網(wǎng)(例如,以太網(wǎng))設(shè)備協(xié)議的 轉(zhuǎn)換器204進(jìn)行通信。轉(zhuǎn)換器204可以在物理上由基于FPGA的板、ASIC,或者由符合于所 期望的尺寸、成本、功率和性能要求的硬件和軟件的組合來實施。在一個實施例中,轉(zhuǎn)換器 204在與接口 N 202(第一面向網(wǎng)絡(luò)的接口)和第二面向設(shè)備的接口 P 206的通信中。例 如,面向設(shè)備的接口 P 206可以與任何預(yù)先存在的本地設(shè)備協(xié)議相兼容。對于去往或來自 設(shè)備200的任何輸入或輸出通信,轉(zhuǎn)換器204可以將設(shè)備200的本地協(xié)議轉(zhuǎn)換為網(wǎng)絡(luò)所辨 識的應(yīng)用層協(xié)議,或者反之亦然。例如,轉(zhuǎn)換器204可以將從設(shè)備200所接收的輸出通信從 第一格式轉(zhuǎn)換為第二格式,其中該第二格式基于位于云端的計算機所理解的協(xié)議。同樣地, 轉(zhuǎn)換器204可以將從位于云端的計算機所接收的輸入通信從第一格式轉(zhuǎn)換為第二格式,其 中該第二格式基于設(shè)備200所理解的協(xié)議。
[0025] 在另一個實施例中,轉(zhuǎn)換器204可以通過符合于服務(wù)質(zhì)量(QoS)要求的互聯(lián)網(wǎng)協(xié) 議(例如,IP上的USB)以對傳輸設(shè)備200的已有本地協(xié)議開隧道。如此,設(shè)備200可以在 不被配置用于網(wǎng)絡(luò)兼容協(xié)議的情況下綁定至位于云端的計算機。例如,位于云端的計算機 可以運行與典型I/O協(xié)議(諸如DVI和USB)而不是非典型I/O或定制協(xié)議相兼容的操作 系統(tǒng)(0S),諸如Windows?或Linux?。在這樣的情況下,轉(zhuǎn)換器204可以通過接收從 設(shè)備200所傳輸?shù)谋镜乜刂坪蛿?shù)據(jù)分組并且然后將這些控制和數(shù)據(jù)分組進(jìn)行轉(zhuǎn)換以便在 網(wǎng)絡(luò)協(xié)議分組內(nèi)重新傳輸,而對(非以太網(wǎng))設(shè)備200的本地協(xié)議開隧道。位于云端的計 算機然后可以從這些網(wǎng)絡(luò)協(xié)議分組中去除隧道化的控制和數(shù)據(jù)分組,并且就像它們來自于 本地附接的I/O設(shè)備那樣將這些數(shù)據(jù)分組呈現(xiàn)給計算機0S。該過程在下游方向上被反轉(zhuǎn) (即,從位于云端的計算機到I/O設(shè)備)。
[0026] 圖3是示出了根據(jù)一個實施例的可以被用于實施無客戶端的云計算的云計算環(huán) 境的另一視圖的示圖。在圖3的無客戶端的云計算網(wǎng)絡(luò)中,綁定器300諸如經(jīng)由網(wǎng)絡(luò)100 而將綁定請求傳送給I/O設(shè)備屯110、(^120和d 2125。例如,綁定器300能夠經(jīng)由包括集成 用戶接口 302的移動(例如,手持)設(shè)備來實施??商鎿Q地,綁定器300可以是經(jīng)由其他設(shè) 備(例如,經(jīng)由在與綁定器300的通信中的外部設(shè)備用戶接口)可訪問的固定計算機終端。 此外,雖然綁定器300在本文中被描述為分立元件,但是本領(lǐng)域的技術(shù)人員將會注意到,綁 定器300的功能(以及發(fā)送給綁定器300的綁定請求)可以由圖3的無客戶端云計算網(wǎng)絡(luò) 中的其他元件來執(zhí)行(或者發(fā)送給這些其他元件),這些其他元件包括可以并入用于管理 綁定的功能的一個或多個元件(例如,位于云端的計算機140、150和160)。
[0027] 用戶接口 302向用戶呈現(xiàn)動態(tài)的或定期更新的可用的I/O設(shè)備、位于云端的計算 機、或者可用的I/O設(shè)備和位于云端的計算機兩者的列表。例如,在操作中,綁定器300可 以允許用戶基于在用戶接口 302處所呈現(xiàn)的列表而在所選擇的I/O設(shè)備與位于云端的計算 機之間發(fā)起綁定。在一個實施例中,用戶可以從相對于所選擇的I/O設(shè)備的位置的附近位 置(例如,與所選擇I/O設(shè)備鄰近的位置)發(fā)起綁定,或者從相對于所選擇的I/O設(shè)備的位 置的遠(yuǎn)程位置發(fā)起綁定。如此,綁定器300的一種或多種功能可以實施在對特定用戶而言 可以是唯一的移動手持設(shè)備上(例如,通過被配置為運行在智能電話上的軟件應(yīng)用)。
[0028] 綁定過程可以在用戶諸如通過選擇BIND發(fā)起器而從在用戶接口 302處所呈現(xiàn)的 列表中選擇一個設(shè)備或位于云端的計算機時被發(fā)起??商鎿Q地,用戶可以從在用戶接口 302 處所呈現(xiàn)的列表中選擇位于云端的應(yīng)用(代替位于云端的計算機)。在另一個可替換實施 例中,綁定過程可以由位于云端的計算機發(fā)起。當(dāng)綁定過程被發(fā)起時,綁定器300可以訪問 與可用于綁定的每個位于云端的計算機相匹配的一個或多個IP地址條目的查找表。綁定 器300可以被預(yù)先配置具有可用計算機的IP地址,或者可替換地,綁定器300諸如可以通 過指配給用戶的個人標(biāo)識符來發(fā)現(xiàn)可用的位于云端的計算機。例如,無論何時用戶希望更 新可用的位于云端的計算機的列表,綁定器300都可以向(例如,云內(nèi)的)發(fā)現(xiàn)服務(wù)器304 傳輸包含用戶的個人標(biāo)識符的列舉請求,發(fā)現(xiàn)服務(wù)器304維護數(shù)據(jù)庫306,數(shù)據(jù)庫306包含 當(dāng)前可用于每個用戶/訂戶的位于云端的計算機的列表。在一個實施例中,發(fā)現(xiàn)服務(wù)器304 可以由云環(huán)境130的服務(wù)提供商來維護。當(dāng)發(fā)現(xiàn)服務(wù)器304接收到該列舉請求時,發(fā)現(xiàn)服 務(wù)器304可以查閱數(shù)據(jù)庫以將用戶列表返回給綁定器300 (例如,以合格域名的形式)。可 替換地,如果用戶被訂閱至多于一個云提供商,則綁定器300可以被配置為針對可用的位 于云端的計算機而詢問多個發(fā)現(xiàn)服務(wù)器。綁定器300還可以提供UNBIND發(fā)起器,當(dāng)其被用 戶選擇時,使得所選擇的I/O設(shè)備從位于云端的計算機解除綁定。
[0029] 為了發(fā)現(xiàn)可用的I/O設(shè)備,綁定器300可以從I/O設(shè)備接收通告它們的存在的定 期通告(例如,信標(biāo)信號)??商鎿Q地,綁定器300可以針對指示I/O設(shè)備的消息而監(jiān)測網(wǎng) 絡(luò),或者針對I/O設(shè)備而主動地掃描網(wǎng)絡(luò)(例如,基于地理或用戶接近度)。在一個實施例 中,綁定器300可以讀取或者查明I/O設(shè)備的IP地址,諸如通過掃描指示與所選擇的I/O 設(shè)備相關(guān)聯(lián)的當(dāng)前IP地址的設(shè)備顯示(例如,LCD顯示器或條形碼)??商鎿Q地,設(shè)備可以 包括諸如MAC地址的全球唯一的固定標(biāo)識符,或者由綁定器300可檢測的人類可讀取的字 符串。進(jìn)一步地,I/O設(shè)備可以自我識別。在各種實施例中,諸如附接至網(wǎng)絡(luò)的監(jiān)視器之類 的I/O設(shè)備可以一經(jīng)從綁定器300接收到信號就閃爍其屏幕,而附接至網(wǎng)絡(luò)的揚聲器可以 被編程用于獨特的聲音響應(yīng),或者可以使得附接至網(wǎng)絡(luò)的操縱桿隆隆作響,等等。例如,用 戶接口 302可以呈現(xiàn)FLASH發(fā)起器,當(dāng)其被用戶選擇時,使得當(dāng)前在可用I/O設(shè)備列表上的 所選擇的I/O設(shè)備識別它自己(例如,通過閃爍、嗶嗶作響、隆隆作響等)。
[0030] 在綁定之后,云130內(nèi)的業(yè)務(wù)路由器308可以被布置用于將來自所選擇的I/O設(shè) 備(例如,設(shè)備110、120或125)的I/O業(yè)務(wù)路由至位于云端的計算機(例如,計算機140、 150或160)。各種機制能夠?qū)嵤┰谠苾?nèi)以將I/O業(yè)務(wù)從所選擇的I/O設(shè)備路由至位于云端 的計算機。例如,諸如計算機150的在物理上所顯現(xiàn)的位于云端的計算機可以包括流化器 310,流化器310用于管理并終止被路由至所附接的計算機的I/O業(yè)務(wù)。流化器310例如可 以由具有外部網(wǎng)絡(luò)接口的定制PCIExpress卡來實施。
[0031] 在一個實施例中,綁定器310能夠通過提供與流化器310相關(guān)聯(lián)的TCP地址而向 所選擇的I/O設(shè)備通知綁定請求。所選擇的I/O設(shè)備然后可以發(fā)起通向流化器310的TCP 控制連接,并且建立用于I/O業(yè)務(wù)的TCP或UDP通信。解除綁定能夠通過終止該TCP和UDP 通信來實施??商鎿Q地,綁定器300可以與業(yè)務(wù)路由器308通信,以在所綁定的計算機和1/ 〇設(shè)備之間重定向設(shè)備業(yè)務(wù)。
[0032] 圖4是根據(jù)一個實施例的用于實施無客戶端的云計算的過程的流程圖。在過程 400中,在402處,檢測多個輸入/輸出設(shè)備,其中該多個輸入/輸出設(shè)備每個都包括唯一的 標(biāo)識符并且可用于通信地綁定至位于云端的計算機。例如,可用的I/O設(shè)備可以由綁定器 300發(fā)現(xiàn),或者用戶可以指定用于綁定的設(shè)備,諸如鄰近的公共監(jiān)視器、鍵盤等。
[0033] 在404處,可用I/O設(shè)備的列表諸如經(jīng)由綁定器300的用戶接口 302而被呈現(xiàn)給 用戶。在406處,接收包括由用戶所指定的對輸入/輸出設(shè)備或位于云端的計算機的選擇 的綁定偏好,該選擇包括用于所選擇的輸入/輸出設(shè)備的唯一標(biāo)識符。例如,綁定偏好還可 以包括針對I/O設(shè)備、位于云端的計算機、或者兩者的選擇。在408處,確定滿足所接收的 綁定偏好所需要的所選擇的I/O設(shè)備和位于云端的計算機,并且在410處,包括與該位于云 端的計算機相關(guān)聯(lián)的所確定的TCP地址的綁定請求被傳輸給基于該綁定偏好所選擇的I/O 設(shè)備。
[0034] 在412處,從所選擇的I/O設(shè)備接收指示綁定是否成功的成功/失敗消息。如果 成功,則所選擇的輸入/輸出設(shè)備與該位于云端的計算機通信地綁定,并且在414處,I/O業(yè) 務(wù)可以在所選擇的I/O設(shè)備與該位于云端的計算機之間被路由。
[0035] 如果綁定失敗,則在408處,可以由用戶(例如,經(jīng)由綁定器300)或者自動地(例 如,基于用戶的先前綁定偏好)選擇替換的綁定。
[0036] 如此,公開了一種用于發(fā)現(xiàn)、綁定、并且控制I/O設(shè)備的模型,其中I/O設(shè)備直接附 接至基于云的網(wǎng)絡(luò),并且可以動態(tài)地綁定至位于云端的計算機。本文所描述的系統(tǒng)、裝置和 方法可以使用數(shù)字電路來實施,或者使用一個或多個計算機來實施,該一個或多個計算機 使用公知的計算機處理器、存儲器單元、存儲設(shè)備、計算機軟件、以及其他組件。典型地,計 算機包括用于執(zhí)行指令的處理器以及用于存儲指令和數(shù)據(jù)的一個或多個存儲器。計算機還 可以包括或耦合至一個或多個大容量存儲設(shè)備,諸如一個或多個磁盤、內(nèi)部硬盤和可移除 盤、磁光盤、光盤等。
[0037] 本文所描述的系統(tǒng)、裝置和方法可以使用以客戶端-服務(wù)器關(guān)系進(jìn)行操作的計算 機來實施。典型地,在這樣的系統(tǒng)中,客戶端計算機遠(yuǎn)離服務(wù)器計算機而定位并且經(jīng)由網(wǎng)絡(luò) 進(jìn)行交互??蛻舳?服務(wù)器關(guān)系可以由在相應(yīng)客戶端和服務(wù)器計算機上運行的計算機程序 所定義并且控制。
[0038] 本文所描述的系統(tǒng)、裝置和方法可以使用在基于網(wǎng)絡(luò)的云計算系統(tǒng)內(nèi)。在這樣的 基于網(wǎng)絡(luò)的云計算系統(tǒng)中,連接至網(wǎng)絡(luò)的服務(wù)器或另一個處理器經(jīng)由網(wǎng)絡(luò)與一個或多個客 戶端計算機進(jìn)行通信。例如,客戶端計算機可以經(jīng)由位于并操作在客戶端計算機上的網(wǎng)絡(luò) 瀏覽器應(yīng)用與服務(wù)器進(jìn)行通信??蛻舳擞嬎銠C可以在服務(wù)器上存儲數(shù)據(jù)并且經(jīng)由網(wǎng)絡(luò)來訪 問該數(shù)據(jù)??蛻舳擞嬎銠C可以經(jīng)由網(wǎng)絡(luò)向服務(wù)器傳輸針對數(shù)據(jù)的請求或者針對在線服務(wù)的 請求。服務(wù)器可以執(zhí)行所請求的服務(wù)并且向(多個)客戶端計算機提供數(shù)據(jù)。服務(wù)器還可 以傳輸被適配為使得客戶端計算機執(zhí)行所指定的功能(例如執(zhí)行計算,在屏幕上顯示指定 數(shù)據(jù),等等)的數(shù)據(jù)。例如,服務(wù)器可以傳輸被適配為使得客戶端計算機執(zhí)行本文所描述的 包括圖4的步驟中的一個或多個步驟的方法步驟中的一個或多個方法步驟的請求。本文所 描述的包括圖4的步驟中的一個或多個步驟的方法的某些步驟可以由服務(wù)器或者由基于 網(wǎng)絡(luò)的云計算系統(tǒng)中的另一個處理器來執(zhí)行。本文所描述的包括圖4的步驟中的一個或多 個步驟的方法的某些步驟可以由基于網(wǎng)絡(luò)的云計算系統(tǒng)中的客戶端計算機來執(zhí)行。本文所 描述的包括圖4的步驟中的一個或多個步驟的方法步驟可以部分地或完全地由服務(wù)器或 者由基于網(wǎng)絡(luò)的云計算系統(tǒng)中的客戶端計算機來執(zhí)行,或者由服務(wù)器和客戶端計算機的組 合來執(zhí)行。
[0039] 本文所描述的系統(tǒng)、裝置和方法可以使用計算機程序產(chǎn)品來實施,該計算機程序 產(chǎn)品有形地體現(xiàn)在信息載體中,例如體現(xiàn)在非瞬態(tài)機器可讀存儲設(shè)備中,用于由可編程處 理器執(zhí)行;并且本文所描述的包括圖4的步驟中的一個或多個步驟的方法步驟可以使用這 樣的處理器所理解的一個或多個計算機程序來實施。計算機程序是能夠在計算機中直接地 或者間接地用來執(zhí)行某些活動或者帶來某種結(jié)果的計算機程序指令的集合。計算機程序能 夠以任何形式的編程語言進(jìn)行編寫,包括匯編語言或者解釋性語言,并且其能夠以任何形 式被部署,包括作為獨立程序或者作為適合用于使用在計算環(huán)境中的模塊、組件、子程序、 或者其他單元。
[0040] 圖5中圖示了可以被用來實施本文所描述的系統(tǒng)、裝置和方法的示例性計算機的 高層級框圖。計算機500包括操作地耦合至數(shù)據(jù)存儲設(shè)備520和存儲器530的處理器510。 處理器510通過執(zhí)行定義計算機500的總體操作的計算機程序指令而控制這樣的操作。計 算機程序指令可以存儲在數(shù)據(jù)存儲設(shè)備520或者其他計算機可讀介質(zhì)中,并且在需要執(zhí)行 這些計算機程序指令時被加載到存儲器530中。因此,圖4的方法步驟能夠由存儲在存儲 器530或者數(shù)據(jù)存儲設(shè)備520中的計算機程序指令來定義,并且由執(zhí)行這些計算機程序指 令的處理器510來控制。例如,這些計算機程序指令能夠被實施為本領(lǐng)域的技術(shù)人員所編 程的計算機所理解的代碼,以執(zhí)行由圖4的方法步驟所定義的算法。相應(yīng)地,通過執(zhí)行這些 計算機程序指令,處理器510執(zhí)行由圖4的方法步驟所定義的算法。計算機500還包括一 個或多個網(wǎng)絡(luò)接口 540用于經(jīng)由網(wǎng)絡(luò)與其他設(shè)備進(jìn)行通信。計算機500還包括使得用戶與 計算機500的交互成為可能的一個或多個輸入/輸出設(shè)備550 (例如,顯不器、鍵盤、鼠標(biāo)、 揚聲器、按鈕等)。
[0041] 處理器510可以包括通用微處理器和專用微處理器兩者,并且可以是計算機500 的單個處理器或者多個處理器之一。例如,處理器510可以包括一個或多個中央處理單元 (CPU)。處理器510、數(shù)據(jù)存儲設(shè)備520、以及存儲器530可以包括一個或多個專用集成電 路(ASIC)或者一個或多個現(xiàn)場可編程門陣列(FPGA),由它們作為補充,或者被并入它們之 中。
[0042] 數(shù)據(jù)存儲設(shè)備520和存儲器530每個都包括有形的非瞬態(tài)計算機可讀存儲介質(zhì)。 數(shù)據(jù)存儲設(shè)備520和存儲器530每個都可以包括高速隨機訪問存儲器,諸如動態(tài)隨機訪 問存儲器(DRAM)、靜態(tài)隨機訪問存儲器(SRAM)、雙倍數(shù)據(jù)速率同步動態(tài)隨機訪問存儲器 (DDRRAM)、或者其他的隨機訪問固態(tài)存儲器設(shè)備,并且可以包括非易失性存儲器,諸如一個 或多個磁盤存儲設(shè)備,諸如內(nèi)部硬盤和可移除盤,磁光盤存儲設(shè)備、光盤存儲設(shè)備、閃存設(shè) 備、半導(dǎo)體存儲器設(shè)備,諸如可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲 器(EEPR0M)、壓縮盤只讀存儲器(CD-ROM)、數(shù)字多功能盤只讀存儲器(DVD-ROM)盤,或者其 他非易失性固態(tài)存儲設(shè)備。
[0043] 輸入/輸出設(shè)備550可以包括外設(shè),諸如打印機、掃描儀、顯示屏等。例如,輸入/ 輸出設(shè)備550可以包括顯示設(shè)備,諸如用于向用戶顯示信息的陰極射線管(CRT)、等離子或 液晶顯示器(LCD)監(jiān)視器,用戶能夠通過它們向計算機500提供輸入的鍵盤以及諸如鼠標(biāo) 或軌跡球之類的指示設(shè)備。
[0044] 包括 I/O 設(shè)備 110、120、120 和 200、轉(zhuǎn)換器 204、接口 202 和 206、計算機 140、150 和160、發(fā)現(xiàn)服務(wù)器304、數(shù)據(jù)庫165和306、流化器310和業(yè)務(wù)路由器308在內(nèi)的,本文所討 論的系統(tǒng)和裝置中的任何或全部系統(tǒng)和裝置可以使用諸如計算機500的計算機來實施。
[0045] 本領(lǐng)域的技術(shù)人員將會認(rèn)識到,實際的計算機或計算機系統(tǒng)的實施方式也可以具 有其他結(jié)構(gòu)并且可以包含其他組件,并且圖5是用于說明目的的這樣的計算機的一些組件 的1?層級表不。
[0046] 前述的詳細(xì)描述要被理解為在每個方面都是說明性和示例性而并非是限制性的, 并且本文所公開的發(fā)明的范圍并不從該詳細(xì)描述所確定,而是從根據(jù)專利法所準(zhǔn)許的完全 寬度進(jìn)行解釋的權(quán)利要求所確定。所要理解的是,本文所示出并描述的實施例僅是本發(fā)明 的原理的說明,并且本領(lǐng)域的技術(shù)人員在不偏離本發(fā)明的范圍和精神的情況下可以實施各 種修改。本領(lǐng)域的技術(shù)人員可以在不偏離本發(fā)明的范圍和精神的情況下實施各種其他的特 征組合。
【權(quán)利要求】
1. 一種裝置,包括: 數(shù)據(jù)存儲設(shè)備;以及 通信地耦合至所述數(shù)據(jù)存儲設(shè)備的處理器,與所述數(shù)據(jù)存儲設(shè)備協(xié)作的所述處理器被 配置為: 檢測多個輸入/輸出設(shè)備,所述多個輸入/輸出設(shè)備中的至少一部分與唯一標(biāo)識符相 關(guān)聯(lián)并且可用于通信地綁定至位于云端的計算機; 接收包括對輸入/輸出設(shè)備以及如下的位于云端的計算機的選擇的綁定偏好,所選擇 的輸入/輸出設(shè)備應(yīng)當(dāng)通信地綁定至所述位于云端的計算機,所述選擇包括與所選擇的輸 入/輸出設(shè)備相關(guān)聯(lián)的所述唯一標(biāo)識符; 將綁定請求傳輸給所選擇的輸入/輸出設(shè)備;并且 將所選擇的輸入/輸出設(shè)備與所述位于云端的計算機通信地綁定。
2. 根據(jù)權(quán)利要求1所述的裝置,其中所述處理器進(jìn)一步被配置為,將所述多個輸入/輸 出設(shè)備的所述部分的列表呈現(xiàn)給用戶。
3. 根據(jù)權(quán)利要求1所述的裝置,其中所述處理器進(jìn)一步被配置為,基于所接收的綁定 偏好來自動地選擇另一個輸入/輸出設(shè)備以用于與所述位于云端的計算機綁定。
4. 根據(jù)權(quán)利要求1所述的裝置,其中所述處理器進(jìn)一步被配置為,將位于云端的計算 機的列表呈現(xiàn)給用戶。
5. 根據(jù)權(quán)利要求1所述的裝置,其中所述處理器進(jìn)一步被配置為: 確定所述位于云端的計算機的TCP地址;以及 將所述TCP地址傳輸給所選擇的輸入/輸出設(shè)備。
6. 根據(jù)權(quán)利要求1所述的裝置,其中通信地綁定包括:在所選擇的輸入/輸出設(shè)備與 所述位于云端的計算機之間路由輸入/輸出通信。
7. 根據(jù)權(quán)利要求6所述的裝置,其中在所選擇的輸入/輸出設(shè)備與所述位于云端的計 算機之間路由輸入/輸出通信包括:在所選擇的輸入/輸出設(shè)備與所述位于云端的計算機 之間建立基于TCP的通信。
8. 根據(jù)權(quán)利要求6所述的裝置,其中在所選擇的輸入/輸出設(shè)備與所述位于云端的計 算機之間路由輸入/輸出通信包括:在所選擇的輸入/輸出設(shè)備與所述位于云端的計算機 之間建立基于M)P的通信。
9. 根據(jù)權(quán)利要求6所述的裝置,其中所述處理器進(jìn)一步被配置為,將從所選擇的輸入/ 輸出設(shè)備或所述位于云端的計算機所接收的輸入/輸出通信從第一格式轉(zhuǎn)換為第二格式, 其中所述第二格式基于所述輸入/輸出通信的接收方所理解的協(xié)議。
10. 根據(jù)權(quán)利要求1所述的裝置,其中所述處理器進(jìn)一步被配置為: 接收包括對所選擇的輸入/輸出設(shè)備的選擇的綁定偏好;以及 傳輸對所述位于云端的計算機的綁定請求。
【文檔編號】H04L29/08GK104395887SQ201380032690
【公開日】2015年3月4日 申請日期:2013年5月21日 優(yōu)先權(quán)日:2012年6月21日
【發(fā)明者】M·D·卡羅爾, L·D·劉 申請人:阿爾卡特朗訊