管理應用和網絡之間的接口的製作方法
2023-05-08 05:09:21 1
管理應用和網絡之間的接口的製作方法
【專利摘要】根據一種實施方式,應用和網絡之間的接口例如由接口管理器來管理。所述接口管理器用於接收來自所述應用的訪問所述網絡的請求、確定分派給所述應用的權限、以及為所述應用提供對應於所確定的分派給所述應用的權限的對所述網絡的訪問等級。
【專利說明】管理應用和網絡之間的接口
【背景技術】
[0001]現代的IT系統很大程度上依賴於計算資源和網絡資源的協作,以高效並安全地傳遞應用服務。可靠的應用或服務性能高度依賴於網絡訪問策略、重要流量的適當優先順序以及跨水平擴展的計算資源的流量流分布的正確限定。
[0002]傳統的網絡化平臺致力於開發需要設備特定的、學科特定的、以及經常手動配置的「應用感知的」網絡特徵及裝置,以確保平臺識別、響應、以及按需要操控應用流量,從而確保應用性能、穩定性及運行狀態。但是,此方法引入了對系統開發的障礙,其增加了成本、複雜性及時間。
【專利附圖】
【附圖說明】
[0003]本公開的特徵通過示例的方式被闡述,並且在下列圖中不受限制,圖中相同的標號表不相同的兀件,其中:
[0004]圖1示出根據本公開示例的網絡環境的功能框圖,在該網絡環境中可實現本文公開的接口管理器;
[0005]圖2示出根據本公開示例的包含接口管理器的服務拓撲的功能框圖;
[0006]圖3示出根據本公開示例的圖1中所描繪的網絡裝置的簡化框圖;
[0007]圖4和圖5分別描繪出根據本公開兩個示例的用於管理應用和網絡之間的接口的方法的流程圖;以及
[0008]圖6圖示根據本公開示例的計算設備的示意圖,該計算設備可用於執行圖3中所描繪的接口管理器的各種功能。
【具體實施方式】
[0009]為了簡化及說明目的,主要參照本公開的示例來描述本公開。在下面的描述中,為了提供對本公開的深入理解,闡述了多個具體細節。但是將顯而易見的,本公開可不受限於這些具體細節來實施。在其它實例中,為了不會不必要的模糊本公開,未詳細描述一些方法和結構。如本文所用的,術語「包括」意思是包括但不限於,術語「基於」意思是至少部分基於。此外,術語「一種」旨在表示特定元件中的至少一個。此外,變量和「η」旨在表示等於或大於一的整數,且可表示相對於彼此不同的值。
[0010]本文公開的是一種用於管理應用和網絡之間的接口的方法,該方法使應用能夠與網絡服務交互和協商,網絡服務允許應用集成到網絡中並參與網絡的轉發過程。一方面,本文公開的方法使得應用能夠直接與網絡交互,並且為了確保應用性能、穩定性和運行狀態,動態且全面地限定並請求所需的網絡服務,而無需應用開發者結合其他資源來配置具體的「應用感知的」網絡設備,以檢測並隨後響應推斷的應用狀態。另一方面,本文公開的方法基於授予各應用或服務的權限為每個應用披露相關的上下文(例如,策略、性能特性、狀態、拓撲等)。本文還公開了一種實現該方法的接口管理器及計算機可讀存儲介質,在計算機可讀存儲介質上存儲有用於執行該方法的一組機器可讀指令。
[0011]一般來說,接口管理器被構建在網絡設備的網絡的可信控制器的頂部,並向外部應用服務提供網絡服務應用程式接口(API)的抽象化,同時還認證那些應用服務,以確保阻止應用服務未準許的活動。通過示例的方式,可信控制器及網絡設備在例如OpenFlow?的可信協議下運行。在這點上,可信控制器負責構建並承載向每個網絡設備(例如,網絡中的交換機)轉發條目的流量。可信控制器代表可信控制面,其負責維護網絡狀態和拓撲。根據示例,控制器被構造為與網絡服務協作的系統,網絡服務被準許經由控制器和網絡服務API可信訪問控制器的狀態和網絡驅動機制。此外,通過防止應用和管理服務直接與可信控制器的可信網絡狀態交互,由此將網絡功能的核心控制保留給網絡服務,基本上確保了網絡的穩定性。
[0012]根據示例,通過經由本文公開的接口管理器向應用環境披露網絡狀態和容量,可統一化應用開發系統。此外,可以安全、全面及交互的方式,統一應用開發系統。一方面,本文公開的方法不需要開發組聘用負責理解系統功能並將該功能轉換成相關網絡配置的附加高技能人員。另一方面,由於必要的「編程」不需要幾十到幾百裝置的配置,因此本文公開的方法顯著減小了應用開發系統的運行狀態及設計的複雜度。再一方面,由於不需要使用外部組織的且受時間約束的資源,因此本文公開的方法改進了開發和部署。
[0013]相比之下,傳統的網絡化技術致力於將應用感知和智能構建在單獨的功能強大的裝置中。這要求在不了解網絡狀態或功能的情況下開發系統,後續工作用於正確配置網絡以確保必要的運行狀態。因此,傳統的網絡化技術通常成本高、複雜且耗時。
[0014]參照圖1,示出了根據示例的網絡環境100的功能框圖,在網絡環境100中可實現本文公開的接口管理器。應當顯而易見地,圖1中描繪的圖表示概括的說明,且可增加其他組件,或者可移除、修改或重新設置現有的組件,而不脫離網絡環境100的範圍。例如,網絡環境100可包括附加的網絡設備,例如數據存儲陣列、伺服器等。
[0015]網絡環境100被描繪為包括多個網絡設備102a-102n、多個客戶端設備IlOa-1lOl (還可稱為裝置)、以及由多個網絡控制器122a-122m組成的分布式網絡控制器120。網絡設備102a-102n包括為網絡104(例如,內部網、網際網路等)中的多個客戶端設備IlOa-1lOl提供聯網功能的裝置。在這點上,網絡設備102a-102n可包括交換機、路由器、無線接入點、無線控制器、集線器、網橋、伺服器等。此外,網絡設備102a-102n可被描繪為在區域網(LAN)、廣域網(WAN)、城域網(MAN)等中之一中彼此聯網。客戶端設備IlOa-1lOl包括個人計算機、伺服器、可攜式電腦、平板電腦、蜂窩電話、或可用於通過網絡設備102a-102n訪問網絡104的任意其他電子設備。
[0016]網絡控制器122a_122m包括伺服器、處理器、網絡設備等,用於控制網絡設備102a-102n在執行網絡操作中的操作,例如通過網絡設備102a_102n向合適的目的地轉發數據包,均衡網絡設備102a-102n上的負載,管理對網絡設備102a_102n的帶寬分配、網絡流量優先級處理、通過網絡設備102a-102n的流量,等等。通過特定示例的方式,網絡控制器122a-122m包括包含在單個或多個機架內的x86處理器。一方面,為了冗餘和故障轉移的目的,對網絡設備102a-102n操作的控制分布在多個網絡控制器122a_122m中。但是,應理解,分布式網絡控制器120可包括單個網絡控制器122a,而不脫離本公開的範圍。
[0017]根據示例且如在本文中更詳細討論的,網絡控制器122a_122m中的至少一個包括接口管理器(未示出),其用於為網絡設備IlOa-1lOl上執行的應用提供對網絡104的預定等級的訪問。具體地,接口管理器用於基於各種因素提供對網絡104的預定等級的訪問,該各種因素包括網絡104的感知。一方面,接口管理器用於直接向網絡設備IlOa-1lOl (即,在應用層)上執行的應用披露網絡狀態和功能,這允許應用與網絡104交互、對網絡性能104及狀態做出反應、和/或以有效且全面的方式影響網絡104的運行狀態。
[0018]現在參照圖2,示出了根據示例的包含接口管理器的服務拓撲200的功能框圖。應顯而易見地,圖2中描繪的圖表示概括的說明,且可增加其他組件,或者可移除、修改或重新設置現有的組件,而不脫離服務拓撲200的範圍。
[0019]服務拓撲200被示出為包括應用面202、管理面204、控制面206以及數據面208。根據示例,服務拓撲200描繪了圖1中描繪的網絡環境100的拓撲。在此點上,圖1中描繪的組件的各種操作和功能可被構造為在圖2中描繪的各種不同的面202-208中被控制。在圖2中,虛線箭頭一般表示組件邏輯地彼此連接,而實線箭頭一般表示組件位於同一位置和/或組件彼此物理連接。
[0020]多個應用210a_210c被描繪為應用面202的部分。應用210a_210c可被存儲在客戶端設備IlOa-1lOl中的一個中,或者被存儲在客戶端設備IlOa-1lOl中的多個中。在任意方面,應用210a-210c可向控制面206傳遞各種請求,且應用210a_210c中的每個可向控制面206傳遞不同的請求。如圖2中示出的,一個應用201a向控制面206傳遞與應用210a有關的各種信息,包括應用策略212和應用網絡服務214a,其在下面將被更詳細地討論。該應用210a還被描繪為通過套接字216與數據面208通信,以例如直接向包含在數據面208中的網絡設備102a-102d傳遞數據包。另一個應用210b被描繪為例如向控制面206傳遞與應用210b相關的信息,且又一個應用210c被描繪為向控制面206傳遞與應用210c相關的信息,包括應用網絡服務214c。在任意方面,應用210a-21c可通過一組接口與接口管理器224通信,以例如控制到接口管理器224的套接字連接。
[0021]控制面206被描繪為包括分布式網絡控制器222,分布式網絡控制器222包括接口管理器224、多個網絡服務應用226a-226c、網絡設備控制器應用程式接口(API) 228、拓撲上下文230、以及狀態機232。控制面206還被描繪為包括網絡狀態資料庫234、網絡策略資料庫236以及網絡容量資料庫238。控制面206的組件,尤其是分布式網絡控制器222,可包括圖1中的分布式網絡控制器120的組件。
[0022]分布式網絡控制器222運行OpenFlow?協議或其他類型的協議,以控制網絡設備102a-102n (僅示出網絡設備102a_102d)在數據面208中的各種操作。例如,分布式網絡控制器222構建並承載向每個網絡設備102a-102n中轉發條目的流量。根據示例,網絡設備102a-102n包括交換機,並且網絡104包括交換機結構。分布式網絡控制器222代表可信控制面206,其負責維護網絡狀態和拓撲。此外,分布式網絡控制器222被構造為與網絡服務226a-226c協作的系統,網絡服務226a_226c被準許為經由網絡設備控制器API 228可信訪問分布式網絡控制器222狀態和網絡驅動機制。
[0023]如圖2中示出的,接口管理器224包括獨立於網絡設備控制器API 228的組件。具體地,接口管理器224可被視為構造在網絡設備控制器API的頂部,且被視為向應用210a-210c提供網絡服務API的抽象化。接口管理器224還可執行對應用210a_210c的認證,以確保應用210a-210c被準許執行應用210a_210c試圖在網絡104上執行的服務。如下面更詳細地討論的,接口管理器224負責基於授予應用210a-210c的權限,為每個應用210a-210c披露相關的應用上下文220a-220c (例如,策略、性能特性、狀態、拓撲等)。接口管理器224為應用210a-210c披露相關的上下文220a_220c,同時通過阻止應用210a_210c以及管理面204中的管理服務直接與分布式網絡控制器222交互可信網絡狀態,因而將網絡功能的核心控制保留給網絡服務226a-226c,來幫助確保網絡104的穩定性。
[0024]接口管理器224 —般包括例如作為網絡感知API運行的一組機器可讀指令。換句話說,接口管理器224使應用210a-210c以及作業系統能夠詢問網絡104關於網絡狀態信息,其中由接口管理器224提供的應用上下文220a-220c為應用210a_210c以及作業系統提供網絡104(圖1)的一定程度的透明度。一方面,接口管理器224通過安全地向應用環境披露網絡狀態和容量來統一開發系統。此統一使得能夠維護應用環境202和支持應用環境202的網絡104之間的全面和交互的關係。
[0025]如圖2中示出的,接口管理器224可接收來自應用210a_210c的訪問(S卩,詢問、交互、修改等)網絡104的請求。請求可包括詢問與網絡104相關的狀態信息。狀態信息可包括例如:源到目的地或網絡104的邊界內的延遲、源到目的地或網絡104的邊界內的可用帶寬容量、與特定應用關聯的通信流的狀態,等等。
[0026]此外或可替代地,請求可限定例如與應用210a_210c對網絡104的傳遞和訪問策略相關的策略及要求。請求還可包括與接口管理器224協商傳輸和分配服務。示例包括限定延遲、損耗、帶寬、可靠性要求(例如,不共享鏈路風險組),限定負載均衡策略,等。換句話說,接口管理器224允許應用210a-210c對分布式網絡控制器222編程,以在策略中限定的某些預定條件滿足時發送對應用210a-210c的觸發。
[0027]通信還可包括應用210a_210c請求將服務插入到流量轉發過程。這些請求的滿足允許應用210a-210c分析流量,並基於權限允許應用210a_210c影響流量轉發決策。下面更詳細地描述與通信和接口管理器224執行的有關那些通信的操作相關的各種示例。
[0028]如圖2中進一步描繪地,分布式網絡控制器222還與管理面204中的組件通信。管理面204中的組件包括管理應用240、監視應用242、操作員策略資料庫244、以及操作員狀態資料庫246。在一個示例中,管理實體(例如,系統操作員)通過圖形用戶接口、SNMP、網絡配置協議(Netconf)或任意其它類似的配置和管理協議與控制面206及數據面208交互。具體地,分布式網絡控制器222以及管理面204中的應用240和242可經由套接字通信、利用HTTP、利用HTTPS等與管理實體通信。
[0029]接口管理器224為應用210a_201c提供對應於所確定的分派給應用210a_210c的權限的對網絡的訪問等級。在一個示例中,且根據分派給應用210a-201c的權限,接口管理器224允許應用210a-201c訪問網絡狀態資料庫234、網絡策略資料庫236和網絡容量資料庫238。在另一個示例中,接口管理器224允許應用210a-201c訪問網絡設備控制器API228,網絡設備控制器API 228訪問資料庫234至238。
[0030]儘管已將圖2中描繪的服務拓撲200描述為針對特定的服務及相關網絡,應理解,服務拓撲200還可包括多個系統間的通信。例如,多個分布式網絡控制器222可彼此通信,以使得分布式網絡控制器222能夠管理應用和網絡之間的接口。
[0031]現在轉向圖3,示出了根據示例的網絡裝置300的簡化框圖。應容易顯而易見地,圖3中描繪的圖表示概括的說明,且可增加其他組件,或者可移除、修改或重新設置現有的組件,而不脫離本文描述的網絡裝置300的範圍。
[0032]一般地,網絡裝置300可包括分別在圖1和2中描繪的分布式網絡控制器120、222的網絡控制器122a。在這點上,網絡裝置300可包括形成分布式網絡控制器120的多個網絡控制器122a-122n中的一個。在另一點上,本文中關於網絡裝置300描述的功能可由與網絡裝置300類似地配置或不同地配置的多個網絡裝置來執行。此外,儘管未示出,網絡裝置300還可具有存儲在其上的、關於圖2中描繪的分布式網絡控制器222在上面討論的網絡服務226a-226c、網絡設備控制器API 228、拓撲上下文230以及狀態機232。
[0033]網絡裝置300被描繪為包括處理器302、輸入/輸出接口 304、數據倉庫306、以及接口管理器310。接口管理器310還被描繪為包括請求接收模塊312、應用認證模塊314、權限確定模塊316、請求準許確定模塊318、以及訪問提供模塊320。可包括微處理器、微控制器、專用集成電路(ASIC)等的處理器302用於執行網絡裝置300中的各種處理功能。處理功能中的一個包括調用或實施接口管理器310的模塊312至320,如本文在下面更詳細地討論的。
[0034]根據示例,接口管理器310包括硬體設備,例如設置在板上的一個或多個電路。在此示例中,模塊312至320包括電路組件或單個電路。根據另一示例,接口管理器310包括易失性或非易失性存儲器,例如動態隨機存取存儲器(DRAM)、電可擦除可編程只讀存儲器(EEPROM)、磁阻式隨機存取存儲器(MRAM)、憶阻器、快閃記憶體、軟盤、光碟只讀存儲器(CD-ROM)、數字影碟光碟只讀存儲器(DVD-ROM)、或其他光的或磁的介質,等等。在此示例中,模塊312至320包括存儲在存儲器中的軟體模塊。根據又一示例,模塊312至320包括硬體模塊和軟體模塊的結合。
[0035]輸入/輸出接口 306可包括硬體和/或軟體接口。在這點上,輸入/輸出接口 306可包括使得能夠接收和發射數據和/或信號的硬體和/或軟體組件。因此,例如,輸入/輸出接口 306包括物理埠,例如乙太網埠、光纖埠等等,線纜物理地插入這些埠中。在另一示例中,輸入/輸出接口 306包括用於使得IP包能夠無線通信的裝置,例如,具有W1-Fi?、藍牙?等功能的裝置。
[0036]一方面,處理器302用於通過輸入/輸出接口 306接收來自應用210a_210c的數據,例如請求。處理器302還可用於通過輸入/輸出接口 306向應用210a-210輸出數據,例如應用上下文220a-220c。處理器302可進一步通過輸入/輸出接口 306與管理面204中的組件240至246、數據面208中的網絡設備102a至102η、網絡數據資料庫234、網絡策略資料庫236、以及網絡容量資料庫238通信。
[0037]處理器302還可將接收到的數據存儲到數據倉庫304中,且還可在實現模塊312至320時使用數據。數據倉庫304包括易失性和/或非易失性存儲器,例如DRAM、EEPR0M、MRAM、相變RAM(PCRAM)、憶阻器、快閃記憶體等等。此外或可替代地,數據倉庫304包括用於從可移除介質讀並寫入可移除介質的設備,例如軟盤、CD-ROM、DVD-ROM、或其他光的或磁的介質。
[0038]關於分別在圖4和圖5中描繪的方法400和500更詳細地討論可實現接口管理器310的各種方式。更具體地,圖4和圖5描繪了根據兩個示例的、用於管理應用和網絡之間的接口的方法400和500的相應流程圖。本領域普通技術人員應當顯而易見,方法400和500表示概括的說明,且可增加其他步驟,或可移除、修改或重新設置現有的步驟,而不脫離方法400和500的範圍。儘管將圖3中描繪的接口管理器310具體提及為包括可執行方法400和500中描述的操作的裝置和/或一組機器可讀指令,但應理解,不同配置的裝置和/或機器可讀指令可執行方法400和500,而不脫離方法400和500的範圍。
[0039]一般地,方法400和500可實現為管理應用210a和網絡104之間的接口。更具體地,接口管理器310可實現方法400和500,以向應用面202中的應用210a_210c直接披露網絡狀態和功能,由此允許應用210a-201c與網絡104交互、對網絡性能和狀態做出反應、以及以有效且全面的方式影響網絡運行狀態。
[0040]首先參照方法400,在框402處,例如由請求接收模塊312接收來自應用210a的訪問網絡104的請求。該請求可包括多個不同類型請求中的任一個。例如,該請求可包括詢問網絡104的狀態,應用210a可使用該請求做出如何在可用網絡運行狀態下最優工作的決策。作為另一示例,該請求可包括待應用於網絡104中的策略和要求的傳送,其使得應用能夠限定對網絡104的相關傳遞和訪問策略以及與網絡104協商傳輸和分配服務。策略和要求的示例包括限定延遲、損耗、帶寬、可靠性要求(例如,不共享鏈路風險組),限定負載均衡策略等等。作為又一示例,該請求可包括對將服務插入到流量轉發過程中的請求,這允許應用210a分析流量,並且基於權限允許應用210a影響網絡104中的流量轉發決策。
[0041]在框404處,例如,由權限確定模塊316確定分派給應用210a的權限。將一般與應用210a的訪問等級相關的權限提供給網絡104。因此,例如,應用210a可不被提供有權限,其中應用210甚至不被提供對網絡104的狀態的訪問。當應用210a不被提供有權限時,應用210a可能夠通過網絡104通信,但是可能不能訪問網絡104的狀態信息。作為另一示例,應用210a可被提供有網絡透明等級的權限,其中應用210a可接收對詢問網絡104的狀態的響應。換句話說,應用210a可被提供有對網絡104的只讀類型的訪問。作為又一示例,應用210a可被提供有網絡交互等級的權限,其中應用210a可限定對網絡104的相關傳遞和訪問策略,以及與網絡104協商傳輸和分配服務。作為又一示例,應用210a可被提供有網絡插入等級的權限,其中應用210a可將服務插入到流量轉發過程。
[0042]應用210a可被分派上面討論的權限的任意組合。此外,在一個示例中,分派給應用210a的權限包含在從應用210a接收的請求或其它通信中。在另一示例中,權限確定模塊316可通過訪問包含與分派給應用210a的權限相關的信息的資料庫,來確定分派給應用210a的權限。
[0043]在框406處,例如,由訪問提供模塊320為應用210a提供對應於所確定的分派給該應用的權限的對網絡104的訪問等級。因此,例如,如果應用210a不被提供有任何訪問網絡104的權限,則可拒絕應用210a的訪問網絡104的請求。
[0044]作為另一示例,如果應用210a已被分派網絡透明等級的權限,則可允許應用210a訪問網絡104的狀態。更具體地,接口管理器310的訪問提供模塊320可包括基元(primitives),其允許應用210a詢問網絡104並查看從源到目的地或受控網絡104的邊界內的延遲。基元還可允許應用210a以及作業系統詢問網絡104並查看從源到目的地或受控網絡104的邊界內的可用帶寬容量。基元可進一步允許應用210a監視與該應用關聯的通信流的狀態。
[0045]一方面,且與完全依靠丟包為作業系統和應用識別網絡性能問題的傳統網絡化模型不同,接口管理器310使應用210a或作業系統能夠基於網絡性能動態調整其自身的網絡運行狀態。因此,應用210a與接口管理器310的交互允許應用210a主動優化性能,而不是完全依賴於破壞性的基於丟失的TCP機制。
[0046]作為又一示例,如果應用210a已被分派網絡交互等級的權限,則可允許應用210a限定對網絡104的相關傳遞和訪問策略,以及與網絡104協商傳輸和分配服務。更具體地,接口管理器310的訪問提供模塊320可包括通過規定理想的延遲、帶寬、以及可靠性指標來允許應用210a請求有保證的傳輸質量的基元。根據示例,訪問提供模塊320支持允許網絡104傳送流特性的迭代響應,在所請求的傳遞特性滿足的情況下,網絡104可支持允許應用210a或者接受所提議的保證或者等待通知。基元還可允許應用210a全面地限定一種策略,可通過該策略在網絡104中的目的節點之間分配流量。基元可進一步允許應用210a限定另一種策略,通過該策略劃分流量在網絡104上傳輸的順序。基元可再進一步地允許應用210a在整體方面請求流量通過網絡104的路徑。
[0047]通過特定示例的方式,通過使用接口管理器310中的這些網絡互動基元,應用210a可請求特定應用流(例如與電子商務網站的「結帳」功能關聯的那些應用流)在為高優先級動作保留的一組系統中分配、在具有高優先級的網絡上轉發且受限於PCI兼容網絡路徑,而對目錄的匿名瀏覽在較小的一組系統中分配、並在最大努力的基礎上在任意可用網絡路徑上傳遞。作為另一示例,接口管理器310可允許應用210a對網絡104編程,以在策略中限定的某些預定條件滿足時發送對應用210a的觸發。
[0048]作為又一示例,如果應用210a已被分派網絡插入等級的權限,則可允許應用210a將服務插入到網絡104的流量轉發過程中。更具體地,接口管理器310的訪問提供模塊320可包括基元,該基元允許應用210a將其自身插入到新的相關聯流的轉發過程中,從而允許應用210a影響如何在網絡104中轉發特定流的流量。基元還可允許應用210a將其自身插入到所有相關聯流的轉發過程中,從而允許應用210a監視現有流的內容。基元可進一步允許應用210a臨時變更網絡104中特定流或一組流的目的地。
[0049]通過示例的方式,通過使用這些網絡插入基元,應用210a可監視特定應用流,並基於應用狀態可具有在網絡104中重定向的單個流或成組的流,以便於更合適的應用處理或響應。
[0050]現在轉到圖5中的方法500,示出了圖4中描繪的用於管理應用210a和網絡104之間的接口的方法400的更詳細的流程圖。在框502處,接收來自應用210a的訪問網絡104的請求,這等同於圖4中的框402。
[0051]在框504處,例如由應用認證模塊314確定應用210a是否是可信的。可確定應用210a的可信性以確定應用210a是否被準許訪問網絡104。可通過多個合適的認證程序中的任意一個來執行應用210a的認證。例如,可確定應用210a是否在應用列表中被列出為可信的。作為另一示例,可確定應用210a是否包含合適的密鑰或其它標識符,其表示應用210a是可/[目的。
[0052]在任意方面,響應於確定應用210a是不可信的,在框506處,可例如由訪問提供模塊320通過接口管理器310拒絕訪問網絡104。
[0053]但是,如果確定應用210a為可信的,則在框508處,可由例如權限確定模塊316確定分派給應用的權限,如上面關於圖4中的框404討論的。
[0054]在框510處,例如由訪問提供模塊320確定在框502處接收到的請求是否與分派給應用210a的權限相匹配。響應於確定請求與分派給應用210a的權限不匹配,可通過接口管理器310拒絕包含在該請求中的對網絡104的訪問等級,如框506處所示。因此,例如,如果應用210a已被分派網絡透明等級的權限,但該請求包括網絡交互請求,則訪問提供模塊320可拒絕該請求。
[0055]響應於確定該請求與分派給應用210a的權限相匹配,在框512處,例如由請求準許確定模塊318確定該請求是否被準許。具體地,請求準許確定模塊318可確定網絡104當前是否能夠準許所請求的服務。也即,例如,請求準許確定模塊318可確定網絡104當前是否具有用於滿足該請求的可用資源,例如帶寬、可用處理器,等等。響應於確定網絡104不能執行所請求的服務,通知應用,如框514處所示。該應用可基於所請求服務的重要性在框處502重新提交請求或可放棄請求。
[0056]響應於確定該請求可被準許,在框516處,例如由訪問提供模塊320為應用210a提供對應於所確定的分派給應用210a的權限的對網絡104的訪問等級。對該請求的響應可包括上面關於圖4中的框406討論的響應。
[0057]方法400和500中闡述的一些或全部操作可被包含為任意期望的計算機可存取介質中的實用程序、程序或子程序。此外,方法400和500可通過機器可讀指令具體實現,該指令可以各種形式存在,活動的和不活動的。例如,它們可作為原始碼、目標代碼、可執行代碼或其它格式存在。上述中的任意一種可具體實現在非暫時性計算機可讀存儲介質上。非暫時性計算機可讀存儲介質的示例包括傳統的計算機系統RAM、ROM、EPROM、EEPROM以及磁碟或光碟或磁帶。因此應理解,任意能夠執行上述功能的電子設備可執行上面列舉的那些功能。
[0058]現在轉到圖6,示出了根據示例的計算設備600的示意圖,計算設備600可用於執行圖3中描繪的接口管理器310的各種功能。計算設備600包括:處理器602,例如處理器602 ;顯示器604,例如但不限於監視器;網絡接口 608,例如但不限於區域網LAN、無線802.1lx LAN、3G/4G移動WAN或WiMax WAN ;以及計算機可讀介質610。這些組件中的每個可操作地聯接至總線612。例如,總線612可為EISA、PC1、USB、火線、NuBus (網絡用戶總線)或PDS。
[0059]計算機可讀介質610包括參與為處理器602提供指令以執行的任意合適介質。例如,計算機可讀介質610可為非易失性介質。作業系統614還可執行基本功能,例如但不限於識別包的接收、向包的目的地址發送包、以及管理總線612上的流量。網絡應用616包括用於建立和維護網絡連接的各種組件,例如但不限於用於實現包括TCP/IP、HTTP、乙太網、USB以及火線的通信協議的機器可讀指令。
[0060]接口管理應用618提供上面關於圖4和圖5中的方法400和500討論的用於管理應用和網絡之間的接口的各種組件。因此,接口管理應用618可包括請求接收模塊312、應用認證模塊314、權限確定模塊316、請求準許確定模塊318、以及訪問提供模塊320。
[0061]在某些示例中,應用618所執行的過程中的一些或全部可集成到作業系統614中。在某些示例中,過程可至少部分實現在數字電子電路中,或計算機硬體、機器可讀指令(包括固件和軟體)中,或在其任意組合中,也如上面所討論的。
[0062]本文中描述和說明的是本公開及其一些變體的示例。僅通過說明的方式闡述本文所用的術語、描述以及圖,且不意味著限制。在本公開的範圍內許多變體是可能的,其旨在由所附權利要求及其等同物限定,其中所有術語在其最廣泛合理的意義上來解釋,除非另外指出。
【權利要求】
1.一種用於管理應用和網絡之間的接口的方法,所述方法包括: 接收來自所述應用的訪問所述網絡的請求; 確定分派給所述應用的權限;以及 由處理器為所述應用提供對應於所確定的分派給所述應用的權限的對所述網絡的訪問等級。
2.根據權利要求1所述的方法,進一步包括: 確定所述應用是否是可/[目的; 為所述應用提供對應於所確定的分派給所述應用的權限的對所述網絡的所述訪問等級;以及 響應於確定所述應用是不可信的,拒絕對所述網絡的訪問。
3.根據權利要求1所述的方法,其中所述權限包括無權限、網絡透明權限、網絡交互權限以及網絡插入權限中的至少一種。
4.根據權利要求3所述的方法,其中為所述應用提供對所述網絡的所述訪問等級進一步包括: 響應於所述權限包括網絡透明權限,允許所述應用訪問所述網絡的狀態。
5.根據權利要求3所述的方法,其中為所述應用提供對所述網絡的所述訪問等級進一步包括: 響應於所述權限包括網絡交互權限,允許所述應用進行以下中的至少一項: 限定與所述應用相關的對所述網絡的傳遞和訪問策略;和 與所述網絡協商傳輸和分配服務。
6.根據權利要求3所述的方法,其中為所述應用提供對所述網絡的所述訪問等級包括: 響應於所述權限包括網絡插入權限,允許所述應用將服務插入到所述網絡的網絡流量中。
7.根據權利要求1所述的方法,其中為所述應用提供對所述網絡的所述訪問等級進一步包括:為所述應用提供對多個網絡相關的資料庫的訪問。
8.根據權利要求1所述的方法,其中為所述應用提供對所述網絡的所述訪問等級進一步包括:為所述應用提供通過網絡服務對網絡設備控制器應用程式接口(API)的訪問。
9.根據權利要求1所述的方法,進一步包括: 確定所述請求是否與分派給所述應用的所述權限匹配;以及 響應於所述請求與分派給所述應用的所述權限不匹配,拒絕所述請求。
10.根據權利要求1所述的方法,進一步包括: 確定所述訪問等級是否能夠提供給所述應用;且 其中為所述應用提供所述訪問等級進一步包括:響應於確定所述網絡能夠向所述應用提供所述訪問等級,為所述應用提供所述訪問等級。
11.一種網絡裝置,包括: 存儲器,存儲機器可讀指令以: 接收來自所述應用的訪問所述網絡的請求; 確定所述應用是否是可/[目的; 確定分派給所述應用的權限,其中所述權限包括無權限、網絡透明權限、網絡交互權限以及網絡插入權限中的至少一種; 響應於確定所述應用是可信的,為所述應用提供對應於所確定的分派給所述應用的權限的對所述網絡的訪問等級;以及 處理器,用於實施所述機器可讀指令。
12.根據權利要求11所述的網絡裝置,其中所述機器可讀指令進一步用以: 響應於所述權限包括網絡透明權限,允許所述應用訪問所述網絡的狀態; 響應於所述權限包括網絡交互權限,允許所述應用進行以下中的至少一項: 限定與所述應用相關的對所述網絡的傳遞和訪問策略;和 與所述網絡協商傳輸和分配服務;以及 響應於所述權限包括網絡插入權限,允許所述應用將服務插入到所述網絡的網絡流量中。
13.根據權利要求11所述的網絡裝置,其中所述機器可讀指令進一步用於進行以下中的一項: 為所述應用提供對多個網絡相關的資料庫的訪問;和 為所述應用提供通過網絡服務對網絡設備控制器應用程式接口(API)的訪問。
14.一種非暫時性計算機可讀存儲介質,在所述介質上存儲有機器可讀指令,所述機器可讀指令在由處理器執行時實施用於管理應用和網絡之間的接口的方法,所述機器可讀指令包括代碼以: 接收來自所述應用的訪問所述網絡的請求; 確定所述應用是否是可/[目的; 確定分派給所述應用的權限; 確定所述請求是否與分派給所述應用的所述權限匹配;以及 響應於確定所述應用是可信的且所述請求與分派給所述應用的所述權限匹配,為所述應用提供對應於所確定的分派給所述應用的權限的對所述網絡的訪問等級。
15.根據權利要求14所述的非暫時性計算機可讀存儲介質,其中所述權限包括無權限、網絡透明權限、網絡交互權限以及網絡插入權限中的至少一種,所述機器可讀指令進一步包括代碼以: 響應於所述權限包括網絡透明權限,允許所述應用訪問所述網絡的狀態; 響應於所述權限包括網絡交互權限,允許所述應用進行以下中的至少一項: 限定與所述應用相關的對所述網絡的傳遞和訪問策略;和 與所述網絡協商傳輸和分配服務;以及 響應於所述權限包括網絡插入權限,允許所述應用將服務插入到所述網絡的網絡流量中。
【文檔編號】G06F21/30GK104272287SQ201280072889
【公開日】2015年1月7日 申請日期:2012年7月31日 優先權日:2012年7月31日
【發明者】布萊恩·施蒂克斯, 維什瓦斯·曼拉爾 申請人:惠普發展公司,有限責任合夥企業