PL195958B1 - Sposób wyrównywania obciążenia współdziałających serwerów z pamięcią podręczną - Google Patents
Sposób wyrównywania obciążenia współdziałających serwerów z pamięcią podręcznąInfo
- Publication number
- PL195958B1 PL195958B1 PL99347159A PL34715999A PL195958B1 PL 195958 B1 PL195958 B1 PL 195958B1 PL 99347159 A PL99347159 A PL 99347159A PL 34715999 A PL34715999 A PL 34715999A PL 195958 B1 PL195958 B1 PL 195958B1
- Authority
- PL
- Poland
- Prior art keywords
- cache
- server
- load
- cooperating
- servers
- Prior art date
Links
- 230000004044 response Effects 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims description 74
- 238000005192 partition Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 15
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 claims 1
- 230000003139 buffering effect Effects 0.000 description 5
- 241000238366 Cephalopoda Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000252233 Cyprinus carpio Species 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
1. Sposób wyrównywania obciazenia wspól- dzialajacych serwerów z pamiecia podreczna, znamienny tym, ze odbiera sie zadania prze- kazywane ze wspóldzialajacego serwera z pa- miecia podreczna w odpowiedzi na nietrafienie w pamieci podrecznej na obiekt we wspóldzia- lajacym serwerze z pamiecia podreczna i prze- suwa sie jedno lub wiecej przekazanych zadan dla obiektu miedzy wspóldzialajacymi serwe- rami z pamiecia podreczna, na podstawie stanu obciazenia i czestotliwosci przekazywania dla obiektu. PL PL PL PL
Description
Opis wynalazku
Przedmiotem wynalazku jest sposób wyrównywania obciążenia współdziałających serwerów z pamięcią podręczną, zwłaszcza wyrównywania obciążenia na podstawie stanu obciążenia i częstotliwości występowania żądań przekazywanych ze współdziałających serwerów.
Zastosowanie sieci World Wide Web wzrasta w postępie wykładniczym. W wyniku tego czasy odpowiedzi przy dostępie do obiektów sieci WWW są niezadowalająco długie. Znanym sposobem poprawiania czasu dostępu do sieci WWW jest zastosowanie jednego lub więcej serwerów proxy czyli serwerów pośredniczących w ruchu pakietów w komunikacji międzysieciowej, z pamięcią podręczną, między przeglądarkami i wyjściowymi serwerami sieci WWW. Przykłady serwerów proxy z pamięcią podręczną obejmują klaster czyli grupę serwerów PC działających z oprogramowaniem Windows NT firmy Microsoft, na przykład serwery NETFINITY™ firmy IBM, oraz serwery - stacje robocze działające z systemem operacyjnym na przykład IBM RS/6000™ lub SP/2™. Coraz więcej jednostek, na przykład dostawcy usług internatowych stosują zbiór współdziałających serwerów proxy z pamięcią podręczną do poprawiania czasu odpowiedzi, jak również zmniejszania natężenia ruchu skierowanego do sieci Internet. Zbiór współdziałających serwerów z pamięcią podręczną ma wyraźne zalety w porównaniu z pojedynczym serwerem z pamięcią podręczną pod względem niezawodności i sprawności. Jeżeli jeden z nich jest nieczynny, to żądania są nadal obsługiwane przez inne współdziałające serwery z pamięcią podręczną. Żądania są rozprowadzane pomiędzy serwery, zwiększając skalowalność systemu. W końcu rozmiar zbiorczej pamięci podręcznej jest znacznie większy, więc jest bardziej prawdopodobne, że w jednym z serwerów z pamięcią podręczną żądany obiekt zostanie znaleziony.
Przy współdziałaniu między serwerami z pamięcią podręczną, żądanie, które nie może być obsłużone lokalnie w wyniku nietrafienia w pamięci podręcznej na obiekt, może być przekazane do innego serwera z pamięcią podręczną, przechowującego żądany obiekt. W wyniku tego występują żądania dwóch rodzajów, które mogą nadejść do serwera z pamięcią podręczną: żądanie bezpośrednie i żądania przekazane. Żądaniami bezpośrednimi są te, które są odbierane bezpośrednio od klientów. Żądaniami przekazanymi są te, które nadchodzą z innych współdziałających serwerów z pamięcią podręczną na zlecenie ich klientów z powodu nietrafień w pamięci na obiekt w serwerach z pamięcią podręczną. Żądania przekazywane między serwerami z pamięcią podręczną mogą łatwo przeciążyć serwer z pamięcią podręczną, jeżeli zdarzy się, że zawiera on obiekty żądane czyli poszukiwane, którymi aktualnie interesuje się większość klientów, powodując nierównomierne obciążenia poszczególnych serwerów z pamięcią podręczną, w wyniku czego występują wąskie przekroje przepustowości, ponieważ wiele tych serwerów z pamięcią podręczną oczekuje na odpowiedź z tego samego przeciążonego serwera z pamięcią podręczną, na żądania do niego przekazywane.
Znany sposób wyrównywania obciążenia polega na użyciu czołowego programu szeregującego z żądaniami bezpośrednimi równomiernie rozłożonymi między serwerami z pamięcią podręczną. Na przykład, zrównoważenie obciążeń odbywa się na poziomie DNS przez zabiegi wykonywane na tablicy odwzorowującej, na przykład w pamięci podręcznej proxy NETRA™ firmy Sun Microsystem, opisanej w raporcie: Proxy Cache Server, Product Overview, autorstwa Sun Microsystems. Wyrówywnanie obciążenia wewnątrz grupy serwerów odbywa się również za pomocą czołowego urządzenia trasującego, na przykład NETDISPATCHER™ firmy IBM, opisanego, w publikacji G. Goldszmita i G. Hunta: NetDispatcher: A TCP Connection Router, podanej w IBM Research Report, RC 20853, maj 1997. Wtym przypadku żądania dochodzące są rozprowadzane przez NETDISPATCHER™ do najmniej obciążonego serwera w klasterze. Jednak te znane sposoby dotyczą jedynie rozprowadzania żądań bezpośrednich.
Zbiorcza pamięć podręczna czy zdalna pamięć podręczna jest stosowana w rozproszonych systemach plików dla poprawienia wydajności, co opisano w publikacji Cooperative caching: Using Remote Client Memory to Improve File System Performance, dotyczącej pracy zbiorczej pamięci podręcznej i zastosowania zdalnej pamięci klienta do poprawy sprawności systemu plików, autorstwa M. D. Dahlina i in., Proc. Of 1st Symp., strony 1-14, 1994, odnośnie projektowania i wykonywania systemów operacyjnych. Tutaj pamięci podręczne plików zbioru stacji roboczych, rozproszonych w sieci LAN, są koordynowane w celu utworzenia bardziej wydajnej ogólnej pamięci podręcznej. Każda stacja robocza zapewnia pamięć podręczną nie tylko dla obiektów wskazywanych przez żądania lokalne, lecz również dla obiektów, które są wskazywane przez żądania ze zdalnej stacji roboczej. Przy nietrafieniu w lokalnej pamięci podręcznej na obiekt, żądanie lokalne może być wysyłane do innej stacji roboczej klienta, gdzie jest pobierana jego kopia w przypadku znalezienia jej. W przeciwnym przypadku
PL 195 958 B1 obiekt jest pobierany z serwera obiektów. Nacisk wywiera się na sposób osiągania spójności pamięci podręcznej wobec aktualizacji trafień, jak przy przemieszczeniu lokalnie zastępowanego obiektu do pamięci podręcznej innej stacji roboczej. Nie stosuje się dynamicznego wyrównywania obciążenia.
Zbiorcze pamięci podręczne są stosowane również w zbiorczych serwerach proxy z pamięcią podręczną w celu redukcji czasu dostępu. Przy nietrafieniu w pamięci podręcznej na obiekt, zamiast bezpośredniego przechodzenia do wyjściowego serwera sieci WWW, potencjalnie przez sieć rozległą WAN serwer z pamięcią podręczną przekazuje żądanie dostępu do obiektu ze współdziałającego serwera w sieci lokalnej LAN lub sieci regionalnej. Na przykład, po nietrafieniu w pamięci podręcznej systemu SQUID na obiekt, serwer z pamięcią podręczną przesyła pod adres grupowy, przy użyciu protokołu internetowego ICP pamięci podręcznej, żądanie ustawienia innych serwerów z pamięcią podręczną, co opisano w publikacji: Squid Internet Object Cache, dotyczącej pamięci podręcznej obiektów internetowych SQUID, autorstwa D. Wesselsa i in. Jeżeli pamięci podręczne zawierają żądany obiekt, to współdziałające serwery z pamięcią podręczną odpowiadają komunikatem wskazującym to. Żądany obiekt zostaje następnie pobrany ze współdziałającego serwera z pamięcią podręczną, który jako pierwszy odpowiedział na żądanie, zamiast z wyjściowego serwera sieci WWW. Natomiast, jeżeli po upływie zadanego czasu nie odpowie żaden z nich, to żądany obiekt zostanie pobrany z wyjściowego serwera sieci WWW. W serwerze z pamięcią podręczną mogą występować niezrównoważenia obciążeń z powodu żądań przekazywanych.
Zamiast przesyłania pod adres grupowy, system CRISP stosuje do zlokalizowania obiektu przechowywanego w pamięci podręcznej innego serwera proxy centralny katalog logiczny, co opisano w publikacji: Directory Structures for Scaleable Internet Caches, dotyczącej struktur katalogowych dla skalowalnych internetowych pamięci podręcznych, autorstwa S. Gadde'a i in., Technical Report CS-1997-18, Dept. of Computer SCIENCE, Duke University, 1997. Tutaj po nietrafieniu w pamięci podręcznej na obiekt, serwer z pamięcią podręczną zapytuje o obiekt serwer katalogowy. Przy zastosowaniu centralnej informacji o obiektach przechowywanych w pamięciach podręcznych, serwer katalogowy wysyła żądanie do serwera, którego pamięć podręczna zawiera obiekt. Po odnalezieniu obiekt zostaje wysłany do serwera żądającego, natomiast serwer wyjściowy w dalszym ciągu zapewnia pamięć podręczną dla obiektu. Jeżeli żadna pamięć podręczna nie zawiera kopii żądanego obiektu, serwer żądający pobiera obiekt z wyjściowego serwera sieci WWW przez sieć Internet, potencjalnie przez sieć rozległą WAN. Również i tutaj może on spowodować niezrównoważenie obciążeń w serwerze z pamięcią podręczną wskutek przekazywania następnych żądań do tego serwera z pamięcią podręczną.
Jeszcze innym sposobem lokalizacji obiektu we współdziałającym serwerze z pamięcią podręczną jest zastosowanie funkcji mieszania. Przykładem jest protokół trasowania tablicy pamięci podręcznej CARP, opisany przez V. Valloppillila i K. W. Rossa w publikacji: Cache Array Routing Protocol v1.0, dotyczącej protokołu trasującego tablicy pamięci podręcznej v1.0, podanej w Internet Draft, luty 1998. W protokole CARP cała przestrzeń obiektowa jest podzielona na partycje między współdziałające serwery z pamięcią podręczną, po jednej partycji na każdy serwer z pamięcią podręczną. Po odebraniu przez serwer z pamięcią podręczną, ze skonfigurowanej przeglądarki klienta, żądania zidentyfikowania tej partycji, funkcja mieszania jest dostarczana do klucza z żądania, takiego jak adres lokalizacji URL lub adres przeznaczenia IP do identyfikacji partycji. Jeżeli funkcja mieszania jest przyporządkowana żądającemu serwerowi z pamięcią podręczną, to żądanie jest obsługiwane lokalnie. W przeciwnym przypadku żądanie jest przekazywane do właściwego serwera z pamięcią podręczną w zidentyfikowanej partycji.
Protokoły SQUID, CRISP i CARP stosują pamięci podręczne innych serwerów proxy do zmniejszenia prawdopodobieństwa konieczności przejścia przez sieć rozległą WAN w przypadku braku obiektu. Różnią się one mechanizmem lokalizowania współdziałającego serwera z pamięcią podręczną, którego pamięć podręczna zawiera kopie żądanego obiektu. Każdy serwer z pamięcią podręczną obsługuje dwa rodzaje żądań: żądania bezpośrednie i żądania przekazane. Żądania bezpośrednie to te, które są odbierane bezpośrednio z przeglądarek dołączonych do serwera proxy. Żądania przekazane to te, które są realizowane przez współdziałające serwery z pamięcią podręczną, których pamięci podręczne nie zawierają żądanych obiektów. W dowolnym zdarzeniu, gdy, zależnie od typów obiektów, serwer proxy buforuje w pamięci podręcznej, jego jednostka centralna mogłaby być przeciążona, ponieważ jest zajęta obsługiwaniem żądań zarówno bezpośrednich, jak i przekazywanych.
Sposób według wynalazku charakteryzuje się tym, że odbiera się żądania przekazywane ze współdziałającego serwera z pamięcią podręczną w odpowiedzi na nietrafienie w pamięci podręcznej
PL 195 958 B1 na obiekt we współdziałającym serwerze z pamięcią podręczną i przesuwa się jedno lub więcej przekazanych żądań dla obiektu między współdziałającymi serwerami z pamięcią podręczną, na podstawie stanu obciążenia i częstotliwości przekazywania dla obiektu.
Korzystnie podczas przesuwania monitoruje się okresowo stan obciążenia i częstotliwości przekazywania do serwera z pamięcią podręczną, będącego właścicielem i przesuwa się proaktywnie jeden lub więcej kolejnych, przekazywanych żądań dla obiektu buforowanego w pamięci podręcznej z serwera z pamięcią podręczną, będącego właścicielem, do jednego lub więcej współdziałających serwerów z pamięcią podręczną, w odpowiedzi na monitorowanie.
Korzystnie podczas przesuwania sprawdza się stan obciążenia i częstotliwości przekazywania, w odpowiedzi na przekazane żądanie.
Korzystnie podczas przesuwania modyfikuje się własność obiektu na własność współdzieloną między dwa lub więcej współdziałających serwerów z pamięcią podręczną.
Korzystnie scala się współdzieloną własność w odpowiedzi na zmianę stanu obciążenia.
Korzystnie monitoruje się lokalnie obciążenie w każdym współdziałającym serwerze z pamięcią podręczną.
Korzystnie monitoruje się obciążenie rozproszone i przechowuje się informację o stanie obciążenia lokalnego, częstotliwości przekazywania i własności dla obiektów buforowanych w pamięci podręcznej w każdym współdziałającym serwerze z pamięcią podręczną.
Korzystnie okresowo wymienia się i utrzymuje się, za pomocą współdziałających serwerów z pamięcią podręczną, jedną lub więcej spośród informacji o stanie obciążenia, częstotliwości przekazywania i informacji o własności.
Korzystnie wymianę realizuje się przez współdziałające serwery z pamięcią podręczną, poprzez nakładanie jednej lub więcej spośród informacji o stanie obciążenia, częstotliwości przekazywania i informacji o własności, na jedno lub więcej przekazywanych żądań i odpowiedzi.
Korzystnie odbiera się przekazywane żądanie i aktualizuje się częstotliwość przekazywania.
Korzystnie identyfikuje się mniej obciążony, współdziałający serwer z pamięcią podręczną i przesyła się jedno lub więcej spośród żądania przesunięcia i kopii obiektu buforowanego w pamięci podręcznej, do mniej obciążonego, współdziałającego serwera z pamięcią podręczną.
Korzystnie odbiera się żądanie przesunięcia przez mniej obciążony, współdziałający serwer z pamięcią podręczną i żąda się przez mniej obciążony, współdziałający serwer z pamięcią podręczną, kopię obiektu z serwera inicjującego obiekt, w odpowiedzi na żądanie przesunięcia.
Korzystnie kopię otrzymuje się za pomocą jednej lub więcej sieci Intranet, WAN lub Internet.
Korzystnie przesyła się pod adres grupowy komunikat żądania przesunięcia do jednego lub więcej innych współdziałających serwerów z pamięcią podręczną, w wyniku czego następne przekazywane żądania przesuwa się.
Korzystnie utrzymuje się przez współdziałające serwery z pamięcią podręczną lokalną kopię tablicy buforowania w pamięci podręcznej i modyfikuje się funkcję mieszania oraz modyfikuje się przez współdziałające serwery z pamięcią podręczną informację o własności poprzez jedną operację spośród aktualizacji lokalnej kopii tablicy buforowania w pamięci podręcznej i modyfikacji funkcji mieszania.
Korzystnie modyfikuje się własność obiektu do własności współdzielonej między co najmniej dwa ze współdziałających serwerów z pamięcią podręczną i przekazuje się przez współdziałające serwery z pamięcią podręczną następne żądania obiektu do jednego lub więcej spośród mniej obciążonych współwłaścicieli obiektu.
Korzystnie wykrywa się zmniejszenie stanu obciążenia dla obiektu współdzielonego i scala się współdzieloną własność, w odpowiedzi na zmniejszenie stanu obciążenia.
Korzystnie podczas przesuwania jednego lub więcej przekazanych żądań przesyła się kopię obiektu z serwera z pamięcią podręczną, będącego właścicielem, do jednego lub więcej współdziałających serwerów z pamięcią podręczną oraz odbiera się i buforuje się w pamięci podręcznej kopie obiektu za pomocą współdziałającego serwera z pamięcią podręczną.
Korzystnie oblicza się stan obciążenia każdego serwera z pamięcią podręczną w minionych odcinkach czasu, oblicza się średnie obciążenie wszystkich serwerów z pamięcią podręczną w minionych odcinkach czasu i znajduje się serwery z pamięcią podręczną, które przekroczyły poziom progowy wyższy od obciążenia średniego.
Korzystnie jako stan obciążenia współdziałającego serwera z pamięcią podręczną stosuje się sumę ważoną liczby żądań przekazanych i liczby żądań bezpośrednich dla współdziałającego serwera z pamięcią podręczną.
PL 195 958 B1
Korzystnie przechowuje się informację pamięci podręcznej na jednym lub więcej spośród poziomu każdego obiektu i poziomu partycji obiektów.
Korzystnie w informacji pamięci podręcznej poziomu obiektu lub partycji stosuje się częstotliwość przekazywania związaną z obiektem.
Korzystnie monitoruje się obciążenie rozproszone i przechowuje się lokalnie informację o stanach obciążenia, częstotliwości przekazywania i własności dla obiektów buforowanych w pamięci podręcznej w każdym serwerze z pamięcią podręczną.
Korzystnie wymienia się okresowo przez współdziałające serwery z pamięcią podręczną jedną lub więcej spośród informacji o stanie obciążenia, częstotliwości przekazywania i własności.
Korzystnie wymianę realizuje się przez współdziałające serwery z pamięcią podręczną, poprzez nakładanie jednej lub więcej spośród informacji o stanie obciążenia, częstotliwości przekazywania i własności, na jedno lub więcej przekazywanych żądań i odpowiedzi.
Sposób według drugiego wykonania wynalazku charakteryzuje się tym, że gdy każdy serwer z pamięcią podręczną odbiera żądania bezpośrednie i żądania przekazywane i przy nietrafieniu w pamięci podręcznej na obiekt, żądanie przekazuje się do serwera z pamięcią podręczną, będącego właścicielem, buforującego w pamięci podręcznej obiekt, monitoruje się stan obciążenia i częstotliwość przekazywania dla współdziałających serwerów z pamięcią podręczną i przesuwa się jedno lub więcej przekazywanych żądań z jednego współdziałającego serwera z pamięcią podręczną do drugiego współdziałającego serwera z pamięcią podręczną, na podstawie zmiany stanu obciążenia i częstotliwości przekazywania.
Korzystnie podczas monitorowania stanu obciążenia oblicza się stan obciążenia każdego serwera z pamięcią podręczną w minionych odcinkach czasu, oblicza się średnie obciążenie wszystkich serwerów proxy z pamięcią podręczną w minionych odcinkach czasu i znajduje się serwery proxy z pamięcią podręczną, które przekroczyły poziom progowy wyższy od obciążenia średniego.
Korzystnie przesuwanie realizuje się w odpowiedzi na jedno lub więcej żądań przekazywanych ze współdziałających serwerów z pamięcią podręczną i monitoruje się okresowo stan obciążenia i częstotliwość przekazywania.
Korzystnie utrzymuje się, przez centralny monitor logiczny obciążenia, częstotliwość przekazywania i stan obciążenia dla współdziałających serwerów z pamięcią podręczną.
Korzystnie jako stan obciążenia serwera z pamięcią podręczną stosuje się sumę ważoną liczby żądań przekazanych i liczby żądań bezpośrednich dla serwera z pamięcią podręczną.
Korzystnie przechowuje się informację pamięci podręcznej na każdym poziomie obiektu lub na poziomie partycji obiektów.
Korzystnie w informacji pamięci podręcznej poziomu obiektu lub poziomu partycji stosuje się częstotliwość przekazywania żądań przez monitor obciążenia do obiektu.
Korzystnie stosuje się współdziałające serwery z pamięcią podręczną, zawierające współdziałające serwery proxy z pamięcią podręczną.
Korzystnie utrzymuje się przez serwer katalogu logicznego tablicę buforowania w pamięci podręcznej i tablicę obciążenia, przez serwery z pamięcią podręczną zapytuje się serwer katalogowy o lokalizacje obiektów w innych serwerach z pamięcią podręczną dla nietrafionego lokalnie obiektu i przez serwer katalogu wyrównuje się obciążenie żądaniami między serwerami z pamięcią podręczną przez obsługę tablicy buforowania w pamięci podręcznej, w odpowiedzi na żądania lokalizacji obiektu.
Korzystnie przesyła się pod adres grupowy, przez każdy serwer z pamięcią podręczną, do listy współdziałających serwerów z pamięcią podręczną dla lokalizacji kopii nietrafionego lokalnie obiektu i podczas przesuwania wyklucza się przeciążone serwery z pamięcią podręczną z podzbioru sąsiadujących serwerów z pamięcią podręczną dla przesyłania pod adres grupowy.
Zaletą wynalazku jest umożliwienie dynamicznego wyrównania obciążenia wewnątrz zbioru serwerów proxy z pamięcią podręczną. Wynalazek rozwiązuje problem niezrównoważenia obciążenia, wynikającego z występowania zbyt wielu żądań względem obiektów aktywnych, przekazywanych równocześnie do tego samego serwera proxy. Dzięki wynalazkowi w systemie zawierającym zbiór współdziałających serwerów proxy z pamięcią podręczną, żądanie może zostać przekazane do innego współdziałającego serwera, jeżeli żądany obiekt nie może być znaleziony lokalnie. Zamiast pobierania obiektu z inicjującego serwera sieci WWW przez sieć Internet, serwer z pamięcią podręczną pobiera kopie ze współdziałającego serwera z pamięcią podręczną w sieci lokalnej lub sieci Intranet. Średni czas odpowiedzi na dostęp do obiektu jest poprawiany za pomocą współdziałającego serwera z pamięcią podręczną.
PL 195 958 B1
Zaletą wynalazku jest również umożliwienie okresowego monitorowania stanu obciążenia i częstotliwości przekazywania do serwera z pamięcią podręczną. Wynalazek obejmuje różne wykonania wyrównywania obciążenia, włącznie zarówno ze środowiskami scentralizowanymi, jak i rozproszonymi oraz z ich hybrydami. Na przykład, monitor rozkładu obciążenia jest stosowany do monitorowania i utrzymywania lokalnego warunku obciążenia, częstotliwości przekazywania i własności dla obiektów buforowanych w każdym ze współdziałających serwerów z pamięcią podręczną.
Przedmiot wynalazku jest pokazany w przykładach wykonania na rysunku, na którym fig. 1a przedstawia w postaci schematu blokowego system wykorzystujący zbiór serwerów proxy z pamięcią podręczną, do zastosowania w nim centralnego układu logicznego do wyrównywania obciążenia, fig. 1b - w postaci schematu blokowego inny system wykorzystujący zbiór serwerów proxy z pamięcią podręczną, do zastosowania w nim centralnego układu logicznego do wyrównywania obciążenia, fig. 2a i 2b - przykłady formatów danych dla dwóch tablic, które są utrzymywane przez monitor obciążenia z fig. 1a i 1b, fig. 3 - przykład sieci działań w przypadku monitora obciążenia, w odpowiedzi na żądanie z serwera z pamięcią podręczną z powodu nietrafienia w pamięci podręcznej na obiekt i fig. 4 - przykład sieci działań w przypadku serwera z pamięcią podręczną w odpowiedzi na żądanie obiektu.
Poniżej opisano układ logiczny wyrównywania obciążenia według wynalazku, zarówno dla struktury scentralizowanej, jak i rozproszonej.
Figura 1a przedstawia przykład schematu blokowego systemu wykorzystującego zbiór serwerów z pamięcią podręczną, do wyrównywania obciążenia według wynalazku, w którym stosuje się scentralizowany układ logiczny. System zawiera zbiór serwerów 150 typu proxy z pamięcią podręczną. Przedstawiono tylko jeden poziom serwera z pamięcią podręczną, lecz może mieć zastosowanie układ hierarchiczny serwerów 150 z pamięcią podręczną. Te serwery proxy z pamięcią podręczną są połączone między sobą przez sieć lokalną LAN lub regionalną 140 albo sieć Intranet. Każdy serwer 150 z pamięcią podręczną jest połączony również z siecią rozległą WAN lub Internet 110. Za pośrednictwem sieci WAN serwery z pamięcią podręczną mogą sięgać 115 do inicjujących serwerów sieci WWW po obiekty, których nie mogą znaleźć lokalnie w swoich pamięciach podręcznych.
Logiczny monitor 120 obciążenia zawiera logiczny układ wyrównujący 130 do monitorowania warunków obciążenia i częstotliwości przekazywania, co pokazano na fig. 2a, dla współdziałających serwerów 150 z pamięcią podręczną, i zapewnia ich wyrównywanie. Różne właściwości funkcjonalne monitora 120 obciążenia pozostają w jednym lub wielu serwerach z pamięcią podręczną, podlegają powielaniu i rozprowadzaniu między serwerami z pamięcią podręczną lub pozostają w innym wyspecjalizowanym systemie, na przykład serwerze lub stanowisku roboczym z komputerem osobistym PC. W scentralizowanej konfiguracji systemu monitor obciążenia 120 realizuje funkcję centralnego katalogu do kierowania przekazywanych żądań 125 do serwerów z pamięcią podręczną. Do połączenia z każdym serwerem 150 z pamięcią podręczną jest skonfigurowana jedna lub więcej przeglądarek 160. Żądania bezpośrednie 155 są wysyłane od klientów, na przykład komputerów pracujących z przeglądarkami 160, do skonfigurowanego serwera 150 z pamięcią podręczną. Ewentualnie serwer 150 z pamięcią podręczną przekazuje komunikat do monitora 120 obciążenia.
Poniżej opisano bardziej szczegółowo różne przykładowe monitory 120 obciążenia. Jeżeli stan niezrównoważenia obciążenia lub trendu nie występuje, to monitor 120 obciążenia przekazuje żądanie 125 do serwera 150 z pamięcią podręczną, który ma prawo własności do żądanego obiektu. Serwer mający prawo własności, z pamięcią podręczną wysyła następnie żądany obiekt do żądającego serwera z pamięcią podręczną, na przykład za pośrednictwem sieci LAN 140.
Jeżeli zostanie stwierdzone lub przewidziane predykcyjnie, na podstawie trendu obciążenia, rzeczywiste niezrównoważenie obciążenia, to monitor 120 obciążenia inicjuje przesunięcie przekazanych żądań z przeciążonego serwera z pamięcią podręczną do jednego lub więcej niedociążonych lub mniej obciążonych serwerów. Przesunięcie prawa własności odbywa się na podstawie stanu obciążenia serwerów 150 z pamięcią podręczną i częstotliwości przekazywania, jak również innych czynników, co opisano dalej.
Figury 2a i 2b przedstawiają przykłady formatów danych dwóch tablic utrzymywanych przez monitor obciążenia, które zawierają tablicę 102 obciążenia i tablicę 101 buforowania. Możliwe jest alternatywne lub równoważne zastosowanie również pojedynczej tablicy lub różnych innych struktur danych. Tablica 102 obciążenia zawiera warunki obciążenia 1021 każdego (A, B, ... 1022) serwera
150 z pamięcią podręczną, tak że jest możliwe wyznaczenie serwerów przeciążonych i niedociążonych. Warunki obciążenia 1021 są okresowo aktualizowane przez badanie każdego serwera z pamięcią podręczną. Obciążenie serwera z pamięcią podręczną jest na przykład ważoną sumą liczby przePL 195 958 B1 kazanych żądań i liczby żądań bezpośrednich. Zidentyfikowanie przeciążonego serwera 150 z pamięcią podręczną odbywa się tak, że na przykład monitor obciążenia oblicza średnie obciążenie wszystkich serwerów proxy z pamięcią podręczną w minionych odcinakach czasu. Przeciążone serwery z pamięcią podręczną są na przykład tymi, których obciążenia przekraczają poziom progowy powyżej obciążenia średniego. Przy wyrównywaniu obciążenia jest uwzględniany stopień przeciążenia, jak również obciążenie z tytułu częstotliwości przekazywania 1011 obiektów buforowanych w pamięci podręcznej. W ten sposób monitor obciążenia decyduje, czy kontynuować, czy nie kontynuować przesuwanie niektórych lub wszystkich przekazywanych żądań z przeciążonego serwera C 10213 z pamięcią podręczną na niedociążony serwer A 10211. Tablica buforowania 1010 zawiera informację o częstotliwości przekazywania 1011 i przypisanej własności 1012 obiektu lub części obiektów. Prawo własności jest pojedyncze, jak 10122, lub współdzielone, jak 10121, 10123, między dwa lub więcej współdziałających serwerów z pamięcią podręczną, co omówiono poniżej. Częstotliwość przekazywania 1011 reprezentuje liczbę razy przekazania żądania obiektu przez monitor obciążenia. Poza częstotliwością przekazywania 1011, tablica buforowania 101 utrzymuje również znacznik czasowy 1013, wskazujący ostatni czas przekazania żądania obiektu. Ponadto informacja o buforowaniu w pamięci podręcznej dla obiektu lub partycji 1010 może zawierać częstotliwość przekazywania w zadanym okresie czasu, stosunek liczba/czas, dla identyfikatora obiektu lub identyfikatora 101 partycji przez monitor 120 obciążenia. Partycje obiektu 1010 są ewentualnie oparte na funkcji mieszania, na identyfikatorach obiektów lub na strukturach katalogowych, w które są zorganizowane obiekty przez serwery w sieci WWW. W przypadku partycji dowolny obiekt należący do partycji jest przekazywany przez monitor obciążenia. Przesunięcie prawa własności opiera się na stanie obciążenia serwerów, częstotliwości przekazywania 1011 i innych informacjach, na przykład informacji ze znacznika czasowego.
Figura 3 przedstawia przykład sieci działań dla etapów podejmowanych przez monitor 120 obciążenia w odpowiedzi na żądanie 125 z serwera 150 z pamięcią podręczną z powodu nietrafienia w pamięci podręcznej na obiekt. W etapie 201 następuje sprawdzenie, czy żądany obiekt/partycja jest znajdywana w tablicy buforowania w pamięci podręcznej. Jeżeli nie, to w etapie 202 następuje utworzenie nowej pozycji dla obiektu/partycji i serwer z pamięcią podręczną zostaje wyznaczony jako jego właściciel. Po umieszczeniu tej pozycji w tablicy buforowania, w etapie 203 następuje aktualizacja częstotliwości przekazywania 1011, na przykład zwiększenie o 1. Monitor obciążenia sprawdza następnie tablice obciążenia 102, kontrolując w etapie 204, czy właściciel jest aktualnie przeciążony i czy częstotliwość przekazywania 1011 przyczynia się znacznie do tego. Jeżeli tak, to w etapie 205 monitor obciążenia znajduje serwer z pamięcią podręczną niedociążony lub mniej obciążony i przyporządkowuje go jako nowy serwer 10122 lub wspólny właściciel żądanego obiektu. Odpowiednio do tego jest aktualizowana informacja własności 1012 w przypadku obiektu w tablicy buforowania 101. Sieć działań w tablicy buforowania 101 lub innej zastosowanej strukturze danych obejmuje współdzieloną własność 10123 lub hierarchiczną własność 1012. W etapie 206 jest następnie przekazywane żądanie 125, ewentualnie z kopią żądanego obiektu, dla nowej samodzielnej własności 10122 lub współwłaściciela. Ewentualnie, od nowego właściciela żąda się osiągnięcia 115 kopii obiektu z serwera inicjującego obiekt, na przykład za pośrednictwem sieci Internet 110. Etap 204 sprawdzania obciążenia jest realizowany proaktywnie, to znaczy okresowo lub w odpowiedzi na wykrycie przeciążenia albo tendencji do przeciążania w warunkach obciążenia 1021, przynajmniej częściowo w wyniku dużej częstotliwości przekazywania 1011, dla danego identyfikatora obiektu/partycji 1010 i serwera z pamięcią podręczną, zgodnie z prawem własności 1012. Jeżeli tak, to w etapie 205 monitor obciążenia znajduje niedociążony lub mniej obciążony serwer z pamięcią podręczną, przyporządkowuje go jako nowego właściciela lub współwłaściciela żądanego obiektu i ewentualnie wysyła kopie obiektu do nowego właściciela lub współwłaściciela, jak powyżej. Natomiast, jeżeli jest stosowany model ze współdzieloną własnością, to w etapie 208, gdy stan obciążenia przy warunkach obciążenia 10211 i częstotliwość przekazywania 1011 w przypadku obiektu będącego współwłasnością w p 10101 spada w etapie 209 poniżej zadanego progu, to współwłasność B, A 10121 jest scalana w pojedynczą własność, a jedna z kopii jest usuwana z jednego z serwerów dla własności A 10121 serwera z pamięcią podręczną, na przykład w celu zwolnienia miejsca dla innego aktualnego obiektu.
Figura 4 przedstawia przykład sieci działań w przypadku serwera z pamięcią podręczną, gdy zostaje odebrane żądanie obiektu w postaci żądania bezpośredniego 155 z przeglądarki 160 albo żądania przekazanego 125 z monitora 120 obciążenia. W etapie 301 następuje najpierw sprawdzenie, czy żądany obiekt jest znajdywany lokalnie w pamięci podręcznej. Jeżeli tak, to w etapie 302 zwraca on obiekt i w etapie 306 proces kończy się. W przeciwnym przypadku w etapie 303 następuje sprawdzenie,
PL 195 958 B1 czy żądanie jest żądaniem bezpośrednim, czy przekazanym. Jeżeli jest to żądanie bezpośrednie, to w etapie 304 następuje przesłanie żądania do monitora obciążenia i w etapie 306 proces kończy się. Natomiast, jeżeli żądanie jest żądaniem przekazanym, to w etapie 305 serwer z pamięcią podręczną pobiera obiekt z inicjującego serwera sieci WWW i zwraca obiekt. Proces następnie kończy się w etapie 306.
Załóżmy w odniesieniu do fig. 1a, 2a i 2b, na przykład, że przeglądarka 160 dołączona do serwera C 10223 z pamięcią podręczną odbiera żądanie bezpośrednie 155 obiektu p 10101. Z tablicy 101 buforowania widać, że obiekt p 10101 nie jest buforowany w pamięci podręcznej w serwerze C 10223, lecz jest buforowany czyli posiadany przez serwer B 10222 z pamięcią podręczną, zakładając, że własność B, A 10121 jest wstępnie oznaczana wyłącznie przez serwer B. W odpowiedzi na brak buforowania w pamięci podręcznej obiektu p, serwer C 10223 wysyła do monitora 120 obciążenia żądanie obiektu p. Zależnie od warunków obciążenia 10212 i częstotliwości przekazywania 1011 żądań obiektu p 10101 do serwera B, monitor obciążenia przekazuje żądanie do serwera B, żądając od niego wysłania kopii obiektu p do serwera C. Natomiast, jeżeli serwer B jest aktualnie przeciążony lub wykazuje tendencję do tego, monitor obciążenia przesuwa przekazywane żądanie przez znalezienie niedociążonego lub mniej obciążonego serwera, który może służyć jako nowa własność B, A 10121 lub współwłaściciel obiektu p. To żądanie obiektu jest następnie przekazywane do nowego serwera mającego prawa własności lub współwłasności, na przykład serwera A. Nawet po przeniesieniu prawa własności, kopia obiektu p znajduje się nadal w pamięci podręcznej serwera B i nadal obsługuje żądania bezpośrednie, nadchodzące do serwera B. Jednak w tym przykładzie wszystkie lub ewentualnie niektóre, w przypadku współwłasności przyszłe przekazywane żądania obiektu p będą przesuwane do serwera A. Natomiast w przypadku współdzielenia własności B, A 10121, przyszłe przekazywane żądania obiektu p 10101 są wysyłane do mniej obciążonego serwera.
W opisanym sposobie wyrównywania obciążenia, w przypadku zbioru serwerów proxy z pamięcią podręczną, w którym do lokalizowania obiektu wykorzystuje się centralny katalog logiczny, rozpatruje się różne możliwości alternatywne.
Wynalazek jest na przykład stosowany do realizacji wyrównywania obciążenia w przypadku zbioru współdziałających serwerów proxy z pamięcią podręczną do lokalizacji kopii brakującego lokalnie obiektu. W tym przypadku nie ma potrzeby utrzymywania gdziekolwiek w systemie konkretnej informacji o własności. Jednak nie ma również pewności znalezienia obiektu we współdziałających serwerach z pamięcią podręczną. Załóżmy, że do utrzymywania warunków obciążenia 1021 wszystkich serwerów proxy z pamięcią podręczną i współużytkowania tej informacji przez każdy serwer 150 z pamięcią podręczną, wykorzystuje się logiczny monitor 120 obciążenia. Wyrównanie obciążenia uzyskuje się przez wyłączenie przeciążonych serwerów z listy serwerów współdziałających, do których serwer z pamięcią podręczną adresuje grupowo swoje żądanie zwane również żądaniem przesuwanym. W wyniku tego przekazywane żądania 125 są odbierane tylko przez mniej obciążone serwery z pamięcią podręczną.
Inną alternatywną możliwością jest sposób wyrównywania obciążenia w przypadku zbioru współdziałających serwerów proxy z pamięcią podręczną, w którym do lokalizacji kopii lokalnie brakującego obiektu jest stosowana funkcja mieszania. W tym przypadku przestrzeń obiektowa jest podzielona między współdziałające serwery proxy 150 z pamięcią podręczną, po jednej partycji na każdy serwer z pamięcią podręczną. W celu osiągnięcia wyrównania obciążenia przez przesuwanie przekazywanych żądań, zmienia się funkcje mieszania tak, że przekazywane żądania nie dochodzą do serwerów przeciążonych. Jednym ze sposobów jest mieszanie przestrzeni obiektowej w dużej liczbie bloków, znacznie większej od liczby serwerów proxy z pamięcią podręczną. Te zmieszane bloki są następnie przyporządkowywane serwerom z pamięcią podręczną w celu wyrównania obciążeń między nimi. Okresowo można przenieść jeden lub więcej zmieszanych bloków z przeciążonego serwera do serwera niedociążonego, skutecznie zmieniając funkcje mieszania.
W obu przypadkach stan obciążenia współdziałającego serwera z pamięcią podręczną oddziałuje przez częstotliwość przenoszenia bezpośrednio na obliczany stan obciążenia. Na przykład, stan obciążenia jest sumą ważoną liczby przekazanych żądań i liczby żądań bezpośrednich do współdziałającego serwera z pamięcią podręczną. Ewentualnie monitor obciążenia prowadzi oddzielnie stan ogólnej częstotliwości przekazywania dla każdego współdziałającego serwera z pamięcią podręczną.
Na podstawie fig. 1b, 2a i 2b można opisać jeszcze inną możliwość polegającą na stosowaniu monitora 120 obciążenia, który jest rozproszony, to znaczy w którym część lub cały monitor obciążenia jest duplikowany w serwerach 150 z pamięcią podręczną. W jednym z przykładów rozproszony
PL 195 958 B1 monitor obciążenia zawiera lokalną informację warunków obciążenia 1021 i, jak to opisano poniżej, ewentualnie o warunkach obciążenia wszystkich serwerów A, B, C, ... 1022, to znaczy współdziałających serwerów 150 z pamięcią podręczną. Korzystne jest, jeżeli rozproszony monitor 120' obciążenia zawiera również tablicę buforowania z informacją o częstotliwości przekazywania 1011 i własności 1012 dla każdego identyfikatora obiektu/partycji 1010. Ewentualnie również funkcja mieszania, na przykład jak opisana powyżej, jest rozpraszana i przechowywana w serwerach z pamięcią podręczną. Informacja warunków obciążenia 1021 i/lub informacja tablicy 101 pamięci podręcznej są wymieniane okresowo, gdy następuje zmiana stanu własności lub znaczna zmiana stanu obciążenia, względnie nanoszone na przekazywane żądania i odpowiedzi pamięci podręcznej. Informacja warunków obciążenia 1021 jest również zaopatrywana w znacznik czasu przyporządkowywany jej do celów śledzenia i innych.
W tym przypadku, jeżeli serwer 150 z pamięcią podręczną wykazuje brak pamięci podręcznej, to lokalny monitor 120' obciążenia przegląda własność żądanego obiektu w swojej lokalnej tablicy 101 buforowania i przekazuje żądanie do serwera mającego prawo własności, z pamięcią podręczną. Ewentualnie stosuje się funkcję mieszania dla klucza z żądania, na przykład adresu lokalizacji URL lub adresu przeznaczenia IP do identyfikacji partycji i żądania następnie przekazywanego do właściwego serwera z pamięcią podręczną. Gdy przekazywane żądanie, to znaczy z serwera z pamięcią podręczną, któremu brakowało pamięci podręcznej, jest odbierane, to serwer będący właścicielem, z pamięcią podręczną identyfikuje to jako przekazywane żądanie, na przykład przez identyfikowanie go jako pochodzącego z innego serwera z pamięcią podręczną w przeciwieństwie do klienta, i aktualizuje informację o stosowanej częstotliwości przekazywania 1011, co pokazano na fig. 3 w etapie 203. Jeżeli wskazywana jest w etapie 204 tendencja lub stan przeciążenia, to serwer posiadający prawo własności, z pamięcią podręczną odpowiada żądającemu serwerowi z pamięcią podręczną żądaniem przesunięcia kopii obiektu buforowanego w pamięci podręcznej. W odróżnieniu od tego, żądający serwer z pamięcią podręczną otrzymuje kopie z inicjującego serwera obiektowego za pośrednictwem sieci Intranet, WAN lub Internet 110. W każdym przypadku, gdy serwer przekazujący buforuje w pamięci podręcznej kopie obiektu, ten pozostaje w pamięci podręcznej, tym samym proporcjonalnie zmniejszając obciążenie serwera z prawami własności. Ponadto serwer mający prawo własności na przykład przekazuje na adres grupowy komunikat do jednego lub więcej innych współdziałających serwerów 150 z pamięcią podręczną, tak że następne przekazywane żądania będą przesuwane, na przykład przez aktualizację ich kopii lokalnej tablicy pamięci podręcznej lub modyfikację funkcji mieszania w etapie 205. W tym punkcie inne serwery z pamięcią podręczną mogą przekazywać swoje żądania do nowego właściciela lub do najmniej obciążonego właściciela dwóch lub więcej serwerów 150 z pamięcią podręczną, jeżeli własność jest współużytkowana, co oznaczono w lokalnej kopii tablicy 101 pamięci podręcznej. Gdy obciążenie właściciela inicjującego pamięć podręczną zmniejsza się w etapie 204 do akceptowalnego poziomu, jak to wskazano na przykład w postaci poziomu progowego, informacja o współwłasności jest scalana do stanu pierwotnego, na przykład B, A 10121 --> B.
W przypadku, gdy informacja warunków obciążenia 1021 dla wszystkich serwerów A, B, C, ...1022 z pamięcią podręczną jest całkowicie rozproszona, żądający serwer z pamięcią podręczną mógłby proaktywnie sprawdzać stan obciążenia i przyporządkowany znacznik czasowy serwera będącego właścicielem w etapie 204, to znaczy przed przekazaniem żądania. Przy przeciążeniu żądający serwer zażąda kopii obiektu z serwera mającego prawo własności lub z serwera inicjującego za pośrednictwem sieci Intranet lub sieci Internet 110 i ewentualnie potwierdzenia stanu obciążenia. Serwer mający przypisaną własność, z pamięcią podręczną mógłby aktualizować swoją tablicę 101 buforowania lub modyfikować funkcję mieszania dla wskazania nowej współwłasności w etapie 205. Serwer żądający lub serwer mający prawo własności mógłby następnie wysłać, pod adresem grupowym, do wszystkich innych serwerów 150 z pamięcią podręczną komunikat wskazujący nową współwłasność obiektu i ewentualnie zawierający aktualizowany stan obciążenia. Przy tym inne serwery z pamięcią podręczną mogłyby aktualizować swoje tablice 101 buforowania lub modyfikować funkcję mieszania dla wskazania w etapie 202 nowej współwłasności i przekazywać w etapie 206 swoje żądania do najmniej obciążonego właściciela dwóch lub więcej serwerów 150 z pamięcią podręczną, wskazanych wlokalnej kopii tablicy 101 buforowania. Po zmniejszeniu się w etapach 204 i 208 obciążenia pamięci podręcznej współwłaściciela do poziomu akceptowalnego, na przykład oznaczonego poziomem progowym, informację o własności scala się w etapie 209 do jej stanu pierwotnego.
PL 195 958 B1
Wynalazek ma zastosowanie w postaci oprogramowania mającego postać produktu programu komputerowego lub urządzenia pamięciowego programu do wykonywania w procesorze zaopatrzonym w serwer 150 z pamięcią podręczną albo innego komputera stanowiącego wykonanie monitora 120 obciążenia, na przykład opisanego modelu scentralizowanego. Oprogramowanie realizowane w kodzie zorientowanym obiektowo, na przykład w języku JAVA, zapewnia przenośność między różnymi platformami. Możliwe jest wykorzystanie także innych środowisk programowych, kompilowanych lub interpretowanych, zorientowanych proceduralnie i/lub obiektowo, obejmujących, chociaż nie wyłącznie, REXX, C, C++, i Smalltalk.
Sposoby według wynalazku są realizowane na przykład za pomocą urządzenia pamięciowego magnetycznego, elektrycznego, optycznego lub innych urządzeń do trwałego przechowywania oprogramowania i/lub danych, którymi są na przykład dyski magnetyczne, urządzenia pamięciowe o dostępie bezpośrednim, pamięć pęcherzykowa, taśma, formaty dysków optycznych, takie jak pamięci CD-ROM i DVD, oraz inne urządzenia z pamięcią trwałą, tak zwaną pamięcią nieulotną, jak pamięć rdzeniowa, ROM, PROM, pamięć błyskowa lub bateryjnie podtrzymywana pamięć RAM. Jeden lub więcej elementów występujących w pamięci serwera 120' jest dostępnych i możliwych do utrzymywania bezpośrednio za pomocą dysku, sieci, innego serwera lub jest możliwych do zdecentralizowania w wielu serwerach.
W systemie zawierającym zbiór współdziałających serwerów z pamięcią podręczną, na przykład serwerów proxy z pamięcią podręczną, żądania są przekazywane do współdziałającego serwera z pamięcią podręczną, jeżeli żądany obiekt nie jest możliwy do wyszukania lokalnego. Wykrywa się stan przeciążenia, jeżeli, na przykład w wyniku wzajemnej zbieżności wywołań, na niektóre obiekty jest duże zapotrzebowanie ze strony wszystkich klientów, a serwery z pamięcią podręczną, zawierające takie aktywne obiekty, stają się przeciążone przekazywanymi żądaniami. W związku z tym realizuje się wyrównanie obciążenia przez przesuniecie niektórych lub wszystkich przekazywanych żądań z przeciążonego serwera z pamięcią podręczną na serwer mniej obciążony. Znajdują zastosowanie zarówno scentralizowane, jak i rozproszone środowiska wyrównywania obciążeń.
Claims (35)
1. Sposób wyrównywania obciążenia współdziałających serwerów z pamięcią podręczną, znamienny tym, że odbiera się żądania przekazywane ze współdziałającego serwera z pamięcią podręczną w odpowiedzi na nietrafienie w pamięci podręcznej na obiekt we współdziałającym serwerze z pamięcią podręczną i przesuwa się jedno lub więcej przekazanych żądań dla obiektu między współdziałającymi serwerami z pamięcią podręczną, na podstawie stanu obciążenia i częstotliwości przekazywania dla obiektu.
2. Sposób według zastrz. 1, znamienny tym, że podczas przesuwania monitoruje się okresowo stan obciążenia i częstotliwości przekazywania do serwera z pamięcią podręczną, będącego właścicielem i przesuwa się proaktywnie jeden lub więcej kolejnych, przekazywanych żądań dla obiektu buforowanego w pamięci podręcznej z serwera z pamięcią podręczną, będącego właścicielem, do jednego lub więcej współdziałających serwerów z pamięcią podręczną, w odpowiedzi na monitorowanie.
3. Sposób według zastrz. 1 albo 2, znamienny tym, że podczas przesuwania sprawdza się stan obciążenia i częstotliwości przekazywania, w odpowiedzi na przekazane żądanie.
4. Sposób według zastrz. 3, znamienny tym, że podczas przesuwania modyfikuje się własność obiektu na własność współdzieloną między dwa lub więcej współdziałających serwerów z pamięcią podręczną.
5. Sposób według zastrz. 4, znamienny tym, że scala się współdzieloną własność w odpowiedzi na zmianę stanu obciążenia.
6. Sposób według zastrz. 4, albo 5, znamienny tym, że monitoruje się lokalnie obciążenie w każdym współdziałającym serwerze z pamięcią podręczną.
7. Sposób według zastrz. 6, znamienny tym, że monitoruje się obciążenie rozproszone i przechowuje się informację o stanie obciążenia lokalnego, częstotliwości przekazywania i własności dla obiektów buforowanych w pamięci podręcznej w każdym współdziałającym serwerze z pamięcią podręczną.
8. Sposób według zastrz. 7, znamienny tym, że okresowo wymienia się i utrzymuje się, za pomocą współdziałających serwerów z pamięcią podręczną, jedną lub więcej spośród informacji o stanie obciążenia, częstotliwości przekazywania i informacji o własności.
PL 195 958 B1
9. Sposób według zastrz. 7, znamienny tym, że wymianę realizuje się przez współdziałające serwery z pamięcią podręczną, poprzez nakładanie jednej lub więcej spośród informacji o stanie obciążenia, częstotliwości przekazywania i informacji o własności, na jedno lub więcej przekazywanych żądań i odpowiedzi.
10. Sposób według zastrz. 7, albo 8, albo 9, znamienny tym, że odbiera się przekazywane żądanie i aktualizuje się częstotliwość przekazywania.
11. Sposób według zastrz. 10, znamienny tym, że identyfikuje się mniej obciążony, współdziałający serwer z pamięcią podręczną i przesyła się jedno lub więcej spośród żądania przesunięcia i kopii obiektu buforowanego w pamięci podręcznej, do mniej obciążonego, współdziałającego serwera z pamięcią podręczną.
12. Sposób według zastrz. 11, znamienny tym, że odbiera się żądanie przesunięcia przez mniej obciążony, współdziałający serwer z pamięcią podręczną i żąda się przez mniej obciążony, współdziałający serwer z pamięcią podręczną, kopię obiektu z serwera inicjującego obiekt, w odpowiedzi na żądanie przesunięcia.
13. Sposób według zastrz. 11, znamienny tym, że kopię otrzymuje się za pomocą jednej lub więcej sieci Intranet, WAN lub Internet.
14. Sposób według zastrz. 11, albo 12, albo 13, znamienny tym, że przesyła się pod adres grupowy komunikat żądania przesunięcia do jednego lub więcej innych współdziałających serwerów z pamięcią podręczną, w wyniku czego następne przekazywane żądania przesuwa się.
15. Sposób według zastrz. 14, znamienny tym, że utrzymuje się przez współdziałające serwery z pamięcią podręczną lokalną kopię tablicy buforowania w pamięci podręcznej i modyfikuje się funkcję mieszania oraz modyfikuje się przez współdziałające serwery z pamięcią podręczną informację o własności poprzez jedną operację spośród aktualizacji lokalnej kopii tablicy buforowania w pamięci podręcznej i modyfikacji funkcji mieszania.
16. Sposób według zastrz. 15, znamienny tym, że modyfikuje się własność obiektu do własności współdzielonej między co najmniej dwa ze współdziałających serwerów z pamięcią podręczną i przekazuje się przez współdziałające serwery z pamięcią podręczną następne żądania obiektu do jednego lub więcej spośród mniej obciążonych współwłaścicieli obiektu.
17. Sposób według zastrz. 16, znamienny tym, że wykrywa się zmniejszenie stanu obciążenia dla obiektu współdzielonego i scala się współdzieloną własność, w odpowiedzi na zmniejszenie stanu obciążenia.
18. Sposób według zastrz. 15, albo 16, albo 17, znamienny tym, że podczas przesuwania jednego lub więcej przekazanych żądań przesyła się kopię obiektu z serwera z pamięcią podręczną, będącego właścicielem, do jednego lub więcej współdziałających serwerów z pamięcią podręczną oraz odbiera się i buforuje się w pamięci podręcznej kopię obiektu za pomocą współdziałającego serwera z pamięcią podręczną.
19. Sposób według zastrz. 18, znamienny tym, że oblicza się stan obciążenia każdego serwera z pamięcią podręczną w minionych odcinkach czasu, oblicza się średnie obciążenie wszystkich serwerów z pamięcią podręczną w minionych odcinkach czasu i znajduje się serwery z pamięcią podręczną, które przekroczyły poziom progowy wyższy od obciążenia średniego.
20. Sposób według zastrz. 19, znamienny tym, że jako stan obciążenia współdziałającego serwera z pamięcią podręczną stosuje się sumę ważoną liczby żądań przekazanych i liczby żądań bezpośrednich dla współdziałającego serwera z pamięcią podręczną.
21. Sposób według zastrz. 19, albo 20, znamienny tym, że przechowuje się informację pamięci podręcznej na jednym lub więcej spośród poziomu każdego obiektu i poziomu partycji obiektów.
22. Sposób według zastrz. 21, znamienny tym, że w informacji pamięci podręcznej poziomu obiektu lub partycji stosuje się częstotliwość przekazywania związaną z obiektem.
23. Sposób według zastrz. 22, znamienny tym, że monitoruje się obciążenie rozproszone i przechowuje się lokalnie informację o stanach obciążenia, częstotliwości przekazywania i własności dla obiektów buforowanych w pamięci podręcznej w każdym serwerze z pamięcią podręczną.
24. Sposób według zastrz. 23, znamienny tym, że wymienia się okresowo przez współdziałające serwery z pamięcią podręczną jedną lub więcej spośród informacji stanie obciążenia, częstotliwości przekazywania własności.
25. Sposób według zastrz. 22, albo 23, albo 24, znamienny tym, że wymianę realizuje się przez współdziałające serwery z pamięcią podręczną, poprzez nakładanie jednej lub więcej spośród
PL 195 958 B1 informacji o stanie obciążenia, częstotliwości przekazywania i własności, na jedno lub więcej przekazywanych żądań i odpowiedzi.
26. Sposób wyrównywania obciążenia współdziałających serwerów z pamięcią podręczną, znamienny tym, że gdy każdy serwer z pamięcią podręczną odbiera żądania bezpośrednie i żądania przekazywane i przy nietrafieniu w pamięci podręcznej na obiekt, żądanie przekazuje się do serwera z pamięcią podręczną, będącego właścicielem, buforującego w pamięci podręcznej obiekt, monitoruje się stan obciążenia i częstotliwość przekazywania dla współdziałających serwerów z pamięcią podręczną i przesuwa się jedno lub więcej przekazywanych żądań z jednego współdziałającego serwera z pamięcią podręczną do drugiego współdziałającego serwera z pamięcią podręczną, na podstawie zmiany stanu obciążenia i częstotliwości przekazywania.
27. Sposób według zastrz. 26, znamienny tym, że podczas monitorowania stanu obciążenia oblicza się stan obciążenia każdego serwera z pamięcią podręczną w minionych odcinkach czasu, oblicza się średnie obciążenie wszystkich serwerów proxy z pamięcią podręczną w minionych odcinkach czasu i znajduje się serwery proxy z pamięcią podręczną, które przekroczyły poziom progowy wyższy od obciążenia średniego.
28. Sposób według zastrz. 26, albo 27, znamienny tym, że przesuwanie realizuje się w odpowiedzi na jedno lub więcej żądań przekazywanych ze współdziałających serwerów z pamięcią podręczną i monitoruje się okresowo stan obciążenia i częstotliwość przekazywania.
29. Sposób według zastrz. 26, albo 27, znamienny tym, że utrzymuje się, przez centralny monitor logiczny obciążenia, częstotliwość przekazywania i stan obciążenia dla współdziałających serwerów z pamięcią podręczną.
30. Sposób według zastrz. 29, znamienny tym, że jako stan obciążenia serwera z pamięcią podręczną stosuje się sumę ważoną liczby żądań przekazanych i liczby żądań bezpośrednich dla serwera z pamięcią podręczną.
31. Sposób według zastrz. 29, znamienny tym, że przechowuje się informację pamięci podręcznej na każdym poziomie obiektu lub na poziomie partycji obiektów.
32. Sposób według zastrz. 31, znamienny tym, że w informacji pamięci podręcznej poziomu obiektu lub poziomu partycji stosuje się częstotliwość przekazywania żądań przez monitor obciążenia do obiektu.
33. Sposób według zastrz. 30, albo 31, albo 32, znamienny tym, że stosuje się współdziałające serwery z pamięcią podręczną, zawierające współdziałające serwery proxy z pamięcią podręczną.
34. Sposób według zastrz. 30, albo 31, albo 32, znamienny tym, że utrzymuje się przez serwer katalogu logicznego tablicę buforowania w pamięci podręcznej i tablice obciążenia, przez serwery z pamięcią podręczną zapytuje się serwer katalogowy o lokalizacje obiektów w innych serwerach z pamięcią podręczną dla nietrafionego lokalnie obiektu i przez serwer katalogu wyrównuje się obciążenie żądaniami między serwerami z pamięcią podręczną przez obsługę tablicy buforowania w pamięci podręcznej, w odpowiedzi na żądania lokalizacji obiektu.
35. Sposób według zastrz. 29, znamienny tym, że przesyła się pod adres grupowy, przez każdy serwer z pamięcią podręczną, do listy współdziałających serwerów z pamięcią podręczną dla lokalizacji kopii nietrafionego lokalnie obiektu i podczas przesuwania wyklucza się przeciążone serwery z pamięcią podręczną z podzbioru sąsiadujących serwerów z pamięcią podręczną dla przesyłania pod adres grupowy.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/169,223 US6438652B1 (en) | 1998-10-09 | 1998-10-09 | Load balancing cooperating cache servers by shifting forwarded request |
PCT/GB1999/003360 WO2000022526A1 (en) | 1998-10-09 | 1999-10-08 | Load balancing cooperating cache servers |
Publications (2)
Publication Number | Publication Date |
---|---|
PL347159A1 PL347159A1 (en) | 2002-03-25 |
PL195958B1 true PL195958B1 (pl) | 2007-11-30 |
Family
ID=22614704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PL99347159A PL195958B1 (pl) | 1998-10-09 | 1999-10-08 | Sposób wyrównywania obciążenia współdziałających serwerów z pamięcią podręczną |
Country Status (13)
Country | Link |
---|---|
US (1) | US6438652B1 (pl) |
EP (1) | EP1119808A1 (pl) |
JP (2) | JP3989682B2 (pl) |
KR (1) | KR100473671B1 (pl) |
CN (1) | CN1255728C (pl) |
AU (1) | AU6114499A (pl) |
CA (1) | CA2343802C (pl) |
CZ (1) | CZ20011281A3 (pl) |
HU (1) | HU224787B1 (pl) |
IL (1) | IL141973A (pl) |
PL (1) | PL195958B1 (pl) |
TW (1) | TW444458B (pl) |
WO (1) | WO2000022526A1 (pl) |
Families Citing this family (301)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CZ266699A3 (cs) * | 1997-01-13 | 1999-12-15 | John Overton | Automatizovaný systém pro archivaci obrazů |
US7233978B2 (en) * | 1998-07-08 | 2007-06-19 | Econnectix, Llc | Method and apparatus for managing location information in a network separate from the data to which the location information pertains |
US7103640B1 (en) | 1999-09-14 | 2006-09-05 | Econnectix, Llc | Network distributed tracking wire transfer protocol |
US6993034B1 (en) * | 1998-10-15 | 2006-01-31 | International Business Machines Corporation | Cluster destination address table—IP routing for clusters |
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
US6553376B1 (en) * | 1998-11-18 | 2003-04-22 | Infolibria, Inc. | Efficient content server using request redirection |
US6490615B1 (en) * | 1998-11-20 | 2002-12-03 | International Business Machines Corporation | Scalable cache |
JP2000163288A (ja) * | 1998-11-30 | 2000-06-16 | Nec Corp | データ記憶システム、データ再配置方法及び記録媒体 |
US8225002B2 (en) | 1999-01-22 | 2012-07-17 | Network Disk, Inc. | Data storage and data sharing in a network of heterogeneous computers |
US6801949B1 (en) | 1999-04-12 | 2004-10-05 | Rainfinity, Inc. | Distributed server cluster with graphical user interface |
US6622127B1 (en) | 1999-05-11 | 2003-09-16 | Kaiser Foundation Hospitals | Order allocation to select from inventory locations stocking few units of inventory |
US7177825B1 (en) | 1999-05-11 | 2007-02-13 | Borders Louis H | Integrated system for ordering, fulfillment, and delivery of consumer products using a data network |
US6975937B1 (en) * | 1999-05-11 | 2005-12-13 | Christopher Kantarjiev | Technique for processing customer service transactions at customer site using mobile computing device |
US7146505B1 (en) * | 1999-06-01 | 2006-12-05 | America Online, Inc. | Secure data exchange between date processing systems |
US6751191B1 (en) | 1999-06-29 | 2004-06-15 | Cisco Technology, Inc. | Load sharing and redundancy scheme |
US7185114B1 (en) * | 1999-08-07 | 2007-02-27 | Shrikumar Hariharasubrahmanian | Virtual memory systems and methods |
US6667980B1 (en) | 1999-10-21 | 2003-12-23 | Sun Microsystems, Inc. | Method and apparatus for providing scalable services using a packet distribution table |
US7401115B1 (en) * | 2000-10-23 | 2008-07-15 | Aol Llc | Processing selected browser requests |
JP3463803B2 (ja) * | 1999-11-09 | 2003-11-05 | 松下電器産業株式会社 | クラスタサーバ装置 |
US6681251B1 (en) * | 1999-11-18 | 2004-01-20 | International Business Machines Corporation | Workload balancing in clustered application servers |
US6405252B1 (en) * | 1999-11-22 | 2002-06-11 | Speedera Networks, Inc. | Integrated point of presence server network |
US7925713B1 (en) * | 1999-11-22 | 2011-04-12 | Akamai Technologies, Inc. | Method for operating an integrated point of presence server network |
US7523181B2 (en) | 1999-11-22 | 2009-04-21 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US6694358B1 (en) | 1999-11-22 | 2004-02-17 | Speedera Networks, Inc. | Performance computer network method |
US6754699B2 (en) | 2000-07-19 | 2004-06-22 | Speedera Networks, Inc. | Content delivery and global traffic management network system |
US7590739B2 (en) * | 1999-11-22 | 2009-09-15 | Akamai Technologies, Inc. | Distributed on-demand computing system |
US7349979B1 (en) * | 1999-12-02 | 2008-03-25 | Cisco Technology, Inc. | Method and apparatus for redirecting network traffic |
US6799202B1 (en) * | 1999-12-16 | 2004-09-28 | Hachiro Kawaii | Federated operating system for a server |
US6754706B1 (en) | 1999-12-16 | 2004-06-22 | Speedera Networks, Inc. | Scalable domain name system with persistence and load balancing |
US6735205B1 (en) | 2000-01-10 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for fast packet forwarding in cluster networking |
US6587866B1 (en) * | 2000-01-10 | 2003-07-01 | Sun Microsystems, Inc. | Method for distributing packets to server nodes using network client affinity and packet distribution table |
US6748437B1 (en) | 2000-01-10 | 2004-06-08 | Sun Microsystems, Inc. | Method for creating forwarding lists for cluster networking |
US6862613B1 (en) | 2000-01-10 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus for managing operations of clustered computer systems |
US6757836B1 (en) | 2000-01-10 | 2004-06-29 | Sun Microsystems, Inc. | Method and apparatus for resolving partial connectivity in a clustered computing system |
US6789213B2 (en) * | 2000-01-10 | 2004-09-07 | Sun Microsystems, Inc. | Controlled take over of services by remaining nodes of clustered computing system |
US6735206B1 (en) | 2000-01-10 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for performing a fast service lookup in cluster networking |
US6769008B1 (en) | 2000-01-10 | 2004-07-27 | Sun Microsystems, Inc. | Method and apparatus for dynamically altering configurations of clustered computer systems |
US6839829B1 (en) | 2000-01-18 | 2005-01-04 | Cisco Technology, Inc. | Routing protocol based redundancy design for shared-access networks |
US7058007B1 (en) | 2000-01-18 | 2006-06-06 | Cisco Technology, Inc. | Method for a cable modem to rapidly switch to a backup CMTS |
US6823377B1 (en) * | 2000-01-28 | 2004-11-23 | International Business Machines Corporation | Arrangements and methods for latency-sensitive hashing for collaborative web caching |
US6850968B1 (en) * | 2000-02-01 | 2005-02-01 | Service Co. | Reduction of network server loading |
US6865601B1 (en) * | 2000-02-11 | 2005-03-08 | Hewlett-Packard Development Company L.P. | Method for allocating web sites on a web server cluster based on balancing memory and load requirements |
US7313616B1 (en) * | 2000-02-17 | 2007-12-25 | International Business Machines Corporation | Web site management in a world wide web communication network through periodic reassignment of the server computers designated for respective web documents related to document weight based on byte count and program content |
US7565450B2 (en) * | 2000-03-16 | 2009-07-21 | Adara Networks Inc. | System and method for using a mapping between client addresses and addresses of caches to support content delivery |
US7552233B2 (en) * | 2000-03-16 | 2009-06-23 | Adara Networks, Inc. | System and method for information object routing in computer networks |
US7162539B2 (en) * | 2000-03-16 | 2007-01-09 | Adara Networks, Inc. | System and method for discovering information objects and information object repositories in computer networks |
US7650376B1 (en) * | 2000-03-27 | 2010-01-19 | Blumenau Trevor I | Content distribution system for distributing content over a network, with particular applicability to distributing high-bandwidth content |
US7058706B1 (en) | 2000-03-31 | 2006-06-06 | Akamai Technologies, Inc. | Method and apparatus for determining latency between multiple servers and a client |
US6862623B1 (en) * | 2000-04-14 | 2005-03-01 | Microsoft Corporation | Capacity planning for server resources |
US20020002611A1 (en) * | 2000-04-17 | 2002-01-03 | Mark Vange | System and method for shifting functionality between multiple web servers |
US6980533B1 (en) * | 2000-04-19 | 2005-12-27 | Lucent Technologies Inc. | Load balancing technique for a wireless internet access system |
US6970425B1 (en) * | 2000-04-27 | 2005-11-29 | At&T Corp. | Method and apparatus for throttling and distributing data transmissions across a network |
US7908337B2 (en) * | 2000-04-28 | 2011-03-15 | Adara Networks, Inc. | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content |
US7725596B2 (en) * | 2000-04-28 | 2010-05-25 | Adara Networks, Inc. | System and method for resolving network layer anycast addresses to network layer unicast addresses |
US7343422B2 (en) | 2000-04-28 | 2008-03-11 | Adara Networks, Inc. | System and method for using uniform resource locators to map application layer content names to network layer anycast addresses |
US7577754B2 (en) * | 2000-04-28 | 2009-08-18 | Adara Networks, Inc. | System and method for controlling access to content carried in a caching architecture |
US6611906B1 (en) * | 2000-04-30 | 2003-08-26 | Hewlett-Packard Development Company, L.P. | Self-organizing hardware processing entities that cooperate to execute requests |
US6598140B1 (en) * | 2000-04-30 | 2003-07-22 | Hewlett-Packard Development Company, L.P. | Memory controller having separate agents that process memory transactions in parallel |
EP1154356A1 (en) * | 2000-05-09 | 2001-11-14 | Alcatel | Caching of files during loading from a distributed file system |
US7240283B1 (en) | 2000-11-10 | 2007-07-03 | Narasimha Rao Paila | Data transmission and rendering techniques implemented over a client-server system |
US6757796B1 (en) * | 2000-05-15 | 2004-06-29 | Lucent Technologies Inc. | Method and system for caching streaming live broadcasts transmitted over a network |
AU2001265075A1 (en) * | 2000-05-26 | 2001-12-11 | Infolibria, Inc. | High performance efficient subsystem for data object storage |
US20080005275A1 (en) * | 2000-06-02 | 2008-01-03 | Econnectix, Llc | Method and apparatus for managing location information in a network separate from the data to which the location information pertains |
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 |
US6738614B1 (en) * | 2000-06-19 | 2004-05-18 | 1477.Com Wireless, Inc. | Method and system for communicating data to a wireless device |
US6704781B1 (en) * | 2000-06-27 | 2004-03-09 | Intel Corporation | System and method for content caching implementing compensation for providing caching services |
US6999988B2 (en) * | 2000-07-13 | 2006-02-14 | Lucent Technologies Inc. | Method and system for data layout and replacement in distributed streaming caches on the Internet |
US8060581B2 (en) | 2000-07-19 | 2011-11-15 | Akamai Technologies, Inc. | Dynamic image delivery system |
US8341297B2 (en) | 2000-07-19 | 2012-12-25 | Akamai Technologies, Inc. | Latencies and weightings in a domain name service (DNS) system |
AU2002222964A1 (en) * | 2000-07-19 | 2002-01-30 | Speedera Networks, Inc. | Content delivery and global traffic management across a network system |
US7912978B2 (en) | 2000-07-19 | 2011-03-22 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US7346676B1 (en) | 2000-07-19 | 2008-03-18 | Akamai Technologies, Inc. | Load balancing service |
US7653706B2 (en) | 2000-07-19 | 2010-01-26 | Akamai Technologies, Inc. | Dynamic image delivery system |
US7725602B2 (en) | 2000-07-19 | 2010-05-25 | Akamai Technologies, Inc. | Domain name resolution using a distributed DNS network |
US6804077B1 (en) * | 2000-07-25 | 2004-10-12 | Certance Llc | Method and apparatus for reinitializing a tape drive after a power loss |
US7454516B1 (en) * | 2000-08-03 | 2008-11-18 | Microsoft Corporation | Scalable virtual partitioning of resources |
CA2415888C (en) * | 2000-08-04 | 2008-10-21 | Avaya Technology Corporation | Intelligent demand driven recognition of url objects in connection oriented transactions |
US7711790B1 (en) * | 2000-08-24 | 2010-05-04 | Foundry Networks, Inc. | Securing an accessible computer system |
GB2366406A (en) | 2000-09-01 | 2002-03-06 | Ncr Int Inc | Downloading and uploading data in information networks |
US9130954B2 (en) * | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
US7657629B1 (en) | 2000-09-26 | 2010-02-02 | Foundry Networks, Inc. | Global server load balancing |
US7454500B1 (en) | 2000-09-26 | 2008-11-18 | Foundry Networks, Inc. | Global server load balancing |
JP2002108840A (ja) * | 2000-09-28 | 2002-04-12 | Toshiba Corp | 分散型注文受付システム、受付サーバ、コンテンツサーバ、分散型注文受付方法及びコンピュータプログラム製品 |
JP2002123435A (ja) * | 2000-10-17 | 2002-04-26 | Hitachi Ltd | 情報提供装置および方法 |
JP2002140202A (ja) * | 2000-11-01 | 2002-05-17 | Hitachi Ltd | 情報配信システムおよびその負荷分散方法 |
US6950849B1 (en) * | 2000-11-01 | 2005-09-27 | Hob Gmbh & Co. Kg | Controlling load-balanced access by user computers to server computers in a computer network |
US6785707B2 (en) * | 2000-11-14 | 2004-08-31 | Bitfone Corp. | Enhanced multimedia mobile content delivery and message system using cache management |
US20020069241A1 (en) * | 2000-12-06 | 2002-06-06 | Girija Narlikar | Method and apparatus for client-side proxy selection |
US7233914B1 (en) | 2000-12-27 | 2007-06-19 | Joyo Wijaya | Technique for implementing item substitution for unavailable items relating to a customer order |
US7035911B2 (en) | 2001-01-12 | 2006-04-25 | Epicrealm, Licensing Llc | Method and system for community data caching |
US7188145B2 (en) | 2001-01-12 | 2007-03-06 | Epicrealm Licensing Llc | Method and system for dynamic distributed data caching |
US7024479B2 (en) * | 2001-01-22 | 2006-04-04 | Intel Corporation | Filtering calls in system area networks |
US6990667B2 (en) * | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US7155515B1 (en) * | 2001-02-06 | 2006-12-26 | Microsoft Corporation | Distributed load balancing for single entry-point systems |
US7193968B1 (en) * | 2001-02-08 | 2007-03-20 | Cisco Technology, Inc. | Sample netflow for network traffic data collection |
JP2002251313A (ja) * | 2001-02-23 | 2002-09-06 | Fujitsu Ltd | キャッシュサーバ及び分散キャッシュサーバシステム |
US7555561B2 (en) * | 2001-03-19 | 2009-06-30 | The Aerospace Corporation | Cooperative adaptive web caching routing and forwarding web content data broadcasting method |
US7308423B1 (en) | 2001-03-19 | 2007-12-11 | Franklin Goodhue Woodward | Technique for handling sales of regulated items implemented over a data network |
US20020184327A1 (en) * | 2001-05-11 | 2002-12-05 | Major Robert Drew | System and method for partitioning address space in a proxy cache server cluster |
US7584418B2 (en) | 2001-05-31 | 2009-09-01 | Oracle International Corporation | Methods, systems, and articles of manufacture for prefabricating an information page |
US20020184612A1 (en) * | 2001-06-01 | 2002-12-05 | Hunt Joseph R. | Runtime configurable caching for component factories |
US7899911B2 (en) * | 2001-06-07 | 2011-03-01 | Intel Corporation | Method and apparatus to retrieve information in a network |
US7881208B1 (en) | 2001-06-18 | 2011-02-01 | Cisco Technology, Inc. | Gateway load balancing protocol |
US7117242B2 (en) * | 2001-06-20 | 2006-10-03 | Hewlett-Packard Development Company, L.P. | System and method for workload-aware request distribution in cluster-based network servers |
US8041814B2 (en) * | 2001-06-28 | 2011-10-18 | International Business Machines Corporation | Method, system and computer program product for hierarchical load balancing |
US7610357B1 (en) * | 2001-06-29 | 2009-10-27 | Cisco Technology, Inc. | Predictively responding to SNMP commands |
US20030014596A1 (en) * | 2001-07-10 | 2003-01-16 | Naohiko Irie | Streaming data cache for multimedia processor |
US7274659B2 (en) * | 2001-07-27 | 2007-09-25 | Western Digital Ventures, Inc. | Providing streaming media data |
US20030028583A1 (en) * | 2001-07-31 | 2003-02-06 | International Business Machines Corporation | Method and apparatus for providing dynamic workload transition during workload simulation on e-business application server |
US20030041215A1 (en) * | 2001-08-27 | 2003-02-27 | George Robert T. | Method and apparatus for the utilization of distributed caches |
CN1290027C (zh) * | 2001-08-27 | 2006-12-13 | 皇家飞利浦电子股份有限公司 | 高速缓存方法 |
US6973536B1 (en) * | 2001-08-31 | 2005-12-06 | Oracle Corporation | Self-adaptive hybrid cache |
US6721845B1 (en) * | 2001-09-24 | 2004-04-13 | Lsi Logic Corporation | Algorithm for maintaining maximum streaming performance of mirrored disks |
US6839758B2 (en) * | 2001-09-28 | 2005-01-04 | Intel Corporation | Network processor for cache array routing |
US7769823B2 (en) * | 2001-09-28 | 2010-08-03 | F5 Networks, Inc. | Method and system for distributing requests for content |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US7761594B1 (en) * | 2001-10-15 | 2010-07-20 | Netapp, Inc. | Method and apparatus for forwarding requests in a cache hierarchy based on user-defined forwarding rules |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
WO2003039143A1 (fr) * | 2001-10-30 | 2003-05-08 | Nikon Corporation | Appareil d'accumulation d'images, appareil de support d'accumulation d'images, systeme d'accumulation d'images, appareil de commande d'images, appareil de stockage d'images |
US7984110B1 (en) * | 2001-11-02 | 2011-07-19 | Hewlett-Packard Company | Method and system for load balancing |
US7734726B2 (en) * | 2001-11-27 | 2010-06-08 | International Business Machines Corporation | System and method for dynamically allocating processing on a network amongst multiple network servers |
US20030105830A1 (en) * | 2001-12-03 | 2003-06-05 | Duc Pham | Scalable network media access controller and methods |
KR100426306B1 (ko) * | 2001-12-11 | 2004-04-08 | 한국전자통신연구원 | 인트라 도메인내에서의 sip 서버간 로드 분산 처리 방법 |
US6775673B2 (en) * | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Logical volume-level migration in a partition-based distributed file system |
US6772161B2 (en) * | 2001-12-19 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Object-level migration in a partition-based distributed file system |
US6775672B2 (en) * | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Updating references to a migrated object in a partition-based distributed file system |
US6687793B1 (en) * | 2001-12-28 | 2004-02-03 | Vignette Corporation | Method and system for optimizing resources for cache management |
JP2003296226A (ja) * | 2002-04-05 | 2003-10-17 | Hitachi Ltd | ウェブアクセス提供方法およびサーバ装置 |
US8819252B1 (en) | 2002-05-03 | 2014-08-26 | Foundry Networks, Llc | Transaction rate limiting |
US8554929B1 (en) * | 2002-05-03 | 2013-10-08 | Foundry Networks, Llc | Connection rate limiting for server load balancing and transparent cache switching |
US7707295B1 (en) * | 2002-05-03 | 2010-04-27 | Foundry Networks, Inc. | Connection rate limiting |
JP2003323329A (ja) * | 2002-05-07 | 2003-11-14 | Fujitsu Ltd | 分散ファイル管理方法及びプログラム |
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
US7334124B2 (en) * | 2002-07-22 | 2008-02-19 | Vormetric, Inc. | Logical access block processing protocol for transparent secure file storage |
US6931530B2 (en) | 2002-07-22 | 2005-08-16 | Vormetric, Inc. | Secure network file access controller implementing access control and auditing |
US6678828B1 (en) * | 2002-07-22 | 2004-01-13 | Vormetric, Inc. | Secure network file access control system |
US7676576B1 (en) | 2002-08-01 | 2010-03-09 | Foundry Networks, Inc. | Method and system to clear counters used for statistical tracking for global server load balancing |
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 |
US7162579B2 (en) * | 2002-08-19 | 2007-01-09 | Aristos Logic Corporation | Asymmetrical load balancing for mirrored storage volumes |
US7552223B1 (en) | 2002-09-16 | 2009-06-23 | Netapp, Inc. | Apparatus and method for data consistency in a proxy cache |
US7171469B2 (en) * | 2002-09-16 | 2007-01-30 | Network Appliance, Inc. | Apparatus and method for storing data in a proxy cache in a network |
US7284030B2 (en) * | 2002-09-16 | 2007-10-16 | Network Appliance, Inc. | Apparatus and method for processing data in a network |
US7143288B2 (en) * | 2002-10-16 | 2006-11-28 | Vormetric, Inc. | Secure file system server architecture and methods |
US7353538B2 (en) * | 2002-11-08 | 2008-04-01 | Federal Network Systems Llc | Server resource management, analysis, and intrusion negation |
US7986625B2 (en) * | 2002-12-10 | 2011-07-26 | International Business Machines Corporation | Resource-aware system, method and program product for managing request traffic based on a management policy |
KR100901622B1 (ko) * | 2002-12-13 | 2009-06-08 | 주식회사 케이티 | 디렉토리 트래픽 부하 감소를 위해 로컬 캐슁 기법을이용한 사용자 정보 검색 방법 |
US7349997B2 (en) * | 2003-01-15 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Dynamic command filter |
US20040215703A1 (en) * | 2003-02-18 | 2004-10-28 | Xiping Song | System supporting concurrent operation of multiple executable application operation sessions |
US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US20050027862A1 (en) * | 2003-07-18 | 2005-02-03 | Nguyen Tien Le | System and methods of cooperatively load-balancing clustered servers |
US9584360B2 (en) * | 2003-09-29 | 2017-02-28 | Foundry Networks, Llc | Global server load balancing support for private VIP addresses |
US8655755B2 (en) * | 2003-10-22 | 2014-02-18 | Scottrade, Inc. | System and method for the automated brokerage of financial instruments |
EP1697833B1 (en) * | 2003-11-04 | 2018-03-28 | Thomson Licensing | Cache server at hotspots for downloading services |
US7543041B2 (en) * | 2003-11-12 | 2009-06-02 | International Business Machines Corporation | Pattern based web services using caching |
US8572249B2 (en) | 2003-12-10 | 2013-10-29 | Aventail Llc | Network appliance for balancing load and platform services |
US20050188055A1 (en) * | 2003-12-31 | 2005-08-25 | Saletore Vikram A. | Distributed and dynamic content replication for server cluster acceleration |
US7631081B2 (en) * | 2004-02-27 | 2009-12-08 | International Business Machines Corporation | Method and apparatus for hierarchical selective personalization |
CN100370770C (zh) * | 2004-03-03 | 2008-02-20 | 华为技术有限公司 | 实现网络长连接倒换的方法 |
JPWO2005086003A1 (ja) * | 2004-03-08 | 2008-01-24 | アネックスシステムズ株式会社 | データベース・システム |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
WO2005089236A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providing intelligent pre-staging of data in a compute environment |
JP4147198B2 (ja) * | 2004-03-23 | 2008-09-10 | 株式会社日立製作所 | ストレージシステム |
US20060064478A1 (en) * | 2004-05-03 | 2006-03-23 | Level 3 Communications, Inc. | Geo-locating load balancing |
US8089972B2 (en) | 2004-05-03 | 2012-01-03 | Level 3 Communications, Llc | Registration redirect server |
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 |
JP4190455B2 (ja) * | 2004-05-11 | 2008-12-03 | 富士通株式会社 | 負荷分散装置及びプログラム |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
CN100359891C (zh) * | 2004-06-30 | 2008-01-02 | 中兴通讯股份有限公司 | 一种通过缓存提高多媒体消息中心业务处理性能的方法 |
US7660897B2 (en) * | 2004-08-03 | 2010-02-09 | International Business Machines Corporation | Method, system, and program for distributing application transactions among work servers |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US7423977B1 (en) | 2004-08-23 | 2008-09-09 | Foundry Networks Inc. | Smoothing algorithm for round trip time (RTT) measurements |
KR101078484B1 (ko) * | 2004-08-30 | 2011-10-31 | 주식회사 케이티 | 부하를 고려한 네트워크 관리시스템 및 관리방법 |
US8346956B2 (en) | 2004-10-29 | 2013-01-01 | Akamai Technologies, Inc. | Dynamic image delivery system |
US8271980B2 (en) | 2004-11-08 | 2012-09-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
US20060123217A1 (en) * | 2004-12-07 | 2006-06-08 | International Business Machines Corporation | Utilization zones for automated resource management |
US7734019B1 (en) * | 2004-12-09 | 2010-06-08 | Level 3 Communications, Llc | Systems and methods for third party emergency call termination |
US9843557B2 (en) | 2004-12-09 | 2017-12-12 | Level 3 Communications, Llc | Systems and methods for dynamically registering endpoints in a network |
US8768350B2 (en) | 2004-12-09 | 2014-07-01 | Level 3 Communications, Llc | Systems and methods for locating endpoints in a communication network |
US7877547B2 (en) * | 2004-12-29 | 2011-01-25 | International Business Machines Corporation | Method, system and circuit for efficiently managing a cache storage device |
JP4963794B2 (ja) * | 2005-03-10 | 2012-06-27 | 株式会社日立製作所 | 情報処理システム及び方法 |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US7685289B2 (en) * | 2005-03-15 | 2010-03-23 | International Business Machines Corporation | Method and apparatus for proxying initial client requests to support asynchronous resource initialization |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
CN100461806C (zh) * | 2005-04-07 | 2009-02-11 | 华为技术有限公司 | 一种语音增值业务数据信息处理方法 |
ES2614751T3 (es) | 2005-04-07 | 2017-06-01 | Iii Holdings 12, Llc | Acceso bajo demanda a recursos informáticos |
US20060248547A1 (en) * | 2005-04-14 | 2006-11-02 | International Business Machines Corporation | Multi-level cache apparatus and method for enhanced remote invocation performance |
US7895308B2 (en) * | 2005-05-11 | 2011-02-22 | Tindall Steven J | Messaging system configurator |
TWI314823B (en) * | 2005-06-24 | 2009-09-11 | Era Digital Media Co | Distributed streaming server |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US8849752B2 (en) * | 2005-07-21 | 2014-09-30 | Google Inc. | Overloaded communication session |
US8943180B1 (en) | 2005-07-29 | 2015-01-27 | 8X8, Inc. | Server-based service configuration system and approach |
CN100440891C (zh) * | 2005-12-26 | 2008-12-03 | 北京航空航天大学 | 均衡网格负载的方法 |
KR100862659B1 (ko) * | 2006-01-04 | 2008-10-10 | 삼성전자주식회사 | 인터넷 스토리지에 접근하는 방법 및 장치 |
US7624168B2 (en) | 2006-02-02 | 2009-11-24 | Hostway Corporation | Multi-layer system for scalable hosting platform |
US7685367B2 (en) * | 2006-03-08 | 2010-03-23 | Microsoft Corporation | Multi-cache cooperation for response output caching |
EP1999883A4 (en) | 2006-03-14 | 2013-03-06 | Divx Llc | FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS |
JP2007257357A (ja) * | 2006-03-23 | 2007-10-04 | Fujitsu Ltd | サーバおよび接続先サーバ切替制御方法 |
US9049268B2 (en) | 2006-05-05 | 2015-06-02 | Microsoft Technology Licensing, Llc | Global provisioning of millions of users with deployment units |
US7970856B2 (en) * | 2006-06-02 | 2011-06-28 | International Business Machines Corporation | System and method for managing and distributing assets over a network |
JP2008059315A (ja) * | 2006-08-31 | 2008-03-13 | Hitachi Ltd | 負荷分散方法及び計算機システム |
CN100466551C (zh) * | 2006-09-20 | 2009-03-04 | 杭州华三通信技术有限公司 | 一种实现负载均衡的方法和一种负载均衡设备 |
US7996421B2 (en) * | 2007-01-03 | 2011-08-09 | International Business Machines Corporation | Method, computer program product, and system for coordinating access to locally and remotely exported file systems |
US9794310B2 (en) * | 2007-01-11 | 2017-10-17 | Samsung Electronics Co., Ltd. | Meta data information providing server, client apparatus, method of providing meta data information, and method of providing content |
US8700759B2 (en) | 2007-01-19 | 2014-04-15 | International Business Machines Corporation | Autonomic optimization of presence server performance |
US8209417B2 (en) * | 2007-03-08 | 2012-06-26 | Oracle International Corporation | Dynamic resource profiles for clusterware-managed resources |
KR100892885B1 (ko) * | 2007-03-08 | 2009-04-09 | (주)에임투지 | 로드 밸런싱 시스템의 요청 배정 장치 및 로드 밸런싱 방법 |
US8676223B2 (en) * | 2007-03-23 | 2014-03-18 | Qualcomm Incorporated | Backhaul communication for interference management |
EP2153340A4 (en) * | 2007-05-08 | 2015-10-21 | Riverbed Technology Inc | HYBRID SEGMENT ORIENTED FILE SERVER, AND WAN ACCELERATOR |
US8086674B2 (en) * | 2007-06-21 | 2011-12-27 | Research In Motion Limited | Attachment server network for viewing attachments on a portable electronic device |
US8615008B2 (en) | 2007-07-11 | 2013-12-24 | Foundry Networks Llc | Duplicating network traffic through transparent VLAN flooding |
KR101467558B1 (ko) * | 2007-07-26 | 2014-12-01 | 엘지전자 주식회사 | 그래픽데이터 처리 장치 및 방법 |
US7958200B2 (en) * | 2007-08-14 | 2011-06-07 | International Business Machines Corporation | Methods, computer program products, and apparatuses for providing remote client access to exported file systems |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8248928B1 (en) | 2007-10-09 | 2012-08-21 | Foundry Networks, Llc | Monitoring server load balancing |
US20090138220A1 (en) * | 2007-11-28 | 2009-05-28 | Bell Jr Robert H | Power-aware line intervention for a multiprocessor directory-based coherency protocol |
JP5169178B2 (ja) * | 2007-11-29 | 2013-03-27 | ソニー株式会社 | 配信サーバおよび配信サーバにおけるコンテンツ配信方法 |
US20090144404A1 (en) * | 2007-12-04 | 2009-06-04 | Microsoft Corporation | Load management in a distributed system |
US20090150536A1 (en) * | 2007-12-05 | 2009-06-11 | Microsoft Corporation | Application layer congestion control |
JP4973560B2 (ja) * | 2008-03-26 | 2012-07-11 | 富士通株式会社 | サーバおよび接続先サーバ切替制御方法 |
JP2008259215A (ja) * | 2008-04-14 | 2008-10-23 | Nikon Corp | 画像管理装置 |
US20090307329A1 (en) * | 2008-06-06 | 2009-12-10 | Chris Olston | Adaptive file placement in a distributed file system |
JP5187017B2 (ja) | 2008-06-18 | 2013-04-24 | 富士通株式会社 | 分散ディスクキャッシュシステム及び分散ディスクキャッシュ方法 |
JP2010049502A (ja) * | 2008-08-21 | 2010-03-04 | Hitachi Ltd | ストレージサブシステム、及びこれを有するストレージシステム |
KR101635876B1 (ko) | 2009-01-07 | 2016-07-04 | 쏘닉 아이피, 아이엔씨. | 온라인 콘텐츠를 위한 미디어 가이드의 단일, 공동 및 자동 생성 |
JP5417944B2 (ja) * | 2009-04-02 | 2014-02-19 | ソニー株式会社 | 配信サーバ、配信サーバにおけるコンテンツ配信方法、コンテンツ配信システムおよびコンテンツ配信方法 |
US20110040893A1 (en) * | 2009-08-14 | 2011-02-17 | Broadcom Corporation | Distributed Internet caching via multiple node caching management |
CN101668046B (zh) * | 2009-10-13 | 2012-12-19 | 成都市华为赛门铁克科技有限公司 | 资源缓存方法及其装置、系统 |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US20110131341A1 (en) * | 2009-11-30 | 2011-06-02 | Microsoft Corporation | Selective content pre-caching |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
JP4995296B2 (ja) * | 2010-03-11 | 2012-08-08 | 株式会社日立製作所 | 計算機システムおよびキャッシュ制御方法 |
US8984048B1 (en) | 2010-04-18 | 2015-03-17 | Viasat, Inc. | Selective prefetch scanning |
US8392368B1 (en) * | 2010-08-27 | 2013-03-05 | Disney Enterprises, Inc. | System and method for distributing and accessing files in a distributed storage system |
US20120054440A1 (en) * | 2010-08-31 | 2012-03-01 | Toby Doig | Systems and methods for providing a hierarchy of cache layers of different types for intext advertising |
US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
US9465885B2 (en) * | 2010-12-03 | 2016-10-11 | Salesforce.Com, Inc. | Method and system for providing information to a mobile handheld device from a database system |
KR101544480B1 (ko) * | 2010-12-24 | 2015-08-13 | 주식회사 케이티 | 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체 |
CN102118433A (zh) * | 2010-12-27 | 2011-07-06 | 网宿科技股份有限公司 | 多层次的分布式集群系统 |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
KR101191544B1 (ko) | 2011-01-21 | 2012-10-15 | 엔에이치엔(주) | 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법 |
US8612550B2 (en) | 2011-02-07 | 2013-12-17 | Microsoft Corporation | Proxy-based cache content distribution and affinity |
US8768979B2 (en) * | 2011-05-25 | 2014-07-01 | International Business Machines Corporation | In-memory data grid hash scheme optimization |
US9244745B2 (en) * | 2011-06-16 | 2016-01-26 | Kodak Alaris Inc. | Allocating tasks by sending task-available messages requesting assistance with an image processing task from a server with a heavy task load to all other servers connected to the computer network |
US8862814B2 (en) | 2011-08-10 | 2014-10-14 | International Business Machines Corporation | Video object placement for cooperative caching |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
WO2013035796A1 (ja) * | 2011-09-07 | 2013-03-14 | 日本電気株式会社 | コンテンツ配信システム、制御装置およびコンテンツ配信方法 |
US9083710B1 (en) * | 2012-01-03 | 2015-07-14 | Google Inc. | Server load balancing using minimally disruptive hash tables |
US8595239B1 (en) | 2012-01-03 | 2013-11-26 | Google Inc. | Minimally disruptive hash table |
KR101434887B1 (ko) * | 2012-03-21 | 2014-09-02 | 네이버 주식회사 | 네트워크 스위치를 이용한 캐시 시스템 및 캐시 서비스 제공 방법 |
CN103580903A (zh) * | 2012-08-02 | 2014-02-12 | 人人游戏网络科技发展(上海)有限公司 | 识别服务器系统中的热点和可能故障的方法、设备和系统 |
US9246998B2 (en) | 2012-10-16 | 2016-01-26 | Microsoft Technology Licensing, Llc | Load balancer bypass |
CN103810189B (zh) * | 2012-11-08 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 一种热点消息处理方法及系统 |
US9385915B2 (en) * | 2012-11-30 | 2016-07-05 | Netapp, Inc. | Dynamic caching technique for adaptively controlling data block copies in a distributed data processing system |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
CN103297528B (zh) * | 2013-06-05 | 2016-08-24 | 北京奇虎科技有限公司 | 一种获取票务信息的方法和装置 |
CN103345432B (zh) * | 2013-06-07 | 2016-12-28 | 深圳中兴网信科技有限公司 | 多核cpu过载检测装置和多核cpu过载检测方法 |
US10091282B2 (en) * | 2013-06-12 | 2018-10-02 | Sap Se | Metadata-driven dynamic load balancing in multi-tenant systems |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
JP6252158B2 (ja) * | 2013-12-17 | 2017-12-27 | 富士通株式会社 | 通信システム、通信装置および通信方法 |
US9565138B2 (en) | 2013-12-20 | 2017-02-07 | Brocade Communications Systems, Inc. | Rule-based network traffic interception and distribution scheme |
US20150188758A1 (en) * | 2013-12-31 | 2015-07-02 | Sonic Ip, Inc. | Flexible network configuration in a content distribution network |
US9584617B2 (en) | 2013-12-31 | 2017-02-28 | Successfactors, Inc. | Allocating cache request in distributed cache system based upon cache object and marker identifying mission critical data |
US9648542B2 (en) | 2014-01-28 | 2017-05-09 | Brocade Communications Systems, Inc. | Session-based packet routing for facilitating analytics |
US10924542B2 (en) * | 2014-02-27 | 2021-02-16 | Verizon Patent And Licensing Inc. | Content delivery system |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
CN105025042B (zh) * | 2014-04-16 | 2019-06-28 | 中国移动通信集团河北有限公司 | 一种确定数据信息的方法及系统、代理服务器 |
US9871855B2 (en) * | 2014-09-19 | 2018-01-16 | Facebook, Inc. | Balancing load across cache servers in a distributed data store |
CN104601720A (zh) * | 2015-01-30 | 2015-05-06 | 乐视网信息技术(北京)股份有限公司 | 一种缓存访问控制方法及装置 |
CN104683459B (zh) * | 2015-02-13 | 2018-05-11 | 华为技术有限公司 | 一种发送业务数据的方法和存储系统 |
US10771475B2 (en) | 2015-03-23 | 2020-09-08 | Extreme Networks, Inc. | Techniques for exchanging control and configuration information in a network visibility system |
US10129088B2 (en) | 2015-06-17 | 2018-11-13 | Extreme Networks, Inc. | Configuration of rules in a network visibility system |
US9866478B2 (en) | 2015-03-23 | 2018-01-09 | Extreme Networks, Inc. | Techniques for user-defined tagging of traffic in a network visibility system |
US10911353B2 (en) | 2015-06-17 | 2021-02-02 | Extreme Networks, Inc. | Architecture for a network visibility system |
US9755945B2 (en) * | 2015-04-01 | 2017-09-05 | Verizon Digital Media Services Inc. | Stream publishing and distribution capacity testing |
US10530688B2 (en) | 2015-06-17 | 2020-01-07 | Extreme Networks, Inc. | Configuration of load-sharing components of a network visibility router in a network visibility system |
US10057126B2 (en) | 2015-06-17 | 2018-08-21 | Extreme Networks, Inc. | Configuration of a network visibility system |
CN104994152B (zh) * | 2015-06-30 | 2018-11-09 | 中国科学院计算技术研究所 | 一种Web协同缓存系统和方法 |
CN105376332A (zh) * | 2015-12-14 | 2016-03-02 | 江苏名通信息科技有限公司 | 一种用于手机游戏服务器的负荷迁徙方法 |
US10243813B2 (en) | 2016-02-12 | 2019-03-26 | Extreme Networks, Inc. | Software-based packet broker |
US10999200B2 (en) | 2016-03-24 | 2021-05-04 | Extreme Networks, Inc. | Offline, intelligent load balancing of SCTP traffic |
US10362134B2 (en) * | 2016-08-15 | 2019-07-23 | Verizon Digital Media Services Inc. | Peer cache filling |
US10567259B2 (en) | 2016-10-19 | 2020-02-18 | Extreme Networks, Inc. | Smart filter generator |
US11138178B2 (en) * | 2016-11-10 | 2021-10-05 | Futurewei Technologies, Inc. | Separation of computation from storage in database for better elasticity |
US10171614B2 (en) * | 2017-02-09 | 2019-01-01 | International Business Machines Corporation | Cache memory balancing based on moving object prediction |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
CN107025270A (zh) * | 2017-03-09 | 2017-08-08 | 珠海昊星自动化系统有限公司 | 一种分布式高性能高并发大数据系统 |
JP6862977B2 (ja) * | 2017-03-22 | 2021-04-21 | 富士通株式会社 | 通信制御プログラム、通信制御方法、および通信制御装置 |
CN107707597A (zh) * | 2017-04-26 | 2018-02-16 | 贵州白山云科技有限公司 | 一种突发热点访问均衡处理方法及装置 |
US10721719B2 (en) * | 2017-06-20 | 2020-07-21 | Citrix Systems, Inc. | Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node |
KR102071955B1 (ko) * | 2018-06-07 | 2020-03-02 | 주식회사 티맥스소프트 | 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버 |
JP7310378B2 (ja) * | 2019-07-08 | 2023-07-19 | 富士通株式会社 | 情報処理プログラム、情報処理方法、および情報処理装置 |
KR102166036B1 (ko) * | 2019-12-13 | 2020-10-15 | (주)교림소프트 | 인공 지능 기반 캐시 관리 시스템 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5511208A (en) * | 1993-03-23 | 1996-04-23 | International Business Machines Corporation | Locating resources in computer networks having cache server nodes |
JPH0855072A (ja) * | 1994-08-12 | 1996-02-27 | Matsushita Electric Ind Co Ltd | ネットワークシステムとデータ処理システムとデータ蓄積方法 |
JPH08235127A (ja) * | 1995-02-28 | 1996-09-13 | Chugoku Nippon Denki Software Kk | 自動負荷分散方法および装置 |
US6047309A (en) * | 1995-10-02 | 2000-04-04 | International Business Machines Corporation | Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics |
JPH09179820A (ja) * | 1995-12-26 | 1997-07-11 | Mitsubishi Electric Corp | 負荷分散方式及び方法 |
JP3190813B2 (ja) * | 1996-02-15 | 2001-07-23 | 日本電気株式会社 | 配信システム |
JP3422400B2 (ja) * | 1996-03-28 | 2003-06-30 | 三菱電機株式会社 | 分散処理システム |
US5935207A (en) * | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
JP3481054B2 (ja) * | 1996-07-04 | 2003-12-22 | シャープ株式会社 | ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム |
US6185601B1 (en) * | 1996-08-02 | 2001-02-06 | Hewlett-Packard Company | Dynamic load balancing of a network of client and server computers |
US5787470A (en) * | 1996-10-18 | 1998-07-28 | At&T Corp | Inter-cache protocol for improved WEB performance |
US6026474A (en) * | 1996-11-22 | 2000-02-15 | Mangosoft Corporation | Shared client-side web caching using globally addressable memory |
US6173311B1 (en) * | 1997-02-13 | 2001-01-09 | Pointcast, Inc. | Apparatus, method and article of manufacture for servicing client requests on a network |
US5933849A (en) * | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
US6167438A (en) * | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6070191A (en) * | 1997-10-17 | 2000-05-30 | Lucent Technologies Inc. | Data distribution techniques for load-balanced fault-tolerant web access |
US6167427A (en) * | 1997-11-28 | 2000-12-26 | Lucent Technologies Inc. | Replication service system and method for directing the replication of information servers based on selected plurality of servers load |
US6141759A (en) * | 1997-12-10 | 2000-10-31 | Bmc Software, Inc. | System and architecture for distributing, monitoring, and managing information requests on a computer network |
US6122666A (en) * | 1998-02-23 | 2000-09-19 | International Business Machines Corporation | Method for collaborative transformation and caching of web objects in a proxy network |
US6112279A (en) * | 1998-03-31 | 2000-08-29 | Lucent Technologies, Inc. | Virtual web caching system |
US6078960A (en) * | 1998-07-03 | 2000-06-20 | Acceleration Software International Corporation | Client-side load-balancing in client server network |
US6253230B1 (en) * | 1998-09-22 | 2001-06-26 | International Business Machines Corporation | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server |
-
1998
- 1998-10-09 US US09/169,223 patent/US6438652B1/en not_active Expired - Lifetime
-
1999
- 1999-10-07 TW TW088117310A patent/TW444458B/zh not_active IP Right Cessation
- 1999-10-08 WO PCT/GB1999/003360 patent/WO2000022526A1/en not_active Application Discontinuation
- 1999-10-08 CA CA002343802A patent/CA2343802C/en not_active Expired - Lifetime
- 1999-10-08 CN CNB998118281A patent/CN1255728C/zh not_active Expired - Lifetime
- 1999-10-08 CZ CZ20011281A patent/CZ20011281A3/cs unknown
- 1999-10-08 AU AU61144/99A patent/AU6114499A/en not_active Abandoned
- 1999-10-08 EP EP99947777A patent/EP1119808A1/en not_active Ceased
- 1999-10-08 PL PL99347159A patent/PL195958B1/pl not_active IP Right Cessation
- 1999-10-08 KR KR10-2001-7004187A patent/KR100473671B1/ko not_active IP Right Cessation
- 1999-10-08 JP JP2000576365A patent/JP3989682B2/ja not_active Expired - Fee Related
- 1999-10-08 HU HU0104250A patent/HU224787B1/hu not_active IP Right Cessation
- 1999-10-08 IL IL14197399A patent/IL141973A/xx not_active IP Right Cessation
-
2007
- 2007-04-25 JP JP2007114983A patent/JP2007220140A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
IL141973A0 (en) | 2002-03-10 |
WO2000022526A1 (en) | 2000-04-20 |
CA2343802C (en) | 2004-04-20 |
HUP0104250A3 (en) | 2002-04-29 |
AU6114499A (en) | 2000-05-01 |
CA2343802A1 (en) | 2000-04-20 |
KR20010075542A (ko) | 2001-08-09 |
TW444458B (en) | 2001-07-01 |
US6438652B1 (en) | 2002-08-20 |
HU224787B1 (en) | 2006-02-28 |
EP1119808A1 (en) | 2001-08-01 |
US20020026560A1 (en) | 2002-02-28 |
JP3989682B2 (ja) | 2007-10-10 |
CZ20011281A3 (cs) | 2001-10-17 |
IL141973A (en) | 2005-11-20 |
JP2002527818A (ja) | 2002-08-27 |
HUP0104250A2 (hu) | 2002-02-28 |
CN1322315A (zh) | 2001-11-14 |
CN1255728C (zh) | 2006-05-10 |
PL347159A1 (en) | 2002-03-25 |
KR100473671B1 (ko) | 2005-03-08 |
JP2007220140A (ja) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PL195958B1 (pl) | Sposób wyrównywania obciążenia współdziałających serwerów z pamięcią podręczną | |
US20010034752A1 (en) | Method and system for symmetrically distributed adaptive matching of partners of mutual interest in a computer network | |
US6760756B1 (en) | Distributed virtual web cache implemented entirely in software | |
EP2652924B1 (en) | Synchronizing state among load balancer components | |
US7908337B2 (en) | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content | |
US7577754B2 (en) | System and method for controlling access to content carried in a caching architecture | |
US7725596B2 (en) | System and method for resolving network layer anycast addresses to network layer unicast addresses | |
US7565450B2 (en) | System and method for using a mapping between client addresses and addresses of caches to support content delivery | |
JP2000137641A (ja) | 分散クライアントベ―スのデ―タキャッシングシステム | |
Shen | IRM: Integrated file replication and consistency maintenance in P2P systems | |
US8051176B2 (en) | Method and system for predicting connections in a computer network | |
Kurcewicz et al. | A distributed WWW cache | |
WO2000079362A2 (en) | Distributed virtual web cache implemented entirely in software | |
EP1277327B1 (en) | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content | |
Tsui et al. | Distributed proxy server management: A self-organized approach | |
Lin et al. | An efficient load balancing strategy for scalable WAP gateways | |
Soltani et al. | A LOAD BALANCING ALGORITHM BASED ON REPLICATION AND MOVEMENT OF DATA ITEMS FOR DYNAMIC STRUCTURED P2P SYSTEMS | |
Hsiao et al. | Taking advantage of the overlay geometrical structures for mobile agent communications | |
Zhu et al. | Exploiting client caches: An approach to building large web caches | |
Khalil et al. | Efficient proxy selection in cooperative web caching | |
Kannammal et al. | Web cache consistency maintenance through agents | |
Raina et al. | Load Balancing in Peer Networks | |
Shen | CORP: A COoperative file Replication Protocol for structured P2P networks | |
Bitorika | Scalability Issues in Cluster Web Servers | |
Ahmed et al. | Prioritizing Documents and Applying Hybrid Caching Strategy for Network Latency Reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Decisions on the lapse of the protection rights |
Effective date: 20091008 |