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
Application number
PL99347159A
Other languages
English (en)
Other versions
PL347159A1 (en
Inventor
Kevin Michael Jordan
Kun-Lung Wu
Philip Shi-Lung Yu
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of PL347159A1 publication Critical patent/PL347159A1/xx
Publication of PL195958B1 publication Critical patent/PL195958B1/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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.
PL99347159A 1998-10-09 1999-10-08 Sposób wyrównywania obciążenia współdziałających serwerów z pamięcią podręczną PL195958B1 (pl)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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