本發明總的來說涉及數字音頻的領域,并且更具體來說,涉及導出可用于有意義地比較數字音頻的部分的評分的方式。
背景技術:
能夠有意義地比較音樂或其它數字音頻的兩個序列以例如發現該音樂內的匹配子序列是有價值的。為此,量化構成序列和子序列的個別單元(“色度(chromae)”)的對應度并將子序列的對應度作為整體量化是有用的。
音頻單元和子序列的對應度的常規量度通常缺少固有的含義。例如,對于一些量度來說,評分3可指示強匹配,但對于其它量度來說,評分3可指示弱匹配,評分72指示強匹配。類似地,常規量度不固有地傳達評分11比評分10強多少,或評分9比評分10弱多少,或具有評分5的兩個匹配是否表示與具有評分10的單個匹配一樣好的匹配。因此,這些常規量度需要額外經驗知識以能夠適當地解譯或應用所得評分。
技術實現要素:
在一個實施例中,一種用于匹配音頻序列的計算機實施的方法包括:導出第一概率密度函數PM,該第一概率密度函數PM輸出音頻序列的一對色度向量的初始對應評分指示色度向量之間的語義對應的概率;導出第二概率密度函數PR,該第二概率密度函數PR輸出音頻序列的一對色度向量的初始對應評分指示色度向量具有隨機對應的概率;使用PM和PR而導出指示音頻序列的給定的一對色度向量是否在語義上對應的匹配函數;獲得第一音頻序列;使用匹配函數來比較第一音頻序列與多個已知音頻序列;以及基于比較而從已知音頻序列識別第一音頻序列的最佳匹配音頻序列。
在一個實施例中,一種非暫時性計算機可讀存儲介質存儲處理器可執行指令,所述處理器可執行指令包括:用于導出第一概率密度函數PM的指令,該第一概率密度函數PM輸出音頻序列的一對色度向量的初始對應評分指示色度向量之間的語義對應的概率;用于導出第二概率密度函數PR的指令,該第二概率密度函數PR輸出音頻序列的一對色度向量的初始對應評分指示色度向量具有隨機對應的概率;用于使用PM和PR而導出指示音頻序列的給定的一對色度向量是否在語義上對應的匹配函數的指令;用于獲得第一音頻序列的指令;用于使用匹配函數來比較第一音頻序列與多個已知音頻序列的指令;以及用于基于比較而從已知音頻序列識別第一音頻序列的最佳匹配音頻序列的指令。
在一個實施例中,一種用于匹配音頻序列的計算機系統包括:計算機處理器;以及存儲指令的非暫時性計算機可讀存儲介質。所述指令在由計算機處理器執行時,執行包括以下各者的動作:導出第一概率密度函數PM,該第一概率密度函數PM輸出音頻序列的一對色度向量的初始對應評分指示色度向量之間的語義對應的概率;導出第二概率密度函數PR,該第二概率密度函數PR輸出音頻序列的一對色度向量的初始對應評分指示色度向量具有隨機對應的概率;使用PM和PR而導出指示音頻序列的給定的一對色度向量是否在語義上對應的匹配函數;獲得第一音頻序列;使用匹配函數來比較第一音頻序列與多個已知音頻序列;以及基于比較而從已知音頻序列識別第一音頻序列的最佳匹配音頻序列。
附圖說明
圖1圖示根據一個實施例的發生音頻分析的計算環境。
圖2A圖示根據一個實施例的兩個不同音頻序列的一個實例。
圖2B圖示根據一個實施例的實例子序列匹配。
圖3是圖示根據一個實施例的圖1的音頻分析模塊的詳細視圖的高階框圖。
圖4圖示根據一個實施例由圖3的對評分模塊針對圖2A和圖2B的兩個實例序列而產生的評分的實例集合。
圖5A圖示根據一個實施例的概率密度函數PM和PR的樣本β分布。
圖5B圖示根據一個實施例的對應于圖5A的樣本PM和PR的樣本match()函數。
圖6是圖示根據一個實施例的在計算PM和PR(以及取決于PM和PR的match()函數)時的音頻分析模塊105的操作的數據流程圖。
圖7是圖示根據一個實施例的用作圖1的音頻服務器或客戶端的一部分或全部的計算機700的物理組件的高階框圖。
圖8是根據一個實施例的響應于用戶提供聲音輸入而尋找的歌曲音頻序列的匹配集合的實例用戶界面。
附圖僅出于圖示的目的而描繪本發明的實施例。本領域的技術人員將容易從下文描述認識到,可在不偏離本文所述的本發明的原理的情況下使用本文所說明的結構和方法的替代實施例。
具體實施方式
圖1圖示根據一個實施例的其中發生音頻分析的計算環境。音頻服務器100包含:音頻存儲庫101,其中音頻存儲庫101存儲不同數字音頻序列(例如,歌曲)的集合;以及音頻分析模塊105,其中音頻分析模塊105包含分析并比較音頻序列的功能性。用戶使用客戶端裝置110與音頻互動,例如,從音頻存儲庫101獲得并播放序列,提交對音頻序列的查詢,將音頻序列提交到音頻數據庫等等。
音頻服務器100和客戶端110經由網絡140而連接。網絡140可以是適用于數據傳輸的任何適當通信網絡。網絡140使用標準通信技術和/或協議,并且可包含因特網。在另一實施例中,網絡140包含定制和/或專用的數據通信技術。
音頻存儲庫101中的音頻序列可表示任何類型的音頻,例如,音樂或語音,并且包括元數據(例如,標題、標簽和/或描述)和音頻內容。在一個實施例中,音頻內容由離散的按時間排序的單元(下文稱為“色度”)構成。每一色度對應于音頻序列內的特定時間間隔(例如,特定50毫秒間隔),并具有測量頻率的集合中的每一測量頻率的值。例如,在一個實施例中,每一色度具有8音度(octave)中的12個半音(semitone)中的每一個的浮點值,其中該浮點值表示對應時間間隔期間的此特定半音的頻率的強度。不同測量頻率的值的集合(例如,針對測量12個頻率的實施例,集合<0.25、1.1、2.5、1.0、0.6、0.79、1.9、2.3、1.11、4.6、1.5、2.0>)被稱為色度的“色度向量(chroma vector)”。在替代實施例中,音頻內容作為連續信號而存儲,并且在由音頻分析模塊105分析之前動態轉換為離散色度。
音頻分析模塊105分析音頻存儲庫101中的音頻序列,以確定音頻序列對的“語義對應(semantic correspondence)”,即,音頻序列對對于人類收聽者來說聽起來相同。例如圖2A和圖2B在視覺上圖示的,音頻分析模塊105所執行的一種類型的分析是在一對音頻序列內尋找對應子序列。圖2A圖示兩個不同音頻序列(SequenceA 201和SequenceB202)的一個實例。為了實例的簡單起見,圖2A和圖2B中的每一序列由8個色度組成(對于SequenceA 201來說,A0到A7,并且對于SequenceB202來說,B0到B7)。然而,應了解,兩個序列可具有任何數量的色度(例如,3,600個,假設是3分鐘長的音頻序列,并且每一色度對應于50毫秒間隔),并且不需要具有與另一個相同的數量的色度。圖2B圖示實例子序列匹配,其中已發現色度A1到A3在語義上對應于色度B3到B5,這意味作為整體,色度向量對<A1,B3>、<A2,B4>和<A3,B5>具有極類似值,并且因此將對于人類收聽者來說聽起來一樣。
在兩個聲音序列內尋找對應子序列的能力實現許多應用。一種應用是確定一首歌曲是否與另一首相同(例如,由于歌曲的大的子序列對應)。另一應用是響應于用戶唱出或以其它方式通過音頻輸入描述歌曲的一部分,通過試圖在已知歌曲內尋找在語義上對應于用戶所提供的音頻輸入的子序列而尋找該歌曲。
為了確定個別色度——或多個色度的子序列——在語義上是否相互對應,需要語義對應度的某一量度。作為實例,量化兩個色度c1與c2之間的語義對應度的相似函數可被定義為sim(c1,c2)=c1·c2/|c1||c2|。作為3元素色度向量c1=<1,0,1>和c2=<1,1,0>(其中向量值是0或1以簡化實例)的簡化實例,相似評分是sim(c1,c2)=<1,0,1>·<1,1,0>/|<1,0,1>||<1,1,0>|=(1*1+0*1+1*0)/[(12+02+12)*(12+12+02)]=1/[2*2]=1/4。
然而,可難以解譯特定相似函數所產生的對應評分的含義。在上文的實例中,評分1/4不固有地傳達該評分是否是“良好”評分,即,與原本通常在隨機選擇的色度對內發生的色度向量相似所導致的評分相比,該評分是否表示色度之間的有意義的語義對應度(以使得色度將可能對于人類收聽者來說聽起來一樣)。額外經驗知識對于知曉例如0.6是在具有真正有意義的語義對應的色度向量與僅具有偶然對應度的色度向量之間最有效地進行區別的適當截止評分值將是必要的。額外經驗知識對于確定具有評分0.6的10個連續色度匹配是否表示比具有評分0.5的12個連續色度匹配強也將是必要的。在甚至單個色度對的對應評分也不能傳達對應是否確實強的、例如上文所述的實例中,確定由許多色度構成的整個子序列的有意義的對應評分更困難。
圖3是圖示根據一個實施例的圖1的音頻分析模塊105的詳細視圖的高階框圖。使用關于子序列之間的確實的語義對應的已知信息并通過比較這些語義對應與隨機選擇的子序列中所固有的較弱對應,音頻分析模塊105導出適用于色度對的對應函數(下文稱為match()函數)。在直觀上,所導出的對應函數match(),針對使用某初始對應函數(例如,上文所述的實例函數sim(c1,c2))而獲得的第一色度對應評分,而表示相比色度c1和c2僅在其色度向量中具有偶然相似,該評分更可能指示色度c1和c2在語義上對應的程度。因此,所導出的對應函數match()所產生的語義對應評分傳達固有含義,而不求助于關于評分的含義的額外經驗知識。
音頻分析模塊105包括表示音頻分析模塊導出的函數305的集合的數據。所述函數包含概率密度函數PM,其中概率密度函數PM將色度對的給定初始對應函數(例如,sim(c1,c2))的輸出映射到其指示兩個色度的有意義的對應的概率。所述函數還包含概率密度函數PR,其中概率密度函數PR將給定初始對應函數的輸出映射到其指示隨機地選擇的/具有隨機對應而不是具有確實的語義對應的一對色度的概率。所述函數還包含所導出的對應函數match(),其中所導出的對應函數match()繼而是PM的PR的函數。在一個實施例中,match()函數被定義為match(c1,c2)=log(PM/PR)。
音頻分析模塊105包括輸入集合形成模塊310,其中輸入集合形成模塊310建立充當對函數導出模塊340的輸入的音頻序列的集合,其中函數導出模塊340導出函數305。具體來說,輸入集合形成模塊310識別含有已被確定為具有語義對應的音頻序列的第一集合SM。如果一對音頻序列中的兩個序列已被確定為具有類似音頻性質(在直觀上,聽起來一樣),那么所述一對音頻序列被稱為具有語義對應。在一個實施例中,音頻序列具有類似音頻性質的確定是手動地進行,例如,通過人類專家收聽不同音頻序列(例如,歌曲)并確定它們聽起來一樣。
輸入集合形成模塊310還形成含有輸入集合形成模塊從音頻存儲庫101隨機地選擇的音頻序列的集合SR。因此,不同于集合SM內的序列,集合SR內的序列尚未被確定為在語義上對應,并且可能不在語義上對應。
音頻分析模塊105還包括對評分模塊320,其中對評分模塊320針對任何兩個音頻序列而產生第一序列與第二序列之間的各種可能色度對的評分。評分由所導出的對應函數match()的當前狀態產生,其中所導出的對應函數match()繼而是PM的PR的函數。例如,圖4圖示對評分模塊320針對圖2A和圖2B的兩個實例序列(即,SequenceA 201和SequenceB 202)而產生的評分的實例集合,其中圖2A和圖2B的兩個實例序列都具有8色度。因此,對評分模塊320產生可如圖4的柵格所圖示而可視化的8*8=64個評分的集合,其中元素Hi,j表示match(ci,cj)所輸出的評分,ci是SequenceA 401中的第i色度向量,并且cj是SequenceB 402中的第j色度向量。
音頻分析模塊105還包括子序列識別模塊330,其中子序列識別模塊330將對評分模塊320針對一對色度而產生的對評分的集合作為輸入。基于對評分,子序列識別模塊330基于子序列的構成色度的語義對應度而識別最強地具有語義對應的子序列。例如,給定圖4所圖示的對評分的樣本集合,子序列識別模塊330可基于對應match()評分H1,3、H2,4和H3,5的總和相對高于其它子序列的match()評分的總和而將子序列A1到A3和B3到B5識別為具有語義對應。
在一個實施例中,子序列識別模塊330使用具有仿射空位罰分(affine gap penalty)的動態編程算法以在全部序列中識別具有最大match()評分總和的連續色度的集合。
音頻分析模塊105還包括函數導出模塊340,其中函數導出模塊340從輸入集合形成模塊310所產生的輸入集合導出函數PM、PR和match()。函數導出模塊340基于集合SR的值而在單個迭代中導出函數PR。即,初始對應函數(例如,sim())的評分是針對來自SR的不同對的隨機選擇的音頻序列而計算。所述評分接著擬合到概率分布(例如,例如β概率分布),其中該概率分布接著用作函數PR。
函數導出模塊340在多個迭代上導出函數PM和match()。在第一迭代中,PM被設定為粗略初始近似,其中粗略初始近似隨后在稍后迭代中得到改進。例如,在一個實施例中,PM被初始化為PM(x)=2–2x,其中x是初始色度對應函數(例如,如上所述,sim(c1,c2))所輸出的值,但應了解,可同樣使用許多其它初始函數。所導出的對應函數(match())的輸出可接著依據PM的當前值和PR而得以計算。
在每一迭代中,函數導出模塊340使用PR的值與PM的當前值以及match(),以進一步改進PM和match()函數。例如,函數導出模塊340通過使用對評分模塊320而導出PM的新值,以產生輸入集合SM中的已知的語義上對應的子序列對的對評分。函數導出模塊340還使用子序列識別模塊330以識別具有最大match()評分總和的色度的子序列。函數導出模塊340將來自初始對應函數的評分(例如,如上所述,sim()函數)擬合到概率分布,其中所述概率分布充當PM的新值。
在一個實施例中,概率分布是β分布,如圖5A所圖示,但其它分布也是可能的。具體來說,圖5A圖示特定相似函數(即,如上文所定義的sim(c1,c2)=c1·c2/|c1||c2|)的樣本PM和PR函數,如β分布概率密度函數所建模。實線所表示的PM函數針對約0.93的sim()評分而達到峰值,從而指示具有語義對應的一對色度將最可能產生0.93的sim()評分。PM針對低于0.7(舉例來說)的sim()評分而產生的相對低的值指示具有語義對應的一對色度將產生低于0.7的sim()評分是根本不可能的。類似地,PR函數針對約0.79的sim()評分而達到峰值,從而意味典型的隨機選擇的一對色度將產生約0.79的sim()評分。
在一個實施例中,所導出的對應函數match()被定義為match(c1,c2)=log(PM/PR)。圖5B圖示對應于圖5A的樣本PM和PR概率密度函數的樣本match()函數的曲線圖。
由于對數的性質,log(PM/PR)=log PM-log PR。因此,0的match()評分指示log PM(sim(c1,c2))=log PR(sim(c1,c2)),即PM(sim(c1,c2))=PR(sim(c1,c2)),從而意味著與色度c1和c2僅具有隨機選擇的色度特有的對應度的情況相比,色度c1和c2不會更具有語義對應。圖5B的樣本match()函數針對約0.83(PM和PR曲線圖在圖5A中交叉之處的值)的輸入具有值0。
此外,由于logΠPi=Σlog Pi(即,一起發生的事件Pi的概率的對數等于個別發生的事件的概率的對數的總和)的對數性質,來自色度對的連續范圍的所導出的對應函數match()的評分的總和等于該范圍上的匹配的組合概率的對數。因此,該范圍的評分X(即,在該范圍的所有對<ci,cj>上評估的評分Σlog(PM(sim(ci,cj))/PR(sim(ci,cj)))在一對語義上對應的序列中發生的可能性是在隨機選擇的一對序列中的eX倍。因為match()評分甚至不取決于匹配范圍中的色度對的數量,所以不同長度的子序列的無偏比較是可能的。例如,與具有弱匹配的長子序列一樣同樣不可能偶然發生的具有強匹配的短子序列將被指派相同累加match()評分。
因此,因為色度對的連續范圍的匹配評分不取決于長度,并且因為因此不同長度的子序列的匹配可被有意義地比較,所以單個范圍的匹配評分可被確定且應用到任何長度的范圍,從而構成截止評分,其中小于截止評分的評分被視為指示非匹配,并且大于或等于截止評分的評分被視為指示匹配。在無法有意義地比較不同長度的子序列的匹配評分的其它系統中,難以選擇產生良好精確率與良好查全率(recall)兩者的截止評分。例如,對于實際上長度10的子序列的色度對的平均匹配評分5約等于長度20的子序列上的平均匹配評分3的系統來說,平均評分5的截止或平均評分3的截止都不會良好適用于長度10的子序列與長度20的子序列兩者。例如,選擇產生良好精確率(即,減少假陽性)的高截止評分(例如,在上述實例中,5)傾向于過度保守,并且導致低劣查全率(即,不能識別許多良好匹配);相反選擇產生良好查全率(即,識別多數良好匹配)的低截止評分(即,在上述實例中,3)傾向于過度激進并且產生低劣精確率(即,將許多低劣匹配識別為良好匹配)。相比于這些其它系統,因為上文所述的match()評分值跨越不同長度的子序列保持一致,所以總的來說良好適用于子序列的單個截止可被選擇,而不論子序列長度,并且因此可產生良好精確率而不犧牲查全率,反之亦然。因此,截止match()評分可被選擇——手動地且根據經驗,或基于具有已知良好和低劣匹配的子序列的訓練集合而以編程方式——以識別任意長度的子序列的“良好”匹配,并且截止評分將關于精確率與查全率兩者而產生有利的結果。
應注意,函數match()所產生的評分在以下意義上獨立于所使用的特定初始對應函數(例如,上文的sim()):評分具有上文所論述的性質,而不論所使用的初始對應函數如何。例如,不論所使用的初始對應函數如何,一對色度的match()評分0指示相比該對色度被隨機選擇的情況,該對不會更具有語義對應。
音頻分析模塊105視情況包含近似產生模塊350,其中近似產生模塊350產生近似函數match()并可較有效地計算的函數。例如,在一個實施例中,近似產生模塊350計算形式為(anxn+an-1xn-1+…+a1x+a0)/(bmxm+bm-1xm-1+…+b1x+b0)的有理內插函數,其中系數ai和bj是定義有理內插函數的所計算的參數。假設分子和分母由多項式函數定義,那么分子和分母可被有效地計算。
音頻分析模塊105視情況包含音頻對應識別模塊360,其中音頻對應識別模塊360識別音頻序列之間的語義對應。具體來說,給定第一音頻序列和第二音頻序列,對應識別模塊360通過使用對評分模塊320以使用函數導出模塊340所確定的最終match()函數而產生兩個音頻序列的色度對之間的match()評分,來識別兩個音頻序列之間的最佳匹配子序列。給定match()函數所使用的評分,對應識別模塊360進一步使用子序列識別模塊330以識別最佳子匹配。對應識別模塊360可接著基于所識別的子序列,例如,所識別的子序列的數量、所識別的子序列的累加match()評分(即,子序列中的色度對的match()評分的總和)或其某一組合,而確定兩個音頻序列作為整體是否具有語義對應。
整體識別音頻序列的語義對應的能力允許進行各種音頻匹配操作。作為來自一個實施例的一個實例,用戶吹口哨或哼唱一首曲子,或以其它方式提供言語音頻輸入,并且音頻對應識別模塊360比較該曲子的音頻序列與音頻存儲庫101中的已知音頻序列,從而將音頻序列的最佳匹配作為整體向用戶呈現,如上文所解釋。例如,圖8是根據一個實施例的圖示響應于用戶對用戶的裝置麥克風輸入哼唱而發現的歌曲音頻序列801到804的匹配集合并允許用戶收聽這些音頻序列的實例用戶界面。在變化中,用戶例如通過上傳含有音樂的片段的文件以與已知歌曲匹配而提供非言語音頻輸入。作為來自一個實施例的另一實例,系統使用音頻對應識別模塊360以比較給定音頻序列與已知的版權所有的音頻序列以識別可能的版權侵犯。例如,音頻服務器100自身可針對已存在于音頻存儲庫101中的版權所有的音頻序列而檢查提交給音頻存儲庫101的新音頻序列,從而如果發現具有相對于版權所有的音頻序列的語義對應,那么標記新音頻序列。作為來自一個實施例的又一實例,系統使用音頻對應識別模塊360以比較用戶語音與已知語言模型以便執行語音識別。
圖6是圖示根據一個實施例的在計算PM和PR(以及取決于PM和PR的match()函數)時的音頻分析模塊105的操作的數據流程圖。
在步驟610中,音頻分析模塊105例如如上文關于輸入集合形成模塊310所論述而建立輸入集合SM和SR。音頻分析模塊105還基于集合SR來計算620函數PR,并且將函數PM初始化為函數2–2x,如上文所論述。
為了計算較佳函數PM,音頻分析模塊105基于所導出的對應函數match()(其繼而基于PM和PR)的當前迭代的值而迭代地重新計算PM。這涉及識別630SM中match()函數指示具有最強語義對應的音頻序列的子序列對。這可如上文關于子序列識別模塊330所論述來實現。接著,例如如上文關于函數導出模塊340所論述通過將所識別的子序列中的色度的初始對應函數(例如,sim())所產生的評分擬合到概率密度函數(例如,β分布函數)而更新PM函數。迭代繼續直到PM函數穩定(即,如步驟650所評估的,先前迭代以來的PM函數的改變小于給定閾值)為止。所計算的PM和PR函數存儲在分布存儲庫305中。
視情況,也可計算660相對于函數match()=log(PM/PR)的更具計算效率的近似,如上文關于近似產生模塊350所描述。
在一個實施例中,集合SM和SR是針對音頻存儲庫101的音頻序列的不同數量的子集中的每一個而形成。例如,輸入集合形成模塊310可基于音頻序列的已知音樂風格(例如,爵士音樂、新世紀音樂、凱爾特音樂、饒舌音樂、R&B音樂等)而識別歌曲音頻序列的不同子集,從而形成每一個的集合SM和SR,并且還執行步驟610到660以產生適用于每一個的函數PM和PR(以及match())。適當子集的數據接著用于額外分析。例如,當試圖識別語義上對應于給定歌曲的歌曲音頻序列時,給定歌曲的風格用于識別對應子集,并且適用于該子集的函數PM和PR(以及match())用于識別匹配的子序列。具有風格特定數據(例如,SM、SR、PM、PR和match())允許例如更準確地確定已知處于給定風格內的項目之間的語義對應。
圖7是圖示根據一個實施例的用作圖1的音頻服務器100或客戶端110的一部分或全部的計算機700的物理組件的高階框圖。圖示耦接到芯片組704的至少一個處理器702。存儲器706、存儲裝置708、鍵盤710、圖形適配器712、指向裝置714和網絡適配器716也耦接到芯片組704。顯示器718耦接到圖形適配器712。在一個實施例中,芯片組704的功能性由存儲器控制器集線器720和/或I/O控制器集線器722提供。在另一實施例中,存儲器706直接耦接到處理器702而不是芯片組704。
存儲裝置708是任何非暫時性計算機可讀存儲介質,例如,硬盤、壓縮光盤只讀存儲器(CD-ROM)、DVD或固態存儲器裝置。存儲器706保持處理器702所使用的指令和數據。指向裝置714可以是鼠標、軌跡球或其它類型的指向裝置,并且結合鍵盤710而使用以將數據輸入到計算機700中。圖形適配器712在顯示器718上顯示圖像和其它信息。網絡適配器716將計算機700耦接到局域網或廣域網。
如此項技術中已知,計算機700可具有除圖7所示的組件以外的不同的和/或其它的組件。此外,計算機700可缺少某些所圖示的組件。在一個實施例中,充當服務器的計算機700可缺少鍵盤710、指向裝置714、圖形適配器712和/或顯示器718。此外,存儲裝置708可處于計算機700本地和/或遠離計算機700(例如,體現在存儲區域網絡(SAN)內)。
如此項技術中已知,計算機700適用于執行用于提供本文所述的功能性的計算機程序模塊。如本文所使用,術語“模塊”是指用于提供指定功能性的計算機程序邏輯。因此,模塊可實施在硬件、固件和/或軟件中。在一個實施例中,程序模塊存儲在存儲裝置708上,加載到存儲器706中并由處理器702執行。
其它事項
已關于一個可能實施例特別詳細地描述本發明。本領域的技術人員應了解,本發明可實踐在其它實施例中。首先,組件和變量的特定命名、術語的大寫、屬性、數據結構或任何其它編程或結構方面不是強制性的或重要的,并且實施本發明或其特征的機制可具有不同名稱、格式或協議。并且,本文所述的各種系統組件之間的功能性的特定劃分僅是出于實例的目的,并且不是強制性的;單個系統組件所執行的功能可改為由多個組件執行,并且多個組件所執行的功能可改為由單個組件執行。
上文描述的一些部分在關于信息的操作的算法和符號表示方面呈現本發明的特征。這些算法描述和表示是數據處理領域的技術人員所使用以最大有效地將其工作的實質傳達給本領域的技術人員的方式。這些操作雖然是在功能或邏輯上描述,但被理解為由計算機程序實施。此外,已被證實時常方便的是,將操作的這些布置稱為模塊或功能名稱,而不損失通用性。
除非另外具體陳述為從上文的論述清楚,否則應了解,在本說明書全文中,利用例如“確定”或“顯示”等術語進行的論述表示計算機系統或類似電子計算裝置的動作或過程,該計算機系統或類似電子計算裝置在計算機系統存儲器或寄存器或其它此種信息存儲、傳輸或顯示裝置內的操作和變換被表示為物理(電子)量的數據。
本發明的某些方面包含本文所述的呈算法的形式的過程步驟和指令。應注意,本發明的過程步驟和指令可體現在軟件、固件或硬件中,并且當體現在軟件中時,可被下載以常駐在實時網絡操作系統所使用的不同平臺上并從所述不同平臺操作。
本發明還涉及用于執行本文中的操作的設備。此設備可針對所需用途來專門構造,或可包括可由計算機存取的計算機可讀介質上所存儲的計算機程序選擇性激活或重新配置的通用計算機。此計算機程序可存儲在非暫時性計算機可讀存儲介質中,例如,但不限于任何類型的盤片(包含軟盤、光盤、CD-ROM和磁光盤)、只讀存儲器(ROM)、隨機存取存儲器(RAM)、EPROM、EEPROM、磁卡或光卡、專用集成電路(ASIC)或適用于存儲電子指令并各自耦接到計算機系統總線的任何類型的計算機可讀存儲介質。此外,本說明書中所引用的計算機可包含單個處理器或可以是使用多個處理器設計以提高計算能力的架構。
本文所呈現的算法和操作不是固有地與任何特定計算機或其它設備相關。各種通用系統也可根據本文中的教示與程序一起使用,或可被證實方便的是,構造較專業化的設備以執行所需的方法步驟。各種這些系統的所需結構與等同變化對于本領域的技術人員來說將是清楚的。此外,不參考任何特定編程語言來描述本發明。應了解,各種編程語言可用于實施如本文所述的本發明的教示,并且對特定語言的任何引用被提供以用于發明本發明的實現和最佳模式。
本發明良好適用于許多拓撲的廣泛各種計算機網絡系統。在此領域內,大型網絡的配置和管理包括在例如因特網等網絡上通信地耦接到不同計算機和存儲裝置的存儲裝置和計算機。
最終,應注意,本說明書中所使用的語言已主要出于可讀性和指導的目的來選擇,并且可并不是為了描繪或限制本發明主題來選擇。因此,本發明的公開內容希望說明而不是限制本發明的范圍。