欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

動態(tài)對象連接接口的制作方法

文檔序號:6415821閱讀:213來源:國知局
專利名稱:動態(tài)對象連接接口的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機軟件集成并更具體地涉及一種在多個不同的,獨立的軟件應(yīng)用程序的軟件對象之間共享和操作軟件對象的方法。
背景技術(shù)
當(dāng)今的計算機產(chǎn)業(yè)中,存在著為各種各樣的用戶需要服務(wù)的軟件應(yīng)用程序。單個應(yīng)用程序一般被優(yōu)化成在特定的功能領(lǐng)域中性能優(yōu)良而在其它功能領(lǐng)域則只有次優(yōu)或最低限度的作用。例如,電子表格應(yīng)用程序一般適宜生成數(shù)據(jù)表和這些表中數(shù)據(jù)的圖表,但在生成復(fù)雜格式的文本文件時的表現(xiàn)很差。另一方面,字處理應(yīng)用程序偏向于容易處理高度格式化的文本文件的生成,但一般處理數(shù)據(jù)表格和圖形功能較差。由于這些應(yīng)用程序的功能的明確劃分,一般用戶經(jīng)常需要在所使用的不同的應(yīng)用程序之間某種程度的信息共享。應(yīng)用程序集成策略通過允許用戶激活一個應(yīng)用程序而該應(yīng)用程序又調(diào)用所需的相關(guān)特定應(yīng)用程序而允許某種程度的信息共享。但是,高效和方便用戶的不同應(yīng)用程序之間的信息共享一直是整個計算機產(chǎn)業(yè)的一個難點。
1992年微軟公司發(fā)布了一種協(xié)議,對象鏈接和嵌入(OLE),使得一個應(yīng)用程序可以通過一個幾乎透明的接口來使用其它應(yīng)用程序的服務(wù)。OLE協(xié)議允許支持這種協(xié)議的應(yīng)用程序結(jié)合含有至其它應(yīng)用程序的鏈接的對象。這里使用的對象這個詞能夠包含文本,圖表,圖形,電子表格,位像,矢量圖,聲音數(shù)據(jù),視頻剪輯,程序和幾乎所有可被軟件應(yīng)用程序顯示,控制或操作的東西。
在OLE協(xié)議中,包含鏈接或嵌入對象的對象被稱為容器對象。容器對象包含仍然連接至創(chuàng)建它們的原始應(yīng)用程序的其它對象,其中的連接可以是鏈接連接或嵌入連接。鏈接連接是與被包含的對象相關(guān)的實際數(shù)據(jù)駐留在另一個,分立的對象中的連接。在這種情況下,建立和保持鏈接連接所需的信息只是被包含的對象的一個引用。另一方面,嵌入連接是與被包含對象相關(guān)的實際數(shù)據(jù)駐留在容器對象中的連接。在任一情況下,被包含對象只能被原始創(chuàng)建它的應(yīng)用程序所編輯。
OLE和OLE類型的集成策略使用戶集中在當(dāng)前的手中任務(wù)上,而不需要對完成任務(wù)所需的應(yīng)用程序的明確知識或控制。在OLE的情況下,進行給定任務(wù)所需的應(yīng)用程序在需要時以最好的格式或內(nèi)容交給用戶。而且,當(dāng)采用了鏈接類型的應(yīng)用程序集成策略時,文件趨向于更緊湊,因為對象的鏈接使得應(yīng)用程序數(shù)據(jù)文件可以反映所鏈接文件的信息而不需要將對象的數(shù)據(jù)在該數(shù)據(jù)文件中物理地存儲和維護。
OLE和OLE類型的集成策略向各種獨立軟件應(yīng)用程序的高效集成邁出了一大步。但是,這些類型的集成策略要求某些數(shù)據(jù)與鏈接或嵌入的對象一起被存儲,因而提供將被鏈接或嵌入的對象回溯到原始應(yīng)用程序的信息。更具體地說,嵌入和傳統(tǒng)的鏈接兩者都在被鏈接/嵌入的對象和原始創(chuàng)建對象的應(yīng)用程序之間創(chuàng)建“硬”鏈接。即,連接是到特定的應(yīng)用程序的并不會改變。這樣,被鏈接/嵌入的對象需要至外部應(yīng)用程序的預(yù)先定義的連接路徑。
從用戶的角度,希望有一個更靈活的結(jié)構(gòu),一個對象和應(yīng)用程序之間的連接不需要預(yù)先定義的結(jié)構(gòu)。因此,需要有一種當(dāng)對象和計算機操作系統(tǒng)內(nèi)定義的任何其它應(yīng)用程序之間沒有預(yù)先定義的連接時能夠高效運行的應(yīng)用程序集成方法。
發(fā)明概述本發(fā)明是計算機系統(tǒng)的對象鏈接接口,它動態(tài)地將主應(yīng)用程序的選定目標(biāo)對象鏈接至第二個應(yīng)用程序。這個動態(tài)對象鏈接運行環(huán)境包括多個方法測試器和一個對象映射器,每個方法測試器與一個特定用戶應(yīng)用程序相關(guān)聯(lián)。對象映射器傳遞目標(biāo)對象的拷貝至每個方法測試器。之后每個方法測試器測試目標(biāo)對象以確定相關(guān)的應(yīng)用程序處理目標(biāo)對象的適合性并產(chǎn)生表示該適合性的相似性分?jǐn)?shù)。對象映射器查詢每個方法測試器以獲得可能性分?jǐn)?shù)并根據(jù)所述可能性分?jǐn)?shù),標(biāo)識一個或多個適于處理目標(biāo)對象的應(yīng)用程序。對象映射器可以自動選擇一個補充應(yīng)用程序或為用戶建議一個候選表以從中選擇補充應(yīng)用程序。其后目標(biāo)對象被傳遞到補充程序從而由那個應(yīng)用程序生成一個返回對象。之后返回對象被傳遞到主應(yīng)用程序以代替目標(biāo)對象。在這種方式中,目標(biāo)對象被動態(tài)地鏈接至外部應(yīng)用程序,即補充應(yīng)用程序。補充應(yīng)用程序的標(biāo)識將依賴于目標(biāo)對象的內(nèi)容并可以從一個對象變化到另一個或隨時間變化。


