專利名稱::用于計算機系統(tǒng)體系結(jié)構(gòu)的上下文關(guān)聯(lián)圖表的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及識別計算機對象之間的關(guān)聯(lián)的上下文關(guān)聯(lián)系統(tǒng),尤其涉及用于表示這種關(guān)聯(lián)的上下文關(guān)聯(lián)圖表。背景和摘要當(dāng)人們起初設(shè)計個人計算機時,個人計算機通常只是用于相對較窄的應(yīng)用范圍中。計算機,包括便攜式的和手提式的計算機目前正用于各式各樣的應(yīng)用和通信格式上。從而,計算機用戶目前必須組織比起初設(shè)計計算機時更加多的信息以及不同的信息類型。通用的計算機文件系統(tǒng)迫使用戶使用和記憶任意的脫離上下文的編檔結(jié)構(gòu),其包括文件名、分層目錄結(jié)構(gòu)等等。相反,先天的人類記憶通過關(guān)聯(lián)來工作,以致經(jīng)常記憶作為與其他事件相關(guān)聯(lián)地發(fā)生的事件。由于許多用戶和傳統(tǒng)的計算機編檔結(jié)構(gòu)和組織相互作用的大量的計算機文件和計算機信息,常規(guī)致使用戶難于或不可能發(fā)現(xiàn)和訪問他們先前所作用或使用的計算機信息。同樣地,現(xiàn)在的通信和會員目錄服務(wù)使用靜態(tài)的、用戶產(chǎn)生息來組織聯(lián)絡(luò)信息。傾向于按字母順序或根據(jù)文件體系來組織人們或聯(lián)絡(luò)。例如,在會員目錄服務(wù)中,通常根據(jù)正式的,組織的分級結(jié)構(gòu)來組織人們。然而,許多關(guān)系和組比正式的、組織的分級結(jié)構(gòu)更加動態(tài),并且人們并不能直觀地按字母順序或根據(jù)主題級別來安排他們的聯(lián)絡(luò)。因此,已經(jīng)開發(fā)了一種自動上下文關(guān)聯(lián)系統(tǒng)以識別計算機對象之間的關(guān)聯(lián)。上下文關(guān)聯(lián)系統(tǒng)基于被自動確定的上下文關(guān)聯(lián)來提供對計算機文件、文檔、聯(lián)絡(luò)等等(即對象)的訪問,藉此適應(yīng)基于先天的人的記憶工作的關(guān)聯(lián)。本發(fā)明提供了一種自動上下文關(guān)聯(lián)系統(tǒng),一種用于表示對象之間的上下文關(guān)聯(lián)的上下文關(guān)聯(lián)圖表。該圖表包括一系列表,包括與獨立條目類型關(guān)聯(lián)以支持不同類型的對象的關(guān)聯(lián)的關(guān)聯(lián)表,和定義各種對象的對象表。該圖表支持用戶與各種系統(tǒng)對象和其他人進行相互作用的觀測,以便發(fā)現(xiàn)和利用它們之間有意義的關(guān)聯(lián),各種系統(tǒng)對象包括文件、像片、網(wǎng)頁。通過參考附圖所進行的對本發(fā)明優(yōu)選方案的詳細說明,將會清楚本發(fā)明的其他目的和優(yōu)點。附圖簡述圖1為一個自動上下文關(guān)聯(lián)系統(tǒng)的功能框圖,該自動上下文關(guān)聯(lián)系統(tǒng)自動確定行為、計算機對象(例如,文件、聯(lián)絡(luò)等)及其他事件之間的上下文聯(lián)。圖2為圖1的上下文關(guān)聯(lián)系統(tǒng)中的數(shù)據(jù)收集系統(tǒng)的一個實施的詳細結(jié)構(gòu)圖。圖3為根據(jù)本發(fā)明的一個自動上下文關(guān)聯(lián)圖表的示意結(jié)構(gòu)圖。圖4為一個對象類型表格的示意圖,該對象類型表格可選地包括在上下文關(guān)聯(lián)圖表中。圖5為根據(jù)本發(fā)明的一個簡化的自動上下文關(guān)聯(lián)圖表的示意結(jié)構(gòu)圖。圖6為用于改善性能的對象和關(guān)聯(lián)的關(guān)聯(lián)高速緩沖存儲器的結(jié)構(gòu)圖。圖7為圖6的關(guān)聯(lián)高速緩沖存儲器的結(jié)構(gòu)圖,用于詳細地說明它的操作。優(yōu)選具體實施例的詳細說明該發(fā)明包括自動上下文關(guān)聯(lián)圖表或數(shù)據(jù)結(jié)構(gòu),其具有一系列保存在計算機可讀介質(zhì)中的表格。該圖表支持用戶與各種系統(tǒng)對象和其他人進行相互作用的觀測,以便建立它們之間有意義的關(guān)聯(lián),各種系統(tǒng)對象包括文件、像片、網(wǎng)頁。這種人工介入以及與其相關(guān)的數(shù)據(jù)圖表可以用于圖1和2所描述類型的自動上下文關(guān)聯(lián)系統(tǒng)中。但是,應(yīng)當(dāng)理解本發(fā)明的這些數(shù)據(jù)圖表可以另外地應(yīng)用于在用戶交互之間建立關(guān)聯(lián)的其他系統(tǒng)。圖1為一個自動上下文關(guān)聯(lián)系統(tǒng)的功能框圖,該自動上下文關(guān)聯(lián)系統(tǒng)自動確定行為、計算機對象(例如,文件、聯(lián)絡(luò)等)及其他事件之間的上下文關(guān)聯(lián)。該上下文關(guān)聯(lián)允許上下文關(guān)聯(lián)系統(tǒng)100為用戶提供有關(guān)計算機文件、聯(lián)絡(luò)和信息(一般稱為對象)的存取。如下所述,對象之間的上下文關(guān)聯(lián)可以包括它們和它們的重要性之間的相似性。對象之間的相似性的重要性可以根據(jù)用戶計算機與對象的交互來確定。人機交互可以在常規(guī)桌面或膝上型計算機上發(fā)生,或者在其他任何諸如便攜計算機、數(shù)字蜂窩式電話等等此類的用戶操作的計算裝置上發(fā)生。為了簡明,這類裝置在此一般稱為計算機。上下文關(guān)聯(lián)系統(tǒng)100可以當(dāng)做軟件來實現(xiàn),其由一個或多個這種計算機存儲和執(zhí)行。上下文關(guān)聯(lián)系統(tǒng)100包括數(shù)據(jù)收集系統(tǒng)102,該數(shù)據(jù)收集系統(tǒng)收集與用戶計算機行為、計算機行為、用戶和各種計算機對象之間的交互(例如,應(yīng)用程序、文件、通信等)以及其他事件相關(guān)的數(shù)據(jù)。例如,數(shù)據(jù)收集系統(tǒng)102可以收集與計算機系統(tǒng)事件(例如,應(yīng)用程序或其它的軟件元素的操作,關(guān)于計算機文件的各種操作,計算機數(shù)據(jù)的共享或其他對象等)、計算機通信(例如,電子郵件通信、即時信息通信等)有關(guān)的數(shù)據(jù)以及收集外部數(shù)據(jù)(例如,新聞、事件等)。在一個實施中,例如數(shù)據(jù)收集系統(tǒng)102可以包括系統(tǒng)活動監(jiān)視器104,其監(jiān)視在用戶操作的計算機(未顯示)之上的用戶行為。系統(tǒng)活動監(jiān)視器104可以作為計算機程序來實現(xiàn),其他應(yīng)用程序或操作系統(tǒng)給其提供諸如搜索查詢,打開或修改文件或其他文件等此類的用戶計算機行為的信息。例如,當(dāng)對象可以顯示出許多屬性時,由用戶執(zhí)行搜索并且搜索結(jié)果可以指示哪個性能對于用戶來說是最主要的。對于每個這樣的行為,系統(tǒng)活動監(jiān)視器104建立或添加到信息檔案中(有時稱為“元數(shù)據(jù))”,該信息檔案保存在計算機系統(tǒng)數(shù)據(jù)庫106中。例如,系統(tǒng)活動監(jiān)視器104可以包括一般的輸入行為監(jiān)視,其為用戶與計算機交互或者為至少指定的用戶與計算機的交互提供單個的入口點。在這個一般的輸入實施中系統(tǒng)活動監(jiān)視器104可以確定并存儲作為計算機系統(tǒng)數(shù)據(jù)庫106中的元數(shù)據(jù)的部分或全部輸入法數(shù)據(jù)(例如,文本、語音,鼠標(biāo)器等)、輸入語言數(shù)據(jù)(英語、漢語等)、輸入方式數(shù)據(jù)(例如,口授或鍵入的命令)、輸入輔助數(shù)據(jù)(例如,鍵入字完成、命令猜測等)、輸入反饋數(shù)據(jù)(例如,計算機是否需要附加信息,由計算機所猜測的錯誤校正),等等。例如,如果用戶復(fù)制或存儲瀏覽器中的圖片,那么系統(tǒng)活動監(jiān)視器104可以存儲來源頁的網(wǎng)絡(luò)地址(例如,統(tǒng)一資源定位標(biāo)識,URL)以及該圖像本身的URL。計算機系統(tǒng)數(shù)據(jù)庫106存儲與存儲在計算機上的文件和在計算機上執(zhí)行的行為有關(guān)的信息(例如,″元數(shù)據(jù)″)。該元數(shù)據(jù)可以包括常規(guī)信息,比如計算機產(chǎn)生的文檔是常規(guī)的,包括什么時候該文件被建立,誰建立它以及修改歷史。同時,計算機文件類型的某些類型可以具有特定的不適用于其他文件類型的元數(shù)據(jù)字段。例如,像片文件類型的元數(shù)據(jù)字段可以包括圖像的大小,從那里拍攝的圖像,誰拍的,在其中有誰等。在一個實施中,新的元數(shù)據(jù)字段可以被增加給數(shù)據(jù)庫系統(tǒng)106以便容納新文件類型或存入新的與現(xiàn)有文件類型有關(guān)的信息。表格1A列舉了示范性的信息,這些信息可以由系統(tǒng)活動監(jiān)視器104獲得并且保存在計算機系統(tǒng)數(shù)據(jù)庫106中。對于各種計算機文件和計算機信息(總稱為對象),計算機用戶可以與之交互;系統(tǒng)活動監(jiān)視器104可以收集部分或全部關(guān)于對象的建立者作者、對象類型、對象的任何指示(如果可用)、活動事件、對象大小等的數(shù)據(jù)。例如,系統(tǒng)活動監(jiān)視器104可以獲得關(guān)于與計算機用戶進行交互的對象的信息,確定該對象是否相對于計算機系統(tǒng)數(shù)據(jù)庫106(例如,基于唯一的對象標(biāo)識符)所列舉的其他對象是新的或唯一的,并且在計算機系統(tǒng)數(shù)據(jù)庫106中集合或存儲與對象的唯一對象標(biāo)識符有關(guān)的行為。表格1A-數(shù)據(jù)收集和分析與計算機用戶交互的對象可以與其他人、與其他人的通信、計算機文件、網(wǎng)絡(luò)或網(wǎng)絡(luò)項目、計算機系統(tǒng)通知和在計算機上運行或由計算機可訪問的應(yīng)用程序相關(guān)。系統(tǒng)活動監(jiān)視器104可以獲得每個列舉類型的示范信息并且將其保存在計算機系統(tǒng)數(shù)據(jù)庫106中。上下文關(guān)聯(lián)系統(tǒng)100包括關(guān)系處理系統(tǒng)108,其確定對象或由數(shù)據(jù)收集系統(tǒng)102獲得的或保存在計算機系統(tǒng)數(shù)據(jù)庫106中的元數(shù)據(jù)之間的關(guān)系。在一個示范性實施中,關(guān)系處理系統(tǒng)108包括類似或關(guān)聯(lián)系統(tǒng)110,該系統(tǒng)110確定至少一對計算機文件或?qū)ο笾g的相似度或關(guān)聯(lián)度。相似度或關(guān)聯(lián)度例如可以表示為0和1之間的數(shù)值,其中1為對象之間的等同性而0表示它們是完全獨立的。對于給定的目標(biāo)文件和收集的其他文件,關(guān)聯(lián)系統(tǒng)110可以作為一個或多個程序來實現(xiàn),該等程序返回它們之間的相似程度。應(yīng)當(dāng)理解,不同類型的文檔、文件或?qū)ο罂梢跃哂胁煌愋偷南嗨菩?。例如,兩個像片可能看上去類似可能為相同時間拍攝的;可能是相同的人、地方或事件;可能為相同的顏色;可能已經(jīng)發(fā)送給相同的人或一塊被打??;可能是相同像片的一部分(例如,從另一個像片剪下的一個)等等。表格1B列舉了關(guān)聯(lián)系統(tǒng)110可以識別和保存在計算機系統(tǒng)數(shù)據(jù)庫106中的示范性的關(guān)聯(lián)或相似性。如指出的那樣,關(guān)聯(lián)或相似性可以與具有共享內(nèi)容的對象或文件有關(guān),其發(fā)生在類似的事件或類似的計算機位置(例如,計算機、目錄等),被發(fā)送給一般人或從其接收且被鏈接在一起。表格1B-數(shù)據(jù)收集和分析在一個實施中,可以命令關(guān)聯(lián)系統(tǒng)110忽略某一類型的相似性,或命令其對一個類型的相似性的加權(quán)要更大于另一個。此外,由關(guān)聯(lián)系統(tǒng)110記錄和識別的關(guān)聯(lián)或相似性可擴展。另外,對于用戶來說,與用戶交互的對象可以是不同重要性的或不同意義的。例如,用戶持續(xù)打開和編輯的文檔可能被認為重要性要高于短時間內(nèi)打開的文檔的重要性。同樣地,被重復(fù)地訪問和打開的像片可能被認為重要性要高于只打開一次的像片。表格1C列舉了示范性的參數(shù),通過這些參數(shù),關(guān)聯(lián)系統(tǒng)110可以確定對象的相對重要性并將其存儲在計算機系統(tǒng)數(shù)據(jù)庫106中。如指出的那樣,該重要性因素可以與用戶的持續(xù)時間、交互頻率、最近的交互以及用戶答復(fù)的直接性、副本的數(shù)量、復(fù)制和備份有關(guān),并且共享外延對象。表格1C-數(shù)據(jù)收集和分析關(guān)系處理系統(tǒng)108可以進一步包括分塊(chunking)系統(tǒng)112,其針對任意大的對象或文件組使用由相似或關(guān)聯(lián)系統(tǒng)110確定的相似度或關(guān)聯(lián)度并且將它們分組或“分塊”為特定數(shù)量的子組。例如,對于給出的100個像片,分塊系統(tǒng)112可以根據(jù)一個或多個標(biāo)準(zhǔn)將它們分成任一數(shù)量的子組或塊,例如該標(biāo)準(zhǔn)諸如為像片被拍攝的日期或像片中有誰。將由分塊系統(tǒng)112使用的標(biāo)準(zhǔn)可以是由用戶預(yù)先定義或指定的,例如在一個實施中可以將相同的項置于幾個塊中(例如,Bob和Sue的圖像將置于Bob塊以及Sue塊中)。分塊系統(tǒng)112可以作為在計算機上存儲的一個或多個程序來實現(xiàn)。上下文關(guān)聯(lián)用戶接口系統(tǒng)116利用由系統(tǒng)活動監(jiān)視器104存儲在計算機系統(tǒng)數(shù)據(jù)庫106中的信息以及由相似或關(guān)聯(lián)系統(tǒng)110和分塊系統(tǒng)112確定的信息來顯示目測(visualization)118,其說明了計算機系統(tǒng)文件之間的上下文關(guān)聯(lián)、計算機信息及其他信息。在有些情況下,目測118可以以數(shù)據(jù)庫查詢120的結(jié)果為基礎(chǔ),數(shù)據(jù)過濾器122應(yīng)用于數(shù)據(jù)庫查詢120上。另外,用戶接口系統(tǒng)116可以提供應(yīng)用程序和系統(tǒng)通知1243,這將在下面詳細描述。因此,上下文關(guān)聯(lián)系統(tǒng)100適應(yīng)先天的人工記憶,其通過關(guān)聯(lián)來工作以致經(jīng)常記憶作為與其他事件相關(guān)聯(lián)地發(fā)生的事件。相反,常規(guī)計算機文件系統(tǒng)迫使用戶使用和記憶任意的脫離上下文的編檔結(jié)構(gòu)。對于與許多用戶交互的顯著數(shù)量的計算機文件和對象,常規(guī)的上下文編檔結(jié)構(gòu)可能難于或不可能使用戶找到和存取過去作用或瀏覽的計算機信息。上下文關(guān)聯(lián)系統(tǒng)100允許用戶瀏覽和分配可查找的元數(shù)據(jù),以及檢索與選擇的元數(shù)據(jù)相匹配的文檔,對象或文件。圖2為一個實現(xiàn)數(shù)據(jù)收集系統(tǒng)102的詳細結(jié)構(gòu)圖。例如,除了用于監(jiān)視用戶計算機行為的系統(tǒng)活動監(jiān)視器104之外,數(shù)據(jù)收集系統(tǒng)102還可以包括下列的部分或全部包括事件處理器202,通過該事件處理器一個或多個應(yīng)用程序204(包括其他的軟件服務(wù))發(fā)送有關(guān)應(yīng)用程序事件的元數(shù)據(jù)信息到數(shù)據(jù)收集系統(tǒng)102中并且從數(shù)據(jù)收集系統(tǒng)102接收與應(yīng)用程序事件有關(guān)的元數(shù)據(jù)信息。應(yīng)用程序204可以從計算機的基礎(chǔ)操作系統(tǒng)上分離,或者可以是由操作系統(tǒng)提供的服務(wù)或特性。數(shù)據(jù)收集儲存器206運轉(zhuǎn)以控制系統(tǒng)行為監(jiān)視器104、事件處理器202和其他任何數(shù)據(jù)收集模塊,尤其控制與系統(tǒng)行為、文件之間的拷貝和粘貼、輸入和輸出信息、打開共享文件等有關(guān)的數(shù)據(jù)收集。另外,除了特別與計算機的操作或使用相關(guān)的數(shù)據(jù),數(shù)據(jù)收集儲存器206可以促使從一個或多個獨立的計算機信息源(例如,公用服務(wù)器)獲得或接收公用數(shù)據(jù)(像天氣、新聞)。通過自動上下文關(guān)聯(lián)系統(tǒng)100而運行在計算機上的應(yīng)用程序204可以向事件處理器202登記,以便接收增強的文檔管理功能。尤其是,數(shù)據(jù)收集儲存器206支持交叉應(yīng)用程序集成,這允許收集與交叉應(yīng)用程序事件相關(guān)的數(shù)據(jù)和信息,諸如文件之間的拷貝和粘貼,其將文檔附加于電子郵件信息上,等等,藉此允許對象之間的關(guān)系被關(guān)系處理系統(tǒng)108所確定和導(dǎo)出。此外,應(yīng)用程序204可以直接與數(shù)據(jù)收集系統(tǒng)102進行交互以提供不容易對系統(tǒng)活動監(jiān)視器104有效的上下文信息。例如,如果將電子郵件附件作為單獨文件保存在磁盤上,那么電子郵件應(yīng)用程序204可以在這個文件和原始電子郵件信息之間建立鏈接(以及,通過擴展,借助信息發(fā)送者)。控制系統(tǒng)行為監(jiān)視器104和事件處理器202使得能夠以高效率以及高粒度級并且?guī)в凶钚?shù)量的處理要求的方式來收集數(shù)據(jù)。另外,在一個實施中,數(shù)據(jù)收集系統(tǒng)102可被擴充以便允許安裝將來研發(fā)的另外的數(shù)據(jù)收集器。在一個實施中,數(shù)據(jù)的收集和用途都通知給用戶。如下所述,向用戶提供一個或多個控制以便有選擇地啟動或禁止數(shù)據(jù)收集,或明確地調(diào)整對象的重要性和它們的關(guān)聯(lián)權(quán)值。在另一個實施中,可以根據(jù)如何使用的數(shù)據(jù)來自動地修改收集數(shù)據(jù)的方式。雖然數(shù)據(jù)一般在該級別的單個用戶和計算機上搜集,但是應(yīng)當(dāng)理解來自于多用戶和他們的計算機的數(shù)據(jù)可以被組合。對于這樣的共享數(shù)據(jù)實施,系統(tǒng)100將提供數(shù)據(jù)的唯一標(biāo)識符、對象和對話、通信的發(fā)往(to)和來自(from)字段的一致處理、共享對話中的整個計算機的事件標(biāo)識符的復(fù)制、保密,等等。圖3為根據(jù)本發(fā)明的一個自動上下文關(guān)聯(lián)圖表或數(shù)據(jù)結(jié)構(gòu)300的示意結(jié)構(gòu)圖。術(shù)語“圖表”通常涉及元數(shù)據(jù),該元數(shù)據(jù)是描述其他數(shù)據(jù)的數(shù)據(jù)。圖表通常定義其他數(shù)據(jù)的各個部分和方面,在這種情況下,定義相對于所獲得的和自動上下文關(guān)聯(lián)相關(guān)的數(shù)據(jù)的各個部分和方面。自動上下文關(guān)聯(lián)圖表300具有一系列保存在計算機可讀介質(zhì)中的關(guān)聯(lián)表302和對象表304,并且包括與各種計算機系統(tǒng)對象(包括文件、像片、網(wǎng)頁)進行交互和與他人交互的用戶信息,以便建立其間有意義的的關(guān)聯(lián)。這樣的信息可以由圖1和2的自動上下文關(guān)聯(lián)系統(tǒng)100獲得,或者例如通過操作另一個關(guān)聯(lián)系統(tǒng)來獲得。關(guān)聯(lián)表302有時被稱為Assocs表格300,其具有支持不同類型的對象鏈接的獨立類型條目。從而,關(guān)聯(lián)表302包括唯一的關(guān)聯(lián)標(biāo)識符(id)字段310,該字段識別一對對象(例如,文檔、人、網(wǎng)站等)之間的關(guān)聯(lián)或關(guān)系。通過保存在對象表304的標(biāo)識符字段308(id)中的唯一標(biāo)識符將每個對象表示在對象表304中。關(guān)聯(lián)表302中的每行將兩個對象(obj1和obj2)與第三對象objA(稱為關(guān)聯(lián)對象)相關(guān)聯(lián)。被關(guān)聯(lián)的對象obj1和obj2以及關(guān)聯(lián)對象objA分別通過字段312、314和316標(biāo)明在關(guān)聯(lián)表302中。關(guān)聯(lián)表302的obj1字段312、obj2字段314和objA字段316的條目值為各自保存在數(shù)據(jù)字段318中的對象的唯一標(biāo)識符,并且使用對象表304中的id字段來識別。關(guān)聯(lián)表302的字段ctime330和Itime332分別是由關(guān)聯(lián)表302的行中的關(guān)聯(lián)id310所表示的關(guān)聯(lián)的建立時間和上次使用時問。同樣地,對象表304的字段ctime334和Itime336分別為由對象表304的行中的對象id308所表示的對象的建立時間和上次使用時間。例如,這些ctime和Itime值可以主要用于對象和與持續(xù)時間和時間衰減有關(guān)的關(guān)聯(lián)的估計上。表示在obj1字段312和obj2字段314中的被關(guān)聯(lián)的對象(obj1、obj2)可以是任意類型,但是對于特定的唯一標(biāo)識符(ID),每個實例必須相對于對象表304中的條目而存在。如果刪除了對象,那么同樣將刪除這個對象的全部關(guān)聯(lián),諸如通過刪除(del)字段340中的指示,字段340標(biāo)記隨后無用單元收集的關(guān)聯(lián)。數(shù)值字段342標(biāo)記為對象之間的關(guān)聯(lián)度或關(guān)聯(lián)強度的數(shù)值。尤其是,關(guān)聯(lián)表302的全部條目被刪除,其中對象IDobj1和obj2相當(dāng)于已刪除對象的ID。如果objA字段316中指示的關(guān)聯(lián)對象標(biāo)識符涉及已刪除對象,那么不刪除關(guān)聯(lián),但是objA字段316的標(biāo)識符數(shù)值改為相同類型的靜態(tài)空對象的預(yù)定義標(biāo)識符(ID)。在一個實施中,存在每個對象類型的空對象的實例??諏ο蟮臉?biāo)識符相當(dāng)于對象類型表400(圖4)的對象類型的標(biāo)識符。圖4是對象類型表400的示意圖,該表可選地包括在上下文關(guān)聯(lián)圖表300中。對象類型表400被引用在類型字段324的對象表304中,并且描述對象類型。對象表304中的類型字段324和對象類型表400是任選的元件,通過高速度捕獲關(guān)于選定對象的交互或事件,該元件可以提高上下文關(guān)聯(lián)功能的性能。通過標(biāo)識符字段識別的對象類型是402并且該對象類型具有名稱字段404(name)、描述字段406(descr)和三個數(shù)據(jù)表名稱。raw_evt_table字段410指定原始事件表的名稱,該原始事件表為這類對象存儲全部的原始事件。原始事件是已收集的事件,其不引用對象表304中的任何現(xiàn)有對象。原始事件表被看作是一個用于捕獲原始事件并從中導(dǎo)出對象事件和對象實例的臨時表。如從原始事件表導(dǎo)出的那樣,evt_table字段412引用包括引用這類現(xiàn)有對象的條目的事件表。典型地,在事件表中的對象事件描述用戶與對象的交互,例如對象的建立、打開、存儲、打印、刪除等。evt_table中的事件可用于為用戶減除對象的重要性。如從原始事件表導(dǎo)出的那樣,obj_table字段414指定包括指定類型的對象的對象表的名稱??梢园ㄔ趯ο箢愋捅?06中的對象類型的實例在表2中指出。表2-對象類型表例如,文件對象類型表示文件對象并且包括涉及用戶與文件對象的交互的事件的事件表,諸如文檔文件、圖形文件、電子數(shù)據(jù)表文件等等。電子郵件對象類型表示電子郵件對象并且包括涉及用戶與電子郵件對象的交互事件的事件表,諸如電子郵件信息、電子郵件聯(lián)絡(luò)等等。應(yīng)用程序?qū)ο箢愋捅硎居嬎銠C應(yīng)用對象并且包括涉及用戶與計算機應(yīng)用對象的交互事件的事件表,諸如字處理應(yīng)用、電子表格應(yīng)用、瀏覽器應(yīng)用等等。網(wǎng)頁對象類型表示網(wǎng)頁對象并且包括涉及用戶與網(wǎng)頁對象的交互事件的事件表,例如即在萬維網(wǎng)上訪問的網(wǎng)頁或網(wǎng)站。文件夾對象類型表示文件夾對象并且包括涉及用戶與文件夾對象交互事件的事件表,諸如操作系統(tǒng)的文件管理文件夾。每個類型的對象表(如果指定)包括具體到對象類型的欄。例如,與文件夾相比較,電子郵件信息將具有不同的數(shù)據(jù)欄。每個類型的對象表具有對象標(biāo)識符欄,其引用對象表304中的現(xiàn)有對象。就圖3而言,如果關(guān)聯(lián)表302中的關(guān)聯(lián)對象316,即objA的標(biāo)識符表示“靜態(tài)”的預(yù)先確定的對象而不是動態(tài)建立的對象,那么其有時被認為是關(guān)聯(lián)類型。在一個實施中,預(yù)定義的關(guān)聯(lián)組包括列舉在關(guān)聯(lián)信息表(表3)中的關(guān)聯(lián)類型,其中關(guān)聯(lián)信息表中的關(guān)聯(lián)標(biāo)識符(associd)對應(yīng)于關(guān)聯(lián)表302的關(guān)聯(lián)對象316(objA)和對象表304的對象id字段308。列表3-關(guān)聯(lián)信息表關(guān)聯(lián)信息表(表3)說明可以被歸入上下文關(guān)聯(lián)圖表300中的示范性關(guān)聯(lián)。例如,關(guān)聯(lián)Messagefrom、Messageto、Messagecc和Conversation表示和電子郵件信息或?qū)υ捰嘘P(guān)的計算機通信關(guān)系。關(guān)聯(lián)Move、Copy和Copy/Paste表示對象間的編輯關(guān)系。在表3中描述了其他各種獨立的關(guān)聯(lián)。當(dāng)建立了新類型的關(guān)聯(lián)時(與對象之間的關(guān)聯(lián)實例相對),關(guān)聯(lián)信息表(表3)中的條目與對象表304中的關(guān)聯(lián)對象的實例相加。由于增加了關(guān)聯(lián)對象,對象表304中的對象標(biāo)識符308是關(guān)聯(lián)信息表(表3)的″保留″位置上的標(biāo)識符的一個(例如,associd2022-2099、表3)。在用于2000到2099的對象標(biāo)識符的對象表304的類型字段324中的條目是類型“1”,其在對象類型表(表2)中對應(yīng)類型“Association”的對象。圖5是根據(jù)本發(fā)明的一個簡化的自動上下文關(guān)聯(lián)圖表500的示意方框圖。自動上下文關(guān)聯(lián)圖表500具有一系列保存在計算機可讀介質(zhì)中的關(guān)聯(lián)表502和對象表504,并且包括關(guān)于用戶與各種計算機系統(tǒng)對象交互的信息以便在其間建立有意義的關(guān)聯(lián),計算機系統(tǒng)對象包括文檔、像片、網(wǎng)頁和與他人的交互。相對于上下文關(guān)聯(lián)圖表300來簡化上下文關(guān)聯(lián)圖表500,在這一點上,根據(jù)本發(fā)明上下文關(guān)聯(lián)圖表500包括一個基本組的信息字段,以提供可操作的上下文關(guān)聯(lián)圖表。關(guān)聯(lián)表502包括被關(guān)聯(lián)對象obj1和obj2的字段510和512以及關(guān)聯(lián)對象objA的字段514。對象表504包括標(biāo)識符(id)字段520和數(shù)據(jù)字段522。字段510、512、514、520對應(yīng)于上下文關(guān)聯(lián)圖表300中具有相同名稱的字段,并且以與其相同的方式操作。圖6是對象的關(guān)聯(lián)高速緩沖存儲器600和用于改善或優(yōu)化上下文關(guān)聯(lián)系統(tǒng)的關(guān)聯(lián)的方框圖。對象指針的哈希表602提供恒定的時間來訪問對象表606中的任意數(shù)量的對象604(例如,Obj1、Obj2、...、ObjN)。使用哈希值來填充哈希表602,該哈希值根據(jù)對象來計算并且指向?qū)ο蟊?6中的對象604(例如,Obj1、Obj2、...、ObjN)。例如,哈希值可以根據(jù)目標(biāo)標(biāo)識符(id)計算,該目標(biāo)標(biāo)識符諸如為對象表304的對象標(biāo)識符字段308所容納的那些對象標(biāo)識符。對象表606中的每個對象都指向?qū)?yīng)的關(guān)聯(lián)表608。從而,對象604(Obj1、Obj2、...、ObjN)指向各自的關(guān)聯(lián)表606-1、606-2、...、606-N。關(guān)聯(lián)表608的收集表示對象之間關(guān)聯(lián)的稀疏矩陣。請參考對其的詳細說明,例如關(guān)聯(lián)表608-N包括哈希表610-N,該哈希表被指向關(guān)聯(lián)表608-N中的關(guān)聯(lián)的哈希值填充。根據(jù)關(guān)聯(lián)類型612對關(guān)聯(lián)進行排序。例如,未指定的關(guān)聯(lián)類型612-N應(yīng)關(guān)聯(lián)于關(guān)聯(lián)614-(3)1、614-(3)2、...614-(3)M。根據(jù)它的細節(jié)表示,關(guān)聯(lián)614-(3)M指定對象ObjN和對象ObjM之間的關(guān)聯(lián)。關(guān)聯(lián)614-(3)M包括指向?qū)ο髈bjM622的指針620、關(guān)聯(lián)的時間標(biāo)記624和表示關(guān)聯(lián)強度的關(guān)聯(lián)測量626。圖7是詳細說明關(guān)聯(lián)高速緩沖器600的操作的關(guān)聯(lián)高速緩沖存儲器600的方框圖。如圖6所描述的那樣,使用哈希值來填充哈希表602,該哈希值指向?qū)ο?04-1、604-2、...、604-N。哈希表602指向的對象604可以包括與事件表的事件Event1Event2、EventN相關(guān)的對象。事件表702中的事件可以包括時間標(biāo)記和對象引用或標(biāo)識符,并且如上所述其可以通過原始事件表。根據(jù)它的細節(jié)表示,對象604-N包括名稱或標(biāo)識符710和指向二進制數(shù)據(jù)哈希表714的對象類型712。同樣地,對象604-N包括通過關(guān)聯(lián)類型718排序的關(guān)聯(lián),并且其被鏈接至指向諸如關(guān)聯(lián)720-2此類關(guān)聯(lián)的關(guān)聯(lián)哈希表610-N。參數(shù)表722列舉了用于排列關(guān)聯(lián)和估計對象N的“重要性”的參數(shù)值。例如,用戶使用對象N的頻率可以用于強化與更重要的對象關(guān)聯(lián)的關(guān)聯(lián)值。該類型的這些參數(shù)及它們的值可以依賴于選擇排列算法。關(guān)聯(lián)720-K包括對象標(biāo)識符730和732,他們指示關(guān)聯(lián)對象并且指向?qū)ο蠊1?02中的相應(yīng)條目。鏈條734中的下一塊將立即存取給予下一結(jié)構(gòu)604-N并且用于關(guān)聯(lián)的列舉。下一個1、下一個2塊736和738分別指向?qū)ο?和對象2的″下一個″關(guān)聯(lián)720。參數(shù)表740列舉了用于排列關(guān)聯(lián)和估計它們的“重要性”。根據(jù)計算機編程領(lǐng)域的技術(shù)人員的實踐,根據(jù)各種計算機系統(tǒng)和裝置執(zhí)行的行為和操作的符號表示來說明了本發(fā)明。這種行為和操作有時被認為是被計算機執(zhí)行的,并且視情況與操作系統(tǒng)或應(yīng)用程序相關(guān)聯(lián)。應(yīng)當(dāng)理解的是行為和符號表示的操作包括通過表示數(shù)據(jù)位的電信號的CPU的處理(其導(dǎo)致了結(jié)果轉(zhuǎn)換或減少了電信號說明)和存儲系統(tǒng)中的存儲單元處的數(shù)據(jù)位的保持(藉此重新配置或相反改變計算機系統(tǒng)操作)以及其他信號的處理。保持?jǐn)?shù)據(jù)位的存儲單元是具有對應(yīng)數(shù)據(jù)位的特定電的、磁的或光學(xué)性質(zhì)的實際位置。雖然已參考示例性的具體實施例來描述和說明了本發(fā)明的原理,但是應(yīng)該認識到在不脫離這個原理的情況下可以在布置和細節(jié)上修改示例性的具體實施例??紤]到許多可以應(yīng)用本發(fā)明原理的可能的具體實施例,應(yīng)該認識到詳述的具體實施例僅僅是說明性的,而并不是用于限制本發(fā)明的范圍。相反,作為本發(fā)明所有這些具體實施例的要求同樣可以落在隨后的權(quán)利要求和其它等效物的范圍和精神之中。權(quán)利要求1.在計算機可讀介質(zhì)中的用于構(gòu)成根據(jù)人機交互而彼此關(guān)聯(lián)的第一和第二軟件對象之間的上下文關(guān)聯(lián)的上下文關(guān)聯(lián)軟件中,一種上下文關(guān)聯(lián)圖表,包括分別用于第一和第二對象的第一和第二對象表,每個對象表包括唯一地識別對應(yīng)對象的對象標(biāo)識符字段和存儲那個對象的數(shù)據(jù)的數(shù)據(jù)字段;以及關(guān)聯(lián)表,包括用于第一和第二對象的對象標(biāo)識符和引用多個關(guān)聯(lián)關(guān)系之一的關(guān)聯(lián)對象。2.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括一個或多個計算機通信關(guān)系,其與作為計算機通信元件的第一和第二對象有關(guān)。3.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括一個或多個編輯關(guān)系,其與作為計算機上的編輯操作的元件的第一和第二對象有關(guān)。4.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一包含另一個的容器關(guān)系。5.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一為另一個的屬性的屬性關(guān)系。6.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一起源于另一個的導(dǎo)出關(guān)系。7.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象為彼此搭配的協(xié)同定位(co-location)關(guān)系。8.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一為另一個的應(yīng)用的應(yīng)用關(guān)系。9.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一為另一個的類型說明的類型關(guān)系。10.根據(jù)權(quán)利要求1所述的圖表,進一步包括在每個對象表中,包括將對應(yīng)的對象指定為多個對象類型的類型字段。11.根據(jù)權(quán)利要求10所述的圖表,其中多個對象類型包括表示一個人的人對象類型。12.根據(jù)權(quán)利要求10所述的圖表,其中多個對象類型包括表示文件的文件對象類型。13.根據(jù)權(quán)利要求10所述的圖表,其中多個對象類型包括表示電子郵件的電子郵件對象類型。14.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)表包括指出何時在第一和第二對象之間建立關(guān)聯(lián)的時間字段。15.根據(jù)權(quán)利要求1所述的圖表,其中多個關(guān)聯(lián)表包括指出何時最后訪問第一和第二對象之間的關(guān)聯(lián)的最近訪問時間字段。16.在計算機可讀介質(zhì)中的用于構(gòu)成根據(jù)人機交互而彼此關(guān)聯(lián)的第一和第二軟件對象之間的上下文關(guān)聯(lián)的上下文關(guān)聯(lián)軟件中,人機交互一種上下文關(guān)聯(lián)圖表,包括分別用于第一和第二對象的第一和第二對象表,每個對象表包括唯一地識別對應(yīng)對象的對象標(biāo)識符字段、存儲那個對象的數(shù)據(jù)的數(shù)據(jù)字段、以及指定那個對象為多個對象類型之一的類型字段;關(guān)聯(lián)表,包括用于第一和第二對象的對象標(biāo)識符和引用多個關(guān)聯(lián)關(guān)系之一的關(guān)聯(lián)對象;和對象類型表,為一個或多個對象類型引用事件表以便于為一個或多個對象類型的對象而捕獲和關(guān)聯(lián)事件。17.根據(jù)權(quán)利要求16所述的圖表,其中對象類型表包括原始事件表,對于每個已選擇的對象類型,與對象類型有關(guān)的事件將在確定對象關(guān)聯(lián)之前被存入原始事件表中。18.根據(jù)權(quán)利要求17所述的圖表,其中對象類型表包括包含有事件表的每個已選擇的對象類型,其中該事件表包括引用對象類型的現(xiàn)有對象并且從原始事件表中所導(dǎo)出的條目。19.根據(jù)權(quán)利要求17所述的圖表,其中對象類型表包括包含有對象表的每個已選擇的對象類型,其中該對象表包括含引用對象類型的對象并且從原始事件表中所導(dǎo)出的條目。20.根據(jù)權(quán)利要求17所述的圖表,其中已選擇的對象類型包括表示文件對象并包括用于涉及用戶與文件對象交互的事件的事件表的文件對象類型。21.根據(jù)權(quán)利要求所述的圖表,其中已選擇的對象類型包括表示電子郵件對象并包括用于涉及用戶與電子郵件對象交互的事件的事件表的電子郵件對象類型。22.權(quán)利要求17所述的圖表,其中已選擇的對象類型包括表示計算機應(yīng)用對象并包括用于涉及用戶與計算機應(yīng)用對象交互的事件的事件表的應(yīng)用對象類型23.根據(jù)權(quán)利要求17所述的圖表,其中已選擇的對象類型包括表示網(wǎng)頁對象并包括用于涉及用戶與網(wǎng)頁對象交互的事件的事件表的網(wǎng)頁對象類型。24.根據(jù)權(quán)利要求17所述的圖表,其中已選擇的對象類型包括表示文件夾對象并包括用于涉及用戶與文件夾交互的事件的事件表的文件夾對象類型。25.根據(jù)權(quán)利要求16所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括一個或多個計算機通信關(guān)系,其與作為計算機通信元件的第一和第二對象有關(guān)。26.根據(jù)權(quán)利要求16所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括一個或多個編輯關(guān)系,其與作為計算機上的編輯操作的元件的第一和第二對象有關(guān)。27.據(jù)權(quán)利要求16所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一包含另一個的容器關(guān)系。28.據(jù)權(quán)利要求16所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一為另一個的屬性的屬性關(guān)系。29.據(jù)權(quán)利要求16所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一起源于另一個的導(dǎo)出關(guān)系。30.根據(jù)權(quán)利要求16所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象為彼此搭配的協(xié)同定位(co-location)關(guān)系。31.根據(jù)權(quán)利要求16所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一為另一個的應(yīng)用的應(yīng)用關(guān)系。32.根據(jù)權(quán)利要求16所述的圖表,其中多個關(guān)聯(lián)關(guān)系包括指出第一和第二對象之一為另一個的類型說明的類型關(guān)系。全文摘要一種自動上下文關(guān)聯(lián)系統(tǒng)包括用于表示對象之間的上下文關(guān)聯(lián)的上下文關(guān)聯(lián)圖表。該圖表包括一系列表,包括與獨立條目類型關(guān)聯(lián)以支持不同類型的對象的關(guān)聯(lián)的關(guān)聯(lián)表,和定義各種對象的對象表。該圖表支持用戶與各種系統(tǒng)對象交互的觀測以便找到并利用它們之間的有意義的關(guān)聯(lián),該系統(tǒng)對象包括文檔、像片、網(wǎng)頁以及與其他人的交互。文檔編號G06F9/00GK1609853SQ200410063988公開日2005年4月27日申請日期2004年6月14日優(yōu)先權(quán)日2003年6月13日發(fā)明者A·托斯基,C·馬克建申請人:微軟公司