PL183401B1 - Komputer serwera dołączany do sieci i sposób jego eksploatacji - Google Patents
Komputer serwera dołączany do sieci i sposób jego eksploatacjiInfo
- Publication number
- PL183401B1 PL183401B1 PL96327918A PL32791896A PL183401B1 PL 183401 B1 PL183401 B1 PL 183401B1 PL 96327918 A PL96327918 A PL 96327918A PL 32791896 A PL32791896 A PL 32791896A PL 183401 B1 PL183401 B1 PL 183401B1
- Authority
- PL
- Poland
- Prior art keywords
- information
- processor
- file
- processors
- client computer
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000000694 effects Effects 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000013500 data storage Methods 0.000 abstract 2
- 238000013021 overheating Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
1. Komputer serwera dolaczany do sieci, który zawiera wiele procesorów do swiadczenia uslug jednem u lub wielu komputerom klienckim dolaczonym do sieci, przy czym uslugi obejm uja dostarczanie bloków informacji do kompu- tera klienckiego, a procesory m aja dostep do bazy danych, w której przechowywane s a bloki informacji, znamienny tym, ze zawiera, przy kazdym z wielu procesorów (20,30, 40), jednostke (80) wyszukujaca w odpowiedzi na zadanie kom- putera klienckiego (50) okreslonego bloku informacji z pro- cesora (20,30,40), dane z bazy ( 1 2 0 ) danych do zestawienia pliku reprezentujacego zadany blok informacji, przy czym ten plik zawiera odniesienia do kolejnych bloków informa- cji, których moze zadac komputer kliencki (50), oraz zawie- ra jednostke ( 1 0 0) wyznaczajaca obciazenia do okresowego okreslania danych o aktywnosci procesorów (20, 30, 40) przez wlaczenie ich do zapisu rozkladu obciazenia utrzymy- wanego dla wszystkich procesorów (20, 30, 40), jednostke (90) decyzyjna okreslajaca, dla kazdego odniesienia do ko- lejnego bloku informacji w pliku zestawionym w jednostce (80) wyszukujacej i na podstawie zapisu rozkladu obciaze- nia, który procesor (20, 30, 40) powinien obsluzyc zadanie od komputera klienckiego (50) dla tego kolejnego bloku in- formacji, oraz adres dla tego procesora (20, 30, 40) w pliku zestawionym w jednostce (80) wyszukujacej, i jednostke (110) wysylajaca plik do komputera klienckiego (50). FIG. 1 PL PL PL PL PL PL PL PL PL
Description
Przedmiotem wynalazku jest komputer serwer dołączany do sieci i sposób jego eksploatacji.
Występuje duże zapotrzebowanie na komputery o dużej mocy do sieci w ogólności, a zwłaszcza do Internetu. Internet jest potężną sieciązłożonąz wielu mniejszych sieci połączonych za pośrednictwem urządzeń takich jak mosty i przejścia. Teoretycznie, dowolny komputer dołączony do Internetu ma możliwość wymiany informacji z dowolnym innym komputerem, który dołączony jest do Internetu. Jednakowoż, ponieważ komputery często zawierają informację precyzyjną, wiele komputerów i sieci zaopatrzonych jest w zabezpieczania, ograniczające w różnym stopniu wymianę informacji między komputerami.
Ponieważ Internet reprezentuje bardzo potężną strukturę rozsiewania informacji, to rozwinęła się pewna liczba usług, które wykorzystują Internet do przenoszenia informacji z jednego komputera na drugi. Przykładami takich usług są usługi w globalnym systemie informacyjnym (World Wide Web).
Usługa WWW jest jedną z najbardziej znanych, i najszybciej rozszerzających się z tych usług. System WWW realizowany przez Internet jest w stanie połączyć różne techniki, jak głos, wizję i tekst, i prezentować je na zasadzie zamówienia, w sposób interaktywny z każdą osobą dołączoną do Internetu z komputerem z odpowiednią konfiguracją oprogramowania i sprzętu do odczytu dowolnego dokumentu HyperMediów, który jest dostępny w dowolnym miejscu w Internecie. Dokument HyperMedialny odbierany jest w postaci pliku reprezentującego blok informacji, a w pliku zawarte są hyperodsyłacze do innych dokumentów, czyli bloków informacji, które mogą, na przykład zawierać teksty, dźwięki, obrazy lub filmy.
Ponieważ komputer otrzymujący dokument typu HyperMedia zestawia ten dokument do wyświetlenia użytkownikowi, to może on wykorzystać niektóre z tych hyperodsyłaczy w celu odebrania innych plików potrzebnych do uzupełnienia wyświetlanego obrazu. Na przykład, hyperodsyłacze mogąbyć wykorzystywane dla dostępu do plików obrazowych, które mają być wyświetlane jako część dokumentu. Po skonstruowaniu obrazu przez komputer kliencki i wyświetleniu użytkownikowi, użytkownik może mieć możliwość wybrania hyperodsyłaczy przez użycie myszy do wskazania odpowiedniego obrazu na ekranie, w celu zażądania dokumentu reprezentowanego przez ten hyperodsyłacz.
W miarę, jak coraz więcej osób wykorzystuje usługi Internetu, wzrasta zapotrzebowanie na komputery serwera, które są komputerami wieloprocesorowymi dostosowanymi do świadczenia
183 401 takich usług. Dzięki zastosowaniu wielu procesorów można przetwarzać duże ilości żądań kierowanych do serwera.
Jednakowoż przy stosowaniu takich serwerów równoległych powstaje problem zrównoważenia ruchu od klientów, wchodzącego do procesorów współpracujących w systemie równoległym, z wydawaniem dokumentów, jak na przykład stron WWW, i utrzymywania działania aplikacji na zasadzie usługi. Przy istniejących mechanizmach wyrównywania obciążenia, może się zdarzać, że jeden konkretny procesor staje się ogniskiem dla dużej ilości ruchu w pewnym okresie czasu. Technicznie określa się to zjawisko jako “przegrzanie”. W tych warunkach, procesor jest zasypany żądaniami od klientów, i grzęźnie aż praktycznie do zatrzymania, potrzebując do kilku minut na obsługę jednego żądania.
Istotą komputera serwera dołączanego do sieci, według wynalazku, który zawiera wiele procesorów do świadczenia usług jednemu lub wielu komputerom klienckim dołączonym do sieci, przy czym usługi obejmują dostarczanie bloków informacji do komputera klienckiego, aprocesory mają dostęp do bazy danych, w której przechowywane są bloki informacji, jest to, że zawiera, przy każdym z wielu procesorów, jednostkę wyszukującą w odpowiedzi na żądanie komputera klienckiego określonego bloku informacji z procesora, dane z bazy danych do zestawienia pliku reprezentującego żądany blok informacji, przy czym ten plik zawiera odniesienia do kolejnych bloków informacji, których może żądać komputer kliencki, oraz zawiera jednostkę wyznaczającą obciążenia do okresowego określania danych o aktywności procesorów przez włączenie ich do zapisu rozkładu obciążenia utrzymywanego dla wszystkich procesorów, jednostkę decyzyjną określającą dla każdego odniesienia do kolejnego bloku informacji w pliku zestawionym w jednostce wyszukującej i na podstawie zapisu rozkładu obciążenia, który procesor powinien obsłużyć żądanie od komputera klienckiego dla tego kolejnego bloku informacji, oraz adres dla tego procesora w pliku zestawionym w jednostce wyszukującej, i jednostkę wysyłającą plik do komputera klienckiego.
Korzystnie jednostka wyznaczająca obciążenia jest umieszczona przy każdym z wielu procesorów do określania danych o aktywności każdego procesora.
Korzystnie każdy z wielu procesorów zawiera jednostkę decyzyjną.
Korzystnie jednostka decyzyjna jest skonfigurowana do określania, ile kolejnych bloków informacji będzie kierowanych do konkretnego procesora tak, aby przy zwiększającym się obciążeniu procesora wskazywanym przez zapis rozkładu obciążenia, zmniejszała się liczba żądanych od tego procesora kolejnych bloków informacji.
Korzystnie jednym lub więcej niż jednym kolejnym blokiem informacji jest plik obrazowy, których żąda komputer kliencki przy tworzeniu bloku informacji.
Korzystnie sieć jest siecią Internet.
Korzystnie usługa jest usługą w globalnym systemie informacyjnym (World Wide Web), a bloki informacji są stronami WWW.
Korzystnie adres kolejnego bloku informacji włączonego do pliku przez jednostkę decyzyjną ma postać łańcucha adresowego zawierającego zarówno identyfikator tego bloku informacji jak i niepowtarzalny identyfikator procesora, który według ustalenia jednostki decyzyjnej obsłuży żądanie dotyczące tego bloku informacji.
Istotą sposobu eksploatacji pracy komputera serwera dołączanego do sieci, według wynalazku, który zawiera wiele procesorów do świadczenia usług jednemu lub wielu komputerom klienckim dołączonym do sieci, przy czym usługi obejmują dostarczanie bloków informacji do komputera klienckiego, a procesory mają dostęp do bazy danych, w której przechowywane są bloki informacji, jest to, że w odpowiedzi na nadchodzące od komputera klienckiego żądanie konkretnego bloku informacji z procesora wyszukuje się dane w bazie danych oraz zestawia się plik reprezentujący żądany blok informacji i zawierający odniesienia do kolejnych bloków informacji, których może żądać komputer kliencki, a następnie wyznacza się okresowo w jednostce wyznaczającej obciążenia dane o aktywności procesorów i włącza się je do zapisu rozkładu obciążenia utrzymywanego dla każdego z procesorów, po czym dla każdego odniesienia do następnego bloku informacji w zestawionym pliku określa się na podstawie zapisu rozkładu
183 401 obciążenia, który procesor obsłuży żądanie komputera klienckiego dotyczące tego następnego bloku informacji, i włącza się adres tego procesora w zestawiony plik oraz wysyła się plik do komputera klienckiego.
Korzystnie w trakcie określania procesora do obsługi żądania komputera klienckiego, w przypadku zażądania przez komputer kliencki wielu kolejnych bloków informacj i podczas zestawiania bloku informacji reprezentowanego przez plik, określa się ilość żądań obsługi tych kolej nych bloków informacji, które będą kierowane do konkretnego procesora, tak aby przy zwiększającym się obciążeniu procesora wskazywanym przez zapis rozkładu obciążenia, zmniejszała się liczba żądanych od tego procesora kolejnych bloków informacji.
Korzystnie adres kolejnego bloku informacji, włączonego do pliku w trakcie określania procesora do obsługi żądania komputera klienckiego, ma postać łańcucha adresowego zawierającego zarówno identyfikator tego bloku informacji jak i niepowtarzalny identyfikator procesora, który obsłuży żądanie dotyczące tego bloku informacji.
Zaletą rozwiązania według wynalazku jest rozprowadzanie niezrównoważonego obciążenia po wszystkich procesorach, dla umożliwienia uniknięcia wystąpienia efektu przegrzania.
Przedmiot wynalazku jest przedstawiony w przykładzie wykonania na rysunku, na którym fig. 1 przedstawia schemat blokowy komputera serwera według wynalazku, fig. 2 - sieć działań obrazującąprocesy realizowane w procesorze serwerze po otrzymaniu żądania od klienta, a fig. 3 - wykorzystanie zapisu rozkładu obciążenia do określenia, który z procesorów obsłuży nadchodzące żądania dotyczące bloków informacji.
W przedstawionym przykładzie wykonania wynalazku uwzględnia się usługę WWW świadczoną przez Internet i opisuje się poniżej mechanizm realizacji wtórnego wyrównywania obciążenia na pewnej liczbie procesorów współdziałających w równoległym serwerze WWW.
Przeglądając najpierw strukturę WWW, można zauważyć, że oparta jest na formatach uniwersalnych lokatorów zasobów (URL), które można uważać za specyfikujące konkretną stronę lub plik w usłudze WWW. Lokator URL oznacza zarówno maszynę serwera, jak i konkretny plik lub stronę na tej maszynie. Na przykład odsyłacz (link) mógłby mieć postać: “http://www.ibm.com/example.html”. Człon “http:” wskazuje, że używamy usługi World Wide Web, “www.ibm.com” jest nazwą w sieci Internet serwera sieciowego, od którego chcemy żądać strony, a “example.html” jest nazwą strony, którą chcemy otrzymać.
Komputer kliencki wykorzystuje oprogramowanie ogólnie zwane przeglądarką, dla zapewnienia użytkownikowi graficznego interfejsu użytkownika (GUI), umożliwiającego temu użytkownikowi poruszanie się przez sieć WWW do różnych lokatorów URL. Niekiedy użytkownik z nazwy wymienia konkretny lokator URL, lecz częściej użytkownik będzie przeskakiwał z jednego lokatora URL do innego za pomocą odniesień na strony (tak zwanych “hyperodsyłaczy” (“hyperlink”). Zatem konkretne słowo lub symbol na stronie może być skojarzone z innym lokatorem URL, tak że wybór tego słowa lub symbolu na przykład przez kliknięcie myszą w odnośnym miejscu powoduje wczytanie strony przez komputer kliencki z wybranego lokatora URL i wyświetlenie jej. Ta nowa strona może znajdować się w zupełnie innym serwerze, co strona pierwsza. Słowo lub symbol, które mapuje do innego lokatora URL zwane jest czasem “gorącym klawiszem” (“hot button”) lub podobnie. Na jednej stronie może znajdować się wiele gorących klawiszy, czyli hyperodsyłaczy.
Na jednym serwerze może rezydować wiele stron lub lokatorów URL, wtedy komputer serwera realizuje działanie charakterystyczne dla tej strony. W niektórych przypadkach może to prowadzić do komputera udostępniającego pewną aplikację, lecz w większości przypadków komputer serwera wczytuje żądaną stronę z bazy danych ze zmagazynowanymi stronami i przekazuje zwrotnie przez Internet do komputera klienckiego w celu wyświetlenia u użytkownika.
Strony te są formatowane zgodnie z formatem standardowym znanym jako HTML. Typowa strona WWW zawiera pewną część tekstu, nieco osadzonych obrazów (grafiki), i pewną liczbę odsyłaczy (links) do innych stron, które osoba przeglądająca może wybrać przez kliknięcie, jeżeli życzy sobie więcej informacji na pewien temat. Same obrazy są “stronami” WWW, których przeglądarka WWW automatycznie żąda od serwera w imieniu klienta, ściągając stronę
183 401 od komputera serwera, umożliwiając klientowi przy tym ich wyświetlanie. Te obrazy w serwerze są magazynowane zwykle jako oddzielne pliki graficzne, na przykład w standardowym formacie “.gif ’ lub “.jpeg”. Tekst HTML zawiera odniesienia do tych graficznych plików, które wzywają klienta do wczytania z serwera również wyszczególnionych plików, umożliwiając klientowi przy tym wyświetlanie zarówno tekstu HTML, jak i przyporządkowanych do niego obrazów. Następne odsyłacze ze strony mogą prowadzić albo do pewnej innej strony na tym samym serwerze, co strona podstawowa, lub do dowolnego innego serwera WWW w sieci Internet. Dla zilustrowania wynalazku, będą omawiane pliki graficzne i dalsze odsyłacze do tego samego serwera, na którym jest strona podstawowa.
Istnieje pewna różnorodność oprogramowania przeglądarkowego dostępnego w handlu, do wykorzystania w komputerach klienckich, przy czym wszystkie takie przeglądarki odczytują format HTML i inne standardowe formaty WWW, i mogąpoprawnie wyświetlać czyli wyprowadzać pliki w tych formatach. Podobnie, przez takie programy sąrównież rozumiane i realizowane mechanizmy poruszania się między różnymi lokatorami URL.
W rozwiązaniu według wynalazku wyrównywanie obciążenia wykorzystuje się w połączeniu z serwerem równoległym w celu doprowadzenia do pojawiania się kilku procesorów serwera pod tą samą nazwą sieciową Internetu. Na przykład, jak to przedstawiono na figurze 1, równoległy serwer 10 www.ibm.com, może być obsługiwany przez procesory 20,30,40, nazwane na przykład wwwl.ibm.com, www2.ibm.com i www3.ibm.com. Oprogramowanie wyrównujące obciążenie zestawia żądanie, kierowane do serwera 10 www.ibm.com, i powoduje przesłanie go do jednego z procesorów stanowiących część równoległego serwera WWW. Kiedy pewien program na komputerze klienckim 50 życzy sobie połączenia z procesorem serwera równoległego 10, porozumiewa się z systemem przetwarzania danych często nazywanym serwerem imiennym 60, dla otrzymania adresu sieciowego do pożądanego serwera. Decyzyjne układy logiczne 70 służą do okresowego sprawdzania procesorów lub komputerów w serwerze równoległym 10, i wyboru jednego z tych procesorów na podstawie konfigurowanych kryteriów. Konfigurowane kryteria można dobierać tak, aby przez decyzyjne układy logiczne 70 był przynajmniej wybrany procesor najmniej obciążony w momencie stosowania do niego kryteriów. Adres tego procesora następnie zostaje skojarzony z rodzaj ową nazwą serwera w pamięci 75 dostępnej dla serwera imiennego 60, tak że za każdym razem, kiedy program kliencki żąda adresu maszynowego używając nazwy rodzajowej serwera, podawany jest adres tego procesora w serwerze równoległym 10, który był jako ostatni wybrany przez decyzyjne układy logiczne 70. Zatem, jeżeli www.ibm.com jest nazwą rodzaj ową to żądanie komputera klienckiego 50 do serwera imiennego 60 z nazwą pod adresem www.ibm.com da w wyniku podanie klientowi adresu w sieci Internet jednego z procesorów 20, 30,40.
Tradycyjnie kolejny odsyłacz wracający do tego samego serwera (często zwanego “Web site” - punktem WWW) co strona podstawowa, wywoływałby tę samą nazwę sieci Internet, co ta strona bazowa. Na przykład na stronie http://www.ibm.com/first_page.html, następnym odsyłaczem mógłby być http://www.ibm.com/second_page.html. Ponieważ komputer kliencki 50 już pytał serwer imienny 60 o adres internetowy nazwy rodzajowej www.ibm.com, to użyłby po prostu tego samego adresu internetowego jeszcze raz. Zatem kolejne żądanie byłoby kierowane na ten sam procesor, który obsługiwał pierwotne żądanie. Ponieważ serwer imienny 60 nie j est w stanie zróżnicować nazwy rodzajowej www.ibm.com, to nie byłaby realizowana żadna metoda rozprowadzania obciążenia w serwerze imiennym 60. W wyniku tego, rzeczywisty procesor, który obsługiwał pierwotne żądanie może być zalewany żądaniami następnych odsyłaczy, co spowodowałoby wspomniany wcześniej efekt „przegrzania”
Możliwa jest sytuacja, w której komputer kliencki 50 jest zestawiony tak, aby w sprawie następnych żądań zawsze zwracał się do serwera imiennego 60. Jednakowoż przy próbach zwiększenia wydajności serwerów imiennych, te serwery wykazują tendencję do przechowywania w pamięci podręcznej szczegółów ostatnich żądań. Zwykle klient nie będzie komunikował się bezpośrednio z serwerem imiennym 60 z nazwą. Przeciwnie, najczęściej zwykle komunikuje się ze swoim lokalnym serwerem imiennym, który komunikuje się następnie z szeregiem innych ser183 401 werów imiennych, aż do ostatecznego przekazania żądania do serwera imiennego 60, który jest serwerem imiennym mającym “władzę” nad równoległym serwerem WWW. Adres internetowy wyróżniony przez serwer imienny 60 następnie przechodzi na powrót przez wszystkie te same serwery imienne, z których każdy może wybrać do przechowywania w pamięci podręcznej konkretny adres internetowy, który został dobrany do www.ibm.com. Zatem, jeżeli klient jest zorganizowany tak, że za każdym razem, kiedy potrzebuje skomunikować się z www.ibm.com porozumiewa się z serwerem imiennym, to będzie miał nadal tendencję do przyjmowania adresu uprzednio wyróżnionego przez serwer imienny 60, na przykład, lokalny serwer imienny mógłby decydować, że już zna adres internetowy dla tej nazwy, tak że nie ma potrzeby przekazywania żądania dalej. Widać zatem, że metoda wyrównywania obciążenia na serwerze imiennym 60, jakkolwiek użyteczna w przypadku pierwszego żądania ze strony klienta adresu serwera, nie jest przydatna w przypadku któregokolwiek z następnych odsyłaczy do tej samej nazwy rodzajowej serwera.
W celu rozwiązania tego problemu, równoległy serwer WWW ma możliwość modyfikacji nazw procesorów, do których odnoszą się kolejne odsyłacze. Uwzględniając przykład z fig. 1, ponieważ wszystkie procesory 20, 30, 40 (wwwl.ibm.com, www2.ibm.com i www3.ibm.com) są serwerami w równoległym serwerze WWW, to kolejny odsyłacz, który odnosiłby się do www.ibm.com można zmienić na odsyłacz odpowiadający konkretnemu procesorowi, na przykład procesorowi 20 (wwwl.ibm.com). Wymusza to żądanie przejścia z kolejną stroną do konkretnego procesora w równoległym serwerze WWW i, co jest oczywiste, może mieć zastosowanie do wszystkich wywoływanych stron WWW, niezależnie od tego, czy stanowią one graficzne obrazy do osadzenia w aktualnie wyświetlanej stronie WWW, czy są kolejnymi odsyłaczami do różnych stron WWW, do których użytkownik życzy sobie mieć dostęp z wyświetlanej strony WWW.
Wykorzystując tę metodę do specyfikowania wyraźnie wyrażonych nazw procesorów (na przykład wwwl.ibm.com) zamiast nazwy rodzajowej dla całego serwera równoległego (www.ibm.com), można sprawować pewną kontrolę nad obciążeniem, które będzie nacierać na różne procesory serwera w najbliższej przyszłości. Ta kontrola umożliwia zmniejszenie prawdopodobieństwa “przegrzania”.
Opisano to poniżej bardziej szczegółowo w odniesieniu do fig. 1. Na fig. 1 przedstawiono elementy funkcjonalne procesora 30. Korzystne jest, jeżeli wszystkie inne procesoiy 20,40 serwera 10 służące do świadczenia usługi WWW zawierają takie same elementy, lecz na tej figurze je pominięto dla uproszczenia. Ponadto do realizacji dodatkowych funkcji może być wyznaczony pewien procesor, i każda strona WWW wczytywania może być przesyłana do tego procesora do przetwarzania.
Jeżeli po uzgodnieniu z serwerem imiennym 60 komputer kliencki 50 otrzymuje adres internetowy procesora 30, to kontaktuje się następnie z procesorem 30 bezpośrednio ze swoimi żądaniami strony WWW. Jednostka 80 wyszukująca uzyska dostęp do bazy 120 danych w celu zestawienia pliku reprezentującego stronę WWW, której żąda komputer kliencki 50. W przypadku każdej strony WWW wymienionej w tym pliku, jednostka 90 decyzyjna posłuży do określenia, który konkretny procesor powinien być wybrany do obsługi następnych żądań dla tej strony WWW, i w odpowiednim punkcie pliku zostanie włączony identyfikator tego procesora (na przykład wwwl.ibm.com).
Jak to opisano poniżej bardziej szczegółowo, przy określaniu, który procesor obsłuży następne żądanie, jednostka 90 decyzyjna uwzględnia zapis rozkładu obciążenia dający informację o obciążeniach na wszystkich procesorach 20, 30, 40. Jednostka 100 wyznaczająca obciążenia jest dostosowana strukturalnie do okresowego wspierania działania procesora 30, i podaje tę informację do włączenia do zapisu rozkładu obciążenia.
Po określeniu przez jednostkę 90 decyzyjną, procesorów które będą przetwarzać wszelkie wywoływane strony WWW, i po włączeniu tej informacji do pliku zestawianego przez jednostkę 80 wyszukującą, plik jest przesyłany do jednostki 110 wysyłającej w celu wysłania do przeglądarki 130 komputera klienckiego 50. Przeglądarka 130 następnie zestawia stronę WWW
183 401 z pliku, w celu zaprezentowania użytkownikowi komputera klienckiego 50, i wysyła żądania wyznaczonych stron WWW bezpośrednio do procesorów wyszczególnionych w pliku
Poniżej omówiono sposób otrzymania zapisu rozkładu obciążenia. Równoległy serwer WWW zbiera dane statystyczne o zajętości procesorów danego serwera, i te dane mogą być konfrontowane w celu utworzenia “zapisu rozkładu obciążenia”. Jest oczywiste, że można tego dokonać na kilka sposobów. Na przykład każdy procesor może zawierać pewną procedurę programową która periodycznie wyznacza zajętość procesora, a następnie wysyła tę informację do pewnego punktu centralnego w celu włączenia do zapisu rozkładu obciążenia. Zapis rozkładu obciążenia może być przetrzymywany w bazie 120 danych dla umożliwienia dostępu do nich każdemu procesorowi, lub też w odróżnieniu od tego może być przetrzymywany w serwerze, w części współużytkowanej pamięci dostępnej dla wszystkich procesorów, jeżeli architektura serwera pozwala na taką strukturę pamięci współużytkowanej. W odróżnieniu od tego do każdego procesora przez sieć komunikacyjną można również wysyłać szereg komunikatów, tak że każdy procesor okresowo analizuje swoje obciążenie i następnie rozsyła tę informację do wszystkich procesorów w równoległym serwerze WWW. Każdy procesor może wtedy przechowywać zapis rozkładu obciążenia w swój ej własnej pamięci lokalnej, i uaktualniać go za każdym razem, kiedy otrzymuje z innych procesorów nowe dane o obciążeniu.
Jednostka 90 decyzyjna każdego procesora 20, 30, 40 następnie wykorzystuje ten zapis rozkładu obciążenia do dynamicznego modyfikowania nazw w sieci Internet następnych odsyłaczy i obrazów wywoływanych w stronach WWW, które kolejno obsługuje. Profil jest uaktualniany okresowo, z częstotliwością która jest określana przy konfiguracji przez administratora serwera WWW. Efektem dokonania tej modyfikacji zawartości jest to, że do procesora, który zaczyna być coraz bardziej zajęty, będzie kierowanych proporcjonalnie mniej żądań następnych, co wyeliminuje poważne pogorszenie wydajności przy wzroście “przegrzania” procesora. W miarę przywracania możliwości procesora kierowanych do niego będzie więcej żądań, tak więc będzie kontynuowany cykl monitorowania i do regulowywania obciążenia.
Poniżej, w odniesieniu do figury 2 opisano proces, realizowany przez procesor po otrzymaniu żądania od klienta. W etapie 200, procesor oczekuje żądania od klienta. W etapie 210 następuje odebranie żądania 205 od przeglądarki komputera klienckiego 50. Procesor następnie określa stronę WWW, której żądano w etapie 220, i jednostka 80 wyszukująca następnie przejmuje tę stronę z bazy 120 danych i zestawia plik (etap 230). Następnie, w etapie 240 wszystkie odniesienia do innych stron WWW w tym pliku zostają zidentyfikowane i jednostka 90 decyzyjna wykorzystuje ostatni zapis rozkładu obciążenia (etap 270) w celu określenia dla każdej z tych stron WWW, który procesor obsłuży żądanie w przypadku tej strony WWW. Zatem, jeżeli następna strona WWW nazywa się “second page.html”, a jednostka 90 decyzyjna określą że procesor 20 obsłuży żądanie, to odniesienie w pliku zostanie zmienione na następujące “http://wwwl.ibm.com/se- cond_page.html”.
Po zrealizowaniu przez jednostkę 90 decyzyjną następnych hyperodsyłaczy, plik jest w etapie 250 przesyłany do przeglądarki klienckiej. Następnie procesor zostaje przestawiony na ponowną analizę swojego obciążenia w etapie 260, uaktualniając zapis rozkładu obciążenia na podstawie tej analizy. Po wykonaniu tego procesor 20 wraca do etapu 200, w którym oczekuje na następne żądanie klienta.
Następne strony WWW wymienione w pliku można podzielić na dwie kategorie. Można odwoływać się do stron WWW, które musi wczytać przeglądarka podczas zestawiania aktualnej strony WWW do wyświetlenia użytkownikowi. Na przykład, podstawowy zbiór może zawierać cały tekst dla strony WWW, lecz dane dla dowolnych wyświetlanych obrazów zwykle nie będą załączone, a zamiast tego w pliku zwracanym do przeglądarki podane zostaną odniesienia do stron WWW z obrazami. Przeglądarka WWW będzie musiała wczytać te strony WWW przed odtworzeniem użytkownikowi całej kompletnej strony.
Drugi typ strony WWW wskazywany w pliku będzie kolejnym odsyłaczem, którego przeglądarka nie żąda do wytworzenia wstępnej strony WWW przeznaczonej do wyświetlenia. Zamiast tego wystąpią strony, które może wybierać użytkownik po wyświetleniu pierwszej stro
183 401 ny WWW. Zwykle użytkownik może wybierać poszczególne podświetlone słowa lub obrazy na ekranie, przy tym te słowa i obrazy są przyporządkowane innym stronom WWW. Przy takim wyborze przeglądarka wczyta z pliku adres procesora mającego obsłużyć żądania w przypadku tej strony WWW, i połączyć się z procesorem bezpośrednio.
W szczególności, jeśli chodzi o pierwszy typ wspomnianej powyżej kolejnej strony WWW, to na figurze 3 przedstawiono, w jaki sposób zapis rozkładu obciążenia może być wykorzystywany przez jednostkę 90 decyzyjną do rozbicia żądań w przypadku tego typu strony WWW na dostępne procesory serwera. Ponieważ ten pierwszy typ strony WWW będzie żądany prawie bezpośrednio przez przeglądarkę, tak że może ona zestawiać kompletną stronę WWW do wyświetlenia użytkownikowi, to można przewidzieć, że te żądania wrócą do serwera zaraz po dostarczeniu do przeglądarki oryginalnej strony WWW.
Na fig. 3 wykreślono obciążenie każdego procesora w postaci procentowej wartości obciążenia maksymalnego. Zwykle maksymalne obciążenie jest wyznaczane w tym punkcie, w którym procesor nie jest w stanie zapewnić możliwego do przyjęcia czasu odpowiedzi, określanego przez administratora systemu. Z fig. 3 widać, że najbardziej obciążonyjest procesor 2, a po nim procesor 3, natomiast procesor 1 jest obciążony najmniej. Jeżeli na przykład występuje dziewięć kolejnych stron WWW pierwszego typu, to jednostka 90 decyzyjna może obciążenia do określenia, ile z tych dziewięciu stron powinien obsłużyć każdy z procesorów, wykorzystać procentowe wartości.
Jak to przedstawiono na fig. 3, niewykorzystane obciążenie każdego procesora może być podzielone na bloki jednakowej wielkości, tak, aby łącznie powstało dziewięć takich bloków. Dogodnym sposobem zrównoważenia obciążenia między procesorami jest przyporządkowanie konkretnemu procesorowi odpowiedzialności za obsługę kolejnych żądań dla pewnej liczby stron WWW, równej liczbie bloków skojarzonych z niewykorzystanym obciążeniem tego procesora. Zatem w przykładzie przedstawionym na fig. 3, adres procesora 1 będzie odniesiony do pięciu stron WWW, adres procesora 2 będzie odniesiony do jednej strony WWW, a adres procesora 3 będzie odniesiony do trzech stron WWW.
Z powyższego opisu wynika, że treść stron WWW jest zmieniana dynamicznie podczas ich obsługi, ze zmianą nazwy w sieci Internet tego procesora w serwerze z którego powinien wyjść następny odsyłacz. Procesor jest wybierany z zespołu procesorów, które mogą mieć dostęp do tej samej zawartości siatki WWW, a wyboru dokonuj e się na podstawie względnego obciążenia tych serwerów. Dzięki temu osiąga się bardziej skuteczne wyrównywanie obciążeń i unika się problemów “przegrzewania” procesora, zanim jeszcze staną się one poważne.
183 401
183 401
FIG. 2
PROCESOR
FIG. 3
183 401
Departament Wydawnictw UP RP. Nakład 60 egz. Cena 4,00 zł.
Claims (11)
- Zastrzeżenia patentowe1, Komputer serwera dołączany do sieci, który zawiera wiele procesorów do świadczenia usług jednemu lub wielu komputerom klienckim dołączonym do sieci, przy czym usługi obejmują dostarczanie bloków informacji do komputera klienckiego, a procesory mają dostęp do bazy danych, w której przechowywane sąbloki informacji, znamienny tym, że zawiera, przy każdym z wielu procesorów (20,30,40), jednostkę (80) wyszukującą, w odpowiedzi na żądanie komputera'klienckiego (50) określonego bloku informacji z procesora (20,30, 40), dane z bazy (120) danych do zestawienia pliku reprezentującego żądany blok informacji, przy czym ten plik zawiera odniesienia do kolejnych bloków informacji, których może żądać komputer kliencki (50), oraz zawiera jednostkę (100) wyznaczającą obciążenia do okresowego określania danych o aktywności procesorów (20,30,40) przez włączenie ich do zapisu rozkładu obciążenia utrzymywanego dla wszystkich procesorów (20,30,40), jednostkę (90) decyzyjną określającą, dla każdego odniesienia do kolejnego bloku informacji w pliku zestawionym w jednostce (80) wyszukującej i na podstawie zapisu rozkładu obciążenia, który procesor (20,30,40) powinien obsłużyć żądanie od komputera klienckiego (50) dla tego kolejnego bloku informacji, oraz adres dla tego procesora (20,30,40) w pliku zestawionym w jednostce (80) wyszukującej, i jednostkę (110) wysyłającą plik do komputera klienckiego (50).
- 2. Komputer według zastrz. 1, znamienny tym, że jednostka (100) wyznaczająca obciążenia jest umieszczona przy każdym z wielu procesorów (20,30,40) do określania danych o aktywności każdego procesora (20, 30, 40).
- 3. Komputer według zastrz. 1 albo 2, znamienny tym, że każdy z wielu procesorów (20, 30,40) zawiera jednostkę (90) decyzyjną.
- 4. Komputer według zastrz. 1, znamienny tym, że jednostka (90) decyzyjna jest skonfigurowana do określania, ile kolejnych bloków informacji będzie kierowanych do konkretnego procesora (20, 30, 40) tak, aby przy zwiększającym się obciążeniu procesora (20, 30, 40) wskazywanym przez zapis rozkładu obciążenia, zmniejszała się liczba żądanych od tego procesora (20,30,40) kolejnych bloków informacji.
- 5. Komputer według zastrz. 1, znamienny tym, że jednym lub więcej niż jednym kolejnym blokiem informacji jest plik obrazowy, których żąda komputer kliencki (50) przy tworzeniu bloku informacji.
- 6. Komputer według zastrz. 1, znamienny tym, że sieć jest siecią Internet.
- 7. Komputer według zastrz. 1, znamienny tym, że usługa jest usługą w globalnym systemie informacyjnym (World Wide Web), a bloki informacji są stronami WWW.
- 8. Komputer według zastrz. 1, znamienny tym, że adres kolejnego bloku informacji włączonego do pliku przez jednostkę (90) decyzyjną ma postać łańcucha adresowego zawierającego zarówno identyfikator tego bloku informacji jak i niepowtarzalny identyfikator procesora (20,30,40), który według ustalenia jednostki (90) decyzyjnej obsłuży żądanie dotyczące tego bloku informacji.
- 9. Sposób eksploatacji pracy komputera serwera dołączanego do sieci, który zawiera wiele procesorów do świadczenia usług j ednemu lub wielu komputerom klienckim dołączonym do sieci, przy czym usługi obejmujądostarczanie bloków informacji do komputera klienckiego, a procesory mają dostęp do bazy danych, w której przechowywane sąbloki informacji, znamienny tym, że w odpowiedzi na nadchodzące od komputera klienckiego (50) żądanie konkretnego bloku informacji z procesora (20,30,40) wyszukuje się dane w bazie (120) danych oraz zestawia się plik reprezentujący żądany blok informacj i i zawieraj ący odniesienia do kolejnych bloków informacji, których może żądać komputer kliencki (50), a następnie wyznacza się okresowo w jedno-183 401 stce (100) wyznaczającej obciążenia dane o aktywności procesorów (20,30,40) i włącza się je do zapisu rozkładu obciążenia utrzymywanego dla każdego z procesorów (20,30,40), po czym dla każdego odniesienia do następnego bloku informacji w zestawionym pliku określa się na podstawie zapisu rozkładu obciążenia, który procesor (20,30, 40) obsłuży żądanie komputera klienckiego (50) dotyczące tego następnego bloku informacji, i włącza się adres tego procesora (20,30, 40) w zestawiony plik oraz wysyła się plik do komputera klienckiego (50).
- 10. Sposób według zastrz. 9, znamienny tym, że w trakcie określania procesora (20,30, 40) do obsługi żądania komputera klienckiego (50), w przypadku zażądania przez komputer kliencki (50) wielu kolejnych bloków informacji podczas zestawiania bloku informacji reprezentowanego przez plik, określa się ilość żądań obsługi tych kolejnych bloków informacji, które będą kierowane do konkretnego procesora (20,30,40), tak aby przy zwiększającym się obciążeniu procesora (20,30,40) wskazywanym przez zapis rozkładu obciążenia, zmniejszała się liczba żądanych od tego procesora (20, 30, 40) kolejnych bloków informacji.
- 11. Sposób według zastrz. 9 albo 10, znamienny tym, że adres kolejnego bloku informacji, włączonego do pliku w trakcie określania procesora (20,30,40) do obsługi żądania komputera klienckiego (50), ma postać łańcucha adresowego zawierającego zarówno identyfikator tego bloku informacji jak i niepowtarzalny identyfikator procesora (20,30,40), który obsłuży żądanie dotyczące tego bloku informacji.* * *
Applications Claiming Priority (3)
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 |
PCT/GB1996/002983 WO1997029423A1 (en) | 1996-01-26 | 1996-12-04 | 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 |
---|---|
PL327918A1 PL327918A1 (en) | 1999-01-04 |
PL183401B1 true PL183401B1 (pl) | 2002-06-28 |
Family
ID=26308531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PL96327918A PL183401B1 (pl) | 1996-01-26 | 1996-12-04 | Komputer serwera dołączany do sieci i sposób jego eksploatacji |
Country Status (14)
Country | Link |
---|---|
US (1) | US5867706A (pl) |
EP (1) | EP0880739B1 (pl) |
JP (1) | JP2953591B2 (pl) |
CN (1) | CN1091277C (pl) |
BR (1) | BR9612485A (pl) |
CA (1) | CA2231810C (pl) |
CZ (1) | CZ289563B6 (pl) |
DE (1) | DE69602461T2 (pl) |
ES (1) | ES2131415T3 (pl) |
GB (1) | GB2309558A (pl) |
HU (1) | HU225072B1 (pl) |
PL (1) | PL183401B1 (pl) |
RU (1) | RU2156546C2 (pl) |
WO (1) | WO1997029423A1 (pl) |
Families Citing this family (168)
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 |
US8296396B2 (en) * | 1998-02-10 | 2012-10-23 | Level 3 Communications, Llc | Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US7054935B2 (en) * | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
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 |
US6317786B1 (en) * | 1998-05-29 | 2001-11-13 | Webspective Software, Inc. | Web service |
US6279001B1 (en) | 1998-05-29 | 2001-08-21 | Webspective Software, Inc. | Web service |
US7581006B1 (en) * | 1998-05-29 | 2009-08-25 | Yahoo! Inc. | Web service |
US6976093B2 (en) | 1998-05-29 | 2005-12-13 | Yahoo! Inc. | Web server content replication |
US6314463B1 (en) | 1998-05-29 | 2001-11-06 | Webspective Software, Inc. | Method and system for measuring queue length and delay |
US7035943B2 (en) | 1998-05-29 | 2006-04-25 | Yahoo! Inc. | Web server content replication |
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 |
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
JP3550503B2 (ja) * | 1998-11-10 | 2004-08-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信を可能とするための方法及び通信システム |
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 |
US7702732B1 (en) | 1999-09-29 | 2010-04-20 | Nortel Networks Limited | Methods for auto-configuring a router on an IP subnet |
US6684241B1 (en) | 1999-09-29 | 2004-01-27 | Nortel Networks Limited | Apparatus and method of configuring a network device |
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 |
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 |
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 |
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 |
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US8996705B2 (en) | 2000-04-17 | 2015-03-31 | Circadence Corporation | Optimization of enhanced network links |
US8195823B2 (en) | 2000-04-17 | 2012-06-05 | Circadence Corporation | Dynamic network link acceleration |
US20110128972A1 (en) | 2000-04-17 | 2011-06-02 | Randy Thornton | Peer to peer dynamic network link acceleration |
US8065399B2 (en) | 2000-04-17 | 2011-11-22 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
US8898340B2 (en) | 2000-04-17 | 2014-11-25 | Circadence Corporation | Dynamic network link acceleration for network including wireless communication devices |
WO2001080024A2 (en) | 2000-04-17 | 2001-10-25 | Circadence Corporation | Gateway buffer prioritization |
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 |
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 |
US7113900B1 (en) | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
US7103651B2 (en) * | 2000-11-30 | 2006-09-05 | Nortel Networks Limited | Method and apparatus for discovering client proximity network sites |
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 |
US8411298B2 (en) | 2001-01-11 | 2013-04-02 | Sharp Laboratories Of America, Inc. | Methods and systems for printing device load-balancing |
US7548331B2 (en) * | 2001-01-11 | 2009-06-16 | Sharp Laboratories Of America, Inc. | Methods and systems for print system component-based remote printing |
US20030227644A1 (en) * | 2001-01-11 | 2003-12-11 | Sharp Laboratories Of America, Inc. | Methods and systems for driver independent customized printing |
US8456665B2 (en) | 2001-01-11 | 2013-06-04 | Sharp Laboratories Of America, Inc. | Methods and systems for printing error recovery |
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 |
GB2389482B (en) * | 2001-03-28 | 2004-05-05 | Ericsson Telefon Ab L M | 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 |
US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
JP4160506B2 (ja) | 2001-09-28 | 2008-10-01 | レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. | 構成可能な適応型広域トラフィック制御および管理 |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20080279222A1 (en) * | 2001-10-18 | 2008-11-13 | Level 3 Communications Llc | Distribution of traffic across a computer network |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
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 |
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 |
US7568110B2 (en) * | 2002-12-18 | 2009-07-28 | Broadcom Corporation | Cryptography accelerator interface decoupling from cryptography processing cores |
US20040123123A1 (en) * | 2002-12-18 | 2004-06-24 | Buer Mark L. | Methods and apparatus for accessing security association information in a cryptography accelerator |
US7191341B2 (en) * | 2002-12-18 | 2007-03-13 | Broadcom Corporation | Methods and apparatus for ordering data in a cryptography accelerator |
US7434043B2 (en) | 2002-12-18 | 2008-10-07 | Broadcom Corporation | Cryptography accelerator data routing unit |
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 |
US8122106B2 (en) | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US7072807B2 (en) * | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US20040210623A1 (en) * | 2003-03-06 | 2004-10-21 | Aamer Hydrie | Virtual network topology generation |
US7689676B2 (en) * | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7543061B2 (en) | 2003-06-26 | 2009-06-02 | Microsoft Corporation | Method and system for distributing load by redirecting traffic |
US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session 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 |
US7590736B2 (en) * | 2003-06-30 | 2009-09-15 | Microsoft Corporation | Flexible network load balancing |
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 |
US7584301B1 (en) | 2004-05-06 | 2009-09-01 | Foundry Networks, Inc. | Host-level policies for global server load balancing |
US7496651B1 (en) * | 2004-05-06 | 2009-02-24 | Foundry Networks, Inc. | Configurable geographic prefixes 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 |
WO2006029771A1 (en) * | 2004-09-13 | 2006-03-23 | Fujitsu Siemens Computers, Inc. | Computer arrangement and method for providing services for clients over a network |
EP1828893A1 (en) * | 2004-10-29 | 2007-09-05 | Interactive Supercomputing Inc. | Methods and apparatus for parallel execution of a process |
JP4526539B2 (ja) * | 2004-11-26 | 2010-08-18 | 富士通株式会社 | コンピュータ・システム及び情報処理方法 |
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 |
US7802144B2 (en) | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
US7797147B2 (en) | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
CN100371895C (zh) * | 2005-05-30 | 2008-02-27 | 英业达股份有限公司 | 均衡负载的文件预装***及方法 |
US20070016393A1 (en) * | 2005-06-29 | 2007-01-18 | Microsoft Corporation | Model-based propagation of attributes |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
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 |
WO2012097030A1 (en) * | 2011-01-12 | 2012-07-19 | 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 |
US11171720B1 (en) * | 2019-06-28 | 2021-11-09 | Amazon Technologies, Inc. | Content and compute delivery platform using satellites |
US11201939B1 (en) * | 2019-06-28 | 2021-12-14 | Amazon Technologies, Inc. | Content and compute delivery platform using satellites |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE485774A (pl) * | 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 |
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 ES ES96941114T patent/ES2131415T3/es not_active Expired - Lifetime
- 1996-12-04 EP EP96941114A patent/EP0880739B1/en not_active Expired - Lifetime
- 1996-12-04 HU HU9903820A patent/HU225072B1/hu unknown
- 1996-12-04 BR BR9612485A patent/BR9612485A/pt not_active IP Right Cessation
- 1996-12-04 CZ CZ19982324A patent/CZ289563B6/cs not_active IP Right Cessation
- 1996-12-04 CN CN96198604A patent/CN1091277C/zh not_active Expired - Lifetime
- 1996-12-04 JP JP9528248A patent/JP2953591B2/ja not_active Expired - Fee Related
- 1996-12-04 WO PCT/GB1996/002983 patent/WO1997029423A1/en active IP Right Grant
- 1996-12-04 RU RU98116059/09A patent/RU2156546C2/ru not_active IP Right Cessation
- 1996-12-04 PL PL96327918A patent/PL183401B1/pl not_active IP Right Cessation
- 1996-12-04 CA CA002231810A patent/CA2231810C/en not_active Expired - Lifetime
- 1996-12-04 DE DE69602461T patent/DE69602461T2/de 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 |
---|---|
CN1091277C (zh) | 2002-09-18 |
CA2231810C (en) | 2004-05-25 |
HUP9903820A3 (en) | 2001-05-28 |
BR9612485A (pt) | 1999-07-13 |
JP2953591B2 (ja) | 1999-09-27 |
HUP9903820A2 (hu) | 2000-03-28 |
GB2309558A (en) | 1997-07-30 |
DE69602461D1 (de) | 1999-06-17 |
HU225072B1 (en) | 2006-06-28 |
GB9601559D0 (en) | 1996-03-27 |
DE69602461T2 (de) | 1999-12-16 |
CN1202971A (zh) | 1998-12-23 |
PL327918A1 (en) | 1999-01-04 |
ES2131415T3 (es) | 1999-07-16 |
WO1997029423A1 (en) | 1997-08-14 |
EP0880739B1 (en) | 1999-05-12 |
CA2231810A1 (en) | 1997-08-14 |
JPH11503551A (ja) | 1999-03-26 |
RU2156546C2 (ru) | 2000-09-20 |
EP0880739A1 (en) | 1998-12-02 |
US5867706A (en) | 1999-02-02 |
CZ289563B6 (cs) | 2002-02-13 |
CZ232498A3 (cs) | 1998-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PL183401B1 (pl) | Komputer serwera dołączany do sieci i sposób jego eksploatacji | |
US6253234B1 (en) | Shared web page caching at browsers for an intranet | |
KR100243637B1 (ko) | 고-가용성 컴퓨터 서버 시스템 | |
US6366947B1 (en) | System and method for accelerating network interaction | |
US7577754B2 (en) | System and method for controlling access to content carried in a caching architecture | |
US7363291B1 (en) | Methods and apparatus for increasing efficiency of electronic document delivery to users | |
US6192398B1 (en) | Remote/shared browser cache | |
CA2267953C (en) | Web serving system with primary and secondary servers | |
US9380022B2 (en) | System and method for managing content variations in a content deliver cache | |
US20020199014A1 (en) | Configurable and high-speed content-aware routing method | |
JP2000187609A (ja) | 要求されたオブジェクトを検索する方法及び記録デバイス | |
EP0898754B1 (en) | Information retrieval in cache database | |
WO1998004985A9 (en) | Web serving system with primary and secondary servers | |
US6182140B1 (en) | Hot objects with multiple links in web browsers | |
US6766313B1 (en) | System and method for caching and retrieving information | |
JP2002288058A (ja) | 高性能クライアントサーバ通信システム | |
KR100308705B1 (ko) | 프로세서간부하밸런싱을가능하게하는서버컴퓨터및서버컴퓨터동작방법 | |
WO2000079362A2 (en) | Distributed virtual web cache implemented entirely in software | |
Meira et al. | Integrating www caches and search engines | |
US7487224B2 (en) | Methods and systems for routing requests using edge network elements | |
Holmedahl et al. | SWEB: Towards a Scalable World Wide Web Server on Multicomputers | |
JP2002149476A (ja) | リンクシステム、リンク方法およびリンクプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Decisions on the lapse of the protection rights |
Effective date: 20061204 |