PL192676B1 - Sposób wstępnego pobierania informacji - Google Patents

Sposób wstępnego pobierania informacji

Info

Publication number
PL192676B1
PL192676B1 PL339377A PL33937798A PL192676B1 PL 192676 B1 PL192676 B1 PL 192676B1 PL 339377 A PL339377 A PL 339377A PL 33937798 A PL33937798 A PL 33937798A PL 192676 B1 PL192676 B1 PL 192676B1
Authority
PL
Poland
Prior art keywords
prefetch
information
requested
proxy
objects
Prior art date
Application number
PL339377A
Other languages
English (en)
Other versions
PL339377A1 (en
Inventor
Peter Kenneth Malkin
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 PL339377A1 publication Critical patent/PL339377A1/xx
Publication of PL192676B1 publication Critical patent/PL192676B1/pl

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Abstract

1. Sposób wstepnego pobierania informacji z serwera zawartosci poprzez siec komunikacyjna, przy czym siec komunikacyjna zawiera jeden albo wiecej serwerów proxy i jednego albo wiecej klien- tów, w którym zada sie u klienta informacji z serwera zawartosci poprzez przynajmniej jeden serwer proxy, znamienny tym, ze generuje sie w serwerze infor- macje wskazujaca wstepne pobranie, oznaczajaca informacje, która prawdopodobnie zostanie zazada- na przez klienta po zazadanej informacji, na podsta- wie poprzednich pobran albo dostepów tych klien- tów, dopisuje sie w serwerze do zadanej informacji informacje wskazujaca pobranie wstepne, zwraca sie zadana informacje i informacje wskazujaca pobranie wstepne do klienta poprzez przynajmniej jeden ser- wer proxy oraz pobiera sie wstepnie informacje u klienta albo w przynajmniej jednym serwerze proxy, na podstawie informacji wskazujacej na po- branie wstepne i zadanej informacji, czyniac przez to informacje pobrana wstepnie szybciej dostepna. PL PL PL PL

Description

Opis wynalazku
Przedmiotem wynalazku jest sposób wstępnego pobierania informacji i obiektów dla klientów, przy czym klienci są związani z hierarchią serwerów proxy, które są włączane we wstępne pobieranie obiektów sieciowych Web w World Wide Web.
World Wide Web (WWW albo Web) określa aplikację internetową, która umożliwia użytkownikom wyszukującym informacje w Internecie połączenie serwera z serwerem i bazy danych z bazą danych przez wybranie podświetlonych, interesujących ich słów albo zdań, znanych jako hiperlinki. Serwer internetowy WWW obsługuje klientów i dostarcza im informacje. Sieć Web, która można uważać za sieć Internet ze wszystkimi zasobami zaadresowanymi jako uniwersalny lokalizator zasobów URL, stosuje język hipertekstowego znakowania informacji HTML do wyświetlania informacji odpowiadających uniwersalnemu lokalizatorowi zasobów URL i dostarcza interfejs typu wskaż i kliknij dla innych uniwersalnych lokalizatorów zasobów URL.
Wraz ze wzrostem popularności aplikacji WWW albo Web, wzrósł znacznie ruch w sieci Internet. Web stał się teraz jednym z głównych wąskich gardeł w działaniu sieci. Na przykład użytkownik Web może spotkać się ze znacznymi opóźnieniami, jeżeli dokumenty albo informacje są żądane przez użytkownika, który jest połączony z serwerem poprzez wolne łącze sieciowe. Przekazywanie informacji przez Web po sieci do użytkownika zwiększa dalej poziom ruchu w sieci. Zwiększony ruch zmniejsza szerokość pasma dostępnego dla żądań innych użytkowników, przyczyniając się do dodatkowych potencjalnych opóźnień.
Znane jest rozwiązanie zmniejszania opóźnienia dostępu klientów w ten sposób, że zachowuje się albo zapamiętuje się podręcznie kopie często używanych dokumentów informacyjnych w węzłach sieci bliżej użytkownika, gdzie opóźnienia dostępu są łatwiejsze do zaakceptowania. Podręczne zapamiętywanie realizuje się w różnych punktach sieci. Na przykład duży uniwersytet albo korporacja mogą mieć własną pamięć podręczną, z której wszyscy użytkownicy będący abonentami tej sieci pobierają dokumenty. Lokalna pamięć podręczna jest realizowana w postaci specjalizowanego serwera.
Specjalizowany serwer, który nazywany jest proxy pamięci podręcznej, działa jako agent w imieniu klientów, lokalizując każdą potencjalną podręcznie zapamiętaną kopię żądanej informacji. Proxy pamięci podręcznej zwykle działają jako pamięci drugorzędne albo wyższego poziomu, ponieważ proxy pamięci podręcznej zajmują się tylko sytuacjami nieznalezienia obiektu w pamięci podręcznej klienta. Pamięci podręczne klienta są wbudowane w różne przeglądarki Web. Pamięci podręczne przechowują tylko dokumenty, do których dostęp uzyskano podczas bieżącego wywołania przy nietrwałej pamięci podręcznej, takiej jak pamięć Mosaic albo zapamiętują podręcznie dokumenty z różnych wywołań.
Dotychczas prace przy podręcznym zapamiętywaniu dokumentów Web wykonywano głównie w obszarze podręcznego zapamiętywania na żądanie. Podręczne zapamiętywanie na żądanie oznacza, że decyzja o podręcznym zapamiętaniu jest podejmowana po zażądaniu obiektu. Na przykład Abrams i inni w dokumencie pod tytułem „Caching Proxies: Limitations and Potentials, Czwarta Międzynarodowa Konferencja na temat World Wide Web, 1996, opisują różne rozwiązania przy podręcznym zapamiętywaniu na żądanie, które były sprawdzane dla Web.
W sieci dostawcy usług internetowych ISP albo sieci korporacji, różne proxy regionalne albo proxy oddziałowe w hierarchii proxy mogą zaobserwować różne zachowania referencyjne albo napotkać na różny ruch w sieci i opóźnienia. Występowanie hierarchii proxy jeszcze bardziej komplikuje decyzję o wstępnym pobraniu, czy wszystkie pośredniczące proxy, klient albo ich podzbiór powinny wykonać wstępne pobranie. Istnieje zapotrzebowanie na sposób i system wstępnego pobierania, które skutecznie skoordynują czynność wstępnego pobierania w odniesieniu do hierarchii serwerów proxy i związanych z nimi klientów.
Sposób według wynalazku charakteryzuje się tym, że generuje się w serwerze informację wskazującą wstępne pobranie, oznaczającą informację, która prawdopodobnie zostanie zażądana przez klienta po zażądanej informacji na podstawie poprzednich pobrań albo dostępów tych klientów, dopisuje się w serwerze do żądanej informacji informację wskazującą pobranie wstępne, zwraca się żądaną informację i informację wskazującą pobranie wstępne do klienta poprzez przynajmniej jeden serwer proxy oraz pobiera się wstępnie informację u klienta albo w przynajmniej jednym serwerze proxy, na podstawie informacji wskazującej na pobranie wstępne i żądanej informacji, czyniąc przez to informację pobraną wstępnie szybciej dostępną.
PL 192 676 B1
Korzystnie w żądanej informacji wprowadza się żądane obiekty, a w informacji pobierania wstępnego wprowadza się obiekty kandydujące do pobrania wstępnego.
Korzystnie podczas generowania informacji wskazującej pobranie wstępne monitoruje się wzorce referencyjne danych żądanej informacji, związane z klientami, organizuje się wzorce referencyjne danych w grupy identyfikatorów obiektów, przy czym grupy identyfikatorów obiektów organizuje się według zależności pomiędzy żądanymi obiektami i obiektami kandydującymi do pobrania wstępnego, ustala się, które z tych grup mają wystarczające zależności pomiędzy obiektami kandydującymi do pobrania wstępnego i żądanymi obiektami, aby nakazać wstępne pobranie obiektów kandydujących do pobrania wstępnego jako informacji pobierania wstępnego.
Korzystnie podczas monitowania i organizowania referencyjnych wzorców danych zakłada się bazę danych do określania zależności pomiędzy żądanymi obiektami i obiektami kandydującymi do pobrania wstępnego oraz monitoruje się w bazie danych statystyki dostępu do żądanych obiektów i obiektów kandydujących do pobrania wstępnego, a w statystyce dostępu zawiera się częstość dostępu do obiektu macierzystego żądanych obiektów oraz częstość dostępu do obiektu potomnego obiektów kandydujących do pobrania wstępnego, przez częstość dostępu do obiektu macierzystego reprezentuje się liczbę razy, w których określony z żądanych obiektów został zażądany przez przynajmniej jednego z klientów, a częstość dostępu do obiektu potomnego reprezentuje liczbę razy, w których jeden albo więcej obiektów kandydujących do pobrania wstępnego zostało faktycznie zażądanych bezpośrednio po uzyskaniu dostępu do określonego z żądanych obiektów.
Korzystnie wybiera się listę pobierania wstępnego obiektów kandydujących do pobrania wstępnego na podstawie stosunku częstości dostępu do obiektu potomnego do częstości dostępu do obiektu macierzystego, związanego z częstością dostępu do obiektu potomnego, przy czym w liście pobrania wstępnego zawiera się tylko obiekty kandydujące do pobrania wstępnego ze stosunkami przekraczającymi prawdopodobieństwo progowe.
Korzystnie podczas wstępnego pobierania informacji pobiera się wstępnie podzbiór obiektów kandydujących do pobrania wstępnego odebranych w jednym z serwerów proxy albo u jednego z klientów, przy czym podzbiór obiektów kandydujących do pobrania wstępnego wybiera się na podstawie rozmiaru dostępnej pamięci w jednym z serwerów proxy.
Korzystnie podczas wstępnego pobierania informacji selekcyjnej pobiera się wstępnie podzbiór obiektów kandydujących do pobrania wstępnego odebranych w jednym z serwerów proxy albo u jednego z klientów, przy czym podzbiór obiektów kandydujących do pobrania wstępnego wybiera się jako informację selekcyjną na podstawie czasu dostępu w jednym z serwerów proxy.
Korzystnie w obiekcie pobierania wstępnego i żądanym obiekcie wprowadza się dane sieci Internet, a żądany obiekt odwołuje się do obiektu pobierania wstępnego przez łącze protokołu transmisji hipertekstu HTTP, związane z danymi sieci Internet, przy czym przez serwer identyfikuje się zależność obiektu selekcyjnego od żądanego obiektu poprzez protokół HTTP uniwersalnego lokalizatora zasobów URL żądanego obiektu, przechowywany w nagłówku żądanego obiektu.
Korzystnie podczas podpisywania żądanej informacji umieszcza się informację wskazującą pobranie wstępne w etykiecie pobrania wstępnego, mającej format platformy dla wyboru zawartości sieci Internet PICS albo protokół etykiety zgodny z formatem PICS.
Korzystnie w formacie platformy dla wyboru zawartości sieci Internet PICS zawiera się kategorię identyfikatora obiektu do przechowywania identyfikatora obiektu pobierania wstępnego, do którego później następuje odwołanie oraz kategorię identyfikatora referencyjnego do przechowywania żądanego obiektu związanego z obiektem pobierania wstępnego, oraz zwraca się kategorię identyfikatora referencyjnego do serwera zawartości, aby wyznaczyć obiekty kandydujące do pobrania wstępnego, do których faktycznie się odwoływano.
Korzystnie organizuje się serwery proxy w hierarchię serwerów proxy, przy czym hierarchia ma wiele poziomów serwerów proxy, wiele poziomów wyznacza się na podstawie bliskości każdego z serwerów proxy do sieci, przy czym najwyższy poziom jest najbliższy sieci oraz interpretuje się i aktualizuje informację wskazującą pobranie wstępne, transmitowaną poprzez hierarchię z serwerów proxy do klientów.
Korzystnie przez serwer proxy aktualizuje się informację wskazującą pobranie wstępne, jeżeli istnieją lokalne odwołania do żądanej informacji i jeżeli licznik serwera poziomu lokalnego przekracza minimalną liczbę progową.
Korzystnie informację wskazującą pobranie wstępne aktualizuje się na podstawie stanu podręcznego zapamiętywania w hierarchii proxy.
PL 192 676 B1
Zaletą wynalazku jest zapewnienie sposobu wstępnego pobierania informacji selekcyjnej z serwera zawartości tak, aby uczynić informację selekcyjną od razu dostępną dla jednego albo więcej klientów związanych z serwerem zawartości poprzez sieć komunikacyjną oraz jeden albo więcej serwerów proxy.
Przedmiot wynalazku jest pokazany w przykładach wykonania na rysunku, na którym fig. 1 przedstawia schemat blokowy pokazujący serwery zawartości, czyli witryny Web, sieć Internet oraz hierarchię serwerów proxy i klientów, fig. 2 - kolejny schemat blokowy serwera zawartości, klienta i serwera proxy, bardziej szczegółowy niż na fig. 1, fig. 3A - sieć działań pokazującą sposób dynamicznego wstępnego pobierania danych z serwera zawartości poprzez hierarchię serwerów proxy, fig. 4 - tabelę statystyczną, fig. 5 -sieć działań pokazującą aktualizację statystyki, fig. 6 -sieć działań pokazującą generowanie informacji wskazującej pobranie wstępne, fig. 7 - sieć działań pokazującą operacje klienta, fig. 8 - sieć działań pokazującą pobieranie wstępne, fig. 9 - sieć działań pokazującą obsługę żądania obiektu klienta, fig. 10 - sieć działań pokazującą pracę serwera proxy, fig. 11 - sieć działań pokazującą obsługę żądania obiektu proxy, fig. 12 - sieć działań pokazującą obsługę komunikatu referencyjnego pobrania wstępnego, fig. 13 - sieć działań pokazującą obsługę obiektów proxy ifig. 14 - sieć działań pokazującą procedurę aktualizacji informacji wskazującej pobranie wstępne.
Figura 1 przedstawia system przetwarzania danych, który zawiera klientów 22, hierarchię serwerów proxy 24, sieć 25 i serwery zawartości 20.
Klienci żądają informacji w postaci obiektów macierzystych, obiektów potomnych, obiektów żądanych, obiektów selekcyjnych, stron, informacji żądanej i informacji selekcyjnej. Obiekty macierzyste są tak wiązane z obiektami potomnymi, że obiekty macierzyste mogą czasowo poprzedzać późniejsze żądania jednego albo więcej odnośnych obiektów potomnych. Obiekty żądane są analogiczne do obiektów macierzystych, natomiast obiekty selekcyjne są analogiczne do obiektów potomnych. Obiekty żądane to obiekty, które są faktycznie żądane przez jednego albo więcej klientów. Natomiast obiekty selekcyjne to obiekty, które są grupowane albo wiązane z żądanymi obiektami, tak aby obiekty selekcyjne mogły być żądane bezpośrednio po żądanych obiektach.
Żądana informacja zawiera żądane obiekty, obiekty rodzicielskie i inne formy danych żądane przez klientów. Informacja selekcyjna zawiera obiekty potomne, obiekty selekcyjne i inne formy danych, które mogą być wstępnie pobierane.
Klienci 22 mogą żądać informacji z serwerów zawartości 20 albo serwerów proxy 24. Jednak serwery proxy 24 zwykle działają jako pośrednicy dla klientów 22 w odniesieniu do sieci 25 i serwerów zawartości 20. Jest korzystne, jeżeli serwery proxy 24 mogą spełnić żądania informacyjne klientów bez łączenia się z serwerami zawartości 20, jeżeli hierarchia serwerów proxy zawiera żądaną informację albo ma możliwość ukończenia żądanego zadania. Sposób przetwarzania danych z fig. 1 można zastosować dla Internetu. Na przykład serwer zawartości 20 może być witryną sieci Web, a siecią 25 może być Internet.
Figura 1 przedstawia połączenia logiczne 26, jako przeciwstawienie dla połączeń fizycznych, pomiędzy elementami systemu przetwarzania danych. Połączenia logiczne 26 reprezentują przepływ informacyjny obiektów i żądań w sposobie przetwarzania danych. Połączenia logiczne 26 zwykle nie reprezentują połączeń fizycznych pomiędzy serwerami proxy 24. Połączenia logiczne 26 mogą się zmieniać wskutek obciążenia roboczego i/lub zdarzeń fizycznych, jak awaria węzła albo łącza komunikacyjnego. Różne typy obiektów mogą przechodzić różnymi ścieżkami logicznymi transmisji, aby osiągnąć klientów 22.
W praktyce można stosować właściwie dowolną liczbę klientów 22 i serwerów proxy 24, ale przykład ilustracyjny z fig. 1 pokazuje czterech klientów 22 i cztery poziomy hierarchiczne serwerów proxy 24. W praktyce dopuszczalna jest dowolna liczba poziomów w hierarchii serwerów proxy, a klientów 22 można podłączyć logicznie do dowolnego poziomu hierarchii serwerów proxy. Na przykład hierarchią serwerów proxy 24 może być pojedynczy serwer proxy. Niniejszy wynalazek można też zrealizować tylko z jednym klientem 22 i jednym serwerem proxy 24.
Jak pokazano, serwer proxy na najwyższym poziomie jest oznaczony jako serwer proxy poziomu zerowego 30. „Poziom zerowy” to arbitralne określenie, które definiuje wyłącznie stan jednego serwera proxy względem innego serwera proxy w przykładzie ilustracyjnym z fig. 1. Serwer proxy najwyższego poziomu może być logicznie połączony z siecią 25. Serwery proxy 21 wyższego poziomu są logicznie bliżej związane z siecią 25 niż serwery proxy 23 niższego poziomu. (Należy więc zauważyć, że w tej terminologii, w której serwer proxy poziomu zerowego jest uważany za szczyt
PL 192 676 B1 hierarchii proxy, poziom zerowy jest „wyższy” niż poziom pierwszy, który z kolei jest „wyższy” niż poziom drugi, i tak dalej).
Pierwszy serwer proxy poziomu pierwszego 35 i drugi serwer proxy poziomu pierwszego 37 są połączone logicznie z serwerem proxy poziomu zerowego 30. Pierwszy serwer proxy poziomu pierwszego 35 jest połączony z pierwszym serwerem proxy poziomu drugiego 40 i drugim serwerem proxy poziomu drugiego 43. Pierwszy serwer proxy poziomu drugiego 40 jest połączony logicznie z pierwszym serwerem proxy poziomu trzeciego 50 i drugim serwerem proxy poziomu trzeciego 55.
Klienci 22 zawierają pierwszego klienta 600, drugiego klienta 603, trzeciego klienta 700 i czwartego klienta 703. Pierwszy klient 600 i drugi klient 603 są połączeni logicznie z pierwszym serwerem proxy poziomu trzeciego 50. Trzeci klient 700 i czwarty klient 703 są połączeni logicznie z drugim serwerem proxy poziomu trzeciego 55.
Sposób przetwarzania danych jest teraz opisywany z punktu widzenia drugiego klienta 603. Drugi klient 603 jest połączony ze swoim proxy na bezpośrednio wyższym poziomie. Jak pokazano, proxy na bezpośrednio wyższym poziomie jest pierwszym proxy poziomu trzeciego 50. Drugi klient 603 jest następnie połączony z pierwszym serwerem proxy poziomu drugiego 40, pierwszym serwerem proxy poziomu pierwszego 35 i serwerem proxy poziomu zerowego 30. Drugi klient 603 może uzyskać dostęp do różnych serwerów zawartości 20 poprzez sieć 25. Chociaż typowa ścieżka komunikacyjna dla drugiego klienta 603 przechodzi przez proxy na bezpośrednio wyższym poziomie, (czyli pierwszy serwer proxy poziomu trzeciego 50), drugi klient 603 albo proxy niższego poziomu mogą komunikować się bezpośrednio z innymi serwerami proxy wyższego poziomu 24 albo siecią 25. Drugi klient 603 może mieć nawet własny proxy, aby zarządzać podręcznym zapamiętywaniem.
Z punktu widzenia drugiego klienta 603 pewne serwery proxy nie są częścią jego hierarchii proxy. Na przykład drugi serwer proxy poziomu trzeciego 55, drugi serwer proxy poziomu drugiego 43 i drugi serwer proxy poziomu pierwszego 37 nie są częścią hierarchii serwera proxy drugiego klienta.
Klientami 22 mogą być komputery osobiste, stacje robocze, przystawki telewizyjne i tym podobne, ale nie ograniczają się do nich. Sieć 25 nie musi zawierać, ale może zawierać Internet, sieć World Wide Web, Intranet, sieci lokalne (LAN) i tym podobne.
Serwery proxy 24 i serwer zawartości 20 mogą być różnymi komputerami dostępnymi na rynku. Na przykład serwer proxy 24 może być zrealizowany jako Internet Connection Server (ICS) sprzedawany przez IBM Corporation. Podobnie serwer zawartości 20 może być zrealizowany jako serwer Lotus Go Web, serwer Lotus Domino lub tym podobny (również udostępniane przez IBM Corporation). Serwer proxy 24 albo serwer zawartości 20 mogą pracować na każdym węźle obliczeniowym, który zawiera takie produkty jak S/390 SYSPLEX, SP2 albo stacje robocze RS6000 (również udostępniane przez IBM Corporation), ale nie ogranicza się do nich. Podsumowując, serwer proxy 24 albo serwer zawartości 20 mogą być dowolnym komputerem ogólnego przeznaczenia i odnośnym oprogramowaniem, które mogą udostępniać strony World Wide Web, zdalną transmisję plików, pocztę elektroniczną i obsługę transakcji dla klientów 22.
Sposób przetwarzania danych z fig. 1 może stosować atrybuty konwencjonalnej hierarchii proxy, aby utrzymać efektywność transmisji danych. Na przykład, jeżeli żądany obiekt nie jest dostępny lokalnie na serwerze proxy niższego poziomu, przedstawia się żądanie niedostępnego obiektu dla proxy na następnym wyższym poziomie. Jeżeli proxy na wyższym poziomie uprzednio zapamiętał podręcznie obiekt w swojej pamięci podręcznej, proxy wyższego poziomu przekaże żądany obiekt w dół do klienta poprzez serwer proxy niższego poziomu. W przeciwnym razie serwer proxy wyższego poziomu będzie próbował uzyskać obiekt od proxy na następnym wyższym poziomie. Po uzyskaniu żądanego obiektu jest on przekazywany w dół do proxy niższego poziomu albo do klienta żądającego obiektu.
Figura 2 przedstawia bardziej szczegółowy przykład sposobu przetwarzania danych, pokazanego na fig. 1. Sposób przetwarzania danych zawiera serwer proxy 24, serwer zawartości 20, sieć 25 i klienta 22. Sposób przetwarzania danych zawiera korzystnie zespół pobierania wstępnego 250, tabele statystyczne 261, zespół aktualizacji statystyki 252, główne pamięci podręczne 297 i pamięci podręczne pobierania wstępnego 298.
Zespół pobierania wstępnego 250 korzystnie zawiera pierwszą obsługę pobierania wstępnego 248 w serwerze proxy 24 i drugą obsługę pobierania wstępnego 241 w kliencie 22. Tabele statystyczne 261 obejmują pierwszą tabelę statystyczną 293 związaną z serwerem proxy 24 i drugą tabelę statystyczną 267 związaną z serwerem zawartości 20. Zespół aktualizacji statystyki 252 zawiera pierwszy zespół aktualizacji statystyki 264 do aktualizacji pierwszej tabeli statystycznej 293 i drugi zespół aktu6
PL 192 676 B1 alizacji statystyki 269 do aktualizacji drugiej tabeli statystycznej 267. Główne pamięci podręczne 297 obejmują pierwszą główną pamięć podręczną 294 w każdym serwerze proxy 24 i drugą główną pamięć podręczną 246 w każdym kliencie 22. Pamięci podręczne pobierania wstępnego 298 obejmują pierwszą pamięć podręczną pobierania wstępnego 296 w serwerze proxy 24 i drugą pamięć podręczną pobierania wstępnego 249 w kliencie 22.
Serwer proxy 24 jest węzłem obliczeniowym, który może obsługiwać żądania poprzez sieć 25. Serwer proxy 24 zawiera pierwszy procesor 280, pierwszą pamięć 290 i pierwszy zespół przechowujący 281. Pierwsza pamięć 290 może być na przykład pamięcią o dostępie swobodnym (RAM). Pierwszy zespół przechowujący 281 może być na przykład urządzeniem przechowującym o dostępie bezpośrednim (DASD). Pierwsza pamięć 290 przechowuje logikę serwera proxy 295, która jest zrealizowana jako kod wykonywalny przez komputer. Logika 295 serwera proxy jest ładowana z pierwszego zespołu przechowującego 281 do pierwszej pamięci 290 dla wykonania przez pierwszy procesor 280. Szczegóły działania logiki 295 serwera proxy są pokazane na fig. 10.
Logika 295 serwera proxy zawiera obsługę żądania obiektu proxy 283, obsługę obiektów proxy 284, pierwszą obsługę pobierania wstępnego 248, obsługę komunikatu referencyjnego pobrania wstępnego 285, środki aktualizacji pobierania wstępnego 291, pierwszą procedurę aktualizacji statystyki 264, pierwszą tabelę statystyczną 293, pierwszą główną pamięć podręczną 294 i pierwszą pamięć podręczną pobierania wstępnego 296.
Szczegóły działania obsługi żądania obiektu proxy 283 są pokazane na fig. 11. Szczegóły działania obsługi obiektu proxy 284 są pokazane na fig. 13. Działanie obsługi komunikatu referencyjnego pobierania wstępnego 285 jest pokazane na fig. 12. Szczegóły działania zespołu aktualizacji statystyki 252, (czyli pierwszej procedury aktualizacji statystyki 264) są pokazane na fig. 5.
Działanie zespołu pobierania wstępnego 250, (czyli pierwszej obsługi pobierania wstępnego 248) jest pokazane szczegółowo na fig. 8. Działanie zespołu aktualizacji pobierania wstępnego 291 albo procedury aktualizacji informacji wskazującej pobranie wstępne jest pokazane na fig. 14. Logika serwera proxy 295 obsługuje pierwszą główną pamięć podręczną 294 i pierwszą pamięć podręczną pobierania wstępnego 296.
Serwer zawartości 20 jest węzłem obliczeniowym, który może obsługiwać żądania poprzez sieć 25. Serwer zawartości 20 zawiera drugi procesor 260, drugą pamięć 263 i drugi zespół przechowujący 265. Druga pamięć 263 może być na przykład pamięcią o dostępie swobodnym (RAM). Drugi zespół przechowujący 265 może być na przykład urządzeniem przechowującym o dostępie bezpośrednim (DASD). Druga pamięć 263 przechowuje logikę 268 serwera zawartości albo oprogramowanie serwera zawartości.
Działanie logiki 268 serwera zawartości jest dalej pokazane szczegółowo w odniesieniu do fig. 4. Logika 268 serwera zawartości jest zrealizowana jako kod wykonywalny przez komputer, który jest ładowany z drugiego zespołu przechowującego 265 do drugiej pamięci 263 w celu wykonania przez drugi procesor 260. Logika 268 serwera zawartości zawiera drugą tabelę statystyczną 267, drugi zespół aktualizacji statystyki 269 do aktualizowania drugiej tabeli statystycznej 267 i zespół generujący 266 do generowania informacji wskazującej pobranie wstępne. Druga tabela statystyczna 267 zawiera dane o informacji żądanej przez klientów i potencjalnej informacji pobierania wstępnego związanej z żądaną informacją. Tabele statystyczne 261 przyczyniają się do generowania informacji wskazującej pobranie wstępne, która jest oparta na faktycznym zachowaniu referencyjnym klientów. Szczegóły tabel statystycznych 261 są pokazane na fig. 3B.
Działanie drugiego zespołu aktualizacji statystyki 269 jest pokazane bardziej szczegółowo w odniesieniu do fig. 5. Zespół generujący 266 generuje informację wskazującą pobranie wstępne z informacji w drugiej tabeli statystycznej 267 i żądanej informacji. Zespół generujący 266 może być zrealizowany jako procedura generowania informacji wskazującej pobranie wstępne (PHI), jak pokazano na fig. 6.
Klient 22 zawiera korzystnie trzeci procesor 240, trzecią pamięć 245 i trzeci zespół przechowujący 242. Trzecia pamięć może być na przykład pamięcią o dostępie swobodnym. Trzeci zespół przechowujący może być na przykład urządzeniem przechowującym o dostępie bezpośrednim (DASD). Trzecia pamięć 245 zawiera logikę 244 klienta albo oprogramowanie klienta. Działanie logiki 244 klienta jest dalej pokazane szczegółowo w odniesieniu do fig. 7. Logika 244 klienta jest zrealizowana jako kod wykonywalny przez komputer, który jest ładowany z trzecich środków przechowujących 242 do trzeciej pamięci 245 w celu wykonania przez trzeci procesor 240.
PL 192 676 B1
Logika 244 klienta zawiera obsługę żądania obiektu klienta 247, drugą obsługę pobierania wstępnego 241, drugą główną pamięć podręczną 246 i drugą pamięć podręczną pobierania wstępnego 249. Obsługa żądania obiektu klienta 247 uzyskuje żądane obiekty dla klienta z drugiej głównej pamięci podręcznej 246, drugiej pamięci podręcznej pobierania wstępnego 249, serwera proxy 24 albo serwera zawartości 20.
Szczegóły działania obsługi żądania obiektu klienta 247 są pokazane na fig. 9.
Logika klienta 244 utrzymuje drugą główną pamięć podręczną 246 i drugą pamięć podręczną pobierania wstępnego 249. Druga główna pamięć podręczna 246 jest stosowana do przechowywania obiektów, do których często następują odwołania, natomiast druga pamięć podręczna pobierania wstępnego 249 jest stosowana do przechowywania obiektów, zanim naprawdę nastąpi odwołanie do nich. Obiekty pobierania wstępnego są obiektami, do których jeszcze nie odwołano się bezpośrednio albo uprzednio w związku z obiektami, do których się odwołano. W korzystnym przykładzie wykonania główne pamięci podręczne są zarządzane przez konwencjonalny algorytm LRU (używany najdawniej). Znawcy zauważą, że można zastosować każdą inną strategię zastępowania do zarządzania głównymi pamięciami podręcznymi 297.
Główne pamięci podręczne 297 i pamięci pobierania wstępnego 298 mogą być logicznie oddzielone. Logiczne oddzielenie obiektów pobierania wstępnego od obiektów, do których faktycznie następuje odwołanie w pamięci podręcznej 297 służy temu, aby obiekty pobierania wstępnego nie zajmowały zbyt dużo miejsca w pamięci. Dostępne są różne alternatywne sposoby osiągnięcia tego celu logicznego oddzielenia pamięci podręcznej pobierania wstępnego i głównej pamięci podręcznej.
Na przykład pojedyncza pamięć podręczna może mieć nałożony górny limit na liczbę obiektów pobierania wstępnego i/lub górny limit nałożony na obszar zajmowany przez obiekty pobierania wstępnego. Główna pamięć podręczna 297 i pamięć podręczna pobierania wstępnego 298 służą różnym celom. Główna pamięć podręczna służy do przechowywania często używanych obiektów, do których mogą następować częste odwołania. Pamięć podręczna pobierania wstępnego 298 służy tylko do obsługi określonej sesji przeglądarki, przez wstępne pobieranie obiektów, do których z dużym prawdopodobieństwem nastąpi późniejsze odwołanie w tej sesji. W korzystnym przykładzie wykonania, jeżeli węzeł niższego poziomu w hierarchii wyda żądanie pobrania wstępnego dla obiektu w pamięci podręcznej pobierania wstępnego w węźle wyższego poziomu, obiekt zostanie przekazany wdół do węzła niższego poziomu i zaznaczony jako usuwalny z pamięci podręcznego pobierania wstępnego 298 węzła wyższego poziomu, ponieważ cel pobierania wstępnego został osiągnięty. Gdy następuje faktyczne odwołanie do obiektu pobierania wstępnego, można go przenieść do głównej pamięci podręcznej 297 zależnie od sposobu zarządzania główną pamięcią podręczną 297. Wkorzystnym przykładzie wykonania stosującym metodę zastępowania LRU, obiekt pobierania wstępnego jest przenoszony do głównej pamięci podręcznej, jeżeli już się do niego odwołano.
Można opracować inne kryterium przyjmowania obiektu z pamięci podręcznej pobierania wstępnego 298 do głównej pamięci podręcznej 297. Abrams i inni, „Caching Proxies: Limitations and Potentials”, 4 międzynarodowa konferencja na temat World Wide Web, 1996, omówili niektóre metody zastępowania w pamięci podręcznej, w których nie bierze się pod uwagę rozmiaru obiektu w procesie podejmowania decyzji. Znawcy są znane inne strategie zastępowania w pamięci podręcznej.
Figura 3A to sieć działań przedstawiająca sposób dynamicznego wstępnego pobierania danych dla klientów z serwera zawartości 20 albo hierarchii serwerów proxy. Po pierwsze w bloku 100 klient żąda informacji z serwera proxy albo serwera zawartości 20. Po drugie w bloku 102 ustala się historię dostępu do danych albo wzorce referencyjne danych w serwerze zawartości 20i serwerach proxy. W praktyce można odwrócić kolejność wykonywania bloków 100 i bloku 102.
Po trzecie, w bloku 104 serwer zawartości 20 generuje informację wskazującą pobranie wstępne (PHI) o dostępie związanym z żądaną informacją na podstawie wzorców referencyjnych danych ustalonych w bloku 102. Po czwarte w bloku 105 informacja wskazująca pobranie wstępne może stać się przypisem do żądanej informacji. Na przykład informację wskazującą pobranie wstępne można przekazać jako dane meta nałożone na żądaną informację, (czyli obiekt). W odniesieniu do kroku zakładania albo generowania informacji wskazującej pobranie wstępne, serwery zawartości 20 kontrolują wzorce użycia/referencji uzyskane od dużej liczby współbieżnych użytkowników albo klientów. W praktyce serwery zawartości 20 ustalają, która grupa informacji wiąże się z żądaną informacją albo żądanym obiektem. Serwery zawartości 20 generują i dostarczają informację wskazującą pobranie wstępne (PHI) z żądanym obiektem. W kroku pobierania wstępnego
PL 192 676 B1 albo bezpośrednio przed nim serwery proxy mogą zinterpretować PHI pod względem lokalnych ustaleń, aby zdecydować, które obiekty selekcyjne należy pobrać wstępnie.
Po piąte w bloku 106 informacja wskazująca pobranie wstępne jest aktualizowana, gdy żądana informacja przechodzi przez hierarchię serwerów proxy. Aktualizacja w bloku 106 odpowiada wykonanym operacjom pobierania wstępnego i statusowi pamięci podręcznej w hierarchii na wyższych poziomach, oraz innym lokalnym ustaleniom jak lokalne wzorce odniesienia. Serwery proxy mogą zmodyfikować PHI, aby odpowiadały decyzji o pobraniu wstępnym i różnym ustaleniom lokalnym przed przekazaniem obiektu do następnego (niższego) proxy albo do stacji klienta. Gdy obiekt przechodzi przez hierarchię proxy, węzeł nadawczy ustawia wstępne PHI natomiast węzeł odbiorczy może wyznaczyć końcowe PHI ze wstępnego PHI. Końcowe PHI określa obiekty selekcyjne do pobrania wstępnego na podstawie żądanych obiektów. Operacja i decyzja pobrania wstępnego są inicjalizowane przez odbiorcę, a nie przez nadawcę.
Na końcu w bloku 108 informacja selekcyjna jest pobierana wstępnie na podstawie informacji o pobraniu wstępnym i żądanej informacji. Serwer proxy albo klient decydują, czy pobrać wstępnie podzbiór obiektów określonych w PHIna podstawie informacji PHI w odebranym obiekcie, lokalnie przechowywanej informacji referencyjnej, (jeżeli jest dostępna) i innych ustaleń lokalnych, jak dostępny obszar pamięci i czas dostępu.
Generując informację wskazującą pobranie wstępne w bloku 104 stosuje się korzystnie protokół PICS albo format zgodny z PICS (patrz poniżej). PHI generowane w bloku 104 jest przechowywane z każdym podręcznie zapamiętanym obiektem jako część jego danych meta, tak że gdy zostanie zażądany obiekt w pamięci podręcznej, można przeanalizować informację PHI obiektu, aby zainicjalizować odpowiednie operacje pobrania wstępnego. Informację PHI można dostarczyć poprzez protokół PICS. Protokół PICS dostarcza informację o istotności każdego obiektu PHIi jego cechy takie jak wielkość i status zapamiętywania podręcznego w wyższej hierarchii.
Aktualizacji informacji wskazującej pobranie wstępne można dokonywać poprzez hierarchię serwera proxy. Serwery proxy mogą gromadzić informacje lokalne i rozprowadzać albo decentralizować decyzję o pobraniu wstępnym w dół hierarchii proxy. Ponadto informacja o tym, który pośredniczący proxy pobrał wstępnie obiekt może mieć wpływ na decyzję o pobraniu wstępnym dla proxy niższego rzędu i stanowiska klienta, aby zoptymalizować wykorzystanie pamięci i szerokości pasma.
Serwery proxy w hierarchii serwerów proxy współpracują ze sobą, aby dostarczyć decyzję o pobraniu wstępnym zorientowaną na odbiorcę. Decyzja o pobraniu wstępnym może być podejmowana wspólnie przez każde proxy i klienta. Informacja wskazująca pobranie wstępne w formacie informacji meta stanowi przypis, (czyli jest nałożona) na żądane obiekty. Informacja wskazująca pobranie wstępne stanowi informację o potencjalnych kandydatach do pobrania wstępnego.
Pośredniczące serwery proxy mogą modyfikować informację meta i przechowywać informację meta wraz z obiektem, gdy jest on podręcznie zapamiętywany, tak aby pobranie wstępne mogło zostać aktywowane przy późniejszym odwołaniu się do obiektu.
Figura 3B pokazuje format danych tabeli statystycznej 261. Tabela statystyczna 261 generalnie będzie się odnosić albo do pierwszej tabeli statystycznej 293 albo do drugiej tabeli statystycznej 267. Jeden albo większa liczba serwerów proxy 24 obsługuje pierwszą tabelę statystyczną 293. Serwer zawartości 20 może obsługiwać drugą tabelę statystyczną 267. Formaty dla pierwszej tabeli statystycznej 293 i drugiej tabeli statystycznej 267 są korzystnie w zasadzie podobne albo identyczne, aby umożliwiać aktualizację tabeli statystycznej 261 w różnych serwerach proxy w hierarchii serwerów proxy. Tabela statystyczna 261 pomaga w dostarczaniu informacji wskazującej pobranie wstępne (PHI) na podstawie faktycznego postępowania użytkownika z punktu widzenia serwera proxy albo serwera zawartości 20, z którym związana jest tabela statystyczna 261. W tabeli statystycznej 261 można analizować wszystkie odwołania wszystkich łączących się klientów znajdujących się poniżej niej w hierarchii serwerów proxy.
Na przykład na fig. 1 pierwsza tabela statystyczna 292 w pierwszym serwerze proxy poziomu trzeciego 50 monitoruje zbiorcze zachowanie, jeżeli chodzi o dostęp do danych dla pierwszego klienta 600 i drugiego klienta 603. Jednocześnie pierwsza tabela statystyczna 293 w drugim serwerze proxy trzeciego poziomu 55 monitoruje zbiorcze zachowanie, jeżeli chodzi o dostęp do danych dla trzeciego klienta 700 i czwartego klienta 703. Pierwsza tabela statystyczna w pierwszym serwerze proxy drugiego poziomu 40 monitoruje łączne zachowanie pierwszego klienta 600, drugiego klienta 603, trzeciego klienta 700 i czwartego klienta 703. Chociaż proxy niższego poziomu, jak pierwszy serwer proxy trzeciego poziomu 50, być może będzie lepiej monitorować zainteresowania klienta 600, proxy
PL 192 676 B1 niższego poziomu może nie być w stanie uzyskać dostatecznej statystyki referencyjnej z próbki klientów dostatecznej wielkości, aby dostarczyć istotną informację wskazującą pobranie wstępne (PHI).
W korzystnym przykładzie wykonania, gdy obiekt O jest żądany z serwera zawartości 20, serwer 20 dostarcza wstępną informację wskazującą pobranie wstępne PHI na podstawie informacji w swojej drugiej tabeli statystycznej 267. Gdy obiekt O przechodzi w dół hierarchii proxy, każdy serwer proxy 24 wzdłuż trasy do klienta 22 może zmodyfikować informację wskazującą pobranie wstępne (PHI) w nagłówku obiektu, aby ograniczyć PHI do lokalnej sytuacji w pierwszej tabeli statystycznej 293, jeżeli istnieje wystarczająco dużo lokalnych odwołań do obiektu O. Pierwsza tabela statystyczna 292 może zastępować drugą tabelę statystyczną 267 na podstawie czynników, takich jak zainteresowania albo preferencje określonego klienta dobrze poindeksowane przez serwer proxy niższego poziomu.
W korzystnym przykładzie wykonania serwer zawartości 20 utrzymuje drugą tabelę statystyczną 267, która jest bazą danych o częstości dostępu do danych dla klientów 22 w odniesieniu do żądanej informacji. Bazę danych można rozszerzyć, tak aby zawierała częstości dostępu do danych dla żądających serwerów proxy 24. Podobnie jeden albo większa liczba serwerów proxy 24 utrzymuje pierwszą tabelę statystyczną 293. Na przykład tabela statystyczna 261 ma pierwszą tablicę 383 z pierwszą strukturą danych 304 i drugą strukturą danych 306. Jak pokazano, pierwsza struktura danych 304 i druga struktura danych 306 są rekordami. Każdy rekord w tabeli statystycznej 261 składa się z kilku pól, zawierających identyfikatory obiektów rodzicielskich 301, (czyli Objectld), pierwsze liczniki 302, (czyli TCount) i wskaźniki danych listy dostępowej 303, (czyli AList).
Pole identyfikatora obiektu rodzicielskiego 301 zawiera identyfikator obiektu. Na przykład identyfikator obiektu rodzicielskiego 301 zawiera URL obiektu dla aplikacji internetowych albo z nimi związanych. Pierwsze pole licznikowe 302 zawiera liczbę odwołań do obiektu rodzicielskiego, związanego z identyfikatorem obiektu rodzicielskiego, zaobserwowaną przez serwer. Tak więc pierwsze pole licznikowe 302 zawiera częstości faktycznych żądań dla żądanych obiektów. Pierwszy licznik 302 reprezentuje częstość dostępu do obiektu rodzicielskiego. Wskaźnik danych listy dostępowej 303 zawiera wskaźnik danych do listy dostępowej 370.
Tabela statystyczna 261 ma listę dostępową 370, która na przykład zawiera pierwszy rekord dostępu 340, drugi rekord dostępu 350, trzeci rekord dostępu 360 i czwarty rekord dostępu 380. Jak przedstawiono, identyfikator obiektu rodzicielskiego związany z pierwszą strukturą danych 304 ma listę dostępową 370, która składa się z połączonej listy pierwszego rekordu dostępu 340, drugiego rekordu dostępu 350 i trzeciego rekordu dostępu 360. Pole wskaźnikowe danych 313 następnego rekordu zawiera wskaźnik do następnego rekordu dostępu na liście dostępowej 370 związanej z określonym identyfikatorem obiektu rodzicielskiego 301. Lista dostępowa dla identyfikatora obiektu rodzicielskiego 301 związanego z drugą strukturą danych 306 zawiera tylko czwarty rekord dostępu 380.
Każdy rekord albo struktura danych na liście dostępowej składa się z kilku pól, zawierających identyfikator obiektu potomnego 310, (czyli AObjectId), drugi licznik 312, (czyli RCount) i wskaźnik danych do następnego rekordu 313, (czyli Nxt). Struktury danych mogą być w formacie ogólnej struktury danych, rekordu albo tablic. Jak pokazano na fig. 4, struktury danych są rekordami, które tworzą połączoną listę w obrębie listy dostępowej 370.
W alternatywnym przykładzie wykonania format danych tabeli statystycznej może obejmować tablicę główną związaną ze zbiorem alternatywnych tabel drugorzędnych w strukturze drzewa. Tablica główna zawierałaby informację odnoszącą się do obiektów rodzicielskich, a tablica drugorzędna zawierałaby informację o obiektach potomnych odpowiednich obiektów rodzicielskich.
Pole identyfikatora obiektu potomnego 310 zawiera identyfikator obiektu (URL). Identyfikator obiektu rodzicielskiego 301 jest związany z jednym albo większą liczbą identyfikatorów obiektu potomnego 310 na liście dostępowej. Identyfikatory obiektu potomnego 310 określają potencjalnych kandydatów do pobrania wstępnego, jeżeli następuje faktyczne odwołanie do obiektu rodzicielskiego obiektu potomnego. Drugi licznik 312 zawiera liczbę odwołań do obiektu potomnego poprzez obiekt rodzicielski. Innymi słowy drugi licznik jest częstością, z jaką następuje późniejsze w czasie i bezpośrednie odwołanie do obiektu potomnego po uprzednim odwołaniu do odnośnego obiektu rodzicielskiego. Drugi licznik 312 reprezentuje częstość dostępu do obiektu potomnego.
Identyfikatory obiektów potomnych 310 na liście dostępowej 370 można uzyskać dynamicznie obserwując faktyczne odwołania klientów. Na przykład w HTML strona Web może mieć odnośniki HTTP do innych stron Web. Te strony Web wskazane przez odnośniki HTTP są potencjalnymi obiektami potomnymi dla (rodzicielskiej) strony Web zawierającej odnośniki HTTP. Gdy jest oglądany obiekt
PL 192 676 B1 rodzicielski, jeżeli kliknie się na referencyjny odnośnik (HTTP) zawarty w obiekcie rodzicielskim, następuje odwołanie do odnośnego obiektu potomnego. Obiekt potomny może mieć więcej niż jeden obiekt rodzicielski, ponieważ odnośnik do obiektu potomnego może być zawarty w większej liczbie innych obiektów rodzicielskich. W protokole HTTP żądanie uzyskania obiektu potomnego zawiera rodzicielski URL jako informację referencyjną w swoim nagłówku. Tak więc serwer może dynamicznie powiązać późniejsze odwołanie do obiektu potomnego z jego obiektem rodzicielskim (poprzez informację referencyjną w nagłówku obiektu potomnego). Jeżeli klient często klika na obiekt potomny albo go wybiera, obiekt potomny może stać się kandydatem do pobrania wstępnego albo informacją selekcyjną. Dodatkowo do dynamicznego monitorowania zachowania osoby oglądającej, można okresowo przeprowadzać analizę statystyczną albo przeszukiwanie rejestrów Web, aby wyznaczyć informację o grupach obiektów dla tabeli statystycznej 261. Algorytm wyszukujący wyznacza grupy obiektów, do których następują wspólne odwołania, aby uzyskać potencjalnych kandydatów do pobrania wstępnego dla PHI. Jeden ze sposobów przeszukiwania rejestrów Web do wyznaczania wzorca referencyjnego jest opisany w: „SpeedTracer: A Web Usage Mining and Analysis Tool” Kun-lung Wu i innych, IBM Research Report 20895, maj 1997 (zobacz IBM Systems Journal, v37, n1, strony 89-105, 1998). Algorytm SpeedTracer dostarcza informację o grupach stron, do których często następują wspólne odwołania w sesji użytkownika oraz o częstej trasie przechodzenia. Algorytm SpeedTracer jest algorytmem typu przeszukiwania wgłąb, który może wyszukać powiązane odwołania, które nie występują bezpośrednio ze sobą. Może także określić lepsze prognozy, co do następnego zbioru powoływanych obiektów na podstawie trasy przechodzenia do danego obiektu.
Można zastosować inne typy algorytmów wyszukujących do wyznaczenia wzorców dostępu do danych dla tabeli statystycznej 261. Na przykład inne algorytmy przeszukiwania danych obejmują klasyfikowanie i grupowanie, które także można zastosować do analizy rejestrów Web, aby uzyskać wzorce referencyjne. Ponadto PHI może zostać dostarczone także przez dostawcę zawartości na podstawie jego wiedzy o zależnościach pomiędzy obiektami. Na przykład PHI może zawierać poprawki i aktualizacje dla żądanego ściąganego oprogramowania, klasy Javy dla żądanego apletu Javy i obiekty (takie jak GIF) zawarte w żądanych obiektach, ale nie ogranicza się do nich. W korzystnym przykładzie wykonania przy gromadzeniu statystyki, odróżnia się faktyczne odwoływanie się do obiektu ze stanowiska klienta od żądania wstępnego pobrania obiektu. Pierwszy licznik 302, (czyli TCount) i drugi licznik 310, (czyli RCount) w tabeli statystycznej 261 odpowiadają rzeczywistym odwołaniom, anie pobieraniu wstępnemu. Tak więc operacja pobierania wstępnego nie będzie powodowała aktualizacji pierwszej tabeli statystycznej 293 ani drugiej tabeli statystycznej 267, będą to powodowały tylko faktyczne odwołania do obiektu.
W informacji wskazującej pobranie wstępne albo na liście informacji wskazującej pobranie wstępne można stosować różne struktury danych do podpisywania żądanej informacji albo żądanych obiektów. Na przykład informację wskazującą pobranie wstępne można przekazywać pomiędzy węzłem żądającym i węzłem serwerowym przy użyciu nakładanych danych meta. W realizacji HTTP wymiana informacji może być zawarta jako dane meta w nagłówku obiektu przy użyciu istniejących protokołów sieciowych. PICS („platforma dla wyboru treści internetowych) określa sposób wysyłania informacji meta dotyczącej treści elektronicznej. PICS można stosować do (a) podpisywania żądanej informacji, (b) wstępnego pobierania informacji selekcyjnej, kandydatów do pobrania wstępnego albo obiektów potomnych oraz (c) potwierdzania operacji pobierania wstępnego po wstępnym pobraniu informacji.
PICS jest znane znawcy jako zalecenie protokołowe Konsorcjum sieci Web. PICS stosowano uprzednio do przesyłania etykiet klasyfikacyjnych opartych na wartościach, takich jak „Jak dużo golizny jest związane z tą treścią”, ale format i znaczenie meta-informacji są w pełni ogólne. WPICS meta-informację o treści elektronicznej grupuje się według „usługi klasyfikacyjnej” albo informacji o producencie i zamierzonym użyciu, i w obrębie takiej grupy można transmitować dowolną liczbę kategorii albo wymiarów informacji. Każda kategoria ma zakres dozwolonych wartości i dla każdego elementu zawartości określona kategoria może mieć jedną wartość albo więcej wartości. Ponadto grupa meta-informacji (znana jako „etykieta PICS) może zawierać informację o wygaśnięciu. Istnieją także usługi umożliwiające, aby etykieta PICS odnosiła się do więcej niż jednego elementu zawartości elektronicznej. Każda etykieta PICS dla określonego elementu treści elektronicznej może być niezależnie dodawana albo usuwana z zawartości.
Na przykład plik graficzny może zostać wysłany z serwera z etykietą PICS, której pole „usługi klasyfikacyjnej” wskazuje, że zawiera etykiety klasyfikacyjne oparte na wartościach zgodnie z systePL 192 676 B1 mem klasyfikacji „SafeSurf”. Według korzystnego przykładu wykonania niniejszego wynalazku, plik graficzny przechodzący przez proxy inicjalizacyjne może otrzymać nową uaktualnioną wartość kategorii dla etykiety PICS, odpowiadającą lokalnym ustaleniom „usługi klasyfikacyjnej”. Tak więc dla komputera klienta będzie widoczna tylko nowa wartość kategorii etykiety PICS. Protokół HTTP został rozszerzony, tak że nagłówki żądań i nagłówki odpowiedzi obsługują PICS. Organizacje techniczne, które definiują inne powszechne protokoły programowe, jak NNTP, obecnie również rozważają dołączenie obsługi PICS. Jako część tych protokołów, można dołączyć do żądania listę typów żądanych etykiet PICS. PICS określa także format zapytania dla żądania informacji PICS z centralnego urzędowego serwera etykietowego.
Przykładowa etykieta PICS to:
(PICS-1.1 „http://the.rating.service” etykiety dla „http://the.content” exp „1997.07.09T08:15-0500 r (n 4 s 3 v2)), gdzie „n”, „s” i „v”to nazwy transmisyjne dla różnych typów meta-informacji, a możliwe do zastosowania wartości dla tej zawartości to 4 (dla n), 3 (dla s) i 2 (dla v). Tylko oprogramowanie rozpoznające identyfikator „http://the.rating.service” miałoby możliwość interpretacji tych kategorii i wartości.
W korzystnym przykładzie wykonania wprowadzone są trzy różne rodzaje etykiet PICS. Pierwszy rodzaj etykiety PICS, określany jako etykieta pobierania wstępnego, (czyli etykieta P) jest stosowany przez węzeł serwera, aby dostarczyć PHI. Drugi rodzaj etykiety PICS, określany jako etykieta żądania (czyli etykieta R) jest stosowany do żądania obiektów kandydujących do pobrania wstępnego. Trzeci rodzaj etykiety PICS, określany jako etykieta referencyjna (to jest etykieta X), jest stosowany aby umożliwić sprzężenie zwrotne jeżeli chodzi o efektywność pobrania wstępnego, na podstawie tego, do których obiektów pobierania wstępnego faktycznie się odwołano.
Etykieta pobierania wstępnego może zawierać dowolną kombinację następujących kategorii inie jest do niej ograniczona: kategorię identyfikatora, kategorię prawdopodobieństwa, kategorię rozmiaru i kategorię zapamiętywania podręcznego. Kategoria identyfikatora (to jest kategoria ID) ma wartość, która przekazuje URL kandydata do pobrania wstępnego. Kategoria prawdopodobieństwa (to jest kategoria PROB) ma wartość, która przekazuje oszacowanie użyteczności pobrania wstępnego. W korzystnym przykładzie wykonania stosuje się oszacowanie prawdopodobieństwa odwołania.Prawdopodobieństwo odwołania wskazuje prawdopodobieństwo faktycznego odwołania się do kandydata do pobrania wstępnego. Kategoria rozmiaru ma wartość, która przekazuje rozmiar albo wymagania pamięci dla kandydata do pobrania wstępnego. Kategoria zapamiętywania podręcznego ma wartość, która przekazuje informację o każdym serwerze proxy wyższego poziomu, który ma kopię obiektu kandydującego do pobrania wstępnego albo w swojej pierwszej głównej pamięci podręcznej 294 albo w pierwszej pamięci podręcznej pobierania wstępnego 296. W korzystnym przykładzie wykonania wyznaczany jest tylko najbliższy proxy wyższego poziomu.
Etykieta żądania może zawierać następujące kategorie i nie jest do nich ograniczona: kategorię identyfikatora (to jest kategorię ID). Wartość kategorii identyfikatora przekazuje URL obiektu do pobrania wstępnego. W korzystnym przykładzie wykonania, gdy węzeł (proxy albo klient) chce wstępnie pobrać sugerowany obiekt kandydujący do pobrania wstępnego, żądanie nagłówkowe HTTP jest wysyłane z powrotem do serwera zawartości 20 poprzez hierarchię proxy przy użyciu etykiety żądania do przekazania URL obiektu, który ma być pobrany wstępnie.
Gdy serwer proxy 24 odbierze żądanie pobrania wstępnego z niższego węzła hierarchii, spełni żądanie jeżeli obiekt jest w jego głównej pamięci podręcznej albo pamięci podręcznej pobrania wstępnego. W przeciwnym razie przekazuje żądanie pobrania wstępnego do proxy na następnym wyższym poziomie. Etykieta odwołania może zawierać następujące kategorie, ale nie jest do nich ograniczona: kategorię identyfikatora obiektu (kategorię obiekt-ID) oraz kategorię identyfikatora referencyjnego (kategorię referencyjny-ID). Kategoria identyfikatora obiektu ma wartość, która przekazuje URL obiektu pobierania wstępnego, do którego następuje odwołanie. Kategoria identyfikatora referencyjnego ma wartość, która przekazuje URL obiektu, który zawiera w swoim PHI obiekt wskazany przez wartość kategorii identyfikatora obiektu.
W korzystnym przykładzie wykonania, gdy następuje faktyczne odwołanie do obiektu pobierania wstępnego, żądanie nagłówkowe HTTP wysyła się z powrotem do serwera zawartości 20 poprzez hierarchię proxy przy użyciu etykiety odwołania, aby przekazać URL obiektu pobierania wstępnego, do którego się odwołano, oraz jego obiektu referencyjnego. Do tego typu żądania nagłówkowego HTTP następuje potem odwołanie jako do komunikatu referencyjnego pobrania wstępnego. Gdy serwer proxy 24 otrzyma komunikat referencyjny pobrania wstępnego z niższego węzła hierarchii, aktu12
PL 192 676 B1 alizuje swoją pierwszą tabelę statystyczną 293 i przekazuje żądanie do serwera proxy na następnym wyższym poziomie.
Figura 4 przedstawia przykład logiki serwera 268, który aktualizuje drugą tabelę statystyczną 267 w serwerze zawartości 20. Aktualizacja drugiej tabeli statystycznej 267, jest aktywowana przez zażądanie obiektu przez klienta 22.
Serwer zawartości 20 korzystnie generuje informację wskazującą pobranie wstępne do przypisania albo wstawienia do nagłówka obiektu przed wysłaniem żądanego obiektu do klienta 22.
Zaczynając w bloku referencyjnym 405 serwer zawartości 20 czeka na wprowadzenie danych. W symbolu decyzyjnym 410, jeżeli otrzymane wprowadzone dane to żądanie obiektu O, wywołuje się zespół aktualizacji statystyki 252 albo drugą procedurę aktualizacji statystyki 269 w bloku referencyjnym 415. W bloku referencyjnym 420 wywoływany jest zespół generujący 266 do generowania informacji wskazującej pobranie wstępne 266 albo procedura generowania pobrania wstępnego. Szczegółowy przykład zespołu generującego 266 albo procedury generowania PHI jest opisany później w odniesieniu do fig. 6. W bloku referencyjnym 425 PHI wstawia się na przykład do nagłówka żądanego obiektu. Informacja wskazująca pobranie wstępne może być w przeciwnym razie przypisem dla żądanego obiektu albo żądanej informacji w bloku 425. W korzystnym przykładzie wykonania można zastosować protokół PICS do podpisywania żądanego obiektu. PHI jest pobierane w etykiecie P, w której wartość kategorii identyfikatora odpowiada URL kandydata do pobrania wstępnego. W bloku 430 żądany obiekt jest zwracany do żądającego klienta albo żądającego serwera proxy. W symbolu decyzyjnym 435, jeżeli odebrane wprowadzone dane to komunikat referencyjny pobierania wstępnego, (czyli żądanie nagłówkowe HTTP z etykietą X wskazującą, że faktycznie nastąpiło odwołanie do obiektu pobierania wstępnego O), wywoływane są środki aktualizacji statystyki 252 albo druga procedura aktualizacji statystyki 269 w kroku 440. Dla innych typów wprowadzonych danych, które nie są tematem niniejszego wynalazku, takich jak żądanie FTP (protokołu transmisji plików), można wywołać odpowiednią obsługę ogólną w bloku referencyjnym 445.
Figura 5 pokazuje, jak zespół aktualizacji statystyki 252 aktualizuje jedną ze wspomnianych tabel statystycznych 261. Zespół aktualizacji statystyki odwołuje się do pierwszej procedury aktualizacji statystyki 264 do aktualizacji pierwszej tabeli statystycznej 293 albo do drugiej procedury aktualizacji statystyki 269 do aktualizacji drugiej tabeli statystycznej 267, albo zarówno do pierwszej procedury aktualizacji statystyki 264, jak i drugiej procedury aktualizacji statystyki 269. Tabela statystyczna 261 odnosi się albo do pierwszej tabeli statystycznej 293 albo drugiej tabeli statystycznej 267, albo zarówno do pierwszej tabeli statystycznej 293, jak i drugiej tabeli statystycznej 267.
Zespół aktualizacji statystyki 252 szuka najpierw informacji w obiekcie referencyjnym. Żądany obiekt jest następnie umieszczany na liście dostępowej albo liście pobierania wstępnego obiektu referencyjnego.
Zaczynając od bloku referencyjnego 505, aktualizowana jest tabela statystyczna 261, aby wskazać, że do obiektu O odwołano się jeszcze jeden raz, przez zwiększenie pierwszego licznika. Innymi słowy w bloku 505 TCount(O) jest zwiększane o jeden. Jeżeli obiektu O nie ma jeszcze w tabeli statystycznej 261, wprowadza się identyfikator obiektu rodzicielskiego do tabeli statystycznej 261 z TCount(O) zainicjalizowanym na jeden. Nowy identyfikator obiektu rodzicielskiego zastępuje pozycję w tabeli statystycznej 261, do której odwoływano się najdawniej, jeżeli nie ma żadnego wolnego miejsca w tabeli statystycznej 261. W symbolu decyzyjnym 510 sprawdza się informację referencyjną, na przykład sprawdzając nagłówek żądanego obiektu. Na przykład w protokole HTTP obiekt referencyjny jest podawany w nagłówku, aby wskazać, który obiekt zawiera odnośnik HTTP do żądanego obiektu. Jeżeli obiekt referencyjny (R) zostanie znaleziony w nagłówku, w kroku 520 sprawdza się tabelę statystyczną 261, aby zobaczyć, czy obiekt O jest już na liście dostępowej obiektu R. Jeżeli tak, zwiększa się o jeden drugi licznik (to jest RCount(O)) w bloku 530 dla żądanego obiektu. W przeciwnym razie w bloku 525 wprowadza się żądany obiekt (to jest obiekt O) na listę dostępową obiektu rodzicielskiego (to jest obiektu R) z drugim licznikiem (to jest RCount (0)) zainicjalizowanym na jeden.
Figura 6 przedstawia przykład zespołu generującego 266 do generowania informacji wskazującej pobranie wstępne na liście informacji wskazujących pobranie wstępne. Lista informacji wskazujących pobranie wstępne zawiera identyfikatory obiektów potomnych, jeżeli stosunek drugiego licznika do pierwszego licznika przekracza poziom wskazujący. Lista informacji wskazującej pobranie wstępne reprezentuje okrojoną albo przefiltrowaną listę dostępową. Oznacza to, że zespół generujący 266 przyjmuje dane wejściowe z tabeli statystycznej 261 i filtruje dane wejściowe, aby uzyskać listę informacji wskazujących pobranie wstępne.
PL 192 676 B1
Zespół generujący 266 do generowania informacji wskazującej pobranie wstępne reprezentuje procedurę generowania informacji wskazującej pobranie wstępne (PHI) 266, która zaczyna się w bloku referencyjnym 610. W bloku referencyjnym 610 sprawdza się listę dostępową 610 obiektu rodzicielskiego, (czyli obiektu O), aby sprawdzić, czy jest pusta, czy nie (to jest czy Alist(O) wynosi zero). Jeżeli lista dostępowa nie jest pusta, w bloku referencyjnym 620, niech Cj będzie następnym obiektem potomnym, (czyli identyfikatorem obiektu potomnego) wyznaczonym na liście dostępowej obiektu rodzicielskiego (to jest obiektu O).
W symbolu decyzyjnym 630 porównuje się prawdopodobieństwo obiektu potomnego Cj z progiem wskazującym (to jest TH), który jest ustaloną wartością progową (na przykład 0,75). W korzystnym przykładzie wykonania prawdopodobieństwo odwołania Cj określa się jako stosunek drugiego licznika do pierwszego licznika (to jest RCount(Cj)/TCount(O)). Stosunek jest oszacowaniem prawdopodobieństwa, że nastąpi odwołanie do obiektu potomnego (obiektu Cj) po odwołaniu do obiektu rodzicielskiego (obiektu O). Jeżeli w symbolu decyzyjnym 630 prawdopodobieństwo odwołania Cj jest większe niż próg wskazujący (to jest TH), to identyfikator obiektu potomnego (Cj) zostanie zawarty na liście PHIw bloku referencyjnym 640. Innymi słowy, jeżeli stosunek przekracza próg wskazujący, identyfikator obiektu potomnego i związaną z nim informację umieszcza się na liście informacji wskazującej pobranie wstępne.
Zespół generujący 266 może wymagać podprocedur programowych albo elementów oprogramowania, aby przeprowadzić porównanie w bloku referencyjnym 630. W szczególności zespół generujący 266 do generowania informacji wskazującej pobranie wstępne na liście informacji wskazujących pobranie wstępne może zawierać środki obliczeniowe do obliczania prawdopodobieństwa odwołania i środki porównujące do porównywania prawdopodobieństwa odwołania z progiem wskazującym.
W korzystnym przykładzie wykonania stosującym protokół PICS, informację PHI przechowuje się w etykiecie P, w której pobiera się URL obiektu potomnego (Cj) jako kategorię identyfikatora (to jest wartość kategorii), jego prawdopodobieństwo odwołania i rozmiar pobiera się odpowiednio jako kategorię prawdopodobieństwa (to jest PROB) i wartości kategorii rozmiaru. W symbolu decyzyjnym 645, jeżeli lista dostępowa obiektu O nie jest jeszcze w całości przejrzana, blok referencyjny 620 zostanie wykonany ponownie.
Można zastosować różne alternatywne kryteria do wybrania kandydatów do pobrania wstępnegoz tabeli statystycznej 261. Na przykład można zastosować ruchomą średnią prawdopodobieństwa odwołania w ostatnich przedziałach. Ponadto procedura wyboru kandydatów do pobrania wstępnego może być rekurencyjna. Jeżeli obiekt potomny (obiekt Cj) jest wybrany jako kandydat do pobrania wstępnego dla obiektu rodzicielskiego (obiektu O), można ocenić każdy obiekt potomny (obiekt Cji) na liście dostępowej obiektu potomnego (obiektu Cj), aby ustalić, czy ma ona zostać umieszczony na liście pobierania wstępnego obiektu rodzicielskiego (obiektu O), jeżeli jeszcze nie jest umieszczony. W symbolu decyzyjnym 630 zespół porównujący albo zespół oceniający może teraz sprawdzić, czy iloczyn RCount(Cj)/TCount(O) i Count(Cji)/TCount(Cj) jest większy niż próg wskazujący (TH).
Figura 7 przedstawia przykład działania logiki klienta 244. Figura 7 pokazuje, że gdy obiekt zostanie zażądany, wywoływana jest obsługa żądania obiektu klienta 247. W przeciwnym razie obsługa pobierania wstępnego 241 może obsługiwać obiekty, które nie są żądane, ale muszą być przechowywane w drugiej pamięci podręcznej pobierania wstępnego 249 klienta 22.
Zaczynając od bloku 710, klient 22 czeka na wprowadzenie danych. W symbolu decyzyjnym 720, jeżeli otrzymane dane wejściowe do obiekt, w bloku referencyjnym 730 wywoływana jest druga obsługa pobrania wstępnego 241. W bloku 740 wywoływana jest obsługa obiektu klienta, aby zwrócić obiekt do żądającej aplikacji u klienta 22. Jeżeli w symbolu decyzyjnym 750 otrzymane dane wejściowe to żądanie obiektu, w bloku referencyjnym 760 wywoływana jest obsługa żądania obiektu klienta 247. Dla innych typów danych wejściowych, które nie są tematem niniejszego wynalazku (takich jak żądanie popychania), można wywołać odpowiednią obsługę ogólną w bloku referencyjnym 770.
Figura 8 przedstawia przykład działania zespołu pobierania wstępnego 250, zawierającego pierwszą obsługę pobierania wstępnego 248, albo drugą obsługę pobierania wstępnego 241, albo zarówno pierwszą obsługę pobierania wstępnego 248 jak i drugą obsługę pobierania wstępnego 241. Podsumowując, zespół pobierania wstępnego 250 stosuje listę pobierania wstępnego wygenerowaną przez zespół generujący 266 z fig. 6 jako dane wejściowe, aby ustalić, czy obiekty potomne, do których odwoływano się na liście informacji wskazujących pobranie wstępne, wymagają przechowania w jednej z pamięci podręcznych pobierania wstępnego 298. Zespół pobierania wstępnego 250 oblicza wartość pobierania wstępnego dla każdego obiektu kandydującego do pobrania wstępnego albo każ14
PL 192 676 B1 dego identyfikatora obiektu potomnego na liście informacji wskazujących pobranie wstępne. Wartość pobrania wstępnego uwzględnia prawdopodobieństwo dostępu do obiektu potomnego i koszt dostępu przy przechowywaniu obiektu potomnego. Obiekty potomne z najwyższymi wartościami progowymi są zapamiętywane jako pierwsze aż do wypełnienia dostępnego miejsca w jednej z pamięci podręcznych pobierania wstępnego 298.
Zaczynając od bloku referencyjnego 805, niech L będzie listą PHI obiektów kandydujących do pobrania wstępnego. Obiekty kandydujące do pobrania wstępnego można wyrazić jako identyfikatory obiektów potomnych na liście informacji wskazujących pobranie wstępne. Każdy kandydat do pobrania wstępnego występujący w lokalnej pamięci podręcznej, (czyli pamięci podręcznej pobierania wstępnego albo głównej pamięci podręcznej) jest usuwany z L. W bloku 810 oblicza się wartość pobierania wstępnego (PV) każdego obiektu w L. W korzystnym przykładzie wykonania wartość PV określa się jako prawdopodobieństwo odwołania pomnożone przez koszt dostępu. Koszt dostępu ocenia się na podstawie najbliższej witryny zapamiętującej podręcznie obiekt kandydujący do pobrania wstępnego albo obiekt potomny określony na liście PHI. W praktyce obiekty potomne wyznacza się korzystnie na liście PHI poprzez identyfikatory obiektów potomnych, a nie całe obiekty potomne, żeby zaoszczędzić miejsce w pamięci.
Prawdopodobieństwo odwołania oblicza się korzystnie z wartości kategorii prawdopodobieństwa (PROB), a najbliższą witrynę zapamiętywania podręcznego wyznacza się z wartości kategorii pamięci podręcznej etykiety PICS. W bloku 820 wybiera się obiekt kandydujący do pobrania wstępnego z najwyższą wartością PV. W bloku referencyjnym 830 ustala się ilość miejsca w buforze pobierania wstępnego dostępnego dla obiektu kandydującego do pobrania wstępnego (to jest Oj).
Miejsce to jest albo nie jest aktualnie wykorzystane albo jest zajmowane przez obiekty z mniejszymi wartościami PV, które są tylko ułamkiem (na przykład połową) wartości PV ocenianego obiektu kandydującego do pobrania wstępnego (to jest Oj). Każde miejsce w pamięci zajmowane przez obiekt oznaczony jako usuwalny w jednej z pamięci podręcznych pobierania wstępnego 298 jest uważane za aktualnie niewykorzystane. W symbolu decyzyjnym 840 sprawdza się jedną z pamięci podręcznych pobierania wstępnego 298, aby zobaczyć, czy jest dostatecznie dużo miejsca dla Oj. Jeżeli tak w bloku referencyjnym 850 obiekt Oj jest wstępnie pobierany do jednej z pamięci podręcznych pobierania wstępnego 298. W bloku 860 Oj jest usuwany z listy PHI (to jest L). W bloku referencyjnym 870, jeżeli L nie jest puste, krok związany z blokiem referencyjnym 820 jest wykonywany ponownie.
Chociaż w korzystnym przykładzie wykonania obiekty są pobierane wstępnie po jednym naraz, można wstępnie pobrać wiele obiektów w jednym żądaniu. W bloku referencyjnym 850 można umieścić Oj na liście pobierania wstępnego. W bloku 870, jeżeli L jest puste, przedstawia się żądanie pobrania wstępnego z całą listą pobierania wstępnego. Ponadto nawet, jeżeli jest wystarczająco dużo miejsca w pamięci podręcznej pobierania wstępnego, można utrzymywać obowiązującą listę pobierania wstępnego, tak że gdy pamięć stanie się dostępna, można zainicjalizować dodatkowe pobranie wstępne. Przy użyciu protokołu HTTP sesja komunikacyjna może pozostać otwarta podczas pobrania wstępnego, aby zmniejszyć koszt połączeń. Nie trzeba ponownie otwierać sesji dla każdego pobrania wstępnego.
Figura 9 przedstawia przykład działania obsługi żądania obiektu klienta 247. Podsumowując, obsługa żądania obiektu klienta 247 przeszukuje najpierw drugą główną pamięć podręczną 246, a po drugie drugą pamięć podręczną pobierania wstępnego 249.
Jeżeli obiektu nie ma ani w drugiej głównej pamięci podręcznej 246 ani w drugiej pamięci podręcznej pobierania wstępnego 249, żądanie obiektu jest wysyłane do serwera. Jeżeli obiekt znajduje się w drugiej pamięci podręcznej pobierania wstępnego 249, komunikat referencyjny pobrania wstępnego jest wysyłany do jednego z serwerów, aby wskazać, że faktycznie odwołano się do obiektu pobierania wstępnego. Następnie stosuje się drugą obsługę pobierania wstępnego 241 i obsługę obiektu klienta.
Zaczynając od symbolu decyzyjnego 905, jeżeli żądany obiekt O zostanie znaleziony w drugiej głównej pamięci podręcznej 246, w bloku referencyjnym 925 wywołuje się drugą obsługę pobierania wstępnego 241, aby zainicjalizować odpowiednie operacje pobierania wstępnego w oparciu o PHI związane z obiektem O. W bloku referencyjnym 930 wywołuje się obsługę obiektu klienta, aby zwrócić żądany obiekt do żądającej aplikacji u klienta. W symbolu decyzyjnym 910, jeżeli żądany obiekt O zostanie znaleziony w drugiej pamięci pobierania wstępnego 249, wysyła się komunikat referencyjny pobierania wstępnego do serwera zawartości 20 w bloku 920, tak aby jego drugą tabePL 192 676 B1 lę statystyczną 267 można było uaktualnić, aby pobrać faktyczne odwołanie do obiektu pobierania wstępnego. W rzeczywistości, ponieważ komunikat referencyjny pobierania wstępnego przechodzi poprzez hierarchię proxy do serwera zawartości 20, druga tabela statystyczna 267 w każdym pośredniczącym proxy także zostanie uaktualniona. W bloku 910, jeżeli obiekt nie znajduje się w drugiej pamięci podręcznej pobierania wstępnego 249, żądanie obiektu wysyła się do serwera zawartości 20 poprzez hierarchię proxy w bloku referencyjnym 915.
Komunikaty referencyjne pobierania wstępnego mogą być grupowane. Tak więc można utrzymywać listę referencyjną pobierania wstępnego i okresowo wysyłać złożony komunikat referencyjny pobierania wstępnego do serwera wyższego poziomu, aby potwierdzić odwołanie do wszystkich obiektów na liście referencyjnej pobierania wstępnego.
Figura 10 przedstawia przykład działania logiki serwera proxy 295. Podsumowując, dane wejściowe sortuje się pod tym względem, czy jest to żądanie obiektu, transmisja obiektu, albo komunikat referencyjny pobierania wstępnego. Zależnie od danych wejściowych dostępne są trzy różne procedury obsługi albo procedury programowe: obsługa żądania obiektu proxy 283, obsługa obiektu proxy 284 i obsługa komunikatu referencyjnego pobierania wstępnego 285.
Zaczynając od bloku referencyjnego 1005, serwer proxy czeka na wprowadzenie danych. Jeżeli w symbolu decyzyjnym 1010 dane wejściowe to żądanie obiektu O, serwer proxy 24 sprawdza, czy istnieje już obowiązujące żądanie dla tego obiektu O w bloku 1015. Obowiązujące żądanie może być spowodowane żądaniem pobrania wstępnego tego obiektu O, przedstawionym przez ten serwer proxy 24 albo wcześniejszym żądaniem obiektu O, pochodzącym od innego węzła serwera proxy, który jest niżej w hierarchii serwera proxy. Jeżeli nie istnieje obowiązujące żądanie obiektu O w bloku referencyjnym 1015, w bloku 1020 wywołuje się obsługę żądania obiektu proxy 283. W symbolu decyzyjnym 1025, jeżeli otrzymane dane wejściowe to obiekt (z proxy wyższego poziomu), w bloku referencyjnym 1030 wywołuje się obsługę obiektu proxy 284. W przeciwnym razie w bloku 1040, jeżeli otrzymane dane wejściowe to komunikat referencyjny pobierania wstępnego, wywołuje się obsługę komunikatu referencyjnego pobierania wstępnego 285 w bloku 1045. Dla innych typów danych wejściowych, które nie są tematem niniejszego wynalazku (takich jak żądanie FTP), można wywołać odpowiednią obsługę ogólną w bloku 1060.
Figura 11 przedstawia przykład działania obsługi żądania obiektu proxy 283. Podsumowując, jeżeli obiekty znajdują się w pamięci podręcznej pobierania wstępnego, obiekt jest zwracany albo wysyłany do żądającego klienta albo żądającego serwera proxy. Następnie, jeżeli żądany obiekt był żądaniem pobierania wstępnego, żądany obiekt zaznacza się jako usuwalny z pierwszej pamięci podręcznej pobierania wstępnego 296 serwera proxy 24. Jeżeli nie przedstawiono żadnego żądania pobrania wstępnego dla żądanego obiektu, wysyła się komunikat referencyjny pobrania wstępnego do serwera zawartości 20. Jednak komunikat referencyjny pobierania wstępnego jest wysyłany tylko wtedy, gdy żądany obiekt wysyła się z pierwszej pamięci podręcznej pobierania wstępnego 296.
Jeżeli żądany obiekt nie znajduje się ani w pierwszej pamięci podręcznej pobierania wstępnego ani w pierwszej głównej pamięci podręcznej 294, żądanie obiektu wysyła się do innego serwera proxy 24 albo serwera zawartości 20. Żądane obiekty znalezione w pierwszej głównej pamięci podręcznej 294 są zwracane albo wysyłane do żądającego klienta albo serwera proxy 24 i aktualizuje się pierwszą tabelę statystyczną 293, jeżeli żądanie nie było żądaniem pobierania wstępnego.
Zaczynając w symbolu decyzyjnym 1105, jeżeli żądany obiekt O zostanie znaleziony w pamięci podręcznej pobierania wstępnego, obiekt O jest zwracany do żądającego węzła w bloku 1130. W symbolu decyzyjnym 1135, jeżeli żądanie jest żądaniem pobrania wstępnego, obiekt O w pierwszej pamięci podręcznej pobierania wstępnego 296 oznacza się jako usuwalny w bloku 1150. Usuwanie obiektów z pierwszej pamięci podręcznej pobierania wstępnego 296 tworzy miejsce dla przyszłych pobrań wstępnych, ponieważ obiekt pobierania wstępnego O został teraz pobrany wstępnie przez pewne węzły w niższej hierarchii serwerów proxy 24. W przeciwnym razie w bloku referencyjnym 1140 wywołuje się menedżer pamięci podręcznej, aby przenieść obiekt O z pierwszej pamięci podręcznej pobierania wstępnego 296 do pierwszej głównej pamięci podręcznej 294, ponieważ nastąpiło faktycznie odwołanie do obiektu O. W bloku 1160 wysyła się komunikat referencyjny pobierania wstępnego do serwera zawartości poprzez hierarchię serwerów proxy. W bloku 1170 wywołuje się procedurę aktualizacji statystyki, aby uaktualnić lokalną pierwszą tabelę statystyczną 293 w celu pobrania faktycznych odwołań do obiektu pobierania wstępnego O. W symbolu decyzyjnym 1110, jeżeli obiekt O nie zostanie znaleziony w pierwszej głównej pamięci podręcznej 294, żądanie obiektu wysyła się do serwera zawartości 20 poprzez hierarchię serwerów proxy w bloku referencyjnym 1125. W symbolu
PL 192 676 B1 decyzyjnym 1115, jeżeli żądanie obiektu nie jest żądaniem pobierania wstępnego, wywołuje się pierwszą procedurę aktualizacji statystyki 264 w bloku 1120, aby uaktualnić lokalną pierwszą tabelę statystyczną 293 w celu pobrania faktycznych odwołań do obiektu. W bloku 1180 zwraca się obiekt O do węzła żądającego.
Figura 12 przedstawia przykład działania obsługi komunikatu referencyjnego pobierania wstępnego 285. Obsługa komunikatu referencyjnego pobierania wstępnego 285 sprawdza najpierw, czy obiekt znajduje się w pierwszej pamięci podręcznej pobierania wstępnego 296, czy nie. Jeżeli obiekt znajduje się w pierwszej pamięci podręcznej pobierania wstępnego 296, wywołuje się procedurę menedżera pamięci podręcznej przed przekazaniem komunikatu referencyjnego pobierania wstępnego. Jeżeli obiekt nie znajduje się w pierwszej pamięci podręcznej pobierania wstępnego 296, przekazuje się komunikat referencyjny pobierania wstępnego.
Zaczynając od kroku 1205, wywołuje się procedurę aktualizacji statystyki 264, aby uaktualnić lokalną pierwszą tabelę statystyczną 293 w celu pobrania faktycznego odwołania do obiektu pobierania wstępnego (O). W symbolu decyzyjnym 1210, jeżeli obiekt O znajduje się w pierwszej pamięci podręcznej pobierania wstępnego 296, wywołuje się menedżer pamięci podręcznej w bloku referencyjnym 1215, aby przenieść obiekt O z pierwszej pamięci podręcznej pobierania wstępnego 296 do pierwszej głównej pamięci podręcznej 294, ponieważ nastąpiło faktyczne odwołanie do obiektu. W bloku 1220 komunikat referencyjny pobierania wstępnego jest przekazywany do następnego proxy wyższego poziomu.
Figura 13 przedstawia przykład działania obsługi obiektu proxy 284. Obsługa obiektu proxy 284 najpierw wywołuje zespół aktualizacji pobierania wstępnego 291 albo procedurę aktualizacji informacji wskazującej pobranie wstępne. Żądania obiektu pobierania wstępnego są obsługiwane różnie zależnie od tego, czy obiekt pobierania wstępnego został zażądany przez serwer niższego poziomu, czy nie. Jeżeli obiekt pobierania wstępnego został zażądany przez serwer niższego poziomu, obiekt jest zwracany do serwera niższego poziomu; w przeciwnym razie wywoływany jest menedżer pamięci podręcznej pobierania wstępnego. Jeżeli obiekt pobierania wstępnego nie został zażądany, obiekt jest zwracany do żądającego serwera proxy 24 albo klienta i wywołuje się pierwszą procedurę aktualizacji statystyki 264.
Zaczynając w bloku 1305, wywołuje się procedurę aktualizacji PHI albo środki aktualizacji pobierania wstępnego 291, aby uaktualnić PHI obiektu O. W bloku referencyjnym 1310, jeżeli otrzymany obiekt nie jest obiektem pobierania wstępnego, wywołuje się pierwszą obsługę pobierania wstępnego 248 w kroku 1315. W bloku referencyjnym 1320 obiekt jest zwracany do żądającego węzła (w niższej hierarchii). W korzystnym przykładzie wykonania wykorzystującym protokół PICS, aktualizuje się wartość kategorii pamięci podręcznej w etykiecie P, jeżeli odnośny kandydat do pobrania wstępnego (wskazany przez wartość kategorii identyfikatora) zostanie pobrany wstępnie przez ten serwer proxy 24. W bloku 1325 wywoływany jest menedżer pamięci podręcznej, aby zachować obiekt w głównej pamięci podręcznej. W bloku referencyjnym 1355 wywołuje się procedurę aktualizacji statystyki. W bloku 1330, jeżeli otrzymany obiekt pobierania wstępnego jest żądany przez węzeł niższego poziomu w hierarchii, obiekt jest zwracany do elementu żądającego w bloku referencyjnym 1350. W przeciwnym razie jest żądany przez aktualny węzeł i wywołuje się menedżer pamięci podręcznej pobierania wstępnego w bloku referencyjnym 1340, aby zachować obiekt w pamięci podręcznej pobierania wstępnego, dokonując zastąpienia potrzebnego do uzyskania miejsca dla obiektu.
Figura 14 przedstawia przykład środków aktualizacji pobrania wstępnego albo procedury aktualizacji PHI. Procedura aktualizacji PHI porównuje lokalną liczbę żądanych obiektów z liczbą progową. Jeżeli żądane obiekty przekraczają pierwszy minimalny próg, są poddawane testowi drugiego progu minimalnego. Progi można ustalić na podstawie wyników eksperymentalnych. Jeżeli lokalna liczba jest mniejsza niż pierwszy minimalny próg, zachowuje się początkową informację wskazującą pobranie wstępne. Jeżeli lokalna liczba jest większa niż pierwszy próg, ale nie większa niż drugi próg, modyfikuje się listę informacji wskazujących pobranie wstępne.
Zaczynając od symbolu decyzyjnego 1405, jeżeli lokalny licznik (to jest TCount) obiektu (O) w lokalnej pierwszej tabeli statystycznej 293 jest nie większy niż pierwszy minimalny próg (to jest CTM), zachowuje się początkowe PHI w nagłówku obiektu O. Wynika to po prostu stąd, że nie ma wystarczająco dużo odwołań do obiektu w niższej hierarchii serwerów proxy 24, aby nakazać czynność aktualizacji. W symbolu decyzyjnym 1415, jeżeli lokalny licznik (to jest TCount) obiektu (O) w lokalnej tabeli statystycznej 261 jest większy niż drugi minimalny próg, (czyli TCH), ignoruje się
PL 192 676 B1 początkowe PHI w nagłówku obiektu i wywołuje się procedurę generowania PHI w bloku 1420, aby wygenerować PHI w oparciu o pierwszą lokalną tabelę statystyczną 293. Wynika to z dostatecznej liczby odwołań do obiektów niższych w hierarchii serwerów proxy 24, aby wygenerować PHI w oparciu o zachowanie lokalne. W przeciwnym razie wywołuje się modyfikator PHI w bloku referencyjnym 1425, aby zmodyfikować wartość kategorii prawdopodobieństwa biorąc średnią z lokalnego oszacowania prawdopodobieństwa odwołania i oszacowania w nagłówku (ustalonego przez hierarchię wyższego poziomu) dla każdego obiektu na liście PHI.
Schemat pobierania wstępnego działa nawet wtedy, gdy niektóre serwery proxy 24 nie prowadzą pierwszej tabeli statystycznej 293 i kontrolują lokalne wzorce referencyjne. Niekontrolujące serwery proxy po prostu przyjmują wartość kategorii prawdopodobieństwa (to jest PROB) w PHI przekazywanym w dół z serwera proxy wyższego poziomu albo serwera zawartości 20.
Schemat pobierania wstępnego działa także w niejednorodnym środowisku serwerów proxy, w którym niektóre serwery proxy są konwencjonalnymi serwerami proxy bez obsługi protokołu pobierania wstępnego i nie uczestniczą we współpracy. Te konwencjonalne serwery proxy nie będą ani interpretować nagłówka obiektu, aby zainicjalizować operacje pobierania wstępnego, ani utrzymywać pierwszej tabeli statystycznej 293. Konwencjonalne serwery proxy przekażą tylko dane meta (na przykład etykiety PICS w nagłówku) z obiektem do serwera proxy następnego poziomu albo zapamiętają dane meta z obiektem, jeżeli wybiorą lokalne podręczne zapamiętanie obiektu.
Nawet bez hierarchii proxy niniejszy wynalazek można zastosować dla każdej sieci albo środowiska klient-serwer. Węzeł wysyłający obiekt może kontrolować wzorce referencyjne, wyznaczać PHI i umieszczać je w nagłówku obiektu. Ponadto węzeł odbierający obiekt może zachowywać PHI z obiektem w swojej pamięci podręcznej. Przy odwołaniu się do obiektu operacje pobierania wstępnego można zainicjalizować na podstawie zachowanego PHI i lokalnych czynników, takich jak rozmiar pamięci podręcznej i koszt dostępu, jak omówiono wyżej.
Zachowanie PHI wraz z zapamiętywanym podręcznie obiektem daje dodatkową szansę pobierania wstępnego. Zdarzenia takie jak udostępnienie większej pamięci, wystąpienie dodatkowych odwołań albo odebranie obiektów pobierania wstępnego można wykorzystać do aktywacji dodatkowego pobrania wstępnego przez sprawdzenie PHI podręcznie zapamiętanych obiektów. Operacja pobierania wstępnego nie jest ograniczona do chwili, w której obiekt jest żądany z serwera, tak jak w metodzie z inicjalizacją przez serwer.
W korzystnym przykładzie wykonania opisano ogólną metodę pobierania wstępnego dla sieci Web i serwerów proxy, jednak znawcy zauważą, że niniejszy wynalazek można zastosować dla każdej sytuacji, w której obiekty do pobrania wstępnego mają podobne własności, nie musi się on ograniczać do Internetu albo aplikacji WWW.
Ponadto korzystny przykład wykonania niniejszego wynalazku służy do pobierania wstępnego we współpracy pomiędzy proxy rodzicielskim i proxy potomnym w hierarchii, ale można go tak dostosować, aby obejmował współdziałanie pomiędzy proxy równorzędnymi. Na przykład, jeżeli żaden proxy w górnej hierarchii nie zapamiętał podręcznie żądanego obiektu ani kandydata do pobrania wstępnego, proxy może sprawdzić także proxy równorzędne.

Claims (13)

1. Sposób wstępnego pobierania informacji z serwera zawartości poprzez sieć komunikacyjną, przy czym sieć komunikacyjna zawiera jeden albo więcej serwerów proxy i jednego albo więcej klientów, w którym żąda się u klienta informacji z serwera zawartości poprzez przynajmniej jeden serwer proxy, znamienny tym, że generuje się w serwerze informację wskazującą wstępne pobranie, oznaczającą informację, która prawdopodobnie zostanie zażądana przez klienta po zażądanej informacji, na podstawie poprzednich pobrań albo dostępów tych klientów, dopisuje się w serwerze do żądanej informacji informację wskazującą pobranie wstępne, zwraca się żądaną informację i informację wskazującą pobranie wstępne do klienta poprzez przynajmniej jeden serwer proxy oraz pobiera się wstępnie informację u klienta albo w przynajmniej jednym serwerze proxy, na podstawie informacji wskazującej na pobranie wstępne i żądanej informacji, czyniąc przez to informację pobraną wstępnie szybciej dostępną.
PL 192 676 B1
2. Sposób według zastrz. 1, znamienny tym, że w żądanej informacji wprowadza się żądane obiekty, a w informacji pobierania wstępnego wprowadza się obiekty kandydujące do pobrania wstępnego.
3. Sposób według zastrz. 2, znamienny tym, że podczas generowania informacji wskazującej pobranie wstępne monitoruje się wzorce referencyjne danych żądanej informacji, związane z klientami, organizuje się wzorce referencyjne danych w grupy identyfikatorów obiektów, przy czym grupy identyfikatorów obiektów organizuje się według zależności pomiędzy żądanymi obiektami i obiektami kandydującymi do pobrania wstępnego, ustala się, które z tych grup mają wystarczające zależności pomiędzy obiektami kandydującymi do pobrania wstępnego i żądanymi obiektami, aby nakazać wstępne pobranie obiektów kandydujących do pobrania wstępnego jako informacji pobierania wstępnego.
4. Sposób według zastrz. 3, znamienny tym, że podczas monitowania i organizowania referencyjnych wzorców danych zakłada się bazę danych do określania zależności pomiędzy żądanymi obiektami i obiektami kandydującymi do pobrania wstępnego oraz monitoruje się w bazie danych statystyki dostępu do żądanych obiektów i obiektów kandydujących do pobrania wstępnego, a w statystyce dostępu zawiera się częstość dostępu do obiektu macierzystego żądanych obiektów oraz częstość dostępu do obiektu potomnego obiektów kandydujących do pobrania wstępnego, przez częstość dostępu do obiektu macierzystego reprezentuje się liczbę razy, w których określony z żądanych obiektów został zażądany przez przynajmniej jednego z klientów, a częstość dostępu do obiektu potomnego reprezentuje liczbę razy, w których jeden albo więcej obiektów kandydujących do pobrania wstępnego zostało faktycznie zażądanych bezpośrednio po uzyskaniu dostępu do określonego z żądanych obiektów.
5. Sposób według zastrz. 4, znamienny tym, że wybiera się listę pobierania wstępnego obiektów kandydujących do pobrania wstępnego na podstawie stosunku częstości dostępu do obiektu potomnego do częstości dostępu do obiektu macierzystego, związanego z częstością dostępu do obiektu potomnego, przy czym w liście pobrania wstępnego zawiera się tylko obiekty kandydujące do pobrania wstępnego ze stosunkami przekraczającymi prawdopodobieństwo progowe.
6. Sposób według zastrz. 5, znamienny tym, że podczas wstępnego pobierania informacji pobiera się wstępnie podzbiór obiektów kandydujących do pobrania wstępnego odebranych w jednym z serwerów proxy albo u jednego z klientów, przy czym podzbiór obiektów kandydujących do pobrania wstępnego wybiera się na podstawie rozmiaru dostępnej pamięci w jednym z serwerów proxy.
7. Sposób według zastrz. 6, znamienny tym, że podczas wstępnego pobierania informacji selekcyjnej pobiera się wstępnie podzbiór obiektów kandydujących do pobrania wstępnego odebranych w jednym z serwerów proxy albo u jednego z klientów, przy czym podzbiór obiektów kandydujących do pobrania wstępnego wybiera się jako informację selekcyjną na podstawie czasu dostępu w jednym z serwerów proxy.
8. Sposób według zastrz. 7, znamienny tym, że w obiekcie pobierania wstępnego i żądanym obiekcie wprowadza się dane sieci Internet, a żądany obiekt odwołuje się do obiektu pobierania wstępnego przez łącze protokołu transmisji hipertekstu HTTP, związane z danymi sieci Internet, przy czym przez serwer identyfikuje się zależność obiektu selekcyjnego od żądanego obiektu poprzez protokół HTTP uniwersalnego lokalizatora zasobów URL żądanego obiektu, przechowywany w nagłówku żądanego obiektu.
9. Sposób według zastrz. 8, znamienny tym, że podczas podpisywania żądanej informacji umieszcza się informację wskazującą pobranie wstępne w etykiecie pobrania wstępnego, mającej format platformy dla wyboru zawartości sieci Internet PICS albo protokół etykiety zgodny z formatem PICS.
10. Sposób według zastrz. 9, znamienny tym, że w formacie platformy dla wyboru zawartości sieci Internet PICS zawiera się kategorię identyfikatora obiektu do przechowywania identyfikatora obiektu pobierania wstępnego, do którego później następuje odwołanie oraz kategorię identyfikatora referencyjnego do przechowywania żądanego obiektu związanego z obiektem pobierania wstępnego, oraz zwraca się kategorię identyfikatora referencyjnego do serwera zawartości, aby wyznaczyć obiekty kandydujące do pobrania wstępnego, do których faktycznie się odwoływano.
11. Sposób według zastrz. 1 albo 2, albo 3, albo 4, albo 5, albo 6, albo 7, albo 8, albo 9, albo 10, znamienny tym, że organizuje się serwery proxy w hierarchię serwerów proxy, przy czym hierarchia ma wiele poziomów serwerów proxy, wiele poziomów wyznacza się na podstawie bliskości każdego z serwerów proxy do sieci, przy czym najwyższy poziom jest najbliższy sieci oraz interprePL 192 676 B1 tuje się i aktualizuje informację wskazującą pobranie wstępne, transmitowaną poprzez hierarchię z serwerów proxy do klientów.
12. Sposób według zastrz. 11, znamienny tym, że przez serwer proxy aktualizuje się informację wskazującą pobranie wstępne, jeżeli istnieją lokalne odwołania do żądanej informacji i jeżeli licznik serwera poziomu lokalnego przekracza minimalną liczbę progową.
13. Sposób według zastrz. 12, znamienny tym, że informację wskazującą pobranie wstępne aktualizuje się na podstawie stanu podręcznego zapamiętywania w hierarchii proxy.
PL339377A 1997-09-29 1998-09-28 Sposób wstępnego pobierania informacji PL192676B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/939,277 US6085193A (en) 1997-09-29 1997-09-29 Method and system for dynamically prefetching information via a server hierarchy
PCT/GB1998/002920 WO1999017227A1 (en) 1997-09-29 1998-09-28 Method and system for prefetching information

Publications (2)

Publication Number Publication Date
PL339377A1 PL339377A1 (en) 2000-12-18
PL192676B1 true PL192676B1 (pl) 2006-11-30

Family

ID=25472873

Family Applications (1)

Application Number Title Priority Date Filing Date
PL339377A PL192676B1 (pl) 1997-09-29 1998-09-28 Sposób wstępnego pobierania informacji

Country Status (11)

Country Link
US (1) US6085193A (pl)
EP (1) EP1018085B1 (pl)
JP (1) JP3526442B2 (pl)
KR (1) KR100377715B1 (pl)
CN (1) CN1200378C (pl)
CA (1) CA2302254C (pl)
DE (1) DE69834129T2 (pl)
HU (1) HU224089B1 (pl)
IL (1) IL133251A0 (pl)
PL (1) PL192676B1 (pl)
WO (1) WO1999017227A1 (pl)

Families Citing this family (313)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363291B1 (en) * 2002-03-29 2008-04-22 Google Inc. Methods and apparatus for increasing efficiency of electronic document delivery to users
US7103794B2 (en) 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
WO1999008429A1 (en) * 1997-08-06 1999-02-18 Tachyon, Inc. A distributed system and method for prefetching objects
US6304894B1 (en) * 1997-09-22 2001-10-16 Hitachi, Ltd. Proxy server and recording medium storing a proxy server program
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
JP3561139B2 (ja) * 1998-01-27 2004-09-02 シャープ株式会社 ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機
US8296396B2 (en) * 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US7007072B1 (en) * 1999-07-27 2006-02-28 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6430618B1 (en) * 1998-03-13 2002-08-06 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
JP3522527B2 (ja) * 1998-03-27 2004-04-26 富士通株式会社 入出力制御装置および入出力制御方法
US6385699B1 (en) * 1998-04-10 2002-05-07 International Business Machines Corporation Managing an object store based on object replacement penalties and reference probabilities
US7089331B1 (en) 1998-05-29 2006-08-08 Oracle International Corporation Method and mechanism for reducing client-side memory footprint of transmitted data
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US20020138640A1 (en) * 1998-07-22 2002-09-26 Uri Raz Apparatus and method for improving the delivery of software applications and associated data in web-based systems
US20010044850A1 (en) 1998-07-22 2001-11-22 Uri Raz Method and apparatus for determining the order of streaming modules
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US6311221B1 (en) * 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6195696B1 (en) * 1998-10-01 2001-02-27 International Business Machines Corporation Systems, methods and computer program products for assigning, generating and delivering content to intranet users
EP1018689A3 (en) * 1999-01-08 2001-01-24 Lucent Technologies Inc. Methods and apparatus for enabling shared web-based interaction in stateful servers
DE60041732D1 (de) * 1999-01-27 2009-04-23 Hitachi Ltd Verfahren, Gerät und Speichermedium zum Anwenden in einem hierarchischen System
US6418413B2 (en) * 1999-02-04 2002-07-09 Ita Software, Inc. Method and apparatus for providing availability of airline seats
JP3764291B2 (ja) * 1999-03-02 2006-04-05 株式会社東芝 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法
US6502174B1 (en) * 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
US6631496B1 (en) * 1999-03-22 2003-10-07 Nec Corporation System for personalizing, organizing and managing web information
US7526481B1 (en) * 1999-04-19 2009-04-28 Oracle International Corporation Web servers with queryable dynamic caches
US6513062B1 (en) 1999-05-25 2003-01-28 Grischa Corporation Method, apparatus, and computer program product for efficient server response generation using intermediate state caching
EP1188289B1 (en) * 1999-06-07 2012-02-22 Nokia Corporation A cellular communication terminal, a method and a system for accessing servers
US6658463B1 (en) * 1999-06-10 2003-12-02 Hughes Electronics Corporation Satellite multicast performance enhancing multicast HTTP proxy system and method
US7099914B1 (en) * 1999-06-24 2006-08-29 International Business Machines Corporation System and method for variable size retrieval of webpage data
US6622167B1 (en) 1999-06-30 2003-09-16 International Business Machines Corporation Document shadowing intranet server, memory medium and method
US6779119B1 (en) * 1999-06-30 2004-08-17 Koninklijke Philips Electronics N.V. Actual and perceived response time, user interface, and security via usage patterns
SE521181C2 (sv) * 1999-07-01 2003-10-07 Telia Ab Förfarande och system för policystyrd distribution av strömmande media i ett IP-nät
US6463508B1 (en) * 1999-07-19 2002-10-08 International Business Machines Corporation Method and apparatus for caching a media stream
US6427172B1 (en) * 1999-07-20 2002-07-30 Cyberstar, L.P. Method and apparatus for internet cache content delivery via a data distribution system
US6615235B1 (en) * 1999-07-22 2003-09-02 International Business Machines Corporation Method and apparatus for cache coordination for multiple address spaces
US7028096B1 (en) * 1999-09-14 2006-04-11 Streaming21, Inc. Method and apparatus for caching for streaming data
GB2362003A (en) * 1999-10-13 2001-11-07 Enjoyweb Inc Distributing information objects in a networked computer environment
US7024465B1 (en) * 1999-10-18 2006-04-04 Rose Blush Software Llc Method for queued overlap transfer of files
EP1096755A1 (en) * 1999-10-28 2001-05-02 Alcatel Method to provide information in an internet telecommunication network
US7562027B1 (en) * 1999-11-01 2009-07-14 Ita Software, Inc. Availability processing in a travel planning system
AU3638401A (en) * 1999-11-01 2001-05-14 Ita Software, Inc. Method and apparatus for providing availability of airline seats
US6721780B1 (en) * 1999-11-09 2004-04-13 Fireclick, Inc. Predictive pre-download of network objects
JP3534027B2 (ja) * 1999-12-01 2004-06-07 日本電気株式会社 コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体
US6553461B1 (en) * 1999-12-10 2003-04-22 Sun Microsystems, Inc. Client controlled pre-fetching of resources
US6742023B1 (en) * 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
US6751657B1 (en) * 1999-12-21 2004-06-15 Worldcom, Inc. System and method for notification subscription filtering based on user role
US6415368B1 (en) * 1999-12-22 2002-07-02 Xerox Corporation System and method for caching
US20020046273A1 (en) * 2000-01-28 2002-04-18 Lahr Nils B. Method and system for real-time distributed data mining and analysis for network
US7441014B1 (en) * 2000-02-09 2008-10-21 Tvworks, Llc Broadcast distribution using low-level objects and locator tables
US6947440B2 (en) 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US7389284B1 (en) 2000-02-29 2008-06-17 Oracle International Corporation Method and mechanism for efficient processing of remote-mapped queries
AU2001237693A1 (en) * 2000-03-01 2001-09-12 Michael L. Kagan Wireless communications system and method
AU2001245028A1 (en) * 2000-03-10 2001-09-24 Aether Systems, Inc. System and method for providing information based on user histories
US6622168B1 (en) * 2000-04-10 2003-09-16 Chutney Technologies, Inc. Dynamic page generation acceleration using component-level caching
US7523114B2 (en) 2000-04-24 2009-04-21 Ebay Inc. Method and system for categorizing items in both actual and virtual categories
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US20050055426A1 (en) * 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US7058691B1 (en) * 2000-06-12 2006-06-06 Trustees Of Princeton University System for wireless push and pull based services
US7318107B1 (en) 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US7020709B1 (en) 2000-06-30 2006-03-28 Intel Corporation System and method for fault tolerant stream splitting
US7216085B1 (en) * 2000-07-13 2007-05-08 Ita Software, Inc. Competitive availability tools
US7613790B2 (en) * 2000-07-13 2009-11-03 Biap Systems, Inc. Apparatus for and method of executing customized interactive computing services in a broadband network environment
US7313588B1 (en) 2000-07-13 2007-12-25 Biap Systems, Inc. Locally executing software agent for retrieving remote content and method for creation and use of the agent
US7152058B2 (en) 2000-07-13 2006-12-19 Biap Systems, Inc. Apparatus for and method of selectively retrieving information and enabling its subsequent display
JP3674471B2 (ja) * 2000-07-25 2005-07-20 日本電気株式会社 コンテンツ転送方法及びネットワークシステム並びにプログラムを記録した機械読み取り可能な記録媒体
US7039683B1 (en) 2000-09-25 2006-05-02 America Online, Inc. Electronic information caching
US20020087717A1 (en) * 2000-09-26 2002-07-04 Itzik Artzi Network streaming of multi-application program code
US8799463B1 (en) * 2000-10-19 2014-08-05 Ariba, Inc. Method and apparatus for processing information related to interactive web sites
US7043524B2 (en) * 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US20020087883A1 (en) * 2000-11-06 2002-07-04 Curt Wohlgemuth Anti-piracy system for remotely served computer applications
US6959320B2 (en) * 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US20020087798A1 (en) * 2000-11-15 2002-07-04 Vijayakumar Perincherry System and method for adaptive data caching
JP2002169831A (ja) * 2000-12-04 2002-06-14 Sharp Corp データベースサーバ及びプログラムを記録した記録媒体
US7113935B2 (en) * 2000-12-06 2006-09-26 Epicrealm Operating Inc. Method and system for adaptive prefetching
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US7142508B2 (en) * 2000-12-22 2006-11-28 Radiance Technologies, Inc. System and method for controlling data transfer rates on a network
US20050273514A1 (en) * 2000-12-22 2005-12-08 Ray Milkey System and method for automated and optimized file transfers among devices in a network
US7269784B1 (en) 2001-01-22 2007-09-11 Kasriel Stephane Server-originated differential caching
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6721847B2 (en) * 2001-02-20 2004-04-13 Networks Associates Technology, Inc. Cache hints for computer file access
US8214501B1 (en) 2001-03-02 2012-07-03 At&T Intellectual Property I, L.P. Methods and systems for electronic data exchange utilizing centralized management technology
EP1244016A1 (en) * 2001-03-23 2002-09-25 Hewlett-Packard Company User access pattern tracking of computer resources
US20020147770A1 (en) * 2001-04-09 2002-10-10 Timothy Tang Multicast enabled caching service
US7899911B2 (en) * 2001-06-07 2011-03-01 Intel Corporation Method and apparatus to retrieve information in a network
US6742082B1 (en) * 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
US7155531B1 (en) 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US7054911B1 (en) 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US7945688B1 (en) 2001-06-12 2011-05-17 Netapp, Inc. Methods and apparatus for reducing streaming media data traffic bursts
US7836178B1 (en) 2001-06-20 2010-11-16 Microstrategy Incorporated Technique for limiting access to the resources of a system
US7509671B1 (en) 2001-06-20 2009-03-24 Microstrategy Incorporated Systems and methods for assigning priority to jobs in a reporting system
US7716332B1 (en) * 2001-06-20 2010-05-11 At&T Intellectual Property I, L.P. System and method for server-based predictive caching of back-end system data
US7185063B1 (en) * 2001-06-22 2007-02-27 Digital River, Inc. Content delivery network using differential caching
US20030004998A1 (en) * 2001-06-29 2003-01-02 Chutney Technologies, Inc. Proxy-based acceleration of dynamically generated content
AU2002313583A1 (en) * 2001-08-01 2003-02-17 Actona Technologies Ltd. Virtual file-sharing network
US7092997B1 (en) * 2001-08-06 2006-08-15 Digital River, Inc. Template identification with differential caching
US7188214B1 (en) 2001-08-07 2007-03-06 Digital River, Inc. Efficient compression using differential caching
KR20010088742A (ko) * 2001-08-28 2001-09-28 문의선 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US6687792B2 (en) * 2001-09-27 2004-02-03 Siemens Information & Communication Networks, Inc. Method and system for selectively caching web elements
WO2003032201A1 (en) * 2001-10-09 2003-04-17 Wildblue Communications, Inc. Performance enhancing proxy for high latency data
US7797376B1 (en) * 2001-11-13 2010-09-14 Cisco Technology, Inc. Arrangement for providing content operation identifiers with a specified HTTP object for acceleration of relevant content operations
US20030115281A1 (en) * 2001-12-13 2003-06-19 Mchenry Stephen T. Content distribution network server management system architecture
US20030115421A1 (en) * 2001-12-13 2003-06-19 Mchenry Stephen T. Centralized bounded domain caching control system for network edge servers
FR2834104B1 (fr) * 2001-12-20 2004-10-15 France Telecom Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache, systeme de transmission, serveur et terminal correspondants
US7437438B2 (en) * 2001-12-27 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for energy efficient data prefetching
JP2003216460A (ja) * 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
US7689225B2 (en) * 2002-01-28 2010-03-30 Ntt Docomo, Inc. Method and apparatus for dormant mode support with paging
US7412531B1 (en) 2002-01-29 2008-08-12 Blue Coat Systems, Inc. Live stream archiving method and apparatus
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
KR100718754B1 (ko) * 2002-01-31 2007-05-15 에이알씨 인터내셔널 길이가 다른 명령어집합 구조를 갖는 설정가능형데이터프로세서
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US7296051B1 (en) * 2002-02-19 2007-11-13 Digital River, Inc. Predictive predownload of templates with delta encoding
US7487261B1 (en) 2002-02-22 2009-02-03 Digital River, Inc. Delta caching service
CN1307522C (zh) * 2002-03-06 2007-03-28 弗里科姆技术公司 用于外部数据存储单元的监视和数据交换方法
US7096249B2 (en) * 2002-03-29 2006-08-22 Intel Corporation Method and system for distributing applications
WO2003085924A1 (en) * 2002-04-05 2003-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Object transfer control in a communications network
US7657644B1 (en) 2002-05-10 2010-02-02 Netapp, Inc. Methods and apparatus for streaming media multicast
US7610351B1 (en) * 2002-05-10 2009-10-27 Oracle International Corporation Method and mechanism for pipelined prefetching
US6751709B2 (en) * 2002-05-15 2004-06-15 Sun Microsystems, Inc. Method and apparatus for prefetching objects into an object cache
US9218409B2 (en) * 2002-06-04 2015-12-22 Sap Se Method for generating and using a reusable custom-defined nestable compound data type as database qualifiers
US7822658B2 (en) * 2002-06-04 2010-10-26 Hewlett-Packard Development Company, L.P. Dynamic prioritization of activities
US7120751B1 (en) 2002-08-09 2006-10-10 Networks Appliance, Inc. Dynamic streaming buffer cache algorithm selection
US8856093B2 (en) 2002-09-03 2014-10-07 William Gross Methods and systems for search indexing
EP1567928A4 (en) * 2002-09-03 2008-04-30 X1 Technologies Llc DEVICES AND METHOD FOR FINDING DATA
US7130890B1 (en) * 2002-09-04 2006-10-31 Hewlett-Packard Development Company, L.P. Method and system for adaptively prefetching objects from a network
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
US7417971B2 (en) * 2002-10-04 2008-08-26 Ntt Docomo, Inc. Method and apparatus for dormant mode support with paging
KR100485974B1 (ko) * 2002-10-10 2005-05-03 엔에이치엔(주) 컨텐츠 제공 방법 및 시스템
US20040088375A1 (en) * 2002-11-01 2004-05-06 Sethi Bhupinder S. Method for prefetching Web pages to improve response time networking
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
DE10257773B4 (de) * 2002-12-10 2005-06-02 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Verbessern des Zugangs zu Daten- und Informationsdiensten und Einrichtung zur Durchführung des Verfahrens
US7299467B2 (en) * 2002-12-23 2007-11-20 Hewlett-Packard Development Company, L.P. Method and system for minimizing memory access latency in a computer system
GB0301034D0 (en) * 2003-01-16 2003-02-19 Dupont Teijin Films Us Ltd Polymeric film and coating
US20040267384A1 (en) * 2003-02-07 2004-12-30 Broadon Communications, Inc. Integrated console and controller
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US8131649B2 (en) * 2003-02-07 2012-03-06 Igware, Inc. Static-or-dynamic and limited-or-unlimited content rights
US7779482B1 (en) 2003-02-07 2010-08-17 iGware Inc Delivery of license information using a short messaging system protocol in a closed content distribution system
US20100017627A1 (en) 2003-02-07 2010-01-21 Broadon Communications Corp. Ensuring authenticity in a closed content distribution system
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
KR101123426B1 (ko) * 2003-04-04 2012-03-23 야후! 인크. 서브도메인 힌트를 포함하는 검색 결과를 생성하고서브도메인에 의해 스폰서되는 결과를 제공하는 시스템
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
US7165147B2 (en) * 2003-07-22 2007-01-16 International Business Machines Corporation Isolated ordered regions (IOR) prefetching and page replacement
US7853699B2 (en) * 2005-03-15 2010-12-14 Riverbed Technology, Inc. Rules-based transaction prefetching using connection end-point proxies
JP4039488B2 (ja) * 2003-08-18 2008-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 多頻度パターン抽出装置、多頻度パターン抽出方法、及びそのプログラムと記録媒体
US7792866B2 (en) * 2003-08-25 2010-09-07 International Business Machines Corporation Method and system for querying structured documents stored in their native format in a database
US8150818B2 (en) * 2003-08-25 2012-04-03 International Business Machines Corporation Method and system for storing structured documents in their native format in a database
US7519574B2 (en) * 2003-08-25 2009-04-14 International Business Machines Corporation Associating information related to components in structured documents stored in their native format in a database
US8250093B2 (en) 2003-08-25 2012-08-21 International Business Machines Corporation Method and system for utilizing a cache for path-level access control to structured documents stored in a database
US7721289B2 (en) * 2003-08-29 2010-05-18 Microsoft Corporation System and method for dynamic allocation of computers in response to requests
US8775468B2 (en) * 2003-08-29 2014-07-08 International Business Machines Corporation Method and system for providing path-level access control for structured documents stored in a database
US7231496B2 (en) * 2003-09-15 2007-06-12 International Business Machines Corporation Method, system and program product for caching data objects
US7596554B2 (en) * 2003-12-09 2009-09-29 International Business Machines Corporation System and method for generating a unique, file system independent key from a URI (universal resource indentifier) for use in an index-less voicexml browser caching mechanism
US7945914B2 (en) * 2003-12-10 2011-05-17 X1 Technologies, Inc. Methods and systems for performing operations in response to detecting a computer idle condition
US20050138198A1 (en) * 2003-12-18 2005-06-23 It Works Methods, apparatuses, systems, and articles for determining and implementing an efficient computer network architecture
US8010670B2 (en) 2003-12-23 2011-08-30 Slipstream Data Inc. Meta-data based method for local cache utilization
KR100600862B1 (ko) * 2004-01-30 2006-07-14 김선권 인터넷상의 정보자원에 대한 접근 경로를 체계적으로수집하고 검색하는 방법, 및 이 방법을 실행할 수 있는컴퓨터 프로그램을 수록한 기록매체
US20050240574A1 (en) * 2004-04-27 2005-10-27 International Business Machines Corporation Pre-fetching resources based on a resource lookup query
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US20050261962A1 (en) * 2004-05-18 2005-11-24 Khai Gan Chuah Anonymous page recognition
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7437364B1 (en) 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
US7472133B2 (en) * 2004-07-30 2008-12-30 Microsoft Corporation System and method for improved prefetching
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US20060048136A1 (en) * 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
US7694311B2 (en) * 2004-09-29 2010-04-06 International Business Machines Corporation Grammar-based task analysis of web logs
US7831612B2 (en) * 2004-09-29 2010-11-09 Business Objects Software Ltd. Apparatus and method for generating reports from shared objects
US7664751B2 (en) 2004-09-30 2010-02-16 Google Inc. Variable user interface based on document access privileges
US7603355B2 (en) * 2004-10-01 2009-10-13 Google Inc. Variably controlling access to content
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
US8359591B2 (en) * 2004-11-13 2013-01-22 Streamtheory, Inc. Streaming from a media device
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US7313656B1 (en) * 2004-12-27 2007-12-25 Emc Corporation Pre-fetch prediction method for disk drives
US20060168151A1 (en) * 2005-01-04 2006-07-27 Umberto Caselli Method, system and computer program for retrieving information with reduced age in a periodic process
US20060200503A1 (en) * 2005-03-03 2006-09-07 Nokia Corporation Modifying back-end web server documents at an intermediary server using directives
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US20060248194A1 (en) 2005-03-18 2006-11-02 Riverbed Technology, Inc. Connection forwarding
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US20060218165A1 (en) * 2005-03-23 2006-09-28 Vries Jeffrey De Explicit overlay integration rules
WO2006102621A2 (en) 2005-03-23 2006-09-28 Stream Theory, Inc. System and method for tracking changes to files in streaming applications
US7694008B2 (en) * 2005-05-04 2010-04-06 Venturi Wireless Method and apparatus for increasing performance of HTTP over long-latency links
US7496678B2 (en) * 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
CA2513022A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
CA2513016A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
US20070143255A1 (en) * 2005-11-28 2007-06-21 Webaroo, Inc. Method and system for delivering internet content to mobile devices
US7725658B2 (en) * 2005-11-29 2010-05-25 Siemens Aktiengesellschaft Self-optimizing caching system and method for data records
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US7659905B2 (en) 2006-02-22 2010-02-09 Ebay Inc. Method and system to pre-fetch data in a network
US20070239747A1 (en) * 2006-03-29 2007-10-11 International Business Machines Corporation Methods, systems, and computer program products for providing read ahead and caching in an information lifecycle management system
US20070255676A1 (en) * 2006-04-27 2007-11-01 Brown David A Methods and apparatus for performing tree-based processing using multi-level memory storage
US20070276862A1 (en) * 2006-04-27 2007-11-29 Toutonghi Michael J Organizing and sharing digital content
US20070255659A1 (en) * 2006-05-01 2007-11-01 Wei Yen System and method for DRM translation
US10664575B2 (en) 2006-05-02 2020-05-26 Acer Cloud Technology, Inc. Virtual vault of licensed content
US7747749B1 (en) * 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US20080216142A1 (en) * 2006-08-17 2008-09-04 Goldberg Brett M System and method of digital media distribution
US8255457B2 (en) * 2006-09-01 2012-08-28 Microsoft Corporation Adaptive content load balancing
US7624276B2 (en) * 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US7613915B2 (en) 2006-11-09 2009-11-03 BroadOn Communications Corp Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed
US20080114738A1 (en) * 2006-11-13 2008-05-15 Gerald Chao System for improving document interlinking via linguistic analysis and searching
US8200961B2 (en) * 2006-11-19 2012-06-12 Igware, Inc. Securing a flash memory block in a secure device system and method
JP4872650B2 (ja) * 2006-12-18 2012-02-08 ソニー株式会社 配信装置、配信方法及びコンピュータプログラム
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US8065275B2 (en) * 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US20080244080A1 (en) * 2007-03-29 2008-10-02 James Thomas H Prefetching Based on Streaming Hints
US7853759B2 (en) * 2007-04-23 2010-12-14 Microsoft Corporation Hints model for optimization of storage devices connected to host and write optimization schema for storage devices
US7849156B2 (en) * 2007-06-04 2010-12-07 International Business Machines Corporation Method, apparatus and computer program product for discovering and prioritizing patterns of component usage in a virtual application container for enhancing prefetching
US8549099B2 (en) * 2007-07-12 2013-10-01 Viasat, Inc. Methods and systems for javascript parsing
US8966053B2 (en) * 2007-07-12 2015-02-24 Viasat, Inc. Methods and systems for performing a prefetch abort operation for network acceleration
US8171135B2 (en) * 2007-07-12 2012-05-01 Viasat, Inc. Accumulator for prefetch abort
US9460229B2 (en) * 2007-10-15 2016-10-04 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US9654328B2 (en) 2007-10-15 2017-05-16 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US8849838B2 (en) 2008-01-15 2014-09-30 Google Inc. Bloom filter for storing file access history
US20090193147A1 (en) * 2008-01-30 2009-07-30 Viasat, Inc. Methods and Systems for the Use of Effective Latency to Make Dynamic Routing Decisions for Optimizing Network Applications
US9762692B2 (en) * 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
WO2009123868A2 (en) 2008-04-04 2009-10-08 Level 3 Communications, Llc Handling long-tail content in a content delivery network (cdn)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US20090300208A1 (en) * 2008-06-02 2009-12-03 Viasat, Inc. Methods and systems for acceleration of mesh network configurations
US20100180005A1 (en) * 2009-01-12 2010-07-15 Viasat, Inc. Cache cycling
WO2010136699A2 (fr) * 2009-05-29 2010-12-02 France Telecom Technique de distribution d'un contenu vers un utilisateur
US20130103556A1 (en) 2009-06-25 2013-04-25 3Crowd Technologies, Inc. Crowd based content delivery
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US8230172B2 (en) 2009-12-03 2012-07-24 Intel Corporation Gather and scatter operations in multi-level memory hierarchy
US9043385B1 (en) 2010-04-18 2015-05-26 Viasat, Inc. Static tracker
US9854055B2 (en) * 2011-02-28 2017-12-26 Nokia Technologies Oy Method and apparatus for providing proxy-based content discovery and delivery
US8775775B1 (en) * 2011-03-31 2014-07-08 Emc Corporation Dynamic prefetch throttling for multi-controller systems
US9912718B1 (en) * 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US9456050B1 (en) 2011-04-11 2016-09-27 Viasat, Inc. Browser optimization through user history analysis
US9106607B1 (en) 2011-04-11 2015-08-11 Viasat, Inc. Browser based feedback for optimized web browsing
US9037638B1 (en) * 2011-04-11 2015-05-19 Viasat, Inc. Assisted browsing using hinting functionality
US9680791B2 (en) 2011-07-29 2017-06-13 Fortinet, Inc. Facilitating content accessibility via different communication formats
US20130103853A1 (en) 2011-07-29 2013-04-25 3Crowd Technologies, Inc. Directing clients based on communication format
EP2555128A1 (en) * 2011-08-02 2013-02-06 Alcatel Lucent Memory cache content manager and arrangement
WO2013041922A1 (en) 2011-09-23 2013-03-28 Gilat Satellite Networks, Ltd. Decentralized caching system
US10681394B2 (en) 2011-11-28 2020-06-09 Comcast Cable Communications, Llc Cache eviction during off-peak transaction time period
US8843758B2 (en) 2011-11-30 2014-09-23 Microsoft Corporation Migrating authenticated content towards content consumer
US9167049B2 (en) * 2012-02-02 2015-10-20 Comcast Cable Communications, Llc Content distribution network supporting popularity-based caching
US8627097B2 (en) 2012-03-27 2014-01-07 Igt System and method enabling parallel processing of hash functions using authentication checkpoint hashes
US9239862B2 (en) * 2012-05-01 2016-01-19 Qualcomm Incorporated Web acceleration based on hints derived from crowd sourcing
US9152220B2 (en) 2012-06-29 2015-10-06 International Business Machines Corporation Incremental preparation of videos for delivery
JP6021487B2 (ja) * 2012-07-18 2016-11-09 キヤノン株式会社 情報処理システム、制御方法、サーバ、情報処理装置およびコンピュータプログラム
US9747386B1 (en) * 2012-08-10 2017-08-29 Amazon Technologies, Inc. User-perceived performance through browser hints
US9298719B2 (en) * 2012-09-04 2016-03-29 International Business Machines Corporation On-demand caching in a WAN separated distributed file system or clustered file system cache
US9560127B2 (en) * 2013-01-18 2017-01-31 International Business Machines Corporation Systems, methods and algorithms for logical movement of data objects
US10375192B1 (en) 2013-03-15 2019-08-06 Viasat, Inc. Faster web browsing using HTTP over an aggregated TCP transport
US9659058B2 (en) 2013-03-22 2017-05-23 X1 Discovery, Inc. Methods and systems for federation of results from search indexing
CN104077296B (zh) * 2013-03-27 2017-12-29 联想(北京)有限公司 处理信息的方法和服务器
US9880983B2 (en) 2013-06-04 2018-01-30 X1 Discovery, Inc. Methods and systems for uniquely identifying digital content for eDiscovery
US10075741B2 (en) * 2013-07-03 2018-09-11 Avago Technologies General Ip (Singapore) Pte. Ltd. System and control protocol of layered local caching for adaptive bit rate services
US10063450B2 (en) 2013-07-26 2018-08-28 Opentv, Inc. Measuring response trends in a digital television network
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US20160255535A1 (en) * 2013-10-30 2016-09-01 Interdigital Patent Holdings, Inc. Enabling information centric networks specialization
US9819721B2 (en) 2013-10-31 2017-11-14 Akamai Technologies, Inc. Dynamically populated manifests and manifest-based prefetching
US20150142874A1 (en) * 2013-11-18 2015-05-21 Qualcomm Incorporated Prioritized one-shot browsing to reduce http page download delay
CN104683387A (zh) * 2013-11-27 2015-06-03 英业达科技有限公司 预先读取执行目标功能所需目标数据的系统及其方法
US9319346B2 (en) * 2014-05-13 2016-04-19 Opera Software Asa Web access performance enhancement
US9613158B1 (en) * 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
US10346550B1 (en) 2014-08-28 2019-07-09 X1 Discovery, Inc. Methods and systems for searching and indexing virtual environments
WO2016033474A1 (en) * 2014-08-28 2016-03-03 Interdigital Patent Holdings, Inc. Method and apparatus for capture caching
EP3195565A4 (en) * 2014-09-18 2018-03-07 Intel Corporation Technologies for pre-action execution
EP3018580A1 (en) * 2014-11-06 2016-05-11 Alcatel Lucent Cache server and method for serving and caching web resources
US9948709B2 (en) 2015-01-30 2018-04-17 Akamai Technologies, Inc. Using resource timing data for server push in multiple web page transactions
US10313463B2 (en) 2015-02-19 2019-06-04 Akamai Technologies, Inc. Systems and methods for avoiding server push of objects already cached at a client
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US11070608B2 (en) * 2015-06-17 2021-07-20 Fastly, Inc. Expedited sub-resource loading
US10320934B1 (en) * 2015-08-25 2019-06-11 Instart Logic, Inc. One-time cache
AU2016317736B2 (en) 2015-08-28 2020-07-23 Viasat, Inc. Systems and methods for prefetching dynamic URLs
US10769695B2 (en) * 2015-09-02 2020-09-08 Ebay Inc. Generating titles for a structured browse page
US10387676B2 (en) 2015-09-14 2019-08-20 Viasat, Inc. Machine-driven crowd-disambiguation of data resources
EP3342126B1 (en) 2015-09-23 2020-09-16 Viasat, Inc. Acceleration of online certificate status checking with an internet hinting service
US10157240B2 (en) * 2015-10-01 2018-12-18 Ebay Inc. Systems and methods to generate a concept graph
US10248114B2 (en) * 2015-10-11 2019-04-02 Computational Systems, Inc. Plant process management system with normalized asset health
MX2018004856A (es) 2015-10-20 2018-11-09 Viasat Inc Actualizacion de modelo de optimizacion por medio de agrupamientos de navegacion automatica.
MX2018005255A (es) 2015-10-28 2018-09-21 Viasat Inc Sugerencia operativa generada por maquina en funcion del tiempo.
US10021220B2 (en) * 2015-11-02 2018-07-10 Adobe Systems Incorporated Object amalgamation based on categorization and protocol granularization
EP4243381A3 (en) 2015-12-04 2023-11-15 ViaSat Inc. Accelerating connections to a host server
JP6258992B2 (ja) * 2016-02-26 2018-01-10 ヤフー株式会社 情報提供システム、情報提供方法および情報処理装置
US10484473B2 (en) 2016-06-28 2019-11-19 Solano Labs, Inc. Systems and methods for efficient distribution of stored data objects
US10880396B2 (en) 2016-12-02 2020-12-29 Viasat, Inc. Pre-fetching random-value resource locators
US10936593B2 (en) * 2017-03-27 2021-03-02 Liberation Distribution, Inc. Resolving a query to a database by transmitting identifiers of objects satisfying the query
US10574777B2 (en) * 2017-06-06 2020-02-25 International Business Machines Corporation Edge caching for cognitive applications
LT3770773T (lt) 2017-08-28 2024-03-12 Bright Data Ltd. Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius
US10684950B2 (en) 2018-03-15 2020-06-16 Bank Of America Corporation System for triggering cross channel data caching
CN108804514A (zh) * 2018-04-25 2018-11-13 网宿科技股份有限公司 一种网页加载方法、服务器和网页加载系统
CN110750498B (zh) * 2018-07-19 2023-01-06 成都华为技术有限公司 对象访问方法、装置及存储介质
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
EP4027618A1 (en) 2019-04-02 2022-07-13 Bright Data Ltd. Managing a non-direct url fetching service
US11893062B2 (en) * 2019-05-14 2024-02-06 Sap Se Bulk lazy loading of structured data
US11171720B1 (en) * 2019-06-28 2021-11-09 Amazon Technologies, Inc. Content and compute delivery platform using satellites
US11201939B1 (en) * 2019-06-28 2021-12-14 Amazon Technologies, Inc. Content and compute delivery platform using satellites
US11080283B1 (en) * 2020-09-29 2021-08-03 Atlassian Pty Ltd. Systems and methods for selectively prefetching data
US11265396B1 (en) 2020-10-01 2022-03-01 Bank Of America Corporation System for cross channel data caching for performing electronic activities
US11366749B2 (en) * 2020-11-10 2022-06-21 Western Digital Technologies, Inc. Storage system and method for performing random read
US11921872B2 (en) * 2020-12-16 2024-03-05 International Business Machines Corporation Access control for a data object including data with different access requirements
US11778067B2 (en) 2021-06-16 2023-10-03 Bank Of America Corporation System for triggering cross channel data caching on network nodes
US11880307B2 (en) 2022-06-25 2024-01-23 Bank Of America Corporation Systems and methods for dynamic management of stored cache data based on predictive usage information
CN116010293A (zh) * 2022-12-30 2023-04-25 上海芷锐电子科技有限公司 数据请求处理电路、方法及其缓存电路和处理器

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5228859A (en) * 1990-09-17 1993-07-20 Interactive Training Technologies Interactive educational and training system with concurrent digitized sound and video output
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5511208A (en) * 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
US5485609A (en) * 1994-05-20 1996-01-16 Brown University Research Foundation Online background predictors and prefetchers for locality management
US5652858A (en) * 1994-06-06 1997-07-29 Hitachi, Ltd. Method for prefetching pointer-type data structure and information processing apparatus therefor
JPH10504919A (ja) * 1994-06-30 1998-05-12 インテル コーポレイシヨン スクリプト・ベースのマルチメディア・システム用のデータ先取り
US5812996A (en) * 1994-07-12 1998-09-22 Sybase, Inc. Database system with methods for optimizing query performance with a buffer manager
US5822749A (en) * 1994-07-12 1998-10-13 Sybase, Inc. Database system with methods for improving query performance with cache optimization strategies
US5603025A (en) * 1994-07-29 1997-02-11 Borland International, Inc. Methods for hypertext reporting in a relational database management system
US6381595B1 (en) * 1994-09-29 2002-04-30 International Business Machines Corporation System and method for compensation of functional differences between heterogeneous database management systems
US5768577A (en) * 1994-09-29 1998-06-16 International Business Machines Corporation Performance optimization in a heterogeneous, distributed database environment
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5799309A (en) * 1994-12-29 1998-08-25 International Business Machines Corporation Generating an optimized set of relational queries fetching data in an object-relational database
US5848413A (en) * 1995-01-13 1998-12-08 Ricoh Company, Ltd. Method and apparatus for accessing and publishing electronic documents
JP3377880B2 (ja) * 1995-04-19 2003-02-17 富士通株式会社 自動情報取得装置および方法
US5805809A (en) * 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5742762A (en) * 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
US5706507A (en) * 1995-07-05 1998-01-06 International Business Machines Corporation System and method for controlling access to data located on a content server
JPH0981455A (ja) * 1995-09-11 1997-03-28 Toshiba Corp クライアント装置、サーバ装置及び記憶装置制御方法
JP3386964B2 (ja) * 1995-11-20 2003-03-17 シャープ株式会社 ゲートウェイ装置
US5781909A (en) * 1996-02-13 1998-07-14 Microtouch Systems, Inc. Supervised satellite kiosk management system with combined local and remote data storage
US5859971A (en) * 1996-02-15 1999-01-12 International Business Machines Corp. Differencing client/server communication system for use with CGI forms
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5835718A (en) * 1996-04-10 1998-11-10 At&T Corp URL rewriting pseudo proxy server
US5828851A (en) * 1996-04-12 1998-10-27 Fisher-Rosemount Systems, Inc. Process control system using standard protocol control of standard devices and nonstandard devices
US5818448A (en) * 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
US5748897A (en) * 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5926179A (en) * 1996-09-30 1999-07-20 Sony Corporation Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium
US6065058A (en) * 1997-05-09 2000-05-16 International Business Machines Corp. Dynamic push filtering based on information exchanged among nodes in a proxy hierarchy

Also Published As

Publication number Publication date
WO1999017227A1 (en) 1999-04-08
PL339377A1 (en) 2000-12-18
EP1018085B1 (en) 2006-04-05
KR20010023599A (ko) 2001-03-26
CN1272189A (zh) 2000-11-01
DE69834129D1 (de) 2006-05-18
JP3526442B2 (ja) 2004-05-17
CA2302254C (en) 2006-10-24
IL133251A0 (en) 2001-04-30
EP1018085A1 (en) 2000-07-12
CN1200378C (zh) 2005-05-04
DE69834129T2 (de) 2006-10-12
HUP0003680A2 (hu) 2001-02-28
US6085193A (en) 2000-07-04
CA2302254A1 (en) 1999-04-08
HUP0003680A3 (en) 2003-02-28
HU224089B1 (hu) 2005-05-30
KR100377715B1 (ko) 2003-03-26
JP2001518668A (ja) 2001-10-16

Similar Documents

Publication Publication Date Title
PL192676B1 (pl) Sposób wstępnego pobierania informacji
KR100283453B1 (ko) 프록시 하이어라키에서의 스테이징/버퍼링에 의한동적 푸시 여과 방법
US6029175A (en) Automatic retrieval of changed files by a network software agent
CA2216346C (en) Inter-cache protocol for improved web performance
US5924116A (en) Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
US6457047B1 (en) Application caching system and method
US6012126A (en) System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes
EP1053524B1 (en) Optimized network resource location
US6983318B2 (en) Cache management method and system for storing dynamic contents
US8509266B2 (en) Using network traffic logs for search engine index updates
US6578113B2 (en) Method for cache validation for proxy caches
US6182111B1 (en) Method and system for managing distributed data
JP3935986B2 (ja) ネットワークにおける情報資源の変化を通知するネットワーク情報資源監視システム
US6349326B1 (en) Computer network read-ahead caching method
CZ289563B6 (cs) Server připojitelný k síti a způsob jeho provozu
CA2369613A1 (en) Selecting a cache
US6553461B1 (en) Client controlled pre-fetching of resources
US8200748B2 (en) System and method for directing data retrieval requests to a data retrieval device
EP1101173A1 (en) Information access
Mukherjea Discovering and analyzing world wide web collections
KR100308705B1 (ko) 프로세서간부하밸런싱을가능하게하는서버컴퓨터및서버컴퓨터동작방법
EP1052827A2 (en) Dynamic resource modification in a communication network
Raghavan et al. A domain model of WWW browsers
CZ20001058A3 (cs) Způsob a systém pro předčerpávání informací
Ravi et al. Pace: Prefetching and filtering of personalized emails at the network edges

Legal Events

Date Code Title Description
LAPS Decisions on the lapse of the protection rights

Effective date: 20070928