国产精品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>

      被管對象的復(fù)制和傳送的制作方法

      文檔序號:7889845閱讀:242來源:國知局
      專利名稱:被管對象的復(fù)制和傳送的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域。特別地,本發(fā)明的各方面有關(guān)被管(managed)對象在網(wǎng)絡(luò)上的復(fù)制和傳送。
      背景技術(shù)
      一個(gè)典型的內(nèi)容傳送網(wǎng)絡(luò)(CDN)運(yùn)營商在網(wǎng)絡(luò)中部署一個(gè)或多個(gè)擁有多個(gè)對象的父服務(wù)器,以及在網(wǎng)絡(luò)邊緣部署一個(gè)或多個(gè)邊緣服務(wù)器,使得對終端用戶(客戶)發(fā)送此類對象更成本有效和效率更高。訪問顧客的對象的終端用戶或客戶代理被稱為客戶。訂閱CDN服務(wù)的內(nèi)容提供公司,組織等,被稱作是顧客。在此,對象包括但不局限于,音頻文件(例如,一個(gè)MP3(運(yùn)動圖象專家組第3層)文件和RealNetworks公司的Real格式文件),視頻文件(如MPEG文件),圖像文件(如BMP(位圖)文件或JPEG(聯(lián)合圖像專家組)文件)和任何其他軟件或數(shù)據(jù)文件或?qū)ο蟆5湫偷仄谕麖倪吘壏?wù)器提供對象,因?yàn)檫吘壏?wù)器典型地距離終端用戶更近(通過各種距離測量)。例如,從邊緣服務(wù)器流式傳送內(nèi)容數(shù)據(jù)節(jié)省父服務(wù)器到邊緣服務(wù)器的帶寬。而且,對象必須途經(jīng)的距離的縮短也意味著網(wǎng)絡(luò)擁塞和分組丟失的減少,從而通過更快的響應(yīng)時(shí)間和更好的服務(wù)質(zhì)量為終端用戶提供更好的體驗(yàn)。
      典型地在邊緣服務(wù)器上存儲所有對象是不可行的。主要困難在于很多此類對象都非常大(典型地10MB(10,000,000字節(jié))數(shù)量級—對于電影為500MB左右)。隨著客戶數(shù)量的增長及其對象數(shù)量的增加,所需的用來容納的存儲和位置空間通常很大,而且,有時(shí)在邊緣服務(wù)器上的很少被請求的對象的成本昂貴。由于工作區(qū)中對象的大小和需求變化,存儲一個(gè)合適的對象的工作區(qū),例如,認(rèn)為是經(jīng)常被請求的和/或更適合從邊緣服務(wù)器提供的對象組,甚至是不可能的。
      一個(gè)明顯的解決方案是在邊緣服務(wù)器上預(yù)先寫入(pre-populate)可能重要的或高度需求的對象。但是,很難預(yù)測流行度和很難管理預(yù)先寫入。相關(guān)的解決方案是基于對象的流行度將對象和兩個(gè)或多個(gè)域(domain)相關(guān)聯(lián),如一個(gè)流行對象的域(由邊緣服務(wù)器提供)和另一個(gè)次流行對象的域(由父服務(wù)器提供)。但是,這種方案需要某種方式靜態(tài)地預(yù)先確定什么對象是流行的什么對象是次流行的,并將此流行度構(gòu)造進(jìn)該對象的域名。由于是預(yù)先寫入,很難預(yù)測流行度和基于該流行度的確定管理域的分配。
      其他解決方案根據(jù)要求讀取對象。在這種方案中,當(dāng)所請求的對象在處理的邊緣服務(wù)器上不可用時(shí),在具有所請求對象的父服務(wù)器和正處理邊緣服務(wù)器之間建立連接,以從該父服務(wù)器讀取所請求的對象。但是,每當(dāng)客戶請求不在此特定的邊緣服務(wù)器上存在的對象時(shí),這種讀取由于必須經(jīng)過父路徑(正處理邊緣服務(wù)器和擁有該對象的父服務(wù)器之間的網(wǎng)絡(luò)路徑)而受到損害。
      通過父路徑讀取一個(gè)大的對象到正處理邊緣服務(wù)器會很緩慢。例如,從父服務(wù)器到管理邊緣服務(wù)器的帶寬是有限可用的,即,有時(shí)父路徑的帶寬甚至比從邊緣服務(wù)器到客戶的網(wǎng)絡(luò)路徑(例如,寬帶網(wǎng)絡(luò)的“最后一里”)還要窄。如果父服務(wù)器占用過多的帶寬拷貝對象到邊緣服務(wù)器,將在此父服務(wù)器產(chǎn)生擁塞。如果存儲填充(fill)帶寬與客戶帶寬匹配,則很難處理第二個(gè)更快的客戶,而且如果使用流協(xié)議(例如,實(shí)時(shí)流協(xié)議(RTSP)和實(shí)時(shí)傳輸協(xié)議(RTP)標(biāo)準(zhǔn))進(jìn)行讀取,該拷貝的質(zhì)量將會因分組丟失而受到損害(“變少”)。
      此外,由于網(wǎng)絡(luò)擁塞,可能存在不可靠的端對端的父路徑。而且,如果父服務(wù)器必須預(yù)處理對象(如,產(chǎn)生特定比特率的圖像)或另外正在處理其他任務(wù),這將進(jìn)一步降低其盡快為該對象的請求服務(wù)的能力。例如,如果客戶請求的比特率高于父服務(wù)器到邊緣服務(wù)器的比特率,可能會發(fā)生延遲。在這種情況下,父服務(wù)器將不能,例如,及時(shí)流式發(fā)送對象,或以所要求的比特率保持對象流,從而導(dǎo)致稀疏(thinned)對象,即,由于傳輸中的分組丟失而形成的低質(zhì)量的對象,該對象將被寫入到邊緣服務(wù)器并傳送到隨后請求同樣對象的客戶。

      發(fā)明內(nèi)容
      因此,將最流行的對象寫入到邊緣服務(wù)器而以某種方式從父服務(wù)器上提供其他對象,從而使從網(wǎng)絡(luò)的邊緣服務(wù)器提供的對象比特的數(shù)量最大化是非常有利的。當(dāng)對象足夠流行時(shí),通過諸如根據(jù)要求進(jìn)行存儲填充來寫入邊緣服務(wù)器,而無須終端用戶等待此寫入,也是很有利的。因此,提供一種用于被管對象在網(wǎng)絡(luò)上的復(fù)制和傳送的方法和系統(tǒng)是很有利的。
      根據(jù)本發(fā)明的實(shí)施例,一種用于被管對象在網(wǎng)絡(luò)上的復(fù)制和傳送的方法和系統(tǒng),將客戶對于在網(wǎng)絡(luò)的最佳或最優(yōu)的處理邊緣服務(wù)器上不可用的對象的請求重定向,直接或間接地,到擁有所請求對象的網(wǎng)絡(luò)的父服務(wù)器。因此,當(dāng)所請求對象在正處理邊緣服務(wù)器上不可用時(shí),客戶的請求被直接重定向到能為客戶提供所請求對象的父服務(wù)器,或間接地通過一個(gè)或多個(gè)父服務(wù)器重定向到能為該客戶提供所請求對象的父服務(wù)器。如果該對象足夠流行,此方法和系統(tǒng)進(jìn)一步智能地復(fù)制該對象到該邊緣服務(wù)器。同樣,當(dāng)一個(gè)對象不再流行時(shí),將其從邊緣服務(wù)器刪除。所有的重定向和復(fù)制操作都優(yōu)選地對終端用戶透明并且不會降低服務(wù)質(zhì)量。本發(fā)明的其他實(shí)施例是可能的,其中一些將在今后描述。
      因此,例如,在此描述的框架下,如果正處理邊緣服務(wù)器上有流(streaming)對象的拷貝,對于該流對象的請求將由該處理邊緣服務(wù)器提供服務(wù)。否則,該請求被直接或間接地重定向到為客戶提供所請求的流對象的父服務(wù)器。如果所請求的流對象流行,該對象就會被從有所請求的流對象的父服務(wù)器復(fù)制到處理邊緣服務(wù)器,因此,將來該對象被請求時(shí),該處理邊緣服務(wù)器可以從網(wǎng)絡(luò)的邊緣提供該對象。如果一個(gè)流對象不再流行,則從邊緣服務(wù)器上刪除該對象。
      在此,復(fù)制通常指對象在服務(wù)器上的永久和/或易失性存儲,尤其是在邊緣服務(wù)器上,以及可用的父服務(wù)器上。從而,認(rèn)為術(shù)語復(fù)制與存儲,緩存和拷貝同義。在典型實(shí)施例中,對象的復(fù)制通常指對象在邊緣服務(wù)器和/或父服務(wù)器上持續(xù)時(shí)間未確定的暫時(shí)存儲。


      本發(fā)明的示范實(shí)施例在附圖中說明,其中同樣的標(biāo)記表示相似或相同的成分,并且其中圖1是根據(jù)本發(fā)明實(shí)施例的被管對象的復(fù)制和傳送的方法和系統(tǒng)的拓?fù)涞母呒壏娇驁D;圖2是根據(jù)本發(fā)明實(shí)施例的說明被管對象的復(fù)制和傳送的方法的數(shù)據(jù)流的高級方框圖;圖3(a),3(b)和3(c)是根據(jù)本發(fā)明實(shí)施例的被管對象的復(fù)制和傳送方法和對象清除方法的流程圖;圖4是根據(jù)本發(fā)明實(shí)施例的流行度計(jì)算的流程圖;圖5是根據(jù)本發(fā)明實(shí)施例的復(fù)制方案的流程圖;圖6是根據(jù)本發(fā)明實(shí)施例的清除方案的流程圖;以及圖7是根據(jù)本發(fā)明實(shí)施例的被管對象的復(fù)制和傳送的系統(tǒng)方框圖。
      具體實(shí)施例方式
      根據(jù)本發(fā)明實(shí)施例,用于被管對象的復(fù)制和傳送方法的典型網(wǎng)絡(luò)如圖1說明。網(wǎng)絡(luò)100包括一個(gè)或多個(gè)父服務(wù)器站點(diǎn)120和一個(gè)或多個(gè)邊緣服務(wù)器站點(diǎn)130。該網(wǎng)絡(luò)也可選擇性地訪問一個(gè)或多個(gè)源服務(wù)器站點(diǎn)110。這些源服務(wù)器站點(diǎn)典型地由網(wǎng)絡(luò)提供者的顧客擁有和/或維護(hù),用來存儲和提供一個(gè)或多個(gè)對象。每一個(gè)顧客(內(nèi)容提供者)都可擁有其自己的源服務(wù)器站點(diǎn)。而且,一個(gè)或多個(gè)客戶140訪問網(wǎng)絡(luò)以請求一個(gè)或多個(gè)對象。父服務(wù)器站點(diǎn)(或簡稱父站點(diǎn)或父服務(wù)器)可包括一個(gè)父服務(wù)器或父服務(wù)器集群,同樣,邊緣服務(wù)器站點(diǎn)(或簡稱邊緣站點(diǎn)或邊緣服務(wù)器)可包括一個(gè)邊緣服務(wù)器或邊緣服務(wù)器集群,以及源服務(wù)器站點(diǎn)(或簡稱源站點(diǎn)或源服務(wù)器)可包括一個(gè)源服務(wù)器或源服務(wù)器集群。典型地,網(wǎng)絡(luò)100如此配置從而使一個(gè)集群的服務(wù)器共享公共存儲器。無論如何,父服務(wù)器站點(diǎn),邊緣服務(wù)器站點(diǎn)和源服務(wù)器站點(diǎn)的配置細(xì)節(jié)對本發(fā)明是不重要的。
      在典型網(wǎng)絡(luò)中,父服務(wù)器和邊緣服務(wù)器由網(wǎng)絡(luò)提供者維護(hù),其中父服務(wù)器主要用于存儲和管理一個(gè)或多個(gè)對象,邊緣服務(wù)器主要用于為客戶提供對象。在某些實(shí)施例中,在任何終端用戶可訪問每一個(gè)存儲在該父服務(wù)器上的對象之前,從源服務(wù)器上檢索所有對象并將其存儲在一個(gè)或多個(gè)父服務(wù)器上。因此,在這些實(shí)施例中,源服務(wù)器除了給父服務(wù)器上的存儲器提供新的和/或更新的對象以外,在被管對象的復(fù)制和傳送的方法中不起重要作用。而且,只有父服務(wù)器與源服務(wù)器通信。在其他實(shí)施例中,當(dāng)所請求的對象開始流行時(shí)(如下詳述),每一個(gè)所請求對象被從一個(gè)或多個(gè)源服務(wù)器復(fù)制到一個(gè)或多個(gè)父服務(wù)器(和/或一個(gè)或多個(gè)邊緣服務(wù)器)。在這些實(shí)施例中,當(dāng)有請求時(shí),源服務(wù)器提供對象給父服務(wù)器和/或邊緣服務(wù)器,其在被管對象的復(fù)制和傳送的方法中起了更重要的作用。因此,在這些實(shí)施例中,源服務(wù)器和父服務(wù)器互相通信,源服務(wù)器和客戶也可以互相通信。在所有這些實(shí)施例中,源服務(wù)器和父服務(wù)器的通信關(guān)系可以是點(diǎn)對點(diǎn),點(diǎn)對多點(diǎn)或多點(diǎn)對多點(diǎn)。
      此外,如圖1所示,父服務(wù)器和邊緣服務(wù)器互相通信,邊緣服務(wù)器和客戶互相通信,父服務(wù)器和客戶互相通信。而在實(shí)施例中,如圖1所示,邊緣服務(wù)器和父服務(wù)器的關(guān)系是點(diǎn)對點(diǎn)或點(diǎn)對多點(diǎn),邊緣服務(wù)器和父服務(wù)器的關(guān)系也可以是多點(diǎn)對多點(diǎn)。如下詳述,邊緣服務(wù)器是作為提供對象的主要來源,但如果所請求對象在該邊緣服務(wù)器上不可用,擁有所請求對象的父服務(wù)器將為客戶提供所請求對象。圖1也展示了單層或單級的父服務(wù)器和源服務(wù)器。對于本領(lǐng)域的技術(shù)人員將明確,也可使用多于一層或一級的父服務(wù)器和/或源服務(wù)器。
      根據(jù)本發(fā)明的實(shí)施例和參照圖2,3(a),3(b)和3(c),描繪了被管對象的復(fù)制和傳送方法以及對象清除的方法。圖2描繪了涉及如圖1所示的網(wǎng)絡(luò)100的一部分,一個(gè)源服務(wù)器110以及一個(gè)客戶140的本方法的實(shí)施例。圖3(a),3(b)和3(c)以流程圖形式描繪了本方法的實(shí)施例。
      最初,被管對象復(fù)制和傳送的方法將請求一個(gè)或多個(gè)對象的客戶定向(在200,300)到網(wǎng)絡(luò)的邊緣服務(wù)器,無論該邊緣服務(wù)器是否有所請求的對象。優(yōu)選地,客戶被定向到一個(gè)最優(yōu)的邊緣服務(wù)器,例如,基于網(wǎng)絡(luò)通信情況和服務(wù)器負(fù)載。對于本領(lǐng)域的技術(shù)人員將明確,任何數(shù)量的目前已知的或未來開發(fā)的機(jī)制都可用于選擇最佳或最優(yōu)的邊緣服務(wù)器。確定最佳或最優(yōu)的邊緣服務(wù)器優(yōu)選地包括,根據(jù)任何數(shù)量的現(xiàn)在已知的或未來開發(fā)的算法選擇最適合的為客戶發(fā)送一個(gè)或多個(gè)對象的邊緣服務(wù)器。例如,最佳或最優(yōu)的邊緣服務(wù)器的確定可基于所請求的對象的拷貝在備選邊緣服務(wù)器上可用的可能性,基于備選邊緣服務(wù)器和該客戶之間的帶寬,基于最佳的中繼選擇器(例如,如美國專利No.6,185,598所述)和/或任何數(shù)量的其他標(biāo)準(zhǔn)來執(zhí)行。
      所選最佳或最優(yōu)的邊緣服務(wù)器130確定(在305)該邊緣服務(wù)器是否已有所請求的對象,如果有,提供(在205,310)該對象給請求的客戶140。例如,所選邊緣服務(wù)器130將檢查其存儲器以確定所請求對象是否可用,如果可用,可提供該對象給請求的客戶140。
      如果所選邊緣服務(wù)器沒有所請求的對象,開始對該邊緣服務(wù)器檢查以確定所請求對象是否流行,如果流行,復(fù)制該流行的被請求對象到邊緣服務(wù)器。在實(shí)施例中,使用圖3(b)所描繪和以下詳細(xì)討論的方法以確定所請求對象是否流行,和如果流行,就復(fù)制該流行的所請求對象到該邊緣服務(wù)器。
      在實(shí)施例中,檢查所請求對象是否流行和復(fù)制該流行的所請求對象到邊緣服務(wù)器可以獨(dú)立于被管對象的復(fù)制和傳送的方法的一項(xiàng)或多項(xiàng)功能而執(zhí)行,例如檢查服務(wù)器是否有所請求對象以及如果服務(wù)器有所請求對象,為客戶提供該對象,或者重定向客戶到有所請求對象的服務(wù)器(并為客戶提供所請求對象)。因此,在實(shí)施例中,檢查所請求對象是否流行和復(fù)制流行的對象到邊緣服務(wù)器可與被管對象的復(fù)制和傳送的方法的某些功能的執(zhí)行同時(shí)進(jìn)行或在此之前執(zhí)行,例如檢查服務(wù)器是否有所請求對象以及如果服務(wù)器有所請求對象,為客戶提供該對象,或者重定向客戶到有該對象的服務(wù)器(并為客戶提供所請求對象)。有利的是,當(dāng)檢查,重定向和提供所請求對象失敗時(shí),檢查所請求對象是否流行和復(fù)制該流行對象到邊緣服務(wù)器能管理對象從邊緣服務(wù)器到客戶的連續(xù)發(fā)送。同樣,如果檢查所請求對象是否流行和復(fù)制該流行的對象到邊緣服務(wù)器失敗,檢查,重定向和提供所請求對象能管理對象從網(wǎng)絡(luò)服務(wù)器的連續(xù)發(fā)送。
      而且,如果所選邊緣服務(wù)器沒有所請求的對象,該邊緣服務(wù)器將請求客戶140定向(在210,320)到一個(gè)父服務(wù)器120。優(yōu)選地,客戶140被重定向到有所請求對象并能為客戶提供(在215,345)該對象的父服務(wù)器。如果父服務(wù)器沒有(在325)所請求對象,開始檢查(在330)父服務(wù)器以確定所請求對象是否流行,如果流行,復(fù)制該流行的被請求對象到父服務(wù)器。在實(shí)施例中,如圖3(b)所描繪和以下更詳細(xì)討論的方法用于確定所請求對象是否流行,如果流行,復(fù)制該流行的被請求對象到該父服務(wù)器。在實(shí)施例中,關(guān)于檢查邊緣服務(wù)器,檢查所請求對象是否流行和復(fù)制該流行的所請求對象到父服務(wù)器是獨(dú)立于被管對象的復(fù)制和傳送方法的一項(xiàng)或多項(xiàng)功能而執(zhí)行,例如,檢查服務(wù)器是否有所請求對象以及如果服務(wù)器有所請求對象,為客戶提供該對象,或重定向客戶到有所請求對象的服務(wù)器(并為客戶提供所請求對象)。因此,在實(shí)施例中,檢查所請求對象是否流行和復(fù)制該流行的所請求對象到父服務(wù)器可以與被管對象的復(fù)制和傳送的一項(xiàng)或多項(xiàng)功能同時(shí)執(zhí)行,或在此之前執(zhí)行,例如檢查服務(wù)器是否有所請求對象和如果服務(wù)器有所請求對象,為客戶提供所請求對象,或重定向客戶到有所請求對象的服務(wù)器(并為客戶提供所請求對象)。
      而且,如果父服務(wù)器沒有所請求對象,該父服務(wù)器自己迭代使用重定向技術(shù)(在325,335,320),直到到達(dá)一個(gè)有所請求對象的最終的父服務(wù)器。有所請求對象的父服務(wù)器為客戶提供(在215,345)該對象。如果該對象被確定為不可用(在335)(從所有父服務(wù)器),返回一個(gè)關(guān)于所請求對象不可用的錯(cuò)誤消息(在340)。
      對于本領(lǐng)域的技術(shù)人員將明確,有許多將請求客戶重定向到另一個(gè)父服務(wù)器的方法可以使用,依賴于請求對象所使用的協(xié)議。處理邊緣服務(wù)器可以從數(shù)據(jù)庫請求關(guān)于客戶應(yīng)被重定向到哪個(gè)父服務(wù)器的信息。在執(zhí)行中,邊緣服務(wù)器可有一個(gè)本地?cái)?shù)據(jù)庫,通過從網(wǎng)絡(luò)的一個(gè)或多個(gè)服務(wù)器推入重定向數(shù)據(jù)填充。邊緣服務(wù)器也可以僅僅查詢網(wǎng)絡(luò)的一個(gè)或多個(gè)服務(wù)器以確定客戶可以被定向到的一個(gè)或多個(gè)父服務(wù)器。當(dāng)多個(gè)父服務(wù)器響應(yīng)時(shí),邊緣服務(wù)器可以將客戶重定向到最先響應(yīng)查詢的父服務(wù)器,邊緣服務(wù)器可以將客戶重定向到網(wǎng)絡(luò)拓?fù)渚嚯x該邊緣服務(wù)器最近的父服務(wù)器,或者,基于諸如網(wǎng)絡(luò)效率,帶寬要求和/或成本的標(biāo)準(zhǔn),邊緣服務(wù)器可以將客戶重定向到代表最佳或最優(yōu)的備選父服務(wù)器?;蛘撸吘壏?wù)器通常定向到缺省父服務(wù)器?;蛘撸珀P(guān)于邊緣服務(wù)器的討論,可以使用上述任何一種技術(shù)確定最佳或最優(yōu)的服務(wù)器。重定向可以通過僅僅發(fā)送請求到父服務(wù)器或返回訪問父服務(wù)器的重定向信息到客戶來執(zhí)行。對本領(lǐng)域的技術(shù)人員將明確,任何數(shù)量的實(shí)施可用于為處理邊緣服務(wù)器提供重定向信息。
      在其他實(shí)施例中,其中父服務(wù)器共同地并未寫入所有對象,而且網(wǎng)絡(luò)可訪問所請求對象的源服務(wù)器,如果所請求對象在父服務(wù)器上不可用,客戶可以被重定向(在225,320)到源服務(wù)器。如果源服務(wù)器有所請求對象(在325),源服務(wù)器將直接為客戶提供(在230,345)該對象(圖1未示出)。否則,如果該對象不可用(在335),返回(在340)一個(gè)關(guān)于所請求對象不可用的錯(cuò)誤消息。
      參照圖3(b),當(dāng)邊緣服務(wù)器和/或父服務(wù)器確定(在350)所請求對象流行(通過某種流行度方法),但該邊緣服務(wù)器和/或父服務(wù)器沒有該對象的拷貝,該邊緣服務(wù)器和/或父服務(wù)器開始拉出該對象到該邊緣服務(wù)器和/或父服務(wù)器。因此,例如,當(dāng)邊緣服務(wù)器確定(在350)所請求對象流行,但是該邊緣服務(wù)器沒有所請求對象的拷貝,邊緣服務(wù)器開始從有所請求對象的父服務(wù)器上復(fù)制(在220,360)該流行的被請求對象到該邊緣服務(wù)器。同樣,例如,當(dāng)父服務(wù)器120確定(在350)一個(gè)請求對象流行,但是該父服務(wù)器上沒有所請求對象的拷貝,父服務(wù)器開始從有所請求對象的源服務(wù)器上復(fù)制(在240,360)該流行的被請求對象到該父服務(wù)器?;蛘撸阜?wù)器和源服務(wù)器可以從一個(gè)或多個(gè)邊緣服務(wù)器或父服務(wù)器接收關(guān)于諸如對象流行度確定或關(guān)于對象流行度數(shù)據(jù)的對象流行度信息,并可推出流行對象到該邊緣服務(wù)器和/或父服務(wù)器。因此,例如,當(dāng)父服務(wù)器確定(在350)所請求對象在邊緣服務(wù)器上流行,但該邊緣服務(wù)器沒有該對象的拷貝,父服務(wù)器可開始從該父服務(wù)器復(fù)制(在220,360)該流行的所請求對象到邊緣服務(wù)器。同樣,例如,當(dāng)源服務(wù)器確定(在350)該流行的被請求對象在父服務(wù)器上流行,但該父服務(wù)器沒有該對象的拷貝,源服務(wù)器開始從該源服務(wù)器復(fù)制(在240,360)該流行的被請求對象到該父服務(wù)器。
      在某些實(shí)施例中,如果所有父服務(wù)器都沒有所請求對象,邊緣服務(wù)器開始從有所請求對象的源服務(wù)器(如果網(wǎng)絡(luò)可訪問該源服務(wù)器)復(fù)制(在235,360)該流行的所請求對象到該邊緣服務(wù)器。優(yōu)選地,在每種情況下,被復(fù)制的對象都沒有被提供或進(jìn)一步被復(fù)制直到該對象被完全復(fù)制到各自的服務(wù)器。選擇地,這種復(fù)制可以被父服務(wù)器并在父服務(wù)器自身之間利用,以利于減少來去源服務(wù)器的流量。進(jìn)一步,如果邊緣服務(wù)器和/或父服務(wù)器沒有足夠的空間存儲該流行的所請求對象,可從邊緣服務(wù)器和/或父服務(wù)器上刪除一個(gè)或多個(gè)對象從而為該流行對象釋放空間。在實(shí)施例中,如圖3(c)所描繪和以下詳述的方法可用于確定任何在邊緣服務(wù)器和/或父服務(wù)器上的對象是否不再流行,如果是,從邊緣服務(wù)器和/或父服務(wù)器上刪除該對象。而且,對于本領(lǐng)域的技術(shù)人員將明確,除了邊緣服務(wù)器和/或父服務(wù)器以外的用于確定對象是否流行的服務(wù)器通過使用例如,由處理邊緣服務(wù)器和/或父服務(wù)器提供的流行度信息來執(zhí)行實(shí)際的關(guān)于一個(gè)對象是否流行的確定。而后,流行度確定可用于開始復(fù)制(例如,推或拉)對象到要求確定該對象是否流行的邊緣服務(wù)器和/或父服務(wù)器。
      參照圖3(c),如果服務(wù)器的存儲器中的對象不再流行(在365),該服務(wù)器將其從存儲器中刪除(在370)。例如,邊緣服務(wù)器可以從其存儲器中刪除(在245,370)任何不再流行的對象。同樣,父服務(wù)器可以從其存儲器中刪除(在250,370)任何不再流行的對象。對于本領(lǐng)域的技術(shù)人員將明確,確定服務(wù)器的存儲器中任何對象是否不再流行以及,如果是,從該服務(wù)器的存儲器中刪除該不再流行對象可以獨(dú)立于被管對象的復(fù)制和傳送的方法的一項(xiàng)或多項(xiàng)功能而執(zhí)行,例如,與其并行或在此之前執(zhí)行。在實(shí)施例中,該不再流行對象被從邊緣服務(wù)器上刪除,而且如果該對象位于源服務(wù)器,將其從父服務(wù)器上刪除。
      流行度確定任何數(shù)量的技術(shù)可用于確定對象的流行度。流行度確定可基于請求的數(shù)量。流行度也可基于請求率。流行對象典型地比非流行對象有更高的請求率和更多數(shù)量的請求。流行度也可以通過跟蹤對于一個(gè)對象的最后X次請求的次數(shù)確定,然后用目前次數(shù)和這些請求次數(shù)的差值計(jì)算該對象被請求的頻度的變化的平均值。流行度確定也可以基于對象的請求率來測定,該請求率可能由于最近對于該對象較多的請求而權(quán)重(這是該對象將會被再次請求的預(yù)測器)。一個(gè)指數(shù)衰減的方法和人工神經(jīng)網(wǎng)絡(luò)也可用于確定對象的流行度。
      根據(jù)流行度計(jì)算的某些實(shí)施例和參照圖4,對象的流行度基于該對象的請求率和以離散的方式在滑動時(shí)間窗口上計(jì)算。在這些實(shí)施例中,變量I表示測量對象的流行度的時(shí)間間隔。該時(shí)間間隔被分為N個(gè)相等的持續(xù)時(shí)間為I/N的子間隔。將要明確的是,該時(shí)間間隔不必等分而且可以用其他方式分割。
      為每一個(gè)對象創(chuàng)建大小為N的鏈接列表P。N的值決定了近似度。N的值越小,近似程度越粗略。在某些實(shí)施例中,N的值被設(shè)為5。
      列表的第一個(gè)元素P[1]記錄了當(dāng)前時(shí)間在第一個(gè)子間隔內(nèi)時(shí)所到達(dá)的請求數(shù),第二個(gè)元素P[2]記錄了當(dāng)前時(shí)間在第二個(gè)子間隔內(nèi)時(shí)所到達(dá)的請求數(shù),依此類推。當(dāng)一個(gè)新的子間隔到達(dá)時(shí),列表如此循環(huán)除P[N]變成P[1]外,P[I]變成P[I+1],因此,例如,P[1]變成P[2],P[2]變成P[3],P[N]變成P[1]。循環(huán)之后,新的P[1]被重置為0。因此,僅僅需要記錄第一個(gè)子間隔的結(jié)束時(shí)間,并與當(dāng)前時(shí)間比較以檢查該列表是否需要循環(huán)。對于子間隔內(nèi)的每一個(gè)新請求,P[I]僅增加1。以這種方式,無需記錄每一個(gè)請求的到達(dá)時(shí)間。
      在優(yōu)選實(shí)施例中,對象的流行度僅僅是該列表中的所有數(shù)字的和。為了使計(jì)算更有效,P[2]+P[3]+…+P[N]的和被存儲在寄存器M中。于是,可通過將P[1]加到M中來計(jì)算流行度。當(dāng)循環(huán)開始時(shí),M的新值變成M+=P[1]-P[N]。對象的流行度可能經(jīng)常被查詢。因此,為了避免每次此類查詢涉及到額外的加法,可在循環(huán)之后將P[1]的值置入M。因此,P[1]的值就是該對象的流行度。
      流行度計(jì)算算法可總結(jié)如下。初始化對象的大小為N的鏈接列表P(在400),其中每一個(gè)P[1]…P[N]代表一個(gè)時(shí)間間隔。初始化流行度M(在410)。如果當(dāng)前時(shí)間在當(dāng)前時(shí)間子間隔內(nèi)時(shí)有一個(gè)對該對象的請求(在420),那么P[1]的值加1(在430)。如果當(dāng)前時(shí)間在一個(gè)新的時(shí)間子間隔內(nèi)(在440),那么P[1]的值減少M(fèi),M+=P[1]-P[N],列表P循環(huán),P[1]被設(shè)置為M的值(在450)。而后,如果繼續(xù)計(jì)算流行度(在460),例如,流行度計(jì)算未被終止,則流行度計(jì)算算法循環(huán)。
      初始化復(fù)制此外,任何數(shù)量的技術(shù)可用于初始化對象的復(fù)制。邊緣服務(wù)器和/或父服務(wù)器可響應(yīng)客戶對于對象的初次請求而復(fù)制該對象?;蛘撸撨吘壏?wù)器和/或父服務(wù)器可被調(diào)整為等待直到該邊緣服務(wù)器和/或父服務(wù)器收到一個(gè)確定數(shù)量或范圍的對于該對象的請求。在其他實(shí)施中,如果該對象比目前存儲器中最不流行的對象更為流行(例如,更高的請求率),該對象可被拉出。而在另一個(gè)可選執(zhí)行中,復(fù)制決定可能是對象的流行度,存儲該對象的成本,從網(wǎng)絡(luò)拉出該對象的成本和任何其他相關(guān)成本因子的函數(shù)。但是,對象的流行度會隨時(shí)間顯著改變。僅僅基于固定的門限值初始化對象的拉出決定沒有把握流行度的動態(tài)特性。
      比較被復(fù)制對象的最低流行度的復(fù)制策略有其局限性,雖然該策略并未使用一個(gè)固定的門限值??紤]內(nèi)存僅僅半滿,但是所有被復(fù)制對象都是極其流行的情況。因?yàn)樵谶@種復(fù)制策略下,只有超過被復(fù)制對象的最低流行度的對象會被復(fù)制,有中等流行度的對象將會被丟棄,盡管還有很多可用存儲空間而且該對象相當(dāng)流行。
      因此,一個(gè)復(fù)制方案應(yīng)能通過考慮流行度的動態(tài)特性和存儲器的填充程度而自動調(diào)節(jié)復(fù)制門限值。如果存在超過存儲容量許可的流行對象,復(fù)制方案應(yīng)提高門限值。如果有更多的可用存儲容量,復(fù)制方案應(yīng)降低門限值以使更多的對象可被存儲。
      根據(jù)復(fù)制方案的實(shí)施例和參照圖5,當(dāng)對象的流行度P大于(在500)初始門限值PI和存儲器中有足夠的空間(在510)復(fù)制對象時(shí),該對象將被復(fù)制(在520)到存儲器。如果沒有足夠的存儲空間復(fù)制所請求對象,執(zhí)行一個(gè)替代算法,該算法將該對象的流行度P與存儲器中最不流行的對象的流行度PL比較(在530)。如果P大于PL,當(dāng)前最不流行的對象將被從存儲器中刪除以釋放更多存儲空間,確定下一個(gè)最不流行的對象(在540),更新(在550)最低流行度的值,通過檢查是否有足夠存儲空間存儲所請求對象(在510)從而開始新一輪的迭代。存儲空間釋放迭代終止當(dāng)1)已釋放足夠空間來容納所請求對象或2)所請求對象不如存儲器中最不流行的對象流行。當(dāng)所有源服務(wù)器都沒有最不流行對象的拷貝時(shí),不將該對象從父服務(wù)器刪除從而在網(wǎng)絡(luò)中保留該最不流行的對象的一個(gè)拷貝。
      刪除在某些實(shí)施例中,被管對象復(fù)制和傳送方法和系統(tǒng)記錄對象的最后被請求時(shí)間。調(diào)用刪除方案以清理服務(wù)器的存儲空間,例如,基于一個(gè)固定的時(shí)間間隔或當(dāng)一個(gè)流行對象被復(fù)制到邊緣服務(wù)器和/或父服務(wù)器但在該邊緣服務(wù)器和/或父服務(wù)器上沒有足夠的空間。參照圖6,在刪除方案中,所有過期的對象被從存儲器中刪除(在600),剩下的對象被根據(jù)流行度分類(在610),PL和PI的新值被確定(在620,630)。如果對象的生命期(從它最后一次被請求的時(shí)間起)超過預(yù)定義的值,則該對象過期,該預(yù)定義的值典型地被設(shè)置為用于測量流行度的滑動窗口的持續(xù)時(shí)間乘以一個(gè)可調(diào)因子。對于本領(lǐng)域的技術(shù)人員將明確,該值將會變化并且確實(shí)可以使用其他過期算法。刪除后的存儲器中的最不流行對象的流行度被指定為新的PL。通過使用分類的流行度確定新的PI并將其設(shè)置為如果較流行的對象被首先復(fù)制,最后一個(gè)能裝入存儲器的對象的流行度。典型地,PL應(yīng)大于或等于PI。如果不是,則PL的值將被指定為新的PI。在某些實(shí)施例中,刪除過程被作為多線程系統(tǒng)中的單獨(dú)的線程來執(zhí)行。在實(shí)施例中,過期的對象被從邊緣服務(wù)器刪除,并且,如果源服務(wù)器上有該過期對象的拷貝,該對象將被從父服務(wù)器刪除。當(dāng)所有源服務(wù)器都沒有過期對象的拷貝時(shí),不將該對象從父服務(wù)器刪除從而在網(wǎng)絡(luò)中保留該過期對象的一個(gè)拷貝。
      開始,當(dāng)系統(tǒng)啟動并且還沒有可用的流行度數(shù)據(jù)時(shí),PL和PI的初始值都可設(shè)置為0。這樣就強(qiáng)制復(fù)制方案在對象被初次請求時(shí)存儲對象,但是定期運(yùn)行的刪除方案將自動調(diào)整PL和PI的值。PL和PI的初始值也可設(shè)置為其他值。確實(shí),可通過考慮存儲成本,讀取成本和從不同的服務(wù)器發(fā)送的成本差異來確定PL和PI的初始值。在任何情況下,系統(tǒng)允許最小的PL和PI說明。如果所計(jì)算的PL或PI小于最小說明,則PL或PI被設(shè)置為最小說明。
      在某些實(shí)施例中,為了避免或最小化流縮小和其他質(zhì)量問題,存儲填充和數(shù)據(jù)發(fā)送是分離的。這樣,在多個(gè)存儲集合之間的數(shù)據(jù)傳輸能夠容忍較慢的連接,除非對象完全在存儲器中,否則服務(wù)器不再流式發(fā)送該對象。對于本領(lǐng)域的技術(shù)人員將明確,當(dāng)存儲器中有足夠的數(shù)據(jù)時(shí),可以開始流式發(fā)送對象,而且在提供對象前不必完成該對象的復(fù)制。進(jìn)一步,存儲填充可通過拷貝到一個(gè)單獨(dú)的位置而分階段進(jìn)行,而后,當(dāng)數(shù)據(jù)完成時(shí),將被拷貝的數(shù)據(jù)轉(zhuǎn)移到一個(gè)可服務(wù)的位置。
      而且,如果對象在源服務(wù)器上被改變,則需要廣播消息以刪除在而且,如果對象在源服務(wù)器上被改變,則需要廣播消息以刪除在一個(gè)或多個(gè)父服務(wù)器和/或一個(gè)或多個(gè)邊緣服務(wù)器上的該對象。同樣,如果對象在父服務(wù)器上被改變,則需要廣播消息以刪除在一個(gè)或多個(gè)邊緣服務(wù)器上的對象。在每一種情況中,未來對已刪除對象的請求將會與所請求對象在邊緣服務(wù)器和/或父服務(wù)器上不可用的正常情況同樣處理。
      軟硬件在本發(fā)明的實(shí)施例中,參照圖1和圖7,被管對象的復(fù)制和傳送系統(tǒng)包括網(wǎng)絡(luò)中一個(gè)或多個(gè)被指定為父服務(wù)器的服務(wù)器和網(wǎng)絡(luò)中一個(gè)或多個(gè)被指定為邊緣服務(wù)器的服務(wù)器。在某些實(shí)施例中,參照圖1,父服務(wù)器120有較大存儲容量(5太字節(jié)(TB)的數(shù)量級)而邊緣服務(wù)器有較小的存儲空間(從1TB到500GB)。用于執(zhí)行被管對象的復(fù)制和傳送的方法的一個(gè)或多個(gè)重定向器被安裝在每一個(gè)邊緣服務(wù)器集群。在某些實(shí)施例中,將一個(gè)或多個(gè)對象從源服務(wù)器復(fù)制到一個(gè)或多個(gè)父服務(wù)器,而后在需要時(shí)將其從父服務(wù)器拉到邊緣服務(wù)器。在其他實(shí)施例中,在需要時(shí),將一個(gè)或多個(gè)對象從源服務(wù)器復(fù)制到一個(gè)或多個(gè)邊緣服務(wù)器和/或一個(gè)或多個(gè)父服務(wù)器。
      在某些實(shí)施例中,實(shí)施數(shù)據(jù)傳輸方法700,710以在父服務(wù)器和邊緣服務(wù)器之間傳輸數(shù)據(jù)。數(shù)據(jù)傳輸方法支持傳輸層安全(TLS)協(xié)議(在互聯(lián)網(wǎng)工程任務(wù)組(IETF)RFC2246中描述,位于“http//www.ietf.org/rfc/rfc2246.txt”,在此引入作為參考)以保證通信隱私。而且,被管對象的復(fù)制和傳送的方法的實(shí)施支持三種流行的對象格式,即蘋果計(jì)算機(jī)公司的QuicktimeTM,RealNetworks公司的RealTM,以及微軟公司的WindowMediaTM格式,用以流式發(fā)送所請求對象。對于本領(lǐng)域的技術(shù)人員將明確,可使用任何數(shù)量的其他協(xié)議和對象格式。
      而且,在某些實(shí)施例中,使用許多軟件組件以方便被管對象的復(fù)制和傳送的方法。第一個(gè)組件是WindowsMedia重定向器720,760是一個(gè)運(yùn)行在微軟Windows NT操作系統(tǒng)的服務(wù),處理來自WindowsMedia播放器的請求和執(zhí)行對于WindowsMedia對象的請求的重定向。WindowsMedia重定向器在邊緣服務(wù)器和父服務(wù)器上提供。目前,微軟媒體服務(wù)器(MMS)協(xié)議被用于流式發(fā)送WindowsMedia對象并且該協(xié)議不支持重定向。為了提供WindowsMedia對象流的重定向,修改統(tǒng)一資源標(biāo)示符(URI)超鏈接,此連接位于顧客站點(diǎn)并用于這種流式發(fā)送WindowsMedia對象。在此所用的URI通常具有以下形式(具體定義在T.Berners-Lee等,統(tǒng)一資源標(biāo)示符(URI)IETF RFC 2396,1998年8月,位于“http//www.ietf.org/rfc/rfc2396.txt”,在此引入作為參考)scheme//host[post]/uri-path其中“scheme”可以是一個(gè)標(biāo)記,例如,對于網(wǎng)絡(luò)服務(wù)器上的對象標(biāo)記為“http”(見超文本傳輸協(xié)議-http/1.1,IETF RFC2616,位于“http//www.ietf.org/rfc/rfc2616.txt”,在此引入作為參考)或者對于流服務(wù)器上的對象標(biāo)記為“rtsp”(見實(shí)時(shí)流協(xié)議(RTSP),IETF RFC 2326,位于“http//www.ietf.org/rfc/rfc2326.txt”,在此引入作為參考)。也可應(yīng)用其他方案,將來還可添加新的方案。端口號“port”是可選的,如果未提供,系統(tǒng)采用缺省的端口號(根據(jù)方案)代替。“host”域映射到特定計(jì)算機(jī)的特定網(wǎng)絡(luò)地址。“uri-path”與在“host”域中具體的計(jì)算機(jī)相關(guān)。一個(gè)uri路徑典型地,但不一定,是媒體服務(wù)器目錄中的文件的路徑名。在一個(gè)優(yōu)選實(shí)施例中,HTTP協(xié)議用于實(shí)現(xiàn)WindowsMedia對象的重定向。因此,WindowsMedia對象的URI的“scheme”域由“mms”改為“http”。例如,示例對象“sample.asf”的URI在WindowsMedia的高級流格式(ASF)中將有一個(gè)新的格式為“http//host/path/sample.asf”的URI。對于使用WindowsMedia腳本的對象,“meta.asx”對象的示例URI 將具有“http//host/?www.customer.com/path/meta.asx”的形式,其中“customer”是“meta.asx”的內(nèi)容提供者的名稱。所有包含在“meta.asx”對象內(nèi)的URI保持不變。當(dāng)接收到請求“http//host/path/sample.asf”,WindowsMedia重定向器將以以下的示例ASX腳本響應(yīng)請求&lt;ASX version=“3.0”&gt;
      &lt;Entry&gt;&lt;Refhref=“mms//servername/path/sample.asf”/&gt;&lt;/Entry&gt;
      &lt;/ASX&gt;
      在消息體中,如果所請求對象在本地或另一個(gè)服務(wù)器(父服務(wù)器或源服務(wù)器)上可用。在本例中,“servername”是或解析為給該請求客戶提供所請求對象的媒體服務(wù)器的網(wǎng)際協(xié)議(IP)地址。如果找不到所請求對象,WindowsMedia重定向器將以以下示例ASX腳本響應(yīng)請求&lt;ASX version=“3.0”&gt;
      &lt;Entry&gt;&lt;Refhref=“http//redirname/path/sample.asf”/&gt;&lt;/Entry&gt;
      &lt;/ASX&gt;
      在消息體中,其中“redirname”是或解析為父服務(wù)器重定向器的IP地址以觸發(fā)另一輪的重定向。當(dāng)所有父服務(wù)器(和源服務(wù)器,如果可用)都沒有所請求對象時(shí),到達(dá)最后一輪重定向。在這種情況下,終止重定向過程,發(fā)送一個(gè)錯(cuò)誤消息“not found”到該請求客戶。以同樣方式處理對ASX對象的請求。當(dāng)接收到對示例對象“meta.asx”的請求時(shí),WindowsMedia重定向器檢查“meta.asx”內(nèi)的每一個(gè)URI所指對象的可用性并改寫每一個(gè)對象相應(yīng)的URI。隨后,WindowsMedia重定向器發(fā)送對該請求的響應(yīng),該響應(yīng)的消息體中有改寫了的“meta.asx”。URI的改寫如下。如果發(fā)現(xiàn)一個(gè)被請求對象,例如“file.asf”,在本地或另一個(gè)服務(wù)器上可用,相應(yīng)的URI將改寫為“mms//servername/path/file.asf”,其中,“servername”是或解析為給請求客戶提供所請求對象的媒體服務(wù)器的IP地址。如果找不到“file.asf”,相應(yīng)的URI被改寫為“http//redirectorname/path/file.asf”,其中“redirname”是或解析為父服務(wù)器重定向器的IP地址。
      另一個(gè)組件是Real/QuickTime重定向器730,770是一個(gè)應(yīng)用,處理來自Real或QuickTime播放器的對于一個(gè)或多個(gè)對象的實(shí)時(shí)流協(xié)議(RSTP)請求并執(zhí)行Real和QuickTime對象的重定向方法。Real/QuickTime重定向器由邊緣服務(wù)器和父服務(wù)器提供。在IETFRFC2326中詳述的RSTP用于流式發(fā)送Real和QuickTime對象,以及支持的重定向方法,因?yàn)樵搮f(xié)議可被用于實(shí)現(xiàn)重定向。重定向請求通知客戶必須重新連接到另一個(gè)服務(wù)器地址并在重定向請求中給客戶提供新的服務(wù)器的URI。
      一種最佳或最優(yōu)的服務(wù)器選擇機(jī)制也被提供(圖7未示出)。該最佳或最優(yōu)的服務(wù)器選擇機(jī)制包括,根據(jù)任何數(shù)量的目前已知或未來開發(fā)的算法,選擇最適合的為客戶提供一個(gè)或多個(gè)對象的邊緣服務(wù)器。除了重定向到最佳或最優(yōu)的邊緣服務(wù)器以處理客戶對于對象的請求之外,該最佳或最優(yōu)的服務(wù)器機(jī)制也可用于,當(dāng)所請求對象在處理邊緣服務(wù)器上不可用時(shí),觸發(fā)一個(gè)或多個(gè)進(jìn)一步的重定向到一個(gè)或多個(gè)父服務(wù)器。在實(shí)施中,為了實(shí)現(xiàn)這個(gè)操作,修改用于所請求對象的URI的主機(jī)名部分。例如,在鏈接“http//customer-wm.fpondemand.net/customer/sample.asf”中,“customer-wm.fpondemand.net”被改為“parent-wm.fpondemand.net”,強(qiáng)制該請求通過更進(jìn)一輪的最佳或最優(yōu)的服務(wù)器選擇而不是僅僅通過父服務(wù)器。在這種實(shí)施例中,為了實(shí)現(xiàn)最佳或最優(yōu)的服務(wù)器選擇,父服務(wù)器-邊緣服務(wù)器拓?fù)浔淮_定,而且最佳或最優(yōu)的服務(wù)器選擇機(jī)制提供了確定這個(gè)拓?fù)潢P(guān)系的父服務(wù)器表。在某些實(shí)施例中,最佳或最優(yōu)的服務(wù)器選擇機(jī)制與美國專利No.6,185,598所述的最佳的中繼選擇器類似。
      文件復(fù)制管理應(yīng)用740,750也被提供,其管理對象復(fù)制到存儲器和從存儲器刪除,從父服務(wù)器檢索對象以復(fù)制到邊緣服務(wù)器的存儲器中,并根據(jù)需要清理存儲器。文件復(fù)制管理器在邊緣服務(wù)器和父服務(wù)器上提供。在某些實(shí)施例中,文件復(fù)制管理器應(yīng)用使用數(shù)據(jù)傳輸方法,并與WindowsMedia和Real/QuickTime重定向器通信從而提供由那些重定向器請求的存儲器中可用的對象。
      在某些實(shí)施例中,WindowsMedia或Real/QuickTime重定向器和文件復(fù)制管理器之間以及文件復(fù)制管理器之間的通信消息使用用戶數(shù)據(jù)報(bào)協(xié)議(UDP)封裝。這就允許地址處理和發(fā)送由UDP處理,并且便于快速通信。由于UDP不能保證發(fā)送,所以消息頭部包含消息號用以確認(rèn)是對當(dāng)前而不是以前請求的響應(yīng)。此外,支持MD5(參見,例如,Rivest,R.,“MD5信息摘要算法”,IETF RFC 1321,1992年4月)以提供一個(gè)基本的安全級。通過運(yùn)行關(guān)于消息號,消息,和僅由被管對象復(fù)制和傳送系統(tǒng)組件共享的密碼的MD5哈希算法產(chǎn)生MD5哈希值。接收到消息時(shí),計(jì)算消息號,消息以及密碼的MD5哈希值,并將其與該消息中提供的MD5哈希值比較。如果這兩個(gè)哈希值不匹配,則該消息無效并被丟棄。
      對于本領(lǐng)域的技術(shù)人員將明確,圖7僅僅表示根據(jù)本發(fā)明的系統(tǒng)的某些實(shí)施例。根據(jù)本發(fā)明的描述的用于實(shí)施本系統(tǒng)的許多變化是可能的,并且都在本發(fā)明的范圍內(nèi)。
      分塊上述方法和系統(tǒng)的一個(gè)擴(kuò)展是提供分塊。日志數(shù)據(jù)的研究表明,即使對于流行的對象,在該對象被完全提供之前,存在相當(dāng)比例的對于該對象的請求。為了開發(fā)這類對象的用途和進(jìn)一步提高網(wǎng)絡(luò)性能,在復(fù)制方案中,可將對象分割成塊,對象的初始塊可以得到優(yōu)先處理。例如,當(dāng)做出復(fù)制許可決定時(shí),只有對象的初始塊被復(fù)制,而且,只有如果在一定數(shù)量(如90%)的對象的初始塊被提供之前客戶不存在,則剩余的該對象的塊被拉入存儲器。即使該對象不再流行,對象的初始塊也可保留在存儲器中。以這種方式分割流,即使多數(shù)對象流必須從父服務(wù)器或源服務(wù)器讀取,也可以迅速地從邊緣服務(wù)器提供對象的第一部分。
      對象的保留和過期可選地,一些或全部對象可以被永久保留在邊緣服務(wù)器的存儲器中或根據(jù)限額保留。同樣,提供可配置的或可自動調(diào)節(jié)的用于存儲填充和刪除的門限值。
      同樣,一個(gè)邊緣服務(wù)器可以被配置以確定所請求對象在服務(wù)器的存儲器中是否新鮮,并且只有在該對象未過期時(shí)提供所請求對象。在某些實(shí)施例中,列有最大存儲生命期和存儲限額的文件被保留以便于確定被請求對象是否新鮮。如果接收到對于過期對象的請求,初始化重定向到相關(guān)的邊緣服務(wù)器或源服務(wù)器以提供所請求對象,并且如果所請求對象是流行的,則執(zhí)行存儲刷新。
      對等對象的邊緣服務(wù)器的存儲填充也可由其他對等邊緣服務(wù)器提供而不是由相關(guān)的父服務(wù)器或源服務(wù)器提供。如果一個(gè)流行對象已經(jīng)被復(fù)制到邊緣服務(wù)器,對于該對象的填充一個(gè)新的邊緣服務(wù)器的請求,從一個(gè)對等邊緣服務(wù)器填充比從父服務(wù)器或源服務(wù)器更有效。典型地邊緣服務(wù)器多于父服務(wù)器和源服務(wù)器,因此存在漸增的可能,就網(wǎng)絡(luò)距離而言,對等邊緣服務(wù)器比相關(guān)的父服務(wù)器或源服務(wù)器近。而且,這種對等邊緣服務(wù)器存儲填充可以減輕父服務(wù)器或源服務(wù)器的負(fù)擔(dān)。
      關(guān)于在計(jì)算機(jī)或計(jì)算機(jī)網(wǎng)絡(luò)上執(zhí)行的程序步驟的詳細(xì)描述已經(jīng)提出。這些程序的描述和表示是本領(lǐng)域的技術(shù)人員為了最有效地傳遞他們的工作主旨給其他本領(lǐng)域的技術(shù)人員所使用的方法。對于本領(lǐng)域的技術(shù)人員明確的是,本發(fā)明的實(shí)施例可能以硬件和軟件或它們的任意組合實(shí)現(xiàn)。用來實(shí)現(xiàn)本發(fā)明的實(shí)際的軟件代碼或硬件不是本發(fā)明的限制。因此,通常不具體引用實(shí)際的軟件代碼或硬件組件來描述本實(shí)施例的操作和性能。缺乏這種具體的引用是可行的,因?yàn)榭汕宄乩斫馄胀ǖ募夹g(shù)人員僅需適當(dāng)努力而無需過度實(shí)驗(yàn)就能依此描述設(shè)計(jì)軟件和硬件來實(shí)現(xiàn)本發(fā)明的實(shí)施例。
      在此,程序通常被認(rèn)為是導(dǎo)出理想結(jié)果的自我一致的操作序列。這些操作包括物理量的物理操作。通常,但并不一定,這些物理量采用能夠被存儲,轉(zhuǎn)移,組合,比較及操作的電信號或磁信號的形式。有時(shí),主要因?yàn)槭橇?xí)慣用法,將這些信號稱之為位,值,元素,符號,字母,術(shù)語,數(shù)字,對象,屬性,或類似的,這種用法被證明是很方便的。但是,需注意的是,所有這些和類似的術(shù)語都是和適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián),且僅僅是應(yīng)用于這些物理量的方便的標(biāo)號。
      而且,所執(zhí)行的操作通常用術(shù)語引用,如添加或比較,這些術(shù)語通常和人工操作員執(zhí)行的智力操作相聯(lián)系。在此所述的本發(fā)明的任何操作中,多數(shù)情況下,人工操作員的這種能力不是必要的或理想的;該操作是機(jī)器操作。用于執(zhí)行本發(fā)明的操作的有用的機(jī)器包括通用數(shù)字計(jì)算機(jī),專用計(jì)算機(jī)或類似設(shè)備。
      本方法的每一個(gè)操作都可以在任何諸如大型計(jì)算機(jī),個(gè)人計(jì)算機(jī)或類似的普通計(jì)算機(jī)上執(zhí)行,并依據(jù)一個(gè)或多個(gè)程序模塊或?qū)ο螅蛞粋€(gè)或多個(gè)程序模塊或?qū)ο蟮囊徊糠?,這些程序模塊或?qū)ο笥扇我庖环N編程語言,如C++,Perl,JavaTM,F(xiàn)ortan等產(chǎn)生。而且,更進(jìn)一步,每一個(gè)操作,或文件,模塊,對象或類似的實(shí)現(xiàn)每一個(gè)操作,可以用專用硬件或?yàn)榇四康脑O(shè)計(jì)的電路模塊來執(zhí)行。例如,本發(fā)明可以作為載入非易失性存儲器的固件程序或作為從數(shù)據(jù)存儲媒介載出或載入的機(jī)器可讀代碼的軟件程序來實(shí)現(xiàn),這種機(jī)器可讀代碼是可由邏輯單元陣列如處理器或其他數(shù)字信號處理單元執(zhí)行的指令。這個(gè)處理所操作的任何數(shù)據(jù)或作為這個(gè)處理結(jié)果所產(chǎn)生的數(shù)據(jù)可以被存儲在任何在技術(shù)上常見的存儲器中。借助實(shí)例,這個(gè)數(shù)據(jù)可以被存儲在暫時(shí)存儲器中,如在給定計(jì)算機(jī)系統(tǒng)或子系統(tǒng)的RAM中。另外,或替代的,這個(gè)數(shù)據(jù)可以被存儲在長期存儲設(shè)備,例如,磁盤,可擦寫光盤,等。
      在此所繪圖中,其借助實(shí)例提供。在此所述的圖或操作在不偏離本發(fā)明的精神時(shí)可以有所變化。例如,在某些情況下,可以以不同順序執(zhí)行或增加,刪除或修改該操作。
      本發(fā)明的實(shí)施例可作為包含計(jì)算機(jī)可用媒介的制造項(xiàng)目來執(zhí)行,在此,該媒介具有用于執(zhí)行本發(fā)明的方法操作的計(jì)算機(jī)可讀程序代碼工具,機(jī)器可讀的程序存儲設(shè)備,明確表示用于執(zhí)行本發(fā)明的方法操作的機(jī)器可執(zhí)行指令程序,或計(jì)算機(jī)程序產(chǎn)品。這種制造項(xiàng)目,程序存儲設(shè)備或計(jì)算機(jī)程序產(chǎn)品包括,但不僅限于,CD-ROM,CD-R,CD-W,磁盤,磁帶,硬驅(qū),計(jì)算機(jī)系統(tǒng)存儲器(如,RAM,ROM),和/或電的,磁的,光的,生物的或其他類似的程序(包括,但不限于,載波調(diào)制,或相反的處理,以傳遞可由計(jì)算機(jī)讀取,解調(diào)/解碼和執(zhí)行的指令)的實(shí)施例。確實(shí),制造項(xiàng)目,程序存儲設(shè)備或計(jì)算機(jī)程序產(chǎn)品包括任意固體或流體傳輸媒介,無論磁的,生物的,光的,或類似媒介,該媒介用來根據(jù)本發(fā)明的任意或所有方法控制通用或?qū)S糜?jì)算機(jī)的操作,和/或根據(jù)本發(fā)明系統(tǒng)構(gòu)造其組件存儲或傳輸機(jī)器可讀信號。
      本發(fā)明的實(shí)施例也可在系統(tǒng)中實(shí)現(xiàn)。一個(gè)系統(tǒng)可包括具有處理器和存儲設(shè)備的計(jì)算機(jī)以及可選的,存儲設(shè)備,諸如顯示器的輸出設(shè)備,和/或諸如鍵盤或計(jì)算機(jī)鼠標(biāo)的輸入設(shè)備。而且,系統(tǒng)可包括互聯(lián)的計(jì)算機(jī)網(wǎng)絡(luò)。同等地,計(jì)算機(jī)可以是獨(dú)立形式(如,傳統(tǒng)的臺式個(gè)人計(jì)算機(jī))或集成到其他設(shè)備上(如蜂窩電話)。
      系統(tǒng)可以為執(zhí)行要求的目的而特別構(gòu)建,例如,本發(fā)明的方法或系統(tǒng)可包含一個(gè)或多個(gè)通用計(jì)算機(jī),計(jì)算機(jī)程序根據(jù)在此計(jì)算機(jī)存儲的描述來有選擇地激活或重新配置。該系統(tǒng)也可作為硬連接電路或作為制作到專用集成電路上的電路配置,被部分或全部實(shí)現(xiàn)。在此所述本發(fā)明不是固有的與特定的計(jì)算機(jī)系統(tǒng)或其他裝置相關(guān)。對于多種此類系統(tǒng)所要求的結(jié)構(gòu)將從給定的描述中出現(xiàn)。
      雖然本發(fā)明已關(guān)于某種實(shí)施例進(jìn)行描述,本領(lǐng)域的技術(shù)人員將理解,根據(jù)在此公開的一般原則的其他實(shí)施例,不偏離本發(fā)明的精神和范圍,對該公開實(shí)施例的修改,以及構(gòu)建,部件的安排,構(gòu)成,步驟,結(jié)構(gòu)和材料選擇的細(xì)節(jié)改動都可進(jìn)行。在所附權(quán)利要求書的范圍內(nèi),不偏離本發(fā)明的精神和范圍,可以進(jìn)行包括等效結(jié)構(gòu),行為,材料等方面的改動。因此,應(yīng)理解,由例子來說明的上述實(shí)施例不是作為本發(fā)明的一個(gè)限制以及,因此,本說明書和附圖被看作是說明而不是限制。這樣,本發(fā)明并不是限制為上述的實(shí)施例,而是符合在此以任何方式公開的原則和新的特征一致的最寬的領(lǐng)域。
      權(quán)利要求
      1.一種用于被管對象的復(fù)制和傳送的方法,包括將客戶對于對象的請求定向到網(wǎng)絡(luò)中的邊緣服務(wù)器;如果該邊緣服務(wù)器具有所請求的對象,則提供所請求的對象給該客戶;否則,將該客戶請求重定向到具有該請求的對象的服務(wù)器并提供所請求的對象給該客戶;如果所請求的對象流行,則復(fù)制該請求的對象到該邊緣服務(wù)器。
      2.如權(quán)利要求1所述的方法,其中將該客戶請求重定向到服務(wù)器包括,將該客戶請求重定向到網(wǎng)絡(luò)中的具有所請求對象的父服務(wù)器并從該父服務(wù)器提供所請求的對象給該客戶。
      3.如權(quán)利要求1所述的方法,其中將客戶請求重定向到服務(wù)器包括,將該客戶請求重定向到網(wǎng)絡(luò)中的不具有所請求對象的父服務(wù)器,循環(huán)地重定向該請求,直到到達(dá)網(wǎng)絡(luò)中的具有所請求對象的一個(gè)父服務(wù)器,并從該父服務(wù)器提供所請求的對象給該客戶。
      4.如權(quán)利要求1所述的方法,其中將該客戶請求重定向到服務(wù)器包括,如果所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則重定向該客戶請求到源服務(wù)器,并從該源服務(wù)器提供所請求的對象給該客戶。
      5.如權(quán)利要求1所述的方法,其中將客戶對于對象的請求定向到邊緣服務(wù)器包括,將客戶對于對象的請求定向到一個(gè)最佳或最優(yōu)的邊緣服務(wù)器。
      6.如權(quán)利要求5所述的方法,其中最佳或最優(yōu)的邊緣服務(wù)器包括,使用至少一個(gè)判決選擇的邊緣服務(wù)器,該判決基于最佳中繼選擇器,所請求對象的拷貝在邊緣服務(wù)器上可用的可能性,以及邊緣服務(wù)器和客戶之間的帶寬。
      7.如權(quán)利要求1所述的方法,其中復(fù)制所請求的對象到邊緣服務(wù)器包括,從父服務(wù)器復(fù)制該請求的對象到該邊緣服務(wù)器。
      8.如權(quán)利要求1所述的方法,進(jìn)一步包括;如果所請求的對象流行,并且所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則從源服務(wù)器復(fù)制該請求的對象到網(wǎng)絡(luò)中的父服務(wù)器。
      9.如權(quán)利要求1所述的方法,其中復(fù)制所請求的對象到邊緣服務(wù)器包括,如果所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則從源服務(wù)器復(fù)制該請求的對象到該邊緣服務(wù)器。
      10.如權(quán)利要求1所述的方法,其中使用至少該請求對象的請求率確定所請求的對象是否流行。
      11.如權(quán)利要求1所述的方法,進(jìn)一步包括如果該邊緣服務(wù)器上的對象不再流行,則從該邊緣服務(wù)器刪除該對象。
      12.如權(quán)利要求1所述的方法,進(jìn)一步包括如果父服務(wù)器上的對象不再流行,并且該對象在源服務(wù)器上可用,則從該父服務(wù)器刪除該對象。
      13.如權(quán)利要求1所述的方法,其中復(fù)制所請求的對象包括依據(jù)動態(tài)復(fù)制門限復(fù)制所請求的對象。
      14.如權(quán)利要求1所述的方法,其中復(fù)制所請求的對象包括當(dāng)所請求對象的流行度大于門限流行度并且有足夠的存儲空間用于復(fù)制所請求的對象時(shí),復(fù)制該請求的對象;否則,如果沒有足夠的存儲空間用于復(fù)制所請求的對象,則i)將所請求對象的流行度與存儲器中最不流行對象的流行度進(jìn)行比較,ii)如果所請求對象的流行度超過存儲器中最不流行對象的流行度,則從存儲器中刪除該最不流行的對象,iii)重復(fù)i)和ii)直到有足夠存儲空間可用于所請求的對象,或所請求對象的流行度低于存儲器中最不流行對象的流行度,以及iv)如果有足夠的存儲空間,則復(fù)制所請求的對象。
      15.如權(quán)利要求1所述的方法,其中提供所請求的對象和復(fù)制所請求的對象是分開執(zhí)行的。
      16.一種用于被管對象的復(fù)制和傳送的方法,包括將客戶對于對象的請求定向到網(wǎng)絡(luò)中的最優(yōu)邊緣服務(wù)器;如果該邊緣服務(wù)器具有所請求的對象,則提供所請求的對象給該客戶;否則,將該客戶請求重定向到網(wǎng)絡(luò)中的具有所請求對象的父服務(wù)器,并從該父服務(wù)器提供所請求的對象給該客戶;如果所請求的對象流行,則從父服務(wù)器復(fù)制所請求的對象到該邊緣服務(wù)器。
      17.如權(quán)利要求16所述的方法,進(jìn)一步包括如果該邊緣服務(wù)器上的對象不再流行,則從該邊緣服務(wù)器刪除該對象。
      18.如權(quán)利要求16所述的方法,進(jìn)一步包括如果該父服務(wù)器上的對象不再流行,并且該對象在源服務(wù)器上可用,則從該父服務(wù)器刪除該對象。
      19.如權(quán)利要求16所述的方法,其中復(fù)制所請求的對象包括依據(jù)動態(tài)復(fù)制門限復(fù)制所請求的對象。
      20.如權(quán)利要求16所述的方法,其中復(fù)制所請求的對象包括當(dāng)所請求對象的流行度大于門限流行度并且有足夠的存儲空間用于復(fù)制所請求的對象時(shí),復(fù)制該請求的對象;否則,如果沒有足夠的存儲空間用于復(fù)制所請求的對象,則i)將所請求對象的流行度與存儲器中的最不流行對象的流行度進(jìn)行比較,ii)如果所請求對象的流行度超過存儲器中的最不流行對象的流行度,則從存儲器中刪除該最不流行的對象,iii)重復(fù)i)和ii)直到有足夠的存儲空間可用于所請求的對象,或所請求對象的流行度低于存儲器中的最不流行對象的流行度,以及iv)如果有足夠的存儲空間,則復(fù)制所請求的對象。
      21.如權(quán)利要求16所述的方法,其中使用至少所請求對象的請求率確定該對象是否流行。
      22.如權(quán)利要求16所述的方法,其中提供所請求的對象和復(fù)制所請求的對象是分開執(zhí)行的。
      23.一種包括計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序產(chǎn)品,該代碼促使處理器執(zhí)行一種用于被管對象的復(fù)制和傳送的方法,該方法包括將客戶對于對象的請求定向到網(wǎng)絡(luò)中的邊緣服務(wù)器;如果該邊緣服務(wù)器具有所請求的對象,則提供所請求的對象給該客戶;否則,將該客戶請求重定向到網(wǎng)絡(luò)中具有所請求對象的服務(wù)器,并提供所請求的對象給該客戶;如果所請求的對象流行,則復(fù)制該請求的對象到該邊緣服務(wù)器。
      24.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中將該客戶請求重定向到服務(wù)器包括,將該客戶請求重定向到網(wǎng)絡(luò)中的具有該請求對象的父服務(wù)器,并從該父服務(wù)器提供所請求的對象給該客戶。
      25.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中將該客戶請求重定向到服務(wù)器包括,將該客戶請求重定向到網(wǎng)絡(luò)中的不具有所請求對象的父服務(wù)器,重復(fù)地重定向該請求,直到到達(dá)網(wǎng)絡(luò)中的具有該請求對象的父服務(wù)器,并從該父服務(wù)器提供所請求的對象給該客戶。
      26.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中將該客戶請求重定向到服務(wù)器包括,如果所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則將該客戶請求重定向到源服務(wù)器,并從該源服務(wù)器提供所請求的對象給該客戶。
      27.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中定向客戶對于對象的請求到邊緣服務(wù)器包括,定向客戶對于對象的請求到最佳或最優(yōu)的邊緣服務(wù)器。
      28.如權(quán)利要求27的計(jì)算機(jī)程序產(chǎn)品,其中最佳或最優(yōu)的邊緣服務(wù)器包括,使用至少一個(gè)判決選擇的邊緣服務(wù)器,該判決基于最佳的中繼選擇器,所請求對象的拷貝在該邊緣服務(wù)器上可用的可能性,以及該邊緣服務(wù)器和客戶之間的帶寬。
      29.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中復(fù)制所請求的對象到邊緣服務(wù)器包括,從父服務(wù)器復(fù)制所請求的對象到該邊緣服務(wù)器。
      30.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,該方法進(jìn)一步包括如果所請求的對象流行,并且所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則從源服務(wù)器復(fù)制所請求的對象到網(wǎng)絡(luò)中的父服務(wù)器。
      31.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中復(fù)制所請求的對象到邊緣服務(wù)器包括,如果所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則從源服務(wù)器復(fù)制所請求的對象到該邊緣服務(wù)器。
      32.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中使用至少所請求對象的請求率確定所請求的對象是否流行。
      33.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,該方法進(jìn)一步包括如果邊緣服務(wù)器上的對象不再流行,則從該邊緣服務(wù)器刪除該對象。
      34.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,該方法進(jìn)一步包括如果父服務(wù)器上的對象不再流行,并且該對象在源服務(wù)器上可用,則從父服務(wù)器刪除該對象。
      35.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中復(fù)制所請求的對象包括依據(jù)動態(tài)復(fù)制門限復(fù)制所請求的對象。
      36.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中復(fù)制所請求的對象包括當(dāng)所請求對象的流行度大于門限流行度并且有足夠的存儲空間用于復(fù)制所請求的對象時(shí),復(fù)制該請求的對象;否則,如果沒有足夠的存儲空間用于復(fù)制所請求的對象,則i)將所請求對象的流行度與存儲器中的最不流行對象的流行度進(jìn)行比較,ii)如果所請求對象的流行度超過存儲器中的最不流行對象的流行度,則從存儲器中刪除該最不流行的對象,iii)重復(fù)i)和ii)直到有足夠的存儲空間可用于所請求的對象,或所請求對象的流行度低于存儲器中的最不流行對象的流行度,以及iv)如果有足夠的存儲空間,則復(fù)制所請求的對象。
      37.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中提供所請求的對象和復(fù)制所請求的對象是分開執(zhí)行的。
      38.一種包括計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序產(chǎn)品,該代碼促使處理器執(zhí)行一種用于被管對象的復(fù)制和傳送的方法,該方法包括定向客戶對于對象的請求到網(wǎng)絡(luò)中的最優(yōu)邊緣服務(wù)器;如果該邊緣服務(wù)器具有所請求的對象,則提供所請求的對象給該客戶;否則,將該客戶請求重定向到網(wǎng)絡(luò)中的具有所請求對象的父服務(wù)器,并從該父服務(wù)器提供所請求的對象給該客戶;如果所請求的對象流行,則從該父服務(wù)器復(fù)制該請求的對象到該邊緣服務(wù)器。
      39.如權(quán)利要求38的計(jì)算機(jī)程序產(chǎn)品,該方法進(jìn)一步包括如果該邊緣服務(wù)器上的對象不再流行,則從該邊緣服務(wù)器刪除該對象。
      40.如權(quán)利要求38的計(jì)算機(jī)程序產(chǎn)品,該方法進(jìn)一步包括如果該父服務(wù)器上的對象不再流行,并且該對象在源服務(wù)器上可用,則從該父服務(wù)器刪除該對象。
      41.如權(quán)利要求38的計(jì)算機(jī)程序產(chǎn)品,其中復(fù)制所請求的對象包括依據(jù)動態(tài)復(fù)制門限復(fù)制所請求的對象。
      42.如權(quán)利要求38的計(jì)算機(jī)程序產(chǎn)品,其中復(fù)制所請求的對象包括當(dāng)所請求對象的流行度大于門限流行度并且有足夠的存儲空間用于復(fù)制所請求的對象時(shí),復(fù)制該對象;否則,如果沒有足夠的存儲空間用于復(fù)制所請求的對象,則i)將所請求對象的流行度與存儲器中的最不流行對象的流行度進(jìn)行比較,ii)如果所請求對象的流行度超過存儲器中的最不流行對象的流行度,則從存儲器中刪除該最不流行的對象,iii)重復(fù)i)和ii)直到有足夠的存儲空間可用于所請求的對象,或所請求對象的流行度低于存儲器中的最不流行對象的流行度,以及iv)如果有足夠的存儲空間,則復(fù)制所請求的對象。
      43.如權(quán)利要求38的計(jì)算機(jī)程序產(chǎn)品,其中使用至少所請求對象的請求率確定所請求的對象是否流行。
      44.如權(quán)利要求38的計(jì)算機(jī)程序產(chǎn)品,其中提供所請求的對象和復(fù)制所請求的對象是分開執(zhí)行的。
      45.一種用于被管對象的復(fù)制和傳送的系統(tǒng),包括網(wǎng)絡(luò)中的多個(gè)邊緣服務(wù)器;和網(wǎng)絡(luò)中的多個(gè)父服務(wù)器;其中所述多個(gè)邊緣服務(wù)器和多個(gè)父服務(wù)器中至少之一定向客戶對于對象的請求到網(wǎng)絡(luò)中的一個(gè)邊緣服務(wù)器;如果該邊緣服務(wù)器具有所請求的對象,則提供所請求的對象給該客戶;否則,將該客戶請求重定向到網(wǎng)絡(luò)中的具有所請求對象的服務(wù)器,并提供所請求的對象給該客戶;如果所請求的對象流行,則復(fù)制該請求的對象到該邊緣服務(wù)器。
      46.如權(quán)利要求45所述的系統(tǒng),其中將該客戶請求重定向到服務(wù)器包括,將該客戶請求重定向到網(wǎng)絡(luò)中的具有所請求對象的父服務(wù)器,并從該父服務(wù)器提供所請求的對象給該客戶。
      47.如權(quán)利要求45所述的系統(tǒng),其中將該客戶請求重定向到服務(wù)器包括,將該客戶請求重定向到網(wǎng)絡(luò)中的不具有所請求對象的父服務(wù)器,循環(huán)地重定向該請求,直到到達(dá)網(wǎng)絡(luò)中的具有所請求對象的一個(gè)父服務(wù)器,并從該父服務(wù)器提供所請求的對象給該客戶。
      48.如權(quán)利要求45所述的系統(tǒng),其中將該客戶請求重定向到服務(wù)器包括,如果所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則重定向該客戶請求到源服務(wù)器,并從該源服務(wù)器提供所請求的對象給該客戶。
      49.如權(quán)利要求45所述的系統(tǒng),其中定向客戶對于對象的請求到邊緣服務(wù)器包括,定向客戶對于對象的請求到最佳或最優(yōu)的邊緣服務(wù)器。
      50.如權(quán)利要求49所述的系統(tǒng),其中最佳或最優(yōu)的邊緣服務(wù)器包括,使用至少一個(gè)判決選擇的邊緣服務(wù)器,該判決基于最佳的中繼選擇器,所請求對象的拷貝在該邊緣服務(wù)器上可用的可能性,以及該邊緣服務(wù)器和客戶之間的帶寬。
      51.如權(quán)利要求45所述的系統(tǒng),其中復(fù)制所請求的對象到邊緣服務(wù)器包括,從父服務(wù)器復(fù)制所請求的對象到該邊緣服務(wù)器。
      52.如權(quán)利要求45所述的系統(tǒng),其中,如果所請求的對象流行,并且所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則所述多個(gè)邊緣服務(wù)器和多個(gè)父服務(wù)器中的至少之一進(jìn)一步從源服務(wù)器復(fù)制所請求的對象。
      53.如權(quán)利要求45所述的系統(tǒng),其中復(fù)制所請求的對象到邊緣服務(wù)器包括,如果所請求的對象在網(wǎng)絡(luò)中的父服務(wù)器上不可用,則從源服務(wù)器復(fù)制所請求的對象到該邊緣服務(wù)器。
      54.如權(quán)利要求45所述的系統(tǒng),其中使用至少所請求對象的請求率確定該對象是否流行。
      55.如權(quán)利要求45所述的系統(tǒng),其中,如果一個(gè)對象不再流行,則所述多個(gè)邊緣服務(wù)器和多個(gè)父服務(wù)器中的至少之一進(jìn)一步刪除該對象。
      56.如權(quán)利要求45所述的系統(tǒng),其中復(fù)制所請求的對象包括依據(jù)動態(tài)復(fù)制門限復(fù)制所請求的對象。
      57.如權(quán)利要求45所述的系統(tǒng),其中復(fù)制所請求的對象包括當(dāng)所請求對象的流行度大于門限流行度并且有足夠的存儲空間用于復(fù)制所請求的對象時(shí),復(fù)制該請求的對象;否則,如果沒有足夠的存儲空間用于復(fù)制所請求的對象,則i)將所請求對象的流行度與存儲器中的最不流行對象的流行度進(jìn)行比較,ii)如果所請求對象的流行度超過存儲器中的最不流行對象的流行度,則從存儲器中刪除該最不流行的對象,iii)重復(fù)i)和ii)直到有足夠的存儲空間可用于所請求的對象,或所請求對象的流行度低于存儲器中的最不流行對象的流行度,以及iv)如果有足夠的存儲空間,則復(fù)制所請求的對象。
      58.如權(quán)利要求45所述的系統(tǒng),其中提供所請求的對象和復(fù)制所請求的對象是分開執(zhí)行的。
      59.一種用于被管對象的復(fù)制和傳送的系統(tǒng),包括網(wǎng)絡(luò)中的多個(gè)邊緣服務(wù)器;和網(wǎng)絡(luò)中的多個(gè)父服務(wù)器;其中所述多個(gè)邊緣服務(wù)器和多個(gè)父服務(wù)器中的至少之一定向客戶對于對象的請求到網(wǎng)絡(luò)中的最優(yōu)邊緣服務(wù)器;如果該邊緣服務(wù)器具有所請求的對象,則提供所請求的對象給該客戶;否則,將該客戶請求重定向到網(wǎng)絡(luò)中的具有所請求對象的父服務(wù)器,并從該父服務(wù)器提供所請求的對象給該客戶;如果所請求的對象流行,則從該父服務(wù)器復(fù)制該對象到該邊緣服務(wù)器。
      60.如權(quán)利要求59所述的系統(tǒng),其中,如果一個(gè)對象不再流行,則所述多個(gè)邊緣服務(wù)器和多個(gè)父服務(wù)器中的至少之一進(jìn)一步刪除該對象。
      61.如權(quán)利要求59所述的系統(tǒng),其中復(fù)制所請求的對象包括依據(jù)動態(tài)復(fù)制門限復(fù)制所請求的對象。
      62.如權(quán)利要求59所述的系統(tǒng),其中復(fù)制所請求的對象包括當(dāng)所請求對象的流行度大于門限流行度并且有足夠的存儲空間用于復(fù)制所請求的對象時(shí),復(fù)制該請求的對象;否則,如果沒有足夠的存儲空間用于復(fù)制所請求的對象,則i)將所請求對象的流行度與存儲器中的最不流行對象的流行度進(jìn)行比較,ii)如果所請求對象的流行度超過存儲器中的最不流行對象的流行度,則從存儲器中刪除該最不流行的對象,iii)重復(fù)i)和ii)直到有足夠的存儲空間可用于所請求的對象,或所請求對象的流行度低于存儲器中的最不流行對象的流行度,以及iv)如果有足夠的存儲空間,則復(fù)制所請求的對象。
      63.如權(quán)利要求59所述的系統(tǒng),其中使用至少所請求對象的請求率確定該對象是否流行。
      64.如權(quán)利要求59所述的系統(tǒng),其中提供所請求的對象和復(fù)制所請求的對象是分開執(zhí)行的。
      65.如權(quán)利要求59所述的系統(tǒng),其中,如果所請求的對象流行,并且在網(wǎng)絡(luò)的父服務(wù)器上不可用,則所述多個(gè)邊緣服務(wù)器和多個(gè)父服務(wù)器中的至少之一進(jìn)一步從源服務(wù)器復(fù)制所請求的對象。
      全文摘要
      一種用于被管對象的復(fù)制和傳送的方法,系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品,將客戶對于在網(wǎng)絡(luò)中的最佳或最優(yōu)處理邊緣服務(wù)器上不可用的對象的請求,直接或間接地,重定向到具有所請求對象的父服務(wù)器。因此,當(dāng)所請求對象在處理邊緣服務(wù)器上不可用時(shí),將客戶的請求直接重定向到可以為該客戶提供所請求對象的父服務(wù)器,或間接地通過一個(gè)或多個(gè)父服務(wù)器重定向到可以為該客戶提供所請求對象的父服務(wù)器。如果這個(gè)對象足夠流行,這種方法,系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品進(jìn)一步智能地復(fù)制該對象到該邊緣服務(wù)器。同樣,當(dāng)一個(gè)對象不再流行時(shí),將其從邊緣服務(wù)器刪除。所有的重定向和復(fù)制操作都優(yōu)選地對終端用戶透明,而且不會降低服務(wù)質(zhì)量。
      文檔編號H04L29/08GK1777880SQ03806039
      公開日2006年5月24日 申請日期2003年2月11日 優(yōu)先權(quán)日2002年2月14日
      發(fā)明者史蒂文·L·希德, 凱文·霍布斯, 沙恩·M·格林, 艾薩克·W·福勒克, 比德·J·瓊斯, 霍默·H·陳 申請人:塞維斯公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1