專利名稱:在內(nèi)容遞送中使用的靈活令牌的制作方法
技術(shù)領(lǐng)域:
現(xiàn)在公開的實(shí)施例一般地涉及處理針對(duì)內(nèi)容的請(qǐng)求。更具體地,本文的實(shí)施例涉及在內(nèi)容遞送中使用的靈活令牌。
背景技術(shù):
在最近的歷史中互聯(lián)網(wǎng)的使用得到了快速增長(zhǎng),并且跡象表明互聯(lián)網(wǎng)應(yīng)用將持續(xù)增長(zhǎng)。用戶訪問(wèn)互聯(lián)網(wǎng)來(lái)觀看所有的內(nèi)容類型。目前,用戶可以觀看事件的實(shí)況呈現(xiàn)(諸如體育事件)以及存儲(chǔ)的內(nèi)容(諸如視頻和圖片)。這種內(nèi)容的提供商通常對(duì)如何觀看內(nèi)容以及誰(shuí)觀看內(nèi)容有一定級(jí)別的控制。例如,視頻提供商可能希望在分發(fā)時(shí)對(duì)特定視頻(例如,所選擇的視頻或者視頻的類型或類別)加密。通?;ヂ?lián)網(wǎng)內(nèi)容的提供商和提供用于分發(fā)內(nèi)容的基礎(chǔ)設(shè)施的網(wǎng)絡(luò)提供商是不同的實(shí)體。為了得到非常大數(shù)量的觀眾,內(nèi)容提供商通常購(gòu)買內(nèi)容遞送網(wǎng)絡(luò)提供商的服務(wù),內(nèi)容遞送網(wǎng)絡(luò)提供商一般具有用于分發(fā)內(nèi)容的大型網(wǎng)絡(luò)基礎(chǔ)設(shè)施。然而,因?yàn)閮?nèi)容提供商通常對(duì)分發(fā)不存在控制,所以提供商對(duì)如何分發(fā)內(nèi)容以及向誰(shuí)分發(fā)內(nèi)容僅具有有限控制。盡管內(nèi)容提供商可以一定程度上指定如何分發(fā)內(nèi)容,但是傳統(tǒng)方案非常受到限制。例如,內(nèi)容提供商可以生成包括數(shù)據(jù)的統(tǒng)一資源定位符(URL),內(nèi)容分發(fā)者可以使用該數(shù)據(jù)來(lái)確定如何分發(fā)內(nèi)容。然而,可用于URL數(shù)據(jù)的形式和值是固定的且限于特定集合。內(nèi)容提供商必需遵守特定的格式和值,使得內(nèi)容分發(fā)的條款的規(guī)范對(duì)于內(nèi)容分發(fā)者而言是明確的。盡管已經(jīng)相對(duì)標(biāo)準(zhǔn)化,但是該固定方案不能在規(guī)定如何分發(fā)內(nèi)容的方面向內(nèi)容提供商提供各種方式或靈活性,
發(fā)明內(nèi)容
現(xiàn)在公開的實(shí)施例一般地涉及處理針對(duì)內(nèi)容的請(qǐng)求。更具體地,本文的實(shí)施例涉及在內(nèi)容遞送中使用的靈活令牌。實(shí)施例向內(nèi)容提供商提供用于規(guī)定內(nèi)容分發(fā)的方式的靈活方案。內(nèi)容提供商可以將包括一個(gè)或多個(gè)參數(shù)的靈活令牌插入內(nèi)容指示符(諸如,統(tǒng)一資源標(biāo)識(shí)符(URI)或統(tǒng)一資源定位符(URL)),以及靈活令牌可被內(nèi)容分發(fā)者讀取。內(nèi)容分發(fā)者可以使用靈活令牌來(lái)確定內(nèi)容分發(fā)的方式。計(jì)算機(jī)實(shí)現(xiàn)的分發(fā)的實(shí)施例包括生成令牌語(yǔ)義的菜單,其中令牌語(yǔ)義規(guī)定了可包括在靈活令牌中的一個(gè)或多個(gè)參數(shù)名稱,其中靈活令牌配置為包括一個(gè)或多個(gè)參數(shù)名稱/ 值對(duì),以及其中一個(gè)或多個(gè)參數(shù)名稱/值對(duì)可以以任何順序出現(xiàn)。該方法可以進(jìn)一步包括 接收對(duì)一個(gè)或多個(gè)令牌語(yǔ)義的選擇;接收包括靈活令牌的令牌化內(nèi)容指示符,所述靈活令牌具有根據(jù)所選擇的一個(gè)或多個(gè)令牌語(yǔ)義來(lái)格式化的一個(gè)或多個(gè)參數(shù)名稱/值對(duì);根據(jù)所選擇的一個(gè)或多個(gè)令牌語(yǔ)義來(lái)解釋所述一個(gè)或多個(gè)參數(shù)名稱/值對(duì);以及基于解釋出的一個(gè)或多個(gè)參數(shù)名稱/值對(duì)來(lái)確定對(duì)令牌化內(nèi)容指示符的響應(yīng)。在計(jì)算機(jī)實(shí)現(xiàn)的方法的一個(gè)實(shí)施例中,該參數(shù)名稱/值對(duì)規(guī)定商業(yè)邏輯。此外,該一個(gè)或多個(gè)參數(shù)名稱/值對(duì)可以包括嵌入的參數(shù)名稱/值對(duì)。該響應(yīng)可以包括消息、令牌化內(nèi)容指示符所指定的內(nèi)容、或備選內(nèi)容中的一個(gè)或多個(gè)。該靈活令牌可以由內(nèi)容提供商生成。內(nèi)容提供商可以將靈活令牌插入令牌化內(nèi)容指示符中,并且將該令牌化內(nèi)容指示符發(fā)送給請(qǐng)求該指定內(nèi)容的最終用戶。在計(jì)算機(jī)實(shí)現(xiàn)方法的又一個(gè)實(shí)施例中,該方法進(jìn)一步包括向最終用戶發(fā)送令牌相關(guān)的響應(yīng)。而且,該一個(gè)或多個(gè)參數(shù)名稱/值對(duì)可以包括一個(gè)或多個(gè)地理名稱/值對(duì)、一個(gè)或多個(gè)時(shí)間名稱/值對(duì)、一個(gè)或多個(gè)加密名稱/值對(duì)、以及備選的內(nèi)容名稱/值對(duì)。用于管理內(nèi)容到最終用戶的遞送的系統(tǒng)的實(shí)施例包括語(yǔ)義生成器,配置為生成針對(duì)可在靈活令牌中包括的名稱/值對(duì)的名稱/值對(duì)語(yǔ)義;以及語(yǔ)義發(fā)布器,配置為在菜單中發(fā)布名稱/值對(duì)語(yǔ)義,其中名稱/值對(duì)語(yǔ)義是可選擇的。該系統(tǒng)還包括靈活令牌解釋器,配置為根據(jù)名稱/值對(duì)語(yǔ)義來(lái)解釋靈活令牌中包括的名稱/值對(duì)。所述靈活令牌解釋器可以進(jìn)一步配置為基于靈活令牌中包括的名稱/值對(duì)來(lái)確定對(duì)內(nèi)容請(qǐng)求的響應(yīng)。該系統(tǒng)還包括邊緣服務(wù)器,配置為基于靈活令牌解釋器所確定的響應(yīng)來(lái)生成對(duì)內(nèi)容請(qǐng)求的令牌相關(guān)的響應(yīng)。此外,在該系統(tǒng)的實(shí)施例中,至少一個(gè)靈活令牌可以包括嵌入的名稱/值對(duì)。名稱 /值對(duì)可以包括一個(gè)或多個(gè)位置名稱/值對(duì)、一個(gè)或多個(gè)時(shí)間名稱/值對(duì)、一個(gè)或多個(gè)加密名稱/值對(duì)、或者備選的內(nèi)容名稱/值對(duì)。一個(gè)或多個(gè)名稱/值對(duì)語(yǔ)義可以通過(guò)客戶的語(yǔ)義選擇器來(lái)選擇。名稱/值對(duì)語(yǔ)義可以貨幣化。邊緣服務(wù)器可以接收內(nèi)容指示符中嵌入的靈活令牌,并且將該靈活令牌發(fā)送給靈活令牌解釋器。計(jì)算機(jī)程序產(chǎn)品的實(shí)施例包括存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令在由計(jì)算機(jī)執(zhí)行時(shí)使得計(jì)算機(jī)執(zhí)行過(guò)程。該過(guò)程可包括接收指定所請(qǐng)求的內(nèi)容的令牌化內(nèi)容指示符,其中該令牌化內(nèi)容指示符包括靈活令牌,所述靈活令牌指示對(duì)內(nèi)容指示符的接收進(jìn)行響應(yīng)的條款;解釋該靈活令牌中包括的名稱/值對(duì),其中名稱/值對(duì)是順序無(wú)關(guān)的。該過(guò)程還包括基于對(duì)順序無(wú)關(guān)的名稱/值對(duì)的解釋生成對(duì)內(nèi)容指示符的響應(yīng)。此外,在計(jì)算機(jī)程序產(chǎn)品的實(shí)施例中,該過(guò)程還包括確定響應(yīng)于對(duì)內(nèi)容指示符的接收,是否應(yīng)該發(fā)送所請(qǐng)求的內(nèi)容。該過(guò)程還包括生成內(nèi)容提供商可以選擇的名稱/值對(duì)語(yǔ)義集合。該過(guò)程還可以包括貨幣化語(yǔ)義名稱/值對(duì)。該令牌化內(nèi)容指示符可以由內(nèi)容提供商生成。該過(guò)程還包括從所述內(nèi)容提供商接收從所述名稱/值對(duì)語(yǔ)義的集合中進(jìn)行的選擇。
圖1示出了適合于使用靈活令牌來(lái)處理內(nèi)容請(qǐng)求的示例網(wǎng)絡(luò)環(huán)境。圖2根據(jù)可操作用于使用靈活令牌處理內(nèi)容請(qǐng)求的模塊,示出了系統(tǒng)。圖3示出了涉及使用靈活令牌處理內(nèi)容請(qǐng)求的示例場(chǎng)景。圖4示出了配置為生成令牌語(yǔ)義的菜單,接收令牌語(yǔ)義選擇,以及根據(jù)所選擇的
5令牌語(yǔ)義來(lái)解釋令牌參數(shù)的系統(tǒng)。圖5示出了用于令牌化內(nèi)容指示符、令牌和參數(shù)指示符的示例數(shù)據(jù)格式。圖6是根據(jù)各種實(shí)施例,示例的分層的基于異常的判決樹,其可以用于使用靈活令牌來(lái)以基于規(guī)則的方式處理內(nèi)容請(qǐng)求。圖7是示出可以由內(nèi)容分發(fā)者執(zhí)行的用于使用靈活令牌處理內(nèi)容請(qǐng)求的示例過(guò)程的流程圖。圖8是示出可以由內(nèi)容提供商執(zhí)行的用于選擇令牌語(yǔ)義的集合以及生成令牌化內(nèi)容指示符的示例過(guò)程的流程圖。圖9是根據(jù)本文實(shí)施例,配置有靈活令牌應(yīng)用和進(jìn)程的計(jì)算機(jī)系統(tǒng)的示例框圖。
具體實(shí)施例方式現(xiàn)在公開的實(shí)施例一般地涉及處理針對(duì)內(nèi)容的請(qǐng)求。更具體地,本文的實(shí)施例涉及在內(nèi)容遞送中使用的靈活令牌。實(shí)施例向內(nèi)容提供商提供用于規(guī)定內(nèi)容分發(fā)的方式的靈活方案。內(nèi)容提供商可以將包括一個(gè)或多個(gè)參數(shù)的靈活令牌插入內(nèi)容指示符(諸如,統(tǒng)一資源標(biāo)識(shí)符(URI)或統(tǒng)一資源定位符(URL)),以及靈活令牌可被內(nèi)容分發(fā)者讀取。內(nèi)容分發(fā)者可以使用靈活令牌來(lái)確定內(nèi)容分發(fā)的方式。在一些實(shí)施例中,內(nèi)容分發(fā)者生成令牌語(yǔ)義的菜單。該語(yǔ)義可以指定內(nèi)容指示符中的條款和參數(shù)的格式。在一個(gè)實(shí)施例中,參數(shù)的格式是名稱/值對(duì)格式。通常在針對(duì)內(nèi)容的請(qǐng)求和內(nèi)容的遞送之前生成名稱/值對(duì)語(yǔ)義的菜單。內(nèi)容提供商可以選擇內(nèi)容提供商將要用于指定如何遞送內(nèi)容的一個(gè)或多個(gè)令牌語(yǔ)義。令牌語(yǔ)義可以單獨(dú)地選擇,或者語(yǔ)義中的某些令語(yǔ)義可以綁定在一起,其中,對(duì)于內(nèi)容提供商使用來(lái)指定如何遞送內(nèi)容,語(yǔ)義綁定組是可選擇的。在一些實(shí)施例中,內(nèi)容分發(fā)者可以將名稱/值對(duì)語(yǔ)義的菜單中的條款進(jìn)行貨幣化。貨幣化允許在內(nèi)容提供商從菜單選擇多個(gè)語(yǔ)義時(shí)提供每單位的折扣。例如,內(nèi)容分發(fā)者可以針對(duì)單獨(dú)選擇的每個(gè)語(yǔ)義以固定價(jià)格對(duì)內(nèi)容提供商進(jìn)行收費(fèi);但是可以對(duì)每單位以較少的價(jià)格進(jìn)行收費(fèi),因?yàn)檫x擇了更多的語(yǔ)義。內(nèi)容分發(fā)者可以針對(duì)語(yǔ)義的綁定集合以綁定費(fèi)率進(jìn)行收費(fèi)。語(yǔ)義可以針對(duì)綁定組中的包含物進(jìn)行選擇,以允許對(duì)內(nèi)容分發(fā)者的分發(fā)系統(tǒng)和過(guò)程進(jìn)行優(yōu)化。在各種實(shí)施例中,靈活令牌包括參數(shù)的列表和摘要。摘要可以用于數(shù)據(jù)完整性和源的認(rèn)證。對(duì)于內(nèi)容分發(fā),要滿足參數(shù)定義限制。參數(shù)可以是眾多不同類型和值。例如,參數(shù)列表可以包括數(shù)據(jù)、時(shí)間、協(xié)議、加密指示符、加密類型、地理位置、備選內(nèi)容,等等。在實(shí)施例中,內(nèi)容指示符包括協(xié)議、主機(jī)、資源路徑和靈活令牌參數(shù)。協(xié)議可以是實(shí)時(shí)流傳輸協(xié)議(RTSP)、RTSP UDP (RTSPU)、RTSP TCP (RTSPT)、實(shí)時(shí)消息遞送協(xié)議(RTMP)、 RTMP加密(RTMPE)、RTMP SSL-加密(RTMPS)、或者超文本傳送協(xié)議(HTTP),但不限于此。主機(jī)可以是用點(diǎn)隔開的域路徑、或以點(diǎn)隔開的十進(jìn)制格式的互聯(lián)網(wǎng)協(xié)議(IP)地址,但不限于此。資源路徑可以是一個(gè)或多個(gè)目錄或子目錄,但不限于此。每個(gè)令牌參數(shù)可以是名稱/ 值對(duì),但不限于此。參數(shù)名稱/值對(duì)可以用于規(guī)定眾多數(shù)據(jù)類型,包括但不限于,商業(yè)邏輯以及對(duì)針對(duì)內(nèi)容的請(qǐng)求進(jìn)行響應(yīng)的條款。該商業(yè)邏輯以及響應(yīng)條款可以指定響應(yīng)的方式和 /或是否向內(nèi)容指示符中內(nèi)嵌的內(nèi)容請(qǐng)求進(jìn)行響應(yīng)。
名稱規(guī)定了參數(shù)名稱,以及值規(guī)定了與參數(shù)關(guān)聯(lián)的值。可以規(guī)定各種類型的的值,包括但不限于,加密指示符、加密類型、時(shí)間跨度(例如,內(nèi)容請(qǐng)求有效時(shí)的時(shí)間)、內(nèi)容請(qǐng)求有效的一個(gè)或多個(gè)地理區(qū)域、備選內(nèi)容,等等。例如,參數(shù)名稱/值對(duì)可以利用諸如 “start_time =〈date and time〉”之類的聲明來(lái)規(guī)定時(shí)間跨度,其中〈date and time〉規(guī)定了依照某種格式的日期和時(shí)間。作為另一個(gè)示例,參數(shù)名稱/值可以利用諸如“l(fā)ocation =〈country code(s)>" 之類的聲明規(guī)定一個(gè)或多個(gè)地理區(qū)域,其中country code (s)(國(guó)家代碼)可以是任何國(guó)家指示符格式。例如,一些國(guó)家代碼可以是UK (大不列顛聯(lián)合王國(guó))、GB (英國(guó))、US (美國(guó))、 CA(加拿大)、CH(中國(guó))、JP(日本)等??梢岳弥T如“encryption = <Yes or No〉”和 "encryption =〈encryption type code〉”之類的參數(shù)名稱/值對(duì)來(lái)規(guī)定加密和加密類型。作為又一個(gè)示例,備選的內(nèi)容名稱/值對(duì)可以采用“alternative content = 〈alternative content name or path>,,的格式。其中〈alternative content name or path)標(biāo)識(shí)了要向進(jìn)行請(qǐng)求的最終用戶發(fā)送的替代所請(qǐng)求的內(nèi)容的備選內(nèi)容。在一些實(shí)施例中,如果規(guī)定了備選內(nèi)容,則僅在令牌中的其他參數(shù)限制(例如,時(shí)間跨度或位置)不滿足時(shí),才發(fā)送該備選內(nèi)容。在其他實(shí)施例中,如果規(guī)定了備選內(nèi)容,則無(wú)論其他參數(shù)限制是否存在或滿足,都發(fā)送規(guī)定的備選內(nèi)容。此外,不同類型的令牌值可以嵌入在其他類型的令牌值中。例如,可以在特定的地理區(qū)域內(nèi)規(guī)定開始和結(jié)束時(shí)間。使用內(nèi)嵌的名稱/值對(duì),內(nèi)容提供商可以規(guī)定對(duì)于指定的時(shí)間,內(nèi)容請(qǐng)求在一個(gè)或多個(gè)地理區(qū)域中的每個(gè)地理區(qū)域內(nèi)有效,以及對(duì)于該一個(gè)或多個(gè)地理區(qū)域內(nèi)的每個(gè)地理區(qū)域,指定的時(shí)間可以不同。作為另一個(gè)示例,內(nèi)容提供商可以規(guī)定在該一個(gè)或多個(gè)地理區(qū)域內(nèi)的每個(gè)地理區(qū)域內(nèi)和/或在指定的時(shí)間段期間是否使用加密, 以及可以針對(duì)不同的地理位置和/或時(shí)間跨度規(guī)定不同的加密類型。在各種實(shí)施例中,令牌足夠靈活,使得不需要包括列表中所選擇的語(yǔ)義集合的所有的或任何參數(shù)。換言之,即使內(nèi)容提供商可以選擇一個(gè)或多個(gè)令牌語(yǔ)義的特定集合,但是內(nèi)容提供商不需要以固定方式生成包括所有語(yǔ)義參數(shù)的令牌。即使參數(shù)的順序發(fā)生改變, 或者參數(shù)可以包括在任何給定內(nèi)容請(qǐng)求的內(nèi)容指示符中或從任何給定內(nèi)容請(qǐng)求的內(nèi)容指示符中移除,內(nèi)容分發(fā)者都可以基于令牌的語(yǔ)義來(lái)確定列表中的參數(shù)的含義。因此,參數(shù)是順序無(wú)關(guān)的。在一些實(shí)施例中,靈活令牌可以包括對(duì)與分發(fā)內(nèi)容有關(guān)的限制進(jìn)行陳述的參數(shù)。 例如,參數(shù)可以限制分發(fā)給特定的地理區(qū)域,諸如城市、州、省、國(guó)家和/或大陸。作為另一個(gè)示例,靈活令牌中的參數(shù)可以限制在特定的日期或時(shí)間分發(fā)內(nèi)容。參數(shù)可以使用各種限制組合。因此,例如分發(fā)可以局限于特定時(shí)間的特定地理區(qū)域。在一些實(shí)施例中,靈活令牌可以包括對(duì)在不滿足限制時(shí)的備選進(jìn)行規(guī)定的參數(shù)。 例如,一個(gè)參數(shù)可以規(guī)定如果不滿足限制則應(yīng)該遞送的備選內(nèi)容。備選地,如果不滿足限制,則可以遞送消息(例如,錯(cuò)誤消息)。消息可以實(shí)際上包括對(duì)最終用戶的任何類型的信息或提示。例如,消息可以提示用戶簽約具體的服務(wù)。這在例如內(nèi)容提供商希望向特定用戶(例如,給定地理區(qū)域或人群)銷售特定的服務(wù)的情況下可以是有用的。下面示出和討論各種示例令牌、URI和參數(shù)格式;然而,令牌、URI和參數(shù)格式不限于示出的具體格式。圖1示出了根據(jù)各個(gè)實(shí)施例的,適合于在內(nèi)容分發(fā)中使用的靈活令牌的示例網(wǎng)絡(luò)環(huán)境100。內(nèi)容提供商維護(hù)內(nèi)容提供商網(wǎng)絡(luò)102,其可以包括一個(gè)或多個(gè)網(wǎng)頁(yè)服務(wù)器104和一個(gè)或多個(gè)內(nèi)容源服務(wù)器106。內(nèi)容遞送網(wǎng)絡(luò)(CDN) 108包括用于主控Q10St)來(lái)自內(nèi)容提供商的內(nèi)容的基礎(chǔ)設(shè)施。在圖1的環(huán)境100中,內(nèi)容提供商可以是CDN 108提供商的客戶, 其中CDN 108提供商同意主控來(lái)自內(nèi)容提供商的內(nèi)容。例如,在各個(gè)實(shí)施例中,可以從內(nèi)容提供商網(wǎng)絡(luò)102的內(nèi)容源服務(wù)器106向⑶N 108的一個(gè)或多個(gè)內(nèi)容分發(fā)服務(wù)器112傳播內(nèi)容110??梢詮囊粋€(gè)或多個(gè)內(nèi)容分發(fā)服務(wù)器 112來(lái)主控內(nèi)容110。作為備選或補(bǔ)充,內(nèi)容110中的至少一些可以存儲(chǔ)在一個(gè)或多個(gè)邊緣服務(wù)器114上或者由一個(gè)或多個(gè)邊緣服務(wù)器114主控。例如,內(nèi)容可以從源服務(wù)器106或者分發(fā)服務(wù)器112遞送給邊緣服務(wù)器114。邊緣服務(wù)器114可以戰(zhàn)略上位于⑶N 108內(nèi),以向最終用戶提供地理上的靠近、負(fù)載均衡、或者提供其他性能測(cè)量的增強(qiáng)。計(jì)算機(jī)最終用戶(未示出)使用計(jì)算機(jī)116訪問(wèn)各種網(wǎng)絡(luò)資源,諸如內(nèi)容提供商網(wǎng)絡(luò)102或者⑶N 108的資源。通常,計(jì)算機(jī)116執(zhí)行網(wǎng)絡(luò)瀏覽器應(yīng)用,諸如互聯(lián)網(wǎng) Explorer 或者Firefox ,以訪問(wèn)網(wǎng)絡(luò)資源。計(jì)算機(jī)116還可以執(zhí)行流式媒體播放器,諸如 Flash Media Player 或者Quicktime 。通過(guò)計(jì)算機(jī)116上運(yùn)行的應(yīng)用,用戶可以觀看、 收聽、以及以其他方式體驗(yàn)內(nèi)容,所述內(nèi)容諸如(但不限于)是視頻、音頻、多媒體、圖像、照片、網(wǎng)頁(yè)、文本或其他。出于眾多理由,內(nèi)容提供商可能希望規(guī)定內(nèi)容對(duì)于最終用戶而言的可訪問(wèn)的方式,或者是否可訪問(wèn)。如果存在任何這種可訪問(wèn)性的話,內(nèi)容提供商可能希望基于與最終用戶關(guān)聯(lián)的多個(gè)屬性來(lái)規(guī)定這種可訪問(wèn)性。例如,內(nèi)容提供商可能提供對(duì)體育事件的實(shí)況流式網(wǎng)絡(luò)廣播,其由CDN 108主控。由于協(xié)定協(xié)議,內(nèi)容提供商可能希望僅特定區(qū)域中的最終用戶可訪問(wèn)實(shí)況網(wǎng)絡(luò)廣播。當(dāng)然,計(jì)算機(jī)116的最終用戶可以駐留在那些地理區(qū)域內(nèi),也可以不駐留在那些地理區(qū)域內(nèi)。作為另一個(gè)示例,如果最終用戶請(qǐng)求的內(nèi)容不可訪問(wèn)的話,則內(nèi)容提供商可能希望提供備選內(nèi)容項(xiàng),諸如視頻剪輯。為了適應(yīng)這種內(nèi)容可訪問(wèn)性期望,⑶N 108可以包括這樣的效用和功能,由此,可以定義內(nèi)容可訪問(wèn)性規(guī)則以及生成商業(yè)邏輯,以便以指定方式處理請(qǐng)求。這樣的規(guī)則通?;诎l(fā)出內(nèi)容請(qǐng)求的計(jì)算機(jī)(例如,計(jì)算機(jī)16)的IP地址以及與IP地址關(guān)聯(lián)的屬性。規(guī)則可以如何基于眾多屬性規(guī)定來(lái)處理請(qǐng)求,其可以在請(qǐng)求的時(shí)候基于IP地址來(lái)確定。為此,⑶N 108包括IP地址關(guān)聯(lián)數(shù)據(jù),其表征與可能是請(qǐng)求的源的眾多IP地址相關(guān)聯(lián)的不同屬性,使得可以基于IP地址屬性來(lái)應(yīng)用規(guī)則。例如,在圖1的實(shí)施例中,⑶N 108包括規(guī)則生成器服務(wù)器118,可操作用于從例如內(nèi)容提供商網(wǎng)絡(luò)102的管理計(jì)算機(jī)120接收規(guī)則規(guī)范。規(guī)則生成器服務(wù)器118包括功能模塊,可操作用于向計(jì)算機(jī)12的用戶提供的用戶接口。計(jì)算機(jī)120的用戶,諸如網(wǎng)絡(luò)管理員, 可規(guī)定通過(guò)用戶接口的內(nèi)容可訪問(wèn)性規(guī)則。規(guī)則生成器服務(wù)器118包括用于解釋規(guī)范和對(duì)規(guī)則規(guī)范進(jìn)行編輯、重新格式化、或者編碼成軟件實(shí)現(xiàn)的商業(yè)邏輯122的功能性。在一個(gè)實(shí)施例中,規(guī)則生成器服務(wù)器118是網(wǎng)絡(luò)操作計(jì)算機(jī),⑶m08的管理員可以使用其來(lái)處理規(guī)則規(guī)范。在這點(diǎn)上,規(guī)則生成器服務(wù)器118功能模塊可以提供另外的用戶接口,通過(guò)該另外的用戶接口,用戶可以觀看指定的規(guī)則,編輯它們,和/或重新格式化它們。規(guī)則生成器服務(wù)器118允許手動(dòng)和/或自動(dòng)生成基于規(guī)則的計(jì)算機(jī)可執(zhí)行的商業(yè)邏輯122。在一個(gè)實(shí)施例中,以擴(kuò)展標(biāo)記語(yǔ)義(XML)格式表示基于規(guī)則的計(jì)算機(jī)可執(zhí)行的商業(yè)邏輯122。在所示的實(shí)施例中,提供供應(yīng)工具1 來(lái)生成將多個(gè)IP地址中的每一個(gè)與屬性集合相關(guān)聯(lián)的IP地址屬性地圖條目126。該供應(yīng)工具IM可以從存儲(chǔ)庫(kù)1 獲得原始的IP 地址屬性數(shù)據(jù),以及將數(shù)據(jù)格式化成可解析和可索引的格式。根據(jù)各個(gè)實(shí)施例,來(lái)自規(guī)則生成器服務(wù)器118的商業(yè)邏輯122和IP地址屬性地圖條目1 被部署在⑶N 108中的一個(gè)或多個(gè)請(qǐng)求授權(quán)服務(wù)器(RAQ計(jì)算機(jī)130上。每個(gè) RAS計(jì)算機(jī)130地理上靠近一個(gè)或多個(gè)相應(yīng)的邊緣服務(wù)器114。RAS計(jì)算機(jī)130包括用于將商業(yè)邏輯122應(yīng)用到與從最終用戶設(shè)備(例如計(jì)算機(jī)116)接收的內(nèi)容請(qǐng)求有關(guān)的屬性值的功能性,以便生成對(duì)那些請(qǐng)求的基于規(guī)則的響應(yīng)。更具體地,RAS計(jì)算機(jī)130包括令牌解釋器,其解釋在令牌化內(nèi)容指示符(例如,URL或URI)中包括的參數(shù)名稱/值對(duì)。下面的圖和描述進(jìn)一步描述圖1示出的各種過(guò)程和系統(tǒng)的具體實(shí)施例。圖2是功能框圖,示出了根據(jù)各個(gè)實(shí)施例,可操作用于使用靈活令牌來(lái)對(duì)內(nèi)容請(qǐng)求執(zhí)行基于規(guī)則的處理的系統(tǒng)200中的模塊。系統(tǒng)200可以考慮為包括配置部分或過(guò)程以及實(shí)時(shí)內(nèi)容請(qǐng)求處理部分或過(guò)程。配置部分生成基于規(guī)則的商業(yè)邏輯和格式化的IP地址屬性數(shù)據(jù),以及將其部署到請(qǐng)求授權(quán)服務(wù)器(RAS)。實(shí)時(shí)請(qǐng)求處理部分將基于規(guī)則的商業(yè)邏輯122應(yīng)用到與實(shí)時(shí)內(nèi)容請(qǐng)求關(guān)聯(lián)的屬性值,以做出關(guān)于如何處理內(nèi)容請(qǐng)求的決定。圖 2示出的各種功能模塊可以在圖1的環(huán)境中示出的設(shè)備和網(wǎng)絡(luò)中實(shí)現(xiàn)。作為配置過(guò)程的一部分,規(guī)則生成器202從客戶(諸如內(nèi)容提供商)接收規(guī)則規(guī)范204。該規(guī)則生成器202配置為基于規(guī)則規(guī)范生成計(jì)算機(jī)可執(zhí)行的基于規(guī)則的商業(yè)邏輯 122?;谝?guī)則的商業(yè)邏輯122可以是一個(gè)或多個(gè)擴(kuò)展標(biāo)記語(yǔ)言(XML)程序206的形式。商業(yè)邏輯可以通過(guò)數(shù)據(jù)驅(qū)動(dòng)的判決節(jié)點(diǎn)的層級(jí)的方式來(lái)實(shí)現(xiàn)。通過(guò)規(guī)則生成器202,可以將判決節(jié)點(diǎn)映射到客戶執(zhí)行的規(guī)則。作為配置過(guò)程的另一部分,供應(yīng)工具208接收和處理原始的IP地址屬性數(shù)據(jù)210。 在一個(gè)實(shí)施例中,從諸如Quova 的商業(yè)可獲得的源接收原始IP地址屬性數(shù)據(jù)210。IP地址屬性數(shù)據(jù)將IP地址(個(gè)別地或者按范圍)映射到與該IP地址關(guān)聯(lián)的多個(gè)半靜態(tài)的屬性值。例如,屬性數(shù)據(jù)可以包括每個(gè)IP地址所駐留的國(guó)家、城市、郵政編碼和自治系統(tǒng)號(hào)。 屬性數(shù)據(jù)還可以包括大陸、州、指定的市場(chǎng)區(qū)域、大城市統(tǒng)計(jì)區(qū)域、連接類型、線速度和與IP 地址關(guān)聯(lián)的IP路由類型。術(shù)語(yǔ)半靜態(tài)用于指示屬性值可以隨時(shí)間改變,但是對(duì)于任何特定的IP地址,這種改變相對(duì)很少發(fā)生。例如,針對(duì)給定的IP地址,半靜態(tài)的屬性值可能僅每隔幾年改變一次。 然而,原始IP屬性數(shù)據(jù)210的改變可以或多或少地頻繁些,諸如每周或每個(gè)月。在一個(gè)實(shí)現(xiàn)中,在Quova 數(shù)據(jù)的情況下,每周檢索IP地址屬性數(shù)據(jù),但是通常與它們相關(guān)的IP地址僅有一小部分發(fā)生改變。原始的IP地址屬性數(shù)據(jù)210存儲(chǔ)在數(shù)據(jù)庫(kù)212中,其中,可以由供應(yīng)工具208處理該數(shù)據(jù)。供應(yīng)工具208通常對(duì)原始的IP地址屬性數(shù)據(jù)202進(jìn)行格式化,使得數(shù)據(jù)可以通過(guò) IP地址進(jìn)行索引。在一些實(shí)施例中,供應(yīng)工具208生成IP地址屬性地圖,諸如下面討論地那樣,其是可以通過(guò)IP地址進(jìn)行索引來(lái)檢索與IP地址關(guān)聯(lián)的屬性值的數(shù)據(jù)結(jié)構(gòu)。在格式化之后,IP地址屬性地圖214供應(yīng)在管理服務(wù)器216上。類似地,基于規(guī)則的商業(yè)邏輯206 供應(yīng)在管理服務(wù)器216的請(qǐng)求授權(quán)服務(wù)器218上。
當(dāng)處理內(nèi)容請(qǐng)求時(shí),如果所請(qǐng)求的內(nèi)容不在邊緣服務(wù)器222上,則從客戶內(nèi)容源服務(wù)器220(或者⑶N分發(fā)服務(wù)器)下載內(nèi)容到管理服務(wù)器216管理的邊緣服務(wù)器222。邊緣服務(wù)器222包括軟件代理224,其可操作用于從邊緣服務(wù)器222處接收的內(nèi)容請(qǐng)求中收集屬性數(shù)據(jù)。代理2M配置為識(shí)別一個(gè)或多個(gè)屬性類型的所選擇的屬性值,對(duì)屬性值進(jìn)行封裝(例如,格式化),以及將它們發(fā)送給RAS 218。請(qǐng)求授權(quán)服務(wù)器(RAQ218配置為將基于規(guī)則的商業(yè)邏輯206應(yīng)用到與內(nèi)容請(qǐng)求關(guān)聯(lián)的屬性值。如此,在操作期間,當(dāng)接收到請(qǐng)求時(shí),RAS 218使用部分地從請(qǐng)求確定的屬性值來(lái)判決如何處理請(qǐng)求。處理請(qǐng)求可以包括允許內(nèi)容請(qǐng)求、拒絕內(nèi)容請(qǐng)求、或者重定向內(nèi)容請(qǐng)求。例如,在用戶選擇執(zhí)行指向來(lái)自客戶管理的網(wǎng)絡(luò)服務(wù)器230上主控的網(wǎng)頁(yè)的關(guān)聯(lián)內(nèi)容的超鏈接時(shí),最終用戶的瀏覽器應(yīng)用226可以生成針對(duì)內(nèi)容的請(qǐng)求228。在HTTP的情況下,請(qǐng)求2 可以是GET請(qǐng)求。來(lái)自網(wǎng)絡(luò)服務(wù)器230的響應(yīng)包括指向所要內(nèi)容項(xiàng)目的位置的統(tǒng)一資源標(biāo)識(shí)符(URI)。靈活令牌可以嵌入在URI中。可以生成的示例URI示出如下rtmp//mediacorpfs. fplive. net/mediacorp/drama/george_and_carla. fIv上述URI的一部分是RAS 218在處理內(nèi)容請(qǐng)求時(shí)可以使用的示例性屬性值。例如,“rtmp”指定協(xié)議,其是可能的屬性類型。作為另一個(gè)示例,“mediacorp”是客戶標(biāo)識(shí)符 (ID),其是另一個(gè)可能的屬性類型。作為又一個(gè)示例,“flv”是文件類型,其是又一個(gè)可能的屬性類型。所有的前述屬性類型值可以在關(guān)于如何處理請(qǐng)求的判決中使用。如已經(jīng)提到的,在一些實(shí)施例中,客戶可以在URI中包括靈活令牌。上面示出的URI不具有內(nèi)嵌的令牌。下面的示例URI具有內(nèi)嵌的靈活令牌rtmp://mediacorpfs. fplive. net/mediacorp/drama/george_and_carla. fIv ? token = F71A05E224B90016在上面的示例URI中,已經(jīng)插入了靈活令牌值F71A05E2MB90016。該靈活令牌值可以是RAS 218能夠解碼或解密的哈希值或者加密值。令牌可以規(guī)定一個(gè)或多個(gè)屬性值, 諸如時(shí)間限制、優(yōu)惠券等等。在接收到URI 232之后,瀏覽器應(yīng)用2 生成針對(duì)邊緣服務(wù)器222的另外的內(nèi)容請(qǐng)求。對(duì)邊緣服務(wù)器222的選擇可以基于域名系統(tǒng)(DNS)查詢來(lái)進(jìn)行,其中URI 232的目的地被解析為邊緣服務(wù)器232的IP地址。當(dāng)邊緣服務(wù)器222接收到內(nèi)容請(qǐng)求234時(shí),代理 224對(duì)請(qǐng)求234進(jìn)行解析,并且提取代理2M被配置為要收集的屬性值。例如,在一些實(shí)施例中,代理2M可以配置為收集IP地址、客戶ID、協(xié)議、文件類型、以及資源。這些和其他類型的屬性可以稱為實(shí)時(shí)屬性。其他類型的實(shí)時(shí)屬性例如是目錄和資源。代理2M封裝它接收的實(shí)時(shí)屬性值,并且在請(qǐng)求236中將它們傳送給RAS 218。 通過(guò)利用來(lái)自代理224的IP地址將屬性索引到IP地址屬性地圖214中,RAS 218使用IP 地址來(lái)確定更多屬性。使用實(shí)時(shí)屬性和半靜態(tài)屬性,以及可能的其他屬性,RAS 218應(yīng)用商業(yè)邏輯來(lái)確定如何處理內(nèi)容請(qǐng)求234。在各個(gè)實(shí)施例中,商業(yè)邏輯的應(yīng)用涉及遍歷數(shù)據(jù)驅(qū)動(dòng)的判決節(jié)點(diǎn)的層級(jí)。如下面討論的,圖6示出了判決節(jié)點(diǎn)的層級(jí)的示例實(shí)施例,并且在下文中詳細(xì)討論。在RAS 218應(yīng)用商業(yè)邏輯之后,生成回送給代理2 的基于規(guī)則的判決238?;谝?guī)則的判決238被并入回送給最終用戶瀏覽器的226的響應(yīng)MO中。如下面詳細(xì)討論的, 響應(yīng)240可以是眾多不同類型的響應(yīng)之一。
在系統(tǒng)200的一個(gè)實(shí)施例中,規(guī)則生成器202和供應(yīng)工具208工作在位于⑶N中央的服務(wù)器計(jì)算機(jī)上,并且邊緣服務(wù)器計(jì)算機(jī)222和管理服務(wù)器計(jì)算機(jī)216位于CDN的另外的區(qū)域。在該實(shí)施例中,可以存在CDN的多個(gè)區(qū)域,其中每個(gè)區(qū)域具有一個(gè)或多個(gè)邊緣服務(wù)器計(jì)算機(jī)和管理服務(wù)器計(jì)算機(jī)構(gòu)成的群。規(guī)則生成器202和供應(yīng)工具208可操作用于將它們各自的邏輯和數(shù)據(jù)部署到各個(gè)區(qū)域管理計(jì)算機(jī)。圖3示出了可以利用靈活令牌的對(duì)內(nèi)容請(qǐng)求的基于規(guī)則的處理的示例方案。在示出的場(chǎng)景中,使用3個(gè)一般類型的屬性值來(lái)判決如何處理內(nèi)容請(qǐng)求302 實(shí)時(shí)屬性值304、半靜態(tài)屬性值306,以及地址無(wú)關(guān)的屬性值308。一般地,在接收到內(nèi)容請(qǐng)求時(shí),確定屬性值。 一些值是地址相關(guān)的,而另一些屬性值是與地址無(wú)關(guān)的。例如,實(shí)時(shí)屬性值304包括IP地址、協(xié)議、客戶標(biāo)識(shí)符(ID)、請(qǐng)求的資源、服務(wù)器、 文件類型、令牌、和/或其他,所述值取決于接收到的請(qǐng)求,并且在進(jìn)行請(qǐng)求時(shí)或在接收到請(qǐng)求302之后不久建立。當(dāng)接收到請(qǐng)求302時(shí),例如由邊緣服務(wù)器代理224(圖2、從請(qǐng)求 302中提取實(shí)時(shí)屬性值304,并且將其封裝成分層判決過(guò)程314可解析的格式。基于IP地址310確定半靜態(tài)屬性306,諸如國(guó)家、城市、郵政編碼、自治系統(tǒng)(AS) 和/或其他。因此,半靜態(tài)屬性值306取決于請(qǐng)求,但是因?yàn)樗鼈兪窃谡?qǐng)求生成之前建立并且在請(qǐng)求時(shí)查找到的,所以不認(rèn)為它們是實(shí)時(shí)屬性。半靜態(tài)屬性306是在IP地址地圖312 中查找的,該IP地址地圖312將IP地址或者地址范圍映射到一個(gè)或多個(gè)相應(yīng)的半靜態(tài)屬性值。IP地址310用作在地圖312中查找屬性值的索引或關(guān)鍵字。在示出的具體場(chǎng)景中, 確定IP地址310在地圖312的IP地址范圍2中。地址無(wú)關(guān)的屬性值308包括,但不限于,接收到請(qǐng)求302時(shí)的當(dāng)前時(shí)間、日期或星期幾。時(shí)間是一天中的當(dāng)前時(shí)刻,其不是由請(qǐng)求中規(guī)定的IP地址來(lái)設(shè)置的。如此,時(shí)間是與IP地址無(wú)關(guān)的。如此處討論的,當(dāng)前時(shí)間、日期、和/或星期幾可以用于與請(qǐng)求302中的令牌中可能提供的時(shí)間段進(jìn)行比較。其他地址無(wú)關(guān)的屬性值可以是并非基于IP地址來(lái)設(shè)置或確定的系統(tǒng)屬性值。進(jìn)一步關(guān)于請(qǐng)求302中的靈活令牌,在一個(gè)實(shí)施例中,靈活令牌包括一個(gè)或多個(gè)參數(shù)名稱/值對(duì)。在一個(gè)實(shí)施例中,以庫(kù)64(base 64)來(lái)編碼靈活令牌值。在編碼為庫(kù)64 之前的靈活令牌的示例示出如下start_time = 2008080808113000&end_time = 2008080808130000&digest = 2af da6bbc02153da236bd09245a3c332o在上述示例靈活令牌中,“Start_time (開始時(shí)間)”、“end_time (結(jié)束時(shí)間),,和 “digest (摘要)”是參數(shù)名稱。數(shù)字值是參數(shù)值。如此,上面的示例包括3個(gè)名稱/值對(duì)。進(jìn)一步關(guān)于摘要值,在一個(gè)或多個(gè)實(shí)施例中,摘要值是一個(gè)或多個(gè)數(shù)據(jù)單元的編碼版本。該摘要消息將進(jìn)入.message的數(shù)據(jù)單元定義成十六進(jìn)制數(shù)字串,該.message接著通過(guò)加密算法(諸如哈希算法(例如MD5))傳送。在一個(gè)實(shí)施例中,加密進(jìn)摘要消息的數(shù)據(jù)單元是〈digest message> ~ <resouroe patli> <paramef r flsl>#<s8orei p Ii
<resource palh> - <path component〉+ <path component》=Yksegment> <S6gfneot>' - (CaJphaycdIgIty-HI,'"1]!+
<moml phrase> ~ <unreserved character in XML>+·.可以用于生成摘要的示例消息在此示出如下/bigears/teens/john_joan> wmv ? start_time = 2008080808113000&end_time =2008080808130000#ourlittlesecret實(shí)時(shí)屬性值304、半靜態(tài)屬性值306和地址無(wú)關(guān)屬性值308被輸入進(jìn)RAS上執(zhí)行的分層判決過(guò)程314。在各個(gè)實(shí)施例中,分層判決過(guò)程314是數(shù)據(jù)驅(qū)動(dòng)的。在這種實(shí)施例中, 在層級(jí)中的每個(gè)節(jié)點(diǎn)處,一個(gè)或多個(gè)屬性值輸入到該節(jié)點(diǎn),與預(yù)定值相對(duì)地進(jìn)行測(cè)試,以由此確定該節(jié)點(diǎn)或者另一個(gè)進(jìn)行執(zhí)行的節(jié)點(diǎn)的輸出。分層的判決過(guò)程314最終發(fā)出對(duì)如何處理內(nèi)容請(qǐng)求進(jìn)行命令的處理判決316,以及因此發(fā)出回復(fù)內(nèi)容請(qǐng)求的內(nèi)容或格式。處理判決316被輸入回復(fù)模塊318?;貜?fù)模塊318生成響應(yīng)于請(qǐng)求302的回復(fù) 320?;貜?fù)320可以包括相應(yīng)代碼以及其他信息。例如,回復(fù)320可以包括這樣的代碼,所述代碼指示針對(duì)內(nèi)容的請(qǐng)求是否被允許,或者該請(qǐng)求是否被重定向到備選內(nèi)容。圖4示出了可操作用于使用靈活令牌來(lái)執(zhí)行內(nèi)容請(qǐng)求處理的網(wǎng)絡(luò)配置400的另一實(shí)施例。網(wǎng)絡(luò)配置400包括內(nèi)容遞送網(wǎng)絡(luò)402、客戶網(wǎng)絡(luò)404和一個(gè)或多個(gè)最終用戶406。內(nèi)容遞送網(wǎng)絡(luò)402包括用于生成靈活令牌語(yǔ)義的菜單和解釋令牌化內(nèi)容指示符中的靈活令牌參數(shù)的組件和數(shù)據(jù)。例如,內(nèi)容遞送網(wǎng)絡(luò)402包括客戶接口 408、語(yǔ)義生成器 410、以及語(yǔ)義發(fā)布器412,其產(chǎn)生靈活令牌語(yǔ)義414的菜單??蛻艚涌?408可以是人或者自動(dòng)化系統(tǒng),或者是其組合,其與客戶進(jìn)行接口連接以確定客戶(例如,內(nèi)容提供商)的優(yōu)選靈活令牌語(yǔ)義??蛻艚涌?408可以向語(yǔ)義生成器410反饋客戶首選項(xiàng)。語(yǔ)義生成器410可以使用客戶信息和/或其他信息來(lái)生成用于在創(chuàng)建靈活令牌中使用的語(yǔ)義的集合。語(yǔ)義發(fā)布器 412在客戶404可訪問(wèn)的菜單414中發(fā)布生成的語(yǔ)義。在一個(gè)實(shí)施例中,語(yǔ)義菜單414包括參數(shù)名稱和值格式的列表??蛻?04可以選擇客戶希望使用參數(shù)名稱和值格式的哪些集合。備選地,客戶404可以使用所有的列出的參數(shù)名稱和值格式。在一些實(shí)施例中,語(yǔ)義菜單414中的語(yǔ)義可以成組綁定或封裝。令牌語(yǔ)義的集合的這種封裝對(duì)于客戶和/或內(nèi)容分發(fā)者可能是有用的。例如,某些語(yǔ)義集合可以是兼容的, 并且因此綁定在一起,而其他語(yǔ)義組合可能是不兼容的并且因此不包括在相同的包中。內(nèi)容分發(fā)者可以對(duì)菜單414中的語(yǔ)義進(jìn)行貨幣化,其中針對(duì)語(yǔ)義的使用向客戶收費(fèi)。貨幣化可能應(yīng)用到每個(gè)參數(shù)名稱/值格式對(duì)和/或貨幣化可以應(yīng)用到多個(gè)參數(shù)名稱/值對(duì)構(gòu)成的組。在一個(gè)實(shí)施例中,管理器416接收客戶的語(yǔ)義選擇418。管理器416可以是配置RAS 420的供應(yīng)系統(tǒng)。所選擇的語(yǔ)義418被傳送給請(qǐng)求授權(quán)服務(wù)器(RAQ 420,其包括令牌解釋器422。令牌解釋器422可操作用于根據(jù)令牌語(yǔ)義來(lái)解釋靈活令牌。令牌解釋器422 配置為以在參數(shù)名稱/值對(duì)的順序上和格式上允許靈活性的方式來(lái)解釋令牌參數(shù)。
例如,令牌解釋器422不需要參數(shù)名稱/值對(duì)以任何特定的順序出現(xiàn),或者在給定令牌中存在任意數(shù)目的參數(shù)名稱/值對(duì)。參數(shù)名稱/值對(duì)是自定義的,并且支持令牌解釋器422在無(wú)固定令牌格式的情況下導(dǎo)出令牌的含義。無(wú)論令牌中存在哪些參數(shù)名稱/值對(duì)以及無(wú)論它們的順序如何,令牌解釋器422可以導(dǎo)出任何給定令牌的含義。在令牌解釋器 422不能夠根據(jù)語(yǔ)義導(dǎo)出含義的一些情況下,令牌解釋器422可以使用參數(shù)的默認(rèn)值。
RAS 420與邊緣服務(wù)器似4通信以促進(jìn)生成對(duì)來(lái)自最終用戶406的內(nèi)容請(qǐng)求的合適響應(yīng)。在一個(gè)實(shí)施例中,RAS 420使用來(lái)自令牌解釋器422的結(jié)果,以命令邊緣服務(wù)器424 生成合適的響應(yīng)。邊緣服務(wù)器似4生成基于令牌的響應(yīng)426,其可以包括所請(qǐng)求的內(nèi)容、備選內(nèi)容、無(wú)內(nèi)容、消息或者其他。內(nèi)容可以是從內(nèi)容服務(wù)器4 檢索的。現(xiàn)在參考客戶404,客戶網(wǎng)絡(luò)可以包括語(yǔ)義選擇器430和內(nèi)容指示符生成器,諸如 URI生成器432。URI生成器432可以包括靈活令牌生成器434。語(yǔ)義選擇器430可以是從語(yǔ)義菜單選擇一個(gè)或多個(gè)語(yǔ)義的人或者自動(dòng)化系統(tǒng)。在一個(gè)實(shí)施例中,使用所有語(yǔ)義,并且不執(zhí)行選擇。URI生成器432可操作用于從最終用戶460接收內(nèi)容請(qǐng)求436以及生成合適的令牌化URI 438,其中用戶406可以使用該令牌化URI 438來(lái)請(qǐng)求內(nèi)容。令牌生成器434生成 (例如,創(chuàng)建和格式化)要被包括在URI 438中的靈活令牌。如此處進(jìn)一步討論的,靈活令牌包括一個(gè)或多個(gè)參數(shù)名稱/值對(duì),其不需要在令牌內(nèi)以任何特定的順序放置。相反,名稱 /值語(yǔ)法本身足以供令牌解釋器422確定令牌參數(shù)的含義。當(dāng)然,在一些情況下,令牌化的 URI 438不包括令牌。圖5示出了在用于處理內(nèi)容請(qǐng)求的靈活令牌機(jī)制中可以使用的各種數(shù)據(jù)單元。數(shù)據(jù)單元是令牌化的URI 502、令牌值504、以及參數(shù)名稱/值對(duì)506。令牌化的URI 502包括協(xié)議(protocol)字段508、主機(jī)(host)字段510、資源路徑(resource path) 512以及令牌 (token)514。作為示例,URI 502可以采用下面的格式<tokenized URI> = <protocol>//<host><resource path> ? token = <token value>〈protocol〉 = RTSP|RTSPU|RTSPT|RTMP|RTMPE|RTMPS|HTTP屬性<host>通常是用點(diǎn)隔開的域路徑(例如,video, cdn. net),或者以點(diǎn)隔開的十進(jìn)制格式的IP地址。此處示出了令牌化的URI的特定示例rtsp://bigearswm. fplive. com/bigears/teens/john_joan. wmv ? flex—token =as4fd3dj8876dsdfrER454FGfij4534532sdsfd345FDGF3455dfdf.令牌值504通常包括參數(shù)(例如,參數(shù)名稱/值對(duì))和摘要518的列表516。該摘要可以用于用戶認(rèn)證和確認(rèn)。令牌值504的示例格式示出如下<token value> = 〈parameter list>&digest = <MD5 digest)示例參數(shù)列表格式和參數(shù)格式示出如下<para meter }is!> = <parainete r> j<para. meter> &<parameter list> <parameter>,- s:aroims-<date and time> | cen(ijim >=<date atxl tinis>
<date and time> - <y ar><monthxday><f]ourxni nυie><seconcl>
<year> - <digH><d丨gitxcf
<mon!h> 二 ( 'Ι ')<ci!git>
<day> = (OT1T2T3')<digil>
<hour>=(OT1T2;)<ai0ii>
<minute> =3 <digil-b8><:cligit>
<seconcl> = <dig!i-b6xdigit>
<d;gif> = Τ1Τ2 \*3Ψ4' PW f9'
<dig[t-i:6> - 'Π ·2.丨'3'丨·4'丨'5,丨兮,
<MD5 digest;· - 32<hex cligit>
<Iiex dig!l> = cdigi^faTbTclWfelT參數(shù)506通常包括參數(shù)名稱520和參數(shù)值522。參數(shù)506也稱為參數(shù)名稱/值對(duì)或者簡(jiǎn)稱為名稱/值對(duì)。圖6是示出具體場(chǎng)景中的判決節(jié)點(diǎn)的層級(jí)600的樹圖。如上面討論的,RAS配置為具有數(shù)據(jù)驅(qū)動(dòng)的判決節(jié)點(diǎn)的層級(jí),該判決節(jié)點(diǎn)用于執(zhí)行商業(yè)邏輯。以執(zhí)行示例的基于規(guī)則的商業(yè)邏輯的方式來(lái)布置圖6示出的判決節(jié)點(diǎn)。在一個(gè)實(shí)施例中,節(jié)點(diǎn)實(shí)現(xiàn)為C++中的軟件對(duì)象。一般而言,一個(gè)或多個(gè)屬性值被輸入每個(gè)節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)基于屬性之一進(jìn)行切換,以確定輸出路徑。如果被切換的屬性不在輸入屬性中,或者對(duì)于屬性值沒(méi)有任何特定切換路線,則輸出路徑是默認(rèn)路徑。因此,每個(gè)節(jié)點(diǎn)具有默認(rèn)路徑。在圖6示出的具體場(chǎng)景中,屬性值602被輸入頂級(jí)節(jié)點(diǎn),該頂節(jié)點(diǎn)是客戶節(jié)點(diǎn)604。 客戶節(jié)點(diǎn)604基于客戶ID屬性進(jìn)行切換。在該實(shí)施例中,客戶ID對(duì)應(yīng)于內(nèi)容提供商,其提供用于經(jīng)由CDN分發(fā)的內(nèi)容。通過(guò)基于客戶ID進(jìn)行切換,客戶可以配置在客戶節(jié)點(diǎn)之后做出的任何判決。換言之,可以格式化基于規(guī)則的商業(yè)邏輯,使得在客戶節(jié)點(diǎn)之后的判決節(jié)點(diǎn)基于來(lái)自客戶的規(guī)則規(guī)范。例如,在示出的場(chǎng)景中,如果在屬性值602中識(shí)別出客戶1,則將控制傳向國(guó)家節(jié)點(diǎn)606A,國(guó)家節(jié)點(diǎn)606A根據(jù)客戶1規(guī)定的規(guī)則執(zhí)行商業(yè)邏輯。在圖6的具體場(chǎng)景中,如果屬性值602識(shí)別出國(guó)家是大不列顛聯(lián)合王國(guó),則將控制傳向允許節(jié)點(diǎn)608A。允許節(jié)點(diǎn)608A 生成指示允許內(nèi)容請(qǐng)求的輸出。如果HTTP是正使用的協(xié)議,則允許節(jié)點(diǎn)608A生成“200” 代碼。如果在國(guó)家節(jié)點(diǎn)606A處國(guó)家屬性值是英國(guó),則將控制傳向重定向節(jié)點(diǎn)610A。重定向節(jié)點(diǎn)610A生成對(duì)以商業(yè)邏輯指定的某種方式重定向內(nèi)容請(qǐng)求進(jìn)行指示的輸出。例如,商業(yè)邏輯可以指定備選資源,或者指示拒絕請(qǐng)求的裁剪消息。當(dāng)然,客戶1可能已經(jīng)在規(guī)則中規(guī)定應(yīng)該將最終用戶重定向到哪個(gè)備選資源或消息。如果HTTP是正使用的協(xié)議,則重定向節(jié)點(diǎn)610A輸出“302”代碼。轉(zhuǎn)到國(guó)家代碼606A,在具體實(shí)施例中,如果US或GB都不是屬性值602中指定的國(guó)家,則采用默認(rèn)路徑。默認(rèn)路徑將控制傳向阻止節(jié)點(diǎn)612A。阻止節(jié)點(diǎn)612A生成指示內(nèi)容請(qǐng)求被拒絕的輸出。在HTTP中,阻止節(jié)點(diǎn)612A輸出“403”代碼。轉(zhuǎn)到客戶ID節(jié)點(diǎn)604,如果在屬性值602中識(shí)別出客戶2,則將控制傳向另一國(guó)家節(jié)點(diǎn)606B,國(guó)家節(jié)點(diǎn)606B和國(guó)家節(jié)點(diǎn)606B之下的節(jié)點(diǎn)根據(jù)客戶2規(guī)定的規(guī)則實(shí)現(xiàn)商業(yè)邏輯。在國(guó)家節(jié)點(diǎn)606B的情況下,如果屬性值602識(shí)別出國(guó)家是US,則將控制傳向令牌時(shí)間限制節(jié)點(diǎn)614。如上面討論的,可以將令牌傳給最終用戶,并且其中,令牌嵌入在內(nèi)容請(qǐng)求中,由此允許客戶進(jìn)一步控制如何處理內(nèi)容請(qǐng)求。令牌時(shí)間限制節(jié)點(diǎn)614分析來(lái)自靈活令牌的時(shí)間限制數(shù)據(jù),如果在內(nèi)容請(qǐng)求中傳遞了任何這樣的數(shù)據(jù)的話。時(shí)間限制可以包括在靈活令牌中,該時(shí)間限制通??梢杂糜谝?guī)定內(nèi)容請(qǐng)求有效的時(shí)間范圍。在圖6示出的具體場(chǎng)景中,令牌時(shí)間限制節(jié)點(diǎn)614基于當(dāng)前時(shí)間是在時(shí)間限制規(guī)定的時(shí)間范圍內(nèi)還是在其之外進(jìn)行切換。如果當(dāng)前時(shí)間(例如, 內(nèi)容請(qǐng)求的接收時(shí)間)在規(guī)定的時(shí)間范圍內(nèi),將控制傳向另外的允許節(jié)點(diǎn)608B,允許節(jié)點(diǎn) 608B允許內(nèi)容請(qǐng)求。如果當(dāng)前時(shí)間在規(guī)定的時(shí)間范圍之外,則將控制默認(rèn)轉(zhuǎn)向另一阻止節(jié)點(diǎn)612B,阻止節(jié)點(diǎn)612B拒絕內(nèi)容請(qǐng)求。再次轉(zhuǎn)向客戶節(jié)點(diǎn)604,如果在屬性值602中沒(méi)有識(shí)別出與客戶節(jié)點(diǎn)604的切換所基于的客戶ID相匹配的客戶,則將控制另一國(guó)家代碼606C。國(guó)家代碼606C基于屬性值 602中的國(guó)家數(shù)據(jù)進(jìn)行切換。在具體的場(chǎng)景中,如果在屬性值602中沒(méi)有識(shí)別出US,則將控制默認(rèn)轉(zhuǎn)向另一阻止節(jié)點(diǎn)612E,阻止節(jié)點(diǎn)612E拒絕該內(nèi)容請(qǐng)求。另一方面,如果在屬性值602中識(shí)別出US,則將控制從國(guó)家代碼606C傳向協(xié)議節(jié)點(diǎn)616。協(xié)議節(jié)點(diǎn)616包括基于與內(nèi)容請(qǐng)求關(guān)聯(lián)的協(xié)議來(lái)做出判決的商業(yè)邏輯。在示出的場(chǎng)景中,如果在屬性值602中沒(méi)有識(shí)別出HTTP和RTMP,則將控制默認(rèn)傳向另一阻止節(jié)點(diǎn) 612D,該阻止節(jié)點(diǎn)612D拒絕該內(nèi)容請(qǐng)求。另一方面,如果在屬性值602中識(shí)別出HTTP,則將控制轉(zhuǎn)向另一重定向節(jié)點(diǎn)610B, 重定向節(jié)點(diǎn)610B將內(nèi)容請(qǐng)求重定向到備選資源。如上面討論的,在重定向判決的情況中, 客戶可以規(guī)定用戶可被重定向到的備選資源或消息。備選地,如果在屬性值602中識(shí)別出 RTMP,則將控制傳向另一允許節(jié)點(diǎn)608C,允許節(jié)點(diǎn)608C允許該內(nèi)容請(qǐng)求。關(guān)于圖6示出的層級(jí)600,層級(jí)600僅是用于示例說(shuō)明目的,以使用數(shù)據(jù)驅(qū)動(dòng)的分層判決樹來(lái)示范一個(gè)可能的場(chǎng)景。本領(lǐng)域技術(shù)人員應(yīng)該理解,在操作中,可以在層級(jí)中包括眾多其他類型的節(jié)點(diǎn)以執(zhí)行商業(yè)邏輯。例如,其他判決節(jié)點(diǎn)可以是文件類型節(jié)點(diǎn)和文件位置節(jié)點(diǎn),其中文件類型節(jié)點(diǎn)基于文件類型做出判決,文件位置節(jié)點(diǎn)基于文件在目錄結(jié)構(gòu)中的位置做出判決。此外,判決節(jié)點(diǎn)的布置不是固定的。事實(shí)上,可以以各種方式布置節(jié)點(diǎn), 以實(shí)現(xiàn)商業(yè)邏輯的所有變形。圖7是示出用于使用靈活令牌處理內(nèi)容請(qǐng)求的過(guò)程的流程圖。在一個(gè)實(shí)施例中, 由內(nèi)容分發(fā)者例如經(jīng)由內(nèi)容分發(fā)或者遞送網(wǎng)絡(luò)來(lái)執(zhí)行內(nèi)容處理過(guò)程700。作為綜述,內(nèi)容處理過(guò)程700配置為生成令牌語(yǔ)義的菜單,接收客戶對(duì)一個(gè)或多個(gè)令牌語(yǔ)義所構(gòu)成的集合的選擇,以及根據(jù)所選擇的的語(yǔ)義解釋令牌化的內(nèi)容指示符,同時(shí)允許令牌的格式(例如,參數(shù)名稱/值對(duì)的順序)和內(nèi)容的靈活性。生成操作702生成令牌語(yǔ)義的菜單。在一個(gè)實(shí)施例中,令牌語(yǔ)義的菜單是客戶可以用于規(guī)定與內(nèi)容分發(fā)有關(guān)的限制參數(shù)名稱/值對(duì)的列表。生成操作702還可以包括將參數(shù)名稱/值進(jìn)行貨幣化。在可選的接收操作704中,從客戶接收所選擇的語(yǔ)義。在一個(gè)實(shí)施例中,使用所有語(yǔ)義,并且客戶實(shí)際上不從它們中進(jìn)行選擇。內(nèi)容提供商進(jìn)行的語(yǔ)義選擇可以以自動(dòng)方式 (例如,通過(guò)在線(電子)形式)或者手動(dòng)(例如,提交紙質(zhì)表格和/或通過(guò)人與人的交互) 執(zhí)行。在另一接收操作706中,從最終用戶接收令牌化的URI。令牌化的URI包括具有靈活格式而不是固定格式的靈活令牌。例如,在令牌內(nèi),令牌參數(shù)名稱/值對(duì)實(shí)際上可以是任何的順序。因此名稱/值對(duì)與順序無(wú)關(guān)。此外,對(duì)于在令牌內(nèi)包括哪些名稱/值對(duì)或者是否包括任何名稱/值對(duì),不存在任何要求。客戶對(duì)于在令牌內(nèi)包括哪些名稱/值對(duì)以及哪個(gè)或者是否包括任何名稱/值對(duì)以及以哪個(gè)順序具有判讀力。解釋操作708解釋令牌化的URI中的令牌。解釋操作708可以包括解析令牌以提取參數(shù)名稱和參數(shù)值。解釋操作708還可以包括解密、解碼和/或格式化來(lái)自令牌數(shù)據(jù),以便認(rèn)證、確認(rèn)和以其他方式得到令牌的部分的含義。確定操作710接著使用解釋出的令牌參數(shù)來(lái)確定如何對(duì)內(nèi)容請(qǐng)求進(jìn)行響應(yīng)。確定操作710分析參數(shù)值以確定是否應(yīng)該向請(qǐng)求者發(fā)送所請(qǐng)求的內(nèi)容。確定操作710可以確定不應(yīng)該發(fā)送任何內(nèi)容、或者應(yīng)該發(fā)送備選內(nèi)容。例如,如果不滿足令牌的參數(shù)限制,則靈活令牌中的參數(shù)可以指示向最終用戶發(fā)送備選內(nèi)容。為了說(shuō)明,參數(shù)可以指示可以滿足最終用戶的請(qǐng)求的具體時(shí)間段或地理區(qū)域。參數(shù)還可以指示如果不滿足限制,則發(fā)送備選內(nèi)容。例如如果請(qǐng)求不是在指定時(shí)間段內(nèi)發(fā)送的,或者最終用戶不位于指定的地理區(qū)域中,則將選擇指定的備選內(nèi)容用于響應(yīng)。確定操作710可以確定合適的響應(yīng)是發(fā)送提供為何不滿足內(nèi)容請(qǐng)求的信息消息 (例如“403”消息)。如果滿足令牌參數(shù)設(shè)置的限制,則向最終用戶發(fā)送所請(qǐng)求的內(nèi)容。遞送操作712向最終用戶遞送所確定的響應(yīng)。圖8是示出內(nèi)容分發(fā)網(wǎng)絡(luò)的客戶(例如,內(nèi)容提供商)可以執(zhí)行的用以在管理何時(shí)、何地以及如何分發(fā)內(nèi)容中利用靈活令牌的過(guò)程的流程圖。假設(shè)了內(nèi)容分發(fā)者向內(nèi)容提供商發(fā)布令牌語(yǔ)義的集合,其中語(yǔ)義定義了參數(shù)名稱/值對(duì)。可選選擇操作802選擇一個(gè)或多個(gè)令牌語(yǔ)義以在生成靈活令牌中使用。在一些實(shí)施例中,所有的令牌語(yǔ)義都可使用,并且沒(méi)有選擇步驟。通知操作804可以向內(nèi)容分發(fā)者通知選擇哪些令牌語(yǔ)義供使用。內(nèi)容分發(fā)者可以維護(hù)哪些客戶使用哪些令牌語(yǔ)義的總賬 (ledger)0接收操作806從最終用戶接收針對(duì)內(nèi)容的請(qǐng)求。針對(duì)內(nèi)容的請(qǐng)求806通常規(guī)定了文件名或者其他源。在接收到針對(duì)內(nèi)容的請(qǐng)求之后,客戶在生成操作808中生成靈活令牌。 生成操作808基于使用的令牌語(yǔ)義創(chuàng)建和格式化令牌參數(shù)。如此處所討論的,當(dāng)在靈活令牌中包括參數(shù)時(shí),生成操作808不局限于固定格式。相反,生成操作808可以從語(yǔ)義中選擇任何參數(shù)以包括在令牌中,或不選擇任何參數(shù)。另外,生成操作可以以任何順序放置參數(shù)。在生成令牌化的URI之后,發(fā)送操作810向請(qǐng)求內(nèi)容的最終用戶發(fā)送令牌化的
16URI。令牌化的URI可以具有諸如上面關(guān)于圖5討論的格式。圖9是在其上可以實(shí)現(xiàn)和執(zhí)行本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)900的示意圖。例如, 一個(gè)或多個(gè)計(jì)算設(shè)備900可以配置為使用靈活令牌處理內(nèi)容請(qǐng)求,或者生成或選擇對(duì)可在靈活令牌中使用的參數(shù)進(jìn)行定義的令牌語(yǔ)義的集合。計(jì)算機(jī)系統(tǒng)900—般性地作為任何數(shù)目的計(jì)算機(jī)設(shè)備的示例,包括通用計(jì)算機(jī)(例如,臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)或者服務(wù)器計(jì)算機(jī))或者專用計(jì)算機(jī)(例如,嵌入式系統(tǒng))。根據(jù)本示例,計(jì)算機(jī)系統(tǒng)900包括總線901 (即,互聯(lián))、至少一個(gè)處理器902、至少一個(gè)通信端口 903、主存儲(chǔ)器904、可拆卸存儲(chǔ)介質(zhì)905、只讀存儲(chǔ)器906、以及大容量存儲(chǔ)設(shè)備907、處理器902可以是任何已知的處理器,諸如,但不限于,Intel - Itaniun^或者 Itanium 2 處理器、AMD opteron 或者Athlon MP 處理器、或者M(jìn)otorola 處理器簇。通信端口 903可以是用于與基于調(diào)制解調(diào)器的撥號(hào)上網(wǎng)連接、10/100以太網(wǎng)端口、利用同軸線或光纖的千兆端口、或者USB端口一起使用的任何RS-232端口。可以基于諸如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、或者計(jì)算機(jī)系統(tǒng)900可以連接到的任何網(wǎng)絡(luò),來(lái)選擇通信端口 903。計(jì)算機(jī)系統(tǒng)900可以經(jīng)由輸入/輸出(I/O)端口 909與外設(shè)(例如,顯示屏930、 輸入設(shè)備916)通信。主存儲(chǔ)器904可以是隨機(jī)存取存儲(chǔ)器(RAM)、或者本領(lǐng)域公知的任何其他動(dòng)態(tài)存儲(chǔ)設(shè)備。只讀存儲(chǔ)器906可以是任何靜態(tài)存儲(chǔ)設(shè)備,諸如可編程只讀存儲(chǔ)器(PROM)芯片, 用于存儲(chǔ)諸如用于處理器902的指令之類的靜態(tài)信息。大容量存儲(chǔ)設(shè)備907可以用于存儲(chǔ)信息和指令。例如,可以使用諸如Adapter的小型串口(SCSI)驅(qū)動(dòng)器族之類的硬盤、光盤、 諸如獨(dú)立冗余磁盤陣列之類的盤陣列、諸如AdapterWRAID驅(qū)動(dòng)器族,或者任何其他大容量存儲(chǔ)設(shè)備。總線901將處理器902與其他存儲(chǔ)器、存儲(chǔ)設(shè)備和通信塊通信耦合?;谑褂玫拇鎯?chǔ)器設(shè)備,總線901可以是PCI/PCI-X、SCSI、或者基于通用串口總線(USB)的系統(tǒng)總線 (或其他)??刹鹦洞鎯?chǔ)介質(zhì)905可以是任何種類的外部硬盤驅(qū)動(dòng)、軟盤驅(qū)動(dòng)、IOMEGA-Zip 驅(qū)動(dòng)、致密盤-只讀存儲(chǔ)器(⑶-ROM)、致密盤-可重寫(⑶-RW)、數(shù)字視頻盤-只讀存儲(chǔ)器 (DVD-ROM)等等。此處的實(shí)施例可以作為計(jì)算機(jī)程序產(chǎn)品提供,所述計(jì)算機(jī)程序產(chǎn)品可以包括具有其上存儲(chǔ)的指令的機(jī)器可讀介質(zhì),所述指令可用于編程計(jì)算機(jī)(或者其他電子設(shè)備)以執(zhí)行過(guò)程。機(jī)器可讀介質(zhì)可以包括,但不限于,軟盤、光盤、⑶-ROM、磁光盤、可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、磁卡或光卡、閃存、或者適合于存儲(chǔ)電子指令的其他類型的介質(zhì)/機(jī)器可讀介質(zhì)。此外,此處實(shí)施例還可以作為計(jì)算機(jī)程序產(chǎn)品進(jìn)行下載,其中程序可以通過(guò)內(nèi)嵌在載波或其他傳播介質(zhì)中的數(shù)據(jù)信號(hào),經(jīng)由通信鏈路(例如調(diào)制解調(diào)器或者網(wǎng)絡(luò)連接),從遠(yuǎn)程計(jì)算機(jī)傳送給發(fā)出請(qǐng)求的計(jì)算機(jī)。如圖所示,主存儲(chǔ)器904編碼有靈活令牌應(yīng)用950-1,靈活令牌應(yīng)用950_1支持此處描述的功能。例如,靈活令牌應(yīng)用950-1可以包括圖4的語(yǔ)義生成器410和/或令牌解釋器422。靈活令牌應(yīng)用950-1 (和/或此處描述的其他源)可以具體實(shí)現(xiàn)為軟件代碼,諸如支持根據(jù)此處描述的不同實(shí)施例的處理功能的數(shù)據(jù)和/或邏輯指令(例如,存儲(chǔ)在存儲(chǔ)器中或諸如盤之類的其他計(jì)算機(jī)可讀介質(zhì)上的代碼)。在一個(gè)實(shí)施例的操作期間,處理器902經(jīng)由總線901的使用來(lái)訪問(wèn)主存儲(chǔ)器904,以啟動(dòng)、允許、執(zhí)行、解釋或以其他方式執(zhí)行靈活令牌應(yīng)用950-1的邏輯指令。靈活令牌應(yīng)用950-1的執(zhí)行產(chǎn)生靈活令牌進(jìn)程950-2中的處理功能。換言之,靈活令牌進(jìn)程950-2代表在計(jì)算機(jī)系統(tǒng)900中的處理器902內(nèi)或之上執(zhí)行的靈活令牌應(yīng)用950-1的一個(gè)或多個(gè)部分。應(yīng)該注意,除了執(zhí)行上面討論的操作的靈活令牌進(jìn)程950-2之外,此處的其他實(shí)施例還包括靈活令牌應(yīng)用950-1自身(即,未執(zhí)行的或者非執(zhí)行的邏輯指令和/或數(shù)據(jù))。 靈活令牌應(yīng)用950-1可以存儲(chǔ)在諸如軟盤、硬盤或光介質(zhì)之類的計(jì)算機(jī)可讀介質(zhì)(例如,存儲(chǔ)庫(kù))上。根據(jù)其他實(shí)施例,靈活令牌應(yīng)用950-1還可以存儲(chǔ)在諸如固件、只讀存儲(chǔ)器(ROM) 中的存儲(chǔ)器類型的系統(tǒng)中,或者存儲(chǔ)為主存儲(chǔ)器904(例如,在隨機(jī)存取存儲(chǔ)器或RAM)中的可執(zhí)行代碼。例如,靈活令牌應(yīng)用950-1還可以存儲(chǔ)在可拆卸存儲(chǔ)介質(zhì)905、只讀存儲(chǔ)器 906、和/或大容量存儲(chǔ)設(shè)備907中。上面參考圖1-8詳細(xì)討論了計(jì)算機(jī)系統(tǒng)900支持的示例功能,以及更具體地,與靈活令牌應(yīng)用950-1和靈活令牌進(jìn)程950-2關(guān)聯(lián)的功能。除了這些實(shí)施例之后,還應(yīng)該注意此處的其他實(shí)施例還包括在處理器902中將靈活令牌應(yīng)用950-1作為靈活令牌進(jìn)程950-2的執(zhí)行。因此,本領(lǐng)域技術(shù)人員應(yīng)該理解,計(jì)算機(jī)系統(tǒng)900可以包括其他進(jìn)程和/或軟件和硬件組件,諸如控制硬件資源的分配和使用的操作系統(tǒng)。如此處討論的,本發(fā)明的實(shí)施例包括各種步驟或操作。各種各樣的這些步驟可以由硬件組件執(zhí)行或者可以具體以機(jī)器可執(zhí)行指令來(lái)實(shí)現(xiàn),所述指令可以使得用編程有指令的通用或?qū)S锰幚砥鲌?zhí)行操作。備選地,所述步驟可以由硬件、軟件和/或固件的組合來(lái)完成。術(shù)語(yǔ)“模塊”指自包含的功能組件,其可以包括硬件、軟件、固件或其任意組合。在不偏離本發(fā)明的范圍的情況下,可以做出對(duì)此處討論的示例實(shí)施例的各種修改和添加。例如,當(dāng)上述實(shí)施例提到具體特征時(shí),本發(fā)明的范圍還包括具有特征的不同組合的實(shí)施例,以及不包括描述的所有特征的實(shí)施例。因此,本發(fā)明的范圍旨在包括所有這種備選、修改和變形以及其所有等價(jià)。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括生成令牌語(yǔ)義的菜單,其中,所述令牌語(yǔ)義規(guī)定了能夠包括在靈活令牌中的一個(gè)或多個(gè)參數(shù)名稱,所述靈活令牌被配置為包括一個(gè)或多個(gè)參數(shù)名稱/值對(duì),以及所述一個(gè)或多個(gè)參數(shù)名稱/值對(duì)能夠以任何順序出現(xiàn); 接收對(duì)一個(gè)或多個(gè)令牌語(yǔ)義的選擇;接收包括靈活令牌的令牌化內(nèi)容指示符,所述靈活令牌具有根據(jù)所選擇的一個(gè)或多個(gè)令牌語(yǔ)義來(lái)格式化的一個(gè)或多個(gè)參數(shù)名稱/值對(duì);根據(jù)所選擇的一個(gè)或多個(gè)令牌語(yǔ)義解釋所述一個(gè)或多個(gè)參數(shù)名稱/值對(duì);以及基于所解釋出的一個(gè)或多個(gè)參數(shù)名稱/值對(duì),確定對(duì)所述令牌化內(nèi)容指示符的響應(yīng)。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述參數(shù)名稱/值對(duì)規(guī)定了商業(yè)邏輯。
3.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述一個(gè)或多個(gè)參數(shù)名稱/值對(duì)包括內(nèi)嵌的參數(shù)名稱/值對(duì)。
4.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述響應(yīng)包括消息、令牌化內(nèi)容指示符所指定的內(nèi)容、或備選內(nèi)容中的一個(gè)或多個(gè)。
5.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述靈活令牌由內(nèi)容提供商生成。
6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述內(nèi)容提供商將所述靈活令牌插入所述令牌化內(nèi)容指示符中,以及將所述令牌化內(nèi)容指示符發(fā)送給請(qǐng)求所指定的內(nèi)容的最終用戶。
7.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述方法還包括向最終用戶發(fā)送令牌相關(guān)的響應(yīng)。
8.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述一個(gè)或多個(gè)參數(shù)名稱/值對(duì)包括一個(gè)或多個(gè)地理名稱/值對(duì)、一個(gè)或多個(gè)時(shí)間名稱/值對(duì)、一個(gè)或多個(gè)加密名稱/值對(duì)、以及備選的內(nèi)容名稱/值對(duì)。
9.一種用于管理向最終用戶遞送內(nèi)容的系統(tǒng),所述系統(tǒng)包括語(yǔ)義生成器,被配置為生成針對(duì)于能夠在靈活令牌中包括的名稱/值對(duì)的名稱/值對(duì)語(yǔ)義;語(yǔ)義發(fā)布器,被配置為在菜單中發(fā)布所述名稱/值對(duì)語(yǔ)義,其中,所述名稱/值對(duì)語(yǔ)義是可選擇的;靈活令牌解釋器,被配置為根據(jù)名稱/值對(duì)語(yǔ)義來(lái)解釋靈活令牌中包括的名稱/值對(duì), 所述靈活令牌解釋器還被配置為基于靈活令牌中包括的名稱/值對(duì)來(lái)確定對(duì)內(nèi)容請(qǐng)求的響應(yīng);以及邊緣服務(wù)器,被配置為基于所述靈活令牌解釋器所確定的響應(yīng)來(lái)生成對(duì)內(nèi)容請(qǐng)求的令牌相關(guān)的響應(yīng)。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,至少一個(gè)靈活令牌包括內(nèi)嵌的名稱/值對(duì)。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述名稱/值對(duì)包括一個(gè)或多個(gè)位置名稱/值對(duì)、一個(gè)或多個(gè)時(shí)間名稱/值對(duì)、一個(gè)或多個(gè)加密名稱/值對(duì)、以及備選的內(nèi)容名稱/值對(duì)。
12.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,由客戶的語(yǔ)義選擇器來(lái)選擇所述名稱/值對(duì)語(yǔ)義。
13.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述名稱/值對(duì)語(yǔ)義被貨幣化。
14.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述邊緣服務(wù)器接收內(nèi)容指示符中插入的靈活令牌,以及將靈活令牌發(fā)送給所述靈活令牌解釋器。
15.一種計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令在由計(jì)算機(jī)執(zhí)行時(shí),使得所述計(jì)算機(jī)執(zhí)行過(guò)程,所述過(guò)程包括接收規(guī)定了所請(qǐng)求的內(nèi)容的令牌化內(nèi)容指示符,其中,所述令牌化內(nèi)容指示符包括靈活令牌,所述靈活令牌指示對(duì)所述內(nèi)容指示符的接收進(jìn)行響應(yīng)的條款;解釋所述靈活令牌中包括的名稱/值對(duì),其中,所述名稱/值對(duì)是順序無(wú)關(guān)的;基于對(duì)所述順序無(wú)關(guān)的名稱/值對(duì)的解釋,生成對(duì)所述內(nèi)容指示符的響應(yīng)。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述過(guò)程還包括確定響應(yīng)于所述內(nèi)容指示符的接收,是否應(yīng)該發(fā)送所請(qǐng)求的內(nèi)容。
17.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述過(guò)程還包括生成內(nèi)容提供商可選擇的名稱/值對(duì)語(yǔ)義的集合。
18.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述過(guò)程還包括對(duì)所述名稱/值對(duì)語(yǔ)義進(jìn)行貨幣化。
19.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述內(nèi)容提供商生成所述令牌化內(nèi)容指示符。
20.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,還包括從所述內(nèi)容提供商接收從所述名稱/值對(duì)語(yǔ)義的集合中進(jìn)行的選擇。
全文摘要
用于管理內(nèi)容到最終用戶的遞送的系統(tǒng)的實(shí)施例包括語(yǔ)義生成器,配置為生成針對(duì)可在靈活令牌中包括的名稱/值對(duì)的名稱/值對(duì)語(yǔ)義;語(yǔ)義發(fā)布器,配置為在菜單中發(fā)布名稱/值對(duì)語(yǔ)義,其中名稱/值對(duì)語(yǔ)義是可選擇的;靈活令牌解釋器,配置為根據(jù)名稱/值對(duì)語(yǔ)義解釋靈活令牌中包括的名稱/值對(duì),所述靈活令牌解釋器還配置為基于靈活令牌中包括的名稱/值對(duì)來(lái)確定對(duì)內(nèi)容請(qǐng)求的響應(yīng);以及邊緣服務(wù)器,配置為基于靈活令牌解釋器所確定的響應(yīng)來(lái)生成對(duì)內(nèi)容請(qǐng)求的令牌相關(guān)的響應(yīng)。
文檔編號(hào)G06F15/16GK102473160SQ201080029755
公開日2012年5月23日 申請(qǐng)日期2010年7月1日 優(yōu)先權(quán)日2009年7月1日
發(fā)明者比爾·霍普金斯, 王金根 申請(qǐng)人:第三級(jí)通訊公司