專利名稱:可移植程序模塊的外部引用的制作方法
技術領域:
本文檔論述用于將信息合并入可移植程序模塊中的機制和技術,其可以包括使用 實時信息饋給來生成小組件(gadget)廣告。
背景技術:
定向web廣告對于如同谷歌的公司而言已經成為非常成功的業務。這樣的廣告因 幾乎相同的原因而成功某些搜索引擎是成功的-其帶給用戶與他們相關的信息。典型地, 通常在獨立于實際結果本身的區域中,與搜索結果一起提供廣告。在這樣的情況下,所選擇 的用于顯示的廣告可以與搜索請求中的詞語相匹配。谷歌Adwords服務是這樣的定向廣告 的示例。還可以脫離搜索遞送定向廣告,諸如在網頁本身上。例如,廣告系統可以分析網頁 的內容以確定與該頁面相關聯的重要單詞或概念,并且可以在顯示該頁面時遞送涉及那些 單詞或概念的廣告。這樣的遞送可以在為用戶檢索該頁面時發生,其中頁面的托管者遞送 該頁面內容以及廣告服務器遞送定向廣告。谷歌AdSense服務是這樣的定向廣告的示例。
發明內容
本文檔描述可以用來將信息從外部源提供到諸如網頁的基于web的文檔的機制 和技術。例如,網頁或程序可以充當諸如小組件的可移植程序模塊的容器文檔。可以對小 組件進行編程以識別關于容器文檔的信息、將這樣的信息傳遞到廣告服務器、從廣告服務 器接收回定向信息以及將定向信息供給給獨立于廣告服務器的服務器。小組件然后可以使 用從獨立服務器返回的信息來創建廣告用于顯示。在一個示例中,小組件可以生成被定向 到頁面并且包括來自諸如易趣的在線拍賣服務的實時信息的廣告。在一個實施方式中,公開了一種計算機實現的方法。該方法包括在計算機服務器 存儲與該計算機服務器不相關聯的第一 web可訪問的文檔的指示數據;從與該web可訪問 的文檔相關聯的容器文檔中的程序模塊接收請求;以及響應于該請求提供與指示數據有關 的信息。Web可訪問的文檔可以包括容器文檔,以及指示數據可以包括與web可訪問的文檔 上的文本內容相關聯的關鍵詞。在一些方面中,與指示數據有關的信息包括指示數據的至 少一部分。并且,關于web可訪問的文檔的信息可以包括web可訪問的文檔的URL。另外, 該方法還可以包括分析web可訪問的文檔以確定該文檔的關鍵詞。在另一個實施方式中,公開了計算機實現的方法。該方法包括獲取用于識別容器 文檔的信息,其中可移植程序模塊位于該容器文檔中;將信息提交給存儲關于容器文檔的 信息的概念服務器,并且作為響應接收與容器文檔相關聯的信息;以及向項搜索服務器提 交有關與容器文檔相關聯的信息的查詢。該方法還可以包括響應于查詢接收關于一個或 多個項的積極(actively)更新的信息;以及在容器文檔上生成與一個或多個項有關的顯 示。在一些方面中,積極更新的信息包括在線拍賣的狀態信息,以及顯示包括一個或多個超 鏈接。在某些方面中,該方法進一步包括接收對一個或多個超鏈接中的一個的選擇并且促使與該超鏈接相關聯的網頁被顯示。并且,超鏈接可以包括對實時改變的內容的返回 的查詢。另外,顯示可以包括定向廣告,以及該方法可以進一步包括接收對一個或多個超鏈 接中的一個的選擇并且向廣告服務器報告點擊事件。此外,該方法還可以包括確定顯示的 大小以及對關于一個或多個項的信息進行格式化以在顯示中顯示。用于識別容器文檔的信 息可以包括與該容器文檔相關聯的URL,以及與該容器文檔相關聯的信息可以包括表示容 器文檔上的文本中的概念的一個或多個關鍵詞。在某些方面中,該方法還包括從一個或多 個關鍵詞的子集生成查詢。在又一個實施例中,公開了可記錄的介質。該介質以有形形式在其上記錄并存儲 了指令,在執行所述指令時執行包括以下的行為獲取用于識別容器文檔的信息,其中可移 植程序模塊位于該容器文檔中;將信息提交給存儲關于容器文檔的信息的概念服務器,并 且作為響應接收與容器文檔相關聯的信息;以及向項搜索服務器提交與和容器文檔相關聯 的信息有關的查詢。在另一個實施例中,計算機實現的系統包括用于由客戶端應用顯示的web可訪問 的容器文檔,以及用于在容器文檔上顯示的廣告可移植程序模塊。廣告可移植程序模塊包 括計算機代碼,其用來識別容器文檔的場境(context)信息、將與場境信息相關聯的場境 信息提交給廣告服務器、將廣告關鍵詞信息提交給第三方服務器以及使用從第三方服務器 返回的信息生成廣告。將在下面的附圖和描述中闡述一個或多個實施例的細節。其它特征、目的和優勢 從描述和附圖以及從權利要求將是顯而易見的。
圖1示出了用于將實時信息遞送給可移植程序模塊的系統和過程的概念圖。圖2A-2C是可以由圖1的系統和過程產生的小組件廣告的示例顯示。圖2A-2B示出了媒體有關著陸頁的顯示。圖3是用于將內容實時遞送給可移植程序模塊的示例系統的示意圖。圖4是用于生成展示實時數據的嵌入式廣告的過程的流程圖。圖5是用于生成展示實時數據的嵌入式廣告的過程的泳道圖。圖6示出了包括多個可移植程序模塊的容器文檔的示例布局。圖7是用于動態生成廣告和其它項的示例系統的示意圖。圖8示出了可以被用來實現在此描述的技術的計算機設備和移動計算機設備的 示例。圖9A和9B是包括用于顯示動態生成的廣告的可移植程序模塊的網頁的顯示。在各附圖中相同的參考標記指示相同的元素。
具體實施例方式圖1示出了用于將實時信息遞送給可移植程序模塊的系統100和過程的概念圖。 在圖示的示例中,系統100包括可移植程序模塊104 (諸如web小組件)、廣告服務器106以 及項搜索系統108。總的來說,這些組件協作以許可包含實時或幾乎實時的數據的廣告或其 它這樣的顯示在運行期間被構建并且向用戶顯示。如此,定向廣告可以在運行中被構建,并且因此可以包含與用戶當前相關的信息。在該示例中,該信息是關于與網頁的內容有關的 一個或多個在線拍賣的狀態信息。另外,在某些實施方式中,系統100可以以對現有系統很少或沒有調整的方式來 實現。例如,可以對可移植程序模塊104進行編程以使用認可的API向廣告服務器106和 項搜索系統108提交標準HTTP請求,其與其它系統發出的請求一樣。如此,可以在不必更 新服務器軟件或進行其它類似的改變的情況下將在此描述的功能性添加到系統。另外,這 樣的系統100可以提供額外的靈活性,其中可移植程序模塊的作者和用戶可以相對于其系 統與廣告服務器106和項搜索系統108交互的方式具有更多控制。在某些實施方式中,這樣的技術可以提供一個或多個優勢。例如,在該示例中,頁 面可以能夠向查看者提供可能與用戶特別相關的最新實時信息。例如,如果僅向用戶提供 關于拍賣站點上的區域的信息,其中只具有可能存在在該站點發生的相關拍賣的指示,則 由于點擊可能是浪費時間的,所以用戶會有節制地點進來查閱拍賣。另一方面,如果用戶看 到馬上將要期滿的拍賣中的實際產品,并且看到其當前價格,則用戶會點擊廣告的可能性 將會顯著提高。示例實施方式對用戶、廣告主、廣告載體以及信息提供者可以有益。用戶由于向他 們提供與其更相關的信息而獲益。廣告主由于他們可以驅使更多的查看者到達其商品而獲 益。諸如谷歌的廣告載體由于其服務的廣告主獲益而獲益。而信息提供者_包含小組件廣 告的文檔的所有者_由于其查看者獲益以及可能由于其能夠獲取廣告收益的分享而獲益。參見圖1,示出了位于容器文檔102中的可移植程序模塊104。可移植程序模塊104 可以包括從標記代碼生成的顯示,所述標記代碼被存儲為生成容器文檔102的標記代碼的 一部分或從生成容器文檔102的標記代碼引用。例如,標記代碼可以包括各種形式的HTML 代碼,諸如用于生成顯示上的小組件的代碼。可移植程序模塊104可以是容器文檔102表 示的網頁上的iFrame的一部分。總的來說,iFrame是可以使用iFrame元素來嵌入在另一 個HTML文檔中的HTML文檔。在其中嵌入iFrame的文檔-在該示例中的容器文檔102-可 以在仍然還在生成iFrame本身時圍繞iFrame生成。用于在網頁中提供iFrame的示例HTML代碼包括下述<html>...<iframe src = “ http://makinganiframe.com" height = “ 100 “width=" 200" frameborder = “ 0" scrolling = “ no" ></iframe></html>如該代碼所示,iFrame元素可以引用待插入在iFrame中的文檔、iFrame的尺寸以 及在iFrame內是否會允許滾動。通過使用HTML錨的“目標”屬性或諸如在AJAX實施方式 中通過使用JavaScript,在iFrame中的文檔在不用刷新容器文檔(例如,周圍頁面)的情 況下可以用另一個文檔替代或可以被修改或刷新。例如通過編輯文檔的DOM樹可以生成類 似的顯示。可移植程序模塊104可以與容器文檔102、廣告服務器106以及項搜索系統108通 信。容器文檔可以顯示各種信息,在該情況下,顯示標題102a和正文文本102b。容器文檔102還由可以由可移植程序模塊104以及其它連接互聯網的組件和系統使用來識別容器文 檔的URL表示。可移植程序模塊104可以使用廣告服務器106來有效執行對容器文檔102的文本 分析。廣告服務器可以是包括爬取各種網站并且分析那些網站的內容的組件的服務器。特 別地,可以收集網頁的文本內容,以及可以生成頁面上的詞語的列表并且將其從最常見詞 語到最不常見詞語排序。然后可以將該詞語的列表提交到已用其它詞語訓練并且將各種概 念與那些詞語相關聯的專家系統。從這樣的分析,可以確定與網頁相關聯的特定概念,并且 可移植程序模塊104可以在查詢中使用這樣的概念(如下面進一步描述的)以從第三方獲 取用于被可移植程序模塊104執行以及顯示的額外信息。可移植程序模塊104可以通過發出對廣告服務器106的恰當格式化的請求來訪問 這樣的信息。通過向廣告服務器106提供諸如容器文檔102的URL的容器文檔102的識別 信息,該請求可以向廣告服務器標識所需的信息。為了獲取URL,可移植程序模塊104可以 使用在頁面上執行的頁面上的javascript,使得其可以經由document, location獲得URL。 如果javascript運行于廣告框架內,則其可以使用document, referrer來獲得內容頁面的 URL。Javascript然后可以創建從廣告服務器請求廣告的iframe,該iframe然后可以返回 小組件,在其中填入了適當的URL。可移植程序模塊104然后可以通過發出HTTP請求將URL 提交給廣告服務器106,所述HTTP請求諸如如下格式化的請求http://pagead2. googlesyndication. com/pagead/ads ? url = slashdot. org&outp ut = xml&num—radlinks = 10廣告服務器106被配置為接收與特定URL有關的請求并且作為響應提供描述與 URL相關聯的內容的關鍵詞。廣告服務器106可以僅被配置為響應于接收URL執行查找,或 可以在返回描述信息之前識別與所接收的URL相關聯的額外數據。廣告服務器106可以查 找頁面的已爬取的副本并且如上所述并根據需要取決于場境、關鍵詞或廣告,進行場境分 析。對于地理信息,服務器106可以在地理數據庫中查找有關請求的IP地址。在接收描述信息后,可移植程序模塊104可以將所接收的信息、信息的子集或與 所接收的信息有關的信息提交給項搜索系統(ISS) 108。項搜索系統108可以采用各種形 式,而在該示例中是維護諸如天氣、股票價格或拍賣信息的不斷改變的實時信息的服務器。 這樣的系統的一個示例為易趣拍賣網站。項搜索系統108可以操作以經由公布的、公開的 協議接收查詢,使得可移植程序模塊104的開發者可以經由可移植程序模塊104使用所接 收的描述信息來容易地通信查詢。項搜索系統108然后可以以已知的方式響應,諸如通過 傳送與由項搜索系統跟蹤的行為有關的XML格式化信息。例如,項搜索系統108可以提供 關于與傳遞給其的查詢相關聯的拍賣中的頂端對象的描述信息,諸如描述、照片、當前價格 以及期滿時間。圖1中的字母箭頭示出了系統100中的示例操作流。在該特定示例中,容器文檔 102是用于在線購物站點的網頁,其列出每一天用于出售的一種產品,并且在該產品售完后 停止出售任何東西。如此,該網站的運營者可能會在每一天該站點沒有東西可賣時-可能 數小時_失掉產生收益的機會。同時,除每一天單個產品外,運營者可能不希望還必須管理 其它出售。為了幫助這一挑戰,運營者可以將可移植程序模塊104包括在容器文檔102中,并且可以提供代碼,使得可移植程序模塊104僅在容器文檔102上做廣告的產品已經賣完后 被啟用。直到那時,可以在關于可移植程序模塊104的iFrame中顯示各種其它信息,諸如 用戶關于頁面上正出售的產品的實時討論。在訪問可移植程序模塊104時,諸如在用戶訪問容器文檔102時被提供標記代碼 時,可以首先開始執行用于容器文檔102的代碼,并且顯示容器文檔102。在處理到達用于 可移植程序模塊104的iFrame代碼時,可以訪問并執行用于可移植程序模塊104的代碼。 該代碼可以包括諸如容器文檔的URL的用于訪問關于容器文檔的信息的元素,以及在容器 文檔中為iFrame提供的尺寸。箭頭A示出了從可移植程序模塊104到容器文檔102的請 求以獲取關于容器文檔102的某些信息。可移植程序模塊104然后可以諸如以HTTP請求的形式向廣告服務器106發出請 求以從廣告服務器106獲取關于容器的額外信息。箭頭B示出了這樣的請求。請求可以包 括從容器文檔獲取的以其原始形式或修改后的形式的一些或全部信息。例如,請求可以包 括容器文檔的URL。請求還可以包括諸如用戶的IP地址的其它信息,以及發布者樂于傳遞 的任何其它參數,諸如用戶人口統計數據等。可以可選地對從可移植程序模塊104到廣告服務器106的請求進行加密或保護其 不被篡改。例如,在可移植程序模塊104和廣告服務器106之間可以商定獨特的協議以阻 止從廣告服務器106非法請求信息。在接收這樣的請求后,廣告服務器106可以在生成對請求的響應中執行各種操 作。在所描繪的示例中,廣告服務器106的任務是向可移植程序模塊104提供描述容器文 檔102的信息。廣告服務器106或與廣告服務器106相關聯的其它服務器可能先前諸如通 過上述技術已生成這樣的描述信息。如果已經存在這樣的信息,則廣告服務器106可以只 是將該信息返回給可移植程序模塊104。如果廣告服務器106還沒有關于容器文檔102的 描述信息,則廣告服務器106可以試圖實時生成這樣的信息。例如,廣告服務器106可以促 使蜘蛛(spider)模塊來訪問容器文檔102以從容器文檔102獲取內容(例如,網頁的文本 以及可以指示文本的相對重要性的標簽,諸如標題標簽),并且可以從內容提取關鍵詞。這 樣的關鍵詞然后可以由廣告服務器106存儲以供以后使用,并且還可以被傳送回可移植程 序模塊104。如果廣告服務器106不能獲取直接描述容器文檔102的信息,則廣告服務器106 可以試圖生成對這樣的信息的最佳猜測。例如,廣告服務器106可以獲取在與容器文檔102 相同的域處的其它文檔的關鍵詞。廣告服務器106然后可以創建關鍵詞,其為例如容器文 檔102的地址“附近”的其它文檔的關鍵詞的排名的聯合。在一個示例中,在確定待遞送的 用于容器文檔102的適當描述信息時,可以給予最接近容器文檔102的文檔(例如,在相同 路徑中的那些文檔)比更遠距離的文檔更高的權重。在廣告服務器106確定容器文檔102的描述信息時,可以如箭頭C所示將該描述 信息返回給可移植程序模塊104。例如,可以以XML格式化消息或其它類似的消息格式提供 iMin 息。在從廣告服務器106接收信息后,可移植程序模塊104可以如箭頭D所示在查詢 中將信息提交給項搜索系統108。這樣的行為可以僅包括將從廣告服務器106接收的關鍵 詞作為變量插入查詢中。這樣的行為還可以涉及額外步驟。例如,可移植程序模塊104可以進行從廣告服務器106接收的某些信息不會從項搜索系統108導致滿意結果的確定。作 為一個示例,可移植程序模塊104可能為項搜索系統108接收太多的關鍵詞,并且可以被編 程以移除某些關鍵詞(例如,最后接收的關鍵詞)從廣告服務器106返回給可移植程序模塊104的信息可以包括除描述信息外的信 息。例如,廣告服務器106可以通過分析描述信息來確定來自許多項搜索系統中的特定項 搜索系統108可能更適于向可移植程序模塊104提供內容。作為一個示例,在返回給可移 植程序模塊104的關鍵詞與消費者指向的術語(例如,DVD、電視、收藏)有關的情況下,廣 告服務器106可以提供參數,使得可移植程序模塊104將查詢發送給與易趣相關聯的服務 器。另一方面,如果關鍵詞指示用戶可能正在查看更偏工業的文檔(例如,鋼材、鋼坯、CRM 等),則可以將可移植程序模塊104定向到聚焦工業的拍賣站點。以這種方式,作為過程的 結果示出的廣告可能尤其適合,并且還可以被定向到最可能給出完整和有用結果的站點。響應于可移植程序模塊104的提交,項搜索系統108可以返回查詢的結果。例如, 通過標準API,項搜索系統108可以重新格式化查詢以提交給數據庫,諸如實時(其包括幾 乎實時)跟蹤拍賣狀態的數據庫。結果可以包括正在進行的拍賣的列表,如同如果用戶將 相關關鍵詞鍵入到諸如易趣的拍賣站點的主頁則他會看到的那樣。項搜索系統108可以如 箭頭E所示將某一數量的結果(例如,響應于從可移植程序模塊104接收的參數),諸如前 三個結果(例如,三個最靠近的結果或將要期滿的三個拍賣),返回給可移植程序模塊104。 可以將結果例如格式化為XML消息。從項搜索系統108返回給可移植程序模塊104的消息 的示例可以采用以下形式在從項搜索系統108接收結果后,可移植程序模塊104可以分析并格式化結果以 在由容器文檔102表示的網頁上向用戶顯示。例如,可移植程序模塊104可以最初確定其 關聯的iFrame的大小,以確定其可以顯示多少結果以及其可以以哪種格式來顯示結果。例 如,如果iFrame非常短,則可能沒有用于圖形(例如,拍賣中的項的照片)的空間,而可移 植程序模塊104可以在這樣的情況下拒絕顯示圖形。另外,可移植程序模塊104可以確定iFrame太小而不能顯示多個項的完整描 述,并且因此可以選擇并置某些描述或僅顯示從ISS接收的字段的子集,諸如僅顯示項的 “short description (簡短描述)”字段。而且,可移植程序模塊104可以選擇顯示比iFrame 將容納的項更多的項,并且可以提供滾動控件以允許對最初未顯示的項訪問。可移植程序 模塊104還可以執行其它格式化操作,諸如擴展出iFrame外以示出更多項。在適當的實施方式中,在正加載與容器文檔102相關聯的頁面時,可以發生從容 器文檔102收集信息、將該信息提交給廣告服務器106、從廣告服務器接收關于容器文檔 102的描述信息、向ISS提交查詢以及接收并顯示來自項搜索系統108的結果。如此,用戶 在訪問并加載關聯的網頁時可以幾乎即刻可查看由可移植程序模塊104創建的顯示,諸如 積極生成的廣告。可移植程序模塊104還可以提供有用于訪問用于與網頁一起顯示的信息的額外 功能性。例如,可移植程序模塊104進行的調用可以是有條件或迭代的。作為一個示例, 可移植程序模塊104可以請求有限數量的結果,并且在顯示那些結果時,可以顯示通過其 用戶可以尋找額外結果的控件。在這樣的情況下,可移植程序模塊104然后可以請求額外 結果。(可移植程序模塊104還可以最初獲取所有結果并且存儲部分結果直到用戶請求它們。)可移植程序模塊104還可以從自廣告服務器106接收的信息確定多個項搜索系統 108可以是廣告的可能源。在這樣的情況下,可移植程序模塊104可以生成向用戶示出項 搜索系統108的各種選擇的顯示,并且然后可以在用戶選擇這樣的選項后執行對特定項搜 索系統108的查詢。應當理解的是,可移植程序模塊104還可以實現由諸如Javascript和 JavaFX的語言提供的各種功能,因此啟用一系列豐富的交互由可移植程序模塊104產生的顯示可以包括允許用戶與結果交互的元數據,諸如 超鏈接。例如,顯示在線拍賣中的某些項的文本可以與超鏈接相關聯,對其的選擇促使顯示 容器文檔102的瀏覽器被重定向到示出關于項的細節的頁面(或促使打開新窗片或新窗口 以顯示項細節屏)。對這樣的超鏈接的選擇還可以促使消息被傳送給廣告服務器106或與廣告服務 器106相關聯的服務器,以報告用戶的選擇。例如,廣告系統可以基于用戶點擊特定廣告的 次數來向廣告主計費,并且這樣的消息可以允許廣告系統向諸如項搜索系統108的運營者 的廣告主恰當地計費。另外,可移植程序模塊104可以報告回用戶在顯示內選擇的特定項, 使得可以發生更詳細的報告和計費。作為涉及在線拍賣系統的一個示例,如果用戶點擊用 于一個項的鏈接,則營運拍賣的項搜索系統108可以向該項的出售者計費。項可以包括ISS 分配的ID號,并且可移植程序模塊104可以在用戶選擇該項時將該ID號傳遞給廣告服務 器106。廣告服務器106然后可以在適當的時間,諸如在向項搜索系統108對選擇計費時, 將該ID號提供給項搜索系統108。除使用這樣的信息以公平和跟蹤的方式將廣告費用傳遞 給其用戶外,項搜索系統108可以使用這樣的信息來幫助分析在顯示中提供某些信息的有 效性等。在某些實施方式中,可以緩存由可移植程序模塊104到廣告服務器106以及到項 搜索系統108的請求。由于上述的各種請求可能需要相對大規模的搜索和處理,尤其非常 大量地執行時,所以這樣的緩存可以允許增強的性能。例如,如果將如同上述的用于廣告的 可移植程序模塊放置在■· nyt. com網站的首頁,則可能有成千上萬的頁面加載,每一次 頁面加載需要廣告服務器106和ISS的完全搜索和處理。緩存可以允許搜索和處理發生一 次,其中僅通過在緩存中查找它們來服務隨后的請求。在發生這樣的緩存時,其可以在各個層級,包括在瀏覽器中、在ISP或共同的服務 器處以及在諸如谷歌的中央信息提供者處,來實現。在瀏覽器處,在用戶返回到作為如同上 述的用于可移植程序模塊的容器的網頁(例如,在閱讀文章后返回到報紙的主頁時)時,模 塊代碼可以只是返回首次加載頁面所獲取的信息。在ISP處的緩存可以在第一用戶從那些 源尋找信息后完全避免命中廣告服務器106或項搜索系統108的任何需求。而在廣告服務 器106和項搜索系統108處的緩存包括在那些系統上的一些加載,但避免以會比僅在緩存 中查找信息更加昂貴的方式重新查詢和重新處理的需求。可以通過各種機制控制緩存終止,尤其在由可移植程序模塊104所顯示的數據為 如同天氣信息和在線拍賣信息的實時數據時。例如,一種機制可以將適當粒度的時間戳插 入GET請求中。另外,在使用或能夠使用緩存的情況下,可移植程序模塊104可以被編程為 預期這樣的緩存來格式化項。例如,如果在線拍賣系統將拍賣中剩余的時間報告為“剩余3 分鐘”,則可移植程序模塊104可以被編程來將這樣的信息重新格式化成絕對而不是相對時 間,例如“在2:23pmCT期滿”。
圖2A-2C是可以由圖1的系統和過程產生的小組件廣告的示例顯示202-206。在 該特定實施方式中,顯示示出了已經被選擇來匹配一個頁面的場境的廣告,其中例如該頁 面與某個類別的計算機外圍設備有關,使得所選擇的廣告為用于HP計算機外圍設備的。該 頁面還已經被定向到這樣的數碼攝影的主題,其中在顯示202-206中示出的交互式廣告的 各個部分還與數碼攝影相關。顯示202-206中的每一個為用戶可以選擇來與廣告一起示出 的顯示,并且用戶還可以對廣告上的超鏈接進行選擇以被帶到HP網站。類似的顯示可以作為廣告模擬程序的一部分生成,通過其可以向用戶提供菜單選 擇以識別用于廣告的大小以及待與廣告相關聯的目標容器文檔。因此,例如可移植程序模 塊可以將用戶選擇的特定URL提交給廣告服務器,并且廣告服務器可以諸如通過用于對頁 面的索引的爬取過程事先已分析相關URL頁面,諸如用于對頁面內容進行分析并分類的 AdSense過程的一部分。這樣的分析可以確定“數碼相機”的概念或關鍵詞是關于該頁面的 最相關的概念或關鍵詞。結果,廣告服務器可以將這樣的關鍵詞返回給可移植程序模塊,并 且可移植程序模塊可以促使在此示出的顯示被生成。在其它實施例中,可以將關鍵詞提交給諸如易趣的站點,其可以為可移植程序模 塊返回至少一個數碼照片以與廣告一起顯示。可以被直接編碼入可移植程序模塊的與廣告 相關聯的文本可以向用戶強調所顯示的信息為關于當前正發生(或在最近的過去已發生) 的拍賣的實時信息。還可以將顯示的關于拍賣的每一個項作為超鏈接來提供,使得用戶可 以容易地看到廣告為交互式的,以及對相關超鏈接的選擇會將他們帶到對應拍賣的細節頁以這種方式,可以向用戶呈現顯示,通過其他們將即刻明白他們可以在不需要任 何努力的情況下到達期望的拍賣。具體地,他們將不必在點擊廣告并且被帶到易趣網站后 輸入額外的搜索請求。結果,在此示出的廣告的呈現可以促使用戶以更加積極的方式作出 反應,即更重視廣告并且更可能點擊廣告。結果,用戶可以通過被定向到他們感興趣的信息 來獲益,廣告主易趣(以及其對應的相機出售者)通過將額外的流量驅使至拍賣來獲益,廣 告的經營者可以通過產生廣告收益來獲益,以及容器文檔的制作者可以通過分享廣告收益 并且具有更滿意的用戶基礎來獲益。圖3是用于將內容實時遞送給可移植程序模塊的示例系統的示意圖。總的來說, 圖3中示出的組件可以采用類似于圖1中所示出的那些的形式。在此示出了某些組件的額 外細節和結構以額外說明示例系統300的操作。系統300 —般由容器文檔304中的可移植程序模塊306組成,該可移植程序模塊 306可以通過諸如互聯網的網絡310從廣告服務器302和項數據庫308訪問信息。容器文 檔304可以具有與它相關聯的多個參數,包括它的URL 323。可移植程序模塊306包括代 碼和嵌入在容器文檔304中的作為結果的顯示,并且可以包括從容器文檔304引用的代碼。 如上所述,可移植程序模塊306可以被實現為在與容器文檔304相關聯的網頁上的iFrame 中提供顯示。可移植程序模塊306包括允許它獲取關于容器文檔的信息并且使用這樣的信息 來檢索并顯示諸如動態生成的廣告的內容的多個組件。例如,場境請求器是諸如通過與顯 示容器文檔的瀏覽器程序通信來與容器文檔304通信的程序模塊。場境請求器可以獲取定 義可移植程序模塊306的場境的各種參數,諸如用于容器文檔304的URL 323以及在其中待顯示可移植程序模塊306的幀的大小等。可移植程序模塊306還包括請求格式器326。請求格式器326可以被用來諸如使 用由場境請求器324獲取的場境信息(例如,容器文檔URL)生成對廣告服務器302的請 求。另外,請求格式器可以從廣告服務器302接收響應,并且使用在這樣的響應中的信息來 生成對項數據庫308的請求,例如被設計來生成示出由項數據庫308跟蹤的實時信息的項 的列表,以供可移植程序模塊306顯示的查詢。另外,可移植程序模塊306還可以包括廣告生成器328。廣告生成器以如同上述那 些的方式接收諸如從項數據庫308返回的信息的信息,包括實時信息,并且格式化所接收 的信息以在與容器文檔304相關聯的網頁上顯示。可移植程序模塊306可以生成待通信至網絡310并且經由網絡310通信的各種形 式的消息。消息306a是以對廣告服務器308的請求(例如HTTP請求)的形式的消息,包括 已由可移植程序模塊306收集的與可移植程序模塊306的場境有關的場境信息。消息306b 是可以以按照標準API的形式將其提交給項數據庫(或與項數據庫308相關聯的web服務 器)的搜索查詢。項數據庫308本身可以采用與在此描述的技術一致的各種形式。在某些實施方式 中,項數據庫308可以跟蹤實時、不斷改變的信息。在這樣的實施方式中,可移植程序模塊 306可以被用來收集這樣的信息并且動態生成諸如廣告的待在與容器文檔304相關聯的網 頁上顯示的內容。項數據庫通常可以被配置為以作為例如對來自可移植程序模塊306的搜 索查詢的響應的搜索結果的形式生成消息。項數據庫308還可以視情況生成并傳送其它消 肩、ο廣告服務器302可以包括用于支持生成到互聯網網頁的查看者的定向廣告的多 個組件和結構。廣告可以被生成以包括在操作廣告服務器302的組織的頁面(例如,搜索結 果頁面)上或可以被生成以通過聯合程序包括在第三方網頁上。如在此的其它設備一樣, 廣告服務器302可以包括一個或多個不同的計算機和/或計算機系統;僅為說明的目的在 此示出了特定編組的模塊和結構。廣告服務器302從在請求處理器318處的其它組件接收消息。請求處理器318可 以解析并分析傳入消息以確定如何響應。例如,傳入消息可以請求與特定URL相關聯的某 些概念或關鍵詞的列表,以及請求處理器318可以分析這樣的請求的結構以確定應當返回 關于與該URL相關聯的網頁的某些識別信息。如此,請求處理器318可以訪問頁面內容數 據316,其包括將特定URL關聯到概念或關鍵詞的信息。訪問可以通過將URL用作為鍵的簡 單查找。頁面內容數據可以首先由文檔分析器314使用爬取器312獲取頁面信息而生成。 爬取器可以通過各種機制操作來自動并且定期檢查通過網絡310可用的信息。文檔分析器 314可以查閱爬取器312采集的信息,并且可以使用如同上述那些的機制來確定信息的概 念或關鍵詞。文檔分析器還可以獲取其從爬取器312分析的用于各種文檔的URL,并且可以 將URL和對應的概念或關鍵詞存儲在頁面內容數據316中以供系統稍后訪問。另外,諸如 在從可移植程序模塊306發出對URL的請求,而對應的URL還未在頁面內容數據316中出 現的情況下,爬取器312和文檔分析器314可以實時獲取并分析信息。在生成了響應時,響應格式器320可以將響應返回給請求器。響應格式器320可以例如將從頁面內容數據316的查詢接收的數據庫結果重新格式化成一個或多個XML消息 以被返回給可移植程序模塊306。消息可以包括例如關鍵詞320a。盡管在此示出了有限的 服務以增加清晰度,但是廣告服務器302還可以提供各種其它服務。例如,靜態廣告可以由 廣告服務器302提供并且可以被遞送以在與容器文檔304相關聯的網頁上顯示——而不必 引用如同項數據庫308的實時信息的單獨源。還可以提供其它服務,這可以在下面關于圖 7更詳盡地描述。圖4是用于生成展示實時數據的嵌入式廣告的過程400的流程圖。總的來說,該 過程示出了可移植程序模塊在收集信息并且向網頁的查看者顯示信息時可以采取的行為。 該過程寬泛地包括從諸如容器文檔的與可移植程序模塊有關的文檔收集信息;將所收集 的信息(或所收集的信息的派生物)提交給遠程服務器;作為響應從遠程服務器接收信息 (例如,提供描述有關文檔的信息的信息);將所接收的信息(或所接收的信息的派生物) 提交給另一個遠程服務器;進而從另一個遠程服務器接收信息;以及顯示所接收的信息。在框402,可移植程序模塊最初獲取關于可移植程序模塊和/或用于可移植程序 模塊的容器文檔的“場境”的信息。場境可以包括許多不同類別的信息,并且可以包括例如 容器文檔中的主標題的文本、用于容器文檔的URL、容器文檔中的鏈接集等。在框404,可移植程序模塊然后將場境信息傳遞給諸如關鍵詞服務器的遠程服務 器。可移植程序模塊可以諸如通過將某些參數添加到信息來首先更改或重新格式化場境信 息,其中參數可以由遠程服務器用來確定關于所提交的信息采取哪些行為。遠程服務器可 以諸如通過在將容器文檔的URL傳遞給服務器時識別描述容器文檔的信息,使用所傳遞的 信息來生成響應。服務器然后可以諸如以關鍵詞的形式將這樣的信息傳遞回可移植程序模 塊,如框406所示。在框408,可移植程序模塊將關鍵詞發送給項搜索數據庫。可移植程序模塊可以分 析所接收的關鍵詞,并且可以增加它們、更改它們或在除可能格式化改變(例如,從XML到 匹配用于項搜索數據庫的API的HTTP請求)外沒有任何改變的情況下只是傳遞它們。另 外,可移植程序模塊可以諸如通過從多個這樣的數據庫中選擇項搜索數據庫,來進行接收 查詢的其它確定。可移植程序模塊然后可以在項搜索數據庫將所提交的查詢應用于其數據 并生成響應時等待。響應可以包括例如對查詢作出響應的一個或多個項。在框410,可移植程序模塊從項搜索數據庫接收結果,以及在框412,可移植程序 模塊格式化并顯示搜索結果。格式化可以包括除去用于顯示的某些結果,以及還確定用于 可移植程序模塊的空間的形式或大小,以及布置關于所返回的項的信息以容納在所分配的 空間中。可移植程序模塊然后可以等待行為。在框414,可移植程序模塊諸如通過用戶點擊 表示由可移植程序模塊顯示的項的超鏈接,來接收控件選擇。所選擇的超鏈接可以促使正 顯示可移植程序模塊的瀏覽器向用戶顯示作為所選擇的超鏈接的目標的細節頁面。通過該 過程,位于中央的可移植程序模塊可以協調對收集用于顯示動態呈現的廣告的數據以及顯 示用于與這樣的廣告以與用戶交互所需的信息的傳遞。圖5是用于生成展示實時數據的嵌入式廣告的過程500的泳道圖。總的來說,過 程500示出了在可以為如同在圖1和3中示出的結構的客戶端設備、廣告服務器以及項服 務器之間的交互的示例。
該示例過程在框502開始,其中客戶端上的網頁上的可移植模塊請求關于網頁的 場境的信息。容器文檔或另一個適當的結構通過提供諸如文檔的URL的場境信息來響應。 可移植模塊然后將有關場境(例如URL)的信息提交給諸如廣告服務器的遠程服務器(框 506)。在接收請求后,廣告服務器可以最初驗證請求(框507),諸如以確保其不是垃圾 信息。服務器然后確定描述容器文檔的信息是否可用,例如是否事先由服務器為文檔生成 并且存儲了描述頁面內容的關鍵詞或概念。如果已經存儲了這樣的信息,則可以簡單地將 這樣的信息返回給客戶端(框514)。另外,如果最近發出過對相同信息的請求,則在不需要 在服務器上額外搜索(未示出)的情況下,緩存可以攔截并且回答請求。如果關于容器文檔的這樣的信息不可用,則廣告服務器可以在運行時間促使容器 文檔被web爬取器爬取(框510)并且然后被分析以生成新的關鍵詞。如果爬取和分析是 成功的(框512),則可以將新生成的關鍵詞返回給客戶端(框514)。如果爬取和/或分析 沒有生成可以返回給客戶端的信息,則廣告服務器可以獲取用于描述容器文檔的替代信息 (框516)。例如,廣告服務器可以收集與容器文檔相同域或相同路徑的所有文檔的關鍵詞, 并且識別在所收集的關鍵詞之中占主導的特定關鍵詞。在收集了替代信息后,可以將替代 信息作為關于容器文檔的信息返回給可移植程序模塊(框514)。在框518,可移植程序模塊諸如通過選擇待傳遞給項服務器的某些關鍵詞,或通 過僅將所接收的信息重新格式化成匹配項服務器可接受的格式的請求,來編輯所接收的信 息。在框520,客戶端完成對請求重新格式化并且將其提交給項服務器,項服務器接收請求 并且返回對應于請求的結果(框522)。項服務器可以根據上述各種過程或根據其它適當過 程來操作。在框524客戶端然后接收結果并且諸如通過除去被確定與容器文檔一起顯示不 恰當的某些結果,來過濾結果或改變結果。在對顯示哪些結果以及如何顯示它們作出決定 時,可移植程序模塊可以檢查顯示參數,諸如iFrame或在其中待發生顯示的類似結構的大 小(框526)。客戶端然后可以格式化并顯示諸如在例如圖2中所示的結果(框528)。在一段時間后,用戶可以選擇由可移植程序模塊顯示的結果中的一個(框530), 這可以促使HTTP請求被遞送給廣告服務器(框522),其中用于項的超鏈接被格式化為定向 到廣告服務器。廣告服務器然后可以將用戶的客戶端應用(例如,瀏覽器)重定向到項服 務器(框532和534)。通過使項的超鏈接指向廣告服務器,以及通過重定向而不是直接地 將瀏覽器指向項服務器,過程500可以向廣告服務器給出項已被點擊的通知,使得廣告服 務器可以為點擊向廣告主計費。在其它情況下,諸如通過每閃現成本計費技術,可以不同地 對廣告計費。在框534,客戶端請求與廣告服務器返回的結果有關的文檔。所請求的文檔通常 可以是文檔,或可以更具體地包括向項服務器提交查詢。項服務器然后可以派發所請求的 文檔(框536),該派發可以包括對數據庫查詢實時改變的信息,以及從數據庫返回匹配項。 最后,在框538,客戶端顯示文檔,這可以包括格式化從項服務器接收的基于XML的數據以 供在網頁上顯示,諸如在小組件中顯示。圖6示出了包括多個可移植程序模塊的容器文檔600的示例布局。多個合并的方 法是可能的,包括對iFrame和內嵌HTML技術的使用。圖6描述了多個模塊,包括股票模塊605、電子郵件模塊606、實時廣告模塊608以及廣告模塊610、612。取決于模塊的創建者所 提供的規范,可以存在用于各種模塊的不同格式。一些模塊可以提供滾動條,而其它可以不 提供。一些模塊與其它模塊相比可以有不同的大小或形狀。另外,一些模塊可以向用戶提 供編輯與模塊相關聯的顯示偏好和/或每次使用的數據的機會。在一個實施方式中,內嵌模塊可以由容器文檔自動調整大小,因此可以不提供滾 動、高度或縮放比例信息。如果模塊開發者希望模塊具有該實施例中的這些特性,則可以以 固定大小<DI V>標簽以及放置在標簽中的內容對內嵌模塊進行封裝。然后可以為內嵌內容 指定滾動條、高度或其它特征。屬性中的一個允許指定scaling = "..."以讓開發者指示 對于容器文檔中的不同大小的置放可以如何按比例放大或縮小模塊。以該示例容器文檔600提供的功能中的一個是通過選擇添加內容元素603將內容 添加到容器頁面的機會。在選擇“添加內容(addcontent)”元素603后,系統可以向用戶提 供交互式地指示額外元素要被包括在容器頁面中的機會。可以提供接收該輸入的各種形式 的界面。另外,在添加、編輯或刪除模塊時,可能期望的是,使那些行為在不用刷新容器文 檔的情況下發生。用于實現上述的一個說明性技術可以包括對AJAX編程技術的使用,因此 可以在不用刷新容器文檔頁面(可能僅刷新在其中呈現新的容器的IFRAME)的情況下將模 塊添加到容器文檔,或使用AJAX來以在不用刷新容器文檔的情況下移除模塊,或在開發者 開發模塊時,能夠在模塊填充在其中的容器文檔不必具有頁面刷新以合并改變的模塊的情 況下改變模塊。圖7是用于動態生成廣告和其它項的示例系統700的示意圖。總的來說,系統700 是將諸如小組件的可移植程序模塊用于各種操作的系統的更一般的表示。在此描述的一般 操作在適當的時候可應用于圖1和3中所示的系統。系統700可以包括具有可以與之相關 聯的多個模塊的主機服務器系統710。這樣的模塊可以包括容器服務器712、模塊服務器 714、規范服務器716、后端服務器718、分析模塊728、模塊創建服務器732、聯合服務器734 以及廣告服務器736。如所圖示,主機服務器系統710可以通過網絡726連接到多個其它系 統或子系統。連接到網絡的其它系統可以包括一個或多個用戶系統722、一個或多個遠程項服 務器724、一個或多個模塊開發者系統730以及一個或多個聯合接受者服務器738。另外, 一個或多個數據庫系統720可以協同主機服務器系統710的各個模塊操作。容器服務器712可以通過網絡726將容器文檔派發給用戶系統722。容器服務器 712可以使用攜帶數據和/或指令并且制定(formulate)容器以通過網絡向用戶系統722 傳送的web服務器或有關服務器系統。然而,該容器服務器712還可以駐留于用戶系統722 中,使得可以不使用網絡連接。例如,在容器文檔包括字處理文檔的示例中,容器服務器712 可以包括字處理模塊。模塊服務器714可以將來自模塊的數據提供給容器服務器712以合并入容器文 檔。在一個實施例中,容器服務器712和模塊服務器714可以包括執行兩者功能的單個單 元,在此描述的其它服務器和模塊也可以如此。模塊服務器714可以通過解釋和/或解析 在與模塊相關聯的模塊規范中的指令,來為容器文檔提供數據。根據一個實施例,模塊服務 器714可以通過對瀏覽器iFrame的使用將模塊內容派發給容器文檔。
15
為了加快容器文檔的顯示,可以將模塊內嵌在容器文檔內顯示。可以將內嵌顯示 理解為是指與其它文檔元素一起顯示。一個示例是根據HTML標準從用于主體中的HTML的 代碼生成的顯示。在一個實施例中,由于內嵌模塊可能產生的各種安全問題的風險,模塊服 務器714或一些其它組件可以在將模塊包括在容器文檔中之前確定是否將模塊視為值得 信賴的。根據一個實施例,模塊可以合并由容器模塊或與容器模塊相關聯的實體頒發的認 可標記(例如,數字證書)。如果存在認可標記,則模塊服務器714可以呈遞來自模塊的數 據以供在容器文檔中內嵌呈現。規范服務器716向模塊服務器714提供模塊規范文件。模塊規范如稍后詳述可以 被緩存并且存儲在模塊服務器714和/或規范服務器716可訪問的數據庫中,或可以從與 規范相關聯的位置檢索。例如,規范服務器716可以駐留于遠程項服務器724上。另外,規 范服務器716可以通過網絡連接到模塊服務器714,其中位于網絡上的另一個位置處的模 塊規范對規范服務器716而言是可訪問的。可以提供后端服務器718以與一個或多個數據庫交互(例如,大型或動態的信息 數據庫),例如,對于(例如,從RSS饋給)獲取頻繁更新并且要求數據流的新聞模塊,后端 服務器718可以將數據格式化為用于容器的HTML。在一個具體示例中,一個人可以創建模塊(例如地圖模塊),諸如針對現有測繪程 序使用應用程序接口(API)來創建模塊以顯示加州山景城市中心的地圖。模塊可以包括存 儲在規范服務器上的XML規范文件或模塊規范文件。規范服務器可以包括任何適當的服務 器,包括在容器頁面被托管的站點處的服務器。用戶或另一個人然后可以將該新的模塊包 括在個性化主頁或另一種形式的網頁(容器文檔)上。派發容器文檔的服務器可以作為模 塊服務器操作,以及通過來自其API的詢問生成測繪數據的服務器可以被認為是后端服務
ο在一個實施方式中,分析模塊728可以在各個時間(例如,在模塊首次由用戶選擇 時、每次模塊由容器調用以被包括或在被確定為對安全和安保有利的任何其它時間以及其 它時間)分析模塊。分析模塊728可以執行多個行為,包括將模塊與不批準或危險模塊的 列表或批準模塊的列表進行比較。比較可以包括按名稱或位置(例如URL)、規范的內容、規 范駐留的位置的內容、或關于模塊的可以是可查明的信息的精確或子字符串(例如,前綴、 后綴和正規表達式)匹配。分析模塊728可以響應于模塊是不被批準或危險的確定而采取一個或多個行為, 包括例如沉默地阻止請求(即提供通用錯誤)、以解釋其被阻止的原因的錯誤阻止請求或 將請求重定向到已被確定為安全并且與不被批準的模塊有關的不同的模塊規范(例如,如 果第一模塊為不被批準的測繪站點,則與地圖有關的另一個模塊,或如果不被批準的模塊 為籃球模塊,則包括關鍵詞“basketball (籃球),,的模塊)。例如,通過重定向,原始模塊 的URL可以被傳遞給“安全”模塊。安全模塊然后可以如下所述使用代理服務器來檢索原 始URL的內容。開發者然后可以替換錯誤句柄來修復原始模塊中的小錯誤以能夠顯示原始 模塊的內容。在另一個實施例中,分析模塊128可以解析模塊內容以確定其是否安全,諸如 通過編譯包含在模塊中的JavaScript或其它腳本以試圖識別模塊可能執行的不安全或不 期望的行為。可以提供一個或多個模塊創建服務器732。這些服務器可以作為“向導”操作來使模塊創建者能夠通過交互式過程來創建模塊。例如,模塊創建服務器732可以提供使創建 模塊的人能夠提供被用來自動生成模塊規范的輸入的一系列用戶界面。例如,可以向各種 模塊規范模板提供對應的輸入。模塊創建服務器732然后可以獲得由用戶提供的輸入、將 輸入插入模板中并且生成用于模塊的模塊規范。還可以將預覽、測試和調試功能作為該“向 導”的一部分提供。該模塊對于客戶端還可以是可下載的。聯合服務器734可以準備數據以供傳送給與模塊有關的一個或多個聯合接受者 服務器738。聯合服務器734可以通過網絡726接收對模塊和/或模塊內容的請求并且將 該模塊或內容遞送給聯合接受者服務器738。聯合服務器734可以駐留于主機服務器系統 710或網絡上的另一個位置處。例如,如果體育網站(聯合接受者系統738的示例)的運營者期望包括由遠程源 系統724創建的廣告模塊,則其可以通過對聯合服務器734的請求來這樣做。聯合服務器 734然后可以與模塊服務器714協作來生成用于容器文檔(在此聯合接受者系統738的體 育網站頁面)的數據。這可以包括從遠程源系統724檢索模塊規范、提供從聯合接受者服 務器738接收的偏好(例如,正被顯示的頁面的運動隊的城市信息)和/或生成用于容器 的數據。還可能的是,可以在聯合接受者服務器738處將數據以IFRAME或內嵌的方式呈現 在其容器文檔中。聯合服務器734因此可以聯合對其而言可訪問的模塊。其可以基于對特 定模塊的請求或其確定的其它標準(例如,內容匹配、關鍵詞匹配、與模塊和/或聯合請求 者相關聯的貨幣值等)來這樣做。廣告服務器736可以將與模塊相關聯的廣告提供給容器和/或用于為這樣的模塊 創建顯示的數據。例如,在將數據遞送給容器文檔時可以將廣告與模塊數據合并。廣告服 務器736可以基于對模塊的聯合請求與聯合服務器734 —起操作來將廣告遞送給聯合接受 者服務器738。廣告可以由廣告服務器736基于各種各樣的標準來選擇,所述標準包括但 不限于容器的內容或關于容器的信息間的關系、模塊、容器中的其它模塊、聯合接受者服務 器信息、與任何前述有關的貨幣元素/關系和/或以上的組合。根據本發明的一個實施例, 廣告服務器736可以包括谷歌AdSense系統。廣告服務器736可以如在下面的專利申請中 的一個或多個中所描述的那樣操作,在此通過引用將所述專利申請的主題整體合并。具體 地,廣告服務器736可以通過將與模塊有關的兩個或更多概念與廣告相關聯以及共同地將 出價與兩個或更多個關鍵詞相關聯來管理在線廣告。另外,聯合服務器734或廣告服務器 736可以對來自聯合模塊的請求作出響應,所述聯合模塊諸如發送對描述與模塊相關聯的 容器頁面的信息的請求的廣告相關模塊。可以提供以許多適當的方式存儲下述的一個或多個數據庫系統720:容器信息、 模塊規范和/或有關信息、格式化數據、每用戶和每模塊偏好數據、遠程模塊ID數據、遠程 模塊位置引用數據、廣告數據、廣告主數據、內容/貨幣數據、聯合接受者數據、用于模塊的 模板、用于模塊的輸入、可信和不可信模塊的列表、批準標準和有關信息和/或由模塊使用 來如在此描述的那樣操作的任何其它信息。雖然示出了單個數據庫結構,但是可以將數據 存儲在多個位置以及一個或多個系統中。在一個實施方式中,提供了將模塊合并入容器文檔的系統和方法。容器文檔的一 個示例將是個性化主頁,諸如當前對因特網上的谷歌服務的用戶可用的谷歌個性化主頁。 替代限制用戶能夠包括在諸如個性化主頁的容器文檔中的內容的類型,本發明的一個或多
17個實施例使用戶能夠從除了容器文檔的源之外的源選擇模塊。因此,例如用戶可以選擇將 來自不與谷歌相關聯的源的模塊包括在他或她的個性化谷歌主頁中。圖8示出了可以被用來實現在此描述的技術的計算機設備800和移動計算機設 備850的示例。計算設備800意在表示各種形式的數字計算機,諸如膝上型機、臺式機、工 作站、個人數字助理、服務器、刀片服務器、大型機和其它適當的計算機。計算設備850意在 表示各種形式的移動設備,諸如個人數字助理、蜂窩電話、智能手機以及其它類似的計算設 備。在此示出的組件、其連接和關系以及其功能意在只是示例性的,并且并不意在限制在本 文檔中描述和/或主張的本發明的實施方式。計算設備800包括處理器802、存儲器804、存儲設備806、連接到存儲器804和高 速擴展端口 810的高速接口 808以及連接到低速總線814和存儲設備806的低速接口 812。 組件802、804、806、808、810和812中的每一個使用各種總線互連,并且可以視情況被安裝 在公共主板上或以其它方式安裝。處理器802可以處理用于在計算設備800內執行的指令, 包括存儲在存儲器804中或存儲設備806上用來在諸如耦接到高速接口 808的顯示器816 的外部輸入/輸出設備上顯示GUI的圖形信息的指令。在其它實施方式中,可以視情況使 用多個處理器和/或多個總線以及多個存儲器和存儲器類型。并且,可以連接多個計算設 備800,其中每一個設備提供部分必需操作(例如,作為服務器簇、刀片服務器組或多處理 器系統)。存儲器804存儲在計算設備800內的信息。在一個實施方式中,存儲器804是易 失性存儲器單元。在另一個實施方式中,存儲器804是非易失性存儲器單元。存儲器804 還可以是另一種形式的計算機可讀介質,諸如磁或光盤。存儲設備806能夠為計算設備800提供海量存儲。在一個實施方式中,存儲設備 806可以是或包含計算機可讀介質,諸如軟盤設備、硬盤設備、光盤設備或磁帶設備、閃存或 其它類似的固態存儲器設備、或設備陣列,包括在存儲區域網絡或其它配置中的設備。可以 將計算機程序產品有形地包含在信息載體中。計算機程序產品還可以包含在被執行時執行 諸如上述那些方法的一個或多個方法的指令。信息載體是計算機或機器可讀介質,諸如存 儲器804、存儲設備806、在處理器802上的存儲器或傳播信號。高速控制器808管理關于計算設備800的帶寬密集型操作,而低速控制器812管 理較低帶寬密集型操作。功能的這樣的分配只是示例性的。在一個實施方式中,高速控制 器808 (例如通過圖形處理器或加速器)耦接到存儲器804、顯示器816,以及耦接到可以接 受各種擴展卡(未示出)的高速擴展端口 810。在該實施方式中,低速控制器812耦接到存 儲設備806和低速擴展端口 814。可以包括各種通信端口(例如USB、藍牙、以太網、無線以 太網)的低速擴展端口可以耦接到諸如鍵盤、指示設備、掃描儀的一個或多個輸入/輸出設 備,或例如通過網絡適配器耦接到諸如交換機或路由器的聯網設備。計算設備800可以如圖中所示以多種不同的形式實現。例如,其可以被實現為標 準服務器820或更多時間在一組這樣的服務器中實現。其還可以被實現為機架服務器系統 824的一部分。另外,其可以在諸如膝上型計算機822的個人計算機中實現。替選地,來自 計算設備800的組件可以與諸如設備850的移動設備中的其它組件(未示出)相結合。這 樣的設備中的每一個可以包含計算設備800、850中的一個或多個,以及整個系統可以由相 互通信的多個計算設備800、850組成。
18
除其它組件外,計算設備850包括處理器852、存儲器864、諸如顯示器854的輸入 /輸出設備、通信接口 866以及收發器868。設備850還可以提供有諸如微型驅動或其它設 備的存儲設備以提供額外的存儲。組件850、852、864、854、866和868中的每一個使用各種 總線互連,以及組件中的數個可以視情況被安裝在公共主板上或以其它方式安裝。處理器852可以執行在計算設備850內的指令,包括存儲在存儲器864中的指令。 處理器可以被實現為包括獨立和多個模擬和數字處理器的芯片的芯片集。處理器可以提供 例如對設備850的其它組件的協調,諸如對用戶接口、由設備850運行的應用以及通過設備 850的無線通信的控制。處理器852可以通過耦接到顯示器854的控制接口 858和顯示接口 856與用戶通 信。顯示器854可以是例如TFT (薄膜晶體管液晶顯示)顯示器或OLED (有機發光二極管) 顯示器或其它適當的顯示技術。顯示接口 856可以包括用于驅動顯示器854向用戶呈現圖 形和其它信息的適當的電路。控制接口 858可以從用戶接收命令并且將命令進行轉換以提 交給處理器852。另外,可以提供與處理器852通信的外部接口 862,以使設備850與其它 設備能夠近區域通信。外部接口 862可以例如在一些實施方式中提供有線通信,或在其它 實施方式中提供無線通信,以及還可以使用多個接口。存儲器864存儲在計算設備850內的信息。存儲器864可以被實現為計算機可讀 介質、易失性存儲器單元或非易失性存儲器單元中的一個或多個。還可以提供擴展存儲器 874并且通過可以包括例如SIMM(單列直插內存模塊)卡接口的擴展接口 872將其連接到 設備850。這樣的擴展存儲器874可以為設備850提供額外的存儲空間,或還可以存儲用于 設備850的應用或其它信息。具體地,擴展存儲器874可以包括指令來實現或補充上述過 程,以及還可以包括安全信息。因此,擴展存儲器874可以例如作為用于設備850的安全模 塊提供,以及可以被編程有允許安全使用設備850的指令。另外,安全應用以及額外的信息 可以經由SIMM卡提供,諸如以不可非法侵入的方式將識別信息放置在SIMM卡上。存儲器可以如下所述包括例如閃存和/或NVRAM存儲器。在一個實施方式中,將 計算機程序產品有形地包含在信息載體中。計算機程序產品包含在被執行時執行諸如上述 那些方法的一個或多個方法的指令。信息載體是計算機或機器可讀介質,諸如存儲器864、 擴展存儲器874、在處理器852上的存儲器或可以例如通過收發器868或外部接口 862接收 的傳播信號。設備850可以在需要的情況下通過可以包括數字信號處理電路的通信接口 866無 線地通信。通信接口 866可以提供在各種模式或協議下的通信,諸如GSM語音呼叫、SMS、EMS 或匪S消息、CDMA、TDMA, PDC、WCDMA、容器文檔102MA2000或GPRS等。這樣的通信可以例 如通過射頻收發器868發生。另外,諸如使用藍牙、WiFi或其它這樣的收發器(未示出), 短程通信可以發生。另外,GPS(全球定位系統)接收器模塊870可以向設備850提供可以 由運行在設備850上的應用視情況使用的額外的導航和位置相關的無線數據。設備850還可以使用音頻編解碼器860可聽地通信,音頻編解碼器860可以從用 戶接收話音信息并且將其轉換為可使用的數字信息。同樣,音頻編解碼器860可以諸如通 過例如在設備850的送受話器中的揚聲器,為用戶生成可聽的聲音。這樣的聲音可以包括 來自語音電話呼叫的聲音,可以包括已記錄的聲音(例如,語音消息、音樂文件等)以及還 可以包括由在設備850上操作的應用生成的聲音。
計算設備850可以如圖中所示以多種不同的形式實現。例如,其可以被實現為蜂 窩電話880。其還可以被實現為智能電話882、個人數字助理或其它類似的移動設備的部 分。圖9A和9B是包括用于顯示動態生成的廣告的可移植程序模塊的網頁的顯示900、 910。提供顯示900、910以示出通過其可以實現上述概念的額外機制。不應當將對額外實 施方式的描述作為將論述限于特定技術或僅限于示出的具體技術的指示。顯示900示出了用于電子零售商的網頁,其中在頁面上顯示了一個或多個動態廣 告。顯示900包括網頁主體902,其中顯示關于公司的產品的標準信息,諸如以特價出售的 特定產品等。在顯示900的底部示出了數個廣告904a-c。廣告904a_c可以采取各種形式, 包括定向和非定向廣告、或靜態和動態創建的廣告。廣告904c是靜態廣告,因為其包括由 廣告主事先選擇的內容,并且其基于在顯示時或將近顯示時確定的數據并不時常改變其顯
7J\ ο廣告904a_b是動態創建的廣告,因為可以預定義廣告的某些內容,而在顯示時或 將近顯示時定位并生成其它內容。動態生成的廣告904a_b對于其內容可以取決于其內容 和實時信息。例如,可以通過使用在顯示900上的文本來確定顯示900上正顯示的內容,并 且然后查詢數據庫以獲取與這樣的信息相關聯的實時出售的信息來生成廣告904a。例如, 對可以為廣告902a的容器文檔的顯示900的分析可以示出正在那里討論便攜式音樂播放 器,因此生成廣告904a的可移植程序模塊可以查詢以公司試圖賣出產品的信息不斷更新 的數據庫,以找到正在進行的iPod出售,并且生成用于該iPod出售的廣告。同樣地,廣告 904b可以促使電子零售商操作的在線拍賣數據庫被查詢并且可以從這樣的查詢返回結果。顯示910在其主體912示出了示例互聯網音樂站點。提供了標準控件,使得用戶 可以瀏覽、選擇以及購買音樂。另外,在顯示910的底部示出了兩個對象914a-b以分別提 示該天該站點上正出售的與正在顯示910的主體912中顯示的風格有關的最流行的歌曲和 專輯。在該示例中,對象914a在其被顯示時可以獲取諸如URL的關于主頁的場境信息,并 且可以將其傳遞給搜索引擎。搜索引擎可以注意到該特定頁面為重金屬頁面,并且可以將 “重金屬”作為變量返回給對象914a。對象914a然后可以將該變量作為查詢提交給數據庫,諸如提交給與音樂商店相 關聯的跟蹤由商店出售的音樂的流行度的數據庫,或提交給獨立于音樂商店的運營者的第 三方服務器,以獲取例如全國最高排名單曲信息。可以將每一個所顯示的單曲作為超鏈接 示出,使得對該超鏈接的選擇促使用戶被帶到用于特定歌曲的細節頁面,在那里用戶可以 購買該歌曲。關于對象914b示出了類似的行為,只是關于專輯。可以在數字電子電路、集成電路、專門設計的廣告服務器ASIC(專用集成電路)、 計算機硬件、固件、軟件和/或以上的組合中實現在此描述的系統和技術的各種實施方式。 這些各種實施方式可以包括在可編程系統上可執行和/或可解釋的一個或多個計算機程 序中的實施方式,所述可編程系統包括至少一個可編程處理器,其可以是專用或通用的,被 耦接以從存儲系統、至少一個輸入設備和至少一個輸出設備接收數據和指令以及向存儲系 統、至少一個輸入設備和至少一個輸出設備傳送數據和指令。這些計算機程序(也被稱為程序、軟件、軟件應用或代碼)包括用于可編程處理器 的機器指令,并且可以以高級程序和/或面向對象的編程語言、和/或匯編/機器語言來實
20現。如在此所使用的,術語“機器可讀介質”、“計算機可讀介質”是指用來向可編程處理器 提供機器指令和/或數據的任何計算機程序產品、裝置和/或設備(例如,磁盤、光盤、存儲 器、可編程邏輯設備(PLD)),包括接收作為機器可讀信號的機器指令的機器可讀介質。術語 “機器可讀信號”是指用來向可編程處理器提供機器指令和/或數據的任何信號。為了提供與用戶的交互,在此描述的系統和技術可以在具有下述的計算機上實 現用于向用戶顯示信息的顯示設備(例如,CRT(陰極射線管)或LCD(液晶顯示)監視 器),以及用戶通過其可以向計算機提供輸入的鍵盤和指示設備(例如,鼠標或跟蹤球)。也 可以使用其它類型的設備來提供與用戶的交互;例如,提供給用戶的反饋可以是任何形式 的感知反饋(例如,視覺反饋、聽覺反饋或觸覺反饋);以及可以以任何形式,包括聲學的、 語音或觸覺的輸入,接收來自用戶的輸入。在此描述的系統和技術可以在包括后端組件(例如作為數據服務器)、或包括中 間件組件(例如應用服務器)、或包括前端組件(例如具有用戶通過其可以與在此描述的系 統和技術的實施方式交互的圖形用戶界面或Web瀏覽器的客戶端計算機)、或者這樣的后 端、中間件或前端組件的任何組合的計算系統中實現。系統的組件可以通過任何形式或介 質的數字數據通信(例如通信網絡)互連。通信網絡的示例包括局域網("LAN")、廣域 網(〃 WAN")以及因特網。計算系統可以包括客戶端和服務器。客戶端和服務器通常彼此遠離并且典型地 通過通信網絡交互。客戶端和服務器的關系依靠在各個計算機上運行并且彼此具有客戶 端_服務器關系的計算機程序產生。已描述了多個實施例。然而,應理解的是,可以進行各種修改。例如,可以對步驟重 新排序、添加或移除步驟來使用在上面所示的各種形式的流程。并且,盡管已描述了內容遞 送系統和方法的數個應用,但是應當認識到,許多其它應用是預期的。此外,盡管已關于實 時動態創建的廣告描述了許多實施例,但是也可以以其它各種形式提供其它內容遞送。因 此,其它實施例在權利要求的范圍內。
權利要求
一種計算機實現的方法,包括在計算機服務器存儲與所述計算機服務器不相關聯的第一web可訪問的文檔的指示數據;從與所述web可訪問的文檔相關聯的容器文檔中的程序模塊接收請求;以及響應于所述請求提供與所述指示數據有關的信息。
2.如權利要求1所述的方法,其中所述web可訪問的文檔包括所述容器文檔。
3.如權利要求1所述的方法,其中所述指示數據包括與在所述web可訪問的文檔上的 文本內容相關聯的關鍵詞。
4.如權利要求3所述的方法,其中與所述指示數據有關的所述信息包括所述指示數據 的至少一部分。
5.如權利要求1所述的方法,其中關于所述web可訪問的文檔的所述信息包括所述 web可訪問的文檔的URL。
6.如權利要求1所述的方法,進一步包括分析所述web可訪問的文檔以確定所述文檔 的關鍵詞。
7.一種計算機實現的方法,包括獲取用于識別容器文檔的信息,其中可移植程序模塊位于所述容器文檔中;將所述信息提交給存儲關于所述容器文檔的信息的概念服務器,并且作為響應接收與 所述容器文檔相關聯的信息;以及向項搜索服務器提交與和所述容器文檔相關聯的所述信息有關的查詢。
8.如權利要求7所述的方法,進一步包括響應于所述查詢接收關于一個或多個項的積 極更新的信息,以及在所述容器文檔上生成與所述一個或多個項有關的顯示。
9.如權利要求8所述的方法,其中所述積極更新的信息包括在線拍賣的狀態信息。
10.如權利要求8所述的方法,其中所述顯示包括一個或多個超鏈接。
11.如權利要求10所述的方法,進一步包括接收對所述一個或多個超鏈接中的一個的 選擇并且促使與所述超鏈接相關聯的網頁被顯示。
12.如權利要求10所述的方法,其中所述超鏈接包括對實時改變的內容的返回的查詢。
13.如權利要求10所述的方法,其中所述顯示包括定向廣告。
14.如權利要求13所述的方法,進一步包括接收對所述一個或多個超鏈接中的一個的 選擇并且向廣告服務器報告點擊事件。
15.如權利要求8所述的方法,進一步包括確定所述顯示的大小以及對所述關于一個 或多個項的信息進行格式化以在所述顯示中顯示。
16.如權利要求7所述的方法,其中所述用于識別容器文檔的信息包括與所述容器文 檔相關聯的URL。
17.如權利要求7所述的方法,其中所述與所述容器文檔相關聯的信息包括表示在所 述容器文檔上的文本中的概念的一個或多個關鍵詞。
18.如權利要求17所述的方法,進一步包括從所述一個或多個關鍵詞的子集生成所述 查詢。
19.一種以有形形式在其上記錄并存儲了指令的可記錄的介質,在執行所述指令時執行包括以下的行為獲取用于識別容器文檔的信息,其中可移植程序模塊位于所述容器文檔中; 將所述信息提交給存儲關于所述容器文檔的信息的概念服務器,并且作為響應接收與 所述容器文檔相關聯的信息;以及向項搜索服務器提交與和所述容器文檔相關聯的所述信息有關的查詢。
20. 一種計算機實現的系統,包括 用于由客戶端應用顯示的web可訪問的容器文檔;以及 用于在所述容器文檔上顯示的廣告可移植程序模塊,所述廣告可移植程序模塊包括計算機代碼,其用來識別所述容器文檔的場境信息、將 與所述場境信息相關聯的場境信息提交給廣告服務器、將廣告關鍵詞信息提交給第三方服 務器以及使用從所述第三方服務器返回的信息生成廣告。
全文摘要
一種計算機實現的方法,包括在計算機服務器存儲與該計算機服務器不相關聯的第一web可訪問的文檔的指示數據;從與該web可訪問的文檔相關聯的容器文檔中的程序模塊接收請求;以及響應于該請求提供與指示數據有關的信息。
文檔編號G06Q50/00GK101971205SQ200880120078
公開日2011年2月9日 申請日期2008年10月15日 優先權日2007年10月15日
發明者亞當·沙赫, 克里斯蒂安·厄斯特利恩, 迪帕克·吉恩達爾 申請人:谷歌公司