163_091-009AP-TW
發佈日期 :
2009-04-29
| 發明專利說明書 | |
| ※申請案號: | |
| ※申請日期: ※IPC分類: | |
| 一、發明名稱: (中文/英文)
|
|
| 通用型服務管理系統(全文下載)
|
|
| 二、申請人: 共 人
|
|
| 指定 為應受送達人
|
|
| 三、發明人: | |
| ◎專利代理人: | |
| 四、聲明事項 | |
|
|
|
| □主張專利法第二十七條第一項國際優先權:
|
|
| □主張專利法第二十九條第一項國內優先權:
|
|
| □ 主張專利法第二十六條微生物:
|
|
| □ 熟習該項技術者易於獲得,不須寄存 | |
| 五、中文發明摘要: | |
| 本發明提出一種通用型服務管理系統。本發明至少包括:註冊機制;搜尋與執行機制;以及取代機制,藉以偵測並取代失效之服務提供者(service),如半導體機台監控器。本發明提供具有失效偵測與資料備份能力之泛用評估器(Generic Evaluator,GEV),並結合Jini架構及以合約來設計(Design by Contract)之程式撰寫概念。此泛用評估器維護所有服務提供者的信譽值(credit),藉以供使用者(如廠區監控器)選出具有較高信譽值的服務提供者。此泛用評估器會週期性地備份服務提供者的執行狀態與參數,故當服務提供者發生異常時,這些備份的執行狀態與參數可設定至其他服務提供者,使未完成的工作可以繼續執行,進而達到提高分散式物件系統的可靠度之目的。本發明可偵測出如當機、訊息傳輸錯誤與性能降低等異常現象,並適用於各種以網路連接的生產系統,如半導體業和光纖通訊業等。 | |
| 六、英文發明摘要: | |
| 七、指定代表圖: | |
| (一)本案指定代表圖為: | |
| (二)本代表圖之元件代表符號簡單說明:
|
|
| 八、本案若有化學式時,請揭示最能顯示發明特徵的化學式: | |
| 九、發明說明: | |
| 發明領域: 本發明係有關於一種通用型服務管理系統,特別是有關於一種具失效偵測與功能取代能力的通用型服務管理系統。 發明背景: 在網路時代來臨之後,以分散式物件技術來建構的軟體系統愈來愈普遍。如何增加軟體系統的可靠度,偵測出發生異常的服務提供者(service)並以其他如備用服務提供者來及時取代之,使未完成的工作可以繼續執行,一直是軟體系統開發者共同努力的目標。隨著生產系統如半導體生產系統的日益精密和設備成本的昂貴,服務提供者如半導體機台監控器通常同時控制複數個機台,且整個半導體製程往往是一連續製程。因此,若未能及時取代異常的半導體機台監控器,且從最接近發生異常時的狀態繼續執行未完成的工作,則會造成生產上非常重大的損失。 目前已有數位學者提出有關個別應用程式之可靠度與穩定度的增加方法,如Meyer ("Applying "Design by Contract"", IEEE Computer, vol. 25, no. 10, pp. 40-51, Oct. 1992; "Object-Oriented Software Construction", NJ: Prentice Hall, 1997.)提出以合約來設計(Design by Contract)的方式來表示使用者(client)與服務提供者所應共同遵守的合約,以取代傳統防禦式(defensive)的程式撰寫方式,使程式對於例外(exception)的處理更加容易,而減少程式中錯誤(bugs)的產生。在後續的研究中,有許多學者將合約(contract)應用在目前的軟體發展環境中,如應用在物件導向的分析與設計中而以UML來描述合約、應用在Java的程式中而以Java來實現合約、應用合約在結構化(framework)的設計中等。Mitchell、Howse、與Hamie (R. Mitchell, J. Howse, and A. Hamie, "Contract-Oriented Specifications", IEEE Proceedings of Technology of Object-Oriented Languages, pp. 131-140, 1998.)提出將規格轉換成合約的方法,以合約導向式的規格(contract-oriented specification)來表示原來傳統之方程式的規格(equational specification),而將合約導向式的規格直接映射(mapping)到程式中合約的表示法上,使一般的規格可直接轉換成合約來描述。此外,已有許多研究文獻與發展工具中,提出針對提昇應用程式程序(process)的可靠度與可恢復性(recoverability)的方法,如Firstwatch (Veritas, "Veritas FirstWatch") 、 Watchd (Y. Huang and C. Kintala, "Software Implemented Fault Tolerance:Technologies and Experience," in the 23rd International Symposium on Fault-tolerance Computing (FTCS), Toulouse, France, pp. 2-10, June 1993.)與Wolfpack (MSCS, "Microsoft NT Server Edition)等工具皆可應用來提昇應用程式程序的容錯能力。然而,這些方法都只能用來提昇單一應用程式的可靠度,而無法用來提昇以分散式物件技術所建構的軟體系統整體之可靠度。 在提高分散式物件系統的可靠度與穩定度方面,Osman與Bargiela (T. Osman and A. Bargiela, "FADI:A Fault Tolerant Environment for Open Distributed Computing," IEE Proceedings of Software, vol. 147, no. 3, pp. 91-99, June 2000.)提出一FADI的環境,以提昇分散式應用程式執行的可靠度。FADI藉由監控使用者的執行錯誤(user-process failure)及節點碰撞(node-crash)來偵測異常的發生,並提出一非阻塞檢查(non-blocking checkpoint)的機制,以在復原時可取出異常發生前的備份資料。FADI雖然適用於任何的分散式物件技術,但是其只能偵測到處理節點碰撞及硬體暫態錯誤(hardware transient failure),而對於某些異常狀況無法偵測到,如:傳輸錯誤的訊息,或將訊息傳至錯誤的節點等;且當異常發生時,FADI提出的是備份異常發生前的資料以作為異常物件復原時使用,並非以其他正常的物件來取代此異常的物件,故除非此異常的物件功能能夠自行恢復,否則系統無法繼續工作。 Jini架構(K. Arnold, B. O'Sullivan, R. W. Scheifler, J. Waldo, and A. Wollrath, The Jini Specification, Addison-Wesley, 1999.)在Java程式語言上,可用來建構以服務為基礎的系統,它提供了發現(discovery)、搜尋(lookup)、出租(leasing)、及事件(event)等機制,使Jini中的元件可自動地發現網路及網路中的資源,且容易地建構與維護網路設備與軟體,程式設計者因而可以容易地建構出強健(robust)的系統。Jini除了提供動態網路連結的功能外,還提供了許多其他的機制,使應用Jini所建構出的系統更為強健。Jini中的發現機制使Jini的系統具有自發性社群建構的特性;搜尋機制讓使用者可以在社群中搜尋其所需要的服務;出租機制使Jini具有自我治療(self-healing)的能力。然而,雖然在Jini的架構中,其出租的機制可用來偵測系統中服務提供者是否發生當機之異常現象,但無法偵測出服務提供者其他如性能降低等的異常狀況。另外,在Jini的架構中雖然有提供使用者可藉由搜尋機制搜尋其所需的服務,但是被選擇的服務提供者中,並無好壞之區別,使用者僅能任意選一個而無法特定選擇最適合的服務提供者來使用。此外,在Jini的社群中還缺乏備份的功能,所以在Jini的架構中,當服務提供者發生異常時,在異常發生前的所有執行之狀態與參數將無法轉移至其他正常的服務提供者上,以繼續執行未完成的任務。 現有已申請之專利方面,在美國專利前案第6,212,649號專利中,提出一個智慧型代理人(intelligent agent)去偵測在分散式系統中所傳送訊息是否正確,若不正確的話,則請發送端重新發送訊息俾提昇系統可靠度。但是在此專利中,若接收端元件本身已經發生當機等異常現象時,即使發送端重傳訊息,接收端元件本身亦無法恢復正常工作;且在應用此專利所建立之分散式物件環境系統中,亦無備份與取代異常元件之功能,故於系統中之元件發生異常時,無法讓使用者自由地選擇系統中其他正常的服務來取代異常的元件。 其他現有已申請專利中,應用於主機板運作上的美國專利前案第5,812,757號提出一種讓電腦主機內部硬體運作失效復原的方式,描述在系統匯流排中存在多個處理板(processing board),當其中一個處理板發生錯誤時,會立即尋找另一個處理板來代替原本失效的處理板。應用於電腦硬體系統的美國專利前案第5,502,812號提出將資料處理系統中各元件都增加一個至數個備份元件,根據看門狗(watchdog)電路所發送出的訊息判斷執行中元件是否發生異常,若發生異常則將工作轉移至備份元件繼續工作的方式。應用於太空飛航技術的美國專利前案第6,128,555號提出應用軟體取代失效的硬體之方式使飛行器中發生異常的功能元件之工作能被部分取代並繼續完成。應用網路傳輸技術的美國專利前案第6,122,753號提出自動選擇阻塞率較低的路徑去取代原本不通的路徑之方式讓訊息能繼續傳送。在美國專利前案第5,848,229號,提出如何應用磁碟陣列的方式,將儲存於硬碟的資料做多重的備份,俾提升資料存取的錯誤容忍度。然而上述之專利都不是為提昇分散式物件導向系統的整體可靠度而設計的。 因此,非常需要發展一種具失效偵測與功能取代能力的通用型服務管理機制,藉以偵測並取代系統中之失效的服務提供者,並可以從最接近發生異常時的狀態來繼續執行未完成的工作。 發明目的及概述: 鑒於上述習知之方法:只能用來提昇單一應用程式的可靠度,而無法用來提昇以分散式物件技術所建構的軟體系統整體之可靠度;除非異常的物件功能能夠自行恢復,否則系統無法繼續工作;當服務提供者發生異常時,在異常發生前的所有執行之狀態與參數將無法轉移至其他正常的服務提供者上,以繼續執行未完成的任務;系統中之元件發生異常時,無法讓使用者自由地選擇系統中其他正常的服務來取代異常的元件;不是為提昇分散式物件導向系統的整體可靠度而設計。因此,本發明提出一種通用型服務管理系統,藉以克服上述習知之方法的缺點。 本發明之一目的為提供一種通用型服務管理系統,藉以有效地偵測服務提供者的異常現象,如當機、訊息傳輸錯誤與性能降低等異常現象。 本發明的又一目的為提供一種通用型服務管理系統,藉以及時選擇信譽值(credit)較高的服務提供者來取代失效之服務提供者。 本發明的又一目的為提供一種通用型服務管理系統,本發明會週期性地備份服務提供者的執行狀態與參數,藉以當服務提供者發生異常時,可使未完成的工作由最接近發生異常時的狀態繼續執行,進而達到提高分散式物件系統的可靠度之目的。 本發明的再一目的為提供一種通用型服務管理系統,藉以適用於各種以網路連接的生產系統,特別是各種電子與通訊產業,如半導體業和光纖通訊業等。 根據以上所述之目的,本發明提供了一通用型服務管理系統。本發明之通用型服務管理系統具有異常管制能力,且係架構於網路分散式系統上,此網路分散式系統至少包括:使用者;複數個服務提供者;以及社群,而此社群至少包括搜尋服務器(lookup service)和泛用評估器(Generic Evaluator, GEV)。本發明之通用型服務管理系統至少包括註冊機制;搜尋與執行機制;以及取代機制。本發明主要是提供具有失效偵測與資料備份能力之泛用評估器,並結合Jini架構及以合約來設計之程式撰寫概念。此泛用評估器維護所有服務提供者的信譽值,藉以使用者(如廠區監控器)選出具有較高信譽值的服務提供者。此泛用評估器更會週期性地備份服務提供者的執行狀態與參數,故當服務提供者發生異常時,這些備份的執行狀態與參數可設定至其他服務提供者,使未完成的工作可以繼續執行。 [圖式簡單說明] 本發明的較佳實施例將於往後之說明文字中輔以下列圖形做更詳細的闡述,其中: 第1圖為繪示本發明之通用型服務管理系統之註冊機制的運作示意圖; 第2圖為繪示本發明之通用型服務管理系統之搜尋與執行機制的運作示意圖; 第3圖為繪示本發明之通用型服務管理系統之取代機制的運作示意圖; 第4圖為繪示本發明之通用型服務管理系統的整體架構流程圖; 第5圖為繪示Jini架構中之搜尋服務器所維護的服務項目的示意圖; 第6圖為繪示本發明之獎勵函式和懲罰函式的曲線圖; 第7圖為繪示本發明之泛用評估器監督合約之合理執行時間的流程圖; 第8圖為繪示本發明之通用型服務管理系統之較佳實施例之註冊的運作示意圖; 第9圖為繪示本發明之通用型服務管理系統之較佳實施例之搜尋與執行機制的運作示意圖;以及 第10圖為繪示本發明之通用型服務管理系統之較佳實施例之取代機制的運作示意圖。 發明詳細說明: 請參照第1圖、第2圖和第3圖,第1圖為繪示本發明之通用型服務管理系統之註冊機制的運作示意圖;第2圖為繪示本發明之通用型服務管理系統之搜尋與執行機制的運作示意圖;第3圖為繪示本發明之通用型服務管理系統之取代機制的運作示意圖。本發明之通用型服務管理系統中之元件係架構於一網路分散式系統上且至少包括:使用者35;複數個服務提供者,如標號13、16和19所示;社群10,其中社群10至少包括搜尋服務器(lookup service)11和泛用評估器15。本發明之通用型服務管理系統至少包括:註冊機制200;搜尋與執行機制220;以及取代機制240。 如第1圖所示之註冊機制200,服務提供者13、16和19分別提供其合約43、46和49給社群10(步驟A),並使其代理者(proxy)53、56和59存於搜尋服務器11內,讓使用者(未繪示)可在社群10中搜尋而得合適的服務提供者,以便向所搜尋到的服務提供者要求服務。如第2圖所示之搜尋與執行機制220,使用者35在社群10中搜尋合適的服務提供者時,向泛用評估器15查詢服務提供者的信譽值,以選擇其所需的服務提供者,如步驟B所示之檢查合約並選擇服務提供者13,然後向服務提供者13請求服務(步驟C),並自搜尋服務器11下載服務提供者13之代理者53,此時服務提供者13將其合約項目交由泛用評估器15監督,並將執行狀態與參數交由泛用評估器15備份至資料庫。然後泛用評估器15便執行執行緒(thread)33並監督服務提供者13(步驟D)。如第3圖所示之取代機制240,若服務提供者13發生異常時,則服務提供者13會異常終止而停止執行並刪除代理者53(步驟E)。泛用評估器15會偵測到服務提供者13的異常並通知使用者35,偵測到錯誤並終止執行緒33(步驟F),及發送警告(步驟G),讓使用者35可以在社群10中搜尋其他的服務提供者,檢查合約並選擇服務提供者16(步驟B),然後向服務提供者16請求服務(步驟C),並自搜尋服務器11下載服務提供者16之代理者56,以取代原來異常的服務提供者13,再繼續完成合約的內容。同時,泛用評估器15執行執行緒36並監督服務提供者16(步驟D)。 請參照第4圖,第4圖為繪示本發明之通用型服務管理系統的整體架構流程圖。請參照第1圖和第4圖,本發明之註冊機制200的流程敘述如下:服務提供者13初始化(步驟300)之後,開始發現合適的社群(步驟302)。服務提供者13再經由Jini的發現機制尋找指定的社群10中之搜尋服務器11,以提供搜尋服務(步驟304)。再提供合約43給社群10之搜尋服務器11(步驟306),然後開始註冊的程序(步驟308)。進行註冊服務並且發佈合約(步驟310)之後,再設定合約43的項目(步驟312)。然後設定泛用評估器服務的合約項目(步驟314),將合約43的項目設定進泛用評估器15,此時泛用評估器15會給予服務提供者13的信譽一個初始值(例如:0.5),並將此合約項目及信譽值儲存於資料庫中,以便監督服務提供者13。然後服務提供者13便處於待命狀態(步驟316)。接著,其他服務提供者16與19和其合約46與49亦和服務提供者13一樣都要進行前述之註冊機制的步驟。 請參照第2圖和第4圖。本發明之搜尋與執行機制220的敘述如下:使用者35初始化(步驟400)之後,開始發現合適的社群(步驟402)。然後提供搜尋服務與合約內容(步驟404),使用者35經由Jini的發現機制尋找指定的社群10中之搜尋服務器11,以提供搜尋服務與合約內容來找符合其所需之服務提供者。然後使用者35檢查每一個服務提供者所提供之合約內容及其信譽(步驟406),以選擇合適服務提供者。接著,檢查是否得到所要的合約(步驟408),若結果為否,則使用者35停止執行(步驟754)。若步驟408的結果為是,則選擇服務提供者(步驟410),選擇到例如服務提供者13之後,下載服務提供者13的代理者53,以便透過代理者53向服務提供者13請求服務。然後檢查是否為第一次選擇服務(步驟412)。若步驟412的結果為是,則開始請求服務(步驟420)。使用者35開始向服務提供者13請求服務時,並向泛用評估器15註冊,要求泛用評估器15當服務提供者13失常時,發出一事件通知使用者35。服務提供者13於收到請求服務之後,準備好所要求的服務(步驟320),並且啟動泛用評估器15的執行緒33。接著,服務提供者13便處於執行狀態(步驟322),同時使用者35在使用服務(步驟438),而泛用評估器15則執行其執行緒33並且備份服務資料(步驟422),泛用評估器15初始化一個執行緒33以監督服務提供者13之合約項目執行之合理時間,並將服務提供者13之執行狀況週期性地備份至資料庫。然後檢查服務提供者13之合約43的執行(步驟424),若步驟424的檢查結果發現服務提供者13的服務行為正常,則使用者35結束使用服務(步驟440)並停止執行(步驟754),同時泛用評估器15增加服務的信譽(步驟426),在使用者35請求完服務提供者13的服務之後,泛用評估器15會增加服務提供者13的信譽值,然後進行步驟434終止泛用評估器15的執行緒33,接著則終止執行執行緒33(步驟752)。另外,正在使用服務的使用者35亦可直接結束使用服務(步驟440)並停止執行(步驟754)。 請參照第3圖和第4圖。本發明之取代機制240的敘述如下:若步驟424的檢查結果發現服務提供者13的服務行為發生異常時,則泛用評估器15會令服務提供者13異常中斷(步驟328)並停止執行(步驟750)。接著,泛用評估器15偵測到服務提供者13的異常例外事件後(步驟428),送出警告(步驟430),以通知使用者35服務提供者13執行異常。並隨即減少服務的信譽(步驟432),對服務提供者13減少服務的信譽,再對監督服務提供者13終止泛用評估器15的執行緒33(步驟434),接著則終止執行執行緒33(步驟752)。 請繼續參照第3圖和第4圖,在送出警告(步驟430)之後,便開始執行取代(步驟436)。發現合適的社群(步驟402)後,使用者35經由Jini的發現機制尋找指定的社群10中之搜尋服務器11(步驟404),以提供搜尋服務與合約內容來找符合其所需之服務提供者。然後使用者35檢查每一個服務提供者所提供之合約內容及其信譽(步驟406),以選擇其中一個服務提供者。再檢查是否得到所要的合約(步驟408),若結果為否,則使用者35終止執行(步驟754)。若步驟408的結果為是,則選擇服務提供者(步驟410),使用者35選擇到例如服務提供者16之後,下載服務提供者16的代理者56,以便透過代理者56向服務提供者16請求服務。然後檢查是否為第一次選擇到服務提供者(步驟412)。若步驟412的結果為否(於取代時此結果為否),則開始恢復的程序(步驟414)。使用者 35透過泛用評估器15提供備份資料(步驟416),取出服務提供者13在發生異常前所備份之執行狀態與參數,再進行狀態備份(步驟418),將這些執行狀態與參數設定至服務提供者16,然後開始向服務提供者請求服務(步驟420)。使用者35開始向服務提供者16請求服務時,並向泛用評估器15註冊,要求泛用評估器15當服務提供者16失常時,發出一事件通知使用者35。服務提供者16於收到請求服務之後,準備好所要求的服務(步驟320),並且啟動泛用評估器15的執行緒36。接著執行泛用評估器的執行緒36並且備份服務資料(步驟422),泛用評估器15初始化一個執行緒36以監督服務提供者16之合約項目執行之合理時間,並將服務提供者16之執行狀況備份至資料庫。然後檢查服務提供者16之合約的執行(步驟424),若服務提供者16無異常發生,則在使用者35請求完服務提供者16的服務(步驟426)之後,泛用評估器15會增加服務提供者16的信譽值。當然,若服務提供者16有異常發生,則又重覆前述之步驟以搜尋另一服務提供者來繼續執行未完成的工作。另外,處於執行狀態的服務提供者13或16會檢查其執行(步驟324),若執行未完成,則服務提供者13或16會繼續執行(步驟322);若執行異常,則服務提供者13或16會異常中斷(步驟328)並停止執行(步驟750);若執行完成,則服務提供者13或16會要求使用者35結束使用服務(步驟440)並停止執行(步驟 754),同時會要求泛用評估器15增加服務提供者13或16的信譽(步驟426),然後進行步驟434終止泛用評估器15的執行緒33或36,接著則終止執行執行緒33或36(步驟752),而且服務提供者13或16會結束服務(步驟326)並停止執行(步驟750)。 本發明之通用型服務管理系統係以合約來表示服務提供者與使用者之間應共同遵守之協議,且由服務提供者在社群中提出。在合約執行時,由服務提供者檢查使用者是否符合合約資格,服務提供者自行判斷是否履行合約,而泛用評估器將監督合約項目之合理執行時間,以判斷服務提供者是否執行異常。合約的詳細描述如下:請參照第5圖,第5圖為繪示Jini架構中之搜尋服務器所維護的服務項目的示意圖。在Jini原有的架構中,服務提供者將其所提供的服務項目註冊至搜尋服務器中,以供使用者至搜尋服務器中查詢與使用服務提供者所提供的服務。如第5圖所示,一個服務項目主要包括兩個部分:代理者和屬性(attributes),其中代理者為服務提供者所提供的介面(interface)之實作,可下載到使用者端的物件,讓使用者可透過代理者來使用服務提供者所提供的服務;而屬性則為服務提供者對其本身的描述,讓使用者可簡單、快速且有效地找到其所需的服務提供者。在本發明中,合約等於“代理者”加上“屬性”加上“以合約來設計”之程式撰寫概念。服務提供者在社群中提供合約給使用者查詢使用,服務提供者所提供的合約,並不單純的指服務提供者所提供的服務,合約亦包含服務提供者與使用者皆須共同遵守之規定,並由服務提供者在社群中提出。此處所指的合約即Jini的服務項目並包含前述之Meyer所提出之Design by Contract的概念,將先決條件(precondition)及結束條件(postcondition)加入原先Jini所定義的介面中,簡單來說,合約就是以Design by Contract的方式來定義服務提供者的介面,並在代理者中實作此介面。 在本發明中,服務提供者於所提供的介面中採用以合約來設計的方式來實現,在使用者要求服務提供者服務前需先符合合約中所描述的先決條件,且服務提供者在完成其所提供的服務後將保證達成合約中所描述的結束條件,以確保使用者對於合約的履行。本發明在服務提供者中以代理者之方式來實現合約,使用者須符合合約之規定才能透過代理者要求服務提供者履行合約的內容,在代理者中檢查使用者是否履行合約及服務提供者本身是否履行合約。藉由Meyer所提出之Design by Contract及Kramer所提出之iContract System,當使用者透過代理者呼叫遠端的服務提供者時,若使用者不符合合約中之先決條件,代理者將送出例外給使用者。總而言之,本發明之服務提供者於執行合約時,係由服務提供者的代理者檢查使用者是否符合合約,並判斷服務提供者是否正確履行合約。 為加強對於服務提供者異常的偵測,本發明的特徵之一在於在Jini社群中發展一泛用評估器,讓使用者在可藉由此泛用評估器偵測到其所需要之服務提供者是否有異常之現象發生。此外,本泛用評估器亦會週期性地備份服務提供者的執行狀態與參數,以便在異常發生時,可提供取代者適當的資訊與備份資料,俾順利地接續執行原已發生異常的服務提供者尚未完成的工作。泛用評估器除了具偵測服務提供者是否異常之功能外,並記錄與維護所有服務提供者的信譽。此信譽將用來表示社群中服務提供者所提供服務的累積信譽,而作為使用者在選擇服務提供者的參考依據。信譽的詳細描述如下:在社會上,信譽的建立乃是由無數次的成功緩慢累積而成,卻往往因一兩次的失信而造成信譽迅速的下滑。基於此一概念,本發明參考CHIN-TENG LIN與C. S. GEORGE LEE 所合著之"Neural Fuzzy Systems"一書,將其中所述之公式修正為符合此種上升緩慢而下降迅速的曲線,得出服務提供者之信譽函式(credit function),作為衡量服務提供者信譽的指標。 在本發明中,由泛用評估器維護服務提供者的信譽。信譽代表服務提供者所提供服務的累積信譽,用來作為使用者選擇服務提供者時的參考依據。本發明中之信譽函式包含獎勵函式(prize function)及懲罰函式(punitive function)兩種,當服務提供者執行成功時,泛用評估器根據獎勵函式來增加服務提供者的信譽;而當服務提供者執行異常時,泛用評估器則根據懲罰函式來降低服務提供者的信譽,服務提供者的信譽函式之函式表示法,如下所示: 符號說明λ=梯度值(gradient value)λi=獎勵函式的梯度值λu=懲罰函式的梯度值η=懲罰程度(punitive degree;-1<η<0)I=指標值γ=指標的偏移值(offset of index) 請參照第6圖,第6圖為為繪示本發明之獎勵函式和懲罰函式的曲線圖,其中λi=0.2,λu=0.3,η=-0.9,γ=30。在服務提供者執行完使用者所要求的服務後,泛用評估器根據如第6圖所示之獎勵函式及懲罰函式來調整服務提供者的信譽值,在服務提供者正常時增加信譽或在服務提供者異常時減少信譽的方式,其描述如下: 1)正常工作:第6圖中的A、B、C、D四點,分別是指標I(index)為30、31、32、33時所對應的信譽值。假設原來服務提供者的信譽值為0.5(指標為30),如第6圖中A所示的位置,若此時使用者向服務提供者要求服務且執行成功,則泛用評估器將指標I加l,並根據第6圖中的獎勵函式:Pi(I),增加服務提供者的信譽值,得到第6圖中B所對應的信譽值。依此類推,每次執行成功之後,泛用評估器將指標I加1,根據獎勵函式:Pi(I),增加服務提供者的信譽值,如第6圖中的A→B、B→C、C→D。 2)異常發生:若服務提供者執行異常,則指標I不變,但根據懲罰函式:Pu(I),得到服務提供者的信譽值,並以此信譽值對應至獎勵函式:Pi(I)的指標I,並將此指標I四捨五入,取整數值後,下次執行之後的信譽值,即以此指標I為索引改變服務提供者的信譽值,如第6圖中的D→E。 另外,在如第4圖所示之步驟422中,本發明之泛用評估器的特徵之一係藉由監督服務提供者合約項目執行之合理時間來判斷服務提供者是否異常。當服務提供者提供合約給社群之後,服務提供者並將其合約項目設定進泛用評估器,接著在使用者向服務提供者請求服務時,服務提供者將其合約項目的執行參數值提供給泛用評估器,泛用評估器將根據服務提供者所設定的合約執行項目以及其參數值,將所蒐集到的資料作分類,並計算出每一類的平均值( 由泛用評估器將資料蒐集Ci+1(步驟700),為了使泛用評估器能夠監督合約的執行,首先服務提供者必須在加入Jini的社區後,將其合約項目設定進泛用評估器,接著在使用者向服務提供者請求服務時,服務提供者將其合約項目的執行參數值提供給泛用評估器,泛用評估器將根據服務提供者所設定的合約執行項目以及其參數值,作為評估服務提供者異常與否的依據;再將資料分類(步驟702),當蒐集到一筆新的資料後,泛用評估器根據服務提供者所提供的合約項目之參數值,將資料做分類;再判斷所收集的該類資料數目是否大於該類樣本數SN(步驟704),泛用評估器將資料庫中同一類別的資料取出,判斷資料庫中此類別所蒐集的資料數目是否大於該類樣本數SN,如果不是則將此筆資料儲存到資料庫,並繼續資料蒐集,直到累積足夠的樣本數後,再計算該類合約項目執行時間的平均值( 本發明之通用型服務管理系統適用於各種以網路連接的生產系統,如半導體業和光纖通訊業等。以下以一半導體封裝廠為較佳實施例,其描述如下: 請參照第8圖、第9圖和第10圖,第8圖為繪示本發明之通用型服務管理系統之較佳實施例之註冊的運作示意圖;第9圖為繪示本發明之通用型服務管理系統之較佳實施例之搜尋與執行機制的運作示意圖;第10圖為繪示本發明之通用型服務管理系統之較佳實施例之取代機制的運作示意圖。 一部廠區監控器(Factory Manager)65管理11部機台監控器(Equipment Manager)71-81,當其中一部機台監控器接收到廠區監控器的命令後,此機台監控器會將工作分派給其管轄的8台機台加工,若全廠僅有80部機台,因此正常情況時僅需10部機台監控器,另1部為備份用。廠區監控器65主要負責將接收到的工作指派給機台監控器,當指定的機台監控器完成工作指派後,將回應工作完成訊息給廠區監控器;而機台監控器主要是監控機台加工的行為及狀態,其擁有能力包括機台參數設定與遠端遙控機台作業、機台派工、加工程式(recipe)管理、收集機台狀態資料及機台錯誤之警告,並將收集到的資訊以事件的方式回報給廠區監控器等。在本實施例中,以機台監控器為本發明之通用型服務管理系統中的服務提供者,廠區監控器則為服務管理系統中的使用者,當其中一台機台監控器異常時,廠區監控器可搜尋網路上其他正常的機台監控器,取代原先異常的機台監控器,繼續異常的機台監控器未完成的工作,而要求機台加工。 現依本發明之通用型服務管理系統之三大機制說明如下:如第8圖所示之註冊機制,機台監控器71提供合約給社群60,使廠區監控器65可在社群60中搜尋此機台監控器71,以便向機台監控器71要求服務,詳細步驟如下:機台監控器71-81經由Jini的發現機制尋找指定的社群60中之搜尋服務器21,然後提供合約給搜尋服務器21,如步驟A提供合約。機台監控器71-81,將其合約項目提供給泛用評估器25,如步驟H設定合約項目,泛用評估器25給予各個機台監控器的信譽一初始值(例如:0.5),並將此合約項目及信譽值儲存於資料庫90中,以便監督機台監控器71-81。 如第9圖所示之搜尋與執行機制,廠區監控器65在社群60中搜尋機台監控器71-81,向泛用評估器查詢搜尋到的機台監控器71-81之信譽值,選擇其所需的機台監控器71-80並向此機台監控器請求服務。此時機台監控器65將合約項目的執行狀況交由泛用評估器25監督,詳細步驟如下:廠區監控器65經由Jini的發現機制尋找指定的社群60中之搜尋服務器21,廠區監控器65取得搜尋服務器21所提供之各個機台監控器的合約,及泛用評估器所提供之各個機台監控器的信譽值,搜尋符合其所需之10個機台監控器,如步驟B。廠區監控器選擇向機台監控器71-80請求服務,如步驟C。各個機台監控器與其所管轄的機台連線,如步驟I啟動連線。泛用評估器初始化10個執行緒以監督機台監控器71-80合約項目執行之合理時間,如步驟D。,並將各個機台監控器之執行狀況備份至資料庫90。 如第10圖所示之取代機制,當機台監控器發生異常時,泛用評估器25偵測到機台監控器的異常並通知廠區監控器65,使廠區監控器65可以在社群60中搜尋其他的機台監控器,以取代原來異常的機台監控器繼續完成合約的內容,詳細步驟如下:假設機台監控器80執行時發生異常,如步驟E。泛用評估器25偵測到機台監控器80的異常,隨即減少機台監控器80的信譽值,並結束監督機台監控器80的執行緒,如步驟F。泛用評估器25通知廠區監控器65,機台監控器80執行異常,如步驟G。廠區監控器25經由Jini的發現機制尋找指定的社群60中之搜尋服務器21,並搜尋符合其所需之機台監控器,如步驟B。廠區監控器65選擇機台監控器81向其請求服務,如步驟C,將機台監控器80發生異常前之執行參數與狀態,透過泛用評估器25取出並設定至機台監控器81 中,以取代機台監控器80。機台監控器81與原先受機台監控器80管轄之機台連線(步驟I),繼續完成機台監控器80尚未完成的工作。 本發明之一優點為提供一種通用型服務管理系統,可以有效地偵測出服務提供者的異常現象,除了可偵測出服務提供者是否當機之外,還包括傳輸錯誤訊息或將訊息傳至錯誤的節點等的異常偵測,以及對於服務提供者之性能衰退的異常偵測;本發明的又一優點為以信譽指標之觀念來代表服務提供者的累積信譽,使得使用者可依合約之合適性與信譽值之高低來挑選合適的服務提供者;本發明的又一優點為本發明中之泛用評估器具備備份之功能,它能將服務提供者之所有執行狀態與參數備份至資料庫,如遇到服務提供者本身失常時,這些正常的備份資料將被使用者取出並送至所選定的備份服務提供者上,俾繼續執行未完成的任務,進而達到提高分散式物件系統的可靠度之目的;本發明的再一優點為可適用於各種以網路連接的生產系統,特別是各種電子與通訊產業,如半導體業和光纖通訊業等。綜合以上所述,本發明之通用型服務管理系統可大幅提高生產效率,減少人力物力的浪費,具有高度的產業利用性。 如熟悉此技術之人員所瞭解的,以上所述僅為本發明之較佳實施例而已,並非用以限定本發明之申請專利範圍;凡其它未脫離本發明所揭示之精神下所完成之等效改變或修飾,均應包含在下述之申請專利範圍內。
|
|
| 十、申請專利範圍: | |
| 1.一種通用型服務管理系統,其中該通用型服務管理系統具有異常管制能力,且係架構於一網路分散式系統上,該網路分散式系統至少包括一使用者(client);複數個服務提供者(services);以及一社群,該社群至少包括一搜尋服務器(lookup service)和一泛用評估器(Generic Evaluator, GEV),而該通用型服務管理系統至少包括:一註冊機制,其中該註冊機制更至少包括:由每一該些服務提供者提供每一複數個合約給該社群;一搜尋與執行機制,其中該搜尋與執行機制更至少包括:該使用者在該社群中搜尋該些服務提供者;向該泛用評估器查詢搜尋到的該些服務提供者之複數個信譽值(credit);選擇該使用者所需的具有一第一合約的一第一服務提供者,並向該第一服務提供者請求服務;該第一服務提供者將該第一合約交由該泛用評估器監督;以及將一執行狀態與複數個參數交由該泛用評估器備份至一資料庫;以及一取代機制,其中該取代機制更至少包括:當該第一服務提供者發生異常時,該泛用評估器偵測到該第一服務提供者的異常並通知該使用者;該使用者透過該搜尋服務器搜尋符合所需的一第二服務提供者;將該第一服務提供者發生異常前儲存的該執行狀態與該些參數設定至所選定的該第二服務提供者上,使該第二服務提供者能完全取代異常的該第一服務提供者來繼續完成該第一合約的內容,以達成異常管制與功能取代之目標。 2.如申請專利範圍第1項所述之通用型服務管理系統,其中該泛用評估器更至少包括:提供該使用者所要求之該些服務提供者的該些信譽值,藉以讓該使用者選擇適合的該第一服務提供者;偵測出該網路分散式系統之異常現象,如當機、傳輸錯誤訊息與性能降低等;以及監督該些服務提供者執行該些合約的合理執行時間,來判斷服務是否正常執行中或是已發生異常現象。 3.如申請專利範圍第1項所述之通用型服務管理系統,其中該些合約至少包括:Jini架構中的代理者(proxy);Jini架構中的屬性(attributes)與以合約來設計(Design by Contract)之程式撰寫概念,藉以使該些合約並不單純的指該些服務提供者所提供的服務,亦包含該使用者與該些服務提供者皆須共同遵守之規定。 4.如申請專利範圍第1項所述之通用型服務管理系統,其中該搜尋與執行機制至少包括:一信譽函式,其中該信譽函式至少包括:一獎勵函式(prize function),其中當該些服務提供者執行成功時,該泛用評估器會根據該獎勵函式來增加該些服務提供者的該些信譽值;以及一懲罰函式(punitive function),其中當該些服務提供者執行異常時,該泛用評估器會根據該懲罰函式來降低該些服務提供者的該些信譽值。 5.如申請專利範圍第4項所述之通用型服務管理系統,其中該些信譽值的起始值為約0.5。 6.如申請專利範圍第1項所述之通用型服務管理系統,其中該第二服務提供者係為一備份服務提供者。 7.如申請專利範圍第1項所述之通用型服務管理系統,其中該搜尋服務器係為Jini架構中的搜尋服務機制。 8.一種通用型服務管理系統,其中該通用型服務管理系統具有異常管制能力,且係架構於一網路分散式系統上,該網路分散式系統至少包括一使用者;複數個服務提供者;以及一社群,該社群至少包括一搜尋服務器和一泛用評估器,而該通用型服務管理系統至少包括:一註冊機制,其中該註冊機制更至少包括:註冊初始化;發現合適的該社群,其中每一該些服務提供者經該註冊初始化之後,進行該發現合適的該社群;提供搜尋服務;提供每一複數個合約給該社群之該搜尋服務器;開始註冊;註冊服務並且發佈每一該些合約;設定每一該些合約的項目;設定該泛用評估器服務每一該些合約的項目;以及該泛用評估器給予每一該些服務提供者的一信譽值一初始值,並將每一該些合約的項目及該信譽值儲存於一資料庫中,以便監督每一該些服務提供者;一搜尋與執行機制,其中該搜尋與執行機制更至少包括:搜尋初始化;發現合適的該社群,其中該使用者經該初始化之後,進行該發現合適的社群;提供搜尋服務與每一該些合約的內容;檢查每一合約內容及該信譽;檢查是否得到至少一所要的合約,若結果為否,則停止執行;選擇服務提供者,其中若該檢查是否得到該至少一所要的合約的結果為是,則進行該選擇服務提供者,而得至少一第一服務提供者;下載該至少一第一服務提供者的至少一代理者,以便透過該至少一代理者向該至少一第一服務提供者請求服務;檢查是否為第一次選擇服務;開始請求服務,其中若該檢查是否為第一次選擇服務的結果為是,則進行該開始請求服務;準備好所要求的服務並且啟動該泛用評估器的至少一執行緒,其中該至少一第一服務提供者於收到請求服務之後,進行該準備好所要求的服務並且啟動該泛用評估器的該至少一執行緒;執行該泛用評估器的該至少一執行緒並且備份服務資料;檢查該至少一第一服務提供者的服務;增加服務的信譽,其中若該檢查該至少一第一服務提供者的服務無異常發生或該至少一第一服務提供者執行完成,則進行該增加服務的信譽;以及終止該泛用評估器的該至少一執行緒;以及一取代機制,其中該取代機制更至少包括:偵測到例外事件,其中該至少一第一服務提供者執行發生異常時,進行該偵測到例外事件;送出警告,其中進行該偵測到例外事件後,進行該送出警告;減少服務的信譽,其中進行該送出警告後,進行該減少服務的信譽;終止該泛用評估器的該至少一執行緒,其中進行該減少服務的信譽後,進行該終止該泛用評估器的該至少一執行緒;開始執行取代,其中進行該送出警告之後,進行該開始執行取代,再回到該搜尋初始化,重新進行該搜尋與執行機制而得到至少一第二服務提供者;開始恢復,其中若該檢查是否為第一次選擇服務的結果為否,則進行該開始恢復;提供備份資料,其中該使用者透過該泛用評估器取出該至少一第一服務提供者發生異常前所備份之至少一備份資料;以及狀態備份,其中將該至少一備份資料之設定至該至少一第二服務提供者,然後進行該請求服務。 9.如申請專利範圍第8項所述之通用型服務管理系統,其中該設定每一該些合約的項目係設定至該泛用評估器中。 10.如申請專利範圍第8項所述之通用型服務管理系統,其中該泛用評估器更至少包括:提供該使用者所要求之該些服務提供者的該些信譽值,藉以讓該使用者選擇適合的該第一服務提供者;偵測出該網路分散式系統之異常現象,如當機、傳輸錯誤訊息與性能降低等;以及監督該些服務提供者執行該些合約的合理執行時間,來判斷服務是否正常執行中或是已發生異常現象。 11.如申請專利範圍第10項所述之通用型服務管理系統,其中該泛用評估器之該監督該些服務提供者執行該些合約的合理執行時間更至少包括:資料蒐集Ci+1;資料分類,其中進行該資料蒐集後,進行該資料分類而得一類;判斷所收集的該類資料數目是否大於該類樣本數(SN),其中若該判斷所收集的該類質料數目是否大於該類樣本數的結果為否,則回到該資料蒐集;計算出該類前SN個資料的平均值( 12.如申請專利範圍第8項所述之通用型服務管理系統,其中該些合約至少包括:Jini架構中的代理者;Jini架構中的屬性與以合約來設計之程式撰寫概念,藉以使該些合約並不單純的指該些服務提供者所提供的服務,亦包含該使用者與該些服務提供者皆須共同遵守之規定。 13.如申請專利範圍第8頂所述之通用型服務管理系統,其中該搜尋與執行機制至少包括:一信譽函式,其中該信譽函式至少包括:一獎勵函式,其中當該些服務提供者執行成功時,該泛用評估器會根據該獎勵函式來增加該些服務提供者的該些信譽值;以及一懲罰函式,其中當該些服務提供者執行異常時,該泛用評估器會根據該懲罰函式來降低該些服務提供者的該些信譽值。 14.如申請專利範圍第13項所述之通用型服務管理系統,其中該些信譽值的起始值為約0.5。 15.如申請專利範圍第8項所述之通用型服務管理系統,其中該至少一第二服務提供者係為至少一備份服務提供者。 16.如申請專利範圍第8項所述之通用型服務管理系統,其中該提供搜尋服務係由每一該些服務提供者,經Jini的一發現機制尋找指定該社群中之該搜尋服務器來進行。 17.如申請專利範圍第8項所述之通用型服務管理系統,其中該搜尋服務器係為Jini架構中的搜尋服務機制。 |
|
| 十一、圖式: | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
瀏覽數:
分享

符號說明λ=梯度值(gradient value)λi=獎勵函式的梯度值λu=懲罰函式的梯度值η=懲罰程度(punitive degree;-1<η<0)I=指標值γ=指標的偏移值(offset of index) 









