對數(shù)據(jù)進行壓縮序列化以從客戶端應用進行傳輸?shù)闹谱鞣椒?br>【技術領域】
[0001]本申請涉及從運行客戶端應用(比如,web瀏覽器)的客戶設備、跨網絡傳輸壓縮的數(shù)據(jù)。本申請還涉及用于通過客戶端應用流式傳輸(streaming)內容的技術,比如,用于向由web瀏覽器顯示的頁面視圖流式傳輸內容的技術。此外,本申請涉及壓縮與流式傳輸內容相關聯(lián)的數(shù)據(jù),這些數(shù)據(jù)包括與內容流相關聯(lián)的內容數(shù)據(jù)和用戶交互數(shù)據(jù)。
【背景技術】
[0002]在復雜的客戶端應用和網站的頁面視圖之中,互聯(lián)網上正呈現(xiàn)和追蹤著逐漸增漲的內容和數(shù)據(jù)量。在一些實例中,所提供和追蹤的內容和數(shù)據(jù)量的增漲率超過了單位成本的帶寬和傳輸速率的增漲率。當代的針對更快地傳輸更多數(shù)據(jù)的補救措施通常關注改進通信通道。另一補救措施是改變正在被傳輸?shù)臄?shù)據(jù)以使得這些數(shù)據(jù)更簡明或至少更小。
[0003]一種已知的使得數(shù)據(jù)更簡明或至少更小的方式是進行壓縮。例如,已知和常用的方式是:壓縮電子郵件附件以提高電子郵件附件被上傳以通過電子郵件進行傳輸、跨網絡在電子郵件服務器之間進行傳輸、并最終通過接收電子郵件服務器和用戶點擊下載附件而下載的速度。由于這樣的需求,貫穿信息時代壓縮技術已經發(fā)生了演進,并且出于許多原因改進的信息系統(tǒng)已經被配置為包括數(shù)據(jù)壓縮技術。
[0004]然而,當代的用于通過互聯(lián)網傳輸追蹤的內容數(shù)據(jù)和用戶交互數(shù)據(jù)以進行分析的方法和系統(tǒng)(這些方法和系統(tǒng)有效地采用了數(shù)據(jù)壓縮)是能夠被改進的。本文所描述的是示例改進。
[0005]另外,關于通過互聯(lián)網(尤其是通過流(stream))遞送內容,向用戶呈現(xiàn)新內容的性能和無縫性仍然會暫時中斷(hiccup),尤其是當用戶設備包括或連接到具有有限帶寬的鏈路時。本文還描述了用于提升通過互聯(lián)網進行的內容的遞送的無縫性的系統(tǒng)和方法,以及壓縮數(shù)據(jù)和關聯(lián)的數(shù)據(jù)以傳輸?shù)姆掌?比如,web分析服務器)的方式。
【發(fā)明內容】
[0006]本文描述的是用于有效地壓縮與客戶端應用線程上的頁面視圖有關的測量數(shù)據(jù)(instrumentat1n data)并通過互聯(lián)網將壓縮的數(shù)據(jù)傳輸?shù)椒掌?比如,分析服務器)的系統(tǒng)、產品和方法。作為壓縮的準備,系統(tǒng)、產品和方法能夠包括數(shù)據(jù)掃描、代碼構建、代碼解碼和代碼序列化。壓縮能夠在客戶端應用的后臺線程上運行,從而不會與客戶端應用運行的其他處理相干擾。例如,web工作線程(worker)能夠實現(xiàn)本文所述的代碼壓縮。
[0007]關于數(shù)據(jù)壓縮,測量數(shù)據(jù)可以包括追蹤的內容數(shù)據(jù)、追蹤的頁面視圖數(shù)據(jù)、追蹤的用戶交互數(shù)據(jù)、以及追蹤的客戶端應用數(shù)據(jù)。追蹤的內容數(shù)據(jù)可以包括與內容的實質有關追蹤的數(shù)據(jù)以及與內容的人類可感知特征有關的任何數(shù)據(jù)(比如,內容的音頻和/或視覺特征)。追蹤的頁面視圖數(shù)據(jù)可以包括與頁面視圖的人類可感知特征和該頁面視圖的一個或多個部分有關的追蹤的數(shù)據(jù)。追蹤的用戶交互數(shù)據(jù)可以包括關于與頁面視圖及其內容的用戶交互(比如,針對頁面視圖及其內容的多個方面的點擊和其他類型的手勢)的追蹤的數(shù)據(jù)。追蹤的客戶端應用數(shù)據(jù)可以包括與客戶端應用屬性和參數(shù)(比如,web瀏覽器版本和這些版本的技術和視覺特征)有關的追蹤的數(shù)據(jù)。追蹤的客戶端應用數(shù)據(jù)還可以包括追蹤的配置數(shù)據(jù)。
【附圖說明】
[0008]參照以下附圖和描述可以更好地理解這些系統(tǒng)和方法。參照以下附圖描述了非限制性和非窮盡性的示例。附圖中的部件不一定是按比例繪制的,而重點在于闡明系統(tǒng)的原理。在附圖中,遍布不同的視圖,相同的標號指代相應的部分。
[0009]圖1示出了示例信息系統(tǒng)的框圖,該示例信息系統(tǒng)包括網絡的示例設備,這些示例設備能夠通信地與對數(shù)據(jù)執(zhí)行客戶端壓縮以傳輸?shù)椒掌鞯氖纠到y(tǒng)相耦合。
[0010]圖2示出了在每個客戶端應用的會話中由客戶端應用呈現(xiàn)的示例屏幕的最初和最新顯示的廣告項和內容項,比如,在客戶端應用(比如,web瀏覽器)的會話中,在該客戶端應用的頁面視圖上流式傳輸?shù)某跏紙D形項和新圖形項。
[0011]圖3示出了圖1的示例信息系統(tǒng)(信息系統(tǒng)100)與對數(shù)據(jù)執(zhí)行客戶端壓縮以傳輸?shù)椒掌?比如,分析服務器)的示例系統(tǒng)(系統(tǒng)300)進行交互的框圖。
[0012]圖4-6示出了由能夠對數(shù)據(jù)執(zhí)行客戶端壓縮以傳輸?shù)椒掌鞯氖纠到y(tǒng)(比如,圖3的系統(tǒng)300)執(zhí)行的示例操作。
[0013]圖7描繪了能夠運行圖4-6的操作以及其他客戶端應用湊歐洲的一個或多個線程。
[0014]圖8示出了由能夠通過在壓縮之前對數(shù)據(jù)的掃描進行分批處理來對數(shù)據(jù)在客戶端進行壓縮以傳輸?shù)椒掌鬟M行扼制(throttle)的示例系統(tǒng)(比如,圖3的系統(tǒng)300)執(zhí)行的示例操作。
[0015]圖9示出了由能夠呈現(xiàn)看起來流式傳輸無限的無縫內容量的頁面視圖、并且能夠對與無縫內容相關聯(lián)的數(shù)據(jù)執(zhí)行客戶端壓縮以傳輸?shù)椒掌鞯氖纠到y(tǒng)(比如,圖3的系統(tǒng)300)執(zhí)行的示例操作。
[0016]圖10是示例電子設備的框圖,該示例電子設備能夠實現(xiàn)能夠對數(shù)據(jù)執(zhí)行客戶端壓縮以傳輸?shù)椒掌鞯氖纠到y(tǒng)(比如,圖3的系統(tǒng)300和通信地耦合到系統(tǒng)300的系統(tǒng))的或與其有關的一個或多個方面。
【具體實施方式】
[0017]后文將參照附圖更全面地描述主題,附圖形成了本申請的一部分并通過圖示的方式示出了具體示例。然而,主題可能以各種不同的形式來實施,因此,涵蓋和要求保護的主題意在被解釋為不限于本文所提出的任何示例;所提供的示例僅是示意性的。同樣地,涵蓋和要求保護的主題意在具有合理寬泛的范圍。除其他之外,例如,主題可以被實施為方法、設備、部件或系統(tǒng)。因此,下面的詳細描述不意在限制所要求保護的范圍。
[0018]圖1示出了示例信息系統(tǒng)的框圖,該示例信息系統(tǒng)包括網絡的示例設備,這些示例設備通信地與對數(shù)據(jù)執(zhí)行客戶端壓縮以傳輸?shù)椒掌?比如,以進行分析)的示例系統(tǒng)相耦合。圖1的示例中的信息系統(tǒng)100包括賬戶服務器102、賬戶數(shù)據(jù)庫104、搜索引擎服務器106、廣告服務器108、廣告數(shù)據(jù)庫110、內容數(shù)據(jù)庫114、內容服務器112、內容緩存服務器116、分析服務器118以及分析數(shù)據(jù)庫119。上面提到的服務器和數(shù)據(jù)可以通過網絡120
通信地耦合。
[0019]信息系統(tǒng)100可以由一個或多個廣告商設備(比如,廣告商設備122)和一個或多個用戶設備(比如,用戶設備124)通過網絡120進行訪問。在這樣的在線信息系統(tǒng)的各種示例中,用戶可以通過網絡120從源搜索并獲得內容,比如,從搜索引擎服務器106、廣告服務器108、廣告數(shù)據(jù)庫110、內容數(shù)據(jù)庫114、內容服務器112和內容緩存服務器116獲得內容。廣告商可以提供用于在諸如網頁之類的電子特性結構(electronic properties)上的廣告,以及通過網絡發(fā)送到用戶設備(比如,用戶設備124)的其他通信。在線信息系統(tǒng)能夠由諸如Yahoo !公司之類的在線提供商來布設和運營。
[0020]賬戶服務器102存儲廣告商的賬戶信息。賬戶服務器102與賬戶服務器102進行數(shù)據(jù)通信。賬戶信息可以包括與各個廣告商相關聯(lián)的一個或多個數(shù)據(jù)庫記錄。任何合適的信息都可以由賬戶管理服務器102進行存儲、維護、更新、并從賬戶數(shù)據(jù)庫104中讀取。示例包括廣告商標識信息、廣告商安全信息(比如,密碼和其他安全證書)、賬戶平衡信息、以及經壓縮的關于與他們的廣告相關聯(lián)的內容和與他們的廣告和相關聯(lián)的內容的用戶交互的信息。并且,示例包括與他們的廣告和相關聯(lián)的內容以及與上述內容的用戶交互有關的分析數(shù)據(jù)。
[0021]賬戶服務器102可以使用任何合適的設備來實現(xiàn)。賬戶管理服務器102可以被實現(xiàn)為單個服務器、多個服務器、或本領域已知的任何其他類型的計算設備。能夠通過防火墻完成對賬戶服務器102的訪問,該防火墻保護賬戶管理程序和賬戶信息免受外部篡改??梢酝ㄟ^增強來向標準通信協(xié)議提供附加的安全性,比如,安全HTTP(HTTPS)或安全套接層(SSL)。例如,這樣的安全性可以被應用于圖1的服務器。
[0022]賬戶服務器可以提供廣告商前端以簡化訪問廣告商的賬戶信息的過程。廣告商前端可以是形成用戶界面的程序、應用或軟件例程。在具體示例中,廣告商前端可作為具有一個或多個電子特性結構的網站被訪問,來訪的廣告商可以在廣告商設備(比如,廣告商設備122)上查看這些電子特性結構。廣告商可以使用廣告商前端查看和編輯賬戶數(shù)據(jù)和廣告數(shù)據(jù)。在編輯賬戶數(shù)據(jù)之后,可以將賬戶數(shù)據(jù)保存到賬戶數(shù)據(jù)庫104。
[0023]搜索引擎服務器106可以是計算機系統(tǒng)、一個或多個服務器、或本領域已知的任何其他計算設備??商娲?,搜索引擎服務器106可以是存儲在計算機可讀存儲介質上的計算機程序、指令或軟件代碼,該計算機可讀存儲介質可以在單個服務器、多個服務器、或本領域已知的任何其他類型的計算設備的處理器上運行。搜索引擎服務器106可以被用戶設備(比如,由用戶操作的用戶設備124)通過網絡120進行訪問。
[0024]用戶設備124將用戶查詢傳輸至搜索引擎服務器106。搜索引擎服務器106使用任何合適的協(xié)議或算法定位匹配信息并將該信息返回給用戶設備124。搜索引擎服務器106可以被設計為幫助用戶查找位于互聯(lián)網或內聯(lián)網上的信息。在示例中,搜索引擎服務器106可以通過網絡120向用戶設備124提供帶有內容的電子特性結構(比如,網頁),該內容包括操作用戶設備124的用戶感興趣的搜索結果、與用戶查詢的上下文匹配的信息、到其他網絡目的地的鏈接、或信息和信息的文件,以及被選擇以顯示給用戶的內容項和廣告項的流或網頁。上面提到的由搜索引擎服務器106提供的信息可以是本文描述的經過掃描、構建、追蹤、序列化、編碼、壓縮和/或傳輸?shù)臄?shù)據(jù)的一部分。
[0025]搜索引擎服務器106可以使得設備(比如,用戶設備124或任何其他客戶設備)能夠使用搜索查詢搜索感興趣的文件。通常,搜索引擎服務器106可以經由一個或多個服務器或者直接通過網絡120被客戶設備訪問。搜索引擎服務器106可以包括爬行器部件、索引器部件、索引存儲部件、搜索部件、排名部件、緩存、簡檔存儲部件、注冊部件、簡檔構建器、以及一個或多個應用編程接口(API)。搜索引擎服務器106例如可以以分布式方式(比如,通過一組分布式服務器)來布設。這些部件可以在網絡內被復制,比如,用于冗余或更好的訪問。
[0026]廣告服務器108操作來將廣告提供給用戶設備(比如,用戶設備124)。廣告包括定義用戶設備的用戶可能感興趣的廣告信息的數(shù)據(jù)。廣告可以包括文本數(shù)據(jù)、圖形數(shù)據(jù)、圖像數(shù)據(jù)、視頻數(shù)據(jù)或音頻數(shù)據(jù)。廣告還可以包括定義到提供這樣的數(shù)據(jù)的其他網絡資源的一個或多個鏈接的數(shù)據(jù)其他位置可以是互聯(lián)網上的其他位置、由廣告上操作的內聯(lián)網上的其他位置、或任何接入點。上面提到的定向(targeting)數(shù)據(jù)可以是本文描述的經過掃描、構建、追蹤、序列化、編碼、壓縮和/或傳輸?shù)臄?shù)據(jù)的一部分。上面提到的由廣告服務器108提供的廣告可以是本文描述的經過掃描、構建、追蹤、序列化、編碼、壓縮和/或傳輸?shù)臄?shù)據(jù)的一部分。
[0027]對于在線信息廣告可以被顯示在電子特性結構上,這些電子特性結構是由于至少部分地基于一個或多個搜索項的用戶定義的搜索而產生的。如果所顯示的廣告與一個或多個用戶的興趣有關,則廣告對于用戶、廣告商或web門戶是有益的。因此,已經開發(fā)了各種技術來推斷用戶興趣、用戶意圖或隨后將相關廣告定向到用戶。上面提到的定向數(shù)據(jù)可以是本文描述的經過掃描、構建、追蹤、序列化、編碼、壓縮和/或傳輸?shù)臄?shù)據(jù)的一部分。
[0028]呈現(xiàn)定向廣告的一種途徑包括采用人口統(tǒng)計特征(例如,年齡、收入、性別、職業(yè)等)來(比如,按群組地)預測用戶行為??梢灾辽俨糠值鼗陬A測的用戶行為將廣告呈現(xiàn)給目標受眾中的用戶。上面提到的定向數(shù)據(jù)可以是本文描述的經過掃描、構建、追蹤、序列化、編碼、壓縮和/或傳輸?shù)臄?shù)據(jù)的一部分。
[0029]另一途徑包括簡檔類型廣告定向。在此途徑中,例如可以通過追蹤用戶經過網站或站點的網絡的路徑、并至少部分地基于最終遞送的頁面或廣告編譯簡檔,來生成用戶專門的用戶簡檔以對用戶行為進行建模。例如,比如可以針對用戶購買標識相關性。標識的相關性可以用于通過將內容或廣告定向到特定用戶來定向潛在購買者。上面提到的定向數(shù)據(jù)可以是本文描述的經過掃描、構建、追蹤、序列化、編碼、壓縮和/或傳輸?shù)臄?shù)據(jù)的一部分。
[0030]另一途徑包括基于用戶所請求的電子特性結構的內容進行定向。廣告可以被投放在電子特性結構上,或者與和廣告的主題有關的其他內容相關聯(lián)。可以以任何合適的方式來判定內容和廣告之間的關系。例如可以通過分析電子特性結構中所呈現(xiàn)的內容來確定該電子特性結構的整體主旨。而且,已經開發(fā)了用于顯示適合于用戶當前正在查看的文章的具體章節(jié)的廣告的技術。相應地,可以通過將廣告內的關鍵詞和/或短語與電子特性結構相匹配來選擇廣告。上面提到的定向數(shù)據(jù)可以是本文描述的經過掃描、構建、追蹤、序列化、編碼、壓縮和/或傳輸?shù)臄?shù)據(jù)的一部分。
[0031]廣告服務器108包括可操作來格式化廣告數(shù)據(jù)以傳輸?shù)接脩粼O備的邏輯和數(shù)據(jù)。廣告服務器108與廣告數(shù)據(jù)庫110進行數(shù)據(jù)通信。廣告數(shù)據(jù)庫110存儲將被提供給用戶設備的信息,這些信息包括定義廣告的數(shù)據(jù)。廣告數(shù)據(jù)可以被另一數(shù)據(jù)處理設備或廣告商存儲在廣告數(shù)據(jù)庫110中。廣告數(shù)據(jù)可以包括定義相應廣告的廣告創(chuàng)意和報價金額的數(shù)據(jù)。上面提到的廣告格式化和定價數(shù)據(jù)可以是本文描述的經過掃描、構建、追蹤、序列化、編碼、壓縮和/或傳輸?shù)臄?shù)據(jù)的一部分。
[0032]廣告數(shù)據(jù)可以被格式化為可以包括在提供給用戶設備的內容項和廣告項的流中的廣告項。格式化的廣告項能夠由外觀、大小、形狀、文本格式化、圖形格式化以及所包括的信息來表征,格式化的廣告項可以被標準化以為流中的廣告項提供一致的外表。
[0033]此外,廣告服務器108與網絡120進行數(shù)據(jù)通信。廣告服務器108通過網絡120將廣告數(shù)據(jù)和其他信息傳輸?shù)皆O備。這些信息可以包括傳輸?shù)接脩粼O備的廣告數(shù)據(jù)。這些信息還可以包括與廣告商設備(比如,廣告商設備122)進行傳輸?shù)膹V告數(shù)據(jù)和其他信息。操作廣告商設備的廣告商可以通過網絡訪問廣告服務器108以訪問包括廣告數(shù)據(jù)的信息。該訪問可以包括開發(fā)廣告創(chuàng)意、編輯廣告數(shù)據(jù)、刪除廣告數(shù)據(jù)、設置和調整報價金額、以及其他活動。廣告服務器108隨后將這些廣告項提供給其他網絡設備(比如,內容緩存服務器 116)ο
[0034]廣告服務器108可以提供廣告商前端以簡化訪問廣告商的廣告數(shù)據(jù)的過程。廣告商前端可以是形成用戶界面的程序、應用或軟件例程。在具體示例中,廣告商前端可作為具有一個或多個電子特性結構的網站被訪問,來訪的廣告商可以在廣告商設備上查看這些電子特性結構。廣告商可以使用廣告商前端查看和編輯廣告數(shù)據(jù)。在編輯廣告數(shù)據(jù)之后,廣告數(shù)據(jù)可以被保存到廣告數(shù)據(jù)庫110中,以隨后在廣告中傳輸?shù)接脩粼O備。
[0035]廣告服務器108可以是計算機系統(tǒng)、一個或多個服務器、或本領域已知的任何其他計算設備??商娲?,廣告服務器108可以是存儲在計算機可讀存儲介質上的計算機程序、指令或軟件代碼,該計算機可讀存儲介質可以在單個服務器、多個服務器、或本領域已知的任何其他類型的計算設備的處理器上運行。
[0036]內容服務器112和內容緩存服務器116可以訪問關于來自內容數(shù)據(jù)庫114或來自通過網絡120可訪問的另一位置的內容項的信息。內容服務器112和內容緩存服務器116通過網絡120將定義內容項和其他信息的數(shù)據(jù)傳輸?shù)皆O備。例如,內容緩存服務器116能夠傳輸來自內容緩存服務器116中的隊列的超鏈接,其中,這些超鏈接包括到提供的內容(比如,從內容服務器112或另一內容源提供的內容)的地址。這些超鏈接例如能夠鏈接到本文描述的流中所提供的內容。一般來說,關于聶榮項的信息可以包括被傳輸?shù)接脩粼O備的任何類型的內容數(shù)據(jù)。
[0037]關于內容項的信息還可以包括有操作內容提供商設備的內容提供商傳輸?shù)膬热輸?shù)據(jù)過和其他信息。操作內容提供商設備的內容提供商可以通過網絡120訪問內容服務器
112或內容緩存服務器116以訪問包括內容數(shù)據(jù)的信息。該訪問可以用于開發(fā)內容項、編輯內容項、刪除內容項、設置和調整報價金額、以及其他活動。
[0038]內容服務器112或內容緩存服務器116可以提供內容提供商前端以簡化訪問內容提供商的內容數(shù)據(jù)的過程。內容提供商前端可以是形成用戶界面的程序、應用或軟件例程。在具體示例中,內容提供商前端可作為具有一個或多個電子特性結構的網站被訪問,來訪的內容提供商可以在內容提供商設備上查看這些電子特性結構。內容提供商可以使用內容提供商前端查看和編輯內容數(shù)據(jù)。在(比如,在內容服務器112或另一內容源處)編輯內容數(shù)據(jù)之后,內容數(shù)據(jù)可以被保存到內容數(shù)據(jù)庫114或