[go: up one dir, main page]

TWI220821B - Zero-loss web service system and method - Google Patents

Zero-loss web service system and method Download PDF

Info

Publication number
TWI220821B
TWI220821B TW090110053A TW90110053A TWI220821B TW I220821 B TWI220821 B TW I220821B TW 090110053 A TW090110053 A TW 090110053A TW 90110053 A TW90110053 A TW 90110053A TW I220821 B TWI220821 B TW I220821B
Authority
TW
Taiwan
Prior art keywords
server
request
dispatcher
service
servers
Prior art date
Application number
TW090110053A
Other languages
English (en)
Inventor
Ju-Shing Yang
Meng-Yan Luo
Original Assignee
Accton Technology Corp
Ju-Shing Yang
Meng-Yan Luo
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Accton Technology Corp, Ju-Shing Yang, Meng-Yan Luo filed Critical Accton Technology Corp
Priority to TW090110053A priority Critical patent/TWI220821B/zh
Priority to US10/126,932 priority patent/US20020169889A1/en
Application granted granted Critical
Publication of TWI220821B publication Critical patent/TWI220821B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

1220821
【發明所屬之技術領域】 本發明大致係有關於資訊網服務(w e b s e r v i c e )之一種系 統及方法,特別是有關於可容錯(f au 11 to 1 erant)之資訊 網服務之一種系統及方法。更特定而言,本發明係有關於 可承受伺服器(server)之失效及超載(failure and over load)狀況,以達成零漏失服務之一種可容錯資訊網 服務系統及方法。 【先前技術】 建構於網際網路(I n t e r n e t)之上的全球資訊網(W 〇 r 1 d Wide Web),對於多種各式各樣性質的商業服務而言,已 經變成為一種重要,在許多情況之下甚至是必要,的基 架構。因此’對於客戶以及服務提供者(s e r v i c e provider)兩者而言,資訊網伺服器的服務可靠度 (service rel iabi 1 i ty)便成為一項重要的關切因素。 且,當資訊網服務在本質上因為商業應用而變得更為夕而 化且更趨複雜時,如何提供一個具有高度可靠性、不二樣 失任何使用者的服務擷取要求(user request)之词胃漏 統’更成為一個極具挑戰性的重要課題 良系 典型的情況疋,一個網站(website)的可靠度,主要♦ 到兩種問題的影響:伺服器的失效以及超載問題。词胃X 失效的情形,是屬於可能因為各種類型硬體或軟體故J器 引起的一種可靠性方面的問題;而伺服器超載的情形4所 通常會導致回應使用者服務擷取要求的速度趨緩二則 \甚者
…一—.y 嫩个― 二j ---------- 五、發明說明(2) ~~ 將無法為使用者提供服務因而造成使用者的服務掏取要求 漏失的狀況。對於任何一個商業網站而言,快速的反應以 及同可#度乃疋必然的要求。在今日南度競爭的商羋環境 之中’服務的中斷所代表的直接思義乃是收入的損失以及 。 商譽的損傷。 要建構一個高效能且可靠的資訊網伺服系統,有多種可能 的作法是可行的。其中’多重式伺服器(serVer replication),或者,伺服器叢集(server clustering)’是目前被學術界與工業界普遍認為最可行 的系統架構,因為一個設計完善的伺服器叢集系統將具有 許多優點:首先是高效能,因為這樣的系統能集結多部電 腦的能力來同時應付數以千、萬計客戶的服務擷取要求; 其次是可擴充性(scalabi 1 i ty),因為這種鬆散耦合的系 統能夠輕易的藉由加入新的伺服器而提高系統整體負載能 力;最後則是高可及性(a v a i 1 a b i 1 i t y ),也就是即使系統 其中一兩個伺服器發生故障,由於系統中的其餘伺服器仍 能夠繼續提供服務,能使得對外服務不至於因而中斷。 在過去數年中已有多種伺服器叢集的作法被提出。其實例 包括有諸如(:.丫〇311丨1^«^等人於199 7年1月6至10日的1997 USENIX Annual Techni cal Conf er ence中戶斤提出的文章 M Using smart clients to build scalable services1丨, 其中所討論的客戶端作法;R. McGrath等人於1 9 95年11月 IEEE Computer中"NCSA’s world wide web server: design and performance"乙篇文章中所討論的DNS別名
第6頁 1220821 二 . >、 i i - ·J ; 卜:义 9a /、; ι .: .'.. .:· :·_ f Γ 一’ f __ . ________J_ 五、¥丽『(#丨 (DNS aliasing)作法;Dias等人於1 9 9 6年2月的 Proceedings of the C0MPC0N’ 96中所提出的文章"A scalable and highly available web server’丨,C. S. Yang等人於1 998年4月29至5月1日期間的Proceedings of the 1998 International Symposium on Internet Technology中所提之文章"Design and implementation of an environment for building scalable and highly available web server",以及 G· D· H· Hunt等人於 1998 年 4月的 Proceedings of the 7th International World Wide Web Conference期間所提出的文章 ’’Network dispatcher: a connect ion router for scalable I nternet serv i ces^,其中所討論的TCP連結繞送(TCP connection routing)作法;以及 D. Anderson等人於 1997 年的 Journal of Parallel and Distributed Computing, Vol 42, pp· 91 - 100 中的文章” Towards a scalable distributed WWW server on networked workstations" 中所討論的HTTP redirection作法等。上述此些各種不同 的作法,雖然的確可以實現上述叢集式伺服系統的高效 能、可擴充性、與高可及性等優點。不過,上述系統的可 靠度對於現今商業性的網站而言仍嫌不足,因為當系統中 的某一伺服器因故障或超載而失效時,雖然後續的使用者 擷取要求可由系統中的其他伺服器來分擔,但原先在故障 的伺服器上尚未完成的服務擷取要求將被漏失掉而無法被 繼續服務,本發明所提出的方法即為叢集化伺服系統加入
第7頁 1220821
五、發明說明(4) service),使得這 服務抗錯性能(fault resilience of 些未完成的服務擷取要求能被移轉至系統中的其他伺服器 上去並被繼續執行,進而能達到系統服務零漏失的境地, 並由此大幅的提高資訊網服務伺服系統之可靠度,能應付 各式商業性網站之需求。 目前為止,大部份資訊網伺服器叢集的研究工作,是集中 於如何於伺服器節點群組之中進行服務要求的分配。不 過’叢集於此類作法或產品之中的伺服器系統,只能利用 其重複配置性來提供較高的可及性,其中並未有處理服務 抗錯的問題。I ngham等人評估過建構高度可靠資訊網伺服 器的某些現有作法( 2000年1/2月IEEE Internet
Computing, Vol. 4中之"Constructing dependable Web services”文章)。Ingham等人指出了為交易作業提供完整 性(transact ional integrity)的重要,也就是當系統中 有某些伺服器失效時,在該些伺服器尚未被執行完成的服 務擷取需求必須設法被接續服務,不能因系統失效而中 斷。根據他們的調查結果,在現有的系統之中,沒有一個 系統能提供如此的抗錯能力而能滿足交易完整性之需求。 Y. Μ· Wang等人利用一種以applet為基礎的方式,試圖在 客戶端處理服務可及性的問題(1 9 9 7年4月Proceedings of the Sixth International World Wide Web Conference 中之文章 ’'HAWA: a client-side approach to high-availability web access”)。不過,這個作法無法 針對伺服器端的容錯問題進行處理,此外以交易為基礎的 1220821 93< 五、發明謂Ιϋ) 服務亦未有著墨。Singhai等人(199 8年6月Proceedings of the 28th Annual International Symposium on Faul t - Tolerant Compu t i ng中之文章丨丨 Sy s t em support for scalable and fau 11-1o1erant Internet services”)與 Chawathe等人( 1 998年 9月 Proceedings of Middleware ’98中之文章”System support for scalable and fault-tolerant Internet services’1),提出 了可供 建構具有高可及性之網際網路服務的架構。此類系統的確 可以提供較高的系統可及性,但該些系統無法提供服務抗 錯月b力’因而未具有高可靠度。此些作法或系統,在發生 伺服器失效的情況時,皆未揭示如何能針對將未完成的服 務擷取要求轉移至其他伺服器,以及當發生要求轉移時, 如何仍可以提供平順的服務等問題進行處理。 見有的叢集式伺服器糸統的另一個問題則是缺乏對於突然 急劇激增的負載爆發情況之適應性。除了快速增加的資訊 ,,用客1人口之外,全球資訊網的另—個顯著的特性則 =^流量的高度變異性,一個平時是中等流量的網站可 :m某些特殊的事件’瞬間流入大量的使用者而觸 發情況’且這類的負载爆發並可能會持續 版t二ίϊ天的時間。例如’某些流行軟體或商品新 事ίΠίΖϊί有某網站被宣佈為「本月最佳網站」等 某些節點,由於接收刭i袁妒扔1^服盗叢尔之中的 而超載,導致系負力的服務擷取要求 載導致系統反應速度趨緩進而停止運作。對於提供 1220821
發明說明、G) 子商私服務的該些網站而言,這些 、^ ^ ^ 了此僅疋要求瀏覽一般的網頁,. 可能合厭、a 4 戍而廷些過夏負 ㈢壓過其他更為重要的服務(例如, 對較高跄慈办^ 商品貝買服務 了罕又门收費客戶的某些服務)擷取要 對這此重亜从公z, 使仔該網站無 對於此_鉍壬= J柯乃疋特別惱人。 、 較重要服務的擷取要求,甚至在彳g Μ 35 # β f i #的蛑π a # 服态處於極重 類服務iiV乃應該是具有可及性的。或者是說,此 受較高的i先其他較為微不足道的服務要求,應能享 擷 荷 或 法 對 負 :發明内容 因此,本發 服務系統及 網服務擷取 夠存活持續 本發明之另 及方法,其 取要求,在 續提供服務 本發明之又 及方法,其 本發明之又 統及方法, 務0 明之主要目的即在於提供一種 方法,其可以容許遠端客戶正 要求’在伺服器發生失效的情 提供服務。 一目的係在於提供一種零漏失 可以容許遠端客戶正進行當中 伺服器發生超載的情況之下, 〇 一目的係在於提供一種零漏失 可以適應於負載爆增的情況。 另一目的係在於提供一種零漏 其在要求轉移發生的期間仍可 零漏失的資訊網 進行當中的資訊 況之下,亦仍能 資訊網服務系統 的資訊網服務擷 亦仍能夠存活持 資訊網服務系統 失資訊網服務系 以提供平順的服 §
第10頁 1220821 Γ;;—…:二二丨 -9a 4. -5 • a n .一」 Π 7i---K-r____ I、發明説明-飞7乂 " ------ 為了達成上述及其他目的,本發明整合了内容知悉路由 (crlent'aware r〇Uting),TCP連結(TCP connection)的 預先J立及再運用,兩Tcp連結之間封包的無間隙轉送, =及ΐ錯回復機制,因而得以利用包含有一路由機制的一 分派器,在伺服器發生服務失效的情況時,將客戶之 f求轉移到另一伺服器上’因而可以在一個提供客戶網路 擷取服務的零漏失通訊系統之中,有效地提供抗錯性。 【實施方式】 為了提供零漏失的資訊網服務,本發明揭示一種架構機 制,其可以在伺服器發生失效或超載的情況之下,將正進 2中的任一資訊網服務擷取要求,平順地轉移到另一工作 節點上,並且予以回復,繼續進行處理。其目 供完全無漏失的零漏失資訊網服務。換句話說,依據本發 明較佳實施例所建構之系統,甚至在伺服 载的情況之下,亦可以確保任何使用資訊網的客戶所= 的服務要求,皆不至發生漏失的情形。 在本發明叢集伺服器之一較佳實施例之中,需要有一種要 求路由機制(reqUest —r〇uting me chan i s m )來將進入至飼 服器,服務擷取要求加以分派,以達最佳的反應特性。為 了要此夠有效地支援零漏失的資訊網服務,此種要求路由 機制必須要具有至少兩種能力,即,對於送入要求的判別 U i scrim i nation )與轉移(raigration)的能力。系統管理 者亦可以特意將某些類別的服務之優先權加以調整,以給 1220821 雨. j α: 5 ί / 彳 ‘; L -,, .......;, , 二夂二·晰w 五、發明說明(8) 予確保容錯的支援,或給予較高程度的服務性能。 圖1以示意方式顯示採用了本發明零漏失資訊網^務系統 1 0 0的一個全球資訊網擷取服務。在此系統之中,一名使 用者(客戶)110’可以擷取一個特定的網站15〇,以要求 其所需求的服務。網站1 5 0擁有由多個伺服j 4 i, 142’ . ·.與149所組成的一個飼服器叢集u〇。叢集14〇係 經由一分派器130而連結至一網路12〇上(此網路之一種實 例係為網際網路)。 、 在此應注意到,圖1的示意圖中所顯示的分派器13〇係包含 有一個分派裝置131與一個網路交換裝置(netw〇rk switch device) 132。如同習於本技藝者所可以理解的分派器 130亦可以是一部單獨且限定用途的微電腦,或是以微控 制器(111丨(:]:〇(:〇111;]:〇116]^)為基礎的一種分派裝置 (dispatcher device),此類裝置可以不需要有諸如圖中 所顯示的網路交換裝置i 32的配合,便可以獨立運作。不 過,在圖1之示意圖中,分派裝置131可以是以一部pc為基 礎的特用分派電腦’其主要作用即為本說明中所將描述之 分派作業。 分派為1 3 0係負責將客戶j i 〇所發出的擷取要求,分派給予 叢集1 4 0之中的某一部最適恰的伺服器(所謂「適恰」將在 後面有所說明)。如同後面所將說明的,對於每一名客戶 2 t 2的每一個服務要求"分派器會將送進來的要求指派 給適^的一部伺服器進行處理;不過,由圖中叢集14〇中 的被才曰派伺服器所提供的,將被送出的回應資㉝,則可以
第12頁 1220821 暴
不經過分派器1 3 0的處理。分派器i 3 〇可以經由網路i 2 〇 而將該些回應資訊轉遞回送給發出要求的客戶ιι〇。為, 此,分派器1 3 0便必須執行一種路由機構,如圖中以參 標號1 3 5而以示意方式所顯示者。 乂
為了在伺服器發生失效或超載的情況之下達到零漏次 訊網服務,由分派器130所建構的此路由機構135,其貝 站的叢集140所提供的服務,必須要具有兩種重要的能·、'、、、, 力·狀態記錄與回復。亦即,使用者所發出要求的某些 間階段狀態,必須要由記錄機制加以記錄下來。當伺服叫 失效的情況發生時,回復機制即得以由分配器中取出該= 失效(或超載)的節點上正在進行處理中的要求之狀態,^ 由其他的伺服器繼續進行處理。這會需要為新被指派的工 作節點提供一組有效的中間狀態才得以順利進行。 但疋,假使达進來的所有要求,都必須加以記錄的話, 個工作便會變得過度龐大而不切實際。在今日的網站之 中,达進來的服務擷取要求之類型,可以大致被區分為 態的網頁、由諸如CGI語言程式(c〇mm〇n Gateway
Interface scripts)所產生的動態網頁内容、或與交易 (transaction)有關者等三種類型的服務。事實上,依據 本發明,若要達成中斷要求的回復,並不需要將所有的要 求全部記錄下來。如此,資訊網伺服器叢集1 4〇的路由機 構1 3 5 ’即必須要具有知悉要求内容的能力,以便可以將 該些對於進行回復的動作有著關鍵條件的要求加以區分出 來。至於如何可以將一個中斷失效的資訊網服務要求加以
第13頁 1220821
五 '發明說辑(ϊό)
,復’並繼而可以使其在另—個節點上繼續進行處理 = 複雜的問冑’特別是,這樣的-種回復機構,對 於使用者而言,必須是透明的(transparent),換今之,
使用者完全不會察覺中間多了這樣的一個機構。此°外, 個將擷取要求轉移的過程必須要盡可能地平順。本發明正 是提出一個有效率的方法來達到這些要求。 X 要求之判別 適合於本發明之系統的一個基本的要求路由機構之實施 例,可以以分派器為基礎而架構起來。在圖1之令,執行 路由機制的分派器節點,例如,節點丨3 i,這個分派器將 會預先建立一個數量的持續性tcp連結(persistent Tcp connection)至後端的伺服器節點,然後在分析過客戶端 送來的的服務擷取要求後,將該服務需求藉由預先建立的 TCP連結分派至此被指派的伺服器節點上去。注意到在下 面的說明段落之中,為了方便進行說明的緣故,^係採網際 網路作為實例,但.如同習於本技藝者所可以理解的,任何 網路120,包含公司的内部網路(C0rp0rate 個人網路(personal networks),以及家庭網路(h〇me networks)等類似者,皆是可以適用的。當一名客戶嚐試 要擷取某一特定服務或網頁内容時,首先客戶端的劉遭器 必須要產生出一個 TCP (Transmission Control Protocol)連結,於是客戶端會送出一個TCP連結建立要 求,具體來說,會送出一個帶有TCP SYN的封包 (packet)。當分派器察覺到這樣一個TCP連結要求後,分 122082!;
Jal 五、發明說明(11)
派器會回應此一連結建立要求直至與其建立起一個Tcp連 結。當客戶端與分派器建立起TCP連結後,客戶端才會送 出其真正的服務擷取要求,也就是送出承載了 HTTP (Hyper Text Transfer Protocol)要求的封包,該 HTTP要 求之中會包含有要求的方法(method)、URL (Universal Resource Locator,指明其所要求的特定内容)以及其他 的ΗTTP客戶才示頭(header)貢訊(例如’主機,cookies, 等)。 此時’分派器會檢查HTTP標頭的内容,以便決定該要求的 類型以及如何繞送該要求。當分派器選擇了最適合處理此 要求的一部伺服器時,便接著會由目標伺服器的可用TCP 連結清單之中,選定一條怠轉中的預先建立連結。分派器 接著便將有關於被選定連結的相關資訊(例如,TCP的狀 態),以稱為「對映表」的一種内部資料構造加以儲存, 並將使用者的連結與預先建立的連結互相結合(b i nd i ng ) 起來。在TCP連結的結合被確定之後,分派器便改變每一 個封包的I P ( I η ΐ e r n e t P r 〇 t 〇 c ο 1)及T C P標頭以將該封包 轉送到被指派的伺服器上去,隨後分派器會藉由對應表中 的内容以同樣的方式處理並繞送後續的封包,以在使用者 的連結與預先建立的連結之間,毫無間隙地轉遞此些封 包’以使伺服斋能夠以完全透明的方式,接收並辨識此些 封包。 在此基本路由機構1 3 5的基礎之上,一個可載入模組1 3 6被 插入於各後端伺服器的核心程式(k e r n e 1 )之中。此可載入
第15頁 1220821 , τΓΊ i …^ ΐ 4,/5 ";:,j_ I、LwM明1Τ2) 模組1 3 6係被插入於網路界面驅動程式與TCP/ I P堆疊之 間。此可載入模組1 3 6的作用有兩方面。首先,分派器1 3 0 可將結合的資訊送給可載入模組1 3 6,而可載入模組1 3 6則 接著改變將被送出的封包,以使該些封包能夠直接地前進 至客戶端110,而不需要通過分派器130。其結果,由於從 被選定伺服器送至客戶端11 0的資料量通常乃是顯著地大 於由客戶送至該被選定伺服器者,分派器1 3 0的處理負擔 便可以大為降低。此種設計的第二個目的是在於避免單點 失效的問題(the single-point-failure problem),其細 節將於後面的說明段落之中予以詳述。 以前述的要求路由機構為基礎,分派器1 3 0需要擁有某種 程度的智慧來判別送入的要求,以便做出繞送路線的決 定。為解決此種問題,可以建構一種内部資料的構造,即 URL表,以便維護與内容相關的資訊。這包含了内容的諸 如大小,類型,優先次序,指派之處理節點等的資訊。當 把一個送進來的要求指派給予後端伺服器其中之一時,分 派器1 3 0會對URL表的内容進行查詢。在一較佳實施例之 中,URL表應能夠建立儲存於網站中的内容的階層式架構 (hierarchical structure)的模型。而此種作法的基礎, 乃是根據網頁内容通常是應用一種依據檔案目錄為基礎的 階層式架構所組織起來的事實。據此可以推論,在同一目 錄之中的檔案,通常會擁有相同的性質。例如,在 /CGI-bin/目錄之下的檔案,通常應是為用以產生動態内 容的CGI語言程式。
第16頁 1220821 93, 4. -5 ; :~—— - - — —--------- 五、發明說明(13) 因此,依據本發明之一較佳實施例,URL表即可做成一種 多層次的雜湊樹(hash tree)構造,其中的每一個層次各 舍對應於内容樹狀構造中的一個層次,且每一節點亦各皆 代表一個檔案或目錄。基本上,一網站之内容中的每一個-項目(檔案或目錄),在URL表中皆各應有一個對應的記 錄。不過’為了縮短搜尋的時間及範圍,本發明中之Url 表可以支援一種「通用」(” wi 1 deard")的機制,以供指明 同樣皆指向相同性質的一整組的項目。例如,若在次目錄 /htm 1 /”之下的所有項目皆被存放於相同的節點之中,反 亦具有相同的内容類型,則便會只有"/html"乙項會存在 於URL表之中。若分派器打算要搜尋URL表來取得有關於〆 個URL項’’ /html /mi sc· html"的資訊,則分派器便可以利用 只在一層之内搜尋’而由表中的節點"/匕t m 1厂之中取得該 資成。URL表通常是以一管理系統,利用剖析内容階層式 結構而自動產生,維護及管理的。若有需要,網路系統的 管理者亦可以組構URL表的内容。 要求之轉移 在路由機構1 3 5配備了要求判別的能力之後,其在本發明 一較佳實施例之中,在一要求處理的過程之中,當發生伺 服器失效的情況時,便可以進行將該要求加以轉移的處 理。依據本發明一較佳實施例之系統及方法,在伺服器處 理要求的過程中,當發生了失效或超載的情形時,便可以 進行該些要求的平順轉移以及回復處理。此外,為了達成 要求的轉移及回復,本發明之系統需要有能夠快速地辨識
第17頁 五、發明說明(14) 伺服器超載或失效情形 _ 通常,一般的資訊網‘ 1 ^發生的一種狀態偵測的機構。 態内容之要求,動態内二了以为類為三種類型的要求:靜 之要求。每一種的要求^之要求,以及互動過程相關服務 之方法。分派器可以利員型’皆各有其對應的轉移及回復 要求的類型,並在發生7 ’例如,查詢URL表而辨識每一 對應的作法,來轉移及司,器失效或超載的情況下,利用 靜態内容之要求 回復每一種類型的要求。 在所有的資訊網要求< ^ 諸如HTML標案、圖像、中’有相當大的比例,是屬於索求 cl ips)等的靜態内容。以及音頻/視頻短片(audio/video 類靜態内容的要求鮭#本發明之機構可被利用來將針對此 上。為達此目$ ,首春到伺服器叢集1 4 0中的另-節點 (例如,依據某種負载平銜分:上厂〇選擇一部新的伺服器 琴有所連社0^ ^千衡的機制),並再選擇與目標伺服 為有所連!口的’-條怠轉中的預先建 派器將客戶端的連結,重行盥新、g 運、、、口接者刀 、、“。在新連釔的結合被決定之後"分派器13〇即向新伺 服器端,對選定伺服器節點的連結,發出一個範圍的要求 (range request)。範圍要求在HTTP L1版的通訊協定 (protocol)之中有其定義,其可以容許一個客戶對一個資 源的某些部份提出要求。應用此種性質,由於失效而致使 權案下載中斷的一個要求,便可以由在一個節點上,繼續 下載其剛被中斷的檔案。 依據記錄於對映表内的tcp相關資訊(即,ACK數,序列號
第18頁
1220821 93. ! 卜 _ -_UJ__ί'·._; J 2 r -.,1- 五、备羽ϋΤΒ) (sequence number)),分派器130可以推論得出客戶no應 已成功地收到多少位元組的資料。其結果,分派器1 3 〇接 著便可以利用將Range標頭包含於其中,而做出一個範圍 要求,其中指明了所需要之位元組的範圍(通常由來自客 戶的最後通知的ACK數啟始)。 於兩個TCP連結之間’將預先建立連結的再應用,以及封 包的無間隙轉遞’兩種技術整合在一起之後,一個失效的 要求’便可以在系統中的另一個節點上,平順地獲得回 復。應予庄思的疋,對於一個範圍要求的回應,相較於一 個一般回應的標頭,其會具有一個獨特的HTTP標頭(例
ϋΛ中Λ有20 6狀‘態碼)。此種差異亦需要由祠服器叢集 140中後端伺服器的可載入程式模組136加 動態内容之要求 ^ ^ 有某些資訊網要求,是針對叙 在需求之下,*部份是依據:;、=發出的’其回應係 又琢客戶所提供的參數 (arguments),而被產生的f 等)。動態内容的一個失G例二,言程式, 地將具有同樣#數的要求轉的//另’二無法利用#只簡單 予以轉移及回復的。在某飼服f!.點’而能夠 同參數的一個動態要求予以^ # 只間早地將具有相
其中主要的問題是,某些以的::產生—些問題的。 性」("idemP〇tent")的。並非是具有「同冪 有相同參數的先後兩個連續=:=態内容的,具 不-定會完全-樣。其最;所獲得的結果,並 吊見的實例疋,根據資料庫所建
4, 4, 12208¾ 貝 廿- ττό: >1? Ι'ΐρ月输, 立的動態網頁。對同一網頁所發出的兩個連續的一樣的要 求,由於資料庫經過更新的緣故,便可能會獲得不同的結 果。這表示,要利用與前述針對靜態内容要求的處理相同 的範圍要求之作法,而將兩個動態要求的結果「縫合」在 一起,是不可能作到的。若想嚐試在另一節點上回復任何 的動態要求,則客戶便必須要丟棄其已經收到的回應結 果,並重新再次發出相同的f求。不過,此種作法,對使 用者而言,將不會是透明的|理,並且亦無法與目前一般 所使用的瀏澧器相容 夠將一個動態要求的回應加 在分派器1 3 0收到完整的結 應轉遞給予客戶1 1 0。因此 若伺服器節點在處理一個動_要求的中間發生中斷的情 因此,本發明即採用下面所#說明的方法來解決此種問 題。分派器1 3 0此時必須要能 以「儲存再前送」。換言之 果之前,分派器1 3 0不會將回 形,分派器1 3 0便會放棄其連 結,並將相同的要求再次發 送給另一個節點。只有當分派器1 3 0收到了完整的結果之 進行的轉遞處理 後,才會開始其對客戶1 1 0所 如此雖然解決了 「同冪性」的問題,但這樣的作法仍有兩 種可能的缺點。首先,分派器1 3 0可能會受到單點失效問 題的影響。在後面所將說明的本發明之系統及方法的另一 實施例之中,此問題將獲得處理解決。其次,即使只是暫 時性地將伺服器的回應儲存在分派器1 3 0之中,就可能會 使分派器1 3 0的性能大為衰減 的輸出量(throughput)有負 而這會對整個伺服器系統 面的影響。不過,根據統計,
第20頁 1220821 r't . ! 五、發明說明(f?) 由於動態網頁的大小通常並不大,因此其對性能的衝擊並 不致於太嚴重。 為了要能夠完全地消除性能衰減方面的顧慮,本發明之設 計是使分派器可以具有逆向代理快取(reverse proxy)的 功能。亦即,分派器130會將動態網頁快取暫存(cache)起 來,以使後續對於相同動態網頁的要求,能直接由快取記 憶之中取得内容,而非再次重覆啟動一個程式來產生相同 的網頁。 在一次實驗之中,此種演算法(a 1 g 〇 r i t h m)已有經過實際 施行,以管理快取暫存之動態網頁。測試的結果顯示,採 用了本發明之系統不但可以執行失效的回復,且系統的整 體性能,亦因此種作法而獲得顯著增進的效益。這是因為 對於動態内容的要求,時常會使資訊網伺服器的運作遲缓 下來的緣故。利用本發明此種設計,具有同冪性的該些動 態要求,便可以由快取記憶之中直接地提供服務,減低了 後端網路伺服器的負擔。 互動過程相關服務之要求 在任何一次資訊網擷取過程之中,可能會牵涉到數次的使 用者互動動作。其中,使用者並不只是單純地瀏濩數個互 不相關的靜態或動態產生的網頁,而是在諸如CG I語言程 式,與某些共享的狀態相關的一個伺服器端程式的控制之 下,被引導經過的一個過程。比如,這樣的一個狀態可能 會包含有一個電子「購物推車」所裝載的内容(該内容為 在某個購物網站中的一個採購清單),或是來自一次搜尋
第21頁
結果 q互動過程 架構為基礎,其 服器,以及後段 P會提供使用者 出要求,以進行 則執行應用程式 要求,將該些要 存結果的狀態’ 同一般所習知者 若/部資訊網祠 效的情形,終端 求是否已成功地 關的訊息的。使 期限(timeoutv 由於其狀悲已被 回應。其他有些 g完成此過程’ 々風險’使得使 $,旅會由於服 ?r # 度0 ^在另一個節點 心是更多的複雜 >,内部狀悲’ 並將結果回送給客戶。資料庫伺服器, ,係在後端管理資料以及交易上的動作。 服器在一次交易過輕進行的中間發生了失 者,通常是無法獲得任何有關於甘热 列出清單。 相關的服務,通常是以所謂的「三層次 係由前端客戶(例如、/劉’見器),中間網路^ 資料庫伺服器所構成的。基本上,前 介面,以供使用I用來對資訊網伺服哭 服務的擷取。資訊網伺服器,另一方;: 與/或進行商業邏輯。其可以處理客戶的 求付委(commi t)給予資料庫伺服器, 送給客戶 > 料庫飼服器,: 瞢理資料以及交易i沾a 1 ° 服器在一次交易過释%仃的中間發生了失 使用者,通常是無法獲得任何有關於其要 進行付委等,期間所發生的任何故障^相 用者可能只是在客戶端一直等到時間過了 3有些使用者可能會重新送出其要求,但 遺失的緣故,此呰要求將不會獲得任何的 使用者則可能重新送出所有的要求,以試 而這可能會造成完成了超過一次以上交易 用者被多次收費。這種情況會惹惱使用 務中斷的緣故,而嚴重地損傷該個網站的 上回復一次互動相關之過程,其所牵涉到 性。這會需要知道諸如整個程序何時開 中間參數,過程何時結束,等等相關於應
第22頁 上“⑽21 ϊ、發明説明(19) 用程式的一些細節。為 要有一種機制來重=保過程本身的容錯能力,亦需 首先,需享受h ί 間的各種處理狀態。 序,需要先由網站总^间性能服務的該些互動相關程 「使用者將第一種肅σ加以疋義。例如,管理者可以將 車中」的動作,定羞=、目加入至一特定網頁中的購物推 者也可以,「使;ίί:個過程啟始的信號。此外,管理 程的結束訊息。營郑去叮—」勁作疋義為该=人過 者可以很谷易地經由一倘營拽条姑沾 GUI來進行此類的組構定義動作。 自個…統的 ?類組構的資訊可以儲存在組表之中。如同前述,分派 态1 3 0應查询U R L表,以脾 ynq w λ ^ , 衣以將一個达入的要求指派給予伺服器 ,术中 部資訊網伺服器。當分派器1 30發現(依其 「判定」)一個要求中内含了一個「啟始」的動作時,便 會為此客戶作一標記,之後即將來自此一客戶的所有後續 要求’皆指引至雙伺服器(twin server)中之一,直至在 後續的要求之中找到含有「結束」動作的要求時為止。 前述之雙伺服器是為伺服器的一種邏輯組合,其中包含了 一部主伺服器(primary server )與一部備援伺服器 (backup server)。主伺服器是為專用於提供交易服務的 一部正規的資訊網伺服器。備援伺服器,另一方面,則負 責為主伺服器提供備援。如同習於本技藝者所可以瞭解、 的,配對構成雙伺服器組的主與備援伺服器,可以由/ 依各種條件而由伺服器叢集之中選定。 糸統 備援伺服器中會維持兩個I P位址。其一為其本 身之位址,
1220紐 |!·^ x 一·作 \ y-i i :明―技〇 ) 而另一則為主伺服器的位址。主伺服器! ?位址的別 供於網路界面之上,以使本地通訊協定堆疊得以接我=提 該個位址的,對應的送入封包。不過,備援伺服器=^向 由 ARP (Address ReSolution Pr〇t〇c〇1,位址解析=經 而輸出該別名位址,因為如此便會造成丨p位址衝突二) T。此外,一個備援用的節點,亦可以為多部的主:Z =,同時提供備援的服務。圖2之時序圖中係以示专α =降顯示由此種雙伺服器所執行的通訊協定,動^ 即情形。 邱1下的細 =2之時序圖所顯示的,當一個使用者,如圖外 ’發出了被路由機構(圖i中之136)歸類為互動 ^ -個要求,即客戶要求211時,分派器13 ^相 導丨至雙伺服器組之中的主伺服器22〇, 夺此要求 Ϊ伺服器240由於採用了主伺服器位址別名的緣:二 了以接收到發送至主伺服器的所有封包,且因此 ^中的一個HTTP常駐伺服程式(Ηττρ - γ器 :上,也將會…丨此客戶要求211 二中未顯 =戶要求212’並利用「寂靜地」⑽求/作為其備 求2 1 3加以記錄下來,而盥± a 乂 δ己錄要 ❿ 服器240如此即可以維;器2 2 0達成同,。備援祠 狀態」資訊。不過,二與主主:22 0相同的、 伺服器240中的HTTP伺服常為220失效了,否則備援 或結果發送…這可:確駐上式’並不會將任何的封包 結果。 保客戶2 1 0只會收到單一份的
1220^21 五、發明說明(21) 在備援祠服器2 4 0已成功地將要求記錄下來,如圖中之記 錄要求2 1 3所示’便會為此一客戶要求2 1 1而對主彳司服器 2 2 0送出一個「開始進行」信息2 1 4。主伺服器2 2 〇除非接 收到此一開始進行2 1 4,否則便不會將此客戶要求2 1 1付委 給予資料庫伺服器2 5 0。若主伺服器22 0等待此「開始進 行」信息2 1 4過了相當長的時間,便會主動對備援伺服器 2 4 0發送一個信息,以記錄此一要求,並接著再度等待開 始進行214。若主伺服器220仍然無法獲得此一「開始進 行」的信息214,便會懷疑備援伺服器24〇已失效,之後便 會產生出一部新的備援伺服器。 虽主伺服器接2 2 0的確收到開始進行的信息2 1 4之後,客戶 要求211便會觸發而開始與資料庫伺服器25〇一起進行一種 傳統,通訊協定,二時相付委21 5,如此可以確保同一要 求在父易的意義上維持一致。當資料庫伺服器2 5 〇發出資 料,伺服器回應2 1 6以為回應時,主伺服器2 2 〇會對備援伺 服器^4 0發送一個信息’記錄結果2丨7,以在將此要求付委 =予貝料伺服器2 5 0之前,將其即將出現的結果記錄下 Λ 。在接收到來自於備援伺服器24〇的結果記錄Ack信息 $ 1 8之後,主伺服器2 2 〇便會利用發出一信息,付委要求 =,而正式地將客戶的此一要求付委給予資料庫伺服器 ^50° :貝料庫祠服器2 5 0回應於付委要求2丨9而完成此次交易之 便會以一個資料庫伺服器Ack信息221回應主伺服器 。在此同時’由於位址別名的緣故,備援伺服器24〇亦
第25頁 I22〇§2 ^ , 4. —…—月 gj· 五、發明說明(22)
可以接收到此資料庫伺服器Ack信息221。接著,備援飼服 器240亦會送出一個備援伺服器Ack信息2 1 8,告知主伺服 器2 2 0 ’其已將此交易的結果記錄下來了。在接收到兩個 A c kls息2 2 1與2 1 8 (分別來自於資料庫伺服器2 5 〇與備援飼 服器240 )之後,主伺服器220便會將結果網頁2 23送出給客 戶2 1 0。當主伺服器2 2 0與備援伺服器2 4 0,兩者皆由客戶 端210接收到一個客戶Ack信息224時,兩者便會獲得通訊 協定已完成的結論,此時若整個過程已屬完成,則主伺服 器2 2 0便可以發出放棄記錄資料2 2 5指令給備援伺服器 240’令其放棄兄錄下來的資料。當主飼服器22 〇失效或超 載時,備援伺服器2 4 0即可以利用啟動別名位址,而接手 主伺服器220的整個工作,接著,HTTP伺服常駐程式,便 可以拿重製的狀態來開始發送資料,取代了主伺服器2 2 〇 的動作。
值得注意的是,分派器1 3 0並不需要知道主伺服器2 2 0是否 已經失效。分派器1 3 0會一直將封包轉遞給「代表性」的 位址(即,別名I P位址)。只要備援伺服器能夠接手主伺服 器的工作並啟動別名位址,甚至在主伺服器失效時,網頁 代管服務(w e b h 〇 s t i n g s e r v i c e )亦是可以維持不中斷。 本發明這樣的設計可以將分派器上的負擔釋放掉,並增進 整體系統性能。 在本發明一實施例之中,Apache經過修改而可以施行前述 的通訊協定。Apache的祠服器功能,由於其開放性,可靠 性,效率以及流行性的緣故,而被選擇來延展擴充其功
第26頁 1220821 τ! ν' ,二.人 v:i ::V _ * -i·' -/ -- '.....' \ > 9a 4· _5 _ _13__------- ; . ' i.,.. 1· J^·· ; ~~ 圓 ^^ [i、發明(韶¥ 能,以實際施行前述通訊協定。Apache係遵循一程序〜要 求的模式來處理送入的要求的。Apache會預先建立一級_ 序,且每一程序各皆呼叫accept ()系統呼叫來接受新的^ 結。通常,Apache是依循一系列的步驟來處理每一個要東 的:(1 )接受一要求,(2 )剖析其參數以供後續利用,(^ 譯出URL,(4)檢查擷取授權,(5)決定被要求檔案的MIMe 類裂,(6 )處理要求’ (7 )將回應送回給客戶,以及(& )將 要求記錄下來。在實際實施本發明時,在步驟(6 )之中备 插入一個決策邏輯。若其處理是屬於主伺服器的部份,敌 便會送出一個記錄的信息到備援伺服器,並且等待其反^ 應。在收到備援伺服器的回答之前,程式不會將要求付 給予資料庫伺服器。記錄的信息係由來源I p位址與客户委 埠號,以及程序I D所構成的。若程序是屬於備援伺服器= 部份’其並不會真的處理要求,而是會等待來自於主词、 器的記錄信息。這表示備援伺服器將會維持一組與主词服 器相同的處理狀態,但跳過步驟(7)。 、 "服 如同前面所提及的,圖1中的分派器13〇所代表的,可,a 其所可能遭遇到的,一種稱為「單點失效」的問題。== 話說,分派器的失效,會使整個伺服器系統失效垮掉。、二 外,如圖1中所顯示的,分派器130由於其集中式設計以 其以軟體為基礎的作法,亦可能成為系統效能或是擴充性 的潛在阻力。雖然如此,以本發明前述實施例為基礎而實 作,並進行性能評估的結果,其所顯示的是,其在一個中 專大小伺服器農場内的擴充性’仍是相當良好。
第27頁 1220821—— —~:—^—-g' '-—~ --— __- _ 五、明(24) 為了進一步增進圖1中系統的擴充性及容錯性能,諸如圖3 所顯示的,具有分派裝置3 3 0的,本發明一種修改過的系 統,其可以應用於本發明的資訊網伺服器系統中而作為本 發明之另一種實施例者,具有整體上互相合作以分派送入 的要求的數個分派器3 3 1,3 3 2,···,3 3 9。再應注意到的 是,分派器3 3 1,3 3 2,.··,3 3 9之中,其每一個亦皆各可 以為單一而特定用途的微電腦,或以微控制器為基礎的分 派裝置,其並不需要諸如圖中以3 6 0所顯示的網路交換裝 置的配合,便可以發揮其功能。不過,在圖3所顯示之系 統之中,每一個的分派器3 3 1,3 3 2,.·.,3 3 9,各皆可以 是為以PC為基礎的,連接到網路370上的特定用途分派電 腦。在這樣的構造之中,類如DNS的作法,可以被用來將 不同客戶對映到不同的分派器上。在圖3被邏輯性地組構 於一環中的分派裔卽點3 3 1 ’ 3 3 2,···’ 3 3 9之組合上加以 實施,並提供容錯能力的常駐程式之集合,亦已經在一次 實驗性評估的組構之中施行過。該些常駐程式係以Sw i FT 工具箱(SwiFT Toolkit)為基礎而建構的。其每一個分派 器節點各皆執行可以監視其邏輯鄰居狀態,並提供備援的 一個常駐程式。 在該次實驗性評估進行的期間,在正常運作的情況之下, 所有的分派器皆有參加負載的分擔。期間並無分派器被指 派到怠轉的熱備機狀態之中以等待主分派器的失效。分派 器的動作是以兩種重要的狀態為基礎的:URL表與連結之 結合資訊。URL表是屬於可在伺服器失效之後,被再度產
第28頁 122_^於诒 :更苗I·产f 頁 生出來的狀態資訊。相較之下,連結之結合資訊,則是為 應由備援節點加以重製的,否則無法在主伺服器失效時: 其他備援伺服器重新產生的狀態資訊。因此,1分派^被 程式規劃,以便維持連結之結合資訊的最新變動:^個記 錄。而,有關於狀態變動的記錄資訊,會被週期性的重製 到其備援節點之中,以便更新其經重製過的記錄表。若主 祠服器真的失效了 ,備援伺服器便可以利用製 接替主伺服器的工,。不過,若進行接手,由 表尚未被更新,或是由於週期性更新信息遺失了的故, ::::無Ϊ f得:設立連結的某些狀態資m。後端;司服器 中的核心模組,由於此些模組中亦維持有連結之姅人 的緣t,是可以照料到這類情況的。# 一個伺服“點: 在相當長的一段時間Μ ’並未接收到來自力分派器的封 包,則便會廣播一個信息,以查詢備援 形,並接著再將其結合資訊記錄在其中。㈣存在隋 圖^流程圖顯示在伺服器發生失效的情 要求處理方法之處理流程…上本發 後,i更以+娥二方法之流程在步驟40 0開始處理要求之 況。若盔U二偵測系統是否有發生伺服器失效的情 步驟H纟;?ΛΓ/情況發生,則整㈣統便可在結束 理要求的過程發生彳f正常運作來處理要求。若真有在處 方法即可運作^確^15失效的狀況’則本發明之系統及 及前述說明文字所^ v漏失的資訊網服務。如流程圖,以 私述的,本發明係在判別步驟4 2 〇,4 3 0
與 4 4 〇 tb ^ 對應的,運行判斷,以針對所有三種類型的要求,分別在 理Γ $歩驟422,432及442中進行要求轉移及回復的處 器中、成轉移及回復處理後的要求’即可在換新後的伺服 ’於步驟45 0中繼續進行其正常的處理。 151 此,v 、丄、 · 務戶、上述的說明性質的文字係集中於達成容錯資訊網服 ^斤必要的,要求移轉機制的設計及實際作法。由多次模 次,測試所導得的結果,已可顯示並證實本發明之零漏失 貝訊網服務系統及方法中的機制,確實可以提供一種功能 強大的解決方案,可以支援資訊網服務的抗錯性。
例如’在一次長時間運轉測試之後,其最值得注意的結果 所顯示的是,該次實驗的總錯誤率是零。換言之,雖然伺 服器系統中的某些節點,在測試過程中被故意地造成失
效,以模擬伺服器失效的情形,但仍無任何要求被漏失掉 了。在該次模擬之中,當有一個伺服器節點失效時,該個 失效節點上正進行處理中的要求,皆被平順地轉移到系統 之中,其他可獲用的節點上。當有三個節點同時失效時’ 分派器發現到系統承受了超載的情況’並成功地召來兩個 空著的節點來分擔負載。在僅約數秒鐘的一段短暫時間之 内,整個系統即穩定下來,並回復正常。這類的測試有效 地證實了本發明所揭示之資訊網服務系統及方法’確實月匕 夠達成零漏失的容錯能力,並能缓和服務的超載情況。 雖然前面的說明文字已是本發明特定實施例的一個完整的 說明,但其各種的修改變化,變動的構造及等效者的應用 仍是可能的。因此,前面的描述說明即不應被拿來限定本
II» Η
第30頁
第31頁
1220821 W../ 八〜‘…\ ΊΓ-,f 八、sa d ! —-jjr- p ql ,[翅明」:ϋ 本發明之前述目的及其他特徵與優點,在參考所附圖式而 於後面的說明文字之中,配合說明而非限定性質的較佳實 施例進行詳細說明之後,當可更易於獲得瞭解。圖式之 中: 圖1以不意方式顯不採用本發明零漏失資訊網服務系統與 方法的一個資訊網擷取服務; 圖2為一時序圖,其中顯示依據本發明一實施例而處理以 互動過程相關服務要求之一通訊協定之運作情形; _ 圖3為一方塊圖,其中顯示可在本發明之資訊網服務系統 中避免單點失效缺點,具有多個個別分派器的一分派裝置 之架構;與 圖4為一流程圖,其中顯示在伺服器發生失效的情況之 下,依據本發明一實施例之要求處理方法之處理流程。 【元件代表符號簡單說明】 10: 20:
第32頁

Claims (1)

  1. 頁 m訊 l · 一種提供零漏失資訊網服務之系統,可經由一通訊 網路,利用具有預定之定址參數的客戶擷取要求而為客戶 提供網路服務,該系統包含有: 複數部的伺服器,各可互相通訊; 一分派器,其包含有一路由機構,可與該通訊網路進 行通訊,並與該些伺服器進行通訊,該分派器反應於該預 定之定址參數而將一擷取要求分派給予該些複數部伺服器 中之一,且該路由機構反應於該些複數部伺服器中之一之 失效而將該擷取要求轉移至該些複數部伺服器中之另一。 2. 如申請專利範圍第1項中之系統,其中該分派器更 包含有一網路交換器,可利用網路聯結而將該分派器連結 至該些複數部之伺服器。 其中該分派器係 其中該分派器係 其中該分派器更 3. 如申請專利範圍第1項中之系統 為以個人電腦為基礎之專用分派電腦。 4. 如申請專利範圍第1項中之系統 為以微控制器為基礎之專用分派器。 Φ 5. 如申請專利範圍第1項中之系統 包含有可於一分派器網路中互相通訊之複數部分離式分派 器,該些分離式分派器以整體合作方式分派客戶之擷取要 求,並將該些要求分派給予該些複數部伺服器中之一。 6. 如申請專利範圍第5項中之系統,其中該分派器係 為以個人電腦為基礎之專用分派電腦。 7. 如申請專利範圍第5項中之系統,其中該分派器係 為以微控制器為基礎之專用分派器。
    第33頁
    |a^ 作i·如申請專利範圍第l項中之李續 係為網際網路。 之糸、、、先,其中該通訊網路 係t申請專利範圍第1項中之李统,a击 係為一公司内部 之糸、、先,其中該通訊網路 10 _ ^ 訊,固敗一種提供零漏失資訊網服務之条处 汛、、罔路,利用具右 服務之糸統,可經由一通 戶提供網路服2 疋疋址參數的客戶擷取要求而為客 1服器=1 =統包含有: 訊,且該肚複數;匕 複數部的伺服器,各可互相通 器,各包;ΐ:,伺服器係被組合成複數組之雙伺服 一分派器,其勺-伺服菇及一備援伺服器; 訊,並與該;司:ii:路由機構’可與該通訊網路進行通 之定址參數而通訊,該分派器反應於該預定 分派給予兮此 > 要來進仃互動過程相關服務之擷取要求 且該路由:C且雙伺服器中之一被付委之主飼服器, 移至該組镲C應於該主伺服器之失效而將該擷取要求轉 11 _ 服器中之備援伺服器。 更反應於0該/委專傳利/ ® $ 10項_之系、统,其中該分派器 ^^^m 委雙飼服器中之該備援伺服器的失效,而指 ^ Ώ器叢集中之一部伺服器為替換備援伺服器。 如申凊專利範圍第1 0項中之系統,其中該被付委 雙,服器之該備援伺服器係利用將分派給予該被付委雙伺 服器之該主飼服器的該擷取要求記錄下來,而與該被付委 雙伺服器中之該主伺服器進行同步,以進行該擷取要求之 該轉移。
    第34頁
    1220β11 複 預 務 訊 i3· 一種提供零漏失資訊網服務之士 數部伺服器的一系統之中,經乃一之方法,可於包含有 定之定址參數的客戶擷取要2,一通訊網路,利用具有 ,該方法之步驟包含有:,,而為客戶提供網路服 a)判別一擷取要求,並分一 要求,或互動過程彳目Μ t 怒資訊要求,動態資 &反纫幻柱相關服務要求中之一· 反應於該預定之定址參數,, 予該些複數部伺服器中之一;與句將该擷取要求分派給 c) 反應於該些複數部伺服器一 行互動過程相關服務之擷取要 一之失效而將要求進 中之另一。 ^轉移到该些複數部伺服器 1 4· 一種提供零漏失資訊網服務 複數部伺服器的一系統之中,經由務一之δ方法,可於包含有 預定之定址參數的客戶擷取要求 y網路’利用具有 務,該方法之步驟包含有: 而為客戶提供網路服 :)判別-榻取要求’並分類為靜態資訊要求,動態資 汛要求,或互動過程相關服務要求中之一· 、 ^於該些複數㈣服器中組成—組付—委雙伺服器,包 含有一主伺服器與一備援伺服器; 〇反應於該預定之定址參數,而由該付委雙祠服器之 主伺服器處理要求進行互動過程相關服務之該擷取要求; 與 d) 反應於該主伺服器之失效,而將要求進行互動過程 相關服務之該擷取要求,轉移到該付委雙伺服器之備援伺
    第35頁 I22Q??1 服器° 15. 如申請專利範圍第1 4項之方、本 行 立動過程相關服務之該摘取要求之V其了處理要求進 ^ 八之步驟c)更包合古· cl )該備援伺服器利用將分派給予 ^ s有· 續主祠服器的該擷取要求記錄下來予:被:委雙飼服器之 ^之該主伺服器進行同步;:來1與該被付委雙飼服 C2)該備援伺服器利用將該系统夕-欠」由, 生,作為:求ί行互動過程相關服; 的資料記錄下來。 文& <結果 16. 如申請專利範圍第15項之方法,其中 、 互動過程相關服務之該擷取要求轉 兮、、 行 備援㈣器之步驟d)更包含^轉移心付委雙伺服器之 dl)將該些被記錄之資料轉送給該客戶·,與 d2)放棄該些記錄下來之資料。 η叙如申請專利範圍第"項之方法,其中處理 行互關服?之該掏取要求之步驟c)更包含有 ^ 羑伺服器利用將分派給予該被付委雙伺服3! 的該擷取要求記錄下,,而與該被;; 态中之ϋ亥主伺服器進行同步; 司服 之一二時相付委通訊協定付委給該系統 生出作為通訊協定,該資料庫伺服器產 資料;與 互動過程相關服務之該擷取要求的結果 12細1 • ;:> {L JfL/1
    c4)該備援伺服器利用將該資料庫伺服器所產生,作 要求進行互動過程相關服務之該擷取要求之結果的: 錄下來。 18.如申請專利範圍弟1 7項之方法,其中將要求進^ 互動過程相關服務之該擷取要求轉移到該付委雙伺服器汀 備援伺服器之步驟d)更包含有: "之 d 1)將該些被記錄之資料轉送給該客戶;與 d2)放棄該些記錄下來之資料。 19·如申請專利範圍第1 4項之方法,其中處理要求進 行互動過程相關服務之該擷取要求之步驟c)更包含有· c 1)該備援伺服器利用將分派給予該被付委雙飼服器 5亥主伺服器的該擷取要求記錄下來,而與該被付委雙^ 器中之該主伺服器進行同步; W c 2)該主伺服器以一二時相付委通訊協定付委給該 之一資料庫伺服器; μ ^ c 3 )反應於该二時相付委通訊協定,該資料庫伺服器產 生出作為要求進行互動過程相關服務之該擷取要求的結果 資料;與 c 4 )該備援伺服器利用將該資料庫伺服器所產生,作為 要求進行互動過程相關服務之該擷取要求之結果的資料記 錄下來;且 將要求進行互動過程相關服務之該擷取要求轉移到該付委 雙伺服器之備援伺服器之步驟d)更包含有:
    第37頁 1220821I修 ψ Λϊ. 雖百 β '六▼卡請專科範爵5 ;與 d 1 )將該些被記錄之資料轉送給該客戶 d 2 )放棄該些記錄下來之資料。 1^1 第38頁 1220821 'D i:l 2
