專利名稱:處理媒質(zhì)文件的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及搜索引擎。更明確地說,本發(fā)明涉及處理媒質(zhì)文件的方法和系統(tǒng)。
背景技術(shù):
用戶使用例如個人計算機、個人數(shù)字助理或移動電話的客戶端裝置產(chǎn)生并訪問大量項目,例如電子郵件、網(wǎng)頁、文字處理文檔、媒質(zhì)文件、電子數(shù)據(jù)表文檔、即時通訊消息和演示文檔。一些項目存儲在耦合到客戶端裝置、由客戶端裝置訪問或以其他方式與客戶端裝置關(guān)聯(lián)的一個或一個以上存儲裝置上。用戶有時希望搜索存儲裝置中的項目。
常規(guī)客戶端裝置搜索應(yīng)用程序會使客戶端裝置的性能顯著降級。例如,某些常規(guī)客戶端裝置搜索應(yīng)用程序通常使用成批處理將所有項目編入索引,這可導(dǎo)致成批處理期間客戶端裝置的性能顯著減慢。另外,成批處理僅周期性地發(fā)生。因此,當用戶執(zhí)行搜索時,最新近的項目有時不包含在結(jié)果中。此外,如果將成批處理安排在客戶端裝置不運作的時間且因此在一段延長的時間內(nèi)不被執(zhí)行,那么與客戶端裝置關(guān)聯(lián)的項目索引可變得過時。常規(guī)客戶端裝置搜索應(yīng)用程序還可能需要在每次成批處理時重建索引或建立新的局部索引,并執(zhí)行可使用許多客戶端裝置資源的合并操作。常規(guī)客戶端裝置搜索應(yīng)用程序在運作時有時還使用大量系統(tǒng)資源,從而導(dǎo)致客戶端裝置的性能減慢。
另外,常規(guī)客戶端裝置搜索應(yīng)用程序可能需要用戶進行顯式搜索查詢來產(chǎn)生結(jié)果,且可能限于檢查特定應(yīng)用程序的文件的文件名或內(nèi)容。
發(fā)明內(nèi)容本發(fā)明實施例包括處理媒質(zhì)文件的方法和系統(tǒng)。在一個實施例中,捕捉具有相關(guān)事件數(shù)據(jù)并與一客戶端裝置關(guān)聯(lián)的一個或一個以上事件,其中每一事件與一項目關(guān)聯(lián)且所述項目的至少一者為一媒質(zhì)文件,其中當所述事件的至少一者發(fā)生時實時地捕捉所述事件,將與所述事件關(guān)聯(lián)的至少一些所述事件數(shù)據(jù)和項目編入索引并進行存儲,接收一搜索查詢,且確定所述至少一個媒質(zhì)文件與所述搜索查詢有關(guān)。所述媒質(zhì)文件可為一音頻文件、一視頻文件、一圖像文件、某一組合或不同媒質(zhì)文件的一帶腳本的時間線演示(scripted timeline presentation)中的一或多者。
此示范性實施例的提及并不限定或界定本發(fā)明,而是提供本發(fā)明實施例的實例以便幫助理解本發(fā)明。
具體實施方式
中論述示范性實施例,且在那里提供對本發(fā)明的進一步描述??赏ㄟ^閱讀本說明書來進一步理解本發(fā)明的各種實施例提供的優(yōu)點。
參看附圖閱讀以下具體實施方式
,可更好地理解本發(fā)明的這些和其它特征、方面和優(yōu)點,附圖中圖1是說明本發(fā)明的一個實施例可運作的示范性環(huán)境的圖;圖2是說明本發(fā)明的一個實施例中一種捕捉、編入索引并存儲與客戶端裝置關(guān)聯(lián)的事件的示范性方法的流程圖;且圖3是說明根據(jù)本發(fā)明的一個實施例的一種處理搜索查詢的示范性方法的流程圖。
具體實施方式本發(fā)明實施例包括處理媒質(zhì)文件的方法和系統(tǒng)。
系統(tǒng)結(jié)構(gòu)現(xiàn)參看附圖,其中這幾個圖中所有相似標號表示相似元件。圖1是說明用于實施本發(fā)明實施例的示范性環(huán)境的方框圖。雖然圖1所示的環(huán)境反映客戶端側(cè)搜索引擎結(jié)構(gòu)實施例,但可能有其它實施例。圖1所示的系統(tǒng)100包含可通過網(wǎng)絡(luò)106與服務(wù)器裝置150通信的多個客戶端裝置102a到102n。圖1所示的網(wǎng)絡(luò)106包括因特網(wǎng)。在其它實施例中,可作為替代而使用其它網(wǎng)絡(luò),例如內(nèi)聯(lián)網(wǎng)。此外,根據(jù)本發(fā)明的方法可在不與服務(wù)器裝置或網(wǎng)絡(luò)通信的單一客戶端裝置內(nèi)運作。
圖1所示的客戶端裝置102a到102n每一者包含計算機可讀媒質(zhì)108。圖1所示的實施例包含耦合到處理器110的隨機訪問存儲器(RAM)108。處理器110執(zhí)行存儲在存儲器108中的計算機可執(zhí)行程序指令。這些處理器可包含微處理器、ASIC、狀態(tài)機或其它處理器,且可為許多合適的計算機處理器中的任一者,例如加州圣克拉拉市(Santa Clara,California)的英特爾公司、伊利諾斯州紹姆堡(Schaumburg,Illinois)的摩托羅拉公司的處理器。這些處理器包含存儲指令的媒質(zhì)(例如,計算機可讀媒質(zhì))或可與所述媒質(zhì)通信,當處理器執(zhí)行所述指令時,所述指令促使處理器執(zhí)行本文描述的步驟。計算機可讀媒質(zhì)的實施例包含(但不限于)能夠為處理器(例如,客戶端裝置102a的處理器110)提供計算機可讀指令的電子、光學、磁性或其它存儲或傳送裝置。合適的媒質(zhì)的其它實例包含(但不限于)軟盤、CD-ROM、DVD、磁盤、存儲器芯片、ROM、RAM、ASIC、經(jīng)配置的處理器、所有光學媒質(zhì)、所有磁帶或其它磁性媒質(zhì),或計算機處理器可從中讀取指令的任何其它媒質(zhì)。并且,各種其它形式的計算機可讀媒質(zhì)可將指令傳送或攜帶到計算機,包含路由器、專用或公共網(wǎng)絡(luò)、或其它有線或無線的傳送裝置或信道。指令可包括任何合適的計算機編程語言的代碼,包含(例如)C、C++、C#、Visual Basic、Java、Python、Perl和JavaScript。
客戶端裝置102a到102n可耦合到網(wǎng)絡(luò)106,或者可為獨立機器??蛻舳搜b置102a到102n還可包含許多外部或內(nèi)部裝置,例如鼠標、CD-ROM、DVD、鍵盤、顯示器裝置,或其它輸入或輸出裝置??蛻舳搜b置102a到102n的實例為個人計算機、數(shù)字助理、個人數(shù)字助理、蜂窩式電話、移動電話、智能電話、尋呼機、數(shù)字圖形輸入板、膝上型計算機、因特網(wǎng)設(shè)備和其它基于處理器的裝置。通常,客戶端裝置102a到102n可為在任何合適的操作系統(tǒng)(例如,MicrosoftWindows或Linux)上運作且能夠支持一個或一個以上客戶端應(yīng)用程序的任何類型的基于處理器的平臺。例如,客戶端裝置102a可包括執(zhí)行客戶端應(yīng)用程序(也稱作客戶端應(yīng)用程序120)的個人計算機。客戶端應(yīng)用程序120可包含在存儲器108中,且可包含(例如)文字處理應(yīng)用程序、電子數(shù)據(jù)表應(yīng)用程序、電子郵件應(yīng)用程序、即時通訊應(yīng)用程序、演示應(yīng)用程序、因特網(wǎng)瀏覽器應(yīng)用程序、日歷/管理器應(yīng)用程序、視頻播放應(yīng)用程序、音頻播放應(yīng)用程序、圖像顯示應(yīng)用程序、文件管理程序、操作系統(tǒng)命令解釋程序(operating system shell)和能夠由客戶端裝置執(zhí)行的其它應(yīng)用程序。客戶端應(yīng)用程序還可包含與其它應(yīng)用程序互動或訪問其它應(yīng)用程序的客戶端側(cè)應(yīng)用程序(例如,與遠程電子郵件服務(wù)器互動以訪問電子郵件的在客戶端裝置102a上執(zhí)行的網(wǎng)絡(luò)瀏覽器)。
用戶112a可通過客戶端裝置102a的各種輸入和輸出裝置與各種客戶端應(yīng)用程序120和與客戶端應(yīng)用程序120關(guān)聯(lián)的項目互動。項目包含(例如)文字處理器文檔、電子數(shù)據(jù)表文檔、演示文檔、電子郵件、即時通訊消息、數(shù)據(jù)庫條目、日歷條目、約會條目、任務(wù)管理器條目、源碼文件,和其它客戶端應(yīng)用程序內(nèi)容、文件、消息、項、各種格式(例如HTML、XML、XHTML)網(wǎng)頁、、可移植文檔格式(PDF)文件和媒質(zhì)文件(例如圖像文件、音頻文件和視頻文件),或任何其它文檔或項,或文檔或項的群組,或無論任何合適類型的信息。
用戶112a與項目、客戶端應(yīng)用程序120和客戶端裝置102a的互動創(chuàng)建可被觀察、記錄、分析或以其他方式使用的事件數(shù)據(jù)。事件可為與項目、客戶端應(yīng)用程序120或客戶端裝置102a關(guān)聯(lián)的任何可能發(fā)生的事情,例如播放音頻文件、編輯視頻文件、上載圖像文件、在項目中輸入文本、在顯示器裝置上顯示項目、發(fā)送項目、接收項目、操作輸入裝置、打開項目、保存項目、打印項目、關(guān)閉項目、打開客戶端應(yīng)用程序、關(guān)閉客戶端應(yīng)用程序、空閑時間、處理器負載、磁盤訪問、存儲器使用、將客戶端應(yīng)用程序引到前臺、改變應(yīng)用程序的視覺顯示細節(jié)(例如,重新規(guī)定尺寸或最小化)和無論如何與項目、客戶端應(yīng)用程序或客戶端裝置關(guān)聯(lián)的任何其它合適的事件。另外,當客戶端裝置102a與獨立于用戶112a的項目互動時(例如當接收電子郵件或執(zhí)行已安排的任務(wù)時),可產(chǎn)生事件數(shù)據(jù)。
客戶端裝置102a的存儲器108還可含有捕捉處理器124、隊列126和搜索引擎122。客戶端裝置102a還可含有數(shù)據(jù)存儲140或與數(shù)據(jù)存儲140通信。捕捉處理器124可捕捉事件并將事件傳遞到隊列126。隊列126可將已捕捉的事件傳遞到搜索引擎122,或搜索引擎122可從隊列126檢索新事件。在一個實施例中,當新事件到達隊列126時,隊列126通知搜索引擎122,且當搜索引擎122準備處理事件時,搜索引擎122從隊列126中檢索事件。當搜索引擎接收到事件時,其可經(jīng)處理并可存儲在數(shù)據(jù)存儲140中。搜索引擎122可接收來自用戶112a的顯式查詢(explicitquery)或產(chǎn)生隱式查詢(implicit query),且其可響應(yīng)于所述查詢而從數(shù)據(jù)存儲140中檢索信息。在另一實施例中,隊列位于搜索引擎122中。在又一實施例中,客戶端裝置102a不具有隊列,且事件從捕捉處理器124直接傳遞到搜索引擎122。根據(jù)其它實施例,使用信息交換協(xié)議來傳輸事件數(shù)據(jù)。信息交換協(xié)議可包括(例如)有助于數(shù)據(jù)交換的任何合適的規(guī)則或慣例,且可包含(例如)以下通信機制中的任一者可擴展標識語言-遠程程序呼叫協(xié)議(XML/RPC)、超文本傳輸協(xié)議(HTTP)、簡單對象訪問協(xié)議(SOAP)、共用存儲器、插件、本地或遠程程序呼叫,或任何其它合適的信息交換機制。
捕捉處理器124可通過識別并編輯與事件關(guān)聯(lián)的事件數(shù)據(jù)來捕捉事件。事件的實例包含播放音頻文件、編輯視頻文件、上載圖像文件、發(fā)送或接收電子郵件消息、用戶查看網(wǎng)頁、保存文字處理文檔、打印電子數(shù)據(jù)表文檔、輸入文本以撰寫或編輯電子郵件、打開演示應(yīng)用程序、關(guān)閉即時通訊應(yīng)用程序、輸入鍵擊、移動鼠標和將鼠標停懸于超鏈接上。捕捉處理器124捕捉到的涉及用戶112a播放音頻文件的事件的事件數(shù)據(jù)的實例可包含文件標題、文件位置、文件保存到客戶端裝置的日期、文件中含有的數(shù)據(jù)、文件品質(zhì)、文件格式,和文件位置的指針。
在圖1所示的實施例中,捕捉處理器124包括多個捕捉組件。例如,圖1所示的捕捉處理器124包括用于每一客戶端應(yīng)用程序以便捕捉與每一應(yīng)用程序相關(guān)的事件的分離的捕捉組件。捕捉處理器124還可包括監(jiān)視整個網(wǎng)絡(luò)活動以便捕捉與網(wǎng)絡(luò)活動(例如,接收或發(fā)送例如單播、組播或廣播的音頻或視頻流)關(guān)聯(lián)的事件數(shù)據(jù)的分離的捕捉組件。圖1所示的捕捉處理器124還可包括監(jiān)視整個客戶端裝置性能數(shù)據(jù)(例如處理器負載、空閑時間、磁盤訪問、使用中的客戶端應(yīng)用程序和可用的存儲器量)的分離的捕捉組件。圖1所示的捕捉處理器124還包括用以監(jiān)視并捕捉用戶的鍵擊輸入的分離的捕捉組件,和監(jiān)視并捕捉顯示在與客戶端裝置102a關(guān)聯(lián)的顯示器裝置上的項(例如,文本)的分離的捕捉組件。個別捕捉組件可監(jiān)視多個客戶端應(yīng)用程序,且多個捕捉組件可監(jiān)視單一客戶端應(yīng)用程序的不同方面。
在一個實施例中,捕捉處理器124可通過個別捕捉組件來監(jiān)視客戶端裝置上的活動,且可通過一般化事件定義和注冊機制(例如,事件計劃)來捕捉事件。每一捕捉組件可定義其自身的事件計劃,或可使用預(yù)定義的事件計劃。事件計劃可視客戶端應(yīng)用程序或捕捉組件正監(jiān)視的活動的不同而不同。通常,事件計劃可(例如)通過提供與事件關(guān)聯(lián)的事件數(shù)據(jù)(例如,事件的時間)的字段和與任何相關(guān)項目(例如,標題)以及任何相關(guān)項目的內(nèi)容(例如,文檔主體)有關(guān)的字段來描述事件的格式。事件計劃可描述與事件有關(guān)的任何合適的事件數(shù)據(jù)的格式。例如,音頻文件事件(例如,用戶112a播放的mp3格式的歌曲)的事件計劃可包含歌曲標題、歌曲藝術(shù)家、專輯標題、歌曲風格、文件位置、保存到客戶端裝置的文件中的數(shù)據(jù)、文件得以獲得的來源、文件品質(zhì)、文件格式,文件所有權(quán)信息、數(shù)字版權(quán)管理(DRM)信息和其它合適的信息。例如用戶112a正觀看的家庭電影的視頻的事件計劃可包含文件標題、文件創(chuàng)建日期、文件編輯日期(如果有的話)、文件保存到客戶端裝置的日期、文件格式、文件位置、出現(xiàn)在文件中的個體、關(guān)于文件的注解信息,和到達類似文件的鏈接。到達類似文件的鏈接可基于時間、來源、主題或風格、出現(xiàn)在文件中的個體和其它合適的鏈接信息。用戶正保存的圖像文件的事件計劃可包含圖像文件標題、保存的時間、圖像文件位置、圖像文件格式、與文件關(guān)聯(lián)的許可證、圖像得以獲取的位置、圖像品質(zhì)、圖像的相機方面(例如,鏡頭、焦距、照明和閃光)。更一般地,事件計劃可描述大約在事件時間的系統(tǒng)狀態(tài)。例如,事件計劃可含有與用戶從中進行導(dǎo)航的先前網(wǎng)頁關(guān)聯(lián)的網(wǎng)頁事件的URL。另外,事件計劃可描述具有如同列表的更復(fù)雜結(jié)構(gòu)的字段。例如,事件計劃可含有羅列多個收件人的字段。事件計劃還可含有任選字段,使得應(yīng)用程序可視需要而包含附加事件數(shù)據(jù)。
捕捉處理器124可捕捉目前發(fā)生的事件(或“實時事件”),且可捕捉過去發(fā)生的事件(或“歷史事件”)。實時事件可為“可編入索引”或“不可編入索引”的。在一個實施例中,搜索引擎122將可編入索引的實時事件編入索引,但不將不可編入索引的實時事件編入索引。搜索引擎122可基于事件的重要性來確定是否將事件編入索引??删幦胨饕膶崟r事件可為與項目關(guān)聯(lián)的更重要的事件,例如查看網(wǎng)頁、加載或保存文件,和接收或發(fā)送即時消息或電子信件。不可編入索引的事件可被搜索引擎122認為重要程度不足以需要編入索引并存儲事件,例如移動鼠標或選擇項目中文本的一部分。不可編入索引的事件可由搜索引擎122用來更新當前用戶狀態(tài)。雖然所有的實時事件可與用戶當前所從事的事情(或當前用戶狀態(tài))有關(guān),但將可編入索引的實時事件編入索引并存儲在數(shù)據(jù)存儲140中?;蛘?,搜索引擎122可將所有的實時事件編入索引。實時事件可包含(例如)發(fā)送或接收項目(例如,即時電子郵件)、檢查項目的一部分(例如,選擇文本的一部分或在網(wǎng)頁的一部分上移動鼠標)、改變項目(例如,編輯視頻文件)、關(guān)閉項目(例如,關(guān)閉媒質(zhì)播放器應(yīng)用程序或改變正收聽的音頻文件)、加載、保存、打開或查看項目(例如,圖像文件,收聽或保存mp3文件或其它音頻/視頻文件),或更新項目的元數(shù)據(jù)(例如,為網(wǎng)頁設(shè)定書簽、打印演示文檔、刪除文字處理文檔或移動電子數(shù)據(jù)表文檔)。
歷史事件與可編入索引的實時事件相似,不同之處在于事件在安裝搜索引擎122之前發(fā)生或者未被捕捉到,因為(例如)當客戶端裝置102a運作時的一段時間內(nèi)搜索引擎122不運作,或因為事件發(fā)生時不存在用于特定類型歷史事件的捕捉組件。歷史事件的實例包含用戶的已保存的文字處理文檔、媒質(zhì)文件、演示文檔、日歷條目和電子數(shù)據(jù)表文檔、用戶收件箱中的電子郵件和用戶設(shè)定書簽的網(wǎng)頁。捕捉處理器124可通過周期性地爬行(crawl)存儲器108和任何相關(guān)的數(shù)據(jù)存儲裝置以便查找先前未被捕捉處理器124捕捉的事件來捕捉歷史事件。捕捉處理器124還可通過請求某些客戶端應(yīng)用程序(例如,網(wǎng)絡(luò)瀏覽器或電子郵件應(yīng)用程序)以檢索項目和其它相關(guān)信息來捕捉歷史事件。例如,捕捉處理器124可請求網(wǎng)絡(luò)瀏覽器應(yīng)用程序獲得用戶查看的所有網(wǎng)頁,或請求電子郵件應(yīng)用程序獲得與用戶關(guān)聯(lián)的所有電子郵件消息。這些項目可能當前并不存在于存儲器108中或存在于客戶端裝置102a的存儲裝置上。例如,電子郵件應(yīng)用程序可能必須從服務(wù)器裝置中檢索電子郵件。在一個實施例中,搜索引擎122將歷史事件編入索引。
在圖1所示的實施例中,將捕捉處理器124捕捉的事件以事件計劃描述的格式發(fā)送到隊列126。捕捉處理器124還可將性能數(shù)據(jù)發(fā)送到隊列126。性能數(shù)據(jù)的實例包含當前處理器負載、一段預(yù)定時間內(nèi)的平均處理器負載、空閑時間、磁盤訪問、使用中的客戶端應(yīng)用程序,和可用的存儲器量。性能數(shù)據(jù)也可由特定的性能監(jiān)視組件提供,一些特定的性能監(jiān)視組件可能是(例如)搜索引擎122的一部分。隊列126中的性能數(shù)據(jù)可由搜索引擎122和捕捉處理器124的捕捉組件檢索。例如,捕捉組件可檢索性能數(shù)據(jù)以改變發(fā)送到隊列126的事件數(shù)目,或發(fā)送的事件的詳細程度(當系統(tǒng)繁忙時事件較少或較小),或事件的發(fā)送頻率(當系統(tǒng)繁忙時或有太多的事件等待處理時,不經(jīng)常發(fā)送事件)。搜索引擎122可使用性能數(shù)據(jù)來確定其何時將各種事件編入索引,或其何時和每隔多久發(fā)布隱式查詢。
在一個實施例中,隊列126保留事件直到搜索引擎122準備處理事件為止?;蛘?,隊列126使用性能數(shù)據(jù)來幫助確定多快將事件提供給搜索引擎122。隊列126可包括一個或一個以上分離的隊列,其中包含用戶狀態(tài)隊列和索引隊列。例如,索引隊列可將可編入索引的事件排成隊列。或者,隊列126可具有附加隊列或包括單一隊列。可使用存儲器映射文件將隊列126實施為循環(huán)優(yōu)先隊列。所述隊列可為多優(yōu)先權(quán)隊列,其中在較低優(yōu)先權(quán)事件之前先服務(wù)較高優(yōu)先權(quán)事件,且其它組件可能夠指定其所關(guān)注的事件類型。通常,可給予實時事件比歷史事件更高的優(yōu)先權(quán),且可給予可編入索引的事件比不可編入索引的實時事件更高的優(yōu)先權(quán)。隊列126可能有其它實施方案。在另一實施例中,客戶端裝置102a不具有隊列126。在此實施例中,事件直接從捕捉處理器124傳遞到搜索引擎122。在其它實施例中,可使用合適的信息交換機制在捕捉組件與搜索引擎之間傳輸事件,所述合適的信息交換機制例如可擴展標識語言-遠程程序呼叫協(xié)議(XML/RPC)、超文本傳輸協(xié)議(HTTP)、簡單對象訪問協(xié)議(SOAP)、共用存儲器、插件、本地或遠程程序呼叫,或任何其它合適的信息交換機制。
搜索引擎122可含有索引器130、查詢系統(tǒng)132和格式器134。查詢系統(tǒng)132可從隊列126中檢索實時事件和性能數(shù)據(jù)。查詢系統(tǒng)132可使用性能數(shù)據(jù)和實時事件來更新當前用戶狀態(tài)并產(chǎn)生隱式查詢。隱式查詢可為基于當前用戶狀態(tài)的自動產(chǎn)生的查詢。查詢系統(tǒng)132還可接收并處理來自用戶112a的顯式查詢。性能數(shù)據(jù)還可由搜索引擎122從隊列126中檢索,以便用于確定搜索引擎122可能進行的活動的數(shù)目。
在圖1所示的實施例中,索引器130從隊列126中檢索可編入索引的實時事件和歷史事件(可編入索引的事件)?;蛘?,隊列126可將可編入索引的事件發(fā)送到索引器130。索引器130可將可編入索引的事件編入索引,且可將其發(fā)送到數(shù)據(jù)存儲140,在數(shù)據(jù)存儲140中存儲可編入索引的事件。數(shù)據(jù)存儲140可為任何類型的計算機可讀媒質(zhì),且可與客戶端裝置102a集成(例如,硬盤驅(qū)動器),或在客戶端裝置102a外部(例如,外部硬盤驅(qū)動器)或在通過網(wǎng)絡(luò)106訪問的另一數(shù)據(jù)存儲裝置上。數(shù)據(jù)存儲可為一個或一個以上邏輯或物理存儲區(qū)域。在一個實施例中,數(shù)據(jù)存儲140可在存儲器108中。數(shù)據(jù)存儲140可有助于一種存儲數(shù)據(jù)的方法或方法的組合(包含但不限于陣列、哈希表、列表和配對(pair)),且可包含壓縮和編碼。在圖1所示的實施例中,數(shù)據(jù)存儲包含索引142、數(shù)據(jù)庫144和存儲庫146。
在圖1所示的實施例中,當索引器130接收到事件時,索引器130可從事件中確定與事件關(guān)聯(lián)的術(shù)語(如果存在的話)、事件的時間(如果可用的話)、與事件關(guān)聯(lián)的圖像(如果存在的話),和/或定義事件的其它信息。索引器130還可確定事件是否與其它事件有關(guān),并使事件與相關(guān)事件關(guān)聯(lián)。例如,對于媒質(zhì)文件事件,索引器130可使媒質(zhì)文件事件與與媒質(zhì)文件事件關(guān)聯(lián)的其它版本(如果有的話)關(guān)聯(lián)。媒質(zhì)文件事件可在可存儲于數(shù)據(jù)存儲140中的相關(guān)事件對象中彼此關(guān)聯(lián)。索引器130可進一步識別并編輯來自例如本地和總體數(shù)據(jù)庫、網(wǎng)站以及網(wǎng)絡(luò)搜索引擎的外部來源的事件數(shù)據(jù),從而允許索引器130增加與事件相關(guān)的可用的信息或事件數(shù)據(jù)。例如,如果用戶播放歌曲且含有歌曲的媒質(zhì)文件只有與其關(guān)聯(lián)的標題信息,那么索引器130可確定外部來源的歌詞、藝術(shù)家、年代、風格、專輯和專輯圖像并使此數(shù)據(jù)與事件關(guān)聯(lián)。
索引器130可發(fā)送與事件關(guān)聯(lián)的術(shù)語和時間并將其并入在數(shù)據(jù)存儲140的索引142中??蓪⑹录l(fā)送到數(shù)據(jù)庫144以便進行存儲,且相關(guān)項目的內(nèi)容和任何相關(guān)圖像可存儲在存儲庫146中。相關(guān)事件對象可存儲在數(shù)據(jù)庫144中。
在圖1所示的實施例中,用戶112a可將顯式查詢輸入到客戶端裝置102a上顯示的搜索引擎界面中,搜索引擎122接收顯式查詢。搜索引擎122還可基于當前用戶狀態(tài)產(chǎn)生隱式查詢,查詢系統(tǒng)132可根據(jù)實時事件確定當前用戶狀態(tài)?;诓樵?,查詢系統(tǒng)132可將相關(guān)信息定位在數(shù)據(jù)存儲140中,并提供結(jié)果集合。在一個實施例中,結(jié)果集合包括與客戶端應(yīng)用程序120關(guān)聯(lián)的項目或客戶端項目的項目識別符??蛻舳隧椖堪c用戶112a或客戶端裝置102a關(guān)聯(lián)的項目,例如用戶的電子郵件、文字處理文檔、即時通訊消息、先前查看的網(wǎng)頁,和與客戶端裝置102a或用戶112a關(guān)聯(lián)的任何其它項目或項目的一部分。項目識別符可為(例如)統(tǒng)一資源定位器(URL)、文件名、鏈接、圖標、本地文件的路徑、或可識別項目的任何合適的信息。在另一實施例中,結(jié)果集合還包括定位在網(wǎng)絡(luò)106上的項目或由搜索引擎定位在服務(wù)器裝置上的網(wǎng)絡(luò)項目的項目識別符。網(wǎng)絡(luò)項目包含定位在網(wǎng)絡(luò)106上的用戶112a先前未查看或以其他方式參考的項目,例如用戶112a先前未查看的網(wǎng)頁。
格式器134可從搜索引擎122的查詢系統(tǒng)132接收搜索結(jié)果集合,且可將所述結(jié)果格式化以供輸出到顯示處理器128。在一個實施例中,格式器134可將結(jié)果格式化為XML、HTML或用制表符描繪的文本。顯示處理器128可包含在存儲器108中,且可控制結(jié)果集合在與客戶端裝置102a關(guān)聯(lián)的顯示器裝置上的顯示。顯示處理器128可包括各種組件。例如,在一個實施例中,顯示處理器128包括超文本傳輸協(xié)議(HTTP)服務(wù)器,其接收對于信息的請求,并通過建立和傳送超文本標識語言(HTML)頁來進行響應(yīng)。在一個此實施例中,HTTP服務(wù)器包括Apache網(wǎng)絡(luò)服務(wù)器的減縮版本。顯示處理器128可與一組API關(guān)聯(lián)以便允許各種應(yīng)用程序接收結(jié)果并以各種格式顯示所述結(jié)果。顯示API可以各種方式實施,包含(例如)作為DLL出口、COM界面、VB、JAVA或.NET庫,或作為網(wǎng)絡(luò)服務(wù)。
用戶112a到112n可通過客戶端裝置102a到102n在網(wǎng)絡(luò)106上彼此通信,且與耦合到網(wǎng)絡(luò)106的其它系統(tǒng)和裝置通信。如圖1所示,服務(wù)器裝置150可耦合到網(wǎng)絡(luò)106。在圖1所示的實施例中,搜索引擎122可將包含顯式或隱式查詢或兩者的搜索查詢傳送到服務(wù)器裝置150。用戶112a還可在搜索引擎界面中輸入搜索查詢,客戶端裝置102a可通過網(wǎng)絡(luò)106將搜索查詢傳送到服務(wù)器裝置150。在另一實施例中,可改為將查詢信號發(fā)送到代理服務(wù)器(未圖示),代理服務(wù)器接著將查詢信號傳送到服務(wù)器裝置150。也可能有其它配置。
服務(wù)器裝置150可包含執(zhí)行搜索引擎應(yīng)用程序(例如,GoogleTM搜索引擎)的服務(wù)器。在其它實施例中,服務(wù)器裝置150可包括相關(guān)信息服務(wù)器或廣告服務(wù)器。與客戶端裝置102a到102n相似,服務(wù)器裝置150可包含耦合到計算機可讀存儲器162的處理器160。描繪為單一計算機系統(tǒng)的服務(wù)器裝置150可實施為計算機處理器的網(wǎng)絡(luò)。服務(wù)器裝置150的實例為服務(wù)器、大型計算機、連網(wǎng)的計算機、基于處理器的裝置和類似類型的系統(tǒng)和裝置。服務(wù)器處理器160可為許多計算機處理器中的任一者,例如加州圣克拉拉市的英特爾公司和伊利諾斯州紹姆堡的摩托羅拉公司的處理器。在另一實施例中,服務(wù)器裝置150可存在于客戶端裝置上。在又一實施例中,可存在多個服務(wù)器裝置150。
存儲器162含有搜索引擎應(yīng)用程序,也稱為網(wǎng)絡(luò)搜索引擎170。搜索引擎170可響應(yīng)于來自客戶端裝置102a的搜索查詢而定位來自網(wǎng)絡(luò)106的相關(guān)信息。搜索引擎170接著可將結(jié)果集合通過網(wǎng)絡(luò)106提供給客戶端裝置102a。所述結(jié)果集合可包括一個或一個以上項目識別符。項目識別符可為(例如)統(tǒng)一資源定位器(URL)、文件名、鏈接、圖標、本地文件的路徑,或識別項目的任何其它信息。在一個實施例中,項目識別符可包括與項目關(guān)聯(lián)的URL。
在一個實施例中,服務(wù)器裝置150或相關(guān)裝置先前已執(zhí)行網(wǎng)絡(luò)106的爬行以便定位存儲在耦合到網(wǎng)絡(luò)106的其它裝置或系統(tǒng)處的項目(例如網(wǎng)頁),并已將項目在存儲器162中或另一數(shù)據(jù)存儲裝置上編入索引。應(yīng)了解,可使用代替爬行或與爬行組合將項目編入索引的其它方法。例如手動提交。
應(yīng)注意,本發(fā)明的其它實施例可包括具有與圖1所示的結(jié)構(gòu)不同結(jié)構(gòu)的系統(tǒng)。例如,在本發(fā)明的其它一些實施例中,客戶端裝置102a為獨立裝置且不連接到網(wǎng)絡(luò)。圖1所示的系統(tǒng)100僅為示范性的,且用來解釋圖2和圖3所示的示范性方法。
過程可執(zhí)行根據(jù)本發(fā)明實施例的各種方法。例如,在一個實施例中,捕捉具有相關(guān)事件數(shù)據(jù)并與客戶端裝置關(guān)聯(lián)的一個或一個以上事件,其中每一事件與項目關(guān)聯(lián)且項目的至少一者為媒質(zhì)文件,其中當事件的至少一者發(fā)生時實時地捕捉所述事件,將與事件關(guān)聯(lián)的至少一些事件數(shù)據(jù)和項目編入索引并進行存儲,接收搜索查詢,且確定至少一個媒質(zhì)文件與搜索查詢有關(guān)。具有相關(guān)媒質(zhì)文件項目的事件可稱為媒質(zhì)文件事件。媒質(zhì)文件可為音頻文件、視頻文件、圖像文件、某一組合或不同媒質(zhì)文件的帶腳本的時間線演示。
搜索查詢可為顯式查詢或隱式查詢。在一個實施例中,捕捉與媒質(zhì)文件關(guān)聯(lián)的事件可包括監(jiān)視媒質(zhì)應(yīng)用程序以確定與事件關(guān)聯(lián)的事件數(shù)據(jù),和根據(jù)至少一些事件數(shù)據(jù)編輯事件。捕捉與媒質(zhì)文件關(guān)聯(lián)的事件可包括確定媒質(zhì)文件外部的事件數(shù)據(jù)??芍辽俨糠值鼗诒镜財?shù)據(jù)庫、總體數(shù)據(jù)庫、網(wǎng)頁和網(wǎng)絡(luò)搜索引擎中的一或多者來確定媒質(zhì)文件外部的事件數(shù)據(jù)。捕捉與媒質(zhì)文件關(guān)聯(lián)的事件還可包括確定識別媒質(zhì)文件的文本,和包含文本作為與事件關(guān)聯(lián)的事件數(shù)據(jù)。在一個實施例中,將與媒質(zhì)文件關(guān)聯(lián)的事件編入索引可包括使媒質(zhì)文件事件與相關(guān)事件關(guān)聯(lián)。相關(guān)事件可包括不同版本的事件。
根據(jù)一個實施例,捕捉與媒質(zhì)文件關(guān)聯(lián)的事件可包括至少部分地基于網(wǎng)絡(luò)活動、系統(tǒng)活動和媒質(zhì)應(yīng)用程序活動中的一或多者來識別事件。捕捉與媒質(zhì)文件關(guān)聯(lián)的事件可包括至少部分地基于與媒質(zhì)應(yīng)用程序關(guān)聯(lián)的顯示區(qū)域來識別事件,和通過分析顯示區(qū)域來識別至少一些事件數(shù)據(jù)。捕捉與媒質(zhì)文件關(guān)聯(lián)的事件可包括至少部分地基于對于輸入或輸出裝置的呼叫來識別事件,和通過分析呼叫來識別至少一些事件數(shù)據(jù)。
圖2說明示范性方法200,其提供一種捕捉、編入索引并存儲事件的方法。此示范性方法是以舉例的方式提供,從示范性實施例的前述描述應(yīng)了解,存在執(zhí)行根據(jù)本發(fā)明的方法的多種方式。圖2所示的方法200可由各種系統(tǒng)中的任一者實施或以其他方式執(zhí)行。下文以舉例的方式描述方法200由圖1所示的系統(tǒng)100執(zhí)行,且在解釋圖2的實例方法的過程中參考系統(tǒng)100的各種元件。然而將了解,本發(fā)明不限于例如參看圖1而描述的特定系統(tǒng)。
在202中,捕捉處理器124捕捉事件。事件可為媒質(zhì)文件事件,例如音頻、視頻或圖像文件事件、組合媒質(zhì)文件事件、或可具有輔助相關(guān)內(nèi)容(例如,字幕、任選音頻軌道和導(dǎo)演評論)的不同媒質(zhì)文件事件的帶腳本的時間線演示,或可為非媒質(zhì)文件事件,例如電子郵件、即時通訊、網(wǎng)頁或演示事件。事件可為實時事件或可為歷史事件。捕捉處理器124可通過當事件發(fā)生時識別并編輯與事件關(guān)聯(lián)的事件數(shù)據(jù)來捕捉實時事件。捕捉處理器124可(例如)通過爬行存儲器108或客戶端裝置112a的相關(guān)數(shù)據(jù)存儲裝置以便查找先前未被捕捉的項目,或通過從客戶端應(yīng)用程序接收項目或數(shù)據(jù)并識別且編輯與事件關(guān)聯(lián)的事件數(shù)據(jù),來捕捉歷史事件。此爬行可由用戶請求、可以一定的時間間隔來執(zhí)行,或可在其他某一合適的條件下發(fā)生。捕捉處理器124可具有用于每一客戶端應(yīng)用程序的分離的捕捉組件,網(wǎng)絡(luò)監(jiān)視、性能數(shù)據(jù)捕捉、鍵擊捕捉和顯示捕捉。例如,捕捉處理器124可具有與每一媒質(zhì)應(yīng)用程序或媒質(zhì)應(yīng)用程序的每一類型關(guān)聯(lián)的不同的捕捉組件?;蛘撸墒褂脝我坏牟蹲浇M件來捕捉媒質(zhì)文件事件。
在一個實施例中,捕捉組件可使用例如先前已定義并向客戶端裝置102a注冊的事件計劃的一般化事件定義機制來捕捉或表達事件。例如,音頻文件事件(例如,用戶112a播放的mp3格式的歌曲)的事件計劃可包含歌曲標題、歌曲藝術(shù)家、專輯標題、歌曲風格、文件位置、保存到客戶端裝置的文件的數(shù)據(jù)、文件品質(zhì)、文件格式,和文件位置的指針。視頻(例如用戶112a正觀看的家庭電影)的事件計劃可包含文件標題、文件創(chuàng)建日期、文件編輯日期(如果有的話)、文件保存到客戶端裝置的日期、文件格式、文件位置,和文件位置的指針。用戶正保存的圖像文件的事件計劃可包含圖像文件標題、保存時間、圖像文件位置、圖像文件格式,和圖像文件位置的指針。
捕捉處理器124可根據(jù)有關(guān)的事件計劃所描述的格式來識別并編輯事件數(shù)據(jù)以便捕捉事件。媒質(zhì)文件事件的事件數(shù)據(jù)可包含在文件的相關(guān)元數(shù)據(jù)中,例如音樂文件中的ID3標簽。還可根據(jù)媒質(zhì)文件外部的來源(例如,本地或總體數(shù)據(jù)庫,或網(wǎng)絡(luò)搜索引擎)來確定媒質(zhì)文件事件的事件數(shù)據(jù)。例如,可通過基于某一識別符查找例如藝術(shù)家、標題、風格、專輯封面藝術(shù)和歌詞的關(guān)于歌曲的信息來確定例如歌曲的音頻媒質(zhì)文件事件的事件數(shù)據(jù)。可使用網(wǎng)絡(luò)搜索引擎170來完成此查找?;蛘撸墒褂门c客戶端裝置102a關(guān)聯(lián)的數(shù)據(jù)庫來完成查找。識別符可為(例如)基于波長、長度或與音頻媒質(zhì)文件關(guān)聯(lián)的其它信息的唯一值、文件名、文件內(nèi)的元數(shù)據(jù),或已添加到文件的指紋。事件數(shù)據(jù)的識別和編輯可在事件正發(fā)生時實時地發(fā)生,或可在爬行用戶的文件期間發(fā)生。在一個實施例中,捕捉處理器124可確定或產(chǎn)生可識別媒質(zhì)文件的音頻部分的文本,并包含此文本作為事件中的事件數(shù)據(jù)。此文本可用來將事件編入索引。例如,在一個實施例中,對于例如歌曲的音頻媒質(zhì)文件事件,捕捉處理器124可根據(jù)外部來源(例如,網(wǎng)站)確定文本格式的與歌曲關(guān)聯(lián)的歌詞,并編輯此文本作為與媒質(zhì)文件事件關(guān)聯(lián)的事件數(shù)據(jù)。
在一個實施例中,捕捉處理器124可通過網(wǎng)絡(luò)活動來識別媒質(zhì)文件事件,例如通過監(jiān)視網(wǎng)絡(luò)信息流通量或利用瀏覽器插件程序來檢測從相關(guān)網(wǎng)絡(luò)下載音頻文件。捕捉處理器124可通過系統(tǒng)活動來識別媒質(zhì)文件事件。例如,捕捉處理器124可(例如)通過使用與媒質(zhì)應(yīng)用程序的應(yīng)用編程界面(API)、監(jiān)視對于音頻或視頻驅(qū)動器的呼叫,或監(jiān)視對于與媒質(zhì)應(yīng)用程序關(guān)聯(lián)的顯示區(qū)域(例如,窗口)的顯示呼叫,來確定媒質(zhì)應(yīng)用程序正在使用中。捕捉處理器124可通過監(jiān)視對于輸入或輸出裝置或驅(qū)動器(例如,麥克風或揚聲器)的呼叫來捕捉事件數(shù)據(jù)。此外,捕捉處理器124可從與媒質(zhì)應(yīng)用程序關(guān)聯(lián)的顯示區(qū)域中提取與媒質(zhì)文件關(guān)聯(lián)的事件數(shù)據(jù)。例如,顯示區(qū)域可含有關(guān)于正顯示的音頻文件的元數(shù)據(jù),例如標題、藝術(shù)家和其它信息。作為另一實例,可分析顯示區(qū)域以便基于屏幕區(qū)上像素亮度的分布和變化來識別可能為相片的圖像。顯示器裝置上的典型項(例如,文本和邊界)含有明顯的銳邊,但相片可含有(例如)像素值的緩和的變化。屏幕區(qū)段上的可能的壓縮量也可幫助識別相片,因為相片可能更加不可壓縮。與顯示器裝置上相片的典型尺寸結(jié)合的這些特征可允許識別并提取相片。分析與顯示器裝置關(guān)聯(lián)的顯示區(qū)域可為有利的,因為單單識別媒質(zhì)文件可能不允許識別所有期望的事件數(shù)據(jù),且單單分析媒質(zhì)應(yīng)用程序可能不允許訪問媒質(zhì)文件的事件數(shù)據(jù)。
在204中,捕捉處理器124確定所捕捉的事件是否為可編入索引的事件。如上文所解釋,一些實時事件可能不可編入索引(不可編入索引的實時事件)。在一個實施例中,不可編入索引的實時事件可用來更新當前用戶狀態(tài),且為(例如)檢查項目的一部分、改變項目和關(guān)閉項目。在此實施例中,索引器130不將不可編入索引的事件編入索引或發(fā)送以進行存儲??删幦胨饕氖录蔀榭删幦胨饕膶崟r事件或歷史事件。例如,在一個實施例中,可將播放、查看或編輯媒質(zhì)文件視為可編入索引的事件??蓪⒋蜷_媒質(zhì)應(yīng)用程序視為不可編入索引的事件。
如果確定是可編入索引的事件,那么在206中,捕捉處理器124可將事件發(fā)送到隊列126,同時指示其為可編入索引的事件。在所展示的實施例中,將可編入索引的實時事件發(fā)送到隊列126內(nèi)的用戶狀態(tài)隊列和索引隊列兩者,且將歷史事件發(fā)送到隊列126內(nèi)的索引隊列?;蛘?,可不將可編入索引的實時事件發(fā)送到用戶狀態(tài)隊列以節(jié)省計算時間。捕捉處理器124可以事件計劃所描述的格式將事件發(fā)送到隊列126。如果確定事件是不可編入索引的事件,那么在206中,捕捉處理器124可將不可編入索引的事件發(fā)送到隊列126的用戶狀態(tài)隊列,同時指示不將其編入索引。
在一個實施例中,隊列126保留事件直到搜索引擎準備接收事件為止?;谑录?shù)據(jù),可在隊列126上將事件區(qū)分優(yōu)先次序以供處理。例如,在一個實施例中,與實時事件相比,可給予歷史事件由隊列126進行處理的較低優(yōu)先權(quán)。在一個實施例中,當索引器130準備處理另一事件時,其可從隊列126中的索引隊列檢索一個或多個事件。查詢系統(tǒng)132在準備更新用戶狀態(tài)時可從隊列126的用戶狀態(tài)隊列檢索一個或多個事件。在另一實施例中,不使用隊列,且將事件從捕捉處理器124直接發(fā)送到搜索引擎122。
在208中,將事件編入索引。在一個實施例中,索引器130將事件編入索引,且當其準備處理事件時可從隊列126中檢索事件。在一個實施例中,索引器130確定事件是否為復(fù)制事件,且如果不是,那么向事件分配事件ID。索引器130還可將事件與相關(guān)事件關(guān)聯(lián)。例如,如果用戶112a編輯圖像文件并用相同的文件名保存圖像文件,因而重寫原始文件,那么索引器130可通過相關(guān)事件對象將經(jīng)修訂的圖像文件與原始圖像文件關(guān)聯(lián)。在圖2所示的實施例中,索引器從事件計劃中確定與事件關(guān)聯(lián)的可編入索引的術(shù)語,與事件關(guān)聯(lián)的日期和時間,以及與事件關(guān)聯(lián)的其它數(shù)據(jù)。
在210中,事件可存儲在數(shù)據(jù)庫144中,且事件的內(nèi)容可存儲在存儲庫146中。事件(例如,媒質(zhì)文件事件)可存儲在數(shù)據(jù)存儲140中。在圖2所示的實施例中,可將相關(guān)媒質(zhì)文件存儲在存儲庫146中。事件和相關(guān)事件對象可存儲在數(shù)據(jù)庫144中。在一個實施例中,事件的事件ID與等同于事件的可編入索引的術(shù)語的索引142中的術(shù)語關(guān)聯(lián)。例如,對于(例如)與標題為“Let′s Dance”的David Bowie歌曲的音頻文件關(guān)聯(lián)的具有給定事件ID“17”的音頻文件事件,事件ID17可與索引142中的術(shù)語“David”、“Bowie”和“Dance”關(guān)聯(lián)。
圖3說明示范性方法300,其提供根據(jù)一個實施例的一種處理搜索查詢的方法。此示范性方法是以舉例的方式提供,從示范性實施例的前述描述應(yīng)了解,存在執(zhí)行根據(jù)本發(fā)明的方法的多種方式。圖3所示的方法300可由各種系統(tǒng)中的任一者實施或以其他方式執(zhí)行。下文以舉例的方式描述方法300由圖1所示的系統(tǒng)100執(zhí)行,在圖3的實例方法中參考系統(tǒng)100的各種元件。
在302中,查詢系統(tǒng)132接收搜索查詢。查詢可為顯式查詢或隱式查詢。可由用戶將查詢術(shù)語輸入到顯示在客戶端裝置102a上的搜索引擎界面中來產(chǎn)生顯式查詢??捎刹樵兿到y(tǒng)132基于當前用戶狀態(tài)來產(chǎn)生隱式查詢。例如,用戶112a可將術(shù)語“David Bowie”輸入到搜索引擎界面中,且查詢系統(tǒng)132可基于輸入術(shù)語來產(chǎn)生搜索查詢?;蛘?,用戶112a可將術(shù)語“David Bowie”輸入在用戶112a正起草的電子郵件中。捕捉處理器124可捕捉此語境事件,且其可由查詢系統(tǒng)132接收。查詢系統(tǒng)132可基于在此語境事件中捕捉的術(shù)語來產(chǎn)生搜索查詢。
在304中,查詢系統(tǒng)132定位與搜索查詢有關(guān)的項目。查詢系統(tǒng)132可通過將搜索查詢的術(shù)語與位于索引142中的術(shù)語匹配來定位相關(guān)項目。例如,查詢系統(tǒng)132可將查詢的術(shù)語與索引142中的術(shù)語匹配。查詢系統(tǒng)132可通過與匹配的術(shù)語關(guān)聯(lián)的事件ID從匹配的術(shù)語中確定存儲在數(shù)據(jù)庫144中并與術(shù)語關(guān)聯(lián)的事件。查詢系統(tǒng)132可從這些事件中確定與事件關(guān)聯(lián)的項目。項目可存儲在存儲庫146中。例如,對于搜索查詢“David Bowie”,查詢系統(tǒng)132可定位含有查詢術(shù)語的來自各種客戶端應(yīng)用程序的各種項目,例如,音頻文件、視頻文件、圖像文件、電子郵件、即時通訊消息、先前查看的網(wǎng)頁,和與查詢的術(shù)語匹配的其它項目。查詢還可指明時間,且查詢系統(tǒng)132可定位與查詢時間有關(guān)的項目。查詢系統(tǒng)132還可從搜索引擎170中檢索與查詢有關(guān)的網(wǎng)絡(luò)項目(例如,網(wǎng)頁)。
在306中,查詢系統(tǒng)132基于定位的項目來產(chǎn)生搜索結(jié)果集合。在一個實施例中,查詢系統(tǒng)132可基于指示用戶112a對于項目的偏好的多種信號將定位的項目分類并劃分等級。搜索結(jié)果集合可含有與多種不同客戶端應(yīng)用程序120關(guān)聯(lián)的項目的項目識別符和網(wǎng)絡(luò)項目的項目識別符的分級列表。每一鏈接還可含有項目的概要以及與項目關(guān)聯(lián)的圖像。結(jié)果集合可含有例如音頻、視頻和圖像文件的媒質(zhì)文件,和例如電子郵件、即時通訊消息和網(wǎng)頁的其它項目(非媒質(zhì)文件)。例如,對于查詢“David Bowie”,結(jié)果集合可含有David Bowie的歌曲的音頻文件、David Bowie的音樂視頻的視頻文件、David Bowie的圖像文件、討論David Bowie的電子郵件和即時通訊消息,以及與David Bowie有關(guān)的網(wǎng)站。
在308中,格式器134將搜索結(jié)果集合格式化。在一個實施例中,格式器134將結(jié)果集合格式化成XML或HTML。在310中,顯示處理器128輸出搜索結(jié)果集合,例如顯示在客戶端裝置102a上。例如,搜索結(jié)果集合可顯示在與客戶端裝置102a關(guān)聯(lián)的顯示器裝置上。如果搜索結(jié)果集合是響應(yīng)于隱式查詢而產(chǎn)生的,那么顯示處理器128可確定適當?shù)臅r間來顯示隱式搜索結(jié)果集合。用戶112a接著可選擇項目的項目識別符,并促使相關(guān)項目輸出在顯示器裝置上。
所展示的環(huán)境反映客戶端側(cè)搜索引擎結(jié)構(gòu)實施例??赡苡衅渌鼘嵤├?,例如獨立的客戶端裝置或網(wǎng)絡(luò)搜索引擎。
雖然以上描述含有許多細節(jié),但這些細節(jié)不應(yīng)解釋為對本發(fā)明范圍的限定,而是僅僅作為所揭示的實施例的例證。所屬領(lǐng)域的技術(shù)人員將預(yù)想在本發(fā)明范圍內(nèi)的許多其它可能的變化。
權(quán)利要求
1.一種方法,其包括捕捉具有相關(guān)事件數(shù)據(jù)并與一客戶端裝置關(guān)聯(lián)的一個或一個以上事件,其中每一事件與一項目關(guān)聯(lián)且所述項目的至少一者為一媒質(zhì)文件,其中當所述事件的至少一者發(fā)生時,實時地捕捉所述事件;將與所述事件關(guān)聯(lián)的至少一些所述事件數(shù)據(jù)和項目編入索引并進行存儲;接收一搜索查詢;和確定所述至少一個媒質(zhì)文件與所述搜索查詢有關(guān)。
2.根據(jù)權(quán)利要求
1所述的方法,其中所述搜索查詢是一顯式查詢。
3.根據(jù)權(quán)利要求
1所述的方法,其中所述搜索查詢是一隱式查詢。
4.根據(jù)權(quán)利要求
1所述的方法,其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括監(jiān)視一媒質(zhì)應(yīng)用程序以確定與所述事件關(guān)聯(lián)的事件數(shù)據(jù),和根據(jù)至少一些所述事件數(shù)據(jù)編輯所述事件。
5.根據(jù)權(quán)利要求
1所述的方法,其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括確定所述媒質(zhì)文件外部的事件數(shù)據(jù)。
6.根據(jù)權(quán)利要求
5所述的方法,其中至少部分地基于一本地數(shù)據(jù)庫、一總體數(shù)據(jù)庫、一網(wǎng)頁和一網(wǎng)絡(luò)搜索引擎中的一者或多者來確定所述媒質(zhì)文件外部的所述事件數(shù)據(jù)。
7.根據(jù)權(quán)利要求
1所述的方法,其中所述媒質(zhì)文件包括一音頻文件。
8.根據(jù)權(quán)利要求
1所述的方法,其中所述媒質(zhì)文件包括一視頻文件。
9.根據(jù)權(quán)利要求
1所述的方法,其中所述媒質(zhì)文件包括一圖像文件。
10.根據(jù)權(quán)利要求
1所述的方法,其中所述媒質(zhì)文件包括音頻與視頻的一組合。
11.根據(jù)權(quán)利要求
1所述的方法,其中所述媒質(zhì)文件包括音頻和視頻的一帶腳本的演示。
12.根據(jù)權(quán)利要求
1所述的方法,其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括確定識別所述媒質(zhì)文件的文本,和包含所述文本作為與所述事件關(guān)聯(lián)的事件數(shù)據(jù)。
13.根據(jù)權(quán)利要求
1所述的方法,其中將與一媒質(zhì)文件關(guān)聯(lián)的所述事件編入索引包括使所述事件與至少一個相關(guān)事件關(guān)聯(lián)。
14.根據(jù)權(quán)利要求
13所述的方法,其中所述相關(guān)事件包括一不同版本的所述事件。
15.根據(jù)權(quán)利要求
1所述的方法,其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括至少部分地基于網(wǎng)絡(luò)活動、系統(tǒng)活動和媒質(zhì)應(yīng)用程序活動中的一或多者來識別所述事件。
16.根據(jù)權(quán)利要求
1所述的方法,其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括至少部分地基于一與一媒質(zhì)應(yīng)用程序關(guān)聯(lián)的顯示區(qū)域來識別所述事件,和通過分析所述顯示區(qū)域來識別至少一些所述事件數(shù)據(jù)。
17.根據(jù)權(quán)利要求
1所述的方法,其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括至少部分地基于對于輸入或輸出裝置的呼叫來識別所述事件,和通過分析所述呼叫來識別至少一些所述事件數(shù)據(jù)。
18.一種含有程序代碼的計算機可讀媒質(zhì)媒質(zhì),其包括用于捕捉具有相關(guān)事件數(shù)據(jù)并與一客戶端裝置關(guān)聯(lián)的一個或一個以上事件的程序代碼,其中每一事件與一項目關(guān)聯(lián)且所述項目的至少一者為一媒質(zhì)文件,其中當所述事件的至少一者發(fā)生時實時地捕捉所述事件;用于將與所述事件關(guān)聯(lián)的至少一些所述事件數(shù)據(jù)和項目編入索引并進行存儲的程序代碼;用于接收一搜索查詢的程序代碼;和用于確定所述至少一個媒質(zhì)文件與所述搜索查詢有關(guān)的程序代碼。
19.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中所述搜索查詢是一顯式查詢。
20.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中所述搜索查詢是一隱式查詢。
21.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括監(jiān)視一媒質(zhì)應(yīng)用程序以確定與所述事件關(guān)聯(lián)的事件數(shù)據(jù),和根據(jù)至少一些所述事件數(shù)據(jù)編輯所述事件。
22.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括確定所述媒質(zhì)文件外部的事件數(shù)據(jù)。
23.根據(jù)權(quán)利要求
22所述的計算機可讀媒質(zhì),其中至少部分地基于一本地數(shù)據(jù)庫、一總體數(shù)據(jù)庫、一網(wǎng)頁和一網(wǎng)絡(luò)搜索引擎中的一或多者來確定所述媒質(zhì)文件外部的所述事件數(shù)據(jù)。
24.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中所述媒質(zhì)文件包括一音頻文件。
25.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中所述媒質(zhì)文件包括一視頻文件。
26.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中所述媒質(zhì)文件包括一圖像文件。
27.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中所述媒質(zhì)文件包括音頻與視頻的一組合。
28.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中所述媒質(zhì)文件包括音頻和視頻的一帶腳本的演示。
29.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括確定識別所述媒質(zhì)文件的文本,和包含所述文本作為與所述事件關(guān)聯(lián)的事件數(shù)據(jù)的程序代碼。
30.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中將與一媒質(zhì)文件關(guān)聯(lián)的所述事件編入索引包括使所述事件與至少一個相關(guān)事件關(guān)聯(lián)的程序代碼。
31.根據(jù)權(quán)利要求
30所述的計算機可讀媒質(zhì),其中所述相關(guān)事件包括所述事件的一不同版本。
32.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括至少部分地基于網(wǎng)絡(luò)活動、系統(tǒng)活動和媒質(zhì)應(yīng)用程序活動中的一或多者來識別所述事件。
33.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括至少部分地基于一與一媒質(zhì)應(yīng)用程序關(guān)聯(lián)的顯示區(qū)域來識別所述事件,和通過分析所述顯示區(qū)域來識別至少一些所述事件數(shù)據(jù)。
34.根據(jù)權(quán)利要求
18所述的計算機可讀媒質(zhì),其中捕捉與所述媒質(zhì)文件關(guān)聯(lián)的所述事件包括至少部分地基于對于輸入或輸出裝置的呼叫來識別所述事件,和通過分析所述呼叫來識別至少一些所述事件數(shù)據(jù)。
35.一種方法,其包括監(jiān)視復(fù)數(shù)個應(yīng)用程序以確定與包括媒質(zhì)文件事件和非媒質(zhì)文件事件的復(fù)數(shù)個事件關(guān)聯(lián)的事件數(shù)據(jù),其中每一事件與一項目關(guān)聯(lián);編輯至少一些所述事件數(shù)據(jù),以便當發(fā)生至少一些所述媒質(zhì)文件事件和至少一些所述非媒質(zhì)文件事件時捕捉所述事件;將至少一些所述事件和相關(guān)項目編入索引并進行存儲;接收一搜索查詢;定位來自所述被編入索引并存儲的事件的與所述搜索查詢有關(guān)的相關(guān)項目,其中至少一個相關(guān)項目與一媒質(zhì)文件事件關(guān)聯(lián),且至少另一相關(guān)項目與一非媒質(zhì)文件事件關(guān)聯(lián);和輸出一包括所述一個相關(guān)項目和所述另一相關(guān)項目的結(jié)果集合。
專利摘要
本發(fā)明描述處理媒質(zhì)文件的系統(tǒng)和方法。在一個實施例中,捕捉具有相關(guān)事件數(shù)據(jù)并與一客戶端裝置關(guān)聯(lián)的一個或一個以上事件,其中每一事件與一項目關(guān)聯(lián)且所述項目的至少一者為一媒質(zhì)文件,其中當所述事件的至少一者發(fā)生時實時地捕捉所述事件,將與所述事件關(guān)聯(lián)的至少一些所述事件數(shù)據(jù)和項目編入索引并進行存儲,接收一搜索查詢,且確定所述至少一個媒質(zhì)文件與所述搜索查詢有關(guān)。
文檔編號G06F7/00GK1997993SQ20058000937
公開日2007年7月11日 申請日期2005年3月30日
發(fā)明者戴維·本杰明·奧爾巴克, 斯蒂芬·R·勞倫斯, 戴維·馬爾毛羅斯 申請人:咕果公司導(dǎo)出引文BiBTeX, EndNote, RefMan