分案申請(qǐng)說(shuō)明
本申請(qǐng)是申請(qǐng)日為2013年11月29日、申請(qǐng)?zhí)枮?01310632395.2、名稱為“通過(guò)基于即時(shí)消息接發(fā)的主題索引的可搜索對(duì)等系統(tǒng)”的中國(guó)發(fā)明專利申請(qǐng)的分案申請(qǐng)。
本發(fā)明總體上涉及即時(shí)消息接發(fā)領(lǐng)域,并且更具體地涉及訪問(wèn)來(lái)自存儲(chǔ)的對(duì)話的信息。
背景技術(shù):
即時(shí)消息接發(fā)(im)是一種在計(jì)算設(shè)備之間通信并且傳送信息的方式。特別地,在公司設(shè)置中,即時(shí)消息接發(fā)已經(jīng)變得廣泛用來(lái)以及時(shí)方式經(jīng)由電子消息通信。在典型的im對(duì)話結(jié)束時(shí),可以在位于im對(duì)話中的參與者的計(jì)算機(jī)上的文件系統(tǒng)中存儲(chǔ)對(duì)話的轉(zhuǎn)寫(xiě)文本。這一信息不容易被其他計(jì)算設(shè)備的用戶發(fā)現(xiàn)和可訪問(wèn)。
用于取回這樣的信息的常規(guī)方法的示例包括搜尋與存儲(chǔ)于中央服務(wù)器上的im對(duì)話對(duì)應(yīng)的關(guān)鍵字或者主題。類似地,在對(duì)等設(shè)置中,一個(gè)計(jì)算機(jī)可以使用關(guān)鍵字、搜索項(xiàng)等向另一計(jì)算機(jī)直接查詢匹配的im對(duì)話。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例公開(kāi)一種用于基于主題索引搜索在用戶的本地文件系統(tǒng)中存儲(chǔ)的即時(shí)消息對(duì)話歷史的方法、計(jì)算機(jī)程序產(chǎn)品和計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)在第一計(jì)算機(jī)上接收用于對(duì)主題定位的請(qǐng)求。計(jì)算機(jī)確定用于查詢主題的第二計(jì)算機(jī)。計(jì)算機(jī)向第二計(jì)算機(jī)查詢主題。計(jì)算機(jī)接收與主題對(duì)應(yīng)的即時(shí)消息接發(fā)對(duì)話的參與者的標(biāo)識(shí)信息。計(jì)算機(jī)在第一計(jì)算機(jī)上存儲(chǔ)參與者的標(biāo)識(shí)信息并且按照主題對(duì)存儲(chǔ)的標(biāo)識(shí)信息編索引。
附圖說(shuō)明
圖1是圖示根據(jù)本發(fā)明的一個(gè)實(shí)施例的分布式數(shù)據(jù)處理環(huán)境的功能框圖。
圖2是描繪根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于在數(shù)據(jù)處理環(huán)境內(nèi)的計(jì)算機(jī)設(shè)備上對(duì)即時(shí)消息對(duì)話進(jìn)行存儲(chǔ)和編索引的操作步驟的流程圖。
圖3是描繪根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于即時(shí)消息索引程序在數(shù)據(jù)處理環(huán)境內(nèi)的計(jì)算機(jī)設(shè)備上在索引網(wǎng)絡(luò)之中對(duì)主題定位的操作步驟的流程圖。
圖4描繪根據(jù)本發(fā)明的一個(gè)實(shí)施例的執(zhí)行即時(shí)消息接發(fā)索引程序的計(jì)算機(jī)設(shè)備的部件的框圖。
具體實(shí)施方式
所屬技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(cd-rom)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無(wú)線、有線、光纜、rf等等,或者上述的任意合適的組合。
可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言—諸如java、smalltalk、c++等,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言—諸如“c”語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(articleofmanufacture)。
也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備上,使得在計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)或其他可編程裝置上執(zhí)行的指令提供實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的過(guò)程。
現(xiàn)在將參照附圖具體描述本發(fā)明。圖1是圖示根據(jù)本發(fā)明的一個(gè)實(shí)施例的被表示為100的分布式數(shù)據(jù)處理環(huán)境的功能框圖。
在本發(fā)明的這一實(shí)施例中,分布式數(shù)據(jù)處理環(huán)境100包括通過(guò)網(wǎng)絡(luò)101互連的多個(gè)計(jì)算機(jī)設(shè)備。網(wǎng)絡(luò)101可以是將支持在計(jì)算設(shè)備(比如計(jì)算機(jī)設(shè)備102a、102b、102c和102d)之間的通信的資源的任何匯集,這些資源包括計(jì)算機(jī)、部件、連接和協(xié)議。此外,每個(gè)計(jì)算機(jī)設(shè)備具有與至少一個(gè)其他計(jì)算機(jī)設(shè)備的社交網(wǎng)絡(luò)連接或者關(guān)系。例如,計(jì)算機(jī)設(shè)備102a的用戶可以屬于與計(jì)算機(jī)設(shè)備102b的用戶相同的社交網(wǎng)絡(luò)。在本申請(qǐng)中,屬于相同社交網(wǎng)絡(luò)包括是即時(shí)消息接發(fā)程序中的聯(lián)系人。如描繪的那樣,計(jì)算機(jī)設(shè)備102a具有由連接104代表的與計(jì)算機(jī)設(shè)備102b的社交網(wǎng)絡(luò)連接或者關(guān)系。因此,計(jì)算機(jī)設(shè)備102a的用戶可以讓計(jì)算機(jī)設(shè)備102b的用戶被列舉為im聯(lián)系人,并且計(jì)算機(jī)設(shè)備102b的用戶類似地可以讓計(jì)算機(jī)設(shè)備102a的用戶被列舉為im聯(lián)系人。計(jì)算機(jī)設(shè)備102b具有與計(jì)算機(jī)設(shè)備102c的社交網(wǎng)絡(luò)連接(連接106),并且計(jì)算機(jī)設(shè)備102c具有與計(jì)算機(jī)設(shè)備102d的社交網(wǎng)絡(luò)連接(連接108)。計(jì)算機(jī)設(shè)備102a、102b、102c和102d中的每個(gè)計(jì)算機(jī)設(shè)備可以例如在經(jīng)由即時(shí)消息接發(fā)程序通信時(shí)通過(guò)網(wǎng)絡(luò)101在對(duì)等(p2p)環(huán)境中相互通信。計(jì)算機(jī)設(shè)備102a、102b、102c和102d中的每個(gè)計(jì)算機(jī)設(shè)備可以是膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、筆記本計(jì)算機(jī)、個(gè)人計(jì)算機(jī)(pc)、臺(tái)式計(jì)算機(jī)、個(gè)人數(shù)字助理、智能電話或者能夠參與即時(shí)消息接發(fā)的任何可編程電子設(shè)備。
im索引程序110是用于在p2p設(shè)置中搜索基于主題的im對(duì)話索引的計(jì)算機(jī)程序,在該p2p設(shè)置中,用戶可以搜尋主題而不知道主題存儲(chǔ)于何處以及參與者是誰(shuí)。im索引程序110的單獨(dú)實(shí)例存在于計(jì)算機(jī)設(shè)備102a、102b、102c和102d中的每個(gè)計(jì)算機(jī)設(shè)備上并且被分別表示為im索引程序110a、110b、110c和110d。im索引程序110a、110b、110c和110d分別包括用戶界面112a、112b、112c和112d。用戶界面112從用戶接收輸入(例如,鍵入的消息、選擇的選項(xiàng)等)并且向用戶顯示接收的消息。im索引程序110a、110b、110c和110d也分別包括索引114a、114b、114c和114d。索引114存儲(chǔ)在兩個(gè)或者更多參與者之間保持的im對(duì)話的主題。索引114可由它駐留于的計(jì)算機(jī)設(shè)備和通過(guò)網(wǎng)絡(luò)與它駐留于的計(jì)算機(jī)設(shè)備社交地連接的計(jì)算機(jī)設(shè)備訪問(wèn)。例如,在計(jì)算機(jī)設(shè)備102a上的索引114a可由計(jì)算機(jī)設(shè)備102b訪問(wèn),但是并不直接可由計(jì)算機(jī)設(shè)備102c和102d訪問(wèn)。每個(gè)索引114包括與im對(duì)話對(duì)應(yīng)的主題列表。im索引程序110的用戶可以建立安全設(shè)置以僅允許滿足指定的標(biāo)準(zhǔn)的計(jì)算機(jī)設(shè)備訪問(wèn)索引114。
圖2是描繪根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的、用于對(duì)im對(duì)話存儲(chǔ)和編索引的操作步驟的流程圖。
在示例中,im對(duì)話出現(xiàn)于計(jì)算機(jī)設(shè)備102a與計(jì)算機(jī)設(shè)備102b之間并且對(duì)應(yīng)于單個(gè)主題。im對(duì)話的轉(zhuǎn)寫(xiě)文本可以被每個(gè)參與計(jì)算機(jī)設(shè)備與討論的主題關(guān)聯(lián)地存儲(chǔ),從而隨后允許轉(zhuǎn)寫(xiě)文本由尋找關(guān)于主題的信息的某人取回。
在im對(duì)話出現(xiàn)時(shí),im索引程序110(例如,在以上示例中的im索引程序110a和110b)確定im對(duì)話何時(shí)結(jié)束(步驟202)。響應(yīng)于確定即時(shí)消息接發(fā)對(duì)話已經(jīng)結(jié)束,im索引程序110確定im對(duì)話的至少一個(gè)主題(步驟204)。
在一個(gè)實(shí)施例中,im對(duì)話的參與者可以手動(dòng)指定對(duì)話的或者由對(duì)話覆蓋的主題。例如,在im對(duì)話結(jié)束之后,im索引程序110可以經(jīng)由用戶界面112提示用戶錄入主題。
在另一實(shí)施例中,確定主題由im索引程序110自動(dòng)完成。例如,im索引程序110可以具有預(yù)定主題列表并且通過(guò)標(biāo)識(shí)在im對(duì)話中使用的一個(gè)或者多個(gè)關(guān)鍵字來(lái)匹配主題中的至少一個(gè)主題與im對(duì)話。在又一實(shí)施例中,在im對(duì)話中最頻繁使用的詞(排除常用冠詞,比如“該”、“一個(gè)”等)可以被確定為im對(duì)話的主題。
im索引程序110確定im對(duì)話的參與者(步驟206)。例如,除了im索引程序110在其上操作的計(jì)算機(jī)設(shè)備之外,至少一個(gè)其他計(jì)算機(jī)設(shè)備參與對(duì)話。im索引程序110可以不僅確定其他參與者的用戶名,并且還確定用于參與者從其連接的每個(gè)設(shè)備的對(duì)應(yīng)ip地址,并且潛在地確定其他聯(lián)系人信息(電子郵件、電話等)。im索引程序110保存im對(duì)話(步驟208)。更具體而言,im索引程序110保存im對(duì)話的撰寫(xiě)文本和對(duì)話的標(biāo)識(shí)的參與者。im索引程序110按照確定的主題對(duì)保存的im對(duì)話編索引(步驟210)。因此,在以上示例中,計(jì)算機(jī)設(shè)備102a和102b中的每個(gè)計(jì)算機(jī)設(shè)備將最終具有按照主題編索引的im對(duì)話的撰寫(xiě)文本,并且每個(gè)設(shè)備將引用本身和其他設(shè)備(或者它本身的用戶和其他設(shè)備的用戶)作為im對(duì)話中的參與者。
圖3是描繪根據(jù)本發(fā)明的一個(gè)實(shí)施例的通過(guò)使用im索引程序110來(lái)獲得相關(guān)信息的操作步驟的流程圖。例如,計(jì)算機(jī)設(shè)備(比如計(jì)算機(jī)設(shè)備102c)的用戶可能想要從另一計(jì)算機(jī)設(shè)備發(fā)現(xiàn)與指定的主題有關(guān)的對(duì)話,比如在計(jì)算機(jī)設(shè)備102a和102b上保存的對(duì)話。
在搜索場(chǎng)景中,im索引程序110從用戶接收指定待搜索的主題的請(qǐng)求(步驟302)。例如,用戶可以通過(guò)用戶界面112錄入主題。im索引程序110初始化在與主控im索引程序110的計(jì)算機(jī)設(shè)備具有社交網(wǎng)絡(luò)連接或者關(guān)系的計(jì)算機(jī)設(shè)備的im對(duì)話索引之中搜尋主題(步驟304)。例如,在其中用戶請(qǐng)求計(jì)算機(jī)設(shè)備102c搜尋具體主題的示例中,im索引程序110c搜索計(jì)算機(jī)設(shè)備102b和102d的索引,因?yàn)檫@兩個(gè)設(shè)備具有與計(jì)算機(jī)設(shè)備102c的社交網(wǎng)絡(luò)連接。在一個(gè)優(yōu)選實(shí)施例中,社交網(wǎng)絡(luò)連接是計(jì)算機(jī)設(shè)備102b和102c中的每個(gè)計(jì)算機(jī)設(shè)備的用戶在計(jì)算機(jī)設(shè)備102c上的即時(shí)消息接發(fā)程序的聯(lián)系人列表中。
因此,在初始化搜索之后,im索引程序110查詢與主控im索引程序110的計(jì)算機(jī)設(shè)備具有社交網(wǎng)絡(luò)連接的計(jì)算機(jī)設(shè)備(步驟306)。im索引程序110確定查詢的計(jì)算機(jī)設(shè)備的索引是否包含主題。在從查詢的計(jì)算機(jī)設(shè)備接收在查詢的計(jì)算機(jī)設(shè)備上的索引包含搜索的主題這樣的通知時(shí),im索引程序110接收與搜索的主題對(duì)應(yīng)的對(duì)話的參與者(步驟308)。在一個(gè)實(shí)施例中,im索引程序110可以在標(biāo)識(shí)主題之后發(fā)送對(duì)于參與者的單獨(dú)查詢。在另一實(shí)施例中,參與者可以由在查詢的計(jì)算機(jī)設(shè)備上駐留的im索引程序110的實(shí)例自動(dòng)發(fā)送。在任一情況下,接收參與者列表有助于執(zhí)行查詢的用戶聯(lián)系有關(guān)對(duì)話的參與者,因?yàn)閰⑴c者可以借助他們參與所述對(duì)話來(lái)具有主題的特殊知識(shí)。在一個(gè)示例中,如果用戶輸入用于在計(jì)算機(jī)設(shè)備102c上搜尋的主題,則計(jì)算機(jī)設(shè)備102c可以查詢社交地連接的計(jì)算機(jī)設(shè)備102b。計(jì)算機(jī)設(shè)備102b可以具有在計(jì)算機(jī)設(shè)備102b與計(jì)算機(jī)設(shè)備102a之間出現(xiàn)的按照搜尋的主題編索引的im對(duì)話。計(jì)算機(jī)設(shè)備102c將從計(jì)算機(jī)設(shè)備102b接收參與者(例如,用戶名和/或ip地址以及其他潛在標(biāo)識(shí)信息或者聯(lián)系人信息)。計(jì)算機(jī)設(shè)備102c的用戶可以使用這一信息以直接聯(lián)系參與者。在一個(gè)實(shí)施例中,用戶也可以請(qǐng)求im對(duì)話的轉(zhuǎn)寫(xiě)文本以了解對(duì)話的實(shí)際細(xì)節(jié)和/或確認(rèn)im對(duì)話確實(shí)與被搜尋的主題有關(guān)。
如果im索引程序110在查詢的計(jì)算機(jī)設(shè)備的索引中未發(fā)現(xiàn)主題,則im索引程序110可以基于主控計(jì)算機(jī)設(shè)備的聯(lián)系人列表確定待查詢的另一計(jì)算機(jī)設(shè)備。
一旦im索引程序110接收或者標(biāo)識(shí)與搜索的主題對(duì)應(yīng)的對(duì)話的參與者,im索引程序110就存儲(chǔ)指示im對(duì)話在標(biāo)識(shí)的參與者之間發(fā)生的信息并且按照主題對(duì)這一信息編索引(步驟310)。這一種對(duì)im對(duì)話在參與者之間發(fā)生(其中存儲(chǔ)這一信息的計(jì)算機(jī)設(shè)備不是參與者)存儲(chǔ)或者編索引的能力擴(kuò)展連接到這一計(jì)算機(jī)網(wǎng)絡(luò)的每個(gè)設(shè)備用具體類型的知識(shí)標(biāo)識(shí)人們的能力。例如,在其中計(jì)算機(jī)設(shè)備102c搜尋主題的場(chǎng)景中,如果計(jì)算機(jī)設(shè)備102d已經(jīng)在計(jì)算機(jī)設(shè)備102c搜索之前搜尋了相同主題,則計(jì)算機(jī)設(shè)備102d不會(huì)已經(jīng)用主題的潛在知識(shí)對(duì)任何人定位。然而,在計(jì)算機(jī)設(shè)備102c對(duì)計(jì)算機(jī)設(shè)備102a和102b的用戶參與與主題有關(guān)的對(duì)話編索引之后,計(jì)算機(jī)設(shè)備102d的搜索將在計(jì)算機(jī)設(shè)備102c上對(duì)主題定位并且揭示計(jì)算機(jī)設(shè)備102a和102b(或者計(jì)算機(jī)設(shè)備102a和102b的用戶)參與相關(guān)對(duì)話。因此,計(jì)算機(jī)設(shè)備102d的用戶可以與參與者中的任何參與者直接通信。此外,知道im對(duì)話的原有參與者可以允許計(jì)算機(jī)設(shè)備102d的用戶向計(jì)算機(jī)設(shè)備102a或者102b查詢im對(duì)話的撰寫(xiě)文本。
在一個(gè)實(shí)施例中,如果計(jì)算設(shè)備的用戶不可用或者將不可用,則計(jì)算設(shè)備可以向預(yù)定計(jì)算機(jī)卸下(offload)或者“推送”存儲(chǔ)的索引。例如,計(jì)算機(jī)設(shè)備102b可以將索引114b潛在地與存儲(chǔ)的im對(duì)話一起向計(jì)算機(jī)設(shè)備102c推送。通過(guò)推送將在索引114c中包括的索引114b,主題和im對(duì)話仍將可用于被例如在計(jì)算機(jī)設(shè)備102d上搜尋主題的用戶發(fā)現(xiàn)。
在本發(fā)明的另一實(shí)施例中,如果im索引程序110不能在本地計(jì)算機(jī)設(shè)備的聯(lián)系人列表上的計(jì)算機(jī)設(shè)備的索引中發(fā)現(xiàn)主題,則im索引程序110可以指引在查詢的計(jì)算機(jī)設(shè)備上的im索引程序110的實(shí)例以搜尋主題。在查詢的計(jì)算機(jī)設(shè)備上的im索引程序110的實(shí)例如在正常操作中那樣將開(kāi)始向它自己的聯(lián)系人查詢主題,并且如果被發(fā)現(xiàn),則可以向查詢計(jì)算設(shè)備返回可適用索引信息。以這樣的方式,針對(duì)主題的搜索可以沿著社交聯(lián)系人從一個(gè)計(jì)算機(jī)向下一計(jì)算機(jī)向外螺旋直至發(fā)現(xiàn)主題。
圖4描繪根據(jù)本發(fā)明的一個(gè)例示性實(shí)施例的計(jì)算機(jī)設(shè)備(比如計(jì)算機(jī)設(shè)備102a、102b、102c或者102d)的部件的框圖。應(yīng)當(dāng)領(lǐng)會(huì)到,圖4僅提供一個(gè)實(shí)現(xiàn)方式的例示而未暗示關(guān)于其中可以實(shí)施不同實(shí)施例的環(huán)境的任何限制??梢赃M(jìn)行對(duì)描繪的環(huán)境的許多修改。
計(jì)算機(jī)設(shè)備102a、102b、102c或者102d中的每個(gè)計(jì)算機(jī)設(shè)備包括提供在計(jì)算機(jī)處理器404、存儲(chǔ)器406、持久存儲(chǔ)裝置408、通信單元410和輸入/輸出(i/o)接口412之間的通信的通信結(jié)構(gòu)402??梢杂萌魏渭軜?gòu)實(shí)施通信結(jié)構(gòu)402,該架構(gòu)被設(shè)計(jì)用于在處理器(比如微處理器、通信和網(wǎng)絡(luò)處理器等)、系統(tǒng)存儲(chǔ)器、外圍設(shè)備和在系統(tǒng)內(nèi)的任何其他硬件部件之間傳遞數(shù)據(jù)和/或控制信息。例如,可以用一個(gè)或者多個(gè)總線實(shí)施通信結(jié)構(gòu)402。
存儲(chǔ)器406和持久存儲(chǔ)裝置408是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。在這一實(shí)施例中,存儲(chǔ)器406包括隨機(jī)存取存儲(chǔ)器(ram)414和高速緩存存儲(chǔ)器416。一般而言,存儲(chǔ)器406可以包括任何適當(dāng)易失性或者非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
im索引程序110存儲(chǔ)于持久存儲(chǔ)裝置408中以用于經(jīng)由存儲(chǔ)器406中的一個(gè)或者多個(gè)存儲(chǔ)器由相應(yīng)計(jì)算機(jī)處理器404中的一個(gè)或者多個(gè)計(jì)算機(jī)處理器執(zhí)行。在這一實(shí)施例中,持久存儲(chǔ)裝置408包括磁硬盤驅(qū)動(dòng)。取代磁硬盤驅(qū)動(dòng)或者除了磁硬盤驅(qū)動(dòng)之外,持久存儲(chǔ)裝置408可以包括固態(tài)硬驅(qū)動(dòng)、半導(dǎo)體存儲(chǔ)設(shè)備、只讀存儲(chǔ)器(rom)、可擦除可編程只讀存儲(chǔ)器(eprom)、閃存或者能夠存儲(chǔ)程序指令或者數(shù)字信息的任何其他計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
由持久存儲(chǔ)裝置408使用的介質(zhì)也可以可去除。例如,可去除硬驅(qū)動(dòng)可以用于持久存儲(chǔ)裝置408。其他示例包括向驅(qū)動(dòng)中插入的用于向也是持久存儲(chǔ)裝置408的部分的另一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上傳送的光和磁盤、拇指驅(qū)動(dòng)以及智能卡。
通信單元410在這些示例中提供與其他數(shù)據(jù)處理系統(tǒng)或者設(shè)備的通信。在這些示例中,通信單元410包括一個(gè)或者多個(gè)網(wǎng)絡(luò)接口卡。通信單元410可以通過(guò)使用物理和無(wú)線通信鏈路中的任一種或者兩種通信鏈路來(lái)提供通信??梢酝ㄟ^(guò)通信單元410向持久存儲(chǔ)裝置408下載im索引程序110。
i/o接口412允許利用可以被連接到計(jì)算機(jī)設(shè)備102a、102b、102c和102d之一的其他設(shè)備輸入和輸出數(shù)據(jù)。例如,i/o接口421可以提供與外部設(shè)備418(比如鍵盤、鍵區(qū)、觸屏和/或一些其他適當(dāng)輸入設(shè)備)的連接。外部設(shè)備418也可以包括便攜計(jì)算機(jī)可讀存儲(chǔ)及誒子,如比如拇指驅(qū)動(dòng)、便攜光或者磁盤和存儲(chǔ)器卡。用來(lái)實(shí)踐本發(fā)明的實(shí)施例的軟件和數(shù)據(jù)(例如,im索引程序110)可以存儲(chǔ)于這樣的便攜計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上并且可以經(jīng)由i/o接口412向持久存儲(chǔ)裝置408上加載。i/o接口412也連接到顯示器420。
顯示器420提供用于向用戶顯示數(shù)據(jù)的機(jī)制并且可以例如是計(jì)算機(jī)監(jiān)視器。
基于如下應(yīng)用來(lái)標(biāo)識(shí)這里描述的程序,針對(duì)該應(yīng)用,在本發(fā)明的一個(gè)具體實(shí)施例中實(shí)施這些程序。然而,應(yīng)當(dāng)領(lǐng)會(huì)到使用這里的任何特定程序術(shù)語(yǔ)僅為了方便,并且因此本發(fā)明不應(yīng)限于僅在由這樣的術(shù)語(yǔ)標(biāo)識(shí)和/或暗示的任何具體應(yīng)用中使用。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。