圖1是一個計算機系統(tǒng)的簡化的方框圖。
圖2是帶有本發(fā)明的動態(tài)對象鏈接接口部件的操作系統(tǒng)的簡化的方框圖。
圖3是運行環(huán)境的圖形用戶界面的簡化示意圖。
圖4是本發(fā)明的一個實施例的基本流程圖。
發(fā)明詳述圖1以簡化方框圖的形式示出一個實現(xiàn)本發(fā)明的對象鏈接接口的計算機系統(tǒng)10。計算機系統(tǒng)10包括一個中央處理單元12,它根據(jù)存儲在它的存儲器14中的指令進行操作。輸入/輸出(I/O)電路16是中央處理單元12與一個或多個輸入設(shè)備18和輸出設(shè)備20連接的接口。輸入設(shè)備18可以包括,例如,鍵盤,小鍵盤,紅外發(fā)射器,聲音檢測器,光筆,鼠標(biāo),觸摸屏或其他適合的設(shè)備或用于向計算機輸入命令的設(shè)備。輸出設(shè)備20可以包括,例如,顯示器或其他通過I/O電路16中的I/O口連接的外圍設(shè)備。計算機系統(tǒng)10還可以含有海量存儲設(shè)備22,例如硬盤驅(qū)動器,軟盤驅(qū)動器,PCMCIA閃存驅(qū)動器,或光盤驅(qū)動器。
計算機系統(tǒng)10根據(jù)存儲在存儲器14中的程序運行。在計算機系統(tǒng)10上運行的程序一般可以分為操作系統(tǒng)程序或用戶應(yīng)用程序。操作系統(tǒng)程序是控制和協(xié)調(diào)計算機系統(tǒng)10中的硬件和軟件的運行的一套程序。操作系統(tǒng)程序指揮用戶應(yīng)用程序的執(zhí)行,數(shù)據(jù)的定位,存儲,和讀取,并將計算機系統(tǒng)10的資源分配給運行的不同任務(wù)。另一方面,用戶應(yīng)用程序,也被稱為用戶應(yīng)用程序或簡稱為應(yīng)用程序是在用戶的指揮下進行復(fù)雜任務(wù)的程序。用戶應(yīng)用程序的例子包括字處理程序,數(shù)據(jù)庫程序,電子表格程序,和個人信息管理器。
一套接口指令,包括操作系統(tǒng)程序,作為一起組成計算機系統(tǒng)10的硬件和軟件之間的最低層接口。這些接口指令一起被稱為操作系統(tǒng)100。DOS,UNIX和OS-9都是在一般商用計算機系統(tǒng)10上實現(xiàn)的一般的操作系統(tǒng)100。圖2示出操作系統(tǒng)100。適于本發(fā)明的一個操作系統(tǒng)是由Iowa州Des Moines的Microware公司研制的OS-9000內(nèi)核。
用戶可以選擇通過操作系統(tǒng)100或在操作系統(tǒng)100級與計算機系統(tǒng)10直接交互。但是,幾十年來的趨勢是使用用戶與操作系統(tǒng)100之間的緩沖區(qū),一般稱為運行環(huán)境30。視窗和視窗95是運行環(huán)境30的一般的例子。這些環(huán)境趨向于面向圖形化,和總體定義用戶界面的外觀。
現(xiàn)參考圖3,示出了計算機系統(tǒng)10上運行的一個用戶應(yīng)用程序的運行環(huán)境30的顯示部分。圖3中的用戶應(yīng)用程序是一個字處理應(yīng)用程序。但是,應(yīng)當(dāng)理解,本發(fā)明可以用于幾乎所有類型的用戶應(yīng)用程序而不限于字處理程序。運行環(huán)境30在計算機顯示輸出設(shè)備20的屏幕上顯示給用戶。
運行環(huán)境30包括窗口32,窗口32頂端有一個標(biāo)題欄34。標(biāo)題欄按鈕36位于標(biāo)題欄34的右邊。這些按鈕36用于關(guān)閉,最大化和最小化窗口32。按鈕36使用“指向并點擊”鼠標(biāo)的方式被激活。這些按鈕對于視窗95或視窗NT的用戶來說是熟悉的。在窗口32下端有一個為用戶顯示消息或圖標(biāo)的狀態(tài)欄56。
在標(biāo)題欄34的下方是菜單欄38。菜單欄38包括一個標(biāo)簽條40,它帶有幾個標(biāo)簽42。菜單按鈕44被放置在標(biāo)簽帶40上。與說明本發(fā)明相關(guān)的一個菜單按鈕44是動態(tài)鏈接控制菜單按鈕45。菜單按鈕44的不同的組可以通過在標(biāo)簽42上“點擊”鼠標(biāo)而被選擇。應(yīng)當(dāng)理解,在本領(lǐng)域中在選擇一個選項或?qū)ο髸r有許多與點擊鼠標(biāo)相同的方法,例如使用觸摸屏,遙控指示器,或聲音命令;所有這些方法都包含在點擊鼠標(biāo)一詞中。菜單按鈕44同樣用鼠標(biāo)“點擊”菜單按鈕44來被選擇。
菜單欄38下方的區(qū)域是工作區(qū)46,在此為用戶顯示由用戶應(yīng)用程序操作的對象。在該工作區(qū)46中顯示一個由鼠標(biāo)移動的光標(biāo)48。不同的應(yīng)用程序?qū)ο?9被包含在在工作區(qū)46中,包括正在被操作的對象,如被選擇的對象50。
應(yīng)注意,上述的運行環(huán)境30只是可以實施本發(fā)明的動態(tài)對象鏈接系統(tǒng)的運行環(huán)境30的一個例子。使得用戶可以與計算機系統(tǒng)10交互的任何數(shù)量的運行環(huán)境30可以用本發(fā)明的動態(tài)對象鏈接系統(tǒng)來建立和實現(xiàn)。
近年來,已經(jīng)有很多將由一個用戶應(yīng)用程序創(chuàng)建的應(yīng)用程序?qū)ο?9鏈接到另一個用戶應(yīng)用程序的需要。應(yīng)用程序?qū)ο?9是由用戶應(yīng)用程序創(chuàng)建和/或操作的任何對象。例如,在字處理程序中,應(yīng)用程序?qū)ο?9可以是由這個文件,文件的一頁,文件的一段,文件中的一個單詞,或文件中的一個字母組成。在圖形程序中,應(yīng)用程序?qū)ο?9可以是整個圖畫,或圖畫種的特定圖形或線條。在數(shù)據(jù)庫程序中,應(yīng)用程序?qū)ο?9可以是數(shù)據(jù)表,查詢,表格或報告。這個應(yīng)用程序?qū)ο?9的清單不是窮舉的。
如上所述,希望將由用戶應(yīng)用程序創(chuàng)建的應(yīng)用程序?qū)ο?9鏈接至第二個用戶應(yīng)用程序。例如,可能希望將一個字處理文件中駐留的圖形鏈接至一個能夠操作圖形對象的應(yīng)用程序。當(dāng)前,處理這個問題的一個方法包括使用對象鏈接和嵌入(OLE)協(xié)議。OLE提供了一種協(xié)議,通過它應(yīng)用程序之間可以通信和交換鏈接或嵌入對象的信息。但是,OLE需要在被鏈接或嵌入的對象與創(chuàng)建該對象的應(yīng)用程序之間維護明確預(yù)定義的鏈接。
本發(fā)明使得一個用戶應(yīng)用程序中的應(yīng)用程序?qū)ο?9能夠動態(tài)地與另一個用戶應(yīng)用程序相關(guān)聯(lián)而不需要維護對象與其他應(yīng)用程序之間的明確的鏈接。這個方法被稱為動態(tài)對象鏈接,與其相關(guān)的接口被稱為動態(tài)對象鏈接接口。為了引用方便,所討論的對象駐留的應(yīng)用程序被稱為主應(yīng)用程序64。對象被動態(tài)關(guān)聯(lián)的其他應(yīng)用程序被稱為補充應(yīng)用程序68。來自主應(yīng)用程序64被動態(tài)鏈接的應(yīng)用程序?qū)ο?9將被稱為目標(biāo)對象70。
本發(fā)明的計算機系統(tǒng)10包括一個對象映射器120以標(biāo)識計算機上可用的那些應(yīng)用程序,它們更可能適合于操作目標(biāo)對象70。在對象映射器120上注冊的每個應(yīng)用程序與一個方法測試器85相關(guān),方法測試器85確定相關(guān)的應(yīng)用程序處理目標(biāo)對象70的適合性。當(dāng)被對象映射器120查詢時,每個方法測試器85返回一個分?jǐn)?shù)至對象映射器120,這里被稱為“相似性分?jǐn)?shù)”,它表示相關(guān)應(yīng)用程序適合處理目標(biāo)對象70的程度。目標(biāo)映射控制器分析由方法測試器85提供的相似性分?jǐn)?shù)并基于該相似性分?jǐn)?shù)選擇一個補充應(yīng)用程序68。一般地,補充應(yīng)用程序68是有最高相似性分?jǐn)?shù)的應(yīng)用程序,表示它是最適合處理目標(biāo)對象70的應(yīng)用程序?;蛘呤牵峁┮粋€備選補充應(yīng)用程序68的清單供用戶選擇,最好是有它們的相似性分?jǐn)?shù)的指示。
參考圖2,組成本發(fā)明的動態(tài)對象鏈接接口的軟件部件包括操作系統(tǒng)100,運行環(huán)境30,和多個用戶應(yīng)用程序60。特別與運行環(huán)境30相關(guān)的是對象映射器120,應(yīng)用程序封裝注冊矢量125,和動態(tài)鏈接控制器110。在圖2中示出的還有主應(yīng)用程序64,它含有多個應(yīng)用程序?qū)ο?9,包括目標(biāo)對象70。目標(biāo)對象70的選擇可以通過多個本領(lǐng)域熟知的方法實現(xiàn),例如雙擊鼠標(biāo)。
在運行環(huán)境30中駐留的是多個應(yīng)用程序,總的用數(shù)字60表示。每個應(yīng)用程序60包括主應(yīng)用程序?qū)ο?3,和獨立的應(yīng)用程序封裝對象80。主應(yīng)用程序83包含編碼信息和應(yīng)用程序60完成它的任務(wù)所需的數(shù)據(jù)。編碼信息和與主應(yīng)用程序83相關(guān)的數(shù)據(jù)一般不裝入系統(tǒng)內(nèi)存14并且直到用戶直接或間接請求應(yīng)用程序60時才被激活。例如,在典型的圖形用戶界面類型的環(huán)境中,非活動應(yīng)用程序60在視頻顯示屏上顯示為一個小的圖標(biāo)。為了請求或啟動特定應(yīng)用程序60,用戶只是簡單地使用鼠標(biāo)類型的指示設(shè)備在所需的圖標(biāo)上雙擊。一旦雙擊后,相關(guān)的主應(yīng)用程序83被調(diào)入到系統(tǒng)內(nèi)存14中而執(zhí)行。
應(yīng)用程序封裝80作為運行環(huán)境30和與之相關(guān)的主應(yīng)用程序83之間的接口。應(yīng)用程序封裝80可以被看作是與之相關(guān)的主應(yīng)用程序83的預(yù)報器。應(yīng)用程序封裝80當(dāng)運行環(huán)境30被引導(dǎo)時被調(diào)入并在后臺運行。如圖4所示,應(yīng)用程序封裝80與它相關(guān)的主應(yīng)用程序83和對象映射器120通信。
此外,如圖4所示,應(yīng)用程序封裝80最好包括方法測試器85。方法測試器85包含與確定與應(yīng)用程序封裝80相關(guān)的應(yīng)用程序60可以有效地處理任何給定的目標(biāo)對象70的可能性相關(guān)的信息。
應(yīng)用程序60當(dāng)與應(yīng)用程序封裝80相關(guān)的方法測試器85已被對象映射器120識別和確認(rèn)時被認(rèn)為被“注冊”。注冊過程一般在應(yīng)用程序被安裝時進行,此時與新的應(yīng)用程序60相關(guān)的應(yīng)用程序封裝80查詢系統(tǒng)以找到對象映射器120并提供它出現(xiàn)的通知。在響應(yīng)中,對象映射器120將新的應(yīng)用程序封裝80的一個引用增加到應(yīng)用程序封裝注冊矢量125中。
圖4示出已被定義并駐留在運行環(huán)境30中的不同對象間數(shù)據(jù)的基本流程。圖4中示出的配置假定一個應(yīng)用程序60,主應(yīng)用程序64,被用戶激活和占用。為了說明的目的,假設(shè)用戶與之交互的主應(yīng)用程序64是字處理器。在主應(yīng)用程序64包含的是多個對象,包括目標(biāo)對象70。目標(biāo)對象70可以是,例如,圖3所示的包含在被編輯的文本文件中的七位數(shù)字。
一旦目標(biāo)對象70被選定,用戶通過點擊動態(tài)鏈接控制菜單按鈕44激活動態(tài)鏈接控制110。激活后,動態(tài)鏈接控制110查詢主應(yīng)用程序64并請求目標(biāo)對象70的一個拷貝。主應(yīng)用程序64通過將目標(biāo)對象70的一個拷貝傳遞到動態(tài)鏈接控制110。然后,動態(tài)鏈接控制110把目標(biāo)對象70的一個拷貝傳遞到對象映射器120而響應(yīng)。之后,對象映射器120有系統(tǒng)地查詢在應(yīng)用程序封裝注冊矢量125中列出的所有應(yīng)用程序封裝80。
如圖4所示,在在查詢過程中,應(yīng)用程序封裝80被傳遞一個目標(biāo)對象70的拷貝以測定。與應(yīng)用程序封裝80相關(guān)的方法測試器85使用目標(biāo)對象70的拷貝計算可能性分?jǐn)?shù),可能性分?jǐn)?shù)表示目標(biāo)對象70可能被與封裝80相關(guān)的應(yīng)用程序60有效處理的可能性。
存在很多不同的方法測試器85計算可能性分?jǐn)?shù)的算法。所使用的算法取決于方法測試器85和應(yīng)用程序封裝80相關(guān)的用戶應(yīng)用程序60。作為一個例子,一個電話撥號程序可以首先確定目標(biāo)對象70是否有一個適合的對象類型。如果目標(biāo)對象70既不是數(shù)字也不是字符串類型,則可能性分?jǐn)?shù)會非常低或是零。如果目標(biāo)對象70是數(shù)字或字符串類型,則方法測試器85將繼續(xù)進行一系列模式匹配以確定適合的可能性分?jǐn)?shù)值。例如,如果目標(biāo)對象70的模式是一個7位整數(shù),可能性分?jǐn)?shù)將會很高,是最大值或接近最大值,例如1。如果目標(biāo)對象70模式是一個長度為8的字符串,包含七個數(shù)字和一個短劃線,則可能性分?jǐn)?shù)將同樣很高。但是,如果目標(biāo)對象70模式是非整數(shù)7位數(shù)字,則可能性分?jǐn)?shù)將是一個中間值,例如0.15。如本領(lǐng)域的技術(shù)人員可以理解的,電話號碼可以以不同的方式表示,特別是當(dāng)電話號碼是是國際電話時。模式匹配的目的是識別目標(biāo)對象70是那些表達(dá)之一的可能性??赡苄栽礁撸a(chǎn)生的可能性分?jǐn)?shù)越高。
如同電話撥號方法測試器85,其它用戶應(yīng)用程序60的方法測試器85是應(yīng)用程序,或至少是應(yīng)用程序類型。這種方法測試器85中的特定算法被做成識別目標(biāo)對象70可能被與每個這種方法測試器85相關(guān)的應(yīng)用程序60處理的可能性。每個方法測試器85中采用的特定測試的編程是本領(lǐng)域的技術(shù)人員所熟知的。
方法測試器85產(chǎn)生的可能性分?jǐn)?shù)被從應(yīng)用程序封裝80傳遞回對象映射器120,在此它被暫時存儲并與從被查詢的其它注冊的應(yīng)用程序封裝80接收的可能性分?jǐn)?shù)進行比較。一旦在應(yīng)用程序封裝注冊矢量125中列出的所有應(yīng)用程序封裝80被對象映射器120查詢,對象映射器120采用一種判斷算法以確定哪個應(yīng)用程序60被認(rèn)定為補充應(yīng)用程序68。這種判斷算法之一是高分取勝類型的判斷算法。其它實用的判斷算法的例子包括,選擇高于一定閾值的最高可能性分?jǐn)?shù),或在分?jǐn)?shù)相等的情況下提示用戶選擇應(yīng)用程序60。應(yīng)注意,沒有可能性分?jǐn)?shù)高到可以表示有其它任何一個應(yīng)用程序60可以適合處理目標(biāo)對象70的情況是可能的;在這種情況下,動態(tài)對象鏈接可能會失敗。
通過判斷算法對應(yīng)用程序60的選擇識別一個補充應(yīng)用程序68。對象映射器120使補充應(yīng)用程序68激活并接收目標(biāo)對象70的一個拷貝。最好是,對象映射器120指示應(yīng)用程序封裝80激活它相關(guān)的主應(yīng)用程序83,即補充應(yīng)用程序68的主應(yīng)用程序83,并給它傳遞目標(biāo)對象70的一個拷貝。應(yīng)用程序封裝80可以在產(chǎn)生另一個之前首先檢查它的相關(guān)主應(yīng)用程序83是否已經(jīng)被激活。之后,補充應(yīng)用程序68處理,并可能修改,目標(biāo)對象70的拷貝。
例如,假設(shè)由對象映射器120識別的補充應(yīng)用程序68是一個電話撥號應(yīng)用程序,而目標(biāo)對象70如前所述是可被解釋成電話號碼的7位數(shù)字文本串。一旦被激活,電話撥號應(yīng)用程序接收7位電話號碼并嘗試撥號并與建立該電話號碼方的連接。
補充應(yīng)用程序68還允許改變或修改目標(biāo)對象70的拷貝。為說明這一點,考慮另一種可能的情況,電話撥號應(yīng)用程序接收了7位數(shù)字文本串對象后,搜索關(guān)于商業(yè)客戶信息和他們相關(guān)的電話號碼的客戶聯(lián)系數(shù)據(jù)庫。對數(shù)據(jù)庫的搜索表明與目標(biāo)對象70電話號碼串相關(guān)的客戶最近有一個新的電話號碼。在作出這個評定后,電話撥號應(yīng)用程序嘗試撥打新的電話號碼并建立與相關(guān)客戶的聯(lián)系。之后,電話撥號應(yīng)用程序還修改目標(biāo)對象70以反映電話號碼的修改。
當(dāng)被選的應(yīng)用程序完成了它的任務(wù)后,被潛在修改的目標(biāo)對象70的拷貝被傳遞到動態(tài)鏈接控制110。為了引用方便,這個被潛在修改的目標(biāo)對象70的拷貝稱為返回對象75。之后,動態(tài)鏈接控制110傳遞返回對象70至主機激活應(yīng)用程序,在此返回對象75替換目標(biāo)對象70。
以上的討論假設(shè)方法測試器85被包含在應(yīng)用程序封裝80中。但是,應(yīng)注意方法測試器85可以存在在應(yīng)用程序封裝80以外。如果是這樣,本發(fā)明的動態(tài)對象鏈接接口的運行不需要有應(yīng)用程序封裝80。取而代之的是,對象映射器120可以直接查詢方法測試器85和啟動補充應(yīng)用程序68。但是,本發(fā)明的最佳實施例包括應(yīng)用程序封裝80。
還應(yīng)注意,不是所有的應(yīng)用程序60都向?qū)ο笥成淦?20注冊。如果一個應(yīng)用程序60沒有注冊,則不可使用該應(yīng)用程序的動態(tài)對象鏈接。
這個動態(tài)對象鏈接接口策略的結(jié)構(gòu)是功能很強且非常靈活的,因為它可以與任意對象一起運行并不需要或要求對象與應(yīng)用程序之間的預(yù)定義鏈接。該動態(tài)對象鏈接接口結(jié)構(gòu)還允許第三方應(yīng)用程序開發(fā)者提供他們自己的評估他們的應(yīng)用程序可以操作一個對象的可能性的算法,因而使系統(tǒng)可以支持較復(fù)雜的推理能力。
當(dāng)然本發(fā)明可以以與上述不同的方式實現(xiàn)而不背離本發(fā)明的精神和實質(zhì)。因而本發(fā)明的實施例在任何方面都是解釋性的而不是限制本發(fā)明,而且所有包含在權(quán)利要求書的意義和等效范圍中的所有變化都包含在本發(fā)明中。
權(quán)利要求
1.一種在有多個用戶應(yīng)用程序的計算機系統(tǒng)中將來自主應(yīng)用程序的目標(biāo)對象動態(tài)地鏈接到另一個用戶應(yīng)用程序的過程,包括a)為多個用戶應(yīng)用程序計算可能性分?jǐn)?shù),每個可能性分?jǐn)?shù)表示相應(yīng)的用戶應(yīng)用程序處理目標(biāo)對象的適合程度;b)基于所述可能性分?jǐn)?shù)標(biāo)識一個補充應(yīng)用程序;并且c)傳遞所述目標(biāo)對象至所述補充應(yīng)用程序。
2.如權(quán)利要求1的過程,進一步包括啟動所述補充應(yīng)用程序的一個實例。
3.如權(quán)利要求1的過程,進一步包括由所述補充應(yīng)用程序修改目標(biāo)對象以產(chǎn)生一個返回對象。
4.如權(quán)利要求3的過程,進一步包括其后傳遞所述返回對象至主應(yīng)用程序。
5.如權(quán)利要求1的過程,其中補充應(yīng)用程序的所述標(biāo)識包括比較所述多個所述可能性分?jǐn)?shù)以標(biāo)識最高的所述可能性分?jǐn)?shù)。
6.如權(quán)利要求1的過程,其中標(biāo)識一個補充應(yīng)用程序包括標(biāo)識多個候選應(yīng)用程序,提示用戶選擇所述候選應(yīng)用程序之一并基于所述用戶的輸入而選擇所述候選應(yīng)用程序之一作為補充應(yīng)用程序。
7.一種在有多個用戶應(yīng)用程序的計算機系統(tǒng)中將來自主應(yīng)用程序的目標(biāo)對象動態(tài)地鏈接到另一個用戶應(yīng)用程序的過程,包括a)由一個對象映射器獲得目標(biāo)對象的一個拷貝;b)從所述對象映射器傳遞目標(biāo)對象的一個拷貝至多個方法測試器,每個方法測試器與一個相應(yīng)的用戶應(yīng)用程序相關(guān)聯(lián);c)由所述方法測試器計算多個可能性分?jǐn)?shù),每個可能性分?jǐn)?shù)表示相應(yīng)的用戶應(yīng)用程序處理目標(biāo)對象的適合程度;d)基于所述可能性分?jǐn)?shù)標(biāo)識一個補充應(yīng)用程序;e)傳遞所述目標(biāo)對象的一個拷貝至補充應(yīng)用程序。
8.如權(quán)利要求7的過程進一步包括a)由補充應(yīng)用程序基于目標(biāo)對象產(chǎn)生一個返回對象;b)傳遞所述返回對象至主應(yīng)用程序。
9.如權(quán)利要求7的過程,其中補充應(yīng)用程序的所述標(biāo)識包括比較所述多個所述可能性分?jǐn)?shù)以標(biāo)識最高的所述可能性分?jǐn)?shù)。
10.如權(quán)利要求7的過程,其中標(biāo)識一個補充應(yīng)用程序包括標(biāo)識多個候選應(yīng)用程序,提示用戶選擇所述候選應(yīng)用程序之一并基于所述用戶輸入而選擇所述候選應(yīng)用程序之一作為補充應(yīng)用程序。
11.一種由有多個用戶應(yīng)用程序的計算機系統(tǒng)實現(xiàn)的對象鏈接接口,用于將主應(yīng)用程序中的一個目標(biāo)對象動態(tài)地鏈接至所述計算機上可用的一個補充應(yīng)用程序,包括a)一個或多個方法測試器,每個與一個相應(yīng)的用戶應(yīng)用程序相關(guān)聯(lián),用于測試目標(biāo)對象并產(chǎn)生一個表示相關(guān)的用戶應(yīng)用程序處理目標(biāo)對象的適合程度的可能性分?jǐn)?shù);和b)一個對象映射器,用于查詢所述方法測試器,基于所述可能性分?jǐn)?shù)識別一個補充應(yīng)用程序,并傳遞所述目標(biāo)對象至所述補充應(yīng)用程序。
12.如權(quán)利要求11的對象鏈接接口,其中所述對象映射器傳遞所述目標(biāo)對象至所述方法測試器。
13.如權(quán)利要求12的對象鏈接接口,進一步包括由用戶激活的動態(tài)鏈接控制,用于識別對象映射器。
14.如權(quán)利要求13的對象鏈接接口,其中動態(tài)鏈接控制獲得從主應(yīng)用程序所述目標(biāo)對象并傳遞所述目標(biāo)對象至所述對象映射器。
15.一種由計算機實現(xiàn)的對象鏈接接口,用于將一個目標(biāo)對象動態(tài)地鏈接至所述計算機上可用的一個補充應(yīng)用程序,包括a)一個由用戶激活的動態(tài)鏈接控制,用于獲得目標(biāo)對象的一個拷貝;b)一個對象映射器,用于從動態(tài)鏈接控制接收目標(biāo)對象并補充一個補充應(yīng)用程序處理所述目標(biāo)對象;c)一個或多個應(yīng)用程序封裝,每個與相應(yīng)的應(yīng)用程序相關(guān)聯(lián),從對象映射器接收目標(biāo)對象,所述應(yīng)用程序封裝包括一個方法測試器,用于測試目標(biāo)對象并產(chǎn)生一個表示相關(guān)用戶應(yīng)用程序處理目標(biāo)對象的適合程度的可能性分?jǐn)?shù);和d)所述對象映射器用于查詢每個所述方法測試器以獲得所述可能性分?jǐn)?shù),以識別一個補充應(yīng)用程序,用于處理所述目標(biāo)對象,并傳遞目標(biāo)對象至所述補充應(yīng)用程序。
16.如權(quán)利要求15的對象鏈接接口,其中應(yīng)用程序封裝控制相關(guān)應(yīng)用程序的配置,啟動和終止。
全文摘要
一種對象鏈接接口,用于計算機系統(tǒng)動態(tài)地鏈接主應(yīng)用程序中的被選目標(biāo)對象和第二個用戶應(yīng)用程序。運行環(huán)境包括多個方法測試器,每個與特定的用戶應(yīng)用程序相關(guān),和一個對象映射器。方法測試器被傳遞一個目標(biāo)對象的拷貝并測試相關(guān)的應(yīng)用程序處理目標(biāo)對象的適合程度并產(chǎn)生一個相應(yīng)的可能性分?jǐn)?shù)。對象映射器查詢每個方法測試器以獲得可能性分?jǐn)?shù)并基于所述可能性分?jǐn)?shù)識別一個或多個適合處理該目標(biāo)對象的應(yīng)用程序。
文檔編號G06F9/46GK1269895SQ98808998
公開日2000年10月11日 申請日期1998年8月20日 優(yōu)先權(quán)日1997年9月12日
發(fā)明者B·G·莫恩, B·班克勒爾 申請人:艾利森公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
抚远县| 武山县| 禹城市| 屏山县| 定陶县| 东辽县| 建昌县| 宁武县| 吉水县| 娱乐| 日喀则市| 银川市| 普兰店市| 惠州市| 文山县| 三江| 浏阳市| 新邵县| 高淳县| 宣化县| 交口县| 南丰县| 沂源县| 礼泉县| 屯门区| 皮山县| 南平市| 乐昌市| 车致| 张掖市| 灵丘县| 织金县| 松滋市| 和平区| 弋阳县| 尚义县| 德庆县| 东丽区| 旬邑县| 固始县| 青海省|