亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于共享存儲(chǔ)器空間的交互式設(shè)計(jì)工具的制作方法

文檔序號(hào):6418809閱讀:177來(lái)源:國(guó)知局
專利名稱:用于共享存儲(chǔ)器空間的交互式設(shè)計(jì)工具的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及分布式計(jì)算機(jī)系統(tǒng),本發(fā)明尤其涉及在分布式計(jì)算機(jī)系統(tǒng)中的目標(biāo)流的模型化。
背景技術(shù)
分布式計(jì)算機(jī)系統(tǒng)是這樣的系統(tǒng),在這種系統(tǒng)中,把計(jì)算機(jī)操作的程序設(shè)計(jì)和數(shù)據(jù)分散在一臺(tái)以上的計(jì)算機(jī)上,通常是分散在具有許多臺(tái)計(jì)算機(jī)的網(wǎng)絡(luò)上。用于組織分布式系統(tǒng)的一種傳統(tǒng)方法使用用戶-服務(wù)器模型,其中分布式系統(tǒng)的一方(用戶)向分布式系統(tǒng)的另一方(服務(wù)器)請(qǐng)求某種服務(wù)。服務(wù)器響應(yīng)并適當(dāng)?shù)靥幚碛脩舻恼?qǐng)求。
在用戶-服務(wù)器模型下,當(dāng)用戶碰到位于服務(wù)器處的過(guò)程時(shí),可以使用遠(yuǎn)程過(guò)程調(diào)用(RPC)的某種形式來(lái)執(zhí)行該過(guò)程用戶通知服務(wù)器它希望使用某些參數(shù)來(lái)執(zhí)行過(guò)程,服務(wù)器執(zhí)行過(guò)程并且服務(wù)器把執(zhí)行的結(jié)果返回給用戶。
用戶-服務(wù)器分布式系統(tǒng)模型執(zhí)行“方法-調(diào)用-樣式”協(xié)議,其中用戶和服務(wù)器相互直接合作以執(zhí)行所要求的方法。然而,使用目標(biāo)流(flow-of-object)方法可以使許多分布式算法更好地模型化,其中分布式系統(tǒng)協(xié)議基于目標(biāo)出入的指定來(lái)保存目標(biāo)的“空間”(虛擬共享存儲(chǔ)器)的移動(dòng)。諸如Linda編程模型之類的持續(xù)共享存儲(chǔ)器空間是本技術(shù)領(lǐng)域中是公知的。例如,見(jiàn)DavidGelernter在《ACM程序設(shè)計(jì)語(yǔ)言和系統(tǒng)匯刊》,第7卷,第1期,第80-112頁(yè)(1995年1月)上的“在Linda中的生成計(jì)算”;Brain G.Anderson,DennisShasha的“持續(xù)的LindaLinda+交易+查詢處理”;和Scott R.Cannon,DavidDunn在《軟件-實(shí)踐和經(jīng)驗(yàn)》,第24卷,第5期,第446-449頁(yè)(1994年5月)上的“對(duì)Linda加上容錯(cuò)交易處理”。
圖1是示出示例分布式“書(shū)籍訂購(gòu)系統(tǒng)”100的圖,該系統(tǒng)使用目標(biāo)流方法來(lái)模擬分布式算法。在該系統(tǒng)中,計(jì)算機(jī)110-115操縱目標(biāo)(即,包含行為和/或數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)),以“流”入或“流”出空間102-105。分布式系統(tǒng)100包括購(gòu)買(mǎi)者計(jì)算機(jī)110、經(jīng)紀(jì)人計(jì)算機(jī)111和出售者計(jì)算機(jī)112-114??梢允箍臻g102-105設(shè)在計(jì)算機(jī)110-115中之一上或設(shè)在未在圖1中示出的另外的計(jì)算機(jī)上。
假定書(shū)籍購(gòu)買(mǎi)者110希望購(gòu)買(mǎi)一種特定的書(shū)50冊(cè)。購(gòu)買(mǎi)者110把目標(biāo)提交給空間102,所述目標(biāo)包括對(duì)所要的書(shū)的報(bào)價(jià)請(qǐng)求。經(jīng)紀(jì)人111從空間102取出報(bào)價(jià)請(qǐng)求并把報(bào)價(jià)請(qǐng)求(或報(bào)價(jià)請(qǐng)求的適當(dāng)?shù)男薷男问?寫(xiě)入空間103-105,該空間相應(yīng)于向經(jīng)紀(jì)人111注冊(cè)的特定的書(shū)籍批發(fā)商112-114的空間。在每個(gè)批發(fā)商112-114處的服務(wù)器分別從它的指定的空間103-105取出報(bào)價(jià)請(qǐng)求,并向某人顯示該請(qǐng)求。該人準(zhǔn)備報(bào)價(jià),然后把報(bào)價(jià)寫(xiě)回批發(fā)商空間以通過(guò)經(jīng)紀(jì)人111傳送到空間102(用另一種方法,可以由批發(fā)商112-114直接把報(bào)價(jià)寫(xiě)入公共空間102)。當(dāng)接通報(bào)價(jià)時(shí)間時(shí),購(gòu)買(mǎi)者110從空間102取出報(bào)價(jià)并向某人顯示這些報(bào)價(jià)以選擇獲勝的報(bào)價(jià)。
書(shū)籍訂購(gòu)系統(tǒng)100執(zhí)行分布式書(shū)籍訂購(gòu)算法,它只使用單個(gè)的接口(共享存儲(chǔ)器空間接口)使計(jì)算機(jī)110-114通過(guò)該接口相互作用。
雖然上述共享存儲(chǔ)器空間接口對(duì)于組織分布式計(jì)算資源呈現(xiàn)為一種有力的操作法(methodology),但是用相關(guān)聯(lián)的目標(biāo)設(shè)計(jì)空間組織和計(jì)算資源的當(dāng)前工具是不完善的,因?yàn)樗鼈円缶幊虇T對(duì)所有的遠(yuǎn)程過(guò)程調(diào)用人工地編碼,并人工地指定對(duì)共享存儲(chǔ)器空間的操作,包括存儲(chǔ)器空間所使用的目標(biāo)類型。因此,在本技術(shù)領(lǐng)域中需要更高級(jí)的用戶友好的工具用于設(shè)計(jì)使用空間和目標(biāo)流模型的分布式算法。
發(fā)明概要本發(fā)明的目的和優(yōu)點(diǎn)的一部分將在下面的說(shuō)明書(shū)中陳述,而一部分將從說(shuō)明書(shū)中明了或通過(guò)對(duì)本發(fā)明的實(shí)踐中得知。通過(guò)在所附的權(quán)利要求書(shū)中特別指出的單元和組合,將實(shí)現(xiàn)和達(dá)到本發(fā)明的目的和優(yōu)點(diǎn)。
為了達(dá)到目標(biāo),并根據(jù)這里所實(shí)施的和廣泛地描述的本發(fā)明的目的,符合本發(fā)明的第一個(gè)方面包括一種生成計(jì)算機(jī)代碼的方法,所述代碼確定在共享存儲(chǔ)器中的目標(biāo)流,所述方法包括下列步驟(1)顯示一個(gè)圖形接口,在其中設(shè)置代表計(jì)算資源的圖象和代表共享存儲(chǔ)器空間的圖象;(2)存儲(chǔ)信息,所述信息經(jīng)由圖形接口輸入,描述計(jì)算資源和共享存儲(chǔ)器空間之間的目標(biāo)流;以及(3)生成計(jì)算機(jī)代碼,所述代碼實(shí)現(xiàn)所描述的在共享存儲(chǔ)器空間和計(jì)算資源之間的目標(biāo)流。
符合本發(fā)明的第二個(gè)方面包括一種方法,所述方法生成確定在共享存儲(chǔ)器中的目標(biāo)流的計(jì)算機(jī)代碼,該方法包括下列步驟(1)把計(jì)算資源的圖形表示放置在圖形顯示區(qū)上;(2)把共享存儲(chǔ)器空間的圖形表示放置在圖形顯示區(qū)上;(3)輸入信息,所述信息描述計(jì)算資源的圖形表示和共享存儲(chǔ)器空間的圖形表示之間的數(shù)據(jù)流;以及(4)自動(dòng)生成計(jì)算機(jī)代碼,所述代碼實(shí)現(xiàn)相應(yīng)于共享存儲(chǔ)器空間的圖形表示的共享存儲(chǔ)器空間和相應(yīng)于計(jì)算資源的圖形表示的計(jì)算資源之間的數(shù)據(jù)流。
與本發(fā)明的第一個(gè)方面有關(guān)的另一個(gè)方面針對(duì)一種計(jì)算機(jī)可讀媒體和一種計(jì)算機(jī)系統(tǒng)。
附圖簡(jiǎn)述結(jié)合在本說(shuō)明中并成為本說(shuō)明的一部分的


