CZ289563B6 - Server připojitelný k síti a způsob jeho provozu - Google Patents
Server připojitelný k síti a způsob jeho provozu Download PDFInfo
- Publication number
- CZ289563B6 CZ289563B6 CZ19982324A CZ232498A CZ289563B6 CZ 289563 B6 CZ289563 B6 CZ 289563B6 CZ 19982324 A CZ19982324 A CZ 19982324A CZ 232498 A CZ232498 A CZ 232498A CZ 289563 B6 CZ289563 B6 CZ 289563B6
- Authority
- CZ
- Czechia
- Prior art keywords
- information
- processor
- server
- block
- file
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Server p°ipojiteln² k s ti, kter² m uspo° d no mno stv procesor (20, 30, 40) pro poskytov n slu eb jednomu nebo v ce klientsk²m po ta m p°ipojen²m k s ti. Slu by obsahuj zaji ov n blok informac klientsk mu po ta i (50) a procesory maj p° stup k datov mu ·lo n mu za° zen (120), ve kter m jsou ulo ena data pro bloky informac . Podle up°ednost ovan²ch proveden vyn lezu m ka d² procesor v serveru (10) prost°edky (80) pro z sk v n blok , pou van odezvou na po adavek od klientsk ho po ta e (50) na konkr tn blok informac z tohoto procesoru k z sk n dat z datov ho ·lo n ho za° zen (120) pro sestrojen souboru p°edstavuj c ho po adovan² blok informac , p°i em soubor obsahuje odkazy na n sleduj c bloky informac , kter lze po adovat klientsk²m po ta em (50). Nav c jsou zaji t ny prost°edky (100) zji uj c zat en pro periodick zji ov n dat o aktivit procesoru pro p°id n do z znamu o rozd len zat en udr ovan ho pro v echny procesory serveru (10). Pak jsou pou ity rozhodovac prost°edky (90), kter jsou opat°eny pro ka d² odkaz na n sleduj c blok informac v souboru sestrojen m prost°edky (80) pro z sk v n blok ke zji ov n v z vislosti na z znamu o rozd len zat en toho, kter² procesor by m l obslou it po adavek od klientsk ho po ta e (50) na tento n sleduj c blok informac a vkl daj adresu tohoto procesoru do souboru sestrojovan ho prost°edky (80) pro z sk v n blok . Jakmile rozhodovac prost°edky (90) tento proces dokon , pak je soubor posl n klientsk mu po ta i (50). V up°ednost ovan²ch proveden ch je zaji ovan slu ba slu ba World Wide Web (www) a tato technika je pou it na paraleln m www serveru (10) poskytuj c m www str n
Description
Vynález se týká serverů připojitelných k síti pro zajišťování služeb jednomu nebo více klientským počítačům, které jsou také připojeny k síti. Zejména se týká serverů typu, který má uspořádáno množství procesorů k zajišťování služeb a týká se problémů vyvažování zátěže na těchto procesorech vycházejících z požadavků od klientských počítačů.
Dosavadní stav techniky
Existuje rostoucí poptávka po serverech s vysokým výkonem pro sítě obecně a zejména pro Internet. Internet je obrovská síť tvořená z mnoha menších sítí vzájemně propojených s použitím zařízení jako jsou například můstky a brány. Teoreticky je libovolný počítač připojený k Internetu schopen výměny informací s libovolným jiným počítačem, který je připojen k Internetu. Protože však počítače často obsahují citlivé informace, má mnoho počítačů a sítí schémata zabezpečení, která v různé míře zabraňují výměně informací mezi počítači.
Protože Internet představuje velmi mocnou strukturu, kterou se šíří informace, vyvinulo se mnoho služeb, které slouží k využití Internetu pro posílání informací z jednoho počítače do druhého. Příkladem těchto služeb je FTP, News, Gopher a World Wide Web (neboli služba WWW jak bude označována později).
WWW je jedna ze známějších a nejrychleji se vyvíjejících z těchto služeb. WWW s podporou Internetu je schopna kombinovat technologie jako například hlas, video a text a prezentovat je interaktivně a na vyžádání komukoli kdo je připojen k Internetu. WWW v podstatě umožňuje komukoli, kdo je připojený k Internetu počítačem, který má příslušné programové vybavení a konfiguraci hardwaru, přijímat libovolné hyper mediální dokumenty, které byly zpřístupněny kdekoli na Internetu. Dokument s hyper médii je přijat jako soubor představující blok informací a v tomto souboru jsou hyper odkazy na jiné dokumenty (nebo bloky informací), které mohou například obsahovat texty, zvuky, obrázky nebo filmy.
Tak jak počítač přijímá dokument s hyper médii a sestavuje dokument tak, aby jej mohl zobrazit uživateli, může použít některé z těchto hyper odkazů ktomu, aby přijal jiné soubory nutné k dokončení zobrazení. Hyper odkazy lze například použít k přístupu k obrázkům, které se mají zobrazit jako součást dokumentu. Jakmile byl dokument klientským počítačem sestaven a zobrazen uživateli, může mít uživatel možnost volit hyper odkazy například s použitím myši nebo jiného vstupního zařízení a zvolit slovo nebo obrázek na obrazovce a tím požadovat dokument na který odkazuje tento hyper odkaz.
Protože stále více lidí začalo používat služby Internetu jako je například WWW, vzrostly nároky na servery. Aby bylo možné vyrovnat se s těmito nároky, začaly se jako servery používat paralelní počítače, přičemž tyto počítače mají mnoho procesorů uspořádaných k zajišťování služeb. S použitím více procesorů lze zpracovávat velmi velké množství požadavků na server. Příkladem takového paralelního počítače jsou stroje IBM RISC System/6000 SP (IBM a RISC System/6000 jsou registrované obchodní známky Intemational Business Machines Corporation).
Problém, který však nastává v používání těchto paralelních serverů, je s vyrovnáváním přicházejícího provozu od klientů mezi procesory, které spolupracují v paralelním systému a obsluhují dokumenty (jako například WWW stránky) a zároveň na nich běží aplikace se službami. S existujícími mechanismy vyrovnávání zátěže může být v určitých časových okamžicích po určitou dobu některý procesor středem velkého zatížení. V odborné terminologii
- 1 CZ 289563 B6 se říká, že procesor je zahlcen (toasted). V tomto stavu je procesor zahlcen požadavky klientů a pracuje s virtuálním zdržením, kdy mu obsluha jednoho požadavku trvá až několik minut.
Je tudíž předmětem tohoto vynálezu zajistit mechanismus zmírnění nevyvážení výkonů mezi procesory a tím zabránění tohoto zahlcovacího efektu.
Podstata vynálezu
Tento vynález tudíž zajišťuje server připojitelný k síti, který má množství procesorů uspořádaných k zajišťování služeb jednomu nebo více klientským počítačům připojeným k síti, přičemž služby obsahují poskytování bloků informací klientskému počítači, přičemž procesory mají přístup k datovému úložnému prostoru, ve kterém jsou uložena data pro bloky informací, přičemž server obsahuje: prostředky k získávání bloků zajištěné v každém z uvedeného množství procesorů a použité jako odezva na požadavek od klientského počítače pro konkrétní blok informací od procesoru pro získání dat z datového úložného prostoru pro sestavení souboru představujícího požadovaný blok informací, přičemž soubor obsahuje odkazy na následující bloky informací, které je možné požadovat klienty; prostředky zjišťující zatížení kvůli periodickému zjišťování dat o aktivitě procesorů pro přidávání do záznamu o rozdělení zatížení udržovaného pro všechny procesory serveru; rozhodovací prostředky, které jsou zřízeny pro každý odkaz na následující blok informací v souboru sestaveném prostředky pro získávání bloků v závislosti na záznamu o rozdělení zatížení, přičemž tento procesor by měl obsluhovat požadavek od klientského počítače na onen následující blok informací a vložit adresu tohoto procesoru do souboru sestavovaného prostředky pro získávání bloků, a doručovací prostředky, které posílají soubor klientskému počítači.
S použitím přístupu podle tohoto vynálezu je obsah souboru dynamicky měněn předtím, než je poslán klientskému počítači tak, aby obsahoval adresy procesorů od kterých by měly být získávány jakékoli následující bloky informací. Rozhodnutí o tom, který procesor bude obsluhovat požadavek na následný blok informací je získán v závislosti na záznamu o rozdělení zatížení procesorů serveru. Tímto způsobem je dosažitelné účinnější vyrovnávání zátěže mezi procesory a z toho důvodu lze zmírnit problémy jako je zahlcení jednotlivého procesoru.
V upřednostňovaných provedeních jsou prostředky pro zjišťování zatížení zajištěny u každého z uvedeného množství procesorů pro zjišťování dat o aktivitě pro každý procesor. Dále jsou rozhodovací prostředky také přednostně opatřeny na každém z uvedeného množství procesorů. Jako alternativu k upřednostňovanému provedení lze však opatřit jeden nebo více prostředků ke zjišťování zatížení, rozhodovacích prostředků a doručovacích prostředků na jednom konkrétním procesoru z množství procesorů nebo na úplně nezávislém procesoru určeném k provádění funkcí těchto prvků. Z tohoto důvodu by mohl být procesor určen k provádění funkce rozhodovacích prostředků a každý soubor vytvořený prostředky pro získávání bloků by mohl být poslán tomuto procesoru pro zpracování rozhodovacími prostředky.
V případě že bude v upřednostňovaných provedeních při sestavování bloku informací představovaného souborem klientským počítačem požadováno množství za sebou jdoucích bloků informací, pak budou opatřeny rozhodovací prostředky kvůli určení toho, jaké množství požadavků na tyto za sebou jdoucí bloky informací obslouží libovolný konkrétní procesor tak, aby spolu s větším zatížením procesoru, jak je udáno v záznamu o rozdělení zatížení, klesal počet za sebou jdoucích bloků informací, pro které procesor obslouží požadavky. Typicky jeden nebo více za sebou jdoucích bloků informací budou soubory s obrázky, které budou vyžadovány klientským počítačem při sestavování bloku informací.
V upřednostňovaných provedeních je síť Internet, služba je WWW služba a bloky informací jsou WWW stránky. Bude však zřejmé, že vynález lze aplikovat na libovolnou síť a službu, kde jsou
-2CZ 289563 B6 poskytovány bloky informací klientskému počítači, které obsahují odkazy na následující bloky informací, které může klient požadovat a které bude nutné obsloužit serverem.
Pokud se jedná o službu www, pak má adresa následujících bloků informací přidaná do souboru rozhodovacími prostředky přednostně tvar adresového řetězce, který obsahuje jak identifikátor pro onen blok informací, tak jednoznačný identifikátor procesoru, který rozhodovací prostředky určily k obsloužení požadavku na daný blok informací.
Při pohledu z druhé strany nabízí tento vynález způsob provozování serveru připojitelného k síti, který má množství procesorů uspořádaných tak, aby zajišťovaly služby jednomu nebo více klientským počítačům připojeným k síti, přičemž služby obsahují poskytování bloků informací klientskému počítači a procesor má přístup k datovému úložnému prostoru, ve kterém jsou uložena data pro bloky informací, přičemž způsob obsahuje kroky: (a) odezvou na požadavek klientského počítače pro konkrétní blok informací od procesoru využití tohoto procesoru k získání dat z datového úložného prostoru kvůli sestavení souboru představujícího požadovaný blok informací, přičemž soubor obsahuje odkazy na následující bloky informací, které lze vyžadovat klientem; (b) využití prostředků zjišťujících zátěž k periodickému zjišťování dat o aktivitě procesorů pro přidání do záznamu o rozdělení zatížení udržovaného pro všechny procesory serveru; (c) pro každý odkaz na následující blok informací v souboru sestaveném v kroku (a) zjištění v závislosti na záznamu o rozdělení zatížení toho, který procesor by, měl obsloužit požadavek od klientského počítače na tento následující blok informací a přidání adresy pro tento procesor do souboru vytvořeného jako krok (a); a(d) poslání tohoto souboru klientskému počítači.
Přehled obrázků na výkresech
Vynález bude blíže vysvětlen prostřednictvím konkrétních příkladů provedení znázorněných na výkresech, na kteiých představuje obr. 1 schematický blokový diagram znázorňující server podle upřednostňovaného provedení tohoto vynálezu, obr. 2 blokové schéma znázorňující proces probíhající v upřednostňovaném provedení v procesoru serveru po přijetí požadavku od klienta, obr. 3 způsob použití záznamu o rozdělení zatížení k určení toho, které procesory obslouží za sebou následující požadavky na bloky informací.
Příklady provedení vynálezu
V upřednostňovaném provedení tohoto vynálezu budeme uvažovat www službu zajištěnou pomocí Internetu a popíšeme mechanismus pro zajištění sekundárního vyvažování zátěže mezi mnoha procesory spolupracujícími v paralelním www serveru.
Nejdříve ke struktuře www, která je založena na univerzálních lokátorech zdrojů (URL), které mohou být považovány za určující pro konkrétní stránku nebo soubor na www. URL udává jak server, tak jednotlivý soubor nebo stránku v tomto počítači. Odkaz může vypadat například takto „http: //www.ibm.com/example.html“. Řetězec „http” udává použití www, řetězec „www.ibm.com” je Internetový název www serveru v síti, na který je směrován požadavek na stránku a řetězec „example. pl” je název stránky, která se má získat.
-3CZ 289563 B6
Klientský počítač používá programové vybavení obecně označované jako prohlížeč, který uživateli poskytuje jednoduché GUI (grafické uživatelské rozhraní) a tím i navigaci po www přes různá URL. Někdy uživatel zadá přímo konkrétní název URL, ale častěji skočí z jednoho URL na jiné pomocí odkazů na stránce (tzv. „hyper odkaz“). Konkrétní slovo nebo symbol na stránce může být spojeno s jiným URL tak, že zvolení tohoto slova nebo symbolu například klepnutím myší na příslušnou oblast způsobí získání a zobrazení stránky ze zvoleného URL klientským počítačem. Tato nová stránka může být umístěna na úplně jiném serveru, než je první stránka. Slovo nebo symbol, které odkazuje na jiné URL, je někdy označováno jako aktivní tlačítko „hot button“ (a podobně). Na jedné stránce může být mnoho tlačítek nebo hyper odkazů.
Na jednom serveru může být přítomno mnoho stránek nebo URL. Pokud uživatel na klientském počítači zvolí URL na konkrétním serveru, pak server provede akci specifickou pro tuto stránku.
V některých případech to může vést ke spuštění aplikace na serveru, ale ve většině případů získá server požadovanou stránku z databáze uložených stránek a ta je vyslána zpět Internetem klientskému počítači k zobrazení uživateli.
Stránky jsou formátovány podle standardního formátu známého jako HTML. Typická www stránka obsahuje část textovou, vložené obrázky (grafiku) a mnoho odkazů na jiné stránky, na které může osoba prohlížející si tuto stránku klepnout, pokud požaduje více informací o jistém tématu. Obrázky jsou samy www stránky, které www prohlížeč automaticky požaduje od serveru jménem klienta při stahování stránky ze serveru. Tyto obrázky jsou typicky ukládány jako oddělené grafické soubory na serveru, například ve standardním formátu ,,.gif‘ nebo „.jpeg“. HTML text obsahuje odkazy na tyto grafické soubory, které vyzývají klientský počítač ktomu, aby od serveru přijal také udané soubory a tím klientskému počítači umožnil zobrazit jak HTML text, tak i připojené obrázky. Navazující odkazy ze stránky mohou být buďto na nějakou jinou stránku na stejném serveru, ze kterého přišla základní stránka, nebo na kterémkoli jiném www serveru na Internetu. Pro účel znázornění upřednostňovaného provedení tohoto vynálezu se zajímáme o grafické soubory a navazující odkazy, které jsou na stejném serveru, jako je základní stránka. Budeme se odkazovat na obě tyto položky jak bude uvedeno dále v části o www stránkách.
Existuje mnoho programů www prohlížeče komerčně dostupných pro použití na klientských počítačích, například Web Explorer od IBM Corporation aMosaic od NCSA. Všechny tyto prohlížeče rozumějí HTML a jiným standardním formátům a mohou správně zobrazovat nebo zprostředkovávat výstup souborů v těchto formátech. Podobně mechanismy pro navigaci mezi různými URL jsou také těmito programy interpretovány a implementovány. Podrobnější informace o www lze nalézt v „Spinning the Web“ od Andrew Ford (Intemational Thompson Publishing. London 1995) a v „The World Wide Web Unleashed“ od autorů John December aNeil Randall (SAMS Publishing. Indianapolis 1994).
V upřednostňovaném provedení tohoto vynálezu je použita technika vyrovnávání zátěže ve spojení s paralelním serverem k nasdílení mnoha procesorů na serveru pod jedním Internetovým názvem. Například s odkazem na obrázek 1 může být paralelní www server 10 www.ibm.com obsluhován procesoiy 20, 30. 40 nazvanými řekněme wwwl.ibm.com, www2.ibm.com a www3.ibm.com. Programové vybavení pro vyvažování výkonu zajišťuje posílání požadavku na www.ibm.com jednomu z procesorů, které tvoří část tohoto paralelního www serveru. Vhodná technika pro vyvažování zatížení je popsána ve zveřejněné evropské patentové přihlášce EP-A-0 648 038, která popisuje techniku dynamického vyvažování zatížení, která umožňuje rozložit zatížení na paralelním serveru mezi různé procesory (nebo počítače) tvořící server. Pokud si program na klientském počítači 50 přeje připojit se k procesoru paralelního serveru JO, komunikuje se systémem pro zpracování dat, který se často nazývá server 60 názvů, aby získal síťovou adresu požadovaného serveru. Podle techniky, popsané v EP-A-0 648 038, je opatřena rozhodovací logika 70, aby periodicky prohlížela procesory nebo počítače v paralelním serveru 10 a v závislosti na nějakém nastavitelném kritériu volila jeden z těchto procesorů. Nastavitelné
-4CZ 289563 B6 kritérium může být zvoleno tak, aby byl v daném časovém okamžiku rozhodovací logikou 70 zvolen nejméně zatížený procesor, kdy je kritérium aplikováno. Adresa tohoto procesoru je poté spojena s generickým názvem serveru v úložném prostoru 85 dostupném serveru 60 názvů tak, aby pokaždé, kdy klientský program požaduje adresu počítače s použitím generického názvu serveru, mu byla poskytnuta adresa procesoru v paralelním serveru 10, která byla naposledy zvolena rozhodovací logikou 70. Pokud je tudíž www.ibm.com generický název, bude mít požadavek od klientského počítače 50 pro server 60 názvů na Internetovou adresu www.ibm.com za následek poskytnutí Internetové adresy jednoho ze tří procesorů 20. 30.40 klientovi. Další podrobnosti o této technice lze nalézt s odkazem na EP-A-0 648 038.
Tradičně navazující odkaz, který by odkazoval zpět na stejný server (často nazývaný „web site“), jako je základní stránka, by odkazoval na stejný Internetový název jako je název základní stránky. Například na stránce http: //www.ibm.com/fírst_page.html může být navazující odkaz na http: //www.ibm.com/second_page.html. Protože klientský počítač se již dotazoval serveru 60 názvů na Internetovou adresu generického názvu www.ibm.com, použil by prostě typicky znovu stejnou adresu. Z toho důvodu bude navazující odkaz směrován na stejný procesor, jako procesor, který obsloužil původní požadavek. Protože server názvů není dotazován znovu o rozřešení generického názvu www.ibm.com, nebudou na serveru názvů využívány žádné techniky vyvažování zatížení. Následkem toho může být současný procesor, který obsloužil původní požadavek, zaplaven požadavky na navazující odkazy, což má za následek výše zmíněný účinek zahlcení.
Je možné uspořádat klientský počítač tak, aby se vždy dotazoval serveru 60 názvů na navazující požadavky. Avšak z důvodu pokusu o zvyšování účinnosti serverů názvů mají tyto servery tendenci ukládat podrobnosti o posledních požadavcích na název do vyrovnávací paměti. Typicky nebude klient komunikovat přímo se serverem 60 názvů. Místo toho bude obecně komunikovat se svým místním serverem názvů, který bude komunikovat s řadou jiných serverů názvů, dokud se konečně požadavek nedostane do serveru 60 názvů, přičemž se jedná o server názvů, který má „oprávnění“ nad paralelním www serverem 10. Internetová adresa rozřešená serverem 60 názvů bude pak poslána zpět všemi těmito servery názvů, přičemž každý z nich se může rozhodnout, že uloží konkrétní Internetovou adresu, na kterou bylo www.ibm.com rozřešeno, do vyrovnávací paměti. Z toho důvodu je-li klientský počítač uspořádán tak, aby pokaždé když potřebuje komunikovat swww.ibm.com, kontaktoval server názvů, bude stále spíše získávat adresu dříve rozřešenou serverem 60 názvů protože se například místní server názvů může rozhodnout, že již zná Internetovou adresu pro daný název a tudíž že není zapotřebí posílat požadavek dále. Je tudíž vidět, že zatímco je technika pro vyrovnávání zatížení na serveru 60 názvů užitečná pro první požadavek klienta na adresu serveru, není užitečná pro žádné další navazující odkazy na stejný generický název serveru.
Aby bylo možné tento problém překonat, je paralelní www server podle upřednostňovaného provedení opatřen schopností úpravy www stránek na serveru tak jak jsou obsluhovány a má výhodu schopnosti upravovat názvy procesorů na které se odkazuje navazující odkaz. Uvážíme-li příklad na obrázku 1, protože wwwl.ibm.com, www2.ibm.com, www3.ibm.com jsou servery v paralelním www serveru, navazující odkaz, který by jinak odkazoval na www.ibm.com, lze změnit tak, aby odkazoval na konkrétní procesor, například wwwl.ibm.com. To vynutí požadavek na zpracování přechodu na navazující stranu konkrétním procesorem v paralelním www serveru a jak bude zřejmé, může být aplikováno na všechny uvedené www stránky, ať už se jedná o grafické obrázky ke vložení do právě zobrazované www stránky, nebo o navazující odkazy na jiné www stránky, ke kterým může uživatel přistupovat ze zobrazené www stránky.
Používáním techniky podle upřednostňovaného provedení k udání explicitních názvů procesorů (např. wwwl.ibm.com) namísto generického názvu celého paralelního serveru (www.ibm.com) lze uplatnit jisté řízení zátěže, která v blízké budoucnosti zasáhne různé procesory serveru. Toto řízení umožňuje snížení pravděpodobnosti zahlcení.
-5CZ 289563 B6
Systém podle upřednostňovaného uspořádání bude nyní pospán podrobněji s odkazy na obrázek 1. Na obrázku 1 jsou zobrazeny funkční prvky procesoru 30 vyžadované k implementaci upřednostňovaného provedení. Přednostně obsahují všechny jiné procesory 20, 40 serveru 10, 5 které mají zajišťovat www služby, stejné prvky, ale tyto byly na obrázku z důvodu zjednodušení vynechány. Jako alternativu k upřednostňovanému provedení lze zajistit jeden nebo více funkčních prvků jiných než jsou prostředky pro získávání bloků na jednom konkrétním procesoru z mnoha nebo na zcela nezávislém procesoru určeném k provádění funkce těchto prvků. Z toho důvodu by mohl být procesor určen k provádění funkce rozhodovacích prostředků 90 a každá io www stránka získaná prostředky pro získávání bloků by mohla být posílaná tomuto procesoru ke zpracování rozhodovacími prostředky 90.
Pokud po dotázání serveru 60 názvů není klientskému počítači 50 poskytnuta Internetová adresa procesoru 30, kontaktuje procesor 30 přímo se svým požadavkem na www stránku. Prostředky 15 80 pro získávání bloků přistupují k datům na datovém úložném zařízení 120. aby vytvořily soubor reprezentující www stránku požadovanou klientským počítačem 50. Pro jakoukoli www stránku, na kterou se odkazuje tento soubor, budou použity rozhodovací prostředky 90 ke zjištění toho, který konkrétní procesor by měl být zvolen ke zpracovávání následných požadavků na tuto www stránku a na příslušné místo v souboru bude vložen identifikátor tohoto procesoru (např. 20 wwwl.ibm.com).
Jak bude podrobněji později popsáno, při určování toho, který procesor bude obsluhovat navazující požadavek, se rozhodovací prostředky 90 odkazují na záznam o rozdělení zatížení poskytující informace o zatížení na všech procesorech serveru. Prostředky 100 zjišťující zatížení 25 jsou uspořádány tak, aby periodicky ohodnocovaly aktivitu procesoru 30 a poskytovaly tyto informace pro přidání do záznamu o rozdělení zatížení.
Jakmile rozhodovací prostředky 90 zjistily, které procesory zpracují jakékoli uvedené www stránky, a jakmile byly tyto informace vloženy do souboru vytvořeného prostředky pro získávání 30 bloků, je soubor poslán doručovacím prostředkům 110 pro poslání prohlížeči 130 na klientském počítači 50. Prohlížeč 130 pak ze souboru vytvoří www stránku pro prezentování uživateli klientského počítače 50 a bude posílat požadavky na www stránky uvedené odkazem přímo procesorům uvedeným v souboru.
Nyní bude popsán způsob, kterým je získáván záznam o rozdělování zatížení. Paralelním www serverem jsou shromažďovány statistiky o tom, jak jsou zatížené procesory daného serveru a tyto mohou pak být sestaveny tak, aby vytvořily záznam o rozložení zatížení. Bude zřejmé, že to lze provést mnoha způsoby. Například každý procesor může obsahovat rutinu, která bude periodicky zjišťovat zatížení daného procesoru a posílat tyto informace na nějaké ústřední místo, aby mohly 40 být slučovány do záznamu o rozdělení zatížení. Záznam o rozdělení zatížení může být udržován na datovém úložném zařízení 120 pro přístup od jednotlivých procesorů, nebo může být udržován na serveru na části sdílené paměti přístupné pro všechny procesory, pokud architektura serveru podporuje takovéto uspořádání se sdílenou pamětí. Eventuálně mohou být jednotlivým procesorům posílány řady zpráv komunikační sítí tak, aby každý procesor periodicky 45 ohodnocoval svoje zatížení a pak tyto informace vysílal všem ostatním procesorům v paralelním www serveru. Každý procesor pak může udržovat záznam s rozdělením zatížení ve své vlastní lokální paměti a aktualizovat jej kdykoli přijme nová data o zátěži od jiných procesorů.
Rozhodovací prostředky 90 jednotlivých procesorů 20. 30, 40 používají tento záznam o rozdělení 50 zatížení k dynamické úpravě Internetových názvů navazujících odkazů a obrázků, na které odkazují www stránky, které následně obsluhují. Profil je periodicky aktualizován s frekvencí, kterou může nastavit administrátor www serveru. Účinek provádění těchto úprav obsahu je, že procesor, který se začíná zahlcovat, bude mít na sebe směrovaných proporcionálně méně navazujících požadavků a tudíž se zamezí vážnému ovlivnění výkonnosti v případě, že se
-6CZ 289563 B6 procesor zahltí. Po obnově procesoru bude mít na sebe procesor směrováno více požadavků a tak může cyklus sledování a ladění zatížení pokračovat.
Nyní bude popsán proces prováděný procesorem podle upřednostňovaného provedení po přijetí požadavku od klientského počítače s odkazem na obrázek 2. V kroku 200 očekává procesor požadavek od klienta. V kroku 210 je obdržen požadavek 205 od prohlížeče klientského počítače. Procesor pak zjistí která www stránka byla požadována v kroku 220 a prostředky 80 pro získávání bloků pak vyvolají tuto stranu z databáze na datovém úložném zařízení 120 a sestrojí soubor (krok 230). Dále, v kroku 240 jsou identifikovány všechny odkazy na jiné www stránky v tomto souboru a rozhodovací prostředky 90 použijí nejnovější záznam 270 o rozdělení zatížení pro jednotlivé tyto www stránky ke zjištění toho, který procesor by měl obsloužit požadavek na tuto www stránku. Pokud je tudíž navazující odkaz na www stránce nazván „second_page.html“ a rozhodovací prostředky 90 zjistí, že požadavek by měl obsloužit procesor 20, bude odkaz v souboru změněn pro načtení „http: //wwwl.ibm.com/second_page.html“.
Po dokončení těchto navazujících hyper odkazů rozhodovacími prostředky 90 je soubor v kroku 250 poslán klientskému prohlížeči. Dále je v upřednostňovaných provedeních procesor uspořádán tak, aby v kroku 260 znovu odhadl své zatížení, přičemž aktualizuje záznam o rozdělení zatížení v závislosti na tomto odhadu. Po dokončení se procesor vrátí na krok 200, kde očekává další požadavek od klienta.
Jak bylo výše uvedeno, navazující www stránky, na které odkazuje soubor, lze rozdělit do dvou typů. Některé se mohou odkazovat na www stránky, které bude prohlížeč potřebovat získat během sestavování současné www stránky pro zobrazení uživateli. Základní soubor může například obsahovat veškerý text pro www stránku, ale data pro mnoho obrázků, které se mají zobrazit, nebudou typicky zahrnuta, spíše budou v souboru vráceném prohlížečem poskytnuty odkazy na www stránky obsahující obrázky. Prohlížeč bude muset získat tyto www stránky, aby byl uživateli schopen reprodukovat celou www stránku.
Druhý typ www stránky, na kterou se odkazuje soubor, budou navazující odkazy, které nejsou vyžadovány prohlížečem kvůli vytvoření počáteční www stránky pro zobrazení. Bude se jednat o stránky, které může uživatel volit po zobrazení www stránky. Typicky bude uživatel moci volit konkrétní zvýrazněná slova a obrázky na obrazovce, přičemž tato slova a obrázky budou spojeny s jinými www stránkami. Po takové volbě získá prohlížeč ze souboru adresu procesoru, který má obsluhovat požadavky na tuto www stránku a kontaktuje přímo tento procesor.
Se zvláštním ohledem na první typ výše určené navazující www stránky znázorňuje obrázek! možnost využití záznamu o rozdělení zatížení rozhodovacími prostředky 90 k rozdělování požadavků pro tento první typ www stránky mezi dostupné procesory serveru. Protože tento první typ www stránky bude prohlížečem vyžadován téměř ihned, aby mohl sestavit úplnou www stránku pro zobrazení uživateli, pak lze předvídat, že tyto požadavky přijdou zpět na server dosti krátce po doručení původní www stránky prohlížeči.
Na obrázku 3 je pro každý procesor vynesena zátěž jako procentuální podíl maximálního zatížení. Typicky je maximální zatížení zjištěno jako bod, ve kterém není procesor schopen zajistit přijatelnou dobu odezvy, což je obecně určeno administrátorem serveru. Bude zřejmé, že evidentně existují jiné způsoby, kterými lze odhadovat zatížení. Z obrázku! lze vidět, že procesor 2 je zatížen nejvíce, za ním následuje procesor 3, zatímco procesor 1 je zatížen nejméně. Pokud například existuje devět navazujících www stránek prvního typu, pak rozhodovací prostředky 90 mohou využívat čísla procentuálního podílu pro každý procesor ke zjištění toho, kolik z těchto devíti www stránek by mělo být obslouženo jednotlivým procesorem.
Jak je znázorněno na obrázku 3, nevyužité zatížení pro jednotlivé procesory bylo rozděleno do bloků o shodné velikosti, takže bylo vytvořeno celkem devět bloků. Vhodný způsob vyrovnávání
-7GZ 289563 B6 zatížení mezi procesory je přiřadit konkrétnímu procesoru povinnost obsluhy navazujících požadavků na počet www stránek rovný počtu bloků spojených s nevyužitým zatížením tohoto procesoru. V příkladě znázorněném na obrázku 3 bude tudíž adresa procesoru 1 uvedena na pěti www stránkách, adresa procesoru 2 bude uvedena na jedné www stránce a adresa procesoru 3 bude uvedena na třech www stránkách.
Z výše uvedeného popisu bude zřejmé, že podle upřednostňovaných provedení vynálezu bude obsah www stránek dynamicky měněn současně s tím, jak jsou obsluhovány, kvůli změně Internetového názvu serverového procesoru, od kterého by měly být získávány veškeré navazující odkazy. Procesor je zvolen ze skupiny procesorů, které mohou přistupovat ke stejnému www obsahu a volba je prováděna v závislosti na relativním zatížení těchto serverů. Tímto způsobem je dosaženo efektivnějšího vyrovnání zatížení a je zamezeno problémům se zahlcováním procesoru předtím, než se stanou vážnými.
Claims (13)
- PATENTOVÉ NÁROKY1. Server (10) připojitelný k síti, který má množství procesorů (20, 30, 40) tak, aby zajišťoval služby jednomu nebo více klientským počítačům připojeným k síti, přičemž služby obsahují poskytování bloků informací klientskému počítači (50) a procesory mají přístup do datového úložného zařízení (120), ve kterém jsou uložena data pro bloky informací, přičemž server (10), se vyznačuje tím, že obsahuje:prostředky (80) pro získávání bloků opatřené v každém z množství procesorů a využité k odezvě z klientského počítače (50) pro konkrétní blok informací z procesoru k získání dat z datového úložného zařízení (120) kvůli sestrojení souboru představujícího požadovaný blok informací, přičemž soubor obsahuje odkazy na následující bloky informací, které lze požadovat klientským počítačem (50);prostředky (100) zjišťující zatížení pro periodické zjišťování dat o aktivitě procesorů pro přidání do záznamu o rozdělení zatížení udržovaného pro všechny procesory serveru (10) ;rozhodovací prostředky (90), které jsou pro každý odkaz na následující blok informací v souboru sestrojeném prostředky (80) pro získávání bloků uspořádány tak, aby zjišťovaly v závislosti na záznamu o rozdělení zatížení to, který procesor by měl obsloužit požadavek od klientského počítače (50) na tento následující blok informací a vložit adresu tohoto procesoru do souboru sestavovaného prostředky (80) pro získávání bloků; a doručovací prostředky (110) pro posílání souboru klientskému počítači (50).
- 2. Server (10) podle nároku 1, vyznačující se tím, že prostředky (100) zjišťující zatížení jsou opatřeny na každém z množství procesorů pro zjišťování dat o aktivitě pro každý procesor.
- 3. Server (10) podle nároku 1 nebo 2, vyznačující se tím, že rozhodovací prostředky (90) jsou zajištěny na každém z množství procesorů.
- 4. Server (10) podle kteréhokoli z předcházejících nároků, vyznačující se tím, že pokud množství následujících bloků informací bude požadováno klientským počítačem (50) při sestavování bloku informací představovaného souborem, pak rozhodovací prostředky (90) jsou-8CZ 289563 B6 uspořádány tak, aby zjišťovaly na kolik z těchto následujících bloků informací libovolný jednotlivý procesor obslouží požadavky tak, aby čím vyšší zatížení procesoru bude udáváno záznamem o rozdělení zatížení, na tím nižší počet následujících bloků informací obslouží tento procesor požadavky.
- 5. Server (10) podle kteréhokoli z předcházejících nároků, vyznačující se tím, že jeden nebo více z následujících bloků informací jsou soubory s obrázky, které budou vyžadovány klientským počítačem (50) při sestavování bloku informací.
- 6. Server (10) podle kteréhokoli z předcházejících nároků, vyznačující se tím, že síť je Internet.
- 7. Server (10) podle nároku 6, vyznačující se tím, že služby jsou služby World Wide Web a bloky informací jsou www stránky.
- 8. Server (10) podle nároku 7, vyznačující se tím, že adresa na následující blok informací vložená do souboru rozhodovacími prostředky (90) má tvar adresového řetězce obsahujícího jak identifikátor tohoto bloku informací, tak jednoznačný identifikátor procesoru, který rozhodovací prostředky (90) určily k obsloužení požadavku na tento blok informací.
- 9. Způsob provozu serveru (10) připojitelného k síti a majícího opatřené množství procesorů (20,30, 40) uspořádané tak, aby poskytoval služby jednomu nebo více klientským počítačům připojeným ksíti, přičemž služby obsahují poskytování bloků informací klientskému počítači (50) a procesory mají přístup do datového úložného zařízení (120), ve kterém jsou uložena data pro bloky informací, vyznačující se tím, že způsob obsahuje kroky:(a) odezvou na požadavek od klientského počítače (50) na konkrétní blok informací od procesoru využití tohoto procesoru k získání dat z datového úložného zařízení (120) pro sestrojení souboru reprezentujícího požadovaný blok informací, který obsahuje odkazy na následující bloky informací, které mohou vyžadovat klientské počítače (50) ;(b) využití prostředků (100) zjišťujících zatížení k periodickému zjišťování dat o aktivitě procesorů pro vložení do záznamu o rozdělení zatížení udržovaného pro všechny procesoiy serveru (10);(c) pro každý odkaz na následující blok informací v souboru sestrojeném v kroku (a), zjištění, v závislosti na záznamu o rozdělení zatížení, toho, který procesor by měl obsloužit požadavek od klientského počítače (50) na tento následující blok informací a vložení adresy tohoto procesoru do souboru sestaveného v kroku (a); a (d) poslání souboru klientskému počítači (50).
- 10. Způsob podle nároku 9, vyznačující se tím, že každý z množství procesorů zjišťuje zatížení pomocí prostředků provádějících krok (b).
- 11. Způsob podle nároku 9 nebo 10, vy z n a č uj í c í se t í m , že každý z procesorů provádí krok (c) rozhodovacími prostředky (90).
- 12. Způsob podle nároků 9 až 11, vy z n ač uj íc í se t í m, že pokud bude při sestrojování bloku informací klientským počítačem (50), představovaného souborem, požadováno množství následujících bloků informací, pak krok (c) obsahuje zjištění toho, na kolik z těchto následujících bloků informací obslouží jakýkoli konkrétní procesor požadavky tak, aby čím vyšší-9CZ 289563 B6 bude zatížení na procesoru, jak je udáno v záznamu o rozložení zatížení, byl tím nižší počet následujících požadavků na bloky informací, které procesor obslouží.
- 13. Způsob podle kteréhokoli z nároků 9 až 12, vyznačující se tím, že adresa5 následujícího bloku informací vložená do souboru v kroku (c) má tvar adresového řetězce obsahujícího jak identifikátor tohoto bloku informací, tak jednoznačný identifikátor pro procesor, který byl zjištěn v kroku (c) jako procesor, který obslouží požadavek na tento blok informací.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9601559A GB2309558A (en) | 1996-01-26 | 1996-01-26 | Load balancing across the processors of a server computer |
| US08/770,142 US5867706A (en) | 1996-01-26 | 1996-12-19 | Method of load balancing across the processors of a server |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CZ232498A3 CZ232498A3 (cs) | 1998-12-16 |
| CZ289563B6 true CZ289563B6 (cs) | 2002-02-13 |
Family
ID=26308531
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CZ19982324A CZ289563B6 (cs) | 1996-01-26 | 1996-12-04 | Server připojitelný k síti a způsob jeho provozu |
Country Status (14)
| Country | Link |
|---|---|
| US (1) | US5867706A (cs) |
| EP (1) | EP0880739B1 (cs) |
| JP (1) | JP2953591B2 (cs) |
| CN (1) | CN1091277C (cs) |
| BR (1) | BR9612485A (cs) |
| CA (1) | CA2231810C (cs) |
| CZ (1) | CZ289563B6 (cs) |
| DE (1) | DE69602461T2 (cs) |
| ES (1) | ES2131415T3 (cs) |
| GB (1) | GB2309558A (cs) |
| HU (1) | HU225072B1 (cs) |
| PL (1) | PL183401B1 (cs) |
| RU (1) | RU2156546C2 (cs) |
| WO (1) | WO1997029423A1 (cs) |
Families Citing this family (171)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6185619B1 (en) * | 1996-12-09 | 2001-02-06 | Genuity Inc. | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
| JPH1074159A (ja) * | 1996-08-30 | 1998-03-17 | Hitachi Ltd | 計算機システムの制御方法 |
| GB2320112B (en) * | 1996-12-07 | 2001-07-25 | Ibm | High-availability computer server system |
| US5948066A (en) * | 1997-03-13 | 1999-09-07 | Motorola, Inc. | System and method for delivery of information over narrow-band communications links |
| CA2206737C (fr) * | 1997-03-27 | 2000-12-05 | Bull S.A. | Architecture en reseau de machine informatique |
| US7058720B1 (en) * | 1997-06-30 | 2006-06-06 | Microsoft Corporation | Geographical client distribution methods, systems and computer program products |
| US6128642A (en) * | 1997-07-22 | 2000-10-03 | At&T Corporation | Load balancing based on queue length, in a network of processor stations |
| US6128279A (en) * | 1997-10-06 | 2000-10-03 | Web Balance, Inc. | System for balancing loads among network servers |
| US6230196B1 (en) * | 1997-11-12 | 2001-05-08 | International Business Machines Corporation | Generation of smart HTML anchors in dynamic web page creation |
| US6434687B1 (en) * | 1997-12-17 | 2002-08-13 | Src Computers, Inc. | System and method for accelerating web site access and processing utilizing a computer system incorporating reconfigurable processors operating under a single operating system image |
| US6055538A (en) * | 1997-12-22 | 2000-04-25 | Hewlett Packard Company | Methods and system for using web browser to search large collections of documents |
| US6178160B1 (en) * | 1997-12-23 | 2001-01-23 | Cisco Technology, Inc. | Load balancing of client connections across a network using server based algorithms |
| US7054935B2 (en) | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
| US7949779B2 (en) | 1998-02-10 | 2011-05-24 | Level 3 Communications, Llc | Controlling subscriber information rates in a content delivery network |
| US6185598B1 (en) * | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
| US6330617B1 (en) * | 1998-02-27 | 2001-12-11 | Sabre Inc | System, method and computer program product for data conversion in a computer network |
| FI112897B (fi) * | 1998-03-03 | 2004-01-30 | Nokia Corp | Menetelmä tiedonsiirtoverkossa ja tiedonsiirtolaite |
| US6205474B1 (en) * | 1998-04-14 | 2001-03-20 | Compaq Computer Corporation | Access mechanism for parallel status update for multiple servers |
| US6003082A (en) * | 1998-04-22 | 1999-12-14 | International Business Machines Corporation | Selective internet request caching and execution system |
| US6115752A (en) * | 1998-05-21 | 2000-09-05 | Sun Microsystems, Inc. | System and method for server selection for mirrored sites |
| US7143193B1 (en) * | 1998-05-29 | 2006-11-28 | Yahoo! Inc. | Content collection |
| US7035943B2 (en) | 1998-05-29 | 2006-04-25 | Yahoo! Inc. | Web server content replication |
| US7581006B1 (en) * | 1998-05-29 | 2009-08-25 | Yahoo! Inc. | Web service |
| US6314463B1 (en) | 1998-05-29 | 2001-11-06 | Webspective Software, Inc. | Method and system for measuring queue length and delay |
| US6317786B1 (en) * | 1998-05-29 | 2001-11-13 | Webspective Software, Inc. | Web service |
| US6976093B2 (en) | 1998-05-29 | 2005-12-13 | Yahoo! Inc. | Web server content replication |
| US6279001B1 (en) | 1998-05-29 | 2001-08-21 | Webspective Software, Inc. | Web service |
| US6108703A (en) | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
| US6493749B2 (en) * | 1998-08-17 | 2002-12-10 | International Business Machines Corporation | System and method for an administration server |
| FR2785121B1 (fr) * | 1998-10-21 | 2001-03-30 | Cit Alcatel | Procede pour changer periodiquement une information presentee par un terminal de communication a partir de donnees transmises par un serveur |
| JP3550503B2 (ja) * | 1998-11-10 | 2004-08-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信を可能とするための方法及び通信システム |
| US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
| US6654814B1 (en) * | 1999-01-26 | 2003-11-25 | International Business Machines Corporation | Systems, methods and computer program products for dynamic placement of web content tailoring |
| GB2346302B (en) * | 1999-01-29 | 2003-06-18 | Ibm | Pre-emptive network load balancing by predictive configuration |
| US7080158B1 (en) | 1999-02-09 | 2006-07-18 | Nortel Networks Limited | Network caching using resource redirection |
| US6801949B1 (en) | 1999-04-12 | 2004-10-05 | Rainfinity, Inc. | Distributed server cluster with graphical user interface |
| EP1049307A1 (en) | 1999-04-29 | 2000-11-02 | International Business Machines Corporation | Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web |
| US6275470B1 (en) * | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
| US7600131B1 (en) * | 1999-07-08 | 2009-10-06 | Broadcom Corporation | Distributed processing in a cryptography acceleration chip |
| US7346695B1 (en) | 2002-10-28 | 2008-03-18 | F5 Networks, Inc. | System and method for performing application level persistence |
| US6523023B1 (en) | 1999-09-22 | 2003-02-18 | Networks Associates Technology, Inc. | Method system and computer program product for distributed internet information search and retrieval |
| US6684241B1 (en) | 1999-09-29 | 2004-01-27 | Nortel Networks Limited | Apparatus and method of configuring a network device |
| US7702732B1 (en) | 1999-09-29 | 2010-04-20 | Nortel Networks Limited | Methods for auto-configuring a router on an IP subnet |
| WO2001031445A1 (en) * | 1999-10-27 | 2001-05-03 | Mci Worldcom, Inc. | System and method for web mirroring |
| US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
| US6748413B1 (en) * | 1999-11-15 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for load balancing of parallel servers in a network environment |
| US6748414B1 (en) * | 1999-11-15 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for the load balancing of non-identical servers in a network environment |
| US7363361B2 (en) * | 2000-08-18 | 2008-04-22 | Akamai Technologies, Inc. | Secure content delivery system |
| US6760745B1 (en) * | 2000-03-30 | 2004-07-06 | Aspect Communications Corporation | Web server replicated mini-filter |
| US20050021862A1 (en) * | 2000-03-31 | 2005-01-27 | Dickens Coal Llc | Automatic selection of content-delivery provider using link mapping database |
| US8996705B2 (en) | 2000-04-17 | 2015-03-31 | Circadence Corporation | Optimization of enhanced network links |
| US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
| US8898340B2 (en) | 2000-04-17 | 2014-11-25 | Circadence Corporation | Dynamic network link acceleration for network including wireless communication devices |
| US20110128972A1 (en) | 2000-04-17 | 2011-06-02 | Randy Thornton | Peer to peer dynamic network link acceleration |
| US8195823B2 (en) | 2000-04-17 | 2012-06-05 | Circadence Corporation | Dynamic network link acceleration |
| WO2001080093A2 (en) | 2000-04-17 | 2001-10-25 | Circadence Corporation | System and method for reformatting data traffic |
| US8065399B2 (en) | 2000-04-17 | 2011-11-22 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
| US7143128B1 (en) * | 2000-06-08 | 2006-11-28 | International Business Machines Corporation | Interactive data processor controlled display interface for tracking of allocated messages in a dynamic workload balancing communication system |
| US7188157B1 (en) | 2000-06-30 | 2007-03-06 | Hitachi, Ltd. | Continuous update of data in a data server system |
| US7281032B2 (en) * | 2000-06-30 | 2007-10-09 | Hitachi, Ltd. | File sharing system with data mirroring by storage systems |
| US7222150B1 (en) * | 2000-08-15 | 2007-05-22 | Ikadega, Inc. | Network server card and method for handling requests received via a network interface |
| US20020165947A1 (en) * | 2000-09-25 | 2002-11-07 | Crossbeam Systems, Inc. | Network application apparatus |
| US7657629B1 (en) * | 2000-09-26 | 2010-02-02 | Foundry Networks, Inc. | Global server load balancing |
| US9130954B2 (en) | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
| US7454500B1 (en) * | 2000-09-26 | 2008-11-18 | Foundry Networks, Inc. | Global server load balancing |
| US7606898B1 (en) * | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
| US7113900B1 (en) | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
| US6907395B1 (en) * | 2000-10-24 | 2005-06-14 | Microsoft Corporation | System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model |
| US7103651B2 (en) * | 2000-11-30 | 2006-09-05 | Nortel Networks Limited | Method and apparatus for discovering client proximity network sites |
| US7548331B2 (en) * | 2001-01-11 | 2009-06-16 | Sharp Laboratories Of America, Inc. | Methods and systems for print system component-based remote printing |
| US8456665B2 (en) | 2001-01-11 | 2013-06-04 | Sharp Laboratories Of America, Inc. | Methods and systems for printing error recovery |
| US20030227644A1 (en) * | 2001-01-11 | 2003-12-11 | Sharp Laboratories Of America, Inc. | Methods and systems for driver independent customized printing |
| US8411298B2 (en) | 2001-01-11 | 2013-04-02 | Sharp Laboratories Of America, Inc. | Methods and systems for printing device load-balancing |
| US20020089687A1 (en) * | 2001-01-11 | 2002-07-11 | Ferlitsch Andrew Rodney | Methods and systems for print-processor-based printer status detection and print task distribution |
| US7480068B2 (en) * | 2001-01-11 | 2009-01-20 | Sharp Laboratories Of America, Inc. | Methods and systems for page-independent spool file sheet assembly |
| US20020124170A1 (en) * | 2001-03-02 | 2002-09-05 | Johnson William S. | Secure content system and method |
| US20020143872A1 (en) * | 2001-03-27 | 2002-10-03 | Jeffrey Weiss | Multiple service management platform utilizing common directory |
| WO2002080613A1 (en) * | 2001-03-28 | 2002-10-10 | Telefonaktiebolaget Lm Ericsson | Load distribution between nodes in communication networks |
| GB0119145D0 (en) * | 2001-08-06 | 2001-09-26 | Nokia Corp | Controlling processing networks |
| US7290059B2 (en) * | 2001-08-13 | 2007-10-30 | Intel Corporation | Apparatus and method for scalable server load balancing |
| JP4160506B2 (ja) * | 2001-09-28 | 2008-10-01 | レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. | 構成可能な適応型広域トラフィック制御および管理 |
| US7860964B2 (en) * | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
| US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
| RU2310224C2 (ru) * | 2001-10-02 | 2007-11-10 | Ситрикс Системз, Инк. | Способы распределенного выполнения программы со связью по типу файла в сетях с архитектурой клиент-сервер |
| US20030079027A1 (en) * | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
| US20080279222A1 (en) * | 2001-10-18 | 2008-11-13 | Level 3 Communications Llc | Distribution of traffic across a computer network |
| US7711819B2 (en) | 2001-10-31 | 2010-05-04 | Fujitsu Limited | Load balancer |
| US7444639B2 (en) * | 2001-12-20 | 2008-10-28 | Texas Insturments Incorporated | Load balanced interrupt handling in an embedded symmetric multiprocessor system |
| JP3969089B2 (ja) * | 2001-12-25 | 2007-08-29 | 株式会社日立製作所 | 階層構成サーバシステム |
| US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
| US20030163586A1 (en) * | 2002-02-27 | 2003-08-28 | Steve Schnetzler | Server persistence using a URL identifier |
| US9137324B2 (en) * | 2002-04-10 | 2015-09-15 | International Business Machines Corporation | Capacity on-demand in distributed computing environments |
| JP2004005249A (ja) * | 2002-05-31 | 2004-01-08 | Fujitsu Ltd | 負荷分散型マルチプロセッサに対する信号振分装置 |
| US20040059777A1 (en) * | 2002-05-31 | 2004-03-25 | Palazzo Craig M. | System and method for distributed component object model load balancing |
| US20030236813A1 (en) * | 2002-06-24 | 2003-12-25 | Abjanic John B. | Method and apparatus for off-load processing of a message stream |
| AU2003232413A1 (en) * | 2002-06-24 | 2004-01-06 | International Business Machines Corporation | Load balancing in data networks |
| CN100424673C (zh) * | 2002-07-02 | 2008-10-08 | 英业达股份有限公司 | 最佳化信息处理互助式计算机网络系统 |
| US7086061B1 (en) | 2002-08-01 | 2006-08-01 | Foundry Networks, Inc. | Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics |
| US7574508B1 (en) | 2002-08-07 | 2009-08-11 | Foundry Networks, Inc. | Canonical name (CNAME) handling for global server load balancing |
| US8015259B2 (en) | 2002-09-10 | 2011-09-06 | Alan Earl Swahn | Multi-window internet search with webpage preload |
| US7334032B2 (en) * | 2002-12-04 | 2008-02-19 | International Business Machines Corporation | System for allocating storage performance resource |
| US7191341B2 (en) * | 2002-12-18 | 2007-03-13 | Broadcom Corporation | Methods and apparatus for ordering data in a cryptography accelerator |
| US20040123123A1 (en) * | 2002-12-18 | 2004-06-24 | Buer Mark L. | Methods and apparatus for accessing security association information in a cryptography accelerator |
| US7434043B2 (en) | 2002-12-18 | 2008-10-07 | Broadcom Corporation | Cryptography accelerator data routing unit |
| US7568110B2 (en) * | 2002-12-18 | 2009-07-28 | Broadcom Corporation | Cryptography accelerator interface decoupling from cryptography processing cores |
| US20040123120A1 (en) * | 2002-12-18 | 2004-06-24 | Broadcom Corporation | Cryptography accelerator input interface data handling |
| US20040215703A1 (en) * | 2003-02-18 | 2004-10-28 | Xiping Song | System supporting concurrent operation of multiple executable application operation sessions |
| US20040210623A1 (en) * | 2003-03-06 | 2004-10-21 | Aamer Hydrie | Virtual network topology generation |
| US7072807B2 (en) * | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
| US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
| US8122106B2 (en) * | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
| US7689676B2 (en) * | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
| US20040236824A1 (en) * | 2003-05-23 | 2004-11-25 | Millington Bradley D. | Post-cache substitution |
| US7543061B2 (en) * | 2003-06-26 | 2009-06-02 | Microsoft Corporation | Method and system for distributing load by redirecting traffic |
| US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
| US7590736B2 (en) * | 2003-06-30 | 2009-09-15 | Microsoft Corporation | Flexible network load balancing |
| US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
| US7606929B2 (en) * | 2003-06-30 | 2009-10-20 | Microsoft Corporation | Network load balancing with connection manipulation |
| US7567504B2 (en) * | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
| US7331038B1 (en) * | 2003-07-02 | 2008-02-12 | Amazon.Com, Inc. | Predictive prefetching to improve parallelization of document generation subtasks |
| US9584360B2 (en) * | 2003-09-29 | 2017-02-28 | Foundry Networks, Llc | Global server load balancing support for private VIP addresses |
| WO2005043279A2 (en) * | 2003-10-31 | 2005-05-12 | Disksites Research And Development Ltd. | Device, system and method for storage and access of computer files |
| US7769802B2 (en) * | 2003-12-04 | 2010-08-03 | Microsoft Corporation | Systems and methods that employ correlated synchronous-on-asynchronous processing |
| US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
| US7574708B2 (en) * | 2004-03-04 | 2009-08-11 | International Business Machines Corporation | Mechanism for enabling the distribution of operating system resources in a multi-node computer system |
| WO2005107168A1 (fr) * | 2004-04-28 | 2005-11-10 | Leonid Aleksandrovich Pogyba | Procede d'organisation d'un service de radiodiffusion faisant appel a la transmission numerique de flux audio sur l'internet, et dispositifs permettant sa mise en oeuvre |
| US20050246529A1 (en) | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
| US7496651B1 (en) * | 2004-05-06 | 2009-02-24 | Foundry Networks, Inc. | Configurable geographic prefixes for global server load balancing |
| US7584301B1 (en) | 2004-05-06 | 2009-09-01 | Foundry Networks, Inc. | Host-level policies for global server load balancing |
| US9626437B2 (en) * | 2004-06-10 | 2017-04-18 | International Business Machines Corporation | Search scheduling and delivery tool for scheduling a search using a search framework profile |
| US7423977B1 (en) | 2004-08-23 | 2008-09-09 | Foundry Networks Inc. | Smoothing algorithm for round trip time (RTT) measurements |
| DE112005001995B4 (de) * | 2004-09-13 | 2011-12-08 | Fujitsu Siemens Computers, Inc. | Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk |
| US7542981B2 (en) * | 2004-10-29 | 2009-06-02 | Massachusetts Institute Of Technology | Methods and apparatus for parallel execution of a process |
| EP1816565B1 (en) * | 2004-11-26 | 2011-06-08 | Fujitsu Ltd. | Computer system and information processing method |
| US20060123423A1 (en) * | 2004-12-07 | 2006-06-08 | International Business Machines Corporation | Borrowing threads as a form of load balancing in a multiprocessor data processing system |
| US20060136717A1 (en) | 2004-12-20 | 2006-06-22 | Mark Buer | System and method for authentication via a proximate device |
| US8295484B2 (en) | 2004-12-21 | 2012-10-23 | Broadcom Corporation | System and method for securing data from a remote input device |
| DE102005010690B4 (de) * | 2005-03-09 | 2007-04-12 | Knorr-Bremse Systeme für Schienenfahrzeuge GmbH | Öleingespritzter Verdichter mit Temperaturschalter |
| US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
| US7797147B2 (en) | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
| US7802144B2 (en) | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
| CN100371895C (zh) * | 2005-05-30 | 2008-02-27 | 英业达股份有限公司 | 均衡负载的文件预装系统及方法 |
| US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
| US20070016393A1 (en) * | 2005-06-29 | 2007-01-18 | Microsoft Corporation | Model-based propagation of attributes |
| US8230419B2 (en) * | 2005-07-26 | 2012-07-24 | International Business Machines Corporation | Method, system and program product for capturing central processing unit (CPU) utilization for a process on a virtual machine |
| US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
| CN100562850C (zh) * | 2005-11-30 | 2009-11-25 | 迈普通信技术股份有限公司 | 多处理器负载分配调整方法 |
| US7716100B2 (en) * | 2005-12-02 | 2010-05-11 | Kuberre Systems, Inc. | Methods and systems for computing platform |
| CN100389392C (zh) * | 2006-05-29 | 2008-05-21 | 杭州华三通信技术有限公司 | 一种集群系统中实现负载均衡的方法、系统和存储控制器 |
| US20080288622A1 (en) * | 2007-05-18 | 2008-11-20 | Microsoft Corporation | Managing Server Farms |
| US7930573B2 (en) * | 2007-09-18 | 2011-04-19 | International Business Machines Corporation | Workload apportionment according to mean and variance |
| US20090265208A1 (en) * | 2007-12-10 | 2009-10-22 | Pratt Stephen M | Method for outsourcing technology based services |
| US9723070B2 (en) * | 2008-01-31 | 2017-08-01 | International Business Machines Corporation | System to improve cluster machine processing and associated methods |
| US8667175B2 (en) * | 2008-03-13 | 2014-03-04 | Cisco Technology, Inc. | Server selection for routing content to a client using application layer redirection |
| US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
| CN102047244B (zh) | 2008-04-04 | 2013-02-27 | 第三雷沃通讯有限责任公司 | 在内容分发网络(cdn)中处理长尾内容 |
| US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
| CN101739214B (zh) * | 2008-11-13 | 2011-12-07 | 英业达股份有限公司 | 一种共享储存设备下自平衡数据访问压力的方法 |
| US8229890B2 (en) * | 2008-12-15 | 2012-07-24 | International Business Machines Corporation | Opening document stored at multiple database replicas |
| US8868782B2 (en) | 2009-03-10 | 2014-10-21 | Telefonaktiebolaget L M Ericsson (Publ) | System and methods for a managed application server restart |
| US8166200B2 (en) * | 2009-03-30 | 2012-04-24 | Microsoft Corporation | Smart routing |
| US9411656B2 (en) * | 2009-06-22 | 2016-08-09 | Brocade Communications Systems, Inc. | Load balance connections per server in multi-core/multi-blade system |
| US8817614B1 (en) * | 2010-09-16 | 2014-08-26 | Vasona Networks Inc. | Policy enforcer having load balancing capabilities |
| US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
| EP2663929B1 (en) * | 2011-01-12 | 2018-08-29 | Level 3 Communications, LLC | Customized domain names in a content delivery network (cdn) |
| US9448849B2 (en) | 2011-08-31 | 2016-09-20 | Oracle International Corporation | Preventing oscillatory load behavior in a multi-node distributed system |
| US10228976B2 (en) * | 2012-05-01 | 2019-03-12 | Keysight Technologies Singapore (Holdings) Pte. Ltd. | Methods, systems, and computer readable media for balancing incoming connections across multiple cores |
| WO2014003611A1 (en) * | 2012-06-27 | 2014-01-03 | Telefonaktiebolaget L M Ericsson (Publ) | Processor work distribution |
| US10235069B2 (en) * | 2016-12-22 | 2019-03-19 | Western Digital Technologies, Inc. | Load balancing by dynamically transferring memory range assignments |
| US11201939B1 (en) * | 2019-06-28 | 2021-12-14 | Amazon Technologies, Inc. | Content and compute delivery platform using satellites |
| US11171720B1 (en) * | 2019-06-28 | 2021-11-09 | Amazon Technologies, Inc. | Content and compute delivery platform using satellites |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| BE485774A (cs) * | 1947-11-29 | 1900-01-01 | ||
| US4403286A (en) * | 1981-03-06 | 1983-09-06 | International Business Machines Corporation | Balancing data-processing work loads |
| DE3741953A1 (de) * | 1986-12-19 | 1988-06-30 | Nippon Telegraph & Telephone | Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen |
| US5157663A (en) * | 1990-09-24 | 1992-10-20 | Novell, Inc. | Fault tolerant computer system |
| US5642515A (en) * | 1992-04-17 | 1997-06-24 | International Business Machines Corporation | Network server for local and remote resources |
| GB2281793A (en) * | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
| US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
-
1996
- 1996-01-26 GB GB9601559A patent/GB2309558A/en not_active Withdrawn
- 1996-12-04 EP EP96941114A patent/EP0880739B1/en not_active Expired - Lifetime
- 1996-12-04 WO PCT/GB1996/002983 patent/WO1997029423A1/en not_active Ceased
- 1996-12-04 DE DE69602461T patent/DE69602461T2/de not_active Expired - Lifetime
- 1996-12-04 CZ CZ19982324A patent/CZ289563B6/cs not_active IP Right Cessation
- 1996-12-04 PL PL96327918A patent/PL183401B1/pl not_active IP Right Cessation
- 1996-12-04 BR BR9612485A patent/BR9612485A/pt not_active IP Right Cessation
- 1996-12-04 HU HU9903820A patent/HU225072B1/hu unknown
- 1996-12-04 RU RU98116059/09A patent/RU2156546C2/ru not_active IP Right Cessation
- 1996-12-04 JP JP9528248A patent/JP2953591B2/ja not_active Expired - Fee Related
- 1996-12-04 CN CN96198604A patent/CN1091277C/zh not_active Expired - Lifetime
- 1996-12-04 ES ES96941114T patent/ES2131415T3/es not_active Expired - Lifetime
- 1996-12-04 CA CA002231810A patent/CA2231810C/en not_active Expired - Lifetime
- 1996-12-19 US US08/770,142 patent/US5867706A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| RU2156546C2 (ru) | 2000-09-20 |
| CN1202971A (zh) | 1998-12-23 |
| BR9612485A (pt) | 1999-07-13 |
| CZ232498A3 (cs) | 1998-12-16 |
| HUP9903820A3 (en) | 2001-05-28 |
| US5867706A (en) | 1999-02-02 |
| EP0880739B1 (en) | 1999-05-12 |
| HUP9903820A2 (hu) | 2000-03-28 |
| JP2953591B2 (ja) | 1999-09-27 |
| PL183401B1 (pl) | 2002-06-28 |
| EP0880739A1 (en) | 1998-12-02 |
| CN1091277C (zh) | 2002-09-18 |
| HU225072B1 (en) | 2006-06-28 |
| PL327918A1 (en) | 1999-01-04 |
| CA2231810A1 (en) | 1997-08-14 |
| ES2131415T3 (es) | 1999-07-16 |
| CA2231810C (en) | 2004-05-25 |
| JPH11503551A (ja) | 1999-03-26 |
| DE69602461D1 (de) | 1999-06-17 |
| GB2309558A (en) | 1997-07-30 |
| WO1997029423A1 (en) | 1997-08-14 |
| GB9601559D0 (en) | 1996-03-27 |
| DE69602461T2 (de) | 1999-12-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CZ289563B6 (cs) | Server připojitelný k síti a způsob jeho provozu | |
| US6366947B1 (en) | System and method for accelerating network interaction | |
| US7082476B1 (en) | System and method of optimizing retrieval of network resources by identifying and substituting embedded symbolic host name references with network addresses in accordance with substitution policies | |
| JP2893019B2 (ja) | プロキシ階層におけるステージング/バッファリングを伴う動的プッシュ・フィルタリング方法 | |
| US6253234B1 (en) | Shared web page caching at browsers for an intranet | |
| US7877511B1 (en) | Method and apparatus for adaptive services networking | |
| US7769823B2 (en) | Method and system for distributing requests for content | |
| JP3967806B2 (ja) | リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構 | |
| US6192398B1 (en) | Remote/shared browser cache | |
| JP3924102B2 (ja) | ファイルをカスタマイズする方法および情報処理システム | |
| JP3968119B2 (ja) | キャッシュ間情報転送方法 | |
| EP1125219B2 (en) | Global document hosting system utilizing widely deployed content distribution servers | |
| US7640347B1 (en) | Method and system for inserting POST data into the GET request to apply normal caching rules | |
| EP0898754B1 (en) | Information retrieval in cache database | |
| US20020199014A1 (en) | Configurable and high-speed content-aware routing method | |
| US20110161458A1 (en) | Techniques For Delivering Personalized Content With A Real-Time Routing Network | |
| US20030004998A1 (en) | Proxy-based acceleration of dynamically generated content | |
| KR19980079706A (ko) | 서버에서의 데이터 프리캐싱 방법 및 장치 | |
| EP2761506B1 (en) | Historical browsing session management | |
| JP2000187609A (ja) | 要求されたオブジェクトを検索する方法及び記録デバイス | |
| WO2003042855A1 (en) | System for reducing server loading during content delivery | |
| KR19990006461A (ko) | 월드 와이드 웹을 통한 정보 및 기타 자료의 관리 및 억세스 시스템 | |
| JP2005339536A (ja) | サーバとクライアントノードとの間の接続を管理するシステムおよび方法 | |
| US20030225859A1 (en) | Request mapping for load balancing | |
| KR100308705B1 (ko) | 프로세서간부하밸런싱을가능하게하는서버컴퓨터및서버컴퓨터동작방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PD00 | Pending as of 2000-06-30 in czech republic | ||
| MM4A | Patent lapsed due to non-payment of fee |
Effective date: 20061204 |