專利名稱::提供工具服務功能的工具服務層及工具功能的制作方法
技術領域:
:本發(fā)明一般關于半導體設備制造中所使用的控制工藝。尤其是,本發(fā)明關于完成客戶請求的系統(tǒng)、方法和介質,這些客戶請求包括例如,制造和數(shù)據采集步驟,而不要求客戶具有完成這一任務所需要的任何特定子步的知識。
背景技術:
:半導體制造工業(yè)中漸增的明顯問題是半導體制造設施中設備的無效利用。設備無效(例如,低速率的)利用的一個原因是,今天的半導體工廠管理和自動化解決方案經常是軟件的派生和演化的一個拼湊品,其用于將來自無數(shù)銷售商的令人眼花繚亂的各種元件和定制的模塊連接在一起。例如,最初由銷售商提供的工廠管理軟件經常被想獲得競爭優(yōu)勢的購買者/使用者修改。然而,在現(xiàn)存系統(tǒng)上對附加功能和工具多年來的補充和修改已經產生了導航困難,并且使軟件碎片蔓延。因此,這個軟件解決方案的拼湊品使傳統(tǒng)制造業(yè)運轉難于管理。在工廠里,碎片系統(tǒng)產生的問題之一是與客戶和(例如,請求能夠被另一個諸如工具的實體執(zhí)行的服務的任何實體)各種工具之間的通信相關的困難。例如,來自特定銷售商的工具或某一族的工具一般利用那類工具特有的通信協(xié)議。這對具有少量協(xié)議的所述工具而言,是易于管理的。然而,許多制造設施由幾百個獨立的工具或模塊組成。在這些情況下,必須裁減客戶請求,適應設備中所有工具的每一個所述協(xié)議,以保證設備的正常運行。為進一步復雜化以上描述的情形,實際上,每個服務請求可能需要許多額外的和也許復雜的操作或子步,其中任一個子步都潛在地高度依賴于一個或多個未被工具正常處理的先前(或后續(xù))步驟。例如,執(zhí)行一個光刻工序之前,一個或多個批量材料必須被傳送到光刻工具。然而,該工具本身不提供移動或處理這些材料所需要的功能。因此,為完成特定的客戶請求所必需的服務遠遠多于工具提供的那些服務。要求客戶意識到這些其它服務,就增加了系統(tǒng)的復雜性,從而導致管理系統(tǒng)難于執(zhí)行。因此,需要這樣一個制造系統(tǒng),在包括多種不同類型機器和軟件的一個制造環(huán)境中,不僅能夠完成實際的客戶請求或工具服務,而且還能提供其它相關服務。同樣,也需要一種利用和實現(xiàn)這些相關服務的技術,而不要求客戶知道完成客戶請求所需要的任何子步。
發(fā)明內容本發(fā)明通過提供利用一個或多個工具與一個工具服務層(toolservicelayer)完成客戶服務請求(servicerequest),解決(address)上文所述的問題。至少在一些實施例里,這些服務請求可以通過執(zhí)行一個或多個工具功能(toolfunction)、一個或多個工具服務層功能(toolservicelayerfunction),或一個或多個工具功能與一個或多個工具服務層功能的組合來完成。至少一些所述工具功能包括提供工具作業(yè)(tooljob)實際需要的子步(subset),該工具作業(yè)例如包括,初始化一個工具,升高或降低壓力,向室(chamber)內填充氣體,打開泵,等等。本發(fā)明的至少一些實施例所設想的所述工具服務層的至少一個功能是為工具功能(例如,執(zhí)行光刻工序)接收來自客戶的請求,確定需要執(zhí)行(例如,向光刻工具傳送材料)什么樣的其它相關功能(此后指“工具服務層功能”),以及實現(xiàn)那些功能。因而,在本發(fā)明的至少一些實施例的操作中,首先接收來自客戶的服務請求。隨后,識別制造設備中可用的所述一個或多個工具能夠提供的一個或多個工具功能,以及識別所述工具服務層能夠提供的一個或多個工具服務層功能。在這些實施例中,為完成所述服務請求,需要(或至少期望有)所述工具功能和工具服務層功能。從而,執(zhí)行所述識別的一個或多個工具功能與所述一個或多個工具服務層功能,從而完成所述客戶服務請求。同樣,在本發(fā)明的至少一些實施例中,所述服務請求不參考所述一個或多個工具功能,或所述一個或多個工具服務層功能。在這些實施例中,所述工具功能或所述工具服務層功能先被識別,然后被執(zhí)行。參照下面的相關詳細描述以及附圖,可以更充分地理解本發(fā)明的各種目的,特征,和優(yōu)點,其中圖1A是一個系統(tǒng)的一個實例框圖,該系統(tǒng)用于實現(xiàn)本發(fā)明的至少一些實施例的概念;圖1B是圖1A中所述系統(tǒng)的一個部分的詳細說明,其包括許多計算節(jié)點(computingnode)、一個路由設備(routingservice)、一個數(shù)據庫(database)和一個處理節(jié)點(processingnode);圖2描述如同本發(fā)明的至少一些實施例所設想的,用于注冊工具服務元件(toolservicecomponent)的過程的一個實例;圖3描述如同本發(fā)明的至少一些實施例所設想的,將客戶請求發(fā)送到(routingto)一個工具服務元件的進程的一個實例;圖4描述如同本發(fā)明的至少一些實施例所設想的,用于完成客戶請求的至少一個進程的一個實例;圖5是一個組合的系統(tǒng)和流程圖,用于說明完成如同本發(fā)明的至少一些實施例所設想的客戶請求的一個進程;圖6是一個高級框圖,其描述本發(fā)明的至少一些實施例所設想的部分和所使用的計算設備的各個方面;以及圖7說明一種存儲介質的一個實例,該存儲介質可用于存儲本發(fā)明的至少一些實施例的計算機實現(xiàn)的進程。具體實施例方式圖1A說明執(zhí)行本發(fā)明的至少一些實施例的概念所使用的系統(tǒng)的一個實例。尤其是,系統(tǒng)100是半導體制造系統(tǒng)的框圖表示,并且在本發(fā)明的至少一些實施例中包括許多相互連接的元件。例如,系統(tǒng)100可包括若干客戶進程(clientprocess)或客戶機(client)110,一個路由設備120,一個工具服務層130,若干計算節(jié)點152,以及若干工具140??蛻魴C110可能包括大量實體(entity),它們可以要求服務供應。例如,服務的調用可以以從進程正在運行的設備所發(fā)送來的請求的形式進行。能夠執(zhí)行客戶機110的設備例子包括監(jiān)控應用程序(monitoringapplication)、工具狀態(tài)顯示面板(toolstatusdisplaypanel)、用戶接口(userinterface),等等。使用中,所述客戶機可用于請求如拋光工藝的一個工具作業(yè)或工具服務的執(zhí)行,或請求從例如傳感器采集數(shù)據。此外,一個客戶機可以包括一個工作流(workflow)(即,執(zhí)行另一個工作流的調用)。一般來說,一個工作流可以包括完成一個作業(yè)所需要的預編程的或腳本化的步驟或任務序列。每一步可以請求一個或多個服務供應,或促成另一個工作流的執(zhí)行。因此,工作流的一步能夠并且可以被用于請求一個服務。工具140包括用于生產或測量半導體的標準制造設備中所使用的模塊和設備。例如,工具140的實例包括實現(xiàn)氧化、光刻(photolithography)、注入(implamting)、度量服務(metrologyservice)等等的設備。工具140還可以包括諸如傳感器或半導體處理、度量或封裝工具的內部或外部輔助硬件(例如,外部設備142)。參考圖1B,節(jié)點152可能包括諸如個人計算機、工作站等的任何計算設備,并且可用于實現(xiàn)一個或多個工具服務元件150。每個工具服務元件還可以包括一個或多個工具驅動元件(或設備驅動器)155,以輔助與工具140(或外部設備142)的通信。特別是,在節(jié)點152上實現(xiàn)的一個或多個工具服務元件150提供客戶機110與工具140之間的通信所需要的功能。尤其是,利用軟件和/或硬件進程(process),每個工具服務元件150用作一個工具的邏輯抽象,并且代表一個實際的工具實例。這樣,要傳送到關聯(lián)工具的客戶請求被收到,并且首先被工具服務元件150處理。然后,所述工具驅動元件155將所述客戶請求轉換或翻譯成其關聯(lián)工具可接受的通信協(xié)議(communicationprotocol)。每個工具服務元件可以包括多個工具驅動器。每個工具驅動器依次與實際工具140,和/或所述工具的內部或外部設備進行通信。例如,一個工具服務元件可以使一個工具驅動器與一個工具進行通信,以及使另一個工具驅動器與一個連接到(或與之通信)諸如外部設備142的所述工具上的設備進行通信。外部設備的實例包括條碼讀取器(barcodereader)、傳感器等等。在這種方式下,所述工具服務元件150相對于要求每個客戶直接與工具進行通信的可用元件,其提供了更高級的抽象和更高的靈活性。例如,一個客戶機可以請求(從所述工具服務元件)源于所述工具或所述設備的數(shù)據。由于所述工具服務元件代表邏輯工具,所以此客戶機不知道或不在意所述工具服務元件是如何檢索所請求的數(shù)據的。如圖1B中所描述的,除了包括工具服務元件150,每個節(jié)點152還可以包括一個對象表(objecttable)154。如下面將描述的,這些對象表154可以用于存儲或管理對象引用(objectreference),這些對象引用用于識別和調用運行在所述節(jié)點上的所述工具服務元件的特定實例。這樣,工具服務元件150被用于指揮工具140,也可以用于接收來自所述工具的通信。此外,運行節(jié)點注冊過程(noderegistrationprocess)162的節(jié)點160可被實現(xiàn),以注冊每個所述節(jié)點,在所述節(jié)點中,工具服務元件已經被啟動。這樣,所述節(jié)點注冊過程162可以用于存儲和從中心數(shù)據庫170撤消每個所述節(jié)點的節(jié)點標識符(節(jié)點ID),在所述節(jié)點上工具服務元件已經被啟動。雖然在這個例子中,節(jié)點160用于管理數(shù)據庫170(也就是,存儲和檢索數(shù)據庫170中的節(jié)點ID),但在其它例子中,數(shù)據庫170可由節(jié)點152直接管理。而且,可用任何介質代替數(shù)據庫170(例如,任何存儲文件等等)來存儲信息。除了以上論述的節(jié)點ID之外,數(shù)據庫170還用于存儲配置信息(configurationinformation),該配置信息用于識別一個服務是否由一個工具或所述工具服務層來提供。因此,與一個工具相關的所述配置信息可以包括該工具的特征,如名稱,端口(port)數(shù)量,材料容量(capacity)等等。而且,與所述工具服務層相關的所述配置信息可以包括任何明確定義的服務和可能提供的其它服務的特性。所述配置信息還可以包括用于執(zhí)行自動化方案(automationscenario)(即,執(zhí)行一個工作流,處理離散任務序列)的任何用戶定義的或預定義的工作流。本發(fā)明的至少一些實施例設想,由用戶(例如,一個工藝工程師等)用配置應用程序等,將所述配置信息輸入到數(shù)據庫170中。再參照圖1A,本發(fā)明的至少一些實施例設想,為了恰當?shù)赝瓿梢粋€客戶服務請求,需要許多其它子步或功能(否則,僅通過收到和實現(xiàn)所述客戶請求的自動執(zhí)行是不能恰當?shù)赝瓿伤隹蛻粽埱蟮?。特別地,在某些情況下,一個請求可以僅通過執(zhí)行由工具、所述工具服務層或兩者的組合來執(zhí)行的一個或多個附加子步或任務來完成。例如,除了拋光作業(yè)本身之外,拋光過程可能需要工具功能,如初始化所述工具、設定制法(recipe)參數(shù)等等的子步,和/或工具服務層功能,如載入拋光器、拋光過程中采集數(shù)據和為未來的運行分析結果的子步。而且,本發(fā)明的至少一些實施例設想,某些服務可能不需要工具功能(即,一個工具的動作)。在這些情形下,這些服務可以由工具服務層130(即,一個工具服務層功能)提供。例如,故障檢測工序(faultdetectionprocedure)可用于監(jiān)控工具的正常與否,而不需要所述工具本身的這些服務。這樣,通過提供工具功能、工具服務層功能或兩者組合完成服務請求。無論什么情況下,本發(fā)明的至少一些實施例設想,所述客戶請求不需要參考此請求的服務的任何規(guī)定(specifics)(即,任何這些子步,任何命令協(xié)議或格式,或,一個工具或所述工具服務層是否在提供這些服務),或者,甚至不需要知道除了此請求的工作以外的任何元件或進程的存在與否。路由設備120通過定位其對象引用負責向適當?shù)墓ぞ叻赵?50發(fā)送所述客戶請求并且調用其負責執(zhí)行工具功能或工具服務層功能的方法。一般來說,這些客戶請求識別工具所提供的一個期望工具服務,并且,路由設備120識別與此期望服務相關的所述對象引用,并調用此對象的此方法。例如,工作流中的一步可以請求特定拋光技術應用于一個或多個批量材料(lotofmaterial)。而且,本發(fā)明的至少一些實施例設想,所述客戶請求不參考,也不具有此實際服務或完成此請求的作業(yè)所需要的規(guī)定(例如,子步,命令參數(shù)或格式,等等)或細節(jié)(detail)的知識。例如,上文提到的拋光技術可以要求在拋光過程中從傳感器運行一個監(jiān)視進程(monitoringprocess),以確定實際拋光過程的終止時間。路由設備120包括以協(xié)同方式工作的大量軟件進程(softwareprocess)或這些軟件的組合,路由設備120和工具服務層130一起負責識別與所述工具相關的對象引用,以及調用所述對象的適當方法,其中所述工具能夠提供請求的服務。同樣,工具服務層130負責確定那些所述工具服務層本身能夠提供服務的實例。在那些情形,一個工具可以不被要求滿足所述請求。而是由所述工具服務層130完成所述請求。在其它情形下,所述工具和所述工具服務層提供的服務組合可以完成所述請求。此外,工具服務層130可以用于識別預定義的工作流,以控制一項作業(yè)(例如,可以包括一個工作流的一步,等等)的執(zhí)行。在這些情形下,被調用的所述工作流可以從例如遠程或本地數(shù)據庫(例如數(shù)據庫170)檢索到,并且,隨后如一個或多個客戶機110一樣啟動。然后,所述工作流可以提出大量的附加客戶請求,例如,包括執(zhí)行其它工作流。這樣,負責進行主自動化進程的工作流可以調用其它工作流,以執(zhí)行一個或多個子步,例如包括異常處理例程(exceptionhandlingroutine)。如上所述,路由設備120負責將所述客戶請求發(fā)送(routing)到合適的工具服務元件。以這種方式,大量客戶機能夠從許多工具請求服務(即,多個客戶機可以請求單一工具的這些服務,或一個客戶機可以請求多個工具的這些服務)。此外,除了路由設備120和工具服務元件150之外,工具服務層130還可以包括其它應用元件。這樣,通過添加定制的軟件和硬件元件,有利于系統(tǒng)的可擴展性。如上所述,本發(fā)明的至少一些實施例設想,工具服務層130負責從客戶機110接受或接收大量請求。同樣,這些請求不需要參考請求的服務的規(guī)定,或者,甚至不需要知道除了請求的作業(yè)以外的任何元件或進程的存在與否。以這種方式,所述客戶請求不需要與每個所述工具的特性(idiosyncrosy)和協(xié)議保持一致。代替的是,配置工具服務層130,以將客戶請求翻譯和轉換成每個工具140可識別的格式。因此,工具服務元件150可以被客戶機110看作每個工具140的表示(representation)。此外,工具服務元件150的所述軟件和硬件進程負責確定所述功能是否能夠由任何工具140或工具服務層130提供。特別地,所述工具服務元件確定便于提供工具服務所需要的子步。當不僅僅需要工具功能來完成所述服務時,工具服務層130負責識別和提供這些附加的工具服務層功能。如圖1A所述,在某些情況下,工具服務層130分布在工具服務元件150和路由設備120上。在其它情況下,工具服務層130可以在路由設備120中或在工具服務元件150中單獨實現(xiàn)。如上所述,本發(fā)明的至少一些實施例設想,在進程執(zhí)行之前(過程中),利用注冊進程(registrationprocess)輸入配置信息。一旦輸入所述配置信息后,例如,在系統(tǒng)初始化過程中,該配置信息就可以被發(fā)送到工具服務層130。從此,所述配置信息可以用于識別能夠由單個工具(individualtool)140和所述工具服務層130提供的功能。總之,應該理解到,圖1A和1B中提到的元件及它們的特定配置只是以實例的方式進行說明,而且,本發(fā)明也設想了大量的替代元件和/或配置。參照圖2,描述了用于注冊工具服務元件的進程的一個例子。從這點考慮,一旦工具服務元件已經被啟動并且被成功初始化,由關聯(lián)工具所提供的功能即可以被注冊,并且隨后變成客戶機110可用的。在此進程的起始點,用戶(也就是,工藝工程師,操作員等等)從工作站選擇和啟動服務(步驟210)。基于配置信息(例如,識別運行所述工具服務元件的節(jié)點),識別能提供選擇的服務的所述節(jié)點。緊接著,例如對啟動所述工具服務元件(步驟215)的啟動服務進程(也就是,每個所述節(jié)點的遠程代理等)提出一個請求。然后,每個識別的節(jié)點上的所述啟動服務進程為每個工具(或分組為一個邏輯工具的工具集)啟動工具服務元件進程(步驟220)。接下來,所述工具服務元件進程生成工具服務元件對象。從此,每個工具服務元件對象注冊其對象引用和節(jié)點ID,利用對象表154識別該對象本身,該節(jié)點ID利用數(shù)據庫170識別該對象的節(jié)點。參照圖3,說明用于給工具服務元件150發(fā)送客戶請求的進程的一個例子。一旦收到所述請求,就可執(zhí)行所述工具功能。最初,客戶請求發(fā)送到路由設備120,并且被路由設備120接收(步驟310)。為響應所述客戶請求,路由設備120為對應于所述客戶的請求的工具服務元件對象引用,檢查高速緩沖存儲器(cachememory)(步驟315)。尤其是,本發(fā)明的至少一些實施例設想,完成所述客戶請求所需要的信息(例如,所述工具服務元件對象引用)可存儲在本地路由設備120中。例如,相同或類似的請求可能已經最近被完成。這樣,與最近調用的工具和工具服務層功能(例如,主機名等)相關的信息仍保留在高速緩沖存儲器中。在這些情形下,如果完成所述客戶請求所需要的信息存儲在本地路由設備120,則調用對應于請求的服務的所述工具服務元件(步驟330),導致提供請求的服務所需要的任務的執(zhí)行。如果完成所述客戶請求所需要的信息沒有存儲在本地路由設備120中,就可獲得對應于所述節(jié)點的所述節(jié)點ID(步驟320),其中所述節(jié)點運行能夠提供請求的服務的所述工具服務元件。特別地,路由設備120利用返回所述節(jié)點ID(即,計算機主機名)的工具名稱,直接調用節(jié)點注冊服務162或數(shù)據庫170,其中在所述節(jié)點ID,請求的工具服務元件進程已經被啟動。利用這個節(jié)點ID,獲得與請求的工具相關聯(lián)的所述工具服務元件對象引用(步驟325)。尤其是,為對應于所述客戶請求的對象引用,檢查所識別的節(jié)點上的所述對象表,之后返回所述工具服務元件對象引用。用這種方式,可識別完成所述客戶請求所需要的所述工具服務元件的實例。雖然圖3描述了向工具服務元件發(fā)送客戶請求的特定進程,但應該理解,結合本發(fā)明的概念也可利用其它路由過程(routingprocedure)。例如,也可以利用任何工業(yè)標準路由過程,這些工業(yè)標準路由過程包括例如那些直接在計算節(jié)點上定位對象引用而不利用管理程序進程或外部數(shù)據庫的路由過程。參考圖4,說明完成客戶請求所利用的至少一個進程的一個例子。首先,利用圖3的典型的進程(步驟410),所述客戶請求被工具服務層130和識別的所述工具服務元件接收。作為響應,執(zhí)行一個安全檢查,以驗證該客戶機是否被授權接收請求的服務(步驟414)。一般來說,可利用任何工業(yè)標準安全進程。如果該客戶機被授權接收請求的服務(步驟418),所述客戶請求被發(fā)送到相應的工具服務元件(步驟426)。另一方面,如果該客戶機沒被授權接收請求的服務(步驟418),所述請求即被拒絕(步驟422)。所述請求已經被發(fā)送到所述工具服務元件之后,就檢查所述配置信息,以識別對應于所述工具服務元件的所述工具是否能夠執(zhí)行提供請求的服務所需要的所述功能(步驟430)。例如,所述配置信息可能明確地指示所述工具所能夠執(zhí)行的功能。如果所述工具能夠執(zhí)行提供請求的服務所需要的所述功能,就從那個工具請求所述服務(步驟436),然后提供該服務。如果檢查所述配置信息之后,確定請求的服務不能在所述工具上得到,工具服務元件150就確定其是否能夠執(zhí)行提供請求的服務所需要的所述功能(步驟440)。例如,所述配置信息可以指出由所述工具服務層130能夠提供的每一個所述功能。尤其是,與確定所述服務是否在所述工具上的步驟類似,工具服務元件150可以檢查所述配置信息,以確定其是否能夠單獨或與所述工具服務層130一起執(zhí)行提供所述服務所需要的所述功能。如果工具服務元件150確定,其或所述工具服務層130不能執(zhí)行提供請求的服務所需要的所述功能(步驟440),所述請求即被拒絕(步驟444)。然而,如果工具服務元件150確定,其或所述工具服務層130能執(zhí)行提供請求的服務所需要的所述功能(步驟440),其就能確定所述服務是否是一個構建進(builtinto)所述工具服務層130中的服務(步驟448)。特別地,如果服務是一個預設的或已知的服務,它就是一個內置(builtin)服務。因此,一個內置服務包括在編碼或腳本中實現(xiàn)的進程,以提供那個特定服務。此外,執(zhí)行所述內置服務所需要的附加信息可以從配置信息獲得。如果確定所述服務是一個內置服務,就提供這個服務(步驟452)。另一方面,如果確定所述服務沒有構建進所述工具服務層130中(步驟448),工具服務層130就識別工作流是否已經被定義以提供請求的服務(步驟456)。在這些情形下,可預定義一個工作流,以提供請求的服務或完成另一個工作流的一個或多個步驟。例如,工具服務層130為預定義(預編程)的工作流的名稱檢查所述配置信息,該工作流例如由工藝工程師定義。如上面所提到的,因此可在自動化方案(也就是,實現(xiàn)工作流,以處理離散任務的特定序列)中使用所述工作流。更特別地,例如可以從數(shù)據庫170檢索到工作流,并可以被作為一個或多個客戶機110來執(zhí)行,以提供一個服務(其可能已經被另一個工作流的一步請求)。用這種方式,可以定義一個工作流,以完成一個特定任務,該任務可構成另一個工作流的一個子任務。如果定義了提供請求的服務的工作流,就啟動了那個工作流(例如,通過工作流啟動代理(workflowlaunchagent)等)(步驟464)。相反,如果沒有定義提供請求的服務的工作流,所述請求被拒絕(步驟460)。以上面的方式,本發(fā)明的至少一些實施例聚集了工具140的功能和工具服務層130的功能。圖5描述一個組合系統(tǒng)和進程圖,說明用于完成客戶請求的進程。在圖5中,工作流510如同在客戶機110(其可能是另一個工作流的一個步驟)中已經被啟動的形式來展示。在執(zhí)行過程中,工作流510中的步驟512提出一個客戶請求(步驟520)。然后這個客戶請求被路由設備120接收。接下來,路由設備120為對應于所述客戶的請求的工具服務元件對象引用檢查高速緩沖存儲器。如果對應于所述客戶請求的工具服務元件對象引用被存儲在高速緩沖存儲器中,就向節(jié)點152中的識別的工具服務元件150發(fā)送所述請求(步驟530)。收到所述請求后,所述工具服務元件150通過工具驅動器155,調用工具140(步驟540),該工具140完成所述客戶的請求。另一方面,如果對應于所述客戶請求的工具服務元件對象引用沒有存儲在路由設備120的高速緩沖存儲器中,路由設備120就為對應于所述客戶請求的節(jié)點ID,查詢節(jié)點注冊進程162(步驟550)。作為響應,節(jié)點注冊進程162搜索數(shù)據庫170(步驟560),并檢索識別節(jié)點的節(jié)點ID,該節(jié)點運行能夠提供請求的服務的所述工具服務元件進程(步驟570)。然后,由節(jié)點注冊進程162檢索到的所述節(jié)點ID被發(fā)送到路由設備120(步驟570),其查詢一個對象表154,該對象表154在所述節(jié)點ID所識別的節(jié)點中實現(xiàn)。特別地,為運行能夠提供請求的服務的所述工具服務元件的對象引用,查詢對象表154(步驟590)。識別出合適的工具服務元件之后,把相應的所述對象引用返回給路由設備120(步驟595)。利用所述對象引用,路由設備向在節(jié)點152中的識別的工具服務元件150發(fā)送所述客戶請求(步驟530)。收到該請求后,所述工具服務元件150通過所述工具驅動器155,調用工具140(步驟540),該工具140完成客戶請求。圖6說明客戶機110、路由設備120、節(jié)點152和/或工具140的內部硬件的一個例子的框圖??偩€656用作與系統(tǒng)115的其它元件相互連接的主信息鏈。CPU658是系統(tǒng)的中央處理單元,執(zhí)行計算和邏輯操作,所述計算和邏輯操作是實施此發(fā)明實施例的所述工藝以及其它程序所需要的。只讀存儲器(ROM)660和隨機存取存儲器(RAM)662構成系統(tǒng)的主存儲器。磁盤控制器664將一個或多個磁盤驅動器與系統(tǒng)總線連接。例如,這些磁盤驅動器是例如,軟盤驅動器670,或CDROM或DVD(數(shù)字視頻盤)驅動器666,或內部或外部硬驅動器668。CPU658可以是任意數(shù)量的多種不同類型的處理器,包括英特爾公司或伊利諾斯州的紹姆堡市的摩托羅拉公司制造的那些處理器。存儲器/存儲設備可是任意數(shù)量的多種不同類型的存儲設備,如DRAM(動態(tài)隨機訪問存儲器)和SRAM(靜態(tài)隨機訪問存儲器),以及其它各種類型的存儲設備,包括磁性和光介質。此外,存儲器/存儲設備還可以是傳輸形式。顯示接口672連接顯示器648,并允許來自所述總線656的信息在顯示器648上顯示。顯示器648也是一個任選輔助設備(accessary)。例如利用通信端口674,可實現(xiàn)與上面描述的諸如系統(tǒng)的其它元件的外部設備之間的通信。例如,端口674可以與總線/網絡連接(interface),而該總線/網絡與節(jié)點152等的一個節(jié)點連接(link)。光纖和/或電纜和/或導線和/或任選通信(例如,紅外線等)和/或無線通信(例如,射頻(RF)等)可用作外部設備與通信端口674之間的傳輸介質。外圍設備接口654連接鍵盤650和鼠標652,使輸入數(shù)據傳送到總線656。除了這些元件,控制系統(tǒng)還可選擇性地包括紅外發(fā)送器678和/或紅外接收器676。當使用計算機系統(tǒng)及一個或多個通過紅外信號傳輸來發(fā)送/接收數(shù)據的處理元件/站時,可任選使用紅外發(fā)送器。代替使用紅外發(fā)送器或紅外接收器,控制系統(tǒng)還可任選使用低功率無線發(fā)送器680和/或低功率無線接收器682。所述低功率無線發(fā)送器發(fā)送生產過程的元件所接收的信號,通過所述低功率無線接收器從所述元件接收信號。圖7說明一個典型的計算機可讀存儲介質784,用于存儲計算機可讀代碼或指令。作為一個例子,介質784可與在圖6中顯示的磁盤驅動器一起使用。典型地,諸如軟盤、CD-ROM或數(shù)字視盤等的存儲介質將包括,例如,用于單字節(jié)語言的多字節(jié)本地術語集(locale),以及用于控制上面的系統(tǒng),使所述計算機能執(zhí)行這里所描述的功能的程序信息??蛇x擇的,ROM660和/或RAM662還能用于存儲程序信息,該程序信息用于指示中央處理單元658,執(zhí)行與瞬時進程(instantprocess)相關的操作。存儲信息的合適計算機可讀介質的其它例子包括磁性、電子或光學(包括全息)存儲器,及其中的某些組合等等。本發(fā)明的至少一些實施例設想,執(zhí)行前面所述的本發(fā)明的各個方面的軟件的不同部分可存于存儲器/存儲設備中??傊?,應該強調的是,本發(fā)明的至少一些實施例的各種元件能夠在硬件、軟件或兩者組合中來執(zhí)行。在這樣的實施例里,各種元件和步驟將在硬件和/或軟件中實施,以執(zhí)行本發(fā)明的所述功能。在本發(fā)明的此類實施例中,可以使用任何現(xiàn)在可用的或未來開發(fā)的計算機軟件語言和/或硬件元件。例如,上文提到的至少一些功能可利用C++或VisualBasic(可視Basic)語言來實現(xiàn)。也應認識和理解到,這里和以前所描述的本發(fā)明的特定實施例僅是用來說明本發(fā)明的一般原則。在與所闡述的原則相一致的情況下,本領域的技術人員可作各種修改。權利要求1.利用工具服務層完成客戶工具服務請求的一種方法,所述方法包括以下步驟(1)接收來自客戶機的工具服務請求;(2)識別一個或多個工具服務層功能,所述工具服務層能夠提供這些工具服務層功能,其中所述識別的一個或多個工具服務層功能是完成所述工具服務請求所需要的;以及(3)執(zhí)行所述識別的一個或多個工具服務層功能,從而完成所述客戶工具服務請求。2.如權利要求1所述的方法,其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述工具服務請求不參考所述一個或多個工具功能。3.如權利要求1所述的方法,其中所述工具服務請求不參考所述一個或多個工具服務層功能。4.如權利要求1所述的方法,其中所述識別步驟還包括,識別執(zhí)行自動化方案的工作流。5.如權利要求1所述的方法,其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述識別步驟還包括,檢查配置信息,所述配置信息描述工具功能,所述一個或多個工具能夠提供所述工具功能。6.如權利要求1所述的方法,其中所述識別步驟還包括,檢查配置信息,所述配置信息描述工具服務層功能,所述工具服務層能夠提供所述工具服務層功能。7.如權利要求1所述的方法,其中所述識別步驟還包括,檢查配置信息,所述配置信息描述工作流定義。8.如權利要求1所述的方法,其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述的方法還包括,將所述客戶請求轉換成所述一個或多個工具可理解的格式的步驟。9.利用工具服務層完成客戶工具服務請求的一個系統(tǒng),所述系統(tǒng)包括一個存儲器;一個與所述存儲器進行通信的處理器,其中所述處理器被配置,以通過路由設備從客戶機接收工具服務請求;其中所述工具服務層在處理器中實現(xiàn),并且被配置,以識別完成所述工具服務請求所需要的一個或多個工具服務層功能;以及其中所述處理器被配置,以使所述工具服務層執(zhí)行所述識別的一個或多個工具服務層功能,從而完成所述客戶工具服務請求。10.如權利要求9所述的系統(tǒng),其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述工具服務請求不參考所述一個或多個工具功能。11.如權利要求9所述的系統(tǒng),其中所述工具服務請求不參考所述一個或多個工具服務層功能。12.如權利要求9所述的系統(tǒng),其中所述處理器能夠識別執(zhí)行自動化方案的工作流。13.如權利要求9所述的系統(tǒng),其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述處理器能夠檢查配置信息,所述配置信息描述工具功能,所述一個或多個工具能夠提供所述工具功能。14.如權利要求9所述的系統(tǒng),其中所述處理器能夠檢查配置信息,所述配置信息描述工具服務層功能,所述工具服務層能夠提供所述工具服務層功能。15.如權利要求9所述的系統(tǒng),其中所述處理器能夠檢查配置信息,所述配置信息描述工作流的定義。16.如權利要求9所述的系統(tǒng),其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述處理器能夠將所述客戶請求轉換成所述一個或多個工具可理解的格式。17.計算機可讀介質上體現(xiàn)的一個計算機程序,其利用工具服務層完成客戶工具服務請求,所述計算機程序包括用于接收的計算機可讀指令,其從客戶機接收工具服務請求;用于識別的計算機可讀指令,其識別所述工具服務層能夠提供的一個或多個工具服務層功能,其中所述識別的一個或多個工具服務層功能是完成所述工具服務請求所需要的;以及用于執(zhí)行的計算機可讀指令,其執(zhí)行所述識別的一個或多個工具服務層功能,從而完成所述客戶工具服務請求。18.如權利要求17所述的計算機程序,其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述工具服務請求不參考所述一個或多個工具功能。19.如權利要求17所述的計算機程序,其中所述工具服務請求不參考所述一個或多個工具服務層功能。20.如權利要求17所述的計算機程序,其中所述用于識別的計算機可讀指令還包括,識別執(zhí)行自動化方案的工作流的計算機可讀指令。21.如權利要求17所述的計算機程序,其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述用于識別的計算機可讀指令還包括,檢查配置信息的計算機可讀指令,所述配置信息描述所述一個或多個工具能夠提供的工具功能。22.如權利要求17所述的計算機程序,其中所述用于識別的計算機可讀指令還包括,用于檢查配置信息的計算機可讀指令,所述配置信息描述所述工具服務層能夠提供的工具服務層功能。23.如權利要求17所述的計算機程序,其中所述用于識別的計算機可讀指令還包括,用于檢查配置信息的計算機可讀指令,所述配置信息描述工作流的定義。24.如權利要求17所述的計算機程序,其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述計算機程序還包括,用于將所述客戶請求轉換成所述一個或多個工具可理解的格式的計算機可讀指令。25.利用工具服務層完成客戶工具服務請求的一個系統(tǒng),所述系統(tǒng)包括接收裝置,其從客戶機接收工具服務請求;識別裝置,其識別一個或多個工具服務層功能,所述工具服務層能夠提供這些工具服務層功能,其中所述識別的一個或多個工具服務層功能是完成所述工具服務請求所需要的;以及執(zhí)行裝置,其執(zhí)行所述識別的一個或多個工具服務層功能,從而完成所述客戶工具服務請求。26.如權利要求25所述的系統(tǒng),其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述工具服務請求不參考所述一個或多個工具功能。27.如權利要求25所述的系統(tǒng),其中所述工具服務請求不參考所述一個或多個工具服務層功能。28.如權利要求25所述的系統(tǒng),其中所述識別裝置還包括,識別執(zhí)行自動化方案的工作流的裝置。29.如權利要求25所述的系統(tǒng),其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述識別裝置還包括,用于檢查配置信息的裝置,所述配置信息描述所述一個或多個工具能夠提供的工具功能。30.如權利要求25所述的系統(tǒng),其中所述識別裝置還包括,用于檢查配置信息的裝置,所述配置信息描述所述工具服務層能夠提供的工具服務層功能。31.如權利要求25所述的系統(tǒng),其中所述識別裝置還包括,用于檢查配置信息的裝置,所述配置信息描述工作流的定義。32.如權利要求25所述的系統(tǒng),其中所述工具服務請求可以由一個或多個工具功能協(xié)同所述一個或多個工具服務層功能一起完成,所述一個或多個工具功能由一個或多個工具提供;并且,其中所述系統(tǒng)還包括,將所述客戶請求轉換成所述一個或多個工具可理解的格式的裝置。33.一個完成客戶工具服務請求的系統(tǒng)包括一個處理器;一個存儲器,所述存儲器與所述處理器進行通信,并且包括一個工具服務層,其被配置以從客戶機接收工具服務請求,其中所述工具服務層被配置,以識別完成所述工具服務請求所需要的一個或多個工具服務層功能;以及一個工具服務元件,其被配置以使所述工具服務層執(zhí)行所述識別的一個或多個工具服務層功能,從而完成所述客戶工具服務請求。34.如權利要求33所述的系統(tǒng),其中所述工具服務層能夠識別執(zhí)行自動化方案的工作流。35.如權利要求33所述的系統(tǒng),其中所述工具服務層能夠檢查配置信息,所述配置信息描述能夠被提供的工具服務層功能。36.如權利要求33所述的系統(tǒng),其中所述工具服務層能夠檢查配置信息,所述配置信息描述工作流的定義。全文摘要一個或多個半導體制造工具及一個用于完成客戶請求的工具服務層,其包括制造過程和數(shù)據采集步驟,而在請求中不參考工具功能或工具服務層功能。首先,從客戶機接收服務請求;緊接著,識別所述工具能夠提供的一個或多個工具功能與所述工具服務層能夠提供的一個或多個工具服務層功能;在識別了完成所述服務請求所需要的這些功能之后,就執(zhí)行所識別的工具功能和工具服務層功能,從而完成客戶服務請求。此外,至少在一些實施例中,所述服務請求不需要特別參考子步驟。同樣,至少在一些實施例中,所述請求不參考完成所述客戶請求所需要的所述工具服務層功能。在這些情形下,獨立地識別完成所需要的工具服務層功能,而不需要來自所述服務請求的信息。文檔編號G05B19/042GK1549957SQ02815857公開日2004年11月24日申請日期2002年8月6日優(yōu)先權日2001年8月14日發(fā)明者H·L·科赫,HL科赫申請人:應用材料有限公司