了符合本發(fā)明的幾個(gè)實(shí)施例,附圖和說(shuō)明一起有助于解釋本發(fā)明的原理。在這些附圖中圖1是說(shuō)明示例分布式系統(tǒng)的圖,所述分布式系統(tǒng)使用目標(biāo)流來(lái)模擬分布算法;圖2是示例分布式系統(tǒng)的圖;圖3是在示例分布式系統(tǒng)中的示例計(jì)算機(jī)的圖;圖4A-4D是說(shuō)明符合本發(fā)明的交互式設(shè)計(jì)工具的示例圖形接口的圖;圖5是流程圖,說(shuō)明符合本發(fā)明的生成計(jì)算機(jī)的方法;以及圖6是說(shuō)明生成的計(jì)算機(jī)代碼的示例部分的圖。
詳細(xì)描述交互式設(shè)計(jì)工具允許設(shè)計(jì)者可視地確定在分布式計(jì)算系統(tǒng)中的計(jì)算資源和共享存儲(chǔ)器空間之間的目標(biāo)流。設(shè)計(jì)工具自動(dòng)地把目標(biāo)流的可視描繪轉(zhuǎn)換成實(shí)現(xiàn)所描繪的目標(biāo)流的計(jì)算機(jī)代碼。
現(xiàn)在將參考附圖描述較佳實(shí)施例的詳細(xì)說(shuō)明。
系統(tǒng)綜述符合本發(fā)明的方法和系統(tǒng)在有各種單元(包括硬件和軟件)的分布式系統(tǒng)中(“示例分布式系統(tǒng)”)工作。示例分布式系統(tǒng)能夠(1)允許系統(tǒng)的用戶在一個(gè)許多裝置的網(wǎng)絡(luò)上共享服務(wù)和資源;(2)向編程員提供可以開(kāi)發(fā)加強(qiáng)的、保密的分布式系統(tǒng)的工具和編程圖形;以及(3)簡(jiǎn)化管理分布式系統(tǒng)的任務(wù)。為了實(shí)現(xiàn)這些目標(biāo),示例分布式系統(tǒng)使用JavaTM編程環(huán)境,它允許以無(wú)縫方式從裝置到裝置地移動(dòng)代碼和數(shù)據(jù)兩者。因此,使示例分布式系統(tǒng)在Java編程環(huán)境的頂部成層(1ayer),并利用該環(huán)境的特征,包括它提供的保密性和它提供的強(qiáng)大的分類(typing)。在Jaworski的《Java 1.1開(kāi)發(fā)者手冊(cè)》Sams.net(1997)中更詳細(xì)地說(shuō)明了Java編程環(huán)境,通過(guò)參照將其引用于此。
在示例分布式系統(tǒng)中,聯(lián)合了不同的計(jì)算機(jī)和裝置,從而用戶看來(lái)象一個(gè)單個(gè)的系統(tǒng)。通過(guò)看來(lái)象單個(gè)系統(tǒng)的示例分布式系統(tǒng)提供訪問(wèn)的簡(jiǎn)單性和共享的能力,這是單個(gè)系統(tǒng)所能提供的但并不放棄個(gè)人計(jì)算機(jī)或工作站的靈活性和人格化的響應(yīng)。示例分布式系統(tǒng)可以包括由用戶操作的成千的裝置,這些用戶在地理上是分開(kāi)的,但是他們同意信用、管理和政策的基本觀念。
在示例分布式系統(tǒng)內(nèi)是由一個(gè)或多個(gè)裝置提供的服務(wù)的各種邏輯分組,把每個(gè)這種邏輯分組稱為一個(gè)Djinn?!胺?wù)”指用戶、程序、裝置或其它服務(wù)可以訪問(wèn)的資源、數(shù)據(jù)或功能性;以及可以計(jì)算的、與存儲(chǔ)有關(guān)的、與通信有關(guān)的或與提供對(duì)另外的用戶訪問(wèn)有關(guān)的資源、數(shù)據(jù)或功能性。作為Djinn的一部分提供的服務(wù)的例子包括諸如打印機(jī)、顯示器和軟盤(pán)等裝置;諸如應(yīng)用程序或使用程序等軟件;諸如數(shù)據(jù)庫(kù)和文件等信息;和系統(tǒng)的用戶。
用戶或裝置都可以加入Djinn。當(dāng)加入Djinn時(shí),用戶或裝置可以不增添或增添多個(gè)服務(wù)到Djinn,并在保密限制下可以訪問(wèn)它所包含的任何一個(gè)服務(wù)。因此,裝置和用戶聯(lián)合到Djinn中以共享對(duì)它的服務(wù)的訪問(wèn)。Djinn的服務(wù)呈現(xiàn)為Java編程環(huán)境的可編程的目標(biāo),該環(huán)境可以包含其它目標(biāo)、以不同編程語(yǔ)言寫(xiě)的軟件部分或硬件裝置。服務(wù)具有確定可以請(qǐng)求該服務(wù)的操作的接口,并且服務(wù)的類型確定構(gòu)成該服務(wù)的接口。
圖2描繪示例分布式系統(tǒng)200,它包含通過(guò)網(wǎng)絡(luò)208互連的計(jì)算機(jī)202、計(jì)算機(jī)204和裝置206。裝置206可以是多個(gè)裝置中的任何數(shù)目的裝置,諸如打印機(jī)、傳真機(jī)、存儲(chǔ)裝置或其它裝置。網(wǎng)絡(luò)208可以是局域網(wǎng)、廣域網(wǎng)或互聯(lián)網(wǎng)。雖然在所描繪的示例分布式系統(tǒng)200中只包括兩臺(tái)計(jì)算機(jī)和一臺(tái)裝置,但是熟悉本領(lǐng)域技術(shù)的人員會(huì)理解,示例分布式系統(tǒng)200可以包括另外的計(jì)算機(jī)或裝置。
圖3更詳細(xì)地描繪計(jì)算機(jī)202以示出分布式系統(tǒng)200的許多軟件和硬件部分。熟悉本領(lǐng)域技術(shù)的人員會(huì)理解,可以類似地組成計(jì)算機(jī)204或裝置206。計(jì)算機(jī)202包括存儲(chǔ)器302、次級(jí)存儲(chǔ)裝置304、中央處理單元(CPU)306、輸入裝置308以及視頻顯示器或監(jiān)視器310。存儲(chǔ)器302包括查找服務(wù)312、發(fā)現(xiàn)服務(wù)器314和Java運(yùn)行時(shí)間系統(tǒng)316。Java運(yùn)行時(shí)間系統(tǒng)316包括JavaTM遠(yuǎn)程方法調(diào)用系統(tǒng)(RMI)318和Java虛擬機(jī)320。次級(jí)存儲(chǔ)裝置304包括JavaSpace322。
如上所述,示例分布式系統(tǒng)200基于Java編程環(huán)境,于是使用了Java運(yùn)行時(shí)間系統(tǒng)316。Java運(yùn)行時(shí)間系統(tǒng)316包括Java API,允許程序在Java運(yùn)行時(shí)間系統(tǒng)的頂部運(yùn)行的程序以與平臺(tái)無(wú)關(guān)的方式訪問(wèn)各種系統(tǒng)功能,包括主操作系統(tǒng)的視窗能力和網(wǎng)絡(luò)能力。由于跨越Java運(yùn)行時(shí)間系統(tǒng)所端接的所有操作系統(tǒng)Java API提供單個(gè)公共API,故在Java運(yùn)行時(shí)間頂部運(yùn)行的程序以與平臺(tái)無(wú)關(guān)的方式運(yùn)行,而與主平臺(tái)的操作系統(tǒng)或硬件組成無(wú)關(guān)。作為從加利福尼亞州Maintain View的Sun Microsystems購(gòu)得的Java軟件開(kāi)發(fā)套件的一部分提供Java運(yùn)行時(shí)間系統(tǒng)316。
Java虛擬機(jī)320也促進(jìn)與平臺(tái)無(wú)關(guān)。Java虛擬機(jī)320的作用如同以字節(jié)代碼格式從程序接收指令的抽象計(jì)算機(jī)器,并把這些字節(jié)代碼動(dòng)態(tài)地轉(zhuǎn)換成諸如目標(biāo)代碼之類的可執(zhí)行的格式,并執(zhí)行它們。RMI318通過(guò)允許在一臺(tái)計(jì)算機(jī)或裝置上執(zhí)行的目標(biāo)引用在另一臺(tái)計(jì)算機(jī)或裝置上的目標(biāo)的方法而促進(jìn)遠(yuǎn)程方法調(diào)用。RMI和Java虛擬機(jī)兩者都作為Java軟件開(kāi)發(fā)套件的一部分而提供。
查找服務(wù)312確定可用于特殊Djinn的服務(wù)。即,可能有一個(gè)以上的Djinn,因而,示例分布式系統(tǒng)200中有一個(gè)以上的查找服務(wù)。查找服務(wù)312對(duì)于Djinn內(nèi)的每個(gè)服務(wù)包括一個(gè)目標(biāo)。并且每個(gè)目標(biāo)包含促進(jìn)訪問(wèn)相應(yīng)服務(wù)的各種方法。在題為“促進(jìn)訪問(wèn)查找服務(wù)的方法和系統(tǒng)”的待審查美國(guó)專利申請(qǐng)第_____號(hào)中更詳細(xì)地描述了查找服務(wù)312及其訪問(wèn),已經(jīng)通過(guò)參照引用了該專利申請(qǐng)。
當(dāng)把新裝置添加到示例分布式系統(tǒng)200時(shí),在一個(gè)稱之為引導(dǎo)和連接或發(fā)現(xiàn)的過(guò)程期間,發(fā)現(xiàn)服務(wù)器314進(jìn)行檢測(cè),并當(dāng)檢測(cè)到這種新裝置時(shí),發(fā)現(xiàn)服務(wù)器把對(duì)查找服務(wù)312的基準(zhǔn)傳送到新裝置,從而新裝置可以用查找服務(wù)登記它的服務(wù)并成為Djinn的一個(gè)成員。在登記之后,新裝置成為Djinn的一個(gè)成員,結(jié)果,它可以訪問(wèn)所有包含在查找服務(wù)312中的服務(wù)。在題為“提供在分布式系統(tǒng)中用于與裝置通信的可下載代碼的裝置和方法”的待審查美國(guó)專利申請(qǐng)第_________號(hào)中更詳細(xì)地描述了引導(dǎo)和連接的過(guò)程,已經(jīng)通過(guò)參照引用該專利申請(qǐng)。
熟悉本領(lǐng)域技術(shù)的人員會(huì)理解,示例分布式系統(tǒng)200可以包括許多查找服務(wù)、發(fā)現(xiàn)服務(wù)器和JavaSpaces。
雖然以在示例分布系統(tǒng)和Java編程環(huán)境中的操作來(lái)描述符合本發(fā)明的系統(tǒng)和方法,但是熟悉本領(lǐng)域技術(shù)的人員會(huì)理解,可以在其它系統(tǒng)和其它編程環(huán)境中來(lái)實(shí)現(xiàn)本發(fā)明。此外,雖然把本發(fā)明的各個(gè)方面(aspect)描述為存儲(chǔ)在存儲(chǔ)器中,但是熟悉本領(lǐng)域技術(shù)的人員會(huì)理解,也可以把這些方面存儲(chǔ)在或讀出自其它類型的計(jì)算機(jī)可讀媒體,諸如硬盤(pán)、軟盤(pán)或CD-ROM;LAIZI互聯(lián)網(wǎng)的載波;或RAM或ROM的其它形式。Sun、Sun Microsystems、Sun logo、Java和基于Java的商標(biāo)是在美國(guó)和其它國(guó)家的Sun Microsystems Inc.的商標(biāo)或注冊(cè)商標(biāo)。
JavaSpaces模型和術(shù)語(yǔ)符合本發(fā)明的交互式設(shè)計(jì)工具以目標(biāo)流方法來(lái)幫助設(shè)計(jì)者使用共享存儲(chǔ)器空間開(kāi)發(fā)的分布式系統(tǒng)來(lái)模擬分布式計(jì)算系統(tǒng)。如遍及本揭示所使用的,“共享存儲(chǔ)器空間”是指可以由一個(gè)以上的過(guò)程觀察或修改的任何存儲(chǔ)器。
雖然本發(fā)明的概念能同樣好地用于實(shí)現(xiàn)目標(biāo)流方法以模擬分布式系統(tǒng)的任何類型的共享存儲(chǔ)器空間,但是在這里所描述的實(shí)施例中,使用諸如JavaSpace322之類的JavaSpaces。
JavaSpace322是在分布式系統(tǒng)200內(nèi)程序使用來(lái)存儲(chǔ)目標(biāo)的目標(biāo)資源庫(kù)。程序使用JavaSpaces322來(lái)持久地存儲(chǔ)目標(biāo)和使在Java分布式系統(tǒng)內(nèi)的其它裝置可訪問(wèn)它們。在1997年11月17日提出的并且轉(zhuǎn)讓給共同受讓人的題為“使用多形入口和入口匹配的數(shù)據(jù)庫(kù)系統(tǒng)”的第08/971,529號(hào)待審查美國(guó)專利申請(qǐng)中更詳細(xì)地描述了JavaSpaces,通過(guò)參照在此引用該專利申請(qǐng)。下面對(duì)JavaSpaces作簡(jiǎn)要的綜述。
一個(gè)JavaSpace保持多個(gè)入口,其中一個(gè)入口是目標(biāo)的一個(gè)分類組??梢园讶肟趯?xiě)入JavaSpace,在JavaSpace中建立該入口的拷貝??梢允褂脴影逶贘avaSpaces中查找入口,這些樣板是入口目標(biāo),所述入口目標(biāo)具有把它的某些字段或全部字段設(shè)置到必須正確地匹配合的指定值。余留的字段作為通配符(wildcard),在查找中不使用這些字段。
JavaSpaces支持兩種查找操作讀和取。對(duì)JavaSpaces的讀請(qǐng)求或是返回一個(gè)入口,它與在其上完成讀取的樣板匹配,或是返回沒(méi)有找到匹配的指示。取請(qǐng)求象讀一樣操作,但是如果找到匹配,則從JavaSpace除去匹配入口。可以對(duì)JavaSpaces進(jìn)行持續(xù)的請(qǐng)求,以從而當(dāng)寫(xiě)入匹配指定樣板的入口時(shí),JavaSpace將通知請(qǐng)求器。
最好在相對(duì)于所述空間的保密交易狀態(tài)下完成修改JavaSpaces的所有操作。即,如果寫(xiě)操作成功地返回,則把該入口寫(xiě)入空間。而如果取操作返回一個(gè)入口,但已經(jīng)把該入口從空間除去,則將來(lái)沒(méi)有對(duì)入口讀和取的操作。換言之,雖然在JavaSpace中兩個(gè)或多個(gè)入口可以有正好相同的值,但在JavaSpaces中的每個(gè)入口最多可以取一次。
交互式設(shè)計(jì)工具符合本發(fā)明的交互式設(shè)計(jì)工具(IDT)允許用戶通過(guò)JavaSpaces以交互方式和可視方式設(shè)計(jì)目標(biāo)數(shù)據(jù)流。IDT的用戶可以可視地和用圖形來(lái)確定管理目標(biāo)流的協(xié)議。然后IDT可以產(chǎn)生執(zhí)行協(xié)議的計(jì)算機(jī)代碼。
圖4A-4D是說(shuō)明符合本發(fā)明的IDT的示例圖形接口的圖。最好IDT是由計(jì)算機(jī)202執(zhí)行的程序,存儲(chǔ)在存儲(chǔ)器302中,而且它在顯示器310上呈現(xiàn)圖形接口。
如圖4A所示,圖形接口400包括設(shè)計(jì)區(qū)402和工具條406。在設(shè)計(jì)區(qū)402中,編程員放置和操縱JavaSpaces的圖形表示和訪問(wèn)JavaSpaces的用戶。在工具條406上顯示JavaSpaces的表示和用戶計(jì)算資源(例如,計(jì)算機(jī))。例如,如圖所示,由圖標(biāo)408來(lái)表示JavaSpaces和由圖標(biāo)407來(lái)表示計(jì)算資源。為了把JavaSpaces添加到設(shè)計(jì)區(qū)402,編程員可以簡(jiǎn)單地在JavaSpaces圖標(biāo)上單擊并把它拖曳到設(shè)計(jì)區(qū)402。通過(guò)在圖標(biāo)407上的單擊,可以類似地增添用戶計(jì)算機(jī)。
當(dāng)激活標(biāo)有“創(chuàng)建代碼”的按鈕409時(shí),造成IDT產(chǎn)生確定在JavaSpaces中的入口類型的級(jí)別文件和/或產(chǎn)生在設(shè)計(jì)區(qū)402中放置的用戶的骨架代碼或部分骨架代碼。換言之,在設(shè)計(jì)區(qū)402中給出可視地描繪的信息,IDT產(chǎn)生計(jì)算機(jī)代碼,所述計(jì)算機(jī)代碼表示由在設(shè)計(jì)區(qū)402中的由編程員確定的功能,因此減輕了編程員必須人工地寫(xiě)入代碼的負(fù)擔(dān)。尤其,計(jì)算機(jī)代碼包括由用戶進(jìn)行的對(duì)合適的JavaSpaces的遠(yuǎn)程程序調(diào)用的實(shí)施。
雖然以包括具有兩個(gè)圖標(biāo)和一個(gè)按鈕的工具條402來(lái)說(shuō)明IDT的圖形用戶接口,但是本技術(shù)領(lǐng)域中具有一般技能的人會(huì)理解,設(shè)計(jì)區(qū)402和工具條406有許多可能的實(shí)施。例如,工具條406可以包含表示不同類型計(jì)算資源的附加的圖標(biāo),或可以用下拉菜單來(lái)實(shí)現(xiàn)。
為了進(jìn)一步澄清如上所述的符合本發(fā)明的概念和特征,現(xiàn)在將參考圖4B到4D來(lái)說(shuō)明使用IDT的示例分布式系統(tǒng)的建立,這些圖是在分布式計(jì)算系統(tǒng)的結(jié)構(gòu)中,在各點(diǎn)處的接口400的說(shuō)明。
圖4B是在編程員已經(jīng)把JavaSpaces加到設(shè)計(jì)區(qū)402之后設(shè)計(jì)區(qū)402的示意圖。作為例子,假定JavaSpaces410保持一些入口,所述入口包括存儲(chǔ)一部分圖象的“圖形目標(biāo)”。
圖4C是在編程員已經(jīng)加入用戶計(jì)算機(jī)系統(tǒng)412之后設(shè)計(jì)區(qū)402的示意圖,并且表示用戶計(jì)算機(jī)系統(tǒng)412將把圖形目標(biāo)入口寫(xiě)入JavaSpace410(由線413示出)。此刻,IDT可以顯示對(duì)話框415,其中,用戶可以把要寫(xiě)入JavaSpace410的入口的名稱(例如,“圖象段”)和類型(例如,圖形目標(biāo))輸入所述對(duì)話框中。類似地,可以使用另外的一些對(duì)話框來(lái)輸入另外的信息,諸如允許編程員確定JavaSpace的目標(biāo)的新類型。
圖4D是在編程員已經(jīng)分別添加第二、第三和第四用戶計(jì)算機(jī)系統(tǒng)416-418之后設(shè)計(jì)區(qū)402的示意圖。用戶416和417從JavaSpace410取得入口并把入口寫(xiě)入JavaSpace410。例如,用戶416和417可以是專業(yè)化高速圖形工作站,所述工作站對(duì)JavaSpace410中的圖形目標(biāo)入口執(zhí)行圖象處理操作。尤其,用戶416和417使用樣板監(jiān)視空間410,每當(dāng)把“圖形目標(biāo)”寫(xiě)入空間410時(shí),所述樣板指示匹配。然后由用戶416和417中之一從空間410取得匹配的目標(biāo),對(duì)器操作,并寫(xiě)回到JavaSpace410。用戶418從JavaSpace410取出由用戶416和417對(duì)其操作的入口。
如上所述,最好使用圖4C和4D中所示的線來(lái)向編程員指出哪些用戶將從JavaSpaces寫(xiě)、取或讀入口的指示,雖然也可選地使用其它的以圖形說(shuō)明目標(biāo)流的方法。
當(dāng)編程員激活用戶代碼按鈕409時(shí),IDT對(duì)在設(shè)計(jì)區(qū)402中的每個(gè)用戶產(chǎn)生計(jì)算機(jī)代碼。在圖4D所示的例子中,IDT將對(duì)用戶412、416、417和418產(chǎn)生計(jì)算機(jī)代碼。一般,對(duì)于每個(gè)用戶,IDT產(chǎn)生在指定的JavaSpace(s)上執(zhí)行寫(xiě)、得或讀操作的代碼,所述的JavaSpace(s)使用由編程員指定的入口類型。
圖5是說(shuō)明IDT產(chǎn)生計(jì)算機(jī)代碼的流程圖。IDT對(duì)在設(shè)計(jì)區(qū)中的每個(gè)用戶的JavaSpace操作(即,對(duì)于每個(gè)寫(xiě)、取或讀操作)產(chǎn)生代碼。一般,IDT將對(duì)每個(gè)用戶寫(xiě)入各別的程序或代碼模塊(步驟502、503)。在每個(gè)代碼模塊中,IDT產(chǎn)生相應(yīng)于每個(gè)JavaSpaces操作的代碼(步驟504和505)。最好,當(dāng)對(duì)于JavaSpaces操作寫(xiě)入代碼時(shí),IDT還把與代碼相關(guān)的信息存儲(chǔ)到可視顯示區(qū)(步驟506),從而,如果編程員改變分布式系統(tǒng)的可視表示或如果編程員人工地改變代碼以更新可視表示,則允許IDT適當(dāng)?shù)馗麓a。在計(jì)算機(jī)代碼中使用說(shuō)明性的注釋或通過(guò)建立數(shù)據(jù)庫(kù)以存儲(chǔ)所產(chǎn)生的代碼和可視描繪之間的相對(duì)應(yīng),可以執(zhí)行可視描繪和計(jì)算機(jī)代碼之間的相關(guān)性。
圖6是說(shuō)明為用戶416和417中之一產(chǎn)生的示例代碼模塊的圖。如圖4D所示,每個(gè)用戶416和417取圖形目標(biāo)和寫(xiě)圖形目標(biāo)。這兩個(gè)JavaSpaces操作分別用代碼段602和604來(lái)說(shuō)明。編程員可以增加另外的代碼,諸如代碼段601、603和605。例如,代碼段603可以對(duì)代碼段602所取得的圖形目標(biāo)上執(zhí)行諸如圖象平滑操作之類的圖象處理。代碼段604把經(jīng)平滑的代碼分段寫(xiě)回到JavaSpace410。
通過(guò)查找執(zhí)行JavaSpace操作所需要的指令和把合適的參數(shù)數(shù)據(jù)增加到指令中(例如,諸如要對(duì)其操作的JavaSpaces的名稱或地址和要從JavaSpaces寫(xiě)、取和讀的入口的標(biāo)識(shí)),IDT產(chǎn)生相應(yīng)于每個(gè)JavaSpace操作的代碼線。在IDT中預(yù)先確定執(zhí)行JavaSpace操作所需的指令的清單。
這里所描述的交互式設(shè)計(jì)工具允許編程員通過(guò)在分布式系統(tǒng)中的共享存儲(chǔ)器空間可視地設(shè)計(jì)高級(jí)(high-level)流,然后產(chǎn)生執(zhí)行該設(shè)計(jì)的計(jì)算機(jī)代碼??梢暠硎竞陀?jì)算機(jī)代碼是鏈接的,從而當(dāng)使任何一個(gè)接著改變時(shí),另一個(gè)自動(dòng)地更新。這是一個(gè)優(yōu)點(diǎn),它允許編程員更容易地設(shè)計(jì)并安排在分布式系統(tǒng)中的目標(biāo)流。然后,編程員可以把細(xì)節(jié)和附加功能添加到計(jì)算機(jī)代碼中。
雖然已經(jīng)說(shuō)明和描述了目前認(rèn)為是本發(fā)明的較佳實(shí)施例和方法時(shí),但熟悉本領(lǐng)域技術(shù)的人員會(huì)理解,可以進(jìn)行各種改變和修改,并且可以用等效物來(lái)替代其單元而不偏離本發(fā)明的實(shí)際范圍。例如,當(dāng)已經(jīng)參照使用JavaSpaces的基于Java的運(yùn)行時(shí)間環(huán)境描述了上述系統(tǒng)和方法,但可考慮使用其它運(yùn)行時(shí)間環(huán)境和共享存儲(chǔ)器。此外,雖然上述系統(tǒng)和方法涉及在目標(biāo)流中的目標(biāo),而該目標(biāo)流是使用目標(biāo)的傳統(tǒng)的面向目標(biāo)的定義(即,具有功能性和數(shù)據(jù)兩種能力的數(shù)據(jù)結(jié)構(gòu)),但是也可以使用諸如C語(yǔ)言“結(jié)構(gòu)”之類的簡(jiǎn)單的只有數(shù)據(jù)(data-only)結(jié)構(gòu)。
此外,可以進(jìn)行許多修改來(lái)適應(yīng)一個(gè)特殊的單元、技術(shù)或本發(fā)明的教導(dǎo)的實(shí)施而不偏離本發(fā)明的中心范圍。因此,不打算把本發(fā)明限于這里所揭示的特殊實(shí)施例和方法,而是本發(fā)明包括落在所附的權(quán)利要求書(shū)的范圍內(nèi)的所有
權(quán)利要求
1.一種在共享存儲(chǔ)器空間中產(chǎn)生確定目標(biāo)流的計(jì)算機(jī)代碼的方法,其特征在于,所述方法包括下列步驟顯示圖形接口,在所述圖形接口中放置表示計(jì)算資源的圖象和表示共享存儲(chǔ)器空間的圖象;存儲(chǔ)信息,所述信息經(jīng)由所述圖形接口輸入,它描述所述計(jì)算資源和所述共享存儲(chǔ)器空間之間的目標(biāo)流;以及產(chǎn)生計(jì)算機(jī)代碼,所述計(jì)算機(jī)代碼執(zhí)行所描述的在所述共享存儲(chǔ)器空間和所述計(jì)算資源之間的目標(biāo)流。
2.如權(quán)利要求1所述的方法,其特征在于,所述共享存儲(chǔ)器空間是JavaSpaces。
3.如權(quán)利要求1所述的方法,其特征在于,存儲(chǔ)描述所述共享存儲(chǔ)器空間和所述計(jì)算資源之間的所述目標(biāo)流的信息的步驟包括存儲(chǔ)描述哪個(gè)所述計(jì)算資源從所述共享存儲(chǔ)器空間取得入口的信息的步驟。
4.如權(quán)利要求1所述的方法,其特征在于,存儲(chǔ)描述所述共享存儲(chǔ)器空間和所述計(jì)算資源之間的所述目標(biāo)流的信息的步驟包括存儲(chǔ)描述哪個(gè)所述計(jì)算資源把入口寫(xiě)至所述共享存儲(chǔ)器空間的信息的步驟。
5.如權(quán)利要求1所述的方法,其特征在于,存儲(chǔ)描述所述共享存儲(chǔ)器空間和所述計(jì)算資源之間的所述目標(biāo)流的信息的步驟包括存儲(chǔ)描述哪個(gè)所述計(jì)算資源從所述共享存儲(chǔ)器空間讀得入口的信息的步驟。
6.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括當(dāng)修改在所述圖形接口上的圖象時(shí)自動(dòng)地更新所產(chǎn)生的所述計(jì)算機(jī)代碼的步驟。
7.一種在共享存儲(chǔ)器空間中產(chǎn)生確定目標(biāo)流的計(jì)算機(jī)代碼的方法,其特征在于,所述方法包括下列步驟在圖形表示區(qū)上放置計(jì)算資源的圖形表示;在所述圖形表示區(qū)上放置共享存儲(chǔ)器空間的圖形表示;輸入信息,所述信息是描述所述計(jì)算資源的圖形表示和所述共享存儲(chǔ)器空間的圖形表示之間的數(shù)據(jù)流的信息;自動(dòng)地產(chǎn)生計(jì)算機(jī)代碼,所述計(jì)算機(jī)代碼執(zhí)行相應(yīng)于所述共享存儲(chǔ)器空間的圖形表示的所述共享存儲(chǔ)器空間之間的目標(biāo)流和執(zhí)行相應(yīng)于所述計(jì)算資源圖形表示的所述計(jì)算資源之間的目標(biāo)流。
8.如權(quán)利要求7所述的方法,其特征在于,共享存儲(chǔ)器空間是JavaSpaces。
9.如權(quán)利要求7所述的方法,其特征在于,輸入描述所述共享存儲(chǔ)器空間的圖形表示和所述計(jì)算資源的圖形表示之間的數(shù)據(jù)流的信息的步驟包括輸入描述哪個(gè)所述計(jì)算資源從共享存儲(chǔ)器空間的圖形表示取得入口的信息的步驟。
10.如權(quán)利要求7所述的方法,其特征在于,輸入描述所述共享存儲(chǔ)器空間的圖形表示和所述計(jì)算資源的圖形表示之間的數(shù)據(jù)流的信息的步驟包括輸入描述哪個(gè)所述計(jì)算資源把入口寫(xiě)至所述共享存儲(chǔ)器空間的圖形表示的信息的步驟。
11.如權(quán)利要求7所述的方法,其特征在于,輸入描述所述共享存儲(chǔ)器空間的圖形表示和所述計(jì)算資源的圖形表示之間的數(shù)據(jù)流的信息的步驟包括輸入描述哪個(gè)所述計(jì)算資源從所述共享存儲(chǔ)器空間的圖形表示讀得入口的信息的步驟。
12.如權(quán)利要求7所述的方法,其特征在于,進(jìn)一步包括當(dāng)修改在所述圖形表示區(qū)中的圖象時(shí)自動(dòng)地更新所產(chǎn)生的所述計(jì)算機(jī)代碼的步驟。
13.一種包含可在計(jì)算機(jī)上執(zhí)行的指令的計(jì)算機(jī)可讀媒體,用于產(chǎn)生在共享存儲(chǔ)器空間中確定目標(biāo)流的計(jì)算機(jī)代碼,其特征在于,當(dāng)在計(jì)算機(jī)上執(zhí)行指令時(shí),完成下列步驟顯示圖形接口,在所述圖形接口中放置表示計(jì)算資源的圖象和表示共享存儲(chǔ)器空間的圖象;存儲(chǔ)信息,所述信息經(jīng)由圖形接口輸入,它描述所述計(jì)算資源和所述共享存儲(chǔ)器空間之間的目標(biāo)流;以及產(chǎn)生計(jì)算機(jī)代碼,所述計(jì)算機(jī)代碼執(zhí)行在所述共享存儲(chǔ)器空間和所述計(jì)算資源之間的所述目標(biāo)流。
14.一種計(jì)算機(jī)系統(tǒng),其特征在于,包括顯示器,用于顯示圖形接口,在所述圖形接口中放置表示計(jì)算資源的圖象和表示共享存儲(chǔ)器空間的圖象;包括接口設(shè)計(jì)工具程序的存儲(chǔ)器,接口設(shè)計(jì)工具程序包括控制所述圖形接口的裝置;存儲(chǔ)輸入所述圖形接口中的信息的裝置,所述信息是描述所述計(jì)算資源的圖象和所述共享存儲(chǔ)器空間的圖象之間的目標(biāo)流的信息;以及產(chǎn)生計(jì)算機(jī)代碼的裝置,所述計(jì)算機(jī)代碼執(zhí)行在所述共享存儲(chǔ)器空間和所述計(jì)算資源之間的所述目標(biāo)流;處理器,把它構(gòu)造來(lái)執(zhí)行在所述存儲(chǔ)器中的所述接口設(shè)計(jì)工具程序;以及輸入裝置,它耦合到所述處理器,并允許用戶修改表示所述計(jì)算資源的圖象、表示所述共享存儲(chǔ)器空間的圖象和在所述計(jì)算資源和所述共享存儲(chǔ)器的圖象之間的所述目標(biāo)流的信息。
15.如權(quán)利要求14所述的方法,其特征在于,所述共享存儲(chǔ)器空間是JavaSpaces。
16.如權(quán)利要求14所述的方法,其特征在于,存儲(chǔ)輸入所述圖形接口中的描述所述計(jì)算資源的圖象和所述共享存儲(chǔ)器空間的圖象之間的所述目標(biāo)流的信息的裝置包括存儲(chǔ)描述哪個(gè)所述計(jì)算資源從所述共享存儲(chǔ)器空間取得入口的信息的裝置。
17.如權(quán)利要求14所述的方法,其特征在于,存儲(chǔ)輸入所述圖形接口中的描述所述計(jì)算資源的圖象和所述共享存儲(chǔ)器空間的圖象之間的所述目標(biāo)流的信息的裝置包括存儲(chǔ)描述哪個(gè)所述計(jì)算資源把入口寫(xiě)至所述就共享存儲(chǔ)器空間的信息的裝置。
18.如權(quán)利要求14所述的方法,其特征在于,存儲(chǔ)輸入所述圖形接口中的描述所述計(jì)算資源的圖象和所述共享存儲(chǔ)器空間的圖象之間的所述目標(biāo)流的信息的裝置包括存儲(chǔ)描述哪個(gè)所述計(jì)算資源從所述共享存儲(chǔ)器空間讀得入口的信息的裝置。
全文摘要
一種交互式設(shè)計(jì)工具允許設(shè)計(jì)者可視地確定在分布式計(jì)算系統(tǒng)中的計(jì)算資源和共享存儲(chǔ)器空間之間的目標(biāo)流。所述設(shè)計(jì)工具把目標(biāo)流的可視描繪自動(dòng)地轉(zhuǎn)換成執(zhí)行所描繪的目標(biāo)流的計(jì)算機(jī)代碼。
文檔編號(hào)G06F9/44GK1292113SQ99803344
公開(kāi)日2001年4月18日 申請(qǐng)日期1999年2月17日 優(yōu)先權(quán)日1998年2月26日
發(fā)明者K·C·R·C·阿諾德 申請(qǐng)人:太陽(yáng)微系統(tǒng)公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1