專利名稱:管理即時消息傳遞會話的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及基于需求的消息傳遞系統(tǒng),尤其涉及用于管理線程化即時消息傳遞會話的系統(tǒng)和方法。
背景技術(shù):
基于需求的消息傳遞是允許人們經(jīng)由網(wǎng)絡(luò)或其他通信介質(zhì)實時地交換消息數(shù)據(jù),例如文本的通信服務(wù)??赡苡糜诮粨Q的最常見介質(zhì)是因特網(wǎng),但是隨著無線電話網(wǎng)絡(luò)連續(xù)擴(kuò)展,它們用于文本消息傳遞的普及性也正在擴(kuò)展。例如,頒發(fā)給Aravamudun等人的美國專利6,301,609號和美國專利申請公開2002/0035605和2004/0254998號說明朝向統(tǒng)一傳統(tǒng)和無線通信的交換介質(zhì)的發(fā)展。即時消息傳遞(IM)是基于需求的消息傳遞的一種廣泛已知和使用的實施方案?,F(xiàn)今,大部分網(wǎng)絡(luò)和聯(lián)機(jī)服務(wù)提供商提供某種形式的IM服務(wù)。根據(jù)一些估計,前三名的即時消息傳遞服務(wù)提供商服務(wù)超過四千萬用戶。即時消息傳遞服務(wù)也正在快速地發(fā)展并集成到企業(yè)級基礎(chǔ)結(jié)構(gòu)中。國際商業(yè)機(jī)器股份有限公司(IBM)例如已經(jīng)為全球員工研制了LOTUS SAMETIME即時消息傳遞應(yīng)用。現(xiàn)今流行的IM應(yīng)用的其他實例包括MSN Messenger和Yahoo/AOL Instant Messenger。
IM用戶典型地使用聯(lián)網(wǎng)計算機(jī)和IM客戶端程序以會話形式彼此交換消息。IM客戶端為用戶提供撰寫、發(fā)送、接收和讀取消息的接口。在圖形顯示中,IM客戶端通常包括至少兩個窗口用于撰寫并發(fā)送消息的窗口,以及當(dāng)用戶輪流發(fā)送和接收消息時用于顯示消息的窗口。IM對話(通俗地稱作“聊天”)經(jīng)常很冗長,許多參與者每個輪流多次在聊天窗口中“講話”。每次輪流或輸入在這里稱作“會話單元”。
如同任何會話一樣,IM對話經(jīng)常包括一連串問題、回答和關(guān)于多個話題的評論。對問題的回復(fù)可能具有來自同一參與者的多次響應(yīng),因為把很長的想法分解成幾個會話單元是常見的。當(dāng)寫下每個會話單元時,每個會話單元按時間順序立即顯示。當(dāng)IM對話中存在多于兩個參與者時,多個參與者對問題的響應(yīng)可能在視覺上彼此中斷。當(dāng)中斷不同于序列中先前和隨后會話單元的話題時,甚至中斷可能引起進(jìn)一步的混亂,。
其他形式的電子通信,例如新聞組,通過線程化會話話題來處理中斷和異步響應(yīng)的問題。在新聞組中,類似于電子郵件一樣處理每個會話單元或“記錄”。記錄發(fā)送到公共服務(wù)器,在那里參與者或“用戶”可以創(chuàng)建、讀取和響應(yīng)記錄。新聞組記錄包含廣泛的標(biāo)題信息,像電子郵件一樣,其包含主題行、發(fā)送者信息、服務(wù)器路由信息以及時間和日期戳。新聞組軟件使用標(biāo)題信息將記錄路由到適當(dāng)服務(wù)器以供存儲以及由用戶訪問新聞組。每個原始會話單元在主題行指定一個話題。對原始會話單元的響應(yīng)類似于電子郵件中的“回復(fù)給全部”功能而處理。相關(guān)會話單元在視覺上以線程形式組織在原始會話單元下面。
但是,由新聞組軟件使用的線程化機(jī)制不會有助于IM的實時性質(zhì)。IM會話單元不包含由新聞組使用以根據(jù)線程組織記錄的廣泛標(biāo)題信息,因為IM系統(tǒng)在參與節(jié)點之間使用主動開啟電子連接。IM會話單元通常不需要全部標(biāo)題信息,因為當(dāng)IM對話開始時電子通信的路由已經(jīng)建立。
因此,存在對管理IM對話的線程化會話單元的系統(tǒng)和方法的需求。
發(fā)明內(nèi)容
下面詳細(xì)描述的本發(fā)明是用于管理線程化即時消息傳遞會話的計算機(jī)實現(xiàn)系統(tǒng)和過程。該過程包括建立用于交換會話單元的交互式消息傳遞對話;將線程標(biāo)識符指定給會話單元;將線程標(biāo)識符附加到會話單元;以及根據(jù)線程標(biāo)識符在用戶接口中顯示會話單元。
本發(fā)明的新穎特征在附加權(quán)利要求中陳述。但是,當(dāng)結(jié)合附隨附圖閱讀時,本發(fā)明自身,以及優(yōu)選使用方式,其更多目的和優(yōu)點將通過參考下面說明性實施方案的詳細(xì)描述而最佳地理解,其中圖1表示實例計算機(jī)網(wǎng)絡(luò)。
圖2描述計算機(jī)上存儲器中的程序和文件。
圖3是輸出消息組件的流程圖。
圖4是輸入消息組件的流程圖。
圖5是構(gòu)造組件的流程圖。
圖6A說明顯示單個會話線程的IMTM的實施方案。
圖6B說明顯示兩個會話線程的IMTM的實施方案。
圖6C顯示IMTM根據(jù)線程組織會話單元的一個實例。
具體實施例方式
本發(fā)明的原理可適用于多種計算機(jī)硬件和軟件配置。這里使用的術(shù)語“計算機(jī)硬件”或“硬件”指能夠接受、在其上執(zhí)行邏輯操作、存儲或顯示數(shù)據(jù)的任何機(jī)器或裝置,并且包括但不局限于處理器和存儲器;術(shù)語“計算機(jī)軟件”或“軟件”指可操作以使得計算機(jī)硬件執(zhí)行操作的任何指令集。如在這里使用的術(shù)語“計算機(jī)”包括但不局限于硬件和軟件的任何有用組合,并且“計算機(jī)程序”或“程序”包括但不局限于可操作以使得計算機(jī)硬件接受、在其上執(zhí)行邏輯操作、存儲或顯示數(shù)據(jù)的任何軟件。計算機(jī)程序可能,并且通常包括多個較小的編程單元,包括但不局限于子程序、模塊、函數(shù)、方法和過程。因此,本發(fā)明的功能可以分布在多個計算機(jī)和計算機(jī)程序中。但是,本發(fā)明最佳地描述為配置并使得一個或多個通用計算機(jī)實現(xiàn)本發(fā)明的新方面的單個計算機(jī)程序。為了說明的目的,本發(fā)明的計算機(jī)程序?qū)⒎Q作即時消息傳遞線程管理器(“IMTM”)。
另外,參考如圖1中描繪的硬件設(shè)備的實例網(wǎng)絡(luò)在下面描述IMTM?!熬W(wǎng)絡(luò)”包括通過通信介質(zhì)彼此連接并彼此通信的任意數(shù)目的硬件設(shè)備,例如因特網(wǎng)?!巴ㄐ沤橘|(zhì)”包括但不局限于硬件或軟件可以通過其發(fā)送數(shù)據(jù)的任何物理、光學(xué)、電磁或其他介質(zhì)。為了描述的目的,實例網(wǎng)絡(luò)100僅具有有限數(shù)目的節(jié)點,包括工作站計算機(jī)105,工作站計算機(jī)110,服務(wù)器計算機(jī)115和永久性存儲器120。網(wǎng)絡(luò)連接125包括使得網(wǎng)絡(luò)節(jié)點105-120之間能夠通信所必需的所有硬件、軟件和通信介質(zhì)。除非下面在上下文中另外指示,所有網(wǎng)絡(luò)節(jié)點使用公開可用的協(xié)議或消息傳遞服務(wù)通過網(wǎng)絡(luò)連接125彼此通信。
IMTM 200典型地存儲在圖2中示意地表示為存儲器220的存儲器中。這里使用的術(shù)語“存儲器”包括但不局限于計算機(jī)可以將數(shù)據(jù)或軟件存儲于其中長達(dá)任意持續(xù)時間的任何易失性或永久性介質(zhì),例如電路、磁盤或光盤。單個存儲器可能包括并且跨越多個介質(zhì)而分布。因此,圖2僅為描述方便而包括并且不必反映存儲器220的任何特定物理實施方案。但是,如圖2中描繪的,存儲器220可以包括另外的數(shù)據(jù)和程序。在到IMTM 200的特定輸入中,存儲器220可包括IM讀取器230、線程映射文件240和配置數(shù)據(jù)文件250。IMTM 200包括下面的組件輸出消息組件300、輸入消息組件400和配置組件500。
IMTM 200控制IM讀取器230的外觀,使得IM會話中的參與者可以在視覺上根據(jù)線程組織IM對話的會話單元。在IM對話的過程中,參與者可以指示新的話題或線程什么時候開始。新的線程的創(chuàng)建應(yīng)當(dāng)快速且直觀,使用標(biāo)準(zhǔn)面向?qū)ο蟮倪^程例如加亮,拖放;加亮&右擊-產(chǎn)生菜單;以及加亮&左擊圖標(biāo)。一旦創(chuàng)建多個線程,本發(fā)明應(yīng)當(dāng)根據(jù)線程分組顯示每個隨后的會話單元。每個線程可以例如在獨立的窗口或子窗口中顯示。線程也可例如通過使用視覺提示例如文本標(biāo)記或顏色而在單個窗口中組織。相同線程中新的會話單元也可以立即添加到相同線程中其他會話單元下面,而不是按時間順序最近的消息單元下面。輸出消息組件300將輸出會話單元指定到線程,并且將會話單元附加線程標(biāo)識符。輸入消息組件400從輸入會話單元中讀取線程標(biāo)識符并且在視覺上將會話單元顯示在適當(dāng)?shù)木€程中。配置組件500允許參與者選擇顯示線程的首選項。線程映射文件240包含活動IM對話中所有線程的列表。配置數(shù)據(jù)文件250包含顯示線程的參與者首選項。
如圖3中所示,無論何時IM讀取器230打開,通常在IM對話開始時,輸出消息組件300啟動(310)。輸出消息組件300打開線程映射文件240(314)并且監(jiān)控IM讀取器230以創(chuàng)建新的線程和創(chuàng)建新的會話單元(316)。當(dāng)參與者指示新的線程已經(jīng)開始時(318),輸出消息組件將線程標(biāo)識符列表添加到線程映射文件240(320)。參與者可以多種方式指示新線程的創(chuàng)建,例如加亮現(xiàn)有文本串并點擊IM讀取器230窗口中工具欄上的“新線程”圖標(biāo)。其他標(biāo)準(zhǔn)面向?qū)ο蟮倪^程同樣可以用來指示新的線程,例如加亮,拖放現(xiàn)有文本到不同的窗口或子窗口中;或者通過在所選文本區(qū)域上右擊鼠標(biāo)指針來激活彈出菜單。參與者也可以在鍵入新的會話單元的文本之前指示新的線程。如果參與者指示現(xiàn)有會話單元的新線程(322),則輸出消息組件300更新所選單元的線程標(biāo)識符(324)。當(dāng)參與者創(chuàng)建新的會話單元時(326),輸出消息組件300將會話單元指定到線程(328)并且將線程標(biāo)識符附加到消息單元(330)。線程標(biāo)識符與某種形式的文本標(biāo)記一起添加到會話單元,例如通過添加文本“<ID-1>”。輸出消息組件300從線程映射文件240中的線程列表以及鍵入會話單元時的光標(biāo)位置中確定新的會話單元的適當(dāng)線程。當(dāng)不同的窗口或子窗口用于每個線程時,輸出消息組件300根據(jù)哪個窗口或子窗口包含新的會話單元而指定線程。當(dāng)所有線程在同一窗口中顯示時,新的會話單元假定與新的消息單元之前緊鄰的會話單元屬于相同線程。參與者可以將光標(biāo)放置在來自期望線程的會話單元后面以繼續(xù)關(guān)于那個話題的會話。輸出消息組件300繼續(xù)運行直到IM讀取器230關(guān)閉(332),在那時它停止(334)。
如圖4中所示,無論何時IM讀取器230接收新的會話單元,輸入消息組件400啟動(410)。輸入消息組件400打開線程映射文件240和配置數(shù)據(jù)文件250(412)并且查詢輸入會話單元的線程標(biāo)識符(414)。如果輸入會話單元不具有線程標(biāo)識符,它必須被指定到線程(416)。輸入消息組件400將未指定的消息單元指定到線程(418)并且將線程標(biāo)識符附加到會話單元(420)。如果未指定的輸入會話單元是IM對話的第一個消息單元,則輸入消息組件400將輸入會話單元指定到默認(rèn)第一線程。如果IM對話具有現(xiàn)有會話單元,則未指定的輸入會話單元被指定到線程映射文件240中列出的線程中最近的活動線程。輸入消息組件400根據(jù)配置數(shù)據(jù)文件250中的設(shè)置顯示輸入會話單元(422)。一旦顯示輸入會話單元,輸入消息組件400停止(424)。
如圖5中所示,無論何時參與者指示設(shè)置改變,配置組件500啟動。參與者可以例如通過從IM讀取器230上的菜單中選擇“設(shè)置”或者通過選擇IM讀取器230上對應(yīng)于特定配置設(shè)置的圖標(biāo)來指示設(shè)置改變(510)。配置組件500打開配置數(shù)據(jù)文件250(512)并且確定參與者是否已經(jīng)改變當(dāng)前顯示設(shè)置(514)。如果參與者已經(jīng)選擇改變設(shè)置,則改變保存在配置數(shù)據(jù)文件250中(516)。配置組件500確定是否存在活動IM對話(518)。如果存在活動IM對話,則配置組件500根據(jù)新的配置設(shè)置將所有消息單元顯示在線程中(520)。在將任何改變保存到配置并且根據(jù)指示改變顯示之后,配置組件500停止(522)。
圖6A和6B顯示IMTM 200如何在IM讀取器窗口600中在視覺上根據(jù)線程組織會話單元的一個實例。圖6A顯示具有單個線程的IM對話,其中所有會話單元出現(xiàn)在子窗口601中。如果參與者確定會話單元615屬于另一個線程,參與者通過使用鼠標(biāo)加亮文本部分來選擇會話單元615。參與者使用鼠標(biāo)選擇“新線程”圖標(biāo)625,如圖6A中所示。作為選擇,參與者通過使用鼠標(biāo)“拖放”會話單元615來創(chuàng)建新的線程,如圖6B中所示。如圖6C中所示,IMTM 200將所選會話單元615移至子窗口602,同時未選擇的會話單元保留在子窗口601中。參與者可以通過在每個線程中添加新的會話單元來繼續(xù)IM對話。
IMTM 200的備選實施方案為IM對話的參與者提供其他功能。另外的功能通過加亮?xí)拞卧奈谋静⑶疫x擇圖標(biāo)或從彈出菜單中選擇功能來啟動。另外的功能包括使用電子郵件消息正文中所選文本的副本打開輸出電子郵件消息以及將所選文本復(fù)制到單獨文件以隨后保存。單獨文件可以是在IM對話終止之后保存文本的“聊天列表”。其他可能的功能將允許參與者將所選文本從消息單元保存到其他類型的軟件工具例如日歷和規(guī)劃程序中。
本發(fā)明的優(yōu)選形式已經(jīng)在附圖中顯示并在上面描述,但是優(yōu)選形式的變化對本領(lǐng)域技術(shù)人員將非常顯然。先前的描述僅為了說明的目的,并且本發(fā)明不應(yīng)當(dāng)解釋為局限于顯示和描述的特定形式。本發(fā)明的范圍應(yīng)當(dāng)僅由下面權(quán)利要求的語言所限制。
權(quán)利要求
1.一種用于管理線程化即時消息傳遞會話的計算機(jī)實現(xiàn)過程,該過程包括建立用于交換會話單元的交互式消息傳遞對話;將線程標(biāo)識符指定給會話單元;將線程標(biāo)識符附加到會話單元;以及根據(jù)線程標(biāo)識符在用戶接口中顯示會話單元。
2.根據(jù)權(quán)利要求1的計算機(jī)實現(xiàn)過程還包括從會話單元創(chuàng)建新的線程。
3.根據(jù)權(quán)利要求1的計算機(jī)實現(xiàn)過程還包括將會話單元復(fù)制到單獨文件。
4.根據(jù)權(quán)利要求3的計算機(jī)實現(xiàn)過程,其中所述單獨文件是電子郵件消息。
5.根據(jù)權(quán)利要求1的計算機(jī)實現(xiàn)過程,其中會話單元根據(jù)線程標(biāo)識符在獨立的窗口中顯示。
6.根據(jù)權(quán)利要求1的計算機(jī)實現(xiàn)過程,其中會話單元根據(jù)線程標(biāo)識符在獨立的子窗口中顯示。
7.根據(jù)權(quán)利要求1的計算機(jī)實現(xiàn)過程,其中會話單元根據(jù)線程標(biāo)識符在相同窗口的獨立區(qū)域中顯示。
8.一種用于管理即時消息傳遞會話的裝置,該裝置包括處理器;連接到處理器的存儲器;連接到處理器的輸出設(shè)備;存儲器中可操作以使得處理器建立用于交換會話單元的交互式消息傳遞對話的即時消息傳遞程序;以及存儲器中可操作以使得處理器將線程標(biāo)識符指定給會話單元,將線程標(biāo)識符附加到會話單元,以及根據(jù)線程標(biāo)識符在輸出設(shè)備上顯示會話單元的即時消息傳遞線程管理器程序。
9.根據(jù)權(quán)利要求8的裝置,其中即時消息傳遞線程管理器程序還可操作以使得處理器從會話單元創(chuàng)建新的線程。
10.根據(jù)權(quán)利要求8的裝置,其中即時消息傳遞線程管理器程序還可操作以使得處理器將會話單元復(fù)制到單獨文件。
11.根據(jù)權(quán)利要求10的裝置,其中單獨文件是電子郵件消息。
12.根據(jù)權(quán)利要求8的裝置,其中會話單元根據(jù)線程標(biāo)識符在獨立的窗口中顯示。
13.根據(jù)權(quán)利要求8的裝置,其中會話單元根據(jù)線程標(biāo)識符在獨立的子窗口中顯示。
14.根據(jù)權(quán)利要求8的裝置,其中會話單元根據(jù)線程標(biāo)識符在相同窗口的獨立區(qū)域中顯示。
全文摘要
本發(fā)明是用于管理線程化即時消息傳遞會話的計算機(jī)實現(xiàn)系統(tǒng)和過程,該過程包括建立用于交換會話單元的交互式消息傳遞對話;將線程標(biāo)識符指定給會話單元;將線程標(biāo)識符附加到會話單元;以及根據(jù)線程標(biāo)識符在用戶接口中顯示會話單元。
文檔編號G06F9/46GK101035124SQ200710001419
公開日2007年9月12日 申請日期2007年1月8日 優(yōu)先權(quán)日2006年1月27日
發(fā)明者麥克爾·皮特·艾特格恩, 勒妮·拉馮尼·施瓦茨, 史蒂文·麥克爾·米勒 申請人:國際商業(yè)機(jī)器公司