Extensible computing system
Abstract
Methods and apparatus providing a dynamically sized,highly scalable and availableserver farm are disclosed.A Virual Server Farm (VSF) is created out of a wide scalecomputing fabric(“Computing Grid”)which is physically constructed once and thenlogically divided up into VSFs for various organizations on demand. Each organizationretains independent administrative control of a VSF. A VSF is dynamically firewalledwithin the Computing Grid. A ailocation and control of the elements in the VSF ispreformed by a Control Plane connected to all computing,networking,and storageelements in the computing grid throgh special controi ports. The intemal topology ofeach VSF is under control of the Control Plane. No physical lewiring is necessary inorder to construct VSFs in many different configuraTions,inciuding single-tier Webserver or multi-tier Web-server.appiication server,database server configurarions Eachtier of a multi-tier VSF(e.g. web server tier,application server tier,database server tier,etc)can be dynamically sized based on the load on the servers in that particular tier.storage devices may include a piurality of pre-defined logical blueprints that areassociated with roies thatmay be assumed by the computing grid elements.Initially,nocomputing element is dedicated to any particular roleor task such as Web server,application server,database sever, etc. The role of each com puting element is acquiredfrom one of a plurality ofpre-derined,stored bluepnnts, each of which defines a bootimage for the computing el ements that are associated with that roie.

