專利名稱:用于執(zhí)行設計自動化的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明通常涉及聯(lián)網(wǎng)計算機系統(tǒng),并且更具體地說,涉及用于執(zhí)行單個設計自動化任務,而不干擾正在相同計算機或計算機的網(wǎng)絡上執(zhí)行的其他類似的任務的系統(tǒng)和方法。
背景技術:
隨需應變環(huán)境(on demand enviroment)能描述為一個或多個分立計算機(discrete computer),其每一個擁有一個或多個處理單元(例如CPU),它們連接在一起以形成計算機網(wǎng)絡。通過接收處理請求,并且然后當可用時,將最適當?shù)馁Y源應用于處理請求的管理軟件,實現(xiàn)隨需應變方面。另外,管理軟件可以改變分配到運行過程的資源以便根據(jù)多個因素,增加和減少分配到運行過程的資源。管理軟件產(chǎn)品的一個實施例是IBM的Load Leveler應用程序。管理軟件知道當前正用來滿足處理請求的資源和仍然可用的資源,以及進一步配置成檢測何時將計算資源增加到隨需應變環(huán)境或從隨需應變環(huán)境移出計算資源。
隨需應變環(huán)境(也稱為計算網(wǎng)格)包括任意多個可能的不同種類的計算機系統(tǒng)。大型計算網(wǎng)格能管理巨大的計算能力。其已經(jīng)變成有用于這種大型計算網(wǎng)格的用戶從不相關的實體接收工作處理請求。例如,諸如高級合成、邏輯合成、靜態(tài)定時分析、布局和物理合成等等的設計自動化任務,是隨需應變、基于網(wǎng)格的解決方案的強有力的候選。通常,這些任務的特征在于其為要花費幾小時甚至幾天來完成的長的運行過程,以及其通常要求相當大量的計算資源。另外,因為任務要求限量的數(shù)據(jù)和執(zhí)行邏輯,所以任務可以在合理的時間中,在網(wǎng)絡上傳送。因為約束方面是處理時間,所以可用于處理設計自動化任務的計算“馬力”越多,就可以越快地完成作業(yè)。因此,最大化計算資源的使用是隨需應變網(wǎng)格服務供應商的重要目標。
網(wǎng)格服務供應商可以基于先來先服務,或基于預訂,處理設計自動化任務。然而,當允許來自不同實體的處理請求訪問相同的計算網(wǎng)格時,就產(chǎn)生了問題。首先,在允許來自一個實體的處理請求監(jiān)聽正在由計算網(wǎng)格處理的其他任務的活動性或監(jiān)聽網(wǎng)格本身的情況下,產(chǎn)生安全性問題。其次,除這些安全性問題外,設計自動化任務可能非常復雜,以及如果不適當?shù)嘏渲?,可能會不正確地操作,干擾其他過程或“碰撞”網(wǎng)格部分。
這一問題的一個通用的解決方案是預先向任務劃分網(wǎng)格資源。當新任務到達網(wǎng)格(例如在網(wǎng)絡上傳送到“收件箱”(drop box)服務器)時,進行完成該任務所需資源的評估,以及可以將網(wǎng)格資源的子集劃分給該新任務,為該任務提供其自己的封閉環(huán)境以在其中執(zhí)行該任務。這樣做使任務彼此分離,從而防止一個任務竊聽另一個。另外,防止錯誤的任務由于“碰撞”或其他異常事件僅僅破壞分配給它的網(wǎng)格資源。
然而,該方法會剩余未使用的網(wǎng)格資源,即使它們可用時。例如,假定具有32個存儲單元的網(wǎng)格可用于存儲數(shù)據(jù)。如果一個過程劃分了18個單元,但僅使用12個,那么要求16個單元的第二任務將必須等待直到第一過程完成為止,盡管總的來說,僅需要28個單元來同時完成這兩個任務。同時,只要工作完成,劃分給它的資源必須“擦洗”。例如,必須擦除硬驅(qū)動器,以及操作系統(tǒng)重新安裝來確保一個任務不引入(或其本身包括)可以竊聽后續(xù)活動性或損壞網(wǎng)格資源的“特洛伊木馬”。然而,這樣做花費時間并降低可用于其他任務的資源,本身導致其他任務花費更長的時間來完成,進一步降低計算網(wǎng)格的使用率。
另一方法是對網(wǎng)格供應商,也提供可以由計算網(wǎng)格執(zhí)行的多個預定的任務。這樣,當事方僅需要向網(wǎng)格供應商提供數(shù)據(jù)部分。然而,這一方法防止實體開發(fā)它們自己的設計自動化程序。因此,網(wǎng)格供應商不能提供特定實體所需的所有服務。另外,會防止一方采用必要的專用處理技術。
因此,仍然需要網(wǎng)格服務供應商最大化計算網(wǎng)格的可用性同時保護不相關處理任務的安全性。特別地,同時執(zhí)行的設計自動化任務應當在不被其他方干擾的情況下執(zhí)行,反過來,應當防止它訪問或竊聽其他方。另外,應當防止計算網(wǎng)格本身可能會由處理設計自動化任務引起的有意或無意的損害。
發(fā)明內(nèi)容
本發(fā)明通常提供用于向多個實體提供網(wǎng)格計算服務的方法、系統(tǒng)和制造產(chǎn)品。本發(fā)明的一個實施例提供命令解釋器,配置成執(zhí)行網(wǎng)格環(huán)境中的設計自動化任務。命令解釋器配置成為開發(fā)人員提供構(gòu)成設計自動化任務同時防止這些任務參與不適當?shù)幕顒有缘撵`活度。命令解釋器使用動態(tài)、安全的容器,執(zhí)行每個提交的設計自動化任務。這允許分配給特定請求的資源來(i)當過程執(zhí)行時,需要資源時,(ii)當資源可用時,以及(iii)根據(jù)預定限度(例如所約定的最大資源量)改變。然而,同時,禁止提供給計算網(wǎng)格的設計自動化任務訪問命令(或參與操作),該訪問命令將允許一個過程偷聽或干擾其他過程,或干擾網(wǎng)格本身。
本發(fā)明的一個實施例提供用于訪問計算網(wǎng)格的方法。該方法通常包括提供設計自動化應用程序,其中,該設計自動化應用程序配置成處理設計自動化任務,其中,該設計自動化任務包括(i)將由該設計自動化應用程序評估的命令集;以及(ii)表示電子電路的數(shù)據(jù)集;該方法還包括為計算機系統(tǒng)的用戶提供接口以便將該設計自動化任務傳送到該計算網(wǎng)格。
本發(fā)明的另一實施例提供用于評估設計自動化任務的系統(tǒng)。該系統(tǒng)通常包括計算網(wǎng)格,其中,該計算網(wǎng)格包括連接在一起以形成資源網(wǎng)絡的多個計算機資源;以及設計自動化應用程序,配置成使用該資源網(wǎng)絡,處理該設計自動化任務,其中,該設計自動化任務包括(i)將由該設計自動化應用程序處理的命令集;以及(ii)表示電子電路的數(shù)據(jù)集,并且其中,該設計自動化任務配置成使用該資源網(wǎng)絡,處理該處理請求。該系統(tǒng)通常進一步包括網(wǎng)格管理器,配置成(i)監(jiān)視可用在該計算網(wǎng)格中的資源,(ii)分配來自該計算網(wǎng)格的資源以便處理該設計自動化任務,以及(iii)接收和存儲將通過處理由請求實體提交的該設計自動化任務生成的結(jié)果。
本發(fā)明的另一實施例提供一種包含指令的計算機可讀介質(zhì),當該指令被計算機系統(tǒng)執(zhí)行時,執(zhí)行操作。該操作通常包括定義設計自動化程序包,其中,該設計自動化應用程序配置成處理設計自動化任務,其中,該設計自動化程序包包括(i)將由該設計自動化應用程序處理的命令集;以及(ii)表示電子電路的數(shù)據(jù)集;該操作還包括為請求實體提供接口以便將該設計自動化程序包傳送到該計算網(wǎng)格。操作通??梢赃M一步包括從該請求實體接收該設計自動化任務和處理該設計自動化任務的請求,調(diào)用該計算網(wǎng)格上的該設計自動化應用程序的實例,向該設計自動化應用程序的實例提供該設計自動化程序包,評估包括在該設計自動化程序包中的命令集;以及將評估結(jié)果的表示返回到該請求實體。
本發(fā)明的另一實施例提供一種包括存儲在其上的信息的計算機可讀介質(zhì)。該信息通常包括配置成處理設計自動化任務的設計自動化應用程序,其中,該設計自動化任務包括(i)將由該設計自動化應用程序處理的命令集;以及(ii)表示電子電路的數(shù)據(jù)集。該信息通常可以進一步包括網(wǎng)格管理器,配置成(i)監(jiān)視可用在該計算網(wǎng)格中的資源,(ii)分配可用在該計算網(wǎng)格上的資源來處理該設計自動化任務,以及(iii)接收和存儲將通過處理由請求實體提交的該設計自動化任務生成的結(jié)果。
根據(jù)實現(xiàn)和可以詳細地理解本發(fā)明的上述特征、優(yōu)點和目的的方式,通過參考在附圖中所示的實施例,可以獲得上述概述的本發(fā)明的更具體的描述。然而,注意附圖僅示例說明本發(fā)明的典型實施例,因此,不打算視為限制其范圍,因為本發(fā)明承認其他同樣有效的實施例。
圖1示例說明根據(jù)本發(fā)明的一個實施例,用于管理至自動化設計工具的隨需應變訪問的系統(tǒng);圖2A示例說明根據(jù)本發(fā)明的一個實施例的客戶計算系統(tǒng)。
圖2B示例說明根據(jù)本發(fā)明的一個實施例的網(wǎng)格管理系統(tǒng)。
圖2C示例說明根據(jù)本發(fā)明的一個實施例的多個網(wǎng)格元件。
圖3A示例說明根據(jù)本發(fā)明的一個實施例的處理請求和設計自動化應用的視圖。
圖3B示例說明根據(jù)本發(fā)明的一個實施例的設計自動化應用的視圖。
圖4示例說明根據(jù)本發(fā)明的實施例,用于組成由網(wǎng)格系統(tǒng)執(zhí)行的設計自動化任務的方法。
圖5示例說明用于根據(jù)本發(fā)明的一個實施例處理設計自動化任務的方法。
圖6示例說明用于根據(jù)本發(fā)明的一個實施例,網(wǎng)格系統(tǒng)處理設計自動化任務的方法。
具體實施例方式
本發(fā)明通常屬于對計算機化資源的隨需應變訪問。響應由處理請求產(chǎn)生的實際需要,而不是計劃需要,可使計算機化資源可用。本發(fā)明的實施例提供計算環(huán)境,其中,可以同時執(zhí)行多個處理請求,而不受其他任務干擾(或干擾其他任務)。處理請求僅消耗它們所需的容量和資源,當需要容量和資源時,并且在一個實施例中,相應地收費。因此,計算機化資源的成本基本上與實際使用的計算機化資源匹配。另外,因為資源不預先劃分到特定的任務,所以增加了資源利用率,并且實際上降低了與在任務間手動劃分資源有關的停機時間,如果未完全地消除的話。
下述描述參考本發(fā)明的實施例。然而,應理解到本發(fā)明不限于任一具體描述的實施例。相反,下述特征和元素的任一組合,不管是否與所述實施例有關,均有可能實現(xiàn)和實施本發(fā)明。此外,在各個實施例中,本發(fā)明提供優(yōu)于現(xiàn)有技術的多個優(yōu)點。盡管本發(fā)明的實施例可以實現(xiàn)優(yōu)于其他可能的解決方案或優(yōu)于現(xiàn)有技術的優(yōu)點,但是特定優(yōu)點是否由指定實施例實現(xiàn)不是本發(fā)明的限制。因此,下述方面、特征、實施例和優(yōu)點僅是示例性的,以及除在權利要求中清楚引用外,不視為所附權利要求的要素或限制。同樣地,對“本發(fā)明”的參考不應當構(gòu)成在此公開的任一發(fā)明主題的概括,以及除在特定權利要求中清楚引用外,不應當視為所附權利要求的要素或限制。
本發(fā)明的一個實施例實現(xiàn)為用于與諸如圖1所示的網(wǎng)絡環(huán)境100的計算機系統(tǒng)一起使用的程序產(chǎn)品并如下所述。程序產(chǎn)品的程序定義實施例(包括在此所述的方法)的功能并且能包含在多個信號承載介質(zhì)上。示例性的信號承載介質(zhì)包括但不限于(i)永久存儲在不可寫存儲介質(zhì)(例如計算機內(nèi)的只讀存儲器設備,諸如可由CD-ROM驅(qū)動器可讀取的CD-ROM盤)上的信息;(ii)存儲在可寫存儲介質(zhì)(例如軟盤驅(qū)動器,或硬盤驅(qū)動器內(nèi)的軟盤)上的可變信息;以及(iii)通過通信介質(zhì),諸如通過計算機或電話網(wǎng),包括無線通信,傳送到計算機的信息。后一實施例具體包括從因特網(wǎng)和其他網(wǎng)絡下載的信息。這一信號承載介質(zhì),當攜帶控制本發(fā)明的功能的計算機可讀指令時,代表本發(fā)明的實施例。
通常,為實現(xiàn)本發(fā)明的實施例而執(zhí)行的例程可以是操作系統(tǒng)的一部分或具體的應用程序、部件、程序、模塊、對象或指令序列。本發(fā)明的計算機程序通常由多個指令組成,這些指令將由本地計算機(native computer)轉(zhuǎn)換成機器可讀格式,從而成為可執(zhí)行指令。同時,程序由本地駐留在程序上或在存儲器中或存儲設備上找到的變量和數(shù)據(jù)結(jié)構(gòu)組成。另外,下文所述的各個程序可以基于在本發(fā)明的具體實施例中所實現(xiàn)的應用程序來識別。然而,應意識到下文使用的任何特定的程序術語僅為了方便,因此,本發(fā)明不應當限于僅用在由該術語識別或暗示的任何特定的應用中。
如上所述,隨需應變環(huán)境可以包括連接在一起以形成網(wǎng)絡的可能不同種類的計算系統(tǒng)的集合。在一個實施例中,網(wǎng)格實體本身可以包括聯(lián)網(wǎng)計算系統(tǒng),諸如計算集群。例如Beowulf集群是用于將廉價的個人計算機系統(tǒng)連接在一起以便它們看起來象單個多處理器計算機系統(tǒng)的公知的系統(tǒng)設計。本發(fā)明的實施例管理均具有不同身份的多個計算機系統(tǒng)網(wǎng)絡。在那一環(huán)境內(nèi),單個實體可以包括Beowulf集群。
由網(wǎng)格網(wǎng)絡管理的獨立的系統(tǒng)均分別可用于所分配的特定任務。通常,包括在隨需應變環(huán)境中的計算系統(tǒng)可用于執(zhí)行由網(wǎng)格管理器分配的任務。在一個實施例中,網(wǎng)格管理器可以包括IBM的LoadLeveler軟件應用程序。
網(wǎng)格管理系統(tǒng)負責向處理任務分配網(wǎng)格可消耗資源??上馁Y源是可用在計算網(wǎng)格中的機器上的資產(chǎn)。它們稱為“資源”,因為它們模擬可用在機器上的物品或服務(例如CPU、實存儲器、虛擬存儲器、軟件許可證和盤空間,或具有較少粒度的整個系統(tǒng))。它們視為“可消耗”,因為當特定運行任務的作業(yè)步驟正運行時,該步驟可能使用特定量的這些物品。只要步驟結(jié)束,資源變?yōu)榭捎糜诹硪蛔鳂I(yè)步驟或其他任務。
在一個實施例中,計算網(wǎng)格可以用來處理設計自動化任務,包括高級合成、邏輯合成、靜態(tài)定時分析、布局、物理合成或布線。通常,希望提交用于處理的這些任務中的一個的實體匯編所需客戶機數(shù)據(jù)和控制(總的來說,處理任務或請求)以及通常使用安全連接(例如SSL/TLS、S/MIMIE、HTTPS或用來在不安全的通信介質(zhì)上,加密和傳送數(shù)據(jù)的其他協(xié)議),將請求傳送到計算網(wǎng)格。
只要計算網(wǎng)格接收到新提交的任務,就可以從收件箱服務器檢索到它,以及規(guī)劃它通過安全設計自動化應用程序在網(wǎng)格上的執(zhí)行。如下面進一步所述,隨任務提交的客戶機數(shù)據(jù)和控制可以用作安全設計自動化應用程序的輸入。使用網(wǎng)格資源,應用程序以防止客戶控制執(zhí)行惡意代碼或收集未授權信息的方式執(zhí)行用戶提交的控制??蛻魴C控制定義數(shù)據(jù)上的操作、計算等等??梢栽趹眉壧峁┚W(wǎng)格安全性,并因此,網(wǎng)格不需要在并發(fā)分立任務中劃分可消耗資源。只要處理結(jié)束,結(jié)果就可存儲在收件箱服務器或經(jīng)安全連接,可以返回到請求實體。
圖1示例說明包括配置成從多個實體(例如客戶系統(tǒng)1051-N)接收處理請求的基于網(wǎng)格的計算機系統(tǒng)(在此也稱為“網(wǎng)格系統(tǒng)”)115的隨需應變環(huán)境100。在一個實施例中,可使網(wǎng)格計算系統(tǒng)可用于執(zhí)行設計自動化任務。客戶系統(tǒng)1051-N的每一個配置成使用公知和普遍可用的協(xié)議(例如TCP/IP),與網(wǎng)格系統(tǒng)115通信。例如,外部客戶系統(tǒng)1052和105N使用外部網(wǎng)絡110,與網(wǎng)格系統(tǒng)通信。在一個實施例中,外部網(wǎng)絡110可以包括因特網(wǎng)??蛇x擇地,客戶系統(tǒng)(例如客戶系統(tǒng)1051)可以駐留在與網(wǎng)格系統(tǒng)115相同的網(wǎng)絡上。
根據(jù)本發(fā)明的一個實施例,網(wǎng)格系統(tǒng)115示例說明包括在隨需應變環(huán)境中的部件。到達和來自網(wǎng)格系統(tǒng)115的所有遠程通信可以通過網(wǎng)關/防火墻120發(fā)生。如本領域的技術人員所理解到的,網(wǎng)關可以用來將呼入通信從外部網(wǎng)絡路由到隨需應變環(huán)境115中的目的地。如所示,使用可以用來監(jiān)視網(wǎng)絡通信量(例如數(shù)據(jù)包)和確定可以將哪些轉(zhuǎn)發(fā)到網(wǎng)關/防火墻120后的計算機系統(tǒng)或過程,處理所有通信。
在一個實施例中,可以將HTTP服務器130配置成為客戶系統(tǒng)1051-N提供基于Web的接口以便從網(wǎng)格系統(tǒng)115提交處理請求(以及檢索結(jié)果)。因此,HTTP服務器130可以存儲相對靜態(tài)的HTML文獻集以便顯示到客戶機105的接口以及在它們(例如使用GET和POST方法)和網(wǎng)格系統(tǒng)115間傳送數(shù)據(jù)。應用程序服務器135可以允許客戶機訪問受服務器135管理的應用程序和數(shù)據(jù)庫。應用程序服務器135處理客戶機105的所有應用程序操作和連接。在一個實施例中,網(wǎng)格系統(tǒng)115可以包括配置成存儲由客戶機105提交的處理請求以及由處理請求生成的結(jié)果的收件箱服務器140以便由客戶機105檢索。在共同擁有的、名為“Computer Grid Access Management System”的未決申請(案卷號No.ROC920030283)中描述了訪問管理技術和收件箱服務器的詳細說明。
計算網(wǎng)格145包括多個網(wǎng)格元素150。網(wǎng)格元素150總的來說代表可用于分配給不同任務的計算資源。應注意到圖1的網(wǎng)格元素的每一個不需要代表相同類型的資源或資源粒度。例如,一個網(wǎng)格元素可以代表計算機系統(tǒng),而另一網(wǎng)格元素可以代表盤空間,以及另一網(wǎng)格元素可以代表作為單個實體的一組集群系統(tǒng)。即使在兩個或多個網(wǎng)格元素代表同樣的資源,例如盤空間或存儲器的情況下,網(wǎng)格元素也可以代表不同量的資源,例如20GB、40GB等等。
網(wǎng)格系統(tǒng)115也可以包括網(wǎng)格管理器136。網(wǎng)格管理器136將由應用程序服務器135啟動的處理請求調(diào)度到計算網(wǎng)格145,目前消耗和可用的網(wǎng)格資源(即網(wǎng)格元素150),并且還管理計算網(wǎng)格145的狀態(tài)(例如,當增加或從計算網(wǎng)格移出計算機系統(tǒng)時)。如圖1所示,計算網(wǎng)格145可以由任意多個網(wǎng)格元素150組成。每個網(wǎng)格元素150本身可以包括單獨的計算機系統(tǒng)以及其相應的存儲器、處理器、存儲空間、操作系統(tǒng)和應用程序軟件,或可以包括可用在集群配置中鏈接的計算機系統(tǒng)的系統(tǒng)中的資源元素。
盡管網(wǎng)格系統(tǒng)115的部分在圖1中示為獨立的元素,但是本領域的技術人員將意識到本發(fā)明的實施例可以實現(xiàn)許多不同配置的計算機系統(tǒng)和過程來提供隨需應變環(huán)境/網(wǎng)格系統(tǒng)115。例如,HTTP服務器130和收件箱140可以包括在相同的物理計算機系統(tǒng)上運行的過程,而不改變?nèi)缟瞎δ苄缘拿枋觥?br>
圖2A-C進一步示例說明如圖1所示的示例性計算機系統(tǒng)。圖2A根據(jù)本發(fā)明的一個實施例,示例說明客戶機系統(tǒng)105??蛻魴C系統(tǒng)105在網(wǎng)絡110上,與依次管理網(wǎng)格元素150(如圖2C所示)的資源的網(wǎng)格管理系統(tǒng)202(如圖2B所示)通信。
客戶計算機系統(tǒng)105包括允許客戶計算機系統(tǒng)105與隨需應變網(wǎng)格系統(tǒng)115通信的網(wǎng)絡接口232。客戶計算機系統(tǒng)105通常包括經(jīng)總線230,連接到內(nèi)存210和存儲器245的中央處理單元(CPU)240。典型的存儲設備包括IDE、SCSI或RAID管理的硬驅(qū)動器。盡管示為單個單元,它可以包括固定和可移動存儲設備,諸如固定盤驅(qū)動器、軟盤驅(qū)動器、磁帶驅(qū)動器、可移動內(nèi)存卡,或光學存儲器的組合。另外,可以使用網(wǎng)絡存儲設備,諸如AFS、NFS或GSA。內(nèi)存可以包括以芯片(例如SDRAM或DDR內(nèi)存模塊)形式出現(xiàn)的記憶體儲存設備。
客戶機系統(tǒng)105運行管理硬件部件間的交互作用的操作系統(tǒng)212(例如Linux分布、Microsoft Windows、IBM的AIX、FreeBSD等等),以及高級軟件應用程序,諸如用來構(gòu)成設計自動化程序包220的開發(fā)應用程序215??蛻魴C系統(tǒng)105可以進一步包括I/O設備,諸如鼠標、鍵盤和監(jiān)視器以及其他專用硬件。
在一個實施例中,用戶可以使用所示的駐留在內(nèi)存210中的開發(fā)應用程序215,組成設計自動化程序包220。設計自動化程序包220可以包括數(shù)據(jù)部分和命令集。例如,數(shù)據(jù)部分可以包括用于應用程序,諸如高級合成、邏輯合成、靜態(tài)定時分析、布局、物理合成或布線等等的數(shù)據(jù)。這些數(shù)據(jù)可以包括描述特定電子或集成電路的網(wǎng)表信息。本領域的技術人員將理解到,網(wǎng)表是包括所有電路元件名/參考指示符并列出它們的輸入輸出信號名稱的電子電路的描述。用于網(wǎng)表的示例性格式包括工業(yè)標準格式,包括EDIF(電子設計交互格式)、Verilog、DEF和PDEF。
設計自動化程序包220也可以包括命令集,通常表示為腳本。用戶根據(jù)由網(wǎng)格提供者(即,設計自動化應用程序268)提供的特定電子商務提供,定義命令腳本。命令腳本允許客戶機控制和管理應用程序268的活動性,在電子電路設計上分析或操作,如使用網(wǎng)表數(shù)據(jù)所示。例如,由這一機制傳送的信息可以包括性能期望,諸如“周期時間”或期望電路執(zhí)行的速度。同時,處理請求(或設計自動化任務)包括數(shù)據(jù)集合和測試、檢查或者在數(shù)據(jù)上其他操作的命令集??捎糜跇?gòu)成腳本的命令由服務供應商定義。在一個實施例中,可用于構(gòu)成命令腳本的命令限定為與設計自動化任務有關的命令。
在組成設計自動化程序包220后,用戶可以將它遞送到網(wǎng)格系統(tǒng)115,以便處理。通過網(wǎng)格管理系統(tǒng)202接收程序包。圖2B示例說明網(wǎng)格管理系統(tǒng)202的實施例。網(wǎng)格管理器136監(jiān)視網(wǎng)格元素150的活動性和狀態(tài)以及根據(jù)處理任務,管理與客戶機系統(tǒng)105通信。在一個實施例中,網(wǎng)絡接口265將網(wǎng)格管理系統(tǒng)202連接到包括網(wǎng)格元素150的局域網(wǎng)。這種網(wǎng)格通常不可以在隨需應變環(huán)境和網(wǎng)格系統(tǒng)115外訪問,除非通過在圖1中所示的網(wǎng)關和防火墻接口。
使用網(wǎng)絡接口265,使網(wǎng)格管理系統(tǒng)202連接到網(wǎng)絡110。網(wǎng)格管理系統(tǒng)202包括連接CPU264、顯示器260、存儲器262、網(wǎng)絡接口265和內(nèi)存250的總線258。如圖2B所示,內(nèi)存250包含網(wǎng)格管理應用程序254和網(wǎng)格狀態(tài)監(jiān)視器256,以及操作系統(tǒng)。同時,網(wǎng)格管理應用程序254和網(wǎng)格狀態(tài)監(jiān)視器256維護網(wǎng)格系統(tǒng)115,將資源分配到處理請求,調(diào)度處理請求到網(wǎng)格以便執(zhí)行,以及處理在處理期間產(chǎn)生的結(jié)果或任何異常。例如,新處理請求可以放在收件箱263中。管理應用程序254可以配置成定期地輪詢收件箱263以便識別新提交的處理請求。只要提交了新請求(例如通過與HTTP服務器130通信以便將程序包220遞送給收件箱263的客戶機105),管理應用程序254就可以分配網(wǎng)格元素以便執(zhí)行該請求。
圖2C示例說明可用作計算網(wǎng)格145中的資源以便在網(wǎng)格管理系統(tǒng)202的指導下,執(zhí)行計算任務的網(wǎng)格元素150的實施例。然而,應理解到計算網(wǎng)格145可以包含差不多配置成如圖2C所示的一個的任意多個網(wǎng)格元素150。因此,圖2C示例說明另外的網(wǎng)格元素1502-N。另外,由管理應用程序254分配給處理請求的資源可以超出由網(wǎng)格元素150所示的單個系統(tǒng),并且網(wǎng)格元素150本身可以包括配置成視為單個實體的計算資源的集群,諸如Beowulf集群。因此,多個計算機系統(tǒng)(或網(wǎng)格元素150)可以分配到特定的處理請求。例如,資源可用性、資源需求、可并行性和契約約束均可以影響將何種資源分配給處理請求。
如圖2C所示,示例性網(wǎng)格元素150由包括可操作地連接CPU276、網(wǎng)絡接口278、存儲器280和內(nèi)存266的總線274的計算機系統(tǒng)組成。網(wǎng)格元素150正執(zhí)行由客戶機105提交的,并由網(wǎng)格管理應用程序254,分配到網(wǎng)絡元素150的處理請求(例如設計自動化程序包220)。程序包可以存儲在收件箱263中直到將其分配到網(wǎng)格系統(tǒng)115以便處理為止。只要網(wǎng)格元素150完成在程序包220中存儲的設計自動化任務的處理,就可以將結(jié)果數(shù)據(jù)傳送到收件箱263。網(wǎng)格狀態(tài)監(jiān)視器256可以配置成觀察網(wǎng)格活動性以及說明所消耗的資源(例如費用計算)并且說明網(wǎng)格元素150的任何變化(例如計算網(wǎng)格145的任何故障部分)。
在一個實施例中,設計自動化應用程序268可以包括在網(wǎng)格元素150上運行的命令解釋器過程,解釋根據(jù)腳本語言組成的腳本。在特定的實施例中,使用Tcl語言,組成命令腳本,并且設計自動化應用程序可以包括Tcl命令解釋器。如本領域的技術人員所理解的,Tcl是為設計自動化工具擴展而設計的解釋計算機語言并且還控制其他一般計算機任務,諸如提供高度靈活性的文件操縱。盡管Tcl是用于設計自動化工具的流行腳本和控制語言,也可以使用Perl以及其他腳本語言。
可以擴展和限制提供給執(zhí)行程序包220的Tcl命令解釋器。具體地,在一個實施例中,可以通過增加用戶可以包括在命令腳本中的顧客庫、命令和例程,來擴展Tcl命令解釋器??梢酝ㄟ^禁止一種腳本命令來限制命令解釋器,該腳本命令將允許包括在一個處理請求中的命令腳本竊聽或干擾其他命令腳本。在一個方面中,禁止使用某些腳本命令是有關全面的設計自動化應用程序會需要哪些命令來評估特定電路設計的一般斷言。
另外,產(chǎn)生用于每個處理請求的改進的命令解釋器創(chuàng)建允許網(wǎng)格系統(tǒng)115同時處理多個程序包220的保護的環(huán)境。改進的解釋器充當安全容器來執(zhí)行設計自動化應用程序268內(nèi)的命令腳本。在該環(huán)境內(nèi),當網(wǎng)格資源為需要的并且可用時,子解釋器消耗網(wǎng)格資源,以便完成處理請求。因此,正使用的網(wǎng)格資源可以在執(zhí)行特定設計自動化任務的過程上改變。
圖3A示例說明設計自動化程序包220和設計自動化應用程序268的視圖。如上所述,設計自動化程序包220包括命令腳本310和設計自動化數(shù)據(jù)312。在一個實施例中,命令腳本310包括使用由子解釋器315提供的命令和控制機制組成的Tcl腳本。設計自動化數(shù)據(jù)312可以包括描述將測試的電子電路的網(wǎng)表。在腳本評估期間,子解釋器315評估如由腳本語言的語義定義的腳本并且執(zhí)行包含在其中的命令。當這一過程發(fā)生時,設計自動化應用程序268可以記錄結(jié)果數(shù)據(jù)316。如果命令腳本310(1)包括未授權的命令,(ii)未正確編寫或(iii)如果數(shù)據(jù)值超出可容許范圍,錯誤處理例程318可以在完成特定處理請求前終止它,釋放網(wǎng)格資源以便執(zhí)行其他設計自動化任務。例如,如果命令腳本310試圖訪問還未向安全環(huán)境公開的命令,那么可以終止處理請求并且向網(wǎng)格提供者和請求的客戶機報告異常事件。
圖3B示例說明根據(jù)本發(fā)明的一個實施例的設計自動化應用程序268。制作設計自動化應用程序268以便不能使用來自客戶機的命令腳本(例如腳本310)來執(zhí)行惡意代碼或收集未授權信息。如所示,設計自動化應用程序268包括主命令解釋器314、庫326和子解釋器315。主命令解釋器314包括可以由網(wǎng)格提供者用來組成包含整個設計自動化任務的腳本310(例如Tcl腳本)的整個命令集。例如,主命令解釋器314可以包括用來寫入或讀取任意存儲單元(例如內(nèi)存268)或訪問網(wǎng)絡資源(例如網(wǎng)絡接口278上)的I/O(輸入/輸出)命令322。不是提供對這些命令的直接訪問,而是主命令解釋器314可以提供別名命令(aliased command)集324,其提供一些(而不是全部)基本實際命令的功能性。
別名命令允許用戶調(diào)用另外的、禁止的命令的“安全”版本。例如,別名命令可以允許命令腳本寫入由命令腳本創(chuàng)建的文件以便存儲結(jié)果數(shù)據(jù),但禁止腳本寫入系統(tǒng)文件。
另外,可以使用庫326擴展主命令解釋器314理解的命令集。如本領域的技術人員所理解到的,庫是用來開發(fā)軟件應用程序的子例程的集合。庫不同于可執(zhí)行程序之處在于它們不是獨立的程序,相反,它們是為一些其他獨立的程序提供服務的“助手”代碼。
在一個實施例中,子解釋器315可以包括可用于主命令解釋器314的命令子集。如所示,子解釋器315包括可用于單個客戶機來組成命令腳本310的可見命令322。別名命令334提供特定命令的另外的版本以便用戶仍然以可接受的方式,可以執(zhí)行另外的禁止的命令。隱藏命令336是不可用于客戶機包括在命令腳本310中的命令。例如,具有特定設計自動化應用程序268的子解釋器可以禁止客戶腳本調(diào)用任何系統(tǒng)或殼命令(shell commands),直接執(zhí)行文件輸入或輸出,訪問網(wǎng)絡服務,以及執(zhí)行設計自動化任務不必要的其他命令。同時,子解釋器315可以配置成從網(wǎng)格管理器136請求資源,或請求命令解釋器執(zhí)行它不能直接執(zhí)行的動作。
在有效的計算網(wǎng)格中,可以調(diào)用多個子解釋器來處理由不同的、甚至競爭實體所提供的不同的設計自動化任務。每個子解釋器可以訪問,或能請求和獲得資源來完成設計自動化任務,同時也禁止該設計自動化任務以不期望的行為參與。
使用如在此所述的設計自動化應用程序268的定義,用戶可以構(gòu)造命令腳本來在計算網(wǎng)格中處理設計自動化任務。在一個實施例中,網(wǎng)格提供者定義可用于感興趣方的子解釋器。該描述可以包括可用于組成命令腳本310的所有功能(例如命令輸入和輸出)。同時,構(gòu)造設計自動化應用程序268來將包括命令腳本310和客戶機數(shù)據(jù)312的程序包220用作處理的輸入。使用由管理應用程序254動態(tài)分配給它的網(wǎng)格資源設計自動化應用268安全地執(zhí)行。與其他無關,在網(wǎng)格系統(tǒng)上處理設計自動化應用程序268的每個調(diào)用。
圖4示例說明根據(jù)本發(fā)明的一個實施例,用于擴展用于由網(wǎng)格系統(tǒng)執(zhí)行的設計自動化任務的方法400。該方法400以步驟402開始,其中,客戶機(例如使用圖2所示的開發(fā)應用程序215)組成命令腳本以指定電子電路(例如用網(wǎng)表表示的)諸如定時性能規(guī)格的配置信息。用戶根據(jù)可用在網(wǎng)格系統(tǒng)上的設計自動化應用程序的定義,組成命令腳本。在完成特定命令腳本310后,在步驟404,客戶機與網(wǎng)格系統(tǒng)115建立連接。例如,使用基于Web的接口和通用web瀏覽器,客戶系統(tǒng)105可以與網(wǎng)格管理器136交互作用。在一個實施例中,可以要求客戶系統(tǒng)105向網(wǎng)格系統(tǒng)115證實自己。
在步驟406,在建立連接后,包括網(wǎng)表、命令腳本和任何其他客戶數(shù)據(jù)的程序包被傳送到網(wǎng)格管理器136。只要傳送了程序包,客戶機就等待來自網(wǎng)格系統(tǒng)115的結(jié)果。在一個實施例中,使用電子郵件將結(jié)果通知客戶機系統(tǒng)。另外,客戶機系統(tǒng)的用戶可以與網(wǎng)格系統(tǒng)不定期地建立連接以便確定任何結(jié)果是否可用于從收件箱服務器檢索。無論如何通知,如果結(jié)果數(shù)據(jù)未包括在結(jié)果通知中,在步驟408,客戶機105從網(wǎng)格系統(tǒng)檢索該結(jié)果數(shù)據(jù)。
圖5示例說明根據(jù)本發(fā)明的一個實施例,用于處理一處理請求(例如設計自動化程序包220)的方法500。在用戶組成設計自動化任務的結(jié)構(gòu)(例如用戶可以執(zhí)行圖4所示的操作)并將它提供給網(wǎng)格系統(tǒng)115后,方法500開始。因此,在步驟502,網(wǎng)格系統(tǒng)接收設計自動化程序包220(也稱為“任務”)。在一個實施例中,可以使用網(wǎng)格系統(tǒng)115中的收件箱服務器140,存儲設計自動化任務。在步驟504,管理應用程序254調(diào)度程序包220以便在計算網(wǎng)格145上執(zhí)行??梢允褂萌魏芜m當?shù)恼{(diào)度標準。例如,一些程序包可以表示執(zhí)行所需的某些最少資源量(或特定資源類型)。因此,僅當需求可用時,調(diào)度該程序包以便執(zhí)行。
在步驟505,將程序包調(diào)度到網(wǎng)格系統(tǒng)115以便執(zhí)行并且在步驟506處理它。在一個實施例中,這可以包括調(diào)用包括Tcl子解釋器的設計自動化應用程序268和向子解釋器提供包括有該程序包作為輸入數(shù)據(jù)的命令腳本。子解釋器執(zhí)行包括在命令腳本中的每一命令。當設計自動化應用程序處理命令腳本310時,監(jiān)視由設計自動化應用程序268使用的資源。例如,網(wǎng)格狀態(tài)監(jiān)視器256可以向執(zhí)行的任務分配另外的資源??蛇x擇地,或者除此之外,設計自動化應用程序268可以配置成請求(或者消耗,只要可用)另外的計算資源(例如網(wǎng)格元素150),同時處理命令腳本310。
在步驟508,在設計自動化應用已經(jīng)完成處理命令腳本后(或可能在異常已經(jīng)發(fā)生后),管理應用程序254將結(jié)果數(shù)據(jù)存儲在返回隊列(例如收件箱服務器140)中??蛇x擇地,使用適當?shù)耐ㄐ判诺?,管理應用程?54可以將結(jié)果傳送到客戶機105。
圖6示例說明(例如在圖5所示的步驟506期間)在隨需應變環(huán)境115中,用于設計自動化應用程序268處理設計自動化程序包220的方法600。在網(wǎng)格管理器136已經(jīng)將設計自動化程序包220調(diào)度到網(wǎng)格系統(tǒng)115以便處理并且調(diào)用設計自動化應用程序268的實例來處理設計自動化程序包220后,方法以步驟610開始。在步驟610,可以評價包括在程序包220中的命令腳本310來校驗它在句法上是完整的。在一個實施例中,如上所述使用根據(jù)用于設計自動化應用程序的定義組成的Tcl命令腳本,可以組成腳本。在步驟610,如果包括在任務中的命令腳本是不完整的(或不良形成),那么腳本的評價可以終止,而不進一步處理。
接著,在步驟620,開始包括在命令腳本中的命令的順序評價。如本領域的技術人員所理解到的,命令腳本310(例如用Tcl編寫的腳本)的順序評價可以包括一系列分支、條件和循環(huán)命令,以及跳轉(zhuǎn)到子例程和從子例程跳轉(zhuǎn)。在一個實施例中,可以將網(wǎng)格狀態(tài)監(jiān)視器256配置成觀察何種網(wǎng)格資源在任何指定時間,正在由處理任務消耗,并且根據(jù)需要,增加或移出特定處理任務的資源??蛇x擇地,或除此之外,可以將設計自動化應用程序268配置成消耗可用于完成處理請求的另外的網(wǎng)格資源。
在步驟630,按照語言語義,選擇下一命令以便執(zhí)行。如果命令是用于由子解釋器調(diào)用的授權命令,那么在步驟650執(zhí)行該命令。如果不是,在步驟640,出現(xiàn)異常處理。例如,設計自動化應用程序268可以停止評估命令腳本310??蛇x擇地,可以嘗試恢復或繼續(xù),而不執(zhí)行禁止的命令。當此發(fā)生時,在步驟660,可以存儲由評估命令腳本310產(chǎn)生的任何數(shù)據(jù)。重復步驟630、650和660直到完成該腳本(或在步驟640,由于異常終止)為止。只要完成,就可以將結(jié)果返回到客戶機105(例如用電子郵件消息)或存儲在收件箱服務器140中,用于以后檢索(步驟670)。
本發(fā)明的實施例允許網(wǎng)格服務提供者定義設計自動化應用程序來評估(執(zhí)行)由不同客戶機提供的命令腳本。在特定的實施例中,通過定義Tcl子解釋器來禁止訪問能用來組成網(wǎng)格系統(tǒng)的安全性的命令,構(gòu)成設計自動化應用程序。這樣做允許在網(wǎng)格系統(tǒng)中并發(fā)執(zhí)行的設計自動化應用程序的不同調(diào)用,而不要求系統(tǒng)劃分或資源擦洗。因此,最大化了網(wǎng)格系統(tǒng)的效率同時也增加了網(wǎng)格系統(tǒng)的整體安全性。
盡管上文針對本發(fā)明的實施例,但在不離開本發(fā)明的基本范圍的情況下,可以導出本發(fā)明的其他和進一步的實施例,并且其范圍由下述的權利要求確定。
權利要求
1.一種用于提供對計算網(wǎng)格的訪問的方法,包括提供設計自動化應用程序,其中,所述設計自動化應用程序配置成處理設計自動化任務,其中,所述設計自動化任務包括(i)將由所述設計自動化應用程序評估的命令集;以及(ii)代表電子電路的數(shù)據(jù)集;以及為計算機系統(tǒng)的用戶提供接口以便將所述設計自動化任務傳送到所述計算網(wǎng)格。
2.如權利要求1所述的方法,其中,所述計算網(wǎng)格包括連接在一起以便形成網(wǎng)絡的計算機系統(tǒng)集,并且其中,所述計算機系統(tǒng)集受網(wǎng)格管理計算機管理。
3.如權利要求1所述的方法,其中,所述設計自動化任務包括高級合成、邏輯合成、靜態(tài)定時分析、布局、物理合成和布線任務中的一個。
4.如權利要求1所述的方法,其中,所述設計自動化應用程序包括配置成評估包括在所述設計自動化任務中的命令集的命令解釋器。
5.如權利要求4所述的方法,其中,所述命令解釋器包括Tcl命令解釋器。
6.如權利要求4所述的方法,其中,所述命令解釋器具體配置成排除包括在所述命令集中、與處理所述設計自動化任務無關的任何命令的評估。
7.如權利要求6所述的方法,其中,所述命令解釋器進一步包括配置成防止所述設計自動化任務調(diào)用任何系統(tǒng)或外殼命令、執(zhí)行文件輸入或輸出、訪問網(wǎng)絡服務、以及防止調(diào)用處理所述設計自動化任務不必要的其他命令的Tcl子解釋器。
8.如權利要求1所述的方法,其中,提供所述接口包括提供配置成允許用戶在計算機網(wǎng)絡上,將所述設計自動化任務傳送到所述計算網(wǎng)格的基于web的接口。
9.如權利要求1所述的方法,進一步包括從請求實體接收所述設計自動化任務和處理所述設計自動化任務的請求;調(diào)用所述計算網(wǎng)格上的所述設計自動化應用程序的實例;向所述設計自動化應用程序的所述實例提供所述設計自動化任務;評估包括在所述設計自動化任務中的命令集;以及將所述評估的結(jié)果返回到所述請求實體。
10.如權利要求9所述的方法,其中,所述設計自動化任務包括高級合成、邏輯合成、靜態(tài)定時分析、布局、物理合成和布線任務中的一個。
11.如權利要求9所述的方法,其中,所述設計自動化應用程序包括配置成評估包括在所述設計自動化任務中的命令的命令解釋器。
12.如權利要求11所述的方法,其中,所述命令解釋器包括Tcl命令解釋器。
13.如權利要求11所述的方法,其中,所述命令解釋器具體配置成排除包括在所述命令集中、與處理所述設計自動化任務無關的任何命令的評估。
14.如權利要求12所述的方法,其中,所述命令解釋器進一步包括配置成防止所述設計自動化任務調(diào)用任何系統(tǒng)或外殼命令、執(zhí)行文件輸入或輸出、訪問網(wǎng)絡服務、以及防止調(diào)用處理所述設計自動化任務不必要的其他命令的Tcl子解釋器。
15.如權利要求9所述的方法,其中,所述計算網(wǎng)格包括連接在一起以便形成網(wǎng)絡的計算機系統(tǒng)集,并且其中,所述計算機系統(tǒng)集受網(wǎng)格管理計算機管理。
16.如權利要求9所述的方法,其中,所述網(wǎng)格管理計算機配置成通過生成將發(fā)送到與所述請求實體有關的電子郵件地址的電子郵件消息,返回評估結(jié)果的表示。
17.如權利要求9所述的方法,進一步包括監(jiān)視在所述設計自動化應用程序的實例評估包括在所述設計自動化任務中的命令集時,產(chǎn)生的由所述設計自動化應用程序的實例消耗的網(wǎng)格活動性和資源,并且計算為處理所述設計自動化任務、所述請求實體應付的費用。
18.一種用于評估設計自動化任務的系統(tǒng),包括計算網(wǎng)格,包括連接在一起以形成資源網(wǎng)絡的多個計算機資源;應用程序,配置成使用所述資源網(wǎng)絡,處理所述設計自動化任務,其中,所述設計自動化任務包括(i)將由所述設計自動化應用程序處理的命令集;以及(ii)代表電子電路的數(shù)據(jù)集,并且其中,所述設計自動化任務配置成使用所述資源網(wǎng)絡來處理請求;以及網(wǎng)格管理器,配置成(i)監(jiān)視可用在所述計算網(wǎng)格中的資源,(ii)分配來自所述計算網(wǎng)格的資源以便處理所述設計自動化任務,以及(iii)接收和存儲通過處理由請求實體提交的所述設計自動化任務生成的結(jié)果。
19.如權利要求18所述的系統(tǒng),其中,所述設計自動化應用程序包括配置成評估包括在所述設計自動化任務中的所述命令集的命令解釋器。
20.如權利要求19所述的系統(tǒng),其中,所述命令解釋器包括Tcl命令解釋器。
21.如權利要求19所述的系統(tǒng),其中,所述命令解釋器具體配置成排除包括在所述命令集中、與處理所述設計自動化任務無關的任何命令的評估。
22.如權利要求21所述的系統(tǒng),其中,所述命令解釋器進一步包括配置成防止所述設計自動化任務調(diào)用任何系統(tǒng)系統(tǒng)或外殼命令、執(zhí)行文件輸入或輸出、訪問網(wǎng)絡服務、以及防止調(diào)用處理所述設計自動化任務不必要的其他命令的Tcl子解釋器。
23.如權利要求18所述的系統(tǒng),其中,所述設計自動化應用程序進一步配置成消耗完成處理所述設計自動化任務所需的、可用在所述計算網(wǎng)格上的資源。
24.一種包含程序的計算機可讀介質(zhì),當執(zhí)行該程序時,進行一種操作,所述操作包括定義設計自動化程序包,其中,所述設計自動化應用程序配置成處理設計自動化任務,其中,所述設計自動化程序包包括(i)將由所述設計自動化應用程序處理的命令集;以及(ii)代表電子電路的數(shù)據(jù)集;以及為請求實體提供接口以便將所述設計自動化程序包傳送到計算網(wǎng)格;從所述請求實體接收所述設計自動化任務和處理所述設計自動化任務的請求;調(diào)用所述計算網(wǎng)格上的所述設計自動化應用程序的實例;向所述設計自動化應用程序的實例提供所述設計自動化程序包;評估包括在所述設計自動化程序包中的所述命令集;以及將所述評估的結(jié)果返回到所述請求實體。
25.如權利要求24所述的計算機可讀介質(zhì),其中,所述計算網(wǎng)格包括連接在一起以便形成網(wǎng)絡的計算機系統(tǒng)集,并且其中,所述計算機系統(tǒng)集受網(wǎng)格管理計算機管理。
26.如權利要求24所述的計算機可讀介質(zhì),其中,所述設計自動化應用程序包括配置成評估包括在所述設計自動化任務中的所述命令集的命令解釋器。
27.如權利要求25所述的計算機可讀介質(zhì),其中,所述命令解釋器包括Tcl命令解釋器。
28.如權利要求26所述的計算機可讀介質(zhì),其中,所述命令解釋器具體配置成排除包括在所述命令集中、與處理所述設計自動化任務無關的任何命令的評估。
29.如權利要求25所述的計算機可讀介質(zhì),其中,所述命令解釋器進一步包括配置成防止所述設計自動化任務調(diào)用任何系統(tǒng)系統(tǒng)或外殼命令、執(zhí)行文件輸入或輸出、訪問網(wǎng)絡服務、以及防止調(diào)用處理所述設計自動化任務不必要的其他命令的Tcl子解釋器。
30.一種包括存儲在其上的信息的計算機可讀介質(zhì),所述信息包括設計自動化應用程序,配置成處理設計自動化任務,其中,所述設計自動化任務包括(i)將由所述設計自動化應用程序處理的命令集;以及(ii)代表電子電路的數(shù)據(jù)集;以及網(wǎng)格管理器,配置成(i)監(jiān)視可用在所述計算網(wǎng)格中的資源,(ii)分配可用在所述計算網(wǎng)格上的資源來處理所述設計自動化任務,以及(iii)接收和存儲通過處理由請求實體提交的所述設計自動化任務生成的結(jié)果。
31.如權利要求30所述的計算機可讀介質(zhì),其中,所述設計自動化應用程序包括配置成評估包括在所述設計自動化任務中的命令的命令解釋器。
32.如權利要求31所述的計算機可讀介質(zhì),其中,所述命令解釋器包括Tcl命令解釋器。
33.如權利要求31所述的計算機可讀介質(zhì),其中,所述命令解釋器具體配置成排除包括在所述命令集中、與處理所述設計自動化任務無關的任何命令的評估。
34.如權利要求32所述的計算機可讀介質(zhì),其中,所述命令解釋器進一步包括配置成防止所述設計自動化任務調(diào)用任何系統(tǒng)或外殼命令、執(zhí)行文件輸入或輸出、訪問網(wǎng)絡服務、以及防止調(diào)用處理所述設計自動化任務不必要的其他命令的Tcl子解釋器。
全文摘要
通常,本發(fā)明提供用于設計自動化應用程序使用隨需應變計算機網(wǎng)絡,評估設計自動化任務的方法、裝置和制造產(chǎn)品。在一個實施例中,在組成設計自動化任務后,請求實體將設計自動化任務連同用于測試的數(shù)據(jù)集一起傳送給由隨需應變計算機網(wǎng)絡提供的收件箱服務器。設計自動化應用程序配置成處理設計自動化任務并防止它干擾和偷聽正在隨需應變環(huán)境中執(zhí)行的其他任務,以及防止它干擾隨需應變環(huán)境本身的操作。因此,設計自動化應用程序提供安全容器來評估設計自動化任務,消除向特定處理請求預先劃分資源的需要。設計自動化應用程序消耗可用網(wǎng)格資源來完成處理任務。
文檔編號H04L12/00GK1783121SQ20051008307
公開日2006年6月7日 申請日期2005年7月8日 優(yōu)先權日2004年11月30日
發(fā)明者布賴恩·克里斯托弗·威爾遜 申請人:國際商業(yè)機器公司