新四季網

封裝程序供遠程執行的方法和裝置的製作方法

2023-09-16 19:53:15

專利名稱:封裝程序供遠程執行的方法和裝置的製作方法
本申請與下面的美國專利申請相關,並將其作為參考美國專利申請No.09/044,904,題目為「連結程序供遠程執行的方法和裝置」,其代理人文檔號為.06502.0074-00000,並且與本申請的申請日相同。
本發明的實施例一般地涉及分布式計算機系統,特別涉及封裝程序供遠程執行的方法和裝置。
在當今社會中,網際網路已經成為信息交換的重要媒介。雖然網際網路現在在一般公眾中非常普及,其最初是開始於一個由政府和學術研究者使用的互連計算機的系統(或網絡)。這種網絡的一個早期問題源於相互連接的計算機是不相同這樣一個事實;這些計算機採用不同的硬體和不同的作業系統。在這樣一個多機種網絡上的信息交換產生了通信的問題這個問題是通過在共同標準上的協議來解決的,包括諸如傳輸控制協議/互連網絡協議(TCP/IP)和超文本傳輸協議(HTTP)等的協議。這些協議使各種互連機器能以靜態文本或圖形文件的形式共享信息。
然而,這些協議在網際網路的發展中只代表了兩個步驟。雖然用戶可以在與網際網路相連的各種計算機之間交換信息文件,但他們不能交換以常規語言、例如C或C++寫成的可執行應用程式,這些可執行應用程式是為特定的處理器(例如,Intel奔騰處理器)和/或特定的作業系統(例如,Windows 95或DOS)而設計的。這個問題因JavaTM程序設計語言及其相關的運行時間系統的出現而得到了解決。
Java程序設計語言是一個面向對象的程序設計語言,在例如由Addison-Wesley的Mary Campione和Kathy Walrath在1996年所著的題為「JavaTM導讀」的教科書中進行了描述1。重要地是,Java程序設計語言是一個與平臺無關的解釋語言-也就是說,其實用性並不限於一個特定的計算機系統。使用Java程序設計語言,軟體開發者以通常被稱為Java原始碼的形式寫程序。當開發者完成程序的編寫時,他則以一個Java編譯器將其編譯成被稱為字節代碼的中間形式。Java原始碼和字節代碼都是與平臺無關的。
然後,可以將編譯過的字節代碼在任何採用了一個包括虛擬機(VM)的可兼容運行時間系統的計算機系統上執行,例如包括Java虛擬機(JVM)和Java類庫的Java運行環境(JRE)。JVM在由Addison Wesley的Tim Lindholm和FrankYellin在1996年所著的題為「Java虛擬機規程」的教科書中進行了描述。JavaVM起到作為字節代碼和所使用的特定計算機系統之間的解釋器的作用。通過使用與平臺無關的字節代碼和Java VM,可以在任何計算機系統上執行以Java程序設計語言寫出的程序。這在將不同的計算機系統進行互連的網絡、例如網際網路中是特別有用的。
在能夠執行一個Java程序之前,必須將某些必不可少的類(class)裝載進執行該程序的計算機的存儲器中。這些類可以從計算機的磁碟裝載,但更常用的是通過網絡從一個伺服器傳輸。習慣上,將這些類在程序執行期間儘可能晚地裝載;換句話說,它們是根據需要在程序執行期間首次被引用時才裝載的。當這種裝載出現時,一旦需要一個類的任何一部分,通常裝載整個類。
根據一種常規方法,當機器上的用戶發出執行駐留在一個遠程伺服器上的程序的請求時,將包含main方法的類文件通過網絡從該伺服器裝載到該客戶機這個類文件包含程序字節代碼。虛擬機然後通過調用程序的main方法開始執行。
執行一直持續進行到程序引用一個成份,例如,被稱為「F」的成份。響應於該引用,將包含成份F的整個類從伺服器上的類文件通過網絡傳輸給客戶機。所引用的成份F被使用,執行然後繼續進行,直到引用另一個成份,例如被稱為「G」的成份。響應於該引用,將包含成份G的整個類從伺服器上的類文件通過網絡傳輸給客戶機。執行則繼續進行到結束。一旦執行已經完成,在客戶機和伺服器之間通過網絡的一系列連接最終可以被終止。
以上說明表明常規方法有兩個顯著的缺陷。首先,在程序執行期間,它需要在客戶機和伺服器之間的重複連接。這樣一種連接所必須的長周期對於諸如移動計算的情況是成問題的。其次,一旦引用一個成份,例如成份F,該方法需要從伺服器加載包含所引用成份的整個類。然而,如果在類內只有很少的成份最終被使用,則從伺服器向客戶機傳輸未用成份所需的帶寬就被浪費了。這在涉及客戶機和伺服器之間的有限帶寬、即慢的連接速度或高等待時間的連接的情況中是成問題的。
因此,需要一種通過只將一整個程序的所需成份封裝在一起並在執行開始之前將其傳送給客戶機來減輕這些問題的系統。已經採用了用於遠程執行的預封裝軟體,該軟體使用其他需要機器兼容性的編譯計算機語言,例如Cobol、C和Fortran。然而,還沒有採用使用一種面向對象的語言、例如Java程序設計語言的軟體,其中Java程序設計語言提供了很多另外的好處,例如從其父類提取所需的成份。
依據本發明,一種為分布式系統中的執行封裝一個程序成份的方法包括如下步驟接收為一個客戶機上的遠程執行封裝程序的請求,識別在客戶機可得到的程序中引用的任何類,以及向一個連結編輯器提供一個包括至少一個對於所識別類的引用的指令。
依據本發明,一種計算機可讀介質包含用於為分布式系統中的執行封裝一個程序成份的指令,該封裝通過下列步驟完成接收為一個客戶機上的遠程執行封裝程序的請求,識別在客戶機可得到的程序中引用的任何類,以及向一個連結編輯器提供一個包括至少一個對於所識別類的引用的指令。
依據本發明,一種為分布式系統中的執行封裝一個程序成份的設備,包括如下裝置用於接收為一個客戶機上的遠程執行封裝程序的請求的裝置,用於識別在客戶機可得到的程序中引用的任何類的裝置,以及用於向一個連結編輯器提供一個包括至少一個對於所識別類的引用的指令的裝置。
依據本發明,一個系統包括客戶機、伺服器和網絡。客戶機具有處理器、存儲器和包括虛擬機任務的運行環境。伺服器具有處理器、存儲器、接口任務、連結編輯器任務和成份文件。網絡將客戶機和伺服器進行互連。
在本說明書中所包含的並構成說明書的一部分的附圖顯示了本發明的一個實施例,並與說明書一起用於解釋本發明的優點和原理。在附圖中,