Term
No projected expiry on record.
- Priority
- Filed
- Granted
- Today
51 claims: 32 independent, 19 dependent
- 1一種資料處理方法,包含下列之步驟:由一組處理器間選擇該等處理器之部份集合產生指令,其造成一第一切換系統邏輯式地將該處理器部份集合中之每一處理器耦合在一起;由一組儲存裝置間選擇該等儲存裝置之部份集合產生指令,其造成一第二切換系統邏輯式地將該儲存裝置部份集合中之每一儲存裝置彼此被耦合在一起及耦合至該等處理器部份集合。
- 2如申請專利範圍第1項所述之方法,其中由一組處理器間選擇該等處理器之部份集合的步驟包含由一堆可用的中央處理單元間選擇中央處理單元之部份集合的步驟。
- 3如申請專利範圍第1項所述之方法,其中由一組處理器間選擇該等處理器之部份集合的步驟包含由一堆可用的中央處理單元間選擇中央處理單元之部份集合的步驟以及其中每一該等中央處理單元包括第一與第二網路介面被組配用於由一虛擬地方區域網路切換器接收指令及一儲存器介面被組配用於透過一儲存區域網路切換器連結至該等儲存裝置部份集合。
- 4如申請專利範圍第1項所述之方法,其中產生指令造成一第切換系統邏輯式地將該處理器部份集合中之每一處理器耦合在一起的步驟包含步驟產生指令至耦合於該等處理器之虛擬地方區域網路,其造成該虛擬地方區域網路邏輯式地將部份集合中之處理器耦合在一起。
- 5如申請專利範圍第1項所述之方法,其中由一組儲存裝置間選擇儲存裝置之部份集合的步驟包含由一堆可用的儲存裝置間選擇儲存裝置之部份集合的步驟。
- 6如申請專利範圍第1項所述之方法,其中由一組儲存裝置間選擇該等儲存裝置之部份集合的步驟包含由一堆可用的儲存裝置間選擇儲存裝置之部份集合的步驟;以及其中每一該等儲存裝置包括一切換介面被組配用於由一虛擬儲存區域網路切換器接收指令。
- 7如申請專利範圍第1項所述之方法,其中產生指令造成一第二切換系統邏輯式地將每一該等儲存裝置耦合在一起的步驟包含步驟產生指令至耦合於該等儲存裝置之一虛擬儲存區域網路切換器,其造成該虛擬儲存區域網路切換器邏輯式地將部份集合中之儲存裝置耦合在一起。
- 8如申請專利範圍第1項所述之方法,其中由一組處理器間選擇該等處理器之部份集合的步驟被一控制器實施,該控制器被耦合於及控制該第一切換系統、該第二切換系統與該組處理器。
- 9如申請專利範圍第1項所述之方法,進一步包含之步驟為:藉由由該組處理器間選擇該等處理器之一第一部份集合而創立一第一虛擬伺服器場用於一第一資料處理作業以處理該第一資料處理作業;產生指令造成該第一切換器系統邏輯式地將該第一虛擬地方區域網路中該等處理器之第一部份集合的每一處理器耦合在一起;由該組儲存裝置間選擇該等儲存裝置之第一部份集合以為該第一資料處理問題儲存資訊;以及產生指令造成一第二切換系統邏輯式地將該等儲存裝置之第一部份集合中的每一儲存裝置彼此耦合在一起及耦合至一第一儲存器區域網路區;藉由由該組處理器間選擇該等處理器之一第二部份集合而創立一第二虛擬伺服器場用於一第二資料處理作業以處理該第二資料處理作業;產生指令造成該第二切換器系統邏輯式地將該第二虛擬地方區域網路中該等處理器之第二部份集合的每一處理器耦合在一起;由該組儲存裝置間選擇該等儲存裝置之第二部份集合以為該第二資料處理問題儲存資訊;以及產生指令造成一第二切換系統邏輯式地將該等儲存裝置之第二部份集合中的每一儲存裝置彼此耦合在一起及耦合至一第二儲存器區域網路區;其中該等指令確實地隔離處理器之第一切換器與處理器之第二部份集合及儲存裝置之第二部份集合。
- 10如申請專利範圍第1項所述之方法,進一步包含之步驟為:由該組處理器選擇一額外的處理器;產生指令造成該第一切換系統邏輯式地耦合該額外的處理器至該等處理器之部份集合的處理器。
- 11如申請專利範圍第1項所述之方法,進一步包含之步驟為:由該組處理器選擇一特定的處理器將由該部份集合被去除;產生指令造成該第一切換系統邏輯式地將該特定的處理器由該等處理器之部份集合鬆開耦合。
- 12如申請專利範圍第2項所述之方法,進一步包含之步驟為:由該組處理器選擇一特定的處理器將由該部份集合被去除;產生指令造成該第一切換系統邏輯式地將該特定的處理器由該等處理器之部份集合鬆開耦合;邏輯式地將該特定的處理器置於該堆可用的處理器中。
- 13如申請專利範圍第9項所述之方法,進一步包含之步驟為:由該組處理器選擇一特定的處理器將由該第一部份集合被去除;產生指令造成該第一切換系統邏輯式地將該特定的處理器由該等處理器之第一部份集合鬆開耦合;產生指令造成該第一切換系統邏輯式地將該特定的處理器添加至該等處理器之第二部份集合。
- 14如申請專利範圍第1項所述之方法,進一步包含之步驟為起始地指派所有的處理器為可用的處理器之閒置堆積場。
- 15如申請專利範圍第1項所述之方法,進一步包含之步驟為在回應於該等處理器之部份集合所遭遇之即時負載動態邏輯式地添加一個以上之處理器至處理器之部份集合或由其將之去除。
- 16如申請專利範圍第1項所述之方法,進一步包含之步驟為在回應於該等儲存裝置之部份集合所遭遇之即時負載動態邏輯式地添加一個以上之儲存裝置至儲存裝置之部份集合或由其將之去除。
- 17如申請專利範圍第1項所述之方法,進一步包含耦合該第一切換系統之一介面至一外部網路,因此處理器之該部份集合回應於由該外部網路來之要求。
- 18如申請專利範圍第15項所述之方法,進一步包含之步驟為在回應於處理器之該部份集合所遭遇之即時負載下邏輯式地添加該額外的處理器至處理器之該部份集合;重新啟動該額外的處理器;將由儲存裝置之該部份集合中該等儲存裝置之一的預先定義的位置所獲得之作業系統影像載入該額外的處理器內。
- 19如申請專利範圍第1項所述之方法,進一步包含之步驟為邏輯式地耦合一負載平衡器至處理器之該部份集合中的該等處理器;指示該負載平衡器進行被處理器之該部份集合中的該等處理器實施之負載平衡處理。
- 20如申請專利範圍第9項所述之方法,進一步包含之步驟為藉由:添加與該額外的處理器有關之該第一切換系統的介面埠至該虛擬地方區域網路添加該額外的處理器之儲存區域埠至該儲存區域域網路區;而在回應於處理器之該部份集合所遭遇之即時負載下動態邏輯式地添加該額外的處理器至處理器之該部份集合。
- 21如申請專利範圍第9項所述之方法,進一步包含之步驟為:由與該額外的處理器有關之該第一切換系統的介面埠去除該虛擬地方區域網路;由該儲存區域埠網路區去除該一處理器之儲存區域埠;而在回應於處理器之該部份集合所遭遇之即時負載下動態邏輯式地將一處理器由處理器之該部份集合中去除。
- 22如申請專利範圍第8項所述之方法,進一步包含之步驟為邏輯式地指派該第二切換系統之一個以上的埠至一私人儲存區域埠網路區用於被該控制器使用,該等埠與專用地被指派給該控制器的該等儲存裝置之一為相關的。
- 23如申請專利範圍第1項所述之方法,進一步包含之步驟為:將處理器之該部份集合中每一處理器與被儲存之預先定義的藍圖配以相關,該藍圖將儲存裝置之該部份集合中該等儲存裝置之一的啟動影像與數個處理角色之一配以相關;產生指令造成處理器之該部份集合中每一處理器載入及執行由與此處理器之處理角色相關之儲存裝置來的啟動影像。
- 24一種資料作業處理方法,包含之步驟為:藉由由該組處理器間選擇該等處理器之一第一部份集合而創立一第一虛擬伺服器場用於一第一資料處理作業以處理該第一資料處理作業;產生指令造成該第一切換器系統邏輯式地將該第一虛擬地方區域網路中該等處理器之第一部份集合的每一處理器耦合在一起;由該組儲存裝置間選擇該等儲存裝置之第一部份集合以為該第一資料處理問題儲存資訊;以及產生指令造成一第二切換系統邏輯式地將該等儲存裝置之第一部份集合中的每一儲存裝置彼此耦合在一起及耦合至一第一儲存器區域網路區;藉由由該組處理器間選擇該等處理器之一第二部份集合而創立一第二虛擬伺服器場用於一第二資料處理作業以處理該第二資料處理作業;產生指令造成該第二切換器系統邏輯式地將該第二虛擬地方區域網路中該等處理器之第二部份集合的每一處理器耦合在一起;由該組儲存裝置間選擇該等儲存裝置之第二部份集合以為該第二資料處理問題儲存資訊;以及產生指令造成一第二切換系統邏輯式地將該等儲存裝置之第二部份集合中的每一儲存裝置彼此耦合在一起及耦合至一第二儲存器區域網路區其中該等指令確實地隔離處理器之第一部分集合與處理器之第二部份集合及儲存裝置之第二部份集合。
- 25一種資料作業系統,包含:數個處理器;一第一切換系統被耦合於該等數個處理器;數個儲存裝置;一第二切換系統被耦合於該等數個儲存裝置;一控制器被耦合於該等第一切換系統與第二切換系統;在該控制器中有設施用於在該等數個處理器間選擇該等處理器之一部份集合;在該控制器中有設施用於產生指令造成該第一切換系統邏輯式地將該等處理器之部份集合中之每一處理器耦合在一起及彼此耦合至處理器之該部份集合。在該控制器中有設施用於在該等數個儲存裝置間選擇該等儲存裝置之一部份集合;以及在該控制器中有設施用於產生指令造成該第二切換系統邏輯式地將該等儲存裝置之部份集合中之每一儲存裝置彼此耦合在一起及耦合至處理器之該部份集合。
- 26如申請專利範圍第25項所述之資料處理系統,其中該控制器進一步包含設施用於藉由由一堆可用的中央處理單元間選擇中央處理單元之部份集合而由一組處理器間選擇該等處理器之一部份集合。
- 27如申請專利範圍第25項所述之資料處理系統,其中用於選擇該等處理器之一部份集合的設施包含設施用於由一堆可用的中央處理單元間選擇中央處理單元之部份集合;以及其中每一該等中央處理單元包括第一與第二網路介面被組配用於由一虛擬地方區域網路切換器接收指令與一儲存器介面用於透過一儲存器區域網路切換器連結至該等儲存裝置之部份集合。
- 28如申請專利範圍第25項所述之資料處理系統,其中用於產生指令造成一第一切換系統邏輯式地將該等處理器之部份集合耦合在一起之設施包含設施用於產生指令至被耦合於該等處理器之一虛擬地方區域網路切換器造成該虛擬地方區域網路切換器邏輯式地將該部份集合中之處理器耦合在一起。
- 29如申請專利範圍第25項所述之資料處理系統,其中用於選擇該等儲存裝置之一部份集合的設施包含設施用於由一堆可用的儲存裝置間選擇儲存裝置之該部份集合。
- 30如申請專利範圍第25項所述之資料處理系統,其中用於選擇該等儲存裝置之部份集合的設施包含設施用於由一堆可用的儲存裝置間選擇儲存裝置之該部份集合;以及其中每一該等儲存裝置包括一切換介面被組配用於由一虛擬儲存器區域網路切換器接收指令。
- 31如申請專利範圍第25項所述之資料處理系統,其中用於產生指令造成一第二切換系統邏輯式地將每一該等儲存裝置耦合在一起之設施包含設施用於產生指令至被耦合於該等儲存裝置之一虛擬地方區域網路切換器造成該虛擬地方區域網路切換器邏輯式地將該部份集合中之儲存裝置耦合在一起。
- 32如申請專利範圍第25項所述之資料處理系統,進一步包含:一第一虛擬伺服器場用於在一第一資料處理作業中使用,其係由該組處理器間選擇該等處理器之一第一部份集合而被創立以處理該第一資料處理作業;產生指令造成該第一切換系統邏輯式地將該第一虛擬地方區域網路中該等處理器之第一部份集合的每一處理器部份集合耦合在一起;由該組儲存裝置間選擇該等儲存裝置之一第一部份集合以為該第一資料處理問題儲存資訊;以及產生指令造成第二切換系統邏輯式地將該等儲存裝置之第一部份集合中的每一儲存裝置彼此耦合在一起及耦合至一第一儲存器區域網路區;一第二虛擬伺服器場用於在一第二資料處理作業中使用,其係由該組處理器間選擇該等處理器之一第二部份集合而被創立以處理該第二資料處理作業;產生指令造成該第二切換系統邏輯式地將該第二虛擬地方區域網路中該等處理器之第二部份集合的每一處理器部份集合耦合在一起;由該組儲存裝置間選擇該等儲存裝置之一第二部份集合以為該第二資料處理問題儲存資訊;以及產生指令造成第二切換系統邏輯式地將該等儲存裝置之第二部份集合中的每一儲存裝置彼此耦合在一起及耦合至一第二儲存器區域網路區;其中該等指令確實地隔離處理器之第一部份集合與處理器之第二部份集合及儲存裝置之第二部份集合。
- 33如申請專利範圍第25項所述之資料處理系統,進一步包含:設施用於由該組處理器選擇一額外的處理器;設施用於產生指令造成該第一切換系統邏輯式地耦合該額外的處理器至該等處理器之部份集合的處理器。
- 34如申請專利範圍第25項所述之資料處理系統,進一步包含:設施用於由該組處理器選擇一特定的處理器將由該部份集合被去除;設施用於產生指令造成該第一切換系統邏輯式地將該特定的處理器由該等處理器之部份集合鬆開耦合。
- 35如申請專利範圍第26項所述之資料處理系統,進一步包含:設施用於由該組處理器選擇一特定的處理器將由該部份集合被去除;設施用於產生指令造成該第一切換系統邏輯式地將該特定的處理器由該等處理器之部份集合鬆開耦合。設施用於邏輯式地將該特定的處理器置於該堆可用的處理器中。
- 36如申請專利範圍第28項所述之資料處理系統,進一步包含:設施用於由該組處理器選擇一特定的處理器將由該第一部份集合被去除;設施用於產生指令造成該第一切換系統邏輯式地將該特定的處理器由該等處理器之第一部份集合鬆開耦合。設施用於產生指令造成該第一切換系統邏輯式地將該特定的處理器添加至該等處理器之第二部份集合。
- 37如申請專利範圍第25項所述之資料處理系統,進一步包含設施用於起始地指派所有的處理器為可用的處理器之閒置堆積場。
- 38如申請專利範圍第25項所述之資料處理系統,進一步包含設施用於在回應於該等處理器之部份集合所遭遇之即時負載動態而邏輯式地添加一個以上之處理器至處理器之部份集合或由其將之去除。
- 39如申請專利範圍第25項所述之資料處理系統,進一步包含設施用於在回應於該等儲存裝置之部份集合所遭遇之即時負載動態而邏輯式地添加一個以上之儲存裝置至儲存裝置之部份集合或由其將之去除。
- 40如申請專利範圍第25項所述之資料處理系統,其中該控制器進一步包含一負載監測器,其產生代表在該部份集合中每一該等處理器之處理負載的資訊。
- 41如申請專利範圍第25項所述之資料處理系統,其中該第一切換系統包含一個具有無法偽造之埠辨識元的虛擬地方區域網路切換器。
- 42如申請專利範圍第25項所述之資料處理系統,其中該第二切換系統包含一儲存器區域網路切換器,其中儲存裝置之該部份集合邏輯式地在一儲存器區域網路區丙被組織且其中該儲存器區域網路允許儲存裝置之該部份集合僅對在處理器之該部份集合內的處理器之存取。
- 43如申請專利範圍第25項所述之資料處理系統,其中該第二切換系統包含一儲存器區域網路切換器,其中儲存裝置之該部份集合邏輯式地在一儲存器區域網路區內被組織且其中該儲存器區域網路允許儲存裝置之該部份集合使用一個以上的光纖通道(Fibre Channel)切換器僅對在處理器之該部份集合內的處理器之存取。
- 44如申請專利範圍第25項所述之資料處理系統,其中該第二切換系統包含一儲存器區域網路切換器,其中儲存裝置之該部份集合邏輯式地在一儲存器區域網路區內被組織且其中處理器之該部份集合透過一負載平衡器或防火牆被耦合於一外部網路。
- 45如申請專利範圍第25項所述之資料處理系統,進一步包含數個控制器邏輯式地在一個次網路內被相互連結,其包括該第一切換系統之控制埠且其包括該第二切換系統之控制埠。
- 46如申請專利範圍第45項所述之資料處理系統,進一步包含一代理控制器被組配以週期性地選出處理器之該部份集合中的每一處理器,用於接收代表處理器當時負載、網路負載或儲存器負載之即時資訊,及被組配以通訊該資訊至每一該等控制器。
- 47如申請專利範圍第45項所述之資料處理系統,進一步包含之步驟為邏輯式地指派該第二切換系統之一個以上的埠至一私人儲存區域埠網路區用於被該控制器使用,該等埠與專用地被指派給該控制器的該等儲存裝置之一為相關的。
- 48如申請專利範圍第25項所述之資料處理系統,進一步包含:數個被儲存之預先定義的藍圖,其每一個將儲存裝置之該部份集合中其中之一的啟動影像與數個處理角色其中之一被配以相關;設施用於將處理器之該部份集合中之每一處理器與該等藍圖之一配以相關及用於造成處理器之該部份集合中的每一處理器由配以該處理器之處理角色的儲存裝置載入且執行該啟動影像。
- 49一種虛擬計算系統,包含:數個處理器邏輯式地被組織成該等處理器之數個部份集合,每一部份集合邏輯式地被組織成數個虛擬地方區域網路之一;數個儲存裝置邏輯式地在被耦合於該等數個虛擬地方區域網路之一儲存器區域網路內被組織以用於儲存被該等部份集合之一使用的資料與指令;以及一控制平面被耦合於數個虛擬地方區域網路,且被組配以動態地在回應於即時發生的變化中之處理負載狀況與變化中之儲存需求下,由該等部份集合添加或去除處理器及由該儲存器區域網路添加或去除儲存裝置。
- 50如申請專利範圍第49項所述之虛擬計算系統,進一步包含:數個被儲存之預先定義的藍圖,其每一個將儲存裝置之該部份集合中其中之一的啟動影像與數個處理角色其中之一被配以相關;設施用於將處理器之該部份集合中之每一處理器與該等藍圖之一配以相關及用於造成處理器之該部份集合中的每一處理器由配以該處理器之處理角色的儲存裝置載入且執行該啟動影像。
- 51一種承載一個以上之指令序列用於使用可擴充電腦系統來處理資料之電腦可讀取的媒體,其中用一個以上的處理器執行該等一個以上之指令序列造成該等一個以上的處理器實施下列之步驟由一組處理器間選擇該等處理器之部份集合;產生指令,其造成一第一切換系統邏輯式地將該處理器部份集合中之每一處理器耦合在一起由一組儲存裝置間選擇該等儲存裝置之部份集合;產生指令,其造成一第二切換系統邏輯式地將該儲存裝置部份集合中之每一儲存裝置彼此被耦合在一起及耦合至該等處理器部份集合。
Independent claims51
208 paragraphs in 3 sections, as filed
Expandable computer system
<p>100. . . machine</p><p>102. . . CPU</p><p>104. . . Disk</p><p>106. . . Internet</p><p>110. . . Web server farm</p><p>112. . . Load balancer</p><p>120. . . Server farm</p><p>200. . . Computing system</p><p>202. . . SAN switch</p><p>204. . . VLAN switch</p><p>206. . . Control plane</p><p>208. . . Area computing grid</p><p>302. . . Load Balancer (LB)Firewall</p><p>304. . . SAN area</p><p>306a. . . Storage device</p><p>306b. . . Storage device</p><p>400. . . Idle storage yard</p><p>402. . . CPU</p><p>404. . . path</p><p>406. . . path</p><p>408. . . path</p><p>502. . . Computing element</p><p>504. . . VLAN switch</p><p>506. . . SAN switch</p><p>508. . . Control plane machine</p><p>510. . . Control plane agent machine</p><p>512. . . CP firewall</p><p>514. . . CP LAN</p><p>516. . . Control plane, CP</p><p>802. . . path</p><p>902. . . Ethernet secondary network</p><p>904. . . Control plane, CP</p><p>1002. . . Control plane private storage area</p><p>1004. . . Disk</p><p>1006. . . Disk</p><p>1200. . . computer system</p><p>1202. . . Queliu Pai</p><p>1204. . . processor</p><p>1206. . . Main memory</p><p>1208. . . Read only memory, ROM</p><p>1210. . . Storage device</p><p>1212. . . monitor</p><p>1214. . . Input device</p><p>1216. . . Cursor controller</p><p>1218. . . Communication interface</p><p>1220. . . Internet connection</p><p>1222. . . Local area network</p><p>1224. . . Host computer</p><p>1226. . . Internet service provider, ISP</p><p>1228. . . Internet</p><p>1230. . . server</p>
Figure 1A is a block diagram of a simple web site with a single machine topology;
Figure 1B is a block diagram of the 1-layer web site;
Figure 1C is a block diagram of the 3-tier web site;
Figure 2 is a block diagram of a scalable computing system including a regional computing grid;
Figure 3 is a block diagram showing an example of a virtual server farm with SAN characteristics;
Figures 4A, 4B, 4C and 4D are block diagrams showing the successive steps involved in adding and removing computing elements from the virtual server farm;
Figure 5A is a block diagram of an embodiment of a virtual server farm system, a computing grid, and an oversight agency;
Figure 5B is a block diagram of a system in which a supervisory or control plane server farm is protected by a firewall;
Figure 6 is a block diagram of the logical connection of a virtual server farm;
Figure 7 is a block diagram of the logical connection of a virtual server farm;
Figure 8 is a block diagram of the logical connection of a virtual server farm;
Figure 9 is a block diagram of the control plane server field;
Figure 10 is a block diagram showing the control plane machine connected to an embodiment using several SAN switches (SAN network);
Figure 11 is a block diagram of several VSFs that have been expanded on the WAN connection; and
Figure 12 is a block diagram of a computer system which can be implemented as an embodiment.
The present invention generally relates to data processing, and more specifically relates to an expandable, flexible, and scalable computing system.
The creators of today's Web sites and other computer systems have to deal with many system planning issues. This includes capacity planning for normal peak demand, expected or unexpected growth, and site availability and security. Companies that want to provide services on the Web have new business and service models. This is the area they want to innovate and lead. However, in order to do so, they must deal with the extraordinary complexity of designing, constructing, and operating large-scale Web sites. This includes developing a website and adjusting its size when the website is operational.
This requires finding and hiring trained personnel who can be responsible for the engineering and operation of such sites, which is a potentially large and complex task. Since designing, constructing and operating such a large website is not only its core skills, it causes difficulties for many organizations.
The response to this is to set up a corporate Web site host on the third party's website and co-locate with other Web sites of other companies. This kind of external resource facilities can currently be purchased by companies such as Exodus, AboveNet, and GlobalCenter. These facilities provide physical space and backup network and power facilities, so corporate customers or users do not need to provide them. The network and power facilities are shared among many companies or customers.
However, users of these facilities still need to do a lot of work related to their computing infrastructure in the process of constructing, operating and constructing their facilities. Information technology managers of companies that dominate these facilities have maintained the responsibility of selecting, installing, configuring, and maintaining the computing equipment of these facilities. These managers still have to face difficult issues such as resource planning and handling peak capacity.
Even companies seeking external resources also provide computing facilities (such as Digex). These facilities are not easy to scale and develop for seeking external resources because the development involves the same labor and administrative steps that are prone to errors. In addition, capacity planning for unexpected peak demand is still problematic.
Moreover, each Web site may have different requirements. For example, certain Web sites may require independent management and control capabilities. Others may require a specific type or level of security, which isolates the Web site from all other sites co-located by the service provider. Others may require a secure connection to the intranet within the enterprise located elsewhere.
At the same time, the internal topologies of various Web sites are different. Some websites only contain a web server, which uses a load balancer to balance the load. Appropriate load balancers are Local Director of Cisco System, Inc., Big IP of F5Labs, and Web Director of Alteon. Other websites may be constructed in a multi-layered manner, in which a list of web servers handles the Hypertext Transfer Protocol (HTTP) request, but the batch of application logic is implemented on separate application servers. These application servers are then connected back to the first-level database server.
Some of these different combinations are shown in Figure 1A, Figure 1B and Figure 1C. Figure 1A is a block diagram of a simple Web site, including a single machine 100 with a CPU 102 and a disk 104. The machine 100 is coupled to a global packet switching data network known as the Internet 106 or other networks. The machine 100 can be housed in the aforementioned type of co-location service.
Figure 1B is a block diagram of a 1-tier Web server farm 110, including several Web sites, WSA, WSB, and WSC. Each Web site is coupled to a load balancer 112, which is coupled to the Internet 106. The load balancer distinguishes the traffic between servers to maintain a balanced processing load for each server. The load balancer 112 may also include a firewall or be coupled thereto to protect the Web site from unauthorized traffic.
Figure 1C shows a three-tier server field 120, including a layer of Web servers W1, W2, etc., a layer of application servers A1, A2, etc., and a layer of database servers D1, D2, etc. These web servers are provided to handle HTTP requests. The application server executes the batch of application logic. The database server runs database system (DBMS) software.
Assuming the topological diversity of the known types of Web sites that must be built, it will appear that the only way to build a large-scale Web site is to customize each one. In fact, it is a routine practice. Many organizations struggled with the same subjects separately, and started to order each one without having it.
Another problem with common practice is resource and capacity planning. Web sites can receive very different levels of traffic on different days or at different hours of each day. During peak traffic hours, the hardware or software of the Web site may not be able to respond to the request within a reasonable time due to its excessive load. At other times, the Web site may have excess capacity and be underutilized. In the usual practice, it is difficult to strike a balance between having enough hardware and software to handle peak traffic without causing excessive costs or excessive capacity. Many Web sites can never achieve the right balance and suffer from low or excess capacity at the same time.
Another problem is failure due to human error. The current practice of using artificially constructed server farms presents a big potential danger in that the configuration of a new server becomes the on-site server farm. Human error in the server farm will cause the server farm to malfunction, which may cause problems for users of this Web site. loss.
According to the former, there is a clear demand in this field, that is, methods and devices for providing improved computing systems, that is, the demand can be easily expanded in real time without customization.
It also supports the creation of multiple separate processing nodes, each node can be expanded or collapsed when changes in traffic production must be taken into account. Other requirements will become clear in the disclosure provided in this document.
The previous needs and goals, and other needs and goals will become clear from the following description and achieved by the present invention, which includes a method and device on one level to create highly scaled, highly available and secure data The large-scale computing structure ("computing grid") on which the website is processed. The computational grid is physically constructed once, and then logically divided according to various organizations required. The computing grid includes a large number of computing elements coupled to more than one VLAN switch and more than one storage area network (SAN) switch. Several storage devices are coupled to the SAN switches and can be selectively coupled to more than one computing element through appropriate switching logic and commands. One port of the VLAN switch is coupled to an external network such as the Internet. A supervisory mechanism, layer, machine or process is coupled to the VLAN switches and SAN switches.
Initially, all storage devices and computing components were assigned to the idle storage yard. Under program control, the supervisory organization dynamically configures the VLAN switches and SAN switches to couple their ports to more than one computing element and storage device. As a result, these components and devices are logically removed from the idle accumulation field and become part of more than one virtual server field (VSF). Each vSF is pointed to or otherwise equipped with a storage device, which contains a startup image that can be used by the computing component for startup loader operations and production execution.
By physically constructing the computing grid once and assigning the computing grid to various organizations securely and dynamically according to requirements, economies of scale that are difficult to achieve when customizing each website can be achieved.
The present invention is illustrated by way of example but not limitation with the accompanying drawings. The same element numbers in the figures refer to the same elements, and among them:
Schematic description
Figure 1A is a block diagram of a simple web site with a single machine topology;
Figure 1B is a block diagram of the 1-layer web site;
Figure 1C is a block diagram of the 3-tier web site;
Figure 2 is a block diagram of a scalable computing system including a regional computing grid;
Figure 3 is a block diagram showing an example of a virtual server farm with SAN characteristics;
Figures 4A, 4B, 4C and 4D are block diagrams showing the successive steps involved in adding and removing computing elements from the virtual server farm;
Figure 5A is a block diagram of an embodiment of a virtual server farm system, a computing grid, and an oversight agency;
Figure 5B is a block diagram of a system in which a supervisory or control plane server farm is protected by a firewall;
Figure 6 is a block diagram of the logical connection of a virtual server farm;
Figure 7 is a block diagram of the logical connection of a virtual server farm;
Figure 8 is a block diagram of the logical connection of a virtual server farm;
Figure 9 is a block diagram of the control plane server field;
Figure 10 is a block diagram showing the control plane machine connected to an embodiment using several SAN switches (SAN network);
Figure 11 is a block diagram of several VSFs that have been expanded on the WAN connection; and
Figure 12 is a block diagram of a computer system which can be implemented as an embodiment.
A method and device for providing a scalable computing system are described. In the following description, for the purpose of explanation, many specific details are set up to provide a thorough understanding of the present invention. However, those skilled in the art will understand that the present invention can be implemented without these specific details. In other instances, relatively conventional structures and devices are shown in the form of block diagrams to avoid unnecessarily obscuring the meaning of the present invention.
According to one embodiment, a large-scale computing structure ("computing grid") is provided. The computing grid can be physically constructed once, and then needs to be logically divided into various organizations. A part of the computing grid is assigned to each of several enterprises or organizations. The logical part of each organization's computing grid is called a virtual server farm (VSF). Each organization maintains independent administrative control over its VSF. Each VSF can dynamically change based on the real-time demand for the server location or other factors based on the number of CPUs, storage capacity, and disk and network bandwidth. Each VSF is secured by the VSF of every other organization, although it is logically created by the same entity's computing grid. The VSF can be connected back to the intranet using a private leased line or a virtual private network (Virtual Private Network, VPN) without exposing the intranet to the VSF of other organizations.
An organization can only access the data and computing components in the part of the computing grid assigned to it (that is, within its VSF), even if it can implement complete (such as super user or root) management access to these computers Or you can observe all the traffic on the Local Area Network (LAN) to which these computers are connected. This will be accomplished using a dynamic firewall plan, where the perimeter of the VSF dynamically expands or shrinks.
Each VSF can be used as a host for the content and applications of an organization, which can be accessed via the Internet, Intranet or Extranet. The configuration and control of computing components and their related network and storage components are implemented by a supervisory organization, which cannot be directly accessed through any computing components of the computing grid. For convenience, the supervisory authority is referred to as the control plane in this document, and may include more than one processor or a network of processors. The supervisory organization may include supervisors, controllers, and so on. Other practices can be used as described here.
The control plane runs on a set of completely independent computing elements assigned for supervisory purposes as more than one server, and these servers can be connected to each other via a network or other means. It implements the control actions of the computing, network and storage components of the computing grid through the special control ports or interfaces of the network and storage components in the grid. The control plane provides a physical interface to the switching element of the system, monitors the load of the computing element, and uses a graphical user interface or other appropriate user interface to provide administrative and management functions.
The computer that executes the control plane is logically invisible to the computer in the computing grid (and therefore in any particular VSF), and cannot be attacked or be attacked by components in the computing grid or by external computers in any way. destroy. Only the control plane has a physical connection to the control port of the device in the computing grid, which controls the membership in a specific VSF. Devices in computing can be configured only through these special control ports, so computing components in the computing grid cannot change their security perimeters or access storage or computing devices that are not authorized to do so.
Therefore, the VSF allows organizations to work with computing facilities, which include a private server farm, which is dynamically created from a large-scale shared computing infrastructure (ie, computing grid). The control plane coupled with the computing architecture described here provides a private server field whose privacy and integration are protected by accessing the control mechanism implemented in the device hardware of the storage device.
The internal topology of each VSF is controlled by the control plane. The control plane can use the basic interconnection of the computer, network switch, and storage network switch described here, and use it to create various server farm configurations. This includes a single-tier Web server farm with a load balancer on the front end and a multi-tier configuration, but it is not limited to this. One Web server talks with an application server, and this talks with a database server. Various load balancing, multi-layer and firewall configurations are possible.
The computational grid can exist in a single location or can be scattered over a large area. First of all, this document describes the computing grid in a single-scale network with purely local regional technology. Then this document describes the case of computing grids dispersed in the Wide Area Network (WAN). FIG. 2 is a block diagram of the configuration of the scalable computing system 200, which includes a regional computing grid 208. In this document, "expandable" generally means flexible and proportionally adjustable, which has the ability to increase or decrease the computing power for a specific enterprise or user according to the needs. The area computing grid 208 contains a large number of computing elements CPU1, CPU2,..., CPUn. In the illustrated embodiment, there may be more than 10,000 computing elements. These computing components do not contain or store any long-term status information of each component, so there is no need to use permanent or non-electrical storage (such as regional disks) to be configured. And all the long-term status information is on the disks DISK1, DISK2, and DISKn separated from the computing components, which are coupled to the storage area network (SAN) through a storage area network (SAN) that includes more than one SAN (Storage Area Network) switch 202 And other computing components. Appropriate SAN switches can be purchased from Brocade and Excel.
All computing elements are connected to each other through more than one VLAN switch 204, and the VLAN can be divided into virtual LANs (VLANs). The VLAN is coupled to the Internet 106. A computing device generally includes more than one network interface connected to the VLAN switch. For simplicity, all nodes in Figure 2 are shown as two network interfaces, although some may have more or less network interfaces. Many direct hosts now provide switches that support VLAN functions. For example, suitable VLANs can be purchased from CiscO System, Inc. and XtremeNetworks. Similarly, there are many products to build SAN, including FibreChanne1 switch, SCSI-to-Fibre-Channe1 bridge device and Network Attached Storage (NAS) device. The control plane 206 is respectively coupled to the SAN switch 202, CPU1, CPU2,..., CPUn and the VLAN switch 204 by the SAN control path, the CPU control path, and the VLAN control path.
Each VSF contains a set of VLANs, a set of computing elements attached to the VLAN and a partial set of storage available on the SAN coupled to the set of computing elements. The partial collection of storage available on the SAN is called the SAN zone and is protected by the SAN hardware from access to computing components from other parts of the SAN zone. Preferably, a VSF that provides an unforgeable port identifier is used to prevent a client or end user from gaining access to the VSF resources of another client or end user.
Figure 3 is a block diagram of an illustrative virtual server farm showing the characteristics of the SAN area. Several web servers WS1, wS2, etc. are coupled to a load balancer (LB)/firewall 302 by a first VLAN (VLAN1). Each web server can be selected by CPU1, CPU2, etc. using the mechanism described further here. The web servers are coupled to the SAN area 304, which is coupled to more than one storage device 306a, 306b.
At any point in time, the computing elements in the computing grid of CPU1 as shown in Figure 2 are only connected to the collection of VLANs and SAN areas related to a single VSF. VSF is not typically shared between different organizations. The set of storage parts on the SAN belonging to a single SAN area, the group of VLANs related to it, and the computing elements on these VLANs define a VSF.
By controlling the membership of a VLAN and the membership of a SAN area, the control plane forces the computing grid to be logically divided into multiple VSFs. Members of one VSF cannot access the computing or storage resources of another VSF. The mandatory hardware level for this type of access restriction is to use VLAN switches and the port level access control mechanisms (ie zoning) of SAN hardware, such as Fibre Channel switches and edge devices such as SCSI to Fibre Channel bridge hardware Be completed. The computing components from the part of the computing grid are not physically connected to the control ports or interfaces of the VLAN switch and the SAN switch, and therefore cannot control the membership of the VLAN and the SAN area. Therefore, the computing components of the computing grid cannot access computing components that are not located in the contained VSF. Ikuhashi
Only the computing components that execute the control plane are physically connected to the control ports or interfaces of the devices in the grid. Devices in the computing grid (computers, SAN switches, and VLAN switches) can only be configured through these control ports or interfaces. This provides a simple and safe method for forcibly partitioning the computing grid into multiple VSFs.
Each computing element in a VSF can be replaced by any other computing element. The number of computing elements, VLANs and SAN areas related to a certain VSF can be changed at any time under the control of the control plane.
In one embodiment, the computing grid includes idle storage yards containing a large number of computing elements, which are maintained in reserve. Computing components from the idle accumulation field can be assigned to a specific VSF due to an increase in the memory capacity available for the CPU or VSF or to deal with the failure of a specific computing component in the VSF. When these computing components are assembled into a Web server, the idle accumulation field acts as a "vibration absorber" for changing or "breaking" the Web traffic load and related peak processing load.
The idle storage yard is shared among many different organizations, so since no single organization has to pay the entire cost of the idle storage yard, it provides economies of scale. Different organizations can obtain computing elements at different times of the day when they need it, thus promoting VSF growth when needed and shrinking when traffic falls below normal. If many different organizations continue to peak at the same time and potentially exhaust the capacity of the idle accumulation yard, the idle accumulation yard can be reduced by adding more CPUs and storage components to it (a feature of proportional adjustment) Increase. The idle accumulation yard is engineered to greatly reduce the probability, so that a specific VSF may not be able to obtain additional computing elements from the idle accumulation yard when needed in a stable state.
Figures 4A, 4B, 4C, and 4D show the successive steps involved in moving a computing element in and out of an unused storage area. First, referring to Figure 4A, suppose it is logically shown that the components of the computing grid are connected to the first and second VSFs marked with VSF1 and VSF2. The idle storage yard 400 contains several CPUs, one of which is labeled CPUX. In Figure 4B, VSF1 has developed the need for additional computing components. Therefore, the control plane moves the CPUX from the idle accumulation yard 400 to the VSF1 as shown by the path 404.
In Figure 4C, VSF1 is no longer needed, so the control plane moves CPUX out of VSF1 back to the idle accumulation yard 400. In Figure 4D, VSF1 has developed a demand for additional computing components. Therefore, the control plane moves the CPUX from the idle accumulation field 400 to VSF2. Therefore, in the course of time, when the traffic conditions change, a single computing element may belong to the idle storage yard (Figure 4A), and then be assigned to a specific VSF (Figure 4B), and then be placed back into the idle storage yard (Figure 4B). Figure 4C), and then belong to another VSF (Figure 4D).
At each stage, the control plane assembles the LAN switch and SAN switch of the relevant computing elements into parts of the VLAN and SAN area of the specific VSF (or idle storage yard). According to one embodiment, between transitions, the computing element is powered off or restarted. When it is powered on again, it sees different parts of the storage area on the SAN, including a bootable image of an operating system (such as Linux, NT, Solaris, etc.). The storage area also includes a data section, which is specific to each organization (such as files related to Web servers, database partitions, etc.). It is also a part of another vLAN, which is a part of the VLAN set of another VSF, so it can access CPU, SAN storage devices and the NAS of the related VSF VLAN, which has been transitioned to it.
In a preferred embodiment, the storage area includes a number of predefined blueprints, which are related to the roles taken by the computing element. At first, no computing components were dedicated to any roles or tasks such as web servers, application servers, and database servers. The role of the computing element is obtained from one of several pre-defined stored blueprints, which defines an activation image for each computing element related to this role. These blueprints can be stored in files, database tables or other storage cells, which can be related to the location of a character's activation image.
Therefore, the actions of the CPUX in Figures 4A, 4B, 4C, and 4D are logical, not physical, and are completed by reconfiguring the VLAN switch and the SAN area under the control of the control plane. In other words, each computing element in the computing grid is basically replaceable at first, and only takes a specific processing role after it is connected to the virtual server farm and loaded by a software that starts the image. No computing component is dedicated to any role or task such as Web server, application server, and database server. The role of the computing element is obtained from one of several pre-defined stored blueprints, which defines an activation image for each computing element related to this role.
Since no long-term status information is stored in any specific computing component (such as a regional disk), nodes can easily be moved between different VSFs and can execute completely different OS and application software. This also makes each computing element highly replaceable in planned or unplanned downtime situations.
A particular computing element can perform different roles when it brings in and out of various VSFs. For example, a computing component can act as a Web server in a VSF, and when it is brought into a different VSF, it can be a database server, a Web load balancer, a firewall, etc. It can start continuously and execute different operating systems in different VSFs, such as Linux, NT or Solaris. Therefore, each computing element in the computing grid is replaceable, and no static role is assigned to it. Therefore, the entire reserved capacity of the computing grid can be used to provide any service required by any VSF. This is because each server implementing a specific service potentially has thousands of backup servers and can provide the same service, which provides a high degree of availability and reliability for the service provided by a single VSF.
Furthermore, the large reserved capacity of the computing grid can provide dynamic load balancing properties and a high degree of processor availability. This capability is facilitated by the unique combination of diskless computing components connected to each other via VLAN and the configurable area connected to the storage device via SAN, all of which are controlled in real time by the control plane. Each computing element can play the role of any required server in any VSF, and can be connected to any logical partition of any disk in the SAN. When the grid requires more computing power or disk capacity, computing components or disk storage are manually added to the idle accumulation field, which can be reduced over time when more organizations are provided with VSF services . In order to increase the number of CPUs, network and disk bandwidth and storage available for the VSF, manual intervention is not required. All of these resources are allocated by the control plane from the available CPU, network and disk resources in the idle storage yard.
The specific VSF is not subject to manual reconfiguration. Only the machines in the idle storage yard are manually assembled into a computing grid. As a result, the potential hazards present in the server sites that are currently manually configured are eliminated. Human error in the server farm that assembles a new server to the site will cause the possibility of failure of the server farm, and the service loss of the users of the Web site may be substantially eliminated.
The control plane also replicates the data stored in the SAN attached to the storage device, so that the failure of any specific storage component will not cause service loss in any part of the system. By loosening the long-term storage from the computing device using SAN and by providing redundant storage and computing components (any computing component can be attached to any storage partition), a high degree of availability can be achieved.
FIG. 5A is a block diagram of a VSF system according to an embodiment. With reference to Figure 5A, the following describes the detailed steps that can be used to create a VSF, add nodes to this, and delete nodes therefrom.
FIG. 5A shows a computing component 502, including computers A to G, which are coupled to the VLAN switch 504. The VLAN switch 5D4 is coupled to the Internet 106, and the VLAN switch has ports V1, V2, etc. The computers A to G are further coupled to the SAN switch 506, which is coupled to several storage devices or disks D1-D5. The SAN switch 506 has ports S1, S2, etc. The control plane machine 508 is coupled to the SAN switch 506 and the VLAN switch 504 by the control path and the data path. The control plane can send control commands to these devices through the control ports.
For the sake of simplicity and explanation, the number of computing elements in Figure 5A is small. In practice, a large number of thousands of computers and the same large number of storage devices form the computing grid. In this larger structure, multiple SAN switches are connected to each other to form a network, and multiple VLAN switches are connected to each other to form a VLAN network. However, for clarity and simplicity, Figure 5A shows a single SAN switch and a single VLAN switch.
At first, all computer AGs are assigned to the idle storage yard until the control plane receives a request to create a VSF. All ports of a VLAN are assigned to a specific VLAN, which will be marked as VLANI (representing an idle storage field). Suppose that when the control plane is required to build a VSF, a load balancer/firewall and two Web servers are connected to storage devices on the SAN. The requirements for the control plane can be reached through the management interface or other computing components.
In response, the control plane assigns or allocates CPUA as a load balancer/firewall, and CPU B and C as Web servers. CPU A is logically placed in SAN zone 1, and is directed to a bootable partition on the disk containing dedicated load balancer/firewall software. The term "pointing" is used for convenience and is intended to indicate that CPU A is given in this way information sufficient to enable CPU A to obtain or set appropriate software required for its operation. The placement of CPU A in SAN zone 1 causes CPU A to obtain resources from the disk controlled by the SAN in the SAN zone.
The load balancer is configured by the control plane to know about CPUs B and C as the second Web server that is supposed to balance the load. The firewall control protects CPUs B and C from unauthorized access from the Internet 106. CPUs B and C are directed to the disk partition on the SAN, which contains bootable OS images for special operating systems (Solaris, Linux, NT, etc.) and web server applications (such as Apache). The VLAN switch is configured to place ports V1 and V2 on VLAN 1 and ports v3, v4, v5, v6, and v7 on VLAN 2. The control plane is equipped with a SAN switch 506 to place the Fibre-Channel switch ports s2, s3, and s8 in the SAN area.
How the CPU is directed to a specific disk drive and the meaning of the steps for starting and sharing disk data are further described here.
Figure 6 is a block diagram of the logical connection result of the computing element, which is collectively called VSF1. Disk drive DD1 is selected from storage devices D1, D2, etc. Once the logical structure shown in Figure 6 is achieved, CPUA, B, and C are given power supply commands. In response, CPUA became a dedicated negative balancer/fireproof machine, and CPUB, C became a Web server.
Now, suppose that because of a rule-based policy, the control plane determines that another web server is needed in VSF1. This may be due to a request to increase the number of coming to the Web site, and the customer plan allows at least three Web servers to be added to VSF1. Or, it may be because the organization that owns or operates the VSF requires another server and has added it through an administrative agency that allows it to add more servers to its VSF's privileged Web pages.
In response, the control plane decided to add CPU.D to VSF1. In order to do so, the control plane will add CPU D to VLAN2 by adding ports v8 and v9 to VLAN2. Moreover, the SAN port s4 of the CPUD is added to the SAN area 1. The CPU D is pointed to the bootable part of the SAN storage, which starts and continuously rotates like a Web server. CPU D also obtains the read-only step of the shared data on the SAN, which may include web page content and executable server fonts, etc. This method can serve the web requests requested by the server site as much as the number of requests serviced by CPUs B and C. The control plane will also be equipped with a negative balancer (CPUA) to include CPUD as part of the set of servers that are being load balanced.
Now the CPUD is activated, and the size of the VSF is now increased to two web servers and a load balancer. Figure 7 is a block diagram of the result of this logical connection.
Assuming that the control plane now receives a request to create another VSF (VSF2), this requires two web servers and a load balancer/firewall. The control plane assigns CPUE as load balancer/firewall and CPUF, and G as Web server. It configures CPUE to know about CPUF, and G is the second machine to balance the load.
In order to implement this configuration, the control plane will configure the VLAN switch 504 to include ports v10 and V11 in VLAN1 (that is, connected to the Internet 106) and ports v12, v13 and v14, v15 in VLAN3. Similarly, it is equipped with a SAN switch 506 to include SAN ports s6 and S7 and s9 in the SAN zone 2. This SAN area includes storage, including CPUE as a load balancer and CPUF, and G as the software required for the web server using the shared read-only disk partition of disk D2 contained in SAN area 2.
Figure 8 is a block diagram of the logical connection result. Although two VSFs (VSFl, VSF2) share the same VLAN switch and SAN switch, the two VSFs are logically divided. Users who access CPUB, C, D and companies that own or operate VSF1 can only access the CPU and storage of VSF1. These users cannot access the CPU or storage device of VSF2. This occurs due to the combination of separate VLANs and the two firewalls on the shared-only segment (VLAN1) and different SAN areas in which the two VSFs are configured.
Suppose further that later the control plane decides that VSF1 can now fall back to two web servers. This may be because the temporarily increased load on VSF1 has dropped, or it may be taken due to some other management action. In response, the control plane will turn off the CPUD with a special command that may include stopping the power supply to the CPU. Once the CPU has been shut down, the control plane removes ports V8 and V9 from VLAN2, and removes SAN port s4 from SAN zone 1. Port s4 is placed in the idle SAN area. The idle SAN area may be designated as SAN area I (referring to idle) or area 0, for example.
After some time, the control plane may decide to add another node to VSF2. This may be because the load of the web server in VSF2 has temporarily increased, or it may be due to other reasons. Therefore, the control plane decides to place the CPUD in VSF2 as shown by the dashed path 802. In order to do so, it is equipped with a VLAN switch to include ports v8 and v9 in VLAN3, and includes application server port s4 in application server zone 2. The CPUD is directed to the storage device part of the disk device, which contains the web server software and the bootable image of the OS required by the server in VSF2. Moreover, CPUD is allowed to read-only access to data in the file system shared by other web servers in VSF2. The CPUD is powered, and it now functions as a load-balanced Web server in VSF2. And no longer access any data in SAN area 1 or the CPU attached to VLAN 2. In particular, CPUD has no access to any components of VSF1, although it was part of VSF1 at an earlier point in time.
Furthermore, in this configuration, the security perimeter implemented by CPUE has been dynamically expanded to include CPUD. Therefore, the embodiments provide a dynamic firewall that automatically adjusts to properly protect computing elements added to or removed from the VSF.
There are many ways for the CPU to be directed to a specific device on the SAN. The purpose is to boot, or to access a disk device that must be shared with other nodes, otherwise it will be provided with information about where to find the boot program and data.
One method is to use the SCSI-to-FibreChannel bridge device attached to the computing component and provide a SCSI interface for the regional disk. By choosing the path for the SCSI port to the correct device on the Fibre-Channel SAN, the computer can access the storage device on the Fibre-Channel SAN just as it accesses the SCSI disk attached to the area. Therefore, the boot software shuts down the disk device on the SAN just like it shuts down the SCSI disk attached to the zone.
Another method is to have a Fibre-Channel interface in the node and related device drivers, and the boot ROM and OS software allow the Fibre-Channel interface to be used as a boot device.
Another method is to have an interface that becomes a SCSI or IDE controller (such as PCI bus or Sbus), but it communicates on the SAN to access the disk. For example, the operating systems of Solaris and Window NT provide a diskless boot function as a whole, which can be used in this alternative method.
Typically a node will be equipped with two kinds of SAN disk devices. The first type is not logically shared with other computing components and generally constitutes the root partition of each node including OS images and area configuration files. This is the equivalent of the root file system of the Unix system.
The second type of disk is a storage shared with other nodes. The type of sharing varies according to the requirements of the OS software running on the CPU and the nodes that access the shared memory. If the OS provides a string file system that allows read/write access to a shared volume between multiple nodes, the shared disk is installed as such a string file system. Similarly, the system can use database software such as Oracle Parallel Server, allowing multiple nodes to move on a cluster and have simultaneous read/write access to the shared disk. In this case, a shared disk has been designated as the base OS and application software.
For operating systems where shared access is not possible, since the OS and related application software cannot manage disk devices shared with other nodes, the shared disk can be installed as a read-only device. For many web applications, it is sufficient to have read-only access to web-related files. For example, in Unix systems, certain file systems can be installed as read-only.
The configuration described above for Figure 5A can be expanded by connecting several VLAN switches to each other to form a large switched VLAN network and by connecting multiple SAN switches to each other to form a large switched SAN network. It is a large number of computing and storage nodes. In this case, the computing grid has a general architecture as shown in Figure 4, except that the SAN/VLAN switching network contains a large number of ports used by CPUs and storage devices. Several machines running the control plane can be physically connected to the control port of the SAN/VLAN switch as described further below. It is well-known in this field that multiple VLAN switches are connected to each other to create a multi-camera data network that looks miscellaneous. For example, see "Designing High-Performance Campus Intranets With Multilayer Switching" by G. Haviland of Cisco System, Inc., available at http://www.cisco.com/warp/public/cc/sol/mkt/ent/ndsgn/ highd <sub>-</sub> Wp.htm is available online.
This description assumes that the application server includes Fibre-Channel switches and disk devices and possible Fibre Channel edge devices such as SCSI-to-Fibre Channel bridges. However, application servers can be constructed using alternative technologies, such as GigabitEthernet switches or switches that use other physical layer communication protocols. In particular, there are currently efforts to build application servers on IP networks by implementing the SCSI protocol on IP. The methods and architecture described above are applicable to these alternative methods of building a SAN. When the application server is constructed by implementing a SCSI-like communication protocol on IP in the layer 2 environment of the vLAN capability, the application server area is created by mapping it to a different vLAN.
Moreover, Network Attached Storage (NAS) can be used, which works on LAN technologies such as Fast Ethernet or Gigabit Ethernet. Under this selection method, different VLANs are used to replace the SAN area to implement the security and logical partitioning of the computing grid. Such NAS devices typically support network file systems such as Sun's NSF protocol or Microsoft's SMB to allow multiple nodes to share the same storage.
In the above description, the control plane is represented as a block coupled to the control and data ports of the SAN/VLAN switch. However, other control planes are also planned.
Typically, the SAN/VLAN control port is the Ethernet interface. Figure 9 is a block diagram of an architecture that can be used in this situation. All control (CTL) ports of each VLAN switch (VLAN SW1, VLAN SWn) and all control ports of each SAN switch (VLAN SW1, VLAN SWn) are placed on a single Ethernet secondary network 902. The secondary network 902 is only connected to several control plane machines CP CPU1, CP CPU2, etc. This allows multiple control plane machines to be connected to the control ports of all SAN switches and VLAN switches.
In this configuration, the control plane machines are collectively called the control plane or CP904. Only the machines in CP904 have physical connections to the control ports of the VLAN switch and SAN switch. Therefore, the CPU in a certain VSF cannot change the membership of VLAN and SAN area related to its own VSF or any other VSF.
Or, instead of the Ethernet interface, the control ports can be serial or parallel ports. In this case, the ports are coupled to the control plane machine.
The machine running the control plane must have access to the data ports on both the VLAN switch and the SAN switch. This is needed for the control plane to assemble files about specific nodes and collect real-time information from nodes about current CPU load, network load, and disk load.
FIG. 5B shows a block diagram of an embodiment for connecting the control plane 516 to the data port. In one embodiment, the machine in each VSF periodically sends a packet to the machine 510, which acts as a proxy for the control plane. Or the control plane agent 510 will periodically select the real-time data of the nodes in the VSF. Then the control plane agent 510 sends the data collected by all nodes in the VSF to the CP516. Each machine in CP516 is coupled to CPLAN514. The CPLAN 514 is coupled to the special port V17 of the VLAN switch 504 through the CP firewall 512. This provides a scalable and secure method for CP to collect all real-time information from all nodes in the VSF.
Figure 10 is a block diagram showing the control plane machine connected to an embodiment using several SAN switches (SAN nets). Several control plane machines CPCPU1, CPCPU2, etc. form a control plane server field (CP) 904. Each control plane machine is coupled to a port of the SAN network.
Equipped with these control plane machines is a set of SAN ports So, Sp, which are connected to a disk 1004 containing private data of the control plane. The disk 1004 is located on the disk in the control plane private storage area 1002, which is an area where the control plane maintains registration files, statistical data, current control plane configuration information, and software that implements the control plane. The SAN port So and Sp are only part of the control plane SAN area. Ports So and Sp are never placed on any other areas, and only machines that are part of CP904 can access the disk 1004 connected to these ports.
Ports S1, S2 and Sn and ports So and Sp are in the control plane SAN area. No computing components from the idle stacking yard or any VSF are part of the control plane SAN area. This ensures that data private to the control plane is protected from being accessed by any VSF.
When a specific control plane machine needs to access the disk partition of the specific vSF part of the VSFI shown in Figure 10, it is placed in the SAN area related to this VSF. In this example, CP CPU2 needs to access the disk of VSFI, so that port S2 related to CP CPU 2 is placed in the SAN area including VSF I of port Si. Once the CP CPU finishes accessing the disk on port Si, it is removed from the SAN area of VSF I.
Similarly, if a machine such as CP CPU 1 needs to access the disk of VSF j, it is placed in the SAN area related to VSF j. The result is that port S2 is placed in the SAN area related to VSF j, which includes the area containing port Sj. Once CP1 finishes accessing the disk connected to port Sj, it is removed from the SAN area related to VSF j.
The control plane machine must collect information from the computing node, such as information about the real-time load. To do so, the control plane must have network connectivity to its own grid.
The above-mentioned VSF can be distributed on the WAN in several ways. In an alternative approach, a wide-area backbone can be based on asynchronous transfer mode (ATM) switching. In this case, each area VLAN uses part of the ATM LAN Emulation (LANE) standard Emulated LAN (ELAN) to expand to a wide area. In this way, a single VSF can span several wide area connections, such as ATM/SONET/OC-12 connections. ELAN becomes a part of VLAN that spans ATM WAN expansion.
Or, a VSF is expanded across the WAN using a VPN system. In this embodiment, the basic characteristics of the network become irrelevant, and the VPN is used to connect more than two VSFs across the WAN to form a single distributed VSF.
Data imaging technology can be used to have a local copy of the distributed VSF data. Alternatively, the SAN uses one of several SAN-to-WAN bridging technologies such as SAN-to-ATM bridge segments or SAN-to-Gigabit Ethernet bridge segments to bridge the WAN. A SAN built on an IP network naturally spreads over the WAN because IP works well on this type of network.
Figure 11 is a block diagram of several VSFs spread over the WAN link. The San Jose Center, the New York Center and the London Center are coupled by a WAN connection. Each WAN link includes ATM, ELAN or VPN links in the manner described above. Each center includes at least one VSF and at least one idle storage yard. For example, the San Jose Center has VSF 1A and idle accumulation yard A. In this configuration, the computing resources of each idle storage yard of a center are available to the VSF allocated or designated in any other center. When this assignment or designation is implemented, the VSF becomes stretched across the WAN.
The VSF architecture described above can be used in the context of a web server system. Therefore, the foregoing example has been described based on the Web server, application server, and database server constructed by the CPU in the specific VSF. However, the VSF architecture can be used in many other computing scenarios and used to provide other types of services, and it is not limited to the Web server system.
In one embodiment, the VSF uses a wide area VSF to provide a content distribution network (CDN).
CDN is a network of cache servers, which implements distributed data cache. The cache server can be implemented using, for example, TrafficServer (TS) purchased from Inktomi Corporation of San Mateo, California. TS is a cluster alert system; the system increases proportionally as more CPUs are added to a set of cached TrafficServer machines. Therefore, it is quite suitable for a system that adds a CPU mechanism for proportional increase.
In this configuration, the system can dynamically add more CPUs to the VSF part of the cache software such as TS, and develop the cache capacity near the point where the explosive Web traffic occurs. As a result, the CDN can be constructed in an adaptive manner, allowing the CPU and I/O bandwidth to be dynamically adjusted in proportion.
Currently, there is growing interest in providing intranet applications such as enterprise resource planning (ERP), ORM and CRM software as the main and management services. Technologies such as Citrix WinFrame and Citrix MetaFrame allow companies to provide Microsoft Windows applications as a service to weak customers such as Windows CE devices or Web browsers. VSF can host such applications in a proportionally adjusted manner.
For example, SAP R3 ERP, available from SAP Aktiengesellschaft in Germany, allows enterprises to use multiple applications and database servers to balance load. In the case of VSF, the enterprise will dynamically add more application servers (such as SAP Dialog server) to the VSF in order to increase the VSF proportionally based on real-time demand or other factors.
Similarly, Citrix Metaframe allows companies to increase application software users by adding more Citrix servers to the server farm running the master Windows application software. In this case, Citrix MetaframeVSF will add more Citrix servers to the VSF to accommodate more users of Metaframe-hosted Windows applications.
It will be understood that many other application software can be controlled in a manner similar to the above illustrated example.
Since the VSF is created on demand, VSF customers or organizations that "own" the VSF can interact with the system in various ways to customize the VSF. For example, because VSFs are created and modified via the control plane, VSF customers are allowed privileged access to create and modify their own VSFs. The privileged access can be provided using the password authentication cover provided by Web pages, security applications, proxy card authentication, Kerberos exchange, or other appropriate security requirements.
In an illustrative embodiment, a group of Web pages are served by a control plane machine or a separated server. These Web pages determine the number of layers, the number of computing components in a specific layer, the hardware and software platforms used by each component, and those types of Web servers, application servers, or database server software must be in The pre-configured items on these computing components prompt customers to create customized VSFs. Therefore, the customer is provided with a virtual provision console.
After the customer or user enters the provided information, the control plane analyzes and evaluates the execution sequence and queue. The sequence can be reviewed by the manager to ensure that it is appropriate. The credit check of the enterprise can be implemented to ensure that it has the appropriate credit to pay for the required services. If the order of provision is approved, the control plane can configure a VSF to comply with the order, and return a password to the customer to provide root access to more than one computing element in the VSF. The customer can upload the master copy of the application software for execution in the VSF.
When the company in charge of the computing grid is a profit-seeking company, these Web pages can also receive payment information, such as credit cards, PO numbers, e-checks or other payment methods.
In another embodiment, the Web page enables customers to select one of various VSF service plans based on real-time load, such as automatic growth and reduction of VSF between the minimum and maximum number of components. The customer may have a control value that allows the customer to change parameters, such as the minimum number of computing elements in a specific layer of the Web server or the period during which the VSF must have the minimum value of the server capacity. These parameters can be linked to the billing software, which will automatically adjust the customer's billing rate and generate the billing statement log entry.
Through this privileged access, the customer can obtain reports and monitor real-time information about usage, load, hits or transactions per second, and adjust the characteristics of the VSF based on the real-time information.
It will be understood that the previous features provide significant advantages over the usual manual methods of constructing server farms. In the usual practice, users cannot automatically affect the nature of the server farm without the complicated manual procedures of adding servers and configuring the server farms in various ways.
Under the dynamic nature of VSF, companies that host computing grids and VSFs can use the billing model for service fees to send bills to customers for a VSF, depending on the actual use of the VSF's computing components and storage components. It does not need to use a single-fee billing model. The VSF structure and method disclosed here promotes the "pay-as-you-go" bill delivery model because the resources of a certain VSF are non-statically designated. Therefore, certain customers can save money when their server farms have variable usage load, because they will not send bills at a fixed peak server capacity rate, but reflect the average mobile usage and instantaneous usage. The calculation of the rate of waiting.
For example, an enterprise may use a single fee agreed upon for the minimum number of computing components for 10 servers, and when the real-time load requires more than 10 components for the agreed bill delivery model operation, the user may need to use additional servers and needs. How long will the additional server increase rate be billed.
The unit of this type of bill can reflect the resource being billed. For example, the bill can be expressed in units such as MIPS hours, CPU hours, and kiloseconds of CPU.
In another alternative approach, the capacity of the VSF can be controlled by providing an application programming interface (API) to the customer that defines a call to the control plane for changing resources. Therefore, the application prepared by the customer will use the API to make calls or requests to request more servers, storage, bandwidth, etc. This alternative approach can be used when customers need applications to pay attention to the computing grid environment and take advantage of the capabilities provided by the control plane.
There is nothing in the structure disclosed above that will require customers to modify their application software using the computing grid. Existing application software continues to work as if it is a manually configured server farm. However, if the required computing resources can be better understood based on the real-time load monitoring function provided by the control plane, the application software can obtain the possible benefits of dynamics in the computing grid.
APIs with the aforementioned properties that enable applications to change the computing capacity of the server farm cannot use existing manual methods to build the server farm.
Using the methods and mechanisms disclosed here, the control plane can implement automatic update and version management of the operating system software executed in the computing components of the VSF. Therefore, end users or customers do not have to worry about updating the operating system with new pitches, fault repairs, etc. The control plane can maintain the software component library when the software component is received, and automatically distribute and install it among all affected VSF computing components.
These computing elements and supervisory agencies can be implemented in several forms. In one embodiment, each computing component is a general-purpose digital computer with components shown in Figure 12 except for non-electric storage devices, and the supervisory mechanism is the general-purpose digital computer type shown in Figure 12, which is shown in Figure 12. The operation under the control of the program instructions that implement the processing described here.
Figure 12 illustrates a block diagram of a computer system 1200 on which an embodiment of the present invention is implemented. The computer system 1200 includes a bus 1202 or other communication mechanism for information communication, and a processor 1204 is coupled to the bus 1202 for processing information. The computer system 1200 also includes a main memory 1206, such as a random step memory (RAM) or other dynamic storage devices coupled to the bus 1202 for storing information and instructions to be executed by the processor 1204. The main memory 1206 can also be used to store temporary variables or other intermediate information when executing instructions to be executed by the processor 1204. The computer system 1200 further includes a read-only memory (ROM) 1208 or other static storage device coupled to the bus 1202 for storing static information and instructions for the processor 1204. A storage device 1210 such as a magnetic disk or an optical disk is provided and coupled to the bus 1202 for storing information and commands.
The computer system 1200 can be coupled to a display 1212 such as a cathode ray tube (CRT) via the bus 1202 for displaying information to the computer user. An input device 1214 including alphanumeric characters and other keys is coupled to the bus 1202 for communicating information and command selection to the processor 1204. Another type of user input device is the cursor controller 1216, such as a mouse, trackball, or cursor direction key for communicating direction information and command selection to the processor 1204, and for controlling the cursor movement on the display 1212. The input device typically has a two-axis degree of freedom of a first axis (such as the x-axis) and a second axis (such as the y-axis), which allows the device to determine the position on the plane.
The present invention relates to the use of the computer system 1200 to implement the methods, mechanisms, and architectures described herein. According to an embodiment of the present invention, the method and mechanism are implemented by the computer system 1200 in response to the processor 1204 executing more than one sequence of more than one instruction contained in the main memory 1206. These instructions can be read into the main memory 1206 by a medium readable by another computer, such as the storage device 1210. Executing the sequence of instructions contained in the main memory 1206 causes the processor 1204 to implement the processing steps described herein. In an alternative embodiment, a hardware wiring circuit can be used instead of a combination of software instructions to implement the present invention. Therefore, the embodiments of the present invention are not limited to any specific combination of hardware circuits and software.
The "computer-readable medium" used herein refers to any medium that participates in providing instructions to the processor 1204 for execution. This kind of media can take many forms, including non-power-dependent media, power-dependent media, and transmission media, but it is not limited to these. The non-electrical medium includes, for example, an optical disk or a magnetic disk, that is, the storage device 1210. Electrically dependent media includes dynamic memory, such as main memory 1206. Transmission media includes coaxial cables, copper wires and optical fibers, including wiring including bus bars 1202. Transmission media can also take the form of sound waves or light waves, such as those generated during radio wave and infrared data communication.
Common forms of computer-readable media include, for example, floppy disks, removable disks, hard disks, tapes or any other magnetic media, CDs <sup>-</sup> ROM, any other optical media, punched cards, paper tape, any other physical media with hole patterns, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cassette, load wave or computer as described below Any other media that can be read.
Various forms of computer-readable media may be involved in more than one sequence carrying more than one instruction to the processor 1204 for execution. For example, these commands can be loaded on the disk of a remote computer at first. The remote computer can load commands into its dynamic memory and use a modem to send these commands on the telephone line. The local data exchange in the computer system 1200 can receive the data on the telephone line and use an infrared transmitter to convert the data into an infrared signal. The infrared detector can receive the data carried in the infrared signal and an appropriate circuit can place the data on the bus 1202. The confirmation row 1202 carries the data to the main memory 1206, and the processor 1204 retrieves and executes these commands. The instructions received by the main memory 1206 may alternatively be stored on the storage device 1210 before or after being executed by the processor 1204.
The computer system 1200 also includes a communication interface 1218 coupled to the bus 1202. The communication interface 1218 provides a two-way data communication coupling to the network connection 1220, which is connected to a local network 1222. For example, the communication interface 1218 can be used by an integrated services digital network (ISDN) card or a modem to provide a data communication link to the corresponding telephone line type. Another example is that the communication interface 1218 is a local area network (LAN) card to provide a data communication link to a compatible LAN. Wireless connection can also be implemented. In any such implementation, the communication interface 1218 sends and receives electrical, electromagnetic or optical signals, which carry digital data streams representing various types of information.
The network link 1220 typically provides data communication to other data devices through more than one network. For example, the network connection 1220 can provide a connection to the host computer 1224 or the data equipment operated by the Internet service provider (ISP) 1226 through the local area network 1222. ISP 1226 then provides data communication services through the worldwide packet data communication network now called "Internet" 1228. Both the local area network and the Internet 1228 use electrical, electromagnetic or optical signals, which carry digital data streams representing various types of information. The signals through various networks and the signals on the network link 1220 and through the communication interface 1218 carrying digital data back and forth in the computer system 1200 are illustrative forms of the load wave carrying the information.
The computer system 1200 sends messages and receives data including program codes through the network, the network connection 1220 and the communication interface 1218. In the example of the Internet, the server 1230 can transmit the request code for the application program through the Internet 1228, ISP 1226, local network 1222 and the communication interface 1218. According to the present invention, an application software thus downloaded implements the method and mechanism described here.
The received code can be executed by the processor 1204 when it is received, and/or stored in the storage device 1210 or other non-electrical storage for later execution. In this way, the computer system 1200 can obtain the application code in the form of a load wave.
The computing grid disclosed here can be conceptually compared with a public power grid sometimes called a power grid. The power grid provides many individuals with scalable facilities to obtain power services through a single large-scale power infrastructure. Similarly, the computing grid disclosed here provides computing services to many organizations that use a single large-scale computing infrastructure. Using power grids, power consumers do not independently manage their own personal power equipment. For example, utility consumers have no reason to operate generators in their facilities or shared facilities and manage their capacity and growth on a separate basis. Instead, the power grid facilitates the large-scale distribution of the population in large sectors and provides large economies of scale. Similarly, the computing grid disclosed here can use a single large-scale computing infrastructure to provide computing services to a large segment of the population.
The foregoing specification has been described with reference to its specific embodiments. However, it is clearly understood that various modifications and changes can be made without departing from the broader spirit and field of the present invention. Therefore, this description and illustrations will be regarded as illustrative rather than restrictive.
Symbol description of main components
100. . . machine
102. . . CPU
104. . . Disk
106. . . Internet
110. . . Web server farm
112. . . Load balancer
120. . . Server farm
200. . . Computing system
202. . . SAN switch
204. . . VLAN switch
206. . . Control plane
208. . . Area computing grid
302. . . Load Balancer (LB)Firewall
304. . . SAN area
306a. . . Storage device
306b. . . Storage device
400. . . Idle storage yard
402. . . CPU
404. . . path
406. . . path
408. . . path
502. . . Computing element
504. . . VLAN switch
506. . . SAN switch
508. . . Control plane machine
510. . . Control plane agent machine
512. . . CP firewall
514. . . CP LAN
516. . . Control plane, CP
802. . . path
902. . . Ethernet secondary network
904. . . Control plane, CP
1002. . . Control plane private storage area
1004. . . Disk
1006. . . Disk
1200. . . computer system
1202. . . Queliu Pai
1204. . . processor
1206. . . Main memory
1208. . . Read only memory, ROM
1210. . . Storage device
1212. . . monitor
1214. . . Input device
1216. . . Cursor controller
1218. . . Communication interface
1220. . . Internet connection
1222. . . Local area network
1224. . . Host computer
1226. . . Internet service provider, ISP
1228. . . Internet
1230. . . server
Contents3
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
59 members in 12 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 60150394 | United States of America | – | |
| 15039499 | United States of America | P | |
| 09502170 | United States of America | – | |
| 50217000 | United States of America | A |
Members59
| Document | Office | Kind | |
|---|---|---|---|
| CA2376333A1 | Canada | A1 | |
| WO0114987A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU6918200A | Australia | A | |
| WO0114987A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0198889A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0198906A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0198930A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU6839601A | Australia | A | |
| AU6981101A | Australia | A | |
| AU7361701A | Australia | A | |
| WO0203203A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU7130701A | Australia | A | |
| US2002052941A1 | United States of America | A1 | |
| EP1206738A2 | European Patent Office (EPO) | A2 | |
| KR20020038738A | Republic of Korea | A | |
| US2002103889A1 | United States of America | A1 | |
| IL147903D0 | Israel | D0 | |
| CN1373871A | China | A | |
| JP2003507817A | Japan | A | |
| WO0198930A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0198889A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0198906A3 | World Intellectual Property Organization (WIPO) | A3 | |
| TW526429B | Taiwan Province of China | B | |
| WO0203203A3 | World Intellectual Property Organization (WIPO) | A3 | |
| TW535064B | Taiwan Province of China | B | |
| EP1319282A2 | European Patent Office (EPO) | A2 | |
| EP1323037A2 | European Patent Office (EPO) | A2 | |
| US2003126265A1 | United States of America | A1 | |
| TW542990B | Taiwan Province of China | B | |
| US6597956B1 | United States of America | B1 | |
| US2003154279A1 | United States of America | A1 | |
| TW548554BThis record | Taiwan Province of China | B | |
| AU769928B2 | Australia | B2 | |
| JP2004508616A | Japan | A | |
| US6714980B1 | United States of America | B1 | |
| EP1206738B1 | European Patent Office (EPO) | B1 | |
| AT265707T | Austria | T | |
| ATE265707T1 | Austria | T1 | |
| DE60010277D1 | Germany | D1 | |
| US6779016B1 | United States of America | B1 | |
| DE60010277T2 | Germany | T2 | |
| TWI231442B | Taiwan Province of China | B | |
| US7093005B2 | United States of America | B2 | |
| US7103647B2 | United States of America | B2 | |
| KR100626462B1 | Republic of Korea | B1 | |
| US7146233B2 | United States of America | B2 | |
| IL147903A | Israel | A | |
| CN1321373C | China | C | |
| JP3948957B2 | Japan | B2 | |
| US7370013B1 | United States of America | B1 | |
| US7463648B1 | United States of America | B1 | |
| US7503045B1 | United States of America | B1 | |
| US7703102B1 | United States of America | B1 | |
| JP4712279B2 | Japan | B2 | |
| US8019870B1 | United States of America | B1 | |
| US8032634B1 | United States of America | B1 | |
| US8179809B1 | United States of America | B1 | |
| US8234650B1 | United States of America | B1 | |
| EP1323037B1 | European Patent Office (EPO) | B1 |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Annulment or lapse of patent due to non-payment of feesLapsedMM4A | MM4A | |
| Issue of patent certificate for granted invention patentGrantedGD4A | GD4A |
Numbers
- Publication
- 548554
- Application
- 89116980
Titles4
- Chinese
- 可擴充式電腦系統
- English
- EXTENSIBLE COMPUTING SYSTEM
- Unlabeled
- 可擴充式電腦系統
- Unlabeled
- Expandable computer system
Classification
- CPC, 16
- G06F9/5072
- G06F15/16
- G06F9/5077
- G06Q20/102
- H04L12/4679
- H04L49/205
- H04L49/351
- H04L49/354
- H04L49/357
- H04L67/1097
- H04L67/1029
- H04L67/1031
- H04L67/10
- H04L67/1001
- G06Q10/0287
- G06Q10/02
- IPC, 7
- G06F12 00
- G06F9 50
- G06Q10 02
- G06Q20 10
- H04L12 46
- H04L12 56
- H04L29 08