TW090110053A 2001-04-26 2001-04-26 Zero-loss web service system and method TWI220821B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW090110053A TWI220821B (en) 2001-04-26 2001-04-26 Zero-loss web service system and method
US10/126,932 US20020169889A1 (en) 2001-04-26 2002-04-22 Zero-loss web service system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW090110053A TWI220821B (en) 2001-04-26 2001-04-26 Zero-loss web service system and method

Publications (1)

Publication Number Publication Date
TWI220821B true TWI220821B (en) 2004-09-01

Family

ID=21678080

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090110053A TWI220821B (en) 2001-04-26 2001-04-26 Zero-loss web service system and method

Country Status (2)

Country Link
US (1) US20020169889A1 (zh)
TW (1) TWI220821B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI421677B (zh) * 2010-12-01 2014-01-01 Inventec Corp 伺服器集群的事務處理方法
TWI479864B (zh) * 2011-12-22 2015-04-01

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296061B2 (en) * 2001-11-21 2007-11-13 Blue Titan Software, Inc. Distributed web services network architecture
US7853643B1 (en) * 2001-11-21 2010-12-14 Blue Titan Software, Inc. Web services-based computing resource lifecycle management
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US7406511B2 (en) * 2002-08-26 2008-07-29 International Business Machines Corporation System and method for processing transactions in a multisystem database environment
JP4235177B2 (ja) * 2002-12-11 2009-03-11 富士通株式会社 バックアップシステム,バックアップ制御装置,バックアップデータ管理方法,バックアップ制御プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
US7441046B2 (en) * 2003-03-03 2008-10-21 Siemens Medical Solutions Usa, Inc. System enabling server progressive workload reduction to support server maintenance
US8209375B2 (en) * 2003-03-07 2012-06-26 Ricoh Co., Ltd. Communication of compressed digital images with restricted access and server/client hand-offs
US7251745B2 (en) * 2003-06-11 2007-07-31 Availigent, Inc. Transparent TCP connection failover
US7562254B2 (en) * 2003-07-01 2009-07-14 International Business Machines Corporation Checkpointing and restarting long running web services
US9525566B2 (en) * 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US7523171B2 (en) * 2003-09-09 2009-04-21 International Business Machines Corporation Multidimensional hashed tree based URL matching engine using progressive hashing
US7584454B1 (en) * 2003-09-10 2009-09-01 Nextaxiom Technology, Inc. Semantic-based transactional support and recovery for nested composite software services
US20050086342A1 (en) * 2003-09-19 2005-04-21 Andrew Burt Techniques for client-transparent TCP migration
US7581205B1 (en) 2003-09-30 2009-08-25 Nextaxiom Technology, Inc. System and method of implementing a customizable software platform
US7529824B2 (en) * 2003-10-14 2009-05-05 International Business Machines Corporation Method for selecting a service binding protocol in a service-oriented architecture
US7412513B2 (en) * 2003-11-14 2008-08-12 Microsoft Corporation Systems and methods for using metrics to control throttling and swapping in a message processing system
US8225282B1 (en) 2003-11-25 2012-07-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
US7197661B1 (en) * 2003-12-05 2007-03-27 F5 Networks, Inc. System and method for dynamic mirroring of a network connection
US7711743B2 (en) * 2003-12-15 2010-05-04 Telecom Consulting Group N.E. Corp. Process and system that dynamically links contents of websites to a directory record to display as a combined return from a search result
US7581003B2 (en) * 2003-12-31 2009-08-25 Microsoft Corporation System and method for automatic recovery from fault conditions in networked computer services
EP1592206B1 (en) * 2004-04-28 2006-06-21 Sap Ag Computer system and method for providing a failure resistant data processing service
US7529783B2 (en) * 2004-12-22 2009-05-05 International Business Machines Corporation Log shipping data replication with parallel log writing and log shipping at the primary site
US20060245433A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation Apparatus and method for dynamic routing of messages with target validation and peer forwarding
US7739680B1 (en) * 2005-07-21 2010-06-15 Sprint Communications Company L.P. Application server production software upgrading with high availability staging software
US7908190B2 (en) * 2005-08-30 2011-03-15 Sap Ag Systems and methods for applying tax legislation
DE602006012773D1 (de) * 2005-10-03 2010-04-22 Sap Ag Datenverarbeitungssystem und Verfahren zur Spiegelung der Bereitstellung von Identifikatoren
US8055935B2 (en) * 2006-09-14 2011-11-08 International Business Machines Corporation Dynamic adaptation in web service composition and execution
US8650389B1 (en) 2007-09-28 2014-02-11 F5 Networks, Inc. Secure sockets layer protocol handshake mirroring
US9178785B1 (en) 2008-01-24 2015-11-03 NextAxiom Technology, Inc Accounting for usage and usage-based pricing of runtime engine
US9317255B2 (en) 2008-03-28 2016-04-19 Microsoft Technology Licensing, LCC Automatic code transformation with state transformer monads
US9880891B2 (en) * 2008-09-30 2018-01-30 Hewlett-Packard Development Company, L.P. Assignment and failover of resources
US9372728B2 (en) * 2009-12-03 2016-06-21 Ol Security Limited Liability Company System and method for agent networks
US8996607B1 (en) * 2010-06-04 2015-03-31 Amazon Technologies, Inc. Identity-based casting of network addresses
CN102170400A (zh) * 2010-07-22 2011-08-31 杨喆 一种防止Web网站访问拥塞的方法
US9864772B2 (en) 2010-09-30 2018-01-09 International Business Machines Corporation Log-shipping data replication with early log record fetching
US20120246334A1 (en) * 2011-03-21 2012-09-27 Microsoft Corporation Unified web service uri builder and verification
JP5570030B2 (ja) * 2011-03-29 2014-08-13 Kddi株式会社 サービス要求受付制御方法、装置およびシステム
US8725875B2 (en) * 2011-06-21 2014-05-13 Intel Corporation Native cloud computing via network segmentation
JP6503988B2 (ja) * 2015-09-02 2019-04-24 富士通株式会社 セッション制御方法およびセッション制御プログラム
CN107231246A (zh) * 2016-03-23 2017-10-03 北京佳讯飞鸿电气股份有限公司 一种服务器接入系统和方法
KR101826828B1 (ko) * 2017-08-16 2018-03-22 주식회사 마크베이스 로그 데이터 관리 시스템 및 방법
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
CN115150400B (zh) * 2022-07-05 2024-04-30 普联技术有限公司 服务故障的处理方法、装置、云服务平台和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5258982A (en) * 1991-05-07 1993-11-02 International Business Machines Corporation Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6260039B1 (en) * 1997-12-15 2001-07-10 International Business Machines Corporation Web interface and method for accessing directory information
US6735631B1 (en) * 1998-02-10 2004-05-11 Sprint Communications Company, L.P. Method and system for networking redirecting
US6317844B1 (en) * 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6119244A (en) * 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US20010049741A1 (en) * 1999-06-18 2001-12-06 Bryan D. Skene Method and system for balancing load distribution on a wide area network
AU4717901A (en) * 1999-12-06 2001-06-25 Warp Solutions, Inc. System and method for dynamic content routing
US6823391B1 (en) * 2000-10-04 2004-11-23 Microsoft Corporation Routing client requests to back-end servers
US6865605B1 (en) * 2000-10-04 2005-03-08 Microsoft Corporation System and method for transparently redirecting client requests for content using a front-end indicator to preserve the validity of local caching at the client system
US6898633B1 (en) * 2000-10-04 2005-05-24 Microsoft Corporation Selecting a server to service client requests
CA2410172A1 (en) * 2001-10-29 2003-04-29 Jose Alejandro Rueda Content routing architecture for enhanced internet services

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI421677B (zh) * 2010-12-01 2014-01-01 Inventec Corp 伺服器集群的事務處理方法
TWI479864B (zh) * 2011-12-22 2015-04-01