圖1是一個典型的客戶機-伺服器結構的方框圖,用於說明使用包括一個虛擬機的運行環境的遠程程序執行;圖2是顯示一個典型的可執行面向對象程序及其引用的成份和它們的依賴性的方框圖;圖3是說明與本發明一致的連結和執行的定時的時線;圖4是顯示典型的與伺服器和客戶機有關的接口和連結編輯器任務的方框圖;圖5是由與本發明一致的封裝處理中的接口任務執行的步驟的流程圖;圖6是在本發明的一個實施例中由封裝輸出文件中的連結編輯器執行的步驟的流程圖;以及圖7是在本發明的一個實施例中為了增加必要的方法而執行的步驟的流程圖;以及圖8是在本發明的一個實施例中為了執行程序而由客戶機執行的步驟的流程圖。
下面將參考附圖詳細說明本發明的實施形式。其中,在整個附圖和下面的說明中,相同的標號代表相同或相似的部分。A.概述依據本發明的系統和方法工作在一個分布式計算機系統中,該系統典型地具有多個客戶機和一個或多個伺服器。例如,試圖執行一個程序的客戶機向伺服器請求將運行程序所需的軟體封裝在一起。在形成該請求時,客戶機可以指定應該包括在該程序包內的特定成份。
在伺服器執行的任務(「接口任務」)接收到這個請求,並確定已經駐留在客戶機內的軟體成份。接口任務應用該信息形成一組給被稱為連結編輯器的另一任務的指令。這些指令可以包括要執行的程序名,因為已經駐留在客戶機內而不必被封裝的成份,以及客戶機可能已經指定要包括在該程序包內的任何軟體成份的名稱。
連結編輯器接收此信息,並產生一個包含駐留在伺服器內並且程序執行所必須的所有軟體成份的輸出文件。這個輸出文件是通過迭代地分析引用其他軟體成份的程序並從這些成份的父類提取出這些成份而產生的。連結編輯器將完成的輸出文件發送給接口任務,接口任務將其傳送給需要的客戶機,程序開始執行。B.術語為了說明的緣故,下面的詳細說明是基於Java程序設計語言的。由於這個原因,下面是在下文所用到的術語的簡要定義部分。然而,本領域的普通技術人員應該認識到,下面說明的原理同樣適用於其他程序設計語言。
Java應用程式包括一個或多個類定義,每個類定義已經被編譯成它自己的.class文件,包含字節代碼和其他信息。一個「類」本身又是一個數據(「欄位」)、在數據上操作的「方法」、以及輔助信息的集合。例如,輔助信息可以包括共享的數據結構、超類(superclass)的名字、以及實現的接口。在這裡所用的術語「成份」指的是方法或欄位或二者皆包括。「對象」是採用由一個類提供的藍圖所生成的東西,即它是類的一個「實例」。Java應用程式必須包含一個定義main方法的類,該main方法代表Java解釋器開始執行程序的一點。這樣一種應用程式可以由Java解釋器、即Java VM來執行。
與一個單獨的應用程式相比,Java小應用程式(applet)不包含main方法,因此不能直接由Java解釋器執行。相反,Java小應用程式是由一個已經執行的Java應用程式、例如網瀏覽器所加載的類。Java應用程式在合適的時間調用小應用程式的各種方法。
在這裡所用的術語「程序」,在單獨使用時,可以代表應用程式、Java小應用程式、過程或其他軟體代碼。術語「任務」可以代表一個在計算機處理器上執行的程序。術語「程序包」可以包括成份、輔助信息或程序執行所需的其他數據。
為了簡化的緣故,在這裡所包含的例子假設一個應用程式正在執行。然而,本領域普通技術人員應該認識到,本發明的權利要求可以包括一個小應用程式或其他軟體代碼的執行。C.結構圖1顯示了Java程序設計語言在一個分布式計算系統中的使用。該系統包括通過網絡150互連的一個或多個伺服器、例如伺服器160和一個或多個客戶機、例如客戶機100和155。軟體開發者應用Java程序設計語言生成一個程序,並將其編譯成字節代碼115,存儲在伺服器160上。伺服器160一般還包括很多由Java程序使用的類文件125。當客戶100希望執行一個Java程序時,它向伺服器160發出一個請求。作為響應,伺服器160向客戶機100發送程序115的字節代碼版本。在客戶機100,字節代碼115在一個運行環境110上執行,運行環境110在字節代碼115與駐留在客戶機100上的處理器之間進行解釋。
圖2是顯示在一個典型的可執行程序內的成份引用的例示性方框圖。在這個例子中,程序200引用四個成份,分別顯示為成份A 210、成份B 220、成份C 230和成份D 240。這些引用成份自己又引用其他成份。例如,成份B 220引用成份B1 250。同樣,成份C 230引用成份A 210和成份C1 270。成份C1 270自己又引用成份C1A 280。這樣一種由一個成份對另一個成份的引用通常被稱作為依賴性(dependency)。因為在程序執行期間會被用到,每個被引用的成份必須被加載。D.時線圖3是用於說明依據本發明的連結和執行的定時的時線。當用戶發出一個在客戶機100上執行程序的請求時(點310),程序開始。作為響應,伺服器160確定程序執行需要哪些成份和依賴性(點320)。然後,將這些所需成份的每一個與輔助類信息一起通過網絡150從伺服器160傳送給客戶機100(點330)。此時,已經將程序執行所需的所有成份和類都從伺服器150傳送到客戶機100,因此,在兩者之間的連接可以中斷。
然後程序執行開始(點340),並引用成份A 210(點350)。然而,因為該成份已經(在點330)被加載在客戶機100上,不需要將該成份從伺服器160向客戶機100單獨傳送。同樣,在引用成份B 220時(點360),因為它已經被從伺服器160傳送到客戶機100,所以不需要再傳送它。因此,執行不中斷地進行到結束(點370)。
圖3證明了依據本發明的處理僅僅需要客戶機100與伺服器160保持連接到程序加載結束(從點300至點330)。一旦所需的成份和輔助類信息已經被加載(在點330),客戶機100可以斷開與伺服器160的連接。則對於整個程序執行期間(點340至點370),客戶機100與伺服器160無須相連。此外,伺服器160隻向客戶機100傳送對於程序執行所必須的那些成份和輔助類信息(點330)。通過去除了對無用成份的傳輸,則更有效地利用了帶寬。E.接口任務和連結編輯器的結構圖4是顯示與伺服器和客戶機相關的接口任務和連結編輯器的方框圖。客戶機100通過網絡150與伺服器160互連伺服器160包含一個可以包含Java類文件的存儲器482。存儲器482的例子包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬碟驅動器或基於光碟的ROM(CD-ROM)。有兩個任務在伺服器160上執行接口任務484和連結編輯器487。向伺服器160發出一個封裝所需Java代碼的請求,以便在客戶機100上執行程序。在伺服器160,這個請求由接口任務484接收。接口任務484然後形成一組封裝指令並將其發送給連結編輯器487。連結編輯器487生成一個包含駐留在伺服器160內的執行所需的任何成份的程序包,並將該程序包發送給接口任務484。接口任務484接收到該程序包,將其發送給客戶機100,客戶機100應用該程序包來執行程序。F.接口任務圖5是由依據本發明的封裝過程中的接口任務所執行的步驟的流程圖。在過程開始時,接口任務484(在伺服器160上執行)接收為一指定客戶機、例如客戶機100上的執行封裝Java程序的請求(步驟510)。Java程序一般被指定為是Java類和成份的集合。一些類文件的位置是預先定義的。其他所必需的類的位置被包括在封裝Java程序的請求中。
響應於這個請求,接口任務484為連結編輯器形成一組指令。作為這些指令的一部分,接口任務通知連結編輯器487關於程序的開始點(步驟515)。這給了連結編輯器487一個用於確定需要哪些成份的開始點。
接口任務484還通知連結編輯器487任何已經存在於客戶機100上的類(步驟520)。通過提供這個信息,接口任務避免了不必要的封裝連結編輯器487不需要封裝已經存在於客戶機100上的成份。這通過使輸出文件的大小最小而節省了使用的帶寬。該信息可以作為封裝成份請求的一部分提供給接口任務(步驟510)。或者,該信息可以被預先提供,存儲在伺服器160的存儲器482內。為了使這一步驟能正常工作,已經存在於客戶機100上的類與在伺服器160上的那些必須是一致的。
接口任務484還通知連結編輯器487關於任何應該增加到程序包中的附加成份(步驟530)。這對於有些情況是必須的,例如,如果由於包含一個成份的類已經存在於客戶機100上、則該成份被排除在連結步驟之外的話;然而,這個被排除的成份可能會引用在客戶機100上沒有的其他成份,因此可能會需要由連結編輯器487增加到程序包內。除了由於其類已經存在於客戶機100上而被排除在外的成份之外,還可能有一些依賴性不能被有計劃地發現。接口任務484一般(在步驟510)被通知將任何附加成份作為封裝成份請求的一部分。
例如,方法quicksort可以被排除在連結步驟之外,因為包含該方法的類sun.misc.Sort已經被加載在客戶機100上了。當方法quicksort被調用時,它的一個參數是具有方法doCompare的對象Quicksort將調用doCompare,而doCompare可能還未被加載在客戶機100上。因此,接口任務484必須通知連結編輯器487方法doCompare必須作為一個附加成份被加載。
接口任務484還通知連結編輯器487用於查找所需Java類文件的位置列表(步驟540)。接口任務484將這些指令發送給連結編輯器487(步驟550),連結編輯器487產生一個輸出文件,這將在下面參考圖5進行說明。接口任務484接收該輸出文件,並將其發送給客戶機100(步驟560),該過程結束。G.連結編輯器圖6是依據本發明的由連結編輯器487在封裝輸出文件中執行的步驟的詳細流程圖。出於例示的目的,下面對流程的說明是基於圖2的例子的。
在過程開始時,連結編輯器487(一般在伺服器160上執行)從接口任務484接收一組指令。連結編輯器487然後生成並以要執行的程序的開始點初始化一個列表(步驟605)。該列表被稱為「成份列表」,包含對每個必須由連結編輯器487加載的所需成份的引用。
連結編輯器487然後選擇在成份列表中的下一項,最初將為main方法(步驟610)。連結編輯器487查看所選成份是否在要從連結步驟中排除的項目列表上(步驟615)。成份可以在要排除的項目列表上,例如,因為該成份更容易從其他來源、例如客戶機100或其他伺服器獲得。因為main方法不會在要排除的項目列表上,所以連結編輯器487查看以確定所選擇成份是否以前已經加載進連結過程(步驟620)。因為main方法不會已經在以前加載過,則連結編輯器487採用由伺服器在其給連結編輯器487的指令中提供的文件位置列表對包含要加載的成份的類文件進行定位(步驟625)。連結編輯器487讀取類文件、提取與該類文件相聯繫的任何輔助信息、從該類文件提取出所選擇成份、並將提取出的輔助信息和成份增加到一個輸出文件(步驟630)。應該注意,通過這樣做,連結編輯器487隻提取出所需成份和輔助信息,而不是加載整個類。
在加載了提取出的成份之後,連結編輯器487檢查被替代的方法(步驟632)。該步驟將在下面參考圖7進一步說明。接著,連結編輯器487分析提取出的成份,以確定其是否引用了其他成份(步驟635)。換句話說,連結編輯器487分析提取出的成份的依賴性。在這個例子中,main方法引用了四個成份A、B、C和D。因為提取出的成份(main)包含依賴性(步驟640),所以將這些依賴性增加到成份列表中(步驟645),然後(在步驟610)重複該過程。
然後對於成份A、B、C和D進行與上述的關於main方法相同的過程假設成份D被包含在一個接口任務484指示連結編輯器487從封裝過程中排除的類中(例如,因為該類已經存在於客戶機100上),則成份D將被排除在輸出文件之外(步驟615)。另一方面,成份A、B和C將被從它們的各個類中(與與這些類相聯繫的輔助信息一起)提取出來,並增加到輸出文件中(步驟625-630)。當這些成份被提取和分析時,連結編輯器487將發現,成份B引用了成份B1,成份C引用了成份A和C1(步驟635)。因此成份B1、A和C1將被增加到成份列表中(步驟645),該過程再一次進行重複(步驟610)。
在這下一次循環中,將不提取成份A,因為它已經被增加到輸出文件中了(步驟620)。但成份B1和C1將被從它們各自的類中提取出來,與與它們的類相聯繫的輔助信息一起,增加到輸出文件中(步驟625-630)。連結編輯器487將發現,成份C1引用了成份C1A(步驟635),於是將其增加到成份列表(步驟645)。過程再重複一次,在此期間,成份C1A被從其相應的類中(與該類的輔助信息一起)提取出來,增加到輸出文件中(步驟625-630)。
通過應用這個迭代過程,連結編輯器487生成一個包含駐留在伺服器160中的執行程序所必需的所有成份(及輔助類信息)的輸出文件。連結編輯器487將這個輸出文件發送到接口任務484(步驟655),該過程結束。
圖7是依據本發明為了檢查被替代的方法、由連結編輯器487執行的步驟的流程圖。替代是一種用於將一個方法的超類的實施以子類的實施來代替的技術。為了檢查被替代的方法,連結編輯器487首先確定提取出的成份是一個方法還是數據(步驟705)。因為替代問題僅僅與是方法的成份有關,如果提取出的成份是數據的話,則不必進行任何操作。另一方面,如果提取出的成份是方法,連結編輯器487確定該方法是否是一個構造程序(即,它是否生成一個對象)(步驟710)。
如果提取出的方法不是一個構造程序,連結編輯器487接著確定該方法是否是一個靜態方法(步驟715)。如果它是靜態的,則不必進行任何操作,因為靜態方法不能被替代。如果該方法不是靜態的,則連結編輯器487查看該提取出的方法是否已被替代。特別地連結編輯器487搜索(提取出的方法的類的)已經具有一個被加載的構造程序的所有子類。如果這些子類中的任何一個具有替代了所提取方法的方法,則必須將這個替代的方法加到成份列表中(步驟720)。
如果提取出的方法是一個構造程序,連結編輯器487搜索所提取方法的類,以確定其是否包含替代了以前加載的方法的任何方法。特別地,連結編輯器487為非靜態方法(靜態方法不能被替代)搜索包含所提取成份的類(步驟725)。如果這些非靜態方法中的任何一個替代了以前從所提取成份的類的超類加載的一個方法(步驟730),則替代的非靜態方法必須被增加到成份列表中(步驟735)。上述方法不僅用於被替代的方法,還用於作為Java接口說明的一部分的方法。H.客戶機過程圖8是依據本發明由執行一個程序的客戶機執行的步驟的流程圖。首先,客戶機100發出一個開始執行指定程序的請求(步驟810)。響應於該請求,客戶機100從伺服器160接收一個包含程序執行所需的所有成份的封裝文件(即,上面提到的輸出文件)。客戶機100將所提供的成份增加到那些已經存在於客戶機100上的成份中(步驟830)。特別地,客戶機100從封裝文件中讀取信息,建立內部數據結構,並將這些數據結構連結成它自己的類名列表客戶機100然後開始執行程序(步驟840),根據需要分辨(resolve)類名。該過程然後結束。I.結論上述系統只將程序執行所必須的成份封裝在一起,並在執行開始之前將它們傳送給該客戶機上面對本發明的一個實施形式的說明只是為了例示和說明的目的。例如,所述的實施例包括軟體,但本發明也可以被實現為硬體與軟體的結合或單獨以硬體實現。在上述說明的提示下,可以作出各種修改和變化,或者可以從本發明的實踐中得出。
雖然依據本發明的系統和方法是在例示性的分布式系統和Java程序設計環境下操作的,本領域普通技術人員應該理解,本發明可以在其他系統和程序設計環境中實現。另外,雖然本發明的各個方面被描述為存儲在存儲器中,本領域普通技術人員應該理解,這些方面也可以存儲在其他類型的計算機可讀介質中,例如二級存儲設備,象硬碟、軟盤或CD-ROM;來自網際網路的載體;或其他形式的RAM或ROM。本發明的範圍由附帶的權利要求及其等效物限定。
權利要求
1.一種用於在分布式系統中執行程序的方法,包括如下步驟接收為一個客戶機上的遠程執行封裝程序的請求;識別在客戶機可得到的程序中引用的任何類;以及向一個連結編輯器提供對於所識別類的引用。
2.如權利要求1所述的方法,其特徵在於,識別步驟還包括根據存儲在一個存儲器中的信息確定任何可得到的類的步驟。
3.如權利要求1所述的方法,其特徵在於,識別步驟還包括根據包含在封裝程序請求內的信息確定任何可得到的類的步驟。
4.如權利要求1所述的方法,其特徵在於,提供步驟還包括下列步驟接收對包括在程序中的成份的引用;接收對程序成份的文件位置的引用;以及向連結編輯器提供程序成份和文件位置的標識。
5.如權利要求1所述的方法,其特徵在於,提供步驟還包括下列步驟確定程序的開始點;以及向連結編輯器提供開始點的標識。
6.如權利要求1所述的方法,其特徵在於,提供步驟還包括下列步驟接收對要增加到程序包中的附加成份的引用;以及向連結編輯器提供附加成份的標識。
7.如權利要求6所述的方法,還包括向連結編輯器提供附加成份的文件位置的標識的步驟。
8.如權利要求1所述的方法,還包括下列步驟從連結編輯器接收一個程序包;以及向客戶機發送所述程序包。
9.如權利要求8所述的方法,還包括將一個程序包成份增加到已經存在於客戶機上的成份中的步驟。
10.一種計算機可讀介質,包含用於為分布式系統中的執行封裝程序成份的指令,所述封裝通過如下步驟完成接收為一個客戶機上的遠程執行封裝程序的請求識別在客戶機可得到的程序中引用的任何類;以及向一個連結編輯器提供一個對於所識別類的引用。
11.如權利要求10所述的計算機可讀介質,其特徵在於,識別步驟還包括根據存儲在一個存儲器中的信息確定任何可得到的類的步驟。
12.如權利要求10所述的計算機可讀介質,其特徵在於,識別步驟還包括根據包含在封裝程序請求內的信息確定任何可得到的類的步驟。
13.如權利要求10所述的計算機可讀介質,其特徵在於,提供步驟還包括下列步驟接收對包括在程序中的成份的引用;接收對程序成份的文件位置的引用;以及向連結編輯器提供程序成份和文件位置的標識。
14.如權利要求10所述的計算機可讀介質,其特徵在於,提供步驟還包括下列步驟確定程序的開始點;以及向連結編輯器提供開始點的標識。
15.如權利要求10所述的計算機可讀介質,其特徵在於,提供步驟還包括下列步驟接收對要增加到程序包中的附加成份的引用;以及向連結編輯器提供附加成份的標識。
16.如權利要求15所述的計算機可讀介質,還包括向連結編輯器提供附加成份的文件位置的標識的步驟。
17.如權利要求10所述的計算機可讀介質,還包括從連結編輯器接收一個程序包;以及向客戶機發送所述程序包的步驟。
18.如權利要求17所述的計算機可讀介質,還包括將一個程序包成份增加到已經存在於客戶機上的成份中的步驟。
19.一種用於在分布式系統中執行程序的設備,包括用於接收為一個客戶機上的遠程執行封裝程序的請求的裝置;用於識別在客戶機可得到的程序中引用的任何類的裝置;以及用於向一個連結編輯器提供一個對於所識別類的引用的裝置。
20.一種系統,包括一個具有(a)處理器、(b)存儲器和(c)包括虛擬機任務的運行環境的客戶機;一個具有(a)處理器、(b)存儲器、(c)接口任務、(d)連結編輯器任務和(e)成份文件的伺服器;以及將客戶機和伺服器進行互連的網絡。
全文摘要
在伺服器執行的任務接收到為一個客戶機上的遠程執行封裝程序代碼的請求,並確定已經存在於客戶機上的軟體成份。該任務採用該信息形成一組對另一個生成該程序包的任務的指令。將所生成的程序包傳送給客戶機,程序執行開始。
文檔編號G06F9/445GK1233009SQ9910738
公開日1999年10月27日 申請日期1999年3月19日 優先權日1998年3月20日
發明者皮特·W·馬德尼, 裡查德·塔克, 尼迪姆·福勒斯克, 哈尼·格葉斯卡 申請人:昇陽電腦公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