專利名稱:Method for media discovery的制作方法
技術(shù)領(lǐng)域:
本申請要求于2007年7月10日提交的美國臨時申請?zhí)?0/948,907“Method for Media Discovery"的權(quán)益,該臨時申請在此被并入以供參考。
背景技術(shù):
許多不同的設(shè)備包含能夠顯示網(wǎng)頁的因特網(wǎng)web (網(wǎng)絡(luò))瀏覽器,例如臺式/膝上 型計算機(jī)、游戲控制臺以及電話。雖然這些設(shè)備中的許多設(shè)備包含瀏覽器,但是這些瀏覽器 的能力有很大的不同。例如,PCweb瀏覽器通常比電話瀏覽器功能強(qiáng)大得多。雖然PC瀏覽 器支持各式各樣的媒體/內(nèi)容類型(例如HTML、GIF、JPEG、JaVaSCript、CSS等),但是手機(jī) 瀏覽器可能僅支持更簡單且更小的內(nèi)容類型子集(例如xHTML-MP、PNG、GIF、CSS-MP)。而 且,因特網(wǎng)上的大多數(shù)網(wǎng)頁當(dāng)今是針對PC瀏覽器設(shè)計和開發(fā)的,而只有相對少數(shù)的網(wǎng)頁是 針對電話瀏覽器開發(fā)的。此外,PC瀏覽器能夠借助被稱為插件(plug-in)的擴(kuò)展(extension)而被擴(kuò)展 以支持附加的內(nèi)容類型。最初由Netscape瀏覽器開發(fā)且現(xiàn)在被大多數(shù)PC瀏覽器(例如 Microsoft Internet Explorer、Opera、Firefox 等)所支持,Netscape 插件 API 允許第三 方軟件開發(fā)者通過寫入軟件模塊來擴(kuò)展瀏覽器的內(nèi)容類型支持,當(dāng)瀏覽器遇到該插件已經(jīng) 向瀏覽器登記進(jìn)行處理的內(nèi)容類型時該瀏覽器調(diào)用所述軟件模塊。這種級別的擴(kuò)展性對于 電話瀏覽器是很少見的,并且僅可能出現(xiàn)在高端手機(jī)中。大眾市場電話瀏覽器不具有擴(kuò)展 其功能性的方法,因此具有電話瀏覽器不能處理的內(nèi)容類型的網(wǎng)頁不會被正確地顯示。可 能受影響的此類流行插件包括Adobe Flash插件、Windows Media插件、Quicktime插件、 Real Media插件等等。近年來,多媒體內(nèi)容在因特網(wǎng)舞臺上急劇增加,其中許多網(wǎng)頁提供視頻內(nèi)容。存在 許多不同的用來向web瀏覽器遞送視頻的方法。這些不同的方法能夠被寬泛地分到兩個類 別之一中。第一種是在web瀏覽器之外播放的媒體。在這個類別中,外部應(yīng)用程序(一般是 媒體播放器)將由瀏覽器起動并且將播放媒體內(nèi)容。另一種類別被諸如Y0uTube、MySpace、 Google Video,Yahoo Video之類的網(wǎng)站所推廣,該類別不需要外部應(yīng)用程序而是借助插件 在網(wǎng)頁內(nèi)遞送視頻。此外,這些站點允許其它網(wǎng)站(例如博客)借助插件的使用在其網(wǎng)頁 內(nèi)嵌入相同視頻。該視頻被從流行站點(例如YouTube)遞送到web瀏覽器,但在另一第三 方網(wǎng)站內(nèi)顯示。這種將視頻從視頻共享站點鏈接到任何其它站點的能力只會進(jìn)一步促進(jìn)視 頻在網(wǎng)站中的使用。如上面所提及的,因為電話web瀏覽器一般不支持插件API (諸如Netscape插件 API),所以它們不能播放來自那些流行站點或者將視頻嵌入其站點的站點的視頻。由于web 瀏覽器不支持必要的插件,使得用戶可獲得這些類型的視頻的兩種現(xiàn)有技術(shù)包括(1)人工 識別/硬編碼方法和(2)電話web瀏覽器友好站點方法。在人工識別/硬編碼方法中,人工分析網(wǎng)站并且確定從該特定網(wǎng)站中提取視頻的 方法。中間節(jié)點修改對視頻網(wǎng)站的訪問并且將網(wǎng)頁中的插件轉(zhuǎn)換成到視頻的鏈接。這種轉(zhuǎn)換是針對每個網(wǎng)站而被硬編碼的。如果電話上的web瀏覽器指向不具有這種硬編碼的網(wǎng)站 (即YouTube),則該中間節(jié)點將不能識別該視頻并且手機(jī)將不能播放該視頻。而且,如果已 經(jīng)硬編碼的站點改變其用來為本身獲取(retrieve)視頻的方法,則先前硬編碼的方法可 能不再起作用。在電話web瀏覽器友好站點方法中,對每個站點執(zhí)行相同的調(diào)查以識別該站點如 何遞送視頻內(nèi)容。但現(xiàn)在這種信息被用來創(chuàng)建網(wǎng)站,該網(wǎng)站能夠被電話web瀏覽器訪問并 且電話web瀏覽器能夠播放來自該網(wǎng)站的視頻。當(dāng)前存在兩種類型的電話web瀏覽器友好 站點(1)網(wǎng)站,例如m. youtube. com移動網(wǎng)站,它們本身進(jìn)行“電話web瀏覽器友好”分析 并且為電話呈現(xiàn)網(wǎng)頁;以及(2) “聚合器(aggregator)”站點,為若干不同的網(wǎng)站進(jìn)行“電 話web瀏覽器友好”并且為否則將不能進(jìn)行電話訪問的網(wǎng)站顯示(prove)電話友好界面。 這種方法具有如先前方法中所描述的相同限制。
發(fā)明內(nèi)容
相比而言,本專利申請的系統(tǒng)和方法的實施例能夠自動地發(fā)現(xiàn)網(wǎng)頁上的媒體內(nèi)容 而無需對網(wǎng)站進(jìn)行先驗分析且不用執(zhí)行任何種類的硬編碼以訪問媒體。這種用于識別媒體 內(nèi)容的新方法和系統(tǒng)將大大地提高電話web瀏覽器在沒有分析各個網(wǎng)站的人工且耗時步 驟的情況下能夠訪問的視頻站點的數(shù)量。
圖1是示例性系統(tǒng)的框圖。圖2圖示了實施代理輔助的媒體發(fā)現(xiàn)的示例性系統(tǒng)的框圖。圖3是圖示圖2的示例性系統(tǒng)中的示例性通信流的功能圖。圖4是圖示圖3的示例性系統(tǒng)中的另外示例性通信流的功能圖。圖5是表示用于實施媒體發(fā)現(xiàn)的示例性方法的流程圖。圖6圖示了實施基于插件的媒體發(fā)現(xiàn)的示例性系統(tǒng)的框圖。圖7是圖示圖6的示例性系統(tǒng)中的示例性通信流的功能圖。圖8是表示用于實施基于插件的媒體發(fā)現(xiàn)的示例性方法的流程圖。
具體實施例方式現(xiàn)在將詳細(xì)參照根據(jù)本發(fā)明實施的示例性實施例,其示例被示于附圖中。在可能 的情況下,相同的附圖標(biāo)記將在所有附圖中用來指代相同或相似的部件。以下實施例描述了用于媒體發(fā)現(xiàn)的方法和系統(tǒng),其識別媒體內(nèi)容并且使得該媒 體內(nèi)容可由電話訪問,所述媒體內(nèi)容否則由于電話的限制而是不可訪問的內(nèi)容。一旦發(fā) 現(xiàn)一個或多個媒體文件,網(wǎng)頁內(nèi)容就能夠被直接地或間接地修改。能夠通過插入圖像和 /或鏈接到網(wǎng)頁的標(biāo)記語言中來直接地修改該內(nèi)容以使得電話web瀏覽器用戶能夠點擊 該圖像或鏈接來播放該媒體內(nèi)容。能夠通過插入電話web瀏覽器能夠執(zhí)行的腳本(例如 JavaScript)來間接地修改該內(nèi)容,從而用用戶能夠點擊以播放媒體內(nèi)容的適當(dāng)鏈接來更 新電話web瀏覽器上的網(wǎng)頁。該方法和系統(tǒng)的實施例能夠利用支持特定媒體類型的預(yù)先存在的第三方插件,而不是對這些媒體類型實施可替換的插件或者檢驗/解析媒體類型的內(nèi)容。而是,這些實施 例監(jiān)視本地插件和它們訪問的媒體服務(wù)器之間的交互。這種監(jiān)視能夠在若干不同的位置處 進(jìn)行;下面描述由這些位置提供的若干這些類型的交互。圖1是示例性系統(tǒng)100的框圖。示例性系統(tǒng)100能夠是通過諸如無線網(wǎng)絡(luò)、因特 網(wǎng)等之類的網(wǎng)絡(luò)來傳輸數(shù)據(jù)的任何類型的系統(tǒng)。例如,示例性系統(tǒng)能夠包括瀏覽器,該瀏覽 器請求通過因特網(wǎng)來訪問來自內(nèi)容服務(wù)器的內(nèi)容。除了別的以外,示例性系統(tǒng)能夠包括用 戶代理102、客戶端設(shè)備104、網(wǎng)關(guān)106、一個或多個網(wǎng)絡(luò)108、112、優(yōu)化服務(wù)器110、以及一個 或多個內(nèi)容服務(wù)器114-116。用戶代理102是與網(wǎng)絡(luò)協(xié)議一起使用的客戶端應(yīng)用程序。例如,用戶代理102可 以是web瀏覽器、搜索引擎爬蟲、屏幕讀取器或Braille瀏覽器,并且用戶代理102可以被 用來訪問因特網(wǎng)。用戶代理102能夠是軟件程序,其將請求數(shù)據(jù)(例如,HTTP/HTTPS/WAP/ WAIS/Gopher/RTSP請求等)傳輸?shù)絯eb服務(wù)器并且接收響應(yīng)于該請求數(shù)據(jù)的響應(yīng)數(shù)據(jù)。例 如,用戶代理102能夠通過特定媒體文件或網(wǎng)頁的URL發(fā)送對特定媒體文件或網(wǎng)頁的請求 數(shù)據(jù)到內(nèi)容服務(wù)器114-116,并且網(wǎng)頁的內(nèi)容服務(wù)器能夠查詢數(shù)據(jù)庫中的對象數(shù)據(jù)并且能 夠?qū)⒃搶ο髷?shù)據(jù)作為響應(yīng)數(shù)據(jù)(例如HTTP/WAP響應(yīng)數(shù)據(jù))的一部分發(fā)送回用戶代理102。 這個過程繼續(xù)進(jìn)行直到網(wǎng)頁中的每個對象已經(jīng)下載到用戶代理為止??蛻舳嗽O(shè)備104是能夠訪問遠(yuǎn)程服務(wù)的計算機(jī)程序或硬件設(shè)備??蛻舳嗽O(shè)備104 能夠接收來自用戶代理102的請求數(shù)據(jù),能夠?qū)⒃撜埱髷?shù)據(jù)傳輸?shù)絻?nèi)容服務(wù)器,并且能夠 接收響應(yīng)于該請求數(shù)據(jù)的響應(yīng)數(shù)據(jù)。例如,客戶端設(shè)備104能夠是Bytemobile優(yōu)化客戶端 軟件。在一些實施例中,用戶代理102和客戶端設(shè)備104能夠容納在相同設(shè)備(例如計算 機(jī)、PDA、蜂窩電話、膝上型計算機(jī)或者任何訪問因特網(wǎng)的設(shè)備)中。在一些實施例中,客戶 端設(shè)備104能夠被除去并且其功能能夠被包括在用戶代理102中。網(wǎng)關(guān)106是將一種類型的網(wǎng)絡(luò)中提供的格式化數(shù)據(jù)轉(zhuǎn)換成為另一類型的網(wǎng)絡(luò)所 需的特定格式的設(shè)備。網(wǎng)關(guān)106例如可以是服務(wù)器、路由器、防火墻服務(wù)器、主機(jī)或代理服 務(wù)器。網(wǎng)關(guān)106具有將從客戶端設(shè)備104接收的信號轉(zhuǎn)換成網(wǎng)絡(luò)108能夠理解的信號以及 反之亦然的能力。網(wǎng)關(guān)106可以能夠單獨(dú)或以任何組合來處理音頻、視頻以及T. 120傳輸, 并且能夠進(jìn)行全雙工媒體翻譯。網(wǎng)絡(luò)108和112能夠包括適合于聯(lián)網(wǎng)通信(諸如因特網(wǎng)通信)的廣域網(wǎng)(WAN)、局 域網(wǎng)(LAN)或者無線網(wǎng)絡(luò)的任何組合。代理110是在網(wǎng)關(guān)106和內(nèi)容服務(wù)器114-116之間提供通信的服務(wù)器。例如,代 理110可以是Bytemobile優(yōu)化服務(wù)節(jié)點。代理110能夠通過給客戶實現(xiàn)顯著更快且更可 靠的服務(wù)來優(yōu)化性能。內(nèi)容服務(wù)器114-116是接收來自用戶代理102的請求數(shù)據(jù)、相應(yīng)地處理請求數(shù)據(jù) 并將響應(yīng)數(shù)據(jù)返回到用戶代理102的服務(wù)器。例如,內(nèi)容服務(wù)器114-116能夠是web服務(wù) 器、企業(yè)服務(wù)器或者任何其它類型的提供內(nèi)容(諸如網(wǎng)頁內(nèi)容和/或媒體數(shù)據(jù))的服務(wù)器。 內(nèi)容服務(wù)器114-116能夠是負(fù)責(zé)接受來自用戶代理的HTTP請求并且向用戶代理提供網(wǎng)頁 的計算機(jī)或計算機(jī)程序。圖2圖示了實施代理輔助的媒體發(fā)現(xiàn)或基于瀏覽器的媒體發(fā)現(xiàn)的示例性系統(tǒng)200 的框圖。除了別的以外,示例性系統(tǒng)200能夠包括用戶代理102、代理110、瀏覽器代理202、
6本地插件204以及內(nèi)容服務(wù)器114,該內(nèi)容服務(wù)器114例示一個或多個內(nèi)容服務(wù)器。瀏覽器代理202是接收來自代理110的攔截請求并且相應(yīng)地處理這些請求的硬 件部件和/或軟件模塊。瀏覽器代理202能夠直接與內(nèi)容服務(wù)器114通信或者能夠通過 代理110間接與內(nèi)容服務(wù)器114通信。此外,瀏覽器代理202能夠基于攔截的請求來再現(xiàn) (render)網(wǎng)頁。例如,這種再現(xiàn)可以包括對瀏覽器執(zhí)行相關(guān)聯(lián)的JavaScript和插件擴(kuò)展。 基于這種再現(xiàn),瀏覽器代理202可以創(chuàng)建插件,諸如本地插件204,以便該網(wǎng)頁能夠被正確 地顯示。在創(chuàng)建插件后,瀏覽器代理202能夠監(jiān)視本地插件204就媒體內(nèi)容向內(nèi)容服務(wù)器 114所做的URL請求。在一些實施例中,瀏覽器代理202能夠提供內(nèi)容改編,諸如在題為 “ContentAdaptation”的美國申請?zhí)?1/636,033中描述的內(nèi)容改編,該申請在此被并入以 供參考。在一些實施例中,如果用戶代理102是電話web瀏覽器,則瀏覽器代理202具有重 新格式化網(wǎng)頁以適應(yīng)在電話的小屏幕內(nèi)的能力。雖然瀏覽器代理202被示為與代理110分 開的項目,但是本領(lǐng)域普通技術(shù)人員會明白瀏覽器代理202和代理110可以是單個項目。本地插件204是第三方提供的插件,其一般向瀏覽器登記以處理特定內(nèi)容類型。 例如,web瀏覽器往往使用插件來播放媒體文件。本地插件204能夠由瀏覽器代理202基 于所請求的內(nèi)容例如網(wǎng)頁是否需要特殊插件支持來創(chuàng)建。在其中所請求的內(nèi)容包括媒體數(shù) 據(jù)的一些實施例中,本地插件204能夠被創(chuàng)建以接收用于執(zhí)行的媒體數(shù)據(jù)。圖3是圖示圖2的示例性系統(tǒng)中的示例性通信流的功能圖。在代理輔助的媒體發(fā) 現(xiàn)實施例中,用戶代理102傳輸(301)對來自內(nèi)容服務(wù)器114的web內(nèi)容的HTTP請求,其 中代理110攔截該請求。在攔截了這個請求時,代理110將該請求轉(zhuǎn)發(fā)(302)到瀏覽器代 理202。然后瀏覽器代理202能夠請求(303)從內(nèi)容服務(wù)器114直接地(如圖所示)或者 間接地(例如通過代理110)下載所請求的web內(nèi)容。內(nèi)容服務(wù)器114能夠提供(304)所 有請求的web內(nèi)容到瀏覽器代理202,該瀏覽器代理202試圖再現(xiàn)該內(nèi)容。在這個網(wǎng)頁的再現(xiàn)期間,如果web內(nèi)容含有任何需要特殊插件支持(例如Adobe Flash插件)的內(nèi)容,則瀏覽器代理202創(chuàng)建(305)本地插件204,其中通過將需要該支持 的特定內(nèi)容提供給本地插件204來將該本地插件登記來處理該特定內(nèi)容。在執(zhí)行時,如果 附加內(nèi)容被檢測到并需要被下載,則本地插件204能夠請求(306)瀏覽器代理202下載該 附加內(nèi)容。在一些實施例中,本地插件204能夠?qū)⒃撜埱髠魉偷絻?nèi)容服務(wù)器114并且直接 從內(nèi)容服務(wù)器114接收內(nèi)容。瀏覽器代理202能夠存儲與附加內(nèi)容相關(guān)聯(lián)的URL。為了下 載附加內(nèi)容,瀏覽器代理202向代理110提供(307)附加內(nèi)容的URL。代理110然后將附加 內(nèi)容的URL轉(zhuǎn)發(fā)(308)到內(nèi)容服務(wù)器114,該內(nèi)容服務(wù)器114用對應(yīng)的內(nèi)容向代理110做出 響應(yīng)(309)。代理110能夠被動地監(jiān)視或檢驗該附加內(nèi)容以確定該附加內(nèi)容是否包括要由本 地插件204下載的媒體文件。如果響應(yīng)數(shù)據(jù)不是媒體文件,則代理110能夠?qū)㈨憫?yīng)數(shù)據(jù)轉(zhuǎn) 發(fā)(310)到瀏覽器代理202,該瀏覽器代理202進(jìn)而將響應(yīng)內(nèi)容轉(zhuǎn)發(fā)(311)到本地插件204 以供進(jìn)一步處理。另一方面,如果響應(yīng)數(shù)據(jù)是媒體文件,則代理110將數(shù)據(jù)轉(zhuǎn)發(fā)(310)到瀏覽器代理 202。此時,瀏覽器代理202能夠傳輸(311)響應(yīng)數(shù)據(jù)或短的媒體文件到本地插件204。在 一些實施例中,如果短的媒體文件被發(fā)送到本地插件,則瀏覽器代理202丟棄來自所請求 URL的響應(yīng)數(shù)據(jù)。響應(yīng)于步驟311處的傳輸,如果本地插件204做出另一響應(yīng),則能夠重復(fù)始于URL請求步驟306的類似過程。能夠基于是要播放單個媒體文件還是播放一系列媒體文件(播放列表)來確定瀏 覽器代理202丟棄響應(yīng)數(shù)據(jù)和發(fā)送短的媒體剪輯的選項。例如,短的視頻剪輯可以被發(fā)送 以幫助找到該播放列表。針對AdobeFlash插件的播放列表被嵌入在插件代碼的內(nèi)容中,因 此本地插件204將可能請求多個視頻文件并創(chuàng)建播放列表。為了快速完成(get through) 這個播放列表,即使插件請求了視頻,也能夠發(fā)送短的視頻剪輯以欺騙該插件因此該插件 能夠快速地請求第二、第三等視頻剪輯。響應(yīng)于找到單個媒體文件,代理110能夠發(fā)送(312)消息到瀏覽器代理202以通 知瀏覽器代理202其剛轉(zhuǎn)發(fā)的響應(yīng)數(shù)據(jù)是媒體文件。瀏覽器代理202能夠使用來自所接收 消息的信息并且適當(dāng)?shù)馗戮W(wǎng)頁(例如,通過插入圖像和鏈接到網(wǎng)頁中以允許用戶點擊該 鏈接和播放該媒體)。此外,瀏覽器代理202能夠?qū)RL與媒體文件相關(guān)聯(lián)。當(dāng)網(wǎng)頁的處理 完成時,瀏覽器代理202能夠發(fā)送(313)所得到的網(wǎng)頁數(shù)據(jù)到代理110,該代理110能夠?qū)?該數(shù)據(jù)轉(zhuǎn)發(fā)(314)到用戶代理102以顯示該頁。另一方面,對于其中要播放一系列媒體文件的情形,如果本地插件204請求一個 或多個附加媒體文件,則瀏覽器代理202能夠記住URL以及先前的URL并且生成播放列表。 如果本地插件204沒有發(fā)出另外請求,則瀏覽器代理202能夠停止本地插件204,并且瀏覽 器代理202將所得到的網(wǎng)頁發(fā)送(313)回代理110,該代理110將該響應(yīng)轉(zhuǎn)發(fā)(314)到用戶 代理102。如上所指示的,在一些實施例中,代理110和瀏覽器代理202能夠被累積成單個代 理。本領(lǐng)域普通技術(shù)人員將會明白,圖3的示例性通信流能夠被修改以適應(yīng)具有代理110 和瀏覽器代理202這兩者的特征的單個中間代理。圖4是圖示圖3的示例性系統(tǒng)200中的另外示例性通信流的功能圖。圖4還圖示 了示例性系統(tǒng)200如何與網(wǎng)絡(luò)的其它部件一起工作以向用戶代理101提供媒體數(shù)據(jù)。例如, 如上面在步驟312所示,瀏覽器代理202可以接收來自代理110的通知特定內(nèi)容與媒體文 件有關(guān)。瀏覽器代理202能夠通過插入圖像和/或鏈接(統(tǒng)稱為插入的數(shù)據(jù))以及所分配 的用于識別插入到網(wǎng)頁中的數(shù)據(jù)的令牌來更新網(wǎng)頁。在令牌被分配后,瀏覽器代理202能 夠傳輸(410)令牌和媒體文件數(shù)據(jù)的位置(諸如媒體文件數(shù)據(jù)的URL)到控制及狀態(tài)模塊 402,該控制及狀態(tài)模塊402存儲該信息以供稍后獲取。一旦用戶代理102在步驟314接收到該網(wǎng)頁,用戶代理102處的用戶就能夠選 擇插入的數(shù)據(jù)以查看該媒體文件。用戶代理102能夠?qū)⒕哂性摿钆频南鬏?420)到 媒體代碼轉(zhuǎn)換器404。例如,令牌可以借助插件所插入的并且由用戶點擊的鏈接來傳輸。 在一些實施例中,媒體代碼轉(zhuǎn)換器404可以是如題為“Adaptive Bitrate Management
forStreaming Media Over Packet Networks” 的美國申請?zhí)朹〈代理人案號
09266.0024〉中提供的自適應(yīng)比特率管理器,該申請在此并入以供參考。媒體代碼轉(zhuǎn)換器 404能夠通過提供令牌以交換所存儲的媒體文件位置數(shù)據(jù)來與控制及狀態(tài)模塊402通信 (430)。在接收到媒體文件位置數(shù)據(jù)時,媒體代碼轉(zhuǎn)換器404與內(nèi)容服務(wù)器114通信(440) 以獲得媒體文件。在獲得媒體文件后,媒體代碼轉(zhuǎn)換器404能夠相應(yīng)地處理媒體文件并且 將媒體文件傳輸(450)到用戶代理102。圖5是表示用于實施媒體發(fā)現(xiàn)的示例性方法的流程圖。參照圖5,本領(lǐng)域普通技術(shù)人員將很容易明白,所示的過程能夠被更改以刪除步驟或者進(jìn)一步包括附加步驟。在最初 開始步驟500后,代理服務(wù)器(例如,代理110和/或瀏覽器代理202)接收(502)來自移 動設(shè)備的對內(nèi)容(例如網(wǎng)頁)的請求。在一些實施例中,代理服務(wù)器可以實際上攔截移動 設(shè)備和具有請求的內(nèi)容的內(nèi)容服務(wù)器之間的通信。在接收到請求后,代理服務(wù)器向內(nèi)容服 務(wù)器請求(504)所請求的內(nèi)容。在接收到所請求的內(nèi)容時,代理服務(wù)器再現(xiàn)(506)該內(nèi)容。在再現(xiàn)該內(nèi)容時,代理服務(wù)器能夠確定(508)所請求的內(nèi)容是否包括需要特殊插 件支持的內(nèi)容。如果否,則該方法進(jìn)行到連接符524。另一方面,如果所請求的內(nèi)容確實包 括需要特殊插件支持的內(nèi)容,則代理服務(wù)器能夠創(chuàng)建(510)本地插件以處理該內(nèi)容。在此后的某個時刻,代理服務(wù)器可以接收(512)來自本地插件的對附加內(nèi)容的請 求。然后代理服務(wù)器與內(nèi)容服務(wù)器通信(514)以獲得附加內(nèi)容。在接收到附加內(nèi)容后,代 理服務(wù)器確定(516)所獲得的附加內(nèi)容包括一個或多個媒體文件。如果否,則代理服務(wù)器 發(fā)送(518)所請求的附加內(nèi)容到本地插件并且該方法能夠進(jìn)行到連接符524。如果所請求 的媒體內(nèi)容確實包括一個或多個媒體文件,則代理服務(wù)器發(fā)送(520)附加內(nèi)容到本地插件 并且例如通過包括圖片和/或鏈接以替代媒體文件來更新(522)web內(nèi)容。圖片/鏈接將 使移動設(shè)備的用戶代理處的用戶具有點擊圖片/鏈接以訪問媒體文件的能力。此外,因為 媒體文件最初并不與要傳輸?shù)接脩舸淼乃埱髢?nèi)容包括在一起,所以用于下載內(nèi)容的時 間能夠被顯著地減少。在更新內(nèi)容后,該方法行經(jīng)連接符524并且代理服務(wù)器傳輸(526) web內(nèi)容到移動 設(shè)備。在傳輸后,該方法能夠結(jié)束524。圖6圖示了實施基于插件的媒體發(fā)現(xiàn)的示例性系統(tǒng)600的框圖。除了別的以外, 示例性系統(tǒng)600能夠包括用戶代理102、瀏覽器代理602、媒體發(fā)現(xiàn)插件604、本地插件606 以及內(nèi)容服務(wù)器114,該內(nèi)容服務(wù)器114例示一個或多個內(nèi)容服務(wù)器。瀏覽器代理602是接收來自用戶代理102的請求并且相應(yīng)地處理這些請求的硬件 部件和/或軟件模塊。瀏覽器代理602是中間代理,其能夠包括僅瀏覽器代理或者代理和瀏 覽器代理(例如代理110和瀏覽器代理202)這兩者。瀏覽器代理能夠直接與內(nèi)容服務(wù)器 114通信。此外,瀏覽器代理602能夠在接收到所請求的內(nèi)容時再現(xiàn)網(wǎng)頁。例如,這種再現(xiàn)可 以包括對瀏覽器執(zhí)行相關(guān)聯(lián)的JavaScript和插件擴(kuò)展?;谶@種再現(xiàn),瀏覽器代理602可 以創(chuàng)建插件,諸如媒體發(fā)現(xiàn)插件604和/或本地插件606,以使得該網(wǎng)頁能夠被正確地顯示。 在一些實施例中,瀏覽器代理602能夠提供內(nèi)容改編,諸如在題為“Content Adaptation" 的美國申請?zhí)?1/636,033中描述的內(nèi)容改編,該申請在此被并入以供參考。在一些實施例 中,如果用戶代理102是電話web瀏覽器,則瀏覽器代理602具有重新格式化網(wǎng)頁以適應(yīng)在 電話的小屏幕內(nèi)的能力。媒體發(fā)現(xiàn)插件604能夠是標(biāo)準(zhǔn)的(例如使用Netscape插件API實施的)瀏覽器 插件,其向瀏覽器登記以處理一組特定內(nèi)容類型(例如,Shockwave Flash內(nèi)容)。具體而 言,其向瀏覽器代理602登記以處理本地插件606能夠處理的內(nèi)容類型。在啟動本地插件 606后,媒體發(fā)現(xiàn)插件604能夠監(jiān)視本地插件606就媒體內(nèi)容向內(nèi)容服務(wù)器114所做的URL 請求。例如,媒體發(fā)現(xiàn)插件604可以將web瀏覽器API暴露于本地插件606就好像媒體發(fā) 現(xiàn)插件604是web瀏覽器。在一些實施例中,媒體發(fā)現(xiàn)插件604不需要啟動本地插件606。在這些實施例中,媒體發(fā)現(xiàn)插件604接收特定內(nèi)容、檢查內(nèi)容并且如果需要的話向內(nèi)容服務(wù)器114請求附加 內(nèi)容。如果其接收到附加內(nèi)容,則媒體發(fā)現(xiàn)插件604能夠檢查該內(nèi)容以確定是否包括媒體 內(nèi)容。本地插件606是第三方提供的插件,其一般向瀏覽器登記以處理特定內(nèi)容類型。 例如,web瀏覽器往往使用插件來播放媒體文件。本地插件606能夠基于所請求的內(nèi)容例 如網(wǎng)頁是否需要特殊插件支持而由媒體發(fā)現(xiàn)插件604或瀏覽器代理602創(chuàng)建。在其中所請 求的內(nèi)容包括媒體數(shù)據(jù)的一些實施例中,本地插件606能夠被創(chuàng)建以接收用于執(zhí)行的媒體 數(shù)據(jù)。因為本地插件606認(rèn)為媒體發(fā)現(xiàn)插件604是web瀏覽器,所以本地插件606能夠與 媒體發(fā)現(xiàn)插件604交互就好像其是web瀏覽器。圖7是圖示圖6的示例性系統(tǒng)600中的示例性通信流的功能圖。在基于插件的媒 體發(fā)現(xiàn)實施例中,用戶代理102傳輸(701)對web內(nèi)容的請求,諸如HTTP請求或WAP請求。 在一些實施例中,瀏覽器代理602攔截該請求,而在其它實施例中用戶代理102直接將該請 求發(fā)送到瀏覽器代理602。在接收到該請求時,瀏覽器代理602請求(702)從內(nèi)容服務(wù)器 114下載所有請求的內(nèi)容。內(nèi)容服務(wù)器114提供(703)所請求的內(nèi)容到瀏覽器代理602,該 瀏覽器代理602然后處理該數(shù)據(jù)。此外,本領(lǐng)域普通技術(shù)人員將會明白,圖6-7中提供的實 施例能夠被并入圖4中提供的示例性系統(tǒng)中。在對該內(nèi)容的處理期間,如果內(nèi)容含有任何需要特殊插件支持(例如Adobe Flash插件)的內(nèi)容,則瀏覽器代理602通過發(fā)送特定內(nèi)容數(shù)據(jù)到媒體發(fā)現(xiàn)插件604來創(chuàng) 建(704)媒體發(fā)現(xiàn)插件604的實例。在接收到特定內(nèi)容時,媒體發(fā)現(xiàn)插件604檢驗數(shù)據(jù)并 且通過將該特定內(nèi)容數(shù)據(jù)傳送到本地插件606來創(chuàng)建(705)本地插件606的實例。在一些 實施例中,不需要創(chuàng)建本地插件606并且媒體發(fā)現(xiàn)插件604被用來實施媒體發(fā)現(xiàn)。本地插 件606能夠檢驗該數(shù)據(jù)并執(zhí)行與在其由web瀏覽器執(zhí)行的情況完全相同或類似的功能。在執(zhí)行時,如果附加內(nèi)容被檢測到并需要被下載,則本地插件606請求(706)媒體 發(fā)現(xiàn)插件604下載引用該附加內(nèi)容的URL。媒體發(fā)現(xiàn)插件604記錄該URL請求并且將該請 求轉(zhuǎn)發(fā)(707)到瀏覽器代理602。在接收到該請求后,瀏覽器代理602能夠發(fā)出(708)請求到內(nèi)容服務(wù)器114以獲 取附加內(nèi)容。內(nèi)容服務(wù)器114接著用所請求的附加內(nèi)容做出響應(yīng)(709)。因為HTTP請求 由插件做出,所以瀏覽器代理602能夠僅轉(zhuǎn)發(fā)(710)附加內(nèi)容到媒體發(fā)現(xiàn)插件604,該媒體 發(fā)現(xiàn)插件604能夠被動地監(jiān)視或檢驗附加內(nèi)容。如果附加內(nèi)容包括媒體內(nèi)容,則媒體發(fā)現(xiàn) 插件604能夠記錄請求該數(shù)據(jù)的URL對應(yīng)于媒體文件。此時,媒體發(fā)現(xiàn)插件604能夠傳 輸(711)附加內(nèi)容或短的媒體文件到本地插件606。在一些實施例中,如果短的媒體文件被 發(fā)送到本地插件606,則媒體發(fā)現(xiàn)插件604能夠丟棄來自所請求URL的附加內(nèi)容。此外,響 應(yīng)于在步驟711接收響應(yīng)數(shù)據(jù),如果本地插件606做出另一響應(yīng),則重復(fù)始于URL請求步驟 706的完全相同過程。能夠基于是要播放單個媒體文件還是播放一系列媒體文件(播放列表)來確定媒 體發(fā)現(xiàn)插件604丟棄附加內(nèi)容和發(fā)送短的媒體剪輯的選項。例如,短的視頻剪輯可以被發(fā) 送以幫助找到該播放列表。針對Adobe Flash插件的播放列表被嵌入在插件代碼的內(nèi)容 中,因此本地插件606將可能請求多個視頻文件并創(chuàng)建播放列表。為了快速完成這個播放 列表,即使插件請求了視頻,也能夠發(fā)送短的視頻剪輯以欺騙本地插件606因此該插件能夠快速地請求第二、第三等視頻剪輯。在其中發(fā)現(xiàn)單個媒體文件的情形中,媒體發(fā)現(xiàn)插件604能夠向瀏覽器代理602發(fā) 出(712)命令以將圖像和/或鏈接連同所分配的令牌一起插入到終端用戶能夠點擊以查看 該視頻的內(nèi)容中。另一方面,對于其中發(fā)現(xiàn)一系列媒體文件(例如本地插件請求來自附加 內(nèi)容的一個或多個附加媒體文件)的情形,媒體發(fā)現(xiàn)插件604能夠記住URL以及先前的URL 并且生成播放列表。如果本地插件606沒有發(fā)出另外的請求,則瀏覽器代理602能夠停止 媒體發(fā)現(xiàn)插件604,該媒體發(fā)現(xiàn)插件604進(jìn)而停止本地插件606。然后瀏覽器代理602能夠 將所得到的內(nèi)容發(fā)送(713)回用戶代理102。圖8是表示用于實施基于插件的媒體發(fā)現(xiàn)的示例性方法的流程圖。參照圖8,本領(lǐng) 域普通技術(shù)人員將很容易明白,所圖示的過程能夠被更改以刪除步驟或者進(jìn)一步包括附加 步驟。在最初開始步驟800后,代理服務(wù)器(例如,代理110和/或瀏覽器代理202)接收 (802)來自移動設(shè)備的對web內(nèi)容(例如網(wǎng)頁)的請求。在一些實施例中,代理服務(wù)器可以 實際上攔截移動設(shè)備和具有請求的內(nèi)容的內(nèi)容服務(wù)器之間的通信。在接收到請求后,代理 服務(wù)器向內(nèi)容服務(wù)器請求(804)所請求的內(nèi)容。在接收到所請求的內(nèi)容時,代理服務(wù)器檢 查(806)該內(nèi)容。在一些實施例中,代理服務(wù)器能夠通過再現(xiàn)該內(nèi)容來檢查該內(nèi)容。在檢 查了該內(nèi)容時,代理服務(wù)器能夠確定(808)所請求的內(nèi)容是否包括需要特殊插件支持的內(nèi) 容。如果否,則該方法進(jìn)行到連接符828。另一方面,如果所請求的內(nèi)容確實包括需要特殊插件支持的內(nèi)容,則代理服務(wù)器 能夠通過提供所請求的內(nèi)容到媒體發(fā)現(xiàn)插件來創(chuàng)建(810)媒體發(fā)現(xiàn)插件。在接收到所請求 的內(nèi)容后,媒體發(fā)現(xiàn)插件還針對特殊插件支持來檢驗(812)特定內(nèi)容。在定位需要特殊插 件支持的該內(nèi)容時,媒體發(fā)現(xiàn)插件創(chuàng)建(814)本地插件以通過提供所請求內(nèi)容的至少一部 分到本地插件來處理特定內(nèi)容。在一些實施例中,不需要創(chuàng)建本地插件606并且媒體發(fā)現(xiàn) 插件604被用來實施媒體發(fā)現(xiàn)。在此后的某個時刻,媒體發(fā)現(xiàn)插件和/或代理服務(wù)器可以 接收(816)來自本地插件的對媒體內(nèi)容的請求。然后代理服務(wù)器和/或媒體發(fā)現(xiàn)插件與內(nèi) 容服務(wù)器通信(818)以獲得附加內(nèi)容。在接收到附加內(nèi)容后,媒體發(fā)現(xiàn)插件確定(820)所 獲得的內(nèi)容是否包括一個或多個媒體文件。如果否,則媒體發(fā)現(xiàn)插件僅提供(822)所請求 的媒體內(nèi)容到本地插件。如果所獲得的內(nèi)容確實包括一個或多個媒體文件,則媒體發(fā)現(xiàn)插件發(fā)送(824)附 加內(nèi)容到本地插件以供處理。此外,代理服務(wù)器和/或媒體發(fā)現(xiàn)插件通過包括圖片和/或 鏈接以替代媒體文件來更新(826)內(nèi)容。圖片/鏈接將使移動設(shè)備的用戶代理處的用戶具 有點擊圖片/鏈接以訪問媒體文件的能力。此外,因為媒體文件最初不與要傳輸?shù)接脩舸?理的所請求內(nèi)容包括在一起,所以用于下載內(nèi)容的時間能夠被顯著地減少。在更新內(nèi)容后,該方法行經(jīng)連接符828并且代理服務(wù)器傳輸(830)所請求的內(nèi)容 到移動設(shè)備。在傳輸后,該方法能夠結(jié)束832。本文所公開的方法可以被實施為計算機(jī)程序產(chǎn)品,即有形地包含在信息載體中 (例如在機(jī)器可讀存儲設(shè)備中或在傳播信號中)以供數(shù)據(jù)處理設(shè)備(例如可編程處理器、計 算機(jī)或多個計算機(jī))執(zhí)行或控制數(shù)據(jù)處理設(shè)備的操作的計算機(jī)程序。計算機(jī)程序能夠以任 何形式的編程語言進(jìn)行編寫,包括匯編或解釋語言,并且其能夠被部署成任何形式,包括作 為獨(dú)立程序或作為模塊、組件、子例程或者其它適合用于計算環(huán)境中的單元。計算機(jī)程序能夠被部署成在一個計算機(jī)上或在多個計算機(jī)上執(zhí)行,所述計算機(jī)位于一個站點或分布在多 個站點上且由通信網(wǎng)絡(luò)互連。 在前面的說明書中,已經(jīng)參照特定的示例性實施例描述了本發(fā)明。然而,顯然的 是,在不偏離所附權(quán)利要求所闡述的發(fā)明的較寬精神和范圍的情況下可以做出各種修改和 改變。說明書和附圖因而應(yīng)被認(rèn)為是說明性的而不是限制性的含義。通過考慮說明書和實 踐本文公開的發(fā)明,本發(fā)明的其它實施例對于本領(lǐng)域技術(shù)人員會是很明顯的。
權(quán)利要求
一種方法,包括接收對網(wǎng)頁的第一請求;通過接收與所請求的網(wǎng)頁相關(guān)聯(lián)的內(nèi)容來與內(nèi)容服務(wù)器進(jìn)行通信;確定所述內(nèi)容是否包括需要插件支持的特定內(nèi)容;啟動插件以處理所述特定內(nèi)容;基于對所述特定內(nèi)容的檢查來獲得附加內(nèi)容;監(jiān)視所述附加內(nèi)容以確定所述附加內(nèi)容是否包括媒體內(nèi)容;以及基于所述監(jiān)視來為所請求的網(wǎng)頁更新內(nèi)容。
2.權(quán)利要求1的方法,其中啟動插件包括啟動本地插件以處理所述特定內(nèi)容。
3.權(quán)利要求2的方法,其中獲得附加內(nèi)容包括接收來自本地插件的對附加內(nèi)容的第二 請求以及為本地插件獲取附加內(nèi)容。
4.權(quán)利要求1的方法,其中啟動插件包括當(dāng)所述內(nèi)容包括需要插件支持的特定內(nèi)容時 啟動媒體發(fā)現(xiàn)插件,其中所述媒體發(fā)現(xiàn)插件執(zhí)行所述監(jiān)視。
5.權(quán)利要求4的方法,還包括當(dāng)所述內(nèi)容包括需要插件支持的特定內(nèi)容時由媒體發(fā)現(xiàn) 插件啟動本地插件。
6.權(quán)利要求5的方法,其中獲得附加內(nèi)容包括接收來自本地插件的對附加內(nèi)容的第二 請求以及為本地插件獲取附加內(nèi)容。
7.一種方法,包括 接收需要插件支持的內(nèi)容;啟動本地插件以處理特定內(nèi)容; 接收來自本地插件的對附加內(nèi)容的請求; 為本地插件獲取附加內(nèi)容;監(jiān)視所述附加內(nèi)容以確定所述附加內(nèi)容是否包括媒體內(nèi)容;以及向代理服務(wù)器提供通知,其中所述通知向代理服務(wù)器告知所述附加內(nèi)容包括媒體內(nèi)容。
8.一種系統(tǒng),包括用戶代理,傳輸對網(wǎng)頁的第一請求;代理服務(wù)器,其被配置成接收對網(wǎng)頁的第一請求、通過接收與所請求的網(wǎng)頁相關(guān)聯(lián)的 內(nèi)容來與內(nèi)容服務(wù)器進(jìn)行通信、確定所述內(nèi)容是否包括需要插件支持的特定內(nèi)容、啟動插 件以處理所述特定內(nèi)容、基于對所述特定內(nèi)容的檢查來獲得附加內(nèi)容、監(jiān)視所述附加內(nèi)容 以確定所述附加內(nèi)容是否包括媒體內(nèi)容;以及基于所述監(jiān)視來為所請求的網(wǎng)頁更新內(nèi)容。
9.權(quán)利要求8的系統(tǒng),其中所述插件是媒體發(fā)現(xiàn)插件,其被配置成在所述內(nèi)容包括需 要插件支持的特定內(nèi)容時被啟動。
10.權(quán)利要求9的系統(tǒng),其中所述媒體發(fā)現(xiàn)插件啟動本地插件并且監(jiān)視所述附加內(nèi)容。
11.權(quán)利要求10的系統(tǒng),其中所述媒體發(fā)現(xiàn)插件通過接收來自本地插件的對附加內(nèi)容 的第二請求以及為本地插件獲取附加內(nèi)容來獲得附加內(nèi)容。
12.權(quán)利要求8的系統(tǒng),其中所述插件是本地插件,其被配置成在所述內(nèi)容包括需要插 件支持的特定內(nèi)容時被啟動。
13.權(quán)利要求12的系統(tǒng),其中所述代理服務(wù)器接收來自本地插件的對附加內(nèi)容的第二請求以及為本地插件獲取附加內(nèi)容。
14.一種存儲指令的計算機(jī)可讀媒介,所述指令在由計算機(jī)執(zhí)行時使得計算機(jī)執(zhí)行媒 體發(fā)現(xiàn)的方法,所述方法包括接收對網(wǎng)頁的第一請求;通過接收與所請求的網(wǎng)頁相關(guān)聯(lián)的內(nèi)容來與內(nèi)容服務(wù)器進(jìn)行通信; 確定所述內(nèi)容是否包括需要插件支持的特定內(nèi)容; 啟動插件以處理所述特定內(nèi)容; 基于對所述特定內(nèi)容的檢查來獲得附加內(nèi)容; 監(jiān)視所述附加內(nèi)容以確定所述附加內(nèi)容是否包括媒體內(nèi)容;以及 基于所述監(jiān)視來為所請求的網(wǎng)頁更新內(nèi)容。
15.一種存儲指令的計算機(jī)可讀媒介,所述指令在由計算機(jī)執(zhí)行時使得計算機(jī)執(zhí)行媒 體發(fā)現(xiàn)的方法接收需要插件支持的內(nèi)容; 啟動本地插件以處理特定內(nèi)容; 接收來自本地插件的對附加內(nèi)容的請求; 為本地插件獲取附加內(nèi)容;監(jiān)視所述附加內(nèi)容以確定所述附加內(nèi)容是否包括媒體內(nèi)容;以及向代理服務(wù)器提供通知,其中所述通知向代理服務(wù)器告知所述附加內(nèi)容包括媒體內(nèi)
全文摘要
文檔編號G06F17/30GK101952823SQ200880106478
公開日2011年1月19日 申請日期2008年7月10日 優(yōu)先權(quán)日2007年7月10日
發(fā)明者Hanos Dimitris, Rochon John, Miguel A Melnyk, Stavrakos Nicholas, Kapatos Spyros 申請人:Bytemobile Inc