無線對接自動配置和優化系統的制作方法
【專利摘要】本發明提供根據連接協商過程在對接過程中對多個對接方與固定對接環境的有效負荷連接進行預規劃的系統、方法和裝置,該連接協商過程為參與對接過程的各方平衡需求和能力。根據一個公開的方面,連接協商系統在位于通信系統中的設備中的一對或多對端點之間建立一個或多個通信路徑。
【專利說明】無線對接自動配置和優化系統
[0001] 對相關申請的交叉引用 本申請要求2012年3月6日在USPT0提交的序號為61/607, 114、標題為"用于無線對 接的連接協商"的美國臨時申請的權益。
【技術領域】
[0002] 本發明總體涉及不同計算機設備之間的無線數據通信,且具體來說,涉及用于自 動配置最優網絡拓撲和用于該網絡的設備驅動設置的對接系統和方法。
【背景技術】
[0003] 無線對接采用無線技術來將諸如移動電話、膝上型計算機之類的典型便攜設備 連接到典型固定對接環境。這樣的便攜設備典型地被稱為對接方(dockee)或無線對接方 (WD)。在無線對接中,對接方無線地連接到對接環境以便獲得訪問對接環境中的諸如該對 接環境提供的大屏幕、鍵盤、鼠標和輸入/輸出端口之類的外圍設備的權限,該對接環境可 以是一個或多個對接站(WDS)或對接主機(WDH)。在典型的應用中,當與運行在移動電話上 的應用(例如,電子郵件客戶端、網絡瀏覽器)進行交互時,移動電話用戶被提供了使用比該 移動電話上所提供的屏幕更大的屏幕的能力。更大屏幕的使用改善了最終用戶在與運行在 對接方上的應用進行交互時的體驗和生產率。
[0004] 當前和未來設想的正處于開發中的無線對接標準設想:對接環境可以以分布式的 方式來實現,由若干設備和通信鏈路組成。
[0005] 鑒于前面提及的限制和考慮,清楚的是,設置對接系統中最優連接的過程(在此被 稱為連接協商)至少涉及以針對參與對接過程的所有各方平衡需求和能力的方式來組合通 信協議、芯片設置、信道分配和路由拓撲。此外,評估不同可能的解決方案的優點就其本身 而言可能是困難的任務。理想情況下,存在應當被優化的若干指標。它們是網絡拓撲吞吐量 和時延,尤其是關于屏幕外圍功能的發送到對接方和從對接方發送的屏幕更新的吞吐量。
[0006] 鑒于以上缺點和顧慮,應當顯然的是,打算與無線對接環境對接的對接方面臨著 直接的問題:如何執行以平衡參與對接過程的所有各方的需求和能力的方式來組合通信協 議、芯片設置、信道分配和路由拓撲的連接協商過程。如上面討論的,這個問題不是微不足 道的,因為系統的一個部分中的某些設置的選擇影響系統另一部分中的性能。在一些設置 中,甚至找到創建完全連接的通信圖的設置的單個組合可能是復雜的。
[0007] 因此,需要的是用于提供連接規劃策略的系統、方法和計算機程序產品,該連接規 劃策略實現連接協商過程以將無線對接方連接到無線對接環境。
【發明內容】
[0008] 提供本
【發明內容】
以介紹概念的選擇。下面在【具體實施方式】中進一步描述這些概 念。本
【發明內容】
不旨在標識要求保護的主題的關鍵特征或必要特征,也不旨在將本發明內 容作為確定要求保護的主題的范圍的輔助。
[0009] 在各個實施例中,本發明通過提供根據連接協商過程對對接過程中對對接方與固 定對接環境的有效負荷連接進行預規劃的系統和方法來解決現有技術中的缺陷,該連接協 商過程平衡參與該對接過程的所有各方的需求和能力。
[0010] 根據一個公開的方面,公開了包括用于在位于通信系統的設備中的一對或多對端 點之間建立一個或多個通信路徑的連接協商系統的通信系統,其中該通信系統包括:兩個 或更多設備、位于該兩個或更多設備之間的至少一個通信介質、能夠被用于實現要建立的 該一個或多個通信路徑的一部分的多個系統元件、表示以下各項之一的多個接口數據元 件:系統元件之間的連接點;系統元件與要建立的該一個或多個通信路徑的端點之間的連 接點,其中連接協商系統包括至少一個處理器,其可操作來:作為第一處理器輸入,接收要 建立的該一個或多個通信路徑的一對或多對端點,所述端點位于通信系統的設備中,其中 每個端點由該多個接口數據元件中的一個表示;作為第二處理器輸入,接收對于該至少兩 個設備和可選地通信介質的能力和約束的描述,其中能力和約束由塊數據元件的集合B定 義,其中塊數據元件的集合B中的塊數據元件由表示被配置成執行某個通信任務的單個系 統元件、或者不能被配置的單個系統元件、或者總是以相同的方式被配置而不管其支持的 該一個或多個通信路徑如何的單個系統元件的數據組成;基于第一和第二輸入找到滿足至 少第一準則的塊數據元件的集合B的子集Tx,并且作為代表通信系統中要建立的該一個或 多個通信路徑的連接規劃而輸出子集Τχ ;通過至少配置由子集Τχ指定的一個或多個系統 元件以在通信系統中建立該一個或多個通信路徑來執行該連接規劃。
[0011] 根據本發明的第二方面,公開了一種用于在位于通信系統的設備中的一對或多對 端點之間建立一個或多個通信路徑的方法,該通信系統包括:兩個或更多設備、位于該兩個 或更多設備之間的至少一個通信介質、能夠被用于實現要建立的該一個或多個通信路徑的 一部分的多個系統元件、表示系統元件之間的連接點以及系統元件與要建立的通信路徑的 端點之間的連接點的多個接口數據元件,該方法包括:作為第一輸入,接收要建立的該一個 或多個通信路徑的該一對或多對端點,所述端點位于通信系統的設備中,其中每個端點由 該多個接口數據元件中的一個表示;作為第二輸入,接收對于該至少兩個設備和可選地通 信介質的能力和約束的描述,其中能力和約束由塊數據元件的集合Β定義,其中塊數據元 件的集合Β中的塊數據元件由表示被配置成執行某個通信任務的單個系統元件、或者不能 被配置的單個系統元件、或者總是以相同的方式被配置而不管其支持的該一個或多個通信 路徑如何的單個系統元件的數據組成;基于第一和第二輸入找到滿足至少第一準則的塊數 據元件的集合Β的子集Τχ,并且作為代表通信系統中要建立的該一個或多個通信路徑的連 接規劃而輸出子集Τχ ;以及通過配置由子集Τχ指定的一個或多個系統元件以在通信系統 中建立該一個或多個通信路徑來執行該連接規劃。
[0012] 根據本發明的第三方面,公開了通信系統系統中的對接方,該對接方托管連接協 商系統以用于在位于通信系統的設備中的一對或多對端點之間建立一個或多個通信路徑, 其中該通信系統包括:兩個或更多設備、位于該兩個或更多設備之間的至少一個通信介質、 能夠被用于實現要建立的該一個或多個通信路徑的一部分的多個系統元件、表示以下各項 之一的多個接口數據元件:(a)系統元件之間的連接點;(b)系統元件與該一個或多個通信 路徑的端點之間的連接點,其中由所述對接方托管的連接協商系統包括至少一個處理器, 其可操作操作來:a)作為第一處理器輸入,接收要建立的該一個或多個通信路徑的一對或 多對端點,所述端點位于通信系統的設備中,其中每個端點由該多個接口數據元件中的一 個表示;作為第二處理器輸入,接收對該至少兩個設備和可選地通信介質的能力和約束的 描述,其中能力和約束由塊數據元件的集合B定義,其中塊數據元件的集合B中的塊數據元 件由表示被配置成執行某個通信任務的單個系統元件、或者不能被配置的單個系統元件、 或者總是以相同的方式被配置而不管其支持的該一個或多個通信路徑如何的單個系統元 件的數據組成;基于第一和第二輸入找到滿足至少第一準則的塊數據元件的集合B的子集 Tx,并且作為代表通信系統中要建立的該一個或多個通信路徑的連接規劃而輸出子集Tx ; 啟動該連接規劃的執行,該執行包括配置由子集Τχ指定的一個或多個系統元件以在通信 系統中建立該一個或多個通信路徑。
[0013] 根據本發明的第四方面,公開了通信系統中的對接主機,該對接主機托管用于在 位于通信系統的設備中的一對或多對端點之間建立一個或多個通信路徑的連接協商系統, 其中該通信系統包括:兩個或更多設備、位于該兩個或更多設備之間的至少一個通信介質、 能夠被用于實現要建立的該一個或多個通信路徑的一部分的多個系統元件、表示(a)系統 元件之間的連接點和(b)系統元件與該一個或多個通信路徑的端點之間的連接點的多個接 口數據元件,其中由所述對接主機托管的連接協商系統包括至少一個處理器,其可操作來: 作為第一處理器輸入,接收要建立的該一個或多個通信路徑的一對或多對端點,所述端點 位于通信系統的設備中,其中每個端點由該多個接口數據元件中的一個表示;作為第二處 理器輸入,接收對該至少兩個設備和可選地通信介質的能力和約束的描述,其中能力和約 束由塊數據元件的集合B定義,其中塊數據元件的集合B中的塊數據元件由表示(a)被配 置成執行某個通信任務的單個系統元件、或者(b)不能被配置的單個系統元件、或者(c)總 是以相同的方式被配置而不管其支持的該一個或多個通信路徑如何的單個系統元件的數 據組成;基于第一和第二輸入找到滿足至少第一準則的塊數據元件的集合B的子集Tx,并 且作為代表通信系統中要建立的該一個或多個通信路徑的連接規劃而輸出子集Τχ ;啟動 該連接規劃的執行,該執行包括配置由子集Τχ指定的一個或多個系統元件以在通信系統 中建立該一個或多個通信路徑。
【專利附圖】
【附圖說明】
[0014] 通過對結合附圖考慮下面的【具體實施方式】的關注,本發明的這些和其他目的、特 征和優點將是顯而易見的,在附圖中: 圖1-是根據一個實施例的本發明可以在其中實現的示例性對接環境。
[0015] 圖2 -是根據一個實施例的由連接無線對接方"Α"的應用軟件模塊與無線對接主 機的屏幕硬件模塊的本發明的連接規劃模塊創建的示例性通信路徑的圖示。
[0016] 圖3a_3e -是根據一個實施例的由本發明的連接規劃模塊使用的接口數據元件 和塊數據元件的示例性表示的圖示。
[0017] 圖4 -是根據一個實施例的在對接方和無線對接主機之間進行的連接協商的示 例性協商結果的圖示。
[0018] 圖5a和5b -圖示了根據一個實施例的由典型的對接方(5a)和對接主機(5b)托 管的耦合到處理器和存儲器的連接規劃模塊。
[0019] 圖6圖示了根據一個實施例的本發明的連接規劃模塊的輸入和輸出。
[0020] 圖7描繪了計算機系統形式的機器的說明性圖解表示,在該計算機系統中一組指 令在被執行時可以使得該機器執行在此討論的方法中的任一個或多個。在一些實施例中, 該機器作為單機設備運行。在一些實施例中,該機器可以(使用網絡)被連接到其他機器。 在網絡化部署中,該機器在服務器-客戶端用戶網絡環境中以服務器或客戶端用戶機器的 能力運行,或者在對等(或分布式)網絡環境中作為對等機器運行。
【具體實施方式】
[0021] 現在將參照附圖通過示例來詳細公開本發明的非限制性實施例。在描述該些實施 例時,為了清楚起見,將采用特定術語。然而,本發明不旨在限于如此選擇的特定術語,并且 應當理解,每個特定術語都包括以類似方式操作從而實現類似目的的所有技術等同物。
[0022] 本描述闡明本公開的原理。因此將會理解,盡管在此并未明確描述或示出,本領域 技術人員將能夠設計體現本公開的原理并被包括在其精神和范圍內的各種布置。
[0023] 在此具體地描述本發明的主題以滿足法定要求。然而,描述本身不旨在限制本專 利的范圍。相反,發明人已經構思,所要求保護的主題還可能結合其他目前或將來的技術以 其他方式來體現,以包括與本文檔中所描述的步驟類似的不同步驟或步驟的組合。此外,盡 管術語"步驟"和/或"塊"在此可以被用于意指所采用的方法的不同模塊,但是該術語不 應當被解釋為暗示在此公開的各個步驟之間的任何特定順序,除非并且除了當各個步驟的 順序被明確地描述時。
[0024] 在此敘述的所有示例和條件語言都意在為了教導的目的以幫助讀者理解本公開 的原理和發明人所貢獻的概念從而改進技術,并且應當被解釋為不限于這樣具體敘述的示 例和條件。
[0025] 此外,在此敘述本公開的原理、方面和實施例及其特定示例的所有陳述都旨在包 含其結構和功能上兩者的等同物。此外,這樣的等同物意在包括當前已知的等同物以及將 來開發的等同物,即,任何被開發的執行相同功能的元件,而不管結構如何。
[0026] 本發明的實施例可以包括專用或通用計算機,該計算機包括各種其他計算機硬件 和/或軟件模塊和如下面被更詳細地討論的模塊。
[0027] 本發明可以以許多方式來實現,包括實現為過程、裝置、系統、物品的組合、諸如計 算機可讀存儲介質之類的計算機可讀介質或其中在光學或通信鏈路上發送程序指令的計 算機網絡。在本說明書中,這些實現方式或本發明可能采取的任何其他形式可以被稱為技 術。被描述為被配置成執行任務的諸如處理器或存儲器之類的部件包括被臨時配置成在給 定時間執行任務的通用部件或被制造成執行任務的特定部件。一般來說,所公開的過程的 步驟的順序在本發明范圍內可以被改變。
[0028] 如在此提及的術語'連接規劃模塊'表示包括在耦合到存儲器的至少一個處理器 上被執行的可執行代碼的一個或多個相關模塊。連接規劃模塊被配置成通過建立連接規劃 來解決連接協商問題。更具體來說,連接規劃模塊對對接過程中一個或多個對接方與一個 或多個固定對接環境的"有效負荷"連接進行預規劃,其中有效負荷連接被用于與對接環境 中的外圍功能進行交互。連接規劃模塊通過平衡參與對接過程的所有各方的需求和能力, 來計算既是最優或近似最優的又是可實現的通信路徑的集合。
[0029] 如在此提及的術語'連接協商'是指其中將在對接方和一個或多個對接主機之間 將構建連接的系統。對接方和對接主機共同被稱為設備,它們可能首次相互遭遇。
[0030] 示例性應用環境 現在參照圖1,示出了多個便攜設備(例如,移動電話、膝上型計算機,等等),其在此通 常被稱為無線對接方,無線對接方"A" 120、無線對接方"B" 122、無線對接方"C" 123、無線 對接方"D" 124。本發明的一個目的是找到用于無線對接方中的一個或多個與一個或多個 無線對接主機(比如無線對接主機121)之間的有效負荷連接的最優或近似最優設置。
[0031] 在連接協商過程中,無線對接系統中的各方進行通信并就用于有效負荷連接的最 優或近似最優設置達成一致以支持應用軟件與對接方和外圍功能硬件之間的交互。更一般 地說,有效負荷連接是通信路徑的示例。通信路徑是有效負荷連接的一般化,因為它包括無 線對接范圍之外的連接,例如兩個應用程序之間的連接。通信路徑能夠描述應用和外圍設 備之間的連接。
[0032] 現在參照圖2,示出了作為由圖5的連接規劃模塊550管理和執行的連接協商過程 的結果而被創建的通信路徑500。通信路徑500由第一和第二相應的端點502、504組成。 第一端點502與無線對接方"A"120的應用軟件程序422相關聯,并且第二端點504與屏幕 硬件423相關聯,該屏幕硬件423與無線對接主機121相關聯。通信路徑遍歷五個系統元 件,包括設備驅動器411、網絡IF 413、無線網絡415、網絡IF 414和設備驅動器412。
[0033] 通信路徑500實現了應用軟件程序422與屏幕硬件423之間的雙向數據流動。將 在這兩個設備之間通信的數據還可以例如通過無損或有損(視頻)壓縮、由通信路徑中的一 個或多個系統元件(諸如,例如,與對接方A 120相關聯的設備驅動器411)來變換。通信路 徑500作為由連接規劃模塊550 (未示出,參見圖5)執行的計算的結果通過連接規劃模塊 550創建的連接規劃而被建立,并因而滿足連接規劃模塊550創建的連接規劃。
[0034] 無線對接設想:作為連接規劃模塊550的輸出的結果,像415那樣的網絡最常見的 將是被特別建立以優化通信的基于Wifi直連的網絡。類似地,本發明還設想:像設備驅動器 412、網絡IF 414、網絡IF 413那樣的系統元件可以被特別配置以建立由連接規劃模塊550 規劃的路徑。在一些實施例中,除了建立路徑之外,作為由連接規劃模塊550計算的結果, 可以創建一個或多個新的WIFI直連網絡。
[0035] 根據本發明,通信路徑端點對的每一個端點典型地位于不同設備中。舉例來說,參 照圖2,通信對端點位于無線對接方"A"120中的應用軟件模塊422和無線對接主機121中 的屏幕硬件模塊423的邊緣處。這些端點需要經由通信路徑(諸如通信路徑500)而被連接, 其中每個通信路徑典型地包括至少一個網絡連接,比如圖4中所示的網絡415。
[0036] 典型的網絡連接可以是例如在特定信道上經由WiFi網絡的無線連接,或者有線 連接。通信路徑典型地包括諸如設備驅動器411、412之類的設備驅動器。當與特定無線網 絡連接一起使用時,設備驅動器有時可以被特別選擇成最優的。舉例來說,實現驅動器在更 低級別傳輸協議之上的更高級別的設備訪問協議的設備驅動器。另外,通信路徑可選地使 用一個設備來在位于兩個其他設備中的端點之間進行中繼。
[0037] 給定通信系統中的設備的能力和約束,連接規劃模塊550計算既是最優或近似最 優的又是可實現的通信路徑的集合。可以使用下面將被更充分描述的編碼方案來編碼通信 系統中每個設備的能力和約束。在優選實施例中,該編碼方案具有性質:每個單獨設備的能 力和約束可以被獨立地編碼為設備特定的信息包。編碼可以在設備正被創建時在設備設計 時或在工廠完成,、或者由包含在該設備內的專門代碼來完成。可選地,設備之間的無線介 質的性質和/或使用約束還可以使用該編碼方案而被編碼為信息包。
[0038] 連接規劃模塊550提供各種能力,包括但不限于組合系統中所有設備的設備特定 的信息包、關于要被配對的系統元件的端點的信息、可選地關于無線介質的信息和用于計 算通信路徑的附加的可選信息。
[0039] 典型地,連接規劃模塊550在系統中的設備中的一個內的處理器上運行。在一些 實施例中,構思使用連接規劃模塊550的分布式實現方式。
[0040] 將設備特定的信息包構建為連接規劃模塊550的一個輸入預先假定:已經建立了 設備中的監督模塊之間的通信。連接規劃模塊550規劃'有效負荷'連接以支持與外圍功 能進行交互,并且不建立依照發現和握手協議的設備之間的初始通信。
[0041] 在各個實施例中,假設沒有要求連接規劃模塊550位于特定設備中,則連接規劃 模塊550可以位于通信系統中的設備中的任意一個中。
[0042] 在連接協商過程中,在優選實施例中,無線對接方承擔托管并運行連接規劃模塊 550的角色以用于確定對接方與對接主機之間的通信路由規劃。在其他實施例中,對接主機 可以承擔托管并運行連接規劃模塊550的角色。在圖5中通過示例示出這些不同實施例。 舉例來說,圖5a圖示了承擔運行連接規劃模塊550的角色的無線對接方,而在圖5b中,無 線對接主機承擔托管連接規劃模塊550的角色。
[0043] 在一個實施例中,實現無線對接標準的所有設備可以包括以下能力:運行連接規 劃模塊550并且為每個新的會話共同決定通信系統中的哪一個特定設備將運行連接規劃 模塊550。
[0044] 關于由連接規劃模塊550計算的通信路徑的信息被從托管連接規劃模塊550的設 備傳送到參與連接協商的每個設備。每個設備使用該信息來實現其對于所計算的通信路徑 的貢獻,并建立設備之間的任何要求的網絡連接。
[0045] 如前所述,連接規劃模塊550計算位于不同通信系統設備(例如,如圖2和4中所 示的無線對接方"A"120和無線對接主機121)中的端點對之間的通信路徑的最優或近似最 優的集合的表示。如下面描述的,連接規劃模塊550通過在塊和接口數據元件上進行操作 來計算端點對之間的通信路徑的最優或近似最優的集合。
[0046] 接口數據元件 接口數據元件(在此有時被稱為'接口 ')是沿著諸如通信路徑500之類的通信路徑的 實際單個接口點的表示或模型。在一些實施例中,接口數據元件可以擔任多于一個的表示 角色。在一個角色中,接口數據元件可以表示或模擬沿著通信路徑的實際單個接口點。在 不同的角色中,接口數據元件可以被用于以不直接對應于沿著通信路徑的單個接口點的方 式來編碼通信系統中的設備的設備能力或約束。
[0047] 在其他實施例中,接口數據元件可以被用于擔任單個獨有角色以表示或模擬單個 接口點。在這些實施例中,創建附加的數據元件類型以編碼設備能力或約束。
[0048] 在一個實施例中,接口數據元件可以被編碼為ASCII字符串。舉例來說,圖4圖示 了位于對接方420中的461、463和位于對接主機421中的462、46四個接口,及其相關聯的 接口數據元件,該些接口數據元件表示它們,并被編碼為在橢圓形451、452、453和454內示 出的ASCII字符串。所描繪的ASCII字符串對接口數據元件的性質進行編碼。性質可以包 括例如接口表示沿著哪一種通信路徑的哪一種點。在優選實施例中,只有與連接規劃的目 的相關的性質被編碼。對接口(數據元件)的性質進行編碼的ASCII字符串因此可以被視為 對系統元件能力和約束進行編碼的模型的元件,使得該模型可以由連接規劃模塊550操作 來生成涉及系統元件的可實現的最優或近似最優的通信路徑。
[0049] 根據本發明的有益方面,編碼方案有幾分靈活性。即,不同的實施例可以選擇不同 的編碼方案,而無需改變連接規劃模塊550。
[0050] 在一個實施例中,接口數據元件的集合是所有ASCII字符串的集合。如果來自該 集合的兩個接口數據元件的表示是同ASCII字符串,則它們被認為是等同的,其中等同關 系是字符串等同。在其他實施例中,可以使用更復雜的等同性測試來確定兩個接口數據元 件是否至少基本相似。基本的相似性在此被定義為兩個接口元件表示沿著可能的通信路徑 的同一點。在特定實施例中被用于接口數據元件的編碼方案典型地不具有以下性質:每個 可能的ASCII字符串表示接口的有效或有意義的編碼。
[0051] 通信路徑的端點總是由接口數據元件表示。因此,要由連接規劃模塊550計算的 通信路徑的集合被指定為表示要連接的端點的接口數據元件對的集合。再次參照圖2,通信 路徑500的邊緣包括作為可由接口數據元件表示的接口的端點502、504。參照圖4,接口數 據元件451和452表示分別由接口 461和462指示或者可替換地由元件422和423的邊緣 指示的通信路徑端點。
[0052] 塊數據元件 第二類型的數據元件(有時在此被稱為"塊"數據元件)被用于表示或模擬通信系統元 件,諸如,例如圖2的設備驅動器411或圖2的網絡IF 414。名稱"塊"源自于系統圖和協 議棧圖中典型地用于表示設備或模塊或其他系統元件的形狀。一般來說,系統元件是參與 實際通信路徑的實現的真實世界對象。本發明還將'無線網絡頻譜'構思為真實世界對象。
[0053] 再次參照圖2,通信系統元件411、412、413、414和415由塊數據元件模擬。然而, 在通信路徑的端點處的圖2中所示的某些對象(諸如,例如設備420和屏幕硬件423)并不 由塊數據元件表示或模擬,因此在此不被稱為系統元件。在優選實施例中,提供關于進入連 接規劃器中的期望的(各)通信路徑的端點的輸入,作為接口數據元件(例如圖4中的451和 452)的集合。在可替換實施例中,作為替代,該輸入可能被給定為表示圖4中的元件422和 423的塊數據元件,這些塊數據元件中的每一個都具有與其相關聯的接口,對于第一個元件 是451,并且對于第二個元件是452。
[0054] 應當理解,通信系統的通信系統元件與模擬該通信系統的系統元件的協商系統的 塊數據元件之間并不總是具有一一對應。在"簡單"情況下,系統元件確實與正好一個塊數 據元件具有一一對應。然而,在"非簡單"情況下,單個系統元件由許多塊數據元件表示。 在這種情況下,每個塊數據元件不僅僅表示系統元件,而是表示已應用了某個特定配置的 系統元件,該配置確保系統元件在實現通信路徑的一部分時執行某個功能。該許多塊數據 元件在這種情況下全部表示同一系統元件,但是每個塊在其所表示的配置設置方面都不相 同。舉例來說,在"非簡單"情況下,單個塊表示'配置的系統元件',即,具有已經向其應用 了的一些配置數據的系統元件。應當注意,像網絡接口那樣的復雜系統元件可能能夠同時 執行配置數據的若干集合,例如建立到第一設備的網絡連接的第一配置數據集合和并發地 建立到第二設備的網絡連接的第二配置數據集合。系統元件的這兩個不同配置(數據集合) 中的每一個都可以由兩個不同塊數據元件表示。
[0055] 術語"塊數據元件"可以包括像設備、(軟件)模塊和(某些情況下)網絡云415那樣 的系統元件的表示。元數據典型地與塊數據元素相關聯,用于描述塊的類型。舉例來說,元 數據云可以描述該塊表示具有用于創建某些連接的設置的網絡接口,或具有某些設置的設 備驅動器,或具有某些性質的網絡"云"。
[0056] 塊數據元件和接口數據元件的各種組合共同表示(可實現的、不可實現的和部分 的)通信路徑,連接規劃模塊550生成和分析該通信路徑以標識那些可實現的通信路徑。
[0057] 塊數據元件當被輸入到連接規劃模塊550時最低限度地包括相關接口數據元件 (有時在此被稱為"塊的接口")的集合。塊數據元件因此可以最低限度地表示為記錄的集 合,每條單個記錄描述:1)與該塊相關的特定接口數據元件,例如該記錄可以通過包含對接 口數據元件進行編碼的ASCII字符串來描述該接口數據元件;和2)塊數據元件與該特定接 口數據元件之間的關系,例如通過該記錄包含對關系的類型進行編碼的整數。為了例示說 明本發明的目的,通過使用數字(例如比方說"塊數據元件數字7")來引用塊數據元件也是 便利的。
[0058] 現在參照圖3a_3e,通過示例示出了如上描述的普遍可應用的接口數據元件和塊 數據元件。
[0059] 首先參照圖3a,示出了兩個通信路徑21、22,其可以在連接協商過程期間通過耦 合各個通信系統部件(例如,如圖2中所示的422、411、413、414、412、423)而基于連接規劃 模塊550的輸出來創建。
[0060] 參照圖3b,示出了接口數據元件1-6的集合,其中每個接口表示或模擬圖3a的兩 個通信路徑21、22中的一個上的唯一點。接口 1-4被模擬為成對,其中每個接口對(1,4)和 (2, 3)表示通信路徑的第一和第二端點,其中該路徑的剩余部分將由連接規劃模塊550進 行規劃。舉例來說,輸入對(1,4)表示通信路徑22的相應的端點。如圖6所示,這兩個端點 對(1,4)和(2, 3)作為到連接規劃模塊550的輸入而被提供,作為第一輸入,S卩,輸入"A"。
[0061] 連接規劃模塊550被配置成確定使用所提供的輸入對(1,4)和(2, 3)作為起點是 否可以建立(可實現的)一個或多個通信路徑。為了這樣做,連接規劃模塊550必須計算可 以如何使用和配置系統元件(諸如,例如元件411、412、413、414和415)以實現通信路徑21、 22〇
[0062] 圖3b利用接口數據元件5和6進一步圖示了,接口除了表示通信路徑中的端點之 外還能表示沿著通信路徑的中間點。
[0063] 現在參照圖3c,通過利用塊數據元件7-11取代由通信路徑21、22更早前捕獲的接 口之間的關系,示出了對于圖3a和3b的更抽象的描述。如前所討論的,塊數據元件表示或 模擬被配置成實現兩個或更多接口(即,沿著通信路徑的兩個或更多點)之間的連接的真實 世界通信系統元件。在此繪出每個塊數據元件,其相關聯接口的相應集合被描繪為內部具 有數字的橢圓。從上面的討論回顧,塊數據元件最低限度包括相關聯的接口數據元件(有時 在此被稱為"塊的接口")的集合。
[0064] 現在參照圖3d,示出了對于圖3c中所圖示的塊數據元件的可替換描述。圖3d圖 示提供關于圖3c中未示出的塊的附加信息。該附加信息包括對于塊所具有的與該塊的所 謂接口的關系的類型的描述。更具體來說,使用箭頭術語,圖3d進一步描述該塊與其"接口 集合"中的接口具有類型1還是類型2的關系。舉例來說,遠離接口指向的箭頭(如此遠離 橢圓接口 1-4而朝向矩形塊7-10)描述該接口與該塊之間的類型2的關系。又舉一例,接 口 1與塊7具有類型2的關系。指向接口的箭頭(諸如從塊7和8分別指向接口 5和從塊 9和10分別指向接口 6的箭頭)描述該接口和該塊之間為類型1的關系。
[0065] 典型地,塊和接口之間類型1的關系定義如下情況:該接口塊/塊對是經由該接口 提供的通信服務的用戶或"需求者"。塊與接口之間類型2的關系定義如下情況:該塊是經 由該接口提供的通信服務的提供者或實現者。在圖3d中,塊11與兩個接口 5和6具有類 型2的關系,而塊7和9與接口 5和6具有類型1的關系。塊11可以表示在該兩個接口 5 和6之間的IP分組路由的服務一塊11提供該服務。塊7和9可以是需要經由路由的IP 分組進行相互通信的軟件模塊。以此方式,塊7和9是由塊11提供的服務的用戶。
[0066] 如前所討論的,"塊的接口"與"塊"之間的關系可以具有至少兩種類型,即,類型1 的關系和類型2的關系。在優選實施例中,僅使用類型1和類型2的關系。其他實施例可 以定義不同于類型1和類型2的關系的更多關系類型或子類型。
[0067] 在關于接口的使用的其他情況下,兩個塊之間共享的接口可以模擬在系統中的同 一協議層工作的兩個塊之間的客戶端-服務器類型的關系。該客戶端-服務器關系可以被 模擬為接口,其中該關系的一側與該接口具有類型1的關系,而另一側與該接口具有類型2 的關系。下面聯系圖4進一步解釋這樣的客戶端-服務器關系的示例。
[0068] 在其他實施例中,可以使用塊與接口之間的附加關系(例如,類型3和類型4的關 系)來指示客服端服務器關系。在其他實施例中,可以通過引入與接口數據元件不同的其他 類型的數據元件來模擬客戶端-服務器配對。
[0069] 在一些實施例中,在塊與特別選擇的接口之間可以使用類型2的關系來對硬件或 軟件限制進行編碼。在其他實施例中,代替使用類型2的關系,可以使用諸如類型5的關系 之類的附加關系類型來模擬塊與特別選擇的接口之間的關系以對硬件或軟件限制進行編 碼。
[0070] 在優選實施例中,塊數據元件還具有相關接口和與其相關聯的關系類型之外的一 些元數據。舉例來說,以人類可讀的形式描述其模擬的塊或系統元件的元數據。可以使用 與塊相關聯的其他元數據來支持對性能指標的計算,或相反,對將連接規劃模塊550的輸 出實現為真實連接做出貢獻。
[0071] 現在參照圖3e,其圖示了對于圖3d中所示的塊的集合的可替換描述。在圖3e中, 每個接口僅被繪出一次,以試圖模仿協議棧圖的外觀和感覺。
[0072] 連接規劃模塊輸入/輸出 現在參照圖6,示出連接規劃模塊550具有兩個輸入以執行連接規劃過程從而標識塊 數據元件的集合,該塊數據元件被用于指明如何實現如例如圖1和2中所示的一個或多個 對接方與一個或多個對接主機之間的一個或多個可實現的通信路徑。
[0073] 在優選實施例中,連接規劃模塊550計算由塊數據元件組成的輸出Tx。該輸出建 立一個或多個可實現的通信路徑,鑒于所考慮的通信系統中的設備的能力和約束,該通信 路徑既是最優或近似最優的又是可實現的。建立該一個或多個可實現的通信路徑包括激活 和配置由塊Τχ所表示的系統元件。
[0074] 在所描述的實施例中,連接規劃模塊550被示出接收兩個輸入,被標記為"Α"的第 一輸入,被標記為"B"的第二輸入。第一輸入"A"表示作為對而被提供的接口數據元素 Μ 的集合,其中每個對標識要由連接規劃模塊550實現的多個規劃的通信路徑的相應的第一 和第二端點。舉例來說,在無線對接的情況下,要由連接規劃模塊550實現的通信路徑在對 接過程中被標識為將對接方中的應用軟件與該對接方希望對接的無線對接環境中存在的 所有外圍功能連接的路徑。
[0075] 如前所討論的,連接規劃模塊550基于已知所規劃的通信路徑的起點和終點對通 信路徑進行規劃。因此,接口數據元件Μ的對表示這些起點和終點。
[0076] 被標記為"Β"的被提供到連接規劃模塊550的第二輸入表示除通信系統中任何無 線和/或有線通信介質(例如,wifi網絡)的能力和約束之外的該通信系統中的設備的能力 和約束。第二輸入"B"作為如上定義的塊數據元件的集合B而被提供給通信規劃模塊550。
[0077] 繼續參照圖6,被標記為"C"的連接規劃模塊550的輸出是塊數據元件的集合Tx, Τχ為來自表示通信系統中的設備的能力和約束的集合"Β"的塊數據元件的輸入集合的子 集。該集合Τχ表示'連接規劃',從該'連接規劃'將創建由第一輸入"Α"描述的所有端點 對之間的可行的候選通信路徑的集合。該連接規劃可以被用于實現該通信系統中的各個端 點之間的真實世界連接。
[0078] 有益的是,現在考慮連接規劃模塊550的輸出Τχ可以如何被協商系統用來創建實 現由連接規劃模塊550選擇的規劃通信路徑必需的連接。如上所描述的,塊數據元件的輸 出集合Τχ源自于輸入集合"Β"并且由塊數據元件的集合Β的子集組成。回顧,單個塊數 據元件表示通信系統中的系統元件,可選地與配置數據配對。該配置數據特別指導由塊數 據元件表示的系統元件(例如,硬件或軟件通信系統元件)關于如何在特定接口之間進行連 接。換句話說,塊數據元件包括配置數據,該配置數據包括指導通信系統中的設備關于如何 形成到通信系統中的其他系統元件的連接的特定信息。
[0079] 使用元數據創建路徑連接 在優選實施例中,除配置數據之外,每個塊具有相關聯的元數據以支持規劃連接的創 建。該元數據描述系統為激活通信系統中由塊表示的實際系統元件所必須采取的動作。
[0080] 圖4通過示例示出連接規劃模塊550輸出Τχ 400,該Τχ 400由許多塊數據元件 401-405組成,系統將從該數據元件401-405創建實際的通信路徑。圖4中示出五個塊數 據元件401-405以及它們相關聯的接口數據元件451-456,根據圖3d和3e中所描繪的方 案,箭頭示出接口數據元件與塊數據元件之間的類型1和2的關系。Τχ 401-405這五個塊 數據元件共同構成創建單個通信路徑的規劃,描述從與對接方420的對接方應用軟件422 相關聯、來自輸入"Α"的集合"Μ"的第一端點502到與外圍設備、對接主機421的屏幕硬件 "Smain" 423相關聯、來自輸入"Α"的集合"Μ"的第二端點504的數據流。該單個通信路徑 在圖2中也被示出為通信路徑500。
[0081] 該五個塊數據元件Τχ 401-405表示通信系統中的各個系統元件。每個塊數據元 件Τχ 401-405將被更詳細地描述如下。
[0082] 塊401表示對接方420中的設備驅動器411,其能夠在IP連接上發送屏幕內容(例 如,屏幕內容更新)。塊401具有三個相關聯的接口數據元件451、453和457。第一接口數 據元件451表示操作系統接口 461,從該操作系統接口 461將獲得由對接方中運行的應用 軟件所創建并且意在用于屏幕"Smain"423 (主屏幕)的屏幕內容更新。第二接口數據元件 453表示到實現IP連接的對接方子系統的接口 463。將塊401連接到塊數據元件402的第 三接口數據元件457表示對接方中的系統元件411與位于對接主機"b"中的412之間的客 戶端-服務器關系。
[0083] 塊401進一步包括可由對接方中的無線對接軟件執行以創建設備驅動器411的、 計算機可讀指令形式的元數據。該元數據被用于將該設備驅動器配置成連接到接口 461 以獲得用于"Smain"423的屏幕更新。該元數據進一步將驅動器411配置成通過IP網 絡連接到位于對接主機421中的設備驅動器412,其中該設備驅動器將其自身標識為與 "Smain"423相關聯。元數據指令可以例如使用XML語言表示為ASCII字符串,以使得在連 接規劃模塊550未位于對接方自身的情況下,該指令能夠通過網絡連接被發送到對接方軟 件。
[0084] 塊數據元件402表示對接主機421中的設備驅動器412,其通過IP連接接收屏幕 內容更新并隨后將它們應用到真實的屏幕設備。
[0085] 用于塊402的元數據包括計算機可讀指令,該計算機可讀指令可由對接主機421 中的無線對接軟件執行以:創建上面所描述類型的設備驅動器412,將其配置成連接到如 用于由對接主機中的操作系統提供的真實屏幕"Smain"423的接口 462,并且進一步將其配 置成當設備驅動器411請求與關聯于"Smain"的設備驅動器相連接時,通過IP網絡從位于 對接方420中的設備驅動器411接受連接請求。
[0086] 上面描述的元數據指令是必要的,但還不足以建立所需要的通信路徑。上面描述 的與塊數據元件401、402有關的兩個設備驅動器411、412假定:對接方420與對接主機421 之間存在快速無線網絡連接,通過該快速無線網絡連接可以實現IP連接。然而,在無線對 接中,這樣的快速無線連接通常從一開始就不存在。相反,快速無線連接(典型地為WiFi直 連)必須也由連接規劃模塊550進行規劃。如連接規劃模塊550所規劃的,圖4的Tx中的 其余塊數據元件403、404和405表示在創建對接方420與對接主機421之間的快速網絡連 接時涉及的系統元件。
[0087] 塊數據元件403表示對接方420中的WiFi網絡接口硬件413,該WiFi網絡接口硬 件被配置成在802. 1 In模式中通過5GHz信道工作,并且進一步被配置成連接到由對接主機 421中的接口硬件414托管的WiFi直連網絡415。
[0088] 用于塊403的元數據包括可由對接方中的無線對接軟件執行的計算機可讀指令, 以激活所標識的wifi網絡硬件413并將其配置成在所描述的模式中工作并且進一步將其配 置成經由WiFi直連網絡415連接到對接主機421。
[0089] 塊數據元件404表示對接主機421中的對應WiFi硬件414,該WiFi硬件414被配 置成創建WiFi直連網絡415,并且接受來自對接方的連接。塊數據元件404包含可由對接 主機421執行以相應地配置414的計算機可讀指令。
[0090] 塊數據元件405表示5GHz波段的WiFi頻譜,其能夠在該兩個WiFi接口之間傳輸 無線電分組。該塊在連接規劃模塊550的輸入中的存在指明對接方420和對接主機421處 在彼此的5GHz WiFi范圍內。該塊不具有含有計算機可讀指令的任何元數據,因為頻譜已 經存在,并且不需要被創建、激活或配置以支持網絡415。
[0091] 應當理解,用于由連接規劃模塊550創建通信路徑的方法不依賴于Tx中被單獨表 示的每個通信路徑。相反,如果需要,塊元數據中全部指令的執行使得當該執行過程以逐塊 為基礎工作時多個通信路徑全部被創建。
[0092] 在一些實施例中,設置系統元件的指令的一些或全部不會被包含在元數據中,而 作為替代,將通過一些自動的過程全部或部分地從接口名稱中導出。
[0093] 在一些實施例中,將元數據還包括在每個塊中可能是有利的,該元數據將導致系 統把一定的順序應用于不同塊的元數據中包含的指令的執行。舉例來說,整數值'實例化的 順序'的元數據元件可以利用每個塊編碼,并且設備中的軟件可以被設置,成使得具有最低 實例化順序的塊的指令被首先執行。
[0094] 繼續參照圖4,示例性的實例化順序可以如下:塊404,然后是塊403,然后是塊 402,然后是塊401。該實例化順序確保需要發起到對應系統元件的連接的系統元件通常將 找到準備并愿意接受該連接的它們的對應方。盡管這樣的示例性順序或實例化優化可能是 有益的,但這不是絕對必要的,只要系統元件在它們最初失敗的情況下被配置成重新嘗試 建立連接。
[0095] 連接規劃細節 如上所討論的,連接規劃模塊550創建在圖6中被標記為C的輸出,該輸出包括來自其 相應輸入的作為'連接規劃'的集合Tx,該集合Tx包括在圖6中被標記為A的表示端點對 的集合Μ的第一輸入和在圖6中被標記為B的表示塊數據元件的集合B的第二輸入。連接 規劃模塊550的輸出Tx總是輸入Β的子集,其中Β是共同描述系統的全部能力和約束的全 部可用塊的集合。連接規劃Tx必須滿足一些約束以可實現并因而表示B的子集。當根據 它們的元數據中的計算機可讀指令而被"激活"時,構成Tx的塊數據元件必須實際地創建 由輸入A定義的通信路徑端點(S卩,端點對的集合M)之間的通信路徑的集合中的所有中間 段。除了滿足一定的其他約束之外,Tx中所有塊一起的激活也應當是可行的,這些塊在此 被限定為Tx中的兩個塊,其可以不表示用于某個系統元件的互斥的配置。
[0096] 連接規劃在一個方面可以被視為搜索過程,其中探尋作為輸入B的塊數據元件的 集合的不同候選子集以找到B的塊數據元件的子集,其在此被稱為最佳地滿足多個準則的 可實現的連接規劃Tx。為了使連接規劃模塊550檢驗這些準則以確定該連接規劃Tx是否 是可實現的,該準則必須就代表性塊、其相關聯的接口數據元件和元數據而言是可計算的。 [0097] 在優選實施例中,連接規劃模塊550使用四個準則來標識可實現的連接規劃Tx, 該連接規劃Tx由來自輸入集合Β的塊的特定子集構成。其他實施例可以使用更多或更少 或不同的準則。
[0098] 第一準則 為了標識可實現的連接規劃Tx,要滿足的第一準則包括:標識包含在輸入"A"中或者 相反與所考慮的輸出集合"Tx"中的至少一個塊數據元件具有類型1的關系的那些接口數 據元件,并且進一步確定所標識的接口數據元件中的每一個都與"Tx"的至少一個塊數據元 件具有類型2的關系。
[0099] 第二準則 要滿足的第二準則包括:首先標識"Tx"中的任何特定塊數據元件是否與特定接口數 據元件具有類型2的關系,并且當滿足該第一個標識時,確定所標識的塊數據元件是否為 "Tx"中與該特定接口數據元件具有類型2的關系的唯一塊數據元件。
[0100] 第三準則 滿足第三準則包括:確定不可能從"Tx"中移除一個或多個塊而得到仍然滿足第一準 則的"Τχ-"。
[0101] 在某些實施例中可以省略第三準則。第三準則防止以下情況:連接規劃器輸出具 有多余塊(即,為了根據第一輸入來實現通信路徑所不必要包括的塊)的Τχ。多余塊的示例 將是表示網絡接口的多余配置(例如允許該接口將分組發送到為建立通信路徑而從不需要 被發送到的地方的配置)的塊。
[0102] 第四準則 第四準則涉及選擇最優的連接規劃,即具有最高性能指標的那一個連接規劃。可以以 兩種方式之一來實現第四準則。
[0103] 實現第四準則的一個方法包括:從滿足第一到第三準則的Β的所有子集"Tl,Τ2, …,Τη"中,確定"Τχ"為具有最高性能指標的那一個,其中集合的性能指標部分地根據利 用該集合中的塊編碼的元數據信息來計算。
[0104] 實現第四準則的另一方法包括:從滿足連接規劃器迄今已考慮的第一到第三準則 的Β的那些可替換子集"ΤΙ、Τ2、…Τη"中,確定"Τχ"為具有最高性能指標的那一個,其中 集合的性能指標部分地根據利用該集合中的塊編碼的元數據信息來計算。
[0105] 第四準則確保最優的Τχ被找到,該最優Τχ最佳地優化根據已使用的性能指標而 實現的連接規劃的性能。在優選實施例中,通過使用附加到Τχ中的塊的元數據來計算上面 討論的實現方式的任一方法中的性能指標。對于性能指標的更完整的討論,參見通過整體 引用合并于此的序號為61/607, 114的臨時申請的第22節。
[0106] 根據第四準則的第一實現方式,保證找到最優的Τχ。根據第四準則的第二實現方 式,典型地與在使用第一版本時相比,可以在更少的時間內找到近似最優的Τχ。
[0107] 應當注意,對于輸入集合Β,可能需要由連接規劃器檢查的可能的子集Τχ的數目 以2Si&° f-B呈指數方式增長。本領域技術人員將認識到,使用第四準則的第一版本找到滿足 上面描述的第四準則的Τχ的計算屬于NP-完全問題類。如處理NP-完全問題方面的實踐 者所公知的,當問題的規模變得如此大以致于無法在合理計算時間內找到保證最佳的解Τχ 時,可以放松某些準則以標識可實現的非理想解。舉例來說,第四準則的第二版本是第一版 本的放松版本,其允許連接規劃器在合理的時間量內停止搜索。
[0108] 原型算法實現 在原型實現方式時,連接規劃模塊550首先生成滿足第一到第三準則的所有集合Τ1、 Τ2、一Tn,并隨后應用第四準則的第一版本或實現方式以選擇可實現的且最優的連接規劃 Τχ〇
[0109] 為了生成所有集合ΤΙ、Τ2、使用遞歸(回溯)算法,該算法通過從空集開始 并遞歸地將某些塊添加到其中來(潛在地)訪問Β的所有子集。舉例來說,如果塊X與Ε中 "缺失"的接口 I具有類型2的關系,并且如果在迭代中執行遞歸步驟之后Ε+Χ仍然滿足準 則2,則該塊X僅僅被遞歸地添加到塊Ε的現有集合中。如果Υ中還沒有塊與接口 I具有類 型2的關系,而同時I在Μ中,或者Ε中有塊與接口 I具有類型1的關系,則確定接口 I在 Ε中"缺失"。如果得到的集合Ε+Χ滿足準則1 (意味著它不再具有"缺失"接口),則它被添 加到集合Τ1、Τ2、…!1!!,并且不對Ε+Χ進行進一步的遞歸一進一步遞歸的這種省略意味著 Τ1、Τ2、…Τη中的每個集合自動地滿足準則3。
[oho] 應當理解,上面描述的原型實現方式僅僅是可以從用于求解或逼近與本發明相關 的NP-完全問題的解的許多公知算法實現方式中選擇的一種算法實現方式。
[0111] 連接規劃器輸入及其與四個準則的關系 再次參照圖4,其圖示了協商系統的兩個塊數據元件401和403,其分別表示通信系統 中兩個對應和相鄰的系統元件411和413。塊數據元件401、403都與接口數據元件453有 關系,該接口數據元件453表示兩個通信系統元件411和413之間的真實世界連接463。如 上所描述的,作為對于塊(其作為一個輸入B被提供到連接規劃模塊)的準備,當使用前在預 備編碼階段期間對塊進行編碼時,如果特定塊(例如塊403)表示實現通過連接463而被訪 問的服務的系統元件,則塊403與塊453之間的關系被定義為類型2的關系。如果另一個 塊(例如,塊401)表示使用通過連接463而被訪問的服務的系統元件,則塊401與塊453之 間的關系被定義為類型1的關系。
[0112] 基于到連接規劃模塊的第一和第二輸入,塊數據元件的集合B的子集Tx必須滿足 以聲明該子集Τχ可實現的第一準則的應用要求:表示使用服務的系統元件的塊無論在何 時存在,都必須有對應的塊存在,該塊表示提供該服務的系統元件。塊401 (其為Tx的元 件)使用服務。因此,為了滿足第一準則,塊403必須在Tx中存在以將服務提供或實現到塊 401,從而為接口 453提供所需的類型2的關系。即,塊403提供或實現由該接口所描述的 系統功能。
[0113] 此外,第一準則還確保必須由Tx中的塊提供的輸入集合Μ (其為到連接規劃模塊 的輸入中的一個)中存在的所有接口。連接規劃模塊的正確工作要求使用用于將能力和約 束編碼到組成輸入集合Β的塊中的指南。換句話說,每當由來自集合Β的塊表示的系統元 件需要經由Β中的其他系統元件的接口提供的附加服務時,這些附加服務必須被編碼為該 塊的類型1的接口。提供這樣的服務的塊必須將它們編碼為類型2的接口。
[0114] 對于表示塊(該塊表示通信系統中的非相鄰系統元件)之間的客戶端-服務器關系 的那些接口來說,第一準則能夠確保對于連接規劃中的每個客戶端都有滿足第一準則并且 作為輸出的服務器。為確保這一點,要求使用用于將能力和約束編碼到塊中的指南。該指 南為:每當由兩個塊表示的系統元件之間存在客戶端-服務器關系時,當對輸入Β中的該塊 進行編碼時表示該關系的接口數據元件應當被放置于它們之間,該接口與塊中的一個之間 為類型1的關系,并且該接口和另一個塊之間為類型2的關系。
[0115] 第二準則確保連接規劃模塊550輸出的通信路徑是無歧義的。該第二準則保證單 個特定接口將僅由單個塊實現或提供,并且客戶端將僅有單個服務器要連接。如果省略第 二準則,那么可能需要對Tx (連接規劃模塊550的輸出)執行后處理步驟,以便消除一些歧 義,尤其是告知系統元件建立到特定對應方的連接的配置信息中的歧義。
[0116] 第二準則的執行具有進一步的優點:塊數據元件的創作者可以利用它來不僅對系 統能力而且還對約束進行編碼。回顧一下,塊能夠表示已經被應用了一定的配置數據的系 統元件。如果有兩個互斥的方式來配置系統元件,則優選的方法是通過創建兩個塊數據元 件而不是一個來表示該系統元件,以表示該系統元件的互斥的配置,由此兩個塊數據元件 與單個給定接口都具有類型2的關系。塊數據元件的創作者隨后可以放置這兩個在輸入 B中具有不同配置的塊數據元件,預期連接規劃模塊將應用第二準則,從而有效地防止連接 規劃模塊550將兩個塊數據元件包括在同一輸出連接規劃Tx中,因為將兩個塊數據元件包 括在Tx中將不能滿足第二準則。
[0117] 用于對約束進行編碼的類型2的接口不一定需要是在輸入集合Μ中出現的接口, 或者作為任何其他塊中的類型1的關系接口。作為這個的示例,參見序號為61/607, 114的 臨時申請的第20節,該臨時申請通過整體引用合并于此。
[0118] 注意第二準則并不是方便按照塊來對系統約束進行編碼的唯一可行方式。本發明 還構思可替換的手段。舉例來說,可以引入第三接口類型(例如,接口類型3),以及著眼于類 型3接口而非類型2接口的唯一性的修改的第二準則,使得對于每個接口,Tx中僅單個塊 與該接口可能具有類型3的關系。
[0119] 在一個實施例中,連接規劃模塊550可以省略第二準則并且作為替代計算具有盡 可能多的冗余分支的通信路徑的集合。此處,任何得到的包含用于建立連接的兩個可替代 的選擇形式的冗余分支的輸出Tx解都可以通過使用算法來解出,當路徑被首先實現時該 算法沿著一個優選分支做出選擇,但是每當通信失敗在第一分支上發生時就切換到另一個 分支。在這個實現方式中,連接規劃模塊550省略第二準則并利用不同準則來取代它以實 現對系統約束的編碼。
[0120] 在優選實施例中,接口被表示為ASCII字符串并且上面概述的準則1-4在ASCII 字符串之間使用等同性測試以及針對類型1和2的關系的測試,以做出它們的確定。應當 理解,在接口名稱之間使用放松的等同性測試,例如,'匹配'測試而非等同性測試。舉例來 說,可以使用的一個匹配測試是忽略大寫字母/小寫字母的ASCII字符匹配測試。在一些 實施例中,接口類型關系(諸如類型1或類型2的關系)可能被編碼在接口名稱內,匹配規則 和準則相應地被修改。
[0121] 應當理解,本發明使用塊和接口的編碼系統為其用戶提供了有意義的開放式自 由。本發明不要求提供精確描述來描述應如何將設備的能力和約束編碼到塊中。這個不 精確性構成了優勢,因為它允許系統通過采用可以添加新的編碼的開放式編碼方案(如例 如在通過整體引用合并于此的序號為61/607, 114的臨時申請的第26節中所公開的)來處 理新型的創新性系統架構。通過整體引用合并于此的序號為61/607, 114的臨時申請的第 17-19節公開了適于對用于公知類型的系統元件的塊數據元件和相關聯的接口數據元件進 行編碼的特定編碼方案。
[0122] 本發明具有進一步的優點:像"設備驅動器"和"網絡接口"那樣的傳統系統架構 概念(它們的邊界為被充分理解的操作系統接口和/或協議棧層邊界)簡潔地映射到系統元 件和塊中。背離常規系統架構,單個設備內部的邊界也可以被靈活地編碼,而不影響表示另 一個設備的能力和約束的塊如何編碼。
[0123] 傳統接口的過載(例如使用IP分組遞送接口,該接口還將一些額外的實時性能保 證提供給專門的設備驅動器,如在例如用于支持HDMI和USB類型功能的WiGig綁定中所設 想的)也可以被編碼。這在序號為61/607, 114的臨時申請的第18節中被例示說明。
[0124] 本發明的一個新穎的特征涉及使用塊來表示設備之間的無線介質的能力的方式。 對于更詳細的討論,參見序號為61/607, 114的臨時申請的第18節。
[0125] 圖7描繪了對于計算機系統700形式的機器的說明性圖表表示,在該機器中,一組 指令在被執行時可以使得該機器執行上面討論的方法中的任意一個或多個。在一些實施例 中,該機器作為單機設備運行。在一些實施例中,該機器可以(使用網絡)被連接到其他機 器。在網絡化部署中,該機器可以以客戶端-服務器用戶網絡環境中的服務器或客戶端用 戶機器的能力運行,或者作為對等(或分布式)網絡環境中的對等機器運行。
[0126] 該機器可以包括服務器計算機、客戶端用戶計算機、個人計算機(PC)、平板PC、膝 上型計算機、桌面型計算機、控制系統、網絡路由器、開關或橋、個人數字助理(PDA)、智能電 話、手持PC、蜂窩電話和MP3播放器,或者能夠執行指定要由該機器采取的動作的一組指令 (順序的或相反)的任何機器。應當理解,本公開的設備寬泛地包括提供語音、視頻或數據通 信的任何電子設備。進一步地,當例示說明單個機器時,術語"機器"還應當認為包括單獨 或聯合執行一組(或多組)指令以執行在此討論的方法中的任意一個或多個的機器的任何 集合。
[0127] 計算機系統700可以包括處理器702 (諸如中央處理單元CPU)、圖形處理單元 (GPU,或兩者)、主存儲器704和靜態存儲器706,它們經由總線708相互進行通信。計算機 系統700可以進一步包括視頻顯示單元710 (諸如液晶顯示器(IXD))、平面板、固態顯示器 或陰極射線管(CRT)。計算機系統700可以包括輸入設備712 (諸如鍵盤)、光標控制設備 714 (諸如鼠標)、盤驅動單元716、信號生成設備718 (諸如揚聲器或遙控器)和網絡接口設 備 720。
[0128] 盤驅動單元716可以包括計算機可讀介質722,其上存儲一組或多組指令(諸如軟 件724),該指令體現在此描述的方法或功能中的任何一個或多個,包括上面例示說明的那 些方法。指令724在其被計算機系統700執行期間也可以完全或至少部分地駐留在主存儲 器704、靜態存儲器706中和/或處理器702中。主存儲器704和處理器702還可以構成計 算機可讀介質。指令組(諸如軟件724)在被計算機系統700執行期間還可以完全或至少部 分地駐留在主存儲器704、靜態存儲器706中和/或處理器702中。主存儲器704和處理器 702還可以構成計算機可讀介質。
[0129] 專用硬件實現方式包括但不限于專用集成電路、可編程邏輯陣列和能夠類似地被 構建成實現在此描述的方法的其他硬件設備。可以包括各個實施例的裝置和系統的應用寬 泛地包括各種各樣的電子和計算機系統。一些實施例在兩個或更多特定互連的硬件模塊或 設備中實現功能,其中相關的控制和數據信號在該模塊之間且通過該模塊被傳送,或者將 功能實現為專用集成電路的一部分。因此,示例系統適用于軟件、固件和硬件實現方式。
[0130] 根據本公開的各個實施例,在此描述的方法旨在用于當軟件程序在計算機處理器 上運行時的操作。此外,軟件實現方式可以包括但不限于分布式處理或部件/對象分布式 處理、并行處理,或者也可以構建虛擬機處理以實現在此描述的方法。
[0131] 本公開構思包含指令724的機器可讀介質,或者接收和執行來自傳播信號的指令 724以便連接到網絡環境726的設備能夠發送或接收語音、視頻或數據,并且使用指令724 通過網絡726進行通信的事物。指令724可以進一步經由網絡接口設備720通過網絡726 被傳輸或接收。
[0132] 雖然在示例實施例中計算機可讀介質722被示出為單個介質,但是術語"計算機 可讀介質"應當被認為包括存儲一組或多組指令的單個介質或多個介質(諸如集中式或分 布式數據庫,和/或相關聯的高速緩存和服務器)。術語"計算機可讀介質"還應當被認為 包括能夠存儲、編碼或攜帶用于由機器執行的一組指令并且使得該機器執行本公開的方法 中的任意一個或多個的任何介質。
[0133] 因此,術語"計算機可讀介質"應當被認為包括但不限于:固態存儲器,諸如存儲卡 或容納一個或多個只讀(非易失性)存儲器的其他封裝、隨機存取存儲器,或其他可重寫(易 失性)存儲器;磁光式或光學介質,諸如盤或磁帶;和/或電子郵件或其他自包含信息存檔 的數字文件附件或者存檔的集合被認為是等同于有形存儲介質的分發介質。因此,本公開 被認為包括如在此列舉的且包括技術上認可的等同物和后繼介質的計算機可讀介質或分 發介質中的任意一個或多個,其中存儲了此處的軟件實現方式。
[0134] 盡管本說明書參考特定標準和協議描述在實施例中實現的部件和功能,但是本公 開不限于這樣的標準和協議。用于因特網和其他分組交換網絡傳輸的標準(諸如TCP/IP、 UDP/IP、HTML、HTTP)中的每一個都表示本領域最新發展水平的示例。這樣的標準被具有基 本上相同功能的更快或更高效的等同物周期性地代替。因此,具有相同功能的替代標準和 協議被認為是等同物。
[0135] 在此描述的實施例的例示說明旨在提供對于各個實施例的結構的總體理解,它們 不旨在充當可能利用在此描述的結構的裝置和系統的所有元件和特征的完整描述。本領域 技術人員在審閱上面的描述后,許多其他的實施例將是顯而易見的。其他的實施例可以被 使用或者被從中導出,使得可以做出結構和邏輯上的取代和改變而不偏離本公開的范圍。 附圖也僅僅是表示性的并且可能沒有按比例繪制。其某些比例可能被夸大,而其余比例可 能被最小化。因此,說明書和附圖應在說明性的而非限制性的意義下看待。
[0136] 本發明主題的這樣的實施例僅為了方便起見可以在此單獨和/或共同地由術語 "發明"來指代,并且如果事實上公開了多于一個發明或發明概念,不旨在自愿將本申請的 范圍限制于任何單個發明或發明概念。因此,盡管在此已經例示說明和描述了特定的實施 例,但是應當理解,被計算用來達到相同目的的任何布置可以取代所示的特定實施例。本公 開旨在覆蓋對于各個實施例的任何和所有改動或變型。本領域技術人員在審閱上面的描述 后,上面的實施例的組合和在此未被特別描述的其他實施例將是顯而易見的。
[0137] 本領域技術人員在實踐所要求保護的發明時,通過研究附圖、公開內容和所附的 權利要求書,能夠理解和實施對于所公開的實施例的其他變型。在權利要求中,詞語"包括" 不排除其他元件或步驟,并且不定冠詞"一"不排除多個。單個處理器或其他單元可以完成 權利要求中記載的若干項目的功能。在相互不同的從屬權利要求中記載了某些措施的僅有 事實并不表明這些措施的組合不能被用于獲益。
【權利要求】
1. 一種通信系統,包括用于在位于該通信系統的設備中的一對或多對端點之間建立一 個或多個通信路徑的連接協商系統,其中所述通信系統包括:兩個或更多設備、位于所述兩 個或更多設備之間的至少一個通信介質、能夠被用于實現要建立的所述一個或多個通信路 徑的一部分的多個系統元件、表示以下各項之一的多個接口數據元件:(a)系統元件之間 的連接點;(b)系統元件與要建立的所述一個或多個通信路徑的端點之間的連接點, 其中所述連接協商系統包括至少一個處理器,其可操作來: a) 作為第一處理器輸入,接收要建立的所述一個或多個通信路徑的一對或多對端點, 所述端點位于所述通信系統的設備中,其中每個端點由所述多個接口數據元件中的一個表 示; b) 作為第二處理器輸入,接收對所述至少兩個設備和可選地所述通信介質的能力和 約束的描述,其中所述能力和約束由塊數據元件的集合B定義,其中塊數據元件的所述集 合B中的塊數據元件由表示以下各項的數據組成:(a)被配置成施行某個通信任務的單個 系統元件,或者(b)不能被配置的單個系統元件,或者(c)總是以相同的方式被配置而不管 其支持的所述一個或多個通信路徑如何的單個系統元件, c) 基于所述第一和第二輸入找到滿足至少第一準則的塊數據元件的所述集合B的子 集Tx,以及 d) 作為代表所述通信系統中要建立的所述一個或多個通信路徑的連接規劃而輸出子 集Tx, e) 通過至少配置由所述子集Τχ指定的一個或多個系統元件以在所述通信系統中建 立所述一個或多個通信路徑來執行所述連接規劃。
2. 根據權利要求1所述的通信系統,其中系統元件是以下各項之一:與所述兩個或更 多設備中的一個相關聯的元件、與所述至少一個通信介質相關聯的元件、與所述兩個或更 多設備中的一個相關聯的元件和所述至少一個通信介質。
3. 根據權利要求1所述的通信系統,其中所述集合Β中的每一個塊數據元件進一步包 括標識從所述通信系統中的所述多個接口數據元件中選擇的一個或多個接口數據元件的 數據,其中標識所述接口數據元件的所述數據與所述塊數據元件具有關系,并且所述數據 進一步為每一個接口數據元件對所述接口數據元件和所述塊數據元件之間的關系的類型 進行編碼,其中所述類型的關系包括類型1或類型2的關系中的一個。
4. 根據權利要求3所述的通信系統,其中所述子集Τχ必須滿足的所述第一準則包括: 標識包含在所述第一輸入中或與Τχ中的至少一個塊數據元件具有類型1的關系的那 些接口數據元件,以及 確定所標識的接口數據元件中的每一個與至少一個接口數據元件相同或基本上類似, 所述至少一個接口數據元件與Τχ的至少一個塊數據元件具有類型2的關系。
5. 根據權利要求3所述的通信系統,其中所述通信系統和所述協商系統滿足一定的特 性,所述特性包括: I. 在所述通信系統中: 第二系統元件將所需的服務提供給第一系統元件, II. 在所述協商系統中: a)塊數據元件的所述集合Β包括至少第一塊數據元件,和第二塊數據元件, b)所述第一塊數據元件表示所述通信系統中的所述第一系統元件,并且所述第二塊 數據元件表示所述通信系統中的所述第二系統元件,以及 C)所述第一和第二塊數據元件與單個接口數據元件具有相應的類型1和類型2的關 系。
6. 根據權利要求1所述的通信系統, I. 其中在所述通信系統中:系統元件可以在第一配置中被配置成執行第一通信任務 并且還可以在第二配置中被配置成執行第二通信任務,其中所述系統元件具有限制,因為 所述第一和第二通信任務不能由所述系統元件同時執行,以及 II. 其中在所述協商系統中:塊數據元件的所述集合B中的第一塊數據元件表示所述 第一配置中的系統元件,并且第二塊數據元件表示所述第二配置中的系統元件。
7. 根據權利要求1所述的通信系統,其中配置由所述子集Tx指定的所述一個或多個系 統元件來在所述通信系統中建立所述一個或多個通信路徑進一步包括:執行與Τχ中的某 些塊數據元件相關聯的計算機可讀指令以實施所述一個或多個系統元件的配置。
8. -種用于在位于通信系統的設備中的一對或多對端點之間建立一個或多個通信路 徑的方法,該通信系統包括:兩個或更多設備、位于所述兩個或更多設備之間的至少一個通 信介質、能夠被用于實現要建立的所述一個或多個通信路徑的一部分的多個系統元件、表 示以下各項的多個接口數據元件:(a)系統元件之間的連接點和(b)系統元件與要建立的 通信路徑的端點之間的連接點,所述方法包括: a) 作為第一輸入,接收要建立的所述一個或多個通信路徑的所述一對或多對端點,所 述端點位于所述通信系統的設備中,其中每個端點由所述多個接口數據元件中的一個表 示; b) 作為第二輸入,接收對所述至少兩個設備和可選地所述通信介質的能力和約束的描 述,其中所述能力和約束由塊數據元件的集合B定義,其中塊數據元件的所述集合B中的塊 數據元件由表示以下各項的數據組成:(a)被配置成執行某個通信任務的單個系統元件, 或者(b)不能被配置的單個系統元件,或者(c)總是以相同的方式被配置而不管其支持的 所述一個或多個通信路徑如何的單個系統元件, c) 基于所述第一和第二輸入找到滿足至少第一準則的塊數據元件的所述集合B的子 集Tx,以及 d) 作為代表所述通信系統中要建立的所述一個或多個通信路徑的連接規劃而輸出所 述子集Tx,以及 e) 通過配置由所述子集Τχ指定的一個或多個系統元件以在所述通信系統中建立所述 一個或多個通信路徑來執行所述連接規劃。
9. 根據權利要求8所述的方法,其中所述集合Β中的每一個塊數據元件進一步包括標 識從所述通信系統中的所述多個接口數據元件中選擇的一個或多個接口數據元件的數據, 識別所述接口數據元件的所述數據與所述塊數據元件具有關系,并且所述數據進一步為每 一個接口數據元件對所述接口數據元件和所述塊數據元件之間的關系的類型進行編碼,其 中所述類型的關系包括類型1或類型2的關系中的一個。
10. 根據權利要求8所述的方法,其中所述子集Τχ必須滿足的所述第一準則包括: 標識包含在所述第一輸入中或與Τχ中的至少一個塊數據元件具有類型1的關系的那 些接口數據元件,以及 確定所標識的接口數據元件中的每一個與至少一個接口數據元件相同或基本上類似, 所述至少一個接口數據元件與Tx的至少一個塊數據元件具有類型2的關系。
11. 根據權利要求8所述的方法,其中在所述通信系統中:系統元件可以在第一配置中 被配置成執行第一通信任務并且還可以在第二配置中被配置成執行第二通信任務,其中所 述系統元件具有限制,因為所述第一和第二通信任務不能由所述系統元件同時執行,以及 在所述協商系統中:塊數據元件的所述集合Β中的第一塊數據元件表示所述第一配置中的 系統元件,并且第二塊數據元件表示所述第二配置中的系統元件。
12. 根據權利要求8所述的方法,其中配置由所述子集Tx指定的所述一個或多個系統 元件來在所述通信系統中建立所述一個或多個通信路徑進一步包括:執行與Tx中的某些 塊數據元件相關聯的計算機可讀指令以實施所述一個或多個系統元件的配置。
13. -種通信系統系統中的對接方,該對接方托管用于在位于所述通信系統的設備中 的一對或多對端點之間建立一個或多個通信路徑的連接協商系統,其中所述通信系統包 括:兩個或更多設備、位于所述兩個或更多設備之間的至少一個通信介質、能夠被用于實現 要建立的所述一個或多個通信路徑的一部分的多個系統元件、表示以下各項之一的多個接 口數據元件:(a)系統元件之間的連接點;(b)系統元件與所述一個或多個通信路徑的端點 之間的連接點, 其中由所述對接方托管的所述連接協商系統包括至少一個處理器,其可操作來: a) 作為第一處理器輸入,接收要建立的所述一個或多個通信路徑的所述一對或多對端 點,所述端點位于所述通信系統的設備中,其中每個端點由所述多個接口數據元件中的一 個表示, b) 作為第二處理器輸入,接收對所述至少兩個設備和可選地所述通信介質的能力和約 束的描述,其中所述能力和約束由塊數據元件的集合B定義,其中塊數據元件的所述集合B 中的塊數據元件由表示以下各項的數據組成:(a)被配置成執行某個通信任務的單個系統 元件,或者(b)不能被配置的單個系統元件,或者(c)總是以相同的方式被配置而不管其支 持的所述一個或多個通信路徑如何的單個系統元件, c) 基于所述第一和第二輸入找到滿足至少第一準則的塊數據元件的所述集合B的子 集Tx,以及 d) 作為代表所述通信系統中要建立的所述一個或多個通信路徑的連接規劃而輸出所 述子集Tx, e )啟動所述連接規劃的執行,所述執行包括:配置由所述子集Tx指定的一個或多個系 統元件以在所述通信系統中建立所述一個或多個通信路徑。
14. 一種通信系統中的對接主機,該對接主機托管用于在位于通信系統的設備中的一 對或多對端點之間建立一個或多個通信路徑的連接協商系統,其中所述通信系統包括:兩 個或更多設備、位于該兩個或更多設備之間的至少一個通信介質、能夠被用于實現要建立 的所述一個或多個通信路徑的一部分的多個系統元件、表示以下各項的多個接口數據元 件:(a)系統元件之間的連接點和(b)系統元件與所述一個或多個通信路徑的端點之間的 連接點, 其中由所述對接主機托管的所述連接協商系統包括至少一個處理器,其可操作來: a) 作為第一處理器輸入,接收要建立的所述一個或多個通信路徑的所述一對或多對端 點,所述端點位于所述通信系統的設備中,其中每個端點由所述多個接口數據元件中的一 個表示, b) 作為第二處理器輸入,接收對于所述至少兩個設備和可選地所述通信介質的能力和 約束的描述,其中所述能力和約束由塊數據元件的集合B定義,其中塊數據元件的所述集 合B中的塊數據元件由表示以下各項的數據組成:(a)被配置成執行某個通信任務的單個 系統元件,或者(b)不能被配置的單個系統元件,或者(c)總是以相同的方式被配置而不管 其支持的所述一個或多個通信路徑如何的單個系統元件, c) 基于所述第一和第二輸入找到滿足至少第一準則的塊數據元件的所述集合B的子 集Tx,以及 d) 作為代表通信系統中要建立的所述一個或多個通信路徑的連接規劃而輸出所述子 集Tx, e )啟動所述連接規劃的執行,所述執行包括:配置由所述子集Τχ指定的一個或多個系 統元件以在所述通信系統中建立所述一個或多個通信路徑。
【文檔編號】H04W84/18GK104160668SQ201380012959
【公開日】2014年11月19日 申請日期:2013年3月5日 優先權日:2012年3月6日
【發明者】K.J.G.霍爾特曼 申請人:皇家飛利浦有限公司