国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      使用歷史連接信息的網(wǎng)絡(luò)接口選擇的制作方法

      文檔序號:7938462閱讀:187來源:國知局
      專利名稱:使用歷史連接信息的網(wǎng)絡(luò)接口選擇的制作方法
      技術(shù)領(lǐng)域
      此處描述的技術(shù)涉及使用計算機的網(wǎng)絡(luò)通信。 相關(guān)技術(shù)的討論
      計算機可被配置成通過網(wǎng)絡(luò)連接彼此通信。網(wǎng)絡(luò)連接的細節(jié)對用戶而 言可以不是顯而易見的。例如,計算機可以與位于附近或在不同的州或國 家的服務(wù)器進行通信。通信可以通過不同類型的介質(zhì)發(fā)生,諸如例如電話 線、電纜線、光纖或無線電波。如果網(wǎng)絡(luò)通信通過因特網(wǎng)發(fā)生,則通信可
      以由因特網(wǎng)服務(wù)提供商(ISP)來促進,ISP可以通過各種不同的網(wǎng)絡(luò)路徑
      中的任一個來路由通信。
      某些計算機可具有它們將如何訪問計算機網(wǎng)絡(luò)的各種不同的選項。例
      如,計算機可以通過提供有線網(wǎng)絡(luò)接口或無線網(wǎng)絡(luò)接口卡(NIC)的以太網(wǎng) 連接來訪問網(wǎng)絡(luò),無線網(wǎng)絡(luò)接口卡提供無線網(wǎng)絡(luò)接口。在計算機具有超過 一個網(wǎng)絡(luò)接口時,其可以選擇使用哪一接口來進行連接。 一種用于選擇網(wǎng) 絡(luò)接口的在先技術(shù)是選擇具有最高接口數(shù)據(jù)率的可用接口。計算機的接口 可以廣告它們能夠提供的數(shù)據(jù)率并且計算機可以基于所廣告的數(shù)據(jù)率來選 擇接口。
      概述
      在一方面,在計算機需求建立新網(wǎng)絡(luò)連接時,可以基于通過可用接口 的先前網(wǎng)絡(luò)連接的性能來為該網(wǎng)絡(luò)連接選擇網(wǎng)絡(luò)接口。申請人認識到,雖 然一個接口可能具有比另一接口更高的數(shù)據(jù)率,但在某些實施例中,使用
      較慢接口可以向該網(wǎng)絡(luò)連接提供更好的總體性能??梢允褂藐P(guān)于通過多個 接口的先前連接的歷史信息來預(yù)測哪一接口將為新連接提供最佳總體性 能。在某些實施例中,這種歷史信息可由計算機本身來存儲。在該計算機
      6作出到其它計算機的連接時,可以存儲這些連接的一個或多個參數(shù)的性能 相關(guān)的參數(shù),并將這些參數(shù)與這些連接通過其而建立的接口相關(guān)聯(lián)。作為 示例,這種歷史信息可包括往返時間、連接數(shù)據(jù)率、連接丟失率、該連接 的跳數(shù)計數(shù)和/或任何其它合適的信息。在需要建立新連接時,該計算機可 以訪問這一所存儲的信息的一些或全部以確定使用哪一接口。結(jié)果,可以 通過選擇最可能提供最佳連接性能的接口來達到改進的連接性能。
      一個實施例涉及用于在計算環(huán)境中使用的方法,該計算環(huán)境包括被配 置成通過第一網(wǎng)絡(luò)接口和第二網(wǎng)絡(luò)接口來經(jīng)由網(wǎng)絡(luò)通信的第一計算機。網(wǎng) 絡(luò)可以允許第一計算機與多個其它計算機經(jīng)由該網(wǎng)絡(luò)進行通信。第一計算 機可以存儲第一和第二歷史網(wǎng)絡(luò)連接信息。第一歷史網(wǎng)絡(luò)連接信息可以表 示第一計算機與多個其它計算機中的至少一個之間的通過第一網(wǎng)絡(luò)接口的
      第一網(wǎng)絡(luò)連接的性能。第二歷史網(wǎng)絡(luò)連接信息可以表示第一計算機與多個 其它計算機中的至少一個之間的通過第二網(wǎng)絡(luò)接口的第二網(wǎng)絡(luò)連接的性 能。至少基于第一和第二歷史網(wǎng)絡(luò)連接信息,可以從第一和第二網(wǎng)絡(luò)接口 中選擇網(wǎng)絡(luò)接口來用于第三網(wǎng)絡(luò)連接。基于所選接口,可以在第一計算機 和來自多個其它計算機中的第二計算機之間建立第三網(wǎng)絡(luò)連接,以使第三 網(wǎng)絡(luò)連接通信通過所選網(wǎng)絡(luò)接口。
      另一實施例涉及用于在計算環(huán)境中使用的計算機可讀介質(zhì),該計算環(huán) 境包括被配置成通過第一網(wǎng)絡(luò)接口和第二網(wǎng)絡(luò)接口來經(jīng)由網(wǎng)絡(luò)通信的第一 計算機。網(wǎng)絡(luò)可以允許第一計算機與多個其它計算機經(jīng)由該網(wǎng)絡(luò)進行通信。 該計算機可讀介質(zhì)上可以記錄在被執(zhí)行時執(zhí)行一種包括若干動作的方法的
      指令。例如,響應(yīng)于指令的執(zhí)行,計算機可以存儲表示第一計算機與多個 其它計算機中的至少一個之間的通過多個網(wǎng)絡(luò)接口的多個網(wǎng)絡(luò)連接的性能 的歷史網(wǎng)絡(luò)連接信息??梢詮亩鄠€網(wǎng)絡(luò)接口中選擇用于第一計算機與多個 其它計算機中的至少一個之間的網(wǎng)絡(luò)連接的網(wǎng)絡(luò)接口?;谒x接口,可 以在第一計算機和來自多個其它計算機中的第二計算機之間建立網(wǎng)絡(luò)連 接,以使第一計算機和第二計算機之間的通信通過所選網(wǎng)絡(luò)接口。
      又一實施例涉及包括計算機并還包括第一和第二網(wǎng)絡(luò)接口的系統(tǒng),第 一和第二網(wǎng)絡(luò)接口允許該計算機與多個其它計算機經(jīng)由網(wǎng)絡(luò)進行通信。該
      7計算機可包括至少一個存儲設(shè)備,該設(shè)備存儲表示該計算機與多個其它計 算機中的至少一個之間的通過第一網(wǎng)絡(luò)接口的第一網(wǎng)絡(luò)連接的性能參數(shù)的 第一歷史網(wǎng)絡(luò)連接信息,以及表示該計算機與多個其它計算機中的至少一 個之間的通過第二網(wǎng)絡(luò)接口的第二網(wǎng)絡(luò)連接的性能參數(shù)的第二歷史網(wǎng)絡(luò)連 接信息。該計算機還可包括基于第一和第二歷史信息來確定要將第一和第 二網(wǎng)絡(luò)接口中的哪一個用于要與多個其它計算機中的至少一個建立的第三 網(wǎng)絡(luò)連接的處理器。
      提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述 的一些概念。本發(fā)明內(nèi)容并不旨在標識出所要求保護的主題的關(guān)鍵特征或 必要特征,也不旨在用于限定所要求保護的主題的范圍。
      附圖簡述
      在附圖中,各個附圖中示出的每一完全相同或近乎完全相同的組件由 同樣的標號來表示。出于簡明的目的,不是每個組件在每張附圖中均被標 號。在附圖中


      圖1示出可在其中實現(xiàn)各實施例的計算環(huán)境;
      圖2是示出根據(jù)某些實施例的通過網(wǎng)絡(luò)進行通信的方法的流程圖;以

      圖3示出可在其上實現(xiàn)各實施例的示例性計算機。
      詳細描述
      申請人認識到,用于選擇網(wǎng)絡(luò)接口的在先技術(shù)蒙受缺點。如上所述, 一種用于選擇網(wǎng)絡(luò)接口的在先技術(shù)是選擇廣告其可以提供最高數(shù)據(jù)率的可 用接口。例如,以太網(wǎng)網(wǎng)絡(luò)適配器接口可以廣告其可用并能夠通過高數(shù)據(jù) 率,并且蜂窩數(shù)據(jù)網(wǎng)絡(luò)適配器接口可以廣告其可用并能夠提供較低數(shù)據(jù)率。 根據(jù)用于選擇最佳可用接口的在先技術(shù),可以選擇以太網(wǎng)接口,因為它廣 告其能夠提供比蜂窩數(shù)據(jù)接口更好的性能。然而,在某些情況下,經(jīng)由蜂 窩數(shù)據(jù)接口連接實際上可以提供更好的性能,因為接口速度本身不考慮接 口之外的可以影響網(wǎng)絡(luò)性能的因素。例如,以太網(wǎng)連接可以向因特網(wǎng)服務(wù)提供商(ISP)的服務(wù)器提供連接。然而,如果ISP當前不能提供高質(zhì)量的 服務(wù),則通過以太網(wǎng)連接進行的連接可能相對緩慢。計算機通過使用蜂窩 數(shù)據(jù)接口進行連接可體驗更好的性能,該蜂窩數(shù)據(jù)接口可以通過可提供更 好服務(wù)的不同ISP來提供網(wǎng)絡(luò)連接。因此,申請人認識到,接口速度之外 的因素可以限制連接可達到的性能。因此,在某些實施例中,可以使用不 同的和/或附加準則來選擇要用于連接的接口。例如,可以將先前連接的性 能作為整體來考慮而非只考慮網(wǎng)絡(luò)接口的能力。
      在某些實施例中,可以基于關(guān)于通過可用接口的先前連接的性能的歷 史信息來選擇接口。這種歷史信息可包括各種因素中的任一個,如往返時 間、連接數(shù)據(jù)率、連接丟失率、該連接的跳數(shù)計數(shù)和/或任何其它合適的信 息。在建立連接時,計算機可以記錄關(guān)于這些連接參數(shù)的歷史信息,并可 以訪問該歷史信息來作出關(guān)于對于新連接使用哪一接口的決定。這種歷史 信息可不限于接口本身的性能,而可以補充或替換地反映連接作為整體的 性能。如果接口最近向到特定網(wǎng)絡(luò)位置的網(wǎng)絡(luò)連接提供了良好的性能,則 可以假定該接口可以繼續(xù)提供到該網(wǎng)絡(luò)位置和附近的位置的良好的性能。 在這些情況下,可以選擇這種接口超過可能向相似網(wǎng)絡(luò)位置提供較差服務(wù) 的較快接口。關(guān)于先前網(wǎng)絡(luò)連接的合適的歷史信息可被用來選擇更可能在 將來提供良好性能的接口。在某些實施例中,計算機本身可以基于關(guān)于先 前網(wǎng)絡(luò)連接的歷史信息來有利地實現(xiàn)這種解決方案。
      圖1示出可在其中實現(xiàn)各實施例的計算環(huán)境10的示例。計算環(huán)境10 包括第一計算機1和第二計算機2,計算機1可經(jīng)由網(wǎng)絡(luò)7建立到第二計算 機2的連接。計算機1和2可以是任何合適類型的計算機,且網(wǎng)絡(luò)7可以 是任何合適類型的網(wǎng)絡(luò),因為此處描述的技術(shù)在這些方面不作限制。第一 計算機1可以由第一接口 3和第二接口 4通信,它們可以允許計算機1經(jīng) 由網(wǎng)絡(luò)7與各設(shè)備交換信息。如果計算機l通過接口 3連接到計算機2,則 通信可以經(jīng)由第一路由5通過網(wǎng)絡(luò)7來發(fā)生。如果計算機1通過接口 4連 接到計算機2,則通信可以經(jīng)由第二路由6通過網(wǎng)絡(luò)7來發(fā)生。路由5和6 可以體驗不同的性能。
      雖然在圖1中示出兩個接口,但此處描述的技術(shù)不限于該示例,因為附加接口可以提供到網(wǎng)絡(luò)7的訪問,并且這些技術(shù)可以擴展到這些附加網(wǎng)
      絡(luò)接口。網(wǎng)絡(luò)接口可以是計算機的一部分或與計算機分開。例如,計算機 可以具有作為計算機的一部分的網(wǎng)絡(luò)接口卡形式的內(nèi)置網(wǎng)絡(luò)接口 (例如,
      內(nèi)置無線NIC或以太網(wǎng)NIC)。另選地,接口可以與計算機分開,并可以
      經(jīng)由局部數(shù)據(jù)總線(例如,串行或并行總線)與計算機通信以經(jīng)由網(wǎng)絡(luò)提 供對另一設(shè)備的訪問??梢允褂萌魏魏线m類型和配置的網(wǎng)絡(luò)接口,因為此 處描述的技術(shù)在這一方面不作限制。
      計算機1隨后可以嘗試通過接口 3、接口 4或某一其它接口建立到計 算機2的新連接。在某些實施例中,計算機1可以基于關(guān)于已建立(例如, 基于圖1的示例中的接口 3和4)的先前連接的性能的歷史信息來選擇要使 用的接口。這一歷史信息可以允許計算機考慮接口選擇對所采取來通過網(wǎng) 絡(luò)的路由(例如,路由5或6)的影響。作為一個示例,接口3可能能夠提 供比接口 4更高的數(shù)據(jù)率。選擇接口 3可能導(dǎo)致通過路由5來將通信路由 通過網(wǎng)絡(luò)7。然而,如果路由5比路由6慢,則選擇接口 4可能比選擇接口 3提供更好的總體性能。在某些實施例中,關(guān)于通過接口 3和4進行的先前 連接的歷史信息可以允許計算機作出關(guān)于哪一接口可能提供具有更好性能 的連接的受教育的預(yù)測。
      可以考慮任何合適的歷史信息。作為一個示例,該歷史信息可包括關(guān) 于先前網(wǎng)絡(luò)連接的往返時間(RTT)的信息。在計算機1向計算機2發(fā)送 分組時,在計算機2接收到該分組之前可存在延時。 一旦計算機2接收到 該分組,則計算機2可以向計算機1發(fā)送響應(yīng)。例如,計算機1可以發(fā)送 確認分組來確認對計算機1所發(fā)送的分組的接收。RTT可以是從計算機1 發(fā)送通信的時間直到計算機1接收到響應(yīng)的時間的時間量。較小的RTT可 能是優(yōu)選的,因為較小的RTT可以允許連接提供較好的性能。RTT可以受 各種因素影響,如計算機之間的距離、計算機2的速度和/或所采取來通過 網(wǎng)絡(luò)的路由的速度。作為另一示例,該歷史信息可包括關(guān)于過去的連接所 達到的數(shù)據(jù)率的信息。如RTT—樣,數(shù)據(jù)率可以受各種因素影響,如所采 取來通過網(wǎng)絡(luò)的路由的速度。作為又一示例,該歷史信息可包括關(guān)于連接 的丟失率的信息。在通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù)時,分組可能不總能達到其目的地,并且有時可能以崩潰的形式到達其目的地。當這種情況發(fā)生時,可以說分 組丟失,并且需要重新傳送該分組。連接的丟失率表示給定連接的分組丟 失的速率。作為又一示例,該歷史信息可包括關(guān)于"跳數(shù)計數(shù)"的信息, 跳數(shù)計數(shù)是數(shù)據(jù)要達到其目的地所采取的通過網(wǎng)絡(luò)的步數(shù)。在數(shù)據(jù)通過連 接路由時,該數(shù)據(jù)可能需要通過多個步驟,每一個步驟可包括可以向前轉(zhuǎn) 發(fā)該數(shù)據(jù)的設(shè)備(例如,交換機、路由器或網(wǎng)關(guān))。如果跳數(shù)計數(shù)相對很 大,則數(shù)據(jù)可能需要通過大量路由器,這可能減慢連接并可以使該連接有 更大機會失敗。
      以上僅是可以測量來確定連接的性能的參數(shù)的示例,并且應(yīng)當理解, 本發(fā)明不限于使用這些參數(shù),因為可以使用任何合適的歷史連接信息來用 于接口選擇。
      圖2是示出根據(jù)某些實施例的通過網(wǎng)絡(luò)進行通信的方法的流程圖。如 上所述,計算機可以保存歷史連接信息以供將來用于選擇接口。在動作Al, 計算機可以存儲關(guān)于已通過第一接口建立的連接的歷史連接信息。這可以 用任何合適的方式來完成,例如,在計算機通過第一接口建立到網(wǎng)絡(luò)的連 接時,計算機可以存儲關(guān)于該連接的信息。這一信息可以從任何源獲得。 計算機本身可以測量連接信息和/或可以從另一設(shè)備接收連接信息。例如, 該連接信息可以從測量連接信息的另一設(shè)備接收。計算機可以在存儲器中 本地地存儲歷史連接信息,或這一信息可以存儲在別處。例如,該信息可 由測量該信息的設(shè)備來存儲并由計算機稍后在選擇接口之前獲取。該歷史 連接信息可包括關(guān)于該連接的任何合適的性能相關(guān)信息,其示例已在以上 討論。在某些實施例中,該歷史連接信息可以與計算機所連接到的設(shè)備的 網(wǎng)絡(luò)地址相關(guān)聯(lián),并且該網(wǎng)絡(luò)地址和歷史連接信息可以存儲在一起。在一
      個示例中,計算機l可以對經(jīng)由接口 3所建立的到計算機2的連接來執(zhí)行 動作A1。然而,這僅是示例,因為動作Al可以用任何合適的方式來執(zhí)行。 在動作A2,計算機可以存儲關(guān)于已通過不同于第一接口的第二接口建 立的連接的歷史連接信息。該歷史連接信息可以表示關(guān)于通過第二接口所 進行的連接的性能相關(guān)信息。在某些實施例中,在動作A2中存儲的歷史連 接信息可以與在動作Al中存儲的信息是相同的類型,從而允許基于同一準
      11則來比較不同的連接。另選地,可以對不同的連接存儲不同類型的歷史連 接信息,因為此處描述的技術(shù)在這一方面不作限制。如以上參考動作Al 所述,歷史連接信息可由該計算機或不同的設(shè)備來測量,并可以本地地存
      儲在估計時間上或另一位置中。在一個示例中,計算機1可以對經(jīng)由接口 4 所建立的到計算機2的連接來執(zhí)行動作A2。然而,這僅是示例,因為動作 A2可以用任何合適的方式來執(zhí)行。
      結(jié)果,可以保存通過不同接口的連接的歷史連接信息。在某些實施例 中,動作Al和A2可以重復(fù)多次,以使計算機可以構(gòu)建到多個不同設(shè)備的 連接的歷史連接信息的數(shù)據(jù)集。例如,在建立連接時可以周期性地測量并 保存連接信息。例如,可以將測量之間的時間間隔選擇為大約等于該連接 的RTT,并且也可以在RTT改變時進行測量。然而,連接信息不必周期性 地測量或保存,并可以用不同的方式執(zhí)行??梢詫σ粋€或多個連接參數(shù)存 儲任何合適的原始連接測量和/或?qū)С龅倪B接信息。如果計算機訪問了超過 兩個網(wǎng)絡(luò)接口,則如果需要還可以對這些附加接口中的任一個存儲歷史連 接信息。
      在某一點處,計算機可能希望建立新網(wǎng)絡(luò)連接。為選擇網(wǎng)絡(luò)接口,計 算機可以在動作A3基于在動作Al和A2所保存的歷史連接信息來作出決 定。這一歷史連接信息可以用各種方式來使用。作為一個示例,決定可以 基于諸如最佳數(shù)據(jù)率等一種類型的歷史連接信息來作出。作為另一示例, 決定可以基于不同歷史連接參數(shù)的組合來作出。如果使用了多個參數(shù),則 可以根據(jù)每一參數(shù)對于連接質(zhì)量的相對重要性來對它進行加權(quán)??梢赃x擇 可能提供如加權(quán)參數(shù)所測量的更好性能的接口。所使用的參數(shù)和所給出的 權(quán)重可以用任何合適的方式來選擇,因為本發(fā)明不限于任何特定的參數(shù)或 加權(quán)。
      在某些實施例中,可以使用單個連接參數(shù)的多個測量來進行接口選擇。 例如,可以對單個參數(shù)的多個測量執(zhí)行統(tǒng)計函數(shù)或其它數(shù)學(xué)函數(shù),以便可 以確定一個或多個數(shù)學(xué)上生成的連接參數(shù)。作為一個特定示例,平均連接 參數(shù)可以基于連接參數(shù)的隨時間所進行的多個測量來確定,以便使用特定 時間段上的最新近測量。例如,可以向較新近測量給出比較老測量更大的
      12權(quán)重。然而,此處描述的技術(shù)不限于對多個測量進行加權(quán)的方法或被用來確定這樣的數(shù)學(xué)上生成的參數(shù)的特定函數(shù)。
      在某些實施例中,可以使用可用歷史連接信息的子集來選擇接口。例如,如果要建立到特定網(wǎng)絡(luò)地址的新連接,則可以考慮所作出的到具有相似網(wǎng)絡(luò)地址的計算機的先前連接的歷史連接信息,因為發(fā)明人認識到,具有相似地址的計算機往往位于相似的物理位置。地址的相似性可以用任何合適的方式來確定,因為此處描述的技術(shù)不限于用于確定相似性的任何特定技術(shù)??梢宰龀龅囊粋€類推是參考電話號碼,"家庭地址"位于同一區(qū)域的電話號碼具有相同的區(qū)號。這對于因特網(wǎng)協(xié)議(IP)地址也同樣成立,因為位于彼此附近的計算機擁有帶相同前綴的地址。因此,IP地址前綴和物理鄰近性之間存在統(tǒng)計相關(guān)性。在某些情況下,在連接到物理上彼此接近的設(shè)備時,連接參數(shù)可能相似。結(jié)果,向具有相似IP前綴的設(shè)備做出的連接可以具有相似的質(zhì)量,并可以具有相似的連接性能特性。因此,在某
      些實施例中,在需要建立到特定IP地址的新連接時,可以基于到相似IP地址的連接的歷史數(shù)據(jù)來選擇接口。在某些實施例中,相似的IP地址可包括完全相同的IP地址,這表示到同一網(wǎng)絡(luò)位置的連接。在因特網(wǎng)協(xié)議版本4 (IPv4)中,相似的地址可包括例如具有相同的前三個字節(jié)或相同的前兩
      個字節(jié)的IP地址。在IPv6中,相似的地址可包括具有相同的前八個字節(jié)、
      相同的前七個字節(jié)、相同的前六個字節(jié)、或相同的具有其它合適長度的前綴的IP地址??梢葬槍哂邢嗨艻P地址的計算機選擇任何合適的前綴長度,因為此處描述的技術(shù)不限于所比較的IP地址前綴的特定大小。
      響應(yīng)于在動作A3選擇接口,可以在動作A4建立連接,以便經(jīng)由該連接的通信通過所選接口來發(fā)生??梢越⑷魏魏线m類型的連接,因為此處描述的技術(shù)不限于用于連接的特定協(xié)議。合適的連接的一個示例是傳輸控制協(xié)議(TCP)連接,然而,可以建立其它類型的連接。
      對于圖1所示的計算環(huán)境,計算機1和/或2可以是任何類型的計算機,如以下詳細描述的計算機。例如,計算機1和/或2可以是臺式計算機、膝上型計算機、蜂窩電話、個人數(shù)字助理、或任何其它合適類型的計算設(shè)備。接口 3和4可以是使計算機1能夠訪問網(wǎng)絡(luò)7的任何合適的接口。接口 3和4可以是例如經(jīng)由無線總線與計算機1的處理器進行通信的網(wǎng)絡(luò)適配器。
      合適的接口的示例包括有線NIC,如以太網(wǎng)卡、電話調(diào)制解調(diào)器、DSL卡等。合適的接口的示例還包括無線NIC,如能夠經(jīng)由藍牙、IEEE標準802.11、蜂窩數(shù)據(jù)協(xié)議進行通信的NIC和/或任何其它類型的NIC。網(wǎng)絡(luò)7可以是任何合適的計算機網(wǎng)絡(luò),如因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、或任何其它合適類型的網(wǎng)絡(luò),因為此處描述的技術(shù)在這一方面不作限制。
      現(xiàn)將描述可在其上實現(xiàn)本發(fā)明的各實施例的計算系統(tǒng)。參考圖3,可在其上實現(xiàn)本發(fā)明的各實施例的示例性系統(tǒng)包括諸如計算設(shè)備40等計算設(shè)備,其可以是適于用作例如一個或多個計算機1和2的設(shè)備。計算設(shè)備40可包括至少一個處理單元41和存儲器42。取決于計算設(shè)備的確切配置和類型,存儲器42可以是易失性的、非易失性的、或兩者的某種組合。 一個可能的配置在圖3中由虛線43來示出。另外,設(shè)備40還可具有附加特征/功能。存儲器42是可以存儲諸如在執(zhí)行時實現(xiàn)此處描述的技術(shù)中的任一種的計算機可讀指令等信息的一種形式的計算機可讀介質(zhì)。
      設(shè)備40可包括至少某種形式的計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是可由設(shè)備40訪問的任何可用介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可包括計算機存儲介質(zhì)和通信介質(zhì)。例如,設(shè)備40還可包含附加存儲(可移動和/或不可移動),包括但不限于磁盤、光盤或磁帶。這些其它存儲在圖3中由可移動存儲44和不可移動存儲45示出。計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。存儲器42、可移動存儲44和不可移動存儲45都是計算機存儲介質(zhì)的示例。
      設(shè)備40還包括輸出設(shè)備46、輸入設(shè)備47、和/或一個或多個通信連接48。通信連接48可包括例如使設(shè)備40能夠經(jīng)由諸如并行總線或串行總線等任何合適的數(shù)據(jù)總線與網(wǎng)絡(luò)接口進行通信的總線接口。
      應(yīng)當理解,本發(fā)明不限于在任何特定的系統(tǒng)或系統(tǒng)組上執(zhí)行。例如,本發(fā)明的各實施例可以在一個設(shè)備上或在設(shè)備的組合上運行。同樣,應(yīng)當理解,本發(fā)明不限于任何系統(tǒng)或網(wǎng)絡(luò)體系結(jié)構(gòu)。示例1
      現(xiàn)在將描述此處描述的技術(shù)的應(yīng)用程序的一個詳細示例。然而,這僅是示例,并且本發(fā)明不限于該特定應(yīng)用程序,因為此處描述的技術(shù)可用于多個其它應(yīng)用程序中。
      在某些實施例中,可以選擇接口來在OSI網(wǎng)絡(luò)通信模塊的第四層達到
      最高帶寬。因為可以測量在特定路由上達到的帶寬,所以可以使用過去的性能來作出關(guān)于將來的接口選擇的更明智的決定。以下描述基于來自過去的端對端帶寬測量來作出路由選擇的解決方案的示例。
      1. 每一鏈路外(off-link)路由可以維護兩個帶寬值近(對應(yīng)于來自到"鄰近"主機的TCP連接的帶寬測量)和遠帶寬(對應(yīng)于來自到非"鄰近"主機的TCP連接的帶寬測量)。對于到同一子網(wǎng)上的目的地的路由,可能只有一個測量帶寬值。
      2. —開始,近和遠帶寬可被設(shè)為基于NIC報告的接口速度所導(dǎo)出的值。直到TCP連接報告了關(guān)于帶寬的足夠信息為止,否則使用基于接口速度的帶寬值。在某些實施例中,可以通過存儲到5個不同目的地的至少5個連接的連接信息來獲得足夠信息。
      3. 對于每一TCP連接,可以如下測量所獲得的帶寬并將其報告給IP層
      a. 如果
      i. a)發(fā)送者高效地填充管道(至少發(fā)送允許他發(fā)送的50%)或b)發(fā)送者擁塞受限。(丟失、延遲尖峰、重新排序等)。
      ii. 對于接收者帶寬,如果自動調(diào)節(jié)啟用或每一 RTT得到接收窗口的75% (高效接收者),則可以提供樣本。
      iii. 樣本可以傳遞給IP層并在按路由的基礎(chǔ)上跟蹤,從而將測量分成子網(wǎng)或"桶",如近桶和遠桶
      平均帶寬=平均帶寬+ (樣本 一 平均帶寬)/N,在每一情況下可以基于試驗和經(jīng)驗來選擇N (例如8)。則TCP層可以取帶寬樣本并將其報告給IP層。
      注意,該算法可能不區(qū)分傳輸方向,發(fā)送者和接收者樣本被同等對待并且不相加。所以如果數(shù)據(jù)傳輸同時發(fā)生, 則其估計將更加保守。
      4. 對于每一路由,所獲得的帶寬信息可被分類成近桶或遠桶。為這樣 做,使用報告其帶寬的目的地IP地址。這可以如下完成
      a. 其IP地址與左移8位(對于IPv4)或16位(對于IPv6)的主
      機的子網(wǎng)掩碼下的主機IP地址相匹配的所有目的地可被認為 是近的。
      b. 對于不匹配準則(a)的目的地,RTT值或跳數(shù)計數(shù)可以如下使 用。如果到目的地的RTT在閾值之下(例如10毫秒)或跳數(shù) 計數(shù)小于閾值(例如6),則認為該目的地是近的。此外,對 于將來的連接,與在左移8位(對于IPv4)或16位(對于IPv6) 的主機的子網(wǎng)掩碼下的近目的地相匹配的所有目的地可被認 為是近的。為這樣做,計算機可以維護近IP地址范圍的列表。
      c. 不屬于近的或不在子網(wǎng)上的任何IP地址被認為是遠的。
      5. 對于要建立到它的新TCP連接的目的地,可首先將該目的地IP分類 成近對遠,并且隨后可以基于來自匹配路由査找的各個路由的平均 近或遠帶寬來比較這些路由??梢赃x擇具有較高平均帶寬的路由。
      近帶寬遠帶寬
      路由1XIX2
      路由2YlY2
      對于每一目的地,如果路由1和路由2是匹配的路由,則可以比較 X1和Y1,而對于遠目的地可以比較X2和Y2。
      6. 特定路由的平均遠帶寬可以用該路由的平均近帶寬作為上限。
      7. 為增加穩(wěn)定性,可以通過將平均帶寬分桶化成幾個桶來引入滯后。 只有在平均帶寬超過桶閾值多于25%的情況下它才可被分類成不同 的桶。
      8. 在一段時間之后(如2小時),如果沒有報告某路由的新帶寬樣本, 則該路由的平均帶寬可以基于接口速度來如在1中一樣重新設(shè)置。
      16在機器重新引導(dǎo)時可以清除在以上部分3中維護的狀態(tài)。在休眠/喚醒 或媒體斷開連接/重新連接時,如果分配給該接口的任何IP地址是不同的, 則可以清除狀態(tài)(因為不同的IP地址指示到不同網(wǎng)絡(luò)的連接并且因此可能 造成不同的性能)。
      以上算法可以跨接口來對基于接口速度而落入同一桶中的TCP連接進 行負載平衡;例如,如果大量TCP連接開始通過一個接口,使得每一連接
      的平均吞吐量減至通過另一接口可達到的吞吐量以下,則以上算法可以自
      動地檢測到這一點并開始通過另一接口來路由新TCP連接。
      以下是可以提供給維護持久連接的應(yīng)用程序的描述通知。
      NetBT/RDR客戶機在某些操作系統(tǒng)中,NetBT/RDR客戶機可以使用 NetBT協(xié)議(通過端口 138/139)以及使用SMB協(xié)議(使用端口 445)來嘗試 連接??梢酝ㄟ^所有可用接口來嘗試使用NetBT的連接,并且隨后可以挑選首 先連接的接口。這與TCP/IP棧無關(guān)。由于這一行為,NetBT實際上可能最終 挑選較慢接口而沒有利用TCP/IP中的改進來選擇最佳接口 。
      為解決這一問題,在某些實施例中,計算機可以首先嘗試通過端口 445 連接(這可最終使得使用TCP/IP路由偏好),這失敗后其可以后退到138/139 端口來通過所有接口嘗試連接。為這樣做,SMB可以通過將NetBT連接的發(fā) 起延遲0.5秒來優(yōu)化TCP/IP連接。
      NetBT可以維護跨始自/去往同一主機的多個數(shù)據(jù)傳輸來共享的持久連接。即 使在計算機(例如膝上型計算機)由于強烈的主機行為而停放之后,這也可以 造成關(guān)于挑選哪一接口的粘性(stickiness),因為路由也是基于源地址的,這 在一開始建立連接時就指定了。另外,操作系統(tǒng)可以實現(xiàn)稱為快速重連的特征, 這在媒體斷開連接/連接(例如在休眠/喚醒期間)之后重新建立TCP連接而不 將其拆除。這意味著可以將機器置于休眠模式并之前經(jīng)由另一接口連接,而喚 醒可以獨立于路由度量來繼續(xù)挑選先前接口 。
      為解決持久連接問題,在某些實施例中,在TCP層的解決方案可以涉及 TCP遷移,這超出了該特征的范圍。然而,在應(yīng)用層的解決方案是可能的。SMB 可以如下執(zhí)行
      1.注冊媒體連接/斷開連接通知2. 在媒體連接通知時;向棧查詢是否有更好的接口可用。
      3. 如果有更好的接口可用,則拆除可被拆除(即,不打開活動文件)和已經(jīng) 有一段時間不活動的所有連接
      現(xiàn)在已經(jīng)描述了本發(fā)明的某些說明性實施例,本領(lǐng)域的技術(shù)人員應(yīng)當 明白,以上僅是說明性而非限制性的,因此是僅作為示例來提出的。眾多 修改和其它實施例在本領(lǐng)域的普通技術(shù)人員的認知范圍之內(nèi),并且被認為 是落入本發(fā)明的范圍之內(nèi)。前述描述和附圖僅用作示例。特別地,盡管此
      處所提出的許多示例涉及方法動作或系統(tǒng)元件的特定組合,但是應(yīng)當理解, 這些動作和元件可以用其它方式來組合以實現(xiàn)相同的目的。僅關(guān)于一個實
      施例所討論的動作、元件和特征并不旨在被排除在其它實施例中的相似角 色之外。
      權(quán)利要求書中使用諸如"第一"、"第二"、"第三"等序數(shù)詞來修 飾一個權(quán)利要求要素本身并不意味著一個權(quán)利要求要素相對于另一個的任 何優(yōu)先級、優(yōu)先順序或次序,也不意味著執(zhí)行一方法的動作的時間順序, 而是僅用作將具有某一名稱的一個權(quán)利要求要素與具有相同名稱的另一權(quán) 利要求要素(但使用了序數(shù)詞)區(qū)分開來的標簽以便區(qū)分權(quán)利要求要素。 此處對"包括"、"包含"、或"具有"、"含有"、"涉及"及其變型 的使用旨在包括其后所列的項目及其等效物以及其它項目。
      權(quán)利要求
      1.一種在包括被配置成通過第一網(wǎng)絡(luò)接口3和第二網(wǎng)絡(luò)接口4經(jīng)由網(wǎng)絡(luò)7來進行通信的第一計算機1的計算環(huán)境中的方法,所述網(wǎng)絡(luò)7允許所述第一計算機1與多個其它計算機經(jīng)由該網(wǎng)絡(luò)7進行通信,所述方法包括以下動作(A)所述第一計算機1存儲表示該第一計算機1與所述多個其它計算機中的至少一個之間、通過所述第一網(wǎng)絡(luò)接口3的第一網(wǎng)絡(luò)連接的性能的第一歷史網(wǎng)絡(luò)連接信息;(B)所述第一計算機1存儲表示該第一計算機與所述多個其它計算機中的至少一個之間、通過所述第二網(wǎng)絡(luò)接口4的第二網(wǎng)絡(luò)連接的性能的第二歷史網(wǎng)絡(luò)連接信息;(C)至少基于所述第一和第二歷史網(wǎng)絡(luò)連接信息,從所述第一和第二網(wǎng)絡(luò)接口中選擇所選網(wǎng)絡(luò)接口來用于第三網(wǎng)絡(luò)連接;以及(D)基于所述動作(C),在所述第一計算機1和來自所述多個其它計算機中的第二計算機2之間建立所述第三網(wǎng)絡(luò)連接,以使第三網(wǎng)絡(luò)連接通信通過所選網(wǎng)絡(luò)接口。
      2. 如權(quán)利要求1所述的方法,其特征在于,所述第一網(wǎng)絡(luò)接口 3和第 二網(wǎng)絡(luò)接口 4根據(jù)不同的網(wǎng)絡(luò)通信協(xié)議來操作。
      3. 如權(quán)利要求1所述的方法,其特征在于,所述第一網(wǎng)絡(luò)接口3和第 二網(wǎng)絡(luò)接口 4通過不同類型的通信介質(zhì)來提供對所述網(wǎng)絡(luò)的訪問。
      4. 如權(quán)利要求3所述的方法,其特征在于,所述不同類型的通信介質(zhì) 包括無線介質(zhì)和有線介質(zhì)。
      5. 如權(quán)利要求1所述的方法,其特征在于,所述動作(C)是由所述第 一計算機l執(zhí)行的,并且所述第一計算機響應(yīng)于所述動作(C)來發(fā)起所述 動作(D)。
      6. 如權(quán)利要求1所述的方法,其特征在于,所述第一網(wǎng)絡(luò)連接是所述 第一計算機1與來自所述多個其它計算機中的第三計算機2之間的,其中 所述第三計算機2的網(wǎng)絡(luò)地址與所述第二計算機的網(wǎng)絡(luò)地址相似,并且其 中部分地基于所述第二和第三計算機的網(wǎng)絡(luò)地址的相似性來將所選網(wǎng)絡(luò)接口選擇為所述第一網(wǎng)絡(luò)接口。
      7. 如權(quán)利要求6所述的方法,其特征在于,所述第三計算機的地址和 所述第二計算機的地址具有相同的前綴。
      8. 如權(quán)利要求6所述的方法,其特征在于,所述第三計算機具有與所 述第二計算機的物理位置相接近的物理位置。
      9. 如權(quán)利要求1所述的方法,其特征在于,所述第一歷史網(wǎng)絡(luò)連接信 息的至少一部分表示所述第一網(wǎng)絡(luò)連接的跳數(shù)計數(shù),并且其中至少部分地 基于所述跳 數(shù)計數(shù)來將所選網(wǎng)絡(luò)接口選擇為所述第一網(wǎng)絡(luò)接口。
      10. 如權(quán)利要求1所述的方法,其特征在于,所述第一歷史網(wǎng)絡(luò)連接 信息的至少一部分表示所述第一網(wǎng)絡(luò)連接的往返時間,并且其中至少部分 地基于所述往返時間來將所選網(wǎng)絡(luò)接口選擇為所述第一網(wǎng)絡(luò)接口。
      11. 如權(quán)利要求1所述的方法,其特征在于,所述第一歷史網(wǎng)絡(luò)連接 信息表示所述第一網(wǎng)絡(luò)連接的數(shù)據(jù)率,并且其中至少部分地基于所述數(shù)據(jù) 率來將所選網(wǎng)絡(luò)接口選擇為所述第一網(wǎng)絡(luò)接口。
      12. 如權(quán)利要求1所述的方法,其特征在于,所述第一歷史網(wǎng)絡(luò)連接 信息表示所述第一網(wǎng)絡(luò)連接的分組丟失率,并且其中至少部分地基于所述 分組丟失率來將所選網(wǎng)絡(luò)接口選擇為所述第一網(wǎng)絡(luò)接口。
      13. 如權(quán)利要求1所述的方法,其特征在于,所選網(wǎng)絡(luò)接口提供比所 述第一和的網(wǎng)絡(luò)接口中的非所選網(wǎng)絡(luò)接口將提供的更高的總體連接數(shù)據(jù) 率。
      14. 如權(quán)利要求l所述的方法,其特征在于,所述動作(A)在終止 所述所述第一網(wǎng)絡(luò)連接之前執(zhí)行,并且所述動作(C)在終止所述第一網(wǎng)絡(luò) 連接之后執(zhí)行。
      15. —種在包括被配置成通過第一網(wǎng)絡(luò)接口 3和第二網(wǎng)絡(luò)接口4經(jīng)由 網(wǎng)絡(luò)7來進行通信的第一計算機1的計算環(huán)境中的計算機可讀介質(zhì),所述 網(wǎng)絡(luò)允許所述第一計算機1與多個其它計算機經(jīng)由該網(wǎng)絡(luò)7進行通信,所 述計算機可讀介質(zhì)具有在被執(zhí)行時執(zhí)行一種方法的指令,所述方法包括以下動作(A)所述第一計算機1存儲表示該第一計算機與所述多個其它計算機中的至少一個之間、通過所述多個網(wǎng)絡(luò)接口的多個網(wǎng)絡(luò)連接的性能的歷史網(wǎng)絡(luò)連接信息;(B) 至少基于所述歷史網(wǎng)絡(luò)連接信息,從所述多個網(wǎng)絡(luò)接口中選擇所 選網(wǎng)絡(luò)接口來用于所述第一計算機1和所述多個其它計算機中的至少一個 之間的網(wǎng)絡(luò)連接;以及(C) 基于所述動作(B),在所述第一計算機l和來自所述多個其它 計算機中的第二計算機2之間建立所述網(wǎng)絡(luò)連接,以使所述第一計算機和 所述第二計算機之間的通信通過所選網(wǎng)絡(luò)接口。
      16. 如權(quán)利要求15所述的計算機可讀介質(zhì),其特征在于,執(zhí)行(A) 以便在所述多個網(wǎng)絡(luò)連接中的至少一個活動時存儲所述歷史網(wǎng)絡(luò)連接信 息。
      17. —種系統(tǒng),包括 計算機1;允許所述計算機與多個其它計算機經(jīng)由網(wǎng)絡(luò)進行通信的第一網(wǎng)絡(luò)接口 3;以及允許所述計算機與多個其它計算機經(jīng)由所述網(wǎng)絡(luò)進行通信的第二網(wǎng)絡(luò) 接口 4;其中,所述計算機包括-至少一個存儲設(shè)備42,所述存儲設(shè)備42存儲表示所述計算機與 所述多個其它計算機中的至少一個之間、通過所述第一網(wǎng)絡(luò)接口 3的 第一網(wǎng)絡(luò)連接的性能參數(shù)的第一歷史網(wǎng)絡(luò)連接信息,以及表示該計算 機與所述多個其它計算機中的至少一個之間、通過所述第二網(wǎng)絡(luò)接口 4的第二網(wǎng)絡(luò)連接的性能參數(shù)的第二歷史網(wǎng)絡(luò)連接信息;處理器41,所述處理器41基于所述第一和第二歷史信息來確定 要將所述第一和第二網(wǎng)絡(luò)接口中的哪一個用于要與所述多個其它計算 機中的至少一個建立的第三網(wǎng)絡(luò)連接。
      18. 如權(quán)利要求17所述的計算機,其特征在于,所述第一和第二網(wǎng) 絡(luò)接口是所述計算機的一部分。
      19. 如權(quán)利要求17所述的計算機,其特征在于,所述計算機還包括耦合到所述處理器的至少一個有線總線48;其中所述第一網(wǎng)絡(luò)接口是經(jīng)由所述至少一個有線總線與所述處理器通 信的網(wǎng)絡(luò)適配器。
      20. 如權(quán)利要求17所述的計算機,其特征在于,所述第一網(wǎng)絡(luò)接口 3是有線網(wǎng)絡(luò)適配器且所述第二網(wǎng)絡(luò)接口 4是無線網(wǎng)絡(luò)適配器。
      全文摘要
      計算機可能能夠通過多個接口經(jīng)由網(wǎng)絡(luò)與各設(shè)備進行通信。在要建立新連接時,計算機可以選擇接口來用于該連接。在某些實施例中,接口可以基于表示該計算機已經(jīng)通過各接口建立的先前網(wǎng)絡(luò)連接的性能的歷史連接信息來選擇。
      文檔編號H04L12/28GK101682549SQ200880020070
      公開日2010年3月24日 申請日期2008年6月4日 優(yōu)先權(quán)日2007年6月15日
      發(fā)明者D·塞勒, D·班塞爾, M·希德哈倫, S·加吉 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1