PL192676B1 - Sposób wstępnego pobierania informacji - Google Patents
Sposób wstępnego pobierania informacjiInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000015654 memory Effects 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000036316 preload Effects 0.000 claims 1
- 238000012546 transfer Methods 0.000 abstract description 2
- 230000006399 behavior Effects 0.000 description 10
- 238000003672 processing method Methods 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 239000002243 precursor Substances 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-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.
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)
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)
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 |
-
1997
- 1997-09-29 US US08/939,277 patent/US6085193A/en not_active Expired - Lifetime
-
1998
- 1998-09-28 EP EP98944132A patent/EP1018085B1/en not_active Expired - Lifetime
- 1998-09-28 KR KR10-2000-7002247A patent/KR100377715B1/ko not_active IP Right Cessation
- 1998-09-28 WO PCT/GB1998/002920 patent/WO1999017227A1/en active IP Right Grant
- 1998-09-28 DE DE69834129T patent/DE69834129T2/de not_active Expired - Lifetime
- 1998-09-28 PL PL339377A patent/PL192676B1/pl not_active IP Right Cessation
- 1998-09-28 JP JP2000514222A patent/JP3526442B2/ja not_active Expired - Fee Related
- 1998-09-28 CA CA002302254A patent/CA2302254C/en not_active Expired - Fee Related
- 1998-09-28 CN CNB988095777A patent/CN1200378C/zh not_active Expired - Fee Related
- 1998-09-28 IL IL13325198A patent/IL133251A0/xx not_active IP Right Cessation
- 1998-09-28 HU HU0003680A patent/HU224089B1/hu not_active IP Right Cessation
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 |