201227555 六、發明說明: 【發明所屬之技術領域】 本發明係關於網路決策,更特定言之係關於基於靈活策 略的網路決策。 【先前技術】 行動計算設備和其他計算設備通常包括可用於連接到 其他計算設備並存取服務的多個網路傳輸。例如,行動智 慧型電話可包括用於連接到蜂巢式資料網路(例如,3G、 EDGE、4G)、無線網路(例如,8〇2 u称⑴和藍芽網 路的硬體。每個網路具有優點和缺點。例如,一個網路可 以提供比其他網路更高的傳輪量,但可能在更少的位置可 用。某些網路可能產生更高的使用成本,諸如受限的3G 資料計晝對免f Wi-F卜在某些情形中,特定的網路硬體 可以具有更高的電源使用要求,並且因此可展示計算設備 更長或更短的電池壽命。 路由決策決定使用哪個網路來服務來自一個應用程式 的經由網路發送訊息或其他訊務的請求。行動設備通常對 路由決策進行硬編碼,使得例如設備偏好使用Wi-Fi連 ^並且若沒有可用的Wi~Fi連接,則使用3G連接,而 右,又有可用的3G連接,則使用EDGE連接。在該方案中, =選擇最快的可料接,而不管其他考慮。已聯網的設 ::出t關網路的很多其他類型的決策,諸如發送什麼類 在什麼條件下使用各種網路傳輸、使用多少電 201227555 量來傳輸等。 ^以存在除頻£可用十生卩夕卜的通知設備的聯網決策的 很多其他考慮,但是如今使用者被迫接受其通訊服務提供 方(例如,蜂巢服務供應商等)或設備製造方程式設計到 其設備中的選擇。使用者可以手動地關閉w“Fi或其他網 路傳輪以強制連接到—種或另一種網路類型,但是此程序 疋乏味的,並且包括遍閱(digging)通常模糊的設置介面來 發現要微調的正確配置參數。若服務供應商將成本定義為 路由決策的最重要的問題,則忽略其他考慮,並且使用者 可,重視較低的每月帳單,但在某些情形中希望更快的傳 輸量。相反,若服務供應商將傳輸量定義為最重要的問 題,則可以忽略成本。對於此種設備的企業使用者,其他 策略對於被發放給雇員的設備可能是期望的,但是不存在 控制該等策略並實施對該等策略的使用的機制。 最後,存在對於沒有使用者指導其行為的設備的考慮。 2等設備在本質上通常是專用的,並且在功能上是相對固 疋的,因為其在設備的生存期期間執行相同的功能。對於 該等專用設備,其對網路的使用完全依賴於設備製造商所 作出的關於選擇網路的選擇,並且對網路連接的實際使用 依賴於在叹備上執行的應用程式如何選擇使用網路。對於 該等設備的所有者,一旦設備已被發貨並配置,要更改該 等特徵可能是困難的。 μ 【發明内容】 201227555 此處描述了允許計算設備基於策略管理員所定義的特 疋策略來官理和控制各個聯網決策的網路策略系統該策 略e理員可包括設備製造商、維護設備的資訊技術(汀) 人貝’或網路提供方。策略可包括策略管理員在各種條件 下所定義的很多因素,包括成本、功耗、中央處理單元 (CPU )時間、電池壽命、對匯合的時刻的使用等。對特 定資料封包的處理可以是或可以不是策略定義的一部 分。如今設備中的封包路由主要基於諸如頻寬可用性或成 本等被硬編碼的因素而發生,但是可以存在吸引設備使用 者、服務供應商’或其他策略管理員的其他考慮。網路策 略系統允許策略官理員定義適於其目的的一或多個靈活 的網路策略。由此’策略定義和應用程式是一種使設備足 夠智慧以能夠 '經由預m的策略來決定何時以及如何 經由所選網路開始將資料封包發送到所選的端點的方式。 提供本發明内纟以便以簡化的形 < 介紹將在以下具體 實施方式中進-步描述的一些概念之選擇。本發明内容既 不意欲辨識所主張標的的關鍵特徵或必要特徵,亦不意欲 用於限制所主張標的的範_。 【實施方式】 〜此處描述了允許計算設備基於策略管理員所定義的特 定策略來管理和控制各個網路決策的網路策略系統,該策 略^理員可包括設備製造商、維護設備的資訊技術(ιτ) 人員端使用者,或網路提供方。策略可包括策略管理員 201227555 在各,條件τ所定義的很多因素,包括成本、功耗、中央 — 包池哥叩、對匯合的時刻的使用、 母/刀鐘使用成本、頻寬消耗的成本、當前網路利用率等。 貧㈣包的類型、產生、内容和協定可以是或可以不是策 略定義的一部分。例如,自動緊急除顫器(AED)設備可 以具有定期地監視設備並向上報告的若干應用程式;缺 而,當設備根據蜂巢式連接進行操作時,策略僅允許㈣ 定的端點傳輸緊急低電池通知。此是包括對資料封包、網 路和端點的定義的策略的一個實例。在另一個實例中,僅 2義了資料封包(訊息)和網路,並且在不具有特定端點 網路上廣播訊息。此對於專用網路或者對於網路資源更 便宜時使用網路資源而言可能是有用的。如今設備中的封 包路由(諸如^對蜂巢的不同傳輸)主要基於諸如頻 寬可用性或成本等被硬編碼的因素而發生’但是可以存在 吸引設傷使用者、服務供應商,或其他策略管理員的其他 考慮。在設備上剩餘低電池電力的情形中,切換到低電池 成本傳輸是對照價格的正確的決策。設備可能需要使用所 剩的最後一點電池電力來完成生產性工作。 網路策略系統允許策略管理員定義適於其目的的—或 多個靈活的網路策略。策略可以如允許缺貨的自動售貨機 的SOS訊息—般簡單’亦可以如基於多個因素(如一天的 時間、訊息的優先順序、網路提供方的成本、訊息的内容、 網路f傳輸協定的安全性、網路的潛時、處理時間、協定 的可靠性等)來辨識要使用哪個網路的決策樹—般複雜。 201227555 策略可被定義為基於選擇功能來使用多個網路。系統亦可 允許使用中的網路傳輸具有可被中斷的能力,例如以便發 送可將高商業影響作為高優先順序的重要訊息。該等訊息 可以具有不同的成本結構並可以利用多個網路。另外,*策 略可以指定利用所選網路的方式。例如,策略可指定Mu (最小傳輸單位)大小、重試計數和ttl (生存時間)。 策略甚至可以指定僅當網路利用率低於特定容量(例如, 50%)時才允許使用特定的網路。由&,策略定義和應用 程式是一種使設備足夠智慧以能夠經由預先設置的策略 來決定何時以及如何經由所選網路開始將資料封包發送 到所選的端點的方式。 圖1是圖示在一個實施例中的網路策略系統的各元件的 方塊圖。系統100包括策略定義元件11〇、策略資料儲存 器120、策略部署元件130、請求接收元件14〇、網路選擇 元件150、資料傳輸元件160、以及策略管理員元件17〇。 該等元件中的每一個都在此處進一步詳細論述。 策略定義元件110從策略管理員接收一或多個策略定 義。元件110可以提供使用者介面或程式設計性應用程式 編寫介面(API )’ IT人員、端使用者 '通訊服務提供方、 設備製造商,或其他策略管理員可以經由該使用者介面或 程式設計性應用程式編寫介面來建立用於在一或多個計 算設備上控制與網路有關的決策的策略。策略定義元件 110展示從中進行選擇的各種策略規則,包括選擇網路、 端點和要在各種條件下發送的訊息,以及將用於選擇的諸 201227555 成本電池電力、傳輸 將已接收的策略^ 疋義元件110 略儲存在朿略資料儲存器120中。 策略資料儲存器120持久地儲 Α锢政沐笛如 疋義的路由策略以便 在網路决菜期間存取。策略資料儲存器⑶ 個記憶體内的資料結構、檔案、槽" :括或夕 存設備、資料庫、基於雲的 '、外部儲 # a ^ ^ 存服務或持久地儲存資料以 便曰後使用的其他儲存設施。 — 來略貝枓儲存器120從策略 疋義兀件110接收新的策略, 业丘了破朿略部署元件130 存取以向一或多個計算設備(例如,%慧型電話、膝上型 電腦、平板電腦等)部署一或多個策略。例如,公司可以 為在對組織的優先順序進行平衡的整個企業中所管理的 設備提供策略’諸如成本控制、電池壽命等。網路選擇元 件I/O在網路決策期間存取策略資料儲存器12〇或來自儲 存器12G的已部署的策略,以便實施策略的已定義準則。 策略部署το件13G向-或多個計算設備部署—或多個策 略,使得計算設備可在作出與網路相關的決策時查閲該策 略。與網路相關的決策可在每次應用程式請求從計算設備 經由網路發送訊息或其他封包時發生。替代地或另外地, 策略可以按照連接、按照時間段等應用程式。策略部署元 件130可將策略從集中可存取的伺服器複製到一或多個設 備。在某些實施例中’設備週期性地查詢策略飼服器以發 現新的策略(亦即,拉動式技術)。替代地或另外地,策 略部署元件13 0可以使用推動式技術來將策略推到設備以 外。「推動式」技術從諸如伺服器的網路元件發起通訊會 201227555 話,而不是從端使用者設備(例如,型電話)。在其 他實施例t ’ rnoo可料提供部署機,允許服務供 應商或其他人來決定如何處理策略分發。 請求接收元件14〇接收從在計行的應用程式 傳輸資料的請求,該計算設備具有多個網路傳輸以將網路 資料發送到端點。應用程式可以包括諸如電子郵件程式或 網頁劉覽器等使用者模式的應用程式,以及諸如同步服務 等作業系統服務。請求接收元件14G截取該請求並使用網 路選擇元件15〇來選擇經由其傳輸該請求的適合的網路。 在某些情形中’請求可與關於要使用的網路的特定資訊一 同到達’但在其他情形中’應用程式期望與該計算設備相 關聯的系統軟體來選擇適合的網路。 周路L擇元件150查閱策略,該策略指^ 了基於至少一 選擇準則在多個可用的網路間選擇一個網路的條件。選 擇準則可考慮多個因素’包括每個網路的電池消耗、使用 =路的訂閱成本、等待每個網路的已仔列資料,或者策略 S理員疋義的任何其他因素。元件150在網路群體中選擇 -個網路亦是可能的,使得決策為是否允許經由網路進行 =何傳輪。網路選擇元件15G可以決定策略所使用的多個 12兄因素’包括目前剩餘的電池、目前的處理器使用、可 _網& ' &㈣的網路訊務等。系統將該等環境因素與 策略中的規則進行比較,以選擇滿足策略約束的適合的網 路或其他參數。例如’若策略指定了低於10%電池壽命時 件150選擇最低電量網路設備,則元件15〇可以存取每 201227555 個設備的歷史的或預定義的電池使用資訊,並且選擇將允 許剩餘的電池壽命持續儘可能長的時間的彼設備。 -貝料傳輸元件160使用網路選擇元件15〇所選擇的網路 或其他條件來完成所請求的資料傳輪。在某些實施例中, 策略亦可以定義/替換端點。例如,自動售貨機可以包括嵌 入式計算設備,並且該自動售貨機可在需要重新進貨時發 送低優先順序的訊息,但在該自動售貨機被盜時發送更緊 急的、高優先順序的訊息。在此種情形中的策略可以決定 所使用的網路傳輸以及接收訊息的端點。資料傳輸元件 160可以包括行動設備的網路堆疊,該網路堆疊提供用於 發送和接收資料的常見的網際網路或其他協定。 策略管理員元件170從一或多個策略源接收一或多個策 略’並且決定要應用程式哪些策略元素。例如,特定的設 備可以從與該設備相關聯的企業、服務提供方(例如,蜂 巢服務供應商)、設備製造商以及設備的使用者接收策 略。該等策略中的每個可以具有不同的優先順序並可包括 相衝犬的策略元素。例如,相比特定的企業,服務提供方 可能偏好不同的網路選擇。向策略管理員元件170分派根 據系統100的特定實施例所定義的策略優先順序來解決策 略衝突並應用程式策略的任務。可用各種方式來實施優先 順序。例如,在—個實施例中,策略可以具有分層的優先 順序使得企業級的策略元素的設置覆蓋使用者級的彼等 "又置等。作為另一個實例,一個實施例可將有效的策略作 為全部已接收的策略元素的聯盟來對待,使得該有效的策 201227555 略最能限制所提供的設置。所屬領域的—般技藝人士將認 識到用於在來自各個源的爭用和衝突的優先順序之間進 行選擇的該等和其他變型。參考圖5進—步圖示策略的示 例性源。 其上實施網路策略系統的計算設備可包括中央處理單 兀、己憶體、輪入設備(例如,鍵盤和指向設備)、輸出 设備(例如’顯示設備)和儲存設備(例如,磁碟機或立 他非揮發性儲存媒體)。記憶體和儲存設備是可以用實施 或賦能該系統的電腦可執行指令(例如’軟體)來編碼的 電腦可讀取儲存媒體。此外,資料結構和訊息結構可被儲 存或經由諸如通訊鏈路上的信號等資料傳送媒體發送。可 以使用各種通訊鏈路,諸如網際網路、區域網路、廣域網 路、點對點撥號連接、蜂巢式電話網路等。 該系統的實施例可以在各種操作環境中實施該等操作 壤境包括個人電腦、飼服器電腦、掌上型設備或膝上型設 4 s n系統'基於微處理器的系統、可程式設計消 費電子產品'數位相機、網路pc、小型電腦、大型電腦、 ^括任何上述系統或設備、機上盒、片上系統(S〇Cs)等 中任一種的分散式計算環境等。電腦系統可以是蜂巢式電 =人數位助理、智慧型電話、個人電滕、可程式設計 嘀賈電子設備'數位相機等。 ::系統可以在由—或多個電腦或其他設備執行的諸如 :式模:等電腦可執行指令的-般上下文中描述。—般而 。H址包括執行特定任務或 實施特定抽象資料類型 12 201227555 的系式矛王式、物件、元件、資料結構等等。通常,程式 模組的功能可y;· Λ & 在各個貫施例中依須求進行組合或分佈。 斤圖疋圖不—個實施例中的定義靈活的策略以便導引計 算。又備的為路訊務的網路策略系、统1GG的處理的流程圖。 一 中開始,系統接收描述一或多個可用的網路的 貝訊冲算叹備可經由該一或多個可用的網路發送通訊。 對於諸如行動電話等行動設備,網路可包括3G蜂巢式資 料網路和無線8G2 U網路。對於家庭中的巍人式娱樂設 備網路可包括無線802.11網路、有線乙太網路,以及微 波存取王球互i ( WiMax,亦稱為8〇2 16)網路。系統接 收關於每個網$以及可用》連接到每個網路的硬體的資 訊在某些情形中,系統可以接收關於硬體的特性的資 訊’諸如電池消耗、可用的電源級別' 使用成本等。 在方塊22G中繼續,系統從策略管理員接收—或多個網 路選擇準則,胃策略管理員定義了從已接收的網路中選擇 特定網路的條件。該網路選擇準則可被策略管理員定製為 滿足任何組織的或其他目標,諸如使低電池的設備與網路 保持聯絡、管理各個資料計晝的訂閱成本、減少來自行動 設備的輻射、使用可用的最安全的通訊鏈路等。選擇準則 可包括在不同條件下應用程式的一或多個規則。例如,一 個策略可應用程式於剩餘低於1〇%電池的設備,而另一個 策略可應用程式於位於遠端位置的設備。 在決策方塊230中繼續,若策略管理員提供將由特定的 策略來發送的訊息’則系統在方塊240繼續,否則丄 13 201227555 轉至方塊250。例如,策略管理 -Γ ^ ^ 了乂鈇供要在某些條株 下發㈣U諸如被移動或被盜的嵌人❹備。該訊自牛 可以覆盍設備嘗試發送的任何訊息,或者如 心 述的,可以替換訊息和端點。 —步插 在方塊中_,线純將由特定的策略發送的訊 :。該訊息可包括用於經由所選網路提交給指定端點的文 子、一'貧料,或其它類型的資料(例如,檔案資料)。 例如,若行動設備正被來自未知的網路所使用,則策略管 理貝可能想要發送訊息到汀監視設施,並且可以將此定義 為部署到該設備的策略。 在決策方塊250中繼續,若策略管理員指示了向其發送 策略的訊息的端點,則系統在方塊26〇繼續,否則系統跳 轉至方塊270。在某些情形中,網路請求可以指定特定的 端點,或者請求對同一子網上的全部㈣的端點進行廣 播。在其他情形中,網路請求可以期望策略覆蓋端點以指 定由路由策略來定義的接收者。例如,嵌入式設備可包括 在自動售貨機缺貨時發送缺貨訊息的設施。策略管理員可 以藉由提供策略來決定訊息被發送到何處’該策略為此種 訊息覆蓋端點,並將該訊息導引到負責向該設備重新供貨 的特定組織。 在方塊260中繼續,系統接收向其傳遞策略的訊息的端 點。端點可以(例如,藉由網際網路協定(IP)位址)指 足特定的端點’或者可以提供可重導引的端點,諸如在訊 息發送時刻所解析的網域名稱系統(DNS )名稱。策略可 201227555 包括指定端點的某些條件和不指定端點的其他條件。例 如,系統有可能不想要干涉端點的在設備上的正常應用程 式活動(例% ’網路但可能想要截取指示設備問 題的系統訊息。另一方面,系統可以使用端點覆蓋來阻止 或重導引某些請求,諸如存取策略管理員想要控制或禁止 的網頁的請求。 在方塊270中繼續,系統將包括任何已接收的選擇準 則、訊息和端點的已定義策略儲存在資料儲存器中,以供 計算設襟部署和使用。系統可將策略儲存到策略管理員和 分散式計算設備可以存取的中央資料儲存器,或任何其他 資料儲存器。資料儲存器可包括由企業 '服務供應商、設 備製造商’或其他策略管理員維護的設施。策略管理員可 =隨時間編輯並更新已儲存的策略,以便反映發生改變的 策略優先順序或者已探索的最佳實踐。 在方塊280中繼續,系統向一或多個計算設備部署已定 義的策略。系統可以將策略推至設備,設備可以週期性地 從中央策略儲存器請求新的策略資料,或者服務供應商或 其他管理員可以使用獨立的部署機制。每個計算設備接收 策略’將策略本地地儲存在設備上,並且隨後在作網路決 策時使用該策略來執行策略的目標和所指定的準則。與先 前的系統不同,策略是靈活的,因為其可被頻繁地更新, 並且可包括如今不可用的多個條件。網路策略系統將策略 路由控制放到策略管理員的手中’而不是將策略決策硬編 碼到設備勤體中或其他不可存取的配置位置。在方塊28〇 15 201227555 之後,該等步驟結束。 圖3是圖示一個實施例中的實施安裝在計算設備上的先 前部署的策略的網路策略系統1〇〇的處理的流程圖。在方 塊3 10中開始,系統接收將網路訊息從計算設備發送到另 一個端點的請求。該訊息可包括執行應用程式專用任務的 應用程式訊息、與設備的維護或正常操作相關的系統訊 息、關於設備的非預期條件的警告通知等。系統1 〇 〇接收 傳輸訊息的清求並應用程式任何已定義的策略以決定設 備將如何處理該訊息。在某些實施例中,系統可一同接收 請求與提示,該提示指示了該訊息是高優先順序還是低優 先順序,是否具有高頻寬需求等。對於不提供提示的傳統 應用程式,系統可允許提供指定了提示的檔案或其他元資 料(例如,與應用程式可執行檔案並排放置的可延伸標記 語言檔案(XML))。 在方塊320中繼續,系統存取已部署的策略以決定是否 滿足了影響對已接收請求的處理的任何策略條件。系統可 從計算設備本地的策略資料儲存器中讀取策略,並將該策 略載入到選擇適合的網路以及用於發送訊息的其他參數 的策略實施引擎中。策略可以影響路由、資料内容、資料 優先順序、協疋、目的地,或通訊的其他與網路相關的因 素。雖然以下步驟圖示可被策略決定和影響的若干類型的 條件和決策,但系統提供了硬體或作業系統製造商可基於 各種條件來經由其展示(以及服務供應商或其他策略管理 員可以選擇)各種各樣的與網路相關的決策的靈活的框 16 201227555 架。 H & mo t _ ’系統決定要在設備可以存取的多個 可:網路間選擇的—個網路,其中所選擇的網路滿足策略 所疋義的至 >-個策略條件。計算設備可以存取多個網路 或者到同-網路的多個連接’諸如有線乙太網路連接、無 線8〇2.U連接、蜂巢式資料網路連接,以及WiMAX連接。 系統可以基於策略所指定的各種條件來選擇網&,所述條 件諸如’路的速度、網路的成本、網路所消耗的電量等。 策略可以頻繁地改變,使得今天為特定訊息所選擇的網路 可此與明天所選擇的不同。以此方式,服務供應商可為行 動設備網路訊務在週末相對工作日或一天的不同時間實 施不同的策略。 在決策方塊340中繼續,若策略定義了發送訊息的目的 地則系統在方塊350繼續,否則系統跳轉至方塊36〇。 策略可以為某些訊息定義目的地,該目的地覆蓋在訊息本 身或已接收的明求中所指定的任何目的地。例如,服務供. 應商或企業可能想要截取特定類型的訊息或到特定目的 地的訊息,並將彼等訊息重導引到服務供應商選擇的目的 地。此舉可用於過濾有害的網站、限制對企業設備的非授 權使用、監視對敏感資訊的存取等。 在方塊350中繼續’系統將訊息的目的地設置為策略中 所疋義的目的地。策略中所定義的目的地可包括位址、DNs 名稱、統一資源定位符(URL ),或者系統可在向特定的網 路位址發送訊息期間解析的其他規範。系統覆蓋訊息中所 17 201227555 指定的任何目的地,並且向傳輸層提供新的端點以便發送 訊息。例如,系統可以覆蓋傳輸控制協定(Tcp)或其他 位址。 在決策方塊36”繼續,若策略將訊息定義為覆蓋已接 收的訊息,則系統在方塊370繼續,否則系統跳轉至方塊 380。策略可以覆蓋該訊息以向策略中指定的預先決定的 目的地提供通知,或者更新訊息内容以執行策略管理員所 定義的不同任務。覆蓋並重寫訊息的能力使系統非常靈活 以便執行各種策略管理員目標。 在方塊3 7 0中繼續,系绩蔣%自 于允將訊息的訊息内容設置為策略 中所定義的訊息内纟。例如,系統可以更新訊息以從新位 置請求㈣,或者回應於設備正轉_的或非授權的方 式被使用而發送緊急的警告訊息。在其他情形中訊息可 被重寫以經由特定的資料通道來連接以及在不向使^者 展示身份碼的情況下提供I, 扠供身伤碼(例如,服務供應商管理 的無線存取協定(WAP )網路)。 在方塊380中繼續,系統發送已接收的網路訊息以及由 被存取的策略所強制實施的㈣修改。系統經由策略 擇的網路並且使用對目的地、訊息或其他因素的任何,改 來發送訊息。系統可以按原始所請求地發送訊息或者 帶有各種修改的訊息。藉由根據策略來發送訊息,系統強 制實施策略中所定義的策略管理員的目標,並且可以 /減少電池使用、頻寬、輻射,或發送訊息的其他潛在成 在方塊380之後,該等步驟結束。 18 201227555 圖4是圖示在-個實施例中的使用網路策略系統的示例 性計算設備的方塊圖。設備41G可包括各種計算設備,諸 如行動電話、嵌入式消費者設備(例%,遊戲控制台、電 纜機上盒)、膝上型電腦等。設冑41〇包括用於連接到多 個網路的硬體’諸如用於連接到蜂巢式資料網路的蜂巢式 資料硬體420和用於連接到無線網路的Wi_Fi硬體 系統軟體和應用程式460經由可用的硬體來發送資料,但 通常不具有使用哪個網路硬體的偏好。在某些情形中系 統軟體和應用程式460可以具有一般偏好,諸如高頻寬或 低電量,但是沒有該等提示與可用的網路資源之間的直接 相關。網路策略系統450位於應用程式46〇與網路硬體之 間(或者可被併入到系統軟體中),並且基於已接收的策 略中所定義的各種優先順序以及潛在地基於指定應用程 式的需求的任何提供應用程式的提示來作出聯網決策。 圖5是圖示在一個實施例中的網路策略系統可從其接收 桌略的'曰在的源的方塊圖。該圖包括藉由網路π。來連接 的無線服務提供方510、企業530和行動設備55〇。無線 服務提供方510包括為連接到該無線服務提供方51〇的分 散式设備提供一或多個策略的策略伺服器52〇。企業530 亦包括為與該企業530相關聯的分散式設備提供一或多個 策略的策略伺服器540。無線服務提供方510和企業53〇 所提供的策略有可能彼此互補或者重疊,從而建立策略中 的一或多個衝突。行動設備550包括此處描述的系統56〇 的一個實施例。系統560包括策略管理員,該策略管理員201227555 VI. Description of the Invention: TECHNICAL FIELD OF THE INVENTION The present invention relates to network decisions, and more particularly to network decisions based on flexible policies. [Prior Art] Mobile computing devices and other computing devices typically include multiple network transmissions that can be used to connect to other computing devices and access services. For example, mobile smart phones may include hardware for connecting to a cellular data network (eg, 3G, EDGE, 4G), wireless networks (eg, 8〇2 u (1) and Bluetooth networks. Each Networks have advantages and disadvantages. For example, a network can provide higher throughput than other networks, but may be available in fewer locations. Some networks may incur higher usage costs, such as limited 3G data 昼 f Wi Wi 在 In some cases, certain network hardware can have higher power usage requirements, and thus can show longer or shorter battery life of computing devices. Which network is used to serve requests from an application to send messages or other traffic over the network. Mobile devices typically hardcode routing decisions so that, for example, the device prefers Wi-Fi connectivity and if no Wi is available Fi connection, use 3G connection, and right, there are available 3G connection, then use EDGE connection. In this scheme, = select the fastest available, regardless of other considerations. Networked settings:: out t Networked Many other types of decisions, such as what classes are sent under what conditions to use various network transmissions, how much electricity is used to transmit 201227555 quantities, etc. ^ Many other networking decisions that exist in the presence of a notification device that is available Consider, but now users are forced to accept choices from their communication service providers (eg, cellular service providers, etc.) or equipment manufacturing equations to their devices. Users can manually turn off "Fi" or other network passes To force a connection to one or another network type, but this procedure is tedious and includes digging the usually obscure setup interface to find the correct configuration parameters to fine tune. If the service provider defines cost as routing The most important issues in decision making ignore other considerations, and users can, pay attention to lower monthly bills, but in some cases want faster throughput. Conversely, if the service provider defines the amount of traffic as The most important issue is to ignore the cost. For enterprise users of such devices, other strategies are issued to employees. It may be desirable, but there is no mechanism to control these policies and implement the use of such policies. Finally, there are considerations for devices that do not have a user instructing their behavior. 2 devices are generally dedicated in nature, And it is relatively solid in function because it performs the same function during the lifetime of the device. For these dedicated devices, its use of the network is completely dependent on the choice of the device manufacturer about the choice of the network. And the actual use of the network connection depends on how the application executing on the sigh chooses to use the network. For the owner of the device, it may be difficult to change the features once the device has been shipped and configured. [Summary] 201227555 A network policy system that allows a computing device to govern and control various networking decisions based on a policy defined by a policy administrator is described herein. The policy e-policy may include device manufacturers, maintenance. Equipment information technology (Ting) Renbei' or network provider. Policies can include many factors defined by the policy administrator under various conditions, including cost, power consumption, central processing unit (CPU) time, battery life, use of converged moments, and the like. The processing of a particular data packet may or may not be part of a policy definition. Packet routing in devices today is primarily based on hard-coded factors such as bandwidth availability or cost, but there may be other considerations that attract device users, service providers, or other policy administrators. The network policy system allows policy administrators to define one or more flexible network policies that are appropriate for their purpose. Thus the 'policy definition and application' is a way to make the device intelligent enough to 'determine when and how to begin sending data packets to the selected endpoint via the selected network via a pre-m strategy. The present invention is provided to facilitate the selection of some of the concepts that will be further described in the following detailed description. This Summary is not intended to identify key features or essential features of the claimed subject matter, and is not intended to limit the scope of the claimed subject matter. [Embodiment] - A network policy system that allows a computing device to manage and control various network decisions based on a specific policy defined by a policy administrator is described herein. The policy controller may include information about the device manufacturer and the maintenance device. Technology (ιτ) Personnel user, or network provider. The strategy can include many factors defined by the policy administrator 201227555, each of the conditions τ, including cost, power consumption, central-package, use of the moment of convergence, cost of the mother/knife clock, cost of bandwidth consumption , current network utilization, etc. The type, production, content, and agreement of the poor (four) package may or may not be part of the policy definition. For example, an automatic emergency defibrillator (AED) device may have several applications that periodically monitor the device and report up; however, when the device operates according to a cellular connection, the policy only allows (four) endpoints to transmit emergency low battery Notice. This is an example of a policy that includes definitions of data packets, networks, and endpoints. In another example, only data packets (messages) and networks are defined, and messages are broadcast on a network that does not have a specific endpoint. This may be useful for private networks or for using network resources when network resources are cheaper. Packet routing in devices today (such as different transmissions to the hive) occurs primarily based on factors that are hard-coded, such as bandwidth availability or cost, but can exist to attract users, service providers, or other policy administrators. Other considerations. In the case of low battery power remaining on the device, switching to low battery cost transmission is the correct decision against the price. The device may need to use the last battery power left to complete productive work. The network policy system allows policy administrators to define - or multiple flexible network policies that are appropriate for their purpose. Strategies can be as simple as allowing SOS messages for out-of-stock vending machines to be as simple as based on multiple factors (such as time of day, priority of messages, cost of network providers, content of messages, network f transmission) The security of the agreement, the latency of the network, the processing time, the reliability of the agreement, etc.) is as complex as identifying the decision tree of which network to use. The 201227555 policy can be defined to use multiple networks based on the selection function. The system can also allow in-use network transmissions to have the ability to be interrupted, for example, to send important messages that have high commercial impact as a high priority. These messages can have different cost structures and can utilize multiple networks. In addition, the * policy can specify how the selected network is utilized. For example, a policy can specify Mu (minimum transfer unit) size, retry count, and ttl (time to live). Policies can even specify that a particular network is allowed only when network utilization is below a certain capacity (for example, 50%). By &, policy definitions and applications are a way to make the device smart enough to decide when and how to start sending data packets to selected endpoints via the selected network via a pre-set policy. 1 is a block diagram illustrating elements of a network policy system in one embodiment. System 100 includes policy definition component 11A, policy profile store 120, policy deployment component 130, request receive component 14A, network selection component 150, data transfer component 160, and policy administrator component 17A. Each of these elements is discussed in further detail herein. Policy definition component 110 receives one or more policy definitions from a policy administrator. Component 110 can provide a user interface or a programming application programming interface (API) 'IT staff, end user' communication service provider, device manufacturer, or other policy administrator via which the user interface or programming can be An application programming interface to establish policies for controlling network-related decisions on one or more computing devices. The policy definition component 110 displays various policy rules from which to select, including selecting a network, endpoints, and messages to be sent under various conditions, as well as the 201227555 cost battery power to be used for selection, the policy that the transmission will have received ^ The sense element 110 is stored slightly in the thumbnail data store 120. The policy data store 120 permanently stores the routing policy of the government, such as 疋 以便, for access during the network. Strategy data storage (3) data structure, file, slot " in memory, storage device, database, cloud-based ', external storage # a ^ ^ storage service or persistent storage for later use Other storage facilities. - The LeBron storage 120 receives a new policy from the policy element 110, which is accessed by one or more computing devices (eg, % sigma phones, laptops) Computers, tablets, etc.) deploy one or more policies. For example, companies can provide strategies such as cost control, battery life, etc. for devices that are managed across the enterprise that prioritizes the organization. The network selection component I/O accesses the policy data store 12 or the deployed policy from the storage 12G during network decision to enforce the defined criteria of the policy. The policy deployment means that the 13G is deployed to - or multiple computing devices - or multiple policies, such that the computing device can consult the policy when making network related decisions. Network-related decisions can occur each time an application requests a message or other packet from a computing device over the network. Alternatively or additionally, the policies may follow an application, such as a connection, by time period, and the like. The policy deployment component 130 can copy policies from a centrally accessible server to one or more devices. In some embodiments, the device periodically queries the policy feeder to discover a new strategy (i.e., pull technology). Alternatively or additionally, the policy deployment component 130 can use push technology to push policies beyond the device. "Push" technology initiates a communication session from a network element such as a server, rather than a slave user device (eg, a type phone). In other embodiments, it is possible to provide a deployment machine that allows service providers or others to decide how to handle policy distribution. The request receiving component 14 receives a request to transfer data from a computing application having a plurality of network transmissions for transmitting network data to the endpoint. Applications can include user-mode applications such as email programs or web browsers, as well as operating system services such as synchronization services. The request receiving component 14G intercepts the request and uses the network selection component 15A to select the appropriate network over which to transmit the request. In some cases the 'request may arrive with the particular information about the network to be used' but in other cases the application software that the application desires to associate with the computing device to select the appropriate network. The circumstance L selects the component 150 to look at the policy, which refers to the condition of selecting a network among a plurality of available networks based on at least one selection criterion. The selection criteria can take into account multiple factors, including battery consumption per network, subscription costs for use, waiting for each network, or any other factor that the policy S. It is also possible for component 150 to select among the network populations, so that the decision is whether or not to allow the transmission via the network. The network selection component 15G can determine a plurality of 12 sibling factors used by the policy, including the current remaining battery, current processor usage, network traffic of the network &&& (4). The system compares these environmental factors to the rules in the policy to select the appropriate network or other parameters that meet the policy constraints. For example, 'If the policy specifies a minimum power network device for less than 10% battery life, then component 15〇 can access historical or predefined battery usage information per 201227555 devices, and the selection will allow the remaining The battery life lasts for as long as possible for the device. The batting transmission component 160 uses the selected network or other conditions of the network selection component 15 to complete the requested data transfer. In some embodiments, the policy can also define/replace endpoints. For example, a vending machine may include an embedded computing device, and the vending machine may send a low priority message when restocking is required, but send a more urgent, high priority message when the vending machine is stolen. The strategy in this case can determine the network transmission used and the endpoints that receive the message. The data transmission component 160 can include a network stack of mobile devices that provide a common Internet or other protocol for transmitting and receiving data. Policy administrator component 170 receives one or more policies from one or more policy sources and determines which policy elements to apply. For example, a particular device may receive a policy from a business associated with the device, a service provider (e.g., a cellular service provider), a device manufacturer, and a user of the device. Each of these strategies may have a different priority order and may include policy elements of the phase dog. For example, a service provider may prefer different network choices than a particular enterprise. The policy administrator component 170 is assigned a policy prioritization defined by a particular embodiment of the system 100 to resolve tasks that conflict and apply the program policy. The priority can be implemented in a variety of ways. For example, in an embodiment, the policies may have a hierarchical priority order such that the settings of the enterprise-level policy elements override those of the user-level. As another example, an embodiment may treat an effective policy as a federation of all received policy elements, such that the effective policy 201227555 slightly limits the settings provided. Those of ordinary skill in the art will recognize these and other variations for selecting between prioritization of contention and conflict from various sources. An exemplary source of the strategy is illustrated with reference to Figure 5. Computing devices on which the network policy system is implemented may include central processing units, memory devices, wheeling devices (eg, keyboards and pointing devices), output devices (eg, 'display devices), and storage devices (eg, disks) Machine or set up his non-volatile storage media). Memory and storage devices are computer readable storage media that can be encoded by computer executable instructions (e.g., 'software') that implement or enable the system. In addition, the data structure and message structure can be stored or transmitted via a material delivery medium such as a signal on a communication link. Various communication links can be used, such as the Internet, a regional network, a wide area network, a point-to-point dial-up connection, a cellular telephone network, and the like. Embodiments of the system can implement such operational environments in a variety of operating environments including personal computers, food server computers, handheld devices or laptop 4 sn system "microprocessor based systems, programmable consumer electronics The product 'digital camera, network pc, small computer, large computer, including any of the above systems or equipment, set-top boxes, system-on-chip (S〇Cs) and other distributed computing environment. The computer system can be a honeycomb type = a number of assistants, a smart phone, a personal phone, a programmable design, a digital camera, a digital camera, and the like. The "system" may be described in the context of computer-executable instructions, such as: modular: or other computer-executable instructions. As usual. The H site includes the implementation of a specific task or implementation of a specific abstract data type 12 201227555 system spears, objects, components, data structures, and so on. In general, the function of the program module can be y; Λ & is combined or distributed in each of the embodiments. It is not the case that a flexible strategy is defined in an embodiment to guide the calculation. Also prepared is the flow chart of the network policy system of the road traffic and the processing of the system 1GG. Beginning at one point, the system receives a beacon sigh that describes one or more available networks via which the communication can be sent over the one or more available networks. For mobile devices such as mobile phones, the network can include 3G cellular data networks and wireless 8G2 U networks. The network of deaf entertainment devices in the home can include wireless 802.11 networks, wired Ethernet, and microwave access (WiMax, also known as 8〇2 16) networks. The system receives information about each network $ and available "hardware connected to each network. In some cases, the system can receive information about the characteristics of the hardware 'such as battery consumption, available power level' usage cost, etc. . Continuing in block 22G, the system receives from the policy administrator - or multiple network selection criteria, and the stomach policy administrator defines the conditions for selecting a particular network from the received networks. This network selection criteria can be customized by the policy administrator to meet any organizational or other goals, such as keeping low battery devices connected to the network, managing subscription costs for individual data plans, reducing radiation from mobile devices, and using The most secure communication link available, etc. Selection criteria can include one or more rules for an application under different conditions. For example, one policy can be applied to devices that have less than 1% battery remaining, while another strategy can be applied to devices located at remote locations. Continuing in decision block 230, if the policy administrator provides a message to be sent by the particular policy, then the system continues at block 240, otherwise 丄 13 201227555 moves to block 250. For example, the policy management - Γ ^ ^ is for the intrusion of certain entities, such as being moved or stolen. The message can override any message the device is trying to send, or, as stated, replace the message and endpoint. - Step Insertion In the box _, the line will be sent by a specific policy: The message may include a text, a poor material, or other type of material (e.g., archival material) for submission to a designated endpoint via the selected network. For example, if a mobile device is being used from an unknown network, Policy Management may want to send a message to the Ting Monitoring Facility and can define this as a policy to deploy to that device. Continuing in decision block 250, if the policy administrator indicates the endpoint to which the policy message was sent, the system continues at block 26, otherwise the system jumps to block 270. In some cases, a network request can specify a particular endpoint or request that all (four) endpoints on the same subnet be broadcast. In other cases, the network request may expect the policy to override the endpoint to specify the recipient defined by the routing policy. For example, an embedded device may include facilities that send out of stock messages when the vending machine is out of stock. The policy administrator can determine where the message is sent by providing a policy. The policy covers the endpoint for such a message and directs the message to the particular organization responsible for re-provisioning the device. Continuing in block 260, the system receives the endpoint of the message to which the policy is being transmitted. An endpoint may (for example, refer to a specific endpoint by an Internet Protocol (IP) address) or may provide a redirectable endpoint, such as a domain name system (DNS) that is resolved at the time the message is sent. )name. The policy 201227555 includes certain conditions for specifying endpoints and other conditions for not specifying endpoints. For example, the system may not want to interfere with the endpoint's normal application activity on the device (eg % 'network but may want to intercept system messages indicating device problems. On the other hand, the system can use endpoint coverage to block or Redirecting certain requests, such as requests to access web pages that the policy administrator wants to control or block. Continue in block 270, the system stores the defined policies including any received selection criteria, messages, and endpoints in the data. In the storage, for deployment and use of computing devices. The system can store policies to central data storage that policy administrators and distributed computing devices can access, or any other data storage. Data storage can be included by the enterprise. A facility maintained by a 'service provider, device manufacturer' or other policy administrator. Policy administrators can = edit and update stored policies over time to reflect changed policy priorities or best practices that have been explored. Continuing in block 280, the system deploys the defined policies to one or more computing devices. The system can push the policies To the device, the device can periodically request new policy profiles from the central policy store, or the service provider or other administrator can use a separate deployment mechanism. Each computing device receives the policy 'locally store the policy on the device, And then use this strategy to make policy goals and specified criteria when making network decisions. Unlike previous systems, policies are flexible because they can be updated frequently and can include multiples that are not available today. Condition. The network policy system puts policy routing control in the hands of the policy administrator' instead of hardcoding the policy decisions into the device or other inaccessible configuration locations. After block 28〇15 201227555, these steps Figure 3. Is a flow diagram illustrating the process of implementing a network policy system 1 of a previously deployed policy installed on a computing device in one embodiment. Beginning in block 3 10, the system receives a network message A request sent from a computing device to another endpoint. The message may include an application that performs an application-specific task. Information, system messages related to the maintenance or normal operation of the equipment, warning notices about unintended conditions of the equipment, etc. System 1 〇〇 receives the request for the transmission of the message and applies any defined policies to determine how the device will handle the In some embodiments, the system can receive requests and prompts together, indicating whether the message is high priority or low priority, whether there is a high bandwidth requirement, etc. For legacy applications that do not provide prompts, the system allows Provides a file or other meta-data that specifies a prompt (eg, an Extensible Markup Language Archive (XML) placed side-by-side with the application executable file.) Continued in block 320, the system accesses the deployed policy to determine if it is satisfied. Any policy condition that affects the processing of a received request. The system can read the policy from the policy data store local to the computing device and load the policy into a policy that selects the appropriate network and other parameters for sending the message. Implemented in the engine. Policies can affect routing, data content, data prioritization, collaboration, destinations, or other network-related factors of communication. While the following steps illustrate several types of conditions and decisions that can be determined and influenced by a policy, the system provides a hardware or operating system manufacturer to display via various conditions (and service providers or other policy administrators can choose from A variety of flexible network-related decision-making 16 201227555 shelves. The H & mo t _ ’ system determines a plurality of networks that can be accessed by the device: the network selected, wherein the selected network satisfies the policy-defined >--policy condition. The computing device can access multiple networks or multiple connections to the same network, such as a wired Ethernet connection, a wireless 8〇2.U connection, a cellular data network connection, and a WiMAX connection. The system can select the network & based on various conditions specified by the policy, such as the speed of the road, the cost of the network, the amount of power consumed by the network, and the like. Policies can be changed frequently, so that the network selected for a particular message today can be different from what was chosen tomorrow. In this way, service providers can implement different strategies for mobile device network traffic at weekends or at different times of the day. Continuing in decision block 340, if the policy defines the destination for the message to be sent, the system continues at block 350, otherwise the system jumps to block 36. A policy can define a destination for certain messages that override any destination specified in the message itself or in the received request. For example, a service provider or business may want to intercept certain types of messages or messages to a specific destination and redirect their messages to the destination of the service provider's choice. This can be used to filter harmful websites, restrict unauthorized use of corporate devices, and monitor access to sensitive information. Continuing in block 350, the system sets the destination of the message to the destination that is derogatory in the policy. Destinations defined in the policy may include an address, a DNs name, a Uniform Resource Locator (URL), or other specifications that the system can resolve during the sending of a message to a particular network address. The system overwrites any destination specified in the message 201227555 and provides a new endpoint to the transport layer to send the message. For example, the system can override Transmission Control Protocol (Tcp) or other addresses. Continuing at decision block 36", if the policy defines the message as overriding the received message, then the system continues at block 370, otherwise the system jumps to block 380. The policy can override the message to provide to the predetermined destination specified in the policy. Notify, or update the content of the message to perform different tasks defined by the policy administrator. The ability to override and rewrite the message makes the system very flexible to execute various policy administrator goals. Continue in Box 370, the results are from Jiang Yizhe Allows the message content of the message to be set to the message defined in the policy. For example, the system can update the message to request from the new location (4), or send an urgent warning message in response to the device being forwarded or not authorized. In other cases, the message can be rewritten to connect via a particular data channel and provide I without a badge to the identity (eg, service provider managed wireless access) Protocol (WAP) network. Continues in block 380, the system sends the received network message and the policy being accessed Enforcement (4) Modification. The system sends a message via a policy-selected network and uses any destination, message or other factor. The system can send a message or a message with various modifications as originally requested. The message is sent according to the policy, the system enforces the target of the policy administrator as defined in the policy, and the battery usage, bandwidth, radiation, or other potential for sending the message may be reduced after block 380, and the steps are completed. 201227555 Figure 4 is a block diagram illustrating an exemplary computing device using a network policy system in an embodiment. Device 41G may include various computing devices, such as mobile phones, embedded consumer devices (eg, %, game control) Station, cable box, laptop, etc. The device 41 includes a hardware for connecting to multiple networks, such as a cellular data hardware 420 for connecting to a cellular data network and Wi_Fi hardware system software and applications 460 connected to the wireless network send data via available hardware, but usually do not have to use which Road hardware preferences. In some cases system software and applications 460 may have general preferences, such as high frequency bandwidth or low power, but without the direct correlation between such prompts and available network resources. Network Policy System 450 Located between the application 46 and the network hardware (or can be incorporated into the system software), and based on various prioritizations defined in the received policies and any application that is potentially based on the requirements of the specified application A hint of the program to make a networked decision. Figure 5 is a block diagram illustrating the source of a 'spot' from which the network policy system can receive a table in one embodiment. The figure includes a connection via a network π. The wireless service provider 510, the enterprise 530, and the mobile device 55. The wireless service provider 510 includes a policy server 52 that provides one or more policies for distributed devices connected to the wireless service provider 51A. Enterprise 530 also includes a policy server 540 that provides one or more policies for the decentralized devices associated with the enterprise 530. The policies provided by the wireless service provider 510 and the enterprise 53 may be complementary or overlapping with one another to establish one or more conflicts in the policy. Mobile device 550 includes one embodiment of system 56A described herein. System 560 includes a policy administrator, the policy administrator
S 19 201227555 從各個策略源接收策略,並根據分層或其他衝突解決模型 來解決衝突,以決定系統560將應用程式於與行動設備55〇 相關聯的網路訊務的有效策略。 圖6是圖示一個實施例中的對多個已接收的網路策略之 間的衝突的組合與解決的流程圖。在方塊61〇中開始,系 統從第一策略源接收第一策略,其中該策略指定影響對來 自設備的網路通訊的處理的一或多個策略元素。例如,策 略元素可以指定網路設置’諸如MTU、網路選擇等。策略 源可包括企業、設備製造商、服務提供方,或設備本身上 的使用者設置。 在方塊620中繼續,系統從第二策略源接收第二策略。 第一策略亦包括影響對來自設備的網路通訊的處理的策 略元素。例如,第一策略可以源於與設備相關聯的企業, 而第二策略可以源於與設備相關聯的服務提供方。在簡單 的情形中’該兩個策略包括系統原則管理員可以無衝突地 應用程式的互補的設置。在更複雜的情形中,策略提供包 括系統要解決的一或多個直接的或隱含的衝突的設置。雖 然圖示對兩個策略的接收,但是系統可從更多數量的策略 源接收策略並應用程式所描述的步驟來決定有效的策略。 在方塊630中繼續’系統應用程式優先化函數來決定兩 個已接收的策略之間的相對優先順序。優先化函數可包括 諸如各類型策略源之間的預定義分層結構等一或多個固 定準則’或者諸如策略和相關的已接收優先順序指示的各 種組合等動態準則。在預先決定的分層結構的情形中,系 20 201227555 統可以應用程式首先應用矛呈式最低優先順序策略向上直 到最高優先順序策略的函數,使得較高優先順序策略覆蓋 較低優先順序策略所作的設置。例如,若企業和服務提供 方二者對MTU大小進行設置以用於傳輸,並且在分層結 構中企業位於服務提供方之上,則對該策略元素的企業設 置將勝出並位於有效的策略中。在動態準則的情形中策 略本身可包括對優先順序作為整體、或按各個優先順序元 素或元素群組的指示。例如,服務提供方可以具有最高優 先順序以作出影響該服務提供方的網路的設置,但是企業 可以具有最高優先順序以作出影響該企業的設置。 在方塊64〇中繼續,系铽其链 糸統基於朿略之間的已決定的相對 優先順序來決定有效的笛政七& &叶 双的釆略。有效的桌略表示各個策略的 任何衝突解決及組合的社杲, 刃-果,以便建立統一的策略以應用 各'式到與設備相關聯的細、S . 棚%的網路通訊。有效的策略可包括每個 策略所提供的設置的聯明 + M & 盟’或者在衝突的情形中對一個策 略的設置的選擇。系銥故士, ^ 糸統將有效的朿略應用程式於到達和來 自設備的未來的網路诵邙 ..^ ^ 通訊。在方塊640之後’該等步驟結 束。 在某些實施例中,银! %^ 、碑路朿略系統允許服務供應商基於策 略來建立訂閱。例如,ΒΕ & 服務供應商可在行動設備使用者允 許該服務供應商決定迪社… 疋連接到可用網路的方法之後提供低 成本計畫。為了維捭 口付低成本,服務供應商在可用時可能偏 好Wi-Fi,在高峰拉防# *时枚期間限制頻寬使用,或者允許服務 供應商服務更多使用去从# 者的其他策略。作為回報,服務供應 21 201227555 商將所節省的—同傳遞給使用者。 、貝轭例中,網路策略系統接收應用程式所發送的 網路訊務的廣用 、、 心用私式表徵,該應用程式表徵形成基於路由 策略來選擇可用網路的提示。例如m切以指示網 路訊務的優先順序級別、發送網路訊務的最終期限,或者 允許系統在選擇用於發送訊務的網路時的靈活性的其他 束仞如系統可選擇延遲較低優先順序訊務或者使用 較低供電的網路設備來發送該訊務,而為高優先順序訊務 保留較高供電的網路設備。 在某些實施·(列巾,網路策略系統與廣告或其他系統一同 操作以積累影響網路策略的信用。例如,若使用者同意觀 看一定數篁的廣告,則服務供應商可以提供免費的蜂巢式 员料5十晝。系統可以基於使用者為完成其他任務所臝得的 信用量來選擇使用哪個網路連接,或者有多少可用的頻 寬。網路策略系統的靈活性允許建立並可靠地強制實施該 等及其他成本結構,以便為服務供應商和計算設備製造商 出售其設備和網路使用打開新的機會。 在某些實施例中,網路策略系統除了在多個網路之間進 行選擇以外’亦選擇對單個網路的使用級別。例如,某些 服務供應商偏好計算設備快速地使用網路並隨後停止使 用該網路以釋放可用的頻譜’即使該使用是高頻寬的。因 此,假設大多數請求可在某短時間段(例如,30秒)内完 成,而較長的任務可隨後被策略節流到較低的頻寬量,則 策略可以允許在該時間段對網路的高頻寬使用。作為另一 22 201227555 個實例’網路設備可包括多個電源級別,其中的某些無法 快速地傳輸但可使用較少的電池電量。策略管理員可以吁 制對最高電源級別的使用’而允許對較低電源級別的更持 久的使用以延長電池壽命。可在策略内定義對使用單個網 路的該等及其他限制。 從前述將會認識到,雖然在此已出於說明目的描述了網 路策略系統的特定實施例,但是可以做出各種修改而不背 離本發明的精神和範疇❶因此,本發明只受所附請求項限 制。 【圖式簡單說明】 圖1是圖示在一個實施例中的網路策略系統的各元件的 方塊圖。 圖2是圖示一個實施例中的定義靈活的路由策略以便導 引計算設備的網路訊務的網路策略系統的處理的流程圖。 圖3是圖示一個實施例中的實施安裝在計算設備上的先 前部署的網路路由策略的網路策略系統的處理的流程圖。 圖4是圖示在一個實施例中的使用網路策略系統的示例 性計算設備的方塊圖。 圖5是圖示在—個實施例中的網路策略系統可從其接收 策略的潛在的源的方塊圖。 圖ό是圖示一個實施例中的對多個已接收的網路策略之 間的衝突的組合與解決的流程圖。 【主要元件符號說明】 23 201227555 100 網路策略系統 110 策略定義元件 120 策略資料儲存器 130 策略部署元件 140 請求接收元件 150 網路選擇元件 160 資料傳輸元件 170 策略管理員元件 210 方塊 220 方塊 230 方塊 240 方塊 250 方塊 260 方塊 270 方塊 280 方塊 3 10 方塊 320 方塊 330 方塊 340 決策方塊 350 方塊 360 決策方塊 370 方塊 380 方塊 24 201227555 410 設備 420 蜂巢式資料硬體 430 Wi-Fi硬體 450 網路策略系統 460 應用程式 510 無線服務提供方 520 策略伺服器 530 企業 540 策略伺服器 550 行動設備 560 糸統 570 網路 610 方塊 620 方塊 630 方塊 640 方塊 25S 19 201227555 receives policies from various policy sources and resolves the conflicts according to a layering or other conflict resolution model to determine an effective strategy for the system 560 to apply the application to the network traffic associated with the mobile device 55A. Figure 6 is a flow diagram illustrating the combination and resolution of conflicts between multiple received network policies in one embodiment. Beginning in block 61, the system receives a first policy from a first policy source, wherein the policy specifies one or more policy elements that affect processing of network communications from the device. For example, the policy element can specify network settings such as MTU, network selection, and so on. The policy source can include the enterprise, device manufacturer, service provider, or user settings on the device itself. Continuing in block 620, the system receives the second policy from the second policy source. The first strategy also includes policy elements that affect the processing of network communications from the device. For example, the first policy may originate from an enterprise associated with the device, and the second policy may originate from a service provider associated with the device. In a simple scenario, the two strategies include system-priority administrators who can complement the application's complementary settings. In more complex situations, the policy provides settings that include one or more direct or implicit conflicts that the system is to resolve. Although the two policies are shown, the system can receive the policy from a larger number of policy sources and the steps described by the application determine the effective policy. The system application prioritization function is continued in block 630 to determine the relative priority between the two received policies. The prioritization function may include one or more fixed criteria, such as a predefined hierarchy between various types of policy sources, or dynamic criteria such as various combinations of policies and associated received priority order indications. In the case of a predetermined hierarchy, the system can apply the spear-first lowest priority policy up to the highest priority policy function, such that the higher priority policy overrides the lower priority policy. Settings. For example, if both the enterprise and the service provider set the MTU size for transmission and the enterprise is above the service provider in the hierarchy, the enterprise settings for that policy element will win and be in a valid policy. . In the case of dynamic criteria, the policy itself may include an indication of the priority order as a whole, or by each priority order element or group of elements. For example, a service provider can have the highest priority order to make settings that affect the service provider's network, but the enterprise can have the highest priority to make settings that affect the business. Continuing in block 64, the system determines the effective strategy for the flute and the doubles based on the determined relative priority between the strategies. An effective table outlines any conflict resolution and combined social and tactics of each strategy in order to establish a unified strategy to apply the various types of network communication to the device. Valid policies may include the combination of the settings provided by each policy + M & or the choice of a policy setting in a conflicting situation. System sergeant, ^ 糸 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 将 诵邙 诵邙 诵邙 诵邙 诵邙. After block 640, the steps are completed. In some embodiments, silver! The %^, the monumental system allows service providers to build subscriptions based on policies. For example, the ΒΕ & service provider can provide a low cost plan after the mobile device user allows the service provider to determine the way to connect to the available network. In order to pay for low-cost, service providers may prefer Wi-Fi when they are available, limit bandwidth usage during peak pull-ups, or allow service providers to use more services from other strategies. . In return, the service provider 21 201227555 will save the same - delivered to the user. In the case of the yoke, the network policy system receives the wide-ranging, privately-characterized representation of the network traffic sent by the application, and the application characterizes the prompt to select an available network based on the routing policy. For example, m cut to indicate the priority level of network traffic, the deadline for sending network traffic, or other bundles that allow the system to flexibly choose the network used to send traffic, such as system selectable delay Low-priority traffic or the use of lower-powered network devices to send the traffic, while preserving higher-powered network devices for high-priority traffic. In some implementations, the network policy system works with advertising or other systems to accumulate credits that affect the network policy. For example, if the user agrees to watch a certain number of advertisements, the service provider can provide free The cellular staff is 50. The system can choose which network connection to use based on the amount of credit the user has made to complete other tasks, or how much bandwidth is available. The flexibility of the network policy system allows for establishment and reliability. These and other cost structures are enforced to open up new opportunities for service providers and computing device manufacturers to sell their devices and network usage. In some embodiments, the network policy system is in addition to multiple networks. In addition to making choices, the level of use of a single network is also selected. For example, some service providers prefer that computing devices use the network quickly and then stop using the network to free up the available spectrum even if the usage is high frequency wide. Therefore, assume that most requests can be completed within a short period of time (for example, 30 seconds), while longer tasks can be subsequently followed by a strategy section. Flowing to a lower amount of bandwidth, the policy can allow for high bandwidth usage of the network during that time period. As another 22 201227555 instances, network devices can include multiple power levels, some of which cannot be transmitted quickly But less battery power can be used. Policy administrators can call for the use of the highest power level' while allowing longer lasting use of lower power levels to extend battery life. A single network can be defined within the policy. These and other limitations. It will be appreciated from the foregoing that although specific embodiments of the network policy system have been described herein for illustrative purposes, various modifications may be made without departing from the spirit and scope of the invention. The invention is limited only by the accompanying claims. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram illustrating elements of a network policy system in one embodiment. Figure 2 is a diagram illustrating the flexibility of definition in one embodiment. Flowchart of the routing policy to guide the processing of the network policy of the computing device's network traffic. Figure 3 is a diagram illustrating the implementation of an embodiment installed in a calculation Flowchart of the processing of a network policy system of a previously deployed network routing policy. Figure 4 is a block diagram illustrating an exemplary computing device using a network policy system in one embodiment. A block diagram of a potential source from which a network policy system in an embodiment can receive a policy. Figure 2 is a combination of conflicts between multiple received network policies in one embodiment. Flowchart of the solution. [Main component symbol description] 23 201227555 100 Network policy system 110 Policy definition component 120 Policy data storage 130 Policy deployment component 140 Request receiving component 150 Network selection component 160 Data transmission component 170 Policy administrator component 210 Block 220 Block 230 Block 240 Block 250 Block 260 Block 270 Block 280 Block 3 10 Block 320 Block 330 Block 340 Decision Block 350 Block 360 Decision Block 370 Block 380 Block 24 201227555 410 Device 420 Honeycombed Data Hardware 430 Wi-Fi Hard Body 450 Network Policy System 460 Application 510 Wireless Service Provider 520 Policy Server 530 Enterprise 540 Policy Server 550 Mobile Device 560 SiS 570 Network 610 Block 620 Block 630 Block 640 Block 25