Also Published As

Publication number Publication date
US20020169889A1 (en) 2002-11-14

Similar Documents

Publication Publication Date Title
TWI220821B (en) Zero-loss web service system and method
US6182139B1 (en) Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm
US7844851B2 (en) System and method for protecting against failure through geo-redundancy in a SIP server
US8005953B2 (en) Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US8417681B1 (en) Aggregated lock management for locking aggregated files in a switched file system
US7512673B2 (en) Rule based aggregation of files and transactions in a switched file system
US7383288B2 (en) Metadata based file switch and switched file system
US20030126196A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
US6889249B2 (en) Transaction aggregation in a switched file system
EP2435916B1 (en) Cache data processing using cache cluster with configurable modes
CN1578320B (zh) 利用主机状态信息进行网络负载平衡
US8396895B2 (en) Directory aggregation for files distributed over a plurality of servers in a switched file system
US6687846B1 (en) System and method for error handling and recovery
CN102523279B (zh) 一种分布式文件系统及其热点文件存取方法
JP4295089B2 (ja) セッション複製及びフェイルオーバーのための方法及び装置
CN101795222B (zh) 多级转发服务系统及方法
JP2015531512A (ja) 分散型データグリッドクラスタにおけるスケーラブルなメッセージバスをサポートするシステムおよび方法
CA2512312A1 (en) Metadata based file switch and switched file system
WO2004036344A2 (en) System and method for the optimization of database
WO1999048003A2 (en) Protocol for distributing fresh content among networked cache servers
Abawajy An approach to support a single service provider address image for wide area networks environment
Luo et al. Constructing zero-loss web services
CN108063813A (zh) 一种集群环境下密码服务网络并行化的方法与系统
CN111339059A (zh) 基于分布式存储系统Ceph的NAS存储系统
US20090049184A1 (en) System and method of streaming data over a distributed infrastructure

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees